:root{--bg:#04100b;--felt:#0d3b29;--felt-deep:#071d16;--panel:#061812d1;--panel-strong:#05100df0;--line:#dcf2db24;--line-strong:#e6d28780;--text:#f3f5ec;--muted:#a9bcae;--soft:#d8dfd5;--green:#57e6a4;--green-bright:#8effc0;--gold:#f3ba4b;--gold-soft:#f0d488;--gold-deep:#c7a947;--danger:#ff5a68;--cyan:#5fd0ff;--chip:#b56ff5;--radius:16px;--shadow:0 24px 70px #00000080;--display:"Georgia", "Iowan Old Style", "Times New Roman", serif;--ui:"Segoe UI", system-ui, -apple-system, "Helvetica Neue", sans-serif}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{font-family:var(--ui);color:var(--text);background:radial-gradient(120% 90% at 50% -10%, #246e4e8c, transparent 60%), radial-gradient(140% 120% at 50% 120%, #08281ce6, transparent 55%), linear-gradient(160deg, #06170f, var(--bg));-webkit-font-smoothing:antialiased;overflow:hidden}button{cursor:pointer;font-family:inherit}.game-scene{z-index:0;pointer-events:none;position:fixed;inset:0}.game-scene,.game-scene>div,.game-scene canvas{pointer-events:none!important}.game-scene canvas{display:block}.scene-fallback{background:radial-gradient(60% 60% at 50% 30%,#f3ba4b1f,#0000 70%);transition:background .6s}.scene-fallback.tone-danger{background:radial-gradient(60% 60% at 50% 40%,#ff5a6829,#0000 70%)}.scene-fallback.tone-cyan{background:radial-gradient(60% 60% at 50% 40%,#5fd0ff24,#0000 70%)}.number-rain{z-index:1;pointer-events:none;position:fixed;inset:0;overflow:hidden}.rain-number{font-family:var(--display);color:#f0d4882e;text-shadow:0 0 18px #f3ba4b33;font-weight:700;animation-name:rain-rise;animation-timing-function:linear;animation-iteration-count:infinite;position:absolute;bottom:-8%}.rain-number.doomed{color:#ff788229;animation-name:rain-rise,rain-doom}@keyframes rain-rise{0%{opacity:0;transform:translateY(0)rotate(0)}12%{opacity:1}88%{opacity:1}to{opacity:0;transform:translateY(-118vh)rotate(8deg)}}@keyframes rain-doom{0%,55%{color:#f0d4882e;text-decoration:none}62%{color:var(--danger);text-shadow:0 0 22px #ff5a68b3}70%,to{color:#ff5a681f;text-decoration:line-through}}.title-shell,.game-shell{z-index:2;flex-direction:column;height:100dvh;display:flex;position:relative}.primary-button{border:1px solid var(--line-strong);background:linear-gradient(180deg, var(--gold-soft), var(--gold-deep));color:#1c1405;letter-spacing:.04em;border-radius:999px;padding:.85rem 2.4rem;font-size:1.05rem;font-weight:800;transition:transform .12s,box-shadow .2s;box-shadow:0 12px 30px #f3ba4b47}.primary-button:hover{transform:translateY(-1px);box-shadow:0 16px 36px #f3ba4b66}.form-error{color:var(--danger);min-height:1rem;margin:.2rem 0 0;font-size:.85rem}.title-topbar{color:var(--muted);letter-spacing:.04em;justify-content:space-between;padding:.9rem 1.4rem;font-size:.8rem;display:flex}.title-core{text-align:center;flex-direction:column;flex:1;justify-content:safe center;align-items:center;padding:1rem clamp(1rem,4vw,3rem) 2rem;display:flex;overflow-y:auto}.game-title{font-family:var(--display);letter-spacing:.02em;background:linear-gradient(180deg, #fff4d2 0%, var(--gold) 45%, var(--gold-deep) 100%);color:#0000;text-shadow:0 8px 40px #f3ba4b59;-webkit-background-clip:text;background-clip:text;margin:0;font-size:clamp(2.6rem,9vw,5.5rem);font-weight:700}.title-tagline{color:var(--soft);max-width:32ch;margin:.4rem 0 1.6rem;font-size:clamp(.9rem,2.4vw,1.1rem)}.host{pointer-events:none;align-items:flex-end;gap:.4rem;display:flex}.host-sprite{image-rendering:auto;filter:drop-shadow(0 10px 16px #0000008c);order:0;width:auto;height:clamp(160px,22vh,300px);animation:3.4s ease-in-out infinite host-bob}.host-bubble-wrap{pointer-events:none;order:1;position:relative}.host-dismiss{z-index:2;pointer-events:auto;border:2px solid var(--gold-deep);color:#241a06;cursor:pointer;background:#fffef8;border-radius:50%;justify-content:center;align-items:center;width:26px;height:26px;font-size:.72rem;line-height:1;display:flex;position:absolute;top:-8px;right:-8px;box-shadow:0 4px 10px #0006}.host-dismiss:hover{background:#fff1cf}.host-bubble{pointer-events:auto;text-align:left;max-width:min(320px,72vw);font:inherit;cursor:pointer;color:#241a06;border:3px solid var(--gold-deep);background:linear-gradient(#fffef8,#fff1cf);border-radius:16px;margin:0 0 14px;padding:.65rem .9rem .75rem;display:block;position:relative;box-shadow:0 14px 30px #00000073}.host-bubble:after{content:"";border:8px solid #0000;border-right-color:var(--gold-deep);position:absolute;bottom:14px;left:-13px}.host-bubble:before{content:"";z-index:1;border:6px solid #0000;border-right-color:#fffef8;position:absolute;bottom:16px;left:-8px}.host-name{letter-spacing:.09em;text-transform:uppercase;color:#a6781f;margin-bottom:.15rem;font-size:.7rem;font-weight:800;display:block}.host-text{min-height:1.32em;font-size:.92rem;line-height:1.32;display:block}.host-advance{color:#a6781f;font-size:.7rem;animation:1s steps(2,jump-none) infinite host-blink;position:absolute;bottom:.3rem;right:.55rem}.host-welcome{z-index:30;position:fixed;bottom:clamp(.7rem,3vw,1.4rem);left:clamp(.7rem,3vw,2rem)}@keyframes host-bob{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}@keyframes host-blink{50%{opacity:.25}}@media (prefers-reduced-motion:reduce){.host-sprite,.host-advance{animation:none}}.tutorial-screen{z-index:42;background:radial-gradient(90% 70% at 50% 22%, #246e4e8c, transparent 64%), linear-gradient(160deg, #06170f, var(--bg));flex-direction:column;align-items:center;padding:clamp(1rem,3vh,2rem) clamp(1rem,4vw,2.4rem) 0;display:flex;position:fixed;inset:0;overflow:hidden}.tut-topbar{justify-content:space-between;align-items:center;width:min(720px,100%);display:flex}.tut-mode-pill{letter-spacing:.06em;text-transform:uppercase;color:var(--soft);border:1px solid var(--line);background:#0000004d;border-radius:999px;margin:0;padding:.3rem .8rem;font-size:.75rem}.tut-skip{color:var(--muted);cursor:pointer;background:0 0;border:none;font-size:.85rem}.tut-skip:hover{color:var(--soft)}.tut-progress{gap:6px;margin:.9rem 0 .2rem;display:flex}.tut-dot{background:#ffffff2e;border-radius:50%;width:8px;height:8px}.tut-dot.done{background:var(--gold-deep)}.tut-dot.active{background:var(--gold);box-shadow:0 0 8px var(--gold)}.tut-stage{flex-direction:column;flex:1;justify-content:center;align-items:center;gap:clamp(.8rem,2.4vh,1.4rem);width:min(720px,100%);padding-bottom:190px;display:flex;overflow-y:auto}.tut-roll{align-items:center;gap:1rem;display:flex}.tut-roll-total{color:var(--gold);font-size:1.2rem}.tut-die{background:linear-gradient(155deg,#fff,#d9d2c4);border-radius:12px;grid-template-rows:repeat(3,1fr);grid-template-columns:repeat(3,1fr);place-items:center;width:66px;height:66px;padding:8px;display:grid;box-shadow:0 10px 24px #00000073,inset 0 0 0 2px #0000000f}.tut-die .die-pip{width:11px;height:11px}.tut-board{flex-direction:column;align-items:center;gap:.8rem;display:flex;position:relative}.tut-ball{color:#1c1405;background:radial-gradient(circle at 35% 30%, #fff6d8, var(--gold) 70%, var(--gold-deep));border-radius:50%;place-items:center;width:52px;height:52px;font-size:1.2rem;font-weight:800;display:grid;box-shadow:0 8px 20px #f3ba4b66}.tut-cashout{border:1px solid var(--gold-deep);background:#00000057;border-radius:16px;flex-direction:column;align-items:center;gap:.2rem;padding:1.2rem 1.8rem;display:flex}.tut-cashout-label{text-transform:uppercase;letter-spacing:.08em;color:var(--soft);font-size:.75rem}.tut-cashout-amount{color:var(--gold);font-size:2.4rem}.tut-cashout-mult{color:var(--soft);font-size:.9rem}.tut-cashout-hint{color:var(--muted);margin-top:.3rem;font-size:.78rem}.tut-clash{align-items:center;gap:1.2rem;display:flex}.tut-vs-name{color:var(--soft);font-size:1.4rem;font-weight:800}.tut-vs-name.you{color:var(--gold)}.tut-vs{color:var(--danger);font-weight:800}.tut-winner{text-align:center;flex-direction:column;align-items:center;gap:.3rem;display:flex}.tut-winner-crown{font-size:3rem}.tut-winner strong{color:var(--gold);font-size:2rem}.tut-winner span{color:var(--soft)}.tut-seats{flex-direction:column;gap:4px;width:min(420px,100%);margin:0;padding:0;list-style:none;display:flex}.tut-seat{border:1px solid var(--line);background:#ffffff0a;border-radius:10px;justify-content:space-between;align-items:center;padding:.4rem .8rem;font-size:.9rem;display:flex}.tut-seat.you{border-color:var(--gold-deep);background:#f3ba4b14}.tut-seat.out{opacity:.45}.tut-seat.out .tut-seat-status{color:var(--danger)}.tut-seat.alive .tut-seat-status{color:#5fd08a}.tut-seat-note{text-align:center;color:var(--muted);padding-top:.2rem;font-size:.8rem;list-style:none}.tutorial-offer{justify-content:center}.tut-offer-card{border:1px solid var(--gold-deep);text-align:center;background:#0006;border-radius:18px;flex-direction:column;gap:.6rem;width:min(520px,100%);padding:1.6rem;display:flex}.tut-offer-card h2{font-family:var(--display);color:var(--gold);margin:0}.tut-offer-copy{color:var(--soft);margin:0}.tut-offer-actions{flex-direction:column;align-items:center;gap:.6rem;margin-top:.6rem;display:flex}.host-tutorial{z-index:5;position:fixed;bottom:clamp(.7rem,3vh,1.4rem);left:clamp(.7rem,3vw,2rem)}.host-tutorial .host-sprite{width:auto;height:clamp(180px,26vh,340px)}.host-tutorial .host-bubble{max-width:min(440px,78vw)}.host-tutorial .host-text{font-size:.98rem}.title-form{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);width:min(560px,100%);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);flex-direction:column;gap:.5rem;padding:clamp(1.1rem,3vw,1.8rem);display:flex}.title-form label{text-align:left;color:var(--muted);letter-spacing:.05em;text-transform:uppercase;font-size:.85rem}.title-form input{border:1px solid var(--line);width:100%;color:var(--text);background:#020c08b3;border-radius:12px;padding:.85rem 1rem;font-size:1.1rem}.title-form input:focus{border-color:var(--gold);outline:none;box-shadow:0 0 0 3px #f3ba4b33}.title-hint{text-align:left;color:var(--muted);margin:0 0 .4rem;font-size:.78rem}.start-button{align-self:center;margin-top:.6rem}.title-core.gate .title-form{transition:max-width .35s}.signed-in-line{text-align:center;color:var(--muted);justify-content:center;align-items:center;gap:.5rem;margin:0 0 .2rem;font-size:.85rem;display:flex}.signed-in-line strong{color:var(--text)}.change-user{color:var(--gold);cursor:pointer;background:0 0;border:none;padding:0;font-size:.8rem;text-decoration:underline}.change-user:hover{color:var(--gold-deep)}@keyframes title-dashboard-reveal{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.title-core:not(.gate) .mode-cards{animation:.35s both title-dashboard-reveal}.mode-cards{grid-template-columns:1fr 1fr;gap:.8rem;margin:.4rem 0;display:grid}.mode-card[data-mode=chaos]{border-color:#ff5a6866;grid-column:1/-1}.mode-card[data-mode=chaos] strong{color:var(--danger)}.mode-card[data-mode=chaos].selected{border-color:var(--danger);box-shadow:0 0 0 1px var(--danger), 0 16px 36px #ff5a6838;background:#280e12d9}.mode-card[data-mode=chaos].selected .mode-select-dot{background:var(--danger);border-color:var(--danger);box-shadow:0 0 12px var(--danger)}.mode-card{text-align:left;border:1px solid var(--line);color:var(--text);background:#04100bb8;border-radius:14px;padding:1rem 1rem 1.1rem;transition:border-color .18s,transform .12s,box-shadow .2s;position:relative}.mode-card:hover{transform:translateY(-2px)}.mode-card .mode-card-head{justify-content:space-between;align-items:center;gap:.4rem;display:flex}.mode-card strong{font-size:1.25rem;font-family:var(--display)}.mode-card p{color:var(--muted);margin:.5rem 0 0;font-size:.82rem;line-height:1.4}.mode-flag{text-transform:uppercase;letter-spacing:.08em;color:var(--cyan);border:1px solid #5fd0ff66;border-radius:999px;padding:.15rem .5rem;font-size:.62rem}.mode-select-dot{border:2px solid var(--line-strong);border-radius:50%;width:14px;height:14px;transition:all .18s;position:absolute;top:1rem;right:1rem}.mode-card.experimental{border-style:dashed}.mode-card.selected{border-color:var(--gold);box-shadow:0 0 0 1px var(--gold), 0 16px 36px #f3ba4b38;background:#14281ad9}.mode-card.selected .mode-select-dot{background:var(--gold);border-color:var(--gold);box-shadow:0 0 12px var(--gold)}.mode-card.experimental.selected{border-color:var(--cyan);box-shadow:0 0 0 1px var(--cyan), 0 16px 36px #5fd0ff38}.mode-card.experimental.selected .mode-select-dot{background:var(--cyan);border-color:var(--cyan);box-shadow:0 0 12px var(--cyan)}.title-footer{justify-content:center;padding:.8rem;display:flex}.title-footer button{border:1px solid var(--line);color:var(--soft);background:#04100bb3;border-radius:999px;padding:.55rem 1.4rem;font-size:.85rem}.rules-overlay{z-index:30;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#020806c7;justify-content:center;align-items:center;padding:1.2rem;display:flex;position:fixed;inset:0}.rules-card{background:var(--panel-strong);border:1px solid var(--line-strong);border-radius:var(--radius);flex-direction:column;gap:.8rem;width:min(460px,100%);padding:1.6rem;display:flex}.rules-card h2{font-family:var(--display);margin:0}.rules-card article strong{color:var(--gold-soft)}.rules-card article p{color:var(--muted);margin:.2rem 0 0;font-size:.88rem}.rules-actions{gap:.6rem;margin-top:.4rem;display:flex}.rules-actions .primary-button,.rules-actions .secondary-button{flex:1}.secondary-button{border:1px solid var(--line-strong);color:var(--text);cursor:pointer;background:0 0;border-radius:12px;padding:.75rem 1rem;font-size:.95rem;font-weight:600;transition:border-color .15s,background .15s}.secondary-button:hover{border-color:var(--gold);background:#f3ba4b14}.stake-shell{z-index:2;flex-direction:column;min-height:100dvh;display:flex;position:relative}.stake-topbar{justify-content:space-between;align-items:center;padding:.9rem 1.4rem;display:flex}.stake-mode-pill{letter-spacing:.05em;color:var(--gold-soft);border:1px solid var(--line-strong);border-radius:999px;padding:.3rem .9rem;font-size:.78rem}.stake-core{text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:.4rem;padding:1rem clamp(1rem,4vw,3rem) 2.4rem;display:flex}.stake-title{font-family:var(--display);color:var(--gold);text-shadow:0 6px 30px #f3ba4b4d;margin:0;font-size:clamp(1.8rem,5vw,3rem)}.stake-sub{color:var(--soft);max-width:40ch;margin:0 0 1rem;font-size:.95rem}.stake-cards{grid-template-columns:repeat(4,minmax(0,1fr));gap:.8rem;width:min(720px,100%);display:grid}.stake-card{border:1px solid var(--line);color:var(--text);background:#04100bb8;border-radius:14px;flex-direction:column;align-items:center;gap:.2rem;padding:1.1rem .6rem;transition:border-color .18s,transform .12s,box-shadow .2s;display:flex;position:relative}.stake-card:hover{transform:translateY(-2px)}.stake-card strong{font-family:var(--display);color:var(--gold-soft);font-size:1.3rem}.stake-card span{color:var(--muted);font-size:.78rem}.stake-flag{text-transform:uppercase;letter-spacing:.07em;color:var(--gold);border:1px solid #f3ba4b66;border-radius:999px;padding:.1rem .45rem;font-size:.6rem}.stake-card.selected{border-color:var(--gold);box-shadow:0 0 0 1px var(--gold), 0 14px 32px #f3ba4b38;background:#14281ad9}.stake-card.high-roller{border-style:dashed}.stake-summary{color:var(--soft);margin:1.1rem 0 .4rem;font-size:.95rem}.stake-summary b{color:var(--gold)}.stake-confirm{margin-top:.6rem}@media (width<=560px){.stake-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}.dice-stage-screen{z-index:40;background:radial-gradient(90% 70% at 50% 26%, #246e4e8c, transparent 64%), linear-gradient(160deg, #06170f, var(--bg));justify-content:center;align-items:center;padding:clamp(1rem,4vh,2.4rem);display:flex;position:fixed;inset:0;overflow:hidden}.dice-stage-inner{text-align:center;flex-direction:column;align-items:center;gap:clamp(.8rem,3.4vh,2rem);max-width:100%;display:flex}.dice-stage-leave{border:1px solid var(--line);color:var(--soft);background:#0000004d;border-radius:999px;padding:.45rem .9rem;font-size:.82rem;position:absolute;top:clamp(.8rem,2.5vh,1.4rem);left:clamp(.8rem,2.5vw,1.4rem)}.dice-stage-leave:hover{border-color:var(--line-strong)}.dice-stage-mode{letter-spacing:.08em;text-transform:uppercase;color:var(--gold-soft);margin:0;font-size:.82rem}.dice-stage-title{font-family:var(--display);margin:0;font-size:clamp(1.6rem,5vw,3rem)}.dice-art-frame{--art-w:clamp(248px, min(72vw, 56vh), 400px);width:var(--art-w);filter:drop-shadow(0 30px 64px #0000008c);position:relative}.dice-art-img{width:var(--art-w);border-radius:20px;height:auto;display:block}.die-window{--die-size:calc(var(--art-w) * .215);width:var(--die-size);height:var(--die-size);perspective:calc(var(--die-size) * 4.6);cursor:grab;touch-action:none;border-radius:18%;outline:none;position:absolute;transform:translate(-50%,-50%)}.die-window-left{top:47.4%;left:27.2%}.die-window-right{top:47.4%;left:72.4%}.die-window.is-active{animation:1.4s ease-in-out infinite die-armed}@keyframes die-armed{0%,to{box-shadow:0 0 #f3ba4b00}50%{box-shadow:0 0 24px 5px #f3ba4b80}}.die-window:focus-visible{outline:2px solid var(--gold);outline-offset:6px}.die-window-inner,.die3d{transform-style:preserve-3d;position:absolute;inset:0}.die-window.is-active .die3d{filter:drop-shadow(0 0 9px #f3ba4b8c)}.die3d-cube{transform-style:preserve-3d;will-change:transform;position:absolute;inset:0}.die3d-face{background:linear-gradient(155deg,#fbf7ec,#e4ddc8);border-radius:16%;grid-template-rows:repeat(3,1fr);grid-template-columns:repeat(3,1fr);gap:9%;padding:15%;display:grid;position:absolute;inset:0;box-shadow:inset 0 0 0 2px #c7a94780}.face-front{transform:translateZ(calc(var(--die-size) / 2))}.face-back{transform:rotateX(180deg) translateZ(calc(var(--die-size) / 2))}.face-top{transform:rotateX(90deg) translateZ(calc(var(--die-size) / 2))}.face-bottom{transform:rotateX(-90deg) translateZ(calc(var(--die-size) / 2))}.face-left{transform:rotateY(-90deg) translateZ(calc(var(--die-size) / 2))}.face-right{transform:rotateY(90deg) translateZ(calc(var(--die-size) / 2))}.die-pip{border-radius:50%}.die-pip.on{background:radial-gradient(circle at 35% 30%,#2c2c2c,#050505);box-shadow:inset 0 0 2px #00000080}.dice-stage-result{flex-direction:column;align-items:center;gap:.15rem;min-height:2.8rem;display:flex}.dice-stage-result strong{font-family:var(--display);color:var(--gold);font-size:clamp(1.6rem,5vw,2.6rem)}.dice-stage-result span{color:var(--muted);font-size:.9rem}.dice-stage-rolling{color:var(--gold-soft)}@media (prefers-reduced-motion:reduce){.die-window.is-active{animation:none}}.game-topbar{border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#030c0999;grid-template-columns:1fr auto 1fr;align-items:center;gap:clamp(.5rem,2vw,1.2rem);padding:.7rem clamp(.7rem,2.5vw,1.4rem);display:grid}.topbar-left{align-items:center;gap:clamp(.4rem,1.5vw,1rem);display:flex}.topbar-right{justify-content:flex-end;align-items:center;display:flex}.exit-button{border:1px solid var(--line);color:var(--soft);background:0 0;border-radius:999px;padding:.4rem .9rem;font-size:.85rem}.topbar-profile{flex-direction:column;min-width:120px;display:flex}.topbar-profile strong{font-size:1rem}.topbar-profile span{color:var(--muted);font-size:.72rem}.xp-meter{background:#ffffff1f;border-radius:999px;width:110px;height:5px;margin-top:.25rem;overflow:hidden}.xp-meter span{background:linear-gradient(90deg, var(--green), var(--gold));height:100%;display:block}.jackpot-display{justify-content:center;align-items:center;gap:clamp(.8rem,2vw,1.6rem);display:flex}.jackpot-divider{background:var(--line);flex-shrink:0;width:1px;height:2rem}.jackpot-potential,.jackpot-guaranteed{flex-direction:column;align-items:center;line-height:1.15;display:flex}.jackpot-display small{text-transform:uppercase;letter-spacing:.07em;color:var(--muted);font-size:.62rem}.jackpot-potential strong{color:var(--gold);text-shadow:0 0 12px #f2d47466;font-size:clamp(1.15rem,3vw,1.6rem)}.jackpot-guaranteed strong{color:var(--green);font-size:clamp(1.15rem,3vw,1.6rem)}.match-stats{justify-content:flex-end;gap:clamp(.5rem,2vw,1.4rem);display:flex}.match-stats article{flex-direction:column;align-items:flex-end;line-height:1.1;display:flex}.match-stats small{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-size:.65rem}.match-stats strong{font-size:clamp(.9rem,2.2vw,1.15rem)}.match-stats .mode-redemption{color:var(--cyan)}.game-body{flex:1;grid-template-rows:minmax(0,1fr);grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:clamp(.6rem,1.6vw,1.1rem);min-height:0;padding:clamp(.7rem,2vw,1.2rem);display:grid;overflow:hidden}.game-main{flex-direction:column;gap:clamp(.6rem,1.6vw,1rem);min-width:0;min-height:0;display:flex;overflow:hidden}.game-main>.draw-stage{flex:auto;min-height:0}.game-main>.draw-history{flex:none}.player-panel{min-height:0}.draw-stage{grid-template-columns:minmax(120px,.55fr) 1fr;align-items:stretch;gap:clamp(.6rem,1.6vw,1rem);display:grid}.draw-card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:.3rem;padding:1rem;display:flex;position:relative}.draw-card-label{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-size:.72rem}.draw-number{font-family:var(--display);color:var(--gold);text-shadow:0 0 26px #f3ba4b80;font-size:clamp(2.4rem,7vw,4rem)}.draw-number.spinning{animation:.5s ease-in-out infinite alternate pulse}@keyframes pulse{0%{opacity:.7;transform:scale(.96)}to{opacity:1;transform:scale(1.04)}}.draw-card-sub{color:var(--cyan);margin:0;font-size:.78rem}.draw-countdown{border-radius:var(--radius);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:radial-gradient(circle,#060e0bdb 40%,#060e0bb3 100%);flex-direction:column;justify-content:center;align-items:center;gap:.4rem;animation:.18s both draw-countdown-fadein;display:flex;position:absolute;inset:0}@keyframes draw-countdown-fadein{0%{opacity:0}to{opacity:1}}.draw-countdown-dial{width:clamp(72px,14vw,96px);height:clamp(72px,14vw,96px);position:relative}.draw-countdown-ring{width:100%;height:100%;transform:rotate(-90deg)}.draw-countdown-track{fill:none;stroke:#ffffff1f;stroke-width:6px}.draw-countdown-progress{fill:none;stroke:var(--gold);stroke-width:6px;stroke-linecap:round;filter:drop-shadow(0 0 6px #f3ba4b8c);animation-name:draw-countdown-drain;animation-timing-function:linear;animation-fill-mode:forwards}@keyframes draw-countdown-drain{0%{stroke-dashoffset:0}to{stroke-dashoffset:var(--ring-circ)}}.draw-countdown-seconds{font-family:var(--display);color:var(--gold);text-shadow:0 0 18px #f3ba4b80;justify-content:center;align-items:center;font-size:clamp(1.8rem,5vw,2.6rem);display:flex;position:absolute;inset:0}.draw-countdown-label{text-transform:uppercase;letter-spacing:.1em;color:var(--muted);font-size:.66rem}.number-grid{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);grid-template-columns:repeat(10,1fr);align-content:center;gap:clamp(2px,.5vw,6px);padding:clamp(.5rem,1.4vw,.9rem);display:grid}.grid-number{aspect-ratio:1;color:var(--soft);background:#ffffff0d;border:1px solid #0000;border-radius:8px;justify-content:center;align-items:center;font-size:clamp(.65rem,1.6vw,.95rem);font-weight:600;transition:all .2s;display:flex}.grid-number.owned{color:var(--gold-soft);background:#f3ba4b29;border-color:#f3ba4b73}.grid-number.retired{color:var(--cyan);opacity:.8;background:#5fd0ff1f;border-color:#5fd0ff59;text-decoration:line-through}.grid-number.drawn{border-color:var(--danger);color:#fff;background:#ff5a68d9}.grid-number.owned-drawn{border-color:var(--gold);color:#fff;background:#b4323ce6;box-shadow:0 0 0 1px #f3ba4b80,inset 0 0 8px #f3ba4b1f}.grid-number.rival{color:var(--cyan);background:#5fd0ff29;border-color:#5fd0ff80}.grid-number.rival-drawn{border-color:var(--cyan);color:#fff;background:#b4323ce6;box-shadow:0 0 0 1px #5fd0ff80,inset 0 0 8px #5fd0ff1f}.grid-number.latest{box-shadow:0 0 0 2px var(--gold), 0 0 16px #f3ba4b99;transform:scale(1.08)}.draw-history{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);flex-direction:column;gap:.4rem;min-height:0;padding:.6rem .8rem;display:flex}.draw-history-balls{flex-wrap:wrap;gap:.35rem;max-height:4.8rem;display:flex;overflow-y:auto}.history-ball{border:1px solid var(--line);background:#ffffff0f;border-radius:50%;justify-content:center;align-items:center;min-width:1.9rem;height:1.9rem;font-size:.8rem;font-weight:700;display:inline-flex}.history-ball.latest{background:linear-gradient(180deg, var(--gold-soft), var(--gold-deep));color:#1c1405;border-color:var(--gold)}.history-empty{color:var(--muted);font-size:.85rem}.draw-history-elim{color:var(--danger);margin:0;font-size:.8rem}.draw-history-elim span{text-transform:uppercase;letter-spacing:.06em;margin-right:.3rem;font-size:.66rem}.player-panel{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);flex-direction:column;display:flex;overflow:hidden}.player-panel-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:.7rem 1rem;display:flex}.player-panel-head h2{font-family:var(--display);margin:0;font-size:1.2rem}.resorting{color:var(--gold-soft);font-size:.72rem}.final-two-badge{letter-spacing:.06em;color:#1c1405;background:linear-gradient(180deg, var(--gold-soft), var(--gold-deep));border-radius:999px;padding:.2rem .7rem;font-size:.78rem;font-weight:800;animation:1.4s ease-in-out infinite alternate badge-glow}@keyframes badge-glow{0%{box-shadow:0 0 6px #f3ba4b66}to{box-shadow:0 0 18px #f3ba4bd9}}.player-panel.final-two-mode{border-color:#f3ba4b8c;box-shadow:0 0 0 1px #f3ba4b66,0 0 40px #f3ba4b2e}.player-panel.final-two-mode .player-row:not(.finalist){opacity:.32;filter:grayscale(.7)}.player-row.finalist{border-color:var(--gold);background:#f3ba4b24;box-shadow:0 0 0 1px #f3ba4b66}.player-row.finalist.user{background:#f3ba4b38}.clash-status{border:1px solid var(--line);text-align:center;background:#04100bb3;border-radius:12px;flex-direction:column;gap:.1rem;padding:.55rem .9rem;display:flex}.clash-status strong{font-family:var(--display);letter-spacing:.03em;font-size:1.05rem}.clash-status span{color:var(--muted);font-size:.76rem}.clash-status.approaching{border-color:#f3ba4b73}.clash-status.approaching strong{color:var(--gold-soft)}.clash-status.final-two{border-color:var(--danger);background:#280c10b3;animation:1.3s ease-in-out infinite alternate clash-pulse}.clash-status.final-two strong{color:var(--danger)}@keyframes clash-pulse{0%{box-shadow:0 0 0 1px #ff5a6840}to{box-shadow:0 0 24px #ff5a6880}}.player-pinned{z-index:1;background:#f3ba4b12;border-bottom:2px solid #f3ba4b73;padding:.6rem .6rem .7rem;position:relative;box-shadow:0 4px 12px -6px #00000080}.player-pinned .player-row{margin:0}.player-list{flex-direction:column;flex:1;gap:.4rem;min-height:0;padding:.5rem;display:flex;overflow-y:auto}.player-row{background:#ffffff08;border:1px solid #0000;border-radius:12px;align-items:center;gap:.6rem;padding:.55rem .7rem;transition:background .3s,border-color .3s,transform .3s;display:flex}.player-identity{flex:1;min-width:0}.player-row.user{background:#f3ba4b1a;border-color:#f3ba4b66}.player-row.favorite{box-shadow:inset 0 0 0 1px #57e6a466}.player-row.eliminated{opacity:.45;filter:grayscale(.6)}.player-row.cashed-out{opacity:.7}.player-row.just-eliminated{animation:.6s hit-flash}@keyframes hit-flash{0%{background:#ff5a6880;transform:translate(-4px)}to{background:#ffffff08;transform:none}}.leaderboard-place{color:var(--muted);font-variant-numeric:tabular-nums;min-width:2rem;font-size:.88rem;font-weight:800}.leaderboard-place.place-first,.rank-place.place-first{color:var(--gold)}.player-level{color:var(--muted);white-space:nowrap;font-size:.68rem;font-weight:400}.player-identity{flex-direction:column;gap:.25rem;display:flex}.player-identity strong{align-items:center;gap:.4rem;font-size:.95rem;display:flex}.player-name{white-space:nowrap;text-overflow:ellipsis;max-width:9rem;overflow:hidden}.player-bal{color:var(--muted);font-size:.68rem;font-weight:400}.you-tag{background:var(--gold);color:#1c1405;letter-spacing:.04em;border-radius:4px;padding:.05rem .3rem;font-size:.6rem}.favorite-star{color:var(--gold)}.player-board{flex-wrap:wrap;align-items:center;gap:3px;display:flex}.board-pip{border:1px solid var(--line);min-width:1.3rem;height:1.3rem;color:var(--soft);background:#ffffff0f;border-radius:5px;justify-content:center;align-items:center;padding:0 .25rem;font-size:.68rem;font-weight:700;display:inline-flex}.board-pip.drawn{background:var(--danger);border-color:var(--danger);color:#fff}.board-pip.retired{color:var(--cyan);opacity:.75;background:#5fd0ff24;border-color:#5fd0ff66;text-decoration:line-through}.board-note{color:var(--muted);padding:0 .2rem;font-size:.66rem}.board-note.out{color:var(--danger)}.board-note.cashed{color:var(--green-bright)}.board-note.offer{color:var(--cyan)}.player-counts{align-items:center;gap:.5rem;display:flex;position:relative}.count-rolled,.count-active{flex-direction:column;align-items:center;line-height:1;display:flex}.count-rolled small,.count-active small{text-transform:uppercase;letter-spacing:.05em;color:var(--muted);font-size:.58rem}.count-rolled b{font-size:1.1rem}.count-active b{color:var(--cyan);font-size:1.1rem}.count-active.decayed b{color:var(--green-bright)}.decay-flash{color:var(--green-bright);pointer-events:none;font-size:.72rem;font-weight:700;animation:1.4s forwards decay-pop;position:absolute;top:-1.1rem;right:0}@keyframes decay-pop{0%{opacity:0;transform:translateY(6px)scale(.8)}20%{opacity:1;transform:translateY(0)scale(1.1)}80%{opacity:1}to{opacity:0;transform:translateY(-8px)}}.alive-count{color:var(--gold-soft);font-size:.78rem}.player-row.compact{grid-template-columns:2.2rem 1fr auto;gap:.5rem;height:100%;padding:.45rem .6rem}.rank-place{font-variant-numeric:tabular-nums;color:var(--muted);text-align:center;font-size:.85rem;font-weight:800}.compact-status{color:var(--muted);margin-top:.1rem;font-size:.72rem}.leaderboard-divider{justify-content:center;align-items:center;margin:.3rem 0;display:flex}.leaderboard-divider span{text-transform:uppercase;letter-spacing:.08em;color:var(--gold-soft);border:1px solid var(--line);background:#f3ba4b14;border-radius:999px;padding:.15rem .7rem;font-size:.66rem}.view-full{border-radius:12px;margin:.5rem;border:1px solid var(--line-strong)!important;background:#ffffff0a!important;padding:.6rem!important}.ghost-mini{border:1px solid var(--line);color:var(--soft);background:0 0;border-radius:999px;padding:.25rem .7rem;font-size:.75rem}.player-list.virtual{position:relative;overflow-y:auto}.virtual-spacer{width:100%;position:relative}.virtual-row{padding:0 .25rem;position:absolute;left:0;right:0}.bottom-bar{border-top:1px solid var(--line);background:#030c09cc;gap:.6rem;padding:.7rem clamp(.7rem,2.5vw,1.4rem);display:flex}.bottom-bar button{border:1px solid var(--line);color:var(--text);background:#ffffff0d;border-radius:12px;flex-direction:column;flex:1;align-items:center;gap:.1rem;padding:.7rem;display:flex}.bottom-bar .ghost-action strong{font-size:.95rem}.cinematic-overlay{z-index:18;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);pointer-events:none;background:radial-gradient(60% 60%,#04100bc7,#020806f0);flex-direction:column;justify-content:center;align-items:center;gap:1.4rem;display:flex;position:fixed;inset:0}.cinematic-overlay.clash-phase-countdown{-webkit-backdrop-filter:none;backdrop-filter:none;background:radial-gradient(60% 60%,#04100b9e,#020806d1)}.cinematic-overlay h2{font-family:var(--display);color:var(--gold);text-shadow:0 0 30px #f3ba4b80;margin:0;font-size:clamp(2rem,6vw,3.4rem)}.cinematic-row{align-items:center;gap:clamp(1rem,4vw,3rem);display:flex}.cinematic-name{font-size:clamp(1rem,3vw,1.6rem);font-weight:700}.clash-wheel-wrap{flex-direction:column;align-items:center;gap:.3rem;display:flex}.clash-wheel{transform-origin:50%;width:clamp(180px,32vw,300px);height:auto;transition:transform 3s cubic-bezier(.15,.6,.2,1)}.wheel-base{fill:none;stroke:#ffffff14;stroke-width:10px}.wheel-segment{fill:none;stroke-width:10px;transform-origin:50%;transform:rotate(-90deg)}.wheel-hub{fill:#07251a;stroke:var(--gold);stroke-width:1.5px}.clash-wheel-wrap{position:relative}.clash-wheel-wrap strong{font-family:var(--display);margin-top:-.4rem;font-size:1.4rem}.clash-wheel-wrap span{color:var(--muted);font-size:.78rem}.clash-polished{gap:clamp(.6rem,2vw,1.1rem)}.clash-burst{background:radial-gradient(40% 40% at 50% 48%,#f3ba4b38,#0000 70%);animation:2.4s ease-in-out infinite clash-burst-pulse;position:absolute;inset:0}@keyframes clash-burst-pulse{0%,to{opacity:.5;transform:scale(.95)}50%{opacity:1;transform:scale(1.05)}}.clash-title{font-family:var(--display);letter-spacing:.04em;animation:.6s cubic-bezier(.2,1.2,.3,1) both clash-title-in;font-size:clamp(2.2rem,7vw,4rem)!important}@keyframes clash-title-in{0%{opacity:0;transform:scale(.6)translateY(20px)}to{opacity:1;transform:none}}.clash-sub{color:var(--gold-soft);margin:-.6rem 0 0;font-size:.9rem}.clash-arena{align-items:stretch}.clash-pointer{border-left:9px solid #0000;border-right:9px solid #0000;border-top:16px solid var(--gold);filter:drop-shadow(0 0 6px #f3ba4bcc);z-index:2;width:0;height:0;position:absolute;top:-6px;left:50%;transform:translate(-50%)}.clash-vs{color:var(--gold)}.clash-layout{justify-content:center;align-items:center;gap:clamp(1rem,4vw,3rem);width:min(1000px,94vw);display:flex}.clash-finalists{flex-direction:column;flex:auto;justify-content:center;gap:.55rem;min-width:0;max-height:72vh;display:flex;overflow-y:auto}.clash-wheel-panel{border:1px solid var(--line-strong);box-shadow:var(--shadow);background:#030c098c;border-radius:22px;flex-direction:column;flex:none;justify-content:center;align-items:center;gap:.8rem;padding:clamp(.9rem,2vw,1.5rem);display:flex}.clash-card{background:var(--panel-strong);border:1px solid var(--clash-color,var(--line-strong));box-shadow:0 0 0 1px var(--clash-color,transparent), 0 0 32px -10px var(--clash-color,transparent);border-radius:14px;flex-direction:row;align-items:center;gap:.6rem;padding:.7rem .85rem;transition:opacity .4s,transform .4s,box-shadow .4s,filter .4s;animation:.5s both clash-card-in;display:flex;position:relative}@keyframes clash-card-in{0%{opacity:0;transform:translateY(16px)scale(.92)}to{opacity:1;transform:none}}.clash-card.is-winner{box-shadow:0 0 0 2px var(--clash-color), 0 0 50px -6px var(--clash-color);transform:scale(1.05)}.clash-card.is-loser{opacity:.38;filter:grayscale(.55)}.clash-swatch{background:var(--clash-color,var(--gold));border-radius:4px;flex:none;align-self:stretch;width:6px}.clash-avatar{color:#10130c;background:var(--clash-color,linear-gradient(180deg, var(--gold-soft), var(--gold-deep)));border-radius:50%;flex:none;justify-content:center;align-items:center;width:42px;height:42px;font-size:1.2rem;font-weight:800;display:flex}.clash-id{text-align:left;flex-direction:column;flex:auto;gap:.1rem;min-width:0;display:flex}.clash-name{white-space:nowrap;text-overflow:ellipsis;font-size:1rem;overflow:hidden}.clash-you{letter-spacing:.08em;background:var(--clash-color,var(--gold));color:#10130c;vertical-align:middle;border-radius:6px;margin-left:.4rem;padding:.05rem .32rem;font-size:.58rem;font-weight:800}.clash-rank{color:var(--muted);font-size:.7rem}.clash-ready{color:var(--muted);flex:none;font-size:.62rem;font-weight:700}.clash-ready.ready{color:var(--green-bright)}.clash-chance{flex-direction:column;flex:none;align-items:center;margin-left:auto;line-height:1;display:flex}.clash-chance b{color:var(--clash-color,var(--green-bright));font-size:1.25rem}.clash-chance small{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-size:.58rem}.clash-numbers{display:none}.clash-finalists[data-count="4"] .clash-card,.clash-finalists[data-count="5"] .clash-card,.clash-finalists[data-count="6"] .clash-card,.clash-finalists[data-count="7"] .clash-card,.clash-finalists[data-count="8"] .clash-card{gap:.45rem;padding:.45rem .65rem}.clash-finalists[data-count="4"] .clash-avatar,.clash-finalists[data-count="5"] .clash-avatar,.clash-finalists[data-count="6"] .clash-avatar,.clash-finalists[data-count="7"] .clash-avatar,.clash-finalists[data-count="8"] .clash-avatar{width:32px;height:32px;font-size:.95rem}.clash-finalists[data-count="4"] .clash-chance b,.clash-finalists[data-count="5"] .clash-chance b,.clash-finalists[data-count="6"] .clash-chance b,.clash-finalists[data-count="7"] .clash-chance b,.clash-finalists[data-count="8"] .clash-chance b{font-size:1rem}.clash-countdown-area{flex-direction:column;align-items:center;gap:.6rem;display:flex}.clash-ready-btn{pointer-events:auto;border:1px solid var(--gold);background:linear-gradient(180deg, var(--gold-soft), var(--gold-deep));color:#201704;cursor:pointer;border-radius:999px;padding:.6rem 1.5rem;font-size:.95rem;font-weight:800}.clash-ready-btn.ready{color:var(--green-bright);border-color:var(--green-bright);background:0 0}.clash-spin-timer{text-align:center;pointer-events:none;background:radial-gradient(circle,#030c09f0 55%,#0000 74%);border-radius:50%;flex-direction:column;justify-content:center;align-items:center;gap:.05rem;width:clamp(92px,18vw,132px);height:clamp(92px,18vw,132px);display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.clash-spin-timer-label{text-transform:uppercase;letter-spacing:.07em;max-width:5.4rem;color:var(--muted);font-size:.52rem;line-height:1.15}.clash-spin-timer-secs{font-family:var(--display);color:var(--gold);text-shadow:0 0 12px #000c;font-size:2.1rem;line-height:1}.clash-result{flex-direction:column;align-items:center;gap:.15rem;animation:.45s cubic-bezier(.2,1.2,.3,1) both clash-result-in;display:flex}.clash-result-label{text-transform:uppercase;letter-spacing:.14em;color:var(--muted);font-size:.68rem}.clash-result-name{font-family:var(--display);color:var(--clash-color,var(--gold));text-shadow:0 0 26px var(--clash-color,transparent);font-size:clamp(1.8rem,5vw,3rem)}@keyframes clash-result-in{0%{opacity:0;transform:scale(.7)}to{opacity:1;transform:none}}.wheel-segment.won{stroke-width:13px}.clash-numbers{flex-wrap:wrap;justify-content:center;gap:3px;display:flex}.clash-numbers span{border:1px solid var(--line);background:#ffffff0f;border-radius:5px;justify-content:center;align-items:center;min-width:1.25rem;height:1.25rem;font-size:.66rem;font-weight:700;display:inline-flex}.clash-numbers span.drawn{background:var(--danger);border-color:var(--danger);color:#fff}.clash-picking{color:var(--soft);margin:0;font-size:.95rem;animation:1s ease-in-out infinite clash-picking-pulse}@keyframes clash-picking-pulse{0%,to{opacity:.55}50%{opacity:1}}@media (width<=640px){.clash-layout{flex-direction:column;gap:1rem;width:96vw}.clash-finalists{width:100%;max-height:42vh}.clash-card{padding:.55rem .6rem}}.chat-control{flex:1;display:flex;position:relative}.chat-control .chat-toggle{flex:1}.chat-toggle.open{border-color:var(--gold)!important}.chat-menu{background:var(--panel-strong);border:1px solid var(--line-strong);box-shadow:var(--shadow);z-index:22;border-radius:12px;flex-direction:column;gap:.3rem;padding:.4rem;display:flex;position:absolute;bottom:calc(100% + .5rem);left:0;right:0}.chat-menu button{border:1px solid var(--line);color:var(--text);text-align:left;background:#ffffff0d;border-radius:8px;padding:.5rem .6rem;font-size:.85rem}.chat-menu button:hover{border-color:var(--gold);background:#f3ba4b1f}.chat-stack{z-index:21;pointer-events:none;flex-direction:column;align-items:flex-end;gap:.4rem;display:flex;position:fixed;bottom:86px;right:14px}.chat-bubble{background:var(--panel-strong);border:1px solid var(--line);max-width:240px;box-shadow:var(--shadow);border-radius:12px 12px 2px;flex-direction:column;padding:.4rem .7rem;animation:.25s both chat-pop;display:flex}.chat-bubble.self{border-color:var(--line-strong);background:#14281aeb}.chat-bubble strong{color:var(--gold-soft);font-size:.66rem}.chat-bubble span{font-size:.9rem}@keyframes chat-pop{0%{opacity:0;transform:translateY(8px)scale(.9)}to{opacity:1;transform:none}}.flash-overlay{z-index:25;opacity:0;pointer-events:none;justify-content:center;align-items:center;transition:opacity .3s;display:flex;position:fixed;inset:0}.flash-overlay.show{opacity:1}.flash-overlay>div{text-align:center;border-radius:var(--radius);background:var(--panel-strong);border:1px solid var(--line-strong);padding:2rem 3rem}.flash-overlay span{text-transform:uppercase;letter-spacing:.12em;color:var(--muted);font-size:.85rem;display:block}.flash-overlay strong{font-family:var(--display);margin-top:.4rem;font-size:clamp(1.4rem,4vw,2.2rem);display:block}.flash-overlay.elimination>div{border-color:var(--danger);box-shadow:0 0 50px #ff5a6866}.flash-overlay.elimination strong{color:var(--danger)}.flash-overlay.winner{z-index:26}.flash-overlay.winner>div{border-color:var(--gold);box-shadow:0 0 70px #f3ba4b80}.flash-overlay.winner strong{color:var(--gold)}.winner-balance{margin:.6rem 0 .2rem}.winner-balance small{color:var(--muted);font-size:.7rem;display:block}.winner-balance b{color:var(--green-bright);font-size:1.8rem}.winner-mode{color:var(--cyan);font-size:.75rem}.game-shell.user-hit:after{content:"";z-index:24;pointer-events:none;animation:.5s edge-flash;position:fixed;inset:0;box-shadow:inset 0 0 120px 30px #ff5a6899}.game-shell.user-eliminated .number-grid,.game-shell.user-eliminated .draw-card{filter:grayscale(.5)}@keyframes edge-flash{0%{opacity:1}to{opacity:0}}@media (width<=900px){html,body,#root{height:auto;min-height:100%}body{overflow:hidden auto}.game-shell{height:auto;min-height:100dvh}.game-body{flex-direction:column;flex:1 0 auto;display:flex;overflow:visible}.game-main,.game-main>.draw-stage,.player-panel{flex:none;overflow:visible}.player-list{flex:none;min-height:0;overflow:visible}.game-topbar{z-index:12;background:#030c09f0;gap:.6rem;position:sticky;top:0}.bottom-bar{z-index:12;background:#030c09f5;position:sticky;bottom:0}.game-topbar{grid-template-rows:auto auto;grid-template-columns:1fr 1fr}.topbar-left{grid-column:1/3}.jackpot-display{grid-column:1;justify-content:flex-start}.topbar-right{grid-column:2}}@media (width<=560px){.draw-stage,.mode-cards{grid-template-columns:1fr}.player-row{grid-template-columns:1fr auto;gap:.45rem;padding:.5rem}.player-name{max-width:7rem}.game-title{text-shadow:0 4px 20px #f3ba4b4d}}@media (prefers-reduced-motion:reduce){.rain-number,.draw-number.spinning,.clash-wheel,.decay-flash,.player-row.just-eliminated,.game-shell.user-hit:after,.title-mascot{animation:none!important}}.music-btn{width:36px;height:36px;color:var(--gold);border:1px solid var(--line-strong);background:#0000004d;border-radius:50%;flex:none;justify-content:center;align-items:center;font-size:1rem;transition:transform .12s,color .2s,border-color .2s;display:inline-flex}.music-btn:hover{transform:translateY(-1px)}.music-btn.on{animation:2s ease-in-out infinite music-pulse}.music-btn.off{color:var(--muted);border-color:var(--line)}@keyframes music-pulse{0%,to{box-shadow:0 0 #f3ba4b00}50%{box-shadow:0 0 14px #f3ba4b73}}.theme-toggle{border:1px solid var(--line);background:#0000004d;border-radius:999px;gap:2px;padding:3px;display:inline-flex}.theme-toggle button{color:var(--muted);background:0 0;border:none;border-radius:999px;padding:.3rem .75rem;font-size:.72rem;transition:background .15s,color .15s}.theme-toggle button.active{background:var(--gold);color:#1c1405;font-weight:700}.title-topbar{align-items:center}.topbar-right{align-items:center;gap:.6rem;display:flex}.title-logo{justify-content:center;align-items:center;gap:clamp(.5rem,3vw,2rem);display:flex}.title-logo-text{flex-direction:column;align-items:center;display:flex}.title-jp,.title-mascot,.mode-subtitle{display:none}:root[data-theme=neon]{--bg:#070718;--felt:#10204a;--felt-deep:#0a0f2e;--panel:#0a0e28d1;--panel-strong:#080a1ef2;--line:#78c8ff33;--line-strong:#36e0ff99;--text:#eafdff;--muted:#8fb3d8;--soft:#cfe8ff;--green:#2ff0d0;--green-bright:#7dffe8;--gold:#ffd23a;--gold-soft:#ffe27a;--gold-deep:#caa12a;--danger:#ff3aa0;--cyan:#36e0ff;--chip:#c86bff}[data-theme=neon] body{background:radial-gradient(60% 50% at 50% 0,#36e0ff2e,#0000 60%),radial-gradient(60% 50% at 50% 100%,#ff3aa029,#0000 60%),linear-gradient(160deg,#0a0f2e,#070718)}[data-theme=neon] body:before{content:"";z-index:0;pointer-events:none;opacity:.22;background-image:linear-gradient(#36e0ff66 1px,#0000 1px),linear-gradient(90deg,#36e0ff66 1px,#0000 1px);background-size:40px 40px;position:fixed;inset:0;-webkit-mask-image:radial-gradient(circle at 50% 42%,#000,#0000 78%);mask-image:radial-gradient(circle at 50% 42%,#000,#0000 78%)}[data-theme=neon] .title-shell:before{content:"";z-index:3;pointer-events:none;border:2px solid #36e0ff80;border-radius:26px;position:fixed;inset:10px;box-shadow:0 0 26px #36e0ff59,inset 0 0 44px #36e0ff1f,inset 0 0 0 6px #ff3aa00f}[data-theme=neon] .title-jp{font-family:var(--ui);letter-spacing:.04em;color:#aef6ff;text-shadow:0 0 8px #36e0ff,0 0 22px #36e0ff,0 0 40px #36e0ff99;font-size:clamp(2.1rem,8vw,4.6rem);font-weight:800;display:block}[data-theme=neon] .game-title{font-family:var(--ui);letter-spacing:.42em;text-transform:uppercase;color:#ff7ac6;-webkit-text-fill-color:#ff7ac6;text-shadow:0 0 10px #ff3aa0b3;background:0 0;font-size:clamp(.85rem,2.2vw,1.25rem);font-weight:700}[data-theme=neon] .title-mascot{filter:drop-shadow(0 0 10px #36e0ff80);font-size:clamp(2rem,7vw,3.4rem);animation:2.4s ease-in-out infinite mascot-bob;display:block}[data-theme=neon] .mascot-right{animation-delay:-1.2s}@keyframes mascot-bob{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}[data-theme=neon] .mode-subtitle{font-family:var(--ui);margin-top:.05rem;font-size:1.15rem;font-weight:800;display:block}[data-theme=neon] .mode-card{background:#0a102ccc;border-width:2px;border-radius:18px}[data-theme=neon] .mode-card:not(.experimental){border-color:#36e0ff99;box-shadow:0 0 18px #36e0ff40,inset 0 0 24px #36e0ff14}[data-theme=neon] .mode-card:not(.experimental) strong,[data-theme=neon] .mode-card:not(.experimental) .mode-subtitle{color:#9af3ff;text-shadow:0 0 12px #36e0ffb3}[data-theme=neon] .mode-card.experimental{border-style:solid;border-color:var(--gold);background:linear-gradient(#300a2cc7,#16082ad9);box-shadow:0 0 20px #ff3aa059,inset 0 0 24px #ff3aa01a}[data-theme=neon] .mode-card.experimental strong,[data-theme=neon] .mode-card.experimental .mode-subtitle{color:var(--gold);text-shadow:0 0 12px #ff3aa0b3}[data-theme=neon] .mode-card.selected{transform:translateY(-2px)scale(1.01)}[data-theme=neon] .mode-card:not(.experimental).selected{box-shadow:0 0 0 2px #36e0ff,0 0 30px #36e0ff80}[data-theme=neon] .mode-card.experimental.selected{box-shadow:0 0 0 2px var(--gold), 0 0 30px #ff3aa08c}[data-theme=neon] .mode-card:not(.experimental) .mode-card-head strong:before{content:"🌸 "}[data-theme=neon] .mode-card:not(.experimental) .mode-card-head strong:after{content:" 🌸"}[data-theme=neon] .mode-card.experimental .mode-card-head strong:before{content:"🐉 "}[data-theme=neon] .mode-card.experimental .mode-card-head strong:after{content:" 💀"}[data-theme=neon] .title-form{box-shadow:0 0 30px #36e0ff26, var(--shadow);border-color:#36e0ff59}[data-theme=neon] .start-button{color:#04121a;background:linear-gradient(#4be8ff,#1aa6cf);border-color:#36e0ffb3;box-shadow:0 0 24px #36e0ff80}[data-theme=neon] .title-footer button{color:#9af3ff;border-color:#36e0ff66}[data-theme=neon] .rain-number{color:#36e0ff2e;text-shadow:0 0 14px #36e0ff4d}[data-theme=neon] .rain-number.doomed{color:#ff3aa02e}[data-theme=neon] .grid-number.latest{box-shadow:0 0 0 2px var(--cyan), 0 0 16px #36e0ffb3}[data-theme=neon] .draw-number{color:var(--cyan);text-shadow:0 0 26px #36e0ff99}.decision-overlay{z-index:28;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#020806b8;justify-content:center;align-items:center;padding:1.2rem;animation:.18s both decision-fadein;display:flex;position:fixed;inset:0}@keyframes decision-fadein{0%{opacity:0}to{opacity:1}}.decision-card{background:var(--panel-strong);border:1px solid var(--line-strong);border-radius:var(--radius);width:min(400px,100%);box-shadow:var(--shadow);flex-direction:column;gap:1rem;padding:1.8rem 1.6rem 1.4rem;display:flex}.decision-title{font-family:var(--display);color:var(--gold);margin:0;font-size:clamp(1.3rem,3.5vw,1.8rem)}.decision-sub{color:var(--muted);margin:0;font-size:.9rem}.decision-elim{font-family:var(--display);text-align:center;color:var(--text);margin:0;font-size:clamp(1rem,3vw,1.3rem)}.decision-remaining{color:var(--muted);font-size:.9em}.decision-offer{justify-content:center;align-items:baseline;gap:.7rem;display:flex}.decision-mult{color:var(--muted);font-size:1.1rem}.decision-amount{font-family:var(--display);color:var(--green-bright);font-size:clamp(1.8rem,6vw,2.6rem);font-weight:700}.decision-actions{flex-direction:column;gap:.55rem;display:flex}.decision-btn{border:1px solid var(--line);color:var(--text);cursor:pointer;background:#ffffff0d;border-radius:12px;flex-direction:column;align-items:center;gap:.15rem;padding:.85rem 1rem;font-size:1rem;font-weight:700;transition:background .12s,border-color .12s;display:flex}.decision-btn small{color:var(--muted);font-size:.78rem;font-weight:400}.decision-btn--primary{background:linear-gradient(180deg, var(--gold-soft), var(--gold-deep));border-color:var(--gold);color:#1c1405}.decision-btn--primary small{color:#1c1405a6}.decision-btn--primary:hover{filter:brightness(1.06)}.decision-btn--cashout{color:var(--green-bright);background:linear-gradient(#57e6a438,#143224a6);border-color:#57e6a48c}.decision-btn--cashout:hover{background:linear-gradient(#57e6a452,#143224bf)}.decision-btn--ghost{border-color:var(--line);color:var(--soft);background:#ffffff0a}.decision-btn--ghost:hover{background:#ffffff14;border-color:#dcf2db47}.decision-countdown-row{align-items:center;gap:.6rem;display:flex}.decision-countdown{background:var(--green);transform-origin:0;border-radius:2px;flex:auto;height:3px;animation-name:countdown-drain;animation-timing-function:linear;animation-fill-mode:forwards}.decision-countdown-seconds{text-align:right;min-width:1.6rem;font-family:var(--display);color:var(--green-bright);font-variant-numeric:tabular-nums;flex:none;font-size:.95rem}@keyframes countdown-drain{0%{opacity:1;transform:scaleX(1)}to{opacity:.3;transform:scaleX(0)}}.chip-icon{background:radial-gradient(circle at 50% 50%, var(--chip) 0 38%, #1a0b2e 39% 46%, var(--chip) 47%);vertical-align:-.1em;border:2px dashed #ffffffbf;border-radius:50%;flex:none;width:.95em;height:.95em;margin-right:.15em;display:inline-block;box-shadow:0 0 8px #b56ff599}.topbar-chips{color:var(--chip);font-variant-numeric:tabular-nums;align-items:center;gap:.2rem;font-weight:700;display:inline-flex}.topbar-balance{color:var(--gold);font-variant-numeric:tabular-nums;align-items:center;font-weight:700;display:inline-flex}.lock-badge{margin-right:.25em;font-size:.8em}.theme-toggle button.locked{color:var(--chip);opacity:.85}.mode-card[data-mode=shop]{cursor:pointer;background:#1c0e2ccc;border-color:#b56ff573;grid-column:1/-1}.mode-card[data-mode=shop] strong{color:var(--chip)}.mode-card[data-mode=shop]:hover{border-color:var(--chip);box-shadow:0 0 0 1px var(--chip), 0 16px 36px #b56ff53d}.mode-card[data-mode=shop].selected{border-color:var(--chip);box-shadow:0 0 0 1px var(--chip), 0 16px 36px #b56ff547;background:#1c0e2cf2}.mode-card[data-mode=shop].selected .mode-select-dot{background:var(--chip);border-color:var(--chip);box-shadow:0 0 12px var(--chip)}.shop-card-chips{color:var(--chip);font-variant-numeric:tabular-nums;align-items:center;gap:.2rem;font-weight:700;display:inline-flex}.shop-shell{background:radial-gradient(120% 80% at 50% -10%, #b56ff538, transparent 60%), var(--bg);min-height:100vh;color:var(--text);padding:1.2rem clamp(1rem,4vw,3rem) 3rem;position:relative}.shop-topbar{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.2rem;display:flex}.shop-title{font-family:var(--display);color:var(--chip);text-shadow:0 0 18px #b56ff580;margin:0}.shop-balance{color:var(--chip);font-variant-numeric:tabular-nums;align-items:baseline;gap:.35rem;font-size:1.3rem;display:inline-flex}.shop-balance small{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font-size:.7rem}.shop-blurb{color:var(--muted);margin:0 0 1.4rem}.shop-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:1rem;display:grid}.shop-skin-card{background:var(--panel);border:1px solid #b56ff559;border-radius:16px;flex-direction:column;display:flex;overflow:hidden}.shop-skin-card.owned{border-color:var(--green)}.shop-skin-preview{height:130px;font-family:var(--display);letter-spacing:.04em;place-items:center;font-size:1.3rem;display:grid}.shop-skin-preview[data-skin=neon]{color:#eafdff;text-shadow:0 0 12px #36e0ff,0 0 22px #ff3aa0;background:linear-gradient(120deg,#ff3aa059,#36e0ff59),repeating-linear-gradient(90deg,#ffffff0d 0 12px,#0000 12px 24px),#070718}.shop-skin-preview[data-skin=felt]{color:var(--gold);background:radial-gradient(circle at 50% 40%,#0d3b29,#071d16)}.shop-skin-body{flex-direction:column;flex:1;gap:.4rem;padding:.9rem 1rem 1.1rem;display:flex}.shop-skin-body strong{font-family:var(--display);font-size:1.1rem}.shop-skin-body p{color:var(--muted);flex:1;margin:0;font-size:.82rem}.shop-buy{border:1px solid var(--chip);background:var(--chip);color:#1a0b2e;cursor:pointer;border-radius:10px;justify-content:center;align-items:center;gap:.3rem;margin-top:.4rem;padding:.6rem .9rem;font-weight:700;display:inline-flex}.shop-buy:disabled{color:var(--muted);border-color:var(--line);cursor:not-allowed;background:0 0}.shop-buy.equipped-toggle{color:var(--green-bright);border-color:var(--green);background:0 0}.shop-buy.equipped-toggle.equipped{opacity:.7}.bottom-action.bet-action{flex-direction:column;gap:.15rem;overflow:hidden}.bet-action-label{align-items:center;gap:.45rem;display:flex}.bet-action-ticker{white-space:nowrap;text-overflow:ellipsis;max-width:100%;font-size:.62rem;font-weight:600;animation:.3s both bet-ticker-in;overflow:hidden}.bet-action-ticker.loss{color:var(--danger)}.bet-action-ticker.refund{color:var(--green-bright)}@keyframes bet-ticker-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}.bottom-action.bet-action.bets-live{border-color:var(--chip);box-shadow:0 0 12px #b56ff566}.bottom-action.bet-action.panel-open{border-color:var(--chip);background:#b56ff52e}.bet-panel{border:1px solid var(--chip);z-index:20;transform-origin:0 100%;background:#0a0614f7;border-radius:16px 16px 16px 4px;flex-direction:column;gap:.65rem;width:min(420px,92vw);padding:.85rem 1rem;animation:.22s cubic-bezier(.2,.9,.3,1.1) both bet-panel-rise;display:flex;position:fixed;bottom:4.7rem;left:clamp(.7rem,2.5vw,1.4rem);box-shadow:0 0 24px #b56ff533}@keyframes bet-panel-rise{0%{opacity:0;transform:translateY(14px)scale(.96)}to{opacity:1;transform:translateY(0)scale(1)}}.bet-panel-head{justify-content:space-between;align-items:center;display:flex}.bet-panel-balance{color:var(--chip);align-items:center;gap:.3rem;font-size:.95rem;font-weight:700;display:flex}.bet-panel-total{color:var(--muted);align-items:center;gap:.25rem;font-size:.8rem;display:flex}.bet-panel-stake{flex-wrap:wrap;align-items:center;gap:.4rem;display:flex}.bet-panel-label{color:var(--muted);white-space:nowrap;margin-right:.2rem;font-size:.75rem}.bet-amount-btn{color:var(--chip);cursor:pointer;white-space:nowrap;background:#b56ff514;border:1px solid #b56ff566;border-radius:8px;justify-content:center;align-items:center;gap:.25rem;padding:.4rem .65rem;font-size:.85rem;font-weight:600;display:flex}.bet-amount-btn:hover{background:#b56ff533}.bet-amount-btn.active{border-color:var(--chip);background:#b56ff547;box-shadow:0 0 8px #b56ff54d}.bet-amount-btn.all-in{color:#d090ff;border-color:#a040f080}.bet-amount-btn.custom-toggle{letter-spacing:-.03em;font-family:monospace}.bet-panel-custom{align-items:center;gap:.5rem;display:flex}.bet-custom-input{color:var(--chip);background:#b56ff50f;border:1px solid #b56ff566;border-radius:8px;outline:none;flex:1;padding:.4rem .6rem;font-size:.9rem}.bet-custom-input:focus{border-color:var(--chip)}.bet-no-chips{color:var(--muted);font-size:.8rem}.bet-panel-feed{border-top:1px solid #b56ff526;flex-direction:column;gap:.3rem;padding-top:.55rem;display:flex}.bet-notif{padding:.2rem 0;font-size:.78rem}.bet-notif.loss{color:var(--danger-bright,#ff6b6b)}.bet-notif.refund{color:var(--green-bright)}.player-bet-col{flex-shrink:0;align-items:center;gap:.35rem;display:flex}.bet-placed-count{color:var(--chip);align-items:center;gap:.2rem;font-size:.78rem;font-weight:700;display:flex}.row-bet-btn{border:1px solid var(--chip);color:var(--chip);cursor:pointer;white-space:nowrap;background:#b56ff51f;border-radius:8px;flex-direction:column;align-items:center;gap:.1rem;padding:.3rem .5rem;line-height:1.2;display:flex}.row-bet-btn:hover{background:#b56ff540}.row-bet-top{align-items:center;gap:.2rem;font-size:.8rem;font-weight:700;display:flex}.row-bet-return{color:#b56ff5b3;font-size:.68rem}.survivor-bets{background:var(--panel-strong);z-index:40;border:1px solid #b56ff580;border-radius:18px;flex-direction:column;width:min(560px,94vw);max-height:66vh;display:flex;position:fixed;bottom:5.2rem;left:50%;overflow:hidden;transform:translate(-50%);box-shadow:0 24px 70px #0009}.survivor-bets-head{border-bottom:1px solid var(--line);align-items:center;gap:.75rem;padding:.85rem 1rem;display:flex}.survivor-bets-head strong{font-family:var(--display);color:var(--chip);display:block}.survivor-bets-head small{color:var(--muted);font-size:.72rem}.survivor-bets-balance{color:var(--chip);font-variant-numeric:tabular-nums;align-items:center;gap:.25rem;margin-left:auto;font-weight:700;display:inline-flex}.survivor-bets-close{color:var(--muted);cursor:pointer;background:0 0;border:none;padding:.2rem .35rem;font-size:1rem}.survivor-bets-list{flex-direction:column;gap:.4rem;padding:.5rem .75rem;display:flex;overflow-y:auto}.survivor-bets-empty,.survivor-bets-broke{color:var(--muted);text-align:center;margin:.6rem 0;font-size:.8rem}.survivor-bet-row{border:1px solid var(--line);background:#0003;border-radius:12px;align-items:center;gap:.6rem;padding:.5rem .6rem;display:flex}.survivor-bet-who{flex-direction:column;flex:1;min-width:0;display:flex}.survivor-bet-who strong{font-size:.95rem}.survivor-bet-who small{color:var(--muted);font-size:.72rem}.survivor-bet-staked{color:var(--chip);font-size:.7rem;font-style:normal}.survivor-bet-odds{text-align:center;color:var(--chip)}.survivor-bet-odds b{font-variant-numeric:tabular-nums;font-size:1.1rem}.survivor-bet-odds small{color:var(--muted);text-transform:uppercase;font-size:.6rem;display:block}.survivor-bet-back{border:1px solid var(--chip);background:var(--chip);color:#1a0b2e;cursor:pointer;font-variant-numeric:tabular-nums;border-radius:10px;flex:none;padding:.5rem .7rem;font-weight:700}.survivor-bet-back:disabled{color:var(--muted);border-color:var(--line);cursor:not-allowed;background:0 0}.survivor-bets-stake{border-top:1px solid var(--line);padding:.6rem .75rem .75rem}.stake-row{align-items:center;gap:.5rem;display:flex}.stake-quickpicks{flex:1;gap:.35rem;display:flex}.stake-quickpicks button{border:1px solid var(--line);color:var(--text);cursor:pointer;background:#00000040;border-radius:10px;flex:1;padding:.5rem 0;font-weight:600}.stake-quickpicks button.active{border-color:var(--chip);color:var(--chip);background:#b56ff540}.stake-quickpicks button:disabled{opacity:.4;cursor:not-allowed}.stake-slider{flex:1;align-items:center;gap:.6rem;display:flex}.stake-slider input[type=range]{accent-color:var(--chip);flex:1}.stake-slider output{text-align:right;min-width:3ch;color:var(--chip);font-variant-numeric:tabular-nums;font-weight:700}.stake-precise{border:1px solid var(--line);width:2.4rem;height:2.2rem;color:var(--text);cursor:pointer;background:#00000040;border-radius:10px;flex:none;font-size:1.1rem;line-height:1}.stake-precise.active{border-color:var(--chip);color:var(--chip)}.winner-bets{font-variant-numeric:tabular-nums;align-items:center;gap:.3rem;margin:.6rem 0 0;font-weight:700;display:inline-flex}.winner-bets.up{color:var(--chip)}.winner-bets.down{color:var(--muted)}
