.atom-meta{display:flex;align-items:center;gap:10px;font-size:.78rem;color:#64748b;margin-bottom:10px}
.atom-status{padding:3px 9px;border-radius:20px;font-weight:650}.status-verified{color:#176243;background:#e0f3e9}.status-needs_source{color:#855412;background:#fff2d9}.status-background{color:#485b74;background:#edf1f7}
.atom-question{font-size:1.12rem;line-height:1.7;font-weight:650;color:#172d45;margin:14px 0 20px}.atom-answer summary{cursor:pointer;color:#126d7c;font-weight:650;min-height:42px;display:list-item;padding:8px 0}.atom-answer[open] summary{margin-bottom:10px}.atom-rubric{margin-top:18px;padding:16px 18px;border-radius:12px;background:#eef5f7}.atom-rubric ul{margin:8px 0 0;padding-left:20px}.atom-rubric li{margin:6px 0}.atom-pending,.atom-guide{color:#677789;font-size:.9rem;line-height:1.7}.atom-guide{padding:18px;border:1px solid #dce6ed;border-radius:12px;margin:24px 0}.atom-h{line-height:1.5}.atom-src a{overflow-wrap:anywhere}
.recall-answer{width:100%;min-height:110px;resize:vertical;padding:14px;border:1px solid #cbd8df;border-radius:10px;font:inherit;line-height:1.6}.rubric-list{display:grid;gap:10px;margin:15px 0;padding:18px;background:#edf5f7;border-radius:12px}.rubric-list label{display:flex;gap:10px;align-items:flex-start;line-height:1.6}.rubric-list input{width:18px;height:18px;flex-shrink:0;margin-top:4px}.recall-draft{white-space:pre-wrap;padding:14px;background:#f3f5f7;border-radius:10px}.atom-review-note{margin:12px 0;color:#587084;font-size:.9rem}

/* ── 이론 새 형식 (개관 서사 + 항목 깊이) ─────────────────────── */
.theory .th-ov {
  margin: 18px 0 30px; padding: 20px 22px 6px;
  border: 1px solid rgba(23,63,57,.14); border-radius: 14px;
  background: linear-gradient(180deg, rgba(47,125,111,.055), rgba(47,125,111,0) 220px);
}
.th-ov-tag {
  display: inline-block; font-size: .74rem; font-weight: 700; letter-spacing: .08em;
  color: #fff; background: #2f7d6f; border-radius: 999px; padding: 3px 11px; margin-bottom: 10px;
}
.th-lede { margin: 0; font-size: 1.02rem; line-height: 1.75; font-weight: 500; }
.th-hint { margin: 12px 0 4px; font-size: .84rem; opacity: .68; }
.th-h {
  margin: 26px 0 10px; font-size: 1.12rem; line-height: 1.5; font-weight: 700;
  color: #173f39; padding-left: 12px; border-left: 4px solid #2f7d6f;
}
.th-p { margin: 0 0 13px; line-height: 1.95; font-size: .97rem; word-break: keep-all; }
.th-p em, .th-bg em { font-style: normal; font-weight: 700; color: #1f5f55;
  background: linear-gradient(transparent 62%, rgba(47,125,111,.2) 62%); }
a.th-ref {
  font-size: .82em; font-weight: 700; color: #2f7d6f; text-decoration: none;
  border: 1px solid rgba(47,125,111,.35); border-radius: 6px;
  padding: 1px 5px; margin: 0 1px; white-space: nowrap;
}
a.th-ref:hover, a.th-ref:focus-visible { background: rgba(47,125,111,.12); }

.theory .th-item { margin-bottom: 16px; }
.th-blk { margin: 12px 0 0; padding: 11px 13px; border-radius: 9px; background: #f5f8f7; }
.th-blk > b {
  display: block; font-size: .78rem; letter-spacing: .04em; color: #2f7d6f;
  margin-bottom: 6px; font-weight: 700;
}
.th-blk p { margin: 0; line-height: 1.8; font-size: .94rem; word-break: keep-all; }
.th-bg { background: rgba(47,125,111,.07); }
.th-bd dl { margin: 0; display: grid; grid-template-columns: minmax(6.5em, 11em) 1fr; gap: 5px 12px; }
.th-bd dt { font-weight: 700; color: #1f5f55; font-size: .92rem; line-height: 1.6; }
.th-bd dd { margin: 0; font-size: .92rem; line-height: 1.6; opacity: .92; }
.th-mn { background: #fff8e8; }
.th-mn > b { color: #9a6b12; }
.th-mn p { font-weight: 600; }
.th-tag {
  display: inline-block; font-size: .86rem; font-weight: 600; color: #a33b30;
  background: rgba(163,59,48,.09); border-radius: 7px; padding: 3px 9px; margin: 0 5px 5px 0;
}
.th-ex ul, .th-q p { margin: 0; }
.th-ex li { line-height: 1.75; font-size: .93rem; margin-bottom: 5px; word-break: keep-all; }
.th-ex li:last-child { margin-bottom: 0; }
.th-q { background: #f2f3f4; }
.th-q p { font-size: .88rem; line-height: 1.75; opacity: .85; }
@media (max-width: 560px) {
  .theory .th-ov { padding: 16px 15px 4px; }
  .th-bd dl { grid-template-columns: 1fr; gap: 2px; }
  .th-bd dd { margin-bottom: 7px; }
  .th-h { font-size: 1.05rem; }
}
