:root{--void:#04040c;--panel:#080c1a;--panel2:#0b0f20;--panel3:#0e1328;--border:#00a0ff1a;--border-q:#7850ff33;--gold:#c8971e;--gold-bright:#e8b830;--text:#e8dcc8;--muted:#dcc8a066;--accent-a:#00c8ff;--accent-b:#f26;--accent-q:#a855f7;--green:#2a7a1a;--red:#c13}*{box-sizing:border-box;margin:0;padding:0}html,body{height:100%;overflow:hidden}body{background:var(--void);color:var(--text);background-image:radial-gradient(80% 40% at 50% 0,#5028a01a 0%,#0000 60%),radial-gradient(40% 30% at 80% 80%,#0050a00f 0%,#0000 50%),radial-gradient(1px 1px at 12% 18%,#a855f7b3 0%,#0000 100%),radial-gradient(1px 1px at 67% 9%,#00c8ff99 0%,#0000 100%),radial-gradient(1.5px 1.5px at 35% 55%,#a855f766 0%,#0000 100%),radial-gradient(1px 1px at 88% 42%,#c8971e66 0%,#0000 100%),radial-gradient(1px 1px at 4% 78%,#00c8ff4d 0%,#0000 100%),radial-gradient(1px 1px at 55% 88%,#a855f74d 0%,#0000 100%),radial-gradient(1.5px 1.5px at 90% 68%,#00c8ff66 0%,#0000 100%),radial-gradient(1px 1px at 25% 38%,#c8971e40 0%,#0000 100%),repeating-linear-gradient(0deg,#0000,#0000 80px,#ffffff01 80px 81px),repeating-linear-gradient(90deg,#0000,#0000 80px,#ffffff01 80px 81px);flex-direction:column;height:100vh;font-family:IM Fell English,serif;font-size:18px;display:flex;overflow:hidden}.screen{flex-direction:column;height:100vh;display:none;overflow:hidden}.screen.active{display:flex}#screen-setup{justify-content:center;align-items:center;gap:0;padding:20px;position:relative}#screen-setup:before{content:"∣ψ⟩";color:#7850ff0a;pointer-events:none;-webkit-user-select:none;user-select:none;z-index:0;font-family:Space Mono,monospace;font-size:clamp(5rem,18vw,14rem);position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.setup-title{letter-spacing:.1em;background:linear-gradient(135deg,#e8dcc8 0%,#a855f7 40%,#00c8ff 75%,#e8b830 100%);-webkit-text-fill-color:transparent;text-align:center;z-index:1;filter:drop-shadow(0 0 30px #7850ff4d);-webkit-background-clip:text;background-clip:text;margin-bottom:28px;font-family:Cinzel,serif;font-size:clamp(2.2rem,7vw,4.5rem);font-weight:900;line-height:1;position:relative}.setup-sub{letter-spacing:.18em;color:#a855f7b3;text-align:center;text-transform:uppercase;z-index:1;margin-bottom:32px;font-family:Space Mono,monospace;font-size:.6rem;position:relative}.setup-card{background:linear-gradient(135deg, var(--panel) 0%, var(--panel2) 100%);border:1px solid var(--border-q);z-index:1;border-radius:4px;flex-direction:column;gap:20px;width:min(440px,95vw);padding:28px 32px;display:flex;position:relative;box-shadow:0 0 60px #5028a026,inset 0 1px #ffffff0a}.setup-divider{background:linear-gradient(90deg,#0000,#a855f733,#00c8ff33,#0000);height:1px;margin:-4px 0}.setup-row{justify-content:space-between;align-items:center;gap:12px;display:flex}.setup-label{letter-spacing:.18em;color:var(--muted);text-transform:uppercase;flex-shrink:0;font-family:Space Mono,monospace;font-size:.62rem}.setup-options{flex-wrap:wrap;gap:4px;display:flex}.opt-btn{color:#dcc8a080;cursor:pointer;letter-spacing:.06em;white-space:nowrap;background:#a855f70d;border:1px solid #a855f72e;border-radius:3px;padding:6px 12px;font-family:Space Mono,monospace;font-size:.68rem;transition:all .2s}.opt-btn:hover{border-color:var(--accent-q);color:var(--accent-q);background:#a855f71a}.opt-btn.selected{border-color:var(--accent-q);color:var(--accent-q);background:#a855f726;box-shadow:0 0 12px #a855f733}.toggle-btn{color:var(--muted);cursor:pointer;letter-spacing:.06em;background:#a855f70d;border:1px solid #a855f72e;border-radius:3px;padding:6px 14px;font-family:Space Mono,monospace;font-size:.68rem;transition:all .2s}.toggle-btn.on{color:#4aaa28;background:#2a7a1a26;border-color:#4aaa28;box-shadow:0 0 10px #4aaa2833}.start-btn{color:var(--text);letter-spacing:.22em;cursor:pointer;text-transform:uppercase;background:linear-gradient(135deg,#a855f71f,#00a0ff1f);border:1px solid #a855f766;border-radius:3px;margin-top:4px;padding:14px;font-family:Cinzel,serif;font-size:.82rem;font-weight:700;transition:all .25s}.start-btn:hover{border-color:var(--accent-q);box-shadow:0 0 24px #a855f740}#screen-reveal{text-align:center;justify-content:center;align-items:center;gap:16px;padding:20px}.reveal-title{letter-spacing:.15em;color:var(--accent-a);text-transform:uppercase;font-family:Cinzel,serif;font-size:1.1rem;font-weight:700}.reveal-sub{color:var(--muted);font-size:.98rem;font-style:italic}.reveal-hand{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.reveal-metrics{background:var(--panel);border:1px solid var(--border);color:var(--muted);text-align:left;border-radius:8px;max-width:380px;padding:10px 16px;font-size:1rem;line-height:1.7}.reveal-metrics strong{color:var(--text)}.continue-btn{color:var(--accent-a);letter-spacing:.15em;cursor:pointer;text-transform:uppercase;background:linear-gradient(135deg,#00a0ff1f,#8855ff1f);border:1px solid #00a0ff4d;border-radius:8px;padding:10px 24px;font-family:Cinzel,serif;font-size:.97rem;font-weight:700;transition:all .2s}.continue-btn:hover{border-color:var(--accent-a);background:#00a0ff33}.pass-overlay{z-index:200;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#000000eb;justify-content:center;align-items:center;display:none;position:fixed;inset:0}.pass-overlay.open{display:flex}.pass-box{text-align:center;background:var(--panel);border:1px solid var(--border);border-radius:12px;flex-direction:column;align-items:center;gap:14px;max-width:340px;padding:32px 40px;display:flex}.pass-title{letter-spacing:.2em;color:var(--accent-a);text-transform:uppercase;font-family:Cinzel,serif;font-size:1.2rem;font-weight:700}.pass-sub{color:var(--muted);font-size:.95rem;line-height:1.5}#screen-game{flex-direction:column;height:100vh;overflow:hidden}.game-header{background:var(--panel);border-bottom:1px solid var(--border);flex-shrink:0;justify-content:space-between;align-items:center;gap:8px;padding:5px 12px;display:flex}.score-display{align-items:center;gap:10px;display:flex}.score-team{flex-direction:column;align-items:center;gap:3px;min-width:56px;display:flex}.score-team-name{letter-spacing:.1em;text-transform:uppercase;font-family:Cinzel,serif;font-size:.72rem}.score-team-name.t0{color:var(--accent-a)}.score-team-name.t1{color:var(--accent-b)}.score-sep{color:var(--muted);font-size:.85rem;font-style:italic}.score-pts-wrap{flex-wrap:wrap;justify-content:center;align-items:flex-end;gap:3px;min-height:24px;padding:2px 0;display:flex}.tally-group{align-items:flex-end;gap:1.5px;margin-right:3px;display:flex;position:relative}.tally-mark{border-radius:1.5px;width:3px;height:20px}.tally-mark.t0{background:var(--accent-a)}.tally-mark.t1{background:var(--accent-b)}.tally-diag{transform-origin:0;border-top:2.5px solid;border-radius:1px;position:absolute;inset:1px -2px;transform:rotate(18deg)}.tally-diag.t0{border-color:var(--accent-a)}.tally-diag.t1{border-color:var(--accent-b)}.game-info{text-align:center;flex:1}.game-round-label{letter-spacing:.1em;color:var(--muted);text-transform:uppercase;font-family:Cinzel,serif;font-size:.8rem}.game-bet-label{color:var(--gold);font-size:.88rem;font-style:italic}.quantum-btn-small{color:var(--muted);cursor:pointer;letter-spacing:.05em;background:0 0;border:1px solid #00a0ff33;border-radius:4px;flex-shrink:0;padding:3px 8px;font-family:Cinzel,serif;font-size:.78rem;transition:all .2s}.quantum-btn-small:hover{border-color:var(--accent-a);color:var(--accent-a)}.game-table{flex-direction:row;flex:1;min-height:0;display:flex;position:relative;overflow:hidden}.arena{border-right:1px solid var(--border);background:radial-gradient(70% 60%,#0050a012 0%,#0000 80%),repeating-linear-gradient(0deg,#0000,#0000 44px,#ffffff03 44px 45px),repeating-linear-gradient(90deg,#0000,#0000 44px,#ffffff03 44px 45px);flex:1;justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.arena-slots{flex-wrap:wrap;justify-content:center;align-items:center;gap:20px;display:flex}.arena-slot{flex-direction:column;align-items:center;display:flex}.arena-slot.winner-t0>div{filter:drop-shadow(0 0 14px #00a0ffe6)drop-shadow(0 0 6px #00a0ff80)}.arena-slot.winner-t1>div{filter:drop-shadow(0 0 14px #cc1133e6)drop-shadow(0 0 6px #cc113380)}.arena-slot.winner-draw>div{filter:drop-shadow(0 0 14px #c8971ee6)drop-shadow(0 0 6px #c8971e80)}@keyframes cardDrop{0%{opacity:0;transform:scale(var(--ds,.72)) translateY(-55px) rotate(var(--dr,0deg))}65%{opacity:1;transform:scale(var(--ds,.72)) translateY(5px) rotate(calc(var(--dr,0deg)*.25))}82%{transform:scale(var(--ds,.72)) translateY(-2px) rotate(0deg)}to{transform:scale(var(--ds,.72)) translateY(0) rotate(0deg)}}.arena-slot.dropping>div{animation:1.3s cubic-bezier(.22,1,.36,1) both cardSlideDown}.baza-result{letter-spacing:.15em;color:var(--gold);text-transform:uppercase;pointer-events:none;white-space:nowrap;text-shadow:0 0 20px #c8971e80;font-family:Cinzel,serif;font-size:1rem;position:absolute;top:10px;left:50%;transform:translate(-50%)}.mazo-stack{opacity:.88;flex-direction:column;align-items:center;gap:4px;display:flex;position:absolute;bottom:20px;right:24px}.mazo-card{color:#00a0ff8c;background:linear-gradient(135deg,#0d1a2e,#1a2e50);border:1px solid #00a0ff73;border-radius:6px;justify-content:center;align-items:center;width:62px;height:96px;font-size:1.4rem;display:flex;position:absolute;bottom:22px;box-shadow:0 0 12px #0064ff26}.mazo-c1{z-index:3;box-shadow:0 3px 14px #0009,0 0 18px #0082ff2e}.mazo-c1:before{content:"";background:repeating-linear-gradient(45deg,#0000,#0000 3px,#0078ff12 3px 4px);border-radius:6px;position:absolute;inset:0}.mazo-c2{z-index:2;background:linear-gradient(135deg,#0b1525,#152040);bottom:27px;left:3px;transform:rotate(4deg)}.mazo-c3{z-index:1;background:linear-gradient(135deg,#091220,#0e1b2e);bottom:32px;left:-2px;transform:rotate(-4deg)}.mazo-label{color:#00b4ff8c;letter-spacing:.14em;text-transform:uppercase;margin-top:106px;font-family:Cinzel,serif;font-size:.65rem}.history-panel{background:#0000002e;flex-direction:column;flex-shrink:0;gap:10px;width:240px;padding:10px 8px;display:flex;overflow-y:auto}.history-title{letter-spacing:.15em;color:var(--muted);text-transform:uppercase;text-align:center;border-bottom:1px solid var(--border);flex-shrink:0;padding-bottom:6px;font-family:Cinzel,serif;font-size:.82rem}.history-list{flex-direction:column;gap:12px;display:flex}.history-baza{border:1px solid var(--border);background:#ffffff08;border-radius:7px;flex-direction:column;gap:6px;padding:8px 6px;display:flex}.history-baza-header{letter-spacing:.08em;color:var(--muted);text-align:center;font-family:Cinzel,serif;font-size:.76rem;font-weight:600}.history-cards-row{flex-flow:row;justify-content:center;align-items:flex-start;gap:4px;display:flex}.history-winner{text-align:center;letter-spacing:.05em;font-family:Cinzel,serif;font-size:.82rem;font-weight:700}.bottom-zone{background:var(--panel2);border-top:1px solid var(--border);flex-direction:row;flex-shrink:0;display:flex;position:relative;overflow:visible}.hand-area{flex-direction:column;flex:1;gap:7px;min-width:0;padding:10px 12px 16px;display:flex;overflow:visible}.hand-row{justify-content:center;align-items:flex-end;gap:10px;display:flex}.hand-card-wrap{transform-origin:bottom;flex-shrink:0;transition:transform .22s cubic-bezier(.25,.46,.45,.94),filter .18s;position:relative}.hand-card-wrap.playable{cursor:pointer}.hand-card-wrap.playable:hover{filter:drop-shadow(0 0 18px #00c8fff2);z-index:10;transform:var(--hw-hover)!important}.envido-info{color:var(--muted);flex-wrap:wrap;justify-content:center;gap:18px;padding:2px 4px;font-family:Cinzel,serif;font-size:1rem;display:flex}.envido-stat{flex-direction:column;align-items:center;gap:2px;display:flex}.envido-stat-label{color:#ffffff59;letter-spacing:.08em;text-transform:uppercase;font-size:.72rem}.envido-stat-val{color:var(--gold);font-size:1.1rem;font-weight:700}.chant-panel{border-left:1px solid var(--border);flex-direction:column;flex-shrink:0;gap:6px;width:252px;padding:8px;display:flex;overflow-y:auto}.chant-turn{letter-spacing:.07em;color:var(--muted);text-transform:uppercase;text-align:center;border-bottom:1px solid var(--border);padding-bottom:5px;font-family:Cinzel,serif;font-size:.7rem;line-height:1.4}.chant-btns{flex-direction:column;gap:5px;display:flex}.chant-state{border:1px solid var(--border);background:#00000059;border-radius:6px;flex-direction:column;gap:3px;padding:6px 8px;font-family:Cinzel,serif;font-size:.7rem;line-height:1.5;display:flex}.chant-state-label{letter-spacing:.1em;text-transform:uppercase;color:#ffffff4d;font-size:.58rem}.chant-state-value{letter-spacing:.05em;font-size:.82rem;font-weight:700}.chant-state-pts{color:var(--gold);font-size:.7rem}.chant-state-responder{color:#fff6;font-size:.68rem;font-style:italic}.chant-sep{background:var(--border);height:1px;margin:2px 0}.act-btn{color:var(--text);cursor:pointer;letter-spacing:.04em;text-transform:uppercase;white-space:nowrap;text-align:center;background:#0000004d;border:1px solid #ffffff1a;border-radius:5px;width:100%;padding:6px 8px;font-family:Cinzel,serif;font-size:.76rem;transition:all .18s}.act-btn:hover{color:#fff;border-color:#ffffff4d}.act-btn.primary{color:var(--accent-a);background:#00a0ff14;border-color:#00a0ff80}.act-btn.primary:hover{background:#00a0ff33}.act-btn.danger{color:var(--accent-b);background:#cc113314;border-color:#cc113380}.act-btn.danger:hover{background:#c133}.act-btn.success{color:#4aaa28;background:#2a7a1a1a;border-color:#2a7a1a99}.act-btn.success:hover{background:#2a7a1a38}.act-btn.gold{color:var(--gold);background:#c8971e14;border-color:#c8971e99}.act-btn.gold:hover{background:#c8971e33}.act-btn:disabled{opacity:.3;cursor:default;pointer-events:none}.opp-indicator{pointer-events:none;flex-direction:column;align-items:center;gap:6px;display:flex;position:absolute;top:50%;left:18px;transform:translateY(-50%)}.opp-ind-stack{width:44px;height:68px;position:relative}.opp-ind-card{background:linear-gradient(135deg,#0d1a2e,#162240);border:1px solid #00a0ff33;border-radius:5px;justify-content:center;align-items:center;width:44px;height:68px;display:flex;position:absolute}.opp-ind-card:before{content:"";background:repeating-linear-gradient(45deg,#0000,#0000 3px,#0064c80f 3px 4px);border-radius:5px;position:absolute;inset:0}.opp-ind-q{color:#00b4ff4d;z-index:1;font-size:.9rem;position:relative}.opp-ind-name{color:#cc113380;letter-spacing:.1em;text-transform:uppercase;text-align:center;white-space:nowrap;font-family:Cinzel,serif;font-size:.68rem}.opp-ind-count{color:#fff3;letter-spacing:.05em;text-align:center;font-family:Cinzel,serif;font-size:.62rem}.opp-ind-mano{color:var(--gold);letter-spacing:.12em;text-align:center;opacity:.7;font-family:Cinzel,serif;font-size:.6rem}.modal-overlay{z-index:100;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#000000d1;justify-content:center;align-items:center;padding:20px;display:none;position:fixed;inset:0}.modal-overlay.open{display:flex}.modal-box{background:var(--panel);border:1px solid var(--border);border-radius:12px;flex-direction:column;gap:14px;width:100%;max-width:480px;max-height:90vh;padding:24px;display:flex;overflow-y:auto}.modal-title{letter-spacing:.15em;text-transform:uppercase;text-align:center;font-family:Cinzel,serif;font-size:1.08rem;font-weight:700}.modal-title.quantum{color:var(--accent-a)}.modal-title.envido{color:#4aaa28}.modal-title.truco{color:var(--gold)}.modal-title.flor{color:#c4f}.modal-body{color:var(--muted);text-align:center;font-size:.99rem;line-height:1.7}.modal-body strong{color:var(--text)}.modal-btns{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.modal-pts-display{text-align:center;color:var(--muted);background:#0003;border-radius:6px;padding:8px;font-family:Cinzel,serif;font-size:.97rem}.modal-pts-display .pts-big{color:var(--gold);font-size:1.3rem;font-weight:900}.log-sidebar{border-right:1px solid var(--border);background:#04060ef7;flex-direction:column;flex-shrink:0;width:240px;transition:width .22s,opacity .2s;display:flex;overflow:hidden}.log-sidebar.closed{opacity:0;pointer-events:none;width:0}.log-sidebar-header{border-bottom:1px solid var(--border);flex-shrink:0;justify-content:space-between;align-items:center;padding:5px 8px;display:flex}.log-sidebar-title{letter-spacing:.15em;color:#00a0ff73;text-transform:uppercase;font-family:Cinzel,serif;font-size:.62rem}.log-close-btn{color:var(--muted);cursor:pointer;background:0 0;border:none;padding:0 2px;font-size:.85rem;line-height:1;transition:color .15s}.log-close-btn:hover{color:var(--accent-b)}.log-entries{flex-direction:column;flex:1;gap:1px;min-height:0;padding:6px 8px;display:flex;overflow-y:auto}.log-entry{color:#ffffff59;word-break:break-word;border-bottom:1px solid #ffffff08;padding:2px 0;font-size:.72rem;line-height:1.45}.log-entry.important{color:var(--gold)}.log-entry.collapse{color:var(--accent-a)}.log-entry.points{color:#4aaa28}.baza-history{flex-wrap:wrap;justify-content:center;align-items:center;gap:6px;display:flex}.baza-pip{border:1px solid #fff3;border-radius:50%;width:10px;height:10px}.baza-pip.win0{background:var(--accent-a)}.baza-pip.win1{background:var(--accent-b)}.baza-pip.parda{background:var(--gold)}#screen-win{text-align:center;justify-content:center;align-items:center;gap:20px;padding:24px}.win-title{letter-spacing:.1em;background:linear-gradient(120deg, var(--gold), #fff, var(--gold));-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-family:Cinzel,serif;font-size:clamp(2rem,8vw,4rem);font-weight:900}.win-sub{color:var(--muted);font-size:1.03rem;font-style:italic}.win-score{color:var(--text);font-family:Cinzel,serif;font-size:1.2rem}.scoreboard{align-items:center;gap:4px;display:flex}.score-bar-wrap{background:#ffffff0d;border-radius:3px;width:60px;height:6px;overflow:hidden}.score-bar{border-radius:3px;height:100%;transition:width .4s}.score-bar.t0{background:var(--accent-a)}.score-bar.t1{background:var(--accent-b)}#screen-pass{text-align:center;justify-content:center;align-items:center;gap:18px;padding:24px}.pass-title{color:var(--accent-a);letter-spacing:.15em;font-family:Cinzel,serif;font-size:1.2rem;font-weight:700}.pass-sub{color:var(--muted);max-width:320px;font-size:.98rem;font-style:italic}@keyframes collapseReveal{0%{opacity:0;filter:brightness(2.5)hue-rotate(160deg)drop-shadow(0 0 20px #00c8ffe6);transform:scale(1.04)}25%{opacity:1;filter:brightness(1.4)drop-shadow(0 0 12px #00c8ffb3)}to{opacity:1;filter:brightness()drop-shadow(0 0 6px #00c8ff4d);transform:scale(1)}}@keyframes collapseFadeOut{0%{opacity:1;transform:scale(1)}60%{opacity:.6;filter:brightness(1.8)hue-rotate(90deg);transform:scale(.98)}to{opacity:0;filter:brightness(3)hue-rotate(180deg);transform:scale(.95)}}@keyframes cardSlideDown{0%{opacity:0;transform:scale(var(--ds,.72)) translateY(-80px) rotate(calc(var(--dr,0deg) * 2))}55%{opacity:1;transform:scale(var(--ds,.72)) translateY(8px) rotate(calc(var(--dr,0deg) * .3))}75%{transform:scale(var(--ds,.72)) translateY(-3px) rotate(calc(var(--dr,0deg) * .1))}88%{transform:scale(var(--ds,.72)) translateY(2px) rotate(0deg)}to{transform:scale(var(--ds,.72)) translateY(0) rotate(0deg)}}@keyframes shakePartner{0%,to{transform:translate(0)scale(1)}15%{transform:translate(-6px)scale(1.04)}35%{transform:translate(6px)scale(.97)}55%{transform:translate(-4px)scale(1.02)}75%{transform:translate(3px)scale(.99)}}@keyframes collapseGlow{0%{filter:drop-shadow(0 0 4px #00c8ff33)}30%{filter:drop-shadow(0 0 28px #00c8ff)drop-shadow(0 0 8px #fff9)}to{filter:drop-shadow(0 0 8px #00c8ff66)}}@keyframes quantumBurst{0%{opacity:1;transform:scale(1)}40%{opacity:.7;filter:hue-rotate(120deg)brightness(2);transform:scale(1.15)}to{opacity:1;filter:none;transform:scale(1)}}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.hand-card svg,.opp-card-back{animation:.3s fadeIn}@keyframes dealFly{0%{transform:translate(var(--deal-dx), var(--deal-dy)) scale(.45) rotate(var(--deal-rot));opacity:.9}60%{opacity:1}85%{transform:translate(calc(var(--deal-dx)*.04), calc(var(--deal-dy)*.04)) scale(1.05) rotate(calc(var(--deal-rot)*.1))}to{opacity:1;transform:translate(0)scale(1)rotate(0)}}@keyframes cardFlipReveal{0%{transform:scaleX(1)rotateY(0)}40%{filter:brightness(2.5)hue-rotate(120deg);transform:scaleX(0)rotateY(90deg)}41%{transform:scaleX(0)rotateY(90deg)}to{filter:brightness();transform:scaleX(1)rotateY(0)}}@keyframes mazoShake{0%,to{transform:translate(0)rotate(0)}15%{transform:translate(-4px)rotate(-2deg)}30%{transform:translate(5px)rotate(2.5deg)}45%{transform:translate(-4px)rotate(-1.5deg)}60%{transform:translate(4px)rotate(2deg)}75%{transform:translate(-3px)rotate(-1deg)}90%{transform:translate(2px)rotate(.5deg)}}@keyframes mazoGlow{0%,to{box-shadow:0 3px 14px #0009,0 0 18px #0082ff2e}50%{box-shadow:0 3px 20px #0009,0 0 35px #7850ffb3,0 0 8px #fff3}}@keyframes newHandLabel{0%{opacity:0;transform:translateY(-8px)scale(.9)}20%{opacity:1;transform:translateY(0)scale(1)}75%{opacity:1;transform:translateY(0)scale(1)}to{opacity:0;transform:translateY(6px)scale(.95)}}@keyframes handFanIn{0%{opacity:0;transform:scale(var(--card-scale,1)) translateY(40px) rotate(calc(var(--fan-rot,0deg) * 2))}60%{opacity:1;transform:scale(var(--card-scale,1)) translateY(-4px) rotate(calc(var(--fan-rot,0deg) * .8))}80%{transform:scale(var(--card-scale,1)) translateY(2px) rotate(calc(var(--fan-rot,0deg) * 1.05))}to{opacity:1;transform:scale(var(--card-scale,1)) translateY(0) rotate(var(--fan-rot,0deg))}}.deal-flying-card{pointer-events:none;z-index:500;color:#00a0ff99;background:linear-gradient(135deg,#0d1a2e,#1a2e50);border:1px solid #00a0ff80;border-radius:6px;justify-content:center;align-items:center;font-size:1.2rem;display:flex;position:fixed;box-shadow:0 4px 20px #000000b3,0 0 14px #508cff4d}.deal-flying-card:before{content:"";background:repeating-linear-gradient(45deg,#0000,#0000 3px,#0078ff12 3px 4px);border-radius:6px;position:absolute;inset:0}.new-hand-overlay{z-index:400;pointer-events:none;flex-direction:column;justify-content:center;align-items:center;gap:8px;display:flex;position:fixed;inset:0}.new-hand-label{letter-spacing:.2em;text-transform:uppercase;background:linear-gradient(135deg, var(--gold), #fff, var(--gold));-webkit-text-fill-color:transparent;filter:drop-shadow(0 0 20px #c8971e80);-webkit-background-clip:text;background-clip:text;font-family:Cinzel,serif;font-size:clamp(1.4rem,4vw,2.4rem);font-weight:900;animation:3.2s forwards newHandLabel}.new-hand-num{letter-spacing:.2em;color:#c8971e8c;text-transform:uppercase;font-family:Space Mono,monospace;font-size:.72rem;animation:3.2s .16s forwards newHandLabel}.mano-indicator{letter-spacing:.18em;color:#a855f7b3;text-transform:uppercase;margin-top:4px;font-family:Space Mono,monospace;font-size:.62rem;animation:3.2s .32s forwards newHandLabel}.hand-card-wrap.dealing{animation:handFanIn var(--deal-duration,.5s) cubic-bezier(.22,1,.36,1) var(--deal-delay,0s) both}.collapse-wrap{display:inline-block;position:relative}.collapse-wrap .layer-entangled{animation:.9s cubic-bezier(.4,0,.2,1) forwards collapseFadeOut;position:absolute;top:0;left:0}.collapse-wrap .layer-collapsed{animation:.9s cubic-bezier(.4,0,.2,1) forwards collapseReveal;display:block}.envido-overlay{z-index:300;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#000000eb;flex-direction:column;justify-content:center;align-items:center;gap:0;animation:.35s fadeIn;display:none;position:fixed;inset:0}.envido-overlay.open{display:flex}.envido-reveal-box{background:linear-gradient(160deg,#080c1a 0%,#0b1225 100%);border:1px solid #4aaa2859;border-radius:14px;flex-direction:column;gap:18px;width:100%;max-width:min(680px,96vw);padding:28px 32px 24px;display:flex;box-shadow:0 0 60px #4aaa281f,inset 0 1px #ffffff0a}.envido-reveal-title{letter-spacing:.22em;text-transform:uppercase;text-align:center;color:#4aaa28;text-shadow:0 0 20px #4aaa2880;font-family:Cinzel,serif;font-size:1.3rem;font-weight:900}.envido-reveal-subtitle{letter-spacing:.15em;color:#4aaa2880;text-align:center;text-transform:uppercase;margin-top:-12px;font-family:Space Mono,monospace;font-size:.62rem}.envido-teams-row{flex-wrap:wrap;justify-content:center;gap:20px;display:flex}.envido-team-block{background:#00000040;border:1px solid #ffffff0f;border-radius:10px;flex-direction:column;flex:1;align-items:center;gap:10px;min-width:220px;max-width:300px;padding:16px 14px;transition:border-color .3s;display:flex}.envido-team-block.winner{background:#2a7a1a14;border-color:#4aaa2880;box-shadow:0 0 24px #4aaa281a}.envido-team-name{letter-spacing:.12em;text-transform:uppercase;font-family:Cinzel,serif;font-size:.88rem;font-weight:700}.envido-team-name.t0{color:var(--accent-a)}.envido-team-name.t1{color:var(--accent-b)}.envido-team-score-big{color:var(--gold);font-family:Cinzel,serif;font-size:2.6rem;font-weight:900;line-height:1}.envido-team-block.winner .envido-team-score-big{color:#6adc44;text-shadow:0 0 20px #4aaa2899}.envido-winner-badge{letter-spacing:.18em;text-transform:uppercase;color:#4aaa28;background:#4aaa281f;border:1px solid #4aaa284d;border-radius:20px;padding:3px 10px;font-family:Space Mono,monospace;font-size:.62rem}.envido-cards-row{flex-wrap:nowrap;justify-content:center;align-items:flex-end;gap:6px;display:flex}.envido-card-wrap{position:relative}.envido-card-contrib{color:var(--gold);white-space:nowrap;font-family:Space Mono,monospace;font-size:.6rem;font-weight:700;position:absolute;bottom:-16px;left:50%;transform:translate(-50%)}.envido-card-contrib.zero{color:#fff3}.envido-pts-awarded{text-align:center;color:var(--muted);background:#0003;border-radius:8px;padding:10px;font-family:Cinzel,serif;font-size:1rem}.envido-pts-awarded strong{color:var(--gold);font-size:1.2rem}.envido-continue-btn{color:#4aaa28;letter-spacing:.18em;cursor:pointer;text-transform:uppercase;background:linear-gradient(135deg,#4aaa281f,#2a7a1a14);border:1px solid #4aaa2873;border-radius:6px;align-self:center;margin-top:4px;padding:11px 28px;font-family:Cinzel,serif;font-size:.85rem;font-weight:700;transition:all .2s}.envido-continue-btn:hover{background:#4aaa2838;box-shadow:0 0 18px #4aaa2840}.envido-card-wrap.contributes svg{filter:drop-shadow(0 0 8px #4aaa28cc)}.envido-card-wrap.notcontrib{opacity:.45}.truco-toast{color:var(--gold);text-align:center;z-index:200;pointer-events:none;text-shadow:0 0 20px #c8971ecc;opacity:0;background:linear-gradient(135deg,#c8971e26,#c8971e0d);border:2px solid #c8971e99;border-radius:12px;max-width:80vw;padding:18px 32px;font-family:Cinzel,serif;font-size:1.4rem;font-weight:700;transition:opacity .2s,transform .25s cubic-bezier(.34,1.56,.64,1);position:fixed;top:50%;left:50%;transform:translate(-50%,-50%)scale(.7);box-shadow:0 0 40px #c8971e4d}.truco-toast.show{opacity:1;transform:translate(-50%,-50%)scale(1)}.online-room-panel{background:#00000029;border:1px solid #00a0ff29;border-radius:6px;margin-bottom:8px;padding:10px 12px;display:none}.online-room-actions,.online-join-controls{justify-content:flex-end;align-items:center;gap:8px;width:100%;display:flex}.online-room-input{min-width:0;color:var(--text);letter-spacing:.06em;text-transform:uppercase;background:#ffffff0a;border:1px solid #00a0ff2e;border-radius:4px;flex:1;padding:8px 10px;font-family:Space Mono,monospace;font-size:.78rem}.online-room-input::placeholder{color:#f5f5fa73;text-transform:none}.online-room-btn{min-width:120px}.online-status{color:var(--muted);min-height:1.8em;margin-top:8px;font-size:.84rem;line-height:1.45}.online-status.ok{color:var(--accent-a)}.online-status.warn{color:var(--gold)}.online-status.err{color:var(--accent-b)}.online-header-status{text-align:right;min-width:150px;color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font-size:.7rem}.hidden-card-placeholder{background:linear-gradient(135deg,#ffffff08,#00a0ff0a);border:1px dashed #ffffff2e;border-radius:10px;width:132px;height:204px;box-shadow:inset 0 0 18px #00000038}
