/* ============================================================================
   Pascaline — BRAND TOKEN LAYER (single source of truth)
   ----------------------------------------------------------------------------
   This is the ONLY file that defines colors, type, and spacing values.
   Every page and component references these custom properties — never a raw
   hex, font family, or magic number.

   To re-skin the entire site: edit the values below.
   To swap the logo:            replace the wordmark partial (see brand-mark
                                in the page shell), not anything here.

   The current identity is a deliberate placeholder: a clean "ledger" look
   (cool paper, green-black ink, red reserved for tax/amounts, brass hairline).
   It is distinctive but neutral — meant to evolve when the final logo lands.
   ============================================================================ */

:root {
  /* ---- Palette (light) ---------------------------------------------------- */
  --color-bg:            #F4F6F3;  /* cool paper */
  --color-surface:       #FDFDFB;  /* cards */
  --color-surface-2:     #EEF1EC;  /* subtle fills */
  --color-ink:           #12211D;  /* primary text (green-black) */
  --color-ink-soft:      #46564F;  /* secondary text */
  --color-ink-faint:     #7C8A83;  /* captions / meta */
  --color-rule:          #D6DCD4;  /* hairlines / borders */
  --color-accent:        #3E6B54;  /* sage — primary action / links */
  --color-accent-ink:    #FFFFFF;  /* text on accent */
  --color-amount:        #B3382C;  /* red-ink — reserved for tax/amounts owed */
  --color-brass:         #A67C2E;  /* signature rule / dividers */
  --color-positive:      #3E6B54;  /* savings / cleared */
  --color-warn-bg:       #FBEFED;
  --color-warn-border:   #E3B7B1;

  /* ---- Type --------------------------------------------------------------- */
  --font-display: "Libre Caslon Text", Georgia, "Times New Roman", serif;
  --font-body:    "Public Sans", system-ui, -apple-system, sans-serif;
  --font-mono:    "IBM Plex Mono", ui-monospace, "SF Mono", monospace;

  --text-xs:   0.75rem;
  --text-sm:   0.875rem;
  --text-base: 1rem;
  --text-lg:   1.125rem;
  --text-xl:   1.375rem;
  --text-2xl:  1.75rem;
  --text-3xl:  2.25rem;
  --text-hero: clamp(2rem, 5vw, 3.25rem);

  --leading-tight: 1.15;
  --leading-body:  1.55;

  /* ---- Space / layout ----------------------------------------------------- */
  --space-1: 0.25rem;
  --space-2: 0.5rem;
  --space-3: 0.75rem;
  --space-4: 1rem;
  --space-5: 1.5rem;
  --space-6: 2rem;
  --space-8: 3rem;
  --space-10: 4rem;
  --space-12: 6rem;

  --container: 1120px;
  --container-narrow: 760px;

  --radius-sm: 2px;
  --radius:    4px;
  --radius-pill: 999px;

  --border-hair: 1px solid var(--color-rule);
  --border-strong: 2px solid var(--color-ink);
  --border-brass: 3px double var(--color-brass);

  --shadow-card: 0 1px 0 var(--color-rule);
  --shadow-pop: 0 4px 20px rgba(18, 33, 29, 0.08);

  /* ---- Tier badge semantics ---------------------------------------------- */
  --tier-beta-fg: var(--color-ink-soft);
  --tier-beta-bg: transparent;
  --tier-verified-fg: var(--color-accent);
  --tier-verified-bg: rgba(62, 107, 84, 0.1);
}

/* ---- Dark mode (stubbed — tokens only; ship light-first, don't preclude) --- */
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) {
    --color-bg:        #101613;
    --color-surface:   #161E1A;
    --color-surface-2: #1E2823;
    --color-ink:       #E7ECE8;
    --color-ink-soft:  #A9B5AE;
    --color-ink-faint: #75837B;
    --color-rule:      #2A352F;
    --color-accent:    #6FA588;
    --color-amount:    #E07A6E;
    --color-brass:     #C79A4A;
    --color-warn-bg:   #2A1A17;
    --color-warn-border: #5A322B;
    --shadow-card: 0 1px 0 var(--color-rule);
    --shadow-pop: 0 4px 20px rgba(0, 0, 0, 0.4);
  }
}
:root[data-theme="dark"] {
  --color-bg:        #101613;
  --color-surface:   #161E1A;
  --color-surface-2: #1E2823;
  --color-ink:       #E7ECE8;
  --color-ink-soft:  #A9B5AE;
  --color-ink-faint: #75837B;
  --color-rule:      #2A352F;
  --color-accent:    #6FA588;
  --color-amount:    #E07A6E;
  --color-brass:     #C79A4A;
  --color-warn-bg:   #2A1A17;
  --color-warn-border: #5A322B;
}
