/* ==========================================================================
   월하명감(月下明鑑) v9.7 — 조선 왕실 장서각 리더십 UX + 듀얼 PDF 마스터북 & 일일 라운지 전용 스타일시트
   ========================================================================== */

/* 1. Step 3.5 (전용 200자 맞춤 질문 화면) */
.v9-q-box-wrap {
  background: rgba(16, 19, 28, 0.78);
  border: 1.5px solid rgba(226, 195, 137, 0.55);
  border-radius: 16px;
  padding: 16px;
  margin-top: 12px;
  backdrop-filter: blur(12px);
  text-align: left;
}
.v9-q-textarea {
  width: 100%;
  min-height: 118px;
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.24);
  border-radius: 11px;
  padding: 12px 13px;
  color: #FFFDF9;
  font-family: 'Pretendard', sans-serif;
  font-size: 14px;
  line-height: 1.6;
  resize: none;
  outline: none;
}
.v9-q-textarea::placeholder {
  color: rgba(255, 255, 255, 0.52);
}
.v9-q-textarea:focus {
  border-color: #E8CF96;
  background: rgba(255, 255, 255, 0.12);
}
.v9-q-counter-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: 7px;
  font-size: 11.5px;
  color: rgba(255, 255, 255, 0.72);
}
.v9-q-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 10px;
}
.v9-q-chip {
  background: rgba(232, 207, 150, 0.16);
  border: 1px solid rgba(232, 207, 150, 0.45);
  color: #FFEAB8;
  border-radius: 99px;
  padding: 5px 10px;
  font-size: 11.5px;
  font-weight: 700;
  cursor: pointer;
  transition: background 0.18s ease;
}
.v9-q-chip:hover {
  background: rgba(232, 207, 150, 0.28);
}

