.planning-grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); }
.questionnaire-intro { margin:16px 20px 0; font-size:12px; line-height:1.7; color:#777; }
.planning-figure { margin:8px 0; }
.planning-figure img { display:block; width:100%; height:auto; aspect-ratio:16/9; object-fit:contain; background:#eef0ed; border:1px solid #e0e4df; }
.planning-figure figcaption { margin-top:7px; color:#777; font-size:11px; line-height:1.65; }
.planning-credit { display:block; font-size:10px; color:#888; }
.planning-image-error { padding:30px 16px; background:#eef0ed; font-size:12px; color:#666; }
.planning-chat,.planning-carousel { padding:20px; min-width:0; }
.planning-carousel { border-left:1px solid var(--line); background:#fafafa; }
.planning-help,.planning-meta { color:#777; font-size:12px; line-height:1.7; margin:0 0 16px; }
#planning-form { display:grid; gap:12px; }
#planning-ask { justify-self:start; }
.planning-controls { display:flex; justify-content:space-between; align-items:center; gap:8px; margin-bottom:18px; font-size:11px; color:#777; }
.planning-controls > div { display:flex; gap:5px; }
.planning-controls .button { padding:5px 8px; font-size:11px; }
#planning-card h3 { font-size:12px; line-height:1.7; font-weight:600; margin:6px 0; }
.planning-copy { font-size:12px; line-height:1.7; white-space:pre-wrap; overflow-wrap:anywhere; margin:12px 0; }
#planning-card { animation:planning-arrive .35s ease; }
#planning-card .planning-copy { font-size:12px; line-height:1.7; margin:8px 0; }
#planning-card .planning-meta { margin-bottom:6px; }
#planning-card .planning-figure img { height:160px; aspect-ratio:auto; }
#planning-card .planning-sources { margin:8px 0; }
.planning-carousel .planning-controls { margin-bottom:8px; }
.planning-sources { font-size:11px; color:#666; margin:14px 0; }
.planning-sources ol { padding-left:20px; }
.planning-sources li { margin:9px 0; overflow-wrap:anywhere; }
.planning-sources summary { cursor:pointer; }
#planning-answer { border-top:1px solid var(--line); padding-top:14px; margin-top:14px; }
@keyframes planning-arrive { from { opacity:.3; transform:translateY(6px); } to { opacity:1; transform:translateY(0); } }
@media(max-width:760px) { .planning-grid { grid-template-columns:1fr; } .planning-carousel { border-left:0; border-top:1px solid var(--line); } }
@media(prefers-reduced-motion:reduce) { #planning-card { animation:none; } }
