html,body{color:#e8e4da;background:#000;height:100%;margin:0;font-family:ui-monospace,Cascadia Mono,Consolas,monospace;overflow:hidden}#view{width:100vw;height:100vh;display:block}#crosshair{pointer-events:none;background:#ffffff8c;border-radius:50%;width:4px;height:4px;margin:-2px 0 0 -2px;transition:transform 80ms,background 80ms;position:fixed;top:50%;left:50%}body.can-mine #crosshair{background:#ffecbee6;transform:scale(1.8)}#reticle{pointer-events:none;width:0;height:0;display:none;position:fixed;top:50%;left:50%}#reticle.pick,#reticle.hammer{display:block}#reticle i{background:#fff9;border-radius:2px;transition:background 80ms;display:none;position:absolute}#reticle .bar{width:68px;height:3px;top:-1.5px;left:-34px}#reticle .ring{box-sizing:border-box;background:0 0;border:2px solid #fff9;border-radius:50%;width:22px;height:22px;top:-11px;left:-11px}#reticle .tick{width:16px;height:3px;top:-1.5px;left:11px}#reticle.pick .bar,#reticle.hammer .ring,#reticle.hammer .tick{display:block}body.can-mine #reticle .bar,body.can-mine #reticle .tick{background:#ffecbef2}body.can-mine #reticle .ring{border-color:#ffecbef2}#charge{opacity:0;pointer-events:none;background:#ffffff26;border-radius:2px;width:64px;height:4px;margin-left:-32px;transition:opacity .1s;position:fixed;top:calc(50% + 26px);left:50%}#charge.on{opacity:1}#charge div{background:#ffecbee6;border-radius:2px;width:0;height:100%}#charge.full div{background:#ffb347;box-shadow:0 0 8px #ff9a2a}#hud{white-space:pre;pointer-events:none;background:#00000073;border-radius:6px;padding:8px 10px;font-size:12px;line-height:1.45;position:fixed;bottom:12px;left:12px}#overlay{cursor:pointer;background:#00000059;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}#overlay.hidden{display:none}#overlay .panel{background:#0a0c10d1;border:1px solid #ffffff1f;border-radius:10px;max-width:460px;padding:24px 28px}#overlay h1{letter-spacing:.04em;margin:0 0 4px;font-size:22px}#overlay .sub{opacity:.75;margin:0 0 16px;font-size:12px}#overlay table{border-spacing:0 3px;font-size:13px}#overlay td:first-child{color:#c9a4ff;white-space:nowrap;padding-right:18px}#overlay .go{text-align:center;color:#d7b8ff;margin:18px 0 0;font-size:15px}#inventory{pointer-events:none;background:#00000073;border-radius:6px;min-width:150px;padding:8px 12px;font-size:13px;line-height:1.5;position:fixed;top:44px;right:12px}#inventory div{justify-content:space-between;gap:16px;display:flex}#inventory .empty{opacity:.5}#inventory b{color:#ffd27a}#inventory.flash{animation:.8s ease-out flash}@keyframes flash{0%{background:#ffd27a8c}to{background:#00000073}}#touch-look,#mobile-controls,.touch-stick,#settings-toggle{display:none}@media (pointer:coarse){.lil-gui{max-height:72vh;overflow-y:auto}#settings-toggle{z-index:12;top:max(10px, env(safe-area-inset-top));color:#fff;background:#090f19c7;border:1px solid #fff6;border-radius:10px;padding:9px 12px;font:700 11px ui-monospace,monospace;display:block;position:fixed;left:8px}#touch-look{touch-action:none;z-index:4;width:54vw;height:58vh;display:block;position:fixed;top:0;right:0}#mobile-controls{pointer-events:none;z-index:8;padding-bottom:max(8px, env(safe-area-inset-bottom));justify-content:space-between;align-items:end;display:flex;position:fixed;inset:auto 12px 12px}.touch-stick{pointer-events:auto;touch-action:none;-webkit-user-select:none;user-select:none;place-items:center;width:144px;height:144px;display:grid}.stick-ring{box-sizing:border-box;background:radial-gradient(circle,#20304494,#090f1947);border:2px solid #d2e6ff47;border-radius:50%;place-items:center;width:124px;height:124px;display:grid;box-shadow:inset 0 0 22px #00000059,0 5px 20px #00000038}.stick-knob{will-change:transform;background:radial-gradient(circle at 35% 30%,#bed5f4eb,#516f97db);border:1px solid #ffffff94;border-radius:50%;width:54px;height:54px;box-shadow:0 3px 12px #00000073,inset 0 1px 3px #ffffff73}.touch-actions{pointer-events:auto;touch-action:none;grid-template-columns:repeat(2,minmax(56px,1fr));gap:6px;max-width:168px;display:grid}#mobile-controls button{color:#fff;touch-action:none;-webkit-user-select:none;user-select:none;background:#090f19b8;border:1px solid #ffffff59;border-radius:14px;min-width:50px;min-height:48px;font:700 12px ui-monospace,monospace}#mobile-controls button.pressed{background:#6a4796e0}#hud{top:max(12px, env(safe-area-inset-top));max-width:38vw;font-size:10px;bottom:auto;left:8px}#inventory{top:max(10px, env(safe-area-inset-top));min-width:100px;font-size:11px;right:8px}#overlay .panel{max-width:90vw;max-height:82vh;padding:16px;overflow:auto}#overlay table{font-size:11px}}#smelter-info{box-sizing:border-box;color:#ffe0a3;white-space:pre-line;pointer-events:none;background:#0c1419e6;border:1px solid #ffa94d;border-radius:8px;width:min(350px,36vw);padding:12px 16px;font-size:12px;line-height:1.6;position:fixed;top:100px;right:12px}@media (pointer:coarse){#touch-look{height:100vh}#smelter-info{width:min(280px,46vw);padding:8px;font-size:10px;top:80px;right:8px}}body.can-use #crosshair{background:#48adff;transform:scale(2)}body.can-use #reticle .bar,body.can-use #reticle .tick{background:#48adff}body.can-use #reticle .ring{border-color:#48adff}#mobile-controls button.interact{background:#14559bd9;border-color:#48adff}#mobile-controls [data-action=use]{grid-column:1/-1;min-height:62px}#printer-editor{z-index:40;padding:max(12px, env(safe-area-inset-top)) 12px max(12px, env(safe-area-inset-bottom));box-sizing:border-box;background:#030a12a6;place-items:center;display:grid;position:fixed;inset:0}#printer-editor[hidden]{display:none}.printer-panel{box-sizing:border-box;background:#101f2d;border:1px solid #429bda;border-radius:12px;width:min(640px,100%);max-height:100%;padding:18px;overflow:auto;box-shadow:0 12px 50px #0009}.printer-heading{justify-content:space-between;align-items:center;gap:12px;display:flex}.printer-heading h2{letter-spacing:.08em;color:#87d4ff;margin:0;font-size:19px}.printer-panel p{color:#b6cbd9;margin:10px 0;font-size:12px;line-height:1.5}.printer-panel button{color:#e8f5ff;font:inherit;cursor:pointer;background:#243b4f;border:1px solid #466079;border-radius:5px;padding:8px 10px;font-size:12px}.printer-panel button:focus-visible{outline-offset:1px;outline:2px solid #fff}.printer-panel button:disabled{cursor:default;opacity:.45}.printer-panel button[aria-pressed=true]{background:#215d88;border-color:#6bc7ff}.printer-palette{flex-wrap:wrap;gap:6px;display:flex}.printer-palette button:before{content:"";background:var(--swatch);border-radius:2px;width:10px;height:10px;margin-right:6px;display:inline-block}.printer-modes,.printer-actions{flex-wrap:wrap;gap:8px;margin:12px 0;display:flex}.printer-actions [data-command=produce]{background:#16734e;border-color:#59bd90;margin-left:auto}.printer-grid{aspect-ratio:15/10;touch-action:none;-webkit-user-select:none;user-select:none;background:#073354;border:2px solid #5483a7;grid-template-columns:repeat(15,1fr);display:grid}.printer-grid button{background:0 0;border:1px solid #5483a755;border-radius:0;min-width:0;padding:0}.printer-grid button.printer-tube{border:3px solid #aab8c4;border-radius:45%}.printer-grid button[data-push=true]{color:#fff2c6;text-shadow:0 1px 2px #000;font-size:10px;box-shadow:inset 0 0 0 2px #ffae57}.printer-directions{gap:4px;display:flex}.printer-grid button:disabled{opacity:1}.printer-status{white-space:pre-line;color:#97d6ff;min-height:2.8em;font-size:12px;line-height:1.5;display:block}.editing-printer #overlay,.editing-printer #crosshair,.editing-printer #reticle,.editing-printer #charge,.editing-printer #mobile-controls,.editing-printer #touch-look,.editing-printer #settings-toggle,.editing-printer .lil-gui{display:none}@media (width<=500px){.printer-panel{padding:12px}.printer-panel button{padding:7px;font-size:11px}.printer-grid button{padding:0}}
