
:root{
  --bg:#080315; --panel:rgba(24,12,48,.78); --gold:#ffd166; --pink:#ff5ecb;
  --cyan:#43e8ff; --green:#69ff9c; --text:#fff7ff;
}
*{box-sizing:border-box}
html,body{margin:0;width:100%;height:100%;overflow:hidden;background:radial-gradient(circle at 50% 20%,#5128a8 0%,#18062f 48%,#05020c 100%);font-family:Inter,system-ui,Arial,sans-serif;color:var(--text)}
#scene{position:fixed;inset:0;width:100%;height:100%;display:block}
#app{position:fixed;inset:0;display:grid;grid-template-rows:auto 1fr auto;pointer-events:none}
.topbar{display:flex;gap:12px;align-items:center;justify-content:space-between;padding:14px max(14px,env(safe-area-inset-left)) 8px max(14px,env(safe-area-inset-left))}
.brand,.pill{pointer-events:auto;background:var(--panel);backdrop-filter:blur(14px);border:1px solid rgba(255,255,255,.16);border-radius:999px;box-shadow:0 0 24px rgba(255,94,203,.2);padding:10px 14px;display:flex;align-items:center;gap:10px}
.brand small{display:block;opacity:.72;font-weight:800;font-size:11px;letter-spacing:.18em}
.logo{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:linear-gradient(135deg,var(--pink),var(--cyan));font-weight:900}
.pill b{color:var(--gold)}
.machine{display:grid;place-items:center;padding:10px}
.grid-shell{position:relative;width:min(94vw,850px);aspect-ratio:6/5;background:linear-gradient(180deg,rgba(255,255,255,.16),rgba(255,255,255,.04));border:2px solid rgba(255,255,255,.18);border-radius:32px;padding:14px;box-shadow:0 30px 100px rgba(0,0,0,.55),0 0 70px rgba(255,94,203,.22);pointer-events:auto}
.grid{width:100%;height:100%;display:grid;grid-template-columns:repeat(6,1fr);grid-template-rows:repeat(5,1fr);gap:8px}
.cell{position:relative;display:grid;place-items:center;border-radius:22px;background:radial-gradient(circle at 35% 25%,rgba(255,255,255,.55),rgba(255,255,255,.08) 45%,rgba(0,0,0,.18));box-shadow:inset 0 0 16px rgba(255,255,255,.18),0 10px 22px rgba(0,0,0,.25);font-size:clamp(25px,6vw,58px);transform:translateY(-14px) scale(.72);opacity:0;animation:drop .32s cubic-bezier(.2,1.2,.2,1) forwards}
.cell.win{animation:pulse .58s ease-in-out 2;filter:drop-shadow(0 0 18px var(--gold))}
.cell.scatter{box-shadow:0 0 26px rgba(67,232,255,.55),inset 0 0 18px rgba(255,255,255,.24)}
.cell.bomb{box-shadow:0 0 28px rgba(255,94,203,.65),inset 0 0 20px rgba(255,255,255,.22)}
.message{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);font-weight:1000;font-size:clamp(28px,7vw,74px);letter-spacing:.04em;text-shadow:0 0 30px rgba(255,94,203,.95),0 6px 0 rgba(0,0,0,.28);opacity:0;pointer-events:none;text-align:center}
.message.show{animation:msg 1.15s ease-out forwards}
.controls{display:grid;grid-template-columns:auto 1fr auto auto auto auto auto auto;gap:8px;align-items:center;padding:10px max(12px,env(safe-area-inset-right)) max(14px,env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left));background:linear-gradient(180deg,transparent,rgba(5,2,12,.65));pointer-events:auto}
button{border:0;color:#fff;font-weight:1000;letter-spacing:.04em;cursor:pointer}
.mini,.toggle,.spin,.bet{min-height:48px;border-radius:999px;background:var(--panel);border:1px solid rgba(255,255,255,.16);box-shadow:0 0 20px rgba(0,0,0,.22);display:grid;place-items:center;padding:0 14px}
.mini{width:48px;font-size:24px}
.toggle.active{background:linear-gradient(135deg,#ff5ecb,#8c5cff)}
.spin{min-width:96px;height:78px;background:linear-gradient(135deg,#ff3ebf,#8c5cff 55%,#2ee6ff);box-shadow:0 0 40px rgba(255,94,203,.52),inset 0 0 20px rgba(255,255,255,.24);font-size:18px}
.spin:disabled{filter:grayscale(.5);opacity:.72}
.bet b{color:var(--gold)}
dialog{border:0;background:transparent;color:var(--text)}
.modal-card{max-width:520px;background:rgba(18,8,36,.96);border:1px solid rgba(255,255,255,.18);border-radius:28px;padding:26px;box-shadow:0 0 80px rgba(0,0,0,.6)}
.close{float:right;background:rgba(255,255,255,.12);border-radius:50%;width:38px;height:38px}
@keyframes drop{to{transform:translateY(0) scale(1);opacity:1}}
@keyframes pulse{50%{transform:scale(1.12);background:radial-gradient(circle,var(--gold),rgba(255,255,255,.14))}}
@keyframes msg{0%{opacity:0;transform:translate(-50%,-50%) scale(.7)}20%{opacity:1}80%{opacity:1}100%{opacity:0;transform:translate(-50%,-50%) scale(1.12)}}
@media(max-width:720px){
 .topbar{font-size:13px}.brand{padding:8px 10px}.pill{padding:8px 10px}
 .grid-shell{width:96vw;border-radius:22px;padding:8px}.grid{gap:5px}.cell{border-radius:14px}
 .controls{grid-template-columns:auto 1fr auto auto auto;gap:6px}
 #paytable,#daily{display:none}.spin{grid-column:5;grid-row:1 / span 2;height:84px;min-width:82px}.toggle{font-size:11px;padding:0 10px}.bet{font-size:12px}
}
