/*
 * ANTARA · Venus Full Exploration
 * Structural UI comes from Mars Full Exploration. This file contains only
 * Venus theming, the Earth-style destination selector, atmospheric overlays,
 * the soft exploration-boundary notice and educational-card integration.
 */

/* Venus overview CTA uses the same secondary-action geometry as Mars. */
.venus-caption .venus-full-explore-button {
  min-height: 34px;
  padding: 0 13px;
  border: 1px solid rgba(217, 193, 139, .40);
  border-radius: 2px;
  background: rgba(7, 16, 26, .67);
  color: #d9c9aa;
  font-size: 6.5px;
  font-weight: 650;
  letter-spacing: 1.15px;
  text-transform: uppercase;
  white-space: nowrap;
  cursor: pointer;
  transition: background .24s ease, border-color .24s ease, color .24s ease, transform .24s ease;
}
.venus-caption .venus-full-explore-button:hover:not(:disabled) {
  transform: translateY(-1px);
  border-color: rgba(229, 201, 135, .67);
  background: rgba(30, 23, 25, .91);
  color: #f1d99f;
}
.venus-caption .venus-full-explore-button:focus-visible {
  outline: 1px solid rgba(241, 217, 159, .82);
  outline-offset: 3px;
}
.venus-caption .venus-full-explore-button:disabled { opacity: .5; cursor: wait; }

