/* Al-Nokhba — brand tokens. Light theme is default; dark via [data-theme="dark"] or the OS setting. */
:root, [data-theme="light"] {
  --surface: #FAF8F4;
  --surface-raised: #FFFFFF;
  --surface-sunken: #F2EDE4;
  --line: #E5DED1;
  --line-strong: #8F877A;
  --ink: #1F1B16;
  --ink-muted: #5E574D;
  --ink-inverse: #FFFFFF;
  --brand: #84612B;
  --brand-hover: #6B4E22;
  --on-brand: #FFFFFF;
  --brand-soft: #F6EEDD;
  --gold: #C9AE7E;
  --gold-light: #E0CA9E;
  --gold-deep: #B39A6C;
  --gold-soft: #F6EEDD;
  --on-gold: #1F1B16;
  --wordmark: #8B8C8C;
  --night: #1B2433;
  --success: #0F7A4A;
  --success-soft: #E6F6EE;
  --warning: #8A5300;
  --warning-soft: #FFF4DC;
  --danger: #B4233A;
  --danger-soft: #FDECEE;
  --info: #1E5BD0;
  --info-soft: #E8F0FE;
  --focus-ring: var(--brand);
  --shadow-sm: 0 1px 2px rgba(31,27,22,0.06), 0 1px 1px rgba(31,27,22,0.04);
  --shadow-md: 0 4px 12px rgba(80,60,30,0.10), 0 1px 3px rgba(31,27,22,0.06);
  --shadow-lg: 0 16px 40px rgba(80,60,30,0.16), 0 4px 10px rgba(31,27,22,0.06);
  --shadow-glow: 0 8px 24px rgba(179,154,108,0.40);
}
[data-theme="dark"] {
  --surface: #15130F;
  --surface-raised: #1F1C17;
  --surface-sunken: #0F0D0A;
  --line: #332E26;
  --line-strong: #857C6E;
  --ink: #F5F1EA;
  --ink-muted: #B8AFA2;
  --ink-inverse: #1F1B16;
  --brand: #D9BF8C;
  --brand-hover: #E6D2A8;
  --on-brand: #1F1B16;
  --brand-soft: #3A3022;
  --gold: #C9AE7E;
  --gold-light: #E0CA9E;
  --gold-deep: #B39A6C;
  --gold-soft: #3A3022;
  --on-gold: #1F1B16;
  --wordmark: #8B8C8C;
  --night: #1B2433;
  --success: #5FD39A;
  --success-soft: #0E2A1E;
  --warning: #F4C15A;
  --warning-soft: #33260A;
  --danger: #FF8A9B;
  --danger-soft: #3A1219;
  --info: #86AEFF;
  --info-soft: #0F1F45;
  --focus-ring: var(--brand);
  --shadow-sm: 0 1px 2px rgba(0,0,0,0.5);
  --shadow-md: 0 4px 14px rgba(0,0,0,0.55);
  --shadow-lg: 0 18px 44px rgba(0,0,0,0.65);
  --shadow-glow: 0 8px 28px rgba(217,191,140,0.30);
  color-scheme: dark;
}
@media (prefers-color-scheme: dark) { :root:not([data-theme="light"]) {
    --surface: #15130F;
    --surface-raised: #1F1C17;
    --surface-sunken: #0F0D0A;
    --line: #332E26;
    --line-strong: #857C6E;
    --ink: #F5F1EA;
    --ink-muted: #B8AFA2;
    --ink-inverse: #1F1B16;
    --brand: #D9BF8C;
    --brand-hover: #E6D2A8;
    --on-brand: #1F1B16;
    --brand-soft: #3A3022;
    --gold: #C9AE7E;
    --gold-light: #E0CA9E;
    --gold-deep: #B39A6C;
    --gold-soft: #3A3022;
    --on-gold: #1F1B16;
    --wordmark: #8B8C8C;
    --night: #1B2433;
    --success: #5FD39A;
    --success-soft: #0E2A1E;
    --warning: #F4C15A;
    --warning-soft: #33260A;
    --danger: #FF8A9B;
    --danger-soft: #3A1219;
    --info: #86AEFF;
    --info-soft: #0F1F45;
    --focus-ring: var(--brand);
    --shadow-sm: 0 1px 2px rgba(0,0,0,0.5);
    --shadow-md: 0 4px 14px rgba(0,0,0,0.55);
    --shadow-lg: 0 18px 44px rgba(0,0,0,0.65);
    --shadow-glow: 0 8px 28px rgba(217,191,140,0.30);
    color-scheme: dark;
} }
:root {
  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-5: 20px;
  --space-6: 24px;
  --space-8: 32px;
  --space-10: 40px;
  --space-12: 48px;
  --space-16: 64px;
  --space-20: 80px;
  --space-24: 96px;
  --radius-xs: 4px;
  --radius-sm: 6px;
  --radius-md: 10px;
  --radius-lg: 14px;
  --radius-xl: 20px;
  --radius-2xl: 28px;
  --radius-full: 9999px;
  --gradient-brand: linear-gradient(135deg, #E0CA9E 0%, #C9AE7E 50%, #B39A6C 100%);
  --gradient-deep: linear-gradient(160deg, #1B2433 0%, #0F141D 100%);
  --gradient-soft: linear-gradient(135deg, #FAF8F4 0%, #F6EEDD 100%);
  --duration-fast: 120ms;
  --duration-base: 200ms;
  --duration-slow: 320ms;
  --bp-sm: 576px;
  --bp-md: 768px;
  --bp-lg: 992px;
  --bp-xl: 1200px;
  --bp-2xl: 1400px;
  --font-sans: "IBM Plex Sans", "IBM Plex Sans Arabic", system-ui, -apple-system, "Segoe UI", sans-serif;
  --font-arabic: "IBM Plex Sans Arabic", "IBM Plex Sans", Tahoma, "Segoe UI", sans-serif;
  --font-mono: "IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, monospace;
}
.ar-display { font-family: var(--font-arabic); font-size: 56px; line-height: 80px; font-weight: 700; }
.ar-h1 { font-family: var(--font-arabic); font-size: 40px; line-height: 60px; font-weight: 700; }
.ar-h2 { font-family: var(--font-arabic); font-size: 32px; line-height: 48px; font-weight: 700; }
.ar-h3 { font-family: var(--font-arabic); font-size: 24px; line-height: 38px; font-weight: 600; }
.ar-h4 { font-family: var(--font-arabic); font-size: 20px; line-height: 32px; font-weight: 600; }
.ar-body-lg { font-family: var(--font-arabic); font-size: 18px; line-height: 32px; font-weight: 400; }
.ar-body { font-family: var(--font-arabic); font-size: 16px; line-height: 28px; font-weight: 400; }
.ar-small { font-family: var(--font-arabic); font-size: 14px; line-height: 24px; font-weight: 400; }
.ar-label { font-family: var(--font-arabic); font-size: 14px; line-height: 22px; font-weight: 600; }
.ar-caption { font-family: var(--font-arabic); font-size: 12px; line-height: 20px; font-weight: 500; }
.display { font-family: var(--font-sans); font-size: 56px; line-height: 64px; font-weight: 700; letter-spacing: -0.02em; }
.h1 { font-family: var(--font-sans); font-size: 40px; line-height: 48px; font-weight: 700; letter-spacing: -0.015em; }
.h2 { font-family: var(--font-sans); font-size: 32px; line-height: 40px; font-weight: 700; letter-spacing: -0.01em; }
.h3 { font-family: var(--font-sans); font-size: 24px; line-height: 32px; font-weight: 600; }
.h4 { font-family: var(--font-sans); font-size: 20px; line-height: 28px; font-weight: 600; }
.body-lg { font-family: var(--font-sans); font-size: 18px; line-height: 28px; font-weight: 400; }
.body { font-family: var(--font-sans); font-size: 16px; line-height: 24px; font-weight: 400; }
.small { font-family: var(--font-sans); font-size: 14px; line-height: 20px; font-weight: 400; }
.label { font-family: var(--font-sans); font-size: 14px; line-height: 20px; font-weight: 600; }
.caption { font-family: var(--font-sans); font-size: 12px; line-height: 16px; font-weight: 500; }
.overline { font-family: var(--font-sans); font-size: 12px; line-height: 16px; font-weight: 600; letter-spacing: 0.08em; }
.code { font-family: var(--font-mono); font-size: 14px; line-height: 22px; font-weight: 400; }
@font-face { font-family: "IBM Plex Sans"; src: url("fonts/IBMPlexSans-Regular.woff2") format("woff2"); font-weight: 400; font-style: normal; font-display: swap; }
@font-face { font-family: "IBM Plex Sans Arabic"; src: url("fonts/IBMPlexSansArabic-Regular.woff2") format("woff2"); font-weight: 400; font-style: normal; font-display: swap; }
@font-face { font-family: "IBM Plex Sans"; src: url("fonts/IBMPlexSans-Medium.woff2") format("woff2"); font-weight: 500; font-style: normal; font-display: swap; }
@font-face { font-family: "IBM Plex Sans Arabic"; src: url("fonts/IBMPlexSansArabic-Medium.woff2") format("woff2"); font-weight: 500; font-style: normal; font-display: swap; }
@font-face { font-family: "IBM Plex Sans"; src: url("fonts/IBMPlexSans-SemiBold.woff2") format("woff2"); font-weight: 600; font-style: normal; font-display: swap; }
@font-face { font-family: "IBM Plex Sans Arabic"; src: url("fonts/IBMPlexSansArabic-SemiBold.woff2") format("woff2"); font-weight: 600; font-style: normal; font-display: swap; }
@font-face { font-family: "IBM Plex Sans"; src: url("fonts/IBMPlexSans-Bold.woff2") format("woff2"); font-weight: 700; font-style: normal; font-display: swap; }
@font-face { font-family: "IBM Plex Sans Arabic"; src: url("fonts/IBMPlexSansArabic-Bold.woff2") format("woff2"); font-weight: 700; font-style: normal; font-display: swap; }
