/* PR164 mobile Safe Harbor polish. Preserve ingress fixes; repair opened-vault mobile flow. */
@media (max-width: 720px) {
  html, body {
    -webkit-text-size-adjust: 100% !important;
    text-size-adjust: 100% !important;
  }

  input, textarea, select, .ingress-textarea, .safe-field, .code-area {
    appearance: none;
    -webkit-appearance: none;
    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;
    transform: none !important;
    -webkit-transform: none !important;
    zoom: 1 !important;
  }

  textarea, .ingress-textarea, .safe-field, .code-area {
    line-height: 1.18 !important;
    letter-spacing: 0 !important;
    padding: 9px 10px !important;
    resize: vertical;
  }

  .ingress-textarea { min-height: 168px !important; height: clamp(168px, 34dvh, 232px) !important; }
  .safe-field { min-height: 118px !important; height: clamp(118px, 26dvh, 180px) !important; }
  .code-area { min-height: 168px !important; height: clamp(168px, 32dvh, 228px) !important; }
  input:not([type="checkbox"]):not([type="radio"]), select { min-height: 42px !important; line-height: 1.15 !important; padding: 8px 10px !important; }
  input[type="checkbox"], input[type="radio"] { appearance: auto !important; -webkit-appearance: auto !important; width: auto !important; max-width: none !important; min-width: 0 !important; font-size: initial !important; transform: none !important; -webkit-transform: none !important; zoom: 1 !important; }

  html.safe-harbor-pr161 .ingress-head,
  html.safe-harbor-pr158 .ingress-head {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    justify-items: stretch !important;
  }

  html.safe-harbor-pr161 .ingress-head-actions,
  html.safe-harbor-pr158 .ingress-head-actions {
    display: inline-flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: 5px !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: 100% !important;
    margin: 0 0 0 auto !important;
    justify-self: end !important;
    align-self: start !important;
    grid-template-columns: none !important;
    grid-auto-flow: column !important;
    overflow: visible !important;
  }

  html.safe-harbor-pr161 .ingress-head-actions .ingress-flight-launch,
  html.safe-harbor-pr161 .ingress-head-actions .signout-launch,
  html.safe-harbor-pr158 .ingress-head-actions .ingress-flight-launch,
  html.safe-harbor-pr158 .ingress-head-actions .signout-launch {
    flex: 0 0 auto !important;
    grid-column: auto !important;
    grid-row: auto !important;
    justify-self: auto !important;
    align-self: center !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: max-content !important;
    min-height: 28px !important;
    padding: 6px 8px !important;
    margin: 0 !important;
    font-size: clamp(0.42rem, 1.7vw, 0.54rem) !important;
    line-height: 1 !important;
    letter-spacing: 0.08em !important;
    white-space: nowrap !important;
    text-align: center !important;
  }

  html.safe-harbor-pr161 .ingress-head-actions a.ingress-flight-launch,
  html.safe-harbor-pr158 .ingress-head-actions a.ingress-flight-launch {
    color: #d9ffe7 !important;
    font-size: clamp(0.42rem, 1.7vw, 0.54rem) !important;
    letter-spacing: 0.08em !important;
  }

  html.safe-harbor-pr161 .ingress-head-actions a.ingress-flight-launch::before,
  html.safe-harbor-pr161 .ingress-head-actions a.ingress-flight-launch::after,
  html.safe-harbor-pr158 .ingress-head-actions a.ingress-flight-launch::before,
  html.safe-harbor-pr158 .ingress-head-actions a.ingress-flight-launch::after {
    content: none !important;
    display: inline !important;
  }

  html.safe-harbor-pr161 .ingress-head-actions a.ingress-flight-launch[href*="index"]::before,
  html.safe-harbor-pr158 .ingress-head-actions a.ingress-flight-launch[href*="index"]::before {
    content: '← ' !important;
  }

  html.safe-harbor-pr161 .ingress-head-actions a.ingress-flight-launch[href*="td613-flight"]::after,
  html.safe-harbor-pr158 .ingress-head-actions a.ingress-flight-launch[href*="td613-flight"]::after {
    content: ' →' !important;
  }

  html.safe-harbor-pr161 .ingress-head-actions .signout-launch,
  html.safe-harbor-pr158 .ingress-head-actions .signout-launch {
    flex-basis: auto !important;
    grid-column: auto !important;
    grid-row: auto !important;
    justify-self: auto !important;
    order: 3 !important;
    color: rgba(190, 255, 214, 0.92) !important;
    background: transparent !important;
    border-color: transparent !important;
    box-shadow: none !important;
    clip-path: none !important;
  }

  .status-strip.ingress-status {
    display: flex !important;
    flex-flow: row nowrap !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 5px !important;
    width: auto !important;
    max-width: 100% !important;
    margin: 8px 0 0 !important;
    padding: 0 !important;
    overflow-x: auto !important;
    overscroll-behavior-x: contain !important;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
  }

  .status-strip.ingress-status::-webkit-scrollbar { display: none; }

  .status-strip.ingress-status .coherence-sigil {
    flex: 0 0 auto !important;
    display: inline-grid !important;
    place-items: center !important;
    width: 24px !important;
    min-width: 24px !important;
    height: 24px !important;
    margin: 0 !important;
    font-size: 0.72rem !important;
    line-height: 1 !important;
    text-align: center !important;
  }

  .status-strip.ingress-status .status-pill {
    flex: 0 0 auto !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: 0 !important;
    width: auto !important;
    min-height: 24px !important;
    padding: 0 8px !important;
    margin: 0 !important;
    text-align: center !important;
    line-height: 1 !important;
    font-size: clamp(0.42rem, 1.65vw, 0.52rem) !important;
    letter-spacing: 0.06em !important;
    white-space: nowrap !important;
  }

  .ingress-stage-rail { display: flex !important; gap: 8px !important; overflow-x: auto !important; padding-bottom: 6px !important; }
  .ingress-stage-chip { flex: 0 0 auto !important; width: auto !important; min-width: max-content !important; min-height: 34px !important; padding: 8px 13px !important; font-size: clamp(0.58rem, 2.35vw, 0.72rem) !important; letter-spacing: 0.06em !important; }

  #ingressContinue, .ingress-step-nav #ingressContinue,
  #ingressNext, .ingress-step-nav #ingressNext {
    display: inline-grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    grid-auto-rows: min-content !important;
    place-items: center !important;
    row-gap: 2px !important;
    width: 146px !important;
    min-width: 146px !important;
    max-width: 146px !important;
    white-space: normal !important;
    text-align: center !important;
    line-height: 1.12 !important;
    word-break: normal !important;
    overflow-wrap: normal !important;
  }

  #ingressContinue .continue-line,
  .ingress-step-nav #ingressContinue .continue-line,
  #ingressNext .continue-line,
  .ingress-step-nav #ingressNext .continue-line {
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    text-align: center !important;
    white-space: nowrap !important;
  }

  .ingress-step-nav .control, .ingress-final-actions .control, .button-grid .control {
    width: auto !important;
    min-width: 0 !important;
    max-width: 100% !important;
    min-height: 38px !important;
    padding: 9px 12px !important;
    font-size: clamp(0.58rem, 2.35vw, 0.72rem) !important;
    letter-spacing: 0.08em !important;
  }

  .ingress-bypass,
  .ingress-bypass-body,
  .ingress-bypass-grid,
  .ingress-bypass .field,
  .ingress-bypass .field-wide {
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    overflow: hidden !important;
  }

  .ingress-bypass-grid {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 12px !important;
  }

  .ingress-bypass input,
  .ingress-bypass input[type="text"],
  .ingress-bypass input[type="file"],
  #bypassPassword,
  #bypassSealedPacketFile {
    box-sizing: border-box !important;
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    overflow: hidden !important;
  }

  #bypassPassword {
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
  }

  #bypassSealedPacketFile {
    font-size: 16px !important;
    color: rgba(232, 239, 255, 0.84) !important;
  }

  html.safe-harbor-pr164 body:not(.vault-sealed) .chrome-grid,
  html.safe-harbor-pr164 body.vault-open .chrome-grid,
  html.safe-harbor-pr164 html[data-safe-harbor-session-open="true"] body .chrome-grid {
    display: block !important;
    width: 100% !important;
    max-width: 100vw !important;
    min-width: 0 !important;
    padding-inline: max(8px, env(safe-area-inset-left, 0px)) max(8px, env(safe-area-inset-right, 0px)) !important;
    overflow-x: hidden !important;
  }

  html.safe-harbor-pr164 .main-grid,
  html.safe-harbor-pr164 .panel,
  html.safe-harbor-pr164 .panel-center,
  html.safe-harbor-pr164 .chamber-panel,
  html.safe-harbor-pr164 .witness-surface,
  html.safe-harbor-pr164 .witness-grid {
    box-sizing: border-box !important;
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    height: auto !important;
    min-height: 0 !important;
    overflow: visible !important;
  }

  html.safe-harbor-pr164 .main-grid {
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
  }

  html.safe-harbor-pr164 .panel,
  html.safe-harbor-pr164 .dock {
    overflow-x: hidden !important;
    overflow-y: visible !important;
  }

  html.safe-harbor-pr164 .witness-grid {
    display: flex !important;
    flex-direction: column !important;
    gap: 16px !important;
    grid-template-columns: none !important;
    grid-template-areas: none !important;
    align-items: stretch !important;
  }

  html.safe-harbor-pr164 .witness-grid > .surface-card,
  html.safe-harbor-pr164 .witness-grid > .batch-intake-card,
  html.safe-harbor-pr164 .witness-grid > .render-face-card,
  html.safe-harbor-pr164 .witness-grid > .reliquary-card {
    box-sizing: border-box !important;
    position: relative !important;
    display: block !important;
    grid-area: auto !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 0 !important;
    overflow: hidden !important;
    opacity: 1 !important;
    transform: none !important;
  }

  html.safe-harbor-pr164 .witness-grid > .reliquary-card { order: 1 !important; }
  html.safe-harbor-pr164 .witness-grid > .batch-intake-card { order: 2 !important; }
  html.safe-harbor-pr164 .witness-grid > .render-face-card { order: 3 !important; }

  html.safe-harbor-pr164 .metric-block,
  html.safe-harbor-pr164 .proof-stack,
  html.safe-harbor-pr164 .triad-summary,
  html.safe-harbor-pr164 .intake-canon-card,
  html.safe-harbor-pr164 .footer-template,
  html.safe-harbor-pr164 .code-panel,
  html.safe-harbor-pr164 .code-area,
  html.safe-harbor-pr164 .dynamic-target,
  html.safe-harbor-pr164 .forge-card,
  html.safe-harbor-pr164 .field-grid,
  html.safe-harbor-pr164 .field,
  html.safe-harbor-pr164 .field-wide {
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    overflow-x: hidden !important;
  }

  html.safe-harbor-pr164 .metric-row,
  html.safe-harbor-pr164 .summary-row,
  html.safe-harbor-pr164 .proof-row,
  html.safe-harbor-pr164 .data-row {
    box-sizing: border-box !important;
    display: grid !important;
    grid-template-columns: minmax(0, 0.72fr) minmax(0, 1fr) !important;
    gap: 8px !important;
    align-items: start !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }

  html.safe-harbor-pr164 .label,
  html.safe-harbor-pr164 .data-label,
  html.safe-harbor-pr164 .summary-label,
  html.safe-harbor-pr164 .proof-label,
  html.safe-harbor-pr164 .value,
  html.safe-harbor-pr164 .data-value,
  html.safe-harbor-pr164 .summary-value,
  html.safe-harbor-pr164 .proof-value {
    box-sizing: border-box !important;
    min-width: 0 !important;
    max-width: 100% !important;
    overflow-wrap: anywhere !important;
    word-break: break-word !important;
    white-space: normal !important;
  }

  html.safe-harbor-pr164 .value,
  html.safe-harbor-pr164 .data-value,
  html.safe-harbor-pr164 .summary-value,
  html.safe-harbor-pr164 .proof-value {
    text-align: right !important;
  }

  html.safe-harbor-pr164 .intake-canon-card .field-grid,
  html.safe-harbor-pr164 .intake-canon-grid {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
  }

  html.safe-harbor-pr164 .intake-canon-card input,
  html.safe-harbor-pr164 .intake-canon-card textarea,
  html.safe-harbor-pr164 .intake-canon-card select,
  html.safe-harbor-pr164 .field input,
  html.safe-harbor-pr164 .field textarea,
  html.safe-harbor-pr164 .field select {
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    overflow-x: hidden !important;
  }

  html.safe-harbor-pr164 .ingress-seal-review .summary-row {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 6px !important;
  }

  html.safe-harbor-pr164 .ingress-seal-review .summary-value {
    text-align: left !important;
  }

  html.safe-harbor-pr164 .ingress-summary-metrics {
    justify-content: flex-start !important;
    overflow: visible !important;
  }

  html.safe-harbor-pr164 .ingress-summary-metrics span {
    white-space: nowrap !important;
  }
}

@media (max-width: 430px) {
  .ingress-textarea { min-height: 156px !important; height: clamp(156px, 32dvh, 216px) !important; }
  textarea, .ingress-textarea, .safe-field, .code-area { line-height: 1.12 !important; padding: 8px 9px !important; }
  #ingressContinue, .ingress-step-nav #ingressContinue, #ingressNext, .ingress-step-nav #ingressNext { width: 138px !important; min-width: 138px !important; max-width: 138px !important; }
  .status-strip.ingress-status { gap: 4px !important; margin-top: 7px !important; }
  .status-strip.ingress-status .coherence-sigil { width: 22px !important; min-width: 22px !important; height: 22px !important; font-size: 0.66rem !important; }
  .status-strip.ingress-status .status-pill { min-height: 22px !important; padding: 0 6px !important; font-size: clamp(0.38rem, 1.55vw, 0.48rem) !important; letter-spacing: 0.05em !important; }
}
