/* World presentation consumes the light monochrome tokens in themes/world.css. */
body.sim-app {
  font-size: 14px;
  line-height: 1.5;
  font-weight: 400;
}

.sim-app :is(h1, h2, h3, .experience-summary header strong, .evidence-heading strong, .scenario-label) {
  font-family: var(--sim-heading);
  font-weight: 600;
  letter-spacing: -0.015em;
}

.sim-app :is(.sim-surface, .sim-popover, .sim-segmented, .model-selection-panel, .model-selection-controls) {
  border-radius: var(--sim-radius);
  background: var(--sim-glass);
  box-shadow: var(--sim-shadow);
}

.sim-app :is(.sim-action, .drawer-close, .sim-product-nav a, .sim-segmented > button, .sim-menu > button) {
  border-radius: var(--sim-radius-small);
  font-weight: 500;
  text-shadow: none;
}

.sim-app :is(.sim-action, .drawer-close) {
  background: var(--sim-glass);
  color: var(--sim-ink);
  box-shadow: var(--sim-shadow-small);
}

.sim-app :is(.sim-action, .drawer-close):hover:not(:disabled) {
  background: var(--sim-highlight);
  border-color: var(--sim-line-strong);
}

.sim-app .decisions-button { box-shadow: var(--sim-shadow); }

.sim-app .sim-action:active:not(:disabled) {
  box-shadow: var(--sim-shadow-inset);
}

.sim-app .sim-action-primary,
.sim-app .sim-segmented > button.is-active {
  color: var(--sim-on-accent);
  border-color: var(--sim-accent);
  background: var(--sim-accent);
  box-shadow: none;
}

.sim-app .sim-action-primary:hover:not(:disabled) {
  color: var(--sim-on-accent);
  background: var(--sim-ink-soft);
}

.sim-app .sim-segmented > button:hover:not(.is-active) {
  color: var(--sim-ink);
  background: var(--sim-glass-faint);
  box-shadow: var(--sim-shadow-inset);
}

.sim-app :is(input, select, textarea) {
  accent-color: var(--sim-accent);
  border-radius: var(--sim-radius-small);
}

.sim-app :is(.sim-field, .sim-program-editor, .model-selection-select, .plugin-controls input, .plugin-controls select, .mission-field textarea, .data-workbench-page .sim-input) {
  color: var(--sim-ink);
  background: var(--sim-paper);
  border: 1px solid var(--sim-line);
  box-shadow: var(--sim-shadow-inset);
  font-size: 14px;
}

.sim-app :is(.plugin-controls label, .plugin-control-group > summary, .experience-summary p, .experience-story strong, .experience-story > div > span:last-child) {
  font-size: 13px;
  line-height: 1.5;
}

.sim-app .experience-summary header strong { font-size: 20px; }
.sim-app .evidence-heading strong { font-size: 22px; }
.sim-app .scenario-label { font-size: 17px; }
.sim-app .experience-summary dl > div { font: 400 12px/1.5 var(--sim-font); }
.sim-app .experience-summary dd { font-weight: 500; font-variant-numeric: tabular-nums; }
.sim-app :is(.playback-event, .playback-progress, .scenario-seed) { font-family: var(--sim-font); }
.sim-app :is(code, pre, .sim-code, .sim-program-editor) { font-family: var(--sim-mono); }

.sim-app :is(.evidence-heading, .runtime-details, .profile-selector .select-options, .sim-menu, .neural-consent-dialog, .neural-model-row) {
  color: var(--sim-ink);
  background: var(--sim-glass);
  border-color: var(--sim-line);
}

.sim-app .runtime-anchor {
  padding: 8px;
  border: 1px solid var(--sim-line);
  border-radius: var(--sim-radius);
  background: var(--sim-glass);
  box-shadow: var(--sim-shadow);
}

.sim-app .profile-selector .select-trigger {
  font-size: 14px;
  font-weight: 500;
  text-shadow: none;
}
.sim-app .profile-selector .select-trigger:focus-visible { outline: 2px solid var(--sim-accent); outline-offset: 3px; }
.sim-app .profile-selector .select-option { color: var(--sim-ink-soft); }
.sim-app .profile-selector .select-option:is(:hover, .selected, :focus-visible) {
  color: var(--sim-ink);
  background: var(--sim-glass-faint);
}
.sim-app .status-pill:has(.runtime-status) .status-dot { background: var(--sim-ink); box-shadow: none; border-radius: 2px; }
.sim-app .status-pill:has([data-kind="error"], [data-kind="failed"]) { border: 2px dashed var(--sim-ink); }
.sim-app .loading-status { color: var(--sim-ink-soft); font-family: var(--sim-font); letter-spacing: 0.04em; }
.sim-app .loading-progress { background: var(--sim-line); }
.sim-app .evidence-panel { scrollbar-color: var(--sim-line-strong) var(--sim-paper); }
.sim-app :is(button, a, summary, input, select, textarea, [role="button"]):focus-visible {
  outline: 2px solid var(--sim-accent);
  outline-offset: 3px;
}

