/* 풀이 보고서 공통 틀 — 2026-10-31 구조 정리로 index.html <style> 1291~1419줄에서 옮김. 파일 번호 순서대로 읽어야 함(뒤 규칙이 앞 규칙을 덮음) */
/* ==========================================================================
   ★ 풀이 보고서 (2026-10-22 Ⓑ 결정) — 결과 화면 위에서부터
   ① 맨 위: 목록 줄과 같은 두 줄 (아이콘 | 보고서 이름 굵게 / 사람 정보 | 날짜·시각)
   ② 머리 한 줄 요약: 왼쪽 메뉴 색 막대   ③ 몸통 소제목: 작은 메뉴 색 점 + 굵은 제목
   ④ 특별 조각: 명식 묶음(카드마다 따로·모두 펼침), 궁합 묶음, 신년 열두 달 막대, 택일 달력·날짜 카드, 작명 카드
   ⑤ 꼬리: 조언 카드(옅은 메뉴 색 면) → 만족/불만족(작은 회색, 고르면 메뉴 색) → [공유 이미지](채움)·[내려받기](테두리) 한 줄 — 2026-10-23: 크기·모양은 지첩함 백업 버튼과 같게, 색은 메뉴 색
   2026-10-23: 한 줄 요약은 명식 묶음 다음 본문 첫 자리 / 신년도 명식 묶음, 작명은 명식표+필요 기운만, 택일은 없음
   보고서 메뉴 색 = .rk-fortune / .rk-saju / .rk-theme / .rk-counsel (★ 메뉴 색 묶음에서 가져옴)
   ========================================================================== */
