:root{--panel:#1b202aed;--panel-strong:#181d27f2;--blur:none;--hairline:#ffffff17;--panel-raised:#ffffff12;--panel-hover:#ffffff21;--border:#ffffff1a;--text:#eef1f5;--muted:#9aa5b6;--accent:#ffb547;--accent-ink:#2a1c05;--good:#6ad17d;--bad:#f87171;--radius-sm:10px;--radius:14px;--radius-lg:20px;--radius-pill:999px;--shadow:0 10px 28px #080c1452, 0 1px 3px #080c1447, inset 0 1px 0 var(--hairline);--shadow-low:0 4px 14px #080c144d, inset 0 1px 0 var(--hairline);--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--ease-out:cubic-bezier(.2, .8, .2, 1);--dur-fast:.13s;--dur-med:.2s;color:var(--text);font-family:ui-rounded,Nunito,Segoe UI,system-ui,-apple-system,sans-serif}@supports ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){:root{--panel:#161b25d1;--panel-strong:#161b25ed;--blur:blur(18px) saturate(1.5)}}.pill,.statusbar,.nav,.toolbar,.hint,.toast,.keyhints,.tooltip,.hover-card,.ghost-cost,.machine-panel,.stats-panel,.contracts-panel,.expansion-panel,.blueprints-panel,.modal,.debug-panel{-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur)}*{box-sizing:border-box}:root[data-motion=reduced] *,:root[data-motion=reduced] :before,:root[data-motion=reduced] :after{transition-duration:1ms!important;animation-duration:1ms!important;animation-iteration-count:1!important}html,body{-webkit-user-select:none;user-select:none;background:#86b86a;height:100%;margin:0;overflow:hidden}#viewport{position:fixed;inset:0}#viewport canvas{touch-action:none;width:100%;height:100%;display:block}#ui{pointer-events:none;position:fixed;inset:0;overflow:hidden}#ui>*{pointer-events:auto}#ui[data-scaled]{width:calc(100% / var(--ui-scale));height:calc(100% / var(--ui-scale));transform:scale(var(--ui-scale));transform-origin:0 0;bottom:auto;right:auto}.hidden{display:none!important}.muted{color:var(--muted)}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0}button:focus-visible,input:focus-visible{outline:2px solid var(--accent);outline-offset:2px}button:disabled{cursor:not-allowed}.button{border-radius:var(--radius-sm);background:var(--panel-raised);border:1px solid var(--border);transition:background var(--dur-fast), transform var(--dur-fast) var(--ease-out);padding:9px 14px;font-size:14px;font-weight:700}.button:hover{background:var(--panel-hover)}.button:active:not(:disabled){transform:scale(.97)}.button.primary{background:var(--accent);color:var(--accent-ink);border-color:#0000}.button.primary:hover{background:#ffc569}.button.danger{color:var(--bad)}.floating-text{color:#ffe27a;text-shadow:0 1px #6b4a00,0 2px 6px #00000073;white-space:nowrap;will-change:transform, opacity;font-size:17px;font-weight:900;position:absolute;top:0;left:0;pointer-events:none!important}.fatal{text-align:center;background:#1b202a;place-items:center;padding:24px;font-size:18px;line-height:1.5;display:grid;position:fixed;inset:0}.topbar{justify-content:space-between;align-items:flex-start;gap:var(--space-2);display:flex;position:absolute;top:14px;left:14px;right:14px;pointer-events:none!important}.topbar-group{gap:var(--space-2);pointer-events:auto;display:flex}.topbar-group:first-child{flex-wrap:wrap;flex:auto;min-width:0}.topbar-group:last-child{flex:none}.topbar.stacked{flex-wrap:wrap}.topbar.stacked .topbar-group:last-child{margin-left:auto}.pill,.statusbar,.nav{border-radius:var(--radius-pill);background:var(--panel);border:1px solid var(--border);height:44px;box-shadow:var(--shadow);align-items:center;display:flex}.pill{font-variant-numeric:tabular-nums;gap:8px;padding:0 16px;font-size:17px;font-weight:800}.statusbar{font-variant-numeric:tabular-nums;padding:0 4px;font-weight:800}.status-item{border-radius:var(--radius-pill);white-space:nowrap;align-items:center;gap:6px;height:34px;padding:0 12px;font-size:14.5px;display:flex}.status-item+.status-item{box-shadow:-1px 0 0 var(--border);margin-left:1px}button.status-item{transition:background var(--dur-fast)}button.status-item:hover{background:var(--panel-hover);box-shadow:none}.status-item.money{padding-left:10px;font-size:17px}.coin{background:radial-gradient(circle at 35% 30%,#ffe89a,#ffcf40 55%,#d9a11a);border-radius:50%;width:18px;height:18px;box-shadow:inset 0 0 0 2px #8a5a0059}.money-value{min-width:52px;display:inline-block}.money-value.bump{animation:.28s ease-out bump}@keyframes bump{30%{color:#ffe27a;transform:scale(1.1)}}.status-item.income{color:var(--good)}.status-item.power{color:#ffd76a;gap:2px;padding-left:8px}.status-item.prestige-button{color:#ffcf40;gap:2px;padding-left:8px}.status-icon{display:grid}.status-icon svg{width:18px;height:18px}.status-item.power.short{color:var(--bad);animation:1.4s ease-in-out infinite power-short}@keyframes power-short{50%{background:#f8717138}}.nav{gap:2px;padding:0 4px}.nav-button{border-radius:var(--radius-pill);height:34px;color:var(--muted);white-space:nowrap;transition:background var(--dur-fast), color var(--dur-fast), transform var(--dur-fast);align-items:center;gap:6px;padding:0 12px 0 9px;font-size:13.5px;font-weight:700;display:flex;position:relative}.nav-icon{display:grid}.nav-icon svg{width:20px;height:20px}.nav-button:hover{background:var(--panel-hover);color:var(--text)}.nav-button:active,.speed-button:active,.pill.icon-button:active{transform:scale(.94)}.nav-button.active{background:var(--accent);color:var(--accent-ink)}.nav-divider{background:var(--border);width:1px;height:20px;margin:0 4px}.topbar.compact .nav-button:not(.active){padding:0 8px}.topbar.compact .nav-button:not(.active) .nav-label{display:none}.nav-button.has-dot:not(.active):after{content:"";background:var(--accent);border-radius:50%;width:9px;height:9px;position:absolute;top:3px;left:24px;box-shadow:0 0 0 2px #232936}.arrived{animation:arrive .45s var(--ease-out), arrive-glow 2.6s ease-out}@keyframes arrive{0%{opacity:0;transform:scale(.7)}}@keyframes arrive-glow{0%,55%{box-shadow:0 0 0 2px var(--accent), 0 0 16px #ffb54799}to{box-shadow:0 0 0 2px #ffb54700,0 0 16px #ffb54700}}.pill.speed{gap:2px;padding:0 5px}.speed-button{border-radius:var(--radius-pill);min-width:38px;height:34px;color:var(--muted);transition:background var(--dur-fast), transform var(--dur-fast);place-items:center;font-size:14px;font-weight:800;display:grid}.speed-button svg{width:16px;height:16px}.speed-button .paused-label{display:none}.speed-button.active:first-child{gap:4px;padding:0 12px 0 8px;display:flex}.speed-button.active .paused-label{display:inline}#ui.paused:after{content:"";pointer-events:none;border:3px solid #ffb54799;position:absolute;inset:0}.speed-button:hover{color:var(--text);background:var(--panel-raised)}.speed-button.active{background:var(--accent);color:var(--accent-ink)}.pill.icon-button{width:44px;color:var(--muted);transition:color var(--dur-fast), transform var(--dur-fast);justify-content:center;padding:0}.pill.icon-button svg{width:22px;height:22px}.pill.icon-button:hover{color:var(--text)}.ghost-cost{border-radius:var(--radius-pill);background:var(--panel-strong);border:1px solid var(--border);color:var(--accent);font-variant-numeric:tabular-nums;white-space:nowrap;padding:2px 9px;font-size:13px;font-weight:800;position:absolute;top:0;left:0;pointer-events:none!important}.ghost-cost.unaffordable{color:var(--bad)}.hover-card{border-radius:var(--radius-sm);background:var(--panel-strong);border:1px solid var(--border);min-width:150px;max-width:250px;box-shadow:var(--shadow-low);will-change:transform;flex-direction:column;gap:3px;padding:8px 11px 9px;font-size:12.5px;font-weight:600;line-height:1.35;display:flex;position:absolute;top:0;left:0;pointer-events:none!important}.hover-card-head{justify-content:space-between;align-items:center;gap:10px;display:flex}.hover-card-name{font-size:14px;font-weight:800}.hover-card .status{padding:1px 8px;font-size:11.5px}.hover-card-makes{color:var(--muted)}.hover-card-busy[data-level=good]{color:var(--good)}.hover-card-busy[data-level=fair]{color:var(--accent)}.hover-card-busy[data-level=poor]{color:var(--bad)}.efficiency-labels{position:absolute;inset:0;pointer-events:none!important}.efficiency-label{border-radius:var(--radius-pill);font-variant-numeric:tabular-nums;white-space:nowrap;background:#10141cd1;padding:0 7px;font-size:12px;font-weight:800;line-height:18px;display:none;position:absolute;top:0;left:0}.efficiency-label[data-level=good]{color:var(--good)}.efficiency-label[data-level=fair]{color:var(--accent)}.efficiency-label[data-level=poor]{color:var(--bad)}.hint{top:calc(var(--topbar-bottom,58px) + 10px);background:var(--panel);border:1px solid var(--border);width:-moz-fit-content;width:fit-content;max-width:min(560px,100% - 28px);box-shadow:var(--shadow);animation:hint-in .35s var(--ease-out);border-radius:22px;align-items:center;gap:10px;margin:0 auto;padding:10px 16px 10px 10px;font-size:14.5px;font-weight:600;line-height:1.3;display:flex;position:absolute;left:14px;right:14px;pointer-events:none!important}.hint-badge{border-radius:var(--radius-pill);background:var(--accent);color:var(--accent-ink);text-transform:uppercase;letter-spacing:.04em;flex:none;padding:3px 10px;font-size:12px;font-weight:900}.hint-close{width:30px;height:30px;color:var(--muted);pointer-events:auto;border-radius:50%;flex:none;margin:-4px -8px -4px 0;font-size:20px;line-height:1}.hint-close:hover{background:var(--panel-hover);color:var(--text)}@keyframes hint-in{0%{opacity:0;transform:translateY(-8px)}}.toolbar{border-radius:var(--radius-lg);background:var(--panel);border:1px solid var(--border);width:-moz-fit-content;width:fit-content;box-shadow:var(--shadow);flex-wrap:wrap;justify-content:center;align-items:stretch;gap:6px;max-width:calc(100% - 16px);margin:0 auto;padding:7px;display:flex;position:absolute;bottom:16px;left:8px;right:8px}.toolbar-tools{flex-wrap:wrap;justify-content:center;gap:6px;display:flex}.toolbar-tabs{flex-direction:column;justify-content:center;gap:4px;padding-right:3px;display:flex}.toolbar-tab{border-radius:var(--radius-sm);min-width:84px;color:var(--muted);text-align:left;transition:background var(--dur-fast), color var(--dur-fast);flex:1;padding:0 12px;font-size:12.5px;font-weight:800}.toolbar-tab:hover{background:var(--panel-raised);color:var(--text)}.toolbar-tab.active{background:var(--panel-hover);color:var(--text);box-shadow:inset 3px 0 0 var(--accent)}.toolbar-divider{background:var(--border);width:1px;margin:8px 3px}.tool{border-radius:var(--radius);background:var(--panel-raised);width:74px;transition:background var(--dur-fast), transform var(--dur-fast) var(--ease-out), border-color var(--dur-fast);border:1.5px solid #0000;flex-direction:column;flex:none;align-items:center;gap:1px;padding:9px 4px 7px;display:flex;position:relative}.tool:hover{background:var(--panel-hover);transform:translateY(-2px)}.tool:active{transform:translateY(0)scale(.96)}.tool.active{border-color:var(--accent);background:#ffb5472e}.tool-icon{place-items:center;height:34px;display:grid}.tool-name{font-size:12.5px;font-weight:700}.tool-cost{color:var(--accent);font-variant-numeric:tabular-nums;font-size:12px;font-weight:800}.tool-key{color:var(--muted);font-size:10.5px;font-weight:800;position:absolute;top:5px;left:7px}.tool.unaffordable .tool-icon{opacity:.45}.tool.unaffordable .tool-cost{color:var(--bad)}.tool-delete .tool-cost,.tool-copy .tool-cost{color:var(--muted)}.tool-copy.active{background:#60a5fa29;border-color:#60a5fa}.tool-delete.active{border-color:var(--bad);background:#f8717129}.keyhints{bottom:calc(var(--toolbar-height,86px) + 26px);border-radius:var(--radius-pill);background:var(--panel);border:1px solid var(--border);width:-moz-fit-content;width:fit-content;box-shadow:var(--shadow-low);color:var(--muted);white-space:nowrap;animation:keyhints-in var(--dur-med) var(--ease-out);gap:14px;margin:0 auto;padding:5px 14px;font-size:12.5px;font-weight:600;display:flex;position:absolute;left:8px;right:8px;pointer-events:none!important}.keyhint{align-items:center;gap:6px;display:inline-flex}@keyframes keyhints-in{0%{opacity:0;transform:translateY(6px)}}.touch-controls{right:12px;bottom:calc(var(--toolbar-height,86px) + 30px);background:var(--panel);border:1px solid var(--border);box-shadow:var(--shadow);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);border-radius:28px;flex-direction:column;align-items:center;gap:6px;padding:6px;display:flex;position:absolute}.touch-button{background:var(--panel-raised);width:46px;height:46px;color:var(--text);transition:background var(--dur-fast), transform var(--dur-fast), opacity var(--dur-fast);border-radius:50%;place-items:center;display:grid}.touch-button svg{width:24px;height:24px}.touch-button:active:not(:disabled){background:var(--panel-hover);transform:scale(.92)}.touch-button:disabled{opacity:.35}.touch-divider{background:var(--border);width:24px;height:1px}:root[data-touch=true] .keyhints,:root[data-touch=true] .tool-key{display:none}@media (pointer:coarse){.pill,.statusbar,.nav{height:50px}.status-item,.nav-button,.speed-button{height:40px}.speed-button{min-width:42px}.pill.icon-button{width:50px}.topbar.compact .nav-button:not(.active){padding:0 10px}}.toasts{bottom:calc(var(--toolbar-height,86px) + 66px);text-align:center;flex-direction:column;align-items:center;gap:6px;display:flex;position:absolute;left:12px;right:12px;pointer-events:none!important}.toast{border-radius:var(--radius-pill);background:var(--panel);border:1px solid var(--border);box-shadow:var(--shadow);animation:toast-in .18s var(--ease-out);padding:8px 16px;font-size:14px;font-weight:700;line-height:1.35;transition:opacity .25s,transform .25s}.toast.leaving{opacity:0;transform:translateY(6px)}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}}.tooltip{z-index:40;border-radius:var(--radius-sm);background:var(--panel-strong);border:1px solid var(--border);max-width:260px;box-shadow:var(--shadow-low);animation:tooltip-in var(--dur-fast) ease-out;flex-direction:column;gap:3px;padding:7px 11px 8px;display:flex;position:absolute;top:0;left:0;pointer-events:none!important}.tooltip-head{align-items:center;gap:8px;display:flex}.tooltip-title{flex:1;font-size:13.5px;font-weight:800}.tooltip-meta{color:var(--accent);font-variant-numeric:tabular-nums;font-size:12.5px;font-weight:800}.tooltip-body{color:var(--muted);margin:0;font-size:12.5px;font-weight:600;line-height:1.4}@keyframes tooltip-in{0%{opacity:0}}.toolbar.narrow .tool{width:58px;padding:8px 2px 6px}.toolbar.narrow .tool-name{font-size:11px}.toolbar.narrow .toolbar-tabs{flex-direction:row;flex-basis:100%;justify-content:center;padding:0 0 2px}.toolbar.narrow .toolbar-tab{text-align:center;flex:none;min-width:0;padding:5px 14px}.toolbar.narrow .toolbar-tab.active{box-shadow:inset 0 -3px 0 var(--accent)}.machine-panel,.stats-panel,.modal,.debug-panel{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow)}.modal{background:var(--panel-strong)}.modal:focus{outline:none}.revealing:not(.overlay),.overlay.revealing>.modal{animation:pop-in var(--dur-med) var(--ease-out)}.closing:not(.overlay),.overlay.closing>.modal{animation:pop-out var(--dur-fast) ease-in forwards}.overlay.revealing{animation:fade-in var(--dur-med) ease-out}.overlay.closing{animation:fade-out var(--dur-fast) ease-in forwards}.closing{pointer-events:none!important}@keyframes pop-in{0%{opacity:0;transform:scale(.8)}}@keyframes pop-out{to{opacity:0;transform:scale(.8)}}@keyframes fade-in{0%{opacity:0}}@keyframes fade-out{to{opacity:0}}@media (pointer:coarse){.panel-close{width:40px;height:40px;font-size:26px}.recipe-choice{padding:8px 13px}.contract-swap{padding:7px 13px}.blueprint-footer .button{padding:8px 13px}}.panel-header{justify-content:space-between;align-items:center;gap:8px;display:flex}.panel-title{margin:0;font-size:18px;font-weight:800}.panel-close{width:28px;height:28px;color:var(--muted);border-radius:8px;font-size:20px;line-height:1}.panel-close:hover{background:var(--panel-raised);color:var(--text)}.panel-description{color:var(--muted);margin:4px 0 12px;font-size:13.5px}.panel-actions{flex-wrap:wrap;gap:6px;margin-top:14px;display:flex}.panel-actions .button{flex:1}.rows{flex-direction:column;gap:8px;display:flex}.row{justify-content:space-between;align-items:center;gap:10px;min-height:24px;font-size:13.5px;font-weight:600;display:flex}.row-label{color:var(--muted);flex:none}.row-value{text-align:right;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:4px 6px;display:flex}.chip{white-space:nowrap;align-items:center;gap:5px;display:inline-flex}.resource-dot{border-radius:3px;width:11px;height:11px;box-shadow:inset 0 0 0 1px #00000040}.resource-dot.resource-gear{border-radius:50%}.arrow{color:var(--muted)}.upgrade-button{width:100%;margin-top:14px;font-size:13px}.upgrade-button:disabled{background:var(--panel-raised);border-color:var(--border);color:var(--muted);cursor:not-allowed}.recipe-choices{gap:5px}.recipe-choice{border:1.5px solid var(--border);background:var(--panel-raised);white-space:nowrap;border-radius:999px;align-items:center;gap:5px;padding:4px 9px;font-size:12.5px;font-weight:700;display:inline-flex}.recipe-choice:hover:not(:disabled){background:var(--panel-hover)}.recipe-choice:active:not(:disabled){transform:scale(.96)}.recipe-choice.active{border-color:var(--accent);background:#ffb5472e}.status{background:var(--panel-raised);border-radius:999px;padding:2px 9px;font-size:12.5px;font-weight:800}.status[data-status=working],.status[data-status=ready]{color:var(--good)}.status[data-status=waiting],.status[data-status=output_full]{color:var(--accent)}.status[data-status=disabled]{color:var(--bad)}.progress{background:var(--panel-raised);border-radius:999px;flex:1;max-width:150px;height:8px;overflow:hidden}.progress-fill{background:var(--accent);border-radius:999px;height:100%;transition:width .15s linear}.progress-fill[data-level=good]{background:var(--good)}.progress-fill[data-level=poor]{background:var(--bad)}.efficiency{flex-direction:column;flex:1;align-items:flex-end;gap:4px;display:flex}.efficiency .progress{flex:none;width:100%;max-width:170px}.efficiency .row-value{font-size:12.5px}.findings{flex-direction:column;gap:6px;display:flex}.finding{border:1px solid var(--border);border-left:3px solid var(--accent);background:var(--panel-raised);text-align:left;border-radius:10px;flex-direction:column;gap:3px;padding:8px 10px;font-size:12.5px;line-height:1.35;display:flex}.finding:hover{background:var(--panel-hover)}.finding-power{border-left-color:#ffd76a}.row-value[data-short=true]{color:var(--bad)}.finding-blocked{border-left-color:var(--bad)}.finding-problem{color:var(--muted)}.finding-fix{font-weight:800}.finding-empty{margin:0;font-size:13px}.machine-panel{top:calc(var(--topbar-bottom,58px) + 10px);width:290px;padding:14px 16px 16px;animation:.16s ease-out panel-in;position:absolute;right:14px}@keyframes panel-in{0%{opacity:0;transform:translate(10px)}}.stats-panel{top:calc(var(--topbar-bottom,58px) + 10px);width:310px;max-height:calc(100% - var(--topbar-bottom,58px) - var(--toolbar-height,86px) - 46px);scrollbar-width:thin;scrollbar-color:#ffffff40 transparent;flex-direction:column;gap:10px;padding:14px 16px;display:flex;position:absolute;left:14px;overflow-y:auto}.stats-grid{font-variant-numeric:tabular-nums;text-align:right;grid-template-columns:1fr auto auto auto;gap:6px 16px;font-size:13.5px;font-weight:600;display:grid}.stats-grid .chip{justify-self:start}.overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:20;background:#0e131b80;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.modal{scrollbar-width:thin;scrollbar-color:#ffffff40 transparent;flex-direction:column;gap:12px;width:min(380px,100%);max-height:100%;padding:18px 20px 20px;display:flex;overflow:auto}.notice{z-index:50}.notice .panel-description{margin:0;line-height:1.45}.notice-detail{border-radius:var(--radius-sm);color:var(--muted);overflow-wrap:anywhere;-webkit-user-select:text;user-select:text;background:#00000040;margin:0;padding:8px 10px;font:12px/1.4 ui-monospace,Consolas,monospace}.modal-subtitle{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin:6px 0 0;font-size:12px;font-weight:800}.setting{cursor:pointer;justify-content:space-between;align-items:center;gap:16px;font-size:14.5px;font-weight:600;display:flex}.cosmetic-setting{cursor:default;align-items:flex-start}.cosmetic-choices{flex-wrap:wrap;justify-content:flex-end;gap:5px;display:flex}.cosmetic-choices .recipe-choice:disabled{opacity:.45;cursor:not-allowed}.setting input[type=range]{width:160px;accent-color:var(--accent)}.setting input[type=checkbox]{width:18px;height:18px;accent-color:var(--accent)}.controls{color:var(--muted);grid-template-columns:auto 1fr;gap:5px 12px;font-size:13px;display:grid}kbd{background:var(--panel-raised);border:1px solid var(--border);font:inherit;color:var(--text);white-space:nowrap;border-radius:6px;justify-self:start;padding:1px 7px;font-size:12px;font-weight:700}.help-modal{width:min(560px,100%)}.help-modal .panel-description{margin:0}.help-steps{flex-direction:column;gap:6px;margin:0;padding-left:22px;font-size:14.5px;font-weight:600;line-height:1.4;display:flex}.help-steps li::marker{color:var(--accent);font-weight:900}.help-panels{grid-template-columns:auto 1fr;gap:6px 14px;margin:0;font-size:13px;line-height:1.4;display:grid}.help-panels dt{font-weight:800}.help-panels dd{color:var(--muted);margin:0}.prestige-modal{width:min(440px,100%)}.prestige-modal .panel-description{margin:0}.prestige-progress{flex:none;max-width:none}.prestige-progress .progress-fill{background:#ffcf40}.prestige-list{color:var(--muted);margin:0;padding-left:18px;font-size:13px;line-height:1.5}.prestige-sites{flex-wrap:wrap;gap:6px;display:flex}.prestige-modal .button:disabled{background:var(--panel-raised);border-color:var(--border);color:var(--muted);cursor:not-allowed}.button.primary.danger-armed{background:var(--bad);color:#2a0a0a}.blueprints-panel{top:calc(var(--topbar-bottom,58px) + 10px);width:320px;max-height:calc(100% - var(--topbar-bottom,58px) - var(--toolbar-height,86px) - 46px);scrollbar-width:thin;scrollbar-color:#ffffff40 transparent;background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);flex-direction:column;gap:10px;padding:14px 16px;display:flex;position:absolute;left:14px;overflow-y:auto}.blueprints-panel .panel-description{margin:0}.blueprints-panel .button:disabled{background:var(--panel-raised);border-color:var(--border);color:var(--muted);cursor:not-allowed}.blueprint-list{flex-direction:column;gap:8px;display:flex}.blueprint{border:1px solid var(--border);background:var(--panel-raised);border-radius:10px;flex-direction:column;gap:6px;padding:9px 11px;display:flex}.blueprint-name{width:100%;color:inherit;font:inherit;-webkit-user-select:text;user-select:text;background:0 0;border:1px solid #0000;border-radius:6px;margin-left:-6px;padding:3px 6px;font-size:14px;font-weight:800}.blueprint-name:hover,.blueprint-name:focus{border-color:var(--border);background:#0003}.blueprint-footer{align-items:center;gap:8px;font-size:12.5px;font-weight:700;display:flex}.blueprint-summary{color:var(--muted);flex:1}.blueprint-cost{color:var(--accent);font-variant-numeric:tabular-nums}.blueprint-cost.unaffordable{color:var(--bad)}.blueprint-footer .button{padding:4px 11px;font-size:12.5px}.achievements-modal{width:min(820px,100%)}.achievement-grid{grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:10px;display:grid}.achievement{border:1px solid var(--border);background:var(--panel-raised);border-radius:10px;flex-direction:column;gap:5px;padding:10px 12px;display:flex}.achievement[data-done=true]{background:#ffcf401a;border-color:#ffcf4099}.achievement-head{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.achievement-name{margin:0;font-size:14.5px;font-weight:800}.achievement-reward{color:var(--good);white-space:nowrap;font-size:12.5px;font-weight:800}.achievement-description{color:var(--muted);margin:0;font-size:12.5px;line-height:1.35}.achievement .progress{flex:none;max-width:none;margin-top:2px}.achievement[data-done=true] .progress-fill{background:#ffcf40}.achievement-status{color:var(--muted);font-variant-numeric:tabular-nums;font-size:12px;font-weight:700}.achievement[data-done=true] .achievement-status{color:#ffcf40}.offline-body{flex-direction:column;gap:8px;display:flex}.offline-body .panel-description{margin:0}.offline-earned{color:#ffe27a;font-variant-numeric:tabular-nums;align-items:center;gap:10px;margin:4px 0 6px;font-size:30px;font-weight:900;display:flex}.offline-earned .coin{width:26px;height:26px}.contracts-panel{top:calc(var(--topbar-bottom,58px) + 10px);width:310px;max-height:calc(100% - var(--topbar-bottom,58px) - var(--toolbar-height,86px) - 46px);scrollbar-width:thin;scrollbar-color:#ffffff40 transparent;background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:14px 16px;position:absolute;left:14px;overflow-y:auto}.contracts{flex-direction:column;gap:8px;display:flex}.contract{border:1px solid var(--border);background:var(--panel-raised);border-radius:10px;flex-direction:column;gap:7px;padding:10px 12px;display:flex}.contract-title{align-items:center;gap:7px;font-size:14px;font-weight:800;display:flex}.contract .progress{flex:none;max-width:none}.contract-footer{align-items:center;gap:8px;font-size:12.5px;font-weight:700;display:flex}.contract-progress{color:var(--muted);font-variant-numeric:tabular-nums;flex:1}.contract-reward{color:var(--good);font-variant-numeric:tabular-nums}.contract-swap{border:1px solid var(--border);color:var(--muted);border-radius:999px;padding:2px 9px;font-size:12px;font-weight:700}.contract-swap:hover{background:var(--panel-hover);color:var(--text)}.expansion-panel{top:calc(var(--topbar-bottom,58px) + 10px);background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);width:280px;box-shadow:var(--shadow);flex-direction:column;gap:10px;padding:14px 16px;display:flex;position:absolute;left:14px}.site-effects{color:var(--muted);margin:-4px 0 2px;padding-left:18px;font-size:12.5px;line-height:1.45}.expansion-panel .button:disabled{background:var(--panel-raised);border-color:var(--border);color:var(--muted);cursor:not-allowed}.research-modal{width:min(880px,100%);container:research/inline-size}.research-tree{align-items:flex-start;gap:12px;display:flex}.research-column{flex-direction:column;flex:1;gap:12px;min-width:0;display:flex}.research-card{border:1px solid var(--border);background:var(--panel-raised);border-radius:12px;flex-direction:column;gap:6px;padding:12px 14px;display:flex}.research-card[data-status=done]{border-color:#6ad17d80}.research-card[data-status=locked]{opacity:.6}.research-name{margin:0;font-size:15.5px;font-weight:800}.research-description,.research-unlocks{margin:0;font-size:13px;line-height:1.35}.research-description{color:var(--muted)}.research-unlocks{font-weight:700}.research-footer{justify-content:space-between;align-items:center;gap:8px;min-height:34px;margin-top:2px;display:flex}.research-state{color:var(--muted);font-size:12.5px;font-weight:700}.research-card[data-status=done] .research-state{color:var(--good)}.research-button{white-space:nowrap;padding:7px 12px;font-size:13px}.research-button:disabled{background:var(--panel-raised);border-color:var(--border);color:var(--muted);cursor:not-allowed}@container research (width<=640px){.research-tree{flex-direction:column}.research-column{width:100%}}.menu{z-index:10;background:linear-gradient(90deg,#121822db 0%,#1218228c 38%,#12182200 72%);align-items:center;padding:0 clamp(24px,9vw,140px);display:flex;position:fixed;inset:0}.menu-card{width:min(340px,100%)}.menu-title{letter-spacing:-.02em;text-shadow:0 4px #00000040;margin:0;font-size:clamp(44px,7vw,72px);font-weight:900;line-height:.98}.menu-title:first-line{color:var(--accent)}.menu-tagline{color:#d5dbe5;margin:14px 0 28px;font-size:17px;font-weight:600}.menu-message{background:#ffb54729;border:1px solid #ffb54766;border-radius:10px;margin:0 0 14px;padding:10px 14px;font-size:14.5px;font-weight:600}.menu-heading{color:#d5dbe5;margin:0 0 12px;font-size:15px;font-weight:800}.environment-card{text-align:left;flex-direction:column;gap:3px;padding:11px 16px;display:flex}.environment-name{font-size:17px;font-weight:800}.environment-tagline{color:#d5dbe5;font-size:13px;font-weight:600}.environment-effects{color:var(--accent);font-size:12.5px;font-weight:700}.menu-buttons{flex-direction:column;gap:10px;display:flex}.menu-button{text-align:left;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#ffffff1a;padding:13px 18px;font-size:17px}.menu-version{color:#d5dbe599;margin:18px 0 0;font-size:12px;font-weight:700}.debug-panel{padding:10px 12px;font-size:12px;position:absolute;bottom:16px;left:14px}.debug-stats{margin:0 0 6px;font:12px/1.45 ui-monospace,Consolas,monospace}.debug-toggle{cursor:pointer;align-items:center;gap:6px;display:flex}
