@font-face {
  font-family: 'Eclipse Figtree';
  font-style: normal;
  font-display: swap;
  font-weight: 300 900;
  src: url(../Fonts/figtree-latin-wght-normal.woff2) format('woff2-variations'), url(../Fonts/figtree-latin-wght-normal.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: 'Eclipse Fraunces';
  font-style: normal;
  font-display: swap;
  font-weight: 100 900;
  src: url(../Fonts/fraunces-latin-opsz-normal.woff2) format('woff2-variations'), url(../Fonts/fraunces-latin-opsz-normal.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: 'Eclipse Fraunces';
  font-style: italic;
  font-display: swap;
  font-weight: 100 900;
  src: url(../Fonts/fraunces-latin-opsz-italic.woff2) format('woff2-variations'), url(../Fonts/fraunces-latin-opsz-italic.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: 'Eclipse JetBrains Mono';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url(../Fonts/jetbrains-mono-latin-400-normal.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: 'Eclipse JetBrains Mono';
  font-style: normal;
  font-display: swap;
  font-weight: 500;
  src: url(../Fonts/jetbrains-mono-latin-500-normal.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: 'Eclipse Figtree';
  font-style: normal;
  font-display: swap;
  font-weight: 300 900;
  src: url(../Fonts/figtree-latin-ext-wght-normal.woff2) format('woff2-variations'), url(../Fonts/figtree-latin-ext-wght-normal.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: 'Eclipse Fraunces';
  font-style: normal;
  font-display: swap;
  font-weight: 100 900;
  src: url(../Fonts/fraunces-latin-ext-opsz-normal.woff2) format('woff2-variations'), url(../Fonts/fraunces-latin-ext-opsz-normal.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: 'Eclipse Fraunces';
  font-style: italic;
  font-display: swap;
  font-weight: 100 900;
  src: url(../Fonts/fraunces-latin-ext-opsz-italic.woff2) format('woff2-variations'), url(../Fonts/fraunces-latin-ext-opsz-italic.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: 'Eclipse JetBrains Mono';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url(../Fonts/jetbrains-mono-latin-ext-400-normal.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: 'Eclipse JetBrains Mono';
  font-style: normal;
  font-display: swap;
  font-weight: 500;
  src: url(../Fonts/jetbrains-mono-latin-ext-500-normal.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;
}

/*
 * Eclipse Chat design tokens, shared by the chat app and the site theme.
 * One accent drives everything: set --ec-accent-base (site setting "Accent colour")
 * and every tint, line, ring and dark-mode variant is derived with color-mix().
 * Fonts are self-hosted (SIL OFL 1.1), so no request goes to a third-party font CDN.
 */
:root, .ec {
  --ec-accent: var(--ec-accent-base, #d14b41);
  --ec-accent-hover: color-mix(in oklab, var(--ec-accent) 86%, #000);
  --ec-accent-ink: color-mix(in oklab, var(--ec-accent) 78%, #000);
  --ec-accent-soft: color-mix(in oklab, var(--ec-accent) 13%, #fff);
  --ec-accent-line: color-mix(in oklab, var(--ec-accent) 38%, #fff);
  --ec-accent-ring: color-mix(in srgb, var(--ec-accent) 17%, transparent);
  --ec-on-accent: #fff;
  --ec-quote-bg: color-mix(in srgb, var(--ec-accent) 7%, transparent);
  --ec-side-hatch: color-mix(in srgb, var(--ec-accent) 6%, transparent);

  --ec-bg: color-mix(in oklab, var(--ec-accent) 6%, #fff);
  --ec-rail: color-mix(in oklab, var(--ec-accent) 10%, #fdfbfb);
  --ec-surface: #fff;
  --ec-surface-2: color-mix(in oklab, var(--ec-accent) 5%, #fff);
  --ec-bg-chat: color-mix(in oklab, var(--ec-accent) 2%, #fff);
  --ec-theirs-bg: #fff;
  --ec-mine-bg: color-mix(in oklab, var(--ec-accent) 21%, #fff);
  --ec-mine-fg: color-mix(in oklab, var(--ec-accent) 28%, #1b0b09);
  --ec-side-bg: color-mix(in oklab, var(--ec-accent) 4%, #fff);
  --ec-line: color-mix(in oklab, var(--ec-accent) 15%, #f4f0f0);
  --ec-line-strong: color-mix(in oklab, var(--ec-accent) 25%, #ebe5e5);
  --ec-hover: color-mix(in oklab, var(--ec-accent) 12%, #f7f4f4);
  --ec-fg: color-mix(in oklab, var(--ec-accent) 12%, #1e1616);
  --ec-muted: color-mix(in oklab, var(--ec-accent) 18%, #685c5b);
  --ec-faint: color-mix(in oklab, var(--ec-accent) 18%, #978a88);

  --ec-success: #2d7a57;
  --ec-success-soft: #e2f2e9;
  --ec-warn: #9c6410;
  --ec-danger: #b3261e;
  --ec-scrim: rgba(52, 22, 20, .32);
  --ec-lock-bg: color-mix(in srgb, var(--ec-bg) 86%, transparent);
  --ec-shadow-sm: 0 1px 2px color-mix(in srgb, var(--ec-accent-ink) 9%, transparent), 0 2px 8px color-mix(in srgb, var(--ec-accent-ink) 7%, transparent);
  --ec-shadow: 0 1px 2px color-mix(in srgb, var(--ec-accent-ink) 6%, transparent), 0 12px 36px -8px color-mix(in srgb, var(--ec-accent-ink) 17%, transparent);
  --ec-shadow-lg: 0 24px 60px -12px color-mix(in srgb, var(--ec-accent-ink) 32%, transparent);
  --ec-av-s: 64%;
  --ec-av-l: 89%;
  --ec-av-fg-l: 33%;

  --ec-font-ui: "Eclipse Figtree", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;
  --ec-font-display: "Eclipse Fraunces", Georgia, "Times New Roman", serif;
  --ec-font-mono: "Eclipse JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
}

@media (prefers-color-scheme: dark) {
  :root, .ec {
    color-scheme: dark;
    --ec-accent: color-mix(in oklab, var(--ec-accent-base, #d14b41) 72%, #fff);
    --ec-accent-hover: color-mix(in oklab, var(--ec-accent) 85%, #fff);
    --ec-accent-ink: color-mix(in oklab, var(--ec-accent) 80%, #fff);
    --ec-accent-soft: color-mix(in oklab, var(--ec-accent) 17%, #151011);
    --ec-accent-line: color-mix(in oklab, var(--ec-accent) 38%, #151011);
    --ec-accent-ring: color-mix(in srgb, var(--ec-accent) 22%, transparent);
    --ec-on-accent: #1c0f10;
    --ec-quote-bg: color-mix(in srgb, var(--ec-accent) 9%, transparent);
    --ec-side-hatch: color-mix(in srgb, var(--ec-accent) 6%, transparent);

    --ec-bg: color-mix(in oklab, var(--ec-accent) 4%, #110d0e);
    --ec-rail: color-mix(in oklab, var(--ec-accent) 5%, #161112);
    --ec-surface: color-mix(in oklab, var(--ec-accent) 6%, #1a1415);
    --ec-surface-2: color-mix(in oklab, var(--ec-accent) 8%, #1e1718);
    --ec-bg-chat: color-mix(in oklab, var(--ec-accent) 5%, #171213);
    --ec-theirs-bg: color-mix(in oklab, var(--ec-accent) 9%, #211a1b);
    --ec-mine-bg: color-mix(in oklab, var(--ec-accent) 30%, #1e1213);
    --ec-mine-fg: color-mix(in oklab, var(--ec-accent) 12%, #fff);
    --ec-side-bg: color-mix(in oklab, var(--ec-accent) 6%, #171112);
    --ec-line: color-mix(in oklab, var(--ec-accent) 12%, #2b2324);
    --ec-line-strong: color-mix(in oklab, var(--ec-accent) 18%, #3b3233);
    --ec-hover: color-mix(in oklab, var(--ec-accent) 9%, #251d1e);
    --ec-fg: color-mix(in oklab, var(--ec-accent) 6%, #f7f0ef);
    --ec-muted: color-mix(in oklab, var(--ec-accent) 20%, #a99d9c);
    --ec-faint: color-mix(in oklab, var(--ec-accent) 16%, #7c7271);

    --ec-success: #73c99e;
    --ec-success-soft: #1c3127;
    --ec-warn: #e0a955;
    --ec-danger: #ff8a80;
    --ec-scrim: rgba(0, 0, 0, .55);
    --ec-shadow-sm: 0 1px 2px rgba(0, 0, 0, .35), 0 2px 8px rgba(0, 0, 0, .25);
    --ec-shadow: 0 1px 2px rgba(0, 0, 0, .3), 0 14px 40px -8px rgba(0, 0, 0, .5);
    --ec-shadow-lg: 0 24px 60px -12px rgba(0, 0, 0, .65);
    --ec-av-s: 36%;
    --ec-av-l: 27%;
    --ec-av-fg-l: 86%;
  }
}
