:root{--bg:#ffffff;--bg-muted:#f4f4f5;--text:#0a0a0a;--text-muted:#3f3f46;--text-on-dark:#fafafa;--text-muted-on-dark:#d4d4d8;--accent:#713b6e;--accent-bright:#d4a0d0;--accent-on:#fafafa;--accent-muted:#5a2e57;--border:#d4d4d8;--border-strong:#71717a;--ink:#0a0a0a;--paper:#f7f4ee;--stamp:#c41e3a;--roar:#ff3b1f;--debris:#e8e4dc;--halftone:rgba(10,10,10,0.12);--ok:#1f5c3d;--warn:#7a4518;--danger:#c41e3a;--focus-ring:0 0 0 3px color-mix(in srgb,var(--stamp) 45%,transparent);--font-heading:"IBM Plex Sans",system-ui,sans-serif;--font-body:"IBM Plex Serif",Georgia,serif;--font-display:"Archivo Black","IBM Plex Sans",system-ui,sans-serif;--shadow-hard:4px 4px 0 var(--ink);--shadow-sm:0 1px 2px rgba(0,0,0,0.06);--shadow-md:0 4px 12px rgba(0,0,0,0.08);--radius-sm:4px;--radius-md:8px;--duration-micro:140ms;--duration-fast:200ms;--duration-normal:320ms;--duration-emphasis:600ms;--easing-standard:cubic-bezier(0.22,1,0.36,1);--easing-expressive:cubic-bezier(0.16,1,0.3,1)}@media (prefers-color-scheme:dark){:root{--bg:#0a0a0a;--bg-muted:#18181b;--text:#fafafa;--text-muted:#d4d4d8;--border:#3f3f46;--border-strong:#a1a1aa;--paper:#141210;--debris:#1f1d1a;--halftone:rgba(250,250,250,0.1);--ok:#6ee7a8;--warn:#f0b429;--accent-bright:#e2b8de}}*{box-sizing:border-box}body,html{margin:0;min-height:100%}body{font-family:var(--font-body);color:var(--text);background:var(--bg)}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}@keyframes stampSlam{0%{transform:scale(1.4);opacity:.6}60%{transform:scale(.96);opacity:1}to{transform:scale(1);opacity:1}}@keyframes textCrashIn{0%{transform:translateX(-40px) skewX(-4deg);opacity:0}to{transform:translateX(0) skewX(0);opacity:1}}@keyframes paperSwirl{0%{transform:rotate(-8deg) translateY(20px);opacity:0}to{transform:rotate(0) translateY(0);opacity:1}}@keyframes debrisSettle{0%{transform:translateY(-12px);opacity:0}70%{transform:translateY(3px);opacity:1}to{transform:translateY(0);opacity:1}}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}