:root{--font-display:"Avenir Next", "Segoe UI", ui-sans-serif, system-ui, sans-serif;--font-body:"Inter", "SF Pro Text", "Segoe UI", ui-sans-serif, system-ui, sans-serif;--font-mono:ui-monospace, "SF Mono", "JetBrains Mono", Menlo, Consolas, monospace;--navy-950:#071116;--navy-900:#0b171d;--navy-850:#102129;--navy-800:#142a33;--navy-700:#23404a;--cyan:#41c2c7;--cyan-soft:#80d9d7;--lime:#82bc31;--gold:#e7b13d;--coral:#df6848;--text:#f2f5f3;--muted:#9aacb1;--line:#97c6cc38;--good:#9fdc9a;--warn:#ecc95c;--bad:#f0a196;--focus:var(--cyan);--ease-out:cubic-bezier(.2, .8, .2, 1);--pc-bg:#0b171d;--pc-surface:#122530;--pc-surface-2:#1a3342;--pc-titlebar:#0f2029;--pc-text:#eef3f2;--pc-muted:#a3b5b9;--pc-accent:#41c2c7;--pc-accent-text:#062025;--pc-accent-soft:#41c2c729;--pc-good:#9fdc9a;--pc-warn:#ecc95c;--pc-bad:#f0a196;--pc-border:#97c6cc38;--pc-focus:#7fe3e6;--pc-shadow:0 18px 50px #00000073;--pc-glass:#09151bd1;--pc-scrim:#030a0d8c;--pc-radius:10px;--pc-radius-sm:6px;--pc-font:var(--font-body);--pc-mono:var(--font-mono);--pc-scale:1;--pc-cat-city:#41c2c7;--pc-cat-people:#e7b13d;--pc-cat-system:#8fa3ad;--pc-cat-games:#a98bf0}[data-pc-theme=light]{--pc-bg:#dfe8eb;--pc-surface:#fff;--pc-surface-2:#f0f5f6;--pc-titlebar:#e8eff1;--pc-text:#10222a;--pc-muted:#4b636c;--pc-accent:#0e858b;--pc-accent-text:#fff;--pc-accent-soft:#0e858b1f;--pc-good:#2b7a36;--pc-warn:#8c6200;--pc-bad:#b23a28;--pc-border:#10222a24;--pc-focus:#0e858b;--pc-shadow:0 16px 40px #10222a2e;--pc-glass:#f6fafbdb;--pc-scrim:#10222a47;--pc-cat-city:#1f9ea3;--pc-cat-people:#c98f16;--pc-cat-system:#6c808a;--pc-cat-games:#7d5fd6}.pc-os{--good:var(--pc-good);--warn:var(--pc-warn);--bad:var(--pc-bad)}*{box-sizing:border-box}html,body{width:100%;height:100%}body{color:var(--text);background:var(--navy-950);font-family:var(--font-body), ui-sans-serif, system-ui, sans-serif;margin:0;overflow:hidden}button{color:inherit;font:inherit}:where(button,input,select,textarea,a,[tabindex]):focus-visible{outline:2px solid var(--focus);outline-offset:2px}input[type=range]:focus-visible{outline-offset:4px}.tone-good{color:var(--good)!important}.tone-warn{color:var(--warn)!important}.tone-bad{color:var(--bad)!important}.game{background:var(--navy-950);grid-template-rows:64px 1fr;width:100%;min-width:0;height:100dvh;min-height:600px;display:grid;overflow:hidden}.topbar{z-index:10;background:linear-gradient(#101d23 0%,#0a1419 100%);border-bottom:1px solid #2e4952;grid-template-columns:auto minmax(140px,1fr) auto auto auto minmax(max-content,1.4fr);align-items:stretch;width:100%;min-width:0;padding:0 18px;display:grid;box-shadow:0 6px 25px #01080b59}.brand,.city-title,.top-stat,.top-actions{border-right:1px solid #89b1b51f;align-items:center;min-width:0;display:flex}.brand{font:800 15px/1 var(--font-display), sans-serif;letter-spacing:.16em;gap:12px;padding-right:18px}.brand-mark{flex:none;grid-template-columns:repeat(3,1fr);align-items:end;gap:2px;width:29px;height:29px;display:grid;position:relative;transform:skewY(-12deg)}.brand-mark i{background:#f0f2e9;border-radius:2px;height:17px;box-shadow:0 2px 5px #0003}.brand-mark i:nth-child(2){background:var(--gold);height:25px}.brand-mark i:nth-child(3){background:var(--coral);height:13px}.city-title{color:inherit;text-align:left;cursor:pointer;background:0 0;border-top:0;border-bottom:0;border-left:0;gap:10px;margin:0;padding:0 17px}.city-title:disabled{cursor:default}.city-title:hover:not(:disabled){background:#41c2c712}.city-title:focus-visible{outline-offset:-3px}.city-title strong{text-overflow:ellipsis;white-space:nowrap;font:700 13px/1.1 var(--font-display), sans-serif;letter-spacing:.04em;display:block;overflow:hidden}.city-title>span:last-child{gap:4px;min-width:0;display:grid}.save-dot{background:#71888d;border-radius:50%;flex:none;width:8px;height:8px}.save-dot.saved{background:var(--lime);box-shadow:0 0 10px #82bc31cc}.save-dot.saving{background:var(--cyan);box-shadow:0 0 10px #41c2c7cc}.save-dot.pending{background:var(--gold)}.save-dot.conflict,.save-dot.error{background:var(--coral);box-shadow:0 0 10px #df6848e6}.save-status{text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:650;overflow:hidden}.save-status.conflict,.save-status.error{color:var(--bad)}.top-stat{gap:9px;padding:0 16px}.top-stat>span{color:#8bc9d0;font-size:19px;font-weight:900}.top-stat.money>span{color:var(--lime);font-size:24px}.top-stat.happiness>span{color:var(--gold)}.top-stat div{line-height:1;display:grid}.top-stat strong{font:700 16px/1 var(--font-display);font-variant-numeric:tabular-nums}.top-stat small{color:#8fa6aa;margin-top:5px;font-size:10px}.issue-pip{color:#1a1406;background:var(--warn);font:800 11px/1 var(--font-body);vertical-align:2px;border-radius:999px;margin-left:7px;padding:2px 6px;font-style:normal}.issue-pip.critical{color:#fff;background:var(--coral)}button.top-stat{color:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-right:1px solid #89b1b51f;border-radius:0;margin:0;transition:background .14s}button.top-stat:hover:not(:disabled){background:#41c2c712}button.top-stat:disabled{cursor:default}button.top-stat:focus-visible{outline-offset:-3px}.top-actions{border:0;justify-content:flex-end;justify-self:stretch;gap:11px;padding-left:18px}.date{color:#c8d2d1;font-variant-numeric:tabular-nums;white-space:nowrap;margin-right:4px;font-size:12px}.date-time{color:#8fa6aa}.speed-controls{background:#ffffff0e;border-radius:7px;padding:3px;display:flex}.speed-controls button,.menu-button{color:#9eb0b3;cursor:pointer;background:0 0;border:0;border-radius:5px;height:30px}.speed-controls button{letter-spacing:-3px;min-width:30px;padding:0 6px;font-size:9px}.speed-controls button.active{color:#fff;background:#29434b;box-shadow:inset 0 0 0 1px #7dd6d62e}.menu-button{border:1px solid #89b5ba38;place-items:center;width:34px;height:34px;font-size:20px;line-height:1;display:grid}.menu-button:hover{color:#e6f0f0;background:#ffffff0f}.computer-button{color:#e6f3f3;height:36px;font:650 13px/1 var(--font-body);cursor:pointer;background:linear-gradient(135deg,#145e68d9,#0b343de6);border:1px solid #68d8dc80;border-radius:8px;align-items:center;gap:8px;padding:0 14px 0 12px;transition:border-color .14s,background .14s;display:flex;position:relative}.computer-button>span{color:var(--cyan-soft);font-size:17px}.computer-button:hover:not(:disabled){background:linear-gradient(135deg,#1a7680eb,#0d404af2);border-color:#80d9d7e6}.computer-button.active{border-color:var(--cyan);color:#fff;background:linear-gradient(135deg,#218c96f2,#126974f2)}.computer-button.active>span{color:#fff}.computer-button:disabled{opacity:.45;cursor:not-allowed}.computer-badge{color:#062025;background:var(--cyan-soft);min-width:20px;height:20px;font:800 12px/1 var(--font-body);font-variant-numeric:tabular-nums;border-radius:10px;place-items:center;padding:0 6px;font-style:normal;display:grid}.computer-pip{background:var(--warn);border:2px solid #0a1419;border-radius:50%;width:12px;height:12px;position:absolute;top:-4px;right:-4px}.computer-pip.critical{background:var(--coral)}.computer-button.charter:after{content:"";border:2px solid var(--gold);pointer-events:none;border-radius:11px;animation:1.6s ease-in-out infinite charter-ring;position:absolute;inset:-4px}@keyframes charter-ring{0%,to{opacity:.9}50%{opacity:.25}}.menu-overlay{z-index:50;background:#07171f;position:fixed;inset:0;overflow:hidden}.menu-art{background:url(/assets/blockline-menu-city.avif) 50%/cover no-repeat;animation:.9s cubic-bezier(.2,.8,.2,1) both menu-arrive;position:absolute;inset:0;transform:scale(1.012)}.menu-vignette{background:linear-gradient(90deg,#03121cfa 0%,#041722eb 28%,#05182273 51%,#05131b14 75%),linear-gradient(#03111a2e,#0000 70%,#020c11bf);position:absolute;inset:0}.menu-content{z-index:2;scrollbar-width:thin;flex-direction:column;justify-content:safe center;width:min(570px,46vw);height:calc(100% - 58px);padding:44px clamp(34px,5vw,88px);display:flex;position:relative;overflow-y:auto;container-type:inline-size}.menu-brand{align-items:center;gap:18px;margin-bottom:52px;display:flex}.menu-brand>div{gap:9px;display:grid}.menu-brand strong{font:900 clamp(22px, min(4.4vw, calc((100cqi - 76px) / 6.5)), 68px)/.85 var(--font-display);letter-spacing:.055em;text-shadow:0 4px 18px #00000059}.menu-brand small{color:var(--cyan-soft);font:700 12px/1 var(--font-display);letter-spacing:.16em}.menu-brand-mark{flex:none;grid-template-columns:repeat(3,1fr);align-items:end;gap:4px;width:54px;height:57px;display:grid;transform:skewY(-12deg)}.menu-brand-mark i{background:#dfeeed;border-radius:4px;height:34px;box-shadow:0 5px 12px #00000047}.menu-brand-mark i:nth-child(2){background:linear-gradient(#3db7bd 0 45%,#e7b13d 46%);height:54px}.menu-brand-mark i:nth-child(3){background:var(--coral);height:26px}.menu-eyebrow{color:var(--gold);letter-spacing:.22em;margin:0 0 11px;font-size:9px;font-weight:800}.menu-content h1{max-width:460px;font:800 clamp(25px, 3vw, 43px)/1.08 var(--font-display);letter-spacing:-.025em;margin:0}.menu-intro{color:#adc2c4;max-width:470px;margin:17px 0 27px;font-size:13px;line-height:1.65}.menu-actions{gap:7px;width:min(390px,100%);display:grid}.menu-actions button{color:#dce8e8;cursor:pointer;text-align:left;background:linear-gradient(135deg,#0c2630ed,#071b24e8);border:1px solid #79aeb445;border-radius:9px;grid-template-columns:45px 1fr;align-items:center;gap:12px;min-height:60px;padding:8px 14px;transition:transform .14s,border-color .14s,background .14s;display:grid;box-shadow:0 10px 28px #010a0e42}.menu-actions button:hover{background:linear-gradient(135deg,#123b44f5,#09232cf2);border-color:#68d8dca6;transform:translate(5px)}.menu-actions button>span{width:39px;height:39px;color:var(--cyan-soft);background:#4bbabe1a;border-radius:7px;place-items:center;font-size:22px;display:grid}.menu-actions button>div{gap:5px;display:grid}.menu-actions button strong{font:750 12px/1 var(--font-display);letter-spacing:.055em}.menu-actions button small{color:#7f9da2;font-size:10px}.menu-actions button.primary{background:linear-gradient(135deg,#0f7884f7,#074451f5);border-color:#44cfd4b8}.menu-actions button.primary>span{color:#fff;background:#07212859}.menu-actions button.primary small{color:#a9d8d9}.menu-actions button.danger{background:linear-gradient(135deg,#4e1e1af5,#2c1212f2);border-color:#e76f5ab3}.menu-actions button.danger>span{color:#fff;background:#e76f5a47}.menu-actions button.danger small{color:#e8b3a8}.menu-actions button.danger:hover{background:linear-gradient(135deg,#602520f7,#381716f5);border-color:#e76f5af2}.found-form{gap:9px;width:min(390px,100%);display:grid}.found-form label{color:var(--cyan-soft);font:800 9px/1 var(--font-display);letter-spacing:.2em}.found-form input{width:100%;height:52px;color:var(--text);font:700 19px/1 var(--font-display);letter-spacing:.01em;background:#04141cc7;border:1px solid #79aeb459;border-radius:9px;padding:0 15px;transition:border-color .14s,background .14s}.found-form input::placeholder{color:#4d6b72;font-weight:500}.found-form input:focus{background:#061d27e6;border-color:#68d8dccc;outline:none}.found-form>p{color:#6f8f95;margin:0;font-size:10px}.found-suggestions{flex-wrap:wrap;gap:6px;margin-bottom:4px;display:flex}.found-suggestions button{color:#9fbcc0;cursor:pointer;background:#081e2799;border:1px solid #79aeb43d;border-radius:20px;padding:6px 10px;font-size:10px;transition:color .14s,border-color .14s}.found-suggestions button:hover{color:#dcecec;border-color:#68d8dc99}.found-form .menu-actions button:disabled{opacity:.42;cursor:not-allowed;transform:none}.map-picker{border:0;gap:8px;min-width:0;margin:0 0 10px;padding:0;display:grid}.map-picker legend{color:var(--cyan-soft);font:800 9px/1 var(--font-display);letter-spacing:.2em;margin-bottom:8px;padding:0}.map-picker-options{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;min-height:104px;display:grid}.map-picker-loading{color:#6f8f95;grid-column:1/-1;align-self:center;margin:0;font-size:11px}.map-option{color:#dce8e8;cursor:pointer;text-align:left;background:linear-gradient(135deg,#0c2630ed,#071b24e8);border:1px solid #79aeb445;border-radius:9px;gap:4px;min-width:0;padding:6px 6px 8px;transition:transform .14s,border-color .14s,background .14s;display:grid;box-shadow:0 10px 28px #010a0e42}.map-option:hover{border-color:#68d8dca6;transform:translateY(-2px)}.map-option:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.map-option[aria-checked=true]{background:linear-gradient(135deg,#0f788499,#074451bf);border-color:#44cfd4e6;box-shadow:0 0 0 1px #44cfd473,0 10px 28px #010a0e4d}.map-option canvas{aspect-ratio:2;background:#0d2a38;border-radius:5px;width:100%}.map-option[data-loading] canvas{animation:1.2s ease-in-out infinite map-survey}@keyframes map-survey{0%,to{opacity:.45}50%{opacity:.8}}.map-option strong{font:750 11px/1.15 var(--font-display);letter-spacing:.03em;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.map-option small{color:#8fb0b4;text-overflow:ellipsis;white-space:nowrap;font-size:10px;overflow:hidden}.map-option code{color:var(--gold);font:700 10px/1 var(--font-mono);letter-spacing:.06em}.map-picker-blurb{color:#9fbcc0;min-height:1.5em;margin:0;font-size:11px;line-height:1.45}.map-picker-tools{grid-template-columns:auto minmax(0,1fr) auto;gap:6px;display:grid}.map-picker-tools button{color:#cfe2e3;height:32px;font:700 11px/1 var(--font-display);letter-spacing:.04em;cursor:pointer;background:#081e27bf;border:1px solid #79aeb44d;border-radius:8px;padding:0 11px;transition:color .14s,border-color .14s}.map-picker-tools button:hover:not(:disabled){color:#fff;border-color:#68d8dca6}.map-picker-tools button:disabled{opacity:.45;cursor:not-allowed}.map-picker-tools button:focus-visible,.found-form .map-picker-tools input:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.found-form .map-picker-tools input{height:32px;font:700 12px/1 var(--font-mono);letter-spacing:.08em;text-transform:uppercase;border-radius:8px;padding:0 10px}.found-form .map-picker-tools input::placeholder{text-transform:none;letter-spacing:.02em;font-family:var(--font-body)}.map-picker-error{color:var(--bad);margin:0;font-size:10px}@media (prefers-reduced-motion:reduce){.map-option,.map-option[data-loading] canvas{transition:none;animation:none}}.menu-city-card{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#04141cad;border:1px solid #96c4c82e;border-radius:9px;grid-template-columns:46px 1fr;align-items:center;gap:12px;width:min(390px,100%);margin-top:16px;padding:10px 13px;display:grid}.mayor-avatar{color:#f4e0c2;width:42px;height:42px;font:800 10px/1 var(--font-display);background:linear-gradient(145deg,#b76f4e,#3e5e5a);border:2px solid #658990;border-radius:50%;place-items:center;display:grid}.menu-city-card>div:last-child{gap:4px;min-width:0;display:grid}.menu-city-card small{color:#668990;letter-spacing:.15em;font-size:9px}.menu-city-card strong{font:750 11px/1 var(--font-display);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.menu-city-card span{color:#93aaad;text-overflow:ellipsis;white-space:nowrap;font-size:10px;overflow:hidden}.menu-footer{z-index:3;color:#718a90;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#051219e6;border-top:1px solid #8bbec42e;justify-content:space-between;align-items:center;height:58px;padding:0 42px;display:flex;position:absolute;bottom:0;left:0;right:0}.menu-footer>span{font:800 11px/1 var(--font-display);letter-spacing:.24em}.menu-footer p{margin:0;font-size:10px}.menu-footer b{color:#b3c2c3}@keyframes menu-arrive{0%{opacity:0;transform:scale(1.04)}to{opacity:1;transform:scale(1.012)}}.play-area{background:radial-gradient(circle at 72% 8%,#7ec4d62e,#0000 34%),radial-gradient(circle at 20% 85%,#0930508c,#0000 45%),linear-gradient(160deg,#1a4a74 0%,#113a60 38%,#0b2b4c 70%,#071e38 100%);min-height:0;position:relative;overflow:hidden}.city-canvas{cursor:grab;width:100%;height:auto;position:absolute;inset:0}.city-canvas:active{cursor:grabbing}.city-canvas.tool-bulldozer{cursor:crosshair}.city-canvas.tool-inspect{cursor:help}.city-canvas.tool-move{cursor:move}.placement-hint{z-index:6;color:#dce9e4;pointer-events:none;white-space:nowrap;background:#051219e0;border:1px solid #79aeb452;border-radius:7px;max-width:260px;padding:5px 9px;font-size:11px;font-weight:650;line-height:1.3;position:absolute;box-shadow:0 6px 18px #020a0e66}.placement-hint.refused{color:#ffc9c2;border-color:#ff9a8f8c}.placement-hint.ok b{color:#f2c14e}.city-canvas canvas{width:100%;height:100%;display:block}.city-canvas canvas.mini-map{z-index:5;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);cursor:crosshair;width:248px;height:124px;image-rendering:pixelated;touch-action:none;background:#051219d1;border:1px solid #79aeb452;border-radius:10px;padding:0;position:absolute;bottom:18px;right:18px;box-shadow:0 12px 30px #020a0e6b}.mini-map:hover{border-color:#68d8dc99}.city-canvas.loading{color:#dce9e4;letter-spacing:.12em;background:linear-gradient(145deg,#305e4d,#568e43);place-items:center;display:grid}.art-lab{padding:16px;overflow:auto}.art-lab canvas{display:block}.city-canvas.view-underground{background:radial-gradient(circle at 50% 20%,#543e2659,#0000 55%),linear-gradient(170deg,#241b12 0%,#171009 60%,#100b06 100%)}.play-area:after{content:"";pointer-events:none;position:absolute;inset:0;box-shadow:inset 0 0 100px #030e1233}.grid-alert{z-index:4;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);width:min(510px,100vw - 760px);min-width:390px;min-height:51px;animation:panel-drop .22s var(--ease-out) both;background:linear-gradient(135deg,#302a14f0,#141e1ff0);border:1px solid #e5b13d7a;border-radius:10px;grid-template-columns:34px 1fr auto;align-items:center;gap:10px;padding:8px 9px 8px 12px;display:grid;position:absolute;top:18px;left:50%;transform:translate(-50%);box-shadow:0 12px 28px #040b0d47}.grid-alert>span{color:#f5d36b;background:#e5b13d24;border-radius:7px;place-items:center;width:31px;height:31px;font-size:18px;display:grid}.grid-alert>div{gap:4px;min-width:0;display:grid}.grid-alert strong{color:#f0e7d4;font:760 10px/1 var(--font-display);letter-spacing:.08em;text-transform:uppercase}.grid-alert small{color:#b4aaa0;text-overflow:ellipsis;white-space:normal;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:10px;line-height:1.35;display:-webkit-box;overflow:hidden}.map-alerts{z-index:6;pointer-events:none;flex-wrap:wrap;justify-content:center;gap:8px;min-width:240px;max-width:min(640px,100% - 700px);display:flex;position:absolute;top:14px;left:50%;transform:translate(-50%)}.map-alerts>*{pointer-events:auto;animation:panel-fade .2s var(--ease-out) both}.critical-pill{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:linear-gradient(135deg,#431f19f5,#191d1df2);border:1px solid #df6848b3;border-radius:999px;align-items:center;gap:6px;min-width:0;max-width:100%;padding:5px 6px 5px 12px;font-size:12px;display:flex;box-shadow:0 10px 26px #040b0d59}.critical-pill>span{flex:none;font-size:15px}.critical-pill button{color:#ffd9d2;height:26px;font:650 12px/1 var(--font-body);cursor:pointer;background:#df684824;border:1px solid #f0a19666;border-radius:999px;flex:none;padding:0 10px}.critical-pill button:hover:not(:disabled){color:#fff;background:#df68484d}.critical-pill button:disabled{opacity:.6;cursor:not-allowed}.critical-pill .critical-title{color:#f6e2dc;text-align:left;text-overflow:ellipsis;white-space:nowrap;background:0 0;border:0;flex:auto;min-width:0;padding:0 4px;font-weight:700;overflow:hidden}.critical-pill .critical-title:hover{background:0 0;text-decoration:underline}.critical-pill .critical-dismiss{color:#c9a59d;background:0 0;border-color:#0000;width:26px;padding:0;font-size:17px}.decision-chip{color:#f3d98b;height:38px;font:700 12px/1 var(--font-body);cursor:pointer;background:#102129f0;border:1px solid #e7b13d99;border-radius:999px;flex:none;align-items:center;gap:7px;padding:0 14px;display:flex;box-shadow:0 10px 26px #030a0d73}.decision-chip:hover{color:#fff3cf;background:#e7b13d2e}.grid-alert.founding{background:linear-gradient(135deg,#0d3a42f2,#102129f2);border-color:#44cfd48c;grid-template-columns:34px 1fr}.grid-alert.founding>span{color:#8fe6e4;background:#4bbabe24}.grid-alert.founding small{color:#a9c9cb;white-space:normal;line-height:1.5}.glass{z-index:3;color:var(--text);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:linear-gradient(145deg,#0c1a20f2,#12252ceb);border:1px solid #92c2c859;position:absolute;box-shadow:0 15px 45px #01090c61,inset 0 1px #ffffff0a}.layer-toggle{z-index:5;color:#d7e4e4;cursor:pointer;text-align:left;border:1px solid #79aeb44d;border-radius:10px;grid-template-columns:30px 1fr auto;align-items:center;gap:9px;padding:8px 12px;transition:border-color .14s,background .14s;display:grid;position:absolute;bottom:18px;left:18px}.layer-toggle>span{width:28px;height:28px;color:var(--cyan-soft,#7dd6d6);background:#4bbabe1f;border-radius:7px;place-items:center;font-size:16px;display:grid}.layer-toggle small{color:#8fa1a5;letter-spacing:.1em;font-size:9px;display:block}.layer-toggle strong{font-size:11px}.layer-toggle kbd{color:#688088;font:9px/1 var(--font-body);border:1px solid #89b5ba40;border-radius:4px;padding:2px 4px}.layer-toggle:hover{border-color:#68d8dc99}.layer-toggle.active{background:linear-gradient(135deg,#403012e6,#1c1a10eb);border-color:#d4a83fa6}.layer-toggle.active>span{color:#ecc95c;background:#e5b13d29}.build-menu{z-index:5;pointer-events:none;position:absolute;inset:0}.build-menu>nav{pointer-events:auto}.toolbox{border-radius:12px;width:64px;padding:5px;top:18px;left:18px}.toolbox:after{content:"";width:13px;height:100%;position:absolute;top:0;left:100%}.toolbox button{cursor:pointer;background:0 0;border:0;border-radius:8px;align-content:center;place-items:center;gap:2px;width:52px;height:50px;transition:background .12s;display:grid;position:relative}.toolbox button:hover:not(.active){background:#41c2c714}.toolbox button+button{border-top:1px solid #89b5ba1f;border-radius:0}.toolbox button>span{color:#adbec1;font-size:20px;line-height:22px;display:block}.toolbox button small{color:#8fa1a5;font-size:9px}.toolbox button kbd{color:#688088;font:7px/1 var(--font-body);position:absolute;top:5px;right:4px}.toolbox button em{color:#dce9e7;border:1px solid var(--line);white-space:nowrap;background:#0b171d;border-radius:5px;padding:6px 8px;font-size:9px;font-style:normal;display:none;position:absolute;top:15px;left:59px}.toolbox button:hover em{display:block}.toolbox button.active{color:#fff;background:linear-gradient(145deg,#218c96,#126974);border-radius:8px;margin:0;box-shadow:0 4px 14px #03101357}.toolbox button.active>span,.toolbox button.active small{color:#fff}.toolbox .cursor-tool{border:0;border-radius:8px;height:48px}.toolbox .undo-tool{border-top:1px solid #89b5ba4d;margin-top:4px}.toolbox .undo-tool:disabled{opacity:.4;cursor:not-allowed}.toolbox .undo-tool:disabled:hover{background:0 0}.tool-submenu{opacity:0;visibility:hidden;border-radius:12px;width:294px;max-width:calc(100% - 24px);padding:9px;transition:opacity .13s,transform .13s,visibility 0s linear .13s;top:71px;left:94px;transform:translate(-7px)}.build-menu:hover .tool-submenu,.build-menu:focus-within .tool-submenu{opacity:1;visibility:visible;transition-delay:0s;transform:translate(0)}.tool-submenu>header{border-bottom:1px solid #94bec32b;align-items:center;gap:10px;padding:5px 7px 11px;display:flex}.tool-submenu>header>span{width:30px;height:30px;color:var(--cyan);background:#41c2c71a;border-radius:7px;place-items:center;font-size:17px;display:grid}.tool-submenu>header>div{gap:3px;display:grid}.tool-submenu>header small{color:#718b91;letter-spacing:.14em;font-size:9px}.tool-submenu>header strong{font:700 12px/1 var(--font-display)}.tool-submenu>header .zone-demand{align-items:end;gap:6px;height:30px;margin-left:auto;display:flex}.zone-demand>span{justify-items:center;gap:2px;display:grid}.zone-demand small{color:#9db1b4;font:700 10px/1 var(--font-body);letter-spacing:0}.zone-demand i{background:#20353b;border-radius:3px;width:9px;height:18px;position:relative;overflow:hidden}.zone-demand b{background:var(--lime);position:absolute;bottom:0;left:0;right:0}.zone-demand .commercial b{background:var(--cyan)}.zone-demand .industrial b{background:var(--gold)}.tool-submenu>div{gap:4px;padding-top:7px;display:grid}.tool-submenu>.tool-flyout-grid{scrollbar-width:thin;align-items:start;margin-top:7px;padding-top:0}.tool-flyout-column{align-content:start;min-width:0;display:grid}.tool-section-heading{color:#6f8a90;font:700 8.5px/1 var(--font-body);letter-spacing:.16em;text-transform:uppercase;align-items:center;gap:7px;margin:0;padding:6px 4px 3px;display:flex}.tool-section-heading:after{content:"";background:#94bec321;flex:1;height:1px}.tool-submenu button{color:#b9c7c9;cursor:pointer;text-align:left;background:#ffffff05;border:1px solid #0000;border-radius:7px;grid-template-rows:1fr 1fr;grid-template-columns:31px 1fr auto;align-items:center;gap:0 8px;min-height:48px;padding:7px 8px;display:grid}.tool-submenu button>span{color:#a9bec1;background:#21363d;border-radius:6px;grid-row:1/3;place-items:center;width:29px;height:29px;font-size:16px;display:grid}.tool-submenu button p{grid-row:1/3;gap:4px;min-width:0;margin:0;display:grid}.tool-submenu button p strong{font-size:11px}.tool-submenu button p small{color:#86a0a5;text-overflow:ellipsis;white-space:nowrap;font-size:9px;overflow:hidden}.tool-submenu button kbd{color:#93aeb3;min-width:16px;font:600 9px/1 var(--font-body);text-align:center;border:1px solid #89b5ba40;border-radius:4px;align-self:start;padding:2px 4px}.tool-submenu button kbd:empty{visibility:hidden}.tool-submenu button em{color:#8eb394;font-variant-numeric:tabular-nums;align-self:end;justify-items:end;gap:2px;font-size:10px;font-style:normal;font-weight:700;display:grid}.tool-submenu button em small{color:#7d969b;font-size:8.5px;font-weight:500}.tool-submenu button em.unaffordable{color:var(--coral)}.tool-submenu button em.locked{color:#8b9a9d}.tool-submenu button:hover{background:#41c2c70f;border-color:#60bdc347}.tool-submenu button.active{box-shadow:inset 3px 0 var(--cyan);background:linear-gradient(145deg,#218c9657,#12697438);border-color:#63d2d585}.tool-submenu button.active>span{color:#fff;background:#267e88}.tool-submenu button:disabled{opacity:.5;cursor:not-allowed}.inspector{overscroll-behavior:contain;scrollbar-width:thin;border-radius:12px;width:258px;max-height:calc(100% - 176px);padding:15px;top:22px;right:20px;overflow-y:auto}.inspector-head{grid-template-columns:43px 1fr 20px;align-items:center;gap:10px;display:grid}.inspector-icon{color:#fff;background:#508a30;border-radius:8px;place-items:center;width:43px;height:43px;font-size:23px;display:grid}.inspector-icon.road{background:#4c5a5d}.inspector-icon.commercial{background:#328993}.inspector-icon.mixed-use{background:#6c708f}.inspector-icon.industrial,.inspector-icon.industrial-yard{background:#a5573f}.inspector-icon.residential{background:#d57646}.inspector-icon.power,.inspector-icon.solar,.inspector-icon.wind,.inspector-icon.power-line{background:#a77d23}.inspector-icon.water-tower,.inspector-icon.water-pipe{background:#278596}.inspector-icon.fibre,.inspector-icon.cell-tower,.inspector-icon.data-centre,.inspector-icon.data-centre-yard{background:#5367a5}.inspector-icon.farm{background:#9b7d2f}.inspector-icon.bulldozer{background:#a54136}.inspector-icon.toll-booth,.inspector-icon.bridge,.inspector-icon.highway{background:#4c5a5d}.inspector-icon.train-track,.inspector-icon.train-station{background:#7a5c3e}.inspector-icon.subway,.inspector-icon.subway-station{background:#b07a2f}.inspector-icon.dock,.inspector-icon.dock-yard,.inspector-icon.shipyard,.inspector-icon.shipyard-yard{background:#2f6f8f}.inspector-icon.airport,.inspector-icon.airport-yard,.inspector-icon.hangar,.inspector-icon.hangar-yard{background:#5d76b5}.inspector-icon.air-filter,.inspector-icon.air-filter-yard{background:linear-gradient(145deg,#3fae9c,#237066)}.inspector-head div:nth-child(2){gap:5px;display:grid}.inspector-head small{color:#728b91;letter-spacing:.14em;font-size:9px}.inspector-head strong{font:700 13px/1 var(--font-display);text-transform:capitalize}.inspector-head button{color:#64787d;cursor:pointer;background:0 0;border:0;border-radius:6px;align-self:start;place-items:center;width:24px;height:24px;font-size:20px;transition:color .12s,background .12s;display:grid}.inspector-head button:hover{color:#e6f0f0;background:#ffffff0f}.inspector>p{color:#b8c6c7;min-height:32px;margin:13px 0;font-size:11px;line-height:1.45}.benefit{color:#9dce52;background:#ffffff09;border-radius:6px;padding:9px 10px;font-size:10px}.benefit span{margin-right:7px}.upgrade-action{color:#e7dfb8;text-align:left;cursor:pointer;background:#e0b94f14;border:1px solid #e0b94f59;border-radius:7px;grid-template-columns:26px 1fr;align-items:center;gap:1px 8px;width:100%;margin-top:8px;padding:8px 10px;display:grid}.upgrade-action span{background:#e0b94f29;border-radius:6px;grid-row:span 2;place-items:center;width:26px;height:26px;font-size:14px;display:grid}.upgrade-action strong{font:700 11px/1.2 var(--font-display)}.upgrade-action small{color:#b8ad86;font-size:9px}.upgrade-action:hover:not(:disabled),.upgrade-action:focus-visible{background:#e0b94f29;border-color:#e0b94fbf}.upgrade-action:disabled{cursor:not-allowed;color:#8d8a7c;background:#ffffff06;border-color:#94bec324}.upgrade-action:disabled small{color:#c98579}.retrofit-action{color:#cdebd6;background:#6fd28c14;border-color:#6fd28c61}.retrofit-action span{background:#6fd28c33}.retrofit-action small{color:#9fc4aa}.retrofit-action:hover:not(:disabled),.retrofit-action:focus-visible{background:#6fd28c29;border-color:#6fd28ccc}.building-card-note{background:#6fd28c14;border-radius:6px;margin:8px 0 0;padding:7px 9px;font-size:10px;line-height:1.4}.building-card{gap:8px;display:grid}.building-card-level{color:#d2c58f;font:700 10px/1.2 var(--font-display);letter-spacing:.06em;margin:0}.building-card-stats{background:#ffffff06;border-radius:6px;gap:3px;margin:0;padding:8px 10px;font-size:10px;display:grid}.building-card-stats>div{justify-content:space-between;gap:10px;display:flex}.building-card-stats dt{color:#83969a}.building-card-stats dd{color:#dce9e7;text-align:right;margin:0}.building-card-state{background:#5fbec40d}.building-card-needs{color:#e2c7a5;gap:4px;margin:0;padding:0;font-size:10px;list-style:none;display:grid}.building-card-needs li{align-items:center;gap:7px;display:flex}.building-card-needs i{border-radius:50%;flex:none;width:7px;height:7px}.building-card-next{background:#a5573f14;border:1px solid #a5573f59;border-radius:7px;gap:5px;padding:8px 10px;font-size:10px;display:grid}.building-card-next strong{color:#eed9c9;font:700 10px/1.3 var(--font-display)}.building-card-next ul{color:#b8c6c7;gap:2px;margin:0;padding:0;list-style:none;display:grid}.building-card-next li span{width:12px;display:inline-block}.building-card-next li.met{color:#9dce52}.building-card-next li.unmet{color:#e0937f}.building-card-next small{color:#83969a;font-size:9px;line-height:1.35}.district-context{color:#9fbcc0;text-align:left;cursor:pointer;background:#3797a012;border:1px solid #5fbec42e;border-radius:7px;width:100%;margin:10px 0;padding:8px 10px;font-size:11px;display:block}.district-context:hover{background:#3797a024;border-color:#68d8dc80}.district-context span{color:#dce9e7;font-weight:700}.district-context strong{color:#b9d0d2;font-weight:600}.district-context i{color:var(--cyan-soft);font-style:normal}.maintenance{border-top:1px solid #94bec32b;justify-content:space-between;margin-top:12px;padding-top:11px;font-size:10px;display:flex}.maintenance span{color:#83969a}.hint{z-index:4;color:#bdd0d1;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);white-space:nowrap;background:#071318c7;border:1px solid #aad4d730;border-radius:99px;align-items:center;max-width:min(820px,100% - 740px);font-size:11px;display:flex;position:absolute;bottom:18px;left:50%;transform:translate(-50%)}.hint-tool{text-overflow:ellipsis;min-width:0;padding:8px 14px;overflow:hidden}.hint-tool>span{color:var(--cyan);margin-right:3px}.hint-charter{color:#f0d68c;min-width:0;font:650 12px/1 var(--font-body);text-overflow:ellipsis;white-space:nowrap;cursor:pointer;background:#e5b13d14;border:0;border-right:1px solid #aad4d730;border-radius:99px 0 0 99px;flex:0 auto;padding:8px 12px 8px 14px;overflow:hidden}.hint-charter:hover{color:#fff1c8;background:#e5b13d2e}.play-area:has(.overlay-legend) .hint{max-width:calc(100% - 580px);bottom:76px}@media (max-width:1180px){.hint{max-width:calc(100% - 580px);bottom:76px}}@media (max-height:850px) and (min-width:791px){.toolbox button,.toolbox .cursor-tool{height:36px}.toolbox button>span{font-size:15px;line-height:15px}.toolbox button small{font-size:8px}.toolbox button kbd{top:3px}}@media (max-width:1100px){.brand-word,.date-time{display:none}.top-stat{padding:0 12px}.top-actions{gap:8px;padding-left:12px}.map-alerts{max-width:calc(100% - 640px)}}@media (max-width:960px){.date{display:none}}@media (max-width:790px){.game{grid-template-rows:55px 1fr;min-height:520px}.topbar{grid-template-columns:auto minmax(0,1fr) auto;padding:0 10px}.top-stat{display:none}.brand{padding-right:10px}.city-title{border:0;padding:0 10px}.top-actions{gap:8px;min-width:0;padding:0}.speed-controls button:nth-child(n+3){display:none}.computer-button{padding:0 10px}.computer-button strong{display:none}.toolbox{top:10px;left:10px}.inspector{width:215px;max-height:calc(100% - 168px);top:10px;right:10px}.map-alerts{justify-content:flex-start;min-width:0;max-width:none;top:10px;left:84px;right:10px;transform:none}.play-area:has(.map-alerts) .inspector{max-height:calc(100% - 262px);top:104px}.menu-content{background:linear-gradient(90deg,#03121cf5,#03121cb8);width:100%;padding:28px}.map-option strong{white-space:normal}.menu-brand{margin-bottom:30px}.menu-brand strong{font-size:clamp(22px,min(36px,15.3846cqi - 11.6923px),36px)}.menu-brand small{font-size:9px}.hint{display:none}.city-canvas canvas.mini-map{width:150px;height:76px;bottom:70px;right:10px}}@media (max-height:760px){.menu-brand{margin-bottom:26px}}.needs-tooltip{z-index:7;pointer-events:auto;border-radius:10px;width:250px;padding:10px 12px;position:absolute}.needs-tooltip header{justify-content:space-between;align-items:baseline;gap:8px;margin-bottom:7px;display:flex}.needs-tooltip header strong{font:750 11px/1 var(--font-display);letter-spacing:.05em}.needs-tooltip header small{color:#7f9da2;white-space:nowrap;font-size:9px}.needs-tooltip .needs-ok{color:#8fbd72;margin:2px 0 0;font-size:10px;font-weight:700}.needs-tooltip ul{gap:6px;margin:0;padding:0;list-style:none;display:grid}.needs-tooltip li{grid-template-columns:8px 1fr auto;align-items:center;gap:8px;display:grid}.needs-tooltip li i{border-radius:50%;width:8px;height:8px;box-shadow:0 0 6px #ffffff24}.needs-tooltip li strong{font-size:10px;display:block}.needs-tooltip li small{color:#93a8ab;margin-top:1px;font-size:9px;line-height:1.35;display:block}.needs-tooltip li button{height:22px;color:var(--cyan-soft);font:750 8px/1 var(--font-display);letter-spacing:.08em;cursor:pointer;background:#41c2c71a;border:1px solid #68d8dc66;border-radius:5px;padding:0 9px}.needs-tooltip li button:hover{color:#fff;background:#41c2c73d}.character-portrait{image-rendering:auto;background-repeat:no-repeat;border-radius:7px;flex:none;display:inline-block}.inspector-staff{gap:6px;display:grid}.inspector-staff>small{color:#728b91;letter-spacing:.14em;font-size:9px}.inspector-staff>div{gap:8px;display:flex}.inspector-staff button{color:#aebfc2;cursor:pointer;background:#ffffff08;border:1px solid #79aeb438;border-radius:8px;justify-items:center;gap:3px;padding:5px 7px;font-size:9px;display:grid}.inspector-staff button:hover{color:#e6f0f0;border-color:#68d8dc8c}.account-panel{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#04141cad;border:1px solid #96c4c82e;border-radius:9px;gap:8px;width:min(390px,100%);margin-top:14px;padding:12px 13px;display:grid}.account-panel header,.account-panel>div:first-child{gap:4px;min-width:0;display:grid}.account-panel small{color:#668990;letter-spacing:.15em;font-size:9px}.account-panel strong{font:750 11px/1.3 var(--font-display)}.account-panel span{color:#93aaad;text-overflow:ellipsis;font-size:10px;overflow:hidden}.account-panel input{height:38px;color:var(--text);font:600 12px/1 var(--font-body);background:#04141cc7;border:1px solid #79aeb459;border-radius:7px;padding:0 12px;transition:border-color .14s}.account-panel input::placeholder{color:#4d6b72;font-weight:500}.account-panel input:focus{border-color:#68d8dccc;outline:none}.account-error{color:var(--coral);margin:0;font-size:9px}.account-actions{align-items:center;gap:10px;display:flex}.account-panel button{color:#dce8e8;font:800 9px/1 var(--font-display);letter-spacing:.14em;cursor:pointer;background:linear-gradient(135deg,#0c2630ed,#071b24e8);border:1px solid #79aeb459;border-radius:7px;padding:9px 14px;transition:border-color .14s}.account-panel button:hover{border-color:#68d8dca6}.account-panel button:disabled{opacity:.42;cursor:not-allowed}.account-panel button.link{color:var(--cyan-soft);font:600 9px/1 var(--font-body);letter-spacing:0;background:0 0;border:0;padding:0;text-decoration:underline}.account-panel.signed-in{grid-template-columns:1fr auto;align-items:center}.account-panel.sign-in-form{gap:9px;margin-top:4px;padding:15px 16px}.account-panel.sign-in-form .account-actions{margin-top:2px}.account-panel.sign-in-form button[type=submit]{background:linear-gradient(135deg,#0f7884f7,#074451f5);border-color:#44cfd4b8;padding:11px 18px}.sign-in-option{color:#dce8e8;height:40px;font:800 9px/1 var(--font-display);letter-spacing:.14em;text-transform:uppercase;background:linear-gradient(135deg,#0c2630ed,#071b24e8);border:1px solid #79aeb459;border-radius:7px;justify-content:center;align-items:center;gap:10px;padding:0 14px;text-decoration:none;transition:border-color .14s;display:flex}.sign-in-option:hover,.sign-in-option:focus-visible{border-color:#68d8dca6;outline:none}.sign-in-option svg{flex:none;width:16px;height:16px}.sign-in-option.primary{background:linear-gradient(135deg,#0f7884f7,#074451f5);border-color:#44cfd4b8}.sign-in-footnote{color:#93aaad;text-align:center;margin:2px 0 0;font-size:10px}.sign-in-footnote a{color:var(--cyan-soft);font-weight:600}.sign-in-footnote button.link{font-size:10px}.sign-in-divider{color:#668990;letter-spacing:.15em;text-transform:uppercase;align-items:center;gap:10px;margin:3px 0 1px;font-size:9px;display:flex}.sign-in-divider:before,.sign-in-divider:after{content:"";background:#96c4c829;flex:1;height:1px}.sign-in-fields{gap:10px;display:grid}.sign-in-field{gap:5px;min-width:0;display:grid}.sign-in-label{color:#8fb0b4;font:700 9px/1.2 var(--font-display);letter-spacing:.14em;text-transform:uppercase;justify-content:space-between;align-items:baseline;display:flex}.sign-in-field.invalid input{border-color:#ff7f68b3}.sign-in-field .account-error{line-height:1.4}.sign-in-fields>.account-error{font-size:10px;line-height:1.45}.account-panel.sign-in-form .sign-in-field input{width:100%}.sign-in-notice{color:#adc2c4;align-items:flex-start;gap:10px;margin:0;font-size:11px;line-height:1.55;display:flex}.sign-in-notice svg{width:18px;height:18px;color:var(--cyan-soft);flex:none;margin-top:1px}.sign-in-notice p{margin:0}.sign-in-notice strong{color:var(--text);font:700 11px/1.55 var(--font-body);overflow-wrap:anywhere}.sign-in-spinner{border:2px solid #68d8dc40;border-top-color:#68d8dce6;border-radius:50%;flex:none;width:14px;height:14px;margin-top:2px;animation:.8s linear infinite sign-in-spin}@keyframes sign-in-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.sign-in-spinner{animation-duration:2.4s}}.tool-submenu .density-selector{border:1px solid #58716a;border-radius:7px;flex-wrap:wrap;gap:4px;margin:10px 12px;padding:8px;display:flex}.density-selector legend{color:#c7d4c7;padding:0 5px;font-size:10px}.tool-submenu .density-selector button{color:#d2ddd5;background:#203738;border:1px solid #446061;border-radius:4px;flex:1;width:auto;min-height:28px;margin:0;padding:7px;font-size:11px;display:block}.tool-submenu .density-selector button[aria-pressed=true]{color:#f4dfa7;background:#4e5035;border-color:#dbc58c}.density-selector small{color:#a5bbb4;flex-basis:100%;padding:4px 0 0;font-size:9px;line-height:1.5}.inspector .density-note{color:#d2c58f;border-top:1px solid #43554e;min-height:0;padding-top:8px}.needs-tooltip li button:disabled{opacity:.6;cursor:not-allowed}.event-toasts{z-index:7;pointer-events:none;gap:6px;width:min(340px,100vw - 36px);margin:0;padding:0;list-style:none;display:grid;position:absolute;bottom:76px;left:18px}.event-toasts[hidden]{display:none}.event-toast{pointer-events:auto;animation:toast-in .24s var(--ease-out) both;background:linear-gradient(145deg,#0c1a20f5,#12252cf0);border:1px solid #92c2c84d;border-radius:10px;grid-template-columns:26px 1fr 22px;align-items:start;gap:8px;padding:9px 8px 9px 10px;display:grid;box-shadow:0 12px 30px #01090c66}.event-toast>span{width:24px;height:24px;color:var(--cyan-soft);background:#41c2c71f;border-radius:6px;place-items:center;font-weight:900;display:grid}.event-toast.severity-positive>span{color:var(--good);background:#5eb85824}.event-toast.severity-info>span{color:var(--cyan-soft)}.event-toast.severity-warning{border-color:#e5b13d73}.event-toast.severity-warning>span{color:var(--warn);background:#e5b13d24}.event-toast.severity-critical{border-color:#df684899}.event-toast.severity-critical>span{color:var(--bad);background:#df684829}.event-toast>button:first-of-type{text-align:left;cursor:pointer;background:0 0;border:0;gap:3px;min-width:0;padding:0;display:grid}.event-toast strong{font:700 12px/1.3 var(--font-display)}.event-toast small{color:#9db1b4;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:11.5px;line-height:1.4;display:-webkit-box;overflow:hidden}.toast-dismiss{color:#7d9398;cursor:pointer;background:0 0;border:0;border-radius:5px;width:22px;height:22px;font-size:15px}.toast-dismiss:hover{color:#fff;background:#ffffff12}@keyframes panel-drop{0%{opacity:0;transform:translate(-50%,-8px)}to{transform:translate(-50%)}}@keyframes panel-fade{0%{opacity:0}}@keyframes toast-in{0%{opacity:0;transform:translate(-14px)}}@media (max-width:790px){.event-toasts{bottom:70px;left:10px}button.top-stat{display:none}}@media (prefers-reduced-motion:reduce){.event-toast,.grid-alert,.map-alerts>*,.menu-art{animation:none!important}.computer-button.charter:after{animation:none}}.view-controls{z-index:5;pointer-events:none;align-items:flex-end;gap:8px;display:flex;position:absolute;bottom:18px;left:18px}.view-controls>*{pointer-events:auto}.view-controls .layer-toggle,.view-controls .overlay-legend{position:static}.overlay-toggle.active{background:linear-gradient(135deg,#124044eb,#101e22eb);border-color:#68d8dca6}.overlay-toggle.active>span{color:var(--cyan);background:#41c2c72e}.overlay-legend{border:1px solid #79aeb44d;border-radius:10px;gap:5px;min-width:190px;padding:8px 10px;display:grid}.overlay-legend small{color:#8fa1a5;letter-spacing:.1em;font-size:9px}.overlay-legend ol{grid-template-columns:repeat(10,1fr);gap:2px;margin:0;padding:0;list-style:none;display:grid}.overlay-legend li{border-radius:2px;height:9px}.overlay-legend p{color:#b9c7c9;justify-content:space-between;margin:0;font-size:9.5px;display:flex}.overlay-picker{position:relative}.overlay-menu{z-index:6;overscroll-behavior:contain;scrollbar-width:thin;border:1px solid #79aeb44d;border-radius:10px;gap:2px;width:236px;max-height:calc(100dvh - 170px);padding:6px;display:grid;position:absolute;bottom:calc(100% + 6px);left:0;overflow-y:auto}.overlay-menu button{color:#d7e4e4;text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:7px;gap:1px;padding:6px 8px;display:grid}.overlay-menu button strong{font-size:11px}.overlay-menu button small{color:#8fa1a5;font-size:9px}.overlay-menu button:hover,.overlay-menu button:focus-visible{background:#41c2c714;border-color:#68d8dc73}.overlay-menu button.active{background:#41c2c729;border-color:#68d8dca6}.overlay-legend .overlay-key{color:#b9c7c9;gap:3px;margin:0;padding:0;font-size:9.5px;list-style:none;display:grid}.overlay-legend .overlay-key li{align-items:center;gap:6px;height:auto;display:flex}.overlay-legend .overlay-key i{border-radius:2px;width:12px;height:9px}@media (max-width:720px){.view-controls{flex-wrap:wrap;max-width:calc(100vw - 20px);left:10px}.overlay-toggle small,.overlay-toggle kbd{display:none}}.view-controls .underground-legend{position:static}.underground-legend{color:#d7e4e4;border:1px solid #d4a83f66;border-radius:10px;gap:8px;width:318px;max-height:calc(100vh - 190px);padding:10px 12px;font-size:12px;line-height:1.35;display:grid;overflow-y:auto}.underground-legend header{align-items:center;gap:8px;display:flex}.underground-legend header strong{color:#f0d68c;font-size:13px}.underground-legend header small{color:#9fb0b3;flex:1;font-size:12px}.underground-legend .ul-collapse{color:#d7e4e4;font:600 12px/1.2 var(--font-body);cursor:pointer;background:#41c2c70f;border:1px solid #89b5ba59;border-radius:6px;padding:3px 9px}.underground-legend .ul-collapse:hover,.underground-legend .ul-collapse:focus-visible{border-color:#68d8dcb3}.underground-legend .ul-chips{gap:3px;display:grid}.underground-legend .ul-chip{color:#8d9da0;text-align:left;font:inherit;cursor:pointer;background:#ffffff05;border:1px solid #0000;border-left:3px solid #89b5ba40;border-radius:7px;grid-template-columns:20px 1fr auto;align-items:center;gap:8px;padding:5px 8px;display:grid}.underground-legend .ul-chip.on{color:#e6eeee;border-left-color:var(--ul-colour);background:#ffffff0d}.underground-legend .ul-chip:not(.on) svg{opacity:.4}.underground-legend .ul-chip:hover,.underground-legend .ul-chip:focus-visible{border-color:#68d8dc73;border-left-color:var(--ul-colour)}.underground-legend .ul-chip-text{min-width:0;display:grid}.underground-legend .ul-chip-text strong{font-size:12.5px}.underground-legend .ul-chip-text small{color:#a9b8ba;white-space:nowrap;text-overflow:ellipsis;font-size:12px;overflow:hidden}.underground-legend .ul-chip:not(.on) .ul-chip-text strong{-webkit-text-decoration:line-through #8d9da099;text-decoration:line-through #8d9da099}.underground-legend .ul-runs{gap:1px;display:grid}.underground-legend .ul-run{width:24px;height:10px;display:block}.underground-legend .ul-source{flex:none;width:18px;height:18px}.underground-legend .ul-mark{flex:none;width:13px;height:13px}.underground-legend .ul-body{border-top:1px solid #89b5ba2e;gap:6px;padding-top:6px;display:grid}.underground-legend .ul-runs-caption{color:#b9c7c9;gap:14px;margin:0;display:flex}.underground-legend .ul-runs-caption span{align-items:center;gap:5px;display:inline-flex}.underground-legend .ul-key{color:#c3d0d2;gap:5px;margin:0;padding:0;list-style:none;display:grid}.underground-legend .ul-key li{grid-template-columns:18px 1fr;align-items:center;gap:8px;display:grid}.underground-legend .ul-key i{justify-self:center;display:block}.underground-legend .ul-dot{border-radius:50%;width:7px;height:7px}.underground-legend .ul-street{background:linear-gradient(#53616b,#53616b) padding-box padding-box;border-radius:2px;width:18px;height:10px;box-shadow:inset 0 3px 0 -1px #f2d45f,inset 0 -3px 0 -1px #55cbe4}.underground-legend .ul-conduct{background:linear-gradient(90deg,#0000 45%,#55cbe4 45% 55%,#0000 55%);border:1px solid #c9d6d8;border-radius:2px;width:18px;height:10px}.underground-legend .ul-marks{grid-template-columns:1fr}.underground-legend .ul-marks li{grid-template-columns:13px auto;gap:5px}.underground-legend .ul-heading{color:#9fb0b3;letter-spacing:.04em;margin:2px 0 0;font-size:12px}.underground-legend .ul-tip{color:#9fb0b3;margin:0;font-size:12px}.play-area:has(.underground-legend) .hint{max-width:calc(100% - 1080px);bottom:76px}@media (max-width:1180px){.play-area:has(.underground-legend) .hint{display:none}}@media (max-width:720px){.underground-legend{width:min(318px,100vw - 20px);max-height:46vh}}.building-card-networks{background:#5fbec40d;border-radius:6px;gap:4px;margin:6px 0 0;padding:8px 10px;display:grid}.building-card-networks>small{color:#8fa1a5;letter-spacing:.1em;font-size:10px}.building-card-networks ul{gap:5px;margin:0;padding:0;list-style:none;display:grid}.building-card-networks li{grid-template-columns:8px 1fr;align-items:baseline;column-gap:7px;font-size:11.5px;line-height:1.35;display:grid}.building-card-networks i{border-radius:50%;grid-row:span 2;align-self:center;width:8px;height:8px}.building-card-networks strong{color:#dce9e7;font-weight:650}.building-card-networks span{color:#b9c7c9;grid-column:2}.first-time-tip{z-index:6;border-radius:10px;gap:6px;width:min(360px,100% - 32px);padding:12px 14px;display:grid;position:absolute;bottom:148px;left:50%;transform:translate(-50%)}.first-time-tip>small{color:#d2c58f;font:700 10px/1.2 var(--font-display);letter-spacing:.08em}.first-time-tip>strong{color:#eef4f2;font:700 14px/1.25 var(--font-display)}.first-time-tip>p{color:#c3d0d1;margin:0;font-size:12.5px;line-height:1.45}.first-time-tip>div{flex-wrap:wrap;gap:6px;margin-top:4px;display:flex}.first-time-tip button{color:#dce9e7;cursor:pointer;background:#ffffff0a;border:1px solid #94bec347;border-radius:6px;min-height:30px;padding:5px 11px;font-size:12px}.first-time-tip button.tip-action{color:#1b2623;background:#e0b94f;border-color:#0000;font-weight:700}.first-time-tip button.tip-quiet{color:#8fa2a4;background:0 0;border-color:#0000;margin-left:auto}.first-time-tip button:hover,.first-time-tip button:focus-visible{border-color:#e0b94fb3}.building-card-site,.building-card-condition{background:#ffffff06;border-radius:6px;gap:5px;padding:8px 10px;display:grid}.building-card-site>small,.building-card-condition small{color:#d2c58f;font:700 10px/1.2 var(--font-display);letter-spacing:.06em}.building-card-site p,.building-card-condition p{justify-content:space-between;align-items:baseline;gap:8px;margin:0;font-size:12px;display:flex}.building-card-site p strong{color:#eef4f2}.building-card-site p span,.building-card-site .site-queue span{color:#b9c7c9}.building-card-site .site-queue button{color:#e7dfb8;cursor:pointer;background:#e0b94f14;border:1px solid #e0b94f66;border-radius:5px;padding:3px 9px;font-size:12px}.building-card-site .site-note,.building-card-condition .site-note{color:#8fa2a4;letter-spacing:0;font-size:11.5px;font-weight:400;line-height:1.35}.site-bar,.condition-meter{background:#ffffff14;border-radius:3px;height:6px;overflow:hidden}.site-bar i,.condition-meter i{background:#4fb06d;border-radius:3px;height:100%;display:block}.site-bar i.waiting,.condition-meter i.warn{background:#e0a63a}.condition-meter i.bad{background:#d9594a}.renew-action{color:#e7dfb8;cursor:pointer;background:#e0b94f1a;border:1px solid #e0b94f66;border-radius:6px;justify-self:start;min-height:30px;padding:5px 12px;font-size:12px}.renew-action:disabled{cursor:not-allowed;color:#8d8a7c;background:#ffffff06;border-color:#94bec324}@media (max-width:720px){.first-time-tip{bottom:96px}}.queued-build-badge{color:#e7dfb8;white-space:nowrap;background:#e0b94f24;border-radius:3px;margin-left:4px;padding:0 4px;font-size:10px;display:inline-block}.group-key-hint{color:#8fa2a4;font-size:9px;position:absolute;top:3px;right:4px}.build-menu[data-tour-open] .tool-submenu{opacity:1;visibility:visible;transition-delay:0s;transform:translate(0)}
