/* ============================================================
   Workout tracker — SOLAR POP theme  (neo-brutalist pop)
   Loud Gumroad/Figma-poster energy: canary dotted-yellow page,
   cream "paper" cards, thick ink borders, hard offset shadows,
   sticker badges, Archivo-black display, Space Mono numbers.
   Push / Legs / Pull are first-class color throughout.

   Layered ON TOP of styles.css — every rule is scoped to
   [data-theme="solarpop"], so Light/Dark (the prior editorial
   design) remain untouched and switchable for comparison.
   ============================================================ */

:root[data-theme="solarpop"] {
  /* ---- raw palette ---- */
  --sp-yellow: #ffe14d;
  --sp-yellow-deep: #ffd21a;
  --sp-ink: #14110a;
  --sp-paper: #fff8e6;
  --sp-paper-2: #fffdf3;     /* charts / tables — slightly brighter paper */
  --sp-magenta: #ff2d95;     /* attention · PR · scrub · links */
  --sp-line: #e7d6a0;        /* soft tan internal dividers */

  /* ---- offset-shadow + border system (the brutalist signature) ---- */
  --shadow:    5px 5px 0 var(--sp-ink);
  --shadow-sm: 3px 3px 0 var(--sp-ink);
  --shadow-lg: 8px 8px 0 var(--sp-ink);
  --bd:  3px solid var(--sp-ink);
  --bd2: 2px solid var(--sp-ink);

  /* ---- base token remap (drives the token-aware parts of styles.css) ---- */
  --bg: var(--sp-yellow);
  --surface: var(--sp-paper);
  --surface-2: #fff0c2;
  --hairline: var(--sp-line);
  --hairline-2: #d8c178;
  --text: var(--sp-ink);
  --text-2: #5f5436;
  --text-3: #8c7d56;
  --on-ink: var(--sp-yellow);    /* text on an ink fill → canary */
  --coach: var(--sp-magenta);

  /* ---- category colours: saturated but dark enough for white text (AA) ---- */
  --push: #d63a27;
  --legs: #6324c9;
  --pull: #0c7c4f;
  --on-c: #ffffff;               /* uniform legible text on any category fill */
  --push-tint: #fde3df;
  --legs-tint: #eae6fb;
  --pull-tint: #d6efe3;

  /* ---- type ---- */
  --font-serif:  'Archivo', system-ui, sans-serif;   /* remap: editorial "serif display" → Archivo black */
  --font-display:'Archivo', system-ui, sans-serif;
  --font-sans:   'Space Grotesk', system-ui, sans-serif;
  --font-mono:   'Space Mono', ui-monospace, monospace;

  /* ---- chunky radii ---- */
  --r-ctl: 10px;
  --r-card: 14px;
  --r-sheet: 20px;
}

/* ===== page: canary + dot grid ===== */
[data-theme="solarpop"] body {
  background-color: var(--sp-yellow);
  background-image: radial-gradient(var(--sp-yellow-deep) 1.6px, transparent 1.7px);
  background-size: 22px 22px;
}
[data-theme="solarpop"] .panel, [data-theme="solarpop"] .panel-scroll { background: transparent; }

/* a reusable "pressed sticker" feel for the main tappables */
[data-theme="solarpop"] .save-btn:active,
[data-theme="solarpop"] .step-btn:active,
[data-theme="solarpop"] .icon-btn:active,
[data-theme="solarpop"] .back-btn:active,
[data-theme="solarpop"] .coach-send:active,
[data-theme="solarpop"] .sheet-action:active,
[data-theme="solarpop"] .e-btn:active,
[data-theme="solarpop"] .auth-google:active,
[data-theme="solarpop"] .auth-submit:active,
[data-theme="solarpop"] .day-card:active,
[data-theme="solarpop"] .ex-card:active {
  transform: translate(2px, 2px) !important;
  box-shadow: 1px 1px 0 var(--sp-ink) !important;
}

