/* ReziDay design tokens — single warm-cream theme (from design_import/ReziDay v1.0). */
:root {
  /* Canvas + warm surfaces — "cremă calmă": the design's cream with the yellow
     saturation pulled down, because long reading on the original #FDF4E3 was
     tiring. Same warm character, ~half the chroma; cards stay pure white. */
  /* Lightened ~10% from the #FBF6EC that reziday.ro still runs. This is the
     app-WIDE reading surface, not just the lesson's — 21 uses across nine
     stylesheets — so the lesson keeps sharing a background with the shell, the
     dashboard, grile and the public pages instead of opening a seam at the edge
     of the reading column. */
  --canvas: #FBF7EE;
  --surface: #F4EFE4;
  --surface-2: #FCF9F3;
  --surface-3: #F9F5EC;
  --sand: #EFEADF;
  --peach: #FADFB8;
  --peach-2: #FBE3C0;
  --cream-line: #EDE7DA;

  /* Cards + lines */
  --card: #FFFFFF;
  --border: #E7E0D2;
  --border-2: #D4CDBE;
  --divider: #F0EBE0;

  /* Teal (primary) */
  --teal: #0E7C7B;
  --teal-hover: #0A6362;
  --teal-ink: #0B5F5E;
  --teal-2: #2FA8A6;
  --teal-3: #3D9694;
  --teal-tint: #E3F2F0;
  --teal-tint-2: #EDF6F5;
  --teal-tint-3: #E8F4F3;
  --teal-border: #BFE4E2;
  --teal-border-2: #CFE7E5;
  --teal-bright: #8FD4D2;

  /* Ink + text */
  --ink: #0F2230;
  --ink-warm: #1C1B19;
  --body-c: #2C4254;
  /* Body prose now sits at the same value as --ink-warm, which is what
     `.lb-prose strong` already wears: emphasis in the lesson text is carried by
     WEIGHT alone, no longer by weight plus a tonal step. Deliberate — the two
     tokens stay separate so either can move on its own. */
  --body-warm: #1C1B19;
  --slate: #4A5D6D;
  --muted: #5B6B78;
  --muted-2: #7A8893;
  --muted-3: #A7B3BD;
  --muted-4: #BCC7CF;
  --faint: #98948C;

  /* Accents */
  --coral: #E76F51;
  --gold: #F4A340;
  --amber: #E4C465;

  /* Planner activity kinds. The fills are accents the app already owns — --teal,
     --coral, --gold, --success-ink — and what is added here is only what a filled card
     needs on top: the darker LIP for its 3px bottom edge, and, for gold, an ink dark
     enough to read on it (white on #F4A340 fails contrast, which is why that one
     carries its own ink). */
  --coral-deep: #C24E31;
  --gold-deep: #D3821B;
  --gold-ink: #3A2604;
  --success-deep: #3A6135;

  /* ⚠️ The plan colours an activity by its DIFFICULTY — ușor / mediu / greu — and the kind
     of activity (lectură vs grile) is carried by the drawn mark, not by the fill. Simulare
     stays --navy because it has no difficulty of its own.
     This replaced a five-step ramp that coloured by PASS number ("Trecerea 1 → 5+", one
     hue each). The pass number survives as TEXT on the card, in the agenda row and in the
     task dialog — only the colour moved, because seven fills all answering "how many times
     have I been here" left nothing saying what the activity was or what it would cost.

     Validated with the dataviz skill's palette validator, all pairs, against the white
     card surface, WITH --navy and the restanță ring --late in the set:

       worst pair, normal vision  ΔE 18.3  (floor 15)
       worst pair, protan/deutan  ΔE  9.3  (target 8)

     ⚠️ Four things constrain any replacement, and all four bind:
       · "Greu" CANNOT be an ordinary red. --late (#B7462F) is the restanță ring and a hard
         card can be overdue, so the ring is drawn ON this fill: at #C0392B the two measure
         ΔE 2.5 — the ring vanishes exactly where it matters most. #6E1F14 holds 18.3.
         --exam-day (#B23E20) sits in the same red region and in the same month grid.
       · Green→gold→red is the axis that collapses under deuteranopia, so the three steps
         are separated by LIGHTNESS as well as hue (0.75 / 0.80 / 0.29). Hue alone fails.
       · Two of the three fills carry dark text — ușor takes --dif-ink, mediu takes the
         --gold-ink the app already uses on a gold fill; only "greu" takes white.
       · There is deliberately NO fourth "necunoscut" band. Six neutrals were measured and
         every one sits under the floor against either the green or the gold — a neutral
         does not fit between them. Every activity must arrive with a difficulty; the
         server is what guarantees that, not a fallback colour here.
     Re-run the validator before changing any hex; "it looks fine" is what shipped the
     first version of the ramp this replaced. */
  --dif-usor: #57C489;
  --dif-usor-lip: #3B9E6A;
  --dif-mediu: #EFC03A;
  --dif-mediu-lip: #C5940F;
  --dif-greu: #6E1F14;
  --dif-greu-lip: #4A130B;
  --dif-ink: #04302F;         /* the dark ink ușor and mediu wear; greu takes white */

  /* Restanțe — work a study day went by without. Deeper and browner than --error
     (#A34B3E, which reads as a wrong answer) and distinct from --exam-day, because the
     two appear in the same month grid. */
  --late: #B7462F;
  --late-deep: #8E3D2C;
  --late-hover: #A83E28;

  /* The exam day, as a single disc in the plan's month and year grids. Deeper than
     --exam-tab (#C05336): that is a panel's tab carrying 12px type, this is a 20px
     circle that has to hold a 10px figure. */
  --exam-day: #B23E20;

  /* Population marks (`[la adult]` / `[la copil]`) deliberately declare NO
     token. Per the "Marcaj adult-copil (1c)" handoff the stroke is a hand-drawn
     SVG path carried as a data-URI, and its `fill` sits inside that URI where
     var() cannot reach — a token here would look authoritative and change
     nothing. The four fills (#A8DAD7 / #BFE4E2 adult, #F5CE81 / #F6D89B copil,
     one pair per surface) live in `.age-mark--*` in lesson.css; the ink is
     --teal-ink and --miss-ink, which is how the two scopes borrow colour the
     app already owns instead of adding a hue.
     Same story for the pencil underline under a section heading: its graphite
     (#3F3D39, lighter than --ink-warm on purpose — a line that matched the type
     would read as a rule, not a mark) lives in static/img/h2-pencil.svg, because
     an SVG used as an image cannot inherit currentColor either. */

  /* Semantic */
  --success: #5C9A54;
  --success-ink: #4C7A46;
  --success-tint: #F1F7EF;
  --error: #A34B3E;
  --error-2: #C26654;
  --error-tint: #FBF1EF;
  --warn-ink: #8A6A1F;

  /* Graded-answer colour code, shared by the grile session and the lesson
     quizzes: teal = correct and you picked it, MISS = correct but you did not,
     error = wrong and you picked it, neutral = wrong and you left it alone.
     --miss is a deeper gold than --amber, which is too pale to read as a state
     of its own next to teal and red on the cream canvas. */
  --miss: #C99A22;
  --miss-ink: #8A6A1F;
  --miss-tint: #FDF3DC;
  --miss-border: #EBD79B;

  /* Exam-subject sections (meta.exam_subject) — the whole section sits on a warm
     panel with a coral tab stitched onto its top edge. Palette from the
     "Subiect din anii anteriori" design handoff. */
  --exam-panel: #FBE7DE;
  --exam-panel-edge: #F0C5B2;
  --exam-tab: #C05336;        /* tab fill + the section's kicker inside the panel */
  --exam-tab-edge: #A8442A;   /* the tab's bottom lip */
  --exam-tab-meta: #FFDFCF;   /* the years, on the tab */

  /* Lesson callout cards */
  --why: #1B3A52;
  --why-deep: #12293B;
  --pearl: #3D9694;
  --pearl-deep: #2E7A78;
  --memo: #B98F3D;
  --memo-deep: #97722C;
  --trap: #C05336;
  --trap-2: #C26654;
  --trap-deep: #9E4227;

  /* Retention / score scale (weak → strong; 0 = unread) */
  --ret-0: #EEE6D2;
  --ret-1: #E76F51;
  --ret-2: #F4A340;
  --ret-3: #E4C465;
  --ret-4: #A3C48B;
  --ret-5: #5C9A54;

  /* Dark "community" surfaces */
  --navy: #0F2230;
  --navy-2: #1B3A52;
  --navy-text: #A9BCC9;
  --navy-line: rgba(253, 244, 227, .14);

  /* Card header bar — the teal strip worn by tables, comparison cards, lists,
     the inline quiz and the grile session card. Sizes live here once, so the
     family cannot drift apart again (it had, at 52px icons and 19px titles:
     three of those stacked in one lesson read as a wall of headers and stole
     the emphasis from the content). Adopted from /lista-preview variant B2. */
  --cardhead-pad-y: 9px;
  --cardhead-gap: 11px;
  --cardhead-ico: 30px;
  --cardhead-svg: 21px;
  --cardhead-title: 14.5px;

  /* Layout — the widest an app screen's content column gets before it starts
     leaving margins. One value for every screen, so the app keeps a single
     horizontal rhythm (see .screen in shell.css). 1520 = the lesson page's own
     widest footprint (--lesson-read-cap 1200 + the 320px knowledge panel), so
     on a big screen every part of the app runs out to the same line. */
  --screen-max: 1520px;

  /* Radii */
  --r-pill: 999px;
  --r-lg: 18px;
  --r-md: 16px;
  --r-sm: 12px;
  --r-xs: 10px;

  /* Shadows */
  --shadow-card: 0 1px 2px rgba(28, 27, 25, .03), 0 8px 24px rgba(28, 27, 25, .05);
  --shadow-pop: 0 16px 40px rgba(28, 60, 58, .10);
  --shadow-sheet: 0 -18px 48px rgba(15, 34, 48, .25);

  /* Fonts */
  --font-body: 'Geist', system-ui, sans-serif;
  --font-mono: 'Geist Mono', ui-monospace, SFMono-Regular, monospace;
  --font-serif: 'Source Serif 4', Georgia, serif;
  --font-logo: 'Sora', sans-serif;
  --font-eyebrow: 'Bricolage Grotesque', 'Geist', system-ui, sans-serif;

  /* Layout */
  --header-h: 64px;
  --sidebar-w: 216px;
}
