:root{--ink:#102237;--navy:#101f31;--blue:#2358ce;--lime:#bbf16b;--paper:#fff;--bg:#edf1f5;--muted:#5b6a7b;--line:#dce3eb;--amber:#845715;--amber-bg:#fff4db;--green:#27644b;--green-bg:#e8f3ee;--red:#a13333;--radius:10px;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--bg);font-size:16px;line-height:1.5}
*{box-sizing:border-box}body{margin:0}button,input{font:inherit}button,a,input{touch-action:manipulation}button{cursor:pointer}button:disabled{opacity:.6;cursor:wait}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid #78a2ff;outline-offset:3px}button{border:0}a{color:var(--blue)}[hidden]{display:none!important}.skip{position:fixed;top:-5rem;left:1rem;background:#fff;padding:1rem;z-index:9}.skip:focus{top:1rem}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.masthead{min-height:94px;background:var(--navy);color:white;padding:1rem clamp(1.25rem,4vw,4.5rem);display:flex;align-items:center;justify-content:space-between;gap:1rem;border-bottom:3px solid var(--lime)}.brand{display:flex;gap:.8rem;align-items:center;color:#fff;text-decoration:none;font-size:1.25rem;font-weight:800;letter-spacing:.1em;line-height:1.2}.brand-mark{background:var(--lime);color:var(--navy);padding:.55rem .35rem;font-size:1.15rem;letter-spacing:-.06em;border-radius:3px}.brand-sub{display:block;font-size:.75rem;font-weight:500;color:#b6c4d3;letter-spacing:.17em;margin-top:.3rem}.header-right{display:flex;align-items:center;gap:1.5rem}.mode-pill{font-size:.75rem;letter-spacing:.08em;border:1px solid #4b5b6d;border-radius:5px;padding:.4rem .7rem;color:#d0d9e4}.ghost{color:#fff;background:none;padding:.5rem;font-size:.9rem}
main{max-width:1680px;margin:0 auto;padding:2rem clamp(1.25rem,4vw,4.5rem) 1.5rem}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1.5rem}h1,h2,h3,p{margin:0}h1{font-size:clamp(1.75rem,2.4vw,2.25rem);letter-spacing:-.04em;line-height:1.2;margin-top:.3rem}h2{font-size:1.05rem;font-weight:700}h3{font-size:1rem}.eyebrow{color:var(--muted);font-size:.75rem;font-weight:700;letter-spacing:.13em}.muted{color:var(--muted);font-size:.875rem}.refresh-group{display:flex;align-items:center;gap:1rem}.secondary{background:white;color:var(--ink);border:1px solid #cdd6e1;border-radius:6px;padding:.65rem 1rem;font-size:.875rem;font-weight:600}.secondary:hover{border-color:var(--blue);color:var(--blue)}.primary{background:var(--blue);color:#fff;border-radius:6px;padding:.85rem 1rem;font-weight:650}.primary:hover{background:#1844a7}
.toolbar{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.25rem}.date-nav{display:flex;gap:.5rem;flex-wrap:wrap}.date-button{display:flex;gap:.5rem;align-items:center;background:#e2e8ef;color:#415268;border-radius:6px;padding:.65rem .9rem;font-size:.875rem}.date-button[aria-pressed=true]{background:var(--navy);color:white}.day-count{padding:.1rem .4rem;border-radius:4px;background:#ffffff29;font-size:.75rem}.date-picker{display:flex;gap:.6rem;align-items:center;font-size:.875rem;color:var(--muted)}input{border:1px solid #c6d0dc;background:white;border-radius:6px;color:var(--ink);padding:.65rem .75rem;min-width:0}input[type=date]{max-width:12rem;font-size:.875rem}.overview{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);margin-bottom:1rem;padding:1.2rem 0}.overview>div{padding:0 1.5rem;border-right:1px solid var(--line);display:grid;grid-template-columns:auto 1fr;align-items:baseline;column-gap:.8rem}.overview>div:last-child{border:0}.metric-label{font-size:.75rem;letter-spacing:.07em;font-weight:650;color:var(--muted);grid-column:1/-1}.overview strong{font-size:2rem;line-height:1.3;font-weight:700;font-variant-numeric:tabular-nums;letter-spacing:-.04em}.metric-note{color:var(--muted);font-size:.75rem;line-height:1.5}.model-notice{display:flex;align-items:center;gap:.9rem;color:#5b4b2b;background:#fff8e9;border:1px solid #ebddbd;padding:.8rem 1rem;border-radius:6px;font-size:.875rem;margin-bottom:1.5rem}.notice-tag{font-size:.75rem;letter-spacing:.04em;font-weight:750;white-space:nowrap;color:var(--amber)}
.workspace{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(340px,1fr);gap:1.25rem;align-items:start}.slate,.detail{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.section-heading{padding:1.05rem 1.2rem;display:flex;align-items:center;justify-content:space-between;gap:.6rem;border-bottom:1px solid var(--line)}.table-scroll{overflow-x:auto}.games-table{width:100%;border-collapse:collapse}.games-table th{font-size:.75rem;color:var(--muted);font-weight:600;text-align:left;background:#f7f9fb;padding:.75rem .7rem;border-bottom:1px solid var(--line);line-height:1.4}.games-table th:first-child{padding-left:1.2rem;min-width:195px}.games-table th:last-child{width:44px}.games-table td{padding:1rem .7rem;border-bottom:1px solid var(--line);vertical-align:middle;font-size:.875rem}.games-table tr:last-child td{border-bottom:0}.games-table tr.selected{background:#eef4ff}.games-table tr.selected td:first-child{box-shadow:inset 3px 0 var(--blue)}.games-table td:first-child{padding-left:1.2rem}.game-time{color:var(--muted);font-size:.75rem;margin-bottom:.4rem;font-variant-numeric:tabular-nums}.match-teams{display:flex;align-items:center;gap:.4rem;font-weight:750;font-size:1rem;white-space:nowrap}.at-symbol{color:#8492a4;font-weight:400}.team-chip{font-size:.7rem;letter-spacing:.03em;color:#7b8899;display:block}.number{font-variant-numeric:tabular-nums;font-size:1.12rem;font-weight:700;white-space:nowrap}.number-caption{display:block;font-size:.75rem;color:var(--muted);font-weight:400}.status-badge{display:inline-flex;align-items:center;font-size:.875rem;border-radius:4px;padding:.25rem .45rem;line-height:1.35;background:#eef1f6;color:#516176}.status-badge.good{background:var(--green-bg);color:var(--green)}.status-badge.warn{background:var(--amber-bg);color:var(--amber)}.status-badge.bad{background:#fceced;color:var(--red)}.detail-button{background:none;border:1px solid #cbd6e4;border-radius:5px;color:#536887;min-height:36px;min-width:34px;font-size:1.2rem}.selected .detail-button{background:var(--blue);color:white;border-color:var(--blue)}
.detail{position:sticky;top:1rem}.detail-top{background:var(--navy);color:white;padding:1.25rem 1.5rem}.detail-top .eyebrow{color:#b9c7d6}.detail-match{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:.8rem;margin:1.3rem 0 1rem}.detail-team{text-align:center;min-width:0}.detail-team strong{font-size:2.1rem;line-height:1;letter-spacing:-.05em;display:block}.detail-team span{font-size:.875rem;color:#c3cedb;display:block;margin-top:.6rem;line-height:1.35}.detail-vs{font-size:.75rem;color:#8195af}.detail-venue{text-align:center;color:#c3cedb;font-size:.8rem;line-height:1.7}.detail-tabs{display:flex;border-bottom:1px solid var(--line);padding:0 1rem;gap:.25rem}.detail-tabs button{padding:.9rem .65rem;background:none;color:var(--muted);font-size:.875rem;border-bottom:3px solid transparent}.detail-tabs button[aria-selected=true]{color:var(--blue);border-color:var(--blue);font-weight:650}.detail-body{padding:1.3rem 1.4rem}.projection-pair{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--line);border-radius:7px;margin:1rem 0}.projection-pair>div{padding:1rem;text-align:center}.projection-pair>div+div{border-left:1px solid var(--line)}.projection-pair strong{display:block;font-size:1.75rem;font-variant-numeric:tabular-nums;letter-spacing:-.03em}.projection-pair span{font-size:.8rem;color:var(--muted)}.fineprint{font-size:.8rem;color:var(--muted);line-height:1.65}.confidence-line{margin:1rem 0;border-left:3px solid #d5e0f8;padding:.2rem .8rem;font-size:.875rem;color:var(--muted)}.detail-section+.detail-section{margin-top:1.5rem;padding-top:1.2rem;border-top:1px solid var(--line)}.detail-section h3{margin-bottom:.75rem}.data-list{margin:0}.data-list>div{display:flex;justify-content:space-between;gap:1rem;margin:.65rem 0;font-size:.875rem}.data-list dt{color:var(--muted)}.data-list dd{margin:0;font-weight:600;text-align:right;font-variant-numeric:tabular-nums}.context-item{margin-bottom:.85rem;padding-bottom:.85rem;border-bottom:1px solid var(--line)}.context-item:last-child{margin:0;padding:0;border:0}.context-item>div{display:flex;justify-content:space-between;align-items:start;gap:1rem}.context-item p{color:var(--muted);font-size:.8rem;margin-top:.35rem;line-height:1.55}.injury-group+.injury-group{margin-top:1.5rem}.injury-group h3{margin-bottom:.5rem}.injury-row{padding:.7rem 0;border-bottom:1px solid var(--line)}.injury-row>div{display:flex;justify-content:space-between;gap:.75rem;font-size:.875rem}.injury-row p{margin-top:.3rem;font-size:.8rem;color:var(--muted)}.injury-meta{font-size:.75rem;color:#7a8797}.source-link{font-size:.8rem;display:inline-block;margin-top:.7rem;text-underline-offset:3px}.empty{padding:2rem 1.3rem;color:var(--muted);text-align:center}.empty p{margin-top:.75rem;font-size:.875rem;line-height:1.6}.panel-footer{display:flex;justify-content:space-between;gap:2rem;color:var(--muted);font-size:.75rem;margin-top:1.25rem}.panel-footer span{white-space:nowrap}.error{color:#912d34;background:#fff0f1;padding:.8rem 1rem;border-radius:6px;font-size:.875rem;line-height:1.6}.page-error{margin:1rem 0}.initial-status{padding:3rem;text-align:center;color:var(--muted)}
.login-view{max-width:1020px;display:grid;grid-template-columns:1.1fr 1fr;gap:5rem;align-items:center;margin:clamp(2rem,8vh,7rem) auto}.login-intro h1{font-size:clamp(2.2rem,3.5vw,3.5rem);line-height:1.1;letter-spacing:-.045em;margin:1rem 0 1.3rem}.login-intro p{color:var(--muted);max-width:340px;line-height:1.7}.login-note{display:inline-block;border-top:2px solid var(--blue);padding-top:1rem;margin-top:2rem;font-size:.875rem;color:var(--muted)}.login-form{display:flex;flex-direction:column;padding:2rem;border-radius:10px;background:white;border:1px solid var(--line);box-shadow:0 14px 40px #17314808}.login-form h2{font-size:1.35rem}.login-form>p{font-size:.875rem;line-height:1.6;color:var(--muted);margin:.6rem 0 1rem}.login-form label{font-size:.875rem;font-weight:600;margin:.6rem 0 .4rem}.login-form .primary{margin-top:1.5rem}.login-form .login-help{font-size:.8rem;margin-bottom:0}.login-form .error{color:#912d34}
@media(min-width:1450px){.games-table td{padding-top:1.15rem;padding-bottom:1.15rem}.workspace{grid-template-columns:minmax(0,1.8fr) minmax(390px,1fr)}}
@media(max-width:1120px){.workspace{grid-template-columns:minmax(0,1fr)}.detail{position:static;max-width:none}.detail-match{max-width:500px;margin:1rem auto}.overview>div{display:block}.overview strong{display:block}.overview .metric-label{display:block}.refresh-group{align-items:flex-end;flex-direction:column;gap:.4rem}.login-view{gap:2rem}.detail-body{max-width:850px;margin:auto}.games-table td,.games-table th{padding-right:1rem}}
@media(max-width:640px){.masthead{min-height:82px;padding:1rem}.mode-pill{font-size:.65rem;max-width:105px;text-align:center;padding:.3rem}.header-right{gap:.5rem}main{padding:1.5rem 1rem}.brand{font-size:1rem;gap:.6rem}.brand-sub{font-size:.65rem}.brand-mark{font-size:1rem}.page-heading{align-items:start}.page-heading h1{font-size:1.7rem}.refresh-group .muted{font-size:.75rem}.secondary{padding:.5rem .6rem;font-size:.8rem}.toolbar{align-items:flex-start;flex-direction:column}.date-nav{gap:.4rem}.date-button{padding:.6rem .7rem}.date-picker{align-self:flex-end}.overview{grid-template-columns:1fr 1fr;padding:0}.overview>div{padding:1rem}.overview>div:nth-child(2){border-right:0}.overview>div:nth-child(-n+2){border-bottom:1px solid var(--line)}.overview strong{font-size:1.75rem}.model-notice{align-items:start;flex-direction:column;gap:.35rem;font-size:.8rem}.section-heading{flex-wrap:wrap;padding:1rem}.games-table th:first-child{min-width:145px}.games-table th,.games-table td{padding:.85rem .5rem}.games-table th{font-size:.75rem}.games-table td:first-child{padding-left:1rem}.games-table th:nth-child(4),.games-table td:nth-child(4){display:none}.games-table th:nth-child(3){min-width:90px}.number{font-size:1rem}.match-teams{font-size:.95rem}.team-chip{display:none}.panel-footer{flex-direction:column;gap:.7rem}.login-view{grid-template-columns:1fr;gap:2rem;margin:1rem auto}.login-intro h1{font-size:2.35rem}.login-note{display:none}.login-form{padding:1.5rem}.login-intro p{max-width:none}.detail-body{padding:1.2rem}.detail-tabs{justify-content:space-around;padding:0 .3rem}.detail-tabs button{padding:.8rem .5rem}}
.validation-panel{background:var(--paper);border:1px solid var(--line);border-radius:8px;margin:-.5rem 0 1.5rem}.validation-panel summary{cursor:pointer;padding:1rem 1.2rem;font-weight:650}.validation-panel summary .muted{margin-left:.5rem;font-weight:400}.validation-panel summary:focus-visible{outline:3px solid #78a2ff;outline-offset:3px}.validation-content{padding:0 1.2rem 1.2rem;font-size:.875rem}.validation-content>p{margin:.7rem 0}.validation-table{width:100%;border-collapse:collapse;margin:.6rem 0;min-width:510px}.validation-table caption{text-align:left;color:var(--muted);padding:.6rem 0}.validation-table th,.validation-table td{text-align:left;padding:.65rem .7rem;border-bottom:1px solid var(--line);font-variant-numeric:tabular-nums}.validation-table thead{background:#f7f9fb}.validation-table tbody th{font-weight:500}.validation-notes{display:flex;gap:1rem 2rem;flex-wrap:wrap;margin:1rem 0}.source-date-note{padding:.7rem .85rem;margin:.7rem 0;background:var(--amber-bg);color:var(--amber);font-size:.875rem;border-radius:5px}.source-date-badge{margin-top:.35rem}.source-date-badge .status-badge{font-size:.8rem}
@media(prefers-reduced-motion:no-preference){button{transition:background-color .15s,border-color .15s,color .15s}}
.evaluation-counts { display:flex; flex-wrap:wrap; gap:12px 24px; margin:16px 0; color:var(--muted); font-size:.85rem; }
.evaluation-counts strong { color:var(--ink); font-size:1.1rem; }
.detail-tabs { overflow-x:auto; }
.detail-tabs button { flex-shrink:0; }
.market-winner { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; margin:18px 0; }
.market-winner div { padding:12px 8px; border:1px solid var(--line); border-radius:6px; text-align:center; }
.market-winner span { display:block; color:var(--muted); font-size:.8rem; }
.market-winner strong { display:block; font-size:1.35rem; margin-top:5px; font-variant-numeric:tabular-nums; }
.market-table { width:100%; border-collapse:collapse; font-size:.82rem; font-variant-numeric:tabular-nums; }
.market-table caption { text-align:left; color:var(--muted); padding:10px 0; }
.market-table th,.market-table td { padding:9px 6px; border-bottom:1px solid var(--line); text-align:right; white-space:nowrap; }
.market-table th:first-child { text-align:left; }
.market-table tbody th { font-weight:500; }
.market-validation { margin-top:16px; }
.market-validation summary { cursor:pointer; font-size:.85rem; font-weight:600; }
.manual-comparison { margin-top:20px; border-top:1px solid var(--line); padding-top:18px; }
.manual-form { display:grid; gap:8px; margin:16px 0; }
.manual-form label { font-size:.85rem; font-weight:600; }
.manual-form select,.manual-form input { width:100%; min-width:0; padding:10px; border:1px solid var(--line); border-radius:5px; background:var(--paper); color:var(--ink); font:inherit; }
.manual-form button { margin-top:8px; }
.manual-result { margin-top:18px; padding-top:14px; border-top:1px solid var(--line); }
.manual-result h4 { margin-bottom:12px; }
.market-performance { margin-top:22px; padding-top:18px; border-top:1px solid var(--line); }
.market-performance h3 { margin-bottom:8px; }
.market-performance>p { margin:.7rem 0; }
.price-book { margin-top:24px; }
.price-book h4 { margin:18px 0 10px; }
.price-moneyline { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.price-moneyline>div { border:1px solid var(--line); border-radius:6px; padding:12px; text-align:center; }
.price-moneyline span { display:block; margin-bottom:8px; font-weight:600; }
.price-pick { border:1px solid #bdd0f7; border-radius:5px; padding:8px 12px; background:#edf3ff; color:#1749a6; font:inherit; font-weight:650; font-variant-numeric:tabular-nums; cursor:pointer; }
.price-pick:hover { background:#dce8ff; }
.price-pick:focus-visible { outline:3px solid #78a2ff; outline-offset:3px; }
.player-table-scroll{max-height:560px;overflow:auto}
.player-table{min-width:1120px;font-size:.82rem}
.player-table th,.player-table td{white-space:nowrap;vertical-align:top}
.player-table td small{display:block;font-size:.72rem;color:#687a90;margin-top:4px}
.player-table thead th{position:sticky;top:0;background:#f0f4f8;z-index:1}
.player-availability{min-width:146px;padding:6px;border:1px solid #c8d5e4;border-radius:6px;color:#173456;background:white}
.player-scenario-controls label{display:flex;align-items:center;gap:9px;font-weight:700}
.player-scenario-controls input{width:18px;height:18px}
.player-scenario-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:20px}
.player-scenario-actions button{padding:12px 18px}
.player-impact details{margin-top:12px}
