:root{--color-bg: #f8f9fa;--color-bg-elevated: #ffffff;--color-bg-card: #ffffff;--color-bg-card-hover: #ffffff;--color-surface: #f3f4f6;--color-border: #e5e7eb;--color-border-subtle: #e5e7eb;--color-text: #111827;--color-text-secondary: #4b5563;--color-text-muted: #9ca3af;--color-text-accent: #F97316;--color-accent: #F97316;--color-accent-dim: rgba(249, 115, 22, .1);--color-accent-hover: #EA580C;--color-link: #F97316;--color-link-hover: #EA580C;--font-display: "Space Grotesk", system-ui, sans-serif;--font-body: "Inter", system-ui, sans-serif;--font-mono: "JetBrains Mono", "Fira Code", monospace;--text-xs: clamp(.75rem, .7rem + .25vw, .8125rem);--text-sm: clamp(.8125rem, .775rem + .25vw, .875rem);--text-base: clamp(.9375rem, .875rem + .35vw, 1.0625rem);--text-lg: clamp(1.125rem, 1rem + .5vw, 1.25rem);--text-xl: clamp(1.25rem, 1.1rem + .75vw, 1.5rem);--text-2xl: clamp(1.5rem, 1.25rem + 1.25vw, 2rem);--text-3xl: clamp(2rem, 1.5rem + 2.5vw, 3rem);--text-4xl: clamp(2.5rem, 1.75rem + 3.75vw, 4.5rem);--text-5xl: clamp(3rem, 2rem + 5vw, 6rem);--leading-tight: 1.15;--leading-snug: 1.3;--leading-normal: 1.6;--leading-relaxed: 1.75;--tracking-tight: -.025em;--tracking-normal: 0;--tracking-wide: .025em;--tracking-wider: .05em;--space-xs: .25rem;--space-sm: .5rem;--space-md: 1rem;--space-lg: 1.5rem;--space-xl: 2rem;--space-2xl: 3rem;--space-3xl: 4rem;--space-4xl: 6rem;--space-5xl: 8rem;--content-width: 680px;--wide-width: 1080px;--max-width: 1400px;--page-padding: clamp(1.25rem, 3vw, 3rem);--ease-out: cubic-bezier(.16, 1, .3, 1);--ease-in-out: cubic-bezier(.65, 0, .35, 1);--duration-fast: .15s;--duration-normal: .3s;--duration-slow: .5s;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;scroll-behavior:smooth}body{font-family:var(--font-body);font-size:var(--text-base);line-height:var(--leading-normal);color:var(--color-text);background-color:var(--color-bg);min-height:100dvh;overflow-x:hidden}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);font-weight:600;line-height:var(--leading-tight);letter-spacing:var(--tracking-tight);color:var(--color-text)}h1{font-size:var(--text-4xl);font-weight:700}h2{font-size:var(--text-3xl)}h3{font-size:var(--text-2xl)}h4{font-size:var(--text-xl)}p{margin-bottom:var(--space-lg);line-height:var(--leading-relaxed)}a{color:var(--color-link);text-decoration:none;transition:color var(--duration-fast) var(--ease-out)}a:hover{color:var(--color-link-hover)}strong{font-weight:600}em{font-style:italic}code{font-family:var(--font-mono);font-size:.9em;background:var(--color-surface);padding:.15em .4em;border-radius:var(--radius-sm)}img,video,svg{display:block;max-width:100%;height:auto}.container{width:100%;max-width:var(--max-width);margin-inline:auto;padding-inline:var(--page-padding)}.content-width{max-width:var(--content-width);margin-inline:auto}.wide-width{max-width:var(--wide-width);margin-inline:auto}.fade-in{opacity:0;transform:translateY(20px);transition:opacity var(--duration-slow) var(--ease-out),transform var(--duration-slow) var(--ease-out)}.fade-in.visible{opacity:1;transform:translateY(0)}::selection{background:#f9731626;color:var(--color-text)}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:var(--color-bg)}::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--color-text-muted)}:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.nav[data-astro-cid-dmqpwcec]{position:fixed;top:0;left:0;right:0;z-index:100;padding:var(--space-lg) var(--page-padding);background:linear-gradient(to bottom,#f8f9faf2,#f8f9fa00);pointer-events:none}.nav__inner[data-astro-cid-dmqpwcec]{display:flex;align-items:center;justify-content:space-between;max-width:var(--max-width);margin-inline:auto;pointer-events:auto}.nav__logo[data-astro-cid-dmqpwcec]{display:flex;align-items:center;gap:var(--space-sm);text-decoration:none;color:var(--color-text)}.nav__logo[data-astro-cid-dmqpwcec]:hover{color:var(--color-text)}.nav__wordmark[data-astro-cid-dmqpwcec]{font-family:var(--font-display);font-size:var(--text-base);font-weight:600;letter-spacing:var(--tracking-wide)}.nav__links[data-astro-cid-dmqpwcec]{display:flex;gap:var(--space-xl)}.nav__link[data-astro-cid-dmqpwcec]{font-family:var(--font-display);font-size:var(--text-sm);color:var(--color-text-secondary);text-decoration:none;letter-spacing:var(--tracking-wide);transition:color var(--duration-fast) var(--ease-out)}.nav__link[data-astro-cid-dmqpwcec]:hover{color:var(--color-text)}@media(max-width:480px){.nav__wordmark[data-astro-cid-dmqpwcec]{font-size:var(--text-sm)}}.footer[data-astro-cid-sz7xmlte]{border-top:1px solid var(--color-border-subtle);padding:var(--space-3xl) var(--page-padding);margin-top:var(--space-5xl);background:#f0f0f0}.footer__inner[data-astro-cid-sz7xmlte]{max-width:var(--max-width);margin-inline:auto;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:var(--space-lg)}.footer__brand[data-astro-cid-sz7xmlte]{display:flex;flex-direction:column;gap:var(--space-xs)}.footer__name[data-astro-cid-sz7xmlte]{font-family:var(--font-display);font-size:var(--text-sm);font-weight:600;color:var(--color-text)}.footer__tagline[data-astro-cid-sz7xmlte]{font-size:var(--text-xs);color:var(--color-text-muted)}.footer__meta[data-astro-cid-sz7xmlte]{display:flex;align-items:center;gap:var(--space-sm);font-size:var(--text-xs);color:var(--color-text-muted);font-family:var(--font-mono)}.footer__separator[data-astro-cid-sz7xmlte]{color:var(--color-border)}.footer__link[data-astro-cid-sz7xmlte]{color:var(--color-text-muted);text-decoration:none;transition:color var(--duration-fast) var(--ease-out)}.footer__link[data-astro-cid-sz7xmlte]:hover{color:var(--color-text-secondary)}@media(max-width:480px){.footer__inner[data-astro-cid-sz7xmlte]{flex-direction:column;align-items:flex-start}}
