/* Gloaming — 塔罗页面通用样式
   版式按 390px 宽的手机设计稿换算：1u = 设计稿里的 1px，会随屏幕宽度等比缩放 */
:root {
  --sand: #EDE7DA; --mauve: #8B6E6A; --peach: #F0BC9C; --terra: #B6612E;
  --copper: #B87A3D; --teal: #1D3B40; --mid: #166860; --ink: #141414;
  --w: min(100vw, 480px);
  --u: calc(var(--w) / 390);
}
* { box-sizing: border-box; }
[hidden] { display: none !important; }
html, body { margin: 0; }
body {
  font-family: Spectral, Georgia, serif;
  color: var(--teal);
  background: linear-gradient(var(--teal) 0 calc(var(--u) * 470), var(--sand) calc(var(--u) * 470));
  -webkit-font-smoothing: antialiased;
}
.stage { position: relative; width: var(--w); margin: 0 auto; overflow: hidden; }
.abs { position: absolute; }
.lbl { font-family: "Josefin Sans", sans-serif; font-weight: 600; text-transform: uppercase; letter-spacing: .24em; line-height: 1.5; }
.disp { font-family: Fraunces, Georgia, serif; font-weight: 300; font-style: italic; font-variation-settings: 'opsz' 144, 'SOFT' 0, 'WONK' 0; letter-spacing: -.025em; margin: 0; text-wrap: balance; }
.grain { position: fixed; inset: 0; pointer-events: none; opacity: .14; mix-blend-mode: multiply; z-index: 50;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='1.1' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 0.3 0 0 0 0 0.25 0 0 0 0 0.2 0 0 0 0.55 0'/></filter><rect width='160' height='160' filter='url(%23n)'/></svg>"); }

/* ---------- 落地页第一屏 ---------- */
.draw { height: calc(var(--u) * 844); }
.spine { left: calc(var(--u) * 14); top: calc(var(--u) * 40); width: calc(var(--u) * 20); height: calc(var(--u) * 150); overflow: hidden; }
.spine img { position: absolute; width: calc(var(--u) * 154); left: calc(var(--u) * -66); top: calc(var(--u) * 62); transform: rotate(90deg); }
.spine-line { left: calc(var(--u) * 40); top: calc(var(--u) * 28); width: 1px; height: calc(var(--u) * 420); background: rgba(237,231,218,.35); }
.ring { left: calc(var(--u) * -10); top: calc(var(--u) * 142); width: calc(var(--u) * 410); height: calc(var(--u) * 410); border: 1px solid var(--peach); border-radius: 50%; }
.moon { left: calc(var(--u) * 236); top: calc(var(--u) * 52); width: calc(var(--u) * 144); height: calc(var(--u) * 144); border-radius: 50%; object-fit: cover; }
.semi { left: calc(var(--u) * 35); top: calc(var(--u) * 310); width: calc(var(--u) * 320); height: calc(var(--u) * 160); border-radius: calc(var(--u) * 160) calc(var(--u) * 160) 0 0; background: var(--mid); }
.dots { left: 0; top: calc(var(--u) * 330); width: calc(var(--u) * 120); height: calc(var(--u) * 140); overflow: hidden; }
.dots img { width: calc(var(--u) * 240); margin: calc(var(--u) * -60) 0 0 calc(var(--u) * -110); opacity: .85; }
.star4 { left: calc(var(--u) * 56); top: calc(var(--u) * 110); width: calc(var(--u) * 22); height: calc(var(--u) * 22); }

/* 牌：浮动 + 光晕 + 点击翻牌 */
.card { left: calc(var(--u) * 70); top: calc(var(--u) * 118); width: calc(var(--u) * 250); aspect-ratio: 640 / 1174;
  display: block; perspective: 1400px; border: 0; padding: 0; background: none; cursor: pointer; -webkit-tap-highlight-color: transparent;
  animation: float 4s ease-in-out infinite; }
.card-inner { display: block; position: relative; width: 100%; height: 100%; transform-style: preserve-3d; transition: transform 1s cubic-bezier(.3,.7,.2,1); }
.card-face { display: block; position: absolute; inset: 0; backface-visibility: hidden; -webkit-backface-visibility: hidden; border-radius: calc(var(--u) * 11); overflow: hidden; }
.card-face img { width: 100%; height: 100%; display: block; }
.card-back { animation: glow 4s ease-in-out infinite; }
.card-front { transform: rotateY(180deg); box-shadow: 0 calc(var(--u) * 22) calc(var(--u) * 30) calc(var(--u) * -16) rgba(20,20,20,.5); }
.card-front.is-reversed img { transform: rotate(180deg); }
.card.is-flipped { animation: none; cursor: default; }
.card.is-flipped .card-inner { transform: rotateY(180deg); }
.card.is-flipped .card-back { animation: none; }
@keyframes float { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(calc(var(--u) * -8)); } }
@keyframes glow {
  0%, 100% { box-shadow: 0 34px 50px -22px rgba(20,20,20,.6), 0 0 0 0 rgba(240,188,156,0); }
  50% { box-shadow: 0 34px 50px -22px rgba(20,20,20,.6), 0 0 calc(var(--u) * 30) calc(var(--u) * 6) rgba(240,188,156,.55); }
}
@media (prefers-reduced-motion: reduce) { .card, .card-back { animation: none; } .card-inner { transition: none; } }

