/* Geekoria — generated from tokens.json */
@font-face { font-family: "Cinzel Decorative"; src: url("../fonts/CinzelDecorative-Bold.woff2") format("woff2"); font-weight: 700; font-style: normal; font-display: swap; }
@font-face { font-family: "Cinzel Decorative"; src: url("../fonts/CinzelDecorative-Black.woff2") format("woff2"); font-weight: 900; font-style: normal; font-display: swap; }
@font-face { font-family: "Cinzel"; src: url("../fonts/Cinzel-Bold.woff2") format("woff2"); font-weight: 700; font-style: normal; font-display: swap; }
@font-face { font-family: "Cinzel"; src: url("../fonts/Cinzel-Black.woff2") format("woff2"); font-weight: 900; font-style: normal; font-display: swap; }
@font-face { font-family: "Merriweather"; src: url("../fonts/Merriweather-Regular.woff2") format("woff2"); font-weight: 400; font-style: normal; font-display: swap; }
@font-face { font-family: "Merriweather"; src: url("../fonts/Merriweather-Italic.woff2") format("woff2"); font-weight: 400; font-style: italic; font-display: swap; }
@font-face { font-family: "Merriweather"; src: url("../fonts/Merriweather-Bold.woff2") format("woff2"); font-weight: 700; font-style: normal; font-display: swap; }
@font-face { font-family: "Source Sans 3"; src: url("../fonts/SourceSans3-Variable.woff2") format("woff2"); font-weight: 200 900; font-style: normal; font-display: swap; }
@font-face { font-family: "Source Sans 3"; src: url("../fonts/SourceSans3-Variable-Italic.woff2") format("woff2"); font-weight: 200 900; font-style: italic; font-display: swap; }
:root, [data-theme="parchemin"] {
  --bleu-nuit: #0f2a44;
  --or-vieilli: #d4af37;
  --bordeaux: #7a1f2b;
  --vert-foret: #2e5d3a;
  --parchemin: #f4e6c3;
  --anthracite: #1e1e1e;
  --violet-arcanique: #6b3fa0;
  --cuivre: #b87333;
  --surface: #f4e6c3;
  --surface-raised: #fbf5e6;
  --surface-sunken: #ead7a8;
  --band: #0f2a44;
  --on-band: #f4e6c3;
  --band-accent: #d4af37;
  --ink: #1e1e1e;
  --ink-muted: #5c4a30;
  --line: #c9b48a;
  --line-strong: #8a6d1f;
  --gold: #d4af37;
  --on-gold: #1e1e1e;
  --gold-ink: #7a5c10;
  --gazette: #7a1f2b;
  --adventures: #2e5d3a;
  --forge: #6b3fa0;
  --shop: #8a5a1c;
  --tavern: var(--gold-ink);
  --studios: #0f2a44;
  --on-fill: #f4e6c3;
  --on-shop-fill: #0f0f0f;
  --link: var(--gazette);
  --success: var(--adventures);
  --danger: var(--gazette);
  --dice-face: #f6f4ef;
  --dice-edge: #7d776c;
  --dice-ink: #1e1e1e;
  --focus-ring: #0f2a44;
  --scrim: rgba(11, 29, 48, 0.62);
  --shadow-card: 0 1px 0 rgba(255, 255, 255, 0.6) inset, 0 6px 18px rgba(46, 30, 10, 0.16);
  --shadow-lift: 0 14px 34px rgba(46, 30, 10, 0.24);
  --shadow-glow: 0 0 0 1px rgba(212, 175, 55, 0.7), 0 10px 30px rgba(212, 175, 55, 0.28);
  --shadow-text: 0 2px 12px rgba(8, 22, 39, 0.7);
}
[data-theme="nuit"] {
  --surface: #0b1d30;
  --surface-raised: #12304d;
  --surface-sunken: #081627;
  --band: #081627;
  --on-band: #f4e6c3;
  --band-accent: #d4af37;
  --ink: #f4e6c3;
  --ink-muted: #c8b48c;
  --line: #2b4a6b;
  --line-strong: #7f9cc0;
  --gold: #d4af37;
  --on-gold: #1e1e1e;
  --gold-ink: #d4af37;
  --gazette: #e58a95;
  --adventures: #86c497;
  --forge: #b99be3;
  --shop: #dc9a5c;
  --studios: #9fc0e6;
  --on-fill: #f4e6c3;
  --on-shop-fill: #0f0f0f;
  --dice-face: #1b1b1d;
  --dice-edge: #76767c;
  --dice-ink: #f4f1ea;
  --focus-ring: #d4af37;
  --scrim: rgba(8, 22, 39, 0.7);
  --shadow-card: 0 8px 24px rgba(0, 0, 0, 0.45);
  --shadow-lift: 0 18px 40px rgba(0, 0, 0, 0.6);
}
:root {
  --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;
  --radius-sm: 3px;
  --radius-md: 6px;
  --radius-lg: 12px;
  --radius-pill: 999px;
  --container: 1200px;
  --container-text: 720px;
  --header-height: 72px;
  --font-display: "Cinzel Decorative", Cinzel, Georgia, serif;
  --font-caps: Cinzel, "Cinzel Decorative", Georgia, serif;
  --font-serif: Merriweather, Georgia, "Times New Roman", serif;
  --font-sans: "Source Sans 3", "Source Sans Pro", system-ui, -apple-system, "Segoe UI", sans-serif;
}
.display-xl { font-family: var(--font-display); font-size: 64px; line-height: 1.02; font-weight: 700; letter-spacing: 0.01em; }
.display-lg { font-family: var(--font-display); font-size: 44px; line-height: 1.08; font-weight: 700; }
.display-md { font-family: var(--font-display); font-size: 30px; line-height: 1.15; font-weight: 700; }
.label-caps { font-family: var(--font-caps); font-size: 14px; line-height: 1.3; font-weight: 700; letter-spacing: 0.08em; }
.poster { font-family: var(--font-caps); font-size: 34px; line-height: 1.0; font-weight: 900; letter-spacing: 0.02em; }
.title-lg { font-family: var(--font-serif); font-size: 28px; line-height: 1.25; font-weight: 700; }
.title-md { font-family: var(--font-serif); font-size: 21px; line-height: 1.3; font-weight: 700; }
.title-sm { font-family: var(--font-serif); font-size: 17px; line-height: 1.35; font-weight: 700; }
.quote { font-family: var(--font-serif); font-size: 20px; line-height: 1.5; font-weight: 400; font-style: italic; }
.body-lg { font-family: var(--font-sans); font-size: 19px; line-height: 1.55; font-weight: 400; }
.body { font-family: var(--font-sans); font-size: 17px; line-height: 1.6; font-weight: 400; }
.body-sm { font-family: var(--font-sans); font-size: 15px; line-height: 1.5; font-weight: 400; }
.button { font-family: var(--font-sans); font-size: 16px; line-height: 1.25; font-weight: 600; letter-spacing: 0.01em; }
.caption { font-family: var(--font-sans); font-size: 13px; line-height: 1.4; font-weight: 500; letter-spacing: 0.02em; }
