/* 상담 보고서: 종이 문서로 고정된 단일 테마(인쇄용) — A4 한 장씩 */
#reportView { position: fixed; inset: 0; z-index: 40; overflow: auto; background: #16122b; padding-block: env(safe-area-inset-top, 0px) 40px; padding-left: max(16px, env(safe-area-inset-left, 0px)); padding-right: max(16px, env(safe-area-inset-right, 0px)); color-scheme: light }
#reportView .rp-bar-top { position: sticky; top: 0; z-index: 2; display: flex; flex-wrap: wrap; gap: 8px; align-items: center; justify-content: space-between; max-width: 210mm; margin: 0 auto 14px; padding: 10px 12px; background: #241f4a; color: #fff; border-radius: 0 0 8px 8px; font-family: "IBM Plex Sans KR", "Noto Sans CJK KR", sans-serif; font-size: 14px }
#reportView .rp-bar-top input { border: 1px solid #4b5468; background: #2a3142; color: #fff; border-radius: 5px; padding: 5px 8px; width: 9em }
#reportView .rp-bar-top button { border: 1px solid #52488a; background: #2d2759; color: #f3e7d8; border-radius: 5px; padding: 6px 11px; cursor: pointer }
#reportView .rp-bar-top button.primary { background: #e9c27a; color: #16122b; font-weight: 600 }
.rp-pages { display: grid; gap: 18px; justify-content: center }
.rp-page { --ink: #1c2230; --ink2: #4b5262; --mute: #5b6170; --rule: #d5d9e0; --acc: #26346e; --seal: #a3352b;
  width: 210mm; max-width: 100%; min-height: 297mm; background: #fff; color: var(--ink); box-shadow: 0 2px 14px rgba(20, 24, 40, .18);
  padding: 14mm 17mm 11mm; display: grid; grid-template-rows: auto auto 1fr auto; gap: 0; position: relative; overflow: hidden;
  font-family: "IBM Plex Sans KR", "Noto Sans CJK KR", "Apple SD Gothic Neo", sans-serif; font-size: 10.2pt; line-height: 1.6 }
