/* R3: Home-owned corporate shell, with a subordinate documentation rail. No alternate public-estate shell. */
.developers-shell .pe-shell,.developers-shell .pe-footer{font-family:var(--pe-sans);letter-spacing:-.004em;color:var(--pe-white);background:var(--pe-night)}
.developers-shell .pe-shell *, .developers-shell .pe-footer *{box-sizing:border-box}
.developers-shell .pe-shell .pe-brand,.developers-shell .pe-footer__brand{color:var(--pe-white)}
.developers-shell .pe-footer{margin-top:0}
.developers-shell .pe-shell .pe-rail,.developers-shell .pe-footer .pe-rail{width:min(calc(100% - 2*var(--pe-pad)),1248px)}
.developers-shell .pe-shell .pe-nav{font-family:var(--pe-sans)}
.developers-shell .pe-mobile{background:var(--pe-night);color:var(--pe-white)}
.developers-shell .pe-mobile a{color:rgba(249,247,241,.82)}
.developers-shell .pe-skip,.developers-shell .skip-link{position:fixed;z-index:120;top:-110px;left:10px;padding:12px 16px;background:#fbfaf6;color:#101310;border:1px solid #666}
.developers-shell .pe-skip:focus,.developers-shell .skip-link:focus{top:10px}
.developers-shell .developers-property-nav{border-bottom:1px solid var(--mineral-line-strong,#cdd1c9);background:var(--surface-paper,#f6f5f0);color:var(--text,#151713)}
.developers-shell .developers-property-nav__inner{min-height:60px;display:flex;align-items:center;gap:clamp(18px,2.5vw,32px);max-width:1248px}
.developers-shell .developers-property-nav__title{font-size:13px;font-weight:780;letter-spacing:-.015em;white-space:nowrap}
.developers-shell .developers-property-nav nav{display:flex;align-items:center;gap:clamp(14px,1.8vw,25px);min-width:0}
.developers-shell .developers-property-nav nav a{position:relative;display:inline-flex;align-items:center;min-height:46px;color:var(--text-soft,#596158);border:0;text-decoration:none;white-space:nowrap;font-size:12px;font-weight:580}
.developers-shell .developers-property-nav nav a::after{content:"";position:absolute;left:0;right:0;bottom:6px;height:2px;background:transparent;pointer-events:none}
.developers-shell .developers-property-nav nav a[aria-current="page"]{color:var(--text,#151713);font-weight:760}
.developers-shell .developers-property-nav nav a[aria-current="page"]::after{background:var(--verdigris,#52756b)}
.developers-shell .developers-property-nav nav a:hover,.developers-shell .developers-property-nav nav a:focus-visible{color:var(--text,#151713)}
.developers-shell .developers-property-nav__theme{display:flex;margin-left:auto;flex-shrink:0}
.developers-shell .developers-property-nav__theme button{min-width:44px;min-height:38px;color:var(--text-soft,#596158)}
.developers-shell .developers-property-nav__theme button[aria-pressed="true"]{color:var(--text,#151713)}
/* Composition: no decorative eyebrow preceding the API title. */
.developers-shell.api-r34-page .api-r20-hero h1{font-family:var(--pe-serif);font-weight:400;font-size:clamp(46px,4.65vw,66px);letter-spacing:-.048em;line-height:1.055}
.developers-shell.api-r34-page .api-r20-hero-copy{max-width:610px}
.developers-shell.api-r34-page .api-r20-lede{max-width:55ch;font-size:16px;line-height:1.65}
/* Bright: semantically distinct violet keywords/flags, cyan properties, amber strings; same token families as Home. */
.developers-shell.api-r34-page .api-r30-console{background:#111411;border:1px solid rgba(249,247,241,.16)}
.developers-shell.api-r34-page .api-r30-preview{font-size:clamp(12px,1vw,14px);line-height:1.7;color:#f3f0e8;tab-size:2}
.developers-shell.api-r34-page .api-r30-preview .tok-command{color:#b6d6cb}
.developers-shell.api-r34-page .api-r30-preview .tok-flag{color:#d7b7ed}
.developers-shell.api-r34-page .api-r30-preview .tok-key{color:#80d6f5}
.developers-shell.api-r34-page .api-r30-preview .tok-string{color:#f3cc85}
.developers-shell.api-r34-page .api-r30-preview .tok-punct{color:#d9ded8}
.developers-shell.api-r34-page .api-r30-console-foot{font:500 11px/1.5 var(--pe-sans);color:#bec7c0}
@media(max-width:1150px){.developers-shell .developers-property-nav__inner{flex-wrap:wrap;gap:0 18px;padding-top:5px;padding-bottom:7px}.developers-shell .developers-property-nav__title{margin-right:auto}.developers-shell .developers-property-nav nav{order:3;width:100%;overflow-x:auto;overscroll-behavior-inline:contain;scrollbar-width:thin}.developers-shell .developers-property-nav nav a{min-height:44px}.developers-shell .developers-property-nav__theme{margin-left:0}}
@media(max-width:620px){.developers-shell .developers-property-nav__inner{padding-top:8px}.developers-shell .developers-property-nav__theme button{font-size:10px;min-width:40px}.developers-shell.api-r34-page .api-r20-hero h1{font-size:clamp(38px,9.5vw,48px)}.developers-shell.api-r34-page .api-r20-lede{font-size:15px}.developers-shell.api-r34-page .api-r30-preview{font-size:12px!important;white-space:pre;overflow-x:auto;word-break:normal;overflow-wrap:normal}.developers-shell.api-r34-page .api-r30-preview code{white-space:pre;word-break:normal;overflow-wrap:normal}}
@media(forced-colors:active){.developers-shell .developers-property-nav nav a[aria-current="page"]::after{background:Highlight}}
@media(prefers-reduced-motion:reduce){.developers-shell .developers-property-nav *{scroll-behavior:auto}}
/* Optical containment: the API hero ring cannot widen the page. */
.developers-shell.api-r34-page .api-r20-hero{overflow-x:clip;max-width:100%}
/* The developer guide owns a code scroller, not a document-width code block. */
@media(max-width:900px){
 .developers-shell.dg-page .dg-section,.developers-shell.dg-page .dg-authority,.developers-shell.dg-page .dg-run-inner{grid-template-columns:minmax(0,1fr)}
 .developers-shell.dg-page .dg-body,.developers-shell.dg-page .dg-run-copy,.developers-shell.dg-page .dg-terminal{min-width:0;max-width:100%}
 .developers-shell.dg-page .dg-terminal-route{min-width:0;overflow-wrap:anywhere}
 .developers-shell.dg-page .dg-code-scroll,.developers-shell.dg-page .dg-code-scroll pre{max-width:100%;min-width:0}
}


/* R4 — Developers' estate-wide identity retained; local reference/navigation corrections only. */
.developers-shell .developers-property-nav__inner{column-gap:clamp(12px,1.9vw,25px)}
.developers-shell .developers-property-nav__title{color:var(--text,#181c18)}
.developers-shell .developers-property-nav__theme{gap:2px;padding:3px;border:1px solid var(--mineral-line-strong);background:transparent;border-radius:7px}
.developers-shell .developers-property-nav__theme button{appearance:none;display:inline-flex;justify-content:center;align-items:center;height:34px;min-height:34px;min-width:48px;padding:0 9px;border:0!important;border-radius:4px;background:transparent!important;color:var(--text-soft)!important;font:600 11px/1 var(--pe-sans);letter-spacing:0;box-shadow:none!important;transform:none!important}
.developers-shell .developers-property-nav__theme button[aria-pressed="true"]{background:var(--surface-deep)!important;color:var(--text)!important;font-weight:750;outline:1px solid var(--mineral-line-strong);outline-offset:-1px}
.developers-shell .developers-property-nav__theme button::before,.developers-shell .developers-property-nav__theme button::after{content:none!important;display:none!important}
.developers-shell .developers-property-nav__theme button:focus-visible,.developers-shell .developers-property-nav nav a:focus-visible{outline:2px solid var(--verdigris,#52756b);outline-offset:2px}
@media(max-width:1150px){
 .developers-shell .developers-property-nav__inner{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 16px;padding-block:8px}
 .developers-shell .developers-property-nav__title{grid-column:1;grid-row:1;margin:0}
 .developers-shell .developers-property-nav__theme{grid-column:2;grid-row:1;margin:0}
 .developers-shell .developers-property-nav nav{grid-column:1/-1;grid-row:2;width:100%;gap:8px 17px;display:flex;flex-wrap:wrap;overflow:visible;min-width:0}
 .developers-shell .developers-property-nav nav a{min-height:39px;font-size:12px}
 .developers-shell .developers-property-nav nav a::after{bottom:3px}
}
@media(max-width:620px){
 .developers-shell .developers-property-nav__inner{gap:7px 12px;padding-block:10px 6px}
 .developers-shell .developers-property-nav__theme button{min-width:43px;min-height:32px;height:32px;font-size:10.5px}
 .developers-shell .developers-property-nav nav{gap:0 15px;justify-content:flex-start;align-items:stretch}
 .developers-shell .developers-property-nav nav a{min-height:38px;font-size:11.5px}
 .developers-shell .developers-property-nav nav a::after{bottom:3px}
}
@media(max-width:340px){.developers-shell .developers-property-nav nav{gap:0 11px}.developers-shell .developers-property-nav nav a{font-size:11px}}
/* Replace two competing data registers with one unobtrusive contract note. */
.developers-shell.api-r34-page .api-r4-reference-meta{display:flex;align-items:center;flex-wrap:wrap;gap:8px 19px;margin:22px 0 0;padding:13px 0;border-top:1px solid var(--mineral-line);border-bottom:1px solid var(--mineral-line);color:var(--text-soft);font-size:12px;line-height:1.5}
.developers-shell.api-r34-page .api-r4-reference-meta strong{color:var(--text);font-size:13px;font-variant-numeric:tabular-nums}
.developers-shell.api-r34-page .api-r4-reference-meta code{font-size:inherit;color:inherit}
.developers-shell.api-r34-page .api-r4-contract-note{flex-basis:100%;color:var(--text-muted)}
/* Preserve the Mineral light/dark design, but make the reference itself honour the preference. */
html[data-theme="dark"] .developers-shell.api-r34-page .api-r20-browser{
 --surface:#171d19;--surface-paper:#202821;--surface-deep:#2b352d;--text:#f1f2ed;--text-soft:#c6d0c6;--text-muted:#b1bdb2;
 --mineral-line:rgba(237,241,232,.22);--mineral-line-strong:rgba(237,241,232,.38);
 --verdigris-deep:#a0cbbc;--method-get:#a3dbc3;--method-post:#a6dbed;--mustard:#ebcd88;--clay:#efac95;
 color:var(--text);background:var(--surface);
}
html[data-theme="dark"] .developers-shell.api-r34-page .api-r20-browser-head h2,
html[data-theme="dark"] .developers-shell.api-r34-page .api-r20-operation-header h3,
html[data-theme="dark"] .developers-shell.api-r34-page .api-r20-op-title strong,
html[data-theme="dark"] .developers-shell.api-r34-page .api-r20-family-picker summary strong{color:var(--text)}
html[data-theme="dark"] .developers-shell.api-r34-page .api-r20-browser-head p:last-child,
html[data-theme="dark"] .developers-shell.api-r34-page .api-r20-op-title code,
html[data-theme="dark"] .developers-shell.api-r34-page .api-r20-operation-header>a,
html[data-theme="dark"] .developers-shell.api-r34-page .api-r20-search-hints button{color:var(--text-soft)}
html[data-theme="dark"] .developers-shell.api-r34-page .api-r20-search,
html[data-theme="dark"] .developers-shell.api-r34-page .api-r20-family-picker,
html[data-theme="dark"] .developers-shell.api-r34-page .api-r20-op-body{background:var(--surface-paper);border-color:var(--mineral-line-strong);box-shadow:none}
html[data-theme="dark"] .developers-shell.api-r34-page .api-r20-search input,
html[data-theme="dark"] .developers-shell.api-r34-page .api-r20-family-picker summary,
html[data-theme="dark"] .developers-shell.api-r34-page .api-r20-op-body code{color:var(--text)}
html[data-theme="dark"] .developers-shell.api-r34-page .api-r20-search input::placeholder{color:var(--text-muted)}
html[data-theme="dark"] .developers-shell.api-r34-page .api-r20-op>summary:hover,
html[data-theme="dark"] .developers-shell.api-r34-page .api-r20-op[open]>summary{background:rgba(143,193,167,.11)}
html[data-theme="dark"] .developers-shell.api-r34-page .api-r20-method{background:transparent}
html[data-theme="dark"] .developers-shell.api-r34-page .api-r20-op-body{color:var(--text)}
html[data-theme="dark"] .developers-shell.api-r34-page .api-r20-op-desc,
html[data-theme="dark"] .developers-shell.api-r34-page .api-r20-contract-grid p,
html[data-theme="dark"] .developers-shell.api-r34-page .api-r20-operation-header span{color:var(--text-soft)}
html[data-theme="dark"] .developers-shell.api-r34-page .api-r20-contract-grid>section,
html[data-theme="dark"] .developers-shell.api-r34-page .api-r20-op,
html[data-theme="dark"] .developers-shell.api-r34-page .api-r20-operation-header{border-color:var(--mineral-line)}
html[data-theme="dark"] .developers-shell.api-r34-page .api-r20-family-list{background:var(--surface-paper);border-color:var(--mineral-line-strong)}
html[data-theme="dark"] .developers-shell.api-r34-page .api-r20-family-list button{color:var(--text)}
html[data-theme="dark"] .developers-shell.api-r34-page .api-r20-family-list button:hover{background:var(--surface-deep)}
/* The code example is a specimen of the published contract, never a simulated receipt. */
.developers-shell.api-r34-page .api-r30-preview{font-size:clamp(12px,1.06vw,14px);line-height:1.68}
.developers-shell.api-r34-page .api-r30-console-meta{font-size:11px;gap:10px}
.developers-shell.api-r34-page .api-r30-console-foot{font-size:11px}
.developers-shell.api-r34-page .api-r20-op-title strong{font-size:15.5px}
.developers-shell.api-r34-page .api-r20-op-title code{font-size:12px;line-height:1.5}
.developers-shell.api-r34-page .api-r20-method{font-size:10px;min-width:48px}
.developers-shell.api-r34-page .api-r20-op>summary{min-height:74px}
@media(max-width:760px){
 .developers-shell.api-r34-page .api-r20-browser{padding-top:62px}
 .developers-shell.api-r34-page .api-r30-preview{font-size:12px!important;line-height:1.65;min-height:210px;white-space:pre;overflow-x:auto;overflow-wrap:normal;word-break:normal}
 .developers-shell.api-r34-page .api-r30-preview code{white-space:pre;word-break:normal}
 .developers-shell.api-r34-page .api-r20-op-title strong{font-size:14.5px}
 .developers-shell.api-r34-page .api-r20-op-title code{font-size:11.5px}
 .developers-shell.api-r34-page .api-r20-method{font-size:9.5px;min-width:42px}
 .developers-shell.api-r34-page .api-r20-search input{font-size:16px}
 .developers-shell.api-r34-page .api-r20-search>span{font-size:11px}
 .developers-shell.api-r34-page .api-r20-family-picker summary>span{font-size:11px}
}
@media(forced-colors:active){.developers-shell .developers-property-nav__theme button[aria-pressed="true"]{outline-color:Highlight}}
/* Route labels are prose within the reference, not separate code pills. */
html[data-theme="dark"] .developers-shell.api-r34-page .api-r20-op-title code{background:transparent!important;padding:0;box-shadow:none}

/* R43 · Developers ↔ Home editorial typography authority.
   Home's --pe-serif and --pe-sans remain upstream. Screen UI is sans;
   display argument is serif; code is monospace. Never synthesise a new face. */
.developers-shell{--developers-display:var(--pe-serif);--developers-reading:var(--pe-sans);--developers-code:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}
.developers-shell .depth38 h2,
.developers-shell.schemas2-page .depth38 h2,
.developers-shell.artifacts4-page .depth38 h2{font-family:var(--developers-display)!important;font-weight:400!important;font-size:clamp(36px,3.65vw,51px)!important;line-height:1.08!important;letter-spacing:-.039em!important;text-wrap:pretty!important;max-width:100%!important}
.developers-shell .depth38 .depth38-story h3,
.developers-shell .depth38 .depth43-sequence h3,
.developers-shell .depth38 .depth43-case h4{font-family:var(--developers-reading);font-weight:650;letter-spacing:-.025em}
.developers-shell .depth38 h3:not(.api-technical-heading){font-family:var(--developers-reading)!important}
.developers-shell .bae5-app-nav,.developers-shell .bae5-app-heading,.developers-shell .bae5-app-action,
.developers-shell .bae6-http-window{font-family:var(--developers-reading)}
.developers-shell .bae6-http-window pre,.developers-shell .bae6-http-window code,
.developers-shell .bae5-app pre,.developers-shell .bae5-app code{font-family:var(--developers-code)}


/* R44 · Optical registration court. One underlying estate grid and a readable
   rhythm—not extra ornament, new fonts, or arbitrary headline wrapping. */
/* Corporate rail is unchanged. These local content measurements register the
   editorial inserts to the 1180px reading authority already used by the pages. */
.developers-shell:not(.api-r34-page) .depth38 > .depth38-wrap{
  width:min(1180px,calc(100% - 2 * clamp(20px,4.5vw,72px)));
  padding-block:clamp(60px,6.45vw,94px);
}
/* The earlier BAE chapters used a 256px label column; the subsequent chapters
   restart on the left rail. Place the section coordinate immediately above
   the explanation, consistently, without a phantom column. */
.developers-shell.bae2-page .bae2-section{
  display:block;
  padding-block:clamp(65px,6vw,86px);
}
.developers-shell.bae2-page .bae2-section-label{
  padding:0;
  margin-bottom:18px;
}
.developers-shell.bae2-page .bae2-section-body{
  width:100%;max-width:950px;margin:0;
}
.developers-shell.bae2-page .bae2-section-body h2,
.developers-shell.bae2-page .bae2-release h2{
  font-family:var(--developers-display);font-weight:400;
  font-size:clamp(35px,3.55vw,51px);line-height:1.08;
  letter-spacing:-.039em;max-width:100%;text-wrap:pretty;
}
/* Pull quotations should support the explanatory copy, not look like an
   unrelated display font or occupy a separate visual column. */
.developers-shell.bae2-page .bae4-pull,
.developers-shell.bae2-page .bae4-runtime-aside p{
  font-family:var(--developers-display);font-weight:400;
}
.developers-shell.bae2-page .bae4-pull{max-width:46ch!important}
.developers-shell.bae2-page .bae4-runtime-aside{max-width:770px}
/* Series cards may differ in length. The viewport follows the current case;
   otherwise the short cases acquire hundreds of pixels of empty floor. */
.developers-shell .depth43-sequence.is-enhanced .depth43-sequence-viewport{
  align-items:start;overflow-y:hidden;
}
.developers-shell .depth43-sequence.is-enhanced .depth43-case{align-self:start}
/* Heading register on Artifacts previously jumped from 58px to 51px in the
   middle of a continuous reading argument. Treat all of its sections alike. */
.developers-shell.artifacts4-page .a4-section-head h2,
.developers-shell.artifacts4-page .a4-custody h2,
.developers-shell.artifacts4-page .a4-final h2{
  font-family:var(--developers-display);font-weight:400;
  font-size:clamp(35px,3.65vw,51px);line-height:1.08;
  letter-spacing:-.039em;text-wrap:pretty;
}
/* Keep technical reference sections wide; make only the editorial bridge
   register with the 1240px API content rail, rather than sitting 40px inward. */
.developers-shell.api-r34-page .depth38-reference > .depth38-wrap{
  width:min(1240px,calc(100% - 2 * clamp(20px,4.5vw,72px)));
}
@media(max-width:900px){
 .developers-shell.bae2-page .bae2-section{padding-block:clamp(57px,6vw,72px)}
 .developers-shell.bae2-page .bae2-section-label{margin-bottom:13px}
}
@media(max-width:620px){
 .developers-shell:not(.api-r34-page) .depth38 > .depth38-wrap{width:calc(100% - 40px);padding-block:54px}
 .developers-shell.bae2-page .bae2-section{padding-block:55px}
 .developers-shell.bae2-page .bae2-section-body h2{font-size:clamp(30px,8.1vw,36px)}
 .developers-shell.bae2-page .bae4-pull{max-width:none!important}
}
/* Schemas is already a 1180px bounded main; its editorial inserts must not
   subtract the outer gutter a second time. */
.developers-shell.schemas2-page .schemas2 .depth38 > .depth38-wrap{width:100%}

/* R45 / optical constitution: align the case closing rule to the complete three-part argument.
   A generic reading-width cap on paragraphs formerly shortened the border to ~69% of the panel. */
.developers-shell .depth43-case p.depth43-case-close{max-width:none;width:100%;box-sizing:border-box}
.developers-shell .depth43-case-close-copy{display:block;max-width:75ch}
/* Adjacent contextual prose uses the inherited editorial measure, never a new card. */
.developers-shell .depth45-context{max-width:78ch;line-height:1.78}

/* R45 / all depth38 conclusions: a section-wide separator, not a line tied to copy measure. */
.developers-shell .depth38 p.depth38-endnote{max-width:none;width:100%;box-sizing:border-box}
.developers-shell .depth38-endnote .depth45-endnote-copy{display:block;max-width:75ch}


/* R46 · RESTORE THE DEVELOPER REFERENCE'S SEMANTIC ACCENT GRAMMAR.
   No additional fonts or ornamental section cards. Technical meaning owns hue;
   editorial text and Mineral background remain restrained. */
.developers-shell.api-r34-page .api-r20-browser{
  --dev-get:#167451;--dev-post:#1769a5;--dev-write:#966018;
  --dev-delete:#ae3e53;--dev-interactive:#146f8b;
}
.developers-shell.api-r34-page .api-r20-method{
  display:inline-flex;align-items:center;justify-content:center;
  min-width:51px;min-height:25px;padding:4px 6px;
  border:1px solid currentColor;border-radius:3px;
  font-family:var(--developers-code);font-size:10px!important;
  font-weight:750;line-height:1;letter-spacing:.045em;
}
.developers-shell.api-r34-page .api-r20-method[data-method="get"]{color:var(--dev-get)}
.developers-shell.api-r34-page .api-r20-method[data-method="post"]{color:var(--dev-post)}
.developers-shell.api-r34-page .api-r20-method[data-method="patch"],
.developers-shell.api-r34-page .api-r20-method[data-method="put"]{color:var(--dev-write)}
.developers-shell.api-r34-page .api-r20-method[data-method="delete"]{color:var(--dev-delete)}
.developers-shell.api-r34-page .api-r20-op-title code{color:var(--dev-interactive)}
.developers-shell.api-r34-page .api-r20-operation-header > a,
.developers-shell.api-r34-page .api-r20-op-body a,
.developers-shell.api-r34-page .api-r20-search-hints button:hover,
.developers-shell.api-r34-page .api-r20-search-hints button:focus-visible{
  color:var(--dev-interactive);text-decoration-color:currentColor;
}
.developers-shell.api-r34-page .api-r20-op[open]>summary{
  box-shadow:inset 3px 0 0 var(--dev-interactive);
}
.developers-shell.api-r34-page .api-r20-op>summary:focus-visible,
.developers-shell.api-r34-page .api-r20-controls :focus-visible{
  outline:2px solid var(--dev-interactive);outline-offset:3px;
}
html[data-theme="dark"] .developers-shell.api-r34-page .api-r20-browser{
  --dev-get:#7bddad;--dev-post:#80c7fa;--dev-write:#f4c16e;
  --dev-delete:#fa9dad;--dev-interactive:#80d8ec;
}
@media(max-width:760px){.developers-shell.api-r34-page .api-r20-method{
  min-width:44px;min-height:23px;padding:3px 4px;font-size:9px!important;
}}

/* R46 · Resolve a real inherited display-family divergence against the
   corporate Home token, without changing editorial sizes or forced breaks. */
.developers-shell .dg-hero h1,
.developers-shell .dg-body h2,
.developers-shell .dg-run h2,
.developers-shell .dg-next h2,
.developers-shell.bae2-page .bae2-hero h1,
.developers-shell.bae2-page .bae2-section-body h2,
.developers-shell.bae2-page .bae2-release h2,
.developers-shell.bae2-page .bae2-next h3{
  font-family:var(--pe-serif)!important;
  font-synthesis:none;
}

/* R49 · Developers-only narrow navigation registration. Preserve readable
   link sizing; avoid the single orphaned final destination. */
@media(max-width:430px){
  .developers-shell .developers-property-nav nav{
    display:grid;
    grid-template-columns:max-content max-content minmax(0,1fr);
    column-gap:clamp(12px,3.5vw,18px);
    row-gap:0;
    justify-content:start;
    align-items:stretch;
  }
  .developers-shell .developers-property-nav nav a{justify-self:start}
}

/* R50 — shared Developers code grammar; original publication and syntax are unchanged. */
.developers-shell{
 --dev-code-key:#80d8f3;--dev-code-string:#f2c980;--dev-code-flag:#d7b6ed;
 --dev-code-command:#8bdec5;--dev-code-punct:#becdc3;--dev-code-number:#f3ac8b;
}
.developers-shell .dg-terminal .syn-cmd{color:var(--dev-code-command)}
.developers-shell .dg-terminal .syn-flag{color:var(--dev-code-flag)}
.developers-shell .dg-terminal .syn-string,
.developers-shell .bae6-http-window .syn-string,
.developers-shell .schemas2-code-window .syn-string,
.developers-shell .depth38-code .syn-string{color:var(--dev-code-string)}
.developers-shell .bae6-http-window .syn-key,
.developers-shell .schemas2-code-window .syn-key,
.developers-shell .depth38-code .syn-key{color:var(--dev-code-key)}
.developers-shell .dg-terminal .syn-punct,
.developers-shell .bae6-http-window .syn-punct,
.developers-shell .schemas2-code-window .syn-punct{color:var(--dev-code-punct)}
.developers-shell .depth38-code .syn-method{color:var(--dev-code-string);font-weight:700}
.developers-shell .depth38-code .syn-path{color:var(--dev-code-key)}
.developers-shell .depth38-code .syn-number{color:var(--dev-code-number)}
.developers-shell .dg-code-scroll,
.developers-shell .schemas2-code-window pre,
.developers-shell .bae6-http-body pre,
.developers-shell .depth38-code{
 scrollbar-width:thin;scrollbar-color:#52685c #131c17;
}
.developers-shell .dg-code-scroll::-webkit-scrollbar,
.developers-shell .schemas2-code-window pre::-webkit-scrollbar,
.developers-shell .bae6-http-body pre::-webkit-scrollbar,
.developers-shell .depth38-code::-webkit-scrollbar{height:7px;width:7px}
.developers-shell .dg-code-scroll::-webkit-scrollbar-track,
.developers-shell .schemas2-code-window pre::-webkit-scrollbar-track,
.developers-shell .bae6-http-body pre::-webkit-scrollbar-track,
.developers-shell .depth38-code::-webkit-scrollbar-track{background:#131c17}
.developers-shell .dg-code-scroll::-webkit-scrollbar-thumb,
.developers-shell .schemas2-code-window pre::-webkit-scrollbar-thumb,
.developers-shell .bae6-http-body pre::-webkit-scrollbar-thumb,
.developers-shell .depth38-code::-webkit-scrollbar-thumb{background:#52685c;border-radius:6px}
/* Soft visual wraps preserve the source text exactly when copied. */
.developers-shell .dg-terminal .dg-code-scroll pre,
.developers-shell .schemas2-code-window pre,
.developers-shell .bae6-http-body pre,
.developers-shell .depth38-code{
 white-space:pre-wrap;overflow-wrap:anywhere;word-break:normal;min-width:0;
}
.developers-shell .dg-terminal .dg-code-scroll pre{max-width:100%}
.developers-shell .depth38-two{align-items:stretch}
.developers-shell .depth38-two>div{display:flex;flex-direction:column;min-width:0}
.developers-shell .depth38-two .depth38-code{width:100%;flex:1;margin-top:auto;min-height:190px}
@media(max-width:620px){.developers-shell .depth38-two .depth38-code{min-height:0}}

.developers-shell .api-r30-preview,
.developers-shell .api-r20-code pre,
.developers-shell .schemas2-json,
.developers-shell .a4-command{
 white-space:pre-wrap;overflow-wrap:anywhere;word-break:normal;min-width:0;max-width:100%;
 scrollbar-width:thin;scrollbar-color:#52685c #131c17;
}
.developers-shell .api-r30-preview .tok-command,
.developers-shell .a4-command .cmd{color:var(--dev-code-command)}
.developers-shell .api-r30-preview .tok-flag,
.developers-shell .a4-command .flag{color:var(--dev-code-flag)}
.developers-shell .api-r30-preview .tok-key{color:var(--dev-code-key)}
.developers-shell .api-r30-preview .tok-string,
.developers-shell .a4-command .file{color:var(--dev-code-string)}
.developers-shell .api-r30-preview .tok-punct{color:var(--dev-code-punct)}
.developers-shell .schemas2-json .syn-key{color:var(--dev-code-key)}
.developers-shell .schemas2-json .syn-string{color:var(--dev-code-string)}
.developers-shell .schemas2-json .syn-number{color:var(--dev-code-number)}
/* Preserve readable code widths when the compact API and schema views are narrow. */
.developers-shell.api-r34-page .api-r30-preview,
.developers-shell.api-r34-page .api-r30-preview code,
.developers-shell .depth38-schema-fragment pre,
.developers-shell .depth38-schema-fragment pre code,
.developers-shell .depth40-contract-fragment pre,
.developers-shell .depth40-contract-fragment pre code{
 white-space:pre-wrap;overflow-wrap:anywhere;word-break:normal;min-width:0;max-width:100%;
}

/* R57 · Code editors are continuous work surfaces: inherited prose-code
   backgrounds must not paint rectangular bands behind executable lines. */
html[data-theme] .developers-shell pre > code {
  background:transparent;
  background-color:transparent!important;
  border:0;
  border-radius:0;
  box-shadow:none;
  padding:0;
}

/* Home-derived Geist is the Developers navigation face as well. */
.developers-shell .developers-property-nav,
.developers-shell .developers-property-nav nav a,
.developers-shell .developers-property-nav__theme button {
  font-family:var(--pe-sans);
}

/* Motion belongs to navigational feedback, never to the reading surface.
   Colour changes are short, geometry stays fixed, and reduced motion wins. */
.developers-shell .developers-property-nav nav a,
.developers-shell .depth43-sequence-controls button {
  transition:color 140ms ease,background-color 140ms ease,border-color 140ms ease;
}
@media (prefers-reduced-motion:reduce) {
  .developers-shell .developers-property-nav nav a,
  .developers-shell .depth43-sequence-controls button {transition:none;}
}

/* R59 — Case URL breaks at path components, not inside a variable name.
   The rest of each shell pane retains its responsive soft-wrap fallback. */
.developers-shell.dg-page .dg-terminal .dg-code-scroll .syn-path-wrap {
  overflow-wrap:normal;
  word-break:normal;
}

/* On compact viewports, preserve readable jq fields and let the operation
   acknowledgement wrap at words rather than clip the final status. */
.developers-shell.dg-page .dg-terminal .dg-code-scroll .syn-jq-wrap {
  overflow-wrap:normal;
  word-break:normal;
}
.developers-shell.dg-page .dg-terminal .dg-terminal-foot strong {
  white-space:normal;
  min-width:0;
}
/* Compact shell panes gain a few characters without shrinking the code below
   its comfortable reading size or introducing horizontal scrolling. */
@media(max-width:430px){
 .developers-shell.dg-page .dg-terminal-large .dg-code-scroll pre{
  padding-inline:14px;
  font-size:12.4px;
 }
}

/* R60 — preserve the meaning of the paired operation statuses as one
   complete line on wide terminals, while allowing the explanation to wrap.
   Narrow terminal footers retain the existing stacked layout. */
@media (min-width:721px) {
  .developers-shell.dg-page .dg-terminal-large .dg-terminal-foot strong {
    white-space:nowrap;
    flex:0 0 auto;
  }
  .developers-shell.dg-page .dg-terminal-large .dg-terminal-foot span {
    min-width:0;
  }
}
