/* State of Proof — typography tokens. Brand faces are free/open-source: Geist (OFL) for UI + display, Geist Mono (OFL) for source locks, hashes, dates, and metadata. Binaries ship in assets/fonts. */
:root{
--font-sans:"Geist","Helvetica Neue",Helvetica,Arial,sans-serif;
--font-mono:"Geist Mono","SFMono-Regular",Consolas,monospace;
/* Size scale */
--text-2xs:11px;
--text-xs:12px;
--text-sm:13px;
--text-md:15px;
--text-base:16px;
--text-lg:18px;
--text-xl:21px;
--text-2xl:26px;
--text-3xl:34px;
--text-4xl:44px;
--text-5xl:58px;
--text-6xl:74px;
/* Semantic type — editorial hierarchy */
--display-1:clamp(40px,6vw,74px);/* @kind font */
--display-2:clamp(30px,4vw,44px);/* @kind font */
--title-1:26px;/* @kind font */
--title-2:21px;/* @kind font */
--title-3:18px;/* @kind font */
--lh-display:1.02;/* @kind font */
--lh-title:1.2;/* @kind font */
--lh-body:1.55;/* @kind font */
--lh-tight:1.35;/* @kind font */
--ls-display:-0.025em;/* @kind font */
--ls-title:-0.015em;/* @kind font */
--ls-caps:0.09em;/* @kind font */
/* Weights: 400 body, 500 emphasis/UI, 600 = "Proof" semibold, 700 rare display */
--w-regular:400;/* @kind font */
--w-medium:500;/* @kind font */
--w-semibold:600;/* @kind font */
--w-bold:700;/* @kind font */
/* Caps label: 11-12px, uppercase, +0.09em, weight 500 */
--label-caps:500 var(--text-2xs)/1.2 var(--font-sans);/* @kind font */
--mono-meta:400 var(--text-xs)/1.5 var(--font-mono);/* @kind font */
}
