:root,:host{--fa-font-solid: normal 900 1em/1 "Font Awesome 7 Free";--fa-font-regular: normal 400 1em/1 "Font Awesome 7 Free";--fa-font-light: normal 300 1em/1 "Font Awesome 7 Pro";--fa-font-thin: normal 100 1em/1 "Font Awesome 7 Pro";--fa-font-duotone: normal 900 1em/1 "Font Awesome 7 Duotone";--fa-font-duotone-regular: normal 400 1em/1 "Font Awesome 7 Duotone";--fa-font-duotone-light: normal 300 1em/1 "Font Awesome 7 Duotone";--fa-font-duotone-thin: normal 100 1em/1 "Font Awesome 7 Duotone";--fa-font-brands: normal 400 1em/1 "Font Awesome 7 Brands";--fa-font-sharp-solid: normal 900 1em/1 "Font Awesome 7 Sharp";--fa-font-sharp-regular: normal 400 1em/1 "Font Awesome 7 Sharp";--fa-font-sharp-light: normal 300 1em/1 "Font Awesome 7 Sharp";--fa-font-sharp-thin: normal 100 1em/1 "Font Awesome 7 Sharp";--fa-font-sharp-duotone-solid: normal 900 1em/1 "Font Awesome 7 Sharp Duotone";--fa-font-sharp-duotone-regular: normal 400 1em/1 "Font Awesome 7 Sharp Duotone";--fa-font-sharp-duotone-light: normal 300 1em/1 "Font Awesome 7 Sharp Duotone";--fa-font-sharp-duotone-thin: normal 100 1em/1 "Font Awesome 7 Sharp Duotone";--fa-font-slab-regular: normal 400 1em/1 "Font Awesome 7 Slab";--fa-font-slab-press-regular: normal 400 1em/1 "Font Awesome 7 Slab Press";--fa-font-whiteboard-semibold: normal 600 1em/1 "Font Awesome 7 Whiteboard";--fa-font-thumbprint-light: normal 300 1em/1 "Font Awesome 7 Thumbprint";--fa-font-notdog-solid: normal 900 1em/1 "Font Awesome 7 Notdog";--fa-font-notdog-duo-solid: normal 900 1em/1 "Font Awesome 7 Notdog Duo";--fa-font-etch-solid: normal 900 1em/1 "Font Awesome 7 Etch";--fa-font-graphite-thin: normal 100 1em/1 "Font Awesome 7 Graphite";--fa-font-jelly-regular: normal 400 1em/1 "Font Awesome 7 Jelly";--fa-font-jelly-fill-regular: normal 400 1em/1 "Font Awesome 7 Jelly Fill";--fa-font-jelly-duo-regular: normal 400 1em/1 "Font Awesome 7 Jelly Duo";--fa-font-chisel-regular: normal 400 1em/1 "Font Awesome 7 Chisel";--fa-font-utility-semibold: normal 600 1em/1 "Font Awesome 7 Utility";--fa-font-utility-duo-semibold: normal 600 1em/1 "Font Awesome 7 Utility Duo";--fa-font-utility-fill-semibold: normal 600 1em/1 "Font Awesome 7 Utility Fill"}.svg-inline--fa{box-sizing:content-box;display:var(--fa-display, inline-block);height:1em;overflow:visible;vertical-align:-.125em;width:var(--fa-width, 1.25em)}.svg-inline--fa.fa-2xs{vertical-align:.1em}.svg-inline--fa.fa-xs{vertical-align:0em}.svg-inline--fa.fa-sm{vertical-align:-.0714285714em}.svg-inline--fa.fa-lg{vertical-align:-.2em}.svg-inline--fa.fa-xl{vertical-align:-.25em}.svg-inline--fa.fa-2xl{vertical-align:-.3125em}.svg-inline--fa.fa-pull-left,.svg-inline--fa .fa-pull-start{float:inline-start;margin-inline-end:var(--fa-pull-margin, .3em)}.svg-inline--fa.fa-pull-right,.svg-inline--fa .fa-pull-end{float:inline-end;margin-inline-start:var(--fa-pull-margin, .3em)}.svg-inline--fa.fa-li{width:var(--fa-li-width, 2em);inset-inline-start:calc(-1 * var(--fa-li-width, 2em));inset-block-start:.25em}.fa-layers-counter,.fa-layers-text{display:inline-block;position:absolute;text-align:center}.fa-layers{display:inline-block;height:1em;position:relative;text-align:center;vertical-align:-.125em;width:var(--fa-width, 1.25em)}.fa-layers .svg-inline--fa{top:0;right:0;bottom:0;left:0;margin:auto;position:absolute;transform-origin:center center}.fa-layers-text{left:50%;top:50%;transform:translate(-50%,-50%);transform-origin:center center}.fa-layers-counter{background-color:var(--fa-counter-background-color, #ff253a);border-radius:var(--fa-counter-border-radius, 1em);box-sizing:border-box;color:var(--fa-inverse, #fff);line-height:var(--fa-counter-line-height, 1);max-width:var(--fa-counter-max-width, 5em);min-width:var(--fa-counter-min-width, 1.5em);overflow:hidden;padding:var(--fa-counter-padding, .25em .5em);right:var(--fa-right, 0);text-overflow:ellipsis;top:var(--fa-top, 0);transform:scale(var(--fa-counter-scale, .25));transform-origin:top right}.fa-layers-bottom-right{bottom:var(--fa-bottom, 0);right:var(--fa-right, 0);top:auto;transform:scale(var(--fa-layers-scale, .25));transform-origin:bottom right}.fa-layers-bottom-left{bottom:var(--fa-bottom, 0);left:var(--fa-left, 0);right:auto;top:auto;transform:scale(var(--fa-layers-scale, .25));transform-origin:bottom left}.fa-layers-top-right{top:var(--fa-top, 0);right:var(--fa-right, 0);transform:scale(var(--fa-layers-scale, .25));transform-origin:top right}.fa-layers-top-left{left:var(--fa-left, 0);right:auto;top:var(--fa-top, 0);transform:scale(var(--fa-layers-scale, .25));transform-origin:top left}.fa-1x{font-size:1em}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-6x{font-size:6em}.fa-7x{font-size:7em}.fa-8x{font-size:8em}.fa-9x{font-size:9em}.fa-10x{font-size:10em}.fa-2xs{font-size:.625em;line-height:.1em;vertical-align:calc((6 / 10 - .375) * 1em)}.fa-xs{font-size:.75em;line-height:calc(1 / 12 * 1em);vertical-align:.125em}.fa-sm{font-size:.875em;line-height:calc(1 / 14 * 1em);vertical-align:calc((6 / 14 - .375) * 1em)}.fa-lg{font-size:1.25em;line-height:.05em;vertical-align:calc((6 / 20 - .375) * 1em)}.fa-xl{font-size:1.5em;line-height:calc(1 / 24 * 1em);vertical-align:-.125em}.fa-2xl{font-size:2em;line-height:.03125em;vertical-align:-.1875em}.fa-width-auto{--fa-width: auto}.fa-fw,.fa-width-fixed{--fa-width: 1.25em}.fa-ul{list-style-type:none;margin-inline-start:var(--fa-li-margin, 2.5em);padding-inline-start:0}.fa-ul>li{position:relative}.fa-li{inset-inline-start:calc(-1 * var(--fa-li-width, 2em));position:absolute;text-align:center;width:var(--fa-li-width, 2em);line-height:inherit}.fa-border{border-color:var(--fa-border-color, #eee);border-radius:var(--fa-border-radius, .1em);border-style:var(--fa-border-style, solid);border-width:var(--fa-border-width, .0625em);box-sizing:var(--fa-border-box-sizing, content-box);padding:var(--fa-border-padding, .1875em .25em)}.fa-pull-left,.fa-pull-start{float:inline-start;margin-inline-end:var(--fa-pull-margin, .3em)}.fa-pull-right,.fa-pull-end{float:inline-end;margin-inline-start:var(--fa-pull-margin, .3em)}.fa-beat{animation-name:fa-beat;animation-delay:var(--fa-animation-delay, 0s);animation-direction:var(--fa-animation-direction, normal);animation-duration:var(--fa-animation-duration, 1s);animation-iteration-count:var(--fa-animation-iteration-count, infinite);animation-timing-function:var(--fa-animation-timing, ease-in-out)}.fa-bounce{animation-name:fa-bounce;animation-delay:var(--fa-animation-delay, 0s);animation-direction:var(--fa-animation-direction, normal);animation-duration:var(--fa-animation-duration, 1s);animation-iteration-count:var(--fa-animation-iteration-count, infinite);animation-timing-function:var(--fa-animation-timing, cubic-bezier(.28, .84, .42, 1))}.fa-fade{animation-name:fa-fade;animation-delay:var(--fa-animation-delay, 0s);animation-direction:var(--fa-animation-direction, normal);animation-duration:var(--fa-animation-duration, 1s);animation-iteration-count:var(--fa-animation-iteration-count, infinite);animation-timing-function:var(--fa-animation-timing, cubic-bezier(.4, 0, .6, 1))}.fa-beat-fade{animation-name:fa-beat-fade;animation-delay:var(--fa-animation-delay, 0s);animation-direction:var(--fa-animation-direction, normal);animation-duration:var(--fa-animation-duration, 1s);animation-iteration-count:var(--fa-animation-iteration-count, infinite);animation-timing-function:var(--fa-animation-timing, cubic-bezier(.4, 0, .6, 1))}.fa-flip{animation-name:fa-flip;animation-delay:var(--fa-animation-delay, 0s);animation-direction:var(--fa-animation-direction, normal);animation-duration:var(--fa-animation-duration, 1s);animation-iteration-count:var(--fa-animation-iteration-count, infinite);animation-timing-function:var(--fa-animation-timing, ease-in-out)}.fa-shake{animation-name:fa-shake;animation-delay:var(--fa-animation-delay, 0s);animation-direction:var(--fa-animation-direction, normal);animation-duration:var(--fa-animation-duration, 1s);animation-iteration-count:var(--fa-animation-iteration-count, infinite);animation-timing-function:var(--fa-animation-timing, linear)}.fa-spin{animation-name:fa-spin;animation-delay:var(--fa-animation-delay, 0s);animation-direction:var(--fa-animation-direction, normal);animation-duration:var(--fa-animation-duration, 2s);animation-iteration-count:var(--fa-animation-iteration-count, infinite);animation-timing-function:var(--fa-animation-timing, linear)}.fa-spin-reverse{--fa-animation-direction: reverse}.fa-pulse,.fa-spin-pulse{animation-name:fa-spin;animation-direction:var(--fa-animation-direction, normal);animation-duration:var(--fa-animation-duration, 1s);animation-iteration-count:var(--fa-animation-iteration-count, infinite);animation-timing-function:var(--fa-animation-timing, steps(8))}@media (prefers-reduced-motion: reduce){.fa-beat,.fa-bounce,.fa-fade,.fa-beat-fade,.fa-flip,.fa-pulse,.fa-shake,.fa-spin,.fa-spin-pulse{animation:none!important;transition:none!important}}@keyframes fa-beat{0%,90%{transform:scale(1)}45%{transform:scale(var(--fa-beat-scale, 1.25))}}@keyframes fa-bounce{0%{transform:scale(1) translateY(0)}10%{transform:scale(var(--fa-bounce-start-scale-x, 1.1),var(--fa-bounce-start-scale-y, .9)) translateY(0)}30%{transform:scale(var(--fa-bounce-jump-scale-x, .9),var(--fa-bounce-jump-scale-y, 1.1)) translateY(var(--fa-bounce-height, -.5em))}50%{transform:scale(var(--fa-bounce-land-scale-x, 1.05),var(--fa-bounce-land-scale-y, .95)) translateY(0)}57%{transform:scale(1) translateY(var(--fa-bounce-rebound, -.125em))}64%{transform:scale(1) translateY(0)}to{transform:scale(1) translateY(0)}}@keyframes fa-fade{50%{opacity:var(--fa-fade-opacity, .4)}}@keyframes fa-beat-fade{0%,to{opacity:var(--fa-beat-fade-opacity, .4);transform:scale(1)}50%{opacity:1;transform:scale(var(--fa-beat-fade-scale, 1.125))}}@keyframes fa-flip{50%{transform:rotate3d(var(--fa-flip-x, 0),var(--fa-flip-y, 1),var(--fa-flip-z, 0),var(--fa-flip-angle, -180deg))}}@keyframes fa-shake{0%{transform:rotate(-15deg)}4%{transform:rotate(15deg)}8%,24%{transform:rotate(-18deg)}12%,28%{transform:rotate(18deg)}16%{transform:rotate(-22deg)}20%{transform:rotate(22deg)}32%{transform:rotate(-12deg)}36%{transform:rotate(12deg)}40%,to{transform:rotate(0)}}@keyframes fa-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.fa-rotate-90{transform:rotate(90deg)}.fa-rotate-180{transform:rotate(180deg)}.fa-rotate-270{transform:rotate(270deg)}.fa-flip-horizontal{transform:scaleX(-1)}.fa-flip-vertical{transform:scaleY(-1)}.fa-flip-both,.fa-flip-horizontal.fa-flip-vertical{transform:scale(-1)}.fa-rotate-by{transform:rotate(var(--fa-rotate-angle, 0))}.svg-inline--fa .fa-primary{fill:var(--fa-primary-color, currentColor);opacity:var(--fa-primary-opacity, 1)}.svg-inline--fa .fa-secondary{fill:var(--fa-secondary-color, currentColor);opacity:var(--fa-secondary-opacity, .4)}.svg-inline--fa.fa-swap-opacity .fa-primary{opacity:var(--fa-secondary-opacity, .4)}.svg-inline--fa.fa-swap-opacity .fa-secondary{opacity:var(--fa-primary-opacity, 1)}.svg-inline--fa mask .fa-primary,.svg-inline--fa mask .fa-secondary{fill:#000}.svg-inline--fa.fa-inverse{fill:var(--fa-inverse, #fff)}.fa-stack{display:inline-block;height:2em;line-height:2em;position:relative;vertical-align:middle;width:2.5em}.fa-inverse{color:var(--fa-inverse, #fff)}.svg-inline--fa.fa-stack-1x{--fa-width: 1.25em;height:1em;width:var(--fa-width)}.svg-inline--fa.fa-stack-2x{--fa-width: 2.5em;height:2em;width:var(--fa-width)}.fa-stack-1x,.fa-stack-2x{top:0;right:0;bottom:0;left:0;margin:auto;position:absolute;z-index:var(--fa-stack-z-index, auto)}:root{--radius: 12px;--card-ar: 1.534;--card-w: clamp(58px, 15vw, 78px);--card-h: calc(var(--card-w) * var(--card-ar));--card-sm-w: clamp(55px, 14.4vw, 67px);--card-sm-h: calc(var(--card-sm-w) * var(--card-ar));--bg: #0f1720;--bg-glow: #15303a;--panel: #18222e;--panel-2: #1f2c3a;--inset: #0e1620;--ink: #e7eef5;--muted: #8aa0b3;--accent: #f2b53b;--primary: #2f9e6b;--primary-d: #25805700;--warn: #c4623a;--line: #2a3a4a;--team0: #4aa3df;--team1: #e0723f;--oros: #e0a526;--copas: #d23f3f;--espadas: #4a78c0;--bastos: #2e9e5b}[data-theme=dia]{--bg: #e9eef3;--bg-glow: #d7e3ef;--panel: #ffffff;--panel-2: #eef3f8;--inset: #f4f7fa;--ink: #1a2430;--muted: #5b6b7a;--accent: #c2870f;--primary: #2f9e6b;--warn: #c4623a;--line: #d2dde6;--team0: #2f7fc0;--team1: #cf5f2c;--oros: #b9851a;--copas: #c23636;--espadas: #3a66ad;--bastos: #2a8a52}[data-theme=tapete]{--bg: #0a2018;--bg-glow: #14503a;--panel: #103025;--panel-2: #16402f;--inset: #0a2419;--ink: #eaf5ee;--muted: #8fb6a2;--accent: #e8c14a;--primary: #2bbd7e;--warn: #c4623a;--line: #1d4a37;--team0: #4aa3df;--team1: #e0723f;--oros: #e0a526;--copas: #d23f3f;--espadas: #6f9be0;--bastos: #43c277}[data-theme=oceano]{--bg: #08141f;--bg-glow: #103a55;--panel: #102433;--panel-2: #163243;--inset: #0a1925;--ink: #e6f1f8;--muted: #8aa7bd;--accent: #4fd1c5;--primary: #2f9ed8;--warn: #e08a3c;--line: #1d3a4e;--team0: #4fc3e8;--team1: #e0844f;--oros: #e0b13a;--copas: #e25c5c;--espadas: #5aa0e6;--bastos: #43c2a0}[data-theme=vino]{--bg: #1a0e14;--bg-glow: #4a1830;--panel: #271320;--panel-2: #341a2a;--inset: #190b12;--ink: #f5e8ee;--muted: #c19aac;--accent: #e0a85a;--primary: #b5446a;--warn: #d06a4a;--line: #3e2030;--team0: #c97ba8;--team1: #e0954f;--oros: #e0b13a;--copas: #e2566e;--espadas: #b888c8;--bastos: #c79a5c}[data-theme=bosque]{--bg: #0f160e;--bg-glow: #28401f;--panel: #18221a;--panel-2: #1f2c20;--inset: #0d140c;--ink: #e9f0e4;--muted: #9bb091;--accent: #cda84a;--primary: #5a9e4a;--warn: #c4783a;--line: #2a3a26;--team0: #6fae6a;--team1: #c4823a;--oros: #d9a838;--copas: #cf5246;--espadas: #6f9be0;--bastos: #5fae5a}[data-theme=sepia]{--bg: #efe6d4;--bg-glow: #e2d2b3;--panel: #fbf5e9;--panel-2: #f1e7d4;--inset: #f6efdf;--ink: #3a2e1e;--muted: #8a7a5e;--accent: #b5762a;--primary: #5a8a4a;--warn: #b85a35;--line: #d8c8a8;--team0: #3a72a8;--team1: #b5683a;--oros: #a8791a;--copas: #b53636;--espadas: #3a5fa0;--bastos: #3a8a52}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;background:var(--bg);color:var(--ink);-webkit-tap-highlight-color:transparent}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;z-index:-1;pointer-events:none;background:radial-gradient(1200px 800px at 50% -10%,var(--bg-glow),var(--bg))}button{font:inherit;cursor:pointer;border:1px solid var(--line);background:var(--panel-2);color:var(--ink);padding:8px 14px;border-radius:10px;transition:transform .05s ease,filter .15s ease;touch-action:manipulation}button:hover{filter:brightness(1.12)}button:active{transform:translateY(1px)}button:disabled{opacity:.45;cursor:not-allowed}button.primary{background:var(--primary);border-color:#2bbd7e;color:#06140d;font-weight:700}button.warn{background:var(--warn);border-color:#d8794f;color:#1c0d06}button.accent{background:var(--accent);border-color:#ffcf6a;color:#1c1405;font-weight:700}button.ghost{background:transparent}input,select{font:inherit;background:var(--inset);color:var(--ink);border:1px solid var(--line);border-radius:10px;padding:9px 11px}input:focus{outline:2px solid var(--accent)}.muted{color:var(--muted)}.row{display:flex;gap:8px;flex-wrap:wrap}.app{min-height:100%;display:flex;flex-direction:column}.appbar{display:flex;justify-content:space-between;align-items:center;padding:10px 18px;border-bottom:1px solid var(--line);background:#00000040}.appbar-right{display:flex;align-items:center;gap:12px}.brand-sm{font-weight:800;letter-spacing:.5px}.party-badge{display:inline-flex;align-items:center;gap:2px;background:#f2b53b29;border:1px solid var(--accent);border-radius:999px;padding:2px 4px 2px 10px;color:var(--accent);max-width:46vw}.party-badge.searching{animation:pulse-border 1.4s ease-in-out infinite}.party-badge-main{display:inline-flex;align-items:center;gap:6px;background:transparent;border:none;color:inherit;font-weight:700;font-size:.82rem;padding:2px;min-width:0;cursor:pointer}.party-badge-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.party-badge-leave{display:inline-flex;background:transparent;border:none;color:var(--accent);border-radius:50%;width:22px;height:22px;align-items:center;justify-content:center;cursor:pointer}.party-badge-leave:hover{background:#f2b53b38}@keyframes pulse-border{0%,to{box-shadow:0 0 #f2b53b80}50%{box-shadow:0 0 0 4px #f2b53b00}}.friends-party{border:1px solid var(--accent);margin-bottom:12px}.friends-party-head{display:flex;align-items:center;justify-content:space-between;gap:8px;font-weight:700}.friends-party-members{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin-top:8px}.brand-sm span,.brand span{color:var(--accent)}main{flex:1;padding:18px;max-width:1200px;width:100%;margin:0 auto}.panel{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:16px;margin-bottom:16px}.panel h3{margin:0 0 12px;font-size:1rem;color:var(--accent)}.auth-screen{min-height:100vh;display:grid;place-items:center;padding:20px}.auth-card{background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:28px;width:min(420px,100%)}.brand{margin:0 0 4px;font-size:2rem}.tabs{display:flex;gap:6px;margin:18px 0}.tabs button{flex:1}.tabs button.active{background:var(--primary);color:#06140d;border-color:#2bbd7e}.auth-card form{display:flex;flex-direction:column;gap:6px}.auth-card label{font-size:.82rem;color:var(--muted);margin-top:8px}.auth-card button.primary{margin-top:16px;padding:11px}.lobby{display:grid;grid-template-columns:1fr 280px;gap:16px}.cta-grid{display:grid;gap:14px}.cta{background:var(--panel-2);border:1px solid var(--line);border-radius:10px;padding:14px}.cta h4{margin:0 0 6px}.cta p{margin:0 0 10px;font-size:.85rem}.big{font-size:1.3rem;font-weight:700;margin:4px 0 12px}.stats{list-style:none;padding:0;margin:0}.stats li{display:flex;justify-content:space-between;padding:6px 0;border-bottom:1px dashed var(--line)}.lb{width:100%;border-collapse:collapse;font-size:.9rem}.lb th,.lb td{text-align:left;padding:6px 8px;border-bottom:1px solid var(--line)}.lb tr.me{background:#f2b53b1f}.lb.deep th,.lb.deep td{padding:7px 8px}.home-hero{grid-column:1 / -1;background:linear-gradient(135deg,var(--panel-2),var(--panel));border:1px solid var(--line);border-radius:var(--radius);padding:16px 18px;display:flex;flex-direction:column;gap:12px}.hero-id{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.hero-alias{font-size:1.5rem;font-weight:800}.league-badge{font-size:.78rem;font-weight:700;padding:3px 12px;border-radius:20px;border:1px solid var(--line);background:var(--inset)}.lg-bronce{color:#cd7f4b;border-color:#cd7f4b66}.lg-plata{color:#c7d2da;border-color:#c7d2da66}.lg-oro{color:var(--accent);border-color:var(--accent)}.lg-diamante{color:#5bd2e6;border-color:#5bd2e666}.lg-maestro{color:#d36bff;border-color:#d36bff66}.season-chip{font-size:.78rem;font-weight:700;padding:3px 12px;border-radius:20px;border:1px solid var(--accent);color:var(--accent);background:#f2b53b1a}.hero-figures{display:flex;flex-wrap:wrap;gap:10px}.hero-fig{flex:1 1 90px;background:var(--inset);border:1px solid var(--line);border-radius:10px;padding:10px 12px;display:flex;flex-direction:column;gap:2px}.hero-fig.accent{border-color:var(--accent)}.hero-fig-label{font-size:.72rem;color:var(--muted)}.hero-fig-value{font-size:1.5rem;font-weight:800}.hero-rank-link{align-self:flex-start}.rank-preview-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.rank-preview-head h3{margin:0;color:var(--accent)}.segmented{display:inline-flex;border:1px solid var(--line);border-radius:10px;overflow:hidden}.segmented button{border:none;border-radius:0;background:var(--panel-2);padding:9px 16px}.segmented button.active{background:var(--primary);color:#06140d;font-weight:700}.mode-panel h3{margin:0 0 10px}.mode-panel p{margin:8px 0 0;font-size:.82rem}.rankings-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.rankings-head h2{margin:0}.rankings-tabs{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:14px;border-bottom:1px solid var(--line)}.rankings-tabs button{border:none;border-bottom:2px solid transparent;border-radius:0;background:transparent;padding:8px 14px}.rankings-tabs button.active{color:var(--accent);border-bottom-color:var(--accent)}.my-rank{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.my-rank-value{font-size:2rem;font-weight:800;color:var(--accent)}.season-note{margin:0 0 12px}.rankings-table-wrap{overflow-x:auto}.room{display:grid;grid-template-columns:1fr 300px;gap:16px;align-items:start}.room-head{display:flex;justify-content:space-between;align-items:center}.code-chip{font-size:1.6rem;font-weight:800;letter-spacing:4px;background:var(--inset);padding:8px 16px;border-radius:10px;border:1px solid var(--accent);color:var(--accent)}.seat-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:16px 0}.seat{border:1px solid var(--line);border-radius:10px;padding:12px;background:var(--panel-2);min-height:96px}.seat.team-0{border-left:4px solid var(--team0)}.seat.team-1{border-left:4px solid var(--team1)}.seat.me{box-shadow:0 0 0 2px var(--accent) inset}.seat-label{font-size:.78rem;color:var(--muted);margin-bottom:8px}.seat-occupant{display:flex;flex-direction:column;gap:6px}.who{font-weight:600}.badge{display:inline-block;font-size:.72rem;padding:2px 8px;border-radius:20px;width:fit-content}.badge.ok{background:#2f9e6b40;color:#74e0aa}.badge.wait{background:#c4623a40;color:#f0a983}.room-actions{display:flex;gap:10px;flex-wrap:wrap}main.view-game{padding:0;max-width:none;height:100dvh;overflow:hidden}.game{height:100%;width:100%;max-width:720px;margin:0 auto;display:flex;flex-direction:column;gap:8px;padding:8px}.topbar{flex:0 0 auto;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:8px;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:8px 12px}.scoreboard{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.scoreboard .team-0 b{color:var(--team0)}.scoreboard .team-1 b{color:var(--team1)}.vs{color:var(--muted)}.goal{color:var(--muted);font-size:.85rem}.round-info{display:flex;gap:10px;align-items:center;flex-wrap:wrap;font-size:.82rem;color:var(--muted)}.round-info .trump{font-weight:700}.round-info .trump.oros{color:var(--oros)}.round-info .trump.copas{color:var(--copas)}.round-info .trump.espadas{color:var(--espadas)}.round-info .trump.bastos{color:var(--bastos)}.contract{background:#f2b53b26;padding:2px 10px;border-radius:20px;color:var(--accent)}.table{position:relative;flex:1 1 auto;min-height:0;background:radial-gradient(700px 420px at 50% 30%,#1d6b4e,#124032);border:1px solid #0c2c22;border-radius:18px;padding:10px;display:flex;flex-direction:column;gap:8px;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}.seat-top{flex:0 0 auto;display:flex;justify-content:center}.seat-top .pseat{width:clamp(150px,34vw,240px)}.table-mid{flex:1 1 auto;min-height:0;display:flex;align-items:stretch;gap:8px}.seat-left,.seat-right{flex:0 0 auto;width:clamp(86px,22vw,150px);display:flex;align-items:center}.seat-left .pseat,.seat-right .pseat{width:100%}.pseat{position:relative;min-width:0;background:#08121880;border:1px solid var(--line);border-radius:10px;padding:7px 9px}.pseat.turn{box-shadow:0 0 0 2px var(--accent)}.pseat.withdrawn{opacity:.5}.pseat-name{font-weight:600;font-size:.78rem;margin-bottom:5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pseat-name .bot-icon{margin-right:4px;color:var(--muted)}.pseat-cards{display:flex;gap:3px;min-height:0;align-items:center;flex-wrap:wrap}.hand-backs{display:none}.hand-count{display:inline;font-weight:700;color:#cfe8dd;font-size:.92rem}.pseat-meta{font-size:.7rem;color:var(--muted);margin-top:4px}.pseat.team-0{border-top:3px solid var(--team0)}.pseat.team-1{border-top:3px solid var(--team1)}.trick{flex:1 1 auto;min-height:0;min-width:0;position:relative;display:flex;align-items:center;justify-content:center}.trick-card{position:absolute;display:flex;flex-direction:column;align-items:center;transition:opacity .25s ease,filter .25s ease}.trick-card.side-0{bottom:2%;left:50%;transform:translate(-50%)}.trick-card.side-2{top:2%;left:50%;transform:translate(-50%)}.trick-card.side-1{left:2%;top:50%;transform:translateY(-50%)}.trick-card.side-3{right:2%;top:50%;transform:translateY(-50%)}.trick-card .card{animation:trick-drop .22s ease-out;transition:transform .25s ease,box-shadow .25s ease}@keyframes trick-drop{0%{transform:translateY(-14px);opacity:0}to{transform:translateY(0);opacity:1}}.trick.resolving .trick-card.winner{z-index:2}.trick.resolving .trick-card.winner .card{transform:scale(1.14);box-shadow:0 0 0 3px var(--accent),0 8px 20px #00000080;animation:trick-win .6s ease-in-out}.trick.resolving .trick-card.faded{opacity:.45;filter:saturate(.6)}@keyframes trick-win{0%,to{transform:scale(1)}50%{transform:scale(1.06)}}.trick-winner-tag{position:absolute;top:-22px;left:50%;transform:translate(-50%);white-space:nowrap;font-size:.74rem;font-weight:700;padding:3px 10px;border-radius:20px;background:var(--panel);border:1px solid var(--accent);color:var(--accent);animation:tag-in .25s ease-out}.trick-winner-tag.team-0{border-color:var(--team0);color:var(--team0)}.trick-winner-tag.team-1{border-color:var(--team1);color:var(--team1)}@keyframes tag-in{0%{opacity:0;transform:translate(-50%,6px)}to{opacity:1;transform:translate(-50%)}}.me-area{flex:0 0 auto;display:flex;flex-direction:column;gap:8px;align-items:center}.hand{display:flex;flex-wrap:nowrap;justify-content:center;gap:0;padding-top:14px}.hand .card{margin-left:calc(var(--card-h) * .4 - var(--card-w));transition:transform .12s ease}.hand .card:first-child{margin-left:0}.action-bar{display:flex;gap:10px;flex-wrap:wrap;justify-content:center;min-height:44px;align-items:center}.action-bar .label{color:#d7ece3;margin-right:4px}.bids,.cantes{display:flex;gap:8px;align-items:center;flex-wrap:wrap;justify-content:center}.action-bar button{min-height:44px}.waiting{font-style:italic}.turn-timer{width:min(220px,70vw);height:6px;background:#0006;border-radius:4px;overflow:hidden}.turn-timer-fill{height:100%;background:linear-gradient(90deg,var(--accent),var(--warn));transition:width .2s linear}.drawer-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;z-index:29}.game-side{position:fixed;left:50%;transform:translate(-50%,110%);bottom:0;z-index:30;width:min(720px,100%);display:flex;flex-direction:column;gap:10px;background:var(--panel);border:1px solid var(--line);border-radius:16px 16px 0 0;padding:14px;padding-bottom:calc(14px + env(safe-area-inset-bottom));max-height:72dvh;overflow-y:auto;transition:transform .22s ease}.game.chat-open .game-side{transform:translate(-50%)}.drawer-head{display:flex;justify-content:space-between;align-items:center}.feed-log,.chat-log{max-height:180px;overflow-y:auto;display:flex;flex-direction:column;gap:4px;font-size:.82rem}.feed-line{color:var(--muted)}.chat{display:flex;flex-direction:column}.chat form{display:flex;gap:6px;margin-top:8px}.chat form input{flex:1}.chat-line.mine{color:var(--accent)}.card{position:relative;width:var(--card-w);height:var(--card-h);background:#fbfbf5;color:#1a1a1a;border-radius:8px;border:1px solid #cfcfc4;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:0;gap:2px;box-shadow:0 2px 6px #00000059;user-select:none;-webkit-user-select:none;flex:0 0 auto}.card.card-sm{width:var(--card-sm-w);height:var(--card-sm-h)}.card.has-art{background:transparent;border:none}.card .card-img{width:100%;height:100%;object-fit:cover;border-radius:inherit;display:block;pointer-events:none}.card .card-suit{font-size:1.5rem;line-height:1}.card.card-sm .card-suit{font-size:1.1rem}.card .card-rank{font-size:.72rem;font-weight:700}.card.card-sm .card-rank{font-size:.62rem}.card .card-corner{position:absolute;font-size:.62rem;font-weight:700;opacity:.8}.card .card-corner.tl{top:3px;left:5px}.card .card-corner.br{bottom:3px;right:5px;transform:rotate(180deg)}.card.oros{color:var(--oros)}.card.copas{color:var(--copas)}.card.espadas{color:var(--espadas)}.card.bastos{color:var(--bastos)}.card.trump{box-shadow:0 0 0 2px var(--accent),0 2px 6px #0006}.card.selectable.legal{cursor:pointer}.card.selectable.legal:hover{transform:translateY(-8px)}.card.legal{outline:2px solid #2bbd7e}.card.dimmed{opacity:.5;filter:grayscale(.3)}.admin-head{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:14px}.admin-head h2{margin:0}.admin-head p{margin:4px 0 0;font-size:.85rem}.admin-tabs{display:flex;gap:6px;margin-bottom:16px;border-bottom:1px solid var(--line)}.admin-tabs button{border:none;border-bottom:2px solid transparent;border-radius:0;background:transparent;padding:8px 14px}.admin-tabs button.active{color:var(--accent);border-bottom-color:var(--accent)}.stat-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:12px;margin-bottom:16px}.stat-card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:14px;display:flex;flex-direction:column;gap:2px}.stat-label{font-size:.78rem;color:var(--muted)}.stat-value{font-size:1.8rem;font-weight:800;color:var(--ink)}.stat-hint{font-size:.75rem;color:var(--muted)}.admin-cols{display:grid;grid-template-columns:1fr 1fr;gap:16px;align-items:start}.bars{list-style:none;padding:0;margin:0}.bars li{display:flex;justify-content:space-between;padding:6px 0;border-bottom:1px dashed var(--line)}.admin-users{width:100%;border-collapse:collapse;font-size:.88rem}.admin-users th,.admin-users td{text-align:left;padding:7px 8px;border-bottom:1px solid var(--line);vertical-align:middle}.admin-users select{padding:4px 8px}.admin-actions{display:flex;gap:4px;flex-wrap:wrap}.admin-actions button{padding:4px 9px;font-size:.8rem}.admin-pager{display:flex;align-items:center;justify-content:space-between;margin-top:12px}.admin-users-wrap{display:flex;flex-direction:column;gap:12px}.admin-search{gap:8px}.admin-user-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:10px}.admin-user-card{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:12px;display:flex;flex-direction:column;gap:8px}.admin-user-card.banned{border-color:var(--warn)}.auc-head{display:flex;align-items:center;flex-wrap:wrap;gap:4px}.auc-alias{font-weight:800;font-size:1rem;margin-right:2px;word-break:break-word}.auc-head .tag{margin-left:0}.tag.role-admin{background:#f2b53b38;color:var(--accent);border-color:transparent}.tag.role-moderator{background:#6ea8ff33;color:#9cc4ff;border-color:transparent}.auc-email{font-size:.8rem;word-break:break-all;margin-top:-4px}.auc-stats{display:flex;flex-wrap:wrap;gap:6px}.auc-chip{font-size:.74rem;background:var(--inset);border:1px solid var(--line);border-radius:8px;padding:2px 8px}.auc-ip{display:flex;flex-direction:column;gap:2px;font-size:.74rem;background:var(--inset);border:1px dashed var(--line);border-radius:8px;padding:6px 8px}.auc-ip b{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-weight:700}.auc-actions{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin-top:2px}.auc-actions .auc-role{padding:5px 8px;border-radius:8px}.auc-actions button{padding:6px 12px}.admin-controls{display:flex;flex-wrap:wrap;gap:12px}.admin-controls label{display:flex;flex-direction:column;gap:3px;font-size:.74rem;color:var(--muted)}.admin-controls select{padding:6px 8px;border-radius:8px}.row-menu{position:relative}.row-menu>summary{list-style:none;cursor:pointer;display:inline-flex;align-items:center}.row-menu>summary::-webkit-details-marker{display:none}.row-menu-pop{position:absolute;right:0;top:calc(100% + 4px);z-index:5;display:flex;flex-direction:column;min-width:130px;background:var(--panel);border:1px solid var(--line);border-radius:10px;box-shadow:0 10px 24px #0006;padding:5px;gap:2px}.row-menu-pop button{width:100%;text-align:left;background:transparent;border:none;border-radius:7px;padding:8px 10px}.row-menu-pop button:hover{background:var(--inset)}.row-menu-pop button.danger{color:var(--warn)}.insights-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}.insight-block h4{margin:0 0 8px}.insight-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}.insight-list li{display:flex;align-items:center;gap:8px;padding:6px 8px;background:var(--panel-2);border-radius:8px;font-size:.82rem}.top-players .ins-pos{font-weight:800;color:var(--accent);min-width:18px;text-align:center}.ins-name{font-weight:600;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ins-figs{display:flex;gap:8px;font-size:.74rem;color:var(--muted);flex:none}.ins-figs b{color:var(--ink)}.recent-list li{flex-wrap:wrap}.ins-meta{font-size:.72rem;width:100%}.ins-ip{font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.tag{display:inline-block;font-size:.68rem;padding:1px 7px;margin-left:6px;border-radius:20px;background:var(--panel-2);color:var(--muted);border:1px solid var(--line)}.tag-on{background:#2f9e6b40;color:#74e0aa;border-color:transparent}.season-form{display:flex;flex-direction:column;gap:12px}.season-form label{display:flex;flex-direction:column;gap:6px;font-size:.85rem;color:var(--muted)}.season-form input[type=range]{accent-color:var(--accent)}@media (max-width: 760px){.admin-cols{grid-template-columns:1fr}}.card.card-back{background:repeating-linear-gradient(45deg,#2b4a8a,#2b4a8a 6px,#24407a 6px,#24407a 12px);border-color:#1a2f5e}.banner{position:fixed;bottom:18px;left:50%;transform:translate(-50%);background:var(--panel);border:1px solid var(--accent);border-radius:12px;padding:10px 18px;box-shadow:0 8px 24px #0006}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#040a0ec7;display:grid;place-items:center;z-index:30}.overlay-card{background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:28px;text-align:center;max-width:420px}.overlay-card h2{margin-top:0}.toast{position:fixed;top:16px;right:16px;background:var(--warn);color:#fff;padding:12px 16px;border-radius:10px;max-width:360px;box-shadow:0 8px 24px #0006;cursor:pointer;z-index:40}.loading{display:grid;place-items:center;min-height:300px;color:var(--muted)}button.sm{padding:4px 10px;font-size:.8rem}.friend-list{list-style:none;padding:0;margin:8px 0;display:flex;flex-direction:column;gap:4px}.friend-list li{display:flex;align-items:center;gap:8px;padding:5px 6px;border-bottom:1px dashed var(--line)}.friend-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.friends-sub{margin:12px 0 4px;font-size:.82rem;color:var(--muted)}.friends .sent{font-size:.78rem;margin:8px 0 0}.presence{width:9px;height:9px;border-radius:50%;background:#5a6b7a;flex:0 0 auto}.presence.on{background:#2bbd7e;box-shadow:0 0 6px #2bbd7e88}.party-bar{border:1px solid var(--accent)}.party-head{display:flex;justify-content:space-between;align-items:center}.party-head h3{margin:0}.party-members{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0}.party-member{background:var(--panel-2);border:1px solid var(--line);border-radius:20px;padding:4px 12px;font-weight:600}.invite-banner{position:fixed;left:50%;bottom:18px;transform:translate(-50%);z-index:45;display:flex;align-items:center;gap:14px;flex-wrap:wrap;justify-content:center;background:var(--panel);border:1px solid var(--accent);border-radius:12px;padding:12px 18px;box-shadow:0 8px 24px #00000073;max-width:calc(100vw - 24px)}@media (max-width: 880px){main{padding:12px}.lobby,.room{grid-template-columns:1fr}.lobby-side{display:none}.appbar{position:sticky;top:0;z-index:20;flex-wrap:wrap;padding-left:max(14px,env(safe-area-inset-left));padding-right:max(14px,env(safe-area-inset-right))}.pseat-meta{display:none}}@media (max-width: 560px){:root{--card-w: clamp(60px, 18.5vw, 84px);--card-sm-w: clamp(50px, 14.4vw, 65px)}main{padding:10px}.appbar{padding-top:8px;padding-bottom:8px;gap:8px}.appbar-right{gap:8px}.topbar{gap:6px;padding:8px 10px}.scoreboard{gap:8px;font-size:.9rem}.round-info{gap:8px;font-size:.78rem}.seat-grid{grid-template-columns:1fr}.room{gap:12px}.room-head{flex-wrap:wrap;gap:8px}.seat-left,.seat-right{width:clamp(74px,21vw,110px)}.seat-top .pseat{width:clamp(140px,52vw,220px)}.pseat{padding:6px 7px}.pseat-name{font-size:.74rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pseat-cards{gap:2px;min-height:0}.hand{gap:0}.action-bar{gap:8px}.action-bar button,.bids button,.cantes button{min-height:42px}.turn-timer{width:min(220px,72vw)}.chat-log{max-height:30dvh}.cta .row button,.party-bar .row button{flex:1 1 auto;min-height:42px}.admin .panel{overflow-x:auto}.admin-users{white-space:nowrap}.admin-head{flex-wrap:wrap;gap:8px}.admin-user-list{grid-template-columns:1fr}.auc-actions button,.auc-actions .auc-role{flex:1 1 auto;min-height:40px}.home-hero{padding:14px}.hero-alias{font-size:1.3rem}.hero-fig{flex-basis:calc(50% - 5px);padding:8px 10px}.hero-fig-value{font-size:1.25rem}.rankings-tabs{flex-wrap:nowrap;overflow-x:auto}.rankings-tabs button{white-space:nowrap}}@supports (padding: max(0px)){main{padding-bottom:max(12px,env(safe-area-inset-bottom))}}.bottom-nav{position:fixed;bottom:0;left:0;right:0;z-index:25;display:flex;justify-content:space-around;align-items:stretch;background:var(--panel);border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom)}.app:not(.app-immersive) main{padding-bottom:calc(66px + env(safe-area-inset-bottom))}.app-immersive{height:100dvh;overflow:hidden}.bottom-nav button{flex:1;border:none;border-radius:0;background:transparent;color:var(--muted);display:flex;flex-direction:column;align-items:center;gap:2px;padding:8px 4px;min-height:54px}.bottom-nav button.active{color:var(--accent)}.bn-icon-wrap{position:relative;display:inline-flex}.bn-icon{font-size:1.2rem;line-height:1}.bn-label{font-size:.7rem}.bn-badge{position:absolute;top:-7px;min-width:15px;height:15px;padding:0 4px;display:flex;align-items:center;justify-content:center;font-size:.6rem;font-weight:800;line-height:1;color:#fff;border-radius:8px;border:1px solid var(--panel)}.bn-badge-req{right:-11px;background:var(--warn)}.bn-badge-online{left:-11px;background:#2bbd7e}.brand-sm{cursor:pointer}.settings h2,.friends-view h2{margin:0 0 14px}.theme-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:10px}.theme-card{display:flex;flex-direction:column;align-items:center;gap:8px;padding:14px 10px;border-radius:10px;border:1px solid var(--line);background:var(--panel-2)}.theme-card.active{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent) inset}.theme-swatch{width:100%;height:34px;border-radius:8px;border:1px solid var(--line)}.theme-noche .theme-swatch{background:linear-gradient(135deg,#18222e,#0f1720)}.theme-dia .theme-swatch{background:linear-gradient(135deg,#fff,#d7e3ef)}.theme-tapete .theme-swatch{background:linear-gradient(135deg,#16402f,#0a2018)}.theme-oceano .theme-swatch{background:linear-gradient(135deg,#163243,#08141f)}.theme-vino .theme-swatch{background:linear-gradient(135deg,#341a2a,#1a0e14)}.theme-bosque .theme-swatch{background:linear-gradient(135deg,#1f2c20,#0f160e)}.theme-sepia .theme-swatch{background:linear-gradient(135deg,#fbf5e9,#e2d2b3)}.topbar-actions{display:flex;gap:6px;align-items:center}.search-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;background:#040a0ed1;display:grid;place-items:center;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);padding:20px}.search-card{text-align:center;max-width:360px}.search-card h2{margin:14px 0 4px}.search-hint{font-size:.82rem;margin:6px 0 0}.search-card button{display:block;margin:12px auto 0}.search-fill-bots{margin-top:16px}.search-spinner{display:inline-block;width:52px;height:52px;border-radius:50%;border:4px solid var(--line);border-top-color:var(--accent);animation:spin .9s linear infinite}.search-spinner.sm{width:16px;height:16px;border-width:2px}@keyframes spin{to{transform:rotate(360deg)}}.reconnect-banner{position:fixed;top:12px;left:50%;transform:translate(-50%);z-index:48;display:flex;align-items:center;gap:10px;background:var(--warn);color:#1c0d06;font-weight:700;padding:8px 16px;border-radius:20px;box-shadow:0 6px 18px #0006}.reconnect-banner .search-spinner.sm{border-color:#0000004d;border-top-color:#1c0d06}.mode-badge{display:inline-block;font-size:.76rem;font-weight:800;padding:3px 10px;border-radius:20px;background:var(--accent);color:#1c1405;vertical-align:middle}.play-row{display:flex;align-items:center;gap:12px;margin-bottom:6px;flex-wrap:wrap}.play-label{color:var(--muted);font-size:.85rem}.play-block{padding:14px 0;border-top:1px dashed var(--line)}.play-block h4{margin:0 0 6px}.play-block p{margin:0 0 10px;font-size:.85rem}.join-form{flex:1 1 200px;min-width:0}.join-form input{flex:1;min-width:90px}.play-mode-row{display:flex;align-items:center;gap:12px;margin-bottom:14px;flex-wrap:wrap}.mm-cta{display:grid;grid-template-columns:1fr;gap:12px}.mm-btn{display:flex;flex-direction:column;align-items:flex-start;gap:3px;padding:16px;border-radius:14px;text-align:left;min-height:96px}.mm-btn>svg{font-size:1.35rem;margin-bottom:4px}.mm-btn-title{font-size:1.1rem;font-weight:800}.mm-btn-sub{font-size:.76rem;opacity:.85;font-weight:500}.mm-cancel{width:100%;min-height:64px;font-size:1.05rem}.play-hint{margin:6px 0}.play-secondary{margin-top:16px;padding-top:14px;border-top:1px dashed var(--line);display:flex;flex-direction:column;gap:8px}.play-secondary .muted{font-size:.82rem}.party-member .crown{color:var(--accent);margin-right:5px}@media (max-width: 560px){.mm-cta{grid-template-columns:1fr}}.metric-toggle{display:flex;margin-bottom:14px}.metric-toggle button{flex:1;justify-content:center}.podium{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;align-items:end;margin-bottom:16px}.podium-spot{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:14px 8px;text-align:center}.podium-spot.clickable{cursor:pointer}.podium-spot.clickable:hover{border-color:var(--accent)}.podium-spot.pos-1{border-color:var(--accent);background:linear-gradient(180deg,rgba(242,181,59,.16),var(--panel));transform:translateY(-8px)}.podium-spot.me{box-shadow:0 0 0 2px var(--accent) inset}.podium-rank{font-size:1.5rem;font-weight:800;color:var(--accent)}.pos-2 .podium-rank{color:#c7d2da}.pos-3 .podium-rank{color:#cd7f4b}.podium-alias{font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.podium-metric{margin-top:4px}.podium-metric b{font-size:1.1rem}.podium-league{font-size:.7rem}.rank-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:6px}.rank-row{display:flex;align-items:center;gap:12px;background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:9px 12px}.rank-row.me{border-color:var(--accent);background:#f2b53b14}.rank-pos{font-weight:800;color:var(--muted);min-width:26px;text-align:center}.rank-id{flex:1;min-width:0;display:flex;flex-direction:column}.rank-alias{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rank-league{font-size:.74rem}.rank-metric{text-align:right;display:flex;flex-direction:column;flex:0 0 auto}.rank-metric b{font-size:1.05rem}.rank-secondary{font-size:.72rem}.active-match{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;border-color:var(--accent);background:linear-gradient(135deg,rgba(242,181,59,.14),var(--panel))}.active-match h3{margin:0;color:var(--ink)}.active-match p{margin:4px 0 0}.brand-sm{display:inline-flex;align-items:baseline;gap:6px}.brand-domain{font-size:.62rem;font-weight:600;color:var(--muted);letter-spacing:.3px}.brand-tagline{margin:0 0 6px;color:var(--accent);font-weight:700;letter-spacing:2px;font-size:.82rem;text-transform:lowercase}.auth-footer{margin:16px 0 0;text-align:center;font-size:.72rem;color:var(--muted)}.onboarding{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;background:#040a0ed1;display:grid;place-items:center;padding:16px;overflow-y:auto}.onboarding-card{position:relative;background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:22px;width:min(520px,100%);max-height:90dvh;overflow-y:auto}.onboarding-card h2{margin:0 0 4px}.onboarding-card h3{margin:18px 0 8px;color:var(--accent);font-size:.95rem}.onboarding-close{position:absolute;top:12px;right:12px}.ob-list{margin:0;padding-left:18px;display:flex;flex-direction:column;gap:6px;font-size:.9rem}.ob-list li{line-height:1.35}.onboarding-go{width:100%;margin-top:20px;min-height:46px}.pseat.partner{border-color:var(--accent)}.partner-tag{display:inline-block;font-size:.6rem;font-weight:700;color:var(--accent);margin-left:5px;text-transform:uppercase;letter-spacing:.5px}.dealer-badge{display:inline-flex;align-items:center;gap:4px;justify-content:center;width:20px;height:20px;background:var(--accent);color:#1c1405;border-radius:50%;font-size:.66rem;flex:none}.pseat>.dealer-badge{position:absolute;top:-8px;right:-8px;z-index:2;border:2px solid var(--panel);box-shadow:0 2px 6px #0006}.cante-flash{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:5;background:var(--accent);color:#1c1405;font-weight:800;font-size:1.1rem;padding:10px 18px;border-radius:14px;box-shadow:0 8px 24px #00000080;white-space:nowrap;animation:cante-pop .3s ease-out}.cante-flash .muted{color:#5c4a16;font-weight:600}@keyframes cante-pop{0%{transform:translate(-50%,-50%) scale(.6);opacity:0}to{transform:translate(-50%,-50%) scale(1);opacity:1}}.tap-hint{margin:2px 0 0;font-size:.74rem;color:#cfe8dd;text-align:center}.card.selected{outline:3px solid var(--accent);box-shadow:0 10px 20px #0000008c}.card.selectable.legal.selected{transform:translateY(calc(-14px - var(--card-h) * .15))}.elo-change{margin:14px 0;display:flex;flex-direction:column;align-items:center;gap:3px}.elo-change-row{display:flex;align-items:center;gap:10px;font-size:1.3rem}.elo-arrow{color:var(--muted)}.elo-delta.up{color:#74e0aa;font-weight:800}.elo-delta.down{color:var(--warn);font-weight:800}.settings-form{display:flex;flex-direction:column;gap:8px;margin-bottom:16px}.settings-form label{font-size:.82rem;color:var(--muted);margin-top:4px}.search-count{font-size:1.05rem;margin:6px 0}.search-count b{color:var(--accent)}.party-mode{margin:10px 0 4px}.avatar{border-radius:50%;object-fit:cover;border:1px solid var(--line);flex:0 0 auto}.avatar-initial{display:inline-flex;align-items:center;justify-content:center;font-weight:800;color:#fff;border-style:solid}.friend-search{margin-bottom:12px}.friends-sub{margin:14px 0 6px;font-size:.82rem;color:var(--muted)}.friend-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:6px}.friend-row{display:flex;align-items:center;gap:10px;background:var(--panel-2);border:1px solid var(--line);border-radius:12px;padding:7px 10px}.friend-id{display:flex;align-items:center;gap:10px;flex:1;min-width:0}.friend-id.clickable{cursor:pointer;border-radius:10px}.friend-id.clickable:hover .friend-name{color:var(--accent)}.friend-avatar{position:relative;flex:0 0 auto;line-height:0}.presence-dot{position:absolute;right:-1px;bottom:-1px;width:11px;height:11px;border-radius:50%;background:#5a6b7a;border:2px solid var(--panel-2)}.presence-dot.on{background:#2bbd7e}.friend-name{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.friends .sent{font-size:.78rem;margin:10px 0 0}.profile-hero{display:flex;align-items:center;gap:14px;margin-bottom:14px}.profile-id{display:flex;flex-direction:column;min-width:0}.profile-alias{font-size:1.5rem;font-weight:800;overflow:hidden;text-overflow:ellipsis}.profile-stats{margin-bottom:16px}.history-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:6px}.history-row{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:10px;background:var(--panel-2);border-left:4px solid var(--line)}.history-row.won{border-left-color:#2bbd7e}.history-row.lost{border-left-color:var(--warn)}.history-result{font-weight:700;min-width:72px}.history-result.won{color:#74e0aa}.history-result.lost{color:var(--warn)}.history-mode,.history-date{font-size:.8rem}.history-date{margin-left:auto}.elo-list{list-style:none;padding:0;margin:8px 0 0;display:flex;flex-direction:column;gap:5px;width:100%}.elo-list li{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:6px 10px;border-radius:8px;background:var(--panel-2)}.elo-list li.me{box-shadow:0 0 0 1px var(--accent) inset}.elo-name{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.elo-nums{display:flex;align-items:center;gap:6px;white-space:nowrap}.turn-timer{position:relative}.turn-timer.compact{width:100%;height:4px;margin-top:5px}.turn-timer.urgent .turn-timer-fill{background:var(--warn)}.turn-timer-secs{position:absolute;right:6px;top:-18px;font-size:.72rem;color:var(--muted)}.confirm-card{max-width:420px}.confirm-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:18px}.podium-spot .avatar{display:block;margin:6px auto 4px}.hero-id .avatar{flex:0 0 auto}.metrics-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.metrics-head h3{margin:0}.metrics-head .segmented button{padding:5px 10px;font-size:.8rem}.charts-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px}.chart{background:var(--inset);border:1px solid var(--line);border-radius:10px;padding:12px}.chart-head{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:8px;font-size:.82rem;color:var(--muted)}.chart-head b{font-size:1.2rem;color:var(--ink)}.chart-head b.chart-sel{font-size:.95rem;color:var(--accent)}.chart-svg{width:100%;height:64px;display:block}.chart-axis{display:flex;justify-content:space-between;font-size:.66rem;color:var(--muted);margin-top:4px}.chart-axis .chart-hint{opacity:.7;font-style:italic}.rank-row.clickable{cursor:pointer}.rank-row.clickable:hover{border-color:var(--accent)}.public-profile>.ghost{margin-bottom:12px}.friends-title{margin:0 0 12px;font-size:1.4rem}.friends-title svg{color:var(--accent);margin-right:8px}.tag-ban{background:#c4623a2e;color:var(--warn);border-color:var(--warn)}.ban-options{display:flex;flex-wrap:wrap;gap:8px}.ban-note{margin:12px 0 0;font-size:.8rem}.auth-error{background:#c4623a24;border:1px solid var(--warn);color:var(--warn);padding:10px 12px;border-radius:10px;margin:0 0 12px;font-size:.9rem}.avatar-ring{box-shadow:0 0 0 2px var(--ring-c, var(--line))}.avatar-ring.ring-bronce{--ring-c: #cd7f4b}.avatar-ring.ring-plata{--ring-c: #c7d2da}.avatar-ring.ring-oro{--ring-c: var(--accent)}.avatar-ring.ring-diamante{--ring-c: #5bd2e6}.avatar-ring.ring-maestro{--ring-c: #d36bff}.friend-id .friend-name{display:flex;flex-direction:column;line-height:1.15}.friend-league{font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.4px}.table-feed{flex:0 0 auto;display:flex;flex-direction:column;gap:2px;padding:4px 8px;max-height:64px;overflow:hidden}.table-feed-line{font-size:.74rem;color:var(--muted);text-align:center;line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chat-flash{flex:0 0 auto;align-self:center;max-width:92%;margin:2px auto;background:var(--panel-2);border:1px solid var(--accent);border-radius:14px;padding:7px 14px;font-size:.9rem;box-shadow:0 4px 14px #0006;animation:cante-pop .25s ease-out;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-flash b{color:var(--accent)}.feed-toggle{display:flex;align-items:center;gap:8px;padding:6px 4px 10px;font-size:.85rem;color:var(--muted);cursor:pointer}.feed-toggle input{width:16px;height:16px}.profile-since{font-size:.8rem;margin-top:2px}.profile-since svg{color:var(--accent)}.room-view{max-width:760px;margin:0 auto;display:flex;flex-direction:column;gap:16px}.room-hero{background:linear-gradient(135deg,var(--panel-2),var(--panel));border:1px solid var(--line);border-radius:var(--radius);padding:16px 18px;display:flex;flex-direction:column;gap:14px}.room-hero-head{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}.room-hero-head h2{margin:0 0 6px}.room-leave{flex:0 0 auto}.room-code-box{display:flex;flex-direction:column;gap:6px}.room-code-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.room-code{font-size:1.9rem;font-weight:800;letter-spacing:4px;color:var(--accent);background:var(--inset);border:1px dashed var(--line);border-radius:12px;padding:6px 16px}.room-teams{display:grid;grid-template-columns:1fr 1fr;gap:14px}.room-team-col{display:flex;flex-direction:column;gap:10px}.room-team-title{margin:0;font-size:.9rem}.room-team-col.team-0 .room-team-title{color:var(--team0)}.room-team-col.team-1 .room-team-title{color:var(--team1)}.room-seat{display:flex;align-items:center;gap:12px;min-height:64px;background:var(--panel);border:1px solid var(--line);border-left:4px solid var(--line);border-radius:12px;padding:10px 12px}.room-seat.team-0{border-left-color:var(--team0)}.room-seat.team-1{border-left-color:var(--team1)}.room-seat.me{box-shadow:0 0 0 1px var(--accent) inset}.room-seat.empty{border-style:dashed}.room-seat-empty{display:flex;flex-direction:column;gap:8px;width:100%}.room-seat-id{display:flex;flex-direction:column;min-width:0}.room-seat-name{font-weight:700;display:flex;align-items:center;gap:6px;overflow:hidden;text-overflow:ellipsis}.room-seat-name .crown{color:var(--accent)}.room-seat-name .bot-icon{color:var(--muted)}.room-seat-state{font-size:.78rem;color:var(--warn)}.room-seat-state.ok{color:#74e0aa}.room-actionbar{display:flex;gap:10px;flex-wrap:wrap}.room-actionbar .room-start{margin-left:auto}.room-chat-panel{margin-bottom:8px}@media (max-width: 560px){.room-teams{grid-template-columns:1fr}.room-actionbar .room-start{margin-left:0}.room-actionbar button{flex:1}}.league-ladder{list-style:none;padding:0;margin:8px 0 0;display:flex;flex-direction:column;gap:6px}.league-ladder-row{display:flex;align-items:center;gap:10px;padding:6px 8px;border-radius:8px;background:var(--inset)}.league-ladder-row.here{box-shadow:0 0 0 1px var(--accent) inset}.league-ladder-row .league-badge{min-width:84px;text-align:center}.league-here-tag{margin-left:auto;font-size:.72rem;font-weight:800;color:var(--accent)}.league-panel{margin-top:0}.guest-days{display:flex;flex-direction:column;gap:4px;font-size:.8rem;color:var(--muted)}.danger-zone{border-color:var(--warn)}.danger-zone h3{color:var(--warn)}.link-btn{background:none;border:none;color:var(--accent);padding:8px 0 0;text-decoration:underline;font-size:.85rem;cursor:pointer;align-self:center}.link-btn:hover{filter:brightness(1.15)}.auth-screen{position:relative;overflow:hidden}.auth-deco{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:0}.auth-deco .deco-card{position:absolute;line-height:0;transform:rotate(var(--r, 0deg));animation:deco-float 9s ease-in-out infinite both}.auth-deco .deco-card .card{width:104px;height:calc(104px * var(--card-ar));filter:brightness(.6) contrast(1.04) saturate(1.05);box-shadow:0 14px 34px #00000073;cursor:default}[data-theme=dia] .auth-deco .deco-card .card,[data-theme=sepia] .auth-deco .deco-card .card{filter:brightness(.92) saturate(1.05)}.auth-deco .pos-tl{top:7%;left:6%;--r: -12deg;animation-delay:0s}.auth-deco .pos-tr{top:11%;right:6%;--r: 10deg;animation-delay:1.4s}.auth-deco .pos-bl{bottom:9%;left:8%;--r: 9deg;animation-delay:2.6s}.auth-deco .pos-br{bottom:12%;right:8%;--r: -10deg;animation-delay:.8s}@keyframes deco-float{0%,to{transform:translateY(0) rotate(var(--r, 0deg))}50%{transform:translateY(-18px) rotate(var(--r, 0deg))}}.auth-card{position:relative;z-index:1}.auth-card-in{animation:auth-in .45s cubic-bezier(.2,.7,.2,1) both}@keyframes auth-in{0%{opacity:0;transform:translateY(14px) scale(.97)}to{opacity:1;transform:none}}@media (prefers-reduced-motion: reduce){.auth-deco .deco-card,.auth-card-in{animation:none}}@media (max-width: 560px){.auth-deco .deco-card .card{width:70px;height:calc(70px * var(--card-ar))}.auth-deco .pos-tl,.auth-deco .pos-tr{top:4%}.auth-deco .pos-bl,.auth-deco .pos-br{bottom:6%}}.bid-pass{background:var(--inset);border-color:var(--line);color:var(--ink);font-weight:600}.card.card-tiny{width:26px;height:calc(26px * var(--card-ar));border-radius:4px}.card.card-tiny .card-rank{font-size:.55rem}.card.card-tiny .card-suit{font-size:.6rem}.muestra{display:inline-flex;align-items:center;gap:5px}.muestra .card{cursor:default}.hand-summary-scrim{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;display:grid;place-items:center;background:#00000073;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);animation:hs-fade .25s ease both;pointer-events:none}.hand-summary{background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:20px 22px;width:min(360px,92vw);text-align:center;box-shadow:0 18px 48px #00000080;animation:hs-pop .32s cubic-bezier(.2,.8,.2,1) both}.hand-summary h2{margin:0 0 14px;font-size:1.15rem}.hs-grid{display:flex;flex-direction:column;gap:4px}.hs-row{display:grid;grid-template-columns:1fr auto auto;gap:12px;align-items:center;padding:5px 10px;border-radius:8px}.hs-row>span:first-child{text-align:left;color:var(--muted);font-size:.85rem}.hs-row>span:not(:first-child){min-width:32px;text-align:center;font-weight:700;font-variant-numeric:tabular-nums}.hs-row.hs-head>span:not(:first-child){font-size:.78rem}.hs-row.hs-total{background:var(--inset);margin-top:2px}.hs-row.hs-total>span{font-size:1.05rem}.hand-summary .hs-row{animation:hs-row-in .3s ease both}.hand-summary .hs-row:nth-child(1){animation-delay:.05s}.hand-summary .hs-row:nth-child(2){animation-delay:.12s}.hand-summary .hs-row:nth-child(3){animation-delay:.19s}.hand-summary .hs-row:nth-child(4){animation-delay:.26s}.hand-summary .hs-row:nth-child(5){animation-delay:.33s}.hand-summary .hs-row:nth-child(6){animation-delay:.4s}.hs-winner{margin:14px 0 2px;font-size:1.05rem;font-weight:700;color:var(--accent);animation:hs-row-in .3s ease .5s both}.hs-winner.tie{color:var(--muted)}.hs-winner b{color:#74e0aa}.hs-score{margin:4px 0 0}@keyframes hs-fade{0%{opacity:0}to{opacity:1}}@keyframes hs-pop{0%{opacity:0;transform:translateY(16px) scale(.94)}to{opacity:1;transform:none}}@keyframes hs-row-in{0%{opacity:0;transform:translate(-8px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion: reduce){.hand-summary,.hand-summary .hs-row,.hs-winner,.hand-summary-scrim{animation:none}}.muestra-board{position:absolute;top:4px;right:6px;z-index:4;transform:rotate(4deg) scale(.82);transform-origin:top right}.muestra-board .card{box-shadow:0 4px 12px #00000073;cursor:default}.seat-contract{display:block;width:fit-content;margin:3px auto;font-size:.68rem;font-weight:800;letter-spacing:.5px;text-transform:uppercase;color:#1c1405;background:var(--accent);border:1px solid #ffcf6a;border-radius:8px;padding:1px 9px}.guest-alert{display:flex;align-items:center;gap:12px;flex-wrap:wrap;background:#f2b53b24;border:1px solid var(--accent);border-radius:12px;padding:12px 14px;margin-bottom:14px}.guest-alert-text{flex:1;min-width:200px;font-size:.88rem}.recompute-row{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin:10px 0}.admin-tabs.sub{margin:0 0 12px;border-bottom:1px solid var(--line)}.admin-table-wrap{overflow-x:auto}.admin-log-table{width:100%;border-collapse:collapse;font-size:.82rem}.admin-log-table th,.admin-log-table td{text-align:left;padding:7px 8px;border-bottom:1px solid var(--line);white-space:nowrap;vertical-align:top}.admin-log-table .mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.match-players{display:flex;flex-wrap:wrap;gap:4px;white-space:normal}.match-players .mp{font-size:.74rem;padding:1px 7px;border-radius:8px;background:var(--inset);border:1px solid var(--line)}.match-players .mp.team-0{border-left:3px solid var(--team0)}.match-players .mp.team-1{border-left:3px solid var(--team1)}.match-players .mp.won{font-weight:800;color:var(--accent)}
