@font-face{font-family:Lilita One;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/lilita-one-latin-400-normal-87r-Z-Re.woff2)format("woff2"),url(/assets/lilita-one-latin-400-normal-DXkechA3.woff)format("woff")}@font-face{font-family:Outfit Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/outfit-latin-ext-wght-normal-DdQaqQDo.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Outfit Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/outfit-latin-wght-normal-Bc-8i84L.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--font-display:"Lilita One", "Arial Black", system-ui, sans-serif;--font-ui:"Outfit Variable", system-ui, sans-serif;--ink:#0d131d;--panel:#131b28e6;--panel-solid:#172131;--panel-edge:#2b3a52;--inset:#0e1623;--text:#eef2f7;--muted:#95a3b8;--cream:#f7f0e1;--cream-edge:#d6c8ab;--card-ink:#1d2433;--red:#e5534b;--red-edge:#9e3029;--teal:#2a9d8f;--teal-edge:#1b665d;--blue:#4c8fdb;--blue-edge:#2c5b94;--gold:#f2b544;--gold-edge:#a8771f;--purple:#8b6ad8;--purple-edge:#5a3f9e;--orange:#ef8a3c;--orange-edge:#a85a1f;--green:#5bbf6a;--green-edge:#357a40;--radius-sm:10px;--radius:14px;--radius-lg:22px;--ease-out:cubic-bezier(.22, 1, .36, 1);--ease-spring:cubic-bezier(.34, 1.56, .64, 1)}*,:before,:after{box-sizing:border-box}html{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;-webkit-text-size-adjust:100%}body{min-height:100dvh;color:var(--text);font-family:var(--font-ui);-webkit-font-smoothing:antialiased;background:radial-gradient(120% 120% at 50% 35%,#174447 0%,#111a29 55%,#0b1018 100%) fixed;margin:0;line-height:1.4;overflow-x:hidden}button,input{font:inherit;color:inherit}[hidden]{display:none!important}:focus-visible{outline:3px solid var(--gold);outline-offset:3px}.bg-canvas{z-index:-1;width:100%;height:100%;display:block;position:fixed;inset:0}#app{min-height:100dvh;display:grid}.screen{z-index:0;flex-direction:column;grid-area:1/1;justify-content:safe center;align-items:center;min-height:100dvh;padding:clamp(16px,4vh,40px) 16px;display:flex;position:relative}.screen--enter{animation:screen-in .4s var(--ease-out) both}.screen--leave{pointer-events:none;animation:.2s ease-in both screen-out}@keyframes screen-in{0%{opacity:0;transform:translateY(16px)scale(.98)}}@keyframes screen-out{to{opacity:0;transform:translateY(-12px)scale(.98)}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.panel{background:var(--panel);border:3px solid var(--panel-edge);border-radius:var(--radius-lg);padding:20px;box-shadow:0 8px #0000004d,0 20px 40px #0000004d}.screen-head{align-items:center;gap:12px;display:flex}.screen-head h2{font-family:var(--font-display);letter-spacing:.01em;text-shadow:0 3px #0000004d;margin:0;font-size:clamp(1.8rem,5vw,2.4rem);font-weight:400;line-height:1}.screen-head h2:focus{outline:none}.screen-head p{color:var(--muted);margin:2px 0 0}.hint{color:var(--muted);margin:0;font-size:.85rem}.hint--warn{color:var(--gold)}.field-label,.name-panel label{letter-spacing:.1em;text-transform:uppercase;color:var(--muted);font-size:.78rem;font-weight:800}.tag{letter-spacing:.06em;text-transform:uppercase;vertical-align:1px;border-radius:999px;margin-right:8px;padding:1px 8px;font-size:.72rem;font-weight:800;display:inline-block}.tag--warn{background:var(--red);color:#fff}.shake{animation:shake .42s var(--ease-out)}@keyframes shake{20%{transform:translate(-8px)rotate(-1deg)}40%{transform:translate(7px)rotate(1deg)}60%{transform:translate(-5px)}80%{transform:translate(3px)}}.btn{--bg:var(--blue);--edge:var(--blue-edge);border-radius:var(--radius);background:var(--bg);color:#fff;text-shadow:0 2px #0003;cursor:pointer;-webkit-user-select:none;user-select:none;box-shadow:0 5px 0 var(--edge);transition:transform .14s var(--ease-out), box-shadow .14s var(--ease-out), filter .15s;border:0;justify-content:center;align-items:center;gap:.5em;padding:.7em 1.3em;font-size:1.05rem;font-weight:750;display:inline-flex}@media (hover:hover){.btn:hover{box-shadow:0 7px 0 var(--edge);filter:brightness(1.07);transform:translateY(-2px)}}.btn:active{box-shadow:0 0 0 var(--edge);transition-duration:40ms;transform:translateY(5px)}.btn:disabled{--bg:#34405a;--edge:#232c3d;color:var(--muted);text-shadow:none;cursor:not-allowed;box-shadow:0 5px 0 var(--edge);filter:none;transform:none}.btn--primary{--bg:var(--red);--edge:var(--red-edge)}.btn--go{--bg:var(--teal);--edge:var(--teal-edge)}.btn--ghost{--bg:transparent;color:var(--muted);text-shadow:none;box-shadow:none;padding:.5em .9em;font-size:1rem}.btn--ghost:active,.btn--ghost:hover{color:var(--text);box-shadow:none;background:#ffffff12;transform:none}.btn--lg{padding:.8em 1.7em;font-size:1.2rem}.btn--shine{isolation:isolate;position:relative;overflow:hidden}.btn--shine:after{content:"";z-index:-1;pointer-events:none;background:linear-gradient(100deg,#0000 35%,#ffffff52 50%,#0000 65%);animation:3.8s ease-in-out 1s infinite shine;position:absolute;inset:0;translate:-130%}@keyframes shine{0%,62%{translate:-130%}88%,to{translate:130%}}.burst-bit{width:18px;height:18px;position:fixed;top:-9px;left:-9px}.burst-bit--chip{border:3px dashed #ffffffd9;border-radius:50%}.text-input{border:3px solid var(--panel-edge);border-radius:var(--radius);background:var(--inset);width:100%;padding:.65em .85em;font-size:1.25rem;font-weight:600;transition:border-color .15s}.text-input::placeholder{color:#5d6b82}.text-input:focus{border-color:var(--gold);outline:none}.segmented{grid-template-columns:repeat(var(--cols), minmax(0, 1fr));border-radius:var(--radius);background:var(--inset);gap:5px;padding:5px;display:grid}.segmented__opt{--tone:var(--blue);--tone-edge:var(--blue-edge);border-radius:var(--radius-sm);min-width:3.2em;color:var(--muted);white-space:nowrap;cursor:pointer;transition:background-color .15s, color .15s, transform .2s var(--ease-spring), box-shadow .2s;background:0 0;border:0;padding:.5em .6em;font-weight:750}@media (hover:hover){.segmented__opt:hover{color:var(--text);background:#ffffff0f}}.segmented__opt[aria-pressed=true]{background:var(--tone);color:#fff;text-shadow:0 2px #0003;box-shadow:0 3px 0 var(--tone-edge);transform:translateY(-2px)}.tone-green{--tone:var(--green);--tone-edge:var(--green-edge)}.tone-teal{--tone:var(--teal);--tone-edge:var(--teal-edge)}.tone-blue{--tone:var(--blue);--tone-edge:var(--blue-edge)}.tone-purple{--tone:var(--purple);--tone-edge:var(--purple-edge)}.tone-orange{--tone:var(--orange);--tone-edge:var(--orange-edge)}.tone-red{--tone:var(--red);--tone-edge:var(--red-edge)}.stepper{border-radius:var(--radius);background:var(--inset);align-items:center;gap:4px;padding:5px;display:inline-flex}.stepper__btn{border-radius:var(--radius-sm);background:var(--panel-edge);cursor:pointer;border:0;width:40px;height:40px;font-size:1.35rem;font-weight:800;line-height:1;transition:background-color .15s,transform .1s}@media (hover:hover){.stepper__btn:hover:not(:disabled){background:#3a4d6b}}.stepper__btn:active:not(:disabled){transform:scale(.92)}.stepper__btn:disabled{opacity:.35;cursor:not-allowed}.stepper__value{text-align:center;font-variant-numeric:tabular-nums;min-width:2.6ch;font-size:1.25rem;font-weight:800}.mode-switch{background:var(--inset);cursor:pointer;border:0;border-radius:999px;grid-template-columns:1fr 1fr;width:100%;padding:5px;display:grid;position:relative}.mode-switch__thumb{background:var(--teal);width:calc(50% - 5px);box-shadow:0 3px 0 var(--teal-edge);transition:transform .4s var(--ease-spring), background-color .25s, box-shadow .25s;border-radius:999px;position:absolute;inset:5px auto 5px 5px}.mode-switch[aria-checked=true] .mode-switch__thumb{background:var(--blue);box-shadow:0 3px 0 var(--blue-edge);transform:translate(100%)}.mode-switch__label{color:var(--muted);padding:.6em 1em;font-size:1.05rem;font-weight:800;transition:color .25s;position:relative}.mode-switch[aria-checked=false] .mode-switch__label:nth-child(2),.mode-switch[aria-checked=true] .mode-switch__label:nth-child(3){color:#fff;text-shadow:0 2px #0003}.toggle{background:var(--inset);cursor:pointer;border:0;border-radius:999px;width:58px;height:34px;transition:background-color .2s;position:relative}.toggle:after{content:"";background:var(--muted);width:24px;height:24px;transition:transform .35s var(--ease-spring), background-color .2s;border-radius:50%;position:absolute;top:5px;left:5px}.toggle[aria-checked=true]{background:var(--teal)}.toggle[aria-checked=true]:after{background:#fff;transform:translate(24px)}.setting{border-top:2px solid #ffffff0d;justify-content:space-between;align-items:center;gap:16px;padding:9px 0;display:flex}.setting:first-child{border-top:0}.setting__label{font-weight:750}.setting__hint{max-width:30ch;color:var(--muted);font-size:.82rem;display:block}.setting__control{flex-shrink:0}.setting--stack{flex-direction:column;align-items:stretch;gap:10px}@media (width<=600px){.setting{flex-direction:column;align-items:stretch;gap:8px}.setting__hint{max-width:none}.setting__control:has(.stepper,.toggle){align-self:flex-start}}.suit{fill:currentColor;display:block}.toast{z-index:10;border:3px solid var(--panel-edge);border-radius:var(--radius);background:var(--panel-solid);text-align:center;visibility:hidden;max-width:calc(100vw - 32px);transition:translate .4s var(--ease-spring), visibility 0s .4s;padding:.75em 1.2em;font-weight:700;position:fixed;bottom:24px;left:50%;translate:-50% calc(100% + 40px);box-shadow:0 6px #0000004d}.toast--show{visibility:visible;transition:translate .4s var(--ease-spring), visibility 0s;translate:-50%}.dashboard{gap:clamp(14px,2.8vh,26px);overflow:hidden}.decor{z-index:-1;pointer-events:none;position:absolute;inset:0;overflow:hidden}.float-card{--cw:clamp(54px, 6.5vw, 92px);top:var(--y);left:var(--x);rotate:var(--rot);translate:calc(var(--px,0) * var(--depth) * 1px) calc(var(--py,0) * var(--depth) * 1px);opacity:.88;animation:float-in .9s var(--ease-out) both, drift var(--dur) ease-in-out var(--delay) infinite alternate;position:absolute}.float-card .pc__inner{animation:decor-flip 14s ease-in-out var(--flip-delay) infinite}@keyframes decor-flip{0%,44%{transform:rotateY(0)}50%,94%{transform:rotateY(180deg)}to{transform:rotateY(360deg)}}@keyframes float-in{0%{opacity:0;scale:.6}}@keyframes drift{0%{transform:translate(0,0)rotate(0)}to{transform:translate3d(var(--dx), var(--dy), 0) rotate(var(--spin))}}.float-chip{top:var(--y);left:var(--x);opacity:.5;width:34px;height:34px;translate:calc(var(--px,0) * var(--depth) * 1px) calc(var(--py,0) * var(--depth) * 1px);animation:chip-bob var(--dur) ease-in-out var(--delay) infinite alternate, chip-spin 3.4s linear var(--delay) infinite;position:absolute}@keyframes chip-bob{0%{transform:translateY(-14px)}to{transform:translateY(14px)}}@keyframes chip-spin{to{rotate:y 360deg}}@media (width<=760px){.float-card{opacity:.4}.float-card:nth-child(n+5),.float-chip{display:none}}.title{text-align:center}.title h1{font-family:var(--font-display);letter-spacing:.01em;margin:0;font-weight:400;line-height:.92}.title__a{color:var(--gold);font-size:clamp(4rem,14vh,8.5rem);display:block}.title__rest{color:var(--cream);font-size:clamp(2.5rem,8.5vh,5.4rem);display:block}.title__letter{text-shadow:0 .07em #0006;animation:letter-in .75s var(--ease-spring) calc(var(--i) * 45ms) both, bob 3.4s ease-in-out calc(var(--i) * -.22s) infinite;display:inline-block}@keyframes letter-in{0%{opacity:0;translate:0 -.6em;scale:.5}}@keyframes bob{0%,to{transform:translateY(0)rotate(-2deg)}50%{transform:translateY(-.06em)rotate(2deg)}}.title__hop{transition:translate .35s var(--ease-spring), scale .35s var(--ease-spring);display:inline-block}@media (hover:hover){.title__letter:hover .title__hop{translate:0 -.2em;scale:1.15}}.title{translate:calc(var(--px,0) * -6px) calc(var(--py,0) * -4px)}.tagline{color:var(--muted);letter-spacing:.04em;margin:10px 0 0;font-size:1.05rem;font-weight:600}.name-panel{gap:8px;width:min(100%,420px);padding:16px 18px;display:grid}.game-picks{perspective:900px;justify-content:center;gap:clamp(18px,4vw,40px);display:flex}.game-pick{display:grid;position:relative}.game-pick>.game-card{z-index:1;position:relative}.game-pick__fan{border:5px solid var(--cream);transform-origin:50% 95%;transition:transform .5s var(--ease-spring);animation:card-deal .8s var(--ease-spring) .15s both;background:repeating-linear-gradient(45deg,#c8463f 0 6px,#b13832 6px 12px);border-radius:14px;position:absolute;inset:5% 9%;box-shadow:0 6px 16px #00000059}.game-pick:first-child .game-pick__fan{rotate:-4deg}.game-pick:last-child .game-pick__fan{rotate:4deg}@media (hover:hover){.game-pick:hover .game-pick__fan--l{transform:rotate(-17deg)translate(-16px,-8px)}.game-pick:hover .game-pick__fan--r{transform:rotate(17deg)translate(16px,-8px)}}.game-card--wake{animation:card-wake .6s var(--ease-spring)}@keyframes card-wake{30%{translate:0 -10px;scale:1.08}65%{translate:0 2px;scale:.98}}.name-panel--typed{animation:.35s ease-out typed}@keyframes typed{0%{border-color:#f2b54499}}.game-card{--base-rot:-4deg;--lift:0px;aspect-ratio:5/7;background:var(--cream);width:clamp(132px,21vh,184px);color:var(--card-ink);cursor:pointer;box-shadow:0 6px 0 var(--cream-edge), 0 18px 30px #0006;transform:translateY(var(--lift)) rotate(var(--base-rot)) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg));transition:transform .18s var(--ease-out), box-shadow .25s var(--ease-out);animation:card-deal .8s var(--ease-spring) both;border:0;border-radius:16px;flex-direction:column;padding:0;display:flex;position:relative;overflow:hidden}.game-card--blackjack{--base-rot:4deg;animation-delay:.1s}@media (hover:hover){.game-card:hover{--lift:-10px;box-shadow:0 6px 0 var(--cream-edge), 0 28px 40px #00000073}.game-card:hover:after{opacity:.6}}.game-card:active{--lift:2px;transition-duration:60ms}.game-card:after{content:"";background:radial-gradient(circle at var(--mx,50%) var(--my,0%), #ffffff8c, transparent 55%);opacity:0;pointer-events:none;transition:opacity .25s;position:absolute;inset:0}@keyframes card-deal{0%{opacity:0;translate:0 60px;scale:.85}}.game-card__art{flex:1;place-items:center;display:grid}.game-card__band{color:#fff;text-align:center;gap:2px;padding:10px 8px 12px;display:grid}.game-card--poker .game-card__band{background:var(--red)}.game-card--blackjack .game-card__band{background:var(--teal)}.game-card__name{font-family:var(--font-display);text-shadow:0 3px #00000040;font-size:clamp(1.3rem,3.4vh,1.7rem);line-height:1}.game-card__sub{opacity:.9;font-size:.8rem;font-weight:650}.poker-art{aspect-ratio:1;width:62%;position:relative}.poker-art__suit{width:72%;position:absolute}.poker-art__suit--back{color:var(--card-ink);top:0;left:0;rotate:-12deg}.poker-art__suit--front{color:var(--red);filter:drop-shadow(0 4px #00000026);bottom:0;right:0;rotate:10deg}.blackjack-art{font-family:var(--font-display);color:var(--teal);text-shadow:0 5px 0 var(--teal-edge);font-size:clamp(3.4rem,9vh,4.6rem);line-height:1}@media (width<=420px){.game-picks{gap:14px}.game-card{width:42vw}}.setup-panel{gap:14px;width:min(100%,660px);display:grid}.settings{display:grid}.settings>.setting{animation:row-in .45s var(--ease-spring) both;animation-delay:calc(var(--i,0) * 55ms)}@keyframes row-in{0%{opacity:0;translate:-18px}}.summary--pop{animation:summary-pop .35s var(--ease-out)}@keyframes summary-pop{0%{opacity:.2;translate:0 5px}}.difficulty-blurb{min-height:2.9em;color:var(--muted);margin:10px 2px 0;font-size:.92rem}.setup-footer{border-top:2px solid #ffffff0d;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;padding-top:14px;display:flex}.summary{color:var(--muted);flex:240px;margin:0;font-weight:600}@media (width<=600px){.setup-footer .btn{width:100%}}.join-panel{gap:14px;width:min(100%,520px);display:grid}.code-row{flex-wrap:wrap;align-items:center;gap:16px;display:flex}.code-input{gap:10px;display:flex;position:relative}.code-input__slot{border:3px solid var(--panel-edge);border-radius:var(--radius);background:var(--inset);width:60px;height:72px;color:var(--cream);font-family:var(--font-display);transition:border-color .15s, transform .25s var(--ease-spring);place-items:center;font-size:2.3rem;display:grid}.code-input__slot.is-filled{border-color:var(--blue);transform:translateY(-3px)}.code-input:focus-within .code-input__slot.is-active{border-color:var(--gold)}.code-input__field{opacity:0;caret-color:#0000;cursor:text;width:100%;font-size:16px;position:absolute;inset:0}.divider{color:var(--muted);letter-spacing:.1em;text-transform:uppercase;align-items:center;gap:12px;margin-top:6px;font-size:.78rem;font-weight:800;display:flex}.divider:before,.divider:after{content:"";background:#ffffff12;flex:1;height:2px}.lobby-list{border-radius:var(--radius);background:var(--inset);text-align:center;place-content:center;gap:4px;min-height:140px;padding:20px;display:grid}.lobby-list__empty{margin:0;font-weight:700}@media (width<=460px){.code-input__slot{width:52px;height:64px}.code-row .btn{width:100%}}.screen--bare{padding:0;display:block}.connecting{min-height:100dvh;color:var(--muted);place-items:center;margin:0;font-weight:700;animation:1.2s ease-in-out infinite pulse-text;display:grid}@keyframes pulse-text{50%{opacity:.4}}.lobby-panel{gap:18px;width:min(100%,560px);display:grid}.lobby-summary{font-size:.9rem}.lobby-code{border-radius:var(--radius);background:var(--inset);justify-items:center;gap:10px;padding:16px;display:grid}.code-tiles{gap:10px;display:flex}.code-tile{aspect-ratio:5/7;background:var(--cream);width:64px;color:var(--card-ink);font-family:var(--font-display);box-shadow:0 4px 0 var(--cream-edge), 0 10px 20px #00000059;animation:tile-deal .6s var(--ease-spring) calc(var(--i) * 90ms) both;border-radius:10px;place-items:center;font-size:2.6rem;display:grid}.code-tile:nth-child(odd){rotate:-3deg}.code-tile:nth-child(2n){rotate:3deg}@keyframes tile-deal{0%{opacity:0;translate:0 -40px;scale:.6}}.lobby-players{grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:8px;margin:8px 0 0;padding:0;list-style:none;display:grid}.lobby-player{background:var(--inset);animation:controls-in .4s var(--ease-spring) calc(var(--i,0) * 60ms) both;border-radius:999px;align-items:center;gap:8px;padding:6px 10px 6px 6px;font-weight:700;display:flex}.lobby-player.is-me{outline:2px solid #f2b54480}.lobby-player--empty{color:#5d6b82;border:2px dashed var(--panel-edge);background:0 0;font-weight:600}.lobby-player--empty .pk-avatar{box-shadow:none;border:2px dashed var(--panel-edge);background:0 0}.lobby-player__name{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.tag--host{background:var(--gold);color:#3a2606;margin:0}.presence-dot{background:#5d6b82;border-radius:50%;width:9px;height:9px}.presence-dot.is-online{background:var(--green);box-shadow:0 0 8px var(--green)}.lobby-requests{gap:8px;display:grid}.request-row{border-radius:var(--radius);background:var(--inset);animation:controls-in .4s var(--ease-spring) both;align-items:center;gap:8px;padding:8px 8px 8px 14px;display:flex}.request-row__name{flex:1;font-weight:700}.lobby-list:has(.open-table){text-align:left;place-content:stretch;gap:8px;padding:8px;display:grid}.open-table{border-radius:var(--radius);background:var(--panel-solid);animation:controls-in .4s var(--ease-spring) calc(var(--i) * 60ms) both;align-items:center;gap:12px;padding:10px;display:flex}.open-table__game{aspect-ratio:5/7;background:var(--cream);width:42px;font-family:var(--font-display);color:var(--card-ink);border-radius:7px;place-items:center;font-size:1.2rem;display:grid;rotate:-5deg}.open-table__game--poker{color:var(--card-ink)}.open-table__game--blackjack{color:var(--teal)}.open-table__text{flex:1;min-width:0;display:grid}.open-table__pending{justify-items:end;display:grid}.code-chip,.fair-badge{letter-spacing:.04em;border:0;border-radius:999px;padding:4px 10px;font-size:.85rem;font-weight:800}.code-chip{background:var(--cream);color:var(--card-ink);font-family:var(--font-display);letter-spacing:.15em;font-weight:400}.fair-badge{color:#7fd8cc;cursor:help;background:#2a9d8f33}.fair-badge--bad{background:var(--red);color:#fff;animation:shake .42s var(--ease-out)}.rejoin-slot:empty{display:none}.rejoin-slot .btn{animation:controls-in .5s var(--ease-spring) both}.host-away{z-index:40;background:#04070c8c;place-items:center;animation:.3s ease-out fade-in;display:grid;position:fixed;inset:0}@keyframes fade-in{0%{opacity:0}}.host-away__panel{text-align:center;animation:modal-in .4s var(--ease-spring);justify-items:center;gap:6px;display:grid}.host-away__spinner{border:4px solid #ffffff26;border-top-color:var(--gold);border-radius:50%;width:34px;height:34px;animation:.9s linear infinite spin}@keyframes spin{to{rotate:360deg}}.host-away__count{color:var(--gold);font-variant-numeric:tabular-nums;font-weight:800}.is-away .pk-plate,.is-away .spot-plate{opacity:.55}.is-away .pk-plate:after,.is-away .spot-plate:after{content:"Reconnecting…";background:var(--gold);color:#3a2606;white-space:nowrap;border-radius:999px;padding:1px 8px;font-size:.7rem;font-weight:800;position:absolute;bottom:-18px;left:50%;translate:-50%}.spot-plate{position:relative}.table-screen{background:radial-gradient(70% 55% at 50% 18%,#ffecc817,#0000 70%),radial-gradient(at 50% 40%,#15202e 0%,#0b1119 60%,#06090e 100%);grid-template-rows:auto minmax(0,1fr) auto;place-content:stretch;place-items:stretch stretch;height:100dvh;min-height:0;padding:0;display:grid;overflow:hidden}.table-top{z-index:5;pointer-events:none;justify-content:space-between;align-items:center;gap:12px;padding:8px 14px;display:flex;position:relative}.table-top>*{pointer-events:auto}.table-top__left{align-items:center;gap:6px;display:flex}.table-title{font-family:var(--font-display);letter-spacing:.02em;color:var(--cream);text-shadow:0 3px #00000059;margin:0;font-size:clamp(1.2rem,3vh,1.6rem);font-weight:400}.table-top__right{justify-content:flex-end;align-items:center;gap:10px;display:flex}.table-info{color:var(--muted);font-size:.9rem;font-weight:650}.icon-btn{cursor:pointer;background:#ffffff0f;border:0;border-radius:12px;place-items:center;width:40px;height:40px;font-size:1.1rem;display:grid}.table-area{min-height:0;position:relative}.dealer-stage{z-index:3;pointer-events:none;width:min(620px,80vw);height:54%;position:absolute;top:-10%;left:50%;translate:-50%}.dealer-stage canvas{width:100%;height:100%;display:block}.felt{--cw:clamp(46px, 7vh, 82px);z-index:2;width:min(1180px,96vw);animation:felt-in .7s var(--ease-out) both;background:radial-gradient(60% 70% at 50% 35%,#ffffff12,#0000 70%),radial-gradient(at 50% 40%,#1f7466 0%,#16594e 55%,#0f4038 100%);border:clamp(10px,1.6vh,16px) solid #3b2618;position:absolute;top:25%;bottom:3%;left:50%;translate:-50%;box-shadow:inset 0 0 0 3px #00000040,inset 0 10px 40px #00000059,0 0 0 4px #24170f,0 26px 60px #0009}.felt--blackjack{border-radius:28px 28px 50% 50%/28px 28px 62% 62%}.felt--poker{border-radius:999px;top:26%}@keyframes felt-in{0%{opacity:0;translate:-50% 30px;scale:.94}}.felt-print{pointer-events:none;width:76%;position:absolute;top:2%;left:12%}.felt-print text{fill:#f7f0e152;font-family:var(--font-display);letter-spacing:.12em}.felt-print__big{font-size:34px}.felt-print__small{font-size:19px;fill:#f7f0e138!important}.shoe{width:calc(var(--cw) * 1.1);aspect-ratio:5/7;position:absolute;top:6%;right:8%;rotate:12deg}.shoe span{border:4px solid var(--cream);background:repeating-linear-gradient(45deg,#c8463f 0 5px,#b13832 5px 10px);border-radius:8px;position:absolute;inset:0;box-shadow:0 3px 6px #00000059}.shoe span:nth-child(2){translate:-3px -3px}.shoe span:nth-child(3){translate:-6px -6px}.shoe--refill span{animation:shoe-riffle .9s var(--ease-out)}.shoe--refill span:nth-child(2){animation-delay:80ms}.shoe--refill span:nth-child(3){animation-delay:.16s}@keyframes shoe-riffle{30%{transform:translateY(-14px)rotate(-8deg)}60%{transform:translateY(-4px)rotate(5deg)}}.card-row{min-height:calc(var(--cw) * 1.4);justify-content:center;display:flex}.card-row>.pc+.pc{margin-left:calc(var(--cw) * -.52)}.pc{--w:var(--cw,72px);width:var(--w);aspect-ratio:5/7;perspective:700px;flex-shrink:0;position:relative}.pc.is-leaving{pointer-events:none}.pc__inner{transform-style:preserve-3d;transition:transform .5s var(--ease-out);position:absolute;inset:0}.pc.is-down .pc__inner{transform:rotateY(180deg)}.pc__face{border-radius:calc(var(--w) * .1);backface-visibility:hidden;position:absolute;inset:0;box-shadow:0 2px #0003,0 6px 14px #00000059}.pc__front{background:var(--cream);color:var(--card-ink)}.pc--red .pc__front{color:var(--red)}.pc__back{border:calc(var(--w) * .065) solid var(--cream);background:radial-gradient(circle,#ffffff2e,#0000 60%),repeating-linear-gradient(45deg,#c8463f 0 6px,#b13832 6px 12px);place-items:center;display:grid;transform:rotateY(180deg)}.pc__logo{font-family:var(--font-display);font-size:calc(var(--w) * .3);color:var(--cream);text-shadow:0 2px #0000004d}.pc__corner{font-family:var(--font-display);font-size:calc(var(--w) * .24);flex-direction:column;align-items:center;line-height:1;display:flex;position:absolute;top:5%;left:8%}.pc__corner .suit{width:calc(var(--w) * .15);margin-top:1px}.pc__corner--br{inset:auto 8% 5% auto;transform:rotate(180deg)}.pc__pip{width:40%;margin:auto;position:absolute;inset:0}.pc__pip--ace{width:52%}.pc__court{border-radius:calc(var(--w) * .06);opacity:.95;border:2px solid;place-items:center;display:grid;position:absolute;inset:18% 16%}.pc__court-letter{font-family:var(--font-display);font-size:calc(var(--w) * .46);line-height:1}.pc__court-suit{width:26%;position:absolute;bottom:8%}.chip{--chip:var(--red);background:radial-gradient(circle, var(--chip) 0 42%, #ffffffe6 43% 50%, var(--chip) 51%);border:3px dashed #ffffffd9;border-radius:50%;width:28px;height:28px;display:block;box-shadow:0 2px #00000059}.chip--red{--chip:#e5534b}.chip--green{--chip:#3fa66b}.chip--ink{--chip:#26324a}.chip--purple{--chip:#8b6ad8}.chip--gold{--chip:#e9a92f}.chip--white{--chip:#d9d2c3}.chip--flying{position:fixed;top:-14px;left:-14px}.fx-layer{z-index:50;pointer-events:none;position:fixed;inset:0}.chips{justify-items:center;gap:2px;display:grid}.chips__stack{height:30px;display:grid}.chips__stack .chip{translate:0 calc(var(--i) * -4px);animation:chip-drop .35s var(--ease-spring) both;animation-delay:calc(var(--i) * 40ms);grid-area:1/1}@keyframes chip-drop{0%{opacity:0;transform:translateY(-14px)}}.chips__amount{font-variant-numeric:tabular-nums;background:#00000073;border-radius:999px;padding:1px 8px;font-size:.78rem;font-weight:800}.bj-dealer{justify-items:center;gap:6px;display:grid;position:absolute;top:6%;left:50%;translate:-50%}.bj-spots{justify-content:center;align-items:flex-end;gap:clamp(10px,2vw,28px);display:flex;position:absolute;bottom:4%;left:4%;right:4%}.bj-spot{min-width:120px;translate:0 var(--arc,0px);transition:opacity .3s, translate .4s var(--ease-out);justify-items:center;gap:6px;display:grid}.spot-base{align-items:center;gap:10px;display:flex}.bj-spot.is-out{opacity:.45}.bj-hands{align-items:flex-end;gap:18px;display:flex}.bj-hand{transition:transform .3s var(--ease-out);justify-items:center;gap:6px;display:grid;position:relative}.bj-hand.is-active{transform:translateY(-8px)}.bj-hand.is-active .pc__front{box-shadow:0 0 0 3px var(--gold), 0 8px 20px #0006}.total-badge{color:var(--cream);font-variant-numeric:tabular-nums;background:#0000008c;border-radius:999px;padding:2px 10px;font-size:.85rem;font-weight:800}.result-badge{z-index:3;font-family:var(--font-display);white-space:nowrap;opacity:0;pointer-events:none;border-radius:999px;padding:4px 12px;font-size:1.05rem;position:absolute;top:18%;left:50%;translate:-50%;scale:.4}.result-badge.is-shown{opacity:1;transition:opacity .2s, scale .45s var(--ease-spring);scale:1}.result-badge--blackjack{background:var(--gold);color:#3a2606;box-shadow:0 3px 0 var(--gold-edge)}.result-badge--win{background:var(--teal);box-shadow:0 3px 0 var(--teal-edge)}.result-badge--push{background:var(--blue);box-shadow:0 3px 0 var(--blue-edge)}.result-badge--lose,.result-badge--bust{color:var(--muted);background:#3a4559;box-shadow:0 3px #232c3d}.bet-ring{border:2px dashed #f7f0e147;border-radius:50%;place-items:center;width:60px;height:60px;display:grid}.spot-plate{background:#00000059;border-radius:12px;justify-items:center;padding:4px 14px;line-height:1.2;display:grid}.bj-spot--me .spot-plate{outline:2px solid #f2b54499}.spot-name{font-size:.9rem;font-weight:750}.spot-bank{color:var(--gold);font-variant-numeric:tabular-nums;font-size:.85rem;font-weight:800}.table-controls{z-index:5;align-content:center;justify-items:center;gap:8px;min-height:118px;padding:6px 16px 14px;display:grid;position:relative}.table-status{color:var(--muted);text-align:center;margin:0;font-weight:650}.bet-row,.action-row,.bet-summary{flex-wrap:wrap;justify-content:center;align-items:center;gap:12px;display:flex}.bet-row{gap:22px}.action-row,.bet-row{animation:controls-in .35s var(--ease-spring) both}@keyframes controls-in{0%{opacity:0;transform:translateY(16px)}}.chip-tray{gap:10px;display:flex}.chip-btn{background:radial-gradient(circle, var(--chip) 0 52%, #ffffffe6 53% 58%, var(--chip) 59%);color:#fff;text-shadow:0 1px 2px #0009;cursor:pointer;width:54px;height:54px;transition:transform .15s var(--ease-spring), opacity .2s;border:4px dashed #ffffffd9;border-radius:50%;font-size:.85rem;font-weight:900;box-shadow:0 4px #00000059}@media (hover:hover){.chip-btn:hover:not(:disabled){transform:translateY(-4px)rotate(-8deg)}}.chip-btn:disabled{opacity:.3;cursor:not-allowed}.chip-btn--pop{animation:chip-pop .3s var(--ease-spring)}@keyframes chip-pop{40%{transform:scale(1.18)rotate(20deg)}}.bet-amount{min-width:7ch;font-family:var(--font-display);color:var(--gold);font-variant-numeric:tabular-nums;font-size:1.35rem}.turn-timer{background:#ffffff1a;border-radius:999px;width:min(420px,80vw);height:6px;overflow:hidden}.turn-timer__fill{background:var(--gold);transform-origin:0;height:100%;display:block}.banner{z-index:20;background:var(--panel-solid);opacity:0;white-space:nowrap;pointer-events:none;border:4px solid #ffffff26;border-radius:22px;justify-items:center;padding:14px 34px;transition:opacity .25s,scale .3s ease-in;display:grid;position:absolute;top:36%;left:50%;translate:-50% -50%;scale:.5;box-shadow:0 8px #00000059,0 30px 60px #00000080}.banner--show{opacity:1;transition:opacity .2s, scale .55s var(--ease-spring);scale:1}.banner--win{background:var(--teal);border-color:#ffffff40}.banner--lose{background:#3a2a35}.banner__text{font-family:var(--font-display);text-shadow:0 4px #0000004d;font-size:clamp(2rem,6vh,3.4rem);line-height:1}.banner__sub{opacity:.9;font-size:1.1rem;font-weight:800}.modal{max-width:min(420px,100vw - 32px);color:var(--text)}.modal::backdrop{background:#04070c99}.modal[open]{animation:modal-in .35s var(--ease-spring)}@keyframes modal-in{0%{opacity:0;scale:.85}}.modal__title{font-family:var(--font-display);margin:0 0 6px;font-size:1.8rem;font-weight:400}.modal__body{color:var(--muted);margin:0 0 18px}.modal__actions{justify-content:flex-end;gap:10px;display:flex}@media (width<=700px){.table-top>:first-child{justify-self:start}.table-title{display:none}.table-top{grid-template-columns:1fr auto}.felt{--cw:clamp(40px, 11vw, 58px);top:27%}.bj-spot{min-width:0}.chip-btn{width:46px;height:46px}.felt-print{display:none}}.pk-center{justify-items:center;gap:10px;display:grid;position:absolute;top:50%;left:50%;translate:-50% -50%}.pk-board{min-width:calc(var(--cw) * 5 + 32px);min-height:calc(var(--cw) * 1.4);background:#0000001f;border-radius:14px;gap:8px;padding:6px;box-shadow:inset 0 0 0 2px #f7f0e114}.pk-board>.pc+.pc{margin-left:0}.pk-pot{align-items:center;gap:10px;min-height:34px;display:flex}.pk-pot__chips .chips__amount{display:none}.pk-pot__label{font-family:var(--font-display);color:var(--gold);text-shadow:0 2px #00000059;font-size:1.2rem}.pk-seat{z-index:3;justify-items:center;transition:opacity .3s,filter .3s;display:grid;position:absolute;translate:-50% -50%}.pk-seat .pk-cards{--cw:clamp(34px, 5vh, 54px);min-height:0;margin-bottom:-14px}.pk-seat .pk-cards>.pc+.pc{margin-left:calc(var(--cw) * -.35)}.pk-seat--me .pk-cards{--cw:clamp(52px, 8vh, 80px);margin-bottom:-10px}.pk-seat--me .pk-cards>.pc+.pc{margin-left:4px}.pk-seat.is-folded .pk-cards{opacity:.35;transition:opacity .4s,translate .4s;translate:0 8px}.pk-seat.is-out{opacity:.35;filter:grayscale()}.pk-plate{z-index:1;border:3px solid var(--panel-edge);background:var(--panel-solid);border-radius:999px;align-items:center;gap:8px;min-width:128px;padding:5px 12px 5px 5px;transition:border-color .25s,box-shadow .25s;display:flex;position:relative;box-shadow:0 4px #00000059}.pk-seat--me .pk-plate{border-color:#f2b54499}.pk-seat.is-acting .pk-plate{border-color:var(--gold);animation:1.4s ease-in-out infinite acting-pulse;box-shadow:0 4px #00000059,0 0 0 4px #f2b54440,0 0 26px #f2b54473}@keyframes acting-pulse{50%{scale:1.04}}.pk-seat.is-winner .pk-plate{border-color:var(--teal);box-shadow:0 4px #00000059,0 0 0 4px #2a9d8f59,0 0 30px #2a9d8f99}.pk-avatar{--tone:var(--blue);--tone-edge:var(--blue-edge);background:var(--tone);width:34px;height:34px;box-shadow:inset 0 -3px 0 var(--tone-edge);font-family:var(--font-display);color:#fff;border-radius:50%;place-items:center;font-size:1.1rem;display:grid}.tone-gold{--tone:var(--gold);--tone-edge:var(--gold-edge)}.pk-plate__text{line-height:1.15;display:grid}.pk-name{text-overflow:ellipsis;white-space:nowrap;max-width:11ch;font-size:.88rem;font-weight:750;overflow:hidden}.pk-stack{color:var(--gold);font-variant-numeric:tabular-nums;font-size:.82rem;font-weight:800}.pk-seat.is-thinking .pk-plate__text:after{content:"•••";background:var(--cream);color:var(--card-ink);letter-spacing:2px;border-radius:999px;padding:0 7px;font-size:.8rem;animation:1s steps(3,end) infinite think;position:absolute;top:-12px;right:10px}@keyframes think{0%{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0)}}.pk-action{z-index:4;background:var(--blue);white-space:nowrap;opacity:0;pointer-events:none;border-radius:999px;padding:3px 10px;font-size:.8rem;font-weight:800;position:absolute;top:-10px;left:50%;translate:-50%;scale:.6}.pk-action.is-shown{opacity:1;transition:opacity .2s, scale .4s var(--ease-spring);scale:1}.pk-action--fold{color:var(--muted);background:#3a4559}.pk-action--check{background:var(--teal)}.pk-action--call{background:var(--blue)}.pk-action--raise{background:var(--red)}.pk-action--allIn{background:var(--gold);color:#3a2606}.pk-handname{white-space:nowrap;animation:controls-in .35s var(--ease-spring) both;background:#0000008c;border-radius:999px;margin-top:6px;padding:2px 10px;font-size:.8rem;font-weight:800}.pk-bet{z-index:2;position:absolute;translate:-50% -50%}.pk-button{z-index:3;background:var(--cream);width:28px;height:28px;color:var(--card-ink);font-family:var(--font-display);box-shadow:0 3px 0 var(--cream-edge), 0 4px 8px #0000004d;transition:left .7s var(--ease-out), top .7s var(--ease-out);border-radius:50%;place-items:center;font-size:.95rem;display:grid;position:absolute;translate:-50% -50%}.pk-myhand{min-height:1.2em;color:var(--cream);margin:0;font-weight:800}.pk-actions{align-items:stretch}.pk-raise{border-radius:var(--radius);background:var(--inset);gap:6px;min-width:260px;padding:8px 12px;display:grid}.pk-raise__top{justify-content:space-between;align-items:center;gap:10px;display:flex}.pk-presets{gap:4px;display:flex}.pk-preset{background:var(--panel-edge);cursor:pointer;border:0;border-radius:8px;padding:3px 8px;font-size:.78rem;font-weight:750}.pk-slider{width:100%;accent-color:var(--red)}@media (width<=700px){.pk-plate{min-width:0;padding-right:8px}.pk-name{max-width:7ch}.pk-raise{width:100%;min-width:0}.pk-actions{width:100%}}
