:root{--bg: #10141b;--panel: #1a212c;--panel-2: #222b39;--line: #303c4e;--text: #e6ecf5;--muted: #93a2b8;--accent: #4da3ff;--good: #4ec98a;--warn: #e5b45c;--bad: #e8695f;--radius: 8px;--font: ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--mono: ui-monospace, "Cascadia Mono", "SF Mono", Menlo, Consolas, monospace}*{box-sizing:border-box}html,body{margin:0;height:100%;overflow:hidden;background:var(--bg);color:var(--text);font-family:var(--font);font-size:13px;-webkit-user-select:none;user-select:none}#viewport{display:block;width:100vw;height:100vh}#ui-root{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none}#ui-root>*{pointer-events:auto}#ui-root>.bubble-layer,#ui-root>#toasts{pointer-events:none}.panel{position:absolute;background:color-mix(in srgb,var(--panel) 92%,transparent);border:1px solid var(--line);border-radius:var(--radius);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);box-shadow:0 8px 28px #00000073}.panel h2{margin:0;padding:9px 12px;font-size:12px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--muted);border-bottom:1px solid var(--line)}#hud{top:12px;left:268px;right:302px;display:flex;align-items:stretch;justify-content:flex-start;gap:1px;padding:0;overflow-x:auto;overflow-y:hidden;scrollbar-width:none}#hud::-webkit-scrollbar{display:none}.hud-stat{flex:0 0 auto}.hud-stat{padding:7px 14px;display:flex;flex-direction:column;justify-content:center;gap:1px;min-width:76px;height:46px;background:var(--panel)}.hud-stat[data-cell=money],.hud-stat[data-cell=profit]{min-width:132px}.hud-stat[data-cell=clock]{min-width:116px}.hud-stat .label{font-size:9px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);white-space:nowrap}.hud-stat .value{font-family:var(--mono);font-size:15px;font-variant-numeric:tabular-nums;white-space:nowrap}.hud-stat .value.good{color:var(--good)}.hud-stat .value.bad{color:var(--bad)}#speed{bottom:12px;left:50%;transform:translate(-50%);display:flex;gap:1px;overflow:hidden}#speed button{background:var(--panel);border:0;color:var(--muted);font-family:var(--mono);font-size:12px;padding:8px 15px;cursor:pointer}#speed button:hover{background:var(--panel-2);color:var(--text)}#speed button.active{background:var(--accent);color:#07121f;font-weight:700}#build{top:12px;left:12px;width:232px;max-height:calc(100vh - 24px);display:flex;flex-direction:column}#build .scroll{overflow-y:auto;padding:8px}.build-group+.build-group{margin-top:10px}.build-group>.group-label{font-size:9px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:0 0 5px 3px}.build-item{display:flex;align-items:center;gap:9px;width:100%;padding:6px 8px;margin-bottom:3px;background:var(--panel-2);border:1px solid transparent;border-radius:6px;color:var(--text);font-family:var(--font);font-size:12px;text-align:left;cursor:pointer}.build-item:hover{border-color:var(--line)}.build-item.active{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 16%,var(--panel-2))}.build-item .swatch{width:14px;height:14px;border-radius:3px;flex:none;box-shadow:inset 0 0 0 1px #00000059}.build-item .name{flex:1}.build-item .cost{font-family:var(--mono);font-size:11px;color:var(--muted)}.hint{padding:7px 10px;border-top:1px solid var(--line);font-size:11px;color:var(--muted);line-height:1.5}kbd{font-family:var(--mono);font-size:10px;background:var(--panel-2);border:1px solid var(--line);border-bottom-width:2px;border-radius:3px;padding:0 4px}#right-rail{position:absolute;top:12px;right:12px;bottom:12px;width:278px;display:flex;flex-direction:column;gap:10px;pointer-events:none;z-index:5}#right-rail>*{pointer-events:auto}#inspector{position:relative;width:auto;max-height:52%;display:none;flex:0 1 auto;min-height:0;flex-direction:column}#inspector.open{display:flex}#inspector .scroll{overflow-y:auto;padding:4px 0 8px}#staff-dock{position:relative;flex:1 1 auto;min-height:0;display:flex;flex-direction:column}#staff-dock.empty{display:none}#staff-dock>h2{display:flex;align-items:center;gap:6px}#staff-dock .dock-count{margin-left:auto;font-variant-numeric:tabular-nums;opacity:.75}#staff-dock .scroll{overflow-y:auto;min-height:0;padding:4px 0 2px}.dock-person{display:flex;gap:8px;padding:6px 8px;border-radius:7px;cursor:pointer;align-items:flex-start}.dock-person:hover{background:var(--panel-2)}.dock-person.selected{background:color-mix(in srgb,var(--accent) 22%,var(--panel-2))}.dock-person.off-shift{opacity:.5}.dock-person .avatar{flex:0 0 auto;border-radius:9px}.dock-person .who{flex:1;min-width:0}.dock-person .line1{display:flex;align-items:baseline;gap:6px}.dock-person .nm{font-weight:600;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dock-person .pay{margin-left:auto;font-size:10.5px;opacity:.7;font-variant-numeric:tabular-nums;white-space:nowrap}.dock-person .line2{font-size:10.5px;margin-top:1px}.dock-person .job{font-weight:600;letter-spacing:.02em}.dock-person .gauges{display:flex;gap:6px;margin-top:4px}.dock-person .gauges .g{flex:1;display:flex;align-items:center;gap:4px;min-width:0}.dock-person .gauges .bar{flex:1;position:relative;height:4px;border-radius:3px;background:var(--panel-2);overflow:hidden;min-width:0}.dock-person .gauges .bar>b{position:absolute;inset:0 auto 0 0;display:block;border-radius:3px}.dock-person .gauges .gv{font-size:9.5px;opacity:.72;white-space:nowrap;flex:0 0 auto}.dock-person .doing{margin-top:3px;font-size:10.5px;opacity:.9;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}#staff-dock .dock-foot{display:flex;align-items:center;gap:8px;padding:6px 8px;border-top:1px solid var(--line);font-size:10.5px;opacity:.85}#staff-dock .dock-foot button{margin-left:auto;font-size:10.5px;padding:3px 9px}.insp-close{position:absolute;top:6px;right:8px;background:none;border:0;color:var(--muted);font-size:16px;line-height:1;cursor:pointer;padding:2px 4px}.insp-close:hover{color:var(--text)}.insp-section{font-size:9px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);padding:9px 12px 4px}.row{display:flex;justify-content:space-between;gap:10px;padding:3px 12px;line-height:1.5}.row .k{color:var(--muted)}.row .v{font-family:var(--mono);font-size:11.5px;text-align:right}.bar{position:relative;height:5px;width:74px;border-radius:3px;background:var(--panel-2);overflow:hidden;align-self:center}.bar>i{position:absolute;inset:0 auto 0 0;display:block;border-radius:3px}#toasts{position:absolute;bottom:56px;left:50%;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:6px;pointer-events:none}.toast{background:var(--panel);border:1px solid var(--line);border-left:3px solid var(--accent);border-radius:6px;padding:8px 14px;font-size:12px;box-shadow:0 6px 20px #00000080;animation:toast-in .18s ease-out}.toast.error{border-left-color:var(--bad)}.toast.success{border-left-color:var(--good)}@keyframes toast-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}#config-error{position:absolute;top:0;right:0;bottom:0;left:0;background:#080b10ed;padding:48px;overflow:auto;display:none}#config-error.open{display:block}#config-error h1{color:var(--bad);font-size:18px;margin:0 0 14px}#config-error pre{font-family:var(--mono);font-size:12px;line-height:1.6;color:var(--text);white-space:pre-wrap;-webkit-user-select:text;user-select:text}.bubble-layer{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;overflow:hidden}.bubble{position:absolute;top:0;left:0;max-width:190px;padding:5px 9px 6px;background:#f4f7fb;color:#1b2430;font-size:11.5px;line-height:1.35;border-radius:9px;box-shadow:0 3px 10px #00000073;white-space:normal;text-align:center;will-change:transform,opacity;transition:opacity .15s linear}.bubble:after{content:"";position:absolute;bottom:-5px;left:50%;margin-left:-5px;border-left:5px solid transparent;border-right:5px solid transparent;border-top:6px solid #f4f7fb}.bubble.ai{background:#eef3ff;box-shadow:0 3px 10px #00000073,0 0 0 1.5px #7fa9d4}.bubble.ai:after{border-top-color:#eef3ff}.row.slot-head{padding-top:8px;font-weight:600}.row.sub{padding-top:1px;padding-bottom:4px}.row .v.good{color:var(--good)}.row .v.warn{color:var(--warn)}.row .v.bad{color:var(--bad)}.row.sub .k{font-size:11px;color:var(--muted);line-height:1.4}.row .bar{width:100%}#inventory{display:none;flex-direction:column;top:68px;left:256px;right:302px;max-height:calc(100vh - 150px)}@media (max-width: 1250px){#inventory{right:12px}}#inventory.open{display:flex}#inventory h2{display:flex;align-items:center;gap:10px}.market-source{font-size:10px;letter-spacing:.02em;text-transform:none;color:var(--muted);font-weight:400}.market-source.live{color:var(--good)}.inv-summary{display:flex;gap:1px;background:var(--line);border-bottom:1px solid var(--line);flex-wrap:wrap}.inv-stat{flex:1 1 auto;min-width:110px;background:var(--panel);padding:7px 12px;display:flex;flex-direction:column;gap:1px}.inv-stat .label{font-size:9px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.inv-stat .value{font-family:var(--mono);font-size:14px}.inv-stat .value.bad{color:var(--bad)}.inv-stat .value.warn{color:var(--warn)}.inv-controls{display:flex;gap:8px;padding:8px 12px;border-bottom:1px solid var(--line)}.inv-controls input,.inv-controls select{background:var(--panel-2);border:1px solid var(--line);border-radius:5px;color:var(--text);font-family:var(--font);font-size:12px;padding:5px 8px}.inv-controls input{flex:1}.inv-table-wrap{overflow:auto;flex:1}.inv-table{width:100%;border-collapse:collapse;font-size:12px}.inv-table th{position:sticky;top:0;background:var(--panel-2);color:var(--muted);font-size:9px;letter-spacing:.07em;text-transform:uppercase;font-weight:600;text-align:right;padding:7px 10px;cursor:pointer;white-space:nowrap;border-bottom:1px solid var(--line)}.inv-table th:hover{color:var(--text)}.inv-table th.left,.inv-table td.left{text-align:left}.inv-table td{padding:4px 10px;border-bottom:1px solid color-mix(in srgb,var(--line) 45%,transparent);text-align:right;white-space:nowrap}.inv-table tr:hover td{background:color-mix(in srgb,var(--panel-2) 55%,transparent)}.inv-table td.num{font-family:var(--mono);font-variant-numeric:tabular-nums}.inv-table td.muted{color:var(--muted)}.inv-table td.up{color:var(--bad)}.inv-table td.down{color:var(--good)}.inv-table td.bad{color:var(--bad);font-weight:600}.inv-table td.warn{color:var(--warn)}.cat-dot{display:inline-block;width:8px;height:8px;border-radius:2px;margin-right:7px;vertical-align:baseline}.order-cell{display:flex;align-items:center;gap:6px}.order-cell .auto{padding:3px 7px;font-size:12px;line-height:1;border-radius:6px;opacity:.55}.order-cell .auto:hover{opacity:1}.order-cell .auto.on{opacity:1;background:var(--accent);border-color:var(--accent);color:#0d1620;font-weight:700}.order-cell .at{width:44px;padding:3px 4px;font-family:var(--mono);font-size:11px;background:var(--panel-2);border:1px solid var(--accent);border-radius:5px;color:var(--text)}.order-cell .at[hidden]{display:none}.order-cell input[type=number]{width:62px;background:var(--panel-2);border:1px solid var(--line);border-radius:4px;color:var(--text);font-family:var(--mono);font-size:11.5px;padding:3px 5px;text-align:right}.order-cell button{background:var(--accent);border:0;border-radius:4px;color:#07121f;font-family:var(--mono);font-size:11px;font-weight:700;padding:4px 9px;cursor:pointer;min-width:62px}.order-cell button:hover{filter:brightness(1.1)}.order-cell button:disabled{background:var(--panel-2);color:var(--muted);cursor:not-allowed}.order-cell .method{font-size:9px;letter-spacing:.06em;text-transform:uppercase;padding:2px 5px;border-radius:3px;background:var(--panel-2);color:var(--muted)}.order-cell .method.truck{background:color-mix(in srgb,var(--warn) 22%,var(--panel-2));color:var(--warn)}.order-cell .method.warn{background:color-mix(in srgb,var(--bad) 22%,var(--panel-2));color:var(--bad)}#build{left:12px;width:244px;display:flex;flex-direction:column;top:96px;max-height:calc(100vh - 174px)}#build.collapsed{max-height:none}.side-panel .panel-body{display:flex;flex-direction:column;min-height:0;overflow:hidden}.side-panel.collapsed .panel-body{display:none}h2.collapsible{cursor:pointer;display:flex;align-items:center;gap:6px;-webkit-user-select:none;user-select:none}h2.collapsible:hover{color:var(--text)}h2.collapsible .chev{transition:transform .15s;display:inline-block;font-size:10px}.side-panel.collapsed h2.collapsible .chev{transform:rotate(-90deg)}h2.collapsible .count{margin-left:auto;font-family:var(--mono);font-size:11px;color:var(--muted);text-transform:none;letter-spacing:0}.tabs{display:flex;gap:1px;background:var(--line);border-bottom:1px solid var(--line)}.tabs button{flex:1;background:var(--panel);border:0;color:var(--muted);font-family:var(--font);font-size:11px;padding:6px 4px;cursor:pointer}.tabs button:hover{color:var(--text)}.tabs button.active{background:var(--panel-2);color:var(--accent);font-weight:600}.tabs button.refresh{flex:0 0 30px;font-size:13px}#build .scroll{overflow-y:auto;padding:8px;min-height:0}.wagebill{margin:0 0 8px;font-size:11px;color:var(--muted)}.wagebill b{color:var(--text);font-family:var(--mono)}.empty{margin:6px 2px;font-size:11px;color:var(--muted)}.blurb{margin:0 0 6px 2px;font-size:10.5px;color:var(--muted);line-height:1.4}.staff-card,.cand{background:var(--panel-2);border:1px solid transparent;border-radius:6px;padding:6px 8px;margin-bottom:6px}.staff-card.away{opacity:.6;border-color:var(--line)}.staff-card .row-1,.cand .row-1{display:flex;align-items:center;gap:6px}.staff-card .dot,.cand .dot,.prio-row .dot{width:8px;height:8px;border-radius:2px;flex:none;display:inline-block}.staff-card .name{background:none;border:0;padding:0;color:var(--text);font-family:var(--font);font-size:12px;font-weight:600;cursor:pointer;text-align:left;flex:1}.staff-card .name:hover{color:var(--accent);text-decoration:underline}.staff-card .wage,.cand .wage{font-family:var(--mono);font-size:11px;color:var(--muted)}.staff-card .row-2,.cand .row-2{display:flex;justify-content:space-between;gap:8px;font-size:10.5px;color:var(--muted);margin-top:2px}.staff-card .doing{color:var(--text)}.staff-card .row-3{display:flex;align-items:center;gap:6px;margin-top:5px}.mini{position:relative;height:4px;flex:1;border-radius:2px;background:var(--panel);overflow:hidden}.mini>i{position:absolute;inset:0 auto 0 0;display:block;border-radius:2px}.jobs-done,.trained{font-size:10px;color:var(--muted);font-family:var(--mono)}.trained{color:var(--warn)}.staff-card .row-4{display:flex;gap:5px;margin-top:6px}.staff-card .row-4 button{flex:1;background:var(--panel);border:1px solid var(--line);border-radius:4px;color:var(--text);font-family:var(--font);font-size:10.5px;padding:4px 6px;cursor:pointer}.staff-card .row-4 button:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.staff-card .row-4 button.danger:hover{border-color:var(--bad);color:var(--bad)}.staff-card .row-4 button:disabled{opacity:.4;cursor:not-allowed}.hire-group{margin-bottom:12px}.hire-group .group-label{display:flex;align-items:center;gap:6px;font-size:9px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:0 0 4px 2px}.hire-group .rare{background:color-mix(in srgb,var(--warn) 22%,transparent);color:var(--warn);border-radius:3px;padding:1px 4px;letter-spacing:.04em}.cand .quality{font-family:var(--mono);font-size:11px;font-weight:700;color:var(--good);background:color-mix(in srgb,var(--good) 15%,transparent);border-radius:3px;padding:1px 5px}.cand .name{font-size:12px;font-weight:600;flex:1}.cand .also{font-size:10px;color:var(--accent);margin-top:3px;line-height:1.4}.cand .also.muted{color:var(--muted)}.cand .row-3{display:flex;align-items:center;gap:6px;margin-top:6px}.cand .row-3 .wage{flex:1;color:var(--text)}.cand .row-3 button{background:var(--accent);border:0;border-radius:4px;color:#07121f;font-family:var(--mono);font-size:10.5px;font-weight:700;padding:4px 8px;cursor:pointer}.cand .row-3 button:hover:not(:disabled){filter:brightness(1.1)}.cand .row-3 button:disabled{background:var(--panel);color:var(--muted);cursor:not-allowed}.prio-help{margin:2px 12px 6px;font-size:10.5px;color:var(--muted);line-height:1.45}.prio-help.muted{opacity:.8}.prio-row{display:flex;align-items:center;gap:6px;padding:3px 12px}.prio-row.reluctant{opacity:.55}.prio-row.barred{opacity:.5}.prio-row .prio-closed{font-size:10.5px;font-style:italic;letter-spacing:.01em;white-space:nowrap;opacity:.85}.prio-row .k{flex:1;display:flex;align-items:center;gap:6px;font-size:11.5px}.prio-row .will{font-family:var(--mono);font-size:10px;color:var(--muted);min-width:20px;text-align:right}.prio-row .cells{display:flex;gap:2px}button.prio{width:20px;height:20px;padding:0;background:var(--panel-2);border:1px solid transparent;border-radius:4px;color:var(--muted);font-family:var(--mono);font-size:11px;cursor:pointer}button.prio:hover{border-color:var(--line);color:var(--text)}button.prio.active{background:var(--accent);color:#07121f;font-weight:700}button.prio.off.active{background:var(--bad);color:#fff}.row .k{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.row .v{flex:0 0 auto}.row-bar .k{flex:0 0 96px}.row-bar .bar{flex:1 1 auto;width:auto;min-width:40px}.row-bar .v{min-width:34px}#open-sign{position:absolute;left:12px;top:12px;width:244px;height:72px;z-index:6}#open-sign .plate{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;cursor:pointer;border-radius:12px;background:radial-gradient(120% 140% at 50% 0%,#241d29,#14101a 60%,#0d0a12);border:2px solid #2b2436;box-shadow:inset 0 0 18px #000000d9,0 6px 20px #00000080;font-family:var(--font);transition:box-shadow .16s ease,border-color .16s ease}#open-sign .word{font-size:25px;font-weight:800;letter-spacing:.16em;line-height:1;color:#4a4356;text-shadow:none;transition:color .16s ease,text-shadow .16s ease}#open-sign .sub{font-size:9px;letter-spacing:.22em;text-transform:uppercase;color:#55506a;transition:color .16s ease,text-shadow .16s ease}#open-sign.on .plate{border-color:#4de0ff;box-shadow:inset 0 0 22px #000c,inset 0 0 26px #4de0ff38,0 0 14px #4de0ff59,0 6px 22px #00000080}#open-sign.on .word{color:#fff0f7;text-shadow:0 0 4px #ff8ad4,0 0 11px #ff3ea5,0 0 26px rgba(255,62,165,.85),0 0 48px rgba(255,62,165,.45)}#open-sign.on .sub{color:#9fe9ff;text-shadow:0 0 8px rgba(77,224,255,.75)}#open-sign.on.idle .word{animation:neon-flicker 3.4s infinite steps(1,end)}#open-sign.on.idle .sub{color:var(--warn);text-shadow:none}@keyframes neon-flicker{0%,42%,46%,61%,65%,to{opacity:1}44%,63%{opacity:.42}}@media (prefers-reduced-motion: reduce){#open-sign.on.idle .word{animation:none;opacity:.75}}#open-sign .sched{position:absolute;right:6px;top:6px;width:22px;height:22px;padding:0;border-radius:6px;font-size:11px;line-height:1;background:#ffffff0f;border:1px solid rgba(255,255,255,.14);color:#cfd6e6;cursor:pointer}#open-sign .sched:hover{background:#ffffff24}#open-sign .sign-pop{position:absolute;left:0;top:78px;width:244px;padding:10px;border-radius:var(--radius);background:color-mix(in srgb,var(--panel) 96%,transparent);border:1px solid var(--line);box-shadow:0 10px 28px #00000080;z-index:7}#open-sign .sign-pop[hidden]{display:none}#open-sign .sign-pop h3{margin:0 0 8px;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}#open-sign .presets{display:grid;grid-template-columns:1fr 1fr;gap:4px;margin-bottom:8px}#open-sign .presets button{font-size:11px;padding:5px 6px;border-radius:6px}#open-sign .presets button.active{background:var(--accent);border-color:var(--accent);color:#0d1620;font-weight:700}#open-sign .custom{display:flex;align-items:center;gap:5px;margin-bottom:8px}#open-sign .custom label{font-size:10.5px;color:var(--muted);display:flex;align-items:center;gap:3px}#open-sign .custom input{width:38px;padding:3px 4px;font-family:var(--mono);font-size:11px;background:var(--panel-2);border:1px solid var(--line);border-radius:5px;color:var(--text)}#open-sign .custom button{font-size:10.5px;padding:4px 8px;margin-left:auto}#open-sign .state{margin:0 0 8px;font-size:10.5px;color:var(--muted)}#open-sign .state.manual-now{color:var(--accent)}#open-sign .manual{width:100%;font-size:10.5px;padding:5px}#open-sign .manual[hidden]{display:none}#admin{left:12px;bottom:12px;width:244px;display:flex;flex-direction:column;z-index:5}#admin .admin-head{display:flex;align-items:center;gap:6px;cursor:pointer;-webkit-user-select:none;user-select:none}#admin .admin-head .caret{font-size:9px;opacity:.6;transition:transform .14s ease}#admin.collapsed .admin-head .caret{transform:rotate(-90deg)}#admin.collapsed .panel-body{display:none}#admin .admin-head .tag{margin-left:auto;font-size:8.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--warn);border:1px solid color-mix(in srgb,var(--warn) 45%,transparent);border-radius:999px;padding:1px 6px}#admin .admin-acts{display:grid;grid-template-columns:1fr 1fr;gap:6px;padding:8px}#admin .admin-acts button{font-size:11.5px;padding:7px 4px;border-radius:7px;font-variant-numeric:tabular-nums}#admin .admin-acts button[data-act=settings]{grid-column:1 / -1}#settings{display:none;flex-direction:column;top:68px;left:256px;right:302px;max-height:calc(100vh - 150px);z-index:6}@media (max-width: 1250px){#settings{right:12px}}#settings.open{display:flex}#settings h2{display:flex;align-items:center;gap:10px}.set-controls{display:flex;gap:8px;padding:8px 10px;border-bottom:1px solid var(--line)}.set-controls input[type=search]{flex:1}.set-body{overflow-y:auto;padding:4px 0 8px;font-size:12px}.set-body .muted{color:var(--muted);font-weight:400}.set-file>summary{cursor:pointer;-webkit-user-select:none;user-select:none;padding:8px 12px 4px;font-size:11px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--muted)}.set-file[open]>summary{color:var(--text)}.set-section-head{padding:7px 14px 3px;font-size:10.5px;letter-spacing:.04em;color:var(--muted);border-bottom:1px solid color-mix(in srgb,var(--line) 55%,transparent)}.set-row{display:flex;align-items:center;gap:10px;padding:2px 14px 2px 22px}.set-row:hover{background:color-mix(in srgb,var(--line) 35%,transparent)}.set-row .set-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text)}.set-row input{width:110px;text-align:right;font-variant-numeric:tabular-nums;padding:2px 6px}.set-row.changed .set-name{color:var(--warn)}.set-row.changed input{border-color:var(--warn)}.set-row.invalid input{border-color:var(--bad)}.set-row.hidden,.set-section.hidden,.set-file.hidden{display:none}.set-footer{display:flex;align-items:center;gap:8px;padding:8px 12px;border-top:1px solid var(--line);font-size:12px}.set-footer .muted{color:var(--muted)}.set-footer-spacer{flex:1}.set-footer button.primary{border-color:color-mix(in srgb,var(--good) 55%,transparent);color:var(--good)}#checklist{display:none;position:relative;width:auto;margin-top:auto;flex:0 1 auto;min-height:0;max-height:55%;flex-direction:column}#checklist.open{display:flex}#checklist h2{display:flex;align-items:center}#checklist h2 .insp-close{position:static;margin-left:auto}#checklist .scroll{overflow-y:auto;padding:6px 0}.check-step{display:flex;gap:9px;padding:6px 12px;opacity:.55}.check-step.done{opacity:.42}.check-step.next{opacity:1;background:color-mix(in srgb,var(--accent) 9%,transparent)}.check-step .box{flex:none;width:15px;height:15px;margin-top:1px;border:1px solid var(--line);border-radius:4px;font-size:10px;line-height:14px;text-align:center;color:var(--good)}.check-step.done .box{border-color:var(--good);background:color-mix(in srgb,var(--good) 18%,transparent)}.check-step.next .box{border-color:var(--accent)}.check-step .text{display:flex;flex-direction:column;gap:2px}.check-step .text b{font-size:12px;font-weight:600}.check-step.done .text b{text-decoration:line-through}.check-step .text em{font-style:normal;font-size:10.5px;color:var(--muted);line-height:1.4}#checklist .status{margin:0;padding:8px 12px;border-top:1px solid var(--line);font-size:11.5px;color:var(--muted)}#checklist .status.good{color:var(--good)}.build-item .swatch.zone{opacity:.75;box-shadow:inset 0 0 0 1px #ffffff59}#reset,#spawn{display:flex;background:var(--panel)}#reset button,#spawn button{background:none;border:0;border-left:1px solid var(--line);color:var(--muted);font-family:var(--font);font-size:11px;padding:0 14px;min-width:74px;cursor:pointer;white-space:nowrap}#reset button:hover,#spawn button:hover{background:var(--panel-2);color:var(--text)}#reset button.armed{background:var(--bad);border-left-color:var(--bad);color:#fff;font-weight:700}#drag-info{position:absolute;top:0;left:0;display:none;padding:5px 10px;background:var(--panel);border:1px solid var(--accent);border-radius:6px;color:var(--text);font-family:var(--mono);font-size:11.5px;white-space:nowrap;pointer-events:none;box-shadow:0 4px 14px #00000080;will-change:transform}#drag-info.open{display:block}#drag-info.unaffordable{border-color:var(--bad);color:var(--bad)}.hud-stat.clickable{cursor:pointer;position:relative}.hud-stat.clickable:hover{background:var(--panel-2)}.hud-stat.clickable:after{content:"";position:absolute;right:6px;bottom:6px;border-left:3px solid transparent;border-right:3px solid transparent;border-top:4px solid var(--muted);opacity:.55}.hud-stat.clickable:hover:after{opacity:1}#hud-sheet{top:0;left:0;width:380px;max-height:min(62vh,620px);display:none;flex-direction:column;padding:0;overflow:hidden}#hud-sheet.open{display:flex}#hud-sheet.jobs{width:470px}#hud-sheet>h2{margin:0;padding:9px 12px;font-size:11px;letter-spacing:.04em;text-transform:uppercase;color:var(--muted);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:8px}#hud-sheet>h2 .sheet-title{color:var(--text)}#hud-sheet .scroll{overflow-y:auto;padding:4px 0 8px}#hud-sheet .empty{margin:0;padding:18px 12px;color:var(--muted);font-size:12px}.sheet-day{position:sticky;top:0;padding:7px 12px 4px;font-size:9px;letter-spacing:.09em;text-transform:uppercase;color:var(--muted);background:var(--panel);border-bottom:1px solid var(--line)}.sheet-row{display:grid;grid-template-columns:40px 1fr auto 74px;align-items:baseline;gap:8px;padding:5px 12px;font-size:12px}.sheet-row.plain{grid-template-columns:1fr auto}.sheet-row:hover{background:var(--panel-2)}.sheet-row.job-row{grid-template-columns:1fr auto;align-items:center}.sheet-row.job-row .k{display:flex;flex-direction:column;gap:1px;min-width:0;color:var(--text)}.sheet-row.job-row .k em{font-style:normal;font-size:10.5px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sheet-row.job-row .v{font-size:11.5px;color:var(--accent);text-align:right;white-space:nowrap}.sheet-row.job-row .v.muted,.sheet-row .v.muted{color:var(--muted)}.sheet-row .when{font-family:var(--mono);font-size:10px;color:var(--muted)}.sheet-row .what{min-width:0;display:flex;align-items:baseline;gap:6px;flex-wrap:wrap}.sheet-row .what b{font-weight:500;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sheet-row .tag{font-style:normal;font-size:9px;letter-spacing:.05em;text-transform:uppercase;color:var(--muted);background:var(--panel-2);border:1px solid var(--line);border-radius:3px;padding:0 4px;white-space:nowrap}.sheet-row .tag.sale{color:var(--good);border-color:color-mix(in srgb,var(--good) 40%,var(--line))}.sheet-row .tag.purchase,.sheet-row .tag.build,.sheet-row .tag.hire,.sheet-row .tag.training{color:var(--warn);border-color:color-mix(in srgb,var(--warn) 35%,var(--line))}.sheet-row .tag.wages,.sheet-row .tag.overheads{color:var(--bad);border-color:color-mix(in srgb,var(--bad) 35%,var(--line))}.sheet-row .amount{font-family:var(--mono);font-size:12px;text-align:right;white-space:nowrap}.sheet-row.in .amount{color:var(--good)}.sheet-row.out .amount{color:var(--bad)}.sheet-row .balance{font-family:var(--mono);font-size:11px;color:var(--muted);text-align:right;white-space:nowrap}.sheet-note{padding:0 12px 6px;font-size:10px;color:var(--muted)}.sheet-total{display:flex;justify-content:space-between;gap:8px;margin:6px 0 2px;padding:9px 12px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--panel-2);font-size:12px;font-weight:600}.sheet-total span:last-child{font-family:var(--mono)}.sheet-total.good span:last-child{color:var(--good)}.sheet-total.bad span:last-child{color:var(--bad)}.range-grid{display:flex;flex-wrap:wrap;gap:4px;padding:4px 10px 8px}.range-chip{display:inline-flex;align-items:center;gap:5px;padding:3px 8px 3px 6px;border:1px solid var(--line);border-radius:999px;background:var(--panel);color:var(--muted);font-family:var(--font);font-size:11px;cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap}.range-chip:hover{border-color:var(--accent);color:var(--text)}.range-chip.on{background:var(--panel-2);color:var(--text);border-color:color-mix(in srgb,var(--accent) 30%,var(--line))}.range-chip .dot{width:8px;height:8px;border-radius:50%;border:1px solid var(--line);flex:none}.mood-row{display:grid;grid-template-columns:1fr 72px 48px;align-items:center;gap:8px;padding:4px 12px;font-size:12px}.mood-row:hover{background:var(--panel-2)}.mood-row .what{display:flex;align-items:baseline;gap:6px;min-width:0}.mood-row .what b{font-weight:500;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mood-row .what .tag{font-style:normal;font-size:10px;color:var(--muted);flex:none}.mood-row .track{height:5px;border-radius:3px;background:var(--panel-2);overflow:hidden}.mood-row .fill{display:block;height:100%;border-radius:3px}.mood-row.in .fill{background:var(--good)}.mood-row.out .fill{background:var(--bad)}.mood-row .amount{font-family:var(--mono);font-size:11px;text-align:right}.mood-row.in .amount{color:var(--good)}.mood-row.out .amount{color:var(--bad)}.feedback{display:flex;gap:8px;padding:6px 12px;font-size:12px;border-left:2px solid transparent}.feedback:hover{background:var(--panel-2)}.feedback.happy{border-left-color:color-mix(in srgb,var(--good) 65%,transparent)}.feedback.sad{border-left-color:color-mix(in srgb,var(--bad) 65%,transparent)}.feedback .face{font-size:14px;line-height:1.2;flex:none}.feedback.happy .face{color:var(--good)}.feedback.sad .face{color:var(--bad)}.feedback .body{min-width:0;display:flex;flex-direction:column;gap:1px}.feedback .body b{font-weight:500;color:var(--text)}.feedback .body em{font-style:normal;font-family:var(--mono);font-size:10px;color:var(--muted)}.feedback q{color:var(--text);opacity:.88;font-style:italic;quotes:"“" "”"}.feedback .detail{font-size:10px;color:var(--muted)}#staff-launch{top:12px;right:12px;display:flex;align-items:center;gap:8px;padding:9px 14px;color:var(--text);font-family:var(--font);font-size:12px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;cursor:pointer}#staff-launch:hover,#staff-launch.active{border-color:var(--accent);color:var(--accent)}#staff-launch .ico{font-size:15px;line-height:1}#staff-launch .count{font-family:var(--mono);font-size:11px;color:var(--muted);background:var(--panel-2);border-radius:10px;padding:2px 7px}#staff-launch.warn{border-color:var(--bad);color:var(--bad)}#staff-launch.warn .count{color:#1a0f0f;background:var(--bad);animation:staff-pulse 1.6s ease-in-out infinite}@keyframes staff-pulse{0%,to{opacity:1}50%{opacity:.55}}#staff-screen{position:absolute;top:0;right:0;bottom:0;left:0;z-index:40;display:flex;align-items:center;justify-content:center;padding:24px;background:#080b109e;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}#staff-screen[hidden]{display:none}#staff-screen .sheet{display:flex;flex-direction:column;width:min(1240px,100%);height:min(860px,100%);background:var(--panel);border:1px solid var(--line);border-radius:12px;box-shadow:0 24px 70px #0000008c;overflow:hidden}#staff-screen header{display:flex;align-items:center;gap:14px;padding:12px 16px;border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--panel-2) 60%,var(--panel))}#staff-screen header h2{margin:0;padding:0;border:0;font-size:15px;letter-spacing:.06em;text-transform:uppercase;color:var(--text)}#staff-screen header .bill{margin-left:auto;font-family:var(--mono);font-size:12px;color:var(--muted)}#staff-screen header .tabs{background:transparent;border:0;gap:4px}#staff-screen header .tabs button{flex:0 0 auto;padding:6px 14px;border-radius:6px;font-size:12px;background:var(--panel-2)}#staff-screen header .tabs button.active{background:var(--accent);color:#07121f}#staff-screen header .refresh,#staff-screen header .close{background:var(--panel-2);border:1px solid var(--line);border-radius:6px;color:var(--muted);font-family:var(--font);font-size:12px;padding:6px 10px;cursor:pointer}#staff-screen header .refresh:hover,#staff-screen header .close:hover{color:var(--accent);border-color:var(--accent)}#staff-screen .screen-body{flex:1;min-height:0;overflow-y:auto;padding:16px}#staff-screen .cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:12px;align-items:start}#staff-screen #staff-hire{display:block}#staff-screen .cards[hidden],#staff-screen #staff-hire[hidden]{display:none}#staff-screen .hire-group{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:12px;margin-bottom:20px}#staff-screen .hire-group .group-label{display:flex;align-items:center;gap:7px;margin:0;font-size:13px;font-weight:600;color:var(--text)}#staff-screen .hire-group .blurb{margin:0;font-size:11px}#staff-screen .hire-group .rare{font-size:9px;letter-spacing:.06em;text-transform:uppercase;color:var(--warn)}#staff-screen .hire-group .group-label,#staff-screen .hire-group .blurb,#staff-screen .hire-group>.empty{grid-column:1 / -1}#staff-screen .person{background:var(--panel-2);border:1px solid var(--line);border-radius:8px;padding:12px}#staff-screen .person.away{opacity:.55}#staff-screen .person.at-risk{border-color:var(--bad)}#staff-screen .person .head{display:flex;align-items:center;gap:7px;flex-wrap:wrap}#staff-screen .person .dot{width:9px;height:9px;border-radius:50%;flex:0 0 auto}#staff-screen .person .name{background:none;border:0;padding:0;color:var(--text);font-family:var(--font);font-size:14px;font-weight:600;cursor:pointer}#staff-screen .person .name.plain{cursor:default}#staff-screen .person .name:hover:not(.plain){color:var(--accent);text-decoration:underline}#staff-screen .person .job{font-size:11px;color:var(--muted)}#staff-screen .person .wage{margin-left:auto;font-family:var(--mono);font-size:11px;color:var(--muted)}#staff-screen .person .quality{font-family:var(--mono);font-size:11px;color:var(--accent);background:color-mix(in srgb,var(--accent) 16%,transparent);border-radius:4px;padding:1px 6px}#staff-screen .person .trained{font-size:11px;color:var(--warn)}#staff-screen .person .doing{margin-top:6px;font-size:11.5px;color:var(--text)}#staff-screen .person .warning{margin-top:6px;padding:5px 8px;border-radius:5px;font-size:11px;color:var(--bad);background:color-mix(in srgb,var(--bad) 14%,transparent)}#staff-screen .gauge{display:flex;align-items:center;gap:8px;margin-top:7px}#staff-screen .gauge .k{font-size:10px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);width:54px;flex:0 0 auto}#staff-screen .gauge .track,#staff-screen .tbar .track{position:relative;flex:1;height:6px;border-radius:3px;background:var(--panel);overflow:hidden}#staff-screen .gauge .track i,#staff-screen .tbar .track i{position:absolute;inset:0 auto 0 0;display:block;border-radius:3px;transition:width .25s linear}#staff-screen .gauge .val{font-family:var(--mono);font-size:11px;color:var(--muted);width:96px;text-align:right;flex:0 0 auto}#staff-screen .causes{margin-top:7px;font-size:10.5px;color:var(--muted);font-family:var(--mono)}#staff-screen .traits{display:flex;flex-wrap:wrap;gap:4px;margin-top:9px}#staff-screen .chip{font-size:10.5px;padding:3px 8px;border-radius:11px;background:color-mix(in srgb,var(--accent) 14%,var(--panel));border:1px solid color-mix(in srgb,var(--accent) 30%,transparent);color:var(--text);cursor:help}#staff-screen .chip.none{background:var(--panel);border-color:var(--line);color:var(--muted)}#staff-screen .temperament{display:grid;grid-template-columns:1fr 1fr;gap:4px 12px;margin-top:9px}#staff-screen .tbar{display:flex;align-items:center;gap:6px}#staff-screen .tbar .k{font-size:10px;color:var(--muted);width:62px;flex:0 0 auto}#staff-screen .tallies{display:flex;gap:12px;margin-top:9px;font-family:var(--mono);font-size:10.5px;color:var(--muted)}#staff-screen .also{margin-top:8px;font-size:10.5px;color:var(--muted)}#staff-screen .also.muted{opacity:.7}#staff-screen .actions{display:flex;gap:6px;margin-top:11px}#staff-screen .actions button{flex:1;background:var(--panel);border:1px solid var(--line);border-radius:5px;color:var(--text);font-family:var(--font);font-size:11px;padding:7px 6px;cursor:pointer}#staff-screen .actions button:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}#staff-screen .actions button.danger:hover{border-color:var(--bad);color:var(--bad)}#staff-screen .actions button:disabled{opacity:.4;cursor:not-allowed}#staff-screen .empty{font-size:12px;color:var(--muted)}#staff-screen #staff-schedule[hidden]{display:none}#staff-screen .rota-head{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-bottom:14px}#staff-screen .rota-head .hint{margin:0;font-size:11px;color:var(--muted);flex:1 1 260px}#staff-screen .rota-grid{display:flex;flex-direction:column;gap:3px;min-width:0}#staff-screen .rota-row{display:grid;grid-template-columns:250px minmax(0,1fr);align-items:center;gap:10px}#staff-screen .rota-row .who{display:grid;grid-template-columns:9px 1fr;grid-template-areas:"dot name" ". presets" ". job" ". when" ". totals";align-items:center;gap:1px 7px;padding:4px 0;min-width:0}#staff-screen .rota-row .who .presets{grid-area:presets;display:flex;gap:3px;margin:3px 0 2px}#staff-screen .rota-row .who .presets button{font-size:10.5px;padding:2px 9px;border-radius:999px;line-height:1.5}#staff-screen .rota-row .who .presets button.active{background:var(--accent);border-color:var(--accent);color:#10161d;font-weight:700}#staff-screen .rota-row.varies .who .when{color:var(--warn)}#staff-screen .rota-row .who .dot{grid-area:dot;width:9px;height:9px;border-radius:50%}#staff-screen .rota-row .who .name{grid-area:name;font-size:12.5px;font-weight:600;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#staff-screen .rota-row .who .job{grid-area:job;font-size:10.5px;color:var(--muted)}#staff-screen .rota-row .who .when{grid-area:when;font-size:11px;color:var(--accent);font-family:var(--mono)}#staff-screen .rota-row .who .totals{grid-area:totals;font-size:10px;color:var(--muted);font-family:var(--mono)}#staff-screen .rota-row.in .who .name:after{content:"";display:inline-block;width:6px;height:6px;margin-left:6px;border-radius:50%;background:var(--good);vertical-align:middle}#staff-screen .rota-row .slots{display:grid;grid-template-columns:repeat(24,minmax(0,1fr));gap:2px;min-width:0}#staff-screen .rota-row.head .hour{font-family:var(--mono);font-size:9.5px;color:var(--muted);text-align:center;padding-bottom:2px}#staff-screen .rota-row.head .hour.now{color:var(--accent);font-weight:700}#staff-screen .slot{height:24px;border-radius:3px;background:var(--panel);border:1px solid var(--line);cursor:pointer;transition:background .08s linear}#staff-screen .slot:hover{border-color:var(--accent)}#staff-screen .slot.on{background:var(--accent);border-color:var(--accent)}#staff-screen .cover-row .who .name{font-size:11px;font-weight:600;color:var(--muted)}#staff-screen .cover{height:18px;border-radius:3px;background:color-mix(in srgb,var(--good) 22%,var(--panel));color:var(--text);font-family:var(--mono);font-size:10px;line-height:18px;text-align:center}#staff-screen .cover.empty{background:color-mix(in srgb,var(--bad) 26%,var(--panel));color:var(--bad)}#staff-screen .cover-note{margin:12px 0 0;font-size:11.5px;color:var(--muted)}#staff-screen .cover-note.bad{color:var(--bad)}#staff-screen .row-acts{display:flex;gap:4px;justify-content:flex-end}#staff-screen .row-acts button{background:var(--panel-2);border:1px solid var(--line);border-radius:5px;color:var(--muted);font-family:var(--font);font-size:10.5px;padding:5px 8px;cursor:pointer;white-space:nowrap}#staff-screen .row-acts button:hover{border-color:var(--accent);color:var(--accent)}#tutorial-arrow{position:absolute;top:0;left:0;width:54px;height:54px;display:flex;align-items:center;justify-content:center;pointer-events:none;z-index:60;font-size:40px;line-height:1;color:var(--accent);text-shadow:0 2px 10px rgba(0,0,0,.7);animation:tutorial-nudge 1.1s ease-in-out infinite}#tutorial-arrow[hidden]{display:none}#tutorial-arrow .head{display:block;transform:rotate(180deg)}#tutorial-arrow.flip .head{transform:none}@keyframes tutorial-nudge{0%,to{margin-left:0}50%{margin-left:-8px}}#tutorial-arrow.flip{animation-name:tutorial-nudge-flip}@keyframes tutorial-nudge-flip{0%,to{margin-left:0}50%{margin-left:8px}}.tutorial-target{outline:2px solid var(--accent)!important;outline-offset:1px;border-radius:5px;animation:tutorial-pulse 1.1s ease-in-out infinite}@keyframes tutorial-pulse{0%,to{box-shadow:0 0 color-mix(in srgb,var(--accent) 55%,transparent)}50%{box-shadow:0 0 0 7px color-mix(in srgb,var(--accent) 0%,transparent)}}
