.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}.search-overlay[data-astro-cid-gzttvpkb]{position:fixed;inset:0;z-index:100;display:flex;align-items:flex-start;justify-content:center;padding-top:20vh;opacity:0;pointer-events:none;transition:opacity var(--transition-reveal)}.search-overlay[data-astro-cid-gzttvpkb][aria-hidden=false]{opacity:1;pointer-events:auto}.search-backdrop[data-astro-cid-gzttvpkb]{position:absolute;inset:0;background:var(--color-scrim)}.search-panel[data-astro-cid-gzttvpkb]{position:relative;width:90%;max-width:560px;background:var(--color-glass-bg);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid var(--color-glass-border);border-radius:var(--radius-lg);overflow:hidden;transform:translateY(8px);transition:transform var(--transition-reveal)}.search-overlay[data-astro-cid-gzttvpkb][aria-hidden=false] .search-panel[data-astro-cid-gzttvpkb]{transform:translateY(0)}.search-input-wrap[data-astro-cid-gzttvpkb]{display:flex;align-items:center;padding:var(--space-sm) var(--space-md);border-bottom:var(--border-width) solid var(--color-border)}.search-input[data-astro-cid-gzttvpkb]{flex:1;background:none;border:none;outline:none;font-family:var(--font-sans);font-size:var(--font-size-base);color:var(--color-text-primary);caret-color:var(--color-accent)}.search-input[data-astro-cid-gzttvpkb]::placeholder{color:var(--color-text-muted)}.search-hint[data-astro-cid-gzttvpkb]{font-family:var(--font-mono);font-size:var(--font-size-xs);color:var(--color-text-muted);background:var(--color-bg-tertiary);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-sm);padding:1px var(--space-2xs)}.search-results[data-astro-cid-gzttvpkb]{max-height:50vh;overflow-y:auto}.search-results[data-astro-cid-gzttvpkb] .search-result{display:block;padding:var(--space-sm) var(--space-md);border-bottom:var(--border-width) solid var(--color-border);text-decoration:none;transition:background var(--transition-hover)}.search-results[data-astro-cid-gzttvpkb] .search-result:hover,.search-results[data-astro-cid-gzttvpkb] .search-result.is-selected{background:var(--color-bg-tertiary);text-decoration:none}.search-results[data-astro-cid-gzttvpkb] .search-result-title{font-size:var(--font-size-sm);font-weight:700;color:var(--color-accent);margin-bottom:var(--space-2xs)}.search-results[data-astro-cid-gzttvpkb] .search-result-excerpt{font-size:var(--font-size-xs);color:var(--color-text-secondary);line-height:var(--line-height-body)}.search-results[data-astro-cid-gzttvpkb] .search-result-excerpt mark{background:var(--color-accent-dim);color:var(--color-accent)}.search-results[data-astro-cid-gzttvpkb] .search-empty{padding:var(--space-lg) var(--space-md);text-align:center;font-size:var(--font-size-sm);color:var(--color-text-muted)}.site-footer[data-astro-cid-35ed7um5]{border-top:var(--border-width) solid var(--color-border);padding:var(--space-lg) calc(var(--space-xl) + env(safe-area-inset-right,0px)) calc(var(--space-lg) + env(safe-area-inset-bottom,0px)) calc(var(--space-xl) + env(safe-area-inset-left,0px));margin-top:var(--space-3xl)}.footer-inner[data-astro-cid-35ed7um5]{max-width:var(--page-max-width);margin:0 auto;display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-md);font-size:var(--font-size-xs);color:var(--color-text-muted)}.footer-tagline[data-astro-cid-35ed7um5]{font-style:italic}.footer-link[data-astro-cid-35ed7um5]{color:var(--color-text-muted);text-decoration:none;transition:color var(--transition-hover)}.footer-link[data-astro-cid-35ed7um5]:hover{color:var(--color-accent)}@font-face{font-family:Fantasque Sans Mono;src:url(/fonts/FantasqueSansMono-Regular.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Fantasque Sans Mono;src:url(/fonts/FantasqueSansMono-Bold.woff2) format("woff2");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:Fantasque Sans Mono;src:url(/fonts/FantasqueSansMono-Italic.woff2) format("woff2");font-weight:400;font-style:italic;font-display:swap}@font-face{font-family:Fantasque Sans Mono;src:url(/fonts/FantasqueSansMono-BoldItalic.woff2) format("woff2");font-weight:700;font-style:italic;font-display:swap}
