:root{--font: "SF Mono", "Cascadia Code", "Fira Code", "JetBrains Mono", Consolas, monospace;--font-body: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--radius: 8px;--gap: 1rem}:root{--bg: #0f172a;--bg-card: #1e293b;--bg-hover: #334155;--border: #334155;--text: #e2e8f0;--text-dim: #94a3b8;--accent: #0ea5e9;--accent-dim: #0284c7;--accent-blue: #60a5fa;--heading: #a78bfa;--code-bg: #1e293b;--shadow: rgba(0,0,0,.35)}@media(prefers-color-scheme:light){:root{--bg: #ffffff;--bg-card: #f1f5f9;--bg-hover: #e2e8f0;--border: #cbd5e1;--text: #0f172a;--text-dim: #64748b;--accent: #0284c7;--accent-dim: #0369a1;--accent-blue: #2563eb;--heading: #7c3aed;--code-bg: #f1f5f9;--shadow: rgba(0,0,0,.1)}}[data-theme=dark]{--bg: #0f172a;--bg-card: #1e293b;--bg-hover: #334155;--border: #334155;--text: #e2e8f0;--text-dim: #94a3b8;--accent: #0ea5e9;--accent-dim: #0284c7;--accent-blue: #60a5fa;--heading: #a78bfa;--code-bg: #1e293b;--shadow: rgba(0,0,0,.35)}[data-theme=light]{--bg: #ffffff;--bg-card: #f1f5f9;--bg-hover: #e2e8f0;--border: #cbd5e1;--text: #0f172a;--text-dim: #64748b;--accent: #0284c7;--accent-dim: #0369a1;--accent-blue: #2563eb;--heading: #7c3aed;--code-bg: #f1f5f9;--shadow: rgba(0,0,0,.1)}.astro-code,.astro-code span{color:var(--shiki-light)}@media(prefers-color-scheme:dark){.astro-code,.astro-code span{color:var(--shiki-dark)}}[data-theme=dark] .astro-code,[data-theme=dark] .astro-code span{color:var(--shiki-dark)}[data-theme=light] .astro-code,[data-theme=light] .astro-code span{color:var(--shiki-light)}*{margin:0;padding:0;box-sizing:border-box}html{font-size:16px;scroll-behavior:smooth}body{font-family:var(--font-body);background:var(--bg);color:var(--text);line-height:1.7;min-height:100vh;display:flex;flex-direction:column;transition:background .25s ease,color .25s ease}body>header{position:sticky;top:0;z-index:50;border-bottom:1px solid var(--border);padding:.75rem 1.5rem;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.5rem;background:color-mix(in srgb,var(--bg-card) 85%,transparent);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);transition:background .25s ease,border-color .25s ease}body>header nav{display:flex;align-items:center;gap:.15rem;flex-wrap:wrap;flex:1}body>header nav a{font-family:var(--font-body);font-size:.825rem;color:var(--text-dim);text-decoration:none;padding:.35rem .7rem;border-radius:var(--radius);transition:all .15s ease}body>header nav a:hover{color:var(--accent);background:var(--bg-hover)}body>header nav a[aria-current],body>header .active{color:var(--accent)}.nav-spacer{flex:1;min-width:.25rem}@media(max-width:480px){.nav-spacer:last-of-type{display:none}.theme-dropdown,.lang-dropdown{order:5}}.nav-icon,.cat-trigger,.lang-trigger,.theme-trigger{background:transparent;border:1px solid var(--border);color:var(--text-dim);width:2.25rem;height:2.25rem;padding:0;border-radius:var(--radius);transition:all .15s ease;display:flex;align-items:center;justify-content:center;text-decoration:none;flex-shrink:0;cursor:pointer}.nav-icon:hover,.cat-trigger:hover,.lang-trigger:hover,.theme-trigger:hover{border-color:var(--accent-dim);color:var(--accent);background:color-mix(in srgb,var(--accent) 10%,transparent)}body>header nav a.home-icon:hover{background:color-mix(in srgb,var(--accent) 10%,transparent)}.cat-dropdown,.lang-dropdown,.theme-dropdown{position:relative;display:inline-block}.dropdown-menu{position:absolute;top:calc(100% + .4rem);right:0;background:var(--bg-card);border:1px solid var(--border);border-radius:.75rem;padding:.4rem;min-width:140px;box-shadow:0 12px 30px var(--shadow);display:flex;flex-direction:column;gap:.15rem;z-index:100;visibility:hidden;opacity:0;transform:translateY(-6px);transition:opacity .15s ease,transform .15s ease,visibility .15s;pointer-events:none}.lang-menu{min-width:170px}.cat-menu{left:0;right:auto}.cat-dropdown.open .cat-menu,.lang-dropdown.open .lang-menu,.theme-dropdown.open .theme-menu{visibility:visible;opacity:1;transform:translateY(0);pointer-events:auto}.dropdown-option{background:transparent;border:none;color:var(--text-dim);padding:.45rem .75rem;border-radius:.4rem;cursor:pointer;font-size:.85rem;text-align:left;transition:all .15s;white-space:nowrap;text-decoration:none;display:block}.dropdown-option:hover{background:color-mix(in srgb,var(--accent) 10%,transparent);color:var(--accent)}.dropdown-option.active{color:var(--accent);background:color-mix(in srgb,var(--accent) 6%,transparent)}@keyframes fadeUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}main{flex:1;max-width:780px;width:100%;margin:0 auto;padding:3rem 1.5rem;animation:fadeUp .3s ease both}h1{font-family:var(--font-body);font-size:2rem;font-weight:700;margin-bottom:.5rem;letter-spacing:-.02em}h1+p{color:var(--text-dim);font-size:1.05rem;margin-bottom:2rem}h2{font-family:var(--font-body);font-size:1rem;font-weight:600;margin:2rem 0 1rem;color:var(--heading)}h3{font-family:var(--font-body);font-size:1.1rem;font-weight:600;margin:1.5rem 0 .75rem}a{color:var(--accent-blue);text-decoration:none;transition:color .15s ease}a:hover{color:var(--accent)}main>ul{list-style:none;display:flex;flex-direction:column;gap:.75rem}main>ul li{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:0;transition:transform .2s ease,border-color .2s ease,background .2s ease,box-shadow .2s ease}main>ul li:hover{border-color:var(--accent-dim);background:var(--bg-hover);transform:translateY(-2px);box-shadow:0 6px 20px var(--shadow)}main>ul li a.card-link{display:block;padding:1rem 1.25rem;color:inherit;text-decoration:none}main>ul li .card-title{font-family:var(--font-body);font-size:1.05rem;font-weight:600;color:var(--text);display:block}main>ul li a:hover .card-title{color:var(--accent)}main>ul li small{display:block;font-size:.75rem;color:var(--text-dim);margin-top:.2rem}main>ul li p{font-size:.875rem;color:var(--text-dim);margin-top:.4rem;line-height:1.5}.more-link{margin-top:1.5rem;text-align:center}.more-link a{font-family:var(--font-body);font-size:.9rem;font-weight:600;color:var(--accent-dim)}.more-link a:hover{color:var(--accent)}body>footer{border-top:1px solid var(--border);padding:1.5rem;text-align:center;font-family:var(--font-body)}body>footer .footer-author{font-size:.85rem;color:var(--text-dim)}body>footer .footer-author a{color:var(--accent-dim);font-weight:600;text-decoration:underline;text-decoration-color:var(--border);text-underline-offset:2px}body>footer .footer-author a:hover{color:var(--accent);text-decoration-color:var(--accent)}body>footer .footer-ai-note{font-size:.75rem;color:var(--text-dim);opacity:.8;margin-top:.4rem;max-width:560px;margin-left:auto;margin-right:auto;line-height:1.5}article header{margin-bottom:2rem;padding-bottom:1.5rem;border-bottom:1px solid var(--border)}article header h1{font-size:1.5rem;line-height:1.3;margin-bottom:.75rem}article header time{font-family:var(--font-body);font-size:.8rem;color:var(--text-dim)}article header p{font-size:1.05rem;color:var(--text-dim);margin-top:.75rem}article header ul{list-style:none;display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.75rem}article header ul li{background:none}article h2{margin-top:2.5rem}article p{margin-bottom:1rem;font-size:1rem}article ul,article ol{margin:0 0 1rem 1.5rem}article li{margin-bottom:.3rem}article code{font-family:var(--font);font-size:.875em;background:var(--bg-card);padding:.15em .4em;border-radius:4px;border:1px solid var(--border)}article pre{background:var(--code-bg);border:1px solid var(--border);border-left:3px solid var(--accent-dim);border-radius:var(--radius);padding:1rem;overflow-x:auto;-webkit-overflow-scrolling:touch;margin:1rem 0;line-height:1.5}article pre code{background:none;border:none;padding:0;font-size:.85rem;white-space:pre}article img{display:block;max-width:100%;height:auto;margin:1.5rem auto;border-radius:var(--radius);border:1px solid var(--border)}article blockquote{border-left:3px solid var(--accent);padding:.75rem 1rem;margin:1.25rem 0;color:var(--text-dim);font-style:italic;background:color-mix(in srgb,var(--accent) 5%,transparent);border-radius:0 var(--radius) var(--radius) 0}article hr{border:none;margin:2.5rem 0;text-align:center;color:var(--border);letter-spacing:.5em}article hr:after{content:"···"}article table{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch;border-collapse:collapse;margin:1rem 0;width:max-content;max-width:100%}article th,article td{padding:.5rem .75rem;border:1px solid var(--border);text-align:left;white-space:nowrap}article th{background:var(--bg-card);font-family:var(--font-body);font-size:.85rem}article td{font-size:.9rem}@media(max-width:640px){body>header{padding:.6rem 1rem}main{padding:2rem 1rem}h1{font-size:1.5rem}article header h1{font-size:1.6rem}article th,article td{padding:.4rem .6rem;font-size:.8rem}}.search-wrapper[data-astro-cid-otpdt6jm]{flex:0 1 200px;min-width:90px;position:relative}.search-form[data-astro-cid-otpdt6jm]{position:relative;display:flex;align-items:center}.search-icon[data-astro-cid-otpdt6jm]{position:absolute;left:.65rem;pointer-events:none;color:var(--text-dim);z-index:1}.search-input[data-astro-cid-otpdt6jm]{-webkit-appearance:none;appearance:none;box-sizing:border-box;width:100%;height:2rem;padding:0 .65rem 0 2rem;font-family:var(--font-body);font-size:.8rem;color:var(--text);background:var(--bg);border:1px solid var(--border);border-radius:100px;outline:none;transition:all .15s ease}.search-input[data-astro-cid-otpdt6jm]::placeholder{color:var(--text-dim)}.search-input[data-astro-cid-otpdt6jm]:focus{border-color:var(--accent);box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 25%,transparent);background:var(--bg-card)}.search-input[data-astro-cid-otpdt6jm]::-webkit-search-decoration,.search-input[data-astro-cid-otpdt6jm]::-webkit-search-cancel-button,.search-input[data-astro-cid-otpdt6jm]::-webkit-search-results-button,.search-input[data-astro-cid-otpdt6jm]::-webkit-search-results-decoration{-webkit-appearance:none}.search-results[data-astro-cid-otpdt6jm]{display:none;position:absolute;top:calc(100% + .4rem);left:0;right:0;background:var(--bg-card);border:1px solid var(--border);border-radius:.75rem;padding:.4rem;box-shadow:0 12px 30px var(--shadow);z-index:100}.search-results[data-astro-cid-otpdt6jm].open{display:flex;flex-direction:column;gap:.15rem}.sr-item[data-astro-cid-otpdt6jm]{display:block;padding:.5rem .75rem;border-radius:.4rem;text-decoration:none;transition:background .15s}.sr-item[data-astro-cid-otpdt6jm]:hover{background:color-mix(in srgb,var(--accent) 10%,transparent)}.sr-title[data-astro-cid-otpdt6jm]{display:block;font-size:.85rem;font-weight:600;color:var(--text);line-height:1.3}.sr-excerpt[data-astro-cid-otpdt6jm]{display:block;font-size:.75rem;color:var(--text-dim);margin-top:.15rem;line-height:1.4;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sr-empty[data-astro-cid-otpdt6jm]{padding:.75rem;font-size:.8rem;color:var(--text-dim);text-align:center}@media(max-width:480px){.search-wrapper[data-astro-cid-otpdt6jm]{order:10;flex:1 1 100%;margin:.5rem 0 0}}
