/* ============================================================
   BLAST PRESENTATION — ENGINEERING THEME
   Blue / Grey / White — Publication Quality
   ============================================================ */

*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

:root {
  --navy:       #0d1b2a;
  --dark-blue:  #1a2f4e;
  --mid-blue:   #1e3a6e;
  --blue:       #1d4ed8;
  --blue-light: #3b82f6;
  --blue-pale:  #93c5fd;
  --cyan:       #0ea5e9;
  --teal:       #0d9488;
  --grey-900:   #111827;
  --grey-800:   #1f2937;
  --grey-700:   #374151;
  --grey-600:   #4b5563;
  --grey-500:   #6b7280;
  --grey-400:   #9ca3af;
  --grey-300:   #d1d5db;
  --grey-200:   #e5e7eb;
  --grey-100:   #f3f4f6;
  --white:      #ffffff;
  --amber:      #f59e0b;
  --orange:     #ea580c;
  --red:        #dc2626;
  --green:      #16a34a;
  --green-light:#22c55e;
  --slide-w:    1280px;
  --slide-h:    720px;
}

html, body {
  width: 100%;
  min-height: 100vh;
  background: #0a0f1a;
  font-family: 'Inter', sans-serif;
  overflow: hidden;
}

/* ============================================================
   SLIDE SYSTEM
   ============================================================ */
.slide {
  position: fixed;
  top: 0; left: 0;
  width: 100vw; height: 100vh;
  display: none;
  flex-direction: column;
  background: var(--navy);
  overflow: hidden;
}
.slide.active { display: flex; }

/* ============================================================
   NAVIGATION
   ============================================================ */
.nav-controls {
  position: fixed;
  bottom: 28px; right: 28px;
  display: flex; gap: 10px;
  z-index: 1000;
}
.nav-btn {
  width: 44px; height: 44px;
  border-radius: 50%;
  border: 1.5px solid rgba(59,130,246,0.5);
  background: rgba(29,78,216,0.25);
  color: var(--blue-pale);
  font-size: 18px;
  cursor: pointer;
  backdrop-filter: blur(8px);
  transition: all 0.2s;
  display: flex; align-items: center; justify-content: center;
}
.nav-btn:hover { background: rgba(29,78,216,0.6); border-color: var(--blue-light); color: white; }

.slide-counter {
  position: fixed;
  bottom: 36px; left: 50%;
  transform: translateX(-50%);
  color: var(--grey-400);
  font-size: 12px;
  font-family: 'JetBrains Mono', monospace;
  letter-spacing: 2px;
  z-index: 1000;
}

.progress-bar {
  position: fixed;
  top: 0; left: 0;
  width: 100%; height: 3px;
  background: rgba(255,255,255,0.08);
  z-index: 1000;
}
.progress-fill {
  height: 100%;
  background: linear-gradient(90deg, var(--blue), var(--cyan));
  transition: width 0.4s ease;
}

/* ============================================================
   SLIDE HEADER (all slides except title)
   ============================================================ */
.slide-header {
  padding: 22px 48px 14px;
  border-bottom: 1px solid rgba(59,130,246,0.2);
  display: flex;
  align-items: baseline;
  gap: 16px;
  background: rgba(13,27,42,0.95);
  flex-shrink: 0;
}
.slide-num {
  font-family: 'JetBrains Mono', monospace;
  font-size: 11px;
  color: var(--blue-light);
  letter-spacing: 2px;
  opacity: 0.7;
  min-width: 28px;
}
.slide-title {
  font-size: 22px;
  font-weight: 700;
  color: var(--white);
  letter-spacing: -0.3px;
}
.slide-subtitle {
  font-size: 13px;
  color: var(--grey-400);
  margin-left: auto;
  font-weight: 400;
}

/* ============================================================
   SLIDE BODY
   ============================================================ */
.slide-body {
  flex: 1;
  padding: 20px 48px 16px;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  gap: 14px;
}
.two-col {
  flex-direction: row;
  gap: 28px;
}
.col-left, .col-right {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 12px;
  overflow: hidden;
}

/* ============================================================
   SLIDE 1 — TITLE
   ============================================================ */
.slide-bg-accent {
  position: absolute;
  top: -200px; right: -200px;
  width: 700px; height: 700px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(29,78,216,0.18) 0%, transparent 70%);
  pointer-events: none;
}
.title-slide-content {
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  padding: 48px 80px;
  gap: 24px;
  position: relative;
  z-index: 1;
}
.institution-badge {
  display: flex;
  align-items: center;
  gap: 10px;
  background: rgba(29,78,216,0.2);
  border: 1px solid rgba(59,130,246,0.35);
  border-radius: 6px;
  padding: 8px 16px;
  color: var(--blue-pale);
  font-size: 13px;
  font-weight: 500;
}
.inst-icon { font-size: 16px; }
.main-title {
  font-size: 38px;
  font-weight: 800;
  color: var(--white);
  line-height: 1.2;
  letter-spacing: -0.8px;
  max-width: 900px;
}
.highlight-text {
  background: linear-gradient(135deg, var(--blue-light), var(--cyan));
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}
.authors-block { display: flex; flex-direction: column; gap: 8px; }
.author-row { display: flex; flex-wrap: wrap; gap: 8px; }
.author-chip {
  background: rgba(255,255,255,0.07);
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 20px;
  padding: 5px 14px;
  font-size: 12px;
  color: var(--grey-300);
  font-weight: 500;
}
.corresponding { font-size: 11px; color: var(--grey-500); font-family: 'JetBrains Mono', monospace; }
.title-meta-row { display: flex; flex-wrap: wrap; gap: 10px; }
.meta-pill {
  display: flex; align-items: center; gap: 6px;
  background: rgba(29,78,216,0.15);
  border: 1px solid rgba(59,130,246,0.25);
  border-radius: 20px;
  padding: 6px 14px;
  font-size: 12px;
  color: var(--blue-pale);
}
.meta-icon { font-size: 13px; }
.journal-tag {
  font-size: 11px;
  color: var(--grey-600);
  letter-spacing: 1.5px;
  text-transform: uppercase;
  border-top: 1px solid rgba(255,255,255,0.06);
  padding-top: 12px;
  width: 100%;
}

