/* The mobile panels retain the desktop palette, routing, and native dialogs. */
.didww-nav-icon { width:22px; height:22px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
@media (max-width:991.98px) {
  /* The sheet body owns motion; the theme must not slide the dialog again. */
  :is(#pst-primary-sidebar-modal,#pst-secondary-sidebar-modal) { transition:none !important; animation:none !important; }
  :is(#pst-primary-sidebar-modal,#pst-secondary-sidebar-modal):not([open]) { display:none !important; }
  /* Full-screen sheets reveal the unchanged page as they slide, without dimming it. */
  :is(#pst-primary-sidebar-modal,#pst-secondary-sidebar-modal)::backdrop { background:transparent !important; backdrop-filter:none !important; }
  /* Only the dialogs render mobile sidebars, including while the theme restores DOM. */
  html[data-theme] body :is(#pst-primary-sidebar,#pst-secondary-sidebar) { display:none !important; visibility:hidden !important; transition:none !important; }
  html[data-theme] body:has(dialog.didww-mobile-menu[open]) { overflow:hidden !important; overscroll-behavior:none; }
  html[data-theme] body:has(dialog.didww-mobile-menu[open]) #pst-header { visibility:hidden; }
  html[data-theme] body:has(dialog.didww-mobile-menu[open]) #pst-header.didww-menu-shared-header { visibility:visible !important; }
  html[data-theme="light"] dialog.didww-mobile-menu { --menu-bg:#fff !important; --menu-toggle-icon-color:rgb(var(--didww-mint-gray-500,107 114 128)); --menu-icon-hover-color:rgb(var(--didww-mint-gray-600,75 85 99)); }
  html[data-theme="dark"] dialog.didww-mobile-menu { --menu-bg:var(--didww-bg-dark,#041225) !important; --menu-control-bg:var(--didww-card-surface,#091c32) !important; --menu-toggle-icon-color:var(--pst-color-text-base,#e9eaed); --menu-icon-hover-color:rgb(var(--didww-mint-gray-300,209 213 219)); }
  html[data-theme] body:has(dialog.didww-mobile-menu[open]) dialog.didww-mobile-menu[open] {
    --menu-bg:var(--pst-color-background); --menu-control-bg:var(--menu-bg); --menu-text:var(--pst-color-text-base); --menu-muted:var(--pst-color-text-muted); --menu-border:var(--pst-color-border);
    --menu-accent:var(--didww-sidebar-hover-color,#0066cc); --menu-hover:color-mix(in srgb,var(--menu-accent) 5%,var(--menu-bg));
    position:fixed !important; inset:0 !important; width:100% !important; min-width:0 !important; max-width:100% !important; height:100dvh !important; min-height:0 !important; max-height:100dvh !important;
    margin:0 !important; padding:0 !important; border:0 !important; border-radius:0 !important; display:flex !important; flex-direction:column !important; gap:0 !important; overflow:hidden !important; color:var(--menu-text) !important; background:var(--menu-bg) !important; box-sizing:border-box !important;
  }
  .didww-mobile-menu *, .didww-mobile-menu *::before, .didww-mobile-menu *::after { box-sizing:border-box; }
  html[data-theme] body:has(#pst-primary-sidebar-modal[open]) #pst-primary-sidebar-modal.didww-mobile-menu[open] .bd-links p.caption { padding-inline:12px !important; }
  html[data-theme] body:has(#pst-primary-sidebar-modal[open]) #pst-primary-sidebar-modal.didww-mobile-menu[open] { display:flex !important; flex-direction:column !important; align-items:stretch !important; background:transparent !important; }
  html[data-theme] body:has(#pst-primary-sidebar-modal[open]) #pst-primary-sidebar-modal.didww-mobile-menu[open] :is(.bd-docs-nav.bd-links,.bd-toc-item) { width:100% !important; max-width:100% !important; min-width:0 !important; margin:0 !important; padding:0 !important; }
  html[data-theme] dialog.didww-mobile-menu .bd-toc-item { width:100% !important; max-width:100% !important; min-width:0 !important; margin:0 !important; padding:0 !important; }
  dialog.didww-mobile-menu::before, dialog.didww-mobile-menu::after { display:none !important; }
  html[data-theme] body:has(#pst-primary-sidebar-modal[open]) #pst-primary-sidebar-modal.didww-mobile-menu[open]::before,
  html[data-theme] body:has(#pst-primary-sidebar-modal[open]) #pst-primary-sidebar-modal.didww-mobile-menu[open]::after { content:none !important; display:none !important; }
  /* Safari retains the old browser-bar tint for viewport-sized overlays. Give it
     smaller sticky/fixed edge surfaces whose colours follow the active theme. */
  .didww-mobile-menu .didww-menu-toolbar { position:sticky; top:0; display:flex; align-items:center; gap:8px; flex:0 0 var(--menu-header-height,64px); height:var(--menu-header-height,64px); padding:0 12px 0 calc(var(--menu-close-left,12px) + 52px); border:0; background:var(--menu-bg); z-index:2; }
  .didww-mobile-menu:not(.didww-menu-toc) .didww-menu-toolbar { animation:didww-menu-header-enter 240ms cubic-bezier(0.4,0,0.2,1) both; }
  .didww-mobile-menu.didww-menu-closing:not(.didww-menu-toc) .didww-menu-toolbar { animation:didww-menu-header-leave 240ms cubic-bezier(0.4,0,0.2,1) forwards; }
  .didww-menu-toolbar > #pst-header.didww-menu-shared-header { position:fixed !important; inset:0 0 auto !important; width:100% !important; height:var(--menu-header-height,64px) !important; margin:0 !important; padding:0 !important; }
  .didww-mobile-menu .didww-menu-brand { display:flex; align-items:center; flex:1 1 0%; min-width:0; margin:0; padding:0; }
  .didww-mobile-menu .didww-menu-brand img { max-width:100%; max-height:25px; width:auto; height:auto; }
  .didww-mobile-menu .didww-menu-brand .logo__title { display:none; }
  .didww-mobile-menu .didww-menu-control, .didww-mobile-menu .didww-menu-toolbar > .theme-switch-button { display:inline-flex !important; flex:0 0 44px; align-items:center !important; justify-content:center !important; width:44px !important; height:44px !important; min-width:44px !important; padding:0 !important; margin:0 !important; border:0 !important; border-radius:8px; background:transparent !important; color:rgb(var(--didww-mint-gray-500,107 114 128)) !important; box-shadow:none !important; cursor:pointer; }
  /* Retain the closed header's navigation and action icon greys, including hover. */
  html[data-theme] body:has(#pst-primary-sidebar-modal[open]) #pst-primary-sidebar-modal.didww-mobile-menu .didww-menu-toolbar > :is(.didww-menu-control,.theme-switch-button) { color:rgb(var(--didww-mint-gray-500,107 114 128)) !important; }
  html[data-theme] body:has(#pst-primary-sidebar-modal[open]) #pst-primary-sidebar-modal.didww-mobile-menu .didww-menu-toolbar > :is(.didww-menu-close,.secondary-toggle) { color:var(--menu-toggle-icon-color) !important; }
  html[data-theme] body:has(#pst-primary-sidebar-modal[open]) #pst-primary-sidebar-modal.didww-mobile-menu .didww-menu-toolbar > :is(.didww-menu-control,.theme-switch-button):hover { color:var(--menu-icon-hover-color) !important; }
  .didww-mobile-menu .didww-menu-close { position:absolute; left:var(--menu-close-left,12px); top:var(--menu-close-top,10px); }
  .didww-mobile-menu .didww-menu-toolbar > .theme-switch-button { margin-left:auto !important; }
  .didww-mobile-menu .didww-menu-toolbar > .didww-menu-restored-control { position:absolute !important; margin:0 !important; }
  .didww-menu-restored-control :is(.DocSearch-Button-Placeholder,.DocSearch-Button-Keys) { display:none !important; }
  .didww-menu-restored-control .DocSearch-Button-Container { display:contents !important; }
  .didww-menu-restored-control .DocSearch-Search-Icon { width:22px !important; height:22px !important; fill:none !important; stroke:currentColor !important; transform:translateY(.5px); }
  .didww-menu-restored-control .DocSearch-Search-Icon :is(circle,path) { stroke:currentColor !important; stroke-width:2.25 !important; }
  .didww-menu-restored-control.DocSearch-Button::before,.didww-menu-restored-control.DocSearch-Button::after { display:none !important; }
  .didww-mobile-menu .didww-menu-primary-switch { position:absolute; left:12px; top:var(--menu-close-top,10px); }
  .didww-mobile-menu .didww-menu-control:hover, .didww-mobile-menu .didww-menu-toolbar > .theme-switch-button:hover { background:var(--menu-hover) !important; }
  .didww-mobile-menu :is(a,button,summary):focus-visible { outline:2px solid var(--menu-accent) !important; outline-offset:-2px; }
  .didww-mobile-menu .didww-menu-body { position:relative; z-index:0; isolation:isolate; flex:1 1 auto; min-height:0; overflow-y:auto; overflow-x:hidden; overscroll-behavior:contain; touch-action:pan-y; padding:20px 12px max(24px,env(safe-area-inset-bottom)); background:var(--menu-bg); animation:didww-menu-enter 240ms cubic-bezier(0.4,0,0.2,1); }
  /* Keep the bottom tint surface inside the moving body, so it leaves with the
     sheet instead of creating a stationary strip during opening or closing. */
  .didww-mobile-menu .didww-menu-bottom-edge { position:fixed; inset:auto 0 0; height:max(24px,env(safe-area-inset-bottom)); background:var(--menu-bg); z-index:10000; }
  .didww-mobile-menu.didww-menu-closing .didww-menu-body { animation:didww-menu-leave 240ms cubic-bezier(0.4,0,0.2,1) forwards; }
  html[data-theme] dialog.didww-mobile-menu :is(.sidebar-header-items,.sidebar-header-items__center,.sidebar-primary-items__start,.sidebar-primary-items__end,.sidebar-primary-item,.sidebar-secondary-items,.sidebar-secondary-item) { margin:0 !important; padding:0 !important; width:100% !important; max-width:none !important; border:0 !important; background:transparent !important; overflow:visible !important; box-shadow:none !important; }
  .didww-mobile-menu .sidebar-header-items { display:block !important; }
  .didww-mobile-menu :is(.sidebar-header-items__end,.pst-sidebar-collapse,.bd-links__title) { display:none !important; }
  .didww-mobile-menu .didww-menu-section-picker { margin:0 0 16px; }
  .didww-mobile-menu .didww-menu-picker-label { margin:0 12px 8px; color:var(--menu-muted); font-size:.8rem; }
  .didww-mobile-menu .didww-menu-section-picker > summary { display:flex; align-items:center; justify-content:space-between; gap:12px; min-height:48px; padding:10px 12px; border:1px solid var(--menu-border); border-radius:8px; background:var(--menu-control-bg); color:var(--menu-text); font-size:1rem; line-height:1.5; font-weight:500; cursor:pointer; list-style:none; }
  .didww-mobile-menu summary::-webkit-details-marker { display:none; }
  .didww-mobile-menu .didww-menu-section-picker[open] > summary > svg { transform:rotate(180deg); }
  html[data-theme] body:has(#pst-primary-sidebar-modal[open]) #pst-primary-sidebar-modal.didww-mobile-menu .didww-menu-section-picker[open] .sidebar-header-items__center { margin:8px 0 0 !important; padding:4px !important; border:1px solid var(--menu-border) !important; border-radius:8px; background:var(--menu-control-bg) !important; }
  html[data-theme] dialog.didww-mobile-menu .didww-menu-section-picker > summary { font-size:1rem !important; line-height:1.5 !important; font-weight:400 !important; }
  html[data-theme] dialog.didww-mobile-menu :is(.bd-navbar-elements,.bd-sidenav,.section-nav) { display:block !important; width:100% !important; margin:0 !important; padding:0 !important; list-style:none; }
  html[data-theme] dialog.didww-mobile-menu :is(.nav-item,.bd-sidenav li) { margin:0 !important; padding:0 !important; width:100%; }
  html[data-theme] dialog.didww-mobile-menu :is(.bd-navbar-elements .nav-link,.bd-sidenav a,.bd-sidenav details > summary,.didww-menu-utility-link,.section-nav > li > a,.didww-menu-back) { display:flex !important; align-items:center; gap:8px; width:100% !important; min-height:46px; margin:0 !important; padding:10px 12px !important; border:0 !important; border-radius:8px; color:var(--menu-text); font-size:1rem; font-weight:400; line-height:1.5; text-align:left; text-decoration:none !important; box-shadow:none !important; background:transparent; cursor:pointer; }
  html[data-theme] dialog.didww-mobile-menu :is(.bd-navbar-elements .nav-link,.bd-sidenav a,.bd-sidenav details > summary,.didww-menu-utility-link,.section-nav > li > a,.didww-menu-back):hover { color:var(--menu-accent) !important; background:var(--menu-hover) !important; }
  html[data-theme] dialog.didww-mobile-menu :is(.bd-navbar-elements .current > .nav-link,.bd-sidenav .current > a,.bd-sidenav .current > details > summary,.section-nav a.active,.section-nav a[aria-current="true"]) { color:var(--menu-accent) !important; font-weight:400 !important; box-shadow:none !important; background:transparent !important; }
  #pst-primary-sidebar-modal.didww-mobile-menu .didww-menu-link-pending { color:var(--menu-accent) !important; }
  html[data-theme] dialog.didww-mobile-menu .bd-links p.caption { margin:20px 0 4px !important; padding:0 12px !important; color:var(--menu-text); font-size:1rem; font-weight:600; }
  html[data-theme] dialog.didww-mobile-menu .bd-sidenav .has-children > a { display:none !important; }
  .didww-mobile-menu .bd-sidenav details { display:block; width:100%; padding:0; margin:0; }
  html[data-theme] dialog.didww-mobile-menu .bd-sidenav details > summary { position:static !important; list-style:none; }
  .didww-mobile-menu .didww-menu-row-label { flex:1 1 auto; min-width:0; }
  html[data-theme] dialog.didww-mobile-menu .bd-sidenav details > summary { font-weight:400 !important; }
  html[data-theme] dialog.didww-mobile-menu .bd-sidenav details > ul a:not(.current) { color:var(--menu-muted); }
  .didww-mobile-menu details > summary > svg { width:18px; height:18px; flex:none; transition:transform 240ms cubic-bezier(0.4,0,0.2,1); }
  .didww-mobile-menu .didww-menu-disclosure-animating { overflow:clip !important; }
  .didww-mobile-menu details[data-menu-expanded="false"] > summary > svg { transform:rotate(0deg) !important; }
  .didww-mobile-menu .bd-sidenav details[open] > summary > svg { transform:rotate(180deg); }
  html[data-theme] dialog.didww-mobile-menu .bd-sidenav details > ul { margin:0 0 8px 24px !important; padding:0 0 0 8px !important; border-left:1px solid var(--menu-border); width:calc(100% - 24px) !important; }
  .didww-mobile-menu .didww-menu-popover { position:absolute; top:calc(var(--menu-header-height,64px) - 4px); right:12px; width:min(220px,calc(100vw - 24px)); padding:6px; border:1px solid var(--menu-border); border-radius:10px; color:var(--menu-text); background:var(--menu-control-bg); box-shadow:0 8px 24px rgb(0 0 0 / .12); z-index:4; }
  .didww-mobile-menu .didww-menu-popover[hidden] { display:none; }
  .didww-mobile-menu .didww-menu-home-title { margin:0 12px 12px; font-size:1.15rem; font-weight:600; }
  html[data-theme] dialog.didww-mobile-menu.didww-menu-home .bd-navbar-elements .nav-link { flex-wrap:wrap; column-gap:6px; row-gap:4px; padding-block:14px !important; }
  .didww-mobile-menu .didww-menu-category-preview { flex:0 0 100%; color:var(--menu-muted); font-size:.85rem; line-height:1.5; order:1; }
  #pst-primary-sidebar-modal.didww-mobile-menu.didww-menu-home .didww-menu-category-preview { color:var(--dh-muted,var(--menu-muted)) !important; }
  .didww-mobile-menu .bd-navbar-elements .nav-link[href$="mcp/index.html"]::after { order:0; align-self:center; width:34px !important; height:16px !important; }
  .didww-mobile-menu .sidebar-header-items__api-switcher { padding:0 !important; margin:12px 0 0 !important; }
  #pst-primary-sidebar-modal.didww-mobile-menu .didww-mint-api-switcher {
    --didww-switcher-bg:var(--menu-control-bg); --didww-switcher-bg-hover:var(--menu-control-bg); --didww-switcher-bg-active:var(--menu-control-bg);
    --didww-switcher-text:var(--menu-text); --didww-switcher-text-hover:var(--menu-text); --didww-switcher-border:var(--menu-border); --didww-switcher-border-hover:var(--menu-border);
  }
  .didww-mobile-menu .didww-mint-api-switcher--mobile { display:block !important; width:100% !important; }
  #pst-primary-sidebar-modal.didww-mobile-menu .didww-api-version-switcher { display:block !important; width:100%; }
  #pst-primary-sidebar-modal.didww-mobile-menu .didww-api-version-switcher__label { display:block !important; margin:0 12px 8px !important; font-size:.875rem !important; line-height:1.5 !important; font-weight:600 !important; color:var(--menu-muted) !important; }
  #pst-primary-sidebar-modal.didww-mobile-menu .didww-api-version-switcher__button { width:100% !important; max-width:100% !important; min-height:48px; display:flex !important; align-items:center; justify-content:space-between; gap:12px; margin:0 !important; padding:10px 12px !important; border:1px solid var(--menu-border) !important; border-radius:8px !important; background:var(--menu-control-bg) !important; color:var(--menu-text) !important; font-size:1rem !important; line-height:1.5 !important; font-weight:400 !important; box-shadow:none !important; }
  #pst-primary-sidebar-modal.didww-mobile-menu .didww-api-version-switcher__button .caret { display:none !important; }
  #pst-primary-sidebar-modal.didww-mobile-menu .didww-api-version-switcher__button::after {
    content:"" !important; display:block !important; width:18px; height:18px; flex:none; margin:0 !important; border:0 !important; background:currentColor !important; transform:rotate(0deg);
    mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") center/contain no-repeat;
    transition:transform 240ms cubic-bezier(0.4,0,0.2,1);
  }
  #pst-primary-sidebar-modal.didww-mobile-menu .didww-api-version-switcher__button[aria-expanded="true"]::after { transform:rotate(180deg); }
  #pst-primary-sidebar-modal.didww-mobile-menu .didww-api-version-switcher__button[data-menu-expanded="false"]::after { transform:rotate(0deg); }
  #pst-primary-sidebar-modal.didww-mobile-menu .didww-api-version-switcher__menu { position:static !important; transform:none !important; width:100%; min-width:0; max-height:none !important; margin-top:8px !important; padding:4px !important; border:1px solid var(--menu-border) !important; border-radius:8px; background:var(--menu-control-bg) !important; box-shadow:none !important; }
  #pst-primary-sidebar-modal.didww-mobile-menu .didww-api-version-switcher__menu a { font-size:1rem !important; line-height:1.5 !important; font-weight:400 !important; min-height:46px; padding:10px 12px !important; border:0; border-radius:8px; color:var(--menu-text) !important; background:transparent !important; }
  #pst-primary-sidebar-modal.didww-mobile-menu .didww-api-version-switcher__menu a.active { color:var(--menu-accent) !important; background:transparent !important; }
  #pst-primary-sidebar-modal.didww-mobile-menu .didww-api-version-switcher__menu a:hover { color:var(--menu-accent) !important; background:var(--menu-hover) !important; }
  .didww-mobile-menu.didww-menu-toc .didww-menu-toolbar { padding-left:64px; padding-right:64px; }
  html[data-theme] body:has(dialog.didww-mobile-menu[open]) dialog.didww-mobile-menu.didww-menu-toc[open] { background:transparent !important; }
  .didww-mobile-menu.didww-menu-toc .didww-menu-body { background:var(--menu-bg); animation:didww-toc-enter 180ms ease-out; }
  .didww-mobile-menu.didww-menu-toc.didww-menu-closing .didww-menu-body { animation:didww-toc-leave 140ms ease-in forwards; }
  .didww-mobile-menu .didww-menu-toolbar-title { font-weight:600; }
  .didww-mobile-menu .didww-menu-page-title { margin:0 12px 16px; color:var(--menu-text); font-size:1rem; font-weight:600; }
  html[data-theme] dialog.didww-mobile-menu #pst-page-toc-nav a.didww-menu-hidden-anchor { display:none !important; }
  html[data-theme] dialog.didww-mobile-menu .didww-toc-group > summary { display:flex; align-items:center; gap:8px; min-height:46px; padding:10px 12px; margin:0; list-style:none; cursor:pointer; border-radius:8px; font-size:1rem; line-height:1.5; font-weight:400; color:var(--menu-text); }
  .didww-mobile-menu .didww-toc-group > summary:hover { background:var(--menu-hover); color:var(--menu-accent); }
  .didww-mobile-menu .didww-toc-group[open] > summary > svg { transform:rotate(180deg); }
  .didww-mobile-menu .toc-entry:has(> a.active) > .didww-toc-group > summary,
  .didww-mobile-menu .didww-toc-group:has(a.active) > summary { color:var(--menu-accent) !important; }
  .didww-mobile-menu .onthispage { display:none; }
  html[data-theme] dialog.didww-mobile-menu .section-nav ul { display:block !important; padding-left:16px !important; }
  html[data-theme] dialog.didww-mobile-menu .section-nav a { color:var(--menu-text); }
  .didww-mobile-menu .didww-menu-back { margin-bottom:16px !important; color:var(--menu-accent) !important; }
  .didww-mobile-menu.didww-menu-toc .toc-entry { border-left:0 !important; }
}
@keyframes didww-menu-enter { from { transform:translateX(-100%); } to { transform:translateX(0); } }
@keyframes didww-menu-leave { from { transform:translateX(0); } to { transform:translateX(-100%); } }
@keyframes didww-menu-header-enter { from { background-color:var(--menu-header-background,var(--menu-bg)); } to { background-color:var(--menu-bg); } }
@keyframes didww-menu-header-leave { from { background-color:var(--menu-header-leave-from,var(--menu-bg)); } to { background-color:var(--menu-header-background,var(--menu-bg)); } }
@keyframes didww-toc-enter { from { transform:translateX(100%); } to { transform:translateX(0); } }
@keyframes didww-toc-leave { from { transform:translateX(0); } to { transform:translateX(100%); } }
@media (prefers-reduced-motion:reduce) { .didww-mobile-menu .didww-menu-body, .didww-mobile-menu .didww-menu-toolbar { animation:none !important; } .didww-mobile-menu summary > svg, .didww-mobile-menu .didww-api-version-switcher__button::after { transition:none !important; } }
