/* Active scene layout: page grid, background, panel placement */

.active_scene {
  position: relative;
  height: 100vh;
  display: grid;
  grid-template-columns: 64px 50vw 5vw 35vw 1fr; /* rail | chat | gap | limina | rest */
  overflow: hidden;
}

.active_scene__bg,
.active_scene__bg_image {
  position: absolute;
  inset: 0;
}

.active_scene__bg_image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 0.55;
  filter: brightness(0.62) saturate(0.85);
}

/* Main panel shells */
.active_scene__chat_panel,
.active_scene__limina_panel {
  position: relative;
  z-index: var(--z_content);
  border: 1px solid var(--color_border);
  border-radius: var(--radius_lg);
  background: var(--color_glass);
  backdrop-filter: blur(8px);
  padding: var(--space_6);
  align-self: stretch;
  min-height: 0;
  overflow: hidden;
}

/* Chat panel placement */
.active_scene__chat_panel {
  grid-column: 2;
  margin: var(--space_6) 0 var(--space_6) var(--space_6);
  display: flex;
  flex-direction: column;
  min-height: 0; /* critical for nested scrolling */
}

/* Limina panel placement */
.active_scene__limina_panel {
  grid-column: 4;
  margin: var(--space_6) 0 var(--space_6) calc(var(--space_10) + 100px);
  padding: 0;
  overflow: hidden;
}

.active_scene__limina_image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  border-radius: var(--radius_md);
  display: block;
}
