.progress-bar[data-v-e0ec36c0]{background:var(--color-blue,#2563eb);transform-origin:0;height:2px;transform:var(--v27366b6d);z-index:55;transition:transform .15s linear;position:fixed;top:68px;left:0;right:0}@media (width<=780px){.progress-bar[data-v-e0ec36c0]{top:60px}}.article[data-v-73695a0b]{max-width:720px;margin:0 auto;padding:56px 32px 0}@media (width<=780px){.article[data-v-73695a0b]{padding:40px 24px 0}}.crumbs[data-v-73695a0b]{font-family:var(--font-mono,monospace);color:var(--color-muted,#64748b);flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:32px;font-size:12px;display:flex}.crumbs a[data-v-73695a0b]{color:var(--color-blue,#2563eb);text-decoration:none}.crumbs a[data-v-73695a0b]:hover{text-decoration:underline}.post-meta[data-v-73695a0b]{font-family:var(--font-mono,monospace);color:var(--color-muted,#64748b);text-transform:uppercase;letter-spacing:.06em;flex-wrap:wrap;align-items:center;gap:14px;margin-bottom:18px;font-size:11px;display:flex}.post-meta .tag[data-v-73695a0b]{color:var(--color-blue,#2563eb);background:var(--color-blue-soft,#eff4ff);border-radius:5px;padding:3px 8px}.post-meta .sep[data-v-73695a0b]{color:var(--color-line,#e2e8f0)}.title[data-v-73695a0b]{letter-spacing:-.025em;max-width:22ch;font-size:clamp(34px,4.5vw,52px);font-weight:700;line-height:1.1}.post-tag-line[data-v-73695a0b]{color:var(--color-ink-2,#334155);max-width:60ch;margin-top:18px;font-size:17px;line-height:1.55}.author[data-v-73695a0b]{border-top:1px solid var(--color-line,#e2e8f0);border-bottom:1px solid var(--color-line,#e2e8f0);align-items:center;gap:14px;margin:32px 0 0;padding:24px 0;display:flex}.author-av[data-v-73695a0b]{border-radius:10px;flex-shrink:0;width:42px;height:42px;overflow:hidden;box-shadow:0 6px 16px -8px #0f172a4d}.author-av svg[data-v-73695a0b]{width:100%;height:100%;display:block}.author-meta[data-v-73695a0b]{font-family:var(--font-mono,monospace);flex-direction:column;gap:2px;font-size:12px;display:flex}.author-meta .name[data-v-73695a0b]{color:var(--color-ink,#0f172a);font-size:13px;font-weight:500}.author-meta .role[data-v-73695a0b]{color:var(--color-muted,#64748b)}.body[data-v-73695a0b]{color:var(--color-ink-2,#334155);margin-top:48px;font-family:"Source Serif 4",Source Serif Pro,Georgia,serif;font-size:19px;line-height:1.75}.body[data-v-73695a0b]>*+*{margin-top:24px}.body[data-v-73695a0b] p strong{color:var(--color-ink,#0f172a);font-weight:600}.body[data-v-73695a0b] p em{color:var(--color-ink,#0f172a);font-style:italic}.body[data-v-73695a0b] p code,.body[data-v-73695a0b] li code{font-family:var(--font-mono,"JetBrains Mono", monospace);color:var(--color-blue,#2563eb);background:var(--color-blue-soft,#eff4ff);border-radius:4px;padding:1px 6px;font-size:.85em}.body[data-v-73695a0b] h2{font-family:var(--font-sans,system-ui, sans-serif);letter-spacing:-.02em;color:var(--color-ink,#0f172a);margin-top:56px;margin-bottom:6px;scroll-margin-top:90px;font-size:28px;font-weight:600;line-height:1.15}.body[data-v-73695a0b] h3{font-family:var(--font-sans,system-ui, sans-serif);letter-spacing:-.01em;color:var(--color-ink,#0f172a);margin-top:32px;font-size:20px;font-weight:600;line-height:1.2}.body[data-v-73695a0b] ul,.body[data-v-73695a0b] ol{flex-direction:column;gap:12px;padding-left:0;list-style:none;display:flex}.body[data-v-73695a0b] ul li,.body[data-v-73695a0b] ol li{padding-left:28px;position:relative}.body[data-v-73695a0b] ul li:before{content:"";background:var(--color-blue,#2563eb);border-radius:2px;width:14px;height:2px;position:absolute;top:14px;left:0}.body[data-v-73695a0b] ol{counter-reset:olnum}.body[data-v-73695a0b] ol li{counter-increment:olnum}.body[data-v-73695a0b] ol li:before{content:counter(olnum) ".";color:var(--color-blue,#2563eb);font-family:var(--font-mono,monospace);font-size:14px;font-weight:500;position:absolute;top:6px;left:0}.body[data-v-73695a0b] blockquote{border-left:3px solid var(--color-blue,#2563eb);background:var(--color-bg-2,#f8fafc);color:var(--color-ink,#0f172a);border-radius:0 8px 8px 0;margin:32px 0;padding:18px 24px;font-family:"Source Serif 4",Georgia,serif;font-size:18px;font-style:italic}.body[data-v-73695a0b] pre{background:var(--color-bg-2,#f8fafc);border:1px solid var(--color-line,#e2e8f0);font-family:var(--font-mono,monospace);color:var(--color-ink,#0f172a);border-radius:10px;padding:18px 22px;font-size:13px;line-height:1.65;overflow-x:auto}.body[data-v-73695a0b] pre code{color:inherit;font-size:inherit;background:0 0;padding:0}.body[data-v-73695a0b] hr{background:var(--color-line,#e2e8f0);border:none;max-width:60%;height:1px;margin:48px auto}.body[data-v-73695a0b] a{color:var(--color-blue,#2563eb);border-bottom:1px solid var(--color-blue-soft-2,#dbeafe);text-decoration:none;transition:border-color .2s}.body[data-v-73695a0b] a:hover{border-color:var(--color-blue,#2563eb)}.body[data-v-73695a0b] .pull{font-family:var(--font-sans,system-ui, sans-serif);letter-spacing:-.015em;color:var(--color-ink,#0f172a);text-align:center;border-top:1px solid var(--color-line,#e2e8f0);border-bottom:1px solid var(--color-line,#e2e8f0);margin:32px 0;padding:32px 0;font-size:24px;font-weight:500;line-height:1.3}.body[data-v-73695a0b] .pull em{color:var(--color-blue,#2563eb);font-style:italic;font-weight:400}.end-marker[data-v-73695a0b]{text-align:center;font-family:var(--font-mono,monospace);color:var(--color-muted,#64748b);letter-spacing:.3em;margin:48px 0;font-size:14px}.subscribe[data-v-73695a0b]{color:#fff;background:linear-gradient(135deg, var(--color-blue,#2563eb), #1e3a8a);border-radius:18px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:24px;margin:48px 0 0;padding:36px;display:flex;position:relative;overflow:hidden}.subscribe[data-v-73695a0b]:before{content:"";pointer-events:none;background-image:repeating-linear-gradient(45deg,#0000 0 18px,#ffffff0d 18px 19px);position:absolute;inset:0}.subscribe h3[data-v-73695a0b]{letter-spacing:-.015em;max-width:24ch;font-size:22px;font-weight:600;line-height:1.2;position:relative}.subscribe p[data-v-73695a0b]{color:#ffffffd9;max-width:42ch;margin-top:6px;font-size:14px;line-height:1.55;position:relative}.subscribe a[data-v-73695a0b]{color:#1e3a8a;white-space:nowrap;background:#fff;border-radius:11px;align-items:center;gap:10px;padding:14px 22px;font-size:14px;font-weight:600;text-decoration:none;transition:transform .2s;display:inline-flex;position:relative}.subscribe a[data-v-73695a0b]:hover{transform:translateY(-2px)}.subscribe a[data-v-73695a0b]:focus-visible{outline-offset:2px;outline:2px solid #fff}.article-nav[data-v-73695a0b]{grid-template-columns:1fr 1fr;gap:14px;margin:32px 0 0;display:grid}@media (width<=680px){.article-nav[data-v-73695a0b]{grid-template-columns:1fr}}.nav-card[data-v-73695a0b]{border:1px solid var(--color-line,#e2e8f0);color:inherit;border-radius:14px;flex-direction:column;gap:6px;padding:20px;text-decoration:none;transition:all .2s;display:flex}.nav-card[data-v-73695a0b]:hover{border-color:var(--color-blue,#2563eb);transform:translateY(-2px)}.nav-card[data-v-73695a0b]:focus-visible{outline:2px solid var(--color-blue,#2563eb);outline-offset:2px}.nav-card.next[data-v-73695a0b]{text-align:right;align-items:flex-end}.nav-card.placeholder[data-v-73695a0b]{pointer-events:none;border:none}.nav-card .k[data-v-73695a0b]{font-family:var(--font-mono,monospace);color:var(--color-muted,#64748b);text-transform:uppercase;letter-spacing:.06em;font-size:11px}.nav-card .v[data-v-73695a0b]{letter-spacing:-.01em;color:var(--color-ink,#0f172a);font-size:17px;font-weight:600}.article-footer[data-v-73695a0b]{font-family:var(--font-mono,monospace);color:var(--color-muted,#64748b);border-top:1px solid var(--color-line,#e2e8f0);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-top:80px;padding:40px 32px;font-size:12px;display:flex}.article-footer a[data-v-73695a0b]{color:var(--color-ink-2,#334155);text-decoration:none}.article-footer a[data-v-73695a0b]:hover{color:var(--color-blue,#2563eb)}@media (width<=780px){.article-footer[data-v-73695a0b]{padding:24px}}.reading-page[data-v-73695a0b]{width:min(1160px,100% - 48px);max-width:none;padding:68px 0 0}.reading-hero[data-v-73695a0b]{max-width:820px;margin-inline:auto}.reading-hero .crumbs[data-v-73695a0b]{margin-bottom:34px}.reading-hero .title[data-v-73695a0b]{max-width:15ch;color:var(--stitch-ink);font-family:var(--font-sans);letter-spacing:-.06em;font-size:clamp(42px,5.4vw,68px);font-weight:800;line-height:1.03}.reading-hero .post-tag-line[data-v-73695a0b]{max-width:64ch;color:var(--stitch-copy);font-family:var(--font-body);font-size:17px;line-height:1.7}.reading-hero .author[data-v-73695a0b]{border-color:var(--stitch-line);margin-top:36px}.reading-layout[data-v-73695a0b]{grid-template-columns:176px minmax(0,720px);gap:46px;max-width:942px;margin:62px auto 0;display:grid}.reading-toc[data-v-73695a0b]{border-top:2px solid var(--stitch-navy);align-self:start;padding-top:12px;position:sticky;top:104px}.reading-toc>span[data-v-73695a0b]{color:var(--stitch-muted);font-family:var(--font-sans);letter-spacing:.12em;font-size:10px;font-weight:800}.reading-toc ol[data-v-73695a0b]{color:var(--stitch-copy);flex-direction:column;gap:13px;margin:18px 0 0;padding:0;font-size:12px;line-height:1.45;list-style:inside decimal-leading-zero;display:flex}.reading-toc li[data-v-73695a0b]::marker{color:var(--blue);font-size:10px;font-weight:800}.reading-main .body[data-v-73695a0b]{margin-top:0}.reading-main .article-nav[data-v-73695a0b]{margin-top:62px}@media (width<=760px){.reading-page[data-v-73695a0b]{width:min(100% - 40px,1160px);padding-top:42px}.reading-hero .crumbs[data-v-73695a0b]{margin-bottom:28px}.reading-layout[data-v-73695a0b]{grid-template-columns:1fr;gap:28px;margin-top:46px}.reading-toc[data-v-73695a0b]{position:static}.reading-toc ol[data-v-73695a0b]{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 18px;display:grid}}
