@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-weight:400; font-display:swap; }
:root {
  --bg:#fff; --panel:#f4f7fb; --text:#17233b; --muted:#52627a;
  --line:#dce5ef; --accent:#26547c; --soft:#edf5fb; --code:#f7f9fc;
  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; --soft:#edf2fb; }
:root[data-theme=dark] {
  --bg:#101827; --panel:#151f30; --text:#e7edf5; --muted:#a7b5c9;
  --line:#2c3b50; --accent:#91bce4; --soft:#20324a; --code:#172235;
  color-scheme:dark;
}
:root[data-theme=dark][data-brand=realtrex] { --accent:#a4c0fa; }
* { box-sizing:border-box; }
body { margin:0; background:var(--bg); color:var(--text); }
a { color:var(--accent); text-decoration:none; }
a:hover { text-decoration:underline; }
button,input { font:inherit; }
button { cursor:pointer; }
button:disabled { cursor:wait; }
button:focus-visible,a:focus-visible,input:focus-visible,summary:focus-visible { outline:3px solid #4d91c3; outline-offset:3px; }
header { height:64px; border-bottom:1px solid var(--line); display:flex; align-items:center; justify-content:space-between; padding:0 32px; background:var(--bg); position:sticky; top:0; z-index:20; }
.brand { display:flex; align-items:center; gap:16px; color:var(--text); font-size:22px; font-weight:700; letter-spacing:-.03em; }
.brand:hover { text-decoration:none; }
.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; border-radius:4px; padding:4px; }
.brand small { display:block; border-left:1px solid var(--line); padding-left:16px; font-size:13px; letter-spacing:0; color:var(--muted); font-weight:500; }
.header-actions { display:flex; align-items:center; gap:12px; }
.search-trigger { display:flex; justify-content:space-between; align-items:center; gap:48px; background:var(--bg); border:1px solid var(--line); border-radius:8px; color:var(--muted); font-size:14px; padding:9px 12px; }
kbd { font-family:inherit; font-size:11px; padding:2px 5px; border:1px solid var(--line); border-radius:4px; color:var(--muted); }
.icon-button { background:transparent; color:var(--muted); border:1px solid var(--line); border-radius:7px; width:36px; height:36px; font-size:19px; }
.layout { display:grid; grid-template-columns:272px minmax(0,1fr) 200px; max-width:1440px; margin:auto; min-height:calc(100vh - 64px); }
.sidebar { position:sticky; top:64px; height:calc(100vh - 64px); overflow:auto; border-right:1px solid var(--line); padding:24px 20px; display:flex; flex-direction:column; background:var(--bg); }
.sidebar-intro { color:var(--muted); font-size:13px; line-height:1.6; margin:0 12px 16px; }
.nav-label { text-transform:uppercase; letter-spacing:.02em; font-size:12px; font-weight:500; color:var(--text); margin:24px 12px 8px; }
.nav-link { display:block; color:var(--muted); font-size:14px; font-weight:400; padding:8px 12px; border-radius:6px; margin:2px 0; line-height:1.5; }
.nav-link.nested { padding-left:26px; font-size:13px; }
.nav-link:hover { background:var(--panel); text-decoration:none; color:var(--text); }
.nav-link.active { color:var(--accent); background:var(--soft); font-weight:600; }
.sidebar-footer { margin-top:auto; padding:32px 12px 0; font-size:12px; color:var(--muted); }
.sidebar-footer a { display:block; margin-top:12px; color:var(--muted); }
.status-dot { display:inline-block; width:6px; height:6px; border-radius:50%; background:var(--accent); margin-right:5px; }
main { padding:40px 48px; min-width:0; }
.breadcrumbs { font-size:13px; color:var(--accent); margin-bottom:16px; }
.breadcrumbs span { padding:0 8px; color:var(--muted); opacity:.6; }
article { line-height:26px; font-size:16px; overflow-wrap:anywhere; }
article h1 { font-size:36px; line-height:45px; font-weight:700; letter-spacing:-.9px; margin:0 0 48px; }
article h2 { font-size:30px; line-height:36px; font-weight:600; letter-spacing:-.375px; margin:48px 0 20px; }
article h3 { font-size:24px; line-height:32px; font-weight:600; letter-spacing:-.3px; margin:36px 0 20px; }
article h4 { font-size:17px; margin:24px 0 10px; }
h1,h2,h3,h4,.endpoint { scroll-margin-top:96px; }
.anchor { opacity:0; margin-left:8px; font-size:.65em; }
h1:hover .anchor,h2:hover .anchor,h3:hover .anchor,.anchor:focus { opacity:1; }
p { margin:0 0 16px; }
ul,ol { padding-left:24px; margin:12px 0 20px; }
li { margin:5px 0; }
code { font-family:"IBM Plex Mono","SFMono-Regular",Consolas,monospace; font-size:.85em; background:var(--code); border:1px solid var(--line); padding:2px 5px; border-radius:4px; }
pre { background:var(--code); border:1px solid var(--line); border-radius:8px; padding:14px 16px; overflow:auto; position:relative; font-size:13px; line-height:1.6; white-space:pre; margin:16px 0 24px; }
pre code { border:0; background:none; padding:0; font-size:inherit; }
.copy-button { position:absolute; right:8px; top:8px; padding:3px 7px; border:1px solid var(--line); background:var(--bg); color:var(--muted); border-radius:5px; font-size:11px; }
blockquote { margin:20px 0; border-left:3px solid var(--accent); background:var(--soft); padding:14px 18px; }
blockquote p:last-child { margin-bottom:0; }
hr { border:0; border-top:1px solid var(--line); margin:28px 0; }
.endpoint { border:1px solid var(--line); border-radius:8px; overflow:hidden; margin:16px 0 24px; background:var(--bg); }
.endpoint-title { display:flex; align-items:center; gap:12px; padding:12px 16px; background:var(--panel); border-bottom:1px solid var(--line); }
.endpoint-title code { background:none; border:0; font-size:13px; overflow-wrap:anywhere; padding:0; }
.method { font-size:11px; font-weight:700; padding:2px 7px; border-radius:4px; background:#e2f3ec; color:#146846; min-width:44px; text-align:center; }
.method.post { background:#fff2cd; color:#995000; }
.endpoint>p { padding:0 16px; font-size:14px; margin:12px 0; }
.endpoint-summary { font-weight:600; }
.endpoint>details { border-top:1px solid var(--line); font-size:13px; }
.endpoint summary { cursor:pointer; padding:10px 16px; font-weight:500; }
.endpoint summary span { color:var(--muted); font-size:12px; float:right; }
table { border-collapse:collapse; width:100%; font-size:13px; }
th,td { text-align:left; padding:12px; border-top:1px solid var(--line); vertical-align:top; }
td p { margin:0; }
th { font-size:12px; font-weight:600; color:var(--muted); }
td small { display:block; font-size:11px; color:#bc554a; }
.table-scroll { overflow:auto; }
.response-list { padding:0 16px 12px; }
.response-list div { margin:8px 0; }
.response-list code { margin-right:8px; }
.code-sample pre { margin:0 12px 12px; }
.explore { display:flex; justify-content:space-between; width:100%; padding:12px 16px; border:0; border-top:1px solid var(--line); background:var(--soft); color:var(--accent); font-size:13px; font-weight:600; }
.explore:hover { filter:brightness(.97); }
.api-viewer { padding:0; overflow:hidden; }
.api-viewer .scalar-app { --scalar-font:Inter,system-ui,sans-serif; --scalar-font-code:"IBM Plex Mono",monospace; }
.api-viewer .scalar-app h1, .api-viewer .scalar-app h2, .api-viewer .scalar-app h3 { letter-spacing:normal; }
.toc { position:sticky; top:64px; height:calc(100vh - 64px); padding:40px 16px 24px 12px; overflow:auto; font-size:14px; }
.toc p { font-size:12px; font-weight:500; letter-spacing:.02em; color:var(--text); margin:0 0 14px; }
.toc a { display:block; line-height:1.5; color:var(--muted); border-left:1px solid var(--line); padding:5px 0 5px 12px; }
.toc a.depth-3 { padding-left:22px; font-size:13px; }
.toc a.current { color:var(--accent); border-left:2px solid var(--accent); }
.page-tools { display:flex; flex-wrap:wrap; gap:20px; border-top:1px solid var(--line); padding-top:20px; margin-top:32px; font-size:13px; }
.pagination { display:flex; gap:16px; justify-content:space-between; margin:24px 0; }
.pagination a { flex:1; border:1px solid var(--line); border-radius:8px; padding:16px; font-size:14px; font-weight:600; }
.pagination a:last-child { text-align:right; }
.pagination small { display:block; color:var(--muted); font-size:12px; font-weight:400; margin-bottom:6px; }
footer { font-size:12px; color:var(--muted); border-top:1px solid var(--line); padding-top:20px; }
.mobile { display:none; }
.skip { position:fixed; top:-100px; padding:15px; background:var(--bg); z-index:100; }
.skip:focus { top:0; }
dialog { border:1px solid var(--line); border-radius:12px; padding:0; width:min(650px,calc(100vw - 32px)); max-height:75vh; background:var(--bg); color:var(--text); box-shadow:0 25px 80px #0004; margin:12vh auto; }
dialog::backdrop { background:#10212d88; backdrop-filter:blur(4px); }
.search-input-row { display:flex; align-items:center; padding:12px; border-bottom:1px solid var(--line); gap:10px; }
.search-input-row input { width:100%; border:0; background:transparent; color:var(--text); padding:8px; font-size:16px; min-width:0; }
#search-results { overflow:auto; max-height:48vh; padding:12px; font-size:14px; color:var(--muted); }
.search-result { display:block; padding:14px; border-radius:7px; color:var(--text); }
.search-result:hover,.search-result:focus { background:var(--soft); text-decoration:none; }
.search-result strong { display:block; font-size:15px; color:var(--accent); margin-bottom:6px; }
.search-result span { font-size:13px; line-height:1.6; color:var(--muted); }
.search-footer { border-top:1px solid var(--line); padding:12px 20px; display:flex; justify-content:space-between; font-size:12px; color:var(--muted); }
@media(max-width:1150px) {
  .layout { grid-template-columns:232px minmax(0,1fr); }
  .toc { display:none; }
  main { padding:32px 40px; }
  .sidebar { padding:24px 16px; }
}
@media(max-width:760px) {
  header { padding:0 16px; height:64px; gap:12px; }
  .brand { gap:0; font-size:21px; }
  .brand-logo { width:122px; }
  .brand small { display:none; }
  .header-actions { gap:7px; }
  .search-trigger { font-size:0; gap:0; padding:8px; }
  .search-trigger:before { content:'Search'; font-size:13px; }
  .search-trigger kbd { display:none; }
  .mobile { display:block; }
  .layout { display:block; }
  .sidebar { display:none; position:fixed; left:0; top:64px; width:285px; height:calc(100dvh - 64px); z-index:15; box-shadow:20px 0 40px #0002; }
  .menu-open .sidebar { display:flex; }
  main { padding:24px 20px; }
  .breadcrumbs { font-size:12px; margin-bottom:14px; }
  article { font-size:16px; }
  article h1 { font-size:30px; margin-bottom:28px; }
  article h2 { font-size:24px; margin-top:30px; }
  article h3 { font-size:20px; line-height:28px; letter-spacing:-.25px; margin-top:24px; }
  .endpoint-title { padding:12px; gap:8px; }
  .endpoint-title code { font-size:12px; }
  .pagination a { padding:12px; }
  pre { font-size:12px; padding:14px 12px; }
  .api-viewer { padding:0; }
}
@media(prefers-reduced-motion:no-preference) { html { scroll-behavior:smooth; } }

/* Search uses the same reading hierarchy as the documentation. */
dialog { width:min(740px,calc(100vw - 32px)); border-radius:12px; box-shadow:0 24px 80px #10213b30; }
.search-input-row { gap:12px; padding:16px 20px; }
.search-input-row input { padding:6px 0; font-size:16px; }
.search-icon { color:var(--muted); font-size:28px; line-height:1; }
.search-status { padding:16px 20px 4px; color:var(--muted); font-size:12px; font-weight:500; }
#search-results { padding:8px 12px 16px; max-height:52vh; }
.search-result { padding:14px 12px; border-bottom:1px solid var(--line); border-radius:6px; }
.search-result:last-child { border-bottom:0; }
.search-result-meta { display:block; font-size:12px; color:var(--muted); margin-bottom:5px; }
.search-result strong { color:var(--text); font-size:16px; line-height:24px; font-weight:600; }
.search-result span { display:block; font-size:13px; line-height:21px; }
.search-result mark { color:inherit; background:#fff1b8; border-radius:2px; }
:root[data-theme=dark] .search-result mark { background:#65562c; }
.search-footer { background:var(--panel); font-size:11px; padding:12px 20px; }
.search-empty { padding:20px 12px; line-height:24px; }
@media(max-width:760px) { article h1 { line-height:37.5px; letter-spacing:-.75px; } article h2 { line-height:32px; letter-spacing:-.3px; } .search-footer { gap:10px; padding:12px; } }
