/* V0.950.0 Focus interface. World first, four tasks, one drawer. */
body.focus-ui { --font:"Segoe UI",-apple-system,BlinkMacSystemFont,"Helvetica Neue",Arial,sans-serif; --topbar-h:62px; --muted:#abb7b7; --text:#ecf0e8; }
.focus-ui .app { display:grid;grid-template-columns:1fr;grid-template-rows:62px 1fr;grid-template-areas:"top" "stage"; }
.focus-ui .topbar { padding:0 22px;gap:22px;background:#172023;border-bottom:1px solid #40504d;position:relative;z-index:35;box-shadow:0 4px 22px #0002; }
.focus-ui .brand { flex:0 0 auto;gap:11px; }
.focus-ui .brand-name { font-size:13px;letter-spacing:.1em; }
.focus-ui .brand-sub { display:block;font-size:9px;letter-spacing:.12em;color:#9aaba8;margin-top:2px; }
.focus-ui .brand-mark { width:27px;height:29px; }
.focus-ui .clock-group { margin-left:auto;flex:0 0 auto; }
.focus-ui .clock { font-size:12px;letter-spacing:.02em; }
.focus-ui .feed,.focus-ui .live { display:none!important; }
.focus-ui .time-controls { gap:7px;margin-left:0; }
.focus-ui #run-toggle { width:74px;min-height:38px;border:0;border-radius:5px;background:#ee853f;color:#182126;font-size:12px;font-weight:800; }
.focus-ui.simulation-running #run-toggle { background:#b4c9ae;color:#172621; }
.focus-ui #run-speed { width:54px;min-height:38px;background:#253235;border-color:#45554f;border-radius:5px;font-size:12px; }
.focus-ui #step,.focus-ui #fast { display:none!important; }
.f-header-stats { display:flex;gap:23px;padding-left:26px;border-left:1px solid #43524e;flex:0 0 auto; }
.f-header-stats button { background:none;padding:0;border:0;text-align:left;cursor:pointer;min-height:40px; }
.f-header-stats small { display:block;text-transform:uppercase;letter-spacing:.1em;color:#a3b1ad;font-size:9px;margin-bottom:2px; }
.f-header-stats b { font-size:17px;font-weight:650;letter-spacing:-.02em; }
.f-header-stats .warning b { color:#f6bd80; }
.focus-ui .stage { width:100%;height:100%;min-height:0;position:relative;overflow:hidden; }
.focus-ui .viewport { inset:0;width:100%;height:100%; }
.focus-ui .hud-resources,.focus-ui .hud-objective,.focus-ui .hud-alerts,.focus-ui .campus-quick,.focus-ui .tabbar,.focus-ui .minimap { display:none!important; }
.focus-ui .dock { display:none!important; }
.f-shell { position:absolute;inset:0;pointer-events:none;z-index:6; }
.f-shell button,.f-shell input,.f-shell select,.f-shell details,.f-goal,.f-drawer,.f-flow { pointer-events:auto; }
.f-eyebrow { color:#a3b4ac;font-size:9px;font-weight:650;letter-spacing:.17em;text-transform:uppercase; }
.f-goal { position:absolute;top:24px;left:24px;width:296px;background:#1b2729f5;border:1px solid #56645b;border-radius:7px;padding:18px 18px 16px;box-shadow:0 10px 34px #0002; }
.f-goal .f-eyebrow { color:#e7ae72; }
.f-goal h2 { margin:8px 0;font-size:20px;font-weight:600;line-height:1.23;letter-spacing:-.025em; }
.f-goal p { font-size:12px;color:#b8c4bb;line-height:1.6;margin-bottom:14px; }
.f-goal-action { color:#f4bd81;font-size:12px;background:none;border:0;padding:0;text-align:left;cursor:pointer;font-weight:650; }
.f-goal-action::after { content:" \2192";padding-left:8px; }
.f-goal-meter { height:2px;background:#3e4e48;margin-top:16px; }
.f-goal-meter span { display:block;background:#de9956;height:2px;transition:width .3s; }
.f-signal { position:absolute;right:24px;top:25px;display:flex;align-items:center;gap:9px;padding:11px 13px;background:#1c2a29f0;border:1px solid #586752;border-radius:5px;font-size:11px;color:#d4e4c7;box-shadow:0 8px 24px #0002;max-width:390px;text-align:left;cursor:pointer; }
.f-signal i { width:6px;height:6px;background:#b7ce91;border-radius:50%;flex:none; }
.f-signal svg { width:13px;height:13px;transform:rotate(90deg); }
.f-signal.warning { color:#f0c19b;border-color:#8a6048; }
.f-signal.warning i { background:#ee975a; }
.f-open .f-signal { display:none; }
.f-flow { position:absolute;bottom:110px;left:50%;transform:translateX(-50%);width:570px;background:#1c282bf2;border:1px solid #4e5e57;border-radius:6px;padding:11px 15px 12px;box-shadow:0 8px 30px #0003; }
.f-flow-caption { font-size:8px;letter-spacing:.16em;color:#c4cdbb;font-weight:650;display:flex;align-items:center;justify-content:space-between;margin-bottom:10px; }
.f-flow-caption span { font-size:9px;font-weight:400;color:#a2b1aa;letter-spacing:0;text-transform:none; }
#f-flow-items { display:grid;grid-template-columns:repeat(4,1fr);gap:0; }
.f-flow-item { background:none;border:0;border-right:1px solid #46574e;display:flex;align-items:center;gap:9px;padding:0 12px;color:#e8eddf;text-align:left;cursor:pointer;position:relative; }
.f-flow-item:first-child { padding-left:0; }.f-flow-item:last-child { border:0;padding-right:0; }
.f-flow-item:not(:last-child)::after { content:"\203a";position:absolute;right:-4px;top:8px;color:#78897e;background:#1c282b;font-size:13px; }
.f-flow-item svg { width:21px;height:21px; }
.f-flow-item.power svg { color:#e4b275; }.f-flow-item.cool svg { color:#7bc7c2; }.f-flow-item.fiber svg { color:#c1b0e4; }.f-flow-item.compute svg { color:#c2d6a3; }
.f-flow-item small { display:block;font-size:10px;color:#acbab0; }.f-flow-item strong { display:block;font-size:17px;line-height:1.4;font-weight:600; }.f-flow-item em { color:#9aa99f;font-size:13px;font-style:normal; }
.f-flow-item.warning strong { color:#f3b479; }
.f-command { position:absolute;bottom:28px;left:50%;transform:translateX(-50%);height:64px;display:grid;grid-template-columns:repeat(4,1fr);width:530px;gap:4px;padding:6px;background:#172124;border:1px solid #617366;border-radius:8px;box-shadow:0 12px 36px #0005; }
.f-command button { border:1px solid transparent;background:transparent;display:flex;align-items:center;justify-content:center;gap:10px;border-radius:4px;padding:8px 10px;font-size:12px;font-weight:600;color:#becbbf;cursor:pointer; }
.f-command button:hover { background:#30403b;color:#f0f0e3; }.f-command button.active { background:#e58b49;border-color:#f5b674;color:#1b2524; }
.f-command button svg { width:22px;height:22px; }
.f-command kbd { font:9px var(--font);border:1px solid #536257;border-radius:3px;padding:1px 3px;opacity:.75; }
.f-nav-count { font-size:9px;line-height:17px;height:17px;min-width:17px;text-align:center;border:1px solid #677d66;border-radius:3px; }
.f-map-note { position:absolute;bottom:36px;left:24px;max-width:220px;display:flex;flex-direction:column;gap:5px;text-shadow:0 1px 3px #0008; }
.f-map-note b { letter-spacing:.19em;font-size:9px;color:#e0dec8;font-weight:650; }.f-map-note span { font-size:10px;color:#c8cbbb;line-height:1.5;max-width:190px; }
.f-icon { display:grid;place-items:center;flex:none;background:#273734;border:1px solid #526351;border-radius:4px;min-width:36px;min-height:36px;color:#c9d6c6;cursor:pointer; }
.f-icon svg { width:18px;height:18px; }.f-session-button { min-width:38px;min-height:38px;background:transparent; }
.focus-ui .hud-mapcontrols { top:auto;right:24px;bottom:28px;left:auto;display:grid;grid-template-columns:repeat(3,38px);gap:6px;z-index:7; }
.focus-ui .mapbtn { height:38px;width:38px;min-width:38px;background:#1e2b2bea;border:1px solid #58685b;border-radius:4px; }
.focus-ui .mapbtn svg { width:17px;height:17px; }
.focus-ui .mapbtn-gap { display:none; }.focus-ui .mapbtn.toggle.active,.focus-ui .mapbtn[aria-pressed="true"] { background:#d88a50;color:#182626; }
.f-open .hud-mapcontrols { right:auto;left:24px;bottom:110px; }
.f-open .f-flow { left:24px;transform:none;width:470px;bottom:110px; }
.f-open .f-map-note { display:none; }
.f-open .hud-mapcontrols { bottom:28px; }
.f-drawer { position:absolute;right:18px;top:18px;bottom:109px;width:398px;background:#192528;border:1px solid #5a6b61;border-radius:8px;box-shadow:0 18px 60px #0005;display:flex;flex-direction:column;overflow:hidden;pointer-events:auto; }
.f-drawer-head { display:flex;align-items:center;justify-content:space-between;gap:12px;padding:19px 20px 16px;border-bottom:1px solid #3c4e47;background:#21302f; }
.f-drawer-head h2 { font-size:21px;font-weight:600;line-height:1.22;letter-spacing:-.025em;margin-top:6px; }
.f-drawer-head .f-icon { align-self:flex-start;width:31px;min-width:31px;min-height:31px;background:transparent;border-color:#4e6355; }
.f-drawer-body { overflow:auto;overscroll-behavior:contain;min-height:0;flex:1;scrollbar-color:#647762 #1c292a;scrollbar-width:thin; }
.f-view { padding:18px 20px 22px; }
.f-intro { color:#c4cfc5;line-height:1.65;font-size:12px;margin:0 0 17px; }
.f-note { font-size:11px;line-height:1.65;color:#aabbb0;margin:9px 0; }
.f-button { min-height:39px;padding:9px 12px;border:1px solid #52675b;border-radius:4px;background:#2b3d37;color:#dee7d7;font-size:11px;line-height:1.35;cursor:pointer;text-align:center;transition:background .15s; }
.f-button:hover:not(:disabled) { background:#40554a; }.f-button:disabled { cursor:not-allowed;opacity:.6; }.f-button.primary { background:#e79758;border-color:#ecac7d;color:#1e2823;font-weight:700; }.f-button.primary:hover:not(:disabled) { background:#f5b681; }.f-button.small { min-height:30px;padding:5px 8px;font-size:10px; }
.f-big-number { font-size:27px;font-weight:600;letter-spacing:-.03em;display:block;color:#e9eddd;margin:7px 0; }
.f-warning { background:#473b2d;border:1px solid #806449;border-left:3px solid #dea065;border-radius:3px;color:#ebc8a1;font-size:11px;line-height:1.6;padding:11px 12px;margin:12px 0; }
.f-warning p { margin:4px 0 10px; }.f-warning .f-button { background:#57432d;border-color:#9e7853;color:#f2d6b6; }
.f-building-hero { position:relative;background:radial-gradient(ellipse at 50% 70%,#3b4b44,#293a37 70%);border:1px solid #485c50;border-radius:5px;margin-bottom:17px;overflow:hidden; }
.f-building-art { display:block;width:100%;height:173px; }
.f-model-tag { position:absolute;top:10px;left:11px;font-size:9px;font-weight:700;letter-spacing:.12em;color:#dacbb0; }
.f-status-tag { position:absolute;bottom:10px;right:12px;color:#b7d39d;font-size:8px;letter-spacing:.12em; }.f-status-tag.warning { color:#f4bf82; }
.f-facility-facts { display:grid;grid-template-columns:1fr 1fr;gap:14px;border-top:1px solid #42554a;border-bottom:1px solid #42554a;padding:14px 0;margin:12px 0 18px; }
.f-facility-facts small { display:block;color:#9eb2a2;font-size:10px;margin-bottom:3px; }.f-facility-facts strong { display:block;font-size:21px;font-weight:600; }
.f-inputs .f-eyebrow { margin-bottom:9px; }.f-input-row { display:flex;align-items:center;gap:9px;padding:10px 0;border-bottom:1px solid #364a40; }
.f-input-row b { font-size:12px;font-weight:500; }.f-input-row span { margin-left:auto;font-size:13px; }.f-input-row.warning span { color:#f5b875; }.f-input-row svg { width:15px;height:15px;color:#adcdb6; }.f-input-row .small { margin-left:6px; }
.f-upgrade-card { background:#28392f;border:1px solid #677557;border-radius:5px;padding:16px;margin:20px 0; }
.f-upgrade-card h3 { font-size:20px;font-weight:600;margin:8px 0; }.f-upgrade-rating { color:#d6d9b1;font-size:14px; }.f-upgrade-card .primary { width:100%;margin-top:5px; }
.f-upgrade-progress { height:4px;background:#455b46;margin-top:14px; }.f-upgrade-progress span { display:block;height:4px;background:#cfc49a; }
.f-building-actions { display:flex;gap:8px;margin:18px 0; }.f-building-actions>* { flex:1; }
.f-details { border-top:1px solid #3f5346;margin-top:12px;padding:12px 0; }.f-details summary { cursor:pointer;color:#b8cbb6;font-size:12px;min-height:25px; }.f-details>.f-button { width:100%;margin:5px 0; }.f-details>p { margin-top:8px; }
.f-section-title { font-size:14px;font-weight:600;color:#e0e7d7;margin:24px 0 10px; }
.f-system-row { display:flex;align-items:center;gap:12px;padding:14px 0;border-bottom:1px solid #405145; }.f-system-row svg { color:#b8c7a9;width:20px;height:20px; }.f-system-row>div { flex:1; }.f-system-row b { display:block;font-size:13px;font-weight:600; }.f-system-row small { display:block;font-size:10px;color:#a3b8a5;margin-top:2px; }.warning { color:#f2b478; }
.f-reserve { padding:15px 0;border-bottom:1px solid #405145; }.f-reserve>b { font-size:13px;font-weight:600; }.f-reserve>strong { float:right;font-size:13px;color:#d7c791; }
.f-toggle { display:flex;gap:12px;align-items:center;border-bottom:1px solid #3d5043;padding:13px 0;cursor:pointer; }.f-toggle>span { flex:1; }.f-toggle b { display:block;font-size:12px;font-weight:600;margin-bottom:4px; }.f-toggle small { display:block;font-size:10px;color:#a1b6a1;line-height:1.6; }.f-toggle input { width:18px;height:18px;accent-color:#e39857;cursor:pointer;flex:none; }
.f-advanced-grid { display:grid;grid-template-columns:1fr 1fr;gap:8px; }
.f-research-card { padding:17px;margin:13px 0;background:#22372f;border:1px solid #526e55;border-radius:5px; }.f-research-card h3 { font-size:17px;margin:7px 0; }.f-research-card .f-button { width:100%;margin-top:4px; }.f-research-card.completed { background:#29382b;border-color:#73865b;opacity:.8; }
.f-jobs-summary { padding-bottom:10px;border-bottom:1px solid #52624f;margin-bottom:14px; }
.focus-ui .f-view .panel { padding:0 0 14px;border:0;margin:0 0 17px;background:transparent; }
.focus-ui .f-view .panel-head { margin-bottom:12px; }.focus-ui .f-view h3 { font-weight:600; }.focus-ui .f-view .view-sub { font-size:9px;max-width:120px;text-align:right; }
.focus-ui .job-card { padding:14px;background:#29372d;border:1px solid #76805b;border-radius:4px;border-left:3px solid #d4a265; }
.focus-ui .job-card-head h3 { font-size:16px; }.focus-ui .job-card-head small { font-size:9px; }.focus-ui .job-pipeline { margin-top:17px; }.focus-ui .job-progress div { background:#dcb381; }.focus-ui .job-pipeline span.current { color:#efbc83;border-color:#efbc83; }.focus-ui .job-card .btn { background:#384936;border-color:#657658; }
.focus-ui .offer-card { border:1px solid #445b48;border-radius:4px;margin:9px 0;padding:15px;background:#22352d; }.focus-ui .offer-head strong { font-size:15px; }.focus-ui .offer-value { color:#dfc8a0;font-size:13px; }.focus-ui .offer-client { margin:4px 0 10px;color:#a6bba7; }.focus-ui .offer-foot { margin-top:15px; }.focus-ui .offer-foot .btn { background:#e19657;color:#172621;border-color:#e3ad75;padding:8px 17px;font-weight:700;min-height:36px; }
.focus-ui .ops-empty { background:#22352d;border-color:#607157;padding:16px; }.focus-ui .ops-empty b { font-size:13px; }.focus-ui .ops-policies { margin-top:16px!important; }.focus-ui .f-view .note { font-size:11px;color:#acbdad;line-height:1.65; }
.focus-ui #build-dock { position:static!important;display:block!important;inset:auto;left:auto;right:auto;bottom:auto;margin:0;border:0;box-shadow:none;background:transparent;width:100%;max-height:none; }
.focus-ui .dock-tabs { display:grid;grid-template-columns:repeat(4,1fr);gap:5px;border:0;padding:0 0 16px;overflow:visible; }
.focus-ui .cat { min-width:0;min-height:52px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;border:1px solid #475d4a!important;border-radius:4px;background:#283a30!important;color:#b3c3ad!important;padding:7px 3px!important; }
.focus-ui .cat span { display:block!important;position:static;font-size:9px; }.focus-ui .cat svg { width:17px;height:17px; }.focus-ui .cat.selected { border-color:#e1a068!important;background:#715136!important;color:#fff0d5!important; }
.focus-ui .dock-body { display:block;padding:0;border:0; }
.focus-ui .building-grid { display:grid!important;grid-template-columns:1fr;gap:9px;overflow:visible;padding:0; }
.focus-ui .building { width:100%;min-width:0;min-height:87px;padding:12px 13px 12px 66px;background:#253a31;border:1px solid #4d6952;border-radius:5px;position:relative;text-align:left; }
.focus-ui .building .building-icon { position:absolute;left:13px;top:19px;width:39px;height:39px;background:#31493c;border:1px solid #708466;border-radius:5px; }
.focus-ui .building-title { font-size:14px;font-weight:600; }.focus-ui .building-cost { font-size:12px;margin:3px 0; }.focus-ui .building-size { font-size:10px;color:#a9bba6; }.focus-ui .building.selected { border-color:#ebb47d;background:#5a4730; }.focus-ui .building.locked { opacity:.48; }
.focus-ui .tool-bar { display:flex;justify-content:space-between;margin-top:15px;border-top:1px solid #506044;padding-top:12px; }
.focus-ui .tool-bar #inspect,.focus-ui .tool-bar #service,.focus-ui .tool-bar #demolish,.focus-ui .tool-bar #automaint { display:none; }
.focus-ui .tool-bar #buildqueue { min-height:37px;display:flex;border:1px solid #637b58;border-radius:4px;background:#30432e; }.focus-ui .tool-bar #buildqueue span { display:block; }.focus-ui .tool-bar #buildqueue span::after { content:" construction"; }
.focus-ui .dock-foot { padding:12px 0;border:0;background:none; }.focus-ui .dock-count { display:none; }.focus-ui .dock-status { font-size:11px;color:#b1c2a9;white-space:normal;line-height:1.6; }
.focus-ui .route-bar { display:grid;grid-template-columns:1fr;gap:7px; }.focus-ui .line-btn { min-height:48px;background:#283d34;border:1px solid #597855;padding:8px 12px; }
.f-placement { position:absolute;bottom:206px;left:50%;transform:translateX(-50%);width:max-content;max-width:calc(100% - 40px);display:flex;align-items:center;gap:12px;background:#473c2bdc;border:1px solid #d0a16b;border-radius:5px;padding:9px 12px;color:#f3dfbf;font-size:12px; }
.f-placement button { background:none;border:0;color:#ecc28d;font-size:10px;cursor:pointer;padding:5px;white-space:nowrap; }.f-placement button svg { width:14px;height:14px; }.f-open .f-placement { left:24px;transform:none;max-width:calc(100% - 470px); }
.focus-ui .file-controls { display:flex;flex-wrap:wrap;gap:8px;margin:0; }.focus-ui .file-controls .btn { flex:1 1 44%;display:flex;gap:8px;justify-content:center;min-height:42px;background:#2b4235;border:1px solid #69805b;border-radius:4px; }.focus-ui .file-controls .btn span { display:inline!important; }.focus-ui .file-controls .btn svg { width:16px;height:16px; }
.f-session-steps { display:flex;gap:8px;margin:15px 0; }.f-session-steps .f-button { flex:1; }
.focus-ui .shift-briefing { top:50%;left:48px;transform:translateY(-50%);background:#1d2b29f7;border:1px solid #708263;border-top:3px solid #e4a065;border-radius:7px;width:400px;padding:26px; }
.focus-ui .shift-briefing h1 { font-size:34px;font-weight:550;letter-spacing:-.035em; }.focus-ui .shift-briefing p { color:#b5c8b6; }.focus-ui .brief-kicker { color:#e2b280; }.focus-ui .brief-start { background:#e79758;color:#172620;border:1px solid #efb17a; }.focus-ui .brief-blank { background:#304631;border:1px solid #728260; }.focus-ui .brief-facts b { color:#d5c291; }
.focus-ui .toast { top:80px;bottom:auto;max-width:min(480px,calc(100% - 32px));left:50%;transform:translate(-50%,-10px);z-index:80;background:#273d30;border:1px solid #9aae77;color:#e5efd6;border-radius:5px;padding:12px 18px;font-size:12px;box-shadow:0 10px 40px #0005; }.focus-ui .toast.show { transform:translate(-50%,0); }.focus-ui .toast.err { background:#553729;border-color:#cb9271; }
.f-confirm { padding:27px;border:1px solid #a09271;border-radius:7px;background:#23332b;color:#e5ecdc;max-width:480px;width:calc(100% - 32px);box-shadow:0 25px 100px #0008; }.f-confirm::backdrop { background:#111b19c7; }.f-confirm h2 { font-size:25px;line-height:1.2;font-weight:550;margin:10px 0 18px; }.f-confirm-facts { display:grid;grid-template-columns:repeat(3,1fr);gap:10px;padding:16px 0;border-top:1px solid #587056;border-bottom:1px solid #587056; }.f-confirm-facts small { display:block;font-size:10px;color:#9cb99e; }.f-confirm-facts b { font-size:20px;color:#eed5ac;font-weight:600; }.f-confirm-actions { display:flex;gap:10px;margin-top:20px; }.f-confirm-actions .f-button { flex:1; }
.focus-ui.f-advanced .dock { display:block!important;position:fixed;right:18px;top:80px;bottom:109px;left:auto;width:440px;height:auto;max-height:none;border:1px solid #64755d;border-radius:7px;background:#1e2b27;box-shadow:0 15px 50px #0005;z-index:25;overflow:auto;transform:none; }
.focus-ui.f-advanced .dock-nav,.focus-ui.f-advanced .sheet-handle { display:none; }.focus-ui.f-advanced .dock-views { padding:17px 20px;height:100%; }.focus-ui.f-advanced .view-head { padding-right:30px; }.focus-ui.f-advanced .panel { background:transparent; }
.f-legacy-close { position:fixed;right:28px;top:91px;z-index:27;pointer-events:auto; }
@media(min-width:901px) and (max-width:1250px){
 .focus-ui .brand-sub { display:none; }.focus-ui .brand-name { font-size:11px; }.focus-ui .topbar { gap:14px;padding:0 16px; }.f-header-stats { padding-left:17px;gap:17px; }.f-header-stats b { font-size:15px; }.f-header-stats small { font-size:8px; }.focus-ui .clock { font-size:11px; }.f-open .f-flow { width:430px; }.f-open .f-goal { width:262px; }.f-command { width:490px; }
}
@media(max-width:900px){
 body.focus-ui { --topbar-h:57px; }.focus-ui .app { grid-template-rows:57px 1fr; }.focus-ui .topbar { padding:0 12px;gap:9px; }.focus-ui .brand { display:flex!important; }.focus-ui .brand-text { display:none; }.focus-ui .brand-mark { width:23px;height:25px; }.focus-ui .clock-group { display:none; }.f-header-stats { gap:14px;padding-left:8px;border:0;flex:1; }.f-header-stats button { min-height:39px; }.f-header-stats small { font-size:7px;letter-spacing:.05em; }.f-header-stats b { font-size:12px; }.f-header-stats #f-deliveries { display:none; }.focus-ui #run-toggle { min-width:49px;width:49px;min-height:36px;font-size:11px;padding:6px; }.focus-ui #run-speed { width:41px;min-height:36px;font-size:11px;padding:4px; }.focus-ui .time-controls { margin-left:auto;gap:4px; }.f-session-button { min-width:30px;min-height:34px;border:0; }.f-session-button svg { width:17px; }
 .f-goal { top:13px;left:13px;width:min(315px,calc(100% - 26px));padding:13px 15px 12px; }.f-goal h2 { font-size:18px;margin:6px 0; }.f-goal p { font-size:11px;line-height:1.45;margin-bottom:9px; }.f-eyebrow { font-size:8px; }.f-goal-action { font-size:11px; }.f-goal-meter { margin-top:11px; }.f-signal { top:174px;left:13px;right:auto;max-width:calc(100% - 26px);font-size:10px;padding:9px 11px; }
 .f-command { left:10px;bottom:max(12px,env(safe-area-inset-bottom));transform:none;width:calc(100% - 20px);height:59px;padding:4px;border-radius:7px;gap:3px; }.f-command button { flex-direction:column;gap:3px;position:relative;padding:5px 3px;font-size:9px; }.f-command button svg { width:20px;height:20px; }.f-command kbd { display:none; }.f-nav-count { position:absolute;right:7px;top:3px;font-size:8px;height:14px;line-height:12px;min-width:14px; }
 .f-flow,.f-open .f-flow { bottom:85px;left:13px;transform:none;width:calc(100% - 26px);padding:9px 10px;border-radius:5px; }.f-flow-caption { font-size:7px;margin-bottom:8px; }.f-flow-caption span { font-size:8px; }.f-flow-item { gap:5px;padding:0 8px; }.f-flow-item svg { width:15px;height:15px; }.f-flow-item small { font-size:8px; }.f-flow-item strong { font-size:13px; }.f-flow-item em { font-size:10px; }
 .focus-ui .hud-mapcontrols,.focus-ui.f-open .hud-mapcontrols { grid-template-columns:34px;right:13px;left:auto;bottom:179px;gap:5px; }.focus-ui .mapbtn { width:34px;height:34px;min-width:34px; }.focus-ui .mapbtn svg { width:15px;height:15px; }.focus-ui #heatmap,.focus-ui #gridtoggle { display:none; }
 .f-map-note { display:none; }.f-drawer { left:10px;right:10px;bottom:83px;top:auto;height:min(64dvh,625px);width:auto;z-index:12;border-radius:9px;box-shadow:0 -12px 44px #0006; }.f-drawer-head { padding:15px 16px 13px; }.f-drawer-head h2 { font-size:20px; }.f-view { padding:16px; }.f-drawer-head .f-icon { width:35px;min-height:35px; }
 .f-open .f-flow,.f-open .f-goal,.f-open .f-signal,.f-open .hud-mapcontrols { display:none; }
 .f-placement,.f-open .f-placement { bottom:168px;left:13px;transform:none;width:calc(100% - 26px);max-width:none;gap:8px;padding:10px;font-size:10px; }.f-placement>span { flex:1;line-height:1.5; }.f-placement button { padding:6px; }
 .f-open .f-placement { display:none; }.f-building-art { height:156px; }.f-button { min-height:43px;font-size:12px; }.f-button.small { min-height:36px; }.f-toggle { min-height:66px; }.f-toggle input { width:22px;height:22px; }.f-system-row small { font-size:10px; }.f-details summary { min-height:38px;display:flex;align-items:center; }.focus-ui .offer-foot .btn { min-height:43px; }.focus-ui .offer-details summary { min-height:38px; }
 .focus-ui .shift-briefing { left:13px;top:20px;transform:none;width:calc(100% - 26px);padding:22px;max-height:calc(100% - 185px); }.focus-ui .shift-briefing h1 { font-size:29px; }.focus-ui .shift-briefing p { font-size:11px; }.focus-ui .brief-facts { padding:9px 0 13px; }.focus-ui .brief-blank { min-height:40px; }
 .focus-ui.f-advanced .dock { left:10px;right:10px;top:90px;bottom:83px;width:auto;max-height:none; }.focus-ui.f-advanced .dock-views { padding:18px 16px; }.f-legacy-close { right:21px;top:100px; }.focus-ui .toast { top:69px;font-size:11px; }
}
@media(max-width:370px){.focus-ui .topbar { gap:4px;padding:0 8px; }.f-header-stats { gap:9px;padding-left:4px; }.f-header-stats b { font-size:11px; }.f-session-button { min-width:25px; }.focus-ui .brand-mark { width:19px;height:21px; }.f-flow-item { padding:0 5px; }.f-flow-item svg { display:none; }.f-goal h2 { font-size:17px; }}
@media(max-height:670px) and (min-width:901px){.f-goal { width:270px;padding:14px; }.f-goal h2 { font-size:17px; }.f-goal p { font-size:11px; }.f-goal-meter { margin-top:10px; }.f-drawer { bottom:100px; }.f-flow { bottom:105px; }.f-command { height:57px;bottom:24px; }}
@media(prefers-reduced-motion:reduce){.focus-ui * { scroll-behavior:auto!important;transition:none!important;animation:none!important; }}
/* Catalog uses one explicit text column; never inherit the old icon-grid tracks. */
.focus-ui .building { display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:3px;min-height:107px;padding:13px 13px 13px 116px; }
.focus-ui .building[hidden],.focus-ui .building-grid[hidden],.focus-ui .route-bar[hidden] { display:none!important; }
.focus-ui .building .building-icon { display:grid;place-items:center;left:8px;top:8px;width:98px;height:89px;border:0;background:#21372d;overflow:hidden; }
.focus-ui .building .building-icon canvas { width:98px;height:89px;display:block; }
.focus-ui .building-title { font-size:14px;line-height:1.25; }
.focus-ui .building-size { line-height:1.45;font-size:11px; }
.focus-ui .building-role { font-size:10px;line-height:1.4;color:#afc5b6; }
.focus-ui .building-cost { line-height:1.25; }
.focus-ui .route-bar { flex-wrap:wrap; }

/* V0.950.0: planned work is a physical sequence, not a new analytics dashboard. */
.f-work-summary-head,.f-work-head {display:flex;justify-content:space-between;align-items:center;gap:8px;}
#f-work-summary {margin-bottom:22px;padding:14px;background:#21302c;border:1px solid #465e50;border-radius:7px;}
.f-work-summary-head h3 {font-size:14px;margin:0 0 10px;}
.f-work-link {width:100%;display:flex;align-items:center;gap:10px;padding:12px 0;background:none;border:0;border-bottom:1px solid #415249;text-align:left;}
.f-work-link svg {width:18px;height:18px;fill:none;stroke:#c2d4b7;}
.f-work-link>span {flex:1;min-width:0;}.f-work-link b,.f-work-link small {display:block;}.f-work-link b {font-size:12px;font-weight:600;}.f-work-link small {margin-top:4px;color:#bcc9be;font-size:11px;}
.f-work-link em {font-size:10px;font-style:normal;color:#c3dbb2;}.f-work-link em.offline {color:#f1b77e;}
.f-work-card {background:#22322e;border:1px solid #64775d;border-radius:7px;padding:16px;margin:18px 0;}
.f-work-card h3 {font-size:20px;line-height:1.25;margin:13px 0 16px;letter-spacing:-.025em;}
.f-work-live {font-size:8px;color:#c7e5b5;letter-spacing:.06em;padding:5px;border:1px solid #688660;border-radius:3px;white-space:nowrap;}
.f-work-live.offline {border-color:#a78551;color:#f6bd83;}
.f-work-steps {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:3px;margin:12px 0 16px;}
.f-work-steps span {border-top:3px solid #45524d;padding-top:8px;font-size:10px;color:#a8b9ac;text-align:center;}
.f-work-steps span.done {border-color:#a9c894;color:#e0ebd6;}.f-work-steps span.current {border-color:#f6b06b;color:#ffd5a4;font-weight:700;}
.f-kit-count {display:flex;flex-wrap:wrap;justify-content:space-between;gap:6px;padding:10px 0;margin-bottom:4px;font-size:11px;}.f-kit-count span {color:#b9c8bb;}
.f-window-field {display:block;margin:16px 0 10px;}.f-window-field>span {display:block;font-size:11px;color:#d2dece;margin:0 0 8px;}
.f-window-field select {width:100%;min-height:42px;border:1px solid #6a7d6e;border-radius:4px;background:#1b2825;color:#eef4e5;padding:9px 10px;font:inherit;font-size:12px;}
.f-work-card>.f-button {width:100%;margin-top:10px;}.f-button.subtle {color:#b9c7b8;background:none;border-color:#546853;font-size:11px;}
.f-work-time {font-size:23px;letter-spacing:-.03em;margin:16px 0 8px;color:#ffd19a;}
.f-road-price {font-size:23px;color:#f6c78b;padding:14px 0;}
.f-forecast-result {background:#26392c;border:1px solid #658664;color:#d7efc0;font-size:17px;font-weight:600;padding:14px;border-radius:6px;margin-bottom:17px;}
.f-forecast-result.warning {background:#3b2c22;border-color:#9b7348;color:#ffcf9a;}.f-forecast-assumption {border-top:1px solid #46574d;padding-top:13px;font-size:11px;line-height:1.7;color:#afbeb1;}
.f-brief-panel {margin-bottom:20px;background:#21302a;border:1px solid #4b634b;border-radius:6px;padding:13px;}
.f-brief-panel>summary {font-size:12px;font-weight:650;line-height:1.45;cursor:pointer;color:#d9e8c9;}
.f-brief-choice {padding:16px 0;border-top:1px solid #455942;margin-top:14px;}.f-brief-choice h3 {font-size:16px;margin:8px 0;}.f-brief-choice .f-button {width:100%;}
.f-brief-step {display:flex;gap:11px;padding:12px 0;border-top:1px solid #40523f;}.f-brief-step>span:first-child {font-size:18px;color:#b5c7a6;}.f-brief-step b {display:block;font-size:12px;font-weight:600;}.f-brief-step small {display:block;font-size:11px;line-height:1.65;color:#b8c7af;margin-top:4px;}.f-brief-step.complete>span:first-child {color:#daecc1;}.f-brief-step.complete b {color:#c6dcbc;}
.f-details>button[data-building-id] {width:100%;display:block;text-align:left;margin-top:7px;}
.focus-ui .f-confirm {max-height:calc(100dvh - 32px);overflow:auto;}
@media(max-width:600px){.f-work-card {padding:13px;}.f-work-card h3 {font-size:18px;}.f-work-head {align-items:flex-start;}.f-work-live {font-size:7px;}.f-work-steps span {font-size:9px;}.f-confirm-facts {gap:5px;}.f-confirm-facts b {font-size:14px;}.f-work-time {font-size:20px;}}
@media(prefers-reduced-motion:reduce){.f-work-card *,.f-brief-panel * {animation:none!important;transition:none!important;}}

/* Focus the pending decision before secondary telemetry. */
#f-inspect.has-plan .f-work-card {scroll-margin-top:10px;}
@media(max-width:900px){.f-drawer-head .f-icon{width:44px;min-width:44px;min-height:44px;}#f-inspect.has-plan .f-building-art{height:120px;}.f-work-card .f-note{font-size:11px;line-height:1.55;}}
