/* Nullpad site tokens
   Product colors come from the native app contract. Layout, type roles, spacing,
   shape, and motion follow the ProDyn / Threadline DSM v2.0. */
:root {
  --np-void: #000000;
  --np-panel: #05070A;
  --np-panel-raised: #090D13;
  --np-field-deep: #02070B;

  --np-ink-strong: rgba(255, 255, 255, .92);
  --np-ink-body: rgba(255, 255, 255, .78);
  --np-ink-muted: rgba(255, 255, 255, .60);
  --np-ink-resolving: rgba(255, 255, 255, .38);
  --np-ink-provisional: rgba(255, 255, 255, .22);
  --np-ink-resolving-readable: rgba(255, 255, 255, .52);
  --np-ink-provisional-readable: rgba(255, 255, 255, .48);
  --np-structure: rgba(255, 255, 255, .12);
  --np-structure-quiet: rgba(255, 255, 255, .07);
  --np-surface: rgba(255, 255, 255, .025);

  --np-signal: #4C7EDD;
  --np-signal-deep: #28497E;
  --np-signal-bright: #79A4F4;
  --np-signal-soft: rgba(76, 126, 221, .16);
  --np-signal-faint: rgba(76, 126, 221, .07);
  --np-signal-line: rgba(76, 126, 221, .34);
  --np-memory-cyan: #30B0D0;
  --np-memory-cyan-soft: rgba(48, 176, 208, .08);
  --np-critical: #D8434F;
  --np-critical-soft: rgba(216, 67, 79, .12);

  --np-font-display: 'Oxanium Nullpad', Oxanium, system-ui, sans-serif;
  --np-font-mono: 'Departure Mono Nullpad', Menlo, Monaco, 'Courier New', monospace;

  --fs-micro: 11px;
  --fs-meta: 12px;
  --fs-body-sm: 14px;
  --fs-body: 16px;
  --fs-lead: 18px;
  --fs-h3: 23px;
  --fs-h2: 28px;
  --fs-h1: clamp(36px, 5vw, 64px);
  --fs-display: clamp(48px, 7vw, 96px);

  --lh-tight: .98;
  --lh-heading: 1.12;
  --lh-body: 1.6;
  --lh-relaxed: 1.72;

  --ls-hud: .12em;
  --ls-hud-wide: .18em;
  --ls-display: -.035em;
  --ls-display-tight: -.058em;

  --sp-1: 4px;
  --sp-2: 8px;
  --sp-3: 12px;
  --sp-4: 16px;
  --sp-5: 20px;
  --sp-6: 24px;
  --sp-7: 32px;
  --sp-8: 40px;
  --sp-9: 56px;
  --sp-section-sm: 40px;
  --sp-section: 64px;
  --sp-section-lg: 96px;

  --r-0: 0;
  --r-dot: 50%;
  --bw-hairline: 1px;
  --bw-signal: 2px;

  --page-gutter: clamp(20px, 4vw, 56px);
  --page-max: 1240px;
  --reading-max: 760px;
  --header-height: 72px;

  --t-fast: .3s;
  --t-med: .45s;
  --t-slow: .9s;
  --t-ambient: 12s;
  --t-ambient-slow: 28s;
  --ease-enter: cubic-bezier(.22, 1, .36, 1);
  --ease-brand: ease-in-out;

  --z-atmo: 1;
  --z-content: 10;
  --z-nav: 100;
  --z-overlay: 1000;
}
