/* ==========================================================================
   VISTIERA · Premium design tokens  v1.0  (2026-10-21)
   North star: mockups/04-wow-povestea-lunii.png — navy de noapte, Fraunces mare,
   accent cupru italic, strălucire caldă, carduri de sticlă, notă onestă de sursă.
   Usage: <html data-theme="dark"> (primary) or data-theme="light" (paper).
   App name is a variable: --app-name (CSS) / AppBrand.name (Dart). Swap to
   Cumpăt / Arămiu / Banii Mei without touching layouts.
   All text/background pairs below are WCAG 2.1 AA verified (ratios in design-system.md).
   ========================================================================== */
:root{
  --app-name:"Vistiera";
  --app-tagline:"Vistierul tău personal.";

  /* ---------- Brand constants (theme-independent) ---------- */
  --brand-navy:#142033; --brand-navy-2:#1C2A42; --brand-copper:#C4622D;
  --brand-copper-deep:#8C3E16; --brand-copper-light:#E7A57C;
  --brand-paper:#F4EFE6; --brand-card:#FFFBF5;

  /* ---------- Typography ---------- */
  --font-display:'Fraunces', 'Iowan Old Style', Georgia, serif;   /* titles, hero figures */
  --font-ui:'Outfit', -apple-system, 'SF Pro Text', system-ui, sans-serif; /* UI, list amounts */
  --fraunces-axes:'opsz' 144, 'SOFT' 50;  /* weight 560 default for display */
  --tnum:'tnum' 1, 'lnum' 1;              /* ALWAYS on list/table amounts (Outfit) */

  /* type scale: size / line-height / weight / tracking */
  --t-display-xl:56px; --t-display-xl-lh:1.0;  /* balance hero figure (Fraunces 560) */
  --t-display-l:40px;  --t-display-l-lh:1.04;  /* story headline, Azi poți cheltui */
  --t-display-m:32px;  --t-display-m-lh:1.06;  /* screen title (large title) */
  --t-display-s:24px;  --t-display-s-lh:1.12;  /* section hero, card figure */
  --t-figure-s:18px;                            /* small Fraunces figure in cards */
  --t-title:17px;      --t-title-lh:1.3;       /* Outfit 600 — card title, nav title */
  --t-body:15px;       --t-body-lh:1.45;       /* Outfit 400 — paragraphs */
  --t-row:15px;                                 /* Outfit 600 — list primary line */
  --t-sub:13px;        --t-sub-lh:1.35;        /* Outfit 400/500 — secondary line */
  --t-caption:12px;                             /* Outfit 600 caps +.10em — kicker/label */
  --t-micro:11px;                               /* Outfit 500 — source footnote, tab labels */
  --track-display:-0.02em; --track-kicker:0.12em;

  /* ---------- Spacing (4-pt) ---------- */
  --s-1:4px; --s-2:8px; --s-3:12px; --s-4:16px; --s-5:20px; --s-6:24px;
  --s-8:32px; --s-10:40px; --s-12:48px; --s-16:64px;
  --gutter:20px;            /* screen side padding phone */
  --gutter-tablet:32px;

  /* ---------- Radii (only 3 + pill) ---------- */
  --r-s:12px;   /* icons/logos, inputs, small tiles */
  --r-m:20px;   /* cards, sheets inner, buttons (16 tall → 16 visually ok) */
  --r-l:28px;   /* sheets, hero panels, bottom bar */
  --r-pill:999px;

  /* ---------- Motion ---------- */
  --ease-standard:cubic-bezier(.2,.8,.2,1);    /* default (Flutter: Curves.easeOutCubic-like) */
  --ease-emphasized:cubic-bezier(.05,.7,.1,1); /* sheets, hero transitions */
  --ease-exit:cubic-bezier(.3,0,.8,.15);
  --spring-tap:cubic-bezier(.34,1.56,.64,1);   /* press release overshoot */
  --d-tap:120ms;        /* press scale .97 down / 180ms back with spring */
  --d-fast:180ms;       /* chips, toggles, color */
  --d-sheet:420ms;      /* sheet in; out 260ms */
  --d-page:340ms;       /* push transition (shared-axis X, 30px + fade) */
  --d-countup:900ms;    /* number count-up (easeOutExpo), once per session per figure */
  --d-chart:700ms;      /* chart draw / bars grow, stagger 40ms */
  --d-skeleton:1400ms;  /* shimmer loop */

  /* ---------- Layout ---------- */
  --bar-h:66px; --fab:56px; --hit:44px;
}

