/* Self-hosted subsets keep typography stable when external font CDNs are blocked. */
@font-face {
  font-family: "Cormorant Garamond";
  font-style: normal;
  font-weight: 600 700;
  font-display: swap;
  src: url("assets/fonts/cormorant-cyrillic-ext.woff2") format("woff2");
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}

@font-face {
  font-family: "Cormorant Garamond";
  font-style: normal;
  font-weight: 600 700;
  font-display: swap;
  src: url("assets/fonts/cormorant-cyrillic.woff2") format("woff2");
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}

@font-face {
  font-family: "Cormorant Garamond";
  font-style: normal;
  font-weight: 600 700;
  font-display: swap;
  src: url("assets/fonts/cormorant-latin-ext.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: "Cormorant Garamond";
  font-style: normal;
  font-weight: 600 700;
  font-display: swap;
  src: url("assets/fonts/cormorant-latin.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: "Manrope";
  font-style: normal;
  font-weight: 400 800;
  font-display: swap;
  src: url("assets/fonts/manrope-cyrillic.woff2") format("woff2");
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}

@font-face {
  font-family: "Manrope";
  font-style: normal;
  font-weight: 400 800;
  font-display: swap;
  src: url("assets/fonts/manrope-latin-ext.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: "Manrope";
  font-style: normal;
  font-weight: 400 800;
  font-display: swap;
  src: url("assets/fonts/manrope-latin.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: "Noto Sans Arabic";
  font-style: normal;
  font-weight: 400 700;
  font-stretch: 100%;
  font-display: swap;
  src: url("assets/fonts/noto-sans-arabic.woff2") format("woff2");
  unicode-range: U+0600-06FF, U+0750-077F, U+0870-088E, U+0890-0891, U+0897-08E1, U+08E3-08FF, U+200C-200E, U+2010-2011, U+204F, U+2E41, U+FB50-FDFF, U+FE70-FE74, U+FE76-FEFC, U+102E0-102FB, U+10E60-10E7E, U+10EC2-10EC4, U+10EFC-10EFF, U+1EE00-1EE03, U+1EE05-1EE1F, U+1EE21-1EE22, U+1EE24, U+1EE27, U+1EE29-1EE32, U+1EE34-1EE37, U+1EE39, U+1EE3B, U+1EE42, U+1EE47, U+1EE49, U+1EE4B, U+1EE4D-1EE4F, U+1EE51-1EE52, U+1EE54, U+1EE57, U+1EE59, U+1EE5B, U+1EE5D-1EE5F, U+1EE61-1EE62, U+1EE64, U+1EE67-1EE6A, U+1EE6C-1EE72, U+1EE74-1EE77, U+1EE79-1EE7C, U+1EE7E, U+1EE80-1EE89, U+1EE8B-1EE9B, U+1EEA1-1EEA3, U+1EEA5-1EEA9, U+1EEAB-1EEBB, U+1EEF0-1EEF1;
}

:root {
  /* Mishref Studio — the global company shell. */
  --studio-black: oklch(7.5% 0.008 255);
  --studio-dark: oklch(10.5% 0.012 255);
  --studio-navy: oklch(16% 0.025 255);
  --studio-charcoal: oklch(19% 0.014 250);
  --studio-white: oklch(95% 0.009 85);
  --studio-muted: oklch(72% 0.012 255);
  --studio-gold: oklch(65% 0.09 72);

  /* HN Gunslinger — scoped to game-owned sections and routes. */
  --hn-black: oklch(7% 0.01 52);
  --hn-gunmetal: oklch(14% 0.014 55);
  --hn-western: oklch(18% 0.028 50);
  --hn-ivory: oklch(92% 0.035 76);
  --hn-brass: oklch(66% 0.105 67);
  --hn-gold: oklch(72% 0.11 76);
  --hn-red-dark: oklch(39% 0.16 25);
  --hn-red: oklch(49% 0.2 25);

  /* Character identity tones: name, rim light, border, and backdrop stay linked. */
  --character-rook: oklch(52% 0.21 27);
  --character-malahi: oklch(74% 0.12 78);
  --character-black-pipe: oklch(91% 0.025 78);
  --character-masked-nomad: oklch(61% 0.16 300);
  --character-star-sheriff: oklch(78% 0.12 85);
  --character-ivory-split: oklch(93% 0.015 85);
  --character-midnight-lynx: oklch(55% 0.13 298);
  --character-prairie-belle: oklch(81% 0.06 110);
  --character-shahaden: oklch(72% 0.17 350);

  /* Hallmark aliases keep the existing site compatible. */
  --color-paper: var(--studio-black);
  --color-paper-2: var(--studio-dark);
  --color-paper-3: var(--studio-navy);
  --color-ink: var(--studio-white);
  --color-ink-2: oklch(82% 0.02 82);
  --color-poster-ink: oklch(24% 0.045 55);
  --color-poster-accent: var(--hn-red-dark);
  --color-rule: oklch(27% 0.018 255);
  --color-rule-2: oklch(39% 0.035 72);
  --color-muted: var(--studio-muted);
  --color-neutral: oklch(56% 0.014 255);
  --color-accent: var(--hn-red);
  --color-accent-ink: oklch(96% 0.024 82);
  --color-focus: oklch(82% 0.11 76);
  --color-brass: var(--hn-brass);
  --color-brass-dim: oklch(49% 0.065 69);
  --color-error: oklch(62% 0.2 25);
  --color-success: oklch(72% 0.11 145);

  --font-display: "Cormorant Garamond", "Times New Roman", serif;
  --font-body: "Manrope", "Segoe UI", sans-serif;
  --font-arabic: "Noto Sans Arabic", "Manrope", Tahoma, sans-serif;

  --display-weight: 650;
  --tracking-display: -0.035em;
  --tracking-label: 0.1em;

  --text-xs: 0.75rem;
  --text-sm: 0.875rem;
  --text-base: 1rem;
  --text-md: 1.125rem;
  --text-lg: 1.375rem;
  --text-xl: 1.75rem;
  --text-2xl: 2.25rem;
  --text-3xl: 3rem;
  --text-display-s: clamp(2.6rem, 4vw + 0.5rem, 4.75rem);
  --text-display: clamp(3.25rem, 5vw + 0.75rem, 5.5rem);

  --space-3xs: 0.25rem;
  --space-2xs: 0.5rem;
  --space-xs: 0.75rem;
  --space-sm: 1rem;
  --space-md: 1.5rem;
  --space-lg: 2rem;
  --space-xl: 3rem;
  --space-2xl: 4.5rem;
  --space-3xl: 7rem;
  --space-4xl: 10rem;

  --ease-out: cubic-bezier(0.16, 1, 0.3, 1);
  --ease-in: cubic-bezier(0.7, 0, 0.84, 0);
  --ease-in-out: cubic-bezier(0.65, 0, 0.35, 1);
  --dur-micro: 120ms;
  --dur-short: 220ms;
  --dur-long: 420ms;

  --rule-hair: 1px;
  --rule-fine: 2px;
  --radius-xs: 0.125rem;
  --radius-sm: 0.25rem;
  --radius-card: 0.375rem;
  --radius-pill: 999px;
  --radius-input: 0.25rem;
  --page-gutter: clamp(1rem, 4vw, 4.5rem);
  --page-max: 84rem;
  --header-height: 4.5rem;
  --mobile-rail-sm: min(68vw, 15rem);
  --mobile-rail-md: min(78vw, 19rem);
  --mobile-rail-lg: min(86vw, 24rem);
  --mobile-character-height: 22rem;
  --mobile-roster-height: 18rem;
  --mobile-route-height: 27rem;

  --shadow-deep: 0 2.5rem 6rem color-mix(in oklch, var(--studio-black) 76%, transparent);
  --shadow-card: 0 1.25rem 3.5rem color-mix(in oklch, var(--studio-black) 62%, transparent);

  --z-base: 1;
  --z-raised: 10;
  --z-dropdown: 100;
  --z-sticky: 200;
  --z-modal: 400;
  --z-toast: 500;
  --z-tooltip: 600;
}
