/* ==========================================================================
   상품 포스터의 상품별 섹션(히어로 아래) — js/components/product-modules.js
   썸 타이밍 = 달력·휴대폰·포스트잇 / 연애 궁합 = 대결·레이더·카드 뒤집기 / 결혼 궁합 = 저울·타임라인·체크리스트 / 재회 = 곡선·금 간 하트·두 갈래 길
   is-play(보일 때 켜짐)로 등장 애니메이션, is-still(움직임 줄이기)이면 마지막 모습.
   ========================================================================== */
.pm-page { margin-top: 20px; }
.pm-sec { margin: 60px 0; }
.pm-kicker { margin: 0; font-family: var(--font-main); font-weight: 800; font-size: 13px; letter-spacing: .1em; color: var(--neon-cyan); }
.pm-title { margin: 4px 0 8px; font-size: clamp(24px, 3.4vw, 34px); font-weight: 900; line-height: 1.25; letter-spacing: -.02em; color: var(--text-pure); }
.pm-desc { margin: 0 0 18px; max-width: 46em; font-size: 15.5px; line-height: 1.75; color: var(--text-sub); }
.pm-split { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: 36px; align-items: center; }
.pm-split.is-reverse > :first-child { order: 2; }
.pm-split-copy .pp-cta { margin-top: 6px; }
.pm-bridge { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 18px; margin: 10px 0 40px; }

/* 문장 카드 — 무료는 전문, 심층은 앞부분 + 흐린 줄 + 잠금 */
.pm-sentence { padding: 14px 16px; border-radius: 16px; background: var(--bg-card-inner); border: 1px solid var(--border-box-bright); text-align: left; }
.pm-sentence-tag { display: block; margin-bottom: 4px; font-size: 12.5px; font-weight: 800; color: var(--neon-cyan); }
.pm-sentence-text { margin: 0; font-size: 15px; line-height: 1.7; color: var(--text-pure); }
.pm-sentence.is-locked { border-color: color-mix(in srgb, var(--neon-yellow) 55%, var(--border-box-bright)); }
.pm-sentence.is-locked .pm-sentence-tag { color: var(--neon-yellow); }
.pm-veil { display: grid; gap: 6px; margin: 8px 0; filter: blur(3px); }
.pm-veil i { display: block; height: 10px; border-radius: 6px; background: color-mix(in srgb, var(--text-sub) 35%, transparent); }
.pm-veil i + i { width: 70%; }
.pm-lock { display: block; font-size: 12.5px; font-weight: 800; color: var(--neon-yellow); }

