/* Each destination shares the viewport with its separate navigation bar. */
html, body, #app { height: 100%; overflow: hidden; }
body .universo { height: 100dvh; min-height: 0; overflow: hidden; }
body .universo.journey-view > .lesson {
  flex: 1 1 0 !important;
  min-height: 0 !important;
  height: auto !important;
  max-height: none !important;
  overflow: hidden !important;
}
[data-viewport-fit] {
  zoom: var(--viewport-scale, 1);
  width: 100% !important;
  max-width: none !important;
}
body .universo .access-hero { overflow: hidden; }
.journey-view .launch-station .launch-scroll {
  flex: 1 0 auto;
  min-height: min-content;
  overflow: visible;
  margin-top: clamp(6px, 1.2vh, 14px);
}
.journey-view .launch-station .launch-panel {
  flex: 1 0 auto;
  min-height: min-content;
  justify-content: safe center;
  gap: clamp(8px, 1.4vh, 16px);
  max-width: none;
}
.journey-view .launch-station .launch-panel > * { flex-shrink: 0; }
.journey-view .launch-station .launch-tab > span:last-child {
  min-width: 0;
  max-width: 100%;
  overflow-wrap: anywhere;
}
.journey-view .launch-station :is(.launch-code-layout, .launch-training-grid) {
  flex: 0 0 auto;
  min-height: min-content;
}
.journey-view .launch-station .launch-heading { margin-bottom: clamp(4px, .8vh, 10px); }
.journey-view .launch-station .launch-experience-definition { margin-top: 0; }
.journey-view .launch-station .launch-experience-definition + .launch-chain { margin-top: clamp(4px, 1vh, 12px); }
.journey-view .launch-station .launch-footer { margin-top: 0; }
.journey-view .architecture-dimension p { overflow: visible; max-height: none; }
.journey-view textarea { resize: none; }

/* The complete decision, including its choice label, defines each card's height. */
@media (max-width: 800px), (max-height: 500px) {
  .journey-view .affinity-expedition .affinity-decision-stage {
    flex: 1 0 auto;
    min-height: min-content;
  }
  .journey-view .affinity-expedition .affinity-options {
    min-height: min-content;
    grid-auto-rows: minmax(min-content, 1fr);
  }
  .journey-view .affinity-expedition :is(.affinity-option, .affinity-signal) {
    min-height: min-content;
    justify-content: safe center;
  }
  .journey-view .affinity-expedition .affinity-option > * { flex-shrink: 0; }
  .journey-view .planet-discovery .planet-discovery-layout {
    flex: 1 0 auto;
    min-height: min-content;
  }
  .journey-view .planet-discovery .discovery-reading {
    height: auto;
    min-height: min-content;
    justify-content: safe center;
  }
  .journey-view .planet-discovery .discovery-reading > * { flex-shrink: 0; }
  .journey-view .planet-discovery .discovery-reading-content,
  .journey-view .planet-discovery .discovery-practice {
    flex: 0 0 auto;
    min-height: min-content;
  }
  .journey-view .planet-discovery .discovery-behaviors {
    min-height: min-content;
    grid-auto-rows: minmax(min-content, 1fr);
  }
}
@media (max-width: 800px) {
  .journey-view .affinity-expedition .affinity-decision-stage {
    grid-template-rows: minmax(min-content, .8fr) minmax(min-content, 1fr);
  }
  .journey-view .planet-discovery .planet-discovery-layout {
    grid-template-rows: minmax(100px, .33fr) minmax(min-content, 1fr);
  }
}

@media (min-width: 801px) and (max-width: 1100px) {
  .site-nav .nav-product { flex-direction: column; align-items: center; gap: 2px; line-height: 1.1; }
  .site-nav .nav-product > i { display: none; }
}

@media (max-width: 800px) {
  .journey-view .lesson { padding-block: 8px !important; }
  .journey-view .journey-heading { margin-bottom: 0; }
  .journey-view .launch-station .launch-panel { gap: 8px; }
  .journey-view .launch-station .launch-scroll { margin-top: 4px; }
  .journey-view .launch-station .launch-experience-definition > .launch-clientecentrism { padding: 8px 10px; font-size: 12px; line-height: 1.3; }
  .journey-view .launch-station .launch-experience-definition > p:first-child { font-size: 14px; }
  .journey-view .constellation-moment .constellation-map {
    flex: 1 1 auto;
    grid-template-columns: 1fr;
    grid-template-rows: minmax(190px, 1.1fr) minmax(150px, 1fr);
    gap: 8px;
  }
  .journey-view .constellation-moment .management-model { padding: 4px !important; gap: 3px; }
  .constellation-moment .management-orbit { flex: 1 1 0; min-height: 0; }
  .journey-view .constellation-moment .architecture-model { padding: 4px; gap: 6px; }
  .constellation-moment .architecture-dimensions { flex: 1 1 0; grid-template-rows: repeat(3, minmax(30px, 1fr)); gap: 6px; }
  .architecture-dimension-trigger { min-height: 30px; padding: 6px 10px; font-size: 12px; }
  .journey-view .architecture-dimension p { position: absolute; bottom: calc(100% + 6px); background: #0a1935; border: 1px solid #8fd7c7; font-size: 11px; padding: 10px; }
  .planet-discovery-layout { flex: 1 1 0; grid-template-rows: minmax(100px, .33fr) minmax(0, 1fr); }
  .discovery-visual { min-height: 100px; }
  .discovery-reading { height: 100%; min-height: 0; padding: 10px; gap: 8px; }
  .discovery-reading-content { flex: 0 1 auto; min-height: 0; }
  .discovery-reading-tabs button { min-height: 54px; }
}

@media (max-height: 500px) and (min-width: 801px) {
  .observatory-moment.is-challenge .signal-challenge {
    grid-template-columns: minmax(0, 1fr) minmax(300px, 1fr);
    grid-template-rows: auto;
    height: auto !important;
    min-height: 245px;
    flex: 1 0 auto;
  }
  .observatory-moment.is-challenge .signal-radar { min-height: 220px; }
  .journey-view .lesson { gap: 6px !important; padding-block: 6px !important; }
  .journey-view .journey-title-line { min-height: 36px; padding-block: 5px; }
  .journey-view .launch-station .launch-heading { margin: 0; }
  .journey-view .launch-station .launch-tab { min-height: 32px; padding: 5px 8px; }
  .journey-view .launch-station .launch-scroll { margin-top: 2px; }
  .feedback-dialog .feedback-card {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 8px 16px;
    padding: 14px 20px;
  }
  .feedback-card > :is(.tag, h2, p, .dialog-actions) { grid-column: 1 / -1; margin: 0; }
  .feedback-card > .rating-field { grid-column: 1; margin: 0; min-width: 0; }
  .feedback-card > .feedback-copy { grid-column: 2; min-width: 0; }
  .feedback-card .rating-stars { gap: 4px; }
  .feedback-card .rating-stars label { min-height: 56px; }
  .feedback-card .rating-stars span { font-size: 11px; }
  .feedback-card .feedback-copy textarea { height: 74px; min-height: 0; }
  .feedback-card .feedback-status:empty { display: none; }
}
