/*
 * GENERATED by scripts/gen-frost-shared.mjs — DO NOT EDIT.
 * Source of truth: web/src/index.css (tokens) + web/src/fonts.css (faces).
 * Change a value there, re-run the generator; portal + chat follow.
 *
 * Halcyonic Frost foundation for the static surfaces. Theming follows the
 * model app's doctrine: the palette is stated ONCE as light-dark() pairs and
 * color-scheme decides which half resolves — system by default, narrowed by
 * an explicit data-theme attribute if a surface ever grows a toggle.
 */

/* Self-hosted UI faces (SIL OFL 1.1, see fonts/OFL.txt). Generated by
   scripts/vendor-fonts.py — edit that, not this. Vendored so the desktop
   app and any offline session render identically to the served build: no
   fonts.googleapis.com <link>, no remote dependency. All three families
   are variable, hence one file per subset over a wght range. */

@font-face {
  font-family: "Cormorant Garamond";
  font-style: normal;
  font-weight: 300 700;
  font-display: swap;
  src: url("./fonts/cormorant-garamond-latin.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: "Cormorant Garamond";
  font-style: normal;
  font-weight: 300 700;
  font-display: swap;
  src: url("./fonts/cormorant-garamond-latin-ext.woff2") format("woff2");
  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;
}

@font-face {
  font-family: "Inter";
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url("./fonts/inter-latin.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: "Inter";
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url("./fonts/inter-latin-ext.woff2") format("woff2");
  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;
}

@font-face {
  font-family: "JetBrains Mono";
  font-style: normal;
  font-weight: 400 800;
  font-display: swap;
  src: url("./fonts/jetbrains-mono-latin.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: "JetBrains Mono";
  font-style: normal;
  font-weight: 400 800;
  font-display: swap;
  src: url("./fonts/jetbrains-mono-latin-ext.woff2") format("woff2");
  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-scheme: light dark;

  /* surfaces + text */
  --bg-primary: light-dark(#f1f2f3, #16181a);
  --bg-secondary: light-dark(#fafafb, #1d2022);
  --bg-surface: light-dark(#e6e7e9, #24282a);
  --stage-from: light-dark(#f5f6f7, #191c1e);
  --stage-to: light-dark(#eceded, #121415);
  --text-primary: light-dark(#17181a, #e8eaec);
  --text-secondary: light-dark(#45484c, #b0b4b8);
  --text-muted: light-dark(#6d7175, #82868a);
  --text-on-accent: light-dark(#ffffff, #16181a);

  /* accents + verdicts */
  --accent: light-dark(#3d6373, #6fa5b8);
  --accent-strong: light-dark(#2a4b59, #95c3d3);
  --accent-soft: light-dark(#d5e2e8, #1b2f39);
  --accent-indigo: light-dark(#545c93, #8b93cf);
  --accent-slate: light-dark(#5d6f7b, #8ea1ad);
  --verdict-error: light-dark(#c2352c, #ef7a72);
  --verdict-warning: light-dark(#8a5c08, #dba448);
  --verdict-ok: light-dark(#1f7351, #4fbc93);

  /* structure */
  --border: light-dark(#d5dee4, #33383b);
  --hairline: light-dark(#e5ecf0, #2a2f3260);
  --radius-sm: 4px;
  --radius-md: 8px;
  --radius-lg: 12px;
  --radius-card: 10px;
  --radius-pill: 9999px;
  --shadow-ink: light-dark(rgba(22, 35, 43, 0.05), rgba(0, 0, 0, 0.25));
  --shadow-ink-hover: light-dark(rgba(22, 35, 43, 0.09), rgba(0, 0, 0, 0.34));
  --shadow-card: 0 1px 2px var(--shadow-ink);
  --shadow-card-hover: 0 2px 8px var(--shadow-ink-hover);

  /* printed record (paper register) */
  --paper: light-dark(#ffffff, #17191c);
  --paper-ground: light-dark(#eaecee, #0e0f11);
  --paper-edge: light-dark(#f4f5f6, #1c1f22);
  --ink: light-dark(#17181a, #e8eaec);
  --ink-secondary: light-dark(#45484c, #b0b4b8);
  --ink-muted: light-dark(#7c8084, #7d8286);
  --rule: light-dark(#17181a, #e8eaec);
  --rule-soft: light-dark(#e0e3e5, #2c3034);
  --seal: light-dark(#8a3324, #c9705c);

  /* type + motion */
  --font-display: "Cormorant Garamond", Georgia, serif;
  --font-body: "Inter", system-ui, -apple-system, sans-serif;
  --font-mono: "JetBrains Mono", ui-monospace, "SF Mono", monospace;
  --transition-base: 200ms cubic-bezier(0.22, 1, 0.36, 1);
}

:root[data-theme="light"] { color-scheme: light; }
:root[data-theme="dark"] { color-scheme: dark; }
