/* ============ TOKENS ============ */
:root{
  /* Neutrals carry a slight blue-slate bias so the categorical colours read as chosen,
     not as accidents against a dead grey. */
  --paper:#EDF1F5; --surface:#FFFFFF; --surface-2:#E2E8EF; --surface-3:#D3DCE5;
  --ink:#0F1720; --ink-2:#46566A; --ink-3:#6C7F93;
  --line:#C9D4DF; --line-soft:#DEE6ED;
  --brand:#143050; --brand-ink:#FFFFFF; --brand-soft:#DBE5F0;
  --hot:#3E2846; --hot-ink:#FFFFFF; --hot-soft:#F6EAF9;
  /* your-turn green — a distinct STATE, not a category */
  --mine:#0A6B3C; --mine-ink:#FFFFFF; --mine-soft:#E2F6E9;
  --good:#087B43; --warn:#7C5200; --bad:#B80F32;
  /* Position colours are the app's categorical data encoding. These six were chosen by
     search (scripts/check-palette.mjs) to hold a CIEDE2000 separation of ~11+ from each
     other under normal vision AND protanopia, deuteranopia and tritanopia, while keeping
     WCAG AA text contrast on their own chip backgrounds. Colour is never the only
     channel — every position marker also carries its text label. */
  --qb:#6F2B7E; --rb:#266B41; --wr:#1771B1; --te:#713B02; --k:#666E78; --dst:#BC1035;
  --qb-bg:#F9F1FA; --rb-bg:#E7F8EB; --wr-bg:#EEF4FD; --te-bg:#FCF2EA; --k-bg:#F2F4F7; --dst-bg:#FFF0EF;
  --shadow:0 1px 2px rgba(15,23,32,.06),0 4px 14px rgba(15,23,32,.06);
  --shadow-lg:0 2px 6px rgba(15,23,32,.08),0 18px 44px rgba(15,23,32,.14);
  --r:10px; --r-sm:6px;
  --board-h:34px;
}
@media (prefers-color-scheme:dark){
  :root:not([data-theme="light"]){
    --paper:#0C1218; --surface:#141C25; --surface-2:#1D2731; --surface-3:#28343F;
    --ink:#E7EEF5; --ink-2:#94A7B9; --ink-3:#72859A;
    --line:#2A3846; --line-soft:#1F2B36;
    --brand:#BFD8F5; --brand-ink:#0C1218; --brand-soft:#1D3048;
    --hot:#F3F7FA; --hot-ink:#241C28; --hot-soft:#47394C;
    --mine:#7FE3A6; --mine-ink:#0A2417; --mine-soft:#14372A;
    --good:#5BD99A; --warn:#E5AC55; --bad:#FF8095;
    --qb:#F4C0FC; --rb:#98E2AF; --wr:#52A0E9; --te:#FCA962; --k:#949CA7; --dst:#F57276;
    --qb-bg:#352B36; --rb-bg:#243128; --wr-bg:#242F3D; --te-bg:#3C2B1E; --k-bg:#2D2E31; --dst-bg:#412727;
    --shadow:0 1px 2px rgba(0,0,0,.45),0 4px 14px rgba(0,0,0,.35);
    --shadow-lg:0 2px 6px rgba(0,0,0,.5),0 18px 44px rgba(0,0,0,.55);
  }
}
:root[data-theme="dark"]{
  --paper:#0C1218; --surface:#141C25; --surface-2:#1D2731; --surface-3:#28343F;
  --ink:#E7EEF5; --ink-2:#94A7B9; --ink-3:#72859A;
  --line:#2A3846; --line-soft:#1F2B36;
  --brand:#BFD8F5; --brand-ink:#0C1218; --brand-soft:#1D3048;
  --hot:#F3F7FA; --hot-ink:#241C28; --hot-soft:#47394C;
    --mine:#7FE3A6; --mine-ink:#0A2417; --mine-soft:#14372A;
  --good:#5BD99A; --warn:#E5AC55; --bad:#FF8095;
  --qb:#F4C0FC; --rb:#98E2AF; --wr:#52A0E9; --te:#FCA962; --k:#949CA7; --dst:#F57276;
  --qb-bg:#352B36; --rb-bg:#243128; --wr-bg:#242F3D; --te-bg:#3C2B1E; --k-bg:#2D2E31; --dst-bg:#412727;
  --shadow:0 1px 2px rgba(0,0,0,.45),0 4px 14px rgba(0,0,0,.35);
  --shadow-lg:0 2px 6px rgba(0,0,0,.5),0 18px 44px rgba(0,0,0,.55);
}

