/* ============================================================
   nimbus — design tokens
   eternalcloud's personal design system
   Night-sky surfaces. One warm light. Buttons you can press.
   ------------------------------------------------------------
   Naming rule: tokens are named by PURPOSE, never by hue.
   Provenance: comments cite the project each value was
   distilled from — this system was extracted, not invented.
   ============================================================ */

:root {
  color-scheme: dark;

  /* ---- Surfaces --------------------------------------------
     codekanban (#14161A) and double-ttt (#0b1220) met in the
     middle and nudged toward night-sky blue. Layered, never
     pure black. Each layer is one step brighter. */
  --bg:       #10131C;   /* the sky */
  --panel:    #171C29;   /* a card floating on it */
  --panel-2:  #1E2434;   /* a card on a card */
  --hairline: #2B3347;   /* edges are drawn, not shaded */

  /* ---- Ink (never pure white on never pure black) ---------- */
  --ink:   #E9ECF4;
  --dim:   #9AA4B8;
  --faint: #667186;

  /* ---- The two lights ---------------------------------------
     moon  = every interactive thing: links, buttons, focus,
             active filters. (codekanban --accent #6ea8fe,
             ig-follow-checker #60a5fa — same family, own value)
     honey = identity only: the sigil, text selection, the
             pinned/current marker. (pogo-kids #ffcf33, tuned
             for dark ground)
     House rule: honey never becomes a button.
     House rule: nothing glows except the nimbus. */
  --moon:       #82A7FF;
  --moon-deep:  #4A6CC7;   /* the pressed edge of a moon button */
  --moon-ink:   #0E1524;   /* text sitting on a moon fill */
  --moon-tint:  rgba(130, 167, 255, .13);
  --honey:      #F2C14E;
  --honey-deep: #B8891F;
  --honey-tint: rgba(242, 193, 78, .16);

  /* ---- Status (semantic; separate from the two lights) ------
     fresh/stale ramp from codekanban, re-tuned */
  --ok:    #4CC38A;
  --warn:  #E5A13A;
  --alert: #E5645A;
  --ok-tint:    rgba(76, 195, 138, .13);
  --warn-tint:  rgba(229, 161, 58, .13);
  --alert-tint: rgba(229, 100, 90, .13);

  /* ---- Shape: lightly rounded, never blobby; pills are pills.
     8 on controls, 12 on cards, 16 on panels — codekanban,
     trello-tagged-dashboard, and the Azalea work all agree. */
  --radius-ctl:   8px;
  --radius-card:  12px;
  --radius-panel: 16px;
  --radius-pill:  999px;

  /* ---- Depth: shadows are neutral and low. --press is the
     pogo-kids key edge (box-shadow: 0 2px 0) that makes a
     button feel like a physical key. */
  --shadow-rest: 0 1px 2px rgba(0, 0, 0, .25);
  --shadow-lift: 0 6px 18px rgba(0, 0, 0, .35);

  /* ---- Type: the display face is a guest; the body is the
     house. Space Grotesk + JetBrains Mono are self-hosted
     (codekanban vendor/); body text never waits for a webfont.
     Mono is reserved for data: metrics, hex, timestamps. */
  --display: "Space Grotesk", var(--body);
  --body: system-ui, -apple-system, "Segoe UI", Roboto, Helvetica,
          Arial, sans-serif;
  --mono: "JetBrains Mono", ui-monospace, "Cascadia Mono",
          Consolas, monospace;

  /* type scale — compact by default (codekanban runs 12–13px) */
  --text-hero:  clamp(34px, 5vw, 52px);
  --text-title: 22px;
  --text-lead:  16px;
  --text-body:  14px;
  --text-data:  12.5px;
  --text-micro: 11px;      /* always uppercase, tracked out */
  --track-micro: .08em;

  /* spacing — 4px base */
  --s1: 4px;  --s2: 8px;  --s3: 12px;  --s4: 16px;
  --s5: 24px; --s6: 32px; --s7: 48px;  --s8: 72px;

  /* motion — quick and functional; 120–320ms, nothing loops
     except the sigil's breathing */
  --fast: 120ms ease;
  --calm: 240ms ease;
}

/* ---- day theme --------------------------------------------
   Warm paper, from the pogo-kids side of the family
   (#fff7e6), disciplined for grown-up work. Same two lights,
   re-tuned for contrast on a bright ground. */
[data-theme="day"] {
  color-scheme: light;

  --bg:       #F8F4E9;
  --panel:    #FFFDF7;
  --panel-2:  #F0EBDD;
  --hairline: #E1DAC6;

  --ink:   #22283A;
  --dim:   #6A7183;
  --faint: #99A0B0;

  --moon:       #3B63D6;
  --moon-deep:  #2C4BA6;
  --moon-ink:   #F5F8FF;
  --moon-tint:  rgba(59, 99, 214, .10);
  --honey:      #E7AE2E;
  --honey-deep: #A87B14;
  --honey-tint: rgba(231, 174, 46, .20);

  --ok:    #1F935F;
  --warn:  #AE7307;
  --alert: #C2473D;
  --ok-tint:    rgba(31, 147, 95, .12);
  --warn-tint:  rgba(174, 115, 7, .12);
  --alert-tint: rgba(194, 71, 61, .12);

  --shadow-rest: 0 1px 2px rgba(43, 36, 18, .10);
  --shadow-lift: 0 6px 18px rgba(43, 36, 18, .14);
}
