@layer global{:root{color-scheme:light dark;--background:#fff;--surface:#fff;--foreground:#1d1d1f;--muted:#6e6e73;--subtle:#6e6e73;--border:#e8e8ed;--border-strong:#d2d2d7;--accent:#1d1d1f;--accent-hover:#000;--accent-soft:#f5f5f7;--action:#1d1d1f;--action-hover:#000;--action-foreground:#fff;--visual-background:#f5f5f7;--header-background:#fffc;--header-border:#00000014;--inverted-background:#1d1d1f;--inverted-foreground:#f5f5f7;--inverted-muted:#a1a1a6;--intro-panel:#1d1d1f;--cta-background:#1d1d1f;--cta-foreground:#fff;--cta-muted:#c7c7cc;--font-mono:"Geist Mono", ui-monospace, monospace;--ease:cubic-bezier(.22, 1, .36, 1)}:root[data-theme=dark]{--background:#000;--surface:#161617;--foreground:#f5f5f7;--muted:#a1a1a6;--subtle:#86868b;--border:#2c2c2e;--border-strong:#424245;--accent:#f5f5f7;--accent-hover:#fff;--accent-soft:#0d0d0e;--action:#f5f5f7;--action-hover:#fff;--action-foreground:#000;--visual-background:#1d1d1f;--header-background:#000000b8;--header-border:#ffffff1a;--inverted-background:#161617;--cta-background:#f5f5f7;--cta-foreground:#000;--cta-muted:#48484a}@media (prefers-color-scheme:dark){:root:not([data-theme]){--background:#000;--surface:#161617;--foreground:#f5f5f7;--muted:#a1a1a6;--subtle:#86868b;--border:#2c2c2e;--border-strong:#424245;--accent:#f5f5f7;--accent-hover:#fff;--accent-soft:#0d0d0e;--action:#f5f5f7;--action-hover:#fff;--action-foreground:#000;--visual-background:#1d1d1f;--header-background:#000000b8;--header-border:#ffffff1a;--inverted-background:#161617;--cta-background:#f5f5f7;--cta-foreground:#000;--cta-muted:#48484a}}*{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--background)}body{color:var(--foreground);background:var(--background);text-rendering:optimizelegibility;margin:0;font-family:Josefin Sans,ui-sans-serif,system-ui,sans-serif;font-size:16px;line-height:1.6}::selection{color:var(--background);background:var(--foreground)}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}button{color:inherit}h1,h2,h3,p{margin-top:0}h1,h2,h3{text-wrap:balance;letter-spacing:-.035em;font-weight:600;line-height:1.12}h1{letter-spacing:-.04em;font-size:clamp(3.3rem,10vw,4.75rem)}h2{font-size:clamp(2.5rem,7vw,3.25rem)}h3{font-size:clamp(1.55rem,4vw,2rem)}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.container{width:min(100% - 40px,1200px);margin-inline:auto}.sr-only{clip:rect(0, 0, 0, 0);width:1px;height:1px;position:absolute;overflow:hidden}.lead{font-size:clamp(1.125rem,2.4vw,1.25rem);line-height:1.55}.muted{color:var(--muted)}.skip-link{z-index:100;color:var(--background);background:var(--foreground);border-radius:8px;padding:.65rem 1rem;position:fixed;top:.75rem;left:.75rem;transform:translateY(-160%)}.skip-link:focus{transform:none}.context-label{color:var(--accent);letter-spacing:.08em;text-transform:uppercase;margin-bottom:1.25rem;font-size:.78rem;font-weight:500}.technical-meta{color:var(--subtle);font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;font-size:.75rem;line-height:1.8}.badge{color:var(--accent);background:var(--accent-soft);border-radius:999px;padding:.3rem .65rem;font-size:.7rem}.button{cursor:pointer;border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;gap:.65rem;min-height:44px;padding:.65rem 1rem;transition:background-color .16s,color .16s,border-color .16s;display:inline-flex}.button:disabled{opacity:.65;cursor:default}.button--primary{color:var(--action-foreground);background:var(--action)}.button--primary:hover{background:var(--action-hover)}.button__icon,.text-link__icon{transition:transform .16s}.button:hover .button__icon,.text-link:hover .text-link__icon{transform:translate(4px)}.text-link{text-underline-offset:.2em;align-items:center;gap:.5rem;min-height:44px;font-weight:500;display:inline-flex}.text-link:hover{color:var(--accent);text-decoration:underline}.text-link--section{margin-top:2.5rem}.section{padding-block:clamp(4rem,8vw,7rem);scroll-margin-top:72px}.section--tinted{background:var(--accent-soft)}.section--surface{background:var(--surface)}.section--inverted{color:var(--inverted-foreground);background:var(--inverted-background)}.section-intro{max-width:780px;margin-bottom:clamp(3rem,7vw,5rem)}.section-intro__title{max-width:740px}.section-intro__lead{max-width:670px}.page-hero{max-width:1200px;padding-block:clamp(6rem,15vw,11rem)}.page-hero__title{max-width:960px}.page-hero__lead{max-width:680px}.page-hero__meta{margin-top:2rem}.header{z-index:20;background:var(--header-background);border-bottom:1px solid var(--border);height:64px;transition:background .2s,border .2s;position:sticky;top:0}.header--scrolled{border-color:var(--header-border);backdrop-filter:saturate(180%)blur(20px)}.header__nav{justify-content:space-between;align-items:center;height:100%;display:flex}.header__actions{align-items:center;gap:0;display:flex}.header__menu{align-items:center;gap:1.1rem;margin:0;padding:0;font-size:.875rem;list-style:none;display:none}.header__link{align-items:center;min-height:44px;display:inline-flex}.header__link:hover,.header__link[aria-current=page]{color:var(--accent)}.header__link--cta{min-height:38px;color:var(--foreground);border:1px solid var(--border-strong);border-radius:999px;padding-inline:1rem}.logo{align-items:center;gap:.7rem;min-height:44px;display:inline-flex}.logo__mark{border-radius:6px;width:28px;height:28px;display:block}.logo__name{font-weight:500}.language-switch{letter-spacing:.06em;border-radius:999px;place-content:center;min-width:44px;height:44px;font-size:.8rem;font-weight:500;transition:background-color .16s;display:grid}.language-switch:hover{background:var(--accent-soft)}.theme-toggle{cursor:pointer;background:0 0;border:0;border-radius:50%;place-content:center;width:44px;height:44px;transition:background-color .16s;display:grid}.theme-toggle:hover{background:var(--accent-soft)}.theme-toggle__icon{fill:none;stroke:currentColor;stroke-width:1.6px;stroke-linecap:round;stroke-linejoin:round;width:19px;height:19px}.theme-toggle__icon--sun,:root[data-theme=dark] .theme-toggle__icon--moon{display:none}:root[data-theme=dark] .theme-toggle__icon--sun{display:block}.menu-button{cursor:pointer;background:0 0;border:0;place-content:center;gap:5px;width:44px;height:44px;display:grid}.menu-button__bar{background:currentColor;width:20px;height:1px;display:block}.mobile-menu{background:var(--background);padding:2rem 20px;position:fixed;inset:64px 0 0}.mobile-menu__list{margin:0;padding:0;list-style:none}.mobile-menu__link{letter-spacing:-.04em;padding:.5rem 0;font-size:clamp(2rem,10vw,3rem);display:block}.mobile-menu__link[aria-current=page]{color:var(--accent)}.page--menu-open{overflow:hidden}.footer{padding:4rem 0 2rem}.footer__grid{gap:2rem;display:grid}.footer__list{flex-direction:column;align-items:flex-start;gap:.15rem;margin:0;padding:0;font-size:.875rem;list-style:none;display:flex}.footer__link{align-items:center;min-height:44px;display:inline-flex}.footer__link:hover{color:var(--accent)}.footer__copyright{color:var(--subtle);border-top:1px solid var(--border);margin-top:3rem;margin-bottom:0;padding-top:1.5rem;font-size:.8rem}.cursor{display:none}@media (hover:hover) and (pointer:fine){.cursor{z-index:300;pointer-events:none;mix-blend-mode:difference;opacity:0;transition:opacity .2s;display:block;position:fixed;top:0;left:0}.cursor--visible{opacity:1}.cursor__dot{width:20px;height:20px;transition:transform .3s var(--ease);background:#fff;border-radius:50%;margin:-10px 0 0 -10px;display:block}.cursor--active .cursor__dot{transform:scale(2.8)}}@media (width>=768px){.container{width:min(100% - 64px,1200px)}.header__actions{gap:.75rem}.header__menu{display:flex}.menu-button{display:none}.footer__grid{grid-template-columns:2fr 1fr 1fr}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}}@layer page;@font-face{font-family:Josefin Sans;src:url(/fonts/josefin-sans-latin.woff2)format("woff2");font-style:normal;font-weight:300 700;font-display:swap}@font-face{font-family:Geist Mono;src:url(/fonts/geist-mono-latin.woff2)format("woff2");font-style:normal;font-weight:400;font-display:swap}