*{box-sizing:border-box}
body{
  margin:0; background:var(--paper); color:var(--ink);
  font-family:"IBM Plex Sans",system-ui,-apple-system,"Segoe UI",sans-serif;
  font-size:14px; line-height:1.5; -webkit-font-smoothing:antialiased;
}
h1,h2,h3,h4{font-family:Archivo,system-ui,sans-serif;margin:0;text-wrap:balance;letter-spacing:-.015em}
button,input,select{font:inherit;color:inherit}
:focus-visible{outline:2px solid var(--hot);outline-offset:2px;border-radius:4px}
.num{font-variant-numeric:tabular-nums}
.mono{font-family:"IBM Plex Mono",ui-monospace,monospace}

/* ============ CHROME ============ */
.topbar{
  position:sticky;top:0;z-index:60;background:var(--surface);
  border-bottom:1px solid var(--line);display:flex;align-items:center;
  gap:16px;padding:0 16px;height:56px;
}
.logo{display:flex;align-items:center;gap:9px;font-family:Archivo;font-weight:800;
  font-size:16px;letter-spacing:-.03em;white-space:nowrap}
/* The Draft My Team crest (Draft_My_Team_Logo.jpeg), cropped to the shield, background
   flood-filled to transparency from the borders only — a global white-to-alpha would have
   punched holes in the silver "D" — then quantised and inlined, same reasoning as the sponsor
   emblem: bundle.mjs does not inline images. Transparent ground so it works in both themes;
   the crest carries its own navy, so it needs no tile behind it. 3:2.5 aspect, not square. */
.logo .mark{
  width:35px;height:29px;flex:none;
  background:url("data:image/png;base64,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") no-repeat center/contain;
}
.logo small{font-weight:600;font-size:9px;letter-spacing:.14em;text-transform:uppercase;
  color:var(--ink-3);display:block;line-height:1;margin-top:2px}
.steps{display:flex;gap:2px;margin-left:auto}
.step{
  appearance:none;background:none;border:0;padding:7px 13px;border-radius:var(--r-sm);
  font-size:12px;font-weight:600;color:var(--ink-3);cursor:pointer;letter-spacing:.01em;
  display:flex;align-items:center;gap:7px;
}
.step:hover:not(:disabled){background:var(--surface-2);color:var(--ink)}
.step[aria-current="true"]{background:var(--brand);color:var(--brand-ink)}
.step:disabled{opacity:.35;cursor:not-allowed}
.step i{width:16px;height:16px;border-radius:50%;display:grid;place-items:center;
  font-style:normal;font-size:10px;font-weight:700;background:var(--surface-3);color:var(--ink-2)}
.step[aria-current="true"] i{background:color-mix(in srgb,var(--brand-ink) 22%,transparent);color:var(--brand-ink)}
.iconbtn{
  appearance:none;background:var(--surface-2);border:1px solid var(--line);
  width:32px;height:32px;border-radius:var(--r-sm);cursor:pointer;display:grid;place-items:center;
  color:var(--ink-2);flex:none;
}
.iconbtn:hover{background:var(--surface-3);color:var(--ink)}