.hint { left: 0; right: 0; top: calc(var(--u) * 646); text-align: center; font-size: calc(var(--u) * 10); color: var(--terra); transition: opacity .4s; }
.question { left: calc(var(--u) * 20); top: calc(var(--u) * 698); width: calc(var(--u) * 350); font-size: calc(var(--u) * 37); line-height: 1; color: var(--teal); }

/* ---------- 第二屏：品牌信任区 + 页脚 ---------- */
.below { width: var(--w); margin: 0 auto; padding: calc(var(--u) * 56) calc(var(--u) * 20) calc(var(--u) * 28); }
.rule { height: 1px; background: var(--teal); opacity: .45; }
.trust { margin: calc(var(--u) * 14) 0 0; width: calc(var(--u) * 250); font-size: calc(var(--u) * 12.5); line-height: 1.35; color: var(--mauve); }
.trust-link { display: inline-block; margin-top: calc(var(--u) * 12); font-size: calc(var(--u) * 8.5); color: var(--mid); text-decoration: none; }
.footer { margin-top: calc(var(--u) * 64); font-size: calc(var(--u) * 8); color: var(--mauve); }
.footer a { color: inherit; text-decoration: none; }
.footer .row { display: flex; justify-content: space-between; margin-top: calc(var(--u) * 14); }

/* ---------- 翻牌后：免费简读 ---------- */
.draw { transition: height .8s cubic-bezier(.3,.7,.2,1); }
.draw.is-done { height: calc(var(--u) * 652); }
.hint { transition: opacity .4s, top .8s cubic-bezier(.3,.7,.2,1); }
.draw.is-done .hint { top: calc(var(--u) * 624); }
.hint { z-index: 3; }
/* 翻完后去掉 3D 层：iOS Safari 会把 3D 牌的阴影画成一块浅色方框盖住下方文字 */
.card.is-settled .card-inner { transform: none; transition: none; transform-style: flat; }
.card.is-settled .card-back { display: none; }
.card.is-settled .card-front { transform: none; backface-visibility: visible; -webkit-backface-visibility: visible; }
.question { transition: opacity .5s; }
.draw.is-done .question { opacity: 0; pointer-events: none; }
.result { width: var(--w); margin: 0 auto; padding: 0 calc(var(--u) * 20); opacity: 0; transform: translateY(calc(var(--u) * 16)); transition: opacity .9s .3s, transform .9s .3s; }
.result.is-in { opacity: 1; transform: none; }
.phase { display: flex; justify-content: center; margin: calc(var(--u) * -6) 0 calc(var(--u) * 22); }
.phase svg { width: calc(var(--u) * 22); height: calc(var(--u) * 22); }
.reading p { margin: 0; }
.reading .body { white-space: pre-line; }
.reading .lede { font-family: Fraunces, Georgia, serif; font-weight: 300; font-style: italic; font-variation-settings: 'opsz' 144; letter-spacing: -.02em;
  font-size: calc(var(--u) * 25); line-height: 1.12; color: var(--teal); text-wrap: balance; }
