/* Subscription layout shares the homepage navigation and language controls. */
.subscribe-page {
  background: radial-gradient(ellipse at 85% 5%, #17444a35, transparent 48%), #0b1725;
  color: #eaf2f8;
  font-family: "Segoe UI", "Microsoft YaHei", sans-serif;
}
.subscribe-main { max-width: 1320px; margin: 56px auto 80px; padding: 0 24px; }
.subscribe-heading { max-width: 770px; margin-bottom: 32px; }
.subscribe-tag { margin: 0 0 12px; font-size: 11px; font-weight: 700; letter-spacing: .15em; color: #8db9c2; }
.subscribe-heading h1 { margin: 0 0 16px; font-size: clamp(30px, 4vw, 44px); font-weight: 650; letter-spacing: -.035em; line-height: 1.2; }
.subscribe-intro { margin: 0; max-width: 700px; color: #9eb1c2; font-size: 15px; line-height: 1.85; }
.subscribe-card { display: grid; grid-template-columns: 1.15fr 1fr; border: 1px solid #2c4355; border-radius: 20px; overflow: hidden; background: #132537; box-shadow: 0 24px 60px #0002; }
.subscribe-plan { padding: 34px 38px; background: linear-gradient(145deg, #19334599, #132537); }
.plan-brand { display: flex; align-items: center; gap: 12px; font-size: 22px; font-weight: 650; letter-spacing: -.025em; }
.plan-brand img { width: 40px; height: 40px; }
.plan-brand b { margin-inline-start: 5px; font-size: 12px; letter-spacing: .03em; font-weight: 700; padding: 5px 9px; color: #94e3d6; border: 1px solid #477d7b; border-radius: 6px; background: #5dd6c30b; vertical-align: middle; }
.subscribe-plan h2 { margin: 22px 0 20px; max-width: 370px; font-size: 24px; font-weight: 550; line-height: 1.5; letter-spacing: -.025em; }
.subscribe-plan ul { list-style: none; padding: 0; margin: 0; display: grid; gap: 16px; }
.subscribe-plan li { display: flex; align-items: flex-start; gap: 12px; font-size: 14px; line-height: 1.6; color: #d1dfeb; }
.feature-check { flex: 0 0 19px; width: 19px; height: 19px; margin-top: 2px; border-radius: 50%; display: grid; place-items: center; background: #64d8bf14; color: #7cd6bf; font-size: 11px; }
.subscribe-trial { display: flex; gap: 10px; align-items: flex-start; margin-top: 28px; padding-top: 18px; border-top: 1px solid #2c4456; color: #8faabd; font-size: 12px; line-height: 1.8; }
.subscribe-trial > span { font-size: 18px; color: #82bdb9; }
.subscribe-trial p { margin: 0; }
.subscribe-price-panel { display: flex; flex-direction: column; padding: 30px; border-inline-start: 1px solid #2c4355; background: #102031; }
.plan-switch { display: flex; gap: 4px; padding: 4px; margin-bottom: 25px; border: 1px solid #2a4053; border-radius: 10px; background: #0b1a29; }
.plan-switch label { flex: 1; position: relative; cursor: pointer; }
.plan-switch input { position: absolute; opacity: 0; }
.plan-switch span { display: flex; justify-content: center; align-items: center; gap: 7px; min-height: 39px; padding: 6px 10px; border-radius: 7px; font-size: 13px; font-weight: 600; color: #9eb1c2; }
.plan-switch input:checked + span { background: #244557; color: #ecf9fa; box-shadow: 0 2px 5px #0002; }
.plan-switch small { font-size: 9px; font-weight: 500; color: #9bd9cd; }
.plan-switch input:focus-visible + span { outline: 2px solid #8ce3d0; outline-offset: 1px; }
.price-block { margin-bottom: 26px; }
.currency-label { margin: 0 0 10px; color: #8aa4b8; font-size: 11px; letter-spacing: .04em; }
.subscribe-price { display: flex; align-items: baseline; gap: 3px; flex-wrap: wrap; }
.price-symbol { padding-top: 0; font-size: 24px; font-weight: 450; color: #d1e1ec; }
.subscribe-price strong { font-size: 58px; font-weight: 600; letter-spacing: -.05em; line-height: 1.1; font-variant-numeric: tabular-nums; }
#subscription-period { margin: 0; margin-inline-start: 9px; color: #92a9bb; font-size: 13px; }
.discount-offer { display: flex; align-items: center; justify-content: space-between; gap: 12px; border: 1px dashed #44635f; border-radius: 10px; padding: 13px 14px; margin-bottom: 23px; background: #5ec7a207; }
.discount-offer .offer-copy { display: flex; align-items: center; gap: 11px; font-size: 13px; color: #d6ede5; }
.offer-icon { font-size: 28px; line-height: 1; color: #8ad1bb; }
.discount-offer small { display: block; margin-top: 4px; color: #92b5a9; font-size: 11px; }
.offer-arrow { width: 33px; height: 33px; flex: 0 0 33px; border-radius: 8px; background: #64c5a612; border: 1px solid #476e65; color: #a7e4d0; cursor: pointer; font-size: 17px; }
.offer-arrow:hover { background: #64c5a62b; }
.subscribe-checkout { margin-top: auto; }
.subscribe-primary, .subscribe-secondary { display: flex; align-items: center; justify-content: space-between; width: 100%; box-sizing: border-box; padding: 14px 17px; border: 1px solid #78d5c2; border-radius: 9px; background: #83d8c7; color: #12372f; font: inherit; font-size: 14px; font-weight: 650; cursor: pointer; text-decoration: none; transition: background .15s; }
.subscribe-primary:hover { background: #a0e5d7; }
.subscribe-secondary { justify-content: center; border-color: #35546a; background: transparent; color: #d0e4ef; }
.subscribe-login-note { margin: 13px 0 0; font-size: 11px; color: #849bad; text-align: center; line-height: 1.6; }
.subscribe-small { font-size: 12px; color: #93acbe; line-height: 1.75; }
.subscribe-notice { padding: 12px; border: 1px solid #304e62; border-radius: 8px; font-size: 13px; color: #aac2d1; line-height: 1.7; }
.plan-comparison .comparison-feature-description { display: block; margin-top: 5px; color: #91aebe; font-size: 11px; font-weight: 400; line-height: 1.6; }
.auto-route-notice { margin: 16px 0 0; padding: 12px 14px; border: 1px solid #655343; border-radius: 8px; background: #c48f3210; color: #c9bda5; font-size: 12px; line-height: 1.8; }
.review-plan-label { margin: 0 0 24px; color: #94c5c4; font-size: 13px; }
.review-account { padding-top: 16px; border-top: 1px solid #2c4355; font-size: 13px; }
.review-account p { color: #92a9bb; margin: 0 0 7px; }
.discount-dialog { position: fixed; inset: 0; margin: auto; width: min(410px, calc(100vw - 32px)); max-height: calc(100dvh - 32px); overflow: auto; padding: 30px; border-radius: 20px; border: 1px solid #3b5869; color: #eaf2f8; background: radial-gradient(circle at 50% 40%, #24483f, #112435 65%); box-shadow: 0 30px 100px #0008; text-align: center; }
.discount-dialog::backdrop { background: #030c17b3; backdrop-filter: blur(8px); }
.discount-dialog h2 { margin: 0 0 8px; font-size: 24px; font-weight: 600; letter-spacing: -.02em; }
.discount-dialog .subscribe-tag { margin-top: 8px; }
.discount-close { position: absolute; top: 10px; inset-inline-end: 12px; width: 30px; height: 30px; border: 0; border-radius: 50%; background: transparent; color: #98adbb; font: inherit; font-size: 25px; cursor: pointer; }
.discount-close:hover { background: #ffffff0a; color: #fff; }
.wheel-stage { position: relative; width: 256px; height: 256px; margin: 28px auto 20px; }
.discount-wheel { position: absolute; inset: 0; border: 6px solid #294a4d; border-radius: 50%; box-shadow: 0 0 0 3px #628a7550, 0 15px 28px #0004; transition: transform 3.2s cubic-bezier(.12,.72,.12,1); }
.discount-wheel span { position: absolute; top: 50%; left: 50%; font-size: 12px; font-weight: 650; color: #16342d; transform: translate(-50%,-50%) rotate(var(--angle)) translateY(-98px) rotate(calc(-1 * var(--angle))); }
.wheel-pointer { position: absolute; z-index: 3; top: -8px; left: calc(50% - 9px); width: 0; height: 0; border-left: 9px solid transparent; border-right: 9px solid transparent; border-top: 23px solid #f2d38e; filter: drop-shadow(0 3px 2px #0004); }
.wheel-hub { position: absolute; inset: calc(50% - 25px); display: grid; place-items: center; border-radius: 50%; background: #193b39; color: #cbe5dc; border: 2px solid #c2d9c9; box-shadow: 0 2px 12px #0004; font-size: 10px; font-weight: 700; letter-spacing: .12em; }
#discount-result { min-height: 26px; margin: 0 0 16px; color: #f2d38e; font-size: 16px; font-weight: 600; }
.wheel-celebrate { animation: wheel-glow .6s ease-out; }
@keyframes wheel-glow { 50% { filter: drop-shadow(0 0 14px #e5c777); } }
.subscribe-page button:focus-visible, .subscribe-page a:focus-visible { outline: 2px solid #83e3d9; outline-offset: 4px; }
.subscribe-primary:disabled { opacity: .55; cursor: wait; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
[hidden] { display: none !important; }
@media (max-width: 760px) {
  .subscribe-main { margin-top: 32px; padding: 0 20px; }
  .subscribe-card { grid-template-columns: 1fr; }
  .subscribe-plan { padding: 26px; }
  .subscribe-price-panel { padding: 26px; border-inline-start: 0; border-top: 1px solid #2c4355; }
  .subscribe-plan h2 { font-size: 22px; }
  .subscribe-plan ul { gap: 13px; }
  .subscribe-heading h1 { font-size: 30px; }
  .subscribe-page .site-nav { display: flex !important; flex-wrap: wrap; overflow: visible; justify-content: center; }
}
@media (max-width: 380px) { .discount-dialog { padding: 24px 20px; } .wheel-stage { width: 230px; height: 230px; } .discount-wheel span { transform: translate(-50%,-50%) rotate(var(--angle)) translateY(-87px) rotate(calc(-1 * var(--angle))); } }
@media (prefers-reduced-motion: reduce) { .wheel-celebrate { animation: none; } }
.discount-wheel { background: conic-gradient(from 0deg,#a9d8c5 0deg 24deg,#84b7ab 24deg 48deg,#bbdfd2 48deg 72deg,#91c3b5 72deg 96deg,#e6d098 96deg 120deg,#a9d8c5 120deg 144deg,#84b7ab 144deg 168deg,#bbdfd2 168deg 192deg,#91c3b5 192deg 216deg,#e6d098 216deg 240deg,#a9d8c5 240deg 264deg,#84b7ab 264deg 288deg,#bbdfd2 288deg 312deg,#91c3b5 312deg 336deg,#e6d098 336deg 360deg); }

/* Price typography and motion. */
#subscription-price { display: inline-flex; align-items: baseline; }
#price-fraction { font-size: .47em; letter-spacing: -.015em; }
#subscription-period { white-space: nowrap; }
.price-savings { display: flex; align-items: center; gap: 9px; margin-top: 13px; font-size: 12px; }
.price-savings del { color: #7f98aa; }
#price-discount-badge { color: #a8e6cf; padding: 2px 7px; border: 1px solid #4c806a66; border-radius: 5px; background: #70bf9020; }
.discount-offer { width: 100%; font: inherit; text-align: start; cursor: pointer; transition: border-color .2s, background .2s, transform .2s; }
.discount-offer:hover { background: #78d0ae12; border-color: #83c9b0; transform: translateY(-2px); }
.discount-offer:active { transform: translateY(0); }
.discount-offer:disabled { cursor: wait; }
.discount-offer .offer-arrow { display: grid; place-items: center; transition: transform .2s, background .2s; }
.discount-offer:hover .offer-arrow { transform: rotate(8deg); background: #64c5a62b; }
.subscribe-heading { animation: subscription-arrive .55s ease-out both; }
.subscribe-card { position: relative; animation: subscription-arrive .65s .1s ease-out both; }
.subscribe-card::before { content: ''; position: absolute; inset: 0; background: radial-gradient(350px circle at var(--pointer-x, -350px) var(--pointer-y, -350px), #83d8c70c, transparent 70%); pointer-events: none; opacity: 0; transition: opacity .2s; }
.subscribe-card:hover::before { opacity: 1; }
.subscribe-plan li { transition: color .2s, transform .2s; }
.subscribe-plan li:hover { color: #fff; transform: translateX(3px); }
.plan-switch { position: relative; isolation: isolate; }
.plan-switch::before { content: ''; position: absolute; inset-block: 4px; inset-inline-start: 4px; width: calc(50% - 4px); background: #244557; border-radius: 7px; box-shadow: 0 2px 5px #0002; z-index: -1; transition: inset-inline-start .28s cubic-bezier(.2,.8,.2,1); }
.plan-switch.is-monthly::before { inset-inline-start: 50%; }
.plan-switch input:checked + span { background: transparent; box-shadow: none; }
.subscribe-primary { transition: background .2s, transform .2s, box-shadow .2s; }
.subscribe-primary:hover:not(:disabled) { transform: translateY(-2px); box-shadow: 0 7px 22px #83d8c717; }
.subscribe-primary > span { transition: transform .2s; }
.subscribe-primary:hover > span { transform: translateX(4px); }
.price-switching { animation: price-switch .28s ease-out; }
.price-dropping #subscription-price { color: #a3ebd3; text-shadow: 0 0 22px #7cdbb633; }
.price-landed #subscription-price { animation: price-land .55s ease-out; }
.discount-applied { animation: discount-confirm .7s ease-out; }
@keyframes subscription-arrive { from { opacity: 0; transform: translateY(14px); } to { opacity: 1; transform: translateY(0); } }
@keyframes price-switch { from { opacity: .4; transform: translateY(6px); } to { opacity: 1; transform: translateY(0); } }
@keyframes price-land { 0% { transform: scale(1.04); color: #a8edce; } 100% { transform: scale(1); } }
@keyframes discount-confirm { 50% { border-color: #cfdf9b; box-shadow: 0 0 20px #8ac59425; } }
/* The dial uses a dark face, fine luminous rings, and a gold 15% segment. */
.wheel-stage { width: 268px; height: 268px; }
.wheel-stage::before { content: ''; position: absolute; inset: -7px; border-radius: 50%; background: repeating-conic-gradient(#88c3ad80 0deg 1deg, transparent 1deg 6deg); mask: radial-gradient(circle, transparent 67%, #000 68%); }
.wheel-stage::after { content: ''; position: absolute; inset: 35px; border-radius: 50%; border: 1px solid #abdcc21f; pointer-events: none; }
.discount-wheel { border: 5px solid #31554f; box-shadow: 0 0 0 1px #7cb39e55, inset 0 0 24px #0002, 0 14px 35px #0005; }
.discount-wheel span { color: #c5e4d5; font-size: 12px; letter-spacing: -.02em; transform: translate(-50%,-50%) rotate(var(--angle)) translateY(-101px) rotate(calc(-1 * var(--angle))); }
.discount-wheel span:last-child { color: #f4deb0; font-weight: 800; }
.wheel-hub { inset: calc(50% - 32px); border: 1px solid #9bc8b282; box-shadow: 0 0 0 5px #112e2680, 0 0 25px #5dcea51a; background: radial-gradient(circle at 35% 25%, #366655, #123027 75%); font-size: 26px; color: #e7dcad; letter-spacing: 0; transition: color .2s, box-shadow .2s; }
.wheel-pointer { top: -7px; border-top-color: #edca81; }
.wheel-spinning .wheel-hub { animation: dial-pulse .7s ease-in-out infinite alternate; }
@keyframes dial-pulse { to { box-shadow: 0 0 0 6px #8bccab22, 0 0 32px #8bccab45; } }
.discount-dialog[open] { animation: dialog-arrive .24s ease-out; }
.discount-dialog.dialog-leaving { animation: dialog-depart .18s ease-in forwards; }
.discount-dialog.prize-revealed { border-color: #d1b977; box-shadow: 0 0 65px #d1b97722, 0 30px 100px #0008; }
.prize-revealed .wheel-stage { animation: prize-pop .65s cubic-bezier(.2,.8,.2,1); }
.prize-revealed .wheel-hub { font-size: 18px; color: #fff0c2; box-shadow: 0 0 0 6px #d4bf8033, 0 0 40px #d4bf8066; }
.prize-revealed #discount-result { animation: prize-text .45s ease-out; color: #ffe4a7; text-shadow: 0 0 25px #e2c46c55; font-size: 22px; }
#discount-confetti { position: absolute; inset: 0; pointer-events: none; overflow: hidden; border-radius: inherit; z-index: 4; }
.prize-particle { position: absolute; top: 52%; left: 50%; width: 7px; height: 11px; border-radius: 2px; opacity: 0; animation: prize-burst 1.1s var(--lag) ease-out forwards; }
.prize-particle:nth-child(3n) { width: 5px; height: 5px; border-radius: 50%; }
@keyframes prize-burst { 0% { opacity: 0; transform: translate(-50%,-50%) scale(.3); } 12% { opacity: 1; } 75% { opacity: .9; } 100% { opacity: 0; transform: translate(var(--travel-x), var(--travel-y)) rotate(var(--twist)) scale(.8); } }
@keyframes dialog-arrive { from { opacity: 0; transform: translateY(10px) scale(.96); } to { opacity: 1; transform: none; } }
@keyframes dialog-depart { to { opacity: 0; transform: translateY(-8px) scale(.97); } }
@keyframes prize-pop { 45% { transform: scale(1.045); } }
@keyframes prize-text { from { opacity: .2; transform: translateY(8px) scale(.85); } to { opacity: 1; transform: none; } }
.discount-close:disabled { opacity: .3; cursor: wait; }
@media(max-width: 380px) { .wheel-stage { width: 230px; height: 230px; } .discount-wheel span { transform: translate(-50%,-50%) rotate(var(--angle)) translateY(-85px) rotate(calc(-1 * var(--angle))); } .subscribe-price strong { font-size: 52px; } }
@media(prefers-reduced-motion: reduce) {
  .subscribe-page *, .subscribe-page *::before, .subscribe-page *::after { animation: none !important; transition: none !important; }
  .subscribe-primary:hover:not(:disabled), .discount-offer:hover, .subscribe-plan li:hover { transform: none; }
}
.discount-wheel { background: conic-gradient(from 0deg,#244c40 0deg 24deg,#183c32 24deg 48deg,#244c40 48deg 72deg,#183c32 72deg 96deg,#244c40 96deg 120deg,#183c32 120deg 144deg,#244c40 144deg 168deg,#183c32 168deg 192deg,#244c40 192deg 216deg,#183c32 216deg 240deg,#244c40 240deg 264deg,#183c32 264deg 288deg,#244c40 288deg 312deg,#183c32 312deg 336deg,#6d5831 336deg 360deg); }

.coupon-entry { margin: 0 0 18px; color: #95adbd; font-size: 12px; }
.coupon-entry summary { display: flex; justify-content: space-between; cursor: pointer; list-style: none; padding: 7px 0; }
.coupon-entry summary::-webkit-details-marker { display: none; }
.coupon-entry summary > span { font-size: 16px; transition: transform .2s; }
.coupon-entry[open] summary > span { transform: rotate(45deg); }
.coupon-fields { padding-top: 6px; }
.coupon-fields input { width: 100%; border: 1px solid #35546a; border-radius: 8px; background: #0c1b2a; color: #e6f3f3; padding: 11px 12px; font: inherit; font-size: 13px; }
.coupon-fields input:focus { border-color: #82ccb7; outline: 2px solid #82ccb71a; }
.coupon-fields input::placeholder { color: #708d9f; }
.coupon-fields p { margin: 7px 0 0; color: #8199ab; font-size: 11px; }
.coupon-review { overflow-wrap: anywhere; font-size: 12px; color: #a4bdcb; }
.wheel-hub { z-index: 3; padding: 0; font-family: inherit; cursor: pointer; }
.wheel-hub:hover:not(:disabled) { border-color: #efdcaa; box-shadow: 0 0 0 5px #c4dcac22, 0 0 30px #a4dbb936; }
.wheel-hub:disabled { cursor: wait; }
.coupon-input-row { display: flex; gap: 8px; align-items: stretch; }
.coupon-input-row input { min-width: 0; flex: 1; text-transform: uppercase; }
.coupon-check { border: 1px solid #477766; border-radius: 8px; padding: 0 14px; font: inherit; font-size: 12px; color: #bde8d5; background: #16392e; cursor: pointer; white-space: nowrap; }
.coupon-check:hover { background: #204b3d; }
.coupon-check:disabled { cursor: wait; opacity: .55; }
.coupon-feedback[data-state="error"] { color: #efb0a8; }
.coupon-feedback[data-state="valid"] { color: #a0dfbf; }
.coupon-fields input[aria-invalid="true"] { border-color: #b8736b; }
.coupon-clear { border: 0; background: transparent; padding: 4px 0; color: #d6b4a3; font: inherit; font-size: 12px; cursor: pointer; text-decoration: underline; }
.subscription-dates { border-top: 1px solid #2c4355; padding-top: 12px; margin: 14px 0; }
.subscription-dates p { display: flex; flex-wrap: wrap; gap: 5px 12px; justify-content: space-between; font-size: 12px; line-height: 1.7; color: #b8cfdb; }
.subscription-dates p > span { color: #89a4b5; }
.subscription-dates .billing-preview-note { color: #8aa5b7; font-size: 11px; }
.draw-validity { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 11px 13px; margin: -12px 0 20px; border: 1px solid #47776666; border-radius: 8px; background: #83d8c708; color: #a0cfbc; font-size: 12px; line-height: 1.6; }
#draw-countdown { color: #e8cf8a; font-size: 20px; letter-spacing: .04em; font-variant-numeric: tabular-nums; white-space: nowrap; }
.draw-validity.is-expired { color: #e6b5a4; background: #d08c660a; border-color: #a46a4e66; }
.discount-offer:disabled { cursor: default; opacity: .65; }
.discount-offer:disabled:hover { transform: none; background: #5ec7a207; border-color: #44635f; }
.discount-offer:disabled .offer-arrow { cursor: default; transform: none; }
.subscription-result-page .subscribe-card { grid-template-columns: 1fr; }
.subscription-result-page #payment-result { font-size: clamp(26px, 4vw, 42px); line-height: 1.35; margin: 24px 0; }
.subscription-result-actions { display: flex; flex-wrap: wrap; gap: 14px; margin-top: 26px; }
.subscription-result-actions a { width: auto; min-width: 170px; justify-content: center; padding: 14px 24px; }
.subscription-result-page #retry-payment { width: auto; margin: 18px 0; }
@media (max-width: 480px) {
  .subscription-result-actions { flex-direction: column; }
  .subscription-result-actions a { width: 100%; }
}
.price-block[data-awaiting-draw="true"] { visibility: hidden; }
.draw-reset { flex-shrink: 0; border: 1px solid #83d8c766; border-radius: 7px; padding: 7px 12px; background: #193345; color: #83d8c7; font: inherit; cursor: pointer; }.draw-reset:hover { background: #244458; }.draw-reset[hidden] { display: none; }
.discount-close { width: 36px; height: 36px; padding: 0; display: grid; place-items: center; box-sizing: border-box; }
.discount-close::before, .discount-close::after { content: ''; position: absolute; inset: 50% auto auto 50%; width: 15px; height: 2px; border-radius: 2px; background: currentColor; transform: translate(-50%, -50%) rotate(45deg); }
.discount-close::after { transform: translate(-50%, -50%) rotate(-45deg); }
#draw-discount { justify-content: center; text-align: center; }
#subscription-payment + form[data-portal] { margin-top: 20px; }

/* 套餐权益逐行对照，购买区保持独立。 */
.subscribe-page .subscribe-card { grid-template-columns: minmax(0, 1.6fr) minmax(300px, 1fr); align-items: start; }
.subscribe-page .subscribe-plan { padding: 28px; }
.subscribe-page .subscribe-price-panel { align-self: stretch; }
.plan-comparison-wrap { margin-top: 24px; }
.plan-comparison { width: 100%; border-collapse: collapse; table-layout: fixed; font-size: 13px; line-height: 1.5; }
.plan-comparison th, .plan-comparison td { padding: 12px 10px; border-bottom: 1px solid #ffffff0d; overflow-wrap: anywhere; }
.plan-comparison thead th { color: #e4eef7; font-size: 15px; text-align: center; }
.plan-comparison th:first-child { width: 48%; text-align: start; }
.plan-comparison tbody th { color: #c8d8e5; font-weight: 400; }
.plan-comparison td { text-align: center; color: #a9bbca; }
.plan-comparison .comparison-pro { background: #80d7c70a; color: #83d8c7; }
.plan-comparison tbody tr:hover { background: #ffffff03; }
@media (max-width: 900px) { .subscribe-page .subscribe-card { grid-template-columns: 1fr; } .subscribe-page .subscribe-price-panel { border-inline-start: 0; border-top: 1px solid #2c4355; } }
@media (max-width: 480px) { .subscribe-page .subscribe-plan { padding: 20px 12px; } .plan-comparison th, .plan-comparison td { padding: 10px 6px; } .plan-comparison { font-size: 12px; } }
/* 精简对比区装饰，缩短行距并给功能名称更多空间。 */
.subscribe-page .plan-comparison-wrap { margin-top: 0; }
.subscribe-page .plan-comparison th:first-child { width: 56%; }
.subscribe-page .plan-comparison th, .subscribe-page .plan-comparison td { padding: 10px 9px; }
.subscribe-page .subscribe-price-panel { align-self: start; border-bottom: 1px solid #2c4355; }
/* 权益表与购买面板独立成卡片，避免右侧留白和截断边框。 */
.subscribe-page .subscribe-card { gap: 24px; border: 0; border-radius: 0; overflow: visible; background: transparent; box-shadow: none; align-items: start; }
.subscribe-page .subscribe-card::before { display: none; }
.subscribe-page .subscribe-plan { border: 1px solid #2c4355; border-radius: 20px; overflow: hidden; background: linear-gradient(145deg, #193345, #132537); }
.subscribe-page .subscribe-price-panel { border: 1px solid #2c4355; border-radius: 20px; align-self: start; background: #102031; }
.subscribe-page .plan-comparison th:first-child { width: 48%; }
.subscribe-page .plan-comparison .comparison-pro { width: 28%; }
@media (max-width: 900px) { .subscribe-page .subscribe-card { gap: 18px; } .subscribe-page .subscribe-price-panel { border: 1px solid #2c4355; } }
.plan-comparison .comparison-unavailable { color: #f07878; font-size: 22px; font-weight: 700; line-height: 1; }
