header[data-astro-cid-nen7h5rs]{border-bottom:1px solid var(--border);padding:1.5rem 0}.header-inner[data-astro-cid-nen7h5rs]{justify-content:space-between;align-items:center;display:flex}.site-title[data-astro-cid-nen7h5rs]{color:var(--text);font-size:1.25rem;font-weight:600;text-decoration:none}.site-title[data-astro-cid-nen7h5rs]:hover{color:var(--accent)}#menu-toggle[data-astro-cid-nen7h5rs]{cursor:pointer;z-index:110;color:var(--text);transition:color var(--transition-fast);background:0 0;border:none;padding:.25rem;display:none}#menu-toggle[data-astro-cid-nen7h5rs]:hover{color:var(--accent)}#menu-toggle[data-astro-cid-nen7h5rs] svg[data-astro-cid-nen7h5rs]{display:block}nav[data-astro-cid-nen7h5rs]{align-items:center;gap:1.25rem;display:flex}nav[data-astro-cid-nen7h5rs] a[data-astro-cid-nen7h5rs]{color:var(--text-secondary);transition:color var(--transition-fast);align-items:center;gap:.4rem;font-size:.95rem;text-decoration:none;display:inline-flex}nav[data-astro-cid-nen7h5rs] a[data-astro-cid-nen7h5rs]:hover{color:var(--text);text-decoration:none}nav[data-astro-cid-nen7h5rs] a[data-astro-cid-nen7h5rs][aria-current=page]{color:var(--text);font-weight:500}.no-scroll[data-astro-cid-nen7h5rs]{overflow:hidden}@media (width<=640px){#menu-toggle[data-astro-cid-nen7h5rs]{display:block}nav[data-astro-cid-nen7h5rs]{background:var(--bg);z-index:100;opacity:0;pointer-events:none;flex-direction:column;justify-content:center;gap:2rem;transition:opacity .3s;position:fixed;inset:0}nav[data-astro-cid-nen7h5rs].open{opacity:1;pointer-events:auto}nav[data-astro-cid-nen7h5rs] a[data-astro-cid-nen7h5rs]{color:var(--text);gap:.6rem;font-size:1.5rem}nav[data-astro-cid-nen7h5rs] a[data-astro-cid-nen7h5rs] svg[data-astro-cid-nen7h5rs]{width:24px;height:24px}}footer[data-astro-cid-jo6i4kqk]{border-top:1px solid var(--border);text-align:center;margin-top:4rem;padding:2rem 0}p[data-astro-cid-jo6i4kqk]{color:var(--text-secondary);font-size:.85rem}.footer-links[data-astro-cid-jo6i4kqk]{margin-top:.25rem}.footer-links[data-astro-cid-jo6i4kqk] a[data-astro-cid-jo6i4kqk]{color:var(--text-muted);transition:color var(--transition-fast);align-items:center;gap:.3rem;text-decoration:none;display:inline-flex}.footer-links[data-astro-cid-jo6i4kqk] a[data-astro-cid-jo6i4kqk]:hover{color:var(--accent)}.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:#fff;--bg-subtle:#f8fafc;--bg-muted:#f1f5f9;--bg-hover:#e2e8f0;--border:#cbd5e1;--border-light:#e2e8f0;--text:#0f172a;--text-secondary:#64748b;--text-muted:#94a3b8;--accent:#0ea5e9;--accent-hover:#0284c7;--code-bg:#1e1e2e;--code-text:#cdd6f4;--font-main:"Inter", system-ui, -apple-system, sans-serif;--font-heading:"Inter", system-ui, -apple-system, sans-serif;--transition-fast:.2s cubic-bezier(.4, 0, .2, 1)}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;font-family:var(--font-main);color:var(--text);background-color:var(--bg);font-size:18px;line-height:1.7}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);letter-spacing:-.02em;font-weight:700}body{min-height:100vh}.skip-link{background:var(--accent);color:#fff;z-index:200;border-radius:4px;padding:.5rem 1rem;font-size:.85rem;font-weight:500;text-decoration:none;transition:top .2s;position:absolute;top:-100%;left:1rem}.skip-link:focus{top:1rem}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}::-webkit-scrollbar{width:10px}::-webkit-scrollbar-track{background:var(--bg-muted)}::-webkit-scrollbar-thumb{background:var(--border);border-radius:5px}::-webkit-scrollbar-thumb:hover{background:var(--accent)}a{color:var(--accent);text-decoration:none}a:hover{color:var(--accent-hover);text-decoration:underline}img{max-width:100%;height:auto}::selection{background-color:var(--accent);color:#fff}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.container{max-width:720px;margin:0 auto;padding:0 1.5rem}.prose{max-width:65ch}.prose>*+*{margin-top:1.5em}.prose h1,.prose h2,.prose h3,.prose h4,.prose h5,.prose h6{color:var(--text);margin-top:2em;font-weight:600;line-height:1.3}.prose h1{margin-top:0;font-size:2rem}.prose h2{font-size:1.5rem}.prose h3{font-size:1.25rem}.prose p{margin-top:1.25em}.prose ul,.prose ol{margin-top:1.25em;padding-left:1.5em}.prose li{margin-top:.5em}.prose blockquote{border-left:3px solid var(--accent);color:var(--text-secondary);margin-top:1.5em;padding-left:1em}.prose code{background-color:var(--bg-muted);border-radius:4px;padding:.15em .35em;font-family:ui-monospace,Cascadia Code,Source Code Pro,Menlo,Consolas,DejaVu Sans Mono,monospace;font-size:.9em}.prose pre{background-color:var(--code-bg);color:var(--code-text);border:none;border-radius:6px;margin-top:1.5em;padding:1em;line-height:1.5;position:relative;overflow-x:auto}.prose pre .copy-btn{color:var(--text-muted);cursor:pointer;opacity:0;background:#ffffff1a;border:1px solid #ffffff26;border-radius:4px;padding:.25rem .5rem;font-size:.75rem;transition:opacity .2s;position:absolute;top:.5rem;right:.5rem}.prose pre:hover .copy-btn,.prose pre .copy-btn:focus-visible{opacity:1}.prose pre .copy-btn:hover{color:#fff;background:#fff3}.prose pre code{color:inherit;background:0 0;padding:0;font-family:inherit;font-size:.85em}.prose hr{border:none;border-top:1px solid var(--border);margin:2em 0}.prose strong{color:var(--text);font-weight:600}.prose a{color:var(--accent);text-decoration:underline;text-decoration-color:var(--border);text-underline-offset:2px;transition:text-decoration-color .2s}.prose a:hover{text-decoration-color:var(--accent)}.prose table{border-collapse:collapse;width:100%;margin-top:1.5em}.prose th,.prose td{border:1px solid var(--border);text-align:left;padding:.5em .75em}.prose th{background-color:var(--bg-subtle);font-weight:600}.progress-bar{background:var(--accent);z-index:100;height:3px;transition:width .1s linear;position:fixed;top:0;left:0}.back-to-top{background:var(--bg-muted);width:40px;height:40px;color:var(--text-secondary);border:1px solid var(--border);cursor:pointer;opacity:0;z-index:99;border-radius:50%;justify-content:center;align-items:center;transition:opacity .3s,background .2s;display:flex;position:fixed;bottom:1.5rem;right:1.5rem}.back-to-top.visible{opacity:1}.back-to-top:hover{background:var(--border);color:var(--text)}.toc{background:var(--bg-subtle);border:1px solid var(--border);border-radius:6px;margin-bottom:2rem;padding:1rem 1.25rem;font-size:.9rem}.toc summary{cursor:pointer;color:var(--text);font-weight:600}.toc ul{margin-top:.75rem;padding:0;list-style:none}.toc li{margin-top:.35rem}.toc a{color:var(--text-secondary);text-decoration:none}.toc a:hover{color:var(--accent)}.toc .toc-h2{padding-left:0}.toc .toc-h3{padding-left:1rem}.related{border-top:1px solid var(--border);margin-top:3rem;padding-top:1.5rem}.related h2{color:var(--text);margin-bottom:1rem;font-size:1.25rem}.related-item{border-bottom:1px solid var(--border-light);padding:.75rem 0;text-decoration:none;display:block}.related-item:last-child{border-bottom:none}.related-item:hover .related-title{color:var(--accent)}.related-title{color:var(--text);font-size:1rem;transition:color .2s}.related-meta{color:var(--text-muted);font-size:.8rem}.reading-time{color:var(--text-muted);font-size:.85rem}.search-form{gap:.5rem;margin-bottom:2rem;display:flex}.search-form input{border:1px solid var(--border);background:var(--bg);color:var(--text);border-radius:4px;flex:1;padding:.5rem .75rem;font-family:inherit;font-size:1rem}.search-form input:focus{border-color:var(--accent);outline:none;box-shadow:0 0 0 2px #0ea5e926}.search-results{padding:0;list-style:none}.search-results li{border-bottom:1px solid var(--border-light);padding:.75rem 0}.search-results li:last-child{border-bottom:none}.not-found{text-align:center;padding:4rem 0}.not-found h1{color:var(--text-muted);margin-bottom:.5rem;font-size:4rem}.not-found p{color:var(--text-secondary);margin-bottom:1.5rem}.not-found a{color:var(--accent)}
