*{box-sizing:border-box}body,html{margin:0}img{max-width:100%}[hidden]{display:none!important}:root{--cave:#000;--panel:#000;--line:#fff;--ink:#fff;--dim:#9b9b9b;--ember:#ff8a1f;--spore:#7fd1b9;--hurt:#df5b4b;--f-display:"Press Start 2P","Courier New",monospace;--f-body:"VT323","Courier New",monospace;color-scheme:dark}body{background:var(--cave);color:var(--ink);font-family:var(--f-body);font-size:20px;line-height:1.25;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px));padding-block:18px 40px}.wrap{max-width:1100px;margin:0 auto;display:flex;flex-direction:column;gap:16px}header{display:flex;flex-wrap:wrap;align-items:end;justify-content:space-between;gap:12px}h1{font-family:var(--f-display);font-weight:400;font-size:clamp(18px,3.6vw,30px);margin:0;line-height:1.3;color:var(--ink);text-wrap:balance}.tag{color:var(--dim);margin:2px 0 0}.wallet{display:flex;gap:10px;flex-wrap:wrap}.coin{border:2px solid var(--line);background:var(--panel);padding:6px 12px;min-width:120px}.coin small{display:block;font-family:var(--f-display);font-size:8px;letter-spacing:.06em;margin-bottom:6px;text-transform:uppercase;color:var(--dim)}.coin b{font-size:28px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:var(--spore);font-weight:400}.coin.vault b{color:var(--ember)}.grid{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(0,1fr);grid-gap:16px;gap:16px;align-items:start}@media (max-width:860px){.grid{grid-template-columns:minmax(0,1fr)}}.screen{border:3px solid var(--ink);padding:8px;display:flex;flex-direction:column;gap:10px;min-width:0}.screen,canvas{background:#000}canvas{width:100%;height:auto;image-rendering:pixelated;image-rendering:crisp-edges;display:block;touch-action:none;aspect-ratio:4/3;max-width:100%;outline:none}.bar{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}.keys{color:var(--dim);font-size:17px;margin:0}button{font-family:var(--f-display);font-size:10px;letter-spacing:.02em;text-transform:uppercase;background:#000;color:var(--ember);border:2px solid var(--ember);padding:8px 10px;cursor:pointer;min-width:0}button:focus-visible,button:hover:not(:disabled){background:var(--ember);color:#000;outline:none}button:disabled{opacity:.35;cursor:not-allowed}button.alt{color:var(--spore);border-color:var(--spore)}button.alt:focus-visible,button.alt:hover:not(:disabled){background:var(--spore);color:#000}.pad{display:none;justify-content:space-between;align-items:center;gap:16px;-moz-user-select:none;user-select:none;-webkit-user-select:none;touch-action:none}@media (hover:none),(max-width:600px){.pad{display:flex}}.dpad{display:grid;grid-template-columns:repeat(3,52px);grid-template-rows:repeat(3,52px);grid-gap:4px;gap:4px}.ab button,.dpad button{padding:0;font-size:18px;touch-action:none}.dpad .u{grid-area:1/2}.dpad .l{grid-area:2/1}.dpad .r{grid-area:2/3}.dpad .d{grid-area:3/2}.ab{display:flex;gap:12px}.ab button{width:64px;height:64px;border-radius:50%}aside{gap:16px;min-width:0}.card,aside{display:flex;flex-direction:column}.card{background:var(--panel);border:2px solid var(--line);padding:14px;gap:10px}.card h2{font-family:var(--f-display);font-size:10px;letter-spacing:.04em;text-transform:uppercase;margin:0;color:var(--ink);font-weight:400}.path{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:6px;gap:6px}.node{text-align:center;font-size:16px;padding:6px 2px;border:2px solid #444;color:var(--dim)}.node small{display:block;font-size:14px}.node.spared{border-color:var(--spore);color:var(--spore)}.node.struck{border-color:var(--hurt);color:var(--hurt)}.row{display:flex;justify-content:space-between;align-items:center;gap:10px}.row .what{min-width:0}.row .what small{display:block;color:var(--dim);font-size:17px}.row button{flex:none;padding:6px 10px;font-size:13px}.ledger{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px;max-height:200px;overflow:auto;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.ledger li{display:flex;justify-content:space-between;gap:8px;border-bottom:1px dashed #444;padding-bottom:3px}.ledger .plus{color:var(--spore)}.ledger .minus{color:var(--hurt)}.note{color:var(--dim);font-size:17px;margin:0}