/* tokens.css: design tokens only. Every color, size and space used in styles.css is declared here.
   Palette is the sixteen-color VGA text mode, used as stained glass. System monospace only:
   the CSP forbids web fonts. */

:root {
  /* VGA text-mode palette. */
  --vga-black:     #000000;  /* the screen */
  --vga-dark:      #555555;  /* stone, rules */
  --vga-gray:      #aaaaaa;  /* body text, 9:1 on black */
  --vga-white:     #ffffff;  /* headings */
  --vga-cyan:      #00aaaa;  /* hashes */
  --vga-cyan-b:    #55ffff;  /* links */
  --vga-yellow-b:  #ffff55;  /* menu keys, focus */
  --vga-red-b:     #ff5555;  /* errors, glass */
  --vga-blue-b:    #5555ff;  /* glass */
  --vga-magenta-b: #ff55ff;  /* glass */

  /* Type. */
  --font-mono: "SF Mono", SFMono-Regular, ui-monospace, Menlo, Consolas, "DejaVu Sans Mono", "Liberation Mono", monospace;
  --fs-sm:   0.875rem;
  --fs-base: 1rem;
  --fs-h2:   1.25rem;
  --fs-h1:   clamp(1.35rem, 6.2vw, 2.25rem);
  --lh-prose: 1.6;
  --lh-art:   1;

  /* Rose window: 64 columns must fit the viewport; one column is 0.602em. */
  --art-cols: 64;
  --fs-art: min(1rem, calc((100vw - 2rem) / 38.6));

  /* Space. */
  --sp-1: 0.25rem;
  --sp-2: 0.5rem;
  --sp-3: 1rem;
  --sp-4: 1.5rem;
  --sp-5: 2.5rem;
  --sp-6: 4rem;

  /* Layout: an 80-column terminal. */
  --measure: 80ch;
  --gutter: 1rem;
  --rule: 3px double var(--vga-dark);
}
