/* AUTO-GENERATED by tools/docs_center — do not edit. */
@font-face{
  font-family:"Inter Var";
  src:url("vendor/InterVariable.woff2") format("woff2");
  font-weight:100 900;font-style:normal;font-display:swap;
}
@font-face{
  font-family:"JetBrains Mono Web";
  src:url("vendor/JetBrainsMono-Regular.woff2") format("woff2");
  font-weight:400;font-style:normal;font-display:swap;
}
@font-face{
  font-family:"JetBrains Mono Web";
  src:url("vendor/JetBrainsMono-SemiBold.woff2") format("woff2");
  font-weight:500 600;font-style:normal;font-display:swap;
}
@font-face{
  font-family:"JetBrains Mono Web";
  src:url("vendor/JetBrainsMono-Bold.woff2") format("woff2");
  font-weight:700 800;font-style:normal;font-display:swap;
}
:root{
  --bg:#08090d; --bg-elev:#0e1117; --bg-side:#0a0c11; --bg-soft:#141924;
  --bg-hover:#1a2130;
  --text:#e9edf4; --text-dim:#a9b4c4; --text-mute:#808b9e;
  --border:#202836; --border-soft:#171d28; --border-strong:#2c3648;
  --accent:#59a7f7; --accent-quiet:#152238; --accent-text:#06070a;
  --ok:#3fb950; --warn:#d6a531; --gated:#a371f7; --danger:#f85149;
  --code-bg:#0c0f15; --code-text:#cdd7e5; --quote-bg:#0c0f15;
  --tint:var(--accent);
  --card-light:inset 0 1px 0 rgba(233,237,244,.04);
  --shadow:0 1px 2px rgba(0,0,0,.55),0 14px 38px -18px rgba(0,0,0,.7);
  --shadow-lg:0 28px 80px -22px rgba(0,0,0,.8);
  --radius:12px;
  --sidebar-w:300px; --toc-w:236px; --read-w:764px;
  --mono:"JetBrains Mono Web","JetBrains Mono","SF Mono","Cascadia Code",Consolas,"Liberation Mono",Menlo,monospace;
  --sans:"Inter Var","Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto;}
  *,*::before,*::after{animation-duration:.001ms!important;transition-duration:.001ms!important;}
}
body{margin:0;background:var(--bg);color:var(--text);font-family:var(--sans);
  font-size:16px;line-height:1.72;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;}
a{color:var(--accent);text-decoration:none;}
a:hover{text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px;}
::selection{background:color-mix(in srgb,var(--accent) 30%,transparent);}
:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px;}
button{font-family:inherit;}
kbd{font-family:var(--mono);}
*{scrollbar-width:thin;scrollbar-color:var(--border-strong) transparent;}
::-webkit-scrollbar{width:9px;height:9px;}
::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:9px;
  border:2px solid var(--bg);}
::-webkit-scrollbar-track{background:transparent;}

/* skip link — first focusable element, hidden until focused (§8 a11y) */
.skip-link{position:fixed;top:-60px;left:12px;z-index:120;padding:9px 15px;border-radius:9px;
  background:var(--accent);color:var(--accent-text);font-weight:650;font-size:13px;
  transition:top .16s ease;}
.skip-link:focus{top:12px;text-decoration:none;}

/* progress + scrim */
#progress{position:fixed;top:0;left:0;height:2px;width:0;z-index:60;
  background:linear-gradient(90deg,var(--accent),color-mix(in srgb,var(--accent) 55%,var(--tint)));
  transition:width .12s ease;}
#scrim{position:fixed;inset:0;background:rgba(3,4,8,.66);z-index:38;opacity:0;
  pointer-events:none;transition:opacity .2s;backdrop-filter:blur(2px);}
body.sb-open #scrim{opacity:1;pointer-events:auto;}

/* layout: left nav · reading column · sticky local TOC */
.layout{display:flex;min-height:100vh;}
.sidebar{position:fixed;top:0;left:0;width:var(--sidebar-w);height:100vh;z-index:40;
  background:var(--bg-side);border-right:1px solid var(--border-soft);
  display:flex;flex-direction:column;transition:transform .24s ease;}
.main{margin-left:var(--sidebar-w);flex:1;min-width:0;display:flex;flex-direction:column;
  transition:margin-left .24s ease;}

/* collapsible panes — the topbar hamburger toggles the left nav at every width
   (an overlay drawer below 980px, a persisted collapse above it); #tocToggle
   collapses the right rail and swaps in the inline "On this page" fallback.
   Both states are restored pre-paint from localStorage (vdocs:sb / vdocs:toc)
   by the root script, so the class hooks live on <html>, not <body>. */
@media(min-width:981px){
  .sidebar{transition:transform .24s ease,visibility .24s;}
  html.sb-collapsed .sidebar{transform:translateX(-100%);visibility:hidden;}
  html.sb-collapsed .main{margin-left:0;}
}
@media(min-width:1201px){
  html.toc-collapsed .toc-rail{display:none;}
  html.toc-collapsed .toc-inline{display:block;}
}

/* brand */
.brand{display:flex;align-items:center;gap:11px;padding:16px 18px 14px;color:var(--text);
  border-bottom:1px solid var(--border-soft);transition:background .14s;}
.brand:hover{background:var(--bg-elev);text-decoration:none;}
.brand-mark{width:32px;height:32px;border-radius:9px;flex:none;display:grid;place-items:center;
  color:var(--text);font-weight:750;font-size:13px;
  background:color-mix(in srgb,var(--tint) 25%,var(--bg-soft));
  border:1px solid color-mix(in srgb,var(--tint) 60%,var(--border));}
.brand-text{display:flex;flex-direction:column;line-height:1.24;min-width:0;}
.brand-text b{font-size:14px;font-weight:650;letter-spacing:-.01em;}
.brand-text span{font-size:11.5px;color:var(--text-mute);font-weight:450;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}

.side-scroll{overflow-y:auto;flex:1;padding:14px 13px 12px;}
.side-label{font-size:10px;font-weight:650;letter-spacing:1px;text-transform:uppercase;
  color:var(--text-mute);margin:16px 7px 7px;}
.side-label:first-child{margin-top:2px;}

/* search trigger */
.searchbtn{display:flex;align-items:center;gap:9px;width:100%;margin-bottom:6px;
  padding:9px 11px;border-radius:10px;cursor:pointer;font-family:inherit;font-size:13px;
  color:var(--text-mute);background:var(--bg-soft);border:1px solid var(--border);
  box-shadow:var(--card-light);transition:.15s;}
.searchbtn:hover{border-color:var(--border-strong);color:var(--text-dim);background:var(--bg-hover);}
.searchbtn svg{flex:none;color:var(--text-mute);}
.searchbtn span{flex:1;text-align:left;}
.searchbtn kbd{font-size:10.5px;font-weight:600;padding:2px 6px;
  border-radius:5px;background:var(--bg-elev);border:1px solid var(--border);color:var(--text-mute);}

/* space switcher (version chips) */
.vchips{display:grid;grid-template-columns:repeat(5,1fr);gap:6px;margin-bottom:8px;}
.vchip{display:grid;place-items:center;height:32px;border-radius:8px;font-weight:650;
  font-size:12.5px;color:var(--text-dim);background:var(--bg-soft);
  border:1px solid var(--border-soft);transition:.14s;position:relative;
  font-variant-numeric:tabular-nums;}
.vchip:hover{text-decoration:none;color:var(--text);background:var(--bg-hover);}
.vchip.active{color:var(--text);border-color:var(--vc);box-shadow:inset 0 -2px 0 var(--vc);}

/* navigation select (domain switcher) */
.nav-select{width:100%;padding:8px 10px;border-radius:9px;font-size:13px;background:var(--bg-soft);
  border:1px solid var(--border);color:var(--text);font-family:inherit;margin-bottom:6px;cursor:pointer;}
.nav-select:focus{border-color:var(--accent);outline:none;}

/* section tabs */
.dtabs{display:grid;grid-template-columns:1fr 1fr;gap:4px;margin-bottom:6px;
  background:var(--bg-soft);padding:4px;border-radius:10px;border:1px solid var(--border-soft);}
.dtabs.three{grid-template-columns:1fr 1fr 1fr;}
.dtab{text-align:center;padding:7px 4px;border-radius:7px;font-size:12.5px;font-weight:550;
  color:var(--text-dim);transition:.14s;}
.dtab:hover{text-decoration:none;color:var(--text);}
.dtab.active{background:var(--bg-elev);color:var(--accent);font-weight:650;
  box-shadow:var(--card-light),0 1px 3px rgba(0,0,0,.4);}

/* page navigator (decomposed-doc pages) */
.pagenav{margin:2px 0 4px;}
.pn-hub{display:flex;align-items:center;gap:7px;padding:7px 9px;margin-bottom:4px;
  border-radius:8px;font-size:12.5px;font-weight:600;color:var(--text-dim);
  border:1px solid transparent;transition:.13s;}
.pn-hub svg{flex:none;color:var(--text-mute);}
.pn-hub:hover{background:var(--bg-soft);text-decoration:none;color:var(--text);}
.pn-hub.active{color:var(--accent);background:var(--accent-quiet);
  border-color:color-mix(in srgb,var(--accent) 22%,transparent);}
