/* WagerCast design system, shared with wagercast.xyz.
 *
 * The token block below is copied VERBATIM from the racing site so the two are
 * literally one palette rather than an approximation that drifts. If wagercast.xyz
 * changes its colours, re-copy this block rather than eyeballing a match.
 *
 * Three things carry the identity: the warm near-black ground (not a neutral
 * grey), gold as the only accent, and serif headings over a sans body. Numbers are
 * tabular throughout, which matters more here than on the racing site — this is a
 * table of ADP and VORP figures that must line up column-wise to be scannable.
 *
 * Theme handling matches too: system preference by default, with an explicit
 * data-theme override the toggle sets.
 */

:root{--ground:#16130d;--surface:#1e1910;--surface-2:#25200f;--line:#352d1c;--ink:#ece6d6;--muted:#a89e86;--faint:#6f6852;--gold:#d4b25a;--gold-dim:#b08f3e;--lock:#5cbf86;--std:#a89e86;--chaos:#d0a24f;--fade:#d3796a;--serif:"Iowan Old Style","Palatino Linotype","Book Antiqua",Palatino,Georgia,serif;--sans:system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;--shadow:0 1px 0 rgba(255,255,255,.03) inset,0 18px 40px -24px rgba(0,0,0,.8)}
:root,:root[data-theme="dark"]{--ground:#16130d;--surface:#1e1910;--surface-2:#25200f;--line:#352d1c;--ink:#ece6d6;--muted:#a89e86;--faint:#6f6852;--gold:#d4b25a;--gold-dim:#b08f3e;--lock:#5cbf86;--std:#a89e86;--chaos:#d0a24f;--fade:#d3796a}

*{box-sizing:border-box}
body{margin:0;background:var(--ground);color:var(--ink);font-family:var(--sans);
     font-size:16px;line-height:1.55;-webkit-font-smoothing:antialiased;
     font-variant-numeric:tabular-nums}
a{color:inherit}
h1,h2,h3{font-family:var(--serif);font-weight:600;text-wrap:balance;margin:0}

/* 1180px matches the racing site's nav. The draft board is denser than anything
 * over there, but holding the same measure is what makes the two feel like one
 * site — and 10 columns still read comfortably at this width. */
.wrap{max-width:1180px;margin:0 auto;padding:0 28px}

.nav{position:sticky;top:0;z-index:60;display:flex;align-items:center;
     justify-content:space-between;gap:16px;max-width:1180px;margin:0 auto;
     padding:16px 28px;flex-wrap:wrap;
     background:color-mix(in srgb,var(--ground) 82%,transparent);
     backdrop-filter:blur(10px)}
.mark{display:flex;align-items:baseline;gap:10px;font-family:var(--serif);
      font-size:22px;font-weight:600;text-decoration:none}
.mark b{color:var(--gold)}
.mark span{font-family:var(--sans);font-size:11px;letter-spacing:.16em;
           text-transform:uppercase;color:var(--muted);font-weight:600}
/* THE NAV MENU SYSTEM — deliberately the same as nav.js on wagercast.xyz, down to
   the numbers, so a menu looks and behaves identically whichever host you are on.
   gap:26px was written for four short words; with three dropdowns in here the
   items were squeezed until "Horse Racing" broke across two lines. */
.nav-links{display:flex;gap:8px;align-items:center;font-size:14.5px;
           color:var(--muted);flex:1;justify-content:center;min-width:0;
           flex-wrap:nowrap}
.nav-links>a{white-space:nowrap;padding:7px 12px;border-radius:100px}
.nav-links>a:hover{color:var(--ink)}
.prod{position:relative}
.prod>summary{list-style:none;cursor:pointer;font-size:14.5px;color:var(--muted);
              padding:7px 12px;border-radius:100px;white-space:nowrap}
.prod>summary::-webkit-details-marker{display:none}
.prod>summary::after{content:" \25BE";color:var(--faint)}
.prod>summary:hover{color:var(--ink)}
.prod[open]>summary{color:var(--ink);background:var(--surface-2)}
.prodmenu{position:absolute;top:2.4rem;left:-12px;min-width:13rem;z-index:70;
          background:var(--surface);border:1px solid var(--line);border-radius:6px;
          padding:6px;box-shadow:var(--shadow);display:grid;gap:1px}
.prodmenu a{padding:9px 11px;border-radius:4px;text-decoration:none;font-size:14px;
            color:var(--ink);white-space:nowrap}
.prodmenu a:hover{background:var(--surface-2)}
.prodmenu a[aria-current]{color:var(--gold)}
.prodgroup{font-size:10px;letter-spacing:.14em;text-transform:uppercase;
           color:var(--faint);font-weight:700;padding:7px 11px 2px}
.prodmenu a.prodsub{padding-left:20px}
/* An item that is NOT part of the group above it. */
.prodmenu a.prodtop{border-top:1px solid var(--line);margin-top:4px;padding-top:9px}
/* The account controls ride at the BOTTOM of the opened phone menu, so the phone
   shows one list — the same list — rather than a separate flat copy of it. */
.navfoot{display:none}
#burger{display:none}

@media(max-width:1080px){
  .nav{flex-wrap:wrap;padding:12px 14px}
  /* Same shape as the racing site's phone nav: the links become a column in the
     flow under the bar, and each menu opens in place instead of floating. */
  .nav-links{display:none;order:3;flex:1 0 100%;flex-direction:column;
             align-items:stretch;justify-content:flex-start;gap:2px;
             border-top:1px solid var(--line);padding-top:8px;margin-top:6px}
  body.menu-open .nav-links{display:flex}
  .nav-links>a,.prod>summary{font-size:15.5px;padding:11px 10px;border-radius:4px}
  .prodmenu{position:static;box-shadow:none;border:0;background:none;
            padding:2px 0 6px 10px;min-width:0}
  .navonly{display:none}
  .navfoot{display:grid;gap:2px;border-top:1px solid var(--line);
           margin-top:6px;padding-top:6px}
  .navfoot a,.navfoot button{text-align:left;padding:11px 10px;border-radius:4px;
           font-size:15.5px;color:var(--ink);text-decoration:none;background:none;
           border:0;font-family:var(--sans);cursor:pointer;width:100%}
  .navfoot a:hover,.navfoot button:hover{background:var(--surface-2)}
  .navfoot .who{font-size:12px;color:var(--faint);padding:6px 10px}
  #burger{display:inline-block}
  .nav-cta{margin-left:auto}
}
.nav-links a{text-decoration:none;transition:color .12s ease}
.nav-links a:hover{color:var(--ink)}
.nav-cta{display:flex;gap:10px;align-items:center;min-width:0}
.toggle{background:none;border:1px solid var(--line);color:var(--muted);
        border-radius:100px;font-size:12px;padding:6px 12px;cursor:pointer;
        font-family:var(--sans);text-decoration:none}
.toggle:hover{color:var(--ink)}
.pill{display:inline-block;background:var(--gold);color:#1a1509;font-weight:700;
      font-size:14px;padding:11px 22px;border-radius:100px;border:1px solid var(--gold);
      cursor:pointer;text-decoration:none;font-family:var(--sans);white-space:nowrap}

.eyebrow{font-size:12px;letter-spacing:.18em;text-transform:uppercase;
         color:var(--gold);font-weight:700}

/* Pill tabs — the racing site's .tab/.rbtn vocabulary, reused for the position
 * filters so a control means the same thing on both sites. */
.tab{font-size:13px;font-weight:600;color:var(--muted);background:var(--surface);
     border:1px solid var(--line);border-radius:100px;padding:7px 15px;
     cursor:pointer;font-family:var(--sans);transition:color .12s ease,
     border-color .12s ease,background .12s ease}
.tab:hover{color:var(--ink);border-color:var(--gold-dim)}
.tab.on{color:var(--ground);background:var(--gold);border-color:var(--gold)}

.panel{background:var(--surface);border:1px solid var(--line);border-radius:4px;
       padding:14px 16px;box-shadow:var(--shadow)}
h2.section{font-family:var(--sans);font-size:11px;letter-spacing:.16em;
           text-transform:uppercase;color:var(--faint);font-weight:700;
           margin:0 0 10px}

table{width:100%;border-collapse:collapse;font-size:14px}
th{text-align:left;color:var(--faint);font-weight:700;font-size:10.5px;
   text-transform:uppercase;letter-spacing:.14em;padding:6px 8px;
   border-bottom:1px solid var(--line);white-space:nowrap}
td{padding:7px 8px;border-bottom:1px solid var(--line)}
tbody tr:last-child td{border-bottom:0}

.muted{color:var(--muted)} .faint{color:var(--faint)}
.good{color:var(--lock)} .bad{color:var(--fade)} .warn{color:var(--chaos)}
