:root{
  --bg:#111; --panel:#1b1b1b; --panel2:#222; --text:#f2f2f2;
  --accent:#FFD54F; --danger:#FF6B6B; --info:#4FC3F7; --muted:#9aa0a6; --border:#2a2a2a;
}

/* 프런트/에디터 공용. 다만 에디터에선 editor.css가 배경을 투명으로 보정함 */
.cvf-wrap{background:var(--bg); color:var(--text); font-family:system-ui,-apple-system,Segoe UI,Roboto,Pretendard,Apple SD Gothic Neo,Arial,sans-serif; line-height:1.65; padding:24px 18px;}
.cvf-container{max-width:1100px; margin:0 auto;}
.cvf-title{display:flex; align-items:center; gap:10px; color:var(--accent); margin:0 0 14px; font-weight:800; font-size:24px;}
.cvf-desc{color:var(--muted); margin:0 0 24px; font-size:14px;}

/* 타임라인 */
.cvf-timeline{background:var(--panel); border:1px solid var(--border); border-radius:14px; padding:14px; margin-bottom:26px;}
.cvf-timeline h3{margin:0 0 10px; font-size:16px; color:#e8eaed}
.cvf-tl-list{list-style:none; padding:0; margin:0}
.cvf-tl-item{display:grid; grid-template-columns:130px 1fr; gap:12px; padding:10px 8px; border-top:1px solid var(--border);}
.cvf-tl-item:first-child{border-top:none}
.cvf-tl-time{color:#d7d7d7; font-weight:700; font-size:13px; white-space:nowrap}
.cvf-tl-text{color:#f3f3f3; font-size:14px}
.cvf-tl-badge{display:inline-block; padding:2px 8px; font-size:11px; border-radius:999px; border:1px solid var(--border); color:#ddd; margin-right:6px; background:#151515}

/* 카드(좌우 비교) */
.cvf-grid{display:flex; flex-direction:column; gap:18px;}
.cvf-item{background:var(--panel); border:1px solid var(--border); border-radius:16px; padding:14px;}
.cvf-head{display:flex; align-items:center; justify-content:space-between; gap:10px; margin-bottom:12px}
.cvf-head-left{display:flex; align-items:center; gap:8px}
.cvf-badge{font-size:12px; border:1px solid var(--border); padding:2px 8px; border-radius:999px; background:#151515; color:#ddd}
.cvf-id{color:#9bbcff; font-size:12px}
.cvf-time{color:#cfcfcf; font-size:12px}
.cvf-two{display:grid; grid-template-columns:1fr 1fr; gap:16px;}
.cvf-claim,.cvf-fact{background:var(--panel2); border:1px solid var(--border); border-radius:12px; padding:12px;}
.cvf-claim h4,.cvf-fact h4{margin:0 0 8px; font-size:15px;}
.cvf-claim h4{color:var(--danger);}
.cvf-fact h4{color:var(--info);}
.cvf-img{display:block; width:100%; height:auto; border-radius:10px; margin:8px 0 10px; border:1px solid var(--border);}
.cvf-quote{background:#171717; border-left:3px solid var(--danger); padding:8px 10px; border-radius:8px; color:#f1f1f1; font-size:14px}
.cvf-proof{background:#121212; border-left:3px solid var(--info); padding:8px 10px; border-radius:8px; color:#eaeaea; font-size:14px}
.cvf-meta{margin-top:10px; display:flex; flex-wrap:wrap; gap:8px; font-size:12px; color:#bdbdbd}
.cvf-tag{border:1px solid var(--border); border-radius:999px; padding:2px 8px; background:#151515}

/* 아코디언 */
.cvf-acc{margin-top:10px; border-top:1px dashed var(--border); padding-top:10px}
.cvf-acc summary{cursor:pointer; list-style:none; color:#e8eaed; font-weight:700}
.cvf-acc summary::-webkit-details-marker{display:none}
.cvf-acc-inner{margin-top:8px; color:#e3e3e3; font-size:14px}
.cvf-link{color:var(--accent); text-decoration:underline}

/* 상단 툴바 */
.cvf-toolbar{display:flex; gap:10px; flex-wrap:wrap; margin:0 0 16px}
.cvf-btn{
  appearance:none; border:1px solid var(--border); background:#161616; color:#eaeaea;
  padding:8px 12px; border-radius:10px; font-size:13px; cursor:pointer;
}
.cvf-btn:hover{background:#1d1d1d}
.cvf-search{flex:1; min-width:220px; display:flex; gap:8px}
.cvf-search input{
  flex:1; border:1px solid var(--border); background:#0f0f0f; color:#fff; padding:8px 10px; border-radius:10px; font-size:13px;
}

/* 반응형 */
@media (max-width: 860px){
  .cvf-tl-item{grid-template-columns:1fr; gap:6px}
  .cvf-two{grid-template-columns:1fr}
}

.cvf-wrap a{color:var(--accent)}
.cvf-wrap a:hover{text-decoration:underline}
