:root{--bg:#1c1c1e;--bg-elev:#242426;--hair:#ffffff17;--hair-strong:#ffffff29;--text:#f5f5f7;--text-dim:#9a9aa0;--text-mute:#6e6e76;--accent:#ffd426;--accent-fill:#e6a23a;--wrap:720px;color-scheme:dark}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}body{background:radial-gradient(1200px 600px at 50% -280px, #e6a23a14, transparent 70%), var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;background-attachment:fixed;margin:0;font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,Segoe UI,Roboto,Helvetica,Arial,sans-serif;font-size:18px;line-height:1.7}.nd-blog-wrap{width:100%;max-width:var(--wrap);margin:0 auto;padding-left:22px;padding-right:22px}.nd-blog-head{z-index:20;-webkit-backdrop-filter:saturate(180%)blur(20px);border-bottom:1px solid var(--hair);background:#1c1c1eb8;position:sticky;top:0}.nd-blog-head-in{max-width:var(--wrap);justify-content:space-between;align-items:center;margin:0 auto;padding:13px 22px;display:flex}.nd-blog-logo{letter-spacing:-.01em;color:var(--text);font-size:17px;font-weight:700;text-decoration:none}.nd-blog-logo span{color:var(--accent)}.nd-blog-nav{align-items:center;gap:10px;display:flex}.nd-lang{letter-spacing:.03em;color:var(--text-dim);border:1px solid var(--hair-strong);border-radius:999px;padding:6px 11px;font-size:13px;font-weight:700;text-decoration:none;transition:color .12s,border-color .12s}.nd-lang:hover{color:var(--accent);border-color:var(--accent-fill)}.nd-blog-cta{color:#1c1c1e;background:var(--accent-fill);border-radius:999px;padding:7px 14px;font-size:13.5px;font-weight:600;text-decoration:none;transition:transform .12s,background .12s}.nd-blog-cta:hover{background:var(--accent);transform:translateY(-1px)}.nd-blog-hero{padding:60px 0 8px}.nd-blog-hero h1{letter-spacing:-.03em;margin:0 0 14px;font-size:clamp(34px,6vw,46px);font-weight:800;line-height:1.08}.nd-blog-hero p{color:var(--text-dim);max-width:540px;margin:0;font-size:18px}.nd-post-list{margin:40px 0 72px;padding:0;list-style:none}.nd-post-item{border-top:1px solid var(--hair);padding:30px 0}.nd-post-item:last-child{border-bottom:1px solid var(--hair)}.nd-post-item a.nd-post-link{color:inherit;grid-template-columns:260px 1fr;align-items:start;gap:26px;text-decoration:none;display:grid}.nd-post-thumb img{aspect-ratio:1200/630;object-fit:cover;border:1px solid var(--hair);border-radius:12px;width:100%;height:auto;transition:border-color .15s;display:block}.nd-post-item a.nd-post-link:hover .nd-post-thumb img{border-color:var(--accent-fill)}.nd-post-body{min-width:0}.nd-post-item h2{letter-spacing:-.015em;color:var(--text);margin:10px 0 8px;font-size:25px;font-weight:700;line-height:1.28;transition:color .12s}.nd-post-item a.nd-post-link:hover h2{color:var(--accent)}.nd-post-item p{color:var(--text-dim);margin:0 0 14px;font-size:16.5px}.nd-post-item .nd-more{color:var(--accent-fill);font-size:14px;font-weight:600}.nd-meta{color:var(--text-mute);flex-wrap:wrap;align-items:center;gap:8px;font-size:13px;display:flex}.nd-meta time{letter-spacing:.01em}.nd-meta .dot{opacity:.5}.nd-tag{color:var(--text-dim);background:var(--bg-elev);border:1px solid var(--hair);border-radius:999px;padding:2px 9px;font-size:12px;display:inline-block}.nd-article{padding:52px 0 8px}.nd-article-head{margin-bottom:34px}.nd-article-head h1{letter-spacing:-.025em;margin:14px 0;font-size:clamp(30px,5.5vw,40px);font-weight:800;line-height:1.15}.nd-article-cover{aspect-ratio:1200/630;object-fit:cover;border:1px solid var(--hair);border-radius:16px;width:100%;height:auto;margin:0 0 40px;display:block}.nd-prose{color:#e6e6ea;font-size:18px;line-height:1.78}.nd-prose>:first-child{margin-top:0}.nd-prose h2{letter-spacing:-.015em;color:var(--text);margin:44px 0 14px;font-size:25px;font-weight:700}.nd-prose h3{margin:32px 0 10px;font-size:20px;font-weight:700}.nd-prose p{margin:0 0 20px}.nd-prose a{color:var(--accent);border-bottom:1px solid #ffd42659;text-decoration:none}.nd-prose a:hover{color:var(--accent-fill);border-bottom-color:var(--accent-fill)}.nd-prose ul,.nd-prose ol{margin:0 0 20px;padding-left:26px}.nd-prose li{margin:8px 0}.nd-prose li::marker{color:var(--accent-fill)}.nd-prose img{border:1px solid var(--hair);border-radius:14px;max-width:100%}.nd-prose blockquote{border-left:3px solid var(--accent-fill);color:var(--text-dim);margin:24px 0;padding:6px 20px;font-style:italic}.nd-prose code{border:1px solid var(--hair);background:#2a2a2c;border-radius:6px;padding:1px 6px;font-size:.88em}.nd-prose pre{border:1px solid var(--hair);background:#0f0f10;border-radius:14px;margin:0 0 22px;padding:18px 20px;overflow-x:auto}.nd-prose pre code{background:0 0;border:none;padding:0}.nd-prose hr{border:none;border-top:1px solid var(--hair);margin:40px 0}.nd-prose table{border-collapse:collapse;width:100%;margin:0 0 22px;font-size:16px;display:block;overflow-x:auto}.nd-prose th,.nd-prose td{border:1px solid var(--hair);text-align:left;padding:9px 13px}.nd-prose th{background:var(--bg-elev);font-weight:600}.nd-article-foot{border-top:1px solid var(--hair);margin:48px 0 0;padding-top:24px}.nd-back{color:var(--accent-fill);font-size:15px;font-weight:600;text-decoration:none}.nd-back:hover{color:var(--accent)}.nd-blog-footer{border-top:1px solid var(--hair);color:var(--text-mute);margin-top:40px;padding:26px 0;font-size:13.5px}.nd-blog-footer-in{justify-content:space-between;align-items:center;display:flex}.nd-blog-footer a{color:var(--text-dim);text-decoration:none}.nd-blog-footer a:hover{color:var(--accent)}@media (width<=640px){body{font-size:17px}.nd-blog-hero{padding-top:40px}.nd-post-item h2{font-size:22px}.nd-post-item a.nd-post-link{grid-template-columns:1fr;gap:14px}}
