.post:where(.astro-4sn4zg3r){padding:56px 0 96px}.back:where(.astro-4sn4zg3r){color:var(--text-muted);font-size:13px;margin-bottom:24px;display:inline-block}.head:where(.astro-4sn4zg3r){max-width:760px;margin-bottom:40px}.meta:where(.astro-4sn4zg3r){color:var(--text-dim);font-size:13px;display:flex;align-items:center;gap:12px;margin-bottom:12px}.tags:where(.astro-4sn4zg3r){display:inline-flex;gap:6px}.tag:where(.astro-4sn4zg3r){background:#16a34a1f;color:var(--accent);font-size:11px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;padding:2px 8px;border-radius:999px}.byline:where(.astro-4sn4zg3r){color:var(--text-dim);font-size:13px;margin-top:12px}.cover-hero:where(.astro-4sn4zg3r){--s: 1.7;position:relative;height:clamp(200px,30vw,380px);border-radius:24px;overflow:hidden;border:1px solid var(--border);margin:0 0 48px}.layout:where(.astro-4sn4zg3r){display:grid;grid-template-columns:minmax(0,720px) 240px;column-gap:clamp(48px,7vw,112px);align-items:start}.main:where(.astro-4sn4zg3r){min-width:0}.aside:where(.astro-4sn4zg3r){align-self:stretch}.toc:where(.astro-4sn4zg3r){position:sticky;top:96px;display:flex;flex-direction:column;gap:2px;max-height:calc(100vh - 120px);overflow:auto;font-size:14px}.toc-title:where(.astro-4sn4zg3r){font-family:var(--font-mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--text-dim);margin:0 0 8px 10px}.toc:where(.astro-4sn4zg3r) a:where(.astro-4sn4zg3r){padding:6px 10px;border-radius:8px;color:var(--text-muted);line-height:1.35;text-decoration:none}.toc:where(.astro-4sn4zg3r) a:where(.astro-4sn4zg3r):hover{color:var(--text)}.toc:where(.astro-4sn4zg3r) a:where(.astro-4sn4zg3r)[aria-current]{background:var(--mint);color:var(--forest);font-weight:600}@media(max-width:1100px){.cover-hero:where(.astro-4sn4zg3r){--s: 1.35}.layout:where(.astro-4sn4zg3r){grid-template-columns:minmax(0,720px)}.aside:where(.astro-4sn4zg3r){display:none}}.body:where(.astro-4sn4zg3r){max-width:720px;color:var(--text);font-size:16px;line-height:1.7}.body:where(.astro-4sn4zg3r) h2{margin-top:36px;margin-bottom:12px;font-size:24px;letter-spacing:0;scroll-margin-top:96px}.body:where(.astro-4sn4zg3r) h3{margin-top:28px;margin-bottom:8px;font-size:18px}.body:where(.astro-4sn4zg3r) p{margin:0 0 16px}.body:where(.astro-4sn4zg3r) ul,.body:where(.astro-4sn4zg3r) ol{padding-left:22px;margin:0 0 16px}.body:where(.astro-4sn4zg3r) li{margin-bottom:6px}.body:where(.astro-4sn4zg3r) a{color:var(--accent);text-decoration:underline;text-underline-offset:3px}.body:where(.astro-4sn4zg3r) code{background:var(--bg-elev);border:1px solid var(--border);padding:1px 6px;border-radius:4px;font-size:13px}.body:where(.astro-4sn4zg3r) pre{background:#0f172a;border:1px solid #1e293b;border-radius:10px;padding:18px 20px;overflow-x:auto;font-size:13px;line-height:1.6;color:#d6deeb}.body:where(.astro-4sn4zg3r) pre code{background:transparent;border:0;padding:0;color:inherit}.body:where(.astro-4sn4zg3r) pre code span{color:var(--0, currentColor)}.body:where(.astro-4sn4zg3r) figure{margin:28px 0 32px}.body:where(.astro-4sn4zg3r) figure.narrow{max-width:300px;margin-left:auto;margin-right:auto}.body:where(.astro-4sn4zg3r) figure img,.body:where(.astro-4sn4zg3r) p>img{display:block;width:100%;height:auto;border:1px solid var(--border);border-radius:12px;box-shadow:0 12px 32px #0a1a1214}.body:where(.astro-4sn4zg3r) figure.narrow img{border-radius:22px}.body:where(.astro-4sn4zg3r) figcaption{margin-top:10px;color:var(--text-dim);font-size:13px;line-height:1.5;text-align:center}.body:where(.astro-4sn4zg3r) p.note{background:var(--bg-elev);border:1px solid var(--border);border-radius:10px;padding:12px 16px;color:var(--text-muted);font-size:14px}.body:where(.astro-4sn4zg3r) table{width:100%;border-collapse:collapse;margin:8px 0 24px;font-size:14px;line-height:1.5}.body:where(.astro-4sn4zg3r) th,.body:where(.astro-4sn4zg3r) td{padding:10px 12px;border-bottom:1px solid var(--border);text-align:left;vertical-align:top}.body:where(.astro-4sn4zg3r) thead th{border-bottom:2px solid var(--text);font-weight:600}.body:where(.astro-4sn4zg3r) th[align=right],.body:where(.astro-4sn4zg3r) td[align=right]{text-align:right}.body:where(.astro-4sn4zg3r) blockquote{border-left:3px solid var(--accent);padding-left:16px;margin:0 0 16px;color:var(--text-muted);font-style:italic}.updated:where(.astro-4sn4zg3r){color:var(--text-dim);font-size:13px;margin-top:32px;padding-top:16px;border-top:1px solid var(--border);max-width:720px}@media(max-width:600px){.cover-hero:where(.astro-4sn4zg3r){--s: .95;border-radius:18px;margin-bottom:32px}.post:where(.astro-4sn4zg3r){padding:32px 0 56px}.head:where(.astro-4sn4zg3r){margin-bottom:28px}.body:where(.astro-4sn4zg3r){font-size:15px}.body:where(.astro-4sn4zg3r) h2{font-size:21px;margin-top:28px}.body:where(.astro-4sn4zg3r) table{font-size:13px}.body:where(.astro-4sn4zg3r) th,.body:where(.astro-4sn4zg3r) td{padding:8px 6px}}
