:root{--surface-base:#111418;--surface-raised:#1c2128;--surface-sunken:#222832;--border:#2a313a;--text-primary:#f5f7fa;--text-secondary:#9aa4b2;--text-muted:#6b7480;--accent:#ff8a1f;--accent-soft:#2a1a0d;--accent-deep:#f97316;--accent-foreground:#fff;--radius-sm:8px;--radius-md:10px;--radius-lg:12px;--radius-xl:14px;--font-ui:"Nunito Sans", system-ui, sans-serif;--font-body:"Nunito Sans", system-ui, sans-serif;--font-display:"Sora", system-ui, sans-serif;--max:1080px;--measure:720px}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;overflow-x:clip}body{background:var(--surface-base);color:var(--text-primary);font-family:var(--font-body);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;font-size:17px;line-height:1.6;overflow-x:hidden}.wrap{max-width:var(--max);margin:0 auto;padding:0 24px}a{color:inherit;text-decoration:none}.btn{font-family:var(--font-ui);border-radius:var(--radius-sm);cursor:pointer;border:1px solid #0000;justify-content:center;align-items:center;gap:8px;padding:13px 22px;font-size:15px;font-weight:700;line-height:1;transition:transform .15s,background .15s,border-color .15s;display:inline-flex}.btn:active{transform:translateY(1px)}.btn-primary{background:var(--accent);color:var(--accent-foreground)}.btn-primary:hover{background:var(--accent-deep)}.btn-ghost{color:var(--text-primary);border-color:var(--border);background:0 0}.btn-ghost:hover{background:var(--surface-sunken)}header.site{z-index:10;background:color-mix(in srgb, var(--surface-base) 88%, transparent);backdrop-filter:saturate(1.2)blur(8px);border-bottom:1px solid var(--border);position:sticky;top:0}.nav{justify-content:space-between;align-items:center;height:68px;display:flex}.brand{align-items:center;display:inline-flex}.brand-logo{width:auto;height:32px;display:block}.nav-actions{align-items:center;gap:22px;display:flex}.nav-actions .link{font-family:var(--font-ui);color:var(--text-secondary);font-size:15px;font-weight:600}.nav-actions .link:hover{color:var(--text-primary)}@media (width<=860px){.nav{flex-wrap:wrap;justify-content:center;gap:14px;height:auto;min-height:68px;padding-block:12px}.brand{justify-content:center}.nav-actions{display:none}}.blog-hero{padding-top:72px;padding-bottom:24px}.eyebrow{font-family:var(--font-ui);letter-spacing:.08em;text-transform:uppercase;color:var(--accent);margin-bottom:14px;font-size:13px;font-weight:700}.blog-hero h1{font-family:var(--font-display);letter-spacing:-.01em;font-size:clamp(2.2rem,5vw,3.2rem);font-weight:600;line-height:1.05}.blog-hero h1 em{color:var(--accent);font-style:normal}.blog-hero .lede{max-width:var(--measure);color:var(--text-secondary);margin-top:16px;font-size:1.15rem}.post-list{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:24px;padding:32px 0 96px;list-style:none;display:grid}.post-card{background:var(--surface-raised);border:1px solid var(--border);border-radius:var(--radius-xl);flex-direction:column;height:100%;transition:transform .15s,border-color .15s,box-shadow .15s;display:flex;overflow:hidden}.post-card-thumb{aspect-ratio:1200/630;object-fit:cover;background:var(--accent-soft);width:100%;height:auto;display:block}.post-card-body{flex-direction:column;flex:1;padding:22px 24px 24px;display:flex}.post-card:hover{border-color:color-mix(in srgb, var(--accent) 40%, var(--border));transform:translateY(-3px);box-shadow:0 16px 34px -20px #ff8a1f47}.post-card time{font-family:var(--font-ui);color:var(--text-muted);font-size:13px}.post-card h2,.post-card h3{font-family:var(--font-display);margin:8px 0;font-size:1.35rem;font-weight:600;line-height:1.2}.post-card p{color:var(--text-secondary);font-size:.98rem}.post-card .more{font-family:var(--font-ui);color:var(--accent);margin-top:auto;padding-top:16px;font-size:14px;font-weight:700;display:inline-block}.article{padding-top:56px;padding-bottom:40px}.article-head{max-width:var(--measure);margin:0 auto}.back-link{font-family:var(--font-ui);color:var(--text-secondary);border:1px solid var(--border);background:var(--surface-raised);border-radius:999px;align-items:center;gap:6px;margin-bottom:26px;padding:9px 16px 9px 12px;font-size:14px;font-weight:700;transition:border-color .15s,color .15s,transform .15s,box-shadow .15s;display:inline-flex}.back-link:hover{color:var(--accent);border-color:color-mix(in srgb, var(--accent) 45%, var(--border));transform:translate(-2px);box-shadow:0 6px 16px -10px #ff8a1f47}.article-head .meta{font-family:var(--font-ui);color:var(--text-muted);margin-bottom:12px;font-size:14px}.article-head h1{font-family:var(--font-display);letter-spacing:-.01em;font-size:clamp(2rem,4.5vw,2.9rem);font-weight:600;line-height:1.08}.article-head .description{color:var(--text-secondary);margin-top:16px;font-size:1.2rem}.cover-image{aspect-ratio:1200/630;object-fit:cover;border-radius:var(--radius-xl);border:1px solid var(--border);width:100%;max-width:960px;height:auto;margin:32px auto 0;display:block}.article-divider{max-width:var(--measure);border:0;border-top:1px solid var(--border);margin:34px auto}.prose{max-width:var(--measure);color:var(--text-primary);margin:0 auto;font-size:1.12rem;line-height:1.75}.prose>*+*{margin-top:1.15em}.prose h2{font-family:var(--font-display);color:var(--accent);margin-top:2em;font-size:1.7rem;font-weight:600;line-height:1.2}.prose h3{font-family:var(--font-display);color:var(--accent-deep);margin-top:1.6em;font-size:1.35rem;font-weight:600}.prose a{color:var(--accent);text-underline-offset:3px;text-decoration:underline 1px}.prose a:hover{color:var(--accent-deep)}.prose ul,.prose ol{padding-left:1.3em}.prose li+li{margin-top:.4em}.prose blockquote{border-left:3px solid var(--accent);color:var(--text-secondary);padding:4px 0 4px 20px;font-style:italic}.prose img{border-radius:var(--radius-lg);border:1px solid var(--border);max-width:100%;height:auto}.prose code{background:var(--surface-sunken);border-radius:6px;padding:2px 6px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.9em}.prose pre{color:var(--text-primary);border-radius:var(--radius-lg);border:1px solid var(--border);background:#0a0c0f;padding:18px 20px;overflow-x:auto}.prose pre code{background:0 0;padding:0}.to-top{z-index:20;background:var(--accent);width:52px;height:52px;color:var(--accent-foreground);cursor:pointer;opacity:0;pointer-events:none;border:1px solid #ff8a1f38;border-radius:26%;place-items:center;transition:opacity .18s,transform .18s,background .18s,box-shadow .18s;display:grid;position:fixed;bottom:22px;right:22px;transform:translateY(10px)scale(.96);box-shadow:0 18px 42px -24px #ff8a1f7a}.to-top.is-visible{opacity:1;pointer-events:auto;transform:translateY(0)scale(1)}.to-top:hover{background:var(--accent-deep);box-shadow:0 20px 48px -24px #ff8a1f99}.to-top svg{fill:none;stroke:currentColor;stroke-width:2.4px;stroke-linecap:round;stroke-linejoin:round;width:23px;height:23px}.related-posts{border-top:1px solid var(--border);margin-top:24px;padding-top:48px;padding-bottom:96px}.related-posts .eyebrow{margin-bottom:10px}.related-posts h2{font-family:var(--font-display);margin-bottom:28px;font-size:clamp(1.6rem,3.5vw,2rem);font-weight:600;line-height:1.15}.related-posts .post-list{padding:0}footer.site{border-top:1px solid var(--border);background:var(--surface-sunken)}.foot-bottom{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding-top:28px;padding-bottom:28px;display:flex}.foot-bottom span{font-family:var(--font-ui);color:var(--text-secondary);font-size:14px}.foot-links{gap:20px;display:flex}.foot-links a{font-family:var(--font-ui);color:var(--text-secondary);font-size:14px}.foot-links a:hover{color:var(--accent)}@media (width<=620px){.blog-hero{padding-top:48px;padding-bottom:16px}}
