/* Wellutin PDF report page — extends assets/css/common.css tokens.
   Load order: common.css, then report.css. */

.report-wrap{max-width:840px; margin:0 auto; padding:0 24px;}

.report-toolbar{
  display:flex; align-items:center; justify-content:space-between;
  /* 세로만 지정 — .report-wrap 의 좌우 여백(0 24px)을 살려 둡니다. */
  padding-top:16px; padding-bottom:16px;
  border-bottom:1px solid var(--line); background:#FAF9F5; position:sticky; top:0; z-index:20;
}
/* 앱 안 브라우저에서 「PDF로 저장」을 눌렀을 때 펼치는 안내(NB01) */
.inapp-note{padding-top:14px;}
.inapp-note-box{background:var(--panel); border:1px solid var(--line); border-left:3px solid var(--gold); border-radius:0 12px 12px 0; padding:14px 16px; font-size:14px; line-height:1.65;}
.inapp-note-box b{display:block; color:var(--teal); margin-bottom:4px;}
.inapp-note-box p{margin:0 0 8px;}
.inapp-note-row{display:flex; gap:10px; flex-wrap:wrap; align-items:center;}
.inapp-note-open{display:inline-block; padding:9px 16px; border-radius:9px; background:var(--teal); color:#fff; font-weight:700; text-decoration:none; font-size:14px;}
.inapp-note-close{padding:9px 14px; border-radius:9px; border:1px solid var(--line); background:transparent; color:var(--ink); font:inherit; font-size:14px; cursor:pointer;}
.inapp-note-hint{font-size:12.5px; color:#6C7A6E; margin:8px 0 0 !important;}
.inapp-note-hint:empty{display:none;}
.report-toolbar .brand{font-family:'Newsreader',serif; font-size:18px; font-weight:600; color:var(--teal);}
.report-toolbar .back{display:inline-flex; align-items:center; gap:6px; font-size:13.5px; color:var(--teal); text-decoration:none; font-weight:600;}
.report-toolbar .toolbar-actions{display:flex; gap:10px;}
.report-toolbar button{
  display:inline-flex; align-items:center; gap:6px; padding:10px 18px; border-radius:9px; font-size:13.5px; font-weight:700;
  cursor:pointer; border:none; font-family:inherit;
}
.btn-print{background:var(--teal); color:var(--paper);}
.btn-print:hover{background:var(--teal-dark);}
.report-toolbar button svg{width:15px; height:15px; display:block; flex:none;}

.report-main{padding:44px 0 100px;}
/* 좁은 화면의 좌우 여백(R01) — 위 padding 단축 속성이 .report-wrap 의 좌우 24px를 덮어써서
   본문 폭(840px)보다 좁은 화면에서 글자가 화면 끝에 붙었습니다. 남는 바깥 여백이 24px보다
   작아지는 만큼만 안쪽 여백을 채워, 888px 이상(데스크톱) 배치는 그대로 둡니다. */
.report-main{
  padding-left:clamp(0px, calc(24px - (100vw - 840px) / 2), 24px);
  padding-right:clamp(0px, calc(24px - (100vw - 840px) / 2), 24px);
}

.report-cover{
  background:var(--teal); color:var(--paper); border-radius:18px; padding:44px 40px; margin-bottom:40px;
}
.report-cover .rc-eyebrow{font-size:12px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:var(--gold-soft); margin-bottom:14px; display:flex; align-items:center; gap:8px;}
.report-cover .cover-icon{display:inline-flex; color:var(--gold-soft);}
.report-cover .cover-icon svg{width:18px; height:18px; display:block;}
/* 글자색은 표지 색을 따름 — common.css 의 h1{color:teal} 이 표지 바탕(teal)과 같은 색으로 덮어 제목이 안 보였음(2026-09-17 D08에서 발견) */
.report-cover h1{font-family:var(--serif); font-size:30px; font-weight:600; margin:0 0 18px; line-height:1.35; color:inherit;}
.report-cover .rc-meta{display:grid; grid-template-columns:repeat(2,1fr); gap:10px 24px; font-size:13px; color:rgba(250,249,245,0.82); border-top:1px solid rgba(250,249,245,0.2); padding-top:18px;}
.report-cover .rc-meta b{color:var(--gold-soft); font-weight:600; display:block; font-size:11px; text-transform:uppercase; letter-spacing:.04em; margin-bottom:2px;}

.report-section{margin-bottom:52px;}
.report-section .sec-num{font-size:12px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; color:var(--gold); margin-bottom:8px;}
.report-section h2{font-family:var(--serif); font-size:23px; font-weight:600; color:var(--teal); margin:0 0 18px; line-height:1.4;}

/* 장 제목 옆 선 아이콘 — report-renderer.js의 SECTION_ICONS가 주입합니다.
   이모지를 쓰지 않고 브랜드 톤(--teal/--gold)의 SVG 라인 아이콘만 사용합니다. */
.report-section h2.sec-title-row{display:flex; align-items:center; gap:11px;}
.sec-icon{
  flex:none; width:34px; height:34px; border-radius:9px;
  background:var(--panel); border:1px solid rgba(27,75,67,0.12);
  display:inline-flex; align-items:center; justify-content:center; color:var(--teal);
}
.sec-icon svg{width:19px; height:19px; display:block;}

/* 핵심 문장 인용구 — 전체를 안 읽어도 훑을 수 있도록 각 장 상단에 노출.
   .report-section p 규칙(색상 #3C4A3F)에 덮이지 않도록 선택자를 한 단계 더 씁니다. */
.report-section p.pull-quote{
  margin:0 0 22px; padding:2px 0 2px 18px;
  border-left:4px solid var(--gold);
  font-family:var(--serif); font-size:17.5px; line-height:1.62; font-weight:600;
  color:var(--teal); letter-spacing:-0.01em;
}
.report-section p.pull-quote b{color:#0F332C; background:linear-gradient(transparent 62%, var(--gold-soft) 62%);}
.report-section h3{font-size:15.5px; font-weight:700; color:var(--teal); margin:26px 0 10px;}
.report-section p{font-size:14px; color:#3C4A3F; margin:0 0 14px;}
.report-section ul, .report-section ol{padding-left:22px; font-size:14px; color:#3C4A3F;}
.report-section li{margin-bottom:6px;}

/* 제휴 고지(첫머리) — 2026-09-17 H11 A안: 13px · #5A6A5C · 옅은 바탕 */
.report-affiliate-top{font-size:13px; color:#5A6A5C; background:var(--panel); border-radius:10px; padding:10px 14px; margin:0 0 26px;}
/* 표지 위 제휴 고지(H53) — 표지와 한 덩어리로 보이게 아래 여백만 줄임 */
.report-affiliate-first{margin:0 0 14px;}

.summary-table{width:100%; border-collapse:collapse; font-size:13.5px; margin-bottom:8px;}
.summary-table th, .summary-table td{text-align:left; padding:12px 14px; border-bottom:1px solid var(--line); vertical-align:top;}
.summary-table th{width:30%; color:#5A665C; font-weight:600; font-size:12px; text-transform:uppercase; letter-spacing:.02em; background:var(--panel);}

table.data-table{width:100%; border-collapse:collapse; font-size:13px; margin:14px 0 22px;}
table.data-table th, table.data-table td{text-align:left; padding:10px 12px; border-bottom:1px solid var(--line); vertical-align:top;}
table.data-table th{color:#5A665C; font-weight:600; font-size:11px; text-transform:uppercase; letter-spacing:.02em; background:var(--panel);}
/* 줄무늬 표 — 10장 제품비교·13장 기록표처럼 긴 표에서 시선이 줄을 놓치지 않도록.
   중장년 독자 가독성을 위해 홀짝 대비를 또렷하게 잡되 인쇄에서도 남게 합니다. */
table.data-table tbody tr:nth-child(odd){background:rgba(27,75,67,0.045);}
/* 마우스가 있는 환경에서만 hover 강조 — 터치 기기에서 골드 배경이 눌린 채로
   남아 줄무늬를 가리는 것을 막습니다. */
@media (hover:hover){
  table.data-table tbody tr:hover{background:var(--gold-soft);}
}
table.data-table tbody tr td:first-child{font-weight:600; color:var(--teal);}
/* 궁합표의 낮은 근거 등급(D) 셀 — renderer가 .low-grade를 붙입니다.
   경고 빨강이 아닌 담담한 베이지 톤으로만 구분합니다. */
table.data-table td.low-grade{background:#FBF2E6; color:#6B5528;}
.table-scroll{overflow-x:auto; -webkit-overflow-scrolling:touch;}

.ingredient-card{background:var(--panel); border:1px solid var(--line); border-radius:12px; padding:18px 20px; margin-bottom:14px;}
.ingredient-card h4{font-size:15px; color:var(--teal); margin:0 0 8px;}
.ingredient-card dl{display:grid; grid-template-columns:auto 1fr; gap:4px 10px; font-size:12.8px; color:#3C4A3F; margin:0;}
.ingredient-card dt{color:#6C7A6E; font-weight:600;}
.ingredient-card dd{margin:0;}

/* 근거 등급 배지 — 4단계 색상. 4장 상단 범례(.grade-legend)와 같은 색을
   써야 색만 보고 등급을 알 수 있으므로, 색을 바꿀 때는 항상 함께 바꿀 것. */
.grade{display:inline-flex; align-items:center; justify-content:center; width:20px; height:20px; border-radius:5px; font-size:11px; font-weight:800; color:#fff; margin-right:5px; flex:none;}
.grade-A{background:#1B4B43;} /* 티얼 */
.grade-B{background:#2F6F9E;} /* 블루 */
.grade-C{background:#B8862E;} /* 골드 */
.grade-D{background:#8A968B;} /* 그레이 */

/* 4장 맨 위 근거 등급 범례 — report-renderer.js가 21개 리포트에 자동 삽입 */
.grade-legend{
  background:var(--panel); border:1px solid var(--line); border-radius:12px;
  padding:18px 20px; margin:0 0 26px;
}
.grade-legend h3{margin:0 0 12px; font-size:14.5px; color:var(--teal);}
.grade-legend ul{list-style:none; margin:0; padding:0;}
.grade-legend li{display:flex; align-items:flex-start; gap:10px; font-size:13px; color:#3C4A3F; padding:5px 0; line-height:1.55;}

.callout{background:var(--panel); border-left:3px solid var(--gold); border-radius:0 10px 10px 0; padding:14px 18px; font-size:13px; color:#3C4A3F; margin:14px 0 22px;}
.callout b{color:var(--teal);}

/* 주의사항 / 체크포인트 박스 (7장 약사 상담 등).
   경고 빨강은 쓰지 않습니다 — 담담한 베이지·앰버 톤으로 "확인해 보세요" 정도의 온도만. */
.warning-box, .checkpoint-box{
  background:#FBF4E9; border:1px solid #E2CDA6; border-left:4px solid #C89A5B;
  border-radius:12px; padding:16px 20px 16px 52px; font-size:13.2px; color:#4A3F2C;
  margin:16px 0 22px; position:relative; line-height:1.65;
}
.warning-box::before, .checkpoint-box::before{
  content:""; position:absolute; left:18px; top:16px; width:20px; height:20px;
  background-color:#B8862E; -webkit-mask-repeat:no-repeat; mask-repeat:no-repeat;
  -webkit-mask-size:contain; mask-size:contain;
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3l7 3v6c0 4-3 7-7 9-4-2-7-5-7-9V6z'/%3E%3Cpath d='M12 9v4'/%3E%3Ccircle cx='12' cy='16' r='.6' fill='%23000'/%3E%3C/svg%3E");
  mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3l7 3v6c0 4-3 7-7 9-4-2-7-5-7-9V6z'/%3E%3Cpath d='M12 9v4'/%3E%3Ccircle cx='12' cy='16' r='.6' fill='%23000'/%3E%3C/svg%3E");
}

/* 꿀정보 박스 — 골드를 옅게 tint한 배경 + 전구 아이콘(이모지 아님, CSS mask SVG).
   본문과 확실히 구분되도록 살짝 띄우고 라벨은 골드 딥톤으로 잡습니다. */
.tip-box{
  background:linear-gradient(180deg, #FDF6E4 0%, #FAEFD4 100%);
  border:1px solid rgba(184,134,46,0.42);
  border-radius:14px; padding:18px 22px 18px 58px; margin:20px 0 24px;
  position:relative; box-shadow:0 2px 10px rgba(184,134,46,0.10);
}
.tip-box::before{
  content:""; position:absolute; left:20px; top:19px; width:24px; height:24px;
  background-color:#B8862E; -webkit-mask-repeat:no-repeat; mask-repeat:no-repeat;
  -webkit-mask-size:contain; mask-size:contain;
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 18h6'/%3E%3Cpath d='M10 21h4'/%3E%3Cpath d='M12 3a6 6 0 0 0-4 10.5c.6.6 1 1.5 1 2.5h6c0-1 .4-1.9 1-2.5A6 6 0 0 0 12 3z'/%3E%3C/svg%3E");
  mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 18h6'/%3E%3Cpath d='M10 21h4'/%3E%3Cpath d='M12 3a6 6 0 0 0-4 10.5c.6.6 1 1.5 1 2.5h6c0-1 .4-1.9 1-2.5A6 6 0 0 0 12 3z'/%3E%3C/svg%3E");
}
.tip-box .tip-label{
  font-size:11px; font-weight:800; letter-spacing:.06em;
  color:#8A6416; margin-bottom:7px;
}
.tip-box p{margin:0; font-size:13.8px; color:#3C2F12; line-height:1.72;}

/* 13장 기록표 안내 — "매일 안 적어도 된다"는 메시지를 부담 없는 톤으로.
   시계 아이콘 + 옅은 티얼 배경으로 앞장들의 박스 톤과 맞춥니다. */
.tracker-intro{
  background:rgba(27,75,67,0.06); border:1px solid rgba(27,75,67,0.14);
  border-radius:12px; padding:16px 20px 16px 52px; margin:0 0 18px; position:relative;
}
.tracker-intro p{margin:0; font-size:13.8px; color:#2E4038; line-height:1.7;}
.tracker-intro p b{color:var(--teal);}
.tracker-intro::before{
  content:""; position:absolute; left:18px; top:17px; width:21px; height:21px;
  background-color:#1B4B43; -webkit-mask-repeat:no-repeat; mask-repeat:no-repeat;
  -webkit-mask-size:contain; mask-size:contain;
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='8'/%3E%3Cpath d='M12 7.5V12l3 1.8'/%3E%3C/svg%3E");
  mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='8'/%3E%3Cpath d='M12 7.5V12l3 1.8'/%3E%3C/svg%3E");
}
/* 주별 기록표는 행이 4개뿐이라 손으로 적을 여백을 넉넉히 잡습니다 */
table.tracker-table td{height:46px;}
table.tracker-table tbody tr td:first-child{white-space:nowrap; color:var(--teal);}

/* 14장 진료 신호 — 겁주지 않되 확실히 눈에 띄도록 카드형 목록으로 */
#sec-14 ul{list-style:none; padding:0; margin:0 0 16px;}
#sec-14 ul li{
  background:#FBF4E9; border:1px solid #E2CDA6; border-radius:10px;
  padding:12px 16px 12px 42px; margin-bottom:8px; position:relative;
  font-size:13.5px; color:#4A3F2C; line-height:1.6;
}
#sec-14 ul li::before{
  content:""; position:absolute; left:14px; top:13px; width:17px; height:17px;
  background-color:#B8862E; -webkit-mask-repeat:no-repeat; mask-repeat:no-repeat;
  -webkit-mask-size:contain; mask-size:contain;
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M12 7v7M12 17.5v.5'/%3E%3C/svg%3E");
  mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M12 7v7M12 17.5v.5'/%3E%3C/svg%3E");
}

/* 리포트 마지막 마무리 카드 — 각주로 끝나 힘이 빠지지 않도록 렌더러가 붙입니다 */
.closing-card{
  background:var(--teal); color:var(--paper); border-radius:18px;
  padding:32px 34px; margin:44px 0 0; text-align:center;
}
.closing-card .cc-icon{display:inline-flex; color:var(--gold-soft); margin-bottom:12px;}
.closing-card .cc-icon svg{width:28px; height:28px;}
.closing-card h3{font-family:var(--serif); font-size:19px; font-weight:600; color:var(--paper); margin:0 0 10px;}
.closing-card p{font-size:13.6px; color:rgba(250,249,245,0.82); margin:0 auto; max-width:46ch; line-height:1.75;}
.closing-card .cc-rule{width:44px; height:2px; background:var(--gold); border-radius:2px; margin:18px auto 0;}

.checklist{list-style:none; padding:0; margin:0 0 20px;}
.checklist li{display:flex; align-items:flex-start; gap:10px; font-size:13.5px; color:#3C4A3F; padding:7px 0; border-bottom:1px solid var(--line);}
.checklist li::before{content:"☐"; color:var(--teal-soft); font-size:15px; flex:none; line-height:1.3;}

.evidence-table td:nth-child(4){white-space:nowrap;}

.report-disclaimer-footer{
  margin-top:20px; background:var(--panel); border:1px solid var(--line); border-radius:12px; padding:18px 22px; font-size:12.5px; color:#556357;
}
/* 10장 제품 비교표 소제목의 부위 아이콘 — report-renderer.js가 렌더링 후
   붙입니다. 장 아이콘(.sec-icon)과 같은 선 아이콘이지만 h3에 들어가므로
   한 단계 작게 둡니다. 제휴처 상품 이미지를 쓰지 않기로 해서, 10장의
   시각 요소는 이 인라인 SVG 하나뿐입니다. */
h3.sec-title-row{display:flex; align-items:center; gap:9px;}
.sec-icon.cat-icon{width:26px; height:26px; border-radius:8px;}
.sec-icon.cat-icon svg{width:15px; height:15px;}
@media print{ .sec-icon.cat-icon{background:none; border-color:rgba(27,75,67,0.2);} }

/* 10장 제품 비교표의 구매 링크. 인쇄 시에는 밑줄만 남기고 URL은
   덧붙이지 않습니다(표가 이미 11열이라 폭이 부족합니다). */
a.buy-link{color:var(--teal); text-decoration:underline; text-underline-offset:2px;}
a.buy-link:hover{text-decoration-thickness:2px;}
@media print{ a.buy-link{color:inherit;} }
/* 10장 제품명 아래 「구매처 보기 ↗」(U01 — report-renderer.js addBuyButtons).
   제품명 칸이 좁아(8열 표) 옆에 두면 어차피 줄이 바뀌어 들쭉날쭉해지므로 모든 폭에서 제품명 바로 아래 줄 */
a.buy-go{display:flex; width:max-content; align-items:center; gap:4px; margin:8px 0 2px; padding:6px 11px; border-radius:8px;
  background:var(--teal); color:var(--paper); font-size:12.5px; font-weight:700; line-height:1.3; text-decoration:none; white-space:nowrap; vertical-align:middle;}
a.buy-go:hover{background:var(--teal-dark);}
a.buy-go:focus-visible{outline:2px solid var(--gold); outline-offset:2px;}
.buy-go-arrow{font-size:12px; line-height:1;}
/* 인쇄(PDF): 버튼은 숨기고, 링크를 누를 수 없는 종이에서도 어디서 파는지 알 수 있게 판매처 이름만 짧게 */
@media print{
  a.buy-go{display:none !important;}
  a.buy-link[href*="coupang.com"]::after{content:" · 쿠팡";}
  a.buy-link[href*="iherb.com"]::after{content:" · 아이허브";}
  html[lang="ja"] a.buy-link[href*="coupang.com"]::after{content:"（Coupang）";}
  html[lang="ja"] a.buy-link[href*="iherb.com"]::after{content:"（iHerb）";}
}

/* 10장 표에서 아직 확인하지 못한 값. 빈칸처럼 보이지 않도록 담담한
   칩 형태로 표시합니다. 경고색은 쓰지 않습니다. */
.tbd{
  display:inline-block; padding:1px 7px; border-radius:20px;
  background:var(--panel); border:1px solid var(--line);
  color:#8A968B; font-size:11.5px; white-space:nowrap;
}
@media print{ .tbd{background:none;} }

.report-footnote{font-size:11.5px; color:#8A968B; font-style:italic; margin:10px 0 0;}

@media (max-width:640px){
  .report-cover{padding:30px 24px;}
  .report-cover .rc-meta{grid-template-columns:1fr;}
  table.data-table thead{display:none;}
  table.data-table, table.data-table tbody, table.data-table tr, table.data-table td{display:block; width:100%;}
  /* 모바일에서는 행이 카드처럼 쌓이므로, 줄무늬는 행 단위 카드 배경으로 유지 */
  table.data-table tr{border-bottom:1px solid var(--line); padding:10px 12px; margin-bottom:8px; border-radius:8px;}
  table.data-table td{border:none; padding:3px 0;}
  /* data-label이 있는 셀에만 항목명을 붙입니다(없는 표에 빈 콜론이 생기지 않도록) */
  table.data-table td[data-label]::before{content:attr(data-label) ": "; font-weight:700; color:#5A665C;}
  /* 머리글 칸 이름이 서로 같은 표(report-renderer.js markNoStackTables)는 카드로 쌓지 않고 나란히(U02) */
  table.data-table.no-stack{display:table; width:100%; table-layout:fixed;}
  table.data-table.no-stack thead{display:table-header-group;}
  table.data-table.no-stack tbody{display:table-row-group;}
  table.data-table.no-stack tr{display:table-row; padding:0; margin:0; border-radius:0;}
  table.data-table.no-stack th, table.data-table.no-stack td{display:table-cell; width:auto; padding:9px 8px; border-bottom:1px solid var(--line); vertical-align:top;}
  table.data-table.no-stack td[data-label]::before{content:none;}
  .report-section p.pull-quote{font-size:16px;}
  .report-section h2{font-size:20px;}
  .sec-icon{width:30px; height:30px;}
  .sec-icon svg{width:17px; height:17px;}
  .tip-box{padding:16px 18px 16px 50px;}
  .tip-box::before{left:16px; top:17px; width:21px; height:21px;}
}

/* ---- Print (this is the "PDF export" path — no backend, so the user
   uses the browser's native print → Save as PDF) ---- */
@media print{
  .noprint{display:none !important;}
  body{background:#fff;}
  .report-wrap{max-width:100%; padding:0;}
  .report-main{padding:0;}
  /* 표지는 쪼개지 않음(2026-09-25 사람 지적 — 안드로이드 PDF 1쪽이 표지 테두리만 길게 늘어나고 신체 부위 · 리포트 ID 가 2쪽으로 밀림).
     원인: 예전 규칙 page-break-after:avoid(표지 뒤에서 나누지 말 것) + 아래 .report-section 의 page-break-inside:avoid(장 안에서
     나누지 말 것)가 겹쳐, 1장이 1쪽 남은 자리에 안 들어가면 쪽을 나눌 곳이 표지 안밖에 남지 않았음. PC 크롬(A4)에서도 같게 재현됨 */
  .report-cover{background:#fff !important; color:var(--ink) !important; border:2px solid var(--teal); break-inside:avoid; page-break-inside:avoid;}
  .report-cover .rc-eyebrow{color:var(--gold);}
  .report-cover .rc-meta{color:#3C4A3F; border-top-color:var(--line);}
  .report-cover .rc-meta b{color:var(--teal);}
  .report-section{page-break-inside:avoid; margin-bottom:28px;}
  table, .ingredient-card, .callout, .warning-box, .checkpoint-box, .tip-box, .pull-quote, .grade-legend, .tracker-intro, .closing-card, #sec-14 ul li{page-break-inside:avoid;}
  .closing-card{page-break-before:avoid;}
  a{color:inherit; text-decoration:none;}
  .table-scroll{overflow-x:visible;}
  /* 배경색·아이콘이 인쇄(PDF 저장)에서도 남도록 강제 — 줄무늬 표와 꿀정보 박스는
     색이 빠지면 구분 기능 자체가 사라지므로 반드시 유지합니다. */
  *{-webkit-print-color-adjust:exact !important; print-color-adjust:exact !important;}
  .tip-box{box-shadow:none;}
  table.data-table tbody tr:hover{background:rgba(27,75,67,0.045);}
}

/* 영어 리포트 15장 출처 목록(EN04b · report-content-en.js 만 씀) — 긴 주소가 좁은 화면에서 가로로 넘치지 않게 */
.source-list{padding-left:1.4em;}
.source-list li{margin:0 0 8px; overflow-wrap:anywhere;}
.source-list a{overflow-wrap:anywhere; word-break:break-word;}
