:root{--charcoal:#261f20;--charcoal-2:#322a2b;--charcoal-3:#3e3435;--red:#bb1c2b;--pine-deep:#24452b;--pine-mid:#305630;--turquoise:#5f9692;--mountain:#455870;--mist:#afc2ce;--timber:#8e6b4d;--offwhite:#f3efe8;--green:#079447;--amber:#c98a2d;--panel-bg:#261f20eb;--panel-border:#f3efe824;--scrollbar-track:#191516;--scrollbar-thumb:#455870;--scrollbar-thumb-active:var(--turquoise);--radius:10px;--target:44px;--safe-top:env(safe-area-inset-top,0px);--safe-bottom:env(safe-area-inset-bottom,0px);--safe-left:env(safe-area-inset-left,0px);--safe-right:env(safe-area-inset-right,0px);--control-rest:linear-gradient(180deg, #383a37, #292b29);--control-selected:linear-gradient(180deg, #d9433c, #b5252b);--control-positive:linear-gradient(180deg, #397a4d, #285f3b);--control-destructive:linear-gradient(180deg, #842f2d, #622423);--control-locked:linear-gradient(180deg, #30322f, #282a28);--control-focus:#dff5ff;--control-transition:.12s ease}html[data-ui-text-scale="125"]{--ui-heading:27.5px;--ui-body:16.25px;--ui-secondary:15px;--ui-compact:13.75px}html[data-ui-text-scale="125"] .dock-label,html[data-ui-text-scale="125"] .stat-copy strong,html[data-ui-text-scale="125"] #campaign-objective strong{font-size:15px}*{box-sizing:border-box}[hidden]{display:none!important}html,body{background:var(--charcoal);width:100%;height:100%;color:var(--offwhite);touch-action:none;overscroll-behavior:none;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;margin:0;padding:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;font-size:15px;overflow:hidden}#app{position:fixed;inset:0}#scene-host{position:absolute;inset:0}#scene-host canvas{touch-action:none;width:100%;height:100%;display:block}.panel{background:var(--panel-bg);border:1px solid var(--panel-border);border-radius:var(--radius);-webkit-backdrop-filter:blur(6px)}button{font:inherit;color:var(--offwhite);background:var(--control-rest);min-height:var(--target);min-width:var(--target);cursor:pointer;touch-action:manipulation;transition:transform var(--control-transition), filter var(--control-transition), border-color var(--control-transition), box-shadow var(--control-transition), background-color var(--control-transition);border:1px solid #555a55;border-radius:8px;justify-content:center;align-items:center;gap:6px;padding:6px 12px;display:inline-flex;box-shadow:inset 0 1px #ffffff0f,0 2px 5px #00000038}button:focus-visible{outline:3px solid var(--control-focus);outline-offset:2px}button[aria-pressed=true],button.active{background:var(--control-selected);color:#fff;border-color:#ef655d}button:disabled{opacity:.42;cursor:not-allowed;filter:saturate(.45);box-shadow:none}button.secondary{background:0 0}button.good,.ui-control.tone-positive{background:var(--control-positive);border-color:#669773}.ui-control.tone-destructive{background:var(--control-destructive);border-color:#a64d48}.ui-control.tone-locked:not(:disabled){background:var(--control-locked);color:#bec4be;border-color:#555a55}.ui-control.tone-warning{background:var(--control-rest)}.ui-control.control-icon{padding:0}.ui-control.control-action-row,.ui-control.control-destination{text-align:left;justify-content:flex-start}.ui-control.control-text-link{box-shadow:none;color:#e8c27d;background:0 0;border-color:#0000;font-weight:800}.button-label{min-width:0}.ui-icon{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;flex:none;width:24px;height:24px}.warning-evidence,.icon-heading{align-items:center;gap:8px;display:flex}.warning-evidence .ui-icon,.icon-heading .ui-icon{flex:0 0 20px;width:20px;height:20px}.nav-chevron{color:#c8cec8;flex:none;place-items:center;width:22px;height:22px;margin-left:auto;display:grid}.nav-chevron .ui-icon{width:17px;height:17px}button:not(:disabled):active,button.is-pressed{filter:brightness(.8)saturate(1.08);transition-duration:70ms;transform:translateY(1px)scale(.975);box-shadow:inset 0 3px 8px #0000007a,0 1px 2px #0000003d}@media (hover:hover) and (pointer:fine){button:not(:disabled):hover{filter:brightness(1.16)saturate(1.06);border-color:#b6beb5;transform:translateY(-2px)scale(1.012);box-shadow:inset 0 1px #ffffff21,0 8px 18px #00000057}button.active:not(:disabled):hover,button[aria-pressed=true]:not(:disabled):hover{filter:brightness(1.2)saturate(1.08);border-color:#ff9b8f}button.good:not(:disabled):hover,button.tone-positive:not(:disabled):hover{border-color:#9bd0a6}button.tone-destructive:not(:disabled):hover{border-color:#ec8b80}button.control-text-link:not(:disabled):hover{color:#ffe09a;box-shadow:none;background:#ffffff14;border-radius:7px;transform:translateY(-1px)}}select,input[type=text]{font:inherit;color:var(--offwhite);background:var(--charcoal-2);border:1px solid var(--panel-border);min-height:var(--target);touch-action:manipulation;border-radius:8px;padding:6px 10px}h2,h3{letter-spacing:.02em;margin:0 0 8px;font-size:15px}h2{font-size:16px}.muted{color:var(--mist);opacity:.85;font-size:13px}.badge{border:1px solid var(--panel-border);white-space:nowrap;border-radius:999px;align-items:center;gap:4px;padding:2px 8px;font-size:12px;display:inline-flex}.badge.ok{border-color:var(--green)}.badge.warn{border-color:var(--amber)}.badge.bad{border-color:var(--red)}#hud{top:calc(8px + var(--safe-top));left:calc(8px + var(--safe-left));right:calc(8px + var(--safe-right));z-index:20;border-radius:14px;grid-template-columns:minmax(0,1fr);gap:8px;padding:7px 9px;display:grid;position:absolute;box-shadow:0 10px 28px #120e0f33}.hud-metrics{overscroll-behavior-x:contain;scroll-snap-type:x proximity;scrollbar-width:none;touch-action:pan-x;flex-wrap:nowrap;flex:1;align-items:center;gap:5px;width:100%;min-width:0;display:flex;overflow-x:auto}.hud-metrics::-webkit-scrollbar{display:none}.metric-chip{border:1px solid var(--panel-border);white-space:nowrap;box-sizing:border-box;scroll-snap-align:start;cursor:help;background:#ffffff0b;border-radius:999px;flex:none;justify-content:center;align-items:center;gap:6px;min-width:88px;max-width:178px;min-height:34px;padding:4px 9px;font-size:13px;display:inline-flex;overflow:hidden}.metric-chip[data-metric=treasury],.metric-chip[data-metric=population],.metric-chip[data-metric=visitors],.metric-chip[data-metric=date]{min-width:128px}.metric-chip:first-child{background:#5f969221;border-color:#5f96924d}.metric-chip .metric-icon{font-size:14px;line-height:1}.metric-chip .metric-value{font-variant-numeric:tabular-nums;text-overflow:ellipsis;font-weight:600;overflow:hidden}.metric-chip.alert{border-color:var(--red);background:#c41c2e3d}.metric-chip.warning{background:#c98a2d17;border-color:#c98a2d}.hud-controls{justify-content:space-between;align-items:center;gap:8px;width:100%;display:flex}#speed-controls{background:#0000002e;border-radius:10px;gap:4px;padding:3px;display:flex}#speed-controls button{min-width:44px}#hud-buttons{background:#0000002e;border-radius:10px;gap:4px;min-width:0;padding:3px;display:flex}.hud-primary-actions,.hud-secondary-actions{gap:4px;display:flex}.hud-action,.hud-more-button{white-space:nowrap;flex:none}.hud-button-icon{text-align:center;min-width:1.2em}.hud-more-button{display:none}.hud-tooltip{z-index:120;color:var(--offwhite);pointer-events:none;background:#191516f7;border:1px solid #f3efe83d;border-radius:8px;padding:7px 10px;font-size:12px;line-height:1.35;position:fixed;box-shadow:0 8px 24px #00000057}.hud-tooltip.touch-detail{border-color:#afc2ce7a;font-size:13px}.side-panel{top:calc(112px + var(--safe-top));bottom:calc(60px + var(--safe-bottom));z-index:15;flex-direction:column;gap:12px;width:min(300px,86vw);padding:12px;display:flex;position:absolute;overflow:hidden}.panel-scroll-body{overscroll-behavior:contain;scrollbar-gutter:stable;scrollbar-width:thin;scrollbar-color:var(--scrollbar-thumb) var(--scrollbar-track);touch-action:pan-y;min-width:0;min-height:0;overflow:hidden auto}.panel-scroll-body::-webkit-scrollbar{background-color:var(--scrollbar-track);width:9px;height:9px}.dispatch-list::-webkit-scrollbar{background-color:var(--scrollbar-track);width:9px;height:9px}#debug-overlay::-webkit-scrollbar{background-color:var(--scrollbar-track);width:9px;height:9px}.panel-scroll-body::-webkit-scrollbar-track{background:var(--scrollbar-track);border-radius:999px}.dispatch-list::-webkit-scrollbar-track{background:var(--scrollbar-track);border-radius:999px}#debug-overlay::-webkit-scrollbar-track{background:var(--scrollbar-track);border-radius:999px}.panel-scroll-body::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);background-clip:padding-box;border:2px solid #0000;border-radius:999px}.dispatch-list::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);background-clip:padding-box;border:2px solid #0000;border-radius:999px}#debug-overlay::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);background-clip:padding-box;border:2px solid #0000;border-radius:999px}.panel-scroll-body::-webkit-scrollbar-thumb:hover{background-color:var(--scrollbar-thumb-active)}.dispatch-list::-webkit-scrollbar-thumb:hover{background-color:var(--scrollbar-thumb-active)}#debug-overlay::-webkit-scrollbar-thumb:hover{background-color:var(--scrollbar-thumb-active)}.panel-scroll-body::-webkit-scrollbar-corner{background:var(--scrollbar-track)}.dispatch-list::-webkit-scrollbar-corner{background:var(--scrollbar-track)}#debug-overlay::-webkit-scrollbar-corner{background:var(--scrollbar-track)}.inspector-selection,.inspector-advisers{display:contents}.inspector-content{flex-direction:column;flex:1;gap:10px;width:100%;min-height:0;display:flex}.inspector-content[hidden]{display:none}.inspector-panel-header button{width:44px;min-width:44px;height:44px;min-height:44px;padding:0}#side-panel.collapsed{height:70px;max-height:70px;overflow:hidden}#build-panel{left:calc(8px + var(--safe-left));width:min(360px,92vw)}#side-panel{right:calc(8px + var(--safe-right))}.panel[hidden]{display:none!important}.panel-header{background:0 0;flex:none;justify-content:space-between;align-items:center;gap:8px;min-height:44px;padding:0;display:flex}.panel-header h2{overflow-wrap:anywhere;min-width:0;margin:0}.panel-header button{flex:none;width:44px;min-width:44px;height:44px;min-height:44px;padding:0}.build-panel-body{flex:1;width:100%}.tool-grid{grid-template-columns:1fr 1fr;gap:8px;width:100%;min-width:0;display:grid}#build-panel .tool-grid{grid-template-columns:1fr;gap:6px}.tool-card{min-height:var(--target);text-align:left;flex-direction:column;align-items:stretch;gap:4px;width:100%;min-width:0;max-width:100%;padding:8px;display:flex}#build-panel .tool-card{border-left:3px solid #0000;grid-template-columns:minmax(110px,.8fr) minmax(0,1.2fr);align-items:center;gap:10px;min-height:58px;display:grid}#build-panel .tool-card.active{border-left-color:var(--offwhite)}.tool-card .tool-name{overflow-wrap:anywhere;min-width:0;font-weight:600}.tool-card .tool-cost{color:var(--mist);overflow-wrap:anywhere;min-width:0;font-size:12px}#build-panel .tool-cost{line-height:1.3}.section-title{text-transform:uppercase;letter-spacing:.08em;color:var(--mist);margin:8px 0 4px;font-size:13px}#placement-bar{bottom:calc(58px + var(--safe-bottom));z-index:25;align-items:center;gap:8px;max-width:92vw;padding:8px;display:flex;position:absolute;left:50%;transform:translate(-50%)}#placement-status{max-width:46vw;padding:0 8px;font-size:13px}#placement-status.invalid{color:#ffb4ab}#placement-status.warning{color:#ffd58a}#dispatch-panel{bottom:calc(8px + var(--safe-bottom));left:auto;right:calc(8px + var(--safe-right));z-index:18;-webkit-backdrop-filter:none;background:#261f20f7;border-radius:12px;flex-direction:column;width:min(420px,100vw - 16px);max-height:min(300px,46vh);padding:6px;display:flex;position:absolute;overflow:hidden;box-shadow:0 10px 30px #120e0f47}#dispatch-panel.collapsed{width:min(238px,100vw - 16px);height:48px;padding:4px 4px 4px 12px}.dispatch-header{flex:none;justify-content:space-between;align-items:center;gap:8px;min-height:40px;display:flex}.dispatch-title{align-items:center;gap:8px;min-width:0;display:flex}.dispatch-title h2{white-space:nowrap;margin:0;font-size:14px}.dispatch-icon{font-size:16px}.dispatch-count{background:var(--red);color:#fff;font-variant-numeric:tabular-nums;border-radius:999px;justify-content:center;align-items:center;min-width:22px;height:22px;padding:0 6px;font-size:11px;display:inline-flex}.dispatch-count.empty{background:var(--charcoal-3);color:var(--mist)}.dispatch-toggle{border-radius:9px;width:44px;min-width:44px;height:44px;min-height:44px;padding:0}#dispatch-panel.collapsed .dispatch-list,#dispatch-panel.collapsed .dispatch-filters{display:none}.dispatch-list{border-top:1px solid var(--panel-border);overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--scrollbar-thumb) var(--scrollbar-track);touch-action:pan-y;flex-direction:column;gap:0;min-height:0;padding:4px 2px 2px;display:flex;overflow-y:auto}.receipt-row{text-align:left;background:0 0;border:1px solid #0000;border-radius:7px;grid-template-columns:14px 118px minmax(0,1fr);align-items:center;gap:6px;width:100%;min-height:34px;padding:5px 6px;display:grid}.receipt-severity{text-align:center;color:var(--mist);font-size:10px}.receipt-row:hover,.receipt-row:focus-visible{background:var(--charcoal-2);border-color:var(--panel-border)}.receipt-time{color:var(--mist);white-space:nowrap;font-variant-numeric:tabular-nums;font-size:12px}.receipt-title{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:13px;overflow:hidden}.receipt-row.sev-warning .receipt-title{color:#ffd58a}.receipt-row.sev-critical .receipt-title{color:#ffb4ab}.receipt-row.sev-success .receipt-title{color:#9fd8ae}.inspector-card,.adviser-card{background:var(--charcoal-2);border:1px solid var(--panel-border);border-radius:8px;flex-direction:column;gap:8px;padding:10px;display:flex}.kv{justify-content:space-between;gap:8px;font-size:13px;display:flex}.kv .k{color:var(--mist)}.kv .v{font-variant-numeric:tabular-nums;text-align:right}.adviser-head{align-items:center;gap:8px;display:flex}.adviser-portrait{background:var(--pine-deep);border:2px solid var(--panel-border);border-radius:50%;flex:none;justify-content:center;align-items:center;width:40px;height:40px;font-weight:700;display:flex}img.adviser-portrait{object-fit:cover;display:block}.adviser-body{font-size:14px;line-height:1.35}.evidence-list{color:var(--mist);flex-direction:column;gap:2px;font-size:12px;display:flex}.evidence-list .kv .v{color:var(--offwhite)}.row-actions{flex-wrap:wrap;gap:6px;display:flex}.segmented{gap:4px;min-width:0;display:flex}.segmented button{white-space:normal;overflow-wrap:anywhere;flex:1;min-width:0;font-size:13px}.segmented button.recommended:not(.active){color:#bce4bd;border-color:#8fbd91;box-shadow:inset 0 0 0 1px #8fbd9147}#toast-region{top:calc(112px + var(--safe-top));z-index:60;pointer-events:none;flex-direction:column;align-items:center;gap:6px;width:min(560px,92vw);display:flex;position:absolute;left:50%;transform:translate(-50%)}.toast{background:var(--panel-bg);border:1px solid var(--panel-border);border-left:4px solid var(--turquoise);border-radius:8px;max-width:100%;padding:8px 12px;font-size:14px}.toast.error{border-left-color:var(--red)}.toast.success{border-left-color:var(--green)}.update-banner{top:calc(112px + var(--safe-top));z-index:45;align-items:center;gap:8px;width:min(620px,94vw);padding:8px 10px;display:flex;position:absolute;left:50%;transform:translate(-50%);box-shadow:0 12px 30px #120e0f59}.update-banner span{flex:1}#modal-root{z-index:50;position:absolute;inset:0}#modal-root[hidden]{display:none}.modal-backdrop{background:#14101199;position:absolute;inset:0}.modal{flex-direction:column;width:min(600px,94vw);min-width:0;max-height:86vh;padding:0;display:flex;position:absolute;top:50%;left:50%;overflow:hidden;transform:translate(-50%,-50%)}.modal-header{background:var(--panel-bg);border-bottom:1px solid var(--panel-border);flex:none;justify-content:space-between;align-items:center;gap:8px;min-height:68px;padding:12px 12px 12px 16px;display:flex}.modal-header h2{overflow-wrap:anywhere;min-width:0;margin:0}.modal-x{flex:none;width:44px;min-width:44px;height:44px;min-height:44px;padding:0;font-size:24px;line-height:1}.modal-content{flex:1;min-width:0;min-height:0;padding:16px}.modal-content>*{min-width:0;max-width:100%}.modal-content p,.modal-content button{overflow-wrap:anywhere}.modal-content button{white-space:normal;max-width:100%}.modal-content .badge{white-space:normal;overflow-wrap:anywhere;border-radius:8px;width:100%;line-height:1.4;display:flex}.modal .modal-close-row{justify-content:flex-end;margin-top:12px;display:flex}kbd{background:var(--charcoal-3);border:1px solid var(--panel-border);border-bottom-width:2px;border-radius:5px;padding:1px 6px;font-family:inherit;font-size:12px}.shortcut-table{border-collapse:collapse;width:100%;font-size:14px}.shortcut-table td{border-bottom:1px solid var(--panel-border);vertical-align:top;padding:5px 4px}.boot-screen{z-index:75;text-align:center;background:radial-gradient(120% 90% at 50% 10%, #4558708c, transparent 60%), var(--charcoal);flex-direction:column;justify-content:center;align-items:center;gap:14px;padding:24px;display:flex;position:absolute;inset:0}.boot-screen img.brand-logo{width:min(240px,58vw);height:auto}.boot-screen h1,.boot-screen p{margin:0}.boot-spinner{border:3px solid #f3efe833;border-top-color:var(--turquoise);border-radius:50%;width:30px;height:30px;animation:.9s linear infinite boot-spin}@keyframes boot-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.boot-spinner{border-top-color:var(--offwhite);animation:none}}#hud{grid-template-columns:minmax(0,1fr) auto;align-items:center;width:min(900px,100vw - 340px);min-height:54px;right:auto}#hud-controls{width:auto}.metric-chip{cursor:pointer;border-radius:9px;max-width:none}.metric-chip .metric-label{display:none}#root-nav{z-index:21;left:calc(8px + var(--safe-left));top:calc(72px + var(--safe-top));padding:5px;position:absolute}#root-nav #hud-buttons{background:0 0;flex-direction:column;padding:0;display:flex}#root-nav .hud-action{flex-direction:column;gap:2px;width:78px;min-height:52px;padding:5px}#root-nav .hud-button-label{font-size:11px}#camera-controls{z-index:18;right:calc(8px + var(--safe-right));top:calc(8px + var(--safe-top));gap:4px;padding:5px;display:flex;position:absolute}#camera-controls button{padding:0}#build-panel{left:calc(96px + var(--safe-left));top:calc(72px + var(--safe-top));bottom:calc(10px + var(--safe-bottom));width:min(620px,100vw - 430px)}#lens-panel{z-index:19;left:calc(96px + var(--safe-left));top:calc(72px + var(--safe-top));width:min(360px,100vw - 112px);padding:12px;position:absolute}.build-browser-body{flex:1;grid-template-columns:minmax(220px,.9fr) minmax(240px,1.1fr);gap:10px;min-height:0;display:grid}.build-catalog{padding-right:3px}.build-detail{touch-action:pan-y;background:#0000002b;border-radius:9px;padding:12px;overflow-y:auto}.build-row{text-align:left;grid-template-columns:minmax(0,1fr) auto;justify-content:stretch;width:100%;min-height:48px;margin-bottom:5px;display:grid}.build-row-name{overflow-wrap:anywhere}.build-row-cost{color:var(--mist);text-align:right;font-size:12px}.build-categories,.build-filters,.build-sections{flex-wrap:wrap;margin-bottom:8px}.construction-strip{gap:5px;margin:8px 0;display:grid}.construction-resource{border:1px solid var(--panel-border);border-radius:7px;padding:6px 8px}.detail-costs{flex-wrap:wrap;gap:5px;display:flex}.lens-controls{grid-template-columns:1fr 1fr;display:grid}.lens-legend{margin-top:8px}.lens-key{border-bottom:1px solid var(--panel-border);min-height:34px;padding:7px}.valley-modal .modal-card{width:min(900px,92vw)}.valley-tabs{z-index:2;background:var(--charcoal);grid-template-columns:repeat(4,1fr);gap:5px;padding-bottom:7px;display:grid;position:sticky;top:0}.overview-grid{grid-template-columns:1fr 1fr;gap:8px;display:grid}.summary-card,.project-row,.training-option{border:1px solid var(--panel-border);border-radius:8px;margin:6px 0;padding:10px}.summary-card p{margin-bottom:0}.summary-card.warning,.training-option.unavailable{border-color:var(--amber)}.training-option{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:6px;display:grid}.resource-ledger{background:#5f96921a;border-radius:8px;padding:10px}.policy-row{align-items:center;margin:5px 0}.metric-chip[data-metric=people]{min-width:300px;max-width:none}.metric-chip[data-metric=freight]{min-width:210px;max-width:none}.metric-chip[data-metric=people] .metric-value{align-items:center;gap:8px;display:inline-flex;overflow:visible}.capacity-value+.capacity-value:before{content:"·";color:var(--muted);margin-right:8px}.capacity-value.bottleneck,.population-capacity .bottleneck{color:#ff6f7d;font-weight:800}.capacity-value.bottleneck:after,.population-capacity .bottleneck:after{content:" ⚠"}.population-capacity{font-variant-numeric:tabular-nums;background:#5f96921a;border-radius:8px;flex-wrap:wrap;gap:8px 14px;margin:8px 0;padding:9px 10px;font-weight:700;display:flex}.freight-summary,.freight-upgrade{border:1px solid var(--panel-border);background:#5f969214;border-radius:8px;margin:8px 0;padding:11px}.freight-summary.warning{border-color:var(--amber);background:#c98a2d17}.freight-summary p,.freight-upgrade p{margin:6px 0 0}.freight-consumer{border-bottom:1px solid var(--panel-border);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;padding:9px 0;display:grid}.freight-consumer .row-actions{flex-wrap:nowrap;margin:0}.inspector-disclosure{border-top:1px solid var(--panel-border);margin-top:8px}.inspector-disclosure>summary{cursor:pointer;align-items:center;min-height:44px;font-weight:650;display:flex}.inspector-disclosure>button{width:100%;margin:3px 0}.building-purpose{color:var(--mist);margin:5px 0}.common-actions{margin-top:8px}.settings-rules{grid-template-columns:1fr 1fr;gap:5px;display:grid}input[type=range]{touch-action:manipulation;width:100%;min-height:44px}@media (max-width:1100px){#hud{width:calc(100vw - 16px)}#camera-controls{top:calc(70px + var(--safe-top))}#root-nav{top:auto;bottom:var(--safe-bottom);left:var(--safe-left);right:var(--safe-right);border-radius:14px 14px 0 0;padding:4px 6px;position:fixed}#root-nav #hud-buttons{grid-template-columns:repeat(5,1fr);width:100%;display:grid}#root-nav .hud-action{width:auto;min-width:0;min-height:54px}#build-panel,#side-panel{top:auto;left:50%;right:auto;bottom:calc(64px + var(--safe-bottom));border-radius:14px 14px 0 0;width:min(720px,96vw);max-height:min(72vh,650px);transform:translate(-50%)}#lens-panel{top:auto;left:50%;bottom:calc(64px + var(--safe-bottom));width:min(520px,96vw);transform:translate(-50%)}#dispatch-panel{bottom:calc(68px + var(--safe-bottom))}#dispatch-panel.collapsed{display:none}#placement-bar{bottom:calc(72px + var(--safe-bottom))}}@media (max-width:600px){#hud{min-height:48px;padding:5px}.metric-chip{min-width:auto;min-height:44px;padding:4px 7px}.metric-chip .metric-icon{display:none}#speed-controls button{min-width:36px;min-height:36px}#camera-controls{display:none}.build-browser-body{grid-template-columns:1fr}.build-detail{max-height:29vh}.valley-tabs{grid-template-columns:1fr 1fr}.overview-grid,.training-option{grid-template-columns:1fr}}@media (max-width:900px) and (orientation:landscape){#hud{height:48px;min-height:48px;padding:2px 5px}#root-nav .hud-action{flex-direction:row;min-height:48px}#build-panel,#side-panel{max-height:calc(100dvh - 112px)}.build-detail{max-height:none}}:root{--ui-panel:#1d1d1cf5;--ui-panel-soft:#2b2a28f2;--ui-line:#abb0a759;--ui-muted:#b9c1ba;--ui-amber:#e3af55;--ui-footer-h:84px;--ui-dock-h:66px;--ui-heading:clamp(20px, 1.5vw, 23px);--ui-body:13px;--ui-secondary:12px;--ui-compact:11px}html,body,#app,#scene-host,#scene-host canvas{max-width:100%;overflow-x:clip}#hud{z-index:30;top:calc(10px + var(--safe-top));right:calc(10px + var(--safe-right));left:calc(10px + var(--safe-left));min-height:52px;box-shadow:none;pointer-events:none;background:0 0;border:0;justify-content:center;align-items:center;padding:0;display:flex;position:absolute}#time-weather{max-width:min(360px,34vw);min-height:50px;color:var(--offwhite);background:var(--ui-panel);pointer-events:auto;text-align:left;justify-content:flex-start;align-items:center;gap:8px;padding:7px 12px;font-size:13px;font-weight:750;display:flex;position:absolute;left:0;box-shadow:0 8px 24px #00000040}.time-short{display:none}.weather-icon{font-size:22px}#speed-controls{background:var(--ui-panel);pointer-events:auto;gap:5px;padding:5px;display:flex;box-shadow:0 8px 24px #00000040}#speed-controls .speed-button{width:52px;min-width:52px;min-height:44px;padding:4px;font-size:13px}#info-ribbon{z-index:28;right:calc(8px + var(--safe-right));bottom:calc(8px + var(--safe-bottom));left:calc(8px + var(--safe-left));min-height:var(--ui-footer-h);background:var(--ui-panel);border-radius:13px;grid-template-columns:minmax(520px,1.4fr) minmax(370px,1fr) auto;gap:7px;padding:7px;display:grid;position:absolute;box-shadow:0 -8px 32px #0000004d}#info-ribbon .hud-metrics{grid-template-columns:repeat(5,minmax(92px,1fr));gap:5px;min-width:0;display:grid;overflow:visible}.stat-button{text-align:left;background:#292825;grid-template-columns:27px minmax(0,1fr);align-items:center;gap:6px;min-width:0;min-height:66px;padding:6px 8px;display:grid}.stat-icon{color:var(--ui-amber);text-align:center;font-size:23px}.stat-copy{min-width:0}.stat-copy strong,.stat-copy span{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.stat-copy strong{font-size:13px}.stat-copy span{color:var(--ui-muted);margin-top:3px;font-size:10px}#ribbon-context{grid-template-columns:minmax(170px,1fr) minmax(190px,1fr);gap:6px;min-width:0;display:grid}#campaign-objective,#adviser-ticker{text-align:left;background:#302b22;min-width:0;min-height:66px;padding:7px 9px}#campaign-objective{border-color:#8c7548;flex-direction:column;justify-content:center;align-items:flex-start;display:flex}#campaign-objective small,#campaign-objective strong,#campaign-objective span{overflow-wrap:anywhere;width:100%;display:block}#campaign-objective small{color:var(--ui-amber);text-transform:uppercase;font-size:9px;font-weight:850}#campaign-objective strong{margin-top:1px;font-size:13px;line-height:1.15}#campaign-objective span{color:var(--ui-muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-top:2px;font-size:10px;line-height:1.2;display:-webkit-box;overflow:hidden}#adviser-ticker{background:#272624;grid-template-columns:36px minmax(0,1fr) auto;align-items:center;gap:7px;display:grid}.ticker-medallion{background:#4c392c;border:2px solid #8d735d;border-radius:50%;place-items:center;width:34px;height:34px;display:grid}.ticker-copy{min-width:0}.ticker-copy strong,.ticker-copy span{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.ticker-copy strong{color:#f08a7c;font-size:10px}.ticker-copy span{color:var(--ui-muted);margin-top:3px;font-size:10px}.ticker-count{background:var(--red);border-radius:50%;place-items:center;width:24px;height:24px;font-size:10px;font-weight:850;display:grid}#ribbon-destinations{grid-template-columns:repeat(3,minmax(72px,1fr));gap:5px;display:grid}.ribbon-destination{min-width:72px;min-height:66px;padding:6px;font-size:12px}#root-nav{z-index:29;bottom:calc(var(--ui-footer-h) + 20px + var(--safe-bottom));left:calc(14px + var(--safe-left));background:var(--ui-panel);border-radius:12px;width:auto;padding:5px;position:absolute}#root-nav #hud-buttons{gap:5px;display:flex}.dock-action{flex-direction:column;min-width:72px;min-height:58px;padding:5px 8px}.dock-icon{font-size:22px;line-height:1}.dock-label{font-size:12px;font-weight:750}#camera-controls{z-index:31;top:calc(70px + var(--safe-top));right:calc(10px + var(--safe-right));padding:5px}#build-panel,#lens-panel{z-index:27;top:auto;bottom:calc(var(--ui-footer-h) + var(--ui-dock-h) + 29px + var(--safe-bottom));left:calc(18px + var(--safe-left));width:min(620px,100vw - 36px);max-height:min(500px, calc(100dvh - var(--ui-footer-h) - var(--ui-dock-h) - 110px));background:var(--ui-panel);border-radius:14px;overflow:auto;box-shadow:0 15px 44px #0000006b}#side-panel,#dispatch-panel{z-index:27;right:calc(10px + var(--safe-right));bottom:calc(var(--ui-footer-h) + 16px + var(--safe-bottom));width:min(460px,100vw - 20px);max-height:calc(100dvh - var(--ui-footer-h) - 32px - var(--safe-top));background:var(--ui-panel);border-radius:15px 15px 0 0}#mobile-more{z-index:42;right:8px;bottom:calc(var(--ui-footer-h) + 12px + var(--safe-bottom));padding:10px;position:absolute;left:8px}.more-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;display:grid}.more-grid button{min-height:54px}#placement-bar{z-index:44;bottom:calc(var(--ui-footer-h) + 17px + var(--safe-bottom));width:auto;max-width:calc(100vw - 24px);left:50%;transform:translate(-50%)}#modal-root .modal.shared-drawer-modal{top:auto;right:calc(10px + var(--safe-right));bottom:calc(var(--ui-footer-h) + 8px + var(--safe-bottom));width:min(470px,100vw - 20px);max-width:none;height:auto;max-height:calc(100dvh - var(--ui-footer-h) - 28px - var(--safe-top));border-bottom:0;border-radius:15px 15px 0 0;margin:0;position:fixed;left:auto;transform:none}#modal-root:has(.shared-drawer-modal) .modal-backdrop{-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0}.shared-drawer-modal .modal-header{padding:14px 15px 11px}.shared-drawer-modal .modal-header h2{font-size:var(--ui-heading)}.shared-drawer-modal .modal-content{font-size:var(--ui-body)}.shared-drawer-modal .modal-content p{font-size:var(--ui-body);line-height:1.42}.shared-drawer-modal .valley-tabs{grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;display:grid}.shared-drawer-modal .valley-tabs button{min-width:0}.objective-card{background:#332c21;border:1px solid #8c7548;border-radius:11px;margin-bottom:12px;padding:13px}.objective-card.ready{background:#253b2a;border-color:#5f9b6c}.objective-card.emergency{background:#562824;border-color:#c85e52}.objective-card h3{margin:4px 0 5px;font-size:18px}.objective-card p{margin:0 0 10px}.progression-kind{color:var(--ui-amber);font-size:var(--ui-compact);letter-spacing:.08em;text-transform:uppercase;font-weight:850}.text-link{color:#e8c27d;background:0 0;border:0;min-height:44px;font-weight:800}.link-card{border:1px solid var(--ui-line);background:#292825;border-radius:9px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;margin-bottom:7px;padding:9px;display:grid}.link-card strong,.link-card span{overflow-wrap:anywhere;display:block}.link-card span{color:var(--ui-muted);font-size:var(--ui-secondary);margin-top:3px}.journey-card,.chronicle-entry{border:1px solid var(--ui-line);background:#292825;border-radius:10px;margin-bottom:9px;padding:10px}.journey-card.future{opacity:.72}.journey-card header{justify-content:space-between;align-items:center;gap:12px;min-height:44px;font-weight:800;display:flex}.requirement-row{border-top:1px solid var(--ui-line);grid-template-columns:26px minmax(0,1fr) 44px;align-items:center;gap:8px;min-height:62px;padding:7px 0;display:grid}.requirement-row strong,.requirement-row span,.requirement-row small{overflow-wrap:anywhere;display:block}.requirement-row small{color:var(--ui-muted);font-size:var(--ui-compact);margin-top:2px}.requirement-state{background:#91453d;border-radius:50%;place-items:center;width:25px;height:25px;font-weight:900;display:grid}.requirement-row.passed .requirement-state{background:#3f7650}.review-action{width:100%}.review-explanation{color:var(--ui-muted);font-size:var(--ui-secondary)}.metric-row{border:1px solid var(--ui-line);background:#292825;border-radius:8px;justify-content:space-between;margin-bottom:5px;padding:9px 10px;display:flex}.chronicle-entry h3{text-transform:capitalize;margin:4px 0;font-size:15px}.chronicle-entry p{color:var(--ui-muted);margin:0}@media (max-width:1100px){#info-ribbon{grid-template-columns:minmax(430px,1.25fr) minmax(310px,1fr)}#ribbon-destinations,.dock-action[data-action=camera]{display:none}.dock-action[data-action=more]{display:inline-flex}}@media (max-width:600px),(max-width:900px) and (max-height:600px){:root{--ui-footer-h:164px;--ui-dock-h:58px}#hud{top:calc(7px + var(--safe-top));min-height:50px;left:7px;right:7px}#time-weather{width:82px;min-width:82px;max-width:82px;min-height:48px;padding:5px 6px;font-size:10px;line-height:1.15;left:0}#time-weather .weather-icon{font-size:16px}.time-long{display:none}.time-short{display:inline}#speed-controls{gap:3px;padding:3px}#speed-controls .speed-button{width:44px;min-width:44px;min-height:44px;font-size:11px}#info-ribbon{min-height:var(--ui-footer-h);padding:5px calc(5px + var(--safe-right)) calc(12px + var(--safe-bottom)) calc(5px + var(--safe-left));border-bottom:0;border-left:0;border-right:0;border-radius:0;display:block;bottom:0;left:0;right:0}#ribbon-context{grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr);height:50px;position:absolute;top:5px;left:5px;right:5px}#campaign-objective,#adviser-ticker{min-height:50px;max-height:50px;padding:5px 7px}#campaign-objective small,#campaign-objective span{display:none}#campaign-objective strong{font-size:12px}.ticker-medallion{width:32px;height:32px}#info-ribbon .hud-metrics{right:5px;bottom:calc(8px + var(--safe-bottom));grid-template-columns:repeat(5,minmax(0,1fr));gap:4px;width:auto;display:grid;position:absolute;left:5px}.stat-button{text-align:center;grid-template-columns:1fr;min-height:48px;padding:3px 2px}.stat-icon{display:none}.stat-copy strong{font-size:10px}.stat-copy span{display:none}#root-nav{right:0;bottom:calc(52px + var(--safe-bottom));background:0 0;border:0;border-radius:0;width:100%;padding:3px 4px;left:0}#root-nav #hud-buttons{grid-template-columns:repeat(5,minmax(0,1fr));gap:4px;width:100%;display:grid}.dock-action{min-width:0;min-height:54px;padding:4px 2px}.dock-action[data-action=camera]{display:none}.dock-action[data-action=more]{display:inline-flex}.dock-icon{font-size:20px}.dock-label{font-size:11px}#build-panel,#lens-panel,#side-panel,#dispatch-panel{top:auto;right:4px;bottom:calc(var(--ui-footer-h) + 4px);width:auto;max-width:none;max-height:calc(100dvh - var(--ui-footer-h) - 66px - var(--safe-top));border-radius:14px 14px 0 0;left:4px}#mobile-more{right:4px;bottom:calc(var(--ui-footer-h) + 4px);left:4px}#placement-bar{bottom:calc(var(--ui-footer-h) + 8px);grid-template-columns:repeat(3,minmax(0,1fr));width:calc(100vw - 16px);padding:6px;display:grid}#placement-status{grid-area:1/1/auto/-1;min-width:0;max-height:40px;font-size:11px;overflow:auto}#modal-root .modal.shared-drawer-modal{width:auto;left:4px;right:4px;top:calc(64px + var(--safe-top))!important;bottom:calc(var(--ui-footer-h) + 4px)!important;height:auto!important;max-height:none!important}#camera-controls{top:calc(64px + var(--safe-top));right:7px}.more-grid{grid-template-columns:repeat(2,minmax(0,1fr))}body.focus-mode #hud,body.focus-mode #info-ribbon,body.focus-mode #root-nav,body.focus-mode #build-panel,body.focus-mode #lens-panel,body.focus-mode #side-panel,body.focus-mode #dispatch-panel,body.focus-mode #camera-controls,body.focus-mode #mobile-more{display:none!important}body.focus-mode #placement-bar{bottom:calc(12px + var(--safe-bottom))}}@media (max-width:900px) and (max-height:600px){:root{--ui-footer-h:112px}#ribbon-context{grid-template-columns:1fr;height:auto;bottom:5px;right:55%}#adviser-ticker{display:none}#info-ribbon .hud-metrics{inset:5px 5px 5px 46%}#root-nav{right:55%;bottom:calc(5px + var(--safe-bottom));left:5px}#build-panel,#lens-panel,#side-panel,#dispatch-panel,#mobile-more{bottom:calc(var(--ui-footer-h) + 4px);max-height:calc(100dvh - var(--ui-footer-h) - 58px - var(--safe-top))}#modal-root .modal.shared-drawer-modal{top:calc(58px + var(--safe-top))!important;bottom:calc(var(--ui-footer-h) + 4px)!important;height:auto!important;max-height:none!important}}.title-overlay{background:radial-gradient(120% 90% at 50% 10%, #4558708c, transparent 60%), var(--charcoal);z-index:70;text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:14px;padding:20px;display:flex;position:absolute;inset:0}.title-overlay img.brand-logo{width:min(260px,60vw);height:auto}.title-overlay h1{letter-spacing:.03em;margin:0;font-size:clamp(22px,4vw,34px)}.title-overlay .subtitle{color:var(--mist);margin:0 0 10px}.title-save-note{max-width:560px;margin:0}.build-label{margin:-4px 0 0}.title-actions{flex-direction:column;gap:8px;width:min(320px,80vw);display:flex}.title-actions>button,.creative-start,.creative-start>button{width:100%}.creative-start{gap:6px;display:grid}.creative-seed-controls{text-align:left;grid-template-columns:minmax(0,1fr) auto;gap:6px;width:100%;display:grid}.creative-seed-controls[hidden]{display:none}.creative-seed-label{color:var(--mist);letter-spacing:.02em;grid-column:1/-1;font-size:12px;font-weight:700}.creative-seed-controls input{box-sizing:border-box;width:100%;min-width:0}.creative-seed-controls button{white-space:nowrap}#debug-overlay{left:calc(8px + var(--safe-left));bottom:calc(150px + var(--safe-bottom));z-index:30;font-variant-numeric:tabular-nums;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--scrollbar-thumb) var(--scrollbar-track);touch-action:pan-y;width:min(300px,70vw);max-height:46vh;padding:10px;font-size:12px;position:absolute;overflow-y:auto}#debug-overlay .kv{font-size:12px}@media (max-width:900px){.update-banner{top:calc(96px + var(--safe-top));flex-wrap:wrap}.update-banner span{flex-basis:100%}.side-panel{top:auto;bottom:calc(64px + var(--safe-bottom));width:min(420px,94vw);max-height:46vh}#build-panel{z-index:20;left:50%;transform:translate(-50%)}#side-panel{right:50%;transform:translate(50%)}#dispatch-panel:not(.collapsed){height:min(280px,34dvh);max-height:calc(100dvh - 180px - var(--safe-top) - var(--safe-bottom))}.receipt-row{grid-template-columns:14px minmax(0,1fr);grid-template-areas:"severity title"".time";gap:2px 8px;min-height:46px}.receipt-severity{grid-area:severity}.receipt-title{grid-area:title}.receipt-time{grid-area:time}#debug-overlay{bottom:calc(104px + var(--safe-bottom))}}@media (max-width:1850px){.metric-label{display:none}.metric-chip{min-width:76px}.metric-chip[data-metric=treasury],.metric-chip[data-metric=population],.metric-chip[data-metric=visitors],.metric-chip[data-metric=date]{min-width:112px}.hud-action-secondary .hud-button-label{display:none}.hud-action-secondary{width:var(--target);padding-inline:0}.hud-controls{flex:none}}@media (max-width:1120px){.hud-primary-actions .hud-button-label{display:none}.hud-action-primary{width:var(--target);padding-inline:0}}@media (max-width:760px){#hud{align-items:stretch;overflow:visible}.hud-metrics{scrollbar-width:none;width:100%;min-width:0;overflow-x:auto}.hud-metrics::-webkit-scrollbar{display:none}.hud-controls{flex-direction:column;align-items:stretch;gap:4px;width:100%}#speed-controls,#hud-buttons{justify-content:space-between;width:100%}#hud-buttons{position:relative}.hud-primary-actions{flex:1;grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.hud-primary-actions .hud-button-label,.hud-more-button .hud-button-label{display:inline}.hud-action-primary{width:auto;min-width:0;padding-inline:8px}.hud-more-button{min-width:70px;display:inline-flex}.hud-secondary-actions{border:1px solid var(--panel-border);z-index:4;background:#261f20fa;border-radius:10px;grid-template-columns:1fr 1fr;width:min(250px,100vw - 28px);padding:6px;display:none;position:absolute;top:calc(100% + 7px);right:0;box-shadow:0 12px 32px #00000061}.hud-secondary-actions.open{display:grid}.hud-action-secondary{width:auto;min-width:0;padding-inline:8px}.hud-action-secondary .hud-button-label{display:inline}#speed-controls button{flex:1;min-width:44px;padding-inline:0}#placement-status{max-width:52vw}#toast-region{top:calc(158px + var(--safe-top))}}@media (prefers-reduced-motion:reduce){*{transition-duration:1ms!important;animation-duration:1ms!important}}.metric-chip{min-height:44px}.dispatch-toggle{width:44px;min-width:44px;height:44px;min-height:44px}@media (max-width:1100px){#root-nav #hud-buttons{grid-template-columns:repeat(5,minmax(0,1fr));display:grid}#root-nav .hud-action-primary{width:auto;min-width:0}#build-panel,#side-panel{bottom:calc(64px + var(--safe-bottom));width:min(720px,96vw)}}@media (max-width:600px){#hud{grid-template-columns:minmax(0,1fr) auto;width:calc(100vw - 16px)}#hud-controls{flex-direction:row;width:auto}#speed-controls{width:auto}#speed-controls button{flex:0 0 36px;min-width:36px;min-height:44px}#root-nav .hud-action-primary{padding-inline:4px}#toast-region{top:calc(62px + var(--safe-top))}}@media (max-width:900px) and (orientation:landscape){#hud{height:48px;min-height:48px;padding:2px 5px}#root-nav .hud-action{flex-direction:row;min-height:48px}#build-panel,#side-panel{max-height:calc(100dvh - 112px)}}#observe-indicator{z-index:24;top:calc(78px + var(--safe-top));white-space:nowrap;background:#261f20f5;align-items:center;gap:10px;padding:5px 6px 5px 12px;display:flex;position:absolute;left:50%;transform:translate(-50%)}#observe-indicator[hidden],#observe-notice[hidden]{display:none}#observe-indicator button{min-height:44px}#observe-indicator:not([hidden])~#toast-region{top:calc(145px + var(--safe-top))}#observe-notice{z-index:25;top:calc(138px + var(--safe-top));border-left:5px solid var(--amber);pointer-events:none;background:#261f20f7;gap:4px;width:min(520px,100vw - 24px);padding:12px 14px;display:grid;position:absolute;left:50%;transform:translate(-50%)}#observe-notice:not([hidden])~#toast-region{top:calc(230px + var(--safe-top))}.dispatch-filters{flex:none;margin:4px 0 6px}.dispatch-filters button{min-height:44px}.observe-deltas{grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 12px;display:grid}@media (max-width:600px){#observe-indicator{top:calc(62px + var(--safe-top));font-size:12px}#observe-notice{top:calc(122px + var(--safe-top))}.observe-deltas{grid-template-columns:1fr}#observe-indicator:not([hidden])~#toast-region{top:calc(126px + var(--safe-top))}#observe-notice:not([hidden])~#toast-region{top:calc(218px + var(--safe-top))}}@media (max-width:900px) and (orientation:landscape){#observe-indicator{top:calc(54px + var(--safe-top))}#observe-notice{top:calc(108px + var(--safe-top));width:min(500px,100vw - 160px)}#observe-indicator:not([hidden])~#toast-region{top:calc(112px + var(--safe-top))}#observe-notice:not([hidden])~#toast-region{top:calc(196px + var(--safe-top))}}#root-nav #hud-buttons{flex-direction:row;width:auto;display:flex}#root-nav{width:auto;height:auto;min-height:0;top:auto;right:auto}#build-panel,#lens-panel{bottom:calc(var(--ui-footer-h) + var(--ui-dock-h) + 29px + var(--safe-bottom));width:min(620px,100vw - 36px)}#build-panel,#lens-panel,#side-panel,#dispatch-panel{transform:none}#side-panel,#dispatch-panel{bottom:calc(var(--ui-footer-h) + 16px + var(--safe-bottom));width:min(460px,100vw - 20px)}@media (max-width:1100px){#root-nav #hud-buttons{grid-template-columns:repeat(5,minmax(0,1fr));width:100%;display:grid}}@media (max-width:600px),(max-width:900px) and (max-height:600px){#hud{width:auto;height:auto;min-height:50px;padding:0}#speed-controls{width:auto}#speed-controls .speed-button{flex:0 0 44px;min-width:44px;min-height:44px}#root-nav #hud-buttons{grid-template-columns:repeat(5,minmax(0,1fr));display:grid}#build-panel,#lens-panel,#side-panel,#dispatch-panel{right:4px;bottom:calc(var(--ui-footer-h) + 4px);width:auto;max-height:calc(100dvh - var(--ui-footer-h) - 66px - var(--safe-top));left:4px}}@media (max-width:900px) and (max-height:600px){#root-nav{width:44vw;left:5px;right:auto}#build-panel,#lens-panel,#side-panel,#dispatch-panel{max-height:calc(100dvh - var(--ui-footer-h) - 58px - var(--safe-top))}}@media (max-width:600px) and (min-height:601px){#ribbon-context{grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr);height:50px;inset:5px 5px auto}#adviser-ticker{display:grid}#info-ribbon .hud-metrics{top:auto;right:5px;bottom:calc(8px + var(--safe-bottom));left:5px}#root-nav{right:0;bottom:calc(52px + var(--safe-bottom));width:100%;left:0}}:root{--ui-panel:#1b1d1bf7;--ui-panel-soft:#2b2d2af5;--ui-line:#c9d2c947;--ui-muted:#bbc5bd;--ui-warning:#efb64f;--ui-footer-h:82px;--ui-dock-h:66px;--ui-gap:8px;--ui-heading:clamp(20px, 1.55vw, 23px);--ui-body:13px;--ui-secondary:12px;--ui-compact:11px}html,body,#app,#scene-host,#scene-host canvas{width:100%;max-width:100%;overflow-x:clip!important}button{max-width:100%}.ui-control.control-segmented{min-height:44px;padding:6px 10px}.ui-control.control-action-row,.ui-control.control-destination{width:100%;min-height:48px;padding:7px 10px}.ui-control.control-action-row .button-label{overflow-wrap:anywhere;line-height:1.15}.ui-control.control-text-link{width:-moz-fit-content;width:fit-content;min-height:44px;padding:6px 8px}#hud{grid-template-columns:none;width:auto}#time-weather{border-color:#555a55;grid-template-columns:24px minmax(0,1fr) 18px;display:grid}#time-weather .weather-icon{place-items:center;display:grid}#time-weather .nav-chevron{width:18px;margin-left:0}#speed-controls{position:absolute;left:50%;transform:translate(-50%)}#speed-controls .speed-button{width:52px;min-width:52px}#camera-controls{top:calc(72px + var(--safe-top));gap:4px;padding:5px;display:flex;left:50%;right:auto;transform:translate(-50%)}#info-ribbon{grid-template-columns:minmax(500px,1.35fr) minmax(350px,1fr) auto}#info-ribbon .hud-metrics{grid-template-columns:repeat(5,minmax(92px,1fr));overflow:hidden}.stat-button{background:var(--control-rest);border-color:#4e534e;grid-template-columns:25px minmax(0,1fr) 18px}.stat-button.warning{border-color:#4e534e}.stat-button.warning .stat-icon{color:var(--ui-warning);filter:drop-shadow(0 0 5px #efb64f52)}.stat-button .nav-chevron{width:18px;margin-left:0}.stat-icon{color:#e8b24e;place-items:center;display:grid}.stat-copy strong,.stat-copy span{min-width:0}#ribbon-context{grid-template-columns:minmax(170px,1fr) minmax(190px,1fr)}#campaign-objective{background:var(--control-rest);border-color:#555a55;grid-template-rows:auto auto auto;grid-template-columns:minmax(0,1fr) 18px;display:grid}#campaign-objective small,#campaign-objective strong,#campaign-objective span{grid-column:1}#campaign-objective .nav-chevron{grid-area:1/2/4;align-self:center;width:18px;margin-left:0}#campaign-objective.ready{background:var(--control-positive);border-color:#669773}#campaign-objective.emergency{background:var(--control-destructive);border-color:#a64d48}#adviser-ticker{background:var(--control-rest);border-color:#555a55;grid-template-columns:36px minmax(0,1fr) auto 18px}#adviser-ticker .nav-chevron{width:18px;margin-left:0}#root-nav{left:calc(14px + var(--safe-left));width:auto;right:auto}#root-nav #hud-buttons{flex-direction:row;gap:5px;width:auto;display:flex}.dock-action{flex-direction:column;gap:3px;min-width:72px;min-height:58px;padding:5px 8px;display:flex}.dock-action .ui-icon{width:23px;height:23px}.dock-action .button-label{font-size:12px;font-weight:780}.dock-action[data-action=more]{display:none}#mobile-more{flex-direction:column;gap:12px;display:flex}#build-panel,#lens-panel,#side-panel,#dispatch-panel{top:auto;right:auto;left:calc(14px + var(--safe-left));bottom:calc(var(--ui-footer-h) + var(--ui-dock-h) + 29px + var(--safe-bottom));width:min(650px, calc(100vw - 28px - var(--safe-left) - var(--safe-right)));max-width:none;max-height:min(610px, calc(100dvh - var(--ui-footer-h) - var(--ui-dock-h) - 105px - var(--safe-top) - var(--safe-bottom)));background:var(--ui-panel);border-radius:14px;overflow:hidden;transform:none;box-shadow:0 15px 44px #0000006b}#side-panel,#dispatch-panel{width:min(470px,100vw - 28px);bottom:calc(var(--ui-footer-h) + 16px + var(--safe-bottom))}#dispatch-panel.collapsed{display:none}#build-panel{flex-direction:column;padding:12px;display:flex}#lens-panel{flex-direction:column;gap:12px;padding:12px;display:flex}#build-panel .panel-header,#lens-panel .panel-header,#side-panel .panel-header,.build-sections{flex:none}.build-browser-scroll{scrollbar-gutter:auto;flex:auto;min-height:0;padding-right:2px;overflow:hidden auto}.build-browser-body{grid-template-columns:minmax(280px,.92fr) minmax(260px,1.08fr);gap:10px;min-height:0;display:grid}.build-catalog,.build-detail{min-width:0;overflow:visible}.build-detail{background:#0000002e;border-radius:10px;align-self:start;max-height:none;padding:12px;position:sticky;top:0}.build-detail:empty{display:none}.category-scroller{grid-template-columns:44px minmax(0,1fr) 44px;align-items:stretch;gap:4px;margin-bottom:8px;display:grid;position:relative}.build-category-tabs{scroll-behavior:smooth;scrollbar-width:none;touch-action:pan-x;justify-content:safe center;gap:5px;min-width:0;display:flex;overflow:auto hidden}.build-category-tabs::-webkit-scrollbar{display:none}.build-category-tabs button{flex:none}.category-scroller:before,.category-scroller:after{z-index:2;pointer-events:none;content:"";opacity:0;width:28px;transition:opacity .12s;position:absolute;top:0;bottom:0}.category-scroller:before{background:linear-gradient(90deg,var(--ui-panel),transparent);left:44px}.category-scroller:after{background:linear-gradient(270deg,var(--ui-panel),transparent);right:44px}.category-scroller.can-scroll-left:before,.category-scroller.can-scroll-right:after{opacity:1}.scroll-cue{width:44px;height:44px}.scroll-cue:disabled{opacity:.22}.build-filter,.build-sections{grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;margin-bottom:8px;display:grid}.build-sections{grid-template-columns:repeat(3,minmax(0,1fr))}.build-row{text-align:left;grid-template-columns:28px minmax(0,1fr) minmax(92px,35%) 18px;align-items:center;gap:8px;width:100%;min-height:54px;max-height:60px;margin:0 0 5px;display:grid}.build-row-icon{width:22px;height:22px}.build-row-name{overflow-wrap:anywhere;-webkit-line-clamp:2;-webkit-box-orient:vertical;line-height:1.15;display:-webkit-box;overflow:hidden}.build-row-cost{color:var(--ui-muted);font-size:var(--ui-secondary);text-align:right;overflow-wrap:anywhere;line-height:1.2}.build-row-chevron{width:17px;height:17px;color:var(--ui-muted)}.road-tool-row{grid-template-columns:28px minmax(0,1fr) auto;height:54px;min-height:54px;max-height:54px}.road-tool-row .build-row-cost{white-space:nowrap}.construction-resource.short{border-color:#9d7131}.construction-resource{grid-template-columns:20px minmax(0,1fr);align-items:center;gap:7px;display:grid}.construction-resource .ui-icon,.requirement-evidence .ui-icon{width:18px;height:18px}.construction-resource.short .ui-icon,.requirement-evidence:not(.passed) .ui-icon{color:var(--ui-warning)}.requirement-evidence{border:1px solid var(--ui-line);min-height:40px;color:var(--ui-muted);border-radius:8px;grid-template-columns:20px minmax(0,1fr);align-items:center;gap:7px;padding:6px 8px;display:grid}.requirement-evidence+.requirement-evidence{margin-top:5px}#modal-root .modal.shared-drawer-modal{top:auto;right:auto;bottom:calc(var(--ui-footer-h) + 12px + var(--safe-bottom));left:calc(14px + var(--safe-left));width:min(480px, calc(100vw - 28px - var(--safe-left) - var(--safe-right)));max-height:calc(100dvh - var(--ui-footer-h) - 32px - var(--safe-top) - var(--safe-bottom));transform:none}.shared-drawer-modal{flex-direction:column;display:flex;overflow:hidden}.shared-drawer-modal .modal-header{flex:none}.shared-drawer-modal .modal-content{scrollbar-gutter:auto;flex-direction:column;flex:auto;gap:10px;min-height:0;display:flex;overflow:hidden auto}.shared-drawer-modal .modal-content>*{flex:none;margin-block:0}.shared-drawer-modal .modal-content>.section-title{margin-top:4px}.shared-drawer-modal .valley-tabs{z-index:4;background:var(--ui-panel);position:sticky;top:-1px}.journey-card.current{border-color:var(--ui-line)}.objective-card{border-color:var(--ui-line);background:#2d2d29}.segmented{grid-auto-columns:minmax(0,1fr);grid-auto-flow:column;gap:5px;display:grid}.segmented button{min-width:0}.policy-row{grid-template-columns:minmax(72px,.62fr) repeat(3,minmax(72px,1fr));align-items:center;gap:5px;display:grid}.policy-row strong{padding:0 6px}.row-actions{gap:8px}.domain-actions{flex-wrap:wrap;gap:8px;display:flex}.domain-actions button{flex:180px}.link-card.warning,.freight-summary.warning,.training-option.unavailable{border-color:var(--ui-line)}.badge.warn{color:#ffd58a;border-color:#9d7131}.lens-key{grid-template-columns:24px minmax(0,1fr);align-items:center;gap:8px;display:grid}.lens-key .ui-icon{width:20px;height:20px}.lens-legend>.ui-control{margin-top:10px}.inspector-disclosure>summary,.journey-card>summary{transition:background-color var(--control-transition), color var(--control-transition);border-radius:7px}.journey-card>summary{cursor:pointer;align-items:center;gap:8px;min-height:44px;display:flex}.journey-card>summary .ui-icon,.receipt-severity .ui-icon{width:17px;height:17px}.requirement-row{grid-template-columns:32px minmax(0,1fr) 44px}.requirement-row .requirement-state{align-self:center;place-items:center;width:30px;height:30px;line-height:0;display:inline-grid}.requirement-state .ui-icon{place-self:center;width:18px;height:18px;display:block}@media (hover:hover) and (pointer:fine){.inspector-disclosure>summary:hover,.journey-card>summary:hover{color:#fff;background:#ffffff14}}.inspector-disclosure>summary:active,.journey-card>summary:active{background:#0000003d}.freight-risk{color:#ffd58a;background:#6f4b1733;border:1px solid #9d7131;border-radius:9px;grid-template-columns:24px minmax(0,1fr);align-items:center;gap:9px;margin:8px 0 10px;padding:10px;font-weight:780;display:grid}.freight-risk.critical{color:#ffc0b8;background:#6224234d;border-color:#a64d48}.freight-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;display:grid}.freight-metric{border:1px solid var(--ui-line);background:#292b29;border-radius:8px;gap:3px;min-width:0;padding:9px 10px;display:grid}.freight-metric span{color:var(--ui-muted);font-size:var(--ui-secondary)}.freight-metric strong{font-variant-numeric:tabular-nums;overflow-wrap:anywhere;font-size:14px}.freight-source-row,.freight-action-row{grid-template-columns:24px minmax(0,1fr) 18px;gap:9px;max-height:60px;margin-bottom:6px;min-height:54px!important;display:grid!important}.freight-row-copy{min-width:0;display:block}.freight-row-copy strong,.freight-row-copy span{overflow-wrap:anywhere;display:block}.freight-row-copy strong{line-height:1.12}.freight-row-copy span{color:var(--ui-muted);font-size:var(--ui-compact);margin-top:3px;line-height:1.16}.freight-row-chevron{width:17px;height:17px;color:var(--ui-muted)}.panel-scroll-body,.shared-drawer-modal .modal-content,.dispatch-list,.build-browser-scroll{scrollbar-width:none}.panel-scroll-body::-webkit-scrollbar{display:none}.shared-drawer-modal .modal-content::-webkit-scrollbar{display:none}.dispatch-list::-webkit-scrollbar{display:none}.build-browser-scroll::-webkit-scrollbar{display:none}@media (max-width:1100px){#info-ribbon{grid-template-columns:minmax(430px,1.25fr) minmax(310px,1fr)}#ribbon-destinations,.dock-action[data-action=camera]{display:none}.dock-action[data-action=more]{display:flex}}@media (min-width:1101px){#dispatch-panel{bottom:calc(var(--ui-footer-h) + var(--ui-dock-h) + 29px + var(--safe-bottom))}body.dispatch-open #root-nav{left:calc(249px + var(--safe-left));transform:translate(-50%)}}@media (max-width:600px),(max-width:900px) and (max-height:600px){:root{--ui-mobile-context-h:50px;--ui-mobile-dock-h:60px;--ui-mobile-stats-h:55px;--ui-mobile-footer-gap:8px;--ui-footer-h:180px;--ui-dock-h:58px}#hud{top:calc(7px + var(--safe-top));min-height:50px;left:7px;right:7px}#time-weather{grid-template-columns:18px minmax(0,1fr);width:86px;min-width:86px;max-width:86px;min-height:48px;padding:5px 6px;font-size:10px;line-height:1.15}#time-weather .nav-chevron{display:none}#time-weather .ui-icon{width:18px;height:18px}.time-long{display:none}.time-short{display:inline}#speed-controls{gap:3px;padding:3px}#speed-controls .speed-button{width:44px;min-width:44px;min-height:44px}#info-ribbon{min-height:var(--ui-footer-h);padding:5px calc(5px + var(--safe-right)) calc(8px + var(--safe-bottom)) calc(5px + var(--safe-left));border-radius:0;display:block;bottom:0;left:0;right:0}#ribbon-context{top:auto;right:5px;bottom:calc(var(--ui-mobile-stats-h) + var(--ui-mobile-dock-h) + var(--ui-mobile-footer-gap) + var(--safe-bottom));height:var(--ui-mobile-context-h);grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr);position:absolute;left:5px}#campaign-objective,#adviser-ticker{min-height:50px;max-height:50px;padding:5px 7px}#campaign-objective small,#campaign-objective span{display:none}#campaign-objective strong{font-size:12px}#adviser-ticker{grid-template-columns:32px minmax(0,1fr) auto 15px}#info-ribbon .hud-metrics{right:5px;bottom:calc(7px + var(--safe-bottom));grid-template-columns:repeat(5,minmax(0,1fr));gap:4px;position:absolute;left:5px}.stat-button{text-align:center;grid-template-columns:minmax(0,1fr);min-height:48px;padding:3px 2px}.stat-icon,.stat-button .nav-chevron{display:none}.stat-copy strong{font-size:10px}.stat-copy span{display:none}#root-nav{right:0;bottom:calc(var(--ui-mobile-stats-h) + var(--safe-bottom));background:var(--ui-panel);border:0;border-radius:0;width:100%;padding:3px 4px;left:0}#root-nav #hud-buttons{grid-template-columns:repeat(5,minmax(0,1fr));gap:4px;width:100%;display:grid}.dock-action{min-width:0;min-height:54px;padding:4px 2px}.dock-action .ui-icon{width:21px;height:21px}.dock-action .button-label{font-size:11px}#build-panel,#lens-panel,#side-panel,#dispatch-panel{top:auto;right:4px;bottom:calc(var(--ui-footer-h) + 4px);width:auto;max-height:calc(100dvh - var(--ui-footer-h) - 66px - var(--safe-top));border-radius:14px 14px 0 0;left:4px}#modal-root .modal.shared-drawer-modal{right:4px;bottom:calc(var(--ui-footer-h) + 4px);width:auto;max-height:calc(100dvh - var(--ui-footer-h) - 12px - var(--safe-top));left:4px}.build-browser-body{display:block}.build-detail{position:static}.build-browser-body.phone-detail-open .build-catalog{display:none}.build-category-tabs{justify-content:flex-start}.build-row{grid-template-columns:26px minmax(0,1fr) minmax(86px,34%) 17px}.road-tool-row{grid-template-columns:26px minmax(0,1fr) auto}#mobile-more{right:4px;bottom:calc(var(--ui-footer-h) + 4px);left:4px}body.surface-open:not(.focus-mode){--ui-footer-h:61px}body.surface-open:not(.focus-mode) #info-ribbon{display:none}body.surface-open:not(.focus-mode) #root-nav{bottom:var(--safe-bottom)}body.focus-mode #hud,body.focus-mode #info-ribbon,body.focus-mode #root-nav,body.focus-mode #build-panel,body.focus-mode #lens-panel,body.focus-mode #side-panel,body.focus-mode #dispatch-panel,body.focus-mode #camera-controls,body.focus-mode #mobile-more{display:none!important}body.focus-mode #placement-bar{bottom:calc(12px + var(--safe-bottom))}#placement-bar{bottom:calc(var(--ui-footer-h) + 8px)}.policy-row{grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-columns:auto;grid-auto-flow:row}.policy-row strong{grid-column:1/-1;min-height:24px;padding:4px 2px 0}.shared-drawer-modal .valley-tabs{background:0 0;padding:0;position:static}}@media (max-width:900px) and (max-height:600px){:root{--ui-footer-h:112px}#ribbon-context{grid-template-columns:1fr;height:auto;bottom:5px;right:55%}#adviser-ticker{display:none}#info-ribbon .hud-metrics{inset:5px 5px 5px 46%}#root-nav{right:55%;bottom:calc(5px + var(--safe-bottom));width:auto;left:5px}#build-panel,#lens-panel,#side-panel,#dispatch-panel{bottom:calc(var(--ui-footer-h) + 4px);max-height:calc(100dvh - var(--ui-footer-h) - 58px - var(--safe-top))}#modal-root .modal.shared-drawer-modal{bottom:calc(var(--ui-footer-h) + 4px);max-height:calc(100dvh - var(--ui-footer-h) - 10px - var(--safe-top))}body.surface-open:not(.focus-mode){--ui-footer-h:61px}body.surface-open:not(.focus-mode) #root-nav{right:0;bottom:var(--safe-bottom);width:100%;left:0}}