.pn-hub.active svg{color:inherit;}
.pn-group{margin-bottom:1px;}
.pn-gtoggle{display:flex;align-items:center;gap:5px;width:100%;padding:6px 8px;cursor:pointer;
  font-family:inherit;font-size:10px;font-weight:650;letter-spacing:.7px;text-transform:uppercase;
  color:var(--text-mute);background:none;border:0;text-align:left;border-radius:6px;}
.pn-gtoggle:hover{color:var(--text-dim);background:var(--bg-soft);}
.pn-caret{flex:none;transition:transform .16s;color:var(--text-mute);}
.pn-group.collapsed .pn-caret{transform:none;}
.pn-group:not(.collapsed) .pn-caret{transform:rotate(90deg);}
.pn-list{list-style:none;margin:1px 0 6px;padding:0 0 0 4px;
  border-left:1px solid var(--border-soft);margin-left:9px;}
.pn-group.collapsed .pn-list{display:none;}
.pn-link{display:block;padding:5px 10px;font-size:12.5px;line-height:1.4;
  color:var(--text-dim);transition:.12s;border-left:2px solid transparent;
  margin-left:-5px;border-radius:0 7px 7px 0;}
.pn-link:hover{background:var(--bg-soft);color:var(--text);text-decoration:none;}
.pn-link.active{color:var(--accent);font-weight:600;background:var(--accent-quiet);
  border-left-color:var(--accent);}
.pn-count{font-size:10px;color:var(--text-mute);margin-left:4px;
  font-variant-numeric:tabular-nums;}

/* all-spaces switcher — every page can reach every space without the portal */
.side-spaces{margin-top:4px;padding-top:2px;}
.sp-grid{display:grid;grid-template-columns:1fr 1fr;gap:1px 10px;padding:0 2px;}
.sp-link{display:flex;align-items:center;gap:6px;padding:5px 7px;border-radius:7px;
  font-size:12px;color:var(--text-mute);transition:.12s;min-width:0;}
.sp-link::before{content:"";width:3px;height:3px;border-radius:50%;flex:none;
  background:var(--text-mute);opacity:.6;transition:.12s;}
.sp-link:hover{color:var(--text);background:var(--bg-soft);text-decoration:none;}
.sp-link:hover::before{background:var(--accent);opacity:1;}
.sp-link span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}

.side-foot{border-top:1px solid var(--border-soft);padding:10px 13px;
  display:flex;gap:8px;align-items:center;}
.foot-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:7px;
  padding:8px;border-radius:9px;font-size:12px;font-weight:550;cursor:pointer;
  background:var(--bg-soft);border:1px solid var(--border-soft);color:var(--text-dim);
  font-family:inherit;transition:.14s;text-decoration:none;}
.foot-btn:hover{color:var(--text);border-color:var(--border);text-decoration:none;}

/* topbar */
.topbar{position:sticky;top:0;z-index:30;height:54px;display:flex;align-items:center;gap:12px;
  padding:0 22px;background:color-mix(in srgb,var(--bg) 78%,transparent);
  backdrop-filter:blur(14px) saturate(1.4);border-bottom:1px solid var(--border-soft);}
.hamburger{display:flex;width:34px;height:34px;border-radius:8px;cursor:pointer;flex:none;
  background:none;border:1px solid transparent;color:var(--text-dim);
  align-items:center;justify-content:center;padding:0;transition:.14s;}
.hamburger:hover{color:var(--text);background:var(--bg-soft);border-color:var(--border);}
.crumb{font-size:13px;color:var(--text-mute);display:flex;gap:7px;align-items:center;
  overflow:hidden;white-space:nowrap;min-width:0;}
.crumb a{color:var(--text-mute);}
.crumb a:hover{color:var(--text);text-decoration:none;}
.crumb b{color:var(--text);font-weight:550;overflow:hidden;text-overflow:ellipsis;min-width:0;}
.crumb .sep{opacity:.45;}
.topbar-sp{flex:1;}
.icon-btn{width:34px;height:34px;border-radius:8px;cursor:pointer;flex:none;
  background:none;border:1px solid transparent;color:var(--text-mute);
  display:grid;place-items:center;padding:0;transition:.14s;}
.icon-btn:hover{color:var(--text);background:var(--bg-soft);border-color:var(--border);}
.toc-btn[aria-pressed="true"]{color:var(--accent);}

/* reading column + right rail */
.colwrap{display:flex;justify-content:center;gap:38px;padding:0 34px;flex:1;width:100%;}
.article{flex:1;min-width:0;max-width:var(--read-w);padding:34px 0 72px;}
.toc-rail{width:var(--toc-w);flex:none;position:sticky;top:54px;align-self:flex-start;
  max-height:calc(100vh - 54px);overflow-y:auto;padding:34px 0 40px;}

/* page header */
.page-eyebrow{display:inline-flex;align-items:center;gap:8px;font-size:11px;font-weight:650;
  letter-spacing:1px;text-transform:uppercase;
  color:var(--text-mute);margin-bottom:14px;}
.page-eyebrow .dot{width:7px;height:7px;border-radius:50%;background:var(--tint);
  box-shadow:0 0 10px color-mix(in srgb,var(--tint) 60%,transparent);}
.page-head{animation:reader-rise .38s ease-out both;}
.page-title{margin:0 0 12px;font-size:clamp(32px,3.2vw,38px);line-height:1.12;letter-spacing:-.032em;font-weight:760;overflow-wrap:break-word;
  text-wrap:balance;}
.page-sub{margin:0;font-size:16.5px;line-height:1.6;color:var(--text-dim);max-width:64ch;
  text-wrap:pretty;overflow-wrap:break-word;}
.page-sub:empty,.page-meta:empty{display:none;}
.page-meta{display:flex;flex-wrap:wrap;align-items:baseline;gap:7px 0;margin-top:18px;}
.meta-chip{display:inline-flex;align-items:baseline;gap:6px;font-size:12.5px;color:var(--text-mute);}
.meta-chip b{font-size:13px;color:var(--text-dim);font-weight:600;
  font-variant-numeric:tabular-nums;}
.meta-chip+.meta-chip::before{content:"";width:3px;height:3px;border-radius:50%;
  background:var(--border-strong);margin:0 12px;align-self:center;}
.page-actions{margin-top:20px;display:flex;gap:9px;flex-wrap:wrap;}
.btn{display:inline-flex;align-items:center;gap:7px;padding:8px 15px;border-radius:9px;
  font-size:13px;font-weight:600;transition:.14s;border:1px solid transparent;}
.btn.primary{background:var(--accent);color:var(--accent-text);
  box-shadow:0 2px 12px -4px color-mix(in srgb,var(--accent) 50%,transparent);}
.btn.primary:hover{text-decoration:none;filter:brightness(1.09);}
.btn.ghost{background:var(--bg-soft);border-color:var(--border);color:var(--text-dim);
  box-shadow:var(--card-light);}
.btn.ghost:hover{text-decoration:none;color:var(--text);border-color:var(--border-strong);}
.page-head-rule{border:0;border-top:1px solid var(--border-soft);margin:28px 0 4px;}

/* honest status badge (implemented / spec-only / provider-gated) — §7, §9 */
.status{display:inline-flex;align-items:center;gap:6px;font-size:11.5px;font-weight:600;
  padding:3px 10px;border-radius:999px;border:1px solid;letter-spacing:.2px;
  white-space:nowrap;}
.status::before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor;
  box-shadow:0 0 8px currentColor;}
.status.implemented{color:var(--ok);border-color:color-mix(in srgb,var(--ok) 36%,transparent);
  background:color-mix(in srgb,var(--ok) 10%,transparent);}
.status.spec-only{color:var(--warn);border-color:color-mix(in srgb,var(--warn) 36%,transparent);
  background:color-mix(in srgb,var(--warn) 10%,transparent);}
.status.gated{color:var(--gated);border-color:color-mix(in srgb,var(--gated) 36%,transparent);
  background:color-mix(in srgb,var(--gated) 10%,transparent);}
.status.danger{color:var(--danger);border-color:color-mix(in srgb,var(--danger) 36%,transparent);
  background:color-mix(in srgb,var(--danger) 10%,transparent);}
.status.muted{color:var(--text-mute);border-color:var(--border);background:var(--bg-soft);}
.status.muted::before{box-shadow:none;}
.page-status{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 4px;}
.muted-txt{color:var(--text-mute);}

/* content typography */
.content{font-size:16px;overflow-wrap:break-word;}
.content h2,.content h3,.content h4{scroll-margin-top:72px;position:relative;
  letter-spacing:-.014em;line-height:1.3;text-wrap:balance;}
.content h2.hd-l2{font-size:25px;font-weight:700;margin:48px 0 16px;padding-bottom:11px;
  border-bottom:1px solid var(--border-soft);}
.content h2.hd-l2::after{content:"";position:absolute;left:0;bottom:-1px;width:44px;height:1px;
  background:color-mix(in srgb,var(--tint) 65%,transparent);}
.content h2.hd-l2:first-child{margin-top:8px;}
.content h3.hd-l3{font-size:19.5px;font-weight:650;margin:34px 0 12px;}
.content h4{font-size:16.5px;font-weight:650;margin:24px 0 9px;color:var(--text);}
.content h5,.content h6{font-size:13px;font-weight:650;margin:18px 0 7px;
  text-transform:uppercase;letter-spacing:.7px;color:var(--text-dim);}
