:root{color-scheme:light dark;--bg:#f4f5f7;--surface:#ffffff;--surface-2:#eef0f3;--fg:#14161a;--fg-muted:#5f6672;--border:#d9dde3;--border-strong:#b8bfc9;--accent:#12693a;--accent-hover:#0e5730;--accent-fg:#ffffff;--accent-soft:#e3f2e9;--danger:#b3261e;--warning:#8a5a00;--warning-soft:#fdf3dd;--radius:12px;--radius-sm:8px;--tap:52px}@media (prefers-color-scheme:dark){:root{--bg:#101216;--surface:#191c22;--surface-2:#22262e;--fg:#f0f2f5;--fg-muted:#9aa3b0;--border:#2c313a;--border-strong:#3c434e;--accent:#2f9e5f;--accent-hover:#37b06c;--accent-fg:#06120b;--accent-soft:#16281d;--danger:#ef6a62;--warning:#e0b355;--warning-soft:#2a2415}}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;background:var(--bg);color:var(--fg);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;font-size:16px;line-height:1.45}.page{max-width:640px;margin:0 auto;padding:12px 14px 72px}h1{font-size:1.6rem;margin:8px 0 4px;letter-spacing:-.02em}h2{font-size:1.2rem}h3{font-size:1rem}a{color:var(--accent)}nav.topnav{display:flex;gap:4px;align-items:center;flex-wrap:wrap;margin:0 -14px 16px;padding:6px 10px;background:var(--surface);border-bottom:1px solid var(--border);position:-webkit-sticky;position:sticky;top:0;z-index:20}nav.topnav a{color:var(--fg);text-decoration:none;font-size:.9rem;font-weight:500;padding:9px 11px;border-radius:var(--radius-sm);white-space:nowrap}nav.topnav a:active{background:var(--surface-2)}nav.topnav a.active{background:var(--accent-soft);color:var(--accent);font-weight:650}nav.topnav .spacer{flex:1 1}nav.topnav .who{font-size:.8rem;color:var(--fg-muted);padding:0 6px}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:16px;margin-bottom:14px}.muted{color:var(--fg-muted);font-size:.85rem}.error{color:var(--danger);background:var(--surface);border:1px solid var(--danger);border-radius:var(--radius-sm);padding:12px;margin-bottom:12px;font-size:.9rem}.day-heading{display:flex;align-items:baseline;justify-content:space-between;margin:22px 2px 8px}.day-heading h3{margin:0;font-size:.78rem;text-transform:uppercase;letter-spacing:.08em;color:var(--fg-muted);font-weight:700}.day-heading .day-count{font-size:.75rem;color:var(--fg-muted)}.game{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:12px;margin-bottom:10px}.game.is-locked{opacity:.62}.game.has-lock{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.game-meta{display:flex;align-items:center;gap:8px;margin-bottom:10px;font-size:.78rem;color:var(--fg-muted)}.game-meta .kick{flex:1 1}.badge{font-size:.68rem;font-weight:700;letter-spacing:.04em;border-radius:999px;padding:3px 8px;text-transform:uppercase}.badge-mnf{background:var(--accent);color:var(--accent-fg)}.badge-lock{background:var(--fg);color:var(--surface)}.badge-final{background:var(--surface-2);color:var(--fg-muted)}.teams{display:flex;gap:10px}.team-btn{flex:1 1;min-height:var(--tap);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:10px 6px;border:2px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface);color:var(--fg);font-family:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:background .12s,border-color .12s,color .12s}.team-btn:active:not(:disabled){transform:scale(.985)}.team-btn .abbr{font-size:1.15rem;font-weight:700;letter-spacing:-.01em}.team-btn .line{font-size:.8rem;color:var(--fg-muted);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.team-btn.selected{background:var(--accent);border-color:var(--accent);color:var(--accent-fg)}.team-btn.selected .line{color:var(--accent-fg);opacity:.85}.team-btn:disabled{cursor:not-allowed}.lock-row{margin-top:10px;display:flex;justify-content:center}.lock-btn{min-height:40px;width:100%;border:1px dashed var(--border-strong);background:transparent;color:var(--fg-muted);border-radius:var(--radius-sm);font-size:.82rem;font-family:inherit;font-weight:600;cursor:pointer;-webkit-tap-highlight-color:transparent}.lock-btn.on{border-style:solid;border-color:var(--accent);background:var(--accent-soft);color:var(--accent)}.lock-btn:disabled{cursor:not-allowed;opacity:.5}.progress-bar{position:-webkit-sticky;position:sticky;top:47px;z-index:15;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:10px 14px;margin-bottom:14px;display:flex;align-items:center;gap:10px;font-size:.85rem}.progress-bar .count{font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.progress-bar .track{flex:1 1;height:6px;background:var(--surface-2);border-radius:999px;overflow:hidden}.progress-bar .fill{height:100%;background:var(--accent);transition:width .25s}.progress-bar .save-state{font-size:.78rem;color:var(--fg-muted);min-width:52px;text-align:right}.notice{background:var(--warning-soft);border:1px solid var(--warning);color:var(--warning);border-radius:var(--radius-sm);padding:10px 12px;font-size:.85rem;margin-bottom:12px}label.field{display:block;font-size:.8rem;font-weight:600;color:var(--fg-muted);margin:12px 0 5px}input,select{width:100%;min-height:var(--tap);padding:12px 14px;border:1px solid var(--border-strong);border-radius:var(--radius-sm);font-size:1rem;font-family:inherit;background:var(--surface);color:var(--fg)}input:focus,select:focus{outline:2px solid var(--accent);outline-offset:-1px}.checkbox-row{display:flex;align-items:center;gap:10px;min-height:var(--tap);font-size:.92rem}.checkbox-row input{width:22px;height:22px;min-height:0;flex:none}button.primary{width:100%;min-height:var(--tap);background:var(--accent);color:var(--accent-fg);border:none;border-radius:var(--radius-sm);font-size:1rem;font-weight:650;font-family:inherit;cursor:pointer;margin-top:16px}button.primary:active{background:var(--accent-hover)}button.primary:disabled{opacity:.6;cursor:not-allowed}button.secondary{min-height:44px;padding:0 16px;background:var(--surface-2);color:var(--fg);border:1px solid var(--border-strong);border-radius:var(--radius-sm);font-size:.9rem;font-weight:600;font-family:inherit;cursor:pointer}.table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}table{width:100%;border-collapse:collapse}td,th{text-align:left;padding:11px 8px;border-bottom:1px solid var(--border);font-size:.9rem}th{font-size:.72rem;text-transform:uppercase;letter-spacing:.06em;color:var(--fg-muted);font-weight:700}tbody tr:last-child td{border-bottom:none}td.num,th.num{text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.big-number{font-size:2rem;font-weight:700;letter-spacing:-.02em;margin:2px 0}.pos{color:var(--accent)}.neg{color:var(--danger)}