/* ============================================================
   juwel-os-bridge.css - token bridge (v3, 2026-07-13)
   ----------------------------------------------------------
   Historically this file mapped vext.css-era OS variables onto
   the FACET brand tokens ("bridge wins"). FACET's cut-stone
   stillness is now superseded by LuxLiq (docs/brand/LUXLIQ_
   BRAND_SYSTEM.md v0.2) as the live motion/material direction,
   but this file's actual VALUES already satisfy LuxLiq without
   change: the gel radius scale below (6/8/10/14/18) already
   reads as "plumper than a hard instrument, not candy pills"
   (§10.1), and --ease-out below is bit-for-bit the same curve
   luxliq.css calls --ease-viscous. This file keeps its cascade
   slot (loads after vext.css, before the juwel-os-* sheets) and
   RE-ASSERTS the same values for every name it has always
   declared, so no load-order drift can ever resurrect candy or
   diverge from juwel-ds.css. Values must match juwel-ds.css
   exactly. Canonical specs: docs/brand/LUXLIQ_BRAND_SYSTEM.md
   (motion/material) and docs/brand/BRAND_SYSTEM.md (FACET v2,
   superseded for visuals, still the color/claims baseline).
   ============================================================ */

:root{
  /* -- gem taxonomy -- */
  --topaz:#FF9A00;
  --topaz-2:#FFB42A;
  --topaz-deep:#E68A00;
  --topaz-soft:#FBEEDA;
  --garnet:#C93A52;
  --garnet-2:#E06377;
  --garnet-deep:#A62B41;
  --garnet-soft:#F7E3E7;
  --sapphire:#2E86C9;
  --sapphire-2:#5FAEE3;
  --sapphire-deep:#1F6AA5;
  --sapphire-soft:#E1EEF8;
  --jade:#3E9B4F;
  --jade-2:#5DBB6E;
  --jade-deep:#2F7C3D;
  --jade-soft:#E2F0E4;
  /* amethyst retired 2026-07-02 → Topaz alias (never purple) */
  --amethyst:var(--topaz);
  --amethyst-2:var(--topaz-2);
  --amethyst-deep:var(--topaz-deep);
  --amethyst-soft:var(--topaz-soft);

  /* ── accent chain = Topaz; text on amber is always near-black ── */
  --accent:var(--topaz);
  --accent-2:var(--topaz-2);
  --accent-deep:var(--topaz-deep);
  --accent-soft:var(--topaz-soft);
  --accent-ink:#201200;

  /* legacy amber / candy aliases → FACET */
  --amber:var(--topaz);
  --amber-deep:var(--topaz-deep);
  --amber-glow:rgba(255,154,0,.08);
  --c-amber:var(--topaz);
  --c-burn:var(--topaz-deep);
  --burn:var(--topaz-deep);
  --c-coral:var(--topaz);        /* coral is dead */
  --c-sky:var(--sapphire);
  --c-lime:var(--jade);
  /* retired purple plum/grape → stone grays (match juwel-ds) */
  --c-plum:#57544E;
  --c-grape:#3B3934;

  /* ── ink · paper · surface (Humanist Meadow — match juwel-os-meadow / vextlabs) ── */
  --ink:#1A1612;
  --ink-1:#1A1612;
  --ink-2:rgba(26,22,18,.64);
  --ink-3:rgba(26,22,18,.42);
  --ink-4:rgba(26,22,18,.20);
  --paper:#F7F4F0;
  --paper-warm:#F0E8DF;
  --bone:#F0E8DF;
  --bone-deep:#E8DED2;
  --surface:#FFFCF8;
  --surface-2:#F0E8DF;
  --surface-3:#E8DED2;
  --bg:var(--paper);
  --line:rgba(26,25,21,.10);
  --line-2:rgba(26,25,21,.06);
  --edge:rgba(255,255,255,.75);
  --receipt-bg:#171613;
  --receipt-ink:#F2F0EB;
  --code-bg:var(--surface-2);

  /* semantic */
  --ok:var(--jade);
  --ok-ink:var(--jade-deep);
  --ok-soft:var(--jade-soft);
  --bad:var(--garnet);
  --bad-soft:var(--garnet-soft);

  /* ── radius (FACET scale) ── */
  --r-xs:6px;
  --r-sm:8px;
  --r-md:10px;
  --r-lg:14px;
  --r-xl:18px;
  --r-2xl:18px;
  --r:var(--r-md);
  --r-pill:999px;
  --r-full:999px;

  /* type aliases */
  --ff:'Plus Jakarta Sans',system-ui,sans-serif;
  --mono:'Geist Mono',ui-monospace,monospace;
  --serif:var(--ff);
  --ff-display:var(--ff);
  --ff-ui:var(--ff);
  --ff-mono:var(--mono);
  --ff-serif:var(--ff);

  /* motion · elevation (FACET: ease-out only, warm-stone shadows) */
  --ease:cubic-bezier(.23,1,.32,1);
  --ease-out:cubic-bezier(.23,1,.32,1);
  --ease-in-out:cubic-bezier(.77,0,.175,1);
  --bounce:cubic-bezier(.23,1,.32,1);   /* legacy bounce silenced */
  --shadow:0 10px 30px -18px rgba(20,18,12,.35);
  --shadow-lg:0 24px 60px -30px rgba(20,18,12,.42);
  --glow-amber:0 0 0 3px var(--amber-glow);
  --shadow-glow:0 0 0 3px var(--amber-glow);
  --shadow-1:0 1px 2px rgba(20,18,12,.05),0 8px 24px -18px rgba(20,18,12,.25);
  --shadow-2:0 10px 30px -18px rgba(20,18,12,.35);
  --shadow-3:0 24px 60px -30px rgba(20,18,12,.42);
}

