.reading-progress.svelte-1a41j9h{position:fixed;top:0;left:0;right:0;height:3px;z-index:90;background:transparent;pointer-events:none;box-shadow:0 1px #00000026}.reading-progress-fill.svelte-1a41j9h{--progress: 0%;height:100%;width:var(--progress);background:linear-gradient(90deg,var(--cyan) 0%,var(--green) 100%);box-shadow:0 0 12px rgb(var(--color-primary) / .5);transition:width 60ms linear;will-change:width}@supports (animation-timeline: scroll()){.reading-progress-fill.svelte-1a41j9h{width:100%;transform-origin:0 50%;transform:scaleX(0);transition:none;animation:svelte-1a41j9h-rp-fill linear;animation-timeline:scroll(root)}@keyframes svelte-1a41j9h-rp-fill{to{transform:scaleX(1)}}}@media(prefers-reduced-motion:reduce){.reading-progress-fill.svelte-1a41j9h{transition:none;animation:none}}.post-hero.svelte-1a41j9h{position:relative;padding:calc(var(--nav-height) + 60px) 0 80px;overflow:hidden;text-align:center}.hero-bg.svelte-1a41j9h{position:absolute;inset:0;z-index:-1}.hero-gradient.svelte-1a41j9h{position:absolute;inset:0;background:radial-gradient(ellipse 60% 50% at 50% 0%,rgb(var(--color-accent) / .08) 0%,transparent 70%),linear-gradient(180deg,transparent 0%,rgba(10,14,26,.95) 100%);z-index:1}.hero-image.svelte-1a41j9h{position:absolute;inset:0;opacity:.15}.hero-image.svelte-1a41j9h img:where(.svelte-1a41j9h){width:100%;height:100%;object-fit:cover}.hero-content.svelte-1a41j9h{position:relative;max-width:800px;margin:0 auto;z-index:2}.back-link.svelte-1a41j9h{display:inline-flex;align-items:center;gap:8px;color:var(--text-dim);text-decoration:none;font-size:.85rem;font-weight:500;margin-bottom:24px;transition:color .2s,gap .2s}.back-link.svelte-1a41j9h:hover{color:var(--cyan);gap:12px}.post-category.svelte-1a41j9h{display:inline-block;background:rgb(var(--color-accent) / .12);color:var(--cyan);font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;padding:5px 14px;border-radius:6px;border:1px solid rgb(var(--color-accent) / .2);margin-bottom:20px}.post-title.svelte-1a41j9h{font-family:var(--font-display);font-size:clamp(1.8rem,4vw,2.8rem);font-weight:900;color:var(--text);line-height:1.2;margin:0 0 24px}.post-meta.svelte-1a41j9h{display:flex;align-items:center;justify-content:center;gap:12px;font-size:.88rem;color:var(--text-dim)}.meta-author.svelte-1a41j9h{font-weight:600;color:var(--text)}.meta-sep.svelte-1a41j9h{width:4px;height:4px;border-radius:50%;background:var(--text-muted)}.hero-fade.svelte-1a41j9h{opacity:0;transform:translateY(20px);transition:opacity .8s cubic-bezier(.16,1,.3,1),transform .8s cubic-bezier(.16,1,.3,1)}.visible .hero-fade.svelte-1a41j9h{opacity:1;transform:translateY(0)}.article-section.svelte-1a41j9h{position:relative;z-index:1}.article-container.svelte-1a41j9h{max-width:720px;margin:0 auto;padding:0 24px}.article-container.svelte-1a41j9h:last-child{padding-bottom:80px}.article-body.svelte-1a41j9h{font-size:1.05rem;color:var(--text);line-height:1.8}.article-body.svelte-1a41j9h h2{font-family:var(--font-display);font-size:1.6rem;font-weight:800;color:var(--text);margin:64px 0 8px;padding-top:48px;line-height:1.3;position:relative}.article-body.svelte-1a41j9h h2:before{content:"";position:absolute;top:0;left:0;width:48px;height:3px;background:linear-gradient(90deg,var(--cyan),transparent);border-radius:2px}.article-body.svelte-1a41j9h h2:first-child{margin-top:0;padding-top:0}.article-body.svelte-1a41j9h h2:first-child:before{display:none}.article-body.svelte-1a41j9h h3{font-family:var(--font-display);font-size:1.15rem;font-weight:700;color:var(--text);margin:40px 0 12px;padding-left:16px;border-left:3px solid var(--green);line-height:1.4}.article-body.svelte-1a41j9h p{margin:0 0 20px;color:var(--text-dim)}.article-body.svelte-1a41j9h ul,.article-body.svelte-1a41j9h ol{margin:0 0 24px;padding-left:0;list-style:none;color:var(--text-dim)}.article-body.svelte-1a41j9h li{margin-bottom:12px;line-height:1.7;padding-left:28px;position:relative}.article-body.svelte-1a41j9h ul>li:before{content:"";position:absolute;left:8px;top:11px;width:6px;height:6px;border-radius:50%;background:var(--cyan);box-shadow:0 0 6px rgb(var(--color-accent) / .4)}.article-body.svelte-1a41j9h ol{counter-reset:ol-counter}.article-body.svelte-1a41j9h ol>li{counter-increment:ol-counter}.article-body.svelte-1a41j9h ol>li:before{content:counter(ol-counter);position:absolute;left:4px;top:1px;width:20px;height:20px;display:flex;align-items:center;justify-content:center;font-size:.7rem;font-weight:800;color:var(--green);border:1.5px solid rgb(var(--color-primary) / .3);border-radius:50%}.article-body.svelte-1a41j9h strong{color:var(--text);font-weight:700}.article-body.svelte-1a41j9h a{color:var(--cyan);text-decoration:none;border-bottom:1px solid rgb(var(--color-accent) / .3);transition:color .2s,border-color .2s}.article-body.svelte-1a41j9h a:hover{color:var(--green);border-bottom-color:var(--green)}.article-body.svelte-1a41j9h blockquote{position:relative;border:none;border-left:none;padding:24px 28px;margin:32px 0;background:linear-gradient(135deg,rgb(var(--color-accent) / .06),rgb(var(--color-primary) / .03));border-radius:12px;font-style:normal;color:var(--text-dim);border:1px solid rgb(var(--color-accent) / .1)}.article-body.svelte-1a41j9h blockquote:before{content:"“";position:absolute;top:-8px;left:20px;font-size:3rem;font-family:var(--font-display);color:var(--cyan);opacity:.4;line-height:1}.article-body.svelte-1a41j9h blockquote p{color:var(--text);font-size:1.05rem}.article-body.svelte-1a41j9h blockquote p:last-child{margin-bottom:0}.article-body.svelte-1a41j9h code{background:rgb(var(--color-primary) / .08);padding:2px 8px;border-radius:4px;font-size:.88em;color:var(--green);border:1px solid rgb(var(--color-primary) / .12)}.article-body.svelte-1a41j9h pre{background:#0006;border:1px solid rgba(255,255,255,.06);border-radius:12px;padding:24px;margin:28px 0;overflow-x:auto}.article-body.svelte-1a41j9h pre code{background:none;padding:0;border:none;font-size:.85rem;line-height:1.6}.article-body.svelte-1a41j9h img{max-width:100%;border-radius:12px;margin:28px 0;border:1px solid rgba(255,255,255,.06)}.article-body.svelte-1a41j9h hr{border:none;height:1px;background:linear-gradient(90deg,transparent,rgb(var(--color-accent) / .2),transparent);margin:48px 0}.article-body.svelte-1a41j9h .info-box{padding:24px 28px;margin:32px 0;border-radius:12px;border:1px solid rgb(var(--color-accent) / .15);background:linear-gradient(135deg,rgb(var(--color-accent) / .05),#0a0e1a80);position:relative}.article-body.svelte-1a41j9h .info-box.green,.article-body.svelte-1a41j9h .info-box.info-box-green{border-color:rgb(var(--color-primary) / .15);background:linear-gradient(135deg,rgb(var(--color-primary) / .05),#0a0e1a80)}.article-body.svelte-1a41j9h .info-box.warn,.article-body.svelte-1a41j9h .info-box.info-box-warn{border-color:rgb(var(--color-amber) / .2);background:linear-gradient(135deg,rgb(var(--color-amber) / .05),#0a0e1a80)}.article-body.svelte-1a41j9h .info-box h4{font-family:var(--font-display);font-size:.95rem;font-weight:700;color:var(--cyan);margin:0 0 12px;text-transform:uppercase;letter-spacing:.05em}.article-body.svelte-1a41j9h .info-box.green h4,.article-body.svelte-1a41j9h .info-box.info-box-green h4{color:var(--green)}.article-body.svelte-1a41j9h .info-box.warn h4,.article-body.svelte-1a41j9h .info-box.info-box-warn h4{color:#f59e0b}.article-body.svelte-1a41j9h audio{width:100%;margin-top:16px;border-radius:8px;filter:invert(1) hue-rotate(180deg);opacity:.85}.article-body.svelte-1a41j9h audio::-webkit-media-controls-panel{background:#0f172ae6}.article-body.svelte-1a41j9h .info-box p{margin:0 0 8px;font-size:.95rem}.article-body.svelte-1a41j9h .info-box p:last-child{margin-bottom:0}.article-body.svelte-1a41j9h .stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px;margin:32px 0}.article-body.svelte-1a41j9h .stat{padding:20px 24px;border-radius:12px;background:#ffffff05;border:1px solid rgba(255,255,255,.06);text-align:center;transition:border-color .3s,transform .3s}.article-body.svelte-1a41j9h .stat:hover{border-color:rgb(var(--color-accent) / .2);transform:translateY(-2px)}.article-body.svelte-1a41j9h .stat .stat-value{font-family:var(--font-display);font-size:1.8rem;font-weight:900;background:linear-gradient(135deg,var(--green),var(--cyan));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;line-height:1.2;margin-bottom:6px}.article-body.svelte-1a41j9h .stat .stat-label{font-size:.8rem;color:var(--text-muted);font-weight:500;text-transform:uppercase;letter-spacing:.06em}.article-body.svelte-1a41j9h .tech-stack{display:flex;flex-wrap:wrap;gap:10px;margin:24px 0}.article-body.svelte-1a41j9h .badge{display:inline-flex;align-items:center;gap:6px;padding:6px 14px;border-radius:8px;font-size:.82rem;font-weight:600;background:rgb(var(--color-accent) / .06);border:1px solid rgb(var(--color-accent) / .12);color:var(--cyan);transition:transform .2s,border-color .2s}.article-body.svelte-1a41j9h .badge:hover{transform:translateY(-1px);border-color:rgb(var(--color-accent) / .3)}.article-body.svelte-1a41j9h .badge.green{background:rgb(var(--color-primary) / .06);border-color:rgb(var(--color-primary) / .12);color:var(--green)}.article-body.svelte-1a41j9h .badge.green:hover{border-color:rgb(var(--color-primary) / .3)}.article-body.svelte-1a41j9h .feature-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px;margin:32px 0}.article-body.svelte-1a41j9h .feature{padding:28px;border-radius:16px;background:linear-gradient(135deg,#ffffff05,#ffffff03);border:1px solid rgba(255,255,255,.06);transition:border-color .3s,transform .3s}.article-body.svelte-1a41j9h .feature:hover{border-color:rgb(var(--color-accent) / .2);transform:translateY(-3px)}.article-body.svelte-1a41j9h .feature h4{font-family:var(--font-display);font-size:1.05rem;font-weight:700;color:var(--text);margin:0 0 10px}.article-body.svelte-1a41j9h .feature p{font-size:.92rem;color:var(--text-dim);margin:0;line-height:1.65}.article-body.svelte-1a41j9h .feature .feature-icon{font-size:1.5rem;margin-bottom:12px;display:block}.article-body.svelte-1a41j9h table{width:100%;border-collapse:separate;border-spacing:0;margin:28px 0;border-radius:12px;overflow:hidden;border:1px solid rgba(255,255,255,.06)}.article-body.svelte-1a41j9h th{background:rgb(var(--color-accent) / .06);padding:12px 16px;font-family:var(--font-display);font-size:.82rem;font-weight:700;color:var(--cyan);text-align:left;text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid rgba(255,255,255,.06)}.article-body.svelte-1a41j9h td{padding:12px 16px;font-size:.92rem;color:var(--text-dim);border-bottom:1px solid rgba(255,255,255,.03)}.article-body.svelte-1a41j9h tr:last-child td{border-bottom:none}.article-body.svelte-1a41j9h tr:hover td{background:#ffffff05}.article-component.svelte-1a41j9h{max-width:1100px;margin:0 auto;padding:40px 24px;box-sizing:border-box}.component-loading.svelte-1a41j9h{display:flex;align-items:center;justify-content:center;min-height:200px}.loading-spinner.svelte-1a41j9h{width:32px;height:32px;border:2px solid rgb(var(--color-accent) / .15);border-top-color:var(--cyan);border-radius:50%;animation:svelte-1a41j9h-spin .8s linear infinite}@keyframes svelte-1a41j9h-spin{to{transform:rotate(360deg)}}.related-section.svelte-1a41j9h{position:relative;z-index:1}.related-grid.svelte-1a41j9h{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:32px}.related-card.svelte-1a41j9h{text-decoration:none;padding:0;overflow:hidden;display:flex;flex-direction:column;transition:transform .3s ease,border-color .3s ease}.related-card.svelte-1a41j9h:hover{transform:translateY(-4px)}.related-image.svelte-1a41j9h{aspect-ratio:16 / 9;overflow:hidden}.related-image.svelte-1a41j9h img:where(.svelte-1a41j9h){width:100%;height:100%;object-fit:cover;transition:transform .5s ease}.related-card.svelte-1a41j9h:hover .related-image:where(.svelte-1a41j9h) img:where(.svelte-1a41j9h){transform:scale(1.05)}.related-content.svelte-1a41j9h{padding:20px 24px 24px}.card-meta.svelte-1a41j9h{display:flex;align-items:center;gap:8px;font-size:.75rem;color:var(--text-muted);margin-bottom:10px}.meta-dot.svelte-1a41j9h{width:3px;height:3px;border-radius:50%;background:var(--text-muted)}.related-title.svelte-1a41j9h{font-family:var(--font-display);font-size:1rem;font-weight:700;color:var(--text);line-height:1.4;margin:0;transition:color .3s}.related-card.svelte-1a41j9h:hover .related-title:where(.svelte-1a41j9h){color:var(--cyan)}.center-line.svelte-1a41j9h{margin:0 auto 20px}@media(max-width:768px){.post-hero.svelte-1a41j9h{padding:calc(var(--nav-height) + 40px) 0 60px}.related-grid.svelte-1a41j9h{grid-template-columns:1fr;gap:16px}.article-container.svelte-1a41j9h{padding:0 16px}.article-container.svelte-1a41j9h:last-child{padding-bottom:60px}.article-body.svelte-1a41j9h .stat-grid{grid-template-columns:repeat(2,1fr)}.article-body.svelte-1a41j9h .feature-grid{grid-template-columns:1fr}}
