/* Home, Tools, Community and public privacy intake reserve a header row for help.
   Collapsed controls must never
   cover a directory tile, introductory text or call to action while scrolling. */
.pa-page-help-slot {
  padding-top: 0.25rem;
  padding-bottom: 0.5rem;
}

.pa-helpbot[data-pa-helpbot-placement="header-inline"] {
  position: static;
  inset: auto;
  display: flex;
  justify-content: flex-end;
  flex-wrap: wrap;
  gap: 0.45rem;
}

.pa-helpbot[data-pa-helpbot-placement="header-inline"][hidden] {
  display: none;
}

.pa-helpbot[data-pa-helpbot-placement="header-inline"]
  :is(.pa-tutorial-launcher, .pa-helpbot-launcher) {
  width: auto;
  min-width: 44px;
  min-height: 44px;
  height: auto;
  padding: 0.5rem 0.65rem;
}

.pa-helpbot[data-pa-helpbot-placement="header-inline"]
  :is(.pa-tutorial-launcher, .pa-helpbot-launcher) > span {
  display: inline;
}

.pa-helpbot[data-pa-helpbot-placement="header-inline"]
  :is(.pa-tutorial-panel, .pa-helpbot-panel) {
  position: fixed;
  top: calc(8rem + env(safe-area-inset-top, 0px));
  right: max(0.65rem, env(safe-area-inset-right));
  bottom: auto;
  max-height: calc(100dvh - 9rem - env(safe-area-inset-top, 0px) - env(safe-area-inset-bottom, 0px));
}

@media (max-width: 1199.98px) {
  /* Expanded navigation also reserves the inline Help row within the viewport. */
  .pa-site-header:has(.pa-page-help-slot) #primaryNav.ecosystem-nav__collapse.collapse {
    max-height: calc(100vh - 11.5rem - env(safe-area-inset-bottom, 0px));
    max-height: calc(100dvh - 11.5rem - env(safe-area-inset-bottom, 0px));
  }

  .pa-site-header:has(.pa-page-help-slot) .ecosystem-nav__menu--mobile {
    min-width: 0;
    max-width: 100%;
  }
}

/* Shared AI-assisted Guide and Quick Start composition. */
.pa-helpbot {
  --pa-guide-ink: #071d28;
  --pa-guide-copy: #526970;
  --pa-guide-line: #bfd1d3;
  --pa-guide-teal: #087e8a;
  --pa-guide-teal-deep: #075d66;
  --pa-guide-aqua: #65ddd4;
  --pa-guide-night: #071c24;
  --pa-guide-paper: #fbfdfc;
  --pa-guide-soft: #eaf4f3;
  z-index: 1095;
  gap: 0.6rem;
  color-scheme: light;
}

/* Let the final footer links scroll above the collapsed help controls. Reserve
   only their footprint, and only on pages where the helper is present; consent
   hides the controls and must not leave an otherwise unnecessary spacer. */
body:has(> .pa-helpbot:not([hidden])):not(:has(> .pa-cookie-banner))
  > .pa-footer .pa-footer-bottom {
  padding-bottom: calc(5rem + env(safe-area-inset-bottom, 0px));
}

body:has(> .pa-helpbot:not([hidden]) > .pa-tutorial-launcher):not(:has(> .pa-cookie-banner))
  > .pa-footer .pa-footer-bottom {
  padding-bottom: calc(8.5rem + env(safe-area-inset-bottom, 0px));
}

/* At desktop widths the collapsed controls occupy the lower-right corner.
   Keep the footer utility links in the remaining readable row instead of
   also reserving their full height below the text. The body class lets this
   rule override the two-launcher clearance and later page-specific polish. */
@media (min-width: 900px) {
  body.pa-body:has(> .pa-helpbot:not([hidden])):not(:has(> .pa-cookie-banner))
    > .pa-footer .pa-footer-bottom {
    padding-right: 10.5rem;
    padding-bottom: calc(1.5rem + env(safe-area-inset-bottom, 0px));
  }
}

.pa-helpbot :is(button, textarea, a) {
  font-family: "Manrope", "Segoe UI", system-ui, sans-serif;
}

