:root{--bg: #06110c;--bg-2: #0c2017;--panel: rgba(13, 27, 20, .94);--panel-2: rgba(255, 255, 255, .04);--line: rgba(255, 255, 255, .09);--text: #edf3ee;--muted: #94a99b;--gold: #e7b347;--gold-2: #f8d784;--red: #d2504a;--red-2: #a83a35;--blue: #2f86c9;--blue-2: #236aa3;--green: #2fa36b;--purple: #b28cf0;--felt-1: #20804f;--felt-2: #0e4c2e;--felt-3: #0a3a23;--rail-1: #5b3820;--rail-2: #2a170b;--radius: 14px;--card-w: clamp(34px, 4.4vw, 72px);--shadow: 0 10px 30px rgba(0, 0, 0, .45);color-scheme:dark}*{box-sizing:border-box}html,body{margin:0;height:100%}body{background:radial-gradient(ellipse at 50% 0%,rgba(47,163,107,.16),transparent 60%),radial-gradient(ellipse at 50% 110%,rgba(231,179,71,.08),transparent 50%),var(--bg);color:var(--text);font-family:Segoe UI,system-ui,-apple-system,Roboto,Helvetica Neue,Arial,sans-serif;font-size:15px;line-height:1.4;-webkit-font-smoothing:antialiased;overflow-x:hidden}button,input,select{font:inherit;color:inherit}h1,h2,h3,h4{margin:0;line-height:1.2}kbd{display:inline-block;min-width:1.4em;padding:0 .35em;border:1px solid rgba(255,255,255,.3);border-bottom-width:2px;border-radius:4px;font-size:.72em;font-family:inherit;opacity:.75;margin-left:.4em;text-align:center}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.4em;padding:8px 14px;border-radius:10px;border:1px solid var(--line);background:#ffffff12;cursor:pointer;font-weight:600;transition:background .15s,transform .08s,border-color .15s,box-shadow .15s;white-space:nowrap}.btn:hover:not(:disabled){background:#ffffff21}.btn:active:not(:disabled){transform:translateY(1px)}.btn:focus-visible,.mode-card:focus-visible,.preset:focus-visible,.segmented button:focus-visible{outline:2px solid var(--gold-2);outline-offset:2px}.btn:disabled{opacity:.45;cursor:not-allowed}.btn.ghost{background:transparent}.btn.small{padding:5px 10px;font-size:.85rem}.btn.icon{padding:5px 9px;font-size:1rem}.btn.big{padding:12px 26px;font-size:1.05rem}.btn.gold{background:linear-gradient(180deg,var(--gold-2),var(--gold));color:#2b1c02;border-color:#0003}.btn.gold:hover:not(:disabled){background:linear-gradient(180deg,#ffe39c,#f0bd52)}.btn.danger{background:var(--red-2)}input[type=text],input[type=number],input[type=email],input[type=password],input[type=datetime-local],select{width:100%;padding:9px 11px;border-radius:9px;border:1px solid var(--line);background:#00000059;outline:none;transition:border-color .15s}input[type=text]:focus,input[type=number]:focus,input[type=email]:focus,input[type=password]:focus,input[type=datetime-local]:focus,select:focus{border-color:var(--gold)}select option{background:#10261b}input[type=range]{accent-color:var(--gold);width:100%}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 20px}.span-2{grid-column:span 2}.field{display:flex;flex-direction:column;gap:6px;min-width:0}.field>span,.blind-preview .label{font-size:.82rem;color:var(--muted);font-weight:600;letter-spacing:.02em}.field em{font-style:normal;opacity:.75;font-weight:400}.segmented{display:flex;gap:6px;flex-wrap:wrap}.segmented button{flex:1 1 0;min-width:0;padding:10px 12px;border-radius:10px;border:1px solid var(--line);background:#00000040;cursor:pointer;text-align:left;font-weight:600;transition:background .15s,border-color .15s}.segmented button small{display:block;font-weight:400;color:var(--muted);font-size:.78rem;margin-top:2px}.segmented button.active{border-color:var(--gold);background:#e7b34724}.segmented.small button{padding:7px 10px;text-align:center;font-size:.88rem}.bot-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.bot-row input[type=range]{flex:1 1 160px}.bot-count{font-size:1.3rem;min-width:1.5em;text-align:center;color:var(--gold-2)}.bot-row .segmented{flex:2 1 280px}.blind-preview .levels{display:flex;gap:6px;flex-wrap:wrap;margin-top:6px}.blind-preview .lvl{display:flex;flex-direction:column;align-items:center;padding:6px 10px;border-radius:9px;background:#0000004d;border:1px solid var(--line);font-variant-numeric:tabular-nums;font-size:.85rem;min-width:64px}.blind-preview .lvl b{color:var(--gold-2);font-size:.75rem}.blind-preview .lvl small{color:var(--muted);font-size:.7rem}.blind-preview .lvl.more{justify-content:center;color:var(--muted)}.form-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:20px}.home{min-height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:32px 16px 48px;gap:22px}.hero{text-align:center}.logo-cards{position:relative;height:110px;width:140px;margin:0 auto 10px}.logo-cards img{position:absolute;width:72px;border-radius:7px;box-shadow:var(--shadow);left:50%;top:6px}.logo-cards img:first-child{transform:translate(-80%) rotate(-12deg)}.logo-cards img:last-child{transform:translate(-20%) rotate(10deg)}.hero h1{font-size:clamp(2.4rem,7vw,4rem);font-weight:800;letter-spacing:-.02em}.hero h1 span{color:var(--gold)}.tagline{color:var(--muted);margin:8px 0 0}.name-box{width:min(420px,100%);display:flex;flex-direction:column;gap:6px}.name-box label{font-size:.85rem;color:var(--muted);font-weight:600}.name-box input{font-size:1.1rem;padding:12px 14px;text-align:center}.invite-banner{padding:10px 16px;border-radius:10px;background:#e7b34724;border:1px solid rgba(231,179,71,.45)}.mode-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;width:min(760px,100%)}.mode-card{display:flex;flex-direction:column;align-items:flex-start;gap:6px;padding:22px;text-align:left;border-radius:18px;border:1px solid var(--line);background:linear-gradient(160deg,#20804f40,#00000059);cursor:pointer;transition:transform .15s,border-color .15s,box-shadow .15s}.mode-card:hover:not(:disabled){transform:translateY(-3px);border-color:var(--gold);box-shadow:var(--shadow)}.mode-card:disabled{opacity:.5;cursor:not-allowed}.mode-card.primary{background:linear-gradient(160deg,#e7b34733,#00000059)}.mode-card .icon{font-size:2rem}.mode-card .title{font-size:1.35rem;font-weight:700}.mode-card .desc{color:var(--muted);font-size:.92rem}.hint{color:var(--muted);margin:0}.page{max-width:1180px;margin:0 auto;padding:18px 16px 48px;display:flex;flex-direction:column;gap:16px}.page-head{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.page-head h2{font-size:1.5rem;flex:1}.page-head h2 small{color:var(--muted);font-weight:400;font-size:1rem;margin-left:6px}.who,.conn{color:var(--muted);font-size:.9rem}.conn.online{color:#6fd59c}.conn.offline{color:#f08a7e}.card{background:var(--panel);border:1px solid var(--line);border-radius:18px;padding:20px;box-shadow:var(--shadow);min-width:0}.card h3{font-size:1.1rem;margin-bottom:14px}.card-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:14px}.card-head h3{margin:0}.presets{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px}.preset{display:flex;flex-direction:column;gap:3px;padding:12px 14px;border-radius:12px;border:1px solid var(--line);background:#00000040;text-align:left;cursor:pointer;transition:border-color .15s}.preset:hover{border-color:var(--gold)}.preset small{color:var(--muted)}.lobby-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:16px;align-items:start}.empty{color:var(--muted);padding:8px 2px}.room-list{display:flex;flex-direction:column;gap:10px}.room{display:grid;grid-template-columns:1fr auto;gap:4px 12px;align-items:center;padding:12px 14px;border-radius:12px;background:#00000047;border:1px solid var(--line)}.room .btn{grid-row:span 2}.room-main{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.room-meta{display:flex;gap:4px 12px;flex-wrap:wrap;color:var(--muted);font-size:.82rem}.badge{font-size:.72rem;font-weight:700;padding:2px 8px;border-radius:999px;background:#e7b3472e;color:var(--gold-2);text-transform:uppercase;letter-spacing:.04em}.badge.cash{background:#2f86c938;color:#9fd0f5}.badge.status{background:#ffffff14;color:var(--muted)}.code{font-family:ui-monospace,Consolas,monospace;letter-spacing:.08em;color:var(--gold-2)}.join-code{margin-top:18px;display:flex;flex-direction:column;gap:6px}.join-code label{font-size:.85rem;color:var(--muted);font-weight:600}.join-code .row{display:flex;gap:8px}.join-code input{text-transform:uppercase;font-family:ui-monospace,Consolas,monospace;letter-spacing:.1em}.table-screen{display:flex;flex-direction:column;height:100dvh;overflow:hidden}.topbar{display:flex;align-items:center;gap:12px;padding:8px 14px;background:#0006;border-bottom:1px solid var(--line);flex-wrap:wrap}.table-title{display:flex;align-items:center;gap:8px;min-width:0}.table-title b{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:28vw}.level-info{flex:1;text-align:center;font-variant-numeric:tabular-nums;color:var(--gold-2);font-weight:600;font-size:.92rem}.topbar-right{display:flex;align-items:center;gap:6px}.hand-no{color:var(--muted);font-size:.85rem;margin-right:4px}.table-layout{position:relative;flex:1;min-height:0;display:grid;grid-template-columns:minmax(0,1fr)}.table-layout.panel-open{grid-template-columns:minmax(0,1fr) 340px}@media(max-width:1500px){.table-layout.panel-open{grid-template-columns:minmax(0,1fr)}.table-layout .panel{position:absolute;top:0;right:0;bottom:0;width:min(360px,92vw);z-index:50;box-shadow:var(--shadow)}}.table-area{position:relative;display:flex;align-items:center;justify-content:center;padding:.6vh .8vw;min-height:0;min-width:0;overflow:hidden;container-type:size}.poker-table{position:relative;width:min(100cqw,100cqh * 2.6);height:min(100cqh,100cqw * .82);-webkit-user-select:none;user-select:none}.poker-table.portrait{width:min(100cqw,100cqh * .85);height:min(100cqh,100cqw * 1.9)}.rail{position:absolute;inset:10% 7.5%;border-radius:999px;padding:clamp(8px,1.4vw,18px);background:linear-gradient(160deg,rgba(255,255,255,.12),transparent 40%),linear-gradient(180deg,var(--rail-1),var(--rail-2));box-shadow:0 22px 50px #0009,inset 0 2px #ffffff1f,inset 0 -3px 8px #00000080}.portrait .rail{inset:8% 10%}.felt{position:relative;width:100%;height:100%;border-radius:999px;background:radial-gradient(ellipse at 50% 40%,var(--felt-1) 0%,var(--felt-2) 55%,var(--felt-3) 100%);box-shadow:inset 0 0 0 2px #e7b34759,inset 0 0 50px #0000008c;overflow:hidden}.paused .felt{filter:saturate(.6) brightness(.85)}.felt-logo{position:absolute;left:0;right:0;top:16%;text-align:center;font-weight:800;font-size:clamp(1rem,2.4vw,2rem);letter-spacing:.25em;text-transform:uppercase;color:#ffffff12;pointer-events:none}.center{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.9vh;padding:0 8%}.pot{display:inline-flex;align-items:center;gap:8px;padding:4px 14px 4px 8px;border-radius:999px;background:#0006;font-weight:700;font-variant-numeric:tabular-nums;box-shadow:inset 0 0 0 1px #ffffff0f}.side-pots{display:flex;gap:10px;font-size:.78rem;color:var(--gold-2);flex-wrap:wrap;justify-content:center}.board{display:flex;gap:clamp(3px,.5vw,8px)}.result-lines{max-width:92%;text-align:center;padding:6px 14px;border-radius:10px;background:#00000073;color:var(--gold-2);font-weight:600;font-size:clamp(.72rem,1.1vw,.95rem);animation:fade-in .35s ease-out}.result-lines.muted{color:var(--muted);font-weight:500}.pf-card{display:inline-block;width:var(--card-w);aspect-ratio:181 / 252;border-radius:7%;overflow:hidden;background:#fff;box-shadow:0 3px 8px #00000073;transition:transform .2s,opacity .2s,filter .2s,box-shadow .2s;animation:deal-in .28s ease-out;flex:none}.pf-card img{display:block;width:100%;height:100%;object-fit:cover}.pf-card.sm{width:calc(var(--card-w) * .62)}.pf-card:not(.sm):not(.lg){width:calc(var(--card-w) * .82)}.pf-card.empty{background:transparent;box-shadow:none;border:1.5px dashed rgba(255,255,255,.14);animation:none}.pf-card.dim{opacity:.45;filter:grayscale(.6)}.pf-card.glow{transform:translateY(-5px);box-shadow:0 0 0 2px var(--gold-2),0 0 16px #f8d784cc}@keyframes deal-in{0%{transform:translateY(-14px) scale(.85);opacity:0}}@keyframes fade-in{0%{opacity:0;transform:translateY(4px)}}.seat{position:absolute;transform:translate(-50%,-50%);width:clamp(104px,11.5vw,158px);display:flex;flex-direction:column;align-items:center;z-index:2}.seat.clickable{cursor:pointer}.seat.me{width:clamp(120px,13vw,180px);z-index:3}.seat.me .seat-cards{margin-bottom:-4px}.seat-cards{display:flex;gap:3px;margin-bottom:-12px;position:relative;z-index:1;min-height:8px}.seat-box{position:relative;z-index:2;display:flex;align-items:center;gap:8px;width:100%;padding:6px 9px;border-radius:12px;background:var(--panel);border:1px solid var(--line);box-shadow:0 6px 16px #00000073;transition:box-shadow .2s,border-color .2s,opacity .2s;overflow:visible}.seat.me .seat-box{border-color:#e7b34773}.seat.acting .seat-box{border-color:var(--gold);box-shadow:0 0 0 2px #e7b34780,0 0 22px #e7b34773}.seat.winner .seat-box{border-color:var(--gold-2);animation:winner-pulse 1.2s ease-in-out infinite}.seat.folded .seat-box,.seat.out .seat-box{opacity:.55}.seat.busted{opacity:.45}@keyframes winner-pulse{50%{box-shadow:0 0 0 3px #f8d784b3,0 0 28px #f8d78499}}.avatar{flex:none;width:clamp(26px,2.6vw,36px);height:clamp(26px,2.6vw,36px);border-radius:50%;display:grid;place-items:center;font-weight:700;font-size:.8rem;background:linear-gradient(140deg,#3c7d5c,#1d4434);border:1px solid rgba(255,255,255,.2)}.avatar.bot{background:linear-gradient(140deg,#4b4f73,#262842);font-size:1rem}.seat-info{min-width:0;flex:1}.seat-name{display:flex;align-items:center;gap:4px;font-size:clamp(.7rem,.85vw,.85rem);font-weight:600;white-space:nowrap}.seat-name .n{overflow:hidden;text-overflow:ellipsis}.seat-stack{color:var(--gold-2);font-weight:700;font-variant-numeric:tabular-nums;font-size:clamp(.75rem,.95vw,.95rem);white-space:nowrap}.seat-stack .lvl{color:var(--muted);font-weight:500;font-size:.7rem;margin-left:4px}.tag{font-size:.62rem;padding:1px 5px;border-radius:999px;background:#ffffff1a;color:var(--muted);font-weight:600}.tag.warn{background:#d2504a4d;color:#ffb3ab}.tag.danger{background:#d2504a40;color:#ffb3ab;font-size:.7rem}.seat-action{position:absolute;top:-11px;right:-8px;padding:1px 8px;border-radius:999px;font-size:.7rem;font-weight:700;background:#3b4a42;white-space:nowrap;box-shadow:0 2px 6px #0006;animation:fade-in .2s ease-out}.seat-action.act-fold{background:#5a3532}.seat-action.act-check,.seat-action.act-call{background:var(--blue-2)}.seat-action.act-bet,.seat-action.act-raise{background:#9a6b12}.seat-action.act-allin{background:var(--red)}.timer-bar{position:absolute;left:8px;right:8px;bottom:2px;height:3px;border-radius:3px;background:#ffffff1a;overflow:hidden}.timer-bar i{display:block;height:100%;background:var(--green);transition:width .25s linear}.timer-bar i.low{background:var(--red)}.seat-hand{margin-top:4px;padding:1px 8px;border-radius:999px;background:#0000008c;font-size:.7rem;color:#d9e6dc;white-space:nowrap;max-width:160%;overflow:hidden;text-overflow:ellipsis}.seat-win{position:absolute;top:-20px;left:50%;transform:translate(-50%);padding:2px 10px;border-radius:999px;background:linear-gradient(180deg,var(--gold-2),var(--gold));color:#2b1c02;font-weight:800;font-size:.85rem;z-index:4;animation:float-up .6s ease-out;box-shadow:0 4px 12px #00000080}@keyframes float-up{0%{transform:translate(-50%,14px);opacity:0}}.empty-seat{width:auto;padding:8px 16px;border:1.5px dashed rgba(255,255,255,.16);border-radius:12px;color:#ffffff4d;font-size:.8rem}.bet{position:absolute;transform:translate(-50%,-50%);display:inline-flex;align-items:center;gap:5px;padding:2px 9px 2px 4px;border-radius:999px;background:#00000080;font-size:clamp(.68rem,.85vw,.85rem);font-weight:700;font-variant-numeric:tabular-nums;z-index:1;animation:fade-in .25s ease-out}.chip-stack{display:inline-flex}.chip-stack i{width:13px;height:13px;border-radius:50%;border:2px dashed rgba(255,255,255,.85);background:var(--red);box-shadow:0 1px 2px #00000080}.chip-stack i+i{margin-left:-7px}.chip-stack i:nth-child(2){background:var(--blue)}.chip-stack i:nth-child(3){background:#1f1f1f}.dealer-btn{position:absolute;transform:translate(-50%,-50%);width:clamp(20px,1.9vw,28px);height:clamp(20px,1.9vw,28px);border-radius:50%;display:grid;place-items:center;background:radial-gradient(circle at 35% 30%,#fff,#d9d9d9);color:#222;font-weight:800;font-size:.75rem;box-shadow:0 2px 6px #00000080;z-index:1;transition:left .5s ease,top .5s ease}.seat-popover{--pop-side: calc(clamp(52px, 5.75vw, 79px) + 8px) ;--pop-vert: 46px;position:absolute;transform:translate(-50%,calc(-100% - var(--pop-vert)));z-index:20;display:flex;flex-direction:column;gap:6px;padding:10px;border-radius:12px;background:#13261c;border:1px solid var(--line);box-shadow:var(--shadow);min-width:170px;animation:fade-only .15s ease-out}.seat-popover.below{transform:translate(-50%,var(--pop-vert))}.seat-popover.right{transform:translate(var(--pop-side),-50%)}.seat-popover.left{transform:translate(calc(-100% - var(--pop-side)),-50%)}@keyframes fade-only{0%{opacity:0}}.pop-title{font-weight:700;text-align:center;margin-bottom:2px}.chat-bubble{position:absolute;transform:translate(-50%,calc(-100% - 46px));z-index:25;max-width:220px;padding:5px 11px;border-radius:12px;background:#f4f1e6;color:#1b2a21;font-size:.8rem;font-weight:600;box-shadow:0 6px 16px #00000073;pointer-events:none;animation:fade-only .2s ease-out;overflow-wrap:anywhere}.chat-bubble.below{transform:translate(-50%,46px)}.chat-bubble:after{content:"";position:absolute;left:50%;bottom:-6px;transform:translate(-50%);border:6px solid transparent;border-bottom:0;border-top-color:#f4f1e6}.chat-bubble.below:after{bottom:auto;top:-6px;border-top:0;border-bottom:6px solid #f4f1e6}.panel-toggle{position:relative}.panel-toggle .unread{position:absolute;top:-6px;right:-6px}.reaction{position:absolute;transform:translate(-50%,-62%);z-index:30;pointer-events:none;display:flex;flex-direction:column;align-items:center;gap:4px;animation:fade-in .2s ease-out}.reaction img{width:clamp(110px,15vw,220px);border-radius:10px;box-shadow:var(--shadow)}.reaction span{padding:2px 10px;border-radius:999px;background:#000000b3;font-size:.8rem;white-space:nowrap}.action-bar{display:flex;align-items:center;justify-content:space-between;gap:10px 18px;flex-wrap:wrap;padding:10px 16px calc(10px + env(safe-area-inset-bottom));background:#0000008c;border-top:1px solid var(--line);min-height:74px}.bar-main{display:flex;align-items:center;gap:12px 18px;flex-wrap:wrap;flex:1 1 520px;min-width:0}.turn-hint{color:var(--gold-2);font-weight:800;text-transform:uppercase;letter-spacing:.08em;font-size:.78rem;animation:blink 1.4s ease-in-out infinite}@keyframes blink{50%{opacity:.45}}.action-buttons{display:flex;gap:8px;flex-wrap:wrap}.btn.act{min-width:112px;padding:11px 16px;font-size:1rem;border:none;box-shadow:0 4px 12px #00000059}.btn.act.fold{background:linear-gradient(180deg,#d6605a,var(--red-2))}.btn.act.check,.btn.act.call{background:linear-gradient(180deg,#4398d8,var(--blue-2))}.btn.act.raise{background:linear-gradient(180deg,var(--gold-2),var(--gold));color:#2b1c02}.btn.act:hover{filter:brightness(1.08)}.note{color:var(--muted);font-size:.85rem;align-self:center}.sizing{display:flex;flex-direction:column;gap:6px;flex:1 1 300px;min-width:240px}.size-buttons{display:flex;gap:5px;flex-wrap:wrap}.btn.chip{padding:4px 10px;border-radius:999px;font-size:.8rem}.btn.chip.active{border-color:var(--gold);background:#e7b3472e}.slider-row{display:flex;gap:8px;align-items:center}.raise-input{width:110px!important;flex:none;padding:6px 9px!important}.status-text{color:var(--muted)}.prefold{display:inline-flex;align-items:center;gap:6px;font-size:.88rem;cursor:pointer}.prefold input{accent-color:var(--gold);width:16px;height:16px}.bar-controls{display:flex;gap:8px;flex-wrap:wrap;align-items:center;justify-content:flex-end}.bot-add{display:inline-flex;gap:6px}.bot-add select{width:auto;padding:7px 8px}.panel{display:flex;min-height:0;background:var(--panel);border-left:1px solid var(--line)}.side-panel{display:flex;flex-direction:column;width:100%;min-height:0}.tabs{display:flex;border-bottom:1px solid var(--line)}.tabs button{flex:1;padding:11px 8px;border:none;background:transparent;cursor:pointer;font-weight:600;color:var(--muted);border-bottom:2px solid transparent}.tabs button.active{color:var(--text);border-bottom-color:var(--gold)}.unread{display:inline-block;min-width:18px;padding:0 5px;margin-left:4px;border-radius:999px;background:var(--red);color:#fff;font-size:.72rem}.log,.info,.chat-list{flex:1;min-height:0;overflow-y:auto;padding:10px 12px;scrollbar-width:thin}.log{font-size:.84rem;display:flex;flex-direction:column;gap:2px}.ev{color:#cbd8ce}.ev-hand{margin-top:8px;padding-top:6px;border-top:1px solid var(--line);color:var(--muted);font-size:.78rem}.ev-blind{color:var(--muted)}.ev-street{color:#9fd0f5;font-weight:600}.ev-win{color:var(--gold-2);font-weight:600}.ev-show{color:#e7efe9}.ev-level{color:var(--purple);font-weight:700}.ev-bust,.ev-end{color:#ffb3ab;font-weight:600}.ev-end{color:var(--gold-2);font-size:1rem}.ev.mine{color:#fff}.ev.won{background:#e7b3471f;border-radius:6px;padding:0 4px}.chat{display:flex;flex-direction:column;flex:1;min-height:0}.msg{margin-bottom:6px;font-size:.9rem;word-wrap:break-word}.msg .t{color:var(--muted);font-size:.72rem;margin-right:4px}.msg.mine b{color:var(--gold-2)}.chat-input{display:flex;gap:6px;padding:10px;border-top:1px solid var(--line)}.info section{margin-bottom:18px}.info h4{font-size:.78rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin-bottom:8px}.info p{margin:4px 0 8px;font-size:.88rem}.kv{display:flex;justify-content:space-between;gap:10px;padding:3px 0;font-size:.9rem;font-variant-numeric:tabular-nums}.kv span{color:var(--muted)}table.levels,table.players{width:100%;border-collapse:collapse;font-size:.85rem;font-variant-numeric:tabular-nums;margin-top:6px}table.levels td,table.players td{padding:4px;border-bottom:1px solid var(--line)}table.levels td:first-child{color:var(--muted);width:28px}.players td.num{text-align:right}.players tr.me td{color:var(--gold-2);font-weight:600}.players tr.busted td{opacity:.45}.players .plus{color:#6fd59c}.players .minus{color:#f08a7e}.ranking{margin:0;padding-left:0;list-style:none;font-size:.88rem}.ranking li{padding:2px 0}.ranking li.me{color:var(--gold-2)}.shortcuts p{color:var(--muted)}.overlay{position:fixed;inset:0;z-index:100;display:grid;place-items:center;padding:16px;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:fade-in .3s ease-out}.result-card{width:min(460px,100%);max-height:90dvh;overflow:auto;padding:26px;border-radius:20px;background:linear-gradient(170deg,#173526,#0b1c14);border:1px solid rgba(231,179,71,.4);box-shadow:var(--shadow);text-align:center}.trophy{font-size:3.4rem;animation:float-up .6s ease-out}.result-card h2{font-size:1.4rem;margin:6px 0}.my-place{color:var(--gold-2);font-weight:600}.final-ranking{list-style:none;padding:0;margin:16px 0;text-align:left}.final-ranking li{display:flex;gap:10px;padding:7px 10px;border-radius:9px}.final-ranking li.podium{background:#ffffff0d}.final-ranking li.me{outline:1px solid var(--gold)}.final-ranking .place{width:2em;text-align:center}.result-actions{display:flex;gap:8px;justify-content:center;flex-wrap:wrap}.toasts{position:fixed;top:12px;left:50%;transform:translate(-50%);z-index:200;display:flex;flex-direction:column;gap:8px;width:min(440px,calc(100vw - 32px));pointer-events:none}.toast{pointer-events:auto;padding:10px 14px;border-radius:10px;background:#1c3a2b;border:1px solid var(--line);box-shadow:var(--shadow);cursor:pointer;animation:fade-in .2s ease-out}.toast.error{background:#4a1f1c;border-color:#d2504a99}.loading{display:grid;place-items:center;height:100dvh;color:var(--muted)}@media(max-width:700px){body{font-size:14px}.form-grid{grid-template-columns:minmax(0,1fr)}.span-2{grid-column:auto}.mode-cards{grid-template-columns:minmax(0,1fr)}.topbar{gap:6px 8px;padding:6px 10px}.table-title .badge,.table-title .code{display:none}.topbar-right{margin-left:auto}.level-info{order:5;flex-basis:100%;font-size:.82rem}.action-bar.my-turn .bar-controls,.action-bar.my-turn .turn-hint{display:none}.action-bar{padding:8px 10px calc(8px + env(safe-area-inset-bottom));gap:8px}.sizing{min-width:0}.table-title b{max-width:40vw}.hand-no{display:none}.btn.act{min-width:0;flex:1 1 0;padding:11px 10px}.action-buttons{width:100%}.action-buttons kbd{display:none}.seat{width:clamp(84px,24vw,120px)}.seat.me{width:clamp(100px,30vw,140px)}.portrait{--card-w: clamp(30px, 10vw, 54px)}.seat-box{padding:4px 6px;gap:5px}.avatar{display:none}.card{padding:16px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.resume-banner{display:flex;align-items:center;justify-content:space-between;gap:12px 20px;flex-wrap:wrap;width:min(760px,100%);padding:14px 18px;border-radius:16px;background:linear-gradient(120deg,#e7b3472e,#20804f2e);border:1px solid rgba(231,179,71,.5);box-shadow:var(--shadow)}.resume-text{display:flex;flex-direction:column;gap:2px}.resume-text span{color:var(--text);font-size:.92rem}.resume-text small{color:var(--muted)}.resume-actions{display:flex;gap:8px;align-items:center}.history-link{margin-top:-6px}.notice{margin:0 0 14px;padding:10px 14px;border-radius:10px;background:#2f86c924;border:1px solid rgba(47,134,201,.4);font-size:.9rem}.plus{color:#6fd59c}.minus{color:#f08a7e}.btn.danger-text{color:#ffb3ab}.badge.warn{background:#d2504a40;color:#ffb3ab}.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:10px}.stat{display:flex;flex-direction:column;align-items:center;gap:2px;padding:12px 8px;border-radius:12px;background:#00000047;border:1px solid var(--line);text-align:center}.stat b{font-size:1.5rem;color:var(--gold-2);font-variant-numeric:tabular-nums}.stat b.plus{color:#6fd59c}.stat b.minus{color:#f08a7e}.stat span{color:var(--muted);font-size:.8rem}.history-toolbar{display:flex;justify-content:flex-start}.history-toolbar .segmented{max-width:560px;width:100%}.history-list{display:flex;flex-direction:column;gap:10px}.hist-card{border-radius:16px;background:var(--panel);border:1px solid var(--line);box-shadow:0 6px 18px #0000004d;overflow:hidden}.hist-card.open{border-color:#e7b34773}.hist-head{display:flex;flex-direction:column;gap:6px;width:100%;padding:14px 18px;border:none;background:transparent;text-align:left;cursor:pointer}.hist-head:hover{background:#ffffff08}.hist-head:focus-visible{outline:2px solid var(--gold-2);outline-offset:-2px}.hist-title{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:1.05rem}.hist-meta{display:flex;flex-wrap:wrap;gap:4px 14px;color:var(--muted);font-size:.84rem}.hist-summary{display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-size:.92rem}.hist-summary .winner b{color:var(--gold-2)}.mine-chip{padding:2px 10px;border-radius:999px;background:#e7b34729;border:1px solid rgba(231,179,71,.45);font-weight:600;font-size:.84rem}.chevron{margin-left:auto;color:var(--muted)}.hist-results{width:100%;border-collapse:collapse;font-size:.9rem;font-variant-numeric:tabular-nums}.hist-results th,.hist-results td{padding:7px 18px;border-top:1px solid var(--line);text-align:left}.hist-results th{color:var(--muted);font-size:.78rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em}.hist-results .num{text-align:right}.hist-results tr.me td{color:var(--gold-2);font-weight:600;background:#e7b3470f}.hist-results small{color:var(--muted);font-weight:400}.empty-history{color:var(--muted);text-align:center}.history-footer{display:flex;justify-content:center}.final-ranking .name{flex:1}.final-ranking .res{font-variant-numeric:tabular-nums;font-weight:600}.saved-note{color:var(--muted);font-size:.82rem;margin:0 0 12px}@media(max-width:700px){.hist-head{padding:12px 14px}.hist-results th,.hist-results td{padding:6px 10px}.resume-actions{width:100%}.resume-actions .btn.gold{flex:1}}.auth-page{min-height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:22px;padding:28px 16px 48px}.auth-card{width:min(440px,100%);background:var(--panel);border:1px solid var(--line);border-radius:20px;padding:22px;box-shadow:var(--shadow);display:flex;flex-direction:column;gap:14px}.auth-card form{display:flex;flex-direction:column;gap:14px}.auth-tabs{display:flex;gap:6px;border-bottom:1px solid var(--line);margin-bottom:4px}.auth-tabs button{flex:1;padding:10px;border:none;background:transparent;color:var(--muted);font-weight:700;cursor:pointer;border-bottom:2px solid transparent}.auth-tabs button.active{color:var(--text);border-bottom-color:var(--gold)}.auth-title{font-size:1.25rem}.auth-message{display:flex;flex-direction:column;align-items:center;gap:12px;text-align:center}.auth-message .field{width:100%;text-align:left}.big-icon{font-size:2.6rem}.form-error{margin:0;padding:9px 12px;border-radius:9px;background:#d2504a2e;border:1px solid rgba(210,80,74,.5);color:#ffc9c3;font-size:.9rem}.form-info{margin:0;color:#9fe0bb;font-size:.9rem}.fineprint{margin:0;color:var(--muted);font-size:.82rem}.btn.wide{width:100%}.muted{color:var(--muted)}.small{font-size:.8rem}.lobby-page{max-width:1400px}.lobby-head{gap:10px 16px}.brand{font-size:1.4rem;font-weight:800;flex:1}.brand span{color:var(--gold)}.head-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.lobby-grid{grid-template-columns:minmax(0,1.5fr) minmax(320px,1fr)}.lobby-main,.lobby-side{display:flex;flex-direction:column;gap:16px;min-width:0}.card-head .filter{flex:0 1 auto}.room{grid-template-columns:minmax(0,1fr) auto}.room .room-actions{grid-row:span 2;grid-column:2;display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}.room.highlight{border-color:#e7b34780;background:#e7b3470f}.room .vis{font-size:.95rem}.room .invitees{color:var(--text)}.badge.sched{background:#b28cf033;color:#d6c3fa}.badge.live{background:#2fa36b40;color:#9fe0bb}.invite-rows{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.invite-rows li{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;padding:10px 12px;border-radius:12px;background:#e7b34714;border:1px solid rgba(231,179,71,.35)}.invite-rows li.accepted{background:#b28cf014;border-color:#b28cf059}.invite-rows .badge{margin-left:6px}.row-actions{display:flex;gap:6px}.quick-buttons{display:flex;gap:8px;flex-wrap:wrap}.quick-buttons .btn{flex:1 1 160px}.quick-card p{margin:-6px 0 12px}.create-extra{margin-bottom:16px}.create-extra input[type=datetime-local]{margin-top:8px;padding:9px 11px;border-radius:9px;border:1px solid var(--line);background:#00000059;color-scheme:dark}.friends-card h4{font-size:.78rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin:14px 0 6px}.add-friend{display:flex;gap:6px;margin-bottom:10px}.friend-list,.invite-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}.friend-list li{display:flex;align-items:center;gap:8px;padding:6px 8px;border-radius:9px;background:#0003}.friend-list .fname{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dot{flex:none;width:9px;height:9px;border-radius:50%;background:#4b5a51}.dot.on{background:#3ddc84;box-shadow:0 0 6px #3ddc84cc}.invite-list li label{display:flex;align-items:center;gap:9px;padding:8px 10px;border-radius:9px;background:#00000038;cursor:pointer}.invite-list li label:hover{background:#ffffff0d}.invite-list input[type=checkbox]{accent-color:var(--gold);width:17px;height:17px}.invite-list .fname{flex:1}.invite-list.compact{max-height:210px;overflow-y:auto}.dialog-card{width:min(480px,100%);max-height:90dvh;overflow:auto;padding:24px;border-radius:20px;background:linear-gradient(170deg,#173526,#0b1c14);border:1px solid rgba(231,179,71,.4);box-shadow:var(--shadow)}.dialog-card h2{font-size:1.3rem;margin-bottom:8px}.dialog-card .invite-list{margin:14px 0}.dialog-actions{display:flex;gap:8px;justify-content:flex-end;flex-wrap:wrap;margin-top:16px}.invite-overlay{z-index:150}.invite-card{text-align:center;animation:pop-in .25s ease-out}.invite-card .dialog-actions{justify-content:center}.invite-details{color:var(--muted)}@keyframes pop-in{0%{transform:scale(.9);opacity:0}}@media(max-width:1100px){.lobby-grid{grid-template-columns:minmax(0,1fr)}}@media(max-width:700px){.room{grid-template-columns:minmax(0,1fr)}.room .room-actions{grid-row:auto;grid-column:auto;justify-content:flex-start}.brand{flex-basis:100%}}.rtc-controls{display:inline-flex;gap:4px;align-items:center;padding:2px;border-radius:10px;background:#ffffff0a}.rtc-controls .btn.off{background:#d2504a40;border-color:#d2504a80}.seat-video{display:block;width:100%;aspect-ratio:4 / 3;object-fit:cover;border-radius:10px;background:#000;border:2px solid rgba(255,255,255,.12);box-shadow:0 6px 16px #00000080;margin-bottom:4px}.seat-video.mirror{transform:scaleX(-1)}.seat.acting .seat-video{border-color:var(--gold)}.seat.has-video .seat-cards{margin-top:-18px}.seat-name .mic{font-size:.75rem}.seat-name .mic.off{opacity:.8}.spectator-videos{position:absolute;left:.5%;top:1%;z-index:4;display:flex;gap:6px;flex-wrap:wrap;max-width:40%}.spectator-videos figure{margin:0;width:clamp(80px,8vw,120px);border-radius:8px;overflow:hidden;background:#0009;border:1px solid var(--line)}.spectator-videos video,.spectator-videos .novideo{display:block;width:100%;aspect-ratio:4 / 3;object-fit:cover}.spectator-videos .novideo{display:grid;place-items:center;font-size:1.4rem}.spectator-videos figcaption{font-size:.7rem;padding:2px 6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@media(max-width:700px){.rtc-controls .btn.ghost{padding:5px 8px}}