/* ============ BUTTONS ============ */
.btn{
  appearance:none;border:1px solid var(--line);background:var(--surface);color:var(--ink);
  padding:9px 16px;border-radius:var(--r-sm);font-weight:600;font-size:13px;cursor:pointer;
  display:inline-flex;align-items:center;gap:7px;transition:background .12s,border-color .12s;
}
.btn:hover{background:var(--surface-2)}
.btn-primary{background:var(--brand);color:var(--brand-ink);border-color:var(--brand)}
/* must restate background: .btn:hover has higher specificity than .btn-primary */
.btn-primary:hover{background:var(--brand);filter:brightness(1.15)}
.btn-hot{background:var(--hot);color:var(--hot-ink);border-color:var(--hot)}
.btn-hot:hover{background:var(--hot);filter:brightness(1.1)}
.btn-sm{padding:5px 10px;font-size:12px}
.btn:disabled{opacity:.4;cursor:not-allowed}

/* ============ LAYOUT ============ */
.wrap{max-width:1180px;margin:0 auto;padding:26px 18px 80px}
.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow)}
.panel-h{padding:13px 16px;border-bottom:1px solid var(--line-soft);display:flex;align-items:center;gap:10px}
.panel-h h3{font-size:13px;font-weight:700;letter-spacing:.02em}
.eyebrow{font-size:10px;font-weight:700;letter-spacing:.15em;text-transform:uppercase;color:var(--ink-3)}
.hint{font-size:12px;color:var(--ink-2);line-height:1.5}

/* ============ SETUP ============ */
.setup-head{margin-bottom:24px}
.setup-head h1{font-size:clamp(26px,4vw,38px);font-weight:800;line-height:1.1}
.setup-head p{color:var(--ink-2);max-width:62ch;margin:9px 0 0;font-size:15px}
.sect{margin-bottom:22px}
.sect-h{display:flex;align-items:baseline;gap:12px;margin-bottom:12px;padding-bottom:9px;
  border-bottom:1px solid var(--line-soft)}
.sect-h h2{font-size:15px;font-weight:700}
.sect-h .hint{margin-left:auto;text-align:right}

.presets{display:grid;grid-template-columns:repeat(auto-fit,minmax(148px,1fr));gap:9px}
.preset{
  appearance:none;text-align:left;background:var(--surface);border:1.5px solid var(--line);
  border-radius:var(--r);padding:12px 13px;cursor:pointer;position:relative;
  transition:border-color .12s,box-shadow .12s,transform .12s;
}
.preset:hover{border-color:var(--ink-3);transform:translateY(-1px);box-shadow:var(--shadow)}
.preset[aria-pressed="true"]{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-soft)}
.preset b{display:block;font-family:Archivo;font-size:14px;font-weight:700;margin-bottom:3px}
.preset span{display:block;font-size:11px;color:var(--ink-2);line-height:1.45}
.preset .tags{margin-top:7px;display:flex;flex-wrap:wrap;gap:4px}
.tg{font-size:9.5px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;
  padding:2px 6px;border-radius:20px;background:var(--surface-2);color:var(--ink-2)}
.tg.acc{background:var(--brand-soft);color:var(--brand)}
:root[data-theme="dark"] .tg.acc{color:var(--brand)}

.grid-f{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px}
.field label{display:block;font-size:11px;font-weight:700;letter-spacing:.06em;
  text-transform:uppercase;color:var(--ink-3);margin-bottom:5px}
.field input,.field select{
  width:100%;padding:8px 10px;border:1px solid var(--line);border-radius:var(--r-sm);
  background:var(--surface);font-size:13px;font-variant-numeric:tabular-nums;
}
.field input:focus,.field select:focus{border-color:var(--brand);outline:none;box-shadow:0 0 0 3px var(--brand-soft)}

/* roster builder */
.roster-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(112px,1fr));gap:8px}
.slot{border:1px solid var(--line);border-radius:var(--r);padding:9px 10px;background:var(--surface)}
.slot .nm{font-size:11px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;
  display:flex;align-items:center;gap:5px;margin-bottom:7px}