.hd-anchor{position:absolute;left:-1em;top:0;color:var(--text-mute);opacity:0;font-weight:400;
  text-decoration:none;transition:opacity .12s;padding-right:.3em;}
.hd:hover .hd-anchor,.hd-anchor:focus-visible{opacity:.55;}
.hd-anchor:hover{opacity:1;text-decoration:none;color:var(--accent);}
/* touch devices have no hover — keep the anchor affordance faintly visible */
@media(hover:none){.hd-anchor{opacity:.35;}}
.content p{margin:0 0 15px;}
.content ul,.content ol{margin:0 0 15px;padding-left:1.45em;}
.content li{margin:5px 0;}
.content li::marker{color:color-mix(in srgb,var(--tint) 70%,var(--text-mute));}
.content strong{font-weight:650;color:var(--text);}
.content p a,.content li a{color:color-mix(in srgb,var(--accent) 88%,var(--text));
  text-decoration:underline;text-decoration-color:color-mix(in srgb,var(--accent) 42%,transparent);
  text-underline-offset:3px;}
.content p a:hover,.content li a:hover{text-decoration-color:var(--accent);}
.content hr{border:0;border-top:1px solid var(--border-soft);margin:32px 0;}
.content img{max-width:100%;border-radius:10px;border:1px solid var(--border-soft);}
.content :not(pre)>code{font-family:var(--mono);font-size:.84em;background:var(--code-bg);
  color:var(--code-text);padding:.14em .42em;border-radius:5px;border:1px solid var(--border-soft);
  white-space:break-spaces;word-break:break-word;}

/* code cards */
.code-card{margin:0 0 20px;border:1px solid var(--border);border-radius:12px;overflow:hidden;
  background:var(--code-bg);box-shadow:var(--card-light),var(--shadow);}
.code-head{display:flex;align-items:center;justify-content:space-between;padding:6px 8px 6px 14px;
  background:var(--bg-soft);border-bottom:1px solid var(--border-soft);}
.code-lang{font-family:var(--mono);font-size:10.5px;font-weight:600;letter-spacing:.7px;
  text-transform:uppercase;color:var(--text-mute);display:inline-flex;align-items:center;gap:7px;}
.code-lang::before{content:"";width:5px;height:5px;border-radius:50%;
  background:color-mix(in srgb,var(--tint) 75%,transparent);}
.copy-btn{font-family:inherit;font-size:11px;font-weight:600;cursor:pointer;padding:4px 11px;
  border-radius:6px;color:var(--text-dim);background:var(--bg-elev);border:1px solid var(--border);
  transition:.14s;}
.copy-btn:hover{color:var(--text);border-color:var(--border-strong);}
.copy-btn.ok{color:var(--ok);border-color:color-mix(in srgb,var(--ok) 45%,transparent);}
.code-card pre{margin:0;padding:15px 16px;overflow-x:auto;}
.code-card code{font-family:var(--mono);font-size:12.8px;line-height:1.65;background:none;
  border:0;padding:0;color:var(--code-text);}
.content pre:not(.code-card pre){background:var(--code-bg);border:1px solid var(--border);
  border-radius:12px;padding:15px 16px;overflow-x:auto;margin:0 0 20px;}

/* tables */
.table-wrap{overflow-x:auto;margin:0 0 22px;border:1px solid var(--border);border-radius:12px;
  box-shadow:var(--card-light),var(--shadow);}
.table-wrap:focus-visible{outline:2px solid var(--tint);outline-offset:3px;}
.table-wrap table{border-collapse:collapse;width:100%;font-size:13.5px;}
.table-wrap th,.table-wrap td{padding:9px 14px;text-align:left;
  border-bottom:1px solid var(--border-soft);vertical-align:top;}
.table-wrap thead th{background:var(--bg-soft);color:var(--text-dim);font-weight:650;font-size:11px;
  letter-spacing:.6px;text-transform:uppercase;position:sticky;top:0;
  border-bottom:1px solid var(--border);white-space:nowrap;}
.table-wrap tbody tr{background:var(--bg-elev);transition:background .1s;}
.table-wrap tbody tr:nth-child(even){background:color-mix(in srgb,var(--bg-soft) 55%,var(--bg-elev));}
.table-wrap tbody tr:hover{background:var(--bg-hover);}
.table-wrap tr:last-child td{border-bottom:0;}

/* blockquote */
.content blockquote{margin:0 0 20px;padding:13px 18px;border-radius:0 10px 10px 0;
  border-left:3px solid color-mix(in srgb,var(--tint) 75%,transparent);
  background:var(--quote-bg);color:var(--text-dim);}
.content blockquote p:last-child{margin-bottom:0;}

/* mermaid */
.mermaid-card{margin:0 0 22px;padding:18px;border:1px solid var(--border);border-radius:12px;
  background:var(--bg-elev);box-shadow:var(--card-light),var(--shadow);position:relative;
  overflow:auto;text-align:center;}
.mermaid-card .mermaid{display:flex;justify-content:center;}
.mermaid-card svg{max-width:100%;height:auto;}
.mm-expand{position:absolute;top:10px;right:10px;z-index:2;display:flex;align-items:center;gap:5px;
  font-family:inherit;font-size:11px;font-weight:600;cursor:pointer;padding:5px 10px;border-radius:7px;
  color:var(--text-mute);background:var(--bg-soft);border:1px solid var(--border);transition:.14s;}
.mm-expand:hover{color:var(--text);border-color:var(--border-strong);}
.mermaid .labelBkg,.mermaid .edgeLabel,.mermaid .edgeLabel p{
  color:var(--text)!important;background:var(--bg-soft)!important;}

/* local TOC (right rail) */
.toc-head{font-size:10px;font-weight:650;letter-spacing:1px;text-transform:uppercase;
  color:var(--text-mute);margin:0 0 4px 2px;display:flex;justify-content:space-between;align-items:center;}
.toc-count{font-size:10px;color:var(--text-mute);font-variant-numeric:tabular-nums;}
.tocfilter-wrap{position:relative;margin:6px 0 10px;}
#tocFilter{width:100%;padding:7px 10px 7px 29px;border-radius:8px;font-size:12.5px;
  background:var(--bg-soft);border:1px solid var(--border-soft);color:var(--text);font-family:inherit;
  outline:none;transition:.14s;}
#tocFilter:focus{border-color:var(--accent);background:var(--bg-elev);}
.tocfilter-wrap svg{position:absolute;left:9px;top:50%;transform:translateY(-50%);color:var(--text-mute);}
.toc,.toc-sub{list-style:none;margin:0;padding:0;}
.toc-row{display:flex;align-items:flex-start;gap:2px;}
.toc-toggle{flex:none;width:18px;height:24px;background:none;border:0;cursor:pointer;padding:0;
  color:var(--text-mute);position:relative;}
.toc-toggle::before{content:"";position:absolute;top:9px;left:6px;width:5px;height:5px;
  border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;
  transform:rotate(45deg);transition:transform .15s;}
.toc-h2:not(.collapsed)>.toc-row>.toc-toggle::before{transform:rotate(-135deg);top:11px;}
.toc-bullet{flex:none;width:18px;height:24px;position:relative;}
.toc-bullet::before{content:"";position:absolute;top:10px;left:7px;width:4px;height:4px;border-radius:50%;
  background:var(--text-mute);opacity:.4;}
.toc-link{display:block;flex:1;padding:3.5px 8px;border-radius:0 7px 7px 0;font-size:12.5px;
  color:var(--text-dim);line-height:1.42;transition:.12s;border-left:2px solid transparent;}
.toc-link:hover{text-decoration:none;color:var(--text);background:var(--bg-soft);}
.toc-sub{margin:1px 0 3px;padding-left:16px;border-left:1px solid var(--border-soft);margin-left:8px;}
.toc-sub-link{font-size:12px;color:var(--text-mute);}
.toc-h2.collapsed>.toc-sub{display:none;}
.toc-link.active{color:var(--accent);background:var(--accent-quiet);font-weight:600;
  border-left-color:var(--accent);}

/* inline "On this page" — the right rail's replacement below 1200px, a
   collapsed <details> under the page header so long generated pages (59–123
   sections) keep in-page navigation on tablet/mobile */
.toc-inline{display:none;margin:20px 0 4px;border:1px solid var(--border);border-radius:12px;
  background:var(--bg-elev);box-shadow:var(--card-light);}
.toc-inline>summary{cursor:pointer;padding:11px 15px;font-size:11px;font-weight:650;
  letter-spacing:.9px;text-transform:uppercase;color:var(--text-mute);list-style:none;
  display:flex;align-items:center;gap:8px;border-radius:12px;}
.toc-inline>summary:hover{color:var(--text-dim);}
.toc-inline>summary::-webkit-details-marker{display:none;}
.toc-inline>summary::after{content:"";width:6px;height:6px;margin-left:auto;flex:none;
  border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;
  transform:rotate(45deg);transition:transform .15s;}
.toc-inline[open]>summary::after{transform:rotate(-135deg);}
.toc-inline>nav{padding:2px 13px 13px;max-height:46vh;overflow-y:auto;}

/* prev / next */
.pnav{max-width:var(--read-w);margin:8px auto 0;display:grid;gap:13px;grid-template-columns:1fr 1fr;}
.pnav-cell{display:flex;flex-direction:column;gap:4px;padding:14px 17px;border-radius:12px;
  border:1px solid var(--border);background:var(--bg-elev);box-shadow:var(--card-light);
  transition:.15s;min-width:0;}
