diff --git a/frontend/components/gate-card.tsx b/frontend/components/gate-card.tsx
index 6afe96f..4fe7902 100644
--- a/frontend/components/gate-card.tsx
+++ b/frontend/components/gate-card.tsx
@@ -8,8 +8,8 @@
import { useState } from "react";
import {
- GATE_META, type AnalysisReview, type ClipReview, type FetchReview, type FinalReview,
- type GateKey, type GateReview, type NarrationReview,
+ GATE_META, type AnalysisReview, type ClipReview, type DetailSection, type FetchReview,
+ type FinalReview, type GateKey, type GateReview, type NarrationReview,
} from "@/lib/playreel";
// ── 공통 셸 ──────────────────────────────────────────────────────────
@@ -85,6 +85,46 @@ function Warn({ children }: { children: React.ReactNode }) {
const two = { display: "grid", gridTemplateColumns: "repeat(auto-fit, minmax(280px, 1fr))", gap: "var(--spacing-page-md)", alignItems: "start" } as const;
+// 상세페이지 조각은 라벨이 겹친다 — "유의사항"만 일곱 개인 페이지가 흔하다.
+// 칩으로 그리면 같은 글자가 줄줄이 서서 무엇을 고르는지 알 수 없어 썸네일을 그린다.
+function SectionPicker({ sections, onToggle }: {
+ sections: DetailSection[]; onToggle: (id: string) => void;
+}) {
+ const chosen = sections.filter((s) => s.selected).length;
+ return (
+ <>
+
상세페이지에서 훑기 시작할 지점
+
+ 고른 지점부터 상세페이지를 이어서 훑습니다. 조각을 잘라 붙이는 것이 아닙니다.
+
+
+ {sections.map((s, i) => (
+
+ ))}
+
+
+ {sections.length}개 중 {chosen}개 선택 · 캐스팅 스케줄은 항상 포함됩니다.
+