/* CVL design tokens — voxel-neon identity v1.2 (2026-08-19, token slice)
   Sampled from ruled masters + mock-v1.1 neutrals. Import site-wide.
   Single source of truth: no color literals outside this file. */
:root {
  --cvl-bg: #000000;
  --cvl-surface: #0A0C07;
  --cvl-ink: #FFFFFF;
  --cvl-ink-dim: #B9BDB4;
  --cvl-muted: #737984;       /* AA mute floor: 4.8:1 on black */
  --cvl-border: #1C2018;
  --cvl-border-control: #555C68;
  --cvl-lime: #92FA11;        /* canonical accent (sampled core) */
  --cvl-lime-dim: #375E16;    /* DECORATIVE ONLY: 2.78:1 — never text/borders */
  --cvl-lime-glow: 0 0 24px rgba(146, 250, 17, 0.35);
  --cvl-voxel-1: #F0F0F0;     /* voxel light face */
  --cvl-voxel-2: #D0D0D0;     /* voxel mid face */
  --cvl-voxel-3: #B0B0B0;     /* voxel shade face */
  --cvl-font-display: "Pixelify Sans", monospace;   /* PROPOSED, unratified */
  --cvl-radius: 0px;          /* pixel aesthetic: square corners */
  --cvl-px: 4px;              /* base pixel unit for borders/steps */

  /* --- LIVE FONT ALIASES (hoisted from per-page :root, 2026-08-19) ---
     These are the names the site actually uses. Inter + IBM Plex Mono are
     the only faces loaded (one Google Fonts <link>, no @font-face or @import). */
  --cvl-font: Inter, system-ui, sans-serif;  /* live body alias — Inter IS the loaded face */
  --cvl-mono: "IBM Plex Mono", ui-monospace, monospace;  /* live mono alias — IBM Plex Mono IS the loaded face */

  /* --- LAYOUT (hoisted, was byte-identical in all five per-page :root) ---
     Centered composition — intentional negative space, no dead ultrawide gaps. */
  --cvl-max: 1600px;  /* max composition width */
  --cvl-gutter: clamp(2.5rem, 4vw, 4.5rem);  /* page gutter */
  --cvl-section-pad-y: clamp(4.5rem, 6.5vw, 6.5rem);  /* section vertical pad */
  --cvl-col-gap: clamp(3.5rem, 5vw, 6rem);  /* column gap */

  /* --- PANEL / INK / STATE (role-named; hoisted from page literals) --- */
  --cvl-danger: #c42b1c;  /* error / destructive marker — 5x */
  --cvl-ink-warm: #e8efe4;  /* warm near-white ink — 1x */
  --cvl-lime-light: #c8ff6a;  /* lifted lime — 10x */
  --cvl-lime-lighter: #d8ff6a;  /* lifted lime, one step up — 1x */
  --cvl-panel: #050705;  /* deepest panel ground — 24x */
  --cvl-panel-deep: #030503;  /* panel ground, one step under — 10x */
  --cvl-panel-raised: #070a06;  /* raised panel ground — 5x */
  --cvl-panel-tint: #0c1408;  /* panel ground, lime-tinted — 1x */
  --cvl-ink-ghost: rgba(180, 190, 180, 0.45);  /* ghosted body ink — 5x */
  --cvl-ink-glow-55: rgba(255, 255, 255, 0.55);  /* white glow shadow — 5x */
  --cvl-ink-soft: rgba(180, 200, 180, 0.78);  /* softened body ink — 5x */
  --cvl-ink-wash-03: rgba(255, 255, 255, 0.03);  /* white wash background — 10x */
  --cvl-ink-wash-035: rgba(255, 255, 255, 0.035);  /* white wash background — 10x */
  --cvl-lime-stroke: rgb(190, 255, 90);  /* stroke/color bright lime — 18x */
  --cvl-lime-stroke-hi: rgb(200, 255, 100);  /* stroke bright lime, hi — 4x */
  --cvl-panel-veil: rgba(5, 7, 5, 0.96);  /* panel veil, fill/bg — 5x */
  --cvl-panel-veil-2: rgba(5, 8, 4, 0.94);  /* panel veil, second — 5x */
  --cvl-scrim: rgba(0, 0, 0, 0.92);  /* modal/overlay scrim — 5x */
  --cvl-shadow-soft: rgba(0, 0, 0, 0.55);  /* soft drop shadow — 1x */
  --cvl-stroke-ghost: rgba(200, 220, 190, 0.55);  /* ghosted stroke — 1x */
  --cvl-surface-veil: rgba(10, 12, 7, 0.72);  /* --cvl-surface at 72% — 5x */

  /* --- LIME ALPHA-GLOW FAMILY (discrete, role-named from measured usage) ---
     wash=background fills · glow=box/text-shadow · edge=borders · ink=stroke/fill/color
     Acid-lime stays a meaningful marker: this family is alpha of the ONE lime. */
  --cvl-lime-edge-16: rgba(146, 250, 17, 0.16);  /* 24x */
  --cvl-lime-edge-18: rgba(146, 250, 17, 0.18);  /* 21x */
  --cvl-lime-edge-20: rgba(146, 250, 17, 0.2);  /* 5x */
  --cvl-lime-edge-22: rgba(146, 250, 17, 0.22);  /* 29x */
  --cvl-lime-edge-28: rgba(146, 250, 17, 0.28);  /* 26x */
  --cvl-lime-edge-55: rgba(146, 250, 17, 0.55);  /* 9x */
  --cvl-lime-edge-72: rgba(146, 250, 17, 0.72);  /* 6x */
  --cvl-lime-glow-05: rgba(146, 250, 17, 0.05);  /* 10x */
  --cvl-lime-glow-12: rgba(146, 250, 17, 0.12);  /* 25x */
  --cvl-lime-glow-35: rgba(146, 250, 17, 0.35);  /* 22x */
  --cvl-lime-glow-40: rgba(146, 250, 17, 0.4);  /* 26x */
  --cvl-lime-glow-45: rgba(146, 250, 17, 0.45);  /* 20x */
  --cvl-lime-glow-65: rgba(146, 250, 17, 0.65);  /* 5x */
  --cvl-lime-ink-07: rgba(146, 250, 17, 0.07);  /* 1x */
  --cvl-lime-ink-14: rgba(146, 250, 17, 0.14);  /* 1x */
  --cvl-lime-ink-32: rgba(146, 250, 17, 0.32);  /* 4x */
  --cvl-lime-ink-42: rgba(146, 250, 17, 0.42);  /* 1x */
  --cvl-lime-ink-70: rgba(146, 250, 17, 0.7);  /* 15x */
  --cvl-lime-ink-75: rgba(146, 250, 17, 0.75);  /* 5x */
  --cvl-lime-wash-02: rgba(146, 250, 17, 0.02);  /* 5x */
  --cvl-lime-wash-03: rgba(146, 250, 17, 0.03);  /* 10x */
  --cvl-lime-wash-04: rgba(146, 250, 17, 0.04);  /* 21x */
  --cvl-lime-wash-06: rgba(146, 250, 17, 0.06);  /* 20x */
  --cvl-lime-wash-08: rgba(146, 250, 17, 0.08);  /* 20x */
  --cvl-lime-wash-10: rgba(146, 250, 17, 0.1);  /* 5x */
  --cvl-lime-wash-95: rgba(146, 250, 17, 0.95);  /* 5x */

  /* --- TYPE SCALE (1:1 with measured sizes; NOT snapped — see report) --- */
  --cvl-fs-0p46rem: 0.46rem;  /* 1x */
  --cvl-fs-0p52rem: 0.52rem;  /* 4x */
  --cvl-fs-0p54rem: 0.54rem;  /* 1x */
  --cvl-fs-0p55rem: 0.55rem;  /* 5x */
  --cvl-fs-0p56rem: 0.56rem;  /* 1x */
  --cvl-fs-0p58rem: 0.58rem;  /* 15x */
  --cvl-fs-0p5rem: 0.5rem;  /* 1x */
  --cvl-fs-0p62rem: 0.62rem;  /* 10x */
  --cvl-fs-0p64rem: 0.64rem;  /* 5x */
  --cvl-fs-0p68rem: 0.68rem;  /* 11x */
  --cvl-fs-0p6rem: 0.6rem;  /* 2x */
  --cvl-fs-0p72rem: 0.72rem;  /* 21x */
  --cvl-fs-0p74rem: 0.74rem;  /* 6x */
  --cvl-fs-0p75rem: 0.75rem;  /* 36x */
  --cvl-fs-0p78rem: 0.78rem;  /* 16x */
  --cvl-fs-0p8125rem: 0.8125rem;  /* 10x */
  --cvl-fs-0p85rem: 0.85rem;  /* 5x */
  --cvl-fs-0p86rem: 0.86rem;  /* 5x */
  --cvl-fs-0p875rem: 0.875rem;  /* 10x */
  --cvl-fs-0p8rem: 0.8rem;  /* 10x */
  --cvl-fs-0p92rem: 0.92rem;  /* 1x */
  --cvl-fs-0p9375rem: 0.9375rem;  /* 10x */
  --cvl-fs-0p95rem: 0.95rem;  /* 15x */
  --cvl-fs-0p975rem: 0.975rem;  /* 25x */
  --cvl-fs-0p9em: 0.9em;  /* 10x */
  --cvl-fs-0p9rem: 0.9rem;  /* 10x */
  --cvl-fs-1p05rem: 1.05rem;  /* 15x */
  --cvl-fs-1p0625rem: 1.0625rem;  /* 5x */
  --cvl-fs-1p15rem: 1.15rem;  /* 15x */
  --cvl-fs-1p4rem: 1.4rem;  /* 5x */
  --cvl-fs-13px: 13px;  /* 1x */
  --cvl-fs-14px: 14px;  /* 1x */
  --cvl-fs-1em: 1em;  /* 1x */
  --cvl-fs-1rem: 1rem;  /* 10x */
  --cvl-fs-fluid-01: clamp(0.78rem, 1.05vw, 0.88rem);  /* 5x */
  --cvl-fs-fluid-02: clamp(0.82rem, 1.1vw, 0.92rem);  /* 5x */
  --cvl-fs-fluid-03: clamp(0.82rem, 1.3vw, 0.98rem);  /* 5x */
  --cvl-fs-fluid-04: clamp(0.92rem, 1.15vw, 1rem);  /* 6x */
  --cvl-fs-fluid-05: clamp(0.92rem, 1.2vw, 1.05rem);  /* 5x */
  --cvl-fs-fluid-06: clamp(0.92rem, 1.25vw, 1.05rem);  /* 5x */
  --cvl-fs-fluid-07: clamp(0.95rem, 1.2vw, 1.02rem);  /* 1x */
  --cvl-fs-fluid-08: clamp(1rem, 1.3vw, 1.1rem);  /* 5x */
  --cvl-fs-fluid-09: clamp(1rem, 1.4vw, 1.15rem);  /* 1x */
  --cvl-fs-fluid-10: clamp(1.05rem, 1.6vw, 1.25rem);  /* 5x */
  --cvl-fs-fluid-11: clamp(1.06rem, 1.6vw, 1.24rem);  /* 5x */
  --cvl-fs-fluid-12: clamp(1.15rem, 1.8vw, 1.35rem);  /* 5x */
  --cvl-fs-fluid-13: clamp(1.15rem, 1.8vw, 1.45rem);  /* 5x */
  --cvl-fs-fluid-14: clamp(1.15rem, 1.9vw, 1.45rem);  /* 1x */
  --cvl-fs-fluid-15: clamp(1.2rem, 5.8vw, 1.65rem);  /* 5x */
  --cvl-fs-fluid-16: clamp(1.35rem, 6.5vw, 1.85rem);  /* 5x */
  --cvl-fs-fluid-17: clamp(1.45rem, 2.4vw, 2rem);  /* 20x */
  --cvl-fs-fluid-18: clamp(1.55rem, 2.5vw, 2.1rem);  /* 5x */
  --cvl-fs-fluid-19: clamp(1.65rem, 2.8vw, 2.35rem);  /* 5x */
  --cvl-fs-fluid-20: clamp(1.7rem, 2.8vw, 2.35rem);  /* 20x */
  --cvl-fs-fluid-21: clamp(1.85rem, 3.4vw, 2.85rem);  /* 5x */
  --cvl-fs-fluid-22: clamp(1.85rem, 8.5vw, 2.6rem);  /* 5x */
  --cvl-fs-fluid-23: clamp(2.25rem, 4.5vw, 3.6rem);  /* 5x */
}
/* Accent budget: lime on <=10% of any viewport. Glitch: micro-interactions
   only, <=300ms, honor prefers-reduced-motion. Body text never lime. */
