.vip-shell,
.freevip-shell,
.invite-shell,
.profile-shell,
.download-page {
  max-width: 1180px;
  margin: 1.25rem auto 2.75rem;
}

.vip-panel,
.reward-card,
.manual-form,
.invite-card,
.profile-card,
.download-hero,
.download-band,
.download-section,
.download-item {
  background: #fff;
  border: 1px solid #E3E8E1;
  border-radius: 8px;
  box-shadow: 0 10px 24px rgba(23, 37, 27, 0.045);
}

.vip-panel,
.reward-card,
.manual-form,
.invite-card,
.profile-card {
  padding: 1.15rem;
}

.vip-panel h1,
.freevip-head h1,
.invite-card h1,
.profile-head h1,
.download-title {
  color: #142018;
  font-weight: 850;
  letter-spacing: 0;
}

.vip-panel h2,
.reward-card h2,
.manual-form h2,
.invite-card h2,
.profile-card h2,
.download-band h2,
.download-section h2 {
  color: #213229;
  font-weight: 800;
}

.vip-muted,
.freevip-head p,
.reward-card p,
.invite-muted,
.profile-head p,
.quota-sub,
.download-subtitle,
.download-band p,
.download-section p,
.download-item p {
  color: #5D6B61;
}

.vip-btn,
.reward-action a,
.reward-action button,
.invite-actions button,
.invite-actions a,
.profile-actions a,
.download-page .btn {
  border-radius: 8px;
  min-height: 38px;
  font-weight: 750;
  box-shadow: none;
  transition: background-color .15s ease, border-color .15s ease, transform .15s ease;
}

.vip-btn:hover,
.reward-action a:hover,
.reward-action button:hover,
.invite-actions button:hover,
.invite-actions a:hover,
.profile-actions a:hover,
.download-page .btn:hover {
  transform: translateY(-1px);
}

.vip-btn.primary,
.reward-action .primary,
.invite-actions .primary,
.download-page .btn-success {
  background: #176B3A;
  border-color: #176B3A;
  color: #fff;
}

.vip-btn.secondary,
.vip-btn.ghost,
.reward-action .secondary,
.invite-actions .secondary,
.profile-actions a,
.download-page .btn-outline-success,
.download-page .btn-outline-warning {
  background: #F7FAF7;
  border: 1px solid #CFE0D2;
  color: #176B3A;
}

.vip-badge,
.reward-badge,
.download-tag,
.download-pill {
  background: #EEF7F0;
  border: 1px solid #D9EBDD;
  color: #176B3A;
}

.vip-task,
.rule-list li,
.stat-item,
.download-method,
.download-aside {
  background: #F8FAF8;
  border: 1px solid #E3E8E1;
  border-radius: 8px;
}

.redeem-input,
.manual-form .form-control,
.manual-form .form-select,
.invite-link,
.email-field input {
  background: #fff;
  border: 1px solid #D8E0D6;
  border-radius: 8px;
}

.redeem-input:focus,
.manual-form .form-control:focus,
.manual-form .form-select:focus,
.email-field input:focus {
  border-color: #6DA77A;
  box-shadow: 0 0 0 .18rem rgba(23, 107, 58, .12);
}

.vip-status {
  background: #F2F8F4;
  border: 1px solid #CFE4D5;
}

.profile-card .quota-number,
.invite-code {
  color: #176B3A;
}

.info-row,
.stat-item,
.download-item {
  min-width: 0;
}

.download-item {
  align-items: center;
}

.download-item.featured {
  border-color: #CFE0D2;
}

.poster-preview {
  background: #F8FAF8;
  border-color: #E3E8E1;
}

@media (max-width: 900px) {
  .vip-shell,
  .freevip-shell,
  .invite-shell,
  .profile-shell,
  .download-page {
    margin-top: .75rem;
  }
}