.slot .dot{width:8px;height:8px;border-radius:2px;flex:none}
.stepper{display:flex;align-items:center;gap:0;border:1px solid var(--line);border-radius:var(--r-sm);overflow:hidden}
.stepper button{
  appearance:none;background:var(--surface-2);border:0;width:26px;height:28px;cursor:pointer;
  color:var(--ink-2);font-weight:700;font-size:14px;line-height:1;
}
.stepper button:hover{background:var(--surface-3);color:var(--ink)}
.stepper .v{flex:1;text-align:center;font-weight:700;font-size:14px;font-variant-numeric:tabular-nums}
.quick{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:12px}
.chip{
  appearance:none;background:var(--surface);border:1px solid var(--line);border-radius:20px;
  padding:5px 12px;font-size:12px;font-weight:600;cursor:pointer;color:var(--ink-2);
}
.chip:hover{background:var(--surface-2);color:var(--ink)}
.chip[aria-pressed="true"]{background:var(--brand);color:var(--brand-ink);border-color:var(--brand)}

/* scoring */
.score-rows{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:0 26px}
.srow{display:flex;align-items:center;gap:10px;padding:7px 0;border-bottom:1px solid var(--line-soft)}
.srow .lab{flex:1;font-size:13px}
.srow .lab small{display:block;color:var(--ink-3);font-size:10.5px}
.srow input{width:66px;padding:5px 8px;border:1px solid var(--line);border-radius:var(--r-sm);
  background:var(--surface);text-align:right;font-variant-numeric:tabular-nums;font-size:13px}
details.adv{margin-top:12px;border:1px solid var(--line);border-radius:var(--r);background:var(--surface)}
details.adv>summary{padding:11px 14px;cursor:pointer;font-weight:600;font-size:13px;list-style:none;
  display:flex;align-items:center;gap:8px}
details.adv>summary::-webkit-details-marker{display:none}
details.adv>summary::before{content:"▸";color:var(--ink-3);transition:transform .15s;display:inline-block}
details.adv[open]>summary::before{transform:rotate(90deg)}
details.adv .body{padding:0 14px 14px}

.ppr-scale{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
.ppr-scale .chip{flex:1 1 92px;min-width:92px}
.ppr-scale button{flex:1}

/* strategy cards */
.strats{display:grid;grid-template-columns:repeat(auto-fit,minmax(215px,1fr));gap:10px}
.strat{
  appearance:none;text-align:left;background:var(--surface);border:1.5px solid var(--line);
  border-radius:var(--r);padding:13px;cursor:pointer;position:relative;overflow:hidden;
  transition:border-color .12s,transform .12s,box-shadow .12s;
  display:flex;flex-direction:column;
}
.strat::before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--sc,var(--ink-3));opacity:.75}
.strat:hover{transform:translateY(-1px);box-shadow:var(--shadow);border-color:var(--ink-3)}
.strat[aria-pressed="true"]{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-soft)}
.strat b{display:block;font-family:Archivo;font-size:14px;font-weight:700;margin-bottom:4px}
.strat p{margin:0 0 9px;font-size:11.5px;color:var(--ink-2);line-height:1.5}
.strat .meta{display:flex;flex-wrap:wrap;gap:4px}
.lv{font-size:9.5px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;padding:2px 6px;
  border-radius:3px;background:var(--surface-2);color:var(--ink-2)}
.lv.novice{background:var(--rb-bg);color:var(--rb)}
.lv.adv{background:var(--qb-bg);color:var(--qb)}
.strat .fit{margin-top:auto;padding-top:8px;font-size:10.5px;color:var(--ink-3);display:flex;align-items:center;gap:5px}
.strat .fit .bar{flex:1;height:4px;border-radius:2px;background:var(--surface-2);overflow:hidden}
.strat .fit .bar i{display:block;height:100%;background:var(--sc,var(--ink-3));border-radius:2px}

