:root{--bg: #0b0f16;--surface: #131a26;--surface-2: #1b2433;--border: #263143;--text: #e7edf5;--muted: #8b98ab;--accent: #3b82f6;--accent-ink: #fff;--win: #1f9d5c;--loss: #d3455b;--push: #b9922b;--radius: 12px}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--bg);color:var(--text);font:15px/1.45 -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased}button,input,select{font:inherit;color:inherit}a{color:var(--accent);text-decoration:none}.app{max-width:720px;margin:0 auto;min-height:100vh}.topbar{position:sticky;top:0;z-index:10;display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;padding:10px 14px;background:#0b0f16e6;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--border)}.brand{font-weight:700}.tabs{display:flex;gap:6px;flex:1}.tabs a{padding:6px 10px;border-radius:8px;color:var(--muted)}.tabs a.active{color:var(--text);background:var(--surface-2)}.content{padding:14px}.stack{display:flex;flex-direction:column;gap:12px}.stack.tight{gap:8px}.row{display:flex;align-items:center;gap:8px}.row.spread{justify-content:space-between}.row.wrap,.wrap{flex-wrap:wrap}.gap{gap:8px}.center{min-height:100vh;display:grid;place-items:center;padding:20px}.center-pad{padding:40px 12px;text-align:center}.muted{color:var(--muted)}.small{font-size:13px}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:14px}.card h2{margin:0 0 10px;font-size:16px}.card.me{border-color:var(--accent)}.auth-card{width:100%;max-width:360px;display:flex;flex-direction:column;gap:12px}.auth-card h1{margin:0;font-size:20px}label{display:flex;flex-direction:column;gap:4px;font-size:13px;color:var(--muted)}input,select{background:var(--surface-2);border:1px solid var(--border);border-radius:8px;padding:9px 10px;color:var(--text)}input.num,input[type=number].num{width:58px}input.pw{width:140px;padding:6px 8px}label.check,label.weekpick{flex-direction:row;align-items:center;color:var(--text)}.check input{width:auto}button{background:var(--surface-2);border:1px solid var(--border);border-radius:8px;padding:9px 12px;cursor:pointer}button:hover:not(:disabled){border-color:var(--accent)}button:disabled{opacity:.45;cursor:not-allowed}button.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink);font-weight:600}button.linkbtn{background:none;border:none;padding:4px;color:var(--accent)}button.linkbtn.danger{color:var(--loss)}.game.locked{opacity:.72}.matchup{font-size:15px}.submeta{margin:6px 0 10px}.betgrid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.bet{display:flex;flex-direction:column;align-items:flex-start;gap:3px;text-align:left;padding:10px;min-height:58px}.bet-name{font-weight:600}.bet-sub{font-size:12px;color:var(--muted)}.bet-mine{border-color:var(--accent);background:#3b82f61f}.bet-submitted{border-color:var(--win);background:#1f9d5c1f}.bet-elsewhere{border-style:dashed}.userpicks h3{margin:0;font-size:15px}.userpicks .picklist{margin-top:10px}.userpicks .picklist li{align-items:baseline}.upick-label{min-width:0}button.lockin{width:100%;margin-top:10px}.locknote,.submeta a{font-size:13px}.locknote{margin-top:10px;color:var(--muted)}.pill{display:inline-block;padding:1px 8px;border-radius:999px;font-size:12px;background:var(--surface-2);border:1px solid var(--border);text-transform:capitalize}.pill-win{background:#1f9d5c2e;border-color:var(--win);color:#6ee7b0}.pill-loss{background:#d3455b2e;border-color:var(--loss);color:#f4a3b0}.pill-push{background:#b9922b2e;border-color:var(--push);color:#e9cf8f}.pill-submitted{background:#1f9d5c2e;border-color:var(--win);color:#6ee7b0}.pill-draft{background:#b9922b2e;border-color:var(--push);color:#e9cf8f}table.standings{width:100%;border-collapse:collapse;font-size:14px}table.standings th,table.standings td{text-align:left;padding:7px 6px;border-bottom:1px solid var(--border)}table.standings th{color:var(--muted);font-weight:600}.picklist{list-style:none;margin:8px 0 0;padding:0;display:flex;flex-direction:column;gap:6px}.picklist li{display:flex;justify-content:space-between;gap:8px;padding:6px 0;border-bottom:1px solid var(--border)}.picklist li:last-child{border-bottom:none}.score{margin-top:8px;font-weight:600}.scorerow{padding:6px 0;border-bottom:1px solid var(--border)}.slotcount{font-size:13px;color:var(--muted)}.card.emergency{border-color:var(--loss);background:#d3455b14}.card.emergency h3{margin:0 0 6px;font-size:15px;text-align:center}.card.emergency label{flex:1 1 120px}.card.emergency select,.card.emergency input{width:100%}.error,.ok{padding:8px 10px;border-radius:8px;font-size:13px}.error{background:#d3455b26;border:1px solid var(--loss)}.ok{background:#1f9d5c26;border:1px solid var(--win)}code{background:var(--surface-2);padding:1px 5px;border-radius:5px}@media (max-width: 420px){.tabs{order:3;width:100%}}.gridtable{display:block;overflow-x:auto;white-space:nowrap}.gridtable .pill{text-transform:none}.cell-locked{font-size:13px}.cell-nopick{color:var(--muted);font-size:13px}.progressbar{height:14px;border-radius:999px;background:var(--surface-2);border:1px solid var(--border);overflow:hidden}.progressbar-fill{height:100%;border-radius:999px;transition:width .3s ease,background .3s ease}.progressbar-caption{margin-top:6px;font-size:13px}
