/* Approved site-wide light theme: dark text, cobalt structure, orange accents. */
:root{
 color-scheme:light;
 --bg:#edf1f6;--panel:#ffffff;--panel2:#f5f8fc;--line:#cbd5e1;
 --text:#080b10;--muted:#14181f;--blue:#173f9b;--lime:#173f9b;
 --blue-80:#2457da;--blue-60:#2457da;
 --good:#154c32;--green-80:#21714e;--green-60:#398563;
 --amber:#633207;--yellow-80:#8a450e;--yellow-60:#a7651b;
 --purple:#513477;--purple-80:#67418d;--purple-60:#8059a5;
 --red:#8d2031;--red-60:#b33d50;
 --blue-surface:#d3e2ff;--green-surface:#e0f3e9;
 --yellow-surface:#fff0dd;--purple-surface:#eee8f6;--red-surface:#fbe7eb;
 --research-blue-bg:#f5f8fc;--research-blue-accent:#7897cb;
 --research-teal-bg:#f5f8fc;--research-teal-accent:#7897cb;
 --research-plum-bg:#f5f8fc;--research-plum-accent:#7897cb;
 --research-warm-bg:#f5f8fc;--research-warm-accent:#7897cb;
 background:var(--bg);color:var(--text);
}
html body{background:var(--bg);color:var(--text)}
body :is(h1,h2,h3,h4,h5,h6){color:#080b10;font-weight:750}
body :is(p,li,td,th,label,small){color:#14181f}
body :is(p,li){font-weight:500}
body :is(.muted,.small,.note,.subline,.eyebrow,.snapshot,.edition,.rail-label,.week-label,.result-head,.pager,.notice,.risk,.evidence,.mini-match,.rank-tag,.crumb,.target-empty,.target-risk,.game-board-toolbar,.slate-bottom,.team-names,.filter-count,footer){color:#14181f}
body :is(.eyebrow,label,th,.pill){font-weight:600}
body :is(a,summary,.player-link){color:#173f9b}
body :is(input,select,textarea){background:#f7f9fc;color:#14181f;border-color:#9baabd;accent-color:#2457da}
body input::placeholder,body textarea::placeholder{color:#14181f;opacity:1}
body :is(button,a,input,select,textarea,summary):focus-visible{outline:3px solid #2457da;outline-offset:3px}
body :is(.top,.auth-card,.plans section,.account-panel){background:#fff;color:var(--text);border-color:var(--line);box-shadow:0 3px 10px #243a5910}
body .top{border-bottom:3px solid #2457da}
body :is(.brand,.auth-brand,.auth-brand small){color:#080b10}
body :is(.mark,.auth-mark){background:#f36b21;color:#080b10;border-radius:5px}
body .rail{background:#e3eaf3;border-color:#cbd6e4}
body .nav{color:#14181f}
body .nav:hover{background:#d8e3f2}
body .nav.active{background:#d3e2ff;color:#14181f;box-shadow:inset 4px 0 #2457da;font-weight:650}
body .nav b{background:#fff;color:#080b10}
body .rail-bottom em{color:#173f9b}
body :is(.surface,.slate-card,.game-card,.stats,.table-wrap,.inspector,.inspect-section,dialog,#advanced-research,.target-player-card){background:#fff;border-color:var(--line);color:var(--text)}
body .slate-card{border-top:1px solid var(--line);border-left:4px solid #f36b21}
body .slate-card:has(.matchup-link:hover){border-color:#2457da;border-left-color:#f36b21}
body :is(.game-card:hover,.game-card.selected){background:#eaf0ff;border-color:#2457da}
body :is(.inspect-head,main.research-open #inspector .inspect-head){background:#e2ebff;color:#080b10}
body :is(.environment strong,.environment b,.line-val,.line-pair .current b,.stat:first-child strong,.rank strong,.stars){color:#173f9b}
body :is(.environment span,.environment small,.line-pair span,.line-pair small,.usage-grid span,.forecast-fields span,.saved-offer-stats dt,.matchup-market-stats dt,.target-player-usage dt){color:#14181f}
body :is(th,.opportunity-heading,.player-comparison thead th,.matchup-stat-table thead th){background:#edf1f6;color:#14181f}
body tbody tr:hover{background:#f0f5fd}
body tbody tr.selected{background:#e2ebff;box-shadow:inset 3px 0 #2457da}
body :is(.quiet,.team-tabs button,.lens-tabs button,.preset-groups button){background:#fff;color:#14181f;border-color:#9baabd}
body :is(.quiet:hover,.preset-groups button:hover){background:#eaf0ff;color:#14181f;border-color:#5276af}
body :is(.team-tabs .active,.lens-tabs .active){background:#d3e2ff;color:#14181f;border-color:#5276af}
body :is(.track,.opportunity-results>div){background:#e3eaf3}
body :is(.fill,.fill.lime){background:#2457da}
body .pill.good{background:var(--green-surface);color:#154c32;border-color:#7ba88f}
body .pill.mixed{background:var(--yellow-surface);color:#633207;border-color:#c79e6e}
body .pill.bad{background:var(--red-surface);color:#8d2031;border-color:#ca8c99}
body .pill.unknown{background:#e9eef5;color:#303d4e;border-color:#9baabd}
body .risk{border-color:#a7651b;color:#14181f}
body .save{color:#303d4e}body .save.on{color:#633207}
body .research-copy,body .research-copy .research-takeaway,body .research-copy h4,body .research-number,body .research-interpretation,body .research-main-risk p{color:#14181f}
body .research-copy .research-number{font-weight:750;color:#080b10}
body .research-copy .research-points .research-stat-line{background:#eaf0ff;border-color:#7897cb;color:#14181f}
body .research-copy .research-stat-line .research-number{color:#080b10}
body .research-points li::marker{color:#173f9b}
body .research-interpretation{border-color:#7897cb;color:#14181f}
body .research-interpretation h4,body .research-cautions .research-main-risk h4{color:#080b10}
body .research-cautions .research-main-risk{border-color:#a7651b}
body #inspector .research-entry,body .saved-game-research>.research-entry{background:#f5f8fc;border-color:#d6e0ed;border-left:3px solid #7897cb;color:#14181f;box-shadow:none}
body #inspector .research-entry>:is(.eyebrow,h3,h4),body .saved-game-research>.research-entry>:is(.eyebrow,h3,h4){color:#080b10}
body #inspector .research-entry>.eyebrow,body .saved-game-research>.research-entry>.eyebrow{border-color:#d8e1ec;color:#14181f}
body :is(.matchup-stat-group,.team-outlook-summary){background:#fff;color:#14181f;border-color:#cbd5e1}
body :is(.empty,.toast){background:#f5f8fc;color:#14181f;border-color:#9baabd}
body .notice-icon{color:#173f9b;border-color:#5276af}
body #source-body :is(p,li){color:#14181f}
body .dc-plot text{fill:#14181f}
body .dc-legend span{color:#14181f}
/* Account menu, authentication, password recovery, and billing share the theme. */
body #account-menu summary{background:#d3e2ff;color:#14181f;border-color:#5276af}
body #account-menu summary:after{color:#14181f}
body .account-panel :is(p,a,button){color:#14181f}
body .account-panel :is(a,button):hover{background:#eaf0ff}
body .auth-card{border-radius:10px}
body :is(.description,.hint,.auth-footer,.back-desk,.divider,.password-wrap button){color:#14181f}
body .divider:before,body .divider:after{background:#cbd5e1}
body .auth-tabs{background:#e3eaf3}
body .auth-tabs button{color:#14181f}
body .auth-tabs button[aria-pressed=true]{background:#d3e2ff;color:#14181f;box-shadow:inset 0 -3px #2457da}
body :is(.primary,.membership button){background:#c9dcff;color:#102a59;border:1px solid #5276af;box-shadow:0 2px 0 #a0b6d9}
body :is(.primary:hover,.membership button:hover){background:#b9d1ff;color:#102a59}
body .google{background:#fff;color:#14181f;border-color:#9baabd}
body .google:hover{background:#eaf0ff}
body .status-icon{background:#e2ebff;color:#173f9b}
body #auth-message{color:#8d2031;font-weight:600}
body .plans section{border-top:4px solid #f36b21;border-radius:8px}
body .plans p{color:#14181f}
body .membership a{color:#173f9b}

/* Search and sorting share one desktop row and stack on small screens. */
body main>.controls{display:flex;align-items:center;flex-wrap:nowrap;gap:12px}
body main>.controls>.search{flex:1 1 auto;min-width:0}
body main>.controls>label:not(.search){flex:0 1 220px;min-width:0}
body main>.controls :is(input,select){width:100%}
body main>.controls>label[hidden]{display:none!important}
@media(max-width:650px){
 body main>.controls{flex-direction:column;align-items:stretch}
 body main>.controls>label,body main>.controls>.search,body main>.controls>label:not(.search){flex:0 0 auto;width:100%;min-width:0;max-width:none}
}

/* Full-width preview invitation, above the entire research workspace. */
body .preview-banner{
 width:100%;margin:0;border-bottom:1px solid #d7ae72;border-top:0;
 background:linear-gradient(110deg,#ffdfad 0%,#fff0d6 65%,#ffe4b9 100%);
 box-shadow:inset 6px 0 #f36b21,0 4px 14px #6d461212;
}
body .preview-banner-inner{
 max-width:2125px;margin:0 auto;padding:24px clamp(20px,3vw,48px);
 display:flex;align-items:center;justify-content:space-between;gap:28px;
}
body .preview-banner-copy{min-width:0}
body .preview-banner-badge{
 display:inline-block;background:#fff8eb;border:1px solid #c89654;border-radius:5px;
 padding:4px 9px;font-size:.7rem;font-weight:800;letter-spacing:.1em;color:#633207;
}
body .preview-banner h2{margin:8px 0 4px;font-size:clamp(1.35rem,2vw,1.85rem);line-height:1.2;letter-spacing:-.035em;color:#111827}
body .preview-banner p{margin:0;color:#352715;font-size:.9rem;font-weight:550}
body .preview-banner-cta{
 display:flex;flex-direction:column;align-items:center;gap:3px;flex-shrink:0;
 padding:14px 22px;border:2px solid #b9470d;border-radius:9px;
 background:#ffb15f;color:#17120c;text-decoration:none;
 box-shadow:0 3px 0 #b9470d;transition:background .15s,box-shadow .15s;
}
body .preview-banner-cta strong{font-size:1rem;font-weight:800}
body .preview-banner-cta span{font-size:.75rem;color:#35200f}
body .preview-banner-cta:hover{background:#ffa346;box-shadow:0 4px 0 #b9470d}
body .preview-banner-cta:focus-visible{outline:3px solid #173f9b;outline-offset:5px}
@media(max-width:700px){
 body .preview-banner-inner{flex-direction:column;align-items:stretch;gap:16px;padding:20px}
 body .preview-banner-cta{width:100%;padding:13px 16px;text-align:center}
 body .preview-banner p{font-size:.8125rem;line-height:1.6}
}

/* Consistent evidence and caution formatting across player assessments. */
body #inspector :is(.player-matchup-read,.player-td-assessment) .research-copy-group > .research-points{
 display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;list-style:none;padding:0;margin:12px 0 0;
}
body #inspector :is(.player-matchup-read,.player-td-assessment) .research-copy-group > .research-points > li{
 margin:0;padding:16px 18px;background:#eef3fa;border:1px solid #d6e0ed;border-left:3px solid #7897cb;border-radius:8px;
 color:#14181f;font-size:1rem;line-height:1.7;min-width:0;overflow-wrap:anywhere;
}
body #inspector :is(.player-matchup-read,.player-td-assessment) .research-copy-group > .research-points > li::before{content:none}
body #inspector :is(.player-matchup-read,.player-td-assessment) .research-copy-group h4,
body #inspector :is(.player-matchup-read,.player-td-assessment) .research-cautions h4{
 margin:0 0 10px;font-size:.9375rem;font-weight:700;line-height:1.5;
}
body #inspector :is(.player-matchup-read,.player-td-assessment) .research-cautions{
 display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:20px 0 0;align-items:stretch;
}
body #inspector :is(.player-matchup-read,.player-td-assessment) .research-cautions > :is(.research-interpretation,.research-main-risk){
 margin:0;padding:16px 18px;border:1px solid #d6e0ed;border-left:3px solid #7897cb;border-radius:8px;background:#f5f8fc;
 color:#14181f;font-size:1rem;line-height:1.7;min-width:0;
}
body #inspector :is(.player-matchup-read,.player-td-assessment) .research-cautions > :only-child{grid-column:1/-1}
body #inspector :is(.player-matchup-read,.player-td-assessment) .research-cautions > .research-main-risk{border-left-color:#a7651b;background:#faf6ef}
body #inspector :is(.player-matchup-read,.player-td-assessment) .research-cautions :is(p,ul){margin:0;font-size:1rem;line-height:1.7}
body #inspector :is(.player-matchup-read,.player-td-assessment) .research-cautions .research-points{display:block;list-style:none;padding:0}
body #inspector :is(.player-matchup-read,.player-td-assessment) .research-cautions .research-points > li{margin:0;padding:0;background:none;border:0}
body #inspector :is(.player-matchup-read,.player-td-assessment) .research-cautions .research-points > li + li{margin-top:10px}
body #inspector :is(.player-matchup-read,.player-td-assessment) > .risk{
 margin:16px 0 0;padding:16px 18px;border:1px solid #d6e0ed;border-left:3px solid #a7651b;border-radius:8px;background:#faf6ef;font-size:1rem;line-height:1.7;
}
@media(max-width:700px){
 body #inspector :is(.player-matchup-read,.player-td-assessment) .research-copy-group > .research-points,
 body #inspector :is(.player-matchup-read,.player-td-assessment) .research-cautions{grid-template-columns:minmax(0,1fr)}
}

/* Use the mobile horizontal research navigation at every viewport. */
body .workspace{display:block}
body .rail{padding:8px 10px;min-height:0;border-right:0;border-bottom:1px solid #cbd6e4}
body .rail > .rail-label,body .rail .rail-bottom{display:none}
body .rail nav{display:flex;flex-direction:row;gap:4px;margin:0;max-width:100%;overflow-x:auto}
body .rail .nav{flex:0 0 auto;white-space:nowrap;font-size:.8125rem;padding:10px;min-height:44px;text-decoration:none}
body .rail .nav > span{display:none}
body .rail .nav.active{box-shadow:inset 0 -3px #2457da}
body .rail .nav[hidden]{display:none!important}

body .plain-language-stats{grid-column:1/-1;margin:16px 0;padding:14px 18px;border:1px solid #cbd6e4;border-radius:8px;background:#f5f8fc}body .plain-language-stats summary{cursor:pointer;font-weight:700}body .plain-language-stats .note{line-height:1.65}body .plain-language-stats>p{margin:12px 0}

/* General research limitations are readable fine print, not feature cards. */
body .research-fine-print,
body #inspector :is(.player-matchup-read,.player-td-assessment) .research-fine-print,
body #inspector :is(.player-matchup-read,.player-td-assessment) .research-copy-group > .research-points > li.research-fine-print{
 display:block;grid-column:1/-1;margin:8px 0 0!important;padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;
 color:#43515f!important;font-size:.8125rem!important;font-weight:400!important;line-height:1.5!important;
}
body .research-fine-print :is(p,li,span,strong,b){font-size:inherit!important;font-weight:400!important;line-height:inherit!important;color:inherit!important;background:none!important;padding:0!important}
body .research-fine-print > :first-child{margin-top:0}
body .research-fine-print > :last-child{margin-bottom:0}
body .research-fine-print::marker{content:''}
body .research-cautions:has(>.research-fine-print:only-child){display:block!important;margin-top:8px!important}

/* Center the desktop research workspace while retaining fluid mobile layouts. */
@media(min-width:1001px){
 body .workspace{width:100%;max-width:1280px;margin-inline:auto}
 body .workspace>main{max-width:1280px}
 body:has(.workspace)>.top{padding-inline:max(30px,calc((100% - 1280px)/2 + 30px))}
 body .preview-banner-inner{max-width:1280px}
}
