/* DEAD FAMOUS — pop-zine design tokens (v1).
   History as entertainment: cream paper, ink black, CMYK accents.
   Loud/quiet law: play screens stay cream+ink with ONE small accent;
   full CMYK is reserved for moment screens (.view-loud).
   Variable names keep the legacy --ch-* prefix as a compatibility layer —
   every component in style.css reads these. */
@font-face {font-family:'DF Slab';src:url('../assets/fonts/archivo-black.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap;}
@font-face {font-family:'DF Text';src:url('../assets/fonts/archivo-regular.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap;}
@font-face {font-family:'DF Text';src:url('../assets/fonts/archivo-bold.woff2') format('woff2');font-weight:700;font-style:normal;font-display:swap;}
@font-face {font-family:'DF Mono';src:url('../assets/fonts/space-mono-regular.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap;}
@font-face {font-family:'DF Mono';src:url('../assets/fonts/space-mono-bold.woff2') format('woff2');font-weight:700;font-style:normal;font-display:swap;}
:root {
  /* paper + ink */
  --ch-paper:#F2EFE6;--ch-cream:#FFFFFF;--ch-parchment:#E9E4D3;--ch-ink:#0B0B0B;--ch-espresso:#1A1A1A;
  /* CMYK kit (game accents + moments) */
  --df-cyan:#2FC9E8;--df-magenta:#FF3DDB;--df-yellow:#FFE93B;--df-red:#E02020;
  /* accent mapping: "gold" slots now carry the magenta energy accent,
     "pale-gold" carries selection yellow, "burgundy" the print red */
  --ch-gold:#D6008F;--ch-gold-bright:#FF2DB3;--ch-pale-gold:#FFE93B;
  --ch-burgundy:#E02020;--ch-forest:#0B0B0B;--ch-blackgreen:#000000;
  --ch-leaf:#6B675C;--ch-sage:#8D897C;--ch-red:#E02020;
  --ch-line:#0B0B0B;--ch-line-soft:#CFC9B8;
  --ch-text-primary:#0B0B0B;--ch-text-secondary:#2A2A26;--ch-text-muted:#6B675C;
  --ch-text-inverse:#F5F2E8;--ch-text-inverse-soft:#D8D4C6;
  --ch-text-label:#0B0B0B;--ch-text-label-soft:#6B675C;
  --ch-text-accent-display:#D6008F;--ch-text-accent-display-dark:#FF2DB3;
  /* map */
  --ch-map-surface:#EDE9DC;--ch-map-origin:#E02020;--ch-map-destination:#0093B8;
  --ch-map-route:#0B0B0B;--ch-map-route-soft:#9A958A;--ch-map-label:#0B0B0B;
  --ch-map-label-display:#0B0B0B;--ch-map-origin-halo:#F5F2E8;--ch-map-destination-halo:#F5F2E8;
  /* type */
  --ch-font-display:'DF Slab','Arial Black',sans-serif;
  --ch-font-text:'DF Text','Helvetica Neue',Arial,sans-serif;
  --ch-font-ui:'DF Mono','Courier New',monospace;
  --ch-step--1:clamp(0.875rem,0.84rem + 0.12vw,0.95rem);--ch-step-0:clamp(1rem,0.96rem + 0.16vw,1.08rem);
  --ch-step-1:clamp(1.18rem,1.08rem + 0.42vw,1.33rem);--ch-step-2:clamp(1.42rem,1.25rem + 0.72vw,1.78rem);
  --ch-step-3:clamp(1.78rem,1.52rem + 1.1vw,2.37rem);--ch-step-4:clamp(2.25rem,1.78rem + 1.78vw,3.15rem);
  --ch-step-5:clamp(2.9rem,2.15rem + 2.7vw,4.4rem);
  --ch-leading-tight:0.98;--ch-leading-snug:1.2;--ch-leading-body:1.5;
  --ch-tracking-smallcaps:0.1em;--ch-tracking-ui:0.02em;
  /* geometry: the zine is SQUARE. */
  --ch-radius-phone:0px;--ch-radius-card:0px;--ch-radius-button:0px;
  --ch-rule:2px solid #0B0B0B;
  --ch-shadow-soft:8px 8px 0 #0B0B0B;
  --ch-shadow-card:4px 4px 0 #0B0B0B;
  --ch-duration-fast:120ms;--ch-duration-med:160ms;
  /* Thread solved-group colours: print-kit versions of yellow/green/blue/purple */
  --ch-thread-yellow:#FFE93B;--ch-thread-green:#4CDB86;--ch-thread-blue:#2FC9E8;--ch-thread-purple:#C79BFF;
}
/* Night zine (negative plate): ink paper, paper ink. */
[data-theme='candlelit'] {
  --ch-paper:#111110;--ch-cream:#1B1B19;--ch-parchment:#242422;--ch-ink:#F2EFE6;
  --ch-espresso:#E8E4D8;--ch-line:#F2EFE6;--ch-line-soft:#4A4840;
  --ch-text-primary:#F2EFE6;--ch-text-secondary:#D8D4C6;--ch-text-muted:#9A958A;
  --ch-text-inverse:#0B0B0B;--ch-text-inverse-soft:#2A2A26;
  --ch-text-label:#F2EFE6;--ch-text-label-soft:#9A958A;
  --ch-text-accent-display:#FF2DB3;--ch-text-accent-display-dark:#FF2DB3;
  --ch-map-surface:#1B1B19;--ch-map-origin:#FF5C5C;--ch-map-destination:#2FC9E8;
  --ch-map-route:#F2EFE6;--ch-map-route-soft:#6B675C;--ch-map-label:#F2EFE6;--ch-map-label-display:#F2EFE6;
  --ch-rule:2px solid #F2EFE6;
  --ch-shadow-soft:8px 8px 0 #000;--ch-shadow-card:4px 4px 0 #000;
}
/* Surfaces: the dot-grid paper replaces parchment grain. */
.ch-archive-surface {background-color:var(--ch-paper);background-image:radial-gradient(rgba(11,11,11,.09) 1px,transparent 1.2px);background-size:14px 14px;}
.ch-reading-surface {background:var(--ch-paper);}
.ch-map-surface {background-color:var(--ch-map-surface);}
.ch-display-title {font-family:var(--ch-font-display);font-weight:400;font-size:var(--ch-step-5);line-height:var(--ch-leading-tight);letter-spacing:-0.01em;text-transform:uppercase;color:var(--ch-text-primary);}
.ch-display-number {font-family:var(--ch-font-display);font-size:var(--ch-step-5);line-height:1;color:var(--ch-text-primary);}
.ch-body-text {font-family:var(--ch-font-text);color:var(--ch-text-primary);}
.ch-body-italic {font-family:var(--ch-font-text);font-style:italic;color:var(--ch-text-secondary);}
.ch-smallcaps {font-family:var(--ch-font-ui);text-transform:uppercase;letter-spacing:var(--ch-tracking-smallcaps);font-size:0.8rem;font-weight:700;color:var(--ch-text-label);}
.ch-accent-display {color:var(--ch-text-accent-display);}
.ch-card {border:2px solid var(--ch-ink);border-radius:0;background:var(--ch-cream);box-shadow:var(--ch-shadow-card);}
.ch-primary-button {background:var(--ch-ink);color:var(--ch-text-inverse);border:2px solid var(--ch-ink);border-radius:0;font-family:var(--ch-font-display);text-transform:uppercase;letter-spacing:.04em;}
.ch-secondary-button {background:var(--ch-cream);color:var(--ch-text-primary);border:2px solid var(--ch-ink);border-radius:0;font-family:var(--ch-font-ui);font-weight:700;}
.ch-ornate-rule {height:4px;background:var(--ch-ink);}
/* Guidance: accents never carry long text. Magenta/red are for points, stamps
   and warnings; yellow is selection; cyan is Thread's world. Body copy is
   always ink-on-paper in DF Text at generous sizes. Latin stings appear on
   moment screens only. */
