@font-face{font-family:Barlow Condensed;src:url(./barlow-condensed-600-BN11TKSn.woff2)format("woff2");font-weight:600;font-style:normal;font-display:swap}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font-family:var(--font-body);font-synthesis:none;text-rendering:optimizelegibility;--font-body:ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-display:"Barlow Condensed", "Arial Narrow", ui-sans-serif, sans-serif;--paper:#f6f3ec;--paper-sunk:#ece7db;--paper-raised:#fffdf8;--ink:#1e1f1c;--ink-2:#47463f;--ink-3:#6b675c;--rule:#ddd6c6;--rule-strong:#b9ae97;--contour:#a0673a;--thicket:#a5b36a;--marsh:#5fa7d6;--flow:#2b78b8;--course:#7b2cbf;--course-ink:#6421a3;--course-tint:#efe5f8;--cure:#2f8f46;--cure-ink:#22703a;--effect:#d9822b;--effect-ink:#9a5410;--failure-ink:#a62b22;--failure-border:#c8372d;--failure-surface:#fbe9e6;font-size:14px}*,:before,:after{box-sizing:border-box}html,body,#root{width:100%;min-width:0;height:100%;min-height:0;margin:0}body{color:var(--ink);background:var(--paper);overflow:hidden}::selection{color:var(--paper-raised);background:var(--course)}button,select,input,textarea{border:1px solid var(--rule-strong);min-height:44px;color:inherit;background:var(--paper-raised);font:inherit;caret-color:var(--course);border-radius:3px;padding:8px 12px}button{cursor:pointer;-webkit-tap-highlight-color:transparent;transition:background-color .12s ease-out,border-color .12s ease-out,color .12s ease-out}button:hover:not(:disabled){border-color:var(--ink-2)}button:disabled{color:var(--ink-3);border-color:var(--rule);cursor:not-allowed;background:0 0}button:focus-visible,select:focus-visible,input:focus-visible,textarea:focus-visible,[tabindex]:focus-visible,summary:focus-visible{outline:2px solid var(--course);outline-offset:2px}input:focus,textarea:focus,select:focus{border-color:var(--course)}button.is-active,button.is-selected,.game-control:not(:disabled).is-active{border-color:var(--course);color:var(--course-ink);background:var(--course-tint)}strong,output,td,.num{font-variant-numeric:tabular-nums}h1,h2{font-family:var(--font-display);letter-spacing:.01em;text-transform:uppercase;font-weight:600}h1{margin:0 0 20px;font-size:30px;line-height:1}h2{font-size:19px;line-height:1.1}p{line-height:1.55}kbd,.hotkey{color:var(--ink-3);font:600 11px/1 var(--font-display);letter-spacing:.04em}[hidden]{display:none!important}.game-shell{isolation:isolate;grid-template-rows:56px 44px minmax(0,1fr);width:100dvw;height:100dvh;display:grid;position:relative;overflow:hidden}.top-hud{z-index:30;border-bottom:2px solid var(--ink);background:var(--paper);align-items:stretch;gap:24px;padding:0 20px;display:flex}.wordmark{font:600 24px/1 var(--font-display);letter-spacing:.02em;text-transform:uppercase;color:var(--ink);white-space:nowrap;align-self:center}.nav-rail{flex:none;gap:2px;display:flex}.nav-button{font:600 18px/1 var(--font-display);letter-spacing:.03em;text-transform:uppercase;color:var(--ink-2);background:0 0;border:0;border-bottom:4px solid #0000;border-radius:0;align-items:center;gap:8px;margin-bottom:-2px;padding:0 14px;display:flex}.nav-button:hover:not(:disabled){color:var(--ink);border-color:var(--rule-strong)}.nav-button.is-active{color:var(--course-ink);border-color:var(--course);background:0 0}.resource-strip{flex:1;justify-content:flex-end;align-items:center;gap:22px;min-width:0;display:flex}.resource-chip{white-space:nowrap;align-items:baseline;gap:6px;font-size:12px;display:inline-flex}.resource-label{color:var(--ink-3);font:600 13px/1 var(--font-display);letter-spacing:.05em;text-transform:uppercase}.resource-label-compact{display:none}.resource-chip strong{font:600 22px/1 var(--font-display);color:var(--ink)}.resource-unit{color:var(--ink-3);margin-right:1px}.stock-chip{background:0 0;border:0;min-height:0;margin:0 -8px;padding:6px 8px}.stock-chip:hover:not(:disabled){background:var(--course-tint)}.contract-chip{grid-template-columns:auto auto;align-items:baseline;column-gap:6px;display:grid}.contract-chip strong{color:var(--cure-ink)}.menu-trigger{border:1px solid var(--ink);min-height:40px;font:600 16px/1 var(--font-display);letter-spacing:.04em;text-transform:uppercase;background:0 0;align-self:center}.utility-nav{z-index:29;border-bottom:1px solid var(--rule-strong);background:var(--paper);align-items:center;gap:16px;padding:0 20px;display:flex}.objective{flex:1;align-items:center;gap:10px;min-width:0;margin:0;line-height:1.2;display:flex}.objective-mark{fill:none;stroke:var(--course);stroke-width:2px;stroke-linejoin:round;flex:none}.objective-text{text-overflow:ellipsis;white-space:nowrap;min-width:0;font:600 17px/1 var(--font-display);letter-spacing:.02em;text-transform:uppercase;color:var(--ink);overflow:hidden}.objective-action{background:var(--ink);min-height:32px;color:var(--paper-raised);font:600 14px/1 var(--font-display);letter-spacing:.05em;text-transform:uppercase;border:0;padding:4px 12px}.objective-action:hover:not(:disabled){background:var(--ink-2)}.utility-links{flex:none;align-items:center;gap:2px;display:flex}.utility-links button{min-height:40px;color:var(--ink-2);font:600 15px/1 var(--font-display);letter-spacing:.04em;text-transform:uppercase;background:0 0;border:0;padding:0 10px}.utility-links button:hover:not(:disabled),.utility-links button[aria-pressed=true],.utility-links button[aria-expanded=true]{color:var(--course-ink);background:var(--course-tint)}.utility-links kbd{margin-left:5px}.utility-count{color:var(--ink)}.game-stage{min-width:0;min-height:0;position:relative;overflow:hidden}.game-view,.view-layer{min-width:0;min-height:0;position:absolute;inset:0;overflow:hidden}.panel-section{border-top:1px solid var(--rule);margin-top:20px;padding-top:16px}.panel-heading{align-items:center;gap:12px;display:flex}.panel-heading h2{margin:0 0 12px}.panel-actions,.market-actions,.modal-actions{flex-wrap:wrap;gap:8px;margin-top:14px;display:flex}.primary-action{border-color:var(--ink);background:var(--ink);color:var(--paper-raised);font:600 16px/1 var(--font-display);letter-spacing:.05em;text-transform:uppercase}.primary-action:hover:not(:disabled){border-color:var(--ink-2);background:var(--ink-2)}.danger-action{border-color:var(--failure-border);background:var(--failure-border);color:var(--paper-raised);font-weight:600}.danger-action:hover:not(:disabled){background:var(--failure-ink)}.is-error-text{color:var(--failure-ink)}.is-success-text{color:var(--cure-ink)}.game-drawer{z-index:70;border-left:2px solid var(--ink);background:var(--paper-raised);width:min(560px,100%);position:absolute;inset:0 0 0 auto;overflow:auto;box-shadow:-12px 0 32px #1e1f1c1a}.drawer-close{z-index:90;background:0 0;border-color:#0000;place-items:center;width:44px;height:44px;padding:0;display:grid;position:absolute;top:12px;right:12px}.drawer-close svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round}.drawer-close:hover:not(:disabled){border-color:var(--rule-strong)}.message-layer{z-index:80;pointer-events:none;gap:8px;display:grid;position:absolute;top:12px;right:12px}.game-toast,.game-alert{border:1px solid var(--rule-strong);background:var(--paper-raised);border-radius:3px;width:min(420px,100vw - 24px);padding:12px 16px;font-size:13px;line-height:1.45;position:relative;box-shadow:0 6px 18px #1e1f1c1f}.game-alert{border-color:var(--failure-border);background:var(--failure-surface);color:var(--failure-ink)}.game-modal-backdrop{z-index:100;background:#1e1f1c73;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.game-modal{border:2px solid var(--ink);background:var(--paper-raised);border-radius:3px;width:min(520px,100%);max-height:calc(100dvh - 48px);padding:28px;overflow:auto;box-shadow:0 18px 48px #1e1f1c38}.game-modal h2{margin:0 0 16px;font-size:26px}.game-modal p{color:var(--ink-2)}.game-field{gap:8px;margin-top:20px;display:grid}.game-field input{width:100%}.game-field-error{font-size:12px;color:var(--failure-ink)!important}.game-field input[aria-invalid=true]{border-color:var(--failure-border)}.sr-only{clip:rect(0, 0, 0, 0)!important;white-space:nowrap!important;border:0!important;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;position:absolute!important;overflow:hidden!important}*{scrollbar-color:var(--rule-strong) transparent;scrollbar-width:thin}@media (width<=1180px){.wordmark{display:none}}@media (width<=1050px){.top-hud{gap:12px;padding:0 12px}.nav-button{padding:0 8px;font-size:16px}.nav-button kbd{display:none}.resource-strip{gap:14px}.resource-label-full{display:none}.resource-label-compact{display:inline}.utility-nav{padding:0 12px}.utility-links kbd{display:none}}@media (width<=768px){.game-shell{grid-template-rows:92px 92px minmax(0,1fr)}.top-hud{grid-template-rows:48px 44px;grid-template-columns:minmax(0,1fr) auto;gap:0;padding:0 10px;display:grid}.nav-rail{grid-area:1/1}.nav-button{padding:0 8px;font-size:15px}.menu-trigger{grid-area:1/2;min-height:44px;padding:0 12px;font-size:14px}.resource-strip{grid-area:2/1/auto/-1;justify-content:space-between;gap:6px}.resource-chip{gap:4px}.resource-label{font-size:12px}.resource-chip strong{font-size:18px}.utility-nav{grid-template-rows:48px 44px;gap:0;padding:0 8px;display:grid}.objective-text{font-size:15px}.objective-action{min-height:44px;padding:4px 12px;font-size:14px}.utility-links{border-top:1px solid var(--rule);justify-content:space-between}.utility-links button{padding:0 6px;font-size:13px}.game-drawer{width:100%}.game-modal-backdrop{padding:12px}.game-modal{padding:22px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media (width>=769px){.has-formula-reference>.view-layer{right:340px}.game-drawer.formula-reference{width:340px;box-shadow:none}}.research-workspace{background:var(--paper);grid-template-rows:minmax(0,1fr) auto;grid-template-columns:minmax(0,1fr) auto;min-width:0;min-height:0;display:grid;position:absolute;inset:0;overflow:hidden}.research-atlas{grid-area:1/1/auto/-1;position:relative;overflow:visible}.world-viewport{background:var(--paper);min-width:0;min-height:0;position:relative;overflow:hidden}.lab-world{width:100%;height:100%;container-type:size}.lab-map-frame{cursor:grab;touch-action:none;position:absolute;inset:0;overflow:hidden}.lab-map-frame:active{cursor:grabbing}.lab-map-frame[data-placement-target=true]{cursor:pointer}.lab-canvas{width:max(100cqw,162.5cqh);height:max(100cqh,61.5385cqw);position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.lab-canvas canvas{display:block;width:100%!important;height:100%!important}.research-overlay{z-index:3;pointer-events:none;grid-area:1/1/auto/-1;min-height:0;position:relative}.research-compass,.research-program-strip,.research-result,.research-atlas-status{border:1px solid var(--rule-strong);background:var(--paper-raised);border-radius:3px}.research-compass{align-items:center;gap:10px;padding:6px 14px 6px 6px;display:flex;position:absolute;top:12px;left:12px}.research-compass>div{gap:2px;display:grid}.research-compass strong{font:600 18px/1 var(--font-display);letter-spacing:.02em;text-transform:uppercase}.research-compass span{color:var(--ink-2);font-size:13px}.research-compass output{color:var(--ink);font-weight:600}.research-compass-dial path{fill:none;stroke:var(--rule-strong);stroke-width:1px}.research-compass-dial circle{fill:var(--ink-3)}.research-compass-dial .is-target{fill:var(--course);stroke:var(--course-ink)}.research-program-strip{pointer-events:auto;width:232px;max-height:calc(100% - 156px);display:flex;position:absolute;top:80px;left:12px}.research-program-strip ol,.research-path-hotbar{scrollbar-width:thin;scrollbar-color:var(--rule-strong) transparent}.research-program-strip ol{flex:1;min-height:0;max-height:100%;margin:0;padding:4px 0;list-style:none;position:relative;overflow:auto}.research-program-strip li{min-height:34px;color:var(--ink-2);grid-template-columns:24px 24px minmax(0,1fr) auto;align-items:center;gap:8px;padding:2px 12px 2px 8px;font-size:13px;display:grid}.research-program-strip li+li{border-top:1px solid var(--rule)}.research-program-strip li:last-child{color:var(--ink)}.research-step-number{border:2px solid var(--course);width:24px;height:24px;color:var(--course-ink);font:600 13px/1 var(--font-display);font-variant-numeric:tabular-nums;border-radius:50%;place-items:center;display:grid}.research-step-name{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.research-step-cost{font-variant-numeric:tabular-nums;color:var(--ink-3)}.research-result{pointer-events:auto;position:absolute;top:12px;right:12px}.research-readout{font-variant-numeric:tabular-nums;align-items:center;gap:10px;max-width:min(360px,100% - 24px);padding:10px 14px;font-size:14px;font-weight:500;display:flex}.research-readout span{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.research-readout svg{fill:none;stroke:var(--course);stroke-width:2px;flex:none}.research-readout.is-failed{border-color:var(--failure-border);background:var(--failure-surface);color:var(--failure-ink)}.research-readout.is-failed svg{stroke:var(--failure-border);stroke-width:2.5px;stroke-linecap:round}.research-cure-card{border:2px solid var(--course);grid-template-columns:auto minmax(0,1fr);gap:12px;width:320px;padding:14px 16px 16px 14px;display:grid}.research-cure-card svg{fill:none;stroke:var(--course);stroke-width:2.5px}.research-cure-body{align-content:center;gap:6px;min-width:0;display:grid}.research-cure-card h2{color:var(--ink);font-variant-numeric:tabular-nums;margin:0;font-size:26px}.research-cure-stats{color:var(--ink-2);font-variant-numeric:tabular-nums;flex-wrap:wrap;gap:4px 12px;margin:0;font-size:13px;display:flex}.research-cure-stats .is-clean{color:var(--cure-ink);font-weight:600}.research-cure-stats .has-effects{color:var(--effect-ink);font-weight:600}.research-open-plan{border-color:var(--course);background:var(--course);color:var(--paper-raised);font:600 17px/1 var(--font-display);letter-spacing:.05em;text-transform:uppercase;grid-column:1/-1}.research-open-plan:hover:not(:disabled){border-color:var(--course-ink);background:var(--course-ink)}.research-atlas-status{z-index:3;color:var(--ink-3);font-variant-numeric:tabular-nums;align-items:center;gap:2px;padding:0 4px;font-size:12px;display:flex;position:absolute;bottom:12px;left:12px}.research-atlas-status button{color:var(--ink-2);background:0 0;border-color:#0000;align-items:center;gap:6px;padding:0 10px;font-size:13px;display:inline-flex}.research-atlas-status output,.research-atlas-status>span{padding:0 8px}.research-atlas-status button.research-cure-count:not(:disabled){color:var(--cure-ink);font-weight:600}.lab-focus-icon{fill:none;stroke:currentColor;stroke-width:1.5px}.research-path-hotbar{border-top:2px solid var(--ink);grid-area:2/1;align-items:center;gap:6px;min-width:0;padding:8px 12px;display:flex;overflow-x:auto}.research-path-hotbar button{min-height:56px;color:var(--ink-2);text-align:left;background:0 0;border-color:#0000;flex:none;grid-template-rows:auto auto;grid-template-columns:36px auto auto;align-items:center;column-gap:10px;padding:6px 12px 6px 8px;display:grid}.research-path-hotbar button svg{grid-row:1/3}.research-legend-name{color:var(--ink);font:600 15px/1.1 var(--font-display);letter-spacing:.03em;text-transform:uppercase;white-space:nowrap;grid-column:2}.research-legend-cost{color:var(--ink-2);font-variant-numeric:tabular-nums;grid-column:2;font-size:12px}.research-path-hotbar button kbd{grid-area:1/3;align-self:start}.research-path-hotbar button.is-selected{border-color:var(--course);color:var(--course-ink);background:var(--course-tint)}.research-path-hotbar button.is-selected .research-legend-name{color:var(--course-ink)}.research-commandbar{border-top:2px solid var(--ink);grid-area:2/2;justify-content:flex-end;align-items:center;gap:14px;min-width:0;padding:8px 16px;font-size:14px;display:flex}.research-run-readout{color:var(--ink-2);white-space:nowrap;font-variant-numeric:tabular-nums}.research-run-readout strong{color:var(--ink);font-weight:600}.research-block-reason{max-width:220px;color:var(--failure-ink);font-size:13px}.research-end-run{color:var(--ink-2)}.research-run{border-color:var(--course);background:var(--course);min-width:132px;min-height:48px;color:var(--paper-raised);font:600 19px/1 var(--font-display);letter-spacing:.05em;text-transform:uppercase;font-variant-numeric:tabular-nums}.research-run:hover:not(:disabled){border-color:var(--course-ink);background:var(--course-ink)}.research-run:disabled{border-color:var(--rule-strong);background:var(--paper-sunk);color:var(--ink-3)}@media (width<=1180px){.research-path-hotbar button{grid-template-columns:30px auto;column-gap:8px;padding-inline:6px 10px}.research-path-hotbar button svg{width:30px;height:30px}.research-path-hotbar button kbd,.research-block-reason{display:none}}@media (width<=768px){.research-workspace{grid-template-rows:minmax(0,1fr) auto auto;grid-template-columns:minmax(0,1fr)}.research-path-hotbar{grid-column:1;padding:6px 8px}.research-path-hotbar button{grid-template-columns:28px auto;min-height:52px;padding:4px 8px 4px 4px}.research-path-hotbar button svg{width:28px;height:28px}.research-legend-name{font-size:13px}.research-commandbar{border-top:1px solid var(--rule);grid-area:3/1;justify-content:space-between;gap:8px;padding:6px 8px}.research-run-readout{font-size:13px}.research-run{min-width:104px}.research-compass{gap:6px;padding:4px 10px 4px 4px;top:8px;left:8px}.research-compass-dial{width:36px;height:36px}.research-compass strong{font-size:16px}.research-program-strip{width:auto;max-width:calc(100% - 148px);max-height:52px;top:8px;left:140px}.research-program-strip ol{width:var(--strip-width,auto);scroll-snap-type:x mandatory;padding:0 4px;scroll-padding-inline:4px;display:flex;overflow-y:hidden}.research-program-strip li{scroll-snap-align:start;flex:none;gap:4px;min-height:44px;padding:4px 6px;display:flex}.research-program-strip li+li{border-top:0}.research-program-strip li:not(:last-child){border-right:1px solid var(--rule)}.research-step-name,.research-step-cost{display:none}.research-program-strip li:last-child .research-step-name{max-width:104px;color:var(--ink);display:block}.research-result{inset:auto 8px 68px}.research-readout{max-width:none}.research-cure-card{width:auto}.research-atlas-status{justify-content:space-between;bottom:8px;left:8px;right:8px}.research-atlas-status>span{display:none}}.world-layout{grid-template-columns:minmax(0,1fr);height:100%;display:grid}.world-layout.has-inspector{grid-template-columns:minmax(0,1fr) 280px}.factory-world{grid-template:"canvas canvas"minmax(0,1fr)"tools tools""status controls"56px/minmax(0,1fr) auto;display:grid}.factory-canvas-frame{cursor:crosshair;touch-action:none;overscroll-behavior:contain;background:var(--paper-sunk);grid-area:canvas;position:relative;overflow:hidden}.factory-canvas-transform{transform-origin:0 0;position:absolute;top:0;left:0}.factory-paper{background-color:var(--paper-sunk);pointer-events:none;background-repeat:repeat;width:calc(100% + 5760px);height:calc(100% + 5760px);position:absolute;top:-2880px;left:-2880px}.factory-canvas-mount{line-height:0;position:relative}.factory-canvas-mount canvas{display:block}.factory-mode-mark{z-index:6;border:1.5px solid var(--ink);background:var(--paper);font:600 15px/1 var(--font-display);letter-spacing:.08em;text-transform:uppercase;color:var(--ink);pointer-events:none;font-variant-numeric:tabular-nums;align-items:center;gap:10px;padding:5px 10px;display:flex;position:absolute;top:12px;left:16px}.factory-mode-mark.is-plan{border-style:dashed;border-color:var(--course);color:var(--course-ink)}.factory-mode-mark .run-state{border-left:1px solid var(--rule-strong);color:var(--ink-2);letter-spacing:.05em;align-items:center;gap:6px;padding-left:10px;display:inline-flex}.factory-mode-mark.is-running .run-state{color:var(--ink)}.factory-mode-mark.is-blocked{border-color:var(--failure-border)}.factory-mode-mark.is-blocked .run-state{color:var(--failure-ink)}.factory-controls{border-top:1px solid var(--rule-strong);grid-area:controls;align-items:center;gap:14px;padding:0 16px 0 8px;display:flex}.factory-controls .control-group{align-items:center;gap:2px;display:flex}.factory-controls .control-group+.control-group{border-left:1px solid var(--rule);padding-left:14px}.factory-controls button,.factory-build-status button{min-height:40px;font:600 15px/1 var(--font-display);letter-spacing:.05em;text-transform:uppercase;color:var(--ink-2);background:0 0;border-color:#0000;padding:0 10px}.factory-controls button:hover:not(:disabled),.factory-build-status button:hover:not(:disabled){color:var(--ink);border-color:var(--rule-strong)}.factory-controls button:disabled,.factory-build-status button:disabled{color:var(--ink-3);opacity:.7;border-color:#0000}.factory-controls button.is-active{color:var(--course-ink);border-color:var(--course);background:var(--course-tint)}.factory-controls .facility-command{border-color:var(--ink);background:var(--ink);min-height:44px;color:var(--paper-raised);padding:0 18px;font-size:17px}.factory-controls .facility-command:hover:not(:disabled){background:var(--ink-2);border-color:var(--ink-2);color:var(--paper-raised)}.factory-controls .facility-command:disabled{border-color:var(--rule-strong);color:var(--ink-3);opacity:1;background:0 0}.factory-controls .zoom-readout{text-align:center;min-width:44px;color:var(--ink-3);font:600 14px/1 var(--font-display);letter-spacing:.04em;padding:0 4px}.factory-build-status{border-top:1px solid var(--rule-strong);grid-area:status;justify-content:space-between;align-items:center;gap:16px;min-width:0;padding:0 12px 0 20px;display:flex}.build-readout{white-space:nowrap;align-items:center;gap:14px;min-width:0;font-size:13px;display:flex}.build-readout strong{font:600 17px/1 var(--font-display);letter-spacing:.05em;text-transform:uppercase}.build-readout span{color:var(--ink-2);align-items:center;gap:5px;display:inline-flex}.direction-glyph{color:var(--ink)}.build-quote{color:var(--ink-3);font:600 15px/1 var(--font-display);letter-spacing:.05em;text-transform:uppercase}.build-quote.has-cost{border:1.5px solid var(--ink);color:var(--ink);background:var(--paper-raised);padding:5px 8px}.build-hint{text-overflow:ellipsis;min-width:0;overflow:hidden;color:var(--ink)!important}.build-actions{flex:none;align-items:center;gap:2px;display:flex}.build-actions kbd{margin-left:4px}.machine-selection{z-index:6;border:1.5px solid var(--ink);background:var(--paper-raised);pointer-events:none;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:10px;max-width:min(320px,100% - 32px);padding:10px 12px;font-size:12px;display:grid;position:absolute;top:12px;right:16px}.machine-selection strong{font:600 17px/1 var(--font-display);letter-spacing:.03em;text-transform:uppercase;margin-bottom:6px;display:block}.machine-selection dl{grid-template-columns:auto auto;gap:3px 10px;margin:0;display:grid}.machine-selection dt{color:var(--ink-3);font:600 12px/1.25 var(--font-display);letter-spacing:.05em;text-transform:uppercase}.machine-selection dd{color:var(--ink);font-variant-numeric:tabular-nums;margin:0}.machine-control{z-index:4;border:1.5px solid var(--ink);background:var(--paper-raised);width:18px;height:18px;color:var(--ink);font:600 12px/1 var(--font-display);font-variant-numeric:tabular-nums;pointer-events:none;border-radius:50%;place-items:center;display:grid;position:absolute}.facility-pilot .machine-control{border-color:var(--course);color:var(--course-ink)}.machine-control.is-inline{vertical-align:1px;margin-right:6px;display:inline-grid;position:static;transform:none}.toolbelt{border-top:1px solid var(--rule);scrollbar-width:thin;grid-area:tools;justify-content:center;align-items:center;gap:4px;min-width:0;padding:6px 20px;display:flex;overflow-x:auto}.tool-slot{width:76px;min-height:70px;color:var(--ink);background:0 0;border-color:#0000;flex:0 0 76px;grid-template-rows:36px auto;align-content:start;justify-items:center;gap:2px;padding:6px 3px 5px;display:grid;position:relative}.tool-slot:hover:not(:disabled):not(.is-selected){border-color:var(--rule-strong)}.tool-symbol{place-items:center;width:36px;height:36px;line-height:0;display:grid}.tool-name{max-width:100%;font:600 12px/1.05 var(--font-display);letter-spacing:.04em;text-transform:uppercase;text-align:center;overflow-wrap:break-word}.tool-slot .hotkey{position:absolute;top:4px;left:5px}.tool-slot.is-locked{cursor:not-allowed;color:var(--ink-3)}.tool-slot.is-locked .tool-symbol{opacity:.45}.tool-slot.is-locked:hover{border-color:var(--rule)}.tool-lock{color:var(--ink-2);position:absolute;top:4px;right:5px}.toolbelt-divider{background:var(--rule-strong);flex:0 0 1px;height:40px;margin:0 8px}.toolbelt-more,.inspector-more{display:none}.factory-ghost-layer{z-index:5;pointer-events:none;position:absolute;top:0;left:0;overflow:visible}.factory-ghost{fill:var(--ink);fill-opacity:.08;stroke:var(--ink);stroke-width:2px;stroke-linejoin:round}.facility-pilot .factory-ghost{fill:var(--course);fill-opacity:.12;stroke:var(--course)}.factory-ghost.is-erase{fill:var(--failure-border);fill-opacity:.14;stroke:var(--failure-border)}.factory-ghost.is-invalid{fill:var(--failure-border);fill-opacity:.06;stroke:var(--failure-border);stroke-dasharray:4 3}.factory-ghost-cost{z-index:6;transform-origin:0 0;border:1.5px solid var(--ink);background:var(--paper-raised);font:600 16px/1 var(--font-display);letter-spacing:.03em;pointer-events:none;white-space:nowrap;padding:4px 7px;position:absolute}.inspector{border-left:1px solid var(--rule-strong);background:var(--paper-raised);min-width:0;padding:24px 16px;position:relative;overflow-y:auto}.inspector h1{padding-right:36px;font-size:24px}.factory-metrics{gap:14px;display:grid}.factory-metrics>div{justify-content:space-between;align-items:baseline;gap:12px;font-size:13px;display:flex}.factory-metrics span,.brush-readout{color:var(--ink-2)}.factory-metrics strong{text-align:right;font:600 18px/1 var(--font-display);letter-spacing:.02em;color:var(--ink)}.factory-metrics strong span{color:inherit}.factory-blocked-note{border:1px solid var(--failure-border);background:var(--failure-surface);color:var(--failure-ink);margin:0;padding:10px 12px;font-size:13px}.hover-inspector{font-size:12px}.hover-inspector strong{margin-top:8px;display:block}.brush-readout{font-size:12px}.factory-render-alert{z-index:10;position:absolute;top:56px;left:16px}@media (width<=1100px){.factory-world{grid-template:"canvas"minmax(0,1fr)"status"52px"tools""controls"56px/minmax(0,1fr)}.factory-build-status{padding:0 8px 0 16px}.factory-controls{justify-content:flex-end;padding:0 8px}.factory-controls .facility-command{order:-1;margin-right:auto}.toolbelt{justify-content:flex-start}}@media (width<=768px){.factory-world{grid-template-rows:minmax(0,1fr) auto 84px 54px}.factory-build-status{grid-template-columns:minmax(0,1fr);gap:0;padding:0 4px 0 10px;display:grid}.build-readout{gap:10px;min-height:40px;font-size:12px;overflow:hidden}.build-readout strong{font-size:15px}.build-actions{border-top:1px solid var(--rule);justify-content:flex-end}.factory-build-status button{min-width:64px;min-height:44px;padding:0 10px}.factory-controls{justify-content:space-between;gap:0;padding:0 4px}.factory-controls .control-group{gap:0}.factory-controls .control-group+.control-group{padding-left:4px}.factory-controls button{min-width:44px;min-height:44px;padding:0 8px;font-size:14px}.factory-controls .facility-command{padding:0 12px;font-size:15px}.factory-controls .zoom-readout{display:none}.toolbelt{gap:2px;padding:4px 24px 4px 8px}.tool-slot{flex-basis:66px;width:66px;min-height:72px}.tool-name{font-size:11.5px}.toolbelt-more{background:var(--paper);border-left:1px solid var(--rule);pointer-events:none;width:22px;height:84px;color:var(--ink-2);place-items:center;display:grid;position:absolute;bottom:54px;right:0}.world-layout.has-inspector{grid-template-rows:minmax(0,1fr) min(38dvh,320px);grid-template-columns:minmax(0,1fr)}.inspector{border-left:0;border-top:1px solid var(--rule-strong);padding:20px 16px}.factory-mode-mark{padding:4px 8px;font-size:13px;top:8px;left:8px}.machine-selection{max-width:none;top:46px;left:8px;right:8px}.world-layout.has-inspector .machine-selection{display:none}}.management-view{grid-template-rows:auto minmax(0,1fr);display:grid}.management-header{border-bottom:2px solid var(--ink);padding:24px 72px 14px 24px}.management-header h1{margin-bottom:6px}.management-header p{color:var(--ink-2);margin:0;font-size:13px}.market-grid,.patent-grid{min-width:0;padding:0 24px 24px;overflow:auto}.market-grid-contents,.patent-grid-contents{grid-template-columns:minmax(0,1fr);display:grid}.market-sheet dt,.market-contract,.market-quiet-price,.patent-group h2,.legend-group h3,.formula-picker,.blueprint-capture .game-field>span,.formula-sheet-meta{color:var(--ink-3);font:600 13px/1.2 var(--font-display);letter-spacing:.06em;text-transform:uppercase}.panel-empty{border:1px dashed var(--rule-strong);color:var(--ink-2);margin:12px 0 0;padding:14px 16px;font-size:13px}.market-feedback{font-weight:600;animation:.2s cubic-bezier(.16,1,.3,1) panel-note-in;color:var(--cure-ink)!important;margin-top:8px!important}@keyframes panel-note-in{0%{opacity:0;transform:translateY(-4px)}}.market-card{border-bottom:1px solid var(--rule-strong);min-width:0;padding:16px 0}.market-card-heading{align-items:center;gap:12px;display:flex}.market-card h2{margin:0}.market-contract,.market-quiet-price{white-space:nowrap}.market-contract strong,.market-quiet-price strong{color:var(--ink);letter-spacing:.02em;font-size:15px}.market-card-heading .market-contract{margin-left:auto}.disease-emblem{border:1.5px solid var(--ink);width:32px;height:32px;color:var(--ink);font:600 15px/1 var(--font-display);letter-spacing:.02em;flex:none;place-items:center;display:grid}.market-sheet{grid-template-columns:92px minmax(0,1fr);margin:12px 0 0;display:grid}.market-sheet dt,.market-sheet dd{border-top:1px solid var(--rule);padding:8px 0}.market-sheet dt{padding-top:11px}.market-sheet dd{min-width:0;color:var(--ink-2);flex-wrap:wrap;align-items:baseline;gap:4px 14px;margin:0;font-size:13px;display:flex}.market-sheet strong{font:600 19px/1 var(--font-display);color:var(--ink)}.market-stock strong{margin-right:2px}.market-sheet .market-value-clean{color:var(--cure-ink)}.market-sheet .market-value-tainted,.market-equation .market-value-tainted strong,.market-value-tainted{color:var(--effect-ink)}.market-equation{gap:4px 10px!important}.market-net strong{font-size:23px}.price-ladder{flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.price-ladder li{border-left:1px solid var(--rule);color:var(--ink-3);font:600 16px/1.2 var(--font-display);font-variant-numeric:tabular-nums;border-bottom:3px solid #0000;padding:2px 10px 3px}.price-ladder li:first-child{border-left:0;padding-left:0}.price-ladder li.is-covered{color:var(--ink);border-bottom-color:var(--ink)}.market-readout{color:var(--ink-2);margin:10px 0 0;font-size:13px}.market-readout strong{color:var(--ink);font-weight:700}.market-actions{align-items:center;margin-top:12px}.market-reason{color:var(--ink-2);flex-basis:100%;margin:2px 0 0;font-size:12px}.market-reason>span{color:var(--ink);font-weight:600}.market-card.is-quiet{grid-template-columns:32px minmax(0,1fr) auto auto;align-items:center;gap:4px 16px;padding:10px 0;display:grid}.market-card.is-quiet h2{color:var(--ink-2);font-size:16px}.market-card.is-quiet .disease-emblem{border-color:var(--rule-strong);width:28px;height:28px;color:var(--ink-2);font-size:13px}.market-card.is-quiet .market-reason{color:var(--ink-2);flex-basis:auto;grid-column:2/-1;margin:0;font-weight:400}.effects-strip{color:var(--cure-ink);flex-wrap:wrap;gap:4px 16px;margin-top:8px;font-size:13px;font-weight:600;display:flex}.recovery-guidance{color:var(--failure-ink)!important;margin-top:8px!important}.patent-group{padding-top:18px}.patent-group h2{border-bottom:1.5px solid var(--ink);color:var(--ink);margin:0;padding-bottom:6px}.patent-card{border-bottom:1px solid var(--rule);grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:4px 16px;min-width:0;padding:12px 0;display:grid}.patent-card-main{gap:3px;min-width:0;display:grid}.patent-card h3{font:600 19px/1.1 var(--font-display);letter-spacing:.01em;text-transform:uppercase;margin:0}.patent-card small{color:var(--ink-2);font-size:13px}.patent-requirement{color:var(--ink-2);font-size:12px}.patent-card.is-available .patent-requirement[data-testid]{color:var(--ink);font-weight:600}.patent-cost{color:var(--ink);font:600 16px/1 var(--font-display);letter-spacing:.02em;font-variant-numeric:tabular-nums;white-space:nowrap}.patent-card.is-owned{grid-template-columns:minmax(0,1fr) auto}.patent-card.is-owned h3{color:var(--ink-2)}.patent-card.is-owned button{min-height:32px;color:var(--cure-ink);font:600 14px/1 var(--font-display);letter-spacing:.05em;text-transform:uppercase;border-color:#0000}.blueprint-library,.menu-panel,.formula-library,.help-panel{padding:24px}.blueprint-library h1,.menu-panel h1,.formula-library h1,.help-panel h1{padding-right:44px}.blueprint-library h1,.help-panel h1,.menu-panel h1{border-bottom:2px solid var(--ink);padding-bottom:14px}.blueprint-library .panel-section{margin-top:18px}.blueprint-library .blueprint-capture{border-top:0;margin-top:0}.blueprint-library h2{margin:0 0 4px;font-size:17px}.blueprint-capture .game-field{margin-top:0}.blueprint-capture input,.blueprint-library textarea{width:100%}.blueprint-count{color:var(--ink-3);font:600 15px/1 var(--font-display);font-variant-numeric:tabular-nums;margin-left:auto}.blueprint-list .panel-heading h2{margin:0}.blueprint-card{border-bottom:1px solid var(--rule);gap:8px;padding:12px 0;display:grid}.blueprint-list .panel-heading+.blueprint-card,.blueprint-list .panel-heading+.panel-empty{margin-top:8px}.blueprint-card-title{flex-wrap:wrap;align-items:baseline;gap:2px 12px;min-width:0;display:flex}.blueprint-card-title strong{overflow-wrap:anywhere;font-size:15px}.blueprint-card-title span{color:var(--ink-2);font-variant-numeric:tabular-nums;font-size:13px}.blueprint-card .panel-actions{margin-top:0}.blueprint-delete{color:var(--failure-ink);margin-left:auto}.blueprint-reason{color:var(--ink-2);font-size:12px}.blueprint-library textarea{resize:vertical;min-height:64px;margin-top:6px;font:12px/1.4 ui-monospace,monospace}.blueprint-import .panel-actions{margin-top:8px}.blueprint-status{color:var(--ink-2);margin-top:16px;font-size:13px;display:block}.blueprint-status:empty{display:none}.formula-picker{gap:6px;display:grid}.formula-picker select{width:100%;color:var(--ink);font:600 16px/1 var(--font-display);letter-spacing:.02em;text-transform:none}.formula-ribbon{border:2px solid var(--ink);background:var(--paper-raised);margin-top:16px}.formula-sheet-head{border-bottom:2px solid var(--ink)}.formula-sheet-head h2{margin:0;padding:10px 12px 8px;font-size:20px}.formula-id{color:var(--course-ink);font-size:26px}.formula-sheet-meta{border-top:1px solid var(--rule-strong);grid-template-columns:1fr 1fr;display:grid}.formula-sheet-meta>span{align-items:center;gap:6px;padding:7px 12px;display:flex}.formula-sheet-meta>span+span{border-left:1px solid var(--rule-strong)}.formula-sheet-meta strong{color:var(--ink);font:600 19px/1 var(--font-display)}.formula-sheet-meta .is-clean{color:var(--cure-ink)}.formula-sheet-meta .is-tainted{color:var(--effect-ink)}.formula-sheet-end{min-height:44px;color:var(--ink-2);font:600 15px/1 var(--font-display);letter-spacing:.04em;text-transform:uppercase;align-items:center;gap:10px;padding:4px 12px;display:flex}.formula-sheet-end:first-of-type{border-bottom:1px solid var(--rule-strong)}.formula-ribbon ol{margin:0;padding:0;list-style:none}.formula-ribbon li{border-bottom:1px solid var(--rule-strong);grid-template-columns:40px 46px minmax(0,1fr) 48px;min-height:50px;display:grid}.formula-ribbon li>span{place-items:center;min-width:0;display:grid}.formula-ribbon li>span:not(:last-child){border-right:1px solid var(--rule)}.formula-step-icon{color:var(--ink)}.formula-step-number{color:var(--course-ink);font:600 22px/1 var(--font-display);font-variant-numeric:tabular-nums}.formula-ribbon li>.formula-step-name{font:600 16px/1.1 var(--font-display);letter-spacing:.02em;text-transform:uppercase;color:var(--ink);justify-items:start;padding:0 10px}.formula-sheet-note{border-top:1px solid var(--rule-strong);color:var(--ink-2);margin:0;padding:10px 12px;font-size:13px;line-height:1.45}.help-panel h2{border-bottom:1.5px solid var(--ink);margin:24px 0 6px;padding-bottom:5px;font-size:18px}.help-panel p{color:var(--ink-2);margin:6px 0;font-size:13px}.help-panel p strong{color:var(--ink)}.help-panel .nowrap{white-space:nowrap}.legend-group h3{margin:12px 0 2px}.legend-list,.legend-keys{margin:0;display:grid}.legend-list>div,.legend-keys>div{border-bottom:1px solid var(--rule);grid-template-columns:minmax(0,168px) minmax(0,1fr);align-items:center;gap:12px;padding:5px 0;display:grid}.legend-list dt{font:600 15px/1.1 var(--font-display);letter-spacing:.03em;text-transform:uppercase;align-items:center;gap:10px;display:flex}.legend-list dd,.legend-keys dd{color:var(--ink-2);margin:0;font-size:13px;line-height:1.4}.legend-keys dt{color:var(--ink-3)}.legend-keys kbd{border:1px solid var(--rule-strong);min-width:20px;color:var(--ink);text-align:center;border-radius:2px;padding:3px 5px;font-size:12px;display:inline-block}.map-symbol{flex:none}.map-symbol .ink-course{stroke:var(--course)}.map-symbol .map-symbol-number{fill:var(--course-ink);font:600 12px var(--font-display);text-anchor:middle}.map-symbol .fill-cure{fill:color-mix(in srgb, var(--cure) 14%, var(--paper-raised));stroke:var(--cure);stroke-width:1.5px}.map-symbol .solid-cure{fill:var(--cure)}.map-symbol .fill-effect{fill:color-mix(in srgb, var(--effect) 22%, var(--paper-raised));stroke:var(--effect);stroke-width:1.5px}.map-symbol .ink-effect{stroke:var(--effect-ink)}.map-symbol .solid-effect{fill:var(--effect-ink)}.map-symbol .solid-ink{fill:var(--ink)}.map-symbol .ink-ink{stroke:var(--ink)}.map-symbol .ink-paper{stroke:var(--paper-raised)}.map-symbol .ink-rule{fill:var(--paper-raised);stroke:var(--rule-strong)}.map-symbol .ink-marsh{stroke:var(--marsh)}.map-symbol .ink-flow{stroke:var(--flow)}.map-symbol .fill-marsh{fill:#e3eff6}.map-symbol .fill-abyss{fill:#1c3a58;stroke:var(--ink)}.map-symbol .ink-pit{stroke:#5f86ad}.menu-panel h1{color:var(--ink)}.menu-panel>.resource-chip{align-items:baseline;gap:10px;margin-top:16px;display:flex}.menu-panel>.resource-chip .resource-label-full{display:inline}.menu-panel>.resource-chip .resource-label-compact{display:none}.system-strip{border-top:1px solid var(--rule);grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:16px;padding-top:16px;display:grid}.system-strip .hud-button{font:600 16px/1 var(--font-display);letter-spacing:.05em;text-transform:uppercase}.system-strip .new-game-button{grid-column:span 2;justify-content:center}.new-game-button>span[aria-hidden=true]{display:none}.save-slot-control{color:var(--ink-3);font:600 13px/1 var(--font-display);letter-spacing:.06em;text-transform:uppercase;grid-column:span 2;align-items:center;gap:8px;display:flex}.save-slot-control select{min-width:0;font:600 16px/1 var(--font-display);flex:1}.system-strip .is-warning{border-color:var(--effect);color:var(--effect-ink);grid-column:1/-1}@media (width>=769px){.blueprint-card .panel-actions button,.patent-card button,.market-actions button{min-height:36px;padding:6px 12px}.formula-reference .formula-library{padding:20px 16px}.formula-reference .formula-ribbon li{grid-template-columns:34px 42px minmax(0,1fr) 44px}.formula-reference .formula-step-name{padding:0 8px;font-size:15px}}@media (width<=768px){.management-header,.blueprint-library,.menu-panel,.formula-library,.help-panel{padding:20px 16px}.management-header{padding-right:64px}.market-grid,.patent-grid{padding:0 16px 24px}.market-card-heading{flex-wrap:wrap}.market-sheet{grid-template-columns:76px minmax(0,1fr)}.market-actions button{flex:1}.market-card.is-quiet{grid-template-columns:28px minmax(0,1fr) auto}.market-card.is-quiet .market-contract{grid-column:2/-1}.patent-card{grid-template-columns:minmax(0,1fr) auto}.patent-card-main{grid-column:1/-1}.legend-list>div,.legend-keys>div{grid-template-columns:minmax(0,132px) minmax(0,1fr);gap:10px}}
