.post-page.svelte-1dulal3{padding:7rem var(--spacing-container) var(--spacing-section)}.post-page__inner.svelte-1dulal3{max-width:1100px;margin:0 auto}.post-cover-wrap.svelte-1dulal3{overflow:hidden;border-radius:var(--radius-lg);border:1px solid var(--border);height:clamp(275px,62.5vh,650px);margin-bottom:0}.post-cover__placeholder.svelte-1dulal3{width:100%;height:100%;background:var(--surface-raised)}.post-cover-wrap.svelte-1dulal3 img:where(.svelte-1dulal3){width:100%;height:100%;object-fit:cover;display:block}.post-header.svelte-1dulal3{padding-top:3rem;margin-bottom:4rem}.back-link.svelte-1dulal3{font-size:var(--text-sm);color:var(--text-muted);display:inline-block;margin-bottom:2rem;transition:color .2s}.back-link.svelte-1dulal3:hover{color:var(--accent)}.post__tags.svelte-1dulal3{display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:1.5rem}.post__tag.svelte-1dulal3{font-size:var(--text-xs);letter-spacing:.06em;text-transform:uppercase;padding:.2rem .65rem;border:1px solid var(--accent);border-radius:var(--radius-full);color:var(--accent)}.post__title.svelte-1dulal3{font-size:var(--text-3xl);font-weight:600;letter-spacing:-.03em;line-height:1.1;margin-bottom:1rem}.post__desc.svelte-1dulal3{font-size:var(--text-lg);color:var(--text-muted);max-width:640px;line-height:1.7;margin-bottom:1.25rem}.post__meta.svelte-1dulal3{display:flex;align-items:center;gap:.625rem;font-size:var(--text-sm);color:var(--text-muted)}.post__meta-item.svelte-1dulal3{display:flex;align-items:center;gap:.375rem}.post__meta-sep.svelte-1dulal3{opacity:.4}.post-body.svelte-1dulal3{display:grid;grid-template-columns:1fr 2fr;gap:4rem;align-items:start}.prose-article.svelte-1dulal3:only-child{grid-column:1 / -1}@media(max-width:900px){.post-body.svelte-1dulal3{grid-template-columns:1fr}.toc-card.svelte-1dulal3{display:none}}.toc-card.svelte-1dulal3{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:1.5rem;position:sticky;top:9rem;max-height:calc(100vh - 10.5rem);overflow-y:auto;scrollbar-width:none}.toc-card.svelte-1dulal3::-webkit-scrollbar{display:none}.toc__label.svelte-1dulal3{font-size:var(--text-xs);letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted);font-weight:600;margin-bottom:1rem}.toc__list.svelte-1dulal3{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.125rem}.toc__item--h3.svelte-1dulal3{padding-left:.75rem}.toc__link.svelte-1dulal3{display:block;font-size:var(--text-sm);line-height:1.5;color:var(--text-muted);padding:.25rem 0;text-decoration:underline;text-decoration-color:transparent;text-underline-offset:2px;text-decoration-thickness:1px;transition:text-decoration-color .3s var(--ease-out-expo),color .2s}.toc__link.svelte-1dulal3:hover{color:var(--text);text-decoration-color:var(--accent)}.toc__item--active.svelte-1dulal3 .toc__link:where(.svelte-1dulal3){color:var(--accent);text-decoration-color:var(--accent)}.prose{font-size:1.0625rem;line-height:1.85;color:var(--text)}.prose h2{font-size:var(--text-2xl);font-weight:600;letter-spacing:-.02em;margin:3rem 0 1rem;scroll-margin-top:5rem;padding-bottom:.5rem;border-bottom:1px solid var(--border)}.prose h3{font-size:var(--text-xl);font-weight:600;margin:2.5rem 0 .75rem;scroll-margin-top:5rem;padding-left:.875rem;border-left:3px solid var(--accent)}.prose h4{font-size:var(--text-lg);font-weight:600;margin:2rem 0 .5rem;scroll-margin-top:5rem}.prose h2 a,.prose h3 a,.prose h4 a{color:inherit;text-decoration:none}.prose h2 a:after,.prose h3 a:after,.prose h4 a:after{content:" #";opacity:0;color:var(--accent);font-weight:400;font-size:.8em;transition:opacity .15s ease}.prose h2:hover a:after,.prose h3:hover a:after,.prose h4:hover a:after{opacity:1}.prose p{margin-bottom:1.75rem}.prose a{color:var(--accent);text-decoration:underline;text-underline-offset:3px}.prose strong{font-weight:700;color:var(--accent)}.prose em{font-style:italic;color:var(--accent)}.prose code{font-family:var(--font-mono);font-size:.875em;background:var(--surface-raised);color:var(--accent);padding:.15em .4em;border-radius:var(--radius-sm);border:1px solid var(--border)}.prose .shiki{background:#22272e!important;border-radius:var(--radius-md);border:1px solid rgba(255,255,255,.08);margin:2rem 0;overflow:hidden}.prose .shiki pre{padding:1.25rem 1.5rem;overflow-x:auto;background:transparent!important;margin:0}.prose .shiki code{font-family:var(--font-mono);font-size:.85em;background:none;border:none;padding:0;color:inherit}.prose blockquote{border-left:3px solid var(--accent);background:var(--surface);padding:1rem 1.5rem;margin:2rem 0;border-radius:0 var(--radius-sm) var(--radius-sm) 0;color:var(--text);font-style:normal}.prose ul,.prose ol{padding-left:1.5rem;margin-bottom:1.5rem}.prose li{margin-bottom:.5rem}.prose li>ul,.prose li>ol{margin-top:.25rem;margin-bottom:.25rem}.prose hr{border:none;height:1px;background:var(--border);margin:3rem 0}.prose table{display:block;width:max-content;max-width:100%;overflow-x:auto;margin:2rem 0;border-collapse:collapse;font-size:var(--text-sm);border:1px solid var(--border);border-radius:var(--radius-md)}.prose thead{border-bottom:2px solid var(--accent)}.prose th{text-align:left;padding:.75rem 1rem;font-weight:600;color:var(--text);white-space:nowrap}.prose td{padding:.65rem 1rem;vertical-align:top;border-bottom:1px solid var(--border)}.prose tbody tr:last-child td{border-bottom:none}.prose tbody tr:nth-child(2n){background:var(--surface)}.prose img{display:block;max-width:100%;height:auto;margin:2rem auto;border-radius:var(--radius-md);border:1px solid var(--border)}.prose h2[id^=the-frame]~p img{max-width:70%;max-height:70vh}.prose img+em{display:block;text-align:center;font-size:var(--text-sm);color:var(--text-muted);margin-top:-1.25rem;margin-bottom:2rem}.prose .callout{margin:2rem 0;border-radius:var(--radius-md);border:1px solid var(--border);overflow:hidden}.prose .callout__title{padding:.6rem 1rem;font-size:var(--text-sm);font-weight:600;letter-spacing:.02em;background:var(--surface);border-bottom:1px solid var(--border)}.prose .callout__body{padding:1rem 1.25rem}.prose .callout__body>*:last-child{margin-bottom:0}.prose .callout--note{border-left:3px solid #6cb6ff}.prose .callout--tip{border-left:3px solid #57ab5a}.prose .callout--warning{border-left:3px solid #e3b341}.prose .callout--danger{border-left:3px solid #f47067}.prose .callout--important{border-left:3px solid var(--accent)}
