/* 연애(1인) · 궁합(2인) 책 판형 — A4, --u 는 인쇄본에서 1mm */
.rm-book { container-type: inline-size; word-break: keep-all; -webkit-print-color-adjust: exact; print-color-adjust: exact; }
.rm-book * { box-sizing: border-box; }
:where(.rm-book) :where(p, h1, h2, h3, h4, ol, ul) { margin: 0; padding: 0; }
:where(.rm-book) :where(ol, ul) { list-style: none; }
.rm-book a { color: inherit; text-decoration: none; }
.rm-page { --u0: calc(100cqw / 210); --u: var(--u0); position: relative; width: 100%; overflow: hidden; font-size: calc(var(--u) * 3.6); }
.rm-fit { position: absolute; left: 0; right: 0; top: 0; bottom: 0; overflow: hidden; }

/* 화면 */
.rm-screen { max-width: 780px; margin: 0 auto; overflow-x: auto; }
.rm-screen .rm-page { margin: 0 0 16px; box-shadow: 0 1px 2px rgba(60, 20, 40, 0.06), 0 10px 26px rgba(60, 20, 40, 0.1); }
.rm-screen .rm-page:not(.rm-flow) { --u0: max(calc(100cqw / 210), 2.3px); width: calc(var(--u) * 210); height: calc(var(--u) * 297); }
.rm-screen .rm-flow { min-height: calc(var(--u) * 297); }
.rm-screen .rm-pno { display: none; }

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

