/* =============================================================================
   SignSpry design tokens — v0.95 (global phase 11)

   The one place a colour, a size, a space, a radius, a shadow, a font or a
   layer number is defined. app.css (the product), site.css (the marketing
   site) and every template read from here; nothing else invents a value.

   The page's language sets the typeface: Inter for Latin/Cyrillic/Greek,
   Noto Sans per script for the rest (static/fonts-scripts.css, loaded only
   when that script appears), the device's own fonts for Chinese, Japanese and
   Korean. Complex scripts get more leading — Devanagari, Thai and Arabic
   stack marks above and below the line and clip at Latin line heights.
   ========================================================================== */
:root{
  /* ink & surface */
  --ink-900:#0f1120; --ink-800:#1d2036; --ink-700:#33364f; --ink-600:#474a63;
  --ink-500:#5d6078; --ink-400:#686b84; --ink-300:#a6a9bd; --ink-200:#c9cbd9;
  --line:#e4e5ef; --line-soft:#eef0f6; --line-strong:#d3d5e3;
  --bg:#f6f7fb; --bg-sunk:#f1f2f8; --card:#ffffff;

  /* brand */
  --brand-900:#232577; --brand-800:#2b2e91; --brand:#3538a8; --brand-600:#4649c9;
  --brand-300:#a9abe8; --brand-100:#e4e5f8; --brand-50:#f3f3fd;

  /* semantic */
  --ok:#146c4c; --ok-600:#1a865e; --ok-100:#daf0e6; --ok-50:#f0faf5;
  --warn:#8a6310; --warn-600:#a97c1a; --warn-100:#f9efd6; --warn-50:#fdf8ec;
  --bad:#a02d20; --bad-600:#c23a2b; --bad-100:#fae3e0; --bad-50:#fdf1ef;
  --info:#0d5b71; --info-100:#dcf0f6; --info-50:#f0f9fc;

  /* marketing accent (the warm orange of the public site) */
  --accent:#ff8a1e; --accent-ink:#b34a00; --on-accent:var(--ink-900); --accent-600:#f07d0f; --accent-50:#ffeede; --accent-2:#7048d8;

  /* Hover tints and chip borders. These began life as literals scattered through
     the components, which is exactly the drift this file exists to prevent. */
  --brand-press:#d8daf4; --brand-edge:#d3d5f2;
  --ok-edge:#bfe4d3; --warn-edge:#eee0bd; --bad-edge:#f2ccc6; --info-edge:#c5e4ee;

  /* spacing — 4px rhythm. Use these, not literals. */
  --s1:4px;  --s2:8px;  --s3:12px; --s4:16px; --s5:20px;
  --s6:24px; --s7:32px; --s8:40px; --s9:48px; --s10:64px; --s11:80px;

  /* type scale */
  --t-2xs:11px; --t-xs:12px; --t-sm:13px; --t-base:14px; --t-md:15px;
  --t-lg:17px;  --t-xl:20px; --t-2xl:24px; --t-3xl:30px; --t-4xl:38px;

  /* radii */
  --r-xs:5px; --r-sm:8px; --r:11px; --r-lg:16px; --r-xl:22px; --r-full:999px;

  /* elevation — exactly three, plus a hairline */
  --sh-sm:0 1px 2px rgba(15,17,32,.05);
  --sh:0 1px 2px rgba(15,17,32,.04), 0 6px 16px -8px rgba(15,17,32,.14);
  --sh-lg:0 2px 6px rgba(15,17,32,.05), 0 24px 48px -20px rgba(15,17,32,.26);

  --ring:0 0 0 3px var(--brand-100);
  --focus:0 0 0 2px #fff, 0 0 0 4px var(--brand-600);

  --font-latin:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Noto Sans',sans-serif;
  --font-script:;                   /* set per language below; sits in front of --font-latin */
  --font:var(--font-script) var(--font-latin);
  --lh:1.6;                         /* body leading; complex scripts raise it */
  --lh-tight:1.22;
  --display:'Newsreader',Georgia,'Times New Roman',serif;
  --mono:ui-monospace,SFMono-Regular,Menlo,'Cascadia Mono',monospace;

  --topbar-h:60px;
  --tap:44px;                       /* minimum comfortable touch target */
  --ease:cubic-bezier(.2,.7,.3,1);

  /* z-index scale — every fixed thing picks from here, nothing invents a number */
  --z-sticky:40; --z-topbar:50; --z-signbar:60; --z-drawer:90; --z-modal:100; --z-toast:200;

  /* layout */
  --gutter:16px;                    /* side padding at every width — never less */
  --measure:68ch;                   /* running text no wider than this */
  --w-narrow:560px; --w-form:640px; --w-page:1080px; --w-wide:1280px;
}

