/* Pretendard Variable 은 style.css 의 CDN dynamic-subset 이 정의한다. 여기 있던 2MB 통파일 @font-face 는
   unicode-range 가 없어 글자 하나에도 통째로 받혔다 (2026-10-26 제거). */
/* Measured from the original preview: 16/24 body, 28/42 section titles, weight 700. */
.result-v5,
.result-v5 button,
.result-v5 input,
.report-v5 {
  font-family:
    "Pretendard Variable",
    Pretendard,
    -apple-system,
    BlinkMacSystemFont,
    "Apple SD Gothic Neo",
    "Noto Sans KR",
    "Segoe UI",
    Roboto,
    "Helvetica Neue",
    Arial,
    sans-serif !important;
}
.result-v5 {
  background: #fff !important;
  color: #1f2937 !important;
  font-size: 16px;
  line-height: 24px;
  letter-spacing: -0.4px;
}
.result-v5 .match-top {
  height: 56px;
  background: #ffffffed !important;
  border-bottom: 1px solid #f0f0f0;
  backdrop-filter: none;
}
.result-v5 .match-top h1 {
  font-size: 18px;
  font-weight: 600;
  line-height: 28px;
  letter-spacing: -0.45px;
  color: #111827;
}
.result-v5 .refined-score {
  padding: 32px 24px 0 !important;
  background: linear-gradient(
    125deg,
    #fff0f6 0%,
    #fffde8 58%,
    #fff 90%
  ) !important;
}
.result-v5 .result-names {
  font-size: 16px !important;
  font-weight: 600 !important;
  line-height: 24px !important;
  letter-spacing: -0.4px;
  margin: 0 0 20px !important;
  text-align: center;
  word-break: keep-all;
}
.result-v5 .result-names .keep {
  white-space: normal;
}
.result-headline {
  font-size: 36px;
  font-weight: 700;
  line-height: 54px;
  letter-spacing: -0.9px;
  color: #1f2937;
  text-align: center;
  margin: 0 0 20px;
}
.result-v5 .result-lead {
  font-size: 16px;
  line-height: 24px;
  font-weight: 400;
  color: #6b7280;
  text-align: center;
  margin: 0 -20px 36px;
}
.result-v5 .match-people {
  gap: 12px;
  align-items: start;
  width: 100%;
  max-width: 312px;
  margin: 0 auto;
}
.result-v5 .match-person {
  border: 1px solid #f0f0f0 !important;
  border-radius: 16px !important;
  background: #fff !important;
  padding: 0 0 14px !important;
  box-shadow: 0 2px 3px #00000012 !important;
  min-width: 0;
  overflow: hidden;
}
.result-v5 .person-art.portrait-v3 {
  margin: 16px auto !important;
  width: 90px;
  max-width: calc(100% - 24px);
  border-radius: 8px !important;
  height: auto !important;
  aspect-ratio: 1;
  background: #faf6f3;
}
.result-v5 .person-art.portrait-v3 img {
  display: block;
  position: static !important;
  transform: none !important;
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  object-fit: contain !important;
}
.result-v5 .profile-caption {
  padding: 0;
}
.result-v5 .profile-role {
  display: none;
}
.result-v5 .match-person h3 {
  font-size: 16px !important;
  line-height: 24px !important;
  letter-spacing: -0.4px;
  font-weight: 700 !important;
  margin: 0 6px 4px !important;
  color: #374151;
  word-break: break-all;
}
.result-v5 .match-person .profile-day {
  font-size: 16px !important;
  line-height: 24px !important;
  font-weight: 400 !important;
  color: #4b5563 !important;
  margin: 0 0 8px !important;
  padding: 0;
  background: none;
  border-radius: 0;
}
.result-v5 .match-person .profile-date {
  font-size: 14px !important;
  line-height: 22px !important;
  color: #9ca3af !important;
  margin: 0 3px 3px !important;
}
.result-v5 .match-person > small {
  display: block;
  font-size: 12px !important;
  line-height: 20px !important;
  color: #9ca3af !important;
}
.profile-details {
  margin: 10px 8px 0;
  border-top: 1px solid #f3f4f6;
}
.profile-details summary {
  list-style: none;
  cursor: pointer;
  padding: 8px 0 0;
  font-size: 12px;
  line-height: 20px;
  text-align: center;
  color: #6b7280;
}
.profile-details summary::-webkit-details-marker {
  display: none;
}
.profile-details summary:after {
  content: "⌄";
  margin-left: 5px;
}
.profile-details[open] summary:after {
  content: "⌃";
}
.profile-details .profile-pillars {
  margin: 10px 0 0;
}
.profile-details .pillar-col > b {
  font-size: 15px;
}
.result-v5 .result-chapters {
  margin: 28px -24px 0;
  background: #fff;
  border: 0;
  border-bottom: 1px solid #f3f4f6;
}
.result-v5 .result-chapters a {
  font-size: 14px;
  font-weight: 400;
  line-height: 24px;
  letter-spacing: -0.35px;
  color: #6b7280;
  padding: 16px 2px;
}
.result-v5 .result-chapters a + a {
  border: 0;
}
.result-v5 .refined-context {
  background: #fff !important;
  border-bottom: 0;
  padding: 40px 20px !important;
  text-align: center;
}
.result-v5 .refined-context blockquote {
  font-size: 24px;
  line-height: 36px;
  font-weight: 700;
  letter-spacing: -0.6px;
  color: #111827;
  margin: 0 0 16px;
}
.result-v5 .refined-context > p {
  font-size: 16px !important;
  line-height: 24px !important;
  font-weight: 400;
  color: #6b7280 !important;
  margin: 0;
}
.report-v5 {
  background: #fff;
  color: #111827;
  font-size: 16px;
  line-height: 24px;
  letter-spacing: -0.4px;
}
.report-v5 .report-heading {
  padding: 48px 20px 32px;
  text-align: center;
  background: #fff;
}
.report-v5 .report-heading h2 {
  font-size: 24px;
  line-height: 36px;
  font-weight: 700;
  letter-spacing: -0.6px;
  color: #111827;
  margin: 0 0 16px;
}
.report-v5 em {
  font-style: normal !important;
  background: none !important;
  color: inherit !important;
}
.report-v5 .report-heading > p {
  font-size: 16px;
  line-height: 24px;
  font-weight: 400;
  color: #6b7280;
  margin: 0;
}
.report-v5 .report-scene {
  border-top: 0;
  background: #fff;
  padding: 0 0 48px;
}
.report-v5 .scene-heading {
  padding: 44px 20px 28px;
  text-align: center;
}
.report-v5 .scene-number {
  display: none;
}
.report-v5 .scene-heading h3 {
  font-size: 28px !important;
  line-height: 42px !important;
  font-weight: 700 !important;
  letter-spacing: -0.7px !important;
  color: #111827 !important;
  margin: 0;
  word-break: keep-all;
}
.report-v5 .scene-heading .scene-deck {
  font-size: 16px;
  line-height: 24px;
  font-weight: 400;
  color: #6b7280;
  margin: 20px 0 0;
  letter-spacing: -0.4px;
}
.report-v5 .report-scene figure {
  margin: 0 20px 24px;
  overflow: hidden;
  background: #fff;
  border-radius: 10px;
}
.report-v5 .report-scene figure > img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: auto;
  object-fit: contain;
  border-radius: 0;
}
.report-v5 .report-paper {
  margin: 0;
  padding: 0 20px;
  background: #fff;
  border: 0;
  border-radius: 0;
  box-shadow: none;
}
.report-v5 .report-paper ul {
  list-style: none;
  margin: 0;
  padding: 0;
}
.report-v5 .report-paper li {
  font-size: 16px;
  font-weight: 400;
  line-height: 24px;
  letter-spacing: -0.4px;
  color: #374151;
  border: 0;
  padding: 0;
  margin: 0 0 20px;
  word-break: keep-all;
}
.report-v5 .report-paper li:before {
  display: none;
}
.locked-reading {
  display: grid;
  gap: 13px;
  padding: 12px 0 4px;
  opacity: 0.45;
  filter: blur(4px);
  user-select: none;
  pointer-events: none;
}
.locked-reading i {
  height: 8px;
  border-radius: 3px;
  background: repeating-linear-gradient(
    90deg,
    #aab0b8 0 24px,
    transparent 24px 29px
  );
}
.locked-reading i:nth-child(2) {
  width: 94%;
}
.locked-reading i:nth-child(4) {
  width: 87%;
}
.locked-reading i:last-child {
  width: 60%;
}
.report-v5 .report-unlock {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 24px 0 0;
  margin: 0;
  font-size: 14px;
  font-weight: 500;
  line-height: 24px;
  color: #6b7280;
  text-align: center;
}
.report-v5 .report-unlock svg {
  flex-shrink: 0;
  color: #ad657e;
}
.report-v5 .report-index {
  padding: 48px 16px;
  background: #fff;
  border: 0;
}
.report-v5 .report-index h2 {
  font-size: 22px;
  line-height: 33px;
  font-weight: 600;
  letter-spacing: -0.55px;
  color: #374151;
  text-align: center;
  margin: 0 0 28px;
}
.report-contents-groups {
  display: grid;
  gap: 16px;
}
.report-v5 .contents-group {
  border: 1px solid #e5e7eb;
  border-radius: 22px;
  background: #fff;
  box-shadow: 0 2px 3px #00000009;
  padding: 22px 18px 10px;
}
.report-v5 .contents-group h3 {
  font-size: 18px;
  font-weight: 600;
  line-height: 28px;
  letter-spacing: -0.45px;
  color: #374151;
  margin: 0 0 14px;
}
.report-v5 .contents-group ol {
  padding: 0;
  margin: 0;
  list-style: none;
}
.report-v5 .contents-group li {
  display: flex;
  align-items: baseline;
  gap: 12px;
  font-size: 16px;
  line-height: 24px;
  font-weight: 400;
  letter-spacing: -0.4px;
  color: #6b7280;
  border: 0;
  padding: 0;
  margin: 0 0 12px;
}
.report-v5 .contents-group li span {
  font-size: 12px;
  line-height: 24px;
  color: #9ca3af;
  min-width: 18px;
  font-style: normal;
}
.report-v5 .index-note {
  font-size: 14px;
  line-height: 24px;
  color: #6b7280;
  text-align: center;
  margin: 28px 0 0;
}
.result-v5 .match-sticky {
  background: linear-gradient(transparent, #fffffff0 20%);
  border: 0;
  backdrop-filter: none;
  padding: 16px 24px max(16px, env(safe-area-inset-bottom));
}
.result-v5 .match-sticky .match-primary {
  font-size: 16px;
  line-height: 24px;
  font-weight: 500;
  letter-spacing: -0.4px;
  border-radius: 999px;
  min-height: 44px;
  height: 44px;
  max-width: 280px;
  margin: 0 auto;
  background: linear-gradient(105deg, #b95d7b, #e9a8b8);
  box-shadow: 0 4px 8px #b95d7b20;
}
.result-v5 .match-sticky .match-primary:after {
  content: "→";
  font-size: 20px;
  font-weight: 400;
  margin-left: 5px;
}
.profile-details summary:focus-visible {
  outline: 2px solid #ad657e;
  outline-offset: 2px;
}
@media (max-width: 350px) {
  .result-v5 .refined-score {
    padding-left: 20px !important;
    padding-right: 20px !important;
  }
  .result-v5 .result-chapters {
    margin-left: -20px;
    margin-right: -20px;
  }
  .result-v5 .match-people {
    gap: 10px;
  }
  .result-v5 .person-art.portrait-v3 {
    margin-left: auto !important;
    margin-right: auto !important;
  }
  .report-v5 .scene-heading h3 {
    font-size: 26px !important;
    line-height: 39px !important;
  }
}

/* Keep the name, day pillar and birth date at the original card baselines. */
.result-v5 .match-person {
  padding-bottom: 13px !important;
}
.result-v5 .person-art.portrait-v3 {
  height: 152px !important;
  width: 112px;
  margin: 20px auto 12px !important;
  display: flex;
  align-items: center;
  justify-content: center;
  background: transparent;
}
.result-v5 .person-art.portrait-v3 img {
  border-radius: 8px;
}
.result-v5 .profile-details {
  margin: 0;
  border: 0;
}
.result-v5 .profile-details summary {
  padding: 0;
  line-height: 22px;
  font-size: 14px;
  color: #9ca3af;
}
.result-v5 .profile-details summary:after {
  font-size: 12px;
}
.result-v5 .profile-details summary .profile-date {
  margin: 0 !important;
}
.result-v5 .profile-details > small {
  display: block;
  font-size: 12px;
  line-height: 20px;
  color: #9ca3af;
  margin-top: 8px;
}

.result-v5 .match-person {
  padding-bottom: 8px !important;
}
.result-v5 .person-art.portrait-v3 {
  margin-bottom: 16px !important;
}
.result-v5 .profile-details summary,
.result-v5 .profile-details summary .profile-date {
  font-size: 16px !important;
  line-height: 24px !important;
  color: #afb1bd !important;
}

.result-v5 .profile-details summary {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 4px;
}
.result-v5 .profile-details summary .profile-date {
  display: block;
}
.result-v5 .profile-details summary:after {
  margin-left: 0;
}

/* Locked report preview: four paragraphs and a checkout entry within every scene. */
.report-v5 .locked-report-preview {
  position: relative;
  margin: 30px 0 0;
  padding: 12px 0 28px;
  isolation: isolate;
}
.report-v5 .locked-reading {
  display: grid;
  gap: 30px;
  padding: 0;
  opacity: 0.65;
  filter: blur(4px);
  user-select: none;
  pointer-events: none;
  overflow: hidden;
  mask-image: linear-gradient(transparent, #000 5%, #000 93%, transparent);
}
.report-v5 .locked-paragraph {
  display: grid;
  gap: 15px;
}
.report-v5 .locked-line {
  display: flex;
  gap: 5px;
  width: var(--line-width);
  height: 10px;
  overflow: hidden;
}
.report-v5 .locked-line i {
  flex: 0 0 var(--word-width);
  width: var(--word-width);
  height: 10px;
  border-radius: 1px;
  background: #92969e;
}
.report-v5 .report-unlock {
  position: absolute;
  inset: 50% -4px auto;
  transform: translateY(-50%);
  z-index: 1;
  display: flex;
  flex-direction: column;
  gap: 0;
  padding: 36px 4px;
  margin: 0;
  background: linear-gradient(
    transparent,
    #fffffff5 14%,
    #fff 36%,
    #fff 72%,
    #ffffffed 88%,
    transparent
  );
  text-align: center;
  color: #343039;
}
.report-v5 .report-unlock svg {
  color: #b66581;
  margin-bottom: 18px;
  flex-shrink: 0;
}
.report-v5 .report-unlock p {
  margin: 0 0 22px;
  font-size: 18px;
  line-height: 28px;
  font-weight: 500;
  letter-spacing: -0.45px;
  word-break: keep-all;
}
.report-v5 .report-unlock p strong {
  font-weight: 700;
}
.report-v5 .report-unlock-button {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  min-height: 50px;
  width: 100%;
  padding: 12px 10px;
  border: 0;
  border-radius: 10px;
  background: #ad5e79;
  color: #fff;
  font:
    600 16px/24px "Pretendard Variable",
    sans-serif;
  letter-spacing: -0.4px;
  cursor: pointer;
  box-shadow: 0 4px 12px #ad5e7926;
}
.report-v5 .report-unlock-button:hover {
  background: #98506a;
}
.report-v5 .report-unlock-button:focus-visible {
  outline: 3px solid #74364e;
  outline-offset: 4px;
}
.report-v5 .report-unlock-button span {
  font-size: 20px;
  font-weight: 400;
}
.report-v5 .report-unlock small {
  display: block;
  font-size: 12px;
  line-height: 20px;
  font-weight: 400;
  color: #77717a;
  margin-top: 14px;
  letter-spacing: -0.3px;
}

/* 결과 카드: 일주만 보여주고 생년월일 줄은 숨긴다 (match-result.js 가 명식 칸을 채우므로 마크업은 유지). */
.result-v5 .profile-details{display:none!important}
/* 후기 — 리포트 목록 바로 위. */
.match-reviews{padding:44px 20px 6px;background:#fff;font-family:"Pretendard Variable",Pretendard,sans-serif;color:#262327}
.match-reviews>h2{margin:0 0 22px;text-align:center;font-size:22px;line-height:1.5;font-weight:750;letter-spacing:-.65px}
.match-review-list{display:grid;gap:12px}
.match-review{display:block;padding:20px 18px;border:1px solid #f0dfe5;border-radius:18px;background:linear-gradient(160deg,#fff7f9,#fffdf6);box-shadow:0 3px 12px #683a4b0a}
.match-review-stars{display:block;color:#ef6f8f;letter-spacing:1px;font-size:14px}
.match-review p{margin:10px 0 14px;font-size:15.5px;line-height:1.75;letter-spacing:-.3px;color:#3d363b;word-break:keep-all}
.match-review p strong{background:linear-gradient(transparent 60%,#ffd9e3 60%);font-weight:700}
.match-review footer{display:flex;justify-content:space-between;gap:10px;font-size:13px;color:#9a8d93}
/* Full report coverage, before the long preview scenes. */
.report-overview{padding:42px 20px 48px;background:#fff;font-family:"Pretendard Variable",Pretendard,sans-serif;color:#262327}
.report-overview>h2{margin:0 0 26px;text-align:center;font-size:22px;line-height:1.55;font-weight:750;letter-spacing:-.65px}
.report-overview-cards{display:grid;gap:14px}
.report-overview-card{padding:22px 20px;border:1px solid #e9dee2;border-radius:18px;background:#fffdfd;box-shadow:0 3px 12px #683a4b06}
.report-overview-card>h3{margin:0 0 12px;font-size:18px;line-height:1.5;font-weight:750;letter-spacing:-.5px;color:#60404d}
.report-overview-card>ul{margin:0;padding:0;list-style:none}
.report-overview-card li{margin:6px 0;font-size:15px;line-height:1.7;letter-spacing:-.3px;color:#514b50}
