.copy-button{position:absolute;top:.75rem;right:.75rem;padding:.5rem .75rem;background:#ffffff1a;border:1px solid rgba(255,255,255,.2);border-radius:.375rem;color:#e0e0e0;font-size:.75rem;font-weight:600;cursor:pointer;display:flex;align-items:center;gap:.35rem;transition:all .2s ease;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.copy-button:hover{background:#fff3;border-color:#ffffff4d}.copy-button .copied-text,.copy-button.copied .copy-text{display:none}.copy-button.copied .copied-text{display:inline}.copy-button.copied{background:#22c55e33;border-color:#22c55e66;color:#86efac}.reading-progress.svelte-18rcjdz{position:fixed;left:2rem;top:50%;transform:translateY(-50%);z-index:50;display:flex;flex-direction:column;align-items:center;gap:.75rem;opacity:0;transition:opacity .3s ease;pointer-events:none}.reading-progress.visible.svelte-18rcjdz{opacity:1}.reading-progress__text.svelte-18rcjdz{font-size:.75rem;font-weight:700;color:light-dark(#333,var(--color-yellow, var(--color-yellow-hex)));white-space:nowrap;writing-mode:vertical-rl;text-orientation:mixed;letter-spacing:.5px;text-transform:uppercase}.reading-progress__bar.svelte-18rcjdz{width:3px;height:200px;background:#0000001a;border-radius:2px;overflow:hidden;position:relative}.reading-progress__fill.svelte-18rcjdz{position:absolute;bottom:0;left:0;right:0;background:var(--color-blue, var(--color-blue-hex, #00b0ff));transition:height .2s ease;border-radius:2px}.reading-progress__percent.svelte-18rcjdz{font-size:.7rem;font-weight:600;color:light-dark(#666,var(--color-yellow, var(--color-yellow-hex)))}@media(max-width:1200px){.reading-progress.svelte-18rcjdz{left:1rem}}@media(max-width:768px){.reading-progress.svelte-18rcjdz{display:none}}pre code .token.comment,pre code .token.prolog,pre code .token.doctype,pre code .token.cdata,.blog-post__content .token.comment,.blog-post__content .token.prolog,.blog-post__content .token.doctype,.blog-post__content .token.cdata{color:#8b949e!important}pre code .token.punctuation,.blog-post__content .token.punctuation{color:#c9d1d9!important}pre code .token.property,pre code .token.tag,pre code .token.boolean,pre code .token.number,pre code .token.constant,pre code .token.symbol,pre code .token.deleted,.blog-post__content .token.property,.blog-post__content .token.tag,.blog-post__content .token.boolean,.blog-post__content .token.number,.blog-post__content .token.constant,.blog-post__content .token.symbol,.blog-post__content .token.deleted{color:#79c0ff!important}pre code .token.selector,pre code .token.attr-name,pre code .token.string,pre code .token.char,pre code .token.builtin,pre code .token.inserted,.blog-post__content .token.selector,.blog-post__content .token.attr-name,.blog-post__content .token.string,.blog-post__content .token.char,.blog-post__content .token.builtin,.blog-post__content .token.inserted{color:#a5d6ff!important}pre code .token.operator,pre code .token.entity,pre code .token.url,.blog-post__content .token.operator,.blog-post__content .token.entity,.blog-post__content .token.url{color:#ff7b72!important}pre code .language-css .token.string,pre code .style .token.string,.blog-post__content .language-css .token.string,.blog-post__content .style .token.string{color:#a5d6ff!important}pre code .token.atrule,pre code .token.attr-value,pre code .token.keyword,.blog-post__content .token.atrule,.blog-post__content .token.attr-value,.blog-post__content .token.keyword{color:#ff7b72!important}pre code .token.function,pre code .token.class-name,.blog-post__content .token.function,.blog-post__content .token.class-name{color:#d2a8ff!important}pre code .token.regex,pre code .token.important,pre code .token.variable,.blog-post__content .token.regex,.blog-post__content .token.important,.blog-post__content .token.variable{color:#ffa657!important}pre code .token.important,pre code .token.bold,.blog-post__content .token.important,.blog-post__content .token.bold{font-weight:700}pre code .token.italic,.blog-post__content .token.italic{font-style:italic}.intro.svelte-1w55t0d h1:where(.svelte-1w55t0d){font-size:clamp(7svw,3vw + 1rem,14svw);line-height:1.2}.blog-post.svelte-1w55t0d{max-width:800px;margin:0 auto;padding:6rem 1rem 8rem;min-height:100vh;color:var(--text)}.blog-post__header.svelte-1w55t0d{margin-block-end:3rem}.back-link.svelte-1w55t0d{display:flex;align-items:center;gap:.5rem;width:fit-content;color:var(--text-muted);text-decoration:none;font-size:.875rem;margin-block-end:.75rem;transition:color .2s ease}.back-link.svelte-1w55t0d:hover{color:var(--text)}.blog-post__meta.svelte-1w55t0d{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;color:var(--text-muted);font-size:.875rem;margin-block-end:1rem}.separator.svelte-1w55t0d{opacity:.5}.read-time.svelte-1w55t0d{display:inline-flex;align-items:center;gap:.35rem}.read-time.svelte-1w55t0d svg:where(.svelte-1w55t0d){flex-shrink:0}.author-link.svelte-1w55t0d{color:var( --color-dark-blue, var(--color-dark-blue-hex, #263eff) )!important;text-decoration:none;transition:color .2s ease;font-size:inherit!important;font-weight:inherit!important}.author-link.svelte-1w55t0d:hover{color:var(--color-blue, var(--color-blue-hex, #00b0ff))!important;text-decoration:underline}.interop-badge.svelte-1w55t0d{display:inline-flex;align-items:center;gap:.35rem;width:fit-content;padding:.28rem .65rem;border-radius:999px;border:1px solid color-mix(in srgb,#00b0ff 42%,transparent);background:linear-gradient(135deg,#00b0ff2e,#22d3ee1a);color:light-dark(#0b5a77,#dff7ff);font-size:.68rem;font-weight:800;letter-spacing:.025em;text-transform:uppercase;text-decoration:none}.interop-badge.svelte-1w55t0d:before{content:"";inline-size:.4rem;block-size:.4rem;border-radius:999px;background:#22d3ee;box-shadow:0 0 12px #22d3ee8c}.interop-badge--article.svelte-1w55t0d{display:flex;margin-block:0 .85rem}.blog-post__tags.svelte-1w55t0d{display:flex;flex-wrap:wrap;gap:.5rem;margin-block-start:1rem}.tag.svelte-1w55t0d{display:inline-block;padding:.25rem .75rem;background:color-mix(in srgb,var(--link, #4a9eff) 20%,transparent);color:var(--link, #4a9eff);border-radius:1rem;font-size:.75rem;font-weight:600;border:1px solid color-mix(in srgb,var(--link, #4a9eff) 30%,transparent)}.tag-link.svelte-1w55t0d{text-decoration:none;transition:transform .2s ease,background-color .2s ease,border-color .2s ease}.tag-link.svelte-1w55t0d:hover{transform:translateY(-1px);background:color-mix(in srgb,var(--link, #4a9eff) 30%,transparent);border-color:color-mix(in srgb,var(--link, #4a9eff) 50%,transparent)}.blog-post__support.svelte-1w55t0d{margin-block-start:2.5rem;padding:1rem;border-radius:.9rem;border:1px solid var(--border-color);background:var(--bg-elevated);position:relative;z-index:20}.support-title.svelte-1w55t0d{margin:0;color:var(--text);font-size:1rem;font-weight:700}.support-copy.svelte-1w55t0d{margin:.5rem 0 .85rem;color:var(--text-muted);font-size:.88rem}.support-copy-note.svelte-1w55t0d{display:block;margin-top:.35rem;color:var(--text-muted);font-size:.82rem}.support-copy.svelte-1w55t0d code:where(.svelte-1w55t0d){font-size:.82em}.support-embed-wrap.svelte-1w55t0d{border-radius:.75rem;overflow:hidden;border:1px solid var(--border-color);background:var(--bg-surface)}.support-embed.svelte-1w55t0d{width:100%;height:420px;min-height:420px;border:0;display:block}.support-fallback.svelte-1w55t0d{margin-top:.75rem;color:var(--text-muted);font-size:.84rem}.support-fallback.svelte-1w55t0d summary:where(.svelte-1w55t0d){cursor:pointer;-webkit-user-select:none;user-select:none;font-weight:600}.support-fallback.svelte-1w55t0d picture:where(.svelte-1w55t0d){display:block;margin-top:.7rem;border:1px solid var(--border-color);border-radius:.6rem;overflow:hidden;background:var(--bg-surface)}.support-fallback.svelte-1w55t0d img:where(.svelte-1w55t0d){display:block;width:100%;height:auto}.support-source.svelte-1w55t0d{margin:.8rem 0 0;color:var(--text-muted);font-size:.8rem}.support-source.svelte-1w55t0d a:where(.svelte-1w55t0d){color:light-dark(#1d4ed8,#6db3f8);text-decoration:underline;text-underline-offset:.15em}.blog-post__tag-filters.svelte-1w55t0d{margin-block-start:3rem;padding:1rem;border-radius:.9rem;border:1px solid var(--border-color);background:var(--bg-elevated);position:relative;z-index:20}.tag-filters__title.svelte-1w55t0d{margin:0 0 .8rem;color:var(--text);font-size:.95rem;font-weight:700}.filter-tags.svelte-1w55t0d{display:flex;flex-wrap:wrap;gap:.5rem}.filter-tag.svelte-1w55t0d{text-decoration:none;color:light-dark(#1e3a8a,#93b4f5);border:1px solid var(--border-color);background:var(--bg-surface);border-radius:999px;padding:.35rem .7rem;font-size:.78rem;font-weight:600;transition:background-color .2s ease,color .2s ease,border-color .2s ease}.filter-tag.svelte-1w55t0d:hover{background:#1d4ed8;color:#fff;border-color:#1d4ed8}.blog-post__image.svelte-1w55t0d{margin-block-end:3rem;border-radius:1rem;overflow:hidden;background:var(--bg-elevated)}.blog-post__image.svelte-1w55t0d img:where(.svelte-1w55t0d){width:100%;height:auto;display:block}.blog-post__content.svelte-1w55t0d{line-height:1.7;color:var(--text)}.blog-post__content.svelte-1w55t0d p,.blog-post__content.svelte-1w55t0d li,.blog-post__content.svelte-1w55t0d span{color:var(--text)}.blog-post__content.svelte-1w55t0d ul,.blog-post__content.svelte-1w55t0d ol{margin-bottom:1rem}.blog-post__content.svelte-1w55t0d h1,.blog-post__content.svelte-1w55t0d h2,.blog-post__content.svelte-1w55t0d h3,.blog-post__content.svelte-1w55t0d h4,.blog-post__content.svelte-1w55t0d h5,.blog-post__content.svelte-1w55t0d h6,.blog-post__content.svelte-1w55t0d strong{color:var(--text);font-weight:700}.blog-post__content.svelte-1w55t0d a{color:light-dark(#0066cc,#6db3f8);transition:color .15s ease}.blog-post__content.svelte-1w55t0d a:hover{color:light-dark(oklch(from #0066cc calc(l - .12) c h),oklch(from #6db3f8 calc(l + .1) c h))}.blog-post__content.svelte-1w55t0d code{color:#e06c75!important;background:#282c34!important;padding:.2em .4em;border-radius:.25rem;font-size:.875em;font-family:Monaspace Neon,Fira Code,Consolas,monospace}.blog-post__content.svelte-1w55t0d pre{position:relative;background:#0d1117!important;padding:1.5rem!important;border-radius:.75rem!important;overflow-x:auto;margin-block:2rem!important;border:1px solid #30363d!important;box-shadow:0 8px 24px #0000001f}.blog-post__content.svelte-1w55t0d pre code{background:transparent!important;padding:0!important;font-size:.875rem;line-height:1.7;color:#e6edf3!important}.blog-post__content.svelte-1w55t0d pre *,.blog-post__content.svelte-1w55t0d pre span{color:#e6edf3!important}.blog-post__footer.svelte-1w55t0d{margin-block-start:4rem;padding-block-start:2rem;border-block-start:1px solid var(--border-color);display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap;position:relative;z-index:20}.btn-back.svelte-1w55t0d,.btn-next.svelte-1w55t0d{display:inline-block;padding:.75rem 1.5rem;background:var(--bg-elevated);color:var(--text);text-decoration:none;border-radius:.5rem;transition:background .2s ease;position:relative;z-index:21}.btn-back.svelte-1w55t0d:hover,.btn-next.svelte-1w55t0d:hover{background:var(--border-color)}.btn-next.svelte-1w55t0d{background:var(--color-blue, var(--color-blue-hex));color:#fff}.btn-next.svelte-1w55t0d:hover{background:var(--color-dark-blue, var(--color-dark-blue-hex))}.error-page.svelte-1w55t0d{max-width:800px;margin:0 auto;padding:4rem 1rem;text-align:center}.error-page.svelte-1w55t0d h1:where(.svelte-1w55t0d){color:var(--text);margin-block-end:2rem}.error-page.svelte-1w55t0d a:where(.svelte-1w55t0d){color:var(--link, #4a9eff);text-decoration:none}
