@font-face{font-family:"IBM Plex Sans";font-style:normal;font-weight:400;font-display:swap;src:url("/auth/fonts/ibm-plex-sans-latin-400-normal.woff2") format("woff2");}
@font-face{font-family:"IBM Plex Sans";font-style:normal;font-weight:500;font-display:swap;src:url("/auth/fonts/ibm-plex-sans-latin-500-normal.woff2") format("woff2");}
@font-face{font-family:"IBM Plex Sans";font-style:normal;font-weight:600;font-display:swap;src:url("/auth/fonts/ibm-plex-sans-latin-600-normal.woff2") format("woff2");}
@font-face{font-family:"IBM Plex Mono";font-style:normal;font-weight:400;font-display:swap;src:url("/auth/fonts/ibm-plex-mono-latin-400-normal.woff2") format("woff2");}
@font-face{font-family:"IBM Plex Mono";font-style:normal;font-weight:500;font-display:swap;src:url("/auth/fonts/ibm-plex-mono-latin-500-normal.woff2") format("woff2");}
@font-face{font-family:"Source Serif 4";font-style:normal;font-weight:400;font-display:swap;src:url("/auth/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("/auth/fonts/source-serif-4-latin-600-normal.woff2") format("woff2");}
@font-face{font-family:"Source Serif 4";font-style:italic;font-weight:400;font-display:swap;src:url("/auth/fonts/source-serif-4-latin-400-italic.woff2") format("woff2");}
:root, [data-theme="light"] {
  --surface: #f4f2ed;
  --surface-raised: #ffffff;
  --surface-sunken: #eae7df;
  --surface-selected: #e4f3e6;
  --line: #d8d4c9;
  --line-strong: #8e8a7e;
  --ink: #1b1a17;
  --ink-muted: #5b584f;
  --ink-faint: #6f6b62;
  --ink-inverse: #f4f2ed;
  --brand: #00a300;
  --brand-strong: #00b800;
  --fgn: #0b7a1f;
  --fgn-strong: #065c15;
  --fgn-soft: #dbf2dd;
  --on-fgn: #1b1a17;
  --counterparty: #33558a;
  --counterparty-soft: #dfe6f2;
  --attention: #ad2a22;
  --attention-soft: #fae2df;
  --waiting: #835a00;
  --waiting-soft: #f6e9c5;
  --inference: #5d42ad;
  --inference-soft: #ebe5fb;
  --added: #0b7a1f;
  --added-soft: #dbf2dd;
  --link: var(--fgn);
  --focus: #0b7a1f;
  --shadow-card: 0 1px 2px #1b1a170d;
  --shadow-float: 0 4px 12px #1b1a1714, 0 12px 32px -4px #1b1a1729;
  --focus-ring: 0 0 0 2px #f4f2ed, 0 0 0 4px #1c5c47;
}
[data-theme="dark"] {
  --surface: #191816;
  --surface-raised: #232220;
  --surface-sunken: #111110;
  --surface-selected: #173a1c;
  --line: #35332e;
  --line-strong: #7d7a70;
  --ink: #efece5;
  --ink-muted: #b1ac9f;
  --ink-faint: #98937f;
  --ink-inverse: #191816;
  --brand: #00a300;
  --brand-strong: #12b512;
  --fgn: #3ecf4e;
  --fgn-strong: #6fdc7b;
  --fgn-soft: #0f3315;
  --on-fgn: #0d1b0f;
  --counterparty: #9ab7e6;
  --counterparty-soft: #1d2b41;
  --attention: #ff9088;
  --attention-soft: #43201d;
  --waiting: #f0c35e;
  --waiting-soft: #3e2f0c;
  --inference: #c2aef5;
  --inference-soft: #2c2347;
  --added: #3ecf4e;
  --added-soft: #0f3315;
  --link: var(--fgn);
  --focus: #3ecf4e;
  --shadow-card: 0 1px 2px #00000066;
  --shadow-float: 0 4px 12px #00000080, 0 12px 32px -4px #000000b3;
  --focus-ring: 0 0 0 2px #191816, 0 0 0 4px #84d2b1;
}
:root {
  --space-0\.5: 2px;
  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-5: 20px;
  --space-6: 24px;
  --space-8: 32px;
  --space-12: 48px;
  --radius-sm: 3px;
  --radius-md: 6px;
  --radius-lg: 10px;
  --radius-full: 9999px;
  --nav-width: 264px;
  --nav-collapsed: 44px;
  --chat-min: 360px;
  --chat-default: 420px;
  --reader-measure: 68ch;
  --column-width: 300px;
  --card-min: 268px;
  --row-height: 40px;
  --control-height: 32px;
  --z-pane: 1;
  --z-drawer: 20;
  --z-popover: 30;
  --z-dialog: 40;
  --z-toast: 50;
  --font-sans: "IBM Plex Sans", "Segoe UI", system-ui, sans-serif;
  --font-serif: "Source Serif 4", "Iowan Old Style", Georgia, serif;
  --font-mono: "IBM Plex Mono", ui-monospace, Menlo, monospace;
}
.heading { font-family: var(--font-sans); font-size: 15px; line-height: 20px; font-weight: 600; }
.body { font-family: var(--font-sans); font-size: 14px; line-height: 20px; font-weight: 400; }
.body-strong { font-family: var(--font-sans); font-size: 14px; line-height: 20px; font-weight: 600; }
.small { font-family: var(--font-sans); font-size: 13px; line-height: 18px; font-weight: 400; }
.label { font-family: var(--font-sans); font-size: 12px; line-height: 16px; font-weight: 600; letter-spacing: 0.04em; }
.meta { font-family: var(--font-sans); font-size: 12px; line-height: 16px; font-weight: 400; }
.display { font-family: var(--font-serif); font-size: 28px; line-height: 34px; font-weight: 600; letter-spacing: -0.01em; }
.title { font-family: var(--font-serif); font-size: 20px; line-height: 26px; font-weight: 600; }
.clause { font-family: var(--font-serif); font-size: 15px; line-height: 24px; font-weight: 400; }
.clause-small { font-family: var(--font-serif); font-size: 13.5px; line-height: 20px; font-weight: 400; }
.ref { font-family: var(--font-mono); font-size: 12px; line-height: 16px; font-weight: 500; }
.transcript { font-family: var(--font-mono); font-size: 13px; line-height: 20px; font-weight: 400; }