/* Analyst Plays terminal — small additions on top of Tailwind + banana-tokens */

/* Space between Active grid and Archived: padding with a centered hairline (not a full-width
   border on the section). Plain CSS so it works without Tailwind rebuild. */
.analyst-archived-separator {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  flex-shrink: 0;
  padding: 1rem 1rem;
  pointer-events: none;
}
@media (min-width: 640px) {
  .analyst-archived-separator {
    padding: 1.25rem 1rem;
  }
}
@media (min-width: 768px) {
  .analyst-archived-separator {
    padding: 1.5rem 1rem;
  }
}
@media (min-width: 1024px) {
  .analyst-archived-separator {
    padding: 1.75rem 1rem;
  }
}
.analyst-archived-rule {
  height: 1px;
  width: min(42rem, 88%);
  max-width: 100%;
  background-color: color-mix(in srgb, var(--banana-outline-variant) 35%, transparent);
}

/* Chart area grows with the hero row (tall DD column); ECharts reads host height from flex layout. */
.analyst-chart-host {
  display: flex;
  flex-direction: column;
  flex: 1 1 0%;
  min-height: 280px;
  width: 100%;
}
.analyst-chart-inner {
  flex: 1 1 0%;
  min-height: 0;
  width: 100%;
  min-width: 0;
}
.analyst-chart-panels {
  display: grid;
  gap: 12px;
  flex: 1 1 0%;
  min-height: 0;
  align-content: stretch;
}
.analyst-chart-panels--single {
  grid-template-columns: 1fr;
  grid-template-rows: minmax(0, 1fr);
}
.analyst-chart-panels--split {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  grid-template-rows: minmax(0, 1fr);
}
.analyst-chart-panel {
  min-width: 0;
  min-height: 0;
  display: flex;
  flex-direction: column;
  background: color-mix(in srgb, var(--banana-surface-container) 60%, transparent);
  padding: 10px;
}
/* Tailwind .hidden loses to this rule (same specificity; this file loads after tailwind-built). */
.analyst-chart-panel.hidden {
  display: none !important;
}
.analyst-chart-title-wrap {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  min-height: 18px;
  margin-bottom: 6px;
}
.analyst-chart-title {
  font-family: var(--banana-font-headline, "Space Grotesk", sans-serif);
  font-size: 10px;
  text-transform: uppercase;
  letter-spacing: 0.18em;
  color: var(--banana-on-surface-variant);
  font-weight: 700;
}
@media (max-width: 1023px) {
  .analyst-chart-panels--split {
    grid-template-columns: 1fr;
  }
}
.analyst-play-card--active {
  box-shadow: 0 0 0 1px color-mix(in srgb, var(--banana-primary-fixed) 45%, transparent);
}

/* Legacy full-bleed blur (kept if reused); locked grid now uses per-card fake blur below. */
.analyst-active-locked-blur {
  position: absolute;
  inset: 0;
  background: repeating-linear-gradient(
    105deg,
    color-mix(in srgb, var(--banana-surface-container-highest) 55%, transparent) 0px,
    color-mix(in srgb, var(--banana-surface-container) 40%, transparent) 14px,
    color-mix(in srgb, var(--banana-outline-variant) 12%, transparent) 28px
  );
  filter: blur(6px);
  opacity: 0.85;
  pointer-events: none;
}
.analyst-active-locked {
  position: relative;
}

/* Gated grid: real-layout demo cards + full-size frost layer on top (remove in devtools to see $FAKE data). */
.analyst-active-locked-stack {
  position: relative;
  isolation: isolate;
}
.analyst-active-locked-frost {
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  background: color-mix(in srgb, var(--banana-surface-container-low) 58%, transparent);
}
