/* 오늘의 맞춤법 — 본문 시각 요소 시스템 */
:root{
  --om-primary: var(--wp--preset--color--primary, #D9583C);
  --om-soft: var(--wp--preset--color--primary-soft, #F5E4DD);
  --om-ink: var(--wp--preset--color--contrast, #201D1A);
  --om-line: var(--wp--preset--color--line, #E8E1D6);
  --om-muted: var(--wp--preset--color--muted, #8A8177);
  --om-ok: #2F855A;
  --om-no: #C1443B;
}

/* 리드 문단 */
.om-lead{ font-size:1.3rem; line-height:1.7; color:var(--om-ink); font-weight:600; letter-spacing:-.02em; margin:0 0 1.8rem; }

/* 핵심 요령 스와프 (되→하 / 돼→해) */
.om-swap{ display:grid; grid-template-columns:1fr 1fr; gap:1rem; margin:2rem 0; }
@media (max-width:520px){ .om-swap{ grid-template-columns:1fr; } }
.om-tile{ background:#fff; border:1px solid var(--om-line); border-radius:16px; padding:1.6rem 1rem; text-align:center; box-shadow:0 1px 0 rgba(0,0,0,.02); }
.om-tile .om-pair{ display:flex; align-items:center; justify-content:center; gap:.7rem; }
.om-tile .om-ch{ font-size:2.6rem; font-weight:700; line-height:1; letter-spacing:-.04em; }
.om-tile .om-ch.is-key{ color:var(--om-primary); }
.om-tile .om-arrow{ font-size:1.5rem; color:var(--om-muted); }
.om-tile .om-note{ margin-top:.7rem; font-size:.95rem; color:var(--om-muted); }

/* 규칙 한 줄 강조 */
.om-rule{ background:var(--om-soft); border-radius:16px; padding:1.4rem 1.6rem; margin:2rem 0; font-size:1.2rem; font-weight:600; line-height:1.6; letter-spacing:-.02em; }
.om-rule b{ color:var(--om-secondary,#B8442B); }

/* 예시 O/X 카드 */
.om-ex{ display:grid; grid-template-columns:1fr 1fr; gap:.8rem; margin:1.8rem 0; }
@media (max-width:520px){ .om-ex{ grid-template-columns:1fr; } }
.om-ex__item{ position:relative; background:#fff; border:1px solid var(--om-line); border-radius:14px; padding:1.1rem 1.2rem 1.1rem 2.9rem; font-size:1.05rem; line-height:1.6; }
.om-ex__item::before{ position:absolute; left:1rem; top:1.05rem; width:1.4rem; height:1.4rem; border-radius:50%; display:grid; place-items:center; font-size:.9rem; font-weight:700; color:#fff; }
.om-ex__item.is-ok::before{ content:"O"; background:var(--om-ok); }
.om-ex__item.is-no::before{ content:"X"; background:var(--om-no); }
.om-ex__item .om-hl{ color:var(--om-primary); font-weight:700; }
.om-ex__item.is-no .om-hl{ color:var(--om-no); text-decoration:line-through; }

/* 요령 콜아웃 */
.om-tip{ border-left:4px solid var(--om-primary); background:#fff; border-radius:0 14px 14px 0; padding:1.1rem 1.4rem; margin:2rem 0; box-shadow:0 1px 0 var(--om-line); }
.om-tip .om-tip__label{ display:inline-block; font-size:.78rem; font-weight:700; letter-spacing:.05em; color:var(--om-primary); margin-bottom:.35rem; }
.om-tip p{ margin:0; line-height:1.65; }

/* 셀프 체크 (열고 닫기) */
.om-quiz{ background:#fff; border:1px solid var(--om-line); border-radius:16px; padding:.4rem 1.4rem; margin:1rem 0; }
.om-quiz>summary{ list-style:none; cursor:pointer; padding:1rem 0; font-weight:600; font-size:1.08rem; display:flex; justify-content:space-between; align-items:center; gap:1rem; }
.om-quiz>summary::-webkit-details-marker{ display:none; }
.om-quiz>summary::after{ content:"정답 보기"; font-size:.82rem; color:var(--om-primary); font-weight:700; white-space:nowrap; }
.om-quiz[open]>summary::after{ content:"닫기"; }
.om-quiz__a{ padding:0 0 1.1rem; color:var(--om-ink); line-height:1.7; border-top:1px dashed var(--om-line); padding-top:1rem; }
.om-quiz__a .om-hl{ color:var(--om-primary); font-weight:700; }

/* 섹션 라벨 */
.om-kicker{ display:inline-block; font-size:.8rem; font-weight:700; letter-spacing:.08em; color:var(--om-primary); margin-bottom:.3rem; }

/* 마무리 요약 박스 */
.om-wrap{ background:var(--om-ink); color:#fff; border-radius:18px; padding:1.8rem; margin:2.4rem 0 1rem; }
.om-wrap .om-wrap__k{ font-size:.8rem; letter-spacing:.08em; color:#E9B7AC; font-weight:700; }
.om-wrap p{ margin:.5rem 0 0; font-size:1.25rem; font-weight:600; line-height:1.6; letter-spacing:-.02em; }
