:root{--panel: rgba(44, 33, 23, .93);--panel-solid: #34271b;--raised: #47372a;--raised-2: #54412f;--sunken: rgba(0, 0, 0, .28);--ink: #f1e4c8;--ink-2: #cdb994;--ink-3: #9c876a;--line: rgba(214, 166, 74, .28);--brass: #d6a64a;--brass-hi: #ecc677;--good: #96c66e;--good-soft: rgba(150, 198, 110, .16);--warn: #e7b84e;--warn-soft: rgba(231, 184, 78, .16);--bad: #e57a65;--bad-soft: rgba(229, 122, 101, .17);--in: #6ab8ea;--out: #f2a446;--radius: 10px;--shadow: 0 8px 24px rgba(0, 0, 0, .35), 0 1px 2px rgba(0, 0, 0, .3);--bevel: inset 0 1px 0 rgba(255, 228, 175, .09);--font: ui-rounded, "SF Pro Rounded", "Nunito", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--title: "Iowan Old Style", "Palatino Linotype", Palatino, "Book Antiqua", Georgia, serif}html,body{margin:0;height:100%;overflow:hidden;background:#c3d7e4;font-family:var(--font);color:var(--ink)}#game{display:block;width:100%;height:100%}button{font-family:inherit;color:inherit}[hidden]{display:none!important}kbd{display:inline-grid;place-items:center;min-width:16px;height:16px;padding:0 4px;box-sizing:border-box;font:700 10px/1 var(--font);color:var(--ink-2);background:var(--sunken);border:1px solid var(--line);border-radius:4px}:focus-visible{outline:2px solid var(--brass-hi);outline-offset:2px}.hud-panel{position:fixed;pointer-events:none;box-sizing:border-box;font:13px/1.45 var(--font);color:var(--ink);background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow),var(--bevel);padding:10px 14px}.hud-panel h1,.hud-panel h2,#tool-card header b,#tool-context .what b{font-family:var(--title);font-weight:700;letter-spacing:.01em;color:var(--ink)}#waves button,#defeat button,#inspector .upgrade,#menu .actions button:first-child,#menu .settings>button[data-a=back]{background:linear-gradient(#dcae55,#b8893a);color:#2a1d10;border:1px solid #7a5a24;border-radius:8px;padding:7px 12px;font-weight:800;font-size:12px;cursor:pointer;box-shadow:inset 0 1px #fff0c873,0 2px #0000004d}#waves button:hover,#defeat button:hover,#inspector .upgrade:hover,#menu .actions button:first-child:hover{filter:brightness(1.08)}#inspector .upgrade:disabled{background:var(--sunken);color:var(--ink-3);border-color:var(--line);box-shadow:none;cursor:not-allowed;filter:none}#menu .actions button,#menu button.small,#menu .binds button,#defeat button+button{background:var(--raised);color:var(--ink);border:1px solid var(--line);border-radius:8px;padding:9px;font-weight:700;font-size:13px;cursor:pointer;box-shadow:var(--bevel)}#menu .actions button:hover,#menu button.small:hover,#menu .binds button:hover{background:var(--raised-2);border-color:var(--brass)}#resources{top:12px;left:12px;display:flex;align-items:center;gap:2px;padding:5px 8px;pointer-events:auto;max-width:calc(50vw - 190px);flex-wrap:wrap;z-index:2}#resources .title{display:none}#resources .res{display:flex;align-items:center;gap:3px;padding:3px 5px;border-radius:6px}#resources{cursor:pointer}#resources:not(.open):hover{border-color:var(--brass)}#resources .res img{width:18px;height:18px;image-rendering:pixelated}#resources .res span{display:none;color:var(--ink-2);font-size:12px}#resources .res b{font-weight:700;font-variant-numeric:tabular-nums;font-size:13px}#resources .res.zero b{color:var(--ink-3);font-weight:500}#resources.open{flex-direction:column;align-items:stretch;flex-wrap:nowrap;max-width:none;width:240px;padding:10px 12px;gap:1px}#resources.open .title{display:block;font-family:var(--title);font-size:16px;font-weight:700;padding-bottom:6px;margin-bottom:4px;border-bottom:1px solid var(--line)}#resources.open .res{display:grid;grid-template-columns:20px 1fr auto;gap:8px;padding:3px 4px}#resources.open .res span{display:block}#resources.open .res:nth-child(odd){background:#ffe4af0a}#waves{top:12px;left:50%;transform:translate(-50%);pointer-events:auto;display:grid;grid-template-columns:1fr auto;grid-template-rows:auto auto;align-items:center;gap:6px 12px;min-width:320px;padding:8px 10px 10px 14px}#waves>div:first-child{font-family:var(--title);font-weight:700;font-size:15px}#waves .bar{grid-column:1;height:6px;background:var(--sunken);border-radius:3px;overflow:hidden}#waves .bar i{display:block;width:100%;height:100%;transform-origin:left;transition:transform .25s}#waves button{grid-column:2;grid-row:1 / 3}#menu-btn{position:fixed;top:12px;right:12px;pointer-events:auto;background:var(--panel);color:var(--ink);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow),var(--bevel);padding:9px 14px;font:700 14px var(--title);cursor:pointer}#menu-btn:hover{border-color:var(--brass)}#tip{top:0;left:0;font-size:12px;padding:6px 10px;white-space:pre-line;max-width:340px;border-radius:8px;background:#18120ceb;color:var(--ink);box-shadow:0 4px 14px #00000059}#tip.bad{background:#78261cf0}#hotbar{position:fixed;bottom:12px;left:50%;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:8px;max-width:calc(100vw - 24px)}#hotbar .bar{display:flex;align-items:flex-end;gap:6px;padding:6px 10px 10px;max-width:100%;overflow-x:auto;background:var(--panel);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow),var(--bevel)}#hotbar .group{display:flex;flex-direction:column;gap:4px;padding:0 4px}#hotbar .group+.group{border-left:1px solid var(--line);padding-left:10px}#hotbar .group-name{font:italic 600 13px var(--title);color:var(--ink-3);padding-left:2px}#hotbar .cards{display:flex;gap:6px}#hotbar .tool{position:relative;width:82px;padding:4px 4px 6px;display:flex;flex-direction:column;align-items:center;gap:1px;background:var(--raised);border:2px solid transparent;border-radius:10px;cursor:pointer;transition:transform .12s,box-shadow .12s,border-color .12s;box-shadow:var(--bevel),0 2px #0000004d}#hotbar .tool:hover{transform:translateY(-3px);border-color:var(--line);background:var(--raised-2)}#hotbar .tool .pic{width:64px;height:64px;display:grid;place-items:center;filter:drop-shadow(0 3px 2px rgba(0,0,0,.4))}#hotbar .tool .pic svg,#tool-context .pic svg{width:44px;height:44px}#hotbar .tool kbd{position:absolute;top:4px;left:4px}#hotbar .tool .name{font-size:12px;font-weight:700;line-height:1.2;white-space:nowrap}#hotbar .tool .costs{display:flex;gap:5px;min-height:16px}.cost{display:inline-flex;align-items:center;gap:2px;font-size:11px;font-weight:600;color:var(--ink-2);font-variant-numeric:tabular-nums}.cost img{width:14px;height:14px;image-rendering:pixelated}.cost.short{color:var(--bad)}.free{font-size:11px;color:var(--good);font-weight:600}#hotbar .tool.on{border-color:var(--brass);background:var(--raised-2);transform:translateY(-5px);box-shadow:0 0 0 1px var(--brass-hi),0 8px 18px #d6a64a4d}#hotbar .tool.locked .pic{filter:grayscale(1) brightness(.6)}#hotbar .tool.locked .name,#hotbar .tool.locked .costs{opacity:.5}#hotbar .tool .lock{position:absolute;top:4px;right:4px;font-size:9px;font-weight:800;color:#2a1d10;background:var(--ink-3);border-radius:4px;padding:2px 5px}#hotbar .tool.hint{border-color:var(--good);animation:hint 1s ease-in-out infinite alternate}@keyframes hint{0%{box-shadow:0 0 #96c66e8c}to{box-shadow:0 0 0 6px #96c66e00}}@media(prefers-reduced-motion:reduce){#hotbar .tool,#hotbar .tool.hint,#waves .bar i{animation:none;transition:none}}#tool-card{position:absolute;bottom:calc(100% + 8px);width:260px;box-sizing:border-box;padding:12px 14px;background:var(--panel-solid);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow),var(--bevel);font-size:12px;pointer-events:none}#tool-card header{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px}#tool-card header b{font-size:17px}#tool-card p{margin:0 0 8px;color:var(--ink-2);line-height:1.45}#tool-card .facts{display:flex;gap:10px;color:var(--ink-2);font-size:11px;margin-bottom:6px}#tool-card .facts .gain{color:var(--good);font-weight:600}#tool-card .costs{display:flex;gap:10px}#tool-card .costs .cost{font-size:13px}#tool-card .costs .cost img{width:18px;height:18px}#tool-card .locked{margin:8px 0 0;color:var(--bad);font-weight:600}#tool-context{display:flex;align-items:center;gap:12px;padding:6px 8px 6px 6px;background:var(--panel);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow),var(--bevel);font-size:12px}#tool-context .pic{width:40px;height:40px;display:grid;place-items:center;background:var(--sunken);border-radius:8px}#tool-context .what{display:flex;flex-direction:column}#tool-context .what b{font-size:16px}#tool-context .what span{color:var(--ink-2)}#tool-context i{font-style:normal;font-weight:700}#tool-context i.in{color:var(--in)}#tool-context i.out{color:var(--out)}#tool-context .seg{display:flex;background:var(--sunken);border-radius:8px;padding:3px}#tool-context .seg button{border:0;background:none;padding:6px 10px;border-radius:6px;font-size:12px;font-weight:600;color:var(--ink-3);cursor:pointer;display:flex;gap:5px;align-items:center}#tool-context .seg button[aria-pressed=true]{background:var(--raised-2);color:var(--ink);box-shadow:var(--bevel),0 0 0 1px var(--brass)}#tool-context .x{border:1px solid var(--line);background:var(--raised);color:var(--ink-2);border-radius:7px;padding:7px 10px;font-size:11px;font-weight:700;cursor:pointer}#tool-context .x:hover{background:var(--bad-soft);color:var(--bad)}#inspector{top:66px;right:12px;width:320px;pointer-events:auto;display:flex;flex-direction:column;gap:8px;padding:12px 14px 14px;max-height:calc(100vh - 230px);overflow-y:auto}#inspector .head{display:flex;align-items:center;gap:10px;padding-bottom:8px;border-bottom:1px solid var(--line)}#inspector .head .pic{width:52px;height:52px;background:var(--sunken);border-radius:8px}#inspector .names{flex:1;display:flex;flex-direction:column;align-items:flex-start;gap:3px}#inspector h2{margin:0;font-size:19px}#inspector .head>button{align-self:flex-start;background:var(--raised);border:1px solid var(--line);border-radius:6px;width:28px;height:28px;font-size:16px;line-height:1;color:var(--ink-2);cursor:pointer}#inspector .head>button:hover{background:var(--bad-soft);color:var(--bad)}.pill{font-size:11px;font-weight:700;padding:2px 8px;border-radius:20px;background:var(--sunken);color:var(--ink-2)}.pill[data-tone=good]{background:var(--good-soft);color:var(--good)}.pill[data-tone=warn]{background:var(--warn-soft);color:var(--warn)}.pill[data-tone=bad]{background:var(--bad-soft);color:var(--bad)}#inspector p{margin:0;font-size:12px;color:var(--ink);display:flex;flex-wrap:wrap;align-items:center;gap:5px}#inspector p.warn{color:var(--bad);background:var(--bad-soft);padding:6px 8px;border-radius:6px}#inspector p.muted{color:var(--ink-3);font-size:11px}#inspector .item{display:inline-flex;align-items:center;gap:3px;background:var(--sunken);border-radius:5px;padding:2px 6px 2px 3px}#inspector .item img{width:18px;height:18px;image-rendering:pixelated}#inspector .item b{font-weight:700;font-variant-numeric:tabular-nums;font-size:12px}#inspector .bar{height:6px;background:var(--sunken);border-radius:3px;overflow:hidden}#inspector .bar i{display:block;height:100%;background:var(--brass);border-radius:3px}#inspector .recipes{display:flex;flex-direction:column;gap:5px}#inspector .recipes:empty{display:none}#inspector .recipe{display:grid;grid-template-columns:auto 1fr auto;grid-template-areas:"out name time" "out ins ins";align-items:center;column-gap:10px;row-gap:3px;text-align:left;background:var(--raised);border:1px solid var(--line);border-radius:8px;padding:6px 10px;cursor:pointer;font-size:12px;box-shadow:var(--bevel)}#inspector .recipe>.item{grid-area:out;background:none}#inspector .recipe .name{grid-area:name;font-weight:700}#inspector .recipe .ins{grid-area:ins;display:flex;gap:5px}#inspector .recipe .time{grid-area:time;color:var(--ink-3);font-size:11px}#inspector .recipe:hover{border-color:var(--brass)}#inspector .recipe.on{border-color:var(--brass);background:var(--raised-2);box-shadow:0 0 0 1px var(--brass-hi)}#tutorial{top:66px;left:12px;width:280px;pointer-events:auto;display:flex;flex-direction:column;gap:6px}#tutorial .head{display:flex;align-items:center;justify-content:space-between;font:italic 600 13px var(--title);color:var(--good)}#tutorial .head button{background:var(--raised);border:1px solid var(--line);border-radius:6px;width:24px;height:24px;font-size:14px;line-height:1;color:var(--ink-2);cursor:pointer}#tutorial h2{margin:0;font-size:19px}#tutorial p{margin:0;font-size:12px;line-height:1.5;color:var(--ink-2)}#tutorial .bar{height:6px;background:var(--sunken);border-radius:3px;overflow:hidden}#tutorial .bar i{display:block;height:100%;background:var(--good);border-radius:3px}#tutorial .count{font-size:11px;font-weight:700;color:var(--good);text-align:right}#debug{top:auto;bottom:12px;left:12px;font:11px/1.5 ui-monospace,monospace;white-space:pre}#ore-labels{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;overflow:hidden}.ore-tag{position:absolute;left:0;top:0;display:flex;align-items:center;gap:5px;padding:3px 9px 3px 4px;white-space:nowrap;font:700 11px var(--font);color:var(--ink);background:#2c2117d9;border:1px solid;border-radius:6px;box-shadow:0 2px 6px #0000004d}.ore-tag img{width:16px;height:16px;image-rendering:pixelated}.ore-iron_ore{border-color:#c9a07e}.ore-copper_ore{border-color:#e2743a}.ore-coal{border-color:#77777e}#defeat{position:fixed;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;background:#1e0e0673;z-index:4}#defeat .hud-panel{position:static;pointer-events:auto;text-align:center;padding:26px 32px;display:flex;flex-direction:column;gap:12px;align-items:center;max-width:420px}#defeat h1{margin:0;font-size:30px;color:var(--bad)}#defeat p{margin:0;color:var(--ink-2)}#defeat button{font-size:14px;padding:10px 18px}#defeat.victory{background:#0a181e4d}#defeat.victory h1{color:var(--good)}#menu{position:fixed;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;background:#140e0873;z-index:5}#menu .hud-panel{position:static;pointer-events:auto;width:min(420px,calc(100vw - 32px));padding:24px 26px;display:flex;flex-direction:column;gap:14px}#menu h1{margin:0;font-size:34px;text-align:center;color:var(--brass-hi)}#menu .sub,#menu .goal{margin:0;color:var(--ink-2);font-size:13px;text-align:center}#menu .goal{color:var(--ink-3);font-size:12px}#menu .actions{display:flex;flex-direction:column;gap:8px}#menu .actions button{padding:11px;font-size:14px;display:flex;flex-direction:column;align-items:center;gap:2px}#menu button small{font-size:11px;font-weight:500;opacity:.85}#menu .status{margin:0;min-height:16px;font-size:12px;color:var(--good);text-align:center}#menu summary{cursor:pointer;font:700 14px var(--title)}#menu dl{display:grid;grid-template-columns:auto 1fr;gap:4px 14px;margin:10px 0 0;font-size:12px}#menu dt{font-weight:700;color:var(--brass-hi)}#menu dd{margin:0;color:var(--ink-2)}#menu .settings{width:min(480px,calc(100vw - 32px));max-height:calc(100vh - 32px);overflow-y:auto}#menu .settings h2{margin:0;font-size:26px;text-align:center}#menu fieldset{border:1px solid var(--line);background:var(--sunken);border-radius:8px;margin:0;padding:10px 12px 12px;display:flex;flex-direction:column;gap:8px}#menu legend{padding:0 6px;font:italic 600 14px var(--title);color:var(--brass-hi)}#menu .row{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:13px}#menu .row.check{justify-content:flex-start}#menu select{font:600 12px var(--font);background:var(--raised);color:var(--ink);border:1px solid var(--line);border-radius:6px;padding:5px 8px}#menu input[type=range]{flex:1;accent-color:var(--brass)}#menu input[type=checkbox]{accent-color:var(--brass);width:16px;height:16px}#menu output{min-width:44px;text-align:right;font-weight:700;font-size:12px}#menu .binds{display:grid;grid-template-columns:1fr auto;gap:5px 12px;align-items:center;font-size:12px}#menu .binds button{min-width:120px;padding:5px 10px;font-size:12px}#menu .binds button.wait{background:var(--brass);color:#2a1d10}#menu .hint{margin:0;font-size:11px;color:var(--ink-3)}#menu button.small{font-size:12px;padding:6px 10px;align-self:flex-start}
