:root{color-scheme:light;--color-bg: #f7f6f1;--color-bg-elevated: #fffefb;--color-surface: #fffefb;--color-muted: #edebe3;--color-border: #dcd9cd;--color-border-strong: #bdb9aa;--color-fg: #14112b;--color-fg-secondary: #3d3a58;--color-fg-tertiary: #5d5a78;--color-accent: #08748f;--color-accent-hover: #065a70;--color-accent-dim: rgba(8, 116, 143, .1);--color-accent-2: #8a3fc0;--color-destructive: #d0293a;--gradient-brand: linear-gradient(var(--color-accent), var(--color-accent));--shadow-lift: 0 1px 2px rgba(20, 17, 43, .08), 0 10px 24px -12px rgba(20, 17, 43, .28);--band-bg: #eeece4;--font-mono: "JetBrains Mono", ui-monospace, "Cascadia Code", monospace;--font-sans: "IBM Plex Sans", system-ui, -apple-system, sans-serif;--font-display: "Bricolage Grotesque", var(--font-sans);--font-heading: var(--font-display);--heading-weight: 700;--text-xs: .75rem;--text-sm: .875rem;--text-base: 1rem;--text-lg: 1.125rem;--text-xl: 1.5rem;--text-2xl: 2rem;--text-3xl: 2.75rem;--text-4xl: clamp(2.5rem, 6vw, 4.5rem);--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-6: 1.5rem;--space-8: 2rem;--space-12: 3rem;--space-16: 4rem;--space-24: 6rem;--space-32: 8rem;--container-max: 72rem;--measure-card: 60ch;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 16px;--ease-out: cubic-bezier(.23, 1, .32, 1);--ease-in-out: cubic-bezier(.77, 0, .175, 1);--duration-press: .12s;--duration-fast: .15s;--duration-base: .22s;--duration-slow: .32s;--press-scale: .97;--z-nav: 100;--z-overlay: 200;--z-chat: 300;--z-toast: 1000}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){color-scheme:dark;--color-bg: #0e0b1e;--color-bg-elevated: #1a1430;--color-surface: #1a1430;--color-muted: #241b3e;--color-border: #322752;--color-border-strong: #453766;--color-fg: #f8f7fc;--color-fg-secondary: #cfc9e0;--color-fg-tertiary: #a49dc4;--color-accent: #12c2e9;--color-accent-hover: #4fd6f2;--color-accent-dim: rgba(18, 194, 233, .12);--color-accent-2: #c471ed;--color-destructive: #f64f59;--shadow-lift: 0 1px 2px rgba(0, 0, 0, .4), 0 12px 28px -12px rgba(0, 0, 0, .7);--band-bg: #09070f}}:root[data-theme=dark]{color-scheme:dark;--color-bg: #0e0b1e;--color-bg-elevated: #1a1430;--color-surface: #1a1430;--color-muted: #241b3e;--color-border: #322752;--color-border-strong: #453766;--color-fg: #f8f7fc;--color-fg-secondary: #cfc9e0;--color-fg-tertiary: #a49dc4;--color-accent: #12c2e9;--color-accent-hover: #4fd6f2;--color-accent-dim: rgba(18, 194, 233, .12);--color-accent-2: #c471ed;--color-destructive: #f64f59;--shadow-lift: 0 1px 2px rgba(0, 0, 0, .4), 0 12px 28px -12px rgba(0, 0, 0, .7);--band-bg: #09070f}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/ibm-plex-sans-latin-400-normal.woff2) format("woff2")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/ibm-plex-sans-latin-500-normal.woff2) format("woff2")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/ibm-plex-sans-latin-600-normal.woff2) format("woff2")}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/jetbrains-mono-latin-400-normal.woff2) format("woff2")}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/jetbrains-mono-latin-500-normal.woff2) format("woff2")}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/jetbrains-mono-latin-700-normal.woff2) format("woff2")}@font-face{font-family:Bricolage Grotesque;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/bricolage-grotesque-latin-700-normal.woff2) format("woff2")}@font-face{font-family:Bricolage Grotesque;font-style:normal;font-weight:800;font-display:swap;src:url(/fonts/bricolage-grotesque-latin-800-normal.woff2) format("woff2")}*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}body{margin:0;background:var(--color-bg);color:var(--color-fg);font-family:var(--font-sans);font-size:var(--text-base);line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden}img{max-width:100%;height:auto;display:block}button{font-family:inherit;cursor:pointer}::selection{background:var(--color-accent);color:var(--color-bg)}:focus-visible{outline:2px solid var(--color-accent);outline-offset:3px;border-radius:var(--radius-sm)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}h1,h2,h3,h4{font-family:var(--font-heading);font-weight:var(--heading-weight);line-height:1.2;margin:0 0 var(--space-4);text-wrap:balance}p{margin:0 0 var(--space-4);max-width:65ch}p a{text-decoration:underline;text-underline-offset:.2em}a{color:var(--color-accent);text-decoration:none;transition:color var(--duration-fast) var(--ease-out)}a:hover{color:var(--color-accent-hover)}.container{width:100%;max-width:var(--container-max);margin-inline:auto;padding-inline:var(--space-6)}@media(min-width:768px){.container{padding-inline:var(--space-8)}}section[id]{scroll-margin-top:4rem}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.window-dots{display:inline-flex;gap:var(--space-2)}.window-dots__dot{width:var(--window-dot-size, 10px);height:var(--window-dot-size, 10px);border-radius:50%}.window-dots__dot--red{background:#ff5f57}.window-dots__dot--yellow{background:#febc2e}.window-dots__dot--green{background:#28c840}.marker{padding-bottom:.06em;background:var(--gradient-brand) no-repeat 0 100%/100% .16em}@supports (animation-timeline: view()){.marker{background-size:0% .16em;animation:marker-grow linear both;animation-timeline:view();animation-range:entry 10% cover 35%}}.marker--intro{animation:marker-grow .9s .4s ease-out both;animation-timeline:auto;animation-range:normal}@media(prefers-reduced-motion:reduce){.marker{background-size:100% .16em;animation:none}}@keyframes marker-grow{to{background-size:100% .16em}}
