:root{color-scheme:dark;--bg: #0f1420;--bg-raised: #182032;--surface: #1f2940;--border: #2e3a55;--text: #eef2f9;--text-muted: #a9b4cc;--accent: #5aa9ff;--accent-contrast: #0b1526;--danger: #ff7a7a;--focus: #9cc8ff;--space-1: 8px;--space-2: 16px;--space-3: 24px;--space-4: 32px;--radius: 10px;--font-sans: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif}*{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--bg);color:var(--text);font-family:var(--font-sans);font-size:16px;line-height:1.5}body{min-width:320px;overflow-x:hidden}main{padding:var(--space-2);padding-bottom:calc(72px + var(--space-2) + env(safe-area-inset-bottom));max-width:1024px;margin:0 auto}@media (min-width: 768px){main{padding:var(--space-3);padding-bottom:var(--space-3)}}h1,h2{margin:0 0 var(--space-2)}p{margin:0 0 var(--space-2);color:var(--text-muted);font-size:14px}a{color:var(--accent)}.tab-nav{position:fixed;inset-inline:0;bottom:0;display:flex;background:var(--bg-raised);border-top:1px solid var(--border);padding-bottom:env(safe-area-inset-bottom);z-index:10}.tab-nav a{flex:1;display:flex;align-items:center;justify-content:center;min-height:56px;min-width:44px;padding:var(--space-1);color:var(--text-muted);text-decoration:none;font-size:14px}.tab-nav a[aria-current=page]{color:var(--text);font-weight:700;box-shadow:inset 0 2px 0 var(--accent)}button,.tab-nav a{min-height:44px;min-width:44px}:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.auth-form,.inline-form{display:flex;flex-direction:column;gap:var(--space-2)}.auth-form{max-width:420px;margin:0 auto var(--space-2)}.auth-form label,.inline-form label{display:block;margin-bottom:var(--space-1);font-size:14px}.auth-form input,.inline-form input,.auth-form select{width:100%;min-height:44px;padding:0 var(--space-1);background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:var(--radius);font-size:16px}.auth-password-row{display:flex;gap:var(--space-1);align-items:stretch}.auth-password-row input{flex:1}.auth-form>button[type=submit],.inline-form>button[type=submit]{background:var(--accent);color:var(--accent-contrast);border:0;border-radius:var(--radius);font-size:16px;font-weight:700;cursor:pointer}.auth-form>button[type=submit]:disabled,.inline-form>button[type=submit]:disabled{opacity:.7;cursor:progress}.auth-error{color:var(--danger);font-size:14px}.auth-muted{color:var(--text-muted);font-size:14px}.team-list,.player-list,.home-links{list-style:none;margin:0 0 var(--space-2);padding:0}.team-list{display:grid;gap:var(--space-2)}.team-card{background:var(--bg-raised);border:1px solid var(--border);border-radius:var(--radius);padding:var(--space-2)}.team-card h2{margin:0 0 var(--space-1)}.player-list{margin:0 0 var(--space-2)}.player-list li{padding:var(--space-1) 0;border-bottom:1px solid var(--border)}.player-list li:last-child{border-bottom:0}.join-code-row{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-1);margin-bottom:var(--space-1)}.join-code-label{font-size:14px;color:var(--text-muted)}.join-code{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:4px var(--space-1);font-size:16px;letter-spacing:2px}.team-card button{background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:var(--radius);font-size:14px;font-weight:700;cursor:pointer}.home-links li{padding:var(--space-1) 0}.quarter-switcher{display:inline-flex;gap:var(--space-1);margin-bottom:var(--space-2)}.quarter-switcher button{background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:var(--radius);font-size:14px;font-weight:700;cursor:pointer}.quarter-switcher button[aria-pressed=true]{background:var(--accent);color:var(--accent-contrast);border-color:var(--accent)}.scoring-grid{display:grid;gap:var(--space-2);grid-template-columns:1fr;margin-bottom:var(--space-2)}@media (min-width: 768px){.scoring-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.player-card{background:var(--bg-raised);border:1px solid var(--border);border-radius:var(--radius);padding:var(--space-2)}.player-card h2{margin:0 0 var(--space-1);font-size:16px}.stat-buttons{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-1)}.stat-button{min-height:44px;min-width:44px;background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:var(--radius);font-size:14px;font-weight:700;cursor:pointer}.stat-button:active{background:var(--accent);color:var(--accent-contrast)}.undo-row,.finalize-row{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2);margin-bottom:var(--space-2)}.undo-row button,.finalize-row button,.modal-actions button{background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:var(--radius);font-size:14px;font-weight:700;cursor:pointer}.undo-row button:disabled{opacity:.6;cursor:not-allowed}.finalize-row>button[aria-haspopup=dialog]{background:var(--accent);color:var(--accent-contrast);border:0}.boxscore-table{width:100%;border-collapse:collapse;margin-bottom:var(--space-2);font-size:14px}.boxscore-table th,.boxscore-table td{text-align:left;padding:var(--space-1);border-bottom:1px solid var(--border)}.boxscore-table thead th{color:var(--text-muted);font-weight:700}.table-scroll{overflow:auto;max-height:min(70vh,640px);margin-bottom:var(--space-2);border:1px solid var(--border);border-radius:var(--radius)}.display-table{width:100%;border-collapse:collapse;font-size:14px}.display-table th,.display-table td{text-align:left;padding:var(--space-1);border-bottom:1px solid var(--border);white-space:nowrap}.display-table thead th{position:sticky;top:0;z-index:1;background:var(--bg-raised);color:var(--text-muted);font-weight:700}.display-table tbody th{font-weight:600}.display-table .num{text-align:right;font-variant-numeric:tabular-nums}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.modal{position:fixed;top:0;right:0;bottom:0;left:0;margin:auto;max-width:420px;height:fit-content;background:var(--bg-raised);border:1px solid var(--border);border-radius:var(--radius);padding:var(--space-3);z-index:20;box-shadow:0 12px 32px #00000080}.modal-actions{display:flex;justify-content:flex-end;gap:var(--space-1)}.modal-actions button:last-child{background:var(--accent);color:var(--accent-contrast);border:0}.spinner{display:inline-block;width:16px;height:16px;margin-right:var(--space-1);border:2px solid var(--text-muted);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite;vertical-align:middle}@keyframes spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion: reduce){.spinner{animation:none}}@media (min-width: 768px){.tab-nav{position:sticky;top:0;bottom:auto;border-top:0;border-bottom:1px solid var(--border)}.tab-nav a[aria-current=page]{border-top:0;border-bottom:0;box-shadow:inset 0 -2px 0 var(--accent)}main{padding-bottom:var(--space-3)}}.feed-list{list-style:none;margin:0 0 var(--space-2);padding:0;display:grid;gap:var(--space-2)}.feed-card{background:var(--bg-raised);border:1px solid var(--border);border-radius:var(--radius);padding:var(--space-2)}.feed-kind{display:flex;align-items:center;gap:var(--space-1);margin:0 0 var(--space-1);color:var(--text);font-weight:700}.feed-icon{flex:none;color:var(--accent)}.feed-actor,.feed-ref{margin:0;color:var(--text-muted);font-size:14px}.badge-groups{display:grid;gap:var(--space-2)}.badge-groups h3{margin:0 0 var(--space-1);font-size:14px;color:var(--text-muted)}.badge-grid{list-style:none;margin:0 0 var(--space-2);padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-1)}@media (min-width: 768px){.badge-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}.badge{display:flex;align-items:center;gap:var(--space-1);min-height:44px;padding:var(--space-1);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);color:var(--text-muted);font-size:14px}.badge-earned{border-color:var(--accent);color:var(--text);font-weight:700}.badge-mark{flex:none;width:20px;text-align:center;color:var(--accent)}.profile-header{display:flex;align-items:center;gap:var(--space-2);margin-bottom:var(--space-3)}.profile-avatar{flex:none;width:64px;height:64px;border-radius:50%;border:1px solid var(--border);background:var(--surface);object-fit:cover}.profile-avatar-fallback{display:flex;align-items:center;justify-content:center;font-size:24px;font-weight:700;color:var(--accent)}.profile-name{margin:0;color:var(--text);font-size:20px;font-weight:700}.profile-role{margin:0;color:var(--text-muted);font-size:14px;text-transform:capitalize}.profile-counts{margin:0;color:var(--text-muted);font-size:14px}
