.blog-header-wrapper.svelte-16jdbpl{background-color:var(--color-background-secondary-1);width:100vw;margin-left:calc(-50vw + 50%);padding:var(--space-l) 0;overflow-x:hidden}.blog-header.svelte-16jdbpl{max-width:1400px;margin:0 auto;padding:0 var(--space-l)}.header-content.svelte-16jdbpl{display:grid;grid-template-columns:300px 1fr;gap:var(--space-m);align-items:start;margin-top:var(--space-s)}.post-image.svelte-16jdbpl{aspect-ratio:16/9;overflow:hidden;border-radius:var(--radius-m)}.post-image.svelte-16jdbpl img:where(.svelte-16jdbpl){width:100%;height:100%;object-fit:cover}.blog-post.svelte-16jdbpl{max-width:1200px;margin:0 auto;padding:var(--space-l)}.post-layout.svelte-16jdbpl{display:grid;grid-template-columns:1fr 250px;gap:var(--space-xl);align-items:start}.post-content.svelte-16jdbpl{max-width:800px;line-height:1.7;margin-bottom:var(--space-xl)}.post-sidebar.svelte-16jdbpl{position:sticky;top:6rem;height:fit-content}.sidebar-tags.svelte-16jdbpl{padding:var(--space-m)}.sidebar-toc.svelte-16jdbpl{padding:var(--space-m);border-bottom:1px solid var(--color-background-secondary-2);margin-bottom:var(--space-m)}.toc-nav.svelte-16jdbpl{display:flex;flex-direction:column;gap:var(--space-2xs)}.toc-link.svelte-16jdbpl{color:var(--color-text-secondary);text-decoration:none;font-size:var(--step--1);line-height:1.4;padding:var(--space-3xs) 0;border-left:2px solid transparent;padding-left:var(--space-2xs);transition:all .2s ease}.toc-link.svelte-16jdbpl:hover{color:var(--color-background-secondary-2-dark);border-left-color:var(--color-background-secondary-2-dark)}.toc-link.active.svelte-16jdbpl{color:var(--color-text-secondary);border-left-color:var(--color-background-secondary-2-dark);font-weight:600}.sidebar-title.svelte-16jdbpl{margin:0 0 var(--space-s) 0;font-size:var(--step--1);font-weight:600;color:var(--color-text);text-transform:uppercase;letter-spacing:.05em}.post-meta.svelte-16jdbpl{display:flex;align-items:center;gap:var(--space-s);margin-bottom:var(--space-m);font-size:var(--step--1);color:var(--color-text-secondary)}.blog-title.svelte-16jdbpl{font-family:var(--font-family-heading);font-size:var(--step-0);font-weight:700;letter-spacing:.1em;text-decoration:none;color:var(--color-text);transition:color .2s ease}.blog-title.svelte-16jdbpl:hover{color:var(--color-background-secondary-2-dark)}.category-tag.svelte-16jdbpl{background-color:var(--color-background-secondary-2-dark);color:var(--color-background);padding:var(--space-3xs) var(--space-2xs);border-radius:var(--radius-s);text-decoration:none;font-weight:600;font-size:var(--step--2)}.main-title.svelte-16jdbpl{margin:0 0 var(--space-2xs) 0;font-size:var(--step-3);line-height:1.2;word-break:break-word;-webkit-hyphens:auto;hyphens:auto}.excerpt.svelte-16jdbpl{font-size:var(--step-0);color:var(--color-text-secondary);line-height:1.6;margin-bottom:var(--space-m);margin-top:0}.post-actions.svelte-16jdbpl{display:flex;justify-content:space-between;align-items:center}.authors.svelte-16jdbpl{display:flex;flex-direction:column;gap:var(--space-2xs)}.author-line.svelte-16jdbpl{display:flex;align-items:center;gap:var(--space-2xs);flex-wrap:wrap}.author-bio.svelte-16jdbpl{opacity:.8;line-height:1.4;max-width:50ch;font-size:var(--step--1);color:var(--color-text-secondary)}.author-bio.svelte-16jdbpl p:where(.svelte-16jdbpl){margin:0;margin-bottom:var(--space-3xs)}.author-bio.svelte-16jdbpl p:where(.svelte-16jdbpl):last-child{margin-bottom:0}.image-section.svelte-16jdbpl{display:flex;flex-direction:column;gap:var(--space-s)}.share-icons.svelte-16jdbpl{display:flex;gap:var(--space-2xs);justify-content:center}.share-icon-button.svelte-16jdbpl{background:none;border:1px solid var(--color-background-secondary-2);border-radius:var(--radius-s);padding:var(--space-2xs);cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;position:relative}.share-icon-button.svelte-16jdbpl:hover{background-color:var(--color-background-secondary-2);border-color:var(--color-background-secondary-2-dark)}.social-icon.svelte-16jdbpl{width:1rem;height:1rem;filter:var(--icon-filter)}.post-content.svelte-16jdbpl h1,.post-content.svelte-16jdbpl h2,.post-content.svelte-16jdbpl h3{margin-top:var(--space-l);margin-bottom:var(--space-m);line-height:1.3}.post-content.svelte-16jdbpl h1{font-size:var(--step-2)}.post-content.svelte-16jdbpl h2{font-size:var(--step-1)}.post-content.svelte-16jdbpl h3{font-size:var(--step-0);font-weight:600}.post-content.svelte-16jdbpl p{margin-bottom:var(--space-m);font-size:var(--step-0)}.post-content.svelte-16jdbpl code{background-color:var(--color-background-secondary-2-dark);color:var(--color-background-secondary-2);padding:.125em .25em;border-radius:var(--radius-s);font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:.875em}.post-content.svelte-16jdbpl pre{background-color:var(--color-code-background);border:1px solid var(--color-background-secondary-2);border-radius:var(--radius-s);padding:var(--space-s);overflow-x:auto;margin:var(--space-s) 0;max-width:100%;box-sizing:border-box}.post-content.svelte-16jdbpl pre code{background:none;padding:0;color:var(--color-accent-text-dark);font-family:Monaco,Menlo,Ubuntu Mono,monospace}.post-content.svelte-16jdbpl pre code .token.property{color:var(--color-accent-text-dark)}.post-content.svelte-16jdbpl pre code .token.string{color:#fbbf24}.post-content.svelte-16jdbpl pre code .token.number,.post-content.svelte-16jdbpl pre code .token.boolean{color:var(--color-accent-text)}.post-content.svelte-16jdbpl pre code .token.punctuation{color:rgba(var(--color-accent-text-rgb),.7)}.post-content.svelte-16jdbpl pre code .token.comment{color:rgba(var(--color-accent-text-rgb),.6);font-style:italic}.post-content.svelte-16jdbpl pre code .token.keyword{color:var(--color-accent-text);font-weight:600}.post-content.svelte-16jdbpl blockquote{border-left:4px solid var(--color-accent-text);background-color:var(--color-background-secondary-1);padding:var(--space-m);margin:var(--space-m) 0;font-style:italic}.post-content.svelte-16jdbpl blockquote p{margin-bottom:0}.post-content.svelte-16jdbpl ul,.post-content.svelte-16jdbpl ol{margin-top:var(--space-s);margin-bottom:var(--space-m);font-size:var(--step-0)}.post-content.svelte-16jdbpl ul.contains-task-list{list-style:none;padding-left:0}.post-content.svelte-16jdbpl li.task-list-item{list-style:none;margin-left:0;padding-left:0}.post-content.svelte-16jdbpl li.task-list-item input[type=checkbox]{margin-right:var(--space-2xs);appearance:none;-webkit-appearance:none;-moz-appearance:none;width:auto;height:auto;background:none;border:none;outline:none}.post-content.svelte-16jdbpl li.task-list-item input[type=checkbox]:checked{appearance:none;-webkit-appearance:none;-moz-appearance:none;width:auto;height:auto;margin-right:var(--space-2xs);background:none;border:none;outline:none}.post-content.svelte-16jdbpl li.task-list-item input[type=checkbox]:checked:before{content:"✅";font-size:1em;margin-left:0;display:inline-block;line-height:1}.github-author.svelte-16jdbpl{display:flex;align-items:center;gap:var(--space-2xs);text-decoration:none;color:var(--color-link);font-size:var(--step--1);transition:opacity .2s ease}.github-author.svelte-16jdbpl:hover{opacity:.8}.author-avatar.svelte-16jdbpl{width:1.25rem;height:1.25rem;border-radius:50%;border:1px solid var(--color-background-secondary-2)}.text-author.svelte-16jdbpl,.author-separator.svelte-16jdbpl{font-size:var(--step--1);color:var(--color-text-secondary)}.meta-tags.svelte-16jdbpl{display:flex;gap:var(--space-2xs);flex-wrap:wrap;margin-top:0}.sidebar-tags.svelte-16jdbpl .meta-tags:where(.svelte-16jdbpl){flex-direction:column;gap:var(--space-2xs)}.sidebar-tags.svelte-16jdbpl .meta-tags:where(.svelte-16jdbpl) a:where(.svelte-16jdbpl){padding-left:var(--space-2xs)}.meta-tags.svelte-16jdbpl a:where(.svelte-16jdbpl){text-decoration:none}.meta-tag.svelte-16jdbpl{font-weight:700;color:var(--color-text);font-size:var(--step--1);transition:color .2s ease}.meta-tags.svelte-16jdbpl a:where(.svelte-16jdbpl):hover .meta-tag:where(.svelte-16jdbpl){color:var(--color-background-secondary-2-dark)}.disclaimer.svelte-16jdbpl{background-color:var(--color-background-secondary-1);border-left:3px solid var(--color-background-secondary-2-dark);padding:var(--space-s);margin:var(--space-l) 0;border-radius:var(--radius-s)}.disclaimer.svelte-16jdbpl p:where(.svelte-16jdbpl){margin:0;font-size:var(--step--1);color:var(--color-text-secondary);line-height:1.5}@media (max-width: 768px){.blog-header-wrapper.svelte-16jdbpl{width:100%;margin-left:0;padding:var(--space-m) 0}.blog-header.svelte-16jdbpl{padding:0 var(--space-m)}.header-content.svelte-16jdbpl{grid-template-columns:1fr;gap:var(--space-m)}.post-image.svelte-16jdbpl{aspect-ratio:16/9}.blog-post.svelte-16jdbpl{padding:var(--space-m);overflow-x:hidden}.post-layout.svelte-16jdbpl{grid-template-columns:1fr;gap:var(--space-l)}.post-content.svelte-16jdbpl{max-width:none;overflow-x:hidden;word-wrap:break-word}.post-content.svelte-16jdbpl img,.post-content.svelte-16jdbpl table{max-width:100%;height:auto;box-sizing:border-box}.post-sidebar.svelte-16jdbpl{position:static;order:1}.sidebar-tags.svelte-16jdbpl{padding:var(--space-s)}.sidebar-toc.svelte-16jdbpl{padding:var(--space-s);border-bottom:1px solid var(--color-background-secondary-2);margin-bottom:var(--space-s)}.toc-nav.svelte-16jdbpl{display:flex;flex-direction:row;flex-wrap:wrap;gap:var(--space-2xs)}.toc-link.svelte-16jdbpl{border-left:none;padding-left:0;background-color:var(--color-background-secondary-1-dark);padding:var(--space-3xs) var(--space-2xs);border-radius:var(--radius-s);font-size:var(--step--2)}.toc-link.active.svelte-16jdbpl{background-color:var(--color-background-secondary-2-dark);color:var(--color-background);font-weight:700;margin-left:0}.sidebar-tags.svelte-16jdbpl .meta-tags:where(.svelte-16jdbpl){flex-direction:row;flex-wrap:wrap}.post-meta.svelte-16jdbpl{flex-direction:row;flex-wrap:wrap;align-items:center;gap:var(--space-2xs)}.post-actions.svelte-16jdbpl{flex-direction:column;align-items:flex-start;gap:var(--space-s)}}.copy-confirmation.svelte-16jdbpl{position:absolute;top:-2rem;left:50%;transform:translate(-50%);background-color:var(--color-background-secondary-2-dark);color:var(--color-background);padding:var(--space-3xs) var(--space-2xs);border-radius:var(--radius-s);font-size:var(--step--2);white-space:nowrap;z-index:10}.post-content.svelte-16jdbpl h1,.post-content.svelte-16jdbpl h2,.post-content.svelte-16jdbpl h3{position:relative;scroll-margin-top:5rem}.post-content.svelte-16jdbpl .heading-anchor{position:absolute;left:-2rem;top:50%;transform:translateY(-50%);opacity:0;transition:opacity .2s ease;cursor:pointer;display:flex;align-items:center;justify-content:center}.post-content.svelte-16jdbpl h1:hover .heading-anchor,.post-content.svelte-16jdbpl h2:hover .heading-anchor,.post-content.svelte-16jdbpl h3:hover .heading-anchor{opacity:1}.post-content.svelte-16jdbpl .anchor-icon{width:1rem;height:1rem;color:var(--color-text-secondary);transition:color .2s ease}.post-content.svelte-16jdbpl .heading-anchor:hover .anchor-icon{color:var(--color-background-secondary-2-dark)}.post-content.svelte-16jdbpl .heading-anchor .copy-confirmation{position:absolute;top:-2.5rem;left:50%;transform:translate(-50%);background-color:var(--color-background-secondary-2-dark);color:var(--color-background);padding:var(--space-3xs) var(--space-2xs);border-radius:var(--radius-s);font-size:var(--step--2);white-space:nowrap;z-index:10;opacity:0;transition:opacity .2s ease}.post-content.svelte-16jdbpl .heading-anchor .copy-confirmation.show{opacity:1}@media (max-width: 768px){.post-content.svelte-16jdbpl .heading-anchor{position:static;opacity:1;margin-left:var(--space-2xs);display:inline-flex;align-items:center;vertical-align:middle}.post-content.svelte-16jdbpl .anchor-icon{width:.875rem;height:.875rem}}.loading.svelte-1tn6m0l,.error.svelte-1tn6m0l{display:flex;justify-content:center;align-items:center;height:50vh;font-size:var(--step-0);color:var(--color-text-secondary)}.error.svelte-1tn6m0l{color:var(--color-error, #dc2626)}