.membership-center { display:grid; gap:1rem; }
.membership-hero { position:relative; display:grid; grid-template-columns:minmax(0,1.55fr) minmax(280px,.65fr); gap:1.2rem; overflow:hidden; padding:clamp(1.35rem,4vw,2.5rem); border:1px solid #E2E9DF; border-radius:22px; background:radial-gradient(circle at 78% 0,rgba(244,205,112,.2),transparent 36%),linear-gradient(135deg,#F2F7F1 0%,#F8FAF6 58%,#FFF8E8 100%); box-shadow:0 16px 42px rgba(69,91,76,.09); color:#34443A; }
.membership-hero::after { content:""; position:absolute; right:-75px; bottom:-115px; width:250px; height:250px; border:1px solid rgba(107,148,119,.12); border-radius:50%; box-shadow:0 0 0 34px rgba(107,148,119,.035),0 0 0 72px rgba(107,148,119,.025); pointer-events:none; }
.membership-hero-copy { position:relative; z-index:1; }
.membership-hero .vip-badge { display:inline-flex; padding:.3rem .65rem; border-color:#D7E5D9; background:rgba(255,255,255,.72); color:#64846D; }
.membership-hero h1 { max-width:700px; margin:.8rem 0 .65rem; color:#34443A; font-size:clamp(1.85rem,4vw,3.05rem); line-height:1.12; font-weight:900; letter-spacing:-.03em; }
.membership-hero-copy>p { max-width:700px; margin:0 0 1.2rem; color:#738078; line-height:1.75; }
.membership-actions { display:flex; flex-wrap:wrap; gap:.65rem; }
.membership-actions .vip-btn { display:inline-flex; min-height:43px; align-items:center; justify-content:center; padding:0 1rem; text-decoration:none; }
.membership-hero .vip-btn.primary { border-color:#769E81; background:#769E81; color:#fff; }
.membership-hero .vip-btn.ghost { border-color:#CDDCCF; background:rgba(255,255,255,.72); color:#587262; }
.membership-state { position:relative; z-index:1; display:flex; flex-direction:column; justify-content:center; padding:1.25rem; border:1px solid rgba(126,158,134,.22); border-radius:18px; background:rgba(255,255,255,.68); box-shadow:0 9px 24px rgba(78,101,84,.055); backdrop-filter:blur(12px); }
.membership-state-kicker { color:#829087; font-size:.75rem; font-weight:800; letter-spacing:.08em; }
.membership-state strong { margin:.35rem 0 .65rem; color:#3E5044; font-size:1.7rem; }
.membership-live { display:flex; align-items:center; gap:.45rem; color:#64846D; font-size:.86rem; font-weight:750; }
.membership-live i { width:.5rem; height:.5rem; border-radius:50%; background:#88B294; box-shadow:0 0 0 4px rgba(136,178,148,.13); }
.membership-state small { margin-top:.55rem; color:#7B867E; line-height:1.55; }
.membership-state>a { margin-top:1rem; color:#8B713C; font-size:.84rem; font-weight:800; text-decoration:none; }
.membership-assurances { display:grid; grid-template-columns:repeat(3,1fr); overflow:hidden; border:1px solid #DEE7DD; border-radius:14px; background:#fff; }
.membership-assurances span { display:flex; min-height:58px; align-items:center; justify-content:center; gap:.55rem; padding:.75rem 1rem; color:#45564A; font-size:.88rem; font-weight:750; }
.membership-assurances span+span { border-left:1px solid #E5EAE3; }
.membership-assurances i { color:#799B82; }
.membership-section { padding:clamp(1rem,3vw,1.6rem); border:1px solid #E3E8E1; border-radius:18px; background:#fff; }
.membership-heading { display:flex; justify-content:space-between; gap:1rem; align-items:end; margin-bottom:1.2rem; }
.membership-heading span { color:#718F79; font-size:.76rem; font-weight:850; letter-spacing:.1em; }
.membership-heading h2 { margin:.24rem 0 0; color:#17251B; font-size:clamp(1.25rem,3vw,1.55rem); font-weight:900; }
.membership-heading p { max-width:420px; margin:0; color:#6B756B; font-size:.88rem; text-align:right; }
.membership-benefit-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.9rem; }
.membership-benefit-card { padding:1.15rem; border:1px solid #E3E8E1; border-radius:14px; background:#FAFBF9; }
.membership-benefit-card.vip { border-color:#C7DDCC; background:linear-gradient(145deg,#F3F9F4,#FFFCF4); }
.benefit-card-head { display:flex; align-items:center; gap:.75rem; }
.benefit-card-head small { color:#6B756B; font-weight:750; }
.benefit-card-head h3 { margin:.1rem 0 0; color:#1C2C22; font-size:1.08rem; font-weight:900; }
.benefit-icon { display:grid; width:42px; height:42px; place-items:center; border-radius:12px; background:#E9F3EB; color:#176B3A; }
.membership-benefit-card.vip .benefit-icon { background:#FFF0C9; color:#9B6613; }
.membership-benefit-card ul { display:grid; gap:.55rem; margin:1rem 0 0; padding:0; list-style:none; color:#4F5F54; }
.membership-benefit-card li { position:relative; padding-left:1.3rem; }
.membership-benefit-card li::before { content:"✓"; position:absolute; left:0; color:#25804A; font-weight:900; }
.membership-plan-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:.85rem; align-items:stretch; }
.membership-plan { position:relative; display:flex; flex-direction:column; min-height:365px; padding:1.2rem; border:1px solid #DFE5DD; border-radius:16px; background:#FBFCFA; transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease; }
.membership-plan:hover { transform:translateY(-3px); border-color:#B9CFBE; box-shadow:0 16px 35px rgba(30,78,45,.08); }
.membership-plan.recommended { border:1.5px solid #91B09A; background:linear-gradient(180deg,#F5F9F4,#FFFFFF); box-shadow:0 12px 28px rgba(76,111,86,.08); }
.plan-eyebrow { color:#287A48; font-size:.76rem; font-weight:850; letter-spacing:.06em; }
.membership-plan h3 { margin:.4rem 0 .2rem; color:#1A2B20; font-size:1.28rem; font-weight:900; }
.plan-price { display:flex; align-items:baseline; margin:.15rem 0; color:#142018; }
.plan-price sup { top:0; margin-right:.15rem; font-size:1rem; font-weight:850; }
.plan-price strong { font-size:2.45rem; line-height:1.1; font-weight:950; letter-spacing:-.04em; }
.plan-price span { margin-left:.35rem; color:#768078; font-size:.82rem; font-weight:650; }
.plan-average { min-height:1.4rem; margin:0 0 .75rem; color:#287A48; font-size:.82rem; font-weight:800; }
.membership-plan ul { display:grid; align-content:start; flex:1; gap:.62rem; margin:0 0 1rem; padding:1rem 0 0; border-top:1px solid #E6EAE4; color:#4F5F54; line-height:1.55; list-style:none; }
.membership-plan li { position:relative; padding-left:1.3rem; }
.membership-plan li::before { content:"✓"; position:absolute; left:0; color:#25804A; font-weight:900; }
.membership-plan>a { display:flex; min-height:43px; align-items:center; justify-content:center; border:1px solid #C5D9C9; border-radius:10px; background:#F3F8F4; color:#176B3A; text-decoration:none; font-weight:850; }
.membership-plan.recommended>a { border-color:#789D82; background:#789D82; color:#fff; }
.plan-ribbon { position:absolute; top:.9rem; right:.9rem; padding:.22rem .55rem; border-radius:999px; background:#789D82; color:#fff; font-size:.68rem; font-weight:850; }
.membership-price-note { display:flex; gap:.5rem; margin:1rem 0 0; color:#707A72; font-size:.8rem; line-height:1.6; }
.membership-price-note i { margin-top:.22rem; color:#9B751E; }
.membership-bottom-action { display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:1.35rem 1.5rem; border:1px solid #E1E7DF; border-radius:18px; background:linear-gradient(120deg,#F7FAF7,#FFF9EA); }
.membership-bottom-action span { color:#287A48; font-size:.78rem; font-weight:850; }
.membership-bottom-action h2 { margin:.2rem 0 0; color:#1C2C22; font-size:1.15rem; font-weight:900; }
.membership-center .vip-btn.primary { border-color:#789D82; background:#789D82; }
.membership-center .vip-btn.secondary,
.membership-center .vip-btn.ghost { border-color:#D5E0D6; background:#F9FBF8; color:#607A68; }
@media (max-width:900px){.membership-hero{grid-template-columns:1fr}.membership-plan-grid{grid-template-columns:1fr}.membership-plan{min-height:0}.membership-bottom-action{align-items:flex-start;flex-direction:column}}
@media (max-width:760px){.membership-hero{padding:1.15rem;border-radius:17px}.membership-benefit-grid,.membership-assurances{grid-template-columns:1fr}.membership-assurances span{justify-content:flex-start}.membership-assurances span+span{border-top:1px solid #E5EAE3;border-left:0}.membership-heading{align-items:flex-start;flex-direction:column}.membership-heading p{text-align:left}.membership-actions .vip-btn{flex:1 1 140px}.membership-section{padding:.9rem}.membership-bottom-action{padding:1rem}}