.pnav-cell:hover{border-color:color-mix(in srgb,var(--tint) 45%,var(--border-strong));
  box-shadow:var(--card-light),var(--shadow);text-decoration:none;transform:translateY(-1px);}
.pnav-next{text-align:right;grid-column:2;}
.pnav-prev{grid-column:1;}
.pnav-dir{font-size:10.5px;font-weight:650;letter-spacing:.6px;text-transform:uppercase;
  color:var(--text-mute);}
.pnav-title{font-size:14px;font-weight:600;color:var(--text);white-space:nowrap;overflow:hidden;
  text-overflow:ellipsis;}
.pnav-cell:hover .pnav-title{color:var(--accent);}

/* footer */
.doc-foot{max-width:var(--read-w);margin:0 auto;padding:22px 0 50px;
  border-top:1px solid var(--border-soft);color:var(--text-mute);font-size:12.5px;
  display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;}
.doc-foot a{color:var(--text-dim);}

/* back to top */
#backtop{position:fixed;right:24px;bottom:24px;width:42px;height:42px;border-radius:50%;cursor:pointer;
  z-index:35;background:var(--bg-elev);color:var(--text);border:1px solid var(--border-strong);
  display:grid;place-items:center;box-shadow:var(--shadow);opacity:0;transform:translateY(12px) scale(.9);
  pointer-events:none;visibility:hidden;transition:opacity .2s,transform .2s,visibility 0s .2s;}
#backtop.show{opacity:1;transform:none;pointer-events:auto;visibility:visible;transition-delay:0s;}
#backtop:hover{border-color:var(--accent);color:var(--accent);}

/* keyboard-shortcuts panel (opened with "?") */
.kmodal{position:fixed;inset:0;z-index:85;display:none;}
.kmodal.open{display:block;}
.kmodal-backdrop{position:absolute;inset:0;background:rgba(3,4,8,.66);backdrop-filter:blur(2px);}
.kmodal-panel{position:relative;max-width:420px;margin:16vh auto 0;background:var(--bg-elev);
  border:1px solid var(--border-strong);border-radius:14px;box-shadow:var(--card-light),var(--shadow-lg);
  overflow:hidden;}
.kmodal-head{display:flex;align-items:center;justify-content:space-between;
  padding:13px 12px 13px 18px;border-bottom:1px solid var(--border-soft);}
.kmodal-head b{font-size:13.5px;font-weight:650;letter-spacing:-.01em;}
.kmodal-list{margin:0;padding:10px 18px 16px;}
.kmodal-row{display:flex;align-items:baseline;justify-content:space-between;gap:14px;padding:7px 0;}
.kmodal-row dt{font-size:13px;color:var(--text-dim);margin:0;}
.kmodal-row dd{margin:0;display:flex;gap:4px;align-items:center;font-size:11px;color:var(--text-mute);}
.kmodal-row kbd{font-size:10.5px;font-weight:600;padding:2.5px 7px;border-radius:5px;
  background:var(--bg-soft);border:1px solid var(--border);color:var(--text-dim);
  box-shadow:0 1px 0 var(--border);}
body.km-lock{overflow:hidden;}

/* mermaid modal */
.mmodal{position:fixed;inset:0;z-index:80;background:rgba(3,4,8,.92);display:none;flex-direction:column;}
.mmodal.open{display:flex;}
.mmodal-bar{display:flex;justify-content:space-between;align-items:center;padding:13px 20px;color:var(--text);}
.mmodal-bar b{font-size:13px;font-weight:600;letter-spacing:.3px;}
.mmodal-tools{display:flex;gap:8px;}
.mmodal-tools button{width:34px;height:34px;border-radius:8px;cursor:pointer;background:var(--bg-soft);
  border:1px solid var(--border-strong);color:var(--text);font-size:17px;font-weight:600;line-height:1;}
.mmodal-tools button:hover{background:var(--bg-hover);}
#mstage{flex:1;overflow:hidden;display:grid;place-items:center;cursor:grab;touch-action:none;}
#mstage.grabbing{cursor:grabbing;}
#mstage svg{max-width:none!important;transition:transform .04s linear;}
.mmodal-hint{text-align:center;color:var(--text-mute);font-size:11px;padding:6px 0 12px;}
body.mm-lock{overflow:hidden;}

/* API + contract reference (api-and-contracts/) */
.api-ep{display:flex;align-items:center;gap:11px;padding:8px 12px;border-radius:9px;
  background:var(--bg-elev);border:1px solid var(--border-soft);margin:0 0 7px;}
.api-method{font-family:var(--mono);font-size:10.5px;font-weight:700;padding:3px 8px;border-radius:5px;
  min-width:54px;text-align:center;letter-spacing:.3px;flex:none;}
.api-method.get{color:var(--ok);background:color-mix(in srgb,var(--ok) 12%,transparent);}
.api-method.post{color:var(--accent);background:var(--accent-quiet);}
.api-method.put,.api-method.patch{color:var(--warn);background:color-mix(in srgb,var(--warn) 12%,transparent);}
.api-method.delete{color:var(--danger);background:color-mix(in srgb,var(--danger) 12%,transparent);}
.api-method.options,.api-method.head{color:var(--text-mute);background:var(--bg-soft);}
.api-path{font-family:var(--mono);font-size:12.5px;color:var(--text);word-break:break-all;}
.api-sum{font-size:12px;color:var(--text-mute);margin-left:auto;text-align:right;}
.schema-grid{display:flex;flex-wrap:wrap;gap:7px;margin:4px 0 14px;}
.schema-chip{display:inline-flex;align-items:center;gap:6px;padding:4px 9px;border-radius:7px;
  background:var(--bg-soft);border:1px solid var(--border-soft);}
.schema-chip code{font-size:11.5px;color:var(--text-dim);background:none;border:0;padding:0;}
.schema-kind{font-size:10px;color:var(--text-mute);font-family:var(--mono);}

/* configuration reference (api-and-contracts/config-reference) */
.cfg-legend{font-size:12px;color:var(--text-mute);margin:2px 0 16px;line-height:1.9;}
.cfg-legend .status{margin-right:2px;}
.cfg-list{display:flex;flex-direction:column;border:1px solid var(--border-soft);
  border-radius:12px;overflow:hidden;margin:4px 0 16px;background:var(--bg-elev);}
.cfg-var{padding:10px 14px;border-top:1px solid var(--border-soft);}
.cfg-var:first-child{border-top:0;}
.cfg-head{display:flex;align-items:center;gap:10px;flex-wrap:wrap;}
.cfg-name{font-size:12.5px;font-weight:600;color:var(--text);background:none;border:0;padding:0;
  font-family:var(--mono);}
.cfg-default{font-size:11.5px;color:var(--text-mute);font-family:var(--mono);}
.cfg-badges{margin-left:auto;display:inline-flex;gap:6px;flex-wrap:wrap;}
.cfg-desc{font-size:12.5px;color:var(--text-dim);margin-top:5px;line-height:1.6;max-width:74ch;}

/* event / message catalog (api-and-contracts/event-catalog) */
.ev-list{display:flex;flex-direction:column;border:1px solid var(--border-soft);
  border-radius:12px;overflow:hidden;margin:4px 0 18px;background:var(--bg-elev);}
.ev-row{padding:10px 14px;border-top:1px solid var(--border-soft);scroll-margin-top:84px;}
.ev-row:first-child{border-top:0;}
.ev-row:target{background:var(--accent-quiet);}
.ev-head{display:flex;align-items:center;gap:12px;flex-wrap:wrap;}
.ev-key{font-size:12.5px;font-weight:650;color:var(--text);background:none;border:0;padding:0;
  font-family:var(--mono);}
.ev-sym{font-size:11.5px;color:var(--text-mute);font-family:var(--mono);text-decoration:none;}
.ev-sym:hover{color:var(--accent);text-decoration:underline;}
.ev-head .hd-anchor{margin-left:auto;}
.ev-payload{display:flex;flex-wrap:wrap;gap:6px;margin-top:7px;}
.ev-envelope{margin:4px 0 18px;}
.jg-panel{margin:0 0 20px;border:1px solid var(--border-soft);border-radius:12px;
  background:var(--bg-elev);padding:13px 16px;}
.jg-h{font-size:11px;color:var(--text-mute);font-family:var(--mono);text-transform:uppercase;
  letter-spacing:.05em;margin-bottom:9px;}
.jg-row{display:flex;flex-wrap:wrap;gap:8px;align-items:baseline;margin:6px 0;}
.jg-k{flex:0 0 auto;min-width:128px;font-size:11.5px;color:var(--text-mute);font-weight:600;}
.jg-v{display:flex;flex-wrap:wrap;gap:5px;align-items:baseline;font-size:12.5px;color:var(--text-dim);}
.jg-v a.ev-field{text-decoration:none;}
.jg-v a.ev-field:hover{border-color:var(--accent);}
.perf-path{font-size:11px;color:var(--text-mute);font-family:var(--mono);margin-right:4px;}
.perf-metrics{margin-top:7px;display:flex;flex-direction:column;gap:5px;}
.perf-metric{display:flex;flex-wrap:wrap;align-items:center;gap:6px;font-size:11.5px;}
.perf-metric>code{color:var(--text-dim);font-family:var(--mono);min-width:160px;}
.obs-exprwrap{margin-top:7px;overflow-x:auto;}
.obs-expr{display:block;font-size:11.5px;color:var(--text-dim);background:var(--bg);
  border:1px solid var(--border-soft);border-radius:6px;padding:7px 10px;white-space:pre-wrap;
  word-break:break-word;font-family:var(--mono);line-height:1.5;}
