@font-face {
  font-family: "Inter";
  src: url("/fonts/inter-symbols.woff2") format("woff2");
  font-weight: 300 700;
  font-display: swap;
  unicode-range: U+2190, U+2192, U+2264-2265, U+2318, U+26A0, U+2713, U+2717;
}

@font-face {
  font-family: "JetBrains Mono";
  src: url("/fonts/jetbrains-mono-symbols.woff2") format("woff2");
  font-weight: 400 700;
  font-display: swap;
  unicode-range: U+2190, U+2192, U+2264-2265, U+2318, U+2500, U+2523, U+26A0;
}

:root {
  --font-sans: "Inter", -apple-system, BlinkMacSystemFont, sans-serif;
  --font-mono: "JetBrains Mono", "JetBrains Mono Fallback", monospace;

  --background: #fcfcfc;
  --background-subtle: #f7f7f7;
  --surface: #ffffff;
  --surface-raised: #f5f5f6;
  --surface-hover: #eeeeef;
  --border: #e6e6e7;
  --border-strong: #d6d7d7;
  --text: #0e1116;
  --text-muted: #56585c;
  --text-subtle: #626468;
  --accent: #eb9315;
  --accent-text: #935900;
  --accent-contrast: #0e1116;
  --accent-partner: #eb9315;
  --accent-strong: #935900;
  --accent-strong-contrast: #ffffff;
  --brand: #eb9315;
  --brand-contrast: #0e1116;
  --accent-soft: rgb(235 147 21 / 0.08);
  --accent-border: rgb(235 147 21 / 0.28);
  --ring: rgb(235 147 21 / 0.4);
  --success: #067334;
  --warning: #9f4803;
  --danger: #bb191e;
  --info: #1956dd;
  --primary: #0e1116;
  --primary-contrast: #ffffff;
  --overlay: rgb(14 17 22 / 0.36);
  --grid-line: rgb(14 17 22 / 0.045);
  --glow: rgb(235 147 21 / 0.1);
  --shadow-small: 0 1px 2px rgb(14 17 22 / 0.06);
  --shadow-medium: 0 4px 16px -4px rgb(14 17 22 / 0.12), 0 1px 3px rgb(14 17 22 / 0.06);
  --shadow-large: 0 24px 64px -16px rgb(14 17 22 / 0.28), 0 2px 8px rgb(14 17 22 / 0.08);
  --highlight: inset 0 1px 0 rgb(255 255 255 / 0.6);
  --code-background: #f7f7f7;
  --code-text: #24272a;
  --code-keyword: #b3398c;
  --code-string: #1f7a4d;
  --code-number: #b35309;
  --code-comment: #868b94;
  --code-function: #2958c7;
  --code-type: #7c3aed;
  color-scheme: light;
  --cyan: #0e7490;
  --purple: #7c3aed;
  --pink: #be185d;
  --blue: #1d4ed8;
  --syn-keyword: #0550ae;
  --syn-call: #6639ba;
  --syn-jump: #116329;
  --syn-ret: #cf222e;
  --syn-nop: var(--text-subtle);
  --syn-stack: #8250df;
  --syn-move: #0969da;
  --syn-register: #0969da;
  --syn-immediate: #953800;
  --syn-memory: #8250df;
  --syn-comment: #6e7781;
  --syn-string: #0a3069;
  --syn-type: #0969da;
  --syn-number: #953800;
}

