/* Public developer documentation (/developer, src/views/developer.js). Tokens from app.css only. */
.developer .dev-actions{margin:var(--s-lg) 0 var(--s-xl)}
.dev-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--s-xl);align-items:start}
@media (min-width:1024px){.dev-layout{grid-template-columns:220px minmax(0,1fr)}}

.dev-toc{border:1px solid var(--hairline);border-radius:var(--r-lg);background:var(--surface-soft);padding:var(--s-base)}
@media (min-width:1024px){.dev-toc{position:sticky;top:calc(var(--header-h) + var(--s-base))}}
.dev-toc-title{margin:0 0 var(--s-sm);font-size:12px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.dev-toc ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--s-xxs)}
.dev-toc a{display:block;padding:var(--s-xs) var(--s-sm);border-radius:var(--r-sm);color:var(--body);font-size:14px;font-weight:500}
.dev-toc a:hover{background:var(--surface-strong);color:var(--ink);text-decoration:none}

.dev-content{min-width:0}
.dev-section{margin-bottom:var(--s-xxl);scroll-margin-top:calc(var(--header-h) + var(--s-base))}
.dev-section > h2{margin:0 0 var(--s-md);font-size:24px;font-weight:700;letter-spacing:-.02em;color:var(--ink)}
.dev-section > h3{margin:var(--s-lg) 0 var(--s-sm);font-size:18px;font-weight:600;color:var(--ink)}
.dev-desc{font-size:15px;line-height:1.65}
.dev-desc > *{max-width:none}
.dev-base{font-size:14px;color:var(--muted)}
.dev-base code,.dev-section code,.dev-op code{font-family:var(--mono);font-size:.9em;overflow-wrap:anywhere}

.dev-code{margin:var(--s-md) 0 var(--s-base);padding:var(--s-base);border:1px solid var(--hairline);border-radius:var(--r-lg);background:var(--surface-soft);
  overflow-x:auto;font-family:var(--mono);font-size:13px;line-height:1.6;color:var(--ink)}
.dev-code code{white-space:pre;overflow-wrap:normal}

.dev-op{margin:var(--s-base) 0;padding:var(--s-base) var(--s-lg);border:1px solid var(--hairline);border-radius:var(--r-lg);background:var(--canvas);
  scroll-margin-top:calc(var(--header-h) + var(--s-base))}
.dev-op-title{display:flex;align-items:center;flex-wrap:wrap;gap:var(--s-sm);margin:0;font-size:16px;font-weight:600;color:var(--ink)}
.dev-path{font-size:15px;overflow-wrap:anywhere}
.dev-method{display:inline-flex;align-items:center;justify-content:center;min-width:64px;padding:var(--s-xxs) var(--s-sm);border-radius:var(--r-full);
  font-family:var(--mono);font-size:12px;font-weight:700;letter-spacing:.04em;border:1px solid transparent}
.dev-get{background:var(--success-50);color:var(--success-700);border-color:var(--success-100)}
.dev-post{background:var(--primary-tint);color:var(--primary-text);border-color:var(--primary-border)}
.dev-put,.dev-patch{background:var(--warning-50);color:var(--warning-700);border-color:var(--warning-100)}
.dev-delete{background:var(--error-50);color:var(--error-700);border-color:var(--error-100)}
.dev-event{background:var(--surface-strong);color:var(--ink);border-color:var(--hairline)}
.dev-summary{margin:var(--s-sm) 0 var(--s-xs);color:var(--ink);font-weight:500}
.dev-auth{display:flex;align-items:center;gap:var(--s-xs);margin:0 0 var(--s-sm);font-size:13px;color:var(--muted)}
.dev-auth svg{flex:none}
.dev-h4{margin:var(--s-base) 0 var(--s-sm);font-size:14px;font-weight:600;color:var(--ink)}
.dev-table{margin-bottom:var(--s-sm)}
.dev-table td{font-size:14px;vertical-align:top}
.dev-type{font-family:var(--mono);font-size:13px;white-space:nowrap}
.dev-responses{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--s-xs)}
.dev-responses li{display:flex;align-items:baseline;gap:var(--s-sm);font-size:14px}
.dev-responses .pill{flex:none;font-family:var(--mono)}
@media (max-width:640px){
  .dev-op{padding:var(--s-md)}
  .dev-type{white-space:normal}
}