/* ===== headers ===== */
[data-theme="solarpop"] .panel-title {
  font-family: var(--font-display);
  font-weight: 900;
  font-size: 38px;
  letter-spacing: -0.03em;
  text-transform: none;
}
[data-theme="solarpop"] .panel-title::after {
  content: "";
  display: block;
  width: 54px; height: 7px;
  margin-top: 6px;
  background: var(--sp-magenta);
  border: 2px solid var(--sp-ink);
  border-radius: 6px;
}
[data-theme="solarpop"] .today-chip,
[data-theme="solarpop"] .day-chip,
[data-theme="solarpop"] .log-date-chip {
  background: var(--sp-paper);
  border: var(--bd2);
  border-radius: 30px;
  box-shadow: var(--shadow-sm);
  color: var(--text);
  font-weight: 700;
}
[data-theme="solarpop"] .day-chip::before {
  width: 9px; height: 9px; border-radius: 50%;
  background: var(--c); border: 2px solid var(--sp-ink);
}
[data-theme="solarpop"] .log-date-chip.backdated { background: var(--sp-magenta); color: #fff; border-color: var(--sp-ink); }

[data-theme="solarpop"] .icon-btn,
[data-theme="solarpop"] .back-btn {
  background: var(--sp-paper);
  border: var(--bd);
  border-radius: var(--r-ctl);
  box-shadow: var(--shadow-sm);
  color: var(--text);
}

/* segmented control → chunky sticker toggle */
[data-theme="solarpop"] .seg {
  border: var(--bd);
  border-radius: var(--r-ctl);
  box-shadow: var(--shadow-sm);
  overflow: hidden;
  background: var(--sp-paper);
}
[data-theme="solarpop"] .seg-btn { color: var(--text-2); }
[data-theme="solarpop"] .seg-btn + .seg-btn { border-left: var(--bd); }
[data-theme="solarpop"] .seg-btn.is-active { background: var(--sp-ink); color: var(--sp-yellow); }

/* ===== dock → solid ink bar with poppy active tab ===== */
[data-theme="solarpop"] .dock {
  background: var(--sp-ink);
  border-top: 4px solid var(--sp-ink);
  box-shadow: 0 -4px 0 rgba(0,0,0,0.18);
}
[data-theme="solarpop"] .dock-btn {
  color: rgba(255,225,77,0.55);
  border-top: 4px solid transparent;
  font-weight: 700;
}
[data-theme="solarpop"] .dock-btn.is-active {
  color: var(--sp-yellow);
  border-top-color: var(--sp-magenta);
}
@media (min-width: 900px) {
  [data-theme="solarpop"] .dock { border: var(--bd); border-bottom: 0; border-radius: 16px 16px 0 0; }
}

/* ============ LOG ============ */
[data-theme="solarpop"] .step-label { color: var(--text-2); }

/* day cards — colored name sticker carries push/legs/pull */
[data-theme="solarpop"] .day-card {
  background: var(--sp-paper);
  border: var(--bd);
  border-radius: var(--r-card);
  box-shadow: var(--shadow);
  padding: 20px;
}
[data-theme="solarpop"] .day-card .day-name {
  display: inline-block;
  align-self: flex-start;
  background: var(--c);
  color: var(--on-c);
  font-family: var(--font-display);
  font-weight: 900;
  font-size: 27px;
  letter-spacing: -0.01em;
  padding: 6px 14px;
  border: var(--bd);
  border-radius: 11px;
  box-shadow: var(--shadow-sm);
  transform: rotate(-1.5deg);
}
[data-theme="solarpop"] .day-card .day-name::after { content: none; }
[data-theme="solarpop"] .day-card .day-meta {
  color: var(--text-2);
  font-weight: 700;
}
[data-theme="solarpop"] .day-card .day-minis { color: var(--c); opacity: 1; }

/* exercise grid → separate paper tiles, day-colored top bar */
[data-theme="solarpop"] .ex-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
  background: transparent;
  border: 0;
  padding: 2px;
}
[data-theme="solarpop"] .ex-card {
  background: var(--sp-paper);
  border: var(--bd);
  border-radius: var(--r-card);
  box-shadow: inset 0 6px 0 var(--c), var(--shadow-sm);
  padding: 26px 12px 16px;
}
[data-theme="solarpop"] .ex-card svg.pict { color: var(--sp-ink); }
[data-theme="solarpop"] .ex-card .ex-name { letter-spacing: 0.04em; }
[data-theme="solarpop"] .ex-card .ex-done {
  background: var(--pull);
  color: #fff;
  border: var(--bd2);
  border-radius: 0 var(--r-card) 0 11px;
  width: 26px; height: 26px;
}

