*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--bg: #0f1419;--bg-deep: #080c14;--surface: #141d2b;--surface-2: #0d1520;--border: #1a2d44;--border-2: #243850;--text: #ffffff;--text-muted: #6b7fa3;--text-secondary: #7d9dbe;--text-dim: #456080;--accent: #39ff14;--accent-active: #aaff00;--cyan: #00ccb4;--success: #00ff88;--danger: #ff3355;--red: #f05050;--gold: #ffd700;--hover-bg: rgba(57, 255, 20, .04);--hover-bg-2: rgba(57, 255, 20, .07);--hover-cyan: rgba(0, 204, 180, .04);--hover-danger: rgba(255, 51, 85, .04);--font-2xs: 9px;--font-xs: 10px;--font-sm: 11px;--font-md: 12px;--font-base: 14px;--font-lg: 16px;--font-xl: 20px;--font-2xl: 28px;--font-3xl: 36px;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px}body{background:var(--bg);color:var(--text);font-family:Outfit,system-ui,sans-serif;font-size:var(--font-base);line-height:1.5;min-height:100vh}:focus-visible{outline:2px solid var(--accent-active);outline-offset:2px}.tourney{min-height:100vh;display:flex;flex-direction:column;background:var(--bg-deep)}.tourney-topbar{width:100%;background:var(--surface-2);border-bottom:1px solid var(--border-2);padding:0 var(--space-5)}.tourney-topbar-inner{max-width:760px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;height:60px}.tourney-main{flex:1;max-width:760px;width:100%;margin:0 auto;padding:var(--space-5) var(--space-4) 40px;display:flex;flex-direction:column;gap:var(--space-4)}.tourney-nav{display:flex;gap:2px}.tourney-nav-item{display:flex;flex-direction:column;align-items:center;gap:3px;padding:var(--space-2) var(--space-5);background:none;border:none;cursor:pointer;color:var(--text-dim);border-bottom:2px solid transparent;transition:color .15s,border-color .15s}.tourney-nav-item:hover{color:var(--text-muted)}.tourney-nav-item.active{color:var(--accent-active);border-bottom-color:var(--accent-active)}.nav-icon{width:var(--space-5);height:var(--space-5);display:flex;align-items:center;justify-content:center}.nav-icon svg{width:var(--space-5);height:var(--space-5);stroke:currentColor}.nav-label{font-family:Share Tech Mono,monospace;font-size:var(--font-2xs);letter-spacing:1px;text-transform:uppercase}.tourney-nav-mobile{position:fixed;bottom:0;left:0;right:0;background:var(--surface-2);border-top:1px solid var(--border-2);z-index:100;display:none}.tourney-nav-mobile .tourney-nav-item{flex:1;padding:10px 0 12px;border-bottom:none;border-top:2px solid transparent}.tourney-nav-mobile .tourney-nav-item.active{border-top-color:var(--accent-active);border-bottom:none}@media (max-width: 768px){.tourney-nav-desktop{display:none}.tourney-nav-mobile{display:flex}.tourney-main{padding-bottom:80px}}.cyber-empty{font-family:Share Tech Mono,monospace;color:var(--text-dim);font-size:18px;letter-spacing:2px;text-align:center;padding:60px var(--space-5);line-height:1.6}.header{border-bottom:1px solid var(--border);padding:var(--space-5) var(--space-6) 18px}.header-inner{max-width:760px;margin:0 auto;display:flex;align-items:center;gap:14px;justify-content:space-between}.logo{font-size:var(--font-3xl);line-height:1;flex-shrink:0}.title{font-family:Bebas Neue,sans-serif;font-size:52px;font-weight:400;letter-spacing:1px;line-height:1;text-transform:uppercase;color:var(--text)}.header-inner>div{display:flex;flex-direction:column;gap:3px}.subtitle{font-size:var(--font-md);color:var(--text-muted);font-weight:400;letter-spacing:.3px}.main{max-width:760px;margin:var(--space-6) auto;padding:0 var(--space-4);display:flex;flex-direction:column;gap:var(--space-4)}.card{background:var(--surface-2);border:1px solid var(--border-2);border-radius:0;overflow:hidden}.section-title{font-family:Share Tech Mono,monospace;font-size:var(--font-xs);font-weight:400;letter-spacing:2px;text-transform:uppercase;color:var(--text-dim);padding:10px var(--space-4);border-bottom:1px solid var(--border-2);background:var(--bg-deep);display:flex;align-items:center;gap:var(--space-2)}.section-title:before{content:"//";color:var(--text-dim)}.icon{font-style:normal;font-size:13px}.section-title svg{width:var(--font-md);height:var(--font-md);stroke-width:2;flex-shrink:0;display:none}.table-wrapper{overflow-x:auto;-webkit-overflow-scrolling:touch}.standings-table{width:100%;border-collapse:collapse}.standings-table thead tr{border-bottom:1px solid var(--border-2)}.standings-table th{padding:var(--space-2) 10px;color:var(--text-dim);font-family:Share Tech Mono,monospace;font-weight:400;font-size:var(--font-2xs);text-transform:uppercase;letter-spacing:1.5px;text-align:center;white-space:nowrap;background:var(--bg-deep)}.standings-table th.text-left{text-align:left}.standings-table td{padding:10px;text-align:center;border-bottom:1px solid var(--border-2);font-family:Share Tech Mono,monospace;font-size:var(--font-md);color:var(--text-secondary);font-variant-numeric:tabular-nums}.standings-table tbody tr:last-child td{border-bottom:none}.standings-table tbody tr:hover{background:#00ccb408}.standings-table tbody tr.top td:first-child{border-left:2px solid var(--accent-active)}.standings-table tbody tr.upper td:first-child{border-left:2px solid var(--cyan)}.standings-table td.pos{font-size:var(--font-sm);color:var(--text-dim);width:48px;padding-left:6px;padding-right:6px;white-space:nowrap}.standings-table tbody tr.top td.pos{color:var(--accent-active)}.standings-table td.team-name{text-align:left;font-family:Share Tech Mono,monospace;font-size:13px;letter-spacing:.5px;white-space:nowrap;color:var(--accent-active);vertical-align:middle}.team-badge{width:var(--space-6);height:var(--space-6);vertical-align:middle;margin-right:var(--space-2);object-fit:contain;flex-shrink:0}.standings-table td.diff{font-weight:400}.standings-table td.diff.positive{color:var(--success)}.standings-table td.diff.negative{color:var(--danger)}.standings-table td.pts{font-size:var(--font-base);color:var(--cyan)}.standings-table td.big-win-pts{color:var(--gold);font-size:13px}.standings-table th.big-win-col-header,.standings-table th.clean-sheet-col-header,.standings-table th.injury-col-header{padding:0 var(--space-2);vertical-align:middle}.standings-table th.big-win-col-header{font-size:var(--font-xs);font-weight:700;color:var(--gold);letter-spacing:0}.col-icon{width:14px;height:14px;display:block}.col-icon--gold{color:var(--gold)}.col-icon--cyan{color:var(--cyan)}.col-icon--danger{color:var(--danger)}.big-win-badge{display:inline-flex;align-items:center;gap:2px;color:var(--gold);line-height:1;vertical-align:middle}.big-win-ball{width:14px;height:14px;flex-shrink:0;position:relative;top:-1px}.big-win-num{font-size:var(--font-xs);font-family:Share Tech Mono,monospace;font-weight:700;line-height:1}.clean-sheet-badge{display:inline-flex;align-items:center;line-height:1;vertical-align:middle;cursor:default;color:var(--cyan)}.clean-sheet-icon{width:14px;height:14px;flex-shrink:0}.standings-table td.clean-sheet-pts{color:var(--gold);font-size:13px}.standings-table th.clean-sheet-col-header{padding:0 var(--space-2)}.match-team-badges{display:flex;gap:var(--space-1);align-items:center;min-height:var(--space-4)}.injury-badge{display:inline-flex;align-items:center;color:var(--danger);line-height:1}.injury-cross{width:14px;height:14px;flex-shrink:0}.standings-table td.injury-pts{color:var(--gold);font-size:13px}.standings-table th.injury-col-header{padding:0 var(--space-2)}.bonus-badge{display:inline-flex;align-items:center;line-height:1;vertical-align:middle;cursor:default}.bonus-icon{width:14px;height:14px;flex-shrink:0}.bonus-most-goals{color:var(--accent)}.bonus-fewest-goals{color:var(--cyan)}.bonus-top-injurer{color:var(--danger)}.bonus-perfect-finisher{color:var(--red)}.standings-table td.bonus-pts{color:var(--gold);font-size:13px}.standings-table td.bonus-pts.bonus-pts-negative{color:var(--danger)}.standings-table th.bonus-col-header,.standings-table th.star-col-header{padding:0 var(--space-2)}.standings-table td.star-pts{color:var(--gold);font-size:13px}.star-badge{display:inline-flex;align-items:center;vertical-align:middle;color:var(--gold)}.star-badge svg{width:14px;height:14px}.round-header{display:flex;align-items:stretch;background:var(--bg-deep);border-bottom:1px solid var(--border-2)}.round-header .section-title{border-bottom:none;background:transparent;flex:1;justify-content:center;color:var(--cyan);font-size:var(--font-sm);letter-spacing:3px}.round-nav-btn{background:none;border:none;border-right:1px solid var(--border-2);color:var(--text-dim);font-size:var(--font-lg);padding:0 18px;cursor:pointer;transition:color .15s,background .15s;display:flex;align-items:center}#btn-next{border-right:none;border-left:1px solid var(--border-2)}.round-nav-btn:hover:not(:disabled){color:var(--cyan);background:#00ccb40d}.round-nav-btn:disabled{color:var(--border-2);cursor:default}.matches-grid{display:flex;flex-direction:column}.match-card{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:var(--space-4);padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--border-2)}.match-card:last-child{border-bottom:none}.match-team{display:flex;align-items:center;gap:10px;min-width:0}.match-team.home{justify-content:flex-end}.match-team.away{justify-content:flex-start}.match-team.home .match-team-name{text-align:right}.match-team.away .match-team-name{text-align:left}.match-team-info{display:flex;flex-direction:column;gap:3px;min-width:0}.match-team.home .match-team-info{align-items:flex-end}.match-team.away .match-team-info{align-items:flex-start}.match-team-name{font-family:Share Tech Mono,monospace;font-size:13px;font-weight:400;letter-spacing:.5px;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.match-team.winner .match-team-name{color:var(--accent-active)}.match-badge{width:36px;height:36px;object-fit:contain;flex-shrink:0}.match-badge-placeholder{width:36px;height:36px;flex-shrink:0}.match-score{display:flex;align-items:center;gap:var(--space-1);background:var(--bg-deep);border:1px solid var(--border-2);border-radius:0;padding:var(--space-2) 14px;min-width:76px;justify-content:center;font-family:Share Tech Mono,monospace;font-size:var(--font-xl);font-weight:400;font-variant-numeric:tabular-nums;white-space:nowrap;flex-shrink:0}.score-sep{color:var(--text-dim);font-weight:400;font-size:var(--font-base);margin:0 2px}.score-win{color:var(--success)}.score-loss{color:var(--danger)}.score-draw{color:var(--text-dim)}.match-scheduled .match-team-name{color:var(--text-secondary)}.scheduled-badge{background:transparent;border:1px solid var(--border-2);border-radius:0;padding:var(--space-2) 14px;min-width:76px;justify-content:center;display:flex;align-items:center;position:relative;font-family:Share Tech Mono,monospace;font-size:var(--font-sm);font-weight:400;color:var(--text-dim);text-transform:uppercase;letter-spacing:2px;flex-shrink:0}.concerted-dot{position:absolute;top:5px;right:5px;width:6px;height:6px;border-radius:50%;background:var(--success);box-shadow:0 0 4px var(--success)}.round-date{font-family:Share Tech Mono,monospace;font-size:var(--font-2xs);color:var(--text-dim);font-weight:400;margin-left:auto;letter-spacing:1px;text-transform:uppercase}.knockout-bracket{display:flex;flex-direction:column}.knockout-round+.knockout-round{border-top:1px solid var(--border-2)}.knockout-round-title{font-family:Share Tech Mono,monospace;font-size:var(--font-2xs);font-weight:400;text-transform:uppercase;letter-spacing:2px;color:var(--text-dim);padding:10px 18px 0}.footer{font-family:Share Tech Mono,monospace;text-align:center;padding:var(--space-5);color:var(--text-dim);font-size:var(--font-sm);letter-spacing:1.5px;border-top:1px solid var(--border-2);margin-top:var(--space-2)}.cyber-status-msg{display:flex;flex-direction:column;gap:var(--space-3);padding:60px var(--space-5);font-family:Share Tech Mono,monospace}.cyber-status-prefix{font-size:var(--font-xs);letter-spacing:2px;color:var(--text-dim)}.cyber-status-text{font-size:var(--font-lg);letter-spacing:1.5px;color:var(--cyan);line-height:1.6}.cyber-status-text:before{content:"> ";color:var(--text-dim)}.cyber-status-error .cyber-status-prefix,.cyber-status-error .cyber-status-text{color:var(--danger)}@keyframes spin{to{transform:rotate(360deg)}}.empty-state{text-align:center;padding:32px var(--space-6);color:var(--text-muted);font-size:13px}.landing{min-height:100vh;display:flex;flex-direction:column;background:var(--bg-deep)}html[data-theme=light] .landing{background:var(--surface-2)}.landing-topbar{width:100%;padding:var(--space-4) var(--space-5);background:var(--surface-2);border-bottom:1px solid var(--border-2)}html[data-theme=light] .landing-topbar{background:var(--bg-deep);border-bottom-color:var(--border-2)}.landing-topbar-inner{max-width:600px;margin:0 auto;display:flex;align-items:center;justify-content:space-between}.landing-topbar-brand{display:flex;align-items:center;gap:10px;line-height:1}.landing-topbar-ball{width:28px;height:28px;fill:var(--cyan);flex-shrink:0}.landing-topbar-title{font-family:Share Tech Mono,monospace;font-size:22px;letter-spacing:3px;text-transform:uppercase;color:var(--cyan);font-style:italic;line-height:1}.landing-main{flex:1;max-width:600px;width:100%;margin:0 auto;padding:var(--space-4) var(--space-4) 40px}.cyber-section-header{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:var(--space-5);padding-bottom:var(--space-4);border-bottom:1px solid var(--border-2)}.cyber-breadcrumb{font-family:Share Tech Mono,monospace;font-size:var(--font-sm);color:var(--text-dim);letter-spacing:1px;margin-bottom:var(--space-2)}.cyber-title{font-family:Share Tech Mono,monospace;font-size:32px;font-weight:400;line-height:1.05;letter-spacing:2px;color:var(--cyan);text-shadow:0 0 20px rgba(0,204,180,.4)}.cyber-log-access{font-family:Share Tech Mono,monospace;font-size:var(--font-xs);color:var(--text-dim);letter-spacing:1px;display:flex;align-items:center;gap:6px;padding-bottom:var(--space-1)}.cyber-log-icon{width:13px;height:13px;color:var(--text-dim)}.cyber-list{display:flex;flex-direction:column;gap:2px}.cyber-card{display:flex;align-items:center;gap:14px;padding:14px var(--space-4);background:var(--surface-2);border:1px solid var(--border-2);position:relative;overflow:hidden;transition:background .15s}.cyber-card:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,var(--hover-cyan) 0%,transparent 40%);pointer-events:none}.cyber-card.in-cup:after{background:linear-gradient(90deg,var(--hover-danger) 0%,transparent 40%)}.cyber-logo-wrap{width:48px;height:48px;background:var(--bg-deep);border:1px solid var(--border-2);display:flex;align-items:center;justify-content:center;flex-shrink:0;padding:var(--space-1)}.cyber-logo-img{width:100%;height:100%;object-fit:contain}.cyber-logo-placeholder{width:28px;height:28px;border-radius:50%;background:var(--border-2)}.cyber-info{flex:1;display:flex;flex-direction:column;gap:5px;min-width:0}.cyber-name{font-family:Share Tech Mono,monospace;font-size:15px;font-weight:400;letter-spacing:1px;color:var(--accent-active);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cyber-status{font-family:Share Tech Mono,monospace;font-size:var(--font-xs);letter-spacing:.5px;display:flex;align-items:center;gap:6px}.cyber-status.available{color:var(--success)}.cyber-status.in-cup{color:var(--danger)}.cyber-dot{width:6px;height:6px;border-radius:50%;flex-shrink:0;display:inline-block}.cyber-status.available .cyber-dot{background:var(--success);box-shadow:0 0 6px var(--success)}.cyber-status.in-cup .cyber-dot{background:var(--danger);box-shadow:0 0 6px var(--danger)}.cyber-footer{font-family:Share Tech Mono,monospace;font-size:var(--font-sm);letter-spacing:1.5px;color:var(--text-dim);text-align:center;padding:var(--space-5);border-top:1px solid var(--border-2)}.cyber-num{font-family:Share Tech Mono,monospace;font-size:var(--font-3xl);font-weight:400;color:var(--border-2);line-height:1;flex-shrink:0;letter-spacing:-1px;-webkit-user-select:none;user-select:none}@media (max-width: 500px){.cyber-title{font-size:24px}.cyber-name{font-size:17px}.cyber-status{font-size:13px}.cyber-num{font-size:var(--font-3xl)}.cyber-card{padding:var(--space-4);gap:var(--space-4)}.cyber-logo-wrap{width:62px;height:62px}.standings-table th,.standings-table td{padding:9px 7px;font-size:var(--font-md)}.standings-table td.pts{font-size:13px}.match-card{padding:var(--space-3);gap:var(--space-2)}.match-badge,.match-badge-placeholder{width:32px;height:32px}.match-team{gap:var(--space-2)}.match-team-name{font-size:13px;white-space:normal;word-break:break-word;line-height:1.2}.match-score{min-width:56px}.match-score{font-size:18px;min-width:66px;padding:6px 10px}.header{padding:var(--space-3) var(--space-4) 10px}.header-inner{gap:var(--space-2)}.title{font-size:clamp(44px,14vw,60px);letter-spacing:2px}.subtitle{font-size:var(--font-xs);opacity:.6}}.scorer-top{display:flex;align-items:flex-end;gap:var(--space-6);padding:var(--space-2) 0 var(--space-6)}.scorer-top-avatar-wrap{flex-shrink:0}.scorer-avatar{position:relative;width:110px;height:155px;overflow:hidden;border-radius:8px;background:var(--surface-2);border:1px solid var(--border)}.scorer-avatar-placeholder{width:110px;height:155px;border-radius:8px;background:var(--surface-2);border:1px solid var(--border)}.scorer-top-info{display:flex;flex-direction:column;gap:var(--space-1);padding-bottom:var(--space-1)}.scorer-top-name{font-family:Bebas Neue,sans-serif;font-size:var(--font-2xl);letter-spacing:1px;color:var(--text);line-height:1}.scorer-top-team{font-family:Share Tech Mono,monospace;font-size:var(--font-sm);letter-spacing:1.5px;color:var(--text-muted);text-transform:uppercase}.scorer-top-goals{display:flex;align-items:baseline;gap:6px;margin-top:var(--space-2)}.scorer-top-goals-num{font-family:Bebas Neue,sans-serif;font-size:56px;color:var(--accent-active);line-height:1}.scorer-top-goals-label{font-family:Share Tech Mono,monospace;font-size:var(--font-md);letter-spacing:2px;color:var(--accent);text-transform:uppercase}.scorer-runners{border-top:1px solid var(--border);display:flex;flex-direction:column;gap:0}.scorer-runner-card{display:flex;align-items:center;gap:var(--space-3);padding:14px var(--space-4);border-bottom:1px solid #0f1d2e}.scorer-runner-card:last-child{border-bottom:none}.scorer-runner-rank{font-family:Share Tech Mono,monospace;font-size:var(--font-sm);color:var(--text-dim);letter-spacing:1px;width:var(--space-6);flex-shrink:0}.scorer-runner-info{flex:1;display:flex;flex-direction:column;gap:2px;min-width:0}.scorer-runner-name{font-weight:600;font-size:15px;color:#e0e8f0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.scorer-runner-team{font-family:Share Tech Mono,monospace;font-size:var(--font-xs);letter-spacing:1px;color:var(--text-dim);text-transform:uppercase}.scorer-runner-goals{font-family:Bebas Neue,sans-serif;font-size:22px;color:var(--accent-active);letter-spacing:1px;flex-shrink:0}.scorer-runner-unit{font-family:Outfit,sans-serif;font-size:var(--font-sm);color:var(--accent);letter-spacing:1px;font-weight:400}@media (max-width: 480px){.scorer-top{gap:var(--space-4)}.scorer-top-name{font-size:22px}.scorer-top-goals-num{font-size:44px}}.live-badge{display:inline-flex;align-items:center;gap:6px;margin-left:var(--space-3);padding:2px 8px;font-family:inherit;font-size:11px;font-weight:700;letter-spacing:.08em;color:var(--danger);background:#ff335514;border:1px solid var(--danger);border-radius:3px;vertical-align:middle;text-transform:uppercase;animation:live-badge-pulse 1.6s ease-in-out infinite}.live-badge:before{content:"";display:inline-block;width:7px;height:7px;background:var(--danger);border-radius:50%;box-shadow:0 0 6px var(--danger)}@keyframes live-badge-pulse{0%,to{box-shadow:0 0 #f350}50%{box-shadow:0 0 0 4px #ff33552e}}.standings-table tbody tr.live-changed td{background:#00ccb412}.standings-table tbody tr.live-changed:hover td{background:#00ccb421}.pos-change{display:inline-block;margin-left:4px;font-size:10px;font-weight:700;line-height:1;vertical-align:middle}.pos-change.pos-up{color:var(--success)}.pos-change.pos-down{color:var(--danger)}#touch-tooltip{position:absolute;z-index:9999;background:#0d1520;color:#fff;border:1px solid var(--border-2);border-radius:6px;padding:6px 10px;font-size:var(--font-xs);font-family:Share Tech Mono,monospace;line-height:1.4;pointer-events:none;opacity:0;transform:translateY(-4px);transition:opacity .15s ease,transform .15s ease;box-shadow:0 4px 16px #000000b3}#touch-tooltip.visible{opacity:1;transform:translateY(0)}
