*,*:before,*:after{box-sizing:border-box}*{margin:0;padding:0}html{height:100%;scroll-behavior:smooth}body{min-height:100vh;text-rendering:optimizeSpeed;line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}ul,ol{list-style:none}a{text-decoration:none}img,picture,video,canvas,svg{display:block;max-width:100%;height:auto}input,button,textarea,select{font:inherit;color:inherit}@media(prefers-reduced-motion:reduce){html:focus-within{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms;animation-iteration-count:1;transition-duration:.01ms;scroll-behavior:auto}}button{background:none;border:none;padding:0;cursor:pointer}input,textarea{border:none;outline:none;background:none}h1,h2,h3,h4,h5,h6{font-weight:600;line-height:1.2}p{margin:0}strong,b{font-weight:600}a{color:inherit;text-decoration:none}table{border-collapse:collapse;border-spacing:0}blockquote{margin:0;padding:0}pre{margin:0;white-space:pre-wrap;word-wrap:break-word}code{font-family:monospace}details{display:block}summary{display:list-item;cursor:pointer}dialog{padding:0;border:none;background:transparent}:focus-visible{outline:2px solid var(--color-primary-600);outline-offset:2px}::selection{background-color:var(--color-primary-200);color:var(--color-primary-900)}.dark ::selection{background-color:var(--color-primary-800);color:var(--color-primary-100)}[data-rehype-pretty-code-figure] pre{overflow-x:auto;padding:1rem;background:#f6f8fa;border:1px solid #d1d5db;border-radius:6px;font-size:14px;line-height:1.5}html.dark [data-rehype-pretty-code-figure] pre{background:#1a2638;border-color:#30363d}[data-rehype-pretty-code-figure] code span{color:var(--shiki-light)}html.dark [data-rehype-pretty-code-figure] code span{color:var(--shiki-dark)}[data-rehype-pretty-code-figure] code{display:grid;font-family:ui-monospace,SFMono-Regular,SF Mono,Consolas,Liberation Mono,Menlo,monospace;padding:0;background:transparent;border-radius:0;font-size:inherit}[data-rehype-pretty-code-figure] code{counter-reset:line}[data-rehype-pretty-code-figure] code>[data-line]{position:relative}[data-rehype-pretty-code-figure] code>[data-line]:before{display:none}[data-rehype-pretty-code-figure] code[data-line-numbers-max-digits="2"]>[data-line]:before{width:2rem}[data-rehype-pretty-code-figure] code[data-line-numbers-max-digits="3"]>[data-line]:before{width:3rem}[data-highlighted-line]{background:#ffeb3b1a;border-left:2px solid #fb8500;padding-left:calc(1rem - 2px);margin:0 -1rem;padding-right:1rem}html.dark [data-highlighted-line]{background:#ffeb3b0d;border-left-color:#f9c74f}[data-highlighted-word]{background:#ffeb3b4d;padding:.125rem .25rem;border-radius:.25rem}html.dark [data-highlighted-word]{background:#ffeb3b33}.diff.add,[data-diff-line=add],[data-line].add{background-color:#d1f8d9;position:relative}.diff.add:before,[data-diff-line=add]:before,[data-line].add:before{content:"+";position:absolute;left:.5rem;color:#2ea043;font-weight:700}html.dark .diff.add,html.dark [data-diff-line=add],html.dark [data-line].add{background-color:#2ea04326}html.dark .diff.add:before,html.dark [data-diff-line=add]:before,html.dark [data-line].add:before{color:#3fb950}.diff.remove,[data-diff-line=remove],[data-line].remove{background-color:#ffebe9;position:relative;opacity:.8}.diff.remove:before,[data-diff-line=remove]:before,[data-line].remove:before{content:"-";position:absolute;left:.5rem;color:#d1242f;font-weight:700}html.dark .diff.remove,html.dark [data-diff-line=remove],html.dark [data-line].remove{background-color:#f8514926}html.dark .diff.remove:before,html.dark [data-diff-line=remove]:before,html.dark [data-line].remove:before{color:#f85149}[data-rehype-pretty-code-title]{padding:.5rem 1rem;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;font-size:.875rem;font-weight:500;font-family:ui-monospace,SFMono-Regular,SF Mono,Consolas,Liberation Mono,Menlo,monospace;border-radius:6px 6px 0 0;margin-bottom:-1px}[data-rehype-pretty-code-title]+pre{border-top-left-radius:0;border-top-right-radius:0}:not(pre)>code{padding:.2em .4em;background:#afb8c133;border-radius:.25rem;font-family:ui-monospace,SFMono-Regular,SF Mono,Consolas,Liberation Mono,Menlo,monospace;font-size:.85em;color:#0969da}html.dark :not(pre)>code{background:#6e768166;color:#79c0ff}[data-rehype-pretty-code-figure]{position:relative}.copy-button{position:absolute;top:.5rem;right:.5rem;padding:.25rem .5rem;background:#fff;border:1px solid #d1d5db;border-radius:4px;color:#57606a;font-size:12px;cursor:pointer;transition:all .2s;z-index:1}html.dark .copy-button{background:#21262d;border-color:#30363d;color:#8b949e}.copy-button:hover{background:#f3f4f6;border-color:#9ca3af}html.dark .copy-button:hover{background:#30363d;border-color:#8b949e}[data-has-focused] [data-line]:not([data-focused]){opacity:.4;filter:blur(.5px)}[data-rehype-pretty-code-figure] pre::-webkit-scrollbar{height:8px;width:8px}[data-rehype-pretty-code-figure] pre::-webkit-scrollbar-track{background:transparent}[data-rehype-pretty-code-figure] pre::-webkit-scrollbar-thumb{background:#6e76814d;border-radius:4px}[data-rehype-pretty-code-figure] pre::-webkit-scrollbar-thumb:hover{background:#6e768180}.prose{font-size:1rem;line-height:1.8;max-width:100%}.prose p{margin-top:1.25rem;margin-bottom:1.25rem}.prose .text-lg{font-size:1.125rem;line-height:1.75rem}.prose .leading-relaxed{line-height:1.625}.dark\:prose-invert{color:var(--color-foreground)}.markdown-content{font-size:17px;line-height:1.7;letter-spacing:.02em;font-feature-settings:"palt" 1;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.markdown-content svg.typst-doc{display:inline-block;vertical-align:middle;white-space:nowrap}.markdown-content p:has(>svg.typst-doc:only-child){text-align:center;margin:2rem 0}.markdown-content p>svg.typst-doc:only-child{display:inline-block;font-size:1.15em;max-width:100%;height:auto}.markdown-content>svg.typst-doc{display:block;margin:2rem auto;text-align:center;font-size:1.15em;max-width:100%}.markdown-content svg.typst-doc path,.markdown-content svg.typst-doc rect,.markdown-content svg.typst-doc circle,.markdown-content svg.typst-doc ellipse,.markdown-content svg.typst-doc line,.markdown-content svg.typst-doc polyline,.markdown-content svg.typst-doc polygon,.markdown-content svg.typst-doc g{fill:var(--color-foreground);stroke:var(--color-foreground)}.markdown-content svg.typst-doc text{fill:var(--color-foreground);stroke:none}.markdown-content h1{font-size:2rem;line-height:1.3;font-weight:800;margin-top:4rem;margin-bottom:2rem;letter-spacing:-.01em;font-feature-settings:"palt" 1}.markdown-content h2{font-size:1.625rem;line-height:1.4;font-weight:700;margin-top:4rem;margin-bottom:1.5rem;letter-spacing:-.005em;padding-bottom:.5rem;position:relative;font-feature-settings:"palt" 1}.markdown-content h2:after{content:"";position:absolute;bottom:0;left:0;width:100%;height:1px;background:linear-gradient(to right,var(--color-primary-500) 0%,var(--color-primary-500) 40%,transparent 100%)}html.dark .markdown-content h2:after{background:linear-gradient(to right,var(--color-primary-400) 0%,var(--color-primary-400) 40%,transparent 100%)}.markdown-content h3{font-size:1.375rem;line-height:1.45;font-weight:600;margin-top:3.5rem;margin-bottom:1.25rem;letter-spacing:-.003em;padding-bottom:.375rem;position:relative;font-feature-settings:"palt" 1}.markdown-content h3:after{content:"";position:absolute;bottom:0;left:0;width:60px;height:2px;background:var(--color-primary-500);border-radius:1px}html.dark .markdown-content h3:after{background:var(--color-primary-400)}.markdown-content h4{font-size:1.125rem;line-height:1.5;font-weight:600;margin-top:2.5rem;margin-bottom:1rem;letter-spacing:.01em}.markdown-content h5{font-size:1.125rem;line-height:1.5;font-weight:600;margin-top:2rem;margin-bottom:1rem}.markdown-content h6{font-size:1rem;line-height:1.5;font-weight:600;margin-top:2rem;margin-bottom:1rem;text-transform:uppercase;letter-spacing:.05em;opacity:.8}.markdown-content>h1:first-child,.markdown-content>h2:first-child,.markdown-content>h3:first-child{margin-top:0}.markdown-content p{margin-top:0;margin-bottom:.5rem;line-height:1.7;letter-spacing:.03em;text-align:justify;text-justify:inter-ideograph}.markdown-content p:last-child{margin-bottom:0}.markdown-content p+p{margin-top:1rem}.markdown-content ul,.markdown-content ol{margin-top:.5rem;margin-bottom:1rem;padding-left:1.75rem;line-height:1.7}.markdown-content ul{list-style-type:disc;list-style-position:outside}.markdown-content ul ul{list-style-type:circle}.markdown-content ul ul ul{list-style-type:square}.markdown-content ol{list-style-type:decimal;list-style-position:outside}.markdown-content ol ol{list-style-type:lower-alpha}.markdown-content ol ol ol{list-style-type:lower-roman}.markdown-content li{margin-bottom:.375rem;letter-spacing:.03em;display:list-item}.markdown-content li:last-child{margin-bottom:0}.markdown-content li>p:only-child{margin:0}.markdown-content li>ul,.markdown-content li>ol{margin-top:.5rem;margin-bottom:.5rem;margin-left:0}.markdown-content blockquote{margin:2.5rem 0;padding:1.25rem 1.75rem;border-left:3px solid var(--color-primary-500);background:var(--color-primary-50);font-style:normal;letter-spacing:.04em;line-height:1.85;border-radius:.25rem}html.dark .markdown-content blockquote{background:#1e3a8a20;border-left-color:var(--color-primary-400)}.markdown-content blockquote p:last-child{margin-bottom:0}.markdown-content table{width:100%;margin:2rem 0;border-collapse:collapse;font-size:.95rem;line-height:1.6}.markdown-content th{background:var(--color-neutral-100);font-weight:600;text-align:left;padding:.75rem 1rem;border-bottom:2px solid var(--color-neutral-300);letter-spacing:.02em}html.dark .markdown-content th{background:var(--color-neutral-700);border-bottom-color:var(--color-neutral-500)}.markdown-content td{padding:.75rem 1rem;border-bottom:1px solid var(--color-neutral-200)}html.dark .markdown-content td{border-bottom-color:var(--color-neutral-600)}.markdown-content a{color:var(--color-primary-600);text-decoration:none;border-bottom:1px solid var(--color-primary-600) 40;padding-bottom:.05em;transition:all .2s;font-weight:500}.markdown-content a:hover{color:var(--color-primary-700);border-bottom-color:var(--color-primary-700);background:var(--color-primary-600) 08}html.dark .markdown-content a{color:var(--color-primary-400)}html.dark .markdown-content a:hover{color:var(--color-primary-300)}.markdown-content strong,.markdown-content b{font-weight:700;letter-spacing:.01em;color:inherit}.markdown-content code:not(pre code){padding:.2rem .4rem;background:var(--color-neutral-100);border-radius:.375rem;font-size:.9em;font-family:Fira Code,JetBrains Mono,Consolas,Monaco,monospace;letter-spacing:-.02em;font-weight:500}html.dark .markdown-content code:not(pre code){background:var(--color-neutral-700)}.markdown-content pre{margin:2rem 0;border-radius:.5rem;overflow-x:auto}.markdown-content hr{margin:3rem 0;border:none;border-top:1px solid var(--color-neutral-200)}html.dark .markdown-content hr{border-top-color:var(--color-neutral-600)}.markdown-content img{max-width:100%;height:auto;margin:2rem auto;border-radius:0;box-shadow:0 4px 6px -1px #0000001a}html.dark .markdown-content img{box-shadow:0 4px 6px -1px #00000080}.markdown-content figcaption{margin-top:.75rem;text-align:center;font-size:.875rem;color:var(--color-neutral-500);letter-spacing:.02em}html.dark .markdown-content figcaption{color:var(--color-neutral-400)}.markdown-content dl{margin:1.5rem 0}.markdown-content dt{font-weight:600;margin-top:1rem;margin-bottom:.5rem;letter-spacing:.02em}.markdown-content dd{margin-left:2rem;margin-bottom:1rem;line-height:1.75}.markdown-content kbd{padding:.125rem .375rem;background:#fff;border:1px solid var(--color-neutral-300);border-radius:.25rem;box-shadow:0 1px 2px #0000000d;font-family:inherit;font-size:.875em}html.dark .markdown-content kbd{background:var(--color-neutral-800);border-color:var(--color-neutral-600)}.markdown-content mark{background:var(--color-warning);padding:.125rem .25rem;border-radius:.125rem}html.dark .markdown-content mark{background:var(--color-warning-dark);color:var(--color-warning)}.markdown-content abbr{text-decoration:underline dotted;text-underline-offset:.2em;cursor:help}.markdown-content small{font-size:.875rem;line-height:1.6;color:var(--color-neutral-500)}html.dark .markdown-content small{color:var(--color-neutral-400)}.markdown-content sub,.markdown-content sup{font-size:.75rem;line-height:0;position:relative;vertical-align:baseline}.markdown-content sub{bottom:-.25em}.markdown-content sup{top:-.5em}@media(max-width:640px){.markdown-content{font-size:16px;line-height:1.8}.markdown-content h1{font-size:1.5rem;margin-top:1.75rem;margin-bottom:.875rem}.markdown-content h2{font-size:1.25rem;margin-top:1.5rem;margin-bottom:.75rem}.markdown-content h3{font-size:1.125rem;margin-top:1.25rem;margin-bottom:.625rem}.markdown-content h4,.markdown-content h5,.markdown-content h6{font-size:1rem}}@media print{.markdown-content{font-size:12pt;line-height:1.6}.markdown-content h1{font-size:24pt}.markdown-content h2{font-size:20pt}.markdown-content h3{font-size:16pt}.markdown-content h4{font-size:14pt}.markdown-content h5,.markdown-content h6{font-size:12pt}.markdown-content a{text-decoration:none;color:inherit}.markdown-content a[href]:after{content:" (" attr(href) ")";font-size:.8em;color:var(--color-neutral-500)}}.markdown-content ul:where(:not([class])),.markdown-content ol:where(:not([class])),.markdown-content ul[class=""],.markdown-content ol[class=""]{list-style:revert;padding-left:2rem}.markdown-content ul:where(:not([class])),.markdown-content ul[class=""]{list-style-type:disc;list-style-position:outside}.markdown-content ul:where(:not([class])) ul,.markdown-content ul[class=""] ul{list-style-type:circle}.markdown-content ul:where(:not([class])) ul ul,.markdown-content ul[class=""] ul ul{list-style-type:square}.markdown-content ol:where(:not([class])),.markdown-content ol[class=""]{list-style-type:decimal;list-style-position:outside}.markdown-content ol:where(:not([class])) ol,.markdown-content ol[class=""] ol{list-style-type:lower-alpha}.markdown-content li{display:list-item;margin-bottom:.125rem}.markdown-content li::marker{color:currentColor;opacity:.7;font-weight:400}.markdown-content li>ul,.markdown-content li>ol{margin-top:.75rem;margin-bottom:.75rem}.markdown-content input[type=checkbox][disabled]{margin-right:.5rem}.markdown-content li:has(input[type=checkbox]){list-style:none;margin-left:-1.5rem}html.dark .markdown-content li::marker{color:#d1d5db}.markdown-content li::marker{color:#4b5563}:root{--typst-color: #000000;--typst-bg: transparent}.dark{--typst-color: #ffffff}.typst-svg{color:var(--typst-color);fill:var(--typst-color);background:var(--typst-bg);max-width:100%;height:auto;margin:1.2em auto;display:block}.typst-svg path,.typst-svg rect,.typst-svg circle,.typst-svg ellipse,.typst-svg line,.typst-svg polyline,.typst-svg polygon,.typst-svg g,.typst-doc path,.typst-doc rect,.typst-doc circle,.typst-doc ellipse,.typst-doc line,.typst-doc polyline,.typst-doc polygon,.typst-doc g,svg.typst-doc path,svg.typst-doc rect,svg.typst-doc circle,svg.typst-doc ellipse,svg.typst-doc line,svg.typst-doc polyline,svg.typst-doc polygon,svg.typst-doc g{fill:var(--typst-color);stroke:var(--typst-color)}.typst-svg text,.typst-doc text,svg.typst-doc text{fill:var(--typst-color);stroke:none}.typst-html{color:var(--typst-color);font-family:Computer Modern,"Latin Modern Math","STIX Two Math",serif;line-height:1.6}.typst-html *{color:inherit}.typst-math{margin:1.2em 0;text-align:center;color:var(--typst-color)}.typst-math-inline{margin:0 .15em;vertical-align:baseline;color:var(--typst-color)}.typst-code{background:var(--color-surface);border:1px solid var(--color-border);border-radius:.375rem;padding:1rem;margin:1rem 0;overflow-x:auto}.typst-table{width:100%;border-collapse:collapse;margin:1.5rem 0}.typst-table th,.typst-table td{border:1px solid var(--color-border);padding:.5rem 1rem;text-align:left;color:var(--typst-color)}.typst-table th{background:var(--color-surface);font-weight:600}.katex,.typst-svg,.typst-html,.typst-math{transition:color .2s ease-in-out}:root{--color-neutral-50: #fafafa;--color-neutral-100: #f5f5f5;--color-neutral-200: #e5e5e5;--color-neutral-300: #d4d4d4;--color-neutral-400: #a3a3a3;--color-neutral-500: #737373;--color-neutral-600: #525252;--color-neutral-700: #404040;--color-neutral-800: #262626;--color-neutral-900: #171717;--color-neutral-950: #0a0a0a;--color-primary-50: #f0f4ff;--color-primary-100: #e0e7ff;--color-primary-200: #c7d2fe;--color-primary-300: #a5b4fc;--color-primary-400: #818cf8;--color-primary-500: #6366f1;--color-primary-600: #4f46e5;--color-primary-700: #4338ca;--color-primary-800: #3730a3;--color-primary-900: #312e81;--color-success: #10b981;--color-success-dark: #34d399;--color-warning: #f59e0b;--color-warning-dark-mode: #fbbf24;--color-error: #ef4444;--color-error-dark: #f87171;--color-info: #3b82f6;--color-info-dark: #60a5fa;--font-sans: "Zen Kaku Gothic New", "Hiragino Kaku Gothic Pro", "Noto Sans JP", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-mono: "JetBrains Mono", "Fira Code", "Source Code Pro", Menlo, Monaco, "Lucida Console", "Liberation Mono", "DejaVu Sans Mono", "Bitstream Vera Sans Mono", "Courier New", monospace;--radius-sm: .125rem;--radius-md: .375rem;--radius-lg: .5rem;--radius-xl: .75rem;--radius-2xl: 1rem;--radius-full: 9999px;--header-height: 80px;--leading-trim: calc((1em - 1lh)/2) ;--primary-400-rgb: 129, 140, 248;--primary-600-rgb: 79, 70, 229;--color-always-white: white;--color-always-black: black;--color-on-primary: white;--color-on-accent: white;--color-background: #fafafa;--color-foreground: var(--color-neutral-900);--color-card: white;--color-card-hover: var(--color-neutral-50);--color-border: var(--color-neutral-200);--color-border-hover: var(--color-neutral-300);--color-muted: var(--color-neutral-100);--color-muted-foreground: var(--color-neutral-600);--color-accent: var(--color-primary-600);--color-accent-hover: var(--color-primary-700);--color-accent-muted: rgba(79, 70, 229, .1);--color-accent-foreground: white;--color-text-primary: var(--color-neutral-900);--color-text-secondary: var(--color-neutral-600);--color-text-muted: var(--color-neutral-400);--color-surface: white;--color-surface-hover: var(--color-neutral-100);--color-success-light: #d1fae5;--color-warning-light: rgb(254, 243, 199);--color-warning-text-dark: rgb(146, 64, 14);--color-error-light: #fee2e2;--color-info-light: #dbeafe}html.dark{--color-background: #0d223a;--color-foreground: #ecf5ff;--color-card: #151928;--color-card-hover: #1a1f3a;--color-border: #2a3454;--color-border-hover: #3a4570;--color-muted: #1e2337;--color-muted-foreground: #9ca3c4;--color-accent: #818cf8;--color-accent-hover: #a5b4fc;--color-accent-muted: rgba(129, 140, 248, .15);--color-accent-foreground: #f0f1f7;--color-text-primary: var(--color-neutral-50);--color-text-secondary: var(--color-neutral-400);--color-text-muted: var(--color-neutral-500);--color-surface: var(--color-neutral-900);--color-surface-hover: var(--color-neutral-800);--color-success-light: #064e3b;--color-warning-light: rgb(254, 215, 170);--color-warning-text-dark: rgb(69, 26, 3);--color-error-light: #7f1d1d;--color-info-light: #1e3a8a}html{font-family:var(--font-sans);font-weight:400;font-size:16px;line-height:1.7;letter-spacing:.02em;scroll-behavior:smooth;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-feature-settings:"palt" 1}body{background-color:var(--color-background);color:var(--color-foreground);transition:background-color .3s ease,color .3s ease;margin:0;padding:0;position:relative;min-height:100vh}html.dark body{background:#0d223a}code{font-family:var(--font-mono);font-variant-ligatures:normal}.pagefind-ui{--pagefind-ui-scale: 1;--pagefind-ui-primary: #0f172a;--pagefind-ui-text: #64748b;--pagefind-ui-background: #ffffff;--pagefind-ui-border: #e2e8f0;--pagefind-ui-tag: #eef2ff;--pagefind-ui-border-width: 1px;--pagefind-ui-border-radius: 6px;--pagefind-ui-image-border-radius: 6px;--pagefind-ui-image-box-ratio: 3 / 2;--pagefind-ui-font: inherit}.dark .pagefind-ui{--pagefind-ui-primary: #f1f5f9;--pagefind-ui-text: #94a3b8;--pagefind-ui-background: #1e293b;--pagefind-ui-border: #334155;--pagefind-ui-tag: #1e293b}.markdown-content a[data-wikilink=true]{color:var(--color-primary);text-decoration:none;border-bottom:1px dashed var(--color-primary);transition:all .2s ease}.markdown-content a[data-wikilink=true]:hover{border-bottom-style:solid;opacity:.8}.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}.footer-component[data-astro-cid-sz7xmlte]{width:100%;border-top:1px solid var(--color-border);margin-top:4rem;padding:3rem 0 2rem;background:var(--color-background)}.footer-inner[data-astro-cid-sz7xmlte]{max-width:768px;margin:0 auto;padding:0 1rem}.footer-content[data-astro-cid-sz7xmlte]{margin-bottom:2rem}.footer-sections[data-astro-cid-sz7xmlte]{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:2rem}.footer-section[data-astro-cid-sz7xmlte]{min-width:0}.footer-section-title[data-astro-cid-sz7xmlte]{font-size:.875rem;font-weight:600;color:var(--color-foreground);margin-bottom:.75rem;text-transform:uppercase;letter-spacing:.05em}.footer-links[data-astro-cid-sz7xmlte]{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.5rem}.footer-links[data-astro-cid-sz7xmlte] a[data-astro-cid-sz7xmlte]{font-size:.875rem;color:var(--color-muted-foreground);text-decoration:none;transition:color .2s ease}.footer-links[data-astro-cid-sz7xmlte] a[data-astro-cid-sz7xmlte]:hover{color:var(--color-foreground)}.footer-bottom[data-astro-cid-sz7xmlte]{padding-top:2rem;border-top:1px solid var(--color-border);text-align:center}.footer-copyright[data-astro-cid-sz7xmlte],.footer-powered[data-astro-cid-sz7xmlte]{font-size:.75rem;color:var(--color-muted-foreground);margin:.25rem 0}.footer-powered[data-astro-cid-sz7xmlte] a[data-astro-cid-sz7xmlte]{color:var(--color-muted-foreground);text-decoration:none;transition:color .2s ease}.footer-powered[data-astro-cid-sz7xmlte] a[data-astro-cid-sz7xmlte]:hover{color:var(--color-foreground)}@media(max-width:640px){.footer-sections[data-astro-cid-sz7xmlte]{grid-template-columns:1fr;gap:1.5rem}.footer-section-title[data-astro-cid-sz7xmlte]{margin-bottom:.5rem}.footer-links[data-astro-cid-sz7xmlte]{gap:.375rem}}.constellation-container[data-astro-cid-gyrjjkaj]{position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:-1;opacity:0;transition:opacity .5s ease}#constellation-canvas[data-astro-cid-gyrjjkaj]{position:absolute;top:0;left:0}.dark .constellation-container[data-astro-cid-gyrjjkaj]{opacity:1}@media(prefers-reduced-motion:reduce){.constellation-container[data-astro-cid-gyrjjkaj]{display:none}}
