/* PR154 Safe Harbor mobile focus stability.
   Stop scaling the focused control itself. iOS focus zoom only stays calm when
   the real textarea/input surface is unscaled and computes to at least 16px.
   Compact the experience with height, padding, and surrounding layout instead. */
@media (max-width: 720px) {
  html.safe-harbor-pr152 input,
  html.safe-harbor-pr152 textarea,
  html.safe-harbor-pr152 select,
  html.safe-harbor-pr152 .code-area,
  html.safe-harbor-pr152 .ingress-textarea,
  html.safe-harbor-pr152 .safe-field {
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    font-size: 16px !important;
    -webkit-text-size-adjust: 100% !important;
    text-size-adjust: 100% !important;
    touch-action: manipulation !important;
    zoom: 1 !important;
    -webkit-transform: none !important;
    transform: none !important;
    -webkit-transform-origin: initial !important;
    transform-origin: initial !important;
  }

  html.safe-harbor-pr152 textarea,
  html.safe-harbor-pr152 .code-area,
  html.safe-harbor-pr152 .ingress-textarea,
  html.safe-harbor-pr152 .safe-field {
    line-height: 1.12 !important;
    letter-spacing: 0 !important;
    padding: 8px 9px !important;
    resize: vertical;
  }

  html.safe-harbor-pr152 .ingress-textarea {
    min-height: 156px !important;
    height: clamp(156px, 32dvh, 216px) !important;
    margin-bottom: 0 !important;
  }

  html.safe-harbor-pr152 .safe-field {
    min-height: 116px !important;
    height: clamp(116px, 24dvh, 168px) !important;
    margin-bottom: 0 !important;
  }

  html.safe-harbor-pr152 .code-area {
    min-height: 156px !important;
    height: clamp(156px, 30dvh, 216px) !important;
    margin-bottom: 0 !important;
  }

  html.safe-harbor-pr152 input:not([type="checkbox"]):not([type="radio"]),
  html.safe-harbor-pr152 select {
    min-height: 40px !important;
    line-height: 1.12 !important;
    padding: 8px 10px !important;
  }

  html.safe-harbor-pr152 input[type="file"] {
    min-height: 46px !important;
  }

  html.safe-harbor-pr152 input[type="checkbox"],
  html.safe-harbor-pr152 input[type="radio"] {
    appearance: auto;
    -webkit-appearance: auto;
    width: auto !important;
    max-width: none !important;
    min-width: 0 !important;
    font-size: initial !important;
    zoom: 1 !important;
    -webkit-transform: none !important;
    transform: none !important;
  }

  html.safe-harbor-pr152 .ingress-step-panel,
  html.safe-harbor-pr152 .ingress-console-panel,
  html.safe-harbor-pr152 .surface-card,
  html.safe-harbor-pr152 .forge-card,
  html.safe-harbor-pr152 .panel,
  html.safe-harbor-pr152 .dock {
    overflow: visible !important;
  }

  html.safe-harbor-pr152 .ingress-step-support {
    max-height: 2.6em;
    overflow: hidden;
  }
}

@media (max-width: 430px) {
  html.safe-harbor-pr152 .ingress-textarea {
    min-height: 148px !important;
    height: clamp(148px, 30dvh, 202px) !important;
  }

  html.safe-harbor-pr152 textarea,
  html.safe-harbor-pr152 .code-area,
  html.safe-harbor-pr152 .ingress-textarea,
  html.safe-harbor-pr152 .safe-field {
    line-height: 1.08 !important;
    padding: 7px 8px !important;
  }
}

/* PR101 ingress scroll containment.
   Preserve the visible membrane geometry; collapse only the hidden Safe Harbor underlayer. */
html.safe-harbor-pr147 body.vault-sealed:not(.vault-open) .ingress-membrane:not(.is-hidden) ~ .chrome-grid,
html.safe-harbor-pr147 body.vault-sealed:not(.vault-open):has(.ingress-membrane:not(.is-hidden)) .chrome-grid {
  height: 0 !important;
  max-height: 0 !important;
  overflow: hidden !important;
  pointer-events: none !important;
  visibility: hidden !important;
}

html.safe-harbor-pr147 body.vault-sealed:not(.vault-open) {
  overflow-x: hidden !important;
}

/* PR101 opened Safe Harbor masthead only.
   Keep ingress visuals on the proven path. */
