:root{--card-face: #f4f7fb;--card-ink: #15202e;--card-back: linear-gradient(135deg, #2b3550 0%, #1d2640 100%);--suit-red: #c0392b;--suit-gold: #b8890a;--suit-green: #179257;--suit-dark: #1f6fd6;--turn-glow: 0 0 0 2px var(--accent), 0 0 14px rgba(43, 127, 255, .45)}.pcard{position:relative;display:inline-flex;align-items:center;justify-content:center;background:var(--card-face);color:var(--card-ink);border-radius:9px;border:1px solid rgba(0,0,0,.18);box-shadow:0 2px 5px #00000059;font-variant-numeric:tabular-nums;-webkit-user-select:none;user-select:none;flex:0 0 auto;padding:0}.pcard-sm{width:31px;height:48px;font-size:11px}.pcard-md{width:44px;height:68px;font-size:14px}.pcard-lg{width:56px;height:86px;font-size:17px}.pcard.has-img{background:transparent;border-color:transparent}.pcard-img{width:100%;height:100%;object-fit:cover;border-radius:inherit;display:block;-webkit-user-drag:none}.pcard-center{font-size:1.7em;line-height:1}.pcard-corner{position:absolute;display:flex;flex-direction:column;align-items:center;line-height:1}.pcard-corner-tl{top:4px;left:5px}.pcard-corner-br{bottom:4px;right:5px;transform:rotate(180deg)}.pcard-rank{font-weight:800}.pcard-pip{font-size:.7em;margin-top:1px}.pcard.suit-oro{border-color:#c79a1e99}.pcard.suit-oro .pcard-rank{color:var(--suit-gold)}.pcard.suit-copa{border-color:#d23b3b99}.pcard.suit-copa .pcard-rank{color:var(--suit-red)}.pcard.suit-espada{border-color:#2b355099}.pcard.suit-espada .pcard-rank{color:var(--suit-dark)}.pcard.suit-basto{border-color:#2e8b5799}.pcard.suit-basto .pcard-rank{color:var(--suit-green)}.pcard.is-clickable{cursor:pointer;transition:transform .12s ease,box-shadow .12s ease}.pcard.is-playable{box-shadow:0 4px 10px #0006}@media(hover:hover){.pcard.is-clickable:hover,.pcard.is-clickable:focus-visible{transform:translateY(-8px);outline:none}}.pcard.is-clickable:active{transform:translateY(-4px)}.pcard.is-clickable:focus{outline:none}.pcard.is-highlighted{box-shadow:var(--turn-glow);border-color:var(--accent)}.pcard.is-dimmed{opacity:.78;filter:saturate(.85)}.pcard-back{background:var(--card-back);border-color:#fff3;background-size:cover}.pcard-back:after{content:"";position:absolute;top:4px;right:4px;bottom:4px;left:4px;border-radius:5px;border:1px dashed rgba(255,255,255,.35)}.table-screen{display:flex;flex-direction:column;gap:8px;height:calc(100dvh - 150px - var(--tg-top-inset, 0px) - var(--tg-bottom-inset, 0px));min-height:360px;overflow:hidden;position:relative}.table-screen .mesa{flex:1 1 auto;min-height:0;justify-content:center}.table-screen .mesa-felt{flex:1 1 auto;min-height:0}.table-screen .table-bottom{margin-top:auto;flex:0 0 auto}.table-topbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.turn-pill{margin-left:auto;padding:4px 12px;border-radius:999px;font-size:12px;font-weight:600;background:var(--bg-elevated);border:1px solid var(--border);color:var(--text-muted)}.turn-pill.is-you{background:var(--accent);color:var(--accent-text);border-color:var(--accent);animation:pulse 1.6s ease-in-out infinite}.table-lasthand{font-size:11px;font-weight:700;color:var(--danger);text-transform:uppercase;letter-spacing:.5px}.opp-row{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}.opp{position:relative;flex:1 1 130px;max-width:200px;min-width:120px;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:8px 10px;display:flex;flex-direction:column;gap:6px;transition:box-shadow .2s,border-color .2s}.opp-turn{border-color:var(--accent);box-shadow:var(--turn-glow)}.opp-offline{opacity:.55}.opp-head{display:flex;align-items:center;gap:6px;font-size:13px;font-weight:600}.opp-color{font-size:12px}.opp-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1}.opp-dealer,.opp-status{font-size:12px}.opp-cards{display:flex;gap:3px;min-height:48px;align-items:center}.opp-cards .pcard{box-shadow:0 1px 3px #0006}.opp-meta{display:flex;gap:10px;flex-wrap:wrap;font-size:12px;color:var(--text-muted)}.opp-canto{color:var(--accent);font-weight:600}.canto-dead{color:var(--danger);font-weight:600;opacity:.85}.canto-dead s{text-decoration:line-through}.opp-turnbar{position:absolute;left:0;right:0;bottom:-1px;height:3px;background:var(--accent);border-radius:0 0 var(--radius) var(--radius)}.mesa{display:flex;flex-direction:column;align-items:center;gap:6px}.mesa-felt{position:relative;width:100%;min-height:120px;border-radius:16px;background:radial-gradient(120% 90% at 50% 0%,rgba(43,127,255,.07),transparent 62%),var(--bg-elevated);border:1px solid var(--border);box-shadow:inset 0 1px #ffffff08,inset 0 10px 26px #00000029;display:flex;align-items:center;justify-content:center;padding:10px}.mesa-empty{color:var(--text-muted);font-size:13px}.mesa-grid{display:grid;grid-template-columns:repeat(5,1fr);grid-template-rows:repeat(2,1fr);gap:6px;width:100%;max-width:420px;margin:0 auto;aspect-ratio:1040 / 638;max-height:100%}.mesa-cell{position:relative;min-width:0;min-height:0}.mesa-cell-empty{border-radius:8px;border:1px dashed var(--border);background:#ffffff06}.mesa-cell .pcard{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;background:transparent;box-shadow:none}.mesa-cell .pcard-img{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 2px 4px rgba(0,0,0,.35))}.mesa-cell .pcard.is-highlighted{box-shadow:none;border-color:transparent}.mesa-cell .pcard.is-highlighted .pcard-img{filter:drop-shadow(0 0 3px var(--accent)) drop-shadow(0 0 7px var(--accent))}.mesa-slot{position:relative;animation:deal-in .24s ease-out both}.pegado-pop{position:absolute;top:-7px;right:-7px;background:var(--ok, #3fb950);color:#fff;font-weight:800;font-size:12px;line-height:1;padding:2px 7px;border-radius:999px;box-shadow:0 2px 6px #0006;pointer-events:none;z-index:3;animation:pegado-float 1.2s ease-out both}@keyframes pegado-float{0%{transform:translateY(8px) scale(.5);opacity:0}18%{transform:translateY(0) scale(1.2);opacity:1}55%{transform:translateY(-3px) scale(1);opacity:1}to{transform:translateY(-20px) scale(1);opacity:0}}.mesa-caption{font-size:12px}.lastcard-strip{display:flex;align-items:center;justify-content:center;gap:8px;flex:0 0 auto;font-size:12px;padding:2px 0}.lastcard-strip .pcard{flex:0 0 auto}.event-line{min-height:22px;text-align:center;font-size:13px;font-weight:600;color:var(--text);padding:3px 10px;border-radius:999px;align-self:center;animation:event-pop .28s ease-out}@keyframes event-pop{0%{transform:translateY(-4px) scale(.96);opacity:0}to{transform:none;opacity:1}}.table-bottom{display:flex;flex-direction:column;gap:8px}.play-row{display:flex;align-items:center;gap:10px;width:100%;max-width:560px;margin:0 auto;padding:10px;border-radius:var(--radius);background:var(--bg-card);border:1px solid var(--border);overflow:hidden;transition:border-color .2s,box-shadow .2s}.play-row.is-turn{border-color:var(--accent);box-shadow:var(--turn-glow)}.you-rail{flex:0 0 clamp(56px,16vw,68px);display:flex;flex-direction:column;gap:8px;font-size:clamp(11px,3.2vw,12.5px)}.you-rail .rail-color{font-size:1.15em;line-height:1}.you-rail .rail-stat{color:var(--text-muted);white-space:nowrap}.you-rail .rail-stat small{font-size:.82em}.you-rail .rail-canto{color:var(--text-muted);word-break:break-word}.you-rail .canto-dead{word-break:break-word}.hand-area{flex:1;min-width:0}.hand{display:flex;flex-direction:column;align-items:center;gap:6px;width:100%}.hand-cards{display:flex;gap:clamp(6px,2vw,9px);justify-content:center;align-items:center;width:100%}.hand-cards .pcard{flex:1 1 0;min-width:0;max-width:92px;width:auto;height:auto;aspect-ratio:208 / 319}.hand-cards .pcard-img{width:100%;height:100%;object-fit:cover}.hand-hint{font-size:12px;text-align:center}.hand-empty{padding:18px}.hand-prompt{font-weight:600;font-size:14px}.startby-choices{display:flex;gap:10px;flex-wrap:wrap;justify-content:center}.startby-btn{padding:10px 22px;font-size:14px}.canto-picker{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:7px 12px;border-radius:var(--radius);background:linear-gradient(90deg,rgba(47,129,247,.18),var(--bg-card));border:1px solid var(--accent)}.canto-picker-info{display:flex;flex-direction:column}.canto-picker-label{font-size:11px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px}.canto-picker-name{font-weight:700;font-size:15px}.endgame{display:flex;flex-direction:column;gap:16px;align-items:center}.endgame-banner{text-align:center;padding:20px;border-radius:var(--radius);width:100%;background:var(--bg-card);border:1px solid var(--border)}.endgame-banner.won{border-color:var(--ok);box-shadow:0 0 24px #3fb95040}.endgame-emoji{font-size:44px}.endgame-banner h2{margin:6px 0 0}.endgame-how{width:100%;max-width:460px;padding:10px 14px;border-radius:var(--radius);background:var(--bg-card);border:1px solid var(--border);font-size:14px;line-height:1.45}.endgame-how p{margin:0}.endgame-how p+p{margin-top:4px}.endgame-standings{list-style:none;padding:0;margin:0;width:100%;max-width:460px}.endgame-row{display:flex;align-items:center;gap:12px;padding:10px 14px;border-radius:var(--radius);background:var(--bg-card);border:1px solid var(--border);margin-bottom:6px}.endgame-row.is-winner{border-color:var(--ok)}.endgame-row.is-you{background:var(--bg-elevated)}.endgame-pos{width:24px;height:24px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;background:var(--bg-elevated);font-weight:700;font-size:12px}.endgame-name{flex:1;font-weight:500}.endgame-pts{font-weight:700}.endgame-actions{display:flex;gap:10px;align-items:center;justify-content:center;flex-wrap:wrap}@keyframes pulse{0%,to{opacity:1}50%{opacity:.65}}@keyframes deal-in{0%{transform:translateY(-18px) scale(.85);opacity:0}to{transform:translateY(0) scale(1);opacity:1}}@keyframes flash-pop{0%{transform:scale(.6);opacity:0}25%{transform:scale(1.1);opacity:1}70%{transform:scale(1);opacity:1}to{opacity:0}}@media(prefers-reduced-motion:reduce){.pcard.is-clickable,.turn-pill.is-you,.mesa-slot{animation:none;transition:none}}@media(max-width:480px){.pcard-lg{width:52px;height:76px;font-size:15px}.pcard-md{width:42px;height:60px}.opp{min-width:104px;padding:6px 8px}}.step-banner{position:absolute;top:0;right:0;bottom:0;left:0;z-index:12;display:flex;align-items:center;justify-content:center;pointer-events:none;animation:banner-pop var(--banner-ms, .8s) ease-out both}.step-banner-mesa{border-radius:13px}.step-banner-mesa .step-banner-text{font-size:28px;font-weight:900;letter-spacing:1px;color:#fff;text-align:center;text-shadow:0 2px 8px rgba(0,0,0,.6)}.step-banner-mesa.step-banner-caida{background:#d23b3b80}.step-banner-mesa.step-banner-limpia{background:#2f81f74d}.step-banner-mesa.step-banner-mata{background:#d23b3b59}.step-banner-seat .step-banner-text{padding:4px 14px;border-radius:999px;font-size:16px;font-weight:800;background:var(--accent);color:var(--accent-text, #fff);box-shadow:0 4px 14px #00000073;white-space:nowrap}.step-banner-seat.step-banner-dead .step-banner-text{background:var(--danger)}.table-screen{--stack-offset: translate(14%, -10%) rotate(8deg)}.mesa-stack-top{position:absolute;top:0;right:0;bottom:0;left:0;z-index:2;transform:var(--stack-offset)}.mesa-slot.is-landing,.mesa-stack-top.is-landing{animation:landing-reveal var(--fly-ms, 0ms) linear both}.fly-layer{position:absolute;top:0;right:0;bottom:0;left:0;z-index:20;pointer-events:none}.fly-card{position:absolute;animation-timing-function:ease-out;animation-fill-mode:both}.fly-in{animation-name:fly-in}.fly-out{animation-name:fly-out}.fly-in.fly-stack{--end: var(--stack-offset)}.fly-out.fly-stack{--start: var(--stack-offset);z-index:1}.fly-card .pcard{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;background:transparent;box-shadow:none}.fly-card .pcard-img{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 4px 8px rgba(0,0,0,.45))}.canto-chip{display:inline-flex;align-items:center;gap:3px;padding:1px 7px;border-radius:999px;border:1px solid currentColor;animation:chip-in .35s ease-out both}.you-rail .canto-chip{display:block;align-self:flex-start;border-radius:8px;padding:1px 5px}.rail-canto.canto-chip{color:var(--accent);font-weight:600}.canto-dead s.strike{position:relative;text-decoration:none}.strike:after{content:"";position:absolute;left:-2px;right:-2px;top:52%;height:2px;background:currentColor;transform-origin:left center;animation:strike-in .45s ease-out both}.opp-turn,.play-row.is-turn{animation:turn-glow 1.6s ease-in-out infinite}.play-wrap{position:relative}.te-toca{position:absolute;top:-11px;left:50%;transform:translate(-50%);z-index:6;padding:2px 12px;border-radius:999px;background:var(--accent);color:var(--accent-text, #fff);font-size:12px;font-weight:800;white-space:nowrap;box-shadow:0 2px 8px #0006;pointer-events:none;animation:te-toca-in .3s ease-out both}.summary-panel{position:absolute;top:0;right:0;bottom:0;left:0;z-index:12;display:flex;align-items:center;justify-content:center;border-radius:13px;background:#0000004d;pointer-events:none}.summary-box{max-width:92%;padding:10px 18px;border-radius:14px;background:var(--bg-card);border:1px solid var(--accent);box-shadow:0 8px 28px #00000073;text-align:center;animation:chip-in .3s ease-out both}.summary-title{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted)}.summary-line{margin-top:4px;font-size:18px;font-weight:800;color:var(--text)}.summary-side small{font-weight:600;color:var(--text-muted)}.summary-bonus{color:var(--ok, #3fb950)}.summary-sep{color:var(--text-muted);font-weight:600}.summary-limit{margin-top:2px;font-size:12px;color:var(--text-muted)}@keyframes banner-pop{0%{opacity:0;transform:scale(.6)}15%{opacity:1;transform:scale(1.08)}25%{transform:scale(1)}80%{opacity:1}to{opacity:0}}@keyframes landing-reveal{0%,99%{opacity:0}to{opacity:1}}@keyframes fly-in{0%{transform:translate(var(--dx),var(--dy)) scale(.7)}99%{transform:var(--end, none);opacity:1}to{transform:var(--end, none);opacity:0}}@keyframes fly-fade-in{0%{transform:var(--end, none);opacity:0}99%{transform:var(--end, none);opacity:1}to{transform:var(--end, none);opacity:0}}@keyframes fly-out{0%{transform:var(--start, none);opacity:1}80%{opacity:1}to{transform:translate(var(--dx),var(--dy)) scale(.35);opacity:0}}@keyframes chip-in{0%{transform:scale(.6);opacity:0}to{transform:none;opacity:1}}@keyframes strike-in{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes turn-glow{0%,to{box-shadow:var(--turn-glow)}50%{box-shadow:0 0 0 2px var(--accent)}}@keyframes te-toca-in{0%{transform:translate(-50%) translateY(6px) scale(.8);opacity:0}to{transform:translate(-50%);opacity:1}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes fly-fade-out{0%{transform:var(--start, none);opacity:1}to{transform:var(--start, none);opacity:0}}@keyframes fade-hold{0%{opacity:0}15%,80%{opacity:1}to{opacity:0}}@media(prefers-reduced-motion:reduce){.step-banner{animation-name:fade-hold}.fly-in{animation-name:fly-fade-in}.fly-out{animation-name:fly-fade-out}.mesa-slot.is-landing,.mesa-stack-top.is-landing{animation:fade-in var(--fly-ms, 0ms) linear both}.canto-chip,.strike:after,.te-toca,.summary-box{animation-name:fade-in}.opp-turn,.play-row.is-turn{animation:none}}.game-panel{display:flex;flex-direction:column;gap:12px}.conn-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 14px;border-radius:var(--radius);font-size:13px;background:var(--bg-elevated);border:1px solid var(--border)}.conn-bar.conn-disconnected{border-color:var(--danger);color:var(--danger)}.conn-bar.conn-connecting{color:var(--text-muted)}.table-code{font-weight:600;font-size:13px}.lobby{display:flex;flex-direction:column;gap:14px}.lobby-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.lobby-code{font-size:26px;font-weight:800;letter-spacing:2px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.lobby-seats{display:flex;flex-direction:column;gap:8px}.lobby-seat{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:var(--radius);background:var(--bg-card);border:1px solid var(--border)}.lobby-seat-empty{opacity:.6;border-style:dashed}.lobby-seat-idx{width:22px;height:22px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;background:var(--bg-elevated);font-size:12px;font-weight:700}.lobby-seat-name{flex:1;display:flex;align-items:center;gap:6px;font-weight:500}.lobby-seat-x{margin-left:auto;padding:4px 9px}.lobby-cpu{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.lobby-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.lobby-start{padding:10px 24px;font-size:14px}.lobby-start:disabled{opacity:.45;cursor:not-allowed}.lobby-hint{font-size:12px}.lobby-pre{align-items:center}.prelobby-card{width:100%;max-width:420px;margin:12px auto;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:20px}.prelobby-card h3{margin:0 0 6px}.prelobby-create{width:100%;padding:12px;font-size:15px;margin-top:8px}.prelobby-sep{display:flex;align-items:center;text-align:center;color:var(--text-muted);font-size:12px;margin:14px 0}.prelobby-sep:before,.prelobby-sep:after{content:"";flex:1;border-top:1px solid var(--border)}.prelobby-sep span{padding:0 12px}.prelobby-join{display:flex;gap:8px}.prelobby-join .input{flex:1;text-transform:uppercase}.prelobby-configure{width:100%;padding:11px;font-size:14px;margin-top:8px}.prelobby-card .btn.prelobby-configure{margin-left:0}.lobby-config{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:12.5px;padding:6px 8px 6px 10px;border-radius:var(--radius);background:var(--bg-elevated);border:1px solid var(--border)}.lobby-config>.muted{flex:1;min-width:0}.lobby-config-edit{flex:0 0 auto;padding:4px 12px;font-size:12px}.cfg-card{display:flex;flex-direction:column}.cfg-card h3{margin:0 0 10px}.cfg-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 0;border-bottom:1px solid var(--border)}.cfg-label{font-size:14px}.cfg-hint{font-size:12px;margin:2px 0 0}.cfg-stepper{display:flex;align-items:center;gap:8px}.cfg-step{width:34px;height:34px;padding:0;font-size:18px;line-height:1;display:inline-flex;align-items:center;justify-content:center}.cfg-step:disabled{opacity:.4;cursor:not-allowed}.cfg-value{min-width:42px;text-align:center;font-weight:700;font-variant-numeric:tabular-nums}.cfg-seg{display:inline-flex;border:1px solid var(--border);border-radius:999px;overflow:hidden}.cfg-seg-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:transparent;color:var(--text-muted);padding:7px 14px;font-size:13px;font-weight:600;cursor:pointer}.cfg-seg-btn.is-on{background:var(--accent);color:var(--accent-text)}.cfg-advanced-toggle{width:100%;margin-top:12px;font-size:13px;text-align:left}.cfg-advanced{margin-top:6px}.cfg-canto-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 14px;margin-top:4px}.cfg-canto-grid .cfg-row{padding:6px 0}.cfg-canto-grid .cfg-label{font-size:13px}.cfg-canto-grid .cfg-step{width:30px;height:30px;font-size:16px}.cfg-canto-grid .cfg-value{min-width:30px}.cfg-actions{display:flex;gap:10px;margin-top:16px}.cfg-actions .btn{flex:1;padding:11px}.endgame-rematch{padding:10px 24px;font-size:15px}.endgame-leave{padding:10px 24px}@media(max-width:480px){.lobby-code{font-size:22px}}.lobby-seat.is-movable{cursor:pointer;-webkit-user-select:none;user-select:none;transition:border-color .15s,box-shadow .15s}.lobby-seat.is-picked{border-color:var(--accent);box-shadow:0 0 0 2px #2f81f759}.lobby-seat.is-target{border-style:dashed;border-color:#2f81f78c}.lobby-seat-move{color:var(--text-muted);font-size:15px}.lobby-legend{font-size:12px;margin:-6px 0 0}.team-tag{flex:0 0 auto;font-size:11px;font-weight:700;padding:2px 8px;border-radius:999px}.team-tag.team-A{background:#e5534b29;color:#ff7b72}.team-tag.team-B{background:#2f81f72e;color:#79b8ff}.cfg-ranked{font-size:12.5px;margin:0;padding:6px 10px;border-radius:var(--radius)}.cfg-card .cfg-ranked{margin:2px 0 6px}.cfg-ranked.is-ranked{background:#3fb9501f;color:var(--ok)}.cfg-ranked.is-custom{background:#d4a0171f;color:#d4a017}.lobby-head-actions{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}.public-rooms{margin-top:12px}.public-room{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 0;border-top:1px solid var(--border)}.public-room-info{display:flex;flex-direction:column;gap:2px;min-width:0}.public-room-info .muted{font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cfg-row-stack{flex-direction:column;align-items:flex-start;gap:6px}.canto-chips{display:flex;flex-wrap:wrap;gap:6px}.canto-chip{border:1px solid var(--accent);background:transparent;color:var(--text);border-radius:999px;padding:4px 10px;font-size:12px}.canto-chip.is-off{border-color:var(--border);color:var(--text-muted);text-decoration:line-through}.spectator-bar{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:6px 10px;margin:4px 0;border:1px dashed var(--border);border-radius:8px;font-size:13px}.real-panel{gap:10px}.real-seat,.real-mesa,.real-pp-v,.real-pp-k,.real-pp-p,.real-w,.real-chip,.real-foot{font:inherit;color:var(--text);cursor:pointer;-webkit-tap-highlight-color:transparent}.real-seat:disabled,.real-mesa:disabled,.real-foot:disabled{cursor:default}.real-dot{display:inline-block;width:9px;height:9px;border-radius:50%;flex:0 0 auto;margin-inline-end:6px;vertical-align:middle}.real-dot.c0,.real-bar i.c0{background:#e5534b}.real-dot.c1,.real-bar i.c1{background:#2f81f7}.real-dot.c2,.real-bar i.c2{background:#3fb950}.real-dot.c3,.real-bar i.c3{background:#d4a017}.real-board{display:flex;flex-direction:column;gap:8px;height:calc(100dvh - 150px - var(--tg-top-inset, 0px) - var(--tg-bottom-inset, 0px));min-height:430px}.real-top{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}.real-title{font-size:14px}.real-title b{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:1px}.real-chips{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px}.real-chip{font-size:12.5px;font-weight:600;padding:6px 12px;border-radius:999px;background:var(--bg-elevated);border:1px solid var(--border)}.real-chip:disabled{opacity:.4;cursor:default}.real-chip.danger{color:var(--danger)}.real-table{flex:1 1 auto;min-height:0;display:grid;grid-template-columns:minmax(74px,23%) 1fr minmax(74px,23%);grid-template-rows:minmax(88px,24%) 1fr minmax(88px,24%);gap:8px}.real-table.is-lobby{flex:0 0 auto;height:330px}.real-seat{position:relative;min-width:0;background:var(--bg-card);border:1px solid var(--border);border-radius:14px;padding:6px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;text-align:center;transition:border-color .15s,box-shadow .15s,transform .08s}.real-seat:not(:disabled):active{transform:scale(.98)}.real-seat.pos-top{grid-column:1 / span 3;grid-row:1}.real-seat.pos-bottom{grid-column:1 / span 3;grid-row:3}.real-seat.pos-left{grid-column:1;grid-row:2}.real-seat.pos-right{grid-column:3;grid-row:2}.real-seat.is-void{visibility:hidden}.real-seat.is-empty{background:transparent;border:1.5px dashed rgba(255,255,255,.22);color:var(--text-muted)}.real-seat.is-picked{border-color:var(--accent);box-shadow:0 0 0 2px #2f81f766}.real-seat.is-target{border-color:#2f81f78c;border-style:dashed}.real-seat .team-tag{position:absolute;top:6px;right:6px;writing-mode:horizontal-tb}.real-seat.pos-left .team-tag{right:auto;left:6px}.real-seat-in{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;align-self:stretch;min-inline-size:0}.real-seat.pos-left,.real-seat.pos-right{writing-mode:vertical-rl}.real-seat.pos-right .real-seat-in{transform:rotate(180deg)}.pos-left .real-seat-pts,.pos-right .real-seat-pts{line-height:1.05}.real-table.is-facing .pos-top .real-seat-in{transform:rotate(180deg)}.real-seat-name{max-inline-size:100%;font-size:12.5px;font-weight:600;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.real-seat-pts{font-size:30px;font-weight:800;letter-spacing:-.5px;line-height:1}.real-seat-sub{font-size:10.5px;color:var(--text-muted)}.real-seat-free{font-size:12px}.real-seat-tags{display:flex;align-items:center;gap:4px;flex-wrap:wrap;justify-content:center}.real-seat-tags small{font-size:10px;color:var(--text-muted);background:var(--bg-elevated);border-radius:999px;padding-block:1px;padding-inline:6px}.real-seat-tags small.is-off{color:var(--danger)}.real-bar{inline-size:72%;block-size:4px;border-radius:4px;background:var(--bg-elevated);overflow:hidden;display:block}.real-bar i{display:block;block-size:100%;transition:inline-size .3s}.real-center{grid-column:2;grid-row:2;display:flex;align-items:center;justify-content:center;min-width:0;min-height:0}.real-mesa{width:min(118px,100%);aspect-ratio:1;border-radius:50%;background:radial-gradient(circle at 35% 30%,#23a160,#146b3f);border:2px solid rgba(255,255,255,.18);box-shadow:0 4px 14px #0006;display:flex;flex-direction:column;align-items:center;justify-content:center;font-weight:700;font-size:13px;line-height:1.15;color:#fff;padding:6px}.real-mesa:not(:disabled):active{transform:scale(.97)}.real-mesa:disabled{filter:saturate(.8)}.real-mesa-icon{font-size:18px}.real-mesa small{font-weight:500;font-size:11px;opacity:.85;margin-top:3px}.real-ref-disc{width:min(118px,100%);aspect-ratio:1;border-radius:50%;background:var(--bg-elevated);border:2px dashed var(--border);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;font-size:12.5px;line-height:1.15;padding:10px;min-width:0}.real-ref-name{font-weight:700;max-inline-size:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.real-ref-disc small{font-size:10.5px;color:var(--text-muted);margin-top:2px}.real-felt{width:100%;height:100%;border-radius:14px;background:#1792571a;border:1px solid rgba(23,146,87,.25);display:flex;align-items:center;justify-content:center;color:var(--text-muted);font-size:12px;text-align:center;padding:8px}.real-foot{flex:0 0 auto;display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:38px;padding:6px 12px;border-radius:10px;background:var(--bg-card);border:1px solid var(--border);font-size:12.5px;text-align:left}.real-foot-last{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.real-foot-count{flex:0 0 auto;color:var(--text-muted);font-size:12px}.real-sheet-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;background:#05080c9e;display:flex;align-items:flex-end;justify-content:center;touch-action:none}.real-sheet-backdrop.is-center{align-items:center;padding:16px}.real-sheet{width:100%;max-width:560px;max-height:86dvh;overflow-y:auto;overscroll-behavior:contain;touch-action:pan-y;transition:transform .15s ease-out;background:var(--bg-card);border-top:1px solid var(--border);border-radius:18px 18px 0 0;padding:10px 14px calc(16px + var(--tg-bottom-inset, 0px));animation:real-up .16s ease-out}@keyframes real-up{0%{transform:translateY(24px);opacity:.6}to{transform:none;opacity:1}}.real-sheet-head{touch-action:none;cursor:grab;padding-top:4px}.real-sheet-grab{width:38px;height:4px;border-radius:4px;background:#39414f;margin:0 auto 10px}.real-sheet-title{font-weight:700;font-size:15px;display:flex;align-items:center;gap:4px;margin-bottom:6px}.real-sheet-title .muted{font-weight:400}.real-sheet .btn+.btn{margin-left:0}.real-lbl{font-size:10.5px;text-transform:uppercase;letter-spacing:.6px;color:var(--text-muted);margin:10px 0 6px}.real-row4{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}.real-row-ronda{margin-bottom:6px}.real-pp-v:active,.real-pp-k:active,.real-pp-p:active,.real-w:active{background:var(--accent);border-color:var(--accent);color:var(--accent-text)}.real-grid2{display:grid;grid-template-columns:1fr 1fr;gap:6px}.real-pp-cols{display:grid;gap:6px;align-items:stretch}.real-pp-col{display:flex;flex-direction:column;gap:5px;min-width:0}.real-pp-h{font-size:11px;font-weight:700;letter-spacing:.4px;text-transform:uppercase;text-align:center;padding-bottom:2px}.real-pp-col.is-caida .real-pp-h{color:#ff8a80}.real-pp-col.is-ronda .real-pp-h{color:#c9a7ff}.real-pp-col.is-canto .real-pp-h,.real-pp-lbl{color:#e3b341}.real-pp-v{flex:1;min-height:52px;border-radius:10px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;padding:4px 2px}.real-pp-v b{font-size:19px}.real-pp-v small{font-size:11px;color:var(--text-muted)}.is-caida .real-pp-v{background:#e5534b1f;border:1px solid rgba(229,83,75,.45)}.is-caida .real-pp-v b{color:#ff8a80}.is-ronda .real-pp-v{background:#a371f71f;border:1px solid rgba(163,113,247,.45)}.is-ronda .real-pp-v b{color:#c9a7ff}.real-pp-k{min-height:40px;border-radius:9px;padding:0 8px;display:flex;align-items:center;justify-content:space-between;gap:4px;font-size:13px;font-weight:600;background:#d4a01714;border:1px solid rgba(212,160,23,.3)}.real-pp-col .real-pp-k{flex:1}.real-pp-k span{color:#e3b341;font-size:12px;font-weight:700}.real-pp-k.is-win{background:#d4a0172e;border-color:#d4a01799}.real-pp-lbl{font-size:11px;font-weight:700;letter-spacing:.4px;text-transform:uppercase;margin:12px 0 6px}.real-pp-team{margin-top:12px;border:1px solid rgba(63,185,80,.45);background:#3fb95014;border-radius:12px;padding:10px;display:flex;flex-direction:column;gap:8px}.real-pp-team-h{font-weight:700;display:flex;justify-content:space-between;align-items:baseline;gap:8px}.real-pp-team-h small{color:var(--text-muted);font-weight:400;font-size:12px}.real-pp-quick{display:grid;grid-template-columns:repeat(5,1fr) 1.6fr;gap:5px}.real-pp-p{min-height:38px;border-radius:8px;font-weight:700;background:#3fb9501f;border:1px solid rgba(63,185,80,.3)}.real-pp-p.is-other{background:var(--bg-elevated);border-color:var(--border);color:var(--text-muted);font-weight:600;font-size:12px}.real-pp-p.is-other.is-on{border-color:#3fb95099;color:var(--text)}.real-extra{display:flex;flex-direction:column;gap:6px}.real-mini{display:flex;align-items:center;gap:8px}.real-mini-lbl{flex:1;font-size:13px}.real-mini .cfg-value{min-width:26px;text-align:center}.real-mini-add{min-width:54px}.real-who{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:4px}.real-w{min-height:60px;border-radius:12px;background:var(--bg-elevated);border:1px solid var(--border);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;font-weight:700;font-size:13.5px;padding:6px;text-align:center}.real-w small{font-size:11.5px;color:var(--text-muted);font-weight:500}.real-note{font-size:12px;margin:10px 0 0;text-align:center}.real-wide{width:100%;margin-top:10px;padding:11px}.real-history{list-style:none;margin:0;padding:0}.real-history li{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 0;border-top:1px solid var(--border);font-size:13px}.real-history li:first-child{border-top:0}.real-x{padding:3px 9px}.real-win{width:100%;max-width:380px;background:var(--bg-card);border:1px solid #d4a017;border-radius:16px;padding:20px 18px;text-align:center;box-shadow:0 0 28px #d4a01740}.real-win h3{margin:6px 0 4px}.real-win-score{font-size:22px;font-weight:800;margin:0 0 6px}.real-win .btn+.btn{margin-left:0}.real-selbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:8px 10px;border-radius:var(--radius);background:var(--bg-elevated);border:1px solid var(--accent);font-size:13px}.real-selbar>span{flex:1;min-width:140px}.real-pre-points{margin:8px 0 4px;padding-left:18px;font-size:13px;color:var(--text-muted)}.real-pre-points li{margin:3px 0}.real-referee{display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:12px;background:var(--bg-elevated);font-size:13px}.real-referee>span{flex:1}.real-referee small{display:block;font-size:11.5px;margin-top:2px}.real-referee.is-away{border:1px solid #d4a017}.real-referee .btn{margin-left:0;flex:0 0 auto}.real-head-actions{display:flex;align-items:center;gap:6px}.real-fin-top{display:flex;justify-content:flex-end;inline-size:100%}.real-people{list-style:none;margin:0 0 6px;padding:0}.real-people li{display:flex;align-items:center;gap:6px;padding:7px 0;border-top:1px solid var(--border);font-size:13.5px}.real-people li:first-child{border-top:0}.real-people.is-queue{counter-reset:q}.real-people.is-queue li:before{counter-increment:q;content:counter(q) ".";color:var(--text-muted);font-variant-numeric:tabular-nums;min-inline-size:1.4em}.real-people-name{flex:1;min-width:0;display:flex;align-items:center;flex-wrap:wrap;gap:4px 6px}.real-people .real-dot{margin-inline-end:0}.real-tag{font-size:10px;color:var(--text-muted);background:var(--bg-elevated);border-radius:999px;padding:1px 6px}.real-tag.is-off{color:var(--danger)}.real-people .btn+.btn{margin-left:0}.real-mini-btn{padding:4px 10px;font-size:12px;white-space:nowrap}.real-people-empty{font-size:13px;margin:2px 0 8px}.real-people-add{margin:4px 0 6px}.real-sheet-backdrop .prelobby-join .input{text-transform:none}.real-queue-join{margin-top:6px}.endgame-actions>.real-referee,.endgame-actions>.real-queue-join{flex:1 1 100%}.real-next{display:flex;flex-direction:column;gap:8px;inline-size:100%}.real-next .btn{display:flex;flex-direction:column;align-items:center;gap:2px;padding:11px;margin:0}.real-next .btn+.btn{margin-left:0}.real-next .btn small{font-size:11.5px;font-weight:400;opacity:.8}.real-result{width:100%;max-width:460px;display:flex;flex-direction:column;gap:8px}.real-result-slot{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:10px 12px}.real-result-slot.is-winner{border-color:var(--ok)}.real-result-head{display:flex;justify-content:space-between;font-weight:700;margin-bottom:4px}.real-result-head b{font-size:18px}.real-result-row{display:flex;justify-content:space-between;gap:8px;font-size:12.5px;padding:3px 0}.real-result-row .muted{font-size:11.5px;text-align:right}.real-saved{font-size:12px;text-align:center;margin:0}@media(max-width:360px){.real-seat-pts{font-size:24px}.real-k{font-size:15px}}.wrapped{position:fixed;top:0;right:0;bottom:0;left:0;z-index:95;display:flex;flex-direction:column;color:#fff;transition:background-color .45s ease;padding-top:var(--tg-top-inset, 0px);padding-bottom:var(--tg-bottom-inset, 0px);user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;overflow:hidden}.wrapped:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(120% 70% at 80% 0%,rgba(255,255,255,.22),transparent 60%),radial-gradient(90% 60% at 0% 100%,rgba(0,0,0,.25),transparent 70%);pointer-events:none}.wrapped-top{position:relative;z-index:2;padding:10px 12px 0}.wrapped-progress{display:flex;gap:4px}.wrapped-seg{flex:1;height:3px;border-radius:2px;background:#ffffff4d;overflow:hidden}.wrapped-fill{display:block;height:100%;width:0;background:#fff}.wrapped-fill.done{width:100%}.wrapped-fill.run{animation-name:wrapped-fill;animation-timing-function:linear;animation-fill-mode:forwards}@keyframes wrapped-fill{0%{width:0}to{width:100%}}.wrapped-bar{display:flex;justify-content:space-between;align-items:center;margin-top:10px}.wrapped-year{background:#00000040;color:#fff;border:1px solid rgba(255,255,255,.35);border-radius:999px;padding:4px 10px;font-size:13px}.wrapped-close{background:#00000040;color:#fff;border:0;width:34px;height:34px;border-radius:50%;font-size:16px;cursor:pointer}.wrapped-stage{position:relative;z-index:1;flex:1;display:flex;align-items:center;justify-content:center;padding:16px 24px 40px;cursor:pointer;touch-action:manipulation}.wrapped-msg{font-size:16px;opacity:.9}.wrapped-card{width:100%;max-width:420px;text-align:center;animation:wrapped-in .45s ease both}@keyframes wrapped-in{0%{opacity:0;transform:translateY(18px) scale(.98)}to{opacity:1;transform:none}}.wrapped-kicker{margin:0 0 8px;font-size:15px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;opacity:.85}.kind-cover .wrapped-kicker{font-size:44px;text-transform:none}.wrapped-value{margin:0;font-size:clamp(72px,26vw,120px);line-height:1;font-weight:900;letter-spacing:-.03em;font-variant-numeric:tabular-nums;text-shadow:0 6px 24px rgba(0,0,0,.18);overflow-wrap:anywhere}.wrapped-value.is-text{font-size:clamp(34px,11vw,56px);line-height:1.08;letter-spacing:-.01em}.kind-cover .wrapped-value.is-text{font-size:clamp(40px,13vw,64px)}.wrapped-line{margin:14px 0 0;font-size:22px;font-weight:700}.wrapped-sub{margin:12px auto 0;max-width:320px;font-size:16px;opacity:.9}.wrapped-note{margin:18px auto 0;max-width:300px;font-size:12px;opacity:.75}.wrapped-summary .wrapped-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:8px 0 18px}.wrapped-mini{background:#0003;border-radius:16px;padding:14px 8px;display:flex;flex-direction:column;gap:4px}.wrapped-mini strong{font-size:30px;font-weight:900;font-variant-numeric:tabular-nums}.wrapped-mini span{font-size:12px;opacity:.85}.wrapped-persona{margin:0 0 20px;font-size:28px;font-weight:900;display:flex;flex-direction:column;gap:2px}.wrapped-persona small{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;opacity:.8}.wrapped-actions{display:flex;flex-direction:column;gap:10px}.wrapped-btn{border:0;border-radius:999px;padding:13px 16px;font-size:15px;font-weight:700;color:#fff;background:#00000047;cursor:pointer}.wrapped-btn.primary{background:#fff;color:#1b0b45}.wrapped-btn.ghost{background:transparent;text-decoration:underline;padding:6px}.wrapped-entry{display:flex;align-items:center;gap:12px;width:100%;text-align:left;border:1px solid var(--border);background:var(--bg-card);color:var(--text);border-radius:var(--radius);padding:12px 14px;margin-bottom:var(--gap);cursor:pointer}.wrapped-entry strong{display:block;font-size:15px}.wrapped-entry small{display:block;color:var(--text-muted);font-size:12px}.wrapped-entry .wrapped-entry-go{margin-left:auto;font-size:20px}.wrapped-entry.is-december{border:0;color:#fff;background:linear-gradient(120deg,#5b2a86,#d1495b 60%,#d9822b);padding:16px}.wrapped-entry.is-december small{color:#ffffffe6}@media(prefers-reduced-motion:reduce){.wrapped,.wrapped-card{transition:none;animation:none}}:root{--bg: #0e1116;--bg-card: #161b22;--bg-elevated: #1c2230;--border: rgba(255,255,255,.08);--text: #e6edf3;--text-muted: #8b949e;--accent: #2f81f7;--accent-text: #ffffff;--link: #58a6ff;--danger: #f85149;--ok: #3fb950;--radius: 10px;--gap: 12px}*{box-sizing:border-box}html,body{margin:0;padding:0}html{overscroll-behavior-y:contain}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;background:var(--bg);color:var(--text);font-size:14px;line-height:1.45;-webkit-tap-highlight-color:transparent;overscroll-behavior-y:contain}.muted{color:var(--text-muted);font-size:13px}small.muted{font-size:11px}code{background:var(--bg-elevated);padding:1px 6px;border-radius:4px;font-size:12px}.cell-mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;color:var(--text-muted)}.topbar{background:var(--bg-card);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:10;padding-top:var(--tg-top-inset, 0px)}.topbar-inner{padding:14px 16px 6px;display:flex;align-items:baseline;gap:12px}.topbar h1{font-size:17px;margin:0;font-weight:600}.tabs{display:flex;gap:4px;padding:0 8px 8px;overflow-x:auto;scrollbar-width:none}.tabs::-webkit-scrollbar{display:none}.tab{background:transparent;color:var(--text-muted);border:0;padding:8px 12px;border-radius:var(--radius);cursor:pointer;font-size:13px;font-weight:500;white-space:nowrap}.tab.active{color:var(--accent-text);background:var(--accent)}main{max-width:1200px;margin:0 auto}.tab-panel{padding:16px}.tab-panel:not(.game-panel){padding-bottom:calc(16px + var(--tg-bottom-inset, 0px))}.cards-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:var(--gap);margin-bottom:var(--gap)}.kpi{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:12px 16px}.kpi-label{font-size:11px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px}.kpi-value{font-size:22px;font-weight:700;margin-top:2px}.card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:14px 16px;margin-bottom:var(--gap)}.card-title{font-size:13px;color:var(--text-muted);margin-bottom:10px}.stats-chart{position:relative;height:280px}.card-title .muted{font-weight:400}.achievement-badge{display:inline-block;margin-bottom:12px;padding:6px 14px;border-radius:999px;font-weight:700;font-size:13px;color:var(--text);background:linear-gradient(90deg,rgba(212,160,23,.22),var(--bg-card));border:1px solid #d4a017}.sing-row{display:flex;justify-content:space-between;padding:6px 0;border-top:1px solid var(--border)}.sing-row:first-child{border-top:0}.row-toggle{display:flex;align-items:center;justify-content:space-between;gap:12px}.row-toggle small{display:block;margin-top:2px}.row-toggle+.row-toggle{margin-top:12px;padding-top:12px;border-top:1px solid var(--border)}.awake-status{font-size:11.5px}.awake-status.is-wakelock,.awake-status.is-video{color:var(--ok)}.awake-status.is-failed{color:var(--danger)}.awake-status.is-off{color:var(--text-muted)}.row-toggle input[type=checkbox]{width:44px;height:26px;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:var(--bg-elevated);border:1px solid var(--border);border-radius:999px;position:relative;cursor:pointer;transition:background .2s}.row-toggle input[type=checkbox]:checked{background:var(--accent)}.row-toggle input[type=checkbox]:after{content:"";position:absolute;top:2px;left:2px;width:20px;height:20px;background:#fff;border-radius:50%;transition:transform .2s}.row-toggle input[type=checkbox]:checked:after{transform:translate(18px)}.toolbar{display:flex;gap:8px;align-items:center;margin-bottom:12px;flex-wrap:wrap}.input{background:var(--bg-card);color:var(--text);border:1px solid var(--border);border-radius:var(--radius);padding:8px 12px;font-size:14px;font-family:inherit;outline:none}.input:focus{border-color:var(--accent)}input[type=search].input{min-width:220px;flex:1 1 220px}input[type=number].input,input[type=text].input{width:100%}.table-wrap{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);overflow:auto}.data-table{width:100%;border-collapse:collapse;font-size:13px}.data-table thead th{background:var(--bg-elevated);color:var(--text-muted);text-align:left;padding:10px 14px;font-weight:600;font-size:11px;text-transform:uppercase;letter-spacing:.4px;position:sticky;top:0;white-space:nowrap}.data-table tbody td{padding:10px 14px;border-top:1px solid var(--border);vertical-align:middle}.col-actions{width:1%;white-space:nowrap}.badge{display:inline-flex;align-items:center;padding:2px 8px;border-radius:999px;font-size:11px;font-weight:600}.badge.ok{background:#3fb9502e;color:var(--ok)}.badge.no{background:#8b949e2e;color:var(--text-muted)}.badge.banned{background:#f851492e;color:var(--danger)}.badge.cpu{background:#2f81f72e;color:var(--accent, #2f81f7);margin-left:6px;vertical-align:middle}.btn{background:var(--bg-elevated);color:var(--text);border:1px solid var(--border);border-radius:8px;padding:6px 12px;font-size:12px;font-family:inherit;font-weight:500;cursor:pointer}.btn:hover{background:var(--accent);border-color:var(--accent);color:var(--accent-text)}.btn-primary{background:var(--accent);color:var(--accent-text);border-color:var(--accent)}.btn-danger:hover{background:var(--danger);border-color:var(--danger);color:#fff}.btn+.btn{margin-left:6px}.pager{display:flex;justify-content:center;align-items:center;gap:8px;margin-top:14px;color:var(--text-muted);font-size:13px}.pager button{background:var(--bg-card);color:var(--text);border:1px solid var(--border);border-radius:8px;padding:6px 12px;cursor:pointer}.pager button:disabled{opacity:.4;cursor:not-allowed}.public-card{display:flex;justify-content:space-between;align-items:center;gap:12px}.public-card-head{display:flex;flex-direction:column}.toast{position:fixed;bottom:16px;left:50%;transform:translate(-50%);background:var(--bg-card);border:1px solid var(--border);border-left:4px solid var(--accent);border-radius:var(--radius);padding:10px 18px;font-size:14px;box-shadow:0 4px 12px #0006;z-index:100;max-width:calc(100vw - 32px)}.toast.err{border-left-color:var(--danger)}.toast.ok{border-left-color:var(--ok)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:50;padding:16px}.modal{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:20px;width:100%;max-width:460px}.modal h3{margin-top:0}.modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:16px}.login-page,body:has(#not-in-telegram:not([hidden])){display:flex;align-items:center;justify-content:center;min-height:100vh}.login-card,.banner{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:28px 32px;max-width:460px}.login-card h1,.banner h2{margin-top:0}.login-card ol,.banner ol{margin:14px 0;padding-left:20px;line-height:1.8}.banner{margin:24px auto;max-width:460px}@media(max-width:700px){.topbar-inner{flex-direction:column;align-items:flex-start;gap:4px}.tab-panel{padding:12px}.cards-row{grid-template-columns:repeat(2,1fr)}.data-table thead th,.data-table tbody td{padding:8px 10px}.col-actions .btn{padding:5px 8px;font-size:11px}}.card-subtitle{font-size:12px;color:var(--text-muted);margin:12px 0 4px}.history-list{list-style:none;margin:0;padding:0}.history-row{display:flex;flex-direction:column;gap:4px;padding:9px 0;border-top:1px solid var(--border)}.history-row:first-child{border-top:0}.history-main{display:flex;justify-content:space-between;align-items:baseline;gap:8px}.history-when{font-size:13px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.history-result{flex:0 0 auto;font-size:12.5px;color:var(--text-muted);display:flex;gap:6px;align-items:baseline}.history-result.is-won{color:var(--ok)}.history-result b{color:var(--text);font-size:13px}.history-vs{font-size:12px}.history-foot{font-size:11px;margin:8px 0 0}.top-switch{flex:0 0 auto}.top-note{font-size:12px;margin:0 0 10px}.top-legend{margin:8px 0 0}.top-reset{background:none;border:0;padding:0;font:inherit;color:var(--accent);text-decoration:underline;cursor:pointer}.data-table thead th.is-sorted{color:var(--text)}.data-table tbody tr.is-unranked td{color:var(--text-muted)}.data-table tbody tr.is-first-unranked td{border-top:2px dashed var(--text-muted)}.partners-highlights{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:8px}.partners-hl{background:var(--bg-elevated);border-radius:10px;padding:8px 10px;min-width:0}.partners-hl-label{font-size:10.5px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.4px}.partners-hl-who{font-weight:700;font-size:15px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.partners-hl-detail{font-size:12px;color:var(--text-muted)}.partners-avg{font-size:12px;margin:0 0 6px}.partners-list{list-style:none;margin:0;padding:0}.partners-list li{display:grid;grid-template-columns:minmax(0,1fr) 52px 44px 40px;gap:6px;align-items:center;padding:7px 0;border-top:1px solid var(--border);font-size:13.5px}.partners-list li>span:not(:first-child){text-align:right;font-variant-numeric:tabular-nums}.partners-list li.is-head{border-top:0;padding:0 0 4px;font-size:10.5px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.4px}.partners-list li.is-few{color:var(--text-muted)}.partners-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.partners-guest{color:var(--text-muted);font-size:11px}.partners-delta{font-weight:700}.partners-delta.is-up{color:var(--ok)}.partners-delta.is-down{color:var(--danger)}.badge-ok{background:#3fb95026;color:var(--ok)}.badge-accent{background:#2f81f726;color:var(--accent)}.badge-stars{background:#e3b34126;color:#e3b341;border:1px solid rgba(227,179,65,.3)}.btn-stars{background:linear-gradient(135deg,#e3b341,#d29922);color:#0e1116;font-weight:700;border-color:transparent}.btn-stars:hover{opacity:.95}.btn-sm{padding:4px 8px;font-size:11px}.btn-block{width:100%;display:flex;justify-content:center}.progress{background:var(--bg-elevated);height:5px;border-radius:999px;overflow:hidden;margin:6px 0}.progress-bar{background:var(--accent);height:100%;border-radius:999px}.tournaments-panel .btn:disabled,.tournaments-panel .slot:disabled{opacity:.45;cursor:not-allowed;pointer-events:none}.team-grid{display:flex;flex-direction:column;gap:8px;margin-top:8px}.team-box{background:var(--bg-elevated);border:1px solid var(--border);border-radius:8px;padding:10px 12px}.team-box.has-me{border-color:#2f81f780;background:#2f81f70d}.team-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px;font-size:12px;font-weight:600;color:var(--text-muted)}.team-slots{display:grid;grid-template-columns:1fr 1fr;gap:6px}.slot{padding:8px 10px;border-radius:6px;font-size:12px;display:flex;align-items:center;justify-content:space-between;gap:4px;border:1px solid var(--border)}.slot-filled{background:var(--bg-card);color:var(--text)}.slot-filled.is-me{border-color:var(--accent);background:#2f81f726;font-weight:600}.slot-empty{background:transparent;border:1px dashed var(--border);color:var(--link);cursor:pointer;justify-content:center;font-weight:500}.slot-empty:hover{background:var(--bg-card);border-color:var(--accent)}.form-group{margin-bottom:12px}.form-label{display:block;font-size:11px;color:var(--text-muted);margin-bottom:4px;font-weight:500}.match-card{background:var(--bg-elevated);border:1px solid var(--border);border-radius:8px;padding:10px 12px;margin-bottom:8px}.match-card.is-completed{opacity:.85}.match-header{display:flex;justify-content:space-between;align-items:center;font-size:11px;margin-bottom:6px}.match-participant{display:flex;justify-content:space-between;align-items:center;padding:3px 0;font-size:12px}.match-participant.is-winner{color:var(--accent);font-weight:600}.match-score{font-variant-numeric:tabular-nums;font-weight:600}.match-card.is-mine{border-color:var(--accent)}.match-series{font-variant-numeric:tabular-nums;color:var(--text)}.match-games{font-size:11px;margin-top:4px}.match-actions{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.tournament-champion{font-weight:600;text-align:center}.tournament-banner{font-size:12px;font-weight:600;text-align:center;color:var(--accent);margin:0 0 8px}.standings-table tbody tr.is-mine td{color:var(--accent);font-weight:600}.standings-table tbody tr.is-cut td{border-bottom:2px dashed var(--accent)}.form-row-2{display:grid;grid-template-columns:1fr 1fr;gap:0 10px}.form-row-2 .cfg-seg{display:flex;width:100%}.form-row-2 .cfg-seg-btn{flex:1;padding-left:4px;padding-right:4px;font-size:12px;white-space:nowrap}.form-section{font-size:11px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;border-top:1px solid var(--border);padding-top:8px;margin:4px 0 8px}.history-tap{display:flex;flex-direction:column;gap:4px;width:100%;padding:0;margin:0;border:0;background:none;color:inherit;font:inherit;text-align:left;cursor:pointer}.history-tap:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:6px}.sum-head{display:flex;flex-direction:column;gap:2px;margin-bottom:4px}.sum-score{font-size:26px;font-weight:700;font-variant-numeric:tabular-nums}.sum-meta{font-size:12px}.sum-sub{font-size:12px;font-weight:600;color:var(--text-muted);margin:14px 0 6px}.sum-chart{width:100%;height:auto;display:block}.sum-axis{font-size:9px;fill:var(--text-muted)}.sum-grid{stroke:var(--border);stroke-width:1}.sum-target{stroke:var(--text-muted);stroke-width:1;stroke-dasharray:3 3;opacity:.6}.sum-legend{list-style:none;margin:6px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:4px 14px;font-size:12px}.sum-legend li{display:flex;align-items:center;gap:6px;min-width:0}.sum-legend i{width:10px;height:10px;border-radius:3px;flex:0 0 auto}.sum-players,.sum-ops{list-style:none;margin:0;padding:0}.sum-players li{padding:7px 0;border-top:1px solid var(--border)}.sum-players li:first-child{border-top:0}.sum-pl-top{display:flex;justify-content:space-between;gap:8px;font-size:14px}.sum-pl-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sum-pl-line{font-size:12px}.sum-ops li{display:grid;grid-template-columns:66px 1fr auto;gap:8px;padding:5px 0;font-size:13px;border-top:1px solid var(--border)}.sum-ops li:first-child{border-top:0}.sum-op-time,.sum-op-score{color:var(--text-muted);font-size:12px}.sum-close{width:100%;margin-top:14px}
