/* Public API guide — Design DNA: blue / pink / white / light gray */
.api-page{display:flex;flex-direction:column;min-height:calc(100vh - 64px);background:var(--bg,#f4f5f7)}
.api-shell{display:grid;grid-template-columns:260px minmax(0,1fr);flex:1;min-height:0;max-width:1400px;width:100%;margin:0 auto}
.api-side{border-right:1px solid var(--line,#e2e5eb);background:var(--white,#fff);padding:16px 12px 40px;overflow:auto;position:sticky;top:64px;height:calc(100vh - 64px)}
.api-side h3{margin:14px 8px 6px;font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted,#5c6573)}
.api-side a{display:block;padding:7px 10px;border-radius:6px;color:#344054;font-size:.88rem;font-weight:550}
.api-side a:hover{background:var(--blue-soft,#e8eef9);color:var(--blue,#2f5ae1)}
.api-side a.on{background:var(--blue-soft,#e8eef9);color:var(--blue,#2f5ae1);font-weight:700}
.api-side .meth{display:inline-block;min-width:3.2rem;font-family:var(--mono);font-size:.68rem;font-weight:700;margin-right:6px;opacity:.85}
.api-side .GET{color:#067647}.api-side .POST{color:var(--blue,#2f5ae1)}.api-side .PUT{color:#b54708}.api-side .DELETE{color:var(--pink-deep,#c43b6e)}
.api-main{padding:22px 28px 64px;overflow:auto}
.api-main .intro{margin-bottom:22px}
.api-main .intro h1{margin:0 0 8px;font-size:1.85rem;letter-spacing:-.03em;color:var(--text,#1a1f2b)}
.api-main .intro > p{color:var(--muted,#5c6573);margin:0 0 16px;max-width:70ch}
.api-langs-block{margin:0 0 22px;padding:14px 16px;background:var(--white,#fff);border:1px solid var(--line,#e2e5eb);border-radius:6px}
.api-langs-block .label{display:block;font-size:.72rem;font-weight:700;color:var(--muted,#5c6573);text-transform:uppercase;letter-spacing:.06em;margin:0 0 10px}
.api-langs{display:flex;flex-wrap:wrap;gap:6px}
.api-lang{appearance:none;border:1px solid var(--line,#e2e5eb);background:var(--sidebar,#f7f8fa);color:#344054;border-radius:6px;padding:7px 12px;font:inherit;font-size:.82rem;font-weight:650;cursor:pointer}
.api-lang:hover{border-color:#c7d2fe;background:var(--blue-soft,#e8eef9);color:var(--blue,#2f5ae1)}
.api-lang.on{background:var(--blue,#2f5ae1);border-color:var(--blue,#2f5ae1);color:#fff;box-shadow:0 1px 0 #ffffff2e inset,0 3px 0 #f944ff,0 1px 2px #10182814,0 3px 8px #3d067138!important}
.api-ep{scroll-margin-top:88px;background:var(--white,#fff);border:1px solid var(--line,#e2e5eb);border-radius:6px;padding:20px 22px;margin:0 0 18px}
.api-ep h2{margin:0 0 6px;font-size:1.25rem;letter-spacing:-.02em;display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.api-badge{font-family:var(--mono);font-size:.72rem;font-weight:700;padding:3px 8px;border-radius:6px;background:#f2f4f7}
.api-badge.GET{background:#ecfdf3;color:#067647}
.api-badge.POST{background:var(--blue-soft,#e8eef9);color:var(--blue,#2f5ae1)}
.api-badge.PUT{background:#fffaeb;color:#b54708}
.api-badge.DELETE{background:var(--pink-soft,#f8e8ef);color:var(--pink-deep,#c43b6e)}
.api-path{font-family:var(--mono);font-size:.88rem;word-break:break-all;background:var(--sidebar,#f7f8fa);border:1px solid var(--line,#e2e5eb);border-radius:6px;padding:8px 10px;margin:10px 0 14px}
.api-ep p.desc{color:#475467;margin:0 0 14px}
.api-table{width:100%;border-collapse:collapse;font-size:.88rem;margin:0 0 14px}
.api-table th,.api-table td{text-align:left;padding:8px 10px;border-bottom:1px solid var(--line,#e2e5eb);vertical-align:top}
.api-table th{font-size:.72rem;text-transform:uppercase;letter-spacing:.05em;color:var(--muted,#5c6573);font-weight:700}
.api-table code{font-family:var(--mono);font-size:.8rem;background:var(--blue-soft,#e8eef9);color:var(--blue,#2f5ae1);padding:1px 5px;border-radius:4px}
.req{color:var(--pink-deep,#c43b6e);font-size:.72rem;font-weight:700;margin-left:4px}
.opt{color:var(--muted,#5c6573);font-size:.72rem;margin-left:4px}
.api-h{font-size:.95rem;margin:16px 0 8px;letter-spacing:-.02em}

/* Colorful snippet system */
.snip{position:relative;background:#0b1220;color:#e2e8f0;border-radius:6px;margin:8px 0 14px;overflow:hidden;border:1px solid #1e293b}
.snip-bar{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;background:linear-gradient(90deg,#121a2b,#1a1030);border-bottom:1px solid #2a3550}
.snip-bar span{font-size:.72rem;font-weight:700;color:#a5b4fc;text-transform:uppercase;letter-spacing:.06em}
.snip-copy{appearance:none;border:0;background:var(--blue,#2f5ae1);color:#fff;border-radius:6px;padding:5px 10px;font:inherit;font-size:.75rem;font-weight:650;cursor:pointer;display:inline-flex;align-items:center;gap:6px;box-shadow:0 1px 0 #ffffff2e inset,0 2px 0 #f944ff,0 1px 2px #10182814!important}
.snip-copy:hover{background:var(--blue2,#2448c2)}
.snip-copy.ok{background:#067647;box-shadow:none!important}
.snip pre{margin:0;padding:14px 16px;overflow:auto;font-family:var(--mono);font-size:.8rem;line-height:1.6;white-space:pre;color:#e2e8f0}
.snip .tok-kw{color:#c4b5fd}
.snip .tok-str{color:#86efac}
.snip .tok-num{color:#fda4af}
.snip .tok-cm{color:#64748b;font-style:italic}
.snip .tok-fn{color:#7dd3fc}
.snip .tok-prop{color:#f9a8d4}
.snip .tok-op{color:#94a3b8}
.snip .tok-pun{color:#cbd5e1}
.snip .tok-bool{color:#fbbf24}
.snip .tok-type{color:#67e8f9}
.snip .tok-flag{color:#f0abfc}
.snip .tok-url{color:#93c5fd;text-decoration:underline;text-decoration-color:#3b82f680}
.api-note{font-size:.86rem;color:#475467;background:var(--sidebar,#f7f8fa);border:1px solid var(--line,#e2e5eb);border-radius:6px;padding:10px 12px;margin:8px 0 14px;border-left:3px solid var(--pink,#f944ff)}
.status-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:8px;margin:0 0 14px}
.status-card{border:1px solid var(--line,#e2e5eb);border-radius:6px;padding:10px 12px;background:var(--white,#fff)}
.status-card b{display:block;font-family:var(--mono);font-size:.82rem;margin-bottom:4px;color:var(--blue,#2f5ae1)}
.status-card span{font-size:.82rem;color:#475467}
@media (max-width:900px){
  .api-shell{grid-template-columns:1fr}
  .api-side{position:static;height:auto;max-height:220px;border-right:0;border-bottom:1px solid var(--line,#e2e5eb)}
  .api-main{padding:16px}
}