.reading .body { margin-top: calc(var(--u) * 20); font-size: calc(var(--u) * 15.5); line-height: 1.55; color: var(--teal); }
.reading .close { margin-top: calc(var(--u) * 20); padding-left: calc(var(--u) * 16); border-left: 1px solid var(--terra);
  font-style: italic; font-size: calc(var(--u) * 15.5); line-height: 1.5; color: var(--terra); }
.result .rule { margin-top: calc(var(--u) * 40); }
.ask-title { margin-top: calc(var(--u) * 28); font-size: calc(var(--u) * 30); line-height: 1.02; color: var(--teal); }
.pill { display: inline-block; margin-top: calc(var(--u) * 22); background: var(--terra); color: var(--sand); text-decoration: none;
  font-size: calc(var(--u) * 11); letter-spacing: .18em; padding: calc(var(--u) * 17) calc(var(--u) * 26); border-radius: 999px; }
.share { display: block; width: max-content; margin-top: calc(var(--u) * 20); font-size: calc(var(--u) * 9.5); color: var(--mid); text-decoration: none; }
.below.is-done { padding-top: calc(var(--u) * 20); }
.below.is-done .trust-wrap { display: none; }
.below.is-done .footer { margin-top: calc(var(--u) * 28); }
@media (prefers-reduced-motion: reduce) { .draw, .result, .question { transition: none; } }

/* ---------- 今天次数用完（J-draw-locked） ---------- */
.locked { height: calc(var(--u) * 690); }
.locked .spine-line { height: calc(var(--u) * 440); }
.locked .ring { left: calc(var(--u) * 5); top: calc(var(--u) * 70); width: calc(var(--u) * 380); height: calc(var(--u) * 380); }
.locked .semi { left: calc(var(--u) * 25); top: calc(var(--u) * 300); width: calc(var(--u) * 340); height: calc(var(--u) * 170); border-radius: calc(var(--u) * 170) calc(var(--u) * 170) 0 0; }
.locked .dots { left: calc(var(--u) * 262); top: calc(var(--u) * 300); width: calc(var(--u) * 128); height: calc(var(--u) * 170); }
.locked .dots img { margin: calc(var(--u) * -60) 0 0 calc(var(--u) * -40); }
.locked .moon { left: calc(var(--u) * 85); top: calc(var(--u) * 130); width: calc(var(--u) * 220); height: calc(var(--u) * 220); }
.locked .star4 { left: calc(var(--u) * 300); top: calc(var(--u) * 92); }
.locked .star4.small { left: calc(var(--u) * 78); top: calc(var(--u) * 400); width: calc(var(--u) * 14); height: calc(var(--u) * 14); }
.locked-copy { left: calc(var(--u) * 20); right: calc(var(--u) * 20); top: calc(var(--u) * 524); }
.locked-copy h1 { font-size: calc(var(--u) * 28); line-height: 1.02; color: var(--teal); }
.locked-copy .pill { margin-top: calc(var(--u) * 30); }