/* ============================ DARK (primary) ============================ */
[data-theme="dark"], .theme-dark{
  --bg:#142033;           /* navy de noapte */
  --bg-2:#1C2A42;         /* raised panel / sheet */
  --surface:rgba(255,251,245,.06);   /* glass card → composite #222D3F on bg */
  --surface-solid:#222D3F;
  --surface-strong:rgba(255,251,245,.10);
  --hairline:rgba(255,251,245,.12);
  --hairline-strong:rgba(255,251,245,.20);
  --text:#FFFBF5;         /* 15.86 on bg · 13.44 on surface */
  --text-2:#D9D0C4;       /* 10.72 · 9.09 */
  --muted:#B7AB9E;        /*  7.27 · 6.16 */
  --faint:#A39A8E;        /*  5.90 · 5.00  (footnotes, source line) */
  --accent:#E7A57C;       /* copper light, text accent 7.84 · 6.65 */
  --accent-fill:#B4561F;  /* copper fill behind cream text 4.75 */
  --accent-glow:rgba(196,98,45,.38);
  --pos:#7FD1A6; --neg:#F2968D; --warn:#E8C27A; --info:#9DB8E6;
  --pos-tint:rgba(127,209,166,.14); --neg-tint:rgba(242,150,141,.14);
  --warn-tint:rgba(232,194,122,.14); --accent-tint:rgba(231,165,124,.16);
  --cta-bg:#FFFBF5; --cta-fg:#142033;  /* 15.86 */
  --cta2-bg:rgba(255,255,255,.08); --cta2-fg:#FFFBF5;
  --track:rgba(244,239,230,.14);
  --shadow-1:0 1px 0 rgba(255,255,255,.04) inset;
  --shadow-2:0 1px 0 rgba(255,255,255,.06) inset, 0 18px 40px -18px rgba(0,0,0,.6);
  --shadow-3:0 1px 0 rgba(255,255,255,.08) inset, 0 30px 60px -20px rgba(0,0,0,.7);
  --glass-blur:20px;
  --scrim:rgba(8,13,22,.62);
  color-scheme:dark;
}

/* ============================ LIGHT (paper) ============================ */
[data-theme="light"], .theme-light{
  --bg:#F4EFE6;           /* paper */
  --bg-2:#EDE4D5;         /* sand */
  --surface:#FFFBF5;      /* card */
  --surface-solid:#FFFBF5;
  --surface-strong:#FFFFFF;
  --hairline:rgba(20,32,51,.09);
  --hairline-strong:rgba(20,32,51,.16);
  --text:#142033;         /* 14.28 paper · 15.86 card */
  --text-2:#2A3A55;       /*  9.99 · 11.10 */
  --muted:#6B5F53;        /*  5.41 · 6.01 */
  --faint:#6B5F53;        /* light: same as muted (no lighter text allowed) */
  --accent:#8C3E16;       /* copper deep text 6.51 · 7.23 */
  --accent-fill:#8C3E16;  /* cream on it 7.23 */
  --accent-display:#A84F20; /* copper for ≥24px Fraunces italic accents 4.82 · 5.35 */
  --accent-glow:rgba(196,98,45,.20);
  --pos:#1B6B45; --neg:#A33B32; --warn:#8A5A00; --info:#2F4F86;
  --pos-tint:rgba(27,107,69,.10); --neg-tint:rgba(163,59,50,.10);
  --warn-tint:rgba(138,90,0,.10); --accent-tint:rgba(196,98,45,.12);
  --cta-bg:#142033; --cta-fg:#FFFBF5;  /* 15.86 */
  --cta2-bg:rgba(20,32,51,.06); --cta2-fg:#142033;
  --track:rgba(20,32,51,.08);
  --shadow-1:0 1px 2px rgba(20,32,51,.05);
  --shadow-2:0 1px 0 rgba(20,32,51,.04), 0 10px 28px -14px rgba(20,32,51,.22);
  --shadow-3:0 2px 6px rgba(20,32,51,.06), 0 28px 56px -22px rgba(20,32,51,.32);
  --glass-blur:18px;
  --scrim:rgba(20,32,51,.38);
  color-scheme:light;
}
[data-theme="dark"]{--accent-display:#E7A57C}
