:root {
  color-scheme: light;
  --brand: #98131c;
  --brand-light: #fff0e8;
  --brand-focus: #c8433a38;
  --ink: #5b2e24;
  --muted: #987561;
  --gold: #d4a451;
  --line: #e8d2ad;
  --border: #dbbd8e;
  --surface: #fff9ec;
  --placeholder: #b39985;
  --success-strong: #347251;
  --warning: #9b651c;
  --radius: 12px;
  --radius-md: 18px;
  --shadow: 0 8px 24px #4b090b12;
  --rg-serif: "Songti SC", "Noto Serif SC", "STSong", "SimSun", serif;
}
* { box-sizing: border-box; }
html { margin: 0; min-width: 280px; background: #45090f; -webkit-text-size-adjust: 100%; }
body { margin: 0; color: var(--ink); font: 16px/1.6 -apple-system, BlinkMacSystemFont, "PingFang SC", "Microsoft YaHei", sans-serif; }
button, input { font: inherit; -webkit-tap-highlight-color: transparent; }
button { cursor: pointer; }
button, a { touch-action: manipulation; }
button:disabled { cursor: wait; opacity: .62; }
button:focus-visible, a:focus-visible, input:focus-visible { outline: 3px solid #d18d37; outline-offset: 3px; }
button::-moz-focus-inner { border: 0; }
a { color: var(--brand); text-underline-offset: 3px; }
img, svg { max-width: 100%; }
img { display: block; }
svg { flex-shrink: 0; vertical-align: middle; }
h1, h2, h3, p { margin: 0; }
[hidden] { display: none !important; }
.sr-only { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }
.app-shell { width: 100%; max-width: 750px; min-height: 100dvh; margin: 0 auto; background: #fff6e8; box-shadow: 0 0 50px #19000433; }
.screen { width: 100%; min-width: 0; }
.relationship-home { background: linear-gradient(#d51218 0%, #a00d17 43%, #8d101a 100%); }
.site-notice { overflow: hidden; background: #2b0806; color: #f6d99c; font-size: 11px; line-height: 25px; }
.site-notice-track { display: flex; width: max-content; animation: notice-scroll 32s linear infinite; }
.site-notice-track > span { flex-shrink: 0; padding-right: 32px; white-space: nowrap; }
.site-notice:hover .site-notice-track { animation-play-state: paused; }
.relationship-hero { position: relative; width: 100%; }
.relationship-banner { width: 100%; height: auto; }
.hero-price-note { position: absolute; right: max(6%, 48px); bottom: clamp(34px, 7vw, 49px); color: #fff755; font-size: clamp(11px, 2.15vw, 16px); line-height: 1.5; text-align: center; text-shadow: 0 1px 2px #a42113; }
.relationship-main { position: relative; padding: 0 clamp(14px, 4vw, 30px) 26px; margin-top: -20px; }
.relationship-form { position: relative; padding: 26px 20px 20px; border: 1px solid #f1d69b; border-radius: 22px; background: radial-gradient(ellipse at top, #fffdf0, #fff3df 80%); box-shadow: 0 9px 30px #66071035, inset 0 0 0 4px #fff9ec, inset 0 0 0 5px #ebcf96; }
.rg-field, .field-block { position: relative; display: flex; align-items: center; flex-wrap: wrap; gap: 0 10px; width: 100%; min-height: 58px; margin-bottom: 12px; padding: 8px 13px; border: 1px solid #e6cda7; border-radius: 12px; background: #fffdf5; }
.rg-field-label, .field-label { flex: 0 0 82px; color: #8b2d24; font-size: 14px; font-weight: 600; }
.rg-req { color: #bd473b; font-size: 12px; font-style: normal; }
.rg-field input { width: 0; flex: 1; min-width: 0; height: 40px; padding: 0; border: 0; border-radius: 0; background: transparent; color: #58382b; font-size: 16px; outline: 0; }
.rg-field input::placeholder { color: #ae9480; font-size: 14px; }
.rg-field:focus-within, .field-block:focus-within { border-color: #b66a46; box-shadow: 0 0 0 2px #b66a4610; }
.choice-row { display: flex; flex: 1; gap: 10px; }
.choice { min-width: 66px; min-height: 36px; padding: 5px 16px; border: 1px solid #d9b68c; border-radius: 24px; background: #fff9ed; color: #9a4c3c; font-size: 14px; }
.choice.active { border-color: #9d1922; background: linear-gradient(#bd3436, #92111b); color: #fff3d5; box-shadow: 0 3px 7px #95111c21; }
.rg-birth-trigger { display: flex; align-items: center; justify-content: space-between; flex: 1; gap: 7px; min-width: 0; min-height: 40px; padding: 0; border: 0; background: transparent; color: #704333; font-size: 14px; text-align: left; }
.rg-birth-trigger span { min-width: 0; word-break: keep-all; }
.rg-birth-trigger svg { color: #b98f62; }
.field-helper { margin: -5px 2px 13px; color: #a78a6b; font-size: 11px; line-height: 1.7; }
.ns-price { margin: 21px 0 15px; color: #a16b43; font-size: 13px; text-align: center; line-height: 1.7; overflow-wrap: anywhere; }
.ns-price strong { display: inline-block; margin-left: 7px; color: #a3131c; font-size: 26px; font-weight: 700; vertical-align: -2px; }
.primary-action { display: block; width: 100%; min-height: 58px; padding: 11px 18px; border: 1px solid #d69b3c; border-radius: 13px; background: linear-gradient(180deg, #fff2b9 0%, #ffd680 18%, #f6b94f 52%, #ffe7a0 93%); color: #7c380d; font: 700 23px/1.4 var(--rg-serif); letter-spacing: 5px; text-shadow: 0 1px #fff7d4; box-shadow: inset 0 0 0 3px #fff3bc80, inset 0 0 0 4px #d4942e75, 0 5px 0 #bd702a, 0 8px 14px #b36a2d20; }
.primary-action:active { transform: translateY(2px); box-shadow: inset 0 0 0 3px #fff3bc80, inset 0 0 0 4px #d4942e75, 0 3px 0 #bd702a; }
.primary-action:disabled { letter-spacing: 1px; font-size: 18px; }
.ns-pay-note { margin: 17px 0 12px; color: #a67651; font-size: 11px; text-align: center; line-height: 1.8; }
.ns-consent { padding: 0 2px; }
.consent { display: flex; align-items: flex-start; justify-content: center; gap: 7px; color: #a18065; font-size: 11px; line-height: 1.9; }
.consent input { flex: 0 0 15px; width: 15px; height: 15px; margin: 3px 0 0; accent-color: #a01c24; }
.consent a { color: #9e3029; text-decoration: none; white-space: nowrap; }
.rg-field--bad { border-color: #c32a28; }
.rg-field-err { flex-basis: 100%; margin: 5px 0 1px; color: #ba2d25; font-size: 12px; }
.rg-history-entry { display: flex; align-items: center; justify-content: center; gap: 8px; width: 100%; min-height: 44px; margin: 17px 0 13px; padding: 8px; border: 0; background: transparent; color: #ffe2a7; font-size: 13px; letter-spacing: 1px; }
.relationship-content { display: grid; gap: 14px; margin-top: 8px; }
.section-heading { display: flex; align-items: center; justify-content: center; gap: 13px; margin: 7px 0 6px; }
.section-heading h2 { flex-shrink: 0; color: #ffe1a2; font: 600 19px/1.5 var(--rg-serif); letter-spacing: 2px; }
.section-heading > span { height: 1px; width: 36px; background: linear-gradient(90deg, transparent, #e5b969); }
.section-heading > span:last-child { transform: rotate(180deg); }
.relationship-card { display: flex; align-items: center; gap: 15px; min-width: 0; padding: 13px; border: 1px solid #ebc98d; border-radius: 15px; background: #fff4df; box-shadow: 0 5px 16px #4e0a1029; }
.relationship-card.is-reversed { flex-direction: row-reverse; }
.relationship-card > img { width: 37%; max-width: 205px; height: auto; aspect-ratio: 4/3; object-fit: cover; border: 1px solid #e2c39c; border-radius: 8px; }
.relationship-card > div { flex: 1; min-width: 0; }
.relationship-card h3 { margin-bottom: 5px; color: #8e2224; font: 700 clamp(14px, 3.3vw, 19px)/1.6 var(--rg-serif); }
.relationship-card p { color: #a0795d; font-size: clamp(11px, 2.5vw, 14px); line-height: 1.8; }
.rg-footer { margin-top: 26px; padding: 18px 0 0; border-top: 1px solid #f0c67d35; color: #e6bcb0; font-size: 11px; line-height: 1.9; text-align: center; overflow-wrap: anywhere; }
.rg-footer p { margin: 5px 0; }
.rg-footer a { color: #f4d1a0; }
.relationship-footer { padding: 24px 2px 0; color: #f0c4b1; font-size: 11px; line-height: 1.95; }
.relationship-footer .footer-price-note { margin: 8px auto; max-width: 36em; color: #f7d5bf; }
.relationship-footer [data-footer-price] { color: #ffe1a0; font-weight: 700; }
.relationship-footer .footer-disclaimer { color: #e9c3b0; }
.footer-support { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 3px 7px; margin: 13px 0 16px; color: #ffdfac; }
.footer-support-button { display: inline-flex; align-items: center; justify-content: center; gap: 5px; min-height: 36px; padding: 4px 0; border: 0; background: transparent; color: #ffe6b8; font-size: 12px; font-weight: 600; text-decoration: none; }
.footer-support-button:disabled, .footer-support-button[aria-disabled="true"] { opacity: .72; cursor: not-allowed; }
#contact-tools { position: fixed; z-index: 80; top: min(54%, calc(100% - 340px)); right: max(10px, env(safe-area-inset-right)); display: flex; flex-direction: column; gap: 40px; }
.support-floating { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 4px; width: 28px; min-height: 98px; padding: 8px 3px; border: 0; border-radius: 6px 0 0 6px; background: #050505; color: #fff; text-decoration: none; cursor: pointer; }
.support-floating svg { flex-shrink: 0; width: 18px; height: 18px; }
.support-floating span { writing-mode: vertical-rl; letter-spacing: 2px; font-size: 14px; line-height: 1.2; }
.support-floating:disabled { opacity: .6; cursor: not-allowed; }
.support-floating:focus-visible { outline: 2px solid #f8c566; outline-offset: 3px; }
@media (max-height: 420px) { #contact-tools { top: 10px; gap: 12px; } }
.support-dialog { position: fixed; z-index: 130; inset: 0; display: grid; place-items: center; padding: 20px; }
.support-dialog-mask { position: absolute; inset: 0; background: #260a13b8; }
.support-dialog-card { position: relative; width: min(100%, 360px); max-height: calc(100dvh - 40px); overflow-y: auto; padding: 18px 20px 22px; border: 1px solid #e4bd7e; border-radius: 18px; background: #fff8ea; box-shadow: 0 15px 55px #20030b55; text-align: center; }
.support-dialog-card header { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-bottom: 14px; text-align: left; }
.support-dialog-card h2 { color: #8f2425; font-size: 18px; }
.support-dialog-close { flex-shrink: 0; width: 36px; height: 36px; padding: 0; border: 0; border-radius: 50%; background: #f0dfc5; color: #7b4f37; font-size: 26px; line-height: 1; }
#support-qr-image { width: 100%; height: auto; max-height: min(52dvh, 320px); object-fit: contain; background: #fff; border-radius: 5px; }
#support-image-status { margin-top: 10px; color: #9d3731; font-size: 13px; }
.support-dialog-hint { margin-top: 15px; color: #98765a; font-size: 12px; line-height: 1.8; }
.relationship-footer .footer-company { color: #d9afa0; font-size: 10px; }
.certification-links { --certification-scale: .5; display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 12px; margin: 18px 0; }
.certification-links a { display: block; width: calc(227px * var(--certification-scale)); padding: 0; border: 0; background: transparent; text-decoration: none; }
.certification-links a[aria-label="可信网站"] { width: calc(245px * var(--certification-scale)); }
.certification-links svg { display: block; width: 100%; height: auto; overflow: hidden; }
.certification-links a:hover { filter: brightness(1.08); }
.topbar { display: flex; align-items: center; justify-content: space-between; gap: 15px; min-height: 63px; padding: 12px 20px; border-bottom: 1px solid #ca9b5b66; background: #93121c; }
.brand { display: inline-flex; align-items: center; gap: 8px; min-width: 0; padding: 0; border: 0; background: transparent; color: #ffe2ae; font-family: var(--rg-serif); font-size: 17px; text-align: left; }
.brand-mark { display: grid; place-items: center; flex: 0 0 29px; height: 29px; border: 1px solid #d6ac65; border-radius: 6px; }
.topbar .history { flex-shrink: 0; padding: 7px 10px; border: 1px solid #dcac7166; border-radius: 7px; background: #ffffff0b; color: #ffe1b4; font-size: 12px; }
.route-page, .report-screen { min-height: calc(100dvh - 63px); padding: 22px clamp(16px, 4vw, 30px) 32px; background: #fff5e5; }
.route-page { min-height: 100dvh; }
.page-nav { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 34px; margin-bottom: 21px; }
.back-button { display: inline-flex; align-items: center; gap: 5px; padding: 5px 0; border: 0; background: transparent; color: #9d4a35; font-size: 13px; text-decoration: none; }
.header-title { color: #ac8864; font-size: 12px; }
.route-heading, .report-title { margin: 6px 0 10px; color: #8e1820; font: 700 27px/1.5 var(--rg-serif); letter-spacing: 2px; }
.route-subtitle, .report-date { color: #a47b56; font-size: 13px; line-height: 1.8; }
.detail-card, .article-card, .query-card { margin: 17px 0; padding: 22px 20px; border: 1px solid #e0bf8c; border-radius: 15px; background: #fffdf5; box-shadow: inset 0 0 0 3px #fbefdb, 0 5px 14px #783c1710; }
.detail-card h2, .article-label { margin: 0 0 15px; color: #94232a; font: 700 19px/1.6 var(--rg-serif); }
.detail-card p, .article-card p { color: #85654c; font-size: 14px; line-height: 1.95; overflow-wrap: anywhere; }
.detail-list { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 14px; margin: 0; font-size: 14px; }
.detail-list dt { color: #a27e60; }
.detail-list dd { margin: 0; text-align: right; overflow-wrap: anywhere; }
.detail-card .checkout-price { margin: 22px 0 8px; color: #ad1b25; font: 700 39px/1.3 var(--rg-serif); text-align: center; }
.checkout-price small { font-size: 20px; }
.checkout-subtitle { color: #b08c69; font-size: 12px; text-align: center; }
.gold-button, .query-submit { display: flex; align-items: center; justify-content: center; gap: 8px; width: 100%; min-height: 50px; margin-top: 15px; padding: 12px 16px; border: 1px solid #d3a14c; border-radius: 10px; background: linear-gradient(#ffedb5, #f4c265 55%, #ffe3a2); color: #8a421d; font-size: 17px; font-weight: 700; text-align: center; text-decoration: none; box-shadow: inset 0 0 0 2px #fff2bc7d, 0 3px 0 #ca9043; }
.secondary-button, .rg-modal-btn { display: block; width: 100%; min-height: 44px; margin-top: 12px; padding: 10px 14px; border: 1px solid #daba8b; border-radius: 9px; background: #fff9ec; color: #93653c; font-size: 14px; }
.text-button { display: block; margin: 10px auto; padding: 8px 14px; border: 0; background: transparent; color: #a7372e; font-size: 13px; text-decoration: underline; text-underline-offset: 3px; }
.status-note, .sample-banner, .mode-note { margin: 14px 0; padding: 12px 14px; border: 1px solid #e0bc82; border-radius: 9px; background: #fff0d1; color: #8f6233; font-size: 13px; line-height: 1.8; overflow-wrap: anywhere; }
.sample-banner { border-style: dashed; }
.mode-note { font-size: 12px; text-align: center; }
.status-note.error-note { color: #ab2b23; background: #fff0e8; border-color: #e6b9a8; }
.payment-meta, .report-disclaimer, .page-footer-company, .policy-contact { margin: 20px 0 0; color: #a18163; font-size: 12px; line-height: 1.9; overflow-wrap: anywhere; }
.payment-meta, .report-disclaimer, .page-footer-company { text-align: center; }
.page-footer-links { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px 18px; margin: 27px 0 8px; font-size: 12px; }
.page-footer-links a { color: #9d4c37; text-decoration: none; }
.checkout-page { padding: 0; background: #921819; }
.checkout-shell { position: relative; min-height: 100dvh; padding-bottom: calc(112px + env(safe-area-inset-bottom, 0px)); background: linear-gradient(#a91418, #8f1719 42%, #7e1519); color: #ffe0b1; }
.checkout-nav { position: relative; z-index: 2; padding: 8px clamp(14px, 4vw, 26px); border-bottom: 1px solid #f3c87838; background: #921319; }
.checkout-nav .page-nav { width: 100%; min-height: 36px; margin: 0; }
.checkout-nav .back-button, .checkout-nav .header-title { color: #f9d5a7; }
.checkout-nav .back-button { min-height: 36px; }
.checkout-hero { position: relative; width: 100%; overflow: hidden; background: #b40710; }
.checkout-hero-image { display: block; width: 100%; height: auto; }
.checkout-hero-title.sr-only { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }
.checkout-main { position: relative; display: grid; gap: 22px; margin-top: -10px; padding: 0 7px 25px; }
.checkout-offer-card, .checkout-discussion { min-width: 0; overflow: hidden; border: 2px solid #f6bd57; border-radius: 7px; background: #fff9ef; box-shadow: inset 0 0 12px #efae4973, 0 4px 14px #5410142b; color: #71432a; }
.checkout-panel-title { margin: 0; padding: 13px 10px; border-bottom: 1px solid #dc943b; background: linear-gradient(#ffe5a0, #ffdb86); color: #8e431b; font: 700 clamp(21px, 5.4vw, 31px)/1.5 var(--rg-serif); text-align: center; letter-spacing: 1px; box-shadow: inset 0 0 10px #efb34c70; }
.checkout-offer-body { padding: 21px 15px 17px; }
.consultation-topics { width: 100%; max-width: 620px; margin: 0 auto; }
.consultation-topic-row { display: flex; align-items: center; justify-content: space-evenly; gap: 10px; }
.consultation-topic-row.is-bottom { margin-top: 17px; gap: 8px; }
.consultation-topic-circle { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 6px; width: 28%; aspect-ratio: 1; border: 1px solid #ffd69c; border-radius: 50%; background: linear-gradient(160deg, #ffce88, #ffae40); color: #fffdf0; text-align: center; text-shadow: 0 1px 1px #cb7b3433; }
.consultation-topic-circle.is-coral { border-color: #ffc3a8; background: linear-gradient(160deg, #ffa68c, #e87850); }
.consultation-topic-circle.is-featured { width: 34%; }
.consultation-topic-row.is-bottom .consultation-topic-circle { width: 23%; }
.consultation-topic-circle strong { font: 700 clamp(16px, 4.8vw, 29px)/1.15 var(--rg-serif); }
.consultation-topic-circle.is-featured strong { font-size: clamp(21px, 6vw, 36px); }
.consultation-topic-circle svg { width: 20px; height: 20px; stroke-width: 2.5; }
.consultation-topic-circle.is-featured svg { width: 25px; height: 25px; }
.consultation-lock-note { margin: 16px 0 18px; color: #a98966; font-size: 11px; line-height: 1.8; text-align: center; }
.checkout-profile-details { margin-bottom: 18px; border-top: 1px solid #ead5b7; border-bottom: 1px solid #ead5b7; }
.checkout-profile-details summary { min-height: 43px; padding: 10px 2px; color: #9e6840; font-size: 13px; cursor: pointer; }
.checkout-profile-details summary:focus-visible { outline: 2px solid #bc7c32; outline-offset: 2px; }
.checkout-profile-details .detail-list { gap: 10px 14px; margin: 1px 2px 16px; font-size: 13px; line-height: 1.8; }
.checkout-profile-details .detail-list dd { color: #71472f; font-variant-numeric: tabular-nums; }
.checkout-profile-details > p { margin: 0 2px 14px; color: #a37c55; font-size: 12px; line-height: 1.8; }
.checkout-offer-price { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: center; gap: 7px 12px; padding: 4px 0; }
.checkout-offer-price > span { color: #a76836; font-size: 13px; }
.checkout-offer-price > strong { color: #bf3023; font: 700 34px/1.3 var(--rg-serif); font-variant-numeric: tabular-nums; }
.checkout-offer-hint { margin: 12px 0 19px; color: #9e8268; font-size: 12px; line-height: 1.9; text-align: center; }
.payment-entry { display: flex; align-items: center; justify-content: center; gap: 8px; width: 100%; min-width: 0; min-height: 50px; padding: 11px 14px; border: 0; border-radius: 999px; font: 700 20px/1.5 var(--rg-serif); text-align: center; text-decoration: none; }
.payment-entry-icon { display: inline-flex; align-items: center; justify-content: center; flex: 0 0 auto; }
.payment-entry [data-payment-label] { min-width: 0; overflow-wrap: anywhere; }
.payment-entry:disabled { cursor: not-allowed; opacity: .58; }
.payment-entry[aria-busy="true"] { cursor: wait; }
.wechat-payment-button { background: #06b515; color: #fff; box-shadow: inset 0 -2px 0 #099a1933; font-family: -apple-system, BlinkMacSystemFont, "PingFang SC", "Microsoft YaHei", sans-serif; }
.wechat-payment-button .payment-entry-icon { width: 27px; height: 27px; border-radius: 50%; background: #fff; color: #06ad15; }
.wechat-payment-button .payment-entry-icon svg { width: 20px; height: 20px; stroke-width: 3; }
.checkout-delivery-note { margin: 14px 0 0; color: #a48868; font-size: 11px; line-height: 1.8; text-align: center; }
.consultation-topic-cards { display: grid; gap: 23px; padding: 22px 12px; }
.consultation-topic-card { min-width: 0; padding: 20px 16px; border: 1px solid #deb68c; background: linear-gradient(#fffaf0, #fff2d8); box-shadow: 0 3px 9px #b66c2820, inset 0 0 0 2px #fff8e7; }
.consultation-topic-card h3 { display: flex; align-items: center; justify-content: center; gap: 8px; margin: 0 -3px 16px; padding: 8px 10px; border-radius: 30px; background: #ffdec2; color: #8c2b0b; font: 700 19px/1.5 var(--rg-serif); text-align: center; }
.consultation-topic-card ul { display: grid; gap: 11px; margin: 0; padding-left: 19px; color: #3b332a; font-size: 16px; line-height: 1.9; }
.consultation-topic-card li::marker { color: #3b332a; }
.consultation-emphasis { color: #9b3614; }
.checkout-discussion > .checkout-panel-title { color: #8a360b; }
.orange-payment-button { width: 88%; min-height: 46px; margin: 21px auto 1px; padding: 10px 12px; background: linear-gradient(100deg, #ffab00, #ff8700); color: #fffbee; font-size: 18px; box-shadow: inset 0 1px 0 #ffd374, 0 3px 0 #e98508; }
.orange-payment-button .payment-entry-icon svg { width: 20px; height: 20px; }
.checkout-actions { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 11px; min-width: 0; padding: 0 7px; }
.checkout-actions .status-note { flex-basis: 100%; margin: 0; border-color: #e6bb78; background: #fff1d4; color: #865531; }
.checkout-actions .status-note.error-note { border-color: #ebbd9b; background: #fff0e4; color: #a92c25; }
.checkout-actions .secondary-button, .checkout-actions .text-button { flex: 1 1 120px; min-width: 0; min-height: 43px; margin: 0; padding: 10px 9px; border: 1px solid #e3b57088; border-radius: 9px; background: #fff0d00a; color: #ffe0ae; font-size: 13px; text-align: center; text-decoration: none; }
.checkout-shell .payment-meta { flex-basis: 100%; margin: 0; color: #ebc0a1; font-size: 11px; }
.checkout-shell .service-footer { margin: 0 18px; padding: 18px 0 19px; border-top: 1px solid #ecc28338; color: #dfb39b; font-size: 11px; }
.checkout-page .checkout-shell .footer-support-button, .checkout-shell .page-footer-links a { color: #ffe1ac; }
.checkout-shell .page-footer-links { margin-top: 18px; }
.checkout-shell .page-footer-company { color: #dfb39b; }
.checkout-paybar { position: fixed; z-index: 90; right: 0; bottom: 0; left: 0; display: flex; align-items: center; justify-content: space-between; gap: 13px; width: 100%; max-width: 750px; min-height: 87px; margin: 0 auto; padding: 12px 15px calc(12px + env(safe-area-inset-bottom, 0px)); border-top: 1px solid #eac17866; background: #4f250de8; box-shadow: 0 -7px 24px #4e06192b; }
.checkout-paybar-total { display: flex; flex: 0 1 auto; flex-direction: column; gap: 1px; min-width: 0; color: #ffdfaa; }
.checkout-paybar-total > span { font-size: 10px; line-height: 1.7; }
.checkout-paybar-total strong { color: #ffe7ad; font-size: 23px; font-weight: 700; line-height: 1.3; font-variant-numeric: tabular-nums; white-space: nowrap; }
.checkout-paybar .gold-button { flex: 1 1 180px; width: auto; max-width: 470px; min-width: 0; min-height: 54px; margin: 0; padding: 11px 10px; border: 2px solid #edc16b; border-radius: 35px; background: linear-gradient(#ffdd8a, #f8aa3f 49%, #ffcc6b); color: #74380d; font: 700 19px/1.5 var(--rg-serif); text-shadow: -1px -1px 0 #fff9e6, 1px -1px 0 #fff9e6, -1px 1px 0 #fff9e6, 1px 1px 0 #fff9e6; box-shadow: inset 0 0 0 3px #ffe9a4, inset 0 0 0 4px #eab15d, 0 3px 0 #b87628; }
.checkout-paybar .payment-entry-icon { display: none; }
.checkout-page ~ #toast, body:has(.checkout-paybar) #toast { bottom: calc(105px + env(safe-area-inset-bottom, 0px)); }
.rg-modal .profile-confirm-card { width: min(100%, 430px); padding: 26px 22px 23px; border-color: #edc98b; background: radial-gradient(ellipse at top, #fffdf0, #fff3de); box-shadow: inset 0 0 0 3px #fff9e9, inset 0 0 0 4px #dfbb8380, 0 20px 80px #20030855; }
.profile-confirm-card .rg-modal-title { margin-bottom: 7px; text-align: center; letter-spacing: 2px; }
.profile-confirm-card .rg-modal-copy { margin-bottom: 18px; font-size: 12px; text-align: center; }
.profile-confirm-summary { padding: 16px 13px; border: 1px solid #e6c99e; border-radius: 10px; background: #fffaf0; }
.profile-confirm-summary dl, dl.profile-confirm-summary { display: grid; grid-template-columns: minmax(70px, auto) minmax(0, 1fr); gap: 11px 13px; margin: 0; font-size: 13px; line-height: 1.8; }
.profile-confirm-summary dt { color: #a17c59; }
.profile-confirm-summary dd { margin: 0; color: #70452f; text-align: right; overflow-wrap: anywhere; }
.profile-confirm-price { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: center; gap: 5px 10px; margin: 21px 0; color: #9a7150; font-size: 12px; text-align: center; }
.profile-confirm-price strong { color: #a9222a; font-size: 29px; font-weight: 700; line-height: 1.3; font-variant-numeric: tabular-nums; }
.rg-modal .profile-confirm-actions { display: grid; grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); gap: 10px; }
.profile-confirm-actions > button { width: 100%; min-width: 0; min-height: 48px; margin: 0; padding: 10px 8px; font-size: 14px; }
.profile-confirm-actions .gold-button { border-radius: 9px; font-size: 15px; letter-spacing: 1px; }
.payment-success-page { position: relative; min-height: 100dvh; padding: 22px clamp(16px, 5vw, 38px) 36px; overflow: hidden; background: radial-gradient(ellipse at 50% -10%, #e7442b55 0%, #c7252820 38%, transparent 66%), radial-gradient(ellipse at 0% 20%, #ecac4222, transparent 44%), linear-gradient(160deg, #b52226 0%, #94131d 50%, #720d17 100%); color: #ffe1b3; }
.payment-success-page::before, .payment-success-page::after { position: absolute; top: 70px; width: 180px; height: 180px; border: 1px solid #eec8782e; border-radius: 50%; content: ""; pointer-events: none; box-shadow: 0 0 0 12px #eec8780a, 0 0 0 25px #eec87808; }
.payment-success-page::before { left: -135px; }
.payment-success-page::after { right: -135px; }
.payment-success-page .page-nav { position: relative; z-index: 1; margin-bottom: 0; }
.payment-success-page .back-button, .payment-success-page .header-title { color: #f1d0a2; }
.success-hero { position: relative; padding: 26px 0 29px; text-align: center; }
.success-heading { color: #ffdf90; font: 700 clamp(29px, 7.8vw, 44px)/1.45 var(--rg-serif); letter-spacing: 3px; text-shadow: 0 2px 0 #6e190d, 0 4px 12px #4b030b35; }
.success-hero::after { display: block; width: 76px; height: 1px; margin: 15px auto 0; background: linear-gradient(90deg, transparent, #f6d48a, transparent); content: ""; }
.success-card { position: relative; width: 100%; max-width: 560px; margin: 0 auto; padding: 32px 23px 24px; border: 1px solid #f6d58d; border-radius: 19px; background: radial-gradient(ellipse at top, #fff9d8 0%, #ffecb9 50%, #f5d592 100%); color: #8e3c24; text-align: center; box-shadow: inset 0 0 0 4px #fff3c6, inset 0 0 0 5px #dbac5e8c, 0 12px 35px #45050c4d; }
.success-check { display: grid; place-items: center; width: 73px; height: 73px; margin: 0 auto 18px; border: 2px solid #c78f39; border-radius: 50%; background: #ffedb5; box-shadow: inset 0 0 0 5px #fff5cf, 0 3px 12px #a8701c18; }
.success-check::after { width: 29px; height: 16px; margin-top: -7px; border-bottom: 3px solid #a66a25; border-left: 3px solid #a66a25; transform: rotate(-45deg); content: ""; }
.success-title { margin: 0 0 12px; color: #98382a; font: 700 31px/1.45 var(--rg-serif); letter-spacing: 4px; }
.success-message { color: #a36c40; font-size: 14px; line-height: 1.95; }
.success-message p, .success-message span { display: block; }
.success-unlocked { display: block; width: 100%; margin: 23px 0 12px; padding: 12px 8px; border: 1px solid #ce9c50; border-radius: 10px; background: linear-gradient(#f4d38e, #ffe2a4); color: #8f4b25; font: 600 15px/1.7 var(--rg-serif); letter-spacing: 1px; }
.success-contact { display: flex; align-items: center; justify-content: center; gap: 8px; width: 100%; min-height: 55px; padding: 12px 16px; border: 1px solid #9a1d20; border-radius: 10px; background: linear-gradient(#c53b32, #a51c23); color: #ffedbf; font: 700 19px/1.5 var(--rg-serif); letter-spacing: 2px; text-align: center; text-decoration: none; box-shadow: inset 0 0 0 2px #efab6c33, 0 4px 0 #79151e; }
.success-contact:active { transform: translateY(2px); box-shadow: inset 0 0 0 2px #efab6c33, 0 2px 0 #79151e; }
.success-contact:disabled, .success-contact[aria-disabled="true"] { opacity: .58; cursor: not-allowed; }
.success-meta { margin: 19px 0 0; color: #ac875b; font-size: 10px; line-height: 1.9; overflow-wrap: anywhere; }
.success-note { max-width: 35em; margin: 23px auto 0; color: #e8bca0; font-size: 11px; line-height: 1.9; text-align: center; overflow-wrap: anywhere; }
.success-links { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 8px 22px; margin-top: 19px; }
.success-links a, .success-links button { min-height: 40px; padding: 8px 0; border: 0; background: transparent; color: #f9d79f; font-size: 12px; text-decoration: none; }
.payment-success-page .page-footer-links a { color: #f1d1a7; }
.payment-success-page .page-footer-company { color: #d8a997; }
.service-footer { margin-top: 27px; color: #9b7653; font-size: 11px; line-height: 1.95; text-align: center; overflow-wrap: anywhere; }
.service-footer p { margin: 6px 0; }
.service-footer .footer-help { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 6px; }
.route-page .footer-support-button, .mine-footer .footer-support-button, .policy-contact .footer-support-button { color: #95492b; }
.payment-success-page .service-footer { color: #f0c4b1; }
.payment-success-page .footer-support-button { color: #ffe6b8; }
.success-card .success-note { color: #8e3c24; }
.success-check { background: linear-gradient(#d33b29, #a9101e); border-color: #d6a047; box-shadow: inset 0 0 0 4px #f4ce7f88, 0 3px 12px #a8701c38; }
.success-check::after { border-color: #ffe6a3; border-width: 5px; }
.report-headline { margin: 0 0 16px; color: #971c25; font: 700 27px/1.5 var(--rg-serif); }
.detail-card .report-summary { margin-top: 8px; white-space: pre-wrap; }
.report-section p { white-space: pre-wrap; }
.section-label, .eyebrow { margin-bottom: 8px; color: #b47a3b; font-size: 11px; letter-spacing: 2px; }
.state-loading { display: grid; justify-items: center; gap: 16px; padding: 100px 20px; color: #b08860; font-size: 14px; }
.loader-mark { width: 32px; height: 32px; border: 2px solid #e7d4b5; border-top-color: #ae2930; border-radius: 50%; animation: loading-turn .9s linear infinite; }
.mine-hero { display: flex; align-items: center; gap: 16px; margin-top: 15px; padding: 24px 20px; border: 1px solid #cfa35d; border-radius: 16px; background: radial-gradient(ellipse at top left, #c7463e, transparent 80%), #94131c; color: #ffe3b7; }
.mine-hero-seal { display: grid; place-items: center; flex: 0 0 54px; height: 58px; border: 1px solid #f4ce8699; border-radius: 9px; color: #ffe0a2; font: 700 28px var(--rg-serif); }
.mine-hero-copy { min-width: 0; }
.mine-hero .eyebrow { color: #efb67c; }
.mine-hero h2 { font: 700 24px/1.5 var(--rg-serif); letter-spacing: 2px; }
.mine-hero p { margin-top: 6px; color: #f4cfb7; font-size: 12px; line-height: 1.8; }
.query-field { display: block; }
.query-label { display: block; margin-bottom: 10px; color: #95633e; font-size: 14px; }
.query-field input { width: 100%; height: 50px; padding: 0 13px; border: 1px solid #dbbc91; border-radius: 9px; background: #fffaf0; color: #6c422e; font-size: 16px; }
.query-field input::placeholder { color: #b39a80; font-size: 14px; }
.query-hint { margin-top: 15px; color: #a37b57; font-size: 12px; text-align: center; }
.mine-count { display: flex; align-items: center; justify-content: space-between; gap: 9px; margin: 21px 0 5px; color: #a68566; font-size: 13px; }
.mine-count strong { font-weight: 500; }
.switch-link { padding: 7px 0; border: 0; background: transparent; color: #9e3029; font-size: 12px; }
.report-row { display: flex; align-items: center; justify-content: space-between; gap: 12px; width: 100%; margin-top: 12px; padding: 16px 14px; border: 1px solid #e3c59b; border-radius: 13px; background: #fffdf5; color: #76472f; text-align: left; }
.report-row-main { display: flex; flex-direction: column; align-items: flex-start; gap: 5px; min-width: 0; }
.report-row-main strong { font-size: 15px; overflow-wrap: anywhere; }
.report-row-main small { color: #ad8b68; font-size: 11px; }
.latest-tag { padding: 1px 6px; border-radius: 4px; background: #a4262e; color: #ffedce; font-size: 10px; }
.report-chip { flex-shrink: 0; padding: 4px 8px; border: 1px solid #e8cdb2; border-radius: 20px; background: #fff1df; color: #a45738; font-size: 11px; }
.report-chip.unlocked { border-color: #c6d9bd; background: #f0f4e8; color: #587449; }
.empty-state { display: grid; justify-items: center; gap: 8px; margin-top: 18px; padding: 40px 14px; border: 1px dashed #dcbf97; border-radius: 12px; background: #fffaf0; text-align: center; }
.empty-seal { display: grid; place-items: center; width: 48px; height: 48px; margin-bottom: 8px; border: 1px solid #d8b57e; border-radius: 50%; color: #be9c67; font: 25px var(--rg-serif); }
.empty-state p { font-size: 14px; }
.empty-state small { color: #b0906f; font-size: 12px; }
.mine-footer { margin-top: 28px; padding-top: 18px; border-top: 1px solid #e7d4b7; color: #aa8b6b; font-size: 11px; line-height: 1.9; text-align: center; }
.mine-footer-links { display: flex; justify-content: center; gap: 10px; margin: 8px 0; }
.rg-modal { position: fixed; inset: 0; z-index: 100; display: grid; place-items: center; padding: 20px; background: #2602089c; }
.rg-modal-card { width: min(100%, 390px); max-height: calc(100dvh - 40px); overflow-y: auto; padding: 28px 23px 23px; border: 1px solid #e2bd7c; border-radius: 19px; background: #fff8e9; box-shadow: 0 20px 80px #20030855; }
.rg-modal-title { margin-bottom: 13px; color: #9b252a; font: 700 22px/1.6 var(--rg-serif); }
.rg-modal-copy { margin-bottom: 18px; color: #997451; font-size: 14px; line-height: 1.9; overflow-wrap: anywhere; }
.rg-modal-actions { display: flex; gap: 10px; }
.rg-modal-btn { flex: 1; margin-top: 0; }
.rg-modal-btn.is-primary { border-color: #b22c32; background: #a6212a; color: #fff2d7; }
.rg-sheet { position: fixed; inset: 0; z-index: 100; }
.rg-sheet-mask { position: absolute; inset: 0; background: #2a02099c; }
.rg-sheet-panel { position: absolute; bottom: 0; left: 50%; width: min(100%, 750px); max-height: 94dvh; padding: 8px 16px max(13px, env(safe-area-inset-bottom)); overflow-y: auto; overscroll-behavior: contain; border: 1px solid #d8b47d; border-bottom: 0; border-radius: 22px 22px 0 0; background: #fff9ed; transform: translateX(-50%); box-shadow: 0 -12px 35px #25020730; }
.rg-sheet-grab { width: 34px; height: 4px; margin: 0 auto 7px; border-radius: 9px; background: #e4c9a7; }
.rg-sheet-head { display: flex; align-items: center; justify-content: space-between; gap: 8px; min-height: 43px; border-bottom: 1px solid #ecd6b6; }
.rg-sheet-head strong { color: #8e2727; font-size: 15px; }
.rg-sheet-btn { flex-shrink: 0; min-height: 42px; padding: 4px 10px; border: 0; background: transparent; color: #ad8966; font-size: 14px; }
.rg-sheet-btn.is-primary { color: #a21e26; font-weight: 700; }
.rg-sheet-preview { margin-top: 12px; color: #9c2b29; font-size: 17px; font-weight: 600; text-align: center; }
.rg-sheet-convert { min-height: 25px; color: #b09371; font-size: 11px; text-align: center; }
.rg-calendar-switch { display: flex; align-items: center; gap: 7px; margin: 10px 0 11px; }
.rg-calendar-chip { flex-shrink: 0; min-width: 55px; min-height: 33px; padding: 5px 13px; border: 1px solid #e4caa7; border-radius: 20px; background: #f9ecd8; color: #a28463; font-size: 12px; }
.rg-calendar-chip.active { border-color: #a92930; background: #a92930; color: #fff1d6; }
.rg-calendar-hint { flex: 1; color: #ac9173; font-size: 10px; line-height: 1.6; text-align: right; }
.rg-sheet-wheels { position: relative; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); height: calc(var(--bp-item-h, 38px) * var(--bp-visible, 5)); overflow: hidden; border-top: 1px solid #ecd8b9; border-bottom: 1px solid #ecd8b9; background: #fffdf8; }
.rg-sheet-wheels--four { grid-template-columns: minmax(52px, 1fr) minmax(42px, .8fr) minmax(42px, .8fr) minmax(140px, 1.8fr); }
.rg-wheel[data-column="3"] .rg-wheel-item { padding-right: 2px; padding-left: 2px; font-size: 14px; white-space: nowrap; }
.rg-wheel { position: relative; z-index: 2; height: 100%; overflow-y: auto; overscroll-behavior: contain; scrollbar-width: none; scroll-snap-type: y mandatory; }
.rg-wheel::-webkit-scrollbar { display: none; }
.rg-wheel-pad { height: calc(var(--bp-item-h, 38px) * (var(--bp-visible, 5) - 1) / 2); }
.rg-wheel-item { display: block; width: 100%; height: var(--bp-item-h, 38px); margin: 0; padding: 0 4px; border: 0; border-radius: 0; background: transparent; color: #b7a08a; font-size: 16px; line-height: var(--bp-item-h, 38px); text-align: center; scroll-snap-align: center; }
.rg-wheel-item.active { color: #9d2028; font-weight: 700; }
.rg-wheel-cursor { position: absolute; z-index: 1; top: calc(var(--bp-item-h, 38px) * (var(--bp-visible, 5) - 1) / 2); right: 7px; left: 7px; height: var(--bp-item-h, 38px); pointer-events: none; border-top: 1px solid #dfbd8a; border-bottom: 1px solid #dfbd8a; background: #f5e7ce66; }
.rg-shichen { margin-top: 15px; }
.rg-shichen-head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 10px; color: #986040; font-size: 13px; }
.rg-shichen-head em { color: #af977d; font-size: 10px; font-style: normal; }
.rg-shichen-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 7px; }
.rg-shichen-chip { display: grid; justify-items: center; gap: 1px; min-width: 0; min-height: 47px; padding: 6px 2px; border: 1px solid #e6ceb0; border-radius: 8px; background: #fffdf7; color: #a87f59; }
.rg-shichen-chip strong { font-size: 12px; font-weight: 500; }
.rg-shichen-chip span { font-size: 9px; white-space: nowrap; }
.rg-shichen-chip.active, .rg-shichen-skip.active { border-color: #b63b36; background: #fff0df; color: #a52a2a; }
.rg-shichen-skip { width: 100%; min-height: 36px; margin-top: 9px; padding: 7px; border: 1px solid #e6ceb0; border-radius: 8px; background: #fffdf7; color: #a6815e; font-size: 12px; }
.rg-shichen-skip span { font-size: 10px; }
.rg-sheet-hint { margin-top: 10px; color: #b49c80; font-size: 10px; text-align: center; }
#toast { position: fixed; z-index: 150; bottom: max(30px, env(safe-area-inset-bottom)); left: 50%; width: max-content; max-width: min(90%, 500px); padding: 12px 17px; border: 1px solid #d5aa6b66; border-radius: 10px; background: #5d1721f5; color: #fff1d3; font-size: 13px; line-height: 1.8; text-align: center; transform: translateX(-50%); box-shadow: 0 4px 20px #28020b33; overflow-wrap: anywhere; }
.noscript { position: fixed; right: 0; bottom: 0; left: 0; z-index: 150; padding: 14px; background: #fff1d3; color: #a12229; font-size: 13px; text-align: center; }
@keyframes loading-turn { to { transform: rotate(360deg); } }
@keyframes notice-scroll { to { transform: translateX(-50%); } }
@media (min-width: 560px) {
  .checkout-nav { padding-top: 11px; padding-bottom: 11px; }
  .checkout-main { gap: 29px; margin-top: -15px; padding-right: 12px; padding-left: 12px; }
  .checkout-panel-title { padding-top: 18px; padding-bottom: 18px; font-size: 32px; letter-spacing: 2px; }
  .checkout-offer-body { padding: 30px 28px 23px; }
  .consultation-topic-row { gap: 20px; }
  .consultation-topic-row.is-bottom { margin-top: 26px; gap: 16px; }
  .consultation-topic-circle { gap: 12px; }
  .consultation-topic-circle svg { width: 28px; height: 28px; }
  .consultation-topic-circle.is-featured svg { width: 34px; height: 34px; }
  .consultation-lock-note, .checkout-delivery-note { font-size: 13px; }
  .checkout-profile-details summary, .checkout-profile-details .detail-list { font-size: 15px; }
  .checkout-offer-price > span { font-size: 16px; }
  .checkout-offer-price > strong { font-size: 43px; }
  .checkout-offer-hint { margin-bottom: 23px; font-size: 15px; }
  .wechat-payment-button { min-height: 61px; font-size: 25px; }
  .consultation-topic-cards { gap: 31px; padding: 29px 24px; }
  .consultation-topic-card { padding: 27px 30px; }
  .consultation-topic-card h3 { gap: 12px; margin-bottom: 22px; padding: 10px 16px; font-size: 25px; }
  .consultation-topic-card ul { gap: 14px; font-size: 21px; }
  .orange-payment-button { width: 78%; min-height: 57px; margin-top: 27px; font-size: 23px; }
  .checkout-shell .payment-meta, .checkout-shell .service-footer { font-size: 12px; }
  .checkout-paybar { gap: 24px; min-height: 96px; padding: 14px 27px calc(14px + env(safe-area-inset-bottom, 0px)); }
  .checkout-paybar-total > span { font-size: 12px; }
  .checkout-paybar-total strong { font-size: 30px; }
  .checkout-paybar .gold-button { min-height: 64px; font-size: 27px; }
  .relationship-main { margin-top: -30px; }
  .relationship-form { padding: 36px 35px 25px; }
  .rg-field, .field-block { min-height: 64px; padding-right: 18px; padding-left: 18px; }
  .rg-field-label, .field-label { flex-basis: 105px; font-size: 16px; }
  .rg-field input, .rg-birth-trigger { font-size: 17px; }
  .primary-action { min-height: 65px; font-size: 26px; }
  .consent, .ns-pay-note { font-size: 13px; }
  .relationship-card { padding: 20px; gap: 24px; }
  .relationship-content { gap: 18px; }
  .section-heading h2 { font-size: 24px; }
  .rg-sheet-panel { padding-right: 30px; padding-left: 30px; }
  .rg-shichen-chip strong { font-size: 14px; }
  .rg-shichen-chip span { font-size: 11px; }
  .relationship-footer { padding-top: 29px; font-size: 13px; }
  .certification-links { --certification-scale: .75; gap: 16px; }
  .footer-support-button { font-size: 14px; }
  .relationship-footer .footer-company { font-size: 11px; }
  .success-hero { padding: 37px 0; }
  .success-card { padding: 42px 43px 31px; }
  .success-check { width: 84px; height: 84px; margin-bottom: 22px; }
  .success-title { font-size: 37px; }
  .success-message { font-size: 16px; }
  .success-unlocked { margin-top: 30px; padding: 14px 10px; font-size: 18px; }
  .success-contact { min-height: 62px; font-size: 22px; }
  .success-meta { font-size: 11px; }
  .success-note, .success-links a, .success-links button { font-size: 13px; }
}
@media (max-width: 360px) {
  .checkout-nav { padding-right: 13px; padding-left: 13px; }
  .checkout-main { padding-right: 5px; padding-left: 5px; }
  .checkout-panel-title { font-size: 20px; }
  .checkout-offer-body { padding-right: 11px; padding-left: 11px; }
  .consultation-topic-row { gap: 7px; }
  .consultation-topic-row.is-bottom { gap: 6px; }
  .consultation-topic-circle strong { font-size: 16px; }
  .consultation-topic-circle.is-featured strong { font-size: 21px; }
  .consultation-topic-circle svg { width: 17px; height: 17px; }
  .consultation-topic-circle.is-featured svg { width: 22px; height: 22px; }
  .checkout-profile-details .detail-list { gap: 9px; font-size: 12px; }
  .checkout-offer-price > strong { font-size: 31px; }
  .consultation-topic-cards { padding-right: 10px; padding-left: 10px; }
  .consultation-topic-card { padding-right: 13px; padding-left: 13px; }
  .consultation-topic-card h3 { gap: 6px; padding-right: 6px; padding-left: 6px; font-size: 17px; }
  .consultation-topic-card ul { font-size: 14px; }
  .orange-payment-button { width: 92%; font-size: 16px; }
  .checkout-paybar { gap: 10px; padding-right: 12px; padding-left: 12px; }
  .checkout-paybar-total strong { font-size: 21px; }
  .checkout-paybar .gold-button { flex-basis: 160px; min-height: 51px; font-size: 17px; }
  .rg-modal .profile-confirm-card { padding: 23px 17px 20px; }
  .profile-confirm-card .rg-modal-title { font-size: 20px; }
  .profile-confirm-summary { padding: 13px 10px; }
  .profile-confirm-summary dl, dl.profile-confirm-summary { grid-template-columns: minmax(63px, auto) minmax(0, 1fr); gap: 9px; font-size: 12px; }
  .rg-modal .profile-confirm-actions { gap: 8px; }
  .profile-confirm-actions > button, .profile-confirm-actions .gold-button { font-size: 13px; }
  .relationship-form { padding: 23px 14px 18px; }
  .rg-field, .field-block { padding: 7px 10px; gap: 0 6px; }
  .rg-field-label, .field-label { flex-basis: 76px; font-size: 13px; }
  .rg-field input::placeholder { font-size: 12px; }
  .choice { min-width: 56px; padding: 5px 13px; }
  .relationship-card { gap: 10px; padding: 10px; }
  .relationship-card > img { width: 33%; }
  .rg-sheet-panel { padding-right: 12px; padding-left: 12px; }
  .rg-sheet-head strong { font-size: 13px; }
  .rg-sheet-head { gap: 2px; }
  .rg-sheet-wheels--four { grid-template-columns: minmax(45px, 1fr) minmax(35px, .8fr) minmax(35px, .8fr) minmax(135px, 1.8fr); }
  .rg-wheel-item { font-size: 14px; }
  .rg-calendar-hint { font-size: 9px; }
  .report-row { gap: 7px; padding: 13px 11px; }
  .report-chip { padding: 4px 6px; font-size: 10px; }
  .relationship-footer { font-size: 10px; }
  .footer-support { gap: 2px 5px; }
  .footer-support-button { font-size: 11px; }
  .success-hero { padding: 20px 0 24px; }
  .success-heading { font-size: 27px; letter-spacing: 2px; }
  .success-card { padding: 27px 16px 21px; }
  .success-title { font-size: 28px; }
  .success-message { font-size: 12px; }
  .success-unlocked { font-size: 13px; letter-spacing: 0; }
  .success-contact { font-size: 17px; letter-spacing: 1px; }
}
@media (min-width: 1000px) {
  .payment-success-page { padding-top: 30px; padding-bottom: 46px; }
  .success-hero { padding-top: 41px; padding-bottom: 39px; }
  .success-card { padding-top: 45px; padding-bottom: 34px; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: .01ms !important; transition-duration: .01ms !important; scroll-behavior: auto !important; }
}

.relationship-landing { padding-bottom: calc(94px + env(safe-area-inset-bottom, 0px)); }
.landing-entry { padding: 20px; }
.landing-entry .primary-action { font-size: clamp(18px, 4.4vw, 26px); letter-spacing: 2px; text-decoration: none; text-align: center; }
.landing-cta { position: fixed; z-index: 90; left: 50%; bottom: 0; transform: translateX(-50%); width: 100%; max-width: 750px; padding: 12px 20px calc(12px + env(safe-area-inset-bottom, 0px)); background: #4c080ee6; border-top: 1px solid #dba959; }
.landing-cta .primary-action { display: flex; justify-content: center; align-items: center; font-size: clamp(20px, 4.5vw, 27px); letter-spacing: 2px; text-decoration: none; }
.relationship-card-action { display: inline-block; margin-top: 12px; padding: 7px 11px; border: 1px solid #dba65c; border-radius: 6px; background: linear-gradient(#ffe8ac,#f6c567); color: #84350e; text-decoration: none; font-size: clamp(11px, 2.8vw, 15px); line-height: 1.5; }
.profile-nav { display: flex; justify-content: space-between; gap: 16px; padding: 10px 18px; background: #87121a; font-size: 13px; }
.profile-nav a { color: #ffe5a1; text-decoration: none; }
.analysis-modes { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-bottom: 20px; }
.analysis-mode { min-height: 46px; border: 1px solid #d7a263; border-radius: 8px; background: #fff9ee; color: #a72621; font-size: 21px; font-family: var(--rg-serif); font-weight: 700; }
.analysis-mode.active { background: linear-gradient(#c72924,#a21a1d); border-color: #a51f1e; color: #ffe7ae; box-shadow: inset 0 1px #e4604d,0 2px 5px #6e140d1a; }
.relationship-profile .relationship-main { padding-bottom: 30px; }
@media (max-width: 360px) { .landing-entry { padding: 17px 12px; } .landing-cta { padding-left: 12px; padding-right: 12px; } .relationship-card { gap: 11px; } .relationship-card-action { padding: 7px; } }
.feedback-entry { position: fixed; z-index: 85; top: calc(30px + env(safe-area-inset-top, 0px)); right: max(12px, calc((100vw - 750px) / 2 + 12px)); display: flex; align-items: center; justify-content: center; min-height: 34px; padding: 4px 11px; border: 1px solid #b79159; border-radius: 5px; background: #fff9edf5; color: #692b16; text-decoration: none; font-size: 14px; box-shadow: 0 2px 7px #500b1226; }
.feedback-entry.on-inner-page { top: calc(54px + env(safe-area-inset-top, 0px)); }
@media (max-height: 420px) { .feedback-entry { right: max(52px, calc((100vw - 750px) / 2 + 52px)); } }
.feedback-shell { background: #fff; color: #252525; padding-bottom: max(28px, env(safe-area-inset-bottom, 0px)); }
.feedback-header { position: relative; display: flex; align-items: center; justify-content: center; min-height: 76px; padding: 14px 60px; }
.feedback-header h1 { font-size: 25px; font-weight: 500; line-height: 1.4; }
.feedback-header > a { position: absolute; left: 14px; display: flex; align-items: center; justify-content: center; width: 40px; height: 44px; color: #198ced; }
.feedback-categories { padding: 0 16px; }
.feedback-recipient { color: #737373; font-size: 13px; margin-bottom: 18px; }
.feedback-categories h2 { color: #666; font-weight: 400; font-size: 18px; margin-bottom: 4px; }
.feedback-categories nav > a { display: flex; align-items: center; justify-content: space-between; gap: 18px; min-height: 64px; padding: 13px 7px; color: #222; text-decoration: none; font-size: 17px; line-height: 1.6; }
.feedback-categories nav > a > span:last-child { flex-shrink: 0; color: #555; font-size: 27px; }
.feedback-form-wrap { padding: 4px 20px 24px; }
.feedback-selected { color: #777; font-size: 13px; line-height: 1.6; margin-bottom: 22px; }
.feedback-field { display: block; margin-bottom: 23px; color: #666; font-size: 17px; }
.feedback-field > span:first-child { display: block; margin: 0 9px 7px; }
.feedback-field small { font-size: 13px; }
.feedback-textarea { display: block; position: relative; }
.feedback-field textarea { display: block; width: 100%; min-height: 122px; resize: vertical; border: 1px solid #666; border-radius: 0; padding: 13px 14px 34px; color: #252525; background: #fff; font: inherit; line-height: 1.5; }
.feedback-field input { display: block; width: 100%; min-height: 48px; border: 1px solid #666; border-radius: 0; padding: 10px 14px; color: #252525; background: #fff; }
.feedback-field input::placeholder, .feedback-field textarea::placeholder { color: #b3b3b3; }
.feedback-field [aria-invalid="true"] { border-color: #c72727; }
.feedback-counter { position: absolute; bottom: 9px; right: 14px; color: #888; font-size: 13px; pointer-events: none; }
.feedback-privacy { margin: -3px 0 18px; color: #777; font-size: 12px; line-height: 1.8; }
.feedback-privacy a { color: #167bd7; }
.feedback-error { margin: 0 0 14px; color: #bc2727; font-size: 14px; }
.feedback-submit { display: flex; align-items: center; justify-content: center; width: 100%; min-height: 52px; padding: 10px 18px; border: 0; border-radius: 5px; background: #198bf0; color: #fff; text-decoration: none; font-size: 20px; line-height: 1.5; }
.feedback-receipt { padding: 50px 24px 28px; text-align: center; }
.feedback-receipt-icon { width: 68px; height: 68px; display: grid; place-items: center; margin: 0 auto 22px; border-radius: 50%; background: #e9f4ff; color: #198bf0; }
.feedback-receipt h2 { margin-bottom: 15px; font-size: 25px; font-weight: 500; }
.feedback-receipt p { margin-bottom: 16px; color: #666; }
.feedback-receipt-number { overflow-wrap: anywhere; font-size: 13px; }
.feedback-receipt-number strong { font-weight: 400; }
.feedback-receipt .feedback-submit { margin-top: 32px; }
.feedback-again { border: 0; background: none; color: #198bf0; margin-top: 18px; padding: 8px 16px; font-size: 15px; }
@media (min-width: 600px) { .feedback-header { min-height: 86px; } .feedback-categories { padding: 0 30px; } .feedback-categories nav > a { min-height: 76px; font-size: 19px; } .feedback-form-wrap { padding: 8px 32px 32px; } .feedback-field textarea { min-height: 150px; } }
.cashier-mode { background: #fff; color: #24292d; }
.cashier-shell { width: 100%; max-width: 750px; min-height: 100vh; min-height: 100dvh; margin: 0 auto; background: #fff; font-family: -apple-system,BlinkMacSystemFont,"Segoe UI","Microsoft YaHei",sans-serif; }
.cashier-banner { position: relative; overflow: hidden; min-height: 320px; display: flex; flex-direction: column; align-items: center; justify-content: center; padding: calc(38px + env(safe-area-inset-top,0px)) 24px 76px; color: #fff; background: linear-gradient(130deg,#00bb7b,#0bcf88); text-align: center; }
.cashier-banner::after { content: ""; position: absolute; left: -10%; bottom: -32px; width: 120%; height: 65px; border-radius: 50% 50% 0 0; background: #fff; }
.cashier-shield { width: 86px; height: 100px; position: relative; margin: 0 0 23px; }
.cashier-shield svg { display: block; width: 100%; height: 100%; }
.cashier-shield.is-loading path:last-child { opacity: .5; }
.cashier-orbit { position: absolute; inset: 26px 20px 28px; border: 3px solid #ffffff50; border-top-color: #fff; border-radius: 50%; animation: cashier-spin 1s linear infinite; }
.cashier-banner h1 { margin: 0; color: inherit; font-size: 23px; font-weight: 500; line-height: 1.5; }
.cashier-banner p { max-width: 460px; margin: 10px 0 0; color: #fff; font-size: 14px; line-height: 1.8; }
.cashier-body { padding: 25px 28px calc(40px + env(safe-area-inset-bottom,0px)); max-width: 540px; margin: 0 auto; }
.cashier-order-label { margin: 0 0 9px; color: #78837f; font-size: 14px; text-align: center; }
.cashier-amount { margin: 0 0 30px; text-align: center; font-size: 42px; line-height: 1.2; font-weight: 600; color: #202923; font-variant-numeric: tabular-nums; }
.cashier-amount > span { font-size: 24px; font-weight: 500; }
.cashier-details { display: grid; grid-template-columns: 66px minmax(0,1fr); gap: 13px; margin: 0 0 30px; font-size: 13px; line-height: 1.7; }
.cashier-details dt { color: #89918c; }.cashier-details dd { margin: 0; color: #3e4942; text-align: right; overflow-wrap: anywhere; }
.cashier-actions { display: grid; gap: 13px; }
.cashier-primary,.cashier-secondary { display: flex; justify-content: center; align-items: center; min-height: 48px; width: 100%; border-radius: 7px; padding: 12px 17px; text-align: center; font: inherit; font-size: 16px; text-decoration: none; cursor: pointer; }
.cashier-primary { border: 1px solid #07b66e; background: #07b66e; color: #fff; }.cashier-secondary { border: 1px solid #e0e7e2; background: #f7faf8; color: #438065; }
.cashier-primary:disabled,.cashier-secondary:disabled { cursor: wait; opacity: .65; }
.cashier-primary:focus-visible,.cashier-secondary:focus-visible { outline: 3px solid #167bdf; outline-offset: 3px; }
@keyframes cashier-spin { to { transform: rotate(360deg); } }
@media (max-height: 480px) { .cashier-banner { min-height: 245px; padding-top: 23px; padding-bottom: 56px; }.cashier-shield { width: 56px; height: 68px; margin-bottom: 12px; }.cashier-orbit { inset: 16px 12px 18px; }.cashier-body { padding-top: 14px; } }
@media (prefers-reduced-motion: reduce) { .cashier-orbit { animation: none; } }
.paid-phone-overlay { position:fixed;inset:0;z-index:1100;display:flex;align-items:center;justify-content:center;padding:20px;background:rgba(0,0,0,.62);overflow-y:auto;overscroll-behavior:contain; }
.paid-phone-card { width:100%;max-width:390px;max-height:calc(100dvh - 40px);overflow-y:auto;box-sizing:border-box;padding:24px 18px 14px;border:1px solid #e8d7ae;border-radius:13px;background:linear-gradient(170deg,#fff9e5 0%,#fff 38%,#fff 78%,#faf3df 100%);box-shadow:0 12px 40px #0003;color:#303030;font-family:Arial,"Microsoft YaHei",sans-serif; }
.paid-phone-card h2 { display:flex;align-items:center;justify-content:center;gap:10px;margin:0 0 28px;font-size:27px;line-height:1.4;font-weight:600;color:#192438; }
.paid-phone-check { display:inline-flex;align-items:center;justify-content:center;flex:0 0 38px;height:38px;border-radius:50%;background:#4fc318;color:#fff;font-size:31px;line-height:1; }
.paid-phone-copy { margin:0 0 28px;font-size:14px;line-height:1.7; }.paid-phone-copy span { color:#ce3c36; }
#paid-phone-input { width:100%;height:51px;box-sizing:border-box;border:2px solid transparent;border-radius:28px;padding:0 17px;background:#e0dfdd;color:#333;font:18px Arial,sans-serif;outline:none; }#paid-phone-input:focus { border-color:#53c420; }#paid-phone-input[aria-invalid="true"] { border-color:#ce3c36; }
.paid-phone-hint { margin:29px 0 8px;text-align:center;color:#dc5149;font-size:13px;line-height:1.6; }.paid-phone-error { margin:6px 0;color:#b52222;font-size:13px;line-height:1.5; }
.paid-phone-confirm { display:block;width:100%;min-height:46px;border:0;border-radius:6px;background:#50c315;color:#fff;font:22px/1.4 Arial,"Microsoft YaHei",sans-serif;cursor:pointer; }.paid-phone-confirm:disabled { opacity:.65;cursor:wait; }.paid-phone-confirm:focus-visible,.paid-phone-later:focus-visible { outline:2px solid #237900;outline-offset:3px; }
.paid-phone-foot { margin:10px 0 0;text-align:center;color:#858178;font-size:13px;line-height:1.6; }.paid-phone-later { display:block;margin:10px auto 0;padding:4px 12px;border:0;background:transparent;color:#777;font-size:12px;cursor:pointer; }
@media (max-height:540px) { .paid-phone-overlay { align-items:flex-start;padding:12px; }.paid-phone-card { max-height:calc(100dvh - 24px);padding-top:16px; }.paid-phone-card h2 { margin-bottom:16px; }.paid-phone-copy { margin-bottom:16px; }.paid-phone-hint { margin-top:16px; } }