/* ---------- 付费提问页（J-ask） ---------- */
body.ask-page { background: linear-gradient(var(--teal) 0 calc(var(--u) * 420), var(--sand) calc(var(--u) * 420)); }
.ask-hero { height: calc(var(--u) * 430); }
.ask-hero .spine-line { height: calc(var(--u) * 390); }
.ask-hero .ring { left: calc(var(--u) * 15); top: calc(var(--u) * 60); width: calc(var(--u) * 360); height: calc(var(--u) * 360); }
.ask-hero .semi { left: calc(var(--u) * 35); top: calc(var(--u) * 260); width: calc(var(--u) * 320); height: calc(var(--u) * 160); }
.ask-hero .dots { left: calc(var(--u) * 228); top: calc(var(--u) * 260); width: calc(var(--u) * 150); height: calc(var(--u) * 160); }
.ask-hero .dots img { width: calc(var(--u) * 150); margin: calc(var(--u) * 8) 0 0 0; opacity: .9; }
.ask-hero .disc { left: calc(var(--u) * 90); top: calc(var(--u) * 120); width: calc(var(--u) * 210); height: calc(var(--u) * 210); border-radius: 50%; object-fit: cover; }
.ask-hero .star4 { left: calc(var(--u) * 300); top: calc(var(--u) * 78); }
.ask-hero .star4.small { left: calc(var(--u) * 70); top: calc(var(--u) * 360); width: calc(var(--u) * 14); height: calc(var(--u) * 14); }
.flow { width: var(--w); margin: 0 auto; padding: 0 calc(var(--u) * 20); }
.ask-h1 { margin-top: calc(var(--u) * 24); font-size: calc(var(--u) * 40); line-height: 1.02; color: var(--teal); }
.ask-h1 .up { font-style: normal; }
.lead { margin: calc(var(--u) * 16) 0 0; font-size: calc(var(--u) * 16); line-height: 1.5; }
.flow > .rule { margin-top: calc(var(--u) * 28); }
.ask-q { display: block; margin-top: calc(var(--u) * 22); font-size: calc(var(--u) * 22); line-height: 1.02; color: var(--teal); }
#question-input { display: block; width: 100%; margin-top: calc(var(--u) * 14); min-height: calc(var(--u) * 140); padding: calc(var(--u) * 14) calc(var(--u) * 16);
  border: 1px solid rgba(29,59,64,.45); border-radius: 0; background: transparent; resize: vertical; color: var(--teal);
  font-family: Spectral, Georgia, serif; font-size: 16px; line-height: 1.5; -webkit-appearance: none; appearance: none; }
#question-input::placeholder { font-style: italic; color: rgba(29,59,64,.5); }
#question-input:focus { outline: none; border-color: var(--teal); }
#question-input.is-empty { border-color: var(--terra); }
.offer { margin-top: calc(var(--u) * 34); padding: calc(var(--u) * 22) 0; border-top: 1px solid var(--teal); border-bottom: 1px solid var(--teal); }
.offer-line { margin: 0; font-size: calc(var(--u) * 24); line-height: 1.02; color: var(--terra); }
.offer-price { margin: calc(var(--u) * 14) 0 0; font-size: calc(var(--u) * 9); color: var(--teal); }
button.pill { border: 0; cursor: pointer; font-weight: 600; }
.pill.full { display: block; width: 100%; margin-top: calc(var(--u) * 24); text-align: center; }
.small-note { margin: calc(var(--u) * 6) 0 0; font-size: calc(var(--u) * 12.5); line-height: 1.5; color: var(--mauve); }
#ask-note1 { margin-top: calc(var(--u) * 18); }

/* ======================================================================
   其余页面（I-C 页面体系）
   ====================================================================== */
body.sub { background: linear-gradient(var(--band-color, var(--teal)) 0 var(--band), var(--page-bg, var(--sand)) var(--band)); min-height: 100vh; }
body.shop-page { --band-color: var(--peach); }
body.dark-page { color: var(--sand); }
a.spine { display: block; }
.inkmark { left: calc(var(--u)*20); top: calc(var(--u)*22); width: calc(var(--u)*140); height: calc(var(--u)*20); overflow: hidden; display: block; }
.inkmark img { width: calc(var(--u)*146); margin: calc(var(--u)*-5) 0 0 calc(var(--u)*-5); display: block; }
.flow h1, .flow h2 { margin-bottom: 0; }
.flow .disp { color: inherit; line-height: 1.02; }
.disp.up { font-style: normal; }
.body17 { margin: 0; font-size: calc(var(--u)*17); line-height: 1.5; }
.lead { margin: calc(var(--u)*14) 0 0; font-size: calc(var(--u)*16); line-height: 1.5; }
.services { margin-top: calc(var(--u)*16); border: 1px solid rgba(29,59,64,.35); padding: calc(var(--u)*18) calc(var(--u)*16); font-size: calc(var(--u)*15); color: var(--mid); }
.tlink { display: inline-block; font-size: calc(var(--u)*9.5); text-decoration: none; }
.tbd { color: var(--terra); }
.small-note { margin: calc(var(--u)*6) 0 0; }
.field { display: block; width: 100%; margin-top: calc(var(--u)*16); padding: calc(var(--u)*14) calc(var(--u)*16); border: 1px solid rgba(29,59,64,.45); border-radius: 0;
  background: transparent; color: var(--teal); font-family: Spectral, Georgia, serif; font-size: 16px; line-height: 1.5; -webkit-appearance: none; appearance: none; resize: vertical; }
