*{margin:0;padding:0;box-sizing:border-box}:root{--bg-primary: #0a0e17;--bg-secondary: #0f1520;--bg-card: #141b27;--bg-hover: #1a2332;--border: #1e2a3a;--text-primary: #e8edf5;--text-secondary: #8896a8;--text-muted: #4a5568;--accent: #5b8def;--green: #34d399;--gold: #f59e0b;--red: #ef4444;--purple: #a78bfa}html{font-size:15px}body{background:var(--bg-primary);color:var(--text-primary);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,system-ui,sans-serif;line-height:1.5;min-height:100vh}.container{max-width:1200px;margin:0 auto;padding:12px}header{text-align:center;padding:20px 0 12px}header h1{font-size:1.5rem;font-weight:800;color:var(--gold);letter-spacing:-.5px}header .subtitle{font-size:.85rem;color:var(--text-secondary);margin-top:2px}.meta-row{display:flex;justify-content:center;gap:16px;margin-top:8px;font-size:.72rem;color:var(--text-muted)}.summary-bar{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-bottom:16px;padding:10px 16px;background:var(--bg-card);border:1px solid var(--border);border-radius:10px}.stat-item{text-align:center;min-width:70px}.stat-item .num{font-size:1.2rem;font-weight:700;color:var(--accent);font-variant-numeric:tabular-nums}.stat-item .lbl{font-size:.6rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em}.tabs{display:flex;gap:4px;justify-content:center;margin-bottom:16px;flex-wrap:wrap}.tab-btn{background:var(--bg-card);border:1px solid var(--border);border-radius:8px;padding:7px 14px;color:var(--text-secondary);cursor:pointer;font-size:.78rem;font-weight:500;transition:all .2s}.tab-btn:hover{background:var(--bg-hover)}.tab-btn.active{background:var(--accent);color:#fff;border-color:var(--accent)}.tab-content{display:none}.tab-content.active{display:block}.groups-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:12px}.group-card{background:var(--bg-card);border:1px solid var(--border);border-radius:10px;padding:12px}.group-card h3{font-size:.78rem;color:var(--accent);margin-bottom:8px;text-transform:uppercase;letter-spacing:.05em;font-weight:600}.standings-table{width:100%;font-size:.75rem;border-collapse:collapse}.standings-table th{text-align:left;color:var(--text-muted);font-weight:500;padding:4px 5px;border-bottom:1px solid var(--border);font-size:.65rem;text-transform:uppercase}.standings-table td{padding:6px 5px;border-bottom:1px solid var(--bg-hover)}.standings-table tr:last-child td{border-bottom:none}.standings-table .pos{color:var(--text-muted);width:18px;text-align:center}.standings-table .team-name{font-weight:500;white-space:nowrap}.standings-table .pts{font-weight:700;color:var(--accent);text-align:center}.standings-table .qual-top2 td{background:#34d3990f}.standings-table .qual-3rd td{background:#f59e0b0f}.standings-table .elim td{opacity:.5}.third-section{background:var(--bg-card);border:1px solid var(--border);border-radius:10px;padding:16px}.third-section h3{font-size:.9rem;color:var(--gold);margin-bottom:4px}.third-section .info{font-size:.73rem;color:var(--text-secondary);margin-bottom:12px}.third-table{width:100%;font-size:.75rem;border-collapse:collapse}.third-table th{text-align:left;color:var(--text-muted);font-weight:500;padding:5px 8px;border-bottom:1px solid var(--border);font-size:.65rem}.third-table td{padding:6px 8px;border-bottom:1px solid var(--bg-hover)}.third-table .qual-3rd td{background:#f59e0b0a}.third-table .elim td{opacity:.5}.badge-advance{color:var(--green);font-weight:600;font-size:.7rem}.badge-elim{color:var(--text-muted);font-size:.7rem}.bracket-section{padding:8px 0}.bracket-legend{text-align:center;margin-bottom:16px}.bracket-legend p{font-size:.73rem;color:var(--text-secondary)}.bracket-halves{display:grid;grid-template-columns:1fr 1fr;gap:16px}.bracket-half h4{font-size:.72rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;margin-bottom:10px;text-align:center;padding-bottom:6px;border-bottom:1px solid var(--border)}.bracket-matches{display:flex;flex-direction:column;gap:8px}.bracket-match{background:var(--bg-card);border:1px solid var(--border);border-radius:8px;padding:8px 10px}.bracket-match .bm-label{font-size:.58rem;color:var(--text-muted);margin-bottom:4px}.bracket-match .bm-team{display:flex;justify-content:space-between;align-items:center;padding:4px 0}.bracket-match .bm-name{font-size:.78rem;font-weight:500}.bracket-match .bm-seed{font-size:.6rem;color:var(--text-muted);font-family:monospace}.bracket-match .bm-vs{text-align:center;font-size:.6rem;color:var(--text-muted);padding:2px 0}.bracket-match.tbd{opacity:.5;border-style:dashed}.bracket-tree{margin-top:20px;background:var(--bg-card);border:1px solid var(--border);border-radius:10px;padding:16px;text-align:center}.tree-header{display:flex;justify-content:center;gap:24px;margin-bottom:8px}.tree-stage{font-size:.7rem;color:var(--accent);font-weight:600;text-transform:uppercase;padding:4px 12px;background:#5b8def1a;border-radius:4px}.tree-note{font-size:.7rem;color:var(--text-muted)}.schedule-heading{font-size:.72rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;margin:16px 0 10px;padding-bottom:6px;border-bottom:1px solid var(--border)}.schedule-heading.live-heading{color:var(--green)}.schedule-heading:first-child{margin-top:0}.schedule-matches{display:flex;flex-direction:column;gap:6px}.schedule-date{font-size:.7rem;color:var(--gold);font-weight:600;padding:4px 0;margin-top:8px}.schedule-divider{height:1px;background:var(--border);margin:4px 0}.match-card{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:8px;padding:10px 12px;background:var(--bg-card);border:1px solid var(--border);border-radius:8px;font-size:.78rem}.match-card.live{border-color:var(--green);box-shadow:0 0 8px #34d39926}.mc-team{font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mc-team.home{text-align:right}.mc-team.away{text-align:left}.mc-team.winner{color:var(--green);font-weight:700}.match-score{font-weight:700;color:var(--accent);font-variant-numeric:tabular-nums;min-width:40px;text-align:center}.match-score.live{color:var(--green);animation:pulse 2s infinite}.match-time{font-size:.7rem;color:var(--text-muted);min-width:50px;text-align:center}.match-group{position:absolute;top:4px;right:8px;font-size:.58rem;color:var(--text-muted)}.match-card{position:relative}@keyframes pulse{0%,to{opacity:1}50%{opacity:.6}}footer{text-align:center;padding:24px 0;margin-top:24px;border-top:1px solid var(--border);font-size:.72rem;color:var(--text-muted)}footer a{color:var(--accent);text-decoration:none}footer .disclaimer{margin-top:4px;font-size:.65rem}.loading{text-align:center;padding:48px;color:var(--text-muted)}.loading:after{content:"";display:inline-block;width:16px;height:16px;border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite;margin-left:8px;vertical-align:middle}@keyframes spin{to{transform:rotate(360deg)}}@media(max-width:768px){.groups-grid,.bracket-halves{grid-template-columns:1fr}header h1{font-size:1.3rem}.tree-header{gap:12px;flex-wrap:wrap}}@media(max-width:480px){.summary-bar{gap:8px;padding:8px 10px}.stat-item .num{font-size:1rem}.match-card{font-size:.72rem;gap:4px;padding:8px}}.sim-tab{background:linear-gradient(135deg,#a78bfa26,#5b8def26);border-color:var(--purple);color:var(--purple)}.sim-tab.active{background:var(--purple);color:#fff;border-color:var(--purple)}.sim-header{text-align:center;margin-bottom:20px}.sim-header h3{font-size:1.1rem;color:var(--purple);margin-bottom:4px}.sim-desc{font-size:.75rem;color:var(--text-secondary);margin-bottom:12px}.sim-progress{display:flex;align-items:center;gap:10px;justify-content:center}.sim-progress-bar{width:120px;height:6px;background:var(--bg-hover);border-radius:3px;overflow:hidden}.sim-progress-fill{height:100%;background:var(--purple);border-radius:3px;transition:width .3s}.sim-progress-text{font-size:.7rem;color:var(--text-muted)}.sim-reset{font-size:.65rem;padding:3px 8px;background:#ef44441a;border:1px solid var(--red);color:var(--red);border-radius:4px;cursor:pointer}.sim-reset:hover{background:#ef444433}.sim-matches{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:12px;margin-bottom:24px}.sim-group-section{background:var(--bg-card);border:1px solid var(--border);border-radius:10px;padding:12px}.sim-group-header{font-size:.72rem;color:var(--accent);font-weight:600;text-transform:uppercase;letter-spacing:.04em;margin-bottom:10px;padding-bottom:6px;border-bottom:1px solid var(--border)}.sim-match{margin-bottom:8px}.sim-match:last-child{margin-bottom:0}.sim-match-date{font-size:.6rem;color:var(--text-muted);margin-bottom:4px}.sim-match-row{display:grid;grid-template-columns:1fr auto 1fr;gap:4px}.sim-pick{background:var(--bg-primary);border:1px solid var(--border);border-radius:6px;padding:8px 6px;font-size:.72rem;color:var(--text-secondary);cursor:pointer;text-align:center;transition:all .15s;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sim-pick:hover{border-color:var(--purple);color:var(--text-primary);background:#a78bfa0f}.sim-pick.active{background:#a78bfa26;border-color:var(--purple);color:var(--purple);font-weight:600}.sim-pick.draw{font-size:.65rem;padding:8px 4px}.sim-results{border-top:1px solid var(--border);padding-top:20px}.sim-results-title{font-size:.8rem;color:var(--purple);margin-bottom:12px;font-weight:600}.sim-standings-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:8px;margin-bottom:20px}.sim-group-card{background:var(--bg-card);border:1px solid var(--border);border-radius:8px;padding:8px}.sim-group-label{font-size:.6rem;color:var(--accent);font-weight:600;margin-bottom:6px;text-align:center;text-transform:uppercase}.sim-team-row{display:flex;align-items:center;gap:4px;padding:3px 4px;border-radius:4px;font-size:.68rem}.sim-team-row.sim-qual{background:#34d3990f}.sim-team-row.sim-third{background:#f59e0b0f}.sim-team-row.sim-elim{opacity:.4}.sim-pos{color:var(--text-muted);width:14px;font-size:.6rem}.sim-name{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sim-pts{font-weight:700;color:var(--accent);font-size:.7rem}.sim-thirds{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:20px}.sim-third-item{display:flex;align-items:center;gap:6px;padding:6px 10px;background:var(--bg-card);border:1px solid var(--border);border-radius:6px;font-size:.7rem}.sim-third-item.advance{border-color:#34d3994d}.sim-third-item.out{opacity:.4}.sim-third-rank{color:var(--text-muted);font-size:.6rem}.sim-third-group{color:var(--accent);font-weight:600}.sim-third-pts{color:var(--gold);font-weight:600}.sim-third-status{font-size:.58rem;font-weight:700;padding:1px 4px;border-radius:3px}.sim-third-item.advance .sim-third-status{color:var(--green);background:#34d3991a}.sim-third-item.out .sim-third-status{color:var(--text-muted)}.sim-bracket-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:8px}.sim-bracket-match{background:var(--bg-card);border:1px solid var(--border);border-radius:6px;padding:8px 10px}.sim-bm-label{font-size:.55rem;color:var(--text-muted);margin-bottom:4px}.sim-bm-team{font-size:.73rem;font-weight:500;padding:2px 0}.sim-bm-vs{font-size:.55rem;color:var(--text-muted);text-align:center}@media(max-width:768px){.sim-matches{grid-template-columns:1fr}.sim-standings-grid{grid-template-columns:repeat(auto-fill,minmax(130px,1fr))}.sim-bracket-grid{grid-template-columns:1fr 1fr}}@media(max-width:480px){.sim-bracket-grid{grid-template-columns:1fr}.sim-pick{font-size:.65rem;padding:6px 4px}}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000b3;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;display:flex;align-items:center;justify-content:center;padding:16px;opacity:0;transition:opacity .2s}.modal-overlay.open{opacity:1}.modal-container{background:var(--bg-secondary);border:1px solid var(--border);border-radius:12px;max-height:85vh;overflow-y:auto;position:relative;width:100%;animation:modalSlide .2s ease-out}.modal-overlay.large .modal-container{max-width:700px}.modal-overlay.small .modal-container{max-width:420px}.modal-close{position:sticky;top:0;float:right;background:var(--bg-card);border:1px solid var(--border);color:var(--text-secondary);font-size:1.4rem;width:32px;height:32px;border-radius:50%;cursor:pointer;margin:8px;z-index:10;display:flex;align-items:center;justify-content:center}.modal-close:hover{color:var(--text-primary);background:var(--bg-hover)}.modal-body{padding:0 20px 20px}.modal-loading{text-align:center;padding:40px}.modal-loading p{color:var(--text-muted);margin-top:12px;font-size:.8rem}.spinner{width:24px;height:24px;border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite;margin:0 auto}@keyframes modalSlide{0%{transform:translateY(10px);opacity:0}to{transform:translateY(0);opacity:1}}.team-modal-header{display:flex;align-items:center;gap:12px;margin-bottom:16px;padding-top:12px}.team-flag-large{font-size:2.5rem}.team-modal-header h2{font-size:1.3rem;margin:0}.team-group-badge{display:inline-block;background:#5b8def26;color:var(--accent);padding:2px 8px;border-radius:4px;font-size:.7rem;font-weight:600;margin-right:8px}.team-standing{font-size:.72rem;color:var(--text-muted)}.team-stats-row{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:16px;padding:12px;background:var(--bg-card);border-radius:8px}.ts-item{text-align:center;flex:1;min-width:40px}.ts-item .ts-val{display:block;font-size:1.1rem;font-weight:700;color:var(--text-primary)}.ts-item.win .ts-val{color:var(--green)}.ts-item.loss .ts-val{color:var(--red)}.ts-item.pts .ts-val{color:var(--gold)}.ts-item .ts-lbl{font-size:.58rem;color:var(--text-muted);text-transform:uppercase}.tm-section-title{font-size:.68rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;margin:12px 0 6px;padding-bottom:4px;border-bottom:1px solid var(--border)}.tm-section-title.live-title{color:var(--green)}.tm-match-row{display:flex;align-items:center;gap:8px;padding:10px 8px;border-radius:6px;font-size:.78rem;transition:background .15s}.tm-match-row.clickable{cursor:pointer}.tm-match-row.clickable:hover{background:var(--bg-hover)}.tm-result{font-size:.65rem;font-weight:700;width:20px;height:20px;display:flex;align-items:center;justify-content:center;border-radius:4px}.tm-result.win{background:#34d39926;color:var(--green)}.tm-result.loss{background:#ef444426;color:var(--red)}.tm-result.draw{background:#f59e0b26;color:var(--gold)}.tm-date{color:var(--text-muted);font-size:.68rem;min-width:50px}.tm-vs{color:var(--text-muted);font-size:.65rem}.tm-opponent{flex:1;font-weight:500}.tm-score{font-weight:700;color:var(--accent);font-variant-numeric:tabular-nums}.tm-time{font-size:.7rem;color:var(--text-muted)}.tm-arrow{color:var(--text-muted);font-size:1.1rem}.mm-header{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;padding:16px 0;border-bottom:1px solid var(--border);margin-bottom:12px}.mm-team{font-size:.9rem;font-weight:600}.mm-team.home{text-align:right}.mm-team.away{text-align:left}.mm-score-block{text-align:center}.mm-score{font-size:1.8rem;font-weight:800;color:var(--accent);font-variant-numeric:tabular-nums}.mm-halftime{font-size:.65rem;color:var(--text-muted)}.mm-info{display:flex;flex-direction:column;gap:4px;margin-bottom:16px;padding:10px;background:var(--bg-card);border-radius:8px}.mm-info-item{font-size:.73rem;color:var(--text-secondary);display:flex;align-items:center;gap:6px}.mm-info-icon{color:var(--text-muted)}.mm-events{margin-bottom:16px}.mm-events h4{font-size:.75rem;color:var(--text-muted);text-transform:uppercase;margin-bottom:8px}.mm-event{display:flex;align-items:flex-start;gap:8px;padding:6px 8px;border-radius:4px;font-size:.73rem;margin-bottom:2px}.mm-event.goal{background:#34d3990f}.mm-ev-time{color:var(--accent);font-weight:600;min-width:30px;font-variant-numeric:tabular-nums}.mm-ev-icon{min-width:16px}.mm-ev-text{color:var(--text-secondary);flex:1}.card{display:inline-block;width:10px;height:13px;border-radius:2px}.card.yellow{background:#f59e0b}.card.red{background:#ef4444}.mm-lineups h4{font-size:.75rem;color:var(--text-muted);text-transform:uppercase;margin-bottom:8px}.mm-lineups-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.mm-lineup-team h5{font-size:.72rem;color:var(--accent);margin-bottom:6px}.mm-player{display:flex;align-items:center;gap:6px;padding:4px 6px;border-radius:4px;font-size:.7rem;cursor:pointer;transition:background .15s}.mm-player:hover{background:var(--bg-hover)}.mm-jersey{color:var(--text-muted);font-weight:600;min-width:18px;font-variant-numeric:tabular-nums}.mm-pname{flex:1}.mm-pos{color:var(--text-muted);font-size:.6rem}.mm-subs-label{font-size:.6rem;color:var(--text-muted);margin-top:8px;margin-bottom:4px;padding-top:6px;border-top:1px solid var(--border)}.mm-player.sub{opacity:.7}.pm-header{display:flex;gap:16px;align-items:flex-start;padding-top:12px}.pm-photo{width:80px;height:80px;border-radius:50%;object-fit:cover;background:var(--bg-card)}.pm-photo-placeholder{width:80px;height:80px;border-radius:50%;background:var(--bg-card)}.pm-info h3{font-size:1.1rem;margin:0 0 4px}.pm-meta{display:flex;gap:8px;margin-bottom:8px}.pm-jersey{background:var(--accent);color:#fff;padding:1px 6px;border-radius:4px;font-size:.7rem;font-weight:700}.pm-position{color:var(--gold);font-size:.72rem;font-weight:500}.pm-details{font-size:.72rem;color:var(--text-secondary);line-height:1.6}.pm-stats h4{font-size:.72rem;color:var(--text-muted);text-transform:uppercase;margin-bottom:8px}@media(max-width:480px){.mm-lineups-grid{grid-template-columns:1fr}.team-stats-row{gap:4px}.mm-header{gap:8px}.mm-score{font-size:1.4rem}}.pm-stats{margin-top:16px;padding-top:12px;border-top:1px solid var(--border)}.pm-stats h4,.pm-club-stats h4,.pm-gamelog h4{font-size:.72rem;color:var(--gold);text-transform:uppercase;margin-bottom:10px;letter-spacing:.03em}.pm-stats-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(90px,1fr));gap:8px}.pm-stats-grid.mini{grid-template-columns:repeat(3,1fr)}.pm-stat-item{text-align:center;padding:10px 6px;background:var(--bg-card);border:1px solid var(--border);border-radius:8px}.pm-stat-item.highlight{border-color:var(--green);background:#34d3990f}.pm-stat-item.highlight-assist{border-color:var(--purple);background:#a78bfa0f}.pm-stat-val{display:block;font-size:1.3rem;font-weight:800;color:var(--text-primary);font-variant-numeric:tabular-nums}.pm-stat-item.highlight .pm-stat-val{color:var(--green)}.pm-stat-item.highlight-assist .pm-stat-val{color:var(--purple)}.pm-stat-lbl{display:block;font-size:.58rem;color:var(--text-muted);margin-top:2px;text-transform:uppercase}.pm-club-stats{margin-top:14px;padding-top:12px;border-top:1px solid var(--border)}.pm-club-stats h4{color:var(--text-muted)}.pm-gamelog{margin-top:14px;padding-top:12px;border-top:1px solid var(--border)}.pm-gl-table{font-size:.68rem}.pm-gl-header{display:grid;grid-template-columns:1fr repeat(6,32px);gap:2px;padding:6px 4px;border-bottom:1px solid var(--border);color:var(--text-muted);font-weight:600}.pm-gl-row{display:grid;grid-template-columns:1fr repeat(6,32px);gap:2px;padding:6px 4px;border-bottom:1px solid var(--bg-hover)}.pm-gl-row:last-child{border-bottom:none}.pm-gl-match{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-transform:capitalize}.pm-gl-col{text-align:center;font-variant-numeric:tabular-nums}.pm-gl-header .pm-gl-col{font-size:.6rem}.pm-competitions{margin-top:14px;padding-top:12px;border-top:1px solid var(--border)}.pm-competitions h4{font-size:.72rem;color:var(--text-muted);text-transform:uppercase;margin-bottom:8px}.pm-comp-table{font-size:.7rem}.pm-comp-header{display:grid;grid-template-columns:1fr repeat(5,36px);gap:2px;padding:5px 4px;border-bottom:1px solid var(--border);color:var(--text-muted);font-weight:600;font-size:.6rem}.pm-comp-row{display:grid;grid-template-columns:1fr repeat(5,36px);gap:2px;padding:6px 4px;border-bottom:1px solid var(--bg-hover)}.pm-comp-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pm-comp-col{text-align:center;font-variant-numeric:tabular-nums}.pm-comp-col.has-goals{color:var(--green);font-weight:700}.pm-comp-col.has-assists{color:var(--purple);font-weight:700}.pm-gl-col.has-goals{color:var(--green);font-weight:700}.pm-stats.season-total{margin-top:14px;padding-top:12px;border-top:1px solid var(--border)}.pm-stats.season-total h4{color:var(--accent)}.pm-career{margin-top:14px;padding-top:12px;border-top:1px solid var(--border)}.pm-career h4{font-size:.72rem;color:var(--text-muted);text-transform:uppercase;margin-bottom:8px}.pm-career-timeline{display:flex;flex-direction:column;gap:4px}.pm-career-item{display:flex;justify-content:space-between;align-items:center;padding:6px 10px;background:var(--bg-card);border-radius:6px;font-size:.72rem}.pm-career-item.current{border-left:3px solid var(--green)}.pm-career-club{font-weight:500}.pm-career-years{color:var(--text-muted);font-size:.65rem;font-variant-numeric:tabular-nums}.stage-nav{display:flex;gap:4px;overflow-x:auto;margin-bottom:16px;padding-bottom:4px}.stage-btn{background:var(--bg-card);border:1px solid var(--border);border-radius:8px;padding:8px 14px;color:var(--text-secondary);cursor:pointer;font-size:.72rem;font-weight:500;white-space:nowrap;transition:all .2s;display:flex;flex-direction:column;align-items:center;gap:2px;min-width:80px}.stage-btn:hover:not(.disabled){background:var(--bg-hover);border-color:var(--accent)}.stage-btn.active{background:var(--accent);color:#fff;border-color:var(--accent)}.stage-btn.disabled{opacity:.3;cursor:not-allowed}.stage-count{font-size:.58rem;opacity:.7}.stage-panel{display:none}.stage-panel.active{display:block}.stage-empty{text-align:center;padding:40px 20px;color:var(--text-muted);font-size:.78rem;background:var(--bg-card);border:1px dashed var(--border);border-radius:10px}.stage-matches{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:10px}.ko-match{background:var(--bg-card);border:1px solid var(--border);border-radius:8px;padding:10px 12px;cursor:default;transition:all .15s}.ko-match.complete{cursor:pointer}.ko-match.complete:hover{border-color:var(--accent);background:var(--bg-hover)}.ko-match.live{border-color:var(--green);box-shadow:0 0 12px #34d3991a}.ko-match.tbd{opacity:.5;border-style:dashed}.ko-date{font-size:.6rem;color:var(--text-muted);margin-bottom:6px;display:flex;align-items:center;gap:6px}.ko-badge{font-size:.55rem;padding:1px 5px;border-radius:3px;background:var(--bg-hover);color:var(--text-muted)}.ko-badge.live{background:#34d39926;color:var(--green);font-weight:700;animation:pulse 2s infinite}.ko-badge.done{background:#5b8def26;color:var(--accent)}.ko-team{display:flex;justify-content:space-between;align-items:center;padding:5px 6px;border-radius:4px;font-size:.78rem}.ko-team.winner{background:#34d39914}.ko-name{font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ko-team.winner .ko-name{color:var(--green);font-weight:700}.ko-score{font-weight:700;color:var(--accent);font-variant-numeric:tabular-nums;min-width:16px;text-align:right}.bracket-path{margin-top:20px;padding:16px;background:var(--bg-card);border:1px solid var(--border);border-radius:10px;position:relative}.path-stages{display:flex;justify-content:space-between;position:relative;z-index:1}.path-line{position:absolute;top:50%;left:40px;right:40px;height:2px;background:var(--border)}.path-dot{width:36px;height:36px;border-radius:50%;background:var(--bg-primary);border:2px solid var(--border);display:flex;align-items:center;justify-content:center;font-size:.65rem;font-weight:700;color:var(--text-muted)}.path-dot.has-data{border-color:var(--accent);color:var(--accent);background:#5b8def1a}@media(max-width:768px){.stage-nav{gap:3px}.stage-btn{padding:6px 10px;font-size:.65rem;min-width:60px}.stage-matches{grid-template-columns:1fr}}
