.pricing-panel { color: #17212b; text-align: left; font-family: "Segoe UI", Arial, sans-serif; font-size: 13px; line-height: 1.4; letter-spacing: 0; }
.pricing-panel * { box-sizing: border-box; letter-spacing: 0; }
.pricing-panel .pricing-heading { margin: 0 0 10px; color: #17212b; font-size: 15px; font-weight: 800; line-height: 1.4; }
.pricing-announcement { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px 16px; margin: 0 0 16px; padding: 13px 15px; border: 1px solid #f6d4c5; border-radius: 8px; background: linear-gradient(120deg, #fff3e9, #fff0f4 48%, #edf5ff); box-shadow: 0 5px 15px rgba(219, 87, 63, .08); }
.pricing-announcement-copy strong { display: block; color: #c23f42; font-size: 15px; font-weight: 900; }
.pricing-announcement-copy span { display: block; margin-top: 3px; color: #7a5561; font-size: 12px; }
.pricing-promotion-details { font-size: 12px; color: #5f5363; }
.pricing-promotion-details summary { display: list-item; padding: 0; border: 0; border-radius: 0; background: transparent; box-shadow: none; cursor: pointer; color: #a03950; font-weight: 800; }
.pricing-promotion-details[open] { flex-basis: 100%; }
.pricing-promotion-details p { max-width: 720px; margin: 8px 0 0; line-height: 1.6; }
.pricing-memberships { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; }
.pricing-packs { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.pricing-tier { --tier-color: #556b86; --tier-wash: #f1f5fb; --tier-edge: #d9e2ec; --tier-fill: linear-gradient(120deg, #64748b, #8796ab); display: flex; flex-direction: column; align-items: flex-start; min-width: 0; padding: 14px 12px 12px; border: 1px solid var(--tier-edge); border-top: 3px solid var(--tier-color); border-radius: 8px; background: linear-gradient(155deg, #fff 25%, #fff 45%, var(--tier-wash)); box-shadow: 0 7px 18px rgba(30, 47, 75, .06); transition: box-shadow .18s ease, border-color .18s ease; }
.pricing-tier-ssvip { --tier-color: #dc4967; --tier-wash: #fff0e7; --tier-edge: #f1c4cd; --tier-fill: linear-gradient(120deg, #ee5458, #e47b29); }
.pricing-tier-svip { --tier-color: #9560ce; --tier-wash: #f7edf9; --tier-edge: #e1cef2; --tier-fill: linear-gradient(120deg, #9b60d5, #d555aa); }
.pricing-tier-vip { --tier-color: #2588cb; --tier-wash: #e8f5ff; --tier-edge: #c4def3; --tier-fill: linear-gradient(120deg, #287edb, #12a6b2); }
.pricing-tier:hover { border-color: var(--tier-color); box-shadow: 0 10px 22px rgba(30, 47, 75, .11); }
.pricing-current { box-shadow: inset 0 0 0 1px var(--tier-color), 0 7px 18px rgba(30, 47, 75, .06); }
.pricing-panel .pricing-tier-name { margin: 0; max-width: 100%; font-size: 13px; font-weight: 800; line-height: 1.4; }
.pricing-badge { display: inline-block; max-width: 100%; padding: 4px 10px; border-radius: 999px; background: #64748b; color: #fff; font-size: 12px; font-weight: 900; overflow-wrap: anywhere; }
.pricing-panel .tier-ssvip { background: linear-gradient(120deg, #ef4e68, #ad3ca3); }
.pricing-panel .tier-svip { background: linear-gradient(120deg, #9562db, #ce58b2); }
.pricing-panel .tier-vip { background: linear-gradient(120deg, #2179dd, #13a4b6); }
.pricing-panel .tier-free { background: #64748b; }
.pricing-panel .tier-token { background: #0f827b; }
.pricing-price { display: flex; flex-wrap: wrap; align-items: baseline; gap: 7px; margin-top: 13px; min-height: 33px; }
.pricing-price s { color: #778397; font-size: 13px; }
.pricing-price strong { color: #17212b; font-size: 28px; font-weight: 900; line-height: 1.2; }
.pricing-price .pricing-sale { color: #d4344f; }
.pricing-rmb { margin-top: 1px; color: #637287; font-size: 11px; }
.pricing-term { margin-top: 6px; padding: 3px 8px; border-radius: 4px; background: #edf5fc; color: #346987; font-size: 11px; font-weight: 800; }
.pricing-products { display: grid; grid-template-rows: repeat(3, 25px); align-items: center; gap: 5px; width: 100%; margin: 12px 0 10px; padding: 0; list-style: none; }
.pricing-product { justify-self: start; max-width: 100%; padding: 4px 8px; border-radius: 999px; font-size: 11px; font-weight: 900; line-height: 17px; overflow-wrap: anywhere; box-shadow: 0 2px 5px rgba(15, 23, 42, .08); }
.pricing-pro { grid-row: 2; background: linear-gradient(110deg, #ff554d, #e72f25); color: #fff; }
.pricing-lite { grid-row: 3; background: linear-gradient(110deg, #c6e9ff, #55bbf4); color: #073763; }
.pricing-ultra { grid-row: 1; background: linear-gradient(110deg, #91eada, #13b4aa); color: #063e40; }
.pricing-quota { margin: 0 0 10px; color: #9a3253; font-size: 11px; font-weight: 700; overflow-wrap: anywhere; }
.pricing-panel .pricing-buy { display: block; align-self: stretch; margin-top: auto; padding: 7px 8px; border-radius: 6px; background: var(--tier-fill); color: #fff; font-size: 12px; font-weight: 800; text-align: center; text-decoration: none; box-shadow: 0 3px 8px rgba(30, 47, 75, .1); }
.pricing-memberships .pricing-buy { margin-top: auto; }
.pricing-buy:hover { filter: brightness(1.05); }
.pricing-pack-heading { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 10px; margin-top: 16px; }
.pricing-pack-heading span { margin-bottom: 10px; color: #637287; font-size: 11px; }
.pricing-packs .pricing-tier { --tier-color: #0f827b; --tier-fill: linear-gradient(120deg, #0f9483, #1e91a2); display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 2px 10px; align-items: center; padding: 12px; border: 1px solid #b7ddd4; background: linear-gradient(120deg, #fff, #edf9f5); }
.pricing-packs .pricing-tier-name { grid-column: 1; }
.pricing-packs .pricing-price { grid-column: 2; grid-row: 1; justify-content: flex-end; margin: 0; }
.pricing-packs .pricing-price strong { font-size: 23px; color: #116f64; }
.pricing-packs .pricing-rmb { grid-column: 2; grid-row: 2; text-align: right; }
.pricing-packs .pricing-term { grid-column: 1; grid-row: 2; margin: 0; padding: 0; background: transparent; font-size: 11px; }
.pricing-packs .pricing-products { display: none; }
.pricing-packs .pricing-buy { grid-column: 1 / -1; margin: 8px 0 0; padding: 6px 8px; }
.pricing-contact { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 8px; margin-top: 12px; padding-top: 10px; border-top: 1px solid #dfe5eb; color: #637287; font-size: 11px; }
.pricing-contact a { color: #147f61; font-weight: 800; text-decoration: none; }
.membership-wrap:focus-within .membership-popover { display: block; }
.membership-wrap > .member-badge { width: auto; border: 0; cursor: pointer; font-family: inherit; }
.membership-wrap > .member-badge:focus-visible { outline: 2px solid #155eef; outline-offset: 3px; }
.membership-popover { max-height: calc(100vh - 110px); overflow: auto; background: linear-gradient(135deg, #fffdfb, #fff 45%, #f0f6ff); box-shadow: 0 20px 60px rgba(40, 56, 87, .22); }
body .membership-popover { display: none; position: fixed; z-index: 120; left: 12px; top: 12px; width: min(900px, calc(100vw - 24px)); box-sizing: border-box; padding: 12px 16px 16px; margin: 0; border: 1px solid #d6dee9; border-radius: 8px; text-align: left; }
.membership-popover.is-open { display: block; }
.membership-popover-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding-bottom: 9px; color: #4b657f; font-size: 13px; }
.membership-popover-head button { display: inline-flex; align-items: center; justify-content: center; width: 28px; height: 28px; padding: 0; border: 1px solid #dce3eb; border-radius: 4px; background: #fff; color: #536b80; font-size: 22px; line-height: 1; cursor: pointer; }
.pricing-upgrade { display: block; padding: 12px 14px; border-radius: 8px; background: linear-gradient(120deg, #ee575f, #a047a4, #277bc6); color: #fff; font-size: 14px; font-weight: 900; text-align: center; text-decoration: none; box-shadow: 0 5px 15px rgba(119, 64, 126, .2); }
.pricing-upgrade:hover { filter: brightness(1.05); }
.pricing-panel .tier-ssvip, .member-badge.tier-ssvip { background-image: repeating-linear-gradient(120deg, rgba(255,255,255,.17) 0 1px, transparent 1px 5px), linear-gradient(120deg, #dd6538, #b03975 70%, #784576); }
.pricing-panel .tier-svip, .member-badge.tier-svip { background-image: repeating-linear-gradient(45deg, rgba(255,255,255,.12) 0 1px, transparent 1px 7px), repeating-linear-gradient(135deg, rgba(255,255,255,.09) 0 1px, transparent 1px 7px), linear-gradient(120deg, #80619e, #b74c98); }
.pricing-panel .tier-vip, .member-badge.tier-vip { background-image: repeating-linear-gradient(90deg, rgba(255,255,255,.13) 0 1px, transparent 1px 7px), repeating-linear-gradient(0deg, rgba(255,255,255,.09) 0 1px, transparent 1px 7px), linear-gradient(120deg, #216cb1, #198d96); }
.pricing-panel .tier-free, .member-badge.tier-free { background-image: repeating-linear-gradient(0deg, rgba(255,255,255,.1) 0 1px, transparent 1px 4px), linear-gradient(120deg, #61718b, #7e8fa6); }
.wechat-card summary { cursor: pointer; }
.wechat-card summary:focus-visible { outline: 2px solid #147f61; outline-offset: 2px; }
.wechat-card .wechat-card-caption { display: block; }
.wechat-card[open] .wechat-popover { display: block; }
.wechat-card:not([open]) .wechat-popover { display: none; }
.wechat-popover .wechat-contacts { padding: 0; }
.wechat-contacts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; padding: 12px 0; color: #17212b; text-align: center; font-family: "Segoe UI", Arial, sans-serif; font-size: 12px; line-height: 1.5; }
.wechat-contacts figure { min-width: 0; margin: 0; }
.wechat-contacts a { display: block; color: #0d7852; text-decoration: none; }
.wechat-contacts img { display: block; width: 100%; height: 180px; object-fit: contain; border-radius: 0; background: #fff; }
.wechat-contacts strong { display: block; margin: 7px 0 3px; font-size: 13px; }
.wechat-contacts figcaption span { display: block; color: #637287; font-size: 11px; }
.wechat-contacts .wechat-copy { display: inline-block; width: auto; margin-top: 5px; padding: 4px 8px; border: 1px solid #b8dacc; border-radius: 4px; background: #edf9f5; color: #146b4d; font-size: 12px; font-weight: 700; cursor: pointer; }
.wechat-copy:focus-visible, .pricing-buy:focus-visible { outline: 2px solid #147f61; outline-offset: 2px; }
.wechat-float { box-sizing: border-box; }
.wechat-float .wechat-contacts { gap: 8px; padding: 0; }
.wechat-float .wechat-contacts img { height: 120px; }
.wechat-modal.payment-modal { max-width: 400px; max-height: calc(100dvh - 24px); overflow-y: auto; border-radius: 8px; background: linear-gradient(155deg, #fff, #f2faf6); box-shadow: 0 28px 80px rgba(5, 60, 44, .3); }
.payment-modal .wechat-modal-head { padding: 16px; background: linear-gradient(120deg, #07bd62, #09a779); }
.payment-modal .wechat-modal-head h2 { margin: 0; font-size: 18px; letter-spacing: 0; }
.payment-modal .wechat-modal-body { padding: 14px 18px; }
.payment-modal .wechat-modal-body .payment-qr { display: block; width: min(280px, 100%); height: auto; margin: auto; border: 0; border-radius: 6px; box-shadow: 0 6px 20px rgba(7, 122, 75, .12); }
.payment-modal .wechat-tip { margin: 10px 0 0; color: #637287; font-size: 12px; line-height: 1.6; }
.payment-modal .wechat-modal-foot { padding: 0 18px 14px; }
.payment-modal .btn-close { width: auto; padding: 8px 24px; border-radius: 6px; }
.purchase-page { background: linear-gradient(130deg, #f4f7fc 0%, #fceff3 48%, #edf5ff 100%); }
.purchase-masthead { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 10px; padding: 0 0 20px; }
.purchase-brand { display: inline-flex; align-items: center; gap: 10px; color: #203853; font-size: 24px; font-weight: 900; text-decoration: none; }
.purchase-brand img { width: 54px; height: 42px; object-fit: contain; mix-blend-mode: multiply; }
.purchase-brand small { color: #59799e; font-size: 12px; vertical-align: middle; }
.purchase-back { color: #59718c; text-decoration: none; font-size: 12px; font-weight: 700; }
.purchase-title { padding: 18px 0 0; border-top: 1px solid #d7e0ed; text-align: left; }
.purchase-content .payment-section { display: grid; grid-template-columns: 260px minmax(0, 1fr); align-items: center; gap: 30px; padding: 24px 0; border-top: 1px solid #d5dfeb; border-bottom: 1px solid #d5dfeb; text-align: left; }
.purchase-content .payment-section h2 { margin-bottom: 14px; }
.payment-section .payment-qr { display: block; width: 100%; height: auto; border-radius: 4px; }
.payment-section h2 { margin: 0 0 8px; font-size: 20px; color: #0d7852; }
.payment-section p { font-size: 13px; line-height: 1.7; color: #637287; }
.purchase-content .wechat-contacts { max-width: 500px; margin: 0 auto 14px; }
@media (max-width: 1040px) {
  .membership-popover { max-height: none; overflow: visible; }
}
@media (max-width: 700px) {
  .pricing-memberships { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .pricing-packs { grid-template-columns: minmax(0, 1fr); }
  .pricing-memberships .pricing-products { display: flex; flex-direction: column; align-items: flex-start; }
  .wechat-contacts img { height: 140px; }
  .wechat-float { position: static; width: calc(100% - 36px); max-width: 400px; margin: 18px auto; }
  .purchase-content .payment-section { grid-template-columns: minmax(0, 1fr); gap: 16px; text-align: center; }
  .payment-section .payment-qr { width: min(280px, 100%); margin: auto; }
}
@media (max-width: 360px) {
  .pricing-memberships { gap: 6px; }
  .pricing-tier { padding: 10px 8px; }
  .pricing-product { padding: 4px 6px; font-size: 10px; }
}
