:root{color:#1b1f29;background:#111827;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}:root{--surface: rgba(255, 255, 255, .94);--surface-strong: rgba(255, 255, 255, .98);--line-soft: rgba(126, 154, 184, .24);--text-muted: #5e7188;--shadow-soft: 0 24px 70px rgba(4, 20, 38, .18);--shadow-strong: 0 30px 80px rgba(3, 16, 31, .28)}body{margin:0;min-height:100vh;background:radial-gradient(circle at top left,rgba(15,157,138,.22),transparent 28%),radial-gradient(circle at top right,rgba(255,183,77,.2),transparent 24%),linear-gradient(120deg,#040f1ef5,#0b1d30e6 44%,#06182af7),linear-gradient(180deg,#0a192a6b,#081423eb)}body.arena-background{background:radial-gradient(circle at top left,rgba(15,157,138,.22),transparent 28%),radial-gradient(circle at top right,rgba(255,183,77,.2),transparent 24%),linear-gradient(120deg,#040f1ef5,#0b1d30e0 44%,#06182af7),linear-gradient(180deg,#0a192a6b,#081423eb),url(/assets/basketball-arena-bg-1672-BSn_VD1C.avif) center / cover fixed}@media(max-width:960px){body.arena-background{background-image:radial-gradient(circle at top left,rgba(15,157,138,.22),transparent 28%),radial-gradient(circle at top right,rgba(255,183,77,.2),transparent 24%),linear-gradient(120deg,#040f1ef5,#0b1d30e0 44%,#06182af7),linear-gradient(180deg,#0a192a6b,#081423eb),url(/assets/basketball-arena-bg-960-CrtWnICl.avif)}}button,select{font:inherit}.sportsbook-inline{display:inline-flex;align-items:center;gap:6px;flex-wrap:wrap}.sportsbook-logo-wrap{display:inline-flex;align-items:center;justify-content:center;min-height:46px;min-width:112px;vertical-align:middle}.sportsbook-logo-wrap.compact{min-height:40px;min-width:100px}.sportsbook-logo-wrap.wide{min-width:140px}.sportsbook-logo-wrap.compact.wide{min-width:124px}.sportsbook-badge{display:inline-flex;align-items:center;justify-content:center;min-height:38px;min-width:96px;padding:5px 12px;border:1px solid #d9dee7;border-radius:8px;background:#fff;vertical-align:middle}.sportsbook-badge.compact{min-height:38px;min-width:88px;padding:5px 10px}.sportsbook-badge.fallback{color:#344054;font-size:12px;font-weight:800;line-height:1}.sportsbook-logo{display:block;max-width:152px;max-height:44px;width:auto;height:auto}.sportsbook-logo.wide{max-width:172px}.sportsbook-logo.caesars{max-width:140px;max-height:38px}.sportsbook-logo.bet365{max-width:136px;max-height:40px}.sportsbook-logo.betrivers{max-width:154px;max-height:38px}.sportsbook-logo.thescore-bet{max-width:160px;max-height:38px}.sportsbook-logo-wrap.compact .sportsbook-logo{max-width:138px;max-height:38px}.sportsbook-logo-wrap.compact .sportsbook-logo.wide{max-width:156px;max-height:38px}.sportsbook-logo-wrap.compact .sportsbook-logo.caesars{max-width:124px;max-height:34px}.sportsbook-logo-wrap.compact .sportsbook-logo.bet365{max-width:122px;max-height:36px}.sportsbook-logo-wrap.compact .sportsbook-logo.betrivers{max-width:138px;max-height:34px}.sportsbook-logo-wrap.compact .sportsbook-logo.thescore-bet{max-width:144px;max-height:34px}.props-best-col,.props-best-book{width:128px;min-width:128px;text-align:center}.props-best-book .sportsbook-logo-wrap,.props-best-col .sportsbook-logo-wrap{width:108px;min-width:108px;min-height:34px;height:34px;margin:0 auto}.props-best-book .sportsbook-logo,.props-best-col .sportsbook-logo{width:88px;max-width:88px;height:28px;max-height:28px;object-fit:contain;object-position:center}.props-best-book .sportsbook-badge.fallback,.props-best-col .sportsbook-badge.fallback{min-width:108px;min-height:34px;margin:0 auto}.app-shell{min-height:100vh;padding:28px}.topbar,.panel-header,.filters,.workspace{display:flex;align-items:center}.topbar{justify-content:space-between;gap:20px;margin-bottom:22px;color:#fff}.topbar-actions{display:inline-flex;flex-wrap:wrap;justify-content:flex-end;gap:10px}.eyebrow{margin:0 0 4px;color:#8de6db;font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}h1,h2,h3,p{margin-top:0}h1{margin-bottom:0;font-size:34px;letter-spacing:-.04em}h2{margin-bottom:3px;font-size:18px}h3{margin-bottom:8px;font-size:28px}.icon-button{min-height:42px;border:1px solid rgba(148,208,233,.28);border-radius:14px;background:linear-gradient(180deg,#ffffff29,#75a0c51f);color:#fff;cursor:pointer;box-shadow:0 16px 36px #00000024;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);transition:transform .16s ease,border-color .16s ease,background .16s ease}.icon-button:hover:not(:disabled){transform:translateY(-1px);border-color:#ffb74d70;background:linear-gradient(180deg,#fff3,#94bedf29)}.text-button{display:inline-flex;align-items:center;gap:8px;padding:0 14px;font-weight:700}.text-button:disabled{cursor:wait;opacity:.65}.dark-button{border-color:#0f9d8a5c;background:linear-gradient(135deg,#0f9d8a,#0b6f83);color:#fff}.secondary-button{min-height:42px;padding:0 14px;border:1px solid rgba(15,157,138,.24);border-radius:12px;background:linear-gradient(180deg,#fffffffa,#edf9f8f0);color:#0b6f83;cursor:pointer;font-weight:800}.secondary-button:disabled{cursor:wait;opacity:.62}.summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:18px}.tabs{display:inline-flex;gap:8px;margin-bottom:18px;padding:8px;border:1px solid rgba(152,199,231,.2);border-radius:18px;background:linear-gradient(180deg,#ffffff29,#75a0c51a),#08142347;box-shadow:0 22px 44px #03101f33;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.tabs button{display:inline-flex;align-items:center;gap:8px;min-height:42px;padding:0 16px;border:0;border-radius:14px;background:transparent;color:#f3f7fbe0;cursor:pointer;font-weight:800;letter-spacing:.01em;transition:transform .16s ease,background .16s ease,color .16s ease,box-shadow .16s ease}.tabs button:hover{transform:translateY(-1px);background:#ffffff14}.tabs button svg{color:#8de6db}.tabs button.active{background:linear-gradient(135deg,#ffb74df5,#ffd666f0);color:#5f2d00;box-shadow:0 14px 28px #6336053d}.tabs button.active svg{color:#8a4300}.metric{min-height:82px;padding:16px;border:1px solid rgba(109,164,199,.2);border-radius:18px;background:radial-gradient(circle at top right,rgba(255,183,77,.12),transparent 36%),linear-gradient(180deg,#fffffffa,#eff7fdf0);box-shadow:0 18px 44px #07142529}.metric span{display:block;margin-bottom:8px;color:var(--text-muted);font-size:13px;text-transform:uppercase;letter-spacing:.06em}.metric strong{font-size:24px;color:#10324d}.player-label{display:inline-flex;align-items:center;gap:4px;color:#0f172a;letter-spacing:.01em}.player-label-pos{margin-left:4px;color:#7c3aed;font-size:.68em;font-weight:800;vertical-align:super;text-transform:uppercase}.role-boost-indicator{display:inline-flex;align-items:center;justify-content:center;margin-left:2px;min-width:16px;height:16px;padding:0 4px;border-radius:999px;background:#dcfce7;color:#15803d;border:1px solid #86efac;font-size:.72em;font-weight:900;line-height:1}.metric.metric-impact-low{border-color:#12b76a47;background:linear-gradient(180deg,#f0fdf4fa,#dcfce7f0)}.metric.metric-impact-mild{border-color:#f790093d;background:linear-gradient(180deg,#fffaebfa,#fef0c7f0)}.metric.metric-impact-moderate{border-color:#f973164d;background:linear-gradient(180deg,#fff7edfa,#fed7aaf0)}.metric.metric-impact-severe{border-color:#d92d2057;background:linear-gradient(180deg,#fef2f2fa,#fecdd3f0)}.workspace{align-items:stretch;gap:18px}.matchup-list{display:block}.board-panel,.detail-panel{border:1px solid var(--line-soft);border-radius:22px;background:radial-gradient(circle at top right,rgba(15,157,138,.08),transparent 34%),linear-gradient(180deg,var(--surface-strong),var(--surface));box-shadow:var(--shadow-strong);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.board-panel{flex:1 1 auto;min-width:0}.detail-panel{flex:0 0 360px}.panel-header{justify-content:space-between;gap:12px;padding:18px;border-bottom:1px solid rgba(130,157,183,.18);background:linear-gradient(180deg,#eff8fff5,#ffffffd1),#fff}.panel-header p{margin-bottom:0;color:var(--text-muted);font-size:14px}.panel-header.compact{padding:0 0 12px;border-bottom:0}.panel-header.compact h3{margin-bottom:3px;font-size:18px}.panel-header.subheader{margin-top:16px}.data-layout{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;padding:18px}.status-card-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;padding:18px 18px 0}.operation-card{display:flex;min-height:260px;flex-direction:column;justify-content:space-between;gap:18px;padding:18px;border:1px solid #eaecf0;border-radius:8px;background:#fff}.operation-card-compact{min-height:214px;gap:14px}.operation-card h3{margin-bottom:8px;color:#184f86;font-size:20px}.operation-card p:not(.eyebrow){margin-bottom:0;color:#667085;line-height:1.45}.cache-badge-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.cache-badge{display:inline-flex;flex-direction:column;gap:2px;padding:7px 10px;border:1px solid #d5dbe4;border-radius:999px;background:#f8fafc;color:#344054;font-size:12px;line-height:1.25}.cache-badge strong{color:#101828;font-size:11px;text-transform:uppercase;letter-spacing:.04em}.cache-badge.fresh{border-color:#b7e4c7;background:#f2fbf5}.cache-badge.stale{border-color:#f3d3a1;background:#fff8ee}.cache-badge.missing{border-color:#e4e7ec;background:#f8fafc}.progress-block{display:grid;gap:8px;margin-top:14px}.progress-meta{display:flex;align-items:center;justify-content:space-between;gap:12px;color:#184f86;font-size:13px;font-weight:700}.progress-track{overflow:hidden;height:10px;border-radius:999px;background:#e6edf5}.progress-fill{height:100%;border-radius:inherit;background:linear-gradient(90deg,#2364aa,#39a0ed);transition:width .18s ease}.progress-caption{color:#667085;font-size:13px}.operation-actions{display:flex;flex-wrap:wrap;gap:10px}.operation-fields{display:grid;gap:12px}.operation-fields label{display:grid;gap:6px;color:#344054;font-size:13px;font-weight:700}.operation-fields input,.operation-fields textarea{width:100%;border:1px solid #d0d5dd;border-radius:8px;background:#fff;color:#101828;font:inherit}.operation-fields input{min-height:38px;padding:0 10px}.operation-fields textarea{min-height:78px;resize:vertical;padding:10px}.filters{justify-content:space-between;gap:12px;padding:14px 18px;border-bottom:1px solid rgba(130,157,183,.18);background:linear-gradient(180deg,#e6f4fa9e,#ffffffad)}.segmented{display:flex;flex-wrap:wrap;gap:6px}.segmented button,select{min-height:36px;border:1px solid rgba(96,140,178,.24);border-radius:12px;background:linear-gradient(180deg,#fffffffa,#f0f8fcf0);color:#28435e;box-shadow:inset 0 1px #ffffffb8}.segmented button{min-width:54px;padding:0 12px;cursor:pointer;font-weight:800;transition:transform .16s ease,border-color .16s ease,background .16s ease,color .16s ease}.segmented button:hover{transform:translateY(-1px);border-color:#0f9d8a57}.segmented button.active{border-color:#0f9d8a66;background:linear-gradient(135deg,#0f9d8a29,#1176891a);color:#0b6f83;box-shadow:0 10px 22px #0c5b681f}select{padding:0 12px}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse}th,td{padding:14px 18px;border-bottom:1px solid #eaecf0;text-align:left;white-space:nowrap}th{color:#587087;font-size:12px;text-transform:uppercase;letter-spacing:.08em;background:#ecf6fbb8}td span{display:block;margin-top:3px;color:var(--text-muted);font-size:13px}.prop-l5-strip{display:inline-flex;gap:4px;margin-top:6px}.prop-l5-strip span{display:inline-flex;align-items:center;justify-content:center;min-width:24px;margin-top:0;padding:2px 6px;border-radius:5px;border:1px solid transparent;font-size:11px;font-weight:800;line-height:1.2}.prop-l5-strip .prop-l5-label{margin-top:0;padding-right:2px;color:#667085;font-size:10px;font-weight:900;letter-spacing:.03em;text-transform:uppercase}.prop-l5-strip span.hit{color:#027a48;background:#e7f7ef;border-color:#b7ebcf}.prop-l5-strip span.neutral{color:#0c4a6e;background:#e0f2fe;border-color:#bae6fd}.prop-l5-strip span.miss{color:#b42318;background:#fff1f0;border-color:#ffd3cf}.prop-l5-strip span.l5-separator{min-width:auto;padding:0 2px;border:0;color:#667085;background:transparent}.prop-l5-strip span.min-chip{color:#5b21b6;background:#f3e8ff;border-color:#d8b4fe}.player-cell,.detail-title,.matchup-title-row,.team-title{display:flex;align-items:center;gap:10px}.team-logo{width:38px;height:38px;flex:0 0 38px;object-fit:contain}.team-logo.fallback{border:1px solid rgba(104,143,178,.2);border-radius:10px;background:linear-gradient(180deg,#f5fbff,#eaf4fb)}tbody tr{cursor:pointer}tbody tr:hover,tbody tr.selected{background:linear-gradient(90deg,#e8f7faeb,#fff4ddb8)}.side{display:inline-flex;align-items:center;min-width:58px;min-height:28px;justify-content:center;border-radius:8px;font-size:12px;font-weight:800;text-transform:uppercase}.side.over{background:#e7f7ef;color:#027a48}.side.under{background:#fff1f0;color:#b42318}.detail-content{padding:18px}.recommendation{margin-bottom:18px;color:#0b6f83;font-weight:800}.detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:18px}.detail-grid-compact{margin-bottom:0}.model-validation-grid{margin-top:12px;margin-bottom:0}.detail-grid .metric{min-height:74px;padding:12px}.detail-grid .metric strong{font-size:18px;text-transform:capitalize}.detail-grid-compact .metric{min-height:64px;padding:10px}.detail-grid-compact .metric span{margin-bottom:6px;font-size:12px}.detail-grid-compact .metric strong{font-size:16px}.reason{padding:14px;border:1px solid #d9dee7;border-radius:8px;background:#fbfcfe;color:#344054;line-height:1.5}.timestamps{display:grid;gap:8px;color:#667085;font-size:13px}.matchup-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;padding:18px}.matchup-grid.single{grid-template-columns:1fr}.game-tabs{display:flex;gap:8px;padding:14px 18px;border-bottom:1px solid rgba(130,157,183,.18);background:linear-gradient(180deg,#e9f6fbd1,#ffffff52);overflow-x:auto}.game-tabs button{min-width:190px;padding:12px 14px;border:1px solid rgba(100,140,176,.22);border-radius:16px;background:linear-gradient(180deg,#fffffffa,#ecf6fcf0);color:#344054;cursor:pointer;text-align:left;box-shadow:0 10px 26px #0a1f3614;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease,background .16s ease}.game-tabs button:hover{transform:translateY(-2px);border-color:#0f9d8a4d;box-shadow:0 16px 36px #0a1f361f}.game-tabs button.active{border-color:#0f9d8a6b;background:radial-gradient(circle at top right,rgba(255,183,77,.18),transparent 42%),linear-gradient(180deg,#ecfdf5fa,#e0f2fef5);box-shadow:0 18px 38px #09434f29}.roster-panel{overflow:hidden;border-color:#0c4a6e3d;background:linear-gradient(180deg,#fffffff7,#f6fafdf2),#fff}.roster-panel .panel-header{border-bottom-color:#0c4a6e1f;background:radial-gradient(circle at top right,rgba(45,212,191,.16),transparent 34%),linear-gradient(180deg,#eff8ffeb,#ffffffe6)}.roster-actions{padding:14px 18px 0}.roster-tabs{gap:10px;border-bottom:0;padding-top:18px;padding-bottom:12px;background:linear-gradient(180deg,#e6f4fa8a,#fff0)}.roster-tabs button{min-width:148px;border-color:#16653424;border-radius:14px;background:linear-gradient(180deg,#fffffffa,#f0f9fff0);box-shadow:0 10px 24px #082f4914}.roster-tabs button.active{border-color:#0891b26b;background:linear-gradient(180deg,#ecfdf5fa,#e0f2fef5);box-shadow:0 16px 36px #082f491f}.roster-tabs strong{color:#0f172a;font-size:18px}.roster-tabs em{color:#0f766e}.roster-summary-grid{padding:0 18px}.roster-summary-grid .metric{min-height:92px;border-radius:14px}.roster-change-card{margin:0 18px 18px;padding:16px 18px;border:1px solid #d7e0ea;border-radius:14px;background:linear-gradient(180deg,#f7fafcfa,#fffffffa)}.roster-change-card-header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.roster-change-card-header h3{margin:0;color:#12263a;font-size:16px}.roster-change-card-header p{margin:6px 0 0;color:#526071;font-size:13px}.roster-change-count{display:inline-flex;align-items:center;justify-content:center;min-width:92px;padding:6px 10px;border-radius:999px;background:#e6f0ff;color:#1d4f91;font-size:12px;font-weight:800}.roster-change-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px;margin-top:14px}.roster-change-item{display:flex;justify-content:space-between;gap:12px;padding:12px 14px;border:1px solid #e1e8f0;border-radius:12px;background:#fff}.roster-change-item strong,.roster-change-item span,.roster-change-item p{display:block}.roster-change-item strong{color:#12263a;font-size:14px}.roster-change-item span{margin-top:3px;color:#667085;font-size:12px;font-weight:700}.roster-change-item p{margin:0;color:#1d4f91;font-size:13px;font-weight:800;text-align:right}.roster-change-empty{margin:14px 0 0;color:#344054;font-size:14px;line-height:1.5}.matchup-game-tabs button.winner-home{border-color:#0f9d8a47;background:linear-gradient(180deg,#effcf6fa,#e3faf3f0)}.matchup-game-tabs button.winner-away{border-color:#ffb74d57;background:linear-gradient(180deg,#fff8edfa,#fff2daf0)}.matchup-game-tabs button.winner-home.active{border-color:#0b6f8370;background:linear-gradient(180deg,#dff7ebfa,#d6f5eef5)}.matchup-game-tabs button.winner-away.active{border-color:#db7c1966;background:linear-gradient(180deg,#fff0dafa,#ffe8cbf5)}.game-tabs span,.game-tabs strong,.game-tabs em{display:block}.game-tabs span{margin-bottom:4px;color:#62788e;font-size:12px;text-transform:uppercase;letter-spacing:.06em}.game-tabs strong{color:#12324f;font-size:15px}.game-tabs em{margin-top:5px;color:#0b6f83;font-size:12px;font-style:normal;font-weight:800}.matchup-card{border:1px solid rgba(15,157,138,.2);border-radius:18px;background:radial-gradient(circle at top right,rgba(255,183,77,.12),transparent 38%),linear-gradient(180deg,#f4fbfffa,#fffffff5),#fff;overflow:hidden;box-shadow:0 20px 48px #071b311f}.matchup-card-header{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:14px;padding:16px;border-bottom:1px solid rgba(15,157,138,.12);background:linear-gradient(180deg,#e7f8f7d6,#fafcff6b)}.matchup-header-top{display:flex;min-width:0;flex:1 1 auto}.matchup-card-header h3{margin-bottom:0;font-size:24px;color:#10324d}.matchup-header-main{min-width:0;margin-right:auto;align-self:flex-start}.matchup-title-row{display:flex;align-items:center;gap:12px}.matchup-title-row .team-logo{width:42px;height:42px;flex-basis:42px}.matchup-market-badges{display:flex;flex-wrap:nowrap;justify-content:flex-end;gap:8px;max-width:100%;overflow-x:auto;scrollbar-width:none;-ms-overflow-style:none;padding-bottom:2px}.matchup-market-badges::-webkit-scrollbar{display:none}.market-pill{display:inline-flex;align-items:center;min-height:28px;padding:0 10px;border:1px solid rgba(109,40,217,.18);border-radius:999px;background:#6d28d91a;color:#6d28d9;font-size:12px;font-weight:800;white-space:nowrap}.game-pill{display:inline-flex;align-items:center;align-self:flex-start;min-height:28px;padding:0 10px;border-radius:8px;background:#5b21b61f;color:#5b21b6;font-size:12px;font-weight:800;white-space:nowrap}.game-badges{display:flex;flex-wrap:wrap;justify-content:flex-start;gap:8px}.rest-pill{display:inline-flex;align-items:center;min-height:28px;padding:0 10px;border-radius:8px;background:#7c3aed1f;color:#6d28d9;font-size:12px;font-weight:800;white-space:nowrap}.risk-pill{display:inline-flex;align-items:center;justify-content:center;min-height:28px;padding:0 10px;border-radius:8px;border:1px solid rgba(15,23,42,.08);background:#f2f4f7;color:#344054;font-size:12px;font-weight:800;line-height:1;white-space:nowrap}.risk-pill.high,.risk-pill.very-high{background:#fff1f0;color:#b42318}.risk-pill.medium{background:#fff6e5;color:#b54708}.risk-pill.low{background:#e7f7ef;color:#027a48}.status-pill{display:inline-flex;align-items:center;min-height:24px;padding:0 8px;border-radius:8px;font-size:12px;font-weight:800}.status-pill.confirmed{background:#e7f7ef;color:#027a48}.status-pill.gtd{background:#fff6e5;color:#b54708}.status-pill.out{background:#fff1f0;color:#b42318}.roster-table-wrapper{padding:0 18px 18px}.roster-table{overflow:hidden;border:1px solid rgba(8,47,73,.1);border-radius:18px;background:linear-gradient(180deg,#fffffffa,#f8fafcfa);box-shadow:inset 0 1px #ffffffb3}.roster-table thead th{border-bottom-color:#082f491a;background:linear-gradient(180deg,#f1f5f9fa,#f8fafcf2);color:#475467;letter-spacing:.04em}.roster-table tbody tr{cursor:default;transition:background .16s ease}.roster-table tbody tr:hover{background:#f6fbff}.roster-table td{vertical-align:middle}.roster-row-out{background:linear-gradient(90deg,#fff1f0b8,#fff0)}.roster-row-gtd{background:linear-gradient(90deg,#fff6e5cc,#fff0)}.roster-player-cell{display:grid;gap:4px}.special-props-table td{vertical-align:middle}.special-props-table-wrap{margin:0 18px 18px;overflow-x:auto;border:1px solid #eaecf0;border-radius:12px;background:#fff;box-shadow:0 8px 24px #0f172a0a}.special-props-table{min-width:1080px;background:#fff}.special-props-table .special-col-player{width:320px}.special-props-table .special-col-tier{width:96px}.special-props-table .special-col-metric{width:84px}.special-props-table .special-col-probability{width:78px}.special-props-table .special-col-captured{width:156px}.special-props-table thead th{background:#f8fafc;border-bottom-color:#eaecf0;color:#667085}.table-sort-button{display:inline-flex;align-items:center;justify-content:flex-end;gap:6px;width:100%;padding:0;border:0;background:transparent;color:inherit;font:inherit;cursor:pointer}.table-sort-button:hover{color:#101828}.special-props-table tbody tr{transition:background .16s ease}.special-props-table tbody tr:hover{background:#f8fbff}.special-props-table td:nth-child(n+2):nth-child(-n+11){text-align:right;font-variant-numeric:tabular-nums}.special-props-table th:nth-child(n+2):nth-child(-n+11){text-align:right}.special-player-cell strong{font-size:14px;color:#101828}.special-props-table th:nth-child(12),.special-props-table td:nth-child(12){min-width:156px}.special-player-cell>span{margin-top:0;color:#667085;font-size:11px;font-weight:800;text-transform:uppercase}.special-player-cell .prop-l5-strip{margin-top:8px;flex-wrap:nowrap}.special-calibration-table-wrap{margin:0 18px 18px;overflow-x:auto;border:1px solid #eaecf0;border-radius:12px;background:#fff;box-shadow:0 8px 24px #0f172a0a}.special-calibration-table-wrap-2plus{border-color:#0f766e2e;background:linear-gradient(180deg,#f0fdfafa,#ecfdf5f0);box-shadow:0 10px 28px #0f766e14}.special-calibration-table-wrap-3plus{border-color:#b4530933;background:linear-gradient(180deg,#fffbebfa,#fff7edf0);box-shadow:0 10px 28px #b4530914}.special-calibration-section{margin:14px 0}.special-calibration-copy{margin:0 18px 10px}.special-calibration-copy h4{margin:0 0 4px;color:#1b1f29;font-size:14px}.special-calibration-copy p{margin:0;color:#667085;font-size:12px}.special-calibration-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0}.special-calibration-title{padding:12px 14px 0;color:#1b1f29;font-size:13px;font-weight:800;display:flex;flex-direction:column;gap:2px}.special-calibration-title span{font-size:13px;font-weight:800}.special-calibration-title em{color:#667085;font-size:11px;font-style:normal;font-weight:700}.special-calibration-table-wrap-2plus .special-calibration-title span{color:#0f766e}.special-calibration-table-wrap-3plus .special-calibration-title span{color:#b45309}.special-calibration-table{width:100%;min-width:620px;border-collapse:collapse}.special-calibration-table th,.special-calibration-table td{padding:12px 14px;border-bottom:1px solid #eaecf0}.special-calibration-table thead th{background:#f8fafceb;color:#667085;text-align:left}.special-calibration-table-wrap-2plus .special-calibration-table thead th{background:#ccfbf18c}.special-calibration-table-wrap-3plus .special-calibration-table thead th{background:#fef3c799}.special-calibration-table td:nth-child(n+2){font-variant-numeric:tabular-nums}.roster-player-cell .player-label{font-size:15px}.roster-player-cell .player-label-pos{color:#0f766e}.roster-player-meta{margin-top:0;color:#667085;font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.roster-status-cell{display:inline-flex;align-items:center;gap:8px}.team-comparison{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.prediction-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(128px,1fr));gap:8px;padding:16px;border-top:1px solid rgba(109,40,217,.12);background:linear-gradient(180deg,#f5f3ffeb,#ede9feb8);box-shadow:inset 0 1px #ffffff47}.matchup-reason{margin:0 16px 16px}.matchup-props{margin:0 16px 16px;padding-top:16px;border-top:1px solid #eaecf0}.matchup-props .table-wrap{border:1px solid #eaecf0;border-radius:8px}.parlay-tab-content .matchup-props{margin:18px;padding-top:0;border-top:0}.parlay-game-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(128px,1fr));gap:8px;margin-bottom:16px;padding:14px;border:1px solid #d9e8f7;border-radius:8px;background:#f7fbff}.parlay-data-section{margin-top:14px}.parlay-data-section h4{margin:0 0 8px;color:#1b1f29;font-size:14px}.candidate-filters{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:12px}.candidate-tabs button{min-width:auto;padding:0 10px}.candidate-filters select{min-height:36px}.candidate-strip{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin-bottom:12px}.candidate-card{min-width:0;padding:10px;border:1px solid rgba(15,157,138,.18);border-radius:14px;background:linear-gradient(180deg,#f2fbf7fa,#e8f7faf5)}.discrepancy-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:12px}.discrepancy-card{min-width:0;padding:10px;border:1px solid rgba(255,183,77,.28);border-radius:14px;background:linear-gradient(180deg,#fff8edfa,#fff2daf5)}.discrepancy-card span,.discrepancy-card em{display:block;color:#667085;font-size:11px;font-style:normal;font-weight:800;text-transform:uppercase}.discrepancy-card strong{display:block;margin:5px 0;color:#1b1f29;font-size:14px;line-height:1.25}.discrepancy-card em{margin-top:3px;color:#b54708}.sportsbook-table{margin-top:0;border:1px solid #eaecf0;border-radius:8px}.sportsbook-lines-table{margin-top:14px;border:1px solid #eaecf0;border-radius:8px}.book-line-list{display:flex;flex-wrap:wrap;gap:6px;min-width:260px}.book-line-list span{display:inline-flex;gap:6px;margin:0;min-height:26px;align-items:center;padding:0 8px;border:1px solid #d9dee7;border-radius:8px;background:#fbfcfe;color:#344054;font-size:12px;font-weight:800}.book-line-list .sportsbook-badge{min-height:38px;min-width:88px;padding:5px 10px}.book-line-list .sportsbook-logo-wrap{min-height:38px;min-width:94px}.book-line-list .sportsbook-logo-wrap.wide{min-width:116px}.book-line-list .sportsbook-logo{max-width:122px;max-height:36px}.book-line-list .sportsbook-logo.wide{max-width:138px;max-height:36px}.book-line-list .sportsbook-logo.caesars{max-width:114px;max-height:32px}.book-line-list .sportsbook-logo.bet365{max-width:110px;max-height:34px}.book-line-list .sportsbook-logo.betrivers{max-width:126px;max-height:32px}.book-line-list .sportsbook-logo.thescore-bet{max-width:130px;max-height:32px}.candidate-card span,.candidate-card em{display:block;color:#667085;font-size:11px;font-style:normal;font-weight:800;text-transform:uppercase}.candidate-card strong{display:block;margin:5px 0;color:#1b1f29;font-size:14px;line-height:1.25}.candidate-card em{color:#027a48}.candidate-card em.candidate-side-under{color:#b42318}.candidate-card em.candidate-side-over{color:#027a48}.matchup-props th,.matchup-props td{padding:12px 14px}.team-summary{padding:16px}.team-summary+.team-summary{border-left:1px solid #eaecf0}.team-title{align-items:flex-start}.team-title .team-logo{width:48px;height:48px;flex-basis:48px}.team-title span{display:block;margin-bottom:4px;color:#667085;font-size:12px;font-weight:800;text-transform:uppercase}.team-title strong{display:block;min-height:44px;font-size:18px;line-height:1.2}.stat-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:14px 0}.ratings-strip{margin-top:8px}.mini-stat{min-height:58px;padding:10px;border:1px solid rgba(109,40,217,.12);border-radius:8px;background:#ffffff94;box-shadow:0 8px 24px #4c1d9514}.mini-stat-positive{border-color:#027a4847;background:#ecfdf3eb}.mini-stat-positive span,.mini-stat-positive strong{color:#027a48}.mini-stat-negative{border-color:#b423183d;background:#fef2f2eb}.mini-stat-negative span,.mini-stat-negative strong{color:#b42318}.mini-stat-neutral{border-color:#7e561038;background:#fffaebeb}.mini-stat-neutral span,.mini-stat-neutral strong{color:#9a6700}.mini-stat>span{display:block;margin-bottom:5px;color:#5b4b8a;font-size:11px;font-weight:800;letter-spacing:.02em;text-transform:uppercase}.mini-stat strong{color:#22163f;font-size:18px;line-height:1.2;font-weight:800;overflow-wrap:anywhere}.pace-signal{display:inline-flex;align-items:center;gap:6px;white-space:nowrap}.pace-value{display:inline-block;flex:0 0 auto;font:inherit;line-height:inherit;font-variant-numeric:tabular-nums}.pace-arrow{flex:0 0 auto;font-size:22px;line-height:1}.pace-signal-fast .pace-arrow{color:#027a48}.pace-signal-slow .pace-arrow{color:#b42318}.pace-neutral-arrows{display:inline-flex;align-items:center;gap:4px;flex:0 0 auto;font-size:22px;line-height:1}.pace-arrow-left{color:#027a48}.pace-arrow-right{color:#b42318}.metric.metric-compact strong{font-size:14px;line-height:1.25;font-weight:700}.points-row,.recent-list div{display:flex;align-items:center;justify-content:space-between;gap:10px}.points-row{margin-bottom:12px;color:#344054;font-size:13px;font-weight:800}.recent-list{display:grid;gap:8px}.recent-list div{padding:8px 0;border-top:1px solid #f0f2f5;font-size:12px}.recent-list span{color:#667085}.recent-list strong{color:#1b1f29}.recent-list b{display:block;margin:2px 0;color:#344054;font-weight:800}.recent-list em{color:#2364aa;font-style:normal;font-weight:800}.covers-records-panel{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:16px;align-items:stretch}.covers-owner-strip{grid-column:1 / -1;display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid #d9e8f7;border-radius:8px;background:#f3f8ff}.covers-owner-strip .owner-label{color:#2364aa;font-size:12px;font-weight:800;text-transform:uppercase}.covers-owner-strip .owner-team{color:#1b1f29;font-size:15px}.covers-owner-strip .owner-record{color:#475467;font-size:12px;font-weight:700}.covers-records-list{min-width:0;display:flex;flex-direction:column;padding:12px;border:1px solid #eaecf0;border-radius:8px;background:#fbfcfe;height:100%}.covers-records-list h4{margin:0 0 8px;color:#1b1f29;font-size:14px;font-weight:800;text-transform:uppercase}.covers-records-table-wrap{margin-top:0;flex:1 1 auto;border:1px solid rgba(109,40,217,.22);border-radius:8px;background:linear-gradient(180deg,#262f40fa,#181f2cf5),#18202c;box-shadow:inset 0 1px #ffffff0d}.covers-records-table-wrap table{background:transparent;height:100%}.covers-records-table-wrap th{background:#ffffff0f;color:#d7def0}.covers-records-table-wrap td{background:transparent;color:#f5f7fb;border-bottom-color:#94a3b82e}.covers-records-table-wrap .record-team-cell>span{color:#b8c2d8}.covers-records-table-wrap .record-team-cell .record-score-text{color:#f5f7fb}.covers-records-table-wrap .record-team-cell>strong{color:#f5f7fb}.covers-records-table-wrap .record-team-cell.is-win>strong,.covers-records-table-wrap .record-team-cell.is-win .record-score-text{color:#4ade80}.covers-records-table-wrap .record-team-cell.is-loss>strong,.covers-records-table-wrap .record-team-cell.is-loss .record-score-text{color:#fb7185}.record-team-cell{display:inline-flex;align-items:center;gap:6px}.record-team-cell>span{margin-top:0;color:#667085;font-size:12px}.record-team-cell .record-score-text{color:#1b1f29;font-weight:700}.record-team-cell>strong{color:#1b1f29;font-size:13px;font-weight:800}.record-team-cell.is-win>strong{color:#027a48}.record-team-cell.is-loss>strong{color:#b42318}.record-team-cell.is-win .record-score-text{color:#027a48}.record-team-cell.is-loss .record-score-text{color:#b42318}.record-team-cell .team-logo{width:18px;height:18px;flex:0 0 18px;border-radius:0}.model-layout{display:grid;grid-template-columns:minmax(280px,.8fr) minmax(360px,1.2fr);gap:16px;padding:18px}.model-card{min-width:0;padding:16px;border:1px solid #d9dee7;border-radius:8px;background:#fff}.model-summary-row{background:#ede9fe73}.model-summary-row td{font-weight:800}.model-card.full{grid-column:1 / -1}.error,.empty{margin:18px;padding:14px;border-radius:8px;background:#fff1f0;color:#b42318}.success{margin:18px;padding:14px;border-radius:8px;background:#e7f7ef;color:#027a48;font-weight:700}.warning{margin:18px;padding:14px;border-radius:8px;background:#fff7e6;color:#b54708;font-weight:700}.availability-toast{position:fixed;top:24px;left:50%;transform:translate(-50%);z-index:1000;max-width:min(420px,calc(100vw - 32px));padding:14px 16px;border:1px solid #a6f4c5;border-radius:10px;background:linear-gradient(180deg,#ecfdf3,#dff7e9);box-shadow:0 18px 48px #06182c2e;color:#05603a;font-weight:800;text-align:center}@media(max-width:960px){.app-shell{padding:18px}.summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.workspace{flex-direction:column}.matchup-grid,.team-comparison,.model-layout,.status-card-row,.data-layout,.prediction-strip,.covers-records-panel,.candidate-strip,.discrepancy-grid,.roster-change-list{grid-template-columns:1fr}.team-summary+.team-summary{border-top:1px solid #eaecf0;border-left:0}.detail-panel{flex-basis:auto}}@media(max-width:640px){.topbar,.filters,.candidate-filters{align-items:stretch;flex-direction:column}.candidate-filters .segmented,.candidate-filters select{width:100%}.tabs{display:flex;overflow-x:auto}.summary-grid,.detail-grid,.special-calibration-grid{grid-template-columns:1fr}.roster-change-card-header,.roster-change-item{flex-direction:column}.roster-change-item p{text-align:left}h1{font-size:28px}.matchup-title-row,.matchup-title-block{align-items:flex-start}}
