/* ============================================
   SLIDE 2 — CONTRARIAN INSIGHT (v1.1)
   ============================================ */
.insight-contrast {
  opacity: 0;
  transition: opacity 0.8s ease 0.6s;
}
.slide.active .insight-contrast { opacity: 1; }

.insight-reveal, .insight-details, .insight-window {
  opacity: 0;
  transform: translateY(12px);
  transition: opacity 0.6s ease, transform 0.6s ease;
}

.slide.active [data-insight="1"] { transition-delay: 1.4s; }
.slide.active [data-insight="2"] { transition-delay: 2.2s; }
.slide.active [data-insight="3"] { transition-delay: 3.2s; }

.slide.active .insight-reveal,
.slide.active .insight-details,
.slide.active .insight-window {
  opacity: 1;
  transform: translateY(0);
}

/* ============================================
   SLIDE 9 — FOUNDER + ASK (v1.1)
   ============================================ */
.ask-bucket {
  opacity: 0;
  transform: translateY(10px);
  transition: opacity 0.4s ease, transform 0.4s ease;
}
.slide.active [data-bucket="1"] { transition-delay: 0.3s; }
.slide.active [data-bucket="2"] { transition-delay: 0.5s; }
.slide.active [data-bucket="3"] { transition-delay: 0.7s; }
.slide.active [data-bucket="4"] { transition-delay: 0.9s; }
.slide.active .ask-bucket { opacity: 1; transform: translateY(0); }

/* ============================================
   SLIDE 3 — MFE BEATS
   ============================================ */
.mfe-beat {
  opacity: 0;
  transform: translateY(12px);
  transition: opacity 0.5s ease, transform 0.5s ease;
}
.slide.active [data-beat="1"] { transition-delay: 0.3s; }
.slide.active [data-beat="2"] { transition-delay: 0.8s; }
.slide.active .mfe-beat { opacity: 1; transform: translateY(0); }

/* ============================================
   SLIDE 4 — CLUTCH PLANES
   ============================================ */
.plane {
  opacity: 0;
  transform: translateX(-16px);
  transition: opacity 0.5s ease, transform 0.5s ease;
}
.slide.active [data-plane="1"] { transition-delay: 0.3s; }
.slide.active [data-plane="2"] { transition-delay: 0.6s; }
.slide.active [data-plane="3"] { transition-delay: 0.9s; }
.slide.active .plane { opacity: 1; transform: translateX(0); }

/* ============================================
   SLIDE 5 — TECH TREE BUILD
   ============================================ */
.tt-node, .tt-more {
  opacity: 0;
  transform: translateX(-16px);
  transition: opacity 0.5s ease, transform 0.5s ease;
}

.slide.active [data-ttnode="1"] { transition-delay: 0.2s; }
.slide.active [data-ttnode="2"] { transition-delay: 0.7s; }
.slide.active [data-ttnode="3"] { transition-delay: 1.2s; }
.slide.active [data-ttnode="4"] { transition-delay: 1.4s; transform: translateX(12px); }
.slide.active [data-ttnode="5"] { transition-delay: 1.6s; transform: translateX(12px); }
.slide.active [data-ttnode="6"] { transition-delay: 1.8s; transform: translateX(12px); }
.slide.active [data-ttnode="7"] { transition-delay: 2.0s; transform: translateX(12px); }
.slide.active [data-ttnode="8"] { transition-delay: 1.4s; transform: translateX(12px); }
.slide.active [data-ttnode="9"] { transition-delay: 1.6s; transform: translateX(12px); }
.slide.active [data-ttnode="10"] { transition-delay: 1.8s; transform: translateX(12px); }
.slide.active [data-ttnode="11"] { transition-delay: 2.0s; transform: translateX(12px); }
.slide.active [data-ttnode="12"] { transition-delay: 2.2s; transform: translateX(12px); }
.slide.active [data-ttnode="13"] { transition-delay: 2.4s; transform: translateX(12px); }

.slide.active .tt-node,
.slide.active .tt-more {
  opacity: 1;
  transform: translateX(0);
}

.slide.active .tt-planned { opacity: 0.6; }

.tt-line {
  stroke-dashoffset: 200;
  transition: stroke-dashoffset 0.6s ease;
}

.slide.active [data-ttline="1"] { stroke-dashoffset: 0; transition-delay: 0.5s; }
.slide.active [data-ttline="2"] { stroke-dashoffset: 0; transition-delay: 1.0s; }
.slide.active [data-ttline="3"] { stroke-dashoffset: 0; transition-delay: 1.5s; }
.slide.active [data-ttline="4"] { stroke-dashoffset: 0; transition-delay: 1.7s; }
.slide.active [data-ttline="5"] { stroke-dashoffset: 0; transition-delay: 1.9s; }
.slide.active [data-ttline="6"] { stroke-dashoffset: 0; transition-delay: 2.1s; }

.tt-dot { opacity: 0; transition: opacity 0.4s ease; }
.slide.active .tt-dot { opacity: 1; transition-delay: 1.5s; }

@keyframes harness-pulse {
  0%, 100% { box-shadow: 0 0 20px rgba(16, 185, 129, 0.1); }
  50% { box-shadow: 0 0 36px rgba(16, 185, 129, 0.2); }
}

.slide.active .tt-harness {
  animation: harness-pulse 3s ease-in-out infinite;
  animation-delay: 2s;
}

/* ============================================
   SLIDE 7 — AGI SLIVERS
   ============================================ */
