
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{
  --g950:#090b0a;--g900:#101311;--g850:#151916;--g800:#1b201c;
  --line:#343a34;--line-strong:#60675e;
  --cream:#ece4d2;--cream-dim:#b9b2a3;--cream-faint:#86877d;
  --orange:#e45525;--orange-dark:#963719;--green:#91c98f;
  --display:'Barlow Condensed','Arial Narrow','Avenir Next Condensed',sans-serif;
  --mono:'IBM Plex Mono','SFMono-Regular',Consolas,monospace;
  --bg:var(--g950);--bg-secondary:var(--g900);--panel:var(--g850);--panel-strong:var(--g800);
  --text:var(--cream);--text-secondary:var(--cream-dim);--text-muted:var(--cream-faint);
  --border:var(--line);--border-strong:var(--line-strong);
  --accent:var(--orange);--accent-bg:var(--g800);--code-bg:#070908;--code-text:#dcd5c7;
  --inline-code:var(--g800);--transition:140ms ease;--max:1720px;
}
@media (prefers-reduced-motion: no-preference){html{scroll-behavior:smooth}}
body{min-height:100vh;background:var(--g950);color:var(--cream);font-family:var(--mono);
  line-height:1.68;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
::selection{background:var(--orange);color:var(--g950)}
a{color:var(--orange)}
:focus-visible{outline:2px solid var(--cream);outline-offset:3px}
.skip-link{position:fixed;left:12px;top:-80px;z-index:100;background:var(--cream);
  color:var(--g950);padding:.65rem .9rem;font-size:.72rem;font-weight:700;
  letter-spacing:.08em;text-decoration:none;text-transform:uppercase}
.skip-link:focus{top:12px}
.site-frame{width:min(100%,var(--max));min-height:100vh;margin:0 auto;overflow:clip;
  border-inline:1px solid var(--line);background:var(--g900)}
.utility-rail{min-height:34px;display:grid;grid-template-columns:1fr auto;align-items:center;
  gap:18px;padding:0 clamp(18px,3.2vw,52px);border-bottom:1px solid var(--line);
  background:var(--g950);color:var(--cream-dim);font-size:10px;letter-spacing:.13em;
  text-transform:uppercase}
.utility-rail .bus{color:var(--orange);font-weight:600;text-align:right}
.site-header{position:sticky;top:0;z-index:40;background:var(--g900);
  border-bottom:1px solid var(--line-strong)}
.topbar{min-height:78px;display:grid;grid-template-columns:minmax(220px,.85fr) 1.65fr minmax(230px,.8fr);align-items:stretch}
.brand,.site-nav,.gate-state{display:flex;align-items:center;padding-inline:clamp(18px,3.2vw,52px)}
.brand{gap:14px;border-right:1px solid var(--line);color:var(--cream);
  font:800 25px/1 var(--display);letter-spacing:.01em;text-decoration:none;text-transform:uppercase}
.brand img{width:36px;height:36px}.brand .io,.footer-brand .io{color:var(--orange)}
.site-nav{justify-content:center;gap:clamp(10px,1.9vw,30px)}
.site-nav a{min-height:44px;display:inline-flex;align-items:center;border-bottom:2px solid transparent;
  color:var(--cream-dim);font-size:11px;font-weight:600;letter-spacing:.09em;
  text-decoration:none;text-transform:uppercase;transition:color var(--transition),border-color var(--transition)}
.site-nav a:hover,.site-nav a.active{color:var(--cream);border-bottom-color:var(--orange)}
.gate-state{justify-content:flex-end;gap:10px;border-left:1px solid var(--line);
  color:var(--cream-dim);font-size:11px;letter-spacing:.1em;text-transform:uppercase}
.lamp{width:9px;height:9px;flex:0 0 9px;border:1px solid currentColor;border-radius:50%;background:currentColor}
.lamp.green{color:var(--green)}
/* ── Docs shell: sticky left nav + content column ── */
.docs-shell{max-width:1380px;margin:0 auto;padding:0 clamp(18px,3.2vw,52px);
  display:grid;grid-template-columns:285px minmax(0,960px);gap:clamp(2.2rem,5vw,5.5rem);
  justify-content:center;align-items:start}
main{min-width:0;max-width:960px;padding:3rem 0 6rem}
.doc-readout{display:flex;justify-content:space-between;gap:1rem;margin-bottom:2.3rem;
  padding:.75rem 0;border-block:1px solid var(--line);color:var(--cream-faint);
  font-size:.66rem;font-weight:600;letter-spacing:.11em;text-transform:uppercase}
.doc-readout span:last-child{color:var(--green);text-align:right}
.docs-sidebar{position:sticky;top:78px;max-height:calc(100vh - 78px);overflow-y:auto;
  padding:2rem 1.25rem 3rem 0;border-right:1px solid var(--line)}
.sb-label{display:block;margin-bottom:1rem;padding-bottom:.7rem;border-bottom:1px solid var(--line-strong);
  color:var(--cream);font-size:.69rem;font-weight:700;letter-spacing:.11em;
  text-decoration:none;text-transform:uppercase}
.sb-label::before{content:'FIELD GUIDE / ';color:var(--orange)}
.sb-label:hover,.sb-label.active{color:var(--orange)}
.sb-filter{width:100%;margin:0 0 .9rem;padding:.62rem .72rem;border:1px solid var(--line-strong);
  border-radius:0;background:var(--g850);color:var(--cream);font:400 .72rem var(--mono);outline:none}
.sb-filter:focus{border-color:var(--orange)}.sb-filter::placeholder{color:var(--cream-faint)}
.sb-empty{display:none;padding:.35rem .65rem;color:var(--cream-faint);font-size:.75rem}
.sb-results{margin:0 0 .8rem}
.sb-results a{display:block;margin:.4rem 0;padding:.65rem;border:1px solid var(--line);
  color:inherit;text-decoration:none;transition:border-color var(--transition),background var(--transition)}
.sb-results a:hover{border-color:var(--orange);background:var(--g850)}
.sb-results .r-t{color:var(--cream);font-size:.75rem;font-weight:600}
.sb-results .r-t .r-sec{color:var(--orange)}
.sb-results .r-x{margin-top:.2rem;color:var(--cream-dim);font-size:.68rem;line-height:1.45;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.sb-results .r-x mark{background:transparent;color:var(--orange);font-weight:700}
.sb-list{list-style:none;margin:0;padding:0}
.sb-list>li{margin:0}
.sb-link{display:block;min-height:38px;padding:.52rem .65rem;border-left:2px solid transparent;
  color:var(--cream-dim);font-size:.72rem;font-weight:500;text-decoration:none;
  transition:color var(--transition),background var(--transition),border-color var(--transition)}
.sb-link:hover{color:var(--cream);background:var(--g850)}
.sb-link.active{border-left-color:var(--orange);background:var(--g800);color:var(--cream);font-weight:600}
.sb-sections{list-style:none;margin:.25rem 0 .65rem .65rem;padding:0 0 0 .65rem;
  border-left:1px solid var(--line)}
.sb-sections li{margin:0}
.sb-sections a{display:block;padding:.3rem .45rem;color:var(--cream-faint);font-size:.71rem;
  text-decoration:none;transition:color var(--transition),background var(--transition)}
.sb-sections a:hover,.sb-sections a.active{color:var(--orange)}
.sb-toggle{display:none}
@media(max-width:940px){
  table{display:block;overflow-x:auto}
  .docs-shell{display:block}
  main{max-width:820px;margin:0 auto;padding:2.2rem 0 4rem}
  .sb-toggle{display:flex;align-items:center;justify-content:space-between;width:100%;
    min-height:48px;margin-top:1rem;padding:.65rem .8rem;border:1px solid var(--line-strong);
    border-radius:0;background:var(--g850);color:var(--cream);font:600 .72rem var(--mono);
    cursor:pointer;text-transform:uppercase}
  .sb-toggle svg{width:14px;height:14px;transition:transform .2s ease}
  .sb-toggle[aria-expanded="true"] svg{transform:rotate(180deg)}
  .docs-sidebar{display:none;position:static;max-height:none;border-right:0;
    padding:1rem 0 1.3rem;border-bottom:1px solid var(--line-strong)}
  .docs-sidebar.open{display:block}
}
h1,h2,h3,h4{font-family:var(--display);font-weight:800;scroll-margin-top:96px}
.crumb{margin-bottom:1.8rem;padding-bottom:.85rem;border-bottom:1px solid var(--line);
  color:var(--cream-faint);font-size:.7rem;letter-spacing:.08em;text-transform:uppercase}
.crumb a{color:var(--orange);text-decoration:none}.crumb a:hover{color:var(--cream)}
.crumb span{color:var(--cream-faint)}
h1{max-width:850px;margin-bottom:1.5rem;font-size:clamp(3.4rem,7vw,5.4rem);
  line-height:.88;letter-spacing:-.03em;text-transform:uppercase}
h1::after{content:'';display:block;width:82px;height:6px;margin-top:1.3rem;background:var(--orange)}
h2{margin:3rem 0 1rem;padding-top:1.1rem;border-top:1px solid var(--line-strong);
  font-size:2rem;line-height:1;text-transform:uppercase}
h2::before{content:'§ ';color:var(--orange);font:600 .62em var(--mono)}
h3{margin:2rem 0 .7rem;font-size:1.35rem;line-height:1.1;text-transform:uppercase}
h4{margin:1.5rem 0 .55rem;font-size:1.05rem;text-transform:uppercase}
p{max-width:78ch;margin:.9rem 0;color:var(--cream-dim);font-size:.9rem}
p strong,li strong{color:var(--cream)}
ul,ol{max-width:78ch;margin:.9rem 0 .9rem 1.5rem;color:var(--cream-dim);font-size:.9rem}
li{margin:.38rem 0}li::marker{color:var(--orange)}
blockquote{margin:1.4rem 0;padding:1rem 1.2rem;border-left:4px solid var(--orange);
  background:var(--g850);color:var(--cream-dim)}
hr{height:1px;margin:2rem 0;border:0;background:var(--line-strong)}
code{padding:.12em .36em;background:var(--g800);color:var(--cream);font-family:var(--mono);font-size:.86em}
pre{margin:1.2rem 0;padding:1.2rem 1.3rem;overflow-x:auto;border:1px solid var(--line-strong);
  border-left:4px solid var(--orange);background:var(--code-bg);color:var(--code-text);
  font-size:.82rem;line-height:1.62}
.pre-wrap{position:relative}
.copy-code{position:absolute;top:.5rem;right:.5rem;
  background:var(--g850);border:1px solid var(--line-strong);color:var(--cream-dim);
  font-family:var(--mono);font-size:.65rem;font-weight:600;text-transform:uppercase;
  border-radius:0;padding:.25rem .6rem;cursor:pointer;opacity:0;
  transition:opacity var(--transition),background var(--transition)}
.pre-wrap:hover .copy-code,.copy-code:focus-visible{opacity:1}
@media (hover:none){.copy-code{opacity:1}}
.copy-code:hover{background:var(--cream);color:var(--g950)}
.copy-code.done{color:var(--green);border-color:var(--green)}
pre code{background:none;padding:0;font-size:1em;color:inherit}
pre .hl-c{color:#747a70}pre .hl-s{color:#d8b572}pre .hl-v{color:#f0cd80}
pre .hl-cmd{color:var(--green)}pre .hl-f{color:#aeb8ac}pre .hl-k{color:#98b6ce}
pre .hl-n{color:#ee8a69}
table{width:100%;border-collapse:collapse;margin:1.2rem 0;font-size:.82rem}
th,td{text-align:left;vertical-align:top;padding:.7rem .85rem;border:1px solid var(--line)}
th{background:var(--g850);color:var(--cream);font-size:.68rem;letter-spacing:.07em;text-transform:uppercase}
td{color:var(--cream-dim)}
td code{white-space:nowrap}
.doc-grid{counter-reset:guide;display:grid;grid-template-columns:repeat(auto-fill,minmax(245px,1fr));
  gap:0;margin-top:2rem;border-top:1px solid var(--line-strong);border-left:1px solid var(--line-strong)}
.doc-card{counter-increment:guide;display:grid;grid-template-rows:auto 1fr auto;min-height:170px;
  padding:1.2rem;border-right:1px solid var(--line-strong);border-bottom:1px solid var(--line-strong);
  color:inherit;text-decoration:none;transition:background var(--transition),box-shadow var(--transition)}
.doc-card::before{content:'GUIDE / ' counter(guide,decimal-leading-zero);color:var(--orange);
  font-size:.62rem;font-weight:600;letter-spacing:.1em}
.doc-card::after{content:'↗';justify-self:end;color:var(--cream-faint);font-size:.8rem}
.doc-card:hover{background:var(--g850);box-shadow:inset 0 -4px 0 var(--orange)}
.doc-card h2{margin:.8rem 0 .55rem;padding:0;border:0;color:var(--cream);font-size:1.25rem}
.doc-card h2::before{content:none}.doc-card p{margin:0;color:var(--cream-dim);font-size:.78rem}
.foot-nav{display:flex;justify-content:space-between;gap:1rem;margin-top:3rem;
  padding-top:1.4rem;border-top:1px solid var(--line-strong);font-size:.76rem;text-transform:uppercase}
.foot-nav a{text-decoration:none;font-weight:600}
.page-meta{margin-top:3rem;font-size:.78rem;color:var(--text-muted)}
.page-meta a{color:var(--text-secondary);text-decoration:none}
.page-meta a:hover{color:var(--orange)}
.page-meta+.foot-nav{margin-top:1rem}
/* ── API reference: chips, badges, endpoint sections ── */
.method-chip{display:inline-block;font-family:var(--mono);font-size:.62em;font-weight:600;
  line-height:1.5;letter-spacing:.05em;padding:.14em .6em;border:1px solid var(--line-strong);
  color:var(--cream-dim);background:var(--g850)}
.m-get{color:#98b6ce}.m-post{color:var(--green)}.m-put{color:#d8b572}
.m-patch{color:#ee8a69}.m-delete{color:var(--orange)}
.ep-h{display:flex;align-items:center;flex-wrap:wrap;gap:.6rem;text-transform:none}
.ep-h::before{content:none}
.ep-h code{background:none;padding:0;font-size:.82em;overflow-wrap:anywhere}
.badges{display:flex;flex-wrap:wrap;gap:.45rem;margin:.55rem 0 .9rem}
.badge{display:inline-block;font-size:.72rem;font-weight:600;letter-spacing:.03em;
  padding:.13rem .6rem;border:1px solid var(--line-strong);color:var(--cream-dim);
  background:var(--g850);text-transform:uppercase}
.badge-open{color:#d8b572;border-color:#d8b572}
.ep-summary{color:var(--cream);font-weight:500}.ep-missing{color:var(--cream-faint);font-style:italic}
.ep-doc-heading{color:var(--cream);font-weight:600;margin-top:1rem}
.ep-doc-list{margin:.45rem 0 .9rem;padding-left:1.35rem;color:var(--cream-dim)}
.ep-doc-list li+li{margin-top:.28rem}
h3.ep-sub{font-size:.78rem;font-weight:700;text-transform:uppercase;
  letter-spacing:.08em;color:var(--cream-dim);font-family:var(--mono);margin:1.5rem 0 .45rem}
.ep-operation{padding-bottom:.35rem}
.ep-operation h4{font-size:.85rem;margin-top:1.15rem}
.ep-note{max-width:none;border-left:3px solid var(--line-strong);padding:.6rem .8rem;
  margin:.7rem 0;color:var(--cream-dim);background:var(--g850)}
.ep-note code{white-space:normal}
.req{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em}
.req-required{color:var(--green)}.req-optional{color:var(--cream-faint)}
.area-count{font-size:.78rem;font-weight:600;text-transform:uppercase;
  letter-spacing:.06em;color:var(--cream-faint)}
.sb-sections a.sb-ep{overflow-wrap:anywhere}
.conv-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));
  gap:0;margin:1.2rem 0;border-top:1px solid var(--line-strong);border-left:1px solid var(--line-strong)}
.conv{padding:.8rem .9rem;border-right:1px solid var(--line-strong);border-bottom:1px solid var(--line-strong)}
a.conv{display:block;text-decoration:none;
  color:inherit;transition:background var(--transition),box-shadow var(--transition)}
a.conv:hover{background:var(--g850);box-shadow:inset 0 -3px 0 var(--orange)}
.conv .c-t{display:block;font-size:.85rem;font-weight:700;color:var(--cream);margin-bottom:.25rem}
.conv .c-x{display:block;font-size:.75rem;color:var(--cream-dim);line-height:1.5}
.doc-card .rc{margin-top:.55rem;font-size:.7rem;font-weight:600;
  text-transform:uppercase;letter-spacing:.06em;color:var(--cream-faint)}
.site-footer{padding:34px clamp(18px,3.2vw,52px);border-top:1px solid var(--line-strong);background:var(--g950)}
.footer-top{display:grid;grid-template-columns:1fr auto;gap:30px;align-items:start}
.footer-brand{display:flex;align-items:center;gap:13px;color:var(--cream);
  font:700 23px/1 var(--display);text-transform:uppercase}.footer-brand img{width:34px;height:34px}
.footer-links{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px 24px}
.footer-links a{min-height:38px;display:inline-flex;align-items:center;color:var(--cream-dim);
  font-size:11px;text-decoration:none;text-transform:uppercase}.footer-links a:hover{color:var(--orange)}
.footer-bottom{display:flex;justify-content:space-between;gap:24px;margin-top:30px;padding-top:18px;
  border-top:1px solid var(--line);color:var(--cream-faint);font-size:10px;
  letter-spacing:.08em;text-transform:uppercase}
@media(max-width:1080px){
  .topbar{grid-template-columns:210px 1fr}.gate-state{display:none}.site-nav{justify-content:flex-end}
}
@media(max-width:640px){
  .utility-rail{grid-template-columns:1fr}.utility-rail .bus{display:none}
  .site-header{position:relative}.topbar{grid-template-columns:1fr}.brand{min-height:68px;border-right:0}
  .site-nav{min-height:52px;justify-content:flex-start;gap:0;padding:0 18px;border-top:1px solid var(--line);overflow-x:auto}
  .site-nav a{flex:0 0 auto;padding:0 14px}.site-nav a:first-child{padding-left:0}
  .docs-shell{padding:0 1rem}.doc-readout{align-items:flex-start;flex-direction:column}
  main{padding:2rem 0 4rem}h1{font-size:3.25rem}h2{font-size:1.7rem}
  .doc-grid{grid-template-columns:1fr}.foot-nav,.footer-bottom{flex-direction:column}
  .copy-code{opacity:1}.footer-top{grid-template-columns:1fr}.footer-links{justify-content:flex-start}
}
