:root {
  --r50-gold: #f0cf69;
  --r50-cyan: #72ddff;
  --r50-line: rgba(114, 221, 255, .32);
  --r50-panel: rgba(2, 10, 15, .94);
}

/* Deliberate 20% desktop reserve: the principal research canvases use 80vw. */
#biomatrix-technology .biomatrix-lab-inner,
#planet-simulation .planet-simulation-inner,
#r49ExoplanetObservatory,
#r50QeosSuite {
  width: min(80vw, 1800px) !important;
  max-width: none !important;
  margin-inline: auto !important;
}

#biomatrix-technology .biomatrix-scenario-grid {
  grid-template-columns: minmax(0, 1.24fr) minmax(320px, .76fr) !important;
  align-items: start;
}

#biomatrix-technology .r491-stage-column,
#biomatrix-technology .r491-stage-column .biomatrix-world-stage {
  width: 100% !important;
  max-width: none !important;
  aspect-ratio: 1 / 1 !important;
  min-height: 0 !important;
}

#biomatrix-technology .r493-world-rotator {
  width: 100% !important;
  height: 100% !important;
  max-width: 100% !important;
  max-height: 100% !important;
  object-fit: contain !important;
  object-position: 50% 50% !important;
  transform: scale(var(--r50-model-scale, 1)) !important;
  transform-origin: 50% 50% !important;
  transition: transform .18s ease;
}

.r50-world-zoom {
  position: absolute;
  z-index: 8;
  top: .55rem;
  right: .55rem;
  display: grid;
  grid-template-columns: repeat(3, 2.25rem);
  gap: .25rem;
}

.r50-world-zoom button {
  min-height: 2.25rem;
  padding: 0;
  border: 1px solid var(--r50-line);
  border-radius: .25rem;
  color: #e9f9ff;
  background: rgba(0, 7, 11, .9);
  cursor: pointer;
  font: 700 .85rem/1 system-ui, sans-serif;
}
.r50-world-zoom button:hover,
.r50-world-zoom button:focus-visible { border-color: var(--r50-gold); color: var(--r50-gold); }

.r50-world-scale {
  position: absolute;
  z-index: 8;
  right: .55rem;
  bottom: .55rem;
  min-width: 4.8rem;
  padding: .32rem .45rem;
  border: 1px solid rgba(240, 207, 105, .45);
  color: var(--r50-gold);
  background: rgba(0, 7, 11, .9);
  text-align: center;
  font: 700 .67rem/1.2 ui-monospace, Consolas, monospace;
}

.r50-world-quickfacts {
  position: absolute;
  z-index: 7;
  left: .55rem;
  bottom: 2.8rem;
  width: min(48%, 22rem);
  max-height: 32%;
  overflow: auto;
  padding: .48rem;
  border: 1px solid var(--r50-line);
  background: rgba(0, 7, 11, .82);
  backdrop-filter: blur(6px);
  color: #b9ccd5;
  font-size: .65rem;
}
.r50-world-quickfacts b { color: var(--r50-gold); }
.r50-world-quickfacts span { display: flex; justify-content: space-between; gap: .65rem; border-bottom: 1px solid rgba(114,221,255,.13); padding: .18rem 0; }

#r49ExoplanetObservatory .r49-reference-grid,
#r49ExoplanetObservatory .r49-sort-note { display: none !important; }

.r50-world-table { min-width: 1320px !important; }
.r50-world-table th[data-r50-sort] { cursor: pointer; user-select: none; }
.r50-world-table th[data-r50-sort]:hover { color: var(--r50-cyan); }
.r50-world-table tbody tr { cursor: pointer; }
.r50-world-table tbody tr:hover,
.r50-world-table tbody tr:focus-within { background: rgba(114, 221, 255, .08); }
.r50-world-table td { vertical-align: middle !important; }
.r50-table-world { display: grid; gap: .13rem; min-width: 10rem; }
.r50-table-world small { color: #8ea6b1; }
.r50-table-model {
  display: block;
  width: 96px;
  height: 96px;
  object-fit: contain;
  object-position: center;
  background: #010509;
  border: 1px solid rgba(114, 221, 255, .22);
}
.r50-observed { color: #83e7a5; }
.r50-unknown { color: #9aaab2; }
.r50-select-hint { margin: .45rem 0; color: #a8c1cc; font-size: .72rem; }

.r50-country-programme {
  grid-column: 1 / -1;
  border-color: rgba(114, 221, 255, .42) !important;
}
.r50-programme-grid {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: .35rem;
}
.r50-programme-grid article {
  min-width: 0;
  padding: .45rem;
  border: 1px solid rgba(114, 221, 255, .18);
  background: rgba(2, 12, 17, .86);
}
.r50-programme-grid b,
.r50-programme-kpis b { color: var(--r50-gold); }
.r50-programme-grid small { display: block; color: #91a8b2; }
.r50-programme-kpis { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .35rem; margin-bottom: .55rem; }
.r50-programme-kpis span { display: grid; gap: .15rem; padding: .5rem; border: 1px solid var(--r50-line); background: var(--r50-panel); }
.r50-programme-kpis small { color: #91a8b2; }

.planet-live-weather { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
.planet-live-weather span { min-width: 0; }

/* R50.1 performance policy: preserve every workspace, but avoid layout/paint work off screen. */
main > section:not(#showroom):not(.regional-market-tapes):not(.noblesse-coin-tape) {
  content-visibility: auto;
  contain-intrinsic-size: auto 680px;
}
main > section.r50-deferred { contain-intrinsic-size: auto 56px; }
main > section[data-r43-collapsed="true"] { min-height: 0 !important; }

/* The obsolete 20-world sprite is not fetched while its legacy directory is closed. */
.r33-planet-thumb { background-image: none !important; }
.r50-media-enabled .r33-planet-thumb { background-image: url("exoplanet-top20-atlas-r33.png") !important; }

.r50-deferred canvas,
.r50-deferred video,
.r50-deferred iframe { visibility: hidden; }
.r50-priority canvas,
.r50-priority video,
.r50-priority iframe { visibility: visible; }

.r50-qeos-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .55rem; }
.r50-qeos-card { padding: .7rem; border: 1px solid var(--r50-line); background: linear-gradient(145deg, rgba(8,25,33,.97), rgba(2,8,12,.97)); }
.r50-qeos-card h3 { margin: 0 0 .35rem; color: var(--r50-gold); }
.r50-chip-list { display: flex; flex-wrap: wrap; gap: .25rem; margin: .55rem 0; }
.r50-chip-list span { padding: .25rem .38rem; border: 1px solid rgba(114,221,255,.18); color: #b8d3dc; background: rgba(1,8,12,.78); font-size: .65rem; }

@media (max-width: 1100px) {
  #biomatrix-technology .biomatrix-lab-inner,
  #planet-simulation .planet-simulation-inner,
  #r49ExoplanetObservatory,
  #r50QeosSuite { width: calc(100vw - 1.25rem) !important; }
  #biomatrix-technology .biomatrix-scenario-grid { grid-template-columns: 1fr !important; }
  .r50-programme-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .r50-qeos-grid { grid-template-columns: 1fr; }
}

@media (max-width: 650px) {
  .r50-world-quickfacts { width: calc(100% - 1.1rem); max-height: 27%; }
  .r50-programme-grid,
  .r50-programme-kpis,
  .planet-live-weather { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
  .r50-table-model { width: 72px; height: 72px; }
}

@media (prefers-reduced-motion: reduce) {
  #biomatrix-technology .r493-world-rotator { transition: none; }
}