.ev-field{display:inline-flex;align-items:center;padding:2px 8px;border-radius:6px;
  background:var(--bg);border:1px solid var(--border-soft);}
.ev-field code{font-size:11px;color:var(--text-dim);background:none;border:0;padding:0;
  font-family:var(--mono);}

/* rail cards — the shared linked-summary card (portal rails, reference hubs,
   data/engine/lens indexes). Shared here, NOT portal-only: five reader
   surfaces render these, and portal-scoped CSS left them as unstyled links. */
.rail-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(262px,100%),1fr));
  gap:12px;padding:16px 0 4px;}
.rcard{display:flex;flex-direction:column;gap:5px;padding:14px 16px;border-radius:12px;
  background:var(--bg-elev);border:1px solid var(--border);
  box-shadow:var(--card-light);transition:.15s;}
.rcard:hover{border-color:color-mix(in srgb,var(--rt,var(--accent)) 42%,var(--border-strong));
  text-decoration:none;transform:translateY(-1px);}
.rcard-h{display:flex;align-items:center;justify-content:space-between;gap:8px;}
.rcard-t{font-size:13.5px;font-weight:650;color:var(--text);letter-spacing:-.01em;}
.rcard:hover .rcard-t{color:var(--accent);}
.rcard-m{font-size:10.5px;font-weight:600;color:var(--text-mute);font-family:var(--mono);
  font-variant-numeric:tabular-nums;flex:none;}
.rcard-d{font-size:12.5px;color:var(--text-dim);line-height:1.5;}
/* proportional magnitude bar for count cards (single hue — identity lives in
   the label, magnitude in the length; never a rainbow) */
.rcard-bar{height:3px;border-radius:2px;background:var(--bg-soft);overflow:hidden;
  margin-top:7px;}
.rcard-bar>span{display:block;height:100%;border-radius:2px;
  background:color-mix(in srgb,var(--rt,var(--accent)) 72%,transparent);}

/* task lists (journey steps, checklists) — GitHub-style disabled checkboxes */
.content li.task{list-style:none;position:relative;}
.content li.task::marker{content:"";}
.task-cb{appearance:none;-webkit-appearance:none;width:14px;height:14px;margin:0 7px 0 -20px;
  vertical-align:-2px;border:1.5px solid var(--border-strong);border-radius:4px;
  background:var(--bg-soft);position:relative;cursor:default;}
.task-cb:checked{background:var(--accent-quiet);border-color:color-mix(in srgb,var(--accent) 55%,transparent);}
.task-cb:checked::after{content:"";position:absolute;left:3.5px;top:.5px;width:4px;height:8px;
  border-right:1.8px solid var(--accent);border-bottom:1.8px solid var(--accent);
  transform:rotate(43deg);}

/* horizontal magnitude bar (table cells: test files per area, tables per
   schema) — one hue; the label carries identity, the length carries size */
.tbar{display:flex;align-items:center;gap:10px;min-width:150px;}
.tbar-track{flex:1;height:7px;border-radius:4px;background:var(--bg-soft);
  overflow:hidden;min-width:80px;}
.tbar-track>span{display:block;height:100%;border-radius:4px;
  background:color-mix(in srgb,var(--accent) 68%,transparent);}
.tbar b{font-size:12.5px;font-weight:650;color:var(--text);
  font-variant-numeric:tabular-nums;flex:none;}

/* fraction meter — progress toward a stated target (n/m). Completion is a
   state: a full bar earns the ok colour, anything less stays accent. */
.frac{display:inline-flex;align-items:center;gap:9px;white-space:nowrap;}
.frac-track{width:72px;height:7px;border-radius:4px;background:var(--bg-soft);
  overflow:hidden;flex:none;}
.frac-track>span{display:block;height:100%;border-radius:4px;
  background:color-mix(in srgb,var(--accent) 68%,transparent);}
.frac.full .frac-track>span{background:color-mix(in srgb,var(--ok) 78%,transparent);}
.frac b{font-size:12px;font-weight:600;color:var(--text-dim);
  font-variant-numeric:tabular-nums;}

/* stacked status meters (verdict distribution, automation coverage) — status
   colours are reserved state colours; every segment is paired with a visible
   text legend so colour is never the only channel. 2px surface gaps between
   fills; rounded outer data ends. */
.meter{display:flex;gap:2px;height:9px;border-radius:5px;overflow:hidden;min-width:120px;
  flex:1 1 140px;max-width:340px;}
.meter-seg{min-width:4px;}
.meter-seg.m-ok{background:var(--ok);}
.meter-seg.m-warn{background:var(--warn);}
.meter-seg.m-danger{background:var(--danger);}
.meter-seg.m-mute{background:var(--border-strong);}
.meter-legend{display:flex;flex-wrap:wrap;gap:4px 14px;font-size:11.5px;color:var(--text-dim);
  align-items:baseline;}
.meter-legend b{color:var(--text);font-weight:650;font-variant-numeric:tabular-nums;}
.leg-dot{display:inline-block;width:7px;height:7px;border-radius:2px;margin-right:5px;
  vertical-align:0;}
.leg-dot.m-ok{background:var(--ok);}
.leg-dot.m-warn{background:var(--warn);}
.leg-dot.m-danger{background:var(--danger);}
.leg-dot.m-mute{background:var(--border-strong);}

/* journey-registry overview: a dashboard card per surface — identity, stat
   figures, verdict meter, automation, and quick links */
.jt-overview{margin:4px 0 18px;}
.jt-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(330px,100%),1fr));
  gap:12px;}
.jt-card{position:relative;display:flex;flex-direction:column;gap:11px;padding:15px 17px 13px;
  border:1px solid var(--border);border-radius:13px;background:var(--bg-elev);
  box-shadow:var(--card-light);overflow:hidden;}
.jt-card::before{content:"";position:absolute;top:0;left:0;right:0;height:2px;
  background:linear-gradient(90deg,var(--jt,var(--accent)),transparent 65%);opacity:.85;}
.jt-card-h{display:flex;align-items:center;gap:10px;min-width:0;}
.jt-ov-badge{font-weight:650;font-size:11px;color:#fff;background:var(--jt,var(--accent));
  border-radius:7px;padding:4px 8px;flex:none;letter-spacing:.3px;
  box-shadow:0 0 0 1px rgba(255,255,255,.08) inset,0 0 16px -6px var(--jt,var(--accent));}
.jt-ov-name{font-size:14px;font-weight:650;color:var(--text);min-width:0;line-height:1.3;
  letter-spacing:-.01em;}
.jt-ov-name a{color:inherit;}
.jt-ov-name a:hover{color:var(--accent);text-decoration:none;}
.jt-card-app{display:block;font-family:var(--mono);font-size:10px;color:var(--text-mute);
  font-weight:400;margin-top:1px;}
.jt-figs{display:flex;gap:0;align-items:baseline;flex-wrap:wrap;}
.jt-fig{display:flex;flex-direction:column;gap:1px;min-width:0;}
.jt-fig b{font-size:19px;font-weight:750;color:var(--text);letter-spacing:-.02em;
  font-variant-numeric:tabular-nums;line-height:1.15;}
.jt-fig span{font-size:10.5px;color:var(--text-mute);letter-spacing:.3px;}
.jt-fig+.jt-fig{border-left:1px solid var(--border-soft);margin-left:14px;padding-left:14px;}
.jt-meterrow{display:flex;align-items:center;gap:10px;min-width:0;}
.jt-meterrow .meter{max-width:none;}
.jt-ov-auto{font-size:11px;color:var(--text-mute);flex:none;
  font-variant-numeric:tabular-nums;}
.jt-card-links{display:flex;gap:4px 14px;flex-wrap:wrap;font-size:11.5px;
  border-top:1px solid var(--border-soft);padding-top:10px;margin-top:auto;}
.jt-card-links a{color:var(--text-dim);}
.jt-card-links a:hover{color:var(--accent);text-decoration:none;}
.jt-ov-legendwrap{padding:10px 4px 0;}

/* latest recorded walks — a compact evidence strip, newest first */
.walk-strip{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(250px,100%),1fr));
  gap:10px;margin:4px 0 16px;}
.walk-card{display:flex;flex-direction:column;gap:4px;padding:11px 13px;border-radius:11px;
  border:1px solid var(--border);background:var(--bg-elev);box-shadow:var(--card-light);
  transition:.14s;min-width:0;}
.walk-card:hover{border-color:color-mix(in srgb,var(--accent) 45%,var(--border-strong));
  text-decoration:none;transform:translateY(-1px);}
.walk-top{display:flex;align-items:center;gap:8px;font-size:10.5px;color:var(--text-mute);
  font-family:var(--mono);font-variant-numeric:tabular-nums;}