.pa-helpbot .pa-tutorial-launcher,
.pa-helpbot .pa-helpbot-launcher {
  min-height: 3.15rem;
  min-width: 9rem;
  padding: 0 1rem;
  display: inline-flex;
  align-items: center;
  gap: 0.55rem;
  border: 1px solid rgba(101, 221, 212, 0.34);
  border-radius: 8px;
  background: var(--pa-guide-night);
  color: #f3fbfa;
  box-shadow: 0 16px 40px rgba(4, 25, 32, 0.24);
  font-size: 0.82rem;
  font-weight: 900;
  letter-spacing: 0.01em;
  animation: none;
}

.pa-helpbot .pa-helpbot-launcher {
  border-color: #aec7ca;
  background: rgba(251, 253, 252, 0.97);
  color: var(--pa-guide-teal-deep);
  box-shadow: 0 14px 36px rgba(7, 29, 40, 0.16);
}

.pa-helpbot .pa-tutorial-launcher i {
  color: var(--pa-guide-aqua);
}

.pa-helpbot .pa-helpbot-launcher i {
  color: var(--pa-guide-teal);
}

/* Keep both named controls discoverable at every viewport, including the
   compact mobile shell. The tutorial is a separate step-by-step experience. */
.pa-helpbot :is(.pa-tutorial-launcher, .pa-helpbot-launcher) span {
  display: inline;
}

.pa-helpbot :is(.pa-tutorial-launcher, .pa-helpbot-launcher):is(:hover, :focus-visible),
.pa-helpbot :is(.pa-tutorial-launcher, .pa-helpbot-launcher)[aria-expanded="true"] {
  border-color: var(--pa-guide-aqua);
  background: #0b2b33;
  color: #fff;
  outline: 3px solid rgba(8, 126, 138, 0.22);
  outline-offset: 2px;
  transform: translateY(-1px);
}

.pa-helpbot .pa-tutorial-panel,
.pa-helpbot .pa-helpbot-panel {
  width: min(calc(100vw - 2rem), 30rem);
  max-width: 100%;
  overflow: hidden;
  color: var(--pa-guide-ink);
  border: 1px solid #9fbabd;
  border-radius: 8px;
  background: var(--pa-guide-paper);
  box-shadow: 0 28px 72px rgba(3, 24, 31, 0.28);
}

/* Let the conversation grow with its answers so readers use one panel scroll,
   alongside choices, sources, privacy details and the composer. */
.pa-helpbot .pa-helpbot-panel {
  display: block;
  max-height: min(48rem, calc(100vh - 9rem));
  max-height: min(48rem, calc(100dvh - 9rem));
  overflow-y: auto;
  overscroll-behavior-y: contain;
  scrollbar-gutter: stable;
}

.pa-helpbot .pa-helpbot-panel[hidden] {
  display: none;
}

/* Keep the body as a real layout box. The themed dialog scrolls this body;
   Home and Studio continue to scroll the panel itself. */
.pa-helpbot-panel-body {
  display: block;
}

.pa-helpbot .pa-helpbot-panel > .pa-helpbot-head {
  position: sticky;
  top: 0;
  z-index: 1;
}

.pa-helpbot .pa-tutorial-panel {
  grid-template-rows: auto minmax(0, 1fr);
  gap: 0;
  max-height: min(760px, calc(100vh - 9rem));
  max-height: min(760px, calc(100dvh - 9rem));
  padding: 0;
  pointer-events: auto;
}

.pa-helpbot .pa-tutorial-panel-head,
.pa-helpbot .pa-helpbot-head {
  min-height: 5rem;
  padding: 1rem 1.1rem;
  border: 0;
  border-bottom: 1px solid rgba(101, 221, 212, 0.2);
  background:
    linear-gradient(rgba(101, 221, 212, 0.045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(101, 221, 212, 0.045) 1px, transparent 1px),
    var(--pa-guide-night);
  background-size: 28px 28px, 28px 28px, auto;
}

body:not(.pa-protected-workspace) .pa-helpbot .pa-tutorial-panel-head span,
body:not(.pa-protected-workspace) .pa-helpbot .pa-helpbot-kicker {
  color: var(--pa-guide-aqua) !important;
  font-size: 0.64rem;
  font-weight: 900;
  letter-spacing: 0.13em;
  text-transform: uppercase;
}

body:not(.pa-protected-workspace) .pa-helpbot .pa-tutorial-panel-head strong,
body:not(.pa-protected-workspace) .pa-helpbot .pa-helpbot-head strong {
  margin-top: 0.2rem;
  color: #fff !important;
  font-size: 1.05rem;
}

.pa-helpbot .pa-helpbot-icon-button {
  width: 44px;
  min-width: 44px;
  height: 44px;
  border-color: rgba(202, 237, 233, 0.24);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.06);
  color: #c4d9d8;
}