/* Quiet lattice surrounds the six existing hexagonal launch targets. */
.sim-app #world-tiers-landing-page {
  background-color: var(--sim-paper);
  background-image: linear-gradient(var(--sim-lattice) 1px, transparent 1px), linear-gradient(90deg, var(--sim-lattice) 1px, transparent 1px);
  background-size: 48px 48px;
  padding-block: 48px 24px;
}
.sim-app .landing-header { margin-bottom: 8px; animation: none; }
.sim-app .landing-title {
  width: auto;
  margin: 0 0 8px;
  color: var(--sim-ink);
  font: 600 52px/1.1 var(--sim-heading);
  letter-spacing: -0.035em;
}
.sim-app .landing-links a {
  padding: 0 16px;
  text-decoration: none;
  border: 1px solid var(--sim-line);
  border-radius: var(--sim-radius-small);
  background: var(--sim-glass);
  box-shadow: var(--sim-shadow-small);
}
.sim-app :is(.hex-hub, .hex-satellite) { background: var(--sim-line-strong); filter: none; }
.sim-app :is(.hex-hub-inner, .hex-satellite-inner) {
  background: linear-gradient(135deg, var(--sim-highlight), var(--sim-glass) 48%, var(--sim-glass-faint));
}
.sim-app :is(.hex-hub-inner, .hex-satellite-inner)::before { background: none; }
.sim-app .hex-hub-inner { background: linear-gradient(145deg, var(--sim-glass), var(--sim-glass-faint)); }
.sim-app .hex-satellite:hover .hex-satellite-inner { background: var(--sim-highlight); }
.sim-app :is(.hex-hub-badge, .hex-satellite .hex-badge, .hex-hub-icon, .hex-satellite .hex-icon) {
  color: var(--sim-ink-soft);
  background: var(--sim-glass-soft);
  border: 1px solid var(--sim-line);
  border-radius: var(--sim-radius-small);
  font-weight: 500;
}
.sim-app :is(.hex-hub-title, .hex-satellite .hex-title) {
  color: var(--sim-ink);
  font: 600 20px/1.2 var(--sim-heading);
}
.sim-app :is(.hex-hub-desc, .hex-satellite .hex-desc) { color: var(--sim-ink-soft); font-size: 13px; }
.sim-app .hex-hub-action { color: var(--sim-ink); font-weight: 500; }
.sim-app .ambient-hex-cell { stroke: var(--sim-line); }
.sim-app .hex-constellation-web { opacity: 0.35; }

.sim-app .data-workbench-page { color: var(--sim-ink); background: var(--sim-paper); }
.sim-app .data-workbench-page p { color: var(--sim-ink-soft); }
.sim-app .workbench-table th { color: var(--sim-ink); background: var(--sim-glass); }
.sim-app :is(.workbench-steps, .workbench-table, .workbench-table th, .workbench-table td, #data-canvas) { border-color: var(--sim-line); }

@media (max-width: 820px) {
  .sim-app .runtime-anchor { top: 8px; left: 8px; right: 8px; max-width: none; }
  .sim-app .runtime-toolbar { gap: 6px; }
  .sim-app .profile-selector { min-width: 0; max-width: none; }
  .sim-app #application-profile-control { flex: 1; }
  .sim-app .profile-selector .select-trigger { font-size: 13px; width: 100%; }
  .sim-app #application-profile-options { left: auto; right: 0; }
  .sim-app .camera-controls { top: 120px; right: 8px; left: 8px; justify-content: flex-end; }
  .sim-app .experience-summary { top: 178px; right: 8px; left: 8px; max-height: 170px; }
  .sim-app .experience-summary dl { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .sim-app .mission-dock { max-height: min(40dvh, 280px); overflow-y: auto; }
  body.sim-app .mission-actions .sim-action {
    white-space: normal;
    min-height: 44px;
    padding: 8px 10px;
    font-size: 12px;
    line-height: 1.3;
  }
  body.sim-app .decisions-button { bottom: calc(min(40dvh, 280px) + 22px); right: 8px; }
  .sim-app .camera-modes > button { padding-inline: 12px; }
  .sim-app :is(.plugin-controls input, .plugin-controls select, .mission-field textarea) { font-size: 16px; }
  .sim-app .profile-selector .select-options { max-height: calc(100dvh - 140px); }
}

@media (max-width: 560px) {
  .sim-app #world-tiers-landing-page { padding-top: 32px; }
  .sim-app :is(.hex-hub-title, .hex-satellite .hex-title) { font-size: 16px; }
  .sim-app :is(.hex-hub-badge, .hex-satellite .hex-badge) { font-size: 9px; max-width: 17ch; padding-inline: 4px; }
  .sim-app .hex-hub-action { font-size: 11px; }
  .sim-app .hex-constellation-container { margin-top: 16px; }
}

@media (prefers-reduced-motion: reduce) {
  .sim-app :is(.sim-action, .sim-segmented > button, .hex-hub, .hex-satellite) { transition: none; }
}

@media (min-width: 821px) {
  .sim-app[data-experience-id="gpu-supercluster-v1"] .experience-summary {
    max-height: calc(100vh - 260px);
  }
}

/* Empty plugin slots must not reserve space or suppress scene labels. */
.sim-app .plugin-map-ui:empty { display: none; }