/* ----------------------------------------------------- script-aware type -- */
/* Devanagari: Hindi, Marathi, Konkani, Nepali */
:lang(hi),:lang(mr),:lang(kok),:lang(ne),:lang(sa){--font-script:'Noto Sans Devanagari',;--lh:1.75;--lh-tight:1.4}
:lang(bn),:lang(as){--font-script:'Noto Sans Bengali',;--lh:1.75;--lh-tight:1.4}
:lang(pa){--font-script:'Noto Sans Gurmukhi',;--lh:1.7;--lh-tight:1.35}
:lang(gu){--font-script:'Noto Sans Gujarati',;--lh:1.7;--lh-tight:1.35}
:lang(or){--font-script:'Noto Sans Oriya',;--lh:1.75;--lh-tight:1.4}
:lang(ta){--font-script:'Noto Sans Tamil',;--lh:1.7;--lh-tight:1.35}
:lang(te){--font-script:'Noto Sans Telugu',;--lh:1.75;--lh-tight:1.4}
:lang(kn),:lang(tcy){--font-script:'Noto Sans Kannada',;--lh:1.75;--lh-tight:1.4}
:lang(ml){--font-script:'Noto Sans Malayalam',;--lh:1.75;--lh-tight:1.4}
:lang(si){--font-script:'Noto Sans Sinhala',;--lh:1.75;--lh-tight:1.4}
:lang(th){--font-script:'Noto Sans Thai',;--lh:1.75;--lh-tight:1.4}
:lang(lo){--font-script:'Noto Sans Lao',;--lh:1.75;--lh-tight:1.4}
:lang(my){--font-script:'Noto Sans Myanmar',;--lh:1.8;--lh-tight:1.45}
:lang(km){--font-script:'Noto Sans Khmer',;--lh:1.8;--lh-tight:1.45}
:lang(ar),:lang(ur),:lang(fa),:lang(ps),:lang(sd){--font-script:'Noto Sans Arabic',;--lh:1.75;--lh-tight:1.4}
:lang(he),:lang(yi){--font-script:'Noto Sans Hebrew',;--lh:1.65}
:lang(ka){--font-script:'Noto Sans Georgian',}
:lang(hy){--font-script:'Noto Sans Armenian',}
:lang(am),:lang(ti){--font-script:'Noto Sans Ethiopic',;--lh:1.7}
/* CJK: the device's fonts — every phone that types the language ships one */
:lang(ja){--font-script:'Hiragino Sans','Hiragino Kaku Gothic ProN','Noto Sans JP','Noto Sans CJK JP','Yu Gothic UI',Meiryo,;--lh:1.7;--lh-tight:1.35}
:lang(ko){--font-script:'Apple SD Gothic Neo','Noto Sans KR','Noto Sans CJK KR','Malgun Gothic',;--lh:1.7;--lh-tight:1.35}
:lang(zh),:lang(zh-Hans),:lang(zh-CN),:lang(zh-SG){--font-script:'PingFang SC','Noto Sans SC','Noto Sans CJK SC','Microsoft YaHei','Hiragino Sans GB',;--lh:1.7;--lh-tight:1.35}
:lang(zh-Hant),:lang(zh-TW),:lang(zh-HK){--font-script:'PingFang TC','Noto Sans TC','Noto Sans CJK TC','Microsoft JhengHei',;--lh:1.7;--lh-tight:1.35}
/* Our display serif has no glyphs outside Latin — headings elsewhere use the text face */
:lang(hi),:lang(mr),:lang(kok),:lang(ne),:lang(bn),:lang(as),:lang(pa),:lang(gu),:lang(or),:lang(ta),:lang(te),:lang(kn),:lang(tcy),:lang(ml),
:lang(si),:lang(th),:lang(lo),:lang(my),:lang(km),:lang(ar),:lang(ur),:lang(fa),:lang(he),:lang(ka),:lang(hy),:lang(am),:lang(ja),:lang(ko),:lang(zh){--display:var(--font)}