/* entry step */
[data-theme="solarpop"] .entry-hero {
  background: var(--sp-paper);
  border: var(--bd);
  border-radius: var(--r-card);
  box-shadow: inset 0 7px 0 var(--c), var(--shadow);
  padding: 20px 18px;
}
[data-theme="solarpop"] .entry-hero svg.pict { color: var(--c); }
[data-theme="solarpop"] .entry-hero .ex-name { font-family: var(--font-display); font-weight: 900; }

[data-theme="solarpop"] .stepper {
  background: var(--sp-paper);
  border: var(--bd);
  border-radius: var(--r-card);
  box-shadow: var(--shadow-sm);
  padding: 16px 18px 20px;
}
[data-theme="solarpop"] .stepper-label { color: var(--text-2); }
[data-theme="solarpop"] .step-btn {
  background: var(--sp-paper-2);
  border: var(--bd);
  border-radius: 12px;
  box-shadow: var(--shadow-sm);
  color: var(--sp-ink);
  font-weight: 700;
}
[data-theme="solarpop"] .stepper-value { font-family: var(--font-display); font-weight: 900; }
[data-theme="solarpop"] .last-hint { color: var(--text-2); }

/* the SAVE button = big day-colored sticker CTA */
[data-theme="solarpop"] .save-btn {
  background: var(--c, var(--sp-ink));
  color: var(--on-c);
  border: var(--bd);
  border-radius: var(--r-card);
  box-shadow: var(--shadow);
  letter-spacing: 0.14em;
}

/* ============ HISTORY — GRID ============ */
[data-theme="solarpop"] .table-wrap {
  background: var(--sp-paper-2);
  border: var(--bd);
  border-radius: var(--r-card);
  box-shadow: var(--shadow);
}
[data-theme="solarpop"] .htable th,
[data-theme="solarpop"] .htable td {
  border-bottom: 1.5px dashed var(--sp-line);
  border-right: 1.5px dashed var(--sp-line);
}
[data-theme="solarpop"] .htable thead th,
[data-theme="solarpop"] .htable .corner {
  background: var(--sp-ink);
  color: var(--sp-yellow);
  border-right-color: rgba(255,255,255,0.18);
}
[data-theme="solarpop"] .htable .date-h { font-family: var(--font-display); font-weight: 900; }
[data-theme="solarpop"] .htable .date-h .dow { color: rgba(255,225,77,0.7); }
[data-theme="solarpop"] .htable .day-dots i { border-radius: 50%; border: 1.5px solid rgba(0,0,0,0.35); }
[data-theme="solarpop"] .htable .sub-h { background: var(--sp-paper); color: var(--text-2); }

/* day-typed section band — bold push/legs/pull */
[data-theme="solarpop"] .htable .section-row .rail,
[data-theme="solarpop"] .htable .section-row td {
  background: var(--c);
  color: var(--on-c);
}
[data-theme="solarpop"] .htable .section-row .rail { letter-spacing: 0.12em; }
/* exercise rail gets a colored left stripe tying it to its day */
[data-theme="solarpop"] .htable tbody .rail {
  background: var(--sp-paper);
  color: var(--sp-ink);
  box-shadow: inset 5px 0 0 var(--c);
}
[data-theme="solarpop"] .htable td.cell { background: var(--sp-paper-2); color: var(--text-3); }
[data-theme="solarpop"] .htable td.cell.filled { color: var(--sp-ink); }
[data-theme="solarpop"] .htable td.cell.filled.w { font-family: var(--font-display); font-weight: 900; }
[data-theme="solarpop"] .table-wrap.scrolled-x .corner,
[data-theme="solarpop"] .table-wrap.scrolled-x .rail { box-shadow: inset 5px 0 0 var(--c), 7px 0 8px -6px rgba(0,0,0,0.4); }
[data-theme="solarpop"] .table-wrap.scrolled-x .corner { box-shadow: 7px 0 8px -6px rgba(0,0,0,0.4); }

/* desktop scroll arrows → sticker buttons */
@media (hover: hover) and (pointer: fine) {
  [data-theme="solarpop"] .hscroll-btn {
    background: var(--sp-paper);
    border: var(--bd);
    border-radius: 10px;
    box-shadow: var(--shadow-sm);
    color: var(--sp-ink);
  }
  [data-theme="solarpop"] .hscroll-btn:hover:not(:disabled) { background: var(--sp-ink); color: var(--sp-yellow); }
}