.sticky-cta{
  position:sticky;bottom:0;margin:26px -18px 0;padding:14px 18px;
  background:color-mix(in srgb,var(--surface) 92%,transparent);
  border-top:1px solid var(--line);display:flex;align-items:center;gap:14px;
  backdrop-filter:blur(8px);z-index:40;
}
.sticky-cta .sum{font-size:12px;color:var(--ink-2);line-height:1.4}
.sticky-cta .sum b{color:var(--ink);font-weight:700}
.sticky-cta .btn{margin-left:auto}

/* ============ SCORING EMPHASIS GROUPS ============ */
.styles{display:grid;grid-template-columns:repeat(auto-fit,minmax(268px,1fr));gap:18px 26px}
.sgroup .eyebrow{display:block;margin-bottom:7px}
.sgroup .hint{margin:8px 0 0}
.sgroup .quick{margin-bottom:0}
.chip.tog[aria-pressed="true"]{background:var(--hot);border-color:var(--hot);color:#fff}

/* ============ EXPERIENCE LEVEL ============ */
.levels{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:10px;max-width:760px}
.level{
  appearance:none;text-align:left;background:var(--surface);border:1.5px solid var(--line);
  border-radius:var(--r);padding:13px 15px;cursor:pointer;display:flex;gap:12px;align-items:flex-start;
  transition:border-color .12s,transform .12s,box-shadow .12s;
}
.level:hover{transform:translateY(-1px);box-shadow:var(--shadow);border-color:var(--ink-3)}
.level[aria-pressed="true"]{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-soft)}
.level .ic{width:32px;height:32px;border-radius:8px;flex:none;display:grid;place-items:center;
  background:var(--surface-2);color:var(--ink-2)}
.level[aria-pressed="true"] .ic{background:var(--brand);color:var(--brand-ink)}
.level b{display:block;font-family:Archivo;font-size:14px;font-weight:700;margin-bottom:3px}
.level span{display:block;font-size:11.5px;color:var(--ink-2);line-height:1.45}

/* ============ PROGRESSIVE DISCLOSURE ============ */
.more{
  appearance:none;background:none;border:0;padding:8px 0 0;margin:0;cursor:pointer;
  font-size:12.5px;font-weight:600;color:var(--brand);display:inline-flex;align-items:center;gap:6px;
}
:root[data-theme="dark"] .more{color:var(--brand)}
.more:hover{text-decoration:underline}
.more .caret{transition:transform .15s;display:inline-block;font-size:10px}
.more[aria-expanded="true"] .caret{transform:rotate(90deg)}
.more-panel{
  margin-top:12px;padding-top:14px;border-top:1px dashed var(--line);
  animation:fade .18s ease-out;
}
@keyframes fade{from{opacity:0;transform:translateY(-3px)}}
@media (prefers-reduced-motion:reduce){.more-panel{animation:none}}
.more-panel .sect-sub{font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;
  color:var(--ink-3);margin:0 0 9px}

/* ============ SPONSOR ============ */
.sponsor{padding:26px 18px 40px;background:var(--paper)}
.sponsor-card{
  display:flex;align-items:center;gap:14px;max-width:760px;margin:0 auto;
  padding:14px 18px;border-radius:14px;text-decoration:none;color:inherit;
  background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);
  transition:border-color .15s,transform .15s,box-shadow .15s;
}
.sponsor-card:hover{transform:translateY(-1px);box-shadow:var(--shadow-lg);border-color:var(--ink-3)}
/* The real Ohmic Charge emblem, from ohmiccharge.com (Ohmic_SSa-R03a_Mil.png), trimmed and
   inlined as a data URI. It must be a data URI, not an <img>: scripts/bundle.mjs inlines CSS
   and JS but not images, and its unresolved-asset check only scans link/script tags — so a
   file reference would break the single-file bundle silently. Gold #D3B037 on green #016634 is
   the brand's own pairing, and the emblem is gold on transparent, so it needs the dark tile to
   read at all. */