.walk-dot{width:7px;height:7px;border-radius:50%;flex:none;box-shadow:0 0 8px currentColor;}
.walk-dot.m-ok{color:var(--ok);background:var(--ok);}
.walk-dot.m-warn{color:var(--warn);background:var(--warn);}
.walk-dot.m-danger{color:var(--danger);background:var(--danger);}
.walk-verdict{margin-left:auto;text-transform:uppercase;letter-spacing:.5px;font-weight:600;}
.walk-title{font-size:12.5px;font-weight:550;color:var(--text);line-height:1.4;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.walk-card:hover .walk-title{color:var(--accent);}

/* collapsed spec list — one quiet line, expandable, instead of a chip wall */
.spec-fold{min-width:0;}
.spec-fold>summary{cursor:pointer;list-style:none;display:inline-flex;align-items:center;
  gap:6px;font-family:var(--mono);font-size:11px;color:var(--text-dim);padding:3px 9px;
  border-radius:6px;background:var(--bg-soft);border:1px solid var(--border-soft);
  white-space:nowrap;transition:.13s;}
.spec-fold>summary:hover{color:var(--text);border-color:var(--border-strong);}
.spec-fold>summary::-webkit-details-marker{display:none;}
.spec-fold>summary::after{content:"";width:5px;height:5px;flex:none;
  border-right:1.4px solid currentColor;border-bottom:1.4px solid currentColor;
  transform:rotate(45deg);transition:transform .15s;margin-top:-2px;}
.spec-fold[open]>summary::after{transform:rotate(-135deg);margin-top:2px;}
.spec-fold>ul{list-style:none;margin:7px 0 2px;padding:0;display:flex;
  flex-direction:column;gap:4px;}
.spec-fold a{font-family:var(--mono);font-size:11px;color:var(--text-dim);
  overflow-wrap:anywhere;}
.spec-fold a:hover{color:var(--accent);}
.spec-one{font-family:var(--mono);font-size:11px;color:var(--text-dim);
  display:inline-block;max-width:180px;white-space:nowrap;overflow:hidden;
  text-overflow:ellipsis;vertical-align:bottom;}
.spec-one:hover{color:var(--accent);}

/* per-root registry toolbar: filter + failing-first sort + shown-count */
.jt-toolbar{display:flex;align-items:center;gap:9px;margin:12px 0 10px;flex-wrap:wrap;}
.jt-filterwrap{position:relative;flex:1 1 220px;max-width:340px;}
.jt-filterwrap svg{position:absolute;left:10px;top:50%;transform:translateY(-50%);
  color:var(--text-mute);}
.jt-filter{width:100%;padding:7px 11px 7px 31px;border-radius:9px;font-size:12.5px;
  background:var(--bg-soft);border:1px solid var(--border);color:var(--text);
  font-family:inherit;outline:none;transition:.14s;}
.jt-filter:focus{border-color:var(--accent);background:var(--bg-elev);}
.jt-sort{display:inline-flex;align-items:center;gap:6px;padding:7px 12px;border-radius:9px;
  font-size:12px;font-weight:600;cursor:pointer;font-family:inherit;transition:.14s;
  background:var(--bg-soft);border:1px solid var(--border);color:var(--text-dim);}
.jt-sort:hover{color:var(--text);border-color:var(--border-strong);}
.jt-sort[aria-pressed="true"]{color:var(--accent);border-color:color-mix(in srgb,var(--accent) 45%,transparent);
  background:var(--accent-quiet);}
.jt-shown{font-size:11.5px;color:var(--text-mute);font-variant-numeric:tabular-nums;
  margin-left:auto;}

/* verdict staleness — relative to the newest recorded walk (deterministic) */
.status.stale{color:var(--warn);border-color:color-mix(in srgb,var(--warn) 36%,transparent);
  background:none;border-style:dashed;}
.status.stale::before{box-shadow:none;}
.v-date{font-weight:500;opacity:.85;margin-left:2px;}

/* role lenses (start-here/) */
.lens-links{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(280px,100%),1fr));gap:11px;margin:4px 0 10px;}
.lens-link{display:flex;flex-direction:column;gap:3px;padding:13px 15px;border-radius:12px;
  background:var(--bg-elev);border:1px solid var(--border);box-shadow:var(--card-light);transition:.14s;}
.lens-link:hover{border-color:color-mix(in srgb,var(--accent) 55%,var(--border-strong));
  text-decoration:none;transform:translateY(-1px);}
.lens-link-t{font-size:14px;font-weight:650;color:var(--text);}
.lens-link:hover .lens-link-t{color:var(--accent);}
.lens-link-w{font-size:12.5px;color:var(--text-dim);}

/* discipline index doc lists */
.disc-list{list-style:none;margin:6px 0 0;padding:0;columns:2;column-gap:26px;}
.disc-list li{margin:0 0 8px;break-inside:avoid;padding-left:14px;position:relative;}
.disc-list li::before{content:"";position:absolute;left:0;top:9px;width:4px;height:4px;border-radius:50%;
  background:var(--text-mute);opacity:.5;}
@media(max-width:760px){.disc-list{columns:1;}}

/* coverage report (meta/) */
.callout{margin:0 0 18px;padding:12px 16px;border:1px solid var(--border-soft);border-radius:10px;
  background:var(--bg-elev);font-size:13.5px;line-height:1.6;color:var(--text-dim);}
.callout b{color:var(--text);font-weight:650;}
.callout a{color:var(--accent);text-decoration:none;}
.callout a:hover{text-decoration:underline;}
.callout code{font-size:12px;background:var(--code-bg);padding:1px 5px;border-radius:4px;}
.callout-info{border-left:3px solid var(--accent);}
.cov-flagged{margin:6px 0 16px;border:1px solid var(--border-soft);border-radius:10px;
  background:var(--bg-elev);padding:10px 14px;}
.cov-flagged summary{cursor:pointer;font-size:13px;color:var(--text-dim);}
.cov-flagged summary:hover{color:var(--text);}
.cov-flagged ul{margin:10px 0 2px;}
.cov-flagged code{font-size:11.5px;color:var(--text-mute);background:none;}
.cov-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:11px;margin:4px 0 14px;}
.cov-cell{background:var(--bg-elev);border:1px solid var(--border);border-radius:12px;padding:14px 16px;
  display:flex;flex-direction:column;gap:2px;box-shadow:var(--card-light);}
.cov-cell b{font-size:23px;font-weight:750;color:var(--text);letter-spacing:-.02em;
  font-variant-numeric:tabular-nums;}
.cov-cell span{font-size:12px;color:var(--text-mute);}

/* entity catalog (systems/) */
.ent-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(340px,100%),1fr));gap:12px;margin:0 0 10px;}
.ent-card{background:var(--bg-elev);border:1px solid var(--border);border-radius:12px;
  padding:13px 15px;scroll-margin-top:72px;box-shadow:var(--card-light);}
.ent-card:target{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent);}
.ent-head{display:flex;align-items:center;gap:8px;flex-wrap:wrap;}
.ent-type{font-size:10px;font-weight:650;letter-spacing:.4px;text-transform:uppercase;
  color:var(--text-mute);background:var(--bg-soft);border:1px solid var(--border-soft);
  padding:2px 7px;border-radius:5px;}
.ent-name{font-family:var(--mono);font-size:13px;color:var(--text);background:none;border:0;
  padding:0;margin:0;line-height:1.4;font-weight:600;word-break:break-all;}
.ent-pkg{font-family:var(--mono);font-size:11px;color:var(--text-mute);}
.ent-anchor{position:static;opacity:0;margin-left:auto;}
.ent-card:hover .ent-anchor,.ent-card:target .ent-anchor{opacity:.5;}
.ent-desc{margin:8px 0 6px;font-size:13px;color:var(--text-dim);line-height:1.55;}
.ent-card.has-prose{grid-column:1/-1;}
.ent-prose{margin:9px 0 4px;padding-left:13px;border-left:2px solid var(--border);
  font-size:13.5px;color:var(--text-dim);line-height:1.62;}
.ent-prose>p:first-child{margin-top:0;}
.ent-prose>p:last-child{margin-bottom:0;}
.ent-prose p{margin:7px 0;}
.ent-prose code{font-size:12px;background:var(--code-bg);padding:1px 4px;border-radius:4px;}
.ent-prose a{color:var(--accent);text-decoration:none;}
.ent-prose a:hover{text-decoration:underline;}
.ent-prose strong{color:var(--text);font-weight:600;}
.ent-prose ul,.ent-prose ol{margin:7px 0;padding-left:20px;}
.ent-prose li{margin:3px 0;}
.ent-deepdive{margin:0 0 8px;}
.ent-meta{font-size:11.5px;color:var(--text-mute);margin:6px 0;}
.ent-meta code{font-size:11px;background:var(--code-bg);}
.ent-path code{color:var(--text-dim);}
.ent-targets{display:flex;flex-wrap:wrap;gap:5px;margin:8px 0 6px;}
.tgt-badge{font-size:10.5px;font-weight:600;font-family:var(--mono);padding:2px 7px;border-radius:5px;
  background:var(--bg-soft);border:1px solid var(--border-soft);color:var(--text-dim);}
.tgt-badge.ok{color:var(--ok);border-color:color-mix(in srgb,var(--ok) 35%,transparent);}
.ent-chips{display:flex;flex-wrap:wrap;gap:5px;}
.ent-chip{font-size:10.5px;color:var(--text-mute);background:var(--bg-soft);
  border:1px solid var(--border-soft);padding:2px 7px;border-radius:5px;}
