/* Full viewport game scene. Only detail windows scroll; the world stays in place. */
body[data-page=dashboard]{--panel:#14202be8;--line:#a0b4bf24;background:#0c1921;overflow:hidden;height:100vh;height:100dvh}
body[data-page=dashboard] .app-shell{height:100%;min-height:0}
body[data-page=dashboard] .sidebar{width:76px;padding:20px 12px 12px;background:#101b23f5;overflow:visible;border-color:#8ca49b24;z-index:40}
body[data-page=dashboard] .sidebar .brand{justify-content:center}.sidebar .brand>span:last-child{display:none}.sidebar .brand-mark{width:35px;height:35px}.sidebar .world-label,.sidebar .nav-heading,.sidebar .citizen-card{display:none}
.sidebar nav{margin-top:30px}.sidebar .nav-item{padding:12px;justify-content:center;margin-bottom:9px;position:relative;min-height:44px;border-radius:9px}.sidebar .nav-item svg{width:20px;height:20px}.sidebar .nav-item>span{display:none}.sidebar .nav-item:hover:after{content:attr(title);position:absolute;left:58px;white-space:nowrap;padding:10px 14px;border:1px solid #71867b55;border-radius:5px;background:#192932;color:#e8ede9;font-size:11px;z-index:100}.sidebar .nav-item.active{box-shadow:inset 2px 0 var(--gold);background:#d8b67513}.sidebar .sidebar-bottom{padding:0}.sidebar .profile{justify-content:center;border:0;margin:0;padding:0}.sidebar .profile>span:nth-child(2),.sidebar .profile>svg{display:none}
body[data-page=dashboard] .workspace{margin-left:76px;height:100%;position:relative;overflow:hidden}.topbar{height:58px;padding:0 24px;background:#101b23f5;position:relative;z-index:35}.resources{gap:25px}.resources>span{font-size:13px}.resources .icon-button{width:30px}.breadcrumb{font-size:11px}
body[data-page=dashboard] #main-content{height:calc(100% - 58px);padding:0;max-width:none;position:relative;overflow:hidden;background:radial-gradient(ellipse at 45% 50%,#2e494d77 0,transparent 65%),repeating-linear-gradient(0deg,transparent 0 49px,#a5c3c504 50px),repeating-linear-gradient(90deg,transparent 0 49px,#a5c3c504 50px),#101f29}
#main-content:after{content:'';pointer-events:none;position:absolute;inset:0;background:radial-gradient(ellipse at center,transparent 35%,#050d1666);z-index:0}
#home-view{height:100%;position:relative;isolation:isolate}#home-view[hidden]{display:block!important}
.welcome-row{position:absolute;top:22px;left:25px;right:25px;margin:0;z-index:4;pointer-events:none}.welcome-row h1{font-size:25px;margin:7px 0 0;letter-spacing:-.8px}.welcome-row p{display:none}.welcome-row .section-kicker{font-size:8px;letter-spacing:2px}.world-date{display:flex}.world-date>svg{color:#c4cfc4}.world-date .demo-badge{background:#14222b}
.dashboard-grid,.main-column,.right-column,.lower-grid{display:contents}.panel{border:1px solid #99afa52b;background:linear-gradient(130deg,#1d2b33ed,#101d26ed);border-radius:10px;box-shadow:0 10px 35px #0002;backdrop-filter:blur(14px)}
.onboarding{position:absolute;top:104px;left:24px;width:223px;padding:18px;z-index:5;margin:0;background:linear-gradient(150deg,#273831e8,#14232beb);border-color:#d8b67540}.onboarding-heading{gap:9px;flex-wrap:wrap}.onboarding-heading .round-icon{width:30px;height:32px;border-radius:7px}.onboarding-heading h2{font-size:12px}.onboarding-heading p{display:none}.onboarding-heading>span{margin:8px 0 0;font-size:9px;width:100%;padding-top:12px;border-top:1px solid #ffffff13}.journey{display:flex;flex-direction:column;gap:22px;margin-top:22px}.journey-step{gap:11px}.journey-step strong{font-size:10px}.journey-step small{font-size:8px;max-width:140px;line-height:1.6}.journey-step>span{width:25px;height:25px}.journey-step:not(:last-child):after{content:'';position:absolute;top:29px;bottom:-18px;left:12px;width:1px;background:#839a8540}
.city-panel{position:absolute;left:24px;top:440px;width:223px;padding:17px 19px;border-left:2px solid #d8b67599;background:linear-gradient(90deg,#162832d9,transparent);z-index:3}.city-panel .section-kicker{font-size:8px}.city-panel h2{font-size:24px;margin:9px 0 4px}.city-panel p{font-size:10px;color:#99adb5}.city-panel button{font-size:10px;margin-top:10px}
.map-panel{position:absolute;inset:0;border:0;background:transparent;box-shadow:none;border-radius:0;backdrop-filter:none;overflow:hidden;z-index:1}.map-panel .panel-heading{position:absolute;top:31%;left:32%;padding:0;text-align:center;display:block;z-index:3;pointer-events:none}.map-panel .panel-heading .section-kicker{display:none}.map-panel .panel-heading h2{font-size:clamp(22px,2.3vw,37px);color:#b9c8bd;letter-spacing:3px;text-transform:uppercase;font-weight:500;text-shadow:0 3px 14px #0008;margin:0}.map-panel .status-pill{margin-top:11px;font-size:8px;border:0;background:#12202655;color:#a9c1b4;padding:6px 10px}
.map-container{position:absolute;left:210px;right:220px;top:15%;bottom:12%;height:auto;overflow:visible;display:flex;align-items:center;justify-content:center;background:radial-gradient(ellipse,#5272711f,transparent 65%)}.map-container>svg{width:100%;height:100%;transform:scale(var(--map-zoom,1));transition:transform .35s ease;filter:drop-shadow(0 8px 0 #111f25) drop-shadow(0 10px 22px #020a1188);overflow:visible}.map-container .land{fill:#425b51;stroke:#a5b39a;stroke-width:1.1}.map-container .boundary{stroke:#bfd0ac;opacity:.35;stroke-width:.65}.map-container .map-label{fill:#7f9d9d;font-size:8px;opacity:.65}.map-container .city-label{fill:#e1e5d5;font-size:10px}.map-container .selected-city{fill:#f0d09a;font-size:12px;font-weight:600}.map-container .city-dot{stroke:#e8c28030;stroke-width:10px;fill:#f5d392}.map-summary{position:absolute;left:280px;right:310px;bottom:157px;justify-content:center;gap:27px;border:0;background:none;padding:0}.map-summary>div>span{font-size:7px;letter-spacing:1.4px}.map-summary strong{font-size:12px;color:#bfcfc8}.map-summary small{font-size:8px;display:block;margin:6px 0 0}.map-summary .map-link{display:none}
.map-controls{position:absolute;z-index:4;left:275px;bottom:213px;right:305px;display:flex;justify-content:space-between;align-items:center;pointer-events:none}.map-mode{font-size:8px;letter-spacing:1.6px;color:#bfd0c9}.map-mode small{display:block;font-size:8px;color:#76908f;letter-spacing:.4px;margin:8px 0 0 12px}.map-tools{display:flex;border:1px solid #9bb0ab40;border-radius:6px;background:#11232b;pointer-events:auto}.map-tools button{border:0;border-right:1px solid #9bb0ab25;background:transparent;color:#c3d0c9;width:31px;height:30px;font-size:17px}.map-tools button:nth-child(2){width:43px;font-size:9px}.map-tools button:last-child{border-right:0}.map-tools button:hover{background:#d8b67520}.map-compass{position:absolute;top:108px;left:calc(50% - 30px);z-index:2;text-align:center;color:#8fa7a4;display:flex;flex-direction:column;align-items:center;gap:4px}.map-compass>span{font-size:8px}.map-compass>b{font-size:37px;font-weight:400;color:#cfbf99}.map-compass>small{font-size:7px;letter-spacing:2px;margin-top:7px}
.project-card{position:absolute;top:104px;right:24px;width:252px;padding:17px;z-index:5}.project-card .panel-heading .section-kicker{font-size:8px}.engine-art{height:70px;margin:9px 0;background:radial-gradient(ellipse at center,#83907b27,transparent 70%)}.gear-one{font-size:75px;left:55px;top:-8px}.gear-two{font-size:50px;right:48px;top:23px}.engine-art>span{font-size:6px;bottom:0}.project-card .tag{font-size:6px;padding:4px 6px}.project-card h2{font-size:17px;margin:9px 0}.project-card>p{font-size:10px;line-height:1.65}.project-progress-label{margin:15px 0 9px;font-size:9px}.project-footnote{margin:11px 0;font-size:8px}.project-card .button{min-height:34px;padding:8px;font-size:10px}.project-numbers{font-size:7px}.next-card,.news-card,.dashboard-footer{display:none}
.job-card{position:absolute;right:24px;bottom:65px;width:252px;padding:16px;z-index:6}.job-card .panel-heading h2{font-size:12px}.job-body{gap:10px;margin:15px 0 12px}.job-art{width:39px;height:44px}.job-art svg{width:25px;height:25px}.job-body h3{font-size:10px}.job-body p{font-size:9px;margin:4px 0}.job-body .gold{font-size:10px}.job-meta{font-size:8px;margin-bottom:11px}.job-card .button{font-size:10px;min-height:34px;padding:8px}.stats-grid{position:absolute;bottom:66px;left:24px;right:294px;display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:0;z-index:5}.stat{padding:13px 15px;background:#12212bdf;border-color:#92aaa129;box-shadow:0 10px 20px #0001}.stat>span{font-size:7px;letter-spacing:1px;gap:6px}.stat>span svg{width:13px;height:13px}.stat>strong{font-size:21px;margin:9px 0 0}.stat strong small{font-size:8px}.stat p{display:none}.stat .progress{margin-top:8px;height:2px}
.game-bottom{position:absolute;bottom:0;height:45px;left:0;right:0;background:#0d1922e8;border-top:1px solid #97a99f25;z-index:8;display:flex;justify-content:space-between;align-items:center;padding:0 24px;gap:20px;font-size:8px;color:#93a9ac;letter-spacing:1px}.game-bottom>span i{margin:0 10px;font-style:normal}.game-bottom>div{display:flex;gap:8px;height:100%;align-items:center}.game-bottom button{border:0;border-left:1px solid #8a9f9c25;border-right:1px solid #8a9f9c25;border-radius:0;background:#24352e66;color:#c8d3c9;font-size:10px;min-width:95px;height:100%;padding:0 17px}.game-bottom button:last-child{color:var(--gold);background:#d8b6750d}.game-bottom button:hover{background:#d8b67525}.game-bottom>a{font-size:9px;letter-spacing:0}
body:not([data-view=home]) #home-view>.welcome-row,body:not([data-view=home]) .onboarding,body:not([data-view=home]) .stats-grid,body:not([data-view=home]) .project-card,body:not([data-view=home]) .job-card,body:not([data-view=home]) .city-panel,body:not([data-view=home]) .map-controls,body:not([data-view=home]) .map-summary,body:not([data-view=home]) .map-panel .panel-heading{visibility:hidden}
#detail-view{position:absolute;inset:65px 26px 65px;z-index:15;border:1px solid #8b9f9944;background:#111e28f5;border-radius:12px;overflow:auto;padding:26px;box-shadow:0 20px 100px #0008;backdrop-filter:blur(20px);scrollbar-width:thin;scrollbar-color:#62766e #14212b}.detail-header{margin:0 0 24px}.detail-header h1{font-size:25px}.detail-header p{font-size:12px}.detail-card{background:#172630;box-shadow:none}.game-detail-close{position:absolute;top:16px;left:26px;border:1px solid #899c8f55;background:#14242c;color:var(--gold);padding:10px 16px;border-radius:6px;font-size:11px;z-index:16}body[data-view=home] .game-detail-close{display:none}
@media(min-width:1600px){.onboarding,.city-panel{width:245px}.project-card,.job-card{width:280px}.project-card{padding:22px}.engine-art{height:100px}.gear-one{font-size:95px;left:65px}.gear-two{font-size:66px;right:55px;top:30px}.project-card h2{font-size:19px}.stats-grid{right:322px}.map-container{left:230px;right:265px}.map-summary{bottom:177px}.map-controls{bottom:240px}.job-card{padding:20px}.job-body{margin:19px 0}.journey-step strong{font-size:11px}.journey-step small{font-size:9px}}
@media(max-height:780px) and (min-width:901px){.welcome-row{top:16px}.welcome-row h1{font-size:22px}.onboarding,.project-card{top:88px}.onboarding{padding:14px}.journey{gap:16px;margin-top:17px}.journey-step small{font-size:7px}.onboarding-heading>span{margin-top:3px;padding-top:9px}.city-panel{top:386px;padding:12px 17px}.city-panel h2{font-size:20px}.city-panel p{display:none}.engine-art{height:42px;margin:5px 0}.gear-one{font-size:50px;top:-7px;left:70px}.gear-two{font-size:34px;top:10px;right:65px}.engine-art>span{display:none}.project-card>p{display:none}.project-card h2{font-size:16px}.project-footnote{margin:9px 0;font-size:7px}.project-card .tag{display:none}.job-card{padding:13px}.job-body{margin:10px 0}.job-meta{margin-bottom:9px}.map-summary{bottom:151px}.map-controls{bottom:197px}.map-compass{top:90px}.map-panel .panel-heading{top:30%}.stat{padding:11px 12px}.stat>strong{font-size:19px}.stats-grid{bottom:65px}}
@media(max-width:1100px) and (min-width:901px){.onboarding,.city-panel{width:196px;left:16px}.project-card,.job-card{width:214px;right:16px}.onboarding{padding:14px}.journey-step strong{font-size:9px}.journey-step small{font-size:7px}.map-container{left:165px;right:170px}.map-summary{left:230px;right:245px;gap:16px}.map-summary small{display:none}.map-controls{left:230px;right:245px}.map-mode{font-size:6px}.map-mode small{display:none}.stats-grid{left:16px;right:246px;gap:7px}.stat{padding:12px 9px}.stat>span{font-size:6px;letter-spacing:.3px}.stat>strong{font-size:18px}.map-panel .panel-heading{left:28%;top:29%}.map-panel .panel-heading h2{font-size:23px}}
@media(max-height:650px) and (min-width:901px){.city-panel{display:none}.journey{gap:13px}.journey-step small{display:none}.onboarding{top:86px}.project-card{top:86px}.project-card .engine-art,.project-footnote{display:none}.project-card h2{font-size:15px}.project-progress-label{margin-top:10px}.job-card{bottom:61px}.job-art{display:none}.job-body{margin:8px 0}.job-meta{font-size:7px}.job-body p{display:none}.stats-grid{bottom:61px}.map-summary{bottom:143px}.map-controls{bottom:185px}.map-compass{display:none}.map-panel .panel-heading{top:23%}.map-container{top:11%;bottom:15%}}
@media(max-width:900px){body[data-page=dashboard] .sidebar{width:60px;padding:17px 7px}.sidebar .nav-item{padding:11px;min-height:39px;margin-bottom:6px}.sidebar nav{margin-top:25px}.sidebar .brand-mark{font-size:28px;width:30px}.sidebar .brand-mark>span{font-size:20px}.workspace{margin-left:60px!important}.topbar{padding:0 16px}.welcome-row{left:18px;top:18px;right:18px}.welcome-row h1{font-size:23px}.world-date{display:none}.onboarding{top:95px;left:18px;width:195px;padding:14px}.onboarding-heading h2{font-size:11px}.journey{gap:18px}.journey-step strong{font-size:9px}.journey-step small{font-size:7px}.project-card{top:95px;right:18px;width:214px;padding:14px}.project-card>p,.project-card .engine-art,.project-footnote{display:none}.project-card h2{font-size:15px}.project-card .tag{margin-top:13px}.project-progress-label{margin-top:14px}.project-card .button{margin-top:15px}.city-panel{display:none}.job-card{bottom:163px;right:18px;width:214px;padding:13px}.job-body{margin:10px 0}.job-art{display:none}.job-meta{font-size:8px}.map-container{left:0;right:0;top:24%;bottom:15%}.map-panel .panel-heading{left:25px;top:49%}.map-panel .panel-heading h2{font-size:20px}.map-panel .status-pill{font-size:7px}.map-compass{display:none}.map-controls{left:22px;right:252px;bottom:181px}.map-mode{display:none}.map-summary{display:none}.stats-grid{left:18px;right:18px;bottom:65px;gap:8px}.stat{padding:12px 10px}.stat>span{font-size:6px;letter-spacing:.4px}.stat>strong{font-size:19px}.game-bottom{padding:0 18px}.game-bottom>span{font-size:6px;letter-spacing:.6px}.game-bottom>a{display:none}.game-bottom button{min-width:70px;font-size:9px;padding:0 12px}.detail-grid{grid-template-columns:1fr 1fr}#detail-view{inset:62px 16px 60px;padding:20px}.game-detail-close{left:16px}}
@media(max-width:700px){body[data-page=dashboard] .sidebar{position:absolute;top:58px;bottom:0;width:218px;padding:18px;transform:translateX(-100%);background:#101d26;z-index:50;overflow:auto}.sidebar.open{transform:translateX(0)}.sidebar .brand>span:last-child{display:block}.sidebar .nav-item{justify-content:flex-start}.sidebar .nav-item>span{display:block}.sidebar .nav-item .nav-count{display:none}.sidebar .nav-item:hover:after{display:none}.sidebar .profile>span:nth-child(2){display:block}.sidebar .profile{justify-content:flex-start}.sidebar .sidebar-bottom{margin-top:20px}.workspace{margin-left:0!important}.topbar{height:54px;padding:0 10px}.topbar .mobile-menu{display:grid}.resources{gap:6px}.breadcrumb{gap:6px;font-size:9px}.resources>span{font-size:11px}.resources .icon-button{width:28px}body[data-page=dashboard] #main-content{height:calc(100% - 54px)}.welcome-row{top:18px;left:16px}.welcome-row h1{font-size:22px}.welcome-row .section-kicker{font-size:7px}.onboarding{top:87px;left:16px;right:16px;width:auto;padding:12px 14px;border-radius:8px}.onboarding-heading{gap:8px;flex-wrap:nowrap}.onboarding-heading .round-icon{width:23px;height:23px;border:0;background:transparent}.onboarding-heading .round-icon svg{width:19px}.onboarding-heading h2{font-size:11px}.onboarding-heading>span{padding:0;margin:0 0 0 auto;width:auto;border:0;font-size:8px;white-space:nowrap}.journey{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:12px}.journey-step{display:flex;flex-direction:column;gap:5px;align-items:flex-start}.journey-step>span{width:20px;height:20px;font-size:8px}.journey-step strong{font-size:7px;line-height:1.4;display:block}.journey-step small{display:none}.journey-step:not(:last-child):after{height:1px;left:28px;right:3px;top:10px;bottom:auto;width:auto}.project-card{display:none}.job-card{left:16px;right:16px;width:auto;bottom:120px;padding:11px 13px;display:grid;grid-template-columns:1fr auto;gap:5px 10px;border-color:#d8b67542}.job-card .panel-heading{grid-column:1/3}.job-card .panel-heading h2{font-size:10px}.job-body{margin:3px 0;gap:0}.job-body h3{font-size:9px}.job-body p{display:none}.job-body .gold{font-size:9px;display:block;margin-top:5px}.job-meta{display:none}.job-card .button{grid-column:2;grid-row:2;align-self:center;font-size:9px;padding:9px 12px;min-height:33px}.map-container{left:-55px;right:-55px;top:25%;bottom:24%;overflow:hidden}.map-panel .panel-heading{left:0;right:0;top:31%;text-align:center}.map-panel .panel-heading h2{font-size:18px;letter-spacing:2px}.map-panel .status-pill{margin-top:7px;font-size:7px}.map-controls{left:16px;right:auto;bottom:234px}.map-tools button{height:26px;width:27px}.map-tools button:nth-child(2){width:37px;font-size:8px}.stats-grid{left:16px;right:16px;bottom:55px;gap:6px;grid-template-columns:repeat(4,1fr)}.stat{padding:8px 7px;border-radius:6px;min-width:0}.stat>span{font-size:5.5px;letter-spacing:0;white-space:nowrap;gap:0}.stat>span svg{display:none}.stat>strong{font-size:14px;margin:7px 0 0;white-space:nowrap}.stat strong small{font-size:6px}.stat .progress{display:none}.game-bottom{height:42px;padding:0 16px;gap:9px}.game-bottom>span{font-size:6px;max-width:80px;line-height:1.7}.game-bottom>span i{display:none}.game-bottom button{min-width:65px;font-size:9px;padding:0 10px}.detail-grid{grid-template-columns:1fr}.detail-card.wide{grid-column:auto}#detail-view{inset:55px 10px 52px;padding:17px}.detail-header h1{font-size:23px}.detail-header p{font-size:11px}.game-detail-close{top:10px;left:10px;font-size:10px;padding:9px 12px}.detail-card{padding:17px}.data-table{min-width:390px}.detail-card .button{min-height:38px}.map-panel .panel-heading h2{max-width:100%;overflow-wrap:anywhere}}
@media(max-width:700px) and (max-height:700px){.welcome-row{top:12px}.welcome-row h1{font-size:19px}.onboarding{top:70px;padding:10px 12px}.journey{margin-top:9px}.journey-step strong{display:none}.map-panel .panel-heading{top:31%}.map-panel .panel-heading h2{font-size:16px}.map-container{top:24%;bottom:26%}.job-card{bottom:113px;padding:9px 11px}.stats-grid{bottom:52px}.map-controls{bottom:210px}.stat>strong{font-size:13px}}
@media(min-width:901px) and (min-height:781px){.city-panel{top:470px}}
@media(min-width:901px) and (min-height:651px) and (max-height:780px){.city-panel{top:405px}}
@media(max-width:700px){.map-container{left:-8px;right:-8px}}