html.safe-harbor-pr147 .chrome-grid > .masthead .status-strip .status-pill {
  flex: 0 1 auto !important;
  width: max-content !important;
  min-width: 0 !important;
  max-width: 100% !important;
}

@media (max-width: 720px) {
  html.safe-harbor-pr147 body:not(.vault-sealed) .chrome-grid > .masthead,
  html.safe-harbor-pr147 body.vault-open .chrome-grid > .masthead,
  html.safe-harbor-pr147[data-safe-harbor-session-open="true"] body .chrome-grid > .masthead {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 14px !important;
    align-items: stretch !important;
  }

  html.safe-harbor-pr147 body:not(.vault-sealed) .chrome-grid > .masthead .status-strip,
  html.safe-harbor-pr147 body.vault-open .chrome-grid > .masthead .status-strip,
  html.safe-harbor-pr147[data-safe-harbor-session-open="true"] body .chrome-grid > .masthead .status-strip {
    position: relative !important;
    display: block !important;
    min-height: 132px !important;
    padding: 0 !important;
    margin: 0 !important;
    overflow: visible !important;
  }

  html.safe-harbor-pr147 .chrome-grid > .masthead .status-strip .coherence-sigil {
    position: absolute !important;
    top: 3px !important;
    left: 0 !important;
    width: 22px !important;
    min-width: 22px !important;
    height: 22px !important;
    display: inline-grid !important;
    place-items: center !important;
    margin: 0 !important;
    font-size: 0.68rem !important;
    line-height: 1 !important;
  }

  html.safe-harbor-pr147 .chrome-grid > .masthead .status-strip .status-pill {
    display: block !important;
    width: max-content !important;
    max-width: calc(100vw - 84px) !important;
    min-height: 28px !important;
    margin: 0 0 8px 28px !important;
    padding: 6px 10px !important;
    line-height: 1.15 !important;
    text-align: left !important;
    white-space: nowrap !important;
  }

  html.safe-harbor-pr147 .chrome-grid > .masthead .status-strip .flight-launch.flight-launch-compact,
  html.safe-harbor-pr147 .chrome-grid > .masthead .status-strip .signout-launch {
    position: absolute !important;
    top: 0 !important;
    bottom: auto !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: max-content !important;
    min-height: 30px !important;
    margin: 0 !important;
    padding: 7px 10px !important;
    font-size: clamp(0.48rem, 1.9vw, 0.62rem) !important;
    line-height: 1 !important;
    letter-spacing: 0.08em !important;
    white-space: nowrap !important;
    text-align: center !important;
  }

  html.safe-harbor-pr147 .chrome-grid > .masthead .status-strip a.flight-launch-compact[href*="index"] {
    right: 148px !important;
    font-size: 0 !important;
    letter-spacing: 0 !important;
  }

  html.safe-harbor-pr147 .chrome-grid > .masthead .status-strip a.flight-launch-compact[href*="index"]::before {
    content: '← Gateway' !important;
    display: inline !important;
    font-size: clamp(0.48rem, 1.9vw, 0.62rem) !important;
    letter-spacing: 0.08em !important;
  }

  html.safe-harbor-pr147 .chrome-grid > .masthead .status-strip a.flight-launch-compact[href*="td613-flight"] {
    right: 72px !important;
  }

  html.safe-harbor-pr147 .chrome-grid > .masthead .status-strip .signout-launch {
    right: 0 !important;
  }
}

@media (max-width: 430px) {
  html.safe-harbor-pr147 .chrome-grid > .masthead .status-strip .status-pill {
    max-width: calc(100vw - 70px) !important;
    font-size: clamp(0.48rem, 2.3vw, 0.58rem) !important;
    letter-spacing: 0.11em !important;
  }

  html.safe-harbor-pr147 .chrome-grid > .masthead .status-strip a.flight-launch-compact[href*="index"] {
    right: 134px !important;
  }

  html.safe-harbor-pr147 .chrome-grid > .masthead .status-strip a.flight-launch-compact[href*="td613-flight"] {
    right: 66px !important;
  }

  html.safe-harbor-pr147 .chrome-grid > .masthead .status-strip .flight-launch.flight-launch-compact,
  html.safe-harbor-pr147 .chrome-grid > .masthead .status-strip .signout-launch {
    padding-inline: 8px !important;
    letter-spacing: 0.06em !important;
  }
}