.sliver {
  opacity: 0;
  transform: translateY(16px);
  transition: opacity 0.4s ease, transform 0.4s ease;
}
.sliver-connector {
  opacity: 0;
  transition: opacity 0.3s ease;
}

.slide.active [data-sliver="1"] { transition-delay: 0.2s; }
.slide.active [data-sliver-c="1"] { transition-delay: 0.5s; }
.slide.active [data-sliver="2"] { transition-delay: 0.6s; }
.slide.active [data-sliver-c="2"] { transition-delay: 0.9s; }
.slide.active [data-sliver="3"] { transition-delay: 1.0s; }
.slide.active [data-sliver-c="3"] { transition-delay: 1.3s; }
.slide.active [data-sliver="4"] { transition-delay: 1.4s; }
.slide.active [data-sliver-c="4"] { transition-delay: 1.7s; }
.slide.active [data-sliver="5"] { transition-delay: 1.8s; }

.slide.active .sliver { opacity: 1; transform: translateY(0); }
.slide.active .sliver-connector { opacity: 1; }

.opp-vertical {
  opacity: 0;
  transform: translateY(10px);
  transition: opacity 0.5s ease 2.2s, transform 0.5s ease 2.2s;
}
.slide.active .opp-vertical { opacity: 1; transform: translateY(0); }

/* ============================================
   SLIDE 8 — TABLE ROWS
   ============================================ */
.comp-table tbody tr {
  opacity: 0;
  transform: translateY(8px);
  transition: opacity 0.4s ease, transform 0.4s ease;
}
.slide.active [data-row="1"] { transition-delay: 0.2s; }
.slide.active [data-row="2"] { transition-delay: 0.4s; }
.slide.active [data-row="3"] { transition-delay: 0.6s; }
.slide.active [data-row="4"] { transition-delay: 0.8s; }
.slide.active [data-row="5"] { transition-delay: 1.1s; }
.slide.active .comp-table tbody tr { opacity: 1; transform: translateY(0); }

/* ============================================
   SLIDE 8 — DISTRIBUTION + MOAT
   ============================================ */
.ind-chip {
  opacity: 0;
  transform: translateY(10px);
  transition: opacity 0.4s ease, transform 0.4s ease;
}
.slide.active [data-ind="1"] { transition-delay: 0.3s; }
.slide.active [data-ind="2"] { transition-delay: 0.5s; }
.slide.active [data-ind="3"] { transition-delay: 0.7s; }
.slide.active [data-ind="4"] { transition-delay: 0.9s; }
.slide.active .ind-chip { opacity: 1; transform: translateY(0); }

.dist-wedge {
  opacity: 0;
  transform: translateY(10px);
  transition: opacity 0.5s ease 1.2s, transform 0.5s ease 1.2s;
}
.slide.active .dist-wedge { opacity: 1; transform: translateY(0); }

.moat-layer {
  opacity: 0;
  transform: translateX(12px);
  transition: opacity 0.4s ease, transform 0.4s ease;
}
.slide.active [data-ring="1"] { transition-delay: 0.4s; }
.slide.active [data-ring="2"] { transition-delay: 0.7s; }
.slide.active [data-ring="3"] { transition-delay: 1.0s; }
.slide.active .moat-layer { opacity: 1; transform: translateX(0); }

/* ============================================
   SLIDE 9 — COMPOUNDING BARS
   ============================================ */
.timeline-bar .bar-fill {
  width: 0;
  transition: width 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}
.slide.active .timeline-bar .bar-fill { width: var(--width); }
.slide.active [data-bar="1"] .bar-fill { transition-delay: 0.2s; }
.slide.active [data-bar="2"] .bar-fill { transition-delay: 0.6s; }
.slide.active [data-bar="3"] .bar-fill { transition-delay: 1.0s; }
.slide.active [data-bar="4"] .bar-fill { transition-delay: 1.4s; }
.slide.active [data-bar="5"] .bar-fill { transition-delay: 1.7s; }

.flywheel-loops {
  opacity: 0;
  transform: translateY(12px);
  transition: opacity 0.6s ease 2.2s, transform 0.6s ease 2.2s;
}
.slide.active .flywheel-loops { opacity: 1; transform: translateY(0); }

/* ============================================
   SLIDE 10 — FUND BUCKETS
   ============================================ */
.fund-bucket {
  opacity: 0;
  transform: translateY(16px);
  transition: opacity 0.5s ease, transform 0.5s ease;
}
.slide.active [data-bucket="1"] { transition-delay: 0.2s; }
.slide.active [data-bucket="2"] { transition-delay: 0.5s; }
.slide.active [data-bucket="3"] { transition-delay: 0.8s; }
.slide.active .fund-bucket { opacity: 1; transform: translateY(0); }

/* ============================================
   SLIDE 11 — CLOSE LINES
   ============================================ */
.close-line {
  opacity: 0;
  transform: translateY(8px);
  transition: opacity 0.6s ease, transform 0.6s ease;
}
.slide.active [data-line="1"] { transition-delay: 0.5s; }
.slide.active [data-line="2"] { transition-delay: 1.0s; }
.slide.active [data-line="3"] { transition-delay: 1.5s; }
.slide.active .close-line { opacity: 1; transform: translateY(0); }

/* ============================================
   GLOBAL — CALLOUT FADE IN
   ============================================ */
.callout {
  opacity: 0;
  transition: opacity 0.6s ease 1.5s;
}
.slide.active .callout { opacity: 1; }
