/* KamiVerify — /developers
   Loaded AFTER kv_faq_bw.css (shell: tokens, bar, buttons, band, footer) and
   kv_info_bw.css (prose, sticky contents, tables). Only the pieces a developer
   page needs are here: code blocks, method badges, tabs, parameter tables. */

/* ---- hero numbers ---------------------------------------------------- */
.apihero .lead{max-width:64ch}
.keyline{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1.5rem}
.pill{border:1px solid var(--border);border-radius:100px;padding:.3125rem .75rem;
  font-family:var(--mono);font-size:.75rem;color:var(--muted-fg);white-space:nowrap}
.pill b{color:var(--fg);font-weight:650}

/* ---- three-step start ------------------------------------------------- */
.steps{display:grid;gap:1px;grid-template-columns:1fr;background:var(--border);
  border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;margin-top:1.5rem}
@media (min-width:820px){.steps{grid-template-columns:repeat(3,1fr)}}
.step{background:var(--card);padding:1.25rem 1.375rem}
.step .n{font-family:var(--mono);font-size:.6875rem;font-weight:700;color:var(--muted-fg);
  letter-spacing:.1em;margin-bottom:.5rem}
.step h3{font-size:1rem;margin-bottom:.375rem;letter-spacing:-.01em}
.step p{font-size:.875rem;color:var(--muted-fg);line-height:1.55;margin:0}

/* ---- code ------------------------------------------------------------- */
.code{border:1px solid var(--border);border-radius:var(--radius);background:var(--muted);
  overflow:hidden;margin:.75rem 0}
.code-head{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;
  border-bottom:1px solid var(--border);background:var(--card)}
.code-head .lbl{font-family:var(--mono);font-size:.6875rem;text-transform:uppercase;
  letter-spacing:.08em;color:var(--muted-fg);font-weight:700}
.code-head .grow{flex:1}
.tabs{display:flex;gap:.25rem}
.tab{font-family:var(--mono);font-size:.75rem;padding:.25rem .5rem;border-radius:5px;
  color:var(--muted-fg);border:1px solid transparent;cursor:pointer;background:none}
.tab:hover{color:var(--fg)}
.tab[aria-selected="true"]{color:var(--fg);border-color:var(--border);background:var(--muted)}
.code pre{margin:0;padding:.875rem 1rem;overflow-x:auto;font-family:var(--mono);
  font-size:.8125rem;line-height:1.65;color:var(--fg);white-space:pre;tab-size:2}
.code pre .c{color:var(--muted-fg)}                 /* comment  */
.code pre .k{color:var(--fg);font-weight:650}       /* keyword  */
.code pre .s{color:var(--muted-fg)}                 /* string   */
.copy{font-family:var(--mono);font-size:.6875rem;color:var(--muted-fg);background:none;
  border:1px solid var(--border);border-radius:5px;padding:.1875rem .5rem;cursor:pointer}
.copy:hover{color:var(--fg)}

/* ---- endpoint rows ---------------------------------------------------- */
.ep{border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;margin:.875rem 0}
.ep-head{display:flex;align-items:center;gap:.625rem;padding:.75rem .875rem;
  background:var(--card);flex-wrap:wrap}
.verb{font-family:var(--mono);font-size:.6875rem;font-weight:700;letter-spacing:.06em;
  border:1px solid var(--border);border-radius:5px;padding:.1875rem .4375rem;color:var(--fg)}
.path{font-family:var(--mono);font-size:.8125rem;color:var(--fg);word-break:break-all}
.ep-head .what{font-size:.8125rem;color:var(--muted-fg);width:100%}
@media (min-width:720px){.ep-head .what{width:auto;margin-left:auto;text-align:right}}
.ep-body{padding:.875rem;border-top:1px solid var(--border)}

/* ---- parameter table -------------------------------------------------- */
.pt{width:100%;border-collapse:collapse;font-size:.8125rem}
.ptwrap{overflow-x:auto}
.pt th{text-align:left;padding:.4375rem .625rem;color:var(--muted-fg);font-family:var(--mono);
  font-size:.625rem;text-transform:uppercase;letter-spacing:.08em;font-weight:700;
  border-bottom:1px solid var(--border);white-space:nowrap}
.pt td{padding:.5rem .625rem;border-bottom:1px solid var(--border);color:var(--muted-fg);
  vertical-align:top;line-height:1.5}
.pt tr:last-child td{border-bottom:0}
.pt td:first-child{font-family:var(--mono);color:var(--fg);white-space:nowrap}
.req{font-family:var(--mono);font-size:.625rem;color:var(--fg);border:1px solid var(--border);
  border-radius:4px;padding:0 .25rem;margin-left:.25rem}

/* ---- status / error grid ---------------------------------------------- */
.grid2{display:grid;gap:.75rem;grid-template-columns:1fr;margin-top:.75rem}
@media (min-width:720px){.grid2{grid-template-columns:repeat(2,1fr)}}
.mini{border:1px solid var(--border);border-radius:var(--radius);padding:.75rem .875rem;background:var(--card)}
.mini code{font-family:var(--mono);font-size:.8125rem;color:var(--fg);font-weight:650}
.mini span{display:block;font-size:.8125rem;color:var(--muted-fg);margin-top:.25rem;line-height:1.5}

/* ---- callout ---------------------------------------------------------- */
.warn{border:1px solid var(--border);border-left:3px solid var(--fg);
  border-radius:0 var(--radius) var(--radius) 0;background:var(--muted);
  padding:.875rem 1rem;margin:1rem 0;font-size:.875rem;color:var(--muted-fg);
  line-height:1.6;max-width:72ch}
.warn b{color:var(--fg)}

/* the version switch at the top of the reference */
.vswitch{display:inline-flex;border:1px solid var(--border);border-radius:8px;overflow:hidden;
  margin-bottom:1.25rem}
.vswitch a{font-family:var(--mono);font-size:.8125rem;padding:.4375rem .875rem;
  color:var(--muted-fg);border-right:1px solid var(--border)}
.vswitch a:last-child{border-right:0}
.vswitch a[aria-current="true"]{background:var(--muted);color:var(--fg);font-weight:650}

/* Inline code carrying a full URL - the /stubs/handler_api.php line - is long
   enough to push a 380px screen sideways. Block code lives in its own
   overflow-x box and is unaffected; this is only for inline spans. */
.prose code,
.mini code{overflow-wrap:anywhere;word-break:break-word}