.rp-page.cover { grid-template-rows: 1fr auto }
.rp-head { display: flex; justify-content: space-between; font-size: 8pt; color: var(--mute); letter-spacing: .08em; border-bottom: 1px solid var(--ink); padding-bottom: 3mm }
.rp-title { font-family: "Noto Serif KR", "Noto Serif CJK KR", serif; font-size: 17pt; font-weight: 700; margin: 6mm 0 5mm; display: flex; align-items: baseline; gap: 4mm; border-bottom: 3px double var(--rule); padding-bottom: 3mm }
.rp-no { font-family: "IBM Plex Mono", monospace; font-size: 10pt; color: var(--acc); font-weight: 500 }
.rp-body { display: grid; gap: 4.5mm; align-content: start; min-width: 0 }
.rp-foot { display: flex; justify-content: space-between; font-size: 7.6pt; color: var(--mute); border-top: 1px solid var(--rule); padding-top: 2.5mm; margin-top: 5mm }
.rp-page h3 { font-family: "Noto Serif KR", "Noto Serif CJK KR", serif; font-size: 11pt; margin: 0 0 2mm; color: var(--acc) }
.rp-page ul { margin: 0; padding-left: 1.1em } .rp-page li { margin: .6mm 0 }
.rp-small { font-size: 9pt; color: var(--ink2) } .rp-muted { font-size: 8.4pt; color: var(--mute) } .rp-warn { color: var(--seal) }
.rp-lead { font-size: 10.5pt }
.rp-box { border: 1px solid var(--rule); border-radius: 2px; padding: 3.5mm 4mm; background: #fafbfc; min-width: 0 }
.rp-two { display: grid; grid-template-columns: 1fr 1fr; gap: 4mm; min-width: 0 } .rp-two > * { min-width: 0 }
.rp-table { width: 100%; border-collapse: collapse; font-size: 9pt }
.rp-table th, .rp-table td { border-bottom: 1px solid var(--rule); padding: 1.6mm 2mm; text-align: left; vertical-align: top }
.rp-table thead th { border-bottom: 1.5px solid var(--ink); font-weight: 600; color: var(--ink2); font-size: 8.4pt; background: none }
.rp-table tr.cur td { background: #eef0f8 }
.rp-pillars td, .rp-pillars th { text-align: center } .rp-pillars tr.big td { font-family: "Noto Serif KR", "Noto Serif CJK KR", serif; font-size: 24pt; font-weight: 700; line-height: 1.2 }
.rp-pillars .sm { font-size: 8.6pt }
.rp-three td { width: 30% } .rp-mini:not(:has(thead)):not(:has(colgroup)) th { width: 26% } .rp-months td, .rp-daeun td { white-space: nowrap; padding-block: 1.1mm }
.rp-pill { display: inline-block; min-width: 2.8em; text-align: center; border-radius: 9px; padding: 0 5px; font-family: "IBM Plex Mono", monospace; font-size: 8.2pt; border: 1px solid }
.rp-pill.p { color: #1f6b3d; border-color: #9fcfb0 } .rp-pill.n { color: #a3352b; border-color: #e3aaa4 } .rp-pill.z { color: #5b6170; border-color: #d5d9e0 }
.rp-dot.p { color: #1f6b3d; font-weight: 700 } .rp-dot.n { color: #a3352b; font-weight: 700 } .rp-dot.z { color: #9aa1ad }
.rp-grade { display: inline-block; padding: .3mm 2.2mm; border-radius: 2px; font-size: 8.4pt; font-weight: 700; color: #fff; margin-right: 2mm }
.rp-grade.g0 { background: #1f6b3d } .rp-grade.g1 { background: #3d7a50 } .rp-grade.g2 { background: #5d6370 } .rp-grade.g3 { background: #9a5b16 } .rp-grade.g4 { background: #a3352b }
.rp-q { font-family: "Noto Serif KR", "Noto Serif CJK KR", serif; font-size: 11.5pt; color: var(--ink2); margin: 0 }
.rp-verdict { border-left: 5px solid; padding: 4mm 5mm; background: #f6f7fa; display: grid; gap: 2mm }
.rp-verdict b { font-family: "Noto Serif KR", "Noto Serif CJK KR", serif; font-size: 14pt }
.rp-verdict.g0, .rp-verdict.g1 { border-color: #1f6b3d } .rp-verdict.g2 { border-color: #5b6170 } .rp-verdict.g3 { border-color: #c07a2a } .rp-verdict.g4 { border-color: #a3352b }
.rp-verdict p { margin: 0 }
.rp-foot-note { font-size: 8.8pt; color: var(--ink2); border-top: 1px dashed var(--rule); padding-top: 2.5mm }
.rp-bar { display: grid; grid-template-columns: 2em 1fr 3em; gap: 2mm; align-items: center; font-size: 9pt }
.rp-bar i { height: 2.4mm; background: #eceef2; display: block } .rp-bar i b { display: block; height: 100% } .rp-bar em { font-style: normal; font-family: "IBM Plex Mono", monospace; font-size: 8.4pt; text-align: right }
.rp-page .bg0 { background: #2f7a47 } .rp-page .bg1 { background: #c13d2c } .rp-page .bg2 { background: #9b6f12 } .rp-page .bg3 { background: #6b7380 } .rp-page .bg4 { background: #1d3f78 }
.rp-page .e0 { color: #2f7a47 } .rp-page .e1 { color: #c13d2c } .rp-page .e2 { color: #8a5c10 } .rp-page .e3 { color: #4f5763 } .rp-page .e4 { color: #1d3f78 }
.rp-legend { display: flex; flex-wrap: wrap; gap: 4mm; font-size: 8pt; color: var(--ink2) } .rp-legend i { display: inline-block; width: 7mm; border-top: 2px solid; vertical-align: middle; margin-right: 1.5mm }
/* 표지 — 전 상품 공통(2026-11-04 개편: 크고 선명하게, 액자·도장) */
.rp-page.cover { background: radial-gradient(120% 70% at 50% 0%, #f3efe4 0%, #fffdf8 55%, #fff 100%) }
.rp-page.cover::before { content: ""; position: absolute; inset: 9mm; border: 1.2px solid #b8945a; outline: 1px solid #b8945a; outline-offset: -2.6mm; pointer-events: none }
.rp-cover { display: grid; align-content: center; justify-items: center; gap: 6.5mm; text-align: center; padding: 14mm 8mm 6mm; position: relative }
.rp-cover-brand { font-family: "Noto Serif KR", "Noto Serif CJK KR", serif; font-weight: 700; letter-spacing: .6em; color: #9a7434; font-size: 12pt; padding-left: .6em }
.rp-cover-top { font-family: "Noto Serif KR", "Noto Serif CJK KR", serif; letter-spacing: .45em; color: #4b5262; font-size: 13pt; padding-left: .45em; margin-top: -3mm }
.rp-cover h1 { font-family: "Noto Serif KR", "Noto Serif CJK KR", serif; font-size: 46pt; line-height: 1.15; margin: 2mm 0 0; letter-spacing: .06em; color: #1b2550 }
.rp-cover-sub { font-family: "Noto Serif KR", "Noto Serif CJK KR", serif; font-size: 15pt; color: #3a4152; margin: -2mm 0 0; line-height: 1.5 }
.rp-cover-rule { width: 90mm; border-top: 1.2px solid #b8945a; position: relative; margin: 1mm 0 }
.rp-cover-rule i { position: absolute; left: 50%; top: -2.2mm; width: 3.4mm; height: 3.4mm; background: #b8945a; transform: translateX(-50%) rotate(45deg); outline: 1.4mm solid #fffaf0 }
.rp-cover-img { width: 128mm; height: 70mm; object-fit: cover; border-radius: 3mm; box-shadow: 0 2mm 6mm rgba(27, 37, 80, .18) }
.rp-cover-board { display: grid; grid-template-columns: repeat(4, 30mm); border: 1.6px solid #1b2550; background: #fff; box-shadow: 0 1.5mm 5mm rgba(27, 37, 80, .10) }
.rp-cover-board > div { display: grid; gap: 1mm; padding: 4mm 0 3.5mm; border-left: 1px solid #d9cfb8; font-family: "Noto Serif KR", "Noto Serif CJK KR", serif }
.rp-cover-board > div:first-child { border-left: 0 }
.rp-cover-board small { font-size: 10pt; color: #5b6170; font-family: "IBM Plex Sans KR", "Noto Sans CJK KR", sans-serif } .rp-cover-board b { font-size: 32pt; line-height: 1.15 }
.rp-meta { border-collapse: collapse; font-size: 12.5pt; text-align: left; min-width: 135mm; max-width: 160mm; background: rgba(255, 255, 255, .7) } .rp-meta th { color: #6b5a3a; font-weight: 600; padding: 2.3mm 6mm 2.3mm 2mm; white-space: nowrap; vertical-align: top; width: 1% } .rp-meta td { padding: 2.3mm 2mm; border-bottom: 1px solid #e3d9c3; color: #1c2230 }
.rp-meta tr:first-child td, .rp-meta tr:first-child th { border-top: 2px solid #1b2550 } .rp-meta tr:first-child th { border-bottom: 1px solid #e3d9c3 } .rp-meta th { border-bottom: 1px solid #e3d9c3 }
.rp-cover-note { font-size: 10pt; color: #5b6170; max-width: 122mm; line-height: 1.6; margin: 0 }
.rp-cover-seal { position: absolute; right: 14mm; bottom: 2mm; width: 15mm; height: 15mm; border: 1.4px solid #a3352b; color: #a3352b; border-radius: 1.5mm; font: 700 10pt/1.15 "Noto Serif KR", "Noto Serif CJK KR", serif; display: grid; place-content: center; transform: rotate(-6deg); opacity: .85 }
.rp-page.cover .rp-foot { position: relative; z-index: 1; padding-inline: 4mm }
@media print {
  @page { size: A4; margin: 0 }
  html, body.rp-open { margin: 0 !important; padding: 0 !important; background: #fff !important }
  body.rp-open > *:not(#reportView) { display: none !important }
  body.rp-open #reportView { position: static; padding: 0; background: none; overflow: visible }
  #reportView .rp-bar-top { display: none }
  .rp-pages { display: block } .rp-page { box-shadow: none; width: 210mm; height: 297mm; min-height: 0; page-break-after: always; break-after: page; margin: 0 }
  .rp-page:last-child { page-break-after: auto; break-after: auto }
}

.rp-mm { font-size: 7.8pt; table-layout: fixed } .rp-mm th, .rp-mm td { text-align: center; padding: 1mm .4mm; font-family: "IBM Plex Mono", monospace } .rp-mm thead th { font-family: "Noto Serif KR", "Noto Serif CJK KR", serif; font-size: 8.4pt } .rp-mm thead small { font-family: "IBM Plex Mono", monospace; font-size: 6.6pt; color: #5b6170 } .rp-mm tbody th { text-align: left; width: 13mm; font-family: "IBM Plex Sans KR", "Noto Sans CJK KR", sans-serif }
.rp-mm td.p { color: #1f6b3d; font-weight: 600 } .rp-mm td.n { color: #a3352b; font-weight: 600 }
.rp-meta th { background: none !important }

/* 문진(내방 사유) 블록 — 보고서·화면 공용 */
.vr { --vr-ink: #1c2230; --vr-acc: #26346e; --vr-seal: #a3352b; --vr-rule: #d5d9e0; display: grid; gap: 4mm; color: var(--vr-ink) }
.vr-head { background: #1c2230; color: #fff; padding: 5mm 6mm; border-radius: 2px; display: grid; gap: 2.5mm }
.vr-kicker { font-size: 8pt; letter-spacing: .25em; color: #c9cfdc }
.vr-headline { margin: 0; font-family: "Noto Serif KR", "Noto Serif CJK KR", serif; font-size: 13pt; line-height: 1.55 }
.vr-ctx { display: flex; flex-wrap: wrap; gap: 2mm } .vr-ctx span { border: 1px solid #4b5468; border-radius: 9px; padding: 0 2.5mm; font-size: 8.4pt; color: #e6e9ef }
.vr-list { list-style: none; margin: 0; padding: 0; display: grid; gap: 3mm }
.vr-item { display: grid; grid-template-columns: 9mm 1fr; gap: 3mm; border: 1px solid var(--vr-rule); padding: 3mm 4mm; background: #fff }
.vr-item.first { border: 1.5px solid var(--vr-seal); background: #fdf7f6 }
.vr-rank { font-family: "Noto Serif KR", "Noto Serif CJK KR", serif; font-size: 18pt; font-weight: 700; color: var(--vr-acc); line-height: 1 }
.vr-item.first .vr-rank { color: var(--vr-seal) }
.vr-main { display: grid; gap: 1.5mm; min-width: 0 }
.vr-title { display: flex; flex-wrap: wrap; align-items: center; gap: 2.5mm } .vr-title b { font-family: "Noto Serif KR", "Noto Serif CJK KR", serif; font-size: 11.5pt }
.vr-lv { font-size: 8pt; font-weight: 700; border-radius: 2px; padding: 0 2mm; color: #fff } .vr-lv.h { background: #a3352b } .vr-lv.m { background: #c07a2a } .vr-lv.l { background: #5b6170 }
.vr-bar { flex: 1 1 30mm; min-width: 24mm; height: 2mm; background: #eceef2; display: inline-block } .vr-bar i { display: block; height: 100%; background: #26346e }
.vr-idx { font-family: "IBM Plex Mono", monospace; font-size: 8.4pt; color: #4b5262 }
.vr-why { display: grid; gap: .6mm; font-size: 8.8pt; color: #4b5262 } .vr-why span::before { content: "· " }
.vr-ask, .vr-dir { font-size: 9pt } .vr-ask b, .vr-dir b { color: var(--vr-acc); margin-right: 1.5mm; font-size: 8.4pt; letter-spacing: .05em }
.vr-note { font-size: 8.2pt; color: #5b6170; margin: 0 }
/* 앱 화면용 */
.vr-panel { background: #fff; border-radius: 10px; padding: 16px; border: 1px solid var(--rule); color-scheme: light }
@media (prefers-color-scheme: dark) { :root:not([data-theme="light"]) .vr-panel { border-color: #2e3441 } }

.rp-visit-link { margin: 0; font-size: 9pt; color: #a3352b; border-top: 1px dashed #e3aaa4; padding-top: 2mm }

.rp-page.visit .rp-body { gap: 3mm } .rp-page.visit .vr { gap: 3mm } .rp-page.visit .vr-item { padding: 2.4mm 3.5mm } .rp-page.visit .vr-list { gap: 2.2mm } .rp-page.visit .vr-headline { font-size: 12pt } .rp-page.visit .vr-head { padding: 4mm 5mm }
.vr-rest { font-size: 8.4pt } .vr-rest td { padding-block: 1mm }

.rp-page.visit .rp-title { margin: 4mm 0 3mm } .rp-page.visit .vr-headline { font-size: 11pt; line-height: 1.5 } .rp-page.visit .vr-why { font-size: 8.4pt } .rp-page.visit .vr-ask, .rp-page.visit .vr-dir { font-size: 8.6pt; line-height: 1.5 } .rp-page.visit .vr-main { gap: 1mm } .rp-page.visit .vr-note { font-size: 7.8pt }
.rp-page th { background: transparent } .rp-pillars tr.big th { vertical-align: middle }
.rp-page .bgA { background: #26346e }
.rp-page .rp-bar.w { grid-template-columns: 5em 1fr 3.6em }


/* 프리미엄 10년·평생 상담 쪽 — 내용이 많아 간격을 좁힌다 */
.rp-page.life .rp-body{gap:2.8mm}
.rp-page.life .rp-box{padding-top:2.4mm;padding-bottom:2.4mm}
.rp-seller{font-size:6.6pt;letter-spacing:0;color:#5b6170;white-space:normal;max-width:85%}
/* 궁합 */
.gh-cov { display: flex; gap: 6mm; align-items: center; justify-content: center; margin: 4mm 0 } .gh-cov > div { text-align: center } .gh-cov b { display: block; font-size: 12pt; margin-bottom: 2mm }
.gh-cseal .n, .gh-big .n { white-space: nowrap }
body.rp-read .gh-cov { flex-direction: column; gap: 1mm } body.rp-read .gh-cov table { display: table !important; margin: 0 auto } body.rp-read .gh-cov .gh-x { font-size: 20pt }
.gh-cov .gh-x { font-family: "Noto Serif KR", serif; font-size: 26pt; color: #a3352b }
.gh-pil { width: auto !important; margin: 0 auto } .gh-pil tr.big td { font-size: 17pt !important; padding: 0 2.2mm }
/* 작명 */
.nm-cov { display: flex; gap: 8mm; justify-content: center; margin: 6mm 0 } .nm-cov div { text-align: center } .nm-cov b { display: block; font-family: "Noto Serif KR", serif; font-size: 20pt } .nm-cov span { font-family: "Noto Serif KR", serif; font-size: 14pt; color: #5a6070 }
.nm-card { margin-bottom: 3mm } .nm-h { display: flex; align-items: baseline; gap: 3mm } .nm-no { font-family: "IBM Plex Mono", monospace; color: #a3352b; font-weight: 700 } .nm-k { font-family: "Noto Serif KR", serif; font-size: 16pt } .nm-hz { font-family: "Noto Serif KR", serif; font-size: 13pt; color: #5a6070 }
.nm-t td, .nm-t th { padding: 1mm 1.5mm !important; font-size: 8.6pt } .nm-ok { color: #1f6b3d } .nm-bad { color: #a3352b }
/* 칸 너비: colgroup이 있으면 그대로 따르고, 없으면 글이 많은 칸이 넓어지도록 */
.rp-table:has(> colgroup){table-layout:fixed}
.rp-table td,.rp-table th{word-break:keep-all;overflow-wrap:anywhere}


.rp-page.focus .rp-body{gap:2.6mm}.rp-page.focus h3{margin:0}
.rp-focus-top{display:grid;grid-template-columns:1.05fr 1fr;gap:5mm;align-items:center}
.rp-focus-list td,.rp-focus-list th{padding:1.2mm 1.5mm}.rp-focus-list th{width:10mm}.rp-focus-list td:nth-child(2){width:19mm}
.rp-chip{display:inline-block;color:#fff;border-radius:3mm;padding:0 2.2mm;font-size:8.4pt;font-weight:700;white-space:nowrap}
.rp-heat{border-collapse:separate;border-spacing:.6mm;width:100%;font-size:7.8pt;table-layout:fixed}
.rp-heat th{font-weight:600;color:#4b5262;font-size:7.6pt;text-align:center;padding:.6mm 0}
.rp-heat thead th span{font-family:"Noto Serif KR",serif;font-size:9pt;color:#1c2230}
.rp-heat tbody th{text-align:left;font-size:9pt;color:#1c2230;width:9mm}
.rp-heat td{text-align:center;border-radius:1.2mm;height:5.4mm;font-family:"IBM Plex Mono",monospace;font-size:7.6pt}
.rp-heat td.tg{background:none;font-family:inherit;font-weight:700;font-size:8pt;width:13mm}
.rp-heat-legend{display:flex;flex-wrap:wrap;gap:4mm;font-size:7.8pt;color:#4b5262}
.rp-heat-legend i{display:inline-block;width:3.2mm;height:3.2mm;border-radius:.8mm;margin-right:1.2mm;vertical-align:-.5mm}
.rp-strip{display:grid;grid-template-columns:repeat(6,1fr);gap:1.6mm}
.rp-strip div{border:1px solid #d5d9e0;border-radius:1.6mm;padding:1mm 1.8mm;display:grid;gap:.2mm;font-size:8pt}
.rp-heat td i.hm{font-style:normal;font-size:6.6pt;margin-right:.2mm}
.rp-heat td.na{background:#f4f5f7;color:#5b6170;font-family:inherit;font-size:7.8pt}
.rp-strip u{text-decoration:none;color:#b3322a;font-weight:600;font-size:7.4pt}
.rp-strip b{font-family:"Noto Serif KR",serif;font-size:9.5pt} .rp-strip small{color:#5b6170;font-size:7pt} .rp-strip em{font-style:normal;color:#1f7a45;font-weight:600}


.rp-page.why .rp-body{gap:4mm}
.rp-why-list{display:grid;gap:3.5mm}
.rp-why{border:1px solid #d5d9e0;border-left:3px solid #26346e;border-radius:1.6mm;padding:3mm 4mm;display:grid;gap:1.6mm}
.rp-why p{margin:0}
.rp-why-h{display:flex;align-items:center;gap:3mm;flex-wrap:wrap}
.rp-why-h b{font-family:"Noto Serif KR",serif;font-size:12pt}
.rp-why-n{font-family:"IBM Plex Mono",monospace;color:#fff;background:#26346e;border-radius:50%;width:6mm;height:6mm;display:grid;place-items:center;font-size:9pt}
.rp-why-lv{margin-left:auto;font-size:8.2pt;color:#4b5262;display:flex;align-items:center;gap:2mm}
.rp-why-lv i{width:22mm;height:2mm;background:#eceef2;display:block}.rp-why-lv em{display:block;height:100%;background:#a3352b}
.rp-why-b{font-size:8.2pt;color:#5b6170}
.rp-why-v{font-size:9pt}

/* ===== 자미두수 ===== */
.zw-chart { width: 100%; border-collapse: collapse; table-layout: fixed; font-size: 8pt }
.zw-chart td { border: 1px solid #b9bfca; vertical-align: top; padding: 1.4mm 1.6mm; height: 41mm; position: relative }
.zw-chart td.soul { border: 2px solid #26346e; background: #f4f6fc }
.zw-top { display: flex; flex-wrap: wrap; gap: .6mm 2mm; min-height: 6mm }
.zw-min { display: flex; flex-wrap: wrap; gap: .4mm 1.6mm; margin-top: 1mm; color: #4b5262 }
.zw-s { white-space: nowrap; font-size: 7.6pt } .zw-s.m { font-family: "Noto Serif KR", "Noto Serif CJK KR", serif; font-weight: 700; font-size: 10pt; color: #1c2230 }
.zw-s i { font-style: normal; font-size: 6.6pt; color: #5b6170; margin-left: .4mm }
.zw-s em { font-style: normal; font-size: 6.6pt; color: #fff; border-radius: 1mm; padding: 0 .8mm; margin-left: .6mm }
.mu-禄 { background: #1f7a45 } .mu-权 { background: #26346e } .mu-科 { background: #0f7f78 } .mu-忌 { background: #b3322a }
.zw-empty { color: #5b6170; font-size: 7.4pt }
.zw-foot { position: absolute; left: 1.6mm; right: 1.6mm; bottom: 1.2mm; display: flex; justify-content: space-between; border-top: 1px dashed #d5d9e0; padding-top: .6mm; font-size: 7.4pt; color: #4b5262 }
.zw-foot b { color: #1c2230 }
.zw-center { text-align: center; vertical-align: middle !important; background: #fafbfc }
.zw-center b { display: block; font-family: "Noto Serif KR", "Noto Serif CJK KR", serif; font-size: 15pt; margin-bottom: 2mm }
.zw-center span { display: block; font-size: 8.6pt; color: #4b5262; line-height: 1.7 }
.zw-coverstars { display: flex; gap: 6mm; align-items: baseline; font-family: "Noto Serif KR", "Noto Serif CJK KR", serif }
.zw-coverstars b { font-size: 30pt; color: #26346e } .zw-coverstars small { font-size: 9pt; color: #5b6170; font-family: "IBM Plex Sans KR", sans-serif }
.zw-cats th { width: 22mm; white-space: nowrap } .zw-cats td { padding-block: 1.1mm }
.zw-cats td.sc { width: 34mm; white-space: nowrap; font-family: "IBM Plex Mono", monospace; font-size: 8.4pt }
.zw-cats td.sc i { display: inline-block; width: 22mm; height: 2.2mm; background: #eceef2; margin-right: 1.6mm; vertical-align: middle } .zw-cats td.sc b { display: block; height: 100% }
.bg-0 { background: #1f7a45 } .bg-1 { background: #5fa877 } .bg-2 { background: #9aa1ad } .bg-3 { background: #d9822b } .bg-4 { background: #b3322a }
.zh-0 { background: #1f7a45; color: #fff } .zh-1 { background: #9fd3ae; color: #123 } .zh-2 { background: #eef0f3; color: #555 } .zh-3 { background: #f6c79a; color: #4a2a10 } .zh-4 { background: #b8473b; color: #fff }
.rp-heat-legend i.zh-0, .rp-heat-legend i.zh-1, .rp-heat-legend i.zh-2, .rp-heat-legend i.zh-3, .rp-heat-legend i.zh-4 { display: inline-block; width: 3.2mm; height: 3.2mm; border-radius: .8mm; margin-right: 1.2mm; vertical-align: -.5mm }

/* 휴대폰 크게 읽기: 명반 칸 아래 궁 이름·나이가 한 글자씩 꺾이지 않게 세로로 쌓고 글자를 키운다 */
body.rp-read .zw-chart td { padding: 6px 5px }
body.rp-read .zw-foot { flex-direction: column; align-items: flex-start; gap: 1px; font-size: 11px; left: 5px; right: 5px }
body.rp-read .zw-foot b { white-space: nowrap; font-size: 11px } body.rp-read .zw-foot span:not(.zw-pb) { font-size: 10px; letter-spacing: -.3px; line-height: 1.3 }
body.rp-read .zw-foot .zw-pb { display: none }
body.rp-read .zw-top small, body.rp-read .zw-top em { font-size: 10px }


.zw-how{border-left:3px solid #b8892e;background:#fbf7ee;padding:2.4mm 3.4mm;font-size:8.6pt;color:#4b3a20;line-height:1.6}.zw-how b:first-child{display:block;color:#7a5410;font-size:8.4pt;letter-spacing:.06em;margin-bottom:.6mm}
.zw-pb{display:inline-grid;place-items:center;width:5.2mm;height:5.2mm;border-radius:50%;font-family:"Noto Serif KR","Noto Serif CJK KR",serif;font-weight:700;font-size:7.6pt;color:#fff;vertical-align:-1mm;margin-right:1mm;flex:none}
.zw-pb.zg-me{background:#26346e}.zw-pb.zg-money{background:#9a7414}.zw-pb.zg-people{background:#0f7f78}.zw-pb.zg-body{background:#a3352b}
.zw-chart td.zg-me{background:#f3f5fb}.zw-chart td.zg-money{background:#fbf7ec}.zw-chart td.zg-people{background:#f0f8f7}.zw-chart td.zg-body{background:#fbf1f0}
.zw-chart td.sfz{border:1.4px dashed #26346e}
.zw-foot{align-items:center}.zw-foot b{margin-right:auto;margin-left:.6mm}
.zw-seal{display:inline-block;border:1.4px solid #a3352b;color:#a3352b;font-family:"Noto Serif KR","Noto Serif CJK KR",serif;font-weight:700;font-size:9pt;letter-spacing:.2em;padding:.6mm 2mm;margin-bottom:2mm}
.zw-center b.k{display:inline;font-size:9pt;margin:0;font-family:inherit}
.zw-legend{margin-top:3mm;font-size:7.4pt;color:#4b5262;line-height:1.9}.zw-legend i{display:inline-block;width:3mm;height:3mm;border-radius:.6mm;vertical-align:-.4mm;margin:0 .8mm 0 2mm}
.zw-legend i.zg-me{background:#dfe4f4}.zw-legend i.zg-money{background:#f1e5c4}.zw-legend i.zg-people{background:#cfe9e5}.zw-legend i.zg-body{background:#f2d3cf}.zw-legend i.sfz{border:1.2px dashed #26346e;background:none}
.zw-coverstars{display:flex;gap:10mm;justify-content:center}.zw-coverstars div{display:grid;justify-items:center;gap:1mm}
.zw-coverstars b{font-family:"Noto Serif KR","Noto Serif CJK KR",serif;font-size:34pt;color:#26346e;letter-spacing:.06em}.zw-coverstars small{font-size:9pt;color:#5b6170}
.zw-covercap{font-size:9.4pt;color:#4b5262;margin:0}
.zw-steps{display:grid;gap:2.4mm}.zw-steps div{border:1px solid #d5d9e0;border-radius:1.6mm;padding:2.2mm 3.2mm}.zw-steps b{font-size:9.6pt;color:#26346e}.zw-steps p{margin:.8mm 0 0;font-size:8.8pt;line-height:1.55}
.zw-12{display:grid;grid-template-columns:repeat(3,1fr);gap:1.6mm}.zw-12 div{display:grid;grid-template-columns:auto auto 1fr;gap:1.4mm;align-items:center;font-size:8.2pt;border-bottom:1px dotted #d5d9e0;padding-bottom:1mm}.zw-12 span{color:#4b5262;font-size:7.6pt;line-height:1.35}
.zw-tight li{margin:.6mm 0}
.zw-mu{display:inline-block;font-style:normal;font-size:7.4pt;color:#fff;border-radius:1mm;padding:0 1.2mm;margin-right:.6mm}
.zw-good{border-color:#9fcfb0;background:#f3faf5}.zw-care{border-color:#f0c9a4;background:#fdf7f0}
.zw-rank{display:grid;grid-template-columns:1fr 1fr;gap:1.4mm 6mm}.zw-rank div{display:grid;grid-template-columns:5mm 24mm 1fr;align-items:center;gap:2mm;font-size:8.6pt}
.zw-rank span{font-family:"IBM Plex Mono",monospace;color:#5b6170}.zw-rank i{height:2.4mm;background:#eceef2;display:block}.zw-rank em{display:block;height:100%;background:linear-gradient(90deg,#26346e,#5b6cb8)}
.zw-stars{display:grid;grid-template-columns:1fr 1fr;gap:2.4mm}.zw-stars>div{border:1px solid #d5d9e0;border-radius:1.6mm;padding:2mm 3mm}
.zw-sh{display:flex;align-items:center;gap:1.6mm}.zw-sh b{font-family:"Noto Serif KR","Noto Serif CJK KR",serif;font-size:13pt;color:#26346e}.zw-sh span{font-weight:700;font-size:9pt;margin-right:auto}.zw-sh small{font-size:7.6pt;color:#5b6170}
.zw-stars p{margin:.8mm 0 0;font-size:8.4pt;line-height:1.5}.zw-kw{color:#7a5410;font-weight:600;font-size:8pt!important}
.zw-pal h3 small{font-weight:400;color:#5b6170;font-size:8pt;margin-left:1.6mm}.zw-easy{margin:0 0 1.4mm;font-size:8.8pt;color:#26346e;font-weight:600}


.tr-card svg{display:block;width:100%;height:auto;filter:drop-shadow(0 .8mm 1.2mm rgba(40,20,10,.28))}
.tr-cross{position:relative;height:154mm;width:156mm;margin:0 auto}
.tr-slot{position:absolute;width:19mm;display:grid;justify-items:center;gap:.8mm}
.tr-slot span{font-size:7.2pt;color:#4b5262;white-space:nowrap;text-align:center}.tr-slot span b,.tr-s2lab b{color:#a3352b}
.tr-slot .tr-card{width:19mm}
.tr-slot.s1{left:40mm;top:60mm}.tr-slot.s2{left:40mm;top:60mm;transform:rotate(90deg) translateY(0);z-index:2}
.tr-slot.s3{left:40mm;top:104mm}.tr-slot.s4{left:14mm;top:60mm}.tr-slot.s5{left:40mm;top:16mm}.tr-slot.s6{left:66mm;top:60mm}
.tr-slot.s7{left:126mm;top:114mm}.tr-slot.s8{left:126mm;top:76mm}.tr-slot.s9{left:126mm;top:38mm}.tr-slot.s10{left:126mm;top:0}
.tr-slot.s1 span{margin-top:0}.tr-s2lab{position:absolute;left:0;top:148mm;font-size:7.2pt;color:#4b5262}
.tr-ans p{margin:1mm 0}.tr-ans b{font-size:11.5pt}
.tr-read{display:grid;grid-template-columns:54mm 1fr;gap:7mm;border-bottom:1px solid #d5d9e0;padding-bottom:7mm;margin-bottom:3mm;align-items:start}
.tr-read .tr-card{width:54mm}
.tr-q{background:#f3f5fb;border-left:2.4px solid #26346e;padding:1.4mm 2.4mm}
.tr-rbody h3{margin:0;font-size:15pt;font-family:"Noto Serif KR","Noto Serif CJK KR",serif}.tr-rbody p{margin:0 0 1.6mm}
.tr-rh{display:flex;gap:3mm;align-items:center;margin-bottom:2mm}.tr-map{width:20mm;flex:none}
.tr-pos{color:#a3352b;font-weight:700;font-size:8.6pt;letter-spacing:.04em}
.tr-sit{font-size:8.8pt;color:#4b5262}.tr-k{font-weight:700;color:#7a1f12;font-size:10.4pt}
.tn{font-weight:600;font-size:7.6pt;border-radius:2mm;padding:.2mm 2mm;margin-left:1.6mm;vertical-align:1px;color:#fff}
.tn0{background:#b3322a}.tn1{background:#a85a12}.tn2{background:#6b7280}.tn3{background:#3d7a50}.tn4{background:#1f7a45}
.tr-rv{font-size:8pt;color:#fff;background:#a3352b;border-radius:1mm;padding:0 1.6mm;vertical-align:2px;font-family:"IBM Plex Sans KR",sans-serif}
.tr-up{font-size:8pt;color:#fff;background:#26346e;border-radius:1mm;padding:0 1.6mm;vertical-align:2px;font-family:"IBM Plex Sans KR",sans-serif}
.tr-note{background:#fbf1f0;border-left:2.4px solid #a3352b;padding:1.4mm 2.4mm}.tr-adv{background:#fbf7ee;border-left:2.4px solid #b8892e;padding:1.4mm 2.4mm}
.tr-coverfan{display:flex;gap:5mm}.tr-coverfan svg{width:30mm;height:auto}
.tr-guide{display:grid;grid-template-columns:repeat(3,1fr);gap:5mm}.tr-guide>div{display:grid;justify-items:center;gap:2mm;text-align:center}.tr-guide svg{width:30mm;height:auto}.tr-guide p{margin:0;font-size:8.4pt;line-height:1.5}
.tr-suits td,.tr-suits th{padding-block:1.2mm}.tr-pl{columns:2;column-gap:8mm}.tr-pl li{margin:.6mm 0}
.tr-flow{margin-top:2mm;max-width:120mm}


.rp-page.gh{--acc:#8c1d2c}.rp-page.gh .rp-title{border-bottom-color:#8c1d2c}
.gh-cseal{display:flex;align-items:center;gap:5mm;border:1.5px solid #8c1d2c;border-radius:3mm;padding:3mm 6mm;margin:2mm auto 0}
.gh-cseal .n{font-family:"IBM Plex Mono",monospace;font-size:30pt;color:#8c1d2c;line-height:1}.gh-cseal .n small{font-size:11pt;color:#5b6170}
.gh-cseal b{display:block;font-family:"Noto Serif KR",serif;font-size:14pt;color:#1c2230;text-align:left}.gh-cseal span{font-size:9pt;color:#5b6170}
.gh-top{display:grid;grid-template-columns:52mm 1fr;gap:5mm;align-items:center}
.gh-big{border:1px solid #e6d3d0;background:#fbf6f5;border-radius:2mm;padding:4mm;text-align:center}
.gh-big small{font-size:8.6pt;color:#5b6170}.gh-big .n{font-family:"IBM Plex Mono",monospace;font-size:40pt;color:#8c1d2c;line-height:1.1}.gh-big .n span{font-size:12pt;color:#5b6170}.gh-big p{font-size:8.6pt;color:#4b5262;margin:1.5mm 0 0}
.gh-ib{display:grid;grid-template-columns:13mm 1fr 8mm 22mm;gap:2mm;align-items:center;font-size:9pt;margin:1.2mm 0}
.gh-ib i{height:3mm;background:#f1e7e5;display:block;border-radius:2mm;overflow:hidden}.gh-ib i b{display:block;height:100%;background:linear-gradient(90deg,#c7646f,#8c1d2c)}
.gh-ib em{font-style:normal;font-family:"IBM Plex Mono",monospace;font-weight:600;text-align:right}.gh-ib .rp-grade{text-align:center;margin:0}
.gh-ib small{grid-column:2/5;color:#5b6170;font-size:7.8pt;margin-top:-1mm}
.gh-gauge{display:grid;justify-items:center;text-align:center;border:1px solid #e6d3d0;background:#fbf6f5;border-radius:2mm;padding:2mm 3mm}
.gh-gauge svg{max-width:46mm}.gh-gauge b{font-family:"Noto Serif KR",serif;font-size:10.5pt;color:#8c1d2c}.gh-gauge small{font-size:8pt;color:#5b6170}
.gh-top2{display:grid;grid-template-columns:50mm 1fr;gap:4mm;align-items:stretch}
.gh-twh{display:grid;grid-template-columns:12mm 1fr 1fr;font-size:8.6pt;color:#4b5262;margin-bottom:1mm}.gh-twh b:first-of-type{text-align:right;padding-right:8mm}.gh-twh b:last-of-type{padding-left:8mm}
.gh-tw{display:grid;grid-template-columns:12mm 1fr 8mm 8mm 1fr;gap:1.5mm;align-items:center;font-size:9pt;margin:1.2mm 0}
.gh-tw span{font-weight:700}.gh-tw span small{font-weight:400;color:#5b6170;margin-left:1mm}
.gh-tw i{height:3.2mm;background:#eceef2;display:flex}.gh-tw i.l{justify-content:flex-end}.gh-tw i b{display:block;height:100%}
.gh-tw em{font-style:normal;font-family:"IBM Plex Mono",monospace;font-size:8.4pt;text-align:center}
.gh-tw .w{grid-column:2/6;font-size:7.8pt;color:#5b6170;margin-top:-.8mm}
.gh-hl{border-color:#d9aaa9;background:#fbf3f2}
.gh-heat td{text-align:center;font-family:"IBM Plex Mono",monospace;padding:1.6mm 0}.gh-heat tr.sum td{font-weight:700}.gh-heat tbody th{width:19mm;font-size:8.2pt}
.gh-days{display:grid;grid-template-columns:repeat(3,1fr);gap:2mm}.gh-days>div{border:1px solid #e6d3d0;background:#fff;border-radius:1.5mm;padding:1.6mm 2.4mm;display:grid}.gh-days b{font-family:"Noto Serif KR",serif;font-size:11pt;color:#8c1d2c}.gh-days span{font-size:8.4pt;color:#1c2230}.gh-days small{font-size:7.6pt;color:#5b6170}
.rp-page.gh .rp-small{font-size:9.4pt}.rp-page.gh .rp-body{gap:5mm}
.gh-letter{font-family:"Noto Serif KR",serif;font-size:11pt;line-height:1.95;color:#1c2230;border:1px solid #e6d3d0;background:#fdf9f8;padding:9mm 10mm;border-radius:2mm}
.gh-letter p{margin:0 0 3.5mm}.gh-letter .sig{text-align:right;color:#8c1d2c;margin:4mm 0 0}


.rp-page.nmr{--acc:#3a2f25}.rp-page.nmr .rp-title{border-bottom-color:#3a2f25}.rp-page.nmr .rp-box{background:#fbfafd;border-color:#ebe6f2}
.nr-cov{display:flex;gap:9mm;justify-content:center;align-items:flex-end;margin:4mm 0}
.nr-cp{position:relative;display:grid;justify-items:center;background:linear-gradient(180deg,#f8f1e2,#eadbbe);border:1px solid #cdb994;border-radius:1.5mm;padding:5mm 4mm 3mm;box-shadow:0 2mm 4mm rgba(80,60,30,.18)}
.nr-cp b{font-family:"Noto Serif KR",serif;font-size:22pt;line-height:1.1;color:#1b1714}.nr-cp span{font-size:9pt;color:#6b5a44;margin-top:2mm;letter-spacing:.2em}
.nr-cp.one{padding:7mm 6mm 4mm}.nr-cp.one b{font-size:30pt}
.nr-cp em,.nr-plq em{position:absolute;right:-4mm;bottom:6mm;font-style:normal;font-family:"Noto Serif KR",serif;font-size:7.5pt;line-height:1.05;color:#a3352b;border:1.6px solid #a3352b;border-radius:1mm;padding:1mm;background:#f8f1e2;transform:rotate(7deg)}
.nr-best{display:grid;grid-template-columns:36mm 1fr;gap:6mm;align-items:center;border:1px solid #e3dacb;background:#fbf8f1;padding:4mm 5mm;border-radius:2mm}
.nr-best h3{font-size:14pt;margin:0 0 1.5mm}.nr-best h3 span{font-size:11pt;color:#6b5a44}.nr-best small{font-size:8pt;color:#a3352b;letter-spacing:.1em}
.nr-plq{position:relative;display:grid;justify-items:center;background:linear-gradient(180deg,#f8f1e2,#eadbbe);border:1px solid #cdb994;border-radius:1.5mm;padding:4mm 3mm 2.5mm;box-shadow:0 1.5mm 3mm rgba(80,60,30,.18)}
.nr-plq b{font-family:"Noto Serif KR",serif;font-size:22pt;line-height:1.08;color:#1b1714}.nr-plq span{font-size:8.4pt;color:#6b5a44;letter-spacing:.2em;margin-top:1.5mm}.nr-plq.big b{font-size:26pt}
.nr-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:2mm}
.nr-grid>div{border:1px solid #e3dacb;background:#fff;border-radius:1.5mm;padding:2mm;display:grid;gap:.6mm;text-align:center}
.nr-grid small{font-size:7.4pt;color:#a3352b}.nr-grid b{font-family:"Noto Serif KR",serif;font-size:11.5pt}.nr-grid span{font-size:8.6pt;color:#6b5a44}
.nr-grid i{height:1.6mm;background:#efe7d8;display:block;border-radius:1mm;overflow:hidden}.nr-grid i em{display:block;height:100%;background:#3a2f25}.nr-grid u{text-decoration:none;font-family:"IBM Plex Mono",monospace;font-size:8pt}
.nr-hero{display:grid;grid-template-columns:30mm 1fr;gap:6mm;align-items:center}
.nr-hb{display:grid;gap:1.5mm}.nr-score{font-family:"IBM Plex Mono",monospace;color:#3a2f25}.nr-score b{font-size:26pt}.nr-score small{font-size:10pt;color:#5b6170}
.nr-story{font-family:"Noto Serif KR",serif;font-size:11pt;margin:0;color:#3a2f25}
.nr-mini{display:grid;grid-template-columns:1fr 1fr;gap:1mm 5mm}.nr-mini div{display:grid;grid-template-columns:15mm 1fr 11mm;gap:1.5mm;align-items:center;font-size:8.4pt}
.nr-mini i{height:2mm;background:#efe7d8;display:block}.nr-mini i b{display:block;height:100%;background:#3a2f25}.rp-page .nr-score{white-space:nowrap}body.rp-read .nr-chars{display:table!important;font-size:9pt}body.rp-read .nr-chars col{width:auto!important}body.rp-read .nr-chars th:nth-child(4),body.rp-read .nr-chars td:nth-child(4){display:none}body.rp-read .nr-hero{grid-template-columns:1fr;justify-items:center}body.rp-read .nr-hb{width:100%}body.rp-read .nr-mini{grid-template-columns:1fr}
.nr-mini em{font-style:normal;font-family:"IBM Plex Mono",monospace;font-size:7.8pt;text-align:right}
.nr-chars td.h{font-family:"Noto Serif KR",serif;font-size:15pt;text-align:center}.nr-chars tr.sur td{color:#5b6170}
.nr-suri{display:grid;grid-template-columns:repeat(4,1fr);gap:2mm}
.nr-suri>div{border:1px solid #e3dacb;border-top:3px solid #2f7a47;background:#fbf8f1;padding:2mm 2.4mm;display:grid;gap:.5mm}.nr-suri>div.mid{border-top-color:#9b6f12}.nr-suri>div.bad{border-top-color:#a3352b}
.nr-suri small{font-size:7.2pt;color:#5b6170}.nr-suri b{font-family:"IBM Plex Mono",monospace;font-size:16pt;color:#1c2230}.nr-suri b span{font-family:"IBM Plex Sans KR",sans-serif;font-size:8pt;color:#2f7a47;margin-left:1.5mm}
.nr-suri em{font-style:normal;font-family:"Noto Serif KR",serif;font-size:9.6pt;font-weight:700}.nr-suri p{margin:0;font-size:8pt;color:#4b5262}
.nr-flow{display:flex;flex-wrap:wrap;align-items:center;gap:1.5mm}.nr-snd{display:grid;justify-items:center;border:1.6px solid;border-radius:1.5mm;padding:1mm 2.5mm;background:#fff}
.nr-snd b{font-family:"Noto Serif KR",serif;font-size:13pt;line-height:1.1}.nr-snd small{font-size:8pt}
.nr-flow i{font-style:normal;font-size:8pt;color:#2f7a47}.nr-flow i.x{color:#a3352b}.nr-flow i.m{color:#5b6170}
.nr-four{display:grid;grid-template-columns:1fr 1fr;gap:3mm}.nr-four>div{border:1px solid #e3dacb;background:#fbf8f1;padding:3mm 4mm;border-radius:1.5mm}
.nr-four b{font-family:"Noto Serif KR",serif;font-size:9pt;color:#a3352b;letter-spacing:.15em}.nr-four h3{margin:.5mm 0 1mm}.nr-four p{margin:0;font-size:9pt;color:#4b5262}
.nr-stack{display:flex;height:2.6mm;background:#efe7d8;width:100%}.nr-stack i{display:block;height:100%}.nr-stack i.s{background:#26346e}.nr-stack i.r{background:#a3352b}.nr-stack i.y{background:#9b6f12}.nr-stack i.e{background:#2f7a47}
.nr-cmp td{vertical-align:middle}.nr-cmp small{font-family:"IBM Plex Mono",monospace;font-size:8pt}
.nr-nums{display:grid;grid-template-columns:repeat(4,1fr);gap:2mm}.nr-nums>div{border:1px solid #e3dacb;border-left:3px solid #2f7a47;background:#fbf8f1;padding:1.6mm 2.4mm;display:grid;grid-template-columns:auto 1fr auto;gap:0 2mm;align-items:baseline}
.nr-nums>div.mid{border-left-color:#9b6f12}.nr-nums b{font-family:"IBM Plex Mono",monospace;font-size:13pt}.nr-nums span{font-family:"Noto Serif KR",serif;font-size:9.4pt;font-weight:700}.nr-nums small{font-size:7.6pt;color:#5b6170}.nr-nums p{grid-column:1/4;margin:0;font-size:7.8pt;color:#4b5262}
.nr-81{display:grid;grid-template-columns:repeat(9,1fr);gap:.8mm}.nr-81 span{display:grid;justify-items:center;border:1px solid #e3dacb;padding:.6mm 0;background:#fff;opacity:.55}
.nr-81 span.on{opacity:1;box-shadow:inset 0 0 0 1.5px #3a2f25}.nr-81 b{font-family:"IBM Plex Mono",monospace;font-size:9pt}.nr-81 small{font-size:6.4pt;color:#4b5262}
.nr-81 .ok{border-top:2.5px solid #2f7a47}.nr-81 .mid{border-top:2.5px solid #9b6f12}.nr-81 .bad{border-top:2.5px solid #a3352b;background:#fbf1f0}
.nr-letter{font-family:"Noto Serif KR",serif;font-size:10.5pt;line-height:1.9;border:1px solid #e3dacb;background:#fdfaf3;padding:6mm 8mm;border-radius:2mm}.nr-letter p{margin:0 0 2mm}.nr-letter .sig{text-align:right;color:#a3352b}


.nt-hero{display:grid;grid-template-columns:30mm 1fr;gap:6mm;align-items:center;border:1px solid #e3dacb;background:rgba(255,255,255,.55);border-radius:2mm;padding:4mm 5mm}
.nt-dm{display:grid;justify-items:center;border:2px solid;border-radius:50%;width:28mm;height:28mm;align-content:center;background:#fff}
.nt-dm b{font-family:"Noto Serif KR",serif;font-size:30pt;line-height:1}.nt-dm span{font-size:8pt;color:#4b5262}
.nt-hero small{font-size:8pt;color:#a3352b;letter-spacing:.1em}.nt-hero h3{font-size:15pt;margin:.5mm 0 1.5mm}.nt-one{margin:0;font-size:10pt;line-height:1.7}
.nt-g{display:grid;grid-template-columns:22mm 1fr 10mm;gap:2mm;align-items:center;margin:1.3mm 0;font-size:9pt}
.nt-g span b{font-family:"Noto Serif KR",serif}.nt-g span small{font-size:7.6pt;color:#5b6170;margin-left:1.5mm}
.nt-g i{height:3mm;background:#efe7d8;display:block;border-radius:1.5mm;overflow:hidden}.nt-g i em{display:block;height:100%;background:#8a7a62}.nt-g.top i em{background:#a3352b}
.nt-g u{text-decoration:none;font-family:"IBM Plex Mono",monospace;font-size:8.4pt;text-align:right}.nt-g .d{grid-column:2/4;font-size:7.6pt;color:#5b6170;margin-top:-1mm}
.nt-meter{position:relative;height:4mm;border-radius:2mm;background:linear-gradient(90deg,#1d3f78,#cfc6b2 50%,#a3352b);margin:3mm 0 4mm;display:flex;justify-content:space-between}
.nt-meter i{position:absolute;top:-1.5mm;width:3mm;height:7mm;margin-left:-1.5mm;background:#1c2230;border-radius:1mm}.nt-meter span{position:relative;top:5mm;font-size:7.6pt;color:#4b5262}
.nt-map{display:grid;grid-template-columns:72mm 1fr;gap:4mm}
.nt-luck td,.nt-luck th{padding-block:1.4mm}
/* 화이트 파스텔 바탕 — 모든 보고서 쪽 */
.rp-page{--rule:#e7e2ee;background:#fffefc linear-gradient(180deg,#f6f2fb 0,#fdfbfe 30mm,#fffefc 60mm) no-repeat;-webkit-print-color-adjust:exact;print-color-adjust:exact}
.rp-box{background:#fbfafd;border-color:#ebe6f2;border-radius:2mm}.rp-verdict{background:#f4f9f7}
.rp-table thead th{background:none}
.nt-hero{background:#faf7fd;border-color:#ebe3f3}
/* 세 가지 눈 */
.nt-lead{background:#f7f3fc;border:1px solid #e9e1f4;border-radius:2mm;padding:3.2mm 4.5mm;font-size:9.8pt;line-height:1.7}
.nt-eyes{display:grid;grid-template-columns:repeat(3,1fr);gap:3mm}
.nt-eye{border:1px solid #e7e2ee;border-radius:2.5mm;padding:3mm 3.2mm;display:grid;gap:1.6mm;align-content:start;font-size:8.6pt;line-height:1.55}
.nt-eye.sq{background:#f2f8f5;border-color:#d7ebe0}.nt-eye.zp{background:#f3f5fc;border-color:#dce2f4}.nt-eye.gt{background:#fdf5f1;border-color:#f3dfd5}
.nt-eh{display:grid;grid-template-columns:10mm 1fr auto;gap:2mm;align-items:center}
.nt-eh i{font-style:normal;font-family:"Noto Serif KR",serif;font-size:17pt;width:10mm;height:10mm;border-radius:50%;display:grid;place-items:center;background:#fff;color:var(--acc)}
.nt-eh b{display:block;font-family:"Noto Serif KR",serif;font-size:10.4pt}.nt-eh small{font-size:7.4pt;color:#5b6170}.nt-eh u{text-decoration:none;font-family:"IBM Plex Mono",monospace;font-size:8pt;color:#4b5262}
.nt-q{margin:0;font-weight:700;font-size:9.2pt}.nt-how{margin:0;color:#4b5262}
.nt-ans{background:#fff;border-radius:1.6mm;padding:2mm 2.4mm}.nt-ans small{display:block;font-size:7.2pt;color:#a3352b;letter-spacing:.08em;margin-bottom:.6mm}
.nt-use{margin:0;font-size:8pt;color:#4b5262}.nt-use b{color:#1c2230;margin-right:1mm}
.nt-vote td{text-align:center;font-size:8pt}.nt-vote td.ok{color:#1f6b3d;font-weight:700;background:#eef7f1}.nt-vote td.no{color:#a3352b;background:#fbf0ee}.nt-vote tr.sum td{font-size:7.6pt;font-weight:700;line-height:1.35}
.rp-page.eyes .rp-body{gap:3mm}

.ru-big{font-family:'IBM Plex Mono',monospace;font-size:40pt;line-height:1.1;color:#a3352b}.ru-big small{font-size:12pt;color:#5b6170}
.ru-bar{display:inline-block;width:62%;height:7px;background:#eceef2;border-radius:4px;vertical-align:middle;overflow:hidden}.ru-bar i{display:block;height:100%;border-radius:4px}
.tb-pil td{text-align:center}.tb-pil tr.big td{font-family:'Noto Serif KR','Noto Serif CJK KR',serif;font-size:21pt;line-height:1.05;padding:1.2mm 0}.tb-pil tr.big td small{display:block;font-family:'IBM Plex Sans KR',sans-serif;font-size:7.5pt;color:#5b6170}
.tb-dw{display:grid;grid-template-columns:repeat(10,1fr);gap:1.4mm}.tb-dw div{border:1px solid #d5d9e0;border-radius:2mm;padding:1.2mm .5mm;text-align:center;display:grid;gap:.3mm}.tb-dw div.on{border:1.6px solid #9a6410;background:#f7f0de}
.tb-dw small{font-size:7pt;color:#5b6170}.tb-dw b{font-family:'Noto Serif KR','Noto Serif CJK KR',serif;font-size:12pt;line-height:1.1}.tb-dw em{font-style:normal;font-size:6.4pt;color:#4b5262}
.tb-el{display:grid;grid-template-columns:5mm 1fr 11mm 19mm;gap:2mm;align-items:center;font-size:8.6pt;margin:.8mm 0}.tb-el b{font-family:'Noto Serif KR',serif;font-size:11pt}.tb-el i{height:2.4mm;background:#eceef2;border-radius:2mm;overflow:hidden}.tb-el u{display:block;height:100%;border-radius:2mm}.tb-el small{color:#5b6170;font-size:7.6pt}
.tb-m{padding:2.6mm 3.6mm}.tb-m h3{display:flex;justify-content:space-between;align-items:center;margin:0 0 1mm}.tb-m h3 em{font-style:normal}
.rp-page.tb .rp-body{gap:3.6mm}.tb-read th small{font-weight:400;color:#5b6170}
.tb-qa dt{font-weight:700;color:#26346e;margin-top:2.4mm}.tb-qa dd{margin:.6mm 0 0;font-size:9pt;color:#4b5262}
.tb-letter{font-family:'Noto Serif KR','Noto Serif CJK KR',serif;font-size:10.6pt;line-height:1.95;color:#1c2230}.tb-letter p{margin:0 0 3mm}.tb-sign{text-align:right;color:#5b6170;font-size:9pt}
.tb-ans{border:1.6px solid #9a6410;background:#fbf6e9;border-radius:2mm;padding:4mm 5mm}.tb-ans .q{font-size:9pt;color:#5b6170;margin:0}.tb-ans .a{font-family:'Noto Serif KR','Noto Serif CJK KR',serif;font-size:14pt;font-weight:700;line-height:1.5;margin:1mm 0 0;color:#1c2230}/* A4 보기: 휴대폰에서도 종이 원본(210×297mm) 그대로 두고 화면 폭에 맞춰 통째로 축소 — PDF와 1:1 비율 */
@media screen{body:not(.rp-read) #reportView .rp-page{width:210mm!important;max-width:none!important;height:297mm!important;min-height:297mm!important}}
/* 크게 읽기(좁은 휴대폰): 자미두수 분야 순위·작명 표지 이름이 쪽 밖으로 잘리지 않게 */
body.rp-read .zw-rank{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:1.4mm 3mm}
body.rp-read .zw-rank div{grid-template-columns:auto auto minmax(0,1fr);min-width:0}
body.rp-read .nr-cp{max-width:100%;box-sizing:border-box}
@media (max-width:360px){body.rp-read .nr-cp b{font-size:18pt}body.rp-read .nr-cp{padding-left:3mm;padding-right:3mm}}
.zw-cats th,.zw-cats td{padding-block:.9mm;line-height:1.45}   /* 유년 쪽이 한 장을 넘지 않게 */
/* 띄어쓰기 없는 긴 글(타로 질문 등)도 쪽 안에서 줄바꿈 */
.rp-page td,.rp-page th,.rp-page p,.rp-page li,.rp-page .rp-q,.rp-page .rp-small{overflow-wrap:anywhere}
body.rp-read .tb-dw{grid-template-columns:repeat(5,minmax(0,1fr))}   /* 크게 읽기(좁은 화면): 대운 띠를 두 줄로 */
.zw-12 .zw-pb{color:#fff}   /* 12궁 원 아이콘 글자 대비 */
/* 시험운(ex) — 큰 글자·꽉 찬 쪽 (2026-11-04) */
.rp-page.ex{font-size:11pt}.rp-page.ex .rp-body{gap:4.2mm;align-content:start}.rp-page.ex .rp-small{font-size:10.2pt;line-height:1.65}.rp-page.ex .rp-muted{font-size:9pt}.rp-page.ex .rp-table{font-size:10.2pt}.rp-page.ex .rp-table td,.rp-page.ex .rp-table th{padding-block:1.9mm}.rp-page.ex h3{font-size:12pt;margin:0 0 2mm}.rp-page.ex .tb-ans .a{font-size:15pt}.rp-page.ex .tb-ans .q{font-size:10pt}.rp-page.ex ol,.rp-page.ex ul{margin:0;padding-left:5mm}.rp-page.ex li{margin:.8mm 0}
.ex-gauge{display:grid;grid-template-columns:42mm 1fr;gap:5mm;align-items:center;border:1px solid #e3d9c3;border-radius:2mm;padding:4mm 5mm;background:#fffdf8}.ex-num{font:700 40pt/1 "Noto Serif KR","Noto Serif CJK KR",serif;text-align:center}.ex-num small{font-size:13pt;color:#5b6170;margin-left:1mm}
.ex-dae{display:grid;grid-template-columns:repeat(9,1fr);gap:2mm;height:38mm;align-items:end}.ex-dae div{display:grid;grid-template-rows:1fr auto auto;height:100%;text-align:center;font-size:9pt}.ex-dae i{align-self:end;display:block;border-radius:1mm 1mm 0 0;min-height:2mm}.ex-dae b{font-family:"Noto Serif KR",serif;font-size:11pt;margin-top:1mm}.ex-dae small{color:#5b6170;font-size:8pt}.ex-dae .on{background:#eef0f8;border-radius:1.5mm;outline:1.5px solid #1b2550}
.ex-cal{display:grid;gap:1.6mm}.ex-cal .r{display:grid;grid-template-columns:16mm repeat(12,1fr);gap:1.2mm;align-items:stretch}.ex-cal .r>b{font-size:10pt;align-self:center}.ex-cal span{display:grid;justify-items:center;padding:1.6mm 0;border-radius:1.2mm;font-size:13pt;line-height:1.1}.ex-cal em{font-style:normal;font-size:8.4pt;color:#4b5262}.ex-cal .sun{background:#dcefe2}.ex-cal .cloud{background:#f0f1f4}.ex-cal .rain{background:#f6e3cf}
.ex-pw{display:grid;grid-template-columns:44mm 1fr 22mm;gap:3mm;align-items:center;font-size:10.6pt;margin:1.6mm 0}.ex-pw i{height:4.4mm;border-radius:2mm;background:#eee6d6;overflow:hidden;display:block}.ex-pw u{display:block;height:100%;text-decoration:none}.ex-pw b{text-align:right;font-size:10.4pt}
.ex-sum{display:grid;grid-template-columns:repeat(4,1fr);gap:3mm}.ex-sum div{border:1px solid #e3d9c3;border-radius:2mm;text-align:center;padding:3mm 0;background:#fffdf8}.ex-sum b{display:block;font:700 20pt/1.1 "Noto Serif KR","Noto Serif CJK KR",serif;color:#1b2550}.ex-sum small{font-size:9.4pt;color:#4b5262}
.ex-mb{display:inline-block;width:62%;height:3.4mm;background:#eef0f2;border-radius:2mm;overflow:hidden;vertical-align:middle}.ex-mb i{display:block;height:100%}
.rp-page.ex{font-size:12pt!important}.rp-page.ex .rp-body{display:flex!important;flex-direction:column;justify-content:space-between;gap:4.5mm}.rp-page.ex .rp-small{font-size:11.2pt!important;line-height:1.7}.rp-page.ex .rp-muted{font-size:9.8pt!important}.rp-page.ex .rp-table,.rp-page.ex .rp-mini{font-size:11pt!important}.rp-page.ex .rp-table td,.rp-page.ex .rp-table th{padding-block:2.3mm!important}.rp-page.ex h3{font-size:13pt!important}.rp-page.ex .tb-ans .a{font-size:16pt!important}.rp-page.ex .rp-box{padding:4.5mm 5mm}.rp-page.ex .rp-title{font-size:19pt}
.rp-page.ex .ex-pw{font-size:11.6pt}.rp-page.ex .ex-pw i{height:5.2mm}.rp-page.ex .ex-cal span{padding:2.4mm 0;font-size:15pt}.rp-page.ex .ex-cal em{font-size:9.4pt}.rp-page.ex .ex-dae{height:48mm}
.rp-cover h1.long{font-size:34pt;letter-spacing:.03em}
.rp-cover:has(.gh-cov) .rp-cover-img{height:44mm;width:110mm}
/* 전 상품 글자 키움(2026-11-04 회장님 지시: 잘 보이게) */
.rp-page{font-size:11pt}.rp-page .rp-small{font-size:10pt}.rp-page .rp-muted{font-size:9pt}.rp-page .rp-table{font-size:9.8pt}.rp-page .rp-table thead th{font-size:9.2pt}.rp-page .rp-title{font-size:18pt}.rp-page h3{font-size:12pt}
.rp-page.life{font-size:10.4pt}.rp-page.life .rp-small{font-size:9.4pt}.rp-page.life .rp-table{font-size:9.2pt}.rp-page.life .rp-muted{font-size:8.6pt}
.tb-dw small.dt{font-size:6.6pt;color:#1b2550;font-weight:600}.tb-dw em.st{color:#9a6410;font-weight:600}
.rp-cover:has(.rp-warn) .rp-cover-img{height:46mm;width:100mm}.rp-cover:has(.rp-warn){gap:4.5mm}
.rp-page.tight{font-size:10pt}.rp-page.tight .rp-small{font-size:9.3pt}.rp-page.tight .rp-muted{font-size:8.6pt}.rp-page.tight .rp-table{font-size:9.2pt}.rp-page.tight .rp-table td,.rp-page.tight .rp-table th{padding-top:1.1mm;padding-bottom:1.1mm}.rp-page.tight .rp-body{gap:2.6mm}
.rp-page.ex .ex-dae{height:34mm!important}.rp-page.ex .ex-gauge{padding:3mm 4mm}.rp-page.ex .ex-num{font-size:34pt}
/* 쪽 맞춤(paginate.js): 넘치는 쪽만 단계적으로 줄임 */
.rp-page.fit1 .rp-body{font-size:94%;gap:2.4mm}.rp-page.fit1 .rp-small,.rp-page.fit1 .rp-table,.rp-page.fit1 .rp-muted,.rp-page.fit1 li,.rp-page.fit1 p{font-size:94%!important}.rp-page.fit1 .rp-table td,.rp-page.fit1 .rp-table th{padding-top:.9mm!important;padding-bottom:.9mm!important}.rp-page.fit1 .rp-box{padding-top:2.4mm;padding-bottom:2.4mm}
.rp-page.fit2 .rp-body{font-size:88%;gap:1.8mm}.rp-page.fit2 .rp-small,.rp-page.fit2 .rp-table,.rp-page.fit2 .rp-muted,.rp-page.fit2 li,.rp-page.fit2 p{font-size:88%!important}.rp-page.fit2 h3{margin-bottom:1mm}.rp-page.fit2 .rp-box{padding-top:1.8mm;padding-bottom:1.8mm}
