*,*:before,*:after{box-sizing:border-box}*{margin:0}html{height:100%}body{height:100%;line-height:1.5;-webkit-font-smoothing:antialiased}img,picture,video,canvas,svg{display:block;max-width:100%}input,button,textarea,select{font:inherit}p,h1,h2,h3,h4,h5,h6{overflow-wrap:break-word}:root{color-scheme:light dark;--font-display: "Outfit", ui-sans-serif, system-ui, sans-serif;--font-body: "Public Sans", ui-sans-serif, system-ui, sans-serif;--font-mono: "JetBrains Mono", ui-monospace, monospace;--text-xs: .75rem;--text-sm: .875rem;--text-base: 1rem;--text-lg: 1.125rem;--text-xl: 1.25rem;--text-2xl: 1.5rem;--text-3xl: 1.875rem;--text-4xl: 2.25rem;--leading-tight: 1.25;--leading-snug: 1.375;--leading-normal: 1.5;--leading-relaxed: 1.625;--font-normal: 400;--font-medium: 500;--font-semibold: 600;--font-bold: 700;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--space-10: 2.5rem;--space-12: 3rem;--space-16: 4rem;--space-20: 5rem;--space-24: 6rem;--radius-sm: .25rem;--radius-md: .375rem;--radius-lg: .5rem;--radius-xl: .75rem;--radius-2xl: 1rem;--radius-full: 9999px;--shadow-sm: 0 1px 2px 0 rgb(0 0 0 / .05);--shadow-md: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--duration-fast: .1s;--duration-normal: .15s;--duration-slow: .25s;--ease-default: ease;--bg-primary: light-dark(#fcfcfd, #08090c);--bg-surface: light-dark(#ffffff, #0f1117);--bg-elevated: light-dark(#f5f6fa, #171b24);--text-primary: light-dark(#1a1d27, #e2e4e9);--text-secondary: light-dark(#5c6178, #8b8fa2);--text-muted: light-dark(#8b8fa2, #5c6178);--border-default: light-dark(#d5d8e0, #232730);--border-subtle: light-dark(#e8eaf0, #1a1e27);--accent: #3b82f6;--accent-hover: #5596f8;--accent-muted: color-mix(in srgb, #3b82f6 10%, transparent);--teal: #5b9a8b;--teal-muted: color-mix(in srgb, #5b9a8b 10%, transparent);--purple: #a78bfa;--purple-muted: color-mix(in srgb, #a78bfa 10%, transparent);--content-width: 64rem;--focus-ring: #3b82f6;--overlay-hover: light-dark( color-mix(in hsl, #1a1d27 6%, transparent), color-mix(in hsl, #e2e4e9 8%, transparent) );--overlay-active: light-dark( color-mix(in hsl, #1a1d27 10%, transparent), color-mix(in hsl, #e2e4e9 12%, transparent) )}body{font-family:var(--font-body);font-size:var(--text-base);line-height:var(--leading-normal);color:var(--text-primary);background-color:var(--bg-primary)}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);line-height:var(--leading-tight);font-weight:var(--font-bold);color:var(--text-primary)}h1{font-size:var(--text-4xl)}h2{font-size:var(--text-3xl)}h3{font-size:var(--text-2xl)}h4{font-size:var(--text-xl)}h5{font-size:var(--text-lg)}h6{font-size:var(--text-base)}p{line-height:var(--leading-relaxed)}a{color:var(--accent);text-decoration:underline;text-underline-offset:2px}a:hover{color:var(--accent-hover)}a:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px;border-radius:var(--radius-sm)}code{font-family:var(--font-mono);font-size:.9em}pre{font-family:var(--font-mono);overflow-x:auto}button,[role=button],input[type=submit],input[type=button],input[type=reset],label[for],select{min-height:2.75rem;cursor:pointer}button{padding:var(--space-2) var(--space-4);border-radius:var(--radius-md);border:none;background:transparent;color:inherit}button:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}button:disabled{opacity:.5;cursor:not-allowed}input,textarea{padding:var(--space-2) var(--space-3);border:1px solid var(--border-default);border-radius:var(--radius-md);background:var(--bg-elevated);color:var(--text-primary)}input:focus-visible,textarea:focus-visible{outline:2px solid var(--focus-ring);outline-offset:1px;border-color:var(--accent)}.theme-toggle.svelte-1cmi4dh{display:inline-flex;align-items:center;justify-content:center;min-height:auto;padding:var(--space-2);aspect-ratio:1;border-bottom:2px solid transparent;border-radius:var(--radius-md);color:var(--text-secondary);transition:color var(--t, var(--duration-normal)) var(--ease-default),background-color var(--t, var(--duration-normal)) var(--ease-default)}.theme-toggle.svelte-1cmi4dh:hover{color:var(--text-primary);background-color:var(--overlay-hover)}.theme-toggle.svelte-1cmi4dh:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.site-header.svelte-1h32yp1{border-bottom:1px solid var(--border-subtle);background-color:var(--bg-elevated);position:sticky;top:0;z-index:10;transition:transform var(--t, var(--duration-normal)) var(--ease-default)}.site-header.svelte-1h32yp1.header-hidden{transform:translateY(-100%)}.header-inner.svelte-1h32yp1{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);max-width:var(--content-width);margin:0 auto;padding:var(--space-3) var(--space-6);flex-wrap:wrap}.site-name.svelte-1h32yp1{font-size:var(--text-xl);font-weight:var(--font-bold);color:var(--text-primary);text-decoration:none;transition:color var(--t, var(--duration-normal)) var(--ease-default)}.site-name.svelte-1h32yp1:hover{color:var(--accent)}.site-name.svelte-1h32yp1 .dot:where(.svelte-1h32yp1){color:var(--accent)}.header-right.svelte-1h32yp1{display:flex;align-items:center;gap:var(--space-4)}nav.svelte-1h32yp1 ul:where(.svelte-1h32yp1){display:flex;list-style:none;gap:var(--space-6);padding:0;margin:0;flex-wrap:wrap}nav.svelte-1h32yp1 a:where(.svelte-1h32yp1){font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--text-secondary);text-decoration:none;display:inline-flex;align-items:center;padding:var(--space-2);border-bottom:2px solid transparent;transition:color var(--t, var(--duration-normal)) var(--ease-default),border-color var(--t, var(--duration-normal)) var(--ease-default)}nav.svelte-1h32yp1 a:where(.svelte-1h32yp1):hover{color:var(--text-primary);border-bottom-color:var(--text-muted)}nav.svelte-1h32yp1 a:where(.svelte-1h32yp1).active{color:var(--text-primary);border-bottom-color:var(--accent)}nav.svelte-1h32yp1 a:where(.svelte-1h32yp1):focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px;border-radius:var(--radius-sm)}.site-footer.svelte-jz8lnl{border-top:1px solid var(--border-subtle);padding:var(--space-4) 0}.footer-inner.svelte-jz8lnl{max-width:var(--content-width);margin:0 auto;padding:0 var(--space-6);display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:var(--space-4)}.copyright.svelte-jz8lnl{font-family:var(--font-mono);font-size:var(--text-sm);color:var(--text-muted)}.footer-links.svelte-jz8lnl{display:flex;gap:var(--space-4)}.footer-links.svelte-jz8lnl a:where(.svelte-jz8lnl){font-family:var(--font-mono);font-size:var(--text-sm);color:var(--text-secondary);text-decoration:none;min-height:2.75rem;display:inline-flex;align-items:center;transition:color var(--t, var(--duration-normal)) var(--ease-default)}.footer-links.svelte-jz8lnl a:where(.svelte-jz8lnl):hover{color:var(--text-primary)}.footer-links.svelte-jz8lnl a:where(.svelte-jz8lnl):focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.scroll-container.svelte-12qhfyh{height:100dvh;overflow-y:auto;display:flex;flex-direction:column}main.svelte-12qhfyh{flex:1;max-width:var(--content-width);margin:0 auto;padding:var(--space-8) var(--space-6);width:100%}
