:root{--bg: #0c1210;--surface: #131c18;--raised: #1b2721;--line: #22302a;--text: #eef2ee;--muted: #93a399;--live: #46e39b;--warn: #e8a33d;--nav-h: 64px;--rail-w: 208px;color-scheme:dark;font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,sans-serif;color:var(--text);background:var(--bg);-webkit-text-size-adjust:100%;text-rendering:optimizeLegibility}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}body{margin:0;min-width:320px}button,input{font:inherit;color:inherit}button{cursor:pointer;background:none;border:0;padding:0}ul{list-style:none;margin:0;padding:0}:focus-visible{outline:2px solid var(--live);outline-offset:2px;border-radius:6px}.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.app{min-height:100dvh;padding-bottom:calc(var(--nav-h) + env(safe-area-inset-bottom))}.content{max-width:760px;margin:0 auto;padding:8px 16px 32px}.topbar{position:sticky;top:0;z-index:5;background:var(--bg);border-bottom:1px solid var(--line);padding-top:env(safe-area-inset-top)}.topbar>*{max-width:760px;margin-inline:auto}.topbar-row{display:flex;align-items:center;gap:10px;height:52px;padding:0 8px 0 16px}.brand{display:flex;align-items:center;gap:8px;font-weight:700;font-size:18px;letter-spacing:-.01em;margin-right:auto}.brand svg{color:var(--live)}.demo{font-size:12px;font-weight:600;color:var(--warn);border:1px solid #5c4521;border-radius:6px;padding:3px 8px}.icon-btn{width:44px;height:44px;display:grid;place-items:center;border-radius:12px;color:var(--muted)}.icon-btn:hover{color:var(--text)}.search{display:block;width:calc(100% - 32px);margin:0 16px 8px;height:44px;padding:0 14px;background:var(--surface);border:1px solid var(--line);border-radius:12px;font-size:16px}.days{display:flex;gap:4px;padding:0 12px 4px;overflow-x:auto;scrollbar-width:none}.day{flex:1 0 52px;display:grid;justify-items:center;gap:2px;padding:6px 0;border-radius:12px;color:var(--muted)}.day small{font-size:12px;text-transform:capitalize}.day b{font-size:16px;font-variant-numeric:tabular-nums}.day.on{background:var(--raised);color:var(--text)}.filters{display:flex;gap:8px;padding:6px 16px 12px;overflow-x:auto;scrollbar-width:none}.pill{flex:none;min-height:36px;padding:0 14px;border-radius:18px;font-size:14px;color:var(--muted);background:var(--surface)}.pill.on{background:var(--text);color:var(--bg);font-weight:600}.pill i{font-style:normal;font-size:12px;font-weight:700;margin-left:6px;padding:1px 6px;border-radius:9px;background:var(--live);color:#052016}.group{margin-top:20px}.group-title{display:flex;align-items:center;gap:10px;margin:0 0 6px;font-size:14px;font-weight:600;color:var(--muted)}.code{font-size:12px;font-weight:700;color:var(--text);background:var(--raised);border-radius:6px;padding:3px 7px;min-width:40px;text-align:center}.matches{background:var(--surface);border-radius:14px;overflow:hidden}.match{display:grid;grid-template-columns:52px 1fr auto 44px;align-items:center;column-gap:8px;padding:10px 4px 10px 12px;min-height:76px}.match+.match{border-top:1px solid var(--line)}.m-status{font-size:13px;font-weight:600;font-variant-numeric:tabular-nums;display:flex;align-items:center;gap:5px;color:var(--text)}.m-status.live{color:var(--live)}.m-status.warn{color:var(--warn)}.m-status.muted{color:var(--muted)}.pulse{width:6px;height:6px;border-radius:50%;background:var(--live);animation:pulse 1.6s ease-in-out infinite}@keyframes pulse{50%{opacity:.25}}.m-teams,.m-score{display:grid;grid-auto-rows:28px;align-items:center;row-gap:2px}.team{display:flex;align-items:center;gap:10px;min-width:0;font-size:15px}.team span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.team.lost,.m-score .lost{color:var(--muted)}.badge{flex:none;width:22px;height:22px;border-radius:50%;box-shadow:inset 0 0 0 1px #fff2}.m-score{justify-items:end;font-size:18px;font-weight:700;font-variant-numeric:tabular-nums;min-width:24px}.m-score.live{color:var(--live)}.star{width:44px;height:44px;display:grid;place-items:center;color:var(--muted)}.star.on{color:var(--warn)}.state{margin-top:48px;text-align:center;color:var(--muted)}.state strong{display:block;color:var(--text);font-size:16px;margin-bottom:6px}.state p{margin:0 0 16px;font-size:14px;line-height:1.5}.btn{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 18px;border-radius:12px;background:var(--text);color:var(--bg);font-weight:600}.skeleton-row{height:76px;border-radius:14px;background:var(--surface);margin-top:12px;animation:pulse 1.4s ease-in-out infinite}.banner{display:flex;align-items:center;gap:8px;justify-content:center;padding:8px 16px;font-size:13px;background:#2a2112;color:var(--warn)}.note{font-size:13px;line-height:1.5;color:var(--muted);margin:20px 0 0}.comp-list{background:var(--surface);border-radius:14px;overflow:hidden;margin-top:8px}.comp-list li+li{border-top:1px solid var(--line)}.comp-list button{display:flex;align-items:center;gap:12px;width:100%;min-height:56px;padding:0 16px;font-size:15px;text-align:left}.comp-list button span:nth-child(2){flex:1}.comp-list svg{color:var(--muted)}.table{width:100%;border-collapse:collapse;background:var(--surface);border-radius:14px;overflow:hidden;font-size:15px;font-variant-numeric:tabular-nums}.table th{text-align:left;font-size:13px;font-weight:600;color:var(--muted);padding:10px 12px}.table td{padding:12px;border-top:1px solid var(--line)}.table th:nth-child(n+3),.table td:nth-child(n+3){text-align:right;width:56px}h2.group-title{margin-top:28px}.nav{position:fixed;inset:auto 0 0 0;z-index:6;display:flex;background:var(--surface);border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom)}.nav-item{flex:1;height:var(--nav-h);display:grid;place-content:center;justify-items:center;gap:3px;font-size:12px;color:var(--muted)}.nav-item.on{color:var(--live);font-weight:600}@media(min-width:900px){.app{padding-bottom:0;padding-left:var(--rail-w)}.nav{inset:0 auto 0 0;width:var(--rail-w);flex-direction:column;justify-content:flex-start;gap:4px;padding:24px 12px;border-top:0;border-right:1px solid var(--line)}.nav-item{flex:none;height:48px;display:flex;gap:12px;justify-content:flex-start;padding:0 14px;border-radius:12px;font-size:15px}.nav-item.on{background:var(--raised)}}@media(prefers-reduced-motion:reduce){.pulse,.skeleton-row{animation:none}}
