/* Coder view (1.5.0): the dark theme html.dp-coder turns on. Loaded after brand.css so it wins over the light brand
   colours. The layout's accent stays as set; links and focus use the lighter blues below for contrast on dark. */
/* Coder view: the dark theme. */
html.dp-coder { color-scheme: dark; --paligo-bg: #0b0c0f; --paligo-surface: #121317; --paligo-surface-2: #1b1c21; --paligo-text: #e7e9ec;
  --paligo-muted: #a0a3a8; --paligo-faint: #8b8e94; --paligo-border: #24262c; --paligo-border-strong: #33363d;
  --paligo-link: #6cb4ff; --paligo-brand-wash: #10233d; }
html.dp-coder body, html.dp-coder .pagebody, html.dp-coder main { background: #0b0c0f; color: #e7e9ec; }
html.dp-coder .topbar, html.dp-coder body.portal .topbar:not(.is-scrolled) { background: rgba(11, 12, 15, 0.92); border-bottom-color: #24262c; }
html.dp-coder .topbar :is(a:not(.dp-pill), .brand, .brand-name, .dp-docs-label, .icon-btn), html.dp-coder body.portal .topbar:not(.is-scrolled) :is(a:not(.dp-pill):not(.skip-link), .brand, .brand-name, .dp-docs-label, .icon-btn) { color: #e7e9ec; }
html.dp-coder .topbar .site-search__form, html.dp-coder .langswitch > summary, html.dp-coder body.portal .topbar:not(.is-scrolled) .langswitch > summary { background: #121317; border-color: #2a2c31; color: #e7e9ec; }
html.dp-coder .topbar .site-search__form:focus-within { background: #1b1c21; border-color: #4da3ff; }
html.dp-coder :is(.langswitch-menu, .dp-menu__panel) { background: #121317; color: #e7e9ec; border-color: #2a2c31; }
html.dp-coder .langswitch > summary :is(.ms-icon, .globe, .chevron) { color: #a0a3a8; }
html.dp-coder aside.site-nav, html.dp-coder aside.site-nav .nav-inner { background: #0e0f12; border-color: #24262c; }
html.dp-coder aside.site-nav a { color: #b8bbc0; }
html.dp-coder aside.site-nav a:hover { color: #ffffff; }
html.dp-coder aside.site-nav :is(a[aria-current="page"], .active > a, li.current > a) { color: #ffffff; background: #10233d; border-color: #4da3ff; }
html.dp-coder aside.site-nav input { background: #121317; border-color: #2a2c31; color: #e7e9ec; }
html.dp-coder .dp-pagebody > main :is(h1, h2, h3, h4, h5, h6, header .title) { color: #ffffff; }
html.dp-coder .dp-pagebody > main :is(p, li, dd, dt, td, th, .pg-meta, .pg-meta span) { color: #c9ccd1; }
html.dp-coder .dp-pagebody > main > section > header + p, html.dp-coder .dp-pagebody > main > section > header > .subtitle { color: #a0a3a8; }
html.dp-coder .dp-pagebody > main a:not(.pg-ctopic):not(.dp-pill), html.dp-coder .breadcrumb a { color: #6cb4ff; }
html.dp-coder .breadcrumb, html.dp-coder .breadcrumb span, html.dp-coder .dp-eyebrow { color: #8b8e94; }
html.dp-coder .dp-pagebody > main :not(pre) > code { background: #1b1c21; border-color: #2a2c31; color: #e7e9ec; }
html.dp-coder .dp-pagebody > main table { border-color: #24262c; }
html.dp-coder .dp-pagebody > main :is(th, thead td) { background: #121317 !important; color: #e7e9ec; }
html.dp-coder .dp-pagebody > main :is(td, th) { border-color: #24262c !important; }
html.dp-coder .dp-pagebody > main tr:nth-child(even) td { background: #0e0f12; }
html.dp-coder main .admonition { background: #10233d; color: #c9ccd1; }
html.dp-coder main .admonition:is(.warning, .caution, .danger) { background: #2a1f0e; }
html.dp-coder main .admonition :is(.title, p) { color: #e7e9ec; }
html.dp-coder .dp-endpoint { background: #121317; border-color: #2a2c31; }
html.dp-coder .dp-endpoint__path { color: #e7e9ec !important; }
html.dp-coder .dp-endpoint__method { color: #0b0c0f; }
html.dp-coder :is(.dp-rail, .dp-rail a, .dp-rail button, .dp-rail p) { color: #a0a3a8; }
html.dp-coder .dp-rail a[aria-current="page"], html.dp-coder .dp-rail__chapter-title { color: #ffffff; }
html.dp-coder :is(.pg-upnext, .pager a, .pg-ctopic, .dp-rail__help, .dp-tfilter__field, .dp-cfilter__input) { background: #121317; border-color: #2a2c31; color: #e7e9ec; }
html.dp-coder :is(.pg-upnext__title, .pager .ttl, .pg-ctopic__title) { color: #ffffff; }
html.dp-coder .pg-ctopics__list:has(> li:nth-child(9)) :is(li, .pg-ctopics__list) { border-color: #24262c; }
html.dp-coder .pg-ctopics__list:has(> li:nth-child(9)) .pg-ctopic { background: transparent; }
html.dp-coder .pg-ctopics__list:has(> li:nth-child(9)) .pg-ctopic:hover { background: #121317; }
html.dp-coder .dp-code__col { background: #050608; border: 1px solid #1b1c21; }
html.dp-coder .dp-rail__tools--inline { border-color: #24262c; }
html.dp-coder .dp-pagebody > main :is(hr, .pg-ctopics__list) { border-color: #24262c; }
html.dp-coder ::selection { background: #1f4f8f; color: #ffffff; }

/* Specific enough to beat the brand title and lead rules. */
html.dp-coder .dp-pagebody > main > section:first-of-type > header > :is(h1, h2, h3, h4, h5, h6):first-child { color: #ffffff; }
html.dp-coder .dp-pagebody > main > section section > header > :is(h2, h3, h4, h5, h6) { color: #ffffff; }
html.dp-coder .topbar .brand, html.dp-coder .topbar .brand * { color: #ffffff; }
html.dp-coder aside.site-nav :is(input, .nav-filter, [class*="filter"]) { background: #121317 !important; border-color: #2a2c31 !important; color: #e7e9ec !important; }
html.dp-coder aside.site-nav :is(input, .nav-filter)::placeholder { color: #8b8e94; }
html.dp-coder .dp-eyebrow, html.dp-coder .dp-eyebrow span { color: #a0a3a8; }
html.dp-coder .pg-meta__bar { background: #24262c; }
html.dp-coder .topbar .dp-pill--cta.dp-header-cta, html.dp-coder body.portal .topbar .dp-pill--cta.dp-header-cta { background: transparent; border-color: transparent; color: #e7e9ec; }
html.dp-coder .topbar .dp-pill--cta.dp-header-cta:hover { color: #86dbff; }
html.dp-coder aside.site-nav .nav-tree a, html.dp-coder aside.site-nav li > a { color: #b8bbc0 !important; }
html.dp-coder aside.site-nav li > a:hover { color: #ffffff !important; }
html.dp-coder aside.site-nav :is(a[aria-current="page"], li.current > a, .active > a) { color: #ffffff !important; }
html.dp-coder aside.site-nav .nav-toggle { color: #8b8e94; }
html.dp-coder aside.site-nav .nav-toggle:focus:not(:focus-visible) { outline: none; box-shadow: none; }
/* Procedures (checklists) in coder view: dark badges, dim connector, light inline UI icons, framed screenshots. */
html.dp-coder main ol.procedure > li.step::before { background: #10233d; border-color: #2a4a75; color: #86c3ff; }
html.dp-coder main ol.procedure.substeps > li.step::before { background: #0b0c0f; border-color: #2a4a75; color: #86c3ff; }
html.dp-coder main ol.procedure > li.step:not(:last-child)::after { background: #24262c; }
html.dp-coder main ol.procedure > li.step.is-done::before, html.dp-coder main ol.procedure > li.step[data-done]::before { background: #017efa; border-color: #017efa; color: #ffffff; }
html.dp-coder :is(.dp-run, .dp-run *) { color: #a0a3a8; }
html.dp-coder .dp-run__meter { background: #24262c; }
html.dp-coder .dp-run :is(button, .dp-run__reset) { background: transparent; border-color: #2a2c31; color: #a0a3a8; }
html.dp-coder main :is(p, li, td) > :is(.inlinemediaobject, span.inlinemediaobject) img, html.dp-coder main .inlinemediaobject img { filter: invert(1) hue-rotate(180deg); border-radius: 4px; vertical-align: middle; }
html.dp-coder main :is(.mediaobject, .figure .mediaobject, .informalfigure .mediaobject) { background: #121317; border: 1px solid #24262c; }
html.dp-coder main :is(.mediaobject) img { border-radius: 8px; }
html.dp-coder .dp-step-check { background: #121317; border-color: #33363d; color: #a0a3a8; }
html.dp-coder .dp-step-check:hover { border-color: #86c3ff; color: #ffffff; }
html.dp-coder li.step.is-done .dp-step-check { background: #017efa; border-color: #017efa; color: #ffffff; }

/* ===== 1.5.3: the two parts as section headings in the menu ================================================ */
/* In a two-part portal the top-level menu entries are the parts (Guides, API reference): bolder, with their own
   icon and a divider, so they read as sections rather than as one more chapter. */
html[data-part] aside.site-nav .nav-tree > ul > li { border-top: 1px solid #e2e6e7; padding-top: var(--s-2); margin-top: var(--s-2); }
html[data-part] aside.site-nav .nav-tree > ul > li:first-child { border-top: 0; margin-top: 0; padding-top: 0; }
html[data-part] aside.site-nav .nav-tree > ul > li > a { font-weight: 700; font-size: var(--t-sm); color: #121317; padding-left: 3.4rem; }
html[data-part] aside.site-nav .nav-tree > ul > li > a::after { content: ""; position: absolute; left: 2rem; top: 50%; width: 18px; height: 18px; margin-top: -9px; background: #017efa; -webkit-mask: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%20-960%20960%20960%22%3E%3Cpath%20d%3D%22M560-564v-68q33-14%2067.5-21t72.5-7q26%200%2051%204t49%2010v64q-24-9-48.5-13.5T700-600q-38%200-73%209.5T560-564Zm0%20220v-68q33-14%2067.5-21t72.5-7q26%200%2051%204t49%2010v64q-24-9-48.5-13.5T700-380q-38%200-73%209t-67%2027Zm0-110v-68q33-14%2067.5-21t72.5-7q26%200%2051%204t49%2010v64q-24-9-48.5-13.5T700-490q-38%200-73%209.5T560-454ZM260-320q47%200%2091.5%2010.5T440-278v-394q-41-24-87-36t-93-12q-36%200-71.5%207T120-692v396q35-12%2069.5-18t70.5-6Zm260%2042q44-21%2088.5-31.5T700-320q36%200%2070.5%206t69.5%2018v-396q-33-14-68.5-21t-71.5-7q-47%200-93%2012t-87%2036v394Zm-40%20118q-48-38-104-59t-116-21q-42%200-82.5%2011T100-198q-21%2011-40.5-1T40-234v-482q0-11%205.5-21T62-752q46-24%2096-36t102-12q58%200%20113.5%2015T480-740q51-30%20106.5-45T700-800q52%200%20102%2012t96%2036q11%205%2016.5%2015t5.5%2021v482q0%2023-19.5%2035t-40.5%201q-37-20-77.5-31T700-240q-60%200-116%2021t-104%2059ZM280-494Z%22/%3E%3C/svg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%20-960%20960%20960%22%3E%3Cpath%20d%3D%22M560-564v-68q33-14%2067.5-21t72.5-7q26%200%2051%204t49%2010v64q-24-9-48.5-13.5T700-600q-38%200-73%209.5T560-564Zm0%20220v-68q33-14%2067.5-21t72.5-7q26%200%2051%204t49%2010v64q-24-9-48.5-13.5T700-380q-38%200-73%209t-67%2027Zm0-110v-68q33-14%2067.5-21t72.5-7q26%200%2051%204t49%2010v64q-24-9-48.5-13.5T700-490q-38%200-73%209.5T560-454ZM260-320q47%200%2091.5%2010.5T440-278v-394q-41-24-87-36t-93-12q-36%200-71.5%207T120-692v396q35-12%2069.5-18t70.5-6Zm260%2042q44-21%2088.5-31.5T700-320q36%200%2070.5%206t69.5%2018v-396q-33-14-68.5-21t-71.5-7q-47%200-93%2012t-87%2036v394Zm-40%20118q-48-38-104-59t-116-21q-42%200-82.5%2011T100-198q-21%2011-40.5-1T40-234v-482q0-11%205.5-21T62-752q46-24%2096-36t102-12q58%200%20113.5%2015T480-740q51-30%20106.5-45T700-800q52%200%20102%2012t96%2036q11%205%2016.5%2015t5.5%2021v482q0%2023-19.5%2035t-40.5%201q-37-20-77.5-31T700-240q-60%200-116%2021t-104%2059ZM280-494Z%22/%3E%3C/svg%3E") center / contain no-repeat; }
html[data-part] aside.site-nav .nav-tree > ul > li > a[href="paligo-api.html"]::after { -webkit-mask-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%20-960%20960%20960%22%3E%3Cpath%20d%3D%22M320-240%2080-480l240-240%2057%2057-184%20184%20183%20183-56%2056Zm320%200-57-57%20184-184-183-183%2056-56%20240%20240-240%20240Z%22/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%20-960%20960%20960%22%3E%3Cpath%20d%3D%22M320-240%2080-480l240-240%2057%2057-184%20184%20183%20183-56%2056Zm320%200-57-57%20184-184-183-183%2056-56%20240%20240-240%20240Z%22/%3E%3C/svg%3E"); }
html.dp-coder[data-part] aside.site-nav .nav-tree > ul > li { border-top-color: #24262c; }
html.dp-coder[data-part] aside.site-nav .nav-tree > ul > li > a { color: #ffffff !important; }
html.dp-coder[data-part] aside.site-nav .nav-tree > ul > li > a::after { background: #86c3ff; }

/* ===== 1.6.0: developer tools (dp-dev.js) ================================================================== */
/* Method badges in the API menu (both views). */
.dp-mbadge { display: inline-block; min-width: 2.6em; margin-right: .5em; padding: .12em .35em; border-radius: 4px; font-family: var(--paligo-font-mono, ui-monospace, SFMono-Regular, Menlo, monospace); font-size: 10px; font-weight: 700; line-height: 1.4; text-align: center; vertical-align: 1px; color: #121317; }
.dp-mbadge--get { background: #cce5fe; } .dp-mbadge--post { background: #e7d6f7; } .dp-mbadge--put { background: #f7dcf3; } .dp-mbadge--delete { background: #fbd9d6; }
html.dp-coder .dp-mbadge--get { background: #123a63; color: #a5d4ff; } html.dp-coder .dp-mbadge--post { background: #3a2458; color: #dcc1f5; }
html.dp-coder .dp-mbadge--put { background: #4a2445; color: #f3c3ea; } html.dp-coder .dp-mbadge--delete { background: #4d1f1c; color: #f6b8b2; }
/* Status codes. */
.dp-status { display: inline-block; padding: .1em .45em; border-radius: 4px; font-family: var(--paligo-font-mono, ui-monospace, SFMono-Regular, Menlo, monospace); font-weight: 600; font-size: .95em; }
.dp-status--2xx { background: #dff3e6; color: #135c2e; } .dp-status--3xx { background: #e6f2ff; color: #0b4f9c; }
.dp-status--4xx { background: #fff1db; color: #7a4a00; } .dp-status--5xx { background: #fde2e0; color: #8f1d14; }
html.dp-coder .dp-status--2xx { background: #0f3a22; color: #8ee0ad; } html.dp-coder .dp-status--3xx { background: #10233d; color: #9ccaff; }
html.dp-coder .dp-status--4xx { background: #3d2a0c; color: #ffcc80; } html.dp-coder .dp-status--5xx { background: #451714; color: #ffaaa3; }
/* Parameter names that copy. */
.dp-copyname { position: relative; cursor: copy; }
.dp-copyname:hover, .dp-copyname:focus-visible { color: #0055ff; outline: none; text-decoration: underline dotted; text-underline-offset: 3px; }
html.dp-coder .dp-copyname:hover, html.dp-coder .dp-copyname:focus-visible { color: #86c3ff !important; }
.dp-tip { position: absolute; z-index: 5; left: 50%; bottom: calc(100% + 4px); transform: translateX(-50%); padding: .2rem .5rem; border-radius: 6px; background: #121317; color: #ffffff; font-size: 11px; font-family: var(--paligo-font); white-space: nowrap; pointer-events: none; }
html.dp-coder .dp-tip { background: #e7e9ec; color: #0b0c0f; }
/* Copy endpoint for AI. */
.dp-ai-copy { position: relative; display: inline-flex; align-items: center; gap: var(--s-2); margin: 0 0 var(--s-3) var(--s-3); height: 32px; padding: 0 var(--s-3); border: 1px solid #e2e6e7; border-radius: 999px; background: #ffffff; font: inherit; font-size: var(--t-xs); font-weight: 500; color: #121317; cursor: pointer; vertical-align: middle; }
.dp-ai-copy .ms-icon { width: 16px; height: 16px; }
.dp-ai-copy:hover { border-color: #121317; }
html.dp-coder .dp-ai-copy { background: #121317; border-color: #2a2c31; color: #e7e9ec; }
html.dp-coder .dp-ai-copy:hover { border-color: #86c3ff; }
/* Your instance. */
.dp-instance { display: grid; gap: var(--s-1); margin: 0 0 var(--s-3); }
.dp-instance__label { font-size: var(--t-xs); font-weight: 600; color: #9a9ca0; }
.dp-instance__field { display: flex; align-items: center; height: 34px; padding: 0 var(--s-3); border: 1px solid #2a2c31; border-radius: 8px; background: #121317; font-family: var(--paligo-font-mono, ui-monospace, SFMono-Regular, Menlo, monospace); font-size: 12px; color: #8b8e94; }
.dp-instance__field:focus-within { border-color: #4da3ff; }
.dp-instance input { flex: 1; min-width: 4ch; border: 0; outline: 0; background: transparent; font: inherit; color: #ffffff; padding: 0 .15em; }
.dp-instance.is-bad .dp-instance__field { border-color: #ff8a80; }
/* Generated-sample note in the card header. */
.dp-code__note { margin-left: auto; padding-right: 2.5rem; font-size: 11px; font-style: italic; color: var(--dp-code-dim); }
/* Schema opened in place. */
.dp-schema-row > td { padding: 0 !important; background: transparent !important; }
.dp-schema { margin: var(--s-2) 0 var(--s-4); padding: var(--s-4); border-radius: 12px; background: #0e0f12; border: 1px solid #24262c; }
.dp-schema__head { margin: 0 0 var(--s-3) !important; font-size: var(--t-sm); }
.dp-schema__head a { margin-left: var(--s-3); font-size: var(--t-xs); }
.dp-schema table { font-size: var(--t-xs); width: 100%; }
html.dp-coder td a[href^="schemas-"] { text-decoration: underline dotted; text-underline-offset: 3px; }

/* ===== 1.6.1: nested content in reference tables ========================================================= */
.dp-endpoint-row { display: flex; flex-wrap: wrap; align-items: center; gap: var(--s-3); margin: 0 0 var(--s-4); }
.dp-endpoint-row .dp-endpoint, .dp-endpoint-row .dp-ai-copy { margin: 0 !important; }
.dp-endpoint-row .dp-ai-copy { height: 36px; }
/* Status meanings: plain text with the explanation on hover or focus, no trip out to the RFC. */
.dp-meaning[title] { text-decoration: underline dotted; text-underline-offset: 3px; cursor: help; }
.dp-type { font-family: var(--paligo-font-mono, ui-monospace, SFMono-Regular, Menlo, monospace); font-size: .95em; color: #7a3db8; }
html.dp-coder .dp-type { color: #d7b2f2 !important; }
.dp-type a { font-family: inherit; }
/* The panel: bounded by the table, its own tables wrap, one panel per row. */
.dp-schema-row > td { max-width: 0; padding: 0 var(--s-2) var(--s-3) !important; background: transparent !important; border-top: 0 !important; }
.dp-schema { margin: 0; padding: 0; border-radius: 12px; background: #f6f8f9; border: 1px solid #e2e6e7; overflow: hidden; }
html.dp-coder .dp-schema { background: #0e0f12; border-color: #24262c; }
.dp-schema__bar { display: flex; align-items: center; gap: var(--s-3); padding: var(--s-2) var(--s-2) var(--s-2) var(--s-4); border-bottom: 1px solid #e2e6e7; font-size: var(--t-xs); }
html.dp-coder .dp-schema__bar { border-bottom-color: #24262c; }
.dp-schema__trail { display: flex; flex-wrap: wrap; align-items: center; gap: var(--s-2); min-width: 0; }
.dp-schema__trail strong { font-family: var(--paligo-font-mono, ui-monospace, SFMono-Regular, Menlo, monospace); }
.dp-schema__back { padding: 0; border: 0; background: none; font: inherit; font-family: var(--paligo-font-mono, ui-monospace, SFMono-Regular, Menlo, monospace); color: #0055ff; cursor: pointer; }
html.dp-coder .dp-schema__back { color: #86c3ff; }
.dp-schema__sep { color: #898b8b; }
.dp-schema__open { margin-left: auto; white-space: nowrap; }
.dp-schema__close { display: grid; place-items: center; width: 28px; height: 28px; flex: none; border: 1px solid #cdd0d1; border-radius: 6px; background: transparent; color: inherit; cursor: pointer; }
html.dp-coder .dp-schema__close { border-color: #33363d; color: #c9ccd1; }
.dp-schema__close:hover { border-color: currentColor; }
.dp-schema__close .ms-icon { width: 16px; height: 16px; }
.dp-schema__body { padding: var(--s-3) var(--s-4) var(--s-4); }
.dp-schema__table { max-width: 100%; overflow-x: auto; }
.dp-schema__body table { width: 100%; table-layout: auto; font-size: var(--t-xs); }
.dp-schema__body table :is(td, th) { overflow-wrap: break-word; word-break: normal; padding: var(--s-2) var(--s-3); vertical-align: top; }
.dp-schema__body table td:last-child { overflow-wrap: anywhere; }
.dp-schema__body table :is(td, th) p { margin: 0; }
.dp-schema__body .dp-code { margin: var(--s-3) 0 0; }
.dp-schema__loading { margin: 0; color: #898b8b; }

/* ===== 1.6.2: phone and line fixes ======================================================================== */
/* Lines inside a code card are not inline code: no box per line (the inline-code rule matched .ld > code). */
.dp-code pre code, .dp-code pre .ld code, html.dp-coder .dp-pagebody > main .dp-code pre code { background: none !important; border: 0 !important; padding: 0 !important; border-radius: 0 !important; }
/* Sample-group tabs outside the code column. */
.openapi-samples > .dp-code__tabs { margin: 0 0 var(--s-2); }
:not(html.dp-coder) .openapi-samples > .dp-code__tabs { background: #eef1f3; }
:not(html.dp-coder) .openapi-samples > .dp-code__tabs .dp-code__tab { color: #45474a; }
:not(html.dp-coder) .openapi-samples > .dp-code__tabs .dp-code__tab.is-on { color: #ffffff; }
/* Phones: the header keeps the logo, the view switch and a compact language button. */
@media (max-width: 40rem) {
  .topbar .dp-header-cta { display: none !important; }
  .topbar .langswitch-label { display: none; }
  .topbar .langswitch-label-short { display: inline !important; text-transform: uppercase; }
  .topbar .langswitch > summary { padding-inline: var(--s-2); }
  .dp-viewtoggle { padding: 0 var(--s-2); gap: var(--s-1); }
  .topbar .header-tools { gap: var(--s-2); }
  .dp-instance__field { font-size: 11px; }
  .dp-instance__pre { display: none; }
  .dp-endpoint-row { gap: var(--s-2); }
  .dp-schema__bar { flex-wrap: wrap; }
  .dp-schema__open { margin-left: 0; order: 3; flex-basis: 100%; }
  .dp-schema__body { padding: var(--s-3); }
}
@media (max-width: 40rem) {
  .topbar .dp-docs-label, .topbar .brand-sep, .topbar .brand::after { display: none !important; }
  .topbar .langswitch-label-short { display: none !important; }
  .topbar .langswitch > summary .chevron { display: none; }
  .dp-viewtoggle .ms-icon { display: none; }
  .dp-viewtoggle { height: 32px; padding: 0 6px; border-radius: 999px; }
  .topbar .icon-btn.search-toggle { flex: none; min-width: 36px; }
}
/* Tablets and small laptops: the part tabs, view switch and language button take the room "Get started" had. */
@media (max-width: 75rem) {
  .topbar .dp-header-cta { display: none !important; }
  .dp-parts { margin-left: var(--s-3); }
  .dp-parts__tab { padding: 0 var(--s-2); }
}

/* ===== 1.6.3: hover and current states in coder view; part heading alignment ============================== */
/* Every hover/current state that the light theme paints near-white gets a dark surface with light text. */
html.dp-coder main tbody tr:hover, html.dp-coder main tbody tr:hover td { background: #1b1c21 !important; color: #ffffff !important; }
html.dp-coder main tbody tr:hover :is(td, td *) { color: #ffffff; }
html.dp-coder main tbody tr:hover a { color: #9ccaff !important; }
html.dp-coder :is(.dp-card, .pg-ctopic, .pg-part:not(.pg-part--code), .pager a, .pg-upnext):hover { background: #1b1c21 !important; color: #ffffff; }
html.dp-coder :is(.dp-card, .pg-ctopic, .pager a, .pg-upnext):hover :is(*) { color: inherit; }
html.dp-coder .pg-ctopics__list:has(> li:nth-child(9)) .pg-ctopic:hover { background: #1b1c21 !important; }
html.dp-coder .pg-ctopics__list:has(> li:nth-child(9)) .pg-ctopic:hover .pg-ctopic__title { color: #9ccaff; }
html.dp-coder aside.site-nav a:hover { background: #1b1c21 !important; color: #ffffff !important; }
html.dp-coder aside.site-nav a[aria-current="page"] { background: #10233d !important; color: #ffffff !important; }
html.dp-coder :is(.icon-btn, .langswitch > summary, .nav-filter-clear, .site-search__clear, .dp-viewtoggle):hover { background: #1b1c21 !important; color: #ffffff !important; }
html.dp-coder body.portal .topbar:not(.is-scrolled) .langswitch > summary:hover { background: #1b1c21 !important; }
html.dp-coder .langswitch-menu .paligo-language-switcher a { color: #e7e9ec; }
html.dp-coder .langswitch-menu .paligo-language-switcher a:hover { background: #1b1c21 !important; color: #ffffff; }
html.dp-coder :is(.site-search__result:hover, .site-search__result.is-active, .site-search__all.is-active) { background: #1b1c21 !important; color: #ffffff; }
html.dp-coder :is(.site-search__panel, .site-search__results, .site-search__dropdown) { background: #121317; color: #e7e9ec; border-color: #2a2c31; }
html.dp-coder .topbar .site-search__form:focus-within { background: #1b1c21 !important; }
html.dp-coder :is(.site-footer .dp-pill--cta, .dp-help .dp-pill--alt):hover { background: #e7e9ec !important; color: #0b0c0f !important; }
html.dp-coder .dp-rail__tools button:hover, html.dp-coder .dp-rail a:hover { color: #ffffff; }
html.dp-coder .dp-code__tab:hover:not(:disabled):not(.is-on) { background: #2a2c31; color: #ffffff; }
html.dp-coder :is(.dp-ai-copy, .dp-schema__close, .dp-schema__back):hover { background: #1b1c21; color: #ffffff; }
/* Keyboard focus is always visible on dark. */
html.dp-coder :is(a, button, summary, input, select, textarea, [tabindex]):focus-visible { outline: 2px solid #86c3ff !important; outline-offset: 2px; }

/* The part headings in the menu: the chevron sits on the same line as the label and icon. */
html[data-part] aside.site-nav .nav-tree > ul > li > .nav-toggle { top: calc(var(--s-2) + 4px); }
html[data-part] aside.site-nav .nav-tree > ul > li:first-child > .nav-toggle { top: 4px; }
@media (max-width: 860px) {
  html[data-part] aside.site-nav .nav-tree > ul > li > .nav-toggle { top: calc(var(--s-2) + 8px); }
  html[data-part] aside.site-nav .nav-tree > ul > li:first-child > .nav-toggle { top: 8px; }
}

/* ===== 1.6.3: WCAG 2.1 AA fixes (axe-core audit, both views) ============================================= */
/* Secondary text on dark: at least 4.5:1 (#a0a3a8 on #0b0c0f is 8:1). */
html.dp-coder :is(.dp-rail__tools button, .dp-rail__tools button span, .dp-rail__tools kbd, kbd[data-dp-kbd], .pager .dir, .pg-meta, .pg-meta span, .dp-section-meta, .dp-code__note, .dp-cfilter__label, .dp-instance__label) { color: #a0a3a8 !important; }
html.dp-coder .pg-upnext__label { color: #86c3ff !important; }
/* Links inside running text are underlined in coder view, so colour is not the only cue (1.4.1). */
html.dp-coder .dp-pagebody > main :is(p, li, td, dd) a:not(.dp-pill) { text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px; }
/* The selected tab: white on #0062c4 is 5.9:1 (the brand #017efa only reaches 3.9:1 for small text). */
.dp-code__tab.is-on, .dp-code__tab:disabled { background: #0062c4 !important; color: #ffffff !important; }
/* Coder view belongs to doc pages; the landing page keeps its light design and has no switch. */
body.portal .dp-viewtoggle { display: none !important; }
/* Reflow at 320 CSS px (WCAG 1.4.10, = 400% zoom on 1280) and text spacing (1.4.12). */
@media (max-width: 36rem) {
  .pager { display: grid !important; grid-template-columns: minmax(0, 1fr) !important; }
  .pager a { min-width: 0; }
  .pager :is(.dir, .ttl) { overflow-wrap: anywhere; }
}
.site-footer :is(.dp-footer__id, .dp-footer__nav, .dp-footer__nav ul, .dp-footer__nav li, .dp-kicker) { min-width: 0; overflow-wrap: anywhere; }
@media (max-width: 36rem) { .dp-footer__nav ul { columns: 1; } }
.nav-tree .nav-toggle { width: 1.5rem; }
/* Header icon buttons keep their size when the header is tight (320 px with WCAG text spacing). */
.topbar .icon-btn { flex: none; min-width: 36px; }
.topbar .icon-btn svg { width: 20px; height: 20px; flex: none; }
@media (max-width: 22rem) { .topbar .brand svg, .topbar .brand img { max-width: 92px; height: auto; } }
/* The logo never shrinks away in a tight header. */
.topbar .brand { flex: 0 0 auto; }
.topbar .brand .dp-logo { flex: none; min-width: 80px; }
@media (max-width: 22rem) {
  .topbar { gap: 6px !important; padding-left: 10px !important; padding-right: 10px !important; }
  .topbar .header-tools { gap: 4px !important; }
  .dp-viewtoggle { padding: 0 4px; }
  .topbar .icon-btn { min-width: 32px; }
}
/* Long one-word titles never push the page sideways: size follows the screen, and a word may break as a last resort. */
.dp-pagebody > main > section:first-of-type > header > :is(h1, h2, h3, h4, h5, h6):first-child { font-size: clamp(2rem, 11vw, var(--t-3xl)); overflow-wrap: break-word; hyphens: auto; }
.dp-pagebody > main :is(h1, h2, h3, h4, h5, h6) { overflow-wrap: break-word; }

/* 1.6.5: in coder view the raw samples wait for dp-code.js to move them into the code column, so they never flash. */
html.dp-coder:not(.dp-code-ready) main .openapi-samples,
html.dp-coder:not(.dp-code-ready) main .openapi-responses { visibility: hidden; }