.venus-full-exploration {
  --venus-accent: #ff9a55;
  --venus-accent-bright: #ffd08b;
  --venus-line: rgba(255, 160, 91, .30);
  --venus-panel: rgba(24, 9, 8, .88);
  --venus-safe-top: env(safe-area-inset-top, 0px);
  --venus-safe-right: env(safe-area-inset-right, 0px);
  --venus-safe-bottom: env(safe-area-inset-bottom, 0px);
  --venus-safe-left: env(safe-area-inset-left, 0px);
  --venus-ui-gap: clamp(10px, 1.25vw, 18px);
  --venus-edge-x: clamp(16px, 2.4vw, 40px);
  --venus-edge-y: clamp(12px, 2.2dvh, 28px);
  --venus-z-world: 2;
  --venus-z-atmosphere: 4;
  --venus-z-marker: 12;
  --venus-z-hud: 16;
  --venus-z-panel: 22;
  --venus-z-modal: 40;
  --venus-z-transition: 48;
  background: transparent;
}
.venus-full-exploration .mars-full-viewport,
.venus-full-exploration .venus-full-canvas { position: absolute; inset: 0; width: 100%; height: 100%; }
.venus-full-exploration .mars-full-viewport {
  /* Mars-style handoff: all opaque Venus fallback color lives inside the fading
     surface viewport, never on the Full Exploration root above the planet scene. */
  background:
    radial-gradient(circle at 50% 27%, rgba(255, 128, 60, .30), transparent 42%),
    radial-gradient(circle at 54% 64%, rgba(174, 37, 23, .24), transparent 45%),
    linear-gradient(180deg, #a63f25 0%, #68231c 50%, #1e0b0b 100%);
}
.venus-full-exploration .venus-full-canvas {
  display: block;
  /* The parent viewport owns --surface-opacity. Avoid a double opacity curve. */
  opacity: 1;
  transition: none;
}

.venus-full-exploration::before {
  background:
    linear-gradient(180deg, rgba(255, 159, 92, .18) 0%, transparent 39%, rgba(188, 57, 35, .18) 64%, rgba(27, 7, 8, .80) 100%),
    radial-gradient(ellipse at 50% 62%, transparent 0 28%, rgba(183, 57, 37, .19) 55%, rgba(31, 8, 9, .60) 100%);
}
.venus-full-exploration .venus-full-horizon {
  background: radial-gradient(ellipse at center, rgba(255, 137, 68, .28) 0%, rgba(189, 58, 38, .12) 48%, transparent 76%);
}
.venus-cloud-entry,
.venus-haze-vignette,
.venus-heat-shimmer { position: absolute; inset: 0; pointer-events: none; z-index: 3; }
.venus-cloud-entry {
  opacity: calc(.88 - var(--entry-progress, 0) * .72);
  background: radial-gradient(ellipse at 50% 43%, rgba(255, 208, 145, .22), rgba(241, 111, 55, .15) 37%, rgba(105, 28, 25, .09) 72%, transparent 88%);
  filter: blur(6px);
}
.venus-haze-vignette {
  opacity: .54;
  background:
    linear-gradient(180deg, rgba(255, 143, 73, .17), transparent 33%, transparent 70%, rgba(35, 8, 9, .24)),
    radial-gradient(circle at center, transparent 54%, rgba(87, 20, 17, .27) 100%);
}
.venus-full-exploration.is-active .venus-cloud-entry { opacity: .05; filter: blur(3px); }

.venus-heat-shimmer {
  /* Keep heat presence without drawing repeated horizontal bands across the camera. */
  opacity: .035;
  overflow: hidden;
  background:
    radial-gradient(ellipse at 50% 80%, rgba(255, 205, 104, .12) 0%, rgba(255, 146, 54, .055) 34%, transparent 66%),
    radial-gradient(ellipse at 22% 88%, rgba(255, 175, 65, .05), transparent 38%),
    radial-gradient(ellipse at 78% 91%, rgba(255, 126, 43, .04), transparent 35%);
  mask-image: linear-gradient(180deg, transparent 20%, #000 58%, #000 100%);
  -webkit-mask-image: linear-gradient(180deg, transparent 20%, #000 58%, #000 100%);
}
.venus-full-exploration[data-region="maat"] .venus-heat-shimmer { opacity: .085; }
.venus-full-exploration[data-region="alpha"] .venus-heat-shimmer,
.venus-full-exploration[data-region="aphrodite"] .venus-heat-shimmer { opacity: .045; }

/* Performance-safe atmospheric motion: one composited haze layer, no repeated stripes. */
.venus-haze-vignette::before {
  content: "";
  position: absolute;
  inset: -8%;
  pointer-events: none;
  background:
    radial-gradient(ellipse at 30% 72%, rgba(255, 191, 111, .13), transparent 36%),
    radial-gradient(ellipse at 72% 62%, rgba(201, 75, 39, .11), transparent 40%),
    radial-gradient(ellipse at 52% 88%, rgba(255, 142, 61, .08), transparent 46%);
  opacity: .16;
  transform: translate3d(-1.2%, .3%, 0) scale(1.035);
  will-change: transform, opacity;
  animation: venus-haze-drift 16s ease-in-out infinite alternate;
}
.venus-full-exploration[data-region="maat"] .venus-haze-vignette::before { opacity: .23; }
.venus-full-exploration[data-region="alpha"] .venus-haze-vignette::before,
.venus-full-exploration[data-region="aphrodite"] .venus-haze-vignette::before { opacity: .18; }
@keyframes venus-haze-drift {
  from { transform: translate3d(-1.2%, .3%, 0) scale(1.035); opacity: .90; }
  to { transform: translate3d(1.4%, -.5%, 0) scale(1.045); opacity: 1; }
}
@media (prefers-reduced-motion: reduce) {
  .venus-haze-vignette::before { animation: none; transform: scale(1.04); }
}


/* Mars owns geometry/spacing. Venus changes only palette. */
.venus-full-exploration .mars-full-hud,
.venus-full-exploration .mars-full-actions button,
.venus-full-exploration .mars-full-tutorial,
.venus-full-exploration .mars-landmark-card {
  border-color: var(--venus-line);
}
.venus-full-exploration .mars-full-hud,
.venus-full-exploration .mars-landmark-card {
  background: linear-gradient(145deg, rgba(20, 8, 8, .91), rgba(45, 17, 13, .82));
  box-shadow: 0 18px 60px rgba(13, 3, 4, .42), 0 0 0 1px rgba(255, 130, 69, .04) inset;
}
.venus-full-exploration .mars-full-tutorial { background: rgba(29, 16, 12, .90); }
.venus-full-exploration .mars-hud-kicker,
.venus-full-exploration .mars-hud-location,
.venus-full-exploration .mars-full-loading-kicker,
.venus-full-exploration .mars-landmark-card > small,
.venus-full-exploration .mars-hud-metric strong,
.venus-full-exploration .mars-landmark-source { color: var(--venus-accent); }
.venus-full-exploration .mars-full-actions button { background: rgba(22, 8, 8, .86); color: #f0d3b4; text-shadow: 0 1px 8px rgba(0,0,0,.45); }
.venus-full-exploration .mars-full-actions button:hover,
.venus-full-exploration .mars-full-actions button:focus-visible { border-color: rgba(244, 202, 143, .58); background: rgba(63, 31, 23, .88); color: #f5dcad; }
.venus-full-exploration .venus-full-actions {
  z-index: var(--venus-z-hud);
  right: calc(var(--venus-safe-right) + var(--venus-edge-x));
  top: calc(var(--venus-safe-top) + var(--venus-edge-y));
  gap: 7px;
}
.venus-actions-menu { display: contents; }
.venus-actions-menu-toggle { display: none; }
.venus-full-exploration .venus-actions-menu > button {
  min-height: 36px;
  padding-inline: clamp(9px, .75vw, 12px);
  font-size: clamp(5.3px, .4vw, 6px);
  letter-spacing: .85px;
}
.venus-full-exploration .mars-full-exit { color: #f3cc91 !important; border-color: rgba(239, 175, 104, .50) !important; }
.venus-full-exploration .mars-control-hints { color: rgba(244, 221, 202, .86); text-shadow: 0 1px 7px rgba(0,0,0,.58); }
.venus-full-exploration .mars-control-hints b { color: #f0c981; }


/* Responsive telemetry: informative, but deliberately capped so the world stays dominant. */
.venus-full-exploration .mars-full-hud {
  z-index: var(--venus-z-hud);
  left: calc(var(--venus-safe-left) + var(--venus-edge-x));
  top: calc(var(--venus-safe-top) + var(--venus-edge-y));
  width: clamp(282px, 18vw, 334px);
  box-sizing: border-box;
  padding: clamp(13px, 1.1vw, 17px) clamp(14px, 1.2vw, 18px);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
}
.venus-full-exploration .mars-full-hud h3 { font-size: clamp(28px, 2.25vw, 36px); }
.venus-full-exploration .mars-hud-kicker { font-size: clamp(6.5px, .48vw, 7.5px); }
.venus-full-exploration .mars-hud-mode { font-size: clamp(6px, .43vw, 6.8px); line-height: 1.4; }
.venus-full-exploration .mars-hud-location { margin-top: 10px; font-size: clamp(8.2px, .62vw, 9.5px); }
.venus-full-exploration .mars-hud-coordinates { font-size: clamp(7.3px, .55vw, 8.4px); line-height: 1.4; }
.venus-full-exploration .mars-hud-metrics { gap: 6px 9px; margin-top: 9px; }
.venus-full-exploration .mars-hud-metric { padding-top: 6px; }
.venus-full-exploration .mars-hud-metric small { font-size: clamp(5.5px, .42vw, 6.4px); line-height: 1.3; }
.venus-full-exploration .mars-hud-metric strong { margin-top: 3px; font-size: clamp(8.8px, .62vw, 10.5px); line-height: 1.25; }
.venus-full-exploration .mars-hud-data { margin-top: 8px; font-size: clamp(5.4px, .39vw, 6.2px); line-height: 1.4; }
.venus-full-exploration .mars-control-hints {
  z-index: var(--venus-z-hud);
  left: 50%;
  bottom: calc(var(--venus-safe-bottom) + clamp(14px, 2.2vh, 26px));
  width: min(920px, calc(100vw - 44px));
  justify-content: center;
  flex-wrap: wrap;
  row-gap: 5px;
  column-gap: clamp(10px, 1.2vw, 18px);
  font-size: clamp(5.8px, .42vw, 6.8px);
  white-space: normal;
  text-align: center;
}
.venus-full-exploration .mars-loading-progress { background: linear-gradient(90deg, #b96b45, #ffc37a); }
.venus-full-exploration .mars-travel-veil {
  background: radial-gradient(circle at 50% 42%, rgba(231, 154, 101, .40), transparent 32%), linear-gradient(180deg, rgba(98, 48, 36, .95), rgba(38, 19, 17, .99));
}

/* Compact pre-entry graphics selector. The destination grid is intentionally a separate step. */
.venus-quality-panel {
  position: absolute;
  z-index: var(--venus-z-modal);
  left: 50%;
  top: 50%;
  width: min(650px, calc(100vw - var(--venus-safe-left) - var(--venus-safe-right) - 32px));
  transform: translate(-50%, -50%);
  max-height: calc(100dvh - var(--venus-safe-top) - var(--venus-safe-bottom) - 32px);
  overflow: auto;
  padding: clamp(18px, 2vw, 24px);
  border: 1px solid rgba(241, 198, 142, .32);
  background: linear-gradient(145deg, rgba(29, 15, 12, .97), rgba(58, 30, 20, .96) 62%, rgba(26, 14, 12, .97));
  box-shadow: 0 36px 120px rgba(15, 4, 3, .68), 0 0 0 1px rgba(255, 218, 165, .04) inset;
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
}
.venus-quality-panel[hidden] { display: none; }
.venus-quality-topline { display: flex; align-items: center; justify-content: space-between; gap: 18px; color: #b58b68; font-size: 6px; letter-spacing: 2.1px; }
.venus-quality-topline button { width: 32px; height: 32px; border: 1px solid rgba(239, 193, 133, .28); background: transparent; color: #edd1ad; font-size: 20px; cursor: pointer; }
.venus-quality-topline button:hover, .venus-quality-topline button:focus-visible { outline: none; border-color: rgba(246, 210, 158, .68); background: rgba(118, 62, 40, .30); }
.venus-quality-copy { margin-top: 14px; }
.venus-quality-copy > small { color: #d0a26e; font-size: 5.5px; letter-spacing: 1.6px; }
.venus-quality-copy h3 { margin: 7px 0 8px; color: #fff0dc; font: 400 clamp(30px, 4.5vw, 48px)/1 Georgia, "Times New Roman", serif; letter-spacing: -.7px; }
.venus-quality-copy p { max-width: 560px; margin: 0; color: #bda492; font-size: 8px; line-height: 1.7; }
.venus-quality-options { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; margin-top: 20px; }
.venus-quality-option { min-height: 88px; display: flex; flex-direction: column; justify-content: space-between; align-items: flex-start; gap: 12px; padding: 14px; text-align: left; border: 1px solid rgba(235, 190, 130, .22); background: rgba(37, 20, 16, .70); color: #e7d2b9; cursor: pointer; transition: transform .18s ease, border-color .18s ease, background .18s ease, box-shadow .18s ease; }
.venus-quality-option:hover, .venus-quality-option:focus-visible { outline: none; transform: translateY(-2px); border-color: rgba(244, 202, 147, .58); background: rgba(73, 38, 27, .74); }
.venus-quality-option.is-selected { border-color: rgba(255, 205, 132, .80); background: linear-gradient(160deg, rgba(113, 58, 34, .70), rgba(49, 25, 19, .86)); box-shadow: 0 0 0 1px rgba(255, 211, 149, .12) inset, 0 12px 32px rgba(17, 5, 3, .32); }
.venus-quality-option span { display: grid; gap: 5px; }
.venus-quality-option strong { color: #fff1dc; font-size: 9px; letter-spacing: 1.45px; }
.venus-quality-option small { color: #a9907e; font-size: 6.2px; }
.venus-quality-option em { min-height: 13px; color: #f4bd72; font-style: normal; font-size: 5.1px; line-height: 1.3; letter-spacing: .85px; text-transform: uppercase; }
.venus-quality-summary { display: flex; align-items: center; justify-content: space-between; gap: 18px; margin-top: 14px; padding-top: 13px; border-top: 1px solid rgba(238, 194, 137, .16); }
.venus-quality-summary span { color: #826e61; font-size: 5.7px; line-height: 1.45; }
.venus-quality-summary strong { flex: none; color: #eac18d; font-size: 7px; letter-spacing: 1.2px; }
.venus-quality-start { width: 100%; margin-top: 15px; min-height: 42px; border: 1px solid rgba(245, 197, 130, .58); background: linear-gradient(180deg, rgba(126, 67, 39, .92), rgba(77, 38, 27, .94)); color: #ffe5bd; font-size: 6.5px; letter-spacing: 1.45px; text-transform: uppercase; cursor: pointer; }
.venus-quality-start:hover, .venus-quality-start:focus-visible { outline: none; border-color: rgba(255, 221, 171, .85); background: linear-gradient(180deg, rgba(149, 80, 44, .96), rgba(91, 44, 30, .96)); }
.venus-full-exploration.is-configuring .mars-full-hud,
.venus-full-exploration.is-configuring .mars-full-actions,
.venus-full-exploration.is-configuring .mars-control-hints,
.venus-full-exploration.is-configuring .mars-mobile-controls,
.venus-full-exploration.is-configuring .mars-landmark-card,
.venus-full-exploration.is-configuring .mars-orientation-hint,
.venus-full-exploration.is-configuring .venus-objectives-panel,
.venus-full-exploration.is-configuring .venus-objectives-toggle,
.venus-full-exploration.is-configuring .venus-observation-prompt,
.venus-full-exploration.is-configuring .venus-observation-card { opacity: 0 !important; pointer-events: none !important; }
.venus-full-exploration.is-configuring .mars-full-viewport { filter: brightness(.38) saturate(.68); }

/* Earth-style destination-first selector, themed for Venus. */
.venus-region-selector {
  position: absolute;
  z-index: var(--venus-z-modal);
  left: 50%;
  top: 50%;
  width: min(1060px, calc(100vw - var(--venus-safe-left) - var(--venus-safe-right) - 36px));
  max-height: min(84dvh, calc(100dvh - var(--venus-safe-top) - var(--venus-safe-bottom) - 32px));
  overflow: auto;
  transform: translate(-50%, -50%);
  padding: 28px;
  border: 1px solid rgba(241, 198, 142, .30);
  background: linear-gradient(145deg, rgba(30, 16, 13, .96), rgba(51, 27, 20, .94) 62%, rgba(25, 14, 12, .94));
  box-shadow: 0 34px 120px rgba(22, 7, 6, .65);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
}
.venus-region-selector[hidden] { display: none; }
.venus-region-selector-topline { display: flex; align-items: center; justify-content: space-between; gap: 20px; color: #b48a68; font-size: 6px; letter-spacing: 2.2px; }
.venus-region-selector-topline button {
  width: 32px; height: 32px;
  border: 1px solid rgba(239, 193, 133, .28);
  background: transparent;
  color: #ebcfaa;
  font-size: 20px;
  cursor: pointer;
}
.venus-region-selector-topline button:hover,
.venus-region-selector-topline button:focus-visible { border-color: rgba(246, 210, 158, .65); background: rgba(114, 61, 40, .28); outline: none; }
.venus-region-selector h3 { margin: 12px 0 8px; color: #fff0dc; font: 400 clamp(31px, 4vw, 54px)/1 Georgia, "Times New Roman", serif; letter-spacing: -1px; }
.venus-region-selector > p { max-width: 780px; margin: 0; color: #b9a08e; font-size: 10px; line-height: 1.7; }
.venus-region-grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 12px; margin-top: 24px; }
.venus-region-card {
  min-height: 286px;
  display: grid;
  align-content: start;
  gap: 8px;
  padding: 0 14px 14px;
  overflow: hidden;
  text-align: left;
  border: 1px solid rgba(233, 190, 133, .25);
  background: linear-gradient(180deg, rgba(48, 27, 21, .93), rgba(26, 15, 13, .93));
  color: #ead7c1;
  box-shadow: 0 12px 38px rgba(13, 4, 3, .26);
  cursor: pointer;
  transition: transform .22s ease, border-color .22s ease, background .22s ease, box-shadow .22s ease;
}
.venus-region-card:hover,
.venus-region-card:focus-visible { transform: translateY(-4px); outline: none; border-color: rgba(246, 201, 137, .66); background: rgba(61, 32, 23, .95); box-shadow: 0 20px 52px rgba(13, 4, 3, .48), 0 0 0 1px rgba(240, 182, 108, .18) inset; }
.venus-region-index { color: #8d6e5d; font-size: 6px; letter-spacing: 1.5px; }
.venus-region-card strong { color: #fff0dd; font: 400 20px/1.08 Georgia, "Times New Roman", serif; }
.venus-region-descriptor { min-height: 47px; color: #c6ae99; font-size: 6.4px; line-height: 1.55; }
.venus-region-card small { color: #a48a78; font-size: 6.2px; line-height: 1.5; }
.venus-region-card em { width: max-content; padding: 4px 6px; border: 1px solid rgba(236, 186, 123, .26); color: #e0b98a; font-style: normal; font-size: 5.3px; letter-spacing: 1.15px; }
.venus-region-source { margin-top: auto; color: #80695b; font-size: 5px; line-height: 1.4; }
.venus-region-preview { position: relative; display: block; height: 105px; margin: 0 -14px 3px; overflow: hidden; border-bottom: 1px solid rgba(235, 191, 134, .18); background: #3f241d; }
.venus-region-preview::before,
.venus-region-preview::after,
.venus-region-preview i { content: ""; position: absolute; inset: 0; pointer-events: none; }
.venus-region-preview b { position: absolute; left: 10px; bottom: 8px; z-index: 4; color: #fff0dc; font: 600 6px/1.1 system-ui, sans-serif; letter-spacing: 1.25px; text-transform: uppercase; text-shadow: 0 2px 10px #000c; }
.venus-region-preview-maat { background: linear-gradient(180deg, #9b6246 0 38%, #6e3e2e 39% 100%); }
.venus-region-preview-maat::before { clip-path: polygon(0 100%, 15% 88%, 30% 76%, 43% 59%, 52% 28%, 61% 60%, 74% 76%, 100% 91%, 100% 100%); background: linear-gradient(160deg, #a86f4e 0 38%, #7b4935 39% 70%, #513027 71% 100%); }
.venus-region-preview-maat::after { background: repeating-linear-gradient(165deg, transparent 0 15px, rgba(65, 30, 23, .34) 16px 18px, transparent 19px 31px); }
.venus-region-preview-maxwell { background: linear-gradient(180deg, #766154 0 34%, #49362f 35% 100%); }
.venus-region-preview-maxwell::before { clip-path: polygon(0 100%, 9% 70%, 18% 81%, 29% 45%, 38% 67%, 49% 20%, 59% 57%, 69% 32%, 78% 69%, 90% 47%, 100% 76%, 100% 100%); background: repeating-linear-gradient(155deg, #91786a 0 9px, #675146 10px 18px, #45332d 19px 27px); }
.venus-region-preview-aphrodite { background: linear-gradient(180deg, #8a5e49 0 32%, #5a382e 33% 100%); }
.venus-region-preview-aphrodite::before { background: repeating-linear-gradient(42deg, transparent 0 14px, rgba(215, 153, 105, .28) 15px 18px, transparent 19px 30px), repeating-linear-gradient(132deg, transparent 0 19px, rgba(63, 30, 24, .48) 20px 23px, transparent 24px 38px); transform: scale(1.2); }
.venus-region-preview-ishtar { background: linear-gradient(180deg, #887063 0 37%, #514039 38% 100%); }
.venus-region-preview-ishtar::before { clip-path: polygon(0 100%, 0 72%, 17% 66%, 24% 50%, 33% 58%, 43% 46%, 65% 48%, 73% 38%, 82% 58%, 91% 46%, 100% 61%, 100% 100%); background: linear-gradient(180deg, #92796a 0 46%, #665047 47% 100%); }
.venus-region-preview-ishtar::after { background: linear-gradient(90deg, rgba(49, 33, 28, .50), transparent 26%, transparent 72%, rgba(48, 31, 27, .52)); }
.venus-region-preview-alpha { background: linear-gradient(180deg, #98694c 0 35%, #5d392d 36% 100%); }
.venus-region-preview-alpha::before { background: repeating-linear-gradient(35deg, transparent 0 10px, rgba(241, 177, 116, .30) 11px 14px, transparent 15px 26px), repeating-linear-gradient(132deg, transparent 0 13px, rgba(70, 33, 26, .58) 14px 18px, transparent 19px 31px); transform: scale(1.22); }
.venus-region-preview-alpha::after { background: radial-gradient(ellipse at 68% 68%, rgba(55, 28, 22, .75) 0 8%, transparent 9%), radial-gradient(ellipse at 27% 52%, rgba(59, 29, 23, .58) 0 7%, transparent 8%); }
.venus-region-provenance { display: grid; grid-template-columns: auto 1fr; gap: 4px 14px; margin-top: 18px; padding-top: 14px; border-top: 1px solid rgba(238, 194, 137, .18); color: #977968; }
.venus-region-provenance strong { grid-row: 1 / span 2; color: #d8ae7d; font-size: 5.5px; letter-spacing: 1.3px; }
.venus-region-provenance span { color: #bca18c; font-size: 6.2px; letter-spacing: .7px; }
.venus-region-provenance small { color: #806b5e; font-size: 5.8px; line-height: 1.45; }

.venus-full-exploration.is-selecting .mars-full-hud,
.venus-full-exploration.is-selecting .mars-full-actions,
.venus-full-exploration.is-selecting .mars-control-hints,
.venus-full-exploration.is-selecting .mars-mobile-controls,
.venus-full-exploration.is-selecting .mars-landmark-card,
.venus-full-exploration.is-selecting .mars-orientation-hint,
.venus-full-exploration.is-selecting .venus-objectives-panel,
.venus-full-exploration.is-selecting .venus-objectives-toggle,
.venus-full-exploration.is-selecting .venus-observation-prompt,
.venus-full-exploration.is-selecting .venus-observation-card { opacity: 0 !important; pointer-events: none !important; }
.venus-full-exploration.is-selecting .mars-full-viewport { filter: brightness(.54) saturate(.78); }

/* Soft region boundary. No hard wall UI flash. */
.venus-boundary-hint {
  position: absolute;
  z-index: var(--venus-z-marker);
  left: 50%;
  bottom: 62px;
  transform: translate(-50%, 6px);
  padding: 8px 12px;
  border: 1px solid rgba(240, 182, 108, .24);
  background: rgba(35, 18, 14, .70);
  color: rgba(246, 211, 167, .84);
  font-size: 5.5px;
  letter-spacing: 1.1px;
  text-transform: uppercase;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity .24s ease, transform .24s ease, visibility 0s linear .24s;
}
.venus-boundary-hint.is-visible { opacity: 1; visibility: visible; transform: translate(-50%, 0); transition-delay: 0s; }

/* Educational card stays in the Mars landmark-card slot, but is readable and user-controlled. */
.venus-location-card {
  z-index: var(--venus-z-panel);
  right: calc(var(--venus-safe-right) + var(--venus-edge-x));
  top: calc(var(--venus-safe-top) + var(--venus-edge-y) + 46px);
  bottom: auto;
  width: clamp(330px, 23vw, 410px);
  max-height: min(72dvh, calc(100dvh - var(--venus-safe-top) - var(--venus-safe-bottom) - var(--venus-edge-y) - 102px));
  padding: clamp(15px, 1.15vw, 18px) clamp(16px, 1.25vw, 20px);
  overflow-y: auto;
  overscroll-behavior: contain;
  scrollbar-width: thin;
  scrollbar-color: rgba(240, 182, 108, .45) transparent;
  pointer-events: auto;
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
}
.venus-location-card-head { display: flex; align-items: center; justify-content: space-between; gap: 14px; }
.venus-location-card .venus-location-card-head > small { color: #b58b69; font-size: 8px; line-height: 1.35; letter-spacing: 1.35px; }
.venus-location-minimize {
  flex: 0 0 auto;
  min-height: 30px;
  padding: 0 9px;
  border: 1px solid rgba(236, 194, 137, .28);
  border-radius: 999px;
  background: rgba(38, 20, 16, .72);
  color: #d7b98f;
  font: 600 7px/1 system-ui, sans-serif;
  letter-spacing: .9px;
  text-transform: uppercase;
  cursor: pointer;
}
.venus-location-minimize:hover,
.venus-location-minimize:focus-visible { border-color: rgba(246, 207, 151, .64); background: rgba(80, 40, 28, .82); color: #ffe1ae; outline: none; }
.venus-location-card h4 { margin: 9px 0 7px; font-size: clamp(25px, 2.35vw, 31px); line-height: 1.06; }
.venus-location-card .mars-landmark-type { color: #c0a18b; font-size: 10.5px; line-height: 1.55; }
.venus-location-card .mars-landmark-coords { margin-top: 8px; color: #d2b78c; font-size: 9.5px; line-height: 1.45; }
.venus-landmark-media {
  position: relative;
  width: 100%;
  display: block;
  overflow: hidden;
  aspect-ratio: 16 / 9;
  margin: 14px 0;
  padding: 0;
  border: 1px solid var(--venus-line);
  border-radius: 10px;
  background: rgba(20, 11, 9, .56);
  cursor: zoom-in;
}
.venus-landmark-media img { width: 100%; height: 100%; display: block; object-fit: cover; filter: sepia(.10) contrast(1.07) saturate(.96); transition: transform .24s ease, filter .24s ease; }
.venus-landmark-media span {
  position: absolute; right: 8px; bottom: 8px;
  padding: 6px 8px; border: 1px solid rgba(246, 211, 163, .26); border-radius: 999px;
  background: rgba(18, 9, 7, .76); color: #efd2a6; font: 650 7px/1 system-ui, sans-serif;
  letter-spacing: .8px; text-transform: uppercase; backdrop-filter: blur(5px);
}
.venus-landmark-media:hover img, .venus-landmark-media:focus-visible img { transform: scale(1.018); filter: sepia(.06) contrast(1.10) saturate(1); }
.venus-landmark-media:focus-visible { outline: 1px solid rgba(246, 208, 151, .75); outline-offset: 3px; }
.venus-location-description { margin: 12px 0; color: rgba(255, 239, 219, .91); font-size: 12.5px; line-height: 1.68; }
.venus-location-facts { display: grid; gap: 9px; margin: 0 0 13px; padding-left: 20px; color: rgba(255, 234, 209, .79); font-size: 11px; line-height: 1.62; }
.venus-location-facts li::marker { color: #d4a36e; }
.venus-location-visualization-note {
  margin: 12px 0; padding: 10px 11px; border: 1px solid rgba(255, 126, 69, .25); border-radius: 8px;
  background: linear-gradient(90deg, rgba(154, 38, 20, .26), rgba(88, 20, 16, .18)); color: #ffc29c; font-size: 9px; line-height: 1.55; letter-spacing: .35px; box-shadow: 0 0 24px rgba(255, 75, 25, .06) inset;
}
.venus-location-data-badge { margin: 12px 0 10px; padding: 9px 11px; border: 1px solid rgba(240, 182, 108, .20); border-radius: 8px; background: rgba(240, 182, 108, .07); color: rgba(255, 209, 153, .88); font-size: 7.5px; line-height: 1.45; letter-spacing: .8px; }
.venus-location-sources { display: grid; gap: 7px; }
.venus-location-card .mars-landmark-source { margin-top: 0; color: #9f8674; font-size: 8.5px; line-height: 1.45; letter-spacing: .55px; }
.venus-location-card .mars-landmark-source:hover { color: #e7c99a; }
.venus-location-info-toggle {
  position: absolute; z-index: var(--venus-z-hud);
  right: calc(var(--venus-safe-right) + var(--venus-edge-x));
  bottom: calc(var(--venus-safe-bottom) + clamp(62px, 8vh, 82px));
  min-height: 36px; padding: 0 13px; border: 1px solid rgba(239, 193, 128, .42); border-radius: 999px;
  background: rgba(27, 14, 11, .88); color: #ebc68f; box-shadow: 0 12px 32px rgba(15, 5, 3, .30);
  backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(6px); cursor: pointer;
  font: 650 7px/1 system-ui, sans-serif; letter-spacing: 1px; text-transform: uppercase;
}
.venus-location-info-toggle:hover, .venus-location-info-toggle:focus-visible { border-color: rgba(249, 211, 158, .78); background: rgba(66, 31, 22, .94); color: #ffe0ac; outline: none; }


/* Educational exploration layer. Compact, contextual, and deliberately not game-like. */
.venus-objectives-panel {
  position: absolute;
  z-index: var(--venus-z-panel);
  left: calc(var(--venus-safe-left) + var(--venus-edge-x));
  bottom: calc(var(--venus-safe-bottom) + clamp(62px, 8vh, 82px));
  width: clamp(300px, 20vw, 340px);
  max-height: min(56dvh, calc(100dvh - var(--venus-safe-top) - var(--venus-safe-bottom) - 150px));
  overflow: auto;
  overscroll-behavior: contain;
  padding: 14px 15px 13px;
  border: 1px solid rgba(239, 193, 128, .28);
  background: linear-gradient(145deg, rgba(20, 9, 8, .88), rgba(44, 22, 17, .80));
  box-shadow: 0 18px 54px rgba(14, 5, 4, .35);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  color: #ead8c2;
  transition: opacity .22s ease, transform .22s ease;
}
.venus-objectives-panel[hidden] { display: none; }
.venus-objectives-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 14px; }
.venus-objectives-head > div { display: grid; gap: 4px; }
.venus-objectives-head small { color: #c2936e; font: 650 6.5px/1.2 system-ui, sans-serif; letter-spacing: 1.5px; }
.venus-objectives-head strong { color: #ffe2b5; font: 650 13px/1.2 system-ui, sans-serif; letter-spacing: .25px; }
.venus-objectives-head button {
  min-height: 28px; padding: 0 9px; border: 1px solid rgba(239, 193, 128, .25); border-radius: 999px;
  background: rgba(35, 18, 14, .66); color: #cfad88; font: 650 6.5px/1 system-ui, sans-serif; letter-spacing: .8px;
  text-transform: uppercase; cursor: pointer;
}
.venus-objectives-head button:hover, .venus-objectives-head button:focus-visible { border-color: rgba(245, 207, 151, .60); color: #ffe0ad; outline: none; }
#venus-objectives-intro { margin: 11px 0 12px; color: rgba(239, 218, 196, .78); font-size: 9.6px; line-height: 1.55; }
.venus-discovery-progress { margin: 0 0 11px; }
.venus-discovery-progress > div:first-child { display: flex; justify-content: space-between; gap: 12px; align-items: center; }
.venus-discovery-progress span { color: #a9856c; font: 650 6px/1 system-ui, sans-serif; letter-spacing: 1.1px; }
.venus-discovery-progress strong { color: #efc98f; font: 700 8px/1 system-ui, sans-serif; }
.venus-discovery-track { height: 2px; margin-top: 7px; overflow: hidden; background: rgba(235, 190, 128, .12); }
.venus-discovery-track i { display: block; width: 100%; height: 100%; transform: scaleX(0); transform-origin: left center; background: linear-gradient(90deg, #b97748, #f0c37f); transition: transform .32s ease; }
.venus-objectives-list { display: grid; gap: 7px; margin: 0; padding: 0; list-style: none; }
.venus-objectives-list li {
  position: relative; min-height: 26px; padding: 6px 7px 6px 28px; border: 1px solid rgba(236, 190, 128, .10);
  background: rgba(25, 12, 10, .32); color: rgba(239, 220, 199, .78); font-size: 8.8px; line-height: 1.45;
}
.venus-objectives-list li::before {
  content: ""; position: absolute; left: 9px; top: 10px; width: 8px; height: 8px; border: 1px solid rgba(237, 191, 130, .52); border-radius: 50%;
}
.venus-objectives-list li.is-complete { color: rgba(230, 211, 186, .54); }
.venus-objectives-list li.is-complete::before { background: #d3a46f; box-shadow: 0 0 0 2px rgba(211, 164, 111, .13); }
.venus-next-target { display: grid; grid-template-columns: 1fr auto; gap: 3px 12px; margin-top: 11px; padding-top: 10px; border-top: 1px solid rgba(236, 190, 128, .12); }
.venus-next-target small { grid-column: 1 / -1; color: #9d7e68; font-size: 5.8px; letter-spacing: 1.15px; }
.venus-next-target strong { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: #e8c79e; font-size: 8.4px; }
.venus-next-target span { color: #f3ba72; font-size: 8.2px; }
.venus-objectives-toggle {
  position: absolute; z-index: var(--venus-z-hud);
  left: calc(var(--venus-safe-left) + var(--venus-edge-x));
  bottom: calc(var(--venus-safe-bottom) + clamp(62px, 8vh, 82px));
  min-height: 36px; padding: 0 13px;
  border: 1px solid rgba(239, 193, 128, .42); border-radius: 999px; background: rgba(27, 14, 11, .88); color: #ebc68f;
  box-shadow: 0 12px 32px rgba(15, 5, 3, .30); backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px);
  font: 650 7px/1 system-ui, sans-serif; letter-spacing: .9px; text-transform: uppercase; cursor: pointer;
}
.venus-objectives-toggle:hover, .venus-objectives-toggle:focus-visible { border-color: rgba(249, 211, 158, .78); background: rgba(66, 31, 22, .94); color: #ffe0ac; outline: none; }

.venus-observation-prompt {
  position: absolute; z-index: var(--venus-z-panel); left: 50%;
  bottom: calc(var(--venus-safe-bottom) + clamp(78px, 10vh, 104px)); transform: translate(-50%, 6px);
  display: flex; align-items: center; gap: 10px; min-width: 260px; max-width: min(520px, calc(100vw - 30px));
  padding: 9px 10px; border: 1px solid rgba(248, 202, 137, .38); background: rgba(25, 12, 10, .86);
  box-shadow: 0 16px 42px rgba(12, 4, 3, .34); backdrop-filter: blur(9px); -webkit-backdrop-filter: blur(9px);
  color: #f0d6b2;
}
.venus-observation-prompt[hidden] { display: none; }
.venus-observation-key { display: grid; place-items: center; width: 29px; height: 29px; border: 1px solid rgba(246, 204, 147, .48); color: #ffdba2; font: 700 10px/1 system-ui, sans-serif; }
.venus-observation-prompt > div { min-width: 0; display: grid; gap: 2px; flex: 1; }
.venus-observation-prompt small { color: #a88469; font-size: 5.5px; letter-spacing: 1.1px; }
.venus-observation-prompt strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 9px; font-weight: 650; }
#venus-observe-button { min-height: 30px; padding: 0 11px; border: 1px solid rgba(249, 211, 158, .52); background: rgba(95, 47, 31, .68); color: #ffe0ad; font: 700 6.5px/1 system-ui, sans-serif; letter-spacing: 1px; cursor: pointer; }
#venus-observe-button:hover, #venus-observe-button:focus-visible { background: rgba(124, 63, 39, .82); outline: none; }

.venus-observation-card {
  position: absolute; z-index: var(--venus-z-panel);
  right: calc(var(--venus-safe-right) + var(--venus-edge-x)); top: 50%; transform: translateY(-50%);
  width: clamp(350px, 26vw, 440px);
  max-height: min(76dvh, calc(100dvh - var(--venus-safe-top) - var(--venus-safe-bottom) - 72px));
  overflow: auto; overscroll-behavior: contain; padding: 17px 18px 18px;
  border: 1px solid rgba(241, 194, 132, .36); background: linear-gradient(150deg, rgba(20, 9, 8, .96), rgba(48, 23, 17, .94));
  box-shadow: 0 30px 90px rgba(12, 3, 3, .55); backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px); color: #f3ddc4;
}
.venus-observation-card[hidden] { display: none; }
.venus-observation-card-head { display: flex; justify-content: space-between; gap: 14px; align-items: flex-start; }
.venus-observation-card-head > div { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; }
.venus-observation-card-head small { color: #d19e70; font: 700 6.6px/1.2 system-ui, sans-serif; letter-spacing: 1.5px; }
#venus-observation-status { padding: 4px 6px; border: 1px solid rgba(237, 188, 124, .22); border-radius: 999px; color: #b89271; font: 650 5.5px/1 system-ui, sans-serif; letter-spacing: .9px; }
.venus-observation-card-head button { width: 30px; height: 30px; border: 1px solid rgba(239, 193, 128, .25); background: rgba(37, 18, 14, .65); color: #e6c8a2; font-size: 18px; cursor: pointer; }
.venus-observation-card-head button:hover, .venus-observation-card-head button:focus-visible { border-color: rgba(247, 210, 157, .62); color: #ffe3b5; outline: none; }
.venus-observation-card h4 { margin: 12px 0 6px; color: #fff0d8; font: 400 clamp(24px, 2.8vw, 34px)/1.05 Georgia, "Times New Roman", serif; }
.venus-observation-meta { margin: 0 0 12px; color: #ab8b73; font-size: 7.5px; letter-spacing: .55px; }
.venus-observation-lead { margin: 0 0 14px; color: rgba(255, 237, 215, .91); font-size: 12.2px; line-height: 1.68; }
.venus-observation-sections { display: grid; gap: 10px; }
.venus-observation-section { padding: 10px 11px; border: 1px solid rgba(238, 191, 129, .13); background: rgba(21, 10, 8, .36); }
.venus-observation-section small { display: block; margin-bottom: 5px; color: #c8976a; font-size: 6px; letter-spacing: 1.15px; }
.venus-observation-section p { margin: 0; color: rgba(237, 218, 197, .80); font-size: 10.4px; line-height: 1.62; }
.venus-observation-comparison { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; margin-top: 11px; }
.venus-observation-comparison > div { padding: 9px; border: 1px solid rgba(236, 189, 128, .14); background: rgba(90, 43, 27, .20); }
.venus-observation-comparison small { display: block; color: #997b68; font-size: 5.5px; letter-spacing: 1px; }
.venus-observation-comparison strong { display: block; margin-top: 4px; color: #f0c389; font-size: 11px; }
.venus-observation-why { margin-top: 12px; padding: 11px 12px; border-left: 2px solid rgba(232, 165, 94, .62); background: rgba(100, 45, 28, .18); }
.venus-observation-why small { color: #d3a06f; font-size: 6px; letter-spacing: 1.2px; }
.venus-observation-why p { margin: 5px 0 0; color: rgba(247, 226, 203, .86); font-size: 10.3px; line-height: 1.58; }
.venus-observation-more { margin-top: 11px; border-top: 1px solid rgba(235, 190, 128, .13); border-bottom: 1px solid rgba(235, 190, 128, .13); }
.venus-observation-more summary { padding: 10px 0; color: #e2b785; font-size: 8.2px; letter-spacing: .45px; cursor: pointer; }
#venus-observation-deep { display: grid; gap: 7px; padding: 0 0 11px; }
#venus-observation-deep p { margin: 0; color: rgba(220, 202, 183, .72); font-size: 9.4px; line-height: 1.55; }
.venus-observation-source-note { margin-top: 11px; color: #8f7565; font-size: 8.4px; line-height: 1.5; }
.venus-observation-source { display: inline-block; margin-top: 7px; color: #c9a47e; font-size: 8px; line-height: 1.4; letter-spacing: .4px; text-decoration: none; }
.venus-observation-source:hover { color: #f0c994; }

.venus-full-exploration.is-observation-open .mars-full-actions,
.venus-full-exploration.is-observation-open .mars-control-hints,
.venus-full-exploration.is-observation-open .venus-observation-prompt { opacity: .26; pointer-events: none; }

/* Mars mobile layout targets data-mars-control. Map the same positions to Venus. */
.venus-full-exploration .mars-mobile-dpad [data-venus-control="forward"] { left: 51px; top: 0; }
.venus-full-exploration .mars-mobile-dpad [data-venus-control="left"] { left: 0; top: 51px; }
.venus-full-exploration .mars-mobile-dpad [data-venus-control="right"] { right: 0; top: 51px; }
.venus-full-exploration .mars-mobile-dpad [data-venus-control="backward"] { left: 51px; bottom: 0; }
.venus-full-exploration .mars-mobile-altitude [data-venus-control="up"] { top: 0; }
.venus-full-exploration .mars-mobile-altitude [data-venus-control="down"] { bottom: 0; }

.mission.is-venus-full .masthead,
.mission.is-venus-full .mission-footer,
.mission.is-venus-full-selecting .masthead,
.mission.is-venus-full-selecting .mission-footer { opacity: 0 !important; pointer-events: none !important; transition: opacity .35s ease; }


/* ============================================================
   RESPONSIVE UI ARCHITECTURE
   Base = standard/large desktop. Then compact desktop/tablet,
   mobile composition, and a small set of height-sensitive rules.
   ============================================================ */

@media (min-width: 1800px) {
  .venus-full-exploration { --venus-edge-x: clamp(28px, 2.6vw, 48px); }
  .venus-full-exploration .mars-full-hud { width: 330px; }
  .venus-location-card { width: 410px; }
  .venus-observation-card { width: 430px; }
  .venus-objectives-panel { width: 330px; }
}

/* Compact desktop / laptop, including the critical 1366×768 class. */
@media (max-width: 1599px), (max-height: 819px) {
  .venus-full-exploration {
    --venus-edge-x: clamp(12px, 1.45vw, 22px);
    --venus-edge-y: clamp(11px, 1.8vh, 20px);
  }
  .venus-full-exploration .mars-full-hud {
    width: clamp(254px, 20vw, 292px);
    padding: 11px 12px 10px;
  }
  .venus-full-exploration .mars-full-hud h3 { margin: 5px 0 0; font-size: clamp(23px, 2.15vw, 29px); }
  .venus-full-exploration .mars-hud-kicker { font-size: 6px; letter-spacing: 1.9px; }
  .venus-full-exploration .mars-hud-mode,
  .venus-full-exploration .mars-hud-data { display: none; }
  .venus-full-exploration .mars-hud-location { margin-top: 6px; font-size: 8px; }
  .venus-full-exploration .mars-hud-coordinates { font-size: 7px; }
  .venus-full-exploration .mars-hud-metrics {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 5px 7px;
    margin-top: 7px;
  }
  .venus-full-exploration .venus-hud-metric-region { display: none; }
  .venus-full-exploration .mars-hud-metric { padding-top: 5px; }
  .venus-full-exploration .mars-hud-metric small { font-size: 5.25px; letter-spacing: 1px; }
  .venus-full-exploration .mars-hud-metric strong { font-size: 8.3px; }

  .venus-full-exploration .venus-full-actions { gap: 5px; }
  .venus-full-exploration .venus-actions-menu > button { min-height: 32px; padding-inline: 8px; font-size: 5.1px; letter-spacing: .7px; }

  .venus-location-card {
    width: clamp(310px, 24vw, 350px);
    top: calc(var(--venus-safe-top) + var(--venus-edge-y) + 40px);
    bottom: auto;
    max-height: calc(100dvh - var(--venus-safe-top) - var(--venus-safe-bottom) - var(--venus-edge-y) - 88px);
    padding: 12px 13px 13px;
  }
  .venus-location-card h4 { margin-top: 7px; font-size: clamp(23px, 2.1vw, 28px); }
  .venus-location-card .mars-landmark-type { font-size: 9.5px; }
  .venus-location-description { font-size: 11px; line-height: 1.58; }
  .venus-location-facts { gap: 6px; font-size: 9.7px; line-height: 1.5; }
  .venus-landmark-media { margin: 9px 0; max-height: min(22dvh, 150px); }
  .venus-location-info-toggle { bottom: calc(var(--venus-safe-bottom) + 54px); }

  .venus-objectives-panel {
    width: clamp(276px, 21vw, 304px);
    max-height: min(52dvh, calc(100dvh - 150px));
    bottom: calc(var(--venus-safe-bottom) + 54px);
    padding: 11px 12px;
  }
  #venus-objectives-intro { margin: 8px 0 9px; font-size: 8.5px; }
  .venus-objectives-list { gap: 5px; }
  .venus-objectives-list li { min-height: 24px; padding-block: 5px; font-size: 7.8px; }
  .venus-objectives-toggle { bottom: calc(var(--venus-safe-bottom) + 54px); }

  .venus-observation-card {
    width: clamp(330px, 27vw, 380px);
    max-height: min(72dvh, calc(100dvh - 64px));
    padding: 14px 15px 15px;
  }
  .venus-observation-card h4 { font-size: clamp(23px, 2.3vw, 30px); }
  .venus-observation-lead { font-size: 10.9px; }
  .venus-observation-section p { font-size: 9.5px; }

  .venus-full-exploration .mars-control-hints {
    bottom: calc(var(--venus-safe-bottom) + 12px);
    width: min(720px, calc(100vw - 40px));
    column-gap: 13px;
    row-gap: 4px;
    font-size: 5.6px;
    line-height: 1.25;
  }

  .venus-region-selector { padding: 20px; }
  .venus-region-selector h3 { font-size: clamp(30px, 3.5vw, 44px); }
  .venus-region-grid { grid-template-columns: repeat(3, 1fr); gap: 9px; margin-top: 18px; }
  .venus-region-card { min-height: 220px; }
  .venus-region-preview { height: 82px; }
  .venus-quality-copy h3 { font-size: clamp(28px, 3.4vw, 40px); }
}

/* Tablet landscape / narrow laptops. Keep desktop composition, but make panels overlays. */

/* User-controlled secondary panels: desktop/laptop may keep both open.
   Reflow them instead of silently mutating state. */
.venus-full-exploration.is-info-open.is-objectives-open .venus-objectives-panel {
  max-height: min(50dvh, calc(100dvh - var(--venus-safe-top) - var(--venus-safe-bottom) - 160px));
}

@media (min-width: 821px) and (max-width: 1599px) {
  .venus-full-exploration.is-info-open.is-objectives-open .venus-location-card {
    width: clamp(292px, 23vw, 342px);
  }
  .venus-full-exploration.is-info-open.is-objectives-open .venus-objectives-panel {
    width: clamp(252px, 20vw, 292px);
  }
}

@media (min-width: 821px) and (max-width: 1100px) {
  .venus-full-exploration.is-info-open.is-objectives-open .venus-location-card {
    width: clamp(276px, 31vw, 308px);
  }
  .venus-full-exploration.is-info-open.is-objectives-open .venus-objectives-panel {
    width: clamp(224px, 26vw, 258px);
    max-height: min(46dvh, calc(100dvh - 148px));
  }
}

@media (min-width: 821px) and (max-height: 720px) {
  .venus-full-exploration.is-info-open.is-objectives-open .venus-objectives-panel {
    max-height: min(42dvh, calc(100dvh - 136px));
    padding-block: 9px;
  }
  .venus-full-exploration.is-info-open.is-objectives-open #venus-objectives-intro {
    margin-block: 6px 7px;
  }
  .venus-full-exploration.is-info-open.is-objectives-open .venus-objectives-list { gap: 4px; }
}

@media (min-width: 821px) and (max-width: 1100px) {
  .venus-full-exploration .mars-full-hud { width: clamp(238px, 27vw, 272px); }
  .venus-full-exploration .mars-full-hud h3 { font-size: 24px; }
  .venus-location-card { width: clamp(310px, 36vw, 350px); }
  .venus-objectives-panel { width: clamp(270px, 31vw, 300px); }
  .venus-observation-card { width: clamp(320px, 38vw, 370px); }
  .venus-full-exploration .mars-control-hints { width: min(640px, calc(100vw - 32px)); }
  .venus-full-exploration .venus-actions-menu > button { padding-inline: 7px; }
}

/* Mobile and touch-tablet composition: do not shrink desktop sidebars onto touch screens. */
@media (max-width: 820px), (pointer: coarse) and (max-width: 1100px) {
  .venus-full-exploration {
    --venus-edge-x: 10px;
    --venus-edge-y: 10px;
  }

  .venus-full-exploration .mars-control-hints,
  .venus-full-exploration .mars-orientation-hint { display: none !important; }
  .venus-full-exploration .mars-mobile-controls {
    display: block;
    z-index: var(--venus-z-hud);
    inset: 0;
    pointer-events: none;
  }

  .venus-full-exploration .mars-full-hud {
    left: calc(var(--venus-safe-left) + 10px);
    right: auto;
    top: calc(var(--venus-safe-top) + 10px);
    width: calc(100% - var(--venus-safe-left) - var(--venus-safe-right) - 82px);
    max-width: 520px;
    min-height: 0;
    padding: 8px 10px 9px;
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 5px;
    background: linear-gradient(145deg, rgba(20, 8, 8, .84), rgba(45, 17, 13, .70));
  }
  .venus-full-exploration .mars-hud-kicker,
  .venus-full-exploration .mars-full-hud h3,
  .venus-full-exploration .mars-hud-mode,
  .venus-full-exploration .mars-hud-coordinates,
  .venus-full-exploration .mars-hud-data,
  .venus-full-exploration .venus-hud-metric-region { display: none; }
  .venus-full-exploration .mars-hud-location {
    margin: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: clamp(9px, 2.7vw, 12px);
    letter-spacing: .95px;
  }
  .venus-full-exploration .mars-hud-metrics {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 4px 7px;
    margin: 0;
  }
  .venus-full-exploration .mars-hud-metric { min-width: 0; padding-top: 4px; }
  .venus-full-exploration .mars-hud-metric small {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: clamp(6.4px, 1.65vw, 7.1px);
    letter-spacing: .7px;
  }
  .venus-full-exploration .mars-hud-metric strong {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    margin-top: 2px;
    font-size: clamp(8.2px, 2.2vw, 9.4px);
  }

  .venus-full-exploration .venus-full-actions {
    right: calc(var(--venus-safe-right) + 10px);
    top: calc(var(--venus-safe-top) + 10px);
    display: block;
    max-width: none;
  }
  .venus-actions-menu-toggle {
    display: block !important;
    width: 44px;
    min-width: 44px;
    height: 44px;
    min-height: 44px !important;
    padding: 0 !important;
    font-size: 0 !important;
    letter-spacing: 0 !important;
  }
  .venus-actions-menu-toggle::before {
    content: "MENU";
    font: 700 7px/1 system-ui, sans-serif;
    letter-spacing: .85px;
  }
  .venus-actions-menu {
    position: absolute;
    right: 0;
    top: calc(100% + 7px);
    width: min(188px, calc(100vw - 24px));
    display: grid;
    gap: 6px;
    padding: 7px;
    border: 1px solid rgba(239, 193, 128, .26);
    background: rgba(23, 11, 9, .95);
    box-shadow: 0 18px 50px rgba(10, 3, 2, .45);
    opacity: 0;
    visibility: hidden;
    transform: translateY(-5px);
    transition: opacity .16s ease, transform .16s ease, visibility 0s linear .16s;
  }
  .venus-full-actions.is-open .venus-actions-menu {
    opacity: 1;
    visibility: visible;
    transform: none;
    transition-delay: 0s;
  }
  .venus-full-exploration .venus-actions-menu > button {
    width: 100%;
    min-height: 44px;
    padding: 0 12px;
    text-align: left;
    font-size: 7.2px;
  }
  #venus-fullscreen-toggle span { font-size: 0; }
  #venus-fullscreen-toggle span::after { content: "Layar"; font-size: 7.2px; }
  #venus-fullscreen-toggle[aria-pressed="true"] span::after { content: "Keluar layar"; }
  #venus-full-exit { font-size: 0; }
  #venus-full-exit::after { content: "Keluar"; font: 650 7.2px/1 system-ui, sans-serif; letter-spacing: .8px; }

  .venus-objectives-toggle,
  .venus-location-info-toggle {
    top: calc(var(--venus-safe-top) + 82px);
    bottom: auto;
    min-height: 44px;
    padding: 0 12px;
    font-size: 7.2px;
    background: rgba(27, 14, 11, .88);
    backdrop-filter: blur(5px);
    -webkit-backdrop-filter: blur(5px);
  }
  .venus-objectives-toggle {
    left: calc(var(--venus-safe-left) + 10px);
    right: auto;
  }
  .venus-location-info-toggle {
    right: calc(var(--venus-safe-right) + 10px);
    left: auto;
  }

  .venus-location-card,
  .venus-objectives-panel,
  .venus-observation-card {
    z-index: var(--venus-z-panel);
    left: calc(var(--venus-safe-left) + 8px);
    right: calc(var(--venus-safe-right) + 8px);
    top: auto;
    bottom: 0;
    width: auto;
    max-width: none;
    transform: translateY(10px);
    border-radius: 14px 14px 0 0;
    border-bottom: 0;
    padding: 16px 16px calc(16px + var(--venus-safe-bottom));
    box-shadow: 0 -18px 58px rgba(10, 3, 2, .46);
    backdrop-filter: blur(7px);
    -webkit-backdrop-filter: blur(7px);
  }
  .venus-location-card {
    max-height: min(78dvh, calc(100dvh - var(--venus-safe-top) - 68px));
  }
  .venus-location-card.is-visible { transform: translateY(0); }
  .venus-objectives-panel {
    max-height: min(62dvh, calc(100dvh - var(--venus-safe-top) - 100px));
  }
  .venus-observation-card {
    max-height: min(78dvh, calc(100dvh - var(--venus-safe-top) - 68px));
  }
  .venus-observation-card:not([hidden]) { transform: translateY(0); }

  .venus-location-card-head,
  .venus-observation-card-head,
  .venus-objectives-head {
    position: sticky;
    top: -1px;
    z-index: 1;
    padding-bottom: 8px;
    background: linear-gradient(180deg, rgba(28, 13, 10, .98) 0 78%, rgba(28, 13, 10, 0));
  }
  .venus-location-minimize,
  .venus-observation-card-head button,
  .venus-objectives-head button { min-width: 44px; min-height: 44px; }
  .venus-location-card h4,
  .venus-observation-card h4 { font-size: clamp(25px, 7vw, 32px); }
  .venus-location-description,
  .venus-observation-lead { font-size: clamp(11.5px, 3.2vw, 13px); }
  .venus-location-facts,
  .venus-observation-section p { font-size: clamp(10px, 2.75vw, 11.5px); }

  .venus-observation-key { display: none; }
  .venus-observation-prompt {
    bottom: calc(var(--venus-safe-bottom) + 162px);
    width: min(430px, calc(100vw - var(--venus-safe-left) - var(--venus-safe-right) - 20px));
    min-width: 0;
    padding: 8px 9px;
  }
  #venus-observe-button { display: block; min-height: 44px; padding-inline: 14px; }

  .venus-full-exploration .mars-mobile-dpad {
    left: calc(var(--venus-safe-left) + 12px);
    bottom: calc(var(--venus-safe-bottom) + 12px);
    width: 136px;
    height: 136px;
  }
  .venus-full-exploration .mars-mobile-dpad button,
  .venus-full-exploration .mars-mobile-altitude button {
    width: 48px;
    height: 48px;
  }
  .venus-full-exploration .mars-mobile-dpad [data-venus-control="forward"] { left: 44px; top: 0; }
  .venus-full-exploration .mars-mobile-dpad [data-venus-control="left"] { left: 0; top: 44px; }
  .venus-full-exploration .mars-mobile-dpad [data-venus-control="right"] { right: 0; top: 44px; }
  .venus-full-exploration .mars-mobile-dpad [data-venus-control="backward"] { left: 44px; bottom: 0; }
  .venus-full-exploration .mars-dpad-core { left: 56px; top: 56px; }

  .venus-full-exploration .mars-mobile-altitude {
    right: calc(var(--venus-safe-right) + 12px);
    bottom: calc(var(--venus-safe-bottom) + 18px);
  }
  .venus-boundary-hint {
    bottom: calc(var(--venus-safe-bottom) + 166px);
    max-width: calc(100vw - 30px);
    text-align: center;
  }

  .venus-region-selector,
  .venus-quality-panel {
    width: calc(100vw - var(--venus-safe-left) - var(--venus-safe-right) - 18px);
    max-height: calc(100dvh - var(--venus-safe-top) - var(--venus-safe-bottom) - 18px);
    padding: 16px;
  }
  .venus-region-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; margin-top: 15px; }
  .venus-region-card { min-height: 190px; padding: 0 11px 11px; }
  .venus-region-preview { height: 74px; margin-inline: -11px; }
  .venus-region-descriptor { min-height: 0; }
  .venus-quality-options { grid-template-columns: 1fr; gap: 7px; margin-top: 14px; }
  .venus-quality-option { min-height: 56px; flex-direction: row; align-items: center; padding: 11px 12px; }
  .venus-quality-copy p { font-size: 7.4px; }
  .venus-quality-copy h3 { font-size: clamp(29px, 8vw, 40px); }

  .venus-full-tutorial .mars-tutorial-desktop { display: none; }
  .venus-full-tutorial .mars-tutorial-mobile { display: block; }
}

/* Narrow phone. Preserve touch size, trim nonessential density. */
@media (max-width: 430px) {
  .venus-full-exploration .mars-full-hud {
    width: calc(100% - var(--venus-safe-left) - var(--venus-safe-right) - 72px);
    padding: 7px 8px 8px;
  }
  .venus-full-exploration .mars-hud-metrics { gap: 3px 5px; }
  .venus-full-exploration .mars-hud-metric small { font-size: 6.2px; }
  .venus-full-exploration .mars-hud-metric strong { font-size: 7.4px; }
  .venus-objectives-toggle,
  .venus-location-info-toggle { top: calc(var(--venus-safe-top) + 76px); }
  .venus-region-grid { grid-template-columns: 1fr; }
  .venus-region-card { min-height: 148px; }
  .venus-region-preview { height: 68px; }
  .venus-location-card,
  .venus-objectives-panel,
  .venus-observation-card { left: var(--venus-safe-left); right: var(--venus-safe-right); }
}

/* Short screens need vertical compression regardless of width. */
@media (max-height: 720px) {
  .venus-full-exploration { --venus-edge-y: clamp(10px, 1.8dvh, 13px); }
  .venus-full-exploration .mars-full-hud { top: calc(var(--venus-safe-top) + var(--venus-edge-y)); padding-block: 7px; }
  .venus-full-exploration .mars-full-hud h3,
  .venus-full-exploration .mars-hud-mode,
  .venus-full-exploration .mars-hud-data { display: none; }
  .venus-full-exploration .mars-hud-location { margin-top: 3px; }
  .venus-full-exploration .venus-full-actions { top: calc(var(--venus-safe-top) + var(--venus-edge-y)); }
  .venus-location-card {
    top: calc(var(--venus-safe-top) + var(--venus-edge-y) + 38px);
    bottom: auto;
    max-height: calc(100dvh - var(--venus-safe-top) - var(--venus-safe-bottom) - var(--venus-edge-y) - 84px);
    padding-block: 10px 11px;
  }
  .venus-location-card .venus-location-card-head > small { font-size: 6.8px; }
  .venus-location-card h4 { margin-block: 6px 5px; font-size: clamp(21px, 2vw, 26px); }
  .venus-location-card .mars-landmark-type { font-size: 8.8px; }
  .venus-landmark-media { max-height: min(20dvh, 118px); margin-block: 7px; }
  .venus-location-description { margin-block: 8px; font-size: 10.2px; line-height: 1.5; }
  .venus-location-facts { gap: 5px; margin-bottom: 9px; font-size: 9.1px; line-height: 1.45; }
  .venus-location-data-badge { margin-block: 8px 7px; padding: 7px 9px; }
  .venus-observation-card { max-height: calc(100dvh - var(--venus-safe-top) - var(--venus-safe-bottom) - 44px); }
  .venus-objectives-panel { max-height: min(52dvh, calc(100dvh - 122px)); }
  .venus-full-exploration .mars-control-hints { bottom: calc(var(--venus-safe-bottom) + 10px); }
  .venus-quality-panel,
  .venus-region-selector { max-height: calc(100dvh - var(--venus-safe-top) - var(--venus-safe-bottom) - 20px); }
}



/* Short desktop windows: keep contextual cards below the toolbar instead of vertically centering into it. */
@media (min-width: 821px) and (max-height: 720px) {
  .venus-observation-card {
    top: calc(var(--venus-safe-top) + var(--venus-edge-y) + 38px);
    bottom: auto;
    transform: none;
    max-height: calc(100dvh - var(--venus-safe-top) - var(--venus-safe-bottom) - var(--venus-edge-y) - 84px);
  }
}

/* Short mobile landscape / small-height tablets. */
@media (max-width: 820px) and (max-height: 650px) {
  .venus-full-exploration .mars-full-hud {
    width: min(430px, calc(100% - var(--venus-safe-left) - var(--venus-safe-right) - 70px));
    padding-block: 6px;
  }
  .venus-full-exploration .mars-hud-location { font-size: 8.5px; }
  .venus-full-exploration .mars-hud-metric small { display: none; }
  .venus-full-exploration .mars-hud-metric strong { font-size: 7.5px; margin-top: 0; }
  .venus-objectives-toggle,
  .venus-location-info-toggle { top: calc(var(--venus-safe-top) + 58px); }
  .venus-full-exploration .mars-mobile-dpad {
    width: 120px; height: 120px;
    bottom: calc(var(--venus-safe-bottom) + 8px);
  }
  .venus-full-exploration .mars-mobile-dpad button { width: 44px; height: 44px; }
  .venus-full-exploration .mars-mobile-dpad [data-venus-control="forward"] { left: 38px; }
  .venus-full-exploration .mars-mobile-dpad [data-venus-control="left"] { top: 38px; }
  .venus-full-exploration .mars-mobile-dpad [data-venus-control="right"] { top: 38px; }
  .venus-full-exploration .mars-mobile-dpad [data-venus-control="backward"] { left: 38px; }
  .venus-full-exploration .mars-dpad-core { left: 49px; top: 49px; }
  .venus-full-exploration .mars-mobile-altitude { bottom: calc(var(--venus-safe-bottom) + 10px); }
  .venus-observation-prompt,
  .venus-boundary-hint { bottom: calc(var(--venus-safe-bottom) + 126px); }
}

/* Transition UI is coordinated, but never masks the world with a hard cut. */
.venus-full-exploration.is-exiting [data-venus-ui],
.venus-full-exploration.is-exiting .mars-control-hints,
.venus-full-exploration.is-exiting .venus-boundary-hint,
.venus-full-exploration.is-exiting .venus-info-toggle {
  opacity: 0 !important;
  pointer-events: none !important;
  transition: opacity .34s ease !important;
}
.venus-full-exploration.is-exiting .venus-cloud-entry,
.venus-full-exploration.is-exiting .venus-haze-vignette,
.venus-full-exploration.is-exiting .venus-heat-shimmer {
  transition: opacity .7s ease;
  opacity: 0;
}

@media (prefers-reduced-motion: reduce) {
  .venus-full-exploration *,
  .venus-full-exploration *::before,
  .venus-full-exploration *::after,
  .venus-caption .venus-full-explore-button {
    transition-duration: .01ms !important;
    animation-duration: .01ms !important;
  }
}

/* Shared overlay safety: loading, tutorial and failures stay inside the live viewport. */
.venus-full-exploration .mars-full-loading,
.venus-full-exploration .mars-full-error,
.venus-full-exploration .mars-full-tutorial {
  z-index: var(--venus-z-modal);
  max-width: min(620px, calc(100vw - var(--venus-safe-left) - var(--venus-safe-right) - 24px));
  max-height: calc(100dvh - var(--venus-safe-top) - var(--venus-safe-bottom) - 24px);
  overflow: auto;
  overscroll-behavior: contain;
}

@media (max-width: 820px), (pointer: coarse) and (max-width: 1100px) {
  .venus-objectives-panel:not([hidden]) { transform: translateY(0); }

  /* A bottom sheet is the active interaction surface. Touch movement fades out so
     it cannot visually or physically collide with reading controls. */
  .venus-full-exploration:is(.is-info-open, .is-objectives-open, .is-observation-open) .mars-mobile-controls {
    opacity: .08;
    pointer-events: none;
    transition: opacity .14s ease;
  }
  .venus-full-exploration:is(.is-info-open, .is-objectives-open, .is-observation-open) .venus-observation-prompt,
  .venus-full-exploration:is(.is-info-open, .is-objectives-open, .is-observation-open) .venus-boundary-hint {
    opacity: 0;
    pointer-events: none;
  }
  .venus-full-exploration .mars-full-loading,
  .venus-full-exploration .mars-full-error,
  .venus-full-exploration .mars-full-tutorial {
    width: calc(100vw - var(--venus-safe-left) - var(--venus-safe-right) - 20px);
    max-height: calc(100dvh - var(--venus-safe-top) - var(--venus-safe-bottom) - 20px);
  }
}


/* ============================================================
   2026-10-03 VENUS UI READABILITY + EARTH PARITY PASS
   Geometry, hierarchy and control density mirror Earth while
   preserving the Venus copper / Magellan visual identity.
   ============================================================ */
.venus-full-exploration,
.venus-full-exploration * { box-sizing:border-box; }
.venus-full-exploration button,
.venus-full-exploration a { cursor:pointer; }

.venus-region-selector,
.venus-quality-panel,
.venus-full-exploration .mars-full-tutorial,
.venus-objectives-panel,
.venus-observation-card,
.venus-location-card { max-width:calc(100vw - 24px); }
.venus-region-selector *,
.venus-quality-panel *,
.venus-full-exploration .mars-full-tutorial *,
.venus-objectives-panel *,
.venus-observation-card *,
.venus-location-card * { min-width:0; overflow-wrap:anywhere; }

/* Destination selector: preserve the cinematic five-column desktop view,
   but remove the 5–6px typography that made the cards unreadable. */
.venus-region-selector {
  width:min(1240px,calc(100vw - var(--venus-safe-left) - var(--venus-safe-right) - 32px));
  max-height:min(88dvh,calc(100dvh - var(--venus-safe-top) - var(--venus-safe-bottom) - 26px));
  padding:28px 30px 26px;
  border-color:rgba(241,198,142,.36);
  box-shadow:0 34px 120px rgba(22,7,6,.68),0 0 0 1px rgba(244,196,134,.05) inset;
}
.venus-region-selector-topline { font-size:8.5px; line-height:1.4; letter-spacing:1.75px; }
.venus-region-selector-topline button { width:38px; height:38px; font-size:22px; }
.venus-region-selector h3 { margin:14px 0 10px; font-size:clamp(38px,4.2vw,58px); line-height:1.02; }
.venus-region-selector>p { max-width:900px; font-size:12px; line-height:1.72; }
.venus-region-grid { grid-template-columns:repeat(5,minmax(0,1fr)); gap:12px; margin-top:24px; }
.venus-region-card { min-height:318px; gap:9px; padding:0 15px 15px; border-color:rgba(233,190,133,.30); }
.venus-region-index { font-size:8px; line-height:1.3; letter-spacing:1.35px; }
.venus-region-card strong { font-size:23px; line-height:1.12; }
.venus-region-descriptor { min-height:0; font-size:9.5px; line-height:1.62; }
.venus-region-card small { font-size:8px; line-height:1.55; }
.venus-region-card em { padding:6px 8px; font-size:7.2px; line-height:1.35; letter-spacing:.9px; }
.venus-region-source { font-size:6.9px; line-height:1.5; }
.venus-region-preview { height:116px; margin:0 -15px 4px; }
.venus-region-preview b { left:11px; bottom:9px; font-size:7.5px; letter-spacing:1.05px; }
.venus-region-provenance { gap:12px; padding-top:14px; }
.venus-region-provenance strong { font-size:8px; }
.venus-region-provenance span { font-size:9px; line-height:1.5; }
.venus-region-provenance small { font-size:7.5px; line-height:1.55; }

/* Flight HUD and top-right actions: same readable hierarchy as Earth. */
.venus-full-exploration .mars-full-hud {
  width:min(390px,calc(100vw - 32px));
  padding:16px 18px;
  border-color:rgba(241,198,142,.30);
  border-left-color:rgba(241,184,112,.70);
}
.venus-full-exploration .mars-full-hud h3 { font-size:clamp(30px,2.4vw,38px); }
.venus-full-exploration .mars-hud-kicker { font-size:9px; }
.venus-full-exploration .mars-hud-mode { font-size:8.5px; line-height:1.45; }
.venus-full-exploration .mars-hud-location { margin-top:12px; font-size:12px; line-height:1.4; }
.venus-full-exploration .mars-hud-coordinates { font-size:10px; line-height:1.45; }
.venus-full-exploration .mars-hud-metrics { gap:8px 12px; margin-top:11px; }
.venus-full-exploration .mars-hud-metric { padding-top:8px; }
.venus-full-exploration .mars-hud-metric small { font-size:8.2px; line-height:1.35; }
.venus-full-exploration .mars-hud-metric strong { margin-top:4px; font-size:11px; line-height:1.4; }
.venus-full-exploration .mars-hud-data { margin-top:10px; font-size:8.5px; line-height:1.5; }

.venus-full-exploration .venus-full-actions { gap:8px; }
.venus-full-exploration .venus-actions-menu { gap:8px; }
.venus-full-exploration .venus-actions-menu>button,
.venus-full-exploration .venus-actions-menu-toggle {
  min-height:42px;
  padding:0 14px;
  border:1px solid rgba(238,212,163,.28);
  background:rgba(22,8,8,.88);
  color:#e4d2bc;
  font-size:8.5px;
  line-height:1.25;
  letter-spacing:.65px;
  text-transform:uppercase;
  box-shadow:0 10px 30px rgba(17,4,3,.18);
}
.venus-full-exploration .venus-actions-menu>button:hover,
.venus-full-exploration .venus-actions-menu>button:focus-visible,
.venus-full-exploration .venus-actions-menu-toggle:hover,
.venus-full-exploration .venus-actions-menu-toggle:focus-visible {
  border-color:rgba(246,210,158,.60);
  background:rgba(63,31,23,.92);
  color:#ffe1b7;
  outline:none;
}

/* Persistent help bar: Earth-style framed background instead of floating tiny text. */
.venus-full-exploration .mars-control-hints {
  gap:16px;
  bottom:calc(var(--venus-safe-bottom) + 16px);
  padding:9px 12px;
  border:1px solid rgba(238,195,139,.17);
  background:rgba(31,15,12,.64);
  box-shadow:0 8px 30px rgba(12,4,3,.22);
  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
  color:rgba(244,221,202,.88);
  font-size:8px;
  line-height:1.4;
  letter-spacing:.7px;
  opacity:calc(var(--surface-opacity) * .92);
}
.venus-full-exploration .mars-control-hints b { color:#f6ca87; font-size:8.5px; }

/* Entry tutorial: same six-column desktop language and four-item mobile rhythm as Earth. */
.venus-full-exploration .mars-full-tutorial {
  width:min(680px,calc(100vw - 32px));
  padding:24px 26px;
  border:1px solid rgba(239,211,156,.28);
  background:linear-gradient(145deg,rgba(29,16,12,.96),rgba(47,24,18,.94));
  box-shadow:0 26px 96px rgba(17,5,3,.56);
}
.venus-full-exploration .mars-full-tutorial-header span { font-size:10px; line-height:1.4; letter-spacing:1.5px; }
.venus-full-exploration .mars-full-tutorial-header button { width:34px; height:34px; font-size:20px; }
.venus-full-exploration .mars-full-tutorial-grid { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:12px; margin-top:18px; }
.venus-full-exploration .mars-tutorial-item { padding-top:12px; border-top-color:rgba(214,191,147,.24); }
.venus-full-exploration .mars-tutorial-item b { font-size:11.5px; line-height:1.35; letter-spacing:.75px; }
.venus-full-exploration .mars-tutorial-item span { margin-top:5px; font-size:9px; line-height:1.45; letter-spacing:.45px; }

/* Quality setup. */
.venus-quality-panel { width:min(720px,calc(100vw - 28px)); padding:24px 26px; }
.venus-quality-topline { font-size:9px; line-height:1.4; letter-spacing:1.5px; }
.venus-quality-topline button { width:36px; height:36px; font-size:20px; }
.venus-quality-copy>small { font-size:8.5px; }
.venus-quality-copy h3 { font-size:clamp(34px,4vw,48px); }
.venus-quality-copy p { max-width:620px; font-size:11.5px; line-height:1.72; }
.venus-quality-option { min-height:104px; padding:15px; }
.venus-quality-option strong { font-size:11.5px; }
.venus-quality-option small { font-size:9px; line-height:1.4; }
.venus-quality-option em { font-size:8px; line-height:1.35; }
.venus-quality-summary span { font-size:9px; line-height:1.5; }
.venus-quality-summary strong { font-size:10px; }
.venus-quality-start { min-height:46px; font-size:9.5px; }

/* Objectives, observations and location cards use the same readable density as Earth. */
.venus-objectives-panel { width:min(390px,calc(100vw - 32px)); max-height:min(50vh,540px); overflow:auto; padding:16px 18px; }
.venus-objectives-head small { font-size:8.8px; }
.venus-objectives-head strong { font-size:13px; line-height:1.35; }
.venus-objectives-head button { min-height:32px; padding:6px 10px; font-size:8px; }
.venus-objectives-panel>p { font-size:11px; line-height:1.65; }
.venus-discovery-progress>div:first-child { font-size:8px; }
.venus-objectives-list li { padding:9px 0; }
.venus-objectives-list strong { font-size:10px; line-height:1.4; }
.venus-objectives-list small { font-size:8px; }
.venus-next-target small { font-size:7.8px; }
.venus-next-target strong,.venus-next-target span { font-size:9px; }
.venus-objectives-toggle,.venus-location-info-toggle { min-height:40px; font-size:8.5px; }

.venus-observation-prompt { max-width:calc(100vw - 24px); padding:10px 12px; }
.venus-observation-key { width:34px; height:34px; font-size:10px; }
.venus-observation-prompt small { font-size:8px; }
.venus-observation-prompt strong { font-size:10px; line-height:1.4; }
.venus-observation-prompt button { min-height:37px; font-size:8.5px; }
.venus-observation-card { width:min(720px,calc(100vw - 32px)); max-height:min(82vh,760px); padding:24px 26px; }
.venus-observation-card-head small { font-size:8.8px; }
.venus-observation-card-head span { font-size:8px; }
.venus-observation-card-head button { width:36px; height:36px; font-size:21px; }
.venus-observation-card h4 { font-size:clamp(30px,4vw,46px); }
.venus-observation-meta { font-size:8.8px; line-height:1.5; }
.venus-observation-lead { font-size:12.5px; line-height:1.72; }
.venus-observation-section { padding:13px; }
.venus-observation-section small,.venus-observation-why small { font-size:8.5px; }
.venus-observation-section p,.venus-observation-why p,.venus-observation-more p { font-size:10.5px; line-height:1.7; }
.venus-observation-more summary { font-size:9.5px; }
.venus-observation-source-note,.venus-observation-source { font-size:8px; line-height:1.45; }

.venus-location-card {
  width:min(390px,calc(100vw - 32px));
  max-height:min(68vh,690px);
  overflow:auto;
  padding:17px 18px;
  border-color:rgba(228,198,143,.30);
  border-right-color:rgba(226,191,122,.58);
}
.venus-location-card .venus-location-card-head>small { font-size:8px; line-height:1.4; }
.venus-location-minimize { min-height:32px; padding:6px 10px; font-size:8px; }
.venus-location-card h4 { margin:10px 0 6px; font-size:28px; line-height:1.08; }
.venus-location-card .mars-landmark-type { font-size:10.5px; line-height:1.6; }
.venus-location-card .mars-landmark-coords { font-size:9.5px; line-height:1.5; }
.venus-location-description { font-size:11.5px; line-height:1.68; }
.venus-location-facts { font-size:10px; line-height:1.65; }
.venus-location-data-badge { font-size:8px; line-height:1.5; }
.venus-location-card .mars-landmark-source { font-size:8px; line-height:1.45; }
.venus-boundary-hint { font-size:8px; }

/* Laptop / medium width: keep five cards when practical, then two-column rhythm. */
@media (max-width:1180px) {
  .venus-region-selector { width:calc(100vw - 22px); padding:22px; }
  .venus-region-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .venus-region-card { min-height:275px; }
  .venus-full-exploration .mars-full-hud { width:min(340px,38vw); }
}

@media (max-width:900px) {
  .venus-region-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px; }
  .venus-region-card { min-height:230px; padding:0 12px 12px; }
  .venus-region-preview { height:90px; margin-inline:-12px; }
  .venus-region-card strong { font-size:20px; }
  .venus-region-descriptor { font-size:8.5px; }
  .venus-full-exploration .mars-full-tutorial-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .venus-full-exploration .mars-full-hud { width:min(300px,48vw); }
}

@media (pointer:coarse),(max-width:760px) {
  .venus-full-exploration .mars-control-hints { display:none; }
  .venus-full-exploration .mars-full-hud { width:min(285px,68vw); padding:12px 13px; }
  .venus-full-exploration .mars-full-hud h3 { font-size:26px; }
  .venus-full-exploration .mars-hud-location { font-size:8.8px; }
  .venus-full-exploration .mars-hud-coordinates { font-size:7.2px; }
  .venus-full-exploration .mars-hud-metric small { font-size:5.8px; }
  .venus-full-exploration .mars-hud-metric strong { font-size:8px; }
  .venus-objectives-panel { width:min(330px,82vw); max-height:42vh; padding:13px 14px; }
  .venus-objectives-panel>p { font-size:8.5px; }
  .venus-objectives-list strong { font-size:8px; }
  .venus-objectives-list small { font-size:6.2px; }
  .venus-observation-card { width:calc(100vw - 18px); max-height:78vh; padding:18px; }
  .venus-observation-card h4 { font-size:31px; }
  .venus-observation-lead { font-size:10.5px; }
  .venus-observation-section p,.venus-observation-why p,.venus-observation-more p { font-size:8.8px; }
  .venus-location-card { width:min(350px,88vw); max-height:52vh; padding:14px; }
  .venus-location-card h4 { font-size:25px; }
  .venus-location-description { font-size:8.8px; }
  .venus-location-facts { font-size:8px; }
  .venus-full-exploration .mars-full-tutorial { width:calc(100vw - 18px); max-height:72vh; overflow:auto; padding:18px; }
  .venus-full-exploration .mars-full-tutorial-header span { font-size:8px; }
  .venus-full-exploration .mars-full-tutorial-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .venus-full-exploration .mars-tutorial-item b { font-size:9px; }
  .venus-full-exploration .mars-tutorial-item span { font-size:7px; }
  .venus-region-selector { width:calc(100vw - 18px); padding:18px; }
  .venus-region-selector h3 { font-size:clamp(31px,9vw,42px); }
  .venus-region-selector>p { font-size:10px; }
  .venus-region-card { min-height:205px; }
  .venus-region-card strong { font-size:19px; }
  .venus-region-descriptor { font-size:8px; }
  .venus-region-card small { font-size:7px; }
  .venus-quality-panel { width:calc(100vw - 18px); padding:18px; }
  .venus-quality-copy p { font-size:9.5px; }
  .venus-quality-option strong { font-size:10px; }
  .venus-quality-option small { font-size:8px; }
}

@media (max-width:520px) {
  .venus-region-grid { grid-template-columns:1fr; }
  .venus-region-card { min-height:170px; }
  .venus-region-preview { height:76px; }
  .venus-full-exploration .mars-full-hud { width:min(250px,72vw); }
  .venus-objectives-panel,.venus-location-card { width:calc(100vw - 20px); max-height:46vh; }
  .venus-full-exploration .mars-full-tutorial-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}

/* Final readability tuning after cross-checking 1366px + 390px compositions. */
.venus-region-selector-topline { font-size:9px; }
.venus-region-selector>p { font-size:12.5px; }
.venus-region-descriptor { font-size:10.5px; }
.venus-region-card small { font-size:8.8px; }
.venus-region-source { font-size:7.5px; }
.venus-region-provenance strong { font-size:8.5px; }
.venus-region-provenance span { font-size:9.5px; }
.venus-region-provenance small { font-size:8px; }
.venus-full-exploration .venus-actions-menu>button,
.venus-full-exploration .venus-actions-menu-toggle { min-height:44px; font-size:9.5px; }
.venus-full-exploration .mars-control-hints { font-size:8.7px; }
.venus-full-exploration .mars-control-hints b { font-size:9px; }
.venus-discovery-progress span { font-size:8px; }
.venus-discovery-progress strong { font-size:9px; }
.venus-objectives-list li { font-size:9.5px; line-height:1.55; }
#venus-observation-status { font-size:7.8px; }
.venus-observation-comparison small { font-size:8px; }
.venus-observation-comparison strong { font-size:11.5px; }
#venus-observation-deep p { font-size:10.5px; line-height:1.7; }
#venus-observe-button { min-height:37px; font-size:8.5px; }

@media (pointer:coarse),(max-width:760px) {
  .venus-region-selector>p { font-size:10.5px; }
  .venus-region-descriptor { font-size:8.4px; }
  .venus-region-card small { font-size:7.4px; }
  .venus-region-source { font-size:6.8px; }
  .venus-region-provenance small { font-size:7px; }
  .venus-full-exploration .venus-actions-menu>button,
  .venus-full-exploration .venus-actions-menu-toggle { min-height:40px; font-size:8px; }
}


/* 2026-10-03 Full Exploration UI consistency pass.
   Geometry and information hierarchy mirror Earth; Venus keeps only its warm palette. */
.venus-full-exploration .mars-full-tutorial {
  width:min(680px,calc(100vw - 32px));
  padding:24px 26px;
  border-radius:0;
}
.venus-full-exploration .mars-full-tutorial-header { display:flex; align-items:center; justify-content:space-between; gap:16px; }
.venus-full-exploration .mars-full-tutorial-header span { font-size:10px; line-height:1.4; letter-spacing:1.5px; }
.venus-full-exploration .mars-full-tutorial-header button { width:34px; height:34px; flex:0 0 34px; font-size:20px; }
.venus-full-exploration .mars-full-tutorial-grid.mars-tutorial-desktop {
  display:grid;
  grid-template-columns:repeat(6,minmax(0,1fr));
  gap:12px;
  margin-top:18px;
}
.venus-full-exploration .mars-full-tutorial-grid.mars-tutorial-mobile { display:none; }
.venus-full-exploration .mars-tutorial-item { padding-top:12px; border-top:1px solid rgba(214,191,147,.24); }
.venus-full-exploration .mars-tutorial-item b { display:block; font-size:11.5px; line-height:1.35; letter-spacing:.75px; }
.venus-full-exploration .mars-tutorial-item span { display:block; margin-top:5px; font-size:9px; line-height:1.45; letter-spacing:.45px; text-transform:uppercase; }

/* Same six persistent hints and framed treatment used on Earth. */
.venus-full-exploration .mars-control-hints {
  gap:16px;
  bottom:max(18px,env(safe-area-inset-bottom));
  padding:9px 12px;
  border:1px solid rgba(238,195,139,.19);
  background:rgba(31,15,12,.72);
  box-shadow:0 8px 30px rgba(12,4,3,.24);
  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
  font-size:8px;
  line-height:1.4;
  letter-spacing:.7px;
}
.venus-full-exploration .mars-control-hints b { font-size:8.5px; }

/* Location card sits a little lower so it breathes under the global actions. */
.venus-location-card {
  top:calc(var(--venus-safe-top) + var(--venus-edge-y) + 58px);
  max-height:min(70dvh,calc(100dvh - var(--venus-safe-top) - var(--venus-safe-bottom) - var(--venus-edge-y) - 116px));
}

/* Objectives now use the exact Earth information structure: index/check + title + state.
   This also fixes the old circular marker overlapping the first letters. */
.venus-objectives-list { display:grid; gap:6px; margin:10px 0 0; padding:0; list-style:none; }
.venus-objectives-list li {
  display:grid;
  grid-template-columns:29px minmax(0,1fr);
  gap:10px;
  align-items:center;
  min-height:0;
  padding:9px 0;
  border:0;
  border-top:1px solid rgba(236,190,128,.14);
  background:transparent;
  color:rgba(239,220,199,.86);
}
.venus-objectives-list li::before { content:none !important; display:none !important; }
.venus-objective-marker {
  width:27px;
  height:27px;
  display:grid;
  place-items:center;
  border:1px solid rgba(237,191,130,.34);
  color:#b58a69;
  background:rgba(25,12,10,.28);
  font:650 7px/1 system-ui,sans-serif;
  letter-spacing:.35px;
}
.venus-objectives-list li.is-complete .venus-objective-marker {
  border-color:rgba(211,164,111,.62);
  color:#ffe0b0;
  background:rgba(103,54,34,.52);
}
.venus-objectives-list li>div { min-width:0; }
.venus-objectives-list strong { display:block; color:#f0dcc5; font-size:10px; line-height:1.4; font-weight:600; }
.venus-objectives-list small { display:block; margin-top:2px; color:#95745f; font-size:8px; line-height:1.35; letter-spacing:.6px; }
.venus-objectives-list li.is-complete strong { color:rgba(230,211,186,.62); }
.venus-objectives-list li.is-complete small { color:#876c5d; }

@media (pointer:coarse),(max-width:760px) {
  .venus-full-exploration .mars-full-tutorial { width:calc(100vw - 18px); max-height:72dvh; overflow:auto; padding:18px; }
  .venus-full-exploration .mars-full-tutorial-grid.mars-tutorial-desktop { display:none; }
  .venus-full-exploration .mars-full-tutorial-grid.mars-tutorial-mobile { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; margin-top:16px; }
  .venus-full-exploration .mars-full-tutorial-header span { font-size:8px; }
  .venus-full-exploration .mars-tutorial-item b { font-size:9px; }
  .venus-full-exploration .mars-tutorial-item span { font-size:7px; }
  .venus-location-card { top:auto; max-height:52dvh; }
  .venus-objectives-list strong { font-size:8px; }
  .venus-objectives-list small { font-size:6.2px; }
}

/* Match the final shared guidance scale used by Earth. */
.venus-full-exploration .mars-control-hints { font-size:8.7px; }
.venus-full-exploration .mars-control-hints b { font-size:9px; }
