.main{
  position:relative;z-index:1;flex:1;
  max-width:820px;width:100%;margin:0 auto;padding:3rem 2rem 4rem;
}
.page-title{
  font-size:2rem;font-weight:700;letter-spacing:-.03em;
  background:linear-gradient(135deg,#e0e7ff 0%,#a78bfa 50%,#7c3aed 100%);
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;
}
.page-sub{
  margin-top:.5rem;font-size:.95rem;color:rgba(255,255,255,.4);font-weight:300;
}
.divider{
  width:100%;height:1px;margin:2rem 0;
  background:linear-gradient(90deg,transparent,rgba(124,58,237,.4),transparent);
}

/* ── endpoint card ── */
.endpoint{
  background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.07);
  border-radius:12px;padding:1.75rem;margin-bottom:1.5rem;
  transition:border-color .2s;
}
.endpoint:hover{border-color:rgba(124,58,237,.35)}
.endpoint-head{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}
.method{
  font-size:.7rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;
  padding:.3rem .7rem;border-radius:6px;
}
.method.post{background:rgba(124,58,237,.2);color:#a78bfa}
.method.get{background:rgba(34,197,94,.15);color:#4ade80}
.endpoint-path{
  font-size:1.05rem;font-weight:600;font-family:'SF Mono','Fira Code',monospace;
  color:rgba(255,255,255,.85);
}
.endpoint-desc{
  margin-top:.75rem;font-size:.88rem;color:rgba(255,255,255,.45);
  line-height:1.6;font-weight:300;
}

/* ── params table ── */
.params{margin-top:1.25rem}
.params-title{
  font-size:.75rem;font-weight:500;color:rgba(255,255,255,.3);
  letter-spacing:.1em;text-transform:uppercase;margin-bottom:.6rem;
}
.params-table{width:100%;border-collapse:collapse}
.params-table th{
  text-align:left;font-size:.7rem;font-weight:500;
  color:rgba(255,255,255,.25);letter-spacing:.06em;text-transform:uppercase;
  padding:.4rem .6rem;border-bottom:1px solid rgba(255,255,255,.06);
}
.params-table td{
  font-size:.82rem;color:rgba(255,255,255,.55);
  padding:.5rem .6rem;border-bottom:1px solid rgba(255,255,255,.04);
  vertical-align:top;
}
.params-table td:first-child{
  font-family:'SF Mono','Fira Code',monospace;color:#a78bfa;white-space:nowrap;
}
.tag{
  display:inline-block;font-size:.65rem;font-weight:500;
  padding:.15rem .45rem;border-radius:4px;letter-spacing:.03em;
}
.tag.required{background:rgba(239,68,68,.15);color:#f87171}
.tag.optional{background:rgba(255,255,255,.06);color:rgba(255,255,255,.35)}
.tag.header{background:rgba(124,58,237,.12);color:#a78bfa}
.tag.body{background:rgba(59,130,246,.12);color:#60a5fa}

/* ── response block ── */
.response{margin-top:1.25rem}
.response-title{
  font-size:.75rem;font-weight:500;color:rgba(255,255,255,.3);
  letter-spacing:.1em;text-transform:uppercase;margin-bottom:.6rem;
}
.code-block{
  background:rgba(0,0,0,.4);border:1px solid rgba(255,255,255,.06);
  border-radius:8px;padding:1rem 1.25rem;overflow-x:auto;
  font-family:'SF Mono','Fira Code',monospace;font-size:.8rem;
  color:rgba(255,255,255,.55);line-height:1.7;
}
.code-block .key{color:#a78bfa}
.code-block .str{color:#4ade80}
.code-block .num{color:#fbbf24}
.code-block .bool{color:#60a5fa}
