:root{
  color-scheme:dark;
  --bg:#0f1117;
  --panel:#161b26;
  --line:#293245;
  --blue:#60a5fa;
  --bright:#3b82f6;
  --text:#edf2fa;
  --muted:#a4b1c5;
  --green:#70dfb1;
  --amber:#f7c56d;
  --red:#fda4af
}
*{
  box-sizing:border-box
}
html{
  scroll-padding-top:110px
}
body{
  margin:0;
  background:var(--bg);
  color:var(--text);
  font:16px/1.65 -apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif
}
a{
  color:var(--blue);
  text-underline-offset:4px
}
button,input,select{
  font:inherit
}
button,select{
  color:inherit
}
button{
  cursor:pointer
}
button:disabled{
  opacity:.6;
  cursor:wait
}
a,button,select,summary{
  -webkit-tap-highlight-color:transparent
}
a:focus-visible,button:focus-visible,select:focus-visible,summary:focus-visible{
  outline:2px solid var(--blue);
  outline-offset:5px
}
h1,h2,h3,p,pre,dl{
  margin:0
}
h1{
  font-size:clamp(2.6rem,6vw,4.25rem);
  line-height:1.08;
  letter-spacing:-.045em;
  font-weight:750
}
h1 span{
  color:var(--blue)
}
h2{
  font-size:1.65rem;
  line-height:1.3;
  letter-spacing:-.025em
}
h3{
  font-size:1.1rem;
  line-height:1.5
}
p{
  color:var(--muted)
}
.container{
  width:min(1100px,100% - 64px);
  margin-inline:auto
}
header{
  position:sticky;
  top:0;
  z-index:10;
  background:#0f1117f5;
  border-bottom:1px solid var(--line)
}
.nav{
  display:flex;
  align-items:center;
  justify-content:space-between;
  min-height:80px;
  gap:24px
}
.logo{
  display:inline-flex;
  align-items:center;
  gap:10px;
  color:var(--text);
  font-size:1.25rem;
  letter-spacing:-.03em;
  font-weight:750;
  text-decoration:none
}
.logo-mark{
  display:grid;
  place-items:center;
  width:28px;
  height:28px;
  border:1px solid #426ca4;
  border-radius:7px;
  color:var(--blue);
  font-size:17px;
  line-height:1;
  background:#162039
}
.nav-links{
  display:flex;
  gap:28px
}
.nav-links a{
  font-size:.86rem;
  color:var(--muted);
  text-decoration:none
}
.nav-links a:hover,.nav-links a[aria-current]{
  color:var(--text)
}
.nav-links a[aria-current]{
  text-decoration:underline;
  text-decoration-color:var(--bright);
  text-decoration-thickness:2px;
  text-underline-offset:12px
}
.hero{
  text-align:center;
  padding:88px 0 64px
}
.eyebrow{
  display:flex;
  align-items:center;
  gap:9px;
  font-size:.72rem;
  font-weight:650;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:var(--blue);
  margin-bottom:18px
}
.hero .eyebrow{
  justify-content:center
}
.small-dot{
  width:6px;
  height:6px;
  background:var(--blue);
  border-radius:50%
}
.lead{
  font-size:1.08rem;
  line-height:1.8;
  margin-top:22px
}
.actions{
  display:flex;
  justify-content:center;
  gap:12px;
  flex-wrap:wrap;
  margin-top:30px
}
.button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:18px;
  min-height:46px;
  padding:10px 21px;
  border:1px solid #3b485f;
  border-radius:7px;
  background:var(--panel);
  color:var(--text);
  font-size:.87rem;
  font-weight:650;
  text-decoration:none
}
.button:hover{
  background:#20293a;
  border-color:#65758d
}
.button.primary{
  background:#2563eb;
  border-color:#3977ff;
  color:#fff
}
.button.primary:hover{
  background:#1d4ed8
}
.button.compact{
  min-height:40px;
  padding:7px 14px;
  font-size:.8rem
}
.overview-panel{
  border:1px solid var(--line);
  background:var(--panel);
  border-radius:12px;
  overflow:hidden
}
.panel-heading{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  padding:18px 25px;
  border-bottom:1px solid var(--line)
}
.panel-heading h2{
  font-size:.9rem;
  letter-spacing:0
}
.text-link{
  font-size:.82rem;
  font-weight:550;
  text-decoration:none
}
.text-link:hover{
  text-decoration:underline
}
.snapshot-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  padding:28px 0
}
.snapshot-grid>div{
  padding:0 25px;
  border-right:1px solid var(--line)
}
.snapshot-grid>div:last-child{
  border:0
}
.label{
  color:var(--muted);
  font-size:.77rem;
  margin-bottom:6px
}
.metric{
  color:var(--text);
  font-size:1.45rem;
  font-weight:650;
  line-height:1.6;
  letter-spacing:-.03em
}
.metric.small{
  font-size:.95rem;
  letter-spacing:0;
  padding-top:7px
}
.metric[data-state=operational]{
  color:var(--green)
}
.metric[data-state=degraded]{
  color:var(--amber)
}
.metric[data-state=unavailable]{
  color:var(--red)
}
.panel-note{
  border-top:1px solid var(--line);
  padding:12px 25px;
  font-size:.75rem
}
.section{
  margin-top:54px
}
.section-heading{
  margin-bottom:24px
}
.section-heading .eyebrow{
  margin-bottom:10px
}
.section-heading.inline{
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:18px
}
.cards{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px
}
.card{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  padding:25px;
  border:1px solid var(--line);
  border-radius:10px;
  background:var(--panel)
}
.card-number{
  font:10px/1.7 ui-monospace,SFMono-Regular,Consolas,monospace;
  color:var(--blue);
  letter-spacing:.08em;
  margin-bottom:22px
}
.card h3{
  margin-bottom:12px
}
.card p{
  font-size:.875rem;
  margin-bottom:26px
}
.card>a{
  margin-top:auto
}
.scope-note{
  display:flex;
  align-items:flex-start;
  gap:12px;
  padding:25px 0 0;
  border-top:1px solid var(--line);
  margin-top:42px;
  color:var(--muted)
}
.scope-note p{
  font-size:.8rem;
  max-width:850px
}
footer.container{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  padding-top:25px;
  padding-bottom:28px;
  margin-top:64px;
  border-top:1px solid var(--line);
  font-size:.75rem
}
footer>div{
  display:flex;
  gap:20px
}
footer a{
  color:var(--muted);
  text-decoration:none
}
footer a:hover{
  color:var(--text)
}
.muted{
  color:var(--muted)
}
.page-intro{
  padding:58px 0 38px
}
.page-intro h1{
  font-size:clamp(2.4rem,5vw,3.3rem)
}
.page-intro .lead{
  margin-top:16px
}
.status-banner{
  display:flex;
  align-items:center;
  gap:18px;
  background:var(--panel);
  border:1px solid var(--line);
  border-radius:10px;
  padding:25px
}
.status-banner h2{
  font-size:1.25rem;
  letter-spacing:-.02em
}
.status-banner p{
  font-size:.85rem;
  margin-top:5px
}
.status-banner .button{
  margin-left:auto;
  flex-shrink:0
}
.status-dot{
  width:12px;
  height:12px;
  border-radius:50%;
  background:var(--muted);
  flex-shrink:0
}
.status-banner[data-state=operational]{
  border-color:#315e50;
  background:#13241f
}
.status-banner[data-state=operational] .status-dot{
  background:var(--green);
  box-shadow:0 0 0 5px #70dfb115
}
.status-banner[data-state=degraded]{
  border-color:#7f6332;
  background:#2a2318
}
.status-banner[data-state=degraded] .status-dot{
  background:var(--amber)
}
.status-banner[data-state=unavailable]{
  border-color:#75414a;
  background:#2b1a20
}
.status-banner[data-state=unavailable] .status-dot{
  background:var(--red)
}
.refresh-note{
  font-size:.75rem;
  margin:12px 0 28px;
  min-height:1.65em
}
.runtime-grid dd{
  margin:0
}
.checks{
  border:1px solid var(--line);
  border-radius:10px;
  overflow:hidden;
  background:var(--panel)
}
.check-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding:18px 22px
}
.check-row+.check-row{
  border-top:1px solid var(--line)
}
.check-name{
  font-size:.88rem;
  font-weight:600
}
.check-result{
  display:flex;
  align-items:center;
  gap:20px
}
.duration{
  color:var(--muted);
  font:12px ui-monospace,SFMono-Regular,Consolas,monospace
}
.check-state{
  font-size:.77rem;
  color:var(--green)
}
.check-state[data-state=unavailable]{
  color:var(--red)
}
.caption{
  font-size:.77rem;
  margin-top:14px;
  line-height:1.8
}
.empty{
  padding:22px;
  font-size:.85rem
}
.pill{
  padding:3px 9px;
  border:1px solid var(--line);
  border-radius:5px;
  font-size:.65rem;
  color:var(--muted);
  white-space:nowrap
}
.docs-layout>*{
  min-width:0
}
.docs-layout{
  display:grid;
  grid-template-columns:175px minmax(0,1fr);
  gap:48px;
  margin-top:14px
}
.docs-nav{
  position:sticky;
  top:110px;
  height:fit-content;
  border-left:1px solid var(--line);
  display:flex;
  flex-direction:column;
  gap:16px;
  padding-left:18px
}
.docs-nav a{
  font-size:.78rem;
  color:var(--muted);
  text-decoration:none
}
.docs-nav a:hover{
  color:var(--blue)
}
.doc-section{
  margin-bottom:46px;
  scroll-margin-top:110px
}
.doc-section h2{
  margin-bottom:18px;
  font-size:1.4rem
}
.doc-section p{
  font-size:.875rem;
  margin-bottom:14px
}
.doc-section .caption{
  font-size:.75rem
}
.doc-section code{
  font-size:.8rem
}
.doc-section p code,td code{
  background:#1c2535;
  border:1px solid #303b4f;
  padding:1px 4px;
  border-radius:4px;
  overflow-wrap:anywhere;
  color:#d2e3ff
}
pre{
  background:#111622;
  border:1px solid var(--line);
  border-radius:7px;
  padding:20px;
  margin:16px 0;
  overflow:auto;
  font:12px/1.85 ui-monospace,SFMono-Regular,Consolas,monospace;
  color:#c9ddff;
  tab-size:2
}
code{
  font-family:ui-monospace,SFMono-Regular,Consolas,monospace
}
.endpoint{
  border-top:1px solid var(--line);
  padding:24px 0 8px
}
.endpoint h3{
  display:flex;
  align-items:center;
  gap:12px;
  margin-bottom:12px;
  flex-wrap:wrap
}
.endpoint h3 a{
  font:13px ui-monospace,SFMono-Regular,Consolas,monospace;
  text-decoration:none;
  overflow-wrap:anywhere
}
.endpoint h3 a:hover{
  text-decoration:underline
}
.method{
  font:10px/1.5 ui-monospace,SFMono-Regular,Consolas,monospace;
  color:var(--green);
  background:#70dfb112;
  border:1px solid #70dfb133;
  border-radius:4px;
  padding:3px 6px
}
.explorer{
  border:1px solid var(--line);
  border-radius:10px;
  background:var(--panel);
  overflow:hidden
}
.request-controls{
  display:flex;
  align-items:center;
  gap:12px;
  padding:18px;
  flex-wrap:wrap
}
.request-controls label{
  font-size:.75rem
}
.request-controls select{
  flex:1;
  min-width:180px;
  max-width:100%;
  border:1px solid #40516c;
  background:#111622;
  border-radius:5px;
  padding:9px;
  font:12px ui-monospace,SFMono-Regular,Consolas,monospace
}
.response-heading{
  display:flex;
  justify-content:space-between;
  gap:10px;
  flex-wrap:wrap;
  border-block:1px solid var(--line);
  padding:12px 18px;
  font:11px/1.7 ui-monospace,SFMono-Regular,Consolas,monospace
}
.response-heading [data-ok=true]{
  color:var(--green)
}
.response-heading [data-ok=false]{
  color:var(--red)
}
pre.response-body{
  margin:0;
  border:0;
  border-radius:0;
  max-height:480px;
  min-height:120px
}
.explorer details{
  border-top:1px solid var(--line);
  font-size:.75rem
}
.explorer summary{
  padding:12px 18px;
  cursor:pointer;
  color:var(--muted)
}
.explorer details pre{
  border:0;
  border-top:1px solid var(--line);
  border-radius:0;
  margin:0;
  font-size:11px
}
.table-scroll{
  overflow-x:auto
}
table{
  border-collapse:collapse;
  width:100%;
  font-size:.8rem
}
th,td{
  text-align:left;
  padding:14px;
  border-bottom:1px solid var(--line);
  vertical-align:top;
  min-width:160px
}
th{
  background:var(--panel);
  font-weight:600
}
td{
  color:var(--muted)
}
.notice{
  padding:18px 22px;
  margin:24px 0;
  border:1px solid #7f6332;
  border-radius:7px;
  background:#2a2318;
  font-size:.85rem
}
.error-page{
  max-width:640px;
  margin:15vh auto;
  padding:32px
}
.error-page .eyebrow{
  margin-top:60px
}
.error-page h1{
  font-size:3rem;
  margin-bottom:20px
}
.error-page .actions{
  justify-content:flex-start
}
.skip-link{
  position:fixed;
  left:16px;
  top:-100px;
  padding:10px 18px;
  background:var(--text);
  color:var(--bg);
  z-index:20
}
.skip-link:focus{
  top:12px
}
.visually-hidden{
  position:absolute;
  width:1px;
  height:1px;
  padding:0;
  margin:-1px;
  overflow:hidden;
  clip:rect(0,0,0,0);
  white-space:nowrap;
  border:0
}
@media(max-width:800px){
  .container{
    width:calc(100% - 40px)
  }
  .cards{
    grid-template-columns:1fr
  }
  .card{
    padding:24px
  }
  .card-number{
    margin-bottom:14px
  }
  .card p{
    margin-bottom:16px
  }
  .docs-layout>*{
    min-width:0
  }
  .docs-layout{
    grid-template-columns:1fr;
    gap:28px
  }
  .docs-nav{
    position:static;
    flex-direction:row;
    flex-wrap:wrap;
    gap:10px 20px
  }
  .hero{
    padding:65px 0 45px
  }
  .metric{
    font-size:1.15rem
  }
  .metric.small{
    font-size:.8rem
  }
  .snapshot-grid>div{
    padding:0 18px
  }
  .nav-links{
    gap:18px
  }
  footer.container{
    align-items:flex-start;
    flex-direction:column;
    gap:14px
  }
}
@media(max-width:520px){
  .container{
    width:calc(100% - 32px)
  }
  .nav{
    min-height:96px;
    align-items:flex-start;
    justify-content:center;
    flex-direction:column;
    gap:9px;
    padding-block:14px
  }
  .nav-links{
    gap:24px;
    width:100%
  }
  .nav-links a{
    font-size:.78rem
  }
  .nav-links a[aria-current]{
    text-underline-offset:5px
  }
  .logo{
    font-size:1.12rem
  }
  .logo-mark{
    width:24px;
    height:24px;
    font-size:14px
  }
  .hero{
    padding:46px 0 34px
  }
  .lead{
    font-size:.95rem
  }
  .desktop-break{
    display:none
  }
  .button{
    font-size:.8rem;
    padding:10px 16px;
    gap:12px
  }
  .hero .actions{
    gap:10px
  }
  .snapshot-grid{
    grid-template-columns:1fr;
    padding:0
  }
  .snapshot-grid>div{
    border-right:0;
    border-bottom:1px solid var(--line);
    padding:15px 20px
  }
  .snapshot-grid>div:last-child{
    border:0
  }
  .snapshot-grid .metric{
    font-size:1.3rem
  }
  .snapshot-grid .metric.small{
    font-size:.9rem;
    padding:0
  }
  .panel-heading{
    padding:15px 20px
  }
  .panel-heading h2{
    font-size:.82rem
  }
  .text-link{
    font-size:.75rem
  }
  .panel-note{
    padding:12px 20px
  }
  .section{
    margin-top:36px
  }
  h2{
    font-size:1.45rem
  }
  .section-heading.inline{
    align-items:flex-start
  }
  .pill{
    font-size:.6rem
  }
  .status-banner{
    padding:20px;
    gap:12px;
    flex-wrap:wrap
  }
  .status-banner h2{
    font-size:1.1rem
  }
  .status-banner>div{
    flex:1
  }
  .status-banner .button{
    margin:6px 0 0 24px
  }
  .check-row{
    padding:16px
  }
  .check-result{
    gap:10px;
    align-items:flex-end;
    flex-direction:column
  }
  .duration{
    font-size:10px
  }
  .check-name{
    font-size:.8rem
  }
  .check-state{
    font-size:.7rem
  }
  .page-intro{
    padding:40px 0 28px
  }
  .request-controls{
    gap:10px;
    padding:14px
  }
  .request-controls label{
    width:100%
  }
  .request-controls select{
    flex-basis:100%;
    min-width:0
  }
  .request-controls button{
    width:100%
  }
  .doc-section code{
    font-size:.75rem
  }
  .endpoint h3 a{
    font-size:12px
  }
  .eyebrow{
    font-size:.65rem
  }
  footer>div{
    gap:14px;
    flex-wrap:wrap
  }
  .docs-nav a{
    font-size:.72rem
  }
}
