:root{--bg: #0e1410;--panel: #16201a;--line: #29382f;--ink: #eef7f1;--dim: #93b3a3;--accent: #5aa06a;--accent2: #7fd29a;--slot: #1b2b22;--slotfill: #234433;--bad: #5a2230;--gold: #d9b25a}*{box-sizing:border-box}html,body{margin:0;height:100%}body{background:radial-gradient(900px 560px at 50% -8%,#16241b,var(--bg));color:var(--ink);font-family:system-ui,-apple-system,Segoe UI,sans-serif;display:flex;justify-content:center;-webkit-user-select:none;user-select:none}#app{width:100%;max-width:540px;padding:12px 12px 30px}header{text-align:center;margin-bottom:6px}h1{margin:0;font-size:26px;letter-spacing:5px;font-weight:800;color:var(--accent2)}.sub{margin:3px 0 0;color:var(--dim);font-size:13px}.bar{display:flex;gap:8px;justify-content:center;flex-wrap:wrap;align-items:center;margin:10px 0}.seg{display:inline-flex;background:var(--panel);border:1px solid var(--line);border-radius:999px;overflow:hidden}.seg button{background:none;border:none;color:var(--dim);padding:6px 13px;font:600 13px system-ui;cursor:pointer}.seg button.active{background:var(--accent);color:#06150c}.btn{background:var(--panel);border:1px solid var(--line);color:var(--ink);padding:7px 14px;border-radius:999px;font:700 13px system-ui;cursor:pointer}.btn:hover{border-color:var(--accent2)}.btn.primary{background:var(--accent);color:#06150c;border-color:var(--accent)}.btn:disabled{opacity:.4;cursor:default}.scoreboard{display:flex;gap:8px;justify-content:center;margin:8px 0;flex-wrap:wrap}.readout{background:#0a120d;border:1px solid var(--line);border-radius:8px;padding:5px 14px;font:800 18px ui-monospace,monospace;color:var(--accent2);min-width:80px;text-align:center}.readout span{color:var(--dim);font-size:11px;display:block;font-weight:600;letter-spacing:.5px}.stage{position:relative;display:flex;justify-content:center}.grid{display:grid;gap:3px;margin:4px auto 0}.cell{width:clamp(26px,9vw,40px);height:clamp(26px,9vw,40px);display:flex;align-items:center;justify-content:center;font-weight:800;font-size:clamp(13px,4.5vw,20px);border-radius:4px}.cell.block{background:transparent}.cell.open{background:var(--slot);border:1px solid var(--line);color:transparent}.cell.open.filled{background:var(--slotfill);color:var(--ink);border-color:var(--accent)}.cell.hint{color:var(--gold)}.relicbar{display:flex;gap:6px;justify-content:center;flex-wrap:wrap;margin:8px 0 2px;min-height:4px}.relic{background:#11201a;border:1px solid var(--gold);color:var(--gold);border-radius:999px;padding:4px 11px;font:700 12px system-ui}.wheel{display:flex;gap:6px;justify-content:center;flex-wrap:wrap;margin:12px 0 6px}.tile{width:42px;height:42px;display:flex;align-items:center;justify-content:center;background:var(--panel);border:1px solid var(--line);border-radius:8px;font:800 22px ui-monospace,monospace;color:var(--accent2);cursor:pointer}.tile.wild{color:var(--gold);border-color:var(--gold)}.tile:active{transform:translateY(1px)}.entry{display:flex;gap:8px;justify-content:center;align-items:center;margin:6px 0}.entry input{background:#0a120d;border:1px solid var(--line);color:var(--ink);border-radius:8px;padding:9px 12px;font:800 18px ui-monospace,monospace;text-transform:uppercase;letter-spacing:3px;width:200px;text-align:center}.entry input:focus{outline:none;border-color:var(--accent2)}.msg{text-align:center;min-height:20px;color:var(--dim);font-size:13px;font-weight:600;margin:2px 0}.msg.bad{color:#e88}.msg.good{color:var(--accent2)}.targets{display:flex;gap:6px;justify-content:center;flex-wrap:wrap;margin:6px 0}.target{background:#0a120d;border:1px solid var(--line);border-radius:6px;padding:4px 9px;font:700 13px ui-monospace,monospace;color:var(--dim);letter-spacing:2px}.target.done{color:var(--accent2);border-color:var(--accent)}.overlay{position:fixed;inset:0;background:#060e09d1;display:flex;align-items:center;justify-content:center;padding:16px;z-index:5}.overlay.hidden{display:none}.card{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:20px;max-width:380px;width:100%;text-align:center}.card h2{margin:0 0 8px;color:var(--accent2)}.card p{color:var(--dim);font-size:14px;margin:6px 0}.choices{display:flex;flex-direction:column;gap:8px;margin:12px 0}.choice{text-align:left;background:#11201a;border:1px solid var(--gold);border-radius:10px;padding:10px 12px;cursor:pointer;color:var(--ink)}.choice:hover{background:#16291f}.choice b{color:var(--gold);display:block;margin-bottom:2px}.choice span{color:var(--dim);font-size:12px}.row{display:flex;gap:8px;justify-content:center;margin-top:8px}.hint{text-align:center;color:var(--dim);font-size:12px;margin-top:12px;line-height:1.5}
