:root{--surface-0: #0e0e0f;--surface-1: #18181a;--surface-2: #1d1d20;--surface-3: #131315;--surface-sidebar: #0a0a0b;--bg: var(--surface-0);--header: var(--surface-3);--sidebar: var(--surface-sidebar);--fg: #ededee;--fg-muted: #8a8a90;--fg-subtle: #7a7a82;--border: #34343a;--border-subtle: #26262a;--border-strong: #4a4a52;--vermilion: #d8443c;--vermilion-text: #e85b53;--vermilion-soft: rgba(232, 91, 83, .14);--ok: #5fb86b;--ok-text: #86d894;--ok-soft: rgba(95, 184, 107, .22);--warn: #d8a857;--warn-text: #e8b969;--warn-soft: rgba(216, 168, 87, .22);--bad: #b53a32;--bad-text: #e07b73;--bad-soft: rgba(181, 58, 50, .22);--motion-fast: .12s;--motion-base: .2s;--motion-slow: .32s;--ease-default: cubic-bezier(.16, 1, .3, 1);--size-touch: 44px;--radius-sm: 4px;--radius-md: 6px;--radius-lg: 10px;--radius-pill: 9999px}@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important}}@media(forced-colors:active){:root{--bg: Canvas;--surface-0: Canvas;--surface-1: Canvas;--surface-2: Canvas;--surface-3: Canvas;--surface-sidebar: Canvas;--fg: CanvasText;--fg-muted: CanvasText;--fg-subtle: GrayText;--border: CanvasText;--border-subtle: GrayText;--border-strong: CanvasText;--vermilion: LinkText;--vermilion-text: LinkText;--vermilion-soft: transparent}}*:focus-visible{outline:2px solid var(--vermilion-text);outline-offset:2px;border-radius:inherit}@media(forced-colors:active){*:focus-visible{outline:2px solid Highlight}}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(./files/inter-latin-400-normal.woff2) format("woff2"),url(./files/inter-latin-400-normal.woff) format("woff")}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(./files/inter-latin-500-normal.woff2) format("woff2"),url(./files/inter-latin-500-normal.woff) format("woff")}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(./files/inter-latin-600-normal.woff2) format("woff2"),url(./files/inter-latin-600-normal.woff) format("woff")}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(./files/inter-latin-700-normal.woff2) format("woff2"),url(./files/inter-latin-700-normal.woff) format("woff")}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(./files/inter-latin-ext-400-normal.woff2) format("woff2"),url(./files/inter-latin-ext-400-normal.woff) format("woff")}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(./files/inter-latin-ext-500-normal.woff2) format("woff2"),url(./files/inter-latin-ext-500-normal.woff) format("woff")}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(./files/inter-latin-ext-600-normal.woff2) format("woff2"),url(./files/inter-latin-ext-600-normal.woff) format("woff")}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(./files/inter-latin-ext-700-normal.woff2) format("woff2"),url(./files/inter-latin-ext-700-normal.woff) format("woff")}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(./files/jetbrains-mono-latin-400-normal.woff2) format("woff2"),url(./files/jetbrains-mono-latin-400-normal.woff) format("woff")}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:500;src:url(./files/jetbrains-mono-latin-500-normal.woff2) format("woff2"),url(./files/jetbrains-mono-latin-500-normal.woff) format("woff")}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(./files/jetbrains-mono-latin-ext-400-normal.woff2) format("woff2"),url(./files/jetbrains-mono-latin-ext-400-normal.woff) format("woff")}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:500;src:url(./files/jetbrains-mono-latin-ext-500-normal.woff2) format("woff2"),url(./files/jetbrains-mono-latin-ext-500-normal.woff) format("woff")}:root{--font-sans: "Inter", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-mono: "JetBrains Mono", ui-monospace, "SFMono-Regular", Menlo, Monaco, Consolas, monospace}body{font-family:var(--font-sans);font-feature-settings:"cv02","cv03","cv04","cv11"}code,pre,kbd,samp,[class*=font-mono],[class*=text-mono]{font-family:var(--font-mono);font-feature-settings:"tnum"}@media print{:root{--surface-0: white;--surface-1: white;--surface-2: white;--surface-3: white;--surface-sidebar: white;--bg: white;--header: white;--sidebar: white;--fg: black;--fg-muted: #555;--fg-subtle: #777;--vermilion: black;--vermilion-text: black;--vermilion-soft: transparent;--border: #999;--border-subtle: #ccc;--border-strong: #666}.no-print{display:none!important}h1,h2,h3,h4{color:#000}a{color:#000;text-decoration:underline}body{background:#fff!important;color:#000!important}}html{scroll-behavior:smooth}body:before{content:"";position:fixed;inset:0;z-index:9999;pointer-events:none;opacity:.035;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");background-repeat:repeat;background-size:256px 256px}[data-animate]{opacity:0;transform:translateY(16px);transition:opacity .6s ease,transform .6s ease}[data-animate].is-visible{opacity:1;transform:translateY(0)}[data-animate-stagger]>*{opacity:0;transform:translateY(16px);transition:opacity .5s ease,transform .5s ease}[data-animate-stagger].is-visible>*{opacity:1;transform:translateY(0)}[data-animate-stagger].is-visible>*:nth-child(1){transition-delay:0ms}[data-animate-stagger].is-visible>*:nth-child(2){transition-delay:80ms}[data-animate-stagger].is-visible>*:nth-child(3){transition-delay:.16s}[data-animate-stagger].is-visible>*:nth-child(4){transition-delay:.24s}[data-animate-stagger].is-visible>*:nth-child(5){transition-delay:.32s}[data-animate-stagger].is-visible>*:nth-child(6){transition-delay:.4s}@keyframes float{0%,to{transform:translate(0) scale(1)}33%{transform:translate(10px,-15px) scale(1.02)}66%{transform:translate(-8px,10px) scale(.98)}}.animate-float{animation:float 20s ease-in-out infinite}.animate-float-slow{animation:float 28s ease-in-out infinite reverse}