.pa-helpbot .pa-helpbot-icon-button:is(:hover, :focus-visible) {
  border-color: var(--pa-guide-aqua);
  background: rgba(101, 221, 212, 0.12);
  color: #fff;
}

.pa-helpbot .pa-tutorial-paths {
  gap: 1px;
  min-height: 0;
  overflow-y: auto;
  overscroll-behavior: contain;
  padding: 1px;
  background: var(--pa-guide-line);
  scrollbar-gutter: stable;
  -webkit-overflow-scrolling: touch;
}

.pa-helpbot .pa-tutorial-paths__optional {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1px;
  background: var(--pa-guide-line);
}

.pa-helpbot .pa-tutorial-paths__optional-label {
  grid-column: 1 / -1;
  padding: 0.55rem 0.9rem;
  background: #edf5f4;
  color: var(--pa-guide-teal-deep);
  font-size: 0.65rem;
  font-weight: 900;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.pa-helpbot .pa-tutorial-path {
  min-height: 4.7rem;
  padding: 0.8rem 0.9rem;
  grid-template-columns: 2.4rem minmax(0, 1fr);
  gap: 0.75rem;
  border: 0;
  border-radius: 0;
  background: var(--pa-guide-paper);
  color: var(--pa-guide-ink);
}

.pa-helpbot .pa-tutorial-path--compact {
  min-height: 5.1rem;
  padding: 0.7rem;
  grid-template-columns: 2rem minmax(0, 1fr);
  gap: 0.55rem;
}

.pa-helpbot .pa-tutorial-path.pa-tutorial-path--compact i {
  width: 2rem;
  height: 2rem;
}

.pa-helpbot .pa-tutorial-path i {
  width: 2.4rem;
  height: 2.4rem;
  border: 1px solid #b8cdcf;
  border-radius: 8px;
  background: var(--pa-guide-soft);
  color: var(--pa-guide-teal);
  box-shadow: none;
}

body:not(.pa-protected-workspace) .pa-helpbot .pa-tutorial-path strong {
  color: var(--pa-guide-ink) !important;
  font-size: 0.86rem;
}

body:not(.pa-protected-workspace) .pa-helpbot .pa-tutorial-path small {
  color: var(--pa-guide-copy) !important;
  font-size: 0.72rem;
  line-height: 1.45;
}

.pa-helpbot .pa-tutorial-path:is(:hover, :focus-visible) {
  border: 0;
  background: #e2f2f0;
  color: var(--pa-guide-ink);
  box-shadow: inset 4px 0 0 var(--pa-guide-teal);
  outline: 2px solid var(--pa-guide-teal);
  outline-offset: -2px;
  transform: none;
}

.pa-helpbot .pa-helpbot-messages {
  height: auto;
  overflow-y: visible;
  gap: 0.75rem;
  background:
    linear-gradient(rgba(8, 126, 138, 0.028) 1px, transparent 1px),
    linear-gradient(90deg, rgba(8, 126, 138, 0.028) 1px, transparent 1px),
    #f3f8f7;
  background-size: 36px 36px, 36px 36px, auto;
}

body:not(.pa-protected-workspace) .pa-helpbot .pa-helpbot-message span {
  color: #657b81 !important;
}

.pa-helpbot .pa-helpbot-bubble {
  border-color: #bfd0d2;
  border-radius: 8px;
  background: #fff;
  color: #253d46;
  box-shadow: 0 8px 22px rgba(7, 29, 40, 0.06);
}

.pa-helpbot .pa-helpbot-message.is-assistant {
  max-width: 100%;
}

.pa-helpbot .pa-helpbot-message.is-user .pa-helpbot-bubble {
  border-color: var(--pa-guide-teal-deep);
  background: var(--pa-guide-teal-deep);
  color: #fff;
}

.pa-helpbot .pa-helpbot-quick,
.pa-helpbot .pa-helpbot-links,
.pa-helpbot .pa-helpbot-note {
  border-color: var(--pa-guide-line);
  background: #edf5f4;
}

.pa-helpbot .pa-helpbot-quick {
  padding-top: 0.8rem;
}

.pa-helpbot .pa-helpbot-human {
  align-items: center;
  justify-content: space-between;
  gap: 0.55rem;
  padding-top: 0.65rem;
}

body:not(.pa-protected-workspace) .pa-helpbot .pa-helpbot-human span {
  color: #4f676f !important;
  font-size: 0.74rem;
  font-weight: 750;
}

.pa-helpbot .pa-helpbot-sources {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.35rem 0.55rem;
  padding: 0.65rem 0.9rem;
  border-top: 1px solid var(--pa-guide-line);
  background: #f7fbfa;
  color: #5b7278;
  font-size: 0.74rem;
}

.pa-helpbot .pa-helpbot-sources[hidden] {
  display: none;
}

.pa-helpbot .pa-helpbot-sources span {
  font-weight: 800;
}

body:not(.pa-protected-workspace) .pa-helpbot .pa-helpbot-sources a {
  color: var(--pa-guide-teal-deep) !important;
  font-weight: 800;
  text-decoration-thickness: 1px;
  text-underline-offset: 0.14em;
}

.pa-helpbot .pa-helpbot-quick button,
body:not(.pa-protected-workspace) .pa-helpbot .pa-helpbot-quick a,
body:not(.pa-protected-workspace) .pa-helpbot .pa-helpbot-links a {
  display: inline-flex;
  align-items: center;
  border-color: #a8c4c7;
  border-radius: 8px;
  background: #fff;
  color: var(--pa-guide-teal-deep) !important;
  font-size: 0.76rem;
  font-weight: 850;
  padding: 0.42rem 0.62rem;
  text-decoration: none;
}

.pa-helpbot .pa-helpbot-quick button:is(:hover, :focus-visible),
body:not(.pa-protected-workspace) .pa-helpbot .pa-helpbot-quick a:is(:hover, :focus-visible),
body:not(.pa-protected-workspace) .pa-helpbot .pa-helpbot-links a:is(:hover, :focus-visible) {
  border-color: var(--pa-guide-teal);
  background: #dff1ef;
  color: var(--pa-guide-teal-deep) !important;
}

body:not(.pa-protected-workspace) .pa-helpbot .pa-helpbot-note {
  color: #5b7278 !important;
}

.pa-helpbot .pa-helpbot-form {
  position: sticky;
  bottom: 0;
  z-index: 2;
  width: 100%;
  min-width: 0;
  box-sizing: border-box;
  grid-template-columns: minmax(0, 1fr) 44px;
  align-items: end;
  border-color: var(--pa-guide-line);
  background: #fff;
}

.pa-helpbot .pa-helpbot-form textarea {
  width: 100%;
  min-width: 0;
  min-height: 6rem;
  max-height: 12rem;
  box-sizing: border-box;
  border-color: #a9c1c4;
  border-radius: 8px;
  background: #f8fbfa;
  color: var(--pa-guide-ink);
}

.pa-helpbot .pa-helpbot-form textarea:focus {
  border-color: var(--pa-guide-teal);
  box-shadow: 0 0 0 0.2rem rgba(8, 126, 138, 0.14);
}

html[data-pa-theme="dark"] body:not(.pa-protected-workspace) .pa-helpbot .pa-helpbot-form textarea {
  color: var(--pa-guide-ink) !important;
  border-color: #a9c1c4 !important;
  background: #f8fbfa !important;
}

html[data-pa-theme="dark"] body:not(.pa-protected-workspace) .pa-helpbot .pa-helpbot-form textarea::placeholder {
  color: #60777d !important;
}

html[data-pa-theme="dark"] body:not(.pa-protected-workspace) .pa-helpbot .pa-helpbot-form textarea:focus {
  color: var(--pa-guide-ink) !important;
  border-color: var(--pa-guide-teal) !important;
  background: #fff !important;
  box-shadow: 0 0 0 0.2rem rgba(8, 126, 138, 0.14);
}

.pa-helpbot .pa-helpbot-form button {
  width: 44px;
  min-height: 44px;
  border-radius: 8px;
  background: var(--pa-guide-teal-deep);
  color: #fff;
}

.driver-popover.pa-driver-popover {
  max-height: calc(100dvh - 24px);
  overflow: hidden;
  overscroll-behavior: contain;
  animation: none;
  border-color: rgba(8, 126, 138, 0.48);
  border-radius: 8px;
  background:
    linear-gradient(rgba(8, 126, 138, 0.035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(8, 126, 138, 0.035) 1px, transparent 1px),
    #fbfdfc;
  background-size: 32px 32px, 32px 32px, auto;
}

.pa-helpbot-source-empty {
  margin: 0;
  padding: .5rem .9rem;
  color: var(--bs-body-color, #243f48);
  font-size: .75rem;
}
.pa-helpbot-sources:not([hidden]) + .pa-helpbot-source-empty { display: none; }
.pa-tour-target-note { padding: .65rem; border-left: 3px solid #087e8a; background: #e5f3f2; color: #17353e; }

.driver-popover.pa-driver-popover .driver-popover-close-btn {
  width: 44px;
  height: 44px;
  min-width: 44px;
  min-height: 44px;
  z-index: 2;
}
.driver-popover.pa-driver-popover .driver-popover-footer button { min-height: 44px; }
.driver-popover.pa-driver-popover:not([style*="display: none"]) { display: flex !important; flex-direction: column; }
.driver-popover.pa-driver-popover .driver-popover-title { flex: 0 0 auto; }
.driver-popover.pa-driver-popover .driver-popover-description { min-height: 0; overflow-y: auto; overscroll-behavior: contain; }
.driver-popover.pa-driver-popover :is(.pa-tour-heading, .pa-tour-kicker) { animation: none; }
.driver-popover.pa-driver-popover .driver-popover-footer {
  flex: 0 0 auto;
  background: #fbfdfc;
  padding-block: .5rem;
}

.driver-popover.pa-driver-popover::before {
  background: linear-gradient(90deg, #087e8a, #65ddd4);
}

.driver-popover.pa-driver-popover .pa-tour-kicker,
.driver-popover.pa-driver-popover .driver-popover-next-btn {
  background: #087e8a;
  color: #fff;
}

.driver-popover.pa-driver-popover .pa-tour-heading,
.driver-popover.pa-driver-popover .driver-popover-title {
  color: #071d28;
}

.driver-popover.pa-driver-popover .driver-popover-description {
  color: #4f666e;
}

.driver-popover.pa-driver-popover .pa-tour-reviewed-source {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 0.2rem 0.75rem;
  align-items: center;
  margin-top: 0.9rem;
  padding-top: 0.8rem;
  border-top: 1px solid #c8dadd;
}

.driver-popover.pa-driver-popover .pa-tour-reviewed-source__label {
  grid-column: 1 / -1;
  margin: 0;
  color: #60777d;
  font-size: 0.62rem;
  font-weight: 900;
  letter-spacing: 0.11em;
  text-transform: uppercase;
}

.driver-popover.pa-driver-popover .pa-tour-reviewed-source a {
  color: #075d66;
  font-size: 0.78rem;
  font-weight: 900;
  text-decoration-thickness: 1px;
  text-underline-offset: 0.16em;
}

.driver-popover.pa-driver-popover .pa-tour-reviewed-source small {
  display: block;
  grid-column: 1;
  color: #657a80;
  font-size: 0.68rem;
  line-height: 1.35;
}

.driver-popover.pa-driver-popover .pa-tour-ask-guide {
  grid-column: 2;
  grid-row: 2 / span 2;
  align-self: center;
  min-height: 2.15rem;
  padding: 0.4rem 0.65rem;
  border: 1px solid #8db7bb;
  border-radius: 8px;
  background: #e5f3f2;
  color: #075d66;
  font-size: 0.7rem;
  font-weight: 900;
}

.driver-popover.pa-driver-popover .pa-tour-ask-guide:is(:hover, :focus-visible) {
  border-color: #087e8a;
  background: #d7eeec;
  outline: 2px solid rgba(8, 126, 138, 0.22);
  outline-offset: 2px;
}

@media (max-width: 575.98px) {
  .pa-helpbot {
    right: max(0.65rem, env(safe-area-inset-right));
    bottom: max(0.65rem, env(safe-area-inset-bottom));
    grid-template-columns: repeat(2, 3rem);
    justify-content: end;
    gap: 0.45rem;
  }

  .pa-helpbot:not([data-pa-helpbot-placement="studio-inline"], [data-pa-helpbot-placement="header-inline"])
    :is(.pa-tutorial-launcher, .pa-helpbot-launcher) {
    width: 3rem;
    min-width: 3rem;
    height: 3rem;
    min-height: 3rem;
    justify-content: center;
    padding: 0;
  }

  .pa-helpbot:not([data-pa-helpbot-placement="studio-inline"], [data-pa-helpbot-placement="header-inline"])
    :is(.pa-tutorial-launcher, .pa-helpbot-launcher) > span {
    display: none;
  }

  .pa-helpbot:not([data-pa-helpbot-placement="studio-inline"], [data-pa-helpbot-placement="header-inline"])
    :is(.pa-tutorial-panel, .pa-helpbot-panel) {
    grid-column: 1 / -1;
    position: fixed;
    top: calc(6rem + env(safe-area-inset-top, 0px));
    right: max(0.65rem, env(safe-area-inset-right));
    bottom: calc(4.1rem + env(safe-area-inset-bottom, 0px));
    max-height: calc(100dvh - 10.5rem - env(safe-area-inset-top, 0px) - env(safe-area-inset-bottom, 0px));
  }

  .pa-helpbot .pa-tutorial-panel,
  .pa-helpbot .pa-helpbot-panel {
    width: min(calc(100vw - 2rem), 30rem);
    max-height: calc(100vh - 9rem);
    max-height: calc(100dvh - 9rem);
  }

  .driver-popover.pa-driver-popover .pa-tour-reviewed-source {
    grid-template-columns: minmax(0, 1fr);
  }

  .driver-popover.pa-driver-popover .pa-tour-ask-guide {
    grid-column: 1;
    grid-row: auto;
    justify-self: start;
  }

  body:has(> .pa-helpbot:not([hidden])):not(:has(> .pa-cookie-banner))
    > .pa-footer .pa-footer-bottom,
  body:has(> .pa-helpbot:not([hidden]) > .pa-tutorial-launcher):not(:has(> .pa-cookie-banner))
    > .pa-footer .pa-footer-bottom {
    padding-bottom: calc(4.5rem + env(safe-area-inset-bottom, 0px));
  }
}

@media (prefers-reduced-motion: reduce) {
  .pa-helpbot *,
  .driver-popover.pa-driver-popover {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
}

/* Final responsive presentation guards.
   The public page shell has a small default top inset, but these two routes
   begin with an edge-to-edge hero and should meet the navigation directly. */
.pa-misprint-page,
.pa-print-shops-page {
  padding-top: 0 !important;
}

/* The quote-dossier caption sits on a dark cinematic wash after the shared
   full-bleed composition is applied. Keep all three caption levels explicit. */
body:not(.pa-protected-workspace)
  .pa-quote-dossier-hero .pa-quote-dossier-hero__media figcaption strong {
  color: #fbfdfe !important;
}

body:not(.pa-protected-workspace)
  .pa-quote-dossier-hero .pa-quote-dossier-hero__media figcaption span {
  color: #64dcd4 !important;
}

body:not(.pa-protected-workspace)
  .pa-quote-dossier-hero .pa-quote-dossier-hero__media figcaption small {
  color: #d9e9ef !important;
}

/* Keep the two launchers at the edge without removing the tutorial or its
   label at ordinary laptop widths. */
@media (min-width: 900px) and (max-width: 1599.98px) {
  .pa-helpbot {
    right: max(0.35rem, env(safe-area-inset-right));
    bottom: max(0.35rem, env(safe-area-inset-bottom));
    gap: 0.3rem;
  }
}

/* Studio owns a reserved toolbar slot. Collapsed help never floats over print
   settings or downloads, even while the module-built shell is still loading. */
.pa-workspace-help-slot {
  display: flex;
  flex: 0 0 auto;
  align-items: center;
  min-width: 0;
}

.pa-helpbot[data-pa-helpbot-placement="studio-inline"] {
  position: static;
  inset: auto;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  gap: 4px;
  width: auto;
  min-width: 0;
}

.pa-helpbot[data-pa-helpbot-placement="studio-inline"][hidden] {
  display: none;
}

.pa-helpbot[data-pa-helpbot-placement="studio-inline"] :is(.pa-tutorial-launcher, .pa-helpbot-launcher) {
  flex: 0 0 auto;
  width: auto;
  min-width: 44px;
  height: 44px;
  min-height: 44px;
  padding: 0 10px;
  border-radius: 8px;
  box-shadow: none;
  font-size: 0.75rem;
}

.pa-helpbot[data-pa-helpbot-placement="studio-inline"] :is(.pa-tutorial-launcher, .pa-helpbot-launcher) > i {
  font-size: 1rem;
}

/* Only an explicitly opened guide is a viewport overlay. Keep the original
   subtree so Escape, shared close behavior and focus return stay connected. */
.pa-helpbot[data-pa-helpbot-placement="studio-inline"] :is(.pa-tutorial-panel, .pa-helpbot-panel) {
  position: fixed;
  z-index: 3100;
  top: auto;
  left: auto;
  right: max(0.75rem, env(safe-area-inset-right));
  bottom: max(0.75rem, env(safe-area-inset-bottom));
  width: min(30rem, calc(100vw - 1.5rem));
  max-width: calc(100vw - 1.5rem);
  max-height: calc(100vh - 1.5rem);
  max-height: calc(100dvh - 1.5rem);
  white-space: normal;
}

.pa-studio-workspace-shell .pa-studio-commandbar:has(.pa-helpbot[data-pa-helpbot-placement="studio-inline"] > :is(.pa-tutorial-panel, .pa-helpbot-panel):not([hidden])) {
  overflow: visible !important;
}

/* Toolbar-wide element rules must not turn guide content into icon badges or
   truncate multi-line tutorial choices. The guide retains its shared theme. */
.pa-helpbot[data-pa-helpbot-placement="studio-inline"] :is(.pa-tutorial-panel, .pa-helpbot-panel) span {
  width: auto;
  height: auto;
  margin-right: 0;
  border-radius: 0;
  background: transparent;
  color: inherit;
}

.pa-helpbot[data-pa-helpbot-placement="studio-inline"] .pa-tutorial-path {
  display: grid;
  height: auto;
  white-space: normal;
}

/* The toolbar and protected workspace both set descendant text colors. These
   dark guide headers own their foreground/background pair in every theme. */
.pa-helpbot[data-pa-helpbot-placement="studio-inline"] :is(#pa-tutorial-panel, #pa-helpbot-panel) :is(.pa-tutorial-panel-head, .pa-helpbot-head) {
  background: #071c24 !important;
  color: #f3fbfa !important;
}

.pa-helpbot[data-pa-helpbot-placement="studio-inline"] :is(#pa-tutorial-panel, #pa-helpbot-panel) :is(.pa-tutorial-panel-head, .pa-helpbot-head) strong {
  color: #f3fbfa !important;
}

.pa-helpbot[data-pa-helpbot-placement="studio-inline"] :is(#pa-tutorial-panel, #pa-helpbot-panel) :is(.pa-tutorial-panel-head, .pa-helpbot-head) span {
  display: block;
  color: #65ddd4 !important;
}

.pa-helpbot[data-pa-helpbot-placement="studio-inline"] :is(#pa-tutorial-panel, #pa-helpbot-panel) .pa-helpbot-icon-button {
  width: 44px;
  min-width: 44px;
  height: 44px;
  min-height: 44px;
  color: #f3fbfa !important;
}

/* Direct Edit is a body-level floating launcher, outside the Studio stacking
   context. Suppress only that shortcut while a guide is visibly open; closing
   the guide restores it without mutating its own open/close state. */
body:has(.pa-helpbot[data-pa-helpbot-placement="studio-inline"]:not([hidden]) > :is(.pa-tutorial-panel, .pa-helpbot-panel):not([hidden])) > .pp-direct-editor-launcher {
  visibility: hidden !important;
  pointer-events: none !important;
}

.pa-helpbot[data-pa-helpbot-placement="studio-inline"] .pa-tutorial-path > span {
  display: block;
  text-align: left;
}

.pa-helpbot[data-pa-helpbot-placement="studio-inline"] :is(.pa-helpbot-quick, .pa-helpbot-links, .pa-helpbot-sources) :is(button, a) {
  height: auto;
  min-height: 44px;
  white-space: normal;
}

@media (max-width: 1599.98px) {
  .pa-helpbot[data-pa-helpbot-placement="studio-inline"] :is(.pa-tutorial-launcher, .pa-helpbot-launcher) {
    width: 44px;
    padding: 0;
  }

  .pa-helpbot[data-pa-helpbot-placement="studio-inline"] :is(.pa-tutorial-launcher, .pa-helpbot-launcher) > span {
    display: none;
  }
}

/* Mobile Studio has a persistent 64px mode-navigation row. Keep both guide
   panels, including their sticky composer, above that row and the safe area. */
@media (max-width: 700px) {
  .pa-helpbot[data-pa-helpbot-placement="studio-inline"] :is(.pa-tutorial-panel, .pa-helpbot-panel) {
    bottom: calc(72px + env(safe-area-inset-bottom, 0px));
    max-height: calc(100vh - 96px - env(safe-area-inset-bottom, 0px));
    max-height: calc(100dvh - 96px - env(safe-area-inset-bottom, 0px));
  }
}

/* Task-oriented reference pages retain their authored media while giving
   search, chapter links, and the actual support form the first-screen space. */
html[data-pa-theme] #main-content#main-content .pa-help-task-page > :is(.pa-menu-hero, .pa-page-hero, .pa-contact-hero):not(.pa-connect-decision-hero) {
  min-height: 0 !important;
  height: auto !important;
}

html[data-pa-theme] #main-content#main-content .pa-help-task-page > .pa-menu-hero > .pa-menu-hero__copy {
  padding-block: clamp(1.5rem, 3vw, 3rem) !important;
}

html[data-pa-theme] #main-content#main-content .pa-help-task-page h1 {
  max-width: 24ch !important;
  font-size: clamp(2.1rem, 3.4vw, 3.5rem) !important;
  line-height: 1.08 !important;
  letter-spacing: -0.035em;
  text-wrap: balance;
}

.pa-help-task-page .pa-help-task-links {
  display: flex;
  flex-wrap: wrap;
  gap: 0.25rem 1.25rem;
  margin-top: 1rem;
}

.pa-help-task-page .pa-help-task-links a {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  color: inherit;
  font-size: 0.95rem;
  font-weight: 650;
  text-decoration: underline;
  text-underline-offset: 0.2em;
}

.pa-help-task-page .pa-help-task-details {
  padding: 0.5rem 0;
  font-size: 0.9rem;
}

.pa-help-task-page .pa-help-task-details summary {
  min-height: 44px;
  padding-block: 0.65rem;
  cursor: pointer;
}

.pa-help-task-page .pa-help-task-details p {
  max-width: 80ch;
  line-height: 1.6;
}

.pa-contact-page.pa-help-task-page .pa-contact-help-column .pa-contact-route-list {
  grid-template-columns: 1fr;
  margin-top: 1rem;
}

.pa-help-task-page :is(.pa-guides-manual__edition, .pa-help-router__routes > .pa-section-intro) {
  margin-top: 1rem;
}

/* The directory opens with text and search; the retained specimen image is
   below the controls, so the opener no longer needs an empty media column. */
html[data-pa-theme] #main-content#main-content .pa-misprint-page.pa-help-task-page > .pa-light-section:first-child {
  padding-block: clamp(2rem, 3vw, 3rem) !important;
  gap: 1.5rem !important;
  min-height: 0 !important;
}

.pa-misprint-page.pa-help-task-page .pa-misprint-intro {
  grid-column: 1 / -1;
}

.pa-misprint-page.pa-help-task-page > .pa-light-section:first-child .pa-misprint-workbench {
  margin-top: 0;
}

@media (max-width: 767.98px) {
  html[data-pa-theme] #main-content#main-content .pa-help-task-page h1 {
    font-size: clamp(2rem, 8.3vw, 2.65rem) !important;
  }

  html[data-pa-theme] #main-content#main-content .pa-help-task-page > .pa-menu-hero > .pa-menu-hero__copy {
    padding-block: 1.5rem !important;
  }

  .pa-help-task-page .pa-help-task-links {
    gap: 0.2rem 1rem;
  }

  .pa-contact-page.pa-help-task-page .pa-contact-support-panel {
    display: flex;
    flex-direction: column;
  }

  .pa-contact-page.pa-help-task-page .pa-contact-request-form {
    width: 100%;
  }
}
