/* 套餐页：与首页 B 风格统一，样式仅作用于独立套餐页。 */
body.plans-landing { background:#fff; }
body.plans-landing .wrap { width:100%; max-width:none; min-height:0; padding:0; }
body.plans-landing #view-plans { margin:0; overflow:hidden; }
body.plans-landing footer { margin:0; border-top:1px solid #e6ebf5; background:#f9fbff; color:#7a879b; }
.pl-container { width:min(100% - 72px,1232px); margin:0 auto; }
.pl-eyebrow { color:#315be1; font:700 11px/1.4 Consolas,"Microsoft YaHei",monospace; letter-spacing:.2em; }
.pl-hero { position:relative; overflow:hidden; border-top:1px solid #e2eaf8; background:radial-gradient(ellipse at 69% 12%,#e6efff 0,transparent 42%),linear-gradient(130deg,#fff 0%,#f8fbff 62%,#edf4ff 100%); }
.pl-hero::before { content:""; position:absolute; top:-80px; right:9%; width:410px; height:410px; border:1px solid rgba(71,117,214,.08); border-radius:50%; box-shadow:0 0 0 65px rgba(89,132,222,.025),0 0 0 130px rgba(89,132,222,.02); pointer-events:none; }
.pl-hero-grid { position:relative; display:grid; grid-template-columns:minmax(0,1fr) minmax(0,.84fr); align-items:center; gap:72px; min-height:390px; padding-top:50px; padding-bottom:54px; }
.pl-hero-copy h1 { margin:20px 0 15px; color:#172641; font-family:"Noto Serif SC","Songti SC","SimSun",serif; font-size:clamp(39px,4vw,57px); font-weight:900; letter-spacing:-.065em; line-height:1.2; }
.pl-hero-copy > p { max-width:520px; margin:0; color:#64758f; font-size:14px; line-height:1.8; }
.pl-hero-tags { display:flex; flex-wrap:wrap; gap:8px; margin-top:25px; }
.pl-hero-tags span { padding:7px 10px; border:1px solid #d8e4f8; border-radius:5px; background:rgba(255,255,255,.75); color:#58709b; font-size:11px; }
.pl-hero-visual { position:relative; overflow:hidden; padding:23px; border:1px solid #253a69; border-radius:14px; background:radial-gradient(circle at 84% 1%,rgba(110,94,230,.22),transparent 40%),linear-gradient(140deg,#172a53,#101d3d); box-shadow:0 23px 45px rgba(22,40,86,.17); }
.pl-hero-visual::after { content:""; position:absolute; inset:0; background-image:linear-gradient(rgba(178,197,241,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(178,197,241,.05) 1px,transparent 1px); background-size:38px 38px; opacity:.55; pointer-events:none; }
.pl-visual-top,.pl-visual-bottom { position:relative; z-index:1; display:flex; align-items:center; justify-content:space-between; gap:12px; color:#97aedf; font:700 10px Consolas,monospace; letter-spacing:.11em; }
.pl-visual-rows { position:relative; z-index:1; display:grid; gap:8px; margin:24px 0; }
.pl-visual-rows > div { display:flex; align-items:center; gap:16px; min-height:66px; padding:11px 16px; border:1px solid rgba(178,199,245,.16); border-radius:8px; background:rgba(255,255,255,.055); }
.pl-visual-rows > div:last-child { border-color:rgba(167,146,255,.32); background:rgba(142,108,251,.12); }
.pl-visual-rows b { color:#8cacec; font:700 22px Georgia,serif; }
.pl-visual-rows > div:last-child b { color:#b4a5ff; }
.pl-visual-rows span { color:#fff; font-size:13px; font-weight:700; }
.pl-visual-rows small { display:block; margin-top:4px; color:#a8b7d6; font-size:10px; font-weight:400; }
.pl-visual-rows i { margin-left:auto; color:#8eaae2; font:700 9px Consolas,monospace; font-style:normal; letter-spacing:.1em; }
.pl-visual-bottom { padding-top:14px; border-top:1px solid rgba(178,199,245,.16); font-family:"Microsoft YaHei",sans-serif; font-size:10px; font-weight:400; letter-spacing:0; }
.pl-visual-bottom span:last-child { color:#bcadff; font-size:17px; }
.pl-main { padding:50px 0 76px; background:linear-gradient(180deg,#fff,#f6f9ff 78%,#fff); }
.pl-main-head { margin-bottom:27px; }
.pl-main-head h2 { margin:10px 0 6px; color:#1d3051; font-family:"Noto Serif SC","Songti SC","SimSun",serif; font-size:31px; letter-spacing:-.05em; }
.pl-main-head p { margin:0; color:#7586a0; font-size:13px; }
.pl-controls { display:grid; grid-template-columns:1fr auto 1fr; align-items:center; gap:16px; min-height:81px; margin-bottom:16px; padding:13px 17px; border:1px solid #dfe8f7; border-radius:13px; background:#fff; box-shadow:0 9px 24px rgba(37,67,130,.045); }
.pl-controls-label span { display:block; color:#1f3459; font-size:14px; font-weight:800; }
.pl-controls-label small { display:block; margin-top:3px; color:#8595ac; font-size:11px; }
.pl-periods { display:flex; gap:4px; padding:4px; border:1px solid #e0e8f6; border-radius:9px; background:#f1f5fc; }
.pl-periods button { display:flex; flex-direction:column; align-items:center; gap:1px; min-width:102px; padding:8px 16px; border:0; border-radius:6px; background:transparent; color:#71829e; cursor:pointer; }
.pl-periods button strong { font-size:13px; }
.pl-periods button small { font-size:10px; }
.pl-periods button.is-active { background:#fff; color:#2458e8; box-shadow:0 3px 10px rgba(36,70,135,.1); }
.pl-periods button:focus-visible,.pl-redeem:focus-visible,.pl-card-button:focus-visible { outline:2px solid #77a2ff; outline-offset:2px; }
.pl-redeem { justify-self:end; display:flex; align-items:center; gap:13px; padding:11px 14px; border:1px solid #cfddf6; border-radius:7px; background:#fff; color:#2458dc; font-size:12px; font-weight:700; cursor:pointer; }
.pl-redeem:hover { border-color:#7fa3ef; background:#f4f7ff; }
.pl-redeem span { font-size:15px; }
.pl-upgrade-note { display:flex; align-items:center; gap:15px; margin-bottom:16px; padding:13px 17px; border:1px solid #ddcffd; border-radius:9px; background:#f8f5ff; color:#5b438e; }
.pl-upgrade-note span { font:700 10px Consolas,monospace; letter-spacing:.12em; }
.pl-upgrade-note p { margin:0; font-size:12px; line-height:1.6; }
.pl-comparison { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:17px; }
.pl-comparison[hidden] { display:none; }
.pl-card { display:flex; flex-direction:column; min-width:0; padding:29px 31px 27px; border:1px solid #dce6f6; border-radius:14px; background:#fff; box-shadow:0 15px 33px rgba(35,64,119,.055); }
.pl-card-normal { border-top:4px solid #3266ef; }
.pl-card-super { border:1px solid #233c74; border-top:4px solid #927dff; background:radial-gradient(circle at 90% 0,rgba(109,91,235,.18),transparent 38%),#17284f; box-shadow:0 20px 39px rgba(23,40,79,.16); }
.pl-card-top { display:flex; align-items:center; justify-content:space-between; gap:10px; }
.pl-card-index { color:#5a76b6; font:700 10px Consolas,monospace; letter-spacing:.15em; }
.pl-card-mode { padding:6px 9px; border-radius:5px; background:#edf3ff; color:#315ac8; font-size:10px; font-weight:700; white-space:nowrap; }
.pl-card h3 { margin:26px 0 4px; color:#1d3051; font-size:27px; letter-spacing:-.03em; }
.pl-card-subtitle { margin:0; color:#71829e; font-size:12px; }
.pl-card-price { display:flex; align-items:baseline; gap:9px; margin-top:23px; }
.pl-card-price strong { color:#2459e6; font-size:44px; font-weight:800; letter-spacing:-.04em; line-height:1; font-variant-numeric:tabular-nums; }
.pl-card-price span { color:#7b8ba6; font-size:12px; }
.pl-card-rate { display:flex; flex-wrap:wrap; align-items:center; gap:8px; min-height:28px; margin-top:6px; color:#7d8ca6; font-size:11px; }
.pl-card-rate b { padding:4px 7px; border-radius:5px; background:#e9f7ef; color:#1d895b; font-size:10px; }
.pl-card-feature-title { display:flex; align-items:center; gap:11px; margin-top:27px; color:#5774a8; font:700 10px Consolas,"Microsoft YaHei",monospace; letter-spacing:.1em; }
.pl-card-feature-title i { flex:1; height:1px; background:#e0e8f5; }
.pl-card-features { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px 19px; min-height:127px; margin:18px 0 25px; padding:0; list-style:none; }
.pl-card-features li { display:flex; align-items:start; gap:8px; color:#4b5f7e; font-size:12px; line-height:1.5; }
.pl-card-features li span { display:inline-flex; flex:0 0 17px; align-items:center; justify-content:center; width:17px; height:17px; border-radius:50%; background:#e8f1ff; color:#2459e6; font-size:10px; font-weight:800; }
.pl-card-button { width:100%; margin-top:auto; padding:14px 20px; border:0; border-radius:7px; background:#2459e8; color:#fff; font-size:13px; font-weight:800; cursor:pointer; box-shadow:0 9px 17px rgba(37,89,232,.12); }
.pl-card-button:hover { background:#194bd4; }
.pl-card-button:disabled { opacity:.6; cursor:wait; }
.pl-card-super .pl-card-index { color:#b8aafa; }
.pl-card-super .pl-card-mode { background:rgba(154,132,255,.2); color:#d5caff; }
.pl-card-super h3,.pl-card-super .pl-card-price strong { color:#fff; }
.pl-card-super .pl-card-subtitle,.pl-card-super .pl-card-price span,.pl-card-super .pl-card-rate { color:#b9c7e4; }
.pl-card-super .pl-card-rate b { background:rgba(167,144,255,.2); color:#e1d8ff; }
.pl-card-super .pl-card-feature-title { color:#afc3f1; }
.pl-card-super .pl-card-feature-title i { background:rgba(188,205,241,.2); }
.pl-card-super .pl-card-features li { color:#d4dff4; }
.pl-card-super .pl-card-features li span { background:rgba(156,132,255,.2); color:#d6c9ff; }
.pl-card-super .pl-card-button { background:#755fee; box-shadow:0 9px 18px rgba(105,81,226,.2); }
.pl-card-super .pl-card-button:hover { background:#6650de; }
.pl-service-note { display:flex; align-items:start; gap:12px; margin-top:20px; padding:17px 20px; border:1px solid #e1e9f6; border-radius:9px; background:rgba(255,255,255,.75); }
.pl-note-symbol { display:inline-flex; flex:0 0 20px; align-items:center; justify-content:center; width:20px; height:20px; border-radius:50%; background:#e9f0fd; color:#315fce; font:700 12px Georgia,serif; }
.pl-service-note p { margin:1px 0 0; color:#74839a; font-size:11px; line-height:1.7; }
.pl-error { padding:40px; border:1px solid #dfe7f6; border-radius:12px; background:#fff; color:#7585a0; text-align:center; }

@media(max-width:1050px) {
  .pl-container { width:min(100% - 48px,1232px); }
  .pl-hero-grid { gap:32px; }
  .pl-card { padding:25px 24px; }
  .pl-card-features { gap:10px; }
}
@media(max-width:800px) {
  .pl-container { width:min(100% - 36px,1232px); }
  .pl-hero-grid { grid-template-columns:1fr; gap:23px; padding-top:47px; padding-bottom:44px; }
  .pl-hero-copy h1 { font-size:43px; }
  .pl-hero-visual { max-width:550px; }
  .pl-controls { grid-template-columns:1fr auto; }
  .pl-controls-label { grid-column:1/-1; }
  .pl-periods { justify-self:start; }
  .pl-comparison { grid-template-columns:1fr; }
  .pl-card-features { min-height:0; }
}
@media(max-width:600px) {
  .pl-container { width:min(100% - 32px,1232px); }
  .pl-hero-grid { padding-top:35px; padding-bottom:37px; }
  .pl-hero-copy h1 { margin-top:17px; font-size:36px; }
  .pl-hero-copy > p { font-size:12px; }
  .pl-hero-tags { gap:6px; margin-top:18px; }
  .pl-hero-tags span { padding:6px 8px; font-size:10px; }
  .pl-hero-visual { padding:17px; }
  .pl-visual-rows { margin:16px 0; }
  .pl-visual-rows > div { min-height:55px; padding:9px 11px; }
  .pl-visual-rows i { display:none; }
  .pl-main { padding:48px 0 57px; }
  .pl-main-head h2 { font-size:27px; }
  .pl-controls { display:flex; flex-wrap:wrap; gap:13px; padding:14px; }
  .pl-controls-label { width:100%; }
  .pl-periods { width:100%; }
  .pl-periods button { flex:1; min-width:0; padding:8px 4px; }
  .pl-redeem { width:100%; justify-content:space-between; }
  .pl-upgrade-note { align-items:start; flex-direction:column; gap:6px; }
  .pl-card { padding:22px 20px; }
  .pl-card h3 { margin-top:20px; font-size:24px; }
  .pl-card-price strong { font-size:38px; }
  .pl-card-features { grid-template-columns:1fr; gap:10px; margin:17px 0 22px; }
  .pl-card-feature-title { margin-top:23px; }
  .pl-service-note { padding:14px; }
}
