/* LRE Copilot V3 design tokens (UI reference pack, approved 03/11/2026).
   Light tokens on :root, dark set on :root[data-theme="dark"]. Components use var(--token) only.
   Fonts are self-hosted from ./fonts (SIL Open Font License, see the licence files there). No CDN. */

@font-face{font-family:'Source Sans 3';font-style:normal;font-weight:400;font-display:swap;src:url('./fonts/source-sans-3-latin-400-normal.woff2') format('woff2')}
@font-face{font-family:'Source Sans 3';font-style:normal;font-weight:600;font-display:swap;src:url('./fonts/source-sans-3-latin-600-normal.woff2') format('woff2')}
@font-face{font-family:'Source Sans 3';font-style:normal;font-weight:700;font-display:swap;src:url('./fonts/source-sans-3-latin-700-normal.woff2') format('woff2')}
@font-face{font-family:'Source Serif 4';font-style:normal;font-weight:400;font-display:swap;src:url('./fonts/source-serif-4-latin-400-normal.woff2') format('woff2')}
@font-face{font-family:'Source Serif 4';font-style:normal;font-weight:600;font-display:swap;src:url('./fonts/source-serif-4-latin-600-normal.woff2') format('woff2')}
@font-face{font-family:'JetBrains Mono';font-style:normal;font-weight:400;font-display:swap;src:url('./fonts/jetbrains-mono-latin-400-normal.woff2') format('woff2')}
@font-face{font-family:'JetBrains Mono';font-style:normal;font-weight:600;font-display:swap;src:url('./fonts/jetbrains-mono-latin-600-normal.woff2') format('woff2')}

:root{
  --bg:#F2F4F6;--surface:#FFFFFF;--surface2:#ECEFF2;--info:#EEF2F7;--line:#DCE1E6;--line2:#EAEDF1;--field:#AEB8C2;
  --ink:#1B2A33;--muted:#4F5B62;--heading:#1B365D;--accent:#1B365D;--accentline:#1B365D;--nav:#1B365D;--navactive:#24477A;
  --navtext:#C9D4E3;--infoline:#C9D4E3;--onaccent:#FFFFFF;--teal:#1F6F78;--link:#1F6F78;--citebg:#E6F0F1;--citetext:#164F56;
  --citeline:#BFD9DC;--okbg:#E4F3EC;--ok:#0E6B46;--warnbg:#FBEFD9;--warn:#8A5A0B;--warnline:#E7C98E;--badbg:#F8E3E0;--bad:#8F2C22;
  --badline:#E3B3AC;--disabled:#E5E8EC;--idle:#C7CED6;--ref:#6A5A2E;--bubble:#E8EDF4;--paper:#FAFBFC;--okbar:#128A5A;
  --warnbar:#B2740F;--badbar:#B4382C;--focus:#1F6F78;
  --shadow-sticky:0 2px 6px rgba(15,30,45,.08);
  color-scheme:light;

  /* Type. Families, then the sizes the mock-ups use. */
  --font-sans:'Source Sans 3',system-ui,sans-serif;
  --font-serif:'Source Serif 4',Georgia,serif;
  --font-mono:'JetBrains Mono',ui-monospace,'Cascadia Mono',Consolas,monospace;
  --fs-xs:12px;--fs-sm:13px;--fs-md:14px;--fs-base:15px;--fs-lg:16px;--fs-h3:18px;--fs-h2:26px;--fs-h1:28px;
  --fw-regular:400;--fw-semi:600;--fw-bold:700;

  /* Spacing and shape, from the mock-up values. */
  --sp-1:2px;--sp-2:4px;--sp-3:6px;--sp-4:8px;--sp-5:10px;--sp-6:12px;--sp-7:14px;--sp-8:16px;--sp-9:18px;--sp-10:20px;--sp-11:24px;
  --r-sm:6px;--r-md:8px;--r-lg:10px;--r-xl:12px;--r-2xl:14px;--r-pill:999px;
  --tap:44px;--tap-sm:40px;
  --focus-width:3px;--focus-offset:2px;
}
:root[data-theme="dark"]{
  --bg:#11181F;--surface:#19232D;--surface2:#243039;--info:#1B2838;--line:#33404C;--line2:#28333E;--field:#4A5866;--ink:#E6EAEE;
  --muted:#A9B4BD;--heading:#9DBBE6;--accent:#2F5D93;--accentline:#7FA3D6;--nav:#0C1520;--navactive:#22406A;--navtext:#C9D4E3;
  --infoline:#33476A;--onaccent:#FFFFFF;--teal:#237881;--link:#7CCFD6;--citebg:#16363A;--citetext:#8FD3D9;--citeline:#2C5A60;
  --okbg:#173A2C;--ok:#7FD8AE;--warnbg:#3D2E14;--warn:#F0C27A;--warnline:#6B5424;--badbg:#3F1F1C;--bad:#F2A097;--badline:#6B3530;
  --disabled:#2A3642;--idle:#4A5866;--ref:#D8C79A;--bubble:#24364A;--paper:#1E2A35;--okbar:#2FB37A;--warnbar:#D99A2B;
  --badbar:#E0675A;--focus:#7CCFD6;
  --shadow-sticky:0 2px 6px rgba(0,0,0,.45);
  color-scheme:dark;
}

body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--font-sans)}
a{color:var(--link)}
a:hover{color:var(--citetext)}
input,select,textarea{background:var(--surface);color:var(--ink)}
.num{font-variant-numeric:tabular-nums lining-nums}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
:focus-visible{outline:var(--focus-width) solid var(--focus);outline-offset:var(--focus-offset)}
@media (prefers-reduced-motion:reduce){*{transition:none !important;animation:none !important}}
