/* Naeman design system tokens.
   Verbatim copy of the Claude Design project `naeman-design-system`
   (_ds/naeman-design-system-3ea33228-5d68-469d-80ba-3edba41e466a/tokens/*.css),
   concatenated in the order styles.css imports them. Re-sync by re-copying. */

/* ---- fonts.css ---- */
/* Open-license webfonts (ADR-0001). Loaded from Google Fonts; no binaries in repo yet. */
@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@500;600;700&family=Nunito+Sans:wght@400;600;700&family=Amiri:wght@400;700&family=IBM+Plex+Sans+Arabic:wght@400;500;700&display=swap');

/* ---- colors.css ---- */
:root{
/* Brand — locked, never altered */
--brand-red:#922710;--brand-red2:#a84030;--brand-navy:#142132;--brand-slate:#324c4c;--brand-teal:#2b5e52;
/* Brand interaction shades (derived, allowed) */
--brand-red-hover:#a84030;--brand-red-pressed:#751f0d;--brand-red-disabled:#d8a99e;
--brand-teal-hover:#357164;--brand-teal-pressed:#224c42;
/* Warm neutral ramp: cream → near-navy */
--n0:#fbf7ef;--n1:#f4ede0;--n2:#e9dfcd;--n3:#d8cbb3;--n4:#b9ab92;--n5:#948a77;--n6:#6f675a;--n7:#4e483e;--n8:#322e28;--n9:#1b1916;
/* Navy family (dark theme bases) */
--navy-deep:#0c1522;--navy-raised:#1c2c42;--navy-sheet:#24364e;--navy-border:#33465a;
/* Semantic — error is crimson, never brand red */
--success:#2f7b4c;--success-bg:#e9f2e9;--success-border:#b9d4bf;
--warning:#9a6412;--warning-bg:#f7edd8;--warning-border:#e3cd9e;
--error:#c13a47;--error-bg:#f9e7e7;--error-border:#eab8bc;
--info:#33608c;--info-bg:#e7eef5;--info-border:#b7c9dc;
/* Surfaces (light default) */
--surface-page:var(--n0);--surface-card:#fffdf8;--surface-elevated:#fffdf8;--surface-sheet:#fffdf8;--surface-overlay:rgba(20,33,50,.45);--surface-brand:var(--brand-red);--surface-inverse:var(--brand-navy);
/* Text (light) */
--text-primary:var(--brand-navy);--text-strong:var(--brand-navy);--text-secondary:var(--n7);--text-tertiary:var(--n6);--text-disabled:var(--n4);--text-inverse:var(--n1);--text-link:var(--brand-teal);--text-on-brand:#fdf3ec;--text-on-navy:var(--n1);
/* Borders */
--border-subtle:var(--n2);--border-strong:var(--n3);--border-focus:var(--brand-teal);
/* Interactive */
--action-primary:var(--brand-red);--action-primary-hover:var(--brand-red-hover);--action-primary-pressed:var(--brand-red-pressed);--action-primary-disabled:var(--brand-red-disabled);
--action-secondary:transparent;--action-secondary-border:var(--brand-red);--action-secondary-text:var(--brand-red);
--action-tertiary-text:var(--brand-teal);
--action-destructive:var(--error);--action-destructive-pressed:#a02c38;
}
[data-theme="dark"]{
--surface-page:var(--navy-deep);--surface-card:var(--brand-navy);--surface-elevated:var(--navy-raised);--surface-sheet:var(--navy-sheet);--surface-overlay:rgba(6,10,16,.6);--surface-inverse:var(--n0);
--text-primary:var(--n1);--text-strong:var(--n0);--text-secondary:#c9bfae;--text-tertiary:var(--n5);--text-disabled:#556070;--text-inverse:var(--brand-navy);--text-link:#7fc4ae;
--border-subtle:var(--navy-border);--border-strong:#46586c;--border-focus:#7fc4ae;
--success:#6fbf8e;--success-bg:#17332a;--success-border:#2b5e52;
--warning:#e0a94e;--warning-bg:#33280f;--warning-border:#6b5320;
--error:#e8808a;--error-bg:#3a1c20;--error-border:#7a3a42;
--info:#8bb3dd;--info-bg:#16283c;--info-border:#33608c;
--action-primary-disabled:#5b3a33;
}

/* ---- typography.css ---- */
:root{
--font-display-latin:'Cormorant Garamond',Georgia,serif;
--font-display-arabic:'Amiri','Cormorant Garamond',serif;
--font-body-latin:'Nunito Sans','Segoe UI',sans-serif;
--font-body-arabic:'IBM Plex Sans Arabic','Nunito Sans',sans-serif;
/* Sizes; -lh latin, -lha arabic (Arabic needs taller lines) */
--text-display:34px;--text-display-lh:42px;--text-display-lha:54px;
--text-h1:28px;--text-h1-lh:36px;--text-h1-lha:46px;
--text-h2:23px;--text-h2-lh:30px;--text-h2-lha:38px;
--text-h3:19px;--text-h3-lh:26px;--text-h3-lha:32px;
--text-h4:17px;--text-h4-lh:24px;--text-h4-lha:29px;
--text-body-lg:17px;--text-body-lg-lh:26px;--text-body-lg-lha:30px;
--text-body:15px;--text-body-lh:23px;--text-body-lha:27px;
--text-body-sm:13px;--text-body-sm-lh:20px;--text-body-sm-lha:23px;
--text-caption:12px;--text-caption-lh:17px;--text-caption-lha:20px;
--text-label:11px;--text-label-lh:15px;--text-label-tracking:.08em;
--weight-regular:400;--weight-medium:500;--weight-semibold:600;--weight-bold:700;
/* Numerals are Western (0-9) in both locales; no numeric face */
--numeric-features:"lnum" 1,"tnum" 1; /* @kind other */
}

/* ---- spacing.css ---- */
:root{
--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;
--hit-target:44px;
}

/* ---- effects.css ---- */
:root{
/* Radius; arch = signature splash shape for hero containers */
--radius-sm:6px;--radius-md:10px;--radius-lg:16px;--radius-full:999px;--radius-arch:160px 160px 12px 12px;
/* Elevation: subtle — period feel comes from line and tone */
--elev-1:0 1px 2px rgba(20,33,50,.06);--elev-2:0 2px 8px rgba(20,33,50,.09);--elev-3:0 8px 24px rgba(20,33,50,.14);
/* Borders & rules; double rule is a signature ornament */
--rule-hairline:1px solid var(--border-subtle);--rule:1px solid var(--border-strong);--rule-double:4px double var(--border-strong);
/* Motion: calm, no springs */
--dur-fast:120ms; /* @kind other */
--dur-base:200ms; /* @kind other */
--dur-slow:320ms; /* @kind other */
--ease-standard:cubic-bezier(.4,0,.2,1); /* @kind other */
--ease-enter:cubic-bezier(0,0,.2,1); /* @kind other */
--ease-exit:cubic-bezier(.4,0,1,1); /* @kind other */
}
[data-theme="dark"]{
--elev-1:0 1px 2px rgba(0,0,0,.3);--elev-2:0 2px 8px rgba(0,0,0,.4);--elev-3:0 8px 24px rgba(0,0,0,.5);
}
