:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#10233f;background:#f4f7fb;font-synthesis:none;text-rendering:optimizeLegibility;--navy: #071a33;--navy-2: #0c315b;--blue: #124f86;--red: #d71935;--muted: #6d7c90;--line: #dde4ed;--panel: #ffffff}*{box-sizing:border-box}body{margin:0;min-width:320px;background:#f4f7fb}a{color:inherit;text-decoration:none}button,input,select{font:inherit}.app{min-height:100vh;display:flex;flex-direction:column}.topbar{min-height:74px;padding:0 30px;border-bottom:1px solid var(--line);background:#fffffff5;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);display:flex;align-items:center;justify-content:space-between;gap:24px;position:sticky;top:0;z-index:20}.brand{display:flex;align-items:center;gap:11px}.brand-mark{width:41px;height:41px;border-radius:11px;color:#fff;background:var(--navy);display:grid;place-items:center;font-weight:950;letter-spacing:-.04em}.brand-title{font-weight:950;letter-spacing:-.03em}.brand-subtitle{margin-top:2px;color:var(--muted);font-size:11px}.nav{display:flex;gap:6px}.nav-link{padding:9px 12px;border-radius:9px;color:var(--muted);font-size:13px;font-weight:800}.nav-link:hover,.nav-link.active{color:#fff;background:var(--navy-2)}.main{flex:1;width:min(1280px,calc(100% - 34px));margin:0 auto;padding:30px 0 46px}.footer{padding:17px 24px;border-top:1px solid var(--line);color:#7d8999;background:#fff;text-align:center;font-size:11px}.page-stack{display:grid;gap:18px}.eyebrow{color:var(--blue);font-size:10px;font-weight:950;letter-spacing:.13em;text-transform:uppercase}.empty-state{padding:30px;border:1px dashed #cbd5df;border-radius:16px;color:var(--muted);background:#fff;text-align:center}.empty-state.error{color:#b42318;border-color:#efc1bd}.back-link{width:fit-content;color:var(--blue);font-size:12px;font-weight:850}.team-identity{min-width:0;display:flex;align-items:center;gap:14px}.team-identity.home{flex-direction:row-reverse;text-align:right}.team-logo-shell{width:70px;height:70px;flex:0 0 70px;padding:8px;border-radius:18px;border:1px solid rgba(255,255,255,.14);background:#ffffff17;display:grid;place-items:center}.team-logo{width:100%;height:100%;object-fit:contain}.team-logo-fallback{color:#fff;font-weight:950}.team-copy{min-width:0}.team-abbr{color:#fff;font-size:22px;font-weight:950}.team-full-name{margin-top:2px;color:#ffffffad;font-size:11px}.team-score{margin-top:5px;color:#fff;font-size:42px;font-weight:950;line-height:1}.client-page-head{padding:8px 2px;display:flex;align-items:end;justify-content:space-between;gap:20px}.client-page-head>div>span{color:var(--blue);font-size:10px;font-weight:950;letter-spacing:.12em}.client-page-head h1{margin:4px 0 5px;color:var(--navy);font-size:clamp(2.2rem,5vw,3.6rem);letter-spacing:-.055em}.client-page-head p{margin:0;color:var(--muted)}.client-page-head>strong{color:#c9d2dd;font-size:44px}.client-toolbar{padding:12px;border:1px solid var(--line);border-radius:16px;background:#fff;display:flex;justify-content:space-between;gap:12px}.client-toolbar input{flex:1;max-width:430px;padding:11px 13px;border:1px solid var(--line);border-radius:10px;outline:none}.client-season-tabs{display:flex;gap:5px;padding:4px;border-radius:10px;background:#f0f3f7}.client-season-tabs button{border:0;border-radius:7px;padding:8px 11px;color:#6b7a8d;background:transparent;cursor:pointer;font-size:11px;font-weight:850}.client-season-tabs button.active{color:#fff;background:var(--navy-2)}.client-game-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.client-game-card{padding:17px;border:1px solid var(--line);border-radius:17px;background:#fff;box-shadow:0 6px 18px #10233f0b;transition:transform .14s ease,box-shadow .14s ease}.client-game-card:hover{transform:translateY(-2px);box-shadow:0 12px 25px #10233f14}.client-game-date{color:#7b899c;font-size:10px}.client-game-matchup{margin-top:15px;display:grid;grid-template-columns:1fr auto 1fr;gap:10px;align-items:center}.client-game-matchup>div{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.client-game-matchup span{color:#2d435e;font-size:13px;font-weight:900}.client-game-matchup strong{color:var(--navy);font-size:25px}.client-game-matchup em{padding:3px 5px;border-radius:5px;color:#7d8998;background:#edf1f5;font-size:8px;font-style:normal;font-weight:950}.client-game-lines{margin-top:14px;padding-top:12px;border-top:1px solid #e8edf2;display:grid;grid-template-columns:1fr 1fr;gap:9px}.client-game-lines div{padding:8px;border-radius:9px;background:#f7f9fb}.client-game-lines span{display:block;color:#8390a1;font-size:9px}.client-game-lines strong{display:block;margin-top:3px;font-size:13px}.client-game-open{margin-top:13px;color:var(--blue);font-size:10px;font-weight:900;text-align:right}.client-scoreboard{min-height:214px;padding:28px 34px;border-radius:22px;color:#fff;background:linear-gradient(120deg,#07182d,#0c315b 62%,#104878);box-shadow:0 16px 36px #07182d29;display:grid;grid-template-columns:1fr minmax(180px,.7fr) 1fr;align-items:center;gap:25px}.client-score-center{text-align:center;display:flex;flex-direction:column;align-items:center}.client-score-center>span{padding:4px 7px;border-radius:5px;color:#ffffffb8;background:#ffffff1a;font-size:9px;font-weight:950;letter-spacing:.12em}.client-score-center>strong{margin-top:9px;font-size:clamp(2.3rem,5vw,3.7rem);letter-spacing:-.055em;line-height:1}.client-score-center>small{margin-top:8px;color:#ffffff9e}.client-context{overflow:hidden;border:1px solid var(--line);border-radius:16px;background:#fff;display:grid;grid-template-columns:repeat(3,1fr)}.client-context>div{padding:15px 18px;border-right:1px solid var(--line)}.client-context>div:last-child{border-right:0}.client-context span{display:block;color:#7e8b9c;font-size:10px}.client-context strong{display:block;margin-top:4px;color:var(--navy);font-size:16px}.client-replay-cta{padding:20px 22px;border-radius:17px;color:#fff;background:var(--navy);display:flex;align-items:center;justify-content:space-between;gap:20px}.client-replay-cta span{color:#ffffff94;font-size:9px;font-weight:950;letter-spacing:.12em}.client-replay-cta strong{display:block;margin-top:3px}.client-replay-cta a{flex:0 0 auto;padding:10px 13px;border-radius:9px;color:var(--navy);background:#fff;font-size:11px;font-weight:900}.r2-replay-page{gap:18px}.r2-hero{position:relative;overflow:hidden;min-height:186px;padding:30px 32px;border-radius:24px;color:#fff;background:radial-gradient(circle at 84% 12%,rgba(255,255,255,.14),transparent 30%),linear-gradient(120deg,#07182d,#0b2d53 58%,#0e477e);box-shadow:0 18px 42px #06182d2e;display:flex;align-items:center;justify-content:space-between;gap:28px}.r2-hero:after{content:"";position:absolute;inset:auto 0 0;height:5px;background:var(--red)}.r2-hero-copy .eyebrow{color:#ffffff9e}.r2-hero h1{margin:3px 0 0;font-size:clamp(2rem,4vw,3.35rem);line-height:1;letter-spacing:-.05em}.r2-hero p{margin:12px 0 0;color:#ffffffb8;font-size:.94rem}.r2-controls{width:min(420px,100%);padding:16px;border:1px solid rgba(255,255,255,.16);border-radius:17px;background:#ffffff17;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);display:grid;grid-template-columns:auto 1fr;gap:8px 10px;align-items:center}.r2-controls label{color:#ffffffb3;font-size:.69rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.r2-controls select{min-width:0;border:1px solid rgba(255,255,255,.18);border-radius:10px;padding:10px 11px;color:#13243a;background:#fff;font-weight:750}.r2-controls button{grid-column:1 / -1;border:0;border-radius:11px;padding:12px 15px;color:#fff;background:var(--red);cursor:pointer;font-size:.74rem;font-weight:950;letter-spacing:.045em}.r2-controls button:disabled{opacity:.65;cursor:default}.r2-live-strip{width:fit-content;margin:-4px auto 0;padding:7px 11px;border:1px solid #dfe7e3;border-radius:999px;color:#3b5d4a;background:#f4faf6;font-size:.63rem;font-weight:950;letter-spacing:.09em;display:flex;align-items:center;gap:8px}.r2-live-strip>span{width:7px;height:7px;border-radius:50%;background:#25a767}.r2-scoreboard{min-height:210px;padding:25px 34px;border:1px solid var(--line);border-radius:22px;background:linear-gradient(120deg,#07182d,#0c315b 62%,#104878);box-shadow:0 12px 34px #10233f12;display:grid;grid-template-columns:1fr minmax(180px,.72fr) 1fr;align-items:center;gap:28px}.r2-score-center{color:#fff;text-align:center;display:flex;flex-direction:column;align-items:center}.r2-score-center>span{padding:5px 8px;border-radius:6px;color:#ffffffb8;background:#ffffff1a;font-size:.61rem;font-weight:950;letter-spacing:.12em}.r2-score-center>strong{margin-top:10px;font-size:clamp(2rem,5vw,3.6rem);line-height:.95;letter-spacing:-.055em}.r2-score-center>small{margin-top:9px;color:#ffffff9e;font-size:.74rem}.r2-prediction-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.r2-prediction-card{position:relative;overflow:hidden;min-height:215px;padding:22px 24px;border:1px solid var(--line);border-radius:20px;background:#fff;box-shadow:0 11px 28px #10233f11}.r2-prediction-card:before{content:"";position:absolute;inset:0 auto 0 0;width:5px;background:var(--navy-2)}.r2-prediction-top{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}.r2-prediction-top>span{color:#65758b;font-size:.7rem;font-weight:950;letter-spacing:.1em}.r2-result{min-width:60px;padding:7px 10px;border-radius:9px;text-align:center;font-size:.66rem;font-weight:950;letter-spacing:.07em}.r2-result-win{color:#0f7141;background:#e8f7ef;border:1px solid #c8ead8}.r2-result-loss{color:#b12136;background:#fcecef;border:1px solid #f2c9d1}.r2-result-push{color:#606d7d;background:#eef1f4;border:1px solid #dde3e8}.r2-result-none{color:#798698;background:#f1f3f6;border:1px solid #e4e8ed}.r2-model-play{margin-top:22px;display:flex;flex-direction:column;gap:4px}.r2-model-play span,.r2-confidence-row span{color:#8692a2;font-size:.62rem;font-weight:900;letter-spacing:.09em}.r2-model-play strong{color:#092f58;font-size:clamp(1.75rem,4vw,2.65rem);line-height:1;letter-spacing:-.04em}.r2-confidence-row{margin-top:22px;padding-top:16px;border-top:1px solid #e8edf2;display:grid;grid-template-columns:auto 1fr;align-items:end;gap:16px}.r2-confidence-row>div:first-child{display:flex;flex-direction:column;gap:3px}.r2-confidence-row strong{color:#13263e;font-size:1.15rem}.r2-confidence-track{overflow:hidden;width:100%;height:7px;margin-bottom:4px;border-radius:999px;background:#e9edf2}.r2-confidence-track>span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#0d477c,var(--red))}.r2-ready-state{min-height:210px;padding:36px;border:1px dashed #cbd5e1;border-radius:20px;color:#607087;background:#fbfcfe;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px}.r2-ready-state>span{padding:5px 8px;border-radius:6px;color:#4b6583;background:#edf2f7;font-size:.61rem;font-weight:950;letter-spacing:.1em}.r2-ready-state strong{color:#263a53;font-size:.98rem}.r2-history{padding:22px;border:1px solid var(--line);border-radius:20px;background:#fff;box-shadow:0 10px 28px #10233f0e}.r2-history-head{display:flex;align-items:center;justify-content:space-between;gap:22px;margin-bottom:15px}.r2-history-head h2{margin:3px 0 0;color:#10243f;font-size:1.28rem;letter-spacing:-.025em}.r2-three-year{min-width:170px;padding:11px 14px;border-radius:13px;color:#fff;background:var(--navy-2);display:grid;grid-template-columns:1fr auto;gap:1px 10px;align-items:center}.r2-three-year>span{grid-column:1 / -1;color:#ffffff9e;font-size:.6rem;font-weight:950;letter-spacing:.1em}.r2-three-year strong{font-size:1.15rem}.r2-three-year small{color:#ffffffc7;font-size:.7rem}.r2-season-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.r2-season-card{padding:16px;border:1px solid #e0e6ed;border-radius:16px;background:#fafbfd}.r2-season-top{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.r2-season-top>span{color:#173a60;font-size:1.15rem;font-weight:950}.r2-season-top>div{text-align:right;display:flex;flex-direction:column}.r2-season-top strong{color:#10243f;font-size:1rem}.r2-season-top small{margin-top:1px;color:#768499;font-size:.67rem}.r2-season-lines{margin-top:13px;padding-top:12px;border-top:1px solid #e5eaf0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.r2-season-lines>div{display:grid;grid-template-columns:1fr auto;gap:1px 8px}.r2-season-lines span{grid-column:1 / -1;color:#8490a0;font-size:.58rem;font-weight:950;letter-spacing:.08em}.r2-season-lines strong{color:#2b405a;font-size:.83rem}.r2-season-lines small{color:#8490a0;font-size:.64rem}@media(max-width:900px){.client-game-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.client-scoreboard,.r2-scoreboard{grid-template-columns:1fr 1fr}.client-score-center,.r2-score-center{grid-column:1 / -1;grid-row:1}.r2-hero{flex-direction:column;align-items:stretch}.r2-controls{width:100%}.r2-prediction-grid,.r2-season-grid{grid-template-columns:1fr}}@media(max-width:650px){.topbar{padding:14px 16px;align-items:flex-start;flex-direction:column}.nav{width:100%}.nav-link{flex:1;text-align:center}.main{width:min(100% - 22px,1280px);padding-top:20px}.client-page-head{align-items:flex-start}.client-toolbar{flex-direction:column}.client-toolbar input{max-width:none}.client-game-grid,.client-context{grid-template-columns:1fr}.client-context>div{border-right:0;border-bottom:1px solid var(--line)}.client-context>div:last-child{border-bottom:0}.client-replay-cta{align-items:stretch;flex-direction:column}.client-replay-cta a{text-align:center}.r2-hero{min-height:0;padding:24px 20px 27px}.r2-hero h1{font-size:2rem}.r2-controls{grid-template-columns:1fr}.r2-controls button{grid-column:auto}.r2-scoreboard,.client-scoreboard{padding:22px 18px;gap:18px}.r2-prediction-card{min-height:0;padding:20px}.r2-confidence-row{grid-template-columns:1fr}.r2-history-head{align-items:stretch;flex-direction:column}.r2-three-year{width:100%}.team-logo-shell{width:56px;height:56px;flex-basis:56px}.team-score{font-size:34px}}
