@font-face{font-family:"Jersey 15";font-style:normal;font-display:swap;font-weight:400;src:url(./jersey-15-latin-ext-400-normal-CvhfUKc7.woff2)format("woff2"),url(./jersey-15-latin-ext-400-normal-CbkgKn9S.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Jersey 15";font-style:normal;font-display:swap;font-weight:400;src:url(./jersey-15-latin-400-normal-C8Nlw5JP.woff2)format("woff2"),url(./jersey-15-latin-400-normal-4mtCZV7-.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Jersey 20";font-style:normal;font-display:swap;font-weight:400;src:url(./jersey-20-latin-ext-400-normal-BO3lmWef.woff2)format("woff2"),url(./jersey-20-latin-ext-400-normal-B2iV2rsB.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Jersey 20";font-style:normal;font-display:swap;font-weight:400;src:url(./jersey-20-latin-400-normal-bNi78tgO.woff2)format("woff2"),url(./jersey-20-latin-400-normal-CEBC6LzF.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--small:15px "Jersey 15", system-ui, sans-serif;--body:20px "Jersey 20", system-ui, sans-serif;--panel:#23262d;--panel-2:#2d313a;--panel-3:#383d48;--line:#4d525e;--gold:#d9a93a;--gold-soft:#b38b33;--text:#f4edda;--muted:#aaa89d;--good:#7fd65f;--warn:#f0a735;--bad:#ee6a50;--water:#5cb8ff;--full:#e8cf52;--off:#8b8e96;--wood:#e3c68e;--wood-dark:#5c3d1f}*{box-sizing:border-box}html,body{height:100%;color:var(--text);-webkit-user-select:none;user-select:none;font-synthesis:none;background:#58aefc;margin:0;font-family:"Jersey 20",system-ui,sans-serif;font-size:20px;line-height:1.1;overflow:hidden}button{font:inherit;color:inherit}#game-root{position:fixed;inset:0;overflow:hidden}#game-root canvas{image-rendering:pixelated;touch-action:none;display:block}#world-overlay{pointer-events:none;will-change:transform;width:0;height:0;position:fixed;top:0;left:0}#ui-root{pointer-events:none;position:fixed;inset:0}#boot-screen{z-index:50;background:#23262d;flex-direction:column;justify-content:center;align-items:center;gap:6px;display:flex;position:fixed;inset:0}.boot-title{color:#f2b705;font-size:40px}.boot-sub{font-size:20px}.boot-status{color:#b9b3a6;margin-top:16px}.panel{background:var(--panel);border:2px solid var(--line);pointer-events:auto;border-radius:4px;box-shadow:0 2px #14161a,inset 0 0 0 1px #3a3e48}.sprite{image-rendering:pixelated;vertical-align:middle;background-repeat:no-repeat;flex:none;display:inline-block}.sprite-missing{background:#663;width:24px;height:24px;display:inline-block}.thumb{background-color:#1b1d22;outline:1px solid #3b3f49}.muted{color:var(--muted)}.small{font:var(--small)}.pad{padding:4px 2px}.good-text{color:var(--good)}.warn-text{color:var(--warn)}h2{font:var(--body);color:var(--gold);margin:0}h3{font:var(--body);color:var(--gold);margin:12px 2px 5px}h4{font:var(--body);color:var(--text);margin:8px 0 3px}.btn{background:var(--panel-3);border:2px solid var(--line);cursor:pointer;pointer-events:auto;border-radius:3px;padding:5px 9px}.btn:hover:not(:disabled){border-color:var(--gold);background:#434957}.btn:active:not(:disabled){transform:translateY(1px)}.btn:disabled{cursor:default;opacity:.62}.btn.primary{background:#4d5a2c;border-color:#7a8d3f}.btn.primary:hover:not(:disabled){border-color:var(--gold);background:#5d6d35}.btn.danger{background:#5d2d26;border-color:#91483b}.btn.wide{width:100%;margin-top:8px;padding:8px}.btn.tiny{min-width:26px;padding:0 7px}.btn.square{width:44px;height:44px;padding:0}.btn.square.active{border-color:var(--gold);color:var(--gold)}.btn.buy{text-align:left;flex-wrap:wrap;align-items:center;gap:6px 10px;display:inline-flex}.btn-label{color:#fff6dc}.cost-list{flex-wrap:wrap;align-items:center;gap:2px 8px;display:inline-flex}.cost{align-items:center;gap:3px;display:inline-flex}.cost.lacking{color:var(--bad)}.cost.by{opacity:.85}.bar{background:#15171b;border:1px solid #4b4f59;border-radius:2px;flex:auto;min-width:30px;height:12px;display:block;overflow:hidden}.bar.small{height:8px}.bar-fill{height:100%;display:block}.tone-gold.bar-fill{background:var(--gold)}.tone-good.bar-fill,.bar-fill.tone-good{background:var(--good)}.bar-fill.tone-water{background:var(--water)}.bar-fill.tone-warn{background:var(--warn)}.bar-fill.tone-bad{background:var(--bad)}.bar-fill.tone-off{background:var(--off)}.badge{font:var(--small);border:1px solid;border-radius:3px;padding:0 6px;display:inline-block}.badge.tone-good{color:var(--good)}.badge.tone-off{color:var(--off)}.badge.tone-warn{color:var(--warn)}.badge.tone-water{color:var(--water)}.badge.tone-bad{color:var(--bad)}.badge.tone-full{color:var(--full)}.badge.tone-locked{color:#777a83}.toggle{border:2px solid var(--line);cursor:pointer;border-radius:3px;padding:0 8px}.toggle.on{background:#3f5a2a;border-color:#6c9040}.toggle.off{background:#4a2c28;border-color:#84493e}.row{align-items:center;gap:8px;display:flex}.grow{flex:auto;min-width:0}.ui-frame{pointer-events:none;flex-direction:column;gap:6px;display:flex;position:absolute;inset:6px}.ui-middle{pointer-events:none;flex:auto;justify-content:space-between;gap:8px;min-height:0;display:flex}.topbar{flex:none;align-items:stretch;gap:8px;padding:4px 8px;display:flex}.brand{border-right:2px solid var(--line);flex-direction:column;flex:none;justify-content:center;padding:0 12px 0 4px;display:flex}.brand-title{color:#f2c23a;white-space:nowrap;font:30px/.9 "Jersey 15",system-ui,sans-serif}.brand-sub{font:var(--small);color:var(--muted)}.chips{flex-wrap:wrap;align-items:center;gap:2px 4px;min-width:0;display:flex}.chip{cursor:pointer;background:0 0;border:1px solid #0000;border-radius:3px;align-items:center;gap:5px;padding:1px 6px 1px 3px;display:inline-flex}.chip:hover{border-color:var(--gold-soft);background:var(--panel-2)}.chip.full b{color:var(--full)}.chip.reserved{border-color:var(--gold);background:#3b3421}.chip-text{flex-direction:column;align-items:flex-start;line-height:1.05;display:flex}.chip-name{font:var(--small);color:#cfc9b8;white-space:nowrap}.chip-lock{color:var(--gold)}.chip-values{white-space:nowrap;align-items:baseline;gap:5px;display:flex}.chip-values b{font:var(--body)}.chip-up{color:var(--good);font:var(--small)}.chip-down{color:var(--warn);font:var(--small)}.chip-flat{color:#7f8189;font:var(--small)}.left-stack{pointer-events:none;flex-direction:column;flex:none;gap:6px;width:390px;min-height:0;display:flex}.right-stack{pointer-events:none;flex-direction:column;flex:none;gap:6px;width:330px;min-height:0;display:flex}.objective{width:330px;padding:8px 10px}.panel-kicker{font:var(--small);color:var(--gold)}.objective-title{margin:2px 0}.objective-hint{font:var(--small);color:#dad4c3;margin-bottom:6px;line-height:1.2}.objective .bar{margin-bottom:6px}.project{border-color:var(--gold-soft);flex:none;padding:6px 10px 8px}.project-title{cursor:pointer;color:#f2c23a;border:none;border-bottom:2px solid var(--line);background:0 0;align-items:center;gap:8px;width:100%;margin-bottom:4px;padding:0 0 4px;display:flex}.project-title .sprite{transform-origin:0;background-color:#0000;outline:none}.project-step{color:#fff6dc}.project-bar{align-items:center;gap:8px;margin:2px 0 5px;display:flex}.project-need{align-items:center;gap:5px;display:flex}.project-need b{margin-left:auto}.project-next{border-top:2px solid var(--line);color:#e6c872;margin-top:5px;padding-top:4px}.sidepanel,.selection{flex-direction:column;flex:auto;min-height:0;display:flex;overflow:hidden}.selection{flex:0 auto}.panel-head{border-bottom:2px solid var(--line);flex:none;justify-content:space-between;align-items:center;padding:7px 10px;display:flex}.panel-body{scrollbar-color:#5a5f6b #1d1f24;scrollbar-width:thin;padding:8px;overflow-y:auto}.intro{font:var(--small);color:#d3cdbc;margin:0 2px 8px;line-height:1.2}.card{background:var(--panel-2);border:1px solid #454a55;border-radius:3px;flex-direction:column;gap:4px;margin-bottom:7px;padding:7px 8px;display:flex}.locked-card{opacity:.72}.card-title{color:#fff6dc}.level{font:var(--small);color:var(--gold)}.card-sub{font:var(--small);color:#cfc9b8;flex-wrap:wrap;align-items:center;gap:6px;display:flex}.desc{font:var(--small);color:#cfc9b8;line-height:1.2}.stat{font:var(--small);justify-content:space-between;min-height:21px}.stat b{font:var(--body);font-weight:400}.stat.total{border-top:1px solid var(--line);padding-top:3px}.stat.heat{justify-content:flex-start}.heat-text{text-align:right;min-width:42px}.tag-bad{color:var(--bad);white-space:nowrap}.with-icon{align-items:center;gap:5px;display:inline-flex}.actions{flex-wrap:wrap;gap:5px;margin-top:2px;display:flex}.lock{font:var(--small);color:#d9b86a}.hint-warn{font:var(--small);color:var(--warn);line-height:1.2}.stepper{align-items:center;gap:6px;display:inline-flex}.stepper b{text-align:center;min-width:18px}.recipe{flex-wrap:wrap;align-items:center;gap:3px 7px;display:flex}.arrow{color:var(--gold)}.cycle{margin-left:auto}.water-line{color:#a9d6f7;font:var(--small);flex-wrap:wrap;gap:2px 12px;display:flex}.cooler-name{font:var(--small);color:#d3cdbc}.step{border-top:1px solid #454a55;padding-top:4px}.step.done,.step.done .step-title{color:var(--good)}.step.todo{opacity:.68}.step-title{color:#fff6dc}.step-mark{text-align:center;background:#1b1d22;border-radius:3px;min-width:18px;margin-right:3px;display:inline-block}.need{font:var(--small);align-items:center;gap:5px;margin:2px 0;display:flex}.need-name{white-space:nowrap;flex:none}.need-num{white-space:nowrap;margin-left:auto}.legend{flex-wrap:wrap;gap:3px;margin-bottom:4px;display:flex}.chain-row{flex-wrap:wrap;align-items:center;gap:2px 3px;display:flex}.chain-arrow{color:var(--gold)}.chain-node{border:2px solid #666;border-radius:3px;line-height:0;position:relative}.tone-border-good{border-color:var(--good)}.tone-border-off{border-color:var(--off)}.tone-border-warn{border-color:var(--warn)}.tone-border-water{border-color:var(--water)}.tone-border-bad{border-color:var(--bad)}.tone-border-full{border-color:var(--full)}.tone-border-locked{opacity:.45;border-color:#4b4e55}.chain-heat{font:var(--small);color:#cfe8ff;background:#0c0d10c0;padding:0 2px;line-height:1;position:absolute;bottom:0;right:0}.chain-heat.bad{color:var(--bad)}.chain-water{position:absolute;top:-3px;left:-3px}.chain-res{font:var(--small);flex-direction:column;align-items:center;min-width:28px;line-height:1;display:inline-flex}.chain-res.low{color:var(--warn);opacity:.8}.bottombar{pointer-events:none;flex-direction:column;flex:none;gap:4px;display:flex}.section-strip{pointer-events:auto;background:#1a1c21c8;border:1px solid #454a55;border-radius:3px;width:min(1040px,72vw);height:20px;margin:0 auto;position:relative}.strip-view{border-left:1px solid var(--gold);border-right:1px solid var(--gold);background:#d9a93a33;position:absolute;top:0;bottom:0}.strip-btn{height:18px;line-height:16px;font:var(--small);color:#d3cdbc;cursor:pointer;white-space:nowrap;background:0 0;border:none;padding:0 3px;position:absolute;top:0;transform:translate(-50%)}.strip-btn:hover,.strip-btn.active{color:#f2c23a}.bottom-row{justify-content:center;align-items:flex-end;gap:8px;display:flex}.bottom-side{flex:1 1 0;gap:5px;min-width:0;display:flex}.bottom-side.right{justify-content:flex-end;align-items:center}.tabs{flex:none;gap:4px;display:flex}.tab{cursor:pointer;align-items:center;gap:5px;height:56px;padding:2px 11px 2px 3px;display:flex;position:relative}.tab:hover{border-color:var(--gold-soft)}.tab.active{border-color:var(--gold);color:#f7d25a}.tab-icon{background-color:#0000;outline:none}.tab-alert{background:var(--warn);border-radius:1px;width:9px;height:9px;position:absolute;top:3px;right:3px}.zoom{align-items:center;gap:4px;height:44px;padding:4px;display:flex}.zoom-value{text-align:center;min-width:26px}.plate{background:var(--wood);border:2px solid var(--wood-dark);color:#33210f;font:var(--small);white-space:nowrap;cursor:pointer;pointer-events:auto;border-radius:3px;flex-direction:column;align-items:stretch;gap:2px;padding:1px 6px;display:flex;position:absolute;transform:translate(-50%,-100%);box-shadow:0 1px #2a1a0a}.plate:hover{background:#f2d9a6}.plate.selected{outline:2px solid #f7d25a}.plate.ghost{color:#dbe8ff;background:#27304199;border-color:#6f8fc0aa}.plate-name{justify-content:center;align-items:center;gap:4px;display:inline-flex}.plate-extra{align-items:center;gap:3px;min-width:62px;line-height:0;display:flex}.plate-extra .bar{background:#5a4326;border-color:#33210f}.plate-num{line-height:1}.dot{border:1px solid #33210f;border-radius:1px;flex:none;width:9px;height:9px}.dot.tone-good{background:#58c23a}.dot.tone-off{background:#777}.dot.tone-warn{background:#ef9a22}.dot.tone-water{background:#2f9cf2}.dot.tone-bad{background:#e4462c}.dot.tone-full{background:#f0d832}.stock-sign{color:#f4e7c8;font:var(--small);white-space:nowrap;pointer-events:none;background:#2b2118d9;border-radius:2px;padding:0 5px;position:absolute;transform:translate(-50%)}.stock-sign b{color:#ffd668;font-weight:400}.toasts{pointer-events:none;flex-direction:column;align-items:center;gap:4px;display:flex;position:absolute;bottom:96px;left:50%;transform:translate(-50%)}.toast{pointer-events:none;align-items:center;gap:6px;padding:5px 12px;display:flex}.toast.good{border-color:var(--gold)}.paused-banner{border-color:var(--gold);color:#f7d25a;pointer-events:none;padding:5px 14px;position:absolute;top:72px;left:50%;transform:translate(-50%)}.modal-back{pointer-events:auto;z-index:20;background:#0d0f1299;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.modal{border-color:var(--gold-soft);width:min(520px,92vw);max-height:86vh;padding:12px 14px;overflow-y:auto}.modal .panel-head{margin-bottom:8px;padding:0 0 6px}.modal p{font:var(--small);line-height:1.25}.offline-grid{grid-template-columns:1fr 1fr;gap:3px 10px;display:grid}.offline-item{align-items:center;gap:5px;display:flex}.offline-item b{margin-left:auto}.save-text{width:100%;height:74px;color:var(--text);border:1px solid var(--line);-webkit-user-select:text;user-select:text;background:#15171b;margin-top:6px;font-family:ui-monospace,monospace;font-size:12px}@media (max-width:1280px){.brand-sub{display:none}.tab{padding-right:7px}.left-stack{width:360px}.right-stack{width:290px}}.additive{font:var(--small);color:#d3cdbc;align-items:center;gap:3px;width:100%;display:inline-flex}.additive.active{color:var(--good)}.trade-row{opacity:.72}.trade-row.on{opacity:1;border-color:var(--gold-soft)}.trade-keep input[type=range]{min-width:60px;accent-color:var(--gold);pointer-events:auto;flex:auto}.trade-stock{text-align:right;min-width:62px}.trade-row .with-icon{flex:auto}@media (max-width:1450px){.bottom-side:not(.right){display:none}.bottom-row{justify-content:space-between}.bottom-side.right{flex:none}}@media (max-width:1250px){.tab{padding:2px 3px}.tab>span:not(.sprite):not(.tab-alert){display:none}.left-stack{width:300px}.right-stack{width:250px}.objective{width:280px}.section-strip{width:100%}}.chips.compact .chip-name{display:none}.chips.compact .chip{padding:0 5px 0 2px}.mode-row{flex-wrap:wrap;align-items:center;gap:4px;margin:4px 0;display:flex}.btn.tiny.selected-mode{background:var(--good,#4f8f3a);color:#fff}.tutorial-focus{z-index:14;border:3px solid var(--gold);pointer-events:none;border-radius:4px;animation:1.1s steps(6,end) infinite alternate tutorial-pulse;position:fixed;box-shadow:0 0 0 200vmax #0a0c1066}@keyframes tutorial-pulse{0%{border-color:var(--gold)}to{border-color:#fff3c4}}.tutorial-card,.tip-card{z-index:15;border-color:var(--gold);pointer-events:auto;padding:8px 12px 10px;position:fixed}.tip-card{width:400px;max-width:92vw;top:84px;left:50%;transform:translate(-50%)}.tutorial-title{color:var(--gold);margin:1px 0 3px}.tutorial-text{margin:0 0 6px;line-height:1.15}.tutorial-do{color:var(--good);margin-bottom:6px}.tutorial-cost{flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:6px;display:flex}.tutorial-actions{justify-content:space-between;align-items:center;gap:10px;margin-top:4px;display:flex}.tip-buttons{gap:6px;display:inline-flex}.tutorial-skip{color:var(--muted);font:var(--small);cursor:pointer;pointer-events:auto;background:0 0;border:none;padding:0;text-decoration:underline}.tutorial-skip:hover{color:var(--text)}.tutorial-marker{border-left:14px solid #0000;border-right:14px solid #0000;border-top:20px solid var(--gold);filter:drop-shadow(0 2px #14161a);pointer-events:none;width:0;height:0;margin-left:-14px;animation:.9s steps(4,end) infinite alternate tutorial-bob;position:absolute}@keyframes tutorial-bob{0%{transform:translateY(-14px)}to{transform:translateY(0)}}.welcome p{margin:8px 0}.welcome-actions{justify-content:flex-end;margin-top:10px}.help-modal{flex-direction:column;width:min(820px,94vw);height:min(620px,88vh);display:flex;overflow:hidden}.help-search{background:var(--panel-2);border:2px solid var(--line);width:100%;color:var(--text);font:var(--body);-webkit-user-select:text;user-select:text;border-radius:3px;margin:6px 0;padding:4px 8px}.help-search:focus{border-color:var(--gold);outline:none}.help-body{flex:1;gap:10px;min-height:0;display:flex}.help-topics{flex-direction:column;flex:none;gap:2px;width:250px;display:flex;overflow-y:auto}.help-topic{background:var(--panel-2);text-align:left;cursor:pointer;border:1px solid #0000;border-radius:3px;padding:3px 7px}.help-topic:hover{border-color:var(--gold-soft)}.help-topic.active{background:var(--panel-3);border-color:var(--gold);color:var(--gold)}.help-text{-webkit-user-select:text;user-select:text;flex:1;min-width:0;padding-right:6px;overflow-y:auto}.help-text h3{margin-top:0}.help-text p{margin:0 0 9px;line-height:1.18}.help-footer{justify-content:space-between;align-items:center;gap:10px;margin-top:8px;display:flex}@media (max-width:720px){.help-body{flex-direction:column}.help-topics{width:auto;max-height:130px}}.btn-note{color:var(--good);font:var(--small)}.bottleneck{background:var(--panel-3);border-left:3px solid var(--gold);border-radius:2px;margin:6px 0;padding:5px 8px}.bottleneck-title{color:var(--gold)}.bottleneck .btn{margin-top:4px}.project-hold{background:var(--panel-3);border:none;border-left:3px solid var(--gold);width:100%;color:var(--text);font:var(--small);text-align:left;cursor:pointer;pointer-events:auto;border-radius:2px;margin-top:4px;padding:2px 6px;display:block}.project-hold:hover{background:#434957}