/* ============ HISTORY — FOCUS ============ */
[data-theme="solarpop"] .focus-context .fc-day { font-family: var(--font-display); font-weight: 900; color: var(--c, var(--sp-ink)); -webkit-text-stroke: 0; }
[data-theme="solarpop"] .focus-context .fc-date { color: var(--text-2); }
[data-theme="solarpop"] .focus-card {
  background: var(--sp-paper);
  border: var(--bd);
  border-radius: var(--r-card);
  box-shadow: var(--shadow);
  overflow: hidden;
}
[data-theme="solarpop"] .focus-card .fcard-head {
  background: var(--c);
  border-bottom: var(--bd);
}
[data-theme="solarpop"] .focus-card .fcard-date { font-family: var(--font-display); font-weight: 900; color: var(--on-c); }
[data-theme="solarpop"] .focus-card .fcard-dow { color: rgba(255,255,255,0.82); }
[data-theme="solarpop"] .fcard-row { border-bottom: 1.5px dashed var(--sp-line); }
[data-theme="solarpop"] .fcard-row svg.pict { color: var(--c); opacity: 1; }
[data-theme="solarpop"] .fcard-row .fr-set { font-family: var(--font-display); font-weight: 900; }

/* delta chips → sticker pills */
[data-theme="solarpop"] .delta {
  border: var(--bd2);
  border-radius: 20px;
  box-shadow: 1.5px 1.5px 0 var(--sp-ink);
  font-weight: 700;
}
[data-theme="solarpop"] .delta.up   { background: var(--pull); color: #fff; }
[data-theme="solarpop"] .delta.down { background: var(--push); color: #fff; }
[data-theme="solarpop"] .delta.same { background: var(--sp-yellow); color: var(--sp-ink); }

/* ============ PROGRESS ============ */
[data-theme="solarpop"] .picker-days {
  border: var(--bd);
  border-radius: var(--r-ctl);
  box-shadow: var(--shadow-sm);
  overflow: hidden;
  background: var(--sp-paper);
}
[data-theme="solarpop"] .pd-btn { color: var(--text-2); }
[data-theme="solarpop"] .pd-btn + .pd-btn { border-left: var(--bd); }
/* each tab carries its own --c (push/legs/pull) → active tab lights up in that colour */
[data-theme="solarpop"] .pd-btn.is-active { background: var(--c); color: #fff; }

[data-theme="solarpop"] .pe-chip {
  background: var(--sp-paper);
  border: var(--bd2);
  border-radius: 30px;
  box-shadow: 2px 2px 0 var(--sp-ink);
  color: var(--text-2);
}
[data-theme="solarpop"] .pe-chip.is-active { background: var(--c, var(--sp-ink)); color: var(--on-c); border-color: var(--sp-ink); }
[data-theme="solarpop"] .pe-chip.is-active svg.pict { color: var(--on-c); }

/* stat tiles — headline stat gets the day fill */
[data-theme="solarpop"] .stat-strip {
  display: grid; grid-template-columns: repeat(4, 1fr);
  gap: 10px; background: transparent; border: 0;
}
[data-theme="solarpop"] .stat {
  background: var(--sp-paper);
  border: var(--bd);
  border-radius: 12px;
  box-shadow: var(--shadow-sm);
  padding: 14px 10px 12px;
}
[data-theme="solarpop"] .stat:first-child { background: var(--c, var(--sp-ink)); }
[data-theme="solarpop"] .stat:first-child .s-val,
[data-theme="solarpop"] .stat:first-child .s-val.accent { color: var(--on-c); }
[data-theme="solarpop"] .stat:first-child .s-lbl { color: rgba(255,255,255,0.85); }
[data-theme="solarpop"] .stat .s-val { font-family: var(--font-display); font-weight: 900; }
[data-theme="solarpop"] .stat .s-lbl { color: var(--text-2); }

[data-theme="solarpop"] .chart-card {
  background: var(--sp-paper);
  border: var(--bd);
  border-radius: var(--r-card);
  box-shadow: var(--shadow);
  padding: 16px 14px 12px;
}
[data-theme="solarpop"] .chart-readout { color: var(--text-2); }
[data-theme="solarpop"] .chart-readout b { color: var(--sp-ink); }
[data-theme="solarpop"] .chart-readout .ro-score { font-family: var(--font-display); font-weight: 900; }
[data-theme="solarpop"] .chart-svg-wrap svg {
  background: var(--sp-paper-2);
  border: var(--bd);
  border-radius: 10px;
}
/* chart paints in the active day colour (--chart-c, set by progress.js) */
[data-theme="solarpop"] .chart-svg .grid { stroke: var(--sp-line); stroke-dasharray: 5 5; }
[data-theme="solarpop"] .chart-svg .axis-label { fill: var(--text-2); font-weight: 700; }
[data-theme="solarpop"] .chart-svg .ln { stroke: var(--c, var(--sp-ink)); stroke-width: 4; }
[data-theme="solarpop"] .chart-svg .ln-weight { stroke: var(--text-3); stroke-width: 2; stroke-dasharray: 4 4; }
[data-theme="solarpop"] .chart-svg .dot { fill: var(--c, var(--sp-ink)); stroke: var(--sp-ink); stroke-width: 2; }
[data-theme="solarpop"] .chart-svg .dot-weight { fill: var(--text-3); }
[data-theme="solarpop"] .chart-svg .bar { fill: var(--c, var(--sp-ink)); stroke: var(--sp-ink); stroke-width: 2; }
[data-theme="solarpop"] .chart-svg .area { fill: color-mix(in srgb, var(--c, var(--sp-ink)) 14%, transparent); }
[data-theme="solarpop"] .chart-svg .pr-star { fill: var(--sp-magenta); stroke: var(--sp-ink); stroke-width: 1.5; }
[data-theme="solarpop"] .chart-svg .now-val { fill: var(--sp-ink); font-family: var(--font-display); font-weight: 900; }
[data-theme="solarpop"] .chart-svg .now-lbl { fill: var(--text-2); }
[data-theme="solarpop"] .chart-svg .scrub { stroke: var(--sp-magenta); stroke-width: 2; stroke-dasharray: 4 4; }
[data-theme="solarpop"] .chart-svg .scrub-dot { stroke: var(--sp-magenta); fill: var(--sp-paper-2); stroke-width: 2.5; }
[data-theme="solarpop"] .chart-legend { color: var(--text-2); }
[data-theme="solarpop"] .chart-legend .lg i { height: 4px; border-radius: 3px; }

/* ============ EMPTY STATES ============ */
[data-theme="solarpop"] .empty svg.pict { color: var(--c, var(--legs)); }
[data-theme="solarpop"] .empty .e-title { font-family: var(--font-display); font-weight: 900; }
[data-theme="solarpop"] .empty .e-btn {
  background: var(--sp-ink); color: var(--sp-yellow);
  border: var(--bd); border-radius: var(--r-ctl); box-shadow: var(--shadow-sm);
}

/* ============ COACH — speech bubbles ============ */
[data-theme="solarpop"] .coach-msg { border-radius: 16px; position: relative; }
[data-theme="solarpop"] .coach-msg.coach {
  background: var(--sp-paper);
  border: var(--bd);
  box-shadow: var(--shadow-sm);
  color: var(--sp-ink);
}
[data-theme="solarpop"] .coach-msg.coach::after {   /* little tail, bottom-left */
  content: ""; position: absolute; left: 16px; bottom: -11px;
  width: 16px; height: 16px; background: var(--sp-paper);
  border-right: var(--bd); border-bottom: var(--bd);
  transform: rotate(35deg) skewX(-8deg);
}
[data-theme="solarpop"] .coach-msg.user {
  background: var(--sp-ink);
  color: var(--sp-yellow);
  border: var(--bd);
  box-shadow: var(--shadow-sm);
  font-weight: 600;
}
[data-theme="solarpop"] .coach-msg.user::after {    /* tail, bottom-right */
  content: ""; position: absolute; right: 16px; bottom: -11px;
  width: 16px; height: 16px; background: var(--sp-ink);
  border-right: var(--bd); border-bottom: var(--bd);
  transform: rotate(-35deg) skewX(8deg);
}
[data-theme="solarpop"] .coach-msg code { background: var(--sp-yellow); color: var(--sp-ink); border-radius: 4px; }
[data-theme="solarpop"] .coach-msg.user code { background: rgba(255,225,77,0.22); color: var(--sp-yellow); }
[data-theme="solarpop"] .coach-msg.coach .cursor { background: var(--sp-magenta); }
[data-theme="solarpop"] .coach-typing i { background: var(--sp-magenta); border-radius: 50%; }

[data-theme="solarpop"] .coach-empty .ce-orb {
  background: var(--sp-magenta); color: #fff;
  border: var(--bd); border-radius: 18px; box-shadow: var(--shadow);
  transform: rotate(-3deg);
}
[data-theme="solarpop"] .coach-empty .ce-title { font-family: var(--font-display); font-weight: 900; }
[data-theme="solarpop"] .coach-chip {
  background: var(--sp-paper);
  border: var(--bd2); border-radius: 12px; box-shadow: var(--shadow-sm);
}
[data-theme="solarpop"] .coach-note { color: var(--text-2); }

[data-theme="solarpop"] .coach-input {
  background: var(--sp-paper);
  border: var(--bd); border-radius: 12px;
}
[data-theme="solarpop"] .coach-input:focus { border-color: var(--sp-magenta); }
[data-theme="solarpop"] .coach-send {
  background: var(--sp-magenta); color: #fff;
  border: var(--bd); border-radius: 12px; box-shadow: var(--shadow-sm);
}

/* chat history + memory rows → sticker cards */
[data-theme="solarpop"] .coach-hist-row,
[data-theme="solarpop"] .coach-mem-row,
[data-theme="solarpop"] .entry-row,
[data-theme="solarpop"] .account-row,
[data-theme="solarpop"] .set-note,
[data-theme="solarpop"] .date-pick {
  background: var(--sp-paper);
  border: var(--bd2); border-radius: 12px; box-shadow: var(--shadow-sm);
}
[data-theme="solarpop"] .coach-hist-row.is-active { border-color: var(--sp-magenta); background: var(--sp-paper); box-shadow: var(--shadow-sm); }
[data-theme="solarpop"] .coach-mem-row .cm-kind { border: var(--bd2); border-radius: 7px; background: var(--sp-yellow); }
[data-theme="solarpop"] .coach-hist-row .chr-title { font-weight: 700; }

/* ============ SHEET ============ */
[data-theme="solarpop"] .sheet {
  background: var(--sp-paper);
  border: var(--bd); border-bottom: 0;
  border-radius: var(--r-sheet) var(--r-sheet) 0 0;
  box-shadow: 0 -6px 0 rgba(0,0,0,0.12);
}
[data-theme="solarpop"] .sheet-grab { background: var(--sp-ink); border-radius: 3px; width: 44px; height: 5px; }
[data-theme="solarpop"] .sheet h3 { font-family: var(--font-display); font-weight: 900; }
[data-theme="solarpop"] .sheet .sheet-sub { color: var(--text-2); }
[data-theme="solarpop"] .sheet-action {
  background: var(--sp-paper);
  border: var(--bd2); border-radius: 12px; box-shadow: var(--shadow-sm);
}
[data-theme="solarpop"] .sheet-action.accent { background: var(--sp-ink); color: var(--sp-yellow); border-color: var(--sp-ink); }
[data-theme="solarpop"] .sheet-action.danger { background: var(--push); color: #fff; border-color: var(--sp-ink); }
[data-theme="solarpop"] .entry-row .er-del { background: var(--push); color: #fff; border: var(--bd2); border-radius: 9px; }
[data-theme="solarpop"] .date-quick-btn {
  background: var(--sp-paper); border: var(--bd2); border-radius: 10px; box-shadow: var(--shadow-sm); color: var(--sp-ink);
}
[data-theme="solarpop"] .date-quick-btn.is-active { background: var(--sp-ink); color: var(--sp-yellow); }

/* ============ TOAST ============ */
[data-theme="solarpop"] .toast {
  background: var(--sp-ink); color: var(--sp-yellow);
  border: var(--bd); border-radius: 12px; box-shadow: var(--shadow);
}

/* ============ SETTINGS ============ */
[data-theme="solarpop"] .account-avatar { background: var(--legs); color: #fff; border: var(--bd2); border-radius: 10px; }
[data-theme="solarpop"] .account-name { font-weight: 700; }
[data-theme="solarpop"] .account-out { background: var(--sp-paper); border: var(--bd2); border-radius: 9px; box-shadow: var(--shadow-sm); }
[data-theme="solarpop"] .set-title { font-weight: 700; }
[data-theme="solarpop"] .set-seg {
  border: var(--bd2); border-radius: 9px; overflow: hidden; box-shadow: var(--shadow-sm); background: var(--sp-paper);
}
[data-theme="solarpop"] .set-opt + .set-opt { border-left: var(--bd2); }
[data-theme="solarpop"] .set-opt.is-active { background: var(--sp-ink); color: var(--sp-yellow); }
[data-theme="solarpop"] .set-toggle { border: var(--bd2); border-radius: 30px; background: var(--sp-paper); width: 54px; }
[data-theme="solarpop"] .set-toggle.on { background: var(--pull); border-color: var(--sp-ink); }
[data-theme="solarpop"] .set-knob { background: var(--sp-ink); border-radius: 50%; }
[data-theme="solarpop"] .set-toggle.on .set-knob { background: #fff; transform: translateX(24px); }
[data-theme="solarpop"] .set-divider { background: var(--sp-line); }

/* ============ AUTH GATE ============ */
[data-theme="solarpop"] .auth-gate {
  background-color: var(--sp-yellow);
  background-image: radial-gradient(var(--sp-yellow-deep) 1.6px, transparent 1.7px);
  background-size: 22px 22px;
}
[data-theme="solarpop"] .auth-brand span { font-family: var(--font-display); font-weight: 900; }
[data-theme="solarpop"] .auth-title { font-family: var(--font-display); font-weight: 900; letter-spacing: -0.02em; }
[data-theme="solarpop"] .auth-sub { color: var(--text-2); }
[data-theme="solarpop"] .auth-google {
  background: var(--sp-paper); color: var(--sp-ink);
  border: var(--bd); border-radius: 12px; box-shadow: var(--shadow);
}
[data-theme="solarpop"] .auth-input {
  background: var(--sp-paper); border: var(--bd); border-radius: 12px;
}
[data-theme="solarpop"] .auth-input:focus { border-color: var(--sp-magenta); }
[data-theme="solarpop"] .auth-or { color: var(--text-2); }
[data-theme="solarpop"] .auth-or::before, [data-theme="solarpop"] .auth-or::after { background: var(--sp-ink); height: 2px; }
[data-theme="solarpop"] .auth-submit {
  background: var(--sp-magenta); color: #fff;
  border: var(--bd); border-radius: 12px; box-shadow: var(--shadow);
}
[data-theme="solarpop"] .auth-error { color: var(--push); font-weight: 700; }
[data-theme="solarpop"] .auth-toggle b { color: var(--legs); }

/* hover lifts (desktop) */
@media (min-width: 900px) and (hover: hover) {
  [data-theme="solarpop"] .day-card:hover,
  [data-theme="solarpop"] .ex-card:hover,
  [data-theme="solarpop"] .coach-chip:hover,
  [data-theme="solarpop"] .sheet-action:hover {
    background: var(--sp-paper);
    transform: translate(-1px,-1px);
    box-shadow: 7px 7px 0 var(--sp-ink);
  }
}

/* ===================== AUDIT PASS 1 — senior-eng ↔ staff-UX review fixes ===================== */

/* [HIGH] stat strip overflowed — let tracks shrink below min-content so the 4th tile fits */
[data-theme="solarpop"] .stat-strip { grid-template-columns: repeat(4, minmax(0,1fr)); gap: 6px; }
[data-theme="solarpop"] .stat { padding: 13px 7px 11px; }

/* [MED] keep the day-colour bar on ex-card during press; add chip press feedback */
[data-theme="solarpop"] .ex-card:active { box-shadow: inset 0 6px 0 var(--c, var(--sp-ink)), 1px 1px 0 var(--sp-ink) !important; }
[data-theme="solarpop"] .coach-chip:active { transform: translate(2px,2px) !important; box-shadow: 1px 1px 0 var(--sp-ink) !important; }

/* [MED] auth CTA: ink-on-magenta passes AA (white failed at 13px bold) */
[data-theme="solarpop"] .auth-submit { color: var(--sp-ink); }

/* [MED] focus head: solid white weekday for AA on bands; no doubled divider on the last row */
[data-theme="solarpop"] .focus-card .fcard-dow { color: #ffffff; }
[data-theme="solarpop"] .fcard-row:last-child { border-bottom: 0; }

/* [MED] stepper floats at card depth (was the smallest shadow on the largest surface) */
[data-theme="solarpop"] .stepper { box-shadow: var(--shadow); }

/* [MED] history section bands: solid ink underline + faint white inner divider (drop muddy tan dashes) */
[data-theme="solarpop"] .htable .section-row td,
[data-theme="solarpop"] .htable .section-row .rail { border-right-color: rgba(255,255,255,0.22); border-bottom: 2px solid var(--sp-ink); }

/* [MED] inputs float like their paired buttons (offset-shadow consistency) */
[data-theme="solarpop"] .coach-input,
[data-theme="solarpop"] .auth-input { box-shadow: var(--shadow-sm); }

/* [LOW] --c fallbacks so a colourless day can't invalidate the whole box-shadow; balance tile content */
[data-theme="solarpop"] .ex-card { box-shadow: inset 0 6px 0 var(--c, var(--sp-ink)), var(--shadow-sm); justify-content: center; }
[data-theme="solarpop"] .entry-hero { box-shadow: inset 0 7px 0 var(--c, var(--sp-ink)), var(--shadow); }

/* [LOW] chart: single frame (chart-card already frames it); readable weight series */
[data-theme="solarpop"] .chart-svg-wrap svg { border: 0; border-radius: 0; }
[data-theme="solarpop"] .chart-svg .ln-weight { stroke: #6b5e3a; }
[data-theme="solarpop"] .chart-svg .dot-weight { fill: #6b5e3a; }
[data-theme="solarpop"] .chart-legend .lg-e1rm { background: var(--c, var(--sp-ink)); }
[data-theme="solarpop"] .chart-legend .lg-weight { background: #6b5e3a; }
[data-theme="solarpop"] .chart-legend .lg-reps { background: var(--c, var(--sp-ink)); }

/* [LOW] frozen rail: ellipsis long names; hard-offset scroll cue (no blur) */
[data-theme="solarpop"] .htable tbody .rail { overflow: hidden; text-overflow: ellipsis; }
[data-theme="solarpop"] .table-wrap.scrolled-x .rail { box-shadow: inset 5px 0 0 var(--c), 4px 0 0 -1px rgba(0,0,0,0.45); }
[data-theme="solarpop"] .table-wrap.scrolled-x .corner { box-shadow: 4px 0 0 -1px rgba(0,0,0,0.45); }

/* [LOW] header chips + sheet actions on the 3px tappable signature */
[data-theme="solarpop"] .today-chip,
[data-theme="solarpop"] .day-chip,
[data-theme="solarpop"] .log-date-chip,
[data-theme="solarpop"] .sheet-action { border: var(--bd); }

/* [LOW] active dock tab reads beneath the 4px ink edge; lift inactive label a touch */
[data-theme="solarpop"] .dock-btn { color: rgba(255,225,77,0.62); }
[data-theme="solarpop"] .dock-btn.is-active { background: rgba(255,45,149,0.16); }

/* [LOW] alternating sticker tilt for poster delight; close the coach-bubble tail seam */
[data-theme="solarpop"] .day-card:nth-of-type(even) .day-name { transform: rotate(1.5deg); }
[data-theme="solarpop"] .coach-msg.coach::after { bottom: -9px; }

/* ---- CONTRAST: never read --text-3; default muted/meta to --text-2 (≈7:1 paper, ≈5.7:1 yellow) ---- */
[data-theme="solarpop"] .coach-empty .ce-sub,
[data-theme="solarpop"] .empty .e-sub,
[data-theme="solarpop"] .set-desc,
[data-theme="solarpop"] .ex-card .ex-sub,
[data-theme="solarpop"] .htable td.cell,
[data-theme="solarpop"] .fcard-row .fr-set .u,
[data-theme="solarpop"] .fcard-row .fr-set .x,
[data-theme="solarpop"] .set-opt,
[data-theme="solarpop"] .set-note,
[data-theme="solarpop"] .account-mail,
[data-theme="solarpop"] .last-hint,
[data-theme="solarpop"] .chart-readout { color: var(--text-2); }
[data-theme="solarpop"] .coach-input::placeholder,
[data-theme="solarpop"] .auth-input::placeholder { color: var(--text-2); }

/* ===================== Progress: "Log this exercise" button + bold scrubbed set ===================== */
[data-theme="solarpop"] .ctrl-log {
  background: var(--c, var(--sp-ink));
  color: var(--on-c, #fff);
  border: var(--bd);
  border-radius: var(--r-ctl);
  box-shadow: var(--shadow-sm);
}
[data-theme="solarpop"] .ctrl-log:active { transform: translate(2px,2px); box-shadow: 1px 1px 0 var(--sp-ink); opacity: 1; }
[data-theme="solarpop"] .chart-readout .ro-set { font-family: var(--font-display); font-weight: 900; color: var(--sp-ink); }
