.astro-route-announcer{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;top:0;left:0;overflow:hidden}:root{--bg-0:#0a0414;--bg-1:#150c26;--bg-2:#1c0f2e;--border:#d8c7ff17;--border-strong:#d8c7ff29;--fg-0:#d8c7ff;--fg-1:#b9a8dc;--fg-2:#9089ab;--accent:#9b7bd4;--accent-fg:#150c26;--accent-soft:#9b7bd424;--accent-glow:#9b7bd459;--accent-2:#8bb4e8;--accent-2-soft:#8bb4e824;--accent-2-glow:#8bb4e852;--danger:#ff8a8a;--bevel-light:#d8c7ff59;--bevel-dark:#0009;--font-body:-apple-system, BlinkMacSystemFont, "Segoe UI", Inter, system-ui, sans-serif;--font-mono:ui-monospace, "SF Mono", "JetBrains Mono", Menlo, Consolas, monospace;--font-display:"Metamorphous", var(--font-body);--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.5rem;--space-6:2rem;--space-7:3rem;--space-8:4.5rem;--radius-sm:3px;--radius-md:6px;--radius-lg:10px;--ease-out:cubic-bezier(.16, 1, .3, 1);--duration-fast:.15s;--duration-base:.22s;--duration-slow:.3s;--content-width:42rem;--wide-width:64rem}@media (prefers-reduced-motion:reduce){:root{--duration-fast:1ms;--duration-base:1ms;--duration-slow:1ms}}*,:before,:after{box-sizing:border-box}html{color-scheme:dark;-webkit-text-size-adjust:100%}body{background:radial-gradient(ellipse at top, var(--bg-1) 0%, var(--bg-0) 55%);color:var(--fg-0);font-family:var(--font-body);text-rendering:optimizelegibility;margin:0;font-size:1rem;line-height:1.55}img,svg,video{max-width:100%;display:block}a{color:inherit}h1,h2,h3,h4{letter-spacing:-.01em;font-weight:600;line-height:1.2}h1{font-family:var(--font-display);letter-spacing:.02em;font-weight:400}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link{left:var(--space-3);background:var(--bg-2);color:var(--fg-0);border:1px solid var(--border-strong);border-radius:var(--radius-md);padding:var(--space-2) var(--space-3);font-family:var(--font-mono);z-index:100;transition:top var(--duration-fast) var(--ease-out);font-size:.8rem;position:absolute;top:-3rem}.skip-link:focus-visible{top:var(--space-3)}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:var(--radius-sm)}.meta{font-family:var(--font-mono);letter-spacing:.02em;text-transform:uppercase;color:var(--fg-2);font-size:.75rem}.eyebrow{font-family:var(--font-mono);color:var(--accent);letter-spacing:.06em;text-transform:uppercase;font-size:.75rem}.panel{background:var(--bg-1);border:1px solid var(--border);border-radius:var(--radius-lg)}.prose{max-width:var(--content-width)}.prose :is(p,ul,ol,blockquote,pre,figure){margin:0 0 var(--space-4) 0}.prose :is(h2,h3){margin:var(--space-7) 0 var(--space-3) 0}.prose a{color:var(--accent);text-decoration-color:var(--accent-glow);text-underline-offset:.15em}.prose code{font-family:var(--font-mono);background:var(--bg-2);border:1px solid var(--border);border-radius:var(--radius-sm);padding:.1em .35em;font-size:.9em}.prose pre{background:var(--bg-1);border:1px solid var(--border);border-radius:var(--radius-md);padding:var(--space-4);overflow-x:auto}.prose pre code{background:0 0;border:none;padding:0}.prose img{border-radius:var(--radius-md)}.grain{isolation:isolate;position:relative}.grain:after{content:"";pointer-events:none;z-index:1;opacity:.05;mix-blend-mode:overlay;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");background-repeat:repeat;position:absolute;inset:0}.win-window{background:var(--bg-1);border-radius:var(--radius-md);border:2px solid #0000;border-top-color:var(--bevel-light);border-left-color:var(--bevel-light);border-right-color:var(--bevel-dark);border-bottom-color:var(--bevel-dark);overflow:hidden}.win-window__title{padding:var(--space-2) var(--space-3);background:var(--bg-2);border-bottom:1px solid var(--border-strong);font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--accent);margin:0;font-size:.7rem}.win-window__body{padding:var(--space-4);color:var(--fg-1)}.win-list{margin:0;padding:0;list-style:none}.win-row+.win-row{border-top:1px solid var(--border)}.win-row a{align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);text-decoration:underline;text-decoration-color:var(--accent-glow);color:var(--accent);transition:background-color var(--duration-fast) var(--ease-out);display:flex}.win-row a:hover{background:var(--accent-soft);text-decoration-color:var(--accent)}.win-row a:focus-visible{background:var(--accent-soft);text-decoration-color:var(--accent);outline:1px dotted var(--accent);outline-offset:-3px;border-radius:0}.win-row__icon{background:var(--bg-0);border:1px solid var(--border);border-radius:var(--radius-sm);width:1.75rem;height:1.75rem;font-family:var(--font-mono);color:var(--fg-2);flex:none;justify-content:center;align-items:center;display:flex;overflow:hidden}.win-row__icon img{object-fit:cover;width:100%;height:100%}.win-row__label{flex-direction:column;flex:1;min-width:0;display:flex}.win-row__title{color:inherit;font-weight:600}.win-row__summary{color:var(--fg-1);white-space:nowrap;text-overflow:ellipsis;font-size:.85rem;text-decoration:none;overflow:hidden}.win-row__meta{font-family:var(--font-mono);color:var(--fg-2);white-space:nowrap;flex:none;font-size:.75rem;text-decoration:none}@media (width<=30rem){.win-row__meta{display:none}}::view-transition-group(*),::view-transition-old(*),::view-transition-new(*){animation-duration:var(--duration-slow);animation-timing-function:var(--ease-out)}@media (prefers-reduced-motion:reduce){::view-transition-group(*),::view-transition-old(*),::view-transition-new(*){animation:none!important}}.module-nav[data-astro-cid-yfrsvlqj] ul[data-astro-cid-yfrsvlqj]{margin:0;padding:0;list-style:none}.module-nav--compact[data-astro-cid-yfrsvlqj] ul[data-astro-cid-yfrsvlqj]{gap:var(--space-1);flex-wrap:wrap;display:flex}.module-nav--compact[data-astro-cid-yfrsvlqj] a[data-astro-cid-yfrsvlqj]{align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);color:var(--fg-1);transition:color var(--duration-fast) var(--ease-out), background-color var(--duration-fast) var(--ease-out);font-size:.9rem;text-decoration:none;display:inline-flex}.module-nav--compact[data-astro-cid-yfrsvlqj] a[data-astro-cid-yfrsvlqj]:hover,.module-nav--compact[data-astro-cid-yfrsvlqj] a[data-astro-cid-yfrsvlqj]:focus-visible{color:var(--fg-0);background:var(--bg-1)}.module-nav--compact[data-astro-cid-yfrsvlqj] a[data-astro-cid-yfrsvlqj][aria-current=page]{color:var(--accent)}.module-nav__glyph[data-astro-cid-yfrsvlqj]{font-family:var(--font-mono);color:var(--fg-2)}.module-nav--compact[data-astro-cid-yfrsvlqj] a[data-astro-cid-yfrsvlqj][aria-current=page] .module-nav__glyph[data-astro-cid-yfrsvlqj]{color:var(--accent)}.module-nav--grid[data-astro-cid-yfrsvlqj] ul[data-astro-cid-yfrsvlqj]{gap:var(--space-4);padding:var(--space-6) var(--space-5);grid-template-columns:repeat(auto-fit,minmax(15rem,1fr));max-width:64rem;margin:0 auto;display:grid}.module-nav--grid[data-astro-cid-yfrsvlqj] a[data-astro-cid-yfrsvlqj]{gap:var(--space-2);height:100%;padding:var(--space-5);border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--bg-1);color:var(--fg-0);transition:border-color var(--duration-base) var(--ease-out), box-shadow var(--duration-base) var(--ease-out), transform var(--duration-base) var(--ease-out);flex-direction:column;text-decoration:none;display:flex}.module-nav--grid[data-astro-cid-yfrsvlqj] a[data-astro-cid-yfrsvlqj][data-accent=accent]:hover,.module-nav--grid[data-astro-cid-yfrsvlqj] a[data-astro-cid-yfrsvlqj][data-accent=accent]:focus-visible{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent-soft), 0 0 24px -4px var(--accent-glow)}.module-nav--grid[data-astro-cid-yfrsvlqj] a[data-astro-cid-yfrsvlqj][data-accent=accent-2]:hover,.module-nav--grid[data-astro-cid-yfrsvlqj] a[data-astro-cid-yfrsvlqj][data-accent=accent-2]:focus-visible{border-color:var(--accent-2);box-shadow:0 0 0 1px var(--accent-2-soft), 0 0 24px -4px var(--accent-2-glow)}.module-nav--grid[data-astro-cid-yfrsvlqj] .module-nav__glyph[data-astro-cid-yfrsvlqj]{color:var(--fg-1);font-size:1.3rem}.module-nav--grid[data-astro-cid-yfrsvlqj] a[data-astro-cid-yfrsvlqj][data-accent=accent] .module-nav__glyph[data-astro-cid-yfrsvlqj]{color:var(--accent)}.module-nav--grid[data-astro-cid-yfrsvlqj] a[data-astro-cid-yfrsvlqj][data-accent=accent-2] .module-nav__glyph[data-astro-cid-yfrsvlqj]{color:var(--accent-2)}.module-nav--grid[data-astro-cid-yfrsvlqj] .module-nav__label[data-astro-cid-yfrsvlqj]{font-size:1.1rem;font-weight:600}.module-nav--grid[data-astro-cid-yfrsvlqj] .module-nav__blurb[data-astro-cid-yfrsvlqj]{color:var(--fg-1);flex:1;font-size:.9rem}.module-nav--grid[data-astro-cid-yfrsvlqj] .module-nav__hint[data-astro-cid-yfrsvlqj]{font-family:var(--font-mono);color:var(--fg-2);opacity:0;transition:opacity var(--duration-fast) var(--ease-out);font-size:.7rem}.module-nav--grid[data-astro-cid-yfrsvlqj] a[data-astro-cid-yfrsvlqj]:hover .module-nav__hint[data-astro-cid-yfrsvlqj],.module-nav--grid[data-astro-cid-yfrsvlqj] a[data-astro-cid-yfrsvlqj]:focus-visible .module-nav__hint[data-astro-cid-yfrsvlqj]{opacity:1}@media (prefers-reduced-motion:reduce){.module-nav--grid[data-astro-cid-yfrsvlqj] a[data-astro-cid-yfrsvlqj]{transition:none}}.module-nav--menu[data-astro-cid-yfrsvlqj] ul[data-astro-cid-yfrsvlqj]{gap:var(--space-1);flex-direction:column;min-width:9rem;display:flex}.module-nav--menu[data-astro-cid-yfrsvlqj] a[data-astro-cid-yfrsvlqj]{align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);color:var(--fg-1);white-space:nowrap;transition:color var(--duration-fast) var(--ease-out), background-color var(--duration-fast) var(--ease-out);font-size:.95rem;text-decoration:none;display:flex}.module-nav--menu[data-astro-cid-yfrsvlqj] a[data-astro-cid-yfrsvlqj]:hover,.module-nav--menu[data-astro-cid-yfrsvlqj] a[data-astro-cid-yfrsvlqj]:focus-visible{color:var(--fg-0);background:var(--bg-2)}.module-nav--menu[data-astro-cid-yfrsvlqj] a[data-astro-cid-yfrsvlqj][aria-current=page],.module-nav--menu[data-astro-cid-yfrsvlqj] a[data-astro-cid-yfrsvlqj][aria-current=page] .module-nav__glyph[data-astro-cid-yfrsvlqj]{color:var(--accent)}
