:root{
  color-scheme: dark;
  --plane:#0d0d0d;
  --surface:#1a1a19;
  --surface-2:#232322;
  --ink:#ffffff;
  --ink-2:#c3c2b7;
  --ink-muted:#898781;
  --grid:#2c2c2a;
  --axis:#383835;
  --ring:rgba(255,255,255,0.10);
  --seq-100:#cde2fb; --seq-250:#86b6ef; --seq-350:#5598e7;
  --seq-400:#3987e5; --seq-500:#256abf; --seq-600:#184f95;
  --accent:#3987e5;
  --good:#0ca30c; --warning:#fab219; --serious:#ec835a; --critical:#d03b3b;
  --track:#2c2c2a;
}
:root[data-theme="light"]{
  color-scheme: light;
  --plane:#f9f9f7;
  --surface:#fcfcfb;
  --surface-2:#f2f1ed;
  --ink:#0b0b0b;
  --ink-2:#52514e;
  --ink-muted:#898781;
  --grid:#e1e0d9;
  --axis:#c3c2b7;
  --ring:rgba(11,11,11,0.10);
  --seq-100:#cde2fb; --seq-250:#86b6ef; --seq-350:#5598e7;
  --seq-400:#3987e5; --seq-500:#256abf; --seq-600:#184f95;
  --accent:#2a78d6;
  --track:#e1e0d9;
}
:root{
  --car-1:#ffffff; --car-1-ink:#0b0b0b;
  --car-2:#111111; --car-2-ink:#ffffff;
  --car-3:#e03131; --car-3-ink:#ffffff;
  --car-4:#1971c2; --car-4-ink:#ffffff;
  --car-5:#f0c000; --car-5-ink:#0b0b0b;
  --car-6:#2f9e44; --car-6-ink:#ffffff;
  --car-7:#f76707; --car-7-ink:#ffffff;
  --car-8:#f783ac; --car-8-ink:#0b0b0b;
  --car-9:#9c36b5; --car-9-ink:#ffffff;
}
*{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent}
body{
  background:var(--plane);color:var(--ink);
  font-family:system-ui,-apple-system,"Segoe UI",sans-serif;
  font-size:15px;line-height:1.5;
  padding:0 0 env(safe-area-inset-bottom);
  -webkit-font-smoothing:antialiased;
}
.app{max-width:430px;margin:0 auto;padding:0 14px 64px}
header{
  position:sticky;top:0;z-index:20;background:var(--plane);
  padding:14px 0 10px;display:flex;align-items:baseline;gap:10px;
  border-bottom:1px solid var(--grid);margin-bottom:14px;
}
.logo{font-size:13px;font-weight:700;letter-spacing:.14em;color:var(--ink-muted)}
.today{font-size:19px;font-weight:700;letter-spacing:-.01em}
.dow{font-size:13px;color:var(--ink-2)}
.spacer{flex:1}
.tbtn{
  background:var(--surface-2);color:var(--ink-2);border:1px solid var(--ring);
  border-radius:999px;padding:6px 11px;font-size:12px;font-weight:600;cursor:pointer;
  min-height:32px;
}
.mockbar{
  background:var(--surface-2);border:1px solid var(--ring);border-radius:8px;
  padding:7px 10px;font-size:11.5px;color:var(--ink-muted);margin-bottom:14px;
}
.card{background:var(--surface);border:1px solid var(--ring);border-radius:14px;padding:14px;margin-bottom:14px}
.card-h{display:flex;align-items:center;gap:8px;margin-bottom:12px}
.card-t{font-size:12px;font-weight:700;letter-spacing:.09em;color:var(--ink-muted)}
.card-sub{font-size:11.5px;color:var(--ink-muted);margin-left:auto}
.car{
  width:24px;height:24px;flex:none;border-radius:7px;display:grid;place-items:center;
  font-size:13px;font-weight:800;font-variant-numeric:tabular-nums;
  box-shadow:inset 0 0 0 1.5px color-mix(in srgb, currentColor 32%, transparent);
}
.car.sm{width:19px;height:19px;font-size:11px;border-radius:6px;box-shadow:inset 0 0 0 1.25px color-mix(in srgb, currentColor 32%, transparent)}
.car-1{background:var(--car-1);color:var(--car-1-ink)}
.car-2{background:var(--car-2);color:var(--car-2-ink)}
.car-3{background:var(--car-3);color:var(--car-3-ink)}
.car-4{background:var(--car-4);color:var(--car-4-ink)}
.car-5{background:var(--car-5);color:var(--car-5-ink)}
.car-6{background:var(--car-6);color:var(--car-6-ink)}
.car-7{background:var(--car-7);color:var(--car-7-ink)}
.car-8{background:var(--car-8);color:var(--car-8-ink)}
.car-9{background:var(--car-9);color:var(--car-9-ink)}
.kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin-bottom:14px}
.kpi{background:var(--surface);border:1px solid var(--ring);border-radius:12px;padding:11px 10px}
.kpi-l{font-size:10.5px;color:var(--ink-muted);font-weight:600;letter-spacing:.05em}
.kpi-v{font-size:25px;font-weight:800;letter-spacing:-.03em;margin-top:2px;line-height:1}
.kpi-u{font-size:11px;color:var(--ink-muted);font-weight:600;margin-left:2px}
.kpi-d{font-size:11px;margin-top:4px;color:var(--ink-2)}
.meter{display:block;height:8px;border-radius:999px;background:var(--track);overflow:hidden;position:relative}
.meter>i{display:block;height:100%;border-radius:999px}
.meter-lg{height:10px}
.m-low>i{background:var(--seq-250)}
.m-mid>i{background:var(--seq-400)}
.m-high>i{background:var(--seq-600)}
.m-legend{display:flex;gap:12px;font-size:11px;color:var(--ink-muted);margin-top:9px;flex-wrap:wrap}
.m-legend span{display:flex;align-items:center;gap:5px}
.sw{width:11px;height:11px;border-radius:3px;display:inline-block;box-shadow:inset 0 0 0 1px var(--ring)}
.ev-tag,.edge-tag{
  font-size:12px;font-weight:800;font-variant-numeric:tabular-nums;
  padding:3px 8px;border-radius:7px;display:flex;align-items:center;gap:4px;flex:none;
}
.ev-good,.edge-hi{background:rgba(12,163,12,.16);color:var(--good);box-shadow:inset 0 0 0 1px rgba(12,163,12,.4)}
.ev-warn,.edge-mid{background:rgba(250,178,25,.14);color:var(--warning);box-shadow:inset 0 0 0 1px rgba(250,178,25,.35)}
.ev-none,.edge-no{background:var(--surface-2);color:var(--ink-muted);box-shadow:inset 0 0 0 1px var(--ring)}
.factors{display:flex;flex-wrap:wrap;gap:6px;margin-top:11px}
.f{font-size:11.5px;font-weight:600;background:var(--surface-2);border:1px solid var(--ring);border-radius:999px;padding:4px 9px;color:var(--ink-2)}
.f b{color:var(--ink);font-variant-numeric:tabular-nums;margin-left:3px}
.f.on{border-color:rgba(57,135,229,.55);color:var(--ink);background:rgba(57,135,229,.13)}
.fortune-slim{display:flex;align-items:center;gap:9px;background:var(--surface);border:1px solid var(--ring);border-radius:12px;padding:9px 11px;margin-bottom:12px}
.fs-mark{width:30px;height:30px;flex:none;border-radius:9px;display:grid;place-items:center;font-size:15px;font-weight:800;background:var(--car-3);color:var(--car-3-ink)}
.fs-t{font-size:12.5px;color:var(--ink-2);line-height:1.35}
.fs-t b{color:var(--ink);font-size:13.5px}
.hero{border:1px solid var(--ring);border-radius:14px;padding:13px;margin-bottom:10px;background:var(--surface)}
.hero.next{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}
.hero.pick{border-color:rgba(12,163,12,.55);box-shadow:0 0 0 1px rgba(12,163,12,.4)}
.hero-l{font-size:10.5px;font-weight:700;letter-spacing:.09em;margin-bottom:8px;display:flex;align-items:center;gap:6px}
.hero.next .hero-l{color:var(--accent)}
.hero.pick .hero-l{color:var(--good)}
.hero-main{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}
.hero-venue{font-size:20px;font-weight:800;letter-spacing:-.02em}
.hero-race{font-size:13px;color:var(--ink-2);font-weight:600}
.hero-cd{margin-left:auto;font-size:22px;font-weight:800;font-variant-numeric:tabular-nums;letter-spacing:-.03em}
.hero.next .hero-cd{color:var(--accent)}
.hero.pick .hero-cd{color:var(--ink-2);font-size:17px}
.hero-row{display:flex;align-items:center;gap:8px;margin-top:11px}
.hero-pickline{display:block;margin-top:11px;padding-top:10px;line-height:1.6;border-top:1px solid var(--grid);font-size:12px;color:var(--ink-2)}
.hero-pickline.chips{display:flex;align-items:center;gap:5px;flex-wrap:wrap}
.wx{display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:600;white-space:nowrap;flex:none;background:var(--surface-2);border:1px solid var(--ring);border-radius:6px;padding:3px 7px;color:var(--ink-2);font-variant-numeric:tabular-nums}
.wx.strong{color:var(--warning);border-color:rgba(250,178,25,.4);background:rgba(250,178,25,.1)}
.wx.rain{color:var(--seq-250);border-color:rgba(134,182,239,.4);background:rgba(134,182,239,.1)}
.wx-ar{font-size:12px;line-height:1}
.tl-now{display:flex;align-items:center;gap:8px;margin:4px 0 10px;font-size:11px;color:var(--ink-muted);font-weight:600}
.tl-now::after{content:"";flex:1;height:1px;background:var(--axis)}
.tl-g{font-size:11px;font-weight:700;letter-spacing:.07em;color:var(--ink-muted);margin:14px 0 7px}
.tl{display:block;width:100%;text-align:left;font:inherit;color:inherit;cursor:pointer;background:var(--surface);border:1px solid var(--ring);border-radius:11px;padding:10px 11px;margin-bottom:7px}
.tl[aria-current="true"]{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}
.tl-1{display:flex;align-items:center;gap:9px}
.tl-time{font-size:15px;font-weight:800;font-variant-numeric:tabular-nums;letter-spacing:-.02em;width:46px;flex:none}
.tl-vr{font-size:13.5px;font-weight:700;white-space:nowrap}
.tl-cls{font-size:11.5px;color:var(--ink-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.tl-2{display:flex;align-items:center;gap:7px;margin-top:8px}
.tl-meter{display:block;flex:1;min-width:40px}
.tl-in{font-size:11px;color:var(--ink-muted);font-variant-numeric:tabular-nums;flex:none;width:52px;white-space:nowrap}
.pick-tag{font-size:10.5px;font-weight:800;padding:2px 7px;border-radius:6px;flex:none;background:rgba(12,163,12,.16);color:var(--good);box-shadow:inset 0 0 0 1px rgba(12,163,12,.4)}
.filters{display:flex;gap:6px;overflow-x:auto;padding:0 0 12px}
.fchip{flex:none;font-size:11.5px;font-weight:700;padding:7px 11px;border-radius:9px;background:var(--surface);border:1px solid var(--ring);color:var(--ink-2);cursor:pointer;white-space:nowrap}
.fchip[aria-pressed="true"]{background:rgba(57,135,229,.16);color:var(--ink);border-color:var(--accent)}
.fchip i{font-style:normal;color:var(--ink-muted);font-weight:600;margin-left:3px}
.hidden-note{font-size:11.5px;color:var(--ink-muted);background:var(--surface-2);border:1px dashed var(--axis);border-radius:9px;padding:9px 11px;margin-bottom:12px;display:flex;align-items:center;gap:7px}
.hidden-note b{color:var(--ink-2)}
.edge-x{font-size:26px;font-weight:800;letter-spacing:-.03em;line-height:1;font-variant-numeric:tabular-nums;color:var(--good)}
.tabs{position:sticky;top:57px;z-index:19;display:flex;gap:6px;background:var(--plane);padding:0 0 12px;overflow-x:auto}
.tabs::-webkit-scrollbar{display:none}
.tab{flex:1;min-width:66px;font-size:13px;font-weight:700;padding:9px 6px;border-radius:10px;background:var(--surface);color:var(--ink-muted);border:1px solid var(--ring);cursor:pointer;white-space:nowrap}
.tab[aria-selected="true"]{background:rgba(57,135,229,.16);color:var(--ink);border-color:var(--accent)}
[hidden]{display:none !important}
.db{display:flex;align-items:center;gap:9px;padding:8px 0;border-bottom:1px solid var(--grid)}
.db:last-of-type{border-bottom:0}
.db-track{flex:1;height:18px;position:relative}
.db-line{position:absolute;top:50%;height:2px;transform:translateY(-50%);border-radius:2px}
.db-line.over{background:#e34948}
.db-line.under{background:var(--seq-400)}
.db-dot{position:absolute;top:50%;width:11px;height:11px;border-radius:50%;transform:translate(-50%,-50%);box-shadow:0 0 0 2px var(--surface)}
.db-dot.pop{background:var(--seq-250)}
.db-dot.act{background:var(--seq-600)}
:root[data-theme="light"] .db-dot.act{background:#184f95}
.db-gap{width:38px;flex:none;text-align:right;font-size:12px;font-weight:800;font-variant-numeric:tabular-nums}
.db-gap.up{color:var(--seq-400)}
.db-gap.down{color:#e34948}
.db-gap.flat{color:var(--ink-muted)}
.db-scale{display:flex;justify-content:space-between;font-size:10px;color:var(--ink-muted);padding:6px 0 0 33px}
.best{display:flex;gap:9px;align-items:center;background:var(--surface-2);border:1px solid var(--ring);border-radius:10px;padding:11px;margin-top:12px}
.best-l{font-size:10.5px;color:var(--ink-muted);font-weight:600}
.best-v{font-size:13px;font-weight:700;margin-top:2px;display:flex;align-items:center;gap:6px}
.venue-tabs{display:flex;gap:6px;margin-bottom:12px;overflow-x:auto;padding-bottom:2px}
.vt{flex:none;font-size:12px;font-weight:700;padding:6px 11px;border-radius:999px;background:var(--surface-2);color:var(--ink-muted);border:1px solid var(--ring);cursor:pointer}
.vt[aria-pressed="true"]{background:rgba(57,135,229,.16);color:var(--ink);border-color:var(--accent)}
.demeRow{display:flex;align-items:center;gap:8px;padding:4px 0}
.deme-bar{flex:1;height:15px;background:var(--track);border-radius:4px;display:flex;gap:2px;overflow:hidden}
.deme-bar>i{display:block;height:100%}
.deme-bar>i.win{background:var(--seq-600)}
.deme-bar>i.top3{background:var(--seq-250);border-radius:0 4px 4px 0}
.deme-n{width:52px;flex:none;font-size:12px;color:var(--ink-2);font-variant-numeric:tabular-nums}
.dv{width:74px;flex:none;display:flex;align-items:center;gap:4px}
.dv-track{flex:1;height:15px;position:relative;background:var(--track);border-radius:3px}
.dv-track::before{content:"";position:absolute;left:50%;top:0;bottom:0;width:1px;background:var(--axis)}
.dv-track>i{position:absolute;top:2px;bottom:2px;border-radius:2px}
.dv-track>i.pos{left:50%;background:var(--seq-400)}
.dv-track>i.neg{right:50%;background:#e34948}
.dv-v{width:34px;flex:none;text-align:right;font-size:11px;font-weight:700;font-variant-numeric:tabular-nums}
.dv-v.pos{color:var(--seq-400)}
.dv-v.neg{color:#e34948}
.dv-v.zero{color:var(--ink-muted)}
.deme-head{display:flex;gap:8px;font-size:10px;color:var(--ink-muted);font-weight:600;padding-bottom:5px;border-bottom:1px solid var(--axis);margin-bottom:5px}
.deme-head .h1{width:24px;flex:none}
.deme-head .h2{flex:1}
.deme-head .h3{width:52px;flex:none}
.deme-head .h4{width:74px;flex:none;text-align:center}
.kimarite{display:flex;gap:6px;margin-top:12px}
.km{flex:1;background:var(--surface-2);border:1px solid var(--ring);border-radius:9px;padding:8px 4px;text-align:center}
.km[data-top="1"]{border-color:var(--accent);background:rgba(57,135,229,.14)}
.km-l{font-size:10.5px;color:var(--ink-muted);font-weight:600}
.km-v{font-size:18px;font-weight:800;margin-top:1px;font-variant-numeric:tabular-nums}
.verdict{display:flex;gap:9px;align-items:flex-start;margin-top:12px;padding:10px 11px;background:var(--surface-2);border:1px solid var(--ring);border-radius:10px}
.verdict-ic{font-size:16px;line-height:1.3;flex:none}
.verdict-t{font-size:12px;color:var(--ink-2);line-height:1.55}
.verdict-t b{color:var(--ink)}
.days{display:flex;gap:6px;margin-bottom:11px}
.day{flex:1;text-align:center;background:var(--surface-2);border:1px solid var(--ring);border-radius:10px;padding:8px 4px}
.day[data-now="1"]{border-color:var(--accent);background:rgba(57,135,229,.14)}
.day-n{font-size:10.5px;color:var(--ink-muted);font-weight:600}
.day-g{font-size:13px;font-weight:700;margin-top:2px}
.day[data-past="1"]{opacity:.5}
.advance{display:flex;align-items:center;gap:9px;background:var(--surface-2);border:1px solid var(--ring);border-radius:10px;padding:10px 11px}
.adv-n{font-size:22px;font-weight:800;line-height:1;font-variant-numeric:tabular-nums;color:var(--warning)}
.adv-t{font-size:12px;color:var(--ink-2);line-height:1.45}
.adv-t b{color:var(--ink)}
.r-name{width:76px;flex:none;font-size:13px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.axis-note{font-size:11px;color:var(--ink-muted);margin-top:9px;display:flex;justify-content:space-between}
table{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums}
th{font-size:10.5px;color:var(--ink-muted);font-weight:600;letter-spacing:.05em;text-align:right;padding:0 0 7px;border-bottom:1px solid var(--axis)}
th:first-child{text-align:left}
td{padding:9px 0;border-bottom:1px solid var(--grid);font-size:13px;text-align:right}
td:first-child{text-align:left}
tr:last-child td{border-bottom:0}
.combo{display:flex;align-items:center;gap:3px}
.combo .dash{color:var(--ink-muted);font-size:11px}
.ev{font-weight:800}
.ev.g{color:var(--good)}
.ev.w{color:var(--warning)}
.stake{color:var(--ink-2)}
.src{display:flex;align-items:center;gap:9px;padding:9px 0;border-bottom:1px solid var(--grid)}
.src:last-child{border-bottom:0}
.src-n{width:96px;flex:none;font-size:12.5px;font-weight:600;color:var(--ink-2)}
.marks{display:flex;gap:5px;flex-wrap:wrap}
.mk{display:flex;align-items:center;gap:2px;font-size:11px;color:var(--ink-muted)}
.foot{font-size:11px;color:var(--ink-muted);line-height:1.65;padding:4px 2px 0}
.foot b{color:var(--ink-2)}
.tip{position:fixed;z-index:60;background:var(--surface-2);color:var(--ink);border:1px solid var(--ring);border-radius:9px;padding:7px 10px;font-size:12px;pointer-events:none;opacity:0;transition:opacity .12s;box-shadow:0 8px 26px rgba(0,0,0,.4);max-width:220px}
.tip.on{opacity:1}
.tip b{display:block;font-size:12.5px;margin-bottom:2px}
.budget-bar{
  font-size:12px;font-weight:700;color:var(--ink-2);
  background:var(--surface-2);border:1px solid var(--ring);
  border-radius:9px;padding:8px 11px;margin-bottom:12px;
  font-variant-numeric:tabular-nums;
}
.budget-bar.exhausted{
  color:var(--ink);
  border-color:rgba(250,178,25,.45);
  background:rgba(250,178,25,.1);
}
.verdict.budget-cap{
  margin-top:0;margin-bottom:12px;
  border-color:rgba(250,178,25,.45);
  background:rgba(250,178,25,.12);
}
.odds-stale-badge{
  display:inline-flex;align-items:center;
  font-size:10.5px;font-weight:800;letter-spacing:.04em;
  padding:2px 7px;border-radius:999px;
  background:var(--surface-2);color:var(--ink-muted);
  box-shadow:inset 0 0 0 1px var(--axis);
  flex:none;
}
.hero-l .odds-stale-badge{margin-left:auto}
.stale-odds .edge-tag,
.stale-odds .edge-x,
.stale-odds .ev,
.stale-odds .hero-pickline,
.stale-odds tbody,
.stale-odds .db-gap,
.stale-odds .kpi-v,
.stale-odds .combo,
.stale-odds .bet-line{
  filter:grayscale(1);
  opacity:.42;
}
