/* Shared api.plus foundation: use these tokens in every product area. */
:root {
  --ap-brand:#1d4ed8; --ap-brand-hover:#1e40af; --ap-on-brand:#fff;
  --ap-text:#172033; --ap-text-rgb:23,32,51; --ap-muted:#526176; --ap-border:#d8e0ea; --ap-control-border:#728196;
  --ap-canvas:#f5f7fb; --ap-surface:#fff; --ap-subtle:#edf2f8;
  --ap-danger:#b42336; --ap-success:#146c43; --ap-warning:#805b00; --ap-info:#0b687b;
  --ap-radius:.625rem; --ap-shadow:0 2px 8px rgb(23 32 51 / 4%);
  --ap-font:system-ui,-apple-system,"Segoe UI","Microsoft YaHei",sans-serif;
  --ap-space-1:.25rem; --ap-space-2:.5rem; --ap-space-3:.75rem;
  --ap-space-4:1rem; --ap-space-6:1.5rem; --ap-space-8:2rem;
  --ap-content:80rem; --ap-reading:48rem;
  --primary-color:var(--ap-brand); --primary-hover:var(--ap-brand-hover);
  --text-main:var(--ap-text); --text-regular:var(--ap-muted); --text-secondary:var(--ap-muted);
  --border-color:var(--ap-border); --bg-color:var(--ap-canvas); --card-bg:var(--ap-surface);
}
html[data-ap-theme="dark"],body.dark-mode {
  --ap-brand:#93c5fd; --ap-brand-hover:#bfdbfe; --ap-on-brand:#111827; --ap-text:#e5edf7; --ap-text-rgb:229,237,247;
  --ap-muted:#a6b5c8; --ap-border:#35435a; --ap-control-border:#8191a9; --ap-canvas:#111827;
  --ap-surface:#1c2638; --ap-subtle:#263348;
  --ap-danger:#fda4af; --ap-success:#86efac; --ap-warning:#fcd34d; --ap-info:#7dd3fc;
}
html { scroll-padding-top:5rem; -webkit-text-size-adjust:100%; }
body { font-family:var(--ap-font); line-height:1.6; }
*,*::before,*::after { box-sizing:border-box; }
img,svg,video { max-width:100%; }
input,select,textarea,button { font:inherit; }
button,a,input,select,textarea { touch-action:manipulation; }
:focus-visible { outline:3px solid var(--ap-brand); outline-offset:3px; }
[hidden] { display:none !important; }
.skip-link { position:fixed; left:1rem; top:-8rem; z-index:11000; background:#1d4ed8; color:#fff; padding:.75rem 1rem; border-radius:var(--ap-radius); }
.skip-link:focus { top:1rem; color:#fff; }
.ap-status { padding:1rem; border:1px solid var(--ap-border); border-radius:var(--ap-radius); background:var(--ap-subtle); color:var(--ap-text); }
.ap-status--error { border-color:var(--ap-danger); }
.ap-field-help { display:block; margin-top:.375rem; color:var(--ap-muted); font-size:.875rem; }
.ap-empty { padding:clamp(1.5rem,4vw,3rem); text-align:center; color:var(--ap-muted); }
.ap-details { margin-top:.375rem; min-width:0; max-inline-size:32rem; white-space:normal; }
.ap-inline-text { white-space:normal; overflow-wrap:anywhere; }
.ap-details>summary { min-height:44px; padding:.5rem .25rem; color:var(--ap-brand); cursor:pointer; overflow-wrap:anywhere; }
.ap-details-body { margin-top:.375rem; max-block-size:20rem; overflow:auto; overflow-wrap:anywhere; white-space:pre-wrap; }
.ap-details-body>p:last-child { margin-bottom:0; }
@media (prefers-reduced-motion:reduce) {
  *,*::before,*::after { animation-duration:.01ms !important; animation-iteration-count:1 !important; transition-duration:.01ms !important; scroll-behavior:auto !important; }
}
