*{box-sizing:border-box}body{margin:0;padding:20px;background:#1c1724;color:#f3e6d6;font:16px/1.5 system-ui}main{max-width:760px;margin:auto}header,.stats,.controls{display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap}h1{font:normal clamp(28px,5vw,42px) Georgia;margin:0}a{color:#d9b895}p{color:#d1bdcd}button{padding:10px 18px;border:1px solid #86667b;border-radius:6px;background:#403047;color:inherit;font:inherit;cursor:pointer}button:disabled{opacity:.4}button:focus-visible,canvas:focus-visible{outline:3px solid #edbc83;outline-offset:3px}.stats{margin:18px 0 10px;font-variant-numeric:tabular-nums}.stage{position:relative;background:#2a2334;overflow:hidden;border:1px solid #675061;border-radius:12px}canvas{display:block;width:100%;height:clamp(330px,60vh,500px);touch-action:none}.overlay{position:absolute;inset:0;background:#201726ed;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:24px}.overlay[hidden]{display:none}.overlay h2{font:normal 32px Georgia;margin:0}.overlay p{max-width:34ch}.controls{margin-top:12px;font-size:14px}.legend{font-size:14px}.sr{position:absolute;clip-path:inset(50%);width:1px;height:1px;overflow:hidden}
