/* OneHub slide deck — dark theme. Loaded by every slide page. */
@import url('./colors_and_type.css');

:root {
  --slide-pad-x: 96px;
  --slide-pad-y: 72px;
}

html, body { background: #050D2E; }

deck-stage {
  --bg: radial-gradient(ellipse at 80% 50%, #102C7A 0%, #0A1A4D 35%, #050D2E 70%);
  --slide-bg: var(--bg);
  background: #050D2E;
}

.slide {
  position: relative;
  width: 100%;
  height: 100%;
  background: radial-gradient(ellipse at 80% 50%, #102C7A 0%, #0A1A4D 35%, #050D2E 70%);
  color: #fff;
  font-family: var(--oh-font-body);
  overflow: hidden;
  padding: var(--slide-pad-y) var(--slide-pad-x);
  box-sizing: border-box;
}

/* ─── Decoration layer ─── */
.slide-glow {
  position: absolute; pointer-events: none;
  width: 720px; height: 720px;
  background: radial-gradient(circle, rgba(2,216,255,0.32) 0%, rgba(2,216,255,0) 60%);
  filter: blur(40px);
}
.slide-glow.tr { top: -180px; right: -160px; }
.slide-glow.bl { bottom: -200px; left: -200px; opacity: .55; }

.hex {
  position: absolute; pointer-events: none;
  border: 2px solid rgba(2, 216, 255, 0.22);
  background: rgba(2, 216, 255, 0.04);
  clip-path: polygon(50% 0%, 100% 25%, 100% 75%, 50% 100%, 0% 75%, 0% 25%);
}
.hex-deco-1 { width: 320px; height: 368px; right: -40px; bottom: -60px; opacity: .35; }
.hex-deco-2 { width: 180px; height: 207px; right: 200px; bottom: 80px; opacity: .18; }
.hex-deco-3 { width: 120px; height: 138px; left: -30px; top: 30%; opacity: .25; }

.circuit-trace { position: absolute; left: 64px; bottom: 56px; color: #02D8FF; opacity: .55; }

/* ─── Header / footer chrome ─── */
.slide-header {
  position: absolute; top: 32px; left: var(--slide-pad-x); right: var(--slide-pad-x);
  display: flex; align-items: center; justify-content: space-between;
  z-index: 5;
}
.slide-header .logo { height: 36px; filter: brightness(0) invert(1); }
.slide-header .logo-mark .text { color: #fff !important; }
.slide-header .partners { display: flex; gap: 16px; align-items: center; }
.slide-header .partners img { height: 28px; opacity: .9; }

.slide-footer {
  position: absolute; bottom: 28px; left: var(--slide-pad-x); right: var(--slide-pad-x);
  display: flex; align-items: center; justify-content: space-between;
  font-size: 13px; color: rgba(255,255,255,0.55);
  font-family: var(--oh-font-body); font-weight: 500;
  z-index: 5;
}
.slide-footer .pill {
  padding: 4px 12px; border-radius: 999px;
  background: rgba(2, 216, 255, 0.10);
  border: 1px solid rgba(2, 216, 255, 0.30);
  color: #02D8FF; font-size: 12px;
}

/* ─── Building blocks ─── */
.eyebrow {
  display: inline-flex; align-items: center; gap: 12px;
  font-family: var(--oh-font-display); font-weight: 700; font-size: 16px;
  color: #02D8FF; letter-spacing: 0.14em; text-transform: uppercase;
  margin-bottom: 24px;
}
.eyebrow::before {
  content: ''; width: 28px; height: 2px; background: currentColor;
}

.slide-title {
  font-family: var(--oh-font-display); font-weight: 900;
  font-size: 88px; line-height: 1.02; letter-spacing: -0.025em;
  margin: 0 0 24px; color: #fff;
}
.slide-title.lg { font-size: 120px; }
.slide-title.md { font-size: 64px; }
.slide-title .accent {
  background: linear-gradient(90deg, #00DAFF 0%, #5C8CFF 60%, #fff 100%);
  -webkit-background-clip: text; background-clip: text; color: transparent;
}

.slide-subtitle {
  font-family: var(--oh-font-body); font-weight: 400;
  font-size: 22px; line-height: 1.55; letter-spacing: -0.005em;
  color: rgba(255,255,255,0.78); max-width: 880px; margin: 0;
}

/* Glass panel */
.glass {
  background: rgba(8, 18, 50, 0.62);
  backdrop-filter: blur(16px); -webkit-backdrop-filter: blur(16px);
  border: 1px solid rgba(2, 216, 255, 0.18);
  border-radius: 24px;
  box-shadow: 0 24px 64px rgba(0,0,0,0.35);
}
.glass-pill {
  display: inline-flex; align-items: center; gap: 10px;
  padding: 8px 18px; border-radius: 999px;
  background: linear-gradient(135deg, rgba(0,218,255,0.22), rgba(0,67,255,0.22));
  border: 1px solid rgba(2, 216, 255, 0.40);
  color: #02D8FF; font-weight: 500; font-size: 14px;
  letter-spacing: 0.02em;
}

/* Number badge — used on agenda + step lists */
.num-badge {
  width: 56px; height: 56px; border-radius: 16px;
  background: linear-gradient(135deg, #00DAFF 0%, #0043FF 100%);
  color: #fff; display: flex; align-items: center; justify-content: center;
  font-family: var(--oh-font-display); font-weight: 900; font-size: 22px;
  letter-spacing: -0.02em; flex-shrink: 0;
  box-shadow: 0 8px 24px rgba(2,70,255,0.40);
}
.num-badge.sm { width: 36px; height: 36px; border-radius: 10px; font-size: 14px; }

/* Hex bullet — replaces dot for lists */
.hex-bullet {
  width: 14px; height: 16px; flex-shrink: 0;
  background: linear-gradient(135deg, #00DAFF, #0043FF);
  clip-path: polygon(50% 0%, 100% 25%, 100% 75%, 50% 100%, 0% 75%, 0% 25%);
}

/* Stat block */
.stat .num {
  font-family: var(--oh-font-display); font-weight: 900;
  font-size: 64px; line-height: 1; letter-spacing: -0.025em;
  background: linear-gradient(135deg, #00DAFF 0%, #5C8CFF 100%);
  -webkit-background-clip: text; background-clip: text; color: transparent;
}
.stat .label { font-size: 14px; color: rgba(255,255,255,0.7); margin-top: 8px; font-weight: 500; letter-spacing: 0.02em; }

/* Generic safe-area for content past header */
.slide-body { padding-top: 48px; height: 100%; box-sizing: border-box; display: flex; flex-direction: column; }
