/* niftisports · Signal tokens (L121 locked 2026-10-29) · Pixel
   One set of names, two modes. Components only ever read these variables.
   Mode (Brett 10-29): first visit follows the device setting (prefers-color-scheme).
   The sun/moon button overrides it and is remembered per device. The inline <head> script
   always sets <html data-theme="light|dark"> before first paint; the @media block below is
   only the no-JS fallback.
   Fonts: load once per page
   <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Public+Sans:wght@400;500;600;700&family=Roboto+Mono:wght@400;500;600&family=Schibsted+Grotesk:wght@500;600;700;800&display=swap"> */

:root{
  color-scheme:light;
  /* type */
  --fh:'Schibsted Grotesk',system-ui,sans-serif;   /* headings, wordmark, section titles: 800, letter-spacing -.03em */
  --fb:'Public Sans',system-ui,sans-serif;         /* all running text, buttons, tags */
  --fn:'Roboto Mono',ui-monospace,monospace;       /* every number: scores, records, times, W-L, Crabtree, % */
  /* shape */
  --lw:1px;            /* every line, border, divider */
  --r:8px;             /* every card, ticket, row, button; tags use 6px */
  /* ground + text */
  --bg:#FFFFFF;        /* page */
  --bg2:#F6F7F9;       /* score strip, ticket time block, rank pill */
  --card:#FFFFFF;      /* button + tag fill, prediction cards */
  --ink:#0B0D12;       /* main text, Final tag, primary framed button */
  --ink2:#3F4552;      /* secondary text */
  --dim:#5E6573;       /* labels, letters-only team badges */
  --ln:#E3E6EB;        /* 1px lines */
  --ln2:#0B0D12;       /* 2px section rules under headings, secondary button frame */
  /* brand */
  --acc:#1F4BFF;       /* cobalt: Join, links, est. tag, win-chance bars + numbers, cut line, top-8 rank pills */
  --accS:#EEF2FF;      /* predictions lane background, top-8 rank pill fill */
  --accL:#C9D5FF;      /* lane borders, bar track */
  --coral:#FF3D6E;     /* Plus button frame + dot, best-value plan frame */
  --plusTx:#C2184F;    /* Plus tag text + Plus-only table cells (coral is too light for small text) */
  /* status (outline tags) */
  --good:#0B7A43;      /* Clinched, Prediction right */
  --ww:#7E22CE;        /* In with a win (violet, Brett 10-29) */
  --live:#C42318;      /* Live (tag gets a filled dot) */
  --outc:#4F5563;      /* Out, Eliminated, Prediction wrong */
  /* follow / Plus band */
  --askbg:#0B0D12; --asktx:#FFFFFF; --askp:#C9CDD6; --askln:#0B0D12;
  /* icon tile edge (dark only) */
  --tileEdge:transparent;
}

:root[data-theme="dark"]{
  color-scheme:dark;
  --bg:#0D1015; --bg2:#141821; --card:#11151C;
  --ink:#EDF0F5; --ink2:#B4BCC9; --dim:#8F98A7;
  --ln:#252B36; --ln2:#D3D9E3;
  --acc:#7B96FF; --accS:#131A31; --accL:#2C3A70;       /* cobalt lifted for dark */
  --coral:#FF7094; --plusTx:#FF8FAB;                   /* coral lifted for dark */
  --good:#4CCB8A; --ww:#C29BFF; --live:#FF7466; --outc:#9AA3B2;
  --askbg:#101831; --asktx:#F3F5FA; --askp:#B4BCC9; --askln:#2C3A70;
  --tileEdge:rgba(255,255,255,.16);                    /* 1px inner edge on sport icon tiles */
}

/* Sport icon tiles in dark mode: keep the Team Colors, add a faint edge so navy/pine tiles don't melt */
:root[data-theme="dark"] img.sport-ic{border-radius:22%;outline:1px solid var(--tileEdge);outline-offset:-1px}

/* No-JS fallback: follow the device when no data-theme is set */
@media (prefers-color-scheme:dark){
  :root:not([data-theme="light"]){
    color-scheme:dark;
    --bg:#0D1015; --bg2:#141821; --card:#11151C;
    --ink:#EDF0F5; --ink2:#B4BCC9; --dim:#8F98A7;
    --ln:#252B36; --ln2:#D3D9E3;
    --acc:#7B96FF; --accS:#131A31; --accL:#2C3A70;       /* cobalt lifted for dark */
    --coral:#FF7094; --plusTx:#FF8FAB;                   /* coral lifted for dark */
    --good:#4CCB8A; --ww:#C29BFF; --live:#FF7466; --outc:#9AA3B2;
    --askbg:#101831; --asktx:#F3F5FA; --askp:#B4BCC9; --askln:#2C3A70;
    --tileEdge:rgba(255,255,255,.16);                    /* 1px inner edge on sport icon tiles */
  }
  :root:not([data-theme="light"]) img.sport-ic{border-radius:22%;outline:1px solid var(--tileEdge);outline-offset:-1px}
}
