*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--bg: #0c0d11;--surface: #13151d;--surface-2: #0f1016;--border: #1e2130;--text: #e2e4f0;--text-muted: #525870;--blue: #4f7ef8;--green: #30d07a;--red: #f05050;--gold: #e8a020;--radius: 10px}body{background:var(--bg);color:var(--text);font-family:Outfit,system-ui,sans-serif;font-size:14px;line-height:1.5;min-height:100vh}.header{border-bottom:1px solid var(--border);padding:20px 24px 18px}.header-inner{max-width:760px;margin:0 auto;display:flex;align-items:center;gap:14px}.logo{font-size:36px;line-height:1;flex-shrink:0}.title{font-family:Anton,Outfit,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:12px;color:var(--text-muted);font-weight:400;letter-spacing:.3px}.main{max-width:760px;margin:24px auto;padding:0 16px;display:flex;flex-direction:column;gap:16px}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;animation:fadeUp .35s ease-out both}.main>*:nth-child(1),.main>*:nth-child(1) .card{animation-delay:0s}.main>*:nth-child(2),.main>*:nth-child(2) .card{animation-delay:.07s}.main>*:nth-child(3),.main>*:nth-child(3) .card{animation-delay:.14s}@keyframes fadeUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.section-title{font-size:11px;font-weight:600;letter-spacing:1.5px;text-transform:uppercase;color:var(--text-muted);padding:13px 18px 12px;border-bottom:1px solid var(--border);background:var(--surface-2);display:flex;align-items:center;gap:7px}.icon{font-style:normal;font-size:13px}.section-title svg{width:13px;height:13px;stroke-width:2.2;flex-shrink:0}.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)}.standings-table th{padding:10px 12px;color:var(--text-muted);font-weight:600;font-size:10px;text-transform:uppercase;letter-spacing:1px;text-align:center;white-space:nowrap;background:var(--surface-2)}.standings-table th.text-left{text-align:left}.standings-table td{padding:11px 12px;text-align:center;border-bottom:1px solid var(--border);font-size:13px;color:var(--text);font-variant-numeric:tabular-nums}.standings-table tbody tr:last-child td{border-bottom:none}.standings-table tbody tr:hover{background:#ffffff06}.standings-table tbody tr.top td:first-child{border-left:3px solid var(--gold)}.standings-table tbody tr.upper td:first-child{border-left:3px solid var(--blue)}.standings-table td.pos{font-weight:600;font-size:13px;color:var(--text-muted);width:44px}.standings-table tbody tr.top td.pos{color:var(--gold)}.standings-table td.team-name{text-align:left;font-family:Anton,Outfit,sans-serif;font-weight:400;font-size:16px;letter-spacing:.5px;white-space:nowrap;display:flex;align-items:center;gap:10px}.team-badge{width:28px;height:28px;object-fit:contain;flex-shrink:0}.standings-table td.diff{font-weight:500}.standings-table td.diff.positive{color:var(--green)}.standings-table td.diff.negative{color:var(--red)}.standings-table td.pts{font-weight:700;font-size:15px;color:var(--blue)}.round-header{display:flex;align-items:stretch;background:var(--surface-2);border-bottom:1px solid var(--border)}.round-header .section-title{border-bottom:none;background:transparent;flex:1;justify-content:center}.round-nav-btn{background:none;border:none;border-right:1px solid var(--border);color:var(--text-muted);font-size:16px;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)}.round-nav-btn:hover:not(:disabled){color:var(--text);background:#ffffff0a}.round-nav-btn:disabled{color:var(--border);cursor:default}.matches-grid{display:flex;flex-direction:column}.match-card{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:16px;padding:18px 20px;border-bottom:1px solid var(--border);transition:background .12s}.match-card:last-child{border-bottom:none}.match-card:hover{background:#ffffff06}.match-team{display:flex;align-items:center;gap:12px;color:var(--text-muted);min-width:0}.match-team.home{justify-content:flex-end}.match-team.away{justify-content:flex-start}.match-team.winner .match-team-name{color:var(--text)}.match-team.home .match-team-name{text-align:right}.match-team.away .match-team-name{text-align:left}.match-team-name{font-family:Anton,Outfit,sans-serif;font-weight:400;font-size:15px;letter-spacing:.5px;color:inherit;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.match-badge{width:44px;height:44px;object-fit:contain;flex-shrink:0}.match-badge-placeholder{width:44px;height:44px;flex-shrink:0}.match-score{display:flex;align-items:center;gap:4px;background:var(--surface-2);border:1px solid var(--border);border-radius:8px;padding:8px 16px;min-width:80px;justify-content:center;font-size:22px;font-weight:700;font-variant-numeric:tabular-nums;white-space:nowrap;flex-shrink:0}.score-sep{color:var(--text-muted);font-weight:400;font-size:16px;margin:0 2px}.score-win{color:var(--green)}.score-loss{color:var(--red)}.score-draw{color:var(--text-muted)}.match-scheduled .match-team-name{color:var(--text)}.scheduled-badge{background:transparent;border:1px solid var(--border);border-radius:8px;padding:8px 16px;min-width:80px;justify-content:center;display:flex;align-items:center;font-size:12px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:1.5px;flex-shrink:0}.round-date{font-size:10px;color:var(--text-muted);font-weight:400;margin-left:auto;letter-spacing:.5px}.knockout-bracket{display:flex;flex-direction:column}.knockout-round+.knockout-round{border-top:1px solid var(--border)}.knockout-round-title{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:1.5px;color:var(--text-muted);padding:12px 18px 0}.footer{text-align:center;padding:20px;color:var(--text-muted);font-size:12px;border-top:1px solid var(--border);margin-top:8px}.loading{text-align:center;padding:48px 24px;color:var(--text-muted);font-size:14px}.loading:before{content:"";display:block;width:28px;height:28px;margin:0 auto 14px;border:2px solid var(--border);border-top-color:var(--blue);border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.error-message{text-align:center;padding:48px 24px;color:var(--red);font-size:14px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius)}.error-message .icon{display:block;font-size:30px;margin-bottom:12px}.empty-state{text-align:center;padding:32px 24px;color:var(--text-muted);font-size:13px}@media (max-width: 500px){.standings-table th,.standings-table td{padding:9px 7px;font-size:12px}.standings-table td.pts{font-size:13px}.match-card{padding:12px;gap:8px}.match-badge,.match-badge-placeholder{width:32px;height:32px}.match-team{gap:8px}.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:12px 16px 10px}.header-inner{gap:8px}.title{font-size:clamp(44px,14vw,60px);letter-spacing:2px}.subtitle{font-size:10px;opacity:.6}}
