:root{--color-bg: #fafafc;--color-dark: #121316;--color-accent-violet: #8b5cf6;--color-accent-pink: #ec4899;--color-accent-lime: #ccff00;--color-accent-sky: #06b6d4;--color-card: rgba(255, 255, 255, .9);--color-card-border: rgba(0, 0, 0, .08);--gradient-hero: linear-gradient( 120deg, var(--color-accent-violet) 0%, var(--color-accent-pink) 45%, var(--color-accent-sky) 100% );--font-headline: Syne, Space Grotesk, system-ui, sans-serif;--font-body: Plus Jakarta Sans, system-ui, -apple-system, sans-serif;--font-mono: Space Mono, ui-monospace, SFMono-Regular, monospace;--radius-sm: 8px;--radius-md: 16px;--radius-lg: 28px;--radius-pill: 999px;--ease-out-expo: cubic-bezier(.16, 1, .3, 1);--ease-spring: cubic-bezier(.34, 1.56, .64, 1);--container-max: 1280px;--gutter: clamp(16px, 4vw, 48px);--section-space: clamp(80px, 12vw, 160px)}body{font-family:var(--font-body);font-size:1rem;line-height:1.6;color:var(--color-dark);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1,h2,h3,h4,.headline{font-family:var(--font-headline);font-weight:800;line-height:.95;letter-spacing:-.03em;margin:0}h1,.display{font-size:clamp(3rem,10vw,9rem)}h2{font-size:clamp(2.25rem,6vw,5rem)}h3{font-size:clamp(1.5rem,3vw,2.25rem)}p{margin:0}code,kbd,.mono,.tag{font-family:var(--font-mono)}.tag{display:inline-flex;align-items:center;gap:.4em;padding:.35em .9em;font-size:.75rem;letter-spacing:.08em;text-transform:uppercase;border:1px solid currentColor;border-radius:var(--radius-pill)}.accent-violet{--accent: var(--color-accent-violet)}.accent-pink{--accent: var(--color-accent-pink)}.accent-lime{--accent: var(--color-accent-lime)}.accent-sky{--accent: var(--color-accent-sky)}.accent-violet,.accent-pink,.accent-sky{--on-accent: #fff}.accent-lime{--on-accent: var(--color-dark)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.6em;padding:1em 1.6em;font-family:var(--font-mono);font-size:.85rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;border:2px solid var(--color-dark);border-radius:var(--radius-pill);transition:transform .35s var(--ease-spring),box-shadow .35s var(--ease-out-expo),background-color .25s}.btn:hover{transform:translate(-3px,-3px);box-shadow:4px 4px 0 var(--color-dark)}.btn:active{transform:translate(0);box-shadow:none}.btn:focus-visible{outline:3px solid var(--color-accent-violet);outline-offset:3px}.btn--primary{background:var(--color-dark);color:var(--color-accent-lime)}.btn--primary:hover{box-shadow:4px 4px 0 var(--color-accent-pink)}.btn--ghost{background:transparent;color:var(--color-dark)}.btn--ghost:hover{background:var(--color-accent-lime)}.section-head{display:grid;grid-template-columns:minmax(0,1fr);gap:1.25rem;margin-bottom:clamp(40px,6vw,72px)}.section-head__index{font-family:var(--font-mono);font-size:.8rem;letter-spacing:.12em;text-transform:uppercase;color:var(--color-accent-violet)}.section-head__title{max-width:16ch;overflow-wrap:break-word}.section-head__title em{font-style:normal;background:var(--gradient-hero);-webkit-background-clip:text;background-clip:text;color:transparent}.section-head__lead{max-width:56ch;font-size:1.1rem;color:color-mix(in srgb,var(--color-dark) 70%,transparent)}.reveal{opacity:0;transform:translateY(32px);transition:opacity .9s var(--ease-out-expo),transform .9s var(--ease-out-expo);transition-delay:var(--reveal-delay, 0ms)}.reveal.is-visible{opacity:1;transform:none}@media(prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none}}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}*,*:before,*:after{box-sizing:border-box}html,body{overflow-x:clip}html{scroll-behavior:smooth}html:has(dialog[open]){overflow:hidden}body{margin:0;background:var(--color-bg)}img,svg,canvas,video{display:block;max-width:100%}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}::selection{background:var(--color-accent-lime);color:var(--color-dark)}.container{width:100%;max-width:var(--container-max);margin-inline:auto;padding-inline:var(--gutter)}.section{padding-block:var(--section-space)}section[id]{scroll-margin-top:72px}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}