.sponsor-mark{
  width:42px;height:42px;border-radius:12px;flex:none;
  background:#016634 url("data:image/png;base64,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") no-repeat center/23px auto;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.18);
}
.sponsor-text{flex:1;min-width:0}
.sponsor-eyebrow{display:block;font-size:9.5px;font-weight:700;letter-spacing:.15em;
  text-transform:uppercase;color:var(--ink-3);line-height:1}
.sponsor-name{display:block;font-family:Archivo;font-size:16px;font-weight:800;
  letter-spacing:-.025em;margin:4px 0 3px}
.sponsor-tag{display:block;font-size:11.5px;color:var(--ink-2);line-height:1.4}
.copyright{margin:16px 0 0;text-align:center;font-size:11px;color:var(--ink-2);letter-spacing:.01em}
.sponsor-cta{
  display:inline-flex;align-items:center;gap:6px;flex:none;font-size:12px;font-weight:700;
  color:var(--brand);padding:7px 12px;border-radius:20px;background:var(--brand-soft);
}
@media (max-width:600px){
  .sponsor-card{flex-wrap:wrap;gap:11px}
  .sponsor-cta{width:100%;justify-content:center}
}

/* ============ BEGINNER SECTION NOTES ============ */
.sect-note{
  margin:-4px 0 12px;font-size:13px;line-height:1.55;color:var(--ink-2);max-width:72ch;
}
.sect-note:empty{display:none}
.sect-note b{color:var(--ink);font-weight:600}
.sect-note .key{
  display:inline-block;padding:1px 6px;border-radius:5px;background:var(--surface-2);
  border:1px solid var(--line);font-size:11.5px;font-weight:600;color:var(--ink);
  white-space:nowrap;
}
.sticky-cta .btn-sm{margin-left:auto}
.sticky-cta .btn-primary{margin-left:0}

/* ============ YOUR TURN ============
   Redefining the urgency tokens on the element itself means every descendant that
   already reads var(--hot) turns green with no second set of rules. */
.onclock.mine,.cand.top.mine,.cell.now.mine,.btn-hot.mine{
  --hot:var(--mine); --hot-soft:var(--mine-soft); --hot-ink:var(--mine-ink);
}

/* ============ IDP ============
   The three defensive positions reuse the offensive hues but are drawn as outlines
   rather than fills. That gives a second, non-colour channel separating offence from
   defence, on top of the position text every chip already carries — so the palette
   still only has to keep six fills apart. */
.pos.DL,.pos.LB,.pos.DB{background:transparent;box-shadow:inset 0 0 0 1.5px currentColor}
.pos.DL{color:var(--te)} .pos.LB{color:var(--rb)} .pos.DB{color:var(--wr)}
.cell.DL{background:var(--te-bg)} .cell.LB{background:var(--rb-bg)} .cell.DB{background:var(--wr-bg)}
.cell.DL .cp{color:var(--te)} .cell.LB .cp{color:var(--rb)} .cell.DB .cp{color:var(--wr)}
.chip-sep{
  display:inline-block;width:1px;align-self:stretch;min-height:22px;
  background:var(--line);margin:0 4px;
}

.flag.rookie{background:var(--qb-bg);color:var(--qb);box-shadow:inset 0 0 0 1px currentColor}

.introlist{margin:0 0 14px;padding-left:18px;display:flex;flex-direction:column;gap:6px}
.introlist li{line-height:1.5}
.introlist b{color:var(--ink);font-weight:600}
.introsoon{
  margin:0;padding:10px 12px;border-radius:var(--r-sm);background:var(--surface-2);
  border-left:3px solid var(--brand);font-size:12.5px;line-height:1.5;
}
.modal .mb p:first-child{margin-top:0}
