/* Shared grid tracks keep every plan's summary, benefits and feature rows aligned. */
.cards{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(244px,1fr);grid-template-rows:auto auto auto;gap:0 14px;align-items:stretch;scrollbar-width:thin;scrollbar-color:#444 #111}
.cards::-webkit-scrollbar{display:block;height:5px}
.cards::-webkit-scrollbar-thumb{background:#444;border-radius:4px}
.plan-card{display:grid;grid-template-rows:subgrid;grid-row:span 3;row-gap:0;min-height:0;padding:0;overflow:hidden;border-radius:18px;background:#0d0d0f;box-shadow:none}
.cards.has-model-promotion{grid-template-rows:auto auto auto auto}
.cards.has-model-promotion .plan-card{grid-row:span 4}
.plan-card:hover{transform:none;border-color:#777}
.plan-card.selected{background:#100d0e;box-shadow:0 0 0 1px #ff3b3730}
.plan-summary{display:flex;flex-direction:column;container-type:inline-size;padding:18px 20px 20px;background:linear-gradient(145deg,#242426,#18181b);border-bottom:1px solid #303033}
.selected .plan-summary{background:linear-gradient(145deg,#391d20,#201517)}
.plan-title{min-height:50px;padding-top:10px}
.plan-title h3{font-size:20px}
.plan-title p:empty{display:none}
.price-block{border:0;padding:8px 0 10px;min-height:76px}
.sale-price{min-height:48px}
.sale-price strong{font-size:clamp(36px,18cqw,48px);font-weight:800;letter-spacing:-.045em;font-variant-numeric:tabular-nums}
.sale-price.long-price strong{font-size:clamp(30px,15.5cqw,42px)}
.sale-price small{font-size:12px}
.monthly-equivalent{margin-top:10px;font-size:12px;color:#b9b9c1}
.plan-options{min-height:72px;padding-top:6px}
.plan-options .seat-picker{margin:0}
.credit-rate{display:flex;align-items:center;justify-content:space-between;min-height:30px;gap:6px;font-size:11px;color:#a5a5af}
.credit-rate strong{font-size:13px;color:#e4e4e9}
.credit-rate-note{font-size:11px;color:#a5a5af;margin:9px 0 0;line-height:1.6}
.point-addon{margin-top:12px;padding-top:12px;border-top:1px solid #ffffff18}
.point-addon>strong{font-size:12px;color:#e4e4e9;font-weight:500}
.point-addon-rate,.point-addon-note{margin:8px 0 0;font-size:11px;line-height:1.6;color:#a5a5af}
.point-addon-rate{color:#d3d3dc}
.point-addon-row{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:8px}
.point-addon-stepper{display:flex;align-items:center;height:30px;border-radius:999px;background:#ffffff12;overflow:hidden}
.point-addon-stepper button{width:26px;height:100%;padding:0;border:0;background:transparent;color:#ddd;font-size:17px;cursor:pointer}
.point-addon-stepper button:disabled{color:#62626a;cursor:not-allowed}
.point-addon-stepper input{width:34px;min-width:0;padding:0;border:0;background:transparent;color:#fff;text-align:center;font-size:12px;appearance:textfield;-moz-appearance:textfield}
.point-addon-stepper input::-webkit-inner-spin-button,.point-addon-stepper input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
.point-addon-stepper input:disabled{color:#777}
.point-addon-stepper span{padding-right:5px;color:#a5a5af;font-size:11px}
.point-addon-stepper button:focus-visible,.point-addon-stepper input:focus-visible{outline:2px solid #ff7772;outline-offset:-2px}
.point-addon-total{color:#ff9690;font-size:12px;font-variant-numeric:tabular-nums}
.capacity{flex:0;padding:10px 0 24px}
.capacity>strong{font-size:17px;color:#f0f0f0}
.capacity p{font-size:12px;line-height:1.7;color:#aaa}
.capacity .monthly-points{display:flex;align-items:baseline;gap:6px;margin:0 0 10px;font-weight:400}
.monthly-points b{font-size:28px;font-weight:700;letter-spacing:-.035em;font-variant-numeric:tabular-nums}
.monthly-points span{font-size:12px;color:#c4c4cc}
.capacity p.bonus-points{color:#ff9690}
.plan-summary .buy{margin-top:auto;border:0;border-radius:999px;font-size:13px;min-height:42px}
.selected .plan-summary .buy{background:#ff4c48;color:#fff}
.plan-benefits,.plan-exclusive{margin:0;padding:22px}
.plan-benefits h4,.plan-exclusive h4{margin:0 0 14px;padding:0;border:0;color:#e4e4e4;font-size:13px;font-weight:600}
.plan-card .plan-benefits ul,.plan-card .plan-exclusive ul{padding:0;margin:0;border:0}
.plan-card .plan-benefits li{font-size:12px;line-height:1.7;min-height:28px;margin:0 0 4px}
.plan-card .plan-benefits .benefit-row{height:34px;margin:0;align-items:center;gap:8px}
.plan-card .plan-benefits .benefit-row[data-benefit="增开席位"]{height:58px}
.plan-card .benefit-label{color:#c6c6cd}
.plan-card .benefit-row.unavailable span{color:#66666f}
.plan-activity{padding:20px 22px 22px;border-bottom:1px solid #29292c;background:#111113}
.plan-activity h4{margin:0 0 14px;color:#ff8e86;font-size:13px;font-weight:600}
.model-promotion{margin:0;padding:14px;border:1px solid #71312e;border-radius:10px;background:linear-gradient(130deg,#341918,#1c1415)}
.model-promotion+.model-promotion{margin-top:10px}
.promotion-kicker{font-size:11px;font-weight:600;color:#ffaaa4}
.model-promotion>div{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:10px 0}
.model-promotion strong{font-size:17px;color:#f6f0ef}
.model-promotion b{color:#ff7970;font-size:25px}
.model-promotion small{display:block;font-size:10px;line-height:1.6;color:#baa09e}
.pricing-footnote{width:min(1680px,calc(100% - 48px));margin:12px auto 0;padding:0 8px;font-size:12px;color:#85858f;line-height:1.8}
.pricing-footnote strong{font-weight:500;color:#b0b0b9}
.pricing-footnote p{margin:6px 0 0}
.plan-exclusive{border-top:1px solid #29292c;padding-top:22px;padding-bottom:26px}
.plan-exclusive h4 small{display:block;margin-top:6px;color:#929298;font-size:11px;font-weight:400}
.plans-fold{position:relative}
.plans-fold.is-collapsed .plans-fold-clip{max-height:var(--fold-height);overflow:hidden}
.plans-fold-control{display:flex;justify-content:center;align-items:flex-end;padding:12px 0 24px}
.plans-fold-control[hidden]{display:none}
.is-collapsed .plans-fold-control{position:absolute;inset:auto 0 0;height:108px;background:linear-gradient(transparent,#050505 70%);pointer-events:none}
.plans-fold-toggle{display:flex;align-items:center;gap:8px;min-height:32px;padding:6px 16px;border:1px solid #ffffff14;border-radius:999px;background:#303030;color:#eee;font:inherit;font-size:13px;cursor:pointer;pointer-events:auto}
.plans-fold-toggle:hover{background:#404040}
.plans-fold-toggle:focus-visible{outline:2px solid #ff7772;outline-offset:4px}
.plans-fold-toggle svg{width:16px;height:16px;transform:rotate(180deg)}
.is-collapsed .plans-fold-toggle svg{transform:none}
.plan-card .feature-row{display:grid;grid-template-columns:16px minmax(0,1fr);gap:8px;align-items:center;height:34px;margin:0;font-size:13px;line-height:20px}
.plan-card .feature-check{display:block;width:16px;text-align:center;color:#ff6863;font-size:15px}
.plan-card .feature-label{color:#ddd;white-space:nowrap}
.plan-card .unavailable .feature-label{color:#707075}
.plan-card:focus-visible{outline:2px solid #ff7772;outline-offset:3px}
@media(max-width:640px){.cards{grid-auto-columns:82vw;padding:14px 0 24px;gap:0 12px}.plan-card{min-width:0}.plan-summary,.plan-activity,.plan-benefits,.plan-exclusive{padding-left:20px;padding-right:20px}.plan-card .feature-row{height:34px}}
.seat-picker { margin: 8px 0 20px; }
.seat-row { display:flex; align-items:center; justify-content:space-between; gap:8px; flex-wrap:wrap; }
.seat-stepper { display:flex; align-items:center; flex:0 0 108px; height:30px; border:0; border-radius:999px; background:rgba(255,255,255,.07); overflow:hidden; }
.seat-stepper button { width:25px; height:100%; border:0; background:transparent; color:#d8d8de; font-size:17px; cursor:pointer; flex-shrink:0; }
.seat-stepper button:hover:not(:disabled) { background:rgba(255,255,255,.1); }
.seat-stepper button:disabled { color:#62626a; cursor:not-allowed; }
.seat-stepper input { min-width:0; width:28px; height:100%; padding:0; text-align:center; border:0; background:transparent; color:#fff; font-size:12px; appearance:textfield; -moz-appearance:textfield; }
.seat-stepper input::-webkit-inner-spin-button, .seat-stepper input::-webkit-outer-spin-button { -webkit-appearance:none; margin:0; }
.seat-stepper span { color:#d0d0d6; white-space:nowrap; padding:0 4px 0 0; font-size:12px; }
.seat-stepper input:focus-visible, .seat-stepper button:focus-visible { outline:2px solid #ff4848; outline-offset:-2px; }
.seat-detail, .seat-message { font-size:11px; line-height:1.6; color:#a5a5af; margin:9px 0 0; }
.seat-total { display:flex; align-items:baseline; gap:4px; margin-left:auto; font-size:11px; color:#a5a5af; white-space:nowrap; }
.seat-total strong { font-size:14px; color:#f2f2f5; font-weight:600; }
.seat-message:empty { display:none; }
.seat-retry { margin-top:8px; border:0; background:transparent; color:#ff7373; padding:0; font-size:12px; cursor:pointer; }
