/* l63: the developer docs (landing/docs/, generated by docs/build.py). Colours from landing.css tokens only
   (--ac, --ac-tx, --ac-btn, --tx*, --line*): a change of the accent there reaches these pages too. */
.dc{display:grid;grid-template-columns:240px minmax(0,1fr);gap:48px;align-items:start;padding-top:40px;padding-bottom:72px}
.dc-main{min-width:0;max-width:860px}
.dc-main h1{font-size:clamp(30px,4vw,44px);margin:0;text-align:left;text-wrap:balance}
.dc-main .lead{margin-top:14px;max-width:760px}
.dc-main h2{font-size:26px;margin:0 0 14px;scroll-margin-top:100px}
.dc-main h3{font-size:19px;margin:0 0 10px;scroll-margin-top:100px}
.dc-main p,.dc-main li{color:var(--tx2);font-size:15.5px;line-height:1.65}
.dc-main p+p,.dc-main p+ul,.dc-main p+ol,.dc-main ul+p,.dc-main ol+p{margin-top:12px}
.dc-main ul,.dc-main ol{margin:12px 0 0;padding-left:22px}
.dc-main li+li{margin-top:6px}
.dc-main .eyebrow{color:var(--ac-tx);margin-bottom:8px}
.dc-main strong{color:var(--tx);font-weight:600}
.dc-main a:not(.dc-card):not(.dc-anchor):not(.dc-prev):not(.dc-next){color:var(--ac-tx);text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}
.dc code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.86em;padding:2px 6px;border-radius:6px;background:#f1f1f4;color:var(--tx);overflow-wrap:anywhere}
.dc pre code{padding:0;background:none;font-size:inherit;border-radius:0;overflow-wrap:normal}
.dc-main .dc-crumbs{display:flex;flex-wrap:wrap;gap:6px;list-style:none;margin:0 0 18px;padding:0}
.dc-main .dc-crumbs li{margin:0;font-size:13.5px;line-height:1.4;color:var(--tx3)}
.dc-crumbs li+li::before{content:"/";margin-right:6px;color:var(--tx3)}
.dc-crumbs a{color:var(--tx2)!important;text-decoration:none!important}
.dc-crumbs a:hover{color:var(--ac-tx)!important}
.dc-sec{margin-top:48px;scroll-margin-top:100px}
.dc-sec>*+*{margin-top:14px}
.dc-anchor{margin-left:4px;color:var(--tx3);font-weight:400;opacity:0;transition:opacity .15s;text-decoration:none}
h2:hover>.dc-anchor,h3:hover>.dc-anchor,.dc-anchor:focus-visible{opacity:1}
.dc-anchor:hover{color:var(--ac-tx)}

