.blog-root{--b-bg:#08080f;--b-surface:#0d0d18;--b-surface-2:#121222;--b-border:rgba(129,140,248,0.14);--b-border-strong:rgba(129,140,248,0.3);--b-text:#cbd5e1;--b-heading:#f1ecfb;--b-muted:#94a3b8;--b-faint:#64748b;--b-link:#a5b4fc;--b-accent:#a78bfa;--b-gold:#d4af37;--b-grad:linear-gradient(135deg,#FF3EA5,#8B5CF6);--b-radius:14px;--b-gutter:clamp(1rem,4vw,2rem);background:var(--b-bg);color:var(--b-text);min-height:100vh;flex:1;font-family:var(--font-geist-sans),system-ui,-apple-system,sans-serif}.blog-root a{color:var(--b-link);text-decoration:none}.blog-root a:hover{text-decoration:underline;text-underline-offset:3px}.blog-root :focus-visible{outline:2px solid var(--b-accent);outline-offset:2px;border-radius:4px}.blog-nav{position:sticky;top:0;z-index:40;display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;padding:.9rem var(--b-gutter);background:rgba(8,8,15,.88);backdrop-filter:blur(10px);border-bottom:1px solid var(--b-border)}.blog-nav-brand{display:flex;align-items:baseline;gap:.6rem}.blog-root .blog-nav-brand a{color:var(--b-heading);font-weight:800;letter-spacing:.01em}.blog-nav-brand span{color:var(--b-faint);font-size:.8rem}.blog-nav-links{display:flex;gap:1.25rem;align-items:center;font-size:.85rem}.blog-root .blog-nav-links a{color:var(--b-muted)}.blog-root .blog-nav-links a.blog-cta{color:#fff;font-weight:700;padding:.45rem 1rem;border-radius:100px;background:var(--b-grad)}.blog-container{max-width:1120px;margin:0 auto;padding:0 var(--b-gutter)}.blog-narrow{max-width:760px;margin:0 auto}.blog-eyebrow{display:inline-flex;align-items:center;gap:.5rem;color:var(--b-accent);font-weight:700;font-size:.72rem;letter-spacing:.12em;text-transform:uppercase}.blog-eyebrow:before{content:"";width:7px;height:7px;border-radius:50%;background:#8B5CF6}.blog-hero{padding:clamp(2.5rem,6vw,4.5rem) 0 2rem}.blog-hero h1{color:var(--b-heading);font-size:clamp(2rem,5vw,3.1rem);font-weight:800;line-height:1.15;margin:.9rem 0 .8rem}.blog-hero p{color:var(--b-muted);font-size:1.05rem;line-height:1.7;max-width:640px;margin:0}.blog-grad-text{background:var(--b-grad);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.blog-chips{display:flex;flex-wrap:wrap;gap:.5rem}.blog-chip{display:inline-flex;align-items:center;gap:.35rem;padding:.3rem .8rem;border-radius:100px;font-size:.78rem;font-weight:600;background:rgba(139,92,246,.08);border:1px solid var(--b-border);cursor:pointer;font-family:inherit;line-height:1.4}.blog-chip,.blog-root a.blog-chip{color:var(--b-muted)}.blog-chip:hover,.blog-root a.blog-chip:hover{border-color:var(--b-border-strong);color:var(--b-heading);text-decoration:none}.blog-chip.is-active,.blog-chip[aria-pressed=true]{color:#fff;background:rgba(139,92,246,.35);border-color:rgba(167,139,250,.6)}.blog-chip small{color:var(--b-faint);font-weight:500}.blog-meta{color:var(--b-faint);font-size:.82rem;display:flex;flex-wrap:wrap;gap:.35rem .9rem;align-items:center}.blog-root .blog-meta a{color:var(--b-accent);font-weight:600}.blog-controls{display:grid;gap:1rem;padding:1.25rem;margin:0 0 2rem;background:var(--b-surface);border:1px solid var(--b-border);border-radius:var(--b-radius)}.blog-controls-row{display:flex;gap:.75rem;align-items:baseline;flex-wrap:wrap}.blog-controls-label{color:var(--b-faint);font-size:.72rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;min-width:5.5rem}.blog-search{width:100%;padding:.75rem 1rem;border-radius:10px;font:inherit;font-size:.95rem;color:var(--b-heading);background:var(--b-bg);border:1px solid var(--b-border-strong)}.blog-search::placeholder{color:var(--b-faint)}.blog-featured{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:0;background:var(--b-surface);border:1px solid var(--b-border);border-radius:var(--b-radius);overflow:hidden;margin-bottom:2.5rem}.blog-featured-img{position:relative;aspect-ratio:1200/630;background:var(--b-surface-2)}.blog-featured-body{padding:clamp(1.25rem,3vw,2.25rem);display:flex;flex-direction:column;gap:.85rem;justify-content:center}.blog-featured-badge{color:var(--b-gold);font-size:.72rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.blog-featured h2{margin:0;font-weight:800;font-size:clamp(1.4rem,3vw,1.9rem);line-height:1.2}.blog-root .blog-card h3 a,.blog-root .blog-featured h2 a{color:var(--b-heading)}.blog-featured p{margin:0;color:var(--b-muted);line-height:1.7}.blog-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:1.25rem}.blog-card{display:flex;flex-direction:column;background:var(--b-surface);border:1px solid var(--b-border);border-radius:var(--b-radius);overflow:hidden;transition:border-color .15s,transform .15s}.blog-card:hover{border-color:var(--b-border-strong);transform:translateY(-2px)}.blog-card-img{position:relative;aspect-ratio:1200/630;background:var(--b-surface-2)}.blog-card-body{padding:1.1rem 1.2rem 1.3rem;display:flex;flex-direction:column;gap:.6rem;flex:1}.blog-card h3{margin:0;font-weight:700;font-size:1.08rem;line-height:1.35}.blog-card p{margin:0;color:var(--b-muted);font-size:.9rem;line-height:1.6;flex:1}.blog-empty{text-align:center;padding:3rem 1rem;color:var(--b-muted);border:1px dashed var(--b-border-strong);border-radius:var(--b-radius)}.blog-section-title{color:var(--b-heading);font-size:1.2rem;font-weight:700;margin:0 0 1rem}@media (max-width:800px){.blog-featured{grid-template-columns:1fr}}.blog-article-layout{display:grid;grid-template-columns:minmax(0,1fr) 240px;gap:3rem;align-items:start;padding-bottom:3rem}.blog-article-layout>aside{position:sticky;top:5rem}@media (max-width:1000px){.blog-article-layout{grid-template-columns:minmax(0,1fr)}.blog-article-layout>aside{position:static;order:-1}}.blog-breadcrumb{font-size:.8rem;color:var(--b-faint);margin:1.5rem 0 0}.blog-breadcrumb ol{list-style:none;display:flex;flex-wrap:wrap;gap:.4rem;padding:0;margin:0}.blog-breadcrumb li+li:before{content:"/";margin-right:.4rem;color:var(--b-faint)}.blog-root .blog-breadcrumb a{color:var(--b-muted)}.blog-article-header{padding:1.5rem 0 1.75rem}.blog-article-header h1{color:var(--b-heading);font-size:clamp(1.9rem,4.5vw,2.75rem);line-height:1.18;font-weight:800;margin:.75rem 0 1rem}.blog-lede{color:var(--b-muted);font-size:1.1rem;line-height:1.7;margin:0 0 1.25rem}.blog-byline{display:flex;flex-wrap:wrap;gap:.35rem 1rem;color:var(--b-muted);font-size:.88rem}.blog-byline strong{color:var(--b-heading);font-weight:600}.blog-cover{position:relative;aspect-ratio:1200/630;border-radius:var(--b-radius);overflow:hidden;margin-bottom:2.25rem;background:var(--b-surface-2)}.blog-cover,.blog-toc{border:1px solid var(--b-border)}.blog-toc{background:var(--b-surface);border-radius:var(--b-radius);padding:1.1rem 1.2rem;font-size:.86rem}.blog-toc-title{color:var(--b-faint);font-size:.72rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;margin:0 0 .75rem}.blog-toc ol{list-style:none;margin:0;padding:0;display:grid;gap:.5rem}.blog-toc li.depth-3{padding-left:.9rem;font-size:.82rem}.blog-root .blog-toc a{color:var(--b-muted);line-height:1.4;display:block}.blog-root .blog-toc a:hover{color:var(--b-heading)}.blog-prose{color:var(--b-text);font-size:1.06rem;line-height:1.8;overflow-wrap:break-word}.blog-prose>*+*{margin-top:1.15em}.blog-prose h2,.blog-prose h3,.blog-prose h4{color:var(--b-heading);line-height:1.3;scroll-margin-top:5.5rem;font-weight:700}.blog-prose h2{font-size:1.6rem;margin-top:2.2em;padding-top:.2em}.blog-prose h3{font-size:1.25rem;margin-top:1.8em}.blog-prose h4{font-size:1.05rem;margin-top:1.5em}.blog-prose ol,.blog-prose p,.blog-prose ul{margin-bottom:0}.blog-prose ul{list-style:disc;padding-left:1.4em}.blog-prose ol{list-style:decimal;padding-left:1.4em}.blog-prose li+li{margin-top:.4em}.blog-prose li::marker{color:var(--b-accent)}.blog-prose strong{color:var(--b-heading)}.blog-root .blog-prose a{color:var(--b-link);text-decoration:underline;text-decoration-color:rgba(165,180,252,.4);text-underline-offset:3px}.blog-root .blog-prose a:hover{text-decoration-color:currentColor}.blog-prose hr{border:0;border-top:1px solid var(--b-border);margin:2.5em 0}.blog-prose blockquote{border-left:3px solid var(--b-accent);padding:.2em 0 .2em 1.1em;color:var(--b-muted);font-style:italic}.blog-prose :not(pre)>code{background:var(--b-surface-2);border:1px solid var(--b-border);border-radius:6px;padding:.1em .4em;font-size:.88em;color:#e9d5ff}.blog-prose pre.blog-code{background:#0d1117;border:1px solid var(--b-border);border-radius:10px;padding:1rem 1.1rem;overflow-x:auto;font-size:.88rem;line-height:1.6}.blog-prose pre.blog-code code.hljs{background:transparent;padding:0}.blog-prose .blog-table{overflow-x:auto;border:1px solid var(--b-border);border-radius:10px}.blog-prose table{width:100%;border-collapse:collapse;font-size:.92rem}.blog-prose td,.blog-prose th{padding:.65rem .9rem;border-bottom:1px solid var(--b-border);text-align:left;vertical-align:top}.blog-prose th{color:var(--b-heading);background:var(--b-surface);font-weight:700}.blog-prose tr:last-child td{border-bottom:0}.blog-prose img{max-width:100%;height:auto;border-radius:10px}.blog-prose figure.blog-figure{margin-left:0;margin-right:0}.blog-prose figure.blog-figure img{display:block;width:100%;border:1px solid var(--b-border)}.blog-prose figcaption{color:var(--b-faint);font-size:.85rem;text-align:center;margin-top:.6rem}.blog-callout{border:1px solid var(--b-border-strong);border-left-width:4px;border-radius:10px;padding:.9rem 1.1rem;background:rgba(139,92,246,.07)}.blog-callout>*+*{margin-top:.6em}.blog-callout p{margin:0}.blog-callout-title{font-weight:800;font-size:.8rem;letter-spacing:.08em;text-transform:uppercase;color:var(--b-accent)}.blog-callout-note{border-left-color:#818cf8}.blog-callout-tip{border-left-color:#34d399;background:rgba(52,211,153,.06)}.blog-callout-tip .blog-callout-title{color:#6ee7b7}.blog-callout-important{border-left-color:var(--b-gold);background:rgba(212,175,55,.07)}.blog-callout-important .blog-callout-title{color:#e8c65a}.blog-callout-warning{border-left-color:#f59e0b;background:rgba(245,158,11,.07)}.blog-callout-warning .blog-callout-title{color:#fbbf24}.blog-callout-caution{border-left-color:#f87171;background:rgba(248,113,113,.07)}.blog-callout-caution .blog-callout-title{color:#fca5a5}.blog-faq{margin-top:3rem}.blog-faq details{background:var(--b-surface);border:1px solid var(--b-border);border-radius:10px;padding:.9rem 1.1rem}.blog-faq details+details{margin-top:.6rem}.blog-faq summary{cursor:pointer;color:var(--b-heading);font-weight:600}.blog-faq details p{margin:.7rem 0 0;color:var(--b-text);line-height:1.7}.blog-faq h2{font-weight:700;color:var(--b-heading);font-size:1.5rem;margin:0 0 1rem}.blog-article-footer{padding-top:1.5rem;border-top:1px solid var(--b-border)}.blog-article-footer,.blog-pager{margin-top:2.5rem;display:grid;gap:1rem}.blog-pager{grid-template-columns:1fr 1fr}.blog-root .blog-pager a{display:block;background:var(--b-surface);border:1px solid var(--b-border);border-radius:var(--b-radius);padding:1rem 1.2rem;color:var(--b-heading);font-weight:600;line-height:1.4}.blog-root .blog-pager a:hover{border-color:var(--b-border-strong);text-decoration:none}.blog-pager span{display:block;color:var(--b-faint);font-size:.75rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;margin-bottom:.35rem}.blog-pager .is-next{text-align:right;grid-column:2}@media (max-width:600px){.blog-pager{grid-template-columns:1fr}.blog-pager .is-next{grid-column:1}}.blog-related{margin-top:3.5rem;padding-top:2rem;border-top:1px solid var(--b-border)}.blog-preview-banner{background:rgba(212,175,55,.12);border:1px solid rgba(212,175,55,.45);border-radius:10px;color:#f3e3a8;padding:.85rem 1.1rem;margin-top:1.25rem;font-size:.88rem;line-height:1.55}.blog-preview-banner strong{color:#fff3c4}.blog-preview-banner ul{margin:.5rem 0 0;padding-left:1.2rem;list-style:disc}.blog-issue-error{color:#fca5a5}.blog-admin{padding:2rem 0 4rem}.blog-admin h1{color:var(--b-heading);font-size:1.6rem;font-weight:800;margin:0 0 .25rem}.blog-admin h2{color:var(--b-heading);font-size:1.15rem;font-weight:700;margin:0 0 1rem}.blog-panel{background:var(--b-surface);border:1px solid var(--b-border);border-radius:var(--b-radius);padding:1.25rem}.blog-panel+.blog-panel{margin-top:1.25rem}.blog-admin-table{width:100%;border-collapse:collapse;font-size:.86rem}.blog-admin-table th{text-align:left;color:var(--b-faint);font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;padding:.5rem .6rem;border-bottom:1px solid var(--b-border)}.blog-admin-table td{padding:.75rem .6rem;border-bottom:1px solid var(--b-border);vertical-align:top}.blog-admin-table tr.is-open td{border-bottom:0}.blog-btn{display:inline-flex;align-items:center;justify-content:center;gap:.35rem;padding:.45rem .85rem;border-radius:8px;font:inherit;font-size:.8rem;font-weight:700;cursor:pointer;color:var(--b-heading);background:var(--b-surface-2);border:1px solid var(--b-border-strong);white-space:nowrap}.blog-btn:hover:not(:disabled){border-color:var(--b-accent)}.blog-btn:disabled{opacity:.5;cursor:not-allowed}.blog-btn-primary{color:#fff;background:var(--b-grad);border-color:transparent}.blog-btn-danger{color:#fecaca;border-color:rgba(248,113,113,.45)}.blog-btn-sm{padding:.28rem .6rem;font-size:.74rem}.blog-status{display:inline-block;padding:.15rem .55rem;border-radius:100px;font-size:.72rem;font-weight:700;border:1px solid}.blog-status-posted,.blog-status-published{color:#6ee7b7;border-color:rgba(52,211,153,.45);background:rgba(52,211,153,.08)}.blog-status-draft,.blog-status-pending{color:#fcd34d;border-color:rgba(252,211,77,.45);background:rgba(252,211,77,.07)}.blog-status-failed{color:#fca5a5;border-color:rgba(248,113,113,.5);background:rgba(248,113,113,.08)}.blog-status-manual-needed{color:#c4b5fd;border-color:rgba(167,139,250,.5);background:rgba(167,139,250,.1)}.blog-status-disabled,.blog-status-not-shared,.blog-status-skipped{color:var(--b-muted);border-color:var(--b-border-strong)}.blog-form{display:grid;gap:.9rem;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.blog-form label{display:grid;gap:.35rem;font-size:.78rem;font-weight:600;color:var(--b-muted)}.blog-form .span-all{grid-column:1/-1}.blog-input,.blog-select,.blog-textarea{width:100%;padding:.6rem .75rem;border-radius:8px;font:inherit;font-size:.9rem;color:var(--b-heading);background:var(--b-bg);border:1px solid var(--b-border-strong)}.blog-textarea{min-height:5.5rem;resize:vertical;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.82rem}.blog-hint{color:var(--b-faint);font-size:.78rem;line-height:1.5}.blog-alert{border-radius:10px;padding:.75rem 1rem;font-size:.86rem;line-height:1.5;white-space:pre-wrap}.blog-alert-ok{background:rgba(52,211,153,.08);border:1px solid rgba(52,211,153,.4);color:#a7f3d0}.blog-alert-err{background:rgba(248,113,113,.08);border:1px solid rgba(248,113,113,.45);color:#fecaca}.blog-social-grid{display:grid;gap:.75rem;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.blog-social-card{background:var(--b-bg);border:1px solid var(--b-border);border-radius:10px;padding:.85rem;display:grid;gap:.55rem;font-size:.8rem}.blog-social-card pre{white-space:pre-wrap;word-break:break-word;margin:0;font-family:inherit;color:var(--b-text);background:var(--b-surface);border-radius:6px;padding:.6rem;max-height:11rem;overflow:auto}.blog-row{display:flex;gap:.5rem;flex-wrap:wrap;align-items:center}.blog-admin-nav{border-bottom:1px solid var(--b-border);background:var(--b-surface);padding:.6rem 0;font-size:.86rem}.blog-root .blog-admin-nav a{color:var(--b-muted);font-weight:600}.blog-root .blog-admin-nav a:hover{color:var(--b-heading)}.blog-auth-card{max-width:420px;margin:3rem auto;display:grid;gap:.9rem}.blog-auth-card label{display:grid;gap:.35rem;font-size:.8rem;font-weight:600;color:var(--b-muted)}.blog-editor{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:1.25rem;align-items:start}.blog-editor-body{min-height:28rem;font-size:.9rem;line-height:1.6}@media (max-width:1000px){.blog-editor{grid-template-columns:minmax(0,1fr)}}.blog-history{list-style:none;margin:0;padding:0;display:grid;gap:.55rem;font-size:.78rem}.blog-history li{border-left:2px solid var(--b-border-strong);padding-left:.6rem;color:var(--b-muted)}.blog-history strong{color:var(--b-heading);font-weight:600}.blog-status-submitted{color:#93c5fd;border-color:rgba(147,197,253,.5);background:rgba(147,197,253,.08)}.blog-status-changes-requested{color:#fdba74;border-color:rgba(253,186,116,.5);background:rgba(253,186,116,.08)}.blog-status-rejected{color:#fca5a5;border-color:rgba(248,113,113,.5)}.blog-status-invited{color:#c4b5fd;border-color:rgba(167,139,250,.5)}.blog-status-active{color:#6ee7b7;border-color:rgba(52,211,153,.45)}