/* 도표 책 판형(평생 사주 감정서 · 신년운세) — A4, --u 는 인쇄본에서 1mm */
.cb-book {
  container-type: inline-size;
  --ink: #1d1a16; --ink2: #4a443d; --gray: #7b746b; --line: #cfc6b6; --line2: #e2dbcd; --gold: #b39566; --red: #b5473a; --paper: #f5f1e8;
  font-family: "Gowun Batang", "MaruBuri", "Nanum Myeongjo", serif;
  color: var(--ink);
  word-break: keep-all;
  -webkit-print-color-adjust: exact;
  print-color-adjust: exact;
}
.cb-book * { box-sizing: border-box; }
:where(.cb-book) :where(p, h1, h2, h3, h4, ol, ul, table) { margin: 0; padding: 0; }
:where(.cb-book) :where(ol, ul) { list-style: none; }
.cb-book table { border-collapse: collapse; width: 100%; }
.cb-book small { font-size: 0.78em; color: var(--gray); }
.cb-page { --u0: calc(100cqw / 210); --u: var(--u0); position: relative; width: 100%; background: var(--paper); overflow: hidden; font-size: calc(var(--u) * 3.5); }
.cb-art { background-size: cover; background-position: center; }

/* 화면 */
.cb-screen { max-width: 780px; margin: 0 auto; overflow-x: auto; }
.cb-screen .cb-page { margin: 0 0 16px; box-shadow: 0 1px 2px rgba(29, 26, 22, 0.06), 0 10px 26px rgba(29, 26, 22, 0.08); }
.cb-screen .cb-page:not(.cb-flow) { --u0: max(calc(100cqw / 210), 2.3px); width: calc(var(--u) * 210); height: calc(var(--u) * 297); }
.cb-screen .cb-flow { min-height: calc(var(--u) * 297); }
.cb-screen .cb-flow .cb-frame { position: relative; inset: auto; margin: calc(var(--u) * 14) calc(var(--u) * 15) calc(var(--u) * 14); min-height: calc(var(--u) * 262); }
.cb-screen .cb-flow .cb-body { overflow: visible; }
.cb-screen .cb-flow .cb-text p, .cb-screen .cb-flow .cb-lead { font-size: max(15px, calc(var(--u) * 5.2)); }
.cb-screen .cb-flow .cb-h { font-size: max(16px, calc(var(--u) * 5.6)); }
.cb-screen .cb-num { display: none; }
.cb-screen .cb-toc em { display: none; }

