.theme-toggle[data-astro-cid-x3pjskd3]{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:4px;color:var(--color-text-muted);transition:color var(--duration-fast),background var(--duration-fast);position:relative}.theme-toggle[data-astro-cid-x3pjskd3]:hover{color:var(--color-accent);background:var(--color-accent-subtle)}.icon[data-astro-cid-x3pjskd3]{position:absolute;transition:opacity var(--duration-base),transform var(--duration-base) var(--ease-out)}:root:not([data-theme=dark]) .icon-sun[data-astro-cid-x3pjskd3]{opacity:0;transform:rotate(90deg) scale(.7)}:root:not([data-theme=dark]) .icon-moon[data-astro-cid-x3pjskd3]{opacity:1;transform:rotate(0) scale(1)}[data-astro-cid-x3pjskd3][data-theme=dark] .icon-moon[data-astro-cid-x3pjskd3]{opacity:0;transform:rotate(-90deg) scale(.7)}[data-astro-cid-x3pjskd3][data-theme=dark] .icon-sun[data-astro-cid-x3pjskd3]{opacity:1;transform:rotate(0) scale(1)}.site-header[data-astro-cid-3ef6ksr2]{position:sticky;top:0;z-index:100;background:var(--color-bg);border-bottom:1px solid var(--color-border);transition:background-color var(--duration-base) var(--ease-out),border-color var(--duration-base) var(--ease-out)}.site-header[data-astro-cid-3ef6ksr2].scrolled{background:color-mix(in srgb,var(--color-bg) 92%,transparent);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.header-inner[data-astro-cid-3ef6ksr2]{display:flex;align-items:center;justify-content:space-between;height:64px;gap:var(--space-8)}.logo[data-astro-cid-3ef6ksr2]{font-family:var(--font-display);font-size:1.25rem;letter-spacing:-.03em;display:flex;align-items:baseline;gap:0;flex-shrink:0;transition:opacity var(--duration-fast)}.logo[data-astro-cid-3ef6ksr2]:hover{opacity:.8}.logo-hive[data-astro-cid-3ef6ksr2]{color:var(--color-text)}.logo-security[data-astro-cid-3ef6ksr2]{color:var(--color-accent)}.nav[data-astro-cid-3ef6ksr2]{display:none}@media(min-width:640px){.nav[data-astro-cid-3ef6ksr2]{display:block}}.nav-list[data-astro-cid-3ef6ksr2]{display:flex;align-items:center;gap:var(--space-1)}.nav-link[data-astro-cid-3ef6ksr2]{display:inline-block;padding:var(--space-2) var(--space-3);font-size:var(--text-sm);font-weight:500;letter-spacing:.02em;color:var(--color-text-muted);border-radius:4px;transition:color var(--duration-fast),background-color var(--duration-fast);position:relative}.nav-link[data-astro-cid-3ef6ksr2]:after{content:"";position:absolute;bottom:4px;left:var(--space-3);right:var(--space-3);height:1px;background:var(--color-accent);transform:scaleX(0);transform-origin:left;transition:transform var(--duration-base) var(--ease-out)}.nav-link[data-astro-cid-3ef6ksr2]:hover{color:var(--color-text);background:var(--color-accent-subtle)}.nav-link[data-astro-cid-3ef6ksr2]:hover:after,.nav-link--active[data-astro-cid-3ef6ksr2]:after{transform:scaleX(1)}.nav-link--active[data-astro-cid-3ef6ksr2]{color:var(--color-text)}.header-actions[data-astro-cid-3ef6ksr2]{display:flex;align-items:center;gap:var(--space-3);flex-shrink:0}.mobile-menu-btn[data-astro-cid-3ef6ksr2]{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:4px;color:var(--color-text-muted);transition:color var(--duration-fast),background var(--duration-fast)}.mobile-menu-btn[data-astro-cid-3ef6ksr2]:hover{color:var(--color-text);background:var(--color-accent-subtle)}@media(min-width:640px){.mobile-menu-btn[data-astro-cid-3ef6ksr2]{display:none}}.hamburger[data-astro-cid-3ef6ksr2],.hamburger[data-astro-cid-3ef6ksr2]:before,.hamburger[data-astro-cid-3ef6ksr2]:after{display:block;width:18px;height:1.5px;background:currentColor;transition:transform var(--duration-base) var(--ease-out),opacity var(--duration-fast);position:relative}.hamburger[data-astro-cid-3ef6ksr2]:before,.hamburger[data-astro-cid-3ef6ksr2]:after{content:"";position:absolute;left:0}.hamburger[data-astro-cid-3ef6ksr2]:before{top:-5px}.hamburger[data-astro-cid-3ef6ksr2]:after{top:5px}.mobile-nav[data-astro-cid-3ef6ksr2]{display:none;border-top:1px solid var(--color-border);background:var(--color-bg)}.mobile-nav[data-astro-cid-3ef6ksr2].open{display:block}.mobile-nav-list[data-astro-cid-3ef6ksr2]{padding:var(--space-4) 0}.mobile-nav-link[data-astro-cid-3ef6ksr2]{display:block;padding:var(--space-3) var(--space-6);font-size:var(--text-base);color:var(--color-text-muted);transition:color var(--duration-fast),background var(--duration-fast)}.mobile-nav-link[data-astro-cid-3ef6ksr2]:hover{color:var(--color-text);background:var(--color-accent-subtle)}.site-footer[data-astro-cid-sz7xmlte]{border-top:1px solid var(--color-border);margin-top:var(--space-32);padding-top:var(--space-16);padding-bottom:var(--space-8)}.footer-inner[data-astro-cid-sz7xmlte]{display:flex;flex-direction:column;gap:var(--space-8);padding-bottom:var(--space-8);border-bottom:1px solid var(--color-border)}@media(min-width:640px){.footer-inner[data-astro-cid-sz7xmlte]{flex-direction:row;justify-content:space-between;align-items:flex-start}}.footer-logo[data-astro-cid-sz7xmlte]{font-family:var(--font-display);font-size:1.1rem;letter-spacing:-.03em;display:inline-flex;gap:0;margin-bottom:var(--space-2);transition:opacity var(--duration-fast)}.footer-logo[data-astro-cid-sz7xmlte]:hover{opacity:.7}.footer-logo[data-astro-cid-sz7xmlte] .accent[data-astro-cid-sz7xmlte]{color:var(--color-accent)}.footer-tagline[data-astro-cid-sz7xmlte]{font-size:var(--text-sm);color:var(--color-text-subtle);font-style:italic;max-width:none}.footer-nav[data-astro-cid-sz7xmlte] ul[data-astro-cid-sz7xmlte]{display:flex;flex-direction:row;flex-wrap:wrap;gap:var(--space-1) var(--space-4);justify-content:flex-end}.footer-nav[data-astro-cid-sz7xmlte] a[data-astro-cid-sz7xmlte]{font-size:var(--text-sm);color:var(--color-text-muted);transition:color var(--duration-fast)}.footer-nav[data-astro-cid-sz7xmlte] a[data-astro-cid-sz7xmlte]:hover{color:var(--color-accent)}.footer-bottom[data-astro-cid-sz7xmlte]{display:flex;flex-direction:column;gap:var(--space-1);padding-top:var(--space-6)}@media(min-width:640px){.footer-bottom[data-astro-cid-sz7xmlte]{flex-direction:row;justify-content:space-between}}.copyright[data-astro-cid-sz7xmlte],.built-with[data-astro-cid-sz7xmlte]{font-size:var(--text-xs);color:var(--color-text-subtle);max-width:none}.built-with[data-astro-cid-sz7xmlte] a[data-astro-cid-sz7xmlte]{color:var(--color-text-subtle);text-decoration:underline;text-decoration-color:transparent;transition:color var(--duration-fast),text-decoration-color var(--duration-fast)}.built-with[data-astro-cid-sz7xmlte] a[data-astro-cid-sz7xmlte]:hover{color:var(--color-accent);text-decoration-color:var(--color-accent)}.back-to-top[data-astro-cid-wlspcwf4]{position:fixed;bottom:var(--space-8);right:var(--space-8);z-index:50;width:40px;height:40px;border-radius:4px;background:var(--color-surface);border:1px solid var(--color-border);color:var(--color-text-muted);display:flex;align-items:center;justify-content:center;cursor:pointer;opacity:0;pointer-events:none;transform:translateY(8px);transition:opacity var(--duration-base) var(--ease-out),transform var(--duration-base) var(--ease-out),color var(--duration-fast),border-color var(--duration-fast),background var(--duration-fast)}.back-to-top[data-astro-cid-wlspcwf4].visible{opacity:1;pointer-events:auto;transform:translateY(0)}.back-to-top[data-astro-cid-wlspcwf4]:hover{color:var(--color-accent);border-color:var(--color-accent);background:var(--color-accent-subtle)}.back-to-top[data-astro-cid-wlspcwf4]:active{transform:translateY(2px)}:root{--color-bg: #F5F4F0;--color-bg-secondary: #ECEAE4;--color-surface: #FFFFFF;--color-border: #D8D5CE;--color-text: #0A0A0A;--color-text-muted: #6B6860;--color-text-subtle: #9C9A94;--color-accent: #ff944c;--color-accent-dark: #E07B30;--color-accent-subtle: rgba(244, 162, 97, .12);--font-display: "DM Serif Display", Georgia, serif;--font-body: "Outfit", system-ui, sans-serif;--font-mono: "JetBrains Mono", "Fira Code", monospace;--text-xs: clamp(.7rem, .7rem + .1vw, .75rem);--text-sm: clamp(.85rem, .85rem + .1vw, .9rem);--text-base: clamp(1rem, 1rem + .1vw, 1.05rem);--text-lg: clamp(1.1rem, 1.1rem + .2vw, 1.2rem);--text-xl: clamp(1.25rem, 1.25rem + .3vw, 1.4rem);--text-2xl: clamp(1.5rem, 1.5rem + .5vw, 1.875rem);--text-3xl: clamp(1.875rem, 1.875rem + 1vw, 2.5rem);--text-4xl: clamp(2.5rem, 2.5rem + 2vw, 3.75rem);--text-5xl: clamp(3rem, 3rem + 3vw, 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;--max-width: 1200px;--content-width: 720px;--ease-out: cubic-bezier(.16, 1, .3, 1);--ease-in-out: cubic-bezier(.65, 0, .35, 1);--duration-fast: .15s;--duration-base: .25s;--duration-slow: .4s;--accent-line: 2px solid var(--color-accent)}[data-theme=dark]{--color-bg: #0A0A0A;--color-bg-secondary: #111110;--color-surface: #161614;--color-border: #2A2924;--color-text: #F5F4F0;--color-text-muted: #9C9A94;--color-text-subtle: #6B6860;--color-accent: #F4A261;--color-accent-dark: #F7B77A;--color-accent-subtle: rgba(244, 162, 97, .1)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}body{font-family:var(--font-body);font-size:var(--text-base);line-height:1.75;color:var(--color-text);background-color:var(--color-bg);transition:background-color var(--duration-base) var(--ease-out),color var(--duration-base) var(--ease-out);overflow-x:hidden}html:not([data-theme]){visibility:hidden}img,video{max-width:100%;height:auto;display:block}a{color:inherit;text-decoration:none}button{cursor:pointer;border:none;background:none;font-family:inherit}ul,ol{list-style:none}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);line-height:1.15;letter-spacing:-.02em}h1{font-size:var(--text-4xl);color:var(--color-text)}h2{font-size:var(--text-3xl);color:var(--color-text)}h3{font-size:var(--text-2xl);color:var(--color-accent)}h4{font-size:var(--text-xl);color:var(--color-text-muted)}h5,h6{font-size:var(--text-lg);color:var(--color-text-subtle);text-transform:uppercase;letter-spacing:.06em;font-family:var(--font-body);font-weight:600}p{max-width:70ch}:not(pre)>code{font-family:var(--font-mono);font-size:.875em;background:var(--color-accent-subtle);color:var(--color-accent-dark);border:1px solid color-mix(in srgb,var(--color-accent) 25%,transparent);padding:.1em .35em;border-radius:3px}[data-theme=dark] :not(pre)>code{color:var(--color-accent)}pre code{background:none!important;border:none;padding:0;font-size:inherit}.expressive-code .copy button:hover{color:var(--color-accent)!important;border-color:var(--color-accent)!important}.prose .expressive-code{margin:var(--space-8) 0}.expressive-code .frame.is-terminal .header:before{background:radial-gradient(circle .28rem at .28rem 50%,#FF5F57 100%,transparent 100%),radial-gradient(circle .28rem at 1.05rem 50%,#FEBC2E 100%,transparent 100%),radial-gradient(circle .28rem at 1.82rem 50%,#28C840 100%,transparent 100%)!important;-webkit-mask-image:none!important;mask-image:none!important;opacity:1!important}[data-theme=dark] .expressive-code .frame.is-terminal pre{color:var(--color-accent)}.container{width:100%;max-width:var(--max-width);margin-inline:auto;padding-inline:var(--space-6)}@media(min-width:640px){.container{padding-inline:var(--space-8)}}@media(min-width:1024px){.container{padding-inline:var(--space-12)}}.content-width{max-width:var(--content-width)}.accent-line{display:inline-block;width:2px;background:var(--color-accent)}:focus-visible{outline:2px solid var(--color-accent);outline-offset:3px;border-radius:2px}::selection{background:var(--color-accent);color:#0a0a0a}::-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-subtle)}.prose{max-width:var(--content-width)}.prose h2{font-size:var(--text-2xl);color:var(--color-text);margin-top:var(--space-12);margin-bottom:var(--space-4);padding-bottom:var(--space-3);border-bottom:1px solid var(--color-border)}.prose h3{font-size:var(--text-xl);color:var(--color-accent);margin-top:var(--space-8);margin-bottom:var(--space-3)}.prose h4{font-size:var(--text-lg);color:var(--color-text-muted);margin-top:var(--space-6);margin-bottom:var(--space-2)}.prose h5,.prose h6{font-size:var(--text-base);color:var(--color-text-subtle);text-transform:uppercase;letter-spacing:.06em;font-family:var(--font-body);font-weight:600;margin-top:var(--space-6);margin-bottom:var(--space-2)}.prose p{margin-bottom:var(--space-6);color:var(--color-text);line-height:1.8}.prose a{color:var(--color-accent);text-decoration:underline;text-decoration-color:transparent;text-underline-offset:3px;transition:text-decoration-color var(--duration-fast)}.prose a:hover{text-decoration-color:var(--color-accent)}.prose ul,.prose ol{list-style:revert;padding-left:var(--space-6);margin-bottom:var(--space-6)}.prose li{margin-bottom:var(--space-2);line-height:1.7}.prose blockquote{border-left:var(--accent-line);padding-left:var(--space-6);margin:var(--space-8) 0;color:var(--color-text-muted);font-style:italic;font-size:var(--text-lg)}.prose pre{margin:var(--space-8) 0}.prose hr{border:none;border-top:1px solid var(--color-border);margin:var(--space-12) 0}.prose img{border-radius:4px;margin:var(--space-8) 0}.prose figure{margin:var(--space-8) 0}.prose figure img{margin:0}.prose figcaption{margin-top:var(--space-2);font-size:var(--text-sm);color:var(--color-text-subtle);text-align:center}.prose table{width:100%;border-collapse:collapse;margin:var(--space-8) 0;font-size:var(--text-sm)}.prose th{text-align:left;padding:var(--space-3) var(--space-4);border-bottom:2px solid var(--color-border);font-weight:600;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em;font-size:var(--text-xs);font-family:var(--font-body)}.prose td{padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-border)}.prose tr:last-child td{border-bottom:none}.skip-link{position:absolute;top:-100%;left:var(--space-4);background:var(--color-accent);color:#0a0a0a;padding:var(--space-2) var(--space-4);border-radius:0 0 4px 4px;font-size:var(--text-sm);font-weight:600;z-index:999;transition:top var(--duration-fast)}.skip-link:focus{top:0;outline:none}
