@import "https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;700&family=Noto+Sans+KR:wght@400;700&display=swap";@font-face{font-family:GalmuriMono11;src:url(./GalmuriMono11-gm2AMfCH.woff2)format("woff2");font-display:swap}:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#10151c;--panel:#171e27;--line:#2f3b49;--fg:#dfe5ea;--dim:#7c8b9b;--faint:#3c4955;--rock:#4a5966;--fire:#ffb238;--alert:#ff5f56;--water:#4d8fc4;--go:#8fd16f;--power:#ffd24a;--hp:#e8645c;--hunger:#d9a441;--weight:#8fb0cf;--mono:"GalmuriMono11", "JetBrains Mono", "Noto Sans KR", Consolas, monospace;--art-mono:"JetBrains Mono", Consolas, monospace;--text-xs:12px;--text-sm:12px;--text-md:12px;--text-lg:24px;--gap:var(--u,8px);--gap-sm:calc(var(--gap) / 2);--gap-lg:calc(var(--gap) * 1.5);--control:calc(var(--gap) * 4)}*{box-sizing:border-box}html,body{height:100%;overflow:hidden}body{-webkit-user-select:none;user-select:none}input{-webkit-user-select:text;user-select:text}[hidden]{display:none!important}body{background:var(--bg);color:var(--fg);font-family:var(--mono);font-variant-ligatures:none;font-size:var(--text-md);-webkit-font-smoothing:none;font-smooth:never;margin:0}pre{font:inherit;white-space:pre;margin:0;line-height:1.2}h2{font-size:var(--text-lg);margin:0}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0;padding:0}button:focus-visible{outline:2px solid var(--fire);outline-offset:1px}:root{--side:calc(var(--gap) * 49);--top-h:calc(var(--gap) * 5)}#app{z-index:1;height:100%;padding:var(--gap);gap:var(--gap);grid-template-columns:var(--side) minmax(0, 1fr) var(--side);grid-template-rows:var(--top-h) minmax(0, 1fr) auto;grid-template-areas:"top top top""left centre right""left bar right";display:grid;position:relative}#app>.top{grid-area:top}#app>.left-col{grid-area:left}#app>.map-view,#app>.graph-view{grid-area:centre}.map-side.board-side{z-index:6;position:relative;overflow:visible}.board-side .palette,.board-side .graph-tools,.board-side .roster{gap:var(--gap-sm)}.board-side .graph-tools input{width:100%}.board-side .roster-box{flex:auto;align-content:start;min-height:0;overflow:hidden}.board-side .roster .facility{flex:1 1 calc(50% - var(--gap-sm));text-align:left}.right-col{gap:var(--gap);flex-direction:column;grid-area:right;min-height:0;display:flex;overflow:hidden}.hotbar{justify-self:center;align-items:center;gap:var(--gap-sm);padding:var(--gap);grid-area:bar;display:flex}body.era-s0{--bg:#15130f;--panel:#201c16;--line:#514536;--fg:#e8dfcf;--dim:#a99a84;--faint:#625442;--era-metal:#a58b62}body.era-s1{--bg:#10151c;--panel:#171e27;--line:#46515d;--fg:#dfe5ea;--dim:#94a2b0;--faint:#4b5968;--era-metal:#b99862}body.era-s0 :is(.top,.left-col>.box,.map-box,.board-scroll,.dock,.hotbar,.window){border-style:dashed}body.era-s1 :is(.top,.left-col>.box,.map-box,.board-scroll,.dock,.hotbar,.window){position:relative}body.era-s1 :is(.top,.left-col>.box,.map-box,.board-scroll,.dock,.hotbar,.window):before{content:"";border:1px solid var(--line);opacity:.55;pointer-events:none;position:absolute;inset:2px}body.era-s1 :is(.dock,.window,.board-scroll):after{content:"";pointer-events:none;--r:radial-gradient(circle, var(--era-metal) 0 1px, transparent 1.5px);background:var(--r) top left / 4px 4px no-repeat, var(--r) top right / 4px 4px no-repeat, var(--r) bottom left / 4px 4px no-repeat, var(--r) bottom right / 4px 4px no-repeat;position:absolute;inset:4px}.weather{z-index:4;pointer-events:none;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;width:100%;height:100%;position:fixed;inset:0}.era-turn{z-index:60;cursor:pointer;position:fixed;inset:0}.era-turn canvas{width:100%;height:100%;image-rendering:pixelated;position:absolute;inset:0}.era-title{place-content:center;justify-items:center;gap:var(--gap);pointer-events:none;color:var(--fg);text-align:center;display:grid;position:absolute;inset:0}.era-title b{font-size:calc(var(--text-lg) * 2);color:var(--fire);line-height:1}.era-title span{font-size:var(--text-lg)}.era-title small{margin-top:var(--gap-lg);font-size:var(--text-sm);color:var(--dim)}#app.index-beside>.right-col{z-index:21;filter:brightness(.3);transition:filter .15s;position:relative}#app.index-beside>.right-col:hover,#app.index-beside>.right-col:focus-within,#app.index-beside.index-lit>.right-col{filter:none}#app.index-beside>.tutorial,#app.index-beside>.tutorial-mini{z-index:22}.inv-pop{z-index:10;place-self:center;gap:var(--gap);background:var(--panel);border-color:var(--dim);grid-area:centre;display:grid;box-shadow:0 12px 40px #0009}.inv-pop .bar-row{flex-wrap:nowrap;margin:0}.inv-pop .bag-grid{grid-template-columns:repeat(4, var(--slot))}.gear-pop{margin-right:calc(var(--gap) * 4);z-index:10;place-self:center end;gap:var(--gap);background:var(--panel);border-color:var(--dim);grid-area:centre;display:grid;box-shadow:0 12px 40px #0009}.gear-pop .bar-row{flex-wrap:nowrap;margin:0}.draggable[style*=left]{z-index:12;margin:0;position:fixed}.draggable.front{z-index:13}.drag-handle{cursor:grab;-webkit-user-select:none;user-select:none}.draggable.dragging .drag-handle{cursor:grabbing}.gear-figure{width:calc(var(--fig-w) + var(--slot) * 1.2);height:calc(var(--fig-h) + var(--slot) * .3);position:relative}.gear-body{left:calc(var(--slot) * .6);width:var(--fig-w);height:var(--fig-h);position:absolute;top:0}.gear-figure>.slot{left:calc(var(--slot) * .6 + var(--x) - var(--slot) / 2);top:calc(var(--y) - var(--slot) / 2);background:color-mix(in srgb, var(--bg) 80%, transparent);position:absolute}.box{background:color-mix(in srgb, var(--panel) 86%, transparent);border:1px solid var(--line);padding:var(--gap-lg);min-width:0}.scenery{z-index:0;pointer-events:none;-webkit-user-select:none;user-select:none;position:fixed;inset:0;overflow:hidden}.scenery img{object-fit:cover;opacity:0;-webkit-user-drag:none;width:100%;height:100%;transition:opacity 2.2s;position:absolute;inset:0}.scenery img.on{opacity:.7}.map-box{background:var(--panel)}@media (prefers-reduced-motion:reduce){.scenery img{transition:none}}.scroll{overflow:hidden}.top,.bar-row,.palette,.roster{align-items:center;gap:var(--gap);flex-wrap:wrap;display:flex}.bar-row{margin-bottom:var(--gap);color:var(--dim)}.push{margin-left:auto}.goal{align-items:center;gap:var(--gap);padding:var(--gap-sm) var(--gap);border:1px solid var(--line);font-weight:700;font-size:var(--text-sm);flex-wrap:wrap;display:flex}.goal-tag{padding:0 var(--gap-sm);color:var(--bg);background:var(--fire)}.goal-stage{color:var(--dim);font-weight:400;font-size:var(--text-sm)}.goal-item{font-size:var(--text-md)}.goal-bar{color:var(--dim)}.vitals{gap:var(--gap-lg);color:var(--dim);font-size:var(--text-sm);flex-wrap:wrap;display:flex}.meter{white-space:pre}.meter.low{color:var(--alert)}.meter.vital{color:var(--fg);font-size:var(--text-md);font-weight:700}.meter.vital b{font-weight:700}.meter.hp .meter-bar{color:var(--hp)}.meter.hunger .meter-bar{color:var(--hunger)}.meter.weight .meter-bar{color:var(--weight)}.meter.weight.strain,.meter.weight.strain .meter-bar{color:var(--alert);animation:.3s 2 nudge-hard}.meter.vital.low,.meter.vital.low .meter-bar{color:var(--alert);animation:.7s steps(2,end) infinite pulse}.reserve{visibility:hidden}.notice{z-index:5;margin-top:var(--gap);padding:var(--gap);background:var(--panel);border:1px solid var(--alert);color:var(--alert);grid-area:centre;place-self:start center;font-weight:700}.tutorial{right:calc(var(--gap) * 2);bottom:calc(var(--gap) * 2);z-index:15;width:calc(var(--side) - var(--gap) * 2);gap:var(--gap);padding:var(--gap-lg);background:var(--panel);border:1px solid var(--fire);display:grid;position:fixed;box-shadow:0 12px 32px #0000008c}.tutorial-next{justify-self:end}.tutorial-mini{right:calc(var(--gap) * 2);bottom:calc(var(--gap) * 2);z-index:15;min-width:calc(var(--gap) * 6);height:calc(var(--gap) * 5);padding:0 var(--gap);color:var(--fire);background:var(--panel);border:1px solid var(--fire);font-weight:700;position:fixed;box-shadow:0 8px 24px #0000008c}.tutorial{padding-bottom:calc(var(--gap) * 6)}.tutorial .tutorial-fold{min-width:calc(var(--gap) * 6);height:calc(var(--gap) * 5);padding:0 var(--gap);color:var(--fire);border:1px solid var(--fire);font-weight:700;position:absolute;bottom:-1px;right:-1px}.tutorial .tutorial-fold:hover{color:var(--bg);background:var(--fire)}.tutorial-head .tech[disabled]{color:var(--faint);border-color:var(--line);cursor:default}.tutorial-list .tutorial-item.look{color:var(--fg);background:var(--line)}.tutorial-mini:hover{color:var(--bg);background:var(--fire)}.tutorial-head{align-items:center;gap:var(--gap);display:flex}.tutorial-tag{padding:0 var(--gap-sm);color:var(--fire);border:1px solid var(--fire);flex:none}.tutorial-text{min-width:0;line-height:1.6}.tutorial-target{outline:2px solid var(--fire);outline-offset:2px;animation:1.6s ease-in-out infinite tutorial-pulse}@keyframes tutorial-pulse{50%{outline-color:#0000}}@media (prefers-reduced-motion:reduce){.tutorial-target{animation:none}}.tech,.facility,.key-button{min-height:var(--control);padding:var(--gap-sm) var(--gap);border:1px solid var(--line)}.key-button:hover{border-color:var(--go)}.tech{color:var(--go)}.tech:hover{border-color:var(--go)}.facility{background:var(--panel);font-weight:700}.facility:hover{border-color:var(--fg)}.facility.open{background:var(--line)}.graph-view{position:relative}.roster-list{z-index:15;grid-template-rows:repeat(10,auto);grid-auto-flow:column;grid-auto-columns:calc(var(--node-w) * 1.3);background:var(--panel);border:1px solid var(--dim);display:grid;position:absolute}.roster-list .facility{border:0;border-bottom:1px solid var(--line);text-align:left;font-weight:400}.roster-list .facility:hover{background:var(--line)}.demolish[disabled]{color:var(--faint);border-color:var(--line);cursor:default}.facility[data-status=run]{border-color:var(--fire);color:var(--fire)}.facility[data-status=manual]{border-color:var(--go);color:var(--go)}.facility[data-status=blocked]{border-color:var(--alert);color:var(--alert)}.slot-grid{grid-template-columns:repeat(6, var(--slot));gap:var(--gap-sm);justify-content:center;display:grid}.slot-grid.wide{grid-template-columns:repeat(auto-fill, var(--slot))}.slot{width:var(--slot);height:var(--slot);border:1px solid var(--line);background:var(--bg);place-items:center;display:grid;position:relative;overflow:hidden}.slot:hover{border-color:var(--dim)}.slot.empty{color:var(--faint)}.slot.ghost .icon{opacity:.3}.slot .role{color:var(--dim);font-size:var(--text-xs)}.slot.byproduct{border-style:dashed}.slot.full{border-color:var(--alert);animation:.7s steps(2,end) infinite pulse}.slot.tool{--life-color:var(--go);background:linear-gradient(to top, color-mix(in srgb, var(--life-color) 22%, var(--bg)) calc(var(--life,1) * 100%), var(--bg) calc(var(--life,1) * 100%))}.slot.tool-mid{--life-color:var(--fire)}.slot.tool-low{--life-color:var(--alert)}.icon{font-family:var(--art-mono);font-size:var(--glyph-icon);line-height:var(--glyph-icon);font-weight:700}.code,.n{font-size:var(--text-xs);background:color-mix(in srgb, var(--bg) 72%, transparent);padding:0 2px;line-height:1.1;position:absolute;right:1px}.code{font-weight:700;top:1px}.kinds{font-size:var(--text-xs);color:var(--dim);background:color-mix(in srgb, var(--bg) 72%, transparent);padding:0 2px;line-height:1.1;position:absolute;top:1px;left:1px}.n{color:var(--fg);bottom:1px}.map-view,.graph-view{gap:var(--gap-lg);min-width:0;min-height:0;display:grid}.map-view{place-items:center;position:relative;overflow:hidden}.paused-mark{top:var(--gap-lg);padding:var(--gap-sm) var(--gap-lg);color:var(--fire);background:color-mix(in srgb, var(--bg) 80%, transparent);border:1px solid var(--fire);font-size:var(--text-lg);pointer-events:none;font-weight:700;position:absolute;left:50%;transform:translate(-50%)}.fight-alert{top:calc(var(--gap-lg) * 4);padding:var(--gap-sm) var(--gap-lg);background:color-mix(in srgb, var(--bg) 80%, transparent);border:1px solid var(--alert);font-size:var(--text-lg);pointer-events:none;position:absolute;left:50%;transform:translate(-50%)}.work-alert{border-color:var(--go);color:var(--go)}.graph-view{grid-template-rows:minmax(0,1fr)}.map{cursor:crosshair;display:block}.map-legend{margin-top:var(--gap-sm)}.map-side{gap:var(--gap);flex-direction:column;min-width:0;min-height:0;display:flex;overflow:hidden}.map-side>*{flex:none}.map-side>.finder{min-height:calc(var(--control) * 7);flex-direction:column;flex:1 0 auto;display:flex}.map-side>.box{padding:var(--gap)}.map-results{align-content:start;gap:var(--gap-sm);flex:auto;min-height:0;display:grid;overflow:hidden}.search-chips{gap:var(--gap-sm);flex-wrap:wrap;align-content:start;display:flex}.search-chip{min-height:0;padding:2px var(--gap-sm);font-size:var(--text-sm)}.map-results .route-row{height:var(--control)}.vein-panel.vacant{visibility:hidden}.gather-choices{gap:var(--gap-sm);display:grid}.gather-choice{align-items:center;gap:var(--gap-sm);text-align:left;white-space:nowrap;width:100%;display:flex;overflow:hidden}.gather-back{padding:0 var(--gap-sm);height:calc(var(--text-sm) * 1.6);flex:none;line-height:1}.map-results .route-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.site-note{width:100%;min-height:var(--control);margin-bottom:var(--gap-sm);padding:var(--gap-sm) var(--gap);color:var(--fg);background:var(--bg);border:1px solid var(--line);font:inherit;font-size:var(--text-sm)}.finder{gap:var(--gap)}.finder input{width:100%;min-height:var(--control);padding:var(--gap-sm) var(--gap);color:var(--fg);background:var(--bg);border:1px solid var(--line);font:inherit;font-size:var(--text-sm)}.save-list{gap:var(--gap);display:grid}.save-list .bar-row{margin:0}.save-list .save-heading{margin-top:var(--gap-sm);text-align:left}.t-plain{color:var(--faint)}.t-hill{color:var(--dim)}.t-water{color:var(--water)}.t-path{color:var(--fire)}.t-base{color:var(--fg);font-weight:700}.t-me{color:var(--go);font-weight:700}.t-fog{color:color-mix(in srgb, var(--bg) 85%, var(--fg))}.t-site{font-weight:700}.vein-head{gap:var(--gap-sm);margin-bottom:var(--gap-sm);display:grid}.vein-line{align-items:center;gap:var(--gap);min-width:0;height:calc(var(--text-sm) * 1.8);white-space:nowrap;display:flex;overflow:hidden}.vein-line .vein-name{text-overflow:ellipsis;min-width:0;overflow:hidden}.vein-line .push{flex:none}.vein{text-align:left;-webkit-user-select:none;user-select:none;display:block}.vein pre{font-family:var(--art-mono)}.vein:active pre{transform:translateY(1px)}.vein[disabled]{cursor:default}.fight-panel{width:100%;min-width:0;overflow:hidden}.fight-head{justify-content:space-between;gap:var(--gap);white-space:nowrap;height:24px;line-height:24px;font-size:var(--text-sm);display:flex;overflow:hidden}.fight-head>span:not(.key-hint){color:var(--dim);text-overflow:ellipsis;overflow:hidden}.key-hint{align-items:center;gap:var(--gap-sm);white-space:nowrap;color:var(--fg);flex:none;display:inline-flex}.key-hint kbd{text-align:center;min-width:18px;line-height:16px;font:inherit;border:1px solid var(--dim);background:var(--bg);border-bottom-width:2px;padding:0 4px;font-weight:700;display:inline-block}.key-hint.on{color:var(--fire)}.key-hint.on kbd{border-color:var(--fire);color:var(--fire)}.fight-view{aspect-ratio:16/9;width:100%;height:auto;margin:var(--gap-sm) auto 0;background:color-mix(in srgb, var(--bg) 70%, black);image-rendering:pixelated;cursor:crosshair;touch-action:manipulation;display:block}.fight-view:focus-visible{outline:1px solid var(--go);outline-offset:2px}.rock{color:var(--rock)}.hit{color:var(--bg);background:var(--fire)}.board-scroll{min-height:0;padding:0;overflow:hidden}.board{cursor:grab;transform-origin:0 0;position:relative}.board.panning{cursor:grabbing}.wires{width:100%;height:100%;position:absolute;inset:0}.wire{fill:none;stroke:var(--dim);stroke-width:2px;opacity:.75;pointer-events:none}.wire-arrow{fill:var(--dim)}.wire-set{pointer-events:none;transition:opacity .15s}.wire-case{fill:none;stroke:var(--panel);stroke-linejoin:round}.strand{fill:none;stroke-width:3px;stroke-linejoin:round}.strand.power{stroke-dasharray:6 5;animation:.7s linear infinite wire-flow}.strand.pipe{stroke-width:7px}.strand.pipe-core{stroke:var(--panel);stroke-width:3px}.strand.pipe.wide{stroke-width:11px}.strand.pipe-core.wide,.strand.solid.wide{stroke-width:5px}@keyframes wire-flow{to{stroke-dashoffset:-22px}}@media (prefers-reduced-motion:reduce){.strand.power{animation:none}}.wire-hit{fill:none;stroke:#0000;stroke-width:calc(var(--gap) * 2);pointer-events:stroke;cursor:pointer}.wire-tag.hot{font-size:var(--text-md)}.mover{font:700 var(--text-xs) var(--mono);text-anchor:middle;paint-order:stroke;stroke:var(--panel);stroke-width:4px}.wire-tag{font:700 var(--text-sm) var(--mono);text-anchor:middle;cursor:pointer;paint-order:stroke;stroke:var(--panel);stroke-width:6px}.node{width:var(--node-w);height:var(--node-h);background:var(--bg);border:1px solid var(--line);position:absolute;top:0;left:0}.node[data-status=run]{border-color:var(--fire)}.node[data-status=manual]{border-color:var(--go)}.node[data-status=manual] .progress{color:var(--go)}.node[data-status=blocked]{border-color:var(--alert);animation:.7s steps(2,end) infinite pulse}.node.source{outline:2px solid var(--go)}.node.selected{outline:2px solid var(--fire)}.node.found{outline:2px solid var(--go)}.node.dim{opacity:.25}.node.group{background:var(--panel);border-width:2px}.node.group.open{opacity:.6}.link.split{right:calc(var(--gap) * 3 + var(--gap-sm) * 2)}.board.picking .node:not(.selected):not(.group){opacity:.3}.board.picking .node.selected{cursor:pointer;outline-color:var(--go)}.node.plan{opacity:.5}.node.plan:hover{opacity:.75}.wire.plan-wire{opacity:.35}.wire.muted,.wire-set.muted,.wire-tag.muted,.mover.muted{opacity:.08}.wire-set.faded,.wire-tag.faded,.mover.faded,.node.faded{opacity:.12}.marquee{z-index:5;border:1px dashed var(--go);pointer-events:none;position:absolute;top:0;left:0}.tier{position:relative}.tier-list{z-index:16;width:max-content;padding-top:var(--gap-sm);flex-direction:column;align-items:stretch;display:none;position:absolute;top:100%;left:0}.tier-name{padding:var(--gap-sm) var(--gap);color:var(--dim);background:var(--panel);border:1px solid var(--line);font-size:var(--text-xs)}.tier-list .tech{text-align:left;background:var(--panel)}.tier:hover .tier-list,.tier:focus-within .tier-list{display:flex}.language-pick{z-index:100;background:var(--bg);place-content:center;justify-items:center;gap:24px;display:grid;position:fixed;inset:0}.language-pick h1{margin:0;font-size:22px}.language-pick pre{max-width:80vw;color:var(--alert);white-space:pre-wrap;margin:0}.language-pick button{min-width:140px;color:var(--go);background:var(--panel);border:1px solid var(--line);font:inherit;cursor:pointer;padding:12px 16px}.language-pick button:hover{border-color:var(--go)}.language-pick .full-screen{min-width:0;color:var(--fg)}.slot.gear .n{display:none}.context-menu{z-index:40;min-width:calc(var(--slot) * 2.5);background:var(--panel);border:1px solid var(--line);display:grid;position:fixed}.context-menu button{padding:var(--gap-sm) var(--gap);text-align:left;font-size:var(--text-sm);border-bottom:1px solid var(--line)}.context-menu input{width:100%;min-height:var(--control);padding:var(--gap-sm) var(--gap);color:var(--fg);background:var(--bg);font:inherit;font-size:var(--text-sm);border:0}.context-menu button:last-child{border-bottom:0}.context-menu button:hover:not(:disabled){background:var(--line)}.context-menu button:disabled{color:var(--faint);cursor:default}.window.help{width:min(calc(100vw - var(--gap) * 4), calc(var(--slot) * 14))}.help-list{gap:var(--gap-lg);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.help-list h3{margin:0 0 var(--gap-sm);font-size:var(--text-md);color:var(--fire)}.help-row{grid-template-columns:calc(var(--slot) * 2.2) minmax(0, 1fr);gap:var(--gap);font-size:var(--text-sm);padding:2px 0;display:grid}.help-row kbd{font:inherit;color:var(--go);font-weight:700}.graph-tools{align-items:center;gap:var(--gap);flex-wrap:wrap;display:flex}.graph-tools input{width:calc(var(--slot) * 3);min-height:var(--control);padding:var(--gap-sm) var(--gap);color:var(--fg);background:var(--bg);border:1px solid var(--line);font:inherit;font-size:var(--text-sm)}.node.refused{outline:2px solid var(--alert)}.linking .node{cursor:copy}.node-body{width:100%;height:100%;padding:var(--gap-sm) var(--gap);text-align:left;font-size:var(--text-sm);touch-action:none;cursor:grab;gap:1px;line-height:1.3;display:grid}.ports,.progress{font-size:var(--text-xs)}.ports{color:var(--dim);letter-spacing:1px}.flow{white-space:nowrap;overflow:hidden}.node-body.shape{align-items:center;gap:var(--gap-sm);grid-template-rows:1fr;grid-template-columns:auto minmax(0,1fr)}.node-art{font:700 var(--glyph-icon)/var(--glyph-icon) var(--art-mono);white-space:pre;filter:brightness(.6)saturate(.4)}.node[data-status=run] .node-art{filter:brightness(1.15)saturate(1.35)}.node[data-status=manual] .node-art{filter:none}.node-side{gap:1px;min-width:0;display:grid}.node-side b{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.progress{color:var(--fire)}.node[data-status=idle] .progress{color:var(--faint)}.node[data-status=blocked] .progress{color:var(--alert)}.link{top:var(--gap-sm);right:var(--gap-sm);width:calc(var(--gap) * 3);height:calc(var(--gap) * 3);border:1px solid var(--line);background:var(--panel);color:var(--go);font-weight:700;position:absolute}.link:hover{border-color:var(--go)}.recipe{align-items:center;gap:var(--gap);flex-wrap:wrap;display:flex}.recipe .state{color:var(--dim);margin-left:auto}.recipe .state.manual{color:var(--go);font-weight:700}.recipe .state.run{color:var(--fire)}.recipe .state.blocked{color:var(--alert);font-weight:700}.top .modes .tech{min-width:var(--control)}.top{padding:0 var(--gap);background:color-mix(in srgb, var(--panel) 86%, transparent);border:1px solid var(--line);flex-wrap:nowrap;align-items:center;overflow:hidden}.top .tech{min-height:calc(var(--top-h) - var(--gap) * 1.5);padding-block:0}.top-status{align-items:center;gap:var(--gap-lg);white-space:nowrap;flex-wrap:nowrap;flex:auto;min-width:0;display:flex;overflow:hidden}.top-status .vitals{flex-wrap:nowrap}.top .goal{flex-wrap:nowrap;flex:none;padding-block:0}.top-actions{align-items:center;gap:var(--gap);flex:none;margin-left:auto;display:flex}.place-line{color:var(--dim);white-space:nowrap;font-size:var(--text-sm)}body.era-s0 .top .tech{border-style:dashed}.modes{gap:var(--gap-sm);flex-wrap:wrap;display:flex}.reserve-gauges{gap:var(--gap);white-space:nowrap;display:inline-flex}.reserve-gauge{gap:var(--gap-sm);color:var(--dim);align-items:baseline;display:inline-flex}.reserve-gauge .meter-bar{color:var(--fire)}.reserve-gauge b{color:var(--fg);font-variant-numeric:tabular-nums}.map-tools{align-items:center;gap:var(--gap-sm);height:calc(var(--control) + var(--gap) * 2 + 2px);flex-wrap:nowrap;width:0;min-width:100%;display:flex;overflow:hidden}.map-tools .tech,.map-tools .key-button{height:var(--control);white-space:nowrap;flex:none;align-items:center;min-height:0;display:inline-flex}.map-actions{gap:var(--gap-sm);flex-wrap:nowrap;min-width:0;display:flex}.river-ask{align-items:center;gap:var(--gap-sm);margin-top:var(--gap-sm);flex-wrap:wrap;flex-basis:100%;display:flex}.form-search{width:calc(var(--slot) * 2.5);min-height:var(--control);padding:var(--gap-sm) var(--gap);color:var(--fg);background:var(--bg);border:1px solid var(--line);font:inherit;font-size:var(--text-sm)}.form-results{gap:var(--gap-sm);flex-wrap:wrap;display:flex}.form-results:empty{display:none}.tech.selected{color:var(--bg);background:var(--go);border-color:var(--go)}:where(body.era-s0,body.era-s1) .tech{color:var(--fg)}:where(body.era-s0,body.era-s1) .tech:hover{border-color:var(--era-metal)}:where(body.era-s0,body.era-s1) .tech.selected{color:var(--bg);background:var(--era-metal);border-color:var(--era-metal)}.layers .tech[data-layer=fluid]{color:var(--water)}.layers .tech[data-layer=power]{color:var(--power)}.layers .tech[data-layer=fluid].selected{color:var(--bg);background:var(--water);border-color:var(--water)}.layers .tech[data-layer=power].selected{color:var(--bg);background:var(--power);border-color:var(--power)}.demolish{color:var(--dim)}.demolish:hover,.demolish.armed{color:var(--alert);border-color:var(--alert)}.window-back,.win{z-index:20;padding:calc(var(--gap) * 2);background:color-mix(in srgb, color-mix(in srgb, var(--bg) 60%, black) 82%, transparent);place-items:center;display:grid;position:fixed;inset:0;overflow:hidden}.window{gap:var(--gap-lg);max-width:100%;padding:var(--gap-lg);background:var(--panel);border:1px solid var(--dim);display:grid}.machine-window{width:var(--machine-window)}.machine-window>.bar-row:first-child{flex-wrap:nowrap;min-width:0}.machine-window>.bar-row:first-child h2{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.machine-window .recipe{white-space:nowrap;flex-wrap:nowrap;min-width:0;overflow:hidden}.machine-window .recipe>*{text-overflow:ellipsis;min-width:0;overflow:hidden}.machine-window .recipe .state{flex:none}.machine-window .window-bar{min-height:calc(var(--gap) * 2.5);overflow:hidden}.machine{gap:var(--gap);grid-auto-columns:auto;grid-auto-flow:column;justify-content:center;align-items:center;display:grid}.stack{gap:var(--gap-sm);display:grid}.art{font-family:var(--art-mono);font-size:var(--glyph-machine);line-height:var(--glyph-machine);font-weight:700}.window-bar{text-align:center;color:var(--fire);min-height:calc(var(--gap) * 2)}.slot-label{color:var(--dim);font-size:var(--text-sm);text-align:center}.store-grid{padding:var(--gap-sm);background:var(--bg);border:1px solid var(--rock)}.inv-box{gap:var(--gap-sm);padding-top:var(--gap);border-top:1px dashed var(--line);display:grid}.window-bar.stop{color:var(--alert)}.window-bar.split{justify-items:center;gap:0;display:grid}.bar-note{text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-family:var(--mono);overflow:hidden}.bar-note.ok{color:var(--go)}.bar-note.stop{color:var(--alert)}.win{z-index:30;text-align:center}.keys{justify-content:center;gap:var(--gap);display:flex}.keycap{width:var(--slot);height:var(--slot);border:1px solid var(--line);background:var(--bg);color:var(--faint);font-size:var(--text-lg);font-weight:700}.keycap.target{color:var(--bg);background:var(--go);border-color:var(--go)}.keycap.wrong{color:var(--bg);background:var(--alert);border-color:var(--alert)}.keycap[disabled]{cursor:default}.line-window{min-width:calc(var(--node-w) * 2)}.route{font-weight:700}.line-state{color:var(--dim)}.line-state.active{color:var(--fire)}.needs{gap:var(--gap-lg);flex-wrap:wrap;display:flex}.need{align-items:center;gap:var(--gap);display:flex}.need .slot{cursor:default}.short{color:var(--alert);font-weight:700}.work{-webkit-user-select:none;user-select:none;touch-action:manipulation;margin:0 auto;display:block;position:relative}.work:not([disabled]){outline:1px dashed var(--line)}.work:not([disabled]):hover{outline-color:var(--go)}.work:not([disabled]):active .art{transform:translateY(1px)}.art canvas{display:block}.work[disabled]{cursor:default}.work-fx{pointer-events:none;position:absolute;inset:0;overflow:visible}.spark{font:700 var(--text-xs)/1 var(--mono);animation:.38s steps(6,end) forwards spark-fly;position:absolute}@keyframes spark-fly{0%{opacity:1;transform:translate(0)}to{transform:translate(var(--dx), var(--dy));opacity:0}}.nudge{animation:90ms steps(2,end) nudge}.nudge-hard{animation:.2s steps(4,end) nudge-hard}@keyframes nudge{50%{transform:translate(1px,1px)}}@keyframes nudge-hard{25%{transform:translate(-3px,1px)}50%{transform:translate(3px,-1px)}75%{transform:translate(-2px)}}.strike-flash{width:calc(var(--gap) * 4);height:calc(var(--gap) * 3);margin:calc(var(--gap) * -1.5) 0 0 calc(var(--gap) * -2);background:radial-gradient(closest-side, color-mix(in srgb, var(--fire) 15%, white), color-mix(in srgb, var(--fire) 60%, transparent) 55%, transparent);mix-blend-mode:screen;animation:.15s steps(3,end) forwards strike-flash;position:absolute}@keyframes strike-flash{0%{opacity:1}to{opacity:0}}.fire-glow{width:calc(var(--gap) * 7);height:calc(var(--gap) * 5);margin:calc(var(--gap) * -2.5) 0 0 calc(var(--gap) * -3.5);background:radial-gradient(closest-side, color-mix(in srgb, var(--fire) 90%, transparent), color-mix(in srgb, var(--alert) 45%, transparent) 60%, transparent);mix-blend-mode:screen;position:absolute}.lane{height:calc(var(--gap) * 5);background:var(--bg);border:1px solid var(--line);font:700 var(--text-lg)/calc(var(--gap) * 5 - 2px) var(--mono);position:relative;overflow:hidden}.lane-line{top:0;bottom:0;left:calc(var(--gap) * 8 - 1px);background:var(--faint);width:2px;position:absolute}.lane-line.lit{background:var(--fire)}.lane-beat{color:var(--fire);will-change:transform;position:absolute;top:0;left:-6px}.lane-beat.done{color:var(--go)}.lane-beat.missed{color:var(--faint)}.blast-gauge{width:calc(var(--gap) * 3);background:linear-gradient(to top, var(--bg) 40%, color-mix(in srgb, var(--go) 15%, var(--bg)) 40% 80%, color-mix(in srgb, var(--fire) 20%, var(--bg)) 80%);border:1px solid var(--line);cursor:pointer;align-self:stretch;position:relative}.blast-fill{background:var(--fire);position:absolute;bottom:0;left:5px;right:5px}.blast-fill.in{background:var(--go)}.blast-fill.over{background:var(--alert)}@media (prefers-reduced-motion:reduce){.spark{display:none}.nudge,.nudge-hard,.strike-flash{animation:none}.strike-flash{opacity:0}}.build .work[disabled]{opacity:.25}.amount{color:var(--fire);text-align:center;white-space:pre}.facility.building{color:var(--go);border-style:dashed}.dock{gap:var(--gap);min-height:0;padding:var(--gap);flex-direction:column;flex:auto;display:flex;overflow:hidden}.dock input{width:100%;min-height:var(--control);padding:var(--gap-sm) var(--gap);color:var(--fg);background:var(--bg);border:1px solid var(--line);font:inherit;font-size:var(--text-sm)}.dock input:focus{outline:2px solid var(--go);outline-offset:-2px}.dock-grid{grid-template-columns:repeat(auto-fill, var(--dock-slot));grid-auto-rows:var(--dock-slot);gap:calc(var(--gap-sm) / 2);place-content:start center;display:grid}.dock-grid .slot{width:var(--dock-slot);height:var(--dock-slot)}.dock-grid .icon{font-size:var(--glyph-dock);line-height:var(--glyph-dock)}.machine-group .group-head{padding-bottom:var(--gap-sm);border-bottom:1px solid var(--line)}.machine-group .recipe-row{gap:2px;display:grid}.card .slot.small{width:var(--dock-slot);height:var(--dock-slot)}.card .slot.small .icon{font-size:var(--glyph-dock);line-height:var(--glyph-dock)}.pager{justify-content:center;align-items:center;gap:var(--gap);color:var(--dim);font-size:var(--text-sm);display:flex}.dock-detail{gap:var(--gap);border-top:1px solid var(--line);min-height:0;padding-top:var(--gap);flex:1;align-content:start;display:grid;overflow:hidden}.card{gap:var(--gap-sm);padding:var(--gap-sm) var(--gap);background:var(--bg);border:1px solid var(--line);display:grid}.card-row{align-items:center;gap:var(--gap-sm);flex-wrap:wrap;display:flex}.card-note{color:var(--dim);font-size:var(--text-sm)}.dock-detail .heat{color:var(--fire)}.fire-left{align-items:center;gap:var(--gap-sm);display:inline-flex}.gauge{width:calc(var(--gap) * 6);height:var(--gap-sm);border:1px solid var(--line);background:var(--bg);display:inline-block}.gauge i{background:var(--fire);height:100%;display:block}.route-window{width:calc(var(--node-w) * 2.4);max-width:100%}.menu-window{min-width:calc(var(--node-w) * 1.6);max-width:100%}.menu-list{gap:var(--gap);display:grid}.menu-list .tech{min-height:var(--control);text-align:left}.route-window input{width:100%;min-height:var(--control);padding:var(--gap-sm) var(--gap);color:var(--fg);background:var(--bg);border:1px solid var(--line);font:inherit;font-size:var(--text-sm)}.route-list{grid-template-rows:repeat(10,auto);grid-auto-flow:column;grid-auto-columns:calc(var(--node-w) * 1.6);gap:var(--gap-sm);display:grid}.route-row{align-items:center;gap:var(--gap);min-height:var(--control);padding:0 var(--gap);text-align:left;border:1px solid var(--line);background:var(--bg);display:flex}.route-row:hover:not([disabled]),.route-row.on{border-color:var(--go)}.route-row[disabled]{opacity:.4;cursor:default}.held{z-index:40;pointer-events:none;position:fixed;top:0;left:0}.held .slot{background:0 0;border-color:#0000}.hurt{top:calc(var(--gap) * 8);z-index:35;padding:var(--gap-sm) var(--gap);color:var(--alert);background:color-mix(in srgb, var(--bg) 80%, transparent);border:1px solid var(--alert);font-size:var(--text-lg);white-space:nowrap;pointer-events:none;opacity:0;font-weight:700;position:fixed;left:50%;transform:translate(-50%)}.hurt.hit{animation:1.6s ease-out hurt-flash}.halt-flash{color:var(--fire);border-color:var(--fire)}.halt-flash.gain{color:var(--go);border-color:var(--go)}.halt-flash .flash-sub{font-size:var(--text-sm);color:var(--dim);text-align:center;display:block}.vitals.hit .meter.hp{color:var(--alert)}@keyframes hurt-flash{0%,60%{opacity:1}to{opacity:0}}.hurt-edge{z-index:34;pointer-events:none;opacity:0;background:radial-gradient(ellipse at center, transparent 55%, color-mix(in srgb, var(--alert) 55%, transparent) 100%);box-shadow:inset 0 0 calc(var(--gap) * 6) color-mix(in srgb, var(--alert) 45%, transparent);position:fixed;inset:0}.hurt-edge.hit{animation:.55s ease-out hurt-edge}@keyframes hurt-edge{0%{opacity:var(--hurt,1)}to{opacity:0}}@media (prefers-reduced-motion:reduce){.hurt-edge.hit{animation-duration:.25s}}.tip{z-index:50;padding:var(--gap-sm) var(--gap);background:var(--bg);border:1px solid var(--dim);font-size:var(--text-sm);white-space:nowrap;pointer-events:none;position:fixed;top:0;left:0}.tip kbd{padding:0 var(--gap-sm);border:1px solid var(--line);color:var(--dim);font:inherit;font-size:var(--text-xs)}.tip-row{gap:var(--gap);margin-top:var(--gap-sm);grid-template-columns:4ch auto auto;display:grid}.tip-code{font-weight:700}.tip-value{color:var(--fire);text-align:right}@keyframes pulse{50%{background:color-mix(in srgb, var(--alert) 20%, var(--bg))}}@media (prefers-reduced-motion:reduce){.slot.full,.node[data-status=blocked],.meter.vital.low,.meter.weight.strain{animation:none}}.top .tutorial-target{outline-offset:-2px}.tutorial-list{padding-bottom:var(--gap-sm);border-bottom:1px dashed var(--line);color:var(--dim);gap:2px;display:grid}.tutorial-item.done{color:var(--faint)}.tutorial-item.now{color:var(--fire);font-weight:700}
