/* Generated from src/design-system/tokens.json (Nexelith v1). Do not edit by hand. */

@font-face {
  font-family: "Sora";
  src: url("../assets/fonts/sora-latin-400-normal.woff2") format("woff2");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
  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: "Sora";
  src: url("../assets/fonts/sora-latin-600-normal.woff2") format("woff2");
  font-weight: 600;
  font-style: normal;
  font-display: swap;
  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: "Sora";
  src: url("../assets/fonts/sora-latin-700-normal.woff2") format("woff2");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
  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: "IBM Plex Sans";
  src: url("../assets/fonts/ibm-plex-sans-latin-400-normal.woff2") format("woff2");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
  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: "IBM Plex Sans";
  src: url("../assets/fonts/ibm-plex-sans-latin-400-italic.woff2") format("woff2");
  font-weight: 400;
  font-style: italic;
  font-display: swap;
  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: "IBM Plex Sans";
  src: url("../assets/fonts/ibm-plex-sans-latin-500-normal.woff2") format("woff2");
  font-weight: 500;
  font-style: normal;
  font-display: swap;
  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: "IBM Plex Sans";
  src: url("../assets/fonts/ibm-plex-sans-latin-600-normal.woff2") format("woff2");
  font-weight: 600;
  font-style: normal;
  font-display: swap;
  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: "IBM Plex Mono";
  src: url("../assets/fonts/ibm-plex-mono-latin-400-normal.woff2") format("woff2");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
  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: "IBM Plex Mono";
  src: url("../assets/fonts/ibm-plex-mono-latin-500-normal.woff2") format("woff2");
  font-weight: 500;
  font-style: normal;
  font-display: swap;
  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: "IBM Plex Sans Arabic";
  src: url("../assets/fonts/ibm-plex-sans-arabic-arabic-400-normal.woff2") format("woff2");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
  unicode-range: U+0600-06FF, U+0750-077F, U+0870-088E, U+0890-0891, U+0898-08E1, U+08E3-08FF, U+200C-200E, U+2010-2011, U+204F, U+2E41, U+FB50-FDFF, U+FE70-FE74, U+FE76-FEFC;
}
@font-face {
  font-family: "IBM Plex Sans Arabic";
  src: url("../assets/fonts/ibm-plex-sans-arabic-arabic-600-normal.woff2") format("woff2");
  font-weight: 600;
  font-style: normal;
  font-display: swap;
  unicode-range: U+0600-06FF, U+0750-077F, U+0870-088E, U+0890-0891, U+0898-08E1, U+08E3-08FF, U+200C-200E, U+2010-2011, U+204F, U+2E41, U+FB50-FDFF, U+FE70-FE74, U+FE76-FEFC;
}

:root {
  --surface: #f7f6f3;
  --surface-raised: #ffffff;
  --surface-sunken: #eeece7;
  --surface-inverse: #16181d;
  --line: #dedbd3;
  --line-strong: #8a8e97;
  --ink: #16181d;
  --ink-muted: #595d66;
  --ink-inverse: #f2f1ee;
  --brand: #ff6b1a;
  --brand-hover: #e85a0c;
  --on-brand: #16181d;
  --brand-text: #b3470a;
  --brand-soft: #ffe6d5;
  --basalt: #23262e;
  --on-basalt: #f2f1ee;
  --on-basalt-muted: #b4b8c0;
  --focus: #1f5fd6;
  --success: #0f6e5a;
  --success-soft: #d9f2ea;
  --warning: #8a5a00;
  --warning-soft: #fbeccc;
  --danger: #b3261e;
  --danger-soft: #fbe1de;
  --info: #1f5fd6;
  --info-soft: #e0eafd;
  --shadow-sm: 0 1px 2px rgba(22,24,29,0.08);
  --shadow-md: 0 8px 24px rgba(22,24,29,0.10);
  --font-display: Sora, "IBM Plex Sans", system-ui, sans-serif;
  --font-sans: "IBM Plex Sans", "IBM Plex Sans Arabic", system-ui, sans-serif;
  --font-mono: "IBM Plex Mono", ui-monospace, monospace;
  --font-arabic: "IBM Plex Sans Arabic", "IBM Plex Sans", system-ui, sans-serif;
  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-6: 24px;
  --space-8: 32px;
  --space-12: 48px;
  --space-16: 64px;
  --space-24: 96px;
  --container: 1200px;
  --radius-none: 0px;
  --radius-sm: 2px;
  --radius-md: 4px;
  --notch: 20px;
  --stroke-hairline: 1px;
  --stroke-accent: 3px;
}

