/* AI 종합 코멘트 섹션 [slice E] — 디자인 v2(README §11.4: 카드 정렬). 클래스 ca-ai- 접두사.
 * 카드·간격·각주 띠는 layout.js(card2·bento·grid·tile·foot), 여기서는 섹션 고유 요소만. */

.ca-sec[data-sec="ai"] .ca-card2-ico{color:var(--ca-txt2)}
.ca-sec[data-sec="ai"] .ca-card2-ico svg{display:block}
.ca-ai-intro .ca-card2-ico{color:#c58bff}

/* ── 안내 카드: [보낼 지표 상태 2×2] [버튼·안내] ── */
.ca-ai-cta-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(230px,300px);gap:16px 24px;align-items:center}
.ca-ai-inputs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.ca-ai-in{display:grid;grid-template-columns:8px minmax(0,auto) minmax(0,1fr);align-items:center;gap:9px;min-width:0;min-height:40px;padding:8px 12px;border-radius:9px;background:rgba(0,0,0,.2);border:1px solid var(--ca-line)}
.ca-ai-in-dot{width:8px;height:8px;border-radius:50%;background:var(--ca-mut2-deco)}
.ca-ai-in[data-s="on"] .ca-ai-in-dot{background:var(--ca-green);box-shadow:0 0 0 3px rgba(0,255,163,.12)}
.ca-ai-in[data-s="wait"] .ca-ai-in-dot{background:var(--ca-amber);animation:ca-pulse 1s infinite}
.ca-ai-in-l{font-size:12px;font-weight:600;color:var(--ca-mut);white-space:nowrap}
.ca-ai-in-v{min-width:0;font-size:12.5px;font-weight:650;color:var(--ca-txt);text-align:right;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ca-ai-in[data-s="off"] .ca-ai-in-v{color:var(--ca-mut2);font-weight:550}
.ca-ai-cta{display:grid;gap:7px;justify-items:stretch;min-width:0}
.ca .ca-ai-btn{min-height:46px;padding:0 20px;font-size:14.5px;border-radius:11px;width:100%}
.ca .ca-ai-btn:disabled{background:var(--ca-panel3);border-color:var(--ca-line2);color:var(--ca-mut);opacity:1;cursor:default}
.ca-ai-hint{font-size:11.8px;color:var(--ca-mut);line-height:1.5;text-align:center;margin:0;word-break:keep-all;overflow-wrap:anywhere}

/* ── 결과 영역 ── */
.ca-ai-out{display:flex;flex-direction:column;gap:var(--ca-flow-gap);min-width:0}
.ca-ai-out:empty{display:none}

/* 생성 전 미리보기(리포트 구성 4칸) */
.ca-ai-pv{display:flex;flex-direction:column;gap:8px;padding:14px 15px;background:rgba(255,255,255,.015);border-style:dashed}
.ca-ai-pv-h{display:flex;align-items:center;gap:8px}
.ca-ai-pv-h b{font-size:13.5px;font-weight:720;color:var(--ca-txt2)}
.ca-ai-pv-ico{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:7px;background:rgba(255,255,255,.04);color:var(--ca-mut)}
.ca-ai-pv p{font-size:12.3px;line-height:1.55;color:var(--ca-mut);margin:0}
.ca-ai-pv-lines{display:grid;gap:6px;margin-top:auto;padding-top:4px}
.ca-ai-pv-lines i{display:block;height:6px;border-radius:3px;background:rgba(255,255,255,.045)}
.ca-ai-pv-lines i:nth-child(2){width:86%}
.ca-ai-pv-lines i:nth-child(3){width:62%}
.ca-ai-preview.is-loading .ca-ai-pv-lines i{background:linear-gradient(90deg,rgba(255,255,255,.04),rgba(155,92,255,.16),rgba(255,255,255,.04));background-size:200% 100%;animation:ca-shimmer 1.3s linear infinite}

.ca-ai-loading{display:flex;align-items:center;gap:12px;padding:12px 16px;border-radius:var(--ca-card-r);border:1px solid rgba(155,92,255,.3);background:rgba(155,92,255,.06);color:var(--ca-txt2);font-size:13px}
.ca-ai-dots{display:inline-flex;gap:4px}
.ca-ai-dots span{width:7px;height:7px;border-radius:50%;background:var(--ca-pur);animation:ca-ai-b 1s infinite ease-in-out}
.ca-ai-dots span:nth-child(2){animation-delay:.15s;background:#7b5cff}
.ca-ai-dots span:nth-child(3){animation-delay:.3s;background:var(--ca-cyan)}
@keyframes ca-ai-b{0%,80%,100%{transform:scale(.6);opacity:.5}40%{transform:scale(1);opacity:1}}

/* 결과 카드 본문 */
.ca-ai-text{display:grid;gap:8px;min-width:0}
.ca-ai-text p{font-size:13.2px;line-height:1.75;color:var(--ca-txt2);white-space:pre-line;word-break:keep-all;overflow-wrap:anywhere;margin:0}
.ca-ai-text.is-lead p{font-size:14.5px;line-height:1.8;color:var(--ca-txt)}
.ca-ai-summary .ca-card2-ico{color:var(--ca-green)}
.ca-ai-card.is-good .ca-card2-ico{color:var(--ca-good)}
.ca-ai-card.is-todo .ca-card2-ico{color:var(--ca-amber)}
.ca-ai-plan .ca-card2-ico{color:#c58bff}
.ca-ai-list{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.ca-ai-list li{display:grid;grid-template-columns:24px minmax(0,1fr);gap:11px;align-items:start;min-width:0}
.ca-ai-list li + li{padding-top:12px;border-top:1px solid var(--ca-hair)}
.ca-ai-n{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;font-size:12px;font-weight:850;color:var(--ca-txt);border:1.5px solid var(--ca-line2);background:rgba(255,255,255,.04)}
.ca-ai-card.is-good .ca-ai-n{border-color:rgba(0,224,146,.55);color:var(--ca-good)}
.ca-ai-card.is-todo .ca-ai-n{border-color:rgba(245,176,65,.55);color:var(--ca-amber)}
.ca-ai-list li div{min-width:0;display:grid;gap:3px}
.ca-ai-list b{font-size:13.5px;font-weight:750;color:var(--ca-txt);line-height:1.45;word-break:keep-all;overflow-wrap:anywhere}
.ca-ai-list p{font-size:12.8px;line-height:1.7;color:var(--ca-txt2);white-space:pre-line;word-break:keep-all;overflow-wrap:anywhere;margin:0}

/* 30일 계획: 주차 4칸(같은 높이) */
.ca-ai-weektile{display:flex;flex-direction:column;gap:9px;padding:13px 14px}
.ca-ai-week-h{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:10px}
.ca-ai-week{font-size:11.5px;font-weight:800;color:#c58bff;background:var(--ca-pur-soft);padding:3px 9px;border-radius:6px;white-space:nowrap}
.ca-ai-week-bar{position:relative;display:block;height:4px;border-radius:2px;background:rgba(255,255,255,.06);overflow:hidden}
.ca-ai-week-bar::after{content:"";position:absolute;left:0;top:0;bottom:0;width:calc(var(--p,.25) * 100%);border-radius:2px;background:linear-gradient(90deg,#9b5cff,var(--ca-cyan))}
.ca-ai-weektile p{font-size:12.8px;line-height:1.68;color:var(--ca-txt2);white-space:pre-line;word-break:keep-all;overflow-wrap:anywhere;margin:0}

@media (max-width:1100px){
  .ca-ai-cta-row{grid-template-columns:minmax(0,1fr)}
  .ca-ai-cta{grid-template-columns:minmax(200px,280px) minmax(0,1fr);align-items:center}
  .ca-ai-hint{text-align:left}
}
@media (max-width:760px){
  .ca-ai-inputs{grid-template-columns:minmax(0,1fr)}
  .ca-ai-pv{padding:12px}
  .ca-ai-pv-lines{display:none}
  .ca-ai-pv-h b{font-size:13px}
  .ca-ai-cta{grid-template-columns:minmax(0,1fr)}
  .ca-ai-hint{text-align:center}
}
