.astro-route-announcer{position:absolute;left:0;top:0;clip:rect(0 0 0 0);clip-path:inset(50%);overflow:hidden;white-space:nowrap;width:1px;height:1px}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--color-bg: #F6F1ED;--color-surface: #EDE8E3;--color-text: #1A1A1A;--color-muted: #6B6560;--color-primary: #CF6A0A;--color-primary-dark: #A85408;--color-secondary: #D89A02;--color-success: #429429;--color-dark: #1A1A1A;--color-border: rgba(0, 0, 0, .07);--color-border-strong:rgba(0, 0, 0, .12);--color-row-alt: rgba(237, 232, 227, .45);--font-sans: "Noto Sans", system-ui, sans-serif;--font-serif: "Inria Serif", Georgia, serif;--font-mono: "JetBrains Mono", "Fira Code", monospace;--radius: 8px;--max-width: 1080px;--constellation: 207, 106, 10;--constellation-link: 207, 106, 10;--card-shadow: 0 1px 2px rgba(26, 18, 8, .04), 0 8px 24px rgba(26, 18, 8, .06)}[data-theme=dark]{--color-bg: #1A1A1A;--color-surface: #242424;--color-text: #F0EBE6;--color-muted: #9B9590;--color-primary: #E08C30;--color-primary-dark: #CF6A0A;--color-dark: #111;--color-border: rgba(255, 255, 255, .07);--color-border-strong:rgba(255, 255, 255, .12);--color-row-alt: rgba(255, 255, 255, .04);--constellation: 224, 140, 48;--constellation-link: 224, 140, 48;--card-shadow: 0 1px 2px rgba(0, 0, 0, .3), 0 8px 24px rgba(0, 0, 0, .35)}html{background:var(--color-bg);color:var(--color-text);font-family:var(--font-sans);font-size:16px;line-height:1.65;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{position:relative}#constellation{position:fixed;inset:0;width:100%;height:100%;z-index:-1;pointer-events:none;display:block}body:before{content:"";position:fixed;inset:-10%;z-index:-2;pointer-events:none;background:radial-gradient(40% 38% at 15% 8%,rgba(var(--constellation),.05),transparent 70%),radial-gradient(38% 36% at 88% 92%,rgba(var(--constellation),.04),transparent 72%)}html nav.site-nav{position:sticky;top:0;z-index:50;max-width:none;width:100%;margin:0;padding:.85rem max(2rem,calc((100% - var(--max-width)) / 2));background:var(--color-surface);border-bottom:1px solid var(--color-border-strong);box-shadow:0 1px 0 var(--color-bg),0 6px 20px #1a12080f}[data-theme=dark] html nav.site-nav{box-shadow:0 1px #0006,0 6px 20px #00000059}@media (max-width: 640px){html nav.site-nav{padding:.75rem 1.25rem}}nav .nav-links a:not(.nav-github){transition:color .18s ease}nav .nav-links a:not(.nav-github):hover,nav .nav-links a.nav-active{color:var(--color-primary);text-decoration:none}nav .nav-links a.nav-github{transition:background .18s ease,transform .18s ease}nav .nav-links a.nav-github:hover{transform:translateY(-1px)}@media (prefers-reduced-motion: reduce){nav .nav-links a.nav-github:hover{transform:none}}footer .footer-links a{transition:color .18s ease}a{color:var(--color-primary);text-decoration:none}a:hover{color:var(--color-primary-dark);text-decoration:underline;text-underline-offset:3px}code,pre{font-family:var(--font-mono);font-size:.88em}:root{--ease-out-expo: cubic-bezier(.16, 1, .3, 1);--reveal-dur: 1.05s}.reveal-on [data-reveal]{opacity:0;transform:translateY(34px) scale(.985);filter:blur(14px);transition:opacity var(--reveal-dur) var(--ease-out-expo),transform var(--reveal-dur) var(--ease-out-expo),filter var(--reveal-dur) var(--ease-out-expo);transition-delay:var(--rd, 0ms);will-change:opacity,transform,filter}.reveal-on [data-reveal].is-visible{opacity:1;transform:none;filter:none}.reveal-on [data-reveal=soft]{transform:translateY(26px);filter:blur(6px)}@media (prefers-reduced-motion: reduce){[data-reveal]{opacity:1!important;transform:none!important;filter:none!important}}.nav-logo-dark,[data-theme=dark] .nav-logo-light{display:none!important}[data-theme=dark] .nav-logo-dark{display:block!important}.theme-toggle{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;background:none;border:none;cursor:pointer;color:var(--color-muted);border-radius:6px;transition:background .15s,color .15s;flex-shrink:0;-webkit-tap-highlight-color:transparent}.theme-toggle:hover{background:var(--color-bg);color:var(--color-text)}.theme-toggle .icon-sun{display:none}.theme-toggle .icon-moon,[data-theme=dark] .theme-toggle .icon-sun{display:block}[data-theme=dark] .theme-toggle .icon-moon{display:none}
