:root {
  color-scheme: light;
  --bg: #f5f7fa;
  --panel: #fff;
  --sidebar: #fff;
  --ink: #17202d;
  --muted: #687588;
  --soft: #eef2f7;
  --line: #dfe5ec;
  --line-strong: #cfd7e2;
  --blue: #1976d2;
  --blue-soft: #eaf3fd;
  --green: #159968;
  --green-soft: #e8f7f1;
  --red: #dc4b53;
  --red-soft: #fff0f1;
  --shadow: 0 1px 2px rgb(21 32 45 / 4%);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}
* { box-sizing: border-box; }
html { background: var(--bg); }
body { margin: 0; color: var(--ink); background: var(--bg); font-size: 14px; }
a { color: inherit; }
button, input, select { font: inherit; }
h1, h2, p { margin: 0; }
svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.sprite { display: none; }
.app-shell { min-height: 100vh; }
.sidebar { position: fixed; inset: 0 auto 0 0; z-index: 20; width: 242px; display: flex; flex-direction: column; background: var(--sidebar); border-right: 1px solid var(--line); }
.brand { height: 74px; padding: 0 20px; display: flex; gap: 11px; align-items: center; color: var(--ink); text-decoration: none; border-bottom: 1px solid var(--line); }
.brand-mark { width: 38px; height: 38px; display: grid; place-items: center; color: #fff; background: linear-gradient(145deg, #258cec, #176bc1); border-radius: 10px; font-size: 13px; font-weight: 900; box-shadow: 0 6px 16px #1976d233; }
.brand > span:last-child { display: grid; }
.brand strong { letter-spacing: -.025em; font-size: 15px; }
.brand strong span { color: var(--blue); }
.brand small { margin-top: 2px; color: #8792a3; font-size: 9px; font-weight: 800; letter-spacing: .14em; }
.nav { padding: 17px 10px; }
.nav p { padding: 12px 12px 7px; color: #98a2b1; font-size: 10px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.nav a { position: relative; min-height: 43px; display: flex; align-items: center; gap: 11px; padding: 0 12px; border-radius: 8px; color: #596679; font-weight: 650; text-decoration: none; }
.nav a:hover { color: var(--ink); background: #f7f9fb; }
.nav a.active { color: var(--blue); background: var(--blue-soft); }
.nav a svg { width: 17px; }
.nav a b { margin-left: auto; min-width: 23px; padding: 2px 6px; color: var(--red); background: var(--red-soft); border-radius: 20px; font-size: 10px; text-align: center; }
.status-dot { margin-left: auto; width: 7px; height: 7px; background: var(--green); border-radius: 50%; box-shadow: 0 0 0 3px var(--green-soft); }
.side-health { margin: auto 14px 14px; padding: 14px; border: 1px solid var(--line); background: #fbfcfe; border-radius: 9px; }
.side-health > span { display: flex; align-items: center; gap: 7px; color: var(--green); font-size: 11px; font-weight: 800; text-transform: uppercase; letter-spacing: .04em; }
.side-health > div:nth-child(2) { margin-top: 14px; display: flex; justify-content: space-between; align-items: end; }
.side-health small { color: var(--muted); font-size: 11px; }
.side-health strong { font-size: 12px; }
.pulse { display: inline-block; width: 7px; height: 7px; background: var(--green); border-radius: 50%; box-shadow: 0 0 0 3px var(--green-soft); }
.meter { height: 4px; margin-top: 9px; overflow: hidden; background: #e4e9ef; border-radius: 5px; }
.meter i { display: block; height: 100%; background: var(--blue); }
.workspace { min-width: 0; margin-left: 242px; }
.topbar { position: sticky; top: 0; z-index: 10; height: 74px; display: flex; align-items: center; gap: 18px; padding: 0 28px; background: rgb(255 255 255 / 94%); border-bottom: 1px solid var(--line); backdrop-filter: blur(10px); }
.menu-button { display: none; width: 38px; height: 38px; place-items: center; border: 1px solid var(--line); background: #fff; border-radius: 8px; }
.search { width: min(585px, 55vw); height: 42px; display: flex; align-items: center; gap: 9px; padding: 0 12px; background: #f7f9fb; border: 1px solid var(--line); border-radius: 9px; }
.search:focus-within { border-color: #94bce7; box-shadow: 0 0 0 3px #1976d210; }
.search svg { width: 16px; color: #7a8798; }
.search input { width: 100%; border: 0; outline: 0; background: transparent; color: var(--ink); }
.search input::placeholder { color: #8591a2; }
kbd { padding: 2px 6px; color: #8b96a5; background: #fff; border: 1px solid var(--line); border-radius: 5px; font-size: 10px; }
.freshness { margin-left: auto; display: flex; align-items: center; gap: 8px; color: var(--muted); font-size: 12px; }
.freshness.stale .pulse { background: #e4a329; box-shadow: 0 0 0 3px #fff5de; }
main { width: min(1500px, 100%); margin: 0 auto; padding: 26px 28px 48px; }
.page-title { display: flex; align-items: flex-end; justify-content: space-between; gap: 20px; margin-bottom: 20px; }
.page-title h1 { font-size: 26px; letter-spacing: -.035em; }
.page-title p { margin-top: 5px; color: var(--muted); font-size: 13px; }
.page-title > span { display: flex; align-items: baseline; gap: 5px; padding: 8px 11px; color: var(--muted); border: 1px solid var(--line); background: #fff; border-radius: 8px; font-size: 11px; text-transform: uppercase; letter-spacing: .05em; }
.page-title > span strong { color: var(--ink); font-size: 18px; }
.page-title .health { color: var(--green); align-items: center; text-transform: none; letter-spacing: 0; }
.summary-strip { display: grid; grid-template-columns: repeat(5, 1fr); margin-bottom: 18px; overflow: hidden; border: 1px solid var(--line); background: var(--panel); border-radius: 10px; box-shadow: var(--shadow); }
.summary-strip > div { min-height: 96px; padding: 17px 20px; display: grid; border-right: 1px solid var(--line); }
.summary-strip > div:first-child { background: linear-gradient(135deg, #fff, #f4fbf8); }
.summary-strip > div:last-child { border: 0; }
.summary-strip strong { font-size: 25px; line-height: 1; letter-spacing: -.03em; }
.summary-strip span { margin-top: 7px; font-size: 11px; font-weight: 800; text-transform: uppercase; letter-spacing: .045em; }
.summary-strip small { margin-top: 3px; color: var(--muted); font-size: 11px; }
.tabs { width: max-content; margin-bottom: 14px; display: flex; padding: 4px; gap: 3px; background: #e9edf2; border-radius: 9px; }
.tabs a { min-height: 36px; display: flex; align-items: center; gap: 6px; padding: 0 14px; color: #667386; border-radius: 7px; font-size: 12px; font-weight: 750; text-decoration: none; }
.tabs a:hover { color: var(--ink); }
.tabs a.active { color: var(--blue); background: #fff; box-shadow: 0 1px 3px #1c2a3d19; }
.tabs a:first-child.active { color: var(--red); }
.tabs a > i { width: 6px; height: 6px; background: var(--red); border-radius: 50%; }
.tabs b { padding: 1px 5px; color: inherit; background: #dfe5ec; border-radius: 10px; font-size: 9px; }
.tabs .active b { background: #edf3fa; }
.panel { background: var(--panel); border: 1px solid var(--line); border-radius: 10px; box-shadow: var(--shadow); }
.match-layout { display: grid; grid-template-columns: 225px minmax(0, 1fr); gap: 14px; align-items: start; }
.league-rail { overflow: hidden; }
.panel-title { min-height: 50px; padding: 0 16px; display: flex; align-items: center; justify-content: space-between; border-bottom: 1px solid var(--line); }
.panel-title strong { font-size: 11px; letter-spacing: .06em; text-transform: uppercase; }
.panel-title span { color: var(--muted); font-size: 10px; text-transform: uppercase; }
.league-rail > a { min-height: 43px; padding: 0 14px; display: flex; align-items: center; gap: 9px; color: #536075; border-bottom: 1px solid #edf0f4; font-size: 12px; text-decoration: none; }
.league-rail > a.active { color: var(--blue); background: var(--blue-soft); font-weight: 750; }
.league-rail > a b { margin-left: auto; }
.league-rail > a:hover { background: #f7f9fc; }
.league-rail .rail-footer { min-height: 48px; color: var(--blue); font-weight: 700; border: 0; }
.globe { font-size: 18px; }
.flag { min-width: 30px; color: #718096; font-size: 9px; font-weight: 850; letter-spacing: .04em; }
.match-panel { overflow: hidden; }
.match-tools { min-height: 50px; padding: 0 16px; display: flex; align-items: center; justify-content: space-between; color: var(--muted); border-bottom: 1px solid var(--line); font-size: 11px; }
.match-tools > span { display: flex; align-items: center; gap: 6px; }
.match-tools svg { width: 14px; }
.match-head { min-height: 40px; display: grid; grid-template-columns: 90px minmax(270px, 1.25fr) minmax(125px, .65fr) 75px 130px; align-items: center; gap: 10px; padding: 0 16px; color: #8a95a5; background: #f8fafc; border-bottom: 1px solid var(--line); font-size: 10px; font-weight: 800; letter-spacing: .07em; text-transform: uppercase; }
.league-row { min-height: 38px; padding: 0 16px; display: flex; align-items: center; gap: 8px; color: #4d5b6e; background: #f1f4f7; border-bottom: 1px solid var(--line); font-size: 11px; }
.league-row > span:last-child { margin-left: auto; color: #8994a4; font-size: 9px; text-transform: uppercase; }
.match-row { min-height: 74px; padding: 9px 16px; display: grid; grid-template-columns: 90px minmax(270px, 1.25fr) minmax(125px, .65fr) 75px 130px; align-items: center; gap: 10px; border-bottom: 1px solid #edf0f4; }
.match-row:last-child { border-bottom: 0; }
.match-row:hover { background: #fbfcfe; }
.match-row.live { box-shadow: inset 3px 0 var(--red); }
.match-row.model-pick { background: linear-gradient(90deg, rgba(40, 126, 220, .055), transparent 65%); box-shadow: inset 3px 0 var(--blue); }
.match-row.live.model-pick { box-shadow: inset 3px 0 var(--red); }
.pick-count { color: var(--blue); }
.match-time { display: grid; align-content: center; justify-items: start; gap: 5px; }
.match-time time { font-size: 13px; font-weight: 800; font-variant-numeric: tabular-nums; }
.match-time > span { color: #8a95a5; font-size: 9px; font-weight: 800; text-transform: uppercase; }
.match-time .live-label { color: var(--red); display: flex; align-items: center; gap: 5px; }
.live-label i, .live-chip i { width: 5px; height: 5px; background: currentColor; border-radius: 50%; }
.players { padding-right: 24px; }
.player { min-height: 28px; display: flex; align-items: center; gap: 6px; }
.player-name { min-width: 0; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; font-weight: 650; text-decoration: none; }
.player-name:hover { color: var(--blue); text-decoration: underline; text-underline-offset: 2px; }
.player b { min-width: 18px; margin-left: auto; color: #8994a4; text-align: right; font-variant-numeric: tabular-nums; }
.player.winner { color: var(--green); }
.player.winner b { color: inherit; }
.player-odds { padding: 4px 5px; color: #596679; background: #f1f3f6; border: 1px solid transparent; border-radius: 5px; font-size: 10px; font-weight: 800; text-align: center; font-variant-numeric: tabular-nums; }
.player-odds.favorite-price { color: #855900; background: #fffaf0; border-color: #d9ad43; }
.player-odds.unavailable { color: #a4abb5; background: transparent; }
.sets { display: flex; flex-wrap: wrap; gap: 4px; }
.sets span { min-width: 32px; padding: 5px 4px; color: #536176; background: #f0f3f7; border-radius: 5px; font-size: 10px; text-align: center; font-variant-numeric: tabular-nums; }
.sets em { color: #98a1ad; font-size: 10px; font-style: normal; }
.total-line { display: flex; align-items: baseline; justify-content: flex-end; gap: 5px; color: var(--muted); font-variant-numeric: tabular-nums; }
.total-line small { color: var(--blue); font-size: 9px; font-weight: 800; }
.total-line strong { color: #3c4a5e; font-size: 13px; }
.total-line > span { color: #a4abb5; }
.match-model { display: grid; grid-template-columns: auto 1fr; align-items: center; gap: 2px 7px; }
.match-model > span:first-child { display: flex; align-items: baseline; gap: 4px; }
.match-model > span strong { font-size: 15px; font-variant-numeric: tabular-nums; }
.match-model > span small, .match-model .model-edge { color: var(--muted); font-size: 8px; text-transform: uppercase; }
.match-model b, .match-model em { width: max-content; padding: 4px 7px; border-radius: 5px; font-size: 9px; font-style: normal; font-weight: 800; }
.match-model b { color: #fff; background: var(--blue); }
.match-model em { color: #687588; background: #edf1f5; }
.match-model .model-edge { grid-column: 1 / -1; color: var(--green); font-weight: 800; }
.match-model.muted { opacity: .58; }
.model-awaiting { color: #9aa4b1; font-size: 9px; }
.empty { min-height: 300px; display: grid; place-content: center; justify-items: center; color: var(--muted); text-align: center; }
.empty svg { width: 26px; height: 26px; margin-bottom: 12px; color: #94a0b0; }
.empty strong { color: var(--ink); }
.empty p { margin-top: 5px; font-size: 12px; }
.directory { overflow: hidden; }
.directory-head, .directory-row { display: grid; align-items: center; }
.player-cols { grid-template-columns: minmax(240px, 1fr) 100px 100px 110px 150px; }
.directory-head { min-height: 38px; padding: 0 18px; color: #8a95a5; background: #f8fafc; border-bottom: 1px solid var(--line); font-size: 10px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.directory-row { min-height: 64px; padding: 0 18px; border-bottom: 1px solid #edf0f4; }
.entity { display: flex; align-items: center; gap: 10px; }
.entity > i { width: 34px; height: 34px; display: grid; place-items: center; color: var(--blue); background: var(--blue-soft); border-radius: 50%; font-size: 10px; font-style: normal; font-weight: 800; }
.entity div { display: grid; gap: 2px; }
.entity a { text-decoration: none; }
.entity a:hover { color: var(--blue); text-decoration: underline; text-underline-offset: 2px; }
.entity small, .directory-row time { color: var(--muted); font-size: 10px; }
.directory-row .rate { color: var(--green); font-weight: 750; }
.back-link { display: inline-block; margin-bottom: 14px; color: var(--blue); font-size: 12px; font-weight: 750; text-decoration: none; }
.player-title > div:first-child { display: flex; align-items: center; gap: 13px; }
.player-avatar { width: 46px; height: 46px; display: grid; place-items: center; color: var(--blue); background: var(--blue-soft); border-radius: 50%; font-size: 13px; font-weight: 850; }
.player-summary { grid-template-columns: repeat(4, 1fr); }
.player-history { overflow: hidden; }
.profile-match-head, .profile-match-row { display: grid; grid-template-columns: 135px minmax(170px, 1fr) minmax(170px, 1fr) 95px 85px 65px; align-items: center; gap: 14px; padding-inline: 16px; }
.profile-match-head { min-height: 40px; color: #8a95a5; background: #f8fafc; border-bottom: 1px solid var(--line); font-size: 10px; font-weight: 800; letter-spacing: .07em; text-transform: uppercase; }
.profile-match-row { min-height: 62px; border-bottom: 1px solid #edf0f4; }
.profile-match-row:last-child { border-bottom: 0; }
.profile-match-row > div:first-child { display: grid; gap: 3px; }
.profile-match-row time { font-weight: 750; }
.profile-match-row small, .profile-match-row > span { color: var(--muted); font-size: 11px; }
.profile-match-row > a { font-weight: 700; text-decoration: none; }
.profile-match-row > a:hover { color: var(--blue); text-decoration: underline; text-underline-offset: 2px; }
.profile-result { display: flex; align-items: center; gap: 7px; }
.profile-result b { min-width: 28px; padding: 3px 5px; color: #fff; background: var(--muted); border-radius: 5px; font-size: 9px; text-align: center; }
.profile-result b.win { background: var(--green); }
.profile-result b.loss { background: var(--red); }
.profile-result b.scheduled { width: max-content; color: #667386; background: #edf1f5; }
.profile-price { width: 48px; display: inline-block; }
.league-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
.league-card { padding: 18px; background: #fff; border: 1px solid var(--line); border-radius: 10px; box-shadow: var(--shadow); }
.league-card > div:first-child { display: flex; justify-content: space-between; }
.live-chip { display: flex; align-items: center; gap: 5px; padding: 3px 7px; color: var(--red); background: var(--red-soft); border-radius: 12px; font-size: 9px; font-weight: 800; }
.league-card h2 { margin-top: 18px; font-size: 16px; }
.league-card dl { margin: 17px 0; padding: 13px 0; display: grid; grid-template-columns: repeat(3, 1fr); border-block: 1px solid var(--line); }
.league-card dl div { display: grid; gap: 3px; }
.league-card dt { font-size: 17px; font-weight: 800; }
.league-card dd { margin: 0; color: var(--muted); font-size: 9px; text-transform: uppercase; }
.league-card a { color: var(--blue); font-size: 11px; font-weight: 750; text-decoration: none; }
.collector-summary { grid-template-columns: repeat(5, 1fr); }
.workers { overflow: hidden; }
.worker { min-height: 67px; padding: 0 18px; display: grid; grid-template-columns: 38px minmax(210px, 1fr) 150px 80px 90px; align-items: center; gap: 12px; border-bottom: 1px solid #edf0f4; }
.worker-icon { width: 32px; height: 32px; display: grid; place-items: center; color: var(--blue); background: var(--blue-soft); border-radius: 7px; }
.worker-icon svg { width: 16px; }
.worker > div { display: grid; gap: 3px; }
.worker small, .worker > span, .worker time { color: var(--muted); font-size: 10px; }
.worker-state { width: max-content; padding: 3px 7px; border-radius: 10px; background: #f1f3f6; }
.worker-state.ok { color: var(--green); background: var(--green-soft); }
.worker.disabled { opacity: .55; }
.notice { margin-bottom: 16px; padding: 13px 16px; display: flex; gap: 10px; align-items: flex-start; color: #385a7b; background: #eef6ff; border: 1px solid #cfe2f8; border-radius: 9px; }
.notice svg { flex: 0 0 auto; width: 17px; }
.notice p { margin-top: 3px; color: #66819b; font-size: 11px; }
.draft { color: var(--blue)!important; background: var(--blue-soft)!important; border-color: #cde1f7!important; }
.research-board { overflow: hidden; }
.research-head, .research-row { display: grid; grid-template-columns: minmax(210px, 1.35fr) minmax(145px, .8fr) minmax(220px, 1.15fr) 105px minmax(130px, .75fr); align-items: center; gap: 16px; padding-inline: 16px; }
.research-head { min-height: 40px; color: #8a95a5; background: #f8fafc; border-bottom: 1px solid var(--line); font-size: 10px; font-weight: 800; letter-spacing: .07em; text-transform: uppercase; }
.research-row { min-height: 88px; border-bottom: 1px solid #edf0f4; }
.research-row:last-child { border-bottom: 0; }
.research-row:hover { background: #fbfcfe; }
.research-match { display: grid; grid-template-columns: 62px minmax(0, 1fr); gap: 3px 8px; align-items: center; }
.research-match time { grid-row: 1 / 4; color: var(--blue); font-size: 12px; font-weight: 800; }
.research-match small { overflow: hidden; color: var(--muted); font-size: 9px; white-space: nowrap; text-overflow: ellipsis; }
.research-match a { overflow: hidden; font-size: 12px; font-weight: 700; text-decoration: none; white-space: nowrap; text-overflow: ellipsis; }
.research-match a:hover { color: var(--blue); }
.research-form { display: grid; gap: 7px; }
.research-form span { display: flex; align-items: baseline; gap: 8px; }
.research-form b { min-width: 34px; font-size: 12px; font-variant-numeric: tabular-nums; }
.research-form small, .research-length small, .research-signal small { color: var(--muted); font-size: 9px; }
.research-prob { display: grid; grid-template-columns: repeat(3, 1fr); gap: 7px; }
.research-prob span { display: grid; gap: 3px; padding: 7px; background: #f5f7fa; border-radius: 6px; }
.research-prob small { color: var(--muted); font-size: 8px; text-transform: uppercase; }
.research-prob b { font-size: 12px; font-variant-numeric: tabular-nums; }
.research-prob .positive b { color: var(--green); }
.research-prob .negative b { color: var(--red); }
.research-length, .research-signal { display: grid; gap: 5px; }
.research-length b { font-size: 17px; }
.signal-chip { width: max-content; max-width: 100%; padding: 5px 8px; overflow: hidden; color: #fff; background: var(--blue); border-radius: 6px; font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
.signal-chip.no-bet { color: #697588; background: #edf1f5; }
.strategy-controls { margin-bottom: 16px; padding: 15px; display: grid; grid-template-columns: repeat(5, minmax(120px, 1fr)) auto; align-items: end; gap: 12px; }
.strategy-controls label { display: grid; gap: 6px; color: var(--muted); font-size: 9px; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; }
.strategy-controls select { height: 38px; padding: 0 9px; color: var(--ink); background: #f8fafc; border: 1px solid var(--line-strong); border-radius: 7px; }
.strategy-controls button { height: 38px; padding: 0 16px; color: #fff; background: var(--blue); border: 0; border-radius: 7px; font-size: 11px; font-weight: 800; cursor: pointer; }
.strategy-summary { grid-template-columns: repeat(4, 1fr); }
.model-comparison { margin-bottom: 16px; overflow: hidden; }
.model-grid { display: grid; grid-template-columns: repeat(4, 1fr); }
.model-card { min-width: 0; padding: 16px; border-right: 1px solid var(--line); }
.model-card:last-child { border-right: 0; }
.model-card.primary { background: linear-gradient(145deg, #f2f7ff, #fff); box-shadow: inset 0 3px var(--blue); }
.model-card header { display: flex; align-items: flex-start; justify-content: space-between; gap: 8px; }
.model-card header small { color: #8a95a5; font-size: 8px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.model-card h2 { margin: 4px 0 0; font-size: 14px; }
.model-card header > span { padding: 4px 7px; color: var(--blue); background: #edf5ff; border-radius: 12px; font-size: 9px; font-weight: 800; white-space: nowrap; }
.model-card p { min-height: 30px; margin: 9px 0 13px; color: var(--muted); font-size: 10px; line-height: 1.45; }
.model-metrics { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; }
.model-metrics span { display: grid; gap: 2px; }
.model-metrics small { color: #929cab; font-size: 8px; font-weight: 700; text-transform: uppercase; }
.model-metrics b { font-size: 13px; }
.model-bar { height: 4px; margin-top: 12px; overflow: hidden; background: #e8edf4; border-radius: 4px; }
.model-bar i { display: block; height: 100%; background: var(--blue); border-radius: inherit; }
.metric-positive { color: var(--green)!important; }
.metric-negative { color: var(--red)!important; }
.strategy-breakdowns { margin-bottom: 16px; display: grid; grid-template-columns: 1fr 1.4fr; gap: 14px; align-items: start; }
.strategy-breakdowns .panel { overflow: hidden; }
.breakdown-row { min-height: 45px; padding: 0 16px; display: grid; grid-template-columns: minmax(70px, 1fr) 65px 60px 65px; align-items: center; gap: 10px; border-bottom: 1px solid #edf0f4; font-size: 11px; }
.breakdown-row:last-child { border-bottom: 0; }
.breakdown-row span { color: var(--muted); }
.league-breakdown { grid-template-columns: minmax(150px, 1fr) 65px 60px 65px; }
.empty.compact { min-height: 120px; }
.strategy-results { overflow: hidden; }
.strategy-result-head, .strategy-result-row { display: grid; grid-template-columns: 105px minmax(210px, 1.3fr) minmax(130px, 1fr) 100px 55px 55px 60px; align-items: center; gap: 12px; padding-inline: 16px; }
.strategy-result-head { min-height: 40px; color: #8a95a5; background: #f8fafc; border-bottom: 1px solid var(--line); font-size: 9px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.strategy-result-row { min-height: 56px; border-bottom: 1px solid #edf0f4; font-size: 11px; }
.strategy-result-row > span, .strategy-result-row time { color: var(--muted); }
.result-win { color: var(--green); }
.result-loss { color: var(--red); }
.result-push { color: var(--muted); }
.record-tabs { margin-bottom: 14px; }
.account-policy { margin-bottom: 14px; padding: 14px 16px; display: flex; align-items: center; gap: 10px; }
.account-policy > div { margin-right: auto; display: grid; gap: 3px; }
.account-policy > div small { color: var(--muted); font-size: 10px; }
.account-policy > span { padding: 6px 9px; color: #49647f; background: #eef5fc; border-radius: 14px; font-size: 9px; font-weight: 800; text-transform: uppercase; letter-spacing: .035em; }
.bankroll-controls { margin-bottom: 14px; padding: 14px 16px; display: grid; grid-template-columns: minmax(190px, 1fr) 155px 135px auto; align-items: end; gap: 14px; }
.bankroll-controls > div { align-self: center; display: grid; gap: 3px; }
.bankroll-controls > div small { color: var(--muted); font-size: 10px; }
.bankroll-controls label { position: relative; display: grid; gap: 5px; color: var(--muted); font-size: 9px; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; }
.bankroll-controls input { width: 100%; height: 36px; padding: 0 10px; color: var(--ink); background: #f8fafc; border: 1px solid var(--line-strong); border-radius: 7px; }
.bankroll-controls label i { position: absolute; right: 10px; bottom: 10px; color: var(--muted); font-size: 10px; font-style: normal; }
.bankroll-controls button { height: 36px; padding: 0 15px; color: #fff; background: var(--blue); border: 0; border-radius: 7px; font-size: 11px; font-weight: 800; cursor: pointer; }
.bankroll-card { margin-bottom: 16px; overflow: hidden; }
.bankroll-metrics { display: grid; grid-template-columns: repeat(4, 1fr); border-bottom: 1px solid var(--line); }
.bankroll-metrics > div { min-height: 88px; padding: 15px 18px; display: grid; align-content: center; gap: 5px; border-right: 1px solid var(--line); }
.bankroll-metrics > div:last-child { border-right: 0; }
.bankroll-metrics small { color: var(--muted); font-size: 9px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.bankroll-metrics strong { font-size: 22px; letter-spacing: -.025em; }
.bankroll-metrics span { color: var(--muted); font-size: 10px; }
.bankroll-chart { position: relative; height: 210px; padding: 18px 20px 5px; background: linear-gradient(#fff, #fbfcfe); }
.bankroll-chart svg { width: 100%; height: 100%; overflow: visible; }
.bankroll-chart svg line { stroke: #dfe5ec; stroke-width: .4; stroke-dasharray: 2 2; }
.bankroll-chart svg polygon { fill: url(#bankroll-fill); stroke: none; }
.bankroll-chart svg polyline { fill: none; stroke: var(--blue); stroke-width: 1.4; vector-effect: non-scaling-stroke; }
.bankroll-chart > div { position: absolute; inset: 0; display: grid; place-content: center; gap: 4px; color: var(--muted); text-align: center; }
.bankroll-chart > div strong { color: var(--ink); }
.bankroll-chart > div small { font-size: 10px; }
.bankroll-note { padding: 0 18px 14px; color: var(--muted); font-size: 10px; line-height: 1.5; }
.staking-grid { margin-bottom: 10px; display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
.staking-card { min-width: 0; overflow: hidden; }
.staking-card header { padding: 16px 16px 0; display: flex; justify-content: space-between; gap: 10px; }
.staking-card header > div { display: grid; gap: 3px; }
.staking-card header small { color: #8a95a5; font-size: 8px; font-weight: 800; letter-spacing: .07em; text-transform: uppercase; }
.staking-card header h2 { font-size: 16px; }
.staking-card header > span { height: max-content; padding: 4px 7px; color: var(--blue); background: var(--blue-soft); border-radius: 12px; font-size: 8px; font-weight: 800; white-space: nowrap; }
.staking-card > p { min-height: 28px; margin: 8px 16px 10px; color: var(--muted); font-size: 10px; }
.staking-balance { padding: 0 16px; display: flex; align-items: baseline; justify-content: space-between; gap: 8px; }
.staking-balance strong { font-size: 25px; letter-spacing: -.035em; }
.staking-balance span { font-size: 10px; font-weight: 750; }
.staking-stats { margin: 12px 16px 0; padding-top: 10px; display: grid; grid-template-columns: 1fr 1fr; border-top: 1px solid var(--line); }
.staking-stats span { display: grid; gap: 3px; }
.staking-stats small { color: var(--muted); font-size: 8px; text-transform: uppercase; }
.staking-stats b { font-size: 11px; }
.staking-chart { position: relative; height: 78px; margin-top: 7px; background: linear-gradient(#fff, #f8fbff); }
.staking-chart svg { width: 100%; height: 100%; padding: 5px 12px 0; }
.staking-chart svg line { stroke: #e2e7ed; stroke-width: .5; stroke-dasharray: 2 2; }
.staking-chart svg polygon { fill: #1976d21b; stroke: none; }
.staking-chart svg polyline { fill: none; stroke: var(--blue); stroke-width: 1.35; vector-effect: non-scaling-stroke; }
.staking-card.quarter_kelly .staking-chart svg polyline { stroke: var(--green); }
.staking-card.quarter_kelly .staking-chart svg polygon { fill: #1599681b; }
.staking-chart > span { position: absolute; inset: 0; display: grid; place-items: center; color: var(--muted); font-size: 9px; font-weight: 750; }
.bankroll-note.standalone { margin: 0 0 16px; padding: 0 3px; }
.model-ledger { margin-bottom: 16px; overflow: hidden; }
.model-ledger-head, .model-ledger-row { padding-inline: 16px; display: grid; grid-template-columns: minmax(190px, 1.4fr) 120px repeat(3, minmax(85px, .65fr)); align-items: center; gap: 12px; }
.model-ledger-head { min-height: 38px; color: #8a95a5; background: #f8fafc; border-bottom: 1px solid var(--line); font-size: 9px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.model-ledger-row { min-height: 62px; border-bottom: 1px solid #edf0f4; }
.model-ledger-row > div { display: grid; gap: 3px; }
.model-ledger-row small { color: var(--muted); font-size: 9px; }
.model-ledger-row b { font-size: 11px; }
.record-summary { grid-template-columns: repeat(4, 1fr); }
.record-board { overflow: hidden; }
.record-head, .record-row { display: grid; grid-template-columns: 125px 130px minmax(190px, 1fr) minmax(110px, .7fr) 150px 80px; align-items: center; gap: 12px; padding-inline: 16px; }
.record-head { min-height: 40px; color: #8a95a5; background: #f8fafc; border-bottom: 1px solid var(--line); font-size: 9px; font-weight: 800; letter-spacing: .07em; text-transform: uppercase; }
.record-row { min-height: 68px; border-bottom: 1px solid #edf0f4; font-size: 11px; }
.record-row > div { display: grid; gap: 3px; }
.record-row small, .record-row > span { color: var(--muted); font-size: 9px; }
.record-sets { display: flex!important; flex-flow: row wrap; gap: 3px!important; }
.record-sets i { padding: 3px 4px; color: #596679; background: #eef2f6; border-radius: 4px; font-size: 9px; font-style: normal; }
.record-result b { width: max-content; padding: 4px 7px; color: #fff; background: var(--muted); border-radius: 5px; font-size: 9px; }
.record-result.win b { background: var(--green); }
.record-result.loss b { background: var(--red); }
.window-summary { grid-template-columns: repeat(4, 1fr); }
.window-board { overflow: hidden; }
.window-head, .window-row { display: grid; grid-template-columns: minmax(260px, 1.5fr) 80px 75px 75px 75px 80px minmax(145px, .8fr); align-items: center; gap: 12px; padding-inline: 16px; }
.window-head { min-height: 40px; color: #8a95a5; background: #f8fafc; border-bottom: 1px solid var(--line); font-size: 9px; font-weight: 800; letter-spacing: .07em; text-transform: uppercase; }
.window-row { min-height: 72px; border-bottom: 1px solid #edf0f4; }
.window-row.stable { background: linear-gradient(90deg, rgba(30, 153, 109, .07), transparent 62%); box-shadow: inset 3px 0 var(--green); }
.window-row.sensitive { box-shadow: inset 3px 0 #d59a24; }
.window-match { display: grid; grid-template-columns: 58px minmax(0, 1fr); align-items: center; gap: 8px; }
.window-match time { color: var(--blue); font-weight: 800; }
.window-match span { min-width: 0; display: grid; gap: 3px; }
.window-match small, .window-market small, .window-range small, .window-consensus small { overflow: hidden; color: var(--muted); font-size: 9px; text-overflow: ellipsis; white-space: nowrap; }
.window-match b { overflow: hidden; font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
.window-market, .window-range, .window-consensus { display: grid; gap: 3px; }
.window-market b { font-size: 14px; }
.window-prob { display: grid; gap: 5px; }
.window-prob b { font-size: 14px; font-variant-numeric: tabular-nums; }
.window-prob span { height: 3px; overflow: hidden; background: #e7ecf2; border-radius: 3px; }
.window-prob i { display: block; height: 100%; background: var(--blue); }
.window-range b { font-size: 11px; }
.window-consensus b { width: max-content; max-width: 100%; padding: 4px 7px; overflow: hidden; color: #697588; background: #edf1f5; border-radius: 5px; font-size: 9px; text-overflow: ellipsis; white-space: nowrap; }
.window-row.stable .window-consensus b { color: var(--green); background: var(--green-soft); }
.window-row.sensitive .window-consensus b { color: #8a5b00; background: #fff5db; }
.scrim { display: none; }
@media (max-width: 1100px) {
  .summary-strip { grid-template-columns: repeat(3, 1fr); }
  .summary-strip > div { border-bottom: 1px solid var(--line); }
  .match-layout { grid-template-columns: 185px minmax(0, 1fr); }
  .match-head, .match-row { grid-template-columns: 75px minmax(185px, 1fr) 110px 110px 70px; }
  .league-grid { grid-template-columns: repeat(2, 1fr); }
  .window-head, .window-row { grid-template-columns: minmax(230px, 1.4fr) 70px repeat(3, 65px) minmax(130px, .8fr); }
  .window-head > :nth-child(6), .window-row > :nth-child(6) { display: none; }
  .research-head, .research-row { grid-template-columns: minmax(190px, 1.2fr) 130px minmax(205px, 1fr) 120px; }
  .research-head > :nth-child(4), .research-row > :nth-child(4) { display: none; }
  .strategy-controls { grid-template-columns: repeat(3, 1fr); }
  .bankroll-controls { grid-template-columns: minmax(180px, 1fr) 140px 125px auto; }
  .staking-grid { grid-template-columns: 1fr 1fr; }
  .staking-card:last-child { grid-column: 1 / -1; }
  .model-grid { grid-template-columns: repeat(2, 1fr); }
  .model-card:nth-child(2) { border-right: 0; }
  .model-card:nth-child(-n+2) { border-bottom: 1px solid var(--line); }
  .strategy-result-head, .strategy-result-row { grid-template-columns: 95px minmax(180px, 1fr) 90px 50px 55px; }
  .strategy-result-head > :nth-child(3), .strategy-result-row > :nth-child(3), .strategy-result-head > :nth-child(5), .strategy-result-row > :nth-child(5) { display: none; }
  .record-head, .record-row { grid-template-columns: 110px minmax(180px, 1fr) 130px 75px; }
  .record-head > :nth-child(2), .record-row > :nth-child(2), .record-head > :nth-child(4), .record-row > :nth-child(4) { display: none; }
}
@media (max-width: 800px) {
  .sidebar { transform: translateX(-100%); transition: transform .2s ease; box-shadow: 8px 0 30px #17202d1a; }
  .sidebar.open { transform: translateX(0); }
  .workspace { margin-left: 0; }
  .menu-button { display: grid; }
  .scrim.show { position: fixed; inset: 0; z-index: 15; display: block; background: #17202d66; }
  .freshness { display: none; }
  .search { width: 100%; }
  .match-layout { grid-template-columns: 1fr; }
  .league-rail { display: none; }
}
@media (max-width: 620px) {
  .topbar { padding: 0 14px; }
  main { padding: 20px 12px 40px; }
  .page-title { align-items: flex-start; }
  .page-title > span { display: none; }
  .summary-strip { grid-template-columns: repeat(2, 1fr); }
  .summary-strip > div { min-height: 85px; padding: 14px; }
  .summary-strip strong { font-size: 21px; }
  .tabs { width: 100%; overflow-x: auto; }
  .tabs a { flex: 1 0 auto; justify-content: center; }
  .match-head { display: none; }
  .match-row { grid-template-columns: 65px minmax(185px, 1fr) 110px; padding: 9px 12px; }
  .sets { display: none; }
  .players { padding-right: 8px; }
  .player { gap: 5px; }
  .total-line { display: none; }
  .match-model { grid-column: 3; }
  .player-cols { grid-template-columns: 1fr 65px 75px; }
  .player-cols > :nth-child(3), .player-cols > :nth-child(5) { display: none; }
  .directory-row { padding: 0 12px; }
  .league-grid { grid-template-columns: 1fr; }
  .window-summary { grid-template-columns: repeat(2, 1fr); }
  .record-summary { grid-template-columns: repeat(2, 1fr); }
  .bankroll-controls { grid-template-columns: 1fr 1fr; }
  .account-policy { align-items: flex-start; flex-wrap: wrap; }
  .account-policy > div { flex-basis: 100%; }
  .bankroll-controls > div { grid-column: 1 / -1; }
  .bankroll-controls button { grid-column: 1 / -1; }
  .bankroll-metrics { grid-template-columns: repeat(2, 1fr); }
  .bankroll-metrics > div:nth-child(2) { border-right: 0; }
  .bankroll-metrics > div:nth-child(-n+2) { border-bottom: 1px solid var(--line); }
  .bankroll-chart { height: 165px; }
  .staking-grid { grid-template-columns: 1fr; }
  .staking-card:last-child { grid-column: auto; }
  .model-ledger-head, .model-ledger-row { grid-template-columns: minmax(150px, 1fr) repeat(3, 68px); }
  .model-ledger-head > :nth-child(2), .model-ledger-row > :nth-child(2) { display: none; }
  .record-head { display: none; }
  .record-row { grid-template-columns: 95px minmax(160px, 1fr) 70px; padding: 10px 12px; }
  .record-row > :nth-child(5) { display: none; }
  .window-head { display: none; }
  .window-row { grid-template-columns: minmax(180px, 1fr) repeat(3, 52px); gap: 8px; padding: 10px 12px; }
  .window-row > :nth-child(2), .window-row > :nth-child(6), .window-row > :nth-child(7) { display: none; }
  .worker { grid-template-columns: 36px minmax(150px, 1fr) 70px; padding: 8px 12px; }
  .worker > span:nth-of-type(2), .worker time { display: none; }
  .collector-summary { grid-template-columns: repeat(2, 1fr); }
  .research-head { display: none; }
  .research-row { grid-template-columns: 1fr; gap: 10px; padding-block: 13px; }
  .research-row > * { display: grid!important; }
  .strategy-controls { grid-template-columns: 1fr 1fr; }
  .model-grid { grid-template-columns: 1fr; }
  .model-card { border-right: 0; border-bottom: 1px solid var(--line); }
  .model-card:last-child { border-bottom: 0; }
  .strategy-controls button { grid-column: 1 / -1; }
  .strategy-summary { grid-template-columns: repeat(2, 1fr); }
  .strategy-breakdowns { grid-template-columns: 1fr; }
  .strategy-result-head { display: none; }
  .strategy-result-row { grid-template-columns: 90px 1fr 60px; padding-block: 10px; }
  .strategy-result-row > :nth-child(3), .strategy-result-row > :nth-child(5), .strategy-result-row > :nth-child(7) { display: none; }
  .player-summary { grid-template-columns: repeat(2, 1fr); }
  .profile-match-head, .profile-match-row { grid-template-columns: 105px minmax(150px, 1fr) 75px 55px; }
  .profile-match-head > :nth-child(3), .profile-match-row > :nth-child(3), .profile-match-head > :nth-child(6), .profile-match-row > :nth-child(6) { display: none; }
}
