@import"https://fonts.googleapis.com/css2?family=Caveat:wght@400;600&family=Geist:wght@400;500;600&family=JetBrains+Mono:ital,wght@0,400;0,500;0,600;0,700;1,400&family=Space+Grotesk:wght@500;600&family=Special+Elite&display=swap";:root{--hf-mono: "JetBrains Mono", ui-monospace, "SF Mono", Menlo, monospace;--hf-display: "Special Elite", "Courier New", monospace;--hf-hand: "Caveat", cursive;--hf-fs-xs: 10px;--hf-fs-sm: 11px;--hf-fs-base: 12px;--hf-fs-md: 13px;--hf-fs-lg: 14px;--hf-fs-xl: 16px;--hf-fs-2xl: 20px;--nt-sans: "Geist", system-ui, sans-serif;--nt-display: "Space Grotesk", "Geist", sans-serif;--nt-mono: var(--hf-mono);--nt-fs-caption: 12px;--nt-fs-meta: 13px;--nt-fs-small: 14px;--nt-fs-ui: 15px;--nt-fs-body: 16px;--nt-fs-lead: 17px;--nt-fs-intro: 18px;--nt-fs-h5: 19px;--nt-fs-h4: 21px;--nt-fs-h3: 24px;--nt-fs-h2: clamp(30px, 3.6vw, 44px);--nt-fs-h1: clamp(42px, 6vw, 80px);--nt-fs-hero: clamp(48px, 7.4vw, 104px);--nt-lh-tight: 1.04;--nt-lh-heading: 1.12;--nt-lh-body: 1.6;--nt-tracking-display: -.035em;--nt-tracking-heading: -.02em;--hf-tracking-wide: .03em;--hf-tracking-wider: .08em}:root{--hf-bg: #0a0a0a;--hf-bg-2: #0e0e0e;--hf-surface: #121212;--hf-surface-2: #161616;--hf-cockpit-bg: #0c1420;--hf-cockpit-panel: #1a2230;--hf-cockpit-panel-2: #2a3a50;--hf-ink: #e4ecd8;--hf-ink-soft: #7a9a88;--hf-ink-muted: #4a6a55;--hf-ink-pale: #c0d8cc;--hf-line: #243028;--hf-line-strong: #3a5042;--hf-accent: #c8d837;--hf-accent-2: #1ba0a0;--hf-accent-3: #6dbf8b;--hf-terminal-glow: #39ff14;--hf-cyan: #05d9e8;--hf-magenta: #ff2a6d;--hf-violet: #d300c5;--hf-purple-deep: #4a2048;--hf-purple-mid: #5a2858;--hf-purple-shadow: #3a1838;--lofi-accent: #b08cd8;--lofi-accent-2: #8a6aaa;--lofi-bg: #1a1028;--lofi-surface: rgba(30, 20, 48, .85);--hf-alpha-white-02: rgba(255, 255, 255, .02);--hf-alpha-white-03: rgba(255, 255, 255, .03);--hf-alpha-white-05: rgba(255, 255, 255, .05);--hf-alpha-white-06: rgba(255, 255, 255, .06);--hf-alpha-white-25: rgba(255, 255, 255, .25);--hf-alpha-black-03: rgba(0, 0, 0, .03);--hf-alpha-black-06: rgba(0, 0, 0, .06);--hf-alpha-black-12: rgba(0, 0, 0, .12);--hf-alpha-black-20: rgba(0, 0, 0, .2);--hf-alpha-black-30: rgba(0, 0, 0, .3);--hf-alpha-black-40: rgba(0, 0, 0, .4);--hf-alpha-black-50: rgba(0, 0, 0, .5);--hf-accent-glow: rgba(200, 216, 55, .4);--hf-accent-soft: rgba(200, 216, 55, .1);--hf-accent-faint: rgba(200, 216, 55, .03);--hf-teal-soft: rgba(27, 160, 160, .1);--hf-teal-glow: rgba(27, 160, 160, .25);--hf-dot-purple: #3a2855;--hf-dot-navy: #1a3050;--hf-dot-green: #1a3020;--hf-white: #ffffff;--hf-pacman-eye: #0a1a0a;--hf-accent-fill: rgba(200, 216, 55, .12);--hf-alpha-white-35: rgba(255, 255, 255, .35);--hf-alpha-white-12: rgba(255, 255, 255, .12);--cp-asic: #1ba0a0;--cp-ai: #ff6b6b;--cp-ai-orange: #ffa94d;--cp-eda: #6ec8e6;--cp-script: #c8d837;--cp-track: #1a2230;--cp-ok: #4ade80;--lofi-string-wire: #4a3860;--lofi-mug-rim: #3a1a08;--lofi-mug-body: #e8d8c4;--lofi-mug-shadow: #d0c0a8;--lofi-mug-highlight: #f0e4d4;--lofi-bean: #8B4513;--lofi-bean-line: #5a2a08;--nt-room-ivory: #eee4cd;--nt-room-plaster: #b9b2a0;--nt-room-sage: #748b6c;--nt-room-forest: #284d3b;--nt-room-oak: #9e7245;--nt-room-walnut: #503326;--nt-room-graphite: #202931;--nt-room-steel: #7f929d;--nt-room-brass: #a8854e;--nt-room-navy: #273d59;--nt-room-blue: #5187a6;--nt-room-teal: #307f82;--nt-room-clay: #ba7051;--nt-room-burgundy: #6b3448;--nt-room-lavender: #7b719c;--nt-room-linen: #b9a994;--nt-room-glass: #639ba0;--nt-room-rust: #8f4c36;--nt-room-amber: #ffce89;--nt-room-daylight: #c9e2fa;--nt-room-porcelain: #f2f0e9;--nt-room-ink: #101b24;--nt-ground: #07080c;--nt-ground-2: #090a0f;--nt-panel: #0b0d13;--nt-panel-2: #0e1118;--nt-panel-signal: #0c1514;--nt-rule: #161922;--nt-line: #1c2030;--nt-line-2: #23283a;--nt-line-3: #2a2f3d;--nt-line-4: #3a4054;--nt-ink-strong: #f3f4f7;--nt-ink: #e6e8ee;--nt-ink-2: #c3c8d4;--nt-ink-soft: #a3a9ba;--nt-ink-muted: #8b92a5;--nt-ink-faint: #7d8496;--nt-signal: #2dd4bf;--nt-signal-ink: #061210;--nt-signal-line: #1b3a36;--nt-signal-line-2: #1f4a44;--nt-signal-soft: rgba(45, 212, 191, .12);--nt-signal-faint: rgba(45, 212, 191, .05);--nt-signal-glow: rgba(45, 212, 191, .45);--nt-dot: rgba(255, 255, 255, .05);--nt-scrim: rgba(7, 8, 12, .6);--nt-scrim-strong: rgba(7, 8, 12, .88);--nt-paper-ground: #dcd8cc;--nt-paper-panel: #e6e2d6;--nt-paper-panel-2: #d4cfc1;--nt-paper-line: #c8c3b4;--nt-paper-ink-strong: #24221d;--nt-paper-ink: #34302a;--nt-paper-ink-2: #4c4840;--nt-paper-ink-muted: #5a564d;--nt-paper-signal: #0a7164;--nt-paper-signal-line: #9ec8bd;--nt-paper-signal-panel: #cfdcd2;--nt-code-ground: #0b0d13;--nt-code-line: #1c2030;--nt-code-ink: #e6e8ee;--nt-term-red: #ff5f56;--nt-term-amber: #febc2e;--nt-term-green: #28c840}:root{--nt-world-moss: #678479;--nt-world-leaf: #387d70;--nt-world-clay: #ab766d;--nt-world-lilac: #9b87b1;--nt-world-snow: #d3e1e2;--nt-world-sand: #b8a58a;--nt-world-stone: #596571;--nt-world-wood: #8c796b;--nt-world-earth: #70635e;--nt-world-honey: #e5bb79;--nt-world-water: #36576f;--nt-world-ice: #819ebc;--nt-world-ember: #d78c69}:root{--hf-grad-cockpit: radial-gradient(ellipse 120% 35% at 50% 50%, rgba(16, 30, 55, .6) 0%, transparent 100%), radial-gradient(ellipse 80% 20% at 45% 48%, rgba(20, 40, 70, .35) 0%, transparent 100%), radial-gradient(ellipse 60% 12% at 55% 52%, rgba(25, 50, 85, .2) 0%, transparent 100%), linear-gradient( 180deg, var(--hf-bg) 0%, #080a10 8%, #0a0e18 18%, #0c1424 30%, #0e1a30 42%, #101e38 50%, #0e1a30 58%, #0c1424 70%, #0a0e18 82%, #080a10 92%, var(--hf-bg) 100% );--hf-grad-nebula: radial-gradient(ellipse 50% 40% at 25% 45%, rgba(120,20,60,.18) 0%, transparent 100%), radial-gradient(ellipse 40% 35% at 70% 55%, rgba(60,30,120,.16) 0%, transparent 100%), radial-gradient(ellipse 35% 25% at 50% 50%, rgba(180,60,100,.1) 0%, transparent 100%), radial-gradient(ellipse 30% 18% at 40% 48%, rgba(200,180,220,.06) 0%, transparent 100%), radial-gradient(ellipse 45% 30% at 60% 42%, rgba(40,50,140,.14) 0%, transparent 100%), radial-gradient(ellipse 120% 40% at 50% 50%, rgba(80,20,80,.12) 0%, transparent 100%), linear-gradient(180deg, var(--hf-bg) 0%, #0c0810 8%, #120a16 18%, #1a0e20 30%, #1e1028 42%, #20122c 50%, #1e1028 58%, #1a0e20 70%, #120a16 82%, #0c0810 92%, var(--hf-bg) 100% );--hf-grad-purple-sky: linear-gradient(180deg, #1a0b2e 0%, #4a1a6b 100%);--hf-grad-purple-bar: linear-gradient(90deg, var(--hf-purple-deep) 0%, var(--hf-purple-mid) 50%, var(--hf-purple-deep) 100%);--hf-grad-purple-bar-shadow: linear-gradient(90deg, var(--hf-purple-shadow) 0%, var(--hf-purple-deep) 60%, var(--hf-purple-shadow) 100%);--hf-grad-fade-x: linear-gradient(90deg, transparent 0%, #000 10%, #000 90%, transparent 100%);--hf-grad-fade-lofi-footer: linear-gradient(180deg, #151020 0%, #100c18 50%, var(--hf-bg) 100%);--hf-grad-chart-lime-yellow: linear-gradient(135deg, #22c55e, #facc15);--hf-grad-chart-rose-gold: linear-gradient(135deg, #f472b6, #fbbf24);--hf-grad-chart-periwinkle-mint: linear-gradient(135deg, #818cf8, #34d399);--hf-grad-chart-coral-purple: linear-gradient(135deg, #ff6b6b, #a855f7);--hf-grad-chart-cyan-magenta: linear-gradient(135deg, #00d4ff, #ff00aa);--hf-grad-chart-emerald-orange: linear-gradient(135deg, #14b8a6, #f97316);--hf-grad-chart-yellow-red: linear-gradient(135deg, #facc15, #ef4444);--hf-grad-rainbow-red-indigo: linear-gradient( 90deg, #ff0000 0%, #ff7f00 20%, #ffff00 40%, #00ff00 60%, #0000ff 80%, #4b0082 100% );--nt-grad-dots: radial-gradient(circle at 1px 1px, var(--nt-dot) 1px, transparent 0);--nt-grad-fade-left: linear-gradient(90deg, var(--nt-ground) 0%, var(--nt-scrim-strong) 30%, rgba(7, 8, 12, .2) 62%, rgba(7, 8, 12, 0) 80%);--nt-grad-fade-up: linear-gradient(to top, var(--nt-ground), rgba(7, 8, 12, 0));--nt-grad-fade-right: linear-gradient(to right, #000 85%, transparent);--nt-glass-blur: blur(12px);--nt-grad-page-shade: linear-gradient(90deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, .25) 55%, rgba(0, 0, 0, .7) 100%);--nt-grad-page-gloss: linear-gradient(90deg, rgba(255, 255, 255, .07), rgba(255, 255, 255, 0));--nt-grad-spot: radial-gradient(circle closest-side, var(--nt-signal-faint), transparent);--nt-spot-size: 920px}:root{--hf-space-1: 4px;--hf-space-2: 8px;--hf-space-3: 12px;--hf-space-4: 16px;--hf-space-5: 20px;--hf-space-6: 24px;--hf-space-8: 32px;--hf-space-10: 40px;--hf-space-12: 48px;--hf-space-7: 28px;--hf-space-14: 56px;--hf-space-16: 64px;--hf-space-20: 80px;--hf-space-26: 104px;--nt-gutter: clamp(16px, 4vw, 48px);--nt-section-y: clamp(72px, 9vw, 120px);--nt-section-y-tight: clamp(48px, 6vw, 72px);--nt-max: 1200px;--nt-measure: 640px;--nt-hit: 44px;--nt-col: 420px;--nt-card-min: 340px;--nt-thumb-min: 200px;--nt-perspective-page: 2400px;--nt-perspective-card: 1600px;--hf-radius-xs: 2px;--hf-radius-sm: 4px;--hf-radius-md: 8px;--hf-radius-lg: 12px;--hf-radius-pill: 999px;--hf-radius-xl: 16px;--hf-radius-2xl: 20px;--hf-z-base: 0;--hf-z-content: 1;--hf-z-nav: 50;--hf-z-overlay: 100}:root{--nt-dur-morph: .46s;--nt-ease-out: cubic-bezier(.22, 1, .36, 1)}:root{--pr-title: var(--nt-ink-strong);--pr-body: var(--nt-ink-2);--pr-comment: var(--nt-ink-muted);--pr-label: var(--nt-signal);--pr-title-font: var(--nt-display);--pr-body-font: var(--nt-sans);--pr-comment-font: var(--nt-mono);--pr-title-size: var(--nt-fs-h1);--pr-hero-title-size: clamp(42px, 5vw, 72px);--pr-section-size: var(--nt-fs-h2);--pr-body-size: var(--nt-fs-body);--pr-lead-size: var(--nt-fs-intro);--pr-comment-size: var(--nt-fs-caption);--pr-title-weight: 600;--pr-body-weight: 400;--pr-comment-weight: 400;--pr-title-tracking: var(--nt-tracking-display);--pr-comment-tracking: var(--hf-tracking-wide);--pr-rule: var(--nt-line-2);--pr-reveal-distance: 20px;--pr-reveal-duration: .65s;--pr-reveal-stagger: 80ms;--pr-reveal-start: 88%;--pr-active-point: 35%;--pr-motion-ease: var(--nt-ease-out);--pr-deck-height: 480px;--pr-deck-width: 320px;--pr-deck-card-height: 148px;--pr-deck-title-size: var(--nt-fs-h3);--pr-deck-step: 144px;--pr-deck-tilt: -12deg;--pr-deck-depth: 12px;--pr-deck-perspective: 1200px;--pr-deck-rotate-x: 14deg;--pr-deck-rotate-y: -20deg;--pr-section-rule-height: 2px;--pr-scroll-scrub: .45s;--pr-scroll-reference: 1100px;--pr-scroll-hero-travel: 72px;--pr-scroll-deck-turn: 6deg;--pr-scroll-title-travel: 32px;--pr-scroll-card-travel: 64px;--pr-scroll-card-shrink: 3%;--pr-scroll-enter: 88%;--pr-scroll-settle: 28%;--pr-scroll-card-enter: 96%;--pr-scroll-card-settle: 48%;--pr-scroll-clearance: 24px;--pr-scroll-inset: calc(var(--hf-space-16) + var(--hf-space-16) + var(--pr-scroll-clearance));--vc-stage-aspect: 500 / 560;--vc-stage-max: 520px;--vc-label-size: clamp(10px, 2.4cqw, 12px);--vc-scene-length: 160svh;--vc-sticky-top: calc(var(--hf-space-16) + var(--hf-space-12));--vc-card-travel: 120px;--vc-card-sway: 32px;--vc-card-turn: 2deg;--vc-word-travel: 110%;--vc-word-stagger: 60ms;--vc-folder-duration: .7s;--vc-story-lift: 35%}:root{--pa-paper-face: var(--nt-paper-panel);--pa-paper-ink: var(--nt-paper-ink-strong);--pa-paper-line: var(--nt-paper-ink-2);--pa-paper-edge: var(--nt-paper-line);--pa-signal-face: var(--nt-panel-signal);--pa-signal-ink: var(--nt-signal);--pa-signal-line: var(--nt-signal-line-2);--pa-signal-edge: var(--nt-signal-line);--pa-outline-face: var(--nt-ground);--pa-outline-ink: var(--nt-ink-strong);--pa-outline-line: var(--nt-line-4);--pa-outline-edge: var(--nt-line-2);--pa-disabled-face: var(--nt-panel-2);--pa-disabled-ink: var(--nt-ink-muted);--pa-disabled-line: var(--nt-line-3);--pa-disabled-edge: var(--nt-line);--pa-font: var(--nt-mono);--pa-font-size: var(--nt-fs-small);--pa-weight: 500;--pa-tracking: .025em;--pa-min-height: var(--nt-hit);--pa-padding-y: var(--hf-space-3);--pa-padding-x: var(--hf-space-5);--pa-gap: var(--hf-space-5);--pa-line-width: 1px;--pa-radius: var(--hf-radius-xs);--pa-edge-x: 3px;--pa-edge-y: 5px;--pa-shadow-offset: var(--pa-edge-x) var(--pa-edge-y) 0 0;--pa-hover-shadow-offset: var(--pa-edge-x) var(--hf-space-2) 0 0;--pa-pressed-shadow-offset: 1px 1px 0 0;--pa-rest-transform: translate3d(0, 0, 0);--pa-hover-transform: translate3d(0, -3px, 0) rotate(-.5deg);--pa-pressed-transform: translate3d(2px, 4px, 0);--pa-motion-duration: .18s;--pa-motion-ease: var(--nt-ease-out);--pa-focus: var(--nt-signal);--pa-focus-width: 2px;--pa-focus-offset: 6px}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body.night{margin:0;background:var(--nt-ground);color:var(--nt-ink);font-family:var(--nt-sans);font-size:var(--nt-fs-body);line-height:var(--nt-lh-body);-webkit-font-smoothing:antialiased}.night a{color:var(--nt-ink);text-decoration:none}.night a:hover{color:var(--nt-ink-strong)}.night :focus-visible{outline:2px solid var(--nt-signal);outline-offset:3px}.night h1,.night h2,.night h3,.night h4{margin:0;font-family:var(--nt-display);font-weight:500;color:var(--nt-ink-strong)}.night p{margin:0}.night button{font:inherit}.night [id]{scroll-margin-top:var(--hf-space-20)}.nt-wrap{max-width:var(--nt-max);margin:0 auto;padding-left:var(--nt-gutter);padding-right:var(--nt-gutter)}.nt-section{padding-top:var(--nt-section-y);padding-bottom:var(--nt-section-y)}.nt-mono{font-family:var(--nt-mono);font-size:var(--nt-fs-meta)}.nt-label{font-family:var(--nt-mono);font-size:var(--nt-fs-meta);color:var(--nt-signal)}.nt-dots{background-image:var(--nt-grad-dots);background-size:var(--hf-space-7) var(--hf-space-7)}.nt-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}::view-transition-group(*){animation-duration:var(--nt-dur-morph);animation-timing-function:var(--nt-ease-out)}.night .nav{view-transition-name:site-nav}.nt-progress{display:none}@supports (animation-timeline: scroll()){@media (prefers-reduced-motion: no-preference){.nt-progress{display:block;position:fixed;inset:0 0 auto;height:1px;z-index:var(--hf-z-overlay);background:var(--nt-signal);transform-origin:left center;animation:nt-read linear both;animation-timeline:scroll(root)}}}@keyframes nt-read{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@media (prefers-reduced-motion: reduce){.night *,.night *:before,.night *:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}}
