:root{--bg:#0d1f14;--card:#173324;--gold:#e8b64c;--cream:#f3ead2;--green:#2e7d4f}
*{box-sizing:border-box}body{margin:0;font-family:system-ui;background:var(--bg);color:var(--cream)}
header{display:flex;justify-content:space-between;align-items:center;padding:12px 16px}
.brand{display:flex;gap:10px;align-items:center}.logo{width:44px;height:44px}
h1{margin:0;font-size:24px;letter-spacing:2px}.t-gold{color:var(--gold)}
.sub{font-size:12px;opacity:.85}.badge{background:var(--gold);color:#241a02;padding:3px 8px;border-radius:8px;font-weight:700}
.ghost{background:#22452f;color:var(--cream);border:1px solid #3a6b4a;border-radius:8px;padding:8px 12px;cursor:pointer}
.ghost.on,.token-btn.picked{background:var(--gold);color:#241a02;font-weight:700}
main{max-width:860px;margin:0 auto;padding:0 12px 24px;display:flex;flex-direction:column;gap:14px}
.stage-card,.card{background:var(--card);border:1px solid #2c5b3e;border-radius:14px;padding:16px}
.machine{display:flex;gap:16px;align-items:flex-start}
.grid-wrap{position:relative;flex:1}
.diamond{display:flex;gap:6px;justify-content:center;align-items:center;min-height:300px}
.dcol{display:flex;flex-direction:column;gap:6px;justify-content:center}
.cell{width:56px;height:56px;background:#0a1810;border:2px solid #3a6b4a;border-radius:10px;display:grid;place-items:center;font-size:26px}
.cell.letter{color:var(--gold);font-weight:800}
.cell.wild{background:#6d5410;color:#ffe9a8;font-size:13px;font-weight:800}
.cell.scatter{background:#274b73}
.cell.win{border-color:var(--gold);box-shadow:0 0 10px var(--gold)}
.side-controls{display:flex;flex-direction:column;gap:10px}
.spin-btn{background:var(--green);color:#fff;border:0;border-radius:50%;width:96px;height:96px;font-size:18px;font-weight:800;cursor:pointer}
.spin-btn.small{border-radius:12px;width:auto;height:auto;padding:12px 20px}
.spin-btn:disabled{opacity:.4;cursor:not-allowed}
.win-banner,.feature-banner{position:absolute;inset:auto 0 40% 0;text-align:center;font-size:30px;font-weight:900;color:var(--gold);text-shadow:0 2px 8px #000}
.hidden{display:none!important}
.meters{display:flex;gap:12px;margin-top:12px}.meter{flex:1;background:#0a1810;border-radius:10px;padding:10px;display:flex;justify-content:space-between}
.m-label{opacity:.8;font-size:12px}.msg{min-height:20px;color:#ffb3b3;margin-top:8px}
.calc-text{min-height:18px;font-size:13px;opacity:.9}
.bet-row{display:flex;gap:12px;align-items:center;flex-wrap:wrap}
.chips{display:flex;gap:6px}.chip{background:#22452f;color:var(--cream);border:1px solid #3a6b4a;border-radius:16px;padding:6px 12px;cursor:pointer}
.bet-input{display:flex;gap:6px;align-items:center}.bet-input input{width:70px;padding:8px;border-radius:8px;border:0}
.bet-input button{padding:8px 12px;border-radius:8px;border:0;cursor:pointer}
.paytable{display:flex;flex-direction:column;gap:6px}.pt-row{display:flex;justify-content:space-between;background:#0a1810;border-radius:8px;padding:8px 10px}
.note{font-size:13px;line-height:1.55;opacity:.92}
.history{list-style:none;margin:0;padding:0;font-size:13px}.history li{padding:4px 0;border-bottom:1px solid #22452f}
.fair-grid{display:flex;flex-direction:column;gap:8px;font-size:13px}.fair-grid code{word-break:break-all}
.fair-actions{display:flex;gap:8px;margin-top:10px;flex-wrap:wrap}.fair-actions input{padding:8px;border-radius:8px;border:0}
.verify-out{white-space:pre-wrap;font-size:11px;max-height:220px;overflow:auto}
.board-track{display:grid;grid-template-columns:repeat(10,1fr);gap:4px;margin:12px 0}
.sq{aspect-ratio:1;background:#0a1810;border:1px solid #3a6b4a;border-radius:6px;display:grid;place-items:center;font-size:13px;position:relative}
.sq-gate{border-color:var(--gold)} .sq-mystery{background:#3b2a5e}.sq-extra_roll{background:#274b73}
.sq.here{box-shadow:0 0 0 2px var(--gold) inset}
.sq .token{position:absolute;font-size:16px;top:1px;right:1px}
.token-row{display:flex;gap:8px;flex-wrap:wrap}
.board-actions{display:flex;gap:12px;align-items:center}
footer{text-align:center;font-size:12px;opacity:.7;padding:12px}
@media (max-width:640px){.cell{width:44px;height:44px;font-size:20px}.machine{flex-direction:column}.side-controls{flex-direction:row}}
