/* ─── API reference page (nova/api-docs) ─────────────────────── */
.npa-hero { background:linear-gradient(135deg,#0a0a0a 0%,#1a1a1a 65%,#000000 100%); padding:72px 0 56px; color:#fff; text-align:center; }
.npa-hero h1 { font-size:clamp(2rem,4vw,2.8rem); font-weight:900; letter-spacing:-.04em; margin:0 0 14px; }
.npa-hero h1 em { font-style:normal; background:linear-gradient(90deg,#34d399,#6ee7b7); -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text; }
.npa-hero-sub { font-size:1.05rem; color:rgba(255,255,255,.75); max-width:560px; margin:0 auto 24px; line-height:1.7; }
.npa-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; }

.npa-layout { display:grid; grid-template-columns:240px 1fr; gap:0; max-width:1200px; margin:0 auto; }

.npa-sidebar { padding:32px 24px; border-right:1px solid var(--n-border); position:sticky; top:64px; height:calc(100vh - 64px); overflow-y:auto; }
.npa-sidebar-group { margin-bottom:24px; }
.npa-sidebar-group h4 { font-size:.72rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:var(--n-text-muted); margin:0 0 8px; }
.npa-sidebar-link { display:block; font-size:.87rem; color:var(--n-text-muted); padding:5px 0; transition:var(--n-transition); }
.npa-sidebar-link:hover { color:var(--n-primary); text-decoration:none; }
.npa-sidebar-link.active { color:var(--n-primary); font-weight:600; }

.npa-content { padding:40px 48px; }
.npa-section { margin-bottom:60px; }
.npa-section h2 { font-size:1.5rem; font-weight:800; color:var(--n-text); margin:0 0 8px; letter-spacing:-.03em; padding-bottom:12px; border-bottom:2px solid var(--n-primary-l); }
.npa-section h3 { font-size:1.1rem; font-weight:700; color:var(--n-text); margin:24px 0 10px; }
.npa-section p  { font-size:.9rem; color:var(--n-text-muted); line-height:1.75; margin-bottom:12px; }

.npa-method { display:inline-flex; align-items:center; gap:10px; margin-bottom:16px; }
.npa-method-badge { padding:4px 12px; border-radius:6px; font-size:.75rem; font-weight:800; letter-spacing:.05em; text-transform:uppercase; font-family:var(--n-mono); }
.method-get    { background:#f3f4f6; color:#111827; }
.method-post   { background:#dbeafe; color:#1e40af; }
.method-put    { background:#fef3c7; color:#92400e; }
.method-delete { background:#fee2e2; color:#991b1b; }
.npa-endpoint-path { font-family:var(--n-mono); font-size:.9rem; color:var(--n-text); font-weight:600; }

.npa-inline { font-family:var(--n-mono); font-size:.83rem; background:var(--n-bg); color:var(--n-primary); padding:2px 7px; border-radius:5px; }

.npa-block { background:#0d1f13; border:1px solid rgba(255,255,255,.08); border-radius:12px; overflow:hidden; margin:12px 0 20px; }
.npa-block-hd { display:flex; align-items:center; justify-content:space-between; padding:10px 16px; background:rgba(255,255,255,.04); border-bottom:1px solid rgba(255,255,255,.06); }
.npa-block-label { font-size:.75rem; font-weight:700; letter-spacing:.06em; text-transform:uppercase; color:rgba(255,255,255,.4); font-family:var(--n-mono); }
.npa-block pre { margin:0; padding:16px; overflow-x:auto; }
.npa-block code { font-family:var(--n-mono); font-size:.82rem; line-height:1.7; color:#e2e8f0; white-space:pre; }
.npa-block .str { color:#fca5a5; }
.npa-block .num { color:#fbbf24; }
.npa-block .key { color:#93c5fd; }
.npa-block .kw  { color:#86efac; }
.npa-block .cm  { color:#4b7a5a; }

.npa-table { width:100%; border-collapse:collapse; margin:12px 0 20px; }
.npa-table th { text-align:left; font-size:.78rem; font-weight:700; color:var(--n-text-muted); padding:8px 12px; border-bottom:2px solid var(--n-border); }
.npa-table td { padding:10px 12px; font-size:.87rem; color:var(--n-text-muted); border-bottom:1px solid #f1f5f9; vertical-align:top; }
.npa-table td:first-child { font-family:var(--n-mono); font-size:.82rem; color:var(--n-primary); }
.npa-table td.req { color:#dc2626; font-weight:600; font-size:.78rem; font-family:inherit; }
.npa-table td.opt { color:#6b7280; font-size:.78rem; font-family:inherit; }

@media(max-width:900px) {
  .npa-layout { grid-template-columns:1fr; }
  .npa-sidebar { display:none; }
  .npa-content { padding:24px; }
}