.ent-related{margin:2px 0 16px;padding:10px 14px;border-left:3px solid var(--accent);
  background:var(--bg-elev);border-radius:0 9px 9px 0;font-size:13px;color:var(--text-dim);}
.ent-related b{color:var(--text);font-weight:650;}
.ent-related a{color:var(--accent);text-decoration:none;}
.ent-related a:hover{text-decoration:underline;}
.ent-api{margin:7px 0 4px;display:flex;flex-wrap:wrap;align-items:baseline;gap:5px;}
.ent-api-h{font-size:10.5px;color:var(--text-mute);font-family:var(--mono);
  text-transform:uppercase;letter-spacing:.03em;margin-right:3px;}
.ent-api-h a{color:var(--text-mute);text-decoration:none;border-bottom:1px dotted var(--border);}
.ent-api-h a:hover{color:var(--accent);border-bottom-color:var(--accent);}
.ent-api-sym{font-size:10.5px;font-family:var(--mono);color:var(--text-dim);text-decoration:none;
  background:var(--bg-soft);border:1px solid var(--border-soft);padding:1px 6px;border-radius:5px;
  display:inline-flex;align-items:baseline;gap:4px;}
a.ent-api-sym:hover{border-color:var(--accent);color:var(--text);}
a.ent-api-sym:focus-visible{outline:2px solid var(--accent);outline-offset:1px;}
.ent-api-ln{font-size:9px;color:var(--text-mute);opacity:.8;}
a.ent-api-sym:hover .ent-api-ln{color:var(--accent);}
/* §5 product space map */
.ps-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(248px,100%),1fr));gap:11px;margin:14px 0;}
.ps-card{border:1px solid var(--border);border-radius:12px;padding:12px 13px;background:var(--bg-elev);
  display:flex;flex-direction:column;gap:5px;box-shadow:var(--card-light);}
.ps-card.ps-na{opacity:.6;}
.ps-card-h{display:flex;align-items:baseline;justify-content:space-between;gap:8px;}
.ps-card-t{font-weight:640;font-size:13.5px;color:var(--text);}
.ps-kind{font-family:var(--mono);font-size:9px;color:var(--text-mute);text-transform:uppercase;
  letter-spacing:.06em;border:1px solid var(--border-soft);border-radius:5px;padding:1px 5px;}
.ps-card-d{font-size:11.5px;color:var(--text-dim);line-height:1.45;}
.ps-card-l{font-size:11.5px;line-height:1.6;}
.ps-card-l a{color:var(--accent);text-decoration:none;border-bottom:1px dotted var(--border-strong);}
.ps-card-l a:hover{border-bottom-color:var(--accent);}
/* cross-product capability matrix */
.pm-wrap{overflow-x:auto;margin:16px 0;border:1px solid var(--border);border-radius:12px;}
.pm-table{border-collapse:collapse;font-size:12.5px;min-width:100%;}
.pm-table th,.pm-table td{border:1px solid var(--border);padding:6px 9px;text-align:center;
  white-space:nowrap;}
.pm-corner,.pm-rh{text-align:left;position:sticky;left:0;z-index:1;background:var(--bg-soft);
  color:var(--text);font-weight:600;}
.pm-table thead th{background:var(--bg-soft);font-weight:650;}
.pm-ph a{color:var(--text);text-decoration:none;border-bottom:2px solid var(--vc,var(--accent));
  padding-bottom:1px;font-weight:650;}
.pm-y a{color:var(--accent);text-decoration:none;font-weight:650;}
.pm-y a:hover{text-decoration:underline;}
.pm-s a{color:var(--text-dim);text-decoration:none;}
.pm-s a:hover{color:var(--text);}
.pm-n{color:var(--text-mute);}
.pm-leg-y{color:var(--accent);}
.pm-leg-s{color:var(--text-dim);}
.pm-own{font-size:9.5px;color:var(--text-mute);text-transform:uppercase;letter-spacing:.04em;
  margin-left:5px;border:1px solid var(--border);border-radius:4px;padding:0 3px;}
.pm-totrow th,.pm-tot{background:var(--bg-soft);font-weight:650;
  font-variant-numeric:tabular-nums;}
/* repo map — "the system in 30 minutes" (§3/§4) */
.rm-lenses{display:flex;flex-wrap:wrap;gap:7px;margin:10px 0 4px;}
.rm-lens{font-size:12px;color:var(--text-dim);text-decoration:none;border:1px solid var(--border);
  border-radius:6px;padding:3px 10px;background:var(--bg-soft);}
.rm-lens:hover{color:var(--text);border-color:var(--border-strong);}
.rm-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(232px,100%),1fr));gap:11px;margin:14px 0;}
.rm-card{border:1px solid var(--border);border-radius:10px;padding:11px 13px;background:var(--bg-soft);}
.rm-card-h{display:flex;align-items:baseline;flex-wrap:wrap;gap:7px;}
.rm-card-h code{font-family:var(--mono);font-size:11px;color:var(--text-mute);}
.rm-name{font-weight:650;font-size:13px;color:var(--text);}
.rm-eng{font-size:9.5px;color:var(--accent);text-transform:uppercase;letter-spacing:.05em;
  border:1px solid var(--border);border-radius:4px;padding:0 4px;}
.rm-blurb{font-size:11.5px;color:var(--text-dim);line-height:1.45;margin:6px 0 8px;}
.rm-links{font-size:11.5px;line-height:1.6;}
.rm-links a{color:var(--accent);text-decoration:none;border-bottom:1px dotted var(--border-strong);}
.rm-links a:hover{border-bottom-color:var(--accent);}
.rm-plat{margin:10px 0;}
.rm-list{list-style:none;margin:10px 0 0;padding:0;
  display:grid;grid-template-columns:repeat(auto-fill,minmax(min(330px,100%),1fr));gap:3px 24px;}
.rm-row{display:flex;align-items:baseline;gap:8px;padding:4px 0;
  border-bottom:1px solid var(--border-soft);min-width:0;}
.rm-area{color:var(--accent);text-decoration:none;font-weight:600;font-size:12.5px;flex:0 0 auto;}
.rm-area:hover{text-decoration:underline;}
.rm-big .rm-area{font-size:13.5px;}
.rm-count{font-family:var(--mono);font-size:10px;color:var(--text-mute);
  border:1px solid var(--border);border-radius:4px;padding:0 5px;flex:0 0 auto;
  font-variant-numeric:tabular-nums;}
.rm-one{font-size:11px;color:var(--text-dim);line-height:1.4;overflow:hidden;text-overflow:ellipsis;
  white-space:nowrap;flex:1 1 auto;min-width:0;}
@media(max-width:760px){.rm-list{grid-template-columns:1fr;}.rm-one{white-space:normal;}}
/* browse-by-owner (§13) */
.ow-owner{border:1px solid var(--border);border-radius:10px;padding:10px 13px;margin:9px 0;
  background:var(--bg-soft);}
.ow-head{display:flex;align-items:baseline;gap:9px;margin-bottom:5px;
  border-bottom:1px solid var(--border-soft);padding-bottom:5px;}
.ow-name{font-family:var(--mono);font-size:12.5px;color:var(--text);font-weight:650;}
.ow-count{font-size:10.5px;color:var(--text-mute);font-variant-numeric:tabular-nums;}
.ow-area{font-size:11.5px;line-height:1.55;margin:3px 0;}
.ow-area-l{color:var(--text);text-decoration:none;font-weight:600;
  border-bottom:1px dotted var(--border-strong);}
.ow-area-l:hover{border-bottom-color:var(--accent);}
.ow-nodes{color:var(--text-dim);}
.ow-nodes a{color:var(--accent);text-decoration:none;}
.ow-nodes a:hover{text-decoration:underline;}
/* data lifecycle — migrations + state vocabularies (§6) */
.lc-schema,.lc-vd{border:1px solid var(--border);border-radius:10px;padding:10px 13px;margin:9px 0;
  background:var(--bg-soft);}
.lc-schema-h,.lc-vd-h{display:flex;align-items:baseline;gap:9px;margin-bottom:4px;
  border-bottom:1px solid var(--border-soft);padding-bottom:5px;}
.lc-schema-h code,.lc-vd-h code{font-family:var(--mono);font-size:12.5px;color:var(--text);font-weight:650;}
.lc-migs{list-style:none;margin:6px 0 0;padding:0;counter-reset:none;}
.lc-migs li{font-size:11.5px;line-height:1.7;display:flex;gap:8px;align-items:baseline;flex-wrap:wrap;}
.lc-date{font-family:var(--mono);font-size:10px;color:var(--text-mute);flex:0 0 auto;
  font-variant-numeric:tabular-nums;}
.lc-mig-n{color:var(--accent);text-decoration:none;font-weight:600;flex:0 1 auto;min-width:0;
  overflow-wrap:anywhere;}
.lc-mig-n:hover{text-decoration:underline;}
.lc-sum{font-size:10.5px;color:var(--text-dim);font-family:var(--mono);flex:1 1 auto;min-width:0;}
.lc-vocab{display:flex;gap:8px;align-items:baseline;flex-wrap:wrap;margin:4px 0;font-size:11.5px;}
.lc-field a,.lc-field{color:var(--text);text-decoration:none;}
.lc-field code{font-size:11.5px;}
.lc-field:hover code{color:var(--accent);}
.lc-states{display:inline-flex;flex-wrap:wrap;gap:4px;}
.lc-state{font-family:var(--mono);font-size:10px;color:var(--text-dim);background:var(--bg);
  border:1px solid var(--border-soft);border-radius:4px;padding:0 5px;}
