/* ============================================================
   COLORS — fromSpec
   Warm paper-and-ink near-monochrome with ONE signal color used
   with restraint. The message wins; the signal only marks intent
   (the spec, the approve gate, the live link).
   Signal = AZURE (a deep blue-violet) — an original choice,
   deliberately NOT the source brand's teal/cyan.
   Light-led, with a full dark theme.
   ============================================================ */
:root {
  /* ---- paper & ink (warm near-monochrome) ---- */
  --fs-paper:    #FBFAF7;  /* page base                       */
  --fs-paper-2:  #F2F1EB;  /* alt band / sunken               */
  --fs-card:     #FFFFFF;  /* raised surface                  */
  --fs-ink:      #16181B;  /* primary text / headlines        */
  --fs-ink-2:    #51555C;  /* secondary text                  */
  --fs-ink-3:    #5C616A;  /* tertiary / mono labels — darkened for ≥4.5:1 on tinted bands */
  --fs-ink-4:    #B6BAC0;  /* faintest                        */

  /* ---- the one signal color: AZURE (blueprint blue) ---- */
  --fs-azure:        #1A56DB;  /* primary signal              */
  --fs-azure-deep:   #1142AE;  /* hover ink / deep            */
  --fs-azure-bright: #2C6BE6;  /* bright accent (AA on paper) */
  --fs-azure-tint:   #E8EFFC;  /* signal wash                 */
  --fs-azure-line:   #BFD3F6;  /* signal hairline             */

  /* ---- deep neutral for contrast blocks (the "sheet") ---- */
  --fs-sheet:    #1A1D26;
  --fs-sheet-2:  #232734;

  /* ---- spec diff (muted, never neon) ---- */
  --fs-add:      #157C4C;
  --fs-add-tint: #E7F3EC;
  --fs-add-line: #BBE0CA;
  --fs-del:      #C2402B;
  --fs-del-tint: #FAEAE6;

  /* ---- lines & drafting grid ---- */
  --fs-line:    rgba(22,24,27,0.10);
  --fs-line-2:  rgba(22,24,27,0.17);
  --fs-grid:    rgba(22,24,27,0.045);  /* @kind color */

  /* ============ SEMANTIC ALIASES (light default) ============ */
  --surface-page:    var(--fs-paper);
  --surface-band:    var(--fs-paper-2);
  --surface-card:    var(--fs-card);
  --surface-sheet:   var(--fs-sheet);
  --surface-hover:   rgba(22,24,27,0.04);
  --surface-active:  rgba(22,24,27,0.07);

  --text-primary:    var(--fs-ink);
  --text-secondary:  var(--fs-ink-2);
  --text-muted:      var(--fs-ink-3);
  --text-faint:      var(--fs-ink-4);
  --text-inverse:    var(--fs-paper);
  --text-link:       var(--fs-azure);

  --border-subtle:   var(--fs-line);
  --border-default:  var(--fs-line);
  --border-strong:   var(--fs-line-2);

  --signal:          var(--fs-azure);
  --signal-hover:    var(--fs-azure-deep);
  --signal-bright:   var(--fs-azure-bright);
  --signal-tint:     var(--fs-azure-tint);
  --signal-line:     var(--fs-azure-line);
  --signal-contrast: #FFFFFF;

  /* status maps to spec lifecycle */
  --status-draft:    var(--fs-ink-3);
  --status-refining: var(--fs-azure);
  --status-approved: var(--fs-add);
  --status-blocked:  var(--fs-del);

  --focus-ring:      rgba(26,86,219,0.40);

  /* ---- wordmark color lock — one place, never drift ---- */
  --wm-base:   var(--text-secondary);  /* f · from */
  --wm-accent: var(--signal);          /* s_ · Spec */
}

/* ============ DARK theme — "the sheet" ============ */
html[data-theme="dark"], .theme-dark {
  --surface-page:   #0C0E12;
  --surface-band:   #121520;
  --surface-card:   #161A24;
  --surface-sheet:  #07080B;
  --surface-hover:  rgba(235,238,245,0.05);
  --surface-active: rgba(235,238,245,0.09);

  --text-primary:   #EAECF2;
  --text-secondary: #9AA0AC;
  --text-muted:     #868C97;
  --text-faint:     #3C414C;
  --text-inverse:   #0C0E12;
  --text-link:      #82AAF6;

  --border-subtle:  rgba(235,238,245,0.09);
  --border-default: rgba(235,238,245,0.10);
  --border-strong:  rgba(235,238,245,0.18);

  --signal:         #5B8DEF;
  --signal-hover:   #82AAF6;
  --signal-bright:  #A6C2FA;
  --signal-tint:    rgba(59,120,245,0.16);
  --signal-line:    rgba(59,120,245,0.34);
  --signal-contrast:#0C0E12;

  --fs-add:         #36C98A;
  --fs-add-tint:    rgba(54,201,138,0.14);
  --fs-add-line:    rgba(54,201,138,0.32);
  --fs-del:         #F07A5F;
  --fs-del-tint:    rgba(240,122,95,0.14);
  --fs-grid:        rgba(235,238,245,0.05);

  --status-draft:   #6B717C;
  --status-refining:#5B8DEF;
  --status-approved:#36C98A;
  --status-blocked: #F07A5F;

  --focus-ring:     rgba(59,120,245,0.50);
}