/* ── 썸 타이밍 ─────────────────────────────────────────────────────────── */
.pm-cal { display: grid; grid-template-columns: 52px repeat(var(--pm-cols, 7), minmax(0, 1fr)); gap: 5px; padding: 16px; border-radius: 22px; background: var(--bg-card); border: 1px solid var(--border-box-purple); }
.pm-cal-corner { display: block; }
.pm-cal-day { text-align: center; font-size: 12.5px; font-weight: 800; color: var(--text-sub); padding-bottom: 4px; }
.pm-cal-day.is-best { color: var(--neon-lime); }
.pm-cal-time { align-self: center; font-family: var(--font-main); font-weight: 800; font-size: 12.5px; color: var(--text-muted); }
.pm-cal-cell {
  position: relative; height: 34px; border: 0; border-radius: 9px; cursor: pointer; padding: 0;
  background: rgba(203, 35, 162, calc(.1 + var(--k, 0) * .8)); box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .05);
}
.pm-cal-cell:hover, .pm-cal-cell:focus-visible { outline: 2px solid var(--neon-cyan); outline-offset: 1px; }
.pm-cal-cell.is-best { background: linear-gradient(135deg, #ffe600, #00ffa3); box-shadow: 0 0 18px rgba(0, 255, 163, .6); }
.pm-cal-sticker {
  position: absolute; left: 50%; top: -14px; transform: translateX(-50%) rotate(-6deg); padding: 2px 8px; border-radius: 8px;
  background: #0b0322; color: var(--neon-lime); font-size: 12px; font-weight: 900; white-space: nowrap; border: 1px solid var(--neon-lime);
}
.pm-cal-tip { margin: 10px 2px 0; min-height: 1.5em; font-size: 14px; font-weight: 700; color: var(--text-sub); }
.is-play .pm-cal-cell { animation: pm-cell-in .4s calc(var(--i, 0) * 28ms) both; }
.is-play .pm-cal-sticker { animation: pm-sticker .5s .9s both cubic-bezier(.2, 1.6, .4, 1); }
@keyframes pm-cell-in { from { opacity: 0; transform: scale(.6); } }
@keyframes pm-sticker { from { opacity: 0; transform: translateX(-50%) rotate(-6deg) scale(.4); } }

.pm-phone {
  position: relative; justify-self: center; width: min(260px, 100%); aspect-ratio: 9 / 18; border-radius: 40px; padding: 54px 16px 20px;
  background: radial-gradient(circle at 30% 20%, #3a1466, #0b0322 70%); border: 3px solid #2b1b4a; box-shadow: 0 30px 60px rgba(0, 0, 0, .45), inset 0 0 0 2px rgba(255, 255, 255, .06);
  display: flex; flex-direction: column; align-items: center; color: #fff; overflow: hidden;
}
.pm-phone-notch { position: absolute; top: 14px; width: 84px; height: 22px; border-radius: 12px; background: #000; }
.pm-phone-date { font-size: 13px; font-weight: 700; opacity: .8; }
.pm-phone-clock { font-size: 64px; font-weight: 300; letter-spacing: -.03em; line-height: 1.1; }
.pm-noti {
  margin-top: 26px; width: 100%; display: grid; gap: 2px; padding: 12px 14px; border-radius: 18px;
  background: rgba(255, 255, 255, .14); backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px); text-align: left;
}
.pm-noti-app { font-size: 11.5px; opacity: .75; }
.pm-noti-band { font-size: 15px; }
.pm-noti-when { font-size: 12.5px; opacity: .8; }
.is-play .pm-noti { animation: pm-noti 1s .5s both cubic-bezier(.2, 1.4, .4, 1); }
@keyframes pm-noti { from { opacity: 0; transform: translateY(-40px) scale(.9); } }
.pm-count { margin: 4px 0 12px; font-family: var(--font-main); font-weight: 900; font-variant-numeric: tabular-nums; font-size: clamp(32px, 5vw, 48px); line-height: 1; color: var(--neon-lime); text-shadow: 0 0 14px rgba(0, 255, 163, .45); }

.pm-notes-host { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; padding: 6px; }
.pm-note { padding: 18px; border: 0; border-radius: 4px 4px 18px 4px; box-shadow: 0 14px 26px rgba(0, 0, 0, .3); }
.pm-note .pm-sentence-text { color: #2a1640; font-weight: 600; }
.pm-note .pm-sentence-tag { color: #7a1f6a; }
.pm-note.is-n0 { background: #fff3a6; transform: rotate(-2deg); }
.pm-note.is-n1 { background: #ffd1ec; transform: rotate(1.5deg); }
.pm-note.is-n2 { background: #d6f6ff; transform: rotate(-1deg); }
.pm-note.is-locked .pm-lock, .pm-note.is-locked .pm-sentence-tag { color: #8a4a00; }
.pm-phone-swipe { margin-top: auto; padding-top: 18px; font-size: 12px; opacity: .6; letter-spacing: .04em; }
.pm-phone-swipe::after { content: ''; display: block; width: 110px; height: 5px; margin: 10px auto 0; border-radius: 3px; background: rgba(255, 255, 255, .5); }
.pm-note .pm-veil i { background: rgba(42, 22, 64, .25); }
.is-play .pm-note { animation: pm-drop .55s both cubic-bezier(.2, 1.4, .4, 1); }
.is-play .pm-note.is-n1 { animation-delay: .25s; }
.is-play .pm-note.is-n2 { animation-delay: .5s; }
@keyframes pm-drop { from { opacity: 0; translate: 0 -30px; } }

/* ── 연애 궁합 ─────────────────────────────────────────────────────────── */
.pm-vs-host { display: grid; grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr); gap: 16px; align-items: stretch; }
.pm-vs-card { display: flex; flex-direction: column; gap: 6px; padding: 22px; border-radius: 24px; background: var(--bg-card); border: 2px solid; }
.pm-vs-card.is-me { border-color: #ff4fc8; box-shadow: -8px 8px 0 rgba(255, 79, 200, .25); }
.pm-vs-card.is-you { border-color: #00c6e0; box-shadow: 8px 8px 0 rgba(0, 198, 224, .25); }
.pm-vs-who { font-size: 26px; font-weight: 900; }
.pm-vs-card.is-me .pm-vs-who { color: #ff4fc8; }
.pm-vs-card.is-you .pm-vs-who { color: #00c6e0; }
.pm-vs-label { font-size: 13px; font-weight: 800; color: var(--text-muted); }
.pm-vs-text { margin: 0; font-size: 15.5px; line-height: 1.7; color: var(--text-pure); }
.pm-vs-badge {
  align-self: center; display: grid; place-items: center; width: 64px; height: 64px; border-radius: 50%;
  background: linear-gradient(135deg, #c21f9c, #7a22d6 60%, #00798a); color: #fff; font-family: var(--font-main); font-weight: 800; font-size: 20px; letter-spacing: .02em;
  box-shadow: 0 0 24px rgba(255, 79, 200, .55);
}
.pm-vs-foot { margin-top: 16px; }
.pm-vs-meet { padding: 16px 20px; border-radius: 18px; background: linear-gradient(90deg, rgba(255, 79, 200, .12), rgba(0, 198, 224, .12)); border: 1px dashed var(--border-box-bright); }
.pm-vs-meet-tag { display: block; margin-bottom: 4px; font-size: 13px; font-weight: 800; color: var(--neon-yellow); }
.is-play .pm-vs-card.is-me { animation: pm-from-left .6s both cubic-bezier(.2, 1.2, .4, 1); }
.is-play .pm-vs-card.is-you { animation: pm-from-right .6s both cubic-bezier(.2, 1.2, .4, 1); }
.is-play .pm-vs-badge { animation: pm-pop .5s .45s both cubic-bezier(.2, 1.8, .4, 1); }
@keyframes pm-from-left { from { opacity: 0; translate: -40px 0; } }
@keyframes pm-from-right { from { opacity: 0; translate: 40px 0; } }
@keyframes pm-pop { from { opacity: 0; scale: .3; } }

.pm-radar-host { display: grid; place-items: center; }
.pm-radar-svg { width: min(420px, 100%); height: auto; overflow: visible; }
.pm-radar-ring { fill: none; stroke: var(--border-box-purple); stroke-width: 1; }
.pm-radar-axis { stroke: var(--border-hair); stroke-width: 1; }
.pm-radar-shape { fill: rgba(255, 79, 200, .28); stroke: #ff4fc8; stroke-width: 2.5; stroke-linejoin: round; transform-box: view-box; transform-origin: 160px 160px; }
.pm-radar-dot { fill: #fff; stroke: #ff4fc8; stroke-width: 2; }
.pm-radar-dot.is-top { fill: var(--neon-lime); stroke: var(--neon-lime); }
.pm-radar-label { font-size: 11.5px; font-weight: 700; fill: var(--text-sub); }
.is-play .pm-radar-shape { animation: pm-radar 1s both cubic-bezier(.2, 1.3, .4, 1); }
@keyframes pm-radar { from { transform: scale(0); opacity: 0; } }
.pm-radar-score { display: flex; align-items: baseline; gap: 10px; margin: 2px 0 4px; }
.pm-radar-score b { font-family: var(--font-main); font-weight: 900; font-variant-numeric: tabular-nums; font-size: 56px; line-height: 1; color: #ff4fc8; text-shadow: 0 0 16px rgba(255, 79, 200, .5); }
.pm-radar-score span { font-size: 15px; font-weight: 800; color: var(--text-sub); }
.pm-radar-top { margin: 0 0 10px; font-size: 15px; font-weight: 800; color: var(--neon-lime); }

.pm-mines-host { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }
.pm-mine { position: relative; min-height: 230px; padding: 0; border: 0; background: none; cursor: pointer; text-align: left; font: inherit; color: inherit; }
.pm-mine-front {
  position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 10px;
  border-radius: 20px; border: 2px dashed var(--border-box-bright); background: repeating-linear-gradient(45deg, var(--bg-card), var(--bg-card) 10px, var(--bg-card-inner) 10px, var(--bg-card-inner) 20px);
  font-weight: 800; color: var(--text-sub); transition: transform .3s;
}
.pm-mine-front b { font-size: 44px; }
.pm-mine-hint { font-size: 12px; font-weight: 700; color: var(--text-muted); }
.pm-mine.is-free .pm-mine-front { border-color: var(--neon-lime); color: var(--neon-lime); }
.pm-mine:hover .pm-mine-front { transform: rotate(-2deg) scale(1.03); }
.pm-mine:focus-visible { outline: 3px solid var(--neon-cyan); outline-offset: 3px; border-radius: 20px; }
.pm-mine-back { display: none; }
.pm-mine-back .pm-sentence { height: 100%; }
.pm-mine.is-open .pm-mine-front { display: none; }
.pm-mine.is-open .pm-mine-back { display: block; height: 100%; animation: pm-flip .45s both; }
@keyframes pm-flip { from { transform: perspective(600px) rotateY(80deg); opacity: .3; } }

/* ── 결혼 궁합 ─────────────────────────────────────────────────────────── */
.pm-page.is-marriage .pm-kicker { color: #e8c069; }
.pm-scale { display: grid; place-items: center; }
.pm-scale-svg { width: min(380px, 100%); height: auto; overflow: visible; }
.pm-scale-svg line, .pm-scale-svg path { fill: none; stroke: #e8c069; stroke-width: 3; stroke-linecap: round; }
.pm-scale-svg .pm-scale-pan { fill: rgba(232, 192, 105, .18); }
.pm-scale-svg circle { fill: #e8c069; }
.pm-scale-svg text { fill: var(--text-pure); font-size: 17px; font-weight: 900; text-anchor: middle; stroke: none; }
.pm-scale-beam { transform-box: view-box; transform-origin: 160px 50px; transform: rotate(var(--pm-tilt, 0deg)); transition: transform .8s cubic-bezier(.2, 1.4, .4, 1); }
.is-play .pm-scale-beam { animation: pm-sway 1.8s both cubic-bezier(.3, 1.2, .4, 1); }
@keyframes pm-sway { 0% { transform: rotate(0deg); } 35% { transform: rotate(calc(var(--pm-tilt, 0deg) * -1.4 + 4deg)); } 70% { transform: rotate(calc(var(--pm-tilt, 0deg) * 1.3)); } 100% { transform: rotate(var(--pm-tilt, 0deg)); } }
.pm-scale-verdict { margin: 0 0 12px; font-size: 18px; font-weight: 900; color: #e8c069; }

.pm-line-host { list-style: none; margin: 0; padding: 26px 0 0; display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 14px; position: relative; }
.pm-line-host::before {
  content: ''; position: absolute; top: 44px; left: 10%; right: 10%; height: 3px; border-radius: 3px;
  background: linear-gradient(90deg, #ff4fc8, #e8c069, #00c6e0); transform-origin: left; transform: scaleX(1);
}
.is-play .pm-line-host::before { animation: pm-grow 1.6s both ease-out; }
@keyframes pm-grow { from { transform: scaleX(0); } }
.pm-line-stop { position: relative; display: flex; flex-direction: column; align-items: center; gap: 8px; }
.pm-line-dot { position: relative; z-index: 1; display: grid; place-items: center; width: 40px; height: 40px; border-radius: 50%; background: var(--bg-card); border: 2px solid #e8c069; font-size: 20px; }
.pm-line-name { font-size: 15px; font-weight: 900; color: var(--text-pure); }
.pm-line-stop .pm-sentence { width: 100%; font-size: 14px; }
.pm-line-stop .pm-sentence-text { font-size: 14px; }
.is-play .pm-line-stop { animation: pm-cell-in .5s calc(var(--i, 0) * 260ms) both; }

.pm-check { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px 18px; }
.pm-check li { display: flex; align-items: center; gap: 12px; padding: 14px 16px; border-radius: 16px; background: var(--bg-card); border: 1px solid var(--border-box-purple); }
.pm-check li::before { content: '✓'; flex: 0 0 30px; display: grid; place-items: center; height: 30px; border-radius: 50%; font-weight: 900; color: #0b0322; background: #e8c069; }
.pm-check li.is-talk::before { content: '✎'; color: #e8c069; background: transparent; border: 2px dashed #e8c069; }
.pm-check b { flex: 1; font-size: 15.5px; color: var(--text-pure); }
.pm-check span { font-size: 12.5px; font-weight: 800; color: var(--text-muted); white-space: nowrap; }
.pm-check li.is-yes span { color: #e8c069; }
.is-play .pm-check li::before { animation: pm-pop .4s both cubic-bezier(.2, 1.8, .4, 1); }
.is-play .pm-check li:nth-child(2)::before { animation-delay: .15s; }
.is-play .pm-check li:nth-child(3)::before { animation-delay: .3s; }
.is-play .pm-check li:nth-child(4)::before { animation-delay: .45s; }
.is-play .pm-check li:nth-child(5)::before { animation-delay: .6s; }
.is-play .pm-check li:nth-child(6)::before { animation-delay: .75s; }
.is-play .pm-check li:nth-child(7)::before { animation-delay: .9s; }
.is-play .pm-check li:nth-child(8)::before { animation-delay: 1.05s; }

/* ── 재회 ─────────────────────────────────────────────────────────────── */
.pm-page.is-reunion .pm-kicker { color: #b487e8; }
.pm-curve-host { padding: 10px; border-radius: 22px; background: linear-gradient(180deg, rgba(107, 140, 255, .08), transparent); border: 1px solid var(--border-box-purple); }
.pm-curve-svg { width: 100%; height: auto; display: block; overflow: visible; }
.pm-curve-line { fill: none; stroke: #b487e8; stroke-width: 3; stroke-linecap: round; stroke-dasharray: 100; stroke-dashoffset: 0; }
.is-play .pm-curve-line { animation: pm-draw 1.6s both ease-out; }
@keyframes pm-draw { from { stroke-dashoffset: 100; } }
.pm-curve-dot { fill: var(--bg-card); stroke: #b487e8; stroke-width: 2; }
.pm-curve-marker { fill: #6b8cff; stroke: #fff; stroke-width: 3; filter: drop-shadow(0 0 8px #6b8cff); transition: cx .6s cubic-bezier(.3, 1.3, .4, 1), cy .6s cubic-bezier(.3, 1.3, .4, 1); }
.pm-curve-chips { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 8px; margin: 12px 0 10px; }
.pm-curve-chip { display: grid; gap: 2px; padding: 10px 6px; border-radius: 14px; border: 1px solid var(--border-box-purple); background: transparent; color: var(--text-sub); font: inherit; cursor: pointer; }
.pm-curve-chip b { font-size: 15px; color: var(--text-pure); }
.pm-curve-chip span { font-size: 12px; }
.pm-curve-chip[aria-pressed="true"] { border-color: #6b8cff; background: rgba(107, 140, 255, .18); }
.pm-curve-chip:focus-visible { outline: 3px solid var(--neon-cyan); outline-offset: 2px; }
.pm-curve-text { margin: 0; font-size: 16px; font-weight: 700; line-height: 1.7; color: var(--text-pure); }
.pm-curve-sync { margin: 6px 0 0; min-height: 1.4em; font-size: 13.5px; font-weight: 700; color: var(--neon-lime); }

.pm-heart-host { display: grid; place-items: center; }
.pm-heart-svg { width: min(360px, 100%); height: auto; overflow: visible; }
.pm-heart-shape { fill: rgba(180, 135, 232, .16); stroke: #b487e8; stroke-width: 3; }
.pm-crack { fill: none; stroke: color-mix(in srgb, var(--text-sub) 45%, transparent); stroke-width: 2; stroke-dasharray: 5 5; stroke-linecap: round; transition: stroke .3s, stroke-width .3s; }
.pm-crack.is-present { stroke: var(--text-pure); stroke-width: 3; stroke-dasharray: none; }
.pm-crack.is-on { stroke: var(--neon-cyan); stroke-width: 4; filter: drop-shadow(0 0 6px var(--neon-cyan)); }
.pm-heart-legend { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; margin-bottom: 12px; }
.pm-heart-chip { display: grid; gap: 2px; padding: 10px 12px; border-radius: 14px; border: 1px solid var(--border-box-purple); background: transparent; color: var(--text-sub); font: inherit; text-align: left; cursor: pointer; }
.pm-heart-chip b { font-size: 14.5px; color: var(--text-pure); }
.pm-heart-chip span { font-size: 12.5px; font-weight: 700; color: var(--neon-lime); }
.pm-heart-chip[aria-pressed="true"] { border-color: var(--neon-cyan); background: rgba(0, 229, 255, .1); }

.pm-paths { position: relative; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px; padding-top: 34px; }
.pm-paths::before { content: ''; position: absolute; top: 0; left: 25%; right: 25%; height: 30px; border: 3px solid #b487e8; border-bottom: 0; border-radius: 30px 30px 0 0; }
.pm-paths::after { content: ''; position: absolute; top: -18px; left: 50%; width: 3px; height: 18px; background: #b487e8; }
.pm-path { display: flex; flex-direction: column; gap: 10px; padding: 20px; border-radius: 22px; background: var(--bg-card); border: 1px solid #6b8cff; }
.pm-path.is-self { border-color: #5ce1a0; }
.pm-path h3 { margin: 0; font-size: 20px; font-weight: 900; color: var(--text-pure); }
.pm-path > p { margin: 0; font-size: 14.5px; color: var(--text-sub); }
.is-play .pm-path { animation: pm-cell-in .6s both; }
.is-play .pm-path.is-self { animation-delay: .2s; }

@media (max-width: 900px) {
  .pm-split, .pm-split.is-reverse { grid-template-columns: minmax(0, 1fr); gap: 20px; }
  .pm-split.is-reverse > :first-child { order: 0; }
  .pm-notes-host { grid-template-columns: minmax(0, 1fr); }
  .pm-vs-host { grid-template-columns: minmax(0, 1fr); }
  .pm-vs-badge { justify-self: center; margin: -10px 0; z-index: 1; }
  .pm-mines-host { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .pm-line-host { grid-template-columns: minmax(0, 1fr); padding: 0 0 0 26px; }
  .pm-line-host::before { top: 6px; bottom: 6px; left: 19px; right: auto; width: 3px; height: auto; transform-origin: top; }
  .is-play .pm-line-host::before { animation-name: pm-grow-y; }
  .pm-line-stop { flex-direction: row; flex-wrap: wrap; align-items: center; margin-left: -26px; }
  .pm-line-stop .pm-sentence { flex-basis: 100%; margin-left: 52px; width: auto; }
  .pm-check { grid-template-columns: minmax(0, 1fr); }
  .pm-curve-chips { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .pm-paths { grid-template-columns: minmax(0, 1fr); padding-top: 0; }
  .pm-paths::before, .pm-paths::after { display: none; }
}
@keyframes pm-grow-y { from { transform: scaleY(0); } }
@media (max-width: 560px) {
  .pm-cal { padding: 10px; gap: 3px; grid-template-columns: 40px repeat(var(--pm-cols, 7), minmax(0, 1fr)); }
  .pm-cal-time { font-size: 14px; }
  .pm-cal-day { font-size: 10.5px; }
  .pm-cal-cell { height: 28px; border-radius: 6px; }
  .pm-mines-host { grid-template-columns: minmax(0, 1fr); }
  .pm-mine { min-height: 170px; }
  .pm-phone { width: min(230px, 78%); padding-top: 46px; }
  .pm-phone-clock { font-size: 52px; }
}
.is-still *, .is-still::before, .is-still::after { animation: none !important; }
/* 낮 모드 — 흰 바탕 위 글자만 진한 잉크로 바꾼다(선·도형 색은 그대로) */
html[data-theme="light"] .pm-vs-card.is-me .pm-vs-who,
html[data-theme="light"] .pm-radar-score b { color: #b0147f; text-shadow: none; }
html[data-theme="light"] .pm-vs-card.is-you .pm-vs-who { color: #00707f; }
html[data-theme="light"] .pm-page.is-marriage .pm-kicker,
html[data-theme="light"] .pm-scale-verdict,
html[data-theme="light"] .pm-check li.is-yes span,
html[data-theme="light"] .pm-check li.is-talk::before { color: #8a5d00; }
html[data-theme="light"] .pm-page.is-reunion .pm-kicker { color: #6b3fae; }
html[data-theme="light"] .pm-cal-sticker { color: #00ffa3; border-color: #00ffa3; } /* 스티커는 어두운 바탕 그대로 */

@media (prefers-reduced-motion: reduce) {
  .pm-scale-beam, .pm-curve-marker { transition: none; }
}