/* 2. SD 캐릭터 비동기 서버 대기실 */
.v9-wait-room {
  padding: 24px 18px 36px;
  background: #FCFBF9;
  min-height: 76vh;
}
.v9-wait-hero {
  background: #FFFFFF;
  border: 1.5px solid #E3D6BE;
  border-radius: 20px;
  padding: 22px 18px 20px;
  text-align: center;
  box-shadow: 0 12px 32px rgba(42, 31, 16, 0.07);
}
.v9-sd-stage-img {
  width: 148px;
  height: 148px;
  margin: 0 auto 12px;
  border-radius: 24px;
  overflow: hidden;
  border: 2px solid #DFC496;
  background: #FAF5EB;
  box-shadow: 0 8px 22px rgba(138, 90, 30, 0.14);
  animation: v9FloatBob 2.6s ease-in-out infinite;
}
.v9-sd-stage-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
@keyframes v9FloatBob {
  0%, 100% { transform: translateY(0px); }
  50% { transform: translateY(-5px); }
}
.v9-wait-badge {
  display: inline-block;
  background: #FCFBF9;
  color: #B5382A;
  border: 1px solid #E5E0D5;
  border-radius: 99px;
  padding: 3px 11px;
  font-size: 11.5px;
  font-weight: 800;
  margin-bottom: 8px;
}
.v9-wait-title {
  font-family: 'Noto Serif KR', serif;
  font-size: 17.5px;
  font-weight: 800;
  color: #1D1813;
  line-height: 1.42;
  margin: 0 0 6px;
}
.v9-wait-sub {
  font-size: 12.8px;
  color: #6E6559;
  line-height: 1.55;
  margin: 0 0 14px;
}
.v9-prog-track {
  width: 100%;
  height: 11px;
  background: #EAE2D3;
  border-radius: 99px;
  overflow: hidden;
  position: relative;
}
.v9-prog-fill {
  height: 100%;
  background: linear-gradient(90deg, #B5382A 0%, #D99B38 100%);
  border-radius: 99px;
  transition: width 0.35s ease;
}
.v9-prog-meta {
  display: flex;
  justify-content: space-between;
  font-size: 11.5px;
  font-weight: 800;
  color: #7A6B56;
  margin-top: 7px;
}
.v9-fast-btn {
  margin-top: 14px;
  width: 100%;
  border: 1.5px solid #1E4E40;
  background: #1E4E40;
  color: #FFFFFF;
  border-radius: 12px;
  padding: 12px 14px;
  font-size: 13.5px;
  font-weight: 800;
  cursor: pointer;
  transition: transform 0.15s ease, opacity 0.15s ease;
}
.v9-fast-btn:hover {
  opacity: 0.94;
}
.v9-col-sec-hd {
  margin: 22px 2px 10px;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.v9-col-sec-hd strong {
  font-family: 'Noto Serif KR', serif;
  font-size: 15.5px;
  color: #1F1A15;
}
.v9-col-card {
  background: #FFFFFF;
  border: 1px solid #E4DAC8;
  border-radius: 14px;
  padding: 14px 15px;
  margin-bottom: 10px;
  cursor: pointer;
}
.v9-col-card .c-kicker {
  font-size: 10.5px;
  font-weight: 800;
  color: #9A6B25;
  margin-bottom: 3px;
}
.v9-col-card .c-title {
  font-size: 14px;
  font-weight: 800;
  color: #1B1713;
  line-height: 1.42;
}
.v9-col-card .c-sum {
  font-size: 12.4px;
  color: #6B6257;
  margin-top: 4px;
  line-height: 1.55;
}
.v9-col-card .c-body {
  display: none;
  margin-top: 10px;
  padding-top: 10px;
  border-top: 1px dashed #E5DCCB;
  font-size: 13px;
  color: #2F2923;
  line-height: 1.72;
}
.v9-col-card.expanded .c-body {
  display: block;
}

/* 3. 15장 페이지네이션 리더 & 스포트라이트 사주 원국표 */
.v9-reader-topbar {
  position: sticky;
  top: 0;
  z-index: 25;
  background: rgba(252, 251, 247, 0.97);
  backdrop-filter: blur(8px);
  border-bottom: 1px solid #E4DBC9;
  padding: 9px 14px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 8px;
}
.v9-ch-indicator {
  display: flex;
  align-items: center;
  gap: 7px;
  min-width: 0;
}
.v9-ch-badge {
  background: #1E1915;
  color: #F4D89E;
  font-size: 11px;
  font-weight: 800;
  padding: 3px 9px;
  border-radius: 99px;
  white-space: nowrap;
}
.v9-char-pill {
  font-size: 11px;
  font-weight: 700;
  color: #8A5A1E;
  background: #FAF2E1;
  border: 1px solid #E5D1AC;
  padding: 2px 8px;
  border-radius: 99px;
  white-space: nowrap;
}
.v9-top-actions {
  display: flex;
  gap: 5px;
  flex-shrink: 0;
}
.v9-mini-btn {
  border: 1px solid #D5C7B0;
  background: #FFFFFF;
  color: #262019;
  border-radius: 7px;
  padding: 5px 8px;
  font-size: 11px;
  font-weight: 800;
  cursor: pointer;
}
.v9-mini-btn.crimson {
  background: #9E3428;
  border-color: #9E3428;
  color: #FFFFFF;
}

.v9-chapter-wrap {
  padding: 16px 15px 32px;
  background: #FCFBF7;
}
.v9-ch-hero-banner {
  background: #141720; border: 1px solid #2A3040;
  color: #FAF4E8;
  border-radius: 14px;
  padding: 16px 16px 15px;
  border-left: none;
  margin-bottom: 14px;
}
.v9-ch-hero-banner .kicker {
  font-size: 11px;
  font-weight: 800;
  color: #E8CB93;
  letter-spacing: 1px;
}
.v9-ch-hero-banner h3 {
  font-family: 'Noto Serif KR', serif;
  font-size: 19px;
  font-weight: 800;
  margin: 5px 0 6px;
  line-height: 1.38;
  color: #FFFFFF;
}
.v9-ch-hero-banner .sub {
  font-size: 12px;
  color: #D7DEE8;
  line-height: 1.5;
}

/* 상담사 웹툰 말풍선 */
.v9-counsel-bubble {
  display: flex;
  gap: 11px;
  align-items: flex-start;
  margin: 10px 0;
}
.v9-cb-avatar {
  width: 44px;
  height: 44px;
  border-radius: 50%;
  overflow: hidden;
  border: 1.8px solid #C8A96E;
  background: #231C16;
  flex-shrink: 0;
}
.v9-cb-avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.v9-cb-text {
  flex: 1;
  background: #FCFBF9;
  border: 1px solid #E2D5BE;
  border-radius: 2px 14px 14px 14px;
  padding: 11px 13px;
  font-size: 13.8px;
  color: #221C16;
  line-height: 1.65;
}
.v9-counsel-bubble.outro .v9-cb-text {
  background: #FCFBF9;
  border-color: #E5E0D5;
}
.v9-cb-spk {
  display: block;
  font-size: 11px;
  font-weight: 800;
  color: #8A5A1E;
  margin-bottom: 3px;
}
.v9-counsel-bubble.outro .v9-cb-spk {
  color: #1F5442;
}

/* 스포트라이트 사주팔자 8글자 명반 */
.v9-spotlight-chart {
  background: #FFFFFF;
  border: 1.5px solid #DED2BC;
  border-radius: 15px;
  padding: 14px 12px;
  margin: 14px 0;
  box-shadow: 0 6px 18px rgba(36, 28, 16, 0.05);
}
.v9-sc-top {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 10px;
  gap: 6px;
}
.v9-sc-who {
  font-size: 13px;
  font-weight: 800;
  color: #1D1813;
}
.v9-tag-chip {
  background: #B5382A;
  color: #FFFFFF;
  font-size: 11px;
  font-weight: 800;
  padding: 3px 9px;
  border-radius: 99px;
}
.v9-pillars-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 7px;
}
.v9-pcol {
  border: 1px solid #E6DEC8;
  border-radius: 11px;
  padding: 8px 5px;
  text-align: center;
  background: #FCFBF8;
  transition: all 0.22s ease;
}
.v9-pcol.dimmed {
  opacity: 0.42;
  filter: grayscale(0.25);
}
.v9-pcol.lit {
  border: 2px solid #C84B31;
  background: #FCFBF9;
  box-shadow: 0 0 0 3px rgba(200, 75, 49, 0.14);
  transform: translateY(-2px);
}
.v9-pcol-hd {
  font-size: 10.5px;
  font-weight: 800;
  color: #6E6354;
  margin-bottom: 4px;
}
.v9-ptg {
  font-size: 10.5px;
  font-weight: 700;
  color: #3D352B;
  padding: 2px 0;
}
.v9-ptg.row-lit {
  color: #B5382A;
  font-weight: 900;
  background: #FCFBF9;
  border-radius: 4px;
}
.v9-gz-box {
  margin: 4px auto;
  width: 92%;
  border-radius: 8px;
  padding: 7px 2px;
  font-weight: 900;
  line-height: 1.15;
}
.v9-gz-box strong {
  font-family: 'Noto Serif KR', serif;
  font-size: 18px;
  display: block;
}
.v9-gz-box span {
  font-size: 10px;
  opacity: 0.92;
}
.v9-pst12 {
  font-size: 10px;
  color: #5C5246;
  margin-top: 3px;
  padding: 2px 0;
}
.v9-pst12.row-lit {
  background: #FCFBF9;
  color: #8A520F;
  font-weight: 800;
  border-radius: 4px;
}
.v9-pjjg {
  font-size: 9.5px;
  color: #857B6D;
  margin-top: 2px;
}
.v9-sc-caption {
  margin-top: 10px;
  background: #F7F2E7;
  border-radius: 8px;
  padding: 8px 10px;
  font-size: 12px;
  font-weight: 700;
  color: #5B4626;
  line-height: 1.5;
}

/* 전통 한지 산문 프레임 */
.v9-hanji-prose-frame {
  background: #FFFDF9;
  border: 1.5px solid #DED2BC;
  border-top: 1px solid #E5E0D5;
  border-radius: 14px;
  padding: 20px 17px;
  margin: 14px 0;
  box-shadow: 0 8px 24px rgba(32, 24, 14, 0.04);
}
.v9-sec-block {
  margin-bottom: 24px;
  padding-bottom: 20px;
  border-bottom: 1px dashed #E6DCCB;
}
.v9-sec-block:last-child {
  margin-bottom: 0;
  padding-bottom: 0;
  border-bottom: none;
}
.v9-sec-subhead {
  font-family: 'Noto Serif KR', serif;
  font-size: 16.5px;
  font-weight: 800;
  color: #191510;
  line-height: 1.44;
  margin: 0 0 10px;
  padding: 0 0 8px 0;
  border-bottom: 1px solid #E5E0D5;
}
.v9-sec-highlight {
  background: #FCFBF9;
  border: 1px solid #E5E0D5;
  color: #8E271B;
  border-radius: 9px;
  padding: 10px 12px;
  font-size: 13.5px;
  font-weight: 800;
  line-height: 1.58;
  margin-bottom: 12px;
}
.v9-sec-p {
  font-size: 15.2px;
  line-height: 1.86;
  color: #26211B;
  margin: 0 0 12px;
  letter-spacing: -0.15px;
}
.v9-sec-p:last-child {
  margin-bottom: 0;
}

/* 미래 배우자 인상화 카드 (제8장) */
.v9-spouse-card {
  background: #FCFBF9;
  border: 1.5px solid #D8BC8E;
  border-radius: 16px;
  padding: 18px 16px;
  margin: 14px 0;
  text-align: center;
}
.v9-spouse-portrait {
  width: 196px;
  height: 196px;
  margin: 8px auto 14px;
  border-radius: 20px;
  overflow: hidden;
  border: 2.5px solid #C8A96E;
  box-shadow: 0 12px 28px rgba(72, 48, 18, 0.16);
  cursor: zoom-in;
}
.v9-spouse-portrait img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.v9-spouse-meta-list {
  text-align: left;
  background: #FFFFFF;
  border: 1px solid #E5D8C1;
  border-radius: 12px;
  padding: 12px 13px;
  margin-top: 12px;
  font-size: 13px;
  line-height: 1.68;
  color: #2E271F;
}

/* 제13장 밀봉 1:1 질문 & 추가질문 카드 */
.v9-wax-banner {
  display: flex;
  align-items: center;
  gap: 13px;
  background: linear-gradient(135deg, #241917 0%, #38221E 100%);
  color: #FAF2E6;
  border: 1.5px solid #D4AF72;
  border-radius: 15px;
  padding: 14px;
  margin: 14px 0;
}
.v9-wax-banner img {
  width: 68px;
  height: 68px;
  border-radius: 12px;
  object-fit: cover;
  border: 1px solid #E2C389;
  flex-shrink: 0;
}
.v9-qa-card {
  background: #FFFFFF;
  border: 1.5px solid #DFCEB4;
  border-radius: 15px;
  padding: 17px 15px;
  margin-bottom: 14px;
  box-shadow: 0 6px 18px rgba(45, 32, 16, 0.05);
}
.v9-qa-card.is-followup {
  border-color: #215746;
  background: #FCFBF9;
}
.v9-qa-badge {
  display: inline-block;
  background: #231C16;
  color: #F4D89E;
  font-size: 11px;
  font-weight: 800;
  padding: 3px 9px;
  border-radius: 6px;
  margin-bottom: 8px;
}
.v9-qa-card.is-followup .v9-qa-badge {
  background: #1B4D3E;
  color: #FFFFFF;
}
.v9-qa-question {
  font-family: 'Noto Serif KR', serif;
  font-size: 15.8px;
  font-weight: 800;
  color: #181410;
  line-height: 1.45;
  margin-bottom: 8px;
}
.v9-qa-headline {
  background: #FCFBF9; border-top: 1px solid #E5E0D5; border-bottom: 1px solid #E5E0D5;
  border-left: none;
  padding: 9px 11px;
  border-radius: 0;
  font-size: 13.4px;
  font-weight: 800;
  color: #8F2519;
  line-height: 1.55;
  margin-bottom: 12px;
}
.v9-lotto-balls {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  align-items: center;
  margin: 10px 0;
  padding: 10px 12px;
  background: #FCFBF9;
  border: 1px solid #E8CA88;
  border-radius: 10px;
}
.v9-lotto-ball {
  width: 30px;
  height: 30px;
  border-radius: 50%;
  background: linear-gradient(145deg, #D99B26, #9E6810);
  color: #FFFFFF;
  font-size: 12.5px;
  font-weight: 900;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 2px 6px rgba(0,0,0,0.18);
}

/* 제14장 듀얼 PDF 발급 스튜디오 */
.v9-dual-pdf-card {
  background: linear-gradient(165deg, #161D2B 0%, #221A17 100%);
  color: #FAF4E8;
  border: 1.5px solid #D4B272;
  border-radius: 18px;
  padding: 20px 16px;
  margin: 16px 0;
  box-shadow: 0 14px 34px rgba(15, 18, 28, 0.22);
}
.v9-dual-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 10px;
  margin-top: 14px;
}
.v9-pdf-edition-box {
  background: rgba(255, 255, 255, 0.07);
  border: 1px solid rgba(212, 178, 114, 0.48);
  border-radius: 13px;
  padding: 14px;
}
.v9-pdf-edition-box.unabridged {
  background: linear-gradient(135deg, rgba(181, 56, 42, 0.24) 0%, rgba(212, 178, 114, 0.15) 100%);
  border: 1.5px solid #E8C98B;
}
.v9-btn-pdf {
  width: 100%;
  margin-top: 10px;
  padding: 13px 14px;
  border-radius: 10px;
  border: none;
  font-size: 13.8px;
  font-weight: 800;
  cursor: pointer;
}
.v9-btn-pdf.summary {
  background: #FAF6EE;
  color: #1B1713;
}
.v9-btn-pdf.unabridged {
  background: linear-gradient(90deg, #C84B31 0%, #B5382A 100%);
  color: #FFFFFF;
  box-shadow: 0 6px 16px rgba(181, 56, 42, 0.35);
}

/* 하단 고정 챕터 네비게이터 바 */
.v9-bottom-nav {
  display: grid;
  grid-template-columns: auto 1fr 1.15fr;
  gap: 8px;
  width: 100%;
  padding: 10px 14px calc(10px + env(safe-area-inset-bottom, 0px));
  background: rgba(255, 253, 249, 0.98);
  border-top: 1px solid #DFD5C3;
}
.v9-nav-btn {
  border-radius: 11px;
  padding: 12px 12px;
  font-size: 13.5px;
  font-weight: 800;
  cursor: pointer;
  border: 1px solid #D5C8B2;
  background: #FFFFFF;
  color: #241E18;
}
.v9-nav-btn.next {
  background: #1E4E40;
  border-color: #1E4E40;
  color: #FFFFFF;
}
.v9-nav-btn:disabled {
  opacity: 0.38;
  cursor: default;
}

/* 바텀시트 & 모달 (15장 목차 / 추가질문 4,900원 / 5표정 후기 & 무료쿠폰) */
.v9-modal-backdrop {
  position: fixed;
  inset: 0;
  background: rgba(12, 14, 20, 0.72);
  backdrop-filter: blur(5px);
  z-index: 320;
  display: none;
  align-items: flex-end;
  justify-content: center;
}
.v9-modal-backdrop.open {
  display: flex;
}
.v9-sheet-panel {
  width: 100%;
  max-width: 480px;
  max-height: 88dvh;
  background: #FCFBF7;
  border-radius: 22px 22px 0 0;
  overflow-y: auto;
  padding: 20px 18px 28px;
  box-shadow: 0 -14px 40px rgba(0, 0, 0, 0.32);
}
.v9-toc-item {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 12px 13px;
  border-radius: 11px;
  border: 1px solid #E6DEC8;
  background: #FFFFFF;
  margin-bottom: 7px;
  cursor: pointer;
}
.v9-toc-item.active {
  border-color: #B5382A;
  background: #FCFBF9;
}
.v9-face-row {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 7px;
  margin: 14px 0;
}
.v9-face-btn {
  border: 1.5px solid #E2D8C5;
  background: #FFFFFF;
  border-radius: 12px;
  padding: 10px 4px;
  text-align: center;
  cursor: pointer;
}
.v9-face-btn.selected {
  border-color: #B5382A;
  background: #FCFBF9;
  transform: translateY(-2px);
}
.v9-face-btn .emo {
  font-size: 24px;
  display: block;
  margin-bottom: 4px;
}
.v9-face-btn .lbl {
  font-size: 11px;
  font-weight: 800;
  color: #3A3228;
}

/* ==========================================================================
   v9.5 업그레이드 — 인간 문체 하이라이트 위계 · 3단 난이도 리더 · 무삭제 파스파르투 액자 · 검수 스튜디오
   ========================================================================== */
.v9-sec-p {
  color: #3A3229;
  line-height: 1.88;
  word-break: keep-all;
}
.w-hl {
  background: linear-gradient(transparent 56%, rgba(235, 198, 112, 0.50) 56%);
  color: #14100B;
  font-weight: 700;
  padding: 0 2px;
  border-radius: 2px;
}
.w-em {
  color: #15100B;
  font-weight: 700;
}
.w-num {
  color: #9E2B1E;
  font-weight: 800;
}

/* 16:9 무삭제 파스파르투(Passe-Partout) 원화 액자 — 잘림 0% */
.v9-art-frame {
  margin: 14px 0;
  padding: 7px;
  background: #F4EDE0;
  border: 1.5px solid #D6C4A3;
  border-radius: 14px;
  box-shadow: 0 8px 22px rgba(28, 21, 12, 0.07);
  cursor: zoom-in;
}
.v9-art-frame-inner {
  background: #10141E;
  border-radius: 9px;
  overflow: hidden;
  aspect-ratio: 16 / 9;
  display: flex;
  align-items: center;
  justify-content: center;
}
.v9-art-frame-inner img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: block;
  background: #10141E;
}
.v9-art-cap {
  font-size: 11.5px;
  font-weight: 700;
  color: #5E503E;
  text-align: center;
  margin-top: 6px;
}

/* 일주(나 자신·본원) 골든 하이라이트 & 1단계 왕초보 가이드 */
.v9-pcol.is-day-master {
  border: 1.5px solid #181613;
  background: #FFFFFF;
  box-shadow: none;
}
.v9-me-pill {
  display: inline-block;
  background: linear-gradient(90deg, #B45309 0%, #D97706 100%);
  color: #FFFFFF;
  font-size: 9.6px;
  font-weight: 900;
  padding: 1.5px 5px;
  border-radius: 99px;
  letter-spacing: -0.02em;
  vertical-align: middle;
}
.v9-ptg.is-me-tg {
  color: #B45309;
  font-weight: 900;
}
.v9-gz-box.v9-dm-stem-focus {
  border: 1.5px solid #181613 !important;
  box-shadow: none !important;
  position: relative;
  padding-top: 5px;
}
.v9-dm-stem-ribbon {
  display: inline-block;
  background: #181613;
  color: #F4D89E;
  border: 1px solid #181613;
  border-radius: 99px;
  font-size: 9.2px;
  font-weight: 900;
  padding: 1px 5px;
  margin-bottom: 3px;
  line-height: 1.25;
  letter-spacing: -0.03em;
  white-space: nowrap;
}
.v9-dm-guide-note {
  margin-top: 10px;
  background: #FCFBF9;
  border: 1px solid #E5E0D5;
  border-radius: 9px;
  padding: 9px 11px;
  font-size: 12.6px;
  font-weight: 700;
  color: #2A241C;
  line-height: 1.5;
}

/* 진짜 3단계 눈높이 리더 스위처 (1단계 쉬운 풀이 / 2단계 핵심 요약 / 3단계 정통 원문) */
.v9-tier-bar {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 6px;
  background: #F3ECE0;
  border: 1px solid #DFD2BA;
  border-radius: 12px;
  padding: 5px;
  margin: 12px 0 14px;
}
.v9-tier-btn {
  border: none;
  background: transparent;
  color: #5C5040;
  border-radius: 9px;
  padding: 10px 4px;
  font-size: 12.2px;
  font-weight: 800;
  cursor: pointer;
  transition: all 0.16s ease;
  white-space: nowrap;
}
.v9-tier-btn.active {
  background: #192132;
  color: #FFE7B3;
  box-shadow: 0 4px 10px rgba(25, 33, 50, 0.18);
}

/* 1단계 쉬운 풀이(Easy Tier) — 큼직하고 숨통 트이는 카드 레이아웃 */
.v9-easy-wrap {
  display: flex;
  flex-direction: column;
  gap: 13px;
  margin: 14px 0;
}
.v9-easy-lead {
  background: #FCFBF9;
  border: 1.5px solid #DEC699;
  border-left: none;
  border-radius: 14px;
  padding: 15px 16px;
  color: #1D1711;
}
.v9-easy-lead-kicker {
  display: inline-block;
  background: #9E2B1E;
  color: #FFFFFF;
  font-size: 11px;
  font-weight: 900;
  padding: 2.5px 9px;
  border-radius: 99px;
  margin-bottom: 8px;
}
.v9-easy-lead-main {
  font-size: 15.8px;
  font-weight: 800;
  color: #18130E;
  line-height: 1.62;
  letter-spacing: -0.015em;
  word-break: keep-all;
}
.v9-easy-bullets {
  margin: 10px 0 0;
  padding-left: 18px;
  font-size: 14.2px;
  font-weight: 600;
  color: #3A3126;
  line-height: 1.65;
}
.v9-easy-bullets li {
  margin-bottom: 4px;
  word-break: keep-all;
}
.v9-easy-card {
  background: #FFFFFF;
  border: 1px solid #E4DAC7;
  border-radius: 14px;
  padding: 17px 16px;
  box-shadow: 0 4px 14px rgba(32, 24, 14, 0.04);
}
.v9-easy-card-hd {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 9px;
}
.v9-easy-num {
  background: #231C16;
  color: #F4D89E;
  font-size: 11px;
  font-weight: 900;
  padding: 2.5px 8px;
  border-radius: 99px;
  flex-shrink: 0;
}
.v9-easy-card-hd strong {
  font-family: 'Pretendard Variable', 'Pretendard', sans-serif;
  font-size: 16px;
  font-weight: 800;
  color: #14110E;
  letter-spacing: -0.02em;
  line-height: 1.38;
}
.v9-easy-takeaway {
  background: #FCFBF9; border: 1px solid #E5E0D5;
  color: #8F2519;
  border-radius: 9px;
  padding: 9px 12px;
  font-size: 14px;
  font-weight: 800;
  margin-bottom: 10px;
  line-height: 1.56;
  word-break: keep-all;
}
.v9-easy-summary {
  font-size: 15.5px;
  line-height: 1.82;
  letter-spacing: -0.01em;
  color: #26201A;
  word-break: keep-all;
}
@media (max-width: 768px) {
  .v9-easy-summary {
    font-size: 16.5px;
  }
}
.v9-easy-tip {
  background: #FCFBF9;
  border: 1px solid #E5E0D5;
  border-radius: 13px;
  padding: 14px 15px;
  font-size: 14.5px;
  font-weight: 700;
  color: #1E1B17;
  line-height: 1.66;
  word-break: keep-all;
}
.v9-easy-next-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
  margin-top: 2px;
}
.v9-stage-jump-btn {
  width: 100%;
  border: 1.5px solid #C8A96E;
  background: #FFFDF8;
  color: #4A3820;
  border-radius: 12px;
  padding: 12px 10px;
  font-size: 13px;
  font-weight: 800;
  cursor: pointer;
  transition: background 0.15s ease;
}
.v9-stage-jump-btn.mid {
  border-color: #1E4E40;
  background: #FCFBF9;
  color: #174636;
}
.v9-mid-intro-bar {
  background: #F4EFE4;
  border: 1px solid #DFD2BA;
  border-radius: 9px;
  padding: 9px 12px;
  font-size: 12.8px;
  color: #3E3326;
  margin-bottom: 16px;
  line-height: 1.5;
}

/* 단계별 풀이(1·2·3단계) 보조 요소 — 2026-11-01 감수 ①② */
.v9-easy-caution {
  margin-top: 10px;
  padding: 9px 12px;
  background: #FCFBF9; border: 1px solid #E5E0D5;
  border-left: none;
  border-radius: 6px;
  font-size: 14.2px;
  line-height: 1.7;
  color: #3E3326;
  word-break: keep-all;
}
.v9-easy-caution strong { color: #8F2519; }
.v9-easy-evidence,
.v9-gloss {
  margin-top: 10px;
  border: 1px dashed #D9CCB0;
  border-radius: 10px;
  padding: 8px 12px;
  background: #FFFDF8;
  font-size: 13.4px;
  line-height: 1.7;
  color: #4A3F30;
}
.v9-easy-evidence summary,
.v9-gloss summary {
  cursor: pointer;
  font-weight: 800;
  color: #5A4A30;
}
.v9-easy-evidence p { margin: 8px 0 0; word-break: keep-all; }
.v9-gloss dl { margin: 8px 0 0; display: grid; grid-template-columns: max-content 1fr; gap: 4px 12px; }
.v9-gloss dt { font-weight: 800; color: #14110E; }
.v9-gloss dd { margin: 0; }
.v9-tier-notice {
  background: #FCFBF9;
  border: 1.5px solid #E5CFA0;
  border-radius: 13px;
  padding: 14px 15px;
  font-size: 14.2px;
  line-height: 1.7;
  color: #4A3820;
}
.v9-tier-notice .v9-easy-next-row { margin-top: 10px; }
.v9-mid-chart {
  margin-top: 14px;
  padding: 12px 14px;
  background: #FCFBF9;
  border: 1px solid #E5E0D5;
  border-radius: 12px;
}
.v9-annots { margin-top: 20px; display: grid; gap: 12px; }
.v9-annot {
  border-top: 2px solid #231C16;
  border-bottom: 1px solid #D9CCB0;
  padding: 10px 2px 8px;
}
.v9-annot-label {
  font-size: 12.6px;
  font-weight: 900;
  letter-spacing: 0.04em;
  color: #6B1F14;
  margin-bottom: 6px;
}
.v9-annot p {
  margin: 0 0 7px;
  font-size: 14.4px;
  line-height: 1.82;
  color: #2A241C;
  word-break: keep-all;
}

/* 2027 12개월 신호등 그리드 */
.v9-m27-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 8px;
  margin-top: 10px;
}
.v9-m27-cell {
  border: 1px solid #E5DEC9;
  border-radius: 11px;
  padding: 10px 11px;
  background: #FFFFFF;
}
.v9-m27-cell.green {
  background: #FCFBF9;
  border-color: #E5E0D5;
}
.v9-m27-cell.red {
  background: #FCFBF9;
  border-color: #E5E0D5;
}

/* 대표님 전용 원클릭 검수 플로팅 필 & 모달 (하단 결제·이동 버튼과 절대 겹치지 않도록 우측 상단/중하단 배치) */
.v9-founder-fab {
  position: fixed;
  right: 16px;
  bottom: 88px;
  z-index: 260;
  background: linear-gradient(135deg, #141B29 0%, #241C18 100%);
  color: #FFE6B0;
  border: 1.5px solid #D4B272;
  border-radius: 99px;
  padding: 8px 13px;
  font-size: 11.8px;
  font-weight: 800;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.28);
  cursor: pointer;
  display: flex;
  align-items: center;
  gap: 5px;
}
.v9-founder-fab:hover {
  transform: translateY(-2px);
}
.v9-inspect-panel {
  max-width: 680px !important;
  max-height: 90dvh !important;
}
.v9-archive-gallery-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 9px;
  margin-top: 10px;
}
.v9-arch-thumb {
  background: #F4EDE0;
  border: 1px solid #D6C4A3;
  border-radius: 10px;
  padding: 4px;
  cursor: zoom-in;
}
.v9-arch-thumb img {
  width: 100%;
  aspect-ratio: 16 / 9;
  object-fit: contain;
  background: #10141E;
  border-radius: 6px;
  display: block;
}
.v9-arch-thumb span {
  display: block;
  font-size: 10.5px;
  font-weight: 700;
  color: #4E4234;
  margin-top: 4px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* ==========================================================================
   v9.7 장서각 일일 무료 라운지 (6대 영역 일진 + 출석 도장첩 + 연락신호등 + 원카드 + 화보엽서)
   ========================================================================== */
.dl-home-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
  margin-top: 10px;
}
.dl-home-chip {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  background: rgba(255,255,255,0.92);
  border: 1px solid #DECAA4;
  border-radius: 99px;
  padding: 3.5px 9px;
  font-size: 11.3px;
  font-weight: 700;
  color: #3B2F22;
}
.dl-home-chip strong { color: #8E2B20; font-weight: 800; }

.w-dl-sec {
  background: #FFFFFF;
  border: 1px solid #E5D9C3;
  border-radius: 14px;
  padding: 16px 15px;
  margin-bottom: 14px;
  box-shadow: 0 4px 14px rgba(32, 24, 14, 0.04);
}
.w-dl-kicker {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  font-size: 11px;
  font-weight: 800;
  color: #8E3024;
  background: #FCFBF9; border-top: 1px solid #E5E0D5; border-bottom: 1px solid #E5E0D5;
  border: 1px solid #EDC9BF;
  border-radius: 99px;
  padding: 3px 9px;
  margin-bottom: 6px;
}
.w-dl-title {
  font-family: 'Noto Serif KR', serif;
  font-size: 16.5px;
  font-weight: 800;
  color: #1A1612;
  margin: 0 0 4px;
  line-height: 1.4;
}
.w-dl-sub {
  font-size: 12.4px;
  color: #6B6154;
  line-height: 1.55;
  margin-bottom: 12px;
}

/* 7일 출석 낙관 도장첩 */
.w-stamp-grid {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  gap: 5px;
  margin: 10px 0 12px;
}
.w-stamp-cell {
  background: #FAF6ED;
  border: 1px dashed #D6C3A1;
  border-radius: 10px;
  padding: 8px 2px 7px;
  text-align: center;
  position: relative;
}
.w-stamp-cell.done {
  background: #FFF9F5;
  border: 1.5px solid #C85042;
}
.w-stamp-day {
  font-size: 10px;
  font-weight: 700;
  color: #7A6E5D;
  display: block;
  margin-bottom: 4px;
}
.w-stamp-seal {
  width: 28px;
  height: 28px;
  margin: 0 auto;
  border-radius: 6px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: 'Noto Serif KR', serif;
  font-size: 12px;
  font-weight: 900;
  color: #C7B9A1;
  border: 1px dotted #D5C5AA;
}
.w-stamp-cell.done .w-stamp-seal {
  background: #B53225;
  color: #FFFDF9;
  border: 1.5px solid #8E1F14;
  transform: rotate(-6deg);
  box-shadow: 0 2px 6px rgba(181, 50, 37, 0.28);
  animation: wolhaSealPop 0.32s cubic-bezier(0.2, 0.9, 0.3, 1.2);
}
@keyframes wolhaSealPop {
  0% { transform: scale(1.45) rotate(-14deg); opacity: 0.3; }
  100% { transform: scale(1) rotate(-6deg); opacity: 1; }
}

/* 12시진 주의 막대 */
.sw-col.caution .sw-bar {
  background: linear-gradient(180deg, #D9776C 0%, #9E3328 100%) !important;
}
.sw-col.caution .sw-val {
  color: #F4A59C !important;
}

/* 연락 신호등 */
.w-sig-badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 12px;
  font-weight: 800;
  padding: 5px 11px;
  border-radius: 99px;
}
.w-sig-badge.green { background: #FCFBF9; color: #1B5E3A; border: 1px solid #B7E1C7; }
.w-sig-badge.yellow { background: #FCFBF9; color: #8A5A10; border: 1px solid #EDD295; }
.w-sig-badge.red { background: #FCFBF9; color: #9E2A1F; border: 1px solid #EABCB6; }

/* 하루 1장 달빛 원카드 3장 선택 */
.w-tarot3-row {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 10px;
  margin: 10px 0;
}
.w-tarot-back {
  aspect-ratio: 2 / 3;
  border-radius: 11px;
  background: radial-gradient(circle at 50% 35%, #2D264C 0%, #151226 78%);
  border: 1.5px solid #D4B475;
  box-shadow: 0 6px 14px rgba(18, 14, 34, 0.18);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  color: #F3DFB6;
  cursor: pointer;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
  padding: 8px;
  text-align: center;
}
.w-tarot-back:hover {
  transform: translateY(-4px);
  box-shadow: 0 10px 20px rgba(18, 14, 34, 0.26);
}

/* ==========================================================================
   v10.27 — 1단계(쉬운 풀이) 명반·오행 접기 아코디언, 유틸리티 안내 필 & 모바일 390px 상단바 정돈
   ========================================================================== */
.v9-stage1-proof-box {
  border: 1.5px solid #DFD2BA;
  border-radius: 14px;
  background: #FAF7F0;
  margin: 14px 0;
  overflow: hidden;
}
.v9-stage1-proof-box > summary {
  list-style: none;
  cursor: pointer;
  padding: 13px 15px;
  font-size: 13.5px;
  font-weight: 800;
  color: #3A2E20;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  user-select: none;
  line-height: 1.42;
}
.v9-stage1-proof-box > summary::-webkit-details-marker {
  display: none;
}
.v9-stage1-proof-box > summary:hover {
  background: #F4ECE0;
}
.v9-stage1-proof-box[open] > summary {
  background: #F4ECE0;
  border-bottom: 1px dashed #DFD2BA;
}
.v9-stage1-proof-body {
  padding: 12px 12px 6px;
  background: #FFFDF9;
}
.v9-utility-mode-pill {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: #F4EFE4;
  border: 1px solid #DFD2BA;
  color: #4A3B28;
  border-radius: 99px;
  padding: 6px 13px;
  font-size: 12px;
  font-weight: 800;
  margin-bottom: 12px;
  line-height: 1.4;
}
@media (max-width: 520px) {
  .v9-char-pill {
    display: none !important;
  }
}


/* === WOLHA EDITORIAL DE-AI OVERRIDE v11 === */
/* 1. 무채색 95% + 먹색(#111) + 인주색(#8B1D1D) 5% · 박스/알약/황토색/네이비배너 전면 철거 */
.v9-reader-topbar {
  background: rgba(255, 255, 255, 0.98) !important;
  border-bottom: 1px solid #E5E5E5 !important;
  padding: 11px 16px !important;
}
.v9-ch-badge {
  background: transparent !important;
  color: #111111 !important;
  font-family: 'Noto Serif KR', serif !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  padding: 0 !important;
  border-radius: 0 !important;
  letter-spacing: -0.02em !important;
}
.v9-char-pill {
  background: transparent !important;
  border: none !important;
  border-left: 1px solid #D4D4D4 !important;
  color: #767676 !important;
  font-size: 11.5px !important;
  font-weight: 400 !important;
  padding: 0 0 0 8px !important;
  border-radius: 0 !important;
}
.v9-mini-btn {
  border: 1px solid #D4D4D4 !important;
  background: #FFFFFF !important;
  color: #222222 !important;
  border-radius: 2px !important;
  padding: 5px 9px !important;
  font-size: 11.5px !important;
  font-weight: 500 !important;
}
.v9-mini-btn.crimson {
  background: #111111 !important;
  border-color: #111111 !important;
  color: #FFFFFF !important;
}

/* 2. 본문 배경 및 챕터 헤더 (시꺼먼 네이비 박스 철거 -> 문학동네/브런치 조판) */
.v9-chapter-wrap {
  padding: 24px 20px 48px !important;
  background: #FFFFFF !important;
}
.v9-ch-hero-banner {
  background: transparent !important;
  border: none !important;
  border-top: 2px solid #111111 !important;
  border-bottom: 1px solid #E5E5E5 !important;
  border-radius: 0 !important;
  padding: 20px 0 18px !important;
  margin-bottom: 20px !important;
  color: #111111 !important;
  text-align: left !important;
}
.v9-ch-hero-banner .kicker {
  font-family: 'Pretendard', sans-serif !important;
  font-size: 11.5px !important;
  font-weight: 600 !important;
  color: #767676 !important;
  letter-spacing: 0.08em !important;
  margin-bottom: 6px !important;
}
.v9-ch-hero-banner h3 {
  font-family: 'Noto Serif KR', serif !important;
  font-size: 22px !important;
  font-weight: 700 !important;
  color: #111111 !important;
  line-height: 1.42 !important;
  margin: 4px 0 10px !important;
  letter-spacing: -0.03em !important;
}
.v9-ch-hero-banner .sub {
  font-size: 12.5px !important;
  color: #666666 !important;
  justify-content: space-between !important;
}
.v9-ch-hero-banner .sub button {
  border: none !important;
  border-bottom: 1px solid #767676 !important;
  background: transparent !important;
  color: #333333 !important;
  border-radius: 0 !important;
  padding: 0 0 1px 0 !important;
  font-size: 11.5px !important;
  font-weight: 500 !important;
}

/* 3. 3단계 탭 바 (베이지 박스 철거 -> 미니멀 언더라인 탭) */
.v9-tier-bar {
  background: transparent !important;
  border: none !important;
  border-bottom: 1px solid #E5E5E5 !important;
  border-radius: 0 !important;
  padding: 0 !important;
  gap: 0 !important;
  margin: 0 0 24px !important;
}
.v9-tier-btn {
  border: none !important;
  border-bottom: 2px solid transparent !important;
  background: transparent !important;
  color: #888888 !important;
  border-radius: 0 !important;
  padding: 11px 4px !important;
  font-size: 13px !important;
  font-weight: 500 !important;
}
.v9-tier-btn.active {
  background: transparent !important;
  color: #111111 !important;
  font-weight: 700 !important;
  border-bottom: 2px solid #111111 !important;
  box-shadow: none !important;
}

/* 4. 챗봇 말풍선 + 동그란 아바타 철거 -> 에세이 발문(인용구)으로 변환 */
.v9-counsel-bubble {
  display: block !important;
  margin: 16px 0 24px !important;
}
.v9-cb-avatar {
  display: none !important;
}
.v9-cb-text, .v9-counsel-bubble.outro .v9-cb-text {
  background: transparent !important;
  border: none !important;
  border-left: 2px solid #111111 !important;
  border-radius: 0 !important;
  padding: 2px 0 2px 14px !important;
  font-family: 'Noto Serif KR', serif !important;
  font-size: 14.2px !important;
  color: #333333 !important;
  line-height: 1.8 !important;
}
.v9-cb-spk, .v9-counsel-bubble.outro .v9-cb-spk {
  font-family: 'Pretendard', sans-serif !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  color: #767676 !important;
  letter-spacing: 0.04em !important;
  margin-bottom: 4px !important;
}

/* 5. 박스 안의 박스(러시안 인형 카드) 철거 -> 여백과 실선 중심 에디토리얼 */
.v9-easy-wrap {
  gap: 0 !important;
  margin: 12px 0 !important;
}
.v9-easy-lead {
  background: #F8F8F7 !important;
  border: none !important;
  border-top: 1px solid #111111 !important;
  border-bottom: 1px solid #E5E5E5 !important;
  border-radius: 0 !important;
  padding: 20px 18px !important;
  margin-bottom: 8px !important;
  color: #111111 !important;
}
.v9-easy-lead-kicker {
  background: transparent !important;
  color: #8B1D1D !important;
  font-size: 11.5px !important;
  font-weight: 700 !important;
  padding: 0 !important;
  border-radius: 0 !important;
  letter-spacing: 0.04em !important;
  margin-bottom: 8px !important;
}
.v9-easy-lead-main {
  font-family: 'Noto Serif KR', serif !important;
  font-size: 16.5px !important;
  font-weight: 700 !important;
  color: #111111 !important;
  line-height: 1.68 !important;
}
.v9-easy-bullets {
  color: #333333 !important;
  font-weight: 400 !important;
  line-height: 1.75 !important;
  margin-top: 12px !important;
}
.v9-easy-card {
  background: transparent !important;
  border: none !important;
  border-bottom: 1px solid #EBEBEB !important;
  border-radius: 0 !important;
  padding: 24px 0 !important;
  box-shadow: none !important;
}
.v9-easy-card-hd {
  margin-bottom: 12px !important;
  gap: 10px !important;
}
.v9-easy-num {
  background: transparent !important;
  color: #111111 !important;
  border-bottom: 1.5px solid #111111 !important;
  border-radius: 0 !important;
  padding: 0 0 2px 0 !important;
  font-family: 'Noto Serif KR', serif !important;
  font-size: 12px !important;
  font-weight: 700 !important;
}
.v9-easy-card-hd strong {
  font-family: 'Noto Serif KR', serif !important;
  font-size: 17px !important;
  font-weight: 700 !important;
  color: #111111 !important;
}
.v9-easy-takeaway {
  background: transparent !important;
  border: none !important;
  color: #111111 !important;
  border-radius: 0 !important;
  padding: 0 !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  margin-bottom: 12px !important;
  line-height: 1.65 !important;
}
.v9-easy-summary {
  font-size: 15.5px !important;
  line-height: 1.9 !important;
  color: #2B2B2B !important;
  font-weight: 400 !important;
}
.v9-easy-caution {
  margin-top: 14px !important;
  padding: 12px 14px !important;
  background: #F8F8F7 !important;
  border: none !important;
  border-radius: 2px !important;
  font-size: 14px !important;
  color: #333333 !important;
}
.v9-easy-caution strong {
  color: #8B1D1D !important;
  font-weight: 600 !important;
}
.v9-easy-evidence, .v9-gloss {
  margin-top: 12px !important;
  border: none !important;
  border-top: 1px solid #EFEFEF !important;
  border-radius: 0 !important;
  padding: 10px 0 0 !important;
  background: transparent !important;
  color: #555555 !important;
}
.v9-easy-evidence summary, .v9-gloss summary {
  font-weight: 600 !important;
  color: #555555 !important;
  font-size: 12.5px !important;
}
.v9-easy-tip {
  background: #F8F8F7 !important;
  border: none !important;
  border-top: 1px solid #111111 !important;
  border-radius: 0 !important;
  padding: 18px 16px !important;
  margin-top: 16px !important;
  font-size: 14.5px !important;
  font-weight: 400 !important;
  color: #222222 !important;
}
.v9-stage-jump-btn, .v9-stage-jump-btn.mid {
  border: 1px solid #D4D4D4 !important;
  background: #FFFFFF !important;
  color: #111111 !important;
  border-radius: 2px !important;
  font-weight: 600 !important;
  padding: 12px 10px !important;
}

/* 6. 2단계 & 3단계 정통 원문 프레임 (박스 테두리 제거 -> 순수 종이책 조판) */
.v9-hanji-prose-frame {
  background: transparent !important;
  border: none !important;
  border-radius: 0 !important;
  padding: 4px 0 !important;
  margin: 10px 0 !important;
  box-shadow: none !important;
}
.v9-mid-intro-bar {
  background: #F8F8F7 !important;
  border: none !important;
  border-left: 2px solid #111111 !important;
  border-radius: 0 !important;
  color: #333333 !important;
}
.v9-sec-block {
  border-bottom: 1px solid #EBEBEB !important;
  padding-bottom: 24px !important;
  margin-bottom: 28px !important;
}
.v9-sec-subhead {
  font-family: 'Noto Serif KR', serif !important;
  font-size: 17.5px !important;
  font-weight: 700 !important;
  color: #111111 !important;
  border-bottom: none !important;
  padding-bottom: 0 !important;
  margin-bottom: 12px !important;
}
.v9-sec-highlight {
  background: transparent !important;
  border: none !important;
  border-left: 2px solid #8B1D1D !important;
  border-radius: 0 !important;
  padding: 2px 0 2px 12px !important;
  color: #111111 !important;
  font-weight: 600 !important;
  font-size: 14.5px !important;
  margin-bottom: 14px !important;
}
.v9-sec-p {
  color: #262626 !important;
  font-size: 15.5px !important;
  line-height: 1.92 !important;
  font-weight: 400 !important;
}
.w-hl {
  background: rgba(17, 17, 17, 0.07) !important;
  color: #111111 !important;
  font-weight: 600 !important;
  border-bottom: 1px solid #111111 !important;
  border-radius: 0 !important;
}
.w-em {
  color: #111111 !important;
  font-weight: 600 !important;
}
.w-num {
  color: #8B1D1D !important;
  font-weight: 600 !important;
}

/* 7. 화보 액자 (누런 베이지 매트 제거 -> 미술관 직각 프레임) */
.v9-art-frame {
  margin: 20px 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}
.v9-art-frame-inner {
  border-radius: 0 !important;
  border: 1px solid #E5E5E5 !important;
  background: #111111 !important;
}
.v9-art-cap {
  font-size: 11.5px !important;
  font-weight: 400 !important;
  color: #767676 !important;
  text-align: left !important;
  margin-top: 8px !important;
}

/* 8. 사주 원국표 & 아코디언 (무채색 격자 도표) */
.v9-stage1-proof-box {
  border: 1px solid #E5E5E5 !important;
  border-radius: 0 !important;
  background: #FFFFFF !important;
  margin: 24px 0 !important;
}
.v9-stage1-proof-box > summary {
  background: #F8F8F7 !important;
  color: #111111 !important;
  font-weight: 600 !important;
  font-size: 13px !important;
}
.v9-stage1-proof-body {
  background: #FFFFFF !important;
}
.v9-spotlight-chart {
  background: #FFFFFF !important;
  border: 1px solid #E5E5E5 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}
.v9-tag-chip, .v9-me-pill, .v9-dm-stem-ribbon, .v9-qa-badge {
  background: #111111 !important;
  color: #FFFFFF !important;
  border: none !important;
  border-radius: 2px !important;
  font-weight: 600 !important;
}
.v9-pcol {
  border: 1px solid #E5E5E5 !important;
  border-radius: 0 !important;
  background: #FFFFFF !important;
}
.v9-pcol.lit, .v9-pcol.is-day-master {
  border: 1.5px solid #111111 !important;
  background: #F8F8F7 !important;
  box-shadow: none !important;
  transform: none !important;
}
.v9-gz-box {
  border-radius: 0 !important;
}
.v9-sc-caption, .v9-dm-guide-note {
  background: #F8F8F7 !important;
  border: none !important;
  border-radius: 0 !important;
  color: #333333 !important;
  font-weight: 400 !important;
}
.v9-qa-card {
  border: 1px solid #E5E5E5 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

/* 9. 하단 고정 네비게이션 바 */
.v9-bottom-nav {
  background: rgba(255, 255, 255, 0.98) !important;
  border-top: 1px solid #E5E5E5 !important;
}
.v9-nav-btn {
  border-radius: 2px !important;
  border: 1px solid #D4D4D4 !important;
  background: #FFFFFF !important;
  color: #111111 !important;
  font-weight: 600 !important;
}
.v9-nav-btn.next {
  background: #111111 !important;
  border-color: #111111 !important;
  color: #FFFFFF !important;
}


/* === WOLHA V13 — 2번안(문학동네·창비 에세이 스타일: Prussian Navy #162A45 & Terracotta #A63A2B) 웹 리더 정본 === */
.v9-reader-topbar {
  background: rgba(255, 255, 255, 0.98) !important;
  border-bottom: 1.5px solid #162A45 !important;
  padding: 11px 16px !important;
}
.v9-ch-badge {
  background: #162A45 !important;
  color: #FFFFFF !important;
  font-family: 'Noto Serif KR', serif !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  padding: 3px 9px !important;
  border-radius: 0 !important;
}
.v9-char-pill {
  color: #A63A2B !important;
  font-weight: 600 !important;
}
.v9-mini-btn {
  border: 1px solid #C5CEDB !important;
  background: #FFFFFF !important;
  color: #162A45 !important;
  border-radius: 0 !important;
  font-weight: 600 !important;
}
.v9-mini-btn.crimson {
  background: #A63A2B !important;
  border-color: #A63A2B !important;
  color: #FFFFFF !important;
}

.v9-chapter-wrap {
  padding: 24px 20px 48px !important;
  background: #FFFFFF !important;
}
.v9-ch-hero-banner {
  background: #FFFFFF !important;
  border: none !important;
  border-top: 2px solid #162A45 !important;
  border-bottom: 1px solid #D6DCE5 !important;
  border-radius: 0 !important;
  padding: 20px 0 18px !important;
  margin-bottom: 18px !important;
  color: #1A1D24 !important;
  text-align: left !important;
}
.v9-ch-hero-banner .kicker {
  font-family: 'Pretendard', sans-serif !important;
  font-size: 11.5px !important;
  font-weight: 700 !important;
  color: #A63A2B !important;
  letter-spacing: 0.08em !important;
  margin-bottom: 6px !important;
}
.v9-ch-hero-banner h3 {
  font-family: 'Noto Serif KR', serif !important;
  font-size: 22px !important;
  font-weight: 700 !important;
  color: #162A45 !important;
  line-height: 1.42 !important;
  margin: 4px 0 10px !important;
  letter-spacing: -0.03em !important;
}
.v9-ch-hero-banner .sub {
  font-size: 12.5px !important;
  color: #4A5568 !important;
  justify-content: space-between !important;
}

/* 3단계 탭 바 (2번안 프러시안 네이비 & 테라코타 언더라인 탭) */
.v9-tier-bar {
  background: #FFFFFF !important;
  border: none !important;
  border-bottom: 1px solid #D6DCE5 !important;
  border-radius: 0 !important;
  padding: 0 !important;
  margin: 0 0 22px !important;
}
.v9-tier-btn {
  border: none !important;
  border-bottom: 2.5px solid transparent !important;
  background: transparent !important;
  color: #6E7A8A !important;
  border-radius: 0 !important;
  padding: 11px 4px !important;
  font-size: 13px !important;
  font-weight: 600 !important;
}
.v9-tier-btn.active {
  background: transparent !important;
  color: #162A45 !important;
  font-weight: 800 !important;
  border-bottom: 2.5px solid #A63A2B !important;
  box-shadow: none !important;
}

/* 상담사 발문 (좌측 세로 막대 대신 상하 실선 에세이 발문) */
.v9-cb-text, .v9-counsel-bubble.outro .v9-cb-text {
  background: #FFFFFF !important;
  border: none !important;
  border-top: 1px solid #162A45 !important;
  border-bottom: 1px solid #D6DCE5 !important;
  border-radius: 0 !important;
  padding: 12px 2px !important;
  font-family: 'Noto Serif KR', serif !important;
  font-size: 14.2px !important;
  color: #1E2430 !important;
  line-height: 1.82 !important;
}
.v9-cb-spk, .v9-counsel-bubble.outro .v9-cb-spk {
  font-family: 'Pretendard', sans-serif !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  color: #A63A2B !important;
  letter-spacing: 0.05em !important;
  margin-bottom: 4px !important;
}

/* 장 도입부 핵심 결론 박스 (AI풍 좌측 세로줄 완전 배제 -> 2번안 네이비·테라코타 상하단 프레임) */
.v9-easy-lead {
  background: #FFFFFF !important;
  border: none !important;
  border-top: 2px solid #162A45 !important;
  border-bottom: 1px solid #162A45 !important;
  border-radius: 0 !important;
  padding: 18px 4px !important;
  margin-bottom: 18px !important;
}
.v9-easy-lead-kicker {
  color: #A63A2B !important;
  font-size: 11.5px !important;
  font-weight: 800 !important;
  letter-spacing: 0.06em !important;
  margin-bottom: 6px !important;
}
.v9-easy-lead-main {
  font-family: 'Noto Serif KR', serif !important;
  font-size: 17px !important;
  font-weight: 700 !important;
  color: #162A45 !important;
  line-height: 1.65 !important;
}

/* 소제목 넘버링 & 핵심 맥점 (2번안 네이비 뱃지 + 상하 실선 맥점) */
.v9-easy-num {
  background: #162A45 !important;
  color: #FFFFFF !important;
  border: none !important;
  padding: 3px 8px !important;
  font-family: 'Noto Serif KR', serif !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: 0.04em !important;
}
.v9-easy-card-hd strong, .v9-sec-subhead {
  font-family: 'Noto Serif KR', serif !important;
  color: #162A45 !important;
  font-weight: 700 !important;
}
.v9-sec-subhead {
  border-bottom: 1px solid #D6DCE5 !important;
  padding-bottom: 6px !important;
  margin-bottom: 12px !important;
}
.v9-easy-takeaway, .v9-sec-highlight {
  background: #FFFFFF !important;
  border: none !important;
  border-top: 1px solid #D6DCE5 !important;
  border-bottom: 1px solid #D6DCE5 !important;
  color: #162A45 !important;
  padding: 9px 2px !important;
  font-size: 14.2px !important;
  font-weight: 700 !important;
  margin-bottom: 14px !important;
  line-height: 1.62 !important;
}
.v9-easy-summary, .v9-sec-p {
  font-family: 'Noto Serif KR', serif !important;
  color: #1E2229 !important;
  font-size: 15.2px !important;
  line-height: 1.92 !important;
}

/* 본문 밑줄 강조 & 초두문자(Drop Cap) — 2번안 문학동네 스타일 */
.w-hl {
  background: transparent !important;
  color: #162A45 !important;
  font-weight: 700 !important;
  border-bottom: 1.5px solid #A63A2B !important;
  padding: 0 1px 1px 1px !important;
}
.w-em {
  color: #162A45 !important;
  font-weight: 700 !important;
}
.w-num {
  color: #A63A2B !important;
  font-weight: 700 !important;
}
.v9-sec-block:first-of-type .v9-sec-p:first-of-type::first-letter {
  float: left;
  font-family: 'Noto Serif KR', serif;
  font-size: 2.65em;
  line-height: 0.88;
  padding: 3px 8px 0 0;
  font-weight: 700;
  color: #162A45;
}

/* 주의사항 및 오늘의 실천 처방 박스 (2번안 상하 실선 조판) */
.v9-easy-caution {
  background: #FFFFFF !important;
  border: none !important;
  border-top: 1px dashed #C5CEDB !important;
  border-bottom: 1px dashed #C5CEDB !important;
  border-radius: 0 !important;
  padding: 11px 2px !important;
}
.v9-easy-caution strong {
  color: #A63A2B !important;
}
.v9-easy-tip {
  background: #FFFFFF !important;
  border: 1px solid #D6DCE5 !important;
  border-top: 2px solid #162A45 !important;
  border-radius: 0 !important;
  padding: 16px !important;
}

/* 2번안 전용: 웹 화면 15첩 전 장 쉬운 요약표 & 3초 표 읽기 가이드 박스 */
.v9-munhak-widget {
  background: #FFFFFF;
  border-top: 1.5px solid #162A45;
  border-bottom: 1px solid #162A45;
  padding: 16px 0;
  margin: 18px 0 22px;
  font-family: 'Pretendard', sans-serif;
}
.v9-mw-kicker {
  font-size: 11px;
  font-weight: 800;
  color: #A63A2B;
  letter-spacing: 0.06em;
  margin-bottom: 4px;
}
.v9-mw-headline {
  font-family: 'Noto Serif KR', serif;
  font-size: 16.5px;
  font-weight: 700;
  color: #162A45;
  line-height: 1.42;
  margin-bottom: 10px;
}
.v9-mw-guide {
  background: #FFFFFF;
  border-top: 1px solid #C5CEDB;
  border-bottom: 1px solid #C5CEDB;
  padding: 10px 4px;
  margin: 8px 0 12px;
  font-size: 12.6px;
  line-height: 1.68;
  color: #262C36;
}
.v9-mw-guide-hd {
  font-size: 12px;
  font-weight: 800;
  color: #162A45;
  margin-bottom: 4px;
}
.v9-mw-guide-row {
  margin-top: 2px;
}
.v9-mw-guide-row strong {
  color: #A63A2B;
  font-weight: 700;
}
.v9-mw-tbl-scroll {
  width: 100%;
  overflow-x: auto;
}
.v9-mw-tbl {
  width: 100%;
  border-collapse: collapse;
  font-size: 12.5px;
  line-height: 1.55;
  background: #FFFFFF;
}
.v9-mw-tbl th, .v9-mw-tbl td {
  border: 1px solid #D6DCE5;
  padding: 8px 9px;
  text-align: center;
  vertical-align: middle;
  word-break: keep-all;
}
.v9-mw-tbl thead th {
  background: #162A45;
  color: #FFFFFF;
  font-weight: 700;
  font-size: 12px;
}
.v9-mw-tbl td.col-focus {
  background: #F4F6FA;
  color: #162A45;
  font-weight: 700;
}
.v9-mw-tbl td.col-focus strong {
  color: #A63A2B;
}

/* 하단 네비게이션 바 (2번안 프러시안 네이비 & 테라코타) */
.v9-bottom-nav {
  background: rgba(255, 255, 255, 0.98) !important;
  border-top: 1px solid #D6DCE5 !important;
}
.v9-nav-btn {
  border-radius: 0 !important;
  border: 1px solid #C5CEDB !important;
  background: #FFFFFF !important;
  color: #162A45 !important;
  font-weight: 700 !important;
}
.v9-nav-btn.next {
  background: #162A45 !important;
  border-color: #162A45 !important;
  color: #FFFFFF !important;
}

/* ==========================================================================
   WOLHA V14 — 2번안 컬러(Prussian Navy #162A45 & Terracotta #A63A2B)
   + 청월당식 고가독성 웹 카드 & 형광펜 하이라이트 레이아웃
   ========================================================================== */

#reading-sheet-overlay,
#reading-sheet-overlay #sheet-body {
  background: #F2F4F8 !important;
  color: #181A1E !important;
}

.v9-reader-topbar {
  background: #162A45 !important;
  border-bottom: 2px solid #A63A2B !important;
  padding: 10px 14px !important;
  box-shadow: 0 3px 12px rgba(22, 42, 69, 0.16) !important;
}

.v9-ch-badge {
  background: #A63A2B !important;
  color: #FFFFFF !important;
  border-radius: 6px !important;
  padding: 4px 10px !important;
  font-size: 12px !important;
  font-weight: 800 !important;
}

.v9-char-pill {
  color: #FFE6B3 !important;
  font-weight: 800 !important;
  font-size: 12px !important;
}

.v9-mini-btn {
  background: rgba(255, 255, 255, 0.12) !important;
  color: #FFFFFF !important;
  border: 1px solid rgba(255, 255, 255, 0.28) !important;
  border-radius: 7px !important;
  font-weight: 700 !important;
}

.v9-mini-btn.crimson {
  background: #A63A2B !important;
  color: #FFFFFF !important;
  border-color: #FFBDAE !important;
  font-weight: 800 !important;
}

.v9-chapter-wrap {
  background: #F2F4F8 !important;
  padding: 14px 14px 115px !important;
  max-width: 720px !important;
  margin: 0 auto !important;
}

/* 상단 챕터 타이틀 카드 */
.v9-ch-hero-banner {
  background: linear-gradient(135deg, #162A45 0%, #1E385C 100%) !important;
  color: #FFFFFF !important;
  border: none !important;
  border-bottom: 3px solid #A63A2B !important;
  border-radius: 16px !important;
  padding: 22px 20px 18px !important;
  margin-bottom: 14px !important;
  text-align: left !important;
  box-shadow: 0 8px 22px rgba(22, 42, 69, 0.14) !important;
}

.v9-ch-hero-banner::after {
  display: none !important;
}

.v9-ch-hero-banner .kicker {
  color: #FFB8A8 !important;
  font-family: 'Pretendard', sans-serif !important;
  font-size: 12px !important;
  font-weight: 800 !important;
  letter-spacing: 0.03em !important;
  margin-bottom: 6px !important;
}

.v9-ch-hero-banner h3 {
  color: #FFFFFF !important;
  font-family: 'Noto Serif KR', serif !important;
  font-size: 21px !important;
  font-weight: 800 !important;
  line-height: 1.4 !important;
  letter-spacing: -0.02em !important;
  margin: 0 0 10px 0 !important;
}

.v9-ch-hero-banner .sub {
  color: #D5E0F0 !important;
  font-size: 12.5px !important;
  justify-content: space-between !important;
}

/* 1단계 / 2단계 / 3단계 세그먼트 탭 바 (청월당식 선명한 탭 전환) */
.v9-tier-bar {
  background: #DCE2EE !important;
  border: 1px solid #C8D1E2 !important;
  border-radius: 12px !important;
  padding: 5px !important;
  margin: 0 0 14px 0 !important;
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 5px !important;
  position: sticky !important;
  top: 46px !important;
  z-index: 35 !important;
  box-shadow: 0 4px 12px rgba(22, 42, 69, 0.08) !important;
}

.v9-tier-btn {
  background: transparent !important;
  color: #4A5568 !important;
  border: none !important;
  border-radius: 9px !important;
  padding: 11px 6px !important;
  font-size: 13.2px !important;
  font-weight: 700 !important;
  transition: all 0.16s ease !important;
}

.v9-tier-btn.active {
  background: #162A45 !important;
  color: #FFFFFF !important;
  font-weight: 900 !important;
  box-shadow: 0 3px 10px rgba(22, 42, 69, 0.22) !important;
}

/* 전담 명사 화법 카드 (청월당식 캐릭터 카운슬링) */
.v9-counsel-bubble {
  background: #FFFFFF !important;
  border: 1.5px solid #DCE2EC !important;
  border-left: 4px solid #A63A2B !important;
  border-radius: 14px !important;
  padding: 14px 16px !important;
  margin: 10px 0 14px !important;
  display: flex !important;
  align-items: flex-start !important;
  gap: 12px !important;
  box-shadow: 0 3px 12px rgba(22, 42, 69, 0.05) !important;
}

.v9-cb-avatar {
  display: block !important;
  width: 44px !important;
  height: 44px !important;
  border-radius: 50% !important;
  overflow: hidden !important;
  border: 2px solid #A63A2B !important;
  flex-shrink: 0 !important;
  background: #F4F5F8 !important;
}

.v9-cb-avatar img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
}

.v9-cb-spk {
  display: inline-block !important;
  background: #FDF2F0 !important;
  color: #A63A2B !important;
  font-size: 11.5px !important;
  font-weight: 800 !important;
  padding: 2px 8px !important;
  border-radius: 99px !important;
  margin-bottom: 5px !important;
}

.v9-cb-text {
  font-family: 'Pretendard', sans-serif !important;
  font-size: 14.8px !important;
  line-height: 1.72 !important;
  color: #1F242D !important;
}

/* 1단계 핵심 결론 배너 (한눈에 꽂히는 팩폭 카드) */
.v9-easy-lead {
  background: #FFFFFF !important;
  border: 2px solid #162A45 !important;
  border-radius: 16px !important;
  padding: 20px 18px !important;
  margin: 0 0 16px 0 !important;
  box-shadow: 0 6px 20px rgba(22, 42, 69, 0.08) !important;
}

.v9-easy-lead-kicker {
  display: inline-block !important;
  background: #A63A2B !important;
  color: #FFFFFF !important;
  font-size: 12px !important;
  font-weight: 800 !important;
  padding: 4px 11px !important;
  border-radius: 99px !important;
  margin-bottom: 10px !important;
}

.v9-easy-lead-main {
  font-family: 'Noto Serif KR', serif !important;
  font-size: 19px !important;
  font-weight: 800 !important;
  color: #162A45 !important;
  line-height: 1.48 !important;
  margin-bottom: 12px !important;
  padding-bottom: 12px !important;
  border-bottom: 1px dashed #CBD5E1 !important;
}

.v9-easy-bullets {
  margin: 0 !important;
  padding: 12px 14px 12px 28px !important;
  background: #F7F9FC !important;
  border-radius: 10px !important;
  color: #1E242B !important;
}

.v9-easy-bullets li {
  font-size: 14.5px !important;
  font-weight: 600 !important;
  line-height: 1.68 !important;
  margin-bottom: 6px !important;
}

.v9-easy-bullets li:last-child {
  margin-bottom: 0 !important;
}

/* 1단계 포인트 카드 & 2·3단계 섹션 카드 */
.v9-easy-card,
.v9-sec-block.v9-card-elevated,
.v9-mid-chart.v9-card-elevated {
  background: #FFFFFF !important;
  border: 1.5px solid #DCE2EC !important;
  border-radius: 16px !important;
  padding: 20px 18px !important;
  margin-bottom: 14px !important;
  box-shadow: 0 4px 16px rgba(22, 42, 69, 0.05) !important;
}

.v9-easy-card-hd,
.v9-sec-hd-row {
  display: flex !important;
  align-items: center !important;
  gap: 9px !important;
  margin-bottom: 12px !important;
  flex-wrap: wrap !important;
}

.v9-easy-num {
  background: #162A45 !important;
  color: #FFFFFF !important;
  border: none !important;
  border-radius: 99px !important;
  padding: 4px 11px !important;
  font-size: 12px !important;
  font-weight: 800 !important;
  flex-shrink: 0 !important;
}

.v9-easy-num.mid {
  background: #A63A2B !important;
}

.v9-easy-num.deep {
  background: #162A45 !important;
  border: 1px solid #A63A2B !important;
}

.v9-easy-card-hd strong,
.v9-sec-subhead {
  font-family: 'Noto Serif KR', serif !important;
  font-size: 17.5px !important;
  font-weight: 800 !important;
  color: #162A45 !important;
  line-height: 1.4 !important;
  margin: 0 !important;
  border: none !important;
  padding: 0 !important;
}

/* 한 줄 핵심 결론 콜아웃 박스 (눈에 확 띄는 테라코타 포인트 박스) */
.v9-easy-takeaway,
.v9-sec-highlight {
  background: #FFF6F4 !important;
  border: 1px solid #F3C6BC !important;
  border-left: 4px solid #A63A2B !important;
  border-radius: 0 10px 10px 0 !important;
  padding: 11px 14px !important;
  margin: 0 0 14px 0 !important;
  color: #8E2418 !important;
  font-family: 'Pretendard', sans-serif !important;
  font-size: 15px !important;
  font-weight: 800 !important;
  line-height: 1.62 !important;
}

/* 본문 가독성 및 형광펜 강조 */
.v9-easy-summary,
.v9-sec-p {
  font-family: 'Pretendard', -apple-system, sans-serif !important;
  font-size: 15.5px !important;
  line-height: 1.85 !important;
  color: #22262E !important;
  letter-spacing: -0.01em !important;
}

.v9-easy-summary p,
.v9-sec-p {
  margin: 0 0 12px 0 !important;
}

.v9-easy-summary strong,
.v9-sec-p strong {
  background: linear-gradient(transparent 55%, #FFF0B8 55%) !important;
  color: #111418 !important;
  font-weight: 800 !important;
  padding: 0 2px !important;
}

/* 3단계 정통 원문 내 밑줄/인장 하이라이트 */
.v9-sec-p .hl-sky {
  background: #EDF3FA !important;
  border-bottom: 2px solid #162A45 !important;
  color: #162A45 !important;
  font-weight: 800 !important;
  padding: 1px 4px !important;
  border-radius: 4px !important;
}

.v9-sec-p .hl-seal {
  background: #FFF3F0 !important;
  border-bottom: 2px solid #A63A2B !important;
  color: #9E2A1C !important;
  font-weight: 800 !important;
  padding: 1px 4px !important;
  border-radius: 4px !important;
}

.v9-easy-caution {
  background: #F8FAFC !important;
  border: 1px solid #CBD5E1 !important;
  border-left: 4px solid #162A45 !important;
  border-radius: 0 10px 10px 0 !important;
  padding: 11px 14px !important;
  margin-top: 12px !important;
  font-size: 14px !important;
  color: #1E293B !important;
  line-height: 1.65 !important;
}

.v9-easy-tip {
  background: linear-gradient(135deg, #162A45 0%, #1F3A60 100%) !important;
  color: #FFFFFF !important;
  border: none !important;
  border-left: 5px solid #A63A2B !important;
  border-radius: 14px !important;
  padding: 16px 18px !important;
  margin: 16px 0 !important;
  font-size: 14.8px !important;
  line-height: 1.7 !important;
  box-shadow: 0 6px 18px rgba(22, 42, 69, 0.14) !important;
}

.v9-easy-tip strong {
  color: #FFE6A3 !important;
  font-size: 13px !important;
  font-weight: 800 !important;
}

/* 2단계 / 3단계 상단 안내 배너 */
.v9-hanji-prose-frame {
  background: transparent !important;
  border: none !important;
  padding: 0 !important;
  box-shadow: none !important;
}

.v9-mid-intro-bar {
  background: #FFFFFF !important;
  border: 2px solid #162A45 !important;
  border-radius: 14px !important;
  padding: 16px 18px !important;
  margin-bottom: 14px !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 5px !important;
  box-shadow: 0 4px 14px rgba(22, 42, 69, 0.07) !important;
}

.v9-mid-intro-bar strong {
  font-family: 'Noto Serif KR', serif !important;
  font-size: 17.5px !important;
  color: #162A45 !important;
  line-height: 1.42 !important;
}

.v9-mid-intro-bar span {
  font-size: 13.5px !important;
  color: #4A5568 !important;
  line-height: 1.55 !important;
}

.v9-stage-pill {
  display: inline-block !important;
  align-self: flex-start !important;
  padding: 3px 10px !important;
  border-radius: 99px !important;
  font-size: 11.5px !important;
  font-weight: 800 !important;
  color: #FFFFFF !important;
  background: #A63A2B !important;
  margin-bottom: 2px !important;
}

.v9-stage-pill.deep {
  background: #162A45 !important;
}

/* 다음 단계 이동 버튼 */
.v9-easy-next-row {
  display: flex !important;
  gap: 8px !important;
  margin: 16px 0 !important;
  flex-wrap: wrap !important;
}

.v9-stage-jump-btn {
  flex: 1 !important;
  background: #162A45 !important;
  color: #FFFFFF !important;
  border: none !important;
  border-radius: 11px !important;
  padding: 13px 14px !important;
  font-size: 13.8px !important;
  font-weight: 800 !important;
  cursor: pointer !important;
  text-align: center !important;
  box-shadow: 0 4px 12px rgba(22, 42, 69, 0.14) !important;
}

.v9-stage-jump-btn.mid {
  background: #A63A2B !important;
}

/* 2번안 쉬운 표 위젯 카드 (웹에서도 선명한 카드형으로 분리) */
.mw-widget-block,
.v9-qa-card {
  background: #FFFFFF !important;
  border: 1.5px solid #DCE2EC !important;
  border-top: 3px solid #162A45 !important;
  border-radius: 16px !important;
  padding: 20px 18px !important;
  margin: 16px 0 !important;
  box-shadow: 0 4px 16px rgba(22, 42, 69, 0.05) !important;
}

.mw-kicker,
.v9-qa-badge {
  display: inline-block !important;
  background: #FDF2F0 !important;
  color: #A63A2B !important;
  border: 1px solid #F3C6BC !important;
  border-radius: 99px !important;
  padding: 3px 10px !important;
  font-size: 11.5px !important;
  font-weight: 800 !important;
  margin-bottom: 8px !important;
}

.mw-title {
  font-family: 'Noto Serif KR', serif !important;
  font-size: 17.5px !important;
  font-weight: 800 !important;
  color: #162A45 !important;
  margin-bottom: 12px !important;
  line-height: 1.42 !important;
}

.mw-guide-box {
  background: #F7F9FC !important;
  border: 1px solid #DCE4F0 !important;
  border-left: 4px solid #162A45 !important;
  border-radius: 0 10px 10px 0 !important;
  padding: 12px 14px !important;
  margin: 10px 0 14px !important;
}

.mw-guide-title {
  font-size: 13.5px !important;
  font-weight: 800 !important;
  color: #162A45 !important;
  margin-bottom: 6px !important;
}

.mw-guide-line {
  font-size: 13.2px !important;
  line-height: 1.65 !important;
  color: #2B313B !important;
  margin-bottom: 4px !important;
}

.mw-guide-point {
  font-size: 13.5px !important;
  line-height: 1.65 !important;
  color: #A63A2B !important;
  font-weight: 800 !important;
  margin-top: 6px !important;
  padding-top: 6px !important;
  border-top: 1px dashed #CBD5E1 !important;
}

.mw-table {
  width: 100% !important;
  border-collapse: collapse !important;
  margin: 8px 0 !important;
  font-size: 13.2px !important;
  border-radius: 8px !important;
  overflow: hidden !important;
}

.mw-table th {
  background: #162A45 !important;
  color: #FFFFFF !important;
  font-weight: 700 !important;
  padding: 10px 8px !important;
  border: 1px solid #162A45 !important;
  text-align: center !important;
}

.mw-table td {
  background: #FFFFFF !important;
  color: #1E242B !important;
  padding: 10px 8px !important;
  border: 1px solid #DCE2EC !important;
  text-align: center !important;
  line-height: 1.55 !important;
}

.mw-table td.left {
  text-align: left !important;
}

.mw-table tr.hl-row td {
  background: #FFF6F4 !important;
  color: #8E2418 !important;
  font-weight: 700 !important;
}

/* 사주 원국표 & 오행 도감 아코디언 */
.v9-stage1-proof-box {
  background: #FFFFFF !important;
  border: 1.5px solid #DCE2EC !important;
  border-radius: 14px !important;
  margin: 14px 0 !important;
  overflow: hidden !important;
}

.v9-stage1-proof-box > summary {
  background: #162A45 !important;
  color: #FFFFFF !important;
  padding: 13px 16px !important;
  font-size: 13.5px !important;
  font-weight: 800 !important;
  cursor: pointer !important;
}

/* 하단 네비게이션 바 */
#sheet-footer-bar {
  background: rgba(255, 255, 255, 0.96) !important;
  border-top: 1.5px solid #DCE2EC !important;
  backdrop-filter: blur(10px) !important;
}

.v9-nav-btn {
  background: #FFFFFF !important;
  color: #162A45 !important;
  border: 1.5px solid #162A45 !important;
  border-radius: 10px !important;
  font-weight: 800 !important;
}

.v9-nav-btn.next {
  background: #A63A2B !important;
  color: #FFFFFF !important;
  border-color: #A63A2B !important;
}


.v9-mid-intro-bar span.v9-stage-pill {
  color: #FFFFFF !important;
  font-size: 12px !important;
  font-weight: 800 !important;
}

.v9-ch-hero-banner .sub button {
  background: rgba(255, 255, 255, 0.16) !important;
  color: #FFFFFF !important;
  border: 1px solid rgba(255, 255, 255, 0.45) !important;
  border-radius: 99px !important;
  padding: 4px 11px !important;
  font-size: 11.5px !important;
  font-weight: 700 !important;
  text-decoration: none !important;
}

/* ==========================================================================
   WOLHA APP VISUAL + CHEONGWOLDANG EASY READER (Original Navy Blue v15)
   - App Canvas (#F2F4F8) + 20px Borderless White Sheet Cards (.sheet)
   - Visual Infographics: Color-Tile Myeongban (.myeong), SVG Donut (.dist),
     3-Stat Numbers (.stats), Dual-Knob Balance (.bal), SVG Decade Chart (.chart),
     Traffic-Light Rows (.sig)
   ========================================================================== */

:root {
  --rs-navy: #162A45;
  --rs-ink: #1E293B;
  --rs-terra: #A63A2B;
  --rs-white: #FFFFFF;
  --rs-bg: #F2F4F8;
  --rs-sub: #6B7684;
  --rs-mute: #8B95A1;
  --rs-line: #EEF0F4;
  --rs-band: #F2F4F8;
  --rs-wood: #2B7A5B;
  --rs-fire: #C84B31;
  --rs-earth: #C68B2C;
  --rs-metal: #4A5568;
  --rs-water: #1E4E79;
  --rs-good: #2B7A5B;
  --rs-warn: #C68B2C;
  --rs-bad: #A63A2B;
  --rs-sans: "Pretendard Variable", Pretendard, -apple-system, "Apple SD Gothic Neo", "Noto Sans KR", sans-serif;
  --rs-serif: "Noto Serif KR", "Nanum Myeongjo", serif;
}

#reading-sheet-overlay,
#reading-sheet-overlay #sheet-body {
  background: var(--rs-bg) !important;
  color: var(--rs-ink) !important;
  font-family: var(--rs-sans) !important;
  letter-spacing: -0.02em;
  -webkit-font-smoothing: antialiased;
  word-break: keep-all;
  overflow-wrap: break-word;
}

#reading-sheet-overlay .v9-cb-avatar,
#reading-sheet-overlay .v9-art-frame,
#reading-sheet-overlay .wh-vs-landscape img,
#reading-sheet-overlay .v9-spouse-portrait,
#reading-sheet-overlay .talisman-card img {
  display: none !important;
}

.rs-topbar {
  position: sticky;
  top: 0;
  z-index: 50;
  background: rgba(255, 255, 255, 0.96);
  backdrop-filter: blur(10px);
  border-bottom: 1px solid var(--rs-line);
  padding: 11px 16px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  max-width: 560px;
  margin: 0 auto;
}

.rs-top-pos {
  font-size: 13.5px;
  font-weight: 800;
  color: var(--rs-navy);
}

.rs-top-links {
  display: flex;
  align-items: center;
  gap: 6px;
}

.rs-top-btn {
  border: 1px solid var(--rs-line);
  background: #F8F9FB;
  border-radius: 999px;
  padding: 5px 11px;
  font-family: var(--rs-sans);
  font-size: 12px;
  font-weight: 700;
  color: var(--rs-navy);
  cursor: pointer;
}

.rs-top-btn.terra {
  background: var(--rs-terra);
  border-color: var(--rs-terra);
  color: #FFFFFF;
}

.rs-toc-bar {
  background: #FFFFFF;
  border-bottom: 1px solid var(--rs-line);
  max-width: 560px;
  margin: 0 auto;
  padding: 8px 14px;
  display: flex;
  gap: 6px;
  overflow-x: auto;
  scrollbar-width: none;
}
.rs-toc-bar::-webkit-scrollbar { display: none; }

.rs-toc-link {
  border: none;
  background: #F2F4F8;
  border-radius: 999px;
  padding: 6px 12px;
  font-family: var(--rs-sans);
  font-size: 12.5px;
  font-weight: 600;
  color: var(--rs-sub);
  white-space: nowrap;
  cursor: pointer;
}

.rs-toc-link.active {
  background: var(--rs-navy);
  color: #FFFFFF;
  font-weight: 700;
}

.rs-app {
  max-width: 560px;
  margin: 0 auto;
  padding: 14px 14px 110px;
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.sheet {
  background: #FFFFFF;
  border-radius: 20px;
  padding: 24px 20px;
  box-shadow: 0 2px 10px rgba(22, 42, 69, 0.04);
}

.sheet h2 {
  font-size: 18.5px;
  font-weight: 800;
  color: var(--rs-navy);
  line-height: 1.38;
  margin: 0 0 6px;
}

.sheet .cap {
  font-size: 13.5px;
  color: var(--rs-sub);
  margin: 0 0 18px;
  line-height: 1.55;
}

.eyebrow {
  font-size: 12px;
  font-weight: 800;
  color: var(--rs-terra);
  margin-bottom: 6px;
  letter-spacing: -0.01em;
}

.hero {
  background: var(--rs-navy);
  color: #FFFFFF;
  border-radius: 20px;
  padding: 26px 22px 22px;
  box-shadow: 0 6px 18px rgba(22, 42, 69, 0.14);
}

.hero small {
  display: block;
  font-size: 12.5px;
  color: rgba(255, 255, 255, 0.72);
  font-weight: 500;
}

.hero h1 {
  font-size: 22.5px;
  line-height: 1.38;
  font-weight: 800;
  color: #FFFFFF;
  margin: 8px 0 14px;
  letter-spacing: -0.02em;
}

.hero h1 em {
  font-style: normal;
  color: #F0B7A8;
}

.hero-lead {
  font-size: 14.5px;
  line-height: 1.62;
  color: rgba(255, 255, 255, 0.9);
  margin: 0 0 16px;
  padding-left: 12px;
  border-left: 2.5px solid #F0B7A8;
}

.chips {
  display: flex;
  gap: 6px;
  flex-wrap: wrap;
}

.chip {
  font-size: 12px;
  font-weight: 700;
  padding: 6px 11px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.14);
  color: #FFFFFF;
}

.stats {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 8px;
}

.stat {
  background: var(--rs-bg);
  border-radius: 16px;
  padding: 14px 8px 12px;
  text-align: center;
}

.stat .k {
  font-size: 11.5px;
  color: var(--rs-sub);
  font-weight: 600;
}

.stat .v {
  font-size: 21px;
  font-weight: 800;
  color: var(--rs-navy);
  margin: 6px 0 3px;
  line-height: 1.15;
}

.stat .v i {
  font-style: normal;
  font-size: 12px;
  font-weight: 700;
  margin-left: 1px;
}

.stat .d {
  font-size: 11px;
  color: var(--rs-sub);
  line-height: 1.3;
}

.stat.hl {
  background: var(--rs-navy);
  color: #FFFFFF;
}

.stat.hl .v {
  color: #FFFFFF;
}

.stat.hl .k,
.stat.hl .d {
  color: rgba(255, 255, 255, 0.74);
}

.myeong {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 8px;
}

.col-h {
  text-align: center;
  font-size: 11.5px;
  color: var(--rs-sub);
  font-weight: 700;
  margin-bottom: 2px;
}

.pillar {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.tile {
  --c: var(--rs-wood);
  aspect-ratio: 1 / 1.08;
  border-radius: 16px;
  position: relative;
  background: color-mix(in srgb, var(--c) 11%, #FFFFFF);
  color: var(--c);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 6px 4px;
}

.tile b {
  font-size: 31px;
  font-weight: 800;
  line-height: 1;
  font-family: var(--rs-serif);
}

.tile span {
  font-size: 11.5px;
  font-weight: 800;
  margin-top: 6px;
  opacity: 0.92;
}

.tile small {
  font-size: 10px;
  font-weight: 600;
  margin-top: 2px;
  opacity: 0.78;
}

.tile.me {
  background: var(--c);
  color: #FFFFFF;
  box-shadow: 0 4px 12px color-mix(in srgb, var(--c) 32%, transparent);
}

.tile.me::after {
  content: "나";
  position: absolute;
  top: 7px;
  right: 7px;
  font-size: 10px;
  font-weight: 800;
  background: #FFFFFF;
  color: var(--c);
  border-radius: 999px;
  padding: 2px 6px;
}

.w { --c: var(--rs-wood); }
.f { --c: var(--rs-fire); }
.e { --c: var(--rs-earth); }
.m { --c: var(--rs-metal); }
.s { --c: var(--rs-water); }

.dist {
  display: flex;
  gap: 18px;
  align-items: center;
}

.donut {
  width: 116px;
  height: 116px;
  flex: none;
  transform: rotate(-90deg);
}

.donut circle {
  fill: none;
  stroke-width: 5.4;
}

.legend {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 9px;
}

.lg {
  display: grid;
  grid-template-columns: 10px 48px 1fr 38px;
  gap: 8px;
  align-items: center;
  font-size: 12.5px;
  font-weight: 700;
  color: var(--rs-navy);
}

.lg .dot {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: var(--c);
}

.lg .bar {
  height: 7px;
  border-radius: 99px;
  background: var(--rs-line);
  overflow: hidden;
}

.lg .bar u {
  display: block;
  height: 100%;
  background: var(--c);
  border-radius: 99px;
}

.lg em {
  font-style: normal;
  text-align: right;
  color: var(--rs-sub);
  font-weight: 700;
  font-size: 12px;
}

.bal {
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.bal-row .t {
  display: flex;
  justify-content: space-between;
  font-size: 13.5px;
  font-weight: 700;
  color: var(--rs-navy);
  margin-bottom: 9px;
}

.bal-row .t span:last-child {
  color: var(--rs-terra);
  font-size: 12.5px;
}

.track {
  position: relative;
  height: 10px;
  border-radius: 99px;
  background: linear-gradient(90deg, var(--rs-navy) 0 50%, var(--rs-terra) 50% 100%);
  opacity: 0.14;
}

.rail {
  position: relative;
  height: 10px;
}

.rail .track {
  position: absolute;
  inset: 0;
}

.rail .fill {
  position: absolute;
  top: 0;
  bottom: 0;
  border-radius: 99px;
}

.rail .knob {
  position: absolute;
  top: 50%;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  background: #FFFFFF;
  border: 5px solid var(--rs-navy);
  transform: translate(-50%, -50%);
  box-shadow: 0 2px 6px rgba(22, 42, 69, 0.25);
}

.bal-row .ends {
  display: flex;
  justify-content: space-between;
  font-size: 11.5px;
  color: var(--rs-sub);
  margin-top: 8px;
}

.chart text {
  font-family: var(--rs-sans);
}

.sig {
  display: flex;
  flex-direction: column;
}

.sig-row {
  display: grid;
  grid-template-columns: 12px 1fr auto;
  gap: 12px;
  align-items: center;
  padding: 14px 0;
  border-top: 1px solid var(--rs-line);
}

.sig-row:first-child {
  border-top: 0;
  padding-top: 2px;
}

.sig-row:last-child {
  padding-bottom: 2px;
}

.light {
  width: 11px;
  height: 11px;
  border-radius: 50%;
  background: var(--c);
  box-shadow: 0 0 0 4px color-mix(in srgb, var(--c) 18%, transparent);
}

.sig-row .n {
  font-size: 15px;
  font-weight: 700;
  color: var(--rs-navy);
}

.sig-row .n small {
  display: block;
  font-size: 12.5px;
  font-weight: 500;
  color: var(--rs-sub);
  margin-top: 3px;
  line-height: 1.45;
}

.tag {
  font-size: 12px;
  font-weight: 800;
  padding: 5px 10px;
  border-radius: 999px;
  color: var(--c);
  background: color-mix(in srgb, var(--c) 12%, #FFFFFF);
  white-space: nowrap;
}

.g { --c: var(--rs-good); }
.y { --c: var(--rs-warn); }
.r { --c: var(--rs-bad); }

.cw-story-card {
  padding: 26px 22px;
}

.cw-card-title {
  font-size: 19.5px !important;
  line-height: 1.44 !important;
  font-weight: 800 !important;
  color: var(--rs-navy) !important;
  margin: 0 0 16px !important;
  letter-spacing: -0.02em;
}

.cw-quote-box {
  background: #F7F8FB;
  border-left: 3.5px solid var(--rs-navy);
  border-radius: 0 14px 14px 0;
  padding: 14px 16px;
  margin: 0 0 20px;
}

.cw-quote-badge {
  display: inline-block;
  font-size: 11px;
  font-weight: 800;
  color: var(--rs-terra);
  margin-bottom: 4px;
}

.cw-quote-box p {
  margin: 0 !important;
  font-size: 15.5px !important;
  line-height: 1.65 !important;
  font-weight: 700 !important;
  color: var(--rs-navy) !important;
}

.cw-body p,
.cw-p {
  margin: 0 0 16px !important;
  font-size: 16.5px !important;
  line-height: 1.84 !important;
  letter-spacing: -0.015em !important;
  color: #2B3441 !important;
  font-weight: 400;
}

.cw-body p:last-child,
.cw-p:last-child {
  margin-bottom: 0 !important;
}

mark.cw-mark {
  background: linear-gradient(transparent 58%, rgba(240, 183, 168, 0.5) 58%);
  color: var(--rs-navy);
  font-weight: 700;
  padding: 0 2px;
  border-radius: 2px;
}

.cw-rx-box {
  margin-top: 20px;
  background: #FDF7F5;
  border-radius: 14px;
  padding: 14px 16px;
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.cw-rx-tag {
  font-size: 11.5px;
  font-weight: 800;
  color: var(--rs-terra);
}

.cw-rx-box p {
  margin: 0 !important;
  font-size: 14.5px !important;
  line-height: 1.65 !important;
  color: #3E2723 !important;
  font-weight: 600 !important;
}

.cw-action-sheet {
  background: linear-gradient(135deg, #162A45 0%, #1F3A5F 100%);
  color: #FFFFFF;
}

.cw-action-sheet .eyebrow {
  color: #F0B7A8;
}

.cw-action-sheet h2 {
  color: #FFFFFF;
  margin-bottom: 10px;
}

.cw-action-sheet p {
  margin: 0;
  font-size: 15.5px;
  line-height: 1.72;
  color: rgba(255, 255, 255, 0.92);
  font-weight: 500;
}

.rs-pdf-studio-list {
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin-top: 14px;
}

.rs-pdf-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  padding: 16px;
  border-radius: 14px;
  background: #F7F8FB;
  border: 1px solid var(--rs-line);
  text-decoration: none;
  color: var(--rs-navy);
  cursor: pointer;
  width: 100%;
  text-align: left;
}

.rs-pdf-row.primary {
  background: var(--rs-navy);
  border-color: var(--rs-navy);
  color: #FFFFFF;
}

.rs-pdf-row-info {
  flex: 1;
}

.rs-pdf-row-badge {
  display: inline-block;
  font-size: 11px;
  font-weight: 800;
  color: var(--rs-terra);
  margin-bottom: 3px;
}

.rs-pdf-row.primary .rs-pdf-row-badge {
  color: #F0B7A8;
}

.rs-pdf-row-title {
  font-size: 15.5px;
  font-weight: 800;
  line-height: 1.35;
}

.rs-pdf-row-desc {
  font-size: 12.5px;
  opacity: 0.78;
  margin-top: 3px;
  line-height: 1.45;
}

.rs-pdf-row-cta {
  flex: none;
  font-size: 13px;
  font-weight: 800;
  padding: 8px 12px;
  border-radius: 8px;
  background: #FFFFFF;
  border: 1px solid var(--rs-line);
  color: var(--rs-navy);
  white-space: nowrap;
}

.rs-pdf-row.primary .rs-pdf-row-cta {
  background: var(--rs-terra);
  border-color: var(--rs-terra);
  color: #FFFFFF;
}

.rs-table-sec .v9-munhak-widget,
.rs-table-sec .v9-qa-card {
  background: transparent !important;
  border: none !important;
  padding: 0 !important;
  margin: 0 !important;
  box-shadow: none !important;
}

.v9-mw-kicker,
.v9-qa-badge {
  display: block !important;
  background: transparent !important;
  border: none !important;
  padding: 0 !important;
  margin: 0 0 4px 0 !important;
  font-size: 12px !important;
  font-weight: 800 !important;
  color: var(--rs-terra) !important;
}

.v9-mw-headline {
  font-family: var(--rs-sans) !important;
  font-size: 18px !important;
  font-weight: 800 !important;
  color: var(--rs-navy) !important;
  line-height: 1.4 !important;
  margin: 0 0 10px 0 !important;
  border: none !important;
  padding: 0 !important;
}

.rs-table-desc {
  margin: 0 0 12px !important;
  font-size: 14px !important;
  line-height: 1.6 !important;
  color: var(--rs-sub) !important;
}

.rs-key {
  margin: 0 0 14px !important;
  padding: 12px 14px !important;
  background: #F7F8FB !important;
  border-left: 3px solid var(--rs-terra) !important;
  border-radius: 0 12px 12px 0 !important;
  font-size: 14.5px !important;
  line-height: 1.62 !important;
  font-weight: 700 !important;
  color: var(--rs-navy) !important;
}

.rs-disclosures {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.rs-more,
.rs-src {
  background: #FFFFFF;
  border-radius: 18px;
  padding: 4px 18px;
  box-shadow: 0 2px 8px rgba(22, 42, 69, 0.03);
  border: none;
}

.rs-more > summary,
.rs-src > summary {
  list-style: none;
  cursor: pointer;
  min-height: 50px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 10px 2px;
  user-select: none;
}

.rs-more > summary::-webkit-details-marker,
.rs-src > summary::-webkit-details-marker {
  display: none;
}

.rs-more > summary::after,
.rs-src > summary::after {
  content: "";
  width: 8px;
  height: 8px;
  margin-right: 4px;
  border-right: 2px solid currentColor;
  border-bottom: 2px solid currentColor;
  transform: translateY(-2px) rotate(45deg);
  transition: transform 0.2s ease;
}

.rs-app details[open] > summary::after {
  transform: translateY(2px) rotate(-135deg);
}

.rs-more > summary {
  font-size: 15px;
  font-weight: 700;
  color: var(--rs-terra);
}

.rs-src > summary {
  font-size: 14.5px;
  font-weight: 600;
  color: var(--rs-sub);
}

.rs-more-body {
  padding: 12px 0 18px;
  border-top: 1px solid var(--rs-line);
}

.rs-more-item {
  margin-bottom: 20px;
}

.rs-more-item:last-child {
  margin-bottom: 0;
}

.rs-more-item h3 {
  margin: 0 0 8px;
  font-size: 16px;
  font-weight: 800;
  color: var(--rs-navy);
}

.rs-more-item p {
  margin: 0 0 10px;
  font-size: 15px;
  line-height: 1.75;
  color: var(--rs-ink);
}

.rs-src-body {
  margin: 0 0 16px;
  padding: 18px 16px;
  background: #F8F9FB;
  border-radius: 14px;
  font-family: var(--rs-serif);
  font-size: 15px;
  line-height: 1.9;
  color: var(--rs-ink);
}

.rs-src-sec {
  margin-bottom: 24px;
}

.rs-src-sec:last-child {
  margin-bottom: 0;
}

.rs-src-sec h3 {
  font-family: var(--rs-serif);
  font-size: 16.5px;
  font-weight: 800;
  color: var(--rs-navy);
  margin: 0 0 10px;
}

.rs-src-sec p {
  margin: 0 0 14px;
}

#sheet-footer-bar {
  background: rgba(255, 255, 255, 0.96) !important;
  border-top: 1px solid var(--rs-line) !important;
}

.v9-bottom-nav {
  max-width: 560px !important;
  margin: 0 auto !important;
}

.v9-nav-btn {
  background: var(--rs-white) !important;
  color: var(--rs-navy) !important;
  border: 1px solid var(--rs-line) !important;
  border-radius: 12px !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  min-height: 46px !important;
}

.v9-nav-btn.next {
  background: var(--rs-navy) !important;
  color: var(--rs-white) !important;
  border-color: var(--rs-navy) !important;
  font-weight: 800 !important;
}


/* ==========================================================================
   v10.62 — UNIFIED PRUSSIAN NAVY (#162A45) + COOL SLATE (#F2F4F8) TONE & MANNER
   1) 손톱(border-left) 완전 제거 -> 1안 상단 캡슐 배지형(.cw-quote-box, .rs-key, .hero-lead)
   2) 각 챕터 하단 위젯 및 요약표(.rs-table-sec, .v9-mw-tbl) 베이지/초록/보라 제거 및 네이비 앱 시트 통일
   3) 1:1 추가질문 & 후기 팝업 모달(#v9-followup-panel, #v9-review-panel) 네이비 앱 시트 통일
   ========================================================================== */

.hero-lead {
  font-size: 14.5px !important;
  line-height: 1.64 !important;
  color: rgba(255, 255, 255, 0.94) !important;
  margin: 0 0 16px !important;
  padding: 13px 15px !important;
  background: rgba(255, 255, 255, 0.1) !important;
  border: none !important;
  border-left: none !important;
  border-radius: 14px !important;
}

.cw-quote-box {
  background: #F2F4F8 !important;
  border: none !important;
  border-left: none !important;
  border-radius: 14px !important;
  padding: 14px 16px !important;
  margin: 0 0 20px !important;
}

.cw-quote-badge {
  display: inline-block !important;
  background: #162A45 !important;
  color: #FFFFFF !important;
  font-size: 11px !important;
  font-weight: 800 !important;
  padding: 3px 10px !important;
  border-radius: 999px !important;
  margin-bottom: 8px !important;
  line-height: 1.3 !important;
}

.rs-key {
  margin: 0 0 14px !important;
  padding: 14px 16px !important;
  background: #F2F4F8 !important;
  border: none !important;
  border-left: none !important;
  border-radius: 14px !important;
  font-size: 14.5px !important;
  line-height: 1.64 !important;
  font-weight: 700 !important;
  color: #162A45 !important;
}

.rs-key::before {
  content: "핵심 포인트";
  display: table;
  background: #A63A2B;
  color: #FFFFFF;
  font-size: 11px;
  font-weight: 800;
  padding: 3px 10px;
  border-radius: 999px;
  margin-bottom: 8px;
  line-height: 1.3;
}

.rs-more-body .rs-key {
  background: #F2F4F8 !important;
}

.rs-more-body .rs-key::before {
  content: "사주 핵심 근거";
  background: #162A45;
}

.rs-src-body .rs-key {
  background: #FDF8F6 !important;
  border: 1px solid #F1DFD9 !important;
}

.rs-src-body .rs-key::before {
  content: "단행본 핵심 요지";
  background: #A63A2B;
}

/* 장별 하단 요약표 (.v9-mw-tbl) & 특화 위젯 네이비/슬레이트 통일 */
.rs-table-sec .v9-mw-tbl-scroll {
  overflow-x: auto;
  border-radius: 14px;
  border: 1px solid #E5E8EB;
  background: #FFFFFF;
  margin-top: 8px;
}

.rs-table-sec .v9-mw-tbl {
  width: 100%;
  border-collapse: collapse;
  font-family: var(--rs-sans) !important;
  font-size: 13.2px;
}

.rs-table-sec .v9-mw-tbl th {
  background: #162A45 !important;
  color: #FFFFFF !important;
  font-weight: 700 !important;
  padding: 11px 10px !important;
  border: none !important;
  border-right: 1px solid rgba(255, 255, 255, 0.12) !important;
  text-align: center !important;
  line-height: 1.4 !important;
}

.rs-table-sec .v9-mw-tbl th:last-child {
  border-right: none !important;
}

.rs-table-sec .v9-mw-tbl td {
  background: #FFFFFF !important;
  color: #333D4B !important;
  padding: 11px 10px !important;
  border: none !important;
  border-top: 1px solid #EEF0F4 !important;
  border-right: 1px solid #EEF0F4 !important;
  line-height: 1.58 !important;
}

.rs-table-sec .v9-mw-tbl td:last-child {
  border-right: none !important;
}

.rs-table-sec .v9-mw-tbl td.col-focus {
  background: #F8FAFC !important;
  color: #162A45 !important;
  font-weight: 700 !important;
}

/* 모달 팝업 (1:1 추가질문 & 후기 & 목차) 프러시안 네이비 톤앤매너 통일 */
#v9-followup-panel,
#v9-review-panel,
#v9-toc-panel {
  background: #FFFFFF !important;
  border: none !important;
  border-radius: 22px !important;
  padding: 22px 20px !important;
  box-shadow: 0 20px 50px rgba(15, 23, 42, 0.28) !important;
  font-family: var(--rs-sans) !important;
  color: #191F28 !important;
}

#v9-toc-panel .v9-toc-item {
  background: #F8FAFC !important;
  border: 1px solid #E5E8EB !important;
  border-radius: 12px !important;
  padding: 12px 14px !important;
  margin-bottom: 8px !important;
}

#v9-toc-panel .v9-toc-item.active {
  background: #162A45 !important;
  border-color: #162A45 !important;
  color: #FFFFFF !important;
}

#v9-toc-panel .v9-toc-item.active strong,
#v9-toc-panel .v9-toc-item.active span {
  color: #FFFFFF !important;
}
