/*
 * JUNKBRANDING design tokens.
 * Palette: paper / ink / graphite / rule + one "signal" blue used only for
 * links, focus and data. Features override --theme / --theme-ink per issue.
 */
:root {
  --paper: #ededE8;
  --paper-deep: #e2e2dc;
  --ink: #121212;
  --graphite: #5c5c57;
  --rule: #c9c9c2;
  --signal: #2346e8;

  --theme: var(--signal);
  --theme-ink: #ffffff;

  --font-display: 'Archivo', 'Noto Sans JP', 'Hiragino Sans', sans-serif;
  --font-body: 'Noto Sans JP', 'Hiragino Sans', 'Yu Gothic', 'Archivo', sans-serif;

  /* Fluid type scale (min 14px for any running text). */
  --fs-meta: 0.875rem;
  --fs-small: 0.9375rem;
  --fs-body: clamp(1rem, 0.96rem + 0.2vw, 1.0625rem);
  --fs-lead: clamp(1.125rem, 1.04rem + 0.4vw, 1.3125rem);
  --fs-h3: clamp(1.1875rem, 1.08rem + 0.5vw, 1.4375rem);
  --fs-h2: clamp(1.5rem, 1.24rem + 1.1vw, 2.125rem);
  --fs-h1: clamp(2.125rem, 1.4rem + 3.2vw, 4.25rem);
  --fs-display: clamp(2.75rem, 1.2rem + 6.6vw, 7.5rem);

  /* Japanese body: measure of 35 characters, per our reading study. */
  --measure: 35em;
  --leading-body: clamp(1.7, 1.55 + 0.4vw, 1.9);
  --leading-ui: 1.55;
  --leading-tight: 1.18;

  --margin: clamp(1rem, 4vw, 3.5rem);
  --gap: clamp(1rem, 1.6vw, 1.75rem);
  --space-xs: 0.5rem;
  --space-s: 1rem;
  --space-m: clamp(1.5rem, 1.2rem + 1vw, 2.25rem);
  --space-l: clamp(2.5rem, 1.8rem + 3vw, 5rem);
  --space-xl: clamp(4rem, 2.6rem + 6vw, 9rem);

  --radius: 2px;
  --header-h: 3.75rem;

  --ease-out: cubic-bezier(0.2, 0.7, 0.2, 1);
  --dur-fast: 180ms;
  --dur-base: 400ms;
  --dur-slow: 720ms;

  color-scheme: light;
}