/* the sidebar: sticky on desktop, a collapsible "Contents" on mobile */
.dc-side{position:sticky;top:100px;max-height:calc(100vh - 120px);overflow-y:auto;overscroll-behavior:contain;padding-right:6px;scrollbar-width:thin}
.dc-toc>summary{display:none}
.dc-side-h{margin:0 0 10px;font-size:12px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--tx3)}
.dc-nav,.dc-sub,.dc-sub ul{list-style:none;margin:0;padding:0}
.dc-nav>li>a{display:block;padding:7px 10px;border-radius:8px;color:var(--tx2);font-size:14.5px;font-weight:500}
.dc-nav>li>a:hover{background:#fff;color:var(--tx)}
.dc-nav>li.on>a{background:#fff;color:var(--ac-tx);box-shadow:inset 2px 0 0 var(--ac)}
.dc-sub{margin:4px 0 8px 10px;border-left:1px solid var(--line2)}
.dc-sub a{display:block;padding:4px 10px;color:var(--tx2);font-size:13.5px;line-height:1.4}
.dc-sub a:hover{color:var(--ac-tx)}
.dc-sub ul a{padding-left:20px;font-size:13px;color:var(--tx3)}
.dc-sub code{font-size:.82em;padding:1px 4px}

/* endpoints */
.dc-ep{margin-top:32px;padding-top:28px;border-top:1px solid var(--line);scroll-margin-top:100px}
.dc-ep>*+*{margin-top:14px}
.dc-sec>.dc-ep:first-of-type{border-top:0;padding-top:4px;margin-top:20px}
.dc-sig{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;padding:10px 12px;border:1px solid var(--line2);border-radius:10px;background:#fff}
.dc-call{display:inline-flex;align-items:center;gap:8px;min-width:0;flex-wrap:wrap}
.dc-call code{background:none;padding:0;font-size:14px;font-weight:500}
.dc-perm{margin-left:auto;font-size:13px;color:var(--tx3)}
.dc-perm code{font-size:12.5px}
.dc-m{display:inline-flex;align-items:center;justify-content:center;min-width:56px;height:22px;padding:0 7px;border-radius:6px;font:700 11.5px/1 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.03em}
.dc-m-get{background:#e6f4ec;color:#0b6b45}
.dc-m-post{background:#e7effd;color:#1d4fb8}
.dc-m-put,.dc-m-patch{background:#fdf2e1;color:#8a5208}
.dc-m-delete{background:#fdeaea;color:#a8261b}
.dc-st{display:inline-flex;align-items:center;height:20px;padding:0 8px;border-radius:999px;background:color-mix(in srgb,var(--ac) 12%,transparent);color:var(--ac-tx);font-size:11.5px;font-weight:600}

/* tables */
.dc-table{overflow-x:auto;border:1px solid var(--line2);border-radius:12px;background:#fff}
.dc-table table{width:100%;border-collapse:collapse;font-size:14px}
.dc-table th{padding:10px 14px;text-align:left;background:#fbfbfc;border-bottom:1px solid var(--line);font-size:12px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--tx3);white-space:nowrap}
.dc-table td{padding:10px 14px;border-top:1px solid var(--line);color:var(--tx2);vertical-align:top;line-height:1.5}
.dc-table tr:first-child td{border-top:0}
.dc-table td code{font-size:12.5px}
.dc-eps td:nth-child(2){white-space:nowrap}
.dc-eps td:nth-child(2) a{text-decoration:none!important}
.dc-eps td:nth-child(2) a code{color:var(--ac-tx)}

/* code boxes */
.dc-code{border:1px solid var(--line2);border-radius:12px;background:#fff;overflow:hidden;min-width:0}
.dc-code-bar{display:flex;align-items:center;gap:10px;min-height:42px;padding:4px 6px 4px 12px;border-bottom:1px solid var(--line);background:#fbfbfc}
.dc-lang{font-size:12.5px;font-weight:600;color:var(--tx2)}
.dc-tabs{display:flex;gap:4px;overflow-x:auto;scrollbar-width:none;min-width:0}
.dc-tabs::-webkit-scrollbar{display:none}
.dc-tab{flex:none;height:30px;padding:0 10px;border:1px solid transparent;border-radius:7px;background:none;font:500 13px/1 var(--font);color:var(--tx2);cursor:pointer}
.dc-tab:hover{color:var(--tx)}
.dc-tab[aria-selected="true"]{background:#fff;border-color:var(--line2);color:var(--tx);box-shadow:0 1px 2px rgba(17,17,17,.06)}
.dc-copy{display:inline-flex;align-items:center;gap:6px;margin-left:auto;flex:none;height:30px;padding:0 10px;border:1px solid var(--line2);border-radius:7px;background:#fff;font:500 12.5px/1 var(--font);color:var(--tx2);cursor:pointer}
.dc-copy:hover{color:var(--tx);border-color:var(--ac-btn)}
.dc-copy svg{width:14px;height:14px}
.dc-copy .c1,.dc-copy.is-done .c0{display:none}
.dc-copy.is-done .c1{display:inline}
.dc-copy.is-done{color:#0b7a52;border-color:rgba(11,122,82,.35)}
.dc-pane{padding:14px 16px}
.js .dc-code[data-tabs] .dc-pane:not(.on){display:none}
.dc-pane pre{margin:0;overflow-x:auto;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:13px;line-height:1.6;color:var(--tx);tab-size:2}

/* call-outs */
.dc-call-out{display:flex;gap:12px;align-items:baseline;padding:12px 16px;border-radius:10px;border:1px solid var(--line);background:#fff}
.dc-call-out>b{flex:none;font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--tx3)}
.dc-call-out p{margin:0!important;font-size:14.5px}
.dc-tip{background:color-mix(in srgb,#0fae74 6%,#fff);border-color:color-mix(in srgb,#0fae74 25%,transparent)}
.dc-tip>b{color:#0b7a52}
.dc-warning{background:#fdf6ea;border-color:#f1dcb4}
.dc-warning>b{color:#8a5208}
.dc-planned{margin-top:20px;background:color-mix(in srgb,var(--ac) 6%,#fff);border-color:color-mix(in srgb,var(--ac) 25%,transparent)}
.dc-planned>b{color:var(--ac-tx)}
.dc-main>.dc-call-out,.dc-main>.dc-code,.dc-main>.dc-table{margin-top:16px}

/* hub cards, tutorial link, previous / next */
.dc-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.dc-card{display:flex;flex-direction:column;gap:6px;padding:16px 18px;border:1px solid var(--line);border-radius:12px;background:var(--card);box-shadow:var(--shadow);transition:border-color .15s}
.dc-card:hover{border-color:color-mix(in srgb,var(--ac) 45%,transparent)}
.dc-card b{font-weight:600;font-size:15px;color:var(--tx)}
.dc-card b::after{content:" \2192";color:var(--ac)}
.dc-card span{color:var(--tx2);font-size:13.5px;line-height:1.45}
.dc-tut{margin-top:48px!important;padding:14px 16px;border:1px solid var(--line2);border-radius:10px;background:#fff;font-size:15px!important}
.dc-pn{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:16px}
.dc-pn a{display:flex;flex-direction:column;gap:2px;padding:14px 16px;border:1px solid var(--line2);border-radius:10px;background:#fff}
.dc-pn a:hover{border-color:var(--ac-btn)}
.dc-pn small{font-size:12px;color:var(--tx3)}
.dc-pn b{font-weight:600;color:var(--tx)}
.dc-next{text-align:right;grid-column:2}

@media (max-width:960px){
  .dc{grid-template-columns:minmax(0,1fr);gap:20px;padding-top:24px}
  .dc-side{position:static;max-height:none;overflow:visible;padding:0}
  .dc-toc{border:1px solid var(--line2);border-radius:12px;background:#fff}
  .dc-toc>summary{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;font-weight:600;font-size:15px;cursor:pointer;list-style:none}
  .dc-toc>summary::-webkit-details-marker{display:none}
  .dc-toc>summary::after{content:"";width:8px;height:8px;border-right:2px solid var(--tx3);border-bottom:2px solid var(--tx3);transform:rotate(45deg);transition:transform .15s}
  .dc-toc[open]>summary::after{transform:rotate(-135deg)}
  .dc-toc nav{padding:4px 12px 14px;max-height:60vh;overflow-y:auto}
  .dc-cards{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:600px){
  .dc-cards{grid-template-columns:minmax(0,1fr)}
  .dc-perm{margin-left:0}
  .dc-pane{padding:12px}
  .dc-pane pre{font-size:12px}
  .dc-pn{grid-template-columns:minmax(0,1fr)}
  .dc-next{grid-column:1}
  .dc-main h2{font-size:22px}
  .dc-eps thead{display:none}
  .dc-eps table,.dc-eps tbody{display:block}
  .dc-eps tr{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;padding:12px 14px;border-top:1px solid var(--line)}
  .dc-eps tr:first-child{border-top:0}
  .dc-eps td{display:block;padding:0;border:0}
  .dc-eps td:nth-child(3){flex-basis:100%}
  .dc-eps td:nth-child(n+4){font-size:12.5px}
}
