:root{--bg:#0b1020;--bg-deep:#080d1a;--surface:rgba(17,24,39,.92);--surface-2:rgba(255,255,255,.055);--border:rgba(255,255,255,.09);--text:#f8fafc;--muted:#a8b1c0;--green:#22c55e;--green-dark:#16a34a;--blue:#2563eb;--blue-dark:#1d4ed8;--red:#ef4444;--amber:#f59e0b;--success:#86efac;--error:#fca5a5;--radius-xl:28px;--radius-lg:20px;--radius-md:14px}*{box-sizing:border-box}html{min-height:100%;background:var(--bg)}body{margin:0;min-height:100vh;color:var(--text);background:radial-gradient(circle at 15% 5%,rgba(37,99,235,.18),transparent 27%),radial-gradient(circle at 85% 85%,rgba(34,197,94,.12),transparent 25%),linear-gradient(155deg,var(--bg-deep),#111827 58%,#0f172a);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}button,input,select{font:inherit}button{-webkit-tap-highlight-color:transparent}.hidden{display:none!important}.app-shell{min-height:100vh;padding:max(24px,env(safe-area-inset-top)) 18px max(24px,env(safe-area-inset-bottom))}.view{min-height:calc(100vh - 48px);display:none;place-items:center}.view.active{display:grid}.panel,.modal-card{width:min(100%,470px);padding:34px 24px 28px;border:1px solid var(--border);border-radius:var(--radius-xl);background:var(--surface);box-shadow:0 30px 80px rgba(0,0,0,.34);backdrop-filter:blur(18px)}.welcome-panel{text-align:center}.brand-mark{width:88px;height:88px;margin:0 auto 18px;display:grid;place-items:center;border-radius:24px;font-size:46px;background:linear-gradient(145deg,rgba(255,255,255,.12),rgba(255,255,255,.04));border:1px solid rgba(255,255,255,.1)}.eyebrow,.muted-label{margin:0;color:var(--muted);font-size:.72rem;font-weight:900;letter-spacing:.17em}.top-eyebrow{margin-bottom:4px}h1{margin:0;font-size:clamp(2.7rem,13vw,4.2rem);line-height:.95;letter-spacing:-.055em}h2{margin:6px 0 22px;font-size:clamp(1.9rem,8vw,2.5rem);line-height:1}h3{margin:5px 0 0}.headline{margin:28px 0 0;display:grid;gap:2px;font-size:clamp(1.35rem,6vw,1.85rem);font-weight:900;line-height:1.05}.subtitle{max-width:355px;margin:18px auto 0;color:var(--muted);line-height:1.55}.subtitle.compact{margin-top:-10px;margin-bottom:24px;font-size:.93rem}.stack,.form-grid{display:grid;gap:14px}.stack{margin-top:34px}.form-grid label{display:grid;gap:7px;font-size:.93rem;font-weight:750}input,select{width:100%;min-height:50px;padding:0 14px;border:1px solid var(--border);border-radius:var(--radius-md);color:var(--text);background:rgba(255,255,255,.055);outline:none}input:focus,select:focus{border-color:rgba(255,255,255,.4);box-shadow:0 0 0 3px rgba(255,255,255,.07)}select option{color:#111827}small{color:var(--muted);font-size:.78rem}.btn{width:100%;min-height:58px;border:0;border-radius:var(--radius-lg);color:white;font-weight:900;letter-spacing:.055em;cursor:pointer}.btn:disabled{opacity:.55}.btn-start{background:linear-gradient(135deg,var(--green-dark),var(--green))}.btn-login{background:linear-gradient(135deg,var(--blue-dark),var(--blue))}.back-btn,.icon-btn,.tiny-btn,.modal-close{border:1px solid var(--border);color:var(--text);background:var(--surface-2);cursor:pointer}.back-btn{margin-bottom:22px;padding:10px 12px;border-radius:12px}.tiny-btn{padding:8px 10px;border-radius:10px}.status{min-height:20px;margin:18px 0 0;color:var(--muted);font-size:.84rem;line-height:1.4;text-align:center}.status.ok{color:var(--success)}.status.error{color:var(--error)}.main-app{min-height:100vh;padding-bottom:calc(92px + env(safe-area-inset-bottom))}.topbar{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:max(18px,env(safe-area-inset-top)) 18px 14px;background:linear-gradient(to bottom,rgba(8,13,26,.98),rgba(8,13,26,.88),transparent);backdrop-filter:blur(10px)}.topbar h2{margin:0;font-size:1.7rem}.icon-btn{position:relative;width:46px;height:46px;border-radius:15px;font-size:1.1rem}.badge{position:absolute;top:-4px;right:-4px;min-width:19px;height:19px;padding:0 5px;display:grid;place-items:center;border-radius:999px;background:var(--red);color:white;font-size:.68rem;font-weight:900}.content-area{width:min(100%,760px);margin:0 auto;padding:8px 16px 30px}.tab-page{display:none}.tab-page.active{display:block}.hero-card,.section-card,.profile-header-card{border:1px solid var(--border);background:linear-gradient(145deg,rgba(255,255,255,.075),rgba(255,255,255,.035));box-shadow:0 18px 50px rgba(0,0,0,.16)}.hero-card{padding:22px;border-radius:26px}.hero-card h3{font-size:1.7rem}.profile-handle{margin:4px 0 0;color:var(--muted)}.ratings-dual{margin-top:22px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.ratings-dual article,.profile-rating-grid article{display:grid;gap:7px;padding:16px;border:1px solid var(--border);border-radius:18px;background:rgba(0,0,0,.18)}.ratings-dual span,.profile-rating-grid span{color:var(--muted);font-size:.86rem}.ratings-dual strong,.profile-rating-grid strong{font-size:2rem;line-height:1}.quick-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:14px}.quick-card{min-height:110px;padding:16px;display:flex;align-items:center;gap:12px;text-align:left;border:1px solid var(--border);border-radius:20px;color:var(--text);background:var(--surface-2);cursor:pointer}.quick-card.primary-action{background:linear-gradient(145deg,rgba(34,197,94,.22),rgba(34,197,94,.07))}.quick-icon{font-size:1.7rem}.quick-card strong,.quick-card small{display:block}.section-card{margin-top:14px;padding:20px;border-radius:22px}.page-heading{padding:4px 4px 14px}.page-heading h2{margin:5px 0 8px}.page-heading p:last-child{margin:0;color:var(--muted)}.segmented{display:grid;grid-template-columns:repeat(2,1fr);gap:6px;padding:5px;border:1px solid var(--border);border-radius:16px;background:rgba(255,255,255,.035)}.segment{min-height:42px;border:0;border-radius:12px;color:var(--muted);background:transparent;font-weight:800;cursor:pointer}.segment.active{color:white;background:rgba(255,255,255,.09)}.search-box{margin-top:12px;display:flex;align-items:center;gap:8px;padding-left:12px;border:1px solid var(--border);border-radius:16px;background:rgba(255,255,255,.04)}.search-box input{border:0;background:transparent;box-shadow:none}.ranking-list,.challenge-list,.player-search-results,.match-list,.history-list{display:grid;gap:8px}.rank-row,.player-row,.challenge-row,.match-row,.history-row{display:grid;align-items:center;gap:10px;padding:12px;border-radius:16px;background:rgba(255,255,255,.04)}.rank-row{grid-template-columns:42px 1fr auto}.player-row{grid-template-columns:1fr auto}.challenge-row,.match-row{grid-template-columns:1fr auto}.rank-pos{font-weight:900;text-align:center}.rank-name strong,.rank-name small,.player-row strong,.player-row small,.challenge-meta strong,.challenge-meta small,.match-meta strong,.match-meta small{display:block}.rank-name small,.player-row small,.challenge-meta small,.match-meta small{margin-top:3px}.rank-rating{font-size:1.15rem;font-weight:900}.loading-row{padding:22px;text-align:center;color:var(--muted)}.player-row button,.challenge-actions button,.match-actions button{border:0;border-radius:11px;padding:9px 11px;color:white;font-weight:800;cursor:pointer}.player-row button{background:var(--blue)}.challenge-actions,.match-actions{display:flex;gap:7px;flex-wrap:wrap}.accept-btn,.result-btn,.confirm-btn{background:var(--green)}.reject-btn,.dispute-btn{background:var(--red)}.cancel-btn{background:#475569}.selected-rival{margin:14px 0 18px;padding:14px;display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid var(--border);border-radius:16px;background:rgba(255,255,255,.04)}.selected-rival small,.selected-rival strong,.selected-rival span{display:block}.selected-rival span{margin-top:3px;color:var(--muted);font-size:.82rem}.challenge-status{display:inline-flex;margin-top:7px;padding:4px 8px;border-radius:999px;font-size:.68rem;font-weight:900}.status-pending{background:rgba(245,158,11,.14);color:#fcd34d}.status-accepted{background:rgba(34,197,94,.14);color:#86efac}.status-confirmation{background:rgba(37,99,235,.14);color:#93c5fd}.status-disputed{background:rgba(239,68,68,.14);color:#fca5a5}.stats-grid{margin-top:12px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.stat-card{padding:18px;border:1px solid var(--border);border-radius:18px;background:var(--surface-2)}.stat-card span{display:block;color:var(--muted);font-size:.8rem}.stat-card strong{display:block;margin-top:8px;font-size:1.8rem}.history-row{grid-template-columns:1fr auto}.history-change.positive{color:#86efac}.history-change.negative{color:#fca5a5}.profile-header-card{padding:20px;display:flex;align-items:center;gap:14px;border-radius:24px}.avatar{width:68px;height:68px;display:grid;place-items:center;border-radius:21px;background:rgba(255,255,255,.08);font-size:2rem}.profile-header-card h2{margin:0;font-size:1.65rem}.profile-header-card p{margin:6px 0 0;color:var(--muted)}.profile-rating-grid{margin-top:12px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.profile-info-list{margin-top:14px;display:grid;gap:3px}.profile-info-list div{min-height:48px;display:flex;justify-content:space-between;align-items:center;gap:16px;border-bottom:1px solid rgba(255,255,255,.055)}.profile-info-list span{color:var(--muted)}.danger-btn{width:100%;min-height:50px;margin-top:14px;border:1px solid rgba(239,68,68,.35);border-radius:16px;color:#fecaca;background:rgba(239,68,68,.1);font-weight:850}.bottom-nav{position:fixed;left:50%;bottom:0;z-index:40;width:min(100%,760px);transform:translateX(-50%);padding:8px 8px calc(8px + env(safe-area-inset-bottom));display:grid;grid-template-columns:repeat(6,1fr);gap:4px;border-top:1px solid var(--border);background:rgba(8,13,26,.94);backdrop-filter:blur(20px)}.nav-item{min-height:58px;border:0;border-radius:15px;color:#788397;background:transparent;display:grid;place-items:center;align-content:center;gap:3px;cursor:pointer}.nav-item span{font-size:1.15rem}.nav-item small{font-size:.61rem}.nav-item.active{color:white;background:rgba(255,255,255,.07)}.play-nav span{color:var(--green)}.modal{position:fixed;inset:0;z-index:100;display:grid;place-items:center;padding:18px;background:rgba(3,7,18,.78);backdrop-filter:blur(10px)}.modal-card{position:relative;max-height:90vh;overflow:auto}.modal-close{position:absolute;right:16px;top:16px;width:38px;height:38px;border-radius:12px}.sets-grid{display:grid;gap:10px}.set-row{display:grid;grid-template-columns:70px 1fr 1fr;gap:8px;align-items:end}.set-row strong{padding-bottom:12px}.set-row label{font-size:.75rem}.set-row input{text-align:center}.pending-result-box{margin-top:8px;padding:10px;border:1px solid var(--border);border-radius:12px;color:var(--muted);font-size:.82rem}@media(max-width:430px){.panel{padding-inline:18px}.quick-actions{grid-template-columns:1fr}.challenge-row,.match-row{grid-template-columns:1fr}.challenge-actions,.match-actions{justify-content:flex-start}}@media(max-width:350px){.ratings-dual,.profile-rating-grid,.stats-grid{grid-template-columns:1fr}.bottom-nav small{display:none}.set-row{grid-template-columns:52px 1fr 1fr}}
.tournament-banner{width:100%;margin:0 0 14px;padding:18px;display:grid;grid-template-columns:48px 1fr auto;align-items:center;gap:12px;text-align:left;border:1px solid rgba(245,158,11,.26);border-radius:20px;color:var(--text);background:linear-gradient(145deg,rgba(245,158,11,.18),rgba(255,255,255,.04));cursor:pointer}
.tournament-banner>span:first-child{font-size:2rem}.tournament-banner strong,.tournament-banner small{display:block}.tournament-banner small{margin-top:4px}.tournament-banner b{font-size:1.35rem}
.points-config{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.tournament-list,.tournament-player-list,.tournament-match-list{display:grid;gap:8px;margin-top:14px}
.tournament-card,.tournament-player-row,.tournament-match-row{padding:13px;border-radius:16px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.045)}
.tournament-card{display:grid;grid-template-columns:1fr auto;align-items:center;gap:12px;cursor:pointer}
.tournament-card strong,.tournament-card small{display:block}.tournament-card small{margin-top:4px}
.tournament-status{display:inline-flex;margin-top:7px;padding:4px 8px;border-radius:999px;font-size:.68rem;font-weight:900}
.tournament-status.draft{background:rgba(148,163,184,.14);color:#cbd5e1}.tournament-status.active{background:rgba(34,197,94,.14);color:#86efac}.tournament-status.completed{background:rgba(37,99,235,.14);color:#93c5fd}
.tournament-title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.subtle-text{margin:6px 0 0;color:var(--muted);font-size:.85rem}
.tournament-subtitle{margin-top:22px}.tournament-main-button{margin-top:16px}
.tournament-player-row{display:grid;grid-template-columns:1fr auto;align-items:center;gap:10px}.tournament-player-row strong,.tournament-player-row small{display:block}.tournament-player-row button{border:0;border-radius:10px;padding:8px 10px;background:rgba(239,68,68,.15);color:#fca5a5;font-weight:800}
.standings-wrap{margin-top:12px;overflow:auto}.standings-table{width:100%;min-width:560px;border-collapse:collapse;font-size:.82rem}.standings-table th,.standings-table td{padding:10px 8px;border-bottom:1px solid var(--border);text-align:center}.standings-table th:nth-child(2),.standings-table td:nth-child(2){text-align:left}.standings-table th{color:var(--muted);font-size:.7rem;letter-spacing:.08em}.standing-pos{font-weight:900}.standing-points{font-size:1rem;font-weight:900;color:#fde68a}
.tournament-match-row{display:grid;grid-template-columns:1fr auto;align-items:center;gap:10px}.tournament-match-row strong,.tournament-match-row small{display:block}.tournament-match-row small{margin-top:4px}.tournament-match-row button{border:0;border-radius:11px;padding:9px 11px;color:white;background:var(--green);font-weight:800;cursor:pointer}.match-done{color:#86efac;font-weight:900}
@media(max-width:430px){.points-config{grid-template-columns:1fr}.tournament-card,.tournament-match-row{grid-template-columns:1fr}.bottom-nav small{font-size:.54rem}}

.tournament-choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.tournament-choice-card,.preset-card{min-height:155px;padding:20px;border:1px solid var(--border);border-radius:22px;color:var(--text);background:linear-gradient(145deg,rgba(255,255,255,.075),rgba(255,255,255,.035));display:grid;place-items:center;text-align:center;gap:6px;cursor:pointer}
.tournament-choice-card>span,.preset-card>span{font-size:2.2rem}.tournament-choice-card strong,.preset-card strong{font-size:1.08rem}.tournament-choice-card small,.preset-card small{max-width:210px}
.preset-grid{margin-top:16px;display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.preset-card{min-height:145px}.preset-card.custom{border-color:rgba(37,99,235,.32);background:linear-gradient(145deg,rgba(37,99,235,.16),rgba(255,255,255,.035))}
.back-inline{margin-bottom:16px;padding:9px 12px;border:1px solid var(--border);border-radius:11px;color:var(--text);background:var(--surface-2);cursor:pointer}
.builder-card{margin-top:0}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:10px}.stage-config-label{margin:4px 0 10px}.stage-set-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}
.participant-counter{padding:14px 15px;display:flex;align-items:center;justify-content:space-between;gap:12px;border-radius:16px;background:rgba(255,255,255,.045);border:1px solid var(--border)}.participant-counter strong{display:block;margin-top:4px}.participant-counter>span{color:#fde68a;font-size:.78rem;font-weight:900}
.selected-player-chips{display:flex;flex-wrap:wrap;gap:8px}.player-chip{display:flex;align-items:center;gap:8px;padding:8px 10px;border:1px solid var(--border);border-radius:999px;background:rgba(255,255,255,.05);font-size:.78rem}.player-chip button{width:22px;height:22px;padding:0;border:0;border-radius:50%;color:#fecaca;background:rgba(239,68,68,.14);cursor:pointer}
.luck-box{padding:14px;border:1px solid rgba(245,158,11,.25);border-radius:16px;background:rgba(245,158,11,.08);line-height:1.45}.luck-box strong,.luck-box span{display:block}.luck-box span{margin-top:3px;color:var(--muted);font-size:.82rem}
.bracket-scroll{overflow-x:auto;padding-bottom:8px}.bracket{display:flex;gap:18px;min-width:max-content;align-items:flex-start}.bracket-stage{width:260px}.bracket-stage-title{position:sticky;top:78px;z-index:2;margin:0 0 9px;padding:9px 10px;border-radius:12px;background:#111827;border:1px solid var(--border);font-size:.82rem;font-weight:900;text-align:center}.bracket-games{display:grid;gap:10px}.bracket-game{padding:12px;border:1px solid var(--border);border-radius:15px;background:rgba(255,255,255,.04)}.bracket-game-header{display:flex;justify-content:space-between;gap:8px;margin-bottom:8px;color:var(--muted);font-size:.7rem}.bracket-participant{min-height:35px;padding:8px 9px;display:flex;align-items:center;justify-content:space-between;gap:8px;border-radius:10px;background:rgba(0,0,0,.16)}.bracket-participant+.bracket-participant{margin-top:5px}.bracket-participant.winner{outline:1px solid rgba(34,197,94,.38);color:#86efac}.bracket-participant span:last-child{font-weight:900}.bracket-result-btn{width:100%;margin-top:8px;padding:8px;border:0;border-radius:10px;background:var(--green);color:white;font-weight:850;cursor:pointer}.bracket-status{margin-top:7px;color:var(--muted);font-size:.72rem;text-align:center}
.group-section+.group-section{margin-top:22px}.group-heading{margin:0 0 8px;font-size:1rem}.group-games-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.final-champion{margin:18px 0;padding:18px;text-align:center;border:1px solid rgba(245,158,11,.3);border-radius:20px;background:linear-gradient(145deg,rgba(245,158,11,.16),rgba(255,255,255,.03))}.final-champion span{display:block;font-size:2.5rem}.final-champion strong{display:block;margin-top:6px;font-size:1.25rem}
@media(max-width:560px){.tournament-choice-grid,.preset-grid,.two-col,.stage-set-grid,.group-games-grid{grid-template-columns:1fr}.tournament-choice-card,.preset-card{min-height:120px}.bracket-stage{width:235px}}

/* V9 - Resultados / sets no jugados */
.result-set-row{grid-template-columns:70px 1fr 1fr;position:relative;padding-bottom:34px}
.unplayed-toggle{position:absolute!important;left:70px;bottom:0;display:flex!important;align-items:center!important;gap:7px!important;font-size:.72rem!important;color:var(--muted);cursor:pointer}
.unplayed-toggle input{width:17px!important;min-height:17px!important;height:17px;padding:0}
.result-set-row.set-unplayed{opacity:.55}
.result-set-row.set-unplayed input[type="number"]{text-decoration:line-through}
.abandonment-hint,.unplayed-help{margin-top:4px;padding:12px;border-radius:13px;font-size:.78rem;line-height:1.45}
.abandonment-hint{border:1px solid rgba(245,158,11,.26);background:rgba(245,158,11,.08);color:#fde68a}
.unplayed-help{border:1px solid rgba(37,99,235,.22);background:rgba(37,99,235,.07);color:#bfdbfe}

/* V9 - Llave más visual, inspirada en brackets deportivos */
.bracket{gap:34px;padding:10px 18px 24px}
.bracket-stage{position:relative;width:270px}
.bracket-stage:not(:last-child)::after{content:"";position:absolute;top:46px;right:-18px;width:18px;height:calc(100% - 58px);border-right:2px solid rgba(255,255,255,.18);pointer-events:none}
.bracket-game{position:relative;background:linear-gradient(145deg,rgba(255,255,255,.065),rgba(255,255,255,.025))}
.bracket-stage:not(:last-child) .bracket-game::after{content:"";position:absolute;right:-35px;top:50%;width:35px;border-top:2px solid rgba(255,255,255,.20)}
.bracket-stage-title{background:linear-gradient(135deg,rgba(37,99,235,.18),rgba(34,197,94,.10));text-transform:uppercase;letter-spacing:.08em}
.bracket-participant{border:1px solid rgba(255,255,255,.05)}
.bracket-participant.winner{background:rgba(34,197,94,.10);outline:1px solid rgba(34,197,94,.5)}
.bracket-participant.winner::before{content:"✓";margin-right:7px;color:#86efac;font-weight:900}
.bracket-result-btn{background:linear-gradient(135deg,var(--green-dark),var(--green))}
.final-champion{box-shadow:0 18px 50px rgba(245,158,11,.08)}

@media(max-width:430px){
  .result-set-row{grid-template-columns:50px 1fr 1fr}
  .unplayed-toggle{left:50px}
}

/* V10 - Rangos */
.rank-name{display:inline-block;margin-top:7px;padding:8px 12px;border-radius:13px;background:rgba(255,255,255,.07);border:1px solid var(--border)}
.rank-mini{display:inline-flex!important;width:max-content;margin-top:2px;padding:4px 8px;border-radius:999px;background:rgba(255,255,255,.06);border:1px solid var(--border);font-size:.68rem!important;font-weight:900!important}
.rank-table-link{margin-top:10px;padding:0;border:0;color:#93c5fd;background:transparent;font-weight:800;cursor:pointer;text-decoration:underline;text-underline-offset:3px}
.rank-table-button{width:100%;min-height:50px;margin-top:14px;border:1px solid rgba(245,158,11,.28);border-radius:16px;color:#fde68a;background:rgba(245,158,11,.08);font-weight:850;cursor:pointer}
.rank-modal-card{max-width:520px}
.current-rank-box{margin:0 0 14px;padding:15px;border:1px solid var(--border);border-radius:17px;background:rgba(255,255,255,.045)}
.current-rank-box strong,.current-rank-box small{display:block}.current-rank-box strong{font-size:1.2rem}.current-rank-box small{margin-top:4px}
.rank-tier-list{display:grid;gap:9px}.rank-tier-row{padding:13px 14px;display:grid;grid-template-columns:46px 1fr auto;align-items:center;gap:11px;border:1px solid var(--border);border-radius:16px;background:rgba(255,255,255,.035)}
.rank-tier-row.current{outline:2px solid rgba(34,197,94,.38);background:rgba(34,197,94,.07)}
.rank-tier-icon{width:42px;height:42px;display:grid;place-items:center;border-radius:13px;background:rgba(255,255,255,.06);font-size:1.35rem}
.rank-tier-row strong,.rank-tier-row small{display:block}.rank-tier-row small{margin-top:3px}.rank-threshold{font-weight:900}.rank-progress{margin-top:7px;height:7px;border-radius:999px;background:rgba(255,255,255,.08);overflow:hidden}.rank-progress>span{display:block;height:100%;background:linear-gradient(90deg,var(--blue),var(--green));border-radius:999px}

/* ============================================================
   V11 — Arte oficial de rangos + botón militar de Tabla de Rangos
   ============================================================ */

.home-rank-summary{
  display:flex;
  align-items:center;
  gap:18px;
}
.home-rank-summary>div:last-child{flex:1;min-width:0}

.home-rank-icon-wrap{
  position:relative;
  flex:0 0 112px;
  width:112px;
  height:112px;
  display:grid;
  place-items:center;
  border-radius:26px;
  border:1px solid rgba(255,255,255,.11);
  background:
    radial-gradient(circle at 50% 40%,rgba(255,255,255,.14),transparent 62%),
    rgba(0,0,0,.2);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 14px 32px rgba(0,0,0,.22);
  overflow:hidden;
}
.home-rank-icon{
  width:96px;
  height:96px;
  object-fit:cover;
  border-radius:22px;
  mix-blend-mode:normal;
}
.home-rank-icon[data-rank="diamante"]{
  filter:saturate(1.12) contrast(1.03);
  animation:diamondPulse 2.8s ease-in-out infinite;
}
@keyframes diamondPulse{
  0%,100%{filter:saturate(1.12) drop-shadow(0 0 4px rgba(168,85,247,.28))}
  50%{filter:saturate(1.22) drop-shadow(0 0 15px rgba(168,85,247,.72))}
}

/* El viejo link queda definitivamente reemplazado */
.rank-table-link,.rank-table-button{display:none!important}

.rank-medal-button{
  width:100%;
  min-height:68px;
  margin-top:13px;
  padding:9px 12px;
  display:grid;
  grid-template-columns:54px 1fr 24px;
  align-items:center;
  gap:11px;
  border:1px solid rgba(245,158,11,.32);
  border-radius:18px;
  color:var(--text);
  text-align:left;
  background:
    linear-gradient(135deg,rgba(245,158,11,.15),rgba(37,99,235,.08)),
    rgba(255,255,255,.035);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.08),
    0 9px 22px rgba(0,0,0,.16);
  cursor:pointer;
  transition:transform .18s ease,border-color .18s ease,background .18s ease;
}
.rank-medal-button:hover{
  transform:translateY(-1px);
  border-color:rgba(245,158,11,.52);
  background:
    linear-gradient(135deg,rgba(245,158,11,.20),rgba(37,99,235,.11)),
    rgba(255,255,255,.04);
}
.rank-medal-button:active{transform:translateY(1px) scale(.995)}
.rank-medal-button-profile{margin-top:14px}

.rank-medal-copy strong,
.rank-medal-copy small{display:block}
.rank-medal-copy strong{font-size:.93rem;letter-spacing:.02em}
.rank-medal-copy small{margin-top:3px;color:var(--muted);font-size:.71rem}
.rank-medal-arrow{font-size:1.7rem;color:#fde68a;font-weight:300;text-align:right}

/* Medalla estilo militar */
.military-medal{
  position:relative;
  width:52px;
  height:52px;
  display:flex;
  align-items:flex-start;
  justify-content:center;
}
.military-medal .ribbon{
  width:12px;
  height:28px;
  display:block;
  margin:0 -1px;
  clip-path:polygon(0 0,100% 0,100% 78%,50% 100%,0 78%);
  box-shadow:0 2px 3px rgba(0,0,0,.28);
}
.military-medal .r1{background:linear-gradient(#7c3aed,#4c1d95)}
.military-medal .r2{background:linear-gradient(#f8fafc,#94a3b8)}
.military-medal .r3{background:linear-gradient(#f59e0b,#92400e)}
.military-medal b{
  position:absolute;
  bottom:0;
  width:31px;
  height:31px;
  display:grid;
  place-items:center;
  border-radius:50%;
  color:#fff7d6;
  font-size:.85rem;
  background:
    radial-gradient(circle at 38% 30%,#fde68a,#d97706 48%,#78350f 78%);
  border:2px solid #fcd34d;
  box-shadow:0 3px 8px rgba(0,0,0,.35),inset 0 1px 2px rgba(255,255,255,.5);
}

/* Modal de rangos */
.rank-modal-card{max-width:560px}
.current-rank-box{
  display:grid;
  grid-template-columns:138px 1fr;
  gap:17px;
  align-items:center;
  padding:16px;
  background:
    radial-gradient(circle at 18% 35%,rgba(255,255,255,.08),transparent 35%),
    rgba(255,255,255,.035);
}
.current-rank-art{
  width:132px;
  height:132px;
  padding:6px;
  border-radius:26px;
  background:rgba(0,0,0,.22);
  border:1px solid rgba(255,255,255,.11);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 10px 25px rgba(0,0,0,.22);
}
.current-rank-art img{
  width:100%;
  height:100%;
  object-fit:cover;
  border-radius:21px;
}
.current-rank-art.diamond-aura{
  box-shadow:
    0 0 0 1px rgba(192,132,252,.28),
    0 0 28px rgba(139,92,246,.34),
    inset 0 1px 0 rgba(255,255,255,.12);
}
.current-rank-kicker{
  display:block;
  margin-bottom:4px;
  color:var(--muted);
  font-size:.67rem;
  font-weight:900;
  letter-spacing:.16em;
}
.current-rank-copy>strong{
  display:block;
  font-size:1.7rem;
  line-height:1.05;
}
.current-rank-copy>small{display:block;margin-top:6px}

.rank-tier-list{gap:10px}
.rank-tier-row{
  min-height:88px;
  padding:10px 13px 10px 10px;
  grid-template-columns:72px 1fr auto;
  background:
    linear-gradient(135deg,rgba(255,255,255,.045),rgba(255,255,255,.018));
  overflow:hidden;
}
.rank-tier-row.current{
  outline:2px solid rgba(34,197,94,.50);
  box-shadow:0 0 20px rgba(34,197,94,.08);
}
.rank-tier-icon{
  width:68px;
  height:68px;
  border-radius:17px;
  overflow:hidden;
  padding:0;
  border:1px solid rgba(255,255,255,.09);
  background:rgba(0,0,0,.18);
}
.rank-art-thumb{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
}
.rank-tier-copy strong{font-size:1.02rem}
.rank-tier-copy small{font-size:.72rem}
.rank-threshold{
  min-width:56px;
  text-align:right;
  font-size:1.02rem;
}
.rank-threshold span{
  display:block;
  margin-bottom:2px;
  color:var(--muted);
  font-size:.55rem;
  letter-spacing:.12em;
}

/* Sutil jerarquía cromática sin competir con las imágenes */
.rank-bronce{border-color:rgba(180,83,9,.23)}
.rank-plata{border-color:rgba(203,213,225,.20)}
.rank-oro{border-color:rgba(245,158,11,.26)}
.rank-platino{border-color:rgba(125,211,252,.25)}
.rank-diamante{
  border-color:rgba(168,85,247,.34);
  background:
    radial-gradient(circle at 5% 50%,rgba(168,85,247,.09),transparent 35%),
    linear-gradient(135deg,rgba(255,255,255,.045),rgba(255,255,255,.018));
}

@media(max-width:520px){
  .home-rank-summary{align-items:flex-start;gap:13px}
  .home-rank-icon-wrap{flex-basis:88px;width:88px;height:88px;border-radius:21px}
  .home-rank-icon{width:76px;height:76px;border-radius:17px}
  .rank-medal-button{grid-template-columns:48px 1fr 18px;padding-inline:9px}
  .military-medal{transform:scale(.88);transform-origin:center}
  .current-rank-box{grid-template-columns:105px 1fr;gap:12px}
  .current-rank-art{width:102px;height:102px;border-radius:21px}
  .current-rank-art img{border-radius:17px}
  .rank-tier-row{grid-template-columns:60px 1fr auto}
  .rank-tier-icon{width:56px;height:56px;border-radius:14px}
}

/* ============================================================
   V12 — Avatar circular + badge de rango con color correspondiente
   ============================================================ */

.home-rank-summary{
  display:flex;
  align-items:center;
  gap:18px;
}
.home-rank-main{flex:1;min-width:0}









.home-rank-badge{
  width:max-content;
  max-width:100%;
  min-height:54px;
  margin-top:8px;
  padding:7px 14px 7px 8px;
  display:inline-flex;
  align-items:center;
  gap:10px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.12);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 10px 22px rgba(0,0,0,.14);
}
.home-rank-badge-icon{
  width:40px;
  height:40px;
  object-fit:contain;
  flex:0 0 40px;
  filter:drop-shadow(0 4px 8px rgba(0,0,0,.18));
}
.rank-name{
  margin:0;
  font-size:1.45rem;
  line-height:1;
  color:#fff;
  background:transparent !important;
  border:0 !important;
  padding:0 !important;
  box-shadow:none !important;
}

.home-rank-badge.rank-bronce{
  background:linear-gradient(135deg,rgba(180,83,9,.35),rgba(120,53,15,.35));
}
.home-rank-badge.rank-plata{
  background:linear-gradient(135deg,rgba(148,163,184,.34),rgba(71,85,105,.34));
}
.home-rank-badge.rank-oro{
  background:linear-gradient(135deg,rgba(245,158,11,.38),rgba(180,83,9,.34));
}
.home-rank-badge.rank-platino{
  background:linear-gradient(135deg,rgba(56,189,248,.28),rgba(14,116,144,.34));
}
.home-rank-badge.rank-diamante{
  background:
    radial-gradient(circle at 20% 50%,rgba(168,85,247,.18),transparent 34%),
    linear-gradient(135deg,rgba(147,51,234,.40),rgba(76,29,149,.40));
  box-shadow:
    0 0 0 1px rgba(192,132,252,.18),
    0 0 20px rgba(168,85,247,.16),
    inset 0 1px 0 rgba(255,255,255,.10);
}

.rank-mini.rank-bronce{background:rgba(180,83,9,.20);border-color:rgba(180,83,9,.28)}
.rank-mini.rank-plata{background:rgba(148,163,184,.16);border-color:rgba(148,163,184,.25)}
.rank-mini.rank-oro{background:rgba(245,158,11,.18);border-color:rgba(245,158,11,.28)}
.rank-mini.rank-platino{background:rgba(56,189,248,.16);border-color:rgba(56,189,248,.26)}
.rank-mini.rank-diamante{background:rgba(147,51,234,.16);border-color:rgba(168,85,247,.30)}

.rank-art-thumb{
  width:100%;
  height:100%;
  display:block;
  object-fit:contain;
}

.home-rank-summary .rank-medal-button{
  margin-top:12px;
}

.home-rank-summary .profile-handle{
  margin-top:8px;
}

.current-rank-art img,
.rank-tier-icon img,
.home-rank-badge-icon{
  background:transparent !important;
}

@media(max-width:520px){
  .home-rank-summary{
    align-items:flex-start;
    gap:12px;
  }
  
  
  .home-rank-badge{
    min-height:48px;
    padding:6px 12px 6px 7px;
    gap:8px;
  }
  .home-rank-badge-icon{
    width:34px;
    height:34px;
    flex-basis:34px;
  }
  .rank-name{
    font-size:1.2rem;
  }
}

/* ============================================================
   V13 — Menú de foto + gráfica de evolución de rating
   ============================================================ */






.profile-photo-menu{
  position:absolute;
  left:0;
  top:112px;
  z-index:60;
  width:285px;
  padding:7px;
  border:1px solid var(--border);
  border-radius:17px;
  background:rgba(12,18,32,.98);
  box-shadow:0 24px 60px rgba(0,0,0,.45);
  backdrop-filter:blur(18px);
}
.profile-photo-menu button{
  width:100%;
  padding:11px;
  display:grid;
  grid-template-columns:34px 1fr;
  gap:9px;
  align-items:center;
  border:0;
  border-radius:12px;
  color:var(--text);
  background:transparent;
  text-align:left;
  cursor:pointer;
}
.profile-photo-menu button:hover{background:rgba(255,255,255,.06)}
.profile-photo-menu button>span{font-size:1.15rem;text-align:center}
.profile-photo-menu strong,
.profile-photo-menu small{display:block}
.profile-photo-menu small{margin-top:2px;font-size:.67rem}
.profile-photo-menu .photo-danger{color:#fecaca}

/* Rating chart */
.rating-evolution-card{overflow:hidden}
.rating-chart-header{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:12px;
}
.chart-current-rating{
  padding:7px 10px;
  border-radius:11px;
  background:rgba(34,197,94,.09);
  border:1px solid rgba(34,197,94,.18);
  color:#86efac;
  font-size:.8rem;
  font-weight:900;
}
.rating-chart-wrap{
  position:relative;
  margin-top:16px;
  height:270px;
  padding:2px;
  border:1px solid rgba(255,255,255,.055);
  border-radius:18px;
  background:
    radial-gradient(circle at 85% 0%,rgba(34,197,94,.075),transparent 38%),
    rgba(0,0,0,.12);
  overflow:hidden;
}
.rating-chart{
  width:100%;
  height:100%;
  overflow:visible;
  color:#22c55e;
}
.chart-grid-line{
  stroke:rgba(255,255,255,.075);
  stroke-width:1;
  vector-effect:non-scaling-stroke;
}
.chart-grid-label{
  fill:rgba(168,177,192,.72);
  font-size:11px;
}
.rating-chart-area{
  fill:url(#ratingAreaGradient);
  stroke:none;
}
.rating-chart-line{
  fill:none;
  stroke:currentColor;
  stroke-width:4;
  stroke-linecap:round;
  stroke-linejoin:round;
  vector-effect:non-scaling-stroke;
  filter:drop-shadow(0 4px 9px rgba(34,197,94,.20));
}
.rating-chart-dot{
  fill:#0b1020;
  stroke:#86efac;
  stroke-width:3;
  vector-effect:non-scaling-stroke;
  cursor:pointer;
}
.rating-chart-dot.latest{
  fill:#22c55e;
  stroke:#dcfce7;
}
.rating-chart-tooltip{
  position:absolute;
  top:12px;
  right:12px;
  min-width:120px;
  padding:9px 11px;
  border:1px solid var(--border);
  border-radius:12px;
  background:rgba(8,13,26,.94);
  box-shadow:0 10px 25px rgba(0,0,0,.30);
  pointer-events:none;
}
.rating-chart-tooltip strong,
.rating-chart-tooltip span{display:block}
.rating-chart-tooltip span{margin-top:2px;color:var(--muted);font-size:.68rem}
.chart-range-row{
  margin-top:7px;
  display:flex;
  justify-content:space-between;
  gap:8px;
  color:var(--muted);
  font-size:.66rem;
}
.chart-empty{
  margin-top:15px;
  padding:28px 14px;
  text-align:center;
  border:1px dashed var(--border);
  border-radius:16px;
  color:var(--muted);
}
.compact-history{
  margin-top:13px;
  max-height:240px;
  overflow:auto;
}

@media(max-width:520px){
  .profile-photo-menu{
    left:-5px;
    top:92px;
    width:min(280px,calc(100vw - 54px));
  }
  
  .rating-chart-wrap{height:230px}
}

/* ============================================================
   V14 — Foto desde dispositivo en alta + gráfica de evolución
   ============================================================ */

.onboarding-photo-field{
  display:grid;
  place-items:center;
  gap:10px;
  padding:9px 0 5px;
}
.onboarding-photo-label{
  justify-self:start;
  width:100%;
  font-size:.93rem;
  font-weight:750;
}
.onboarding-photo-label small{
  display:inline;
  font-weight:500;
}

.onboarding-photo-picker{
  width:100%;
  padding:16px;
  display:grid;
  place-items:center;
  gap:8px;
  border:1px solid var(--border);
  border-radius:20px;
  color:var(--text);
  background:
    radial-gradient(circle at 50% 20%,rgba(37,99,235,.10),transparent 50%),
    rgba(255,255,255,.035);
  cursor:pointer;
}
.onboarding-photo-picker strong{
  font-size:.92rem;
}
.onboarding-photo-picker small{
  max-width:240px;
  text-align:center;
}

.onboarding-photo-preview{
  position:relative;
  width:108px;
  height:108px;
  display:grid;
  place-items:center;
  overflow:hidden;
  border-radius:50%;
  border:2px solid rgba(255,255,255,.13);
  background:
    radial-gradient(circle at 32% 25%,rgba(255,255,255,.12),transparent 42%),
    rgba(37,99,235,.09);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 12px 26px rgba(0,0,0,.20);
}
.onboarding-photo-preview img{
  width:100%;
  height:100%;
  object-fit:cover;
}
.onboarding-photo-plus{
  width:38px;
  height:38px;
  display:grid;
  place-items:center;
  border-radius:50%;
  color:#fff;
  background:linear-gradient(135deg,var(--blue),#60a5fa);
  box-shadow:0 7px 16px rgba(0,0,0,.28);
  font-size:1.7rem;
  line-height:1;
}
.clear-onboarding-photo{
  padding:7px 10px;
  border:0;
  color:#fca5a5;
  background:transparent;
  font-size:.75rem;
  font-weight:800;
  cursor:pointer;
}

/* Graph — more visually prominent */
.rating-evolution-card{
  position:relative;
}
.rating-chart-wrap{
  height:300px;
  background:
    radial-gradient(circle at 80% 0%,rgba(34,197,94,.10),transparent 38%),
    linear-gradient(180deg,rgba(15,23,42,.65),rgba(8,13,26,.42));
}
.rating-chart-line{
  stroke-width:5;
}
.rating-chart-line.chart-draw{
  stroke-dasharray:1800;
  stroke-dashoffset:1800;
  animation:drawRatingCurve 1s ease-out forwards;
}
@keyframes drawRatingCurve{
  to{stroke-dashoffset:0}
}
.rating-chart-area{
  opacity:.95;
}
.rating-chart-dot{
  transition:r .15s ease,fill .15s ease;
}
.rating-chart-dot:hover{
  r:7;
  fill:#22c55e;
}
.chart-current-rating{
  font-size:.88rem;
  padding:8px 12px;
}

@media(max-width:520px){
  .onboarding-photo-preview{
    width:96px;
    height:96px;
  }
  .rating-chart-wrap{
    height:245px;
  }
}


/* ============================================================
   V15 — REDISEÑO DE INTERFAZ + HISTORIAL + SOCIAL
   ============================================================ */
:root{
  --v15-panel:rgba(21,29,44,.88);
  --v15-panel-2:rgba(13,20,34,.78);
  --v15-line:rgba(148,163,184,.15);
  --v15-win:#22c55e;
  --v15-loss:#ef4444;
  --v15-abandon:#94a3b8;
}

.v15-home-layout{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(310px,.85fr);gap:18px}
.v15-player-hero{position:relative;min-height:330px;padding:28px;overflow:hidden;border:1px solid var(--v15-line);border-radius:26px;background:radial-gradient(circle at 8% 0%,rgba(37,99,235,.18),transparent 34%),linear-gradient(145deg,rgba(24,33,50,.96),rgba(13,20,34,.94));box-shadow:0 24px 70px rgba(0,0,0,.18)}
.v15-player-hero::after{content:"TT";position:absolute;right:-12px;bottom:-66px;color:rgba(255,255,255,.025);font-weight:950;font-size:13rem;letter-spacing:-.12em;pointer-events:none}
.v15-player-identity{position:relative;z-index:2;display:flex;align-items:center;gap:20px}

.v15-player-copy{min-width:0}
.v15-player-copy .profile-handle{margin:9px 0 0;color:var(--muted)}
.v15-player-copy .home-rank-badge{margin-top:8px}
.v15-hero-rating{position:relative;z-index:2;margin-top:28px;display:flex;align-items:flex-end;gap:13px}
.v15-hero-rating>span{margin-bottom:7px;color:var(--muted);font-size:.68rem;font-weight:900;letter-spacing:.12em}
.v15-hero-rating>strong{font-size:3.25rem;line-height:.9;letter-spacing:-.06em}
.v15-hero-rating .rank-mini{margin-bottom:4px}
.v15-rank-progress{position:relative;z-index:2;margin-top:25px}
.v15-rank-progress-top{display:flex;justify-content:space-between;gap:12px;color:#cbd5e1;font-size:.72rem;font-weight:750}
.v15-progress-track{height:7px;margin-top:9px;overflow:hidden;border-radius:99px;background:rgba(255,255,255,.07)}
.v15-progress-track span{display:block;width:0;height:100%;border-radius:inherit;background:linear-gradient(90deg,#3b82f6,#22c55e);box-shadow:0 0 16px rgba(34,197,94,.28);transition:width .45s ease}
.v15-rank-link{position:relative;z-index:2;margin-top:18px;padding:0;display:flex;align-items:center;gap:10px;border:0;background:none;color:#cbd5e1;font-size:.75rem;font-weight:850;cursor:pointer}
.v15-rank-link:hover{color:white}

.v15-dashboard-stats{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.v15-metric-card{min-height:155px;padding:20px;display:flex;flex-direction:column;justify-content:flex-end;border:1px solid var(--v15-line);border-radius:22px;background:linear-gradient(150deg,var(--v15-panel),var(--v15-panel-2))}
.v15-metric-card.metric-streak{background:radial-gradient(circle at 15% 0%,rgba(249,115,22,.16),transparent 46%),linear-gradient(150deg,var(--v15-panel),var(--v15-panel-2))}
.v15-metric-icon{margin-bottom:auto;font-size:1.25rem;opacity:.95}
.v15-metric-card small{color:var(--muted);font-size:.7rem;font-weight:750}
.v15-metric-card strong{margin:5px 0 2px;font-size:2.1rem;line-height:1}
.v15-metric-card>span:last-child{color:#8090aa;font-size:.66rem}

.v15-actions{margin-top:18px;display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:12px}
.v15-action-card{min-height:104px;padding:20px;display:grid;grid-template-columns:44px 1fr auto;gap:14px;align-items:center;border:1px solid var(--v15-line);border-radius:22px;color:white;background:linear-gradient(145deg,rgba(26,35,51,.94),rgba(17,24,39,.94));text-align:left;cursor:pointer;transition:transform .18s ease,border-color .18s ease,background .18s ease}
.v15-action-card:hover{transform:translateY(-2px);border-color:rgba(148,163,184,.28)}
.v15-action-card.action-primary{border-color:rgba(34,197,94,.20);background:radial-gradient(circle at 0 0,rgba(34,197,94,.17),transparent 45%),linear-gradient(145deg,rgba(14,58,49,.88),rgba(13,31,31,.96))}
.v15-action-symbol{width:42px;height:42px;display:grid;place-items:center;border-radius:13px;background:rgba(255,255,255,.055);font-size:1.25rem}
.v15-action-card strong,.v15-action-card small{display:block}
.v15-action-card strong{font-size:.92rem}
.v15-action-card small{margin-top:4px;font-size:.68rem}
.v15-action-card>b{color:#64748b}

.v15-home-footer-grid{margin-top:12px;display:grid;grid-template-columns:1fr 1.4fr;gap:12px}
.v15-mini-panel{min-height:100px;padding:18px 20px;display:flex;align-items:center;justify-content:space-between;border:1px solid var(--v15-line);border-radius:20px;background:rgba(18,26,40,.72)}
.v15-mini-panel strong,.v15-mini-panel small{display:block}
.v15-mini-panel strong{margin:4px 0 8px;font-size:1.2rem}
.v15-mini-panel>span{color:rgba(255,255,255,.10);font-size:2rem;font-weight:950}
.v15-next-objective{background:radial-gradient(circle at 100% 50%,rgba(59,130,246,.11),transparent 45%),rgba(18,26,40,.72)}

.history-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:20px}
.history-stats-button{padding:10px 14px;border:1px solid var(--v15-line);border-radius:12px;color:#dbeafe;background:rgba(59,130,246,.08);font-weight:800;cursor:pointer}
.history-summary-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:20px 0 12px}
.history-summary-grid article{padding:17px;border:1px solid var(--v15-line);border-radius:17px;background:rgba(20,28,43,.76)}
.history-summary-grid span,.history-summary-grid strong{display:block}
.history-summary-grid span{color:var(--muted);font-size:.68rem}
.history-summary-grid strong{margin-top:4px;font-size:1.55rem}
.history-legend{display:flex;gap:16px;margin:0 0 12px;color:var(--muted);font-size:.68rem}
.history-legend span{display:flex;align-items:center;gap:6px}
.history-legend i{width:8px;height:8px;border-radius:50%}
.legend-win{background:var(--v15-win)}.legend-loss{background:var(--v15-loss)}.legend-abandon{background:var(--v15-abandon)}
.v15-history-shell{padding:12px}.v15-match-history{display:grid;gap:10px}
.history-match-card{overflow:hidden;border:1px solid rgba(255,255,255,.08);border-radius:18px}
.history-match-card.victory{border-color:rgba(34,197,94,.22);background:linear-gradient(100deg,rgba(22,101,52,.32),rgba(16,29,37,.74) 55%)}
.history-match-card.defeat{border-color:rgba(239,68,68,.23);background:linear-gradient(100deg,rgba(127,29,29,.32),rgba(31,22,30,.74) 55%)}
.history-match-card.abandonment{border-color:rgba(148,163,184,.22);background:linear-gradient(100deg,rgba(71,85,105,.34),rgba(26,32,42,.78) 55%)}
.history-result-band{padding:7px 14px;display:flex;justify-content:space-between;background:rgba(0,0,0,.12);font-size:.64rem;font-weight:950;letter-spacing:.09em}
.history-match-card.victory .history-result-band{color:#86efac}.history-match-card.defeat .history-result-band{color:#fca5a5}.history-match-card.abandonment .history-result-band{color:#cbd5e1}
.history-match-main{padding:15px;display:grid;grid-template-columns:46px 1fr auto;gap:12px;align-items:center}
.history-opponent-avatar,.ranking-avatar,.public-profile-avatar{display:grid;place-items:center;overflow:hidden;border-radius:50%;background:rgba(59,130,246,.12);border:1px solid rgba(148,163,184,.18);font-weight:900}
.history-opponent-avatar{width:46px;height:46px}
.history-opponent-avatar img,.ranking-avatar img,.public-profile-avatar img{width:100%;height:100%;object-fit:cover}
.history-opponent small,.history-opponent strong,.history-opponent span{display:block}.history-opponent small{color:var(--muted);font-size:.55rem;font-weight:900}.history-opponent strong{margin:2px 0;font-size:.86rem}.history-opponent span{color:#9aa8bc;font-size:.64rem}
.history-score{text-align:right}.history-score strong{font-size:1.5rem}.history-score strong i{margin:0 5px;color:#64748b;font-style:normal}.history-score small{display:block;color:#94a3b8;font-size:.58rem}
.history-match-actions{padding:0 15px 13px 73px;display:flex;flex-wrap:wrap;gap:7px}
.history-match-actions button{padding:8px 11px;border:1px solid rgba(255,255,255,.10);border-radius:10px;color:#dbe4f2;background:rgba(7,13,24,.28);font-size:.64rem;font-weight:800;cursor:pointer}
.history-match-actions button:hover{background:rgba(255,255,255,.07)}
.history-empty{padding:38px;display:grid;place-items:center;text-align:center;color:var(--muted)}.history-empty strong{color:white}.history-empty span{margin-top:5px;font-size:.74rem}

.achievement-section-head{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:14px}
.achievement-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}
.achievement-card{min-height:112px;padding:14px;border:1px solid var(--v15-line);border-radius:16px;background:rgba(10,17,29,.48)}
.achievement-card.unlocked{border-color:rgba(245,158,11,.22);background:radial-gradient(circle at 0 0,rgba(245,158,11,.12),transparent 50%),rgba(10,17,29,.58)}
.achievement-card.locked{opacity:.46;filter:saturate(.45)}
.achievement-icon{width:31px;height:31px;margin-bottom:10px;display:grid;place-items:center;border-radius:10px;background:rgba(255,255,255,.06);font-weight:950}
.achievement-card strong,.achievement-card small,.achievement-card i{display:block}.achievement-card strong{font-size:.74rem}.achievement-card small{margin-top:3px;font-size:.6rem}.achievement-card i{margin-top:9px;color:#fbbf24;font-size:.48rem;font-style:normal;font-weight:950;letter-spacing:.06em}.achievement-card.locked i{color:#94a3b8}

.v15-profile-hero{padding:24px;display:flex;align-items:center;gap:18px;border:1px solid var(--v15-line);border-radius:24px;background:radial-gradient(circle at 10% 0,rgba(59,130,246,.13),transparent 38%),rgba(20,28,43,.82)}


.v15-profile-main h2{margin:4px 0 0}.v15-profile-main p{margin:3px 0;color:var(--muted)}
.v15-profile-tags{margin-top:10px;display:flex;gap:6px;flex-wrap:wrap}.v15-profile-tags span{padding:6px 9px;border:1px solid var(--v15-line);border-radius:999px;background:rgba(255,255,255,.04);font-size:.62rem;font-weight:800}
.profile-secondary-actions{margin:12px 0;display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.secondary-action-button{padding:12px;border:1px solid var(--v15-line);border-radius:13px;color:#dbe4f2;background:rgba(19,27,42,.78);font-weight:800;cursor:pointer}

.v15-review-modal{text-align:center}.review-stars{margin:24px 0 8px;display:flex;justify-content:center;gap:5px}.review-stars button{padding:2px;border:0;color:#475569;background:transparent;font-size:2.35rem;cursor:pointer;transition:transform .13s ease,color .13s ease}.review-stars button:hover{transform:scale(1.08)}.review-stars button.selected{color:#fbbf24}.review-star-text{margin-bottom:18px;color:var(--muted);font-size:.72rem}
.v15-public-profile-modal{max-width:620px}.public-profile-head{display:grid;grid-template-columns:72px 1fr auto;gap:14px;align-items:center}.public-profile-avatar{width:72px;height:72px}.public-profile-head h2{margin:2px 0}.public-profile-head p{margin:0;color:var(--muted)}.public-rank-chip{padding:8px 11px;border-radius:999px;border:1px solid var(--v15-line);font-size:.72rem;font-weight:900}
.public-profile-metrics{margin:20px 0;display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.public-profile-metrics article{padding:13px;border:1px solid var(--v15-line);border-radius:14px;background:rgba(255,255,255,.03)}.public-profile-metrics span,.public-profile-metrics strong,.public-profile-metrics small{display:block}.public-profile-metrics span{color:var(--muted);font-size:.59rem}.public-profile-metrics strong{margin:4px 0;font-size:1.15rem}.public-profile-metrics small{font-size:.55rem}
.public-h2h{margin-bottom:18px;padding:15px;border:1px solid var(--v15-line);border-radius:15px;background:rgba(59,130,246,.055)}.public-h2h>div{margin-top:7px;display:flex;align-items:center;justify-content:space-between;gap:12px}.public-h2h span{color:var(--muted);font-size:.65rem}
.rank-row-button{width:100%;border:0;color:inherit;background:transparent;cursor:pointer;text-align:left}.ranking-avatar{width:36px;height:36px;font-size:.66rem}.rank-rating small{display:block;color:var(--muted);font-size:.5rem}

@media(min-width:900px){
  .main-app{min-height:100vh;padding-left:232px}
  .topbar{width:auto;max-width:none;margin:0;padding:24px 34px 12px;position:relative}
  .content-area{width:100%;max-width:1240px;margin:0 auto;padding:14px 34px 70px}
  .bottom-nav{position:fixed;left:0;top:0;bottom:0;width:232px;height:auto;padding:24px 14px;display:flex;flex-direction:column;gap:7px;border-top:0;border-right:1px solid rgba(148,163,184,.10);background:rgba(6,11,22,.97);box-shadow:none;transform:none;z-index:70}
  .desktop-brand{display:block;padding:4px 10px 25px}.desktop-brand strong,.desktop-brand small{display:block}.desktop-brand strong{font-size:1rem;letter-spacing:.14em}.desktop-brand small{margin-top:5px;color:#52627a;font-size:.48rem;font-weight:800;letter-spacing:.08em}
  .nav-item{width:100%;height:auto;min-height:52px;padding:0 13px;display:grid;grid-template-columns:28px 1fr;align-items:center;border-radius:13px;text-align:left}
  .nav-item span{font-size:1rem;text-align:center}.nav-item small{font-size:.68rem;text-align:left}.nav-item.active{background:rgba(59,130,246,.10);border:1px solid rgba(59,130,246,.15)}.nav-item.play-nav{margin-top:10px}
}
@media(max-width:899px){.desktop-brand{display:none}}
@media(max-width:760px){
  .v15-home-layout{grid-template-columns:1fr}.v15-dashboard-stats{grid-template-columns:1fr 1fr}.v15-actions{grid-template-columns:1fr}.v15-home-footer-grid{grid-template-columns:1fr}.history-summary-grid{grid-template-columns:1fr 1fr}.achievement-grid{grid-template-columns:1fr 1fr}.public-profile-metrics{grid-template-columns:1fr 1fr}
}
@media(max-width:520px){
  .v15-player-hero{min-height:auto;padding:20px}.v15-player-identity{align-items:flex-start}.v15-hero-rating>strong{font-size:2.7rem}.v15-dashboard-stats{grid-template-columns:1fr 1fr}.v15-metric-card{min-height:128px;padding:15px}.v15-metric-card strong{font-size:1.75rem}.v15-rank-progress-top{font-size:.62rem}
  .history-heading{display:block}.history-stats-button{margin-top:10px}.history-match-main{grid-template-columns:42px 1fr}.history-score{grid-column:2;text-align:left}.history-match-actions{padding-left:15px}.achievement-grid{grid-template-columns:1fr}.profile-secondary-actions{grid-template-columns:1fr}.public-profile-head{grid-template-columns:62px 1fr}.public-profile-avatar{width:62px;height:62px}.public-rank-chip{grid-column:1/-1;width:max-content}
}

/* V16 — notificaciones, casuales, registro */
.live-notification-stack{position:fixed;top:18px;right:22px;z-index:140;width:min(470px,calc(100vw - 36px));display:grid;gap:9px;pointer-events:none}
.live-notification-stack.attention{animation:notificationAttention .65s ease}
@keyframes notificationAttention{0%,100%{transform:translateY(0)}35%{transform:translateY(6px)}65%{transform:translateY(-3px)}}
.live-action-notification{min-height:92px;padding:13px;display:grid;grid-template-columns:38px minmax(0,1fr) auto;gap:11px;align-items:center;border:1px solid rgba(74,222,128,.35);border-radius:18px;color:white;background:radial-gradient(circle at 0 0,rgba(74,222,128,.17),transparent 44%),linear-gradient(135deg,rgba(8,77,53,.98),rgba(10,45,39,.98));box-shadow:0 18px 55px rgba(0,0,0,.42);backdrop-filter:blur(18px);pointer-events:auto;touch-action:pan-y;will-change:transform,opacity;transition:transform .22s ease,opacity .22s ease}
.live-action-notification.is-swiping-v750{transition:none;cursor:grabbing}
.live-action-notification.is-dismissed-v750{transform:translate3d(115%,0,0)!important;opacity:0!important;pointer-events:none}
.live-notification-icon{width:38px;height:38px;display:grid;place-items:center;border-radius:12px;color:#052e16;background:#86efac;font-weight:950}
.live-notification-copy small,.live-notification-copy strong,.live-notification-copy span{display:block}
.live-notification-copy small{color:#86efac;font-size:.54rem;font-weight:950;letter-spacing:.08em}
.live-notification-copy strong{margin:3px 0;font-size:.82rem}
.live-notification-copy span{color:#bbf7d0;font-size:.62rem}
.live-notification-actions{display:flex;gap:6px}.live-notification-actions button{padding:9px 11px;border-radius:10px;font-size:.61rem;font-weight:900;cursor:pointer}
.live-accept{border:0;color:#052e16;background:#86efac}.live-decline{border:1px solid rgba(255,255,255,.20);color:#dcfce7;background:rgba(0,0,0,.13)}

.challenge-match-type{grid-column:1/-1}.challenge-type-label{display:block;margin-bottom:7px;font-size:.75rem;font-weight:800}
.challenge-type-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.challenge-type-option{min-height:75px;padding:11px 12px;display:grid;grid-template-columns:34px 1fr;gap:10px;align-items:center;border:1px solid var(--border);border-radius:14px;color:var(--text);background:rgba(255,255,255,.025);text-align:left;cursor:pointer}
.challenge-type-option>span{width:34px;height:34px;display:grid;place-items:center;border-radius:10px;background:rgba(255,255,255,.055);font-weight:950}
.challenge-type-option strong,.challenge-type-option small{display:block}.challenge-type-option small{margin-top:3px;font-size:.6rem}
.challenge-type-option.active{border-color:rgba(34,197,94,.40);background:rgba(34,197,94,.09)}
.challenge-type-option.casual.active{border-color:rgba(59,130,246,.42);background:rgba(59,130,246,.10)}
.inline-match-mode{padding:2px 5px;border-radius:5px;font-size:.52rem;letter-spacing:.04em}
.inline-match-mode.mode-ranked{color:#86efac;background:rgba(34,197,94,.12)}.inline-match-mode.mode-casual{color:#93c5fd;background:rgba(59,130,246,.13)}

.played-matches-section{margin-top:14px}.played-matches-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:15px;margin-bottom:14px}.played-matches-heading>span{color:var(--muted);font-size:.65rem}
.played-matches-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.played-match-tile{min-height:126px;padding:17px;display:flex;flex-direction:column;justify-content:flex-end;border:1px solid var(--v15-line);border-radius:17px;background:rgba(11,18,31,.48)}
.played-match-tile.ranked{border-color:rgba(34,197,94,.20);background:radial-gradient(circle at 0 0,rgba(34,197,94,.10),transparent 48%),rgba(11,18,31,.52)}
.played-match-tile.casual{border-color:rgba(59,130,246,.20);background:radial-gradient(circle at 0 0,rgba(59,130,246,.11),transparent 48%),rgba(11,18,31,.52)}
.played-match-tile.total{border-color:rgba(168,85,247,.18);background:radial-gradient(circle at 0 0,rgba(168,85,247,.09),transparent 48%),rgba(11,18,31,.52)}
.played-match-tile span,.played-match-tile strong,.played-match-tile small{display:block}.played-match-tile span{color:#cbd5e1;font-size:.67rem;font-weight:800}.played-match-tile strong{margin:7px 0 4px;font-size:2.25rem;line-height:1}.played-match-tile small{font-size:.6rem}
@media(max-width:760px){
  .live-notification-stack{top:88px;left:14px;right:14px;width:auto}.live-action-notification{grid-template-columns:34px 1fr}.live-notification-actions{grid-column:1/-1;padding-left:45px}.live-notification-actions button{flex:1}
  .challenge-type-grid{grid-template-columns:1fr}.played-matches-grid{grid-template-columns:1fr 1fr}.played-match-tile.total{grid-column:1/-1}
}


/* ============================================================
   V17 — PERFILES PÚBLICOS + SEGUIR + FEED + RIVAL PRINCIPAL
   ============================================================ */

.ranking-scope-tabs{
  margin:12px 0;
  padding:4px;
  display:flex;
  gap:4px;
  width:max-content;
  max-width:100%;
  border:1px solid var(--v15-line);
  border-radius:13px;
  background:rgba(8,14,25,.42);
}
.ranking-scope{
  padding:8px 13px;
  border:0;
  border-radius:9px;
  color:#94a3b8;
  background:transparent;
  font-size:.68rem;
  font-weight:850;
  cursor:pointer;
}
.ranking-scope.active{
  color:white;
  background:rgba(59,130,246,.15);
}
.following-feed-head{
  margin-bottom:14px;
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  gap:15px;
}
.following-feed-head>span{
  color:var(--muted);
  font-size:.63rem;
}
.following-feed-list{display:grid;gap:8px}
.following-feed-item{
  padding:13px;
  display:grid;
  grid-template-columns:44px 1fr;
  gap:11px;
  align-items:center;
  border:1px solid var(--v15-line);
  border-radius:15px;
  background:rgba(11,18,31,.50);
}
.following-feed-item.feed-win{border-left:3px solid rgba(34,197,94,.72)}
.following-feed-item.feed-loss{border-left:3px solid rgba(239,68,68,.65)}
.following-feed-item.feed-abandon{border-left:3px solid rgba(148,163,184,.70)}
.feed-avatar{
  width:44px;height:44px;
  display:grid;place-items:center;overflow:hidden;
  border-radius:50%;
  border:1px solid var(--v15-line);
  background:rgba(59,130,246,.10);
  font-size:.7rem;font-weight:950;
}
.feed-avatar img{width:100%;height:100%;object-fit:cover}
.following-feed-copy button{
  padding:0;border:0;color:#93c5fd;background:transparent;
  font-size:.68rem;font-weight:900;cursor:pointer;
}
.following-feed-copy strong,
.following-feed-copy span{display:block}
.following-feed-copy strong{margin:3px 0;font-size:.75rem}
.following-feed-copy span{color:var(--muted);font-size:.59rem}
.following-empty{
  padding:34px;
  display:grid;
  place-items:center;
  text-align:center;
  color:var(--muted);
}
.following-empty strong{color:white}
.following-empty span{margin-top:4px;font-size:.68rem}

/* public profile V17 */
.v15-public-profile-modal{
  max-width:760px;
  padding:0;
  overflow:hidden;
}
.public-profile-v17{
  position:relative;
}
.public-profile-cover{
  height:92px;
  background:
    radial-gradient(circle at 18% 0,rgba(255,255,255,.10),transparent 34%),
    linear-gradient(135deg,rgba(59,130,246,.20),rgba(15,23,42,.42));
}
.public-profile-cover.rank-bronce{background:linear-gradient(135deg,rgba(180,83,9,.30),rgba(15,23,42,.55))}
.public-profile-cover.rank-plata{background:linear-gradient(135deg,rgba(148,163,184,.28),rgba(15,23,42,.55))}
.public-profile-cover.rank-oro{background:linear-gradient(135deg,rgba(245,158,11,.30),rgba(15,23,42,.55))}
.public-profile-cover.rank-platino{background:linear-gradient(135deg,rgba(56,189,248,.26),rgba(15,23,42,.55))}
.public-profile-cover.rank-diamante{background:linear-gradient(135deg,rgba(147,51,234,.32),rgba(15,23,42,.55))}
.public-profile-v17-head{
  padding:0 24px;
  display:grid;
  grid-template-columns:104px 1fr auto;
  gap:17px;
  align-items:end;
  transform:translateY(-38px);
  margin-bottom:-25px;
}


.public-profile-v17-identity{padding-bottom:5px}
.public-profile-v17-identity h2{margin:3px 0 0;font-size:1.5rem}
.public-profile-v17-identity>p{margin:3px 0;color:var(--muted)}
.public-profile-chips{
  margin-top:8px;
  display:flex;gap:6px;flex-wrap:wrap;
}
.public-profile-chips span{
  padding:6px 9px;
  border:1px solid var(--v15-line);
  border-radius:999px;
  background:rgba(255,255,255,.04);
  font-size:.6rem;font-weight:850;
}
.follow-player-button{
  margin-bottom:9px;
  padding:10px 14px;
  border:1px solid rgba(59,130,246,.28);
  border-radius:11px;
  color:#bfdbfe;
  background:rgba(59,130,246,.10);
  font-size:.68rem;font-weight:900;cursor:pointer;
}
.follow-player-button.following{
  color:#dcfce7;
  border-color:rgba(34,197,94,.28);
  background:rgba(34,197,94,.09);
}
.public-profile-social-counts{
  padding:0 24px 16px;
  display:flex;gap:16px;flex-wrap:wrap;
  color:var(--muted);
  font-size:.62rem;
}
.public-profile-social-counts strong{color:#e2e8f0}
.public-profile-highlight-grid{
  padding:0 24px;
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:8px;
}
.public-profile-highlight-grid article,
.public-record-grid article{
  padding:13px;
  border:1px solid var(--v15-line);
  border-radius:13px;
  background:rgba(255,255,255,.025);
}
.public-profile-highlight-grid span,
.public-profile-highlight-grid strong,
.public-profile-highlight-grid small,
.public-record-grid span,
.public-record-grid strong{display:block}
.public-profile-highlight-grid span,
.public-record-grid span{color:var(--muted);font-size:.57rem}
.public-profile-highlight-grid strong{margin:5px 0 2px;font-size:1.15rem}
.public-profile-highlight-grid small{font-size:.52rem}
.public-profile-sport{
  margin:14px 24px 0;
  padding:13px 15px;
  display:grid;grid-template-columns:repeat(4,1fr);gap:10px;
  border:1px solid var(--v15-line);
  border-radius:14px;
  background:rgba(59,130,246,.035);
}
.public-profile-sport span,
.public-profile-sport strong{display:block}
.public-profile-sport span{color:var(--muted);font-size:.55rem}
.public-profile-sport strong{margin-top:4px;font-size:.69rem}
.public-profile-record{margin:14px 24px 0}
.public-record-title{
  margin-bottom:8px;
  display:flex;align-items:end;justify-content:space-between;gap:10px;
}
.public-record-grid{
  display:grid;grid-template-columns:repeat(6,1fr);gap:7px;
}
.public-record-grid strong{margin-top:4px;font-size:1rem}
.public-h2h-v17{
  margin:14px 24px 0;
  padding:15px;
  border:1px solid rgba(245,158,11,.14);
  border-radius:14px;
  background:rgba(245,158,11,.035);
}
.public-h2h-v17>div{
  margin-top:8px;
  display:flex;justify-content:space-between;align-items:center;gap:12px;
}
.public-h2h-v17 strong{font-size:.7rem}
.public-h2h-v17 strong b{font-size:1.2rem}
.public-h2h-v17 span{color:var(--muted);font-size:.58rem}
.public-profile-actions-v17{
  padding:16px 24px 24px;
  display:grid;grid-template-columns:1fr 1fr;gap:8px;
}
.primary-rival-button{
  border:1px solid rgba(245,158,11,.20);
  border-radius:12px;
  color:#fde68a;
  background:rgba(245,158,11,.06);
  font-weight:900;cursor:pointer;
}
.primary-rival-button.active{
  color:#fff7ed;
  border-color:rgba(249,115,22,.28);
  background:rgba(249,115,22,.11);
}

/* own profile rival */
.primary-rival-head{
  display:flex;justify-content:space-between;align-items:end;gap:12px;
  margin-bottom:12px;
}
.primary-rival-head>small{max-width:260px;text-align:right;font-size:.58rem}
.primary-rival-player{
  width:100%;
  padding:13px;
  display:grid;
  grid-template-columns:50px 1fr auto;
  gap:11px;align-items:center;
  border:1px solid rgba(245,158,11,.14);
  border-radius:15px;
  color:white;
  background:rgba(245,158,11,.035);
  text-align:left;cursor:pointer;
}
.primary-rival-avatar{
  width:50px;height:50px;
  display:grid;place-items:center;overflow:hidden;
  border-radius:50%;
  background:rgba(245,158,11,.08);
  font-weight:950;
}
.primary-rival-avatar img{width:100%;height:100%;object-fit:cover}
.primary-rival-player small,
.primary-rival-player strong,
.primary-rival-player span{display:block}
.primary-rival-player small{color:#fbbf24;font-size:.52rem;font-weight:950}
.primary-rival-player strong{margin:2px 0;font-size:.78rem}
.primary-rival-player span{color:var(--muted);font-size:.58rem}
.primary-rival-player>b{color:#94a3b8;font-size:.6rem}
.primary-rival-empty{
  padding:22px;
  display:grid;place-items:center;text-align:center;
  border:1px dashed var(--v15-line);
  border-radius:14px;color:var(--muted);
}
.primary-rival-empty strong{color:white}
.primary-rival-empty span{margin-top:4px;font-size:.64rem}

@media(max-width:760px){
  .ranking-scope-tabs{width:100%}
  .ranking-scope{flex:1}
  .following-feed-head{display:block}
  .following-feed-head>span{display:block;margin-top:4px}
  .public-profile-v17-head{
    grid-template-columns:86px 1fr;
    padding:0 17px;
  }
  
  .follow-player-button{
    grid-column:1/-1;
    width:100%;
    margin:0;
  }
  .public-profile-social-counts{padding:0 17px 14px}
  .public-profile-highlight-grid{padding:0 17px;grid-template-columns:1fr 1fr}
  .public-profile-sport{margin:12px 17px 0;grid-template-columns:1fr 1fr}
  .public-profile-record{margin:12px 17px 0}
  .public-record-grid{grid-template-columns:repeat(3,1fr)}
  .public-h2h-v17{margin:12px 17px 0}
  .public-profile-actions-v17{padding:14px 17px 18px;grid-template-columns:1fr}
}


/* ============================================================
   V18 — ranking refinado + modal robusto + 50 logros / placas
   ============================================================ */

/* Asegura que la cruz siempre esté por encima del contenido */
#playerProfileModal .modal-card{
  position:relative;
}
#closePlayerProfileModal,
.v15-public-profile-modal>.modal-close{
  z-index:50;
  pointer-events:auto;
  position:absolute;
  right:14px;
  top:14px;
  background:rgba(15,23,42,.92);
  box-shadow:0 8px 20px rgba(0,0,0,.28);
}

/* Seguir visible y consistente también en escritorio */
.public-profile-social-row{
  padding:0 24px 16px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
}
.public-profile-social-row .public-profile-social-counts{
  padding:0;
}
.public-profile-social-row .follow-player-button{
  margin:0;
  flex:0 0 auto;
  min-width:130px;
}
.own-profile-chip{
  padding:9px 12px;
  border:1px solid var(--v15-line);
  border-radius:10px;
  color:#94a3b8;
  font-size:.62rem;
  font-weight:850;
}

/* Ranking: cada fila se lee como una tarjeta clara */
.ranking-list{
  gap:10px;
}
.rank-row.rank-row-button{
  min-height:78px;
  padding:12px 15px;
  grid-template-columns:54px 44px minmax(180px,1fr) 92px 92px 24px !important;
  align-items:center;
  gap:12px;
  border:1px solid var(--v15-line);
  border-radius:17px;
  background:linear-gradient(135deg,rgba(24,33,50,.72),rgba(12,19,32,.72));
  transition:transform .15s ease,border-color .15s ease,background .15s ease;
}
.rank-row.rank-row-button:hover{
  transform:translateY(-1px);
  border-color:rgba(96,165,250,.25);
  background:linear-gradient(135deg,rgba(28,39,59,.84),rgba(13,22,38,.82));
}
.rank-row.rank-row-button.is-me{
  border-color:rgba(59,130,246,.24);
  background:
    radial-gradient(circle at 0 50%,rgba(59,130,246,.10),transparent 30%),
    linear-gradient(135deg,rgba(24,33,50,.76),rgba(12,19,32,.76));
}
.rank-row .rank-pos{
  text-align:center;
}
.rank-row .rank-pos strong,
.rank-row .rank-pos small{
  display:block;
}
.rank-row .rank-pos strong{
  font-size:1.05rem;
}
.rank-row .rank-pos small{
  margin-top:2px;
  color:#64748b;
  font-size:.45rem;
  letter-spacing:.08em;
}
.ranking-avatar{
  width:42px;
  height:42px;
  font-size:.7rem;
}
.rank-row .rank-name{
  min-width:0;
}
.rank-row .rank-name strong{
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  font-size:.82rem;
}
.rank-row .rank-name small{
  color:#8795aa;
  font-size:.6rem;
}
.ranking-rank-chip{
  justify-self:start;
  padding:6px 9px;
  border:1px solid rgba(255,255,255,.09);
  border-radius:999px;
  color:#e2e8f0;
  background:rgba(255,255,255,.035);
  font-size:.58rem;
  font-weight:900;
}
.ranking-rank-chip.rank-bronce{background:rgba(180,83,9,.13);border-color:rgba(180,83,9,.22)}
.ranking-rank-chip.rank-plata{background:rgba(148,163,184,.10);border-color:rgba(148,163,184,.20)}
.ranking-rank-chip.rank-oro{background:rgba(245,158,11,.11);border-color:rgba(245,158,11,.20)}
.ranking-rank-chip.rank-platino{background:rgba(56,189,248,.10);border-color:rgba(56,189,248,.20)}
.ranking-rank-chip.rank-diamante{background:rgba(147,51,234,.11);border-color:rgba(168,85,247,.22)}
.rank-row .rank-rating{
  text-align:right;
}
.rank-row .rank-rating strong,
.rank-row .rank-rating small{
  display:block;
}
.rank-row .rank-rating strong{
  font-size:1.02rem;
}
.rank-row .rank-rating small{
  margin-top:2px;
}
.ranking-chevron{
  color:#64748b;
  font-size:1.2rem;
}

/* Placas de logros */
.achievement-head-actions{
  display:flex;
  align-items:center;
  gap:9px;
}
.achievement-config-button{
  padding:8px 10px;
  border:1px solid rgba(245,158,11,.18);
  border-radius:10px;
  color:#fde68a;
  background:rgba(245,158,11,.06);
  font-size:.6rem;
  font-weight:900;
  cursor:pointer;
}
.showcase-preview-block{
  margin-bottom:14px;
  padding:12px;
  border:1px solid rgba(245,158,11,.12);
  border-radius:15px;
  background:rgba(245,158,11,.025);
}
.showcase-preview-block>span{
  display:block;
  margin-bottom:8px;
  color:#b8a177;
  font-size:.5rem;
  font-weight:950;
  letter-spacing:.08em;
}
.showcase-achievements{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:8px;
}
.achievement-plate{
  min-height:70px;
  padding:10px;
  display:grid;
  grid-template-columns:38px 1fr;
  gap:9px;
  align-items:center;
  border:1px solid rgba(245,158,11,.16);
  border-radius:13px;
  color:white;
  background:
    radial-gradient(circle at 0 0,rgba(245,158,11,.10),transparent 48%),
    rgba(12,19,31,.70);
  text-align:left;
  cursor:pointer;
}
.achievement-plate-icon{
  width:38px;height:38px;
  display:grid;place-items:center;
  border-radius:10px;
  color:#fde68a;
  background:rgba(245,158,11,.10);
  font-weight:950;
  font-size:.75rem;
}
.achievement-plate-copy strong,
.achievement-plate-copy small{display:block}
.achievement-plate-copy strong{font-size:.65rem}
.achievement-plate-copy small{margin-top:3px;font-size:.5rem}
.showcase-empty{
  grid-column:1/-1;
  padding:15px;
  border:1px dashed var(--v15-line);
  border-radius:11px;
  color:var(--muted);
  text-align:center;
  font-size:.63rem;
}
.public-showcase-section{
  margin:14px 24px 0;
  padding:14px;
  border:1px solid rgba(245,158,11,.11);
  border-radius:14px;
  background:rgba(245,158,11,.022);
}
.public-showcase-head{
  margin-bottom:9px;
  display:flex;
  justify-content:space-between;
  align-items:center;
}
.public-showcase-head>span{
  color:#8c98aa;
  font-size:.56rem;
}

/* Galería de 50 logros más compacta */
.achievement-grid{
  grid-template-columns:repeat(4,1fr);
}
.achievement-card{
  padding:0;
  min-height:118px;
}
.achievement-card-main{
  width:100%;
  min-height:118px;
  padding:13px;
  border:0;
  color:white;
  background:transparent;
  text-align:left;
  cursor:pointer;
}
.achievement-card-main .achievement-icon{
  margin-bottom:9px;
}
.achievement-card-main strong,
.achievement-card-main small,
.achievement-card-main i{
  display:block;
}
.achievement-card-main strong{font-size:.67rem}
.achievement-card-main small{margin-top:3px;font-size:.55rem}
.achievement-card-main i{
  margin-top:8px;
  color:#fbbf24;
  font-size:.43rem;
  font-style:normal;
  font-weight:950;
  letter-spacing:.06em;
}
.achievement-card.locked .achievement-card-main i{color:#94a3b8}

/* selector de 3 placas */
.showcase-selector-modal{
  width:min(100%,700px);
}
.showcase-selector-count{
  margin:0 0 12px;
  color:#fde68a;
  font-size:.7rem;
  font-weight:900;
}
.showcase-selector-list{
  max-height:52vh;
  margin-bottom:14px;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:7px;
  overflow:auto;
}
.showcase-selector-item{
  min-height:62px;
  padding:9px 10px;
  display:grid;
  grid-template-columns:32px 1fr 22px;
  gap:8px;
  align-items:center;
  border:1px solid var(--v15-line);
  border-radius:12px;
  color:white;
  background:rgba(255,255,255,.025);
  text-align:left;
  cursor:pointer;
}
.showcase-selector-item.selected{
  border-color:rgba(245,158,11,.30);
  background:rgba(245,158,11,.07);
}
.showcase-selector-item>span{
  width:32px;height:32px;
  display:grid;place-items:center;
  border-radius:9px;
  background:rgba(255,255,255,.05);
  font-size:.65rem;font-weight:950;
}
.showcase-selector-item strong,
.showcase-selector-item small{display:block}
.showcase-selector-item strong{font-size:.64rem}
.showcase-selector-item small{margin-top:2px;font-size:.51rem}
.showcase-selector-item>b{color:#fbbf24}

/* modal detalle de placa */
.achievement-info-modal{
  width:min(100%,420px);
  text-align:center;
}
.achievement-detail-icon{
  width:76px;height:76px;
  margin:3px auto 15px;
  display:grid;place-items:center;
  border-radius:22px;
  color:#fde68a;
  background:
    radial-gradient(circle at 30% 20%,rgba(245,158,11,.18),transparent 50%),
    rgba(245,158,11,.07);
  border:1px solid rgba(245,158,11,.17);
  font-size:1.4rem;
  font-weight:950;
}
.achievement-detail h2{margin:6px 0 10px}
.achievement-detail p:not(.muted-label){
  color:var(--muted);
  line-height:1.5;
}
.achievement-detail-state{
  display:inline-flex;
  margin-top:10px;
  padding:7px 10px;
  border-radius:999px;
  font-size:.57rem;
  font-weight:950;
}
.achievement-detail-state.unlocked{
  color:#fde68a;background:rgba(245,158,11,.10)
}
.achievement-detail-state.locked{
  color:#cbd5e1;background:rgba(148,163,184,.10)
}

@media(max-width:900px){
  .rank-row.rank-row-button{
    grid-template-columns:42px 40px minmax(0,1fr) 80px 22px !important;
  }
  .ranking-rank-chip{display:none}
}
@media(max-width:620px){
  .public-profile-social-row{
    padding:0 17px 14px;
    align-items:stretch;
    flex-direction:column;
  }
  .public-profile-social-row .follow-player-button{width:100%}
  .showcase-achievements{grid-template-columns:1fr}
  .achievement-grid{grid-template-columns:1fr 1fr}
  .showcase-selector-list{grid-template-columns:1fr}
  .rank-row.rank-row-button{
    min-height:72px;
    padding:10px;
    grid-template-columns:34px 38px minmax(0,1fr) 64px 18px !important;
    gap:8px;
  }
  .ranking-avatar{width:38px;height:38px}
  .rank-row .rank-name strong{font-size:.72rem}
  .rank-row .rank-rating strong{font-size:.86rem}
}


/* ============================================================
   V19 — RESPONSIVE / CONFIG / TEMA CLARO / TEMPORADAS
   ============================================================ */

.topbar-actions{display:flex;align-items:center;gap:8px}
.settings-icon-btn{font-size:1rem}

/* IMPORTANTE: una sola navegación por breakpoint */
@media(max-width:899px){
  .bottom-nav{
    position:fixed!important;
    left:50%!important;
    top:auto!important;
    bottom:0!important;
    width:min(100%,760px)!important;
    height:auto!important;
    padding:8px 8px calc(8px + env(safe-area-inset-bottom))!important;
    display:grid!important;
    grid-template-columns:repeat(6,1fr)!important;
    flex-direction:unset!important;
    border-right:0!important;
    border-top:1px solid var(--border)!important;
    transform:translateX(-50%)!important;
  }
  .desktop-brand,.desktop-settings-nav{display:none!important}
  .main-app{padding-left:0!important;padding-bottom:calc(92px + env(safe-area-inset-bottom))!important}
  .content-area{width:min(100%,760px)!important;margin:0 auto!important}
}
@media(min-width:900px){
  .desktop-settings-nav{margin-top:auto}
}

/* scroll correcto en modales mobile */
body.modal-open{
  position:fixed;
  left:0;right:0;
  width:100%;
  overflow:hidden;
}
.modal{
  overflow:hidden;
  overscroll-behavior:contain;
}
.modal-card{
  max-height:min(90dvh,900px);
  overflow-y:auto;
  overscroll-behavior:contain;
  -webkit-overflow-scrolling:touch;
}

/* play simplificado */
.play-heading{padding-bottom:10px}
.play-heading h2{margin-bottom:7px}
.play-heading .muted-label{display:none}
.compact-section-heading{display:flex;gap:11px;align-items:center;margin-bottom:10px}
.compact-section-heading h3,.compact-section-heading small{display:block;margin:0}
.compact-section-heading small{margin-top:2px}
.play-section-icon{width:38px;height:38px;display:grid;place-items:center;border-radius:12px;background:rgba(34,197,94,.10);color:#86efac;font-size:1.1rem;font-weight:900}
.play-status-card{padding:0;overflow:hidden}
.play-status-heading{min-height:58px;padding:0 15px;display:grid;grid-template-columns:30px 1fr auto;gap:8px;align-items:center}
.play-status-heading>span{width:29px;height:29px;display:grid;place-items:center;border-radius:9px;background:rgba(255,255,255,.04);color:#94a3b8}
.play-status-heading>strong{font-size:.76rem}
.play-status-heading>small{min-width:25px;height:25px;display:grid;place-items:center;border-radius:999px;background:rgba(255,255,255,.055);font-size:.58rem;font-weight:900}
.play-status-card .challenge-list,.play-status-card .match-list{padding:0 10px 10px}
.compact-empty{padding:11px 13px;color:var(--muted);font-size:.65rem;text-align:center;border-radius:10px;background:rgba(255,255,255,.018)}

/* season */
.season-strip{
  margin:14px 0;
  padding:13px 15px;
  display:grid;
  grid-template-columns:auto 1fr auto;
  gap:18px;
  align-items:center;
  border:1px solid rgba(59,130,246,.15);
  border-radius:16px;
  background:linear-gradient(135deg,rgba(59,130,246,.055),rgba(34,197,94,.025));
}
.season-strip>div:first-child span,.season-strip>div:first-child strong{display:block}
.season-strip>div:first-child span{color:#93c5fd;font-size:.5rem;font-weight:900;letter-spacing:.09em}
.season-strip>div:first-child strong{margin-top:3px;font-size:1.15rem}
.season-strip-progress>div:first-child{display:flex;justify-content:space-between;gap:10px;color:var(--muted);font-size:.56rem}
.season-time-track,.objective-progress{height:5px;margin-top:7px;overflow:hidden;border-radius:999px;background:rgba(148,163,184,.14)}
.season-time-track span,.objective-progress span{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,#3b82f6,#22c55e)}
.season-strip button{border:0;color:#93c5fd;background:transparent;font-size:.58rem;font-weight:850;cursor:pointer}

.ranking-season-header{
  margin-bottom:12px;padding:14px 16px;
  display:grid;grid-template-columns:1fr auto auto;gap:14px;align-items:center;
  border:1px solid rgba(245,158,11,.15);border-radius:16px;
  background:linear-gradient(135deg,rgba(245,158,11,.055),rgba(59,130,246,.03));
}
.ranking-season-header h3{margin:3px 0}
.ranking-season-header>div>span{color:var(--muted);font-size:.6rem}
.ranking-season-position{text-align:center}
.ranking-season-position small,.ranking-season-position strong{display:block}
.ranking-season-position strong{font-size:1.25rem}
.ranking-season-header>button{padding:9px 11px;border:1px solid var(--border);border-radius:10px;color:var(--text);background:rgba(255,255,255,.035);font-size:.58rem;font-weight:850;cursor:pointer}

/* objective */
.motivating-objective{position:relative;overflow:hidden;border-color:rgba(59,130,246,.20)!important}
.motivating-objective:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 85% 50%,rgba(59,130,246,.16),transparent 34%);pointer-events:none}
.objective-copy{position:relative;z-index:1;min-width:0}
.objective-copy>b{display:block;margin-top:8px;color:#93c5fd;font-size:.52rem;letter-spacing:.05em}
.objective-glyph{position:relative;z-index:1;width:68px!important;height:68px;display:grid!important;place-items:center;border:1px solid rgba(96,165,250,.17);border-radius:22px;color:#93c5fd!important;background:rgba(59,130,246,.07);font-size:1.55rem!important}

/* recommendations */
.section-title-row{display:flex;justify-content:space-between;align-items:flex-end;gap:12px;margin-bottom:12px}
.section-title-row h3{margin-top:4px}
.section-title-row>button{border:0;color:#93c5fd;background:transparent;font-size:.58rem;font-weight:850;cursor:pointer}
.recommended-rivals-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.recommended-rival-card{padding:12px;border:1px solid var(--v15-line);border-radius:15px;background:rgba(255,255,255,.025)}
.recommended-rival-profile{width:100%;padding:0;display:grid;grid-template-columns:40px 1fr;gap:9px;align-items:center;border:0;color:inherit;background:transparent;text-align:left;cursor:pointer}
.recommended-avatar{width:40px;height:40px;display:grid;place-items:center;overflow:hidden;border-radius:50%;background:rgba(59,130,246,.09);font-size:.65rem;font-weight:900}
.recommended-avatar img{width:100%;height:100%;object-fit:cover}
.recommended-rival-profile strong,.recommended-rival-profile small{display:block}
.recommended-rival-profile strong{font-size:.7rem}.recommended-rival-profile small{margin-top:2px;font-size:.52rem}
.recommended-rival-meta{margin:9px 0;display:flex;justify-content:space-between;gap:5px;color:var(--muted);font-size:.5rem}
.recommended-challenge{width:100%;padding:8px;border:1px solid rgba(34,197,94,.18);border-radius:9px;color:#bbf7d0;background:rgba(34,197,94,.06);font-size:.58rem;font-weight:900;cursor:pointer}

/* settings */
.settings-accordion{display:grid;gap:8px}
.settings-group{overflow:hidden;border:1px solid var(--v15-line);border-radius:17px;background:rgba(16,24,38,.66)}
.settings-group.open{border-color:rgba(59,130,246,.18)}
.settings-group-toggle{width:100%;min-height:70px;padding:12px 15px;display:grid;grid-template-columns:38px 1fr 24px;gap:10px;align-items:center;border:0;color:inherit;background:transparent;text-align:left;cursor:pointer}
.settings-group-toggle>span{width:38px;height:38px;display:grid;place-items:center;border-radius:11px;background:rgba(255,255,255,.045);color:#93c5fd}
.settings-group-toggle strong,.settings-group-toggle small{display:block}
.settings-group-toggle strong{font-size:.75rem}.settings-group-toggle small{margin-top:3px;font-size:.56rem}
.settings-group-toggle>b{color:#64748b;text-align:center}
.settings-group.open .settings-group-toggle>b{transform:rotate(180deg)}
.settings-group-content{padding:0 15px 15px}
.settings-row{padding:13px;display:flex;justify-content:space-between;align-items:center;gap:15px;border:1px solid var(--v15-line);border-radius:13px;background:rgba(255,255,255,.02)}
.settings-row strong,.settings-row small{display:block}.settings-row small{margin-top:3px}
.settings-segmented{display:flex;padding:3px;border:1px solid var(--border);border-radius:10px}
.settings-segmented button{padding:7px 9px;border:0;border-radius:7px;color:var(--muted);background:transparent;font-size:.56rem;font-weight:850;cursor:pointer}
.settings-segmented button.active{color:white;background:rgba(59,130,246,.16)}
.settings-subsection{margin-top:12px}
.settings-subhead{margin-bottom:9px}.settings-subhead strong,.settings-subhead small{display:block}.settings-subhead small{margin-top:3px}
.settings-field{padding:12px 0;display:grid;grid-template-columns:1fr minmax(180px,260px);align-items:center;gap:12px;border-bottom:1px solid rgba(148,163,184,.08);font-size:.7rem}
.settings-field select{min-height:42px}
.settings-switch{min-height:55px;display:flex;justify-content:space-between;align-items:center;gap:12px;border-bottom:1px solid rgba(148,163,184,.07);font-size:.69rem}
.settings-switch strong,.settings-switch small{display:block}.settings-switch small{margin-top:2px}
.settings-switch input{width:42px;height:22px;min-height:0;accent-color:#3b82f6}
.settings-action-grid{display:grid;gap:7px}
.settings-action-grid button{padding:12px;display:flex;justify-content:space-between;border:1px solid var(--v15-line);border-radius:11px;color:var(--text);background:rgba(255,255,255,.025);text-align:left;font-size:.66rem;font-weight:800;cursor:pointer}
.account-settings-card{padding:12px;border:1px solid var(--v15-line);border-radius:13px;background:rgba(255,255,255,.02)}
.account-settings-card>div span,.account-settings-card>div strong{display:block}.account-settings-card>div span{color:var(--muted);font-size:.55rem}.account-settings-card>div strong{margin-top:3px}
.account-settings-card>button{margin-top:12px;padding:9px 11px;border:1px solid rgba(239,68,68,.18);border-radius:9px;color:#fecaca;background:rgba(239,68,68,.06);font-size:.6rem;font-weight:850}
.settings-account-note{color:var(--muted);font-size:.57rem;line-height:1.5}

/* frames */
.frame-gallery{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}
.frame-card{padding:10px;display:grid;grid-template-columns:54px 1fr auto;gap:10px;align-items:center;border:1px solid var(--v15-line);border-radius:13px;background:rgba(255,255,255,.02)}
.frame-card.locked{opacity:.48}.frame-card.equipped{border-color:rgba(34,197,94,.28);background:rgba(34,197,94,.045)}











.frame-card-copy strong,.frame-card-copy small,.frame-card-copy i{display:block}
.frame-card-copy strong{font-size:.63rem}.frame-card-copy small{margin-top:2px;font-size:.49rem}.frame-card-copy i{margin-top:4px;color:#93c5fd;font-size:.42rem;font-style:normal;font-weight:900}
.frame-card>button{padding:7px 8px;border:1px solid var(--border);border-radius:8px;color:#dbeafe;background:rgba(59,130,246,.06);font-size:.51rem;font-weight:850}


/* achievement rarity */
.achievement-rarity{display:inline-flex!important;width:max-content;margin-top:7px!important;padding:4px 6px;border-radius:999px;font-size:.4rem!important;font-style:normal!important;font-weight:950;letter-spacing:.06em}
.rarity-common{color:#cbd5e1;background:rgba(148,163,184,.10)}
.rarity-rare{color:#93c5fd;background:rgba(59,130,246,.12)}
.rarity-epic{color:#d8b4fe;background:rgba(168,85,247,.12)}
.rarity-legendary{color:#fde68a;background:rgba(245,158,11,.13)}

/* history filters/detail */
.history-filter-bar{margin-bottom:10px;display:grid;gap:7px}
.history-filter-group{display:flex;gap:5px;flex-wrap:wrap}
.history-filter{padding:7px 10px;border:1px solid var(--border);border-radius:9px;color:var(--muted);background:rgba(255,255,255,.02);font-size:.55rem;font-weight:850;cursor:pointer}
.history-filter.active{color:white;border-color:rgba(59,130,246,.22);background:rgba(59,130,246,.10)}
.history-search{margin-top:0;max-width:340px}
.match-detail-head{text-align:center;padding:8px 0 14px}
.match-detail-head h2{margin:7px 0;font-size:2.4rem}.match-detail-head>span{color:var(--muted)}
.match-detail-head.victory h2{color:#86efac}.match-detail-head.defeat h2{color:#fca5a5}
.match-detail-meta{display:flex;gap:6px;justify-content:center;flex-wrap:wrap}
.match-detail-meta span{padding:5px 8px;border:1px solid var(--border);border-radius:999px;color:var(--muted);font-size:.53rem}
.match-detail-sets{margin:14px 0;display:grid;gap:5px}
.match-detail-set{padding:10px 12px;display:flex;justify-content:space-between;border-radius:10px;background:rgba(255,255,255,.025)}
.match-detail-set span{color:var(--muted);font-size:.6rem}
.match-detail-elo{margin:12px 0;display:grid;grid-template-columns:repeat(3,1fr);gap:6px}
.match-detail-elo div{padding:10px;border:1px solid var(--border);border-radius:11px;text-align:center}
.match-detail-elo span,.match-detail-elo strong{display:block}.match-detail-elo span{color:var(--muted);font-size:.5rem}.match-detail-elo strong{margin-top:4px}
.match-detail-elo .positive{color:#86efac}.match-detail-elo .negative{color:#fca5a5}

/* postmatch */
.post-match-modal{text-align:center}
.post-match-result{padding:20px;border-radius:17px;background:rgba(255,255,255,.025)}
.post-match-result>span{font-size:.56rem;font-weight:950;letter-spacing:.1em}.post-match-result h2{margin:8px 0;font-size:2.6rem}
.post-match-result.victory h2{color:#86efac}.post-match-result.defeat h2{color:#fca5a5}
.post-match-result p{color:var(--muted)}
.post-rank-up{margin:10px 0;padding:16px;border:1px solid rgba(245,158,11,.20);border-radius:14px;background:rgba(245,158,11,.05)}
.post-rank-up small,.post-rank-up strong,.post-rank-up span{display:block}
.post-rank-up small{color:#fbbf24;font-weight:950;letter-spacing:.1em}.post-rank-up strong{margin:5px 0;font-size:1.1rem}.post-rank-up span{color:var(--muted);font-size:.62rem}

/* season history */
.season-history-list{display:grid;gap:8px}
.season-history-card{padding:12px;display:grid;grid-template-columns:1.2fr repeat(5,1fr);gap:8px;align-items:center;border:1px solid var(--border);border-radius:12px;background:rgba(255,255,255,.025)}
.season-history-card>div span,.season-history-card>div b,.season-history-card>div small,.season-history-card>div strong{display:block}
.season-history-card>div span,.season-history-card>div small{color:var(--muted);font-size:.48rem}.season-history-card>div strong{font-size:1.2rem}

/* LIGHT THEME — basado en la dirección clara elegida */
body[data-theme="light"]{
  --bg:#f5f8fd;
  --bg-deep:#f7f9fc;
  --surface:rgba(255,255,255,.96);
  --surface-2:rgba(15,23,42,.035);
  --border:rgba(30,64,175,.10);
  --text:#102047;
  --muted:#66738e;
  --v15-line:rgba(30,64,175,.10);
  color:var(--text);
  background:
    radial-gradient(circle at 8% 5%,rgba(59,130,246,.075),transparent 30%),
    radial-gradient(circle at 90% 85%,rgba(16,185,129,.065),transparent 26%),
    linear-gradient(150deg,#fbfdff,#f2f6fc);
}
body[data-theme="light"] .topbar{
  background:linear-gradient(to bottom,rgba(247,250,255,.98),rgba(247,250,255,.88),transparent);
}
body[data-theme="light"] .bottom-nav{
  background:rgba(250,252,255,.96);
  box-shadow:0 -8px 30px rgba(15,23,42,.05);
}
@media(min-width:900px){
  body[data-theme="light"] .bottom-nav{
    background:linear-gradient(180deg,#ffffff,#f5f8fd);
    border-right:1px solid rgba(30,64,175,.08);
    box-shadow:10px 0 34px rgba(30,64,175,.045);
  }
  body[data-theme="light"] .nav-item.active{
    background:linear-gradient(135deg,rgba(37,99,235,.11),rgba(14,165,233,.07));
    border-color:rgba(37,99,235,.13);
    color:#1d4ed8;
  }
  body[data-theme="light"] .desktop-brand strong{color:#1e40af}
}
body[data-theme="light"] .section-card,
body[data-theme="light"] .v15-player-hero,
body[data-theme="light"] .v15-metric-card,
body[data-theme="light"] .v15-mini-panel,
body[data-theme="light"] .settings-group,
body[data-theme="light"] .rank-row.rank-row-button{
  background:rgba(255,255,255,.90);
  box-shadow:0 10px 28px rgba(30,64,175,.055);
}
body[data-theme="light"] .v15-player-hero{
  background:
    radial-gradient(circle at 90% 10%,rgba(59,130,246,.09),transparent 32%),
    rgba(255,255,255,.94);
}
body[data-theme="light"] .v15-metric-card:nth-child(3){
  background:linear-gradient(145deg,rgba(236,253,245,.90),#fff);
  border-color:rgba(16,185,129,.12);
}
body[data-theme="light"] .v15-metric-card:nth-child(4){
  background:linear-gradient(145deg,rgba(245,243,255,.92),#fff);
  border-color:rgba(124,58,237,.12);
}
body[data-theme="light"] .v15-metric-card:nth-child(3) .v15-metric-icon{color:#059669;background:rgba(16,185,129,.10)}
body[data-theme="light"] .v15-metric-card:nth-child(4) .v15-metric-icon{color:#7c3aed;background:rgba(124,58,237,.10)}
body[data-theme="light"] .action-primary{
  background:linear-gradient(135deg,#10b981,#22d3ee)!important;
  color:white!important;
}
body[data-theme="light"] .v15-action-card:not(.action-primary){
  color:var(--text);background:rgba(255,255,255,.92);box-shadow:0 8px 24px rgba(30,64,175,.05)
}
body[data-theme="light"] input,
body[data-theme="light"] select,
body[data-theme="light"] .search-box{
  color:var(--text);background:rgba(255,255,255,.75)
}
body[data-theme="light"] select option{color:#102047}
body[data-theme="light"] .modal{background:rgba(225,232,244,.72)}
body[data-theme="light"] .modal-card{background:#fff;color:var(--text)}
body[data-theme="light"] .modal-close{color:#42516f;background:#f5f7fb}
body[data-theme="light"] .rank-row.rank-row-button:hover{background:#f8fbff}
body[data-theme="light"] .compact-empty{background:#f8fafc}
body[data-theme="light"] .tournament-banner{box-shadow:0 8px 24px rgba(180,83,9,.08)}

/* responsive */
@media(max-width:760px){
  .recommended-rivals-grid{grid-template-columns:1fr 1fr}
  .season-strip{grid-template-columns:auto 1fr}.season-strip>button{grid-column:1/-1;text-align:right}
  .ranking-season-header{grid-template-columns:1fr auto}.ranking-season-header>button{grid-column:1/-1}
  .frame-gallery{grid-template-columns:1fr}
  .season-history-card{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:520px){
  .recommended-rivals-grid{grid-template-columns:1fr}
  .settings-row{display:grid}
  .settings-segmented{width:100%}.settings-segmented button{flex:1}
  .settings-field{grid-template-columns:1fr}
  .season-history-card{grid-template-columns:1fr 1fr}
  .match-detail-elo{grid-template-columns:1fr 1fr 1fr}
}


/* ============================================================
   V20 — HISTORIA, RIVALES, RÉCORDS, TORNEOS
   ============================================================ */

/* salón de campeones */
.champions-hall-subtitle{color:var(--muted);font-size:.56rem}
.champions-hall{display:grid;grid-template-columns:repeat(2,1fr);gap:9px}
.champion-season-card{
  padding:12px;
  border:1px solid rgba(245,158,11,.12);
  border-radius:15px;
  background:
    radial-gradient(circle at 50% -10%,rgba(245,158,11,.08),transparent 42%),
    rgba(255,255,255,.018);
}
.champion-season-title{margin-bottom:10px;display:flex;justify-content:space-between;gap:8px}
.champion-season-title span{color:#fbbf24;font-size:.5rem;font-weight:950;letter-spacing:.08em}
.champion-season-title small{font-size:.5rem}
.champion-podium{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}
.champion-place{
  min-width:0;padding:10px 5px;
  display:grid;place-items:center;
  border:1px solid var(--v15-line);border-radius:12px;
  color:inherit;background:rgba(255,255,255,.02);
  text-align:center;cursor:pointer;
}
.champion-place.place-1{
  border-color:rgba(245,158,11,.28);
  background:radial-gradient(circle at 50% 20%,rgba(245,158,11,.11),transparent 62%);
}
.champion-place.place-2{border-color:rgba(203,213,225,.18)}
.champion-place.place-3{border-color:rgba(180,83,9,.20)}
.champion-crown{height:20px;color:#fbbf24;font-size:1rem}
.champion-place.place-2 .champion-crown{color:#cbd5e1}
.champion-place.place-3 .champion-crown{color:#c47a49}
.champion-avatar{
  width:38px;height:38px;margin:3px 0 7px;
  display:grid;place-items:center;overflow:hidden;border-radius:50%;
  background:rgba(59,130,246,.09);font-size:.58rem;font-weight:950;
}
.champion-avatar img{width:100%;height:100%;object-fit:cover}
.champion-place strong{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.58rem}
.champion-place small{margin-top:3px;font-size:.48rem}

/* récords */
.personal-records-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:7px}
.personal-records-grid article{
  padding:13px;border:1px solid var(--v15-line);border-radius:13px;
  background:rgba(255,255,255,.022);
}
.personal-records-grid .record-wide{grid-column:span 2}
.personal-records-grid span,.personal-records-grid strong,.personal-records-grid small{display:block}
.personal-records-grid span{color:var(--muted);font-size:.52rem}
.personal-records-grid strong{margin:5px 0 3px;font-size:.9rem}
.personal-records-grid small{font-size:.49rem;line-height:1.4}
.comparative-badge{
  padding:6px 9px;border:1px solid rgba(59,130,246,.14);border-radius:999px;
  color:#93c5fd;background:rgba(59,130,246,.055);font-size:.52rem;font-weight:850;
}

/* temporadas del perfil */
.profile-season-cards,.public-season-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.profile-season-section .section-title-row>button{border:0;color:#93c5fd;background:transparent;font-size:.57rem;font-weight:850;cursor:pointer}
.season-profile-card{
  padding:13px;border:1px solid var(--v15-line);border-radius:14px;
  background:
    radial-gradient(circle at 100% 0,rgba(59,130,246,.07),transparent 42%),
    rgba(255,255,255,.02);
}
.season-profile-card>span{color:#93c5fd;font-size:.48rem;font-weight:950;letter-spacing:.08em}
.season-profile-place{margin:8px 0 10px;display:flex;align-items:end;gap:9px}
.season-profile-place strong{font-size:1.5rem}.season-profile-place b{padding-bottom:3px;font-size:.64rem}
.season-profile-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:5px}
.season-profile-stats small{color:var(--muted);font-size:.48rem}.season-profile-stats small b{display:block;margin-top:2px;color:var(--text);font-size:.58rem}
.season-profile-card.empty strong,.season-profile-card.empty small{display:block}.season-profile-card.empty strong{margin:8px 0 3px}

/* perfil público: records + temporadas + H2H */
.public-seasons-v20,.public-records-v20{margin:14px 24px 0;padding:14px;border:1px solid var(--v15-line);border-radius:14px;background:rgba(255,255,255,.018)}
.public-records-grid-v20{margin-top:9px;display:grid;grid-template-columns:repeat(4,1fr);gap:6px}
.public-records-grid-v20>div{padding:9px;border-radius:10px;background:rgba(255,255,255,.025)}
.public-records-grid-v20 span,.public-records-grid-v20 strong{display:block}
.public-records-grid-v20 span{color:var(--muted);font-size:.49rem}.public-records-grid-v20 strong{margin-top:4px;font-size:.82rem}
.public-h2h-v20{
  margin:14px 24px 0;padding:15px;
  border:1px solid rgba(245,158,11,.14);border-radius:14px;
  background:linear-gradient(135deg,rgba(245,158,11,.035),rgba(59,130,246,.025));
}
.public-h2h-title{display:flex;justify-content:space-between;align-items:center}
.public-h2h-title>span{color:var(--muted);font-size:.52rem}
.h2h-scoreboard{margin:11px 0;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:10px;text-align:center}
.h2h-scoreboard>strong{font-size:.63rem}.h2h-scoreboard>strong b{display:block;margin-top:3px;font-size:1.45rem}
.h2h-scoreboard>div{padding:7px 12px;border:1px solid var(--v15-line);border-radius:10px}
.h2h-scoreboard>div span,.h2h-scoreboard>div b{display:block}.h2h-scoreboard>div span{color:var(--muted);font-size:.43rem}.h2h-scoreboard>div b{margin-top:2px;font-size:.7rem}
.h2h-details{display:flex;justify-content:center;gap:16px;color:var(--muted);font-size:.52rem}
.h2h-details b{color:var(--text)}.h2h-details .positive{color:#86efac}.h2h-details .negative{color:#fca5a5}
.h2h-recent{margin-top:11px;display:flex;justify-content:center;gap:5px}
.h2h-recent span{width:26px;height:26px;display:grid;place-items:center;border-radius:8px;font-size:.5rem;font-weight:950}
.h2h-recent .win{color:#bbf7d0;background:rgba(34,197,94,.10)}.h2h-recent .loss{color:#fecaca;background:rgba(239,68,68,.10)}
.h2h-recent small{color:var(--muted)}

/* tournament summary */
.tournament-detail-actions{margin:8px 0 12px;display:flex;justify-content:flex-end}
.tournament-detail-actions button{
  padding:8px 10px;border:1px solid var(--v15-line);border-radius:9px;
  color:#cbd5e1;background:rgba(255,255,255,.025);font-size:.54rem;font-weight:850;cursor:pointer;
}
.tournament-summary-v20{
  margin-bottom:14px;padding:14px;border:1px solid rgba(245,158,11,.13);border-radius:15px;
  background:radial-gradient(circle at 95% 0,rgba(245,158,11,.09),transparent 35%),rgba(255,255,255,.018);
}
.tournament-summary-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.tournament-summary-head>strong{color:#fde68a}
.tournament-summary-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}
.tournament-summary-grid article{padding:10px;border:1px solid var(--v15-line);border-radius:11px;background:rgba(255,255,255,.02)}
.tournament-summary-grid span,.tournament-summary-grid strong,.tournament-summary-grid small{display:block}
.tournament-summary-grid span{color:var(--muted);font-size:.47rem}.tournament-summary-grid strong{margin-top:4px;font-size:.72rem}.tournament-summary-grid small{margin-top:2px;font-size:.45rem}
.closest-tournament-match{margin-top:8px;padding:10px;border-radius:11px;background:rgba(59,130,246,.04)}
.closest-tournament-match span,.closest-tournament-match strong,.closest-tournament-match small{display:block}.closest-tournament-match span{color:#93c5fd;font-size:.46rem;font-weight:950}.closest-tournament-match strong{margin:4px 0;font-size:.68rem}

/* centro de actividad */
.activity-center-modal{width:min(100%,560px)}
.activity-center-head{padding-right:35px}.activity-center-head h2{margin:5px 0}.activity-center-head>p:last-child{color:var(--muted);font-size:.63rem}
.activity-center-list{margin-top:14px;display:grid;gap:7px}
.activity-center-item{
  width:100%;padding:11px;display:grid;grid-template-columns:36px 1fr 18px;gap:9px;align-items:center;
  border:1px solid var(--v15-line);border-radius:12px;color:inherit;background:rgba(255,255,255,.023);
  text-align:left;cursor:pointer;
}
.activity-center-item>span{width:36px;height:36px;display:grid;place-items:center;border-radius:10px;background:rgba(59,130,246,.07)}
.activity-center-item strong,.activity-center-item small{display:block}.activity-center-item strong{font-size:.64rem}.activity-center-item small{margin-top:3px;font-size:.52rem}
.activity-center-item>b{color:#64748b}
.activity-challenge>span{color:#fbbf24;background:rgba(245,158,11,.08)}
.activity-confirmation>span{color:#86efac;background:rgba(34,197,94,.08)}
.activity-empty-state{padding:36px;display:grid;place-items:center;text-align:center}.activity-empty-state>span{width:48px;height:48px;display:grid;place-items:center;border-radius:50%;color:#86efac;background:rgba(34,197,94,.08);font-size:1.1rem}.activity-empty-state strong{margin-top:10px}.activity-empty-state small{margin-top:3px;color:var(--muted)}

body[data-theme="light"] .champion-season-card,
body[data-theme="light"] .season-profile-card,
body[data-theme="light"] .public-seasons-v20,
body[data-theme="light"] .public-records-v20,
body[data-theme="light"] .public-h2h-v20,
body[data-theme="light"] .tournament-summary-v20{
  background:rgba(255,255,255,.86);
  box-shadow:0 7px 22px rgba(30,64,175,.04);
}

@media(max-width:760px){
  .champions-hall{grid-template-columns:1fr}
  .personal-records-grid{grid-template-columns:1fr 1fr}.personal-records-grid .record-wide{grid-column:1/-1}
  .profile-season-cards,.public-season-grid{grid-template-columns:1fr}
  .public-seasons-v20,.public-records-v20,.public-h2h-v20{margin-left:17px;margin-right:17px}
  .tournament-summary-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:480px){
  .champion-podium{grid-template-columns:1fr 1fr 1fr;gap:4px}
  .public-records-grid-v20{grid-template-columns:1fr 1fr}
  .season-profile-stats{grid-template-columns:1fr 1fr}
  .h2h-details{flex-direction:column;gap:4px;text-align:center}
}

/* V21 */
.competitive-title-section .section-title-row>button{border:0;color:#93c5fd;background:transparent;font-size:.57rem;font-weight:850;cursor:pointer}
.equipped-title-card{min-height:72px;padding:12px;display:flex;align-items:center;gap:12px;border:1px solid var(--v15-line);border-radius:14px;background:linear-gradient(135deg,rgba(124,58,237,.045),rgba(245,158,11,.025))}
.title-emblem{width:44px;height:44px;display:grid;place-items:center;flex:0 0 auto;border-radius:13px;font-size:1rem;font-weight:950;background:rgba(148,163,184,.10);color:#cbd5e1}
.title-emblem.rarity-epic{color:#d8b4fe;background:rgba(168,85,247,.11)}
.title-emblem.rarity-legendary{color:#fde68a;background:rgba(245,158,11,.12)}
.title-emblem.rarity-mythic{color:#f0abfc;background:linear-gradient(135deg,rgba(168,85,247,.18),rgba(245,158,11,.11))}
.equipped-title-card>div:last-child span,.equipped-title-card>div:last-child strong,.equipped-title-card>div:last-child small{display:block}
.equipped-title-card>div:last-child span{color:#93c5fd;font-size:.46rem;font-weight:950;text-transform:uppercase}
.equipped-title-card>div:last-child strong{margin:4px 0;font-size:.86rem}.equipped-title-card>div:last-child small{font-size:.52rem}
.title-selector-desc{color:var(--muted);font-size:.62rem}.title-selector-list{margin-top:14px;display:grid;gap:7px}
.title-choice{padding:11px;display:grid;grid-template-columns:46px 1fr auto;gap:10px;align-items:center;border:1px solid var(--v15-line);border-radius:13px;background:rgba(255,255,255,.022)}
.title-choice.locked{opacity:.45}.title-choice.active{border-color:rgba(34,197,94,.24);background:rgba(34,197,94,.045)}
.title-choice strong,.title-choice small,.title-choice i{display:block}.title-choice strong{font-size:.65rem}.title-choice small{margin-top:2px;font-size:.51rem}.title-choice i{margin-top:4px;color:#93c5fd;font-size:.43rem;font-style:normal;font-weight:900}
.title-choice>button{padding:8px 9px;border:1px solid var(--border);border-radius:9px;color:inherit;background:rgba(59,130,246,.05);font-size:.53rem;font-weight:850}
.public-equipped-title{display:inline-flex!important;width:max-content;margin-top:6px;padding:4px 7px;border-radius:999px;font-size:.48rem!important;font-style:normal;font-weight:900}
.public-equipped-title.rarity-epic{color:#c084fc;background:rgba(168,85,247,.10)}
.public-equipped-title.rarity-legendary{color:#f59e0b;background:rgba(245,158,11,.10)}
.public-equipped-title.rarity-mythic{color:#e879f9;background:linear-gradient(90deg,rgba(168,85,247,.11),rgba(245,158,11,.08))}
.comparative-stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.comparative-stats-grid article{padding:14px;border:1px solid var(--v15-line);border-radius:14px;background:rgba(255,255,255,.022)}
.comparative-stats-grid span,.comparative-stats-grid strong,.comparative-stats-grid b,.comparative-stats-grid small{display:block}
.comparative-stats-grid span{color:var(--muted);font-size:.5rem}.comparative-stats-grid strong{margin:5px 0 2px;font-size:1.2rem}.comparative-stats-grid b{color:#93c5fd;font-size:.56rem}.comparative-stats-grid small{margin-top:4px;font-size:.48rem}
.tournament-history-v21{margin-top:14px;padding:14px;border:1px solid var(--v15-line);border-radius:16px;background:rgba(255,255,255,.018)}
.tournament-history-v21 .section-title-row>button{padding:7px 9px;border:1px solid var(--border);border-radius:8px;color:var(--muted);background:transparent;font-size:.52rem;font-weight:850}
.tournament-history-list{display:grid;gap:8px}.tournament-series-card{padding:11px;border:1px solid var(--v15-line);border-radius:13px;background:rgba(255,255,255,.02)}
.tournament-series-head{display:flex;justify-content:space-between;gap:10px;align-items:center;margin-bottom:9px}
.tournament-series-head span,.tournament-series-head strong{display:block}.tournament-series-head span{color:#fbbf24;font-size:.44rem;font-weight:950}.tournament-series-head strong{margin-top:3px;font-size:.72rem}.tournament-series-head>b{padding:5px 7px;border-radius:999px;background:rgba(245,158,11,.07);color:#fde68a;font-size:.48rem}
.tournament-editions{display:grid;grid-template-columns:repeat(2,1fr);gap:6px}.tournament-editions button{padding:9px;border:1px solid var(--v15-line);border-radius:10px;color:inherit;background:rgba(255,255,255,.018);text-align:left;cursor:pointer}
.tournament-editions span,.tournament-editions strong,.tournament-editions small{display:block}.tournament-editions span{color:var(--muted);font-size:.45rem}.tournament-editions strong{margin:3px 0;font-size:.6rem}.tournament-editions small{font-size:.46rem}
.post-match-progress-grid{margin:9px 0;display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.post-match-progress-grid article{padding:11px;border:1px solid var(--v15-line);border-radius:11px;background:rgba(255,255,255,.022)}
.post-match-progress-grid span,.post-match-progress-grid strong,.post-match-progress-grid small{display:block}.post-match-progress-grid span{color:var(--muted);font-size:.46rem}.post-match-progress-grid strong{margin:4px 0;font-size:.78rem}.post-match-progress-grid small{font-size:.46rem}
.post-new-record{margin:8px 0;padding:11px;display:flex;gap:9px;align-items:center;border:1px solid rgba(245,158,11,.18);border-radius:12px;background:rgba(245,158,11,.055)}
.post-new-record>span{width:34px;height:34px;display:grid;place-items:center;border-radius:9px;color:#fde68a;background:rgba(245,158,11,.10)}.post-new-record strong,.post-new-record small{display:block}.post-new-record strong{font-size:.64rem}.post-new-record small{margin-top:2px;font-size:.5rem}
body[data-theme="light"] .equipped-title-card,body[data-theme="light"] .title-choice,body[data-theme="light"] .comparative-stats-grid article,body[data-theme="light"] .tournament-history-v21,body[data-theme="light"] .tournament-series-card{background:rgba(255,255,255,.88);box-shadow:0 7px 20px rgba(30,64,175,.04)}
@media(max-width:700px){.comparative-stats-grid{grid-template-columns:1fr}.tournament-editions{grid-template-columns:1fr}.post-match-progress-grid{grid-template-columns:1fr 1fr 1fr}}
@media(max-width:480px){.title-choice{grid-template-columns:40px 1fr}.title-choice>button{grid-column:1/-1}.post-match-progress-grid{grid-template-columns:1fr}}


/* ============================================================
   V22 — PULIDO COMPETITIVO Y RESPONSIVE
   ============================================================ */

/* accesibilidad / tactilidad */
button,.nav-item,[role="button"]{-webkit-tap-highlight-color:transparent}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{
  outline:2px solid #60a5fa!important;
  outline-offset:2px;
}
@media(prefers-reduced-motion:reduce){
  *,*:before,*:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}
}

/* pulso competitivo */
.competitive-pulse{
  position:relative;overflow:hidden;
  border-color:rgba(59,130,246,.18)!important;
  background:
    radial-gradient(circle at 92% 12%,rgba(59,130,246,.13),transparent 32%),
    radial-gradient(circle at 8% 100%,rgba(34,197,94,.055),transparent 35%),
    rgba(16,24,38,.72)!important;
}
.competitive-pulse:before{
  content:"";position:absolute;inset:0;pointer-events:none;opacity:.28;
  background:linear-gradient(110deg,transparent 0 44%,rgba(255,255,255,.035) 50%,transparent 56% 100%);
}
.competitive-pulse-head{position:relative;display:flex;justify-content:space-between;align-items:flex-start;gap:12px}
.competitive-pulse-head h3{margin-top:4px}
.competitive-pulse-head>span{
  padding:6px 9px;border:1px solid rgba(96,165,250,.18);border-radius:999px;
  color:#93c5fd;background:rgba(59,130,246,.08);font-size:.48rem;font-weight:950;letter-spacing:.08em;
}
.competitive-pulse-body{position:relative;margin-top:12px;display:grid;grid-template-columns:90px 1fr auto;gap:14px;align-items:center}
.pulse-position{padding:10px;border-right:1px solid var(--v15-line)}
.pulse-position small,.pulse-position strong{display:block}
.pulse-position small{color:var(--muted);font-size:.48rem}
.pulse-position strong{margin-top:3px;font-size:1.5rem}
.pulse-target span,.pulse-target strong,.pulse-target small{display:block}
.pulse-target>span{color:#93c5fd;font-size:.5rem;font-weight:850}
.pulse-target>strong{margin:3px 0;font-size:.82rem}
.pulse-target>small{font-size:.5rem}
.pulse-track{height:5px;margin-top:8px;overflow:hidden;border-radius:999px;background:rgba(148,163,184,.12)}
.pulse-track>span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#3b82f6,#22c55e)}
.pulse-challenge{
  padding:10px 13px;border:1px solid rgba(34,197,94,.18);border-radius:10px;
  color:#bbf7d0;background:rgba(34,197,94,.07);font-size:.58rem;font-weight:900;cursor:pointer;
}

/* podio de ranking */
.ranking-podium-section{margin:0 0 11px}
.ranking-podium{display:grid;grid-template-columns:1fr 1.12fr 1fr;gap:8px;align-items:end}
.podium-slot{
  position:relative;min-width:0;padding:14px 9px 12px;
  display:flex;flex-direction:column;align-items:center;
  border:1px solid var(--v15-line);border-radius:17px;
  color:inherit;background:
    radial-gradient(circle at 50% 8%,rgba(148,163,184,.075),transparent 38%),
    rgba(16,24,38,.66);
  text-align:center;cursor:pointer;overflow:hidden;
}
.podium-slot:after{content:"";position:absolute;left:15%;right:15%;bottom:-14px;height:26px;border-radius:50%;filter:blur(12px);opacity:.4}
.podium-1{min-height:205px;padding-top:18px;border-color:rgba(245,158,11,.25);background:radial-gradient(circle at 50% 10%,rgba(245,158,11,.14),transparent 43%),rgba(16,24,38,.76)}
.podium-2{min-height:179px;border-color:rgba(203,213,225,.16)}
.podium-3{min-height:166px;border-color:rgba(180,83,9,.18)}
.podium-1:after{background:#f59e0b}.podium-2:after{background:#cbd5e1}.podium-3:after{background:#b45309}
.podium-slot.is-me{box-shadow:0 0 0 1px rgba(34,197,94,.25),0 12px 30px rgba(34,197,94,.05)}
.podium-crown{height:25px;color:#fbbf24;font-size:1.15rem}
.podium-2 .podium-crown{color:#cbd5e1}.podium-3 .podium-crown{color:#c47a49}
.podium-avatar-wrap{position:relative;margin:4px 0 9px}
.podium-avatar{width:58px;height:58px;display:grid;place-items:center;overflow:hidden;border-radius:50%;background:#172033;font-size:.75rem;font-weight:950}
.podium-1 .podium-avatar{width:70px;height:70px}
.podium-avatar img{width:100%;height:100%;object-fit:cover}
.podium-avatar-wrap>b{position:absolute;right:-4px;bottom:-3px;width:23px;height:23px;display:grid;place-items:center;border-radius:50%;background:#111827;border:2px solid #2b3546;font-size:.48rem}
.podium-slot>strong{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.68rem}
.podium-slot>small{margin-top:2px;font-size:.48rem}
.podium-rating{margin-top:8px;font-size:.87rem;font-weight:950}
.podium-rating span{color:var(--muted);font-size:.45rem;font-weight:700}
.podium-slot>em{margin-top:5px;padding:4px 7px;border-radius:999px;font-size:.43rem;font-style:normal;font-weight:900}

/* vitrina de identidad */
.identity-showcase-section .section-title-row>button{border:0;color:#93c5fd;background:transparent;font-size:.57rem;font-weight:850}
.identity-showcase-card{
  padding:14px;display:grid;grid-template-columns:72px 1fr minmax(210px,.9fr);gap:14px;align-items:center;
  border:1px solid rgba(124,58,237,.13);border-radius:15px;
  background:
    radial-gradient(circle at 100% 0,rgba(124,58,237,.09),transparent 35%),
    rgba(255,255,255,.018);
}



.identity-showcase-copy small,.identity-showcase-copy strong,.identity-showcase-copy>span{display:block}
.identity-showcase-copy>small{color:#93c5fd;font-size:.44rem;font-weight:950;letter-spacing:.08em}
.identity-showcase-copy>strong{margin:4px 0 2px;font-size:.82rem}.identity-showcase-copy>span{font-size:.52rem}
.identity-empty-title{display:inline-block;margin-top:6px;color:var(--muted);font-size:.48rem;font-style:normal}
.identity-showcase-achievements{display:grid;gap:5px}
.identity-showcase-achievements>span{padding:7px 8px;border:1px solid var(--v15-line);border-radius:9px;background:rgba(255,255,255,.02);font-size:.49rem}
.identity-showcase-achievements>span b{margin-left:3px}
.identity-no-achievements{color:var(--muted)!important;text-align:center}

/* post partido con más presencia */
.post-match-modal{overflow:hidden}
.post-match-modal:before{
  content:"";position:absolute;width:220px;height:220px;left:50%;top:-150px;transform:translateX(-50%);
  border-radius:50%;background:rgba(59,130,246,.12);filter:blur(30px);pointer-events:none;
}
.post-match-result{position:relative}
.post-match-result.victory{border:1px solid rgba(34,197,94,.14);background:radial-gradient(circle at 50% 0,rgba(34,197,94,.10),transparent 55%),rgba(255,255,255,.02)}
.post-match-result.defeat{border:1px solid rgba(239,68,68,.12);background:radial-gradient(circle at 50% 0,rgba(239,68,68,.07),transparent 55%),rgba(255,255,255,.02)}
.post-match-progress-grid article{min-height:78px}

/* bell 0 clean */
#notificationBadge.hidden{display:none!important}

/* mobile/global responsive pass */
@media(max-width:899px){
  .topbar{padding-left:max(14px,env(safe-area-inset-left));padding-right:max(14px,env(safe-area-inset-right))}
  .tab-page{padding-left:14px!important;padding-right:14px!important}
  .page-heading{margin-bottom:12px}
  .section-card{border-radius:15px}
  .rank-row{grid-template-columns:48px 42px minmax(0,1fr) auto 56px 18px!important;gap:7px!important}
  .rank-name strong,.rank-name small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .ranking-rank-chip{display:none!important}
  .public-profile-v17{width:100%}
}
@media(max-width:680px){
  .competitive-pulse-body{grid-template-columns:72px 1fr}
  .pulse-challenge{grid-column:1/-1;width:100%}
  .ranking-podium{gap:5px}
  .podium-slot{padding-left:5px;padding-right:5px;border-radius:14px}
  .podium-1{min-height:188px}.podium-2{min-height:167px}.podium-3{min-height:156px}
  .podium-avatar{width:48px;height:48px}.podium-1 .podium-avatar{width:58px;height:58px}
  .podium-slot>strong{font-size:.58rem}.podium-slot>small{font-size:.42rem}
  .identity-showcase-card{grid-template-columns:64px 1fr}
  .identity-showcase-achievements{grid-column:1/-1;grid-template-columns:repeat(3,1fr)}
  .identity-showcase-achievements>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:center}
  .rank-row{grid-template-columns:42px 38px minmax(0,1fr) 52px 14px!important}
  .rank-rating strong{font-size:.68rem}
}
@media(max-width:440px){
  .competitive-pulse{padding:12px!important}
  .competitive-pulse-body{gap:9px}
  .pulse-position{padding-left:2px}
  .ranking-podium{margin-left:-4px;margin-right:-4px}
  .podium-slot{padding-top:10px}
  .podium-crown{font-size:.95rem}
  .podium-rating{font-size:.72rem}
  .identity-showcase-achievements{grid-template-columns:1fr}
  .rank-row{grid-template-columns:36px 36px minmax(0,1fr) 48px 12px!important;padding-left:8px!important;padding-right:8px!important}
  .rank-pos small,.rank-rating small{display:none!important}
  .rank-name strong{font-size:.6rem!important}.rank-name small{font-size:.46rem!important}
}

/* Tema claro V22 */
body[data-theme="light"] .competitive-pulse{
  background:
    radial-gradient(circle at 92% 12%,rgba(37,99,235,.10),transparent 32%),
    radial-gradient(circle at 8% 100%,rgba(16,185,129,.06),transparent 35%),
    rgba(255,255,255,.94)!important;
  box-shadow:0 12px 28px rgba(30,64,175,.055)
}
body[data-theme="light"] .podium-slot,
body[data-theme="light"] .identity-showcase-card{
  background:rgba(255,255,255,.92);
  box-shadow:0 9px 24px rgba(30,64,175,.05)
}
body[data-theme="light"] .podium-1{
  background:radial-gradient(circle at 50% 8%,rgba(245,158,11,.10),transparent 42%),rgba(255,255,255,.96)
}
body[data-theme="light"] .podium-avatar{background:#eef3fb}


/* ============================================================
   V23 — TEMA CLARO CON IDENTIDAD + FIXES VISUALES
   ============================================================ */

/* ------------------------------------------------------------
   A. NAVEGACIÓN CLARA: MÁS OSCURA, AZULADA Y CON IDENTIDAD
   ------------------------------------------------------------ */
body[data-theme="light"] .bottom-nav{
  color:#dbeafe;
  border-color:rgba(96,165,250,.14)!important;
  background:
    linear-gradient(180deg,rgba(17,31,56,.98),rgba(10,21,41,.985))!important;
  box-shadow:0 -10px 34px rgba(15,23,42,.18)!important;
}
body[data-theme="light"] .nav-item{
  color:#93a4c2;
}
body[data-theme="light"] .nav-item:hover{
  color:#dbeafe;
  background:rgba(96,165,250,.07);
}
body[data-theme="light"] .nav-item.active{
  color:#fff!important;
  border-color:rgba(96,165,250,.18)!important;
  background:
    linear-gradient(135deg,rgba(37,99,235,.30),rgba(14,165,233,.12))!important;
  box-shadow:
    inset 0 0 0 1px rgba(147,197,253,.08),
    0 8px 20px rgba(2,8,23,.16);
}
body[data-theme="light"] .nav-item.active small{color:#eaf2ff}
body[data-theme="light"] .play-nav span{color:#4ade80}
body[data-theme="light"] .desktop-brand strong{color:#eff6ff!important}
body[data-theme="light"] .desktop-brand small{color:#8294b4!important}

@media(min-width:900px){
  body[data-theme="light"] .bottom-nav{
    background:
      radial-gradient(circle at 30% 8%,rgba(37,99,235,.17),transparent 31%),
      linear-gradient(180deg,#13213a,#0b172b 74%,#091426)!important;
    border-right:1px solid rgba(96,165,250,.13)!important;
    box-shadow:12px 0 34px rgba(15,23,42,.10)!important;
  }
}
@media(max-width:899px){
  body[data-theme="light"] .bottom-nav{
    background:
      linear-gradient(180deg,rgba(16,30,54,.975),rgba(8,19,37,.99))!important;
    border-top:1px solid rgba(96,165,250,.16)!important;
    box-shadow:0 -12px 28px rgba(15,23,42,.18)!important;
  }
}

/* Topbar claro más definido, sin pelear con la navegación */
body[data-theme="light"] .topbar{
  background:
    linear-gradient(to bottom,rgba(246,249,255,.985),rgba(246,249,255,.94),rgba(246,249,255,.70),transparent)!important;
}
body[data-theme="light"] .icon-btn{
  color:#17315f;
  border-color:rgba(30,64,175,.12);
  background:rgba(239,245,255,.90);
}

/* ------------------------------------------------------------
   B. RANKING CLARO: JERARQUÍA Y PODIO REAL
   ------------------------------------------------------------ */
body[data-theme="light"] #tab-ranking .ranking-season-header{
  border-color:rgba(180,118,21,.22);
  background:
    radial-gradient(circle at 0 0,rgba(245,158,11,.09),transparent 32%),
    linear-gradient(135deg,#fffdf9,#f3f7ff 72%);
  box-shadow:0 12px 28px rgba(30,64,175,.06);
}
body[data-theme="light"] #tab-ranking .ranking-season-header .muted-label{
  color:#8a5b16;
}
body[data-theme="light"] #tab-ranking .ranking-season-header>button{
  color:#183466;
  border-color:rgba(37,99,235,.14);
  background:#edf4ff;
}
body[data-theme="light"] #tab-ranking .segmented{
  border-color:rgba(37,99,235,.12);
  background:#e8eef8;
  box-shadow:inset 0 1px 2px rgba(15,23,42,.05);
}
body[data-theme="light"] #tab-ranking .segment{
  color:#5f6f8b;
}
body[data-theme="light"] #tab-ranking .segment.active{
  color:#fff;
  background:linear-gradient(135deg,#1e3a8a,#2563eb);
  box-shadow:0 5px 12px rgba(37,99,235,.18);
}
body[data-theme="light"] #tab-ranking [data-ranking-mode]{
  color:#526987;
  border-color:rgba(37,99,235,.10);
  background:#edf2f8;
}
body[data-theme="light"] #tab-ranking [data-ranking-mode].active{
  color:#fff;
  border-color:#294f8f;
  background:#294f8f;
}
body[data-theme="light"] #tab-ranking .search-box{
  border-color:rgba(37,99,235,.11);
  background:#fff;
  box-shadow:0 7px 18px rgba(30,64,175,.045);
}

/* Podio: cada puesto tiene material propio */
body[data-theme="light"] #tab-ranking .podium-slot{
  color:#102047;
  background:#fff;
  box-shadow:0 12px 25px rgba(30,64,175,.075);
}
body[data-theme="light"] #tab-ranking .podium-1{
  border-color:rgba(217,144,20,.35);
  background:
    radial-gradient(circle at 50% 12%,rgba(251,191,36,.18),transparent 39%),
    linear-gradient(180deg,#fffaf0,#fff 70%);
  box-shadow:0 14px 30px rgba(180,118,21,.10);
}
body[data-theme="light"] #tab-ranking .podium-2{
  border-color:rgba(100,116,139,.26);
  background:
    radial-gradient(circle at 50% 12%,rgba(148,163,184,.16),transparent 40%),
    linear-gradient(180deg,#f7f9fc,#fff 70%);
}
body[data-theme="light"] #tab-ranking .podium-3{
  border-color:rgba(180,83,9,.25);
  background:
    radial-gradient(circle at 50% 12%,rgba(180,83,9,.12),transparent 40%),
    linear-gradient(180deg,#fff8f3,#fff 70%);
}
body[data-theme="light"] #tab-ranking .podium-avatar{
  color:#102047;
  background:#edf3fc;
  border:1px solid rgba(30,64,175,.08);
}
body[data-theme="light"] #tab-ranking .podium-avatar-wrap>b{
  color:#fff;
  border-color:#fff;
  background:#183466;
}
body[data-theme="light"] #tab-ranking .compact-empty{
  color:#66738e;
  border:1px dashed rgba(37,99,235,.10);
  background:#f5f8fc;
}
body[data-theme="light"] #tab-ranking .champions-hall-section{
  border-color:rgba(37,99,235,.08);
  background:linear-gradient(180deg,#fff,#f8fbff);
}

/* ------------------------------------------------------------
   C. HISTORIAL CLARO: VERDE / ROJO / GRIS LIMPIOS
   ------------------------------------------------------------ */
body[data-theme="light"] #tab-history .history-summary-grid article{
  color:#102047;
  border:1px solid rgba(30,64,175,.09);
  background:#fff;
  box-shadow:0 8px 22px rgba(30,64,175,.05);
}
body[data-theme="light"] #tab-history .history-summary-grid article:nth-child(1){
  border-top:3px solid #3b82f6;
}
body[data-theme="light"] #tab-history .history-summary-grid article:nth-child(2){
  border-top:3px solid #22c55e;
}
body[data-theme="light"] #tab-history .history-summary-grid article:nth-child(3){
  border-top:3px solid #ef4444;
}
body[data-theme="light"] #tab-history .history-summary-grid article:nth-child(4){
  border-top:3px solid #94a3b8;
}
body[data-theme="light"] #tab-history .history-summary-grid span{color:#66738e}
body[data-theme="light"] #tab-history .history-filter{
  color:#506481;
  border-color:rgba(37,99,235,.11);
  background:#f5f8fc;
}
body[data-theme="light"] #tab-history .history-filter.active{
  color:#17315f;
  border-color:rgba(37,99,235,.20);
  background:#dce9ff;
}
body[data-theme="light"] #tab-history .v15-history-shell{
  border-color:rgba(30,64,175,.08);
  background:#fff;
}
body[data-theme="light"] #tab-history .history-match-card{
  color:#102047;
  box-shadow:0 8px 20px rgba(30,64,175,.045);
}
body[data-theme="light"] #tab-history .history-match-card.victory{
  border-color:rgba(22,163,74,.27);
  background:
    linear-gradient(90deg,rgba(220,252,231,.95),rgba(250,255,252,.98) 62%);
}
body[data-theme="light"] #tab-history .history-match-card.defeat{
  border-color:rgba(220,38,38,.24);
  background:
    linear-gradient(90deg,rgba(254,226,226,.92),rgba(255,250,250,.98) 62%);
}
body[data-theme="light"] #tab-history .history-match-card.abandonment{
  border-color:rgba(100,116,139,.22);
  background:
    linear-gradient(90deg,rgba(226,232,240,.90),rgba(250,252,255,.98) 62%);
}
body[data-theme="light"] #tab-history .history-result-band{
  background:rgba(255,255,255,.35);
}
body[data-theme="light"] #tab-history .history-match-card.victory .history-result-band{color:#15803d}
body[data-theme="light"] #tab-history .history-match-card.defeat .history-result-band{color:#b91c1c}
body[data-theme="light"] #tab-history .history-match-card.abandonment .history-result-band{color:#475569}
body[data-theme="light"] #tab-history .history-opponent strong,
body[data-theme="light"] #tab-history .history-score strong{color:#102047}
body[data-theme="light"] #tab-history .history-opponent span,
body[data-theme="light"] #tab-history .history-score small{color:#66738e}
body[data-theme="light"] #tab-history .history-match-actions button{
  color:#274268;
  border-color:rgba(37,99,235,.12);
  background:rgba(255,255,255,.80);
  box-shadow:0 2px 5px rgba(15,23,42,.035);
}
body[data-theme="light"] #tab-history .history-match-actions button:hover{
  color:#17315f;
  border-color:rgba(37,99,235,.22);
  background:#edf4ff;
}

/* ------------------------------------------------------------
   D. PERFIL CLARO: QUITAR EL "BLOQUE GRIS" PESADO
   ------------------------------------------------------------ */
body[data-theme="light"] #tab-profile .v15-profile-hero{
  color:#102047;
  border-color:rgba(37,99,235,.13);
  background:
    radial-gradient(circle at 10% 0,rgba(37,99,235,.12),transparent 34%),
    linear-gradient(135deg,#f1f6ff,#fff 68%);
  box-shadow:0 13px 30px rgba(30,64,175,.07);
}

body[data-theme="light"] #tab-profile .v15-profile-tags span{
  color:#274268;
  border-color:rgba(37,99,235,.10);
  background:#e9f1ff;
}
body[data-theme="light"] #tab-profile .v15-metric-card{
  color:#102047;
  border-color:rgba(30,64,175,.08);
  background:#fff;
  box-shadow:0 8px 22px rgba(30,64,175,.055);
}
body[data-theme="light"] #tab-profile .v15-metric-card:nth-child(1){
  border-top:3px solid #3b82f6;
}
body[data-theme="light"] #tab-profile .v15-metric-card:nth-child(2){
  border-top:3px solid #06b6d4;
}
body[data-theme="light"] #tab-profile .v15-metric-card:nth-child(3){
  border-top:3px solid #22c55e;
  background:#f9fffb;
}
body[data-theme="light"] #tab-profile .v15-metric-card:nth-child(4){
  border-top:3px solid #8b5cf6;
  background:#fcfaff;
}
body[data-theme="light"] #tab-profile .profile-info-list div{
  border-bottom-color:rgba(30,64,175,.07);
}
body[data-theme="light"] #tab-profile .identity-showcase-card{
  border-color:rgba(124,58,237,.13);
  background:
    radial-gradient(circle at 100% 0,rgba(124,58,237,.08),transparent 34%),
    linear-gradient(135deg,#faf8ff,#fff 63%);
}

/* ------------------------------------------------------------
   E. LOGROS CLAROS: INVENTARIO DE TROFEOS, NO "TARJETAS APAGADAS"
   ------------------------------------------------------------ */
body[data-theme="light"] .achievement-card{
  opacity:1;
  filter:none;
  color:#102047;
  border-color:rgba(30,64,175,.08);
  background:#f7f9fc;
}
body[data-theme="light"] .achievement-card.locked{
  opacity:.72;
  filter:none;
  background:#eef2f7;
}
body[data-theme="light"] .achievement-card.unlocked{
  border-color:rgba(217,144,20,.25);
  background:
    radial-gradient(circle at 0 0,rgba(245,158,11,.11),transparent 48%),
    #fffdfa;
  box-shadow:0 8px 20px rgba(180,118,21,.055);
}
body[data-theme="light"] .achievement-card-main strong{color:#102047}
body[data-theme="light"] .achievement-card-main small{color:#71809a}
body[data-theme="light"] .achievement-card-main .achievement-icon{
  color:#17315f;
  background:rgba(37,99,235,.07);
}
body[data-theme="light"] .achievement-card.unlocked .achievement-icon{
  color:#9a650f;
  background:rgba(245,158,11,.11);
}
body[data-theme="light"] .achievement-card.locked .achievement-icon{
  color:#64748b;
  background:rgba(100,116,139,.08);
}
body[data-theme="light"] .achievement-card.locked i{color:#71809a!important}
body[data-theme="light"] .achievement-rarity.rarity-common{color:#53657e;background:#e2e8f0}
body[data-theme="light"] .achievement-rarity.rarity-rare{color:#1d4ed8;background:#dbeafe}
body[data-theme="light"] .achievement-rarity.rarity-epic{color:#7e22ce;background:#f3e8ff}
body[data-theme="light"] .achievement-rarity.rarity-legendary{color:#92400e;background:#fef3c7}

/* ------------------------------------------------------------
   F. ESTADÍSTICAS "HACKER / ANALYTICS TERMINAL"
   Solo la sección de estadísticas adopta este lenguaje.
   ------------------------------------------------------------ */
body[data-theme="light"] #tab-stats{
  --stats-neon:#39ff88;
  --stats-cyan:#4fdcff;
  --stats-panel:#0b1628;
  --stats-panel-2:#101d31;
}
body[data-theme="light"] #tab-stats .page-heading .muted-label{
  color:#1d8a62;
}
body[data-theme="light"] #tab-stats .section-card,
body[data-theme="light"] #tab-stats .rating-evolution-card,
body[data-theme="light"] #tab-stats .comparative-stats-section,
body[data-theme="light"] #tab-stats .personal-records-section{
  color:#dfffee;
  border-color:rgba(57,255,136,.13);
  background:
    linear-gradient(rgba(57,255,136,.025) 1px,transparent 1px),
    linear-gradient(90deg,rgba(79,220,255,.018) 1px,transparent 1px),
    radial-gradient(circle at 100% 0,rgba(79,220,255,.075),transparent 32%),
    linear-gradient(145deg,var(--stats-panel),var(--stats-panel-2));
  background-size:28px 28px,28px 28px,auto,auto;
  box-shadow:
    0 16px 34px rgba(2,8,23,.16),
    inset 0 0 0 1px rgba(255,255,255,.015);
}
body[data-theme="light"] #tab-stats .section-card h3,
body[data-theme="light"] #tab-stats .section-card strong,
body[data-theme="light"] #tab-stats .rating-evolution-card h3{
  color:#f0fff7;
}
body[data-theme="light"] #tab-stats .section-card .muted-label{
  color:#59dca4;
}
body[data-theme="light"] #tab-stats .section-card small,
body[data-theme="light"] #tab-stats .section-card span:not(.chart-current-rating){
  color:#87a3b7;
}
body[data-theme="light"] #tab-stats .stats-grid .stat-card,
body[data-theme="light"] #tab-stats .played-matches-section article,
body[data-theme="light"] #tab-stats .comparative-stats-grid article,
body[data-theme="light"] #tab-stats .personal-records-grid article{
  border-color:rgba(79,220,255,.10);
  background:rgba(4,12,24,.48);
  box-shadow:inset 0 0 18px rgba(79,220,255,.015);
}
body[data-theme="light"] #tab-stats .comparative-stats-grid b{
  color:var(--stats-cyan);
}
body[data-theme="light"] #tab-stats .comparative-badge{
  color:#8cffbe;
  border-color:rgba(57,255,136,.16);
  background:rgba(57,255,136,.055);
}
body[data-theme="light"] #tab-stats .rating-chart-wrap{
  border-color:rgba(57,255,136,.14);
  background:
    linear-gradient(rgba(57,255,136,.045) 1px,transparent 1px),
    linear-gradient(90deg,rgba(79,220,255,.035) 1px,transparent 1px),
    radial-gradient(circle at 80% 30%,rgba(57,255,136,.08),transparent 40%),
    #081321;
  background-size:36px 36px,36px 36px,auto,auto;
  box-shadow:
    inset 0 0 32px rgba(57,255,136,.025),
    0 8px 20px rgba(2,8,23,.14);
}
body[data-theme="light"] #tab-stats .rating-chart-line{
  stroke:#26f27c!important;
  filter:drop-shadow(0 0 5px rgba(38,242,124,.46));
}
body[data-theme="light"] #tab-stats .rating-chart-area{
  fill:rgba(38,242,124,.10)!important;
}
body[data-theme="light"] #tab-stats .rating-chart-dot{
  fill:#071322!important;
  stroke:#63ff9d!important;
  filter:drop-shadow(0 0 4px rgba(57,255,136,.45));
}
body[data-theme="light"] #tab-stats .chart-grid-line{
  stroke:rgba(79,220,255,.11)!important;
}
body[data-theme="light"] #tab-stats .chart-grid-label{
  fill:#7790a6!important;
}
body[data-theme="light"] #tab-stats .chart-current-rating{
  color:#57ef98;
  border-color:rgba(57,255,136,.18);
  background:rgba(57,255,136,.07);
  font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
}
body[data-theme="light"] #tab-stats .rating-chart-header,
body[data-theme="light"] #tab-stats .chart-range-row,
body[data-theme="light"] #tab-stats #ratingHistoryList{
  font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
}
body[data-theme="light"] #tab-stats .history-change.positive{color:#4dff9a}
body[data-theme="light"] #tab-stats .history-change.negative{color:#ff7f8e}

/* ------------------------------------------------------------
   G. MARCOS EN TEMA CLARO: CONTRASTE SIMILAR AL OSCURO
   ------------------------------------------------------------ */
body[data-theme="light"] .frame-card{
  color:#102047;
  border-color:rgba(30,64,175,.09);
  background:#f8faff;
  box-shadow:0 3px 10px rgba(30,64,175,.025);
}
body[data-theme="light"] .frame-card.locked{
  opacity:.68;
  background:#f1f4f8;
}
body[data-theme="light"] .frame-card.equipped{
  opacity:1;
  border-color:rgba(22,163,74,.28);
  background:
    radial-gradient(circle at 15% 50%,rgba(34,197,94,.08),transparent 28%),
    #f6fff9;
  box-shadow:
    0 0 0 1px rgba(34,197,94,.07),
    0 8px 22px rgba(22,163,74,.06);
}

body[data-theme="light"] .frame-card-copy strong{color:#102047}
body[data-theme="light"] .frame-card-copy small{color:#6b7890}
body[data-theme="light"] .frame-card-copy i{color:#3b67a3}
body[data-theme="light"] .frame-card>button{
  color:#274268;
  border-color:rgba(37,99,235,.13);
  background:#edf4ff;
}
body[data-theme="light"] .frame-card.equipped>button{
  color:#166534;
  border-color:rgba(22,163,74,.16);
  background:#dcfce7;
}

/* Los marcos estacionales conservan presencia aun bloqueados */


/* ------------------------------------------------------------
   H. CONFIGURACIÓN CLARA
   ------------------------------------------------------------ */
body[data-theme="light"] #tab-settings .settings-group{
  color:#102047;
  border-color:rgba(30,64,175,.09);
  background:#fff;
  box-shadow:0 8px 22px rgba(30,64,175,.045);
}
body[data-theme="light"] #tab-settings .settings-group-toggle>span{
  color:#2b5ca7;
  background:#edf4ff;
}
body[data-theme="light"] #tab-settings .settings-row,
body[data-theme="light"] #tab-settings .account-settings-card,
body[data-theme="light"] #tab-settings .settings-action-grid button{
  color:#102047;
  border-color:rgba(30,64,175,.08);
  background:#f7f9fc;
}
body[data-theme="light"] #tab-settings .settings-segmented{
  border-color:rgba(30,64,175,.10);
  background:#e8eef8;
}
body[data-theme="light"] #tab-settings .settings-segmented button{
  color:#526987;
}
body[data-theme="light"] #tab-settings .settings-segmented button.active{
  color:#fff;
  background:#294f8f;
}

/* ------------------------------------------------------------
   I. MOBILE: evitar sensaciones de scroll roto y overscroll raro
   ------------------------------------------------------------ */
html,body{
  overscroll-behavior-y:auto;
}
body.modal-open{
  overscroll-behavior:none;
}
@media(max-width:899px){
  .modal-card{
    max-height:calc(100dvh - 32px)!important;
    touch-action:pan-y;
    overscroll-behavior:contain;
  }
  body:not(.modal-open) .main-app,
  body:not(.modal-open) .content-area,
  body:not(.modal-open) .tab-page.active{
    touch-action:pan-y;
    overscroll-behavior-y:auto;
  }
}


/* ============================================================
   V24 — PREMIUM COSMETICS / RESULTADOS / CUENTA
   ============================================================ */

/* ------------------------------------------------------------
   1. STATS SUPERIORES: ADIÓS AL GRIS
   ------------------------------------------------------------ */
body[data-theme="light"] #tab-stats > .stats-grid .stat-card,
body[data-theme="light"] #tab-stats .stats-grid > article.stat-card{
  position:relative;
  overflow:hidden;
  color:#102047!important;
  border:1px solid rgba(37,99,235,.13)!important;
  background:
    radial-gradient(circle at 90% 5%,rgba(56,189,248,.15),transparent 37%),
    linear-gradient(135deg,#eef6ff,#dcecff 78%)!important;
  box-shadow:
    0 10px 24px rgba(37,99,235,.075),
    inset 0 1px 0 rgba(255,255,255,.9)!important;
}
body[data-theme="light"] #tab-stats > .stats-grid .stat-card:after,
body[data-theme="light"] #tab-stats .stats-grid > article.stat-card:after{
  content:"";position:absolute;right:-18px;bottom:-32px;width:100px;height:100px;
  border:1px solid rgba(37,99,235,.08);border-radius:50%;
}
body[data-theme="light"] #tab-stats .stats-grid .stat-card span{
  color:#51709b!important;
  font-weight:800;
}
body[data-theme="light"] #tab-stats .stats-grid .stat-card strong{
  color:#102d61!important;
}
body[data-theme="light"] #tab-stats .stats-grid .stat-card:nth-child(1){
  background:radial-gradient(circle at 90% 5%,rgba(34,197,94,.11),transparent 37%),linear-gradient(135deg,#f0fbff,#dcefff 78%)!important;
}
body[data-theme="light"] #tab-stats .stats-grid .stat-card:nth-child(3){
  border-color:rgba(22,163,74,.16)!important;
}
body[data-theme="light"] #tab-stats .stats-grid .stat-card:nth-child(4){
  border-color:rgba(220,38,38,.13)!important;
}

/* ------------------------------------------------------------
   2. BRONCE MÁS COBRIZO, NO GRIS
   ------------------------------------------------------------ */
body[data-theme="light"] .rank-bronce,
body[data-theme="light"] .rank-bronze,
body[data-theme="light"] .rank-mini.rank-bronce,
body[data-theme="light"] .rank-mini.rank-bronze{
  color:#7c3516!important;
  border-color:rgba(180,83,9,.30)!important;
  background:
    linear-gradient(135deg,#f8dcc8,#eab889)!important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.65),
    0 3px 10px rgba(180,83,9,.08);
}
body[data-theme="light"] #homeCategory{
  color:#fff;
}

/* ------------------------------------------------------------
   3. PODIO TEXTURIZADO / TROFEO
   ------------------------------------------------------------ */
body[data-theme="light"] #tab-ranking .podium-slot{
  isolation:isolate;
}
body[data-theme="light"] #tab-ranking .podium-slot:before{
  content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;opacity:.58;
  background:
    repeating-linear-gradient(135deg,rgba(255,255,255,.24) 0 2px,transparent 2px 9px),
    radial-gradient(circle at 15% 25%,rgba(255,255,255,.7),transparent 2px),
    radial-gradient(circle at 82% 18%,rgba(255,255,255,.55),transparent 2px);
}
body[data-theme="light"] #tab-ranking .podium-1{
  background:
    linear-gradient(110deg,rgba(255,255,255,.72),transparent 28%),
    radial-gradient(circle at 50% 15%,rgba(251,191,36,.23),transparent 35%),
    linear-gradient(160deg,#fffaf0,#f3d99c 150%)!important;
  border:1px solid rgba(202,138,4,.42)!important;
  box-shadow:
    inset 0 0 0 1px rgba(255,255,255,.65),
    inset 0 -14px 28px rgba(245,158,11,.08),
    0 15px 30px rgba(180,118,21,.12)!important;
}
body[data-theme="light"] #tab-ranking .podium-2{
  background:
    linear-gradient(110deg,rgba(255,255,255,.72),transparent 28%),
    radial-gradient(circle at 50% 15%,rgba(148,163,184,.20),transparent 35%),
    linear-gradient(160deg,#fbfdff,#dfe7f1 150%)!important;
  border:1px solid rgba(100,116,139,.30)!important;
}
body[data-theme="light"] #tab-ranking .podium-3{
  background:
    linear-gradient(110deg,rgba(255,255,255,.72),transparent 28%),
    radial-gradient(circle at 50% 15%,rgba(194,101,46,.18),transparent 35%),
    linear-gradient(160deg,#fff9f5,#edc2a6 150%)!important;
  border:1px solid rgba(180,83,9,.31)!important;
}
body[data-theme="light"] #tab-ranking .podium-crown{
  text-shadow:0 2px 8px currentColor;
}
body[data-theme="light"] #tab-ranking .podium-slot>em{
  border:1px solid rgba(15,23,42,.08);
}

/* ------------------------------------------------------------
   4. GLOBAL / SIGUIENDO / ACTIVIDAD SIN GRIS MUERTO
   ------------------------------------------------------------ */
body[data-theme="light"] #tab-ranking [data-ranking-mode]{
  color:#244d83!important;
  border-color:rgba(37,99,235,.12)!important;
  background:#e8f1ff!important;
}
body[data-theme="light"] #tab-ranking [data-ranking-mode]:hover{
  color:#17376a!important;
  background:#dceaff!important;
}
body[data-theme="light"] #tab-ranking [data-ranking-mode].active{
  color:#fff!important;
  border-color:#24549a!important;
  background:
    linear-gradient(135deg,#21457e,#326bb8)!important;
  box-shadow:0 5px 14px rgba(37,99,235,.16);
}

/* ------------------------------------------------------------
   5. MARCOS PREMIUM: ORNAMENTALES Y MUCHO MÁS VISIBLES
   ------------------------------------------------------------ */



/* ring base */



/* rank palettes */






/* temporada: más ceremoniales */








/* second inner ornament ring */


/* Preview cards look like inventory items */
.frame-card{
  min-height:84px;
}

body[data-theme="light"] .frame-card{
  border-color:rgba(30,64,175,.10)!important;
  background:
    linear-gradient(145deg,#fff,#f2f6fc)!important;
}
body[data-theme="light"] .frame-card.locked{
  opacity:.76!important;
  filter:saturate(.78);
}
body[data-theme="light"] .frame-card.equipped{
  border-color:rgba(22,163,74,.34)!important;
  background:
    radial-gradient(circle at 8% 50%,rgba(34,197,94,.10),transparent 26%),
    linear-gradient(145deg,#f8fff9,#eefaf2)!important;
}

/* ------------------------------------------------------------
   6. LOGROS PREMIUM: EMBLEMAS COLECCIONABLES
   ------------------------------------------------------------ */
.achievement-emblem{
  --rarity-a:#718096;--rarity-b:#cbd5e1;--rarity-glow:rgba(148,163,184,.20);
  position:relative;
  width:52px;height:52px;
  display:grid;place-items:center;
  flex:0 0 auto;
  border-radius:16px;
  color:#fff;
  background:
    radial-gradient(circle at 35% 28%,rgba(255,255,255,.32),transparent 8%),
    linear-gradient(145deg,var(--rarity-b),var(--rarity-a));
  box-shadow:
    inset 0 0 0 2px rgba(255,255,255,.18),
    inset 0 -8px 14px rgba(2,8,23,.17),
    0 7px 16px rgba(2,8,23,.13),
    0 0 13px var(--rarity-glow);
  transform:rotate(45deg);
}
.achievement-emblem>*{transform:rotate(-45deg)}
.achievement-emblem.compact{width:36px;height:36px;border-radius:11px}
.achievement-emblem.rarity-rare{--rarity-a:#1d4ed8;--rarity-b:#67e8f9;--rarity-glow:rgba(59,130,246,.34)}
.achievement-emblem.rarity-epic{--rarity-a:#6d28d9;--rarity-b:#d946ef;--rarity-glow:rgba(168,85,247,.38)}
.achievement-emblem.rarity-legendary{--rarity-a:#b45309;--rarity-b:#fde047;--rarity-glow:rgba(245,158,11,.45)}
.achievement-emblem-ring{
  position:absolute;inset:5px;border:1px solid rgba(255,255,255,.48);border-radius:11px;
}
.achievement-emblem.compact .achievement-emblem-ring{inset:4px;border-radius:8px}
.achievement-emblem-core{
  position:relative;z-index:2;
  display:grid;place-items:center;
  font-size:1.05rem;font-weight:1000;
  text-shadow:0 2px 5px rgba(2,8,23,.35);
}
.achievement-emblem.compact .achievement-emblem-core{font-size:.72rem}
.achievement-emblem-spark{
  position:absolute;width:4px;height:4px;border-radius:50%;background:#fff;box-shadow:0 0 6px #fff;
}
.achievement-emblem .spark-a{top:8px;right:10px}
.achievement-emblem .spark-b{bottom:9px;left:10px;width:2px;height:2px}
.achievement-card{
  border-radius:16px!important;
  overflow:hidden;
}
.achievement-card-main{
  min-height:126px;
}
.achievement-icon{
  width:60px!important;height:60px!important;
  display:grid!important;place-items:center!important;
  background:transparent!important;
}
.achievement-plate{
  min-height:64px;
  border-radius:14px!important;
}
.achievement-plate-icon{width:42px;height:42px;display:grid;place-items:center}
.showcase-selector-emblem{width:40px;height:40px;display:grid;place-items:center}
body[data-theme="light"] .achievement-card.unlocked{
  border-color:rgba(245,158,11,.19)!important;
  background:
    radial-gradient(circle at 0 0,rgba(255,231,155,.18),transparent 40%),
    linear-gradient(145deg,#fff,#fbfcff)!important;
}
body[data-theme="light"] .achievement-card.locked{
  opacity:.78!important;
  background:linear-gradient(145deg,#f2f5f9,#e9eef5)!important;
}
body[data-theme="light"] .achievement-card.locked .achievement-emblem{
  filter:grayscale(.72) saturate(.35);
  opacity:.62;
}

/* ------------------------------------------------------------
   7. PERFIL CLARO: AZUL LIMPIO, SIN BLOQUES GRISES
   ------------------------------------------------------------ */
body[data-theme="light"] #tab-profile .v15-profile-metrics .v15-metric-card,
body[data-theme="light"] #tab-profile .v15-metric-card{
  background:
    radial-gradient(circle at 95% 0,rgba(59,130,246,.07),transparent 35%),
    linear-gradient(145deg,#fff,#edf5ff)!important;
}
body[data-theme="light"] #tab-profile .v15-metric-card:nth-child(3){
  background:linear-gradient(145deg,#f7fff9,#eaf8ef)!important;
}
body[data-theme="light"] #tab-profile .v15-metric-card:nth-child(4){
  background:linear-gradient(145deg,#fbf9ff,#f0ebff)!important;
}

/* ------------------------------------------------------------
   8. CONFIGURACIÓN > CUENTA / PERFIL REAL
   ------------------------------------------------------------ */
.settings-profile-form{
  padding:13px;
  border:1px solid var(--v15-line);
  border-radius:14px;
  background:rgba(255,255,255,.018);
}
.settings-profile-grid{
  display:grid;grid-template-columns:repeat(2,1fr);gap:10px;
}
.settings-profile-grid label span,
.account-inline-form label span,
.account-password-form label span{
  display:block;margin-bottom:5px;color:var(--muted);font-size:.52rem;font-weight:800;
}
.settings-profile-grid input,
.settings-profile-grid select,
.account-inline-form input,
.account-password-form input{
  width:100%;min-height:42px;
}
.settings-save-profile{
  margin-top:11px;padding:10px 12px;
  border:1px solid rgba(34,197,94,.18);border-radius:10px;
  color:#bbf7d0;background:rgba(34,197,94,.07);font-size:.6rem;font-weight:900;
}
.settings-profile-actions{margin-top:9px}
.account-security-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}
.account-security-block{
  padding:13px;border:1px solid var(--v15-line);border-radius:14px;background:rgba(255,255,255,.018)
}
.account-security-heading span,.account-security-heading strong{display:block}
.account-security-heading span{color:var(--muted);font-size:.5rem}
.account-security-heading strong{margin-top:3px;font-size:.72rem}
.account-security-block>small{display:block;margin-top:8px;line-height:1.45}
.account-inline-form{margin-top:10px;display:grid;grid-template-columns:1fr auto;gap:8px;align-items:end}
.account-password-form{margin-top:10px;display:grid;gap:8px}
.account-inline-form button,.account-password-form button{
  min-height:42px;padding:0 11px;border:1px solid rgba(59,130,246,.16);border-radius:9px;
  color:#dbeafe;background:rgba(59,130,246,.08);font-size:.55rem;font-weight:850
}
.account-session-actions{margin-top:10px}
.account-session-actions button{
  padding:9px 11px;border:1px solid rgba(148,163,184,.15);border-radius:9px;
  color:var(--text);background:rgba(255,255,255,.025);font-size:.56rem;font-weight:850
}
.account-danger-zone{
  margin-top:16px;padding:13px;display:flex;justify-content:space-between;gap:14px;align-items:center;
  border:1px solid rgba(239,68,68,.18);border-radius:14px;background:rgba(239,68,68,.035)
}
.account-danger-zone span,.account-danger-zone strong,.account-danger-zone small{display:block}
.account-danger-zone span{color:#f87171;font-size:.44rem;font-weight:950;letter-spacing:.08em}
.account-danger-zone strong{margin:4px 0;font-size:.7rem}
.account-danger-zone small{font-size:.5rem}
.account-danger-zone button{
  flex:0 0 auto;padding:9px 11px;border:1px solid rgba(239,68,68,.23);border-radius:9px;
  color:#fecaca;background:rgba(239,68,68,.08);font-size:.55rem;font-weight:900
}
body[data-theme="light"] .settings-profile-form,
body[data-theme="light"] .account-security-block{
  color:#102047;border-color:rgba(30,64,175,.09);background:#f7f9fc
}
body[data-theme="light"] .settings-save-profile{
  color:#166534;background:#dcfce7;border-color:rgba(22,163,74,.18)
}
body[data-theme="light"] .account-inline-form button,
body[data-theme="light"] .account-password-form button{
  color:#17376a;background:#e6f0ff;border-color:rgba(37,99,235,.13)
}
body[data-theme="light"] .account-danger-zone{background:#fff6f6}

/* ------------------------------------------------------------
   9. RESULT MODAL
   ------------------------------------------------------------ */
#matchModal .modal-card{
  border-color:rgba(34,197,94,.13);
}
#matchModal .result-set-row{
  padding:10px;border:1px solid var(--v15-line);border-radius:11px;background:rgba(255,255,255,.02)
}
#matchModal .result-set-row>strong{color:#86efac}
body[data-theme="light"] #matchModal .result-set-row{
  color:#102047;border-color:rgba(30,64,175,.09);background:#f7faff
}
body[data-theme="light"] #matchModal .result-set-row>strong{color:#166534}

/* responsive */
@media(max-width:760px){
  .settings-profile-grid,.account-security-grid{grid-template-columns:1fr}
  .account-inline-form{grid-template-columns:1fr}
  .account-danger-zone{display:grid}
  .account-danger-zone button{width:100%}
}


/* ============================================================
   V25 — PERFIL MOBILE CLARO + LOGROS ILUSTRADOS
         + MARCOS ÉPICOS + SCROLL ROBUSTO
   ============================================================ */

/* ------------------------------------------------------------
   PERFIL PÚBLICO EN TEMA CLARO / MOBILE
   ------------------------------------------------------------ */
body[data-theme="light"] #playerProfileModal{
  background:rgba(19,42,75,.22)!important;
  backdrop-filter:blur(12px);
}
body[data-theme="light"] #playerProfileModal .v15-public-profile-modal{
  color:#112b55!important;
  border:1px solid rgba(74,128,189,.17)!important;
  background:
    linear-gradient(180deg,#f9fcff 0%,#f3f8ff 55%,#edf5ff 100%)!important;
  box-shadow:0 28px 70px rgba(30,64,105,.23)!important;
}
body[data-theme="light"] #playerProfileModal .public-profile-cover{
  background:
    radial-gradient(circle at 15% 10%,rgba(255,255,255,.88),transparent 31%),
    radial-gradient(circle at 82% 0%,rgba(80,160,235,.20),transparent 35%),
    linear-gradient(135deg,#d9ecff,#afcff0)!important;
}
body[data-theme="light"] #playerProfileModal .public-profile-cover.rank-bronce{
  background:
    radial-gradient(circle at 18% 0%,rgba(255,255,255,.88),transparent 30%),
    linear-gradient(135deg,#dceeff 0%,#bdd9f5 58%,#e8c5a5 130%)!important;
}
body[data-theme="light"] #playerProfileModal .public-profile-cover.rank-plata{
  background:linear-gradient(135deg,#eaf5ff,#c8dcf2 65%,#eef4fa)!important;
}
body[data-theme="light"] #playerProfileModal .public-profile-cover.rank-oro{
  background:linear-gradient(135deg,#e9f5ff,#c8ddf3 62%,#f5dfa4 135%)!important;
}
body[data-theme="light"] #playerProfileModal .public-profile-cover.rank-platino{
  background:linear-gradient(135deg,#e4f6ff,#aee3f7 75%,#dffbff)!important;
}
body[data-theme="light"] #playerProfileModal .public-profile-cover.rank-diamante{
  background:linear-gradient(135deg,#e6f5ff,#b8ddff 60%,#d9ccff)!important;
}
body[data-theme="light"] #playerProfileModal .public-profile-v17-identity h2,
body[data-theme="light"] #playerProfileModal .public-profile-v17-identity>p,
body[data-theme="light"] #playerProfileModal .public-profile-highlight-grid strong,
body[data-theme="light"] #playerProfileModal .public-profile-sport strong,
body[data-theme="light"] #playerProfileModal .public-record-grid strong{
  color:#102d5c!important;
}
body[data-theme="light"] #playerProfileModal .muted-label,
body[data-theme="light"] #playerProfileModal .public-profile-highlight-grid span,
body[data-theme="light"] #playerProfileModal .public-profile-highlight-grid small,
body[data-theme="light"] #playerProfileModal .public-profile-sport span,
body[data-theme="light"] #playerProfileModal .public-profile-social-counts,
body[data-theme="light"] #playerProfileModal .public-record-grid span{
  color:#6680a3!important;
}
body[data-theme="light"] #playerProfileModal .public-profile-social-counts strong{
  color:#315987!important;
}
body[data-theme="light"] #playerProfileModal .public-profile-chips span{
  color:#244c7d!important;
  border-color:rgba(46,103,164,.15)!important;
  background:rgba(245,250,255,.86)!important;
  box-shadow:0 2px 8px rgba(42,91,145,.035);
}
body[data-theme="light"] #playerProfileModal .public-profile-highlight-grid article{
  border-color:rgba(54,111,174,.11)!important;
  background:
    radial-gradient(circle at 92% 5%,rgba(69,151,229,.08),transparent 34%),
    linear-gradient(145deg,#ffffff,#eaf4ff)!important;
  box-shadow:0 8px 20px rgba(50,98,150,.055)!important;
}
body[data-theme="light"] #playerProfileModal .public-profile-sport,
body[data-theme="light"] #playerProfileModal .public-profile-record,
body[data-theme="light"] #playerProfileModal .public-seasons-v20,
body[data-theme="light"] #playerProfileModal .public-records-v20,
body[data-theme="light"] #playerProfileModal .public-h2h-v20{
  border-color:rgba(54,111,174,.11)!important;
}
body[data-theme="light"] #playerProfileModal .public-profile-sport{
  background:linear-gradient(145deg,#f9fcff,#e9f3ff)!important;
}
body[data-theme="light"] #playerProfileModal .public-showcase-section{
  border-color:rgba(68,132,196,.15)!important;
  background:
    radial-gradient(circle at 100% 0,rgba(93,160,226,.10),transparent 35%),
    linear-gradient(145deg,#fafdff,#edf6ff)!important;
}
body[data-theme="light"] #playerProfileModal .achievement-plate{
  color:#19385f!important;
  border-color:rgba(56,116,178,.13)!important;
  background:
    radial-gradient(circle at 95% 15%,rgba(90,160,225,.09),transparent 31%),
    linear-gradient(145deg,#ffffff,#e8f3ff)!important;
  box-shadow:0 8px 16px rgba(45,94,145,.055)!important;
}
body[data-theme="light"] #playerProfileModal .achievement-plate-copy strong{
  color:#15345d!important;
}
body[data-theme="light"] #playerProfileModal .achievement-plate-copy small{
  color:#7790ad!important;
}
body[data-theme="light"] #playerProfileModal .follow-player-button.following{
  color:#1c6944!important;
  border-color:rgba(35,168,103,.25)!important;
  background:#e9fbf2!important;
}
body[data-theme="light"] #playerProfileModal .own-profile-chip{
  color:#37628e!important;background:#eaf4ff!important;
}
body[data-theme="light"] #closePlayerProfileModal{
  color:#a9c4e6!important;
  border:1px solid rgba(102,146,196,.18)!important;
  background:#17345c!important;
}

@media(max-width:760px){
  body[data-theme="light"] #playerProfileModal .v15-public-profile-modal{
    border-radius:28px!important;
  }
  body[data-theme="light"] #playerProfileModal .public-profile-v17-head{
    transform:translateY(-32px);
    margin-bottom:-20px;
  }
  
  body[data-theme="light"] #playerProfileModal .public-profile-highlight-grid article{
    min-height:112px;
  }
}

/* ------------------------------------------------------------
   LOGROS: MINI ILUSTRACIONES CON VALOR INTEGRADO
   ------------------------------------------------------------ */
.achievement-illustration{
  --ai-a:#3d72ba;--ai-b:#8ec9ff;--ai-glow:rgba(64,145,235,.28);
  position:relative;
  width:66px;height:66px;
  display:grid;place-items:center;
  flex:0 0 auto;
  border-radius:19px;
  overflow:hidden;
  color:white;
  border:1px solid rgba(255,255,255,.22);
  background:
    radial-gradient(circle at 28% 18%,rgba(255,255,255,.34),transparent 9%),
    linear-gradient(145deg,var(--ai-b),var(--ai-a));
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.38),
    inset 0 -13px 22px rgba(3,16,37,.18),
    0 8px 18px rgba(15,45,80,.13),
    0 0 17px var(--ai-glow);
}
.achievement-illustration.compact{width:43px;height:43px;border-radius:13px}
.achievement-illustration-halo{
  position:absolute;inset:8px;border-radius:50%;
  border:1px solid rgba(255,255,255,.26);
  box-shadow:inset 0 0 12px rgba(255,255,255,.10);
}
.achievement-illustration-symbol{
  position:absolute;
  z-index:2;
  font-size:1.7rem;
  line-height:1;
  filter:drop-shadow(0 3px 3px rgba(4,16,33,.30));
}
.achievement-illustration.compact .achievement-illustration-symbol{font-size:1.18rem}
.achievement-illustration-value{
  position:absolute;
  z-index:4;
  min-width:24px;
  padding:2px 5px;
  display:grid;place-items:center;
  left:50%;top:50%;
  transform:translate(-50%,-45%);
  color:#fff;
  border:1px solid rgba(255,255,255,.44);
  border-radius:999px;
  background:rgba(9,27,51,.74);
  box-shadow:0 3px 8px rgba(0,0,0,.24);
  font-size:.64rem;
  font-weight:1000;
  letter-spacing:-.03em;
  text-shadow:0 1px 3px #0008;
}
.achievement-illustration.compact .achievement-illustration-value{
  min-width:17px;padding:1px 3px;font-size:.43rem;
}
.achievement-illustration small{
  position:absolute;z-index:5;left:0;right:0;bottom:5px;
  color:rgba(255,255,255,.84);
  font-size:.28rem;font-weight:950;letter-spacing:.09em;text-align:center;
}
.achievement-illustration.compact small{display:none}
.achievement-illustration-shine{
  position:absolute;z-index:1;width:25px;height:95px;top:-22px;left:7px;
  transform:rotate(30deg);
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.25),transparent);
}
.achievement-streak{--ai-a:#bd3f16;--ai-b:#ff9a37;--ai-glow:rgba(255,106,23,.46)}
.achievement-streak .achievement-illustration-symbol{font-size:2.5rem}
.achievement-streak.compact .achievement-illustration-symbol{font-size:1.7rem}
.achievement-streak .achievement-illustration-value{
  top:55%;
  color:#fff7d6;
  background:rgba(85,21,4,.70);
  border-color:rgba(255,223,147,.52);
}
.achievement-wins{--ai-a:#ad7209;--ai-b:#ffd964;--ai-glow:rgba(251,191,36,.42)}
.achievement-matches{--ai-a:#1764a2;--ai-b:#76d4ff;--ai-glow:rgba(56,189,248,.35)}
.achievement-elo{--ai-a:#5630ae;--ai-b:#7ee7ff;--ai-glow:rgba(117,109,255,.42)}
.achievement-casual{--ai-a:#168166;--ai-b:#65e2bf;--ai-glow:rgba(16,185,129,.32)}
.achievement-ranked{--ai-a:#214f91;--ai-b:#79aef0;--ai-glow:rgba(59,130,246,.34)}
.achievement-reputation{--ai-a:#7e4ea8;--ai-b:#df9cff;--ai-glow:rgba(192,132,252,.38)}
.achievement-social{--ai-a:#177d8e;--ai-b:#68d6e8;--ai-glow:rgba(34,211,238,.30)}
.achievement-illustration.rarity-rare{box-shadow:inset 0 1px 0 #fff7,0 0 0 1px #60a5fa55,0 0 19px rgba(59,130,246,.27)}
.achievement-illustration.rarity-epic{box-shadow:inset 0 1px 0 #fff7,0 0 0 1px #c084fc77,0 0 22px rgba(168,85,247,.34)}
.achievement-illustration.rarity-legendary{box-shadow:inset 0 1px 0 #fff8,0 0 0 1px #facc1577,0 0 26px rgba(245,158,11,.42)}

/* ------------------------------------------------------------
   MARCOS MÁS ORNAMENTALES
   ------------------------------------------------------------ */







/* TEMPORADA TOP 1: CORONA DE LAUREL + CORONA REAL */





/* TOP 2: laurel plateado */




/* TOP 3: laurel cobrizo */




/* Los previews necesitan un poco más de aire para mostrar ornamentos */
.frame-card{overflow:visible!important}


/* Mantener el marco épico visible en el modal mobile */
@media(max-width:760px){
  
  
}

/* ------------------------------------------------------------
   RECUPERACIÓN DE SCROLL
   ------------------------------------------------------------ */
body:not(.modal-open){
  overflow-x:hidden;
  touch-action:auto;
}


/* ============================================================
   V26 — MARCOS ILUSTRADOS DEFINITIVOS + SCROLL MOBILE FIX
   ============================================================ */

/* 1) Scroll móvil: el guardián ya no fuerza scrollTo(0,0) cuando no hay modal */
body.modal-open{
  overflow:hidden;
  position:fixed;
  left:0;right:0;
}

/* 2) Tarjetas Top 1/2/3 con relevancia visual completa */
.podium-1{
  box-shadow:
    0 0 0 2px rgba(245,158,11,.32),
    0 0 0 7px rgba(245,158,11,.10),
    0 18px 36px rgba(180,118,21,.18)!important;
}
.podium-2{
  box-shadow:
    0 0 0 2px rgba(203,213,225,.28),
    0 0 0 7px rgba(203,213,225,.10),
    0 18px 34px rgba(71,85,105,.14)!important;
}
.podium-3{
  box-shadow:
    0 0 0 2px rgba(180,83,9,.24),
    0 0 0 7px rgba(180,83,9,.08),
    0 16px 32px rgba(146,64,14,.14)!important;
}
body[data-theme="light"] .podium-1{box-shadow:0 0 0 2px rgba(202,138,4,.42),0 0 0 8px rgba(245,158,11,.10),0 18px 35px rgba(180,118,21,.16)!important}
body[data-theme="light"] .podium-2{box-shadow:0 0 0 2px rgba(148,163,184,.28),0 0 0 8px rgba(148,163,184,.09),0 18px 35px rgba(100,116,139,.12)!important}
body[data-theme="light"] .podium-3{box-shadow:0 0 0 2px rgba(180,83,9,.24),0 0 0 8px rgba(180,83,9,.08),0 18px 35px rgba(146,64,14,.12)!important}

/* 3) Marcos ilustrados: se usan artes PNG y no anillos CSS abstractos */







/* el contenido del avatar queda por debajo del marco y siempre circular */

.podium-avatar{
  border-radius:50%!important;
  overflow:hidden!important;
}
.podium-avatar img{
  width:100%;height:100%;object-fit:cover;border-radius:50%!important;
}
/* evitamos que la foto quede por fuera del marco en mobile */




/* Galería de marcos */




/* Artes por marco */









/* 4) Perfil público mobile más limpio, azul claro y sin bloques oscuros */
body[data-theme="light"] #playerProfileModal .public-profile-highlight-grid article,
body[data-theme="light"] #playerProfileModal .public-showcase-strip,
body[data-theme="light"] #playerProfileModal .public-sport-profile-grid article,
body[data-theme="light"] #playerProfileModal .public-highlight-card{
  background:linear-gradient(145deg,#ffffff,#eef5ff)!important;
  border-color:rgba(59,130,246,.12)!important;
  box-shadow:0 8px 18px rgba(37,99,235,.06)!important;
}
body[data-theme="light"] #playerProfileModal .achievement-plate{
  background:linear-gradient(145deg,#edf5ff,#e0ecfb)!important;
  border-color:rgba(59,130,246,.12)!important;
}
body[data-theme="light"] #playerProfileModal .public-profile-stats article,
body[data-theme="light"] #playerProfileModal .v15-profile-metrics article{
  background:linear-gradient(145deg,#ffffff,#ecf4ff)!important;
  border-color:rgba(59,130,246,.10)!important;
}

/* 5) Ajustes mobile extra para que el marco no tape la foto */
@media (max-width: 760px){
  
  
}


/* ============================================================
   V27 — ESTABILIZACIÓN: MARCOS / FOTO / POST-MATCH
   ============================================================ */

/* Las cards de configuración ya NO son marcos. Ningún pseudo ornamental
   antiguo puede dibujarse sobre la tarjeta completa. */
.frame-card[data-frame-id]::before,
.frame-card[data-frame-id]::after{
  content:none!important;
  display:none!important;
}

.frame-gallery{gap:10px!important}
.frame-card{
  grid-template-columns:78px minmax(0,1fr) auto!important;
  min-height:104px!important;
  overflow:visible!important;
}




/* Podio de temporada: el efecto de tarjeta completa se conserva de forma
   intencional, pero separado del PNG del avatar. */
.frame-card.season-card-first{
  border:2px solid rgba(217,70,239,.48)!important;
  background:
    radial-gradient(circle at 7% 50%,rgba(217,70,239,.13),transparent 24%),
    radial-gradient(circle at 96% 0,rgba(250,204,21,.10),transparent 32%),
    linear-gradient(135deg,rgba(126,34,206,.07),rgba(245,158,11,.035))!important;
  box-shadow:0 0 0 4px rgba(217,70,239,.055),0 12px 28px rgba(88,28,135,.09)!important;
}
.frame-card.season-card-second{
  border:2px solid rgba(56,189,248,.42)!important;
  background:
    radial-gradient(circle at 7% 50%,rgba(56,189,248,.11),transparent 24%),
    linear-gradient(135deg,rgba(37,99,235,.065),rgba(250,204,21,.025))!important;
  box-shadow:0 0 0 4px rgba(56,189,248,.045),0 12px 28px rgba(30,64,175,.08)!important;
}
.frame-card.season-card-third{
  border:2px solid rgba(132,204,22,.38)!important;
  background:
    radial-gradient(circle at 7% 50%,rgba(132,204,22,.12),transparent 24%),
    linear-gradient(135deg,rgba(77,124,15,.055),rgba(245,158,11,.025))!important;
  box-shadow:0 0 0 4px rgba(132,204,22,.04),0 12px 28px rgba(63,98,18,.07)!important;
}
body[data-theme="light"] .frame-card.season-card-first{background:linear-gradient(135deg,#fff7ff,#fffaf0)!important}
body[data-theme="light"] .frame-card.season-card-second{background:linear-gradient(135deg,#eef8ff,#f8fbff)!important}
body[data-theme="light"] .frame-card.season-card-third{background:linear-gradient(135deg,#f5ffe9,#fffaf1)!important}

/* Marcos definitivos: PNG limpio como única ornamentación. */











/* FOTO: se reduce solo cuando existe marco y queda centrada dentro del hueco.
   El ornamento siempre está por encima. */







/* El botón de foto queda por encima pero separado de la gema inferior. */
.profile-photo-edit, [data-profile-photo-trigger]{z-index:12!important}

/* POST MATCH: visible y cómodo en móvil + revancha en la misma pantalla. */
.post-match-format-chip{
  width:max-content;max-width:100%;margin:10px auto 0;padding:7px 10px;
  display:flex;gap:8px;align-items:center;flex-wrap:wrap;justify-content:center;
  border:1px solid rgba(96,165,250,.18);border-radius:999px;
  background:rgba(59,130,246,.06);
}
.post-match-format-chip b{font-size:.55rem}.post-match-format-chip span{font-size:.48rem;color:var(--muted)}
.post-match-actions-v27{display:grid!important;grid-template-columns:1fr 1fr;gap:8px!important}
.post-rematch-btn{
  color:#dbeafe!important;border:1px solid rgba(96,165,250,.24)!important;
  background:linear-gradient(135deg,rgba(37,99,235,.16),rgba(14,165,233,.08))!important;
  font-weight:900!important;
}
body[data-theme="light"] .post-match-format-chip{background:#edf6ff;border-color:rgba(37,99,235,.13)}
body[data-theme="light"] .post-rematch-btn{color:#174477!important;background:linear-gradient(135deg,#e4f0ff,#edf8ff)!important}
@media(max-width:760px){
  .post-match-actions-v27{grid-template-columns:1fr!important}
  .post-match-actions-v27 button{min-height:48px!important}
  .frame-card{grid-template-columns:74px minmax(0,1fr) auto!important}
  
  
  
}


/* ============================================================
   V28 — GAMEPLAY / PROGRESIÓN / RESULTADOS
   ============================================================ */
.v28-progression-panel{display:grid;gap:11px}
.v28-level-head{display:flex;align-items:end;justify-content:space-between;gap:12px}
.v28-level-head h3{margin:3px 0 0}.v28-level-head>strong{font-size:.58rem;color:#93c5fd}
.v28-xp-track{height:8px;border-radius:999px;background:rgba(148,163,184,.12);overflow:hidden}
.v28-xp-track span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#3b82f6,#22c55e);transition:width .5s ease}
.v28-home-tools{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.v28-home-tools button{padding:11px;text-align:left;display:grid;grid-template-columns:auto 1fr;column-gap:9px;border:1px solid var(--v15-line);border-radius:12px;color:var(--text);background:rgba(255,255,255,.018)}
.v28-home-tools button>span{grid-row:1/3;font-size:1.2rem}.v28-home-tools strong,.v28-home-tools small{display:block}.v28-home-tools small{margin-top:2px}

.v28-mission-list{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}
.v28-mission{position:relative;padding:10px;border:1px solid var(--v15-line);border-radius:12px;background:rgba(255,255,255,.018);overflow:hidden}
.v28-mission>div:first-child span,.v28-mission>div:first-child strong,.v28-mission>div:first-child small{display:block}
.v28-mission>div:first-child span{font-size:.4rem;color:#93c5fd;font-weight:950}.v28-mission>div:first-child strong{margin:4px 0;font-size:.6rem}.v28-mission>div:first-child small{font-size:.46rem}
.v28-mission>b{position:absolute;right:10px;top:10px;font-size:.52rem}
.v28-mission-track{height:4px;margin-top:9px;border-radius:999px;background:rgba(148,163,184,.12);overflow:hidden}
.v28-mission-track i{display:block;height:100%;background:#3b82f6}.v28-mission.complete{border-color:rgba(34,197,94,.25);background:rgba(34,197,94,.045)}.v28-mission.complete .v28-mission-track i{background:#22c55e}
.v28-mission-reset{font-size:.46rem;color:var(--muted)}

.v28-week-event,.v28-match-week{display:flex;align-items:center;justify-content:space-between;gap:14px}
.v28-week-event h3,.v28-match-week h3{margin:3px 0}.v28-week-event span,.v28-match-week span{font-size:.53rem}
.v28-event-badge{padding:8px 10px;border:1px solid rgba(59,130,246,.22);border-radius:10px;color:#93c5fd;background:rgba(59,130,246,.07);font-size:.5rem;font-weight:950}
.v28-match-week{border-color:rgba(245,158,11,.17)!important;background:radial-gradient(circle at 100% 0,rgba(245,158,11,.08),transparent 35%),rgba(255,255,255,.018)!important}
.v28-match-week button{padding:8px 10px;border:1px solid var(--v15-line);border-radius:9px;color:var(--text);background:transparent;font-size:.52rem;font-weight:850}

.v28-format-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.v28-format-grid article{padding:13px;border:1px solid var(--v15-line);border-radius:12px;background:rgba(255,255,255,.018)}
.v28-format-grid span,.v28-format-grid strong,.v28-format-grid small{display:block}.v28-format-grid span{font-size:.44rem;color:#93c5fd;font-weight:950}.v28-format-grid strong{margin:5px 0;font-size:1.3rem}.v28-format-grid small{font-size:.48rem}
.v28-strength-map{display:grid;gap:7px}.v28-strength-map>div{display:flex;justify-content:space-between;padding:9px 10px;border-bottom:1px solid var(--v15-line)}.v28-strength-map span{font-size:.55rem}.v28-strength-map strong{color:#fbbf24;letter-spacing:.08em}
.v28-coach-panel{position:relative;overflow:hidden;background:radial-gradient(circle at 100% 0,rgba(59,130,246,.14),transparent 38%),linear-gradient(145deg,#0d1b31,#0a1425)!important}
.v28-coach-head{display:flex;gap:10px;align-items:center}.v28-coach-head>span{font-size:1.5rem;color:#67e8f9}.v28-coach-panel>p{margin:12px 0;line-height:1.55;font-size:.58rem}.v28-coach-panel>button{padding:8px 10px;border:1px solid rgba(103,232,249,.18);border-radius:9px;color:#a5f3fc;background:rgba(34,211,238,.05);font-size:.5rem;font-weight:900}

.v28-trophy-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:7px;margin-bottom:10px}.v28-trophy-grid article{padding:10px;border:1px solid var(--v15-line);border-radius:11px;background:rgba(255,255,255,.018)}.v28-trophy-grid span,.v28-trophy-grid strong,.v28-trophy-grid small{display:block}.v28-trophy-grid span{font-size:1rem}.v28-trophy-grid strong{margin:5px 0;font-size:.72rem}.v28-trophy-grid small{font-size:.43rem}

.v28-season-recap-modal{max-width:570px}.v28-recap-hero{text-align:center;padding:18px;border-radius:15px;background:radial-gradient(circle at 50% 0,rgba(59,130,246,.17),transparent 45%),rgba(255,255,255,.02)}.v28-recap-hero>*{display:block}.v28-recap-hero>strong{font-size:3rem;margin-top:8px}.v28-recap-grid{margin-top:10px;display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.v28-recap-grid article{padding:11px;border:1px solid var(--v15-line);border-radius:11px}.v28-recap-grid span,.v28-recap-grid strong{display:block}.v28-recap-grid span{font-size:.48rem}.v28-recap-grid strong{margin-top:4px;font-size:.8rem}

/* RESULTADO COMPACTO */
#matchModal.v28-result-modal .modal-card{max-width:590px;max-height:min(92vh,720px);overflow:auto}
#matchModal.v28-result-modal #matchModalTitle{font-size:1.25rem}
#matchModal.v28-result-modal #matchModalFormat{display:flex;gap:7px;align-items:center;flex-wrap:wrap}
#matchModal.v28-result-modal #matchModalFormat span,#matchModal.v28-result-modal #matchModalFormat b{padding:4px 7px;border-radius:999px;background:rgba(59,130,246,.08);font-size:.45rem}
.v28-live-score{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:10px;padding:12px;border:1px solid var(--v15-line);border-radius:13px;background:rgba(255,255,255,.02)}
.v28-live-score>div{display:grid;grid-template-columns:1fr auto;align-items:center;gap:8px}.v28-live-score>div:last-child{text-align:right}.v28-live-score small{font-size:.55rem;font-weight:850}.v28-live-score strong{font-size:1.65rem}.v28-live-score>span{font-size:.4rem;color:var(--muted)}
.v28-score-head,.v28-score-row{display:grid;grid-template-columns:70px 1fr 1fr 90px;gap:7px;align-items:center}
.v28-score-head{padding:4px 8px;font-size:.4rem;color:var(--muted);font-weight:900;text-align:center}.v28-score-head span:first-child{text-align:left}
.v28-score-row{padding:7px 8px;border:1px solid var(--v15-line);border-radius:11px;background:rgba(255,255,255,.018)}
.v28-score-row>strong{font-size:.5rem;color:#86efac}.v28-score-row input{width:100%;height:42px;text-align:center;font-size:1rem;font-weight:950;padding:4px;border-radius:9px}
.v28-unplayed{display:flex;align-items:center;gap:4px;font-size:.42rem;color:var(--muted)}.v28-unplayed input{width:15px;height:15px}
.v28-score-row[data-winner="p1"] input[data-p1-set],.v28-score-row[data-winner="p2"] input[data-p2-set]{border-color:rgba(34,197,94,.38);background:rgba(34,197,94,.08)}
.v28-score-row.auto-unplayed{opacity:.38}.v28-score-row.auto-unplayed input{pointer-events:none}
.v28-post-coach{margin-top:10px;padding:10px;display:flex;gap:9px;border:1px solid rgba(34,211,238,.15);border-radius:11px;background:rgba(34,211,238,.04)}.v28-post-coach>span{color:#67e8f9}.v28-post-coach strong,.v28-post-coach small{display:block}.v28-post-coach small{margin-top:3px;line-height:1.4}

/* Perfil móvil: foto más contenida + tarjetas azuladas */

body[data-theme="light"] #tab-profile .v15-profile-metrics .v15-metric-card,
body[data-theme="light"] #tab-profile .v15-metric-card{
  background:linear-gradient(145deg,#f8fbff,#e5f0ff)!important;
  border-color:rgba(59,130,246,.10)!important;
}
body[data-theme="light"] #tab-profile .rank-mini.rank-bronce{background:linear-gradient(135deg,#ffd9b6,#eaa167)!important;color:#71320f!important;border-color:rgba(180,83,9,.30)!important}
body[data-theme="light"] #tab-profile .profile-sports-card{background:linear-gradient(145deg,#fbfdff,#edf5ff)!important}

/* Top cards keep prestige without stretching avatar art */







body[data-theme="light"] .v28-coach-panel{color:#dbeafe!important}
body[data-theme="light"] .v28-progression-panel,
body[data-theme="light"] .v28-missions,
body[data-theme="light"] .v28-week-event,
body[data-theme="light"] .v28-match-week,
body[data-theme="light"] .v28-format-section,
body[data-theme="light"] .v28-strength-section,
body[data-theme="light"] .v28-trophy-room{background:#fff!important;border-color:rgba(59,130,246,.10)!important;color:#102d5c!important}

@media(max-width:760px){
  .v28-mission-list{grid-template-columns:1fr}
  .v28-home-tools{grid-template-columns:1fr}
  .v28-trophy-grid{grid-template-columns:repeat(2,1fr)}
  .v28-format-grid{grid-template-columns:repeat(3,1fr)}
  .v28-score-head,.v28-score-row{grid-template-columns:55px 1fr 1fr 74px;gap:5px}
  .v28-score-row{padding:6px}
  .v28-score-row input{height:40px}
  #matchModal.v28-result-modal .modal-card{max-height:90dvh}
  .v28-recap-grid{grid-template-columns:repeat(2,1fr)}
}


/* ============================================================
   V28 CORREGIDA — AJUSTES DE ESTABILIDAD
   ============================================================ */

/* Estado del resultado */
.v28-live-state{
  margin:7px 0 3px;
  text-align:center;
  font-size:.43rem;
  font-weight:950;
  letter-spacing:.08em;
  color:var(--muted);
}
.v28-live-state.finished{color:#86efac}
.v28-live-state.abandonment{color:#fbbf24}
.v28-score-row.abandonment-row{
  border-color:rgba(245,158,11,.34)!important;
  background:rgba(245,158,11,.055)!important;
}
.v28-score-row.abandonment-row::after{
  content:"ABANDONO";
  position:absolute;
  right:8px;
  top:-7px;
  padding:2px 5px;
  border-radius:999px;
  background:#f59e0b;
  color:#111827;
  font-size:.34rem;
  font-weight:1000;
  letter-spacing:.05em;
}
.v28-score-row{position:relative}

/* El checkbox se mantiene accesible, pero los sets cerrados no crean ruido. */
.v28-score-row.auto-unplayed .v28-unplayed span{opacity:.65}

/* Rivalidad activa */
.v28-rivalry-card{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  border-color:rgba(249,115,22,.20)!important;
  background:
    radial-gradient(circle at 100% 0,rgba(249,115,22,.09),transparent 38%),
    rgba(255,255,255,.018)!important;
}
.v28-rivalry-card h3{margin:3px 0}
.v28-rivalry-card span{font-size:.53rem}
.v28-rivalry-card button{
  padding:8px 10px;
  border:1px solid var(--v15-line);
  border-radius:9px;
  color:var(--text);
  background:transparent;
  font-size:.52rem;
  font-weight:850;
}

/* FOTO + MARCO: no usar transform porque puede sacar la foto del hueco.
   El recorte real queda contenido dentro del círculo del avatar. */





/* Las cards de podio usan SOLO season-card-* para el borde completo.
   Nunca heredan el pseudo-elemento del marco del avatar. */



/* Se conservan exclusivamente estos estilos premium de tarjeta. */
.frame-card.season-card-first{
  border:2px solid rgba(217,70,239,.48)!important;
}
.frame-card.season-card-second{
  border:2px solid rgba(56,189,248,.42)!important;
}
.frame-card.season-card-third{
  border:2px solid rgba(132,204,22,.38)!important;
}

body[data-theme="light"] .v28-rivalry-card{
  background:linear-gradient(145deg,#fff,#fff6ed)!important;
  color:#102d5c!important;
  border-color:rgba(249,115,22,.16)!important;
}

@media(max-width:760px){
  #matchModal.v28-result-modal .modal-card{
    width:min(96vw,590px)!important;
    max-height:94dvh!important;
    padding:15px!important;
  }
  .v28-live-score{padding:9px}
  .v28-live-score small{font-size:.49rem}
  .v28-live-score strong{font-size:1.4rem}
  .v28-rivalry-card{align-items:flex-start}
}


/* ============================================================
   V29 — AVATAR PRECISO + FOTO EN NAVEGACIÓN + HUB DE IA
   ============================================================ */

/* FOTO Y MARCO = UNA SOLA UNIDAD */








/* Ajustes del hueco de cada arte */







/* Neutraliza reglas heredadas que escalaban el img directamente */


/* Botón + más integrado y sin tapar gema inferior */


/* FOTO REAL EN BOTÓN PERFIL */
.nav-profile-avatar{
  width:25px;height:25px;
  display:grid;place-items:center;
  overflow:hidden;
  border-radius:50%;
  border:1px solid rgba(148,163,184,.30);
  background:rgba(148,163,184,.12);
  color:#cbd5e1;
  font-weight:950;
  line-height:1;
  transition:.2s ease;
}
.nav-profile-avatar img{display:none;width:100%;height:100%;object-fit:cover;object-position:center}
.nav-profile-avatar.has-photo img{display:block}
.nav-profile-avatar.has-photo b{display:none}
.nav-profile-avatar b{font-size:.42rem}
.profile-nav-item.active .nav-profile-avatar{
  border-color:rgba(255,255,255,.88);
  box-shadow:0 0 0 2px rgba(59,130,246,.18);
  transform:scale(1.04);
}
body[data-theme="light"] .nav-profile-avatar{
  border-color:rgba(30,64,175,.20);
  background:#eaf2ff;
  color:#17376a;
}

/* BOTÓN IA */
.ai-icon-btn{
  display:grid!important;
  place-items:center!important;
  align-content:center!important;
  gap:0!important;
  border-color:rgba(56,189,248,.22)!important;
  background:radial-gradient(circle at 30% 20%,rgba(103,232,249,.17),transparent 38%),rgba(30,64,175,.09)!important;
}
.ai-icon-btn>span{color:#67e8f9;font-size:.9rem;line-height:.8;text-shadow:0 0 12px rgba(34,211,238,.42)}
.ai-icon-btn>small{margin-top:3px;color:#bae6fd;font-size:.38rem;font-weight:1000;letter-spacing:.08em}
body[data-theme="light"] .ai-icon-btn{border-color:rgba(37,99,235,.16)!important;background:linear-gradient(145deg,#edf7ff,#e7efff)!important}
body[data-theme="light"] .ai-icon-btn>span{color:#2563eb}
body[data-theme="light"] .ai-icon-btn>small{color:#24549a}

/* HUB DE IA */
.ai-page-heading p:last-child{max-width:620px}
.ai-assistant-hero{
  min-height:190px;
  display:grid;
  grid-template-columns:100px minmax(0,1fr);
  gap:18px;
  align-items:center;
  overflow:hidden;
  position:relative;
  background:radial-gradient(circle at 8% 20%,rgba(34,211,238,.13),transparent 28%),radial-gradient(circle at 95% 15%,rgba(99,102,241,.16),transparent 34%),linear-gradient(145deg,#0b172a,#0c1425)!important;
}
.ai-assistant-hero::after{
  content:"";
  position:absolute;width:220px;height:220px;right:-90px;bottom:-140px;
  border-radius:50%;border:1px solid rgba(103,232,249,.09);
  box-shadow:0 0 0 28px rgba(59,130,246,.025),0 0 0 58px rgba(59,130,246,.018);
}
.ai-orb{
  width:88px;height:88px;display:grid;place-items:center;border-radius:50%;
  background:radial-gradient(circle at 34% 30%,rgba(255,255,255,.27),transparent 13%),radial-gradient(circle at center,rgba(34,211,238,.27),rgba(37,99,235,.10) 55%,rgba(99,102,241,.06));
  border:1px solid rgba(103,232,249,.23);
  box-shadow:0 0 35px rgba(34,211,238,.11),inset 0 0 28px rgba(59,130,246,.13);
}
.ai-orb span{font-size:2rem;color:#a5f3fc;text-shadow:0 0 22px rgba(103,232,249,.65)}
.ai-assistant-copy{position:relative;z-index:2}
.ai-assistant-copy h3{margin:8px 0 7px;font-size:1.35rem}
.ai-assistant-copy p{margin:0;max-width:500px;line-height:1.55;color:#aebbd0;font-size:.67rem}
.ai-beta-chip{
  width:max-content;padding:5px 8px;border:1px solid rgba(103,232,249,.16);
  border-radius:999px;color:#67e8f9;background:rgba(34,211,238,.055);
  font-size:.42rem;font-weight:1000;letter-spacing:.12em;
}
.ai-feature-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.ai-feature-card{margin-top:10px!important;min-height:118px;display:grid;grid-template-columns:38px minmax(0,1fr);gap:10px;align-items:start;position:relative}
.ai-feature-card>span{width:36px;height:36px;display:grid;place-items:center;border-radius:11px;background:rgba(59,130,246,.08);color:#93c5fd;font-size:1rem}
.ai-feature-card strong,.ai-feature-card small{display:block}
.ai-feature-card strong{font-size:.68rem}
.ai-feature-card small{margin-top:5px;line-height:1.45;font-size:.5rem}
.ai-feature-card>b{grid-column:2;width:max-content;padding:4px 7px;border-radius:999px;background:rgba(148,163,184,.08);color:#94a3b8;font-size:.36rem;letter-spacing:.08em}
.ai-foundation-note{display:flex;gap:12px;align-items:flex-start;border-color:rgba(34,211,238,.12)!important}
.ai-foundation-note>span{color:#67e8f9;font-size:1.2rem}
.ai-foundation-note strong,.ai-foundation-note small{display:block}
.ai-foundation-note small{margin-top:5px;line-height:1.5}

body[data-theme="light"] .ai-assistant-hero{
  background:radial-gradient(circle at 8% 20%,rgba(34,211,238,.12),transparent 30%),radial-gradient(circle at 95% 15%,rgba(99,102,241,.09),transparent 34%),linear-gradient(145deg,#f9fcff,#eaf3ff)!important;
  color:#102d5c!important;
}
body[data-theme="light"] .ai-assistant-copy p{color:#526c91}
body[data-theme="light"] .ai-beta-chip{color:#24549a;background:#e5f2ff;border-color:rgba(37,99,235,.12)}
body[data-theme="light"] .ai-feature-card,
body[data-theme="light"] .ai-foundation-note{background:#fff!important;color:#102d5c!important;border-color:rgba(37,99,235,.09)!important}

@media(min-width:900px){
  .profile-nav-item .nav-profile-avatar{width:30px;height:30px}
}
@media(max-width:430px){
  .topbar-actions{gap:6px}
  .topbar-actions .icon-btn{width:43px;height:43px}
  .ai-feature-grid{grid-template-columns:1fr}
  .ai-assistant-hero{grid-template-columns:70px minmax(0,1fr);padding:17px!important;min-height:175px}
  .ai-orb{width:64px;height:64px}
  .ai-orb span{font-size:1.55rem}
  .ai-assistant-copy h3{font-size:1.05rem}
  .ai-assistant-copy p{font-size:.58rem}
  
}


/* ============================================================
   V30 — TORNEOS SOCIALES / HISTORIAL / GRUPOS AUTOMÁTICOS
   ============================================================ */

.tournament-hub-v30{margin-top:12px}
.tournament-hub-tabs{
  display:flex;gap:6px;padding:5px;margin:12px 0;
  border:1px solid var(--v15-line);border-radius:12px;
  background:rgba(255,255,255,.018);
}
.tournament-hub-tabs button{
  flex:1;padding:9px 12px;border:0;border-radius:9px;background:transparent;
  color:var(--muted);font-size:.57rem;font-weight:900;
}
.tournament-hub-tabs button.active{
  color:#dbeafe;background:rgba(59,130,246,.14);
  box-shadow:inset 0 0 0 1px rgba(96,165,250,.16);
}
.t30-help,.t30-group-rule{margin:0 0 10px;color:var(--muted);font-size:.5rem;line-height:1.45}

.t30-history-card{
  width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;
  padding:12px;border:1px solid var(--v15-line);border-radius:12px;
  background:rgba(255,255,255,.018);cursor:pointer;
}
.t30-history-card+.t30-history-card{margin-top:7px}
.t30-history-card.active-tournament{
  border-color:rgba(34,197,94,.28);
  background:linear-gradient(135deg,rgba(34,197,94,.10),rgba(34,197,94,.025));
  box-shadow:inset 3px 0 0 rgba(34,197,94,.68);
}
.t30-history-main{display:flex;align-items:center;gap:10px;min-width:0}
.t30-history-icon{color:#4ade80;font-size:.75rem}
.t30-history-main>div{min-width:0}
.t30-history-main strong,.t30-history-main small,.t30-history-main em{display:block}
.t30-history-main strong{font-size:.62rem;margin:3px 0}
.t30-history-main small{font-size:.47rem}
.t30-history-main em{margin-top:5px;color:#fbbf24;font-style:normal;font-size:.45rem;font-weight:850}
.t30-active-badge{
  width:max-content;padding:3px 6px;border-radius:999px;
  background:rgba(34,197,94,.14);color:#86efac;font-size:.35rem!important;
  letter-spacing:.07em;
}

.t30-discover-head{margin:6px 0 11px}
.t30-discovery-list{display:grid;gap:8px}
.t30-discovery-card{
  overflow:hidden;border:1px solid var(--v15-line);border-radius:13px;
  background:rgba(255,255,255,.018);
}
.t30-discovery-open{
  width:100%;display:flex;justify-content:space-between;align-items:center;gap:12px;
  padding:13px;border:0;background:transparent;color:var(--text);text-align:left;
}
.t30-discovery-open>div{min-width:0}
.t30-discovery-open strong,.t30-discovery-open small,.t30-visibility{display:block}
.t30-discovery-open strong{margin:4px 0;font-size:.67rem}
.t30-discovery-open small{font-size:.47rem}
.t30-discovery-open>b{
  padding:5px 7px;border-radius:999px;background:rgba(59,130,246,.08);
  color:#93c5fd;font-size:.38rem;white-space:nowrap;
}
.t30-visibility{font-size:.38rem;color:#94a3b8;font-weight:950;letter-spacing:.06em}
.t30-discovery-footer{
  padding:9px 13px;border-top:1px solid var(--v15-line);
  display:flex;align-items:center;justify-content:space-between;gap:10px;
}
.t30-discovery-footer>span{font-size:.47rem;color:var(--muted)}
.t30-discovery-footer button{
  padding:7px 10px;border:1px solid rgba(59,130,246,.18);border-radius:9px;
  background:rgba(59,130,246,.08);color:#bfdbfe;font-size:.43rem;font-weight:950;
}
.t30-discovery-footer button.joined{color:#86efac;border-color:rgba(34,197,94,.17);background:rgba(34,197,94,.06)}
.t30-discovery-footer button:disabled{opacity:.55}

.t30-social-config{align-items:end}
#tournamentPrivateCodeWrap small{display:block;margin-top:4px}
.host-plays-toggle{
  display:flex!important;align-items:flex-start;gap:9px;padding:11px!important;
  border:1px solid var(--v15-line);border-radius:12px;background:rgba(255,255,255,.018);
}
.host-plays-toggle>input{width:18px!important;height:18px!important;flex:0 0 18px}
.host-plays-toggle span,.host-plays-toggle strong,.host-plays-toggle small{display:block}
.host-plays-toggle strong{font-size:.56rem}
.host-plays-toggle small{margin-top:4px;font-size:.45rem;line-height:1.4}

.auto-group-preview{
  margin-bottom:10px;padding:11px;border:1px solid rgba(34,211,238,.16);
  border-radius:12px;background:linear-gradient(135deg,rgba(34,211,238,.055),rgba(59,130,246,.035));
}
.auto-group-preview>div{display:flex;justify-content:space-between;align-items:center;gap:10px}
.auto-group-preview span{font-size:.4rem;color:#67e8f9;font-weight:950;letter-spacing:.08em}
.auto-group-preview strong{font-size:.68rem}
.auto-group-preview small{display:block;margin-top:7px;font-size:.48rem;color:var(--muted);line-height:1.45}

.t30-lobby{
  margin-top:12px;padding:14px;border:1px solid var(--v15-line);border-radius:14px;
  background:rgba(255,255,255,.018);
}
.t30-lobby-head{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}
.t30-lobby-head h4{margin:4px 0;font-size:1rem}
.t30-lobby-head>span{font-size:.48rem;color:#94a3b8}
.t30-lobby-people{
  display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin:12px 0;
}
.t30-lobby-people>div{
  min-width:0;padding:9px;border:1px solid var(--v15-line);border-radius:10px;
  background:rgba(255,255,255,.015);
}
.t30-lobby-people>div>span{
  width:32px;height:32px;display:grid;place-items:center;border-radius:50%;
  overflow:hidden;background:rgba(59,130,246,.09);font-size:.42rem;font-weight:950;
}
.t30-lobby-people img{width:100%;height:100%;object-fit:cover}
.t30-lobby-people strong,.t30-lobby-people small{display:block}
.t30-lobby-people strong{margin-top:6px;font-size:.5rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.t30-lobby-people small{font-size:.42rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.t30-host-actions{margin-top:12px;display:grid;gap:7px}
.t30-host-actions small,.t30-waiting-host{font-size:.47rem;color:var(--muted);line-height:1.45}
.t30-waiting-host{padding:10px;border-radius:9px;background:rgba(34,197,94,.055);color:#86efac}

.t30-structure-error{
  padding:18px;text-align:center;border:1px solid rgba(248,113,113,.16);
  border-radius:12px;background:rgba(248,113,113,.035);
}
.t30-structure-error strong,.t30-structure-error span{display:block}
.t30-structure-error span{margin:6px 0 10px;font-size:.5rem;color:var(--muted)}
.t30-structure-error button{padding:7px 10px;border:1px solid var(--v15-line);border-radius:8px;background:transparent;color:var(--text)}

.t30-join-modal{max-width:430px}
.t30-join-modal form{display:grid;gap:10px;margin-top:13px}

body[data-theme="light"] .tournament-hub-v30,
body[data-theme="light"] .t30-lobby{
  background:#fff!important;color:#102d5c!important;border-color:rgba(37,99,235,.10)!important;
}
body[data-theme="light"] .t30-history-card,
body[data-theme="light"] .t30-discovery-card,
body[data-theme="light"] .host-plays-toggle{
  background:#f8fbff!important;color:#102d5c!important;border-color:rgba(37,99,235,.09)!important;
}
body[data-theme="light"] .t30-history-card.active-tournament{
  background:linear-gradient(135deg,#effdf5,#f8fffb)!important;
  border-color:rgba(22,163,74,.18)!important;
}
body[data-theme="light"] .t30-discovery-open{color:#102d5c}
body[data-theme="light"] .auto-group-preview{background:#eef8ff!important;color:#102d5c!important}

@media(max-width:760px){
  .t30-lobby-people{grid-template-columns:repeat(2,1fr)}
  .t30-discovery-open{align-items:flex-start}
  .t30-discovery-footer{align-items:flex-start}
}


/* V31 — TORNEOS ADAPTATIVOS */
.t31-section-head,.t31-stage-heading,.t31-group-title{display:flex;align-items:flex-end;justify-content:space-between;gap:12px}
.t31-section-head h4{margin:3px 0}.t31-section-head>span,.t31-stage-heading>b,.t31-group-title small{font-size:.45rem;color:var(--muted)}
.t31-groups-wrap{display:grid;gap:10px}
.t31-group-table-card{padding:11px;border:1px solid var(--v15-line);border-radius:13px;background:rgba(255,255,255,.018)}
.t31-group-title>span{font-size:.5rem;font-weight:950;color:#93c5fd}
.t31-table{margin-top:8px;border:1px solid var(--v15-line);border-radius:10px;overflow:hidden}
.t31-table-head,.t31-table-row{display:grid;grid-template-columns:34px minmax(110px,1fr) 44px 44px 52px;gap:5px;align-items:center;padding:7px 8px}
.t31-table-head{background:rgba(148,163,184,.06);font-size:.38rem;color:var(--muted);font-weight:950}
.t31-table-row{border-top:1px solid var(--v15-line);font-size:.48rem}
.t31-table-row.qualified{background:rgba(34,197,94,.04)}.t31-table-row.qualified>b{color:#4ade80}
.t31-tiebreak-note{margin:8px 0 0;font-size:.42rem;color:var(--muted);line-height:1.45}
.t31-group-matches{display:grid;gap:9px}.t31-group-match-list{padding:10px;border:1px solid var(--v15-line);border-radius:12px;background:rgba(255,255,255,.015)}
.t31-group-match-list>strong{display:block;margin-bottom:7px;font-size:.5rem}
.t31-group-game{width:100%;display:grid;grid-template-columns:1fr 30px 1fr auto;gap:6px;align-items:center;padding:9px;border:1px solid var(--v15-line);border-radius:9px;background:rgba(255,255,255,.015);color:var(--text);text-align:left}
.t31-group-game+.t31-group-game{margin-top:6px}.t31-group-game>b{text-align:center;font-size:.4rem;color:var(--muted)}.t31-group-game>span:last-of-type{text-align:right}.t31-group-game small{font-size:.4rem;color:#93c5fd}
.t31-bracket{margin-top:12px;display:flex;gap:12px;overflow-x:auto;padding-bottom:7px;align-items:flex-start;scroll-snap-type:x proximity}
.t31-stage-column{flex:0 0 240px;display:grid;gap:8px;scroll-snap-align:start}.t31-stage-column.final-stage{flex-basis:270px}
.t31-stage-heading{padding:0 3px 4px;border-bottom:1px solid var(--v15-line)}.t31-stage-heading>span{font-size:.55rem;font-weight:1000;color:#dbeafe}
.t31-stage-games{display:grid;gap:10px}
.t31-match-card{position:relative;padding:10px;border:1px solid var(--v15-line);border-radius:12px;background:rgba(255,255,255,.018);overflow:hidden}
.t31-match-card>div{min-height:32px;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:7px;border-radius:8px;background:rgba(255,255,255,.018)}
.t31-match-card>div+div{margin-top:5px}.t31-match-card>div.winner{background:rgba(34,197,94,.07);color:#bbf7d0}
.t31-match-card button{width:100%;margin-top:8px;padding:7px;border:1px solid rgba(59,130,246,.18);border-radius:8px;background:rgba(59,130,246,.07);color:#bfdbfe;font-size:.43rem;font-weight:900}
.t31-match-card>small{display:block;margin-top:8px;font-size:.42rem;color:var(--muted);text-align:center}
.t31-bye-badge{display:block;width:max-content;margin:0 auto 7px;padding:3px 6px;border-radius:999px;background:rgba(245,158,11,.10);color:#fbbf24;font-size:.34rem;font-weight:1000;letter-spacing:.06em}
.t31-match-card.bye-match{border-style:dashed;opacity:.82}
body[data-theme="light"] .t31-group-table-card,body[data-theme="light"] .t31-group-match-list,body[data-theme="light"] .t31-match-card{background:#fff!important;color:#102d5c!important;border-color:rgba(37,99,235,.09)!important}
body[data-theme="light"] .t31-stage-heading>span{color:#17376a}
@media(max-width:760px){
  .t31-table-head,.t31-table-row{grid-template-columns:28px minmax(90px,1fr) 36px 36px 42px;font-size:.42rem;padding:6px}
  .t31-stage-column{flex-basis:82vw;max-width:300px}
  .t31-group-game{grid-template-columns:1fr 25px 1fr}.t31-group-game small{grid-column:1/-1;text-align:center}
}


/* ============================================================
   V32 — TORNEO POR EQUIPOS 4 VS 4
   ============================================================ */
.tournament-choice-grid{grid-template-columns:repeat(3,1fr)}
.team-tournament-choice{border-color:rgba(34,211,238,.16)!important;background:radial-gradient(circle at 50% 0,rgba(34,211,238,.07),transparent 48%),rgba(255,255,255,.018)!important}
.team-builder-grid-v32{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.team-lineup-card-v32{margin:0!important}
.team-lineup-card-v32>label{display:grid;gap:5px}
.team-racket-list-v32{display:grid;gap:7px;margin:12px 0}
.team-racket-row-v32{display:grid;grid-template-columns:38px minmax(0,1fr);gap:8px;align-items:center}
.team-racket-number-v32{height:38px;display:grid;place-items:center;border-radius:10px;background:rgba(59,130,246,.08);color:#93c5fd;font-size:.52rem;font-weight:1000}
.team-player-picker-v32{position:relative}
.team-player-picker-v32>input{width:100%}
.team-player-results-v32{position:absolute;z-index:30;top:calc(100% + 4px);left:0;right:0;padding:5px;border:1px solid var(--v15-line);border-radius:10px;background:#101a2c;box-shadow:0 12px 30px rgba(0,0,0,.28)}
.team-player-results-v32 button{width:100%;padding:8px;border:0;border-radius:7px;background:transparent;color:var(--text);text-align:left}
.team-player-results-v32 button:hover{background:rgba(59,130,246,.08)}
.team-player-results-v32 strong,.team-player-results-v32 small{display:block}.team-player-results-v32 small{margin-top:2px}
.team-picked-player-v32{min-height:42px;display:grid;grid-template-columns:1fr auto;align-items:center;padding:7px 9px;border:1px solid rgba(34,197,94,.14);border-radius:9px;background:rgba(34,197,94,.04)}
.team-picked-player-v32 strong,.team-picked-player-v32 small{display:block}.team-picked-player-v32 small{grid-column:1;font-size:.43rem}.team-picked-player-v32 button{grid-column:2;grid-row:1/3;border:0;background:transparent;color:var(--muted)}
.team-doubles-config-v32{padding-top:10px;border-top:1px solid var(--v15-line)}
.team-doubles-config-v32 h4{margin:0 0 8px}
.team-pair-select-v32{display:grid;grid-template-columns:1fr auto 1fr;gap:5px;align-items:center}.team-pair-select-v32>span{text-align:center;color:var(--muted)}
.team-order-preview-v32{margin-top:12px}
.team-order-list-v32{display:grid;grid-template-columns:1fr 1fr;gap:6px}
.team-order-list-v32>div{display:grid;grid-template-columns:32px 1fr 25px 1fr;gap:5px;align-items:center;padding:8px;border:1px solid var(--v15-line);border-radius:9px;background:rgba(255,255,255,.014);font-size:.45rem}
.team-order-list-v32 b{color:#93c5fd}.team-order-list-v32 em{text-align:center;color:var(--muted);font-style:normal}.team-order-list-v32 small{grid-column:2/-1;color:#fbbf24}
.team-order-list-v32 .optional{border-style:dashed;border-color:rgba(245,158,11,.19)}
.team-start-v32{width:100%;margin-top:12px}
.team-existing-v32{margin-top:12px}
.team-series-history-v32{width:100%;display:flex;align-items:center;justify-content:space-between;padding:10px;border:1px solid var(--v15-line);border-radius:10px;background:rgba(255,255,255,.014);color:var(--text);text-align:left}
.team-series-history-v32+.team-series-history-v32{margin-top:6px}.team-series-history-v32>div{display:flex;gap:9px;align-items:center}.team-series-history-v32 strong,.team-series-history-v32 small{display:block}.team-series-history-v32 small{margin-top:3px}

.team-score-status-v32{width:max-content;margin:0 auto;padding:4px 8px;border-radius:999px;background:rgba(34,197,94,.07);color:#86efac;font-size:.4rem;font-weight:1000;letter-spacing:.08em}
.team-main-score-v32{display:grid;grid-template-columns:1fr auto 1fr;gap:15px;align-items:center;margin:12px 0;text-align:left}
.team-main-score-v32>div span,.team-main-score-v32>div strong{display:block}.team-main-score-v32>div span{font-size:.4rem;color:var(--muted);font-weight:900}.team-main-score-v32>div strong{margin-top:4px;font-size:1.05rem}.team-main-score-v32 .away{text-align:right}
.team-main-score-v32>b{font-size:2rem;white-space:nowrap}.team-main-score-v32>b small{color:var(--muted)}
#teamTournamentScoreboardV32>p{text-align:center;margin:0;color:var(--muted);font-size:.5rem}

.team-match-list-v32{display:grid;gap:7px;margin-top:10px}
.team-match-card-v32{display:grid;grid-template-columns:70px 1fr 35px 1fr 115px;gap:8px;align-items:center;padding:10px;border:1px solid var(--v15-line);border-radius:12px;background:rgba(255,255,255,.018)}
.team-match-no-v32 span,.team-match-no-v32 small{display:block}.team-match-no-v32 span{font-weight:1000;color:#93c5fd}.team-match-no-v32 small{font-size:.36rem;margin-top:2px}
.team-match-side-v32{display:flex;align-items:center;justify-content:space-between;gap:7px;min-width:0;padding:8px;border-radius:8px;background:rgba(255,255,255,.018)}.team-match-side-v32 strong{font-size:.49rem;overflow:hidden;text-overflow:ellipsis}.team-match-side-v32.winner{background:rgba(34,197,94,.07);color:#bbf7d0}.team-match-side-v32>b{font-size:.8rem}
.team-match-vs-v32{text-align:center;font-size:.38rem;color:var(--muted);font-weight:900}
.team-match-action-v32{text-align:right}.team-match-action-v32 button{padding:7px 9px;border:1px solid rgba(59,130,246,.18);border-radius:8px;background:rgba(59,130,246,.07);color:#bfdbfe;font-size:.4rem;font-weight:900}.team-match-action-v32 span{font-size:.42rem;color:var(--muted)}
.team-match-card-v32.unplayed{opacity:.45}
.team-tiebreak-decision-v32{display:flex;align-items:center;justify-content:space-between;gap:14px}.team-tiebreak-decision-v32 h3{margin:3px 0}.team-tiebreak-decision-v32 span{font-size:.5rem}.team-tiebreak-decision-v32>div:last-child{display:flex;gap:7px}.team-tiebreak-decision-v32 button{padding:9px 11px;border:1px solid rgba(245,158,11,.20);border-radius:9px;background:rgba(245,158,11,.07);color:#fde68a;font-size:.45rem;font-weight:950}.team-tiebreak-decision-v32 button.draw{border-color:var(--v15-line);background:transparent;color:var(--text)}
.team-elo-summary-v32{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin-top:10px}.team-elo-summary-v32 article{padding:10px;border:1px solid var(--v15-line);border-radius:10px;background:rgba(255,255,255,.015)}.team-elo-summary-v32 strong,.team-elo-summary-v32 small,.team-elo-summary-v32 span,.team-elo-summary-v32 em{display:block}.team-elo-summary-v32 small{margin:3px 0 7px;font-size:.4rem}.team-elo-summary-v32 article>div{display:grid;gap:3px}.team-elo-summary-v32 span{font-size:.4rem}.team-elo-summary-v32 em{margin-top:8px;padding-top:7px;border-top:1px solid var(--v15-line);font-style:normal;font-size:.48rem;font-weight:1000}.team-elo-summary-v32 .positive{color:#4ade80}.team-elo-summary-v32 .negative{color:#f87171}

.team-match-modal-v32,.team-tiebreak-modal-v32{max-width:540px}.team-bo3-head-v32{display:grid;grid-template-columns:1fr auto 1fr;gap:8px;margin:10px 0;text-align:center;font-size:.5rem;font-weight:900}.team-set-inputs-v32{display:grid;gap:6px;margin-bottom:10px}.team-set-row-v32{display:grid;grid-template-columns:55px 1fr 20px 1fr;gap:6px;align-items:center}.team-set-row-v32>strong{font-size:.46rem;color:#86efac}.team-set-row-v32>span{text-align:center;color:var(--muted)}.team-set-row-v32 input{text-align:center;font-weight:900}

body[data-theme="light"] .team-lineup-card-v32,body[data-theme="light"] .team-order-preview-v32,body[data-theme="light"] #teamTournamentScoreboardV32,body[data-theme="light"] .team-match-card-v32,body[data-theme="light"] .team-existing-v32{background:#fff!important;color:#102d5c!important;border-color:rgba(37,99,235,.09)!important}
body[data-theme="light"] .team-player-results-v32{background:#fff;color:#102d5c}

@media(max-width:900px){
  .tournament-choice-grid{grid-template-columns:1fr}
  .team-builder-grid-v32{grid-template-columns:1fr}
  .team-order-list-v32{grid-template-columns:1fr}
  .team-elo-summary-v32{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:650px){
  .team-match-card-v32{grid-template-columns:50px 1fr 24px 1fr;gap:5px;padding:8px}
  .team-match-action-v32{grid-column:1/-1;text-align:center}.team-match-action-v32 button{width:100%}
  .team-main-score-v32{grid-template-columns:1fr auto 1fr;gap:8px}.team-main-score-v32>b{font-size:1.45rem}
  .team-main-score-v32>div strong{font-size:.7rem}
  .team-tiebreak-decision-v32{display:grid}.team-tiebreak-decision-v32>div:last-child{display:grid}
}


/* ============================================================
   V32 FIX 1 — botón Torneo por equipos / mobile
   ============================================================ */
#openTeamTournamentV32{
  display:flex!important;
  visibility:visible!important;
  opacity:1!important;
  pointer-events:auto!important;
}
.tournament-choice-grid > #openTeamTournamentV32{
  min-width:0!important;
}
@media(max-width:900px){
  #tab-tournaments #tournamentModeChooser .tournament-choice-grid{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:10px!important;
  }
  #tab-tournaments #openTeamTournamentV32{
    display:flex!important;
    min-height:112px!important;
    width:100%!important;
  }
}


/* ============================================================
   V32 FIX2 — navegación limpia + modo prueba
   ============================================================ */
#tournamentModeChooser.hidden,
#tournamentPresetChooser.hidden,
#tournamentBuilder.hidden,
#tournamentDetail.hidden,
#teamTournamentBuilderV32.hidden,
#teamTournamentDetailV32.hidden{
  display:none!important;
}

.team-test-banner-v32{
  margin:10px 0 12px;
  padding:10px 12px;
  border:1px solid rgba(245,158,11,.22);
  border-radius:11px;
  background:rgba(245,158,11,.065);
}
.team-test-banner-v32 strong,
.team-test-banner-v32 span{display:block}
.team-test-banner-v32 strong{
  color:#fbbf24;
  font-size:.48rem;
  letter-spacing:.06em;
}
.team-test-banner-v32 span{
  margin-top:4px;
  color:var(--muted);
  font-size:.45rem;
  line-height:1.45;
}


/* ============================================================
   V33 — TORNEO POR EQUIPOS: FINAL / HISTORIAL / ELO
   ============================================================ */

.team-history-v33{margin-top:12px}
.team-history-help-v33{margin:5px 0 10px;color:var(--muted);font-size:.47rem}
.team-history-list-v33{display:grid;gap:7px}
.team-history-card-v33{
  width:100%;padding:11px 12px;border:1px solid var(--v15-line);
  border-radius:12px;background:rgba(255,255,255,.016);color:var(--text);
  text-align:left;display:grid;gap:7px;
}
.team-history-result-v33{
  display:grid;grid-template-columns:1fr auto 1fr;gap:10px;align-items:center;
}
.team-history-result-v33 strong:last-child{text-align:right}
.team-history-result-v33>b{
  min-width:62px;text-align:center;font-size:.8rem;color:#e5f0ff;
}
.team-history-meta-v33{
  display:flex;align-items:center;justify-content:space-between;gap:8px;
  padding-top:6px;border-top:1px solid var(--v15-line);
}
.team-history-meta-v33>span{font-size:.42rem;color:#fbbf24;font-weight:900}
.team-history-meta-v33>small{font-size:.4rem;color:var(--muted)}

.team-score-status-v32.decided{
  background:rgba(245,158,11,.10);color:#fbbf24;
}
.team-finalize-panel-v33{
  display:flex;align-items:center;justify-content:space-between;gap:16px;
}
.team-finalize-panel-v33 h3{margin:4px 0}
.team-finalize-panel-v33 span{font-size:.49rem;color:var(--muted);line-height:1.45}
.team-finalize-panel-v33 button{
  flex:0 0 auto;padding:12px 16px;border:1px solid rgba(245,158,11,.30);
  border-radius:11px;background:linear-gradient(135deg,#f59e0b,#d97706);
  color:#fff;font-size:.48rem;font-weight:1000;
  box-shadow:0 8px 25px rgba(245,158,11,.14);
}
.team-finalize-panel-v33.waiting{
  border-left:3px solid rgba(245,158,11,.55);padding-left:10px;
}

/* Final de pantalla completa */
.team-victory-overlay-v33,
.team-elo-overlay-v33{
  padding:14px!important;
  background:rgba(2,8,20,.94)!important;
  backdrop-filter:blur(18px);
  align-items:center!important;
}
.team-victory-screen-v33{
  position:relative;overflow:hidden;
  width:min(720px,100%);max-height:96dvh;overflow-y:auto;
  padding:30px 34px 26px;border:1px solid rgba(96,165,250,.28);
  border-radius:28px;
  background:
    radial-gradient(circle at 50% 28%,rgba(245,158,11,.14),transparent 28%),
    radial-gradient(circle at 50% 70%,rgba(37,99,235,.14),transparent 42%),
    linear-gradient(180deg,#071326,#020917 88%);
  box-shadow:0 34px 90px rgba(0,0,0,.55),inset 0 0 55px rgba(59,130,246,.045);
  text-align:center;
}
.team-victory-x-v33{
  position:absolute;right:18px;top:18px;width:42px;height:42px;
  border:1px solid rgba(148,163,184,.23);border-radius:12px;
  background:rgba(15,23,42,.72);color:#fff;font-size:1rem;z-index:5;
}
.team-victory-brand-v33{
  font-weight:1000;letter-spacing:.08em;font-size:1.05rem;color:#e2e8f0;
}
.team-victory-brand-v33 span{color:#38bdf8;font-style:italic}
.team-victory-eyebrow-v33{
  margin:28px 0 7px;color:#a8b6cc;font-weight:950;letter-spacing:.13em;font-size:.55rem;
}
.team-victory-screen-v33>h2{
  margin:0;color:white;font-size:clamp(2rem,7vw,3.4rem);
  text-shadow:0 0 24px rgba(255,255,255,.12);
}
.team-victory-emblem-v33{margin:22px auto 8px}
.team-victory-shield-v33{
  position:relative;margin:auto;width:180px;height:180px;
  display:grid;place-items:center;
  clip-path:polygon(50% 0,91% 18%,84% 71%,50% 100%,16% 71%,9% 18%);
  background:linear-gradient(145deg,#fbbf24 0,#8b4a12 22%,#071426 30%,#071426 74%,#a35a18 82%,#fde68a 100%);
  filter:drop-shadow(0 12px 28px rgba(245,158,11,.25));
}
.team-victory-shield-v33:before{
  content:"";position:absolute;inset:11px;
  clip-path:inherit;background:linear-gradient(180deg,#0d1b30,#020813);
}
.team-victory-shield-v33 span{position:relative;z-index:2;font-size:4rem;filter:sepia(1) saturate(1.7)}
.team-victory-emblem-v33>b{
  display:inline-block;margin-top:-8px;position:relative;z-index:3;
  padding:5px 14px;border:1px solid rgba(245,158,11,.42);
  border-radius:999px;background:#26150d;color:#fed7aa;
  font-size:.5rem;letter-spacing:.12em;
}
.team-victory-screen-v33>h3{
  margin:12px 0 3px;font-size:clamp(1.8rem,6vw,3rem);color:#fff;
}
.team-victory-result-label-v33{color:#60a5fa;font-size:.62rem}
.team-victory-score-v33{
  width:min(360px,90%);margin:10px auto 15px;padding:9px 20px;
  border:1px solid rgba(96,165,250,.20);border-radius:14px;
  background:rgba(2,10,25,.55);
  font-size:clamp(2.1rem,8vw,3.7rem);font-weight:950;color:#bfdbfe;
}
.team-victory-score-v33 small{font-size:.55em;color:#fff;margin:0 15px}
.team-victory-versus-v33{
  display:grid;grid-template-columns:1fr auto 1fr;gap:12px;align-items:center;
  padding:13px 16px;border:1px solid rgba(148,163,184,.15);
  border-radius:14px;background:rgba(8,19,38,.62);
}
.team-victory-versus-v33 strong:last-child{text-align:right}
.team-victory-versus-v33 strong:first-child{text-align:left}
.team-victory-versus-v33 span{color:#60a5fa;font-weight:1000}
.team-victory-next-v33{
  margin-top:14px;padding:13px 15px;border:1px solid rgba(59,130,246,.18);
  border-radius:14px;background:rgba(8,19,38,.68);
  display:flex;text-align:left;gap:12px;align-items:center;
}
.team-victory-next-v33>span{font-size:1.6rem;color:#38bdf8}
.team-victory-next-v33 strong,.team-victory-next-v33 small{display:block}
.team-victory-next-v33 strong{font-size:.58rem}
.team-victory-next-v33 small{margin-top:4px;font-size:.48rem;line-height:1.4}
.team-victory-actions-v33{
  display:grid;grid-template-columns:1fr 1.25fr;gap:10px;margin-top:16px;
}
.team-victory-actions-v33 button{
  min-height:48px;border:1px solid rgba(148,163,184,.24);
  border-radius:13px;background:rgba(15,23,42,.68);color:#fff;
  font-size:.52rem;font-weight:1000;
}
.team-victory-actions-v33 button.primary{
  border-color:#3b82f6;background:linear-gradient(180deg,#2563eb,#1d4ed8);
  box-shadow:0 0 25px rgba(37,99,235,.22);
}

/* Elo overlay */
.team-elo-screen-v33{
  position:relative;width:min(760px,100%);max-height:94dvh;overflow-y:auto;
  padding:26px;border:1px solid rgba(96,165,250,.20);border-radius:24px;
  background:linear-gradient(180deg,#0b1628,#050c18);color:var(--text);
}
.team-elo-screen-v33>h2{margin:4px 0 6px;font-size:1.5rem}
.team-elo-test-v33{
  margin:10px 0;padding:10px 12px;border:1px solid rgba(245,158,11,.20);
  border-radius:10px;background:rgba(245,158,11,.06);color:#fbbf24;
  font-size:.47rem;line-height:1.4;
}
.team-elo-players-v33{
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin:15px 0;
}
.team-elo-player-v33{
  padding:12px;border:1px solid var(--v15-line);border-radius:12px;
  background:rgba(255,255,255,.018);
}
.team-elo-player-v33 strong,.team-elo-player-v33 small,.team-elo-player-v33 em{display:block}
.team-elo-player-v33 small{margin-top:3px;font-size:.42rem}
.team-elo-splits-v33{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:9px}
.team-elo-splits-v33 span{
  padding:7px;border-radius:8px;background:rgba(255,255,255,.025);
  font-size:.42rem;
}
.team-elo-splits-v33 b{display:block;margin-top:2px;font-size:.62rem}
.team-elo-player-v33 em{
  margin-top:8px;padding-top:8px;border-top:1px solid var(--v15-line);
  font-style:normal;font-size:.52rem;font-weight:1000;
}
.team-elo-player-v33 .positive{color:#4ade80}
.team-elo-player-v33 .negative{color:#f87171}

body[data-theme="light"] .team-history-card-v33,
body[data-theme="light"] #teamTournamentFinalizeV33,
body[data-theme="light"] .team-elo-screen-v33{
  background:#fff!important;color:#102d5c!important;
  border-color:rgba(37,99,235,.10)!important;
}

@media(max-width:650px){
  .team-finalize-panel-v33{display:grid}
  .team-finalize-panel-v33 button{width:100%}
  .team-victory-overlay-v33,.team-elo-overlay-v33{padding:6px!important}
  .team-victory-screen-v33{padding:24px 16px 18px;border-radius:22px;max-height:98dvh}
  .team-victory-shield-v33{width:145px;height:145px}
  .team-victory-shield-v33 span{font-size:3rem}
  .team-victory-actions-v33{grid-template-columns:1fr 1fr}
  .team-elo-players-v33{grid-template-columns:1fr}
  .team-elo-screen-v33{padding:22px 14px 16px;border-radius:20px}
}


/* ============================================================
   V34 — AVATAR UNIVERSAL + FIABILIDAD + TABLA FINAL + RIVALES
   ============================================================ */

/* El badge del evento ahora es un botón real. */
button.v28-event-badge{
  cursor:pointer;
  appearance:none;
  font:inherit;
}
button.v28-event-badge:hover{
  transform:translateY(-1px);
  border-color:rgba(96,165,250,.30)!important;
  box-shadow:0 0 0 3px rgba(59,130,246,.055);
}

/* ---------- MARCOS: geometría calculada según el hueco real del PNG ---------- */
/* Sin marco, la foto ocupa el círculo completo. */

/* Los valores siguientes encajan el círculo DENTRO del hueco transparente real. */









/* Nunca permitimos que reglas antiguas vuelvan a escalar la foto. */



/* Perfil público usa exactamente el mismo componente que Inicio/Perfil. */





/* Neutraliza dimensiones antiguas de public-profile-avatar-v17. */


/* ---------- FIABILIDAD ---------- */
.reliability-card-v34,
.reliability-inline-v34{
  --reliability-hue:120;
}
.reliability-card-v34{
  margin-top:12px;
}
.reliability-head-v34,
.reliability-inline-head-v34{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:12px;
}
.reliability-head-v34 h3,
.reliability-inline-head-v34 strong{
  margin:3px 0 0;
}
.reliability-head-v34>strong{
  font-size:1.35rem;
}
.reliability-track-v34{
  width:100%;
  height:10px;
  margin-top:11px;
  border-radius:999px;
  overflow:hidden;
  background:rgba(148,163,184,.13);
  box-shadow:inset 0 0 0 1px rgba(148,163,184,.06);
}
.reliability-track-v34>span{
  display:block;
  width:100%;
  height:100%;
  border-radius:inherit;
  background:hsl(var(--reliability-hue,120) 82% 48%);
  box-shadow:0 0 14px hsl(var(--reliability-hue,120) 82% 48% / .22);
  transition:width .45s ease,background-color .45s ease;
}
.reliability-meta-v34{
  display:flex;
  justify-content:space-between;
  gap:10px;
  margin-top:8px;
  color:var(--muted);
  font-size:.55rem;
}
.reliability-inline-v34{
  margin:0 0 14px;
  padding:13px 14px;
  border:1px solid var(--v15-line);
  border-radius:15px;
  background:rgba(255,255,255,.018);
}
.reliability-inline-head-v34>div span,
.reliability-inline-head-v34>div strong{
  display:block;
}
.reliability-inline-head-v34>div span{
  color:var(--muted);
  font-size:.52rem;
}
.reliability-inline-head-v34>div strong{
  font-size:.8rem;
}
.reliability-inline-head-v34>b{
  font-size:1rem;
}
.reliability-inline-v34>small{
  display:block;
  margin-top:7px;
  color:var(--muted);
  font-size:.5rem;
}

/* ---------- TABLA FINAL ---------- */
#finalStandingsArea{
  margin-top:14px;
}
#tournamentStandings{
  overflow-x:auto;
}
.standings-table{
  width:100%;
  border-collapse:separate;
  border-spacing:0 6px;
}
.standings-table thead th{
  padding:6px 9px;
  color:var(--muted);
  font-size:.48rem;
  text-align:left;
  white-space:nowrap;
}
.standings-table tbody tr{
  background:rgba(255,255,255,.018);
}
.standings-table tbody td{
  padding:10px 9px;
  border-top:1px solid var(--v15-line);
  border-bottom:1px solid var(--v15-line);
  font-size:.54rem;
}
.standings-table tbody td:first-child{
  border-left:1px solid var(--v15-line);
  border-radius:10px 0 0 10px;
}
.standings-table tbody td:last-child{
  border-right:1px solid var(--v15-line);
  border-radius:0 10px 10px 0;
}
.standings-table tbody tr:nth-child(1){
  background:linear-gradient(90deg,rgba(245,158,11,.10),rgba(255,255,255,.018));
}
.standings-table tbody tr:nth-child(2){
  background:linear-gradient(90deg,rgba(148,163,184,.09),rgba(255,255,255,.018));
}
.standings-table tbody tr:nth-child(3){
  background:linear-gradient(90deg,rgba(180,83,9,.08),rgba(255,255,255,.018));
}
.standing-pos{
  font-weight:1000;
  font-size:.72rem!important;
}

body[data-theme="light"] .reliability-inline-v34,
body[data-theme="light"] .reliability-card-v34{
  background:#fff!important;
  color:#102d5c!important;
  border-color:rgba(37,99,235,.10)!important;
}
body[data-theme="light"] .standings-table tbody tr{
  background:#fff;
}

@media(max-width:760px){
  
  .reliability-meta-v34{
    display:grid;
    gap:3px;
  }
  .standings-table{
    min-width:610px;
  }
}

/* V35 — Admin visual + Cerca + Online */
.online-dot-v35{position:absolute;right:-1px;bottom:-1px;width:11px;height:11px;border-radius:50%;background:#22c55e;border:2px solid #0b1424;box-shadow:0 0 10px rgba(34,197,94,.55);z-index:20}
.ranking-avatar-online-v35,.nearby-avatar-v35{position:relative;display:inline-grid}
.public-online-v35{color:#4ade80;font-size:.45rem;font-weight:900;vertical-align:middle;margin-left:5px}
.nearby-section-v35{margin-top:12px}
.nearby-permission-v35{display:grid;grid-template-columns:42px 1fr auto;gap:10px;align-items:center;padding:12px;border:1px solid rgba(59,130,246,.14);border-radius:12px;background:linear-gradient(135deg,rgba(59,130,246,.055),rgba(34,211,238,.025))}
.nearby-permission-v35>span{font-size:1.35rem}.nearby-permission-v35 strong,.nearby-permission-v35 small{display:block}.nearby-permission-v35 small{margin-top:4px;font-size:.47rem;line-height:1.45}
.nearby-permission-v35 button{padding:8px 10px;border:1px solid rgba(59,130,246,.18);border-radius:9px;background:rgba(59,130,246,.08);color:#bfdbfe;font-size:.42rem;font-weight:950}
.nearby-grid-v35{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:10px}
.nearby-player-card-v35{display:grid;grid-template-columns:42px 1fr auto;gap:9px;align-items:center;padding:10px;border:1px solid var(--v15-line);border-radius:11px;background:rgba(255,255,255,.015);color:var(--text);text-align:left}
.nearby-avatar-v35{width:38px;height:38px;border-radius:50%;place-items:center;background:rgba(59,130,246,.08);font-size:.45rem;font-weight:950}.nearby-avatar-v35 img{width:38px;height:38px;border-radius:50%;object-fit:cover}
.nearby-player-card-v35 strong,.nearby-player-card-v35 small{display:block}.nearby-player-card-v35 small{margin-top:3px;font-size:.43rem}
.test-admin-badge-v35{padding:10px 11px;border:1px dashed rgba(245,158,11,.26);border-radius:10px;background:rgba(245,158,11,.05);color:#fbbf24;font-size:.43rem;font-weight:1000;letter-spacing:.05em}
.test-admin-v35 .locked{opacity:1!important;filter:none!important}
body[data-theme="light"] .nearby-section-v35,body[data-theme="light"] .nearby-player-card-v35,body[data-theme="light"] .nearby-permission-v35{background:#fff!important;color:#102d5c!important;border-color:rgba(37,99,235,.09)!important}
body[data-theme="light"] .online-dot-v35{border-color:#fff}
@media(max-width:760px){.nearby-grid-v35{grid-template-columns:1fr}.nearby-permission-v35{grid-template-columns:36px 1fr}.nearby-permission-v35 button{grid-column:1/-1;width:100%}}


/* ============================================================
   V37 — CALIBRADOR AISLADO + ADMIN + ONLINE
   ============================================================ */

.admin-profile-badge-v37{
  display:inline-flex;align-items:center;gap:5px;margin-top:7px;padding:5px 8px;
  border:1px solid rgba(56,189,248,.22);border-radius:999px;
  background:linear-gradient(135deg,rgba(14,165,233,.10),rgba(37,99,235,.08));
  color:#7dd3fc;font-size:.42rem;font-weight:1000;letter-spacing:.055em;white-space:nowrap;
}
.rank-name .admin-profile-badge-v37{margin:0 0 0 5px;padding:3px 5px;font-size:.34rem;vertical-align:middle}
.admin-mini-v37{color:#38bdf8;font-size:.45rem;font-weight:1000;white-space:nowrap}

/* Online siempre se representa con punto verde. */
.online-dot-v35{width:12px;height:12px;background:#22c55e;border:2px solid #0b1424;box-shadow:0 0 0 2px rgba(34,197,94,.10),0 0 10px rgba(34,197,94,.58)}
.public-online-v37{display:inline-flex;align-items:center;gap:5px;margin-left:7px;color:#4ade80;font-size:.45rem;font-weight:900;vertical-align:middle}
.public-online-v37 i{display:inline-block;width:8px;height:8px;border-radius:50%;background:#22c55e;box-shadow:0 0 8px rgba(34,197,94,.6)}
.podium-avatar-wrap[data-user-id-v35],.recommended-avatar-online-v37{position:relative;display:inline-grid}
.podium-avatar-wrap .online-dot-v35{right:7px;bottom:7px}
.recommended-avatar-online-v37 .online-dot-v35{right:0;bottom:0}

body[data-theme="light"] .admin-frame-workbench-v37{background:#f8fbff;border-color:rgba(37,99,235,.10)}
body[data-theme="light"] .admin-profile-badge-v37{color:#0369a1;background:#eff6ff}
@media(max-width:760px){
  .admin-frame-workbench-v37{width:230px;height:230px}.admin-frame-preview-v37{width:195px;height:195px}
  
  .rank-name .admin-profile-badge-v37{display:none}
}


/* ============================================================
   V38 — DIÁMETRO INTERNO + ONLINE UNIVERSAL + ADMIN
   ============================================================ */










/* Punto verde universal: cualquier jugador online en cualquier lista/tarjeta. */
.online-anchor-v38{position:relative!important}
.online-dot-universal-v38{
  position:absolute!important;
  width:11px!important;
  height:11px!important;
  right:-1px!important;
  bottom:-1px!important;
  border-radius:50%!important;
  background:#22c55e!important;
  border:2px solid #0b1424!important;
  box-shadow:0 0 0 2px rgba(34,197,94,.11),0 0 10px rgba(34,197,94,.62)!important;
  z-index:50!important;
  pointer-events:none!important;
}
.public-online-v38{
  display:inline-flex;align-items:center;gap:5px;margin-left:7px;
  color:#4ade80;font-size:.45rem;font-weight:900;vertical-align:middle;
}
.public-online-v38 i{
  width:8px;height:8px;border-radius:50%;background:#22c55e;
  box-shadow:0 0 8px rgba(34,197,94,.65);
}
.admin-mini-universal-v38{
  display:inline-flex;
  margin-left:4px;
  padding:2px 5px;
  border:1px solid rgba(56,189,248,.18);
  border-radius:999px;
  background:rgba(14,165,233,.07);
  color:#7dd3fc;
  font-size:.34rem;
  line-height:1.2;
  font-weight:1000;
  letter-spacing:.04em;
  white-space:nowrap;
}

/* La foto se recorta SIEMPRE circular. Su tamaño ahora se calcula
   a partir de inner_diameter * escala exterior * relleno. */
.admin-frame-photo-v37, .frame-gallery-photo-v37{
  aspect-ratio:1/1!important;
  border-radius:50%!important;
}
.admin-frame-photo-v37 img, .frame-gallery-photo-v37 img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  border-radius:50%!important;
}

body[data-theme="light"] .online-dot-universal-v38{border-color:#fff!important}






/* ============================================================
   V42 — AVATAR LIMPIO DEFINITIVO
   Ninguna regla de V34–V41 participa en estos elementos.
   ============================================================ */

/* ---------- MOTOR ÚNICO ---------- */


/* Neutraliza cualquier pseudo-elemento heredado que pudiera dibujar un marco. */


/* Foto: una única geometría para toda la app. */








/* FrameStage: SIEMPRE un cuadrado 100% idéntico al AvatarHost. */


/* El PNG se mueve ÚNICAMENTE dentro del FrameStage. */


/* Orden fijo: foto 10, marco 20, online 30, + 40. */



/* ---------- PREVIEW GALERÍA ---------- */







/* ---------- PERFIL PÚBLICO / SHOWCASE ---------- */



/* ---------- ADMIN NAV ---------- */



@media(min-width:900px){
  
  .is-admin-v41 .desktop-settings-nav{margin-top:0}
}
@media(max-width:899px){
  body.is-admin-v41 .bottom-nav{grid-template-columns:repeat(7,1fr)!important}
  
}

/* ---------- ADMIN PAGE ---------- */


































/* Precision controls kept, but only 3 frame params remain. */














@media(max-width:760px){
  
  
  
  
  
  
  
}




/* ============================================================
   V44 — AVATAR AUTO-FIT + PERFIL REENCUADRADO
   ============================================================ */

/* ===== ÚNICO AVATAR V44 ===== */
.tt-avatar-v44{
  position:relative!important;
  display:block!important;
  overflow:visible!important;
  isolation:isolate!important;
  padding:0!important;
  margin:0!important;
  background:none!important;
  border:0!important;
}
.tt-avatar-v44::before,
.tt-avatar-v44::after{
  content:none!important;
  display:none!important;
}
.tt-avatar-stage-v44{
  position:relative!important;
  width:100%!important;
  height:100%!important;
  aspect-ratio:1/1!important;
  overflow:visible!important;
  isolation:isolate!important;
}

/* La foto ocupa TODO el diámetro predeterminado. */
.tt-avatar-photo-v44{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  border-radius:50%!important;
  overflow:hidden!important;
  background:linear-gradient(145deg,#173056,#101a30)!important;
  box-shadow:0 0 0 2px rgba(148,163,184,.22)!important;
  z-index:10!important;
}
.tt-avatar-photo-v44>img{
  display:none!important;
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:center!important;
  border-radius:50%!important;
  margin:0!important;
  padding:0!important;
  transform:none!important;
}
.tt-avatar-v44.has-photo .tt-avatar-photo-v44>img{display:block!important}
.tt-avatar-photo-v44>span{
  position:absolute!important;
  inset:0!important;
  display:grid!important;
  place-items:center!important;
  color:#dbeafe!important;
  font-weight:1000!important;
  line-height:1!important;
}
.tt-avatar-v44.has-photo .tt-avatar-photo-v44>span{display:none!important}

/* FrameStage mide exactamente lo mismo que la foto.
   El PNG puede crecer fuera, pero SU HUECO se calcula para medir 100%. */
.tt-avatar-frame-stage-v44{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  overflow:visible!important;
  pointer-events:none!important;
  z-index:20!important;
}
.tt-avatar-frame-img-v44{
  position:absolute!important;
  object-fit:fill!important;
  max-width:none!important;
  max-height:none!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  pointer-events:none!important;
  user-select:none!important;
  transform-origin:0 0!important;
}
.tt-avatar-online-v44{
  position:absolute!important;
  right:-2px!important;
  bottom:4px!important;
  width:12px!important;
  height:12px!important;
  border-radius:50%!important;
  background:#22c55e!important;
  border:2px solid #0b1424!important;
  box-shadow:0 0 10px rgba(34,197,94,.65)!important;
  z-index:30!important;
  pointer-events:none!important;
}

/* El HOST representa el diámetro REAL de la foto. */
.tt-avatar-home-v44{
  width:96px!important;height:96px!important;
  min-width:96px!important;min-height:96px!important;
}
.tt-avatar-profile-v44{
  width:92px!important;height:92px!important;
  min-width:92px!important;min-height:92px!important;
}
.tt-avatar-public-v44{
  width:88px!important;height:88px!important;
  min-width:88px!important;min-height:88px!important;
}
.tt-avatar-identity-v44{
  width:54px!important;height:54px!important;
  min-width:54px!important;min-height:54px!important;
}
.tt-avatar-admin-v44{
  width:150px!important;height:150px!important;
  min-width:150px!important;min-height:150px!important;
}

/* HOME: reserva lugar visual al arte exterior sin agrandar la foto. */
.tt-avatar-wrap-v44{
  position:relative!important;
  width:168px!important;
  height:146px!important;
  flex:0 0 168px!important;
  display:grid!important;
  place-items:center!important;
  overflow:visible!important;
}
.tt-avatar-home-v44{
  position:relative!important;
  z-index:2!important;
}
.tt-avatar-edit-v44{
  position:absolute!important;
  left:calc(50% + 38px)!important;
  top:calc(50% + 34px)!important;
  transform:translate(-50%,-50%)!important;
  width:38px!important;height:38px!important;
  min-width:38px!important;min-height:38px!important;
  display:grid!important;place-items:center!important;
  padding:0!important;
  border:2px solid #dbeafe!important;
  border-radius:50%!important;
  background:#2563eb!important;color:#fff!important;
  font-size:1.3rem!important;font-weight:900!important;
  z-index:40!important;
}

/* ===== PERFIL REENCUADRADO ===== */
#tab-profile .v44-profile-hero{
  display:grid!important;
  grid-template-columns:180px minmax(0,1fr)!important;
  align-items:center!important;
  gap:22px!important;
  min-height:190px!important;
  padding:24px 28px!important;
  overflow:visible!important;
}
.v44-profile-avatar-slot{
  width:180px!important;
  height:150px!important;
  position:relative!important;
  display:grid!important;
  place-items:center!important;
  overflow:visible!important;
  isolation:isolate!important;
}
.v44-profile-copy{
  min-width:0!important;
  position:relative!important;
  z-index:5!important;
  padding:0!important;
}
#tab-profile .v44-profile-copy h2{
  margin:5px 0 4px!important;
  font-size:clamp(2rem,3vw,2.8rem)!important;
  line-height:1!important;
  overflow-wrap:anywhere!important;
}
#tab-profile .v44-profile-copy #profileUsername{
  margin:0 0 10px!important;
}
#tab-profile .v15-profile-tags{
  display:flex!important;
  flex-wrap:wrap!important;
  align-items:center!important;
  gap:7px!important;
  margin-top:8px!important;
}

/* Mantiene el contenido del perfil centrado y bien encuadrado en PC. */
#tab-profile{
  overflow:visible!important;
}
#tab-profile .profile-rating-grid,
#tab-profile .reliability-card-v34,
#tab-profile .section-card{
  position:relative;
  z-index:1;
}

/* ===== GALERÍA ===== */
.tt-frame-preview-v44{
  position:relative!important;
  width:82px!important;height:82px!important;
  flex:0 0 82px!important;
  overflow:visible!important;
  isolation:isolate!important;
}
.tt-frame-preview-photo-v44{
  position:absolute!important;
  inset:0!important;
  width:100%!important;height:100%!important;
  border-radius:50%!important;
  overflow:hidden!important;
  background:#10213a!important;
  display:grid!important;
  place-items:center!important;
  z-index:10!important;
}
.tt-frame-preview-photo-v44 img{
  width:100%!important;height:100%!important;
  object-fit:cover!important;border-radius:50%!important;
}
.tt-frame-preview-photo-v44 span{
  font-size:.48rem!important;font-weight:950!important;color:#dbeafe!important;
}
.tt-frame-preview-stage-v44{
  position:absolute!important;
  inset:0!important;
  width:100%!important;height:100%!important;
  overflow:visible!important;
  z-index:20!important;
  pointer-events:none!important;
}
.tt-frame-preview-stage-v44 img{
  position:absolute!important;
  object-fit:fill!important;
  max-width:none!important;
  max-height:none!important;
}

/* ===== PERFIL PÚBLICO ===== */
#playerProfileModal .public-avatar-frame.tt-avatar-v44{
  width:88px!important;height:88px!important;
  min-width:88px!important;min-height:88px!important;
}

/* ===== ADMIN LAB ===== */
.tt-admin-avatar-canvas-v43{
  width:330px!important;
  height:330px!important;
  position:relative!important;
  display:grid!important;
  place-items:center!important;
  overflow:visible!important;
}
.tt-avatar-admin-v44{
  position:relative!important;
  left:auto!important;top:auto!important;
  transform:none!important;
}
.tt-admin-avatar-guide-v43{
  position:absolute!important;
  left:50%!important;top:50%!important;
  width:150px!important;height:150px!important;
  transform:translate(-50%,-50%)!important;
  border:2px dashed rgba(34,211,238,.82)!important;
  border-radius:50%!important;
  z-index:35!important;
  pointer-events:none!important;
}
.tt-admin-avatar-guide-v43::before,
.tt-admin-avatar-guide-v43::after{
  content:"";
  position:absolute;
  background:rgba(34,211,238,.42);
}
.tt-admin-avatar-guide-v43::before{left:50%;top:-12px;bottom:-12px;width:1px}
.tt-admin-avatar-guide-v43::after{top:50%;left:-12px;right:-12px;height:1px}

/* Conserva diseño del panel Admin V43. */
.tt-admin-heading-v43{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}
.tt-admin-exclusive-chip-v43{padding:7px 10px;border:1px solid rgba(56,189,248,.20);border-radius:999px;background:rgba(14,165,233,.07);color:#7dd3fc;font-size:.43rem;font-weight:1000;letter-spacing:.055em;white-space:nowrap}
.tt-admin-summary-v43{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:12px}
.tt-admin-summary-v43 h3{margin:3px 0 5px}.tt-admin-summary-v43 p:last-child{max-width:760px;color:var(--muted)}
.tt-admin-frame-lab-v43{margin-top:12px}
.tt-fixed-avatar-rule-v43{display:grid;grid-template-columns:42px 1fr;gap:10px;align-items:center;margin:12px 0;padding:11px 12px;border:1px solid rgba(34,211,238,.16);border-radius:12px;background:rgba(6,182,212,.045)}
.tt-fixed-avatar-rule-icon-v43{width:36px;height:36px;display:grid;place-items:center;border:1px solid rgba(34,211,238,.22);border-radius:50%;color:#67e8f9;font-size:1.15rem}
.tt-fixed-avatar-rule-v43 strong,.tt-fixed-avatar-rule-v43 small{display:block}
.tt-fixed-avatar-rule-v43 small{margin-top:3px;color:var(--muted);font-size:.5rem;line-height:1.45}
.tt-admin-frame-select-v43{margin-top:12px}
.tt-admin-frame-workspace-v43{display:grid;grid-template-columns:minmax(360px,.95fr) minmax(360px,1.05fr);gap:14px;margin-top:12px}
.tt-admin-frame-preview-stage-v43,.tt-admin-frame-controls-v43{border:1px solid rgba(148,163,184,.09);border-radius:14px;background:rgba(2,6,23,.20)}
.tt-admin-frame-preview-stage-v43{min-height:420px;padding:20px;display:grid;place-items:center}
.tt-admin-frame-preview-copy-v43{align-self:end;text-align:center}
.tt-admin-frame-preview-copy-v43 strong,.tt-admin-frame-preview-copy-v43 small{display:block}
.tt-admin-frame-preview-copy-v43 small{max-width:430px;margin:5px auto 0;color:var(--muted);font-size:.49rem;line-height:1.5}
.tt-admin-frame-controls-v43{padding:14px;display:grid;align-content:center;gap:11px}
.tt-admin-frame-controls-v43>label{display:grid;gap:7px;padding:11px;border:1px solid rgba(148,163,184,.08);border-radius:11px;background:rgba(255,255,255,.014)}
.tt-admin-frame-controls-v43>label>span{display:flex;justify-content:space-between;gap:10px;color:var(--muted);font-size:.51rem}
.tt-admin-frame-controls-v43 b{color:#93c5fd}
.tt-admin-control-row-v43{display:grid;grid-template-columns:minmax(0,1fr) 84px;align-items:center;gap:10px}
.tt-admin-control-row-v43 input[type="range"]{width:100%}
.tt-admin-number-v43{display:grid;grid-template-columns:1fr auto;align-items:center;overflow:hidden;border:1px solid rgba(96,165,250,.18);border-radius:9px;background:rgba(2,6,23,.22)}
.tt-admin-number-v43 input{width:100%;min-width:0;height:34px;padding:0 7px;border:0!important;outline:0;background:transparent!important;color:var(--text)!important;text-align:right}
.tt-admin-number-v43 span{padding-right:8px;color:#93c5fd;font-size:.48rem;font-weight:900}
.tt-admin-live-toggle-v43{display:flex!important;align-items:center;justify-content:space-between;gap:14px;margin:12px 0 4px;padding:11px 12px;border:1px solid rgba(34,197,94,.16);border-radius:11px;background:rgba(34,197,94,.035)}
.tt-admin-live-toggle-v43>div strong,.tt-admin-live-toggle-v43>div small{display:block}
.tt-admin-live-toggle-v43>div strong{color:#86efac;font-size:.55rem}
.tt-admin-live-toggle-v43>div small{margin-top:4px;color:var(--muted);font-size:.46rem;line-height:1.45}
.tt-admin-live-toggle-v43 input{width:18px;height:18px;accent-color:#22c55e}
.tt-admin-frame-actions-v43{display:grid;grid-template-columns:1fr 1.5fr;gap:8px;margin-top:11px}
.tt-admin-frame-actions-v43 button{min-height:42px;border-radius:10px}
.tt-admin-tools-v43{margin-top:12px}

/* Punto online por encima del marco. */
body[data-theme="light"] .tt-avatar-online-v44{border-color:#fff!important}
body[data-theme="light"] .tt-avatar-photo-v44{background:#eaf2ff!important;box-shadow:0 0 0 2px rgba(37,99,235,.14)!important}

@media(max-width:760px){
  .tt-avatar-home-v44{width:82px!important;height:82px!important;min-width:82px!important;min-height:82px!important}
  .tt-avatar-wrap-v44{width:132px!important;height:122px!important;flex-basis:132px!important}
  .tt-avatar-edit-v44{left:calc(50% + 32px)!important;top:calc(50% + 30px)!important;width:34px!important;height:34px!important;min-width:34px!important;min-height:34px!important}
  #tab-profile .v44-profile-hero{
    grid-template-columns:1fr!important;
    justify-items:center!important;
    gap:8px!important;
    padding:22px 18px!important;
    min-height:0!important;
    text-align:center!important;
  }
  .v44-profile-avatar-slot{width:170px!important;height:150px!important}
  #tab-profile .v44-profile-copy{width:100%!important}
  #tab-profile .v15-profile-tags{justify-content:center!important}
  .tt-admin-frame-workspace-v43{grid-template-columns:1fr!important}
  .tt-admin-frame-preview-stage-v43{min-height:390px!important}
  .tt-admin-heading-v43{display:grid!important}
  .tt-admin-summary-v43{display:grid!important}
  .tt-admin-frame-actions-v43{grid-template-columns:1fr!important}
}


/* ============================================================
   V45 — GALERÍA DE MARCOS + NUEVO SET TEMPORADA
   El auto-fit real V44 NO se modifica.
   ============================================================ */

/* La tarjeta reserva un área exclusiva para la miniatura.
   El marco ya no puede tapar nombre, descripción ni otra fila. */
.frame-gallery{
  gap:12px!important;
}
.frame-card{
  grid-template-columns:136px minmax(0,1fr) auto!important;
  min-height:156px!important;
  padding:10px 12px!important;
  column-gap:14px!important;
  align-items:center!important;
  overflow:hidden!important;
}
.frame-card-copy{
  min-width:0!important;
  position:relative!important;
  z-index:3!important;
}
.frame-card-copy strong{
  font-size:.64rem!important;
  line-height:1.25!important;
}
.frame-card-copy small{
  margin-top:4px!important;
  line-height:1.35!important;
}
.frame-card>button{
  position:relative!important;
  z-index:4!important;
  white-space:nowrap!important;
}

/* Preview normalizado: TODO el avatar se escala dentro de 136x136.
   No cambia el tamaño/fit usado en Inicio, Perfil o perfiles públicos. */
.tt-frame-preview-v45{
  position:relative!important;
  width:136px!important;
  height:136px!important;
  min-width:136px!important;
  min-height:136px!important;
  display:grid!important;
  place-items:center!important;
  overflow:hidden!important;
  isolation:isolate!important;
}
.tt-frame-preview-photo-v45{
  position:absolute!important;
  left:50%!important;
  top:50%!important;
  transform:translate(-50%,-50%)!important;
  border-radius:50%!important;
  overflow:hidden!important;
  background:#10213a!important;
  box-shadow:0 0 0 1px rgba(148,163,184,.18)!important;
  display:grid!important;
  place-items:center!important;
  z-index:10!important;
}
.tt-frame-preview-photo-v45 img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  border-radius:50%!important;
}
.tt-frame-preview-photo-v45 span{
  color:#dbeafe!important;
  font-size:.48rem!important;
  font-weight:950!important;
}
.tt-frame-preview-stage-v45{
  position:absolute!important;
  left:50%!important;
  top:50%!important;
  transform:translate(-50%,-50%)!important;
  overflow:visible!important;
  z-index:20!important;
  pointer-events:none!important;
}
.tt-frame-preview-stage-v45 img{
  position:absolute!important;
  object-fit:fill!important;
  max-width:none!important;
  max-height:none!important;
  pointer-events:none!important;
}

/* #4–#10 tiene identidad propia: ya no comparte ni asset ni estilo con #1. */
.frame-card.season-card-elite{
  border:2px solid rgba(99,102,241,.30)!important;
  background:
    radial-gradient(circle at 8% 50%,rgba(49,46,129,.13),transparent 26%),
    linear-gradient(135deg,rgba(15,23,42,.40),rgba(76,29,149,.045))!important;
  box-shadow:0 0 0 4px rgba(76,29,149,.025),0 12px 28px rgba(2,6,23,.12)!important;
}
body[data-theme="light"] .frame-card.season-card-elite{
  background:linear-gradient(135deg,#f4f3ff,#fafaff)!important;
  border-color:rgba(79,70,229,.22)!important;
}

/* Los nuevos marcos de temporada pueden sobresalir bastante del círculo.
   Inicio y Perfil reservan espacio real para ellos sin tocar el diámetro foto. */
.tt-avatar-wrap-v44{
  width:198px!important;
  height:194px!important;
  flex:0 0 198px!important;
}
#tab-profile .v44-profile-hero{
  grid-template-columns:220px minmax(0,1fr)!important;
  min-height:220px!important;
  gap:24px!important;
}
.v44-profile-avatar-slot{
  width:210px!important;
  height:205px!important;
}

/* En pantallas medianas, una sola columna de galería evita compresión. */
@media(max-width:1050px){
  .frame-gallery{
    grid-template-columns:1fr!important;
  }
}
@media(max-width:760px){
  .frame-card{
    grid-template-columns:108px minmax(0,1fr) auto!important;
    min-height:130px!important;
    padding:8px 9px!important;
    gap:9px!important;
  }
  .tt-frame-preview-v45{
    width:108px!important;
    height:108px!important;
    min-width:108px!important;
    min-height:108px!important;
  }
  .tt-avatar-wrap-v44{
    width:156px!important;
    height:154px!important;
    flex-basis:156px!important;
  }
  #tab-profile .v44-profile-hero{
    grid-template-columns:1fr!important;
    min-height:0!important;
  }
  .v44-profile-avatar-slot{
    width:190px!important;
    height:184px!important;
  }
}
@media(max-width:480px){
  .frame-card{
    grid-template-columns:88px minmax(0,1fr)!important;
  }
  .frame-card>button{
    grid-column:2!important;
    width:max-content!important;
  }
  .tt-frame-preview-v45{
    width:88px!important;
    height:88px!important;
    min-width:88px!important;
    min-height:88px!important;
  }
}


/* ============================================================
   V47 — INICIO PREMIUM + CLUBES + EDITOR DE FOTO
   ============================================================ */

/* --- Primera interfaz: menos texto, más identidad competitiva --- */
.welcome-view-v47{position:relative}
.welcome-panel-v47{
  position:relative;
  min-height:min(720px,calc(100dvh - 54px));
  padding:34px 28px 28px!important;
  display:flex;
  flex-direction:column;
  overflow:hidden;
  isolation:isolate;
  border-color:rgba(96,165,250,.18)!important;
  background:
    radial-gradient(circle at 50% -5%,rgba(37,99,235,.22),transparent 36%),
    radial-gradient(circle at 105% 92%,rgba(34,197,94,.12),transparent 32%),
    linear-gradient(155deg,rgba(15,23,42,.98),rgba(10,17,31,.98))!important;
  box-shadow:0 34px 90px rgba(0,0,0,.44),inset 0 1px 0 rgba(255,255,255,.045)!important;
}
.welcome-panel-v47::before{
  content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;opacity:.18;
  background:repeating-linear-gradient(115deg,transparent 0 11px,rgba(255,255,255,.018) 11px 12px);
}
.welcome-grid-v47{
  position:absolute;left:-16%;right:-16%;bottom:128px;height:260px;z-index:-1;opacity:.18;
  transform:perspective(420px) rotateX(62deg);
  transform-origin:50% 100%;
  background-image:linear-gradient(rgba(59,130,246,.22) 1px,transparent 1px),linear-gradient(90deg,rgba(59,130,246,.22) 1px,transparent 1px);
  background-size:34px 34px;
  mask-image:linear-gradient(to top,#000,transparent 84%);
}
.welcome-brand-v47{text-align:center;position:relative;z-index:2}
.brand-mark-v47{
  width:82px!important;height:82px!important;margin-bottom:14px!important;border-radius:25px!important;
  border:1px solid rgba(147,197,253,.24)!important;
  background:linear-gradient(145deg,rgba(30,41,59,.92),rgba(15,23,42,.92))!important;
  box-shadow:0 14px 38px rgba(0,0,0,.34),inset 0 1px 0 rgba(255,255,255,.11),0 0 32px rgba(37,99,235,.09);
}
.welcome-paddle-v47{filter:drop-shadow(0 8px 14px rgba(0,0,0,.28));transform:rotate(-7deg)}
.welcome-panel-v47 .eyebrow{font-size:.62rem;letter-spacing:.23em;color:#a5b4cf}
.welcome-panel-v47 h1{margin-top:9px;font-size:clamp(3rem,13vw,4.5rem);letter-spacing:-.065em;text-shadow:0 12px 35px rgba(0,0,0,.34)}
.welcome-panel-v47 h1 span{color:#e5efff}
.welcome-tagline-v47{margin:13px 0 0;font-size:.83rem;font-weight:950;letter-spacing:.21em;color:#cbd5e1}

.welcome-arena-v47{
  position:relative;width:230px;height:230px;margin:auto;display:grid;place-items:center;border-radius:50%;
  background:radial-gradient(circle,rgba(37,99,235,.10) 0 32%,rgba(37,99,235,.035) 33% 49%,transparent 50%);
}
.welcome-arena-v47::before{
  content:"";position:absolute;inset:34px;border-radius:50%;border:1px solid rgba(96,165,250,.20);box-shadow:0 0 44px rgba(37,99,235,.10);
}
.welcome-arena-v47 strong{font-size:4.6rem;letter-spacing:-.11em;color:rgba(226,232,240,.045);transform:translateX(-.08em)}
.welcome-orbit-v47{position:absolute;border-radius:50%;border:1px solid rgba(96,165,250,.14)}
.welcome-orbit-v47.orbit-one{inset:18px;transform:rotate(22deg) scaleY(.55)}
.welcome-orbit-v47.orbit-two{inset:50px;transform:rotate(-31deg) scaleY(.65);border-color:rgba(34,197,94,.12)}
.welcome-arena-line-v47{position:absolute;width:70%;height:1px;background:linear-gradient(90deg,transparent,rgba(148,163,184,.28),transparent);transform:rotate(-16deg)}
.welcome-ball-v47{position:absolute;left:67px;top:78px;width:14px;height:14px;border-radius:50%;background:radial-gradient(circle at 32% 28%,#fff,#dbeafe 60%,#93c5fd);box-shadow:0 0 18px rgba(147,197,253,.62)}

.welcome-actions-v47{margin-top:0!important;gap:12px!important;position:relative;z-index:3}
.welcome-cta-v47{
  position:relative;overflow:hidden;min-height:62px!important;padding:0 22px!important;display:flex!important;align-items:center;justify-content:space-between;
  border:1px solid rgba(255,255,255,.10)!important;border-radius:19px!important;
  box-shadow:0 13px 30px rgba(0,0,0,.27),inset 0 1px 0 rgba(255,255,255,.18),inset 0 -1px 0 rgba(0,0,0,.20)!important;
  text-shadow:0 1px 2px rgba(0,0,0,.18);
}
.welcome-cta-v47::before{
  content:"";position:absolute;inset:0;pointer-events:none;opacity:.34;
  background:repeating-linear-gradient(118deg,transparent 0 9px,rgba(255,255,255,.07) 9px 10px);
}
.welcome-cta-v47::after{content:"";position:absolute;left:-15%;top:-110%;width:38%;height:310%;transform:rotate(18deg);background:linear-gradient(90deg,transparent,rgba(255,255,255,.18),transparent);transition:left .35s ease}
.welcome-cta-v47:active{transform:translateY(1px);filter:brightness(.98)}
.welcome-cta-v47:hover::after{left:115%}
.welcome-cta-v47 span,.welcome-cta-v47 b{position:relative;z-index:2}
.welcome-cta-v47 b{width:30px;height:30px;display:grid;place-items:center;border-radius:10px;background:rgba(0,0,0,.14);font-size:1rem}
.welcome-actions-v47 .btn-start{background:linear-gradient(135deg,#0e9f4f,#25d366 60%,#20c765)!important}
.welcome-actions-v47 .btn-login{background:linear-gradient(135deg,#1d4ed8,#2f6df3 62%,#2563eb)!important}
.welcome-status-v47{margin:8px 0 0!important;min-height:17px!important;font-size:.68rem!important}

/* --- Clubes dinámicos --- */
#clubDirectoryHintV47{font-size:.68rem;line-height:1.35;color:#8fa0b8}
#customClubWrap:not(.hidden){padding:12px;border:1px solid rgba(96,165,250,.16);border-radius:16px;background:rgba(37,99,235,.045)}

/* --- Acciones de foto del onboarding --- */
.onboarding-photo-actions-v47{width:100%;display:flex;justify-content:center;gap:8px;flex-wrap:wrap}
.onboarding-photo-actions-v47 button{padding:8px 12px;border:1px solid var(--border);border-radius:11px;color:var(--text);background:rgba(255,255,255,.04);font-size:.74rem;font-weight:850;cursor:pointer}
.onboarding-photo-actions-v47 .clear-onboarding-photo{color:#fca5a5;background:rgba(239,68,68,.055);border-color:rgba(239,68,68,.16)}

/* --- Editor móvil de encuadre --- */
body.onboarding-photo-editor-open-v47{overflow:hidden;touch-action:none}
.onboarding-photo-editor-v47{position:fixed;inset:0;z-index:250;display:grid;place-items:center;padding:18px;background:rgba(2,6,23,.82);backdrop-filter:blur(16px)}
.onboarding-photo-editor-card-v47{width:min(100%,430px);padding:20px;border:1px solid rgba(148,163,184,.17);border-radius:26px;background:linear-gradient(155deg,#111827,#0b1323);box-shadow:0 30px 90px rgba(0,0,0,.48)}
.onboarding-photo-editor-head-v47{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}
.onboarding-photo-editor-head-v47 h2{margin:6px 0 0;font-size:1.65rem}
.onboarding-photo-editor-close-v47{width:40px;height:40px;border:1px solid var(--border);border-radius:13px;color:var(--text);background:rgba(255,255,255,.055);cursor:pointer}
.onboarding-crop-viewport-v47{position:relative;width:min(72vw,300px);height:min(72vw,300px);margin:22px auto 0;overflow:hidden;border-radius:50%;background:#050b16;touch-action:none;user-select:none;box-shadow:0 0 0 7px rgba(59,130,246,.08),0 20px 50px rgba(0,0,0,.38)}
.onboarding-crop-viewport-v47 img{position:absolute;max-width:none!important;max-height:none!important;transform:translate(-50%,-50%);user-select:none;pointer-events:none}
.onboarding-crop-ring-v47{position:absolute;inset:0;border-radius:50%;border:3px solid rgba(96,165,250,.72);box-shadow:inset 0 0 0 1px rgba(255,255,255,.22),inset 0 0 38px rgba(37,99,235,.07);pointer-events:none}
.onboarding-crop-help-v47{max-width:330px;margin:16px auto 0;color:var(--muted);font-size:.76rem;line-height:1.45;text-align:center}
.onboarding-zoom-control-v47{margin-top:18px;display:grid;gap:8px}
.onboarding-zoom-control-v47>span{display:flex;justify-content:space-between;color:#cbd5e1;font-size:.76rem;font-weight:850}
.onboarding-zoom-control-v47 input{min-height:24px!important;height:24px;padding:0;border:0;background:transparent;box-shadow:none}
.onboarding-photo-editor-actions-v47{margin-top:15px;display:grid;grid-template-columns:.75fr 1.45fr;gap:9px}
.onboarding-photo-editor-actions-v47 button{min-height:50px;border:1px solid var(--border);border-radius:15px;color:var(--text);background:rgba(255,255,255,.055);font-weight:900;cursor:pointer}
#useOnboardingPhotoV47{border-color:rgba(34,197,94,.28);background:linear-gradient(135deg,#16a34a,#22c55e);color:white}
#useOnboardingPhotoV47:disabled{opacity:.55}

@media(max-width:520px){
  .app-shell{padding-left:14px;padding-right:14px}
  .welcome-panel-v47{min-height:calc(100dvh - max(28px,env(safe-area-inset-top)) - max(24px,env(safe-area-inset-bottom)));padding:27px 20px 22px!important;border-radius:26px!important}
  .brand-mark-v47{width:74px!important;height:74px!important;font-size:39px!important}
  .welcome-panel-v47 h1{font-size:3.25rem}
  .welcome-tagline-v47{font-size:.72rem;letter-spacing:.16em}
  .welcome-arena-v47{width:190px;height:190px}
  .welcome-ball-v47{left:56px;top:65px}
  .welcome-cta-v47{min-height:59px!important}
  .onboarding-photo-editor-card-v47{padding:18px 15px 16px}
}
@media(max-height:720px){
  .welcome-panel-v47{min-height:calc(100dvh - 28px);padding-top:22px!important}
  .brand-mark-v47{width:66px!important;height:66px!important;font-size:34px!important;margin-bottom:10px!important}
  .welcome-panel-v47 h1{font-size:2.8rem}
  .welcome-tagline-v47{margin-top:8px}
  .welcome-arena-v47{width:145px;height:145px}
  .welcome-cta-v47{min-height:54px!important}
}


/* ============================================================
   V48 — MENÚ DE FOTO ESTABLE + MODO PRUEBA ADMIN-ONLY
   ============================================================ */

/* El menú se mueve al body por JS. Ya no puede quedar atrapado detrás
   del rating, del marco ni del overflow del hero. */
.tt-photo-backdrop-v48{
  position:fixed!important;
  inset:0!important;
  z-index:9996!important;
  border:0!important;
  padding:0!important;
  margin:0!important;
  background:rgba(2,6,23,.34)!important;
  backdrop-filter:blur(1.5px)!important;
  -webkit-backdrop-filter:blur(1.5px)!important;
  cursor:default!important;
}
.tt-photo-backdrop-v48.hidden{display:none!important}
.profile-photo-menu.tt-photo-popover-v48{
  position:fixed!important;
  z-index:9997!important;
  width:292px;
  max-width:calc(100vw - 28px)!important;
  padding:8px!important;
  border:1px solid rgba(148,163,184,.22)!important;
  border-radius:18px!important;
  background:linear-gradient(155deg,rgba(21,30,47,.995),rgba(9,15,28,.995))!important;
  box-shadow:0 28px 80px rgba(0,0,0,.58),0 0 0 1px rgba(255,255,255,.02) inset!important;
  backdrop-filter:blur(24px)!important;
  -webkit-backdrop-filter:blur(24px)!important;
  transform:none!important;
  animation:ttPhotoPopoverInV48 .16s ease-out both;
}
.profile-photo-menu.tt-photo-popover-v48.hidden{display:none!important}
.profile-photo-menu.tt-photo-popover-v48 button{
  min-height:58px!important;
  padding:10px 11px!important;
  grid-template-columns:36px minmax(0,1fr)!important;
}
.profile-photo-menu.tt-photo-popover-v48 button+button{
  border-top:1px solid rgba(148,163,184,.08)!important;
}
.profile-photo-menu.tt-photo-popover-v48 strong{font-size:.84rem!important}
.profile-photo-menu.tt-photo-popover-v48 small{font-size:.64rem!important;color:#8fa0ba!important}
.profile-photo-menu.tt-photo-popover-v48 .photo-danger strong{color:#fecaca!important}
@keyframes ttPhotoPopoverInV48{
  from{opacity:0;transform:translateY(5px) scale(.985)}
  to{opacity:1;transform:translateY(0) scale(1)}
}
body[data-theme="light"] .profile-photo-menu.tt-photo-popover-v48{
  background:linear-gradient(155deg,rgba(255,255,255,.995),rgba(241,245,249,.995))!important;
  border-color:rgba(15,23,42,.14)!important;
  box-shadow:0 24px 70px rgba(15,23,42,.20)!important;
}
body[data-theme="light"] .profile-photo-menu.tt-photo-popover-v48 small{color:#64748b!important}
body[data-theme="light"] .tt-photo-backdrop-v48{background:rgba(15,23,42,.18)!important}

/* Compacto: action sheet claro e intencional, en vez de un popover que
   se mezcla con el rating del perfil. */
@media(max-width:900px){
  .profile-photo-menu.tt-photo-popover-v48{
    left:14px!important;
    right:14px!important;
    top:auto!important;
    bottom:calc(14px + env(safe-area-inset-bottom,0px))!important;
    width:auto!important;
    max-width:none!important;
    border-radius:22px!important;
    padding:8px!important;
    animation:ttPhotoSheetInV48 .20s cubic-bezier(.2,.8,.2,1) both;
  }
  @keyframes ttPhotoSheetInV48{
    from{opacity:0;transform:translateY(18px)}
    to{opacity:1;transform:translateY(0)}
  }
}

/* El banner ya nace hidden en HTML y únicamente JS Admin lo habilita. */
#teamTestBannerV48.hidden{display:none!important}


/* ============================================================
   V49 — CLUBES ÚNICOS / SUGERENCIAS / GESTIÓN ADMIN
   ============================================================ */

.club-suggestions-v49{
  margin-top:8px;
  border:1px solid rgba(56,189,248,.22);
  border-radius:14px;
  overflow:hidden;
  background:rgba(7,17,33,.96);
  box-shadow:0 18px 44px rgba(2,6,23,.34),0 0 0 1px rgba(59,130,246,.04) inset;
}
.club-suggestions-head-v49{
  padding:9px 11px 8px;
  border-bottom:1px solid rgba(148,163,184,.12);
  background:linear-gradient(90deg,rgba(37,99,235,.08),rgba(34,197,94,.04));
}
.club-suggestions-head-v49 strong,
.club-suggestions-head-v49 small{display:block}
.club-suggestions-head-v49 strong{font-size:.68rem}
.club-suggestions-head-v49 small{margin-top:2px;color:var(--muted);font-size:.48rem}
.club-suggestions-v49>button{
  width:100%;
  display:grid;
  grid-template-columns:28px minmax(0,1fr) auto;
  gap:9px;
  align-items:center;
  padding:10px 11px;
  border:0;
  border-bottom:1px solid rgba(148,163,184,.09);
  background:transparent;
  color:var(--text);
  text-align:left;
}
.club-suggestions-v49>button:last-child{border-bottom:0}
.club-suggestions-v49>button:hover{background:rgba(59,130,246,.08)}
.club-suggestions-v49>button>span{
  width:28px;height:28px;border-radius:9px;display:grid;place-items:center;
  background:rgba(59,130,246,.10);
}
.club-suggestions-v49>button strong,
.club-suggestions-v49>button small{display:block}
.club-suggestions-v49>button strong{font-size:.62rem}
.club-suggestions-v49>button small{margin-top:2px;color:var(--muted);font-size:.45rem}
.club-suggestions-v49>button b{font-size:.43rem;color:#7dd3fc;letter-spacing:.08em}

.admin-club-manager-v49{
  position:relative;
  overflow:hidden;
}
.admin-club-manager-v49:before{
  content:"";
  position:absolute;
  width:260px;height:260px;border-radius:50%;
  right:-110px;top:-130px;
  background:radial-gradient(circle,rgba(14,165,233,.10),transparent 68%);
  pointer-events:none;
}
.admin-club-manager-v49 .section-title-row>div>p:last-child{
  margin:5px 0 0;color:var(--muted);max-width:720px;font-size:.52rem;line-height:1.45;
}
.admin-club-manager-v49 .section-title-row>button,
#adminRenameClubButtonV49{
  border:1px solid rgba(56,189,248,.20);
  background:rgba(59,130,246,.07);
  color:#dbeafe;
  border-radius:9px;
  padding:8px 11px;
  font-weight:850;
}
.admin-club-toolbar-v49{
  display:grid;
  grid-template-columns:minmax(210px,1fr) minmax(210px,1fr) auto;
  gap:10px;
  align-items:end;
  margin-top:14px;
}
.admin-club-toolbar-v49 label,
.admin-club-search-v49,
.admin-club-aliases-v49{
  display:grid;gap:5px;
}
.admin-club-toolbar-v49 label>span,
.admin-club-search-v49>span,
.admin-club-aliases-v49>span{
  font-size:.48rem;font-weight:900;letter-spacing:.08em;color:#93c5fd;text-transform:uppercase;
}
.admin-club-toolbar-v49 select,
.admin-club-toolbar-v49 input,
.admin-club-search-v49 input,
.admin-club-aliases-v49 input{
  width:100%;
  min-height:42px;
  border-radius:10px;
  border:1px solid var(--v15-line);
  background:rgba(255,255,255,.035);
  color:var(--text);
  padding:0 11px;
}
.admin-club-search-v49{margin-top:12px}
.admin-club-merge-list-v49{
  margin-top:10px;
  display:grid;
  gap:7px;
  max-height:360px;
  overflow:auto;
  padding-right:3px;
}
.admin-club-row-v49{
  display:grid;
  grid-template-columns:22px minmax(0,1fr) auto;
  gap:9px;
  align-items:center;
  padding:10px 11px;
  border:1px solid var(--v15-line);
  border-radius:11px;
  background:rgba(255,255,255,.018);
  cursor:pointer;
}
.admin-club-row-v49:hover{border-color:rgba(56,189,248,.22)}
.admin-club-row-v49.is-target{
  border-color:rgba(34,197,94,.25);
  background:rgba(34,197,94,.045);
}
.admin-club-row-v49 input{width:16px;height:16px}
.admin-club-row-v49 strong,
.admin-club-row-v49 small{display:block}
.admin-club-row-v49 strong{font-size:.60rem}
.admin-club-row-v49 strong span{
  margin-left:6px;font-size:.38rem;letter-spacing:.08em;color:#86efac;
  border:1px solid rgba(34,197,94,.24);padding:2px 5px;border-radius:999px;
}
.admin-club-row-v49 small{margin-top:3px;color:var(--muted);font-size:.45rem}
.admin-club-row-v49>b{font-size:.43rem;color:#64748b}
.admin-club-aliases-v49{margin-top:12px}
.admin-club-aliases-v49 small{color:var(--muted);font-size:.45rem}
.admin-club-actions-v49{display:flex;justify-content:flex-end;margin-top:12px}

body[data-theme="light"] .club-suggestions-v49{
  background:rgba(255,255,255,.98);
  border-color:rgba(37,99,235,.18);
}
body[data-theme="light"] .club-suggestions-v49>button:hover{background:#eff6ff}

@media(max-width:760px){
  .admin-club-toolbar-v49{grid-template-columns:1fr}
  .admin-club-toolbar-v49>button{width:100%}
  .admin-club-merge-list-v49{max-height:300px}
}


/* ============================================================
   V50 — CATÁLOGO URUGUAY
   ============================================================ */
#clubName optgroup,
#prefProfileClubSelect optgroup{
  font-weight:900;
  color:#93c5fd;
  background:#0b1729;
}
#clubName option,
#prefProfileClubSelect option{
  font-weight:650;
  color:#e5edf8;
  background:#0b1729;
}
body[data-theme="light"] #clubName optgroup,
body[data-theme="light"] #prefProfileClubSelect optgroup{
  color:#1d4ed8;
  background:#fff;
}
body[data-theme="light"] #clubName option,
body[data-theme="light"] #prefProfileClubSelect option{
  color:#172033;
  background:#fff;
}


/* ============================================================
   V51 — ADMIN ALTA CLUBES + ALIAS VISIBLE
   ============================================================ */

.admin-club-create-v51{
  margin-top:15px;
  padding:14px;
  border:1px solid rgba(34,197,94,.20);
  border-radius:14px;
  background:
    radial-gradient(circle at 100% 0,rgba(34,197,94,.08),transparent 34%),
    linear-gradient(135deg,rgba(34,197,94,.035),rgba(59,130,246,.025));
}
.admin-club-create-head-v51>div{
  display:flex;
  gap:10px;
  align-items:center;
}
.admin-club-plus-v51{
  width:34px;
  height:34px;
  border-radius:10px;
  display:grid;
  place-items:center;
  border:1px solid rgba(34,197,94,.24);
  background:rgba(34,197,94,.08);
  color:#86efac;
  font-size:1rem;
  font-weight:900;
}
.admin-club-create-head-v51 strong,
.admin-club-create-head-v51 small{
  display:block;
}
.admin-club-create-head-v51 strong{
  font-size:.68rem;
}
.admin-club-create-head-v51 small{
  margin-top:3px;
  color:var(--muted);
  font-size:.48rem;
}
.admin-club-create-grid-v51{
  margin-top:12px;
  display:grid;
  grid-template-columns:1.25fr 1fr .75fr .9fr;
  gap:9px;
}
.admin-club-create-grid-v51 label,
.admin-club-new-aliases-v51{
  display:grid;
  gap:5px;
}
.admin-club-create-grid-v51 label>span,
.admin-club-new-aliases-v51>span{
  font-size:.46rem;
  font-weight:900;
  letter-spacing:.07em;
  text-transform:uppercase;
  color:#a7f3d0;
}
.admin-club-create-grid-v51 input,
.admin-club-create-grid-v51 select,
.admin-club-new-aliases-v51 input{
  min-height:42px;
  width:100%;
  padding:0 11px;
  border:1px solid var(--v15-line);
  border-radius:10px;
  background:rgba(255,255,255,.035);
  color:var(--text);
}
.admin-club-new-aliases-v51{
  margin-top:9px;
}
.admin-club-new-aliases-v51 small{
  font-size:.44rem;
  color:var(--muted);
}
.admin-club-create-actions-v51{
  margin-top:11px;
  display:flex;
  justify-content:flex-end;
}
.admin-club-divider-v51{
  margin:18px 0 12px;
  display:grid;
  grid-template-columns:1fr auto 1fr;
  gap:10px;
  align-items:center;
  color:#64748b;
  font-size:.42rem;
  font-weight:900;
  letter-spacing:.11em;
}
.admin-club-divider-v51:before,
.admin-club-divider-v51:after{
  content:"";
  height:1px;
  background:var(--v15-line);
}
.admin-club-toolbar-v49{
  grid-template-columns:minmax(200px,1fr) minmax(190px,1fr) minmax(170px,.8fr) auto;
}
.admin-profile-alias-v51{
  color:#86efac;
  font-weight:850;
}
body[data-theme="light"] .admin-club-create-v51{
  background:linear-gradient(135deg,rgba(34,197,94,.05),rgba(59,130,246,.03));
}
body[data-theme="light"] .admin-club-create-grid-v51 input,
body[data-theme="light"] .admin-club-create-grid-v51 select,
body[data-theme="light"] .admin-club-new-aliases-v51 input{
  background:#fff;
}
@media(max-width:1050px){
  .admin-club-create-grid-v51{
    grid-template-columns:1fr 1fr;
  }
  .admin-club-toolbar-v49{
    grid-template-columns:1fr 1fr;
  }
}
@media(max-width:680px){
  .admin-club-create-grid-v51,
  .admin-club-toolbar-v49{
    grid-template-columns:1fr;
  }
  .admin-club-create-actions-v51>button{
    width:100%;
  }
}


/* ============================================================
   V52 — MARCO EXCLUSIVO ADMIN
   ============================================================ */
.frame-card.admin-frame-card-v52{
  position:relative;
  border-color:rgba(56,189,248,.35);
  background:
    radial-gradient(circle at 50% 20%,rgba(14,165,233,.12),transparent 42%),
    linear-gradient(145deg,rgba(15,23,42,.98),rgba(7,20,43,.96));
  box-shadow:
    0 18px 42px rgba(2,132,199,.10),
    inset 0 0 0 1px rgba(125,211,252,.06);
}
.frame-card.admin-frame-card-v52:before{
  content:"ADMIN";
  position:absolute;
  top:9px;
  right:9px;
  z-index:5;
  padding:4px 7px;
  border:1px solid rgba(125,211,252,.28);
  border-radius:999px;
  background:rgba(2,132,199,.12);
  color:#bae6fd;
  font-size:.38rem;
  font-weight:950;
  letter-spacing:.12em;
}
.frame-card.admin-frame-card-v52 .frame-card-copy>i{
  color:#67e8f9;
}
body[data-theme="light"] .frame-card.admin-frame-card-v52{
  background:
    radial-gradient(circle at 50% 20%,rgba(14,165,233,.10),transparent 42%),
    linear-gradient(145deg,#f8fbff,#eef7ff);
}


/* ============================================================
   V53 — RECUPERACIÓN DE CUENTA
   ============================================================ */
.forgot-password-button-v53{
  justify-self:end;
  margin-top:-5px;
  padding:4px 0;
  border:0;
  color:#93c5fd;
  background:transparent;
  font-size:.72rem;
  font-weight:850;
  cursor:pointer;
}
.forgot-password-button-v53:hover{color:#dbeafe}

.recovery-panel-v53{
  position:relative;
  overflow:hidden;
}
.recovery-panel-v53:before{
  content:"";
  position:absolute;
  inset:-120px -140px auto auto;
  width:280px;
  height:280px;
  border-radius:50%;
  pointer-events:none;
  background:radial-gradient(circle,rgba(59,130,246,.17),transparent 67%);
}
.recovery-icon-v53{
  width:58px;
  height:58px;
  margin-bottom:16px;
  display:grid;
  place-items:center;
  border:1px solid rgba(96,165,250,.28);
  border-radius:18px;
  color:#bfdbfe;
  background:linear-gradient(145deg,rgba(37,99,235,.18),rgba(14,165,233,.07));
  box-shadow:0 14px 34px rgba(37,99,235,.12);
  font-size:1.45rem;
  font-weight:950;
}
.recovery-icon-v53.is-success{
  color:#bbf7d0;
  border-color:rgba(34,197,94,.28);
  background:linear-gradient(145deg,rgba(34,197,94,.17),rgba(14,165,233,.06));
}
.recovery-copy-v53{
  margin:4px 0 18px;
  color:var(--muted);
  line-height:1.55;
}
.recovery-security-note-v53{
  display:grid;
  grid-template-columns:26px 1fr;
  gap:9px;
  align-items:start;
  padding:11px 12px;
  border:1px solid rgba(96,165,250,.14);
  border-radius:12px;
  background:rgba(37,99,235,.055);
}
.recovery-security-note-v53>span{
  color:#7dd3fc;
  font-weight:950;
}
.recovery-security-note-v53 p{
  margin:0;
  color:#a8b8cf;
  font-size:.68rem;
  line-height:1.45;
}
.recovery-user-card-v53{
  margin:15px 0 18px;
  padding:15px;
  border:1px solid rgba(34,197,94,.18);
  border-radius:15px;
  background:
    radial-gradient(circle at 95% 0,rgba(34,197,94,.08),transparent 42%),
    rgba(255,255,255,.025);
}
.recovery-user-card-v53 span,
.recovery-user-card-v53 strong,
.recovery-user-card-v53 small{display:block}
.recovery-user-card-v53 span{
  color:#86efac;
  font-size:.5rem;
  font-weight:950;
  letter-spacing:.12em;
}
.recovery-user-card-v53 strong{
  margin-top:5px;
  font-size:1.15rem;
}
.recovery-user-card-v53 small{
  margin-top:5px;
  color:var(--muted);
  font-size:.62rem;
}

/* ============================================================
   V53 — ENTRENAMIENTO / INTERVAL TIMER
   ============================================================ */
.training-heading-v53{max-width:760px}
.training-timer-card-v53{
  position:relative;
  overflow:hidden;
  padding:22px!important;
  border-color:rgba(56,189,248,.14)!important;
  background:
    linear-gradient(rgba(56,189,248,.018) 1px,transparent 1px),
    linear-gradient(90deg,rgba(56,189,248,.014) 1px,transparent 1px),
    radial-gradient(circle at 80% 0,rgba(37,99,235,.13),transparent 35%),
    linear-gradient(145deg,#07111f,#0a1728 62%,#081321)!important;
  background-size:28px 28px,28px 28px,auto,auto!important;
}
.training-timer-card-v53:before{
  content:"";
  position:absolute;
  width:240px;
  height:240px;
  right:-115px;
  bottom:-140px;
  border:1px solid rgba(56,189,248,.08);
  border-radius:50%;
  box-shadow:
    0 0 0 34px rgba(56,189,248,.018),
    0 0 0 68px rgba(56,189,248,.012);
  pointer-events:none;
}
.training-live-head-v53{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
}
.training-live-head-v53>div{
  display:flex;
  align-items:center;
  gap:8px;
}
.training-live-dot-v53{
  width:8px;
  height:8px;
  border-radius:50%;
  background:#64748b;
  box-shadow:0 0 0 4px rgba(100,116,139,.10);
}
.training-live-head-v53 strong{
  color:#94a3b8;
  font-size:.48rem;
  letter-spacing:.14em;
}
.training-live-head-v53>span{
  padding:5px 8px;
  border:1px solid rgba(56,189,248,.15);
  border-radius:999px;
  color:#7dd3fc;
  background:rgba(14,165,233,.055);
  font-size:.42rem;
  font-weight:950;
  letter-spacing:.09em;
}
#tab-training.is-running .training-live-dot-v53{
  background:#22c55e;
  box-shadow:0 0 0 4px rgba(34,197,94,.10),0 0 16px rgba(34,197,94,.48);
  animation:trainingPulseV53 1.1s ease-in-out infinite;
}
@keyframes trainingPulseV53{
  50%{transform:scale(.72);opacity:.65}
}

.training-clock-shell-v53{
  margin:22px 0 18px;
  text-align:center;
}
.training-clock-kicker-v53{
  display:block;
  color:#5e728d;
  font-size:.5rem;
  font-weight:950;
  letter-spacing:.16em;
}
#trainingClockV53{
  display:block;
  margin:7px 0 13px;
  color:#f1f7ff;
  font-size:clamp(4.6rem,14vw,8.4rem);
  line-height:.92;
  letter-spacing:-.075em;
  font-variant-numeric:tabular-nums;
  text-shadow:
    0 0 30px rgba(56,189,248,.12),
    0 12px 40px rgba(0,0,0,.30);
}
.training-progress-track-v53{
  width:min(520px,90%);
  height:6px;
  margin:0 auto;
  overflow:hidden;
  border:1px solid rgba(148,163,184,.08);
  border-radius:999px;
  background:rgba(255,255,255,.035);
}
.training-progress-track-v53>span{
  display:block;
  width:0;
  height:100%;
  border-radius:inherit;
  background:linear-gradient(90deg,#2563eb,#38bdf8,#22c55e);
  box-shadow:0 0 16px rgba(56,189,248,.32);
  transition:width .18s linear;
}
.training-cycle-readout-v53{
  margin-top:13px;
  display:flex;
  justify-content:center;
  align-items:baseline;
  gap:8px;
}
.training-cycle-readout-v53>span{
  color:#64748b;
  font-size:.46rem;
  font-weight:950;
  letter-spacing:.12em;
}
.training-cycle-readout-v53>strong{
  color:#cbd5e1;
  font-size:.8rem;
}
.training-cycle-readout-v53 b:first-child{color:#7dd3fc}

.training-config-grid-v53{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
}
.training-config-card-v53{
  padding:13px;
  border:1px solid rgba(148,163,184,.09);
  border-radius:14px;
  background:rgba(255,255,255,.025);
}
.training-config-card-v53>span,
.training-config-card-v53>small{display:block}
.training-config-card-v53>span{
  margin-bottom:9px;
  color:#8193aa;
  font-size:.44rem;
  font-weight:950;
  letter-spacing:.10em;
}
.training-config-card-v53>small{
  margin-top:7px;
  color:#52637a;
  text-align:center;
  font-size:.44rem;
}
.training-stepper-v53{
  display:grid;
  grid-template-columns:40px 1fr 40px;
  gap:6px;
  align-items:center;
}
.training-stepper-v53 button{
  height:40px;
  border:1px solid rgba(96,165,250,.12);
  border-radius:10px;
  color:#bfdbfe;
  background:rgba(37,99,235,.07);
  font-size:1.05rem;
  font-weight:950;
  cursor:pointer;
}
.training-stepper-v53 input{
  min-height:40px!important;
  padding:0 6px!important;
  border:1px solid rgba(148,163,184,.10)!important;
  border-radius:10px!important;
  color:#f1f5f9!important;
  background:rgba(1,8,18,.42)!important;
  text-align:center;
  font-size:1.1rem;
  font-weight:950;
  font-variant-numeric:tabular-nums;
}
.training-stepper-v53 input::-webkit-inner-spin-button,
.training-stepper-v53 input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
.training-stepper-v53 button:disabled,
.training-stepper-v53 input:disabled{
  opacity:.42;
  cursor:not-allowed;
}

.training-controls-v53{
  margin-top:12px;
  display:grid;
  grid-template-columns:1.3fr .7fr;
  gap:9px;
}
.training-controls-v53 button{
  min-height:54px;
  display:flex;
  justify-content:center;
  align-items:center;
  gap:9px;
  border-radius:13px;
  font-weight:950;
  letter-spacing:.07em;
  cursor:pointer;
}
.training-play-v53{
  border:1px solid rgba(34,197,94,.28);
  color:#f0fff6;
  background:linear-gradient(135deg,#15803d,#22c55e 65%,#16a34a);
  box-shadow:0 12px 28px rgba(34,197,94,.12);
}
.training-stop-v53{
  border:1px solid rgba(239,68,68,.22);
  color:#fecaca;
  background:linear-gradient(135deg,rgba(127,29,29,.68),rgba(185,28,28,.56));
}
.training-controls-v53 button:disabled{opacity:.45;cursor:not-allowed}

.training-beep-note-v53{
  margin-top:12px;
  display:grid;
  grid-template-columns:34px 1fr;
  gap:9px;
  align-items:center;
  padding:10px 11px;
  border:1px solid rgba(56,189,248,.09);
  border-radius:12px;
  background:rgba(14,165,233,.035);
}
.training-beep-note-v53>span{
  width:34px;
  height:34px;
  display:grid;
  place-items:center;
  border-radius:10px;
  color:#7dd3fc;
  background:rgba(14,165,233,.07);
}
.training-beep-note-v53 strong,
.training-beep-note-v53 small{display:block}
.training-beep-note-v53 strong{font-size:.58rem}
.training-beep-note-v53 small{
  margin-top:2px;
  color:#71849d;
  font-size:.49rem;
  line-height:1.4;
}
.training-status-v53{
  min-height:18px;
  margin:10px 0 0;
  color:#86efac;
  text-align:center;
  font-size:.55rem;
  font-weight:800;
}

.training-how-v53{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:8px;
}
.training-how-v53>div{
  display:grid;
  grid-template-columns:34px 1fr;
  gap:9px;
  align-items:start;
  padding:11px;
  border:1px solid rgba(148,163,184,.07);
  border-radius:13px;
  background:rgba(255,255,255,.018);
}
.training-how-v53>div>span{
  width:30px;
  height:30px;
  display:grid;
  place-items:center;
  border-radius:9px;
  color:#93c5fd;
  background:rgba(37,99,235,.08);
  font-weight:950;
}
.training-how-v53 p{margin:0}
.training-how-v53 strong,
.training-how-v53 small{display:block}
.training-how-v53 strong{font-size:.56rem}
.training-how-v53 small{
  margin-top:3px;
  color:var(--muted);
  font-size:.48rem;
  line-height:1.35;
}
.training-nav-v53 span{color:#38bdf8}

/* La V53 suma Entrenamiento a la navegación móvil. */
@media(max-width:899px){
  .bottom-nav{grid-template-columns:repeat(6,1fr)!important}
  body.is-admin-v41 .bottom-nav{grid-template-columns:repeat(7,1fr)!important}
  .bottom-nav .nav-item small{font-size:.52rem}
  body.is-admin-v41 .bottom-nav .nav-item small{font-size:.47rem}
}
@media(max-width:520px){
  .training-timer-card-v53{padding:16px!important}
  .training-config-grid-v53{grid-template-columns:1fr}
  .training-controls-v53{grid-template-columns:1fr 1fr}
  .training-how-v53{grid-template-columns:1fr}
  #trainingClockV53{font-size:clamp(4rem,22vw,6.4rem)}
}
@media(max-width:390px){
  .bottom-nav .nav-item small{font-size:.47rem}
  body.is-admin-v41 .bottom-nav .nav-item small{display:none}
}

/* Tema claro: el cronómetro mantiene un núcleo deportivo oscuro para legibilidad. */
body[data-theme="light"] .recovery-security-note-v53{
  background:#f3f8ff;
}
body[data-theme="light"] .recovery-security-note-v53 p{color:#506481}
body[data-theme="light"] .recovery-user-card-v53{
  background:#f7fff9;
  color:#163052;
}


/* ============================================================
   V54 — PAUSA / REANUDAR / RESET + SEGUNDOS
   ============================================================ */

.training-config-grid-v54{
  grid-template-columns:repeat(3,minmax(0,1fr));
}

.training-controls-v54{
  grid-template-columns:minmax(0,1.4fr) minmax(0,.72fr) 58px;
  align-items:stretch;
}

.training-reset-v54{
  min-width:58px;
  padding:0!important;
  border:1px solid rgba(96,165,250,.20)!important;
  color:#bfdbfe!important;
  background:
    radial-gradient(circle at 50% 20%,rgba(56,189,248,.10),transparent 55%),
    rgba(15,39,70,.62)!important;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.02);
}

.training-reset-v54 span{
  font-size:1.55rem;
  line-height:1;
  font-weight:900;
}

.training-reset-v54:hover:not(:disabled){
  border-color:rgba(125,211,252,.42)!important;
  color:#e0f2fe!important;
  background:rgba(14,116,144,.20)!important;
}

.training-reset-v54:disabled{
  opacity:.32!important;
}

#tab-training.is-paused .training-live-dot-v53{
  background:#f59e0b;
  box-shadow:0 0 0 4px rgba(245,158,11,.10),0 0 14px rgba(245,158,11,.26);
}

#tab-training.is-paused .training-live-head-v53>span{
  color:#fcd34d;
  border-color:rgba(245,158,11,.18);
  background:rgba(245,158,11,.055);
}

#tab-training.is-paused #trainingClockV53{
  color:#fff7df;
  text-shadow:
    0 0 28px rgba(245,158,11,.10),
    0 12px 40px rgba(0,0,0,.30);
}

@media(max-width:880px){
  .training-config-grid-v54{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
}

@media(max-width:680px){
  .training-config-grid-v54{
    grid-template-columns:1fr;
  }
  .training-controls-v54{
    grid-template-columns:minmax(0,1.25fr) minmax(0,.85fr) 54px;
  }
}

@media(max-width:390px){
  .training-controls-v54{
    grid-template-columns:1fr 1fr 50px;
    gap:7px;
  }
  .training-reset-v54{
    min-width:50px;
  }
}


/* ============================================================
   V56 — ESTADÍSTICAS POR MODALIDAD + ACCESOS DE PERFIL
   ============================================================ */

/* ---------- Encabezado de Estadísticas ---------- */
.stats-heading-v56{
  max-width:none!important;
}
.stats-heading-top-v56{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:18px;
}
.stats-heading-top-v56 h2{
  margin-bottom:0;
}
.stats-mode-select-v56{
  position:relative;
  min-width:190px;
  display:grid;
  grid-template-columns:auto 1fr auto;
  align-items:center;
  gap:8px;
  padding:6px 10px 6px 12px;
  border:1px solid rgba(96,165,250,.18);
  border-radius:13px;
  background:
    radial-gradient(circle at 90% 0,rgba(56,189,248,.09),transparent 45%),
    rgba(15,23,42,.68);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.025),
    0 8px 22px rgba(2,8,23,.10);
}
.stats-mode-select-v56>span{
  color:#6f86a4;
  font-size:.42rem;
  font-weight:950;
  letter-spacing:.13em;
}
.stats-mode-select-v56 select{
  width:100%;
  min-height:36px;
  padding:0 24px 0 3px;
  border:0;
  outline:0;
  appearance:none;
  color:#eaf4ff;
  background:transparent;
  font:inherit;
  font-size:.66rem;
  font-weight:950;
  cursor:pointer;
}
.stats-mode-select-v56 select option{
  color:#eaf4ff;
  background:#0d192b;
}
.stats-mode-select-v56>b{
  position:absolute;
  right:12px;
  color:#7dd3fc;
  pointer-events:none;
  font-size:.7rem;
}
.stats-heading-v56>p:last-child{
  margin-top:7px;
  transition:opacity .15s ease;
}

/* Cards superiores con subtítulo */
#tab-stats .stats-grid .stat-card small{
  display:block;
  margin-top:7px;
  color:#60758e;
  font-size:.45rem;
  font-weight:650;
}

/* Distribución clickeable */
.played-matches-grid-v56{
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
}
.played-matches-grid-v56 .played-match-tile{
  cursor:pointer;
  transition:
    transform .16s ease,
    border-color .16s ease,
    background .16s ease,
    box-shadow .16s ease;
}
.played-matches-grid-v56 .played-match-tile:hover{
  transform:translateY(-2px);
  border-color:rgba(96,165,250,.24);
}
.played-matches-grid-v56 .played-match-tile.active-v56{
  border-color:rgba(56,189,248,.38)!important;
  background:
    radial-gradient(circle at 90% 0,rgba(56,189,248,.10),transparent 46%),
    rgba(10,32,53,.72)!important;
  box-shadow:
    inset 0 0 0 1px rgba(125,211,252,.05),
    0 10px 24px rgba(2,132,199,.08);
}
.played-match-tile.tournament{
  border-color:rgba(168,85,247,.12);
}
.played-match-tile.tournament span{
  color:#c4b5fd;
}

/* ---------- Accesos debajo de la tarjeta de perfil ---------- */
.profile-quick-actions-v56{
  margin:12px 0 15px;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
}
.profile-quick-action-v56{
  position:relative;
  min-height:92px;
  display:grid;
  grid-template-columns:42px minmax(0,1fr) 24px;
  gap:11px;
  align-items:center;
  padding:13px 12px;
  overflow:hidden;
  border:1px solid rgba(148,163,184,.11);
  border-radius:15px;
  color:#e8eff9;
  background:
    radial-gradient(circle at 100% 0,rgba(59,130,246,.07),transparent 42%),
    linear-gradient(145deg,rgba(22,32,50,.95),rgba(13,23,39,.94));
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.022),
    0 8px 20px rgba(2,8,23,.06);
  text-align:left;
  cursor:pointer;
  transition:
    transform .17s ease,
    border-color .17s ease,
    box-shadow .17s ease,
    background .17s ease;
}
.profile-quick-action-v56:before{
  content:"";
  position:absolute;
  inset:auto -34px -54px auto;
  width:110px;
  height:110px;
  border-radius:50%;
  border:1px solid rgba(255,255,255,.035);
  pointer-events:none;
}
.profile-quick-action-v56:hover{
  transform:translateY(-3px);
  border-color:rgba(96,165,250,.30);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.035),
    0 14px 28px rgba(2,8,23,.13);
}
.profile-quick-icon-v56{
  width:42px;
  height:42px;
  display:grid;
  place-items:center;
  border:1px solid rgba(96,165,250,.14);
  border-radius:12px;
  color:#93c5fd;
  background:rgba(37,99,235,.08);
  font-size:1.05rem;
  font-weight:950;
}
.profile-quick-action-v56>div{
  min-width:0;
}
.profile-quick-action-v56 small,
.profile-quick-action-v56 strong,
.profile-quick-action-v56 em{
  display:block;
}
.profile-quick-action-v56 small{
  color:#6f86a5;
  font-size:.39rem;
  font-style:normal;
  font-weight:950;
  letter-spacing:.13em;
}
.profile-quick-action-v56 strong{
  margin-top:3px;
  color:#f4f8ff;
  font-size:.67rem;
}
.profile-quick-action-v56 em{
  margin-top:4px;
  overflow:hidden;
  color:#8092aa;
  font-size:.45rem;
  font-style:normal;
  white-space:nowrap;
  text-overflow:ellipsis;
}
.profile-quick-action-v56>b{
  color:#536982;
  font-size:.9rem;
  transition:transform .16s ease,color .16s ease;
}
.profile-quick-action-v56:hover>b{
  transform:translateX(3px);
  color:#7dd3fc;
}

.profile-quick-action-v56.rank .profile-quick-icon-v56{
  color:#facc15;
  border-color:rgba(250,204,21,.15);
  background:rgba(250,204,21,.055);
}
.profile-quick-action-v56.rank:hover{
  border-color:rgba(250,204,21,.24);
}
.profile-quick-action-v56.stats .profile-quick-icon-v56{
  color:#67e8f9;
  border-color:rgba(34,211,238,.17);
  background:rgba(6,182,212,.06);
}
.profile-quick-action-v56.history .profile-quick-icon-v56{
  color:#c4b5fd;
  border-color:rgba(168,85,247,.16);
  background:rgba(139,92,246,.06);
}

/* El antiguo bloque ya no ocupa el final del perfil. */
.profile-secondary-actions{
  display:none!important;
}

/* ---------- Tema claro ---------- */
body[data-theme="light"] .stats-mode-select-v56{
  border-color:rgba(37,99,235,.12);
  background:#f3f7ff;
  box-shadow:0 7px 18px rgba(30,64,175,.045);
}
body[data-theme="light"] .stats-mode-select-v56 select{
  color:#17315f;
}
body[data-theme="light"] .stats-mode-select-v56 select option{
  color:#17315f;
  background:#fff;
}
body[data-theme="light"] .profile-quick-action-v56{
  color:#17315f;
  border-color:rgba(30,64,175,.10);
  background:
    radial-gradient(circle at 100% 0,rgba(59,130,246,.06),transparent 42%),
    linear-gradient(145deg,#fff,#f4f8ff);
  box-shadow:0 9px 22px rgba(30,64,175,.05);
}
body[data-theme="light"] .profile-quick-action-v56 strong{
  color:#17315f;
}
body[data-theme="light"] .profile-quick-action-v56 em{
  color:#71819b;
}

/* ---------- Responsive ---------- */
@media(max-width:900px){
  .played-matches-grid-v56{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  .profile-quick-actions-v56{
    grid-template-columns:1fr;
  }
  .profile-quick-action-v56{
    min-height:76px;
  }
}

@media(max-width:620px){
  .stats-heading-top-v56{
    align-items:stretch;
    flex-direction:column;
    gap:10px;
  }
  .stats-mode-select-v56{
    width:100%;
    min-width:0;
  }
  .played-matches-grid-v56{
    grid-template-columns:1fr 1fr!important;
  }
  .profile-quick-actions-v56{
    margin-left:0;
    margin-right:0;
    gap:8px;
  }
}

@media(max-width:390px){
  .played-matches-grid-v56{
    grid-template-columns:1fr!important;
  }
}


/* ============================================================
   V57 — SEGURIDAD + LEGAL
   ============================================================ */

.welcome-legal-v57{
  margin-top:14px;display:flex;justify-content:center;align-items:center;gap:7px;
  color:#52667f;font-size:.52rem
}
.welcome-legal-v57 button{
  padding:2px 0;border:0;color:#7f94ae;background:transparent;
  font:inherit;font-weight:800;cursor:pointer
}
.welcome-legal-v57 button:hover{color:#bfdbfe}

.register-legal-v57{
  display:grid;gap:9px;padding:12px;border:1px solid rgba(96,165,250,.13);
  border-radius:13px;background:rgba(37,99,235,.035)
}
.register-legal-v57>label{
  display:grid;grid-template-columns:20px 1fr;gap:9px;align-items:start;cursor:pointer
}
.register-legal-v57 input{
  width:17px!important;height:17px!important;min-height:0!important;margin-top:1px
}
.register-legal-v57 span{color:#a5b4c7;font-size:.64rem;line-height:1.45}
.register-legal-v57 button{
  padding:0;border:0;color:#7dd3fc;background:transparent;font:inherit;font-weight:900;cursor:pointer
}
.register-legal-v57>small{color:#586b83;font-size:.48rem}

.legal-modal-v57{
  z-index:10050;padding:20px;background:rgba(2,6,15,.82);backdrop-filter:blur(12px)
}
.legal-modal-card-v57{
  width:min(960px,96vw);height:min(88vh,900px);max-width:none!important;
  padding:0!important;overflow:hidden!important;display:grid;grid-template-rows:auto auto 1fr;
  border:1px solid rgba(96,165,250,.16);background:#0a1424!important
}
.legal-modal-top-v57{
  display:flex;justify-content:space-between;align-items:center;gap:18px;
  padding:16px 18px 12px;border-bottom:1px solid rgba(148,163,184,.07)
}
.legal-modal-top-v57 p{
  margin:0;color:#60a5fa;font-size:.43rem;font-weight:950;letter-spacing:.14em
}
.legal-modal-top-v57 h3{margin:3px 0 0;font-size:1rem}
.legal-modal-top-v57>button{
  width:36px;height:36px;border:1px solid rgba(148,163,184,.12);border-radius:10px;
  color:#cbd5e1;background:rgba(255,255,255,.035);font-size:1.2rem;cursor:pointer
}
.legal-modal-tabs-v57{
  display:flex;gap:6px;padding:9px 18px;border-bottom:1px solid rgba(148,163,184,.07)
}
.legal-modal-tabs-v57 button{
  padding:8px 12px;border:1px solid rgba(148,163,184,.09);border-radius:9px;
  color:#7d90a9;background:rgba(255,255,255,.025);font-size:.55rem;font-weight:900;cursor:pointer
}
.legal-modal-tabs-v57 button.active{
  color:#e8f5ff;border-color:rgba(56,189,248,.24);background:rgba(14,165,233,.09)
}
.legal-modal-body-v57{overflow:auto;padding:20px}

.legal-document-v57{width:min(780px,100%);margin:0 auto}
.legal-document-v57>header{padding:4px 0 18px}
.legal-document-v57>header p{
  margin:0;color:#60a5fa;font-size:.46rem;font-weight:950;letter-spacing:.14em
}
.legal-document-v57>header h2{margin:5px 0 4px;font-size:1.55rem}
.legal-document-v57>header span{color:#71849c;font-size:.57rem}

.legal-facts-v57{
  display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:0 0 18px
}
.legal-facts-v57>div{
  padding:11px;border:1px solid rgba(96,165,250,.10);border-radius:11px;
  background:rgba(37,99,235,.035)
}
.legal-facts-v57 span,.legal-facts-v57 strong{display:block}
.legal-facts-v57 span{
  color:#657a94;font-size:.40rem;font-weight:950;letter-spacing:.08em;text-transform:uppercase
}
.legal-facts-v57 strong{
  margin-top:4px;color:#dbeafe;font-size:.57rem;line-height:1.4
}
.legal-facts-v57 a{color:#7dd3fc}
.legal-pending-v57{color:#fbbf24!important}

.legal-document-body-v57{color:#aebdd0;font-size:.66rem;line-height:1.72}
.legal-document-body-v57 h3{margin:22px 0 7px;color:#f0f6ff;font-size:.78rem}
.legal-document-body-v57 h3 span{margin-right:6px;color:#60a5fa}
.legal-document-body-v57 p{margin:0 0 10px}
.legal-document-body-v57 ul{margin:0 0 12px 18px;padding:0}
.legal-document-v57>footer{
  margin-top:28px;padding:14px 0 8px;display:flex;justify-content:space-between;gap:16px;
  border-top:1px solid rgba(148,163,184,.08);color:#596d86;font-size:.48rem
}

.legal-settings-head-v57{
  display:flex;justify-content:space-between;align-items:center;gap:14px;padding:12px;
  border:1px solid rgba(96,165,250,.09);border-radius:12px;background:rgba(37,99,235,.025)
}
.legal-settings-head-v57 span,.legal-settings-head-v57 strong,.legal-settings-head-v57 small{display:block}
.legal-settings-head-v57>div>span{
  color:#64748b;font-size:.42rem;font-weight:950;letter-spacing:.12em
}
.legal-settings-head-v57>div>strong{margin-top:3px;font-size:.66rem}
.legal-settings-head-v57>div>small{margin-top:3px;color:var(--muted);font-size:.49rem}

.legal-status-badge-v57{
  padding:6px 9px;border:1px solid rgba(148,163,184,.12);border-radius:999px;
  color:#94a3b8;background:rgba(148,163,184,.05);font-size:.45rem;font-weight:950;white-space:nowrap
}
.legal-status-badge-v57.ok{
  color:#86efac;border-color:rgba(34,197,94,.18);background:rgba(34,197,94,.055)
}
.legal-status-badge-v57.pending{
  color:#fbbf24;border-color:rgba(245,158,11,.18);background:rgba(245,158,11,.055)
}

.legal-settings-actions-v57{
  margin-top:10px;display:grid;grid-template-columns:repeat(3,1fr);gap:8px
}
.legal-settings-actions-v57>button{
  display:grid;grid-template-columns:34px 1fr auto;gap:9px;align-items:center;padding:11px;
  border:1px solid rgba(148,163,184,.09);border-radius:12px;color:inherit;
  background:rgba(255,255,255,.022);text-align:left;cursor:pointer
}
.legal-settings-actions-v57>button>span{
  width:32px;height:32px;display:grid;place-items:center;border-radius:9px;
  color:#93c5fd;background:rgba(37,99,235,.07);font-weight:950
}
.legal-settings-actions-v57 strong,.legal-settings-actions-v57 small{display:block}
.legal-settings-actions-v57 strong{font-size:.57rem}
.legal-settings-actions-v57 small{margin-top:2px;color:var(--muted);font-size:.45rem}
.legal-settings-actions-v57>button>b{color:#526981}

.data-rights-v57{
  margin-top:10px;display:flex;justify-content:space-between;align-items:center;gap:12px;padding:11px 12px;
  border:1px solid rgba(34,197,94,.11);border-radius:12px;background:rgba(34,197,94,.025)
}
.data-rights-v57 strong,.data-rights-v57 small{display:block}
.data-rights-v57 strong{font-size:.57rem}
.data-rights-v57 small{margin-top:3px;color:var(--muted);font-size:.47rem;line-height:1.4}
.data-rights-v57>button{
  padding:8px 10px;border:1px solid rgba(34,197,94,.18);border-radius:9px;
  color:#bbf7d0;background:rgba(34,197,94,.06);font-size:.48rem;font-weight:900;
  white-space:nowrap;cursor:pointer
}

.admin-security-v57{
  border-color:rgba(56,189,248,.13)!important;
  background:radial-gradient(circle at 100% 0,rgba(14,165,233,.07),transparent 34%),rgba(255,255,255,.018)!important
}
.admin-legal-config-v57{
  margin-top:13px;display:grid;grid-template-columns:1fr 1fr 1.2fr auto;gap:8px;align-items:end
}
.admin-legal-config-v57 label{display:grid;gap:5px}
.admin-legal-config-v57 label>span{color:#7dd3fc;font-size:.43rem;font-weight:900}
.admin-legal-config-v57 input{
  min-height:40px;padding:0 10px;border:1px solid var(--v15-line);border-radius:9px;
  color:var(--text);background:rgba(255,255,255,.025)
}
.admin-legal-config-v57>button{min-height:40px}

.security-audit-result-v57{margin-top:13px}
.security-audit-grid-v57{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.security-audit-card-v57{
  padding:11px;border:1px solid rgba(148,163,184,.09);border-radius:11px;background:rgba(255,255,255,.02)
}
.security-audit-card-v57 span,.security-audit-card-v57 strong,.security-audit-card-v57 small{display:block}
.security-audit-card-v57 span{color:#71859e;font-size:.42rem;font-weight:950}
.security-audit-card-v57 strong{margin-top:4px;font-size:1rem}
.security-audit-card-v57 small{margin-top:4px;color:var(--muted);font-size:.44rem;line-height:1.35}
.security-audit-card-v57.ok{border-color:rgba(34,197,94,.16)}
.security-audit-card-v57.ok strong{color:#86efac}
.security-audit-card-v57.warn{border-color:rgba(245,158,11,.18)}
.security-audit-card-v57.warn strong{color:#fbbf24}
.security-audit-card-v57.danger{border-color:rgba(239,68,68,.18)}
.security-audit-card-v57.danger strong{color:#fca5a5}
.security-audit-card-v57.info strong{color:#7dd3fc}

.security-audit-result-v57 details{
  margin-top:8px;padding:9px 10px;border:1px solid rgba(148,163,184,.08);
  border-radius:9px;background:rgba(2,8,23,.20)
}
.security-audit-result-v57 summary{color:#a7b7cb;font-size:.5rem;font-weight:850;cursor:pointer}
.security-audit-result-v57 pre{
  max-height:180px;overflow:auto;margin:8px 0 0;color:#8ea5bf;font-size:.48rem;white-space:pre-wrap
}
.security-audit-note-v57{margin:10px 0 0;color:#64748b;font-size:.45rem}

body[data-theme="light"] .register-legal-v57,
body[data-theme="light"] .legal-settings-head-v57,
body[data-theme="light"] .legal-settings-actions-v57>button{background:#f7faff}
body[data-theme="light"] .legal-modal-card-v57{background:#f8fbff!important}
body[data-theme="light"] .legal-modal-top-v57 h3,
body[data-theme="light"] .legal-document-v57>header h2,
body[data-theme="light"] .legal-document-body-v57 h3{color:#102047}
body[data-theme="light"] .legal-document-body-v57{color:#526987}
body[data-theme="light"] .legal-facts-v57>div{background:#eef5ff}
body[data-theme="light"] .legal-facts-v57 strong{color:#17315f}

@media(max-width:900px){
  .admin-legal-config-v57{grid-template-columns:1fr 1fr}
  .security-audit-grid-v57{grid-template-columns:1fr 1fr}
  .legal-settings-actions-v57{grid-template-columns:1fr}
}
@media(max-width:650px){
  .legal-modal-v57{padding:0}
  .legal-modal-card-v57{width:100vw;height:100dvh;border-radius:0!important;border:0!important}
  .legal-facts-v57{grid-template-columns:1fr}
  .legal-document-v57>footer{flex-direction:column}
  .legal-settings-head-v57{align-items:flex-start;flex-direction:column}
  .data-rights-v57{align-items:flex-start;flex-direction:column}
  .admin-legal-config-v57{grid-template-columns:1fr}
  .security-audit-grid-v57{grid-template-columns:1fr 1fr}
}


/* ============================================================
   V57.1 — RESPONSABLE LEGAL ≠ INFRAESTRUCTURA
   ============================================================ */

.legal-facts-v571{
  grid-template-columns:repeat(3,minmax(0,1fr));
}

.admin-legal-block-v571{
  margin-top:13px;
  display:grid;
  gap:10px;
}

.admin-legal-section-title-v571{
  padding:9px 11px;
  border-left:2px solid rgba(56,189,248,.45);
  background:linear-gradient(90deg,rgba(14,165,233,.055),transparent);
}
.admin-legal-section-title-v571 span,
.admin-legal-section-title-v571 small{
  display:block;
}
.admin-legal-section-title-v571 span{
  color:#7dd3fc;
  font-size:.44rem;
  font-weight:950;
  letter-spacing:.13em;
}
.admin-legal-section-title-v571 small{
  margin-top:3px;
  color:#687d96;
  font-size:.46rem;
}
.admin-legal-section-title-v571.infrastructure{
  margin-top:5px;
  border-left-color:rgba(168,85,247,.45);
  background:linear-gradient(90deg,rgba(139,92,246,.05),transparent);
}
.admin-legal-section-title-v571.infrastructure span{
  color:#c4b5fd;
}

.admin-legal-config-v571{
  margin-top:0!important;
  grid-template-columns:1.05fr 1.35fr 1.05fr .55fr!important;
}
.admin-infra-config-v571{
  margin-top:0!important;
  grid-template-columns:.7fr 1.5fr auto!important;
}

.admin-legal-config-v571 input[readonly],
.admin-infra-config-v571 input[readonly]{
  color:#8194ab;
  cursor:not-allowed;
  background:rgba(148,163,184,.035);
}

@media(max-width:1000px){
  .admin-legal-config-v571{
    grid-template-columns:1fr 1fr!important;
  }
  .admin-infra-config-v571{
    grid-template-columns:1fr 1fr!important;
  }
  .admin-infra-config-v571>button{
    grid-column:1/-1;
  }
}

@media(max-width:650px){
  .legal-facts-v571{
    grid-template-columns:1fr;
  }
  .admin-legal-config-v571,
  .admin-infra-config-v571{
    grid-template-columns:1fr!important;
  }
  .admin-infra-config-v571>button{
    grid-column:auto;
  }
}

/* V57.2 — CARGA ANIMADA DE SESIÓN */
body.tt-booting-v572{overflow:hidden!important}
body.tt-booting-v572>*:not(#ttBootScreenV572){visibility:hidden!important}
.tt-boot-screen-v572{
  position:fixed;inset:0;z-index:999999;min-height:100dvh;
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;
  color:#f5f9ff;background:
  radial-gradient(circle at 50% 38%,rgba(14,165,233,.12),transparent 26%),
  radial-gradient(circle at 50% 42%,rgba(37,99,235,.10),transparent 42%),
  linear-gradient(180deg,#07101e 0%,#081425 56%,#07101c 100%);
  transition:opacity .2s ease,transform .2s ease,visibility .2s ease
}
.tt-boot-screen-v572.is-leaving{opacity:0;transform:scale(1.015);visibility:hidden;pointer-events:none}
.tt-loader-v572{position:relative;width:112px;height:112px;display:grid;place-items:center}
.tt-loader-orbit-v572{
  position:absolute;inset:0;border-radius:50%;border:2px solid rgba(96,165,250,.10);
  border-top-color:#38bdf8;border-right-color:#2563eb;
  box-shadow:0 0 18px rgba(56,189,248,.12),inset 0 0 24px rgba(37,99,235,.055);
  animation:ttBootSpinV572 1.15s linear infinite
}
.tt-loader-orbit-v572:before{
  content:"";position:absolute;inset:9px;border-radius:50%;
  border:1px dashed rgba(125,211,252,.16);animation:ttBootSpinReverseV572 2.7s linear infinite
}
.tt-loader-orbit-v572:after{
  content:"";position:absolute;width:8px;height:8px;right:8px;top:18px;border-radius:50%;
  background:#67e8f9;box-shadow:0 0 9px #38bdf8,0 0 20px rgba(56,189,248,.65)
}
.tt-loader-core-v572{
  position:relative;z-index:2;width:70px;height:70px;display:grid;align-content:center;justify-items:center;
  border:1px solid rgba(96,165,250,.20);border-radius:22px;
  background:radial-gradient(circle at 50% 15%,rgba(56,189,248,.18),transparent 50%),
  linear-gradient(145deg,rgba(20,43,80,.94),rgba(9,23,43,.98));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.05),0 12px 38px rgba(2,8,23,.35),0 0 28px rgba(37,99,235,.10);
  animation:ttBootCorePulseV572 1.7s ease-in-out infinite
}
.tt-loader-core-v572 strong{font-size:1.45rem;font-weight:1000;letter-spacing:-.08em;line-height:.95}
.tt-loader-core-v572 small{margin-top:3px;color:#67e8f9;font-size:.31rem;font-weight:950;letter-spacing:.20em}
.tt-loader-pulse-v572{position:absolute;inset:18px;border-radius:50%;border:1px solid rgba(56,189,248,.23);animation:ttBootPulseRingV572 1.7s ease-out infinite}
.tt-boot-copy-v572{display:grid;justify-items:center;gap:6px;text-align:center}
.tt-boot-copy-v572>strong{font-size:.82rem;font-weight:1000;letter-spacing:.20em}
.tt-boot-copy-v572>span{color:#7890aa;font-size:.54rem;font-weight:750}
.tt-boot-dots-v572{display:flex;gap:5px;height:8px}
.tt-boot-dots-v572 i{width:5px;height:5px;border-radius:999px;background:#38bdf8;opacity:.2;animation:ttBootDotV572 1.05s ease-in-out infinite}
.tt-boot-dots-v572 i:nth-child(2){animation-delay:.14s}.tt-boot-dots-v572 i:nth-child(3){animation-delay:.28s}
@keyframes ttBootSpinV572{to{transform:rotate(360deg)}}
@keyframes ttBootSpinReverseV572{to{transform:rotate(-360deg)}}
@keyframes ttBootCorePulseV572{0%,100%{transform:scale(1)}50%{transform:scale(1.035)}}
@keyframes ttBootPulseRingV572{0%{transform:scale(.65);opacity:.52}75%,100%{transform:scale(1.65);opacity:0}}
@keyframes ttBootDotV572{0%,100%{opacity:.18;transform:translateY(0)}50%{opacity:1;transform:translateY(-3px)}}
@media(prefers-reduced-motion:reduce){
  .tt-loader-orbit-v572,.tt-loader-orbit-v572:before,.tt-loader-core-v572,.tt-loader-pulse-v572,.tt-boot-dots-v572 i{animation:none!important}
}


/* ============================================================
   V57.3 — PWA ANDROID / INSTALACIÓN STANDALONE
   ============================================================ */

.pwa-install-card-v573{
  margin-top:9px;
  display:grid;
  gap:5px;
}
.pwa-install-card-v573>small{
  min-height:12px;
  color:#61758e;
  font-size:.43rem;
  text-align:center;
}
.pwa-install-button-v573{
  width:100%;
  min-height:48px;
  display:grid;
  grid-template-columns:32px 1fr auto;
  gap:9px;
  align-items:center;
  padding:8px 12px;
  border:1px solid rgba(56,189,248,.18);
  border-radius:13px;
  color:#dff7ff;
  background:
    radial-gradient(circle at 100% 0,rgba(56,189,248,.08),transparent 40%),
    rgba(8,30,53,.72);
  text-align:left;
  cursor:pointer;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.025);
}
.pwa-install-button-v573>span{
  width:31px;height:31px;
  display:grid;place-items:center;
  border-radius:9px;
  color:#67e8f9;
  background:rgba(6,182,212,.08);
  font-size:.8rem;
}
.pwa-install-button-v573 strong,
.pwa-install-button-v573 small{display:block}
.pwa-install-button-v573 strong{
  color:#ecfeff;font-size:.52rem;letter-spacing:.04em
}
.pwa-install-button-v573 small{
  margin-top:2px;color:#6f88a2;font-size:.42rem
}
.pwa-install-button-v573>b{color:#67e8f9}
.pwa-install-button-v573:hover{
  border-color:rgba(103,232,249,.34);
  transform:translateY(-1px);
}
.pwa-install-button-v573:disabled{
  cursor:default;
  opacity:.65;
  transform:none;
}

.pwa-settings-v573{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
  padding:12px;
  border:1px solid rgba(56,189,248,.11);
  border-radius:12px;
  background:rgba(6,182,212,.025);
}
.pwa-settings-v573 span,
.pwa-settings-v573 strong,
.pwa-settings-v573 small{display:block}
.pwa-settings-v573 span{
  color:#67e8f9;
  font-size:.41rem;
  font-weight:950;
  letter-spacing:.11em;
}
.pwa-settings-v573 strong{
  margin-top:3px;
  font-size:.62rem;
}
.pwa-settings-v573 small{
  margin-top:3px;
  max-width:520px;
  color:#71849b;
  font-size:.46rem;
  line-height:1.4;
}
.pwa-settings-v573 .pwa-install-button-v573{
  width:auto;
  min-width:145px;
  grid-template-columns:1fr;
  text-align:center;
  font-size:.49rem;
  font-weight:900;
}

.pwa-standalone-v573 .pwa-install-card-v573{
  display:none!important;
}

body[data-theme="light"] .pwa-install-button-v573,
body[data-theme="light"] .pwa-settings-v573{
  color:#17315f;
  border-color:rgba(37,99,235,.12);
  background:#f2f7ff;
}
body[data-theme="light"] .pwa-install-button-v573 strong{
  color:#17315f;
}

@media(max-width:620px){
  .pwa-settings-v573{
    align-items:flex-start;
    flex-direction:column;
  }
  .pwa-settings-v573 .pwa-install-button-v573{
    width:100%;
  }
}

/* ============================================================
   V58 — COMPETENCIA SEGURA / DISPUTAS / PROTECCIÓN / TÍTULOS
   ============================================================ */
.protection-card-v58,.profile-protection-v58{
  position:relative;overflow:hidden;border-color:rgba(56,189,248,.14)!important;
  background:radial-gradient(circle at 100% 0,rgba(56,189,248,.07),transparent 36%),rgba(255,255,255,.018)!important
}
.protection-card-v58:after,.profile-protection-v58:after{content:"";position:absolute;width:110px;height:110px;right:-45px;bottom:-55px;border:1px solid rgba(56,189,248,.07);border-radius:50%;pointer-events:none}
.protection-head-v58{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}.protection-head-v58 h3{margin:3px 0}.protection-head-v58 p:last-child{margin:3px 0 0;color:var(--muted);font-size:.54rem}.protection-head-v58>strong{color:#7dd3fc;font-size:.9rem;white-space:nowrap}
.protection-track-v58{height:8px;margin-top:12px;border-radius:999px;background:rgba(148,163,184,.09);overflow:hidden}.protection-track-v58>span{display:block;width:0;height:100%;border-radius:inherit;background:linear-gradient(90deg,#2563eb,#22d3ee);transition:width .25s ease}
.protection-foot-v58{margin-top:8px;display:flex;justify-content:space-between;gap:12px;color:#6e8198;font-size:.46rem}.protection-foot-v58>span{color:#8da2ba;font-weight:850}.shield-ready-v58{border-color:rgba(34,197,94,.24)!important;background:radial-gradient(circle at 100% 0,rgba(34,197,94,.09),transparent 38%),rgba(255,255,255,.018)!important}.shield-ready-v58 .protection-track-v58>span{background:linear-gradient(90deg,#16a34a,#4ade80)}.shield-ready-v58 .protection-head-v58>strong{color:#86efac}
.profile-protection-v58>p{margin:8px 0 0;color:var(--muted);font-size:.5rem}.protection-shield-chip-v58{padding:6px 9px;border:1px solid rgba(56,189,248,.15);border-radius:999px;color:#7dd3fc;background:rgba(56,189,248,.05);font-size:.47rem;font-weight:950}.shield-ready-v58 .protection-shield-chip-v58{color:#86efac;border-color:rgba(34,197,94,.19);background:rgba(34,197,94,.055)}

.dispute-resolve-btn-v58{border:1px solid rgba(245,158,11,.23)!important;color:#fde68a!important;background:rgba(245,158,11,.07)!important}.status-annulled-v58{color:#94a3b8!important;border-color:rgba(148,163,184,.14)!important;background:rgba(148,163,184,.05)!important}
.dispute-modal-v58{width:min(720px,94vw)!important;max-height:88vh;overflow:auto}.dispute-summary-v58{display:grid;gap:9px;margin:12px 0}.dispute-state-v58,.dispute-original-v58,.dispute-arbiter-chip-v58,.dispute-proposal-history-v58{padding:11px;border:1px solid rgba(148,163,184,.09);border-radius:12px;background:rgba(255,255,255,.022)}.dispute-state-v58{display:flex;justify-content:space-between;align-items:center;gap:10px}.dispute-state-v58>span{color:#fbbf24;font-size:.5rem;font-weight:950;text-transform:uppercase}.dispute-state-v58>strong{font-size:.57rem}.dispute-original-v58 small,.dispute-original-v58 strong,.dispute-original-v58 span{display:block}.dispute-original-v58 small{color:#71849b;font-size:.4rem;font-weight:950;letter-spacing:.1em}.dispute-original-v58 strong{margin-top:4px;font-size:1.15rem}.dispute-original-v58 span{margin-top:3px;color:#7e91a9;font-size:.49rem}.dispute-arbiter-chip-v58{color:#a7bed8;font-size:.52rem}.dispute-proposal-history-v58{display:grid;gap:4px}.dispute-proposal-history-v58>small{color:#64748b;font-size:.4rem;font-weight:950}.dispute-proposal-history-v58>span{color:#899db5;font-size:.47rem}
.dispute-actions-v58{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:10px}.dispute-actions-v58>button{min-height:45px;border-radius:11px;font-size:.5rem;font-weight:950;cursor:pointer}.dispute-primary-v58{border:1px solid rgba(34,197,94,.20);color:#bbf7d0;background:rgba(34,197,94,.065)}.dispute-secondary-v58{border:1px solid rgba(148,163,184,.12);color:#b8c5d6;background:rgba(148,163,184,.04)}.dispute-admin-v58{border:1px solid rgba(96,165,250,.20);color:#bfdbfe;background:rgba(37,99,235,.06)}.dispute-proposal-question-v58{grid-column:1/-1;padding:10px;border-left:2px solid rgba(245,158,11,.45);background:rgba(245,158,11,.035)}.dispute-proposal-question-v58 strong,.dispute-proposal-question-v58 small{display:block}.dispute-proposal-question-v58 small{margin-top:3px;color:#7d8fa6;font-size:.47rem}
.dispute-arbiter-search-v58{margin-top:11px;padding:11px;border:1px solid rgba(56,189,248,.10);border-radius:12px}.dispute-arbiter-search-v58 label{display:grid;gap:5px;color:#7dd3fc;font-size:.46rem;font-weight:850}.dispute-arbiter-search-v58 input{min-height:40px;padding:0 10px;border:1px solid rgba(148,163,184,.12);border-radius:9px;color:var(--text);background:rgba(255,255,255,.025)}.dispute-arbiter-results-v58{display:grid;gap:6px;margin-top:8px}.dispute-arbiter-results-v58>button{display:grid;grid-template-columns:1fr auto;gap:3px 10px;padding:9px 10px;border:1px solid rgba(148,163,184,.08);border-radius:9px;color:inherit;background:rgba(255,255,255,.02);text-align:left;cursor:pointer}.dispute-arbiter-results-v58 strong,.dispute-arbiter-results-v58 small{display:block}.dispute-arbiter-results-v58 small{color:#71849b;font-size:.45rem}.dispute-arbiter-results-v58 b{grid-row:1/3;grid-column:2;align-self:center;color:#67e8f9;font-size:.46rem}
.dispute-score-form-v58{margin-top:11px;padding:12px;border:1px solid rgba(34,197,94,.12);border-radius:12px;background:rgba(34,197,94,.025)}.dispute-score-head-v58 strong,.dispute-score-head-v58 small{display:block}.dispute-score-head-v58 small{margin-top:3px;color:#71849b;font-size:.47rem}.dispute-set-row-v58{display:grid;grid-template-columns:50px 1fr 18px 1fr;gap:7px;align-items:end;margin-top:9px}.dispute-set-row-v58>span{align-self:center;color:#8498b0;font-size:.48rem}.dispute-set-row-v58 label{display:grid;gap:3px}.dispute-set-row-v58 small{text-align:center;color:#6f849d;font-size:.4rem}.dispute-set-row-v58 input{width:100%;min-height:40px;border:1px solid rgba(148,163,184,.12);border-radius:9px;color:var(--text);background:rgba(255,255,255,.025);text-align:center;font-weight:950}.dispute-set-row-v58>b{align-self:center;text-align:center;color:#64748b}.dispute-score-form-v58>.btn{margin-top:12px;width:100%}

.review-tags-v58{margin:13px 0;padding-top:12px;border-top:1px solid rgba(148,163,184,.08)}.review-tags-head-v58 strong,.review-tags-head-v58 small{display:block}.review-tags-head-v58 strong{font-size:.58rem}.review-tags-head-v58 small{margin-top:2px;color:#687b92;font-size:.44rem}.review-tag-grid-v58{display:flex;flex-wrap:wrap;gap:6px;margin-top:9px}.review-tag-grid-v58 button{padding:7px 9px;border:1px solid rgba(148,163,184,.10);border-radius:999px;color:#98abc0;background:rgba(255,255,255,.025);font-size:.47rem;font-weight:800;cursor:pointer}.review-tag-grid-v58 button.selected{color:#dffaff;border-color:rgba(34,211,238,.28);background:rgba(6,182,212,.09);box-shadow:inset 0 0 0 1px rgba(103,232,249,.04)}

.title-choice-v58{grid-template-columns:46px minmax(0,1fr) auto!important;align-items:center}.title-choice-copy-v58{min-width:0}.title-choice-name-v58{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.title-choice-name-v58>i{font-style:normal;color:#7dd3fc;font-size:.4rem;font-weight:900}.title-progress-v58{margin-top:8px}.title-progress-v58>div:first-child{display:flex;justify-content:space-between;gap:10px;color:#788ba2;font-size:.43rem}.title-progress-track-v58{height:5px;margin-top:4px;overflow:hidden;border-radius:999px;background:rgba(148,163,184,.09)}.title-progress-track-v58>span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#2563eb,#22d3ee)}
.title-emblem.rarity-exclusive{color:#f5f3ff;background:linear-gradient(145deg,rgba(236,72,153,.22),rgba(124,58,237,.24));box-shadow:0 0 16px rgba(217,70,239,.12)}

.post-protection-used-v58{margin-top:10px;padding:10px 12px;display:flex;gap:9px;align-items:center;border:1px solid rgba(34,197,94,.18);border-radius:11px;background:rgba(34,197,94,.055)}.post-protection-used-v58>span{font-size:1rem}.post-protection-used-v58 strong,.post-protection-used-v58 small{display:block}.post-protection-used-v58 small{margin-top:2px;color:#81a18c;font-size:.46rem}.post-protection-progress-v58{margin-top:9px;color:#7d91a8;font-size:.46rem}.post-protection-progress-v58>div{height:5px;margin-top:4px;overflow:hidden;border-radius:999px;background:rgba(148,163,184,.09)}.post-protection-progress-v58 i{display:block;height:100%;background:linear-gradient(90deg,#2563eb,#22d3ee)}

.admin-disputes-list-v58,.admin-linked-list-v58{display:grid;gap:7px;margin-top:12px}.admin-dispute-row-v58{display:grid;grid-template-columns:34px 1fr auto;gap:9px;align-items:center;padding:10px;border:1px solid rgba(245,158,11,.11);border-radius:11px;color:inherit;background:rgba(245,158,11,.025);text-align:left;cursor:pointer}.admin-dispute-row-v58>span{width:32px;height:32px;display:grid;place-items:center;border-radius:9px;color:#fbbf24;background:rgba(245,158,11,.07)}.admin-dispute-row-v58 strong,.admin-dispute-row-v58 small{display:block}.admin-dispute-row-v58 small{margin-top:3px;color:#71849b;font-size:.45rem}.admin-dispute-row-v58>b{color:#fbbf24;font-size:.45rem}
.linked-account-row-v58{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:8px;align-items:center;padding:10px;border:1px solid rgba(148,163,184,.09);border-radius:10px;background:rgba(255,255,255,.02)}.linked-account-row-v58 strong,.linked-account-row-v58 small{display:block}.linked-account-row-v58 small{margin-top:3px;color:#71849b;font-size:.43rem}.linked-account-row-v58>span{padding:5px 7px;border-radius:999px;font-size:.4rem;font-weight:950}.linked-account-row-v58>span.blocked{color:#fca5a5;background:rgba(239,68,68,.06);border:1px solid rgba(239,68,68,.13)}.linked-account-row-v58>span.allowed{color:#86efac;background:rgba(34,197,94,.06);border:1px solid rgba(34,197,94,.13)}.linked-account-row-v58>button{padding:7px 9px;border:1px solid rgba(96,165,250,.13);border-radius:8px;color:#bfdbfe;background:rgba(37,99,235,.045);font-size:.43rem;font-weight:900;cursor:pointer}
.activity-mark-all-v58{margin-top:8px;padding:7px 9px;border:1px solid rgba(96,165,250,.11);border-radius:9px;color:#93c5fd;background:rgba(37,99,235,.04);font-size:.45rem;font-weight:850;cursor:pointer}.activity-v58-unread{border-color:rgba(56,189,248,.20)!important;background:rgba(14,165,233,.045)!important}.activity-v58-read{opacity:.72}.live-persistent-v58{width:100%;border:0;text-align:left;color:inherit}.live-persistent-v58>b{align-self:center;color:#64748b}

body[data-theme="light"] .protection-card-v58,body[data-theme="light"] .profile-protection-v58,body[data-theme="light"] .dispute-state-v58,body[data-theme="light"] .dispute-original-v58,body[data-theme="light"] .dispute-arbiter-chip-v58,body[data-theme="light"] .dispute-proposal-history-v58,body[data-theme="light"] .linked-account-row-v58{background:#f6f9ff!important;color:#17315f}
@media(max-width:680px){.protection-foot-v58{flex-direction:column;gap:3px}.dispute-actions-v58{grid-template-columns:1fr}.dispute-proposal-question-v58{grid-column:auto}.dispute-set-row-v58{grid-template-columns:42px 1fr 14px 1fr}.linked-account-row-v58{grid-template-columns:1fr auto}.linked-account-row-v58>button{grid-column:1/-1}.title-choice-v58{grid-template-columns:42px 1fr!important}.title-choice-v58>button{grid-column:1/-1;width:100%}}
.profile-equipped-title-v58,.public-equipped-title-v58{display:inline-flex;align-items:center;gap:5px;margin:3px 0 4px;padding:4px 7px;border:1px solid rgba(168,85,247,.14);border-radius:999px;color:#d8b4fe;background:rgba(139,92,246,.055);font-size:.45rem}.profile-equipped-title-v58 strong,.public-equipped-title-v58 strong{font-size:.46rem}.profile-equipped-title-v58.hidden{display:none!important}
.admin-review-tags-v58{display:grid;gap:7px;margin-top:12px}.admin-review-tag-row-v58{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:8px;align-items:center;padding:9px 10px;border:1px solid rgba(168,85,247,.10);border-radius:10px;background:rgba(139,92,246,.025)}.admin-review-tag-row-v58 strong,.admin-review-tag-row-v58 small{display:block}.admin-review-tag-row-v58 small{margin-top:3px;color:#71849b;font-size:.43rem}.admin-review-tag-row-v58>span{color:#c4b5fd;font-size:.4rem;font-weight:950}.admin-review-tag-row-v58>button{padding:6px 8px;border:1px solid rgba(239,68,68,.13);border-radius:8px;color:#fca5a5;background:rgba(239,68,68,.045);font-size:.42rem;font-weight:900;cursor:pointer}.admin-review-tag-row-v58.invalid{opacity:.58}.admin-review-tag-row-v58.invalid>span{color:#94a3b8}@media(max-width:680px){.admin-review-tag-row-v58{grid-template-columns:1fr auto}.admin-review-tag-row-v58>button{grid-column:1/-1}}
.protection-rules-v58{margin-top:9px;padding-top:8px;border-top:1px solid rgba(148,163,184,.07)}.protection-rules-v58 summary{color:#7dd3fc;font-size:.45rem;font-weight:850;cursor:pointer}.protection-rules-v58>div{display:grid;grid-template-columns:repeat(5,1fr);gap:5px;margin-top:7px}.protection-rules-v58>div span{padding:6px;border:1px solid rgba(148,163,184,.07);border-radius:7px;color:#71849b;font-size:.39rem;text-align:center}.protection-rules-v58 b{display:block;margin-top:2px;color:#67e8f9;font-size:.48rem}.protection-rules-v58>small{display:block;margin-top:6px;color:#60748b;font-size:.4rem;line-height:1.4}@media(max-width:680px){.protection-rules-v58>div{grid-template-columns:1fr 1fr}.protection-rules-v58>div span:last-child{grid-column:1/-1}}
.post-protection-earned-v58{margin-top:8px;padding:8px 10px;display:flex;justify-content:space-between;gap:10px;border:1px solid rgba(56,189,248,.12);border-radius:9px;background:rgba(14,165,233,.035);font-size:.45rem}.post-protection-earned-v58>span{color:#67e8f9;font-weight:950}.post-protection-earned-v58>small{color:#6f8298}


/* ============================================================
   TT RIVALS V59.0.0 — REDISEÑO + DURACIÓN + ACTUALIZACIÓN PWA
   ============================================================ */

body[data-tt-build="v59.0.0"]{
  background:
    radial-gradient(circle at 10% -5%,rgba(37,99,235,.24),transparent 30%),
    radial-gradient(circle at 92% 18%,rgba(139,92,246,.13),transparent 28%),
    radial-gradient(circle at 80% 92%,rgba(34,197,94,.10),transparent 30%),
    linear-gradient(155deg,#070c18 0%,#0c1425 52%,#0d172a 100%);
}
body[data-tt-build="v59.0.0"] .topbar{
  border-bottom:1px solid rgba(148,163,184,.07);
  background:linear-gradient(to bottom,rgba(7,12,24,.97),rgba(7,12,24,.88),rgba(7,12,24,.54),transparent);
  backdrop-filter:blur(18px) saturate(1.15);
}
body[data-tt-build="v59.0.0"] .content-area{padding-top:12px}
body[data-tt-build="v59.0.0"] .section-card{
  border-color:rgba(148,163,184,.105);
  background:
    linear-gradient(145deg,rgba(255,255,255,.058),rgba(255,255,255,.022)),
    rgba(10,17,31,.62);
  box-shadow:0 18px 52px rgba(0,0,0,.14);
}
body[data-tt-build="v59.0.0"] button{
  transition:transform .16s ease,border-color .16s ease,background .16s ease,box-shadow .16s ease,opacity .16s ease;
}
body[data-tt-build="v59.0.0"] button:active:not(:disabled){transform:translateY(1px) scale(.985)}

/* Inicio: los dos ratings pasan a ser información principal. */
body[data-tt-build="v59.0.0"] .v15-player-hero{
  position:relative;
  overflow:hidden;
  border:1px solid rgba(96,165,250,.15);
  background:
    radial-gradient(circle at 94% 5%,rgba(56,189,248,.13),transparent 31%),
    radial-gradient(circle at 10% 100%,rgba(99,102,241,.10),transparent 32%),
    linear-gradient(145deg,rgba(15,28,49,.95),rgba(8,17,31,.92));
  box-shadow:0 24px 70px rgba(0,0,0,.20),inset 0 1px 0 rgba(255,255,255,.035);
}
body[data-tt-build="v59.0.0"] .v15-player-hero::after{
  content:"";
  position:absolute;
  width:180px;height:180px;
  right:-82px;bottom:-96px;
  border-radius:50%;
  border:1px solid rgba(125,211,252,.08);
  box-shadow:0 0 0 28px rgba(125,211,252,.018),0 0 0 58px rgba(125,211,252,.012);
  pointer-events:none;
}
.v59-rating-duo{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
  margin-top:16px;
}
.v59-rating-card{
  min-width:0;
  width:100%;
  padding:15px 15px 14px;
  color:inherit;
  text-align:left;
  cursor:pointer;
  border:1px solid rgba(148,163,184,.12);
  border-radius:17px;
  background:rgba(3,9,20,.42);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.025);
}
.v59-rating-individual{
  border-color:rgba(56,189,248,.20);
  background:linear-gradient(145deg,rgba(14,165,233,.105),rgba(3,9,20,.42));
}
.v59-rating-doubles{
  border-color:rgba(167,139,250,.20);
  background:linear-gradient(145deg,rgba(124,58,237,.10),rgba(3,9,20,.42));
}
.v59-rating-card-head{display:flex;align-items:center;justify-content:space-between;gap:8px}
.v59-rating-card-head>span{color:#a8c7ea;font-size:.62rem;font-weight:950;letter-spacing:.12em}
.v59-rating-card-head>b{
  padding:4px 7px;border:1px solid rgba(148,163,184,.10);border-radius:999px;
  color:#8092aa;background:rgba(255,255,255,.025);font-size:.51rem;letter-spacing:.08em
}
.v59-rating-card>strong{display:block;margin-top:9px;font-size:clamp(1.9rem,8vw,2.55rem);line-height:.95;letter-spacing:-.045em}
.v59-rating-card>.rank-mini{display:inline-flex;margin-top:7px}
body[data-tt-build="v59.0.0"] .v15-rank-progress{margin-top:14px}
body[data-tt-build="v59.0.0"] .v15-rank-link{position:relative;z-index:1}

/* Protección sigue visible, pero deja de tapar la identidad/rating al entrar. */
body[data-tt-build="v59.0.0"] .protection-card-v58{
  border-color:rgba(34,211,238,.13);
  background:
    radial-gradient(circle at 95% 0%,rgba(34,211,238,.07),transparent 34%),
    linear-gradient(145deg,rgba(8,25,39,.76),rgba(8,17,31,.68));
}

/* Dock de descubrimiento. */
.v59-discovery-dock{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:8px;
  margin-top:12px;
}
.v59-discovery-dock>button{
  min-width:0;
  min-height:76px;
  padding:10px;
  display:grid;
  grid-template-columns:28px minmax(0,1fr);
  gap:7px;
  align-items:center;
  border:1px solid rgba(148,163,184,.10);
  border-radius:15px;
  color:var(--text);
  background:linear-gradient(145deg,rgba(255,255,255,.052),rgba(255,255,255,.018));
  text-align:left;
  cursor:pointer;
}
.v59-discovery-dock>button>span{
  width:28px;height:28px;display:grid;place-items:center;
  border-radius:9px;background:rgba(96,165,250,.08);color:#93c5fd;font-weight:950
}
.v59-discovery-dock strong,.v59-discovery-dock small{display:block;min-width:0}
.v59-discovery-dock strong{font-size:.62rem}
.v59-discovery-dock small{margin-top:2px;color:#71849b;font-size:.46rem}
.v59-objective-only{grid-template-columns:1fr!important}
.v59-objective-only .v15-next-objective{grid-column:1/-1}

/* Tiempo dentro de los partidos activos. */
.v59-match-state-line{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-top:6px}
.v59-match-state-line .challenge-status{margin-top:0}
.match-time-chip-v59{
  display:inline-flex;
  align-items:center;
  min-height:24px;
  padding:4px 8px;
  border:1px solid rgba(56,189,248,.12);
  border-radius:999px;
  color:#8ed8f8;
  background:rgba(14,165,233,.045);
  font-size:.64rem;
  font-weight:850;
  white-space:nowrap;
}
.match-time-chip-v59.live{
  border-color:rgba(34,197,94,.14);
  color:#86efac;
  background:rgba(34,197,94,.045);
  font-variant-numeric:tabular-nums;
}
.match-time-chip-v59.review{
  border-color:rgba(245,158,11,.17);
  color:#fcd34d;
  background:rgba(245,158,11,.05);
}
.history-result-meta-v59{display:flex;align-items:center;gap:7px;flex-wrap:wrap;justify-content:flex-end}
.history-result-meta-v59 em{
  padding:4px 7px;border-radius:999px;
  color:#91d8f7;background:rgba(14,165,233,.05);
  font-size:.48rem;font-style:normal;font-weight:850
}
.match-detail-duration-v59{color:#86efac!important}
.match-detail-gameplay-v59{color:#93c5fd!important}
.post-match-duration-v59{
  margin-top:9px;
  padding:10px 12px;
  display:flex;
  gap:9px;
  align-items:center;
  border:1px solid rgba(56,189,248,.14);
  border-radius:11px;
  background:rgba(14,165,233,.04);
}
.post-match-duration-v59>span{font-size:1rem}
.post-match-duration-v59 strong,.post-match-duration-v59 small{display:block}
.post-match-duration-v59 small{margin-top:2px;color:#7895ad;font-size:.46rem}

/* Estadísticas de duración. */
.v59-duration-stats{overflow:hidden;position:relative}
.v59-duration-stats::after{
  content:"";
  position:absolute;right:-75px;top:-75px;width:170px;height:170px;border-radius:50%;
  background:radial-gradient(circle,rgba(56,189,248,.07),transparent 68%);pointer-events:none
}
.v59-duration-intro{max-width:620px;margin:9px 0 0;color:#7f91a8;font-size:.72rem;line-height:1.5}
.v59-duration-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:8px;
  margin-top:13px;
}
.v59-duration-grid>article{
  padding:12px;
  border:1px solid rgba(148,163,184,.09);
  border-radius:13px;
  background:rgba(255,255,255,.022);
}
.v59-duration-grid span,.v59-duration-grid strong,.v59-duration-grid small{display:block}
.v59-duration-grid span{color:#8193aa;font-size:.48rem;font-weight:850}
.v59-duration-grid strong{margin-top:6px;font-size:1rem}
.v59-duration-grid small{margin-top:3px;color:#61748c;font-size:.42rem}
.v59-format-duration-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:7px;
  margin-top:9px;
}
.v59-format-duration-grid>span{
  display:flex;justify-content:space-between;gap:8px;
  padding:8px 10px;border:1px solid rgba(148,163,184,.075);border-radius:10px;
  background:rgba(0,0,0,.10);font-size:.49rem
}
.v59-format-duration-grid b{color:#71849b}
.v59-format-duration-grid strong{color:#b9ddf0}
.v59-integrity-note{
  margin-top:10px;padding:9px 10px;
  display:flex;gap:8px;align-items:flex-start;
  border-left:2px solid rgba(245,158,11,.42);
  background:rgba(245,158,11,.025)
}
.v59-integrity-note>span{color:#fbbf24}
.v59-integrity-note p{margin:0;color:#71849b;font-size:.47rem;line-height:1.45}
.v59-integrity-note strong{color:#c3cedb}

/* Admin: señales combinadas, sin automatismos punitivos. */
.v59-admin-integrity-list{display:grid;gap:7px;margin-top:12px}
.v59-integrity-row{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:10px;
  align-items:center;
  padding:11px;
  border:1px solid rgba(148,163,184,.09);
  border-left-width:3px;
  border-radius:11px;
  background:rgba(255,255,255,.018);
}
.v59-integrity-row.risk-low{border-left-color:rgba(245,158,11,.55)}
.v59-integrity-row.risk-medium{border-left-color:rgba(249,115,22,.70)}
.v59-integrity-row.risk-high{border-left-color:rgba(239,68,68,.72)}
.v59-integrity-title{display:flex;gap:7px;align-items:center;flex-wrap:wrap}
.v59-integrity-title>span{padding:3px 6px;border-radius:999px;color:#89a3bd;background:rgba(148,163,184,.055);font-size:.41rem;font-weight:900}
.v59-integrity-main>small{display:block;margin-top:4px;color:#71849b;font-size:.44rem}
.v59-integrity-signals{display:flex;gap:5px;flex-wrap:wrap;margin-top:7px}
.v59-integrity-signals span,.v59-integrity-signals b{
  padding:4px 6px;border-radius:999px;font-size:.39rem
}
.v59-integrity-signals span{color:#fcd34d;background:rgba(245,158,11,.045)}
.v59-integrity-signals b{color:#fca5a5;background:rgba(239,68,68,.045)}
.v59-integrity-id{
  padding:7px 9px;border:1px solid rgba(96,165,250,.11);border-radius:8px;
  color:#93c5fd;background:rgba(37,99,235,.035);font-size:.43rem;font-weight:900
}

/* Actualización PWA visible y comprobable. */
.v59-update-panel{
  margin-top:10px;
  padding:11px;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:10px;
  align-items:center;
  border:1px solid rgba(56,189,248,.11);
  border-radius:12px;
  background:rgba(14,165,233,.025);
}
.v59-update-panel span,.v59-update-panel strong,.v59-update-panel small{display:block}
.v59-update-panel span{color:#7dd3fc;font-size:.43rem;font-weight:900;letter-spacing:.08em}
.v59-update-panel strong{margin-top:3px}
.v59-update-panel small{margin-top:3px;color:#71849b;font-size:.44rem;line-height:1.4}
.v59-update-panel small[data-state="ok"]{color:#86efac}
.v59-update-panel small[data-state="error"]{color:#fca5a5}
.v59-update-panel small[data-state="checking"]{color:#93c5fd}
.v59-update-panel>button{
  padding:8px 10px;border:1px solid rgba(96,165,250,.16);border-radius:9px;
  color:#bfdbfe;background:rgba(37,99,235,.055);font-size:.45rem;font-weight:900;cursor:pointer
}

/* Interacción: sólo en dispositivos con hover real. */
@media(hover:hover){
  body[data-tt-build="v59.0.0"] .section-card:hover{border-color:rgba(148,163,184,.15)}
  .v59-discovery-dock>button:hover{
    transform:translateY(-2px);
    border-color:rgba(96,165,250,.20);
    background:linear-gradient(145deg,rgba(96,165,250,.075),rgba(255,255,255,.022));
    box-shadow:0 10px 24px rgba(0,0,0,.13)
  }
  .v59-rating-card:hover{border-color:rgba(125,211,252,.28)}
  .v59-update-panel>button:hover{border-color:rgba(96,165,250,.28);background:rgba(37,99,235,.09)}
}

body[data-theme="light"][data-tt-build="v59.0.0"] .v15-player-hero{
  background:linear-gradient(145deg,#f9fbff,#eef5ff);
  border-color:rgba(37,99,235,.12);
}
body[data-theme="light"][data-tt-build="v59.0.0"] .v59-rating-card,
body[data-theme="light"][data-tt-build="v59.0.0"] .v59-discovery-dock>button,
body[data-theme="light"][data-tt-build="v59.0.0"] .v59-duration-grid>article,
body[data-theme="light"][data-tt-build="v59.0.0"] .v59-integrity-row,
body[data-theme="light"][data-tt-build="v59.0.0"] .v59-update-panel{background:#f7faff;color:#17315f}
body[data-theme="light"][data-tt-build="v59.0.0"] .v59-rating-card-head>span,
body[data-theme="light"][data-tt-build="v59.0.0"] .v59-duration-grid span{color:#46617e}

@media(max-width:680px){
  .v59-discovery-dock{grid-template-columns:repeat(2,minmax(0,1fr))}
  .v59-duration-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .v59-integrity-row{grid-template-columns:1fr}
  .v59-integrity-id{justify-self:start}
}
@media(max-width:420px){
  .v59-rating-duo{grid-template-columns:1fr 1fr;gap:7px}
  .v59-rating-card{padding:12px 10px}
  .v59-rating-card>strong{font-size:1.7rem}
  .v59-rating-card-head>span{font-size:.54rem}
  .v59-rating-card-head>b{font-size:.43rem;padding:3px 5px}
  .v59-format-duration-grid{grid-template-columns:1fr}
}
@media(prefers-reduced-motion:reduce){
  body[data-tt-build="v59.0.0"] button{transition:none!important}
  .v59-discovery-dock>button:hover{transform:none!important}
}

/* ============================================================
   TT RIVALS V60.0.0 — UX, actividad, progreso, admin y móvil
   ============================================================ */

/* Acciones seguras: respuesta táctil + bloqueo visible mientras procesa. */
button[data-v60-busy="1"],button.v60-tap-locked,[aria-busy="true"]{
  cursor:wait!important;opacity:.68!important;transform:none!important;filter:saturate(.75)
}
button[data-v60-busy="1"]::after,[aria-busy="true"]::after{
  content:' ';display:inline-block;width:.72em;height:.72em;margin-left:.45em;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;vertical-align:-.08em;animation:v60-spin .7s linear infinite
}
@keyframes v60-spin{to{transform:rotate(360deg)}}

/* Inicio dinámico */
.v60-home-priority{position:relative;overflow:hidden;padding:16px;border-color:rgba(96,165,250,.18);background:linear-gradient(135deg,rgba(37,99,235,.09),rgba(8,15,28,.92) 52%,rgba(14,165,233,.045))}
.v60-home-priority::before{content:'';position:absolute;inset:0 auto 0 0;width:3px;background:linear-gradient(180deg,#60a5fa,#22d3ee);opacity:.85}
.v60-priority-kicker{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:12px}
.v60-priority-kicker span{font-size:.46rem;font-weight:950;letter-spacing:.13em;color:#93c5fd}.v60-priority-kicker b{font-size:.5rem;color:#8ba0b8}
.v60-priority-main{display:flex;align-items:center;gap:12px}.v60-priority-icon{display:grid;place-items:center;flex:0 0 42px;width:42px;height:42px;border:1px solid rgba(96,165,250,.18);border-radius:14px;background:rgba(37,99,235,.1);font-size:1.05rem;box-shadow:inset 0 0 20px rgba(59,130,246,.05)}
.v60-priority-main div{min-width:0}.v60-priority-main strong,.v60-priority-main small{display:block}.v60-priority-main strong{font-size:.82rem;line-height:1.25}.v60-priority-main small{margin-top:4px;color:#8498af;font-size:.53rem;line-height:1.4}
.v60-priority-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}.v60-priority-actions button{min-height:37px;padding:0 13px;border:1px solid rgba(148,163,184,.13);border-radius:10px;background:rgba(15,23,42,.68);font-weight:850}.v60-priority-actions button.primary{border-color:rgba(96,165,250,.24);background:linear-gradient(135deg,rgba(37,99,235,.84),rgba(14,116,144,.72));color:#fff}

/* Presencia y acceso rápido a desafío */
.v60-presence-text,.v60-public-presence{display:block;margin-top:3px;color:#6f849a;font-size:.43rem;font-style:normal;font-weight:700}.v60-presence-text.is-online,.v60-public-presence.is-online{color:#86efac}.v60-public-presence{width:max-content;margin:5px 0 0;padding:3px 7px;border-radius:999px;background:rgba(148,163,184,.055)}.v60-public-presence.is-online{background:rgba(34,197,94,.07)}
.v60-rank-row{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;align-items:stretch;gap:6px}.v60-rank-profile{display:grid;width:100%;grid-template-columns:48px 42px minmax(0,1fr) auto 62px 16px;gap:8px;align-items:center;padding:0;border:0;background:transparent;text-align:left;color:inherit}.v60-rank-challenge{align-self:center;width:36px;height:36px;padding:0;border-radius:10px;border:1px solid rgba(96,165,250,.15);background:rgba(37,99,235,.06);font-size:.75rem}.v60-rank-challenge:hover{background:rgba(37,99,235,.14)}
.v60-player-row,.v60-nearby-card,.v60-admin-user-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center}.v60-player-main,.v60-nearby-profile,.v60-admin-user-row>button:first-child{display:flex;align-items:center;gap:10px;min-width:0;padding:0;border:0;background:transparent;text-align:left;color:inherit}.v60-player-main>div,.v60-nearby-profile>div,.v60-admin-user-row>button:first-child>div{min-width:0}.v60-player-main strong,.v60-player-main small,.v60-nearby-profile strong,.v60-nearby-profile small,.v60-admin-user-row strong,.v60-admin-user-row small{display:block}.v60-player-challenge,.v60-nearby-challenge,.v60-feed-challenge,.v60-admin-user-row>button:last-child{min-height:34px;border:1px solid rgba(96,165,250,.15);border-radius:9px;background:rgba(37,99,235,.06);font-weight:900}.v60-nearby-challenge,.v60-feed-challenge,.v60-admin-user-row>button:last-child{width:36px;padding:0}

/* Historial avanzado */
.history-advanced-v60{display:grid;grid-template-columns:repeat(5,minmax(105px,1fr)) auto;gap:8px;width:100%;margin-top:7px;padding:10px;border:1px solid rgba(148,163,184,.08);border-radius:12px;background:rgba(9,16,29,.45)}
.history-advanced-v60 label{display:grid;gap:5px}.history-advanced-v60 label>span{font-size:.42rem;font-weight:850;letter-spacing:.07em;color:#7890a9;text-transform:uppercase}.history-advanced-v60 select,.history-advanced-v60 input{width:100%;min-height:36px;border:1px solid rgba(148,163,184,.12);border-radius:9px;background:rgba(15,23,42,.7);padding:0 9px;color:inherit}.history-advanced-v60 button{align-self:end;min-height:36px;border-radius:9px;border:1px solid rgba(148,163,184,.12);background:rgba(148,163,184,.055);font-weight:800}.v60-history-modality{display:inline-flex!important;margin-left:5px;padding:2px 5px;border-radius:999px;background:rgba(56,189,248,.06);color:#7dd3fc;font-size:.4rem;font-weight:850}

/* Centro de actividad */
.v60-activity-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:13px 0}.v60-activity-summary article{padding:10px;border:1px solid rgba(148,163,184,.09);border-radius:11px;background:rgba(15,23,42,.45);text-align:center}.v60-activity-summary span,.v60-activity-summary strong{display:block}.v60-activity-summary span{font-size:.42rem;color:#7f93aa}.v60-activity-summary strong{margin-top:3px;font-size:1rem}.v60-activity-tabs{display:flex;gap:6px;overflow-x:auto;padding-bottom:4px;margin-bottom:10px}.v60-activity-tabs button{white-space:nowrap;padding:7px 10px;border:1px solid rgba(148,163,184,.09);border-radius:999px;background:rgba(15,23,42,.5);font-size:.48rem;font-weight:850}.v60-activity-tabs button.active{border-color:rgba(96,165,250,.23);background:rgba(37,99,235,.13);color:#bfdbfe}.activity-center-item.is-attention{border-color:rgba(251,191,36,.15);background:linear-gradient(90deg,rgba(245,158,11,.05),transparent)}.activity-center-item.is-unread::after{content:'';width:6px;height:6px;border-radius:50%;background:#60a5fa;box-shadow:0 0 10px rgba(96,165,250,.5)}.activity-center-item em{display:block;margin-top:3px;color:#5f748b;font-size:.39rem;font-style:normal}.activity-empty-state{display:grid;place-items:center;gap:5px;padding:26px 12px;text-align:center}.activity-empty-state>span{font-size:1.4rem}.activity-empty-state small{color:#71849a}

/* Logros con progreso */
.achievement-copy-v60{min-width:0}.achievement-progress-label-v60{display:block;margin-top:6px;color:#8fa3b9;font-size:.43rem;font-weight:750}.achievement-progress-track-v60{display:block;width:100%;height:4px;margin-top:5px;overflow:hidden;border-radius:999px;background:rgba(148,163,184,.09)}.achievement-progress-track-v60 i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#3b82f6,#22d3ee)}.achievement-detail-progress-v60{margin:13px 0}.achievement-detail-progress-v60>span{font-size:.48rem;color:#8fa3b9}.achievement-detail-progress-v60>div{height:5px;margin-top:6px;overflow:hidden;border-radius:999px;background:rgba(148,163,184,.09)}.achievement-detail-progress-v60 i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#3b82f6,#22d3ee)}

/* Celebraciones y post-partido */
.v60-reward-toast-host{position:fixed;z-index:10050;top:calc(14px + env(safe-area-inset-top));right:14px;display:grid;gap:8px;width:min(360px,calc(100vw - 28px));pointer-events:none}.v60-reward-toast{display:grid;grid-template-columns:42px minmax(0,1fr);gap:10px;align-items:center;padding:12px;border:1px solid rgba(96,165,250,.2);border-radius:14px;background:rgba(8,14,26,.96);box-shadow:0 18px 50px rgba(0,0,0,.35);opacity:0;transform:translateY(-10px) scale(.98);transition:.25s ease}.v60-reward-toast.show{opacity:1;transform:none}.v60-reward-toast>span{display:grid;place-items:center;width:42px;height:42px;border-radius:12px;background:rgba(59,130,246,.09);font-size:1rem}.v60-reward-toast small,.v60-reward-toast strong,.v60-reward-toast p{display:block}.v60-reward-toast small{font-size:.4rem;letter-spacing:.09em;color:#93c5fd;font-weight:900}.v60-reward-toast strong{margin-top:2px}.v60-reward-toast p{margin:2px 0 0;color:#8094aa;font-size:.48rem}.v60-post-score{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;margin:12px 0;padding:12px;border:1px solid rgba(148,163,184,.09);border-radius:13px;background:rgba(9,16,29,.5);text-align:center}.v60-post-score div{display:grid;gap:3px}.v60-post-score span{font-size:.42rem;color:#7d91a7;font-weight:850;text-transform:uppercase}.v60-post-score strong{font-size:1.55rem;line-height:1}.v60-post-score>b{font-size:1rem;color:#62768c}.v60-post-rewards{margin:12px 0;padding:12px;border:1px solid rgba(168,85,247,.14);border-radius:13px;background:linear-gradient(135deg,rgba(126,34,206,.055),rgba(15,23,42,.5))}.v60-post-rewards-head{display:flex;gap:8px;align-items:center;margin-bottom:8px}.v60-post-rewards-head>span{font-size:1rem}.v60-post-rewards-head small,.v60-post-rewards-head strong{display:block}.v60-post-rewards-head small{font-size:.39rem;letter-spacing:.09em;color:#c4b5fd;font-weight:900}.v60-post-rewards article{display:flex;gap:8px;align-items:center;padding:7px 0;border-top:1px solid rgba(148,163,184,.06)}.v60-post-rewards article>span{width:26px;text-align:center}.v60-post-rewards article strong,.v60-post-rewards article small{display:block}.v60-post-rewards article small{margin-top:2px;color:#8094aa;font-size:.44rem}

/* Administración por áreas */
.v60-admin-hub{display:grid;grid-template-columns:repeat(6,minmax(110px,1fr));gap:8px;margin:0 0 14px}.v60-admin-hub button{display:grid;gap:3px;min-height:78px;padding:10px;border:1px solid rgba(148,163,184,.08);border-radius:12px;background:rgba(13,21,35,.62);text-align:left;color:inherit}.v60-admin-hub button>span{font-size:.9rem}.v60-admin-hub button strong{font-size:.56rem}.v60-admin-hub button small{color:#6f849a;font-size:.41rem}.v60-admin-hub button.active{border-color:rgba(96,165,250,.24);background:linear-gradient(145deg,rgba(37,99,235,.13),rgba(15,23,42,.7));box-shadow:inset 0 0 25px rgba(37,99,235,.04)}.v60-admin-user-results{display:grid;gap:7px;margin-top:10px}.v60-admin-user-row{padding:9px;border:1px solid rgba(148,163,184,.08);border-radius:11px;background:rgba(15,23,42,.42)}.v60-admin-user-avatar{width:34px;height:34px}.v60-diagnostics-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:12px 0}.v60-diagnostics-grid article{padding:10px;border:1px solid rgba(148,163,184,.08);border-radius:11px;background:rgba(15,23,42,.45)}.v60-diagnostics-grid span,.v60-diagnostics-grid strong{display:block}.v60-diagnostics-grid span{font-size:.41rem;color:#73889e}.v60-diagnostics-grid strong{margin-top:4px;font-size:.57rem;overflow-wrap:anywhere}.v60-diagnostics-grid article.ok{border-color:rgba(34,197,94,.13)}.v60-diagnostics-grid article.warn{border-color:rgba(245,158,11,.15)}.v60-diagnostics-grid article.error{border-color:rgba(239,68,68,.16)}.v60-diagnostics-actions{display:flex;gap:7px;flex-wrap:wrap}.v60-diagnostics-actions button{min-height:34px;border:1px solid rgba(148,163,184,.11);border-radius:9px;background:rgba(15,23,42,.6)}.v60-diagnostics-errors{max-height:190px;overflow:auto;margin:10px 0 0;padding:10px;border:1px solid rgba(148,163,184,.07);border-radius:10px;background:#080d17;color:#8296ac;font-size:.43rem;line-height:1.5;white-space:pre-wrap}

/* Adaptación PWA / iPhone / Android */
html,body{min-height:100%;min-height:100dvh}.main-app{min-height:100vh;min-height:100dvh;padding-bottom:calc(82px + env(safe-area-inset-bottom))}.topbar{padding-top:max(var(--topbar-padding-top,0px),env(safe-area-inset-top));padding-left:max(var(--page-gutter,16px),env(safe-area-inset-left));padding-right:max(var(--page-gutter,16px),env(safe-area-inset-right))}.bottom-nav{padding-left:max(6px,env(safe-area-inset-left));padding-right:max(6px,env(safe-area-inset-right));padding-bottom:max(7px,env(safe-area-inset-bottom));height:auto;min-height:calc(62px + env(safe-area-inset-bottom))}.modal{padding-top:max(12px,env(safe-area-inset-top));padding-right:max(12px,env(safe-area-inset-right));padding-bottom:max(12px,env(safe-area-inset-bottom));padding-left:max(12px,env(safe-area-inset-left))}.modal-card{max-height:calc(100vh - 24px);max-height:calc(100dvh - 24px - env(safe-area-inset-top) - env(safe-area-inset-bottom));overflow:auto;overscroll-behavior:contain}.tab-page{scroll-margin-top:calc(70px + env(safe-area-inset-top))}

@media(max-width:900px){
  .history-advanced-v60{grid-template-columns:repeat(2,minmax(0,1fr))}.history-advanced-v60 button{grid-column:1/-1}
  .v60-admin-hub{grid-template-columns:repeat(3,1fr)}.v60-diagnostics-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .v60-rank-profile{grid-template-columns:42px 38px minmax(0,1fr) auto 54px}.v60-rank-profile .ranking-chevron{display:none}
}
@media(max-width:640px){
  input,select,textarea{font-size:16px}
  .v60-priority-actions{display:grid;grid-template-columns:1fr 1fr}.v60-priority-actions button:only-child{grid-column:1/-1}
  .history-advanced-v60{grid-template-columns:1fr 1fr;padding:8px}.history-advanced-v60 label:first-child,.history-advanced-v60 label:nth-child(2),.history-advanced-v60 label:nth-child(5){grid-column:span 2}
  .v60-admin-hub{display:flex;overflow-x:auto;scroll-snap-type:x proximity;padding-bottom:5px}.v60-admin-hub button{flex:0 0 132px;scroll-snap-align:start}
  .v60-diagnostics-grid{grid-template-columns:1fr 1fr}.v60-rank-profile{grid-template-columns:34px 34px minmax(0,1fr) 50px;gap:6px}.v60-rank-profile .ranking-rank-chip{display:none}.v60-rank-profile .ranking-chevron{display:none}.v60-rank-challenge{width:34px;height:34px}
  .v60-activity-summary article{padding:8px 5px}.v60-post-score{padding:10px}.v60-reward-toast-host{top:calc(8px + env(safe-area-inset-top));right:8px;width:calc(100vw - 16px)}
}
@media(max-width:380px){.v60-diagnostics-grid{grid-template-columns:1fr}.v60-priority-main{align-items:flex-start}.v60-priority-icon{flex-basis:36px;width:36px;height:36px}.history-advanced-v60{grid-template-columns:1fr}.history-advanced-v60 label:first-child,.history-advanced-v60 label:nth-child(2),.history-advanced-v60 label:nth-child(5){grid-column:auto}.history-advanced-v60 button{grid-column:auto}}
@media(max-height:520px) and (orientation:landscape){.bottom-nav{position:sticky}.modal-card{max-height:calc(100dvh - 12px)}.v60-home-priority{padding:10px}}
@media(prefers-reduced-motion:reduce){.v60-reward-toast,button[data-v60-busy="1"]::after{animation:none;transition:none}}


/* ============================================================
   TT RIVALS V60.1.0 — MOTION & FEEDBACK
   Movimiento corto, competitivo y centrado en transform/opacity.
   ============================================================ */
:root{
  --v601-fast:140ms;
  --v601-normal:260ms;
  --v601-slow:520ms;
  --v601-ease:cubic-bezier(.22,.8,.24,1);
}

/* Microinteracciones */
.main-app button,.modal button,.panel button{
  transition:transform var(--v601-fast) ease,filter var(--v601-fast) ease,box-shadow var(--v601-normal) ease,border-color var(--v601-normal) ease,background-color var(--v601-normal) ease;
  transform-origin:center;
}
.main-app button:active,.modal button:active,.panel button:active{transform:scale(.97)}
@media(hover:hover){
  .main-app button:not(:disabled):hover,.modal button:not(:disabled):hover,.panel button:not(:disabled):hover{filter:brightness(1.09);transform:translateY(-1px)}
  .v59-rating-card:hover,.section-card:hover{border-color:rgba(125,211,252,.14)}
}
button[aria-busy="true"],button[data-v60-busy="1"]{position:relative;overflow:hidden;cursor:wait}
button[aria-busy="true"]::after,button[data-v60-busy="1"]::after{
  content:"";display:inline-block;width:11px;height:11px;margin-left:8px;vertical-align:-1px;border:2px solid rgba(255,255,255,.3);border-top-color:currentColor;border-radius:50%;animation:v601Spin .65s linear infinite
}
button.v601-action-success{box-shadow:0 0 0 1px rgba(74,222,128,.22),0 8px 25px rgba(34,197,94,.13);filter:brightness(1.08)}
@keyframes v601Spin{to{transform:rotate(360deg)}}

/* Entrada de pestañas y Home */
.tab-page.v601-tab-enter{animation:v601ViewIn .34s var(--v601-ease) both}
@keyframes v601ViewIn{from{opacity:.2;transform:translateY(8px)}to{opacity:1;transform:none}}
#tab-home.v601-tab-enter .v15-player-hero{animation:v601CardIn .36s var(--v601-ease) .02s both}
#tab-home.v601-tab-enter .v15-dashboard-stats{animation:v601CardIn .36s var(--v601-ease) .08s both}
#tab-home.v601-tab-enter #homeProtectionV58{animation:v601CardIn .36s var(--v601-ease) .12s both}
#tab-home.v601-tab-enter #homeSeasonStrip{animation:v601CardIn .36s var(--v601-ease) .16s both}
#tab-home.v601-tab-enter #homePriorityV60{animation:v601CardIn .36s var(--v601-ease) .20s both}
#tab-home.v601-tab-enter .v59-discovery-dock{animation:v601CardIn .36s var(--v601-ease) .24s both}
@keyframes v601CardIn{from{opacity:0;transform:translateY(9px) scale(.992)}to{opacity:1;transform:none}}

/* Elo y progreso */
.v59-rating-card{position:relative;overflow:hidden;isolation:isolate}
.v59-rating-card::after{content:"";position:absolute;inset:-55% auto -55% -55%;width:38%;transform:rotate(18deg) translateX(-180%);background:linear-gradient(90deg,transparent,rgba(255,255,255,.07),transparent);pointer-events:none;transition:transform .55s var(--v601-ease)}
@media(hover:hover){.v59-rating-card:hover::after{transform:rotate(18deg) translateX(520%)}}
.v59-rating-card strong{transition:color .28s ease,text-shadow .28s ease}
.v59-rating-card strong.v601-number-up{color:#86efac;text-shadow:0 0 18px rgba(34,197,94,.25)}
.v59-rating-card strong.v601-number-down{color:#fca5a5;text-shadow:0 0 18px rgba(239,68,68,.20)}
.v15-progress-track span,.season-time-track span,.protection-track-v58 span,.profile-protection-track-v58 span,.v28-xp-track span,.v28-mission-track i,.achievement-progress-track-v60 i,.achievement-detail-progress-v60 i{
  transform-origin:left center;transition:width .72s var(--v601-ease),filter .35s ease;will-change:width
}
.v601-progress-pulse{animation:v601ProgressPulse .78s var(--v601-ease)}
@keyframes v601ProgressPulse{0%{transform:scaleX(.86);filter:brightness(1.5)}100%{transform:scaleX(1);filter:none}}
.v28-mission-track i,.achievement-progress-track-v60 i{animation:v601GrowTrack .62s var(--v601-ease) both}
@keyframes v601GrowTrack{from{transform:scaleX(0)}to{transform:scaleX(1)}}

/* Inicio dinámico */
.v60-home-priority.v601-priority-change{animation:v601PriorityShell .62s var(--v601-ease)}
.v60-home-priority .v60-priority-kicker{animation:v601PriorityPart .30s var(--v601-ease) both}
.v60-home-priority .v60-priority-main{animation:v601PriorityPart .34s var(--v601-ease) .06s both}
.v60-home-priority .v60-priority-actions{animation:v601PriorityPart .34s var(--v601-ease) .12s both}
.v60-home-priority.v601-priority-change .v60-priority-icon{animation:v601PriorityIcon .75s var(--v601-ease)}
@keyframes v601PriorityShell{0%{box-shadow:0 0 0 rgba(56,189,248,0)}40%{box-shadow:0 0 0 1px rgba(56,189,248,.22),0 14px 42px rgba(37,99,235,.12)}100%{box-shadow:inherit}}
@keyframes v601PriorityPart{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:none}}
@keyframes v601PriorityIcon{0%{transform:scale(.8) rotate(-8deg)}45%{transform:scale(1.12) rotate(4deg)}100%{transform:none}}

/* Navegación inferior */
.nav-item{position:relative;transition:color .22s ease,background-color .22s ease,transform .18s ease}
.nav-item::after{content:"";position:absolute;left:50%;bottom:3px;width:16px;height:2px;border-radius:999px;background:#60a5fa;opacity:0;transform:translateX(-50%) scaleX(.2);transition:opacity .2s ease,transform .28s var(--v601-ease)}
.nav-item.active::after{opacity:1;transform:translateX(-50%) scaleX(1)}
.nav-item.active>span{animation:v601NavPop .28s var(--v601-ease)}
@keyframes v601NavPop{0%{transform:translateY(2px) scale(.86)}70%{transform:translateY(-2px) scale(1.08)}100%{transform:none}}

/* Estado online */
.online-dot-v35,.tt-avatar-online-v44:not(.hidden){animation:v601OnlinePulse 2.4s ease-in-out infinite}
@keyframes v601OnlinePulse{0%,100%{box-shadow:0 0 0 0 rgba(34,197,94,.15)}50%{box-shadow:0 0 0 5px rgba(34,197,94,0),0 0 9px rgba(34,197,94,.3)}}

/* Listas: ranking, actividad, historial, perfiles */
.v601-list-reveal{animation:v601ListIn .34s var(--v601-ease) var(--v601-delay,0ms) both}
@keyframes v601ListIn{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
.activity-center-item.is-unread{animation:v601UnreadGlow 2.6s ease-out 1}
@keyframes v601UnreadGlow{0%{box-shadow:inset 0 0 0 1px rgba(96,165,250,.25),0 0 24px rgba(37,99,235,.10)}100%{box-shadow:none}}
.v60-rank-row{position:relative}
.v60-rank-row.v601-rank-up{animation:v601RankUp 1s var(--v601-ease)}
.v60-rank-row.v601-rank-down{animation:v601RankDown 1s var(--v601-ease)}
.v601-rank-movement{position:absolute;z-index:5;right:10px;top:-8px;padding:4px 8px;border-radius:999px;background:#12351f;color:#86efac;border:1px solid rgba(74,222,128,.2);font-size:.43rem;font-weight:950;box-shadow:0 8px 20px rgba(0,0,0,.2);animation:v601RankBadge .32s var(--v601-ease)}
.v601-rank-down .v601-rank-movement{background:#35171b;color:#fca5a5;border-color:rgba(248,113,113,.2)}
.v601-rank-movement.is-leaving{opacity:0;transform:translateY(-5px);transition:.25s ease}
@keyframes v601RankUp{0%{transform:translateY(9px);background:rgba(34,197,94,.11)}100%{transform:none}}
@keyframes v601RankDown{0%{transform:translateY(-6px);background:rgba(239,68,68,.08)}100%{transform:none}}
@keyframes v601RankBadge{from{opacity:0;transform:translateY(5px) scale(.9)}to{opacity:1;transform:none}}

/* Misiones y rachas */
.v28-mission.complete{animation:v601MissionDone .65s var(--v601-ease)}
.metric-streak .v15-metric-icon{animation:v601Streak 2.1s ease-in-out infinite;transform-origin:50% 80%}
@keyframes v601MissionDone{0%{box-shadow:0 0 0 rgba(34,197,94,0)}45%{box-shadow:0 0 0 1px rgba(74,222,128,.18),0 0 24px rgba(34,197,94,.09)}100%{box-shadow:none}}
@keyframes v601Streak{0%,100%{transform:scale(1)}50%{transform:scale(1.07) rotate(-2deg)}}

/* Protección */
.protection-card-v58.v601-shield-earned,.profile-protection-card-v58.v601-shield-earned{animation:v601ShieldEarned 1.55s var(--v601-ease)}
@keyframes v601ShieldEarned{0%{transform:scale(.985)}28%{transform:scale(1.012);box-shadow:0 0 0 1px rgba(96,165,250,.28),0 0 42px rgba(59,130,246,.18)}100%{transform:none}}

/* Modales */
.modal:not(.hidden){animation:v601ModalBackdrop .22s ease both}
.modal:not(.hidden)>.modal-card{animation:v601ModalCard .30s var(--v601-ease) both;transform-origin:center}
@keyframes v601ModalBackdrop{from{opacity:0}to{opacity:1}}
@keyframes v601ModalCard{from{opacity:0;transform:translateY(8px) scale(.965)}to{opacity:1;transform:none}}
#playerProfileModal:not(.hidden)>.modal-card{animation-name:v601ProfilePanel}
@keyframes v601ProfilePanel{from{opacity:0;transform:translateX(14px) scale(.985)}to{opacity:1;transform:none}}
#matchModal:not(.hidden) .v28-score-row{animation:v601ScoreRow .28s var(--v601-ease) both}
#matchModal:not(.hidden) .v28-score-row:nth-child(2){animation-delay:.04s}#matchModal:not(.hidden) .v28-score-row:nth-child(3){animation-delay:.08s}#matchModal:not(.hidden) .v28-score-row:nth-child(4){animation-delay:.12s}#matchModal:not(.hidden) .v28-score-row:nth-child(5){animation-delay:.16s}
@keyframes v601ScoreRow{from{opacity:0;transform:translateX(-6px)}to{opacity:1;transform:none}}

/* Post partido: el momento de recompensa principal */
#postMatchModal.v601-post-motion .post-match-result{animation:v601PostHero .44s var(--v601-ease) both}
#postMatchModal.v601-post-motion .v60-post-score{animation:v601PostPart .36s var(--v601-ease) .13s both}
#postMatchModal.v601-post-motion .post-match-progress-grid{animation:v601PostPart .36s var(--v601-ease) .22s both}
#postMatchModal.v601-post-motion .post-new-record,#postMatchModal.v601-post-motion .post-protection-used-v58,#postMatchModal.v601-post-motion .post-protection-earned-v58,#postMatchModal.v601-post-motion .post-protection-progress-v58,#postMatchModal.v601-post-motion .post-match-duration-v59{animation:v601PostPart .36s var(--v601-ease) .30s both}
#postMatchModal.v601-post-motion .v60-post-rewards{animation:v601RewardPart .46s var(--v601-ease) .40s both}
#postMatchModal.v601-post-motion .v28-post-coach{animation:v601PostPart .36s var(--v601-ease) .48s both}
#postMatchModal.v601-post-motion .post-match-actions{animation:v601PostPart .36s var(--v601-ease) .55s both}
#postMatchModal.v601-post-victory .post-match-result{box-shadow:0 0 36px rgba(34,197,94,.10)}
#postMatchModal.v601-post-positive .post-match-result h2{animation:v601EloGain .75s var(--v601-ease) .22s both}
#postMatchModal.v601-post-protected .post-protection-used-v58{animation:v601ShieldBlock .9s var(--v601-ease) .32s both}
@keyframes v601PostHero{from{opacity:0;transform:scale(.92)}70%{transform:scale(1.025)}to{opacity:1;transform:none}}
@keyframes v601PostPart{from{opacity:0;transform:translateY(9px)}to{opacity:1;transform:none}}
@keyframes v601RewardPart{from{opacity:0;transform:translateY(8px) scale(.97);filter:brightness(1.4)}to{opacity:1;transform:none;filter:none}}
@keyframes v601EloGain{from{opacity:0;transform:translateY(12px) scale(.86)}60%{transform:translateY(-3px) scale(1.08)}to{opacity:1;transform:none}}
@keyframes v601ShieldBlock{0%{opacity:.4;transform:scale(.9)}45%{opacity:1;transform:scale(1.03);box-shadow:0 0 34px rgba(96,165,250,.18)}100%{transform:none}}
.v601-confetti{position:absolute;z-index:20;left:50%;top:105px;width:1px;height:1px;pointer-events:none;overflow:visible}
.v601-confetti i{position:absolute;width:7px;height:3px;border-radius:2px;background:#67e8f9;opacity:0;transform:scale(var(--v601-s,1));animation:v601Confetti 1.25s cubic-bezier(.16,.7,.2,1) var(--v601-d,0ms) forwards}
.v601-confetti i:nth-child(3n+2){background:#fbbf24}.v601-confetti i:nth-child(3n){background:#86efac}
@keyframes v601Confetti{0%{opacity:0;transform:translate(0,0) rotate(0) scale(var(--v601-s,1))}12%{opacity:1}100%{opacity:0;transform:translate(var(--v601-x),var(--v601-y)) rotate(var(--v601-r)) scale(var(--v601-s,1))}}

/* Desbloqueos */
.v601-reward-celebration{position:fixed;inset:0;z-index:12000;display:grid;place-items:center;padding:22px;opacity:0;pointer-events:none;transition:opacity .24s ease}
.v601-reward-celebration.show{opacity:1}
.v601-reward-backdrop{position:absolute;inset:0;background:radial-gradient(circle at center,rgba(37,99,235,.12),rgba(3,7,18,.54) 45%,rgba(3,7,18,.7));backdrop-filter:blur(3px)}
.v601-reward-celebration article{position:relative;width:min(360px,92vw);padding:26px 22px;border:1px solid rgba(125,211,252,.23);border-radius:22px;background:linear-gradient(145deg,rgba(17,32,56,.98),rgba(8,16,30,.98));box-shadow:0 28px 90px rgba(0,0,0,.46),0 0 55px rgba(37,99,235,.13);text-align:center;transform:translateY(12px) scale(.88);transition:transform .42s var(--v601-ease)}
.v601-reward-celebration.show article{transform:none}
.v601-reward-celebration article>span{display:grid;place-items:center;width:64px;height:64px;margin:0 auto 12px;border-radius:20px;background:rgba(59,130,246,.11);font-size:1.75rem;animation:v601RewardIcon .7s var(--v601-ease) .14s both}
.v601-reward-celebration article small,.v601-reward-celebration article strong,.v601-reward-celebration article p{display:block}
.v601-reward-celebration article small{color:#93c5fd;font-size:.48rem;font-weight:950;letter-spacing:.14em}
.v601-reward-celebration article strong{margin-top:7px;font-size:1.18rem}.v601-reward-celebration article p{margin:7px 0 0;color:#8ea3ba;font-size:.68rem;line-height:1.45}
.v601-reward-celebration.reward-title article{border-color:rgba(196,181,253,.25);box-shadow:0 28px 90px rgba(0,0,0,.46),0 0 58px rgba(139,92,246,.14)}
@keyframes v601RewardIcon{0%{opacity:0;transform:scale(.45) rotate(-12deg)}65%{transform:scale(1.14) rotate(3deg)}100%{opacity:1;transform:none}}

/* Carga: skeleton discreto */
.loading-row{position:relative;overflow:hidden;border-radius:12px;background:linear-gradient(90deg,rgba(148,163,184,.025),rgba(148,163,184,.065),rgba(148,163,184,.025));background-size:220% 100%;animation:v601LoadingShimmer 1.35s ease-in-out infinite}
@keyframes v601LoadingShimmer{0%{background-position:180% 0}100%{background-position:-40% 0}}

/* Splash: entrada corta, nunca prolonga la carga */
.tt-loader-v572{animation:v601BootArrive .52s var(--v601-ease) both}
.tt-boot-copy-v572{animation:v601BootCopy .42s var(--v601-ease) .12s both}
@keyframes v601BootArrive{from{opacity:0;transform:scale(.82)}to{opacity:1;transform:none}}
@keyframes v601BootCopy{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}

/* Admin: movimiento deliberadamente sobrio */
#tab-admin.v601-tab-enter .v60-admin-hub,#tab-admin.v601-tab-enter .admin-panel-v60{animation:v601AdminIn .28s ease both}
@keyframes v601AdminIn{from{opacity:.35;transform:translateY(4px)}to{opacity:1;transform:none}}

@media(max-width:640px){
  .tab-page.v601-tab-enter{animation-duration:.27s}
  #tab-home.v601-tab-enter .v15-player-hero,#tab-home.v601-tab-enter .v15-dashboard-stats,#tab-home.v601-tab-enter #homeProtectionV58,#tab-home.v601-tab-enter #homeSeasonStrip,#tab-home.v601-tab-enter #homePriorityV60,#tab-home.v601-tab-enter .v59-discovery-dock{animation-duration:.30s}
  .v601-confetti{top:90px}
}

@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto!important}
  .v601-motion-ready *, .v601-motion-ready *::before, .v601-motion-ready *::after{
    animation-duration:.001ms!important;animation-iteration-count:1!important;animation-delay:0ms!important;transition-duration:.001ms!important;scroll-behavior:auto!important
  }
}


/* ============================================================
   TT RIVALS V60.1.1 — CORRECCIONES VISUALES
   - Avatares controlados en búsqueda/Admin
   - Ranking con acción Desafiar reservada a la derecha
   ============================================================ */
.v60-search-avatar,
.v60-admin-user-avatar{
  width:42px!important;
  height:42px!important;
  min-width:42px!important;
  flex:0 0 42px!important;
  display:grid!important;
  place-items:center!important;
  overflow:hidden!important;
  border-radius:50%!important;
  border:1px solid rgba(148,163,184,.18)!important;
  background:rgba(59,130,246,.12)!important;
  font-size:.68rem!important;
  font-weight:950!important;
  line-height:1!important;
}
.v60-search-avatar img,
.v60-admin-user-avatar img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  max-width:100%!important;
  max-height:100%!important;
  object-fit:cover!important;
  object-position:center!important;
}
.v60-player-row{grid-template-columns:minmax(0,1fr) auto!important;gap:10px!important;min-width:0}
.v60-player-main{min-width:0!important;overflow:hidden}
.v60-player-main>div{min-width:0!important}
.v60-player-main strong,.v60-player-main small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.v60-player-challenge{min-width:88px;padding:0 12px!important;white-space:nowrap}

.v60-rank-row{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 88px!important;
  align-items:center!important;
  gap:10px!important;
  min-width:0!important;
  overflow:visible!important;
}
.v60-rank-row.is-me{grid-template-columns:minmax(0,1fr)!important}
.v60-rank-profile{
  display:grid!important;
  width:100%!important;
  min-width:0!important;
  grid-template-columns:44px 44px minmax(0,1fr) 64px!important;
  gap:10px!important;
  align-items:center!important;
  padding:0!important;
  overflow:hidden!important;
}
.v60-rank-profile .ranking-avatar-online-v35{width:44px;height:44px;min-width:44px}
.v60-rank-profile .ranking-avatar{width:44px!important;height:44px!important}
.v60-rank-profile .rank-name{min-width:0!important;overflow:hidden}
.v60-rank-profile .rank-name>strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.v6011-rank-meta{display:flex;align-items:center;gap:6px;min-width:0;margin-top:2px}
.v6011-rank-meta>small{min-width:0;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin:0!important}
.v6011-rank-meta .ranking-rank-chip{
  flex:0 0 auto!important;
  justify-self:auto!important;
  padding:4px 7px!important;
  font-size:.5rem!important;
  line-height:1!important;
}
.v60-rank-profile .v60-presence-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.v60-rank-profile .rank-rating{min-width:0;text-align:right!important}
.v60-rank-profile .rank-rating strong{font-size:1rem!important;white-space:nowrap}
.v60-rank-profile .rank-rating small{font-size:.48rem!important}
.v60-rank-profile .ranking-chevron{display:none!important}
.v60-rank-challenge{
  position:static!important;
  justify-self:stretch!important;
  align-self:center!important;
  width:88px!important;
  height:38px!important;
  min-height:38px!important;
  padding:0 9px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:5px!important;
  border-radius:11px!important;
  border:1px solid rgba(96,165,250,.22)!important;
  background:linear-gradient(135deg,rgba(37,99,235,.16),rgba(14,116,144,.09))!important;
  color:#dbeafe!important;
  font-size:.58rem!important;
  font-weight:900!important;
  white-space:nowrap!important;
  z-index:1!important;
}
.v60-rank-challenge b{font:inherit;font-weight:900}
.v60-rank-challenge:hover{background:linear-gradient(135deg,rgba(37,99,235,.27),rgba(14,116,144,.15))!important}

@media(max-width:640px){
  .v60-rank-row{grid-template-columns:minmax(0,1fr) 76px!important;gap:7px!important;padding:10px!important}
  .v60-rank-row.is-me{grid-template-columns:minmax(0,1fr)!important}
  .v60-rank-profile{grid-template-columns:34px 38px minmax(0,1fr) 52px!important;gap:7px!important}
  .v60-rank-profile .ranking-avatar-online-v35{width:38px;height:38px;min-width:38px}
  .v60-rank-profile .ranking-avatar{width:38px!important;height:38px!important}
  .v60-rank-profile .rank-pos strong{font-size:.92rem!important}
  .v6011-rank-meta{gap:4px}
  .v6011-rank-meta .ranking-rank-chip{display:inline-flex!important;padding:3px 5px!important;font-size:.46rem!important}
  .v60-rank-profile .v60-presence-text{font-size:.42rem!important}
  .v60-rank-challenge{width:76px!important;height:36px!important;min-height:36px!important;padding:0 6px!important;font-size:.53rem!important}
}
@media(max-width:460px){
  .v60-rank-row{grid-template-columns:minmax(0,1fr) 42px!important;gap:6px!important}
  .v60-rank-row.is-me{grid-template-columns:minmax(0,1fr)!important}
  .v60-rank-profile{grid-template-columns:31px 36px minmax(0,1fr) 47px!important;gap:6px!important}
  .v60-rank-profile .ranking-avatar-online-v35{width:36px;height:36px;min-width:36px}
  .v60-rank-profile .ranking-avatar{width:36px!important;height:36px!important}
  .v6011-rank-meta .ranking-rank-chip{font-size:.42rem!important;padding:3px 4px!important}
  .v60-rank-challenge{width:40px!important;height:36px!important;padding:0!important;font-size:.7rem!important}
  .v60-rank-challenge b{display:none!important}
  .v60-player-challenge{min-width:78px;padding:0 9px!important;font-size:.58rem!important}
}
@media(max-width:360px){
  .v6011-rank-meta .ranking-rank-chip{display:none!important}
  .v60-rank-profile{grid-template-columns:29px 34px minmax(0,1fr) 44px!important;gap:5px!important}
  .v60-rank-profile .ranking-avatar-online-v35{width:34px;height:34px;min-width:34px}
  .v60-rank-profile .ranking-avatar{width:34px!important;height:34px!important}
}


/* ============================================================
   TT RIVALS V61 — INTELLIGENCE LAB
   Entrenamiento IA + Video Lab + Diario deportivo
   ============================================================ */
.ai-assistant-hero-v61{grid-template-columns:96px minmax(0,1fr) auto!important;align-items:center}
.ai-engine-state-v61{display:flex;align-items:center;gap:9px;padding:10px 12px;border:1px solid rgba(148,163,184,.16);border-radius:13px;background:rgba(5,13,25,.38);position:relative;z-index:2;min-width:132px}
.ai-engine-state-v61>span{width:9px;height:9px;border-radius:50%;background:#64748b;box-shadow:0 0 0 4px rgba(100,116,139,.12)}
.ai-engine-state-v61>span.is-online{background:#35d399;box-shadow:0 0 0 4px rgba(53,211,153,.12),0 0 18px rgba(53,211,153,.35)}
.ai-engine-state-v61>span.is-offline{background:#f59e0b;box-shadow:0 0 0 4px rgba(245,158,11,.11)}
.ai-engine-state-v61 small,.ai-engine-state-v61 strong{display:block}
.ai-engine-state-v61 small{font-size:.38rem;letter-spacing:.12em;color:#70839d}
.ai-engine-state-v61 strong{font-size:.55rem;margin-top:2px}
.ai-feature-grid-v61 button.ai-feature-card{width:100%;text-align:left;color:inherit;font:inherit;cursor:pointer;border-color:rgba(77,161,255,.20)}
.ai-feature-live-v61{overflow:hidden;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease!important}
.ai-feature-live-v61:hover{transform:translateY(-2px);border-color:rgba(86,211,255,.42)!important;box-shadow:0 12px 32px rgba(0,0,0,.16)}
.ai-feature-live-v61>b{background:rgba(20,184,166,.10)!important;color:#67e8f9!important;border:1px solid rgba(34,211,238,.12)}
.ai-workspace-v61{margin-top:14px}
.ai-workspace-head-v61{display:flex;align-items:center;gap:14px;margin:4px 0 10px}
.ai-workspace-head-v61>button{border:1px solid rgba(148,163,184,.18);background:rgba(15,28,45,.78);color:#cbd5e1;border-radius:11px;padding:9px 11px;font-weight:800}
.ai-workspace-head-v61 p,.ai-workspace-head-v61 h3{margin:0}
.ai-workspace-head-v61 h3{margin-top:2px;font-size:1rem}
.ai-tool-panel-v61{padding:18px!important}
.ai-tool-intro-v61{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:18px}
.ai-tool-intro-v61>div{display:flex;gap:12px;align-items:center}
.ai-tool-intro-v61>div>span{width:44px;height:44px;border-radius:14px;display:grid;place-items:center;background:linear-gradient(145deg,rgba(30,93,180,.25),rgba(20,184,166,.12));border:1px solid rgba(96,165,250,.18);font-size:1.1rem}
.ai-tool-intro-v61 h3,.ai-tool-intro-v61 p{margin:0}.ai-tool-intro-v61 h3{margin:2px 0 3px}.ai-tool-intro-v61 small{color:#8ea2bd}
.ai-private-chip-v61{white-space:nowrap;padding:6px 8px;border:1px solid rgba(52,211,153,.15);background:rgba(16,185,129,.07);color:#86efac;border-radius:999px;font-size:.42rem;font-weight:800;letter-spacing:.06em}
.ai-form-grid-v61{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.ai-form-grid-v61 label,.ai-wide-field-v61{display:flex;flex-direction:column;gap:6px}
.ai-form-grid-v61 label>span,.ai-wide-field-v61>span,.ai-equipment-v61 legend{font-size:.49rem;font-weight:800;color:#91a4be;letter-spacing:.04em}
.ai-form-grid-v61 select,.ai-form-grid-v61 input,.ai-wide-field-v61 input,.ai-wide-field-v61 textarea{width:100%;border:1px solid rgba(148,163,184,.18);background:rgba(7,17,32,.72);color:#e9f2ff;border-radius:12px;padding:11px 12px;outline:none}
.ai-wide-field-v61{margin-top:11px}.ai-wide-field-v61 textarea{resize:vertical;min-height:92px;line-height:1.45}
.ai-equipment-v61{border:0;margin:13px 0 2px;padding:0;display:flex;gap:7px;flex-wrap:wrap}
.ai-equipment-v61 legend{width:100%;margin-bottom:3px}
.ai-equipment-v61 label{display:flex;align-items:center;gap:6px;padding:7px 9px;border:1px solid rgba(148,163,184,.15);border-radius:999px;background:rgba(15,29,48,.58);font-size:.49rem}
.ai-equipment-v61 input{accent-color:#38bdf8}
.ai-action-row-v61{margin-top:14px;display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.ai-action-row-v61 button{min-height:42px;padding:9px 14px;border-radius:12px;font-weight:900}
.ai-action-row-v61 small{color:#8093ad;max-width:540px;line-height:1.4}
.ai-spinner-v61{display:inline-block;width:13px;height:13px;border:2px solid rgba(255,255,255,.28);border-top-color:#fff;border-radius:50%;animation:aiSpinV61 .7s linear infinite;margin-right:7px;vertical-align:-2px}
@keyframes aiSpinV61{to{transform:rotate(360deg)}}
.ai-result-v61{margin-top:16px;border-top:1px solid rgba(148,163,184,.12);padding-top:16px}
.ai-result-head-v61{display:flex;justify-content:space-between;gap:15px;align-items:flex-start;padding:14px;border:1px solid rgba(56,189,248,.16);border-radius:15px;background:linear-gradient(135deg,rgba(9,49,82,.36),rgba(30,41,72,.20))}
.ai-result-head-v61 p,.ai-result-head-v61 h3{margin:0}.ai-result-head-v61 h3{margin:4px 0 5px}.ai-result-head-v61 p:last-child{color:#9fb0c6;line-height:1.45;font-size:.55rem}
.ai-result-head-v61>span{white-space:nowrap;border:1px solid rgba(103,232,249,.18);border-radius:999px;padding:6px 9px;color:#67e8f9;font-size:.48rem;font-weight:900}
.ai-plan-blocks-v61{display:grid;gap:8px;margin-top:10px}
.ai-plan-blocks-v61 article{display:grid;grid-template-columns:52px minmax(0,1fr) 36px;gap:11px;align-items:start;padding:12px;border:1px solid rgba(148,163,184,.13);background:rgba(12,24,41,.62);border-radius:14px}
.ai-plan-time-v61{height:50px;border-radius:12px;display:grid;place-content:center;text-align:center;background:rgba(59,130,246,.10);border:1px solid rgba(96,165,250,.15)}
.ai-plan-time-v61 strong{font-size:.9rem}.ai-plan-time-v61 small{font-size:.32rem;color:#7dd3fc}
.ai-plan-blocks-v61 article>div:nth-child(2)>span{font-size:.36rem;color:#6f85a2;font-weight:900;letter-spacing:.09em}
.ai-plan-blocks-v61 h4{margin:3px 0 4px;font-size:.66rem}.ai-plan-blocks-v61 p{margin:0;color:#8fa1b8;font-size:.51rem;line-height:1.4}
.ai-exercise-v61{display:block;margin-top:7px;font-size:.52rem;line-height:1.45;color:#d9e7f7}
.ai-plan-blocks-v61 ul{margin:6px 0 0;padding-left:16px;color:#8195af;font-size:.47rem;line-height:1.5}
.ai-plan-blocks-v61 article>button{width:34px;height:34px;border-radius:10px;border:1px solid rgba(148,163,184,.14);background:rgba(15,30,50,.72)}
.ai-result-columns-v61{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:10px}
.ai-result-columns-v61>div{padding:12px;border-radius:13px;border:1px solid rgba(148,163,184,.12);background:rgba(12,23,39,.48)}
.ai-result-columns-v61 span,.ai-video-strengths-v61>span{display:block;font-size:.38rem;font-weight:900;letter-spacing:.09em;color:#7190b6;margin-bottom:6px}
.ai-result-columns-v61 small,.ai-video-strengths-v61 small{display:block;font-size:.49rem;line-height:1.5;color:#9aacc2;margin-top:3px}
.ai-result-actions-v61{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.ai-result-actions-v61 button{padding:9px 12px;border-radius:11px;font-weight:850}
.ai-video-file-label-v61 input{padding:8px!important}
.ai-video-drop-v61{margin-top:12px;border:1px dashed rgba(96,165,250,.30);border-radius:16px;min-height:128px;display:grid;place-items:center;align-content:center;gap:4px;text-align:center;background:linear-gradient(145deg,rgba(30,64,175,.06),rgba(6,182,212,.04));cursor:pointer}
.ai-video-drop-v61>span{font-size:1.35rem;color:#67e8f9}.ai-video-drop-v61 strong{font-size:.65rem}.ai-video-drop-v61 small{font-size:.46rem;color:#788da8}
.ai-video-preview-shell-v61{margin-top:12px;border:1px solid rgba(148,163,184,.14);border-radius:15px;overflow:hidden;background:#030812}
.ai-video-preview-shell-v61 video{display:block;width:100%;max-height:430px;background:#000}
.ai-video-meta-v61{display:flex;gap:7px;flex-wrap:wrap;padding:9px}.ai-video-meta-v61 span{padding:5px 7px;border-radius:999px;background:rgba(148,163,184,.08);font-size:.43rem;color:#96a8bf}
.ai-privacy-note-v61{display:flex;gap:10px;margin-top:10px;padding:10px 12px;border:1px solid rgba(45,212,191,.12);border-radius:13px;background:rgba(13,148,136,.05)}
.ai-privacy-note-v61>span{color:#5eead4}.ai-privacy-note-v61 strong,.ai-privacy-note-v61 small{display:block}.ai-privacy-note-v61 strong{font-size:.52rem}.ai-privacy-note-v61 small{font-size:.46rem;color:#7e99aa;line-height:1.45;margin-top:2px}
.ai-video-frames-v61{margin-top:14px}.ai-frames-head-v61{display:flex;justify-content:space-between;gap:8px;margin-bottom:7px}.ai-frames-head-v61 span{font-size:.38rem;font-weight:900;color:#7990ad}.ai-frames-head-v61 small{font-size:.4rem;color:#61748d}
.ai-video-frames-v61>div:last-child{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}
.ai-video-frames-v61 figure{margin:0;border-radius:10px;overflow:hidden;border:1px solid rgba(148,163,184,.12);background:#07101e;position:relative}
.ai-video-frames-v61 img{display:block;width:100%;aspect-ratio:16/10;object-fit:cover}
.ai-video-frames-v61 figcaption{position:absolute;bottom:5px;right:5px;padding:3px 5px;border-radius:6px;background:rgba(0,0,0,.72);font-size:.38rem}
.ai-video-strengths-v61{margin-top:10px;padding:11px;border-radius:13px;background:rgba(16,185,129,.05);border:1px solid rgba(52,211,153,.11)}
.ai-video-observations-v61{display:grid;gap:8px;margin-top:10px}.ai-video-observations-v61 article{display:grid;grid-template-columns:34px minmax(0,1fr);gap:10px;padding:11px;border:1px solid rgba(148,163,184,.12);border-radius:13px;background:rgba(11,23,39,.56)}
.ai-video-observations-v61 article>span{width:32px;height:32px;display:grid;place-items:center;border-radius:9px;background:rgba(59,130,246,.09);color:#7dd3fc;font-size:.5rem;font-weight:900}
.ai-video-observations-v61 h4{margin:0 0 4px;font-size:.62rem}.ai-video-observations-v61 p{margin:0 0 6px;font-size:.5rem;line-height:1.45;color:#9aacc2}.ai-video-observations-v61 small{display:block;margin-top:3px;font-size:.46rem;line-height:1.45;color:#8295ad}
.ai-journal-list-head-v61{display:flex;justify-content:space-between;align-items:center;margin-top:20px;border-top:1px solid rgba(148,163,184,.12);padding-top:14px}.ai-journal-list-head-v61 p,.ai-journal-list-head-v61 h3{margin:0}.ai-journal-list-head-v61 button{padding:7px 9px;border-radius:9px}
.ai-journal-list-v61{display:grid;gap:8px;margin-top:9px}.ai-journal-list-v61 article{padding:12px;border:1px solid rgba(148,163,184,.12);border-radius:13px;background:rgba(11,23,39,.54)}
.ai-journal-list-v61 article>div:first-child{display:flex;justify-content:space-between;gap:8px}.ai-journal-list-v61 article>div span{font-size:.37rem;color:#7dd3fc;font-weight:900;letter-spacing:.08em}.ai-journal-list-v61 article>div small{font-size:.4rem;color:#657991}
.ai-journal-list-v61 h4{margin:6px 0 4px;font-size:.6rem}.ai-journal-list-v61 p{margin:0;white-space:pre-wrap;font-size:.49rem;line-height:1.48;color:#92a4ba}.ai-journal-list-v61 footer{margin-top:7px;color:#38bdf8;font-size:.4rem;letter-spacing:1px}
.ai-foundation-note-v61{border-color:rgba(45,212,191,.14)!important}

body[data-theme="light"] .ai-form-grid-v61 select,body[data-theme="light"] .ai-form-grid-v61 input,body[data-theme="light"] .ai-wide-field-v61 input,body[data-theme="light"] .ai-wide-field-v61 textarea{background:rgba(255,255,255,.82);color:#102038}
body[data-theme="light"] .ai-plan-blocks-v61 article,body[data-theme="light"] .ai-journal-list-v61 article,body[data-theme="light"] .ai-video-observations-v61 article{background:rgba(245,249,255,.78)}

@media(max-width:700px){
  .ai-assistant-hero-v61{grid-template-columns:68px minmax(0,1fr)!important}
  .ai-engine-state-v61{grid-column:1/-1;width:100%;min-width:0}
  .ai-form-grid-v61,.ai-result-columns-v61{grid-template-columns:1fr}
  .ai-video-frames-v61>div:last-child{grid-template-columns:repeat(2,1fr)}
  .ai-tool-panel-v61{padding:14px!important}
}
@media(max-width:440px){
  .ai-tool-intro-v61{flex-direction:column}.ai-private-chip-v61{align-self:flex-start}
  .ai-plan-blocks-v61 article{grid-template-columns:44px minmax(0,1fr)}.ai-plan-blocks-v61 article>button{grid-column:2;justify-self:start}
  .ai-video-frames-v61>div:last-child{grid-template-columns:1fr 1fr}
}
@media(prefers-reduced-motion:reduce){.ai-feature-live-v61,.ai-spinner-v61{animation:none!important;transition:none!important}}


/* ===== V61.0.1 · entrenamiento práctico + robustez Video Lab ===== */
.ai-exercise-steps-v611{display:grid;gap:6px;margin:9px 0 7px}
.ai-exercise-steps-v611 small{display:block;line-height:1.45;color:var(--text,#eef6ff)}
.ai-plan-blocks-v61 article>div:nth-child(2)>small{display:block;margin-top:6px;line-height:1.45}
@media(max-width:640px){.ai-exercise-steps-v611{gap:5px}.ai-plan-blocks-v61 article>div:nth-child(2)>small{font-size:.78rem}}


/* =========================================================
   TT RIVALS V61.1 — TRAINING LAB + VIDEO HISTORY
   ========================================================= */
.ai-plan-blocks-v61 article{grid-template-columns:52px minmax(0,1fr)}
.ai-exercise-body-v611{min-width:0}
.ai-exercise-body-v611>span{font-size:.36rem;color:#6f85a2;font-weight:900;letter-spacing:.09em}
.ai-exercise-body-v611>small{display:block;margin-top:6px;line-height:1.48;color:#9aacc2;font-size:.48rem}
.ai-coaching-cues-v611{margin-top:7px}
.ai-coaching-cues-v611>b{font-size:.48rem;color:#c7d7ea}
.ai-coaching-cues-v611 ul{margin-top:4px}
.ai-exercise-actions-v611{display:flex;gap:6px;flex-wrap:wrap;margin-top:11px;padding-top:9px;border-top:1px solid rgba(148,163,184,.10)}
.ai-exercise-actions-v611 button{min-height:32px;padding:6px 8px;border-radius:9px;border:1px solid rgba(148,163,184,.14);background:rgba(15,30,50,.72);color:#c7d6e8;font-size:.42rem;font-weight:850}
.ai-exercise-actions-v611 button:hover{border-color:rgba(96,165,250,.34);transform:translateY(-1px)}
.ai-exercise-actions-v611 button.is-loading{opacity:.72;pointer-events:none}
.ai-exercise-status-v611{min-height:1em;color:#67e8f9!important;font-size:.42rem!important}
.ai-result-v61[data-detail-level="simple"] .ai-exercise-body-v611>p{font-size:.53rem}
.ai-result-v61[data-detail-level="simple"] .ai-exercise-steps-v611{margin-top:8px}

.ai-video-tabs-v611{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin:0 0 14px;padding:4px;border:1px solid rgba(148,163,184,.12);border-radius:13px;background:rgba(7,17,32,.44)}
.ai-video-tabs-v611 button{min-height:38px;border:0;border-radius:10px;background:transparent;color:#7f93ae;font-size:.49rem;font-weight:900}
.ai-video-tabs-v611 button.active{background:linear-gradient(135deg,rgba(37,99,235,.19),rgba(13,148,136,.10));color:#e8f4ff;box-shadow:inset 0 0 0 1px rgba(96,165,250,.15)}
.ai-video-tabs-v611 button span{display:inline-grid;place-items:center;min-width:20px;height:20px;padding:0 5px;margin-left:4px;border-radius:999px;background:rgba(125,211,252,.10);color:#7dd3fc;font-size:.38rem}
.ai-video-history-head-v611{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;padding:13px 0 11px;border-bottom:1px solid rgba(148,163,184,.11)}
.ai-video-history-head-v611 p,.ai-video-history-head-v611 h3{margin:0}
.ai-video-history-head-v611 h3{margin:3px 0 4px}
.ai-video-history-head-v611 small{display:block;max-width:620px;color:#8295ad;font-size:.47rem;line-height:1.48}
.ai-video-history-head-v611>button{padding:8px 10px;border-radius:10px;border:1px solid rgba(148,163,184,.14);background:rgba(15,30,50,.72);font-weight:850}
.ai-history-status-v611{min-height:18px;margin-top:8px;color:#7890ac;font-size:.44rem}
.ai-video-history-list-v611{display:grid;gap:9px;margin-top:7px}
.ai-video-history-card-v611{padding:13px;border:1px solid rgba(148,163,184,.12);border-radius:14px;background:linear-gradient(145deg,rgba(12,24,41,.70),rgba(7,18,32,.55))}
.ai-video-history-card-top-v611{display:flex;justify-content:space-between;gap:10px;align-items:center}
.ai-video-history-card-top-v611 span{font-size:.37rem;font-weight:900;letter-spacing:.09em;color:#7dd3fc}
.ai-video-history-card-top-v611 small{font-size:.4rem;color:#637891}
.ai-video-history-card-v611 h4{margin:7px 0 4px;font-size:.64rem}
.ai-video-history-card-v611>p{margin:0;color:#93a6bd;font-size:.49rem;line-height:1.48}
.ai-video-history-meta-v611,.ai-saved-meta-v611{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}
.ai-video-history-meta-v611 span,.ai-saved-meta-v611 span{padding:4px 6px;border-radius:999px;background:rgba(148,163,184,.07);border:1px solid rgba(148,163,184,.08);font-size:.39rem;color:#8296ae}
.ai-video-history-priority-v611{display:block;margin-top:8px;color:#a9bad0;font-size:.45rem;line-height:1.45}
.ai-video-history-actions-v611{display:flex;gap:6px;flex-wrap:wrap;margin-top:10px}
.ai-video-history-actions-v611 button{padding:7px 9px;border-radius:9px;border:1px solid rgba(148,163,184,.14);background:rgba(15,30,50,.72);font-size:.42rem;font-weight:850}
.ai-danger-soft-v611{border-color:rgba(248,113,113,.18)!important;color:#fca5a5!important;background:rgba(127,29,29,.08)!important}
.ai-video-history-detail-v611{margin-top:14px;padding-top:14px;border-top:1px solid rgba(148,163,184,.12)}
body[data-theme="light"] .ai-video-history-card-v611{background:rgba(245,249,255,.82)}
body[data-theme="light"] .ai-video-tabs-v611{background:rgba(244,248,255,.72)}

@media(max-width:640px){
  .ai-plan-blocks-v61 article{grid-template-columns:44px minmax(0,1fr)}
  .ai-exercise-actions-v611{display:grid;grid-template-columns:1fr 1fr}
  .ai-exercise-actions-v611 button{width:100%;min-height:36px}
  .ai-video-history-head-v611{flex-direction:column}
  .ai-video-history-actions-v611{display:grid;grid-template-columns:1fr 1fr}
  .ai-video-history-actions-v611 .ai-danger-soft-v611{grid-column:1/-1}
}

/* Legibilidad V61.1 en pantallas medianas y grandes */
.ai-exercise-body-v611>span{font-size:.44rem}
.ai-exercise-body-v611 h4{font-size:.72rem;margin:4px 0 5px}
.ai-exercise-body-v611>p{font-size:.56rem;line-height:1.5}
.ai-exercise-body-v611>small,.ai-exercise-steps-v611 small,.ai-coaching-cues-v611,.ai-coaching-cues-v611>b{font-size:.53rem}
.ai-exercise-actions-v611 button{font-size:.46rem}
.ai-video-history-card-v611>p{font-size:.53rem}
.ai-video-history-card-v611 h4{font-size:.68rem}
@media(max-width:640px){
  .ai-exercise-body-v611>span{font-size:.58rem}
  .ai-exercise-body-v611 h4{font-size:.92rem}
  .ai-exercise-body-v611>p{font-size:.78rem}
  .ai-exercise-body-v611>small,.ai-exercise-steps-v611 small,.ai-coaching-cues-v611,.ai-coaching-cues-v611>b{font-size:.74rem}
  .ai-exercise-actions-v611 button{font-size:.67rem}
  .ai-video-history-card-v611 h4{font-size:.86rem}
  .ai-video-history-card-v611>p,.ai-video-history-priority-v611{font-size:.72rem}
}

/* =========================================================
   TT RIVALS V62.0 — GAMEPLAY + VIDEO LAB BETA
   ========================================================= */

/* Ranking V62: layout aislado para evitar colisiones con estilos legacy */
.v62-rank-row{display:grid!important;grid-template-columns:minmax(0,1fr) 92px!important;align-items:center;gap:10px;margin:0 0 8px;padding:10px 11px;border:1px solid rgba(148,163,184,.13);border-radius:16px;background:linear-gradient(145deg,rgba(15,28,47,.78),rgba(8,20,35,.62));overflow:hidden;min-height:76px}
.v62-rank-row.is-me{grid-template-columns:minmax(0,1fr)!important;border-color:rgba(59,130,246,.38);background:linear-gradient(145deg,rgba(24,48,82,.72),rgba(8,24,42,.65))}
.v62-rank-profile{display:grid!important;grid-template-columns:50px 46px minmax(0,1fr) 70px!important;gap:10px;align-items:center;width:100%;min-width:0;padding:0;border:0;background:transparent;color:inherit;text-align:left;cursor:pointer}
.v62-rank-position{display:grid;place-items:center;align-content:center;min-width:0}.v62-rank-position strong{font-size:.88rem;line-height:1;font-weight:950}.v62-rank-position small{margin-top:4px;font-size:.32rem;font-weight:900;letter-spacing:.12em;color:#64748b}
.v62-rank-avatar{position:relative;display:grid!important;place-items:center;width:44px!important;height:44px!important;min-width:44px!important;border-radius:50%;overflow:visible!important}.v62-rank-avatar>.ranking-avatar{width:44px!important;height:44px!important;min-width:44px!important;border-radius:50%;overflow:hidden!important}.v62-rank-avatar .online-dot-v35{z-index:3}
.v62-rank-identity{min-width:0;overflow:hidden}.v62-rank-identity>strong{display:flex;align-items:center;gap:5px;min-width:0;font-size:.67rem;font-weight:900;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.v62-rank-meta{display:flex;align-items:center;gap:6px;min-width:0;margin-top:4px}.v62-rank-meta small{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:.45rem;color:#8294ad}.v62-rank-meta .ranking-rank-chip{flex:0 0 auto}.v62-rank-identity em{display:block;margin-top:3px;font-style:normal;font-size:.39rem;color:#60758f}
.v62-rank-elo{text-align:right;min-width:0}.v62-rank-elo strong,.v62-rank-elo small{display:block}.v62-rank-elo strong{font-size:.84rem;font-weight:950}.v62-rank-elo small{margin-top:2px;font-size:.34rem;color:#71849c}
.v62-rank-challenge{display:flex!important;align-items:center;justify-content:center;gap:5px;min-width:0;width:92px;height:40px;padding:0 10px;border:1px solid rgba(59,130,246,.32);border-radius:11px;background:linear-gradient(145deg,rgba(37,99,235,.18),rgba(14,60,113,.10));color:#dcecff;font-size:.47rem;font-weight:900;cursor:pointer}.v62-rank-challenge:hover{border-color:rgba(96,165,250,.55);background:rgba(37,99,235,.23)}.v62-rank-challenge span{font-size:.65rem}

/* Selector 1vs1 / 2vs2 */
.play-mode-gate-v62{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:2px 0 14px}.play-mode-gate-v62>button{display:grid;grid-template-columns:44px minmax(0,1fr) 24px;align-items:center;gap:10px;min-height:78px;padding:12px 14px;border:1px solid rgba(148,163,184,.14);border-radius:17px;background:linear-gradient(145deg,rgba(15,29,49,.80),rgba(9,20,36,.62));color:#dbe9fa;text-align:left;cursor:pointer}.play-mode-gate-v62>button>span{display:grid;place-items:center;width:42px;height:42px;border-radius:12px;background:rgba(59,130,246,.10);font-size:1.05rem}.play-mode-gate-v62 strong,.play-mode-gate-v62 small{display:block}.play-mode-gate-v62 strong{font-size:.68rem}.play-mode-gate-v62 small{margin-top:4px;font-size:.45rem;color:#8194ad}.play-mode-gate-v62>button>b{font-size:.85rem;color:#5e7693}.play-mode-gate-v62>button.active{border-color:rgba(56,189,248,.40);box-shadow:inset 0 0 0 1px rgba(56,189,248,.08),0 12px 35px rgba(3,105,161,.08);background:linear-gradient(145deg,rgba(10,70,112,.34),rgba(8,29,52,.70))}.play-mode-gate-v62>button.active>span{background:linear-gradient(145deg,rgba(14,165,233,.25),rgba(34,197,94,.10))}.play-mode-gate-v62>button.active>b{color:#67e8f9}

/* Dobles V62 */
.doubles-builder-v62{overflow:hidden}.doubles-teams-v62{display:grid;grid-template-columns:minmax(0,1fr) 46px minmax(0,1fr);gap:10px;align-items:stretch;margin-top:14px}.doubles-team-v62{display:grid;gap:8px;padding:11px;border:1px solid rgba(148,163,184,.11);border-radius:15px;background:rgba(3,12,24,.28)}.doubles-team-v62>span{font-size:.36rem;letter-spacing:.14em;font-weight:950;color:#6f87a4}.doubles-team-v62.team-a>span{color:#67e8f9}.doubles-team-v62.team-b>span{color:#fbbf24}.doubles-vs-v62{display:grid;place-items:center;color:#627994;font-size:.52rem;font-weight:950}.doubles-slot-v62{display:grid;gap:3px;min-height:58px;padding:9px 10px;border:1px dashed rgba(96,165,250,.25);border-radius:12px;background:rgba(37,99,235,.05);color:#cfdef0;text-align:left;cursor:pointer}.doubles-slot-v62 b{font-size:.52rem}.doubles-slot-v62 small{font-size:.40rem;color:#71869f}.doubles-slot-v62.active{border-style:solid;border-color:#38bdf8;box-shadow:0 0 0 2px rgba(56,189,248,.08)}.doubles-slot-v62.filled{border-style:solid;border-color:rgba(34,197,94,.28);background:rgba(16,185,129,.06)}.doubles-slot-v62.locked{cursor:default;border-style:solid;border-color:rgba(45,212,191,.20);background:rgba(13,148,136,.06)}
.doubles-search-shell-v62{margin-top:12px;padding:10px;border:1px solid rgba(56,189,248,.12);border-radius:14px;background:rgba(3,12,24,.26)}.doubles-player-pick-v62{display:grid!important;grid-template-columns:38px minmax(0,1fr) auto!important;align-items:center;gap:9px;width:100%;padding:8px 9px;border:0;border-bottom:1px solid rgba(148,163,184,.08);background:transparent;color:inherit;text-align:left;cursor:pointer}.doubles-player-pick-v62:last-child{border-bottom:0}.doubles-player-pick-v62>div{min-width:0}.doubles-player-pick-v62 strong,.doubles-player-pick-v62 small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.doubles-player-pick-v62 strong{font-size:.52rem}.doubles-player-pick-v62 small{margin-top:2px;font-size:.41rem}.doubles-player-pick-v62>b{font-size:.42rem;color:#7dd3fc}.doubles-pick-avatar-v62{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;overflow:hidden;background:rgba(59,130,246,.12);font-size:.55rem;font-weight:900}.doubles-pick-avatar-v62 img{width:100%;height:100%;object-fit:cover}
.doubles-form-v62{margin-top:14px}.doubles-challenge-card-v62,.doubles-match-card-v62{padding:12px;border:1px solid rgba(148,163,184,.12);border-radius:14px;background:rgba(8,20,36,.56)}.doubles-challenge-teams-v62,.doubles-match-score-v62{display:grid;grid-template-columns:minmax(0,1fr) 42px minmax(0,1fr);align-items:center;gap:8px}.doubles-challenge-teams-v62>div,.doubles-match-score-v62>div{min-width:0}.doubles-challenge-teams-v62 small,.doubles-match-score-v62 small{display:block;font-size:.33rem;letter-spacing:.12em;color:#71849d;font-weight:900}.doubles-challenge-teams-v62 strong,.doubles-match-score-v62>div>strong{display:block;margin-top:4px;font-size:.50rem;line-height:1.35}.doubles-challenge-teams-v62>b,.doubles-match-score-v62>b{text-align:center;color:#7dd3fc;font-size:.48rem}.doubles-match-score-v62>b{font-size:.80rem}.doubles-match-score-v62>b i{font-style:normal;color:#526a84}.doubles-challenge-meta-v62,.doubles-set-chips-v62{display:flex;gap:5px;flex-wrap:wrap;margin-top:9px}.doubles-challenge-meta-v62 span,.doubles-set-chips-v62 span{padding:4px 6px;border:1px solid rgba(148,163,184,.09);border-radius:999px;background:rgba(148,163,184,.06);font-size:.37rem;color:#8298b2}.doubles-card-actions-v62{display:flex;gap:6px;flex-wrap:wrap;margin-top:10px}.doubles-card-actions-v62 button{padding:7px 10px;border:1px solid rgba(34,197,94,.22);border-radius:9px;background:rgba(22,163,74,.14);color:#bbf7d0;font-size:.43rem;font-weight:900}.doubles-card-actions-v62 button.danger{border-color:rgba(248,113,113,.20);background:rgba(185,28,28,.10);color:#fecaca}.doubles-result-modal-v62 h2 span{color:#67809c;font-size:.65em}.doubles-result-sets-v62{display:grid;gap:8px;margin:14px 0}.doubles-result-sets-v62>div{display:grid;grid-template-columns:58px 1fr 20px 1fr;align-items:center;gap:7px}.doubles-result-sets-v62 span{font-size:.50rem;color:#8da0b8}.doubles-result-sets-v62 input{text-align:center}.doubles-result-sets-v62 b{text-align:center;color:#5e7590}

/* Resultado pendiente: quién cargó qué + sets antes de confirmar */
.match-confirm-review-v62{margin-top:9px;border:1px solid rgba(56,189,248,.14);border-radius:12px;background:rgba(2,20,36,.32);overflow:hidden}.match-confirm-review-v62>summary{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 10px;cursor:pointer;list-style:none}.match-confirm-review-v62>summary::-webkit-details-marker{display:none}.match-confirm-review-v62>summary strong{font-size:.50rem;color:#dcecff}.match-confirm-review-v62>summary span{font-size:.40rem;color:#7dd3fc;font-weight:850}.match-confirm-body-v62{padding:0 10px 10px}.match-confirm-score-v62{display:flex;align-items:center;justify-content:center;gap:9px;padding:9px;border-radius:10px;background:rgba(59,130,246,.07)}.match-confirm-score-v62 span{font-size:.49rem;color:#a8b8cc}.match-confirm-score-v62 b{font-size:.72rem;color:#f8fafc}.match-confirm-sets-v62{display:flex;gap:5px;flex-wrap:wrap;margin-top:8px}.match-confirm-sets-v62 span{padding:4px 6px;border-radius:7px;background:rgba(148,163,184,.07);font-size:.39rem;color:#879ab2}

/* Valoración única */
.review-stars-locked-v62{display:flex;align-items:center;gap:10px;margin:4px 0 15px;padding:11px 12px;border:1px solid rgba(251,191,36,.15);border-radius:13px;background:rgba(180,83,9,.06)}.review-stars-locked-v62>span{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:rgba(245,158,11,.10);color:#fbbf24}.review-stars-locked-v62 strong,.review-stars-locked-v62 small{display:block}.review-stars-locked-v62 strong{font-size:.53rem}.review-stars-locked-v62 small{margin-top:3px;font-size:.42rem;line-height:1.42;color:#8d9eb4}

/* Android abierto en navegador: guía de instalación PWA */
.android-install-guide-v62{position:fixed;left:50%;bottom:calc(82px + env(safe-area-inset-bottom));z-index:95;width:min(calc(100% - 24px),650px);transform:translateX(-50%);display:grid;grid-template-columns:38px minmax(0,1fr) auto 30px;align-items:center;gap:9px;padding:10px 10px 10px 12px;border:1px solid rgba(56,189,248,.25);border-radius:15px;background:rgba(5,17,32,.96);box-shadow:0 18px 48px rgba(0,0,0,.38);backdrop-filter:blur(18px)}.android-install-guide-v62>span{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:rgba(14,165,233,.12);color:#67e8f9}.android-install-guide-v62 strong,.android-install-guide-v62 small{display:block}.android-install-guide-v62 strong{font-size:.50rem}.android-install-guide-v62 small{margin-top:2px;font-size:.39rem;line-height:1.35;color:#879ab2}.android-install-guide-v62 button{padding:7px 10px;border:1px solid rgba(34,197,94,.24);border-radius:9px;background:rgba(22,163,74,.14);color:#bbf7d0;font-size:.42rem;font-weight:900}.android-install-guide-v62 button.close{padding:0;width:28px;height:28px;border-color:rgba(148,163,184,.12);background:rgba(148,163,184,.06);color:#8ea0b6}

/* Cupo semanal Video Lab */
.ai-video-quota-v62{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 13px;padding:11px 12px;border:1px solid rgba(34,197,94,.18);border-radius:14px;background:linear-gradient(145deg,rgba(16,185,129,.07),rgba(6,182,212,.04))}.ai-video-quota-v62>div{display:flex;align-items:center;gap:9px;min-width:0}.ai-quota-icon-v62{display:grid;place-items:center;width:32px;height:32px;border-radius:10px;background:rgba(34,197,94,.10);color:#86efac}.ai-video-quota-v62 strong,.ai-video-quota-v62 small{display:block}.ai-video-quota-v62 strong{font-size:.50rem}.ai-video-quota-v62 small{margin-top:2px;font-size:.42rem;line-height:1.38;color:#8296ae}.ai-video-quota-v62>b{flex:0 0 auto;padding:7px 9px;border-radius:10px;background:rgba(16,185,129,.10);color:#86efac;font-size:.56rem}.ai-video-quota-v62.is-low{border-color:rgba(245,158,11,.22);background:rgba(180,83,9,.06)}.ai-video-quota-v62.is-low>b{background:rgba(245,158,11,.10);color:#fcd34d}.ai-video-quota-v62.is-empty{border-color:rgba(248,113,113,.18);background:rgba(153,27,27,.06)}.ai-video-quota-v62.is-empty>b{background:rgba(239,68,68,.10);color:#fca5a5}

/* Video Lab V62: informe visual */
.ai-video-report-v62{display:grid;gap:12px}.ai-video-report-hero-v62{display:grid;grid-template-columns:58px minmax(0,1fr) auto;align-items:center;gap:12px;padding:13px;border:1px solid rgba(56,189,248,.13);border-radius:16px;background:radial-gradient(circle at 7% 45%,rgba(14,165,233,.13),transparent 22%),linear-gradient(145deg,rgba(10,30,52,.75),rgba(8,20,36,.64));overflow:hidden}.ai-video-report-orbit-v62{position:relative;width:52px;height:52px;display:grid;place-items:center;border:1px solid rgba(56,189,248,.30);border-radius:50%;box-shadow:0 0 24px rgba(14,165,233,.08)}.ai-video-report-orbit-v62 span{font-size:.43rem;font-weight:950;color:#d9f3ff}.ai-video-report-orbit-v62 i{position:absolute;inset:-5px;border:1px dashed rgba(56,189,248,.18);border-radius:50%;animation:v62Orbit 8s linear infinite}.ai-video-report-orbit-v62 i:nth-child(2){inset:7px;animation-direction:reverse;animation-duration:5s}.ai-video-report-title-v62{min-width:0}.ai-video-report-title-v62 h3{margin:3px 0 4px;font-size:.74rem}.ai-video-report-title-v62>p:last-child{margin:0;font-size:.49rem;line-height:1.45;color:#91a5bc}.ai-confidence-v62{align-self:start;padding:5px 7px;border:1px solid rgba(148,163,184,.12);border-radius:999px;background:rgba(148,163,184,.06);font-size:.35rem;font-weight:900;text-transform:uppercase;color:#89a0ba}.ai-confidence-v62.is-alta{color:#86efac;border-color:rgba(34,197,94,.18)}.ai-confidence-v62.is-media{color:#fcd34d;border-color:rgba(245,158,11,.18)}
.ai-video-summary-grid-v62{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(210px,.8fr);gap:9px}.ai-main-priority-v62{position:relative;overflow:hidden;padding:13px;border:1px solid rgba(168,85,247,.16);border-radius:14px;background:linear-gradient(145deg,rgba(126,34,206,.08),rgba(37,99,235,.05))}.ai-main-priority-v62>span,.ai-strength-chips-v62>span,.ai-report-section-head-v62 span,.ai-report-bottom-v62 article>span{display:block;font-size:.35rem;letter-spacing:.12em;font-weight:950;color:#8aa0ba}.ai-main-priority-v62>strong{display:block;margin-top:6px;font-size:.60rem;line-height:1.38}.ai-main-priority-v62>small{display:block;margin-top:5px;font-size:.42rem;line-height:1.4;color:#8094ad}.ai-main-priority-v62>i{position:absolute;right:-18px;bottom:-32px;width:95px;height:95px;border:1px solid rgba(168,85,247,.12);border-radius:50%;box-shadow:0 0 0 16px rgba(59,130,246,.025),0 0 0 32px rgba(59,130,246,.015)}.ai-report-metrics-v62{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.ai-report-metrics-v62>div{display:grid;place-items:center;align-content:center;padding:9px 5px;border:1px solid rgba(148,163,184,.10);border-radius:13px;background:rgba(6,18,32,.48)}.ai-report-metrics-v62 span{font-size:.34rem;color:#70849e}.ai-report-metrics-v62 b{margin-top:4px;font-size:.74rem;color:#dbeafe}.ai-strength-chips-v62{padding:11px 12px;border:1px solid rgba(34,197,94,.12);border-radius:13px;background:rgba(16,185,129,.04)}.ai-strength-chips-v62>div{display:flex;gap:5px;flex-wrap:wrap;margin-top:7px}.ai-strength-chips-v62 small{padding:5px 7px;border-radius:999px;background:rgba(34,197,94,.07);color:#a7f3d0;font-size:.40rem}
.ai-observation-section-v62{display:grid;gap:8px}.ai-report-section-head-v62{display:flex;justify-content:space-between;align-items:end;gap:10px;padding:2px 2px 0}.ai-report-section-head-v62 h4{margin:3px 0 0;font-size:.65rem}.ai-report-section-head-v62>small{font-size:.39rem;color:#687d97}.ai-video-observations-v62{display:grid;gap:8px}.ai-observation-card-v62{opacity:0;transform:translateY(8px);animation:v62CardIn .42s ease forwards;animation-delay:var(--v62-delay,0ms);border:1px solid rgba(148,163,184,.11);border-radius:14px;background:linear-gradient(145deg,rgba(10,23,40,.72),rgba(7,18,32,.56));overflow:hidden}.ai-observation-card-v62>summary{display:grid;grid-template-columns:34px 74px minmax(0,1fr) 28px;align-items:center;gap:9px;padding:10px;cursor:pointer;list-style:none}.ai-observation-card-v62>summary::-webkit-details-marker{display:none}.ai-observation-number-v62{display:grid;place-items:center;width:32px;height:32px;border-radius:9px;background:rgba(59,130,246,.09);color:#7dd3fc;font-size:.46rem;font-weight:950}.ai-observation-summary-v62{min-width:0}.ai-observation-summary-v62>span{display:block;font-size:.33rem;letter-spacing:.08em;color:#698099;font-weight:900}.ai-observation-summary-v62 h5{margin:3px 0;font-size:.57rem}.ai-observation-summary-v62 p{margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:.43rem;color:#8497af}.ai-observation-toggle-v62{display:grid;place-items:center;width:27px;height:27px;border-radius:8px;background:rgba(148,163,184,.06);color:#7890aa;font-size:.68rem;transition:transform .25s ease}.ai-observation-card-v62[open] .ai-observation-toggle-v62{transform:rotate(45deg);color:#67e8f9}.ai-observation-detail-v62{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;padding:0 10px 11px 127px}.ai-observation-detail-v62>div{padding:8px 9px;border-radius:10px;background:rgba(148,163,184,.045)}.ai-observation-detail-v62>div.is-action{background:rgba(16,185,129,.055)}.ai-observation-detail-v62 span{font-size:.31rem;letter-spacing:.08em;font-weight:950;color:#6f85a0}.ai-observation-detail-v62 p{margin:4px 0 0;font-size:.42rem;line-height:1.45;color:#9caec3}.ai-observation-detail-v62>small{grid-column:1/-1;font-size:.37rem;color:#647b96}
.ai-observation-visual-v62{position:relative;height:54px;border:1px solid rgba(56,189,248,.10);border-radius:10px;background:radial-gradient(circle at 50% 50%,rgba(14,165,233,.08),transparent 64%);overflow:hidden}.ai-visual-label-v62{position:absolute;top:4px;left:5px;z-index:3;font-size:.25rem;letter-spacing:.08em;color:#66829f;font-weight:950}.ai-visual-stage-v62{position:absolute;inset:13px 6px 4px}.ai-visual-table-v62{position:absolute;left:10%;right:10%;top:49%;height:3px;border-radius:999px;background:#33546f;box-shadow:0 6px 0 -1px rgba(51,84,111,.35)}.ai-visual-table-v62:after{content:'';position:absolute;left:50%;top:-7px;width:1px;height:14px;background:#6287a5}.ai-visual-player-v62{position:absolute;left:13%;top:21%;width:8px;height:8px;border:2px solid #7dd3fc;border-radius:50%;box-shadow:0 0 10px rgba(125,211,252,.28)}.ai-visual-player-v62:after{content:'';position:absolute;left:2px;top:8px;width:2px;height:13px;background:#7dd3fc;transform:rotate(-12deg);transform-origin:top}.ai-visual-ball-v62{position:absolute;left:38%;top:32%;width:4px;height:4px;border-radius:50%;background:#f8fafc;box-shadow:0 0 8px rgba(255,255,255,.55);animation:v62Ball 2.2s ease-in-out infinite}.ai-visual-path-v62{position:absolute;left:28%;right:14%;top:28%;height:14px;border-top:1px dashed rgba(125,211,252,.42);border-radius:50%}
.ai-observation-visual-v62.is-balance .ai-visual-player-v62{animation:v62Balance 2.4s ease-in-out infinite}.ai-observation-visual-v62.is-position .ai-visual-player-v62{animation:v62Position 2.7s ease-in-out infinite}.ai-observation-visual-v62.is-timing .ai-visual-ball-v62{animation-duration:1.45s}.ai-observation-visual-v62.is-service .ai-visual-ball-v62{left:20%;animation:v62Serve 1.8s ease-in-out infinite}.ai-observation-visual-v62.is-tactical .ai-visual-path-v62{border-top-color:#fbbf24;transform:skewY(-8deg)}.ai-observation-visual-v62.is-tactical .ai-visual-ball-v62{background:#fde68a}.ai-observation-visual-v62.is-technique .ai-visual-player-v62:after{animation:v62Swing 1.9s ease-in-out infinite}
.ai-report-bottom-v62{display:grid;grid-template-columns:1fr 1fr;gap:8px}.ai-report-bottom-v62 article{padding:11px;border:1px solid rgba(148,163,184,.10);border-radius:13px;background:rgba(8,20,36,.48)}.ai-report-bottom-v62 article>small{display:flex;gap:7px;margin-top:6px;font-size:.41rem;line-height:1.42;color:#8fa2b8}.ai-report-bottom-v62 article>small>b{color:#7dd3fc;font-size:.34rem}.ai-report-bottom-v62 article.is-limits{background:rgba(100,116,139,.035)}
.ai-result-actions-v62{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:8px;margin-top:2px}.ai-result-actions-v62 button{min-height:58px;border-radius:13px;cursor:pointer}.ai-video-primary-action-v62,.ai-video-secondary-action-v62{display:grid;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:8px;padding:9px 11px;border:1px solid rgba(56,189,248,.22);background:linear-gradient(145deg,rgba(14,116,144,.15),rgba(37,99,235,.10));color:#e8f7ff;text-align:left}.ai-video-secondary-action-v62{grid-template-columns:34px minmax(0,1fr);border-color:rgba(148,163,184,.13);background:rgba(14,27,46,.66)}.ai-result-actions-v62 button>span{display:grid;place-items:center;width:32px;height:32px;border-radius:9px;background:rgba(56,189,248,.10)}.ai-result-actions-v62 button b,.ai-result-actions-v62 button small{display:block}.ai-result-actions-v62 button b{font-size:.49rem}.ai-result-actions-v62 button small{margin-top:2px;font-size:.37rem;color:#7990aa}.ai-video-primary-action-v62>i{font-style:normal;color:#67e8f9}.ai-video-delete-action-v62{grid-column:1/-1;min-height:38px!important;border:1px solid rgba(248,113,113,.13);background:rgba(127,29,29,.05);color:#fca5a5;font-size:.40rem;font-weight:850}

@keyframes v62Orbit{to{transform:rotate(360deg)}}@keyframes v62CardIn{to{opacity:1;transform:none}}@keyframes v62Ball{0%,100%{transform:translate(0,8px);opacity:.7}50%{transform:translate(28px,-4px);opacity:1}}@keyframes v62Serve{0%{transform:translate(0,8px)}45%{transform:translate(13px,-11px)}100%{transform:translate(33px,4px)}}@keyframes v62Balance{0%,100%{transform:translateX(0) rotate(0)}50%{transform:translateX(5px) rotate(8deg)}}@keyframes v62Position{0%,100%{left:13%}50%{left:24%}}@keyframes v62Swing{0%,100%{transform:rotate(-12deg)}50%{transform:rotate(48deg)}}

body[data-theme="light"] .v62-rank-row,body[data-theme="light"] .play-mode-gate-v62>button,body[data-theme="light"] .doubles-challenge-card-v62,body[data-theme="light"] .doubles-match-card-v62,body[data-theme="light"] .ai-observation-card-v62{background:rgba(247,250,255,.88)}

@media(max-width:700px){
  .v62-rank-row{grid-template-columns:minmax(0,1fr) 76px!important;padding:9px!important}.v62-rank-profile{grid-template-columns:40px 38px minmax(0,1fr) 54px!important;gap:7px}.v62-rank-avatar,.v62-rank-avatar>.ranking-avatar{width:38px!important;height:38px!important;min-width:38px!important}.v62-rank-challenge{width:76px;height:38px;padding:0 7px}.v62-rank-challenge b{font-size:.42rem}
  .ai-video-summary-grid-v62,.ai-report-bottom-v62{grid-template-columns:1fr}.ai-observation-detail-v62{padding-left:10px;grid-template-columns:1fr}.ai-observation-detail-v62>small{grid-column:auto}
  .ai-result-actions-v62{grid-template-columns:1fr}.ai-video-delete-action-v62{grid-column:auto}
}
@media(max-width:540px){
  .play-mode-gate-v62{grid-template-columns:1fr 1fr}.play-mode-gate-v62>button{grid-template-columns:36px minmax(0,1fr) 18px;padding:10px;min-height:68px}.play-mode-gate-v62>button>span{width:34px;height:34px}.play-mode-gate-v62 strong{font-size:.80rem}.play-mode-gate-v62 small{font-size:.62rem}
  .doubles-teams-v62{grid-template-columns:1fr}.doubles-vs-v62{height:24px}.doubles-team-v62{padding:10px}.doubles-challenge-teams-v62,.doubles-match-score-v62{grid-template-columns:1fr 34px 1fr}
  .v62-rank-row{grid-template-columns:minmax(0,1fr) 42px!important;gap:5px}.v62-rank-profile{grid-template-columns:34px 36px minmax(0,1fr) 48px!important;gap:6px}.v62-rank-position strong{font-size:.76rem}.v62-rank-position small{font-size:.28rem}.v62-rank-avatar,.v62-rank-avatar>.ranking-avatar{width:36px!important;height:36px!important;min-width:36px!important}.v62-rank-identity>strong{font-size:.67rem}.v62-rank-meta small{font-size:.54rem}.v62-rank-elo strong{font-size:.72rem}.v62-rank-challenge{width:42px;padding:0}.v62-rank-challenge b{display:none}.v62-rank-challenge span{font-size:.78rem}
  .android-install-guide-v62{grid-template-columns:34px minmax(0,1fr) auto 26px;gap:6px}.android-install-guide-v62 small{font-size:.55rem}.android-install-guide-v62 button{padding:7px 8px;font-size:.55rem}
  .ai-video-report-hero-v62{grid-template-columns:48px minmax(0,1fr)}.ai-video-report-orbit-v62{width:44px;height:44px}.ai-confidence-v62{grid-column:2;justify-self:start}.ai-video-report-title-v62 h3{font-size:.90rem}.ai-video-report-title-v62>p:last-child{font-size:.69rem}.ai-main-priority-v62>strong{font-size:.78rem}.ai-main-priority-v62>small{font-size:.62rem}.ai-report-metrics-v62 span{font-size:.50rem}.ai-report-metrics-v62 b{font-size:.94rem}
  .ai-observation-card-v62>summary{grid-template-columns:30px 62px minmax(0,1fr) 26px;gap:7px;padding:9px}.ai-observation-number-v62{width:29px;height:29px;font-size:.60rem}.ai-observation-visual-v62{height:48px}.ai-observation-summary-v62>span{font-size:.47rem}.ai-observation-summary-v62 h5{font-size:.75rem}.ai-observation-summary-v62 p{font-size:.60rem}.ai-observation-detail-v62 p{font-size:.62rem}.ai-observation-detail-v62 span{font-size:.45rem}.ai-report-bottom-v62 article>small{font-size:.60rem}.ai-result-actions-v62 button b{font-size:.68rem}.ai-result-actions-v62 button small{font-size:.55rem}
  .ai-video-quota-v62 small{font-size:.59rem}.ai-video-quota-v62 strong{font-size:.68rem}.ai-video-quota-v62>b{font-size:.72rem}
}
@media(max-width:390px){.play-mode-gate-v62>button{grid-template-columns:32px minmax(0,1fr);}.play-mode-gate-v62>button>b{display:none}.v62-rank-profile{grid-template-columns:32px 34px minmax(0,1fr) 44px!important}.v62-rank-avatar,.v62-rank-avatar>.ranking-avatar{width:34px!important;height:34px!important;min-width:34px!important}.v62-rank-meta .ranking-rank-chip{display:none}.ai-observation-card-v62>summary{grid-template-columns:28px 50px minmax(0,1fr) 24px}.ai-visual-label-v62{display:none}}
@media(prefers-reduced-motion:reduce){.ai-video-report-orbit-v62 i,.ai-observation-card-v62,.ai-visual-ball-v62,.ai-observation-visual-v62 .ai-visual-player-v62,.ai-observation-visual-v62 .ai-visual-player-v62:after{animation:none!important}.ai-observation-card-v62{opacity:1;transform:none}}

/* ============================================================
   V63 — INTEGRIDAD ADMIN + RECOMPENSAS DE TEMPORADA
   Añadidos puntuales; no rediseña la interfaz general.
   ============================================================ */
.ranking-season-actions-v63{display:flex;align-items:center;justify-content:flex-end;gap:7px;flex-wrap:wrap}
.ranking-season-header .ranking-season-actions-v63>button{padding:9px 11px;border:1px solid var(--border);border-radius:10px;color:var(--text);background:rgba(255,255,255,.035);font-size:.58rem;font-weight:850;cursor:pointer}
.ranking-season-header .ranking-season-actions-v63>.season-rewards-button-v63{border-color:rgba(245,158,11,.27);color:#fde68a;background:rgba(245,158,11,.075)}
.ranking-season-header .ranking-season-actions-v63>.season-rewards-button-v63:hover{transform:translateY(-1px);border-color:rgba(245,158,11,.46);background:rgba(245,158,11,.11)}

.season-rewards-modal-v63{width:min(96vw,920px);max-height:92dvh;overflow:auto}
.v63-current-reward{margin:16px 0;padding:14px 16px;display:grid;grid-template-columns:1fr auto;align-items:center;gap:10px;border:1px solid rgba(245,158,11,.24);border-radius:16px;background:linear-gradient(135deg,rgba(245,158,11,.09),rgba(59,130,246,.04))}
.v63-current-reward span,.v63-current-reward small{display:block;color:var(--muted)}
.v63-current-reward strong{grid-row:1/3;grid-column:2;font-size:1.55rem;color:#fde68a}
.v63-current-reward small{margin-top:3px}
.v63-season-rewards-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.v63-reward-tier{padding:15px;border:1px solid var(--v15-line);border-radius:17px;background:rgba(255,255,255,.022)}
.v63-reward-tier.is-current{box-shadow:0 0 0 2px rgba(245,158,11,.16),0 14px 32px rgba(0,0,0,.16)}
.v63-reward-tier.is-champion{border-color:rgba(245,158,11,.32);background:radial-gradient(circle at 100% 0,rgba(245,158,11,.12),transparent 42%),rgba(255,255,255,.024)}
.v63-reward-tier.is-second{border-color:rgba(148,163,184,.25)}
.v63-reward-tier.is-third{border-color:rgba(194,101,46,.26)}
.v63-reward-tier.is-elite{border-color:rgba(99,102,241,.25)}
.v63-reward-tier-head{display:grid;grid-template-columns:38px 1fr auto;align-items:center;gap:10px}
.v63-reward-tier-head>span{width:38px;height:38px;display:grid;place-items:center;border-radius:12px;background:rgba(255,255,255,.05);font-size:1.12rem}
.v63-reward-tier-head small,.v63-reward-tier-head strong{display:block}.v63-reward-tier-head small{color:var(--muted);font-size:.44rem;letter-spacing:.08em}.v63-reward-tier-head strong{margin-top:2px;font-size:.72rem}
.v63-reward-tier-head>b{padding:5px 7px;border-radius:999px;color:#fde68a;background:rgba(245,158,11,.10);font-size:.42rem}
.v63-reward-tier ul{margin:13px 0 0;padding:0;display:grid;gap:7px;list-style:none}.v63-reward-tier li{padding-top:7px;border-top:1px solid rgba(148,163,184,.08);color:#b8c4d7;font-size:.54rem;line-height:1.4}
.v63-reward-note{margin-top:12px;padding:12px 14px;display:grid;gap:4px;border:1px solid rgba(96,165,250,.14);border-radius:13px;background:rgba(59,130,246,.045)}.v63-reward-note strong{font-size:.56rem}.v63-reward-note span{color:var(--muted);font-size:.49rem;line-height:1.5}

.v63-permanent-chip{padding:5px 8px;border-radius:999px;color:#c4b5fd;background:rgba(139,92,246,.09);font-size:.47rem;font-weight:850}
.v63-palmares-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.v63-palmares-summary article{padding:13px;border:1px solid var(--v15-line);border-radius:14px;background:rgba(255,255,255,.02);text-align:center}.v63-palmares-summary span,.v63-palmares-summary strong,.v63-palmares-summary small{display:block}.v63-palmares-summary span{font-size:1rem}.v63-palmares-summary strong{margin:4px 0 2px;font-size:1.25rem}.v63-palmares-summary small{color:var(--muted);font-size:.48rem}
.v63-palmares-list{display:grid;gap:7px;margin-top:9px}.v63-palmares-list>article{padding:10px 12px;display:grid;grid-template-columns:34px 1fr;gap:9px;align-items:center;border:1px solid rgba(148,163,184,.08);border-radius:12px;background:rgba(255,255,255,.018)}.v63-palmares-list>article>span{width:34px;height:34px;display:grid;place-items:center;border-radius:10px;background:rgba(245,158,11,.06)}.v63-palmares-list strong,.v63-palmares-list small{display:block}.v63-palmares-list strong{font-size:.59rem}.v63-palmares-list small{margin-top:2px;color:var(--muted);font-size:.46rem}

.ai-video-quota-balances-v63{display:flex;align-items:center;gap:6px;flex:0 0 auto}.ai-video-quota-balances-v63>b{padding:7px 9px;border-radius:10px;background:rgba(16,185,129,.10);color:#86efac;font-size:.56rem}.ai-video-quota-balances-v63>#aiVideoTicketsBadgeV63{background:rgba(139,92,246,.10);color:#c4b5fd}.ai-video-quota-v62.is-empty .ai-video-quota-balances-v63>b{background:rgba(239,68,68,.08);color:#fca5a5}.ai-video-quota-v62.has-tickets-v63{border-color:rgba(139,92,246,.22);background:linear-gradient(145deg,rgba(124,58,237,.08),rgba(6,182,212,.035))}.ai-video-quota-v62.has-tickets-v63 .ai-quota-icon-v62{background:rgba(139,92,246,.12);color:#c4b5fd}

.v63-integrity-row-actions{display:flex;flex-direction:column;align-items:flex-end;gap:7px}.v63-integrity-row-actions button{padding:7px 9px;border:1px solid rgba(96,165,250,.18);border-radius:9px;color:#bfdbfe;background:rgba(59,130,246,.06);font-size:.48rem;font-weight:850;cursor:pointer}.v63-integrity-row-actions button:hover{border-color:rgba(96,165,250,.34);background:rgba(59,130,246,.10)}
.admin-match-review-modal-v63{width:min(96vw,960px);max-height:94dvh;overflow:auto;padding:22px}
.v63-admin-review-hero{padding:14px 0 16px;display:flex;align-items:flex-end;justify-content:space-between;gap:14px;border-bottom:1px solid var(--v15-line)}.v63-admin-review-hero h2{margin:4px 0;font-size:1.35rem}.v63-admin-review-hero h2 span{color:#93c5fd}.v63-admin-review-hero small{color:var(--muted)}.v63-admin-review-hero>b{padding:8px 10px;border-radius:10px;font-size:.52rem}.v63-admin-review-hero>b.risk-high{color:#fecaca;background:rgba(239,68,68,.11)}.v63-admin-review-hero>b.risk-medium{color:#fde68a;background:rgba(245,158,11,.11)}.v63-admin-review-hero>b.risk-low{color:#bbf7d0;background:rgba(34,197,94,.09)}
.v63-admin-evidence-grid{margin-top:11px;display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.v63-admin-evidence-grid article{padding:11px;border:1px solid rgba(148,163,184,.08);border-radius:12px;background:rgba(255,255,255,.018)}.v63-admin-evidence-grid span,.v63-admin-evidence-grid strong,.v63-admin-evidence-grid small{display:block}.v63-admin-evidence-grid span{color:var(--muted);font-size:.44rem}.v63-admin-evidence-grid strong{margin:4px 0 2px;font-size:.66rem}.v63-admin-evidence-grid small{font-size:.43rem;color:#71839d}
.v63-admin-review-section{margin-top:12px;padding:13px;border:1px solid var(--v15-line);border-radius:15px;background:rgba(255,255,255,.015)}
.v63-admin-set-list,.v63-admin-rating-list{display:grid;gap:6px}.v63-admin-set-list>div,.v63-admin-rating-list>div{padding:9px 10px;display:flex;align-items:center;justify-content:space-between;gap:10px;border-radius:10px;background:rgba(255,255,255,.025)}.v63-admin-set-list span,.v63-admin-rating-list span{color:var(--muted);font-size:.47rem}.v63-admin-set-list strong,.v63-admin-rating-list b{font-size:.54rem}.v63-admin-rating-list small{color:#64748b;font-size:.40rem}
.v63-player-integrity-grid{margin-top:10px;display:grid;grid-template-columns:1fr 1fr;gap:8px}.v63-player-integrity{padding:11px;display:grid;grid-template-columns:1fr repeat(3,auto);gap:10px;align-items:center;border:1px solid rgba(148,163,184,.09);border-radius:13px;background:rgba(255,255,255,.018)}.v63-player-integrity>span{font-size:.55rem;font-weight:850}.v63-player-integrity>div{text-align:center}.v63-player-integrity b,.v63-player-integrity small{display:block}.v63-player-integrity b{font-size:.65rem}.v63-player-integrity small{font-size:.38rem;color:var(--muted)}.v63-player-integrity p{grid-column:1/-1;margin:0;color:#94a3b8;font-size:.44rem}
.v63-admin-review-actions{margin-top:13px;padding:14px;border:1px solid rgba(96,165,250,.16);border-radius:15px;background:rgba(30,64,175,.035)}.v63-admin-review-actions textarea,.v63-sanction-form textarea,.v63-sanction-form select,.v63-sanction-form input{width:100%;margin-top:9px;padding:10px;border:1px solid var(--v15-line);border-radius:10px;color:var(--text);background:rgba(2,6,23,.45);font:inherit}.v63-admin-action-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin-top:8px}.v63-admin-action-grid button,.v63-sanction-form button{min-height:39px;padding:8px;border:1px solid rgba(96,165,250,.16);border-radius:10px;color:#dbeafe;background:rgba(59,130,246,.06);font-size:.48rem;font-weight:850;cursor:pointer}.v63-admin-action-grid .is-warning{border-color:rgba(245,158,11,.20);color:#fde68a;background:rgba(245,158,11,.06)}.v63-admin-action-grid .is-danger{border-color:rgba(239,68,68,.22);color:#fecaca;background:rgba(239,68,68,.06)}
.v63-sanction-form{display:grid;grid-template-columns:1.2fr 1.2fr .5fr;gap:7px}.v63-sanction-form textarea{grid-column:1/-1}.v63-sanction-form button{grid-column:1/-1;border-color:rgba(245,158,11,.18);color:#fde68a;background:rgba(245,158,11,.055)}
.v63-audit-list{display:grid;gap:6px}.v63-audit-list article{padding:9px 10px;display:grid;grid-template-columns:130px 90px 1fr;gap:8px;align-items:center;border-radius:9px;background:rgba(255,255,255,.02)}.v63-audit-list span,.v63-audit-list small{color:var(--muted);font-size:.43rem}.v63-audit-list strong{font-size:.46rem;color:#93c5fd}

body[data-theme="light"] .v63-reward-tier,body[data-theme="light"] .v63-palmares-summary article,body[data-theme="light"] .v63-palmares-list>article,body[data-theme="light"] .v63-admin-review-section,body[data-theme="light"] .v63-admin-evidence-grid article,body[data-theme="light"] .v63-player-integrity{background:#fff;color:#102047;border-color:rgba(30,64,175,.09)}
body[data-theme="light"] .v63-admin-review-actions{background:#f7faff;color:#102047}body[data-theme="light"] .v63-admin-review-actions textarea,body[data-theme="light"] .v63-sanction-form textarea,body[data-theme="light"] .v63-sanction-form select,body[data-theme="light"] .v63-sanction-form input{background:#fff;color:#102047;border-color:rgba(30,64,175,.13)}

@media(max-width:760px){
  .ranking-season-header{grid-template-columns:1fr auto!important}.ranking-season-actions-v63{grid-column:1/-1;justify-content:stretch}.ranking-season-actions-v63>button{flex:1}
  .v63-season-rewards-grid{grid-template-columns:1fr}.v63-admin-evidence-grid{grid-template-columns:1fr 1fr}.v63-player-integrity-grid{grid-template-columns:1fr}.v63-admin-action-grid{grid-template-columns:1fr 1fr}.v63-sanction-form{grid-template-columns:1fr 1fr}.v63-sanction-form input{grid-column:auto}.v63-audit-list article{grid-template-columns:1fr}.v63-integrity-row-actions{align-items:stretch}.v63-integrity-row-actions button{white-space:nowrap}
}
@media(max-width:480px){
  .v63-current-reward{grid-template-columns:1fr auto}.v63-palmares-summary{grid-template-columns:repeat(3,1fr);gap:5px}.v63-admin-evidence-grid{grid-template-columns:1fr}.v63-admin-action-grid{grid-template-columns:1fr}.v63-sanction-form{grid-template-columns:1fr}.v63-sanction-form textarea,.v63-sanction-form button{grid-column:auto}.ai-video-quota-v62{align-items:flex-start}.ai-video-quota-balances-v63{flex-direction:column;align-items:flex-end}.admin-match-review-modal-v63{padding:16px 12px}.v63-admin-review-hero{align-items:flex-start;flex-direction:column}.v63-admin-set-list>div,.v63-admin-rating-list>div{align-items:flex-start;flex-direction:column}
}


/* V63 — Palmarés público de temporada */
.public-palmares-v63{
  margin:14px 17px 0;
  padding:14px;
  border:1px solid var(--v15-line);
  border-radius:17px;
  background:rgba(255,255,255,.018);
}
.public-palmares-v63 .v63-palmares-list{margin-top:10px}
body[data-theme="light"] .public-palmares-v63{
  background:#fff;
  border-color:rgba(37,99,235,.10);
}

/* ============================================================
   TT-Rivals Versión 1.0 — Clubes internacionales + Comunidad
   ============================================================ */
.sports-location-v100{display:grid;gap:14px}.club-picker-v100{display:grid;gap:9px}.club-search-v100{display:flex;align-items:center;gap:8px;min-height:50px;padding:0 12px;border:1px solid var(--border);border-radius:14px;background:rgba(255,255,255,.045)}.club-search-v100>span{color:#7f94ac}.club-search-v100 input{min-height:46px;padding:0;border:0;background:transparent;box-shadow:none}.club-search-v100 input:focus{box-shadow:none}.club-results-v100{display:grid;gap:6px;max-height:310px;overflow:auto;padding:7px;border:1px solid rgba(96,165,250,.18);border-radius:14px;background:#0b1525;box-shadow:0 18px 42px rgba(0,0,0,.28)}.club-results-v100>button,.club-request-similar-v100>button{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;padding:11px;border:1px solid rgba(148,163,184,.08);border-radius:11px;color:var(--text);background:rgba(255,255,255,.035);text-align:left;cursor:pointer}.club-results-v100 button strong,.club-results-v100 button small,.club-request-similar-v100 button strong,.club-request-similar-v100 button small{display:block}.club-results-v100 button small,.club-request-similar-v100 button small{margin-top:3px;color:var(--muted);font-size:.72rem}.club-results-v100 button b{font-size:.63rem;color:#93c5fd}.club-empty-v100{padding:14px}.club-empty-v100 strong,.club-empty-v100 small{display:block}.club-empty-v100 small{margin-top:4px}.club-selected-v100{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 13px;border:1px solid rgba(34,197,94,.2);border-radius:13px;background:rgba(34,197,94,.07)}.club-selected-v100 strong,.club-selected-v100 small{display:block}.club-selected-v100 small{margin-top:3px}.club-selected-v100>button{width:32px;height:32px;border:1px solid var(--border);border-radius:9px;color:var(--text);background:rgba(255,255,255,.05)}.club-picker-actions-v100{display:grid;grid-template-columns:1fr 1fr;gap:8px}.club-picker-actions-v100 button{min-height:42px;border:1px solid var(--border);border-radius:12px;color:var(--text);background:rgba(255,255,255,.04);font-weight:800;cursor:pointer}.club-picker-actions-v100 button:last-child{border-color:rgba(96,165,250,.18);color:#bfdbfe;background:rgba(37,99,235,.08)}
.club-request-panel-v100{display:grid;gap:12px;padding:15px;border:1px solid rgba(245,158,11,.18);border-radius:16px;background:rgba(245,158,11,.045)}.club-request-head-v100{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.club-request-head-v100 strong,.club-request-head-v100 small{display:block}.club-request-head-v100 small{margin-top:3px}.club-request-head-v100>span{padding:5px 8px;border-radius:999px;background:rgba(245,158,11,.11);color:#fcd34d;font-size:.6rem;font-weight:900}.club-request-grid-v100{display:grid;grid-template-columns:1fr 1fr;gap:10px}.club-request-similar-v100{display:grid;gap:5px}.club-request-similar-v100>span{font-size:.7rem;color:#fcd34d;font-weight:800}
.federation-fieldset-v100{margin:0;padding:14px;border:1px solid var(--border);border-radius:16px}.federation-fieldset-v100 legend{padding:0 7px;font-size:.93rem;font-weight:800}.federation-choice-v100{display:grid;grid-template-columns:1fr 1fr;gap:8px}.federation-choice-v100 button{min-height:46px;border:1px solid var(--border);border-radius:12px;color:var(--muted);background:rgba(255,255,255,.035);font-weight:850}.federation-choice-v100 button.active{border-color:rgba(96,165,250,.28);color:white;background:rgba(37,99,235,.13);box-shadow:0 0 0 2px rgba(37,99,235,.05)}.federation-details-v100{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px}.federation-details-v100>small{grid-column:1/-1}

/* Dónde practicar */
.places-toolbar-v100{display:grid;gap:12px}.places-toolbar-head-v100{display:flex;align-items:center;justify-content:space-between;gap:12px}.places-toolbar-head-v100 strong,.places-toolbar-head-v100 small{display:block}.places-toolbar-head-v100 small{margin-top:3px}.places-toolbar-head-v100>button{min-height:40px;padding:0 13px;border:1px solid rgba(34,197,94,.2);border-radius:11px;color:#bbf7d0;background:rgba(34,197,94,.08);font-weight:850}.places-filter-grid-v100{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px}.places-filter-grid-v100 label,.practice-place-grid-v100 label{display:grid;gap:5px}.places-filter-grid-v100 label>span{font-size:.68rem;color:var(--muted);font-weight:800}.places-filter-grid-v100 select{min-height:44px}.places-search-v100{margin-top:0}.practice-places-list-v100{display:grid;gap:10px;margin-top:12px}.practice-place-card-v100{padding:16px;border:1px solid var(--border);border-radius:19px;background:linear-gradient(145deg,rgba(255,255,255,.06),rgba(255,255,255,.025));box-shadow:0 12px 30px rgba(0,0,0,.1)}.practice-place-card-head-v100{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.practice-place-card-head-v100>div{display:flex;gap:10px;align-items:center}.practice-place-card-head-v100>div>span{font-size:1.3rem}.practice-place-card-head-v100 strong,.practice-place-card-head-v100 small{display:block}.practice-place-card-head-v100 small{margin-top:4px}.practice-place-card-head-v100>b{padding:5px 8px;border-radius:999px;background:rgba(96,165,250,.08);color:#bfdbfe;font-size:.58rem;white-space:nowrap}.practice-place-access-v100{display:inline-flex;margin-top:12px;padding:7px 9px;border-radius:10px;background:rgba(255,255,255,.045);font-size:.75rem;font-weight:800}.practice-place-address-v100,.practice-place-schedule-v100{margin:10px 0 0;color:#c4ceda;font-size:.76rem;line-height:1.45}.practice-place-chips-v100{display:flex;gap:6px;flex-wrap:wrap;margin-top:10px}.practice-place-chips-v100 span{padding:5px 7px;border:1px solid rgba(148,163,184,.08);border-radius:999px;background:rgba(255,255,255,.03);color:#aebed0;font-size:.62rem}.practice-place-card-foot-v100{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:12px;padding-top:10px;border-top:1px solid rgba(148,163,184,.07)}.practice-place-card-foot-v100 button{border:0;color:#9fb1c6;background:transparent;font-size:.64rem}.my-place-submissions-v100 h3{margin:5px 0 10px}.my-place-pending-list-v100{display:grid;gap:7px}.my-place-pending-list-v100>div{display:grid;grid-template-columns:1fr auto;gap:2px 10px;padding:9px 10px;border-radius:11px;background:rgba(245,158,11,.05)}.my-place-pending-list-v100 strong,.my-place-pending-list-v100 small{display:block}.my-place-pending-list-v100 span{grid-column:2;grid-row:1/3;align-self:center;color:#fcd34d;font-size:.65rem;font-weight:900}
.practice-place-modal-v100{width:min(100%,700px)}.practice-place-form-v100{display:grid;gap:13px}.practice-place-form-v100 textarea{width:100%;min-height:92px;padding:12px 14px;border:1px solid var(--border);border-radius:14px;color:var(--text);background:rgba(255,255,255,.055);resize:vertical;font:inherit}.practice-place-grid-v100{display:grid;grid-template-columns:1fr 1fr;gap:10px}.place-club-picker-v100{display:grid;gap:7px}.place-club-picker-v100>span{font-size:.9rem;font-weight:750}.price-row-v100{display:grid;grid-template-columns:1fr 76px;gap:6px}.place-features-v100{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:0;padding:13px;border:1px solid var(--border);border-radius:15px}.place-features-v100 legend{padding:0 7px;font-weight:800}.place-features-v100 label{display:flex;align-items:center;gap:7px;padding:8px;border-radius:10px;background:rgba(255,255,255,.03);font-size:.7rem}.place-features-v100 input{width:17px;min-height:17px;height:17px;padding:0}.admin-merge-picker-v100{width:min(100%,540px)}.admin-merge-results-v100{display:grid;gap:6px;max-height:420px;overflow:auto;margin-top:10px}.admin-merge-results-v100>button{display:block;width:100%;padding:11px;border:1px solid var(--border);border-radius:11px;color:var(--text);background:rgba(255,255,255,.035);text-align:left}.admin-merge-results-v100 strong,.admin-merge-results-v100 small{display:block}.admin-merge-results-v100 small{margin-top:3px}

/* Administración comunitaria */
.admin-community-v100 .section-title-row p{margin:5px 0 0;color:var(--muted);font-size:.73rem}.admin-community-row-v100{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:center;padding:11px;border:1px solid rgba(148,163,184,.08);border-radius:12px;background:rgba(15,23,42,.42);margin-top:7px}.admin-community-row-v100 strong,.admin-community-row-v100 small,.admin-community-row-v100 em{display:block}.admin-community-row-v100 small{margin-top:3px}.admin-community-row-v100 em{margin-top:4px;color:#71869c;font-size:.62rem;font-style:normal}.admin-community-actions-v100{display:flex;gap:5px;flex-wrap:wrap;justify-content:flex-end}.admin-community-actions-v100 button,.admin-tester-row-v100>button{min-height:32px;padding:0 9px;border:1px solid rgba(96,165,250,.15);border-radius:9px;color:#bfdbfe;background:rgba(37,99,235,.07);font-size:.62rem;font-weight:850}.admin-community-actions-v100 button.danger,.admin-tester-row-v100>button.danger{border-color:rgba(239,68,68,.17);color:#fecaca;background:rgba(239,68,68,.07)}.admin-tester-results-v100{display:grid;gap:7px;margin-top:10px}.admin-tester-row-v100{display:grid;grid-template-columns:42px 1fr auto;gap:10px;align-items:center;padding:10px;border:1px solid rgba(148,163,184,.08);border-radius:12px;background:rgba(15,23,42,.42)}.admin-tester-avatar-v100{width:40px;height:40px;display:grid;place-items:center;overflow:hidden;border-radius:50%;background:rgba(239,68,68,.08);font-size:1.15rem}.admin-tester-avatar-v100 img{width:100%;height:100%;object-fit:cover}.admin-tester-row-v100 strong,.admin-tester-row-v100 small,.admin-tester-row-v100 em{display:block}.admin-tester-row-v100 small{margin-top:3px}.admin-tester-row-v100 em{margin-top:4px;color:#8ba0b5;font-size:.62rem;font-style:normal}
.tester-frame-card-v100{border-color:rgba(239,68,68,.23)!important;background:radial-gradient(circle at 50% 0,rgba(245,158,11,.09),transparent 45%),linear-gradient(145deg,rgba(55,17,21,.55),rgba(16,22,34,.96))!important}.tester-frame-card-v100 .frame-card-copy i{color:#fbbf24}

@media(max-width:700px){.club-request-grid-v100,.federation-details-v100,.practice-place-grid-v100{grid-template-columns:1fr}.places-filter-grid-v100{grid-template-columns:1fr 1fr}.places-filter-grid-v100 label:first-child{grid-column:1/-1}.place-features-v100{grid-template-columns:1fr 1fr}.admin-community-row-v100{grid-template-columns:1fr}.admin-community-actions-v100{justify-content:flex-start}.admin-tester-row-v100{grid-template-columns:38px 1fr}.admin-tester-row-v100>button{grid-column:1/-1}.club-picker-actions-v100{grid-template-columns:1fr}.places-toolbar-head-v100{align-items:flex-start;flex-direction:column}.practice-place-card-head-v100{flex-direction:column}.practice-place-card-foot-v100{align-items:flex-start;flex-direction:column}}
@media(max-width:390px){.places-filter-grid-v100,.place-features-v100{grid-template-columns:1fr}.places-filter-grid-v100 label:first-child{grid-column:auto}}

/* Versión 1.0 — edición del perfil deportivo sin desplegables gigantes */
.settings-club-picker-v100,.settings-club-request-v100,.settings-federation-v100{grid-column:1/-1;min-width:0}
.settings-club-label-v100{display:block;margin-bottom:7px;font-size:.78rem;font-weight:800;color:var(--text)}
.settings-club-picker-v100 .club-picker-v100{display:grid;gap:8px}
.settings-club-request-v100>label{display:grid;gap:6px}
.settings-federation-v100{margin-top:2px}

/* ============================================================
   TT RIVALS 1.0.1 — SISTEMA VISUAL + EXPERIENCIA COMPETITIVA
   Capa de refinamiento no destructiva sobre los componentes existentes.
   ============================================================ */

:root{
  --v101-radius-xl:22px;
  --v101-radius-lg:18px;
  --v101-radius-md:13px;
  --v101-panel:linear-gradient(145deg,rgba(15,29,49,.82),rgba(7,17,31,.70));
  --v101-panel-soft:linear-gradient(145deg,rgba(15,29,49,.60),rgba(8,19,34,.46));
  --v101-line:rgba(148,163,184,.12);
  --v101-line-strong:rgba(96,165,250,.22);
  --v101-shadow:0 18px 44px rgba(0,0,0,.16);
  --v101-glow:0 0 0 1px rgba(59,130,246,.045),0 18px 42px rgba(2,132,199,.055);
}

/* Jerarquía base: menos cajas planas, más separación entre información y acción. */
.tab-page>.page-heading{margin-bottom:16px}
.tab-page>.page-heading h1,.tab-page>.page-heading h2{letter-spacing:-.035em}
.tab-page>.page-heading p{max-width:760px;line-height:1.55}
.tab-page>.section-card,
#tab-profile>.section-card,
#tab-history>.section-card,
#tab-ai>.section-card,
#tab-tournaments>.section-card{
  border-color:var(--v101-line);
  border-radius:var(--v101-radius-xl);
}
button,.btn{transition:transform .16s ease,border-color .18s ease,background .18s ease,box-shadow .18s ease,opacity .18s ease}
button:not(:disabled):active,.btn:not(:disabled):active{transform:translateY(1px) scale(.992)}

/* ------------------------------------------------------------
   PERFIL — identidad primero, módulos secundarios después
   ------------------------------------------------------------ */
#tab-profile .v15-profile-hero{
  position:relative;
  overflow:hidden;
  gap:20px;
  padding:22px;
  border:1px solid rgba(96,165,250,.18);
  border-radius:24px;
  background:
    radial-gradient(circle at 12% 10%,rgba(56,189,248,.11),transparent 34%),
    radial-gradient(circle at 88% 0%,rgba(139,92,246,.10),transparent 36%),
    linear-gradient(145deg,rgba(12,30,51,.93),rgba(6,16,30,.88));
  box-shadow:var(--v101-glow);
}
#tab-profile .v15-profile-hero:after{
  content:'';position:absolute;right:-70px;bottom:-95px;width:260px;height:260px;border-radius:50%;
  border:1px solid rgba(96,165,250,.07);box-shadow:0 0 0 28px rgba(96,165,250,.018),0 0 0 58px rgba(139,92,246,.014);pointer-events:none
}
#tab-profile .v15-profile-main{position:relative;z-index:1;min-width:0}
#tab-profile .v15-profile-main h2{margin:3px 0;font-size:clamp(1.25rem,3vw,1.72rem);letter-spacing:-.04em}
#tab-profile .profile-rating-grid{gap:9px;margin-top:12px}
#tab-profile .profile-rating-grid>article,#tab-profile .profile-rating-grid>div{
  border-radius:17px!important;border-color:rgba(148,163,184,.10)!important;background:rgba(4,14,27,.32)!important
}
#tab-profile .profile-quick-actions-v56{gap:9px;margin:12px 0}
#tab-profile .profile-quick-action-v56{min-height:68px;border-radius:16px;border-color:rgba(148,163,184,.11);background:var(--v101-panel-soft)}
#tab-profile .profile-info-list{gap:6px}
#tab-profile .profile-season-section{background:linear-gradient(145deg,rgba(30,41,59,.32),rgba(14,24,40,.26))}

/* Título equipado: reconocimiento visible, no chip secundario. */
.profile-equipped-title-v58,.public-equipped-title-v58{
  position:relative;display:grid!important;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:9px;
  width:max-content;max-width:min(100%,430px);margin:10px 0 9px;padding:8px 11px 8px 9px;
  border:1px solid rgba(148,163,184,.15);border-radius:13px;
  background:linear-gradient(145deg,rgba(30,41,59,.74),rgba(10,19,33,.78));
  box-shadow:0 9px 24px rgba(0,0,0,.14);color:#e5edf8;font-size:initial
}
.profile-equipped-title-v58.hidden{display:none!important}
.profile-equipped-title-v58>span,.public-equipped-title-v58>span{
  display:grid;place-items:center;width:32px;height:32px;border-radius:10px;background:rgba(148,163,184,.08);font-size:.94rem
}
.profile-equipped-title-v58>strong,.public-equipped-title-v58>strong{
  min-width:0;font-size:.72rem;line-height:1.15;font-weight:950;letter-spacing:.045em;text-transform:uppercase;white-space:nowrap;overflow:hidden;text-overflow:ellipsis
}
.profile-equipped-title-v58>small,.public-equipped-title-v58>small{
  align-self:center;padding:4px 6px;border-radius:999px;background:rgba(148,163,184,.07);color:#8fa4bc;font-size:.34rem;font-weight:950;letter-spacing:.08em;text-transform:uppercase
}
.profile-equipped-title-v58.rarity-rare,.public-equipped-title-v58.rarity-rare{border-color:rgba(59,130,246,.30);box-shadow:0 10px 28px rgba(37,99,235,.09)}
.profile-equipped-title-v58.rarity-rare>span,.public-equipped-title-v58.rarity-rare>span{color:#93c5fd;background:rgba(59,130,246,.12)}
.profile-equipped-title-v58.rarity-epic,.public-equipped-title-v58.rarity-epic{border-color:rgba(168,85,247,.32);background:linear-gradient(145deg,rgba(75,32,111,.25),rgba(15,21,37,.82));box-shadow:0 10px 30px rgba(126,34,206,.10)}
.profile-equipped-title-v58.rarity-epic>span,.public-equipped-title-v58.rarity-epic>span{color:#d8b4fe;background:rgba(168,85,247,.13)}
.profile-equipped-title-v58.rarity-legendary,.public-equipped-title-v58.rarity-legendary{border-color:rgba(245,158,11,.36);background:linear-gradient(145deg,rgba(120,71,12,.25),rgba(25,24,34,.86));box-shadow:0 11px 32px rgba(245,158,11,.11)}
.profile-equipped-title-v58.rarity-legendary>span,.public-equipped-title-v58.rarity-legendary>span{color:#fde68a;background:rgba(245,158,11,.13)}
.profile-equipped-title-v58.rarity-legendary>small,.public-equipped-title-v58.rarity-legendary>small{color:#fde68a;background:rgba(245,158,11,.08)}
.profile-equipped-title-v58.rarity-mythic,.public-equipped-title-v58.rarity-mythic{
  border-color:rgba(232,121,249,.38);background:linear-gradient(120deg,rgba(101,40,132,.31),rgba(92,52,14,.18),rgba(15,21,37,.88));box-shadow:0 12px 34px rgba(192,38,211,.11)
}
.profile-equipped-title-v58.rarity-mythic>span,.public-equipped-title-v58.rarity-mythic>span{color:#f5d0fe;background:linear-gradient(145deg,rgba(217,70,239,.16),rgba(245,158,11,.10))}
.profile-equipped-title-v58.rarity-mythic>small,.public-equipped-title-v58.rarity-mythic>small{color:#f0abfc}
.profile-equipped-title-v58.rarity-exclusive,.public-equipped-title-v58.rarity-exclusive{
  border-color:rgba(248,113,113,.38);background:linear-gradient(125deg,rgba(127,29,29,.30),rgba(120,53,15,.18),rgba(15,21,37,.88));box-shadow:0 12px 34px rgba(239,68,68,.10)
}
.profile-equipped-title-v58.rarity-exclusive>span,.public-equipped-title-v58.rarity-exclusive>span{color:#fca5a5;background:rgba(239,68,68,.12)}

/* ------------------------------------------------------------
   RANKING — posición/avatar/nombre/Elo/acción en una sola lectura
   ------------------------------------------------------------ */
#tab-ranking .ranking-season-header{border-radius:22px;border-color:rgba(96,165,250,.18);background:linear-gradient(145deg,rgba(15,35,59,.78),rgba(7,19,35,.67));box-shadow:var(--v101-shadow)}
#tab-ranking .ranking-scope-tabs{padding:4px;border:1px solid rgba(148,163,184,.09);border-radius:15px;background:rgba(2,10,22,.27)}
#tab-ranking .ranking-scope{border-radius:11px}
#tab-ranking .ranking-podium-section{margin:12px 0 14px}
#tab-ranking .v62-rank-row{margin-bottom:7px;min-height:70px;border-radius:15px;background:linear-gradient(145deg,rgba(13,26,44,.74),rgba(7,17,30,.58));box-shadow:none}
#tab-ranking .v62-rank-row:nth-child(-n+3){border-color:rgba(96,165,250,.17)}
#tab-ranking .v62-rank-row:hover{border-color:rgba(96,165,250,.28);background:linear-gradient(145deg,rgba(16,34,57,.82),rgba(8,20,36,.68))}
#tab-ranking .v62-rank-challenge{height:38px;border-radius:11px}

/* ------------------------------------------------------------
   JUGAR — modalidades como decisión principal
   ------------------------------------------------------------ */
#tab-play .play-mode-gate-v62{gap:12px;margin:8px 0 18px}
#tab-play .play-mode-gate-v62>button{min-height:92px;padding:15px;border-radius:20px;background:linear-gradient(145deg,rgba(15,31,52,.88),rgba(7,19,35,.70));box-shadow:0 14px 30px rgba(0,0,0,.10)}
#tab-play .play-mode-gate-v62>button>span{width:48px;height:48px;border-radius:14px;font-size:1.22rem}
#tab-play .play-mode-gate-v62 strong{font-size:.77rem}
#tab-play .play-mode-gate-v62 small{line-height:1.42}
#tab-play .play-mode-gate-v62>button.active{border-color:rgba(56,189,248,.46);box-shadow:0 15px 34px rgba(2,132,199,.08),inset 0 0 0 1px rgba(56,189,248,.06)}
#tab-play .tournament-banner{border-radius:18px}

/* ------------------------------------------------------------
   HISTORIAL — filtros compactos y resultado protagonista
   ------------------------------------------------------------ */
#tab-history .history-summary-grid{gap:8px}
#tab-history .history-filter-bar{gap:8px;padding:10px;border:1px solid rgba(148,163,184,.09);border-radius:17px;background:rgba(4,13,26,.26)}
#tab-history .history-filter-group{gap:5px}
#tab-history .history-filter{border-radius:10px}
#tab-history .v15-history-shell{background:linear-gradient(145deg,rgba(12,25,43,.49),rgba(6,17,30,.36))}
#tab-history .history-search{border-radius:12px}

/* ------------------------------------------------------------
   INTELLIGENCE LAB — herramientas disponibles con identidad propia
   ------------------------------------------------------------ */
#tab-ai .ai-assistant-hero-v61{position:relative;overflow:hidden;border-color:rgba(139,92,246,.21);background:radial-gradient(circle at 10% 10%,rgba(56,189,248,.09),transparent 32%),radial-gradient(circle at 88% 0%,rgba(139,92,246,.13),transparent 38%),linear-gradient(145deg,rgba(16,28,51,.90),rgba(8,17,31,.80));box-shadow:var(--v101-glow)}
#tab-ai .ai-feature-grid-v61{gap:10px}
#tab-ai .ai-feature-card{border-radius:18px!important;background:linear-gradient(145deg,rgba(14,28,48,.74),rgba(7,18,32,.58))}
#tab-ai .ai-feature-live-v61{border-color:rgba(56,189,248,.18)!important;box-shadow:0 12px 28px rgba(0,0,0,.09)}
#tab-ai .ai-feature-live-v61:hover{transform:translateY(-1px);border-color:rgba(56,189,248,.33)!important}
#tab-ai .ai-tool-panel-v61{border-radius:21px}

/* ------------------------------------------------------------
   TORNEOS — elección inmediata y tarjetas menos pesadas
   ------------------------------------------------------------ */
#tab-tournaments .tournament-choice-grid{gap:10px}
#tab-tournaments .tournament-choice-card{border-radius:19px;background:linear-gradient(145deg,rgba(15,30,51,.80),rgba(7,19,34,.62));box-shadow:0 12px 28px rgba(0,0,0,.09)}
#tab-tournaments .tournament-choice-card:hover{transform:translateY(-1px);border-color:rgba(96,165,250,.28)}
#tab-tournaments .tournament-hub-v30{background:linear-gradient(145deg,rgba(12,25,43,.50),rgba(7,17,31,.39))}
#tab-tournaments .tournament-hub-tabs{padding:4px;border-radius:14px;background:rgba(3,11,23,.24)}

/* ------------------------------------------------------------
   MISIONES DIARIAS 1.0.1
   ------------------------------------------------------------ */
.v101-mission-cycle-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0 0 8px;padding:0 2px}.v101-mission-cycle-head>span{color:#cfe3f8;font-size:.58rem;font-weight:900}.v101-mission-cycle-head>small{color:#6f86a1;font-size:.48rem}
.v28-mission{position:relative;overflow:hidden}.v28-mission>div:first-child>span{display:inline-flex;margin-bottom:4px;padding:3px 5px;border-radius:999px;background:rgba(148,163,184,.07);color:#8297af;font-size:.30rem!important;font-weight:950;letter-spacing:.09em}
.v28-mission.v101-mission-easy{border-color:rgba(34,197,94,.13)}.v28-mission.v101-mission-easy>div:first-child>span{color:#86efac;background:rgba(34,197,94,.08)}
.v28-mission.v101-mission-medium{border-color:rgba(59,130,246,.15)}.v28-mission.v101-mission-medium>div:first-child>span{color:#93c5fd;background:rgba(59,130,246,.08)}
.v28-mission.v101-mission-challenge{border-color:rgba(168,85,247,.17)}.v28-mission.v101-mission-challenge>div:first-child>span{color:#d8b4fe;background:rgba(168,85,247,.09)}
.v101-missions-complete{display:grid;grid-template-columns:46px 1fr;gap:12px;align-items:center;padding:15px;border:1px solid rgba(34,197,94,.20);border-radius:17px;background:radial-gradient(circle at 0 0,rgba(34,197,94,.10),transparent 42%),linear-gradient(145deg,rgba(9,37,38,.54),rgba(7,20,31,.60));box-shadow:0 13px 30px rgba(0,0,0,.08)}
.v101-missions-complete>span{display:grid;place-items:center;width:44px;height:44px;border-radius:14px;background:rgba(34,197,94,.12);color:#86efac;font-size:1.1rem;font-weight:950}.v101-missions-complete small,.v101-missions-complete strong,.v101-missions-complete p,.v101-missions-complete em{display:block}.v101-missions-complete small{color:#65b889;font-size:.35rem;letter-spacing:.11em;font-weight:950}.v101-missions-complete strong{margin-top:3px;font-size:.72rem}.v101-missions-complete p{margin:3px 0;color:#a8bbc9;font-size:.50rem}.v101-missions-complete em{margin-top:6px;color:#86efac;font-size:.44rem;font-style:normal}

/* ------------------------------------------------------------
   ELO + RACHA 1.0.1
   ------------------------------------------------------------ */
.post-streak-boost-v101{display:grid;grid-template-columns:42px 1fr;gap:11px;align-items:start;margin:10px 0;padding:13px;border:1px solid rgba(245,158,11,.22);border-radius:16px;background:radial-gradient(circle at 0 0,rgba(245,158,11,.11),transparent 43%),linear-gradient(145deg,rgba(72,43,12,.20),rgba(9,20,34,.64));box-shadow:0 12px 28px rgba(0,0,0,.09)}
.post-streak-boost-v101>span{display:grid;place-items:center;width:40px;height:40px;border-radius:13px;background:rgba(245,158,11,.12);font-size:1rem}.post-streak-boost-v101 small,.post-streak-boost-v101 strong{display:block}.post-streak-boost-v101 small{color:#e5a93d;font-size:.34rem;letter-spacing:.11em;font-weight:950}.post-streak-boost-v101 strong{margin-top:3px;color:#fff2c8;font-size:.68rem}.post-streak-boost-v101 p{margin:5px 0 0;color:#aab9c9;font-size:.48rem;line-height:1.48}
.post-streak-boost-v101.breaker{border-color:rgba(56,189,248,.25);background:radial-gradient(circle at 0 0,rgba(56,189,248,.12),transparent 44%),linear-gradient(145deg,rgba(8,54,79,.26),rgba(9,20,34,.65))}.post-streak-boost-v101.breaker>span{background:rgba(56,189,248,.12)}.post-streak-boost-v101.breaker small{color:#7dd3fc}.post-streak-boost-v101.breaker strong{color:#d9f5ff}

/* ------------------------------------------------------------
   DISPUTAS — plazo administrativo visible
   ------------------------------------------------------------ */
.dispute-deadline-v101{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:10px 0;padding:10px 11px;border:1px solid rgba(245,158,11,.18);border-radius:12px;background:rgba(245,158,11,.055)}
.dispute-deadline-v101 strong,.dispute-deadline-v101 small{display:block}.dispute-deadline-v101 strong{color:#fde68a;font-size:.58rem}.dispute-deadline-v101 small{margin-top:3px;color:#9daaba;font-size:.43rem}.dispute-deadline-v101>b{color:#fbbf24;font-size:.56rem;white-space:nowrap}.admin-dispute-row-v58.deadline-urgent-v101{border-color:rgba(239,68,68,.30)!important;box-shadow:inset 3px 0 0 rgba(239,68,68,.55)}

/* ------------------------------------------------------------
   ENTRADA MOTIVACIONAL — 0 tokens, una vez por apertura real
   ------------------------------------------------------------ */
.v101-motivation-overlay{position:fixed;inset:0;z-index:10050;display:grid;place-items:center;padding:24px;background:rgba(2,7,16,.70);backdrop-filter:blur(10px);opacity:0;transition:opacity .34s ease;overflow:hidden;cursor:pointer}
.v101-motivation-overlay.show{opacity:1}.v101-motivation-overlay.leaving{opacity:0;pointer-events:none}
.v101-motivation-glow{position:absolute;width:min(72vw,660px);aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,rgba(37,99,235,.20),rgba(124,58,237,.08) 35%,transparent 67%);filter:blur(8px);transform:scale(.82);opacity:0;transition:transform .72s cubic-bezier(.2,.8,.2,1),opacity .62s ease}
.v101-motivation-overlay.show .v101-motivation-glow{transform:scale(1);opacity:1}
.v101-motivation-card{position:relative;z-index:2;width:min(92vw,560px);padding:30px 28px 27px;text-align:center;border:1px solid rgba(125,211,252,.18);border-radius:26px;background:radial-gradient(circle at 50% 0,rgba(56,189,248,.09),transparent 38%),linear-gradient(145deg,rgba(13,29,51,.96),rgba(6,16,30,.96));box-shadow:0 34px 80px rgba(0,0,0,.42),0 0 55px rgba(37,99,235,.07);transform:translateY(18px) scale(.965);opacity:0;transition:transform .50s cubic-bezier(.2,.8,.2,1),opacity .42s ease}
.v101-motivation-overlay.show .v101-motivation-card{transform:none;opacity:1}.v101-motivation-icon{display:grid;place-items:center;width:58px;height:58px;margin:0 auto 13px;border:1px solid rgba(125,211,252,.17);border-radius:18px;background:linear-gradient(145deg,rgba(37,99,235,.18),rgba(124,58,237,.10));font-size:1.55rem;box-shadow:0 12px 28px rgba(37,99,235,.10)}
.v101-motivation-card>small{display:block;color:#6faed8;font-size:.44rem;font-weight:950;letter-spacing:.17em}.v101-motivation-card h2{margin:8px auto 7px;max-width:500px;font-size:clamp(1.15rem,4vw,1.62rem);line-height:1.08;letter-spacing:-.035em}.v101-motivation-card p{margin:0 auto;max-width:470px;color:#a9bad0;font-size:.73rem;line-height:1.55}.v101-motivation-card>i{display:block;width:72px;height:2px;margin:18px auto 0;border-radius:999px;background:linear-gradient(90deg,transparent,#38bdf8,#a78bfa,transparent);opacity:.7}
.v101-motivation-skip{position:absolute;top:18px;right:18px;z-index:3;padding:7px 10px;border:1px solid rgba(148,163,184,.13);border-radius:999px;background:rgba(15,23,42,.45);color:#8ca0b7;font-size:.48rem;font-weight:850;cursor:pointer}.v101-motivation-skip:hover{color:#dbeafe;border-color:rgba(96,165,250,.25)}

/* Claro: mantener contraste sin perder la jerarquía. */
body[data-theme="light"] #tab-profile .v15-profile-hero,body[data-theme="light"] #tab-ranking .ranking-season-header,body[data-theme="light"] #tab-ai .ai-assistant-hero-v61{background:linear-gradient(145deg,#f8fbff,#edf4ff);color:#102047;border-color:rgba(37,99,235,.12)}
body[data-theme="light"] .profile-equipped-title-v58,body[data-theme="light"] .public-equipped-title-v58{background:#fff;color:#172554;box-shadow:0 9px 24px rgba(30,64,175,.07)}
body[data-theme="light"] .v101-motivation-card{background:linear-gradient(145deg,#f8fbff,#eef4ff);color:#102047}body[data-theme="light"] .v101-motivation-card p{color:#52647d}

@media(max-width:760px){
  #tab-profile .v15-profile-hero{padding:18px 15px;gap:14px}
  .profile-equipped-title-v58,.public-equipped-title-v58{grid-template-columns:31px minmax(0,1fr) auto;width:100%;max-width:100%;padding:7px 9px}
  .profile-equipped-title-v58>span,.public-equipped-title-v58>span{width:29px;height:29px}
  .profile-equipped-title-v58>strong,.public-equipped-title-v58>strong{font-size:.68rem}
  #tab-play .play-mode-gate-v62>button{min-height:78px}
  #tab-history .history-filter-bar{padding:8px}
  .dispute-deadline-v101{align-items:flex-start;flex-direction:column}
}
@media(max-width:480px){
  .v101-motivation-overlay{padding:14px}.v101-motivation-card{padding:26px 17px 23px;border-radius:22px}.v101-motivation-skip{top:12px;right:12px}.v101-motivation-icon{width:52px;height:52px}
  .v101-mission-cycle-head{align-items:flex-start;flex-direction:column;gap:3px}
  .post-streak-boost-v101{grid-template-columns:36px 1fr}.post-streak-boost-v101>span{width:35px;height:35px}
  .profile-equipped-title-v58>small,.public-equipped-title-v58>small{font-size:.30rem;padding:3px 5px}
}
@media(prefers-reduced-motion:reduce){
  .v101-motivation-overlay,.v101-motivation-glow,.v101-motivation-card,button,.btn{transition:none!important;animation:none!important}
  .v101-motivation-overlay.show,.v101-motivation-overlay.show .v101-motivation-card{opacity:1;transform:none}
}