.ent-deps{margin-top:8px;padding-top:8px;border-top:1px solid var(--border-soft);
  display:flex;flex-direction:column;gap:4px;}
.ent-dep{font-size:11px;line-height:1.5;display:flex;gap:6px;align-items:baseline;}
.ent-dep-k{flex:0 0 auto;color:var(--text-mute);font-family:var(--mono);font-size:10px;
  text-transform:uppercase;letter-spacing:.03em;min-width:62px;}
.ent-dep-v{color:var(--text-dim);}
.ent-dep-v a{color:var(--text-dim);text-decoration:none;border-bottom:1px dotted var(--border);}
.ent-dep-v a:hover{color:var(--accent);border-bottom-color:var(--accent);}
.ent-dep-more{color:var(--text-mute);font-style:italic;}
.area-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(190px,100%),1fr));gap:10px;margin:0 0 10px;}
.area-card{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:11px 14px;
  border-radius:10px;background:var(--bg-elev);border:1px solid var(--border);
  box-shadow:var(--card-light);transition:.14s;position:relative;overflow:hidden;}
/* proportional footprint bar along the card's bottom edge (single hue) */
.area-bar{position:absolute;left:0;right:0;bottom:0;height:2.5px;background:var(--bg-soft);}
.area-bar>span{display:block;height:100%;
  background:color-mix(in srgb,var(--accent) 60%,transparent);}
.area-card:hover{border-color:color-mix(in srgb,var(--accent) 55%,var(--border-strong));
  text-decoration:none;transform:translateY(-1px);}
.area-name{font-size:13.5px;font-weight:600;color:var(--text);}
.area-n{font-family:var(--mono);font-size:12px;color:var(--text-mute);
  font-variant-numeric:tabular-nums;}
.area-n-planned{font-size:10.5px;letter-spacing:.4px;text-transform:uppercase;
  border:1px solid var(--border);border-radius:6px;padding:1.5px 6px;}
.area-card.stacked{flex-direction:column;align-items:flex-start;gap:4px;}
.area-sub{font-size:12px;color:var(--text-mute);line-height:1.45;}

/* responsive: collapse right rail, then turn left nav into a drawer, then a
   phone tier that tightens spacing and type so 360–640px reads comfortably */
@media(max-width:1200px){
  .toc-rail{display:none;}
  .toc-inline{display:block;}
  .toc-btn{display:none;}
  .colwrap{padding:0 28px;}
}
@media(max-width:980px){
  .sidebar{transform:translateX(-100%);visibility:hidden;box-shadow:var(--shadow-lg);
    width:min(var(--sidebar-w),86vw);}
  body.sb-open .sidebar{transform:none;visibility:visible;}
  body.sb-open{overflow:hidden;}
  .main{margin-left:0;}
  .colwrap{padding:0 20px;}
  .article{padding:24px 0 60px;}
  .page-title{font-size:29px;}
  .pnav{grid-template-columns:1fr;}
  .pnav-next,.pnav-prev{grid-column:1;text-align:left;}
}
@media(max-width:640px){
  .colwrap{padding:0 15px;}
  .topbar{padding:0 12px;gap:9px;}
  .crumb{font-size:12.5px;}
  .article{padding:18px 0 52px;}
  .page-title{font-size:25px;}
  .page-sub{font-size:15px;}
  .content{font-size:15px;}
  .content h2.hd-l2{font-size:21px;margin:38px 0 13px;}
  .content h3.hd-l3{font-size:17.5px;}
  .hd-anchor{left:-.65em;}
  .page-meta{margin-top:14px;}
  .meta-chip+.meta-chip::before{margin:0 9px;}
  .code-card pre,.content pre:not(.code-card pre){padding:12px;}
  .api-ep{flex-wrap:wrap;}
  .api-sum{margin-left:0;flex-basis:100%;text-align:left;}
  .doc-foot{flex-direction:column;gap:6px;}
  #backtop{right:14px;bottom:14px;width:38px;height:38px;}
  .mmodal-bar{padding:11px 14px;}
}
@media print{
  .sidebar,.topbar,#backtop,#progress,.mm-expand,.copy-btn,.page-actions,.pnav,.toc-rail,.toc-inline,.cmdk,.kmodal{display:none!important;}
  .main{margin:0;}.colwrap{padding:0;}
  .code-card,.table-wrap,.mermaid-card{box-shadow:none;}
  body{font-size:11pt;background:#fff;color:#000;}
}
@keyframes reader-rise{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:none}}
@media(prefers-contrast:more){
  :root{--border:#344157;--border-soft:#273244;--border-strong:#52617a;--text-dim:#c2cad6;--text-mute:#a4afc0;}
}
@media(forced-colors:active){
  .brand-mark,.page-eyebrow .dot,.status::before,.toc-bullet::before{forced-color-adjust:none;}
  .status,.btn,.icon-btn,.searchbtn,.table-wrap,.code-card{border-color:CanvasText;}
}

/* command palette */
.cmdk{position:fixed;inset:0;z-index:90;display:none;}
.cmdk.open{display:block;}
.cmdk-backdrop{position:absolute;inset:0;background:rgba(3,4,8,.68);backdrop-filter:blur(3px);}
.cmdk-panel{position:relative;max-width:660px;margin:11vh auto 0;background:var(--bg-elev);
  border:1px solid var(--border-strong);border-radius:16px;
  box-shadow:inset 0 1px 0 rgba(233,237,244,.05),var(--shadow-lg);
  overflow:hidden;display:flex;flex-direction:column;max-height:74vh;}
.cmdk-inputwrap{display:flex;align-items:center;gap:12px;padding:15px 18px;
  border-bottom:1px solid var(--border-soft);}
.cmdk-inputwrap svg{flex:none;color:var(--text-mute);}
.cmdk-inputwrap input{flex:1;border:0;outline:0;background:none;font-family:inherit;
  font-size:15.5px;color:var(--text);}
.cmdk-inputwrap input::placeholder{color:var(--text-mute);} /* stub:legitimate: CSS ::placeholder pseudo-element */
.cmdk-inputwrap kbd{font-family:var(--mono);font-size:11px;color:var(--text-mute);padding:3px 7px;
  border-radius:6px;background:var(--bg-soft);border:1px solid var(--border);}
.cmdk-results{overflow-y:auto;padding:8px;overscroll-behavior:contain;}
.cmdk-grouplabel{font-size:10px;font-weight:650;letter-spacing:.9px;text-transform:uppercase;
  color:var(--text-mute);padding:11px 12px 5px;display:flex;align-items:center;gap:8px;}
.cmdk-grouplabel::after{content:"";flex:1;height:1px;background:var(--border-soft);}
.cmdk-item{display:flex;align-items:baseline;gap:10px;padding:9px 12px;border-radius:9px;
  cursor:pointer;scroll-margin:8px;border-left:2px solid transparent;}
.cmdk-item:hover,.cmdk-item.sel{background:var(--bg-soft);}
.cmdk-item.sel{border-left-color:var(--accent);
  box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent) 35%,transparent);}
.cmdk-item-t{font-size:14px;color:var(--text);font-weight:500;flex:1;min-width:0;white-space:nowrap;
  overflow:hidden;text-overflow:ellipsis;}
.cmdk-item-t b{color:var(--accent);font-weight:700;}
.cmdk-item-ctx{font-size:11px;color:var(--text-mute);flex:none;font-family:var(--mono);}
.cmdk-empty{padding:30px 14px;text-align:center;color:var(--text-mute);font-size:13.5px;}
.cmdk-foot{display:flex;align-items:center;gap:14px;padding:9px 16px;
  border-top:1px solid var(--border-soft);background:var(--bg-side);
  font-size:11px;color:var(--text-mute);}
.cmdk-foot kbd{font-family:var(--mono);font-size:10px;padding:2px 5px;border-radius:4px;
  background:var(--bg-soft);border:1px solid var(--border);margin-right:2px;}
.cmdk-foot-sp{flex:1;}
#cmdkCount{font-variant-numeric:tabular-nums;}
.cmdk-facets{display:flex;flex-wrap:wrap;align-items:center;gap:6px;padding:10px 16px;
  border-bottom:1px solid var(--border-soft);}
.cmdk-facet-lbl{font-size:10px;color:var(--text-mute);font-family:var(--mono);
  text-transform:uppercase;letter-spacing:.04em;margin:0 2px 0 4px;}
.cmdk-facet-lbl:first-child{margin-left:0;}
.cmdk-facet{font-size:11.5px;color:var(--text-dim);background:var(--bg-soft);
  border:1px solid var(--border-soft);padding:3px 10px;border-radius:999px;cursor:pointer;
  font-family:inherit;transition:.12s;}
.cmdk-facet:hover{border-color:var(--accent);color:var(--text);}
.cmdk-facet:focus-visible{outline:2px solid var(--accent);outline-offset:2px;}
.cmdk-facet.on{background:var(--accent);border-color:var(--accent);color:var(--accent-text);font-weight:650;}
body.cmdk-lock{overflow:hidden;}
