/*
 * MyMercy EMT Textbook UI (2급 응급구조사 요약집)
 * Version: 1.0.0 — 전달본 원본에서 한 줄 형식 변환, font-weight 700 상한 적용
 * Scope: .mm-textbook (로더 마커: lib/contents_design.lib.php)
 * 정본: docs/planning/EMT2_SUMMARY_TEXTBOOK_CSS_PLAN.md
 */

:root {--mm-color-page: #eef4f6; --mm-color-surface: #ffffff; --mm-color-text: #263d48; --mm-color-heading: #174f62; --mm-color-link: #245c70; --mm-color-brand: #347b8a; --mm-color-accent: #49a5ae; --mm-color-border: #cbdfe5; --mm-color-border-soft: #dbe7eb; --mm-color-soft: #f4f9fa; --mm-color-row-alt: #f5f9fa; --mm-color-case-bg: #fff8e9; --mm-color-case-line: #cda54f; --mm-color-answer-bg: #eef8f5; --mm-color-answer-line: #35938a; --mm-color-question-bg: #f7faff; --mm-color-question-border: #d3e0e9; --mm-color-muted: #677b84; --mm-color-focus: #c39a32; --mm-font-family: "Malgun Gothic", "Apple SD Gothic Neo", Arial, sans-serif; --mm-content-width: 920px; --mm-radius-sm: 8px; --mm-radius-md: 10px; --mm-radius-lg: 12px;}

.mm-page {margin: 0; padding: 24px 12px; background: var(--mm-color-page);}
/* word-break는 자식에도 직접 — 사이트 common.css의 p {word-break: break-all}(글자 단위)이 상속값을 덮기 때문 */
.mm-textbook, .mm-textbook * {box-sizing: border-box; word-break: keep-all;}
/* width:100% — 뷰어 #my_text(세로 flex) 안에서 margin auto가 stretch를 끄면 표 min-width(510px)만큼 벌어져 모바일에서 잘린다 */
.mm-textbook {width: 100%; max-width: var(--mm-content-width); margin: 0 auto; padding: 24px 18px; background: var(--mm-color-surface); color: var(--mm-color-text); font-family: var(--mm-font-family); font-size: 17px; line-height: 1.9; text-align: left; word-break: keep-all; overflow-wrap: anywhere;}

/* 헤더 */
.mm-chapter-header {margin: 0 0 28px;}
.mm-eyebrow {margin: 0 0 14px; color: var(--mm-color-brand); font-size: 13px; font-weight: 700; letter-spacing: 0.01em;}
.mm-chapter-title {margin: 0 0 22px; color: var(--mm-color-heading); font-size: 30px; font-weight: 700; line-height: 1.5; letter-spacing: -0.02em;}
.mm-chapter-meta {margin: 0; color: var(--mm-color-muted); font-size: 13px; line-height: 1.7;}

/* 목차 */
.mm-toc {margin: 0 0 28px; padding: 18px 20px; border: 1px solid var(--mm-color-border); border-radius: var(--mm-radius-md); background: var(--mm-color-soft);}
.mm-toc-summary, .mm-answer-summary, .mm-references-summary {cursor: pointer; color: var(--mm-color-link); font-weight: 700;}
/* 펼침 표시 — 사이트 common.css의 summary {display:block}이 기본 표시를 지워서 브라우저 공통으로 직접 그린다 */
.mm-textbook summary {display: block; list-style: none;}
.mm-textbook summary::-webkit-details-marker {display: none;}
.mm-textbook summary::before {content: "▶"; display: inline-block; margin-right: 8px; font-size: 0.7em; vertical-align: 0.15em;}
.mm-textbook details[open] > summary::before {content: "▼";}
.mm-toc-link {display: block; margin: 9px 0; color: var(--mm-color-link); font-size: 14px; line-height: 1.7; text-decoration: underline; text-underline-offset: 2px;}

/* 본문 */
.mm-chapter-content {margin: 0; padding: 0;}
.mm-paragraph {margin: 15px 0; line-height: 1.95;}
.mm-learning-objective {margin: 15px 0 24px; line-height: 1.95;}
.mm-strong {color: inherit; font-weight: 700;}
.mm-section-title {margin: 32px 0 14px; padding-left: 12px; border-left: 4px solid var(--mm-color-accent); color: #195b70; font-size: 20px; font-weight: 700; line-height: 1.6;}
/* 목차 이동 목적지 — 뷰어 스티키 정보바(.uppr 101px, 아래로 이동하면 헤더는 숨음) 밑에 가리지 않게 +16px */
.mm-textbook [id] {scroll-margin-top: 117px;}
.mm-list {margin: 18px 0; padding-left: 24px;}
.mm-list-item {margin: 8px 0;}
/* 글머리표·번호 — 사이트 공통 CSS가 목록 표시를 없애서 복원 */
ul.mm-list > .mm-list-item {list-style: disc outside;}
ol.mm-list > .mm-list-item {list-style: decimal outside;}
.mm-link, .mm-back-to-toc {color: #1c6882; text-decoration: underline; text-underline-offset: 2px;}
.mm-back-to-toc {display: block; margin: 28px 0 0; font-size: 14px;}

/* 표 */
.mm-table-wrap {max-width: 100%; margin: 24px 0; overflow-x: auto; border: 1px solid #ccdde3; border-radius: var(--mm-radius-md); -webkit-overflow-scrolling: touch;}
.mm-table {width: 100%; min-width: 510px; border-collapse: collapse; color: inherit; font-size: 15px; line-height: 1.75; text-align: left;}
.mm-table-head {padding: 13px 15px; border-bottom: 1px solid #cadfe5; background: #e6f1f4; color: #184a60; font-weight: 700; text-align: left; vertical-align: top;}
.mm-table-cell {padding: 13px 15px; border-bottom: 1px solid var(--mm-color-border-soft); background: var(--mm-color-surface); vertical-align: top;}
.mm-table tbody tr:nth-child(even) .mm-table-cell {background: var(--mm-color-row-alt);}

/* 사례·문제·해설 */
.mm-callout {margin: 22px 0; padding: 17px 20px; border-radius: var(--mm-radius-sm); line-height: 1.9;}
.mm-callout--case {border-left: 4px solid var(--mm-color-case-line); background: var(--mm-color-case-bg);}
.mm-question {margin: 24px 0; padding: 20px 22px; border: 1px solid var(--mm-color-question-border); border-radius: var(--mm-radius-lg); background: var(--mm-color-question-bg);}
.mm-question-stem {margin: 0 0 14px; color: #1b475e; font-weight: 700; line-height: 1.8;}
.mm-question-options {margin: 0; color: #354a58; line-height: 2.05;}
.mm-answer {margin: 22px 0; padding: 18px 22px; border-left: 4px solid var(--mm-color-answer-line); border-radius: var(--mm-radius-sm); background: var(--mm-color-answer-bg);}
.mm-answer-summary {color: #23645c; font-size: 15px;}
.mm-answer-body {margin: 15px 0 0; line-height: 1.95;}

/* 출처·이미지 */
.mm-source {margin: 12px 0; color: #586f78; font-size: 14px; line-height: 1.85;}
/* 근거자료의 외부 링크는 출처 표기용 — 눌러도 이동하지 않고 일반 글자처럼 보인다(운영 결정 2026-09-28) */
.mm-references a {color: inherit; text-decoration: none; pointer-events: none; cursor: text;}
.mm-references {margin: 32px 0 0; padding: 18px 20px; border: 1px solid #d9e4e8; border-radius: var(--mm-radius-md); background: #fafcfc;}
.mm-figure {margin: 24px 0; text-align: center;}
.mm-figure-image, .mm-textbook img {display: block; max-width: 100%; height: auto; margin: 20px auto;}

/* 키보드 초점 */
.mm-textbook a:focus-visible, .mm-textbook summary:focus-visible, .mm-table-wrap:focus-visible {outline: 3px solid var(--mm-color-focus); outline-offset: 3px;}

@media (max-width: 600px) {
    .mm-page {padding: 0;}
    .mm-textbook {padding: 24px 16px; font-size: 16px;}
    .mm-chapter-title {font-size: 27px;}
    .mm-section-title {font-size: 19px;}
    .mm-toc, .mm-question, .mm-answer, .mm-references {padding-right: 16px; padding-left: 16px;}
    /* 요약집 표는 전부 2~3칸 — 모바일은 가로 스크롤 대신 화면 폭에 맞춰 줄바꿈. !important = 미교체 장의 인라인 style="min-width:510px"까지 덮기 위함 */
    .mm-textbook table {min-width: 0 !important;}
    .mm-table-head, .mm-table-cell {padding: 11px 10px;}
}

@media print {
    .mm-page {padding: 0; background: #ffffff;}
    .mm-textbook {max-width: none;}
    .mm-textbook details > summary {display: none;}
    .mm-textbook details > * {display: block !important;}
    .mm-chapter-title, .mm-section-title, .mm-table tr {break-inside: avoid;}
    .mm-section-title {break-after: avoid;}
}