html[data-theme="dark"]{
  --ink:#F2F0EB;
  --ink-1:#F2F0EB;
  --ink-2:rgba(242,240,235,.66);
  --ink-3:rgba(242,240,235,.42);
  --ink-4:rgba(242,240,235,.20);
  --paper:#0E0E11;
  --paper-warm:#1F1F24;
  --bone:#1F1F24;
  --bone-deep:#29292F;
  --surface:#17171B;
  --surface-2:#1F1F24;
  --surface-3:#29292F;
  --bg:var(--paper);
  --line:rgba(242,240,235,.10);
  --line-2:rgba(242,240,235,.06);
  --edge:rgba(255,255,255,.06);
  --receipt-bg:#0F0E0C;
  --receipt-ink:#F2F0EB;
  --code-bg:#242320;

  --topaz:#FFB42A;
  --topaz-2:#FFC65C;
  --topaz-deep:#FF9A00;
  --topaz-soft:#33260F;
  --garnet:#E06377;
  --garnet-2:#EA8496;
  --garnet-deep:#C93A52;
  --garnet-soft:#33181D;
  --sapphire:#5FAEE3;
  --sapphire-2:#83C1EB;
  --sapphire-deep:#2E86C9;
  --sapphire-soft:#14242F;
  --jade:#5DBB6E;
  --jade-2:#7ACB88;
  --jade-deep:#3E9B4F;
  --jade-soft:#182B1B;
  --amethyst-soft:var(--topaz-soft);

  --amber:var(--topaz);
  --amber-deep:var(--topaz-deep);
  --amber-glow:rgba(255,180,58,.06);
  --accent:var(--topaz);
  --accent-2:var(--topaz-2);
  --accent-deep:var(--topaz-deep);
  --accent-soft:var(--topaz-soft);
  --accent-ink:#201200;
  --c-amber:var(--topaz);
  --c-burn:var(--topaz-deep);
  --burn:var(--topaz-deep);
  --c-plum:#8B877E;
  --c-grape:#6B6860;

  --ok:var(--jade);
  --ok-ink:var(--jade-2);
  --ok-soft:var(--jade-soft);
  --bad:var(--garnet);
  --bad-soft:var(--garnet-soft);

  --shadow:0 10px 30px -18px rgba(0,0,0,.6);
  --shadow-lg:0 24px 60px -30px rgba(0,0,0,.7);
  --shadow-1:0 1px 2px rgba(0,0,0,.3),0 8px 24px -18px rgba(0,0,0,.5);
  --shadow-2:0 10px 30px -18px rgba(0,0,0,.6);
  --shadow-3:0 24px 60px -30px rgba(0,0,0,.7);
  --shadow-glow:0 0 0 3px var(--amber-glow);
  --glow-amber:0 0 0 3px var(--amber-glow);
}

/* Brand hard rule: NO italics - emphasis via weight/color only */
em,i{font-style:normal;}