@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) {
    --surface: #0f1115;
    --surface-raised: #181b21;
    --surface-sunken: #0a0b0e;
    --surface-inverse: #f2f1ee;
    --line: #2a2e36;
    --line-strong: #6b707a;
    --ink: #f2f1ee;
    --ink-muted: #a3a7b0;
    --ink-inverse: #16181d;
    --brand: #ff7a2e;
    --brand-hover: #ff914f;
    --on-brand: #16181d;
    --brand-text: #ff8a45;
    --brand-soft: #3a1d0c;
    --basalt: #2c303a;
    --on-basalt: #f2f1ee;
    --on-basalt-muted: #b4b8c0;
    --focus: #7aa7ff;
    --success: #4cc9a8;
    --success-soft: #0f2e27;
    --warning: #f0b64a;
    --warning-soft: #33260a;
    --danger: #ff8b82;
    --danger-soft: #3a1412;
    --info: #7aa7ff;
    --info-soft: #12213f;
    --shadow-sm: 0 1px 2px rgba(0,0,0,0.5);
    --shadow-md: 0 8px 24px rgba(0,0,0,0.55);
    color-scheme: dark;
  }
}

:root[data-theme="dark"] {
  --surface: #0f1115;
  --surface-raised: #181b21;
  --surface-sunken: #0a0b0e;
  --surface-inverse: #f2f1ee;
  --line: #2a2e36;
  --line-strong: #6b707a;
  --ink: #f2f1ee;
  --ink-muted: #a3a7b0;
  --ink-inverse: #16181d;
  --brand: #ff7a2e;
  --brand-hover: #ff914f;
  --on-brand: #16181d;
  --brand-text: #ff8a45;
  --brand-soft: #3a1d0c;
  --basalt: #2c303a;
  --on-basalt: #f2f1ee;
  --on-basalt-muted: #b4b8c0;
  --focus: #7aa7ff;
  --success: #4cc9a8;
  --success-soft: #0f2e27;
  --warning: #f0b64a;
  --warning-soft: #33260a;
  --danger: #ff8b82;
  --danger-soft: #3a1412;
  --info: #7aa7ff;
  --info-soft: #12213f;
  --shadow-sm: 0 1px 2px rgba(0,0,0,0.5);
  --shadow-md: 0 8px 24px rgba(0,0,0,0.55);
  color-scheme: dark;
}

.t-display-xl { font-family: var(--font-display); font-size: 64px; line-height: 68px; font-weight: 600; letter-spacing: -0.02em; }
.t-display { font-family: var(--font-display); font-size: 48px; line-height: 54px; font-weight: 600; letter-spacing: -0.02em; }
.t-heading-1 { font-family: var(--font-display); font-size: 36px; line-height: 44px; font-weight: 600; letter-spacing: -0.01em; }
.t-heading-2 { font-family: var(--font-display); font-size: 28px; line-height: 36px; font-weight: 600; letter-spacing: -0.01em; }
.t-heading-3 { font-family: var(--font-display); font-size: 20px; line-height: 28px; font-weight: 600; }
.t-body-lg { font-family: var(--font-sans); font-size: 18px; line-height: 28px; font-weight: 400; }
.t-body { font-family: var(--font-sans); font-size: 16px; line-height: 24px; font-weight: 400; }
.t-body-strong { font-family: var(--font-sans); font-size: 16px; line-height: 24px; font-weight: 600; }
.t-small { font-family: var(--font-sans); font-size: 14px; line-height: 20px; font-weight: 400; }
.t-eyebrow { font-family: var(--font-mono); font-size: 12px; line-height: 16px; font-weight: 500; letter-spacing: 0.14em; }
.t-code { font-family: var(--font-mono); font-size: 14px; line-height: 20px; font-weight: 400; }
.t-arabic-heading { font-family: var(--font-arabic); font-size: 32px; line-height: 48px; font-weight: 600; }
.t-arabic-body { font-family: var(--font-arabic); font-size: 16px; line-height: 28px; font-weight: 400; }