:root{
  --bg:#101116;--panel:#181a21;--panel2:#20232c;--text:#f7f7f2;--muted:#a9abb5;
  --accent:#d7ff3f;--danger:#ff4d67;--good:#66f2a6;--line:#2d303a;--shadow:0 24px 70px rgba(0,0,0,.35);
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color-scheme:dark;
}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:var(--bg);color:var(--text)}body{min-height:100dvh;overflow-x:hidden}
button,input{font:inherit}.noise{position:fixed;inset:0;pointer-events:none;opacity:.055;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.8'/%3E%3C/svg%3E")}
.app-shell{min-height:100dvh;position:relative}.screen{display:none;min-height:100dvh;padding:22px;position:relative}.screen.active{display:block}.screen.centered{place-items:center;text-align:center;align-content:center}.screen.centered.active{display:grid}
.topbar,.game-topbar{position:absolute;top:0;left:0;right:0;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:20px 22px;padding-top:max(20px,env(safe-area-inset-top));z-index:5}.topbar>:last-child{justify-self:end}.game-topbar{grid-template-columns:1fr auto}.game-topbar div:first-child{text-align:left;display:flex;flex-direction:column}.game-topbar small{color:var(--muted);font-weight:900;letter-spacing:.14em}.game-topbar strong{font-size:1.02rem;margin-top:2px}
.mini-brand{font-weight:1000;letter-spacing:.08em}.mini-brand span{display:inline-grid;place-items:center;width:26px;height:26px;background:var(--accent);color:#0d0e10;border-radius:8px;margin-right:7px;transform:rotate(-4deg)}
.icon-btn,.back-btn,.modal-close{border:0;background:transparent;color:var(--text);font-size:1.5rem;cursor:pointer}.back-btn{justify-self:start}.modal-close{position:absolute;right:18px;top:12px;font-size:2rem;color:var(--muted)}
.brand-lockup{margin-bottom:28px}.shot-mark{width:76px;height:76px;margin:0 auto 18px;border-radius:24px;background:var(--accent);color:#0d0e10;display:grid;place-items:center;font-size:3.2rem;font-weight:1000;transform:rotate(-6deg);box-shadow:0 14px 40px rgba(215,255,63,.16)}.brand-lockup h1{font-size:clamp(3rem,13vw,5.2rem);line-height:.9;margin:0;font-weight:1000;letter-spacing:-.08em}.brand-lockup p{color:var(--muted);font-weight:700}
.card{background:linear-gradient(180deg,var(--panel),#15171d);border:1px solid var(--line);border-radius:24px;padding:22px;box-shadow:var(--shadow);max-width:480px;text-align:left}.card h2{margin-top:0}.card p{color:var(--muted);line-height:1.5}.check-row{display:flex;gap:12px;align-items:flex-start;margin:20px 0;font-size:.92rem}.check-row input{margin-top:3px;accent-color:var(--accent)}
.btn{border:0;border-radius:16px;padding:15px 20px;font-weight:1000;letter-spacing:.04em;cursor:pointer;transition:transform .12s ease,opacity .12s ease,filter .12s ease}.btn:active{transform:scale(.98)}.btn:disabled{opacity:.32;cursor:not-allowed}.btn.primary{background:var(--accent);color:#0c0d0f;box-shadow:0 14px 32px rgba(215,255,63,.12)}.btn.ghost{background:var(--panel);color:var(--text);border:1px solid var(--line)}.btn.huge{font-size:1.05rem;padding:18px 30px;min-width:min(100%,310px)}.btn.wide{width:100%}.btn.square{width:52px;height:52px;padding:0;font-size:1.5rem;background:var(--accent);color:#111}
.hero{max-width:620px;padding:72px 0 55px}.eyebrow,.step-label{font-size:.75rem;font-weight:1000;letter-spacing:.2em;color:var(--accent);text-transform:uppercase}.hero h2,.content h2,.result-screen h2{font-size:clamp(2.5rem,11vw,5.4rem);line-height:.92;letter-spacing:-.06em;margin:14px 0 16px;font-weight:1000}.hero h2 em{font-style:normal;color:var(--accent)}.hero p{max-width:500px;margin:0 auto 28px;color:var(--muted);font-size:1.08rem}.hero .btn{display:block;margin:10px auto}.feature-strip{position:absolute;bottom:62px;display:flex;gap:8px;flex-wrap:wrap;justify-content:center;width:calc(100% - 44px)}.feature-strip span{background:var(--panel);border:1px solid var(--line);padding:8px 11px;border-radius:999px;font-size:.75rem;font-weight:800;color:#c9cbd2}.license-badge{position:absolute;bottom:22px;font-size:.68rem;letter-spacing:.14em;color:#727580;font-weight:900}
.content{padding:86px 0 100px;margin:0 auto}.narrow{max-width:620px}.muted{color:var(--muted)}.player-form{display:grid;grid-template-columns:1fr auto;gap:10px;margin:22px 0}.player-form input{height:52px;border-radius:14px;border:1px solid var(--line);background:var(--panel);color:var(--text);padding:0 16px;outline:none}.player-form input:focus{border-color:#666b7a}.player-list{display:grid;gap:8px}.player-chip{display:flex;align-items:center;gap:12px;padding:11px 12px;border-radius:14px;background:var(--panel);border:1px solid var(--line)}.player-chip .avatar{width:34px;height:34px}.player-chip strong{flex:1}.remove-player{border:0;background:transparent;color:#777b87;font-size:1.2rem;cursor:pointer}.divider{height:1px;background:var(--line);margin:30px 0}.option-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin:16px 0 22px}.option-card{border:1px solid var(--line);background:var(--panel);color:var(--text);border-radius:16px;padding:15px 10px;cursor:pointer}.option-card strong,.option-card span{display:block}.option-card strong{font-size:.82rem}.option-card span{font-size:.7rem;color:var(--muted);margin-top:5px}.option-card.selected{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.toggle-row{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:16px 0;border-top:1px solid var(--line)}.toggle-row span{display:flex;flex-direction:column}.toggle-row small{color:var(--muted);margin-top:3px}.toggle-row input{width:46px;height:26px;accent-color:var(--accent)}.sticky-action{margin-top:25px}
.round-pill{background:var(--panel);border:1px solid var(--line);padding:8px 14px;border-radius:999px;font-size:.72rem;font-weight:1000;letter-spacing:.15em;color:var(--muted)}.avatar{display:grid;place-items:center;border-radius:50%;background:var(--panel2);font-weight:1000;border:1px solid #343844}.huge-avatar{width:104px;height:104px;font-size:2.7rem;margin:28px auto 12px;background:var(--accent);color:#111;border:0}.handoffName{}.streak{border:1px solid var(--line);background:var(--panel);padding:8px 11px;border-radius:999px;font-size:.8rem;font-weight:900}
.game-screen{padding:0}.challenge-mount{min-height:100dvh;display:grid;place-items:center;padding:100px 22px 36px}.challenge-card{width:min(100%,640px);text-align:center}.challenge-tag{font-size:.72rem;letter-spacing:.18em;font-weight:1000;color:var(--accent)}.challenge-card h2{font-size:clamp(2rem,10vw,4.7rem);line-height:.95;letter-spacing:-.055em;margin:12px 0}.challenge-card .instruction{color:var(--muted);font-size:1rem;margin:0 auto 26px;max-width:480px}.big-display{font-variant-numeric:tabular-nums;font-size:clamp(4.5rem,22vw,9rem);font-weight:1000;letter-spacing:-.07em;margin:18px 0}.target-note{font-size:.78rem;color:var(--muted);font-weight:800;letter-spacing:.08em}.play-button{width:min(72vw,250px);aspect-ratio:1;border-radius:50%;border:8px solid #2c3039;background:var(--accent);color:#111;font-size:1.1rem;font-weight:1000;cursor:pointer;box-shadow:0 20px 55px rgba(215,255,63,.12);touch-action:manipulation}.play-button.danger{background:var(--danger);color:white}.play-button.waiting{background:#2a2d35;color:#777b85}.play-button.ready{background:var(--good)}.play-button:active{transform:scale(.985)}
.hold-track{width:min(100%,420px);height:18px;background:var(--panel);border:1px solid var(--line);border-radius:999px;overflow:hidden;margin:18px auto 30px}.hold-fill{height:100%;width:0%;background:var(--accent)}
.memory-row{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;margin:28px 0}.memory-tile{width:58px;height:58px;border-radius:15px;background:var(--panel2);border:1px solid var(--line);display:grid;place-items:center;font-size:1.8rem}.answer-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;max-width:420px;margin:20px auto}.answer-btn{border:1px solid var(--line);background:var(--panel);color:var(--text);border-radius:15px;padding:17px;font-size:1.4rem;cursor:pointer}.answer-btn:active{transform:scale(.98)}
.slider-wrap{max-width:440px;margin:30px auto}.precision-slider{width:100%;accent-color:var(--accent)}.slider-scale{display:flex;justify-content:space-between;color:var(--muted);font-size:.75rem;margin-top:7px}.tap-zone{width:min(78vw,300px);height:180px;border-radius:26px;background:var(--panel);border:2px solid var(--line);display:grid;place-items:center;margin:24px auto;user-select:none;touch-action:manipulation}.tap-count{font-size:4rem;font-weight:1000}.dot-field{width:min(88vw,410px);height:260px;background:var(--panel);border:1px solid var(--line);border-radius:24px;position:relative;margin:22px auto;overflow:hidden}.dot{position:absolute;width:14px;height:14px;border-radius:50%;background:var(--accent)}
.target-field{width:min(88vw,410px);height:340px;background:var(--panel);border:1px solid var(--line);border-radius:24px;position:relative;margin:20px auto;overflow:hidden;touch-action:manipulation}.moving-target{position:absolute;width:68px;height:68px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 10px rgba(215,255,63,.1);animation:roam 2.4s infinite alternate ease-in-out}@keyframes roam{0%{left:8%;top:12%}25%{left:68%;top:24%}50%{left:27%;top:70%}75%{left:72%;top:65%}100%{left:38%;top:30%}}
.result-icon{width:100px;height:100px;border-radius:50%;display:grid;place-items:center;font-size:3rem;font-weight:1000;background:var(--good);color:#0d0e10;margin-bottom:22px}.result-screen.fail .result-icon{background:var(--danger);color:white}.result-detail{color:var(--muted);font-size:1.05rem;max-width:500px}.drink-action{margin:22px 0 26px;padding:16px 20px;border-radius:16px;background:var(--panel);border:1px solid var(--line);font-size:1.08rem}.drink-action strong{color:var(--accent)}
.score-list{display:grid;gap:10px;margin:28px 0}.score-row{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;text-align:left;background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:12px}.score-row .rank{color:var(--muted);font-weight:1000}.score-row b{font-size:.9rem}.score-row small{display:block;color:var(--muted);margin-top:2px}.score-row .points{font-weight:1000;color:var(--accent)}.centered-text{text-align:center}
.modal{width:min(calc(100% - 30px),500px);border:1px solid var(--line);border-radius:24px;background:#15171d;color:var(--text);padding:28px;box-shadow:var(--shadow)}.modal::backdrop{background:rgba(0,0,0,.72);backdrop-filter:blur(5px)}.modal h2{font-size:2rem;margin:8px 0}.modal p{color:var(--muted);line-height:1.45}.price-stack{display:grid;gap:10px;margin:22px 0}.purchase-card{display:flex;justify-content:space-between;align-items:center;text-align:left;border:1px solid var(--line);background:var(--panel);color:var(--text);padding:15px;border-radius:15px;cursor:pointer}.purchase-card span{display:flex;flex-direction:column}.purchase-card small{color:var(--muted);margin-top:3px}.purchase-card b{font-size:1.2rem}.purchase-card.featured{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.purchase-card.featured b{color:var(--accent)}.tiny{font-size:.72rem}.tiny code{color:#cdd1dc}
@media(max-width:520px){.option-grid{grid-template-columns:1fr}.option-card{display:flex;justify-content:space-between;align-items:center}.option-card span{margin:0}.hero{padding-top:40px}.feature-strip{bottom:56px}.screen{padding:18px}.challenge-mount{padding-left:18px;padding-right:18px}}
@media(min-width:800px){.screen{padding:30px}.topbar,.game-topbar{padding-left:34px;padding-right:34px}.hero p{font-size:1.2rem}}

/* v2 excitement layer */
.game-status{display:flex;gap:7px;align-items:center}.risk-badge{border:1px solid var(--line);background:#171a20;padding:8px 10px;border-radius:999px;font-size:.72rem;font-weight:1000;letter-spacing:.05em}.risk-screen h2,.chaos-screen h2{font-size:clamp(3rem,14vw,6rem);line-height:.9;letter-spacing:-.07em;margin:12px 0}.risk-copy{margin:0 0 24px}.risk-grid{width:min(100%,620px);display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.risk-card{min-height:190px;border:1px solid var(--line);border-radius:22px;background:linear-gradient(180deg,#1b1e25,#12141a);color:var(--text);padding:18px 12px;cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;transition:.16s ease;box-shadow:0 15px 40px rgba(0,0,0,.2)}.risk-card:active{transform:scale(.97)}.risk-card:hover{transform:translateY(-3px)}.risk-card .risk-icon{font-size:2rem}.risk-card strong{font-size:1.05rem;letter-spacing:.08em}.risk-card b{font-size:1.35rem}.risk-card small{color:var(--muted);line-height:1.3}.risk-card.safe:hover{border-color:#58e18b}.risk-card.risk:hover{border-color:var(--accent)}.risk-card.insane{background:linear-gradient(180deg,#26161b,#151217)}.risk-card.insane:hover{border-color:var(--danger)}.risk-card.insane b{color:#ff7380}.boss-warning{margin-top:18px;border:1px solid #7c2830;background:#251116;color:#ff7b88;padding:11px 14px;border-radius:999px;font-size:.76rem;font-weight:1000;letter-spacing:.08em;animation:bossPulse 1s infinite alternate}.hidden{display:none!important}.chaos-screen{background:radial-gradient(circle at 50% 35%,rgba(255,77,95,.14),transparent 35%)}.chaos-badge{padding:8px 12px;border-radius:999px;background:var(--danger);color:white;font-size:.72rem;font-weight:1000;letter-spacing:.16em}.chaos-icon{font-size:5.4rem;margin:24px 0 4px;filter:drop-shadow(0 18px 30px rgba(255,77,95,.24));animation:chaosPop .7s cubic-bezier(.2,.9,.2,1)}.challenge-meta{display:flex;justify-content:center;align-items:center;gap:8px;flex-wrap:wrap}.modifier-pill{font-size:.66rem;font-weight:1000;letter-spacing:.08em;padding:6px 9px;border-radius:999px;background:#2a1519;border:1px solid #6d2930;color:#ff919a}.score-delta{font-size:1.25rem;font-weight:1000;color:var(--accent);margin-top:13px;letter-spacing:.05em}.score-delta.negative{color:#ff707d}.blacked{letter-spacing:.15em;color:#5b5f69}.stroop-word{font-size:clamp(4rem,22vw,8rem);font-weight:1000;letter-spacing:-.06em;margin:25px 0}.color-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;max-width:430px;margin:0 auto}.color-btn{border:2px solid var(--line);background:var(--panel);color:white;border-radius:16px;padding:17px 12px;font-weight:1000;cursor:pointer}.sequence-display{font-size:clamp(2.4rem,13vw,5rem);font-weight:1000;min-height:90px;margin:28px 0;letter-spacing:.08em}.dir-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;max-width:450px;margin:0 auto}.dir-btn{aspect-ratio:1;border:1px solid var(--line);border-radius:18px;background:var(--panel);color:var(--text);font-size:2rem;cursor:pointer}.math-grid .answer-btn{font-size:1.8rem;font-weight:1000}.moving-target.decoy{background:#3b3f49;box-shadow:none;opacity:.85}.burst-particle{position:fixed;z-index:9999;left:50%;top:58%;pointer-events:none;color:var(--accent);font-style:normal;font-size:1.3rem;font-weight:1000;animation:burstFly .8s ease-out forwards}.boss-live .challenge-mount{background:radial-gradient(circle at 50% 40%,rgba(255,77,95,.11),transparent 42%)}.boss-live .game-topbar{border-bottom-color:#5e252c}.boss-live .risk-badge{border-color:#7c2830;color:#ff8791}
@keyframes burstFly{from{transform:translate(-50%,-50%) scale(.5);opacity:1}to{transform:translate(calc(-50% + var(--x)),calc(-50% + var(--y))) rotate(var(--r)) scale(1.2);opacity:0}}@keyframes chaosPop{0%{transform:scale(.2) rotate(-18deg);opacity:0}65%{transform:scale(1.14) rotate(5deg)}100%{transform:scale(1) rotate(0)}}@keyframes bossPulse{from{box-shadow:0 0 0 rgba(255,77,95,0)}to{box-shadow:0 0 30px rgba(255,77,95,.2)}}
@media(max-width:560px){.risk-grid{grid-template-columns:1fr}.risk-card{min-height:112px;display:grid;grid-template-columns:44px 1fr auto;grid-template-rows:auto auto;text-align:left;padding:14px 16px}.risk-card .risk-icon{grid-row:1/3}.risk-card strong{align-self:end}.risk-card b{grid-column:3;grid-row:1/3;align-self:center}.risk-card small{grid-column:2;align-self:start}.game-status{gap:4px}.risk-badge,.streak{font-size:.62rem;padding:7px 8px}.dir-grid{grid-template-columns:repeat(4,1fr)}}

/* v3 trap + frenzy layer */
.evil-color-grid{margin-top:22px}.evil-color-btn{min-height:92px;font-size:1.3rem;letter-spacing:.08em;text-shadow:0 2px 12px rgba(0,0,0,.28);box-shadow:inset 0 -10px 22px rgba(0,0,0,.12),0 12px 28px rgba(0,0,0,.18);transition:transform .14s ease,filter .14s ease}.evil-color-btn:active{transform:scale(.95);filter:brightness(1.15)}.trap-warning{margin:15px auto 0;font-size:.7rem;font-weight:1000;letter-spacing:.16em;color:#ff7f8b;animation:trapBlink .7s infinite alternate}.color-panic .evil-color-btn:nth-child(1){animation:panicTilt .52s infinite alternate}.color-panic .evil-color-btn:nth-child(2){animation:panicTilt .47s .08s infinite alternate-reverse}.color-panic .evil-color-btn:nth-child(3){animation:panicTilt .43s .04s infinite alternate}.color-panic .evil-color-btn:nth-child(4){animation:panicTilt .49s .12s infinite alternate-reverse}
.fakeout-stage{width:min(82vw,340px);height:250px;border-radius:28px;border:2px solid var(--line);background:#23262e;color:#8a8d97;font-size:clamp(2.4rem,13vw,5rem);font-weight:1000;letter-spacing:-.05em;cursor:pointer;box-shadow:var(--shadow);touch-action:manipulation;transition:background .06s ease,color .06s ease,transform .06s ease}.fakeout-stage:active{transform:scale(.985)}.fakeout-stage.decoy-flash{background:#431a20;color:#ff7a88;border-color:#7b2933}.fakeout-stage.go-flash{background:var(--good);color:#0b1710;border-color:var(--good);box-shadow:0 0 0 10px rgba(102,242,166,.08),0 20px 70px rgba(102,242,166,.22)}
.direction-trap{display:grid;place-items:center;margin:18px auto 24px;min-height:190px}.direction-arrow{grid-area:1/1;font-size:clamp(7rem,34vw,13rem);line-height:.8;font-weight:1000;color:var(--accent);filter:drop-shadow(0 12px 30px rgba(215,255,63,.18))}.direction-lie{grid-area:1/1;font-size:clamp(2rem,12vw,4.5rem);font-weight:1000;letter-spacing:-.06em;color:#fff;text-shadow:0 3px 14px #000,0 0 30px #000;transform:rotate(-7deg)}.brain-dir-grid .dir-btn{background:#1b1e25;font-weight:1000;transition:.1s ease}.brain-dir-grid .dir-btn:active{background:var(--accent);color:#111;transform:scale(.94)}
.ring-arena{width:min(82vw,340px);aspect-ratio:1;margin:20px auto;position:relative;border-radius:50%;background:radial-gradient(circle,#15171c 0 48%,#1d2027 49% 100%);border:1px solid var(--line);cursor:pointer;overflow:hidden;box-shadow:inset 0 0 50px rgba(0,0,0,.38),0 20px 50px rgba(0,0,0,.22);touch-action:manipulation}.ring-target,.ring-pulse{position:absolute;left:50%;top:50%;width:82%;height:82%;border-radius:50%;transform:translate(-50%,-50%)}.ring-target{border:12px solid rgba(215,255,63,.18);outline:3px dashed rgba(215,255,63,.7);transform:translate(-50%,-50%) scale(var(--target-scale));box-shadow:0 0 28px rgba(215,255,63,.1)}.ring-pulse{border:10px solid #fff;background:rgba(255,255,255,.025);box-shadow:0 0 22px rgba(255,255,255,.16);transform:translate(-50%,-50%) scale(.3)}
.frenzy-live .challenge-mount{background:radial-gradient(circle at 50% 42%,rgba(255,77,103,.14),transparent 38%),linear-gradient(180deg,rgba(255,77,103,.035),transparent 30%)}.frenzy-live .game-topbar{animation:frenzyBar .55s infinite alternate}.frenzy-live .challenge-tag{color:#ff7080}.frenzy-live .risk-badge{border-color:#8a3039;color:#ff8995}.frenzy-live .challenge-card{animation:frenzyBreath 1.1s infinite alternate ease-in-out}
@keyframes trapBlink{from{opacity:.45}to{opacity:1}}@keyframes panicTilt{from{transform:rotate(-1.2deg) scale(.99)}to{transform:rotate(1.2deg) scale(1.01)}}@keyframes frenzyBar{from{box-shadow:0 0 0 rgba(255,77,103,0)}to{box-shadow:0 12px 38px rgba(255,77,103,.14)}}@keyframes frenzyBreath{from{transform:scale(.995)}to{transform:scale(1.002)}}
@media(max-width:560px){.evil-color-btn{min-height:78px;font-size:1.05rem}.fakeout-stage{height:220px}.ring-target{border-width:9px}.ring-pulse{border-width:8px}.direction-trap{min-height:155px}}

/* language selector */
.language-picker{display:flex;gap:8px;flex-wrap:wrap;justify-content:center}.language-picker-top{position:absolute;top:max(18px,env(safe-area-inset-top));left:50%;transform:translateX(-50%);z-index:8;width:min(94vw,520px)}.language-picker button{border:1px solid var(--line);background:var(--panel);color:var(--text);border-radius:999px;padding:9px 13px;font-size:.76rem;font-weight:900;cursor:pointer;transition:.14s ease}.language-picker button.active{border-color:var(--accent);background:var(--accent);color:#101116;box-shadow:0 8px 24px rgba(215,255,63,.14)}.settings-language{padding:14px 0 18px;border-top:1px solid var(--line);margin-top:12px}.settings-language>strong{display:block;margin-bottom:10px}.settings-language .language-picker{justify-content:flex-start}@media(max-width:520px){.language-picker-top{top:max(10px,env(safe-area-inset-top))}.language-picker button{padding:8px 10px;font-size:.69rem}.brand-lockup{margin-top:52px}}

/* v5 live score + redemption / filthy mode */
.live-score-hud{position:fixed;z-index:45;left:50%;top:max(8px,env(safe-area-inset-top));transform:translateX(-50%);width:min(94vw,780px);display:flex;align-items:center;gap:8px;padding:7px 9px;border:1px solid rgba(255,255,255,.1);background:rgba(13,14,18,.91);backdrop-filter:blur(15px);-webkit-backdrop-filter:blur(15px);border-radius:16px;box-shadow:0 12px 34px rgba(0,0,0,.34)}
.hud-title{display:flex;gap:5px;align-items:center;flex:0 0 auto;padding:5px 7px;border-right:1px solid var(--line);font-size:.64rem;letter-spacing:.08em;color:var(--muted)}
.hud-title b{color:var(--text)}
.hud-scores{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;flex:1;padding:1px}.hud-scores::-webkit-scrollbar{display:none}
.hud-score-chip{appearance:none;display:flex;align-items:center;gap:7px;white-space:nowrap;border:1px solid var(--line);background:#17191f;color:var(--text);font-family:inherit;border-radius:999px;padding:6px 9px;font-size:.69rem;font-weight:900;cursor:pointer;transition:.18s ease}
.hud-score-chip span{max-width:90px;overflow:hidden;text-overflow:ellipsis}.hud-score-chip b{font-size:.9rem;color:var(--accent)}
.hud-score-chip.current{border-color:var(--accent);box-shadow:0 0 0 1px rgba(215,255,63,.12),0 0 22px rgba(215,255,63,.08)}
.hud-score-chip.leader{background:linear-gradient(180deg,#27240f,#181912);border-color:#6f6927}
.score-summary-modal{position:fixed;inset:0;z-index:9000;display:grid;place-items:center;padding:16px}.score-summary-backdrop{position:absolute;inset:0;border:0;background:rgba(5,6,9,.82);backdrop-filter:blur(9px);-webkit-backdrop-filter:blur(9px);cursor:pointer}.score-summary-dialog{position:relative;width:min(92vw,560px);max-height:min(82dvh,720px);overflow:auto;border:1px solid #3a3e47;border-radius:26px;background:radial-gradient(circle at 88% 0%,rgba(199,255,44,.11),transparent 30%),linear-gradient(160deg,#1b1d24,#101218 72%);box-shadow:0 30px 90px rgba(0,0,0,.62);padding:18px}.score-summary-dialog header{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;text-align:left}.score-summary-dialog header small{color:var(--accent);font-size:.62rem;font-weight:1000;letter-spacing:.16em}.score-summary-dialog h2{margin:4px 0 0;font-size:clamp(1.9rem,8vw,3rem);letter-spacing:-.045em}.score-summary-x{appearance:none;width:42px;height:42px;border:1px solid var(--line);border-radius:50%;background:#17191f;color:#fff;font:500 1.8rem/1 system-ui;cursor:pointer}.score-summary-hint{margin:10px 0 14px;color:var(--muted);font-size:.72rem;line-height:1.4;text-align:left}.score-summary-rows{display:grid;gap:8px;margin-bottom:15px}.score-summary-row{display:grid;grid-template-columns:42px minmax(0,1fr) auto;gap:10px;align-items:center;min-height:66px;padding:9px 12px;border:1px solid var(--line);border-radius:17px;background:#14161c;text-align:left}.score-summary-row.current{border-color:var(--accent);box-shadow:inset 0 0 0 1px rgba(199,255,44,.12)}.score-summary-row.leader{background:linear-gradient(135deg,#27240f,#171912);border-color:#6f6927}.score-summary-rank{font-size:1rem;font-weight:1000;text-align:center;color:#aeb2bc}.score-summary-player{min-width:0;display:grid;gap:3px}.score-summary-player strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.9rem}.score-summary-player small{font-size:.62rem;color:var(--muted)}.score-summary-row>b{color:var(--accent);font-size:1.35rem;white-space:nowrap}.score-summary-row>b small{font-size:.56rem;text-transform:uppercase;color:#9fa4ae;letter-spacing:.06em}
.screen.active:not(#homeScreen):not(#setupScreen):not(#ageScreen):not(#scoreScreen){padding-top:max(76px,calc(env(safe-area-inset-top) + 68px))}

.recovery-screen,.dirty-dare-screen,.recovery-skill-screen{background:radial-gradient(circle at 50% 30%,rgba(255,77,103,.15),transparent 36%)}
.recovery-badge{display:inline-flex;align-items:center;padding:8px 13px;border-radius:999px;background:linear-gradient(90deg,#ff3e67,#ff7147);font-weight:1000;font-size:.72rem;letter-spacing:.14em;box-shadow:0 10px 30px rgba(255,62,103,.18)}
.recovery-screen h2,.dirty-dare-screen h2,.recovery-skill-screen h2{font-size:clamp(2.8rem,13vw,6rem);line-height:.9;letter-spacing:-.07em;margin:18px 0 10px;text-transform:uppercase}
.recovery-tokens{margin:10px 0 22px;padding:8px 13px;border-radius:999px;border:1px solid var(--line);background:#17191f;font-size:.72rem;font-weight:1000;letter-spacing:.09em;color:var(--accent)}
.recovery-grid{width:min(100%,660px);display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:0 auto 14px}
.recovery-card{min-height:230px;border:1px solid var(--line);border-radius:24px;background:linear-gradient(180deg,#20191e,#131419);color:var(--text);padding:20px 16px;cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;text-align:center;box-shadow:0 18px 45px rgba(0,0,0,.24);transition:.15s ease}
.recovery-card:hover{transform:translateY(-3px)}.recovery-card:active{transform:scale(.98)}.recovery-card.dirty{border-color:#74313f;background:radial-gradient(circle at 50% 25%,rgba(255,70,105,.12),transparent 45%),linear-gradient(180deg,#24171e,#141318)}.recovery-card.skill{border-color:#5c632a;background:radial-gradient(circle at 50% 25%,rgba(215,255,63,.09),transparent 45%),linear-gradient(180deg,#1b1e16,#131419)}
.recovery-icon{font-size:2.7rem}.recovery-card strong{font-size:1.15rem;letter-spacing:.08em}.recovery-card b{font-size:1.55rem;color:var(--accent)}.recovery-card.dirty b{color:#ff718d}.recovery-card small{color:var(--muted);line-height:1.4;max-width:260px}
.recovery-btn{margin-top:12px;background:linear-gradient(90deg,#ff3d68,#ff754b);border:0;color:white;font-weight:1000;letter-spacing:.05em;box-shadow:0 15px 34px rgba(255,62,103,.2);animation:recoveryPulse .8s infinite alternate}
.dirty-dare-icon{font-size:5rem;margin:22px 0 0;filter:drop-shadow(0 18px 32px rgba(255,70,105,.25))}.dirty-dare-text{font-size:clamp(1.05rem,4vw,1.35rem);line-height:1.5;max-width:620px;margin:0 auto 18px;color:#e7e8ec;font-weight:650}.consent-note{margin:0 auto 18px;padding:7px 11px;border:1px solid #5e313b;border-radius:999px;color:#ff91a4;background:#25161b;font-size:.66rem;font-weight:1000;letter-spacing:.11em}
.recovery-skill-screen .big-display{margin:26px auto 14px}.recovery-skill-screen .play-button{margin-bottom:14px}
.result-screen .recovery-btn.hidden{display:none!important}
@keyframes recoveryPulse{from{box-shadow:0 12px 28px rgba(255,62,103,.14)}to{box-shadow:0 12px 42px rgba(255,62,103,.34)}}
@media(max-width:560px){.live-score-hud{width:96vw;top:max(5px,env(safe-area-inset-top));padding:6px;border-radius:14px}.hud-title{display:none}.hud-score-chip{padding:5px 8px;font-size:.62rem}.hud-score-chip b{font-size:.8rem}.screen.active:not(#homeScreen):not(#setupScreen):not(#ageScreen):not(#scoreScreen){padding-top:max(68px,calc(env(safe-area-inset-top) + 62px))}.recovery-grid{grid-template-columns:1fr}.recovery-card{min-height:140px;display:grid;grid-template-columns:46px 1fr auto;grid-template-rows:auto auto;text-align:left;padding:15px}.recovery-icon{grid-row:1/3;font-size:2.2rem}.recovery-card b{grid-column:3;grid-row:1/3;align-self:center;font-size:1.2rem}.recovery-card small{grid-column:2}.dirty-dare-screen h2{font-size:clamp(2.5rem,13vw,4.5rem)}}

/* v7 finale */
.multiplayer-entry{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;margin-top:8px}
.finale-screen{background:radial-gradient(circle at 50% 25%,rgba(215,255,63,.09),transparent 36%),linear-gradient(180deg,#111217,#0d0e12)}
.finale-screen.loser-finale{background:radial-gradient(circle at 50% 25%,rgba(255,70,95,.14),transparent 36%),linear-gradient(180deg,#111217,#0d0e12)}
.finale-kicker{display:inline-flex;align-items:center;gap:7px;padding:8px 14px;border-radius:999px;border:1px solid #63303a;background:#24151a;color:#ff8298;font-size:.7rem;font-weight:1000;letter-spacing:.14em}.finale-kicker.winner{border-color:#68702b;background:#1b2012;color:var(--accent)}.finale-kicker.boss{border-color:#78333d;background:linear-gradient(90deg,#29151b,#1a1214);color:#ff6b83;animation:recoveryPulse .75s infinite alternate}
.finale-screen>h2{font-size:clamp(3rem,14vw,6.7rem);line-height:.88;letter-spacing:-.07em;margin:18px 0 12px;text-transform:uppercase;max-width:920px}.finale-card,.reward-card{width:min(92vw,620px);margin:18px auto;padding:22px;border:1px solid var(--line);border-radius:28px;background:linear-gradient(180deg,#1b1d23,#121318);box-shadow:0 24px 60px rgba(0,0,0,.3)}.finale-card>strong,.reward-card>strong{display:block;font-size:1.4rem;letter-spacing:.08em}.finale-card>span{display:block;color:var(--muted);margin:8px auto 2px;line-height:1.45}.finale-card .big-display{margin:22px auto 12px}.finale-card .play-button{margin-bottom:0}.finale-actions{width:min(92vw,620px);display:grid;grid-template-columns:1fr 1fr;gap:10px}.btn.danger{background:linear-gradient(90deg,#ff3e67,#ff6b43);border:0;color:#fff}.reward-icon{font-size:4.6rem;margin-bottom:8px;filter:drop-shadow(0 14px 30px rgba(215,255,63,.15))}.reward-card p{color:#d9dbe2;line-height:1.5;margin:10px auto 0;max-width:480px}.finale-big-icon{font-size:5.5rem;margin:12px 0;filter:drop-shadow(0 16px 36px rgba(215,255,63,.15))}.reward-summary{width:min(92vw,650px);display:grid;gap:10px;margin:12px auto 20px}.mini-reward{display:flex;gap:14px;align-items:center;text-align:left;border:1px solid var(--line);background:#17191f;border-radius:20px;padding:14px 16px}.mini-reward>span{font-size:2rem}.mini-reward b{display:block;color:var(--accent);font-size:.98rem}.mini-reward small{display:block;color:var(--muted);margin-top:4px;line-height:1.35}.reward-owner{font-size:.78rem;font-weight:1000;letter-spacing:.1em;color:#ffcf65}
@media(max-width:560px){.finale-actions{grid-template-columns:1fr}.finale-card,.reward-card{padding:18px;border-radius:22px}.finale-screen>h2{font-size:clamp(2.8rem,15vw,5rem)}}

/* v7 realtime multiplayer */
.mp-body{min-height:100vh}.mp-shell{min-height:100vh}.mp-role-card,.mp-form-card{width:min(92vw,560px)}.mp-role-card .btn,.mp-form-card .btn{margin-top:8px}.mp-link{text-decoration:none;display:flex;align-items:center;justify-content:center}.mp-form-card{display:grid;gap:10px}.mp-form-card input{width:100%;border:1px solid var(--line);background:#111319;color:var(--text);padding:15px 16px;border-radius:15px;font:inherit;font-size:1rem;outline:none;text-transform:none}.mp-form-card input:focus{border-color:var(--accent)}.server-warning{width:min(92vw,620px);margin:14px auto;padding:14px 16px;border:1px solid #713845;background:#26171c;color:#ff9aad;border-radius:16px;line-height:1.45}.mp-lobby-grid{display:grid;grid-template-columns:minmax(260px,.9fr) minmax(280px,1.1fr);gap:12px;width:min(94vw,820px);margin:12px auto}.qr-box{display:flex;align-items:center;justify-content:center;width:min(64vw,296px);min-height:min(64vw,296px);margin:12px auto;background:#fff;border-radius:18px;padding:8px;overflow:hidden}.qr-box img,.qr-box canvas{max-width:100%;height:auto!important}.qr-fallback{color:#111217;font-weight:900;padding:20px}.room-code{font-size:clamp(2.4rem,10vw,4.6rem);font-weight:1000;letter-spacing:.15em;color:var(--accent);line-height:1}.break-url{overflow-wrap:anywhere}.mp-player-list{margin-top:12px}.mp-player-list .player-chip span{margin-left:auto;color:var(--accent);font-size:.63rem;font-weight:1000;letter-spacing:.08em}.mp-lengths{width:min(94vw,720px);margin:10px auto}.mp-game-screen.active{padding-top:max(78px,calc(env(safe-area-inset-top) + 70px))}.mp-game-screen>h2{font-size:clamp(3rem,14vw,6.5rem);line-height:.88;text-transform:uppercase}.error-text{color:#ff758d;min-height:1.2em}.dot-field{position:relative;width:min(90vw,560px);height:260px;border:1px solid var(--line);border-radius:22px;background:#111319;margin:18px auto;overflow:hidden}.estimate-dot{position:absolute;width:12px;height:12px;border-radius:50%;background:var(--accent);transform:translate(-50%,-50%)}
@media(max-width:700px){.mp-lobby-grid{grid-template-columns:1fr}.qr-card img{width:min(68vw,250px)}.mp-lengths{grid-template-columns:1fr 1fr 1fr}.mp-lengths .option-card{padding:14px 7px}.mp-lengths .option-card span{font-size:.65rem}}

/* v9.1.9 — every round is a physical-style SipShot card */
.challenge-mount{display:grid;place-items:center;padding:22px 14px 46px;perspective:1100px}
.sipshot-card-shell{width:min(92vw,560px);position:relative;animation:sipCardDraw .62s cubic-bezier(.16,.9,.24,1) both;transform-origin:50% 110%}
.sipshot-card-shell.no-redraw{animation:none!important}
.sipshot-card-shell:before,.sipshot-card-shell:after{content:"";position:absolute;inset:10px -8px -10px 8px;border:1px solid rgba(255,255,255,.09);border-radius:30px;background:#111319;z-index:-2;transform:rotate(2.2deg)}
.sipshot-card-shell:after{inset:5px 5px -5px -5px;transform:rotate(-1.25deg);z-index:-1;background:#15171d}
.sipshot-task-card{position:relative;overflow:hidden;min-height:540px;padding:22px 20px 24px;border:1px solid #373b46;border-radius:30px;background:radial-gradient(circle at 85% 5%,rgba(199,255,44,.10),transparent 26%),linear-gradient(160deg,#1b1d24 0%,#111319 70%);box-shadow:0 32px 74px rgba(0,0,0,.45);display:flex;flex-direction:column;text-align:center}
.sipshot-task-card:before{content:"SIPSHOT";position:absolute;right:-27px;top:96px;transform:rotate(90deg);font-size:.62rem;letter-spacing:.36em;font-weight:1000;color:rgba(255,255,255,.16)}
.sipshot-task-card.card-kind-bonus{border-color:#697d28;background:radial-gradient(circle at 78% 0%,rgba(199,255,44,.18),transparent 33%),linear-gradient(160deg,#1c2117,#111319 72%)}
.sipshot-task-card.card-kind-chaos{border-color:#793143;background:radial-gradient(circle at 78% 0%,rgba(255,69,102,.19),transparent 34%),linear-gradient(160deg,#24161d,#111319 72%)}
.sipshot-task-card.card-kind-boss{border-color:#a84054;background:radial-gradient(circle at 50% 0%,rgba(255,55,90,.24),transparent 38%),linear-gradient(160deg,#2b151c,#101116 70%);box-shadow:0 30px 80px rgba(255,44,83,.14),0 30px 70px rgba(0,0,0,.5)}
.sip-card-top{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:18px}.sip-card-no{font-weight:1000;font-size:.68rem;letter-spacing:.14em;color:#a8abb5}.sip-card-type{padding:7px 10px;border:1px solid #424650;border-radius:999px;font-weight:1000;font-size:.64rem;letter-spacing:.1em}.sipshot-task-card.card-kind-bonus .sip-card-type{color:var(--accent);border-color:#5f6f2b}.sipshot-task-card.card-kind-chaos .sip-card-type,.sipshot-task-card.card-kind-boss .sip-card-type{color:#ff8396;border-color:#773041}
.challenge-time-limit{display:inline-flex;align-items:center;gap:4px;padding:5px 8px;border:1px solid #454a54;border-radius:999px;background:rgba(10,11,15,.72);color:#d9dce3;font-size:.58rem;font-weight:1000;letter-spacing:.04em;white-space:nowrap}.challenge-time-limit b{font-size:.76rem;color:var(--accent)}.challenge-time-limit small{font-size:.48rem;color:#969ba6}.challenge-time-limit.urgent{border-color:#8c3442;background:#2b151b;color:#ff8c9c;animation:challengeDeadlinePulse .65s ease-in-out infinite alternate}.challenge-time-limit.urgent b{color:#ff7185}@keyframes challengeDeadlinePulse{to{transform:scale(1.06);box-shadow:0 0 18px rgba(255,77,95,.24)}}
.sip-card-modifier{margin:0 0 18px;padding:13px 14px;border:1px solid rgba(255,255,255,.09);border-radius:17px;background:rgba(8,9,12,.38);text-align:left}.sip-card-modifier strong{display:block;font-size:.88rem;letter-spacing:.07em;margin-bottom:4px}.sip-card-modifier span{display:block;color:#c8cad1;font-size:.82rem;line-height:1.4}.card-kind-bonus .sip-card-modifier strong{color:var(--accent)}.card-kind-chaos .sip-card-modifier strong,.card-kind-boss .sip-card-modifier strong{color:#ff8396}
.sip-card-task{font-size:.68rem;font-weight:1000;letter-spacing:.18em;color:var(--accent);margin:1px 0 10px}.sipshot-task-card h2{font-size:clamp(2.15rem,10vw,4.25rem);line-height:.92;letter-spacing:-.055em;margin:0 0 11px;text-transform:uppercase}.sipshot-task-card>p{color:#c6c8d0;line-height:1.45;margin:0 auto 17px;max-width:460px}.sip-card-play{margin-top:auto;display:grid;gap:12px}.sip-card-play .big-display{margin:10px auto}.sip-card-play .play-button{margin:0 auto}.sip-card-play .evil-color-grid,.sip-card-play .dir-grid,.sip-card-play .answer-grid{margin-top:8px}
@keyframes sipCardDraw{0%{opacity:0;transform:translateY(70px) rotateX(12deg) rotateZ(-5deg) scale(.88)}58%{opacity:1;transform:translateY(-7px) rotateX(-2deg) rotateZ(1.2deg) scale(1.015)}100%{opacity:1;transform:none}}

/* special result copy / modifier receipts */
.result-bonuses{width:min(92vw,600px);display:flex;flex-wrap:wrap;justify-content:center;gap:7px;margin:9px auto 4px}.result-bonus-pill{border:1px solid #56642a;background:#1b2015;color:var(--accent);border-radius:999px;padding:7px 10px;font-size:.7rem;font-weight:1000;letter-spacing:.06em}.result-bonus-pill.bad{border-color:#6f2c39;background:#24161b;color:#ff8093}.result-flavor{width:min(90vw,590px);min-height:1.4em;margin:10px auto 18px;color:#aeb1ba;font-weight:650;line-height:1.4}.result-action-grid{width:min(92vw,600px);display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:8px auto 12px}

/* redemption / cheeky comeback */
.redemption-screen,.dirty-dare-screen{background:radial-gradient(circle at 50% 24%,rgba(255,64,101,.15),transparent 34%)}
.redemption-badge{display:inline-flex;align-items:center;padding:8px 13px;border-radius:999px;background:linear-gradient(90deg,#ff3e67,#ff7147);font-weight:1000;font-size:.72rem;letter-spacing:.13em;box-shadow:0 10px 30px rgba(255,62,103,.18)}
.redemption-screen h2,.dirty-dare-screen h2{font-size:clamp(2.7rem,13vw,5.7rem);line-height:.9;letter-spacing:-.07em;margin:18px 0 10px;text-transform:uppercase}.redemption-counter{margin:8px auto 18px;padding:8px 13px;border-radius:999px;border:1px solid var(--line);background:#17191f;font-size:.69rem;font-weight:1000;letter-spacing:.08em;color:var(--accent)}
.redemption-grid{width:min(94vw,690px);display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:4px auto 14px}.redemption-card{min-height:215px;border:1px solid var(--line);border-radius:25px;background:#17191f;color:var(--text);padding:20px 15px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;cursor:pointer}.redemption-card>span{font-size:2.8rem}.redemption-card strong{font-size:1.05rem;letter-spacing:.07em}.redemption-card b{font-size:1.4rem;color:var(--accent)}.redemption-card small{color:var(--muted);line-height:1.4;max-width:260px}.redemption-card.dirty{border-color:#713140;background:radial-gradient(circle at 50% 20%,rgba(255,68,104,.13),transparent 48%),#171419}.redemption-card.dirty b{color:#ff7992}.redemption-card.skill{border-color:#59652c;background:radial-gradient(circle at 50% 20%,rgba(199,255,44,.10),transparent 48%),#151814}.redemption-card:active{transform:scale(.985)}
.dirty-dare-icon{font-size:5rem;margin:18px 0 0;filter:drop-shadow(0 18px 32px rgba(255,70,105,.25))}.sipshot-dare-card{width:min(92vw,590px);border:1px solid #64303c;border-radius:26px;padding:22px 18px;margin:8px auto 16px;background:radial-gradient(circle at 80% 0%,rgba(255,69,102,.12),transparent 35%),#171419;box-shadow:0 25px 65px rgba(0,0,0,.34)}.dirty-dare-text{font-size:clamp(1.02rem,4.2vw,1.32rem);line-height:1.5;margin:0 auto 18px;color:#ececf0;font-weight:680}.consent-note{display:inline-block;padding:7px 10px;border:1px solid #633340;border-radius:999px;color:#ff91a4;background:#25161b;font-size:.62rem;font-weight:1000;letter-spacing:.09em}

/* waiting card visual */
.waiting-card-back{width:min(68vw,260px);aspect-ratio:.68;margin:12px auto 20px;border-radius:25px;border:1px solid #3a3d47;background:radial-gradient(circle at 50% 30%,rgba(199,255,44,.12),transparent 35%),repeating-linear-gradient(135deg,#171920 0 12px,#14161b 12px 24px);display:grid;place-items:center;box-shadow:0 25px 60px rgba(0,0,0,.35);transform:rotate(-3deg)}.waiting-card-back:after{content:"SIPSHOT";font-size:1.15rem;font-weight:1000;letter-spacing:.25em;color:var(--accent);transform:rotate(90deg)}
@media(max-width:560px){.sipshot-task-card{min-height:500px;padding:18px 15px 20px;border-radius:25px}.sipshot-card-shell:before,.sipshot-card-shell:after{border-radius:25px}.result-action-grid,.redemption-grid{grid-template-columns:1fr}.redemption-card{min-height:135px;display:grid;grid-template-columns:48px 1fr auto;grid-template-rows:auto auto;text-align:left;padding:15px}.redemption-card>span{grid-row:1/3}.redemption-card b{grid-column:3;grid-row:1/3;align-self:center}.redemption-card small{grid-column:2}.sipshot-task-card h2{font-size:clamp(2rem,11vw,3.4rem)}}

/* ========================================================================== 
   SipShot v9.2.0 — mobile viewport fit + rapid-tap zoom protection
   Gameplay screens are forced into the visible viewport. Lobby/setup may still
   scroll vertically when the player list is long.
   ========================================================================== */

/* No accidental horizontal drift anywhere. The multiplayer gameplay itself is
   a fixed viewport surface, not a web page to scroll/zoom while tapping. */
html{width:100%;max-width:100%;overflow-x:hidden;-webkit-text-size-adjust:100%}
body.mp-body{width:100%;max-width:100%;overflow-x:hidden;overscroll-behavior-x:none;-webkit-tap-highlight-color:transparent}
.mp-shell{width:100%;max-width:100%;overflow-x:hidden}

/* Fast taps must stay game input instead of becoming browser gestures. */
.mp-game-screen,
.mp-game-screen button,
.live-score-hud,
.live-score-hud button{touch-action:manipulation}
.mp-game-screen .play-button,
.mp-game-screen .tap-zone,
.mp-game-screen .answer-btn,
.mp-game-screen .dir-btn,
.mp-game-screen .evil-color-btn,
.mp-game-screen .color-btn,
.mp-game-screen .risk-card{touch-action:none;-webkit-user-select:none;user-select:none}

/* Use the actually visible viewport when available (updated by multiplayer.js). */
.mp-game-screen{
  width:100vw;
  width:var(--sip-vw,100vw);
  height:100dvh;
  height:var(--sip-vh,100dvh);
  min-height:0!important;
  max-height:100dvh;
  max-height:var(--sip-vh,100dvh);
  overflow:hidden!important;
}
.mp-game-screen.centered.active{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:clamp(5px,1.15dvh,12px);
  padding:max(68px,calc(env(safe-area-inset-top) + 62px)) 14px max(10px,env(safe-area-inset-bottom));
}
.mp-game-screen>h2,
.result-screen h2,
.finale-screen>h2,
.dirty-dare-screen h2{
  width:min(100%,760px);
  max-width:100%;
  overflow-wrap:anywhere;
  word-break:normal;
  hyphens:auto;
}

/* Result screen: this was the main overflow offender on narrow phones. */
#mpResult.active{justify-content:center}
#mpResult .result-icon{
  width:clamp(58px,10dvh,88px);
  height:clamp(58px,10dvh,88px);
  min-height:0;
  flex:0 0 auto;
  font-size:clamp(1.8rem,5.5dvh,2.8rem);
  margin:0 0 clamp(5px,1.1dvh,12px);
}
#mpResult .eyebrow{font-size:clamp(.58rem,1.5dvh,.74rem)}
#mpResult h2{
  font-size:clamp(1.7rem,min(9.2vw,5.6dvh),3.45rem);
  line-height:.9;
  letter-spacing:-.05em;
  margin:clamp(4px,.7dvh,8px) 0 clamp(5px,.9dvh,10px);
}
#mpResult .result-detail{font-size:clamp(.82rem,2.1dvh,1.02rem);line-height:1.25;margin:0 auto;max-width:min(92vw,520px)}
#mpResult .score-delta{font-size:clamp(1rem,2.6dvh,1.25rem);margin-top:clamp(5px,.9dvh,10px)}
#mpResult .result-bonuses{margin:clamp(3px,.7dvh,7px) auto 0;gap:5px}
#mpResult .result-bonus-pill{padding:5px 8px;font-size:clamp(.56rem,1.45dvh,.68rem)}
#mpResult .result-flavor{
  font-size:clamp(.72rem,1.9dvh,.92rem);
  line-height:1.28;
  margin:clamp(5px,.9dvh,10px) auto clamp(6px,1dvh,11px);
  min-height:0;
  max-width:min(92vw,560px)
}
#mpResult .result-action-grid{margin:2px auto 6px;gap:7px}
#mpResult .btn{padding:clamp(10px,1.7dvh,15px) 14px;font-size:clamp(.74rem,1.8dvh,.98rem)}
#mpResult .btn.huge{padding:clamp(12px,1.9dvh,18px) 22px;font-size:clamp(.82rem,1.9dvh,1.05rem)}
#mpResult .muted{font-size:clamp(.72rem,1.8dvh,.92rem);margin:4px 0}

/* Challenge card: one card must fit inside one visible screen in portrait AND landscape. */
#mpChallenge.mp-game-screen.active{padding:0}
#mpChallenge .challenge-mount{
  width:100%;
  height:100dvh;
  height:var(--sip-vh,100dvh);
  min-height:0;
  overflow:hidden;
  padding:max(100px,calc(env(safe-area-inset-top) + 94px)) 12px max(10px,env(safe-area-inset-bottom));
  display:grid;
  place-items:center;
}
#mpChallenge .sipshot-card-shell{
  width:min(94vw,560px);
  max-width:100%;
  height:min(670px,calc(var(--sip-vh,100dvh) - 112px));
  max-height:calc(var(--sip-vh,100dvh) - 112px);
  min-height:0;
}
#mpChallenge .sipshot-task-card{
  width:100%;
  height:100%;
  min-height:0;
  overflow:hidden;
  padding:clamp(13px,2.2dvh,21px) clamp(12px,3.3vw,20px) clamp(14px,2.4dvh,23px);
  border-radius:clamp(20px,4vw,30px);
}
#mpChallenge .sip-card-top{margin-bottom:clamp(6px,1.2dvh,14px)}
#mpChallenge .sip-card-type{font-size:clamp(.52rem,1.35dvh,.64rem);padding:5px 8px}
#mpChallenge .sip-card-no{font-size:clamp(.54rem,1.35dvh,.68rem)}
#mpChallenge .sip-card-modifier{margin-bottom:clamp(5px,1dvh,10px);padding:clamp(7px,1.3dvh,11px) 10px}
#mpChallenge .sip-card-modifier strong{font-size:clamp(.66rem,1.55dvh,.82rem)}
#mpChallenge .sip-card-modifier span{font-size:clamp(.58rem,1.35dvh,.72rem);line-height:1.2}
#mpChallenge .sip-card-task{font-size:clamp(.53rem,1.35dvh,.68rem);margin:0 0 clamp(5px,.9dvh,9px)}
#mpChallenge .sipshot-task-card h2{
  font-size:clamp(1.5rem,min(8.5vw,5.2dvh),3.25rem);
  line-height:.9;
  margin:0 0 clamp(5px,1dvh,10px);
  overflow-wrap:anywhere;
  hyphens:auto;
}
#mpChallenge .sipshot-task-card>p{
  font-size:clamp(.7rem,1.75dvh,.94rem);
  line-height:1.28;
  margin:0 auto clamp(6px,1.15dvh,12px);
  max-width:96%;
}
#mpChallenge .sip-card-play{
  min-height:0;
  flex:1 1 auto;
  align-content:center;
  justify-content:center;
  gap:clamp(6px,1.2dvh,11px);
  overflow:hidden;
}
#mpChallenge .big-display{font-size:clamp(3rem,min(19vw,11dvh),7rem);margin:clamp(4px,.8dvh,9px) auto}
#mpChallenge .play-button{
  width:min(58vw,26dvh,220px);
  max-width:220px;
  border-width:clamp(5px,.9dvh,8px);
  font-size:clamp(.78rem,1.9dvh,1.05rem)
}
#mpChallenge .answer-grid{gap:clamp(5px,1dvh,9px);margin:clamp(5px,1dvh,10px) auto;max-width:min(100%,420px)}
#mpChallenge .answer-btn{padding:clamp(9px,1.6dvh,15px);font-size:clamp(.95rem,2.5dvh,1.35rem);border-radius:12px}
#mpChallenge .dir-grid{gap:clamp(5px,1dvh,8px);max-width:min(100%,390px)}
#mpChallenge .dir-btn{font-size:clamp(1.3rem,4.2dvh,2rem);border-radius:clamp(11px,2dvh,17px)}
#mpChallenge .evil-color-grid{margin-top:clamp(4px,.9dvh,9px);gap:clamp(5px,1dvh,9px)}
#mpChallenge .evil-color-btn{min-height:clamp(48px,9dvh,78px);padding:8px;font-size:clamp(.74rem,2dvh,1.05rem)}
#mpChallenge .sequence-display{font-size:clamp(1.75rem,min(11vw,7dvh),4.2rem);min-height:0;margin:clamp(7px,1.4dvh,15px) 0}
#mpChallenge .direction-trap{min-height:0;height:min(22dvh,155px);margin:clamp(4px,.8dvh,8px) auto clamp(5px,1dvh,10px)}
#mpChallenge .direction-arrow{font-size:clamp(4.2rem,min(27vw,15dvh),9rem)}
#mpChallenge .direction-lie{font-size:clamp(1.25rem,min(9vw,5.2dvh),3rem)}
#mpChallenge .dot-field{height:min(25dvh,210px);margin:clamp(5px,1dvh,10px) auto;width:min(90vw,470px)}

/* Risk / waiting / comeback screens also stay on one viewport. */
#mpRisk .risk-grid{gap:clamp(6px,1.2dvh,10px)}
#mpRisk .risk-card{min-height:0;height:clamp(125px,25dvh,190px);padding:clamp(8px,1.7dvh,16px) 9px;gap:clamp(3px,.8dvh,7px)}
#mpRisk .risk-card .risk-icon{font-size:clamp(1.45rem,4dvh,2rem)}
#mpRisk .risk-card strong{font-size:clamp(.72rem,2dvh,1.02rem)}
#mpRisk .risk-card b{font-size:clamp(.95rem,2.6dvh,1.3rem)}
#mpRisk .risk-card small{font-size:clamp(.58rem,1.55dvh,.78rem)}
#mpWaiting .waiting-card-back{height:min(35dvh,280px)}

/* Free-redemption and finale content can be text-heavy, so scale vertically too. */
.redemption-screen h2,.dirty-dare-screen h2,.recovery-skill-screen h2{font-size:clamp(1.8rem,min(10vw,5.8dvh),3.8rem);margin:5px 0}
.redemption-screen .muted,.dirty-dare-screen .muted,.recovery-skill-screen .muted{font-size:clamp(.72rem,1.8dvh,.94rem);line-height:1.28;margin:4px auto}
.redemption-grid{gap:clamp(6px,1.2dvh,10px);margin:clamp(5px,1dvh,10px) auto}
.redemption-card{min-height:clamp(92px,17dvh,145px);padding:clamp(9px,1.7dvh,15px)}
.finale-screen>h2{font-size:clamp(1.9rem,min(10vw,6dvh),4rem);margin:5px 0}
.finale-card,.reward-card{margin:clamp(5px,1dvh,10px) auto;padding:clamp(11px,2dvh,18px)}
.finale-big-icon,.reward-icon{font-size:clamp(2.6rem,8dvh,4.8rem);margin:3px 0}

/* Very short screens / landscape phones. */
@media (max-height:640px){
  .mp-game-screen.centered.active{padding-top:max(58px,calc(env(safe-area-inset-top) + 54px));padding-bottom:max(5px,env(safe-area-inset-bottom));gap:3px}
  #mpResult .result-icon{width:50px;height:50px;font-size:1.6rem;margin-bottom:3px}
  #mpResult h2{font-size:clamp(1.35rem,min(7.8vw,5dvh),2.3rem);margin:2px 0 4px}
  #mpResult .result-flavor{margin:3px auto 5px;font-size:.7rem}
  #mpResult .result-bonuses{margin:2px auto}
  #mpResult .btn{padding:9px 12px}
  #mpChallenge .challenge-mount{padding-top:max(82px,calc(env(safe-area-inset-top) + 78px));padding-bottom:5px}
  #mpChallenge .sipshot-card-shell{height:calc(var(--sip-vh,100dvh) - 88px);max-height:calc(var(--sip-vh,100dvh) - 88px)}
  #mpChallenge .sipshot-task-card{padding:9px 12px 10px}
  #mpChallenge .sip-card-top{margin-bottom:4px}
  #mpChallenge .sipshot-task-card h2{font-size:clamp(1.2rem,min(6.8vw,4.5dvh),2rem);margin-bottom:4px}
  #mpChallenge .sipshot-task-card>p{font-size:.68rem;margin-bottom:4px}
  #mpChallenge .sip-card-modifier{padding:5px 8px;margin-bottom:3px}
  #mpChallenge .play-button{width:min(42vw,22dvh,150px)}
  #mpChallenge .dot-field{height:min(21dvh,130px)}
  #mpChallenge .direction-trap{height:min(18dvh,100px)}
  #mpRisk .risk-card{height:clamp(105px,23dvh,145px)}
}

/* Narrow devices: keep long Hungarian/German words inside the card. */
@media (max-width:390px){
  #mpResult h2{font-size:clamp(1.55rem,8.2vw,2.7rem)}
  #mpChallenge .sipshot-task-card h2{font-size:clamp(1.35rem,7.6vw,2.65rem)}
  .live-score-hud{width:calc(100vw - 10px)}
  .hud-score-chip{max-width:31vw;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
}

/* ========================================================================== 
   SipShot v9.2.1 — strict risk-screen viewport fit
   The risk selector uses the actual remaining viewport height instead of fixed
   card heights, so all three options are always fully visible on phones.
   ========================================================================== */

#mpRisk.mp-game-screen.centered.active{
  display:grid;
  grid-template-columns:minmax(0,1fr);
  grid-template-rows:auto auto auto auto minmax(0,1fr);
  justify-items:center;
  align-items:center;
  align-content:stretch;
  row-gap:clamp(3px,.72dvh,7px);
  padding-top:max(64px,calc(env(safe-area-inset-top) + 58px));
  padding-right:clamp(9px,3vw,16px);
  padding-bottom:max(7px,env(safe-area-inset-bottom));
  padding-left:clamp(9px,3vw,16px);
}
#mpRisk .round-pill{
  margin:0;
  padding:clamp(5px,1dvh,8px) clamp(10px,2.5vw,14px);
  font-size:clamp(.58rem,1.35dvh,.72rem);
}
#mpRisk .eyebrow{
  margin:0;
  font-size:clamp(.58rem,1.45dvh,.75rem);
  line-height:1.1;
}
#mpRisk>h2{
  margin:0;
  font-size:clamp(2rem,min(11.5vw,5.8dvh),4.4rem);
  line-height:.9;
  max-width:96vw;
  overflow-wrap:anywhere;
}
#mpRisk>.muted{
  margin:0 0 clamp(2px,.5dvh,5px);
  font-size:clamp(.72rem,1.75dvh,.94rem);
  line-height:1.2;
}
#mpRisk .risk-grid{
  width:min(100%,620px);
  height:100%;
  min-height:0;
  margin:0;
  display:grid;
  grid-template-columns:1fr;
  grid-template-rows:repeat(3,minmax(0,1fr));
  gap:clamp(6px,1dvh,10px);
  align-self:stretch;
}
#mpRisk .risk-card{
  width:100%;
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  overflow:hidden;
  margin:0;
  padding:clamp(7px,1.25dvh,13px) clamp(11px,3vw,17px);
  gap:clamp(2px,.55dvh,5px);
  border-radius:clamp(16px,2.7dvh,22px);
}
@media (max-width:560px){
  #mpRisk .risk-card{
    display:grid;
    grid-template-columns:clamp(34px,10vw,46px) minmax(0,1fr) auto;
    grid-template-rows:auto auto;
    align-items:center;
    text-align:left;
    column-gap:clamp(8px,2.3vw,13px);
    row-gap:0;
  }
  #mpRisk .risk-card .risk-icon{
    grid-column:1;
    grid-row:1/3;
    align-self:center;
    font-size:clamp(1.35rem,4.2dvh,2rem);
  }
  #mpRisk .risk-card strong{
    grid-column:2;
    grid-row:1;
    align-self:end;
    font-size:clamp(.76rem,2dvh,1.02rem);
    line-height:1.05;
  }
  #mpRisk .risk-card small{
    grid-column:2;
    grid-row:2;
    align-self:start;
    font-size:clamp(.6rem,1.52dvh,.77rem);
    line-height:1.15;
    white-space:normal;
  }
  #mpRisk .risk-card b{
    grid-column:3;
    grid-row:1/3;
    align-self:center;
    font-size:clamp(1rem,2.7dvh,1.35rem);
  }
}

/* Ultra-short screens: reclaim every unnecessary pixel before shrinking text. */
@media (max-height:700px){
  #mpRisk.mp-game-screen.centered.active{
    padding-top:max(58px,calc(env(safe-area-inset-top) + 54px));
    row-gap:3px;
  }
  #mpRisk .risk-grid{gap:5px}
  #mpRisk .risk-card{padding-top:6px;padding-bottom:6px;border-radius:15px}
}

/* On tablets / wide landscape, use three columns only when height permits it. */
@media (min-width:700px) and (min-height:560px){
  #mpRisk .risk-grid{
    grid-template-columns:repeat(3,minmax(0,1fr));
    grid-template-rows:1fr;
    max-height:min(34dvh,220px);
    align-self:center;
  }
  #mpRisk .risk-card{
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    text-align:center;
  }
}

/* ========================================================================== 
   SipShot v9.2.2 — rebuilt challenge-card viewport layout
   The HUD and task card no longer fight for the same space. The card is a
   bounded object, its copy and minigame have explicit layout regions, and
   dynamic content automatically compacts if a device is unusually short.
   ========================================================================== */

#mpChallenge .game-topbar{display:none!important}
#mpChallenge .challenge-mount{
  position:fixed;
  inset:0;
  width:100vw;
  height:var(--sip-vh,100dvh);
  min-height:0;
  overflow:hidden;
  padding:calc(var(--sip-hud-bottom,58px) + 8px) 8px max(8px,env(safe-area-inset-bottom));
  display:flex;
  align-items:center;
  justify-content:center;
}
#mpChallenge .sipshot-card-shell{
  width:min(calc(var(--sip-vw,100vw) - 16px),560px);
  max-width:100%;
  height:min(660px,82dvh,calc(var(--sip-vh,100dvh) - var(--sip-hud-bottom,58px) - 18px));
  max-height:calc(var(--sip-vh,100dvh) - var(--sip-hud-bottom,58px) - 18px);
  min-height:0;
  margin:0 auto;
}
#mpChallenge .sipshot-task-card{
  display:grid;
  grid-template-areas:"top" "modifier" "copy" "play";
  grid-template-rows:auto auto auto minmax(0,1fr);
  gap:0;
  width:100%;
  height:100%;
  min-height:0;
  overflow:hidden;
  padding:clamp(12px,2dvh,18px) clamp(12px,3.4vw,20px) clamp(12px,2dvh,18px);
}
#mpChallenge .sip-card-top{grid-area:top;margin:0 0 clamp(6px,1dvh,10px)}
#mpChallenge .sip-card-modifier{grid-area:modifier;margin:0 0 clamp(6px,1dvh,10px)}
#mpChallenge .sip-card-copy{grid-area:copy;min-width:0;text-align:center}
#mpChallenge .sip-card-task{margin:0 0 clamp(4px,.8dvh,7px)}
#mpChallenge .sip-card-copy h2{
  font-size:clamp(1.45rem,min(8.2vw,4.7dvh),3rem);
  line-height:.92;
  margin:0 0 clamp(5px,.9dvh,9px);
  overflow-wrap:anywhere;
  hyphens:auto;
}
#mpChallenge .sip-card-copy>p{
  color:#c6c8d0;
  font-size:clamp(.69rem,1.65dvh,.9rem);
  line-height:1.25;
  margin:0 auto clamp(5px,.9dvh,9px);
  max-width:96%;
}
#mpChallenge .sip-card-play{
  grid-area:play;
  min-height:0;
  margin:0;
  overflow:hidden;
  display:flex;
  flex-direction:column;
  align-items:stretch;
  justify-content:center;
  gap:clamp(5px,1dvh,9px);
}
#mpChallenge .sip-card-play>*{flex:0 0 auto}
#mpChallenge .sip-card-play .evil-color-grid,
#mpChallenge .sip-card-play .dir-grid,
#mpChallenge .sip-card-play .answer-grid{width:100%;margin:0 auto}
#mpChallenge .evil-color-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(6px,1dvh,9px);max-width:430px}
#mpChallenge .evil-color-btn{min-height:clamp(46px,7.2dvh,66px);font-size:clamp(.72rem,1.8dvh,1rem);padding:6px}
#mpChallenge .answer-grid{gap:clamp(5px,.9dvh,8px);max-width:420px}
#mpChallenge .answer-btn{padding:clamp(8px,1.35dvh,13px);font-size:clamp(.9rem,2.2dvh,1.2rem)}
#mpChallenge .dir-grid{gap:clamp(5px,.9dvh,8px);max-width:390px}
#mpChallenge .dir-btn{font-size:clamp(1.2rem,3.6dvh,1.8rem)}
#mpChallenge .big-display{font-size:clamp(2.8rem,min(18vw,9dvh),6rem);margin:clamp(3px,.6dvh,7px) auto}
#mpChallenge .play-button{width:min(54vw,22dvh,190px);max-width:190px;margin:0 auto}
#mpChallenge .dot-field{height:min(20dvh,165px);width:min(100%,450px);margin:0 auto}
#mpChallenge .direction-trap{height:min(18dvh,125px);margin:0 auto clamp(4px,.8dvh,7px)}
#mpChallenge .sequence-display{font-size:clamp(1.6rem,min(10vw,5.5dvh),3.3rem);margin:clamp(4px,.8dvh,8px) 0}

/* Auto-compact only if the real rendered content still overflows. */
#mpChallenge .sip-card-compact{padding:9px 11px}
#mpChallenge .sip-card-compact .sip-card-top{margin-bottom:4px}
#mpChallenge .sip-card-compact .sip-card-modifier{padding:5px 8px;margin-bottom:4px}
#mpChallenge .sip-card-compact .sip-card-modifier span{display:none}
#mpChallenge .sip-card-compact .sip-card-copy h2{font-size:clamp(1.18rem,min(7vw,4dvh),2rem);margin-bottom:3px}
#mpChallenge .sip-card-compact .sip-card-copy>p{font-size:.66rem;line-height:1.18;margin-bottom:3px}
#mpChallenge .sip-card-compact .sip-card-task{font-size:.55rem;margin-bottom:3px}
#mpChallenge .sip-card-compact .evil-color-btn{min-height:42px}
#mpChallenge .sip-card-compact .play-button{width:min(42vw,18dvh,145px)}
#mpChallenge .sip-card-compact .dot-field{height:min(16dvh,115px)}
#mpChallenge .sip-card-compact .direction-trap{height:min(14dvh,90px)}

#mpChallenge .sip-card-ultra .sip-card-type{padding:4px 6px;font-size:.5rem}
#mpChallenge .sip-card-ultra .sip-card-no{font-size:.5rem;max-width:48%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#mpChallenge .sip-card-ultra .sip-card-modifier{display:flex;gap:5px;align-items:center;white-space:nowrap;overflow:hidden}
#mpChallenge .sip-card-ultra .sip-card-modifier strong{font-size:.58rem;margin:0;overflow:hidden;text-overflow:ellipsis}
#mpChallenge .sip-card-ultra .sip-card-copy>p{display:none}
#mpChallenge .sip-card-ultra .sip-card-play{gap:3px}

/* Wide/short phones get a two-column card instead of crushing everything vertically. */
@media (orientation:landscape) and (max-height:520px){
  #mpChallenge .sipshot-card-shell{height:calc(var(--sip-vh,100dvh) - var(--sip-hud-bottom,52px) - 12px);max-width:760px;width:min(calc(100vw - 16px),760px)}
  #mpChallenge .sipshot-task-card{
    grid-template-areas:"top top" "modifier modifier" "copy play";
    grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);
    grid-template-rows:auto auto minmax(0,1fr);
    column-gap:12px;
  }
  #mpChallenge .sip-card-copy{align-self:center}
  #mpChallenge .sip-card-play{align-self:stretch}
  #mpChallenge .sip-card-copy h2{font-size:clamp(1.05rem,4.7vw,1.8rem)}
  #mpChallenge .sip-card-copy>p{font-size:.62rem}
  #mpChallenge .evil-color-btn{min-height:38px}
  #mpChallenge .play-button{width:min(28vw,28dvh,120px)}
}

/* ========================================================================== 
   SipShot v9.3.0 — finite deck + Bomb arsenal
   ========================================================================== */
.hud-deck-chip{display:flex;align-items:center;gap:7px;flex:0 0 auto;border:1px solid #3b3f49;background:#15171d;border-radius:13px;padding:4px 7px;color:#d9dce3;line-height:1}.hud-deck-chip>span:not(.hud-deck-stack){display:grid;gap:2px}.hud-deck-chip small{font-size:.48rem;letter-spacing:.12em;color:#8e929d}.hud-deck-chip b{font-size:.78rem;color:var(--accent)}.hud-discard b{color:#b9bdc8}.hud-deck-stack{position:relative;width:24px;height:31px;display:block;flex:0 0 24px}.hud-deck-stack i{position:absolute;inset:0;border-radius:4px;border:1px solid #4b503b;background:repeating-linear-gradient(135deg,#20251b 0 4px,#151916 4px 8px);box-shadow:0 1px 3px #000}.hud-deck-stack i:nth-child(1){transform:translate(-3px,2px) rotate(-4deg)}.hud-deck-stack i:nth-child(2){transform:translate(0,1px) rotate(2deg)}.hud-deck-stack i:nth-child(3){background:linear-gradient(145deg,#23291b,#111319);border-color:#697d28}.hud-bomb-button{appearance:none;color:var(--text);font-family:inherit;cursor:pointer;margin:0!important}.hud-bomb-button span{max-width:none}

.deck-table-strip{width:min(100%,520px);height:82px;display:grid;grid-template-columns:64px 1fr 52px;gap:12px;align-items:center;margin:8px auto 10px;padding:8px 13px;border:1px solid #343842;border-radius:18px;background:linear-gradient(180deg,#181b21,#111319);box-shadow:0 15px 35px rgba(0,0,0,.2)}
.deck-stack-live{width:48px;height:66px;position:relative;justify-self:center;perspective:400px}.deck-stack-live i{position:absolute;inset:0;border-radius:8px;border:1px solid #596528;background:radial-gradient(circle at 50% 25%,rgba(199,255,44,.12),transparent 35%),repeating-linear-gradient(135deg,#171b15 0 7px,#111411 7px 14px);box-shadow:0 6px 12px rgba(0,0,0,.35)}.deck-stack-live i:nth-child(1){transform:translate(-5px,3px) rotate(-5deg)}.deck-stack-live i:nth-child(2){transform:translate(-2px,2px) rotate(-2deg)}.deck-stack-live i:nth-child(3){transform:translate(1px,1px) rotate(1.5deg)}.deck-stack-live i:nth-child(4){transform:translate(3px,0) rotate(3deg);border-color:#788d2c}.deck-stack-live>span{position:absolute;inset:0;display:grid;place-items:center;z-index:4;color:var(--accent);font-size:.48rem;font-weight:1000;letter-spacing:.13em;transform:rotate(90deg)}.deck-stack-live.drawing i:nth-child(4){animation:sipDeckPull .45s cubic-bezier(.2,.9,.2,1) forwards}
.deck-table-copy{min-width:0;text-align:left;display:grid;gap:4px}.deck-table-copy strong{font-size:.78rem;letter-spacing:.08em;color:var(--accent)}.deck-table-copy small{font-size:.65rem;color:var(--muted)}.discard-pile-mini{width:42px;height:54px;position:relative;justify-self:end}.discard-pile-mini i{position:absolute;inset:3px;border-radius:7px;border:1px solid #414550;background:#17191f;transform:rotate(7deg)}.discard-pile-mini span{position:absolute;inset:0;display:grid;place-items:center;font-size:.82rem;font-weight:1000;color:#c8cbd3;z-index:2}.waiting-card-back{position:relative}.waiting-deck-count{position:absolute;left:50%;bottom:14px;transform:translateX(-50%);font-size:.62rem;font-weight:1000;letter-spacing:.12em;color:#aeb3bd;background:#0d0e12aa;border:1px solid #343842;padding:5px 8px;border-radius:999px;white-space:nowrap}

.sipshot-task-card.card-kind-bomb{border-color:#a770ff;background:radial-gradient(circle at 80% 0%,rgba(159,83,255,.23),transparent 34%),linear-gradient(160deg,#20162b,#111319 72%);box-shadow:0 30px 78px rgba(122,58,255,.14),0 30px 70px rgba(0,0,0,.48)}.sipshot-task-card.card-kind-bomb .sip-card-type{color:#d6b7ff;border-color:#744daa}.sip-card-bomb-banner{margin:0 0 9px;padding:8px 10px;border-radius:13px;border:1px solid #6844a0;background:#241735;color:#dcc6ff;text-align:left;display:flex;gap:8px;align-items:center}.sip-card-bomb-banner b{font-size:.7rem;letter-spacing:.08em}.sip-card-bomb-banner span{font-size:.66rem;color:#bfa8dc}

.chaos-shop-screen{overflow:auto!important;padding-bottom:max(28px,env(safe-area-inset-bottom))!important}.chaos-wallet-card{width:min(560px,100%);display:grid;gap:12px}.chaos-wallet-row{display:flex;align-items:center;justify-content:space-between}.chaos-wallet-row b{font-size:1.3rem;color:var(--accent)}.bomb-buy-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.bomb-buy-grid .wide{grid-column:1/-1}.bomb-action-list{width:min(560px,100%);display:grid;gap:9px;margin:12px auto}.bomb-action-card{display:grid;grid-template-columns:42px 1fr auto;gap:10px;align-items:center;text-align:left;border:1px solid #343842;border-radius:18px;background:linear-gradient(180deg,#1b1d24,#12141a);color:var(--text);padding:13px 14px;cursor:pointer;font-family:inherit}.bomb-action-card>span{font-size:1.7rem}.bomb-action-card div{display:grid;gap:3px}.bomb-action-card strong{font-size:.82rem;letter-spacing:.06em}.bomb-action-card small{color:var(--muted);font-size:.68rem;line-height:1.3}.bomb-action-card>b{color:var(--accent);white-space:nowrap}.bomb-action-card:disabled{opacity:.42;cursor:not-allowed}.bomb-action-card:not(:disabled):active{transform:scale(.985)}.bomb-target-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:12px 0}.bomb-target-btn{border:1px solid #414650;border-radius:13px;background:#15171d;color:#fff;padding:11px;font-weight:900;cursor:pointer}.bomb-target-btn:active{transform:scale(.98)}
.bomb-toast{position:fixed;z-index:100;left:50%;top:calc(var(--sip-hud-bottom,58px) + 12px);transform:translateX(-50%) translateY(-10px);width:min(92vw,520px);padding:12px 14px;border:1px solid #7348b3;border-radius:15px;background:#21142fdd;backdrop-filter:blur(12px);color:#f4eaff;text-align:center;font-weight:900;opacity:0;pointer-events:none;transition:.22s ease}.bomb-toast.show{opacity:1;transform:translateX(-50%) translateY(0)}

@keyframes sipDeckPull{0%{transform:translate(3px,0) rotate(3deg);opacity:1}65%{transform:translate(72px,-22px) rotate(19deg);opacity:1}100%{transform:translate(110px,-48px) rotate(28deg);opacity:0}}
@keyframes sipCardDealFromDeck{0%{opacity:0;transform:translate(42vw,-38vh) rotate(18deg) scale(.66)}70%{opacity:1;transform:translate(-1%,1%) rotate(-1deg) scale(1.015)}100%{opacity:1;transform:none}}
#mpChallenge .sipshot-card-shell{animation:sipCardDealFromDeck .58s cubic-bezier(.16,.92,.22,1) both}

@media(max-width:560px){.live-score-hud{gap:5px}.hud-deck-chip{padding:3px 5px;gap:4px}.hud-deck-stack{width:19px;height:25px;flex-basis:19px}.hud-deck-chip small{font-size:.42rem}.hud-deck-chip b{font-size:.68rem}.hud-discard{display:none}.hud-bomb-button{padding:5px 7px}.hud-bomb-button span{font-size:.58rem}.deck-table-strip{height:66px;grid-template-columns:50px 1fr 40px;gap:8px;margin:4px auto 7px;padding:5px 9px}.deck-stack-live{width:38px;height:52px}.deck-table-copy strong{font-size:.66rem}.deck-table-copy small{font-size:.57rem}.discard-pile-mini{width:34px;height:43px}.bomb-action-card{grid-template-columns:35px 1fr auto;padding:10px}.bomb-action-card>span{font-size:1.45rem}.bomb-action-card small{font-size:.62rem}.bomb-buy-grid{grid-template-columns:1fr}.bomb-buy-grid .wide{grid-column:auto}}
@media(max-height:720px) and (orientation:portrait){#mpRisk .deck-table-strip{height:54px;margin:2px auto 5px}.deck-stack-live{width:32px;height:44px}.deck-table-strip{grid-template-columns:42px 1fr 34px}.deck-table-copy small{display:none}.discard-pile-mini{width:30px;height:38px}}
/* v9.3.0 risk layout: six explicit rows now that the physical deck table is part of the screen. */
#mpRisk.mp-game-screen.centered.active{grid-template-rows:auto auto auto auto auto minmax(0,1fr)}
#mpRisk .deck-table-strip{min-height:0;max-height:82px}
.deck-stack-live.deck-low i:nth-child(1),.deck-stack-live.deck-low i:nth-child(2){opacity:.18}
.sip-card-no small{display:block;margin-top:2px;font:600 .48rem/1 monospace;color:#777d87;letter-spacing:.05em}

/* ================================================================
   SipShot v9.3.1 — end-of-minigame input guard / ghost-tap shield
   ================================================================ */
.mp-input-shield{
  position:fixed;
  inset:0;
  z-index:2147483000;
  display:grid;
  place-items:center;
  pointer-events:none;
  opacity:0;
  background:rgba(8,9,12,.08);
  -webkit-backdrop-filter:blur(0px);
  backdrop-filter:blur(0px);
  transition:opacity .12s ease,background .12s ease,backdrop-filter .12s ease;
  touch-action:none;
  user-select:none;
  -webkit-user-select:none;
}
.mp-input-shield.active{
  pointer-events:all;
  opacity:1;
  background:rgba(8,9,12,.24);
  -webkit-backdrop-filter:blur(1.5px);
  backdrop-filter:blur(1.5px);
}
.mp-input-shield.leaving{opacity:0;background:rgba(8,9,12,0)}
.mp-input-shield-pill{
  display:flex;
  align-items:center;
  gap:8px;
  padding:9px 13px;
  border-radius:999px;
  border:1px solid rgba(215,255,63,.32);
  background:rgba(17,19,23,.92);
  color:var(--accent);
  box-shadow:0 12px 36px rgba(0,0,0,.34);
  transform:translateY(5px) scale(.97);
  opacity:0;
  transition:.14s ease;
}
.mp-input-shield.active .mp-input-shield-pill{transform:translateY(0) scale(1);opacity:1}
.mp-input-shield-pill span{font-size:.95rem}
.mp-input-shield-pill strong{font-size:.62rem;letter-spacing:.16em;font-weight:1000}
.challenge-input-frozen{pointer-events:none!important}
/* Belt-and-braces protection: even if a browser momentarily paints through the
   overlay, fresh post-game controls cannot be clicked until the guard releases. */
body.game-end-input-locked #mpResult button,
body.game-end-input-locked #mpResult a,
body.game-end-input-locked #mpRedemption button,
body.game-end-input-locked #mpDirtyDare button,
body.game-end-input-locked #mpSkillRecovery button,
body.game-end-input-locked #mpFinalLast button,
body.game-end-input-locked #mpFinalWinner button,
body.game-end-input-locked #mpFinalBoss button{
  pointer-events:none!important;
}


/* ================================================================
   SipShot v9.3.2 — official branded card back
   Selected artwork is used anywhere the back of the deck is visible.
   ================================================================ */
:root{--sipshot-card-back:url("assets/sipshot-card-back.png");--sipshot-active-card-back:var(--sipshot-card-back)}

/* Main brand mark: a miniature of the official SipShot card. */
.shot-mark.brand-card-mark{
  width:66px;
  height:98px;
  border-radius:15px;
  background-image:var(--sipshot-active-card-back);
  background-size:cover;
  background-position:center;
  background-repeat:no-repeat;
  border:1px solid rgba(215,255,63,.48);
  color:transparent;
  font-size:0;
  transform:rotate(-4deg);
  box-shadow:0 15px 42px rgba(0,0,0,.46),0 0 28px rgba(215,255,63,.12);
}

/* Large waiting / face-down card. */
.waiting-card-back{
  border-color:rgba(215,255,63,.42)!important;
  background-image:var(--sipshot-active-card-back)!important;
  background-size:cover!important;
  background-position:center!important;
  background-repeat:no-repeat!important;
  box-shadow:0 25px 60px rgba(0,0,0,.46),0 0 24px rgba(215,255,63,.09)!important;
}
.waiting-card-back:after{content:none!important}
.waiting-deck-count{z-index:2;color:#f2f6e5!important;background:rgba(8,10,8,.82)!important;border-color:rgba(215,255,63,.38)!important;box-shadow:0 3px 14px rgba(0,0,0,.45)}

/* Real draw pile on the risk screen. Every visible layer uses the same back. */
.deck-stack-live i{
  background-image:var(--sipshot-active-card-back)!important;
  background-size:cover!important;
  background-position:center!important;
  background-repeat:no-repeat!important;
  border-color:rgba(215,255,63,.42)!important;
}
.deck-stack-live>span{display:none!important}

/* Tiny deck in the fixed scoreboard HUD. */
.hud-deck-stack i{
  background-image:var(--sipshot-active-card-back)!important;
  background-size:cover!important;
  background-position:center!important;
  background-repeat:no-repeat!important;
  border-color:rgba(215,255,63,.38)!important;
}

/* Keep the discard pile visually distinct, but hint at the real card art underneath. */
.discard-pile-mini i{
  background-image:linear-gradient(rgba(15,17,22,.62),rgba(15,17,22,.62)),var(--sipshot-active-card-back)!important;
  background-size:cover!important;
  background-position:center!important;
  border-color:#4b503f!important;
}

/* Better visibility at the tiny sizes used on phones. */
@media(max-width:560px){
  .shot-mark.brand-card-mark{width:54px;height:81px;border-radius:12px;margin-bottom:13px}
  .brand-lockup{margin-bottom:20px}
}

/* v9.3.3 — per-room Under-18 content mode */
.content-mode-card{width:min(620px,100%);margin:12px auto;display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;text-align:left;border:1px solid var(--line);background:#17191f;border-radius:22px;padding:14px 16px;cursor:pointer;user-select:none}
.content-mode-card input{position:absolute;opacity:0;pointer-events:none}.content-mode-icon{font-size:1.7rem}.content-mode-card strong{display:block;font-size:.92rem;letter-spacing:.06em}.content-mode-card small{display:block;color:var(--muted);line-height:1.35;margin-top:3px}.content-mode-card>b{min-width:42px;text-align:center;padding:7px 9px;border-radius:999px;background:#24262e;color:var(--muted);font-size:.72rem}.content-mode-card.active{border-color:#c7ff2c;background:radial-gradient(circle at 10% 50%,rgba(199,255,44,.09),transparent 35%),#17191f}.content-mode-card.active>b{background:#c7ff2c;color:#111217}.hud-content-mode{flex:0 0 auto;padding:6px 8px;border-radius:999px;border:1px solid rgba(199,255,44,.6);color:#c7ff2c;background:#151813;font-size:.58rem;font-weight:1000;letter-spacing:.06em;white-space:nowrap}
@media(max-width:560px){.content-mode-card{padding:11px 12px;border-radius:17px;gap:9px}.content-mode-icon{font-size:1.35rem}.content-mode-card strong{font-size:.78rem}.content-mode-card small{font-size:.68rem}.hud-content-mode{font-size:.52rem;padding:5px 6px}}

/* ========================================================================== 
   SipShot v9.3.4 — true playing-card ratio on waiting / face-down card
   Standard poker-style proportion: 63 × 88 mm (aspect ratio 63 / 88).
   The width is also constrained by the available viewport height so the full
   card always fits between the HUD and the waiting status copy.
   ========================================================================== */
#mpWaiting .waiting-card-back{
  width:min(62vw,250px,calc(42dvh * 0.71591))!important;
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  aspect-ratio:63 / 88!important;
  margin:10px auto 16px!important;
  border-radius:clamp(16px,4vw,24px)!important;
  transform:rotate(-2deg)!important;
  flex:0 0 auto;
}
@media (max-height:720px) and (orientation:portrait){
  #mpWaiting .waiting-card-back{
    width:min(58vw,220px,calc(38dvh * 0.71591))!important;
    margin:7px auto 10px!important;
  }
}
@media (orientation:landscape){
  #mpWaiting .waiting-card-back{
    width:min(28vw,200px,calc(54dvh * 0.71591))!important;
    margin:6px auto 10px!important;
  }
}

/* ========================================================================== 
   SipShot v9.4.0 — extra-card impact + Tilt Lock + Quick Draw + Swipe Trap
   ========================================================================== */
.sip-card-flavor{font-size:clamp(.62rem,1.7vw,.78rem);font-weight:900;letter-spacing:.035em;color:#d7ff3f;opacity:.88;margin:0 0 5px;line-height:1.25}
.special-card-reveal{position:fixed;inset:0;z-index:99980;display:grid;place-items:center;background:radial-gradient(circle at 50% 42%,rgba(215,255,63,.12),rgba(4,5,7,.96) 58%);opacity:0;pointer-events:none;overflow:hidden;transition:opacity .16s ease}.special-card-reveal.show{opacity:1;pointer-events:auto}.special-card-reveal.leaving{opacity:0}.special-card-rays{position:absolute;width:150vmax;height:150vmax;background:repeating-conic-gradient(from 0deg,rgba(215,255,63,.11) 0 4deg,transparent 4deg 12deg);animation:specialSpin 9s linear infinite}.special-card-stack{position:relative;width:min(72vw,310px);aspect-ratio:63/88;perspective:900px;filter:drop-shadow(0 30px 55px rgba(0,0,0,.7));animation:specialSlam .54s cubic-bezier(.12,.88,.2,1.22) both}.special-ghost,.special-main{position:absolute;inset:0;border-radius:24px;border:2px solid rgba(215,255,63,.6);background-image:var(--sipshot-active-card-back);background-size:cover;background-position:center}.special-ghost.g1{transform:rotate(-9deg) translate(-14px,9px);opacity:.45}.special-ghost.g2{transform:rotate(8deg) translate(14px,6px);opacity:.58}.special-main{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:24px;text-align:center;background:linear-gradient(rgba(5,6,8,.66),rgba(5,6,8,.78)),var(--sipshot-active-card-back);box-shadow:inset 0 0 55px rgba(215,255,63,.09),0 0 45px rgba(215,255,63,.22)}.special-icon{font-size:clamp(3.6rem,15vw,6rem);filter:drop-shadow(0 0 18px currentColor);animation:specialPulse .62s ease-in-out infinite alternate}.special-kicker{margin-top:12px;font-size:.7rem;font-weight:1000;letter-spacing:.24em;color:#d7ff3f}.special-title{font-size:clamp(1.7rem,7vw,2.6rem);font-weight:1000;line-height:.96;margin-top:5px;text-transform:uppercase}.special-sub{font-size:.84rem;font-weight:800;line-height:1.35;color:#eef3dd;margin-top:10px;max-width:24ch}.special-card-reveal.boss{background:radial-gradient(circle at 50% 42%,rgba(255,57,73,.23),rgba(4,5,7,.97) 58%)}.special-card-reveal.boss .special-main{border-color:#ff3949;box-shadow:0 0 50px rgba(255,57,73,.35)}.special-card-reveal.bomb{background:radial-gradient(circle at 50% 42%,rgba(255,184,45,.24),rgba(4,5,7,.97) 58%)}.special-card-reveal.bomb .special-main{border-color:#ffbd39}.special-card-reveal.chaos{background:radial-gradient(circle at 50% 42%,rgba(175,83,255,.25),rgba(4,5,7,.97) 58%)}.special-card-reveal.chaos .special-main{border-color:#b95cff}.special-impact{position:absolute;width:10px;height:10px;border-radius:50%;box-shadow:0 0 0 0 rgba(215,255,63,.5);animation:specialShock .7s .18s ease-out both}@keyframes specialSlam{0%{transform:translateY(-35vh) rotateY(80deg) scale(.72);opacity:0}70%{transform:translateY(8px) rotateY(-6deg) scale(1.04);opacity:1}100%{transform:none;opacity:1}}@keyframes specialSpin{to{transform:rotate(360deg)}}@keyframes specialPulse{to{transform:scale(1.08)}}@keyframes specialShock{to{box-shadow:0 0 0 75vmax rgba(215,255,63,0)}}

.tilt-gauge{width:100%;display:grid;gap:10px;place-items:center}.tilt-track{position:relative;width:min(100%,440px);height:34px;border-radius:999px;background:#101218;border:1px solid #3b3f46;overflow:hidden}.tilt-zone{position:absolute;top:0;bottom:0;border-radius:999px;background:rgba(215,255,63,.28);border-left:2px solid #d7ff3f;border-right:2px solid #d7ff3f}.tilt-needle{position:absolute;top:3px;bottom:3px;width:5px;border-radius:6px;background:#fff;box-shadow:0 0 14px #fff;transform:translateX(-50%);transition:left .05s linear}.tilt-readout{font-size:clamp(2.2rem,11vw,4.2rem);font-weight:1000;font-variant-numeric:tabular-nums}.tilt-hold{width:min(100%,360px);height:10px;border-radius:999px;background:#22252c;overflow:hidden}.tilt-hold i{display:block;height:100%;width:0;background:#d7ff3f;box-shadow:0 0 15px rgba(215,255,63,.5);transition:width .06s linear}
.quickdraw-button{min-height:clamp(86px,18dvh,150px)!important;font-size:clamp(1.6rem,8vw,3.2rem)!important;letter-spacing:.04em}.quickdraw-button.go{background:#d7ff3f!important;color:#0c0e0b!important;box-shadow:0 0 42px rgba(215,255,63,.55)!important;animation:drawFlash .22s ease-out}.quickdraw-status{text-align:center;color:var(--muted);font-size:.78rem;font-weight:800}@keyframes drawFlash{0%{transform:scale(.88)}100%{transform:scale(1)}}
.swipe-trap{width:100%;height:100%;min-height:170px;display:grid;grid-template-rows:1fr auto;gap:6px}.swipe-canvas{width:100%;height:100%;min-height:150px;display:block;border-radius:18px;background:radial-gradient(circle at center,rgba(215,255,63,.06),transparent 65%),#0e1014;border:1px solid #343840;touch-action:none!important;overscroll-behavior:contain;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}.swipe-canvas.dragging{cursor:grabbing}.swipe-hint{text-align:center;font-size:.72rem;font-weight:900;color:#d7ff3f;letter-spacing:.03em}
@media(max-height:700px){.special-card-stack{width:min(54vw,230px)}.special-main{padding:16px}.special-sub{font-size:.7rem}.tilt-readout{font-size:2.2rem}.swipe-trap{min-height:130px}.swipe-canvas{min-height:115px}}


/* v9.4.1 — explicit sip/penalty directive + stale-card flash prevention */
.drink-directive{
  width:min(92vw,600px);margin:clamp(7px,1.2dvh,12px) auto 4px;
  display:flex;align-items:center;justify-content:center;gap:12px;
  padding:clamp(10px,1.7dvh,15px) clamp(12px,3vw,18px);
  border-radius:18px;border:2px solid #ff6979;
  background:linear-gradient(135deg,rgba(255,73,91,.18),rgba(36,14,19,.94));
  box-shadow:0 12px 34px rgba(255,64,82,.14);text-align:left;
}
.drink-directive.hand-out{border-color:#a9ff31;background:linear-gradient(135deg,rgba(169,255,49,.16),rgba(20,27,13,.94));box-shadow:0 12px 34px rgba(169,255,49,.12)}
.drink-directive.clean-penalty{border-color:#72b9ff;background:linear-gradient(135deg,rgba(70,154,255,.16),rgba(15,25,38,.94));box-shadow:0 12px 34px rgba(70,154,255,.1)}
.drink-directive-icon{font-size:clamp(1.8rem,5dvh,2.7rem);line-height:1;flex:0 0 auto}
.drink-directive strong{display:block;font-size:clamp(.95rem,2.5dvh,1.25rem);line-height:1.08;font-weight:1000;letter-spacing:.035em;color:#fff}
.drink-directive small{display:block;margin-top:4px;font-size:clamp(.62rem,1.55dvh,.78rem);line-height:1.22;color:#c9cbd2;font-weight:700}
#mpChallenge:not(.active) #mpChallengeMount{visibility:hidden}
#mpChallengeMount:empty{visibility:hidden}
@media (max-height:680px){.drink-directive{margin:4px auto 2px;padding:7px 10px;border-radius:13px}.drink-directive-icon{font-size:1.5rem}.drink-directive strong{font-size:.82rem}.drink-directive small{font-size:.58rem;margin-top:2px}}

/* SipShot v9.5.0 — free base game, ads, creator support */
.free-game-badge{width:min(620px,100%);margin:10px auto 12px;padding:10px 14px;border:1px solid rgba(199,255,44,.36);border-radius:14px;background:rgba(199,255,44,.07);color:#dfff72;font-size:.74rem;font-weight:1000;letter-spacing:.08em;text-align:center}
.creator-support-btn:not(.lobby-support-cta){border-color:rgba(255,190,70,.28)!important;color:#ffe2a4!important}.creator-support-btn:not(.lobby-support-cta):hover{border-color:rgba(255,190,70,.55)!important}
.creator-support-screen .support-beer{font-size:clamp(4rem,18vw,7rem);filter:drop-shadow(0 10px 22px rgba(255,184,55,.2));margin-bottom:8px}.creator-support-screen>p{max-width:540px}.support-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;width:min(620px,100%);margin:18px auto}.support-pay{appearance:none;border:1px solid #343842;background:#171920;color:#fff;border-radius:18px;padding:18px 10px;display:grid;gap:6px;place-items:center;cursor:pointer;min-height:132px;touch-action:manipulation}.support-pay.featured{border-color:#c7ff2c;box-shadow:0 0 0 1px rgba(199,255,44,.18),0 12px 30px rgba(0,0,0,.24)}.support-tier-icon{font-size:2.15rem;line-height:1;filter:drop-shadow(0 8px 15px rgba(0,0,0,.25))}.support-pay>b{font-size:1.6rem;color:#c7ff2c}.support-pay>small{font-size:.67rem;color:#aeb3bd;text-align:center}.support-pay:active{transform:scale(.98)}
.sponsor-card-link{position:absolute;inset:0;z-index:5;border-radius:inherit;text-decoration:none;color:white;display:block}.sponsor-card-link>span{position:absolute;top:10px;right:10px;padding:4px 7px;border-radius:999px;background:rgba(5,6,8,.82);border:1px solid rgba(255,255,255,.25);font:900 .55rem/1 system-ui;letter-spacing:.1em;color:#fff}.waiting-card-back.sponsored-cardback{background-image:var(--sponsor-card-url)!important;background-size:cover!important;background-position:center!important;box-shadow:0 25px 65px rgba(0,0,0,.42),0 0 0 1px rgba(255,255,255,.09)}.waiting-card-back.sponsored-cardback .waiting-deck-count{z-index:7}.deck-stack-live.sponsored-deck i:nth-child(4){background-image:var(--sponsor-card-url)!important;background-size:cover!important;background-position:center!important}.deck-stack-live.sponsored-deck:after{content:'AD';position:absolute;z-index:8;right:-6px;top:-5px;background:#fff;color:#111;font:1000 .42rem/1 system-ui;border-radius:99px;padding:3px 5px;box-shadow:0 3px 8px #0008}
.sipshot-ad-dock{position:fixed;z-index:8000;left:50%;transform:translateX(-50%);bottom:max(8px,env(safe-area-inset-bottom));width:min(720px,calc(100vw - 20px));min-height:54px;max-height:92px;border:1px solid #30333d;border-radius:14px;background:rgba(15,16,21,.96);backdrop-filter:blur(12px);box-shadow:0 10px 30px rgba(0,0,0,.4);padding:15px 8px 6px;overflow:hidden}.sipshot-ad-label{position:absolute;left:10px;top:4px;color:#878c98;font:800 .48rem/1 system-ui;letter-spacing:.11em}.sipshot-ad-content{height:100%;min-height:38px;display:grid;place-items:center}.direct-ad-link{width:100%;min-height:38px;display:flex;align-items:center;justify-content:center;gap:10px;color:#d8dbe3;text-decoration:none;font-size:.72rem;font-weight:800;text-align:center}.direct-ad-link img{max-height:42px;max-width:55%;object-fit:contain;border-radius:7px}.sipshot-ad-visible .screen.active{padding-bottom:max(96px,calc(82px + env(safe-area-inset-bottom)))!important}
@media(max-width:560px){.support-grid{grid-template-columns:1fr 1fr}.support-pay:last-child{grid-column:1/-1;min-height:100px}.sipshot-ad-dock{max-height:78px}.direct-ad-link img{max-height:34px}.sipshot-ad-visible .screen.active{padding-bottom:max(88px,calc(76px + env(safe-area-inset-bottom)))!important}}


/* ========================================================================== 
   SipShot v9.5.4 — landing polish + waiting-only Bomb Depot
   ========================================================================== */
.home-screen{padding:max(10px,env(safe-area-inset-top)) 16px max(14px,env(safe-area-inset-bottom));overflow:auto}
.home-screen.centered.active{display:flex;align-items:flex-start;justify-content:center;text-align:center}
.home-stage{width:min(520px,100%);display:grid;gap:10px;padding-top:0;margin:0 auto 18px}
.home-language-picker{top:max(10px,env(safe-area-inset-top));width:min(94vw,500px)}
.home-brand-lockup{margin:0;display:grid;justify-items:center;gap:4px}
.home-logo-halo{width:218px;height:252px;display:grid;place-items:center;position:relative;margin:0 auto 0}
.home-logo-halo:before{content:"";position:absolute;width:202px;height:202px;border-radius:50%;background:radial-gradient(circle,rgba(215,255,63,.23),rgba(215,255,63,.08) 43%,transparent 70%);filter:blur(2px);animation:homeHaloBreathe 4.2s ease-in-out infinite}
.shot-mark.brand-card-mark.home-card-mark{width:158px;height:220px;border-radius:27px;margin:0;transform:translateY(-2px) rotate(-4deg);box-shadow:0 28px 64px rgba(0,0,0,.60),0 0 48px rgba(215,255,63,.27);position:relative;z-index:1;will-change:transform,filter;animation:homeCardFloat 4.2s ease-in-out infinite}
.home-brand-lockup h1{font-size:clamp(3rem,12vw,4.4rem);line-height:.86;margin:0;letter-spacing:-.075em}
.home-brand-lockup p{margin:5px 0 0;font-size:.93rem;color:#b8bac2}
.home-role-card{width:100%;max-width:none;padding:18px 20px 17px;border-radius:24px;box-shadow:0 18px 52px rgba(0,0,0,.30);background:radial-gradient(circle at 92% 4%,rgba(215,255,63,.055),transparent 28%),linear-gradient(180deg,#191b22,#14161c)}
.home-role-card .eyebrow{font-size:.69rem;letter-spacing:.18em}
.home-role-card h2{font-size:clamp(1.55rem,6vw,2.05rem);line-height:1.02;letter-spacing:-.035em;margin:7px 0 8px}
.home-role-card p{font-size:.88rem;line-height:1.42;margin:0 0 12px}
.home-feature-row{display:flex;gap:6px;flex-wrap:wrap;margin:0 0 13px}
.home-feature-row span{flex:1 1 auto;padding:7px 8px;border:1px solid #30333b;border-radius:999px;background:#13151a;color:#d6d8de;font-size:.62rem;font-weight:850;white-space:nowrap}
.home-party-cta{font-size:.94rem;padding:15px 17px;border-radius:15px;box-shadow:0 11px 28px rgba(215,255,63,.14)}
.home-support-cta{position:relative;width:100%;min-height:86px;display:grid;grid-template-columns:64px 1fr 24px;gap:10px;align-items:center;text-align:left;text-decoration:none;color:#fff;padding:10px 13px 10px 9px;border-radius:22px;border:1px solid rgba(255,190,70,.45);background:radial-gradient(circle at 6% 50%,rgba(255,190,70,.19),transparent 29%),linear-gradient(135deg,#201a12,#17181c 62%,#1c1a13);box-shadow:0 15px 38px rgba(0,0,0,.30),inset 0 0 0 1px rgba(255,223,153,.035);overflow:hidden;transition:transform .14s ease,border-color .14s ease,filter .14s ease}
.home-support-cta:before{content:"";position:absolute;inset:-80% -25%;background:linear-gradient(115deg,transparent 39%,rgba(255,226,161,.09) 48%,transparent 57%);transform:translateX(-45%);animation:supportShine 5.5s ease-in-out infinite;pointer-events:none}
.home-support-cta:active{transform:scale(.988)}.home-support-cta:hover{border-color:rgba(255,202,94,.74);filter:brightness(1.04)}
.home-support-beer{font-size:3.15rem;line-height:1;display:grid;place-items:center;filter:drop-shadow(0 9px 16px rgba(255,177,45,.24));position:relative;z-index:1}
.home-support-copy{min-width:0;display:grid;gap:2px;position:relative;z-index:1}.home-support-copy small{font-size:.58rem;font-weight:1000;letter-spacing:.16em;color:#ffcc72}.home-support-copy strong{font-size:.98rem;line-height:1.12;letter-spacing:-.01em}.home-support-copy span{font-size:.67rem;line-height:1.25;color:#c9c3b6}
.home-support-arrow{font-size:2rem;color:#ffc95f;font-weight:300;text-align:center;position:relative;z-index:1}
.lobby-support-cta{appearance:none;width:min(520px,94vw);margin:10px auto 0;font:inherit;cursor:pointer;touch-action:manipulation;flex:0 0 auto}
.home-price-line{margin:0 auto;color:#8d9099;font-size:.61rem;line-height:1.35;max-width:92%}
@keyframes supportShine{0%,72%,100%{transform:translateX(-50%)}86%{transform:translateX(50%)}}
@keyframes homeCardFloat{0%,100%{transform:translateY(-2px) rotate(-4deg) scale(1)}50%{transform:translateY(-12px) rotate(-2.6deg) scale(1.018)}}
@keyframes homeHaloBreathe{0%,100%{transform:scale(.94);opacity:.72}50%{transform:scale(1.06);opacity:1}}

/* Waiting is the only Bomb store entry point. Make the idle moment useful. */
.waiting-bomb-cta{appearance:none;width:min(620px,94vw);display:grid;grid-template-columns:50px minmax(0,1fr) auto;gap:10px;align-items:center;text-align:left;border:1px solid rgba(181,99,255,.56);border-radius:20px;background:radial-gradient(circle at 8% 50%,rgba(172,80,255,.24),transparent 30%),linear-gradient(135deg,#27163a,#18151f 58%,#15171b);color:#fff;padding:10px 12px;cursor:pointer;box-shadow:0 14px 34px rgba(0,0,0,.30),0 0 30px rgba(145,62,230,.08);touch-action:manipulation;flex:0 0 auto}
.waiting-bomb-cta:active{transform:scale(.988)}.waiting-bomb-icon{font-size:2.35rem;display:grid;place-items:center;filter:drop-shadow(0 7px 16px rgba(179,92,255,.24))}.waiting-bomb-copy{min-width:0}.waiting-bomb-copy strong{display:block;color:#ecd8ff;font-size:.78rem;letter-spacing:.055em;line-height:1.16}.waiting-bomb-copy small{display:block;color:#bcb1c7;font-size:.62rem;line-height:1.28;margin-top:3px}.waiting-bomb-meta{display:grid;justify-items:end;gap:3px;white-space:nowrap}.waiting-bomb-meta b{color:#d7ff3f;font-size:.72rem}.waiting-bomb-meta em{font-style:normal;color:#cba9ef;font-size:.56rem;font-weight:900;letter-spacing:.035em}
#mpWaiting.active .waiting-card-back{margin-bottom:clamp(5px,.8dvh,9px)!important}
#mpWaiting.active #mpWaitingCopy{margin:0 auto clamp(5px,1dvh,9px);max-width:620px;font-size:clamp(.72rem,1.7dvh,.88rem);line-height:1.28}
#mpWaiting.active #mpCurrentName{margin:0;font-size:clamp(1.8rem,min(8vw,5dvh),3.25rem);line-height:.92}
#mpWaiting.active #mpWaitingKicker{margin-top:0}
.chaos-shop-screen{background:radial-gradient(circle at 50% 10%,rgba(157,74,237,.12),transparent 31%)}
.bomb-shop-window-note{width:min(560px,100%);margin:0 auto 10px;padding:8px 11px;border:1px solid rgba(181,99,255,.25);border-radius:13px;background:rgba(149,75,226,.07);color:#cbb8da;font-size:.64rem;font-weight:800;line-height:1.35;text-align:center}
.chaos-shop-screen>.eyebrow{color:#d5a8ff}.chaos-shop-screen>h2{margin:7px 0 6px;font-size:clamp(2rem,9vw,3.8rem);letter-spacing:-.055em}.chaos-shop-screen>p{margin:0 auto 12px;max-width:560px}
.hud-bomb-button.hidden{display:none!important}

@media(max-width:560px){
  .home-stage{gap:9px;padding-top:0;margin-top:0}.home-logo-halo{width:194px;height:226px}.shot-mark.brand-card-mark.home-card-mark{width:142px;height:198px;border-radius:24px}.home-brand-lockup h1{font-size:clamp(2.8rem,14vw,3.8rem)}.home-brand-lockup p{font-size:.82rem;margin-top:3px}.home-role-card{padding:15px 16px 14px}.home-role-card h2{margin:6px 0}.home-role-card p{font-size:.79rem;margin-bottom:9px}.home-feature-row{margin-bottom:10px}.home-feature-row span{font-size:.56rem;padding:6px 7px}.home-party-cta{padding:14px 12px;font-size:.86rem}.home-support-cta{min-height:78px;grid-template-columns:56px 1fr 18px;padding:8px 10px 8px 7px;border-radius:19px}.home-support-beer{font-size:2.75rem}.home-support-copy strong{font-size:.88rem}.home-support-copy small{font-size:.52rem}.home-support-copy span{font-size:.60rem}.home-support-arrow{font-size:1.7rem}.home-price-line{font-size:.56rem}
  .waiting-bomb-cta{grid-template-columns:42px minmax(0,1fr) auto;padding:8px 9px;border-radius:17px}.waiting-bomb-icon{font-size:1.95rem}.waiting-bomb-copy strong{font-size:.69rem}.waiting-bomb-copy small{font-size:.56rem}.waiting-bomb-meta b{font-size:.65rem}.waiting-bomb-meta em{font-size:.50rem}
}
@media(max-height:720px) and (max-width:560px){
  .home-stage{padding-top:0;gap:7px;margin-top:0}.home-logo-halo{width:180px;height:207px}.shot-mark.brand-card-mark.home-card-mark{width:132px;height:184px;border-radius:22px}.home-brand-lockup h1{font-size:2.75rem}.home-brand-lockup p{font-size:.75rem}.home-role-card{padding:12px 14px}.home-role-card .eyebrow{font-size:.59rem}.home-role-card h2{font-size:1.4rem}.home-feature-row{display:none}.home-support-cta{min-height:70px}.home-support-beer{font-size:2.45rem}.home-price-line{font-size:.52rem}
}
@media(prefers-reduced-motion:reduce){.shot-mark.brand-card-mark.home-card-mark,.home-logo-halo:before{animation:none!important}}

/* ==========================================================================
   SipShot 1.1.5 — multiplayer start card polish + universal sponsor card art
   ========================================================================== */
#mpStart.centered.active{align-content:start;padding-top:max(68px,calc(env(safe-area-inset-top) + 58px));padding-bottom:34px;overflow:auto}
#mpStart .mp-start-brand-lockup{margin:0 0 22px;display:grid;justify-items:center;gap:0}
#mpStart .shot-mark.brand-card-mark.mp-start-card-mark{width:128px;height:178px;border-radius:22px;margin:0 auto 13px;position:relative;z-index:1;will-change:transform,filter;animation:mpStartCardFloat 4.15s ease-in-out infinite;box-shadow:0 25px 62px rgba(0,0,0,.58),0 0 44px rgba(215,255,63,.23)}
#mpStart .mp-start-brand-lockup h1{margin:0;line-height:.88}
#mpStart .mp-start-brand-lockup p{margin:8px 0 0}
#mpStart .mp-role-card{margin-top:0}
@keyframes mpStartCardFloat{0%,100%{transform:translateY(0) rotate(-4deg) scale(1)}50%{transform:translateY(-9px) rotate(-2.6deg) scale(1.016)}}
@media(max-width:560px){
  #mpStart.centered.active{padding-top:max(66px,calc(env(safe-area-inset-top) + 56px));}
  #mpStart .mp-start-brand-lockup{margin:0 0 20px}
  #mpStart .shot-mark.brand-card-mark.mp-start-card-mark{width:126px;height:176px;border-radius:21px;margin-bottom:12px}
}
@media(max-height:720px) and (max-width:560px){
  #mpStart.centered.active{padding-top:max(62px,calc(env(safe-area-inset-top) + 52px));}
  #mpStart .shot-mark.brand-card-mark.mp-start-card-mark{width:116px;height:162px;border-radius:20px;margin-bottom:10px}
  #mpStart .mp-start-brand-lockup{margin-bottom:16px}
  #mpStart .mp-start-brand-lockup p{margin-top:6px}
}
@media(prefers-reduced-motion:reduce){#mpStart .shot-mark.brand-card-mark.mp-start-card-mark{animation:none!important}}

/* All true card-back surfaces now consume --sipshot-active-card-back.
   A sponsor creative can therefore replace the official back consistently on
   landing cards, waiting cards, draw piles, HUD deck miniatures and special
   back-face reveals. Only safe, non-gameplay full-size cards are clickable. */
.shot-mark.brand-card-mark .sponsor-card-link>span{top:8px;right:8px;font-size:.47rem;padding:4px 6px}

/* v9.6.0 — party modes, content packs, social voting, recap */
.mp-lobby-screen.centered.active{align-content:start;padding-top:max(18px,env(safe-area-inset-top));padding-bottom:42px;overflow:auto}
.lobby-section-head{width:min(94vw,820px);margin:14px auto 7px;display:flex;align-items:end;justify-content:space-between;gap:12px;text-align:left}.lobby-section-head strong{font-size:.78rem;letter-spacing:.13em;color:var(--accent)}.lobby-section-head small{color:var(--muted);font-size:.68rem;text-align:right;max-width:56%}
.party-mode-grid{width:min(94vw,820px);display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin:0 auto 8px}.party-mode-card{min-height:94px;border:1px solid var(--line);background:linear-gradient(180deg,#191c22,#121419);color:var(--text);border-radius:18px;padding:13px 12px;text-align:left;cursor:pointer;display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;column-gap:10px;align-items:center}.party-mode-card>span{grid-row:1/3;font-size:1.75rem}.party-mode-card strong{font-size:.85rem}.party-mode-card small{color:var(--muted);font-size:.68rem;line-height:1.3}.party-mode-card.selected{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent),0 0 24px rgba(199,255,44,.10)}.party-mode-card.chaos.selected{background:linear-gradient(145deg,#282014,#14161a)}
.content-pack-grid{width:min(94vw,820px);display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin:0 auto 10px}.content-pack-card{position:relative;min-height:130px;border:1px solid var(--line);border-radius:16px;background:#13151a;color:var(--text);padding:12px 10px;display:flex;flex-direction:column;align-items:flex-start;text-align:left;gap:7px;cursor:pointer;overflow:hidden}.content-pack-card .pack-icon{font-size:1.5rem}.content-pack-card>div{display:grid;gap:4px}.content-pack-card strong{font-size:.74rem;line-height:1.12}.content-pack-card small{font-size:.61rem;line-height:1.32;color:var(--muted)}.content-pack-card em{margin-top:auto;font-style:normal;font-size:.57rem;font-weight:900;letter-spacing:.07em;color:var(--accent)}.content-pack-card.selected{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent);background:#19200e}.content-pack-card.locked:not(.blocked):hover{border-color:#8b7142}.content-pack-card.blocked{opacity:.42;filter:saturate(.5);cursor:not-allowed}
.rematch-btn{background:linear-gradient(90deg,#bfff22,#e0ff5c);border:0;color:#10120c;font-weight:1000;box-shadow:0 12px 34px rgba(199,255,44,.18)}
.game-who .sip-card-copy h2{font-size:clamp(1.45rem,5.5vw,2.15rem);line-height:1.04}.who-progress{display:flex;justify-content:space-between;align-items:center;gap:10px;margin:10px 0 8px;padding:9px 10px;border-radius:12px;background:#0e1014;border:1px solid #2b2f37}.who-progress strong{font-size:.68rem;color:var(--accent)}.who-progress span{font-size:.66rem;color:var(--muted)}.who-vote-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.who-vote-btn{border:1px solid #30343d;background:#171a20;color:#fff;border-radius:13px;padding:9px;display:flex;align-items:center;gap:8px;text-align:left;cursor:pointer;min-height:48px}.who-vote-btn>span{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:#242832;color:var(--accent);font-weight:1000}.who-vote-btn strong{font-size:.76rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.who-vote-btn:disabled{opacity:.5;cursor:default}.who-vote-btn:not(:disabled):active{transform:scale(.98);border-color:var(--accent)}.who-wait{margin-top:8px;font-size:.66rem;color:var(--muted)}
.recap-screen.centered.active{align-content:start;padding-top:max(28px,calc(env(safe-area-inset-top) + 18px));padding-bottom:40px;overflow:auto}.recap-screen>h2{margin:4px 0}.recap-card{width:min(92vw,560px);border:1px solid #333840;border-radius:24px;background:radial-gradient(circle at 80% 0,#29370f 0,#16191f 42%);padding:20px;margin:12px auto;box-shadow:0 22px 70px rgba(0,0,0,.35);text-align:left}.recap-loading{min-height:250px;display:grid;place-items:center;font-size:2rem}.recap-brand{display:flex;justify-content:space-between;align-items:center;gap:10px;padding-bottom:15px;border-bottom:1px solid #30343b}.recap-brand b{font-size:1.55rem;letter-spacing:-.06em}.recap-brand b span{color:var(--accent)}.recap-brand small{color:var(--muted);font-size:.65rem;text-align:right}.recap-podium{display:grid;gap:7px;margin:14px 0}.recap-podium>div{display:grid;grid-template-columns:36px 1fr auto;align-items:center;gap:8px;background:#0f1116;border:1px solid #292d35;border-radius:13px;padding:9px 11px}.recap-podium>div:first-child{background:#20280f;border-color:#536a18}.recap-podium span{font-size:1.2rem}.recap-podium strong{font-size:.84rem}.recap-podium b{font-size:1.05rem;color:var(--accent)}.recap-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.recap-stats>div{background:#0f1116;border:1px solid #292d35;border-radius:13px;padding:10px;min-height:72px}.recap-stats small{display:block;color:#7d8490;font-size:.54rem;font-weight:900;letter-spacing:.05em}.recap-stats strong{display:block;margin-top:6px;font-size:.72rem;line-height:1.2}.recap-footer{text-align:center;margin-top:15px;color:var(--accent);font-size:.64rem;font-weight:900;letter-spacing:.06em}.recap-actions{width:min(92vw,560px);display:grid;grid-template-columns:1fr 1fr;gap:8px}
@media(max-width:700px){.content-pack-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.content-pack-card{min-height:112px}.lobby-section-head{align-items:flex-start;flex-direction:column;gap:3px}.lobby-section-head small{max-width:none;text-align:left}.party-mode-grid{grid-template-columns:1fr}.party-mode-card{min-height:64px}.recap-stats{grid-template-columns:1fr}.recap-stats>div{min-height:54px}.recap-actions{grid-template-columns:1fr}}

/* v9.6.3 — discreet legal/info access, consent copy and cleaner action spacing */
.screen.centered>.btn,.screen.centered>.mp-link{margin-top:8px}#mpGameOver>.btn,#mpGameOver>.mp-link,#mpFinalDone>.btn,#mpFinalDone>.mp-link{margin-top:10px}
.legal-info-fab{position:fixed;z-index:60;top:max(12px,env(safe-area-inset-top));right:max(12px,env(safe-area-inset-right));display:flex;align-items:center;gap:6px;min-height:38px;border:1px solid rgba(255,255,255,.14);border-radius:999px;background:rgba(18,20,26,.88);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:0 9px 26px rgba(0,0,0,.28);padding:8px 11px;color:#d8dbe2;font:900 .62rem/1 system-ui;letter-spacing:.09em;cursor:pointer}.legal-info-fab:hover,.legal-info-fab:focus-visible{border-color:var(--accent);color:var(--accent);outline:none}
.legal-modal{position:fixed;inset:0;z-index:9500;display:grid;place-items:center;padding:14px}.legal-modal-backdrop{position:absolute;inset:0;border:0;background:rgba(4,5,8,.86);backdrop-filter:blur(9px);-webkit-backdrop-filter:blur(9px);cursor:pointer}.legal-dialog{position:relative;width:min(94vw,760px);max-height:min(90dvh,820px);display:grid;grid-template-rows:auto auto minmax(0,1fr) auto;gap:12px;overflow:hidden;border:1px solid #3a3e47;border-radius:26px;background:radial-gradient(circle at 88% 0%,rgba(199,255,44,.10),transparent 31%),linear-gradient(160deg,#1b1d24,#101218 72%);box-shadow:0 30px 90px rgba(0,0,0,.65);padding:18px}.legal-dialog header{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;text-align:left}.legal-dialog header small{color:var(--accent);font-size:.62rem;font-weight:1000;letter-spacing:.16em}.legal-dialog h2{margin:4px 0 0;font-size:clamp(1.45rem,6vw,2.4rem);letter-spacing:-.04em;line-height:1}.legal-close-x{appearance:none;width:42px;height:42px;flex:0 0 42px;border:1px solid var(--line);border-radius:50%;background:#17191f;color:#fff;font:500 1.8rem/1 system-ui;cursor:pointer}.legal-nav{display:flex;gap:7px;overflow-x:auto;padding:2px 1px 5px;scrollbar-width:thin}.legal-nav button{appearance:none;white-space:nowrap;border:1px solid var(--line);border-radius:999px;background:#15171d;color:#c8ccd5;padding:8px 11px;font:900 .65rem/1 system-ui;cursor:pointer}.legal-nav button.active{background:var(--accent);border-color:var(--accent);color:#101116}.legal-content{overflow:auto;overscroll-behavior:contain;border:1px solid #292d35;border-radius:18px;background:#111319;padding:16px 18px;text-align:left;color:#d9dce3;line-height:1.55;font-size:.82rem}.legal-content h2{font-size:1.5rem;margin:0 0 12px;color:#fff;line-height:1.08}.legal-content h3{font-size:1rem;margin:18px 0 6px;color:var(--accent)}.legal-content h4{font-size:.9rem;margin:16px 0 5px}.legal-content p{margin:0 0 10px;color:#c7cad2}.legal-content ul,.legal-content ol{padding-left:20px;margin:7px 0 13px}.legal-content li{margin:5px 0}.legal-content a{color:var(--accent)}.legal-content blockquote{margin:12px 0;padding:10px 13px;border-left:3px solid var(--accent);background:#181b20}.legal-modal-open{overflow:hidden}
.legal-consent{width:min(94vw,620px);margin:8px auto 2px;color:#8e939e;font-size:.61rem;line-height:1.42;text-align:center}.mp-form-card .legal-consent{width:100%;margin:0}.legal-consent button{appearance:none;border:0;background:none;color:#c9d89f;padding:0;font:inherit;text-decoration:underline;text-underline-offset:2px;cursor:pointer}.legal-consent .legal-consent-info{display:inline-grid;place-items:center;width:23px;height:23px;margin-left:2px;border:1px solid #3a3e47;border-radius:50%;background:#17191f;color:#d7ff3f;text-decoration:none;font-weight:1000}.legal-consent-lobby{margin-top:8px;margin-bottom:4px}
.purchase-consent-dialog{width:min(94vw,620px);grid-template-rows:auto minmax(0,1fr) auto}.purchase-consent-content{overflow:auto;display:grid;gap:12px;text-align:left}.purchase-consent-content>p{margin:0;color:#c8ccd5;line-height:1.5}.purchase-consent-check{display:grid;grid-template-columns:28px 1fr;gap:11px;align-items:flex-start;margin:0;padding:14px;border:1px solid #353943;border-radius:16px;background:#12141a;color:#e6e8ed;font-size:.78rem;line-height:1.45;cursor:pointer}.purchase-consent-check:has(input:checked){border-color:#759719;background:#19210e}.purchase-consent-check input{width:22px;height:22px;margin:0;accent-color:var(--accent)}.purchase-consent-check button{appearance:none;border:0;background:none;color:var(--accent);padding:0;font:inherit;text-decoration:underline;text-underline-offset:2px;cursor:pointer}.purchase-consent-actions{display:grid;grid-template-columns:.65fr 1.35fr;gap:10px}.purchase-consent-actions .btn{margin:0}.purchase-consent-content .error-text{margin:0;color:#ff8495;text-align:center;font-weight:800}
@media(max-width:560px){.legal-info-fab{width:40px;height:40px;min-height:40px;justify-content:center;padding:0;font-size:.76rem}.legal-info-fab span{display:none}.legal-modal{padding:8px}.legal-dialog{width:calc(100vw - 16px);max-height:calc(100dvh - 16px);border-radius:21px;padding:14px;gap:9px}.legal-content{padding:14px;font-size:.77rem}.legal-nav button{font-size:.61rem;padding:8px 10px}}
@media(max-width:560px){.purchase-consent-actions{grid-template-columns:1fr}.purchase-consent-actions #mpPurchaseConsentContinue{order:-1}.purchase-consent-check{font-size:.73rem;padding:12px}}

.home-info-links{display:flex;justify-content:center;gap:10px;align-items:center;margin:12px auto 0;font-size:.72rem;color:#777d88}.home-info-links a{color:#bfc5ce;text-decoration:none;border-bottom:1px dotted #5d636e}.home-info-links a:hover{color:var(--accent)}
