.icon[data-astro-cid-5k5hwzfm]{flex:none;display:block}.header[data-astro-cid-fzpbxy5g]{z-index:50;border-bottom:2px solid #0000;transition:background .25s,border-color .25s;position:fixed;inset:0 0 auto}.header[data-astro-cid-fzpbxy5g].is-scrolled{background:var(--bg);border-bottom-color:var(--border)}.header__inner[data-astro-cid-fzpbxy5g]{height:var(--header-h);align-items:center;gap:20px;display:flex}.brand[data-astro-cid-fzpbxy5g]{color:var(--fg);align-items:center;gap:10px;font-weight:600;display:flex}.brand__avatar[data-astro-cid-fzpbxy5g]{object-fit:cover;border-radius:0;width:30px;height:30px}.header__cta[data-astro-cid-fzpbxy5g]{border:2px solid var(--border);background:var(--surface);height:36px;color:var(--fg);border-radius:0;align-items:center;gap:8px;margin-left:auto;padding:0 14px;font-size:.9rem;transition:border-color .2s,background .2s;display:inline-flex}.header__cta[data-astro-cid-fzpbxy5g]:hover{border-color:var(--cyan);background:var(--bg-soft);color:var(--fg)}.nav[data-astro-cid-fzpbxy5g]{gap:4px;display:flex}.nav__link[data-astro-cid-fzpbxy5g]{color:var(--muted);border-radius:0;padding:6px 12px;font-size:.92rem;transition:color .2s,background .2s;position:relative}.nav__link[data-astro-cid-fzpbxy5g]:hover{color:var(--fg);background:var(--surface)}.nav__link[data-astro-cid-fzpbxy5g][aria-current]{color:var(--fg)}.nav__link[data-astro-cid-fzpbxy5g][aria-current]:after{content:"";background:var(--cyan);border-radius:0;height:2px;position:absolute;bottom:1px;left:12px;right:12px}.header__toggle[data-astro-cid-fzpbxy5g]{border:2px solid var(--border);background:var(--surface);cursor:pointer;border-radius:0;padding:7px;display:none}@media (width<=860px){.header__toggle[data-astro-cid-fzpbxy5g]{margin-left:auto;display:block}.header__cta[data-astro-cid-fzpbxy5g]{order:3;margin-left:0}.nav[data-astro-cid-fzpbxy5g]{top:var(--header-h);background:var(--bg);border-bottom:2px solid var(--border);flex-direction:column;gap:2px;padding:12px 18px 18px;display:none;position:absolute;left:0;right:0}.nav[data-astro-cid-fzpbxy5g].is-open{display:flex}.nav__link[data-astro-cid-fzpbxy5g]{text-align:left;padding:10px 12px;font-size:1rem}.nav__link[data-astro-cid-fzpbxy5g][aria-current]:after{width:16px;bottom:8px;left:12px;right:auto}}:root{color-scheme:dark;--bg:#0b0d12;--bg-soft:#12151d;--surface:#12151d;--border:#2c313c;--fg:#e7e9ee;--muted:#9aa1b1;--cyan:#22d3ee;--pink:#f472b6;--lime:#a3e635;--indigo:#818cf8;--accent:#22d3ee;--accent-2:#f472b6;--ink:#0b0d12;--warn:#fcd34d;--ok:#6ee7b7;--radius:0px;--line:2px;--maxw:1080px;--header-h:68px;--font-sans:"PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-mono:ui-monospace, SFMono-Regular, "JetBrains Mono", Menlo, monospace}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:calc(var(--header-h) + 16px)}body{background:var(--bg);min-height:100vh;color:var(--fg);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0;font-size:16px;line-height:1.7}img{max-width:100%;display:block}a{color:var(--accent);text-decoration:none;transition:color .2s}a:hover{color:var(--cyan)}button{font:inherit;color:inherit}h1,h2,h3,h4,h5,h6{letter-spacing:-.01em;margin:0;line-height:1.3}p{margin:0}::selection{background:var(--cyan);color:var(--ink)}:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.sr-only{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.container{width:100%;max-width:var(--maxw);margin:0 auto;padding:0 24px}.section{scroll-margin-top:calc(var(--header-h) + 16px);padding:88px 0}.section__head{margin-bottom:40px}.section__title{align-items:center;gap:14px;font-size:1.75rem;display:flex}.section__title:after{content:"";background:var(--cyan);flex:1;height:1px}.section__desc{color:var(--muted);margin-top:12px}.card{background:var(--surface);border:2px solid var(--border);border-radius:0;transition:transform .25s,border-color .25s,background .25s}.btn{border:2px solid var(--border);background:var(--surface);height:44px;color:var(--fg);cursor:pointer;border-radius:0;align-items:center;gap:9px;padding:0 22px;font-weight:500;transition:transform .2s,border-color .2s,background .2s;display:inline-flex}.btn:hover{border-color:var(--cyan);background:var(--bg-soft);color:var(--fg);transform:translateY(-2px)}.btn--primary{border-color:var(--cyan);background:var(--cyan);color:var(--ink);font-weight:600}.btn--primary:hover{background:var(--lime);border-color:var(--lime);color:var(--ink)}code{font-family:var(--font-mono);background:var(--bg-soft);border:1px solid var(--border);color:var(--fg);border-radius:0;padding:2px 6px;font-size:.86em}.reveal{opacity:0;transition:opacity .72s cubic-bezier(.16,1,.3,1),transform .86s cubic-bezier(.16,1,.3,1);transform:translateY(26px)}.reveal:not(.is-visible){will-change:opacity, transform}.reveal.is-visible{opacity:1;transform:none}.prose{color:var(--fg);font-size:1.05rem}.prose>*+*{margin-top:1.15em}.prose h2{border-bottom:1px solid var(--border);margin-top:2em;padding-bottom:.4em;font-size:1.6rem}.prose h3{margin-top:1.7em;font-size:1.28rem}.prose h4{margin-top:1.5em;font-size:1.1rem}.prose p,.prose li{color:var(--muted)}.prose strong,.prose b{color:var(--fg);font-weight:600}.prose ul,.prose ol{gap:.4em;padding-left:1.4em;display:grid}.prose li::marker{color:var(--accent)}.prose img{border:2px solid var(--border);border-radius:0}.post__video{border:2px solid var(--border);background:var(--bg-soft);width:100%;height:auto;margin:20px 0;display:block}.prose pre{border:2px solid var(--border);background:var(--bg-soft);border-radius:0;margin:0;padding:20px 22px;line-height:1.7;overflow-x:auto}.prose pre>code{all:unset;font-family:var(--font-mono);color:var(--muted);font-size:.86rem}.prose blockquote{border-left:4px solid var(--cyan);background:var(--surface);color:var(--muted);border-radius:0;margin:0;padding:14px 22px}.prose hr{border:0;border-top:1px solid var(--border);margin:2.5em 0}.prose table{border-collapse:collapse;border:2px solid var(--border);border-radius:0;width:100%;font-size:.92rem;overflow:hidden}.prose th,.prose td{text-align:left;border-bottom:1px solid var(--border);color:var(--muted);padding:10px 16px}.prose th{background:var(--bg-soft);color:var(--fg);font-weight:600}.prose tbody tr:last-child td{border-bottom:none}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;will-change:auto;transition:none;transform:none}}@media (width<=640px){.container{padding:0 18px}.section{padding:60px 0}}
