/* ============================================================================
   badoptions.com — design tokens
   Every visual decision on the site lives here. Change a value, reload.
   The drawing (the "surface") reads its --surface-* values from this file too.
   Colors must be 6-digit hex (#rrggbb) so the drawing can read them.
   ========================================================================== */

:root {
  /* ---- type -------------------------------------------------------------- */
  --font-family: "MonoFont", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  --font-size: 15px;                             /* body, same as zihan.is */
  --font-size-small: 13px;                       /* ledger, footer */
  --font-size-title: clamp(21px, 3.4vw, 33px);
  --line-height: 1.8;
  --line-height-title: 1.1;
  --letter-spacing: 0;
  --letter-spacing-title: -0.02em;
  --text-max-width: 34em;                        /* thesis column, ~38 characters */

  /* ---- color ------------------------------------------------------------- */
  --bg-color: #ffffff;
  --text-color: #1a1a1a;
  --muted-color: #707070;
  --faint-color: #bfbfbf;
  --dotted-underline-color: #bfbfbf;

  /* ---- layout ------------------------------------------------------------ */
  --container-padding: clamp(20px, 3vw, 40px);
  --block-gap: 2.4em;                            /* vertical rhythm between blocks */
  --mobile-breakpoint: 720px;                    /* informational; see base.css */

  /* ---- surface: ink ------------------------------------------------------ */
  --surface-ink: #1a1a1a;
  --surface-ink-opacity: 0.25;
  --surface-ink-by-height: 0.6;    /* 0 = every line the same; 1 = calm lines vanish, fearful lines full ink */
  --surface-ink-by-decay: 0.5;     /* how much ink fades as the surface flattens; 0 = none, 1 = fades to nothing */
  --surface-ink-by-pointer: 0.6;   /* extra ink where you linger; 0 = none */
  --surface-line-count: 22;        /* contour lines from the lowest to the highest point */
  --surface-line-width: 1;         /* px */
  --surface-max-dpr: 2;            /* render resolution cap; lower = faster on phones */

  /* ---- surface: tempo ---------------------------------------------------- */
  --surface-reveal-seconds: 8;     /* Act I: noise settles into today's prices */
  --surface-breathe-speed: 1;      /* 1 = default; 0 = perfectly still */
  --surface-breathe-amount: 0.06;  /* how much the paper breathes (height units, 0–1) */
  --surface-decay-minutes: 6;      /* Act II: time until the surface has flattened (scaled by today's theta) */
  --surface-decay-floor: 0.3;      /* how flat it gets; 0 = blank paper, 1 = never decays */
  --surface-fold-interval: 150;    /* Act III: average seconds between folds (scaled by today's skew) */
  --surface-fold-height: 0.7;      /* height of a fold (0–1) */
  --surface-scar-minutes: 2;       /* how long a fold's scar remains visible */

  /* ---- surface: you ------------------------------------------------------ */
  --surface-pointer-radius: 0.2;   /* size of the rise under your cursor (fraction of screen height) */
  --surface-pointer-height: 0.45;  /* how much your presence raises the surface */
  --surface-ripple-amount: 0.05;   /* ripple when the cursor moves fast */
  --surface-scroll-tilt: 0.25;     /* phones: how much scrolling shifts the surface */
}
