/* mendapi docs — reading-first layout on top of the kintsugi (variant C)
   palette from inner.css. No canvas here: docs are for reading. */
body.docs{background:var(--bg);--body:#d5d9de}
.docs-layout{display:grid;grid-template-columns:220px minmax(0,1fr) 180px;gap:44px;padding-top:40px;padding-bottom:80px;align-items:start}
.docs-side{position:sticky;top:76px;display:flex;flex-direction:column;gap:2px;max-height:calc(100vh - 100px);overflow-y:auto}
.docs-side .side-head{display:flex;align-items:baseline;justify-content:space-between;gap:8px;margin-bottom:10px}
.docs-side .side-ver{font-family:var(--font-mono);font-size:9.5px;letter-spacing:.08em;color:var(--faint);border:1px solid rgba(242,243,245,.14);border-radius:5px;padding:2px 7px;white-space:nowrap}
.doc-search{appearance:none;display:flex;align-items:center;justify-content:space-between;gap:8px;background:#12151a;border:1px solid rgba(255,255,255,.1);border-radius:10px;color:var(--faint);font-family:var(--font-sans);font-size:13px;padding:7px 10px;margin-bottom:16px;width:100%;outline:none;cursor:pointer;text-align:left;transition:border-color .15s,color .15s}
.doc-search:hover,.doc-search:focus{border-color:var(--gold);color:var(--dim)}
.ds-kbd{font-family:var(--font-mono);font-size:10px;letter-spacing:.04em;color:var(--faint);border:1px solid rgba(242,243,245,.16);border-radius:4px;padding:1px 6px;white-space:nowrap}
.docs-side .side-tree{display:flex;flex-direction:column;gap:14px}
.docs-side .side-group{display:flex;flex-direction:column;gap:2px}
.docs-side .side-group .side-label{margin-bottom:4px}
.docs-side .side-label{font-size:12px;font-weight:500;letter-spacing:.01em;color:var(--faint);margin-bottom:0}
/* search modal (Ctrl/Cmd+K) */
.search-modal{display:none;position:fixed;inset:0;background:rgba(5,5,6,.72);z-index:60;padding:12vh 16px 0;backdrop-filter:blur(2px)}
.search-modal.open{display:block}
.sm-box{max-width:560px;margin:0 auto;background:#101114;border:1px solid rgba(242,243,245,.16);border-radius:12px;overflow:hidden;box-shadow:0 24px 60px rgba(0,0,0,.55)}
.sm-head{display:flex;align-items:center;gap:10px;padding:12px 14px;border-bottom:1px solid rgba(242,243,245,.1)}
.sm-input{flex:1;appearance:none;background:none;border:none;outline:none;color:var(--ink);font-family:var(--font-sans);font-size:15px}
.sm-input::placeholder{color:var(--faint)}
.sm-results{max-height:46vh;overflow-y:auto;padding:6px}
.sm-hit{display:flex;flex-direction:column;gap:3px;padding:9px 12px;border-radius:8px;color:var(--dim);border-bottom:none}
.sm-hit.sel,.sm-hit:hover{background:rgba(212,162,76,.1)}
.sm-title{font-size:13.5px;font-weight:600;color:var(--ink)}
.sm-sec{font-weight:400;color:var(--dim)}
.sm-snippet{font-size:12px;color:var(--faint);line-height:1.5;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sm-empty{padding:18px 12px;font-size:13px;color:var(--faint);text-align:center}
.sm-foot{display:flex;gap:16px;padding:8px 14px;border-top:1px solid rgba(242,243,245,.1);font-family:var(--font-mono);font-size:10.5px;color:var(--faint)}
.sm-foot kbd{border:1px solid rgba(242,243,245,.16);border-radius:4px;padding:0 5px;margin-right:4px}
.docs-side a{font-size:13.5px;color:var(--dim);padding:7px 12px;border-left:none;border-radius:8px;transition:color .15s,background .15s}
.docs-side a:hover{color:var(--ink)}
.docs-side a.active{color:#e8cfa0;background:rgba(212,162,76,.12)}
/* on-this-page TOC (right rail) */
.docs-toc{position:sticky;top:76px;display:flex;flex-direction:column;gap:2px;max-height:calc(100vh - 100px);overflow-y:auto}
.docs-toc .side-label{font-size:12px;font-weight:500;letter-spacing:.01em;color:var(--faint);margin-bottom:10px}
.docs-toc a{font-size:12px;color:var(--faint);padding:4px 0;border-left:none;line-height:1.45}
.docs-toc a:hover{color:var(--ink)}
/* breadcrumb */
.crumbs{font-family:var(--font-mono);font-size:11.5px;color:var(--faint);margin-bottom:22px;overflow-wrap:anywhere}
.crumbs a{color:var(--faint);border-bottom:none}
.crumbs a:hover{color:var(--gold)}
.crumbs .sep{margin:0 8px;color:rgba(242,243,245,.25)}
.crumbs span:last-child{color:var(--dim)}
/* prev/next footer navigation */
.pagenav{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:52px}
.pagenav a{display:flex;flex-direction:column;gap:4px;border:1px solid rgba(255,255,255,.09);border-radius:14px;padding:14px 16px;background:#11141a;transition:border-color .15s,background .15s}
.pagenav a:hover{border-color:rgba(212,162,76,.55);background:#141822;color:inherit}
.pagenav .pn-next{text-align:right;align-items:flex-end}
.pagenav .pn-k{font-size:12px;letter-spacing:.01em;color:var(--faint)}
.pagenav .pn-t{font-size:14px;color:var(--ink)}
.pagenav a:hover .pn-t{color:var(--gold)}
/* code blocks: language label + copy button */
.code-block{border:1px solid rgba(255,255,255,.09);border-radius:14px;background:#12151a;margin:0 0 22px;overflow:hidden}
.code-head{display:flex;align-items:center;justify-content:space-between;padding:7px 14px;border-bottom:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.04)}
.code-lang{font-family:var(--font-mono);font-size:11px;letter-spacing:.01em;color:var(--faint)}
.copy-btn{appearance:none;background:none;border:1px solid rgba(242,243,245,.18);border-radius:6px;color:var(--dim);font-family:var(--font-mono);font-size:10.5px;letter-spacing:.06em;padding:3px 10px;cursor:pointer;transition:color .15s,border-color .15s}
.copy-btn:hover{color:var(--gold);border-color:var(--gold)}
.code-block .doc-term{border:none;border-radius:0;margin:0}
.docs-main{min-width:0;max-width:660px}
.docs-main h1{font-size:clamp(28px,5vw,40px);font-weight:600;letter-spacing:-.02em;line-height:1.1;margin-bottom:14px}
.docs-main .lede{color:var(--dim);font-size:17px;line-height:1.65;margin-bottom:34px}
.docs-main .lede strong{color:var(--ink);font-weight:500}
.docs-main h2{font-family:var(--font-sans);font-weight:600;text-transform:none;letter-spacing:-.01em;color:var(--ink);font-size:22px;margin:48px 0 14px;line-height:1.3}
.docs-main h3{font-weight:600;font-size:17px;letter-spacing:-.008em;margin:28px 0 8px}
.docs-main p{color:#d5d9de;font-size:16.5px;line-height:1.62;margin-bottom:20px}
.docs-main p strong,.docs-main li strong{color:var(--ink);font-weight:600}
.docs-main a{color:var(--lavender);border-bottom:1px solid rgba(225,189,255,.3)}
.docs-main a:hover{color:var(--ink)}
.docs-main ul,.docs-main ol{margin:0 0 20px 20px}
.docs-main li{color:#d5d9de;font-size:16.5px;line-height:1.62;padding:3px 0}
.docs-main ol.pipe li{padding:6px 0}
.docs-main code{font-family:var(--font-mono);font-size:13px;color:var(--lavender);background:rgba(255,255,255,.08);padding:1px 5px;border-radius:6px;border:1px solid rgba(255,255,255,.1)}
.doc-term{border:1px solid rgba(255,255,255,.09);border-radius:14px;background:#12151a;font-family:var(--font-mono);font-size:12.5px;line-height:1.65;padding:18px 20px;overflow-x:auto;color:var(--ink);margin:0 0 22px;white-space:pre}
/* pack cards */
.pack{border:1px solid rgba(255,255,255,.09);border-radius:14px;background:#11141a;padding:18px 20px;margin-bottom:14px;overflow-wrap:anywhere;transition:border-color .15s,background .15s}
.pack:hover{border-color:rgba(212,162,76,.55);background:#141822}
.pack code{word-break:break-word}
.pack h3{margin:0 0 6px}
.pack p{margin-bottom:8px}
.pack-meta{font-family:var(--font-mono);font-size:11px;letter-spacing:.06em;color:var(--faint);margin-bottom:8px}
.pack .covers{margin:0 0 8px 18px}
.pack .covers li{font-size:13px;padding:2px 0}
.pack-ref{font-size:12px;color:var(--faint);word-break:break-all}
/* provider table */
table.prov{width:100%;border-collapse:collapse;margin:0 0 22px;font-size:14px}
table.prov th{font-size:13px;font-weight:600;letter-spacing:.01em;color:var(--gold);text-align:left;padding:10px 12px;border-bottom:1px solid rgba(154,143,122,.3)}
table.prov td{color:var(--dim);padding:9px 12px;border-bottom:1px solid rgba(242,243,245,.07)}
table.prov td:first-child{color:var(--ink);font-family:var(--font-mono);font-size:13px}
/* faq reuse */
.docs-main .faq{max-width:none}
.docs-foot{margin-top:56px;padding-top:20px;border-top:1px solid rgba(242,243,245,.1);font-size:12.5px;color:var(--faint);font-family:var(--font-mono)}
@media (max-width:1160px){
  .docs-layout{grid-template-columns:220px minmax(0,1fr)}
  .docs-toc{display:none}
}
@media (max-width:900px){
  .docs-layout{grid-template-columns:1fr;gap:20px}
  .docs-side{position:static;max-height:none;overflow:visible}
  .docs-side .side-tree{flex-direction:column;gap:10px;border-bottom:1px solid rgba(242,243,245,.1);padding-bottom:14px}
  .docs-side .side-group{flex-direction:row;flex-wrap:wrap;gap:6px;align-items:center}
  .docs-side .side-group .side-label{width:100%;margin-bottom:2px}
  .docs-side .side-label{margin-bottom:6px}
  .docs-side a{border-left:none;border:1px solid rgba(242,243,245,.14);border-radius:6px;padding:6px 10px;font-size:12px}
  .docs-side a.active{border-color:var(--gold)}
  .pagenav{grid-template-columns:1fr}
  table.prov{font-size:12.5px;display:block;overflow-x:auto;-webkit-overflow-scrolling:touch}
  table.prov th,table.prov td{padding:7px 8px}
}
/* blog (shares the docs reading layout; single column, no sidebar) */
.blog-layout{grid-template-columns:1fr}
.blog-main{max-width:640px;margin:0 auto}
.blog-main p,.blog-main li{font-size:18px;line-height:1.6;color:#d5d9de}
.blog-main h1{font-size:clamp(30px,5vw,42px);line-height:1.12;letter-spacing:-0.022em;margin-bottom:10px}
.blog-main .bmeta{font-size:13px;color:var(--faint);margin-bottom:28px}
.blog-main .bmeta a{color:var(--faint)}
.blog-main .bmeta a:hover{color:var(--gold)}
/* end-of-article next navigation (Linear/Stripe blog convention) */
.article-next{margin-top:44px;border-top:1px solid rgba(242,243,245,.09);padding-top:22px}
.article-next a{display:block;border:1px solid rgba(255,255,255,.09);border-radius:14px;background:#11141a;padding:16px 18px;text-decoration:none;color:var(--ink);transition:border-color .15s,background .15s}
.article-next a:hover{border-color:rgba(212,162,76,.55);background:#141822}
.article-next .an-label{display:block;font-size:12px;color:var(--faint);margin-bottom:6px}
.article-next .an-title{display:block;font-size:16px;font-weight:600;line-height:1.4;color:var(--ink)}
.article-next .an-meta{display:block;font-size:12px;color:var(--faint);margin-top:6px}
.blog-main .crumb{font-family:var(--font-mono);font-size:12px;margin-bottom:18px}
.blog-main .crumb a{border-bottom:none;color:var(--faint)}
.blog-main .crumb a:hover{color:var(--gold)}
.blog-main .tag{display:inline-block;font-size:12px;font-weight:500;letter-spacing:.01em;color:var(--gold);border:1px solid rgba(154,143,122,.3);border-radius:6px;padding:3px 9px;margin-right:6px}
.blog-main blockquote{border-left:2px solid var(--gold);background:#11141a;border-radius:0 12px 12px 0;padding:12px 16px;margin:0 0 18px;color:var(--dim);font-size:15px;line-height:1.7;overflow-wrap:anywhere}
ul.blog-list{margin:0 0 26px 0;list-style:none}
ul.blog-list li{padding:7px 0;border-bottom:1px solid rgba(242,243,245,.07);font-size:14px;overflow-wrap:anywhere}
ul.blog-list a{color:var(--ink);border-bottom:none}
ul.blog-list a:hover{color:var(--gold)}
.blog-main .bdate{font-family:var(--font-mono);font-size:11px;color:var(--faint);margin-left:8px}
.blog-main .sev{font-size:12px;font-weight:500;letter-spacing:.01em;color:#ff9d8a;margin-left:8px}
.blog-main h2 .count{color:var(--faint);letter-spacing:0;text-transform:none;font-size:13px}
/* blog overflow hardening: long unbroken tokens (identifiers, URLs) must not
   widen the grid track on 375px */
.blog-layout{grid-template-columns:minmax(0,1fr)}
.blog-main{width:100%;overflow-wrap:anywhere}
.blog-main pre{max-width:100%}
.blog-main code{overflow-wrap:anywhere;word-break:break-word}

/* guides (pillar pages) */
.tbl-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:0 0 22px}
.tbl-scroll table.prov{margin:0;min-width:520px}
.blog-main table.prov td{overflow-wrap:anywhere}
