:root{--bg:#f6f7f5;--surface:#fff;--surface-2:#f0f2ef;--border:#dde1dc;--text:#17201a;--muted:#5d6a61;--accent:#14683f;--accent-soft:#e2f1e8;--accent-text:#fff;--strong:#14683f;--strong-soft:#dcefe4;--lean:#9a6200;--lean-soft:#fbefd7;--pass:#5d6a61;--pass-soft:#eceeeb;--danger:#b42318;--danger-soft:#fde7e5;--warn:#b54708;--warn-soft:#fdf0e1;--info:#175cd3;--info-soft:#e5eefc;--home:#14683f;--away:#3b5bab;--radius:10px;--shadow:0 1px 2px #1018140f, 0 1px 3px #10181414;--font:ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--mono:ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root{--bg:#0f1411;--surface:#161d19;--surface-2:#1d2621;--border:#2b3630;--text:#e7ede9;--muted:#97a59c;--accent:#3fbf7f;--accent-soft:#173526;--accent-text:#07130c;--strong:#4fd18f;--strong-soft:#173526;--lean:#f2b544;--lean-soft:#3a2c12;--pass:#97a59c;--pass-soft:#232c27;--danger:#ff7b72;--danger-soft:#3d1a18;--warn:#ffa657;--warn-soft:#3b2614;--info:#79a8ff;--info-soft:#172640;--home:#4fd18f;--away:#8aa6ff;--shadow:0 1px 2px #0006;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}*{box-sizing:border-box}html,body{margin:0}body{background:var(--bg);color:var(--text);font:15px/1.45 var(--font);-webkit-font-smoothing:antialiased}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}h1,h2,h3{margin:0;line-height:1.2}h1{font-size:1.5rem}h2{font-size:1.15rem}h3{font-size:1rem}button,input,select,textarea{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.app-header{z-index:10;background:var(--surface);border-bottom:1px solid var(--border);position:sticky;top:0}.app-header-inner{align-items:center;gap:24px;max-width:1280px;height:56px;margin:0 auto;padding:0 16px;display:flex}.brand{color:var(--text);align-items:center;gap:8px;font-weight:700;display:flex}.brand:hover{text-decoration:none}.brand-mark{background:var(--accent);width:26px;height:26px;color:var(--accent-text);border-radius:7px;place-items:center;font-size:13px;display:grid}.nav{gap:4px;display:flex;overflow-x:auto}.nav a{color:var(--muted);white-space:nowrap;border-radius:8px;padding:6px 12px;font-weight:500}.nav a:hover{color:var(--text);background:var(--surface-2);text-decoration:none}.nav a.active{color:var(--text);background:var(--accent-soft)}.header-spacer{flex:1}main{max-width:1280px;margin:0 auto;padding:24px 16px 64px}.page-head{flex-wrap:wrap;align-items:flex-end;gap:12px 24px;margin-bottom:20px;display:flex}.page-head .subtitle{color:var(--muted);margin-top:4px}.page-head .actions{flex-wrap:wrap;align-items:center;gap:8px;margin-left:auto;display:flex}.footer-note{color:var(--muted);border-top:1px solid var(--border);margin-top:40px;padding-top:16px;font-size:13px}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow)}.card-pad{padding:16px}.grid{gap:16px;display:grid}.grid-games{grid-template-columns:repeat(auto-fill,minmax(340px,1fr))}.stack{flex-direction:column;gap:12px;display:flex}.row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.muted{color:var(--muted)}.small{font-size:13px}.mono{font-family:var(--mono);font-size:13px}.num{font-variant-numeric:tabular-nums}.right{text-align:right}.banner{border-radius:var(--radius);background:var(--info-soft);color:var(--info);margin-bottom:16px;padding:10px 14px;font-size:14px}.banner.warn{background:var(--warn-soft);color:var(--warn)}.btn{border:1px solid var(--border);background:var(--surface);cursor:pointer;border-radius:8px;align-items:center;gap:6px;padding:7px 14px;font-weight:500;display:inline-flex}.btn:hover:not(:disabled){background:var(--surface-2)}.btn:disabled{opacity:.55;cursor:not-allowed}.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-text)}.btn.primary:hover:not(:disabled){filter:brightness(1.08);background:var(--accent)}.btn.danger{color:var(--danger);border-color:color-mix(in srgb, var(--danger) 40%, var(--border))}.btn.small{padding:4px 10px;font-size:13px}.btn.link{color:var(--accent);background:0 0;border:none;padding:0}.input,.select,textarea.input{border:1px solid var(--border);background:var(--surface);border-radius:8px;min-width:0;padding:7px 10px}.input:focus,.select:focus{border-color:var(--accent);outline:none}label.field{color:var(--muted);flex-direction:column;gap:4px;font-size:13px;display:flex}label.field>span{font-weight:500}label.check{cursor:pointer;align-items:center;gap:6px;font-size:14px;display:inline-flex}.field-error{color:var(--danger);font-size:13px}.filters{flex-wrap:wrap;align-items:flex-end;gap:10px;margin-bottom:16px;display:flex}.tabs{border-bottom:1px solid var(--border);gap:4px;margin-bottom:16px;display:flex;overflow-x:auto}.tab{cursor:pointer;color:var(--muted);white-space:nowrap;background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-1px;padding:8px 14px;font-weight:600}.tab:hover{color:var(--text)}.tab[aria-selected=true]{color:var(--text);border-bottom-color:var(--accent)}.chips{flex-wrap:wrap;gap:6px;margin-bottom:14px;display:flex}.chip{border:1px solid var(--border);background:var(--surface);cursor:pointer;color:var(--muted);border-radius:999px;padding:4px 12px;font-size:13px}.chip:hover{color:var(--text)}.chip[aria-pressed=true]{background:var(--accent-soft);border-color:var(--accent);color:var(--text)}.badge{white-space:nowrap;background:var(--pass-soft);color:var(--pass);border-radius:999px;align-items:center;gap:4px;padding:1px 9px;font-size:12px;font-weight:600;display:inline-flex}.badge.strong{background:var(--strong-soft);color:var(--strong)}.badge.lean{background:var(--lean-soft);color:var(--lean)}.badge.out{background:var(--danger-soft);color:var(--danger)}.badge.q{background:var(--warn-soft);color:var(--warn)}.badge.info{background:var(--info-soft);color:var(--info)}.badge.win{background:var(--strong-soft);color:var(--strong)}.badge.loss{background:var(--danger-soft);color:var(--danger)}.table-wrap{overflow-x:auto}table.data{border-collapse:collapse;width:100%;font-size:14px}table.data th{text-align:left;text-transform:uppercase;letter-spacing:.03em;color:var(--muted);border-bottom:1px solid var(--border);white-space:nowrap;background:var(--surface);padding:10px 12px;font-size:12px;font-weight:600}table.data td{border-bottom:1px solid var(--border);vertical-align:top;padding:10px 12px}table.data tr:last-child td{border-bottom:none}table.data tbody tr:hover td{background:var(--surface-2)}table.data th.num,table.data td.num{text-align:right}.player-cell .name{color:var(--text);font-weight:600}.player-cell .meta{color:var(--muted);font-size:12px}.notes{color:var(--muted);margin-top:4px;font-size:12px}table.data td.rank{color:var(--muted);width:36px;font-weight:700}.pick{white-space:nowrap;font-weight:600}.pick.over{color:var(--strong)}.pick.under{color:var(--info)}.pos{color:var(--strong)}.neg{color:var(--danger)}.range{background:var(--surface-2);border-radius:4px;width:120px;height:8px;margin-top:6px;position:relative}.range .band{background:var(--accent-soft);border-radius:4px;position:absolute;top:0;bottom:0}.range .median{background:var(--accent);width:2px;height:12px;position:absolute;top:-2px}.range .line{background:var(--text);opacity:.6;width:2px;height:14px;position:absolute;top:-3px}.game-card{flex-direction:column;gap:12px;display:flex}.game-card .top{justify-content:space-between;align-items:center;gap:8px;display:flex}.team-row{grid-template-columns:1fr auto auto;align-items:center;gap:10px;display:grid}.team-row .team{font-weight:600}.team-row .team.picked:after{content:" ✓";color:var(--accent)}.team-row .prob{font-variant-numeric:tabular-nums;font-weight:700}.team-row .price{font-variant-numeric:tabular-nums;color:var(--muted);text-align:right;min-width:52px}.probbar{background:var(--surface-2);border-radius:4px;height:8px;display:flex;overflow:hidden}.probbar .away{background:var(--away)}.probbar .home{background:var(--home)}.game-card .facts{color:var(--muted);flex-wrap:wrap;gap:6px 16px;font-size:13px;display:flex}.game-card .facts b{color:var(--text);font-weight:600}.pick-line{border-top:1px dashed var(--border);flex-wrap:wrap;align-items:center;gap:6px 14px;padding-top:10px;font-size:14px;display:flex}.parlay-layout{grid-template-columns:minmax(300px,400px) 1fr;align-items:start;gap:20px;display:grid}@media (width<=900px){.parlay-layout{grid-template-columns:1fr}}.slip-legs{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.slip-legs li{border:1px solid var(--border);background:var(--surface-2);border-radius:8px;justify-content:space-between;align-items:flex-start;gap:10px;padding:10px 12px;display:flex}.slip-legs li.bad{border-color:var(--danger)}.slip-legs.compact li{padding:6px 10px;font-size:14px}.parlay-metrics{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.parlay-metrics>div{background:var(--surface-2);border-radius:8px;flex-direction:column;padding:8px 10px;display:flex}.parlay-metrics .label{color:var(--muted);font-size:12px}.parlay-metrics b{font-variant-numeric:tabular-nums;font-size:1.15rem}.segmented{border:1px solid var(--border);border-radius:8px;display:inline-flex;overflow:hidden}.segmented button{background:var(--surface);cursor:pointer;color:var(--muted);border:none;padding:6px 12px;font-weight:500}.segmented button+button{border-left:1px solid var(--border)}.segmented button[aria-checked=true]{background:var(--accent-soft);color:var(--text)}.add-btn{border:1px solid var(--border);background:var(--surface);color:var(--accent);cursor:pointer;border-radius:6px;width:26px;height:26px;font-weight:700;line-height:1}.add-btn[aria-pressed=true]{background:var(--accent);color:var(--accent-text);border-color:var(--accent)}.nav .count{background:var(--accent);min-width:18px;height:18px;color:var(--accent-text);border-radius:9px;place-items:center;margin-left:6px;padding:0 5px;font-size:11px;font-weight:700;display:inline-grid}.tiles{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px;margin-bottom:20px;display:grid}.tile .label{color:var(--muted);font-size:13px}.tile .value{font-variant-numeric:tabular-nums;font-size:1.6rem;font-weight:700}dialog.modal{border:1px solid var(--border);background:var(--surface);width:min(520px,100vw - 32px);color:var(--text);border-radius:14px;padding:0;box-shadow:0 20px 50px #00000040}dialog.modal::backdrop{background:#0006}.modal-head{border-bottom:1px solid var(--border);padding:16px 20px}.modal-body{flex-direction:column;gap:12px;padding:16px 20px;display:flex}.modal-foot{border-top:1px solid var(--border);justify-content:flex-end;gap:8px;padding:12px 20px;display:flex}.toast{z-index:50;background:var(--text);max-width:420px;color:var(--bg);box-shadow:var(--shadow);border-radius:10px;padding:12px 16px;position:fixed;bottom:20px;right:20px}.toast.error{background:var(--danger);color:#fff}.empty{text-align:center;color:var(--muted);padding:40px 16px}.spinner{border:2px solid var(--border);border-top-color:var(--accent);vertical-align:middle;border-radius:50%;width:18px;height:18px;animation:.8s linear infinite spin;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.spinner{animation-duration:3s}}.login-wrap{max-width:380px;margin:8vh auto}.kv{grid-template-columns:max-content 1fr;gap:4px 16px;font-size:14px;display:grid}.kv dt{color:var(--muted)}.kv dd{margin:0}pre.json{background:var(--surface-2);border-radius:8px;max-height:260px;margin:0;padding:10px;font-size:12px;overflow:auto}@media (width<=640px){.app-header-inner{gap:12px}.brand span:last-child{display:none}.grid-games{grid-template-columns:1fr}main{padding-top:16px}}
