:root{--bg:#0a0e1a;--bg2:#111827;--gold:#d4a017;--gold-light:#f0d060;--green:#1a8a3a;--green-dark:#0f5a24;--red:#c41e3a;--amber:#d97706;--yellow:#ca8a04;--text:#f0f0f0;--text-dim:#8a94a6;--card:#ffffff0a;--card-border:#ffffff14;--shadow-card:0 0 0 1px #ffffff14, 0 1px 2px #0003;--shadow-card-hover:0 0 0 1px #ffffff21, 0 2px 4px #0000004d}*{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{background:var(--bg);color:var(--text);min-height:100vh;font-family:"Source Sans 3",sans-serif;overflow-x:hidden}body:before{content:"";pointer-events:none;z-index:0;background:radial-gradient(at 20%,#1a8a3a14 0%,#0000 60%),radial-gradient(at 80% 20%,#d4a0170f 0%,#0000 50%),radial-gradient(at 50% 90%,#c41e3a0d 0%,#0000 50%);position:fixed;inset:0}body:after{content:"";pointer-events:none;z-index:0;background-image:linear-gradient(#ffffff04 1px,#0000 1px),linear-gradient(90deg,#ffffff04 1px,#0000 1px);background-size:60px 60px;position:fixed;inset:0}h1,h2,h3,h4{text-wrap:balance;font-family:Oswald,sans-serif}img{outline-offset:-1px;outline:1px solid #ffffff1a}.app{z-index:1;max-width:900px;margin:0 auto;padding:0 16px 80px;position:relative}.header{text-align:center;padding:24px 0 12px}.header h1{text-transform:uppercase;letter-spacing:3px;background:linear-gradient(135deg, var(--gold-light), var(--gold), #c0880a);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-size:clamp(1.4rem,4vw,2.2rem);font-weight:700}.header .subtitle{color:var(--text-dim);letter-spacing:4px;text-transform:uppercase;margin-top:2px;font-family:Oswald,sans-serif;font-size:.85rem;font-weight:400}.tabs{background:var(--card);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:var(--shadow-card);scrollbar-width:none;border-radius:12px;gap:4px;margin:12px 0 20px;padding:4px;display:flex;overflow-x:auto}.tabs::-webkit-scrollbar{display:none}.tab-btn{color:var(--text-dim);text-transform:uppercase;letter-spacing:1px;cursor:pointer;background:0 0;border:none;border-radius:8px;flex:1;min-height:40px;padding:10px 8px;font-family:Oswald,sans-serif;font-size:.85rem;font-weight:500;transition:all .15s ease-out}.tab-btn.active{color:var(--gold-light);background:#d4a01726}.tab-btn:hover:not(.active){color:var(--text)}.live-badge{color:var(--red);letter-spacing:1px;align-items:center;gap:5px;margin-left:10px;font-family:Oswald,sans-serif;font-size:.7rem;font-weight:600;display:inline-flex}.live-dot{background:var(--red);border-radius:50%;width:7px;height:7px;animation:1.2s ease-in-out infinite livePulse;display:inline-block}@keyframes livePulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(.8)}}.live-sync{color:var(--text-dim);margin-left:6px;animation:1s linear infinite spin;display:inline-block}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.last-updated{text-align:center;color:var(--text-dim);cursor:pointer;margin-bottom:12px;font-size:.65rem;transition:color .15s}.last-updated:hover{color:var(--text)}.group-match-row.live{background:#c41e3a14;border-radius:4px;padding:4px}.group-match-row.live .match-live-clock{color:var(--red);font-variant-numeric:tabular-nums;align-items:center;gap:3px;font-size:.6rem;font-weight:700;display:flex}.match-live-dot{background:var(--red);border-radius:50%;width:5px;height:5px;animation:1.2s ease-in-out infinite livePulse;display:inline-block}.group-match-row.finished .score{color:var(--text)}.standings-list{flex-direction:column;gap:8px;display:flex}.standing-card{background:var(--card);box-shadow:var(--shadow-card);border-radius:14px;align-items:center;gap:14px;padding:14px 16px;transition:box-shadow .15s ease-out;display:flex}.standing-card:hover{box-shadow:var(--shadow-card-hover)}.standing-rank{text-align:center;width:36px;font-family:Oswald,sans-serif;font-size:1.6rem;font-weight:700}.standing-rank.gold{color:var(--gold)}.standing-rank.silver{color:silver}.standing-rank.bronze{color:#cd7f32}.standing-info{flex:1}.standing-name{text-transform:uppercase;letter-spacing:1px;color:var(--gold);font-family:Oswald,sans-serif;font-size:1.1rem;font-weight:600}.standing-teams{flex-wrap:wrap;gap:4px;margin-top:6px;display:flex}.standing-chip{background:#ffffff0f;border-radius:6px;align-items:center;gap:4px;padding:2px 8px 2px 2px;font-size:.72rem;display:inline-flex}.standing-chip.eliminated{opacity:.35;text-decoration:line-through}.standing-chip img{object-fit:cover;border-radius:2px;width:18px;height:12px}.standing-stats{text-align:right;font-variant-numeric:tabular-nums}.standing-alive{color:var(--green);font-family:Oswald,sans-serif;font-size:1.1rem;font-weight:600}.standing-alive.none{color:var(--red)}.standing-record{color:var(--text-dim);margin-top:2px;font-size:.72rem}.standing-prize{color:var(--gold);margin-top:2px;font-size:.7rem;font-weight:600}.groups-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px;display:grid}.group-card{background:var(--card);box-shadow:var(--shadow-card);border-radius:14px;padding:14px}.group-card h3{text-transform:uppercase;letter-spacing:2px;color:var(--gold);text-align:center;margin-bottom:10px;font-size:.9rem;font-weight:600}.group-table{border-collapse:collapse;width:100%;font-size:.78rem}.group-table th{text-align:left;color:var(--text-dim);text-transform:uppercase;letter-spacing:1px;border-bottom:1px solid #ffffff0f;padding:5px 6px;font-size:.6rem;font-weight:600}.group-table td{border-bottom:1px solid #ffffff08;padding:6px}.group-table .team-col{width:42%}.group-table .team-cell{align-items:center;gap:6px;font-weight:600;display:flex}.group-table .team-cell img{object-fit:cover;border-radius:2px;width:20px;height:14px}.group-table .num{text-align:center;font-variant-numeric:tabular-nums;color:var(--text-dim)}.group-table .pts{color:var(--text);font-weight:700}.group-table tr.advancing td{background:#1a8a3a14}.group-table tr.advancing td.num,.group-table tr.advancing .pts{color:var(--green)}.group-owner{color:var(--gold);white-space:nowrap;margin-left:auto;font-size:.55rem;font-weight:600}.bracket-scroll{--bracket-match-w:200px;--bracket-col-gap:56px;--bracket-row-h:84px;--bracket-line:#ffffff29;padding-bottom:20px;overflow-x:auto}.bracket-titles{grid-template-columns:repeat(5, var(--bracket-match-w));column-gap:var(--bracket-col-gap);width:max-content;margin-bottom:14px;display:grid}.bracket-grid{grid-template-columns:repeat(5, var(--bracket-match-w));grid-template-rows:repeat(16, var(--bracket-row-h));column-gap:var(--bracket-col-gap);width:max-content;padding:8px 0;display:grid}.bracket-round-title{text-transform:uppercase;letter-spacing:2px;color:var(--gold);text-align:center;font-family:Oswald,sans-serif;font-size:.75rem}.bracket-cell{justify-content:center;align-items:center;display:flex;position:relative}.bracket-cell[data-round=R32]{--bracket-v-line:calc(var(--bracket-row-h) * .5)}.bracket-cell[data-round=R16]{--bracket-v-line:calc(var(--bracket-row-h) * 1)}.bracket-cell[data-round=QF]{--bracket-v-line:calc(var(--bracket-row-h) * 2)}.bracket-cell[data-round=SF]{--bracket-v-line:calc(var(--bracket-row-h) * 4)}.bracket-cell:not([data-round=FINAL]):before{content:"";width:calc(var(--bracket-col-gap) / 2);background:var(--bracket-line);pointer-events:none;height:2px;position:absolute;top:50%;left:100%;transform:translateY(-50%)}.bracket-cell[data-pos=top]:after{content:"";left:calc(100% + var(--bracket-col-gap) / 2);width:2px;height:var(--bracket-v-line);background:var(--bracket-line);pointer-events:none;position:absolute;top:50%}.bracket-cell[data-pos=bottom]:after{content:"";left:calc(100% + var(--bracket-col-gap) / 2);width:2px;height:var(--bracket-v-line);background:var(--bracket-line);pointer-events:none;position:absolute;bottom:50%}.bracket-cell:not([data-round=R32]) .bracket-match:before{content:"";width:calc(var(--bracket-col-gap) / 2);background:var(--bracket-line);pointer-events:none;height:2px;position:absolute;top:50%;right:100%;transform:translateY(-50%)}.bracket-match{background:var(--card);box-shadow:var(--shadow-card);width:var(--bracket-match-w,180px);border-radius:10px;max-width:100%;padding:8px;position:relative}.bracket-slot{border-radius:4px;align-items:center;gap:6px;padding:4px 6px;font-size:.78rem;display:flex}.bracket-slot+.bracket-slot{border-top:1px solid #ffffff0f}.bracket-slot.winner{background:#1a8a3a1f}.bracket-slot img{object-fit:cover;border-radius:2px;width:20px;height:14px}.bracket-slot .seed{color:var(--text-dim);min-width:40px;font-size:.6rem}.bracket-slot .score{font-variant-numeric:tabular-nums;color:var(--gold-light);margin-left:auto;font-weight:700}.bracket-slot .tbd{color:var(--text-dim);font-style:italic}.bracket-slot .owner{color:var(--gold);white-space:nowrap;margin-left:4px;font-size:.62rem}.player-selector{flex-wrap:wrap;gap:6px;margin-bottom:16px;display:flex}.player-pill{background:var(--card);color:var(--text-dim);text-transform:uppercase;letter-spacing:1px;cursor:pointer;border:1px solid #ffffff14;border-radius:20px;align-items:center;gap:6px;padding:7px 14px;font-family:Oswald,sans-serif;font-size:.82rem;font-weight:500;transition:all .15s ease-out;display:flex}.pill-alive{color:var(--text-dim);background:#ffffff0d;border-radius:8px;padding:1px 6px;font-size:.62rem;font-weight:400}.player-pill.active{border-color:var(--gold);color:var(--gold-light);background:#d4a01726}.player-pill.active .pill-alive{color:var(--gold-light);background:#d4a01733}.player-pill:hover:not(.active){color:var(--text);border-color:#fff3}.my-teams-summary{gap:12px;margin-bottom:16px;display:flex}.summary-stat{background:var(--card);border:1px solid #ffffff0f;border-radius:10px;flex-direction:column;align-items:center;gap:2px;padding:10px 20px;display:flex}.summary-val{font-family:Oswald,sans-serif;font-size:1.4rem;font-weight:600}.summary-stat:first-child .summary-val{color:var(--green)}.summary-stat:last-child .summary-val{color:var(--red)}.summary-label{color:var(--text-dim);text-transform:uppercase;letter-spacing:1.5px;font-size:.6rem;font-weight:600}.my-teams-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px;display:grid}.my-team-card{background:var(--card);box-shadow:var(--shadow-card);border:1px solid #ffffff0f;border-radius:14px;padding:14px;transition:border-color .15s}.my-team-card:hover{border-color:#ffffff1f}.my-team-card.eliminated-card{opacity:.55}.mtc-header{align-items:center;gap:10px;margin-bottom:10px;display:flex}.mtc-flag-wrap{border-radius:4px;flex-shrink:0;width:44px;height:30px;overflow:hidden;box-shadow:0 1px 3px #0000004d}.mtc-flag-wrap img{object-fit:cover;width:100%;height:100%}.mtc-info{flex:1;min-width:0}.mtc-name{white-space:nowrap;text-overflow:ellipsis;font-family:Oswald,sans-serif;font-size:1.05rem;font-weight:600;overflow:hidden}.mtc-meta{color:var(--text-dim);letter-spacing:.8px;margin-top:1px;font-size:.68rem}.mtc-pos-badge{color:var(--text-dim);background:#ffffff0a;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;font-family:Oswald,sans-serif;font-size:1rem;font-weight:600;display:flex}.mtc-pos-badge.advancing{color:var(--green);background:#1a8a3a2e}.mtc-pos-badge.not-advancing{color:var(--red);background:#c41e3a2e}.mtc-stats-row{background:#ffffff08;border-radius:8px;gap:0;margin-bottom:8px;padding:6px 0;display:flex}.mtc-stat{flex-direction:column;flex:1;align-items:center;gap:1px;display:flex}.mtc-stat-val{font-variant-numeric:tabular-nums;font-size:.85rem;font-weight:600}.mtc-stat-lbl{color:var(--text-dim);text-transform:uppercase;letter-spacing:1px;font-size:.55rem;font-weight:600}.mtc-stat-pts .mtc-stat-val{color:var(--gold-light)}.mtc-matches{flex-direction:column;gap:0;display:flex}.mtc-match{border-top:1px solid #ffffff0a;justify-content:space-between;align-items:center;padding:7px 0;font-size:.78rem;display:flex}.mtc-match.live{background:#c41e3a0f;border-top-color:#0000;border-radius:6px;margin:0 -6px;padding:7px 6px}.mtc-match-side{flex-direction:column;flex:1;align-items:center;gap:3px;min-width:64px;display:flex}.mtc-match-center{flex-direction:column;flex:none;align-items:center;gap:2px;display:flex}.mtc-match-name{text-align:center;color:var(--text-dim);font-size:.7rem;font-weight:500}.mtc-match-flag{object-fit:cover;border-radius:2px;width:22px;height:15px}.mtc-match-status{color:var(--red);text-transform:uppercase;letter-spacing:.5px;align-items:center;gap:4px;font-size:.58rem;font-weight:600;display:flex}.mtc-match-status.ft{color:var(--text-dim)}.mtc-match-score{font-variant-numeric:tabular-nums;font-size:.95rem;font-weight:700}.mtc-match-score.win{color:var(--green)}.mtc-match-score.loss{color:var(--red)}.mtc-match-score.draw{color:var(--gold-light)}.mtc-match-date{color:var(--text-dim);font-size:.65rem;font-weight:500}.games-day{margin-bottom:16px}.games-day-header{text-transform:uppercase;letter-spacing:2px;color:var(--gold);border-bottom:1px solid #ffffff0f;margin-bottom:6px;padding:8px 0 6px;font-family:Oswald,sans-serif;font-size:.8rem;font-weight:600}.games-day.today .games-day-header{color:var(--gold-light)}.games-date-bar{background:var(--card);box-shadow:var(--shadow-card);border-radius:12px;align-items:stretch;gap:6px;margin-bottom:16px;padding:6px;display:flex}.games-date-arrow{width:32px;color:var(--text-dim);cursor:pointer;background:0 0;border:none;border-radius:8px;flex:none;justify-content:center;align-items:center;font-size:1.3rem;font-weight:700;transition:background .15s,color .15s;display:flex}.games-date-arrow:hover:not(:disabled){color:var(--gold-light);background:#ffffff0f}.games-date-arrow:disabled{opacity:.3;cursor:default}.games-date-strip{scroll-behavior:smooth;scrollbar-width:none;flex:1;gap:6px;padding:2px 0;display:flex;overflow-x:auto}.games-date-strip::-webkit-scrollbar{display:none}.games-date-chip{border:1px solid var(--card-border);cursor:pointer;background:0 0;border-radius:10px;flex-direction:column;flex:none;justify-content:center;align-items:center;min-width:56px;padding:6px 10px;font-family:Oswald,sans-serif;line-height:1.1;transition:background .15s,border-color .15s,color .15s;display:flex;position:relative}.games-date-chip:hover{background:#ffffff0a;border-color:#fff3}.games-date-chip-weekday{letter-spacing:1px;color:var(--text-dim);text-transform:uppercase;font-size:.58rem;font-weight:600}.games-date-chip-date{color:var(--text);white-space:nowrap;font-size:.75rem;font-weight:700}.games-date-chip.active{background:var(--gold);border-color:var(--gold)}.games-date-chip.active .games-date-chip-weekday,.games-date-chip.active .games-date-chip-date{color:var(--bg)}.games-date-chip.today:not(.active){border-color:var(--gold)}.games-date-chip.today:not(.active) .games-date-chip-weekday{color:var(--gold)}.games-date-chip-dot{background:var(--gold-light);border-radius:50%;width:5px;height:5px;position:absolute;top:4px;right:5px}.games-date-chip.active .games-date-chip-dot{background:var(--bg)}.game-row{background:var(--card);box-shadow:var(--shadow-card);border-radius:10px;align-items:center;gap:10px;margin-bottom:6px;padding:8px 10px;transition:background .15s;display:flex}.game-row.live{background:#c41e3a14;box-shadow:0 0 0 1px #c41e3a33,0 1px 2px #0003}.game-row.finished{opacity:.65}.game-teams{flex-direction:column;flex:1;gap:4px;display:flex}.game-team{align-items:center;gap:6px;display:flex}.game-team-main{flex:1;align-items:center;gap:6px;display:flex}.game-team-main img{object-fit:cover;border-radius:2px;width:22px;height:15px}.game-team-name{font-size:.82rem;font-weight:600}.game-owner{color:var(--gold);letter-spacing:.5px;white-space:nowrap;font-size:.6rem;font-weight:600}.game-score-col{flex-direction:column;align-items:center;gap:4px;min-width:24px;display:flex}.game-score-num{font-variant-numeric:tabular-nums;color:var(--gold-light);font-family:Oswald,sans-serif;font-size:.95rem;font-weight:700}.game-score-dash{color:var(--text-dim);font-size:.85rem}.game-meta{flex-direction:column;align-items:flex-end;gap:2px;min-width:60px;display:flex}.game-live-indicator{color:var(--red);font-variant-numeric:tabular-nums;align-items:center;gap:4px;font-size:.65rem;font-weight:700;display:flex}.game-time{color:var(--text);font-variant-numeric:tabular-nums;font-size:.72rem}.game-round{color:var(--text-dim);text-transform:uppercase;letter-spacing:.5px;font-size:.58rem}.section-title{text-transform:uppercase;letter-spacing:2px;color:var(--text-dim);text-align:center;margin-bottom:12px;font-size:.85rem;font-weight:600}.prize-legend{justify-content:center;gap:20px;margin-bottom:16px;padding:8px 0;display:flex}.prize-item{text-align:center}.prize-item .amount{color:var(--gold);font-family:Oswald,sans-serif;font-size:1.1rem;font-weight:700}.prize-item .label{color:var(--text-dim);text-transform:uppercase;letter-spacing:1px;font-size:.65rem;transition:color .3s}.prize-item .label.prize-won{color:var(--gold-light);font-weight:700}@media (width<=600px){.app{padding:0 10px 70px}.groups-grid{grid-template-columns:1fr}.standing-card{padding:10px 12px}.tabs{gap:2px}.tab-btn{letter-spacing:0;padding:8px 4px;font-size:.72rem}}
