/* ============================================================
   juwel-os-bridge.css — FACET token bridge (v2, 2026-07-09)
   ────────────────────────────────────────────────────────────
   Historically this file mapped vext.css-era OS variables onto
   the candy brand tokens ("bridge wins"). Candy is retired; the
   FACET union now lives identically in juwel-ds.css AND vext.css.
   This file keeps its cascade slot (loads after vext, before the
   juwel-os-* sheets) and simply RE-ASSERTS the FACET values for
   every name it has always declared, so no load-order drift can
   ever resurrect candy. Values must match juwel-ds.css exactly.
   Canonical spec: docs/brand/BRAND_SYSTEM.md (FACET v2).
   ============================================================ */

:root{
  /* ── gem taxonomy (FACET) ── */
  --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,.18);
  --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 (FACET alabaster) ── */
  --ink:#1A1915;
  --ink-1:#1A1915;
  --ink-2:rgba(26,25,21,.64);
  --ink-3:rgba(26,25,21,.42);
  --ink-4:rgba(26,25,21,.20);
  --paper:#F2F1EE;
  --paper-warm:#EAE9E5;
  --bone:#EAE9E5;
  --bone-deep:#E2E1DC;
  --surface:#FFFFFF;
  --surface-2:#EAE9E5;
  --surface-3:#E2E1DC;
  --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:#121110;
  --paper-warm:#242320;
  --bone:#242320;
  --bone-deep:#2C2B27;
  --surface:#1B1A18;
  --surface-2:#242320;
  --surface-3:#2C2B27;
  --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,42,.22);
  --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;}
