:root{--bg:#0f1220;--panel:#181c2e;--line:#2a2f4a;--text:#e8eaf6;--muted:#8b90b0;--a1:#7c5cff;--a2:#ff5c8a}
*{box-sizing:border-box}
body{margin:0;min-height:100vh;display:grid;place-items:center;color:var(--text);font:15px/1.4 system-ui,sans-serif;
  background:radial-gradient(1200px 600px at 50% -10%,#1e2340,var(--bg))}
main{display:grid;grid-template-columns:260px 1fr;gap:16px;padding:16px;width:min(100%,1400px)}
aside{background:var(--panel);border-radius:16px;padding:16px;display:flex;flex-direction:column;gap:12px;align-self:start}
h1{margin:0;font-size:20px;letter-spacing:.5px}
label{display:flex;flex-direction:column;gap:4px;color:var(--muted);font-size:13px}
input,select,button{font:inherit;color:var(--text);background:var(--bg);border:1px solid var(--line);border-radius:10px;padding:10px 12px}
button{border:0;font-weight:600;cursor:pointer;background:linear-gradient(135deg,var(--a1),var(--a2))}
button.ghost{background:none;border:1px solid var(--line);color:var(--muted)}
#upgrades{display:flex;flex-direction:column;gap:8px}
.upgrade{display:grid;grid-template-columns:1fr auto;text-align:left;gap:0 8px;background:var(--bg);border:1px solid var(--line);color:var(--text)}
.upgrade small{grid-column:1;color:var(--muted);font-weight:400}
.upgrade span{grid-row:1/3;align-self:center;color:var(--a2)}
.upgrade:disabled{opacity:.45;cursor:default}
.stage{display:flex;flex-direction:column;gap:16px;min-width:0}
#slots{display:flex;flex-wrap:wrap;align-items:center;gap:12px;background:var(--panel);border-radius:16px;padding:12px 16px}
.reels{display:grid;grid-template-columns:repeat(5,44px);gap:6px}
.reels span{height:44px;display:grid;place-items:center;font-size:24px;background:var(--bg);border:1px solid var(--line);border-radius:10px;transition:box-shadow .2s}
.reels span.win{border-color:var(--a2);box-shadow:0 0 10px var(--a2)}
#spin:disabled{opacity:.45;cursor:default}
#spinresult{color:var(--muted)}
.stat{display:flex;justify-content:space-between}
.stat span{color:var(--muted)}
canvas{width:100%;max-width:1100px;height:auto;display:block;background:var(--panel);border-radius:16px}
@media(max-width:700px){main{grid-template-columns:1fr}}
