:root{--bg:#0b0a10;--s1:#14121b;--s2:#1d1a27;--violet:#8f6be8;--magenta:#b05bd0;--pink:#d9669a;--gold:#e6be6a;--gold2:#d1a64f;--green:#4cc9a0;--red:#e0646b;--blue:#6aa8f0;--muted:#a9a3b8;--line:rgba(255,255,255,.09)}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent;user-select:none;-webkit-user-select:none}
html,body{margin:0;height:100%;background:var(--bg);color:#fff;font-family:system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;overscroll-behavior:none}
body{background:radial-gradient(120% 60% at 50% -10%,#2a1c4d 0%,transparent 60%),var(--bg);min-height:100%;display:flex;flex-direction:column;overflow-x:hidden}
button{font:inherit;color:inherit;border:0;background:none;cursor:pointer}
.top{display:flex;align-items:center;gap:10px;padding:max(10px,env(safe-area-inset-top)) 14px 10px}
.top h1{font-size:17px;margin:0;flex:1;font-weight:800;letter-spacing:.2px}
.x{width:34px;height:34px;border-radius:50%;background:rgba(255,255,255,.08);display:grid;place-items:center;font-size:18px}
.coins{display:flex;align-items:center;gap:6px;background:rgba(255,255,255,.08);border:1px solid var(--line);padding:6px 11px;border-radius:20px;font-weight:800;font-size:13.5px;color:var(--gold)}
.coin{width:16px;height:16px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#fff3c4,#e6be6a 45%,#b98a2e);box-shadow:inset 0 0 0 2px rgba(120,80,0,.35)}
.wrap{padding:0 14px 24px;max-width:520px;width:100%;margin:0 auto;flex:1;display:flex;flex-direction:column}
.card{background:linear-gradient(180deg,rgba(255,255,255,.06),rgba(255,255,255,.025));border:1px solid var(--line);border-radius:18px;padding:14px}
.chips{display:flex;gap:8px;flex-wrap:wrap}
.chip{padding:9px 14px;border-radius:14px;background:rgba(255,255,255,.07);border:1px solid var(--line);font-weight:800;font-size:13.5px}
.chip.on{background:linear-gradient(135deg,var(--violet),var(--pink));border-color:transparent;box-shadow:0 4px 14px rgba(143,107,232,.4)}
.btn{display:block;width:100%;padding:15px;border-radius:16px;font-weight:900;font-size:16px;letter-spacing:.3px;background:linear-gradient(135deg,#ebcb85,#d1a64f);color:#2a1d00;box-shadow:0 6px 20px rgba(209,166,79,.35),inset 0 1px 0 rgba(255,255,255,.5)}
.btn:active{transform:translateY(1px) scale(.99)}
.btn[disabled]{opacity:.5;filter:grayscale(.4)}
.btn.alt{background:linear-gradient(135deg,var(--violet),var(--pink));color:#fff;box-shadow:0 6px 20px rgba(143,107,232,.35)}
.btn.ghost{background:rgba(255,255,255,.08);color:#fff;box-shadow:none;border:1px solid var(--line)}
.btn.sm{padding:10px 14px;font-size:13.5px;border-radius:12px;width:auto;display:inline-block}
.lbl{font-size:11px;letter-spacing:1.2px;font-weight:800;color:var(--muted);margin:14px 0 8px;text-transform:uppercase}
.msg{min-height:22px;text-align:center;font-weight:800;font-size:14px;color:#fff;margin:10px 0}
.msg.win{color:var(--gold)}
.toast{position:fixed;left:50%;bottom:90px;transform:translateX(-50%);background:#000c;border:1px solid var(--line);padding:10px 16px;border-radius:14px;font-size:13.5px;font-weight:700;z-index:50;max-width:88%;text-align:center;animation:tin .2s}
@keyframes tin{from{opacity:0;transform:translate(-50%,8px)}}
.grow{flex:1}
.row{display:flex;align-items:center;gap:10px}
.sp{justify-content:space-between}
.small{font-size:12px;color:var(--muted)}
.gold{color:var(--gold)}
.pop{animation:pop .5s cubic-bezier(.2,1.6,.4,1)}
@keyframes pop{from{transform:scale(.6);opacity:0}}
.overlay{position:fixed;inset:0;background:#000b;display:grid;place-items:center;z-index:40;padding:24px}
.overlay .card{background:#17141f;text-align:center;max-width:340px;width:100%}
.gate{margin:auto;text-align:center;padding:30px;color:var(--muted)}

/* ---------- game panel: history strip on top, stage in the middle, control dock at the bottom. Nothing pops up over it. ---------- */
body.g{height:100dvh;overflow:hidden;display:flex;flex-direction:column;background:#0a0716}
body.g .top{padding:max(6px,env(safe-area-inset-top)) 10px 4px}
body.embed .top{display:none}
.hist{display:flex;gap:6px;align-items:center;padding:6px 8px;margin:0;background:linear-gradient(180deg,#1a1245,#0e0a2a);border-bottom:2px solid #4a3aa8;min-height:36px;overflow:hidden;flex:none}
.hist b{flex:none;font-size:12px;padding:4px 11px;border-radius:14px;background:#0d0a26;border:1px solid #6a55d8;color:#fff;box-shadow:0 0 8px rgba(106,85,216,.5)}
.hist b.hi{border-color:#e6be6a;color:#ffd978}.hist b.lo{border-color:#7a6a9a;color:#cfc8e6}
.hist em{margin-left:auto;font-style:normal;font-size:12px;color:var(--muted);flex:none}
.stage{flex:1;min-height:0;position:relative;overflow:hidden;display:flex;flex-direction:column;align-items:center;justify-content:center}
.dock{flex:none;padding:7px 8px max(8px,env(safe-area-inset-bottom));background:linear-gradient(180deg,#1b1450,#0d0929);border-top:2px solid #5a46d0;box-shadow:0 -4px 22px rgba(90,70,208,.45)}
.d1{display:grid;grid-template-columns:1.1fr 1.1fr 1fr;gap:6px;margin-bottom:6px}
.box{height:36px;border-radius:12px;background:#080620;border:1.5px solid #3f6fd8;display:flex;align-items:center;justify-content:center;gap:6px;font-weight:900;font-size:15px;box-shadow:inset 0 0 10px rgba(63,111,216,.35);min-width:0;white-space:nowrap}
.box small{font-size:11px;color:#ffd978;font-weight:800}
.box .st{width:26px;height:26px;border-radius:50%;background:#1d1a52;border:1px solid #5a6ee0;font-weight:900;font-size:16px;line-height:1;flex:none}
.box.bet{justify-content:space-between;padding:0 5px}
.box.bal b{color:#ffd978}
.box.mid{cursor:pointer;font-size:13px;color:#cfe0ff}
.box.mid b{color:#fff;font-size:15px}
.stackc{width:18px;height:18px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#fff3c4,#e6be6a 45%,#b98a2e);box-shadow:0 3px 0 #8a5f12}
.d2{display:flex;align-items:center;gap:8px}
.chr{display:flex;gap:6px;flex:1;justify-content:space-between;min-width:0}
.cp{width:42px;height:42px;flex:none;border-radius:50%;font-weight:900;font-size:12.5px;color:#fff;display:grid;place-items:center;border:3px dashed rgba(255,255,255,.75);outline:3px solid var(--cc);outline-offset:-6px;background:radial-gradient(circle at 35% 28%,color-mix(in srgb,var(--cc) 70%,#fff),var(--cc) 55%,color-mix(in srgb,var(--cc) 60%,#000));box-shadow:0 3px 0 rgba(0,0,0,.45);text-shadow:0 1px 2px #000a;transition:.12s}
.cp.on{transform:translateY(-4px) scale(1.08);box-shadow:0 0 14px var(--cc),0 6px 0 rgba(0,0,0,.4)}
.go{flex:none;min-width:34%;height:46px;padding:0 14px;border-radius:13px;font-weight:900;font-size:16px;letter-spacing:.5px;color:#4a2c00;border:2px solid #fff3b0;background:linear-gradient(180deg,#ffe98a,#e8b93c 55%,#c98a1c);box-shadow:0 0 14px rgba(255,208,90,.55),0 4px 0 #8a5f12}
.go:active{transform:translateY(2px);box-shadow:0 0 10px rgba(255,208,90,.5),0 2px 0 #8a5f12}
.go[disabled]{filter:saturate(.35) brightness(.8);box-shadow:none}
.go.cash{animation:glow .6s infinite alternate}@keyframes glow{to{box-shadow:0 0 26px #ffd05a,0 4px 0 #8a5f12}}
.say{position:absolute;left:0;right:0;bottom:6px;text-align:center;font-weight:900;font-size:15px;text-shadow:0 2px 8px #000;pointer-events:none}
.say.win{color:#ffd978}
.pick3{display:flex;gap:8px;padding:0 10px;width:100%}
.pick3 button{flex:1;padding:8px 4px;border-radius:12px;background:#120e34;border:2px solid #3b3a86;font-weight:900;font-size:13px;line-height:1.15}
.pick3 button small{display:block;color:var(--muted);font-size:10px;font-weight:700}
.pick3 button.on{border-color:#ffd978;background:#2a2060;box-shadow:0 0 12px rgba(255,217,120,.4)}
