@font-face { font-family:Inter; src:url('./inter-latin.woff2') format('woff2'); font-style:normal; font-weight:100 900; font-display:swap; }
@font-face { font-family:'IBM Plex Mono'; src:url('./ibm-plex-mono.woff2') format('woff2'); font-style:normal; font-weight:400; font-display:swap; }
:root {
  --bg:#fff; --panel:#f6f8fa; --text:#17233b; --muted:#52627a;
  --line:#dce2e9; --accent:#26547c; --accent-hover:#1b4265; --soft:#edf5fb; --code:#f6f8fa;
  color-scheme:light; font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  font-size:16px; font-synthesis:none;
}
:root[data-brand=realtrex] { --accent:#315fae; --accent-hover:#254b8c; --soft:#edf2fb; }
:root[data-theme=dark] {
  --bg:#101827; --panel:#151f30; --text:#e7edf5; --muted:#a7b5c9;
  --line:#2c3b50; --accent:#91bce4; --accent-hover:#bddcf7; --soft:#20324a; --code:#151f30;
  color-scheme:dark;
}
:root[data-theme=dark][data-brand=realtrex] { --accent:#a4c0fa; --accent-hover:#c9d9fc; }
* { box-sizing:border-box; }
[hidden] { display:none!important; }
body { margin:0; color:var(--text); background:var(--bg); }
html { scrollbar-gutter:auto; scroll-padding-top:96px; }
a { color:var(--accent); text-decoration:none; }
a:hover { color:var(--accent-hover); }
button,input,select { font:inherit; }
button,select,summary { cursor:pointer; }
button:disabled { cursor:wait; }
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible { outline:2px solid var(--accent); outline-offset:3px; }
body>header { height:64px; display:flex; align-items:center; justify-content:space-between; gap:20px; padding:0 max(32px,calc((100% - 1376px)/2)); border-bottom:1px solid var(--line); position:sticky; top:0; background:var(--bg); z-index:30; }
.brand { display:flex; align-items:center; color:var(--text); }
.brand-logo { display:block; width:142px; height:auto; }
.brand-logo-dark { display:none; }
:root[data-theme=dark] .brand-logo-light { display:none; }
:root[data-theme=dark] .brand-logo-dark { display:block; }
:root[data-theme=dark] .realtrex-logo { background:#fff; padding:4px; border-radius:4px; }
.header-actions { display:flex; align-items:center; gap:8px; }
.search-trigger { display:flex; align-items:center; justify-content:space-between; width:224px; height:38px; padding:0 12px; border:1px solid var(--line); border-radius:12px; background:var(--bg); color:var(--muted); font-size:14px; box-shadow:0 1px 2px #10213b12; }
.search-trigger:hover,.icon-button:hover { background:var(--panel); }
kbd { font:12px/18px 'IBM Plex Mono',monospace; border:1px solid var(--line); border-radius:4px; padding:0 4px; color:var(--muted); }
.icon-button { display:inline-flex; align-items:center; justify-content:center; width:32px; height:32px; padding:0; border:1px solid var(--line); border-radius:6px; background:var(--bg); color:var(--muted); }
.icon-button svg { width:18px; height:18px; }
.signout-button { width:auto; padding:0 8px; font-size:14px; white-space:nowrap; }
.mobile { display:none; }
.layout { position:relative; display:grid; grid-template-columns:224px minmax(0,1fr); gap:32px; max-width:1376px; margin:0 auto; width:calc(100% - 64px); min-height:calc(100vh - 64px); }
.sidebar { position:sticky; top:64px; height:calc(100vh - 64px); display:flex; flex-direction:column; padding:24px 0 24px; overflow:auto; }
.nav-label { font-size:12px; line-height:16px; font-weight:600; text-transform:uppercase; color:var(--text); margin:16px 0 8px; }
.nav-label:not(:first-child) { margin-top:24px; }
.nav-link { display:block; font-size:14px; line-height:20px; font-weight:400; color:var(--muted); padding:6px 8px; margin:0 -8px; border-radius:6px; }
.nav-link.active { color:var(--accent); font-weight:500; }
.nav-link:hover { color:var(--text); background:var(--panel); }
.nav-link.nested { margin-left:8px; padding-left:16px; border-left:1px solid var(--line); border-radius:0 6px 6px 0; }
.sidebar-footer { margin-top:auto; padding-top:32px; font-size:14px; line-height:20px; }
.sidebar-footer a { color:var(--muted); }
main { min-width:0; padding:32px 0 40px; container-type:inline-size; }
.breadcrumbs { font-size:12px; line-height:19.5px; color:var(--accent); margin:0 0 12px; }
.page-actions { position:sticky; top:80px; float:right; display:flex; align-items:center; gap:8px; height:0; transform:translateY(8px); z-index:15; }
.page-actions button { display:inline-flex; align-items:center; justify-content:center; gap:8px; height:28px; padding:0 9px; background:var(--bg); border:1px solid var(--line); border-radius:8px; color:var(--muted); font-size:14px; line-height:20px; }
.page-actions button:hover { background:var(--panel); }
.page-actions .page-copy { min-width:70px; }
#toc-toggle { background:var(--panel); }
#toc-toggle svg { width:16px; height:16px; }
article { font-size:16px; line-height:26px; overflow-wrap:anywhere; }
article>p,article>ul,article>ol,article>h2,article>h3,article>h4,article>blockquote { max-width:768px; }
article h1 { font-size:36px; line-height:45px; font-weight:700; letter-spacing:-.8px; margin:0 0 24px; }
article h2 { font-size:30px; line-height:37.5px; font-weight:600; letter-spacing:-.45px; padding-top:30px; margin:20px 0 20px; }
article h1+h2 { margin-top:0; }
article h3 { font-size:24px; line-height:33px; font-weight:600; letter-spacing:-.3px; padding-top:18px; margin:20px 0 20px; }
article h4 { font-size:20px; line-height:28px; font-weight:600; margin:24px 0 16px; }
h1,h2,h3,h4,.endpoint { scroll-margin-top:96px; position:relative; }
.anchor { position:absolute; right:100%; bottom:0; display:flex; align-items:center; justify-content:center; height:36px; width:28px; opacity:0; color:var(--muted); }
.anchor svg { width:16px; height:16px; }
h1:hover .anchor,h2:hover .anchor,h3:hover .anchor,h4:hover .anchor,.anchor:focus-visible { opacity:1; }
p { margin:0 0 20px; }
ul,ol { padding-left:24px; margin:16px 0 24px; }
li { margin:5px 0; }
article>p a { text-decoration:underline; text-decoration-color:var(--line); text-underline-offset:3px; }
article>p a:hover { text-decoration-color:var(--accent); }
code { font:14px/1.6 'IBM Plex Mono',monospace; background:var(--code); padding:1px 4px; border:1px solid var(--line); border-radius:4px; }
.code-block { position:relative; border:1px solid var(--line); border-radius:12px; background:var(--code); overflow:hidden; min-width:0; }
.prose-code { margin:20px 0; }
pre { margin:0; padding:10px 16px; overflow:auto; white-space:pre; font:14px/20px 'IBM Plex Mono',monospace; }
pre code { display:block; font:inherit; background:none; padding:0; border:0; border-radius:0; }
.copy-button { position:absolute; top:8px; right:8px; z-index:2; min-width:54px; height:26px; padding:0 8px; border:1px solid var(--line); border-radius:5px; background:var(--bg); color:var(--muted); font-size:12px; line-height:18px; opacity:0; }
.code-block:hover>.copy-button,.copy-button:focus-visible { opacity:1; }
.prose-code .copy-button { top:7px; }
.prose-code pre { padding-right:72px; line-height:20px; }
blockquote { border-left:3px solid var(--line); padding:0 16px; margin:24px 0; color:var(--muted); }
blockquote p:last-child { margin:0; }
hr { border:0; border-top:1px solid var(--line); margin:20px 0 0; }
table { border-collapse:collapse; width:100%; font-size:14px; line-height:22px; }
th,td { text-align:left; padding:12px; border-bottom:1px solid var(--line); vertical-align:top; }
th { font-weight:600; }
td p { margin:0; }
.table-scroll { overflow:auto; }
.endpoint { margin:20px 0 80px; }
.endpoint .endpoint-summary { padding:18px 0 0; margin:0 0 14px; font-size:24px; line-height:33px; font-weight:600; }
.endpoint-title { display:flex; align-items:center; gap:12px; margin-bottom:26px; }
.endpoint-title>code { background:none; border:0; padding:0; font-size:14px; line-height:24px; overflow-wrap:anywhere; }
.server-url { color:var(--muted); }
.method { display:inline-flex; align-items:center; justify-content:center; flex-shrink:0; min-width:44px; font:600 12px/16px 'IBM Plex Mono',monospace; font-synthesis:weight; padding:4px 10px; border-radius:6px; color:#146846; background:#e2f3ec; }
.method.post { min-width:52px; color:#995000; background:#fff2cd; }
.method.put,.method.patch { color:#354c9d; background:#e8edff; }
.method.delete { color:#a33428; background:#ffe8e6; }
.endpoint-columns { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:24px; align-items:start; }
.endpoint-details,.endpoint-examples { min-width:0; }
.endpoint-description { font-size:14px; line-height:24px; margin-bottom:36px; }
.endpoint-description p:last-child { margin-bottom:0; }
.parameter-group { margin-bottom:40px; }
.parameter-heading { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:8px; padding-bottom:8px; margin-bottom:0; border-bottom:1px solid var(--line); font-size:16px; line-height:24px; font-weight:500; }
.media-type,.media-select,.sample-select,.response-select { min-width:0; max-width:100%; font-size:12px; line-height:18px; font-weight:400; padding:3px 6px; border:1px solid var(--line); border-radius:6px; background:var(--panel); color:var(--text); }
.schema-field { padding:12px 0 8px; font-size:14px; line-height:24px; }
.field-heading { display:flex; align-items:baseline; flex-wrap:wrap; gap:8px; margin-bottom:4px; }
.field-name,.field-type { font-size:13px; line-height:20px; padding:0; background:none; border:0; }
.field-name { font-synthesis:weight; font-weight:600; color:var(--text); }
.field-type { font-weight:400; color:var(--muted); }
.required,.optional { font-size:12px; line-height:20px; }
.required { color:#b36b00; }
.optional,.field-description,.field-example,.schema-note { color:var(--muted); }
.field-description p { margin:0; }
.field-example { font-size:14px; line-height:24px; margin:4px 0 0; }
.field-example code { font-size:11px; overflow-wrap:anywhere; }
.schema-note { font-size:14px; line-height:22px; margin:12px 0; }
.schema-children { margin-top:8px; border:1px solid var(--line); border-radius:8px; padding:0 12px; }
.schema-children>summary { font-size:12px; line-height:20px; padding:8px 0; color:var(--muted); }
.response-group>.parameter-heading { border:0; }
.response-list { border:1px solid var(--line); border-radius:12px; overflow:hidden; }
.response-schema+ .response-schema { border-top:1px solid var(--line); }
.response-schema>summary { display:flex; align-items:center; gap:8px; padding:12px; font-size:14px; line-height:20px; color:var(--muted); list-style:none; }
.response-schema>summary::-webkit-details-marker { display:none; }
.response-schema>summary:before { content:'›'; font-size:20px; width:16px; flex-shrink:0; text-align:center; }
.response-schema[open]>summary:before { transform:rotate(90deg); }
.response-schema>summary small { font:10px/16px 'IBM Plex Mono',monospace; margin-left:auto; }
.status-code { font:600 12px/16px 'IBM Plex Mono',monospace; padding:2px 7px; border-radius:6px; }
.status-code.success { color:#146846; background:#e2f3ec; }
.status-code.error { color:#a33428; background:#ffe8e6; }
.response-fields { padding:0 12px 4px; }
.response-fields .parameter-group { margin:0; }

.response-fields .schema-field { padding:10px 0; }
.response-fields .field-heading { margin-bottom:0; }
.endpoint-details>.parameter-group:last-child { margin-bottom:0; }
.endpoint-examples { align-self:stretch; }
.examples-sticky { position:sticky; top:128px; }
.endpoint-examples .code-block { margin-bottom:16px; box-shadow:0 1px 2px #10213b1a; }
.sample-toolbar { min-height:46px; display:flex; align-items:center; justify-content:space-between; gap:8px; padding:8px 10px; border-bottom:1px solid var(--line); }
.sample-endpoint { display:flex; align-items:center; gap:8px; min-width:0; }
.sample-endpoint>code { border:0; padding:0; background:none; font-size:12px; line-height:18px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.sample-endpoint .method { min-width:32px; font-size:10px; line-height:14px; padding:3px 6px; }
.endpoint-examples .copy-button { top:54px; }
.endpoint-examples pre { padding:10px 16px; }
.endpoint-actions { display:flex; align-items:center; justify-content:flex-end; gap:8px; padding:10px 12px; border-top:1px solid var(--line); }
.try-request { display:inline-flex; align-items:center; gap:8px; padding:4px 8px; height:28px; border:0; border-radius:8px; font:600 12px/20px 'IBM Plex Mono',monospace; color:var(--bg); background:var(--accent); }
.try-request:hover { background:var(--accent-hover); }
.try-request[aria-busy=true] { opacity:.65; }
.request-error { color:var(--muted); font-size:12px; line-height:18px; }
.request-error:empty { display:none; }
.hljs-string,.hljs-literal { color:#20824a; }
.hljs-keyword,.hljs-built_in,.hljs-title { color:#315fae; }
.hljs-number,.hljs-attr,.hljs-attribute { color:#995000; }
.hljs-comment { color:var(--muted); }
:root[data-theme=dark] .hljs-string,:root[data-theme=dark] .hljs-literal { color:#8ccba4; }
:root[data-theme=dark] .hljs-keyword,:root[data-theme=dark] .hljs-built_in,:root[data-theme=dark] .hljs-title { color:#9ebfff; }
:root[data-theme=dark] .hljs-number,:root[data-theme=dark] .hljs-attr,:root[data-theme=dark] .hljs-attribute { color:#e2b178; }
.toc { display:none; position:fixed; top:120px; right:32px; width:272px; max-height:calc(100vh - 144px); padding:16px; border:1px solid var(--line); border-radius:8px; background:var(--bg); box-shadow:0 8px 24px #10213b1a; overflow:auto; z-index:25; }
.toc-open .toc { display:block; }
.toc p { font-size:12px; line-height:16px; margin:0 0 12px; color:var(--muted); font-weight:500; }
.toc a { display:flex; align-items:baseline; gap:8px; padding:4px 8px; border-left:1px solid transparent; font-size:13px; line-height:20px; font-weight:400; color:var(--muted); }
.toc-group { padding:10px 0; }
.toc-group:first-child { padding-top:0; }
.toc a.depth-3 { margin-left:12px; padding-left:12px; }
.toc a.depth-4 { padding-left:8px; margin-top:2px; }
.toc-methods { flex-shrink:0; }
.toc .method { font-size:10px; line-height:14px; padding:2px 5px; min-width:32px; border-radius:4px; }
.toc a:hover { color:var(--text); background:var(--panel); }
.toc a.current { color:var(--accent); }
.pagination { display:flex; gap:16px; margin:32px 0; }
.pagination a { flex:1; border:1px solid var(--line); border-radius:8px; padding:16px; font-size:16px; line-height:24px; }
.pagination a:last-child { text-align:right; }
.pagination a:hover { background:var(--panel); }
.pagination small { display:block; font-size:12px; line-height:20px; color:var(--muted); }
footer { padding-top:16px; font-size:12px; line-height:20px; color:var(--muted); }
.skip { position:fixed; top:-100px; padding:12px; background:var(--bg); z-index:100; }
.skip:focus { top:0; }
dialog { border:1px solid var(--line); border-radius:8px; padding:0; width:min(740px,calc(100vw - 32px)); max-height:75vh; background:var(--bg); color:var(--text); box-shadow:0 16px 48px #10213b26; margin:12vh auto; }
dialog::backdrop { background:#10212d66; }
.search-input-row { display:flex; align-items:center; gap:12px; padding:16px 20px; border-bottom:1px solid var(--line); }
.search-input-row input { width:100%; border:0; background:transparent; color:var(--text); padding:6px 0; font-size:16px; line-height:24px; min-width:0; }
.search-icon { color:var(--muted); display:flex; }
.search-icon svg { width:20px; height:20px; }
.search-status { padding:16px 20px 4px; color:var(--muted); font-size:14px; line-height:22px; }
#search-results { overflow:auto; padding:8px 12px 16px; max-height:52vh; font-size:16px; color:var(--muted); }
.search-result { display:block; padding:16px 12px; border-bottom:1px solid var(--line); border-radius:6px; color:var(--text); }
.search-result:last-child { border-bottom:0; }
.search-result:hover,.search-result:focus-visible { background:var(--soft); color:var(--text); }
.search-result-meta { display:block; font-size:14px; line-height:22px; color:var(--muted); margin-bottom:6px; }
.search-result strong { display:block; color:var(--text); font-size:16px; line-height:24px; font-weight:600; margin-bottom:6px; }
.search-result span { display:block; font-size:14px; line-height:22px; color:var(--muted); }
.search-result mark { color:inherit; background:#fff1b8; border-radius:2px; }
:root[data-theme=dark] .search-result mark { background:#65562c; }
.search-footer { background:var(--panel); border-top:1px solid var(--line); padding:12px 20px; display:flex; justify-content:space-between; gap:12px; font-size:13px; line-height:20px; color:var(--muted); }
.search-empty { padding:20px 12px; line-height:24px; }
.search-result .method { margin-right:8px; }
@container(max-width:700px) { .endpoint-columns { grid-template-columns:minmax(0,1fr); } .examples-sticky { position:static; } }
@media(min-width:1536px) {
  .toc { display:block; top:64px; right:32px; width:256px; max-height:calc(100vh - 64px); border:0; border-radius:0; box-shadow:none; padding:32px 0 24px 32px; }
  #toc-toggle { display:none; }
}
@media(min-width:1536px) and (max-width:1919px) { .layout { padding-right:calc((1920px - 100vw)/2 + 32px); } }
@media(min-width:1920px) { .toc { left:calc(50% + 704px); right:auto; } }
@media(max-width:1023px) {
  .layout { display:block; width:calc(100% - 32px); }
  .sidebar { display:none; position:fixed; left:0; top:64px; z-index:25; width:288px; max-width:calc(100vw - 64px); padding:24px 24px 24px 32px; background:var(--bg); border-right:1px solid var(--line); box-shadow:16px 0 32px #10213b20; }
  .menu-open .sidebar { display:flex; }
  .mobile { display:inline-flex; }
  body>header { padding:0 16px; }
  .toc { right:16px; }
}
@media(max-width:767px) {
  html { scrollbar-gutter:auto; }
  article h1 { font-size:30px; line-height:37.5px; letter-spacing:-.6px; }
  article h2 { font-size:24px; line-height:30px; letter-spacing:-.3px; padding-top:24px; }
  article h3,.endpoint .endpoint-summary { font-size:20px; line-height:27.5px; padding-top:15px; }
  .brand-logo { width:122px; }
  .search-trigger { width:36px; height:32px; justify-content:center; padding:0; border-radius:6px; box-shadow:none; }
  .search-trigger .search-label,.search-trigger kbd { display:none; }
  .search-trigger:before { content:''; width:18px; height:18px; background:currentColor; mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath fill='none' stroke='black' stroke-width='1.5' d='M13 13l5 5M15 8.5a6.5 6.5 0 1 1-13 0 6.5 6.5 0 0 1 13 0'/%3E%3C/svg%3E") center/contain no-repeat; }
  #toc-toggle span { display:none; }
  .page-actions { gap:8px; }
  .page-actions .page-copy { min-width:60px; }
  .anchor { width:16px; }
  .anchor svg { width:12px; }
  .endpoint { margin-bottom:60px; }
  .field-heading { gap:6px; }
  .response-schema>summary small { display:none; }
  .search-footer { padding:12px; flex-wrap:wrap; }
}
@media(max-width:380px) { .brand-logo { width:106px; } .header-actions { gap:5px; } body>header { gap:8px; } .signout-button { padding:0 6px; font-size:12px; } }
@media(prefers-reduced-motion:reduce) { *,*::before,*::after { scroll-behavior:auto!important; } }
.nav-parent { display:flex; align-items:center; }
.nav-parent>.nav-link { flex:1; min-width:0; }
.nav-expand { flex-shrink:0; width:28px; height:28px; padding:0; font-size:20px; line-height:20px; color:var(--muted); border:0; border-radius:4px; background:none; }
.nav-expand:hover { background:var(--panel); }
.nav-expand[aria-expanded=true] { transform:rotate(90deg); }
.page-downloads { position:relative; margin-left:-9px; }
.page-downloads>summary { display:flex; align-items:center; justify-content:center; list-style:none; width:26px; height:28px; border:1px solid var(--line); border-radius:0 8px 8px 0; font-size:16px; color:var(--muted); background:var(--bg); }
.page-downloads>summary::-webkit-details-marker { display:none; }
.page-downloads>div { position:absolute; right:0; top:34px; width:180px; padding:6px; border:1px solid var(--line); border-radius:8px; box-shadow:0 8px 24px #10213b1a; background:var(--bg); }
.page-downloads a { display:block; padding:8px; border-radius:4px; font-size:13px; line-height:20px; color:var(--muted); }
.page-downloads a:hover { background:var(--panel); color:var(--text); }
.page-actions .page-copy { border-radius:8px 0 0 8px; }

@media(min-width:1024px) {
  :root[data-brand=realtrex] body>header .header-actions { flex:1; margin-left:174px; }
  :root[data-brand=realtrex] .search-trigger { width:512px; max-width:calc(100% - 120px); }
  :root[data-brand=realtrex] #theme-toggle { margin-left:auto; }
}

.search-trigger { gap:8px; }
.search-trigger svg { width:16px; height:16px; flex-shrink:0; }
.search-label { flex:1; text-align:left; }
.sidebar-footer { display:flex; align-items:center; justify-content:space-between; gap:16px; }
.page-actions .page-copy { width:76px; padding:0 8px; gap:6px; }
.page-actions .page-copy svg { width:14px; height:14px; flex-shrink:0; }
.header-actions form { order:2; }
#menu-toggle { order:3; }
@media(min-width:1024px) { :root[data-brand=realtrex] .header-actions { justify-content:space-between; } }
@media(max-width:767px) { .search-trigger:before { display:none; } .page-actions .page-copy { width:76px; } }

.response-sample>summary { padding:12px 16px; font-size:14px; line-height:20px; color:var(--text); cursor:pointer; }
.response-sample[open]>summary { border-bottom:1px solid var(--line); }
.response-sample pre { max-height:420px; }
.response-sample>.copy-button { top:100px; }
.response-sample:not([open])>.copy-button { display:none; }
@media(max-width:767px) { .response-sample pre { max-height:320px; } }
