:root{--bg:#f5f7fa;--surface:#fff;--text:#1a1a2e;--text-muted:#666;--accent:#1976d2;--accent-hover:#1565c0;--accent-bg:#e3f2fd;--border:#dde2e8;--table-header:#e3f2fd;--table-stripe:#f8f9fa;--table-hover:#eef2f7;--error:#d32f2f;--error-bg:#ffebee;--dimmed:.5;--playoff-badge:#ff9800;--regular-badge:#4caf50;--radius:8px;--shadow:0 1px 3px #00000014}[data-theme=dark]{--bg:#0d1117;--surface:#161b22;--text:#e6edf3;--text-muted:#8b949e;--accent:#58a6ff;--accent-hover:#79c0ff;--accent-bg:#0d1f3c;--border:#30363d;--table-header:#161b22;--table-stripe:#0d1117;--table-hover:#1c2431;--error:#f85149;--error-bg:#2d1214;--dimmed:.4;--playoff-badge:#d29922;--regular-badge:#3fb950;--shadow:0 1px 3px #0000004d}*,:before,:after{box-sizing:border-box;margin:0;padding:0}body{background:var(--bg);color:var(--text);min-height:100vh;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;line-height:1.5}.app{flex-direction:column;max-width:940px;min-height:100vh;margin:0 auto;padding:24px 20px;display:flex}header{text-align:center;border-bottom:2px solid var(--accent);margin-bottom:32px;padding-bottom:20px;position:relative}header h1{letter-spacing:-.02em;font-size:1.75rem;font-weight:700}header .subtitle{color:var(--text-muted);margin-top:4px;font-size:.95rem}.theme-toggle{border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;background:0 0;padding:6px 10px;font-size:1.2rem;transition:background .15s;position:absolute;top:0;right:0}.theme-toggle:hover{background:var(--accent-bg)}main{flex:1}.url-input{margin-bottom:24px}.url-input label{margin-bottom:8px;font-size:.9rem;font-weight:600;display:block}.url-input-row{gap:8px;display:flex}.url-input input{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);color:var(--text);outline:none;flex:1;padding:10px 14px;font-size:.9rem;transition:border-color .15s}.url-input input:focus{border-color:var(--accent)}.url-input input::placeholder{color:var(--text-muted);opacity:.6;font-size:.82rem}.url-input button{background:var(--accent);color:#fff;border-radius:var(--radius);cursor:pointer;white-space:nowrap;border:none;min-width:140px;padding:10px 20px;font-size:.9rem;font-weight:600;transition:background .15s}.url-input button:hover:not(:disabled){background:var(--accent-hover)}.url-input button:disabled{opacity:.5;cursor:not-allowed}.spinner{vertical-align:middle;border:2px solid #ffffff4d;border-top-color:#fff;border-radius:50%;width:18px;height:18px;animation:.6s linear infinite spin;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}.error-msg{background:var(--error-bg);color:var(--error);border-radius:var(--radius);border:1px solid var(--error);margin-bottom:20px;padding:12px 16px;font-size:.9rem}.team-info{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);margin-bottom:20px;padding:16px 20px}.team-info h2{margin-bottom:8px;font-size:1.2rem}.team-info-details{color:var(--text-muted);flex-wrap:wrap;gap:16px;font-size:.88rem;display:flex}.options-bar{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);flex-wrap:wrap;align-items:center;gap:16px;margin-bottom:16px;padding:10px 16px;font-size:.88rem;display:flex}.checkbox-label{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:6px;display:flex}.checkbox-label input[type=checkbox]{accent-color:var(--accent);width:16px;height:16px}.sub-option{border-left:2px solid var(--border);padding-left:8px}.table-wrapper{margin-bottom:20px}.table-count{color:var(--text-muted);margin-bottom:8px;font-size:.85rem}.table-scroll{border-radius:var(--radius);border:1px solid var(--border);box-shadow:var(--shadow);overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:.88rem}thead{background:var(--table-header)}th{text-align:left;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);white-space:nowrap;border-bottom:2px solid var(--border);padding:10px 12px;font-size:.82rem;font-weight:600}td{border-bottom:1px solid var(--border);white-space:nowrap;padding:8px 12px}tbody tr:nth-child(2n){background:var(--table-stripe)}tbody tr:hover{background:var(--table-hover)}tbody tr.past td{opacity:var(--dimmed)}.badge{letter-spacing:.05em;text-transform:uppercase;border-radius:4px;padding:2px 8px;font-size:.72rem;font-weight:700;display:inline-block}.regular-badge{background:var(--regular-badge);color:#fff}.playoff-badge{background:var(--playoff-badge);color:#fff}.download-btn{background:var(--accent);color:#fff;border-radius:var(--radius);cursor:pointer;border:none;width:100%;padding:14px;font-size:1rem;font-weight:700;transition:background .15s,transform .1s;display:block}.download-btn:hover{background:var(--accent-hover);transform:translateY(-1px)}.download-btn:active{transform:translateY(0)}.empty-state{text-align:center;color:var(--text-muted);padding:32px;font-size:.95rem}footer{text-align:center;color:var(--text-muted);margin-top:auto;padding:24px 0 8px;font-size:.82rem}@media (width<=640px){.url-input-row{flex-direction:column}.url-input button{width:100%;min-width:unset}.team-info-details{flex-direction:column;gap:4px}header h1{font-size:1.3rem}}
