@font-face{font-family:"Press Start 2P";font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/press-start-2p-latin.woff2) format("woff2")}@font-face{font-family:VT323;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/vt323-latin.woff2) format("woff2")}:root{--ink: #140c18;--panel: #1c1424ee;--line: #d4893a;--teal: #3ec8c8;--ember: #ff6a2a;--paper: #f4e4c8;--dim: #a89888}*{box-sizing:border-box}html,body{margin:0;height:100%;background:#07040c;overflow:hidden}body{font-family:VT323,monospace;color:var(--paper)}#stage,#stage canvas{position:fixed;top:0;right:0;bottom:0;left:0;width:100%;height:100%;image-rendering:pixelated;image-rendering:crisp-edges}#hud{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:2}#hud-canvas{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none;image-rendering:pixelated;image-rendering:crisp-edges}#hotbar-hits{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}#hotbar-hits>div{pointer-events:auto;cursor:pointer}#minimap-wrap{position:absolute;top:16px;right:16px;border:2px solid #000;box-shadow:0 0 0 1px var(--line);background:#000}#minimap{display:block;image-rendering:pixelated}#map-wrap{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);border:2px solid #000;box-shadow:0 0 0 1px var(--line),0 8px 40px #000a;background:#000;padding:0;line-height:0}#map-wrap[hidden]{display:none}#worldmap{display:block;image-rendering:pixelated;pointer-events:auto;cursor:pointer}#map-wrap span{display:block;line-height:1.6;text-align:center;font-size:14px;color:#fff6;background:#0d0b12}#hint{position:absolute;bottom:6px;left:50%;transform:translate(-50%);font-size:clamp(11px,.95vw,16px);color:#fff6;white-space:nowrap}#menu,#end{position:fixed;top:0;right:0;bottom:0;left:0;z-index:5;display:flex;align-items:center;justify-content:center}#menu{background:#07040c;justify-content:stretch}#end{background:#07040ccc}.menu-art{flex:1.2;height:100%;background:linear-gradient(180deg,#1a143088,#0000 35%,#07040c),url(/title.jpg) center / cover no-repeat,#120818}.menu-copy{flex:0 0 420px;padding:48px 40px;background:#140c18f0;border-left:4px solid var(--line);height:100%;display:flex;flex-direction:column;justify-content:center;gap:14px}.kicker{color:var(--teal);letter-spacing:.2em;font-size:18px;margin:0}h1{font-family:"Press Start 2P",monospace;font-size:28px;line-height:1.4;color:var(--line);text-shadow:3px 3px #000,0 0 24px #d4893a88;margin:0}.blurb{font-size:22px;color:var(--dim);margin:0 0 12px}label{display:flex;flex-direction:column;gap:6px;font-size:18px;color:var(--teal)}input{font-family:inherit;font-size:22px;padding:8px 10px;background:#0a0610;color:var(--paper);border:2px solid #3a2a28}.menu-actions{display:flex;gap:10px}.menu-note{margin:0;font-size:9px;line-height:1.6;color:#d9a05b;max-width:46ch}.seed-field{display:flex;flex-direction:column;gap:6px}.seed-row{display:flex;gap:8px}.seed-row input{flex:1;min-width:0}.seed-row button{font-size:9px;padding:8px 10px}.menu-dev{display:flex;align-items:center;flex-wrap:wrap;gap:14px;margin-top:6px;padding-top:14px;border-top:1px solid #3a2a2888;font-size:18px}.menu-dev span{color:var(--teal);font-size:15px;letter-spacing:.18em}.menu-dev a{color:var(--dim);text-decoration:none;border-bottom:1px dotted #6a4a30}.menu-dev a:hover{color:var(--line);border-bottom-color:var(--line)}button{font-family:"Press Start 2P",monospace;font-size:10px;padding:12px 14px;cursor:pointer;background:#2a1c18;color:var(--paper);border:2px solid #6a4a30}button.primary,button:hover{background:#d4893a;color:#1a0c08;border-color:#f0c070}button:disabled{opacity:.35;cursor:default;background:#2a1c18;color:var(--paper)}.credits{color:#fff4;font-size:16px}.panel{background:var(--panel);border:3px solid var(--line);padding:24px 28px;min-width:420px;max-width:640px;max-height:80vh;overflow:auto;box-shadow:8px 8px #000a}.panel h2{font-family:"Press Start 2P",monospace;font-size:14px;color:var(--line);margin:0 0 16px}.panel h3{margin:16px 0 8px;color:var(--teal);font-size:22px}.panel .foot{color:#fff5}.panel button{display:block;width:100%;margin:8px 0}.binds{display:flex;flex-direction:column;gap:2px;font-size:18px;color:var(--dim)}.bind-row{display:grid;grid-template-columns:1fr 96px 96px;gap:6px;align-items:center}.bind-head{color:var(--teal);font-size:15px;letter-spacing:.12em}.panel .binds button.bind,.binds button.bind{display:block;width:auto;margin:0;padding:4px 6px;font-family:VT323,monospace;font-size:18px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.binds button.bind.waiting{background:var(--line);color:#1a0c08;border-color:#f0c070}.bind-fixed{color:var(--paper);padding:4px 6px}.bind-foot{grid-template-columns:auto 1fr;margin-top:8px}.panel .bind-foot button,.bind-foot button{display:block;width:auto;margin:0}.bind-said{color:#d9a05b;font-size:16px}[hidden]{display:none!important}#pause{position:fixed;top:0;right:0;bottom:0;left:0;z-index:5}:focus-visible{outline:3px solid var(--line);outline-offset:2px;box-shadow:0 0 0 5px #140c18cc;border-radius:2px}input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--teal);outline-offset:1px}
