/* ============================================================
   FlowLab — Design Tokens (foundations)
   Self-hosted fonts: Vazirmatn (fa) · Inter (en) — no CDN
   Themes: :root = light · [data-theme="dark"] = dark
   Language: html[lang="fa"] | html[lang="en"]
   ============================================================ */

/* ---- self-hosted fonts (assets/fonts/) ---- */
@font-face{font-family:'Vazirmatn';src:url('../fonts/Vazirmatn-Regular.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'Vazirmatn';src:url('../fonts/Vazirmatn-Medium.woff2') format('woff2');font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:'Vazirmatn';src:url('../fonts/Vazirmatn-SemiBold.woff2') format('woff2');font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:'Vazirmatn';src:url('../fonts/Vazirmatn-Bold.woff2') format('woff2');font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:'Vazirmatn';src:url('../fonts/Vazirmatn-ExtraBold.woff2') format('woff2');font-weight:800;font-style:normal;font-display:swap}
@font-face{font-family:'Vazirmatn';src:url('../fonts/Vazirmatn-Black.woff2') format('woff2');font-weight:900;font-style:normal;font-display:swap}
@font-face{font-family:'Inter';src:url('../fonts/Inter.var.woff2') format('woff2');font-weight:100 900;font-style:normal;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Inter';src:url('../fonts/Inter.var-latinext.woff2') format('woff2');font-weight:100 900;font-style:normal;font-display:swap;unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}

:root{
  --color-bg:#f7f6f2;--color-bg-secondary:#f0efe9;--color-surface:#ffffff;--color-surface-secondary:#fbfaf6;
  --color-text-primary:#17211d;--color-text-secondary:#414c46;--color-text-muted:#68736d;--color-text-disabled:#a7b0aa;
  --color-border:#e6e3da;--color-border-strong:#d7d3c6;
  --color-accent:#0e7c6f;--color-accent-hover:#0a655b;--color-accent-active:#08524a;--color-accent-soft:#e3f1ec;
  --color-accent-ink:#0b5f55;--color-accent-faint:#ecf5f1;--color-accent-faint-strong:#dbeee7;--color-on-accent:#ffffff;
  --color-success:#1a7f4f;--color-success-soft:#e2f2e9;--color-warning:#96690f;--color-warning-soft:#f7ecd2;
  --color-danger:#b23a31;--color-danger-soft:#f9e8e6;--color-info:#3d6d87;--color-info-soft:#e6eff4;
  --color-premium-bg:#131e1a;--color-premium-border:#28382f;--color-premium-accent:#45c0ad;
  --color-premium-text:#f1f5f2;--color-premium-muted:#96aaa2;--color-premium-line:#2a3b32;
  --color-glow:rgba(14,124,111,.12);--color-glow-strong:rgba(69,192,173,.30);--color-pattern-dot:rgba(23,33,29,.15);
  color-scheme:light;
  --font-fa:'Vazirmatn','Segoe UI',Tahoma,sans-serif;
  --font-en:'Inter','Vazirmatn','Segoe UI',sans-serif;
  --font-mono:ui-monospace,'SF Mono',Menlo,Consolas,monospace;
  --text-2xs:10.5px;--text-xs:11.5px;--text-sm:12.5px;--text-base:13.5px;--text-md:14.5px;--text-lg:16px;
  --text-xl:19px;--text-2xl:22px;--text-3xl:26px;--text-4xl:30px;
  --text-display:clamp(26px,4.3vw,42px);--text-heading:clamp(22px,3vw,30px);
  --weight-medium:500;--weight-semibold:600;--weight-bold:700;--weight-extrabold:800;--weight-black:900;
  --space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;
  --space-8:32px;--space-10:40px;--space-12:48px;--space-16:64px;--space-20:80px;
  --radius-sm:10px;--radius-md:12px;--radius-lg:16px;--radius-xl:20px;--radius-2xl:22px;--radius-pill:999px;
  --shadow-sm:0 1px 2px rgba(23,33,29,.06);
  --shadow-md:0 1px 2px rgba(23,33,29,.05),0 10px 28px -14px rgba(23,33,29,.22);
  --shadow-lg:0 26px 52px -26px rgba(0,0,0,.5);
  --shadow-focus:0 0 0 3px var(--color-accent-soft);
  --transition-fast:160ms;--transition-base:240ms;--transition-slow:320ms;--transition-entrance:600ms;
  --ease-standard:cubic-bezier(.4,0,.2,1);--ease-move:cubic-bezier(.5,0,.2,1);
  --container-page:1120px;--container-readable:680px;--container-modal:480px;--container-form:440px;
  --header-height:64px;--z-header:50;--z-overlay:100;--z-toast:120;--z-tooltip:150;
}
[data-theme="dark"]{
  --color-bg:#0b100d;--color-bg-secondary:#0d1411;--color-surface:#121b17;--color-surface-secondary:#0f1713;
  --color-text-primary:#e9eeea;--color-text-secondary:#c3cdc7;--color-text-muted:#8fa098;--color-text-disabled:#5c6a64;
  --color-border:#202b25;--color-border-strong:#2b3830;
  --color-accent:#2cb3a1;--color-accent-hover:#3cc7b4;--color-accent-active:#22a593;--color-accent-soft:#12312b;
  --color-accent-ink:#7adfc9;--color-accent-faint:rgba(64,196,176,.07);--color-accent-faint-strong:rgba(64,196,176,.14);
  --color-on-accent:#06241f;
  --color-success:#46b380;--color-success-soft:rgba(70,179,128,.14);--color-warning:#d8ab54;--color-warning-soft:rgba(216,171,84,.14);
  --color-danger:#e0796f;--color-danger-soft:rgba(224,121,111,.14);--color-info:#7ab2cc;--color-info-soft:rgba(122,178,204,.14);
  --color-premium-bg:#182621;--color-premium-border:#2c4038;--color-premium-accent:#45c0ad;
  --color-premium-text:#eef4f0;--color-premium-muted:#a7bab1;--color-premium-line:#2a3b32;
  --color-glow:rgba(44,179,161,.14);--color-glow-strong:rgba(69,192,173,.25);--color-pattern-dot:rgba(233,238,234,.07);
  --shadow-sm:0 1px 2px rgba(0,0,0,.5);
  --shadow-md:0 1px 2px rgba(0,0,0,.5),0 12px 32px -14px rgba(0,0,0,.65);
  --shadow-lg:0 26px 52px -26px rgba(0,0,0,.7);
  color-scheme:dark;
}
html[lang="fa"]{--font-ui:var(--font-fa);--leading-body:1.9;--leading-heading:1.55}
html[lang="en"]{--font-ui:var(--font-en);--leading-body:1.65;--leading-heading:1.35}
