/* AUTOGEARED — 슬라이드 공용 레이아웃 (1920×1080) */

.slide {
  width: 1920px; height: 1080px;
  box-sizing: border-box;
  padding: var(--slide-pad-v) var(--slide-pad) 116px; /* 하단은 푸터 안전 여백 포함 */
  font-family: var(--font-body);
  color: var(--ink);
  background: var(--paper);
  position: relative;
  overflow: hidden;
  display: flex; flex-direction: column;
  -webkit-font-smoothing: antialiased;
  font-feature-settings: "tnum";
  line-height: 1.5;
}

/* 상단 러닝 헤드: 좌측 섹션 라벨, 우측 워드마크 */
.slide-head {
  display: flex; justify-content: space-between; align-items: baseline;
  margin-bottom: var(--gap-4);
}

/* 챕터 진행 바 (C2 러닝 시그널) */
.chap { display: flex; gap: 8px; align-items: center; align-self: center; }
.chap i { width: 44px; height: 8px; background: oklch(0.90 0.008 250); display: block; }
.chap i.on { background: var(--accent); }
.theme-dark .chap i { background: oklch(0.32 0.02 255); }
.slide-foot {
  position: absolute; left: var(--slide-pad); right: var(--slide-pad); bottom: 44px;
  display: flex; justify-content: space-between; align-items: baseline;
  font-family: var(--font-mono); font-size: 24px; letter-spacing: 0.1em; color: var(--ink-3);
}

/* 다크(네이비) 변형 — 섹션 디바이더 전용 */
.slide--dark { background: var(--accent-deep); color: var(--on-dark); }
.slide--dark .ag-label { color: var(--on-dark-2); }
.slide--dark .ag-lead, .slide--dark .ag-body { color: var(--on-dark-2); }
.slide--dark .slide-foot { color: var(--on-dark-2); }

/* 키라인: 제목 아래 짧은 블루 바 */
.keyline { width: 88px; height: 6px; background: var(--accent); margin: var(--gap-3) 0; }
.slide--dark .keyline { background: var(--on-dark-accent); }

/* 타입 B 변형: 헤드라인까지 Pretendard로 통일 (기본값) */
.type-sans { --font-display: var(--font-body); }
.type-sans .ag-display { font-family: var(--font-body); font-weight: 800; letter-spacing: -0.025em; line-height: 1.18; }
.type-sans .ag-h1 { font-family: var(--font-body); font-weight: 800; letter-spacing: -0.02em; line-height: 1.25; }

/* 2단 그리드 */
.cols { display: grid; grid-template-columns: 1fr 1fr; gap: var(--gap-5); flex: 1; min-height: 0; align-items: center; }