/* ============ 1인 · 연애운 ============ */
.rm-love { font-family: "Noto Serif KR", "Gowun Batang", "MaruBuri", serif; color: #efe7f3; }
.rm-script { font-family: "Great Vibes", "Snell Roundhand", cursive; font-weight: 400; }
.rm-night { background: #0e0a1a url(/assets/rm/love-night.jpg) center 70% / cover no-repeat; }
.rm-night::before { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(13, 9, 26, 0.93) 0%, rgba(22, 13, 36, 0.9) 55%, rgba(28, 12, 30, 0.86) 100%); }
.rm-night > * { position: relative; }
.rm-night > .rm-fit { position: absolute; padding: calc(var(--u) * 14) calc(var(--u) * 14) calc(var(--u) * 18); }
.rm-n-kick { text-align: center; font-size: calc(var(--u) * 3); letter-spacing: 0.45em; color: #d9b26a; }
.rm-n-kline { display: inline-block; padding-bottom: calc(var(--u) * 1); border-bottom: calc(var(--u) * 0.3) solid #d9b26a; }
.rm-n-title { margin-top: calc(var(--u) * 3); text-align: center; font-size: calc(var(--u) * 8.4); font-weight: 600; color: #fff; letter-spacing: 0.04em; }
.rm-n-sub { margin-top: calc(var(--u) * 2.4); text-align: center; font-size: calc(var(--u) * 3.3); color: #a99bb8; }
.rm-n-foot { position: absolute; left: 0; right: 0; bottom: calc(var(--u) * 9); text-align: center; font-size: calc(var(--u) * 2.8); letter-spacing: 0.3em; color: #7d6f8e; }
.rm-pill { display: inline-block; padding: calc(var(--u) * 0.6) calc(var(--u) * 2.6); border: calc(var(--u) * 0.3) solid var(--c); border-radius: calc(var(--u) * 9); font-size: calc(var(--u) * 2.7); color: var(--c); background: rgba(0, 0, 0, 0.25); }
.rm-bar { display: block; position: relative; height: calc(var(--u) * 1.3); border-radius: calc(var(--u) * 1); background: rgba(255, 255, 255, 0.08); overflow: hidden; }
.rm-bar > i { position: absolute; left: 0; top: 0; bottom: 0; border-radius: calc(var(--u) * 1); }
.rm-bar.is-pink > i { background: linear-gradient(90deg, #e3466f, #ff7aa0); }

/* 표지 */
.rm-l-cover { background: #0b1322 url(/assets/rm/love-cover.jpg) center 46% / cover no-repeat; color: #fff; text-align: center; }
.rm-lc-kick { position: absolute; left: 0; right: 0; top: calc(var(--u) * 14); font-size: calc(var(--u) * 3); letter-spacing: 0.55em; color: #f0d8e6; }
.rm-lc-title { position: absolute; left: 0; right: 0; top: calc(var(--u) * 21); font-size: calc(var(--u) * 11.5); font-weight: 700; letter-spacing: 0.06em; text-shadow: 0 0 calc(var(--u) * 6) rgba(0, 0, 0, 0.45); }
.rm-lc-title small { display: block; margin-top: calc(var(--u) * 1.4); font-size: calc(var(--u) * 5); font-weight: 500; letter-spacing: 0.1em; color: #f3eaf3; }
.rm-lc-who { position: absolute; left: calc(var(--u) * 13); right: calc(var(--u) * 13); bottom: calc(var(--u) * 34); height: calc(var(--u) * 19); display: flex; align-items: center; justify-content: center; gap: calc(var(--u) * 5); border: calc(var(--u) * 0.3) solid rgba(255, 255, 255, 0.18); border-radius: calc(var(--u) * 4); background: rgba(8, 12, 26, 0.6); }
.rm-lc-who b { font-size: calc(var(--u) * 6.4); font-weight: 600; }
.rm-lc-who i { width: calc(var(--u) * 0.3); height: calc(var(--u) * 6); background: rgba(255, 255, 255, 0.35); }
.rm-lc-who span { font-size: calc(var(--u) * 3.2); color: #c9c3d8; }
.rm-lc-tag { position: absolute; left: 0; right: 0; bottom: calc(var(--u) * 15); font-size: calc(var(--u) * 3.1); line-height: 1.9; color: #b9b3c8; }

/* 네 기둥 */
.rm-pcs { display: grid; grid-template-columns: repeat(4, 1fr); gap: calc(var(--u) * 3.4); margin-top: calc(var(--u) * 11); }
.rm-pc { text-align: center; }
.rm-pcl-en { font-size: calc(var(--u) * 2.5); letter-spacing: 0.3em; color: #7d7090; }
.rm-pc-ko { margin: calc(var(--u) * 1.2) 0 calc(var(--u) * 2.2); font-size: calc(var(--u) * 3.1); color: #d8cfe2; }
.rm-pc.is-me .rm-pc-ko { color: #ff6f91; }
.rm-pc-box { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: calc(var(--u) * 1.8); height: calc(var(--u) * 40); border: calc(var(--u) * 0.3) solid rgba(255, 255, 255, 0.14); border-radius: calc(var(--u) * 3.2); background: rgba(255, 255, 255, 0.035); }
.rm-pc.is-me .rm-pc-box { border: calc(var(--u) * 0.5) solid #ff5c8a; box-shadow: 0 0 calc(var(--u) * 5) rgba(255, 92, 138, 0.35); background: rgba(255, 92, 138, 0.06); }
.rm-pc-box b { font-size: calc(var(--u) * 10.5); font-weight: 500; line-height: 1; }
.rm-pc-box b.is-none { color: #6b6080; }
.rm-pc-box i { width: calc(var(--u) * 6); height: calc(var(--u) * 0.25); background: rgba(255, 255, 255, 0.2); }
.rm-pc .rm-pill { margin-top: calc(var(--u) * 2.6); }
.rm-id { display: flex; flex-direction: column; justify-content: center; min-height: calc(var(--u) * 118); margin-top: calc(var(--u) * 11); padding: calc(var(--u) * 12) calc(var(--u) * 10); border: calc(var(--u) * 0.3) solid rgba(255, 255, 255, 0.1); border-radius: calc(var(--u) * 5); background: radial-gradient(60% 50% at 90% 10%, rgba(255, 92, 138, 0.16), transparent), rgba(255, 255, 255, 0.03); }
.rm-id-head { display: flex; align-items: center; gap: calc(var(--u) * 3.4); padding-bottom: calc(var(--u) * 4); border-bottom: calc(var(--u) * 0.3) solid rgba(255, 92, 138, 0.3); }
.rm-id-dot { display: grid; place-items: center; width: calc(var(--u) * 9.5); height: calc(var(--u) * 9.5); border-radius: 50%; background: linear-gradient(135deg, #ff6f91, #e33b6d); font-size: calc(var(--u) * 4.6); color: #fff; box-shadow: 0 0 calc(var(--u) * 4) rgba(255, 92, 138, 0.5); }
.rm-id-head b { display: block; font-size: calc(var(--u) * 4.2); font-weight: 600; color: #fff; }
.rm-id-head small { display: block; margin-top: calc(var(--u) * 0.8); font-size: calc(var(--u) * 2.6); color: #9a8daa; }
.rm-id > p { margin-top: calc(var(--u) * 6); font-size: calc(var(--u) * 3.9); line-height: 2.05; color: #cfc4da; }
.rm-id strong { color: #ff8fab; font-weight: 600; }
.rm-id em { font-style: normal; color: #ff8fab; font-weight: 600; }

/* 다섯 가지 에너지 */
.rm-en-big { width: calc(var(--u) * 32); height: calc(var(--u) * 32); margin: calc(var(--u) * 7) auto 0; border-radius: 50%; display: flex; flex-direction: column; align-items: center; justify-content: center; border: calc(var(--u) * 0.4) solid rgba(255, 255, 255, 0.12); background: radial-gradient(circle, rgba(255, 255, 255, 0.05), rgba(0, 0, 0, 0.2)); box-shadow: 0 0 calc(var(--u) * 7) color-mix(in srgb, var(--c) 45%, transparent); }
.rm-en-big b { font-size: calc(var(--u) * 14); font-weight: 600; line-height: 1; color: var(--c); }
.rm-en-big small { margin-top: calc(var(--u) * 1.2); font-size: calc(var(--u) * 2.5); color: #a99bb8; }
.rm-en-desc { margin-top: calc(var(--u) * 4.5); text-align: center; font-size: calc(var(--u) * 3.2); line-height: 1.9; color: #b7aac6; }
.rm-en-list { margin-top: calc(var(--u) * 6); display: grid; gap: calc(var(--u) * 2.6); }
.rm-en-list li { display: grid; grid-template-columns: calc(var(--u) * 8) 1fr calc(var(--u) * 7); grid-template-rows: auto auto; column-gap: calc(var(--u) * 3); align-items: center; padding: calc(var(--u) * 2.8) calc(var(--u) * 4); border: calc(var(--u) * 0.3) solid rgba(255, 255, 255, 0.08); border-radius: calc(var(--u) * 3); background: rgba(255, 255, 255, 0.03); }
.rm-en-list li.is-zero { opacity: 0.45; }
.rm-en-ic { grid-row: span 2; display: grid; place-items: center; width: calc(var(--u) * 7.5); height: calc(var(--u) * 7.5); border-radius: 50%; border: calc(var(--u) * 0.3) solid color-mix(in srgb, var(--c) 60%, transparent); color: var(--c); font-size: calc(var(--u) * 3.4); }
.rm-en-list p { font-size: calc(var(--u) * 3.1); color: #e9e1f0; }
.rm-en-list p small { margin-left: calc(var(--u) * 1.6); font-size: calc(var(--u) * 2.4); color: #8f829f; }
.rm-en-list p em { margin-left: calc(var(--u) * 1.4); font-style: normal; color: #ff8fab; font-size: calc(var(--u) * 2.6); }
.rm-en-list .rm-bar { margin-top: calc(var(--u) * 1.6); }
.rm-en-list strong { grid-row: 1 / span 2; grid-column: 3; text-align: right; font-size: calc(var(--u) * 4.6); font-weight: 500; }
.rm-yy { margin-top: calc(var(--u) * 7); padding: calc(var(--u) * 4.5) calc(var(--u) * 5); border: calc(var(--u) * 0.3) solid rgba(255, 255, 255, 0.1); border-radius: calc(var(--u) * 3.4); background: rgba(255, 255, 255, 0.03); }
.rm-yy-h { font-size: calc(var(--u) * 3.1); font-weight: 600; color: #fff; }
.rm-yy-row { display: flex; align-items: center; gap: calc(var(--u) * 4); margin-top: calc(var(--u) * 3.6); }
.rm-yy-row span { display: flex; flex-direction: column; align-items: center; font-size: calc(var(--u) * 6); line-height: 1; }
.rm-yy-row span small { margin-top: calc(var(--u) * 1.2); font-size: calc(var(--u) * 2.3); color: #9a8daa; }
.rm-yy-row .is-yang { color: #ff8fab; }
.rm-yy-row .is-yin { color: #66c2ff; }
.rm-yy-bar { flex: 1; position: relative; height: calc(var(--u) * 2); border-radius: calc(var(--u) * 1); background: #4aa9f0; overflow: hidden; }
.rm-yy-bar > i { position: absolute; left: 0; top: 0; bottom: 0; background: #ff6f91; }

/* 십신 */
.rm-ps-top { display: flex; justify-content: center; gap: calc(var(--u) * 5); margin-top: calc(var(--u) * 7); }
.rm-ps-c { width: calc(var(--u) * 30); height: calc(var(--u) * 30); border-radius: 50%; display: flex; flex-direction: column; align-items: center; justify-content: center; border: calc(var(--u) * 0.3) solid rgba(255, 111, 145, 0.35); background: radial-gradient(circle, rgba(255, 111, 145, 0.1), rgba(0, 0, 0, 0.25)); }
.rm-ps-c b { font-size: calc(var(--u) * 8.4); font-weight: 600; color: #ff7c9c; line-height: 1.1; }
.rm-ps-c small { margin-top: calc(var(--u) * 1); font-size: calc(var(--u) * 2.2); color: #a99bb8; }
.rm-ps-h { margin-top: calc(var(--u) * 8); font-size: calc(var(--u) * 3.6); font-weight: 600; color: #fff; }
.rm-ps-h::before { content: ""; display: inline-block; width: calc(var(--u) * 7); height: calc(var(--u) * 0.3); margin-right: calc(var(--u) * 2.4); vertical-align: middle; background: #ff6f91; }
.rm-ps-list { margin-top: calc(var(--u) * 4); display: grid; gap: calc(var(--u) * 2.6); }
.rm-ps-list li { display: flex; gap: calc(var(--u) * 3.6); align-items: center; padding: calc(var(--u) * 3.2) calc(var(--u) * 4); border: calc(var(--u) * 0.3) solid rgba(255, 111, 145, 0.18); border-radius: calc(var(--u) * 3); background: rgba(255, 111, 145, 0.05); }
.rm-ps-list li.is-zero { opacity: 0.5; }
.rm-ps-list li > div { flex: 1; }
.rm-ps-ic { flex: none; display: grid; place-items: center; width: calc(var(--u) * 8); height: calc(var(--u) * 8); border-radius: 50%; border: calc(var(--u) * 0.3) solid rgba(255, 111, 145, 0.4); color: #ffb3c6; font-size: calc(var(--u) * 3.6); }
.rm-ps-list p { display: flex; align-items: baseline; gap: calc(var(--u) * 1.6); font-size: calc(var(--u) * 3.3); color: #fff; }
.rm-ps-list p small { font-size: calc(var(--u) * 2.4); color: #9a8daa; }
.rm-ps-list p strong { margin-left: auto; font-size: calc(var(--u) * 4.4); font-weight: 500; color: #ffd0dc; }
.rm-ps-list .rm-ps-d { display: block; margin-top: calc(var(--u) * 0.8); font-size: calc(var(--u) * 2.6); color: #b3a6c2; }
.rm-ps-list .rm-bar { margin-top: calc(var(--u) * 2); }

/* 분홍 쪽 */
.rm-pink { background: #fbf0f2 url(/assets/rm/love-pink.jpg) center / cover no-repeat; color: #3d3238; }
.rm-pink::before { content: ""; position: absolute; inset: 0; background: rgba(253, 246, 247, 0.6); }
.rm-pink.rm-lch { background: radial-gradient(120% 45% at 50% 0%, #fbe3ea 0%, #fdf1f4 45%, #fffafb 100%); }
.rm-pink.rm-lch::before { display: none; }
.rm-pink > * { position: relative; }
.rm-pink > .rm-fit { position: absolute; }
.rm-hearts { text-align: center; font-size: calc(var(--u) * 2.8); letter-spacing: 0.6em; color: #e8889f; }
.rm-hearts.is-line { display: flex; align-items: center; justify-content: center; gap: calc(var(--u) * 2); }
.rm-hearts.is-line i { width: calc(var(--u) * 12); height: calc(var(--u) * 0.25); background: #e7b8c4; }
.rm-l-toc .rm-fit { padding: calc(var(--u) * 16) calc(var(--u) * 22) calc(var(--u) * 14); }
.rm-toc-script { text-align: center; font-size: calc(var(--u) * 11); color: #d63d6c; }
.rm-l-toc .rm-hearts { margin-top: calc(var(--u) * 2); }
.rm-toc-h { margin-top: calc(var(--u) * 3); text-align: center; font-size: calc(var(--u) * 4.4); font-weight: 500; color: #4b3a42; }
.rm-toc-list { margin-top: calc(var(--u) * 15); }
.rm-toc-list li { display: flex; align-items: baseline; gap: calc(var(--u) * 4); padding: calc(var(--u) * 5) 0 calc(var(--u) * 4.4); border-bottom: calc(var(--u) * 0.25) solid rgba(214, 61, 108, 0.16); }
.rm-toc-list .rm-script { flex: none; width: calc(var(--u) * 19); font-size: calc(var(--u) * 6.4); color: #d63d6c; }
.rm-toc-list b { display: block; font-size: calc(var(--u) * 4.2); font-weight: 500; color: #3f3037; }
.rm-toc-list small { display: block; margin-top: calc(var(--u) * 1.6); font-size: calc(var(--u) * 2.7); color: #9c8a92; }
.rm-toc-foot { position: absolute; left: 0; right: 0; bottom: calc(var(--u) * 14); text-align: center; font-size: calc(var(--u) * 2.9); color: #ad98a2; }
.rm-l-div { text-align: center; }
.rm-div-script { margin-top: calc(var(--u) * 88); font-size: calc(var(--u) * 17); color: #d63d6c; }
.rm-l-div .rm-hearts { margin-top: calc(var(--u) * 2); }
.rm-div-title { margin-top: calc(var(--u) * 12); font-size: calc(var(--u) * 7.6); font-weight: 500; color: #3f3037; letter-spacing: 0.06em; }
.rm-div-sub { margin-top: calc(var(--u) * 3.4); font-size: calc(var(--u) * 3.5); color: #93808a; }
.rm-div-foot { margin-top: calc(var(--u) * 16); font-size: calc(var(--u) * 2.8); letter-spacing: 0.3em; color: #b8a2ac; }
/* 본문 쪽 */
.rm-lch-cont { display: none; position: absolute; left: calc(var(--u) * 14); right: calc(var(--u) * 14); top: calc(var(--u) * 10); padding-bottom: calc(var(--u) * 3); border-bottom: calc(var(--u) * 0.25) solid rgba(214, 61, 108, 0.2); text-align: center; font-size: calc(var(--u) * 3); color: #8a7480; }
.rm-lch-cont .rm-cnt { color: #c99aa8; }
.rm-lch-first { position: absolute; left: 0; right: 0; top: calc(var(--u) * 11); text-align: center; }
.rm-lch-code { font-size: calc(var(--u) * 3.6); font-style: italic; color: #c9a24f; letter-spacing: 0.1em; }
.rm-lch-title { margin-top: calc(var(--u) * 2.6); padding: 0 calc(var(--u) * 14); font-size: calc(var(--u) * 6); font-weight: 500; color: #4b3a42; line-height: 1.45; }
.rm-love .rm-card { position: absolute; left: calc(var(--u) * 11); right: calc(var(--u) * 11); top: calc(var(--u) * 36); bottom: calc(var(--u) * 22); padding: calc(var(--u) * 9) calc(var(--u) * 9) calc(var(--u) * 8); border-radius: calc(var(--u) * 1.6); background: rgba(255, 255, 255, 0.86); box-shadow: 0 calc(var(--u) * 0.6) calc(var(--u) * 3) rgba(214, 61, 108, 0.06); }
.rm-love .rm-page.is-cont .rm-card { top: calc(var(--u) * 21); }
.rm-love .rm-page.is-cont .rm-lch-first { display: none; }
.rm-love .rm-page.is-cont .rm-lch-cont { display: block; }
.rm-corner { position: absolute; width: calc(var(--u) * 3); height: calc(var(--u) * 3); border-color: #d8c4cb; border-style: solid; }
.rm-corner.is-a { left: calc(var(--u) * 2.4); top: calc(var(--u) * 2.4); border-width: calc(var(--u) * 0.25) 0 0 calc(var(--u) * 0.25); }
.rm-corner.is-b { right: calc(var(--u) * 2.4); bottom: calc(var(--u) * 2.4); border-width: 0 calc(var(--u) * 0.25) calc(var(--u) * 0.25) 0; }
.rm-text { height: 100%; overflow: hidden; }
.rm-love .rm-text p { font-size: calc(var(--u) * 4.25); line-height: 2.05; text-indent: 1em; text-align: justify; color: #3b3036; margin: 0 0 calc(var(--u) * 3.4); }
.rm-love .rm-text p.is-cont { text-indent: 0; }
.rm-lfoot { position: absolute; left: calc(var(--u) * 14); right: calc(var(--u) * 14); bottom: calc(var(--u) * 9); padding-top: calc(var(--u) * 3); border-top: calc(var(--u) * 0.25) solid rgba(214, 61, 108, 0.16); text-align: center; font-size: calc(var(--u) * 2.9); letter-spacing: 0.08em; color: #ad98a2; }
.rm-miss { color: #a08f97; font-size: calc(var(--u) * 3.6); }
.rm-screen.rm-love .rm-flow .rm-lch-first { position: relative; top: auto; padding-top: calc(var(--u) * 11); }
.rm-screen.rm-love .rm-flow .rm-card { position: relative; left: auto; right: auto; top: auto; bottom: auto; margin: calc(var(--u) * 7) calc(var(--u) * 11) calc(var(--u) * 24); min-height: calc(var(--u) * 150); }
.rm-screen.rm-love .rm-flow .rm-text { height: auto; overflow: visible; }
.rm-screen.rm-love .rm-flow .rm-text p { font-size: max(15px, calc(var(--u) * 4.25)); }

/* 운명의 단짝 */
.rm-mt { margin-top: calc(var(--u) * 7); padding: calc(var(--u) * 5) calc(var(--u) * 6) calc(var(--u) * 6); border: calc(var(--u) * 0.3) solid rgba(255, 255, 255, 0.1); border-radius: calc(var(--u) * 4); background: rgba(255, 255, 255, 0.035); }
.rm-mt-tag { display: inline-block; padding: calc(var(--u) * 1) calc(var(--u) * 3); border: calc(var(--u) * 0.3) solid rgba(255, 111, 145, 0.4); border-radius: calc(var(--u) * 9); font-size: calc(var(--u) * 2.6); color: #ffb3c6; background: rgba(255, 111, 145, 0.08); }
.rm-mt-pair { display: flex; justify-content: center; align-items: center; gap: calc(var(--u) * 8); margin-top: calc(var(--u) * 3); }
.rm-mt-card { text-align: center; }
.rm-mt-card p { font-size: calc(var(--u) * 2.6); color: #a99bb8; }
.rm-mt-box { display: flex; flex-direction: column; align-items: center; gap: calc(var(--u) * 1.4); width: calc(var(--u) * 19); margin: calc(var(--u) * 2) auto; padding: calc(var(--u) * 3.4) 0; border-radius: calc(var(--u) * 3); border: calc(var(--u) * 0.45) solid #8f8aa0; background: rgba(255, 255, 255, 0.04); }
.rm-mt-card.is-me .rm-mt-box { border-color: #ff5c8a; box-shadow: 0 0 calc(var(--u) * 4) rgba(255, 92, 138, 0.35); }
.rm-mt-card.is-mate .rm-mt-box { border-color: #c9c5d8; box-shadow: 0 0 calc(var(--u) * 4) rgba(201, 197, 216, 0.25); }
.rm-mt-box b { font-size: calc(var(--u) * 7.6); font-weight: 500; line-height: 1; }
.rm-mt-box i { width: calc(var(--u) * 5); height: calc(var(--u) * 0.25); background: rgba(255, 255, 255, 0.25); }
.rm-mt-card span { display: inline-block; padding: calc(var(--u) * 0.6) calc(var(--u) * 2.6); border: calc(var(--u) * 0.3) solid rgba(255, 255, 255, 0.18); border-radius: calc(var(--u) * 9); font-size: calc(var(--u) * 2.5); color: #cfc4da; }
.rm-mt-heart { color: #ff6f91; font-size: calc(var(--u) * 5); }
.rm-mt-in { margin-top: calc(var(--u) * 5); padding: calc(var(--u) * 4.6) calc(var(--u) * 5); border-radius: calc(var(--u) * 3); background: rgba(0, 0, 0, 0.25); }
.rm-mt-pills { display: flex; justify-content: center; gap: calc(var(--u) * 2); }
.rm-mt-pills span { padding: calc(var(--u) * 0.8) calc(var(--u) * 3); border: calc(var(--u) * 0.3) solid rgba(255, 255, 255, 0.25); border-radius: calc(var(--u) * 9); font-size: calc(var(--u) * 2.7); color: #fff; }
.rm-mt-pills .is-pink { border-color: rgba(255, 111, 145, 0.55); color: #ffb3c6; }
.rm-mt-lead { margin-top: calc(var(--u) * 3.6); text-align: center; font-size: calc(var(--u) * 3); line-height: 1.8; color: #ddd3e6; }
.rm-mt-in ul { margin-top: calc(var(--u) * 3.6); display: grid; gap: calc(var(--u) * 2); }
.rm-mt-in li { position: relative; padding-left: calc(var(--u) * 3.6); font-size: calc(var(--u) * 2.9); line-height: 1.8; color: #c3b7d0; }
.rm-mt-in li::before { content: "•"; position: absolute; left: 0; color: #ff8fab; }
.rm-mt-sub { margin-top: calc(var(--u) * 5); text-align: center; font-size: calc(var(--u) * 2.8); color: #a99bb8; }
.rm-mt-tags { display: flex; justify-content: center; flex-wrap: wrap; gap: calc(var(--u) * 2.4); margin-top: calc(var(--u) * 2.6); }
.rm-mt-tags span { padding: calc(var(--u) * 1.2) calc(var(--u) * 3.4); border: calc(var(--u) * 0.3) solid rgba(255, 255, 255, 0.16); border-radius: calc(var(--u) * 9); font-size: calc(var(--u) * 2.9); color: #fff; background: rgba(255, 255, 255, 0.04); }
.rm-mt-tags small { margin-left: calc(var(--u) * 1); font-size: calc(var(--u) * 2.3); color: #9a8daa; }
.rm-mt-note { margin-top: calc(var(--u) * 3.4); text-align: center; font-size: calc(var(--u) * 2.3); color: #7d6f8e; }

/* 일기예보 */
.rm-fc { display: grid; grid-template-columns: repeat(3, 1fr); gap: calc(var(--u) * 2.6); margin-top: calc(var(--u) * 5); }
.rm-fc li { position: relative; height: calc(var(--u) * 51); padding: calc(var(--u) * 3) calc(var(--u) * 3) 0; text-align: center; border: calc(var(--u) * 0.3) solid rgba(255, 255, 255, 0.1); border-radius: calc(var(--u) * 3); background: rgba(255, 255, 255, 0.035); }
.rm-fc li.is-best { border-color: rgba(255, 179, 198, 0.55); background: rgba(255, 179, 198, 0.09); box-shadow: 0 0 calc(var(--u) * 5) rgba(255, 111, 145, 0.25); }
.rm-fc-m { text-align: left; font-size: calc(var(--u) * 3); color: #e9e1f0; }
.rm-fc-m small { margin-right: calc(var(--u) * 1.2); font-size: calc(var(--u) * 2.3); color: #d9b26a; }
.rm-fc-h { display: block; width: calc(var(--u) * 4.6); margin: calc(var(--u) * 1.6) auto 0; }
.rm-fc-h svg { display: block; width: 100%; }
.rm-fc-h.is-gold svg { fill: #f6d27a; } .rm-fc-h.is-pink svg { fill: #ff8fab; } .rm-fc-h.is-blue svg { fill: #8ec5ff; } .rm-fc-h.is-dim svg { fill: #8c7f9c; }
.rm-fc li.is-best .rm-fc-h { width: calc(var(--u) * 6); }
.rm-fc-s { margin-top: calc(var(--u) * 0.6); padding-bottom: calc(var(--u) * 2); border-bottom: calc(var(--u) * 0.25) solid rgba(255, 255, 255, 0.12); font-size: calc(var(--u) * 8); line-height: 1.1; }
.rm-fc-s small { margin-left: calc(var(--u) * 0.6); font-size: calc(var(--u) * 2.6); color: #a99bb8; }
.rm-fc-s.is-gold { color: #f6d27a; } .rm-fc-s.is-pink { color: #ff9db5; } .rm-fc-s.is-blue { color: #9fd0ff; } .rm-fc-s.is-dim { color: #b3a6c2; }
.rm-fc-l { margin-top: calc(var(--u) * 2.4); font-size: calc(var(--u) * 3); font-weight: 600; color: #f1e9f6; }
.rm-fc li.is-best .rm-fc-l { color: #ff8fab; }
.rm-fc-l em { display: inline-block; margin-left: calc(var(--u) * 1); padding: calc(var(--u) * 0.2) calc(var(--u) * 1.4); border: calc(var(--u) * 0.25) solid #d9b26a; border-radius: calc(var(--u) * 1); font-style: normal; font-size: calc(var(--u) * 2); color: #f6d27a; vertical-align: middle; }
.rm-fc-t { margin-top: calc(var(--u) * 1.2); font-size: calc(var(--u) * 2.3); line-height: 1.5; color: #9a8daa; }

/* 행운 가이드 */
.rm-stars { background: #0d0a14 url(/assets/rm/love-stars.jpg) center / cover no-repeat; color: #efe7f3; }
.rm-stars::before { content: ""; position: absolute; inset: 0; background: rgba(14, 11, 18, 0.8); }
.rm-stars > * { position: relative; }
.rm-stars > .rm-n-foot { position: absolute; }
.rm-stars > .rm-fit { position: absolute; padding: calc(var(--u) * 13) calc(var(--u) * 14) calc(var(--u) * 18); text-align: center; }
.rm-lk-script { font-size: calc(var(--u) * 5.2); color: #d9b26a; }
.rm-lk-title { margin-top: calc(var(--u) * 3); font-size: calc(var(--u) * 7.6); font-weight: 500; color: #f6d9e3; }
.rm-lk-sub { margin-top: calc(var(--u) * 2.6); font-size: calc(var(--u) * 3.1); color: #a99bb8; }
.rm-lk-rule { display: block; width: calc(var(--u) * 9); height: calc(var(--u) * 0.3); margin: calc(var(--u) * 5) auto 0; background: #e3466f; }
.rm-lk { margin-top: calc(var(--u) * 6); display: grid; gap: calc(var(--u) * 3); text-align: left; }
.rm-lk li { display: flex; align-items: center; gap: calc(var(--u) * 4.4); padding: calc(var(--u) * 4) calc(var(--u) * 5); border: calc(var(--u) * 0.3) solid rgba(255, 255, 255, 0.1); border-radius: calc(var(--u) * 3); background: rgba(255, 255, 255, 0.05); }
.rm-lk-ic { flex: none; display: grid; place-items: center; width: calc(var(--u) * 9); height: calc(var(--u) * 9); border-radius: 50%; color: #fff; font-size: calc(var(--u) * 3.6); font-weight: 600; }
.rm-lk small { display: block; font-size: calc(var(--u) * 2.5); color: #a99bb8; }
.rm-lk b { display: block; margin-top: calc(var(--u) * 1); font-size: calc(var(--u) * 4.4); font-weight: 600; color: #ffd9e4; }
.rm-lk p { margin-top: calc(var(--u) * 1.2); font-size: calc(var(--u) * 2.8); color: #c3b7d0; }
.rm-lk-foot { margin-top: calc(var(--u) * 6); font-size: calc(var(--u) * 2.8); color: #9a8daa; }

/* 마지막 쪽 */
.rm-l-close { background: radial-gradient(70% 40% at 50% 20%, #fff, #fff5f7 70%), #fff; color: #4b3a42; text-align: center; }
.rm-cl-frame { position: absolute; left: calc(var(--u) * 20); right: calc(var(--u) * 20); top: calc(var(--u) * 12); height: calc(var(--u) * 160); padding: calc(var(--u) * 18) calc(var(--u) * 12) 0; border: calc(var(--u) * 0.3) solid #f1dfe4; background: rgba(255, 255, 255, 0.7); }
.rm-cl-q { font-size: calc(var(--u) * 10); line-height: 1; color: #d0a35a; font-family: Georgia, serif; }
.rm-cl-from { margin-top: calc(var(--u) * 6); font-size: calc(var(--u) * 3.2); color: #a08f97; }
.rm-cl-strong { margin-top: calc(var(--u) * 6); font-size: calc(var(--u) * 4.6); font-weight: 600; line-height: 1.9; color: #4b3a42; }
.rm-cl-strong u { text-decoration: none; color: #c2185b; border-bottom: calc(var(--u) * 0.6) solid rgba(236, 79, 134, 0.35); }
.rm-cl-light { margin: calc(var(--u) * 9) 0 calc(var(--u) * 8); font-size: calc(var(--u) * 3.5); line-height: 2; color: #9c8a92; }
.rm-cl-rule { position: absolute; left: 50%; top: calc(var(--u) * 199); width: calc(var(--u) * 10); height: calc(var(--u) * 0.25); margin-left: calc(var(--u) * -5); background: #d8c4cb; }
.rm-cl-house { position: absolute; left: 0; right: 0; top: calc(var(--u) * 206); font-size: calc(var(--u) * 6); font-weight: 600; color: #9a7d88; }
.rm-cl-cheer { position: absolute; left: 0; right: 0; top: calc(var(--u) * 217); font-size: calc(var(--u) * 3.2); color: #b8a2ac; }
.rm-cl-foot { position: absolute; left: 0; right: 0; bottom: calc(var(--u) * 12); font-size: calc(var(--u) * 2.8); letter-spacing: 0.3em; color: #c2afb7; }

/* ============ 2인 · 궁합 분석서 ============ */
.rm-pair { font-family: "Noto Sans KR", "Pretendard Variable", "Apple SD Gothic Neo", sans-serif; color: #3a2f36; }
.rm-soft { background: linear-gradient(165deg, #fdebf2 0%, #fbe6ef 42%, #f6ebf9 74%, #fbeef3 100%); }
.rm-mint { background: linear-gradient(170deg, #e3f6fb 0%, #f3ecfa 40%, #fde8f0 100%); }
.rm-petal { background: linear-gradient(180deg, #6c3450 0%, #92546d 28%, #b47c91 52%, #d7a8b7 74%, #f7e4e8 100%); color: #fff; text-align: center; }
.rm-petals { position: absolute; inset: 0; width: 100%; height: 100%; }
.rm-wave { position: absolute; left: 0; right: 0; bottom: calc(var(--u) * 34); width: 100%; height: calc(var(--u) * 14); }
.rm-ph { position: absolute; left: calc(var(--u) * 12); right: calc(var(--u) * 12); top: calc(var(--u) * 11); display: flex; justify-content: space-between; align-items: flex-end; padding-bottom: calc(var(--u) * 2.6); border-bottom: calc(var(--u) * 0.3) solid rgba(214, 51, 138, 0.18); }
.rm-ph b { display: block; font-size: calc(var(--u) * 3.9); font-weight: 700; color: #3a2f36; }
.rm-ph small { display: block; margin-top: calc(var(--u) * 1); font-size: calc(var(--u) * 2.4); color: #a08f99; }
.rm-ph .rm-pno { font-size: calc(var(--u) * 3.6); font-weight: 700; color: #d6338a; }
.rm-pf { position: absolute; left: calc(var(--u) * 12); right: calc(var(--u) * 12); bottom: calc(var(--u) * 8); display: flex; justify-content: space-between; font-size: calc(var(--u) * 2.4); color: #a08f99; }
.rm-petal .rm-pf { color: rgba(255, 255, 255, 0.6); }
.rm-pair .rm-fit { top: calc(var(--u) * 26); bottom: calc(var(--u) * 16); padding: 0 calc(var(--u) * 12); }
.rm-card-w { background: #fff; border-radius: calc(var(--u) * 4); box-shadow: 0 calc(var(--u) * 1.4) calc(var(--u) * 4) rgba(160, 60, 110, 0.12); }

/* 표지 · 간지 · 마침 */
.rm-pv-kick { position: absolute; left: 0; right: 0; top: calc(var(--u) * 42); font-size: calc(var(--u) * 3.6); font-weight: 500; letter-spacing: 0.08em; }
.rm-pv-title { position: absolute; left: 0; right: 0; top: calc(var(--u) * 52); font-size: calc(var(--u) * 13); font-weight: 500; letter-spacing: 0.04em; }
.rm-pv-en { position: absolute; left: 0; right: 0; top: calc(var(--u) * 75); font-family: Georgia, "Noto Serif KR", serif; font-size: calc(var(--u) * 5); color: rgba(255, 255, 255, 0.85); }
.rm-pv-names { position: absolute; left: 50%; bottom: calc(var(--u) * 52); transform: translateX(-50%); padding: calc(var(--u) * 4) calc(var(--u) * 12); border-radius: calc(var(--u) * 3.6); background: rgba(58, 30, 46, 0.85); font-size: calc(var(--u) * 5.4); font-weight: 700; white-space: nowrap; }
.rm-p-cover .rm-wave { bottom: calc(var(--u) * 38); }
.rm-pv-tag { position: absolute; left: 0; right: 0; bottom: calc(var(--u) * 20); font-size: calc(var(--u) * 3); color: rgba(255, 255, 255, 0.7); }
.rm-pd-k { position: absolute; left: 0; right: 0; top: calc(var(--u) * 74); font-size: calc(var(--u) * 4.6); font-weight: 700; letter-spacing: 0.3em; }
.rm-pd-title { position: absolute; left: 0; right: 0; top: calc(var(--u) * 88); font-size: calc(var(--u) * 9); font-weight: 500; }
.rm-pd-ic { position: absolute; left: 0; right: 0; top: calc(var(--u) * 106); font-size: calc(var(--u) * 6); color: rgba(255, 255, 255, 0.85); }
.rm-pd-sub { position: absolute; left: 0; right: 0; top: calc(var(--u) * 118); font-family: Georgia, "Noto Serif KR", serif; font-size: calc(var(--u) * 4.2); color: rgba(255, 255, 255, 0.8); }
.rm-pd-foot { position: absolute; left: 0; right: 0; bottom: calc(var(--u) * 60); font-size: calc(var(--u) * 3.4); color: rgba(255, 255, 255, 0.75); }
.rm-pd-heart { position: absolute; left: 0; right: 0; bottom: calc(var(--u) * 33); font-size: calc(var(--u) * 4); color: #c2185b; }
.rm-pcl-h { position: absolute; left: 0; right: 0; top: calc(var(--u) * 36); font-size: calc(var(--u) * 8.6); font-weight: 500; }
.rm-pcl-card { position: absolute; left: calc(var(--u) * 22); right: calc(var(--u) * 22); top: calc(var(--u) * 62); padding: calc(var(--u) * 10) calc(var(--u) * 9); border-radius: calc(var(--u) * 4); background: rgba(255, 255, 255, 0.62); color: #4a3a44; text-align: left; }
.rm-pcl-card p { font-size: calc(var(--u) * 4.2); line-height: 1.85; }
.rm-pcl-house { position: absolute; left: 0; right: 0; bottom: calc(var(--u) * 46); font-size: calc(var(--u) * 4.6); font-weight: 700; }
.rm-p-close .rm-pd-heart { bottom: calc(var(--u) * 40); }

/* 목차 */
.rm-pt-h { margin-top: calc(var(--u) * 10); text-align: center; font-size: calc(var(--u) * 6.6); font-weight: 700; color: #3a2f36; }
.rm-pt-list { margin-top: calc(var(--u) * 9); display: grid; gap: calc(var(--u) * 3.4); padding: 0 calc(var(--u) * 6); }
.rm-pt-list a { display: flex; align-items: center; gap: calc(var(--u) * 6); padding: calc(var(--u) * 4) calc(var(--u) * 6); border-radius: calc(var(--u) * 3); background: rgba(255, 255, 255, 0.92); box-shadow: 0 calc(var(--u) * 0.8) calc(var(--u) * 2.6) rgba(160, 60, 110, 0.08); }
.rm-pt-list span { font-size: calc(var(--u) * 4.4); font-weight: 700; color: #d6338a; }
.rm-pt-list b { display: block; font-size: calc(var(--u) * 4.4); font-weight: 700; color: #3a2f36; }
.rm-pt-list small { display: block; margin-top: calc(var(--u) * 0.8); font-size: calc(var(--u) * 2.7); color: #8f7f89; }

/* 종합 총평 */
.rm-sc-top { display: flex; align-items: center; gap: calc(var(--u) * 6); margin-top: calc(var(--u) * 3); padding: calc(var(--u) * 8) calc(var(--u) * 8); border-radius: calc(var(--u) * 5); background: #fff; box-shadow: 0 calc(var(--u) * 1.4) calc(var(--u) * 4) rgba(160, 60, 110, 0.12); }
.rm-sc-top > div { flex: 1; }
.rm-sc-k { font-size: calc(var(--u) * 3.6); font-weight: 700; color: #e0458f; }
.rm-sc-q { margin-top: calc(var(--u) * 3); font-size: calc(var(--u) * 5.6); font-weight: 500; line-height: 1.45; color: #2f262c; }
.rm-sc-tags { margin-top: calc(var(--u) * 3); display: flex; flex-wrap: wrap; gap: calc(var(--u) * 1.6); }
.rm-sc-tags span { padding: calc(var(--u) * 0.6) calc(var(--u) * 2.4); border-radius: calc(var(--u) * 9); background: #fde3ee; font-size: calc(var(--u) * 2.6); color: #c2185b; }
.rm-donut { flex: none; width: calc(var(--u) * 40); height: calc(var(--u) * 40); }
.rm-donut-n { font-size: 10.5px; font-weight: 700; fill: #e0458f; font-family: "Noto Sans KR", sans-serif; }
.rm-donut-d { font-size: 3.4px; fill: #9a8a93; font-family: "Noto Sans KR", sans-serif; }
.rm-sc-boxes { display: grid; grid-template-columns: repeat(4, 1fr); gap: calc(var(--u) * 3); margin-top: calc(var(--u) * 5); padding: 0 calc(var(--u) * 4); }
.rm-sc-boxes li { padding: calc(var(--u) * 3.4) 0; text-align: center; border-radius: calc(var(--u) * 3); background: rgba(255, 255, 255, 0.9); box-shadow: 0 calc(var(--u) * 0.8) calc(var(--u) * 2.4) rgba(160, 60, 110, 0.08); }
.rm-sc-boxes small { display: block; font-size: calc(var(--u) * 2.6); color: #8f7f89; }
.rm-sc-boxes b { display: block; margin-top: calc(var(--u) * 1.4); font-family: "Noto Serif KR", serif; font-size: calc(var(--u) * 6.6); font-weight: 700; color: #3a2f36; line-height: 1.1; }
.rm-sc-boxes b.is-good { color: #e0458f; } .rm-sc-boxes b.is-warn { color: #b0306a; }
.rm-sc-boxes span { display: block; margin-top: calc(var(--u) * 0.8); font-size: calc(var(--u) * 2.4); color: #8f7f89; }
.rm-sc-six { margin-top: calc(var(--u) * 5); padding: calc(var(--u) * 6) calc(var(--u) * 7); border-radius: calc(var(--u) * 5); background: #fff; box-shadow: 0 calc(var(--u) * 1.4) calc(var(--u) * 4) rgba(160, 60, 110, 0.12); }
.rm-sc-sk { font-size: calc(var(--u) * 3); letter-spacing: 0.4em; color: #8f7f89; }
.rm-sc-six ul { margin-top: calc(var(--u) * 3); display: grid; gap: calc(var(--u) * 2.4); }
.rm-sc-six li { display: grid; grid-template-columns: calc(var(--u) * 6) calc(var(--u) * 13) 1fr calc(var(--u) * 8); align-items: center; gap: calc(var(--u) * 2); }
.rm-sc-six li b { font-family: "Noto Serif KR", serif; font-size: calc(var(--u) * 5.6); font-weight: 700; color: #e0458f; }
.rm-sc-six li span { font-size: calc(var(--u) * 3.2); color: #4a3a44; }
.rm-pbar { display: block; position: relative; height: calc(var(--u) * 3); border-radius: calc(var(--u) * 2); background: #fbe1ec; overflow: hidden; }
.rm-pbar > i { position: absolute; left: 0; top: 0; bottom: 0; border-radius: calc(var(--u) * 2); background: #e0458f; }
.rm-sc-six li strong { text-align: right; font-size: calc(var(--u) * 3.4); font-weight: 700; color: #3a2f36; }
.rm-sc-two { display: grid; grid-template-columns: 1fr 1fr; gap: calc(var(--u) * 5); margin-top: calc(var(--u) * 5); padding: 0 calc(var(--u) * 2); }
.rm-sc-two > div { padding: calc(var(--u) * 4) calc(var(--u) * 5); border-radius: calc(var(--u) * 3.4); background: rgba(255, 255, 255, 0.92); box-shadow: 0 calc(var(--u) * 0.8) calc(var(--u) * 2.4) rgba(160, 60, 110, 0.08); }
.rm-sc-two b { font-size: calc(var(--u) * 3.4); font-weight: 700; color: #2f8a57; }
.rm-sc-two .is-tune b { color: #ef7d1a; }
.rm-sc-two p { margin-top: calc(var(--u) * 1.6); font-size: calc(var(--u) * 2.9); line-height: 1.7; color: #4a3a44; }

/* 두 사주 */
.rm-tw { display: grid; grid-template-columns: 1fr 1fr; gap: calc(var(--u) * 6); margin-top: calc(var(--u) * 4); }
.rm-tw-card { padding: calc(var(--u) * 5) calc(var(--u) * 4) calc(var(--u) * 5); text-align: center; border-radius: calc(var(--u) * 5); background: rgba(255, 255, 255, 0.95); box-shadow: 0 calc(var(--u) * 1.4) calc(var(--u) * 4) rgba(160, 60, 110, 0.1); }
.rm-tw-lab { font-size: calc(var(--u) * 3); font-weight: 700; color: #d6338a; }
.rm-tw-card.is-b .rm-tw-lab { color: #2b8fae; }
.rm-tw-name { margin-top: calc(var(--u) * 2); font-size: calc(var(--u) * 6); font-weight: 700; color: #2f262c; }
.rm-tw-birth { margin-top: calc(var(--u) * 1); font-size: calc(var(--u) * 2.6); color: #8f7f89; }
.rm-tl { display: grid; grid-template-columns: repeat(4, 1fr); gap: calc(var(--u) * 1.6); margin-top: calc(var(--u) * 4); }
.rm-tl > div { display: flex; flex-direction: column; gap: calc(var(--u) * 0.6); }
.rm-tl b { display: block; padding: calc(var(--u) * 1.4) 0; border-radius: calc(var(--u) * 1.4); font-family: "Noto Serif KR", serif; font-size: calc(var(--u) * 5.4); font-weight: 700; line-height: 1.2; }
.rm-tl small { margin-top: calc(var(--u) * 0.8); font-size: calc(var(--u) * 2.3); color: #8f7f89; }
.rm-tl em { font-style: normal; font-size: calc(var(--u) * 2.2); font-weight: 700; color: #d6338a; }
.rm-tw-pill { display: inline-block; margin-top: calc(var(--u) * 3.6); padding: calc(var(--u) * 1.4) calc(var(--u) * 6); border-radius: calc(var(--u) * 9); background: #fde3ee; font-size: calc(var(--u) * 2.9); font-weight: 700; color: #4a3a44; }
.rm-tw-meet { margin-top: calc(var(--u) * 8); padding: calc(var(--u) * 8) calc(var(--u) * 9); border-radius: calc(var(--u) * 5); background: #fff; box-shadow: 0 calc(var(--u) * 1.4) calc(var(--u) * 4) rgba(160, 60, 110, 0.12); }
.rm-tw-big { display: flex; justify-content: center; align-items: center; gap: calc(var(--u) * 5); margin-bottom: calc(var(--u) * 5); color: #e0458f; }
.rm-tw-big b { font-family: "Noto Serif KR", serif; font-size: calc(var(--u) * 11); font-weight: 600; }
.rm-tw-big span { font-size: calc(var(--u) * 9); }
.rm-tw-meet > p:not(.rm-tw-big) { font-size: calc(var(--u) * 3.7); line-height: 1.85; color: #3a2f36; }

/* 본문 쪽 */
.rm-pch-code { position: absolute; left: calc(var(--u) * 14); top: calc(var(--u) * 28); font-size: calc(var(--u) * 4.4); font-weight: 700; color: #e0458f; letter-spacing: 0.1em; }
.rm-pch-q { position: absolute; left: calc(var(--u) * 12); right: calc(var(--u) * 12); top: calc(var(--u) * 36); padding: calc(var(--u) * 5) calc(var(--u) * 6); border-radius: calc(var(--u) * 4); background: #fff; box-shadow: 0 calc(var(--u) * 1.2) calc(var(--u) * 3.4) rgba(160, 60, 110, 0.12); font-size: calc(var(--u) * 4.2); font-weight: 700; line-height: 1.5; color: #6a1f45; }
.rm-pair .rm-card { position: absolute; left: calc(var(--u) * 12); right: calc(var(--u) * 12); top: calc(var(--u) * 60); bottom: calc(var(--u) * 18); padding: calc(var(--u) * 7) calc(var(--u) * 7); border-radius: calc(var(--u) * 4.6); background: #fff; box-shadow: 0 calc(var(--u) * 1.4) calc(var(--u) * 4) rgba(160, 60, 110, 0.12); }
.rm-pair .rm-page.is-cont .rm-pch-q { display: none; }
.rm-pair .rm-page.is-cont .rm-card { top: calc(var(--u) * 36); }
.rm-pair .rm-text p { font-size: calc(var(--u) * 3.95); line-height: 1.85; color: #3a3036; margin: 0 0 calc(var(--u) * 3); }
.rm-screen.rm-pair .rm-flow .rm-ph, .rm-screen.rm-pair .rm-flow .rm-pch-code, .rm-screen.rm-pair .rm-flow .rm-pch-q { position: relative; left: auto; right: auto; top: auto; }
.rm-screen.rm-pair .rm-flow .rm-ph { margin: 0 calc(var(--u) * 12); padding-top: calc(var(--u) * 11); }
.rm-screen.rm-pair .rm-flow .rm-pch-code { margin: calc(var(--u) * 6) calc(var(--u) * 14) 0; }
.rm-screen.rm-pair .rm-flow .rm-pch-q { margin: calc(var(--u) * 3) calc(var(--u) * 12) 0; }
.rm-screen.rm-pair .rm-flow .rm-card { position: relative; left: auto; right: auto; top: auto; bottom: auto; margin: calc(var(--u) * 5) calc(var(--u) * 12) calc(var(--u) * 22); min-height: calc(var(--u) * 150); }
.rm-screen.rm-pair .rm-flow .rm-text { height: auto; overflow: visible; }
.rm-screen.rm-pair .rm-flow .rm-text p { font-size: max(15px, calc(var(--u) * 3.95)); }

/* 열두 달의 파도 */
.rm-wv-h { margin-top: calc(var(--u) * 6); text-align: center; font-size: calc(var(--u) * 6.6); font-weight: 700; color: #2f262c; }
.rm-wv-card { margin-top: calc(var(--u) * 6); padding: calc(var(--u) * 6) calc(var(--u) * 6); border-radius: calc(var(--u) * 5); background: #fff; box-shadow: 0 calc(var(--u) * 1.4) calc(var(--u) * 4) rgba(160, 60, 110, 0.12); }
.rm-wv-range { font-size: calc(var(--u) * 3.8); font-weight: 700; letter-spacing: 0.12em; color: #6f6470; }
.rm-wv-stat { margin-top: calc(var(--u) * 1.6); font-size: calc(var(--u) * 3.1); font-weight: 700; color: #2f262c; }
.rm-wv-svg { display: block; width: 100%; height: auto; margin-top: calc(var(--u) * 4); overflow: visible; }
.rm-wv-svg text { font-size: 2.6px; fill: #8f7f89; font-family: "Noto Sans KR", sans-serif; }
.rm-wv-k { font-size: calc(var(--u) * 3.2); font-weight: 700; color: #4a3a44; }
.rm-wv-grid { display: grid; grid-template-columns: repeat(6, 1fr); gap: calc(var(--u) * 2.4); margin-top: calc(var(--u) * 3.4); }
.rm-wv-grid li { padding: calc(var(--u) * 2) 0; text-align: center; border-radius: calc(var(--u) * 2.4); background: #fff1f6; }
.rm-wv-grid small { display: block; font-size: calc(var(--u) * 2.6); color: #8f7f89; }
.rm-wv-grid b { display: block; font-size: calc(var(--u) * 5); font-weight: 700; color: #d6338a; line-height: 1.2; }
.rm-wv-grid span { display: block; font-size: calc(var(--u) * 2.4); color: #6f6470; }
.rm-wv-note { margin-top: calc(var(--u) * 4); font-size: calc(var(--u) * 2.5); line-height: 1.7; color: #9a8a93; }

/* 비밀의 장 · 속궁합이 맞는 사람 (성인) */
.rm-secret { background: radial-gradient(90% 60% at 50% 30%, #3a1022 0%, #1d0912 55%, #12060c 100%); color: #f3e6ec; }
.rm-secret .rm-fit { padding: calc(var(--u) * 13) calc(var(--u) * 13) calc(var(--u) * 20); text-align: center; }
.rm-sx-kick { font-size: calc(var(--u) * 3); letter-spacing: 0.45em; color: #b98a9c; }
.rm-sx-title { margin-top: calc(var(--u) * 3); font-size: calc(var(--u) * 8.4); font-weight: 600; color: #ffd9e4; }
.rm-sx-sub { margin-top: calc(var(--u) * 2.4); font-size: calc(var(--u) * 3.3); color: #b9a3b0; }
.rm-sx-hero { position: relative; margin-top: calc(var(--u) * 6); padding: calc(var(--u) * 34) calc(var(--u) * 8) calc(var(--u) * 7); border-radius: calc(var(--u) * 4); border: calc(var(--u) * 0.3) solid rgba(255, 111, 145, 0.18); background: linear-gradient(180deg, rgba(18, 6, 12, 0.1) 0%, rgba(18, 6, 12, 0.75) 72%), url(/assets/rm/love-secret.jpg) center top / cover no-repeat; }
.rm-sx-els { display: flex; justify-content: center; align-items: center; gap: calc(var(--u) * 3); }
.rm-sx-els span { display: grid; place-items: center; width: calc(var(--u) * 9); height: calc(var(--u) * 9); border-radius: 50%; border: calc(var(--u) * 0.35) solid var(--c); color: var(--c); background: rgba(0, 0, 0, 0.45); font-size: calc(var(--u) * 4); }
.rm-sx-els i { font-style: normal; color: #ff6f91; font-size: calc(var(--u) * 4.4); }
.rm-sx-hero h3 { margin-top: calc(var(--u) * 3.6); font-size: calc(var(--u) * 6); font-weight: 600; color: #ffb3c6; }
.rm-sx-hero > p:not(.rm-sx-els):not(.rm-sx-tags) { margin-top: calc(var(--u) * 1.8); font-size: calc(var(--u) * 3); color: #d7c3cd; }
.rm-sx-tags { display: flex; justify-content: center; gap: calc(var(--u) * 2); margin-top: calc(var(--u) * 4); }
.rm-sx-tags span { padding: calc(var(--u) * 1) calc(var(--u) * 3.4); border-radius: calc(var(--u) * 9); border: calc(var(--u) * 0.3) solid rgba(255, 111, 145, 0.45); background: rgba(255, 111, 145, 0.1); font-size: calc(var(--u) * 2.7); color: #ffb3c6; }
.rm-sx-box { margin-top: calc(var(--u) * 6); padding: calc(var(--u) * 6) calc(var(--u) * 6); border-radius: calc(var(--u) * 4); border: calc(var(--u) * 0.3) solid rgba(255, 255, 255, 0.08); background: rgba(255, 255, 255, 0.04); text-align: left; }
.rm-sx-boxh { font-size: calc(var(--u) * 4); font-weight: 600; color: #fff; }
.rm-sx-box ul { margin-top: calc(var(--u) * 3.6); display: grid; gap: calc(var(--u) * 2.8); }
.rm-sx-box li { position: relative; padding-left: calc(var(--u) * 3.6); font-size: calc(var(--u) * 3.05); line-height: 1.85; color: #cdb9c4; }
.rm-sx-box li::before { content: "•"; position: absolute; left: 0; color: #ff8fab; }
.rm-sx-box li b { color: #ffb3c6; }
.rm-sx-foot { position: absolute; left: 0; right: 0; bottom: calc(var(--u) * 8); text-align: center; font-size: calc(var(--u) * 2.6); line-height: 1.8; letter-spacing: 0.35em; color: #8f6d7c; }