@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) {
    --background: #090909;
    --background-subtle: #0e0e0e;
    --surface: #131313;
    --surface-raised: #171717;
    --surface-hover: #1d1d1d;
    --border: #242424;
    --border-strong: #303030;
    --text: #f7f8f8;
    --text-muted: #9fa0a0;
    --text-subtle: #8e8f8f;
    --accent: #eb9315;
    --accent-text: #eb9315;
    --accent-contrast: #090909;
    --accent-partner: #eb9315;
    --accent-strong: #eb9315;
    --accent-strong-contrast: #090909;
    --brand: #eb9315;
    --brand-contrast: #090909;
    --accent-soft: rgb(235 147 21 / 0.1);
    --accent-border: rgb(235 147 21 / 0.28);
    --ring: rgb(235 147 21 / 0.5);
    --success: #4ade80;
    --warning: #fbbf24;
    --danger: #f87171;
    --info: #7aa2ff;
    --primary: #f7f8f8;
    --primary-contrast: #090909;
    --overlay: rgb(0 0 0 / 0.6);
    --grid-line: rgb(255 255 255 / 0.035);
    --glow: rgb(235 147 21 / 0.08);
    --shadow-small: 0 1px 2px rgb(0 0 0 / 0.4);
    --shadow-medium: 0 8px 24px -8px rgb(0 0 0 / 0.6), 0 1px 3px rgb(0 0 0 / 0.4);
    --shadow-large: 0 32px 80px -16px rgb(0 0 0 / 0.75), 0 2px 10px rgb(0 0 0 / 0.5);
    --highlight: inset 0 1px 0 rgb(255 255 255 / 0.04);
    --code-background: #0f0f0f;
    --code-text: #d8dbe0;
    --code-keyword: #ff7ab2;
    --code-string: #7ee2a8;
    --code-number: #ffb86b;
    --code-comment: #6b7079;
    --code-function: #82aaff;
    --code-type: #c3a6ff;
    color-scheme: dark;
    --cyan: #06b6d4;
    --purple: #a855f7;
    --pink: #f472b6;
    --blue: #3b82f6;
    --syn-keyword: #60a5fa;
    --syn-call: var(--accent);
    --syn-jump: var(--success);
    --syn-ret: var(--danger);
    --syn-nop: var(--text-subtle);
    --syn-stack: #c4a0e8;
    --syn-move: #8cc8e8;
    --syn-register: #7cb8f2;
    --syn-immediate: #d4a76a;
    --syn-memory: #c4a0e8;
    --syn-comment: var(--text-subtle);
    --syn-string: #ce9178;
    --syn-type: #4ec9b0;
    --syn-number: #b5cea8;
  }
}

:root[data-theme="dark"] {
  --background: #090909;
  --background-subtle: #0e0e0e;
  --surface: #131313;
  --surface-raised: #171717;
  --surface-hover: #1d1d1d;
  --border: #242424;
  --border-strong: #303030;
  --text: #f7f8f8;
  --text-muted: #9fa0a0;
  --text-subtle: #8e8f8f;
  --accent: #eb9315;
  --accent-text: #eb9315;
  --accent-contrast: #090909;
  --accent-partner: #eb9315;
  --accent-strong: #eb9315;
  --accent-strong-contrast: #090909;
  --brand: #eb9315;
  --brand-contrast: #090909;
  --accent-soft: rgb(235 147 21 / 0.1);
  --accent-border: rgb(235 147 21 / 0.28);
  --ring: rgb(235 147 21 / 0.5);
  --success: #4ade80;
  --warning: #fbbf24;
  --danger: #f87171;
  --info: #7aa2ff;
  --primary: #f7f8f8;
  --primary-contrast: #090909;
  --overlay: rgb(0 0 0 / 0.6);
  --grid-line: rgb(255 255 255 / 0.035);
  --glow: rgb(235 147 21 / 0.08);
  --shadow-small: 0 1px 2px rgb(0 0 0 / 0.4);
  --shadow-medium: 0 8px 24px -8px rgb(0 0 0 / 0.6), 0 1px 3px rgb(0 0 0 / 0.4);
  --shadow-large: 0 32px 80px -16px rgb(0 0 0 / 0.75), 0 2px 10px rgb(0 0 0 / 0.5);
  --highlight: inset 0 1px 0 rgb(255 255 255 / 0.04);
  --code-background: #0f0f0f;
  --code-text: #d8dbe0;
  --code-keyword: #ff7ab2;
  --code-string: #7ee2a8;
  --code-number: #ffb86b;
  --code-comment: #6b7079;
  --code-function: #82aaff;
  --code-type: #c3a6ff;
  color-scheme: dark;
  --cyan: #06b6d4;
  --purple: #a855f7;
  --pink: #f472b6;
  --blue: #3b82f6;
  --syn-keyword: #60a5fa;
  --syn-call: var(--accent);
  --syn-jump: var(--success);
  --syn-ret: var(--danger);
  --syn-nop: var(--text-subtle);
  --syn-stack: #c4a0e8;
  --syn-move: #8cc8e8;
  --syn-register: #7cb8f2;
  --syn-immediate: #d4a76a;
  --syn-memory: #c4a0e8;
  --syn-comment: var(--text-subtle);
  --syn-string: #ce9178;
  --syn-type: #4ec9b0;
  --syn-number: #b5cea8;
}
