:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;font-synthesis:none;--soot:#090d10;--charcoal:#10171b;--surface:#0c1114e8;--line:#d8d4c829;--line-strong:#d8d4c84d;--text:#e7e3d9;--muted:#92989a;--red:#d13b34;--amber:#e0ad68;--moss:#6d8a73;--commercial:#78a8b4;--industrial:#c39059;font-family:Avenir Next,Helvetica Neue,Helvetica,Arial,sans-serif}*{box-sizing:border-box}html,body,#app{width:100%;height:100%;margin:0;overflow:hidden}body{background:var(--soot);color:var(--text)}button{font:inherit}#app{isolation:isolate;background:var(--soot);position:relative}#app:before,#app:after{content:"";z-index:4;pointer-events:none;position:absolute;inset:0}#app:before{background:radial-gradient(circle at 52% 48%,#0000 28%,#03050714 62%,#03050794 115%)}#app:after{opacity:.15;mix-blend-mode:soft-light;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.78' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.34'/%3E%3C/svg%3E")}#game-canvas{cursor:crosshair;filter:saturate(.78)contrast(1.08);outline:none;width:100%;height:100%;display:block}.year-mark{z-index:5;color:var(--text);letter-spacing:-.08em;opacity:.045;pointer-events:none;white-space:nowrap;font-size:clamp(7rem,17vw,18rem);font-weight:700;line-height:.8;transition:opacity .5s;position:absolute;top:5%;left:10%}.is-event-open .year-mark{opacity:.1}.hud-panel{background:var(--surface);border:1px solid var(--line);-webkit-backdrop-filter:blur(18px)saturate(115%);backdrop-filter:blur(18px)saturate(115%);box-shadow:0 18px 70px #00000057,inset 0 1px #ffffff06}.topbar{z-index:12;background:#070a0ced;border-width:0 0 1px;justify-content:space-between;align-items:stretch;height:52px;display:flex;position:absolute;inset:0 0 auto}.brand{letter-spacing:.28em;align-items:center;gap:12px;padding:0 22px;font-size:14px;font-weight:650;display:flex}.brand svg{width:21px;fill:var(--text)}.stats{align-items:stretch;margin-left:auto;display:flex}.stat{border-left:1px solid var(--line);flex-direction:column;justify-content:center;gap:1px;min-width:138px;padding:8px 18px;display:flex}.stat-label{color:var(--muted);letter-spacing:.18em;text-transform:uppercase;font-size:8px;font-weight:700}.stat strong{font-variant-numeric:tabular-nums;white-space:nowrap;font-size:13px;font-weight:600}.life-panel{z-index:10;width:310px;box-shadow:none;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:linear-gradient(90deg,#070b0edb,#070b0e78 72%,#0000);border-width:0 0 0 1px;border-color:#d13b34ad;padding:14px 14px 14px 16px;position:absolute;top:76px;left:28px}.leader-head{align-items:center;gap:13px;display:flex}.leader-portrait{background:#171c20;border:1px solid #d8d4c852;border-radius:50%;flex:0 0 68px;width:68px;height:68px;overflow:hidden;box-shadow:0 0 0 4px #0000003d,0 0 0 5px #d13b343b}.leader-portrait img{object-fit:cover;object-position:50% 28%;width:100%;height:100%}.leader-identity{min-width:0}.leader-identity>span{color:var(--red);letter-spacing:.2em;text-transform:uppercase;font-size:8px;font-weight:750}.leader-identity h2{letter-spacing:.08em;text-transform:uppercase;margin:3px 0 1px;font-size:18px;font-weight:520}.leader-identity p{color:var(--muted);white-space:nowrap;margin:0;font-size:9px}.leader-identity p strong{color:var(--text)}.leader-stats{gap:7px;margin-top:14px;display:grid}.leader-stats>div{grid-template-columns:74px 1fr 22px;align-items:center;gap:8px;display:grid}.leader-stats span,.leader-stats strong{letter-spacing:.06em;text-transform:uppercase;font-size:8px;font-weight:550}.leader-stats span{color:var(--muted)}.leader-stats strong{text-align:right;font-variant-numeric:tabular-nums}.leader-stats i{background:#ffffff1f;height:2px;overflow:hidden}.leader-stats b{background:var(--red);width:50%;height:100%;transition:width .3s;display:block}.leader-stats>div:nth-child(2) b{background:#b6aaa0}.leader-stats>div:nth-child(3) b{background:var(--amber)}.leader-latest{color:#b7b8b3;min-height:27px;margin:11px 0 8px;font-size:9px;line-height:1.45}.age-button{height:34px;color:var(--text);letter-spacing:.15em;text-transform:uppercase;cursor:pointer;background:#d13b3429;border:1px solid #d13b34b8;border-radius:2px;padding:0 15px;font-size:9px;font-weight:700}.age-button:hover{background:#d13b3457}.age-button svg{fill:currentColor;vertical-align:-3px;width:14px;margin-right:7px}.mission-strip{z-index:9;box-shadow:none;color:#c3c1ba;letter-spacing:.08em;text-transform:uppercase;pointer-events:none;background:0 0;border:0;gap:18px;padding:7px 0;font-size:9px;display:flex;position:absolute;bottom:92px;left:30px}.camera-help{color:#73797b}.toolbar{z-index:12;background:#080c0eeb;border-radius:28px;padding:5px;display:flex;position:absolute;bottom:18px;left:28px;overflow:hidden}.tool-button{border:0;border-right:1px solid var(--line);width:112px;height:57px;color:var(--text);cursor:pointer;background:0 0;grid-template-rows:1fr 1fr;grid-template-columns:24px 1fr;align-items:center;column-gap:7px;padding:7px 8px;transition:all .16s;display:grid}.tool-button:last-child{border-right:0}.tool-button:hover{background:#ffffff0e}.tool-button:focus-visible,.age-button:focus-visible,.time-controls button:focus-visible,.event-choices button:focus-visible{outline:2px solid var(--text);outline-offset:-2px}.tool-button.is-active{color:#fff;background:#d13b342b}.tool-button svg{fill:#a6aaab;grid-row:1/3;width:20px;height:20px}.tool-button.is-active svg{fill:var(--red)}.tool-button[data-tool=residential] svg{fill:var(--moss)}.tool-button[data-tool=commercial] svg{fill:var(--commercial)}.tool-button[data-tool=industrial] svg{fill:var(--industrial)}.tool-button.tool-danger svg{fill:#b8645d}.tool-button span{letter-spacing:.08em;text-transform:uppercase;align-self:end;font-size:9px;font-weight:650}.tool-button small{color:var(--muted);font-variant-numeric:tabular-nums;align-self:start;font-size:8px}.city-panel{z-index:10;border-radius:3px;grid-template-columns:1fr 1px 1fr;gap:14px;width:370px;min-height:128px;padding:13px 15px;transition:opacity .24s,transform .24s;display:grid;position:absolute;bottom:86px;right:28px}.is-event-open .city-panel{opacity:0;pointer-events:none;transform:translateY(10px)}.panel-divider{background:var(--line)}.section-heading{justify-content:space-between;align-items:baseline;margin-bottom:10px;display:flex}.section-heading h2{letter-spacing:.13em;text-transform:uppercase;margin:0;font-size:9px;font-weight:650}.section-heading span{color:var(--muted);font-size:8px}.demand-row{grid-template-columns:18px 1fr 28px;align-items:center;gap:6px;margin:8px 0;display:grid}.demand-row>span{color:var(--muted);font-size:9px;font-weight:750}.demand-row strong{color:var(--muted);text-align:right;font-variant-numeric:tabular-nums;font-size:8px}.meter{background:#ffffff1a;height:2px;overflow:hidden}.meter i{width:0;height:100%;transition:width .4s;display:block}.residential .meter i{background:var(--moss)}.commercial .meter i{background:var(--commercial)}.industrial .meter i{background:var(--industrial)}dl{gap:7px;margin:0;display:grid}dl div{justify-content:space-between;gap:12px;display:flex}dt,dd{margin:0;font-size:8px}dt{color:var(--muted)}dd{color:#d4d1c8;text-align:right}.time-controls{z-index:13;background:#080c0eeb;border-radius:24px;gap:2px;padding:4px;display:flex;position:absolute;bottom:20px;right:28px}.time-controls button{width:42px;height:38px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:18px;font-size:9px;font-weight:650}.time-controls button:hover{color:var(--text);background:#ffffff0f}.time-controls button.is-active{background:var(--red);color:#fff}.time-controls svg{fill:currentColor;vertical-align:middle;width:14px}.management-panel{z-index:24;background:linear-gradient(150deg,#0e1214fa,#070a0cf0);border-color:#d13b3461;grid-template-rows:auto auto 1fr auto;width:min(510px,100vw - 56px);display:grid;position:absolute;top:72px;bottom:78px;right:28px;overflow:hidden}.management-panel[hidden]{display:none}.management-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-start;min-height:76px;padding:16px 18px 12px;display:flex}.management-head span,.management-intro>span{color:var(--red);letter-spacing:.22em;font-size:8px;font-weight:750}.management-head h2{letter-spacing:.04em;text-transform:uppercase;margin:4px 0 0;font-size:24px;font-weight:520}.management-head button,.management-foot button{border:1px solid var(--line);color:var(--muted);letter-spacing:.12em;text-transform:uppercase;cursor:pointer;background:0 0;font-size:8px;font-weight:700}.management-head button{padding:8px 10px}.management-head button:hover,.management-foot button:hover{color:var(--text);border-color:var(--line-strong)}.management-tabs{border-bottom:1px solid var(--line);grid-template-columns:repeat(5,1fr);display:grid}.management-tabs button{border:0;border-right:1px solid var(--line);height:39px;color:var(--muted);letter-spacing:.1em;text-transform:uppercase;cursor:pointer;background:#ffffff04;font-size:8px;font-weight:700}.management-tabs button:last-child{border-right:0}.management-tabs button:hover{color:var(--text)}.management-tabs button.is-active{color:#fff;box-shadow:inset 0 -2px var(--red);background:#d13b3438}.management-content{overscroll-behavior:contain;scrollbar-color:#4c4e4d transparent;scrollbar-width:thin;min-height:0;padding:18px;overflow-y:auto}.management-intro{padding:4px 2px 17px}.management-intro h3{letter-spacing:.025em;text-transform:uppercase;margin:6px 0 5px;font-size:21px;font-weight:520}.management-intro p{color:#a5a8a5;margin:0;font-size:10px;line-height:1.5}.metric-grid{grid-template-columns:repeat(3,1fr);gap:7px;display:grid}.metric-card{border:1px solid var(--line);background:#ffffff05;flex-direction:column;min-height:84px;padding:11px;display:flex}.metric-card span{color:var(--muted);letter-spacing:.11em;text-transform:uppercase;font-size:8px}.metric-card strong{font-variant-numeric:tabular-nums;margin-top:auto;font-size:20px;font-weight:520}.metric-card small{color:#7e8586;font-size:7px}.hall-section{border-top:1px solid var(--line);margin-top:18px;padding-top:13px}.hall-title{justify-content:space-between;align-items:baseline;margin-bottom:8px;display:flex}.hall-title h3{letter-spacing:.14em;text-transform:uppercase;margin:0;font-size:9px;font-weight:700}.hall-title span{color:var(--muted);font-size:8px}.district-row,.tax-row{border-bottom:1px solid #d8d4c814;align-items:center;min-height:45px;display:grid}.district-row{grid-template-columns:1fr 88px 34px;gap:9px}.district-row div,.service-copy{flex-direction:column;gap:2px;display:flex}.district-row strong,.tax-row strong,.service-copy strong{font-size:10px;font-weight:600}.district-row small,.tax-row small,.service-copy small{color:var(--muted);font-size:8px}.district-row>span{color:var(--muted);text-align:right;font-size:8px}.district-row b{color:var(--amber);text-align:right;font-size:9px}.primary-hall-action{width:100%;min-height:40px;color:var(--text);letter-spacing:.11em;text-transform:uppercase;cursor:pointer;background:#d13b3429;border:1px solid #d13b348c;margin-top:14px;font-size:9px;font-weight:700}.service-list{gap:7px;display:grid}.service-row{border:1px solid var(--line);background:#ffffff05;grid-template-columns:105px 1fr 34px 88px 90px;align-items:center;gap:8px;min-height:68px;padding:9px 10px;display:grid}.service-row>b{font-variant-numeric:tabular-nums;text-align:right;font-size:8px}.coverage{background:#ffffff17;height:3px;overflow:hidden}.coverage i{background:linear-gradient(90deg, var(--red), var(--amber));height:100%;display:block}.funding{grid-template-columns:24px 40px 24px;align-items:center;display:grid}.funding button,.tax-row button{border:1px solid var(--line);height:25px;color:var(--text);cursor:pointer;background:#ffffff06}.funding span,.tax-row div span{text-align:center;font-variant-numeric:tabular-nums;font-size:8px}.build-service{color:#ddd4c4;letter-spacing:.05em;text-transform:uppercase;cursor:pointer;background:#e0ad6814;border:1px solid #e0ad6861;min-height:30px;padding:4px 6px;font-size:7px;font-weight:700}.tax-row{grid-template-columns:110px 1fr 96px}.tax-row>div{grid-template-columns:28px 40px 28px;display:grid}.policy-grid,.life-action-grid{grid-template-columns:1fr 1fr;gap:7px;margin-top:16px;display:grid}.policy-card,.life-action{border:1px solid var(--line);min-height:83px;color:var(--text);text-align:left;cursor:pointer;background:#ffffff05;flex-direction:column;align-items:flex-start;gap:5px;padding:10px;display:flex}.policy-card>span{color:var(--red);letter-spacing:.14em;font-size:7px}.policy-card strong,.life-action strong{font-size:10px;font-weight:650}.policy-card small,.life-action small{color:var(--muted);font-size:8px;line-height:1.35}.policy-card.is-active{background:#e0ad681a;border-color:#e0ad689e}.policy-card.is-active>span{color:var(--amber)}.life-action:disabled{opacity:.42;cursor:default}.person-row{border-bottom:1px solid #d8d4c814;grid-template-columns:32px 1fr 36px;align-items:center;gap:9px;min-height:50px;display:grid}.person-row>span{border:1px solid var(--line-strong);color:#beb8aa;border-radius:50%;place-items:center;width:29px;height:29px;font-size:8px;display:grid}.person-row div{flex-direction:column;gap:2px;display:flex}.person-row strong{font-size:9px;font-weight:650}.person-row small{color:var(--muted);font-size:8px}.person-row b{color:var(--amber);text-align:right;font-size:9px}.history-list{display:grid}.history-row{border-bottom:1px solid #d8d4c814;grid-template-columns:95px 1fr;gap:12px;min-height:58px;padding:9px 0;display:grid}.history-row>span{color:var(--red);letter-spacing:.07em;font-size:7px}.history-row div{flex-direction:column;gap:4px;display:flex}.history-row strong{font-size:9px;font-weight:600;line-height:1.35}.history-row small{color:var(--muted);font-size:8px;line-height:1.35}.achievement-strip{flex-wrap:wrap;gap:5px;margin-bottom:12px;display:flex}.achievement-strip span{color:var(--amber);letter-spacing:.08em;text-transform:uppercase;border:1px solid #e0ad685c;padding:6px 8px;font-size:7px}.management-foot{border-top:1px solid var(--line);grid-template-columns:1fr 1fr 1fr;gap:6px;min-height:48px;padding:7px 9px;display:grid}.hall-button.is-active{background:#d13b3438}.notice{z-index:25;border:1px solid var(--line);color:var(--text);letter-spacing:.05em;opacity:0;pointer-events:none;background:#080c0ef0;padding:9px 13px;font-size:9px;transition:all .18s;position:absolute;bottom:95px;left:50%;transform:translate(-50%,12px)}.notice.is-visible{opacity:1;transform:translate(-50%)}.notice.is-error{color:#f3aaa5;border-color:#d13b34b8}.event-card{z-index:30;background:#0b0e10f5;border-color:#d13b3494;border-radius:3px;width:min(350px,100vw - 32px);animation:.36s cubic-bezier(.2,.8,.2,1) event-in;position:absolute;top:15%;right:7%;overflow:hidden}.event-card[hidden],.event-anchor[hidden]{display:none}.event-scene{background:radial-gradient(circle at 68% 58%,#e83a2ff0,#0000 5%),radial-gradient(circle at 40% 70%,#9a211dd1,#0000 24%),linear-gradient(160deg,#0a0d0f33,#8e221d8c),repeating-linear-gradient(75deg,#10171b 0 14px,#182126 14px 18px);height:132px;position:relative;overflow:hidden;box-shadow:inset 0 -50px 60px #070a0cad}.event-scene:before{content:"";background:repeating-linear-gradient(90deg,#0000 0 18px,#000000c7 18px 27px),linear-gradient(#0000 20%,#06090b 21% 43%,#0000 44%);position:absolute;inset:38% -8% -22%;transform:skewY(-5deg)}.event-scene span{z-index:2;color:#ff7770;letter-spacing:.24em;font-size:8px;font-weight:750;position:absolute;top:13px;left:15px}.event-content{padding:18px}.event-year{color:var(--red);letter-spacing:.17em;text-transform:uppercase;font-size:8px;font-weight:750}.event-card h2{letter-spacing:.02em;text-transform:uppercase;margin:6px 0 8px;font-size:22px;font-weight:520}.event-card p{color:#b8b8b2;margin:0 0 18px;font-size:11px;line-height:1.55}.event-choices{gap:7px;display:grid}.event-choices button{border:1px solid var(--line-strong);min-height:44px;color:var(--text);text-align:left;letter-spacing:.12em;text-transform:uppercase;cursor:pointer;background:#ffffff06;border-radius:2px;padding:10px 13px;font-size:9px;font-weight:700}.event-choices button:first-child{border-color:var(--red);color:#fff;background:#d13b34e0}.event-choices button:hover{background:#d13b3440;border-color:#f06b63}.event-anchor{z-index:8;background:linear-gradient(90deg, transparent, var(--red));transform-origin:100%;pointer-events:none;width:230px;height:1px;position:absolute;top:63%;right:23%;transform:rotate(-28deg)}.event-anchor:before{content:"";border:1px solid var(--red);width:9px;height:9px;box-shadow:0 0 18px var(--red);border-radius:50%;position:absolute;top:-5px;left:-2px}.event-anchor i{background:var(--red);width:100%;height:1px;animation:1.8s ease-in-out infinite signal;position:absolute;top:0;left:0}.stat-label,.leader-identity>span,.management-head span,.management-intro>span,.event-scene span,.event-year{letter-spacing:.12em;font-size:11px}.stat strong{font-size:16px}.leader-identity p,.leader-stats span,.leader-stats strong,.section-heading h2,.demand-row>span,dt,dd,.time-controls button,.hall-title h3,.district-row b,.primary-hall-action,.person-row strong,.person-row b,.history-row strong,.notice,.event-choices button{font-size:12px}.leader-latest,.tool-button span{font-size:12px;line-height:1.4}.leader-latest{min-height:32px}.age-button{letter-spacing:.08em;height:40px;font-size:12px}.mission-strip{letter-spacing:.04em;font-size:12px}.tool-button small,.section-heading span,.demand-row strong,.management-head button,.management-foot button,.management-tabs button,.metric-card span,.hall-title span,.district-row small,.tax-row small,.service-copy small,.district-row>span,.service-row>b,.funding span,.tax-row div span,.policy-card small,.life-action small,.person-row small,.history-row small,.build-service{font-size:11px}.management-tabs button{letter-spacing:.07em;height:44px}.management-intro p,.district-row strong,.tax-row strong,.service-copy strong,.policy-card strong,.life-action strong{font-size:13px}.metric-card small,.policy-card>span,.history-row>span,.achievement-strip span{font-size:10px}.primary-hall-action{min-height:44px}.build-service{letter-spacing:.02em;min-height:34px}.person-row>span{width:32px;height:32px;font-size:10px}.event-card{width:min(390px,100vw - 32px)}.event-card p{font-size:14px}.event-choices button{letter-spacing:.07em;min-height:48px}@keyframes event-in{0%{opacity:0;transform:translateY(14px)scale(.985)}to{opacity:1;transform:none}}@keyframes signal{0%,to{opacity:.28}50%{opacity:1}}@media (width<=1040px){.stat{min-width:110px;padding-inline:12px}.date-stat{display:none}.toolbar{max-width:calc(100vw - 220px);overflow-x:auto}.tool-button{flex:0 0 96px;width:96px}.city-panel{width:330px}.event-card{right:24px}}@media (width<=768px){.topbar{height:56px}.brand{letter-spacing:.15em;padding:0 12px;font-size:13px}.brand svg{width:18px}.stat{min-width:86px;padding:7px 9px}.stat:nth-child(2),.stat:nth-child(3),.date-stat{display:none}.life-panel{width:252px;padding:10px 10px 10px 12px;top:68px;left:10px}.leader-portrait{flex-basis:51px;width:51px;height:51px}.leader-identity h2{font-size:16px}.leader-stats,.leader-latest{display:none}.age-button{height:28px;margin:8px 0 0 64px;position:static}.city-panel,.mission-strip{display:none}.toolbar{border-radius:4px;max-width:none;bottom:8px;left:8px;right:8px}.tool-button{flex:0 0 96px;grid-template-columns:20px 1fr;width:96px;height:58px}.tool-button small{display:none}.time-controls{bottom:69px;right:8px}.time-controls button{width:36px;height:34px}.event-card{width:min(330px,100vw - 16px);top:auto;bottom:72px;right:8px}.event-scene{height:82px}.event-content{padding:14px}.event-card h2{font-size:18px}.event-anchor{display:none}.notice{white-space:nowrap;text-overflow:ellipsis;max-width:calc(100vw - 20px);bottom:132px;overflow:hidden}.year-mark{font-size:24vw;top:12%;left:4%}.management-panel{width:calc(100vw - 16px);top:64px;bottom:68px;right:8px}.management-content{padding:12px}.service-row{grid-template-columns:94px 1fr 32px}.service-row .funding{grid-column:1/3}.service-row .build-service{grid-area:2/3}}@media (width<=430px){.brand span{display:none}.stats .stat:first-child{min-width:112px}.leader-identity p{white-space:normal}.tool-button{flex-direction:column;justify-content:center;gap:2px;display:flex}.tool-button svg{width:18px;height:18px}.tool-button span{font-size:9px}.event-card,.management-panel{left:8px}.metric-grid{grid-template-columns:1fr 1fr}.policy-grid,.life-action-grid{grid-template-columns:1fr}.management-tabs button{font-size:9px}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}.front-door{z-index:100;min-height:100dvh;color:var(--text);background:linear-gradient(90deg,#040709fa 0 36%,#040709c2 58%,#040709e6);position:absolute;inset:0;overflow:auto}.front-door[hidden],.front-view[hidden]{display:none}.front-door:before{content:"CIVIC";color:#e7e3d909;letter-spacing:-.09em;pointer-events:none;font-size:min(28vw,390px);font-weight:760;line-height:.75;position:fixed;bottom:-7vw;left:-1.5vw}.front-atmosphere{pointer-events:none;position:fixed;inset:0;overflow:hidden}.front-atmosphere:before{content:"";border:1px solid #d13b343d;border-radius:50%;width:72vw;height:72vw;position:absolute;top:-50vw;right:-14vw;box-shadow:0 0 110px #d13b3424}.front-atmosphere i{background:var(--red);width:4px;height:4px;box-shadow:0 0 22px var(--red);border-radius:50%;display:block;position:absolute}.front-atmosphere i:first-child{top:17%;left:48%}.front-atmosphere i:nth-child(2){width:2px;height:2px;top:72%;left:61%}.front-atmosphere i:nth-child(3){opacity:.55;width:6px;height:6px;top:38%;right:8%}.front-brand{top:max(28px, env(safe-area-inset-top));left:max(34px, env(safe-area-inset-left));letter-spacing:.25em;align-items:center;gap:12px;font-size:13px;font-weight:700;display:flex;position:absolute}.front-brand svg{fill:currentColor;width:24px}.front-copy{width:min(510px,42vw);position:absolute;top:27%;left:max(6vw,34px)}.front-copy>span,.eyebrow{color:#ff5a51;letter-spacing:.2em;text-transform:uppercase;font-size:12px;font-weight:760}.front-copy h1{letter-spacing:-.035em;text-transform:uppercase;margin:12px 0 18px;font-size:clamp(42px,5.6vw,82px);font-weight:470;line-height:.93}.front-copy p{color:#a8adaa;max-width:420px;margin:0;font-size:17px;line-height:1.55}.front-card{background:#070b0df2;border-color:#d13b3466;width:min(470px,42vw);max-height:76%;padding:30px;position:absolute;top:13%;right:max(5vw,28px);overflow-y:auto}.front-view h2{letter-spacing:-.02em;text-transform:uppercase;margin:8px 0 7px;font-size:29px;font-weight:520}.front-view>p,.library-head+p{color:#9ea4a2;margin:0 0 22px;font-size:14px;line-height:1.5}.front-loading{min-height:250px;color:var(--muted);letter-spacing:.16em;align-content:center;gap:18px;font-size:12px;font-weight:700;display:grid}.loading-line{background:#ffffff14;height:2px;overflow:hidden}.loading-line i{background:var(--red);width:42%;height:100%;animation:1.1s ease-in-out infinite alternate front-load;display:block}.stack-form,.new-city-form{gap:14px;display:grid}.stack-form label,.new-city-form>label,.field-pair label{color:#bbbdb8;gap:7px;font-size:13px;font-weight:650;display:grid}.stack-form input,.new-city-form input{border:1px solid var(--line-strong);width:100%;min-height:48px;color:var(--text);background:#ffffff09;border-radius:2px;outline:none;padding:0 13px;font-size:16px}.password-field{position:relative}.password-field input{padding-right:54px}.password-field button{width:44px;height:44px;color:var(--muted);cursor:pointer;background:0 0;border:0;place-items:center;padding:0;display:grid;position:absolute;top:2px;right:2px}.password-field button:hover,.password-field button[aria-pressed=true]{color:var(--text);background:#ffffff0d}.password-field button:focus-visible{outline:2px solid var(--red);outline-offset:-2px}.password-field svg{fill:currentColor;width:21px;height:21px}.stack-form input:focus,.new-city-form input:focus{border-color:var(--red);box-shadow:0 0 0 2px #d13b342e}.front-primary,.front-secondary,.front-link,.front-back{letter-spacing:.09em;text-transform:uppercase;cursor:pointer;border:1px solid #0000;border-radius:2px;min-height:48px;font-size:13px;font-weight:720}.front-primary{background:var(--red);color:#fff;width:100%;margin-top:3px}.front-primary:hover{background:#ec4c43}.front-secondary{border-color:var(--line-strong);width:100%;color:var(--text);background:0 0}.front-link,.front-back{color:#aaaead;text-align:left;background:0 0;min-height:44px;padding:0}.front-back{width:max-content;color:var(--amber)}.front-primary:disabled,.front-secondary:disabled{opacity:.55;cursor:wait}.form-error{min-height:18px;color:#ff8f88!important;margin:0!important;font-size:13px!important}.library-head{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.library-head h2{margin-bottom:4px}.library-head .front-link{white-space:nowrap}.save-list{gap:9px;margin:0 0 16px;display:grid}.save-card{border:1px solid var(--line);background:#ffffff06;grid-template-columns:1fr auto;align-items:center;gap:12px;min-height:82px;padding:12px;display:grid}.save-card>div{flex-direction:column;gap:5px;min-width:0;display:flex}.save-card strong{text-transform:uppercase;font-size:17px;font-weight:600}.save-card span{color:var(--muted);font-size:12px;line-height:1.4}.save-card>div:last-child{flex-direction:row}.save-card button{border:1px solid var(--line-strong);min-height:44px;color:var(--text);cursor:pointer;background:0 0;padding:0 11px;font-size:12px}.save-card button:first-child{border-color:var(--red);background:#d13b3429}.save-card button:last-child{color:var(--muted)}.empty-library{min-height:102px;color:var(--muted);text-align:center;place-content:center;gap:6px;font-size:13px;display:grid}.empty-library strong{color:var(--text);font-size:17px;font-weight:550}.new-city-form fieldset{border:0;gap:7px;margin:4px 0 0;padding:0;display:grid}.new-city-form legend{color:#bbbdb8;margin-bottom:8px;font-size:13px;font-weight:650}.field-pair{grid-template-columns:1fr 1fr;gap:10px;display:grid}.choice-card{border:1px solid var(--line);cursor:pointer;align-items:center;gap:10px;min-height:58px;padding:9px 11px;display:flex}.choice-card:has(input:checked){background:#d13b341a;border-color:#d13b34b3}.choice-card input{width:18px;min-height:18px;accent-color:var(--red)}.choice-card span{flex-direction:column;gap:2px;display:flex}.choice-card strong{font-size:14px;font-weight:620}.choice-card small{color:var(--muted);font-size:12px;line-height:1.35}.difficulty-field{grid-template-columns:1fr 1fr}.difficulty-field legend{grid-column:1/-1}.front-footer{left:max(34px, env(safe-area-inset-left));right:max(34px, env(safe-area-inset-right));bottom:max(22px, env(safe-area-inset-bottom));color:#e7e3d959;letter-spacing:.19em;gap:9vw;font-size:12px;display:flex;position:absolute}.personal-time{border:1px solid #e0ad6859;align-items:baseline;gap:8px;width:max-content;margin-top:13px;padding:7px 10px;display:flex}.personal-time strong{color:var(--amber);font-size:20px;font-weight:520}.personal-time span{color:#aaaead;font-size:12px}.settings-list{gap:9px;display:grid}.setting-row{border:1px solid var(--line);grid-template-columns:minmax(130px,1fr) auto;align-items:center;gap:12px;min-height:76px;padding:12px;display:grid}.setting-row>div:first-child{gap:4px;display:grid}.setting-row strong{font-size:14px;font-weight:620}.setting-row small{color:var(--muted);font-size:12px;line-height:1.4}.setting-row>div:last-child{flex-wrap:wrap;justify-content:flex-end;gap:5px;display:flex}.setting-row button{border:1px solid var(--line);min-height:44px;color:var(--muted);cursor:pointer;background:0 0;padding:0 11px;font-size:12px}.setting-row button.is-active{border-color:var(--red);color:#fff;background:#d13b3433}.management-tabs{grid-template-columns:repeat(6,1fr)}#game-canvas.is-exploring{cursor:grab}#game-canvas.is-exploring:active{cursor:grabbing}[data-ui-scale=large] .management-content{font-size:1.08em}[data-ui-scale=large] .management-intro p,[data-ui-scale=large] .policy-card small,[data-ui-scale=large] .life-action small,[data-ui-scale=large] .service-copy small,[data-ui-scale=large] .person-row small{font-size:13px}@keyframes front-load{0%{transform:translate(-100%)}to{transform:translate(240%)}}@media (width<=900px){html,body,#app{height:100dvh}.front-door{min-height:100dvh;padding:max(78px, env(safe-area-inset-top)) 18px max(28px, env(safe-area-inset-bottom));align-content:start;gap:28px;display:grid}.front-door:before{font-size:34vw;position:absolute;bottom:3%}.front-brand{position:static}.front-copy{width:100%;padding-top:5vh;position:static}.front-copy h1{font-size:clamp(39px,11vw,66px)}.front-copy p{max-width:520px;font-size:16px}.front-card{width:100%;max-height:none;padding:24px;position:static}.front-footer{display:none}}@media (width<=768px){.topbar{padding-top:env(safe-area-inset-top);height:calc(56px + env(safe-area-inset-top))}.brand{width:52px;padding:0 15px}.brand span{display:none}.stats .stat:first-child,.stats .stat:nth-child(2){min-width:112px;display:flex}.stats .stat:nth-child(3),.date-stat{display:none}.life-panel{top:calc(66px + env(safe-area-inset-top));width:min(270px,100vw - 20px)}.age-button{height:44px;min-height:44px;margin-top:8px;font-size:12px}.toolbar{bottom:max(8px, env(safe-area-inset-bottom));overscroll-behavior-x:contain;scroll-snap-type:x proximity;padding:5px;overflow-x:auto}.tool-button{scroll-snap-align:start;flex:0 0 88px;width:88px;height:64px;min-height:64px}.tool-button span{font-size:11px}.time-controls{bottom:calc(82px + env(safe-area-inset-bottom))}.time-controls button{width:44px;height:44px;font-size:12px}.city-panel{left:8px;right:auto;bottom:calc(139px + env(safe-area-inset-bottom));width:min(300px,100vw - 16px);min-height:0;padding:10px 12px;display:block}.city-panel .demand-section,.city-panel .panel-divider{display:none}.inspector-section dl{grid-template-columns:1fr 1fr}.inspector-section dl div{min-width:0}.section-heading{margin-bottom:7px}.management-panel{width:100%;height:100dvh;padding-top:env(safe-area-inset-top);border:0;inset:0}.management-head{min-height:68px;padding:12px 14px}.management-head button{min-width:60px;min-height:44px}.management-tabs{display:flex;overflow-x:auto}.management-tabs button{flex:0 0 78px;height:48px;min-height:48px;font-size:11px}.management-content{padding:14px}.management-foot{min-height:calc(58px + env(safe-area-inset-bottom));padding:7px 9px max(7px, env(safe-area-inset-bottom))}.management-foot button{min-height:44px;font-size:11px}.funding button,.tax-row button,.build-service{min-width:44px;min-height:44px;font-size:11px}.funding,.tax-row>div{grid-template-columns:44px 46px 44px}.service-row{grid-template-columns:minmax(105px,1fr) 1fr 38px;gap:9px}.service-row .funding{grid-column:1/3}.service-row .build-service{grid-area:2/3}.event-card{max-height:calc(100dvh - 94px - env(safe-area-inset-top) - env(safe-area-inset-bottom));overflow-y:auto}.notice{bottom:calc(147px + env(safe-area-inset-bottom));white-space:normal;text-align:center;max-width:calc(100vw - 18px);line-height:1.4}.mission-strip{left:10px;right:10px;bottom:calc(134px + env(safe-area-inset-bottom));background:#080c0ed1;padding:6px 9px;font-size:11px;display:flex}.camera-help{display:none}}@media (width<=430px){.front-door{gap:20px;padding-inline:12px}.front-copy{padding-top:2vh}.front-copy h1{margin-bottom:12px}.front-copy p{font-size:14px}.front-card{padding:20px 16px}.front-view h2{font-size:24px}.field-pair,.difficulty-field{grid-template-columns:1fr}.difficulty-field legend{grid-column:auto}.save-card{grid-template-columns:1fr}.save-card>div:last-child{justify-content:stretch}.save-card button{flex:1}.stats .stat:first-child,.stats .stat:nth-child(2){min-width:105px}.stat-label{font-size:10px}.stat strong{font-size:14px}.leader-identity p{font-size:11px}.city-panel{width:calc(100vw - 16px)}.setting-row{grid-template-columns:1fr}.setting-row>div:last-child{justify-content:flex-start}.policy-grid,.life-action-grid{grid-template-columns:1fr}.metric-grid{grid-template-columns:1fr 1fr}.service-row{grid-template-columns:1fr 40px}.service-row .coverage{grid-column:1}.service-row>b{grid-area:1/2}.service-row .funding{grid-area:3/1}.service-row .build-service{grid-area:3/2}.tax-row{grid-template-columns:1fr;padding:9px 0}.tax-row>div{margin-top:7px}}@media (height<=520px) and (orientation:landscape){.front-door{padding-top:max(60px, env(safe-area-inset-top));grid-template-columns:.9fr 1.1fr;align-items:start}.front-brand{top:max(18px, env(safe-area-inset-top));position:absolute}.front-copy{padding-top:10px}.front-copy h1{font-size:42px}.front-copy p{display:none}.front-card{max-height:calc(100dvh - 76px);overflow-y:auto}.life-panel,.city-panel,.mission-strip{display:none}}