.field::placeholder { font-style: italic; color: rgba(29,59,64,.5); }
.field.email::placeholder { font-style: normal; }
.field:focus { outline: none; border-color: var(--teal); }
.field.is-empty { border-color: var(--terra); }
.pill.small { padding: calc(var(--u)*13) calc(var(--u)*28); margin-top: 0; }
.pill.outline { background: transparent; color: var(--teal); border: 1px solid var(--teal); }
#shop-form .pill { margin-top: calc(var(--u)*12); }
.thanks { font-style: italic; color: var(--terra); }

/* 页脚（竖排版） */
.footer2 { margin-top: calc(var(--u)*48); padding-bottom: calc(var(--u)*28); font-size: calc(var(--u)*8); color: var(--mauve); line-height: 2.1; }
.footer2 .rule { opacity: .35; }
.footer2 .links { margin-top: calc(var(--u)*18); }
.footer2 a { color: inherit; text-decoration: none; }
.footer2 .copy { margin-top: calc(var(--u)*14); }
.footer2 .disclaimer { margin: calc(var(--u)*14) 0 0; font-family: Spectral, Georgia, serif; text-transform: none; letter-spacing: 0; font-weight: 400; font-size: calc(var(--u)*12); line-height: 1.5; }
.footer2.dark { color: rgba(237,231,218,.6); }
.footer2.dark .rule { background: var(--sand); }
.footer a, .footer2 a { color: inherit; text-decoration: none; }

/* 选三张牌 */
.pick-page { overflow-x: hidden; }
.counter { text-align: center; font-size: calc(var(--u)*10); color: var(--peach); }
.slot { border: 1px dashed rgba(240,188,156,.7); border-radius: calc(var(--u)*6); }
.slot img { width: 100%; height: 100%; display: block; border-radius: calc(var(--u)*5); box-shadow: 0 calc(var(--u)*20) calc(var(--u)*30) calc(var(--u)*-16) rgba(20,20,20,.6); }
.pick-title { text-align: center; font-size: calc(var(--u)*26); line-height: 1.08; color: var(--teal); font-style: italic; }
.fan { left: 0; top: calc(var(--u)*520); width: 100%; height: calc(var(--u)*324); touch-action: none; cursor: grab; user-select: none; -webkit-user-select: none; }
.fan.is-dragging { cursor: grabbing; }
.fan.settle button { transition: transform .45s cubic-bezier(.3,.7,.2,1), translate .25s; }
.fan button { position: absolute; left: calc(var(--u)*156); top: calc(var(--u)*40); width: calc(var(--u)*78); aspect-ratio: 640/1174; padding: 0; border: 0; background: none;
  transform-origin: 50% calc(var(--u)*430); cursor: pointer; -webkit-user-drag: none; -webkit-tap-highlight-color: transparent; transition: translate .25s, box-shadow .25s; }
.fan button img { width: 100%; height: 100%; display: block; pointer-events: none; -webkit-user-drag: none; border-radius: calc(var(--u)*5); box-shadow: 0 calc(var(--u)*6) calc(var(--u)*12) calc(var(--u)*-8) rgba(20,20,20,.5); transition: box-shadow .25s; }
.fan button.is-up { translate: 0 calc(var(--u)*-26); }
.fan button.is-up img { box-shadow: 0 0 calc(var(--u)*26) calc(var(--u)*6) rgba(240,188,156,.6); }
@media (hover: hover) { .fan button:hover { translate: 0 calc(var(--u)*-26); } .fan button:hover img { box-shadow: 0 0 calc(var(--u)*26) calc(var(--u)*6) rgba(240,188,156,.6); } }
.fan button.is-gone { visibility: hidden; pointer-events: none; }
.flyer { position: fixed; z-index: 40; pointer-events: none; border-radius: calc(var(--u)*5); }