/* ============================================================
   SLIDE 2 — PROBLEM STATEMENT
   ============================================================ */
.info-card {
  border-radius: 10px;
  padding: 14px 16px;
  display: flex;
  gap: 12px;
  align-items: flex-start;
  border: 1px solid transparent;
}
.info-card h3 { font-size: 13px; font-weight: 600; color: var(--white); margin-bottom: 4px; }
.info-card p { font-size: 12px; color: var(--grey-300); line-height: 1.5; }
.info-card strong { color: var(--white); }
.card-icon { font-size: 20px; flex-shrink: 0; margin-top: 2px; }
.accent-blue { background: rgba(29,78,216,0.15); border-color: rgba(59,130,246,0.25); }
.accent-orange { background: rgba(234,88,12,0.12); border-color: rgba(234,88,12,0.25); }
.accent-red { background: rgba(220,38,38,0.12); border-color: rgba(220,38,38,0.25); }

.ppv-standards-box {
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.1);
  border-radius: 10px;
  padding: 14px;
}
.box-title { font-size: 12px; font-weight: 600; color: var(--blue-pale); margin-bottom: 10px; }

.data-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 11.5px;
}
.data-table th {
  background: rgba(29,78,216,0.4);
  color: var(--white);
  padding: 7px 10px;
  text-align: left;
  font-weight: 600;
  font-size: 11px;
}
.data-table td {
  padding: 6px 10px;
  color: var(--grey-300);
  border-bottom: 1px solid rgba(255,255,255,0.05);
}
.data-table tr:nth-child(even) td { background: rgba(255,255,255,0.03); }
.val-red { color: #f87171; font-weight: 600; }
.table-note { font-size: 10px; color: var(--grey-500); margin-top: 6px; font-style: italic; }

.key-metric-row { display: flex; gap: 12px; }
.key-metric {
  flex: 1;
  background: rgba(29,78,216,0.2);
  border: 1px solid rgba(59,130,246,0.3);
  border-radius: 10px;
  padding: 12px;
  text-align: center;
}
.km-value { font-size: 28px; font-weight: 800; color: var(--blue-light); font-family: 'JetBrains Mono', monospace; }
.km-blue { color: var(--cyan); }
.km-label { font-size: 10px; color: var(--grey-400); margin-top: 4px; line-height: 1.4; }

/* ============================================================
   SLIDE 3 — RESEARCH GAP
   ============================================================ */
.gap-diagram {
  display: flex;
  align-items: stretch;
  gap: 0;
  background: rgba(255,255,255,0.03);
  border: 1px solid rgba(255,255,255,0.08);
  border-radius: 12px;
  overflow: hidden;
  flex: 1;
}
.gap-col {
  flex: 1;
  padding: 16px;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.gap-header {
  font-size: 13px;
  font-weight: 700;
  padding: 8px 12px;
  border-radius: 6px;
  text-align: center;
  margin-bottom: 4px;
}
.gap-empirical { background: rgba(220,38,38,0.2); color: #fca5a5; border: 1px solid rgba(220,38,38,0.3); }
.gap-ml { background: rgba(22,163,74,0.2); color: #86efac; border: 1px solid rgba(22,163,74,0.3); }
.gap-item {
  padding: 6px 12px;
  border-radius: 6px;
  font-size: 12px;
  font-weight: 500;
}
.used { background: rgba(22,163,74,0.15); color: #86efac; border: 1px solid rgba(22,163,74,0.2); }
.missing { background: rgba(220,38,38,0.12); color: #fca5a5; border: 1px solid rgba(220,38,38,0.2); }
.neutral { background: rgba(245,158,11,0.12); color: #fcd34d; border: 1px solid rgba(245,158,11,0.2); }
.gap-result {
  margin-top: auto;
  padding: 8px 12px;
  border-radius: 6px;
  font-size: 13px;
  font-weight: 700;
  text-align: center;
}
.bad { background: rgba(220,38,38,0.2); color: #f87171; }
.good { background: rgba(22,163,74,0.2); color: #4ade80; }
.gap-arrow-col {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 16px 8px;
  gap: 6px;
  background: rgba(29,78,216,0.1);
  border-left: 1px solid rgba(255,255,255,0.06);
  border-right: 1px solid rgba(255,255,255,0.06);
}
.gap-arrow { font-size: 24px; color: var(--blue-light); }
.gap-arrow-label { font-size: 10px; color: var(--grey-400); text-align: center; line-height: 1.4; }

.gap-findings-row { display: flex; gap: 12px; }
.finding-pill {
  flex: 1;
  background: rgba(29,78,216,0.12);
  border: 1px solid rgba(59,130,246,0.2);
  border-radius: 8px;
  padding: 10px 14px;
  font-size: 11.5px;
  color: var(--grey-300);
  line-height: 1.5;
}
.finding-pill strong { color: var(--blue-pale); }

/* ============================================================
   SLIDE 4 — OBJECTIVES
   ============================================================ */
.objectives-body { gap: 16px; }
.obj-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 12px;
}
.obj-card {
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.1);
  border-radius: 10px;
  padding: 16px;
  position: relative;
  transition: border-color 0.2s;
}
.obj-card:hover { border-color: rgba(59,130,246,0.4); }
.obj-num {
  position: absolute;
  top: 12px; right: 12px;
  font-family: 'JetBrains Mono', monospace;
  font-size: 10px;
  color: var(--grey-600);
}
.obj-icon { font-size: 24px; margin-bottom: 8px; }
.obj-card h3 { font-size: 13px; font-weight: 600; color: var(--white); margin-bottom: 6px; }
.obj-card p { font-size: 11.5px; color: var(--grey-400); line-height: 1.5; }

.obj-params-row {
  display: flex;
  align-items: center;
  gap: 16px;
  background: rgba(255,255,255,0.03);
  border: 1px solid rgba(255,255,255,0.08);
  border-radius: 10px;
  padding: 14px 20px;
}
.param-box { flex: 1; }
.param-label { font-size: 10px; font-weight: 700; color: var(--grey-500); letter-spacing: 1.5px; text-transform: uppercase; margin-bottom: 8px; }
.param-items { display: flex; flex-wrap: wrap; gap: 6px; }
.param-tag {
  background: rgba(29,78,216,0.2);
  border: 1px solid rgba(59,130,246,0.3);
  border-radius: 4px;
  padding: 4px 10px;
  font-size: 11px;
  color: var(--blue-pale);
  font-family: 'JetBrains Mono', monospace;
}
.output-tag {
  background: rgba(22,163,74,0.2);
  border-color: rgba(22,163,74,0.3);
  color: #86efac;
}
.param-arrow { font-size: 24px; color: var(--blue-light); flex-shrink: 0; }
.input-box .param-label { color: var(--blue-pale); }
.output-box .param-label { color: #86efac; }

/* ============================================================
   SLIDE 5 — STUDY AREA
   ============================================================ */
.mine-map-container {
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.1);
  border-radius: 10px;
  padding: 14px;
  flex: 1;
}
.mine-map { width: 100%; }
.india-map-svg { width: 100%; height: auto; max-height: 260px; }
.map-legend { display: flex; align-items: center; gap: 6px; font-size: 11px; color: var(--grey-400); margin-top: 8px; }
.legend-dot { width: 10px; height: 10px; border-radius: 50%; display: inline-block; }
.legend-dot.yellow { background: var(--amber); }
.legend-dot.blue { background: var(--blue-light); }

.mine-info-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.mine-info-card {
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.08);
  border-radius: 8px;
  padding: 10px 12px;
}
.mine-info-card.highlight-card {
  grid-column: 1 / -1;
  background: rgba(29,78,216,0.12);
  border-color: rgba(59,130,246,0.25);
}
.mic-label { font-size: 9px; font-weight: 700; color: var(--grey-500); letter-spacing: 1.5px; text-transform: uppercase; margin-bottom: 4px; }
.mic-value { font-size: 11.5px; color: var(--grey-200); line-height: 1.4; }

/* ============================================================
   SLIDE 6 — DATA COLLECTION
   ============================================================ */
.data-top-row { display: flex; gap: 12px; }
.data-highlight-box {
  flex: 1;
  background: rgba(29,78,216,0.2);
  border: 1px solid rgba(59,130,246,0.3);
  border-radius: 10px;
  padding: 14px;
  text-align: center;
}
.dhb-num { font-size: 36px; font-weight: 800; color: var(--blue-light); font-family: 'JetBrains Mono', monospace; line-height: 1; }
.dhb-label { font-size: 11px; color: var(--grey-400); margin-top: 4px; }

.stat-table-container {
  background: rgba(255,255,255,0.03);
  border: 1px solid rgba(255,255,255,0.08);
  border-radius: 10px;
  padding: 14px;
  flex: 1;
}
.table-heading { font-size: 12px; font-weight: 600; color: var(--blue-pale); margin-bottom: 10px; }
.full-table { font-size: 11px; }
.full-table th { font-size: 10px; padding: 6px 8px; }
.full-table td { padding: 5px 8px; }
.input-row td { color: var(--grey-300); }
.output-row td { color: #fbbf24; font-weight: 600; background: rgba(245,158,11,0.08) !important; }

.instrument-note {
  font-size: 11px;
  color: var(--grey-500);
  display: flex;
  align-items: center;
  gap: 8px;
}
.inst-badge {
  background: rgba(29,78,216,0.2);
  border: 1px solid rgba(59,130,246,0.25);
  border-radius: 4px;
  padding: 3px 8px;
  color: var(--blue-pale);
  font-weight: 600;
  font-size: 11px;
}

/* ============================================================
   SLIDE 7 — FLOWCHART
   ============================================================ */
.flowchart-body { align-items: center; justify-content: center; }
.flowchart {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0;
  width: 100%;
  max-width: 900px;
}
.fc-row {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  width: 100%;
}
.fc-box {
  border-radius: 8px;
  padding: 10px 20px;
  text-align: center;
  border: 1.5px solid;
  min-width: 160px;
}
.fc-title { font-size: 12px; font-weight: 600; color: var(--white); }
.fc-sub { font-size: 10px; color: var(--grey-400); margin-top: 3px; }
.fc-params { font-size: 13px; font-weight: 700; color: var(--blue-pale); font-family: 'JetBrains Mono', monospace; margin-top: 3px; }
.fc-icon { font-size: 18px; margin-bottom: 4px; }

.fc-data { background: rgba(29,78,216,0.2); border-color: rgba(59,130,246,0.4); max-width: 400px; }
.fc-input { background: rgba(14,165,233,0.15); border-color: rgba(14,165,233,0.35); }
.fc-output-small { background: rgba(22,163,74,0.15); border-color: rgba(22,163,74,0.35); min-width: 100px; }
.fc-split { background: rgba(245,158,11,0.12); border-color: rgba(245,158,11,0.3); max-width: 500px; }
.fc-split-row { display: flex; gap: 12px; justify-content: center; margin-top: 6px; }
.split-train { font-size: 11px; color: #86efac; background: rgba(22,163,74,0.15); padding: 3px 10px; border-radius: 4px; }
.split-test { font-size: 11px; color: #fcd34d; background: rgba(245,158,11,0.15); padding: 3px 10px; border-radius: 4px; }

.fc-models-row { gap: 10px; }
.fc-model { flex: 1; max-width: 220px; }
.fc-empirical { background: rgba(220,38,38,0.12); border-color: rgba(220,38,38,0.3); }
.fc-regression { background: rgba(245,158,11,0.12); border-color: rgba(245,158,11,0.3); }
.fc-ml { background: rgba(22,163,74,0.12); border-color: rgba(22,163,74,0.3); }

.fc-validation { background: rgba(139,92,246,0.12); border-color: rgba(139,92,246,0.3); max-width: 600px; }
.fc-val-row { display: flex; gap: 8px; justify-content: center; margin-top: 6px; flex-wrap: wrap; }
.val-tag { font-size: 10px; background: rgba(139,92,246,0.2); color: #c4b5fd; padding: 3px 8px; border-radius: 4px; }

.fc-best { background: rgba(245,158,11,0.15); border-color: rgba(245,158,11,0.4); max-width: 500px; }
.fc-best .fc-title { color: #fbbf24; }

.fc-arrow-down { font-size: 20px; color: var(--grey-600); line-height: 1; padding: 2px 0; }
.fc-side-arrow { font-size: 18px; color: var(--grey-600); }

/* ============================================================
   SLIDE 8 — EMPIRICAL MODELS
   ============================================================ */
.empirical-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 12px;
}
.emp-card {
  border-radius: 10px;
  padding: 14px;
  border: 1.5px solid;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.emp-bis { background: rgba(220,38,38,0.1); border-color: rgba(220,38,38,0.25); }
.emp-usbm { background: rgba(245,158,11,0.1); border-color: rgba(245,158,11,0.25); }
.emp-lak { background: rgba(220,38,38,0.1); border-color: rgba(220,38,38,0.25); }
.emp-aah { background: rgba(22,163,74,0.1); border-color: rgba(22,163,74,0.25); }

.emp-badge {
  display: inline-block;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 1.5px;
  padding: 3px 8px;
  border-radius: 4px;
  background: rgba(255,255,255,0.1);
  color: var(--white);
  width: fit-content;
}
.emp-name { font-size: 11px; color: var(--grey-300); font-weight: 500; }
.emp-eq {
  font-family: 'JetBrains Mono', monospace;
  font-size: 12px;
  color: var(--white);
  background: rgba(0,0,0,0.3);
  padding: 8px 10px;
  border-radius: 6px;
  line-height: 1.6;
}
.emp-result { font-size: 13px; font-weight: 700; }
.r2-bad { color: #f87171; }
.r2-mod { color: #fbbf24; }
.r2-best { color: #4ade80; }
.emp-note { font-size: 10px; color: var(--grey-500); line-height: 1.4; }

.scaled-dist-box {
  background: rgba(29,78,216,0.12);
  border: 1px solid rgba(59,130,246,0.25);
  border-radius: 10px;
  padding: 14px 20px;
}
.sd-title { font-size: 12px; font-weight: 700; color: var(--blue-pale); margin-bottom: 8px; }
.sd-content { display: flex; gap: 20px; align-items: flex-start; }
.sd-formula {
  font-family: 'JetBrains Mono', monospace;
  font-size: 13px;
  color: var(--white);
  background: rgba(0,0,0,0.3);
  padding: 8px 14px;
  border-radius: 6px;
  white-space: nowrap;
  flex-shrink: 0;
}
.sd-limitation { font-size: 11.5px; color: var(--grey-300); line-height: 1.5; }
.sd-limitation strong { color: #fca5a5; }

/* ============================================================
   SLIDE 9 — MULTIVARIATE REGRESSION
   ============================================================ */
.equation-box {
  background: rgba(0,0,0,0.4);
  border: 1.5px solid rgba(59,130,246,0.35);
  border-radius: 10px;
  padding: 16px;
}
.eq-label { font-size: 10px; font-weight: 700; color: var(--blue-pale); letter-spacing: 1.5px; text-transform: uppercase; margin-bottom: 10px; }
.eq-main {
  font-family: 'JetBrains Mono', monospace;
  font-size: 13px;
  color: var(--white);
  line-height: 1.8;
  word-break: break-all;
}
.eq-legend { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 10px; }
.eq-legend span { font-size: 10px; color: var(--grey-400); background: rgba(255,255,255,0.05); padding: 3px 8px; border-radius: 4px; font-family: 'JetBrains Mono', monospace; }

.coeff-analysis { background: rgba(255,255,255,0.03); border: 1px solid rgba(255,255,255,0.08); border-radius: 10px; padding: 14px; flex: 1; }
.coeff-analysis h3 { font-size: 12px; font-weight: 600; color: var(--white); margin-bottom: 10px; }
.coeff-row { margin-bottom: 8px; }
.coeff-bar-container { display: flex; align-items: center; gap: 10px; }
.coeff-label { font-size: 11px; color: var(--grey-400); width: 90px; flex-shrink: 0; font-family: 'JetBrains Mono', monospace; }
.coeff-bar {
  height: 20px;
  border-radius: 4px;
  display: flex;
  align-items: center;
  padding: 0 8px;
  font-size: 10px;
  font-weight: 700;
  font-family: 'JetBrains Mono', monospace;
  min-width: 50px;
}
.positive { background: rgba(22,163,74,0.3); color: #4ade80; border: 1px solid rgba(22,163,74,0.4); }
.negative { background: rgba(220,38,38,0.25); color: #f87171; border: 1px solid rgba(220,38,38,0.35); }

.scatter-container { background: rgba(255,255,255,0.03); border: 1px solid rgba(255,255,255,0.08); border-radius: 10px; padding: 12px; flex: 1; }
.chart-caption { font-size: 10px; color: var(--grey-500); text-align: center; margin-top: 6px; font-style: italic; }

.mvr-findings { display: flex; flex-direction: column; gap: 8px; }
.mvr-finding { padding: 8px 12px; border-radius: 6px; font-size: 11.5px; font-weight: 500; }
.positive-find { background: rgba(22,163,74,0.15); color: #86efac; border: 1px solid rgba(22,163,74,0.25); }
.negative-find { background: rgba(220,38,38,0.12); color: #fca5a5; border: 1px solid rgba(220,38,38,0.2); }
.neutral-find { background: rgba(245,158,11,0.12); color: #fcd34d; border: 1px solid rgba(245,158,11,0.2); }

/* ============================================================
   SLIDE 10 — ML MODELS
   ============================================================ */
.ml-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 12px;
  flex: 1;
}
.ml-card {
  border-radius: 10px;
  padding: 14px;
  border: 1.5px solid;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.ml-rf { background: rgba(14,165,233,0.1); border-color: rgba(14,165,233,0.3); }
.ml-gbr { background: rgba(139,92,246,0.1); border-color: rgba(139,92,246,0.3); }
.ml-xgb { background: rgba(22,163,74,0.12); border-color: rgba(22,163,74,0.4); box-shadow: 0 0 20px rgba(22,163,74,0.1); }
.ml-svr { background: rgba(245,158,11,0.1); border-color: rgba(245,158,11,0.3); }

.ml-badge {
  display: inline-block;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 1.5px;
  padding: 3px 8px;
  border-radius: 4px;
  background: rgba(255,255,255,0.1);
  color: var(--white);
  width: fit-content;
}
.ml-best-badge { background: rgba(22,163,74,0.3); color: #4ade80; }
.ml-card h3 { font-size: 13px; font-weight: 700; color: var(--white); }
.ml-principle { margin: 4px 0; }
.ml-diagram { display: flex; align-items: center; gap: 4px; flex-wrap: wrap; }
.tree-box { background: rgba(14,165,233,0.2); border: 1px solid rgba(14,165,233,0.3); border-radius: 4px; padding: 4px 8px; font-size: 10px; color: var(--blue-pale); font-family: 'JetBrains Mono', monospace; }
.tree-arrow { font-size: 10px; color: var(--grey-500); }
.tree-result { background: rgba(22,163,74,0.2); border: 1px solid rgba(22,163,74,0.3); border-radius: 4px; padding: 4px 8px; font-size: 10px; color: #86efac; font-family: 'JetBrains Mono', monospace; }
.ml-eq-small { font-family: 'JetBrains Mono', monospace; font-size: 10px; color: var(--grey-300); background: rgba(0,0,0,0.3); padding: 6px 8px; border-radius: 6px; line-height: 1.6; }
.ml-points { list-style: none; padding: 0; display: flex; flex-direction: column; gap: 4px; flex: 1; }
.ml-points li { font-size: 11px; color: var(--grey-300); padding-left: 12px; position: relative; line-height: 1.4; }
.ml-points li::before { content: '›'; position: absolute; left: 0; color: var(--blue-light); }
.ml-result-badge { text-align: center; padding: 6px; border-radius: 6px; font-size: 13px; font-weight: 700; background: rgba(255,255,255,0.08); color: var(--white); margin-top: auto; }
.ml-best-result { background: rgba(22,163,74,0.25); color: #4ade80; }
.svr-diagram { justify-content: center; }
.svr-tube { font-size: 10px; color: #fcd34d; background: rgba(245,158,11,0.15); border: 1px dashed rgba(245,158,11,0.4); padding: 4px 12px; border-radius: 4px; }

/* ============================================================
   SLIDE 11 — TRAINING STRATEGY
   ============================================================ */
.split-diagram { background: rgba(255,255,255,0.03); border: 1px solid rgba(255,255,255,0.08); border-radius: 10px; padding: 14px; }
.split-diagram h3 { font-size: 12px; font-weight: 600; color: var(--white); margin-bottom: 10px; }
.split-bar-container { display: flex; border-radius: 6px; overflow: hidden; height: 48px; }
.split-bar-train { flex: 4; background: rgba(22,163,74,0.3); display: flex; flex-direction: column; align-items: center; justify-content: center; border-right: 2px solid rgba(0,0,0,0.3); }
.split-bar-test { flex: 1; background: rgba(245,158,11,0.3); display: flex; flex-direction: column; align-items: center; justify-content: center; }
.split-bar-label { font-size: 10px; font-weight: 700; color: var(--white); letter-spacing: 1px; }
.split-bar-num { font-size: 11px; color: var(--grey-300); }
.split-total { font-size: 11px; color: var(--grey-500); text-align: center; margin-top: 6px; }

.cv-diagram { background: rgba(255,255,255,0.03); border: 1px solid rgba(255,255,255,0.08); border-radius: 10px; padding: 14px; flex: 1; }
.cv-diagram h3 { font-size: 12px; font-weight: 600; color: var(--white); margin-bottom: 10px; }
.cv-grid { display: flex; flex-direction: column; gap: 4px; }
.cv-fold { display: flex; align-items: center; gap: 6px; }
.cv-row { display: flex; gap: 3px; flex: 1; }
.cv-train { flex: 1; background: rgba(22,163,74,0.2); border: 1px solid rgba(22,163,74,0.3); border-radius: 3px; height: 20px; display: flex; align-items: center; justify-content: center; font-size: 8px; color: #86efac; font-weight: 600; }
.cv-test { flex: 1; background: rgba(245,158,11,0.3); border: 1px solid rgba(245,158,11,0.4); border-radius: 3px; height: 20px; display: flex; align-items: center; justify-content: center; font-size: 8px; color: #fcd34d; font-weight: 700; }
.cv-label { font-size: 10px; color: var(--grey-500); width: 40px; flex-shrink: 0; }
.cv-note { font-size: 10px; color: var(--grey-500); margin-top: 8px; line-height: 1.4; }

.metrics-explain { background: rgba(255,255,255,0.03); border: 1px solid rgba(255,255,255,0.08); border-radius: 10px; padding: 14px; flex: 1; }
.metrics-explain h3 { font-size: 12px; font-weight: 600; color: var(--white); margin-bottom: 10px; }
.metric-card { background: rgba(29,78,216,0.1); border: 1px solid rgba(59,130,246,0.2); border-radius: 8px; padding: 10px 12px; margin-bottom: 8px; }
.metric-name { font-size: 11px; font-weight: 600; color: var(--blue-pale); margin-bottom: 4px; }
.metric-formula { font-family: 'JetBrains Mono', monospace; font-size: 11px; color: var(--white); background: rgba(0,0,0,0.3); padding: 4px 8px; border-radius: 4px; margin-bottom: 4px; display: inline-block; }
.metric-desc { font-size: 10.5px; color: var(--grey-400); line-height: 1.4; }

/* ============================================================
   SLIDE 12 — RESULTS COMPARISON
   ============================================================ */
.results-table-container { overflow: auto; flex: 1; }
.results-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 11px;
}
.results-table th {
  background: rgba(29,78,216,0.5);
  color: var(--white);
  padding: 8px 10px;
  text-align: left;
  font-weight: 600;
  font-size: 10.5px;
  white-space: nowrap;
}
.results-table td {
  padding: 7px 10px;
  color: var(--grey-300);
  border-bottom: 1px solid rgba(255,255,255,0.05);
  white-space: nowrap;
}
.rank-1 td { background: rgba(22,163,74,0.12) !important; }
.rank-1 td:first-child { color: #fbbf24; font-weight: 700; }
.rank-2 td { background: rgba(14,165,233,0.08) !important; }
.rank-5 td, .rank-6 td, .rank-7 td, .rank-8 td, .rank-9 td { opacity: 0.75; }

.val-best { color: #4ade80 !important; font-weight: 700; }
.val-good { color: #86efac !important; font-weight: 600; }
.val-mod { color: #fbbf24 !important; }
.val-low { color: #fb923c !important; }
.val-poor { color: #f87171 !important; }
.val-vbad { color: #ef4444 !important; }

.type-ml { background: rgba(22,163,74,0.2); color: #86efac; padding: 2px 6px; border-radius: 3px; font-size: 9px; font-weight: 700; }
.type-reg { background: rgba(245,158,11,0.2); color: #fcd34d; padding: 2px 6px; border-radius: 3px; font-size: 9px; font-weight: 700; }
.type-emp { background: rgba(220,38,38,0.2); color: #fca5a5; padding: 2px 6px; border-radius: 3px; font-size: 9px; font-weight: 700; }

.results-bar-container { height: 100px; }

/* ============================================================
   SLIDE 13 — PERFORMANCE PLOTS
   ============================================================ */
.perf-plots-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 12px;
  flex: 1;
}
.perf-plot-card {
  background: rgba(255,255,255,0.03);
  border: 1px solid rgba(255,255,255,0.1);
  border-radius: 10px;
  padding: 12px;
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.perf-best {
  border-color: rgba(22,163,74,0.4);
  background: rgba(22,163,74,0.06);
  box-shadow: 0 0 20px rgba(22,163,74,0.08);
}
.ppc-title { font-size: 11px; font-weight: 600; color: var(--white); text-align: center; }
.ppc-metrics { font-size: 10px; color: var(--grey-400); text-align: center; font-family: 'JetBrains Mono', monospace; }
.ppc-best-metrics { color: #4ade80; }
.perf-note { font-size: 10.5px; color: var(--grey-500); text-align: center; font-style: italic; }

/* ============================================================
   SLIDE 14 — SHAP ANALYSIS
   ============================================================ */
.shap-plot-container { background: rgba(255,255,255,0.03); border: 1px solid rgba(255,255,255,0.08); border-radius: 10px; padding: 14px; flex: 1; }
.shap-plot-container h3 { font-size: 12px; font-weight: 600; color: var(--white); margin-bottom: 12px; }
.shap-plot { display: flex; flex-direction: column; gap: 10px; }
.shap-feature-row { display: flex; align-items: center; gap: 10px; }
.shap-feat-label { font-size: 11px; color: var(--grey-300); width: 90px; flex-shrink: 0; font-family: 'JetBrains Mono', monospace; }
.shap-bar-area { flex: 1; display: flex; align-items: center; height: 18px; background: rgba(255,255,255,0.04); border-radius: 4px; overflow: hidden; position: relative; }
.shap-neg-bar { height: 100%; background: linear-gradient(90deg, #1d4ed8, #3b82f6); opacity: 0.8; border-radius: 4px 0 0 4px; }
.shap-pos-bar { height: 100%; background: linear-gradient(90deg, #dc2626, #f87171); opacity: 0.8; border-radius: 0 4px 4px 0; }
.shap-rank { font-size: 10px; color: var(--grey-500); width: 28px; text-align: right; font-family: 'JetBrains Mono', monospace; }
.shap-axis { display: flex; justify-content: space-between; font-size: 9px; color: var(--grey-600); margin-top: 4px; }
.shap-neg-label { color: #93c5fd; }
.shap-pos-label { color: #fca5a5; }
.shap-color-legend { display: flex; gap: 16px; font-size: 10px; }
.shap-high { color: #fca5a5; }
.shap-low { color: #93c5fd; }

.shap-interpretations { display: flex; flex-direction: column; gap: 8px; }
.shap-interpretations h3 { font-size: 12px; font-weight: 600; color: var(--white); margin-bottom: 4px; }
.shap-interp-card { display: flex; gap: 10px; border-radius: 8px; padding: 10px 12px; border: 1px solid; }
.shap-d { background: rgba(29,78,216,0.12); border-color: rgba(59,130,246,0.25); }
.shap-q { background: rgba(220,38,38,0.1); border-color: rgba(220,38,38,0.25); }
.shap-s { background: rgba(245,158,11,0.1); border-color: rgba(245,158,11,0.25); }
.shap-b { background: rgba(139,92,246,0.1); border-color: rgba(139,92,246,0.25); }
.shap-h { background: rgba(20,184,166,0.1); border-color: rgba(20,184,166,0.25); }
.si-rank { font-size: 10px; font-weight: 700; color: var(--grey-500); width: 24px; flex-shrink: 0; font-family: 'JetBrains Mono', monospace; }
.si-content { flex: 1; }
.si-param { font-size: 11px; font-weight: 600; color: var(--white); margin-bottom: 2px; }
.si-direction { font-size: 10px; font-weight: 600; margin-bottom: 2px; }
.positive-dir { color: #f87171; }
.negative-dir { color: #93c5fd; }
.si-reason { font-size: 10.5px; color: var(--grey-400); line-height: 1.4; }

/* ============================================================
   SLIDE 15 — KEY FINDINGS
   ============================================================ */
.findings-layout { display: flex; gap: 24px; flex: 1; }
.findings-chart-col { width: 380px; flex-shrink: 0; display: flex; flex-direction: column; gap: 8px; }
.findings-text-col { flex: 1; display: flex; flex-direction: column; gap: 8px; }
.finding-card { display: flex; gap: 12px; border-radius: 8px; padding: 10px 14px; border: 1px solid; align-items: flex-start; }
.finding-1 { background: rgba(22,163,74,0.1); border-color: rgba(22,163,74,0.25); }
.finding-2 { background: rgba(245,158,11,0.1); border-color: rgba(245,158,11,0.25); }
.finding-3 { background: rgba(14,165,233,0.1); border-color: rgba(14,165,233,0.25); }
.finding-4 { background: rgba(139,92,246,0.1); border-color: rgba(139,92,246,0.25); }
.finding-5 { background: rgba(220,38,38,0.1); border-color: rgba(220,38,38,0.25); }
.fc-num { font-size: 18px; font-weight: 800; color: rgba(255,255,255,0.15); font-family: 'JetBrains Mono', monospace; flex-shrink: 0; line-height: 1; }
.fc-content strong { font-size: 12px; color: var(--white); display: block; margin-bottom: 3px; }
.fc-content p { font-size: 11px; color: var(--grey-300); line-height: 1.4; }

/* ============================================================
   SLIDE 16 — ENGINEERING INTERPRETATION
   ============================================================ */
.eng-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; }
.eng-card { background: rgba(255,255,255,0.04); border: 1px solid rgba(255,255,255,0.1); border-radius: 10px; padding: 14px; }
.eng-safety { border-color: rgba(22,163,74,0.3); }
.eng-design { border-color: rgba(59,130,246,0.3); }
.eng-monitoring { border-color: rgba(245,158,11,0.3); }
.eng-production { border-color: rgba(139,92,246,0.3); }
.eng-icon { font-size: 24px; margin-bottom: 8px; }
.eng-card h3 { font-size: 12px; font-weight: 600; color: var(--white); margin-bottom: 6px; }
.eng-card p { font-size: 11px; color: var(--grey-300); line-height: 1.5; }

.ppv-control-box { background: rgba(255,255,255,0.03); border: 1px solid rgba(255,255,255,0.08); border-radius: 10px; padding: 14px 20px; }
.pcb-title { font-size: 11px; font-weight: 700; color: var(--grey-400); letter-spacing: 1px; text-transform: uppercase; margin-bottom: 10px; }
.pcb-row { display: flex; align-items: center; gap: 16px; }
.pcb-item { flex: 1; }
.pcb-action { font-size: 13px; font-weight: 700; margin-bottom: 6px; }
.pcb-reduce .pcb-action { color: #93c5fd; }
.pcb-increase .pcb-action { color: #fca5a5; }
.pcb-params { font-size: 11px; color: var(--grey-400); font-family: 'JetBrains Mono', monospace; }
.pcb-divider { font-size: 24px; color: var(--grey-700); }

/* ============================================================
   SLIDE 17 — LIMITATIONS
   ============================================================ */
.limitations-body { overflow: hidden; }
.lim-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; flex: 1; }
.lim-card { background: rgba(255,255,255,0.03); border: 1px solid rgba(255,255,255,0.08); border-radius: 10px; padding: 14px; position: relative; }
.lim-icon { font-size: 20px; margin-bottom: 6px; }
.lim-num { position: absolute; top: 12px; right: 12px; font-family: 'JetBrains Mono', monospace; font-size: 10px; color: var(--grey-600); }
.lim-card h3 { font-size: 12px; font-weight: 600; color: var(--white); margin-bottom: 6px; }
.lim-card p { font-size: 11px; color: var(--grey-400); line-height: 1.5; margin-bottom: 8px; }
.lim-impact { font-size: 10px; color: #fca5a5; background: rgba(220,38,38,0.1); border: 1px solid rgba(220,38,38,0.2); border-radius: 4px; padding: 4px 8px; }

/* ============================================================
   SLIDE 18 — FUTURE WORK
   ============================================================ */
.future-timeline { display: flex; flex-direction: column; gap: 12px; flex: 1; }
.ft-item { display: flex; gap: 16px; align-items: flex-start; }
.ft-phase { font-size: 10px; font-weight: 700; letter-spacing: 1.5px; text-transform: uppercase; width: 80px; flex-shrink: 0; padding-top: 14px; }
.ft-near .ft-phase { color: #4ade80; }
.ft-mid .ft-phase { color: #60a5fa; }
.ft-long .ft-phase { color: #c4b5fd; }
.ft-cards { display: flex; gap: 12px; flex: 1; }
.ft-card { flex: 1; background: rgba(255,255,255,0.04); border: 1px solid rgba(255,255,255,0.08); border-radius: 10px; padding: 12px; }
.ft-near .ft-card { border-color: rgba(22,163,74,0.2); }
.ft-mid .ft-card { border-color: rgba(59,130,246,0.2); }
.ft-long .ft-card { border-color: rgba(139,92,246,0.2); }
.ft-icon { font-size: 20px; margin-bottom: 6px; }
.ft-card h4 { font-size: 12px; font-weight: 600; color: var(--white); margin-bottom: 5px; }
.ft-card p { font-size: 11px; color: var(--grey-400); line-height: 1.5; }

/* ============================================================
   SLIDE 19 — CONCLUSION
   ============================================================ */
.conclusion-summary { display: flex; flex-direction: column; gap: 8px; flex: 1; }
.cs-item { display: flex; gap: 12px; border-radius: 8px; padding: 10px 14px; border: 1px solid rgba(255,255,255,0.08); background: rgba(255,255,255,0.03); align-items: flex-start; }
.cs-1 { border-color: rgba(220,38,38,0.25); background: rgba(220,38,38,0.06); }
.cs-2 { border-color: rgba(245,158,11,0.25); background: rgba(245,158,11,0.06); }
.cs-3 { border-color: rgba(59,130,246,0.25); background: rgba(59,130,246,0.06); }
.cs-4 { border-color: rgba(22,163,74,0.35); background: rgba(22,163,74,0.1); }
.cs-5 { border-color: rgba(139,92,246,0.25); background: rgba(139,92,246,0.06); }
.cs-bullet { font-size: 11px; font-weight: 700; color: var(--grey-500); width: 24px; flex-shrink: 0; font-family: 'JetBrains Mono', monospace; padding-top: 1px; }
.cs-item p { font-size: 11.5px; color: var(--grey-300); line-height: 1.5; }
.cs-item strong { color: var(--white); }

.conclusion-metrics { background: rgba(22,163,74,0.08); border: 1.5px solid rgba(22,163,74,0.3); border-radius: 12px; padding: 20px; display: flex; flex-direction: column; gap: 14px; }
.conclusion-metrics h3 { font-size: 12px; font-weight: 600; color: var(--grey-400); letter-spacing: 1px; text-transform: uppercase; }
.cm-model-name { font-size: 20px; font-weight: 800; color: #4ade80; text-align: center; }
.cm-metrics-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 10px; }
.cm-metric { background: rgba(0,0,0,0.3); border-radius: 8px; padding: 12px; text-align: center; }
.cm-val { font-size: 28px; font-weight: 800; color: var(--white); font-family: 'JetBrains Mono', monospace; line-height: 1; }
.cm-label { font-size: 10px; color: var(--grey-400); margin-top: 4px; }
.recommendation-box { background: rgba(245,158,11,0.1); border: 1px solid rgba(245,158,11,0.3); border-radius: 8px; padding: 12px; }
.rec-title { font-size: 12px; font-weight: 700; color: #fbbf24; margin-bottom: 6px; }
.recommendation-box p { font-size: 11px; color: var(--grey-300); line-height: 1.5; }

/* ============================================================
   SLIDE 20 — REFERENCES
   ============================================================ */
.references-body { gap: 12px; }
.ref-cols { display: flex; gap: 24px; flex: 1; overflow: hidden; }
.ref-col { flex: 1; display: flex; flex-direction: column; gap: 8px; overflow: hidden; }
.ref-item { display: flex; gap: 8px; font-size: 10.5px; color: var(--grey-400); line-height: 1.5; }
.ref-num { color: var(--blue-pale); font-weight: 700; font-family: 'JetBrains Mono', monospace; flex-shrink: 0; }
.ref-item em { color: var(--grey-300); font-style: italic; }
.acknowledgement-box { background: rgba(29,78,216,0.1); border: 1px solid rgba(59,130,246,0.2); border-radius: 8px; padding: 10px 14px; font-size: 11px; color: var(--grey-400); }
.acknowledgement-box strong { color: var(--blue-pale); }

/* ============================================================
   RESPONSIVE ADJUSTMENTS
   ============================================================ */
@media (max-width: 1100px) {
  .slide-title { font-size: 18px; }
  .main-title { font-size: 28px; }
  .slide-body { padding: 14px 28px 12px; }
  .slide-header { padding: 16px 28px 10px; }
}