:root{
  --bg:#0a0e13;--panel:#131a22;--panel2:#1a232e;--line:#26323f;--txt:#f2f6fa;--mut:#8b9aab;
  --green:#12c26a;--green2:#0a8f4e;--blue:#2f6bff;--gold:#ffc542;--red:#ff4d5e;
}
*{box-sizing:border-box}
html,body{margin:0;background:var(--bg);color:var(--txt);font:15px/1.4 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;cursor:pointer;border:0;background:none}
input{font:inherit;color:var(--txt)}
.hidden{display:none!important}

.top{position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:18px;padding:10px 20px;background:rgba(10,14,19,.92);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
.brand{display:flex;align-items:center;gap:10px;font-weight:800;font-size:20px;letter-spacing:-.3px}
.tabs{display:flex;gap:4px;margin-left:12px;flex:1}
.tabs a{padding:8px 14px;border-radius:10px;color:var(--mut);font-weight:600}
.tabs a.on{color:#fff;background:var(--panel2)}
.bal{display:flex;align-items:baseline;gap:6px;background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:6px 12px}
.bal b{font-size:17px}.bal small{color:var(--mut);font-size:11px}
.banner{background:linear-gradient(90deg,var(--green2),#1b4fd8);text-align:center;font-size:12px;padding:5px 10px;font-weight:600}

main{max-width:1120px;margin:0 auto;padding:18px 16px 120px}
h1{font-size:24px;margin:6px 0 14px}
h2{font-size:18px;margin:0 0 10px}

.sports,.pills{display:flex;gap:8px;overflow-x:auto;padding-bottom:6px;scrollbar-width:none}
.sport{display:flex;flex-direction:column;align-items:center;gap:4px;min-width:84px;padding:10px 12px;border-radius:14px;background:var(--panel);border:1px solid var(--line);color:var(--mut);font-weight:600;font-size:13px}
.sport span{font-size:22px}
.sport.on{color:#fff;border-color:var(--green);background:#0f2a1e}
.pills{margin:10px 0 16px}
.pill{padding:7px 14px;border-radius:99px;border:1px solid var(--line);color:var(--mut);font-weight:600;white-space:nowrap}
.pill.on{background:#fff;color:#000;border-color:#fff}

.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:14px}
.card{background:var(--panel);border:1px solid var(--line);border-radius:18px;padding:16px 14px 14px;text-align:center;position:relative;transition:.15s}
.card.sel{border-color:var(--green);box-shadow:0 0 0 1px var(--green) inset}
.card .logo{width:56px;height:56px;margin:0 auto 6px;border-radius:50%;background:linear-gradient(135deg,var(--green2),#1b4fd8);display:grid;place-items:center;font-weight:800;font-size:18px}
.card .who{font-weight:700}
.card .vs{color:var(--mut);font-size:12px;margin-bottom:10px}
.card .num{font-size:38px;font-weight:800;letter-spacing:-1px}
.card .stat{color:var(--mut);font-size:13px;margin-bottom:12px}
.card .lvl{position:absolute;top:10px;left:10px;font-size:10px;font-weight:700;color:var(--gold);background:#2b2410;padding:2px 7px;border-radius:99px}
.mm{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.mm button{padding:10px;border-radius:11px;background:var(--panel2);font-weight:700;border:1px solid var(--line)}
.mm button:hover{border-color:#fff}
.mm button.on{background:var(--green);color:#00110a;border-color:var(--green)}

.slipbar{position:fixed;left:0;right:0;bottom:0;z-index:30;padding:10px 16px;display:flex;justify-content:center;background:linear-gradient(transparent,var(--bg) 40%)}
.slipbar button{background:var(--green);color:#00110a;font-weight:800;padding:13px 28px;border-radius:14px;width:min(100%,420px)}
.slip{position:fixed;z-index:40;left:50%;transform:translateX(-50%);bottom:0;width:min(100%,460px);max-height:88vh;overflow:auto;background:var(--panel);border:1px solid var(--line);border-radius:22px 22px 0 0;padding:18px;box-shadow:0 -20px 60px #000a}
.slip header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}
.slip .x{font-size:22px;color:var(--mut)}
.srow{display:flex;justify-content:space-between;gap:10px;align-items:center;padding:10px 0;border-top:1px solid var(--line)}
.srow small{color:var(--mut);display:block}
.srow .r{display:flex;align-items:center;gap:10px}
.tag{font-weight:700;font-size:12px;padding:3px 8px;border-radius:99px;background:var(--panel2)}
.tag.more{color:var(--green)}.tag.less{color:var(--blue)}
.seg{display:grid;grid-template-columns:1fr 1fr;gap:6px;background:var(--panel2);padding:4px;border-radius:12px;margin:12px 0}
#risk{grid-template-columns:repeat(3,1fr)}
.seg button{padding:10px;border-radius:9px;font-weight:700;color:var(--mut)}
.seg button.on{background:#fff;color:#000}
.seg button:disabled{opacity:.35;cursor:not-allowed}
.entry{display:flex;gap:8px;align-items:center;margin:8px 0}
.entry input{flex:1;background:var(--panel2);border:1px solid var(--line);border-radius:10px;padding:10px;font-size:16px;min-width:0}
.chip{padding:8px 10px;border-radius:9px;background:var(--panel2);font-weight:700;font-size:13px}
.pay{display:flex;justify-content:space-between;font-weight:700;margin:12px 0;font-size:16px}
.pay span:last-child{color:var(--green)}
.btn{display:block;width:100%;padding:14px;border-radius:14px;background:var(--green);color:#00110a;font-weight:800;font-size:16px;text-align:center}
.btn:disabled{opacity:.4;cursor:not-allowed}
.btn.alt{background:var(--panel2);color:#fff;border:1px solid var(--line)}
.btn.gold{background:var(--gold);color:#1a1200}
.note{color:var(--mut);font-size:12px;margin-top:8px}

.toast{position:fixed;left:50%;top:70px;transform:translate(-50%,-20px);background:#fff;color:#000;font-weight:700;padding:10px 16px;border-radius:12px;opacity:0;pointer-events:none;transition:.25s;z-index:60}
.toast.show{opacity:1;transform:translate(-50%,0)}

.sub{display:flex;gap:8px;margin-bottom:14px;flex-wrap:wrap}
.panel{background:var(--panel);border:1px solid var(--line);border-radius:18px;padding:16px}
.lineup{margin-bottom:12px}
.lineup .hd{display:flex;justify-content:space-between;margin-bottom:6px;font-weight:700;flex-wrap:wrap;gap:6px}
.win{color:var(--green)}.lose{color:var(--red)}.push{color:var(--gold)}
.lb{width:100%;border-collapse:collapse}
.lb td,.lb th{padding:11px 8px;border-bottom:1px solid var(--line);text-align:left}
.lb th{color:var(--mut);font-size:12px;text-transform:uppercase}
.lb tr.me{background:#0f2a1e}
.lb td:last-child,.lb th:last-child{text-align:right}
.empty{color:var(--mut);text-align:center;padding:40px 0}

.game{display:grid;grid-template-columns:300px 1fr;gap:16px}
.ctrl label{display:block;color:var(--mut);font-size:12px;font-weight:600;margin:12px 0 5px}
.ctrl input[type=number]{width:100%;background:var(--panel2);border:1px solid var(--line);border-radius:10px;padding:10px;font-size:16px}
.ctrl .seg{margin:0}
.stage{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:420px}
canvas{max-width:100%;height:auto;background:#0d141b;border-radius:14px}
.lockers{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;width:min(100%,460px)}
.lk{aspect-ratio:1;border-radius:14px;background:linear-gradient(160deg,#1b4fd8,#12348f);border:2px solid #2f6bff;font-size:28px;display:grid;place-items:center;transition:.15s;position:relative}
.lk:not(:disabled):hover{transform:translateY(-3px);filter:brightness(1.15)}
.lk::before{content:"";position:absolute;top:30%;bottom:30%;left:46%;width:8%;background:#ffffff33;border-radius:3px}
.lk.open{background:#0f2a1e;border-color:var(--green)}
.lk.open::before,.lk.bad::before{display:none}
.lk.bad{background:#3a1018;border-color:var(--red)}
.lk.dim{opacity:.45}
.mult{font-size:34px;font-weight:800;color:var(--green);margin:0 0 12px;text-align:center}
.road{display:flex;gap:6px;width:100%;overflow-x:auto;padding:12px 4px;align-items:flex-end}
.lane{min-width:62px;height:150px;border-radius:12px;background:#1d2631;border:1px solid var(--line);display:flex;flex-direction:column;justify-content:space-between;align-items:center;padding:8px 2px;font-size:12px;font-weight:700;position:relative;background-image:repeating-linear-gradient(#0000 0 14px,#ffffff22 14px 24px);background-size:3px 100%;background-repeat:repeat-y;background-position:center}
.lane.done{border-color:var(--green);color:var(--green)}
.lane.hit{border-color:var(--red);background-color:#3a1018}
.lane .em{font-size:26px;z-index:1}
.lane span.m{background:var(--bg);padding:1px 5px;border-radius:6px;z-index:1}
.hawk{font-size:42px}
.res{margin-top:10px;font-weight:800;min-height:24px}
.curb{width:100%;text-align:center;color:var(--mut);font-size:12px}

@media(max-width:760px){
  .top{flex-wrap:wrap;gap:8px;padding:8px 12px}
  .tabs{order:3;flex:0 0 100%;margin:0;overflow-x:auto}
  .tabs a{white-space:nowrap}
  .bal small{display:none}
  .brand{flex:1}
  .game{grid-template-columns:1fr}
  .stage{min-height:0}
  .num{font-size:32px}
}

/* auth + admin */
body.out #nav,body.out #balbox{display:none}
.auth{max-width:380px;margin:40px auto}
.auth input,.adm input,.adm select{width:100%;background:var(--panel2);border:1px solid var(--line);border-radius:10px;padding:11px;font-size:16px;margin-bottom:10px;color:var(--txt)}
.auth .err{color:var(--red);min-height:20px;font-size:13px;margin-bottom:8px}
.auth .swap{color:var(--mut);text-align:center;margin-top:12px;font-size:13px}
.auth .swap a{color:var(--green);cursor:pointer}
.adm .row{display:flex;gap:8px;align-items:center;flex-wrap:wrap;padding:10px 0;border-top:1px solid var(--line)}
.adm .row .g{flex:1;min-width:200px}
.adm .row input{width:90px;margin:0;padding:7px}
.adm .addf{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px}
.adm .addf input,.adm .addf select{margin:0}
.st{font-size:11px;font-weight:700;padding:2px 8px;border-radius:99px;background:var(--panel2)}
.st.open{color:var(--green)}.st.locked{color:var(--gold)}.st.graded{color:var(--mut)}
.card.locked{opacity:.55}

/* ================= HawkBet theme: color + drama ================= */
:root{--gold2:#f5a623;--teal:#16e0c0;--pink:#ff4fd8;--glowG:0 0 22px #12c26a88;--glowB:0 0 22px #2f6bff88;--glowY:0 0 24px #ffc54288}
body{background:#070b10;overflow-x:hidden}
.bgfx{position:fixed;inset:0;z-index:-1;pointer-events:none;overflow:hidden}
.bgfx i{position:absolute;width:60vmax;height:60vmax;border-radius:50%;filter:blur(90px);opacity:.28;animation:drift 22s ease-in-out infinite alternate}
.bgfx i:nth-child(1){background:#0a8f4e;top:-25vmax;left:-20vmax}
.bgfx i:nth-child(2){background:#1b4fd8;bottom:-30vmax;right:-20vmax;animation-delay:-8s}
.bgfx i:nth-child(3){background:#f5a623;top:30%;left:45%;width:30vmax;height:30vmax;opacity:.1;animation-delay:-14s}
@keyframes drift{to{transform:translate(8vmax,6vmax) scale(1.15)}}
#fx{position:fixed;inset:0;width:100%!important;height:100%!important;max-width:none;pointer-events:none;z-index:70;background:transparent;border-radius:0}

.top{background:rgba(7,11,16,.78);border-bottom:0;box-shadow:0 1px 0 #ffffff10}
.top::after{content:"";position:absolute;left:0;right:0;bottom:-2px;height:2px;background:linear-gradient(90deg,#12c26a,#16e0c0,#2f6bff,#ffc542,#12c26a);background-size:300% 100%;animation:slide 8s linear infinite}
@keyframes slide{to{background-position:300% 0}}
.logo-img{filter:drop-shadow(0 0 10px #12c26a99);transition:transform .4s}
.brand:hover .logo-img{transform:rotate(-8deg) scale(1.08)}
.wordmark{font-size:22px;font-weight:900;letter-spacing:-.5px}
.wordmark b{background:linear-gradient(180deg,#ffe08a,#f5a623);-webkit-background-clip:text;background-clip:text;color:transparent;text-shadow:none;filter:drop-shadow(0 0 8px #ffc54266)}
.tabs a{transition:.2s}
.tabs a.on{background:linear-gradient(135deg,#12c26a33,#2f6bff33);box-shadow:inset 0 0 0 1px #12c26a66;color:#fff}
.bal{background:linear-gradient(135deg,#1a232e,#121a22);border-color:#ffc54255;box-shadow:0 0 18px #ffc54222}
.bal b{color:#ffe08a;transition:color .3s}
.bal.up{animation:balUp .7s}.bal.down{animation:balDown .5s}
@keyframes balUp{30%{transform:scale(1.12);box-shadow:var(--glowG);border-color:#12c26a}}
@keyframes balDown{30%{transform:scale(.94);box-shadow:0 0 18px #ff4d5e88;border-color:var(--red)}}
.banner{background:linear-gradient(90deg,#0a8f4e,#1b4fd8,#7b3cff,#1b4fd8,#0a8f4e);background-size:300% 100%;animation:slide 14s linear infinite;letter-spacing:.2px}

h1{font-size:30px;font-weight:900;letter-spacing:-.8px;background:linear-gradient(90deg,#fff 0%,#9ff5c8 40%,#8fb0ff 75%,#fff 100%);background-size:200% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:slide 10s linear infinite}

.sport{background:linear-gradient(160deg,#151e28,#0f161e);transition:.2s}
.sport:hover{transform:translateY(-2px);border-color:#2f6bff88}
.sport.on{background:linear-gradient(160deg,#0f3a26,#0e2350);border-color:#12c26a;box-shadow:var(--glowG)}
.pill{transition:.2s}.pill:hover{border-color:#ffffff66}
.pill.on{background:linear-gradient(135deg,#ffe08a,#f5a623);color:#1a1200;border-color:transparent;box-shadow:var(--glowY)}

.card{background:linear-gradient(#131a22,#0f151c) padding-box,linear-gradient(160deg,#2a3a4d,#1a2430 50%,#2a3a4d) border-box;border:1px solid transparent;transition:transform .2s,box-shadow .2s;overflow:hidden}
.card::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 50% -20%,#12c26a22,transparent 60%);pointer-events:none}
.card:hover{transform:translateY(-4px);box-shadow:0 14px 30px #0008,0 0 0 1px #2f6bff55}
.card.sel{background:linear-gradient(#10221a,#0f151c) padding-box,linear-gradient(160deg,#12c26a,#16e0c0,#2f6bff) border-box;box-shadow:var(--glowG);animation:selPulse 2s ease-in-out infinite}
@keyframes selPulse{50%{box-shadow:0 0 34px #12c26aaa}}
.card .logo{background:url(logo.svg) center/70% no-repeat,radial-gradient(circle,#1d2a3a,#0d141b);font-size:0;box-shadow:0 0 0 2px #ffc54255,0 0 20px #2f6bff44}
.card .num{background:linear-gradient(180deg,#fff,#b9c7d6);-webkit-background-clip:text;background-clip:text;color:transparent}
.card.sel .num{background:linear-gradient(180deg,#ffe08a,#f5a623);-webkit-background-clip:text;background-clip:text}
.mm button{transition:.15s}
.mm button[data-d=more]:hover{border-color:#12c26a;box-shadow:var(--glowG)}
.mm button[data-d=less]:hover{border-color:#2f6bff;box-shadow:var(--glowB)}
.mm button[data-d=less].on{background:linear-gradient(135deg,#2f6bff,#5b8cff);color:#fff;border-color:#2f6bff;box-shadow:var(--glowB)}
.mm button[data-d=more].on{background:linear-gradient(135deg,#12c26a,#16e0c0);box-shadow:var(--glowG)}

.btn{position:relative;overflow:hidden;background:linear-gradient(135deg,#12c26a,#16e0c0);box-shadow:0 6px 20px #12c26a44;transition:transform .12s,box-shadow .2s}
.btn:not(:disabled):hover{transform:translateY(-1px);box-shadow:0 10px 28px #12c26a77}
.btn:not(:disabled):active{transform:translateY(1px) scale(.99)}
.btn::after{content:"";position:absolute;top:0;left:-60%;width:40%;height:100%;background:linear-gradient(100deg,transparent,#ffffff66,transparent);transform:skewX(-20deg);animation:shine 3.2s ease-in-out infinite}
@keyframes shine{0%,60%{left:-60%}100%{left:130%}}
.btn.gold{background:linear-gradient(135deg,#ffe08a,#f5a623);box-shadow:0 6px 22px #ffc54266;animation:goldPulse 1.4s ease-in-out infinite}
@keyframes goldPulse{50%{box-shadow:0 0 36px #ffc542cc}}
.btn.alt{background:var(--panel2)}
.slipbar button{background:linear-gradient(135deg,#12c26a,#16e0c0);box-shadow:0 8px 30px #12c26a66;animation:goldPulse 2s ease-in-out infinite}
.slip{background:linear-gradient(180deg,#16202b,#10161d);border-color:#2f6bff55;box-shadow:0 -20px 60px #000c,0 0 40px #2f6bff33;animation:rise .25s ease-out}
@keyframes rise{from{transform:translate(-50%,40px);opacity:0}}
.pay span:last-child{color:#ffe08a;text-shadow:var(--glowY)}
.toast{background:linear-gradient(135deg,#ffe08a,#f5a623);box-shadow:var(--glowY)}
.panel{background:linear-gradient(160deg,#141c25,#0f151c);border-color:#22303e}
.win{color:#19e58a;text-shadow:0 0 12px #12c26a88}.lose{color:#ff5d6c;text-shadow:0 0 12px #ff4d5e66}
.res{font-size:18px}.res span{display:inline-block;animation:pop .45s cubic-bezier(.2,1.6,.4,1)}
@keyframes pop{from{transform:scale(.4);opacity:0}}
.lb tr{transition:background .2s}.lb tr:hover{background:#ffffff08}
.lb tr:nth-child(2) td:first-child{color:#ffd24a;font-weight:900;text-shadow:var(--glowY)}
.lb tr:nth-child(3) td:first-child{color:#d6e2ee;font-weight:800}
.lb tr:nth-child(4) td:first-child{color:#e0965a;font-weight:800}

/* arcade */
.mult{font-size:44px;font-weight:900;background:linear-gradient(180deg,#9ff5c8,#12c26a);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 0 12px #12c26a88)}
.mult.bump{animation:bump .35s}
@keyframes bump{40%{transform:scale(1.25)}}
canvas#cv{background:radial-gradient(ellipse at 50% 0%,#12305a,#0b1118 70%);box-shadow:inset 0 0 40px #000}
.lk{background:linear-gradient(160deg,#2f6bff,#12348f);box-shadow:0 4px 0 #0b2160,0 0 14px #2f6bff44;border:1px solid #5b8cff}
.lk:not(:disabled):hover{transform:translateY(-4px) rotate(-1deg);box-shadow:0 8px 0 #0b2160,0 0 24px #5b8cffaa}
.lk.open{background:radial-gradient(circle,#1d6b45,#0f2a1e);border-color:#12c26a;box-shadow:0 0 22px #12c26a99;animation:flipIn .35s}
.lk.bad{background:radial-gradient(circle,#7a1825,#3a1018);box-shadow:0 0 26px #ff4d5ecc;animation:flipIn .35s}
@keyframes flipIn{from{transform:rotateY(90deg)}}
.lane{background-color:#18212b}
.lane.done{background-color:#0f2a1e;box-shadow:0 0 14px #12c26a55}
.lane.hit{animation:shake .4s;box-shadow:0 0 24px #ff4d5ecc}
.shake{animation:shake .45s}
@keyframes shake{20%{transform:translateX(-8px)}40%{transform:translateX(7px)}60%{transform:translateX(-5px)}80%{transform:translateX(3px)}}
.flash-win{animation:flashWin .8s}
@keyframes flashWin{20%{box-shadow:0 0 0 3px #ffc542,0 0 60px #ffc542aa}}

@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}}

/* ================= new arcade games + bank ================= */
.duo,.trio{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:8px}.trio{grid-template-columns:repeat(3,1fr)}
.btn.blue{background:linear-gradient(135deg,#2f6bff,#5b8cff);color:#fff;box-shadow:0 6px 20px #2f6bff55}
.btn.blue:not(:disabled):hover{box-shadow:0 10px 28px #2f6bff88}
.stats{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:12px 0}
.stats div{background:var(--panel2);border:1px solid var(--line);border-radius:10px;padding:8px 10px}
.stats small{display:block;color:var(--mut);font-size:11px}.stats b{font-size:17px;color:#ffe08a}
.pips{display:flex;gap:6px;margin-top:16px}.pips i{width:16px;height:16px;border-radius:50%;background:#1d2733;border:1px solid #2a3a4d}
.pips i.on{background:radial-gradient(circle,#ffe08a,#f5a623);box-shadow:var(--glowY);border-color:#ffc542}
.mult.lost{background:linear-gradient(180deg,#ff9aa4,#ff4d5e);-webkit-background-clip:text;background-clip:text;filter:drop-shadow(0 0 12px #ff4d5e88)}
.mutecell{color:var(--mut)}

/* coin */
.flipcoin{width:170px;height:170px;position:relative;transform-style:preserve-3d;transition:transform 1.1s cubic-bezier(.2,.8,.25,1);margin:6px 0}
.flipcoin .face{position:absolute;inset:0;border-radius:50%;backface-visibility:hidden;display:grid;place-items:center;border:6px solid #f5a623;box-shadow:0 0 30px #ffc54266,inset 0 0 20px #0006}
.flipcoin .front{background:radial-gradient(circle at 35% 30%,#1fe08a,#0a8f4e 60%,#06582f)}.flipcoin .front img{width:62%}
.flipcoin .back{background:radial-gradient(circle at 35% 30%,#5b8cff,#1b4fd8 60%,#0b2a6b);transform:rotateY(180deg);font-size:64px;font-weight:900;color:#ffe08a;text-shadow:0 3px 0 #0006}

/* dice scoreboard */
.board{background:#05080b;border:3px solid #2a3a4d;border-radius:14px;padding:12px 26px 16px;text-align:center;box-shadow:inset 0 0 30px #000,0 0 30px #2f6bff33}
.board small{color:#ffc542;letter-spacing:3px;font-weight:800;font-size:11px}
.led{font:800 64px/1 ui-monospace,Menlo,monospace;color:#ff9f1a;text-shadow:0 0 12px #ff9f1aaa;letter-spacing:2px}
.led.good{color:#19e58a;text-shadow:0 0 16px #12c26acc}.led.bad{color:#ff4d5e;text-shadow:0 0 16px #ff4d5ecc}
.track{position:relative;width:100%;max-width:460px;height:14px;border-radius:99px;background:#3a1018;margin:28px 0 6px;box-shadow:inset 0 0 0 1px #ff4d5e55}
.zone{position:absolute;top:0;bottom:0;border-radius:99px;background:linear-gradient(90deg,#12c26a,#16e0c0);box-shadow:var(--glowG);transition:.2s}
.mark{position:absolute;top:-30px;transform:translateX(-50%);background:#fff;color:#000;font-weight:800;font-size:12px;padding:2px 6px;border-radius:6px;transition:left .35s cubic-bezier(.2,1.4,.4,1)}
.mark::after{content:"";position:absolute;left:50%;bottom:-6px;margin-left:-5px;border:5px solid transparent;border-top-color:#fff}
.ticks{display:flex;justify-content:space-between;width:100%;max-width:460px;color:var(--mut);font-size:11px}

/* limbo field */
.field{position:relative;width:100%;max-width:520px;height:170px;border-radius:14px;margin:8px 0;overflow:hidden;
  background:repeating-linear-gradient(90deg,#0d6b3a 0 10%,#0f7a42 10% 20%);box-shadow:inset 0 0 40px #0008}
.field::before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(90deg,transparent 0 calc(10% - 2px),#ffffff55 calc(10% - 2px) 10%)}
.ball{position:absolute;left:8%;bottom:20px;font-size:34px;transform:translateX(-50%) rotate(-30deg);filter:drop-shadow(0 6px 4px #0008)}
.goal{position:absolute;top:0;bottom:0;width:4px;background:#ffc542;box-shadow:var(--glowY)}
.goal::after{content:"🎯";position:absolute;top:6px;left:-10px}

/* slots */
.paytable{display:grid;gap:4px;margin-top:14px;font-size:13px}
.paytable div{display:flex;justify-content:space-between;background:var(--panel2);border-radius:8px;padding:5px 9px}.paytable b{color:#ffe08a}
.slotbox{position:relative;padding:18px;border-radius:22px;background:linear-gradient(160deg,#f5a623,#ffe08a 30%,#f5a623 60%,#b26b00);box-shadow:0 0 40px #ffc54255}
.reels{display:flex;gap:10px;background:#05080b;padding:14px;border-radius:14px}
.reel{width:88px;height:110px;border-radius:10px;background:linear-gradient(180deg,#cfd8e3,#fff 40%,#fff 60%,#cfd8e3);display:grid;place-items:center;font-size:56px;box-shadow:inset 0 0 12px #0006}
.reel.spinning{filter:blur(2px);animation:reelShake .12s linear infinite}
@keyframes reelShake{50%{transform:translateY(4px)}}
.slotline{position:absolute;left:24px;right:24px;top:50%;height:2px;background:#ff4d5e88;pointer-events:none}

/* roulette */
.chips{display:flex;gap:6px;flex-wrap:wrap}
.chipb{width:40px;height:40px;border-radius:50%;font-weight:800;font-size:12px;background:radial-gradient(circle,#1b4fd8 55%,#fff 56% 62%,#1b4fd8 63%);border:2px dashed #fff8}
.chipb.on{background:radial-gradient(circle,#f5a623 55%,#fff 56% 62%,#f5a623 63%);color:#1a1200;box-shadow:var(--glowY)}
.rtable{margin-top:12px}
.rgrid{display:grid;grid-template-columns:repeat(6,1fr);gap:4px;margin:4px 0}
.rout{display:grid;grid-template-columns:repeat(3,1fr);gap:4px}
.rc{position:relative;padding:7px 0;border-radius:7px;font-weight:800;font-size:13px;border:1px solid #ffffff22;background:var(--panel2);width:100%}
.rc.green{background:#0f7a42}.rc.blue{background:#1b4fd8}.rc.gold{background:#b8790f;color:#fff}
.rc:hover{filter:brightness(1.25)}
.rc.bet{box-shadow:0 0 0 2px #ffc542,0 0 12px #ffc54288}
.rc.bet::after{content:attr(data-amt);position:absolute;top:-7px;right:-4px;background:#ffc542;color:#1a1200;font-size:10px;border-radius:99px;padding:0 5px;line-height:15px}
.wheelwrap{position:relative;width:min(300px,80vw);aspect-ratio:1}
.wheel{position:absolute;inset:0;border-radius:50%;border:8px solid #f5a623;box-shadow:0 0 40px #ffc54266,inset 0 0 30px #0008;transition:transform 3.2s cubic-bezier(.12,.75,.15,1)}
.pointer{position:absolute;top:-18px;left:50%;transform:translateX(-50%);z-index:2;color:#fff;font-size:26px;text-shadow:0 0 10px #000}
.hub{position:absolute;inset:32%;border-radius:50%;background:radial-gradient(circle,#1a232e,#05080b);border:3px solid #f5a623;display:grid;place-items:center;z-index:1}
.hub img{width:70%}.hub b{font-size:42px;font-weight:900}.hub b.green{color:#19e58a}.hub b.blue{color:#6f9bff}.hub b.gold{color:#ffc542}

/* rps */
.vs{display:flex;align-items:center;gap:22px;text-align:center}.vs>b{font-size:26px;font-weight:900;color:#ffc542;text-shadow:var(--glowY)}
.vs small{color:var(--mut);font-weight:700}
.hand{font-size:80px;line-height:1.2}.hand.flip{transform:scaleX(-1)}
.hand.pump{animation:pump .3s ease-in-out 3}.hand.flip.pump{animation-name:pumpF}
@keyframes pump{50%{transform:translateY(-22px) rotate(-12deg)}}@keyframes pumpF{0%,100%{transform:scaleX(-1)}50%{transform:scaleX(-1) translateY(-22px) rotate(-12deg)}}

/* blackjack */
.bjtable{width:100%;max-width:560px;perspective:1100px;padding:6px 0 10px}
.felt{width:100%;max-width:560px;border-radius:120px 120px 26px 26px;padding:24px 16px 20px;position:relative;
  background:radial-gradient(ellipse at 50% 22%,#1da35c 0,#0f7a43 38%,#0a5a32 72%,#063d22);
  border:9px solid transparent;background-clip:padding-box;
  box-shadow:0 0 0 9px #7a4a16,0 0 0 11px #3b2208,0 0 0 13px #c89b4a55,inset 0 0 70px #000b,inset 0 -18px 40px #0007,0 26px 40px -10px #000c,0 0 36px #12c26a33;
  display:flex;flex-direction:column;align-items:center;gap:10px;transform:rotateX(9deg);transform-origin:50% 100%;transform-style:preserve-3d;transition:box-shadow .5s}
.felt::before{content:"";position:absolute;inset:6px;border-radius:112px 112px 20px 20px;border:2px dashed #ffffff22;pointer-events:none}
.felt::after{content:"";position:absolute;inset:0;border-radius:inherit;background:radial-gradient(ellipse 60% 45% at 50% 0,#fff3,transparent 70%);pointer-events:none}
.felt.glow-win{box-shadow:0 0 0 9px #7a4a16,0 0 0 11px #3b2208,0 0 0 13px #19e58a99,inset 0 0 70px #000b,0 26px 40px -10px #000c,0 0 46px #19e58a88}
.felt.glow-bj{box-shadow:0 0 0 9px #7a4a16,0 0 0 11px #3b2208,0 0 0 13px #ffd24acc,inset 0 0 70px #000b,0 26px 40px -10px #000c,0 0 54px #ffd24a99}
.who2{font-weight:800;color:#e8fff2;display:flex;align-items:center;gap:6px}
.tot{min-width:30px;padding:2px 10px;border-radius:99px;background:#0009;color:#ffe08a;text-align:center;box-shadow:inset 0 0 0 1px #ffffff22;transition:.25s}.tot:empty{opacity:0}
.tot.tw{background:linear-gradient(#ffe08a,#f5a623);color:#2a1a00;box-shadow:0 0 14px #ffc542aa}.tot.bust{background:#c4263a;color:#fff;box-shadow:0 0 14px #ff4d5e88}
.hand2{display:flex;min-height:112px;transform-style:flat;position:relative;z-index:2}
.pc{position:relative;width:72px;height:104px;margin-left:-16px}
.pc:first-child{margin-left:0}
.pc .f,.pc .bk{position:absolute;inset:0;border-radius:10px}
.pc .f{background:linear-gradient(155deg,#fff,#eef2fb 60%,#d6deef);color:#0f3fb5;box-shadow:0 6px 8px #0009,inset 0 0 0 1px #0002,inset 0 -3px 0 #b7c3de,inset 0 2px 0 #fff;display:grid;grid-template:auto 1fr/auto 1fr;padding:5px 7px;font-weight:900}
.pc .f b{font-size:20px;line-height:1}.pc .f i{font-style:normal;font-size:14px;line-height:1;align-self:start;grid-column:1}
.pc .f b{grid-column:1;grid-row:1}.pc .f i{grid-row:2;grid-column:1;margin-top:-2px}
.pc .f em{font-style:normal;grid-column:1/3;grid-row:1/3;place-self:center end;font-size:38px;line-height:1;opacity:.9;margin-right:2px}
.pc.s1 .f,.pc.s2 .f{color:#0a8f4e}
.pc .bk{display:none;background:repeating-linear-gradient(45deg,#1b4fd8 0 8px,#163fae 8px 16px);border:4px solid #fff;place-items:center;box-shadow:0 6px 8px #0009,inset 0 0 0 2px #0b2a6b}.pc .bk img{width:62%;filter:drop-shadow(0 2px 2px #0006)}
.pc.down .f{display:none}.pc.down .bk{display:grid}
.pc.new{animation:dealIn .5s cubic-bezier(.2,1,.3,1) both;animation-delay:var(--d)}
.pc.flip{animation:holeFlip .62s cubic-bezier(.45,0,.55,1) both;animation-delay:var(--d)}
.pc.flip .bk{display:grid;animation:flipOut .62s step-end both;animation-delay:var(--d)}.pc.flip .f{animation:flipIn .62s step-end both;animation-delay:var(--d)}
@keyframes flipOut{0%{opacity:1}50%,100%{opacity:0}}@keyframes flipIn{0%{opacity:0}50%,100%{opacity:1}}
@keyframes dealIn{from{transform:translate(150px,-130px) rotate(35deg) scale(.7);opacity:0}60%{opacity:1}}
@keyframes holeFlip{0%{transform:perspective(600px) rotateY(0) translateY(0)}50%{transform:perspective(600px) rotateY(90deg) translateY(-10px)}100%{transform:perspective(600px) rotateY(0) translateY(0)}}
.shoe{position:absolute;right:16px;top:12px;width:54px;height:36px;transform:rotate(-8deg);pointer-events:none}
.shoe i{position:absolute;inset:0;border-radius:6px;background:linear-gradient(#1b4fd8,#0b2a6b);border:2px solid #fff;box-shadow:0 3px 6px #0008}.shoe i:nth-child(2){transform:translate(3px,-3px)}.shoe i:nth-child(3){transform:translate(6px,-6px)}
.midrow{display:flex;align-items:center;justify-content:center;gap:22px;width:100%;min-height:62px}
.feltlogo{display:flex;align-items:center;gap:8px;color:#ffffff55;font-weight:900;letter-spacing:4px}.feltlogo img{width:30px;opacity:.6}
.bets{display:flex;align-items:center;gap:8px;min-width:60px;min-height:56px}
.stack{display:flex;flex-direction:column-reverse;align-items:center;height:56px;justify-content:flex-start}
.chip3{display:block;width:44px;height:9px;margin-top:-4px;border-radius:50%;background:var(--c);box-shadow:inset 0 0 0 2px #fff9,inset 0 0 0 4px var(--c),0 2px 0 #0008,0 4px 4px #0006;position:relative}
.chip3::after{content:"";position:absolute;left:12px;right:12px;top:2px;height:3px;border-radius:50%;background:#fff6}
.betamt{color:#ffe08a;font-size:13px;text-shadow:0 1px 2px #000}
.bets.pay-win{animation:payWin .9s ease-in .25s forwards}.bets.pay-lose{animation:payLose .9s ease-in .25s forwards}.bets.pay-push{animation:payPush .6s ease-in .4s forwards}
@keyframes payWin{to{transform:translateY(60px) scale(.7);opacity:0}}@keyframes payLose{to{transform:translateY(-120px) scale(.7);opacity:0}}@keyframes payPush{to{transform:scale(.85);opacity:.35}}
.qchips{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}
.qc{width:44px;height:44px;border-radius:50%;border:3px dashed #fffc;background:var(--c);color:#fff;font-weight:900;font-size:12px;cursor:pointer;box-shadow:0 3px 0 #0008,0 6px 10px #0006,inset 0 0 0 3px var(--c);transition:transform .12s}
.qc:hover{transform:translateY(-3px) rotate(8deg)}.qc:active{transform:translateY(1px)}
.qc.last{width:auto;border-radius:99px;padding:0 12px;background:#26346f;border-style:solid;font-size:12px}
.bjhist{display:flex;gap:5px;flex-wrap:wrap;align-items:center;margin-top:10px}.bjhist:empty{display:none}.bjhist small{color:var(--mut);margin-right:4px}
.bjhist span{min-width:26px;padding:3px 6px;border-radius:8px;text-align:center;font-size:11px;font-weight:900;color:#fff;background:#26346f}
.bjhist .w{background:#12a85a}.bjhist .bj{background:linear-gradient(#ffe08a,#f5a623);color:#2a1a00}.bjhist .l{background:#c4263a}.bjhist .p{background:#6b7791}
@media(max-width:560px){.pc{width:62px;height:90px;margin-left:-18px}.pc .f em{font-size:32px}.felt{transform:rotateX(6deg)}}

/* bank */
.bank{text-align:center;max-width:520px;margin:0 auto}
.bank-logo{width:90px;filter:drop-shadow(0 0 20px #12c26a99);animation:floaty 3s ease-in-out infinite}
@keyframes floaty{50%{transform:translateY(-8px)}}
.bigbal{margin:10px 0 16px}.bigbal small,.bigbal span{display:block;color:var(--mut)}
.bigbal b{display:inline-block;font-size:52px;font-weight:900;background:linear-gradient(180deg,#ffe08a,#f5a623);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 0 14px #ffc54266)}

/* ================= homepage game showcase ================= */
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.car{position:relative;border-radius:22px;overflow:hidden;background:#05080d;box-shadow:0 20px 60px #000a,0 0 0 1px #ffffff14,0 0 40px #2f6bff22;outline:none}
.car:focus-visible{box-shadow:0 0 0 3px #ffc542,0 20px 60px #000a}
.car-stage{position:relative;height:clamp(300px,40vw,430px)}
.car-slide{position:absolute;inset:0;transform:translateX(var(--x,0));transition:opacity .7s ease,transform .7s cubic-bezier(.2,.8,.2,1)}
.car-slide:not(.on){opacity:0;pointer-events:none}
.car-art{position:absolute;inset:0;overflow:hidden}
.car-art svg,.gthumb svg{position:absolute;top:0;right:0;height:100%;width:auto;min-width:100%;transition:transform 6s ease-out}
.car-slide.on .car-art svg{transform:scale(1.06)}
.car-shade{position:absolute;inset:0;background:linear-gradient(90deg,#05080deb 0%,#05080daa 36%,#05080d00 64%),linear-gradient(0deg,#05080dcc 0%,#05080d00 35%)}
.car-copy{position:absolute;left:76px;bottom:46px;max-width:46%}
.car-tag{display:inline-block;font-size:12px;font-weight:800;letter-spacing:.5px;text-transform:uppercase;color:#1a1200;background:linear-gradient(135deg,#ffe08a,#f5a623);padding:4px 10px;border-radius:99px;box-shadow:var(--glowY)}
.car-copy h2{font-size:clamp(30px,4.4vw,50px);font-weight:900;letter-spacing:-1px;line-height:1.02;margin:10px 0 8px;color:#fff;text-shadow:0 4px 24px #000,0 0 30px #12c26a55}
.car-copy p{color:#d3dde8;font-size:16px;margin:0 0 16px;text-shadow:0 2px 10px #000}
.btn.car-play{display:inline-block;width:auto;padding:13px 30px;font-size:17px}
.car-arrow{position:absolute;top:50%;transform:translateY(-50%);width:44px;height:44px;border-radius:50%;font-size:30px;line-height:40px;color:#fff;background:#0a0e13aa;border:1px solid #ffffff33;backdrop-filter:blur(6px);transition:.2s;z-index:2}
.car-arrow:hover,.car-arrow:focus-visible{background:#12c26a;border-color:#12c26a;box-shadow:var(--glowG);outline:none}
.car-arrow.prev{left:12px}.car-arrow.next{right:12px}
.car-dots{position:absolute;left:0;right:0;bottom:14px;display:flex;justify-content:center;gap:7px;z-index:2}
.car-dot{width:9px;height:9px;border-radius:99px;background:#ffffff55;transition:width .3s,background .3s}
.car-dot.on{width:26px;background:linear-gradient(90deg,#ffe08a,#f5a623);box-shadow:var(--glowY)}
.car-dot:focus-visible{outline:2px solid #fff;outline-offset:2px}
.car-bar{position:absolute;left:0;right:0;top:0;height:3px;background:#ffffff14;z-index:2}
.car-bar i{display:block;height:100%;width:0;background:linear-gradient(90deg,#12c26a,#16e0c0,#2f6bff)}
@keyframes carBar{to{width:100%}}

.allg{margin:22px 0 30px}
.allg h2{font-size:20px;font-weight:900;margin:0 0 10px}
.allgames{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(150px,176px);gap:12px;overflow-x:auto;padding:4px 2px 10px;scroll-snap-type:x proximity;scrollbar-width:thin}
.gcard{scroll-snap-align:start;text-align:left;background:linear-gradient(160deg,#141c25,#0f151c);border:1px solid #22303e;border-radius:14px;overflow:hidden;padding:0 0 10px;transition:transform .2s,box-shadow .2s,border-color .2s}
.gcard:hover,.gcard:focus-visible{transform:translateY(-4px);border-color:#12c26a;box-shadow:var(--glowG);outline:none}
.gthumb{position:relative;aspect-ratio:16/9;overflow:hidden;margin-bottom:8px}
.gcard:hover .gthumb svg{transform:scale(1.08);transition-duration:.6s}
.gcard b{display:block;padding:0 10px;font-size:14px}
.gcard small{display:block;padding:0 10px;color:var(--mut);font-size:11px}

@media(max-width:760px){
  .car-stage{height:440px}
  .car-art{bottom:auto;height:58%}
  .car-shade{background:linear-gradient(0deg,#05080d 0%,#05080d 38%,#05080d99 52%,#05080d00 70%)}
  .car-copy{left:18px;right:18px;bottom:40px;max-width:none}
  .car-copy p{font-size:14px}
  .car-arrow{top:29%;width:38px;height:38px;font-size:26px;line-height:34px}
}

/* ================= School Arcade Upgrade ================= */
.sndbtn{font-size:16px;padding:6px 11px}
body.out .sndbtn{margin-left:auto}
/* arcade hub */
.arcnote{display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:space-between;background:linear-gradient(135deg,#12305a55,#0f3a2655);border:1px solid #2f6bff44;border-radius:14px;padding:10px 14px;font-size:13px;color:#d3dde8;margin-bottom:12px}
.luckchip{background:#0f2a1e;border:1px solid #12c26a88;color:#9ff5c8;border-radius:99px;padding:4px 11px;font-weight:700;white-space:nowrap}
.luckchip:hover{box-shadow:var(--glowG)}
.archub{display:grid;gap:10px;margin-bottom:12px}
.hubsec h3{margin:0 0 6px;font-size:13px;color:var(--mut);text-transform:uppercase;letter-spacing:.6px}
.hubrow{display:flex;gap:8px;overflow-x:auto;padding-bottom:4px;scrollbar-width:thin}
.hubchip{display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;column-gap:8px;align-items:center;text-align:left;min-width:150px;padding:8px 12px;border-radius:12px;background:linear-gradient(160deg,#16202b,#10161d);border:1px solid #22303e;transition:.2s}
.hubchip span{grid-row:1/3;font-size:22px}.hubchip b{font-size:13px;white-space:nowrap}.hubchip small{color:#ffe08a;font-size:11px;font-weight:700}
.hubchip:hover,.hubchip:focus-visible{border-color:#ffc542;box-shadow:var(--glowY);transform:translateY(-2px);outline:none}
.cats{margin:4px 0 8px}
.pbbar{display:inline-flex;gap:6px;align-items:center;margin:2px 0 12px;padding:6px 12px;border-radius:99px;background:#2b2410;border:1px solid #ffc54255;color:#ffe08a;font-size:13px}
.pbbar b{color:#fff}
/* top-score lists */
.hs{margin-top:14px}.hs h3{margin:0 0 6px;font-size:14px}
.hs ol{margin:0;padding:0;list-style:none;counter-reset:hs;display:grid;gap:3px}
.hs li{counter-increment:hs;display:flex;gap:8px;justify-content:space-between;background:var(--panel2);border-radius:8px;padding:5px 10px;font-size:13px}
.hs li:not(.mutecell)::before{content:counter(hs);color:var(--mut);width:16px}
.hs li span{flex:1}.hs li.me{background:#0f2a1e;box-shadow:inset 0 0 0 1px #12c26a88}
.pips i.bad{background:radial-gradient(circle,#ff9aa4,#ff4d5e);border-color:#ff4d5e}
/* Bell Rush */
.bellpad{width:min(320px,80vw);aspect-ratio:1;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;
  background:radial-gradient(circle at 40% 35%,#24324a,#0d141d 70%);border:6px solid #2a3a4d;color:#fff;font-size:20px;font-weight:900;transition:transform .1s,background .2s,border-color .2s,box-shadow .2s}
.bellpad .bellemoji{font-size:84px;transition:transform .2s;filter:grayscale(.6)}
.bellpad:not(:disabled):active{transform:scale(.96)}
.bellpad.wait{border-color:#2f6bff;box-shadow:0 0 0 6px #2f6bff22}
.bellpad.ring{background:radial-gradient(circle at 40% 35%,#ffe08a,#f5a623 70%);border-color:#fff;color:#1a1200;box-shadow:0 0 60px #ffc542cc}
.bellpad.ring .bellemoji{filter:none;animation:ring .18s ease-in-out infinite alternate}
@keyframes ring{from{transform:rotate(-16deg)}to{transform:rotate(16deg)}}
.bellpad.good{border-color:#12c26a;box-shadow:0 0 40px #12c26a88}.bellpad.good .bellemoji{filter:none}
.bellpad.bad{border-color:#ff4d5e;box-shadow:0 0 40px #ff4d5e88}
.bellpad.done{border-color:#ffc542;box-shadow:0 0 40px #ffc54288}.bellpad.done .bellemoji{filter:none}
/* Classroom Memory */
.mgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;width:min(100%,440px)}
.mcard{position:relative;aspect-ratio:3/4;perspective:600px;border-radius:12px}
.mcard>span{position:absolute;inset:0;border-radius:12px;display:grid;place-items:center;backface-visibility:hidden;transition:transform .35s ease}
.mback{background:linear-gradient(160deg,#2f6bff,#12348f);border:2px solid #5b8cff;box-shadow:0 4px 0 #0b2160}.mback img{width:55%}
.mface{background:#f3f6fa;font-size:clamp(28px,7vw,40px);transform:rotateY(180deg);border:2px solid #fff}
.mcard.up .mback{transform:rotateY(180deg)}.mcard.up .mface{transform:rotateY(0)}
.mcard:not(:disabled):not(.up):hover .mback{filter:brightness(1.2);box-shadow:0 6px 0 #0b2160,0 0 18px #5b8cffaa}
.mcard.matched .mface{border-color:#12c26a;box-shadow:0 0 18px #12c26a99;background:#e9fff3}
.mcard.nope .mface{border-color:#ff4d5e;animation:shake .4s}
/* Seahawk Trivia */
.tq{width:100%;max-width:560px}
.tboard{background:#163d2a;border:10px solid #7a4a1c;border-radius:12px;padding:22px 18px;min-height:120px;display:grid;place-items:center;text-align:center;box-shadow:inset 0 0 30px #0008}
.tboard h3{margin:0;font-size:20px;color:#f3f6fa;font-family:"Comic Sans MS","Chalkboard SE",system-ui,sans-serif}
.tbar{height:8px;border-radius:99px;background:#1d2733;margin:12px 0;overflow:hidden}
.tbar i{display:block;height:100%;width:100%;background:linear-gradient(90deg,#ff4d5e,#ffc542,#12c26a)}
.tans{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.tbtn{display:flex;gap:10px;align-items:center;text-align:left;padding:12px;border-radius:12px;background:var(--panel2);border:1px solid var(--line);font-weight:700;transition:.15s}
.tbtn span{display:grid;place-items:center;flex:none;width:28px;height:28px;border-radius:50%;background:#1b4fd8;font-weight:900}
.tbtn:not(:disabled):hover,.tbtn:focus-visible{border-color:#2f6bff;box-shadow:var(--glowB);outline:none}
.tbtn.right{border-color:#12c26a;background:#0f2a1e;box-shadow:var(--glowG)}.tbtn.right span{background:#12c26a}
.tbtn.wrong{border-color:#ff4d5e;background:#3a1018;animation:shake .4s}.tbtn.wrong span{background:#ff4d5e}
/* Luck Lab */
.luckinfo{line-height:1.55;margin-bottom:14px;border-color:#12c26a55}
.luckgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:10px}
.luckcard{display:grid;gap:4px;text-align:left;padding:14px;border-radius:14px;background:linear-gradient(160deg,#16202b,#10161d);border:1px solid #22303e;transition:.2s}
.luckcard .le{font-size:30px}.luckcard b{font-size:15px}.luckcard small{color:var(--mut);font-size:12px;line-height:1.35}
.luckcard .lm{font-style:normal;font-size:11px;color:#ffe08a;font-weight:700}
.luckcard:hover,.luckcard:focus-visible{transform:translateY(-3px);border-color:#2f6bff;outline:none}
.luckcard.on{border-color:#12c26a;background:linear-gradient(160deg,#0f3a26,#0e2350);box-shadow:var(--glowG)}
.lucktest{margin-top:14px;text-align:center}.lucktest .btn{display:inline-block;width:auto;padding:12px 28px}
@media(max-width:760px){
  .tans{grid-template-columns:1fr}
  .mgrid{gap:7px}
  .luckgrid{grid-template-columns:1fr 1fr}
  .arcnote{font-size:12px}
}
.lucknote{margin-top:8px;padding:7px 10px;border-radius:10px;background:#0f2a1e;border:1px solid #12c26a66;color:#9ff5c8;font-size:12px;font-weight:700}
.tiers{display:flex;flex-wrap:wrap;gap:5px;margin:10px 0 2px}
.tiers span{background:var(--panel2);border:1px solid var(--line);border-radius:99px;padding:3px 9px;font-size:12px;color:var(--mut)}
.tiers b{color:#ffe08a}

/* no-limit bet box, keyboard hints, big blackjack buttons */
.betrow{display:flex;gap:6px}.betrow input{flex:1;min-width:0}.betrow .chip{min-width:44px}
.keyhint{margin-top:10px;font-size:12px;color:#9fb3c8;background:#0d141b;border:1px dashed #2a3a4d;border-radius:10px;padding:7px 10px}
kbd{display:inline-block;margin-left:6px;padding:1px 6px;border-radius:6px;background:#00000033;border:1px solid #ffffff44;font:700 11px/1.5 ui-monospace,Menlo,monospace;vertical-align:middle}
.pressed{transform:scale(.96)!important;filter:brightness(1.2)}
.btn.bjbig{font-size:20px;padding:16px}
.bjacts{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;width:100%;max-width:560px;margin-top:14px}
.bjacts .btn{display:flex;flex-direction:column;align-items:center;gap:2px;padding:14px 6px 12px;font-size:20px;border-radius:16px;min-height:96px}
.bjacts .btn span{font-size:30px;line-height:1}
.bjacts .btn kbd{margin:4px 0 0;font-size:10px}
.bjacts .btn:disabled{opacity:.35;filter:grayscale(.6)}
.bjdeal2{width:100%;max-width:560px;margin-top:14px}
@media(max-width:760px){.bjacts .btn{min-height:84px;font-size:18px}}

/* ================= decluttered arcade + Seahawk Launch ================= */
.archead{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px;margin-bottom:6px}
.archead h1{margin:0}
.gstrip{display:flex;gap:8px;overflow-x:auto;padding:4px 2px 10px;margin-bottom:6px;scroll-snap-type:x proximity;scrollbar-width:thin}
.gtile{flex:none;scroll-snap-align:start;display:grid;justify-items:center;gap:2px;width:108px;padding:10px 6px;border-radius:14px;background:linear-gradient(160deg,#16202b,#10161d);border:1px solid #22303e;transition:.2s}
.gtile span{font-size:28px;line-height:1.1}.gtile b{font-size:12px;text-align:center;line-height:1.2}.gtile small{font-size:10px;color:var(--mut);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
.gtile:hover,.gtile:focus-visible{border-color:#2f6bff;transform:translateY(-2px);outline:none}
.gtile.on{border-color:#ffc542;background:linear-gradient(160deg,#2b2410,#141c25);box-shadow:var(--glowY)}
.gtile.on small{color:#ffe08a}
.gempty{padding:18px}
.gamehead{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin:4px 0 12px}
.gamehead .ge{font-size:40px}.gamehead .gt{flex:1;min-width:200px}
.gamehead h2{margin:0;font-size:22px}.gamehead small{color:var(--mut)}
.gamehead .pbbar{margin:0}
.arcfoot{margin-top:18px;text-align:center;font-size:12px;color:var(--mut)}
/* rocket */
.rk{position:relative;width:100%;max-width:640px;aspect-ratio:16/9;border-radius:16px;overflow:hidden;background:radial-gradient(ellipse at 70% 10%,#2a1a7a,#07081a 70%);box-shadow:inset 0 0 40px #000}
.rk canvas{position:absolute;inset:0;width:100%;height:100%;background:transparent;border-radius:0}
.rkm{position:absolute;left:0;right:0;top:28%;text-align:center;font-size:clamp(44px,9vw,72px);font-weight:900;color:#fff;text-shadow:0 0 24px #ffc54288;pointer-events:none}
.rkm.cashed{color:#19e58a;text-shadow:0 0 24px #12c26a99}.rkm.boom{color:#ff5d6c;text-shadow:0 0 30px #ff4d5ecc;animation:shake .45s}
.rkst{position:absolute;left:0;right:0;bottom:12px;text-align:center;font-weight:800;font-size:14px;color:#d3dde8}
.rkst.good{color:#19e58a}.rkst.bad{color:#ff5d6c}
.rkhist{display:flex;flex-wrap:wrap;gap:5px;margin-top:10px;justify-content:center}
.rkhist span{font-size:12px;font-weight:800;padding:3px 8px;border-radius:99px;background:var(--panel2)}
.rkhist .good{color:#19e58a}.rkhist .gold{color:#ffc542;box-shadow:inset 0 0 0 1px #ffc54266}.rkhist .bad{color:#ff8a95}

/* ================= HawkBet lobby + game upgrades ================= */
.lucknote.super{background:linear-gradient(135deg,#3a1a05,#2b0f2e);border-color:#ff9f1a99;color:#ffd08a}
/* lobby */
.hero{border-radius:22px;padding:2px;margin-bottom:12px;background:linear-gradient(120deg,#12c26a,#2f6bff,#ffc542,#ff4fd8,#12c26a);background-size:300% 100%;animation:slide 8s linear infinite;box-shadow:0 0 40px #2f6bff33}
.heroin{position:relative;overflow:hidden;background:linear-gradient(135deg,#0e1c2e,#080d14);border-radius:20px;padding:18px 22px;display:flex;flex-wrap:wrap;gap:18px;align-items:center;justify-content:space-between}
.heroin::after{content:"";position:absolute;top:0;left:-40%;width:30%;height:100%;background:linear-gradient(100deg,transparent,#ffffff14,transparent);transform:skewX(-20deg);animation:shine 5s ease-in-out infinite;pointer-events:none}
.heroin small{color:var(--mut)}.heroin h1{margin:0;font-size:32px}
.herobal{text-align:center}.herobal b{display:block;font-size:38px;font-weight:900;background:linear-gradient(180deg,#ffe08a,#f5a623);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 0 14px #ffc54255)}
.herobal span{color:var(--mut);font-size:12px}
.heroact{display:flex;flex-wrap:wrap;gap:8px}.heroact .btn{width:auto;padding:12px 20px;font-size:15px}
.marq{overflow:hidden;white-space:nowrap;border-radius:12px;background:#0b1118;border:1px solid #22303e;margin-bottom:12px}
.marqin{display:inline-block;padding:9px 0;animation:marq 45s linear infinite}
.marqin span{margin-right:44px;font-size:13px;color:#d3dde8}.marq:hover .marqin{animation-play-state:paused}
@keyframes marq{to{transform:translateX(-50%)}}
.statbar{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:14px}
.statbar div{background:linear-gradient(160deg,#141c25,#0f151c);border:1px solid #22303e;border-radius:14px;padding:10px 14px;text-align:center}
.statbar b{display:block;font-size:22px;color:#ffe08a}.statbar small{color:var(--mut);font-size:11px}
.allgames.orig{display:grid;grid-auto-flow:row;grid-template-columns:repeat(auto-fill,minmax(172px,1fr));overflow:visible;gap:14px;padding:4px 2px}
.orig .gcard{position:relative;transition:transform .15s,box-shadow .2s,border-color .2s;transform-style:preserve-3d}
.orig .gcard b{font-size:15px;padding:0 12px}.orig .gcard small{padding:0 12px}
.orig .gcard:hover{box-shadow:0 14px 30px #000a,0 0 24px #12c26a66}
.newb{position:absolute;top:8px;left:8px;z-index:2;font-style:normal;font-size:10px;font-weight:900;letter-spacing:.5px;color:#fff;background:linear-gradient(135deg,#ff4fd8,#7b3cff);padding:2px 8px;border-radius:99px;animation:pulseNew 1.6s ease-in-out infinite}
@keyframes pulseNew{50%{box-shadow:0 0 14px #ff4fd8}}
.lobby2{display:grid;grid-template-columns:1.7fr 1fr;gap:14px;margin-top:6px}
.livepanel h2{margin:0 0 10px;font-size:17px;display:flex;align-items:center;gap:8px}
.livedot{width:10px;height:10px;border-radius:50%;background:#19e58a;box-shadow:0 0 0 0 #19e58a;animation:livePulse 1.6s infinite}
@keyframes livePulse{70%{box-shadow:0 0 0 9px #19e58a00}100%{box-shadow:0 0 0 0 #19e58a00}}
.lbhead,.lbrow{display:grid;grid-template-columns:1.5fr 1fr .9fr .7fr .8fr;gap:6px;padding:7px 8px;font-size:13px;align-items:center}
.lbhead{color:var(--mut);font-size:11px;text-transform:uppercase;letter-spacing:.5px}
.lbrow:nth-child(odd){background:#ffffff08;border-radius:8px}.lbrow span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lbrow .p,.lbrow .m{font-weight:800}
.bigwin{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:9px 10px;border-radius:10px;background:linear-gradient(90deg,#0f2a1e55,transparent);border-left:3px solid #19e58a;margin-bottom:6px}
.bigwin small{display:block;color:var(--mut);font-size:11px}.bigwin .win{text-align:right}.bigwin b{font-size:15px}
/* Locker Hunt drag */
.lockers{touch-action:none;user-select:none;-webkit-user-select:none}
.lk.pend{background:linear-gradient(160deg,#ffc542,#b26b00);border-color:#ffe08a;box-shadow:0 0 18px #ffc54288;transform:scale(.94)}
.dragtip{margin-top:10px;font-size:12px;color:var(--mut)}
/* Seahawk Crossing */
.road{position:relative;gap:8px;padding:16px 10px 12px;min-height:262px;align-items:stretch;scroll-behavior:smooth;background:linear-gradient(#0f151c,#0b1016);border-radius:14px}
.road .lane{min-width:70px;height:210px;flex:none;border-radius:14px;justify-content:flex-start;gap:6px;padding:8px 2px;overflow:hidden}
.road .lane.edge{min-width:84px;background:linear-gradient(160deg,#0f3a26,#0e2350);border-color:#12c26a88;background-image:none;justify-content:center;gap:10px}
.road .lane.edge .em{font-size:38px}.road .lane.edge .m{background:none;color:#9ff5c8}
.road .lane .veh{position:absolute;left:50%;top:50%;margin-left:-16px;margin-top:-16px;font-size:32px;z-index:1;animation:driveDown 2.6s linear infinite}
.road .lane .veh.up{animation-name:driveUp}
@keyframes driveDown{from{transform:translateY(-100px)}to{transform:translateY(100px)}}@keyframes driveUp{from{transform:translateY(100px) scaleY(-1)}to{transform:translateY(-100px) scaleY(-1)}}
.road .lane.next{border-color:#ffc542;box-shadow:0 0 18px #ffc54288}
.road .lane.done .veh{opacity:.25}.road .lane.hit{animation:shake .4s;background-color:#3a1018}
.road .lane .m{position:relative;z-index:2}
.xhawk{position:absolute;bottom:20px;left:0;width:70px;z-index:4;pointer-events:none;filter:drop-shadow(0 6px 4px #0009);transition:left .45s cubic-bezier(.3,.8,.3,1)}
.xhawk.hop{animation:hawkhop .45s ease-out}
@keyframes hawkhop{0%{transform:translateY(0) rotate(0)}45%{transform:translateY(-70px) rotate(-10deg) scale(1.06)}100%{transform:translateY(0) rotate(0)}}
.xhawk.splat{animation:splat .8s ease-in forwards}
@keyframes splat{0%{transform:none;opacity:1}30%{transform:translateY(-50px) rotate(180deg)}100%{transform:translateY(20px) rotate(540deg) scale(.4);opacity:0}}
.xhawk.cheer{animation:cheer .5s ease-in-out 2}@keyframes cheer{50%{transform:translateY(-34px) scale(1.12)}}
.road.crash{animation:shake .5s}
.xacts{display:grid;grid-template-columns:2fr 1fr;gap:10px;width:100%;margin-top:12px}
.xacts #start{grid-column:1/-1}
.xacts .btn.xhop,.xacts .btn.xcash{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-height:100px;font-size:28px;border-radius:18px;font-weight:900}
.xacts .xhop{background:linear-gradient(135deg,#12c26a,#16e0c0);animation:goldPulse 1.4s ease-in-out infinite}
.xacts .btn span{font-size:36px;line-height:1}.xacts .xcash b{font-size:16px}.xacts kbd{font-size:10px}
.xacts .btn:disabled{opacity:.4;animation:none}
/* Heads or Tails coin */
.flipcoin{width:min(240px,62vw);height:min(240px,62vw);margin:10px 0 6px}
.flipcoin.tossing{animation:toss 1.1s ease-in-out}
@keyframes toss{0%{translate:0 0;scale:1}40%{translate:0 -110px;scale:1.25}100%{translate:0 0;scale:1}}
.flipcoin .face{border:0;background:none;box-shadow:0 12px 30px #0009,0 0 30px #ffc54266;border-radius:50%;font-size:0}
.flipcoin .face svg{width:100%;height:100%;display:block}
.flipcoin .front,.flipcoin .back{background:none}
/* Stake-style dice */
.stats3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px;margin:12px 0}
.stats3>div{background:var(--panel2);border:1px solid var(--line);border-radius:10px;padding:6px 8px}
.stats3 small{display:block;color:var(--mut);font-size:11px}.stats3 b{font-size:16px;color:#ffe08a}
.stats3 input{width:100%;background:none;border:0;color:#ffe08a;font-size:16px;font-weight:800;padding:0;outline:none}
.dstage{width:100%;max-width:640px}
.dnum{font:900 clamp(56px,12vw,92px)/1 ui-monospace,Menlo,monospace;text-align:center;color:#cfe0f3;text-shadow:0 0 24px #2f6bff55;margin-bottom:22px;transition:color .2s}
.dnum.rolling{color:#ffe08a;text-shadow:0 0 26px #ffc54299}.dnum.good{color:#19e58a;text-shadow:0 0 34px #12c26acc;animation:bump .4s}.dnum.bad{color:#ff5d6c;text-shadow:0 0 34px #ff4d5ecc}
.dbar{position:relative;height:34px;border-radius:99px;background:#1a222c;margin:34px 0 8px;box-shadow:inset 0 0 0 1px #2a3a4d}
.dbar.flash-g{animation:barG .8s}.dbar.flash-r{animation:barR .8s}
@keyframes barG{30%{box-shadow:0 0 0 3px #19e58a,0 0 44px #12c26a}}@keyframes barR{30%{box-shadow:0 0 0 3px #ff4d5e,0 0 44px #ff4d5e88}}
.dz{position:absolute;top:0;bottom:0;transition:left .15s,width .15s,right .15s}
.dz.lose{background:linear-gradient(90deg,#ff4d5e,#c4263a);border-radius:99px 0 0 99px}.dz.win{background:linear-gradient(90deg,#12c26a,#16e0c0);border-radius:0 99px 99px 0}
.dz.win[style*="left:0"]{border-radius:99px 0 0 99px}.dz.lose[style*="right:0"]{border-radius:0 99px 99px 0}
.dslider{position:absolute;inset:0;width:100%;height:100%;margin:0;appearance:none;-webkit-appearance:none;background:transparent;cursor:grab;z-index:3}
.dslider:active{cursor:grabbing}
.dslider::-webkit-slider-runnable-track{height:34px;background:transparent}
.dslider::-webkit-slider-thumb{-webkit-appearance:none;width:34px;height:34px;border-radius:12px;background:linear-gradient(160deg,#ffe08a,#f5a623);border:3px solid #fff;box-shadow:0 4px 12px #000a,0 0 18px #ffc54299;margin-top:0}
.dslider::-moz-range-track{height:34px;background:transparent}
.dslider::-moz-range-thumb{width:28px;height:28px;border-radius:12px;background:linear-gradient(160deg,#ffe08a,#f5a623);border:3px solid #fff;box-shadow:0 4px 12px #000a,0 0 18px #ffc54299}
.dslider:focus-visible{outline:3px solid #fff8;outline-offset:6px;border-radius:99px}
.dmark{position:absolute;top:-34px;transform:translateX(-50%);z-index:4;pointer-events:none;background:#fff;color:#000;font-weight:900;font-size:13px;padding:3px 9px;border-radius:9px;min-width:30px;text-align:center;transition:left .05s linear}
.dmark::after{content:"";position:absolute;left:50%;bottom:-6px;margin-left:-6px;border:6px solid transparent;border-top-color:#fff}
.dmark.scan{opacity:.75}.dmark.scan::before{content:"🎲"}
.dmark.land{animation:landPop .5s cubic-bezier(.2,1.8,.4,1);transition:left .35s cubic-bezier(.2,1.4,.4,1)}.dmark.land.good{background:#19e58a}.dmark.land.good::after{border-top-color:#19e58a}.dmark.land.bad{background:#ff5d6c;color:#fff}.dmark.land.bad::after{border-top-color:#ff5d6c}
@keyframes landPop{from{transform:translate(-50%,-40px) scale(.5)}}
.dhist{display:flex;flex-wrap:wrap;gap:5px;margin-top:14px;justify-content:center;min-height:26px}
.dhist span{font-size:12px;font-weight:800;padding:3px 9px;border-radius:99px;background:var(--panel2)}.dhist .good{color:#19e58a;box-shadow:inset 0 0 0 1px #12c26a66}.dhist .bad{color:#ff8a95}
/* bigger roulette */
.game.wide{grid-template-columns:minmax(330px,430px) 1fr}
.wheelwrap.big{width:min(560px,94vw);margin:6px auto}
.wheel{overflow:visible;border-width:10px;transition:transform 3.5s cubic-bezier(.12,.75,.15,1)}
.wnums{position:absolute;inset:0;pointer-events:none}
.wnums span{position:absolute;left:50%;top:50%;width:0;height:0;display:grid;place-items:center;font-weight:900;color:#fff;text-shadow:0 1px 2px #000a;transform-origin:0 0}
.wnums span::after{display:none}
.wring{position:absolute;inset:23%;border-radius:50%;border:4px solid #f5a623;box-shadow:inset 0 0 40px #000c,0 0 14px #000;background:radial-gradient(circle,#0a1018 60%,#16203000 62%)}
.ballwrap{position:absolute;inset:0;z-index:3;pointer-events:none;transition:transform 3.5s cubic-bezier(.12,.75,.15,1)}
.rball{position:absolute;left:50%;top:5.5%;width:3.2%;aspect-ratio:1;margin-left:-1.6%;border-radius:50%;background:radial-gradient(circle at 35% 30%,#fff,#cfd8e3 60%,#8a97a8);box-shadow:0 2px 6px #000c}
.hub{inset:33%}.hub b{font-size:clamp(32px,7vw,56px)}
.rhist{display:flex;flex-wrap:wrap;gap:6px;justify-content:center;margin-top:12px}
.rhist span{min-width:30px;text-align:center;font-weight:900;font-size:13px;padding:4px 8px;border-radius:8px;color:#fff}
.rhist .green{background:#0f7a42}.rhist .blue{background:#1b4fd8}.rhist .gold{background:#b8790f}
.rgrid{gap:5px}.rc{padding:10px 0;font-size:14px}
/* rocket */
.cashbig{animation:goldPulse .9s ease-in-out infinite;font-size:22px}
.cashbig:disabled{animation:none;opacity:.5}
.rk{max-width:760px}
/* luck lab */
.luckcard.super{border-color:#ff9f1a77;background:linear-gradient(160deg,#2b1708,#1a0f2e)}
.luckcard.super.on{border-color:#ffc542;box-shadow:0 0 28px #ff9f1a99;animation:selPulse 1.6s ease-in-out infinite}
.superhead{margin:22px 0 10px;padding:14px 16px;border-radius:16px;background:linear-gradient(135deg,#3a1a05,#2b0f2e);border:1px solid #ff9f1a66}
.superhead h2{margin:0 0 6px;background:linear-gradient(90deg,#ffe08a,#ff9f1a,#ff4fd8);-webkit-background-clip:text;background-clip:text;color:transparent}
.superhead p{margin:4px 0;color:#f0d8c0;line-height:1.5}.superhead .supnote{color:#ffd08a;font-size:13px}
.supergrid{grid-template-columns:repeat(3,1fr)}
@media(max-width:760px){
  .lobby2{grid-template-columns:1fr}.statbar b{font-size:18px}.heroin h1{font-size:26px}.herobal b{font-size:30px}
  .lbhead,.lbrow{grid-template-columns:1.3fr 1fr .8fr .7fr;font-size:12px}.lbhead span:nth-child(5),.lbrow .p{display:none}
  .game.wide{grid-template-columns:1fr}.supergrid{grid-template-columns:1fr}.stats3 b{font-size:14px}.road .lane{min-width:62px}
  .xacts .btn.xhop,.xacts .btn.xcash{min-height:88px;font-size:24px}
}
.dticks{display:flex;justify-content:space-between;padding:0 12px;color:var(--mut);font-size:11px;font-weight:700}
/* grid children may shrink (the road and wide stages scroll inside themselves) */
.game{grid-template-columns:300px minmax(0,1fr)}.game.wide{grid-template-columns:minmax(330px,430px) minmax(0,1fr)}
.game>*{min-width:0}.road,.stage>*{max-width:100%}
@media(max-width:760px){.game,.game.wide{grid-template-columns:minmax(0,1fr)}}

/* ================= Seahawk Slots: the machine ================= */
.game.wide2{grid-template-columns:minmax(290px,350px) minmax(0,1fr)}
.slotm{--t:clamp(60px,17.5vw,96px);position:relative;width:100%;max-width:520px;margin:0 auto}
.smarq{position:relative;text-align:center;padding:10px 12px 8px;border-radius:22px 22px 6px 6px;background:linear-gradient(180deg,#3b1670,#1a0d3a);border:3px solid #ffc542;box-shadow:0 0 30px #ff4fd855,inset 0 0 20px #0008}
.smarq h3{margin:4px 0 2px;font-size:clamp(20px,5.4vw,30px);font-weight:900;letter-spacing:3px;color:#fff;text-shadow:0 0 14px #ff4fd8,0 0 28px #7b3cff}
.smarq h3 b{background:linear-gradient(180deg,#ffe08a,#f5a623);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 0 10px #ffc542aa)}
.sjack{display:inline-block;margin-top:2px;padding:2px 14px;border-radius:99px;background:#1b0a1e;border:1px solid #ff4fd8;color:#ffe08a;font-weight:900;font-size:13px;letter-spacing:1px;animation:jackGlow 1.6s ease-in-out infinite}
@keyframes jackGlow{50%{box-shadow:0 0 18px #ff4fd8;color:#fff}}
.sbulbs{display:flex;justify-content:space-between;padding:0 2px 4px}
.sbulbs i{width:9px;height:9px;border-radius:50%;background:#ffe08a;box-shadow:0 0 8px #ffc542;animation:bulb 1.6s ease-in-out infinite;animation-delay:calc(var(--k) * .07s)}
.sbulbs i:nth-child(3n){background:#ff4fd8;box-shadow:0 0 8px #ff4fd8}.sbulbs i:nth-child(3n+1){background:#19e58a;box-shadow:0 0 8px #19e58a}
@keyframes bulb{0%,100%{opacity:.25;transform:scale(.8)}50%{opacity:1;transform:scale(1.15)}}
.slotm.spinning .sbulbs i{animation-duration:.7s}.slotm.hot .sbulbs i,.slotm.frenzy .sbulbs i{animation-duration:.25s}
.scab{position:relative;display:flex;align-items:flex-start;gap:6px;padding:10px 8px 14px 10px;border-radius:6px 6px 22px 22px;background:linear-gradient(160deg,#1b4fd8,#0a8f4e 55%,#1b4fd8);border:3px solid #ffc542;border-top:0;box-shadow:0 0 36px #2f6bff55,inset 0 0 24px #0009}
.slotm.frenzy .scab,.slotm.frenzy .smarq{animation:frenzy .35s linear infinite}
@keyframes frenzy{0%{box-shadow:0 0 40px #ff4fd8}33%{box-shadow:0 0 46px #ffc542}66%{box-shadow:0 0 40px #19e58a}100%{box-shadow:0 0 46px #5b8cff}}
.swin{position:relative;flex:none;padding:8px;border-radius:14px;background:#05070d;box-shadow:inset 0 0 0 3px #ffc542,inset 0 0 24px #000;overflow:hidden}
.swin::after{content:"";position:absolute;inset:0;pointer-events:none;border-radius:14px;background:linear-gradient(115deg,#ffffff22 0%,#ffffff00 28%,#ffffff00 70%,#ffffff12 100%)}
.sreels{display:flex;gap:6px}
.sreel{position:relative;width:var(--t);height:calc(var(--t) * 3);overflow:hidden;border-radius:10px;background:#0b0f18;box-shadow:inset 0 0 16px #000}
.sreel::before,.sreel::after{content:"";position:absolute;left:0;right:0;height:26%;z-index:2;pointer-events:none}
.sreel::before{top:0;background:linear-gradient(#000b,#0000)}.sreel::after{bottom:0;background:linear-gradient(#0000,#000b)}
.sstrip{will-change:transform}
.stile{position:relative;height:var(--t);display:grid;place-items:center;font-size:calc(var(--t) * .56);border:2px solid #0006;border-radius:12px;box-shadow:inset 0 3px 0 #fff4,inset 0 -6px 12px #0005;transition:filter .3s,opacity .3s,transform .3s}
.stile span{filter:drop-shadow(0 3px 2px #0008);line-height:1}
.stile em{position:absolute;bottom:3px;font:900 9px/1 sans-serif;letter-spacing:1px;color:#fff;background:#0a8f4e;padding:1px 5px;border-radius:99px;box-shadow:0 0 8px #19e58a}
.s-trophy{background:linear-gradient(160deg,#fff0a8,#f2b600 55%,#a86a00)}.s-hawk{background:linear-gradient(160deg,#4cf09b,#0a8f4e 60%,#06582f)}
.s-football{background:linear-gradient(160deg,#e08a4c,#8a3a12)}.s-volley{background:linear-gradient(160deg,#8fb0ff,#1b4fd8 60%,#0b2a6b)}
.s-bball{background:linear-gradient(160deg,#ffb36b,#e0701a 60%,#8a3a00)}.s-bus{background:linear-gradient(160deg,#fff08a,#e0b400 60%,#8a6a00)}
.s-pass{background:linear-gradient(160deg,#ff9ae0,#c2399e 60%,#6a1257)}
.sreel.blur .stile{filter:blur(3px) saturate(1.5) brightness(1.1)}
.sreel.blur{box-shadow:inset 0 0 16px #000,0 0 18px #5b8cff88}
.sreel.thud{animation:thud .26s ease-out}@keyframes thud{40%{transform:translateY(5px)}}
.sreel.tease{box-shadow:inset 0 0 16px #000,0 0 0 3px #ffc542,0 0 34px #ffc542;animation:tease .35s ease-in-out infinite}
@keyframes tease{50%{box-shadow:inset 0 0 16px #000,0 0 0 3px #ff4fd8,0 0 40px #ff4fd8}}
.stile.hit{animation:tileHit .55s ease-in-out infinite;z-index:1;border-color:#fff;box-shadow:0 0 22px #ffe08a,inset 0 3px 0 #fff6}
@keyframes tileHit{50%{transform:scale(1.1);filter:brightness(1.25)}}
.stile.dim{opacity:.35;filter:grayscale(.6)}
.slines{position:absolute;inset:8px;width:calc(100% - 16px);height:calc(100% - 16px);pointer-events:none;z-index:3}
.slines polyline{fill:none;stroke-width:.07;stroke-linecap:round;stroke-linejoin:round;opacity:0;filter:drop-shadow(0 0 .06px currentColor)}
.slines polyline.on{opacity:.95;stroke-dasharray:3.6;animation:lineDraw .5s ease-out forwards,linePulse .7s ease-in-out .5s infinite}
@keyframes lineDraw{from{stroke-dashoffset:3.6}to{stroke-dashoffset:0}}@keyframes linePulse{50%{opacity:.45}}
.swinfx{position:absolute;inset:0;z-index:5;pointer-events:none;overflow:hidden;border-radius:14px}
.coinf{position:absolute;top:-30px;font-style:normal;animation:coinFall 1.6s ease-in forwards}
@keyframes coinFall{to{transform:translateY(calc(var(--t) * 3.8)) rotate(540deg);opacity:.9}}
.sbanner{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%) scale(.3);opacity:0;display:flex;flex-direction:column;align-items:center;gap:2px;padding:12px 26px;border-radius:18px;text-align:center;white-space:nowrap;background:linear-gradient(160deg,#2b1250ee,#0b1233ee);border:3px solid #ffc542;box-shadow:0 0 50px #ffc542aa;transition:transform .45s cubic-bezier(.2,1.7,.4,1),opacity .2s}
.sbanner.show{opacity:1;transform:translate(-50%,-50%) scale(1)}
.sbanner small{color:#cfe0f3;font-size:11px;letter-spacing:2px;text-transform:uppercase}.sbanner b{font-size:clamp(20px,5vw,30px);font-weight:900;letter-spacing:2px;color:#ffe08a;text-shadow:0 0 18px #ffc542}
.sbanner strong{font-size:clamp(28px,7vw,44px);font-weight:900;color:#fff;text-shadow:0 0 22px #19e58a}.sbanner span{position:absolute;right:10px;bottom:10px;font-size:18px}
.sbanner.jackpot{animation:jackBanner .5s ease-in-out infinite alternate;border-color:#ff4fd8;box-shadow:0 0 70px #ff4fd8}.sbanner.jackpot b{font-size:clamp(15px,4vw,22px);background:linear-gradient(90deg,#ffe08a,#ff4fd8,#5b8cff,#19e58a);-webkit-background-clip:text;background-clip:text;color:transparent}
@keyframes jackBanner{to{transform:translate(-50%,-50%) scale(1.07)}}
.sbanner.mega{border-color:#ff4fd8}.sbanner.big{border-color:#ff9f1a}
/* the lever */
.slast{display:flex;flex-wrap:wrap;gap:5px;justify-content:center;min-height:24px;margin-top:10px}
.slast span{font-size:12px;font-weight:800;padding:3px 9px;border-radius:99px;background:var(--panel2)}.slast .good{color:#19e58a}.slast .gold{color:#ffc542;box-shadow:inset 0 0 0 1px #ffc54299}.slast .meh{color:#cfe0f3}.slast .bad{color:#ff8a95}
.ptnote{background:#0f2a1e!important;border:1px solid #12c26a66}
@media(max-width:760px){.game.wide2{grid-template-columns:minmax(0,1fr)}.slotm{--t:clamp(56px,17vw,84px)}}
.scab{justify-content:center;gap:14px;padding-right:16px}.slotm{max-width:440px}
.sbanner.win,.sbanner.nice{top:19%}.sbanner.win{padding:6px 18px}.sbanner.win strong{font-size:clamp(22px,5vw,32px)}
.sbanner{white-space:normal;max-width:94%;width:max-content}.sbanner b{line-height:1.15}

/* ================= lever (SVG) ================= */
.shandle{position:relative;flex:none;width:72px;height:calc(var(--t) * 3 + 30px);margin-right:0}
.lsvg{position:absolute;inset:0;width:100%;height:100%;overflow:visible;touch-action:none;filter:drop-shadow(0 6px 5px #0007)}
.lball{cursor:grab;outline:none}.lball:active,.shandle.dragging .lball{cursor:grabbing}
.lball:focus-visible .lrim{stroke:#fff}
.shandle.locked .lball{filter:grayscale(.55) brightness(.85);cursor:not-allowed}
.hhint{position:absolute;left:-2px;right:6px;bottom:-6px;text-align:center;font-size:10px;font-weight:900;letter-spacing:1px;color:#ffe08a;text-shadow:0 0 8px #000;animation:hintPulse 1.8s ease-in-out infinite}
@keyframes hintPulse{50%{opacity:.45}}
.shandle.locked .hhint,.shandle.dragging .hhint{opacity:0;animation:none}
.scab{transition:transform .14s ease-out}.slotm.kick .scab{transform:translateY(3px)}
.smarq,.scab{z-index:1}
/* ================= performance pass: only transform and opacity animate forever ================= */
@keyframes shine{0%,60%{transform:translateX(-170%) skewX(-20deg)}100%{transform:translateX(430%) skewX(-20deg)}}
.btn::after{left:0;width:40%;transform:translateX(-170%) skewX(-20deg)}
.heroin::after{left:0;width:30%;transform:translateX(-170%) skewX(-20deg)}
.top::after,.banner,h1,.hero{animation:none}
@keyframes goldPulse{50%{transform:scale(1.03)}}
@keyframes selPulse{50%{transform:scale(1.012)}}
@keyframes jackGlow{50%{transform:scale(1.06)}}
@keyframes tease{50%{transform:scale(1.045)}}
@keyframes livePulse{70%{transform:scale(1.5);opacity:.2}100%{transform:scale(1);opacity:1}}
.slotm.frenzy .scab,.slotm.frenzy .smarq{animation:none;box-shadow:0 0 46px #ff4fd8,0 0 80px #ffc54299}
.slotm.frenzy::before{content:"";position:absolute;inset:-18px;z-index:0;border-radius:36px;background:conic-gradient(#ff4fd8,#ffc542,#19e58a,#5b8cff,#ff4fd8);filter:blur(22px);opacity:.5;animation:spinGlow 1.4s linear infinite}
@keyframes spinGlow{to{transform:rotate(360deg)}}
.bgfx i{filter:none;opacity:.55}
.bgfx i:nth-child(1){background:radial-gradient(circle,#0a8f4e77,#0a8f4e00 65%)}.bgfx i:nth-child(2){background:radial-gradient(circle,#1b4fd877,#1b4fd800 65%)}.bgfx i:nth-child(3){background:radial-gradient(circle,#f5a62344,#f5a62300 65%)}
.top{backdrop-filter:none;-webkit-backdrop-filter:none;background:rgba(7,11,16,.97)}.car-arrow{backdrop-filter:none}
.sreel.blur .stile{filter:none}.sreel.blur .sstrip{filter:blur(2.2px) saturate(1.3)}.stile.hit{filter:none}
@keyframes tileHit{50%{transform:scale(1.08)}}
@keyframes pulseNew{50%{transform:scale(1.14)}}
.car-bar i{width:100%;transform:scaleX(0);transform-origin:0 50%}
@keyframes carBar{to{transform:scaleX(1)}}

/* ================= v3: shell, sidebar and neon theme ================= */
:root{--bg:#050a1f;--panel:#0d1534;--panel2:#141e44;--line:#26346f;--mut:#93a0cf;--ga:#3d6bff}
html,body{background:#050a1f}
body::before{content:"";position:fixed;inset:0;z-index:-2;pointer-events:none;background:radial-gradient(900px 600px at 12% -8%,#2c47b866,transparent 62%),radial-gradient(800px 560px at 96% 4%,#7a30d855,transparent 62%),radial-gradient(700px 500px at 60% 112%,#0b8f6a33,transparent 60%)}
.top{height:58px;padding:0 16px;gap:12px;background:rgba(5,10,31,.97);border-bottom:1px solid #1b2757}
.top::after{opacity:.8}
.menubtn{display:none;width:38px;height:38px;border-radius:11px;background:#141e44;border:1px solid #26346f;font-size:18px}
.topmid{flex:1;display:flex;justify-content:center;min-width:0}
.bal{background:linear-gradient(135deg,#16224f,#0d1534);border-color:#ffc54266}
.lvlchip{display:flex;align-items:center;gap:8px;padding:4px 12px 4px 4px;border-radius:99px;background:#0d1534;border:1px solid #3d6bff66;transition:border-color .2s}
.lvlchip:hover{border-color:#7aa2ff}
.lvlchip b{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:linear-gradient(135deg,#ffe08a,#f5a623);color:#2a1a00;font-size:14px;font-weight:900;box-shadow:0 0 12px #ffc54277}
.lvlchip em{display:block;font-style:normal;font-size:11px;font-weight:800;line-height:1.1}
.xpbar{display:block;width:92px;height:5px;margin-top:3px;border-radius:99px;background:#1b2757;overflow:hidden}
.xpbar u{display:block;height:100%;width:0;border-radius:99px;background:linear-gradient(90deg,#3d6bff,#a040ff);transition:width .7s cubic-bezier(.2,.8,.2,1)}
.shell{display:flex;align-items:flex-start}
.shell main{flex:1;min-width:0;max-width:1180px}
.side{position:sticky;top:58px;flex:none;width:236px;height:calc(100vh - 58px);overflow-y:auto;overscroll-behavior:contain;padding:12px 10px 28px;background:linear-gradient(180deg,#0a1230,#070d24);border-right:1px solid #1b2757;transition:width .2s;scrollbar-width:thin}
.sidecol{display:block;margin:0 0 6px auto;width:30px;height:30px;border-radius:9px;background:#141e44;border:1px solid #26346f;color:#9fb3ff;font-size:16px;line-height:1;transition:transform .2s}
.sg{margin-bottom:12px}
.sg>small{display:block;padding:8px 12px 4px;font-size:10px;font-weight:800;letter-spacing:1.2px;text-transform:uppercase;color:#6a78b0;white-space:nowrap;overflow:hidden}
.side a{position:relative;display:flex;align-items:center;gap:12px;padding:9px 12px;border-radius:12px;color:#c9d3f5;font-weight:700;font-size:14px;white-space:nowrap;transition:background .15s,color .15s}
.side a i{flex:none;width:26px;font-style:normal;text-align:center;font-size:18px}
.side a:hover{background:#16224f;color:#fff}
.side a.on{background:linear-gradient(90deg,#2a49c2aa,#5b2bd066);color:#fff;box-shadow:inset 3px 0 0 #7aa2ff}
#origlist a{padding:7px 12px;font-size:13px;font-weight:600}
#origlist a::before{content:"";position:absolute;left:3px;top:50%;width:6px;height:6px;margin-top:-3px;border-radius:50%;background:var(--gc,#3d6bff);box-shadow:0 0 8px var(--gc,#3d6bff)}
#origlist a.on{box-shadow:inset 3px 0 0 var(--gc)}
.dot{position:absolute;right:10px;top:50%;width:9px;height:9px;margin-top:-4px;border-radius:50%;background:#ff4d5e;box-shadow:0 0 8px #ff4d5e}
body.sbc .side{width:68px}
body.sbc .side span,body.sbc .sg>small{display:none}
body.sbc .side a{justify-content:center;padding:9px 0}
body.sbc .sidecol{transform:rotate(180deg);margin:0 auto 6px}
body.sbc .dot{right:8px;top:8px;margin:0}
.scrim,.tabbar{display:none}
body.out .side,body.out .tabbar,body.out .lvlchip,body.out .menubtn,body.out .scrim{display:none!important}
.achstack{position:fixed;right:14px;top:70px;z-index:90;display:grid;gap:8px;pointer-events:none}
.achcard{display:flex;align-items:center;gap:10px;min-width:240px;max-width:320px;padding:10px 14px;border-radius:14px;background:linear-gradient(135deg,#1a2763,#2b1260);border:1px solid #ffc542aa;box-shadow:0 0 30px #ffc54255;animation:achIn .45s cubic-bezier(.2,1.5,.4,1)}
.achcard i{font-style:normal;font-size:30px}.achcard b{display:block;font-size:14px;color:#ffe08a}.achcard small{color:#c9d3f5;font-size:12px}
.achcard.out{opacity:0;transform:translateX(30px);transition:.4s}
@keyframes achIn{from{transform:translateX(60px) scale(.8);opacity:0}}
.modal{position:fixed;inset:0;z-index:95;display:grid;place-items:center;background:#030618e6;padding:16px}
.modal .mbox{position:relative;width:min(420px,100%);padding:26px 22px;text-align:center;border-radius:24px;background:linear-gradient(160deg,#16225a,#0a1131);border:2px solid #ffc542;box-shadow:0 0 70px #ffc54266;animation:mpop .5s cubic-bezier(.2,1.6,.4,1)}
@keyframes mpop{from{transform:scale(.6);opacity:0}}
.modal h2{margin:6px 0;font-size:30px;font-weight:900;letter-spacing:2px;background:linear-gradient(180deg,#fff,#ffe08a);-webkit-background-clip:text;background-clip:text;color:transparent}
.modal .bigbadge{display:inline-grid;place-items:center;width:110px;height:110px;border-radius:50%;font-size:56px;font-weight:900;color:#2a1a00;background:radial-gradient(circle at 35% 28%,#fff6c0,#ffc542 55%,#a86a00);box-shadow:0 0 50px #ffc542aa,inset 0 -8px 16px #0004}
.modal p{color:#c9d3f5;margin:6px 0 16px}.modal .btn{display:inline-block;width:auto;padding:12px 36px}
/* neon surfaces */
.panel,.gcard,.statbar div,.hubchip,.gtile,.luckcard,.bigwin,.stats>div,.stats3>div,.arcnote,.panel.lineup,.hs li,.paytable div{background:linear-gradient(160deg,#111b45,#0a1131);border-color:#26346f}
.panel{box-shadow:0 0 0 1px #3d6bff14,0 10px 34px #0007}
.card{background:linear-gradient(#111b45,#0a1131) padding-box,linear-gradient(160deg,#3a4fa8,#1a2557 50%,#3a4fa8) border-box}
.pill,.chip,.seg,.betrow input,.entry input{background-color:#141e44;border-color:#26346f}
.sport{background:linear-gradient(160deg,#111b45,#0a1131);border-color:#26346f}
.gamehead{padding:10px 14px;border-radius:16px;background:linear-gradient(90deg,color-mix(in srgb,var(--ga) 26%,#0a1131),#0a1131 72%);border:1px solid color-mix(in srgb,var(--ga) 55%,#26346f)}
.gtile.on{border-color:var(--ga);box-shadow:0 0 22px color-mix(in srgb,var(--ga) 50%,transparent);background:linear-gradient(160deg,color-mix(in srgb,var(--ga) 30%,#111b45),#0a1131)}
.stage{box-shadow:inset 0 0 80px color-mix(in srgb,var(--ga) 16%,transparent),0 10px 34px #0007}
#app.pagein{animation:pageIn .28s ease-out}
@keyframes pageIn{from{opacity:0;transform:translateY(8px)}}
@media(max-width:899px){
  .menubtn{display:grid;place-items:center}
  .top{padding:0 10px;gap:8px}.wordmark{font-size:19px}.brand img{width:32px;height:32px}
  .topmid{justify-content:flex-end}.bal small{display:none}
  .lvlchip{padding:3px}.lvlchip span{display:none}
  .side{position:fixed;left:0;top:0;bottom:0;z-index:70;width:262px;height:auto;padding-top:16px;transform:translateX(-104%);transition:transform .22s;box-shadow:10px 0 40px #000a}
  body.drawer .side{transform:none}
  body.drawer .scrim{display:block;position:fixed;inset:0;z-index:65;background:#000b}
  body.sbc .side{width:262px}body.sbc .side span,body.sbc .sg>small{display:revert}.sidecol{display:none}
  .tabbar{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:50;background:#070d24f7;border-top:1px solid #1b2757;padding-bottom:env(safe-area-inset-bottom)}
  .tabbar a,.tabbar button{flex:1;display:grid;justify-items:center;gap:1px;padding:7px 0 6px;font-size:10px;font-weight:700;color:#93a0cf}
  .tabbar i{font-style:normal;font-size:20px;line-height:1.1}.tabbar a.on{color:#fff;text-shadow:0 0 10px #7aa2ff}
  main{padding-bottom:96px!important}.slipbar{bottom:64px}.achstack{top:64px}
}
/* portrait Originals tiles */
.allgames.orig{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:14px}
.gcard.tile{padding:0;border:0;border-radius:18px;overflow:hidden;background:#0a1131;box-shadow:0 8px 24px #0008;position:relative}
.tilea{display:block;aspect-ratio:4/5;overflow:hidden}.tilea svg{display:block;width:100%;height:100%}
.tiletag{position:absolute;right:8px;top:8px;font-size:10px;font-weight:800;letter-spacing:.4px;padding:2px 8px;border-radius:99px;background:#000a;color:#fff;backdrop-filter:none}
.gcard.tile::after{content:"";position:absolute;top:0;left:0;width:40%;height:100%;background:linear-gradient(100deg,transparent,#ffffff40,transparent);transform:translateX(-140%) skewX(-18deg);transition:transform .7s;pointer-events:none}
.gcard.tile:hover::after{transform:translateX(330%) skewX(-18deg)}
.gcard.tile:hover{box-shadow:0 16px 36px #000a,0 0 28px #7aa2ff55}

/* ================= Coach, the Hawk 21 dealer ================= */
.coachrow{display:flex;align-items:flex-end;justify-content:center;gap:14px;width:100%;max-width:560px;margin-bottom:-26px;position:relative;z-index:1}
.coach{flex:none;width:min(190px,46vw);height:min(160px,38vw);overflow:hidden;filter:drop-shadow(0 8px 10px #0008)}
.coach svg{display:block;width:100%;height:auto;overflow:visible}
.cbody{transform-origin:110px 250px;animation:breathe 3.2s ease-in-out infinite}
@keyframes breathe{50%{transform:scaleY(1.014)}}
.chead,.brow,.pup,.carm,.cbody,.chand{transition:transform .28s cubic-bezier(.3,1.5,.5,1),opacity .2s}
.chead{transform-origin:110px 150px}
.lid{transform-box:fill-box;transform-origin:center top;transform:scaleY(0);animation:blink 4.4s infinite}
@keyframes blink{0%,93%,100%{transform:scaleY(0)}96%{transform:scaleY(1)}}
.brow{transform-box:fill-box;transform-origin:center}
.m{opacity:0;transition:opacity .15s}.m-smile{opacity:1}
.chand{opacity:0;transform:translateY(46px)}
.carm{transform-origin:168px 196px}
.coach.deal .carm{animation:dealArm .5s ease-in-out}
@keyframes dealArm{40%{transform:rotate(-32deg) translateY(-4px)}}
.coach.think .m-smile,.coach.shrug .m-smile,.coach.sad .m-smile,.coach.shock .m-smile{opacity:0}
.coach.think .m-flat,.coach.shrug .m-flat{opacity:1}.coach.shock .m-open{opacity:1}.coach.sad .m-frown{opacity:1}
.coach.think .chead{transform:rotate(5deg)}.coach.think .br{transform:translateY(-5px) rotate(-8deg)}.coach.think .pup{transform:translateX(4px)}
.coach.smug .chead{transform:rotate(-5deg)}.coach.smug .br{transform:translateY(-7px) rotate(-10deg)}.coach.smug .pup{transform:translate(-3px,1px)}
.coach.shock .brow{transform:translateY(-8px)}.coach.shock .chead{transform:translateY(-4px) scale(1.03)}
.coach.shrug .cbody{transform:translateY(-6px)}.coach.shrug .brow{transform:translateY(-4px)}
.coach.sad .chand{opacity:1;transform:none}.coach.sad .chead{transform:rotate(3deg)}.coach.sad .brow{transform:translateY(3px)}
.cbub{position:relative;max-width:210px;margin-bottom:34px;padding:9px 13px;border-radius:16px 16px 16px 4px;background:#fff;color:#14182e;font-size:13px;font-weight:800;line-height:1.25;box-shadow:0 8px 20px #0007;opacity:0;transform:scale(.85);transform-origin:0 100%}
.cbub.pop{opacity:1;animation:bubPop .35s cubic-bezier(.2,1.6,.4,1)}
@keyframes bubPop{from{transform:scale(.6);opacity:0}}
.felt{position:relative;z-index:2}

/* ================= Rewards page ================= */
.lvlcard{display:grid;grid-template-columns:auto 1fr;gap:6px 18px;align-items:center;margin-bottom:14px}
.bigbadge.sm,.lvlcard .bigbadge{display:grid;place-items:center;width:84px;height:84px;border-radius:50%;font-size:42px;font-weight:900;color:#2a1a00;background:radial-gradient(circle at 35% 28%,#fff6c0,#ffc542 55%,#a86a00);box-shadow:0 0 36px #ffc54288,inset 0 -6px 12px #0004}
.lvlinfo h2{margin:0 0 6px;font-size:26px}.lvlinfo small{color:var(--mut)}
.xpbig{height:12px;border-radius:99px;background:#1b2757;overflow:hidden;margin:4px 0}.xpbig u{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,#3d6bff,#a040ff,#ff4fd8);box-shadow:0 0 14px #a040ffaa}
.lvlsteps{grid-column:1/-1;display:flex;gap:6px;flex-wrap:wrap;margin-top:6px}
.lvlsteps span{display:flex;align-items:center;gap:6px;padding:4px 12px 4px 4px;border-radius:99px;background:#141e44;color:var(--mut);font-size:12px;font-weight:700}
.lvlsteps b{display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:#26346f;color:#fff;font-size:11px}
.lvlsteps .on{color:#fff;background:linear-gradient(90deg,#2a49c2aa,#5b2bd066)}.lvlsteps .on b{background:linear-gradient(135deg,#ffe08a,#f5a623);color:#2a1a00}
.lvlcard .note{grid-column:1/-1}
.rwgrid{display:grid;grid-template-columns:minmax(260px,380px) 1fr;gap:14px;margin-bottom:14px}.rwgrid>*{min-width:0}
.panel h2{margin:0 0 10px;font-size:18px}
.wheelcard{text-align:center}.wheelbox{position:relative;width:min(300px,76vw);margin:6px auto 12px}
.wsvg{display:block;width:100%;filter:drop-shadow(0 8px 14px #0008)}.wg{transform-origin:150px 150px}
.wptr{position:absolute;top:-14px;left:50%;transform:translateX(-50%);z-index:2;font-size:28px;color:#fff;text-shadow:0 0 10px #000}
.chal{display:flex;align-items:center;gap:12px;padding:10px 0;border-top:1px solid var(--line)}.chal>i{font-style:normal;font-size:30px}
.cinfo{flex:1;min-width:0}.cinfo b{display:block}.cinfo small{display:block;color:var(--mut);font-size:12px}
.cbar{height:7px;border-radius:99px;background:#1b2757;margin:5px 0;overflow:hidden}.cbar u{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,#12c26a,#16e0c0)}
.cact{text-align:right;display:grid;gap:5px;justify-items:end}.cact .btn{width:auto;padding:7px 18px;font-size:14px}.chal.done{opacity:.6}
.chip2{font-size:11px;font-weight:800;padding:2px 9px;border-radius:99px;background:#12c26a;color:#00110a;vertical-align:middle}
.achgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}
.ach{position:relative;display:grid;gap:3px;justify-items:center;text-align:center;padding:14px 8px 10px;border-radius:14px;background:#0d1534;border:1px solid #1f2b5e;filter:grayscale(1);opacity:.55}
.ach i{font-style:normal;font-size:34px}.ach b{font-size:13px}.ach small{color:var(--mut);font-size:11px;line-height:1.25}.ach em{font-style:normal;font-size:11px;font-weight:800;color:#8a96c4}
.ach.on{filter:none;opacity:1;background:linear-gradient(160deg,#1a2763,#2b1260);border-color:#ffc54299;box-shadow:0 0 18px #ffc54233}.ach.on em{color:#ffe08a}
/* lobby effects */
.floaties{position:absolute;inset:0;pointer-events:none;overflow:hidden}
.floaties span{position:absolute;font-size:30px;opacity:.55;filter:drop-shadow(0 6px 8px #0006);animation:floaty var(--d,7s) ease-in-out infinite;animation-delay:var(--l,0s)}
@keyframes floaty{0%,100%{transform:translateY(0) rotate(-8deg)}50%{transform:translateY(-16px) rotate(10deg)}}
.heroin>*:not(.floaties){position:relative;z-index:1}
#carHost{position:relative;padding:3px;border-radius:25px;overflow:hidden;isolation:isolate}
#carHost::before{content:"";position:absolute;left:50%;top:50%;width:220%;aspect-ratio:1;background:conic-gradient(#3d6bff,#a040ff,#ff4fd8,#ffc542,#3d6bff);z-index:-1;transform:translate(-50%,-50%);animation:ringSpin 8s linear infinite}
@keyframes ringSpin{to{transform:translate(-50%,-50%) rotate(360deg)}}
@media(max-width:899px){.rwgrid{grid-template-columns:minmax(0,1fr)}.lvlcard{grid-template-columns:auto minmax(0,1fr)}}
.gcard.tile .newb{top:36px;left:auto;right:8px}

/* ---------- Scoreboard Roll 2.0: stadium scoreboard, football-field bar, stats, provably fair ---------- */
.board{position:relative;margin:0 0 18px;padding:26px 18px 18px;border-radius:18px;background:linear-gradient(180deg,#0b1020,#050810);border:3px solid #2a3a6a;box-shadow:inset 0 0 30px #000,0 8px 30px #0008}
.board::after{content:"";position:absolute;inset:-3px;border-radius:20px;pointer-events:none;opacity:0;box-shadow:0 0 28px 4px #ff7a1a,inset 0 0 26px #ff7a1a88}
.board.onfire::after{opacity:1;animation:firePulse 1s ease-in-out infinite alternate}
@keyframes firePulse{from{opacity:.45}to{opacity:1}}
.board.good{border-color:#19e58a;box-shadow:inset 0 0 30px #000,0 0 34px #19e58a88}.board.bad{border-color:#ff5d6c}
.bbulbs{position:absolute;top:6px;left:14px;right:14px;display:flex;justify-content:space-between}
.bbulbs i{width:7px;height:7px;border-radius:50%;background:#ffd24a;box-shadow:0 0 8px #ffc542;opacity:.35;animation:bulb 1.6s ease-in-out infinite;animation-delay:calc(var(--k)*.09s)}
@keyframes bulb{50%{opacity:1}}
.bhead{display:flex;justify-content:space-between;align-items:center;font:800 12px/1 ui-monospace,Menlo,monospace;letter-spacing:.14em;color:#8fb0ff;margin-bottom:10px}
.fire{color:#ff9a3c}
.dnum{display:flex;justify-content:center;align-items:center;gap:6px;margin:0;font:900 clamp(48px,11vw,96px)/1 ui-monospace,Menlo,monospace;color:#ffb21a;text-shadow:0 0 22px #ff9a1ab0;transition:none}
.dnum .dd{display:inline-block;min-width:.66em;text-align:center;padding:4px 2px;border-radius:8px;background:linear-gradient(180deg,#1a1205,#0a0703);box-shadow:inset 0 0 0 1px #3a2a0e}
.dnum .pt{font-style:normal;margin:0 -2px;width:auto;height:auto;background:none;border-radius:0}
.dnum .dd.lock{color:#fff4c2}
.board.good .dnum{color:#19e58a;text-shadow:0 0 28px #12c26acc}.board.bad .dnum{color:#ff5d6c;text-shadow:0 0 28px #ff4d5ecc}
.dbar{height:38px;border-radius:12px;background:#0d3b1e}
.dbar .dclip{position:absolute;inset:0;border-radius:12px;overflow:hidden}
.dbar .turf{position:absolute;inset:0;background:repeating-linear-gradient(90deg,#14532d 0 9.99%,#176a38 10% 20%);opacity:.9}
.dbar .dz{opacity:.82;mix-blend-mode:normal}
.dbar .dz.lose{border-radius:0;background:linear-gradient(90deg,#6b1220cc,#a3202ecc)}.dbar .dz.win{border-radius:0;background:linear-gradient(90deg,#16e0c0cc,#19e58acc);box-shadow:inset 0 0 14px #fff6}
.dmark{top:-34px}.dmark.scan::before{content:"🏈"}
.dpre{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0 0}
.dauto{margin:10px 0;border:1px solid var(--line);border-radius:12px;padding:8px 10px;background:var(--panel2)}.dauto summary{cursor:pointer;font-weight:800}
.dauto .arow,.dfair .arow{display:flex;gap:8px;margin:8px 0}.dauto label{flex:1;font-size:11px;color:var(--mut);display:block}.dauto input,.dauto select,.dfair input{width:100%;box-sizing:border-box;margin-top:3px;background:var(--panel);border:1px solid var(--line);border-radius:8px;color:#fff;padding:6px;font-size:14px}
#speed.on{background:#ffb21a;color:#000}
.dhist{gap:5px}.dhist button{font:800 12px ui-monospace,Menlo,monospace;padding:4px 9px;border-radius:99px;border:0;background:var(--panel2);cursor:pointer}.dhist .good{color:#19e58a;box-shadow:inset 0 0 0 1px #12c26a66}.dhist .bad{color:#ff8a95}.dhist .sel{outline:2px solid #fff}
.ddet{min-height:18px;margin-top:8px;text-align:center;font-size:13px;color:var(--mut)}.ddet .g,.dstats .g{color:#19e58a}.ddet .r,.dstats .r{color:#ff8a95}
.dstats{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;margin-top:14px}.dstats>div{background:var(--panel2);border:1px solid var(--line);border-radius:10px;padding:6px 8px;text-align:center}.dstats small{display:block;color:var(--mut);font-size:10px}.dstats b{font-size:15px}
.dgraph{display:block;width:100%;height:70px;margin-top:10px;background:var(--panel2);border-radius:10px}
.dfair{margin-top:14px;border:1px solid var(--line);border-radius:12px;padding:8px 12px;background:var(--panel2)}.dfair summary{cursor:pointer;font-weight:800}
.dfair .frow{display:flex;gap:10px;align-items:center;margin:8px 0}.dfair .frow small{color:var(--mut);min-width:130px}.dfair code{font-size:11px;word-break:break-all;color:#8fb0ff}.dfair .fverify{display:grid;gap:6px;margin-top:12px}
@media (max-width:760px){.dstats{grid-template-columns:repeat(3,minmax(0,1fr))}.dfair .frow{flex-direction:column;align-items:stretch;gap:4px}}
@media (prefers-reduced-motion:reduce){.bbulbs i,.board.onfire::after{animation:none}}
.game .stats3 input{font-size:14px;min-width:0}.game .stats3>div{min-width:0;padding:6px}

/* ---------- avatars ---------- */
.av{position:relative;display:inline-block;flex:none;width:var(--s);height:var(--s);border-radius:28%;background:radial-gradient(circle at 50% 35%,#1d2a5e,#0a1131);overflow:visible;vertical-align:middle;font-size:var(--s);line-height:1}
.av img{position:absolute;inset:6%;width:88%;height:88%;z-index:2}
.av i{position:absolute;font-style:normal;z-index:3;line-height:1;transform:translate(-50%,-50%)}
.av .avhat{left:70%;top:20%;font-size:.36em;z-index:5}.av .avface{left:76%;top:37%;font-size:.26em;z-index:4}
.av .avbody{left:56%;top:66%;font-size:.3em}.av .avheld{left:20%;top:76%;font-size:.3em;z-index:6}
.av .avcrown{left:70%;top:4%;font-size:.3em;z-index:7;filter:drop-shadow(0 0 4px #ffc542)}.av .avgem{left:86%;top:80%;font-size:.26em;z-index:7;filter:drop-shadow(0 0 5px #8ff)}
.av .avwings{left:36%;top:46%;font-size:.62em;z-index:1;opacity:.95;filter:drop-shadow(0 0 6px #ffc542)}
.av.myth{box-shadow:0 0 0 2px #ff4fd8,0 0 14px #ff4fd899}
.av.bg-stadium{background:radial-gradient(ellipse at 20% 0%,#fff6 0 8%,transparent 30%),radial-gradient(ellipse at 80% 0%,#fff6 0 8%,transparent 30%),linear-gradient(180deg,#0b1636,#14532d 78%)}
.av.bg-cafe{background:repeating-conic-gradient(#c2410c 0 25%,#7c2d12 0 50%) 0 0/25% 25%}
.av.bg-bus{background:linear-gradient(180deg,#7dd3fc,#fbbf24 60%,#1f2937 61%)}
.av.bg-space{background:radial-gradient(circle at 20% 30%,#fff 0 1px,transparent 2px),radial-gradient(circle at 70% 15%,#fff 0 1px,transparent 2px),radial-gradient(circle at 85% 70%,#fff 0 1px,transparent 2px),radial-gradient(circle at 40% 80%,#fff 0 1px,transparent 2px),radial-gradient(circle at 50% 50%,#3b0764,#0a0320)}
.av.bg-aurora{background:linear-gradient(160deg,#12c26a,#16e0c0 30%,#7b3cff 65%,#ff4fd8)}
.meav{display:flex;align-items:center;margin-left:6px;text-decoration:none}.meav.hidden{display:none}
.lbname{display:flex;align-items:center;gap:8px}
/* ---------- Hawk Shop ---------- */
.salebar{background:linear-gradient(90deg,#ff4d5e,#ffb21a);color:#000;font-weight:900;text-align:center;border-radius:12px;padding:8px;margin:0 0 12px}
.shopwrap{display:grid;grid-template-columns:260px minmax(0,1fr);gap:16px;align-items:start}
.mecard{position:sticky;top:80px;text-align:center}.mecard .av.big{margin:6px auto 10px;display:block}
.lucktotal{font-size:20px;font-weight:900;color:#19e58a;margin:6px 0}.lucktotal.sup{color:#ff9a3c}
.lparts{list-style:none;padding:0;margin:8px 0;text-align:left;font-size:13px;display:grid;gap:4px}.lparts li{background:var(--panel2);border-radius:8px;padding:5px 8px}
.trynote{font-size:12px;color:var(--mut)}
.shopmain h2{margin:14px 0 8px}
.igrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:10px;margin-top:10px}
.icard{display:flex;flex-direction:column;gap:5px;align-items:center;text-align:center;background:linear-gradient(170deg,color-mix(in srgb,var(--rc) 18%,#0e1638),#0a1131);border:1px solid color-mix(in srgb,var(--rc) 55%,transparent);border-radius:14px;padding:12px 10px}
.icard.own{box-shadow:inset 0 0 0 2px var(--rc)}.icard.r-mythic{box-shadow:0 0 22px #ff4fd855}.icard.r-legendary{box-shadow:0 0 14px #ffb21a33}
.icard .btn{width:100%;margin-top:auto}.icard .pill{width:100%}
.itry{background:none;border:0;padding:0;cursor:pointer}.iemo{font-size:52px;line-height:1.1;display:block}
.bgsw{display:block;width:64px;height:64px;border-radius:16px}.bgsw.bg-stadium,.bgsw.bg-cafe,.bgsw.bg-bus,.bgsw.bg-space,.bgsw.bg-aurora{}
.rar{font-weight:900;letter-spacing:.08em;text-transform:uppercase;font-size:10px;color:var(--rc)}
.ltag{font-size:12px;font-weight:800;color:#19e58a}.ltag.sup{color:#ff9a3c}.ltag.none{color:var(--mut);font-weight:600}
.was{color:var(--mut);font-size:12px}.chg{color:#8fb0ff;font-size:12px}
.locks{list-style:none;margin:0;padding:0;font-size:11px;color:#ff9aa5;text-align:left}
/* ---------- admin ---------- */
.admrow{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin:6px 0}.admrow input,.admrow select{flex:1;min-width:120px}
.admgrid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:14px;margin-top:14px;align-items:start}
.admside{position:sticky;top:80px}.admside h3{margin:14px 0 4px;font-size:14px}
.admwho{display:flex;gap:12px;align-items:center}.admwho h2{margin:0}
.plist tr[data-pu]{cursor:pointer}.plist tr[data-pu]:hover{background:#ffffff0d}.plist tr.banned{opacity:.55}
.pricein{width:120px}
.bankshut{background:var(--panel2);border-radius:12px;padding:14px;margin:12px 0;font-size:15px}
@media (max-width:760px){.shopwrap,.admgrid{grid-template-columns:1fr}.mecard,.admside{position:static}.igrid{grid-template-columns:repeat(2,minmax(0,1fr))}}

.dball{position:absolute;left:0;top:50%;width:30px;height:30px;margin-left:-15px;z-index:4;pointer-events:none;display:grid;place-items:center;transform:translate(-100px,-50%);will-change:transform}
.dball i{font-style:normal;font-size:26px;line-height:1;filter:drop-shadow(0 2px 3px #000a)}
.dball::before{content:"";position:absolute;inset:-4px;border-radius:50%;opacity:0;box-shadow:0 0 16px 4px #ffc542;transition:opacity .2s}
.dball.rolling::before{opacity:.8}.dball.good::before{opacity:1;box-shadow:0 0 18px 6px #19e58a}.dball.bad::before{opacity:1;box-shadow:0 0 18px 6px #ff4d5e}
.dbar .dslider{z-index:5}

/* ---------- Free Throw Line, Mental Math Sprint, Marching Band, Hallway Dash ---------- */
.mrow{display:flex;gap:10px;justify-content:center}.mrow input{width:200px;font-size:28px;font-weight:800;text-align:center;background:var(--panel2);border:2px solid var(--line);border-radius:12px;color:#fff;padding:8px}
.dashwrap{position:relative;width:100%;max-width:400px;margin:0 auto;touch-action:none}.dashwrap canvas{display:block;width:100%;height:auto;border-radius:16px;box-shadow:0 0 0 3px #2a3a6a;touch-action:none;background:#0d1b46}
.dashwrap.d3 #dcv{position:absolute;left:0;top:0;background:none;box-shadow:none}.dashwrap.d3 #dgl{background:#fff1d6}
.dashwrap.d3 .dashmsg{font-size:17px;top:17%;opacity:.6}.dashwrap.d3 .dashmsg.big{font-size:34px;top:40%;opacity:1}
.dashmsg{position:absolute;left:0;right:0;top:40%;text-align:center;font:900 34px/1.1 system-ui;color:#fff;text-shadow:0 3px 12px #000;pointer-events:none}.dashmsg.hidden{display:none}
.school .nonschool{display:none!important}
.modecards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:10px 0}.modecard{text-align:left;background:var(--panel2);border:2px solid var(--line);border-radius:14px;padding:14px;color:#fff;cursor:pointer;display:grid;gap:6px;font-size:14px}.modecard b{font-size:18px}.modecard span{color:var(--mut)}.modecard.on{border-color:#19e58a;box-shadow:0 0 0 2px #19e58a55}
.chk{display:flex;gap:8px;align-items:center;font-size:14px;margin:6px 0}
@media (max-width:760px){.modecards{grid-template-columns:1fr}}

/* ---------- Free Throw Line: arena, ball, 2K shot meter ---------- */
.hoopsw{width:100%;max-width:620px;margin:0 auto}
.court{position:relative;width:100%;aspect-ratio:400/260;border-radius:18px;overflow:hidden;box-shadow:0 0 0 3px #2a3a6a,0 14px 34px #0009;background:#05081c;isolation:isolate}
.cscene{position:absolute;inset:0;width:100%;height:100%;display:block}
.beams path{fill:#fff;opacity:.07}
.hball{position:absolute;left:0;top:0;line-height:1;will-change:transform;z-index:4;pointer-events:none;filter:drop-shadow(0 4px 4px #0008)}
.hball .bb{position:relative;width:1em;height:1em}.hball .bb svg{display:block;width:100%;height:100%}.hball .flame{position:absolute;left:50%;top:-34%;transform:translateX(-50%) scale(1.3);opacity:0;font-style:normal;font-size:1em}
.hball.fire .flame{opacity:.95;animation:flick .22s ease-in-out infinite alternate}.hball.fire .bb{filter:drop-shadow(0 0 10px #ff7a1a)}
@keyframes flick{from{transform:translateX(-50%) scale(1.15)}to{transform:translateX(-50%) scale(1.45) rotate(4deg)}}
.hshadow{position:absolute;left:0;top:0;width:7%;height:2.4%;border-radius:50%;background:#000;opacity:0;z-index:2;pointer-events:none;filter:blur(2px)}
.vmeter{position:absolute;left:4.5%;top:16%;height:62%;width:16px;border-radius:99px;background:linear-gradient(90deg,#050810,#101a40);box-shadow:inset 0 0 0 2px #3a4c90,0 0 14px #000a;z-index:3}
.vzone{position:absolute;left:0;right:0;border-radius:6px;background:linear-gradient(90deg,#0fa862,#19e58a);box-shadow:0 0 14px #19e58a,inset 0 0 6px #fff9}
.vzone::after{content:"";position:absolute;inset:0;border-radius:6px;background:#fff;opacity:0;animation:zpulse 1s ease-in-out infinite}@keyframes zpulse{50%{opacity:.3}}
.vperf{position:absolute;left:0;right:0;top:50%;transform:translateY(-50%);background:#eaffd8;opacity:.85;border-radius:3px}
.vfill{position:absolute;left:3px;right:3px;bottom:3px;top:3px;border-radius:99px;background:linear-gradient(0deg,#5b8cff,#cfe0ff);transform-origin:50% 100%;will-change:transform;opacity:.9}
.vmark{position:absolute;left:-6px;right:-6px;height:3px;margin-bottom:-1px;background:#fff;box-shadow:0 0 8px #fff;border-radius:2px;will-change:bottom}
.vmeter.green{box-shadow:inset 0 0 0 2px #19e58a,0 0 26px #19e58a,0 0 0 4px #19e58a55}.vmeter.green .vfill{background:linear-gradient(0deg,#0fa862,#b8ffd8)}.vmeter.miss{box-shadow:inset 0 0 0 2px #ff5d6c,0 0 16px #ff5d6c}
.vlabel{position:absolute;left:26px;top:50%;transform:translateY(-50%);font:900 12px/1 system-ui;letter-spacing:.08em;color:#fff;text-shadow:0 2px 6px #000;white-space:nowrap}.vmeter.green .vlabel{color:#19e58a}.vmeter.miss .vlabel{color:#ff8a95}
.hpop{position:absolute;left:50%;top:40%;transform:translate(-50%,-50%) scale(.4);font:900 clamp(22px,8vw,46px)/1 system-ui;font-style:italic;letter-spacing:.03em;opacity:0;pointer-events:none;z-index:6;text-shadow:0 4px 0 #0007,0 0 28px currentColor;-webkit-text-stroke:2px #0006;white-space:nowrap}
.hpop.show{animation:popin .95s cubic-bezier(.2,1.5,.4,1) forwards}.hpop.green{color:#19ff8a}.hpop.perfect{font-size:clamp(18px,6.4vw,34px);color:#c6ff3d;text-shadow:0 4px 0 #0007,0 0 36px #19ff8a,0 0 12px #fff}.hpop.bad{color:#ff5d6c}
@keyframes popin{0%{opacity:0;transform:translate(-50%,-30%) scale(.4)}25%{opacity:1;transform:translate(-50%,-55%) scale(1.18)}70%{opacity:1;transform:translate(-50%,-60%) scale(1)}100%{opacity:0;transform:translate(-50%,-90%) scale(1)}}
.hsub{position:absolute;left:50%;top:58%;transform:translateX(-50%);font:800 clamp(12px,3vw,17px)/1 system-ui;color:#fff;text-shadow:0 2px 6px #000;opacity:0;pointer-events:none;z-index:6;letter-spacing:.06em;text-transform:uppercase}.hsub.show{animation:subin .95s ease-out forwards}
@keyframes subin{0%{opacity:0}20%,70%{opacity:1}100%{opacity:0}}
.hflash{position:absolute;inset:0;opacity:0;pointer-events:none;z-index:5}.hflash.g{animation:fl .6s ease-out;background:radial-gradient(circle at 60% 40%,#19ff8a99,transparent 70%)}.hflash.r{animation:fl .55s ease-out;background:radial-gradient(circle at 60% 40%,#ff4d5e88,transparent 70%)}
@keyframes fl{0%{opacity:1}100%{opacity:0}}
.crowd circle{transform-box:fill-box;transform-origin:center bottom}.crowd.cheer circle{animation:jump .5s ease-out 2}
@keyframes jump{0%,100%{transform:translateY(0)}40%{transform:translateY(-9px) scale(1.15)}}
.netg.swish{animation:netsw .7s ease-out}@keyframes netsw{0%{transform:scaleY(1)}25%{transform:scaleY(1.28) scaleX(.9)}55%{transform:scaleY(.9) scaleX(1.06)}100%{transform:scaleY(1)}}
.rimg{transform-box:fill-box;transform-origin:center}.rimg.rimhit{animation:rimsh .5s ease-out}@keyframes rimsh{0%,100%{transform:translateY(0)}20%{transform:translateY(5px) rotate(-3deg)}50%{transform:translateY(-2px) rotate(2deg)}}
.bboard.bflash{animation:bfl .5s}@keyframes bfl{50%{filter:drop-shadow(0 0 14px #19ff8a) brightness(1.4)}}
.shooter{transform-box:fill-box;transform-origin:50% 100%}.shooter.jump{animation:shjump .5s ease-out}@keyframes shjump{0%{transform:scale(1,.9)}30%{transform:translateY(-14px) scale(.97,1.05)}60%{transform:translateY(-6px)}100%{transform:none}}
.shooter .wingup{transform-box:fill-box;transform-origin:0% 100%}.shooter.jump .wingup{animation:wflick .5s ease-out}@keyframes wflick{0%{transform:rotate(0)}35%{transform:rotate(-26deg)}60%{transform:rotate(14deg)}100%{transform:rotate(0)}}
.shooter.fist .wingup{animation:wfist .7s ease-out}@keyframes wfist{0%,100%{transform:rotate(0) scale(1)}35%{transform:rotate(-75deg) scale(1.12)}}
.shooter.shake{animation:shshake .5s}@keyframes shshake{0%,100%{transform:rotate(0)}25%{transform:rotate(-5deg)}60%{transform:rotate(4deg)}}
.shootbtn{width:100%;font-size:22px;padding:16px;margin-top:14px}
@media (prefers-reduced-motion:reduce){.hball.fire .flame,.vzone::after{animation:none}}

/* ---------- Marching Band: stage, drums, effects ---------- */
.bandw{width:100%;max-width:640px;margin:0 auto}
.bandstage{position:relative;overflow:hidden;border-radius:20px;padding:18px 14px 16px;background:radial-gradient(ellipse at 50% -10%,#2a4aa8 0,#0e1a4a 45%,#070c24 100%);box-shadow:0 0 0 3px #2a3a6a,0 16px 40px #000a;isolation:isolate}
.bandstage::after{content:"";position:absolute;left:0;right:0;bottom:0;height:34%;z-index:-1;background:linear-gradient(180deg,transparent,#0f5a2e66),repeating-linear-gradient(0deg,transparent 0 26px,#ffffff10 26px 28px)}
.beams{position:absolute;inset:0;z-index:-1;pointer-events:none}.beams i{position:absolute;top:-20%;width:28%;height:150%;background:linear-gradient(180deg,#fff6,#fff0 75%);transform-origin:50% 0;opacity:.28}
.beams i:nth-child(1){left:6%;transform:rotate(18deg)}.beams i:nth-child(2){left:36%;transform:rotate(0)}.beams i:nth-child(3){right:6%;transform:rotate(-18deg)}
.bandstage.beat .beams i{animation:beamb .35s ease-out}@keyframes beamb{0%{opacity:.55}100%{opacity:.28}}
.bflash{position:absolute;inset:0;opacity:0;pointer-events:none;z-index:5;background:radial-gradient(circle,#ff4d5e88,transparent 70%)}.bandstage.redflash .bflash{animation:fl .6s ease-out}
.bandstage.shake{animation:bshake .5s}@keyframes bshake{0%,100%{transform:translateX(0)}20%{transform:translateX(-9px)}40%{transform:translateX(9px)}60%{transform:translateX(-6px)}80%{transform:translateX(4px)}}
.beads{display:flex;gap:7px;justify-content:center;flex-wrap:wrap;min-height:20px;margin-bottom:10px}.beads i{width:14px;height:14px;border-radius:50%;background:#1d2a5e;box-shadow:inset 0 0 0 2px #3a4c90;transition:transform .15s}
.beads i.on{background:var(--bc);box-shadow:0 0 12px var(--bc);transform:scale(1.25)}
.bandgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 12px;width:100%}
.bpad{position:relative;background:none;border:0;padding:0;cursor:pointer;color:#fff;-webkit-tap-highlight-color:transparent;outline:none}
.bpad .drum{display:block;width:100%;height:auto;opacity:.62;transition:opacity .1s,transform .08s,filter .1s;transform-origin:50% 100%}
.bpad:not(:disabled) .drum{opacity:.95}.bpad .hl{opacity:0;transition:opacity .12s}
.bpad.lit .drum{opacity:1;transform:translateY(6px) scale(1.03,.97);filter:drop-shadow(0 0 22px var(--pc)) brightness(1.25)}.bpad.lit .hl{opacity:.8}
.bpad .pn{position:absolute;left:50%;bottom:9%;transform:translateX(-50%);font:900 22px/1 system-ui;color:#fffc;text-shadow:0 2px 3px #0009;pointer-events:none}
.bpad .ring{position:absolute;left:50%;top:40%;width:60%;aspect-ratio:2.4;margin-left:-30%;border:3px solid var(--pc);border-radius:50%;opacity:0;pointer-events:none}
.bpad.lit .ring{animation:ringout .5s ease-out}@keyframes ringout{0%{transform:scale(.5);opacity:.9}100%{transform:scale(1.7);opacity:0}}
.bpad .stk{position:absolute;top:-8%;width:7px;height:46%;border-radius:4px;background:linear-gradient(90deg,#f5deb0,#b88a4a);transform-origin:50% 100%;pointer-events:none;opacity:.9}
.bpad .stk.l{left:30%;transform:rotate(-38deg)}.bpad .stk.r{right:30%;transform:rotate(38deg)}
.bpad.lit .stk.l{animation:stl .17s ease-out}.bpad.lit .stk.r{animation:str .17s ease-out}
@keyframes stl{50%{transform:rotate(-12deg) translateY(10px)}}@keyframes str{50%{transform:rotate(12deg) translateY(10px)}}
.bpad.hint .drum{opacity:1;filter:drop-shadow(0 0 22px #fff) brightness(1.4)}
.bpad:focus-visible .drum{outline:3px solid #fff8;outline-offset:2px}
.bpad .spk{position:absolute;left:50%;top:42%;width:8px;height:8px;border-radius:50%;pointer-events:none;z-index:4}
.bandmsg{text-align:center;margin-top:6px;font:900 24px/1.1 system-ui;letter-spacing:.02em;color:#cfe0f3;min-height:30px;text-shadow:0 2px 0 #0006}
.bandmsg.pop{animation:msgpop .45s cubic-bezier(.2,1.6,.4,1)}@keyframes msgpop{0%{transform:scale(.6);opacity:0}100%{transform:scale(1);opacity:1}}
.bandmsg.go{color:#19e58a}.bandmsg.bad{color:#ff5d6c}.bandmsg.gold{color:#ffd24a;text-shadow:0 0 18px #ffc542}.bandmsg.dim{color:var(--mut)}
@media (prefers-reduced-motion:reduce){.bpad.lit .ring,.bpad.lit .stk{animation:none}}

/* ---------- Mental Math Sprint: chalkboard, neon digits, combo flame ---------- */
.mq{position:relative;width:100%;max-width:560px;margin:0 auto;text-align:center;padding:18px 16px 16px;border-radius:20px;overflow:hidden;isolation:isolate;
  background:radial-gradient(ellipse at 50% 0,#1a6b52,#0d4a38 55%,#07281f);box-shadow:inset 0 0 0 10px #8a5a2a,inset 0 0 0 13px #b9803d,inset 0 0 50px #000a,0 14px 34px #000a}
.msyms{position:absolute;inset:14px;z-index:-1;pointer-events:none;overflow:hidden}.msyms i{position:absolute;font-style:normal;font-weight:900;color:#ffffff1c;animation:symdrift 7s ease-in-out infinite alternate}
@keyframes symdrift{from{transform:translateY(0) rotate(-6deg)}to{transform:translateY(-18px) rotate(8deg)}}
.mq.wrong{animation:wrongshake .45s}@keyframes wrongshake{0%,100%{transform:translateX(0)}20%{transform:translateX(-10px)}40%{transform:translateX(10px)}60%{transform:translateX(-6px)}80%{transform:translateX(4px)}}
.mq.buzz{animation:buzz .18s}@keyframes buzz{0%,100%{transform:translate(0)}33%{transform:translate(2px,-1px)}66%{transform:translate(-2px,1px)}}
.mtimer{height:12px;border-radius:99px;background:#00000066;overflow:hidden;margin:6px 6px 0;box-shadow:inset 0 2px 4px #000a}.mtimer i{display:block;height:100%;width:100%;border-radius:99px;background:linear-gradient(90deg,#19e58a,#ffc542 60%,#ff4d5e)}
.mtimer.hot{animation:hotp .5s ease-in-out infinite alternate}@keyframes hotp{from{opacity:1}to{opacity:.55}}
.msecs{position:absolute;right:20px;top:26px;font:900 15px/1 ui-monospace,Menlo,monospace;color:#ffe08a;text-shadow:0 0 8px #ffc542aa}
.mflame{display:flex;align-items:center;justify-content:center;gap:10px;min-height:26px;margin-top:12px}.mfbar{width:55%;height:9px;border-radius:99px;background:#00000055;overflow:hidden}
.mfbar i{display:block;height:100%;width:0;border-radius:99px;background:linear-gradient(90deg,#ff9a3c,#ff4d5e);transition:width .25s;box-shadow:0 0 10px #ff7a1a}.mfbar i.max{background:linear-gradient(90deg,#fff3a8,#ffc542,#ff4d5e);box-shadow:0 0 18px #ffd24a}
#mc{font-weight:900;color:#ffb066;min-width:64px;text-align:left;text-shadow:0 0 10px #ff7a1a}
.mbig{display:flex;justify-content:center;flex-wrap:wrap;gap:0 .08em;margin:14px 0 18px;min-height:1.25em;font:900 clamp(40px,10vw,76px)/1.15 ui-monospace,Menlo,monospace;color:#fff6c8;text-shadow:0 0 6px #fff,0 0 16px #ffe08a,0 0 34px #ffb21a,0 3px 0 #0006}
.mbig span{display:inline-block;animation:digdrop .38s cubic-bezier(.2,1.6,.4,1) both}.mbig s{display:inline-block;width:.32em}.mbig .done{color:#19e58a;text-shadow:0 0 6px #fff,0 0 22px #19e58a}
@keyframes digdrop{0%{opacity:0;transform:translateY(-.7em) scale(1.5) rotate(-12deg)}100%{opacity:1;transform:none}}
.mrow input{background:#00000055;border:2px solid #ffffff44;color:#fff6c8;text-shadow:0 0 8px #ffe08a88;box-shadow:inset 0 2px 8px #000a}.mrow input:focus{outline:none;border-color:#ffe08a;box-shadow:0 0 0 3px #ffe08a44,inset 0 2px 8px #000a}
.mfb{min-height:30px;font-weight:900;font-size:18px;margin-top:12px}.mfb.good{color:#19e58a;text-shadow:0 0 12px #19e58a88}.mfb.bad{color:#ff8a95}
.flynum{position:fixed;z-index:9999;pointer-events:none;font:900 42px/1 system-ui;text-shadow:0 3px 0 #0007,0 0 22px currentColor;-webkit-text-stroke:2px #0005}.flynum.good{color:#19e58a}.flynum.bad{color:#ff5d6c}
@media (prefers-reduced-motion:reduce){.msyms i,.mtimer.hot,.mbig span{animation:none}}

/* phones: keep the top bar on one line (logo, balance, avatar, level, sound, log out) */
@media (max-width:520px){.top{flex-wrap:nowrap}.wordmark{display:none}#logout{max-width:84px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:6px 8px;font-size:12px;flex:none}.bal{padding:5px 8px}.meav .av{--s:30px!important}.sndbtn{padding:6px 8px}}

/* Hallway Dash: intro card */
/* Hallway Dash: one-line goal banner (first visit only) and a How to play button */
.dashintro{position:absolute;left:6%;right:6%;top:12px;padding:9px 12px;border-radius:12px;background:#0a1131ee;border:1px solid #ffc542;color:#fff;text-align:center;font-weight:700;font-size:13px;z-index:5;opacity:1;animation:dintroOut .5s 2.5s forwards}
.dashintro.hidden{display:none}
@keyframes dintroOut{to{opacity:0}}
.dashinfo{position:absolute;right:8px;bottom:8px;z-index:4;padding:5px 10px;border-radius:99px;border:1px solid #ffffff44;background:#0a1131cc;color:#cfe0f3;font-size:12px;cursor:pointer}
.dashfs{position:absolute;right:8px;bottom:44px;z-index:4;width:34px;height:30px;border-radius:99px;border:1px solid #ffffff44;background:#0a1131cc;color:#cfe0f3;font-size:16px;line-height:1;cursor:pointer}.dashfs:hover{border-color:#ffc542;color:#fff}
body.dfs-on{overflow:hidden}
.dashwrap.dfull{position:fixed;inset:0;z-index:9999;max-width:none;width:100vw;height:100vh;height:100dvh;margin:0;background:#050a1f;display:flex;align-items:center;justify-content:center}
.dashwrap.dfull canvas{width:min(100vw,calc(100dvh * .7143));height:auto;border-radius:0;box-shadow:none}
.dashwrap.dfull.d3 #dcv{left:50%;top:50%;transform:translate(-50%,-50%)}
.dashwrap.dfull .dashfs{top:calc(10px + env(safe-area-inset-top));right:10px;bottom:auto;width:40px;height:36px;font-size:18px}
.dstart{position:absolute;inset:0;z-index:3;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;background:radial-gradient(ellipse at 50% 55%,#05103a55,#05103a99);border-radius:16px}.dstart.hidden{display:none}
.dsgo{font:900 26px/1 system-ui;letter-spacing:.04em;color:#fff;padding:18px 28px;border-radius:18px;border:2px solid #ffffff55;background:linear-gradient(180deg,#2fd68a,#14a865);box-shadow:0 6px 0 #0b6b3f,0 12px 30px #0008;cursor:pointer;animation:dspulse 1.6s ease-in-out infinite}
.dsgo:active{transform:translateY(3px);box-shadow:0 3px 0 #0b6b3f}@keyframes dspulse{50%{transform:scale(1.05)}}
.dssub{font:800 14px system-ui;color:#ffe08a;text-shadow:0 2px 6px #000}.dshint{font:700 12px system-ui;color:#dfe8ff;text-shadow:0 2px 6px #000;opacity:.85}
.dspr{margin-top:4px;padding:7px 14px;border-radius:99px;border:1px solid #ffffff55;background:#0a1131cc;color:#dfe8ff;font:700 13px system-ui;cursor:pointer}.dspr.hidden{display:none}
@media (prefers-reduced-motion:reduce){.dsgo{animation:none}}
.dashinfo:hover{border-color:#ffc542;color:#fff}
.dashrules{margin:0 0 8px;padding:0;list-style:none;display:grid;gap:5px;font-size:14px}
/* Football picks */
.matchup{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;align-items:center;margin:0 0 12px;padding:12px 16px;border-radius:14px;background:linear-gradient(135deg,#0f2a6b,#12301f);border:1px solid #2f6bff66;font-size:16px;font-weight:800}
.matchup i{font-style:normal;color:var(--mut);font-weight:600}.matchup b{color:var(--gold)}
h1 .fb{font-size:13px;color:var(--mut);font-weight:600;margin-left:8px}
.card .logo.numb{font-size:20px;color:#fff;background:linear-gradient(135deg,#1b4fd8,#12c26a);box-shadow:0 0 0 2px #ffc54266}
.card .proj{display:flex;flex-direction:column;gap:2px;font-size:11px;color:var(--mut);margin:-4px 0 10px}.card .proj b{color:var(--gold)}
.pgrid{grid-template-columns:repeat(auto-fill,minmax(210px,1fr))}
.pcard .pnum{font-size:34px;font-weight:900;color:var(--gold);line-height:1}
.pstats{width:100%;border-collapse:collapse;font-size:12px;text-align:left;margin-top:8px}.pstats td{padding:3px 0;border-top:1px solid #ffffff14}.pstats td:last-child{text-align:right}
.addf textarea{grid-column:1/-1;background:#0d141b;color:#fff;border:1px solid var(--line);border-radius:8px;padding:8px;font:inherit}
.pendnote{margin:-4px 0 12px}
.gradebox textarea{width:100%;background:#0d141b;color:#fff;border:1px solid var(--line);border-radius:8px;padding:8px;font:12px ui-monospace,monospace;margin-bottom:8px}
.gradebox .row input[type=number]{max-width:90px}
/* home banner pattern: moving stripes and chip rings (no emojis, nothing floats over the balance) */
.heropat{position:absolute;inset:0;pointer-events:none;overflow:hidden;z-index:0}
.hp-stripes{position:absolute;top:0;bottom:0;left:-30%;width:160%;background:repeating-linear-gradient(115deg,#2f6bff1f 0 22px,transparent 22px 44px,#12c26a1a 44px 66px,transparent 66px 88px);animation:hpslide 14s linear infinite;will-change:transform}
@keyframes hpslide{to{transform:translateX(88px)}}
.hp-rings{position:absolute;right:-70px;top:-90px;width:300px;height:300px;border-radius:50%;background:repeating-radial-gradient(circle,transparent 0 16px,#12c26a26 16px 20px,transparent 20px 34px,#2f6bff26 34px 38px);-webkit-mask:radial-gradient(circle,#000 30%,transparent 72%);mask:radial-gradient(circle,#000 30%,transparent 72%)}
.heroin>.heropat{position:absolute}
@media(prefers-reduced-motion:reduce){.hp-stripes{animation:none}}
.mbig{flex-wrap:wrap;row-gap:.1em;line-height:1.1;font-size:clamp(40px,10vw,76px)}.mbig .tk{display:inline-flex;white-space:nowrap}.mbig>s{display:inline-block;width:.3em}.mbig .tk>span{display:inline-block}.msyms i{opacity:.7}
.mbig .tk{animation:none}
/* live multiplier badge for skill games */
.mbadge{display:grid;grid-template-columns:auto 1fr;gap:0 10px;align-items:center;margin-top:10px;padding:8px 12px;border-radius:14px;background:#10162a;border:1px solid #2a3a6a;color:#cfe0f3}
.mbadge.hidden{display:none}.mbadge .mbx{grid-row:1/3;font-size:30px;font-weight:900;color:#8a96c4;min-width:62px}.mbadge .mbp{font-weight:800;font-size:14px}.mbadge .mbp b{color:#ffe08a}.mbadge small{color:var(--mut);font-size:11px}
.mbadge.on{border-color:#ffc542;background:linear-gradient(135deg,#2a2210,#10162a);box-shadow:0 0 16px #ffc54233}.mbadge.on .mbx{color:#ffd24a;text-shadow:0 0 12px #ffc54288}
.mbadge.pop{animation:mbpop .6s cubic-bezier(.2,1.6,.4,1)}@keyframes mbpop{from{transform:scale(.8)}}
.mbadge.ov{position:absolute;left:8px;top:96px;margin:0;z-index:4;pointer-events:none;background:#0a1131dd;padding:6px 10px}.mbadge.ov .mbx{font-size:26px;min-width:52px}.mbadge.ov small{display:block}
/* Free Throw: rebuilt court */
.shpart{transform-origin:0 0;transform-box:view-box}
.cfront{position:absolute;inset:0;width:100%;height:100%;display:block;z-index:5;pointer-events:none}
.netg.swish{animation:netsw .7s ease-out}
#vmeter .vtrack,#vmeter #vfill,#vmeter #vzone,#vmeter #vperf{transition:stroke .15s}
#vzone{filter:drop-shadow(0 0 5px #19e58a)}#vmark{filter:drop-shadow(0 0 4px #fff)}
#vmeter.green #vfill{stroke:#19e58a}#vmeter.green .vtrack{stroke:#0e5a3a}#vmeter.miss #vfill{stroke:#ff4d5e}#vmeter.miss .vtrack{stroke:#5a1f2a}
#vl{font:900 11px system-ui;letter-spacing:.08em;fill:#fff;paint-order:stroke;stroke:#000;stroke-width:3px;stroke-linejoin:round}
.court .mbadge.ov{left:auto;right:8px;top:auto;bottom:8px;margin:0}
.court .mbadge.ov{padding:4px 9px;gap:0 6px}.court .mbadge.ov .mbx{font-size:20px;min-width:40px}.court .mbadge.ov .mbp{font-size:12px}.court .mbadge.ov small{display:none}
/* Seahawk Drop: stadium backdrop, chrome cabinet frame, glass slots (Higgsfield art in /assets) */
.dropstage{background:linear-gradient(#050a1c66,#050a1c33),url(assets/drop-bg.webp) center/cover no-repeat;border-color:#2a3a6a}
.dropframe{position:relative;max-width:700px;margin:0 auto;border:30px solid transparent;border-image:url(assets/drop-frame.webp) 94 / 30px stretch;background:rgba(3,8,26,.58);box-shadow:0 18px 40px #000a}
.dropframe canvas{display:block;margin:0 auto}
.dropwin{position:absolute;inset:0;display:grid;place-items:center;background:radial-gradient(circle,#0a1131cc,#050a1cf0);z-index:3;animation:bwin .4s ease-out}
.dropwin.hidden{display:none}.dropwin video{width:min(78%,360px);aspect-ratio:1;object-fit:cover;border-radius:22px;box-shadow:0 0 40px #19e58a88,0 0 0 3px #ffffff33;background:#000 url(assets/bigwin-poster.webp) center/cover}
.dropwin b{position:absolute;left:50%;bottom:7%;transform:translateX(-50%);font:900 clamp(36px,10vw,64px)/1 system-ui;letter-spacing:.02em;color:#ffe08a;text-shadow:0 0 18px #ffb21a,0 3px 0 #0008;animation:bwpop .7s cubic-bezier(.2,1.6,.4,1)}
@keyframes bwin{from{opacity:0}}@keyframes bwpop{from{transform:translateX(-50%) scale(.4);opacity:0}}
@media(max-width:600px){.dropframe{border-width:22px;border-image-width:22px}}

/* phones: grids and panels may shrink below their content, so nothing pushes the page wider than the screen */
@media (max-width:760px){.shopwrap,.admgrid{grid-template-columns:minmax(0,1fr)!important}.shopwrap>*,.admgrid>*,.panel,.game>*{min-width:0}.lparts li,.lucktotal,.note{overflow-wrap:anywhere}}
@media (max-width:760px){.lb{table-layout:fixed;width:100%}.lb td,.lb th{padding:8px 5px;font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lb th:first-child,.lb td:first-child{width:30px}.lbname{gap:5px}.lbname .av{--s:22px!important}}

/* ===== phone one-screen games (see phoneGame in app.js) ===== */
.pgbar{display:none}.pggrid{display:grid;grid-template-columns:1fr 1fr;gap:8px;max-height:60vh;overflow:auto}
.pgg{display:flex;align-items:center;gap:8px;padding:10px;border-radius:12px;border:1px solid var(--line);background:var(--panel2);color:#fff;font-weight:700;font-size:13px;text-align:left}.pgg span{font-size:20px}.pgg.on{border-color:var(--green);box-shadow:0 0 0 1px var(--green) inset}
body.pg{overflow:hidden;overscroll-behavior:none}
body.pg .banner{display:none}
body.pg main#app,body.pg main{padding:6px 8px 0!important;overflow:hidden;display:flex;flex-direction:column}
body.pg .archead,body.pg .cats,body.pg .gstrip,body.pg .gamehead,body.pg .arcfoot{display:none!important}
body.pg .pgbar{display:flex;align-items:center;gap:8px;flex:none;margin-bottom:6px}
.pgb{flex:none;min-height:40px;padding:0 12px;border-radius:12px;border:1px solid var(--line);background:var(--panel2);color:#fff;font-weight:800;font-size:13px}
.pgt{flex:1;min-width:0;display:grid;line-height:1.15}.pgt b{font-size:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pgt small{color:var(--gold);font-size:11px}
body.pg #gm{flex:1;min-height:0;display:flex;flex-direction:column}
body.pg .game,body.pg .game.wide,body.pg .game.wide2{display:flex!important;flex-direction:column;height:100%;gap:8px;min-height:0}
body.pg .game>.stage{order:1;flex:1;min-height:0;padding:6px;overflow:hidden;position:relative;display:block}
body.pg .game>.ctrl{order:2;flex:none;padding:8px 10px 10px;position:relative}
body.pg .fit{position:relative}
body.pg .dock{display:grid;gap:6px}
body.pg .dock .betrow{margin:0}body.pg .dock .betrow input{min-height:44px}body.pg .dock .chip{min-height:44px;min-width:44px}
body.pg .dock .btn{min-height:50px;font-size:17px;padding:10px;margin:0}body.pg .dock .btn kbd{display:none}
body.pg .dock .duo{margin:0}body.pg .dock .res{min-height:0;margin:0;font-size:14px;text-align:center}body.pg .dock .res:empty{display:none}
body.pg .dock .stats{margin:0;gap:6px;grid-template-columns:repeat(auto-fit,minmax(0,1fr))}body.pg .dock .stats>div{padding:4px 8px}body.pg .dock .stats small{font-size:10px}body.pg .dock .stats b{font-size:16px}
body.pg .dock .mbadge{margin:0;padding:4px 10px}body.pg .dock .mbadge .mbx{font-size:20px;min-width:44px}body.pg .dock .mbadge small{display:none}
body.pg .dock .bjacts{margin:0;max-width:none}body.pg .dock .bjacts .btn{min-height:50px;flex-direction:row;gap:6px;font-size:16px;padding:6px}body.pg .dock .bjacts .btn span{font-size:20px}
body.pg .dock .bjbig{margin:0}body.pg .dock .shootbtn{margin:0;font-size:20px}
body.pg .opts{display:none;position:absolute;left:0;right:0;bottom:calc(100% + 6px);max-height:62dvh;overflow:auto;padding:14px 12px;border-radius:16px;background:linear-gradient(160deg,#16205a,#0a1131);border:1px solid #3a4c90;box-shadow:0 -10px 40px #000c;z-index:40}
body.pg .ctrl.opts-open .opts{display:block}
body.pg .optx{position:sticky;top:0;float:right;width:34px;height:34px;border-radius:50%;border:1px solid var(--line);background:#0008;color:#fff;font-weight:900}
body.pg .opts .note{display:block!important}
body.pg .keyhint,body.pg .dragtip{display:none!important}
body.pg .ctrl.playing .betrow,body.pg .ctrl.playing .duo{display:none}
body.pg .dock .stats3{margin:0}body.pg .dock .stats3 small{display:none}body.pg .dock .stats3>div{padding:4px 6px}
body[data-pgg=dice] .dgraph,body[data-pgg=dice] .dfair,body[data-pgg=dice] .dstats,body[data-pgg=dice] .ddet{display:none}
body.pg .dock .duo .btn{font-size:14px;padding:6px 4px;min-height:44px;line-height:1.15}
body[data-pgg=roulette] .wheelwrap.big{max-width:150px;margin:0 auto}
body[data-pgg=bj] .dock:has(#acts:not(.hidden)) .betrow{display:none}
body.pg .ctrl.bare{display:none}