/* 等待：三颗小星依次明暗 */
.twinkle { display: flex; gap: calc(var(--u)*8); margin-top: calc(var(--u)*20); }
.twinkle svg { width: calc(var(--u)*14); height: calc(var(--u)*14); animation: twinkle 1.8s ease-in-out infinite; opacity: .25; }
.twinkle svg:nth-child(2) { animation-delay: .6s; } .twinkle svg:nth-child(3) { animation-delay: 1.2s; }
@keyframes twinkle { 0%, 100% { opacity: .25; } 35% { opacity: 1; } }
@media (prefers-reduced-motion: reduce) { .twinkle svg { animation: none; opacity: 1; } }

/* 完整解读 */
.rl { font-size: calc(var(--u)*9); color: var(--peach); }
.r-question { margin-top: calc(var(--u)*12); font-family: Fraunces, Georgia, serif; font-weight: 300; font-style: italic; font-variation-settings: 'opsz' 144;
  font-size: calc(var(--u)*19); line-height: 1.25; color: var(--sand); display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.rcard { border-radius: calc(var(--u)*5); box-shadow: 0 calc(var(--u)*30) calc(var(--u)*46) calc(var(--u)*-22) rgba(20,20,20,.6); }
.rcard.is-reversed { rotate: 180deg; }
.r-caps { display: flex; justify-content: space-between; align-items: flex-start; margin-top: calc(var(--u)*14); }
.r-caps div { width: calc(var(--u)*106); text-align: center; font-family: "Josefin Sans", sans-serif; font-weight: 600; text-transform: uppercase;
  font-size: calc(var(--u)*7.5); letter-spacing: .14em; line-height: 1.5; color: var(--teal); }
.sec-lbl { margin-top: calc(var(--u)*24); font-size: calc(var(--u)*10); color: var(--terra); }
.r-body { margin-top: calc(var(--u)*14); font-size: calc(var(--u)*16); line-height: 1.6; }
.r-body p { margin: 0 0 1em; }
.r-body p:first-child::first-letter { float: left; font-family: Fraunces, Georgia, serif; font-style: italic; font-weight: 300; color: var(--terra);
  font-size: calc(var(--u)*64); line-height: .8; padding: calc(var(--u)*4) calc(var(--u)*10) 0 0; }
.r-body .bar { height: calc(var(--u)*9); border-radius: 2px; background: rgba(29,59,64,.16); margin-top: calc(var(--u)*11); }
.follow-row { display: flex; justify-content: space-between; align-items: center; margin-top: calc(var(--u)*14); }
.follow-row span.lbl { font-size: calc(var(--u)*9); color: var(--mauve); }
.openbox { margin-top: calc(var(--u)*36); background: var(--teal); color: var(--sand); padding: calc(var(--u)*22) calc(var(--u)*20); display: flex; gap: calc(var(--u)*14); align-items: flex-start; }
.openbox svg { flex: none; width: calc(var(--u)*26); height: calc(var(--u)*26); }
.openbox p { margin: 0; font-size: calc(var(--u)*14); line-height: 1.5; }
#pdf-btn { margin-top: calc(var(--u)*18); }
.pdf-form { margin-top: calc(var(--u)*18); }
.pdf-form .pdf-warn { margin: 0 0 calc(var(--u)*12); font-size: calc(var(--u)*13); }
.pdf-form .field { margin-top: 0; }
.pdf-form .pill { margin-top: calc(var(--u)*12); }
#pdf-sent { margin-top: calc(var(--u)*36); }

/* 条款页 */
.legal-page .eff { margin-top: calc(var(--u)*12); font-size: calc(var(--u)*9); letter-spacing: .12em; text-transform: none; }
.lsec { display: flex; gap: calc(var(--u)*16); margin-top: calc(var(--u)*30); }
.lnum { flex: none; width: calc(var(--u)*38); font-size: calc(var(--u)*30); line-height: 1; color: var(--copper) !important; }
.lmain { flex: 1; min-width: 0; }
.lmain h2 { margin: 0; font-size: calc(var(--u)*10); color: var(--teal); }
.lmain p, .lmain li { font-size: calc(var(--u)*15); line-height: 1.55; }
.lmain p { margin: calc(var(--u)*8) 0 0; }
.lmain ul { margin: calc(var(--u)*8) 0 0; padding-left: 1.1em; }
.lmain li + li { margin-top: calc(var(--u)*6); }
.ltable { margin: calc(var(--u)*8) 0 0; }
.ltable > div { padding: calc(var(--u)*12) 0; border-top: 1px solid rgba(29,59,64,.2); }
.ltable dt { font-size: calc(var(--u)*15); line-height: 1.4; }
.ltable dd { margin: calc(var(--u)*6) 0 0; font-size: calc(var(--u)*13.5); line-height: 1.5; color: var(--mauve); }
.ltable dd .lbl { display: block; font-size: calc(var(--u)*8); color: var(--teal); }

.r-caps span { display: block; }
.r-caps span + span { margin-top: calc(var(--u)*2); opacity: .7; }

.slot .flip { width: 100%; height: 100%; perspective: 900px; border-radius: calc(var(--u)*5); box-shadow: 0 calc(var(--u)*20) calc(var(--u)*30) calc(var(--u)*-16) rgba(20,20,20,.6); }
.flip-inner { position: relative; width: 100%; height: 100%; transform-style: preserve-3d; transition: transform .8s cubic-bezier(.3,.7,.2,1); }
.flip.is-open .flip-inner { transform: rotateY(180deg); }
.flip-inner img { position: absolute; inset: 0; width: 100%; height: 100%; border-radius: calc(var(--u)*5); backface-visibility: hidden; -webkit-backface-visibility: hidden; box-shadow: none; }
.flip-inner .f-front { transform: rotateY(180deg); }
.flip-inner .f-front.is-reversed { transform: rotateY(180deg) rotate(180deg); }
@media (prefers-reduced-motion: reduce) { .flip-inner { transition: none; } }

/* 付款前审核提示、补全选项 */
.ask-msg { margin: calc(var(--u)*12) 0 0; font-size: calc(var(--u)*14.5); line-height: 1.5; color: var(--terra); }
.options .ask-msg { color: var(--teal); }
.opt-lbl { display: block; margin-top: calc(var(--u)*16); font-size: calc(var(--u)*9); color: var(--teal); }
.options .field { margin-top: calc(var(--u)*8); }
#ask-form .field + .pill, .options + .pill { margin-top: calc(var(--u)*24); }

/* 解读正文与追问 */
.r-body .para { margin: 0 0 1em; white-space: pre-line; }
.r-body .para:first-child::first-letter { float: left; font-family: Fraunces, Georgia, serif; font-style: italic; font-weight: 300; color: var(--terra);
  font-size: calc(var(--u)*64); line-height: .8; padding: calc(var(--u)*4) calc(var(--u)*10) 0 0; }
.thread { margin-top: calc(var(--u)*6); }
.thread .fq { margin: calc(var(--u)*22) 0 0; font-family: Fraunces, Georgia, serif; font-style: italic; font-weight: 300; font-variation-settings: 'opsz' 144;
  font-size: calc(var(--u)*19); line-height: 1.25; color: var(--teal); }
.thread .fa { margin: calc(var(--u)*10) 0 0; font-size: calc(var(--u)*15.5); line-height: 1.6; white-space: pre-line; }
.thread .fa.pending { color: var(--mauve); font-style: italic; }
#used-up { margin: calc(var(--u)*16) 0 0; font-size: calc(var(--u)*14); line-height: 1.5; color: var(--mauve); }

/* 等待：月相轮转（新月 → 满月 → 残月循环） */
.phases { margin-top: calc(var(--u)*26); width: calc(var(--u)*72); height: calc(var(--u)*72); }
.phases svg { width: 100%; height: 100%; display: block; }
.phases path { transition: opacity .25s; }