.rk-fortune{--rc:var(--today-main);--rc-top:var(--today-top);--rc-bot:var(--today-bot);--rc-bg:var(--today-report-bg)}
.rk-saju{--rc:var(--saju-main);--rc-top:var(--saju-top);--rc-bot:var(--saju-bot);--rc-bg:var(--saju-report-bg)}
.rk-theme{--rc:var(--theme-main);--rc-top:var(--theme-top);--rc-bot:var(--theme-bot);--rc-bg:var(--theme-report-bg)}
.rk-counsel{--rc:var(--counsel-main);--rc-top:var(--counsel-top);--rc-bot:var(--counsel-bot);--rc-bg:var(--counsel-bubble-bg)}
/* 2026-10-30 17·18번: 재설명 — 펜 끝 창 테두리(옅은 메뉴 색 --rc-line), 고른 문장 바탕(--rc-pick) */
.rk-fortune{--rc-line:var(--today-soft-line);--rc-pick:var(--today-soft-bg)}
.rk-saju{--rc-line:var(--saju-soft-line);--rc-pick:var(--saju-soft-bg)}
.rk-theme{--rc-line:var(--theme-soft-line);--rc-pick:var(--theme-soft-bg)}
.rk-counsel{--rc-line:#a9bdf0;--rc-pick:var(--counsel-bubble-bg)}
/* ① 맨 위 */
.detail-meta{background:var(--surface);border:1px solid var(--line);padding:10px 10px 10px 16px;gap:10px;color:var(--ink)}
.detail-meta .saved-kind [fill="var(--surface)"]{fill:var(--surface)}.detail-meta .saved-topic-badge{box-shadow:0 0 0 2px var(--surface)}
.detail-meta-head{font-weight:700;font-size:.9rem;color:var(--ink);line-height:1.35;word-break:keep-all}
.detail-meta-sum{font-size:.78rem;font-weight:400;color:var(--muted);line-height:1.4}
.detail-meta-date{color:var(--muted)}
/* ② 한 줄 요약 */
.saju-text .rp-sum{position:relative;margin:0 0 18px;padding:12px 14px 12px 20px;border-radius:12px;background:var(--surface);border:1px solid var(--line)}
.saju-text .rp-sum::before{content:"";position:absolute;left:0;top:0;bottom:0;width:5px;border-radius:12px 0 0 12px;background:var(--rc,var(--accent))}
.saju-text .rp-sum p{margin:0;font-size:.98rem;font-weight:600;line-height:1.6;color:var(--ink)}
/* ③ 소제목 */
.saju-text .sec{display:flex;align-items:center;gap:8px;margin:22px 0 6px;font-weight:700}
.saju-text .sec-dot{flex:none;width:7px;height:7px;border-radius:50%;background:var(--rc,var(--accent))}
/* ⑤ 조언 카드 */
.saju-text .rp-advice{margin:22px 0 4px;padding:14px 16px 4px;border-radius:14px;background:var(--rc-bg,var(--bg))}
.saju-text .rp-advice .sec{margin-top:0}
/* ⓓ 궁합 두 칸 */
.saju-text .rp-two{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:20px 0 6px}
.saju-text .rp-col{border:1px solid var(--line);border-radius:12px;padding:12px 14px 2px;background:var(--surface);min-width:0}
.saju-text .rp-col .sec{margin-top:0}
.saju-text .rp-col.is-care .sec-dot{background:transparent;box-shadow:inset 0 0 0 2px var(--rc,var(--accent))}
@media (max-width:599px){.saju-text .rp-two{grid-template-columns:1fr}}
/* ⓐ 신년 달 줄 */
.saju-text .rp-month b{font-weight:700}
.saju-text .rp-mark{font-size:.8em;font-weight:700;white-space:nowrap}
.saju-text .rp-mark.is-good{color:var(--rc,var(--accent))}
.saju-text .rp-mark.is-care{color:var(--muted)}
.rp-ybar{max-width:420px;margin:0 auto 18px}
.yb-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:3px;align-items:end}
.yb-col{display:flex;flex-direction:column;align-items:center;gap:3px;min-width:0}
.yb-tag{height:14px;font-size:.6rem;font-weight:700;line-height:14px;color:var(--rc,var(--accent));white-space:nowrap}
.yb-col.is-care .yb-tag{color:var(--muted)}
.yb-track{position:relative;width:100%;max-width:22px;height:84px;border-radius:6px;background:var(--line);overflow:hidden}
.yb-bar{position:absolute;left:0;right:0;bottom:0;border-radius:6px;background:var(--rc-bg,#ddd);box-shadow:inset 0 0 0 1px rgba(0,0,0,.06)}
.yb-col.is-good .yb-bar{background:linear-gradient(180deg,var(--rc-top) 0%,var(--rc) 60%,var(--rc-bot) 100%)}
.yb-col.is-care .yb-bar{background:#b9b2a6}
.yb-m{font-size:.62rem;color:var(--muted);white-space:nowrap}
/* ⓑ 택일 달력·날짜 카드·피할 날 */
.rp-cal{max-width:340px;margin:4px auto 14px;padding:12px 12px 10px;border:1px solid var(--line);border-radius:14px;background:var(--surface)}
.rc-title{text-align:center;font-weight:700;font-size:.9rem;margin-bottom:6px}
.rc-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;text-align:center}
.rc-w{font-size:.68rem;color:var(--muted)}
.rc-w.sun,.rc-d.sun{color:#e0729a}.rc-w.sat,.rc-d.sat{color:#4a9fd8}
.rc-d{display:flex;align-items:center;justify-content:center;height:32px;border-radius:50%;font-size:.8rem;font-variant-numeric:tabular-nums;color:var(--ink);box-sizing:border-box;width:32px;margin:0 auto}
.rc-d.is-off{opacity:.3}
/* 2026-10-30 3단계 21번: 1순위 = 메뉴 색 꽉 찬 동그라미 + 흰 굵은 숫자(바깥 고리 없앰) / 추천 = 면 없이 메뉴 색 테두리 + 메뉴 색 굵은 숫자 / 피할 날 = 면 없이 회색 숫자 + 취소선 */

.rc-d.is-best{background:none;color:var(--rc);font-weight:700;box-shadow:inset 0 0 0 2px var(--rc)}
.rc-d.is-first{background:var(--rc);color:#fff;font-weight:800;box-shadow:none}
.rc-d.is-avoid{background:none;color:var(--muted);-webkit-text-decoration-line:line-through;text-decoration-line:line-through;-webkit-text-decoration-color:var(--muted);text-decoration-color:var(--muted)}
.rc-legend{display:flex;justify-content:center;gap:12px;margin-top:8px;font-size:.7rem;color:var(--muted)}
.rc-legend span{display:inline-flex;align-items:center;gap:4px}
.rc-k{display:inline-block;width:10px;height:10px;border-radius:50%}
.rc-k.is-first{background:var(--rc)}.rc-k.is-best{background:none;box-shadow:inset 0 0 0 1.5px var(--rc)}.rc-k.is-avoid{width:11px;height:1.5px;border-radius:1px;background:var(--muted)}.rc-k.is-off{background:var(--ink);opacity:.3}
.saju-text .rp-day{position:relative;margin:0 0 8px;padding:10px 12px 0;border:1px solid var(--line);border-radius:12px;background:var(--surface)}
.saju-text .rp-day.is-first{border:2px solid var(--rc,var(--accent))}
.saju-text .rp-day p{margin-bottom:10px}
.saju-text .rp-day-tag{display:inline-block;margin:0 0 4px;padding:1px 8px;border-radius:999px;background:var(--rc,var(--accent));color:#fff;font-size:.68rem;font-weight:700}
.saju-text .rp-day-tag.is-sub{background:var(--bg);color:var(--muted)}
.saju-text p.rp-avoid{margin:0 0 6px;padding:8px 12px;border-radius:10px;background:var(--bg);color:var(--muted);font-size:.88rem}
/* ⓒ 작명 이름 카드 */
.saju-text .rp-name{margin:0 0 10px;padding:12px 14px 4px;border:1px solid var(--line);border-radius:12px;background:var(--surface)}
.saju-text .rp-name p{margin-bottom:8px}
.saju-text .rp-name .name-cand{font-size:1.02rem}
.rp-chips{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 10px}
.rp-chip{display:inline-flex;align-items:center;gap:5px;font-size:.74rem;line-height:1.4;padding:3px 9px;border-radius:999px;background:var(--bg);border:1px solid var(--line);color:var(--ink)}
.rp-chip i{width:8px;height:8px;border-radius:50%;flex:none}
/* ④ 명식 묶음: 카드마다 따로·모두 펼침 / 궁합 묶음 */
.rp-saju{margin-bottom:6px}
.mx-two{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:0 auto 12px;max-width:640px}
.mx-person{min-width:0}
.mx-who{text-align:center;font-size:.8rem;font-weight:700;margin-bottom:6px}
.mx-two .pillars{margin-bottom:0;gap:5px}
.mx-two .pillar-char{font-size:1.25rem}
@media (max-width:599px){.mx-two{grid-template-columns:1fr}}
.mx-st{overflow:visible}
.mx-dot{position:absolute;top:50%;width:14px;height:14px;margin:-7px 0 0 -7px;border-radius:50%;border:2px solid var(--surface);box-sizing:border-box}
.mx-dot.is-me{background:var(--rc,var(--accent))}.mx-dot.is-you{background:#5d5a55}
.mx-legend{display:flex;flex-wrap:wrap;gap:4px 14px;margin-top:6px;font-size:.76rem}
.mx-legend span{display:inline-flex;align-items:center;gap:6px}
.mx-legend .mx-dot{position:static;margin:0;width:10px;height:10px;border:0}
.mx-dy{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.mx-dy-col b{display:block;font-size:.8rem;margin-bottom:2px}
.mx-dy-line{font-size:.78rem;line-height:1.55;word-break:keep-all}
.mx-dy-lv{white-space:nowrap;color:var(--muted)}
.detail-body>.rp-head{margin-bottom:4px}
.detail-body>.rp-saju+.rp-head,.detail-body>.rp-match+.rp-head{margin-top:14px} /* 2026-10-23: 한 줄 요약이 명식 묶음 다음에 옴 */
.rp-saju.is-name .ana{margin-top:10px} /* 작명: 명식표 + 필요 기운만 */
.fb-item.fb-v-fix .fb-head,.fb-item.fb-v-edit .fb-head,.fb-item.fb-v-plain .fb-head{font-weight:600} /* 2026-10-23 판정 이름: 바로씀·고쳐씀·풀어씀·이상무 */
/* ⑤ 꼬리: 만족/불만족 */
.fb-box{margin:18px 0 0;padding:14px 0 4px}
.fb-q{font-size:.8rem}
.fb-row .fb-btn{all:unset;box-sizing:border-box;padding:5px 14px;border-radius:999px;border:1px solid var(--line);background:var(--bg);color:var(--muted);font-size:.78rem;font-weight:600;cursor:pointer}
@media (hover:hover){.fb-row .fb-btn:not(:disabled):hover{color:var(--ink)}}
.fb-row .fb-btn:disabled{cursor:default}
.fb-row .fb-btn:disabled:not(.is-on){opacity:.55}
.fb-row .fb-btn.is-on{background:var(--rc,var(--accent));border-color:var(--rc,var(--accent));color:#fff}
.fb-row .fb-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
/* ⑤ 꼬리: 두 줄 버튼 */
/* 2026-10-23 결정 5·6·7: 꼬리 버튼 한 줄, 크기·모양 = 지첩함 백업 버튼(.backup-btn: 글자 0.82rem · 위아래 8px · 알약), 색 = 메뉴 색 */
.share-row.rp-tail{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;margin:14px 0 6px}
.share-btn.rp-btn{justify-content:center;width:auto;padding:8px 14px;font-size:.82rem;line-height:normal;border-radius:999px;border-width:1px}
@media (max-width:420px){.share-btn.rp-btn{padding:8px 12px;font-size:.78rem}} /* 폰 좁은 폭: 백업 버튼과 같은 글자 크기 */
.share-btn.rp-btn.is-fill{background:linear-gradient(180deg,var(--rc-top) 0%,var(--rc) 55%,var(--rc-bot) 100%);border-color:transparent;color:#fff;box-shadow:inset 0 1px 0 rgba(255,255,255,.35),0 4px 10px rgba(60,50,30,.18)}
.share-btn.rp-btn.is-line{border:1px solid var(--rc);color:var(--rc);background:var(--surface)}
@media (hover:hover){.share-btn.rp-btn.is-fill:hover{background:linear-gradient(180deg,var(--rc-top) 0%,var(--rc) 55%,var(--rc-bot) 100%);filter:brightness(1.05)}.share-btn.rp-btn.is-line:hover{background:var(--rc-bg)}}
/* 공유 이미지 창: [이미지 저장]·[공유하기] 모두 알약 + 메뉴 색 광택 */
.share-ov[class*=" rk-"] .share-actions button{border-radius:999px;border:0;color:#fff;background:linear-gradient(180deg,var(--rc-top) 0%,var(--rc) 55%,var(--rc-bot) 100%);box-shadow:inset 0 1px 0 rgba(255,255,255,.35),0 4px 10px rgba(60,50,30,.18)}
/* 오늘 운세 화면: 타자 효과 커서 = 마지막 줄 끝 */
.fortune-stream.is-typing .saju-text>:last-child::after{content:none}
.fortune-stream.is-typing .saju-text p.is-last::after{content:"";display:inline-block;width:2px;height:1.05em;margin-left:2px;vertical-align:-.15em;background:var(--ink);animation:caret 1s steps(1) infinite}
/* 2026-11-01 C2: 오늘 운세 행운 포인트 칩 세 개 (색 견본·숫자·방향) */
.saju-text .rp-lucky{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:2px 0 12px}
.saju-text .rp-lk{display:flex;flex-direction:column;align-items:center;gap:4px;padding:10px 6px;border:1px solid var(--line);border-radius:12px;background:var(--surface);text-align:center;min-width:0}
.saju-text .rp-lk-l{font-size:.7rem;font-weight:600;color:var(--muted)}
.saju-text .rp-lk-v{display:inline-flex;align-items:center;gap:6px;font-size:.92rem;font-weight:700;color:var(--ink);word-break:keep-all}
.saju-text .rp-lk-sw{width:14px;height:14px;border-radius:50%;flex:none;border:1px solid rgba(0,0,0,.18)}
/* 2026-11-01 D1: [자세히] 실제 해의 시각 한 줄 (명식표 바로 아래) */
.px-exact{margin:6px 0 10px;font-size:.74rem;line-height:1.5;color:var(--muted);text-align:center;word-break:keep-all}
/* 2026-11-01 D2: 신년 좋은 달 · 일지 충 */
.yb-col.is-clash .yb-tag{font-size:.54rem;letter-spacing:-.02em}
/* 2026-11-01 명식 묶음 접기: 테두리 상자 + 머리 줄(제목 · 접었을 때 핵심 한 줄 · 오른쪽 꺾쇠) */
.rp-saju.rp-fold{border:1px solid var(--line);border-radius:14px;background:var(--surface);padding:0 14px 6px}
.rp-fold-head{display:flex;align-items:center;gap:8px;min-height:46px;cursor:pointer;-webkit-user-select:none;user-select:none}
.rp-fold-t{font-size:.9rem;font-weight:700;color:var(--ink);white-space:nowrap}
.rp-fold-s{flex:1;min-width:0;font-size:.78rem;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;visibility:hidden}
.rp-saju.rp-fold.is-closed .rp-fold-s{visibility:visible}
.rp-fold-head .rp-fold-btn{margin-left:auto;flex:none}
.rp-saju.rp-fold.is-closed{padding-bottom:0}
.rp-fold-body{padding-top:2px}
