:root{color-scheme:light dark;--plum: #4a1d5c;--plum-2: #7b2d8e;--gold: #d9a521;--bg: #f6f2f8;--card: #ffffff;--card-2: #f2ecf5;--text: #1d1520;--muted: #6b5d73;--border: #e2d8e8;--danger: #c0392b;--good: #1e8e3e}@media (prefers-color-scheme: dark){:root:not([data-theme=light]){--bg: #16101a;--card: #211a26;--card-2: #2b2231;--text: #f0e9f3;--muted: #a795b0;--border: #362b3d;--gold: #f0bf3f;--danger: #ff6b5e;--good: #4ade80}}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:-apple-system,Segoe UI,Roboto,sans-serif;line-height:1.45}h2{margin:18px 0 10px;font-size:20px}h3{margin:16px 0 8px;font-size:16px}.muted{color:var(--muted)}.small{font-size:12px}.center{text-align:center}.fine-print{font-size:12.5px;color:var(--muted);margin:8px 0 0}.error-text{color:var(--danger);font-weight:600}.loading{padding:40px;text-align:center;color:var(--muted)}.brand{font-weight:800;font-size:19px;letter-spacing:-.01em;background:linear-gradient(90deg,var(--gold),#ffe9a8);-webkit-background-clip:text;background-clip:text;color:transparent}.app{max-width:760px;margin:0 auto;padding-bottom:40px}.topbar{background:linear-gradient(135deg,var(--plum) 0%,var(--plum-2) 100%);padding:14px 16px;display:flex;align-items:center;justify-content:space-between;gap:12px}.who{color:#f3e6f7;font-size:13px;display:flex;align-items:center;gap:10px}.linkish{background:none;border:none;color:inherit;opacity:.85;text-decoration:underline;font-size:12px;padding:0;cursor:pointer}.linkish.danger{color:var(--danger);opacity:1}.tabs{display:flex;gap:6px;padding:10px 12px 0;overflow-x:auto}.tab{flex:none;background:var(--card);border:1px solid var(--border);border-radius:999px;padding:7px 13px;font-size:13px;font-weight:600;color:var(--muted);cursor:pointer;white-space:nowrap}.tab.active{background:var(--plum-2);border-color:var(--plum-2);color:#fff}.content{padding:4px 12px}.card{background:var(--card);border:1px solid var(--border);border-radius:14px;padding:14px;margin-bottom:12px}.login-screen,.who-screen{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:24px}.login-card{width:100%;max-width:340px}.who-list{display:flex;flex-direction:column;gap:8px;width:100%;max-width:320px;margin:8px 0}label{display:block;font-size:13px;color:var(--muted);margin:10px 0 4px}input[type=text],input[type=password],input[type=number],input:not([type]){width:100%;padding:10px;border:1px solid var(--border);border-radius:10px;background:var(--card-2);color:var(--text);font-size:15px}input:focus{outline:2px solid var(--plum-2);outline-offset:-1px}.btn{width:100%;margin-top:12px;background:var(--plum-2);color:#fff;border:none;border-radius:10px;padding:11px 16px;font-weight:700;font-size:15px;cursor:pointer}.btn:disabled{opacity:.5;cursor:default}.btn.secondary{background:var(--card-2);color:var(--text);border:1px solid var(--border)}.btn.secondary.danger{color:var(--danger);border-color:var(--danger)}.btn.small{width:auto;margin:0;padding:7px 12px;font-size:13px}.checkbox-row{display:flex;align-items:center;gap:8px;font-size:14px;color:var(--text);margin-top:12px}.checkbox-row input{width:auto}.inline-form{display:flex;gap:8px;margin-top:10px;flex-wrap:wrap}.inline-form input{flex:1;min-width:120px}.clock-card{border-left:4px solid var(--border)}.clock-card.my-turn{border-left-color:var(--gold);background:linear-gradient(90deg,rgba(217,165,33,.1),transparent 60%)}.clock-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.eyebrow{font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}.on-clock-name{font-size:22px;font-weight:800}.countdown{font-size:30px;font-weight:800;font-variant-numeric:tabular-nums;color:var(--muted)}.countdown.urgent{color:var(--danger)}.your-turn{font-weight:700;color:var(--gold);margin:8px 0 0}.couple-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px}.couple-card{display:flex;flex-direction:column;gap:2px;text-align:left;background:var(--card);border:1px solid var(--border);border-radius:12px;padding:11px;cursor:pointer;color:var(--text)}.couple-card:disabled{opacity:.55;cursor:default}.couple-card:not(:disabled):active{transform:scale(.98)}.couple-card .celeb{font-weight:700;font-size:14px}.couple-card .pro{font-size:12px;color:var(--muted)}.pick-list{list-style:none;padding:0;margin:0}.pick-list li{padding:9px 0;border-bottom:1px solid var(--border);font-size:14px}.pick-num{color:var(--muted);font-variant-numeric:tabular-nums;margin-right:8px}.auto-tag{margin-left:6px;font-size:11px;background:var(--card-2);border:1px solid var(--border);border-radius:6px;padding:1px 5px;color:var(--muted)}.standings{display:flex;flex-direction:column;gap:6px}.standing-row{display:flex;align-items:center;gap:12px;background:var(--card);border:1px solid var(--border);border-radius:12px;padding:12px 14px}.standing-row.leader{border-color:var(--gold);box-shadow:inset 3px 0 0 var(--gold)}.rank{font-weight:800;color:var(--muted);width:20px}.standing-name{flex:1;font-weight:600}.standing-total{font-weight:800;font-size:18px;font-variant-numeric:tabular-nums}.table-scroll{overflow-x:auto}.week-table{width:100%;border-collapse:collapse;font-size:14px}.week-table th,.week-table td{padding:8px 10px;text-align:right;border-bottom:1px solid var(--border);font-variant-numeric:tabular-nums;white-space:nowrap}.week-table th:first-child,.week-table td:first-child{text-align:left}.week-table th{color:var(--muted);font-weight:600;font-size:12px}.team-card.mine{border-color:var(--plum-2)}.team-head{display:flex;align-items:baseline;justify-content:space-between;gap:10px}.team-head h3{margin:0}.team-total{font-weight:800;font-variant-numeric:tabular-nums}.roster-row{display:flex;justify-content:space-between;gap:10px;padding:7px 0;border-bottom:1px solid var(--border);font-size:14px}.roster-row:last-child{border-bottom:none}.roster-pts{font-variant-numeric:tabular-nums;color:var(--muted)}.eliminated{opacity:.55}.elim-tag{font-size:11px;color:var(--danger);margin-left:6px}.week-picker{display:flex;align-items:center;gap:12px}.week-num{font-weight:700;font-size:16px}.score-row{display:flex;align-items:center;gap:10px;padding:7px 0;border-bottom:1px solid var(--border)}.score-name{flex:1;font-size:14px}.score-row input{width:84px;text-align:right}.saved-tick{color:var(--good);font-weight:700}.setup-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 0;border-bottom:1px solid var(--border);font-size:14px}.row-actions{display:flex;gap:10px;flex:none}
