/* ─── Developers page (nova/developers) ─────────────────────── */
.npd-hero { background:linear-gradient(135deg,#0a0a0a 0%,#1a1a1a 65%,#000000 100%); padding:80px 0 64px; color:#fff; text-align:center; }
.npd-hero-badge { display:inline-block; background:rgba(245,158,11,.18); color:#fbbf24; border:1px solid rgba(245,158,11,.3); padding:5px 16px; border-radius:99px; font-size:.78rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase; margin-bottom:20px; }
.npd-hero h1 { font-size:clamp(2rem,4vw,3rem); font-weight:900; letter-spacing:-.04em; margin:0 0 16px; }
.npd-hero h1 em { font-style:normal; background:linear-gradient(90deg,#34d399,#6ee7b7); -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text; }
.npd-hero-sub { font-size:1.1rem; color:rgba(255,255,255,.75); line-height:1.7; max-width:620px; margin:0 auto 32px; }
.npd-hero-btns { display:flex; gap:12px; justify-content:center; flex-wrap:wrap; }

.npd-section { max-width:1100px; margin:0 auto; padding:60px 24px; }
.npd-tabs { display:flex; gap:8px; flex-wrap:wrap; margin-bottom:32px; background:var(--n-bg); padding:8px; border-radius:12px; width:fit-content; }
.npd-tab { padding:9px 20px; border-radius:8px; border:none; background:transparent; font-size:.88rem; font-weight:600; color:var(--n-text-muted); cursor:pointer; transition:var(--n-transition); font-family:inherit; }
.npd-tab.active { background:#fff; color:var(--n-primary); box-shadow:0 2px 8px rgba(0,0,0,.08); }
.npd-tab:hover:not(.active) { color:var(--n-primary); }
.npd-code-wrap { display:none; }
.npd-code-wrap.active { display:block; }

.npd-code-box { background:#0d1f13; border:1px solid rgba(255,255,255,.08); border-radius:16px; overflow:hidden; margin-bottom:28px; }
.npd-code-hd { display:flex; align-items:center; gap:8px; padding:12px 18px; background:rgba(255,255,255,.04); border-bottom:1px solid rgba(255,255,255,.06); }
.npd-code-dots { display:flex; gap:6px; }
.npd-code-dot { width:10px; height:10px; border-radius:50%; }
.npd-code-lang { font-size:.78rem; color:rgba(255,255,255,.4); margin-left:auto; font-family:var(--n-mono); }
.npd-code-body { padding:24px; overflow-x:auto; }
.npd-code-body pre { margin:0; }
.npd-code-body code { font-family:var(--n-mono); font-size:.83rem; line-height:1.75; color:#e2e8f0; white-space:pre; }
.npd-code-body .cm  { color:#4b7a5a; }
.npd-code-body .kw  { color:#86efac; }
.npd-code-body .str { color:#fca5a5; }
.npd-code-body .var { color:#93c5fd; }
.npd-code-body .num { color:#fbbf24; }
.npd-code-body .fn  { color:#c084fc; }

.npd-endpoints { background:var(--n-bg); padding:60px 0; }
.npd-endpoint-table { width:100%; border-collapse:separate; border-spacing:0; border-radius:14px; overflow:hidden; border:1px solid var(--n-border); background:#fff; }
.npd-endpoint-table th { background:var(--n-bg); padding:14px 20px; text-align:left; font-size:.82rem; font-weight:700; color:var(--n-text-muted); border-bottom:1px solid var(--n-border); }
.npd-endpoint-table td { padding:14px 20px; font-size:.88rem; color:var(--n-text-muted); border-bottom:1px solid #f8fafc; vertical-align:top; }
.npd-endpoint-table tr:last-child td { border-bottom:none; }
.npd-endpoint-table td:first-child { font-family:var(--n-mono); font-size:.82rem; color:var(--n-primary); font-weight:600; white-space:nowrap; }

.npd-params-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(260px,1fr)); gap:16px; margin-top:32px; }
.npd-param-card { background:#fff; border:1px solid var(--n-border); border-radius:12px; padding:20px; }
.npd-param-name { font-family:var(--n-mono); font-size:.85rem; color:var(--n-primary); font-weight:700; margin-bottom:6px; }
.npd-param-desc { font-size:.85rem; color:var(--n-text-muted); line-height:1.6; margin-bottom:8px; }
.npd-param-example { font-family:var(--n-mono); font-size:.78rem; background:var(--n-bg); color:var(--n-text); padding:6px 10px; border-radius:6px; }

.npd-feats-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:20px; margin-top:40px; }
.npd-feat-card { background:#fff; border:1px solid var(--n-border); border-radius:14px; padding:24px; }
.npd-feat-icon { font-size:1.8rem; margin-bottom:12px; }
.npd-feat-title { font-size:1rem; font-weight:700; color:var(--n-text); margin-bottom:8px; }
.npd-feat-desc { font-size:.87rem; color:var(--n-text-muted); line-height:1.65; }

.npd-cta { background:linear-gradient(135deg,var(--n-primary-d),#0a0a0a); padding:64px 24px; text-align:center; color:#fff; }
.npd-cta h2 { font-size:2rem; font-weight:900; margin:0 0 12px; letter-spacing:-.03em; }
.npd-cta p { color:rgba(255,255,255,.7); margin:0 0 28px; font-size:1rem; }
.npd-cta-btns { display:flex; gap:14px; justify-content:center; flex-wrap:wrap; }
.npd-cta-btns a { padding:14px 32px; border-radius:10px; font-size:1rem; font-weight:700; transition:var(--n-transition); text-decoration:none; }
.npd-cta-btns .solid { background:#fff; color:var(--n-primary); }
.npd-cta-btns .outline { border:2px solid rgba(255,255,255,.4); color:#fff; }
.npd-cta-btns a:hover { opacity:.88; }

@media(max-width:768px) { .npd-code-body { padding:16px; } }
