.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}@keyframes fade-in-up{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes scale-in{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@keyframes blur-reveal{0%{opacity:0;filter:blur(8px);transform:translateY(12px)}to{opacity:1;filter:blur(0);transform:translateY(0)}}@keyframes page-enter{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes page-exit{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-8px)}}.animate-on-scroll{opacity:0;transform:translateY(20px);transition:opacity .6s cubic-bezier(.22,1,.36,1),transform .6s cubic-bezier(.22,1,.36,1)}.animate-on-scroll.is-visible{opacity:1;transform:translateY(0)}.animate-on-scroll[data-animate=scale]{transform:scale(.96)}.animate-on-scroll[data-animate=scale].is-visible{transform:scale(1)}.animate-on-scroll[data-animate=slide-left]{transform:translate(32px)}.animate-on-scroll[data-animate=slide-left].is-visible{transform:translate(0)}.animate-on-scroll[data-animate=slide-right]{transform:translate(-32px)}.animate-on-scroll[data-animate=slide-right].is-visible{transform:translate(0)}.animate-on-scroll[data-animate=blur]{opacity:0;filter:blur(8px);transform:translateY(12px);transition:opacity .7s cubic-bezier(.22,1,.36,1),transform .7s cubic-bezier(.22,1,.36,1),filter .7s cubic-bezier(.22,1,.36,1)}.animate-on-scroll[data-animate=blur].is-visible{opacity:1;filter:blur(0);transform:translateY(0)}.animate-on-scroll:nth-child(2){transition-delay:.08s}.animate-on-scroll:nth-child(3){transition-delay:.16s}.animate-on-scroll:nth-child(4){transition-delay:.24s}.animate-on-scroll:nth-child(5){transition-delay:.3s}.animate-on-scroll:nth-child(6){transition-delay:.36s}.animate-image-reveal{opacity:0;transform:scale(1.02);filter:blur(4px);transition:opacity .7s cubic-bezier(.22,1,.36,1),transform .7s cubic-bezier(.22,1,.36,1),filter .7s cubic-bezier(.22,1,.36,1)}.animate-image-reveal.is-visible{opacity:1;transform:scale(1);filter:blur(0)}.glass{background:#ffffffbf;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid rgba(0,0,0,.04)}.dark .glass{background:#111827bf;border-bottom:1px solid rgba(255,255,255,.06)}::view-transition-old(root){animation:page-exit .2s ease-in forwards}::view-transition-new(root){animation:page-enter .3s ease-out forwards}.prose pre{position:relative}.copy-btn{transition:all .2s ease}.copy-btn.copied{color:#22c55e}.copy-btn .copy-icon-check{display:none}.copy-btn.copied .copy-icon-check{display:inline}.copy-btn.copied .copy-icon-default{display:none}.prose h2[id],.prose h3[id],.prose h4[id]{position:relative}.heading-anchor{opacity:0;margin-left:.25em;transition:opacity .2s ease;color:#2563eb;text-decoration:none;font-weight:400}.prose h2:hover .heading-anchor,.prose h3:hover .heading-anchor,.prose h4:hover .heading-anchor{opacity:1}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.animate-on-scroll,.animate-image-reveal{opacity:1;transform:none;filter:none}::view-transition-old(root),::view-transition-new(root){animation:none}}:root{color-scheme:light;--surface: 255 255 255;--surface-muted: 248 250 252;--ring: 37 99 235}:root.dark{color-scheme:dark;--surface: 17 24 39;--surface-muted: 15 23 42;--ring: 96 165 250}html{scroll-behavior:smooth}body{background-image:linear-gradient(180deg,#f8fafcf5,#ffffffe0 28rem),linear-gradient(90deg,rgba(15,23,42,.045) 1px,transparent 1px),linear-gradient(180deg,rgba(15,23,42,.045) 1px,transparent 1px);background-size:auto,32px 32px,32px 32px;background-attachment:fixed}:root.dark body{background-image:linear-gradient(180deg,#030712fa,#0f172aeb 28rem),linear-gradient(90deg,rgba(148,163,184,.07) 1px,transparent 1px),linear-gradient(180deg,rgba(148,163,184,.07) 1px,transparent 1px)}::-moz-selection{background:#2563eb2e}::selection{background:#2563eb2e}a,button{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid rgb(var(--ring));outline-offset:3px}.surface-card{border:1px solid rgba(148,163,184,.22);background:rgba(var(--surface),.82);box-shadow:0 18px 50px #0f172a12;backdrop-filter:blur(16px)}.dark .surface-card{border-color:#94a3b824;box-shadow:0 18px 50px #0000003d}.interactive-card{transform:translateY(0);transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease,background-color .22s ease}.interactive-card:hover{border-color:#2563eb57;box-shadow:0 24px 65px #0f172a1c;transform:translateY(-3px)}.dark .interactive-card:hover{border-color:#60a5fa57;box-shadow:0 24px 65px #00000052}.animated-entry{animation:fade-slide-up .52s ease both}.animated-entry:nth-child(2){animation-delay:70ms}.animated-entry:nth-child(3){animation-delay:.14s}.animated-entry:nth-child(4){animation-delay:.21s}.link-arrow svg{transition:transform .18s ease}.link-arrow:hover svg{transform:translate(3px)}@keyframes fade-slide-up{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:1ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:1ms!important}.interactive-card:hover{transform:none}}