/* 인쇄본 */
#cb-print { position: absolute; left: -100000px; top: 0; width: 210mm; }
.cb-print .cb-page { --u0: 1mm; width: 210mm; height: 297mm; break-after: page; }
.cb-print .cb-page:last-child { break-after: auto; }
@media print {
  body.is-cb-print { background: #fff !important; margin: 0 !important; padding: 0 !important; }
  body.is-cb-print > *:not(#cb-print) { display: none !important; }
  body.is-cb-print #cb-print { position: static; left: auto; }
}

/* 쪽 안 글자 크기: 도표 쪽은 원본처럼 크게 */
.cb-chartp .cb-body { --u: calc(var(--u0) * 1.36); }
.cb-intro1 .cb-body, .cb-gloss1 .cb-body, .cb-sum .cb-body { --u: calc(var(--u0) * 1.24); }
.cb-letter .cb-body, .cb-closing .cb-body, .cb-tocp .cb-body { --u: calc(var(--u0) * 1.2); }

/* 쪽 틀 */
.cb-run { position: absolute; left: calc(var(--u) * 15); right: calc(var(--u) * 15); top: calc(var(--u) * 8); display: flex; justify-content: space-between; font-size: calc(var(--u) * 3.2); letter-spacing: 0.06em; color: var(--gray); }
.cb-frame { position: absolute; left: calc(var(--u) * 15); right: calc(var(--u) * 15); top: calc(var(--u) * 14); bottom: calc(var(--u) * 21); border: calc(var(--u) * 0.35) solid var(--gold); padding: calc(var(--u) * 9) calc(var(--u) * 8) calc(var(--u) * 7); }
.cb-body { height: 100%; overflow: hidden; display: flex; flex-direction: column; }
.cb-flow .cb-body { display: block; }
.cb-num { position: absolute; left: 0; right: 0; bottom: calc(var(--u) * 10); text-align: center; font-size: calc(var(--u) * 3.4); color: var(--gray); }
.cb-rule { display: block; width: calc(var(--u) * 10); height: calc(var(--u) * 0.45); background: var(--red); margin: calc(var(--u) * 4) 0 calc(var(--u) * 6); }

/* 표지 */
.cb-cover { text-align: center; }
.cb-cv-house { margin-top: calc(var(--u) * 20); font-size: calc(var(--u) * 3.4); letter-spacing: 0.5em; color: var(--ink2); }
.cb-cv-rule { display: block; width: calc(var(--u) * 13); height: calc(var(--u) * 0.4); margin: calc(var(--u) * 4.5) auto; background: var(--gold); }
.cb-cv-kicker { margin-top: calc(var(--u) * 9); font-size: calc(var(--u) * 4.2); letter-spacing: 0.55em; color: var(--red); }
.cb-cv-title { margin-top: calc(var(--u) * 5); font-size: calc(var(--u) * 9.6); font-weight: 700; letter-spacing: 0.12em; color: var(--ink); }
.cb-cv-who { position: absolute; left: 0; right: 0; bottom: calc(var(--u) * 37); }
.cb-cv-who p { font-size: calc(var(--u) * 5.2); letter-spacing: 0.1em; }
.cb-cv-who p b { font-size: calc(var(--u) * 6.2); font-weight: 700; letter-spacing: 0.15em; }
.cb-cv-who small { display: block; margin-top: calc(var(--u) * 3); font-size: calc(var(--u) * 3.3); color: var(--ink2); }
.cb-seal { display: inline-grid; place-items: center; width: calc(var(--u) * 13); height: calc(var(--u) * 13); background: #b8322a; color: #fbf1e6; border-radius: calc(var(--u) * 1.4); font: 700 calc(var(--u) * 9.4) / 1 "Noto Serif KR", serif; box-shadow: inset 0 0 0 calc(var(--u) * 0.6) rgba(255, 255, 255, 0.18); }
.cb-cover .cb-seal { position: absolute; right: calc(var(--u) * 23); bottom: calc(var(--u) * 36); }

/* 여는 글 · 차례 · 맺음 */
.cb-ltitle { margin-top: calc(var(--u) * 3); font-size: calc(var(--u) * 7.4); font-weight: 400; color: #6d3f55; letter-spacing: 0.04em; }
.cb-ltitle.is-ink { color: var(--ink); letter-spacing: 0.2em; }
.cb-lhead { margin-bottom: calc(var(--u) * 5); font-size: calc(var(--u) * 4.2); line-height: 1.85; color: var(--ink); }
.cb-lp { margin-bottom: calc(var(--u) * 5); font-size: calc(var(--u) * 4.1); line-height: 2; color: var(--ink2); }
.cb-lsign { margin-top: auto; text-align: right; font-size: calc(var(--u) * 4); color: var(--ink2); }
.cb-lsign b { color: var(--ink); letter-spacing: 0.1em; }
.cb-toc li { border-bottom: calc(var(--u) * 0.25) solid var(--line); }
.cb-toc li:first-child { border-top: calc(var(--u) * 0.45) solid var(--ink2); }
.cb-toc a { display: grid; grid-template-columns: calc(var(--u) * 17) auto 1fr auto; align-items: baseline; gap: calc(var(--u) * 2); padding: calc(var(--u) * 4.2) calc(var(--u) * 1); color: inherit; text-decoration: none; }
.cb-toc span { font-size: calc(var(--u) * 3.5); color: var(--red); }
.cb-toc b { font-size: calc(var(--u) * 4.3); font-weight: 400; }
.cb-toc i { border-bottom: calc(var(--u) * 0.3) dotted var(--gray); transform: translateY(calc(var(--u) * -1)); }
.cb-toc em { font-style: normal; font-size: calc(var(--u) * 3.6); color: var(--gray); min-width: calc(var(--u) * 6); text-align: right; }
.cb-toc-house { margin-top: auto; text-align: center; font-size: calc(var(--u) * 3.2); letter-spacing: 0.6em; color: var(--gray); }
.cb-colophon { margin-top: auto; }
.cb-colo-h { display: flex; justify-content: space-between; align-items: end; border-bottom: calc(var(--u) * 0.45) solid var(--red); padding-bottom: calc(var(--u) * 1.5); font-size: calc(var(--u) * 3.2); color: var(--gray); letter-spacing: 0.3em; }
.cb-colophon td, .cb-colophon th { padding: calc(var(--u) * 2.6) calc(var(--u) * 1); border-bottom: calc(var(--u) * 0.25) solid var(--line); text-align: left; font-size: calc(var(--u) * 3.5); }
.cb-colophon th { width: calc(var(--u) * 26); color: var(--gray); font-weight: 400; }

/* 편 표지 · 용신 쪽 */
.cb-dv, .cb-ys { position: absolute; left: 0; right: 0; top: calc(var(--u) * 26); text-align: center; }
.cb-dv-no { font-size: calc(var(--u) * 4.2); color: var(--red); letter-spacing: 0.08em; }
.cb-dv h2 { margin-top: calc(var(--u) * 4); font-size: calc(var(--u) * 8.4); font-weight: 700; letter-spacing: 0.06em; }
.cb-dv-sub { font-size: calc(var(--u) * 3.8); color: var(--ink2); letter-spacing: 0.08em; }
.cb-dv ul { width: calc(var(--u) * 92); margin: calc(var(--u) * 10) auto 0; }
.cb-dv li { padding: calc(var(--u) * 2.6) 0; border-bottom: calc(var(--u) * 0.25) solid rgba(179, 149, 102, 0.6); font-size: calc(var(--u) * 3.5); color: var(--ink2); }
.cb-dv-k { margin-top: calc(var(--u) * 10); font-size: calc(var(--u) * 3.5); color: var(--ink2); }
.cb-ys b { display: block; margin-top: calc(var(--u) * 4); font: 600 calc(var(--u) * 21) / 1.1 "Noto Serif KR", serif; }
.cb-ys small { font-size: calc(var(--u) * 3.6); letter-spacing: 0.3em; }
.cb-ys p:last-child { font-size: calc(var(--u) * 3.7); line-height: 2.1; color: var(--ink2); }

/* 본문 흐름 */
.cb-tblock { margin-bottom: calc(var(--u) * 6); }
.cb-ttl { font-size: calc(var(--u) * 7.2); font-weight: 700; letter-spacing: 0.02em; }
.cb-tblock .cb-rule { margin: calc(var(--u) * 3.5) 0; }
.cb-tsub { font-size: calc(var(--u) * 3.6); color: var(--gray); }
.cb-tsub b { color: var(--red); font-weight: 400; }
.cb-facts1 { margin-top: calc(var(--u) * 4); font-size: calc(var(--u) * 3.5); font-weight: 700; color: var(--ink); }
.cb-h { margin: calc(var(--u) * 7) 0 calc(var(--u) * 2); font-size: calc(var(--u) * 5); font-weight: 700; }
.cb-h::first-letter { color: var(--red); }
.cb-h .gz { color: var(--red); font-weight: 400; }
.cb-lead { margin-bottom: calc(var(--u) * 2.5); font-size: calc(var(--u) * 4.3); font-weight: 700; color: var(--ink2); line-height: 1.7; }
.cb-lead.is-s { font-size: calc(var(--u) * 4); font-weight: 400; color: var(--gray); }
.cb-flow .cb-body > p:not(.cb-lead):not(.cb-miss):not(.cb-tsub):not(.cb-facts1), .cb-text p { margin: 0 0 calc(var(--u) * 2); font-size: calc(var(--u) * 5.4); line-height: 2.05; text-indent: 0.9em; color: var(--ink); text-align: justify; }
.cb-flow .cb-body > p.is-cont { text-indent: 0; }
.cb-miss { font-size: calc(var(--u) * 4); color: var(--red); }
.cb-text .section-loading { margin: 8px 0 18px; }

/* 도표 공통 */
.cb-title { font-size: calc(var(--u) * 6.6); font-weight: 700; letter-spacing: 0.02em; }
.cb-sub { margin: calc(var(--u) * 1.8) 0 calc(var(--u) * 4.5); font-size: calc(var(--u) * 3.4); color: var(--gray); }
.cb-legend { margin-bottom: calc(var(--u) * 4); }
.cb-legend li { display: flex; align-items: baseline; gap: calc(var(--u) * 1.6); margin-bottom: calc(var(--u) * 1.4); font-size: calc(var(--u) * 3.1); color: var(--gray); }
.cb-legend b { color: var(--ink); white-space: nowrap; }
.cb-badge { display: inline-grid; place-items: center; flex: none; width: calc(var(--u) * 4); height: calc(var(--u) * 4); border-radius: 50%; background: var(--ink); color: #fff; font: 600 calc(var(--u) * 2.6) / 1 "Noto Serif KR", serif; font-style: normal; transform: translateY(calc(var(--u) * 0.5)); }
.cb-chart { font-family: "Noto Serif KR", "Gowun Batang", serif; font-size: calc(var(--u) * 3.1); }
.cb-chart b { font-weight: 600; }
.cb-note { margin-top: auto; padding-top: calc(var(--u) * 3.6); border-top: calc(var(--u) * 0.45) solid var(--ink); font-size: calc(var(--u) * 3.55); line-height: 1.85; color: var(--ink2); }
.cb-note b { margin-right: calc(var(--u) * 1.5); color: var(--red); }
.cb-gloss { margin-top: calc(var(--u) * 2.4); font-size: calc(var(--u) * 2.85); line-height: 1.7; color: var(--gray); }
.cb-gloss b { color: var(--ink); }
.cb-gloss.is-c { text-align: center; color: var(--ink); }
.cb-keys { display: flex; flex-wrap: wrap; gap: calc(var(--u) * 1.4) calc(var(--u) * 4); margin-top: calc(var(--u) * 2.4); font-size: calc(var(--u) * 2.9); color: var(--ink2); }
.cb-keys i[class^="k-"] { display: inline-block; width: calc(var(--u) * 7); height: calc(var(--u) * 2); margin-right: calc(var(--u) * 1.2); vertical-align: middle; }
.k-hap { border-bottom: calc(var(--u) * 0.6) solid var(--ink); }
.k-zig { background: linear-gradient(135deg, transparent 40%, var(--ink) 40% 60%, transparent 60%) 0 0 / calc(var(--u) * 2) 100%; }
.k-dot { border-bottom: calc(var(--u) * 0.6) dotted var(--ink); }
.k-thin { border-bottom: calc(var(--u) * 0.3) solid var(--gray); }
.k-j { background: repeating-linear-gradient(45deg, #9a958c 0 1px, transparent 1px 3px); border: 1px solid #77736c; }
.k-s { background: #c9a13d radial-gradient(#8c6d1f 0.6px, transparent 0.8px) 0 0 / 3px 3px; border: 1px solid #a8862e; }
.cb-cols2 { display: grid; grid-template-columns: 1fr 1fr; gap: calc(var(--u) * 1) calc(var(--u) * 5); font-size: calc(var(--u) * 2.9); }
.cb-glosslist { margin-top: calc(var(--u) * 3); color: var(--gray); }
.cb-glosslist b { color: var(--ink); }
.cb-h4 { margin: calc(var(--u) * 4) 0 calc(var(--u) * 2); font-size: calc(var(--u) * 3.6); font-weight: 700; }
.c-wood { color: #1f5c94; } .c-fire { color: #b5473a; } .c-earth { color: #a8862e; } .c-metal { color: #77736c; } .c-water { color: #2a2f38; }
.sw { display: inline-block; width: calc(var(--u) * 2.6); height: calc(var(--u) * 2.6); margin-right: calc(var(--u) * 0.8); vertical-align: -0.1em; border: 1px solid; }
.sw.el-wood { background: #1f5c94; border-color: #1f5c94; } .sw.el-fire { background: #b5473a; border-color: #b5473a; } .sw.el-earth { background: #c9a13d; border-color: #a8862e; } .sw.el-metal { background: repeating-linear-gradient(45deg, #bdbab3 0 1px, #f5f1e8 1px 3px); border-color: #77736c; } .sw.el-water { background: #2a2f38; border-color: #2a2f38; }

/* 오행 칸 */
.cb-cbox { position: relative; display: grid; place-items: center; width: 100%; padding: calc(var(--u) * 1.1) 0 calc(var(--u) * 1); border: calc(var(--u) * 0.45) solid; text-align: center; }
.cb-cbox b { font: 500 calc(var(--u) * 7.4) / 1.05 "Noto Serif KR", serif; }
.cb-cbox small { font-size: calc(var(--u) * 2.7); color: var(--ink2); }
.cb-cbox small strong { color: var(--ink); font-weight: 600; }
.cb-cbox.is-sm b { font-size: calc(var(--u) * 5.6); }
.cb-cbox.is-me { background: #faf8f2 !important; border: calc(var(--u) * 0.9) solid var(--ink) !important; }
.cb-gm { position: absolute; left: calc(var(--u) * 0.8); top: calc(var(--u) * 0.3); font-style: normal; font-size: calc(var(--u) * 2.4); color: var(--gray); }
.el-wood.cb-cbox, .cb-g8.el-wood, .cb-mini.el-wood { background: #ccd6dd; border-color: #1f5c94; }
.el-fire.cb-cbox, .cb-g8.el-fire, .cb-mini.el-fire { background: #ecd3c9; border-color: #b5473a; }
.el-earth.cb-cbox, .cb-g8.el-earth, .cb-mini.el-earth { background: #ede0c2; border-color: #a8862e; }
.el-metal.cb-cbox, .cb-g8.el-metal, .cb-mini.el-metal { background: #e2e0db; border-color: #7d7a73; }
.el-water.cb-cbox, .cb-g8.el-water, .cb-mini.el-water { background: #cbcbc8; border-color: #2a2f38; }

/* 여덟 글자 표 */
.cb-pillars th { padding: calc(var(--u) * 1) calc(var(--u) * 0.6); font-weight: 400; text-align: left; vertical-align: middle; }
.cb-pillars th b { display: block; font-size: calc(var(--u) * 3.2); }
.cb-pillars th small { display: block; font-size: calc(var(--u) * 2.6); }
.cb-pillars tr.hd th { text-align: center; padding-bottom: calc(var(--u) * 1.6); border-bottom: calc(var(--u) * 0.45) solid var(--ink); }
.cb-pillars tr.hd th:first-child { text-align: left; width: calc(var(--u) * 22); }
.cb-pillars td { padding: calc(var(--u) * 0.8) calc(var(--u) * 1); }
.cb-pillars tr.sub td, .cb-pillars tr.sub th { border-top: calc(var(--u) * 0.25) solid var(--line); }
.cb-pillars tr.sub:last-child td, .cb-pillars tr.sub:last-child th { border-bottom: calc(var(--u) * 0.45) solid var(--ink); }
.cb-pillars td.hz { text-align: center; font-size: calc(var(--u) * 4); letter-spacing: 0.3em; }
.cb-pillars td.st { text-align: center; font-size: calc(var(--u) * 3.3); font-weight: 600; }
.cb-eltab { margin-top: calc(var(--u) * 3); }
.cb-eltab th { font-weight: 400; color: var(--gray); text-align: left; padding-bottom: calc(var(--u) * 1); border-bottom: calc(var(--u) * 0.45) solid var(--ink); font-size: calc(var(--u) * 2.8); }
.cb-eltab td { padding: calc(var(--u) * 0.55) calc(var(--u) * 0.6); font-size: calc(var(--u) * 3); }
.cb-eltab td.el b { font-size: calc(var(--u) * 3.8); font-weight: 500; }
.cb-eltab td.gp small { color: var(--gray); }
.cb-eltab td.bar { width: calc(var(--u) * 50); }
.cb-eltab td.n { text-align: center; font-weight: 600; } .cb-eltab td.n2 { text-align: center; color: var(--gray); }
.cb-eltab td.role.is-y { font-weight: 700; }
.cb-bar { position: relative; display: block; height: calc(var(--u) * 3.4); }
.cb-bar::before { content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: var(--d); border: calc(var(--u) * 0.35) solid currentColor; }
.cb-bar i { position: absolute; left: 0; top: 0; bottom: 0; width: var(--s); background: currentColor; }
.cb-bar.el-wood { color: #1f5c94; } .cb-bar.el-fire { color: #b5473a; } .cb-bar.el-earth { color: #a8862e; } .cb-bar.el-metal { color: #7d7a73; } .cb-bar.el-water { color: #2a2f38; }
.cb-bar.el-fire i { background: repeating-linear-gradient(0deg, #c0483a 0 2px, #a9392e 2px 3px); }
.cb-bar.el-earth i { background: #c9a13d radial-gradient(#8c6d1f 0.7px, transparent 0.9px) 0 0 / 4px 4px; }
.cb-bar.el-metal i { background: repeating-linear-gradient(45deg, #9a958c 0 1px, transparent 1px 3px); }
.cb-axis { display: flex; justify-content: space-between; font-size: calc(var(--u) * 2.5); color: var(--gray); }
.cb-axis i { font-style: normal; }
.cb-yy { display: flex; justify-content: space-between; margin-top: calc(var(--u) * 2.4); padding: calc(var(--u) * 2) 0; border-top: calc(var(--u) * 0.25) solid var(--line); border-bottom: calc(var(--u) * 0.45) solid var(--ink); font-size: calc(var(--u) * 3.2); }
.cb-yy i { font-style: normal; letter-spacing: 0.05em; margin: 0 calc(var(--u) * 1.5); }

/* 관계 그림 */
.cb-heads th { font-weight: 400; text-align: center; padding-bottom: calc(var(--u) * 1); border-bottom: calc(var(--u) * 0.45) solid var(--ink); }
.cb-heads th b { display: block; font-size: calc(var(--u) * 3.1); } .cb-heads th small { display: block; font-size: calc(var(--u) * 2.6); }
.cb-heads th:first-child { width: calc(var(--u) * 20); }
.cb-relwrap { position: relative; padding-left: calc(var(--u) * 20); }
.cb-rowlab { position: absolute; left: 0; transform: translateY(-50%); font-size: calc(var(--u) * 3); line-height: 1.3; }
.cb-rowlab b, .cb-rowlab small { display: block; }
.cb-svg { display: block; width: 100%; height: auto; overflow: visible; font-family: "Noto Serif KR", serif; }
.cb-svg .ln-hap { fill: none; stroke: var(--ink); stroke-width: 0.6; }
.cb-svg .ln-zig { fill: none; stroke: var(--ink); stroke-width: 0.6; stroke-dasharray: 1.4 0.8; }
.cb-svg .ln-dot { fill: none; stroke: var(--ink); stroke-width: 0.5; stroke-dasharray: 0.5 0.9; }
.cb-svg .ln-thin { fill: none; stroke: var(--gray); stroke-width: 0.35; }
.cb-svg .ln-bold { fill: none; stroke: var(--ink); stroke-width: 1.1; }
.cb-svg .tx-l { font-size: 3px; font-weight: 600; text-anchor: middle; fill: var(--ink); paint-order: stroke; stroke: var(--paper); stroke-width: 1.2px; }
.cb-svg .tx-s { font-size: 2.6px; text-anchor: middle; fill: var(--gray); }
.cb-svg .tx-xs { font-size: 2.2px; text-anchor: middle; fill: var(--gray); }
.cb-svg .tx-b { font-size: 2.8px; font-weight: 600; text-anchor: middle; fill: var(--ink); }
.cb-svg .tx-red { font-size: 2.6px; fill: var(--red); text-anchor: start; }
.cb-mini { display: flex; align-items: center; justify-content: center; gap: 0.8px; width: 100%; height: 100%; border: 0.45px solid; font-family: "Noto Serif KR", serif; }
.cb-mini b { font-size: 6.6px; font-weight: 500; line-height: 1; }
.cb-mini small { font-size: 2.2px; color: var(--ink2); line-height: 1.2; text-align: left; }
.cb-mini small strong { color: var(--ink); }
.cb-mini em { font-style: normal; font-size: 2.2px; }
.cb-mini.is-me { background: #faf8f2 !important; border: 0.9px solid var(--ink) !important; }
.cb-sstab th { width: calc(var(--u) * 20); font-weight: 400; text-align: left; vertical-align: top; padding-top: calc(var(--u) * 1); }
.cb-sstab th b, .cb-sstab th small { display: block; }
.cb-sstab td { vertical-align: top; text-align: center; padding: calc(var(--u) * 1) calc(var(--u) * 0.6); font-size: calc(var(--u) * 2.8); line-height: 1.55; border-top: calc(var(--u) * 0.25) solid var(--line); }
.cb-sstab tr { border-top: calc(var(--u) * 0.45) solid var(--ink); }

/* 대운 열 장 */
.cb-daeun tr.hd th { font-weight: 400; font-size: calc(var(--u) * 2.8); color: var(--gray); text-align: left; border-bottom: calc(var(--u) * 0.45) solid var(--ink); padding-bottom: calc(var(--u) * 1); }
.cb-daeun td { padding: calc(var(--u) * 1) calc(var(--u) * 0.8); border-bottom: calc(var(--u) * 0.25) solid var(--line); vertical-align: middle; }
.cb-daeun td b, .cb-daeun td small { display: block; }
.cb-daeun td.age { position: relative; padding-left: calc(var(--u) * 4); }
.cb-daeun td.age b { font-size: calc(var(--u) * 3.4); }
.cb-daeun td.gz b { font: 500 calc(var(--u) * 4.8) / 1.1 "Noto Serif KR", serif; letter-spacing: 0.05em; }
.cb-daeun td.gz small { padding-left: calc(var(--u) * 2); }
.cb-daeun td.stg b { font-size: calc(var(--u) * 3.3); } .cb-daeun td.stg b span { font-weight: 400; color: var(--ink2); }
.cb-daeun td.wind { font-size: calc(var(--u) * 2.8); color: var(--ink2); text-align: right; }
.cb-daeun tr.is-now td { background: #ece2d6; }
.cb-now { position: absolute; left: calc(var(--u) * 0.2); top: 50%; width: calc(var(--u) * 3); height: calc(var(--u) * 3); transform: translateY(-50%); border-radius: 50%; border: calc(var(--u) * 0.5) solid var(--red); }
.cb-now::after { content: ""; position: absolute; inset: 25%; border-radius: 50%; background: var(--red); }
.cb-tag-now { display: inline-block; margin-left: calc(var(--u) * 1); font-style: normal; font-size: calc(var(--u) * 2.6); color: var(--red); font-weight: 600; }
.cb-tag-best { display: inline-block; margin-left: calc(var(--u) * 1); font-style: normal; font-size: calc(var(--u) * 2.5); color: var(--ink); }
.cb-arr { display: inline-block; font-style: normal; }
.cb-arr.is-up { width: calc(var(--u) * 7); height: calc(var(--u) * 2.4); background: var(--ink); clip-path: polygon(0 30%, 65% 30%, 65% 0, 100% 50%, 65% 100%, 65% 70%, 0 70%); }
.cb-arr.is-down { width: calc(var(--u) * 5); height: calc(var(--u) * 2.4); border: calc(var(--u) * 0.3) solid var(--ink); clip-path: polygon(0 50%, 40% 0, 40% 30%, 100% 30%, 100% 70%, 40% 70%, 40% 100%); background: transparent; box-shadow: inset 0 0 0 calc(var(--u) * 0.5) var(--ink); }
.cb-arr.is-calm { font-size: calc(var(--u) * 2.6); }
.cb-daeun td.arr { width: calc(var(--u) * 10); text-align: center; }

/* 바퀴 */
.cb-wheel { max-width: calc(var(--u) * 140); margin: 0 auto; }
.cb-wheel .ring { fill: none; stroke: #d9d1c3; stroke-width: 5; }
.cb-wheel .ring2 { fill: none; stroke: none; }
.cb-wheel .ag { fill: var(--paper); stroke: var(--ink2); stroke-width: 0.4; }
.cb-wheel .ag.is-past { stroke: var(--line); }
.cb-wheel .ag.is-on { fill: var(--red); stroke: var(--red); }
.cb-wheel .tx-ag { font-size: 2.6px; text-anchor: middle; fill: var(--ink); }
.cb-wheel .tx-ag.is-on { fill: #fff; font-weight: 700; }
.cb-wheel .tx-stg { font-size: 3.2px; font-weight: 600; text-anchor: middle; fill: var(--ink); }
.cb-wheel .tx-stg.is-on { fill: var(--red); }
.cb-wheel .tx-big { font-size: 8px; font-weight: 600; text-anchor: middle; fill: var(--ink); }

/* 배우자 자리 */
.cb-sp { display: grid; justify-items: center; gap: calc(var(--u) * 3); }
.cb-sp-me { display: flex; align-items: center; gap: calc(var(--u) * 2); width: calc(var(--u) * 70); }
.cb-sp-me .cb-cbox { width: calc(var(--u) * 16); }
.cb-sp-seat { display: grid; justify-items: center; width: calc(var(--u) * 40); padding: calc(var(--u) * 2); border: calc(var(--u) * 0.9) double var(--ink); background: #faf8f2; }
.cb-sp-seat > span { font-size: calc(var(--u) * 3.2); font-weight: 600; }
.cb-sp-seat .cb-cbox { width: calc(var(--u) * 24); margin: calc(var(--u) * 1) 0; }
.cb-sp-row { display: grid; grid-template-columns: repeat(3, 1fr); gap: calc(var(--u) * 6); width: 100%; }
.cb-sp-cell { position: relative; display: grid; justify-items: center; gap: calc(var(--u) * 0.8); opacity: 0.55; }
.cb-sp-cell.is-link { opacity: 1; }
.cb-sp-cell .cb-cbox { width: calc(var(--u) * 16); }
.cb-sp-cell em { font-style: normal; font-weight: 600; font-size: calc(var(--u) * 2.8); }
.cb-star { position: absolute; left: calc(var(--u) * 3); top: 0; font-style: normal; font-size: calc(var(--u) * 4); }
.cb-sp-list { margin-top: calc(var(--u) * 4); font-size: calc(var(--u) * 3); line-height: 1.8; border-top: calc(var(--u) * 0.25) solid var(--line); padding-top: calc(var(--u) * 2); }
.cb-sp-list b { font-weight: 700; }

/* 짝의 결 */
.cb-mate { display: grid; grid-template-columns: calc(var(--u) * 30) 1fr; gap: calc(var(--u) * 4); padding-bottom: calc(var(--u) * 3); border-bottom: calc(var(--u) * 0.45) solid var(--ink); border-top: calc(var(--u) * 0.45) solid var(--ink); padding-top: calc(var(--u) * 3); }
.cb-mate-seat { display: grid; justify-items: center; align-content: center; border: calc(var(--u) * 0.9) double var(--ink); height: calc(var(--u) * 30); }
.cb-mate-seat span { font-size: calc(var(--u) * 2.8); } .cb-mate-seat b { font: 500 calc(var(--u) * 13) / 1 "Noto Serif KR", serif; }
.cb-mate-traits { display: grid; grid-template-columns: 1fr 1fr; gap: calc(var(--u) * 1.5) calc(var(--u) * 3); align-content: start; }
.cb-mate-traits h4 { grid-column: 1 / -1; font-size: calc(var(--u) * 3.6); font-weight: 700; }
.cb-mate-traits p b { display: block; font-size: calc(var(--u) * 3.2); }
.cb-mate-traits p small { display: block; padding-left: calc(var(--u) * 2.2); font-size: calc(var(--u) * 2.6); }

/* 해 표(10년) · 달 표(12달) */
.cb-ytab, .cb-mgrid { margin-top: calc(var(--u) * 3); table-layout: fixed; }
.cb-ytab th, .cb-mgrid th { font-weight: 400; font-size: calc(var(--u) * 2.7); color: var(--ink2); text-align: left; padding: calc(var(--u) * 0.6) calc(var(--u) * 0.4); }
.cb-ytab th:first-child, .cb-mgrid th:first-child { width: calc(var(--u) * 22); }
.cb-ytab td, .cb-mgrid td { text-align: center; font-size: calc(var(--u) * 3); padding: calc(var(--u) * 0.6) 0; }
.cb-ytab tr.hd th:not(:first-child), .cb-mgrid tr.hd th:not(:first-child) { text-align: center; font-size: calc(var(--u) * 2.8); color: var(--ink); font-weight: 600; }
.cb-ytab tr.hd th.is-now { color: var(--red); border: calc(var(--u) * 0.4) solid var(--red); }
.cb-ytab tr.gz td { font: 500 calc(var(--u) * 3.6) / 1.15 "Noto Serif KR", serif; }
.cb-ytab tr.gz td small { display: block; font: 600 calc(var(--u) * 2.4) / 1.3 "Noto Serif KR", serif; color: var(--ink); }
.cb-ytab tr.tg td { font-size: calc(var(--u) * 2.5); line-height: 1.35; }
.cb-ytab tr.sum td, .cb-ytab tr.sum th { border-top: calc(var(--u) * 0.45) solid var(--ink); font-weight: 600; }
.cb-ytab td.is-box, .cb-mgrid td.is-box { border-left: calc(var(--u) * 0.35) solid var(--ink); border-right: calc(var(--u) * 0.35) solid var(--ink); }
.cb-ytab td.is-max { border-left-width: calc(var(--u) * 0.8); border-right-width: calc(var(--u) * 0.8); }
.cb-ytab tr.band td.dband { border: calc(var(--u) * 0.35) solid var(--ink2); background: #ebe5da; font: 500 calc(var(--u) * 3) / 1.6 "Noto Serif KR", serif; }
.cb-ytab tr.barrow td { height: calc(var(--u) * 22); vertical-align: bottom; }
.cb-ytab .bars span { display: inline-flex; flex-direction: column-reverse; gap: 1px; }
.cb-ytab .bars i { display: block; width: calc(var(--u) * 7); height: calc(var(--u) * 8.5); }
.cb-ytab .bars i.j { background: repeating-linear-gradient(45deg, #9a958c 0 1px, #efebe2 1px 3px); border: 1px solid #77736c; }
.cb-ytab .bars i.s { background: #c9a13d radial-gradient(#8c6d1f 0.7px, transparent 0.9px) 0 0 / 4px 4px; border: 1px solid #a8862e; }
.cb-ko { font: 600 calc(var(--u) * 3.6) / 1 "Noto Serif KR", serif; border: 1px solid var(--ink); padding: 0 1px; }
.cb-ytab.is-gui td { vertical-align: top; font-size: calc(var(--u) * 2.7); line-height: 1.5; border-left: calc(var(--u) * 0.25) solid var(--line); }
.cb-ytab.is-gui th { text-align: center !important; }
.cb-ytab.is-gui th small { display: block; }
.cb-ytab.is-gui .is-max { background: #e6ddcf; font-weight: 600; }
.cb-ytab.is-ten tr.stgbar td { height: calc(var(--u) * 12); vertical-align: bottom; }
.cb-ytab.is-ten tr.stgbar i { display: block; width: calc(var(--u) * 2.4); height: calc(var(--u) * 7 * 1); margin: 0 auto; border: 1px solid var(--ink2); background: linear-gradient(to top, var(--ink2) var(--h), transparent var(--h)); }
.cb-ytab.is-ten td.sm { font-size: calc(var(--u) * 2.5); }
.cb-mgrid tr.season td { font-size: calc(var(--u) * 2.7); color: var(--gray); border-bottom: calc(var(--u) * 0.25) solid var(--line); }
.cb-mgrid tr.season td.is-y { color: var(--ink); font-weight: 700; border-bottom: calc(var(--u) * 0.6) solid var(--ink); }
.cb-mgrid.is-sig td { font-size: calc(var(--u) * 3.2); }
.cb-mgrid.is-sig td.is-2 { font-weight: 700; }
.cb-mgrid.is-rows td small { display: block; font-size: calc(var(--u) * 2.5); }
.cb-mgrid tr.barrow td { height: calc(var(--u) * 12); vertical-align: bottom; }
.cb-vbar { display: inline-flex; flex-direction: column-reverse; gap: 1px; }
.cb-vbar i { display: block; width: calc(var(--u) * 4); height: calc(var(--u) * 3); background: var(--ink2); }
.cb-mgrid.is-gui td { vertical-align: top; font-size: calc(var(--u) * 2.6); line-height: 1.45; }
.cb-mgrid.is-gui .is-max { background: var(--ink); color: #fff; }
.cb-mgrid.is-gui th.is-max { color: #fff; }
.cb-linebox { position: relative; display: grid; grid-template-columns: calc(var(--u) * 22) 1fr; align-items: center; margin-top: calc(var(--u) * 1.5); }
.cb-linebox .lab b, .cb-linebox .lab small { display: block; }
.cb-linebox .lab b { font-size: calc(var(--u) * 3); }
.cb-ylab { display: flex; flex-direction: column; justify-content: space-between; height: 100%; font-size: calc(var(--u) * 2.5); color: var(--ink2); }
.cb-svg .ln-zero { stroke: var(--line); stroke-width: 0.35; }
.cb-svg .ln-wind { fill: none; stroke: var(--ink); stroke-width: 0.75; }
.cb-svg .ln-v { stroke: var(--ink); stroke-width: 0.7; }
.cb-svg .mk-up { fill: var(--ink); }
.cb-svg .mk-down { fill: var(--paper); stroke: var(--ink); stroke-width: 0.5; }
.cb-svg .mk-calm { fill: var(--ink2); }
.cb-svg .mk-ring { fill: none; stroke: var(--red); stroke-width: 0.7; }
.cb-mk { font-style: normal; display: inline-block; width: 1.1em; text-align: center; }
.cb-mk.is-calm { font-size: 0.85em; }

/* 재물 */
.cb-wealth th { width: calc(var(--u) * 20); font-weight: 400; text-align: left; font-size: calc(var(--u) * 3); }
.cb-wealth th small { display: block; }
.cb-wealth tr.hd th { text-align: center; font-weight: 600; width: auto; border-bottom: calc(var(--u) * 0.45) solid var(--ink); }
.cb-wealth tr.hd th:first-child { width: calc(var(--u) * 20); }
.cb-wealth td { text-align: center; padding: calc(var(--u) * 0.8); }
.cb-wealth td small { display: block; font-size: calc(var(--u) * 2.6); }
.cb-wbox { display: inline-grid; place-items: center; width: calc(var(--u) * 15); height: calc(var(--u) * 12); border: calc(var(--u) * 0.35) solid var(--ink2); background: #faf8f2; }
.cb-wbox b { font: 500 calc(var(--u) * 7) / 1 "Noto Serif KR", serif; }
.cb-wbox.is-jae { border-width: calc(var(--u) * 0.9); border-color: var(--ink); }
.cb-wealth td.go { font-size: calc(var(--u) * 2.7); font-weight: 600; text-align: right; }
.cb-wealth td.hid span { display: block; font-size: calc(var(--u) * 2.9); line-height: 1.6; color: var(--ink2); }
.cb-wealth td.hid span.is-jae { color: var(--ink); font-weight: 700; }
.cb-wealth td.hid i { display: inline-grid; place-items: center; width: calc(var(--u) * 4); height: calc(var(--u) * 4); margin-right: 2px; border: 1px solid var(--ink); border-radius: 50%; font-style: normal; font-size: calc(var(--u) * 2.4); }
.cb-wealth tr:last-child td, .cb-wealth tr:last-child th { border-bottom: calc(var(--u) * 0.45) solid var(--ink); }
.cb-flow3 > div { display: flex; align-items: stretch; gap: calc(var(--u) * 1.5); margin: calc(var(--u) * 2) 0; }
.cb-flow3 > div > span { flex: 1; display: grid; gap: 1px; padding: calc(var(--u) * 1.5) calc(var(--u) * 2); border: calc(var(--u) * 0.3) solid var(--ink2); border-left-width: calc(var(--u) * 1.4); }
.cb-flow3 > div > span.is-main { border-width: calc(var(--u) * 0.6); border-left-width: calc(var(--u) * 1.4); }
.cb-flow3 > div > span b { font-size: calc(var(--u) * 3.4); }
.cb-flow3 > div > span small { font-size: calc(var(--u) * 2.5); }
.cb-flow3 > div > i { align-self: center; font-style: normal; font-size: calc(var(--u) * 4); }
.cb-flow3 .el-wood { border-left-color: #1f5c94 !important; } .cb-flow3 .el-fire { border-left-color: #b5473a !important; } .cb-flow3 .el-earth { border-left-color: #c9a13d !important; } .cb-flow3 .el-metal { border-left-color: #9a958c !important; } .cb-flow3 .el-water { border-left-color: #2a2f38 !important; }

/* 십신 지도 · 직업 */
.cb-tgmap th { font-weight: 400; font-size: calc(var(--u) * 2.9); text-align: left; }
.cb-tgmap th small { display: block; }
.cb-tgmap tr.hd th { text-align: left; padding: calc(var(--u) * 1) calc(var(--u) * 0.8); border-top: calc(var(--u) * 1.2) solid; font-size: calc(var(--u) * 2.9); }
.cb-tgmap tr.hd th:first-child { border-top: 0; width: calc(var(--u) * 20); }
.cb-tgmap tr.hd th.el-wood { border-top-color: #1f5c94; } .cb-tgmap tr.hd th.el-fire { border-top-color: #b5473a; } .cb-tgmap tr.hd th.el-earth { border-top-color: #c9a13d; } .cb-tgmap tr.hd th.el-metal { border-top-color: #9a958c; } .cb-tgmap tr.hd th.el-water { border-top-color: #2a2f38; }
.cb-tgmap td { position: relative; padding: calc(var(--u) * 2) calc(var(--u) * 1); border-top: calc(var(--u) * 0.45) solid var(--ink); vertical-align: top; height: calc(var(--u) * 20); }
.cb-tgmap td b { display: block; font-size: calc(var(--u) * 3.2); }
.cb-tgmap td b small { font-weight: 400; }
.cb-tgmap td.is-seat { outline: calc(var(--u) * 0.9) double var(--ink); outline-offset: calc(var(--u) * -1.2); }
.cb-tgmap td em { display: block; font-style: normal; font-size: calc(var(--u) * 2.6); margin-top: calc(var(--u) * 1); }
.cb-tgmap .cb-tag-now { position: absolute; left: calc(var(--u) * 1); bottom: calc(var(--u) * -3.6); margin: 0; }
.cb-dots { letter-spacing: 0.08em; font-size: calc(var(--u) * 3); }
.cb-dots.is-o { color: var(--ink2); }
.cb-jobss { margin-top: calc(var(--u) * 5); }
.cb-jobss h4 { font-size: calc(var(--u) * 3.2); margin-bottom: calc(var(--u) * 1.5); }
.cb-jobss h4 small { font-weight: 400; }
.cb-dir { margin-bottom: calc(var(--u) * 2.5); padding: calc(var(--u) * 2.2) calc(var(--u) * 3); border: calc(var(--u) * 0.35) solid var(--ink2); border-left: calc(var(--u) * 1.6) solid; }
.cb-dir.is-main { border-width: calc(var(--u) * 0.8); border-left-width: calc(var(--u) * 1.6); }
.cb-dir.el-wood { border-left-color: #1f5c94; } .cb-dir.el-fire { border-left-color: #b5473a; } .cb-dir.el-earth { border-left-color: #c9a13d; } .cb-dir.el-metal { border-left-color: #9a958c; } .cb-dir.el-water { border-left-color: #2a2f38; }
.cb-dir > p:first-child { display: flex; justify-content: space-between; font-size: calc(var(--u) * 2.8); }
.cb-dir h4 { margin: calc(var(--u) * 1) 0; font-size: calc(var(--u) * 5); }
.cb-dir h4 span { font-size: calc(var(--u) * 3); font-weight: 400; }
.cb-dir p { font-size: calc(var(--u) * 2.9); line-height: 1.6; }
.cb-hbars th { text-align: left; font-weight: 600; font-size: calc(var(--u) * 3); width: calc(var(--u) * 22); padding: calc(var(--u) * 0.6) 0; }
.cb-hbars tr.hd th { width: auto; font-weight: 700; }
.cb-hbars td { font-size: calc(var(--u) * 2.9); }
.cb-hbar { display: inline-block; width: calc(var(--w) * 0.7); height: calc(var(--u) * 3); margin-right: calc(var(--u) * 1.5); vertical-align: middle; }
.cb-hbar.el-wood { background: #1f5c94; } .cb-hbar.el-fire { background: #b5473a; } .cb-hbar.el-earth { background: #c9a13d; } .cb-hbar.el-metal { background: repeating-linear-gradient(45deg, #9a958c 0 1px, transparent 1px 3px); border: 1px solid #77736c; } .cb-hbar.el-water { background: #2a2f38; }
.cb-season { margin-top: calc(var(--u) * 3); }
.cb-season tr.hd th { text-align: left; font-size: calc(var(--u) * 3); padding-bottom: calc(var(--u) * 1); }
.cb-season td { text-align: center; padding: calc(var(--u) * 0.5); }
.cb-season td small { display: block; font-size: calc(var(--u) * 2.6); }
.cb-season td span { display: block; margin-top: 2px; padding: 2px 0; font-size: calc(var(--u) * 2.5); border: 1px solid var(--line); }
.cb-season td.is-now { outline: calc(var(--u) * 0.6) solid var(--red); }
.cb-season td span.el-wood { border-color: #1f5c94; color: #1f5c94; } .cb-season td span.el-fire { border-color: #b5473a; color: #b5473a; } .cb-season td span.el-earth { border-color: #a8862e; color: #8c6d1f; } .cb-season td span.el-metal { border-color: #77736c; } .cb-season td span.el-water { border-color: #2a2f38; }

/* 몸 */
.cb-body2 { display: grid; grid-template-columns: calc(var(--u) * 52) 1fr; gap: calc(var(--u) * 3); }
.cb-man .man { fill: #faf8f2; stroke: var(--ink2); stroke-width: 0.6; }
.cb-man .org { stroke-width: 0.8; fill: #faf8f2; }
.cb-man .org.el-wood { stroke: #1f5c94; } .cb-man .org.el-fire { stroke: #b5473a; } .cb-man .org.el-earth { stroke: #a8862e; } .cb-man .org.el-metal { stroke: #77736c; } .cb-man .org.el-water { stroke: #2a2f38; }
.cb-man .org.is-many.el-wood { fill: #1f5c94; } .cb-man .org.is-many.el-fire { fill: #b5473a; } .cb-man .org.is-many.el-earth { fill: #c9a13d; } .cb-man .org.is-many.el-metal { fill: #9a958c; } .cb-man .org.is-many.el-water { fill: #2a2f38; }
.cb-man .org.is-none { stroke-dasharray: 1 0.8; }
.cb-man .tx-org { font-size: 3px; text-anchor: middle; fill: var(--ink); }
.cb-man .is-many + .tx-org { fill: #fff; }
.cb-orow { padding: calc(var(--u) * 1.2) 0; border-bottom: calc(var(--u) * 0.25) solid var(--line); }
.cb-orow p { display: flex; align-items: baseline; gap: calc(var(--u) * 1.5); font-size: calc(var(--u) * 3); }
.cb-orow p b { font-size: calc(var(--u) * 3.6); }
.cb-orow em { margin-left: auto; font-style: normal; }
.cb-orow small { margin-left: auto; }
.cb-deuk { margin-top: calc(var(--u) * 3); border-top: calc(var(--u) * 0.45) solid var(--ink); padding-top: calc(var(--u) * 1.5); font-size: calc(var(--u) * 3); }
.cb-deuk > div { display: grid; grid-template-columns: repeat(3, 1fr); margin-top: calc(var(--u) * 1.5); }
.cb-deuk > div span { padding: 0 calc(var(--u) * 1.5); border-left: calc(var(--u) * 0.25) solid var(--line); }
.cb-deuk em { display: block; font-style: normal; font-weight: 600; }

/* 귀인 */
.cb-gui4 td { vertical-align: top; text-align: center; padding: calc(var(--u) * 1.4) calc(var(--u) * 1); font-size: calc(var(--u) * 2.9); border-top: calc(var(--u) * 0.45) solid var(--ink); }
.cb-gui4 td > b, .cb-gui4 td > small { display: block; }
.cb-chip { display: block; margin: calc(var(--u) * 1) auto 0; width: 88%; padding: 1px 0; border: calc(var(--u) * 0.35) solid var(--ink); font-size: calc(var(--u) * 2.8); }
.cb-chip.is-none { border-style: dashed; color: var(--gray); }
.cb-gui4.is-ny td { text-align: left; font-size: calc(var(--u) * 2.7); line-height: 1.5; border-right: calc(var(--u) * 0.25) solid var(--line); }

/* 다섯 방향 */
.cb-five { position: relative; display: grid; grid-template-columns: repeat(3, 1fr); grid-template-areas: ". n ." "w c e" ". s ."; gap: calc(var(--u) * 1.5); width: calc(var(--u) * 120); margin: 0 auto calc(var(--u) * 3); }
.cb-five .n { grid-area: n; } .cb-five .w { grid-area: w; } .cb-five .c { grid-area: c; } .cb-five .e { grid-area: e; } .cb-five .s { grid-area: s; }
.cb-compass { position: absolute; left: 0; top: 0; width: calc(var(--u) * 36); height: calc(var(--u) * 24); font-size: calc(var(--u) * 2.6); }
.cb-compass span { position: absolute; }
.cb-compass span:nth-child(1) { left: 45%; top: 0; } .cb-compass span:nth-child(2) { left: 0; top: 40%; } .cb-compass span:nth-child(3) { right: 0; top: 40%; } .cb-compass span:nth-child(4) { left: 45%; bottom: 0; }
.cb-fd { padding: calc(var(--u) * 1.4) calc(var(--u) * 2); border: calc(var(--u) * 0.45) solid; font-size: calc(var(--u) * 2.6); min-height: calc(var(--u) * 21); }
.cb-fd p { display: flex; align-items: center; gap: calc(var(--u) * 1); font-size: calc(var(--u) * 3.2); }
.cb-fd p.cnt { margin-top: calc(var(--u) * 1); justify-content: space-between; font-size: calc(var(--u) * 2.6); }
.cb-fd p.cnt b { font-size: calc(var(--u) * 3.2); }
.cb-elc { margin-left: auto; display: inline-grid; place-items: center; width: calc(var(--u) * 4.4); height: calc(var(--u) * 4.4); border: 1px solid; border-radius: 50%; font-style: normal; font-size: calc(var(--u) * 2.8); }
.cb-fd.is-y { outline: calc(var(--u) * 0.6) solid var(--ink); outline-offset: calc(var(--u) * 0.6); background: #faf8f2 !important; }
.cb-fd.el-wood { background: #ccd6dd; border-color: #1f5c94; } .cb-fd.el-fire { background: #ecd3c9; border-color: #b5473a; } .cb-fd.el-earth { background: #ede0c2; border-color: #a8862e; } .cb-fd.el-metal { background: #e2e0db; border-color: #7d7a73; } .cb-fd.el-water { background: #cbcbc8; border-color: #2a2f38; }
.cb-life { border-top: calc(var(--u) * 0.45) solid var(--ink); border-bottom: calc(var(--u) * 0.45) solid var(--ink); }
.cb-life th { text-align: left; font-weight: 400; font-size: calc(var(--u) * 2.7); color: var(--gray); padding: calc(var(--u) * 0.6); width: calc(var(--u) * 12); }
.cb-life tr.hd th { width: auto; font-size: calc(var(--u) * 3); color: var(--ink); border-bottom: calc(var(--u) * 0.25) solid var(--line); }
.cb-life tr.hd th small { display: block; }
.cb-life td { font-size: calc(var(--u) * 3); padding: calc(var(--u) * 0.6); border-bottom: calc(var(--u) * 0.2) solid var(--line2); }

/* 열두 달 표 */
.cb-mtab th { font-weight: 600; font-size: calc(var(--u) * 2.8); text-align: left; border-bottom: calc(var(--u) * 0.45) solid var(--ink); padding-bottom: calc(var(--u) * 1); }
.cb-mtab th small { display: block; font-weight: 400; }
.cb-mtab td { padding: calc(var(--u) * 1) calc(var(--u) * 0.6); border-bottom: calc(var(--u) * 0.25) solid var(--line); font-size: calc(var(--u) * 3); }
.cb-mtab td.y { font-size: calc(var(--u) * 2.6); color: var(--gray); }
.cb-mtab td.gz b { font: 500 calc(var(--u) * 4.4) / 1 "Noto Serif KR", serif; }
.cb-mtab td.gz small { margin-left: calc(var(--u) * 1); }
.cb-mtab td.stg { white-space: nowrap; }
.cb-mtab td.stg i { display: inline-block; width: calc(var(--w) * 0.18); height: calc(var(--u) * 2.4); margin-left: calc(var(--u) * 1); border: 1px solid var(--ink2); background: #e6dfd2; vertical-align: middle; }

/* 신년운세 */
.cb-meet { max-width: calc(var(--u) * 164); }
.cb-yrbox { display: grid; place-items: center; width: 100%; height: 100%; border: 0.8px solid var(--red); background: #faf8f2; }
.cb-yrbox b { font: 500 7.4px / 1 "Noto Serif KR", serif; }
.cb-pill { display: grid; place-items: center; height: 100%; border: 0.35px solid var(--ink); border-radius: 3px; background: var(--paper); font: 600 2.4px / 1 "Noto Serif KR", serif; white-space: nowrap; }
.cb-dyrow { display: grid; grid-template-columns: calc(var(--u) * 16) repeat(3, 1fr); gap: calc(var(--u) * 1.5); align-items: center; margin-bottom: calc(var(--u) * 3); }
.cb-dyrow .lab b, .cb-dyrow .lab small { display: block; }
.cb-dy { position: relative; padding: calc(var(--u) * 1.5) calc(var(--u) * 2); border: calc(var(--u) * 0.35) solid var(--ink2); }
.cb-dy.is-now { border-width: calc(var(--u) * 0.9); }
.cb-dy b { display: block; font-size: calc(var(--u) * 3.6); }
.cb-dy .cb-mk { position: absolute; right: calc(var(--u) * 1.5); top: 50%; transform: translateY(-50%); }
.cb-linebox.is-y { grid-template-columns: calc(var(--u) * 16) 1fr; }
.cb-linebox.is-m { grid-template-columns: calc(var(--u) * 16) 1fr; }
.cb-linebox.is-wind { grid-template-columns: calc(var(--u) * 22) 1fr; height: calc(var(--u) * 40); }
.cb-linebox.is-sheet, .cb-linebox.is-thin { grid-template-columns: calc(var(--u) * 22) 1fr; }
.cb-facts th { text-align: left; font-weight: 600; font-size: calc(var(--u) * 3); padding: calc(var(--u) * 1.4) calc(var(--u) * 0.6); width: calc(var(--u) * 42); border-bottom: calc(var(--u) * 0.25) solid var(--line); }
.cb-facts td { font-size: calc(var(--u) * 3); padding: calc(var(--u) * 1.4) calc(var(--u) * 0.6); border-bottom: calc(var(--u) * 0.25) solid var(--line); }
.cb-facts tr:first-child th, .cb-facts tr:first-child td { border-top: calc(var(--u) * 0.45) solid var(--ink); }
.cb-facts tr:first-child th { color: var(--red); }
.cb-facts.is-sum th { color: var(--gray) !important; font-weight: 400; width: calc(var(--u) * 34); }
.cb-dhead { display: grid; grid-template-columns: calc(var(--u) * 62) 1fr; gap: calc(var(--u) * 4); align-items: center; }
.cb-dhead > p { font-size: calc(var(--u) * 2.9); line-height: 1.6; }
.cb-minip th { font-size: calc(var(--u) * 2.5); color: var(--gray); font-weight: 400; text-align: center; }
.cb-minip td { text-align: center; border: calc(var(--u) * 0.3) solid var(--ink2); font: 500 calc(var(--u) * 4.2) / 1.2 "Noto Serif KR", serif; background: #faf8f2; }
.cb-minip td small { font-size: calc(var(--u) * 2.2); margin-left: 1px; }
.cb-minip td.is-seat { border-width: calc(var(--u) * 0.9); border-color: var(--ink); }
.cb-scale th { text-align: left; font-weight: 600; font-size: calc(var(--u) * 3.1); padding: calc(var(--u) * 1.6) 0; border-bottom: calc(var(--u) * 0.25) solid var(--line); width: calc(var(--u) * 34); }
.cb-scale th small { margin-left: calc(var(--u) * 1); font-weight: 400; }
.cb-scale tr.hd th { font-weight: 400; color: var(--gray); width: auto; border-bottom: calc(var(--u) * 0.45) solid var(--ink); }
.cb-scale td { border-bottom: calc(var(--u) * 0.25) solid var(--line); }
.cb-sq { display: inline-flex; gap: 2px; vertical-align: middle; }
.cb-sq i { display: block; width: calc(var(--u) * 3.6); height: calc(var(--u) * 3.6); background: currentColor; border: 1px solid currentColor; }
.cb-sq.el-wood { color: #1f5c94; } .cb-sq.el-fire { color: #b5473a; } .cb-sq.el-earth { color: #c9a13d; } .cb-sq.el-metal { color: #9a958c; } .cb-sq.el-water { color: #2a2f38; }
.cb-sq.is-o i { background: transparent; color: #b5473a; border-color: #c49c90; }
.cb-plus { margin-left: calc(var(--u) * 1); color: var(--red); font-size: calc(var(--u) * 3.2); }
.cb-glance th { font-weight: 600; font-size: calc(var(--u) * 2.6); text-align: left; border-bottom: calc(var(--u) * 0.45) solid var(--ink); }
.cb-glance th small { display: block; font-weight: 400; }
.cb-glance td { padding: calc(var(--u) * 0.85) calc(var(--u) * 0.5); font-size: calc(var(--u) * 2.8); border-bottom: calc(var(--u) * 0.2) solid var(--line); }
.cb-glance td small { margin-left: 2px; }
.cb-glance td.sm { font-size: calc(var(--u) * 2.5); }
.cb-glance td.wbar { position: relative; width: calc(var(--u) * 22); }
.cb-glance td.wbar::before { content: ""; position: absolute; left: 50%; top: 20%; bottom: 20%; border-left: 1px solid var(--line); }
.cb-wb { position: absolute; top: 50%; left: 50%; height: calc(var(--u) * 1.6); transform: translateY(-50%); }
.cb-wb::after { content: ""; position: absolute; top: 50%; width: calc(var(--u) * 2.4); height: calc(var(--u) * 2.4); border-radius: 50%; transform: translate(-50%, -50%); }
.cb-wb { width: 0; }
.cb-wb.is-up::after, .cb-wb.is-calm::after { background: var(--ink); }
.cb-wb.is-down::after { background: var(--paper); border: 1px solid var(--ink); }
.cb-wb.is-calm::after { border-radius: 0; transform: translate(-50%, -50%) rotate(45deg) scale(0.8); }
.cb-wb { left: var(--x); }
.cb-glance td.sig { font-size: calc(var(--u) * 2.6); }
.cb-glance td.sig u { font-weight: 700; text-decoration-thickness: 1px; }

/* 처음 읽는 분께 */
.cb-intro { font-size: calc(var(--u) * 3.3); line-height: 1.8; color: var(--ink2); margin-bottom: calc(var(--u) * 3); }
.cb-intro.is-s { font-size: calc(var(--u) * 3); margin: calc(var(--u) * 2) 0; }
.cb-g8t th { font-weight: 400; font-size: calc(var(--u) * 3); text-align: left; width: calc(var(--u) * 22); }
.cb-g8t th b, .cb-g8t th small { display: block; }
.cb-g8t tr.hd th { text-align: center; width: auto; }
.cb-g8t tr.hd th:first-child { width: calc(var(--u) * 22); }
.cb-g8t td { position: relative; padding: calc(var(--u) * 0.8) calc(var(--u) * 0.8); text-align: center; }
.cb-g8 { display: grid; place-items: center; padding: calc(var(--u) * 1) 0; border: calc(var(--u) * 0.35) solid var(--ink2); background: #faf8f2; }
.cb-g8 b { font: 500 calc(var(--u) * 6.4) / 1.05 "Noto Serif KR", serif; }
.cb-g8 small { font-size: calc(var(--u) * 2.5); line-height: 1.35; }
.cb-g8 small strong { color: var(--ink); }
.cb-g8.is-me { border: calc(var(--u) * 0.9) solid var(--ink); }
.cb-g8tag { position: absolute; left: 50%; bottom: calc(var(--u) * -2.4); transform: translateX(-50%); padding: 0 calc(var(--u) * 1.4); border: calc(var(--u) * 0.35) solid var(--ink); border-radius: 999px; background: #faf8f2; font-style: normal; font-size: calc(var(--u) * 2.5); white-space: nowrap; z-index: 1; }
.cb-cap-r { margin-top: calc(var(--u) * 4); text-align: right; font-size: calc(var(--u) * 2.9); }
.cb-promise { display: grid; grid-template-columns: 1fr 1fr; gap: calc(var(--u) * 1.4) calc(var(--u) * 4); font-size: calc(var(--u) * 2.9); padding-bottom: calc(var(--u) * 3); border-bottom: calc(var(--u) * 0.45) solid var(--ink); margin-bottom: calc(var(--u) * 3); }
.cb-promise em { font-style: normal; color: var(--gray); margin-right: calc(var(--u) * 1); }
.cb-reddot { display: inline-block; width: calc(var(--u) * 3); height: calc(var(--u) * 3); border-radius: 50%; border: calc(var(--u) * 0.5) solid var(--red); background: radial-gradient(var(--red) 35%, transparent 38%); vertical-align: -0.15em; }
.cb-term { display: grid; grid-template-columns: calc(var(--u) * 12) 1fr; gap: calc(var(--u) * 2); margin-bottom: calc(var(--u) * 3); font-size: calc(var(--u) * 3.05); line-height: 1.7; color: var(--ink2); }
.cb-term b { color: var(--ink); font-size: calc(var(--u) * 3.5); }
.cb-term .hz { color: var(--red); margin-right: calc(var(--u) * 1); }
.cb-term .bl { font-size: calc(var(--u) * 2.9); color: var(--ink2); }
.cb-ticon svg { width: 100%; height: auto; }
.cb-ticon .ic { fill: var(--ink2); }
.cb-ticon .ic-o { fill: none; stroke: var(--ink2); stroke-width: 0.6; }
.cb-ticon .ic-l { fill: none; stroke: var(--ink2); stroke-width: 0.7; }
.cb-ticon .ic-b { fill: none; stroke: var(--ink); stroke-width: 0.8; }
.cb-ticon .ic-r { fill: var(--red); }
.cb-time { margin-top: calc(var(--u) * 4); font-size: calc(var(--u) * 2.8); }
.cb-time > div { display: grid; grid-template-columns: calc(var(--u) * 14) repeat(10, 1fr); gap: calc(var(--u) * 0.8); align-items: center; margin-bottom: calc(var(--u) * 1.5); }
.cb-time > div:first-child { grid-template-columns: calc(var(--u) * 14) repeat(5, 1fr); }
.cb-time > div.is-m { grid-template-columns: calc(var(--u) * 14) 1fr; }
.cb-time .lab b, .cb-time .lab small { display: block; }
.cb-tchip { padding: calc(var(--u) * 0.8) 0; text-align: center; border: calc(var(--u) * 0.3) solid var(--line); }
.cb-tchip.is-now { border: calc(var(--u) * 0.7) solid var(--ink); font-weight: 600; }
.cb-tchip.is-red { border-color: var(--red); color: var(--red); font-weight: 700; }
.cb-use { font-size: calc(var(--u) * 2.9); line-height: 1.9; }
.cb-sum8 th { font-weight: 400; font-size: calc(var(--u) * 2.9); text-align: center; padding-bottom: calc(var(--u) * 1); }
.cb-sum8 td { padding: calc(var(--u) * 0.8); }
.cb-sum8 .cb-g8 b { font-size: calc(var(--u) * 7); }
.cb-sum8 + .cb-facts { margin-top: calc(var(--u) * 3); }

/* 수묵 서책 낱권에 끼운 도표 쪽: 서책 종이 색에 맞춘다 */
.cb-in-bk .cb-page { background: linear-gradient(180deg, #f7f5f0 0%, #f3f1ec 60%, #eeece8 100%); }
.bk-screen .cb-in-bk { max-width: none; margin: 0 0 16px; }
.bk-screen .cb-in-bk .cb-page { margin: 0; }
