
:root{--bg:#070b10;--panel:#0e151e;--panel2:#121c27;--line:#233142;--text:#f5f7fa;--muted:#94a5b7;--orange:#ff8a24;--ice:#8dd7ff;--green:#55d69e;--red:#ff6b70;--gold:#ffd166;--shadow:0 20px 55px rgba(0,0,0,.28)}*{box-sizing:border-box}body{margin:0;background:radial-gradient(circle at 75% -10%,#173148 0,transparent 38%),var(--bg);color:var(--text);font:15px/1.5 Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif}button,input,select{font:inherit}button{cursor:pointer}.boot{display:grid;place-items:center;height:100vh;color:var(--muted)}.topbar{position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:18px;padding:14px 24px;border-bottom:1px solid rgba(255,255,255,.08);background:rgba(7,11,16,.92);backdrop-filter:blur(18px)}.brand{display:flex;align-items:center;gap:10px;font-weight:900;letter-spacing:.04em;font-size:19px;white-space:nowrap}.mark{width:30px;height:30px;border-radius:9px;background:linear-gradient(145deg,var(--orange),#ffb25f);display:grid;place-items:center;color:#171009;font-weight:1000;box-shadow:0 0 0 4px rgba(255,138,36,.12)}.working{font-size:10px;color:var(--orange);border:1px solid rgba(255,138,36,.4);padding:2px 6px;border-radius:999px}.nav{display:flex;gap:4px;overflow:auto}.nav button{border:0;background:transparent;color:var(--muted);padding:9px 11px;border-radius:9px;font-weight:700;white-space:nowrap}.nav button:hover,.nav button.active{background:#162230;color:#fff}.nav button.active{box-shadow:inset 0 -2px var(--orange)}.top-actions{margin-left:auto;display:flex;align-items:center;gap:10px}.status{font-size:12px;color:var(--muted);display:flex;align-items:center;gap:6px}.dot{width:7px;height:7px;border-radius:50%;background:var(--green);box-shadow:0 0 10px var(--green)}.ghost{border:1px solid var(--line);background:#0d141d;color:#dce7f1;padding:8px 11px;border-radius:9px}.shell{max-width:1500px;margin:auto;padding:26px 24px 70px}.eyebrow{text-transform:uppercase;letter-spacing:.18em;color:var(--orange);font-size:11px;font-weight:900}.hero{display:flex;align-items:end;gap:30px;justify-content:space-between;margin:8px 0 22px}.hero h1{font-size:clamp(32px,4vw,58px);line-height:1;margin:0;letter-spacing:-.045em}.hero p{max-width:650px;color:var(--muted);margin:10px 0 0;font-size:16px}.score-explain{min-width:260px;background:linear-gradient(135deg,#151f2b,#0d141d);border:1px solid var(--line);padding:14px 16px;border-radius:14px}.score-explain strong{font-size:22px}.grid{display:grid;gap:16px}.grid.two{grid-template-columns:minmax(0,1.35fr) minmax(340px,.65fr)}.grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.card{background:linear-gradient(180deg,rgba(18,28,39,.97),rgba(12,19,27,.97));border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow);overflow:hidden}.card-head{display:flex;align-items:center;justify-content:space-between;padding:15px 17px;border-bottom:1px solid var(--line)}.card-head h2,.card-head h3{margin:0;font-size:14px;letter-spacing:.03em}.card-body{padding:16px}.chip{font-size:11px;border:1px solid var(--line);color:var(--muted);padding:4px 8px;border-radius:999px}.rank-row{display:grid;grid-template-columns:36px 1fr 74px 72px 78px;align-items:center;padding:10px 15px;border-bottom:1px solid rgba(255,255,255,.055);transition:.15s}.rank-row:hover{background:#152231;transform:translateX(2px)}.rank-row:last-child{border:0}.rank{color:#6f8397;font-weight:900}.team-link{background:none;border:0;color:#fff;text-align:left;font-weight:850;padding:0}.team-link small{display:block;color:var(--muted);font-weight:500}.score{font-size:22px;font-weight:950;letter-spacing:-.04em}.raw{font:12px ui-monospace,SFMono-Regular,Consolas;color:var(--muted)}.bar{height:5px;background:#1e2b39;border-radius:8px;overflow:hidden;margin-top:4px}.bar>i{display:block;height:100%;border-radius:8px;transition:width .25s ease,background .25s ease}.delta.up{color:var(--green)}.delta.down{color:var(--red)}.game{padding:13px 15px;border-bottom:1px solid rgba(255,255,255,.06)}.game:last-child{border:0}.game-top{display:flex;justify-content:space-between;color:var(--muted);font-size:11px}.game-line{display:grid;grid-template-columns:1fr 54px 24px 54px 1fr;align-items:center;margin-top:7px}.game-line .away{text-align:right}.badge-team{display:inline-grid;place-items:center;width:34px;height:27px;border-radius:7px;background:#1b2a3a;border:1px solid #2a4055;font-size:11px;font-weight:900}.prob{font-weight:950}.at{text-align:center;color:#637589}.kpi{padding:18px}.kpi .value{font-size:32px;font-weight:950;letter-spacing:-.05em}.kpi .label{font-size:12px;color:var(--muted)}.kpi .sub{font-size:12px;color:#c5d3df;margin-top:7px}.section-title{display:flex;justify-content:space-between;align-items:end;margin:28px 0 12px}.section-title h2{margin:0;font-size:23px}.section-title p{margin:0;color:var(--muted)}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse}th{font-size:10px;text-transform:uppercase;letter-spacing:.1em;color:#8295a8;text-align:left;padding:10px 12px;border-bottom:1px solid var(--line)}td{padding:11px 12px;border-bottom:1px solid rgba(255,255,255,.055)}tr:hover td{background:#14202d}.search{width:260px;max-width:100%;border:1px solid var(--line);border-radius:10px;background:#0a1119;color:#fff;padding:9px 11px}.filters{display:flex;gap:8px;flex-wrap:wrap}.filters select,.control select,.control input{background:#0a1119;color:#fff;border:1px solid var(--line);border-radius:9px;padding:9px}.team-hero{display:grid;grid-template-columns:auto 1fr auto;gap:18px;align-items:center;padding:22px}.team-logo{width:70px;height:70px;border-radius:20px;background:linear-gradient(145deg,#26384b,#111a24);display:grid;place-items:center;font-weight:1000;font-size:20px;border:1px solid #334a60}.team-hero h1{margin:0;font-size:36px}.record-big{text-align:right}.record-big strong{display:block;font-size:28px}.record-big span{color:var(--muted);font-size:12px}.meter{position:relative;height:12px;background:#202e3d;border-radius:99px;overflow:hidden}.meter i{display:block;height:100%;transition:width .25s ease,background .25s ease}.schedule-row{display:grid;grid-template-columns:55px 85px 1fr 90px 90px;gap:10px;align-items:center;padding:11px 15px;border-bottom:1px solid rgba(255,255,255,.06)}.schedule-row .opp{font-weight:800}.result.win{color:var(--green)}.result.loss{color:var(--red)}.result.future{color:var(--ice)}.lab{display:grid;grid-template-columns:330px 1fr;gap:16px}.control{padding:15px;border-bottom:1px solid var(--line)}.control label{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.09em;color:var(--muted);font-weight:800;margin-bottom:7px}.roster-list{max-height:540px;overflow:auto}.player{display:grid;grid-template-columns:22px 1fr 48px;gap:8px;align-items:center;padding:10px 14px;border-bottom:1px solid rgba(255,255,255,.055)}.player small{display:block;color:var(--muted)}.impact{font:12px ui-monospace,monospace;text-align:right}.warning{border:1px solid rgba(255,209,102,.35);background:rgba(255,209,102,.08);padding:12px 14px;border-radius:10px;color:#f6df9d;font-size:12px}.scenario-hero{padding:20px;display:grid;grid-template-columns:1fr 1fr 1fr;gap:15px}.scenario-stat{background:#0b121a;border:1px solid var(--line);border-radius:12px;padding:15px}.scenario-stat strong{font-size:30px;display:block}.scenario-stat span{color:var(--muted);font-size:11px}.change{font-size:12px}.positive{color:var(--green)}.negative{color:var(--red)}.method{max-width:900px}.method h2{margin-top:30px}.method p,.method li{color:#bdcbd7}.formula{font:14px ui-monospace,monospace;background:#0a1118;border:1px solid var(--line);padding:14px;border-radius:10px;overflow:auto}.notice{padding:11px 14px;border-radius:11px;background:rgba(141,215,255,.07);border:1px solid rgba(141,215,255,.24);color:#bfe9ff;margin-bottom:16px}.names{display:grid;grid-template-columns:repeat(5,1fr);gap:10px}.name-card{padding:18px;border:1px solid var(--line);background:#101924;border-radius:12px}.name-card strong{display:block;font-size:18px}.name-card span{color:var(--muted);font-size:12px}.footer{margin-top:36px;padding-top:17px;border-top:1px solid var(--line);color:#6f8295;font-size:11px}.loading{padding:30px;color:var(--muted);text-align:center}.pill-live{color:var(--green);font-size:11px}.tooltip{border-bottom:1px dotted #789;cursor:help}@media(max-width:950px){.grid.two,.grid.three,.lab{grid-template-columns:1fr}.hero{align-items:start;flex-direction:column}.score-explain{width:100%}.topbar{padding:10px 12px;flex-wrap:wrap}.top-actions{display:none}.shell{padding:18px 12px 50px}.rank-row{grid-template-columns:30px 1fr 68px 58px}.rank-row .raw{display:none}.team-hero{grid-template-columns:auto 1fr}.record-big{grid-column:1/-1;text-align:left}.schedule-row{grid-template-columns:45px 70px 1fr 75px}.schedule-row .raw{display:none}.names{grid-template-columns:1fr 1fr}.scenario-hero{grid-template-columns:1fr}.nav{order:3;width:100%}}


/* Power Score semantic bands requested for the public 0–100 scale. */
.bar>i.band-low,.meter i.band-low{background:linear-gradient(90deg,#b4232a,var(--red))}
.bar>i.band-mid,.meter i.band-mid{background:linear-gradient(90deg,#bd8b18,var(--gold))}
.bar>i.band-high,.meter i.band-high{background:linear-gradient(90deg,#23996c,var(--green))}
.rating-cell .score.band-low{color:var(--red)}
.rating-cell .score.band-mid{color:var(--gold)}
.rating-cell .score.band-high{color:var(--green)}
.red-text{color:var(--red)}.yellow-text{color:var(--gold)}.green-text{color:var(--green)}
.rating-cell{min-width:145px}.rating-cell .bar{width:112px}.team-bar{max-width:360px;margin-top:10px;height:7px}
.mode-control{display:flex;align-items:center;gap:7px;border:1px solid var(--line);background:#0b121a;border-radius:9px;padding:4px 7px;color:var(--muted);font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.06em}
.mode-control select{border:0;background:#162230;color:#fff;border-radius:6px;padding:5px 7px;font-size:12px;font-weight:800;text-transform:none;letter-spacing:0}
.forecast-badge{display:inline-flex;align-items:center;border-radius:999px;padding:2px 6px;font-size:9px;font-weight:950;letter-spacing:.08em;white-space:nowrap;vertical-align:middle}
.forecast-badge.model{background:rgba(141,215,255,.10);border:1px solid rgba(141,215,255,.28);color:var(--ice)}
.forecast-badge.market{background:rgba(85,214,158,.10);border:1px solid rgba(85,214,158,.30);color:var(--green)}
.forecast-badge.final{background:rgba(255,255,255,.06);border:1px solid var(--line);color:var(--muted)}
.market-detail{margin-top:6px;text-align:right;color:#6f8295;font:10px ui-monospace,SFMono-Regular,Consolas,monospace}
.brier-grid{margin:18px 0 26px}.method code{color:var(--ice)}
@media(max-width:1100px){.mode-control{display:none}}

/* v3 live-refresh + adaptive research UI */
.refresh-button{white-space:nowrap}.refresh-button:disabled{opacity:.55;cursor:wait}.refresh-meta{font:10px ui-monospace,SFMono-Regular,Consolas,monospace;color:#71869a;white-space:nowrap}.dot.warn{background:var(--gold);box-shadow:0 0 10px var(--gold)}.refresh-warning{margin-bottom:14px;padding:9px 12px;border-radius:10px;border:1px solid rgba(255,209,102,.35);background:rgba(255,209,102,.08);color:#f6df9d;font-size:12px}.forecast-badge.adaptive{background:rgba(255,138,36,.11);border:1px solid rgba(255,138,36,.36);color:#ffb16b}.wide-method{max-width:1180px}.wide-method table .team-link{white-space:nowrap}
@media(max-width:950px){.top-actions{display:flex;width:100%;margin-left:0;order:4;flex-wrap:wrap}.top-actions .status,.top-actions .mode-control{display:none}.refresh-meta{flex:1}.refresh-button{display:inline-flex}}

/* v4 clickable matchup reports */
.game-button{display:block;width:100%;border:0;background:transparent;color:inherit;text-align:left;font:inherit;cursor:pointer;position:relative}.game-button:hover{background:#152231}.game-button:focus-visible,.schedule-button:focus-visible{outline:2px solid var(--ice);outline-offset:-2px}.open-game{display:block;margin-top:7px;text-align:right;color:var(--ice);font-size:10px;font-weight:850;letter-spacing:.04em;opacity:.72}.game-button:hover .open-game{opacity:1}.schedule-button{width:100%;border:0;background:transparent;color:inherit;text-align:left;font:inherit;cursor:pointer}.schedule-button:hover{background:#152231}.matchup-back{margin-bottom:12px}.matchup-hero{display:grid;grid-template-columns:minmax(0,1fr) 280px minmax(0,1fr);gap:18px;align-items:center;padding:24px}.matchup-team{display:flex;align-items:center;gap:15px}.matchup-team.home-team{justify-content:flex-end;text-align:right}.team-logo.small{width:58px;height:58px;border-radius:16px;flex:0 0 auto}.matchup-team h1{font-size:clamp(25px,3vw,39px);margin:2px 0 5px}.matchup-center{text-align:center}.matchup-prob{display:grid;grid-template-columns:1fr 32px 1fr;align-items:center;margin:9px 0}.matchup-prob strong{font-size:34px;letter-spacing:-.05em}.matchup-prob span{color:var(--muted)}.final-score{margin-top:10px;font-weight:900;color:#fff}.duel-card{padding:4px 16px}.duel{display:grid;grid-template-columns:160px 1fr 1fr;gap:10px 16px;align-items:center;padding:15px 0;border-bottom:1px solid rgba(255,255,255,.06)}.duel:last-child{border-bottom:0}.duel-title{grid-column:1/-1;font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);font-weight:900}.duel-side{display:grid;grid-template-columns:auto 42px;gap:4px 10px;align-items:center}.duel-side.home-side{text-align:right;grid-template-columns:42px auto}.duel-side.home-side b{grid-column:2}.duel-side.home-side strong{grid-column:1;grid-row:1}.duel-side small{grid-column:1/-1;color:#7890a4;font-size:10px}.duel-side strong{font-size:21px}.duel-track{height:8px;background:#1c2936;border-radius:99px;position:relative;overflow:hidden;display:grid;grid-template-columns:1fr 1fr}.duel-track i{height:100%;background:linear-gradient(90deg,#5aa8d8,#8dd7ff)}.duel-track i:first-child{justify-self:end}.duel-track i:last-child{justify-self:start;background:linear-gradient(90deg,#ffb16b,var(--orange))}.duel-track em{position:absolute;left:50%;top:-3px;bottom:-3px;width:1px;background:#607487}.matchup-analysis p{color:#bdcbd7;line-height:1.55}.context-card{padding:17px}.context-title{display:flex;align-items:center;gap:10px;margin-bottom:14px}.context-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.context-grid>div{background:#0b121a;border:1px solid var(--line);border-radius:10px;padding:12px}.context-grid span,.prediction-grid span{display:block;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-size:10px;font-weight:850}.context-grid strong{display:block;font-size:20px;margin:4px 0}.context-grid small,.prediction-grid small{display:block;color:#7f93a7;font-size:10px;line-height:1.4}.strength-list h3{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.1em;margin:5px 0 9px}.strength-list div{display:flex;justify-content:space-between;align-items:center;padding:9px 0;border-bottom:1px solid rgba(255,255,255,.055)}.strength-list div span{font:800 13px ui-monospace,monospace}.prediction-finale{margin-top:20px;padding:24px;border-color:rgba(255,138,36,.42);background:linear-gradient(135deg,rgba(255,138,36,.09),rgba(18,28,39,.98) 45%,rgba(141,215,255,.06))}.prediction-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:22px;margin-top:10px}.prediction-grid>div{background:#0a1118;border:1px solid var(--line);border-radius:13px;padding:17px}.prediction-grid strong{display:block;font-size:clamp(27px,4vw,45px);letter-spacing:-.045em;margin:5px 0 8px}.prediction-grid .exact strong{color:var(--orange)}.matchup-warning{margin-top:16px}.matchup-kpis .value{word-break:break-word}
@media(max-width:950px){.matchup-hero{grid-template-columns:1fr}.matchup-team.home-team{justify-content:flex-start;text-align:left}.matchup-center{order:-1}.context-grid,.prediction-grid{grid-template-columns:1fr}.duel{grid-template-columns:1fr}.duel-title{grid-column:1}.duel-track{order:4}.duel-side.home-side{text-align:left;grid-template-columns:auto 42px}.duel-side.home-side b{grid-column:1}.duel-side.home-side strong{grid-column:2;grid-row:1}.schedule-button{grid-template-columns:45px 70px 1fr 75px}.schedule-button .raw:last-child{display:none}}

/* v5 forecast-audit views */
.forecast-audit-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:10px;padding:9px 10px;border:1px solid rgba(255,255,255,.06);border-radius:10px;background:#0a1118;color:#afbfcd;font:10px ui-monospace,SFMono-Regular,Consolas,monospace}
.forecast-audit-strip span{min-width:0}.forecast-audit-strip b{display:block;margin-bottom:2px;color:#75899b;font:800 9px Inter,system-ui,sans-serif;text-transform:uppercase;letter-spacing:.08em}.forecast-audit-strip .actual-final{color:#fff}.forecast-audit-strip .actual-final b{color:var(--green)}.forecast-audit-strip .actual-pending{color:#607488}
.game-button.completed{border-left:2px solid rgba(85,214,158,.34)}.game-button.current{border-left:2px solid rgba(255,138,36,.55)}.game-button.upcoming{border-left:2px solid rgba(141,215,255,.24)}
.prediction-grid.three-up{grid-template-columns:1fr 1.1fr 1.1fr}.prediction-grid .actual-result strong{color:var(--green)}
.schedule-row.audit-row{grid-template-columns:55px 85px minmax(170px,1fr) 78px minmax(300px,1.35fr)}.schedule-audit{font:10px/1.45 ui-monospace,SFMono-Regular,Consolas,monospace;color:#9fb1c2;text-align:right}.schedule-audit b{color:#dfe8f0}.schedule-audit br+b{color:var(--green)}
@media(max-width:950px){.forecast-audit-strip{grid-template-columns:1fr}.prediction-grid.three-up{grid-template-columns:1fr}.schedule-row.audit-row{grid-template-columns:45px 1fr 75px;gap:6px 10px}.schedule-row.audit-row>.raw{display:block;grid-column:2}.schedule-row.audit-row .opp{grid-column:2}.schedule-row.audit-row .result{grid-column:3;grid-row:1/3;text-align:right}.schedule-audit{grid-column:1/-1;text-align:left;padding-top:5px;border-top:1px solid rgba(255,255,255,.05)}}

/* v6 postgame learning + immediate-rematch audit */
.forecast-audit-strip.with-postgame{grid-template-columns:repeat(3,minmax(0,1fr));}
.forecast-audit-strip.with-postgame .rating-shift,.forecast-audit-strip.with-postgame .rematch-forecast{grid-column:span 1;border-top:1px solid rgba(255,255,255,.055);padding-top:7px}
.forecast-audit-strip .rating-shift b{color:var(--orange)}
.forecast-audit-strip .rematch-forecast{grid-column:span 2;color:#dce8f2}.forecast-audit-strip .rematch-forecast b{color:var(--ice)}
.postgame-learning{margin-top:18px;padding-top:18px;border-top:1px solid rgba(255,255,255,.1)}
.postgame-heading{display:flex;justify-content:space-between;gap:16px;align-items:flex-end;margin-bottom:12px}.postgame-heading h3{margin:3px 0 0;font-size:20px}
.postgame-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.postgame-grid>div{background:#0a1118;border:1px solid var(--line);border-radius:13px;padding:15px}
.postgame-grid span{display:block;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-size:10px;font-weight:850}
.postgame-grid strong{display:block;font-size:clamp(22px,3vw,34px);letter-spacing:-.035em;margin:5px 0 7px}.postgame-grid small{display:block;color:#7f93a7;font-size:10px;line-height:1.45}
.postgame-grid .rematch-card{border-color:rgba(141,215,255,.2)}.postgame-grid .rematch-card.exact strong{color:var(--orange)}
.schedule-audit b:nth-of-type(3){color:var(--orange)}
@media(max-width:950px){.forecast-audit-strip.with-postgame{grid-template-columns:1fr}.forecast-audit-strip.with-postgame .rating-shift,.forecast-audit-strip.with-postgame .rematch-forecast{grid-column:1}.postgame-grid{grid-template-columns:1fr}.postgame-heading{align-items:flex-start;flex-direction:column}}

/* v7 optional team-rating diagnostic views */
.ranking-entry-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.ranking-entry-actions .raw{margin-left:auto}
.diagnostic-title{align-items:center}.diagnostic-viewer{display:inline-flex;gap:4px;padding:4px;border:1px solid var(--line);border-radius:12px;background:#0a1118;margin:0 0 10px;max-width:100%;overflow:auto}.diagnostic-viewer button{border:0;background:transparent;color:var(--muted);font-weight:850;font-size:12px;padding:8px 12px;border-radius:8px;white-space:nowrap}.diagnostic-viewer button:hover{background:#14202d;color:#fff}.diagnostic-viewer button.active{background:#1a2a39;color:#fff;box-shadow:inset 0 -2px var(--orange)}
.diagnostic-note{padding:10px 13px;margin:0 0 14px;border-radius:10px;border:1px solid rgba(141,215,255,.17);background:rgba(141,215,255,.045);color:#9eb3c5;font-size:12px}.team-view-toolbar{display:flex;align-items:end;justify-content:space-between;gap:18px;margin:26px 0 10px}.team-view-toolbar h2{margin:2px 0 0;font-size:23px}.team-view-toolbar .diagnostic-viewer{margin:0}
.diagnostic-table th,.diagnostic-table td{white-space:nowrap}.diagnostic-table td:nth-child(n+4){font-variant-numeric:tabular-nums}.diagnostic-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.unit-board{padding:10px 18px}.unit-row{display:grid;grid-template-columns:minmax(150px,1fr) 62px minmax(180px,2fr);gap:15px;align-items:center;padding:13px 0;border-bottom:1px solid rgba(255,255,255,.06)}.unit-row:last-child{border-bottom:0}.unit-row>span{font-weight:800}.unit-row>strong{text-align:right;font:900 16px ui-monospace,SFMono-Regular,Consolas,monospace}.unit-meter{height:7px;background:#1e2b39;border-radius:99px;overflow:hidden}.unit-meter i{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,#527e9c,var(--ice))}
@media(max-width:950px){.team-view-toolbar{align-items:flex-start;flex-direction:column}.diagnostic-viewer{width:100%}.diagnostic-viewer button{flex:1}.diagnostic-grid{grid-template-columns:1fr}.unit-row{grid-template-columns:1fr 52px}.unit-meter{grid-column:1/-1}.ranking-entry-actions .raw{margin-left:0;width:100%}}

/* v8 returning-QB carryover research lab + naming verdicts */
.carryover-card{margin-top:16px;border-color:rgba(141,215,255,.24);background:linear-gradient(145deg,rgba(141,215,255,.055),rgba(12,19,27,.98) 42%)}
.carryover-card .card-head h2{margin:2px 0 0;font-size:20px}.carryover-copy{color:#bdcbd7;margin-top:0}.carryover-preset{padding:11px 13px;border-radius:10px;background:rgba(255,138,36,.07);border:1px solid rgba(255,138,36,.2);color:#d9c6b4;font-size:12px;margin:12px 0}.carryover-preset b{color:#fff}.carryover-controls{display:grid;grid-template-columns:minmax(180px,.8fr) minmax(280px,1.4fr) auto;gap:14px;align-items:end;margin:15px 0}.carryover-controls label{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.09em;color:var(--muted);font-weight:850}.carryover-controls select{display:block;width:100%;margin-top:6px;background:#0a1119;color:#fff;border:1px solid var(--line);border-radius:9px;padding:9px}.range-line{display:grid;grid-template-columns:1fr 78px;gap:10px;align-items:center;margin-top:6px}.range-line input{width:100%;accent-color:var(--ice)}.range-line output{font:800 12px ui-monospace,monospace;color:var(--ice);text-align:right}.carryover-actions{display:flex;gap:7px}.primary-action{border:1px solid rgba(255,138,36,.5);background:var(--orange);color:#1a1008;font-weight:900;padding:9px 13px;border-radius:9px}.primary-action:hover{filter:brightness(1.08)}.carryover-results{padding:0;margin:12px 0}.carryover-warning{margin-top:13px}.carryover-on{color:var(--green);border-color:rgba(85,214,158,.4)}.carryover-inline{display:inline-block;margin-left:7px;color:var(--ice);border:1px solid rgba(141,215,255,.24);border-radius:999px;padding:1px 6px;font:800 10px Inter,system-ui,sans-serif}.muted-strike{color:#66798a;text-decoration:line-through;text-decoration-thickness:1px}.name-verdict{display:inline-flex;margin-bottom:10px;padding:3px 7px;border-radius:999px;font-size:9px;font-weight:900;letter-spacing:.08em}.name-verdict.good{color:var(--green);background:rgba(85,214,158,.09);border:1px solid rgba(85,214,158,.28)}.name-verdict.bad{color:var(--red);background:rgba(255,107,112,.08);border:1px solid rgba(255,107,112,.22)}.name-verdict.neutral{color:var(--ice);background:rgba(141,215,255,.07);border:1px solid rgba(141,215,255,.2)}.recommended-name{border-color:rgba(85,214,158,.38);box-shadow:0 0 0 1px rgba(85,214,158,.08),var(--shadow)}
@media(max-width:950px){.carryover-controls{grid-template-columns:1fr}.carryover-actions{width:100%}.carryover-actions button{flex:1}}


/* v9 FORCE identity */
.force-mark{background:linear-gradient(145deg,#ff7a18,#ffb24d);border-radius:7px;transform:skew(-4deg);letter-spacing:-.08em}
.force-mark.large{width:54px;height:54px;font-size:28px;border-radius:12px}
.force-identity-card{padding:24px;margin:16px 0}.force-wordmark{display:flex;align-items:center;gap:16px;margin-bottom:12px}.force-wordmark strong{font-size:44px;letter-spacing:.04em;line-height:1}.force-identity-card p{margin:7px 0;color:#bdcbd7}.brand-language{padding:6px 18px}.brand-language>div{display:grid;grid-template-columns:180px 1fr;gap:18px;padding:13px 0;border-bottom:1px solid rgba(255,255,255,.06)}.brand-language>div:last-child{border-bottom:0}.brand-language span{color:var(--muted)}
@media(max-width:650px){.brand-language>div{grid-template-columns:1fr;gap:2px}.force-wordmark strong{font-size:36px}}

/* v10 matchup balance, team accents, quick QB correction, sortable rankings */
.matchup-pair{grid-template-columns:repeat(2,minmax(0,1fr)) !important}
.matchup-pair>.card{min-width:0}
.team-accent-card{position:relative;border-top-color:var(--team-accent);box-shadow:inset 0 3px 0 color-mix(in srgb,var(--team-accent) 78%,transparent),var(--shadow);background:linear-gradient(135deg,color-mix(in srgb,var(--team-accent) 9%,transparent),rgba(18,28,39,.97) 34%,rgba(12,19,27,.97))}
.team-colored{border-color:color-mix(in srgb,var(--team-accent) 68%,#334a60);background:linear-gradient(145deg,color-mix(in srgb,var(--team-accent) 38%,#26384b),#111a24)}
.matchup-team{padding:8px 10px;border-radius:12px;background:linear-gradient(90deg,color-mix(in srgb,var(--team-accent) 8%,transparent),transparent 65%)}
.matchup-team.home-team{background:linear-gradient(270deg,color-mix(in srgb,var(--team-accent) 8%,transparent),transparent 65%)}
.qb-quick{border:1px solid rgba(141,215,255,.26);background:rgba(141,215,255,.065);color:#cfeeff;padding:5px 8px;border-radius:8px;font-size:10px;font-weight:900;line-height:1.15;white-space:nowrap;margin-top:6px}
.qb-quick:hover{background:rgba(141,215,255,.12);border-color:rgba(141,215,255,.42)}
.qb-quick.active{color:#d9ffed;border-color:rgba(85,214,158,.42);background:rgba(85,214,158,.10)}
.qb-quick small{display:block;margin-top:2px;color:#8faabd;font-size:9px;font-weight:700}.qb-quick.active small{color:#9bd9bd}
.qb-action-cell{min-width:92px}.qb-action-cell:empty::after{content:'-';color:#536879}
.team-quick-fix{margin-top:8px}
.home-qb-fix{min-width:82px;text-align:right}
.rank-row{grid-template-columns:36px 1fr 74px 72px 78px minmax(0,92px)}
.sort-head{appearance:none;border:0;background:transparent;color:#8295a8;padding:0;font:inherit;text-transform:uppercase;letter-spacing:.1em;cursor:pointer;white-space:nowrap}
.sort-head:hover,.sort-head.active{color:#fff}.sort-head.active{color:var(--ice)}
.team-directory-card{display:flex;flex-direction:column;gap:9px}.team-directory-link{display:block;width:100%;text-align:left}.team-directory-card>.qb-quick{align-self:flex-start;margin-top:auto}
@media(max-width:950px){.matchup-pair{grid-template-columns:1fr !important}.home-qb-fix{display:none}.rank-row{grid-template-columns:30px 1fr 68px 58px}.rank-row>.raw,.rank-row>.home-qb-fix{display:none}.qb-action-cell{min-width:80px}.matchup-team.home-team{background:linear-gradient(90deg,color-mix(in srgb,var(--team-accent) 8%,transparent),transparent 65%)}}
.card-head-actions{display:flex;align-items:center;gap:8px}.card-head-actions .qb-quick{margin-top:0}
@media(max-width:650px){.card-head-actions .qb-quick{font-size:9px;padding:4px 6px}}

.table-subrank{display:block;color:var(--ice)!important;font-weight:600}.export-capture{display:block}.export-button{white-space:nowrap}

/* V11 metric-rank + social export polish */
.metric-rank-head{white-space:nowrap;color:#a9bac9}
.export-button{display:inline-flex;align-items:center;gap:6px}
.export-button::before{content:'⇩';font-size:12px;opacity:.85}
@media(max-width:720px){.export-button{padding-inline:9px}.export-button::before{display:none}}
.social-export-brand{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:0 0 18px;padding:14px 16px;border:1px solid #26384a;border-radius:14px;background:linear-gradient(135deg,#101a25,#172433);color:#b7c6d4;font-size:13px;letter-spacing:.03em}
.social-export-wordmark{display:flex;align-items:center;gap:9px;color:#fff;font-size:16px;letter-spacing:.12em}.social-export-wordmark .mark{width:30px;height:30px}
.export-staging .export-capture{width:1200px}
.mobile-export-button{display:none;margin-left:auto}
@media(max-width:950px){.mobile-export-button{display:inline-flex;align-items:center;justify-content:center;padding:7px 10px;font-size:11px;font-weight:900;letter-spacing:.08em}}

/* v12 self-contained team helmet marks */
.helmet-xs{width:30px;height:23px}.helmet-xs .helmet-code{font-size:13px;stroke-width:2.5px}
.helmet-sm{width:38px;height:29px}.helmet-sm .helmet-code{font-size:14px}
.helmet-md{width:52px;height:39px}
.helmet-lg{width:74px;height:56px}.helmet-lg .helmet-code{font-size:16px}
.helmet-xl{width:94px;height:71px}.helmet-xl .helmet-code{font-size:17px}
.matchup-team .helmet-lg{margin-inline:2px 4px}
.matchup-team.home-team .helmet-lg{margin-inline:4px 2px;order:2}
.context-title .helmet-sm{margin-right:2px}
.headed-team{display:flex;align-items:center;gap:8px}
.team-directory-name{display:flex;align-items:center;gap:9px;margin-top:3px}
.team-hero>.helmet-xl{align-self:center}
@media(max-width:950px){.matchup-team.home-team .helmet-lg{order:0}.helmet-lg{width:62px;height:47px}.helmet-xl{width:76px;height:58px}}
.team-mark{display:inline-grid;place-items:center;position:relative;flex:0 0 auto;filter:drop-shadow(0 8px 12px rgba(0,0,0,.24));isolation:isolate}
.team-mark-img{display:block;width:100%;height:100%;object-fit:contain;object-position:center;filter:drop-shadow(0 1px 0 rgba(255,255,255,.08))}
.team-mark-xs{width:26px;height:26px}.team-mark-sm{width:38px;height:38px}.team-mark-md{width:50px;height:50px}.team-mark-lg{width:76px;height:76px}.team-mark-xl{width:90px;height:90px}
.matchup-team .team-mark-lg{padding:3px}.team-directory-name .team-mark-sm{margin-right:8px}.headed-team .team-mark-xs,.context-title .team-mark-sm{flex:0 0 auto}

/* V14 matchup clarity + QB-return unit propagation */
.matchup-edge-title p{max-width:760px;margin-top:5px;color:var(--muted);font-size:12px}
.matchup-summary{display:grid;gap:12px}.matchup-overall{display:grid;grid-template-columns:120px 1fr auto;gap:10px;align-items:center;padding:11px 12px;border:1px solid var(--line);border-radius:11px;background:#0b121a}.matchup-overall span{font-size:10px;text-transform:uppercase;letter-spacing:.09em;color:var(--muted);font-weight:850}.matchup-overall strong{font-size:15px}.matchup-overall b{font-size:13px;text-align:right}.matchup-subedges{display:grid;grid-template-columns:repeat(2,minmax(280px,1fr));gap:10px}.matchup-subedge{display:grid;gap:3px;padding:10px;border:1px solid rgba(255,255,255,.07);border-radius:10px;background:rgba(8,13,19,.55)}.matchup-subedge span{font-size:10px;text-transform:uppercase;letter-spacing:.06em;color:#8ca0b5;font-weight:800}.matchup-subedge b{font-size:14px}.matchup-subedge em{font-style:normal;font-size:11px;font-weight:900}.matchup-footnote{margin:0!important;color:#8294a6!important;font-size:11px;line-height:1.4!important}.matchup-qb-line{margin:12px 0 0}.scenario-unit-cell small{display:block;color:var(--orange);font-size:9px;white-space:nowrap}.unit-row span{min-width:0}.unit-scenario-note{display:block;color:var(--orange);font-size:9px;font-weight:700;margin-top:2px}.scenario-unit-row{background:linear-gradient(90deg,rgba(255,138,36,.07),transparent)}
@media(max-width:950px){.matchup-overall{grid-template-columns:1fr}.matchup-overall b{text-align:left}.matchup-subedges{grid-template-columns:1fr}}


/* V22 matchup overflow polish */
.matchup-team{min-width:0;}
.matchup-team>div{min-width:0;flex:1 1 auto;}
.matchup-team h1{max-width:100%;overflow-wrap:anywhere;word-break:break-word;line-height:1.05;}
.matchup-team .raw{display:block;max-width:100%;overflow-wrap:anywhere;word-break:break-word;}
.matchup-team.home-team>div{display:flex;flex-direction:column;align-items:flex-end;min-width:0;}
.matchup-hero{align-items:start;}
.team-mark{flex:0 0 auto;}
.context-title strong,.strength-list div strong,.card-head h2,.card-head h3{overflow-wrap:anywhere;word-break:break-word;}
@media (max-width: 1200px){
  .matchup-hero{grid-template-columns:minmax(0,1fr) 220px minmax(0,1fr);gap:14px;}
  .matchup-team h1{font-size:clamp(22px,2.6vw,34px);} 
}
@media (max-width: 900px){
  .matchup-hero{grid-template-columns:1fr;}
  .matchup-team.home-team,.matchup-team{justify-content:flex-start;text-align:left;}
  .matchup-team.home-team>div{align-items:flex-start;}
}

/* V26 completed-game unit movement */
.postgame-unit-change{margin-top:18px;padding-top:16px;border-top:1px solid rgba(255,255,255,.08)}
.unit-change-card{padding:14px 16px;min-width:0}
.unit-change-card h4{margin:0 0 10px;font-size:14px;letter-spacing:.04em}
.unit-change-row{display:grid;grid-template-columns:minmax(72px,1fr) auto 54px;gap:10px;align-items:center;padding:7px 0;border-top:1px solid rgba(255,255,255,.055);font-size:12px}
.unit-change-row:first-of-type{border-top:0}
.unit-change-row b{font-variant-numeric:tabular-nums;white-space:nowrap}
.unit-change-row em{text-align:right;font-style:normal;font-weight:800;font-variant-numeric:tabular-nums}

/* V40 ubiquitous team identity: use the matchup-page NFL marks anywhere a team is referenced. */
.team-mark-xxs{width:18px;height:18px}
.team-identity{display:inline-flex;align-items:center;gap:8px;min-width:0;max-width:100%;vertical-align:middle;text-align:left;line-height:1.15}
.team-identity-copy{display:flex;flex-direction:column;min-width:0;gap:1px}
.team-identity-name{min-width:0;overflow-wrap:anywhere}
.team-identity .team-mark{filter:drop-shadow(0 4px 7px rgba(0,0,0,.22))}
.team-token{display:inline-flex;gap:4px;white-space:nowrap;width:auto;max-width:none;vertical-align:-4px}
.team-token .team-identity-copy{display:inline-flex;flex-direction:row;align-items:center}
.team-token .team-identity-name{font-weight:850;white-space:nowrap}
.team-token .team-mark-xs{width:24px;height:24px}
.team-link>.team-identity{width:100%}
.diagnostic-table .team-link{min-width:150px}
.diagnostic-table .team-identity{gap:7px}
.diagnostic-table .team-mark-xs{width:28px;height:28px}
.rank-row .team-link{min-width:0}
.rank-row .team-identity{gap:7px}
.rank-row .team-mark-xs{width:28px;height:28px}
.game-team{width:100%;gap:7px;font-weight:850}
.game-team-away{justify-content:flex-end;text-align:right}
.game-team-away .team-identity-copy{align-items:flex-end}
.game-team-home{justify-content:flex-start}
.game-line .team-mark-xs{width:30px;height:30px}
.team-chip{display:inline-flex;align-items:center;gap:5px;padding-top:2px;padding-bottom:2px}
.team-chip .team-token{vertical-align:middle}
.team-chip .team-mark-xxs{width:17px;height:17px}
.matchup-subedge em .team-token,.matchup-overall b .team-token{vertical-align:-5px}
.duel-side .team-token{vertical-align:middle}
.duel-side .team-token .team-identity-copy{font-size:12px}
.matchup-versus-title{flex-wrap:wrap;column-gap:6px;row-gap:4px}
.matchup-versus-title>.team-token{vertical-align:middle}
.team-kpi-value{font-size:21px!important;letter-spacing:-.02em!important}
.team-kpi-value .team-identity-name{font-size:21px}
.team-kpi-sub{display:flex;align-items:center;gap:5px;flex-wrap:wrap}
.team-line-value,.rich-team-line{display:flex!important;align-items:center;gap:6px;flex-wrap:wrap}
.team-line-value .team-token,.rich-team-line .team-token{vertical-align:middle}
.rating-team-label{display:flex!important;align-items:center;gap:6px!important;flex-wrap:wrap}
.rematch-home-win{display:flex!important;align-items:center;gap:4px;flex-wrap:wrap}
.opp{display:flex;align-items:center;gap:7px;min-width:0}
.opp-prefix{color:var(--muted);font-weight:700;min-width:18px}
.opp .team-identity{font-weight:800}
.opp .team-mark-xs{width:28px;height:28px}
.schedule-audit .team-token{vertical-align:-5px}
.forecast-audit-strip .team-token{vertical-align:-5px}
.unit-change-card h4{display:flex;align-items:center;margin:0 0 10px}
.unit-change-card h4 .team-identity-name{font-size:14px}
@media(max-width:950px){
  .diagnostic-table .team-link{min-width:132px}
  .game-line{grid-template-columns:minmax(110px,1fr) 48px 20px 48px minmax(110px,1fr)}
  .game-line .team-identity-name{font-size:12px}
  .game-line .team-mark-xs{width:26px;height:26px}
  .schedule-row .opp .team-identity-name{font-size:12px}
}

/* V40 field-arc FORCE identity (Option 3) */
.force-brand-logo{display:block;object-fit:contain;filter:drop-shadow(0 4px 14px rgba(37,134,255,.10))}
.force-brand-logo-topbar{width:108px;height:34px}
.force-brand-logo-about{width:min(330px,78vw);height:auto}
.force-brand-logo-export{width:112px;height:36px}
.brand{gap:9px}
.force-wordmark{display:flex;align-items:center;gap:16px;margin-bottom:12px}
.social-export-wordmark{display:flex;align-items:center;gap:9px;color:#fff;font-size:16px;letter-spacing:.12em}
@media(max-width:520px){.force-brand-logo-topbar{width:92px;height:30px}.working{display:none}}

/* V42 matchup identity scale + pass-rush provenance clarity */
.duel-side{grid-template-columns:minmax(82px,auto) 42px;gap:6px 12px}
.duel-side.home-side{grid-template-columns:42px minmax(82px,auto)}
.duel-side .team-token{gap:7px;vertical-align:middle}
.duel-side .team-token .team-identity-name{font-size:13px;letter-spacing:.01em}
.duel-side .team-token .team-mark-sm{width:38px;height:38px;flex:0 0 38px}
.final-score .team-mark-xs,.team-line-value .team-mark-xs,.prediction-finale .rich-team-line .team-mark-xs{width:34px;height:34px;flex:0 0 34px}
.final-score .team-token,.team-line-value .team-token,.prediction-finale .rich-team-line .team-token{gap:6px;vertical-align:-9px}
.prediction-finale .rich-team-line .team-identity-name,.team-line-value .team-identity-name,.final-score .team-identity-name{font-size:.78em}
.matchup-subedge .team-mark-xxs,.matchup-overall .team-mark-xxs,.team-chip .team-mark-xxs{width:24px;height:24px;flex:0 0 24px}
@media(max-width:950px){
  .duel-side,.duel-side.home-side{grid-template-columns:minmax(92px,auto) 42px}
  .duel-side.home-side b{grid-column:1}.duel-side.home-side strong{grid-column:2;grid-row:1}
}

/* V44: missing current pressure must look unavailable, never like a zero grade. */
.duel-missing-data .duel-track{opacity:.28}
.duel-missing-data .duel-side strong{opacity:.62}
.matchup-subedge-missing b,.matchup-subedge-missing em{opacity:.62}

/* V45 Update Center + canonical Unit -> FORCE bridge */
.update-summary{padding:16px 18px;margin-bottom:14px;display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap}
.update-summary-actions{display:flex;gap:9px;flex-wrap:wrap}.update-summary-actions .primary{border:1px solid rgba(141,215,255,.5);background:rgba(141,215,255,.16);color:#eaf8ff;font-weight:900;padding:9px 14px;border-radius:9px}.update-summary-actions .primary:hover{background:rgba(141,215,255,.22)}
.update-summary-stats{display:flex;gap:15px;flex-wrap:wrap;color:var(--muted);font-size:12px}.update-summary-stats b{color:#fff}
.update-policy{margin-bottom:14px}.update-team-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.update-team-card{padding:15px;border-top:2px solid var(--team-accent)}
.update-team-card .card-head{align-items:center;margin-bottom:8px}.update-team-card h3{margin:0;display:flex;align-items:center}.update-team-meta{display:flex;gap:10px;flex-wrap:wrap;font-size:11px;color:var(--muted);margin-bottom:10px}.update-team-meta span{padding:3px 6px;border:1px solid var(--line);border-radius:999px}
.update-status{font-size:9px;letter-spacing:.08em;font-weight:900;border-radius:999px;padding:4px 7px;border:1px solid var(--line)}.update-current{color:var(--green);border-color:rgba(85,214,158,.35);background:rgba(85,214,158,.07)}.update-partial{color:#ffd36f;border-color:rgba(255,211,111,.35);background:rgba(255,211,111,.07)}.update-stale{color:var(--red);border-color:rgba(255,107,112,.35);background:rgba(255,107,112,.07)}.update-preseason{color:var(--ice);border-color:rgba(141,215,255,.28);background:rgba(141,215,255,.06)}
.update-metric-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin:10px 0 12px}.update-metric-list>div{padding:8px;border:1px solid rgba(255,255,255,.06);background:rgba(255,255,255,.02);border-radius:8px;display:grid;gap:2px}.update-metric-list span{font-size:10px;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}.update-metric-list b{font-size:12px}.update-metric-list small{font-size:9px;color:#7890a2;line-height:1.25}.update-team-button{width:100%}
@media(max-width:1050px){.update-team-grid{grid-template-columns:1fr}.update-metric-list{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.update-metric-list{grid-template-columns:1fr}.update-summary{align-items:flex-start}}

/* V46: when a team code inside a score/line string is logoized, the logo replaces
   the abbreviation instead of competing with it. */
.team-code-logo{vertical-align:middle;margin:0 2px}
.rich-team-line>.team-code-logo,.team-line-value>.team-code-logo,.final-score>.team-code-logo{width:34px;height:34px;flex:0 0 34px}
.schedule-audit .team-code-logo,.forecast-audit-strip .team-code-logo{width:18px;height:18px;vertical-align:-4px}

/* V46 Update Center: genuine local manual-rescue path for provider gaps. */
.manual-pressure-editor{margin-top:10px;padding:10px;border:1px solid rgba(255,209,102,.28);border-radius:9px;background:rgba(255,209,102,.05)}
.manual-pressure-title{display:flex;flex-direction:column;gap:2px;margin-bottom:8px}.manual-pressure-title b{font-size:11px;color:#f6df9d}.manual-pressure-title small{font-size:9px;color:#9cabba;line-height:1.3}
.manual-pressure-fields{display:grid;grid-template-columns:.7fr .8fr 1.2fr 1.5fr;gap:7px}.manual-pressure-fields label{display:grid;gap:3px;font-size:9px;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}.manual-pressure-fields input{min-width:0;width:100%;box-sizing:border-box;background:#0a1118;border:1px solid var(--line);border-radius:7px;color:#e9f1f7;padding:7px 8px;font:11px Inter,system-ui,sans-serif}
.manual-pressure-save{margin-top:8px;width:100%}.manual-pressure-feedback{display:block;margin-top:5px;color:#9fb2c2;font-size:9px;line-height:1.3}
@media(max-width:900px){.manual-pressure-fields{grid-template-columns:1fr 1fr}.manual-pressure-fields label:nth-child(3),.manual-pressure-fields label:nth-child(4){grid-column:1/-1}}

/* V48 Vector-F brand system -------------------------------------------------
   The interface stays restrained: navy + cyan for product chrome, while the
   FORCE mark carries teal / gold / crimson as the distinctive signature. */
:root{
  --bg:#050b12;
  --panel:#0a141e;
  --panel2:#0d1b27;
  --line:#203545;
  --text:#f6f8fa;
  --muted:#8ca4b5;
  --ice:#5cd8e8;
  --brand-cyan:#32d5e8;
  --brand-teal:#18c99b;
  --brand-gold:#f2bb47;
  --brand-crimson:#e84258;
  --shadow:0 22px 58px rgba(0,0,0,.32);
}
body{
  background:
    radial-gradient(circle at 72% -12%,rgba(50,213,232,.15) 0,transparent 34%),
    radial-gradient(circle at 100% 100%,rgba(232,66,88,.055) 0,transparent 28%),
    linear-gradient(180deg,#06101a 0,#050b12 42%,#04090f 100%);
}
.topbar{
  border-bottom:1px solid rgba(50,213,232,.13);
  background:rgba(5,11,18,.93);
  box-shadow:0 8px 28px rgba(0,0,0,.22);
}
.topbar::after{
  content:"";position:absolute;left:0;right:0;bottom:-1px;height:1px;
  background:linear-gradient(90deg,transparent 0,rgba(24,201,155,.35) 18%,rgba(242,187,71,.30) 51%,rgba(232,66,88,.28) 82%,transparent 100%);
  pointer-events:none;
}
.nav button:hover,.nav button.active{background:#102130;color:#fff}
.nav button.active{box-shadow:inset 0 -2px var(--brand-cyan)}
.working{color:var(--brand-cyan);border-color:rgba(50,213,232,.38);background:rgba(50,213,232,.055)}
.eyebrow{color:var(--brand-cyan)}
.card{background:linear-gradient(180deg,rgba(12,27,39,.975),rgba(7,16,24,.98));border-color:#1e3444}
.card-head{border-bottom-color:#1d3343}
.score-explain{background:linear-gradient(135deg,rgba(14,33,46,.98),rgba(7,16,24,.98));border-color:#20394a}
.ghost{background:#08131d;border-color:#244052;color:#dceaf2}
.ghost:hover{border-color:rgba(50,213,232,.5);background:#0b1c28}
.primary-action{border-color:rgba(50,213,232,.55);background:var(--brand-cyan);color:#021317}
.diagnostic-viewer button.active{background:#102737;box-shadow:inset 0 -2px var(--brand-cyan)}
.prediction-finale{border-color:rgba(242,187,71,.36);background:linear-gradient(135deg,rgba(242,187,71,.055),rgba(10,20,30,.98) 44%,rgba(50,213,232,.055))}
.prediction-grid .exact strong,.postgame-grid .rematch-card.exact strong{color:var(--brand-gold)}
.social-export-brand{border-color:rgba(50,213,232,.26);background:linear-gradient(135deg,#07131d,#0d2230 58%,#101b25);box-shadow:inset 0 1px rgba(255,255,255,.025)}
.social-export-brand>span{color:#9bb3c2}
.notice{background:rgba(50,213,232,.055);border-color:rgba(50,213,232,.22);color:#c6f2f7}
.update-summary-actions .primary{border-color:rgba(50,213,232,.5);background:rgba(50,213,232,.14);color:#eafcff}
.update-summary-actions .primary:hover{background:rgba(50,213,232,.21)}

/* Canonical V48 identity assets. */
.force-brand-logo{filter:drop-shadow(0 5px 16px rgba(50,213,232,.09))}
.force-brand-logo-topbar{width:154px;height:38px}
.force-brand-logo-about{width:min(620px,96vw);height:auto}
.force-brand-logo-export{width:232px;height:56px}
.force-wordmark{padding:12px 4px 4px;margin-bottom:8px}
.force-identity-card{position:relative;background:radial-gradient(circle at 70% 0,rgba(50,213,232,.09),transparent 38%),linear-gradient(180deg,#0b1a25,#07121b)}
.force-identity-card::after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;background:linear-gradient(135deg,rgba(24,201,155,.035),transparent 30%,transparent 65%,rgba(232,66,88,.025))}
.social-export-wordmark{min-width:232px}

/* Small football-field rhythm: four minor yard ticks between each major mark. */
.force-scale-rhythm{display:flex;align-items:center;gap:4px;color:var(--muted)}

@media(max-width:520px){
  .force-brand-logo-topbar{width:126px;height:32px}
  .force-brand-logo-export{width:205px;height:50px}
}
.force-wordmark-board{display:block;padding:0;margin:0 0 14px}
.force-wordmark-board .force-brand-logo-about{width:min(760px,100%);margin:0 auto;border-radius:18px;filter:drop-shadow(0 14px 34px rgba(0,0,0,.32))}

/* V48 field-scale framing: one major yard mark followed by four minor marks. */
body::before,body::after{
  content:"";position:fixed;z-index:0;top:84px;bottom:20px;width:28px;
  background:url("force-yard-rail.svg") top left/28px 104px repeat-y;
  opacity:.16;pointer-events:none;filter:drop-shadow(0 0 7px rgba(50,213,232,.16));
}
body::before{left:8px}
body::after{right:8px;transform:scaleX(-1)}
.topbar,.shell{position:relative;z-index:1}
@media(max-width:1180px){body::before,body::after{display:none}}


/* V52 approved PNG brand assets */
.force-brand-logo-approved,
.force-brand-logo{image-rendering:auto}
.force-brand-logo-topbar{width:52px;height:42px;object-fit:contain;filter:drop-shadow(0 5px 16px rgba(69,231,219,.16))}
.force-brand-logo-about{width:min(860px,94vw);height:auto;border-radius:22px;box-shadow:0 22px 80px rgba(0,0,0,.35), 0 0 0 1px rgba(82,207,224,.18)}
.force-brand-logo-export{width:165px;height:72px;object-fit:contain;filter:none}
.social-export-brand{min-height:78px}
@media(max-width:520px){.force-brand-logo-topbar{width:46px;height:38px}}

/* V64: context scores share FORCE's exact 0–40 red / 41–70 gold / 71–100 green bands. */
.context-grid strong.band-low,.kpi .value.band-low,td.band-low{color:var(--red)}
.context-grid strong.band-mid,.kpi .value.band-mid,td.band-mid{color:var(--gold)}
.context-grid strong.band-high,.kpi .value.band-high,td.band-high{color:var(--green)}

/* V65: matchup bars and values use FORCE semantic rating bands, not team colors. */
.duel-track i.band-low{background:linear-gradient(90deg,#b4232a,var(--red))}
.duel-track i.band-mid{background:linear-gradient(90deg,#bd8b18,var(--gold))}
.duel-track i.band-high{background:linear-gradient(90deg,#23996c,var(--green))}
.duel-side strong.band-low{color:var(--red)}
.duel-side strong.band-mid{color:var(--gold)}
.duel-side strong.band-high{color:var(--green)}

/* V66 divisions + playoff projection */
.projection-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.projection-card,.playoff-card{min-width:0}.projection-table td,.projection-table th{white-space:nowrap}.projection-table td:nth-child(2){min-width:180px}.projection-table td small{display:block;color:var(--muted);font-size:10px;margin-top:2px}.projection-table .band-low,.projection-table td.band-low{color:var(--red)}.projection-table .band-mid,.projection-table td.band-mid{color:var(--gold)}.projection-table .band-high,.projection-table td.band-high{color:var(--green)}.projection-note{margin:14px 4px 0}.playoff-grid{grid-template-columns:1fr!important}.playoff-table{min-width:920px}.projected-out{opacity:.62}.projected-in td:first-child{color:var(--ice)}@media(max-width:1100px){.projection-grid,.playoff-grid{grid-template-columns:1fr!important}}

/* V71 Game Flow research: descriptive quarter-by-quarter presentation only. */
.game-flow-research{margin-top:18px;padding-top:16px;border-top:1px solid rgba(255,255,255,.08)}
.game-flow-table{margin-top:12px;border:1px solid var(--line);border-radius:12px;overflow:hidden;background:rgba(5,11,18,.55)}
.game-flow-head,.game-flow-row{display:grid;grid-template-columns:minmax(180px,1.4fr) repeat(5,minmax(64px,.55fr));align-items:center;gap:0}
.game-flow-head{background:rgba(255,255,255,.025);border-bottom:1px solid var(--line)}
.game-flow-head>*{padding:8px 11px;font-size:10px;text-transform:uppercase;letter-spacing:.09em;color:#8295a8;text-align:center}
.game-flow-row{border-bottom:1px solid rgba(255,255,255,.055)}.game-flow-row:last-child{border-bottom:0}
.game-flow-row>span{padding:10px 12px;min-width:0}.game-flow-row>strong{padding:10px 8px;text-align:center;font-size:20px;font-variant-numeric:tabular-nums}
.game-flow-row>strong:last-child{color:var(--gold);font-size:22px}
@media(max-width:700px){.game-flow-head,.game-flow-row{grid-template-columns:minmax(130px,1.3fr) repeat(5,minmax(44px,.5fr))}.game-flow-row>strong{font-size:16px}.game-flow-row>strong:last-child{font-size:18px}.game-flow-row>span{padding-inline:8px}.game-flow-head>*{padding-inline:5px}}

/* V74 stable unit matchup donut layout */
.matchup-subedge-donut-card{display:grid;gap:8px;padding:12px 14px;min-width:0;overflow:hidden}
.matchup-subedge-title{font-size:10px;text-transform:uppercase;letter-spacing:.065em;color:#8ca0b5;font-weight:850;line-height:1.25;min-height:25px;display:flex;align-items:center}
.matchup-subedge-body{display:grid;grid-template-columns:minmax(64px,1fr) 104px minmax(64px,1fr);align-items:center;gap:8px;min-width:0}
.matchup-unit-raw{display:flex;align-items:center;gap:6px;font-size:19px;font-weight:900;min-width:0;white-space:nowrap}
.matchup-unit-raw i{font-style:normal;display:flex;align-items:center;min-width:0}.matchup-unit-raw-off{justify-content:flex-start}.matchup-unit-raw-def{justify-content:flex-end}
.matchup-edge-wrap{display:grid;place-items:center;gap:2px;width:104px;min-width:104px;justify-self:center}
.matchup-edge-donut{width:62px;height:62px;border-radius:50%;background:conic-gradient(var(--edge-off-color) 0 var(--edge-off),var(--edge-def-color) var(--edge-off) 100%);display:grid;place-items:center;box-shadow:inset 0 0 0 1px rgba(255,255,255,.08)}
.matchup-edge-hole{width:39px;height:39px;border-radius:50%;background:#07111a;display:grid;place-items:center;box-shadow:0 0 0 1px rgba(255,255,255,.08)}
.matchup-edge-hole .team-mark{width:29px;height:29px}.matchup-edge-even{font-size:8px;letter-spacing:.06em;font-weight:900;color:var(--muted)}
.matchup-edge-score{display:flex;gap:3px;align-items:center;font-size:11px;color:#dce6ee;line-height:1}.matchup-edge-score b{font-size:12px}.matchup-edge-score span{color:var(--muted)}
.matchup-edge-wrap small{font-size:8.5px;color:var(--muted);text-transform:uppercase;letter-spacing:.05em;line-height:1.1;text-align:center;white-space:nowrap}
.matchup-edge-donut-missing{background:#17232e;color:var(--muted)}
@media(max-width:1180px){.matchup-subedges{grid-template-columns:1fr}.matchup-subedge-body{grid-template-columns:minmax(72px,1fr) 104px minmax(72px,1fr)}}
@media(max-width:560px){.matchup-subedge-body{grid-template-columns:minmax(56px,1fr) 86px minmax(56px,1fr);gap:5px}.matchup-edge-wrap{width:86px;min-width:86px}.matchup-edge-donut{width:54px;height:54px}.matchup-edge-hole{width:34px;height:34px}.matchup-edge-hole .team-mark{width:25px;height:25px}.matchup-unit-raw{font-size:16px;gap:4px}.matchup-subedge .team-mark-xxs{width:22px;height:22px;flex-basis:22px}}

/* V79 - FORCEcast Slate */
.slate-title{align-items:center}.slate-controls label{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:12px;font-weight:800}.slate-controls select{background:#0a1119;color:#fff;border:1px solid var(--line);border-radius:9px;padding:8px 10px}.slate-board{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.slate-game-card{display:block;width:100%;border:1px solid var(--line);border-radius:14px;background:linear-gradient(180deg,rgba(18,28,39,.98),rgba(9,16,23,.98));color:inherit;padding:0;text-align:left;overflow:hidden;box-shadow:var(--shadow)}.slate-game-card:hover{border-color:#36516a;background:#14202d}.slate-game-meta{display:flex;justify-content:space-between;align-items:center;padding:7px 11px;border-bottom:1px solid rgba(255,255,255,.06);color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.06em}.slate-game-head,.slate-team-row{display:grid;grid-template-columns:minmax(0,1fr) 74px 62px;gap:8px;align-items:center}.slate-game-head{padding:5px 11px 2px;color:#72879a;font-size:9px;text-transform:uppercase;letter-spacing:.08em}.slate-game-head span:nth-child(n+2),.slate-team-row>strong,.slate-team-row>b{text-align:center}.slate-team-row{padding:7px 11px;border-top:1px solid rgba(255,255,255,.045)}.slate-team-row>span{min-width:0}.slate-team-row .team-identity{width:100%;gap:8px}.slate-team-row .team-identity-name{font-size:12px;font-weight:850;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.slate-team-row>strong{font-size:23px;letter-spacing:-.04em}.slate-team-row>b{font-size:18px}.slate-team-row.slate-favorite>strong,.slate-team-row.slate-favorite>b{color:var(--gold)}.export-compact-copy .slate-board{gap:9px}.export-compact-copy .slate-game-card{box-shadow:none}.export-compact-copy .slate-game-meta{padding-block:5px}.export-compact-copy .slate-team-row{padding-block:6px}@media(max-width:850px){.slate-board{grid-template-columns:1fr}.slate-game-head,.slate-team-row{grid-template-columns:minmax(0,1fr) 68px 58px}}

/* V84 diagnostic capture surface */
.force-diagnostic-card { margin-top: 14px; }
.force-diagnostic-output { width: 100%; min-height: 320px; max-height: 620px; resize: vertical; box-sizing: border-box; margin-top: 10px; padding: 12px; border-radius: 10px; border: 1px solid rgba(141,215,255,.28); background: rgba(3,12,24,.92); color: #dbefff; font: 11px/1.45 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; white-space: pre; }

/* V87 penalty-impact rankings sort */
.penalty-sort-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:0 0 12px;padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:#0a1118}.penalty-sort-toolbar>span{display:flex;flex-direction:column;gap:2px;font-size:12px}.penalty-sort-toolbar small{color:var(--muted);font-size:10px;font-weight:500}.penalty-sort-toggle{display:inline-flex;gap:4px;padding:3px;border:1px solid var(--line);border-radius:10px;background:#070d13}.penalty-sort-toggle button{border:0;border-radius:7px;background:transparent;color:var(--muted);font-weight:850;font-size:11px;padding:7px 10px;cursor:pointer;white-space:nowrap}.penalty-sort-toggle button:hover{color:#fff;background:#14202d}.penalty-sort-toggle button.active{color:#fff;background:#102737;box-shadow:inset 0 -2px var(--brand-cyan)}@media(max-width:700px){.penalty-sort-toolbar{align-items:flex-start;flex-direction:column}.penalty-sort-toggle{width:100%}.penalty-sort-toggle button{flex:1}}


/* V119 Playoff Picture export: one 16:9 overview + two 9:16 conference cards */
.playoff-export-page{overflow:hidden!important;padding:14px!important;background:#070b10!important}
.playoff-export-page .social-export-brand{margin-bottom:10px!important}
.playoff-export-page .table-wrap{overflow:hidden!important}
.playoff-export-page .playoff-table{width:100%!important;min-width:0!important;table-layout:fixed!important}
.playoff-export-page .playoff-table th,.playoff-export-page .playoff-table td{white-space:nowrap!important}
.playoff-export-page .playoff-table th:nth-child(1),.playoff-export-page .playoff-table td:nth-child(1){width:10%}
.playoff-export-page .playoff-table th:nth-child(2),.playoff-export-page .playoff-table td:nth-child(2){width:29%}
.playoff-export-page .playoff-table th:nth-child(3),.playoff-export-page .playoff-table td:nth-child(3){width:10%}
.playoff-export-page .playoff-table th:nth-child(4),.playoff-export-page .playoff-table td:nth-child(4){width:9%}
.playoff-export-page .playoff-table th:nth-child(5),.playoff-export-page .playoff-table td:nth-child(5){width:12%}
.playoff-export-page .playoff-table th:nth-child(6),.playoff-export-page .playoff-table td:nth-child(6){width:10%}
.playoff-export-page .playoff-table th:nth-child(7),.playoff-export-page .playoff-table td:nth-child(7){width:10%}
.playoff-export-page .playoff-table th:nth-child(8),.playoff-export-page .playoff-table td:nth-child(8){width:10%}
.playoff-export-overview .social-export-brand{min-height:54px!important;padding:7px 10px!important}
.playoff-export-overview .force-brand-logo-export{max-height:44px!important;width:auto!important}
.playoff-export-overview-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important}
.playoff-export-overview .playoff-card{border-radius:11px!important}
.playoff-export-overview .playoff-card .card-head{padding:7px 9px!important}
.playoff-export-overview .playoff-card .card-head h2{font-size:12px!important}
.playoff-export-overview .playoff-card .chip{font-size:8px!important;padding:2px 5px!important}
.playoff-export-overview .playoff-table th{font-size:7px!important;letter-spacing:.045em!important;padding:4px 3px!important}
.playoff-export-overview .playoff-table td{font-size:8.5px!important;line-height:1.05!important;padding:3px!important;height:25px!important}
.playoff-export-overview .playoff-table .team-link{font-size:8.5px!important;white-space:nowrap!important}
.playoff-export-overview .team-mark-xs{width:18px!important;height:18px!important}
.playoff-export-overview .headed-team{gap:4px!important}
.playoff-export-mobile{padding:18px!important}
.playoff-export-mobile .social-export-brand{min-height:72px!important;margin-bottom:14px!important;padding:10px 12px!important}
.playoff-export-mobile .playoff-card .card-head{padding:12px 14px!important}
.playoff-export-mobile .playoff-card .card-head h2{font-size:17px!important}
.playoff-export-mobile .playoff-table th{font-size:9px!important;padding:8px 6px!important}
.playoff-export-mobile .playoff-table td{font-size:11.5px!important;padding:8px 6px!important;height:45px!important}
.playoff-export-mobile .playoff-table .team-link{font-size:11.5px!important}
.playoff-export-mobile .team-mark-xs{width:24px!important;height:24px!important}
.playoff-export-mobile .headed-team{gap:6px!important}

/* V122 FLAG - Flag Leverage & Advantage Gauge */
.flag-intro{margin:0 0 12px;padding:18px 20px;border-color:rgba(141,215,255,.28);background:linear-gradient(110deg,rgba(255,107,112,.07),rgba(18,28,39,.98) 38%,rgba(85,214,158,.07))}.flag-intro-lockup{display:flex;align-items:center;gap:14px}.flag-intro-lockup>div{display:flex;flex-direction:column;gap:2px}.flag-intro-lockup strong{font-size:16px;letter-spacing:.01em}.flag-intro-lockup small,.flag-intro p{color:var(--muted);font-size:11px}.flag-intro p{margin:10px 0 0}.flag-word{display:inline-grid;place-items:center;min-width:68px;padding:7px 10px;border:1px solid rgba(141,215,255,.28);border-radius:10px;background:#08121b;color:#fff;font-weight:1000;letter-spacing:.16em;font-size:13px;box-shadow:inset 0 -2px var(--brand-cyan)}
.flag-intro-scale{display:grid;grid-template-columns:auto minmax(220px,1fr) auto;gap:10px;align-items:center;margin-top:14px;font-size:9px;font-weight:900;letter-spacing:.08em;color:#8295a8}.flag-gauge{margin-top:9px}.flag-gauge.compact{margin-top:5px;min-width:86px}.flag-scale{position:relative;height:9px;border-radius:99px;background:linear-gradient(90deg,var(--red) 0%,#bd7a62 25%,#6f8397 50%,#58aa93 75%,var(--green) 100%);box-shadow:inset 0 0 0 1px rgba(255,255,255,.08);overflow:visible}.flag-gauge.compact .flag-scale{height:5px}.flag-scale>em{position:absolute;left:50%;top:-3px;bottom:-3px;width:1px;background:rgba(245,247,250,.75);transform:translateX(-.5px)}.flag-scale>i{position:absolute;top:50%;width:11px;height:11px;border-radius:50%;background:#fff;border:2px solid #071019;box-shadow:0 0 0 2px rgba(255,255,255,.16),0 2px 8px rgba(0,0,0,.55);transform:translate(-50%,-50%);z-index:2}.flag-gauge.compact .flag-scale>i{width:8px;height:8px}.flag-scale-labels{display:grid;grid-template-columns:1fr 1fr 1fr;margin-top:5px;font-size:8px;font-weight:900;letter-spacing:.08em;color:#71869b}.flag-scale-labels span:nth-child(2){text-align:center}.flag-scale-labels span:last-child{text-align:right}.flag-harm{color:var(--red)!important}.flag-neutral{color:var(--gold)!important}.flag-benefit{color:var(--green)!important}.flag-table-cell{min-width:118px}.flag-table-cell>b{font-size:20px}.flag-table-cell>small{display:block;margin-top:3px;color:#8499ad;font-size:9px;letter-spacing:.03em}.flag-hero-card{grid-column:span 2;border-color:rgba(141,215,255,.28);background:linear-gradient(125deg,rgba(255,107,112,.07),rgba(12,19,27,.98) 43%,rgba(85,214,158,.08))}.flag-brandline{display:flex;align-items:center;gap:10px;margin-bottom:8px;color:#b8cad8;font-size:11px}.flag-hero-card .value{font-size:46px}.flag-context .flag-gauge{max-width:150px}.flag-swing-chip{display:inline-flex;align-items:center;justify-content:center;border:1px solid rgba(255,209,102,.5);background:rgba(255,209,102,.11);color:#ffe095;border-radius:999px;padding:3px 7px;font-size:8px;font-weight:1000;letter-spacing:.08em;white-space:nowrap}.schedule-audit>.flag-swing-chip{margin-right:7px;margin-bottom:3px}.flag-swing-banner{display:grid;grid-template-columns:auto 1fr;gap:16px;align-items:center;margin-top:16px;padding:18px 20px;border-color:rgba(255,209,102,.42);background:linear-gradient(120deg,rgba(255,209,102,.10),rgba(18,28,39,.98) 50%,rgba(141,215,255,.05))}.flag-swing-banner h2{margin:2px 0 5px;font-size:19px}.flag-swing-banner p{margin:0 0 5px;color:#d8e2ea}.flag-swing-banner small{color:#91a6b8}.flag-swing-icon{width:72px;height:72px;display:grid;place-items:center;border-radius:16px;border:1px solid rgba(255,209,102,.45);background:#15140f;color:#ffe095;font-weight:1000;letter-spacing:.12em}.flag-swing-title{margin-top:22px}.flag-swing-list{overflow:hidden}.flag-swing-row{display:grid;grid-template-columns:92px minmax(0,1fr) 150px;gap:14px;align-items:center;width:100%;padding:13px 15px;border:0;border-bottom:1px solid rgba(255,255,255,.06);background:transparent;color:inherit;text-align:left}.flag-swing-row:last-child{border-bottom:0}.flag-swing-row:hover{background:#152231}.flag-swing-row>span:nth-child(2){display:flex;flex-direction:column}.flag-swing-row small{color:var(--muted);font-size:10px}.flag-swing-values{text-align:right;display:flex;flex-direction:column}.flag-swing-values b{color:#ffe095}
@media(max-width:950px){.flag-hero-card{grid-column:1}.flag-intro-scale{grid-template-columns:1fr}.flag-intro-scale>span{display:none}.flag-swing-banner{grid-template-columns:1fr}.flag-swing-icon{width:58px;height:58px}.flag-swing-row{grid-template-columns:80px 1fr}.flag-swing-values{grid-column:2;text-align:left}.flag-table-cell{min-width:104px}}


/* V126: export-only FLAG fallbacks. The live FLAG gauge/Swing UI is unchanged. */
.flag-export-scale-key{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:8px;color:#8295a8;font-size:8px;font-weight:900;letter-spacing:.06em}.flag-export-scale-key b{color:#d2dce5;font-size:8px}
.flag-export-summary{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-top:4px;padding:2px 0;border:0;background:transparent;color:#f5f7fa}
.flag-export-summary b{font-size:11px;letter-spacing:.04em}.flag-export-summary span{font-size:8px;font-weight:800;color:#9fb3c4;text-transform:uppercase;letter-spacing:.05em}
.flag-export-swing{display:flex;align-items:center;gap:12px;margin-top:12px;padding:12px 14px;border-color:rgba(255,209,102,.35);background:#11161d}
.flag-export-swing>div{min-width:0;display:flex;flex-direction:column;gap:3px}.flag-export-swing b{font-size:13px;line-height:1.25}.flag-export-swing p{margin:0;color:#aabccc;font-size:9px;line-height:1.35}
.export-capture .flag-export-scale-key,.export-capture .flag-export-summary,.export-capture .flag-export-swing{box-shadow:none!important;filter:none!important;transform:none!important}

/* V130 QB Rankings */
.qb-mode{display:flex;gap:8px;align-items:center}.qb-builder{margin-bottom:16px}.qb-builder-disabled{opacity:.82}.qb-weight-grid{display:grid;grid-template-columns:repeat(5,minmax(130px,1fr));gap:14px;padding:18px}.qb-weight{display:grid;gap:8px;color:var(--muted);font-size:11px}.qb-weight span{display:flex;justify-content:space-between;gap:8px}.qb-weight b{color:var(--ice)}.qb-weight input{width:100%}.qb-ranking-table td:nth-child(n+4){text-align:right;font-variant-numeric:tabular-nums}.qb-ranking-table th:nth-child(n+4){text-align:right}.qb-raw{display:block;color:var(--muted);font-size:9px;margin-top:2px}@media(max-width:950px){.qb-weight-grid{grid-template-columns:1fr 1fr}.qb-ranking-table{min-width:850px}.qb-mode{width:100%}}

/* V138: keep the full QB diagnostic table reachable on every viewport. */
.qb-ranking-table{min-width:1500px}
.qb-ranking-table th,.qb-ranking-table td{white-space:nowrap}
.qb-ranking-table-wrap{overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch}

/* V145 QB leaderboard: keep team identity compact beside the quarterback. */
.qb-name-team{display:inline-flex;align-items:center;gap:8px;white-space:nowrap}
.qb-name-team .qb-team-mark{flex:0 0 auto}
