/* VIP cards: shared appearance for the store and homepage. */
.store-ranks{grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;align-items:stretch}
.rank-card.vip-full,.rank-card.vip-compact{isolation:isolate;border-radius:20px;border:1px solid #514054;background:radial-gradient(ellipse at 50% 22%,var(--glow),transparent 65%),linear-gradient(165deg,#2a2131,#18141f 78%);box-shadow:0 14px 32px #0000001c;transition:transform .25s,border-color .25s,box-shadow .25s}
.rank-card.vip-full:before,.rank-card.vip-compact:before{content:"";position:absolute;inset:0 20px auto;height:1px;background:linear-gradient(90deg,transparent,var(--accent),transparent);opacity:.7;z-index:2}
.rank-card.vip-full:hover,.rank-card.vip-compact:hover{transform:translateY(-6px);border-color:var(--accent);box-shadow:0 20px 42px #0003,0 0 24px var(--glow)}
.store-ranks .rank-card.vip-full{padding:19px 17px 17px;min-height:0;display:flex;flex-direction:column;align-items:stretch;text-align:left;gap:0}
.rank-card .vip-topline{display:flex;align-items:center;justify-content:space-between;gap:10px;position:relative;z-index:2;min-height:24px}
.vip-topline>span:first-child{font-size:8px;letter-spacing:1.45px;font-weight:700;color:#bcadc5}
.vip-index{font-size:16px;line-height:1;color:var(--accent);font-weight:800;letter-spacing:1px}.vip-index small{font-size:9px;color:#8c7c96;margin-left:4px;letter-spacing:0}
.vip-stage{height:172px;display:grid;place-items:center;position:relative;isolation:isolate;margin:6px 0 10px}
.vip-stage:before{content:"";position:absolute;width:175px;height:175px;background:radial-gradient(circle,var(--glow),transparent 70%);border-radius:50%;z-index:-2;transform:scale(1.25)}
.vip-stage:after{content:"";position:absolute;bottom:4px;width:115px;height:14px;border-radius:50%;background:#0005;filter:blur(6px);z-index:-1}
.vip-orbit{position:absolute;width:151px;height:151px;border:1px solid var(--accent);border-radius:50%;opacity:.14;transform:rotate(-25deg);z-index:-1}
.vip-orbit:before,.vip-orbit:after{content:"";position:absolute;width:5px;height:5px;border-radius:1px;background:var(--accent);box-shadow:0 0 13px var(--accent)}.vip-orbit:before{top:15px;left:22px}.vip-orbit:after{right:7px;bottom:32px;width:3px;height:3px}
.vip-art{width:156px;height:156px;object-fit:contain;position:relative;filter:drop-shadow(0 12px 12px #0005);transition:transform .35s cubic-bezier(.2,.8,.2,1)}
.rank-card:hover .vip-art{transform:translateY(-7px) rotate(-4deg)}
.rank-card .rank-info{position:relative;z-index:1;min-width:0;display:flex;flex-direction:column;flex:1}
.rank-card .rank-info h3{font-size:24px;letter-spacing:-.9px;color:#fff5fc;margin:0 0 11px;line-height:1.15}
.vip-name-row{display:flex;align-items:center;justify-content:space-between;gap:10px}
.vip-track{display:flex;gap:4px;width:100%;margin:0 0 15px}.vip-track i{display:block;height:3px;flex:1;background:#ffffff0c;border-radius:3px}.vip-track .filled{background:var(--accent);box-shadow:0 0 9px var(--glow)}
.store-ranks .rank-info>p{font-size:11px;line-height:1.8;color:#bdaec7;min-height:60px;margin:0 0 19px;max-width:none}
.vip-benefits{margin:auto 0 19px;border-top:1px solid #ffffff0c;padding-top:17px}
.vip-home{display:flex;align-items:center;gap:10px;text-align:left}.vip-home>strong{font-size:38px;line-height:1;color:var(--accent);font-weight:750;letter-spacing:-1.5px;font-variant-numeric:tabular-nums}.vip-home>span{font-size:9px;line-height:1.65;color:#c8b9d0}.vip-home svg{margin-left:auto;width:22px;height:22px;color:var(--accent);opacity:.75}
.vip-perk{display:flex;align-items:center;gap:8px;margin-top:14px;font-size:10px;color:#c8b9cf}.vip-perk>span:first-child{color:var(--accent);font-size:12px}
.vip-cta{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;padding:11px 12px;background:#ffffff05;border:1px solid #ffffff1c;border-radius:9px;color:#e5d8eb;font:inherit;font-weight:650;font-size:11px;min-height:43px;transition:background .2s,border-color .2s,color .2s}
.vip-cta:hover{background:var(--glow);border-color:var(--accent);color:var(--accent)}.vip-cta-arrow{font-size:17px;line-height:1;color:var(--accent)}
.rank-card.vip-highest{border-color:#ff85a38c;background:radial-gradient(ellipse at 50% 22%,#aa3f6b2e,transparent 65%),linear-gradient(165deg,#392237,#201521 85%);box-shadow:0 0 32px #ff85a30b,0 14px 32px #0002}.vip-highest .vip-topline>span:first-child{color:#ffb1c8}.vip-highest .vip-cta{background:#fb8cab;color:#28131e;border-color:transparent}.vip-highest .vip-cta-arrow{color:#28131e}.vip-highest .vip-cta:hover{background:#ffc3d3;color:#28131e}
.home-ranks .rank-card.vip-compact{display:flex;flex-direction:row;align-items:center;padding:42px 20px 20px;gap:16px;min-height:236px;text-align:left}.vip-compact .vip-topline{position:absolute;top:15px;left:20px;right:20px}.vip-compact .vip-stage{width:125px;height:145px;flex:0 0 125px;margin:0}.vip-compact .vip-art{width:128px;height:136px}.vip-compact .vip-orbit{width:119px;height:119px}.vip-compact .vip-stage:before{width:140px;height:140px}.vip-compact .vip-stage:after{width:95px;bottom:0}.rank-card.vip-compact .rank-info h3{font-size:26px;margin-bottom:10px}.vip-compact .vip-track{margin-bottom:11px;max-width:150px}.vip-compact .rank-info>p{font-size:11px;color:#bdaec7;line-height:1.75;margin:0 0 12px}.vip-compact-perk{font-size:9px;line-height:1.6;color:#d4bdd2;display:block;margin-bottom:12px}.vip-compact-perk>span{margin:0 4px;color:var(--accent)}.vip-compact .vip-cta{width:auto;justify-content:flex-start;gap:20px;padding:0;border:0;min-height:24px;background:none;color:var(--accent);font-size:12px}.vip-compact .vip-cta-arrow{font-size:16px}.vip-compact.vip-highest .vip-cta,.vip-compact.vip-highest .vip-cta-arrow{color:var(--accent);background:none}
#rank-dialog{width:min(610px,calc(100% - 32px));padding:32px;border:1px solid #64425e;background:radial-gradient(ellipse at 15% 0%,#62334d38,transparent 65%),#201824;border-radius:22px}
.vip-detail-hero{display:grid;grid-template-columns:170px 1fr;gap:24px;align-items:center}.vip-detail-hero .vip-stage{height:190px;margin:0}.vip-detail-hero .vip-art{width:176px;height:176px}.vip-detail-hero .vip-track{max-width:200px;margin:15px 0}.vip-detail-hero .eyebrow{font-size:8px;letter-spacing:1.4px;color:var(--accent)}#rank-dialog .vip-detail h2{font-size:37px;line-height:1.1;margin:12px 0 0;color:#fff0fa}.vip-detail-hero p{font-size:12px;line-height:1.8;color:#c6b5cc;margin:0}.vip-detail-perks{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:25px 0 20px}.vip-detail-perks>div{padding:20px;border:1px solid #ffffff13;border-radius:12px;background:#100c1566;display:flex;gap:15px;align-items:center}.vip-detail-perks strong{font-size:36px;line-height:1;color:var(--accent)}.vip-detail-perks span{font-size:11px;color:#d3bfd9;line-height:1.7}.vip-detail-note{font-size:12px;line-height:1.9;color:#bba5c4;margin:0 0 24px}.vip-detail-note code{color:#efd5e7}.vip-detail-link{width:100%;justify-content:space-between}
@media(min-width:1350px){.vip-stage{height:188px}.vip-art{width:174px;height:174px}.store-ranks .rank-card.vip-full{padding:21px}.store-ranks .rank-info>p{font-size:12px;min-height:66px}.vip-perk{font-size:11px}.vip-home>span{font-size:10px}.vip-cta{font-size:12px}}
@media(max-width:1199px){.store-ranks{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.store-ranks .rank-card.vip-full{padding:22px}.store-ranks .rank-info>p{font-size:12px;min-height:44px}.vip-art{width:170px;height:170px}.vip-stage{height:185px}.vip-perk{font-size:12px}.vip-home>span{font-size:11px}.vip-cta{font-size:13px}.home-ranks .rank-card.vip-compact{padding:42px 17px 20px;gap:10px}.vip-compact .vip-stage{width:105px;flex-basis:105px}.vip-compact .vip-art{width:112px;height:128px}.rank-card.vip-compact .rank-info h3{font-size:23px}}
@media(max-width:900px){.store-ranks{grid-template-columns:repeat(2,minmax(0,1fr))}.home-ranks .rank-card.vip-compact{padding:42px 23px 22px;min-height:230px;gap:20px}.vip-compact .vip-stage{width:140px;flex-basis:140px}.vip-compact .vip-art{width:144px;height:144px}.vip-compact .vip-orbit{width:139px;height:139px}.rank-card.vip-compact .rank-info h3{font-size:28px}.vip-compact .rank-info>p{font-size:12px}.vip-compact-perk{font-size:11px}}
@media(max-width:580px){.store-ranks{grid-template-columns:1fr;gap:18px}.store-ranks .rank-card.vip-full{padding:22px 24px}.vip-stage{height:186px;margin:0 0 12px}.vip-art{width:183px;height:183px}.vip-orbit{width:175px;height:175px}.rank-card .rank-info h3{font-size:30px}.store-ranks .rank-info>p{min-height:0;font-size:13px;margin-bottom:22px}.vip-home>strong{font-size:40px}.vip-home>span{font-size:11px}.vip-perk{font-size:12px}.vip-benefits{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-top:20px;margin-bottom:22px}.vip-home{flex:1}.vip-home svg{display:none}.vip-perk{margin-top:0;max-width:125px;line-height:1.7}.vip-cta{font-size:13px;padding:13px 15px;min-height:47px}.home-ranks .rank-card.vip-compact{padding:42px 20px 22px;gap:12px;min-height:228px}.vip-compact .vip-stage{width:110px;flex-basis:110px;height:148px}.vip-compact .vip-art{width:126px;height:142px}.vip-compact .vip-orbit{width:120px;height:120px}.rank-card.vip-compact .rank-info h3{font-size:25px}.vip-compact .rank-info>p{font-size:11px}.vip-compact-perk{font-size:9px}#rank-dialog{padding:35px 23px 24px}.vip-detail-hero{grid-template-columns:1fr;text-align:center;gap:4px}.vip-detail-hero .vip-stage{height:175px}.vip-detail-hero .vip-art{width:175px;height:175px}.vip-detail-hero .vip-track{margin:16px auto}.vip-detail-perks>div{padding:17px 12px;gap:10px;flex-direction:column;text-align:center}.vip-detail-perks span{font-size:11px}#rank-dialog .vip-detail h2{font-size:34px}.vip-detail-note{font-size:11px}}
@media(prefers-reduced-motion:reduce){.rank-card.vip-full,.rank-card.vip-compact,.vip-art{transition:none}.rank-card.vip-full:hover,.rank-card.vip-compact:hover,.rank-card:hover .vip-art{transform:none}}
