*{box-sizing:border-box}
:root{
  --ink:#12100b;
  --paper:#f8f4ec;
  --card:#fffdf8;
  --gold:#c9a461;
  --gold2:#eed59a;
  --muted:#7b7368;
  --line:rgba(18,16,11,.10);
}
html,body{margin:0;padding:0}
body{
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",Arial,sans-serif;
  background:#eee9df;color:var(--ink)
}
a{text-decoration:none;color:inherit}
.container{
  max-width:760px;margin:0 auto;min-height:100vh;position:relative;overflow:hidden;
  background:linear-gradient(180deg,#17130e 0,#17130e 34%,#f8f4ec 34%,#fff 100%)
}
.hero{
  position:relative;padding:18px 18px 28px;color:#fff;
  background:radial-gradient(circle at 90% 20%,rgba(238,213,154,.18),transparent 28%),
             linear-gradient(135deg,#15110c,#251b11 60%,#0d0b08)
}
.nav{display:flex;align-items:center;justify-content:space-between}
.brand{font-size:15px;font-weight:1000;letter-spacing:.3px;display:flex;align-items:center;gap:8px}
.brand:before{content:"";width:10px;height:10px;border-radius:50%;background:var(--gold2);box-shadow:0 0 18px rgba(238,213,154,.8)}
.rule-link{
  font-size:12px;color:#f2dfb0;border:1px solid rgba(238,213,154,.22);border-radius:999px;padding:7px 11px;cursor:pointer
}
.hero-body{display:grid;grid-template-columns:1.02fr .98fr;gap:14px;align-items:center;margin-top:28px}
.kicker{color:#d7c49b;font-size:13px;font-weight:800;margin-bottom:9px}
.headline{font-size:31px;line-height:1.14;font-weight:1000;letter-spacing:-.6px}
.price-line{display:flex;align-items:flex-end;gap:9px;margin-top:17px}
.price{font-size:58px;line-height:.9;font-weight:1000;color:#f3d78d;letter-spacing:-1.5px}
.price small{font-size:24px;margin-right:2px}
.old{color:rgba(255,255,255,.55);font-size:13px}.old s{text-decoration-color:#d33;text-decoration-thickness:3px}
.art{height:198px;position:relative}
.orbit{position:absolute;inset:10px;border:1px solid rgba(238,213,154,.16);border-radius:50%;transform:rotate(-18deg)}
.token{
  position:absolute;right:12px;top:28px;width:154px;height:110px;border-radius:22px;
  background:linear-gradient(135deg,#211b14,#0f0d0a 70%,#342615);
  border:1px solid rgba(238,213,154,.48);box-shadow:0 22px 44px rgba(0,0,0,.35);padding:17px;transform:rotate(6deg)
}
.token b{display:block;color:#f0d796;font-size:17px}.token span{display:block;color:rgba(255,255,255,.58);font-size:10px;margin-top:5px;letter-spacing:1px}
.token i{position:absolute;right:17px;bottom:13px;font-style:normal;font-size:34px}
.base{position:absolute;right:24px;bottom:18px;width:154px;height:36px;border-radius:50%;background:radial-gradient(circle,#76502a,#1b130d 76%);filter:drop-shadow(0 16px 16px rgba(0,0,0,.26))}
.quick{
  margin-top:22px;display:grid;grid-template-columns:1fr 1fr;gap:10px
}
.quick div{height:42px;border-radius:999px;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:900}
.quick .a{background:rgba(255,255,255,.05);border:1px solid rgba(238,213,154,.28);color:#f2dfb0}
.quick .b{background:#ead092;color:#17130e}
.panel{
  margin:-16px 16px 0;position:relative;z-index:2;background:var(--card);border-radius:24px;padding:16px;
  border:1px solid rgba(201,164,97,.22);box-shadow:0 24px 54px rgba(32,24,13,.12)
}
.timer{
  display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:14px;
  padding:11px 12px;border-radius:16px;background:#fbf0d7;border:1px solid rgba(201,164,97,.2)
}
.timer b{font-size:14px}.timer span{font-size:14px;color:#8a5d18;font-weight:1000;font-variant-numeric:tabular-nums}
.product{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}
.product b{font-size:18px}.product em{display:block;font-style:normal;font-size:12px;color:var(--muted);margin-top:3px}
.product strong{font-size:24px}
.input{
  width:100%;height:50px;border:1px solid var(--line);border-radius:16px;background:#fff;padding:0 15px;font-size:16px;outline:none
}
.input:focus{border-color:#c9a461;box-shadow:0 0 0 3px rgba(201,164,97,.12)}
.btn{
  width:100%;height:52px;border:0;border-radius:16px;margin-top:10px;
  background:linear-gradient(135deg,#21170c,#3c2a12);color:#f4dda0;font-size:17px;font-weight:1000;letter-spacing:.5px;
  box-shadow:0 14px 30px rgba(33,23,12,.22);cursor:pointer
}
.query-link{text-align:center;margin-top:11px;color:#4d3b21;font-size:13px;font-weight:900;text-decoration:underline;cursor:pointer}
.models-area{padding:18px 16px 92px}
.title-row{display:flex;justify-content:space-between;align-items:center;margin:0 0 11px}
.title-row h2{font-size:17px;margin:0;font-weight:1000}.title-row span{font-size:12px;color:var(--muted)}
.model-scroll{
  display:grid;grid-auto-flow:column;grid-template-rows:repeat(2,82px);grid-auto-columns:112px;gap:10px;
  overflow-x:auto;padding:2px 2px 10px;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch
}
.model-scroll::-webkit-scrollbar{display:none}
.model{
  scroll-snap-align:start;background:#fff;border:1px solid rgba(18,16,11,.08);border-radius:18px;padding:11px;position:relative;
  box-shadow:0 9px 24px rgba(32,24,13,.055)
}
.model .badge{position:absolute;right:8px;top:8px;font-size:10px;color:#8b641e;background:#fff3d6;border-radius:999px;padding:1px 6px;font-weight:1000}
.model .icon{font-size:22px;line-height:1}.model .name{font-size:13px;font-weight:1000;margin-top:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.notice{font-size:12px;color:#7c7469;line-height:1.65;text-align:center;margin-top:6px}
.float-service{position:fixed;right:9px;bottom:72px;z-index:30;background:#fff;border:1px solid rgba(18,16,11,.09);border-radius:999px;padding:8px 10px;font-weight:1000;font-size:12px;box-shadow:0 12px 28px rgba(0,0,0,.11);cursor:pointer}
.loads{position:fixed;left:50%;bottom:10px;transform:translateX(-50%);width:min(720px,calc(100% - 24px));display:grid;grid-template-columns:1fr 1fr;gap:10px;z-index:20}
.load-btn{height:48px;border-radius:16px;background:#17130e;color:#f3d78d;border:1px solid rgba(201,164,97,.3);display:flex;align-items:center;justify-content:center;font-weight:1000;box-shadow:0 12px 26px rgba(32,24,13,.16)}
.modal-mask{display:none;position:fixed;inset:0;background:rgba(15,23,42,.56);z-index:50;align-items:center;justify-content:center;padding:18px}
.modal{background:#fff;border-radius:24px;padding:22px;width:min(520px,100%);max-height:82vh;overflow:auto}.modal h3{margin:0 0 14px;font-size:22px}.modal pre{white-space:pre-wrap;line-height:1.7;color:#374151;font-family:inherit}.close{float:right;font-size:24px;cursor:pointer}
.result{background:#f8fafc;border:1px solid #e8ebf1;border-radius:16px;padding:14px;margin-top:12px;font-size:14px;line-height:1.7}.card-box{background:#111827;color:#f8d782;border-radius:16px;padding:14px;font-size:16px;font-weight:1000;word-break:break-all;margin-top:8px}.toast{position:fixed;left:50%;top:22px;transform:translateX(-50%);background:#111827;color:#fff;padding:12px 18px;border-radius:999px;z-index:80;display:none;max-width:90%;text-align:center}
@media(max-width:520px){
  .hero{padding:16px 14px 28px}.hero-body{margin-top:24px;grid-template-columns:1.05fr .95fr}.headline{font-size:27px}.price{font-size:50px}
  .art{height:180px}.token{width:136px;height:98px;right:4px}.base{right:15px;width:136px}
  .panel{margin:-18px 12px 0}.models-area{padding:16px 12px 92px}
}
@media(max-width:380px){.headline{font-size:24px}.price{font-size:45px}.model-scroll{grid-auto-columns:104px}}


/* V8: move model section above purchase panel, image-only cards */
.models-top{padding:16px 16px 8px}
.compact-title-row{margin:0 0 10px}
.compact-title-row h2{font-size:16px}
.compact-title-row span{font-size:12px;color:var(--muted)}
.image-model-scroll{grid-template-rows:repeat(2,96px);grid-auto-columns:106px;gap:10px;padding:2px 2px 8px}
.model-image-card{padding:0;overflow:hidden;border-radius:18px;background:#fff;min-height:auto}
.model-image-card img{display:block;width:100%;height:100%;object-fit:cover}
.panel{margin:-2px 16px 0}
.models-area + .panel{margin-top:4px}
@media(max-width:520px){
  .models-top{padding:14px 12px 6px}
  .image-model-scroll{grid-template-rows:repeat(2,88px);grid-auto-columns:98px;gap:8px}
  .panel{margin:0 12px 0}
}
@media(max-width:380px){
  .image-model-scroll{grid-template-rows:repeat(2,82px);grid-auto-columns:92px}
}


/* V9: models section integrated into hero dark area */
.hero .models-top{padding:16px 0 0}
.hero .compact-title-row{margin:0 0 10px;justify-content:flex-start}
.hero .compact-title-row h2{font-size:15px;color:#d7c49b}
.hero .compact-title-row span{display:none}
.hero .image-model-scroll{grid-template-rows:repeat(2,96px);grid-auto-columns:106px;gap:10px;padding:2px 0 2px}
.hero .model-image-card{border-radius:18px;border:1px solid rgba(255,255,255,.08);box-shadow:0 4px 14px rgba(0,0,0,.12)}
.hero .panel{margin-top:0}
.panel{margin:0 16px 0}
.container{background:linear-gradient(180deg,#17130e 0,#17130e 44%,#f8f4ec 44%,#fff 100%)}
@media(max-width:520px){
  .hero .models-top{padding:14px 0 0}
  .hero .image-model-scroll{grid-template-rows:repeat(2,88px);grid-auto-columns:98px;gap:8px}
  .panel{margin:0 12px 0}
  .container{background:linear-gradient(180deg,#17130e 0,#17130e 47%,#f8f4ec 47%,#fff 100%)}
}
@media(max-width:380px){
  .hero .image-model-scroll{grid-template-rows:repeat(2,82px);grid-auto-columns:92px}
}


/* V10: transparent image heading + tighter purchase section */
.hero .image-title-row{margin:0 0 8px;display:flex;justify-content:center;align-items:center}
.hero .image-title-row img{display:block;width:min(100%,420px);height:auto}
.hero .models-top{padding:14px 0 2px}
.hero .image-model-scroll{padding:2px 0 0}
.hero{padding-bottom:18px}
.panel{margin:-6px 16px 0}
@media(max-width:520px){
  .hero .image-title-row img{width:min(100%,360px)}
  .hero .models-top{padding:12px 0 0}
  .panel{margin:-8px 12px 0}
}


/* V11: tighter model cards with visible partial next column */
.hero .models-top{padding:10px 0 0}
.hero .image-title-row{margin:0 0 6px}
.hero .image-title-row img{width:min(100%,360px)}
.hero .image-model-scroll{
  grid-template-rows:repeat(2,74px);
  grid-auto-columns:84px;
  gap:6px;
  padding:2px 0 0;
}
.hero .model-scroll{padding-right:0}
.hero .model-image-card{border-radius:14px}
.hero .model-image-card img{border-radius:14px}
.panel{margin:-10px 16px 0}
@media(max-width:520px){
  .hero .models-top{padding:9px 0 0}
  .hero .image-title-row img{width:min(100%,332px)}
  .hero .image-model-scroll{
    grid-template-rows:repeat(2,68px);
    grid-auto-columns:80px;
    gap:6px;
  }
  .panel{margin:-12px 12px 0}
}
@media(max-width:380px){
  .hero .image-title-row img{width:min(100%,300px)}
  .hero .image-model-scroll{
    grid-template-rows:repeat(2,63px);
    grid-auto-columns:74px;
    gap:5px;
  }
}


/* V12: annual-member offer copy */
.annual-copy{margin-top:2px}
.annual-line{
  color:#fff;
  font-size:28px;
  line-height:1.12;
  font-weight:1000;
  letter-spacing:-.45px;
}
.annual-line span{
  display:inline-block;
  margin:0 2px;
  text-decoration:line-through;
  text-decoration-color:#d33;
  text-decoration-thickness:3px;
}
.annual-now{
  margin-top:9px;
  color:#fff;
  font-size:31px;
  line-height:1.08;
  font-weight:1000;
  letter-spacing:-.5px;
}
.annual-price-line{margin-top:14px}
.annual-price-line .price{font-size:62px}
.quick .a,.quick .b{font-size:13px}
@media(max-width:520px){
  .annual-line{font-size:24px}
  .annual-now{font-size:28px}
  .annual-price-line .price{font-size:54px}
  .quick .a,.quick .b{font-size:12px}
}
@media(max-width:380px){
  .annual-line{font-size:22px}
  .annual-now{font-size:25px}
  .annual-price-line .price{font-size:49px}
  .quick .a,.quick .b{font-size:11px}
}


/* V13: denser hero copy and centered quick cards */
.annual-copy{margin-top:0}
.annual-line{
  line-height:1.0;
  margin:0;
}
.annual-now{
  margin-top:2px;
  line-height:1.0;
}
.annual-price-line{
  margin-top:3px;
  gap:0;
  align-items:flex-start;
}
.annual-price-line .price{
  line-height:.88;
}
.quick{
  margin-top:14px;
  gap:12px;
}
.quick div{
  text-align:center;
  justify-content:center;
  align-items:center;
  padding:0 12px;
  line-height:1.15;
}
.quick .a{
  font-size:12px;
}
.quick .b{
  font-size:14px;
}
@media(max-width:520px){
  .annual-line{line-height:1.0}
  .annual-now{margin-top:2px;line-height:1.0}
  .annual-price-line{margin-top:2px}
  .quick{margin-top:12px;gap:10px}
  .quick div{padding:0 10px;line-height:1.12}
  .quick .a{font-size:11px}
  .quick .b{font-size:13px}
}
@media(max-width:380px){
  .quick .a{font-size:10px}
  .quick .b{font-size:12px}
}


/* V14: force annual price title into one line */
.annual-line{
  white-space:nowrap;
  font-size:22px;
  letter-spacing:-1.2px;
  line-height:1.02;
}
.annual-line span{
  margin:0 1px;
}
.annual-now{
  margin-top:4px;
  font-size:31px;
}
.annual-price-line{
  margin-top:4px;
}
@media(max-width:520px){
  .annual-line{
    white-space:nowrap;
    font-size:20px;
    letter-spacing:-1.25px;
  }
  .annual-now{
    margin-top:3px;
    font-size:28px;
  }
}
@media(max-width:380px){
  .annual-line{
    font-size:18px;
    letter-spacing:-1.35px;
  }
  .annual-now{
    font-size:25px;
  }
}


/* V19: safely move the whole functional stack upward; keep styles unchanged */
.hero{padding-top:12px;padding-bottom:22px;overflow:visible}
.nav{margin-bottom:0;overflow:visible}
.brand{overflow:visible;line-height:1.1}
.hero-body{margin-top:12px}
.quick{margin-top:10px}
.hero .models-top{padding-top:8px}
.hero .image-title-row{margin:0 0 4px}
.panel{margin:-10px 16px 0}

/* clean left pill border to avoid any overlapped line artifact */
.quick .a{position:relative;overflow:hidden;box-shadow:none;background:rgba(255,255,255,.05);border:1px solid rgba(238,213,154,.28)}
.quick .a::before,.quick .a::after{content:none!important;display:none!important}

@media(max-width:520px){
  .hero{padding-top:10px;padding-bottom:20px}
  .hero-body{margin-top:10px}
  .quick{margin-top:8px}
  .hero .models-top{padding-top:6px}
  .panel{margin:-10px 12px 0}
}
@media(max-width:380px){
  .hero{padding-top:8px;padding-bottom:18px}
  .hero-body{margin-top:8px}
  .quick{margin-top:6px}
  .panel{margin:-8px 10px 0}
}


/* V22: move the lower functional block upward slightly, keep all styles unchanged */
.hero{padding-bottom:16px}
.hero-body{margin-top:8px}
.quick{margin-top:6px}
.hero .models-top{padding-top:4px}
.hero .compact-title-row{margin:0 0 6px}
.hero .image-model-scroll{padding-top:0}
.panel{margin:-14px 16px 0}

@media(max-width:520px){
  .hero{padding-top:8px;padding-bottom:14px}
  .hero-body{margin-top:6px}
  .quick{margin-top:5px}
  .hero .models-top{padding-top:2px}
  .hero .compact-title-row{margin:0 0 5px}
  .hero .image-model-scroll{padding-top:0}
  .panel{margin:-16px 12px 0}
}

@media(max-width:380px){
  .hero{padding-top:7px;padding-bottom:12px}
  .hero-body{margin-top:5px}
  .quick{margin-top:4px}
  .hero .models-top{padding-top:2px}
  .panel{margin:-14px 10px 0}
}


/* V23: rebalance vertical spacing only; keep component styles and sizes unchanged */
.hero{padding-top:8px;padding-bottom:10px}
.hero-body{margin-top:0}
.quick{margin-top:4px}
.hero .models-top{padding-top:4px}
.hero .compact-title-row{margin:0 0 5px}
.hero .image-model-scroll{padding-top:0;padding-bottom:0}
.panel{margin:-12px 16px 0;padding-top:14px;padding-bottom:14px}
.timer{margin-bottom:10px}
.product{margin-bottom:8px}
.input{margin-bottom:8px}
.btn{margin-top:8px}
.query-link{margin-top:8px}

@media(max-width:520px){
  .hero{padding-top:6px;padding-bottom:8px}
  .hero-body{margin-top:-2px}
  .quick{margin-top:3px}
  .hero .models-top{padding-top:3px}
  .hero .compact-title-row{margin:0 0 4px}
  .hero .image-model-scroll{padding-top:0;padding-bottom:0}
  .panel{margin:-12px 12px 0;padding-top:13px;padding-bottom:13px}
  .timer{margin-bottom:9px}
  .product{margin-bottom:7px}
  .input{margin-bottom:7px}
  .btn{margin-top:7px}
  .query-link{margin-top:7px}
}

@media(max-width:380px){
  .hero{padding-top:6px;padding-bottom:7px}
  .hero-body{margin-top:-3px}
  .quick{margin-top:2px}
  .hero .models-top{padding-top:2px}
  .panel{margin:-12px 10px 0;padding-top:12px;padding-bottom:12px}
}


/* V24: final visual spacing based on approved preview
   - top price/art block moves up slightly
   - lower dark content follows upward
   - purchase panel is fully below the dark hero on white background
   - component styles and sizes are unchanged */
.hero{
  padding-top:8px;
  padding-bottom:18px;
}
.hero-body{
  margin-top:-2px;
}
.art{
  transform:translateY(-6px);
}
.quick{
  margin-top:2px;
}
.hero .models-top{
  padding-top:2px;
}
.hero .compact-title-row{
  margin:0 0 6px;
}
.hero .image-model-scroll{
  padding-top:0;
  padding-bottom:0;
}
.panel{
  margin:14px 16px 0;
  padding-top:14px;
  padding-bottom:14px;
}
.timer{
  margin-bottom:10px;
}
.product{
  margin-bottom:8px;
}
.input{
  margin-bottom:8px;
}
.btn{
  margin-top:8px;
}
.query-link{
  margin-top:8px;
}

@media(max-width:520px){
  .hero{
    padding-top:6px;
    padding-bottom:16px;
  }
  .hero-body{
    margin-top:-4px;
  }
  .art{
    transform:translateY(-7px);
  }
  .quick{
    margin-top:0;
  }
  .hero .models-top{
    padding-top:1px;
  }
  .hero .compact-title-row{
    margin:0 0 5px;
  }
  .hero .image-model-scroll{
    padding-top:0;
    padding-bottom:0;
  }
  .panel{
    margin:12px 12px 0;
    padding-top:13px;
    padding-bottom:13px;
  }
  .timer{
    margin-bottom:9px;
  }
  .product{
    margin-bottom:7px;
  }
  .input{
    margin-bottom:7px;
  }
  .btn{
    margin-top:7px;
  }
  .query-link{
    margin-top:7px;
  }
}

@media(max-width:380px){
  .hero{
    padding-top:5px;
    padding-bottom:14px;
  }
  .hero-body{
    margin-top:-5px;
  }
  .art{
    transform:translateY(-7px);
  }
  .quick{
    margin-top:0;
  }
  .hero .models-top{
    padding-top:1px;
  }
  .panel{
    margin:10px 10px 0;
    padding-top:12px;
    padding-bottom:12px;
  }
}


/* V26: approved spacing refinement + hide bottom load buttons while typing phone */
.quick{
  margin-top:-8px;
}
.hero .models-top{
  margin-top:-6px;
  padding-top:0;
}
.hero .compact-title-row{
  margin:0 0 5px;
}
.loads{
  transition:opacity .18s ease,transform .18s ease;
}
.loads.keyboard-hidden{
  opacity:0;
  pointer-events:none;
  transform:translate(-50%,calc(100% + 22px));
}

@media(max-width:520px){
  .quick{
    margin-top:-10px;
  }
  .hero .models-top{
    margin-top:-7px;
    padding-top:0;
  }
  .hero .compact-title-row{
    margin:0 0 4px;
  }
}

@media(max-width:380px){
  .quick{
    margin-top:-9px;
  }
  .hero .models-top{
    margin-top:-6px;
  }
}


/* V28: transparent image title + shorten dark section slightly */
.models-title-image{
  display:block;
  width:100%;
  max-width:760px;
  height:58px;
  object-fit:contain;
  object-position:left center;
  margin:0 auto;
}
.hero .compact-title-row{
  display:block;
  margin:0 0 3px;
}
.hero{
  padding-bottom:8px;
}
.hero .models-top{
  margin-top:-10px;
}
.hero .image-model-scroll{
  padding-bottom:0;
}
.panel{
  margin:10px 16px 0;
}

@media(max-width:520px){
  .models-title-image{
    height:54px;
  }
  .hero{
    padding-bottom:6px;
  }
  .hero .models-top{
    margin-top:-11px;
  }
  .hero .compact-title-row{
    margin:0 0 2px;
  }
  .panel{
    margin:9px 12px 0;
  }
}

@media(max-width:380px){
  .models-title-image{
    height:50px;
  }
  .hero{
    padding-bottom:5px;
  }
  .hero .models-top{
    margin-top:-10px;
  }
  .panel{
    margin:8px 10px 0;
  }
}


/* V29: APP/Web copy popup */
.link-modal-mask{
  display:none;
  position:fixed;
  inset:0;
  z-index:70;
  align-items:center;
  justify-content:center;
  padding:20px;
  background:rgba(0,0,0,.56);
  backdrop-filter:blur(2px);
}
.link-card{
  position:relative;
  width:min(350px,100%);
  margin-top:36px;
  padding:76px 20px 24px;
  border-radius:30px;
  background:
    linear-gradient(180deg,rgba(244,218,148,.34) 0,rgba(255,255,255,0) 30%),
    #fffdf8;
  border:1px solid rgba(238,213,154,.62);
  box-shadow:0 30px 80px rgba(0,0,0,.34);
  text-align:center;
}
.link-card-visual{
  position:absolute;
  left:50%;
  top:-55px;
  width:140px;
  height:112px;
  transform:translateX(-50%);
  pointer-events:none;
}
.link-orbit{
  position:absolute;
  left:10px;
  right:10px;
  top:22px;
  height:66px;
  border:6px solid rgba(238,213,154,.55);
  border-top-color:rgba(244,221,160,.95);
  border-radius:50%;
  transform:rotate(-18deg);
  filter:drop-shadow(0 0 14px rgba(238,213,154,.45));
}
.link-mini-window{
  position:absolute;
  left:22px;
  top:12px;
  width:96px;
  height:76px;
  border-radius:18px;
  transform:rotate(8deg);
  background:linear-gradient(135deg,#f5d781 0,#bfff72 45%,#50e35c 100%);
  border:1px solid rgba(255,255,255,.8);
  box-shadow:0 16px 34px rgba(110,190,70,.32), inset 0 0 0 1px rgba(255,255,255,.32);
}
.link-mini-window:before{
  content:"";
  position:absolute;
  left:12px;
  top:13px;
  width:56px;
  height:7px;
  border-radius:999px;
  background:rgba(255,255,255,.92);
  box-shadow:0 17px 0 rgba(255,255,255,.86),0 33px 0 rgba(255,255,255,.78);
}
.link-mini-window:after{
  content:"";
  position:absolute;
  right:11px;
  top:13px;
  width:22px;
  height:22px;
  border-radius:7px;
  background:rgba(255,255,255,.72);
}
.link-mini-window span{
  position:absolute;
  right:10px;
  top:5px;
  width:5px;
  height:5px;
  border-radius:50%;
  background:#fff;
  box-shadow:-9px 0 0 rgba(255,255,255,.85),-18px 0 0 rgba(255,255,255,.65);
}
.link-card h3{
  margin:2px 0 22px;
  font-size:25px;
  line-height:1;
  font-weight:1000;
  color:#15110c;
}
.link-url-box{
  height:56px;
  display:flex;
  align-items:center;
  gap:10px;
  padding:0 13px;
  border:1px solid rgba(18,16,11,.18);
  border-radius:14px;
  background:#fff;
  box-shadow:inset 0 0 0 1px rgba(18,16,11,.03);
}
.link-url-box input{
  flex:1;
  width:0;
  border:0;
  outline:0;
  background:transparent;
  color:#15110c;
  font-size:16px;
  font-weight:700;
}
.link-url-icon{
  width:22px;
  height:22px;
  position:relative;
  display:inline-block;
  flex:0 0 auto;
  border:3px solid #15110c;
  border-radius:50%;
}
.link-url-icon:after{
  content:"";
  position:absolute;
  width:10px;
  height:3px;
  right:-7px;
  bottom:-4px;
  border-radius:999px;
  background:#15110c;
  transform:rotate(45deg);
}
.link-copy-btn{
  width:78%;
  height:52px;
  border:0;
  border-radius:999px;
  margin-top:22px;
  background:linear-gradient(135deg,#25190d,#5b3b17 60%,#d8b66c);
  color:#f9e4a6;
  font-size:17px;
  font-weight:1000;
  letter-spacing:.4px;
  box-shadow:0 14px 32px rgba(71,45,17,.22);
  cursor:pointer;
}
.link-card p{
  margin:17px 0 0;
  color:#7b7368;
  font-size:13px;
  line-height:1.5;
}
.link-modal-close{
  position:absolute;
  left:50%;
  bottom:-54px;
  transform:translateX(-50%);
  width:44px;
  height:44px;
  border:0;
  border-radius:50%;
  background:rgba(255,255,255,.88);
  color:#4d4d4d;
  font-size:32px;
  line-height:38px;
  cursor:pointer;
  box-shadow:0 10px 26px rgba(0,0,0,.18);
}
@media(max-width:380px){
  .link-card{padding-left:16px;padding-right:16px}
  .link-card h3{font-size:23px}
  .link-copy-btn{width:84%}
}





/* V32: detail images are outside the purchase card, Taobao-style */
.container{
  padding-bottom:108px;
}
.detail-images-section{
  margin:14px 16px 0;
  padding:0;
  background:var(--card);
  border:0;
  border-radius:0;
  box-shadow:none;
  overflow:hidden;
}
.detail-images-section img{
  display:block;
  width:100%;
  height:auto;
  margin:0;
  padding:0;
  border:0;
  object-fit:contain;
}
@media(max-width:520px){
  .container{padding-bottom:106px}
  .detail-images-section{margin:12px 12px 0}
}
@media(max-width:380px){
  .container{padding-bottom:104px}
  .detail-images-section{margin:10px 10px 0}
}


/* V34: keep the purchase card area on a seamless dark background */
:root{
  --page-dark-bg:
    radial-gradient(circle at 90% 20%,rgba(238,213,154,.18),transparent 28%),
    linear-gradient(135deg,#15110c,#251b11 60%,#0d0b08);
}
.container{
  background:var(--card);
}
.hero{
  background:var(--page-dark-bg);
}
.purchase-dark-section{
  margin-top:-1px;
  padding:1px 0 22px;
  background:var(--page-dark-bg);
}
.purchase-dark-section .panel{
  margin-top:8px;
}
.detail-images-section{
  background:var(--card);
}
@media(max-width:520px){
  .purchase-dark-section{
    padding-bottom:20px;
  }
  .purchase-dark-section .panel{
    margin-top:8px;
  }
}
@media(max-width:380px){
  .purchase-dark-section{
    padding-bottom:18px;
  }
  .purchase-dark-section .panel{
    margin-top:7px;
  }
}


/* V35: extend the existing top dark background downward without changing hero itself */
/* The hero block keeps its original CSS and remains visually untouched. */
.dark-stage{
  background:radial-gradient(circle at 90% 20%,rgba(238,213,154,.18),transparent 28%),
             linear-gradient(135deg,#15110c,#251b11 60%,#0d0b08);
}
.purchase-dark-section{
  margin-top:-1px;
  padding:1px 0 24px;
  background:transparent;
}
.purchase-dark-section .panel{
  margin-top:8px;
}
.container{
  background:var(--card);
}
.detail-images-section{
  background:var(--card);
}
@media(max-width:520px){
  .purchase-dark-section{
    padding-bottom:22px;
  }
  .purchase-dark-section .panel{
    margin-top:8px;
  }
}
@media(max-width:380px){
  .purchase-dark-section{
    padding-bottom:20px;
  }
  .purchase-dark-section .panel{
    margin-top:7px;
  }
}


/* V37: VIP service popup uses the same premium style as APP/Web popup */
.service-link-mask{
  display:none;
  position:fixed;
  inset:0;
  z-index:72;
  align-items:center;
  justify-content:center;
  padding:20px;
  background:rgba(0,0,0,.56);
  backdrop-filter:blur(2px);
}
.service-link-card .service-open-btn{
  margin-top:22px;
}
.service-url-box input{
  font-size:15px;
}


/* V38: WeChat browser-open guide after copying service link */
.wechat-guide-mask{
  display:none;
  position:fixed;
  inset:0;
  z-index:96;
  background:rgba(0,0,0,.62);
  backdrop-filter:blur(2px);
}
.wechat-guide-arrow{
  position:absolute;
  right:44px;
  top:26px;
  width:86px;
  height:112px;
  transform:rotate(8deg);
  filter:drop-shadow(0 10px 16px rgba(0,0,0,.22));
}
.wechat-guide-arrow:before{
  content:"";
  position:absolute;
  right:18px;
  top:0;
  width:30px;
  height:82px;
  border-radius:999px;
  background:linear-gradient(180deg,#fff,#f4dda0);
  transform:rotate(35deg);
}
.wechat-guide-arrow:after{
  content:"";
  position:absolute;
  right:2px;
  top:-4px;
  width:0;
  height:0;
  border-left:24px solid transparent;
  border-right:24px solid transparent;
  border-bottom:38px solid #fff;
  transform:rotate(35deg);
}
.wechat-guide-card{
  position:absolute;
  top:142px;
  left:50%;
  transform:translateX(-50%);
  width:min(360px,calc(100vw - 40px));
  border-radius:26px;
  padding:26px 22px 22px;
  background:
    radial-gradient(circle at 84% 10%,rgba(238,213,154,.34),transparent 28%),
    linear-gradient(135deg,#fffdf8,#f6efe1);
  border:1px solid rgba(238,213,154,.58);
  box-shadow:0 28px 80px rgba(0,0,0,.34);
  text-align:left;
  color:#15110c;
}
.wechat-guide-close{
  position:absolute;
  right:14px;
  top:12px;
  width:34px;
  height:34px;
  border:0;
  border-radius:50%;
  background:rgba(17,16,12,.06);
  color:#17130e;
  font-size:26px;
  line-height:30px;
  cursor:pointer;
}
.wechat-guide-bot{
  position:absolute;
  right:32px;
  top:-54px;
  width:70px;
  height:58px;
  border-radius:22px 22px 26px 26px;
  background:linear-gradient(135deg,#f4dda0,#55e6d7);
  box-shadow:0 16px 28px rgba(85,230,215,.22),inset 0 0 0 2px rgba(255,255,255,.58);
}
.wechat-guide-bot:before{
  content:"";
  position:absolute;
  left:14px;
  top:16px;
  width:42px;
  height:24px;
  border-radius:999px;
  background:#101820;
}
.wechat-guide-bot:after{
  content:"";
  position:absolute;
  left:22px;
  top:23px;
  width:7px;
  height:7px;
  border-radius:50%;
  background:#56f1d8;
  box-shadow:18px 0 0 #56f1d8;
}
.wechat-guide-bot span:before,
.wechat-guide-bot span:after{
  content:"";
  position:absolute;
  bottom:-8px;
  width:16px;
  height:16px;
  border-radius:50%;
  background:#fff;
}
.wechat-guide-bot span:before{left:7px}
.wechat-guide-bot span:after{right:7px}
.wechat-guide-card h3{
  margin:0 0 8px;
  font-size:26px;
  font-weight:1000;
  letter-spacing:.2px;
}
.wechat-guide-card p{
  margin:0 0 18px;
  color:#6b6256;
  font-size:14px;
  line-height:1.55;
}
.wechat-guide-steps{
  display:grid;
  gap:12px;
}
.wechat-guide-steps div{
  display:flex;
  align-items:center;
  gap:12px;
  min-height:54px;
  padding:12px;
  border-radius:18px;
  background:rgba(255,255,255,.74);
  border:1px solid rgba(201,164,97,.18);
}
.wechat-guide-steps b{
  width:30px;
  height:30px;
  border-radius:50%;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:linear-gradient(135deg,#21170c,#c9a461);
  color:#f4dda0;
  font-size:15px;
  flex:0 0 auto;
}
.wechat-guide-steps span{
  font-size:16px;
  font-weight:900;
}
.wechat-guide-steps em{
  font-style:normal;
  color:#8a5d18;
}
@media(max-width:380px){
  .wechat-guide-card{
    top:128px;
    width:calc(100vw - 28px);
    padding:24px 18px 20px;
  }
  .wechat-guide-arrow{
    right:28px;
    top:18px;
  }
}

/* V39: service action preservation for WeChat open-in-browser flow; visual style unchanged */


/* V40: premium activity rule modal */
.rule-modal-mask{
  z-index:74;
  background:rgba(0,0,0,.58);
  backdrop-filter:blur(2px);
}
.rule-card{
  position:relative;
  width:min(390px,100%);
  max-height:84vh;
  overflow:auto;
  border-radius:30px;
  padding:0 18px 20px;
  background:
    linear-gradient(180deg,rgba(244,218,148,.28) 0,rgba(255,255,255,0) 33%),
    #fffdf8;
  border:1px solid rgba(238,213,154,.62);
  box-shadow:0 30px 90px rgba(0,0,0,.36);
}
.rule-card-head{
  position:relative;
  margin:0 -18px 16px;
  padding:28px 22px 24px;
  border-radius:30px 30px 22px 22px;
  background:
    radial-gradient(circle at 88% 8%,rgba(238,213,154,.28),transparent 34%),
    linear-gradient(135deg,#17130e,#2b1f12 70%,#0d0b08);
  color:#fff;
  overflow:hidden;
}
.rule-card-head:after{
  content:"";
  position:absolute;
  right:-28px;
  top:-48px;
  width:150px;
  height:150px;
  border-radius:50%;
  border:1px solid rgba(238,213,154,.16);
}
.rule-card-head span{
  display:inline-flex;
  align-items:center;
  height:24px;
  padding:0 10px;
  border-radius:999px;
  background:rgba(238,213,154,.12);
  border:1px solid rgba(238,213,154,.24);
  color:#f3dc9d;
  font-size:10px;
  font-weight:1000;
  letter-spacing:1.4px;
}
.rule-card-head h3{
  position:relative;
  margin:12px 0 8px;
  font-size:29px;
  line-height:1;
  font-weight:1000;
  letter-spacing:.2px;
}
.rule-card-head p{
  position:relative;
  margin:0;
  color:rgba(255,255,255,.72);
  font-size:13px;
  line-height:1.55;
}
.rule-close{
  position:absolute;
  right:16px;
  top:16px;
  z-index:2;
  width:38px;
  height:38px;
  border:0;
  border-radius:50%;
  background:rgba(255,255,255,.12);
  color:#f6e6b8;
  font-size:28px;
  line-height:34px;
  cursor:pointer;
}
.rule-list{
  display:grid;
  gap:10px;
}
.rule-item{
  display:grid;
  grid-template-columns:42px 1fr;
  gap:12px;
  align-items:flex-start;
  padding:14px 13px;
  border-radius:18px;
  background:rgba(255,255,255,.72);
  border:1px solid rgba(201,164,97,.16);
  box-shadow:0 10px 22px rgba(32,24,13,.035);
}
.rule-item b{
  width:38px;
  height:38px;
  border-radius:14px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:linear-gradient(135deg,#21170c,#c9a461);
  color:#f5dda0;
  font-size:14px;
  font-weight:1000;
  font-variant-numeric:tabular-nums;
  box-shadow:0 10px 18px rgba(43,31,18,.16);
}
.rule-item p{
  margin:0;
  color:#2f3744;
  font-size:15px;
  line-height:1.65;
  font-weight:650;
}
.rule-confirm{
  width:100%;
  height:50px;
  margin-top:16px;
  border:0;
  border-radius:999px;
  background:linear-gradient(135deg,#25190d,#5b3b17 58%,#d8b66c);
  color:#f9e4a6;
  font-size:16px;
  font-weight:1000;
  box-shadow:0 14px 32px rgba(71,45,17,.20);
  cursor:pointer;
}
@media(max-width:380px){
  .rule-card{
    border-radius:26px;
    padding-left:14px;
    padding-right:14px;
  }
  .rule-card-head{
    margin-left:-14px;
    margin-right:-14px;
    padding:26px 18px 22px;
  }
  .rule-card-head h3{
    font-size:27px;
  }
  .rule-item{
    grid-template-columns:38px 1fr;
    padding:12px 11px;
  }
  .rule-item p{
    font-size:14px;
  }
}


/* V41: paid card, order query and tutorial display */
.query-orders-list{
  display:grid;
  gap:12px;
  margin-top:14px;
}
.query-order-card{
  border:1px solid #e8ebf1;
  background:#f9fafc;
  border-radius:18px;
  padding:14px;
  text-align:left;
}
.query-order-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin-bottom:10px;
}
.query-order-head b{
  font-size:17px;
  color:#111827;
}
.query-order-head span{
  font-size:12px;
  padding:5px 9px;
  border-radius:999px;
  font-weight:1000;
  white-space:nowrap;
}
.query-order-head span.ok{background:#dcfce7;color:#166534}
.query-order-head span.warn{background:#fef3c7;color:#92400e}
.query-order-meta{
  display:grid;
  gap:7px;
  color:#1f2937;
}
.query-order-meta div{
  display:grid;
  grid-template-columns:58px 1fr;
  gap:8px;
  align-items:start;
}
.query-order-meta em{
  font-style:normal;
  color:#7b7368;
  font-size:13px;
}
.query-order-meta p{
  margin:0;
  font-size:13px;
  word-break:break-all;
}
.query-secret-block,.query-tutorial-block{
  margin-top:12px;
  padding-top:12px;
  border-top:1px solid #edf0f6;
}
.query-secret-title,.tutorial-title,.secret-title{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin-bottom:8px;
}
.query-secret-title span,.tutorial-title span,.secret-title span{
  font-size:14px;
  color:#111827;
  font-weight:1000;
}
.query-secret-title button,.tutorial-title button,.secret-title button{
  border:0;
  border-radius:999px;
  background:#111827;
  color:#f8d782;
  padding:7px 10px;
  font-size:12px;
  font-weight:1000;
}
.query-secret-text,.card-secret-text{
  background:#111827;
  color:#f8d782;
  border-radius:14px;
  padding:13px;
  font-size:14px;
  line-height:1.45;
  font-weight:1000;
  letter-spacing:.2px;
  word-break:break-all;
  overflow-wrap:anywhere;
  font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono",monospace;
}
.query-secret-empty,.secret-empty{
  background:#fff;
  border:1px dashed #e5e7eb;
  color:#6b7280;
  border-radius:14px;
  padding:12px;
  font-size:13px;
  line-height:1.6;
}
.query-tutorial-block a,.tutorial-url{
  display:block;
  color:#8a5d18;
  background:#fff8e8;
  border:1px solid rgba(201,164,97,.20);
  border-radius:14px;
  padding:11px 12px;
  font-size:13px;
  line-height:1.45;
  word-break:break-all;
  overflow-wrap:anywhere;
  text-decoration:none;
}

/* payment return page */
.pay-result-body{
  background:
    radial-gradient(circle at 86% -10%,rgba(238,213,154,.18),transparent 28%),
    linear-gradient(135deg,#15110c,#251b11 60%,#0d0b08);
  min-height:100vh;
}
.pay-result-shell{
  max-width:760px;
  min-height:100vh;
  margin:0 auto;
  padding:28px 16px 92px;
  display:flex;
  align-items:center;
  justify-content:center;
}
.pay-result-card{
  width:100%;
  background:#fffdf8;
  border:1px solid rgba(238,213,154,.50);
  border-radius:30px;
  padding:0 18px 20px;
  box-shadow:0 28px 90px rgba(0,0,0,.32);
  overflow:hidden;
}
.pay-result-head{
  margin:0 -18px 18px;
  padding:28px 22px 25px;
  color:#fff;
  background:
    radial-gradient(circle at 92% 0,rgba(238,213,154,.28),transparent 34%),
    linear-gradient(135deg,#17130e,#2b1f12 70%,#0d0b08);
}
.pay-result-head span{
  display:inline-flex;
  height:24px;
  padding:0 10px;
  align-items:center;
  border-radius:999px;
  background:rgba(238,213,154,.12);
  border:1px solid rgba(238,213,154,.24);
  color:#f3dc9d;
  font-size:11px;
  font-weight:1000;
}
.pay-result-head h1{
  margin:12px 0 8px;
  font-size:30px;
  line-height:1;
}
.pay-result-head p{
  margin:0;
  color:rgba(255,255,255,.72);
  font-size:13px;
  line-height:1.6;
}
.order-detail-list{
  display:grid;
  gap:9px;
  padding:14px;
  border-radius:18px;
  background:#f8fafc;
  border:1px solid #e8ebf1;
}
.order-detail-list div{
  display:grid;
  grid-template-columns:62px 1fr;
  gap:10px;
}
.order-detail-list span{
  color:#7b7368;
  font-size:13px;
}
.order-detail-list b{
  color:#111827;
  font-size:13px;
  word-break:break-all;
}
.secret-section,.tutorial-section{
  margin-top:14px;
  padding:14px;
  border:1px solid #e8ebf1;
  border-radius:18px;
  background:#f9fafc;
}
.pay-home-btn{
  display:flex;
  align-items:center;
  justify-content:center;
  height:52px;
  border-radius:999px;
  margin-top:16px;
  background:linear-gradient(135deg,#25190d,#5b3b17 58%,#d8b66c);
  color:#f9e4a6;
  font-weight:1000;
  text-decoration:none;
}
@media(max-width:380px){
  .query-secret-text,.card-secret-text{font-size:13px}
  .pay-result-shell{padding-left:12px;padding-right:12px}
  .pay-result-card{border-radius:26px}
}

/* V42: usage tutorial is shown only for paid orders */


/* V43: premium payment selection modal */
.payment-modal-mask{
  display:none;
  position:fixed;
  inset:0;
  z-index:76;
  align-items:flex-end;
  justify-content:center;
  background:rgba(0,0,0,.58);
  backdrop-filter:blur(2px);
}
.payment-card{
  position:relative;
  width:min(760px,100%);
  border-radius:30px 30px 0 0;
  padding:0 18px 22px;
  background:
    radial-gradient(circle at 88% 8%,rgba(238,213,154,.20),transparent 30%),
    linear-gradient(180deg,#fff7e8,#fffdf8);
  border:1px solid rgba(238,213,154,.55);
  box-shadow:0 -22px 80px rgba(0,0,0,.32);
}
.payment-close{
  position:absolute;
  right:16px;
  top:14px;
  z-index:2;
  width:42px;
  height:42px;
  border:0;
  border-radius:50%;
  background:rgba(17,16,12,.06);
  color:#17130e;
  font-size:32px;
  line-height:36px;
  cursor:pointer;
}
.payment-card-head{
  text-align:center;
  padding:30px 48px 18px;
}
.payment-card-head span{
  display:inline-flex;
  align-items:center;
  height:25px;
  padding:0 12px;
  border-radius:999px;
  background:rgba(201,164,97,.14);
  color:#8a5d18;
  font-size:12px;
  font-weight:1000;
}
.payment-card-head h3{
  margin:12px 0 8px;
  font-size:31px;
  line-height:1;
  font-weight:1000;
  color:#5a260b;
}
.payment-card-head p{
  margin:0;
  color:#9a5a24;
  font-size:14px;
  font-weight:800;
}
.payment-methods{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
}
.payment-method{
  position:relative;
  min-height:132px;
  padding:14px 10px;
  border-radius:20px;
  border:1px solid rgba(201,164,97,.20);
  background:rgba(255,255,255,.72);
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:8px;
  cursor:pointer;
}
.payment-method.active{
  border-color:#c9a461;
  background:linear-gradient(180deg,#fff,#fff8e8);
  box-shadow:0 16px 34px rgba(201,164,97,.15);
}
.payment-method-logo{
  width:54px;
  height:54px;
  border-radius:16px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:#fff;
  overflow:hidden;
  box-shadow:0 8px 20px rgba(0,0,0,.08);
}
.payment-method-logo img{width:100%;height:100%;object-fit:cover;display:block}
.payment-method-logo span{
  width:100%;
  height:100%;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:25px;
  font-weight:1000;
  color:#fff;
  background:linear-gradient(135deg,#111827,#c9a461);
}
.payment-method b{
  display:block;
  color:#17130e;
  font-size:16px;
}
.payment-method em{
  display:block;
  margin-top:3px;
  font-style:normal;
  color:#8a8175;
  font-size:12px;
}
.payment-method i{
  position:absolute;
  right:0;
  top:0;
  padding:5px 9px;
  border-radius:0 18px 0 12px;
  background:#e11d19;
  color:#fff;
  font-size:12px;
  font-style:normal;
  font-weight:1000;
}
.payment-safe{
  margin:14px 0 12px;
  text-align:center;
  color:#7b7368;
  font-size:13px;
}
.payment-submit{
  width:100%;
  height:54px;
  border:0;
  border-radius:999px;
  background:linear-gradient(135deg,#25190d,#5b3b17 58%,#d8b66c);
  color:#f9e4a6;
  font-size:18px;
  font-weight:1000;
  box-shadow:0 16px 36px rgba(71,45,17,.22);
}
.payment-empty{
  grid-column:1/-1;
  border-radius:18px;
  padding:18px;
  text-align:center;
  color:#7b7368;
  background:#fff;
}
.alipay-qr-box{
  text-align:center;
  padding:18px;
  border-radius:20px;
  background:#f8fafc;
  border:1px solid #e8ebf1;
}
.alipay-qr-box img{
  width:260px;
  max-width:100%;
  height:auto;
  border-radius:18px;
  background:#fff;
  padding:10px;
}
.alipay-qr-box p{
  margin:10px 0 0;
  color:#374151;
  font-weight:900;
}
.light-pay-home{
  background:#fff!important;
  color:#111827!important;
  border:1px solid #e8ebf1;
}
@media(max-width:380px){
  .payment-card-head h3{font-size:27px}
  .payment-method{min-height:122px}
}

/* V44: Alipay signature fix; visual unchanged */

/* V45: Alipay OpenAPI sign_type is included in RSA2 signature content */

/* V46: query order and Alipay F2F sync fix */


/* V47: compact delivery bundle: card + website + tutorial in one container */
.delivery-card{
  margin-top:14px;
  padding:14px;
  border:1px solid #e8ebf1;
  border-radius:18px;
  background:#f9fafc;
}
.delivery-block + .delivery-block{
  margin-top:13px;
  padding-top:13px;
  border-top:1px solid #edf0f6;
}
.delivery-block .tutorial-url{
  margin-top:0;
}

.query-delivery-card{
  margin-top:12px;
  padding:12px;
  border-radius:16px;
  background:#fff;
  border:1px solid #edf0f6;
}
.query-delivery-section + .query-delivery-section{
  margin-top:12px;
  padding-top:12px;
  border-top:1px solid #edf0f6;
}
.query-link-url{
  display:block;
  color:#8a5d18;
  background:#fff8e8;
  border:1px solid rgba(201,164,97,.20);
  border-radius:14px;
  padding:11px 12px;
  font-size:13px;
  line-height:1.45;
  word-break:break-all;
  overflow-wrap:anywhere;
  text-decoration:none;
}
.query-order-card .query-secret-block,
.query-order-card .query-tutorial-block{
  margin-top:0;
  padding-top:0;
  border-top:0;
}
@media(max-width:380px){
  .delivery-card{padding:12px}
  .query-delivery-card{padding:10px}
}


/* V48: faster query and copy-browser URL */
.website-url-text{
  cursor:text;
}
.query-link-url.website-url-text,
.tutorial-url.website-url-text{
  color:#8a5d18;
  text-decoration:none;
}
.url-copy-tip{
  margin-top:7px;
  color:#8a8175;
  font-size:12px;
  line-height:1.45;
}

/* V49: site access tip text is configurable in admin */


/* V50: extend dark stage below purchase card so no white strip appears behind bottom buttons */
html,body{
  background:#15110c;
}
.container{
  background:#15110c;
}

/* Keep top hero untouched. Only extend the lower purchase area's dark canvas. */
.purchase-dark-section{
  padding-bottom:132px !important;
  background:transparent;
}

/* Detail images remain a separate content area, but start lower so the first-screen bottom stays dark. */
.detail-images-section{
  margin-top:0;
  background:var(--card);
}

@media(max-width:520px){
  .purchase-dark-section{
    padding-bottom:128px !important;
  }
}
@media(max-width:380px){
  .purchase-dark-section{
    padding-bottom:122px !important;
  }
}


/* V51: restore bottom detail image area to white and remove excessive dark gap */
.container{
  background:#fffdf8 !important;
}

/* Keep hero itself untouched; only control the lower purchase stage spacing. */
.dark-stage{
  background:radial-gradient(circle at 90% 20%,rgba(238,213,154,.18),transparent 28%),
             linear-gradient(135deg,#15110c,#251b11 60%,#0d0b08);
}

/* Do not push the detail image area far away. The dark canvas only wraps the purchase card naturally. */
.purchase-dark-section{
  padding-bottom:18px !important;
  background:transparent !important;
}

/* Detail long-image area is a separate white product-detail section. */
.detail-images-section{
  margin:0 !important;
  padding:10px 0 112px !important;
  background:#fffdf8 !important;
  border:0 !important;
  border-radius:0 !important;
  box-shadow:none !important;
  overflow:hidden;
}
.detail-images-section img{
  display:block;
  width:100%;
  height:auto;
  margin:0;
  padding:0;
  border:0;
  object-fit:contain;
}

/* Keep fixed bottom buttons above the detail image without changing their current look. */
.loads{
  z-index:80;
}
.float-service{
  z-index:81;
}

@media(max-width:520px){
  .purchase-dark-section{
    padding-bottom:16px !important;
  }
  .detail-images-section{
    padding-top:8px !important;
    padding-bottom:108px !important;
  }
}
@media(max-width:380px){
  .purchase-dark-section{
    padding-bottom:14px !important;
  }
  .detail-images-section{
    padding-top:6px !important;
    padding-bottom:104px !important;
  }
}


/* V52: configurable logo slot replacing the yellow dot */
.brand.has-logo:before{
  display:none;
}
.brand-logo{
  width:18px;
  height:18px;
  border-radius:50%;
  object-fit:cover;
  display:block;
  flex:0 0 auto;
  background:rgba(238,213,154,.12);
  box-shadow:0 0 18px rgba(238,213,154,.32);
}
.brand span{
  display:inline-block;
}
.brand-logo-admin-preview{
  margin-top:9px;
  display:flex;
  align-items:center;
  gap:8px;
  color:#64748b;
  font-size:13px;
}
.brand-logo-admin-preview img{
  width:34px;
  height:34px;
  border-radius:50%;
  object-fit:cover;
  border:1px solid #e5e7eb;
  background:#fff;
}


/* V53: tiny shrink only the fixed APP/Web buttons */
.loads{
  width:min(696px,calc(100% - 34px)) !important;
  gap:8px !important;
  bottom:9px !important;
}
.load-btn{
  height:46px !important;
  border-radius:15px !important;
  font-size:15px;
}
@media(max-width:520px){
  .loads{
    width:calc(100% - 34px) !important;
    gap:8px !important;
    bottom:9px !important;
  }
  .load-btn{
    height:46px !important;
    border-radius:15px !important;
    font-size:15px;
  }
}
@media(max-width:380px){
  .loads{
    width:calc(100% - 32px) !important;
    gap:8px !important;
  }
  .load-btn{
    height:45px !important;
    font-size:14.5px;
  }
}


/* V54: remove mobile blue tap highlight and replace it with a subtle premium press feedback */
html,body,*{
  -webkit-tap-highlight-color:rgba(0,0,0,0);
}
a,button,input,textarea,select,
.btn,.query-link,.rule-link,.float-service,.load-btn,
.link-copy-btn,.service-open-btn,.payment-submit,.payment-method,
.rule-confirm,.query-copy-btn,.secret-title button,.tutorial-title button{
  -webkit-tap-highlight-color:transparent;
  touch-action:manipulation;
}
button:focus,
a:focus,
.query-link:focus,
.rule-link:focus,
.float-service:focus,
.load-btn:focus{
  outline:none;
}

/* Press feedback: gold glow + tiny compression, no blue block */
.btn,.load-btn,.float-service,.payment-submit,.link-copy-btn,.service-open-btn,.rule-confirm,.query-copy-btn,
.secret-title button,.tutorial-title button{
  transition:transform .12s ease, filter .12s ease, box-shadow .12s ease, opacity .12s ease;
}
.query-link,.rule-link{
  transition:color .12s ease, text-shadow .12s ease, opacity .12s ease;
}

@media (hover:none){
  .btn:active,
  .load-btn:active,
  .payment-submit:active,
  .link-copy-btn:active,
  .service-open-btn:active,
  .rule-confirm:active,
  .query-copy-btn:active,
  .secret-title button:active,
  .tutorial-title button:active{
    transform:translateY(1px) scale(.992);
    filter:brightness(1.06);
    box-shadow:0 10px 24px rgba(201,164,97,.18);
  }
  .float-service:active{
    transform:scale(.97);
    filter:brightness(1.04);
  }
  .query-link:active,
  .rule-link:active{
    color:#8a5d18;
    text-shadow:0 0 14px rgba(238,213,154,.34);
    opacity:.92;
  }
  .payment-method:active{
    transform:scale(.988);
    filter:brightness(1.03);
  }
}


/* V55: premium tap feedback for all front-end buttons and clickable areas */
:root{
  --tap-gold-shadow:0 10px 24px rgba(201,164,97,.16), 0 2px 8px rgba(22,16,8,.08);
  --tap-gold-text:0 0 14px rgba(238,213,154,.28);
}

/* 1) Remove native mobile blue highlight / callout across all interactive front-end elements */
a,button,[role="button"],[onclick],
.btn,.query-link,.rule-link,.float-service,.load-btn,
.payment-method,.payment-submit,.payment-close,
.link-copy-btn,.link-modal-close,.service-open-btn,
.rule-close,.rule-confirm,.close,.wechat-guide-close,
.query-copy-btn,.pay-home-btn{
  -webkit-tap-highlight-color: transparent !important;
  tap-highlight-color: transparent !important;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  user-select: none;
  outline: none !important;
}

input,textarea,select{
  -webkit-tap-highlight-color: transparent !important;
}

a:focus,button:focus,[role="button"]:focus,[onclick]:focus,
.btn:focus,.query-link:focus,.rule-link:focus,.float-service:focus,.load-btn:focus,
.payment-method:focus,.payment-submit:focus,.payment-close:focus,
.link-copy-btn:focus,.link-modal-close:focus,.service-open-btn:focus,
.rule-close:focus,.rule-confirm:focus,.close:focus,.wechat-guide-close:focus,
.query-copy-btn:focus,.pay-home-btn:focus{
  outline:none !important;
  box-shadow:none !important;
}

/* 2) Unified premium interaction transition */
.btn,.query-link,.rule-link,.float-service,.load-btn,
.payment-method,.payment-submit,.payment-close,
.link-copy-btn,.link-modal-close,.service-open-btn,
.rule-close,.rule-confirm,.close,.wechat-guide-close,
.query-copy-btn,.pay-home-btn{
  transition: transform .14s ease, filter .14s ease, box-shadow .14s ease, opacity .14s ease, color .14s ease, text-shadow .14s ease, background-color .14s ease;
  backface-visibility: hidden;
  -webkit-font-smoothing: antialiased;
}

/* 3) All solid buttons use a tiny press + subtle golden shadow */
@media (hover:none){
  .btn:active,
  .load-btn:active,
  .float-service:active,
  .payment-submit:active,
  .payment-close:active,
  .link-copy-btn:active,
  .link-modal-close:active,
  .service-open-btn:active,
  .rule-close:active,
  .rule-confirm:active,
  .close:active,
  .wechat-guide-close:active,
  .query-copy-btn:active,
  .pay-home-btn:active{
    transform: translateY(1px) scale(.988);
    filter: brightness(1.05);
    box-shadow: var(--tap-gold-shadow);
  }

  /* Text / ghost buttons */
  .query-link:active,
  .rule-link:active{
    transform: translateY(1px);
    color:#8a5d18;
    text-shadow: var(--tap-gold-text);
    opacity:.94;
  }

  /* Selection cards / payment options */
  .payment-method:active{
    transform: scale(.988);
    filter: brightness(1.03);
    box-shadow: 0 12px 26px rgba(201,164,97,.10);
  }
}

/* 4) Prevent special clickable areas from showing strange native background flashes */
.query-link,
.rule-link,
.close,
.payment-close,
.link-modal-close,
.rule-close,
.wechat-guide-close{
  background-color: transparent;
}


/* V63: further reduce bottom whitespace under the last detail image while keeping the fixed buttons clear */
.detail-images-section{
  padding-bottom:52px !important;
}
@media(max-width:520px){
  .detail-images-section{
    padding-bottom:48px !important;
  }
}
@media(max-width:380px){
  .detail-images-section{
    padding-bottom:44px !important;
  }
}


/* V57: hide fixed APP/Web buttons while payment modal is open */


/* V59: hide VIP service while payment modal is open */
.float-service.modal-hidden{
  opacity:0 !important;
  visibility:hidden !important;
  pointer-events:none !important;
  transform:translateY(12px) scale(.96) !important;
}


/* V63.2 final: drastically compress the blank area under the final detail section without touching other UI */
.detail-images-section{
  padding-bottom:0 !important;
  margin-bottom:0 !important;
}
.container{
  padding-bottom:8px !important;
}
@media(max-width:520px){
  .detail-images-section{
    padding-bottom:0 !important;
    margin-bottom:0 !important;
  }
  .container{
    padding-bottom:6px !important;
  }
}
@media(max-width:380px){
  .detail-images-section{
    padding-bottom:0 !important;
    margin-bottom:0 !important;
  }
  .container{
    padding-bottom:4px !important;
  }
}


/* V69: VIP客服默认贴近“仅限前20名”区域，并且只能贴右侧上下拖动 */
.float-service{
  right:9px !important;
  left:auto !important;
  bottom:auto !important;
  top:42vh;
  z-index:120 !important;
  cursor:grab;
  touch-action:none !important;
  will-change:top;
}
.float-service.dragging{
  cursor:grabbing;
  transition:none !important;
}
@media(max-width:520px){
  .float-service{
    right:8px !important;
  }
}
@media(max-width:380px){
  .float-service{
    right:7px !important;
  }
}


/* V70: VIP客服悬浮窗跟手速度与视觉质感优化 */
.float-service{
  right:8px !important;
  left:auto !important;
  bottom:auto !important;
  min-width:92px;
  height:42px;
  padding:0 15px 0 13px !important;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  border-radius:999px !important;
  color:#ffe39a !important;
  font-size:14px !important;
  font-weight:1000 !important;
  letter-spacing:.2px;
  background:
    radial-gradient(circle at 24% 20%,rgba(255,228,158,.34),transparent 28%),
    linear-gradient(135deg,#2b1d0e 0%,#14100b 56%,#3a270f 100%) !important;
  border:1px solid rgba(245,205,119,.58) !important;
  box-shadow:
    0 10px 26px rgba(18,12,4,.20),
    0 0 0 1px rgba(255,255,255,.06) inset,
    0 0 22px rgba(245,205,119,.16) !important;
  cursor:grab;
  touch-action:none !important;
  user-select:none;
  -webkit-user-select:none;
  will-change:top,transform;
  transform:translateZ(0);
  transition:filter .12s ease, box-shadow .12s ease, opacity .12s ease !important;
}
.float-service::before{
  content:"♛";
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:20px;
  height:20px;
  border-radius:50%;
  color:#1b1308;
  background:linear-gradient(135deg,#ffe9a8,#d6a94f);
  font-size:12px;
  line-height:1;
  box-shadow:0 3px 10px rgba(245,205,119,.25);
}
.float-service.dragging{
  cursor:grabbing;
  filter:brightness(1.08);
  box-shadow:
    0 16px 34px rgba(18,12,4,.28),
    0 0 0 1px rgba(255,255,255,.08) inset,
    0 0 28px rgba(245,205,119,.24) !important;
  transition:none !important;
}
.float-service:active{
  transform:translateZ(0) scale(.98) !important;
}
@media(max-width:520px){
  .float-service{
    right:8px !important;
    height:40px;
    min-width:88px;
    padding:0 13px 0 12px !important;
    font-size:13px !important;
  }
  .float-service::before{
    width:19px;
    height:19px;
    font-size:11px;
  }
}
@media(max-width:380px){
  .float-service{
    right:7px !important;
    height:39px;
    min-width:86px;
    font-size:12.5px !important;
  }
}


/* V71: VIP客服悬浮窗样式强制覆盖 + 点击修复 */
#floatServiceBtn.float-service{
  position:fixed !important;
  right:8px !important;
  left:auto !important;
  bottom:auto !important;
  top:38vh;
  z-index:160 !important;
  width:auto !important;
  min-width:98px !important;
  height:42px !important;
  box-sizing:border-box !important;
  padding:0 15px 0 12px !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:7px !important;
  border-radius:999px !important;
  border:1px solid rgba(255,216,132,.72) !important;
  background:
    radial-gradient(circle at 26% 18%,rgba(255,236,184,.42),transparent 28%),
    linear-gradient(135deg,#3c270f 0%,#15100a 48%,#2b1b0b 100%) !important;
  color:#ffe8a8 !important;
  font-size:14px !important;
  font-weight:1000 !important;
  line-height:1 !important;
  letter-spacing:.2px !important;
  font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",Arial,sans-serif !important;
  box-shadow:
    0 12px 28px rgba(20,13,4,.28),
    0 0 0 1px rgba(255,255,255,.06) inset,
    0 0 22px rgba(255,216,132,.20) !important;
  cursor:grab !important;
  touch-action:none !important;
  user-select:none !important;
  -webkit-user-select:none !important;
  -webkit-appearance:none !important;
  appearance:none !important;
  outline:none !important;
  will-change:top,transform !important;
  transform:translateZ(0) !important;
  transition:filter .12s ease, box-shadow .12s ease, opacity .12s ease !important;
}
#floatServiceBtn.float-service::before{
  content:"♛" !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:21px !important;
  height:21px !important;
  flex:0 0 21px !important;
  border-radius:50% !important;
  color:#1b1206 !important;
  background:linear-gradient(135deg,#fff0b8 0%,#e3b65d 55%,#bf8832 100%) !important;
  font-size:12px !important;
  line-height:1 !important;
  box-shadow:0 3px 10px rgba(255,216,132,.25) !important;
}
#floatServiceBtn.float-service span{
  display:inline-block !important;
  color:inherit !important;
  white-space:nowrap !important;
}
#floatServiceBtn.float-service.dragging{
  cursor:grabbing !important;
  filter:brightness(1.08) !important;
  box-shadow:
    0 16px 36px rgba(20,13,4,.34),
    0 0 0 1px rgba(255,255,255,.08) inset,
    0 0 30px rgba(255,216,132,.28) !important;
  transition:none !important;
}
#floatServiceBtn.float-service:active{
  transform:translateZ(0) scale(.985) !important;
}
#floatServiceBtn.float-service.modal-hidden{
  opacity:0 !important;
  visibility:hidden !important;
  pointer-events:none !important;
}
@media(max-width:520px){
  #floatServiceBtn.float-service{
    right:8px !important;
    min-width:94px !important;
    height:40px !important;
    padding:0 13px 0 11px !important;
    font-size:13px !important;
  }
  #floatServiceBtn.float-service::before{
    width:20px !important;
    height:20px !important;
    flex-basis:20px !important;
    font-size:11px !important;
  }
}
@media(max-width:380px){
  #floatServiceBtn.float-service{
    right:7px !important;
    min-width:90px !important;
    height:39px !important;
    font-size:12.5px !important;
  }
}


/* V73: make backend model badge take effect on image-only front model cards */
.model-image-card{
  position:relative;
  overflow:hidden;
}
.model-image-badge{
  position:absolute;
  top:0;
  right:0;
  z-index:4;
  min-width:26px;
  max-width:31px;
  height:14px;
  padding:0 4px 0 5px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  color:#fffaf5;
  background:linear-gradient(135deg,#ff4545 0%,#df1635 44%,#f57d00 80%,#ffd56a 100%);
  border-radius:0 0 0 20px;
  border-left:1px solid rgba(255,255,255,.10);
  border-bottom:1px solid rgba(255,255,255,.10);
  box-shadow:0 3px 8px rgba(114,15,8,.10),0 1px 0 rgba(255,255,255,.10) inset;
  font-size:6.5px;
  font-weight:1000;
  line-height:1;
  letter-spacing:0;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  text-shadow:0 1px 1px rgba(63,13,0,.18);
  pointer-events:none;
  transform-origin:top right;
}
.model-image-badge::after{
  content:'';
  position:absolute;
  inset:0;
  border-radius:inherit;
  background:radial-gradient(circle at top right, rgba(255,255,255,.20), rgba(255,255,255,0) 64%);
  pointer-events:none;
}
@media(max-width:520px){
  .model-image-badge{
    min-width:25px;
    max-width:29px;
    height:13px;
    padding:0 4px 0 5px;
    border-radius:0 0 0 18px;
    font-size:6px;
  }
}


/* V80: hide VIP service float while any modal/guide is open or phone input is active */
#floatServiceBtn.float-service.modal-hidden,
.float-service.modal-hidden{
  opacity:0 !important;
  visibility:hidden !important;
  pointer-events:none !important;
  transform:translateY(12px) scale(.96) !important;
}


/* V82: front image copy/save deterrence */
.image-protect-page img,
.image-protect-page .model-image-card,
.image-protect-page .detail-images-section{
  -webkit-user-drag:none !important;
  user-drag:none !important;
  -webkit-touch-callout:none !important;
  -webkit-user-select:none !important;
  user-select:none !important;
}
.image-protect-page img{
  pointer-events:none;
}
.image-protect-page .detail-images-section,
.image-protect-page .models,
.image-protect-page .hero{
  -webkit-touch-callout:none !important;
}


/* V83: replace front images with CSS background blocks to reduce mobile long-press save */
.protected-bg{
  background-repeat:no-repeat;
  background-position:center;
  background-size:cover;
  position:relative;
  -webkit-touch-callout:none !important;
  -webkit-user-select:none !important;
  user-select:none !important;
  -webkit-user-drag:none !important;
}
.protected-bg::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:2;
  background:transparent;
  pointer-events:auto;
}
.brand-logo.protected-bg{
  display:block;
  background-size:cover;
}
.models-title-image.protected-bg{
  background-size:contain;
  background-position:left center;
}
.model-image-card{
  position:relative;
}
.model-image-card .model-icon-bg{
  width:100%;
  height:100%;
  border-radius:inherit;
  overflow:hidden;
}
.payment-method-logo-bg{
  width:100%;
  height:100%;
  display:block;
  border-radius:inherit;
  background-size:cover;
}
.detail-images-section .protected-detail-img{
  display:block;
  width:100%;
  margin:0;
  padding:0;
  background-size:contain;
  background-position:top center;
  background-color:#fff;
}
.image-protect-page .protected-bg,
.image-protect-page .protected-bg *{
  -webkit-touch-callout:none !important;
  -webkit-user-select:none !important;
  user-select:none !important;
  -webkit-user-drag:none !important;
}


/* V84: detail image background height fix - no giant blank placeholders */
.detail-images-section .protected-detail-img{
  display:block;
  width:100%;
  height:0;
  min-height:0;
  margin:0;
  padding:0;
  overflow:hidden;
  background-size:contain;
  background-repeat:no-repeat;
  background-position:top center;
  background-color:#fff;
  transition:none !important;
}
.detail-images-section .protected-detail-img.detail-img-ready{
  height:auto;
}


/* V86: payment method logo display fix after image protection background conversion */
.payment-method-logo{
  padding:7px !important;
  background:#fff !important;
}
.payment-method-logo .payment-method-logo-bg{
  display:block !important;
  width:100% !important;
  height:100% !important;
  border-radius:12px !important;
  background-color:transparent !important;
  background-repeat:no-repeat !important;
  background-position:center center !important;
  background-size:contain !important;
  font-size:0 !important;
  line-height:0 !important;
  color:transparent !important;
  box-shadow:none !important;
}
.payment-method-logo .payment-method-logo-bg::after{
  border-radius:inherit;
}
.payment-method-logo .payment-fallback-icon{
  width:100%;
  height:100%;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:12px;
  font-size:24px;
  font-weight:1000;
  color:#fff;
  background:linear-gradient(135deg,#111827,#c9a461);
}


/* V87: restore front images back to normal img rendering for faster, smoother cached loading */
.model-image-card .model-icon-bg,
.protected-bg,
.protected-bg::after,
.payment-method-logo-bg,
.detail-images-section .protected-detail-img{
  all:unset;
}
.model-image-card img{
  display:block !important;
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  pointer-events:auto !important;
}
.models-title-image{
  display:block !important;
  width:100% !important;
  max-width:760px !important;
  object-fit:contain !important;
  object-position:left center !important;
}
.detail-images-section img{
  display:block !important;
  width:100% !important;
  height:auto !important;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  object-fit:contain !important;
  pointer-events:auto !important;
}
.payment-method-logo img{
  display:block !important;
  width:100% !important;
  height:100% !important;
  object-fit:contain !important;
  pointer-events:auto !important;
}
.brand-logo{
  display:block !important;
  object-fit:cover !important;
}


/* V88: restore payment logo size after v86 padding/contain fix */
.payment-method-logo{
  width:54px !important;
  height:54px !important;
  padding:0 !important;
  overflow:hidden !important;
  border-radius:16px !important;
}
.payment-method-logo img{
  display:block !important;
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  border-radius:16px !important;
}
.payment-method-logo .payment-fallback-icon{
  width:100% !important;
  height:100% !important;
}


/* V112: slightly brighter frontend modal close controls; shape/layout unchanged */
.payment-close,
.wechat-guide-close{
  background:rgba(255,255,255,.90)!important;
  color:#2c241b!important;
  border:1px solid rgba(255,255,255,.96)!important;
  box-shadow:0 8px 20px rgba(31,24,16,.15)!important;
  text-shadow:0 1px 0 rgba(255,255,255,.72);
}

.link-modal-close{
  background:rgba(255,255,255,.98)!important;
  color:#303030!important;
  border:1px solid rgba(255,255,255,.98)!important;
  box-shadow:0 12px 28px rgba(0,0,0,.24)!important;
  text-shadow:0 1px 0 rgba(255,255,255,.80);
}

.rule-close{
  background:rgba(255,255,255,.22)!important;
  color:#fffdf8!important;
  border:1px solid rgba(255,255,255,.27)!important;
  box-shadow:0 8px 20px rgba(0,0,0,.15)!important;
  text-shadow:0 1px 2px rgba(0,0,0,.20);
}

.close{
  color:#1f2937!important;
  opacity:1!important;
  text-shadow:0 1px 0 rgba(255,255,255,.85);
}

.payment-close:focus,
.wechat-guide-close:focus,
.link-modal-close:focus,
.rule-close:focus{
  box-shadow:0 8px 20px rgba(31,24,16,.15)!important;
}


/* V120: segmented promotion countdown, matching the black-gold storefront */
.countdown-timer{
  position:relative;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  min-height:58px;
  margin-bottom:14px;
  padding:10px 13px;
  overflow:hidden;
  border:1px solid rgba(201,164,97,.30);
  border-radius:18px;
  background:
    radial-gradient(circle at 8% 0,rgba(255,174,82,.20),transparent 34%),
    linear-gradient(135deg,#fffaf0 0%,#fff2d7 58%,#fff8eb 100%);
  box-shadow:
    0 10px 26px rgba(80,48,13,.08),
    inset 0 1px 0 rgba(255,255,255,.90);
}
.countdown-timer:after{
  content:"";
  position:absolute;
  right:-24px;
  top:-34px;
  width:92px;
  height:92px;
  border-radius:50%;
  background:rgba(255,110,68,.11);
  filter:blur(1px);
  pointer-events:none;
}
.countdown-title{
  position:relative;
  z-index:1;
  display:inline-flex;
  align-items:center;
  flex:0 0 auto;
  gap:7px;
  color:#6f4814;
  font-size:13px;
  font-weight:1000;
  white-space:nowrap;
  letter-spacing:.1px;
}
.countdown-title:before{
  content:"";
  width:7px;
  height:7px;
  flex:0 0 7px;
  border-radius:50%;
  background:linear-gradient(135deg,#ff7048,#f3b442);
  box-shadow:0 0 0 4px rgba(255,112,72,.11),0 0 14px rgba(255,112,72,.34);
}
.countdown-values{
  position:relative;
  z-index:1;
  display:flex;
  align-items:center;
  justify-content:center;
  flex-wrap:nowrap;
  gap:5px;
  font-variant-numeric:tabular-nums;
  white-space:nowrap;
}
.countdown-unit{
  display:inline-flex;
  align-items:center;
  gap:3px;
}
.countdown-unit strong{
  min-width:31px;
  height:34px;
  padding:0 6px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:1px solid rgba(201,164,97,.34);
  border-radius:10px;
  background:
    linear-gradient(180deg,rgba(255,255,255,.98),rgba(255,239,198,.96));
  color:#8a5515;
  font-size:16px;
  line-height:1;
  font-weight:1000;
  letter-spacing:.4px;
  box-shadow:
    0 7px 16px rgba(109,66,13,.10),
    inset 0 1px 0 rgba(255,255,255,.95);
}
.countdown-unit em{
  color:#7a5d38;
  font-size:11px;
  line-height:1;
  font-style:normal;
  font-weight:900;
}
@media(max-width:520px){
  .countdown-timer{
    gap:8px;
    min-height:54px;
    padding:9px 9px;
  }
  .countdown-title{
    gap:5px;
    font-size:12px;
  }
  .countdown-title:before{
    width:6px;
    height:6px;
    flex-basis:6px;
  }
  .countdown-values{
    gap:3px;
  }
  .countdown-unit{
    gap:2px;
  }
  .countdown-unit strong{
    min-width:27px;
    height:31px;
    padding:0 4px;
    border-radius:9px;
    font-size:14px;
  }
  .countdown-unit em{
    font-size:10px;
  }
}
@media(max-width:380px){
  .countdown-timer{
    gap:6px;
    padding-left:7px;
    padding-right:7px;
  }
  .countdown-title{
    font-size:11px;
  }
  .countdown-unit strong{
    min-width:25px;
    padding:0 3px;
    font-size:13px;
  }
  .countdown-unit em{
    font-size:9px;
  }
}


/* V129: broad and soft champagne sweep-light */
#buyBtn.buy-shine-btn{
  position:relative;
  overflow:hidden;
  isolation:isolate;
  text-shadow:0 1px 0 rgba(0,0,0,.16);
}
#buyBtn.buy-shine-btn::before{
  content:"";
  position:absolute;
  z-index:1;
  top:-58%;
  left:-58%;
  width:46%;
  height:220%;
  pointer-events:none;
  transform:skewX(-16deg);
  background:linear-gradient(
    90deg,
    rgba(255,255,255,0) 0%,
    rgba(255,236,178,.045) 14%,
    rgba(255,244,205,.12) 30%,
    rgba(255,251,229,.28) 46%,
    rgba(255,255,255,.38) 52%,
    rgba(255,248,218,.24) 62%,
    rgba(255,232,164,.09) 82%,
    rgba(255,255,255,0) 100%
  );
  filter:blur(5px);
  opacity:0;
  will-change:left,opacity;
  animation:buyButtonShineSoft 2.25s cubic-bezier(.22,.61,.36,1) infinite;
}
#buyBtn.buy-shine-btn::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:0;
  pointer-events:none;
  border-radius:inherit;
  background:
    linear-gradient(180deg,rgba(255,246,210,.052),transparent 46%),
    radial-gradient(circle at 50% 0,rgba(255,224,139,.055),transparent 62%);
  box-shadow:
    inset 0 1px 0 rgba(255,244,194,.13),
    inset 0 -1px 0 rgba(0,0,0,.085);
}
@keyframes buyButtonShineSoft{
  0%,26%{
    left:-58%;
    opacity:0;
  }
  34%{
    opacity:.62;
  }
  66%{
    left:112%;
    opacity:.48;
  }
  75%,100%{
    left:112%;
    opacity:0;
  }
}
@media(prefers-reduced-motion:reduce){
  #buyBtn.buy-shine-btn::before{
    animation:none;
    display:none;
  }
}

/* V125: keep the two hero quick-pill texts at exactly the same size */
.quick .a,
.quick .b{
  font-size:14px;
}
@media(max-width:520px){
  .quick .a,
  .quick .b{
    font-size:13px;
  }
}
@media(max-width:380px){
  .quick .a,
  .quick .b{
    font-size:12px;
  }
}


/* V127: premium value comparison module below the purchase card */
.value-compare-section{
  position:relative;
  margin:18px 16px 0;
  padding:26px 20px 20px;
  overflow:hidden;
  border:1px solid rgba(201,164,97,.26);
  border-radius:30px;
  background:
    linear-gradient(180deg,rgba(255,255,255,.99),rgba(252,249,241,.99));
  box-shadow:
    0 26px 64px rgba(39,27,13,.12),
    inset 0 1px 0 rgba(255,255,255,.96);
}
.value-compare-section:before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    linear-gradient(120deg,transparent 0 36%,rgba(226,191,111,.08) 48%,transparent 60%),
    repeating-linear-gradient(90deg,rgba(201,164,97,.035) 0 1px,transparent 1px 42px);
}
.value-compare-glow{
  position:absolute;
  width:190px;
  height:190px;
  border-radius:50%;
  filter:blur(12px);
  pointer-events:none;
}
.value-compare-glow-left{
  left:-112px;
  bottom:-116px;
  background:rgba(255,126,104,.13);
}
.value-compare-glow-right{
  right:-104px;
  top:-108px;
  background:rgba(225,183,83,.18);
}
.value-compare-header{
  position:relative;
  z-index:1;
  max-width:560px;
  margin:0 auto 20px;
  text-align:center;
}
.value-compare-eyebrow{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:25px;
  padding:0 12px;
  border:1px solid rgba(201,164,97,.32);
  border-radius:999px;
  background:#fff8e8;
  color:#8b641e;
  font-size:10px;
  font-weight:1000;
  letter-spacing:1.8px;
}
.value-compare-header h2{
  margin:10px 0 7px;
  color:#17130e;
  font-size:24px;
  line-height:1.25;
  font-weight:1000;
  letter-spacing:-.4px;
}
.value-compare-header p{
  margin:0;
  color:#7d7468;
  font-size:13px;
  line-height:1.65;
}
.value-compare-grid{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:12px;
}
.value-compare-card{
  position:relative;
  min-width:0;
  min-height:360px;
  display:flex;
  flex-direction:column;
  padding:18px 17px 16px;
  overflow:hidden;
  border-radius:24px;
}
.value-compare-left-card{
  border:1px solid rgba(213,104,91,.12);
  background:
    radial-gradient(circle at 0 0,rgba(255,255,255,.96),transparent 38%),
    linear-gradient(155deg,#fff9f7,#fff1ed);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.92);
}
.value-compare-right-card{
  border:1px solid rgba(230,198,118,.35);
  background:
    radial-gradient(circle at 100% 0,rgba(224,185,96,.23),transparent 36%),
    linear-gradient(150deg,#21170e 0%,#35230f 62%,#17110b 100%);
  box-shadow:
    0 18px 38px rgba(40,26,12,.18),
    inset 0 1px 0 rgba(255,238,184,.10);
}
.value-compare-right-card:after{
  content:"";
  position:absolute;
  right:-22px;
  bottom:-28px;
  width:108px;
  height:108px;
  border:1px solid rgba(238,213,154,.14);
  border-radius:28px;
  transform:rotate(26deg);
}
.value-compare-card-head{
  position:relative;
  z-index:1;
  display:flex;
  align-items:center;
  gap:9px;
  padding-bottom:14px;
  border-bottom:1px solid rgba(63,45,25,.10);
}
.value-compare-right-card .value-compare-card-head{
  border-color:rgba(238,213,154,.16);
}
.value-compare-card-index{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:31px;
  height:31px;
  flex:0 0 31px;
  border-radius:10px;
  background:rgba(74,53,31,.08);
  color:#8b735d;
  font-size:10px;
  font-weight:1000;
  letter-spacing:.7px;
}
.value-compare-right-card .value-compare-card-index{
  background:rgba(238,213,154,.12);
  color:#efd78f;
}
.value-compare-card h3{
  min-width:0;
  margin:0;
  color:#211b15;
  font-size:16px;
  line-height:1.3;
  font-weight:1000;
}
.value-compare-right-card h3{
  color:#fff1c9;
}
.value-compare-badge{
  position:absolute;
  z-index:3;
  top:12px;
  right:12px;
  max-width:46%;
  padding:5px 9px;
  overflow:hidden;
  border:1px solid rgba(255,233,171,.25);
  border-radius:999px;
  background:linear-gradient(135deg,#f6dda0,#c99d43);
  color:#24180c;
  font-size:9px;
  line-height:1;
  font-weight:1000;
  text-overflow:ellipsis;
  white-space:nowrap;
  box-shadow:0 8px 18px rgba(0,0,0,.18);
}
.value-compare-list{
  position:relative;
  z-index:1;
  display:flex;
  flex:1;
  flex-direction:column;
  gap:11px;
  padding:18px 0 16px;
}
.value-compare-row{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:8px;
  color:#817a73;
  font-size:12px;
  line-height:1.35;
  font-weight:850;
}
.value-compare-row span{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.value-compare-row strong{
  color:#e4574f;
  font-size:12px;
  font-weight:1000;
  white-space:nowrap;
}
.value-compare-benefit-list{
  gap:12px;
}
.value-compare-benefit{
  display:flex;
  align-items:center;
  gap:9px;
  color:#f1dfb0;
  font-size:12px;
  line-height:1.35;
  font-weight:900;
}
.value-compare-benefit i{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:23px;
  height:23px;
  flex:0 0 23px;
  border-radius:8px;
  background:linear-gradient(135deg,#efd284,#a87320);
  color:#1d1308;
  font-size:14px;
  line-height:1;
  font-style:normal;
  font-weight:1000;
  box-shadow:0 7px 15px rgba(0,0,0,.18);
}
.value-compare-footer{
  position:relative;
  z-index:1;
  display:flex;
  flex-direction:column;
  gap:5px;
  min-height:68px;
  justify-content:flex-end;
  padding-top:14px;
  border-top:1px dashed rgba(115,73,46,.18);
}
.value-compare-right-card .value-compare-footer{
  border-color:rgba(238,213,154,.20);
}
.value-compare-footer span{
  color:#8f8479;
  font-size:10px;
  font-weight:900;
}
.value-compare-footer strong{
  color:#e34f49;
  font-size:18px;
  line-height:1.25;
  font-weight:1000;
  letter-spacing:-.2px;
}
.value-compare-right-card .value-compare-footer span{
  color:rgba(255,240,197,.58);
}
.value-compare-right-card .value-compare-footer strong{
  color:#f5d77e;
}
.value-compare-note{
  position:relative;
  z-index:1;
  display:flex;
  align-items:flex-start;
  justify-content:center;
  gap:7px;
  margin-top:14px;
  color:#90877c;
  font-size:10px;
  line-height:1.55;
  text-align:center;
}
.value-compare-note span{
  width:5px;
  height:5px;
  flex:0 0 5px;
  margin-top:5px;
  border-radius:50%;
  background:#c9a461;
  box-shadow:0 0 0 4px rgba(201,164,97,.10);
}
@media(max-width:520px){
  .value-compare-section{
    margin:14px 12px 0;
    padding:22px 12px 16px;
    border-radius:26px;
  }
  .value-compare-header{
    margin-bottom:16px;
  }
  .value-compare-header h2{
    font-size:20px;
  }
  .value-compare-header p{
    font-size:11px;
  }
  .value-compare-grid{
    gap:8px;
  }
  .value-compare-card{
    min-height:326px;
    padding:15px 11px 13px;
    border-radius:20px;
  }
  .value-compare-card-head{
    gap:7px;
    padding-bottom:12px;
  }
  .value-compare-card-index{
    width:27px;
    height:27px;
    flex-basis:27px;
    border-radius:8px;
    font-size:9px;
  }
  .value-compare-card h3{
    font-size:13px;
  }
  .value-compare-badge{
    top:9px;
    right:8px;
    padding:4px 7px;
    font-size:8px;
  }
  .value-compare-list{
    gap:9px;
    padding:15px 0 13px;
  }
  .value-compare-row,
  .value-compare-benefit{
    font-size:10px;
  }
  .value-compare-row strong{
    font-size:10px;
  }
  .value-compare-benefit{
    gap:6px;
  }
  .value-compare-benefit i{
    width:20px;
    height:20px;
    flex-basis:20px;
    border-radius:7px;
    font-size:12px;
  }
  .value-compare-footer{
    min-height:60px;
    padding-top:11px;
  }
  .value-compare-footer strong{
    font-size:14px;
  }
}
@media(max-width:380px){
  .value-compare-section{
    padding-left:9px;
    padding-right:9px;
  }
  .value-compare-grid{
    gap:6px;
  }
  .value-compare-card{
    padding-left:9px;
    padding-right:9px;
  }
  .value-compare-card h3{
    font-size:12px;
  }
  .value-compare-row,
  .value-compare-benefit{
    font-size:9px;
  }
  .value-compare-row strong{
    font-size:9px;
  }
  .value-compare-footer strong{
    font-size:13px;
  }
}


/* V130: larger comparison typography and stronger centered totals */
.value-compare-card h3{
  font-size:18px;
}
.value-compare-row{
  gap:10px;
  font-size:14px;
  line-height:1.45;
}
.value-compare-row strong{
  font-size:14px;
}
.value-compare-benefit{
  gap:10px;
  font-size:14px;
  line-height:1.45;
}
.value-compare-benefit i{
  width:26px;
  height:26px;
  flex-basis:26px;
  font-size:15px;
}
.value-compare-footer{
  align-items:center;
  justify-content:flex-end;
  min-height:84px;
  gap:7px;
  text-align:center;
}
.value-compare-footer span{
  width:100%;
  font-size:12px;
  line-height:1.35;
  text-align:center;
}
.value-compare-footer strong{
  width:100%;
  color:#e34f49;
  font-size:27px;
  line-height:1.08;
  font-weight:1000;
  letter-spacing:-1px;
  text-align:center;
  white-space:nowrap;
  text-shadow:0 7px 18px rgba(227,79,73,.13);
}
.value-compare-right-card .value-compare-footer strong{
  color:#f7d66f;
  text-shadow:
    0 8px 20px rgba(0,0,0,.24),
    0 0 18px rgba(245,215,126,.08);
}

@media(max-width:520px){
  .value-compare-card h3{
    font-size:15px;
  }
  .value-compare-list{
    gap:11px;
  }
  .value-compare-row,
  .value-compare-benefit{
    font-size:12px;
    line-height:1.42;
  }
  .value-compare-row strong{
    font-size:12px;
  }
  .value-compare-benefit{
    gap:7px;
  }
  .value-compare-benefit i{
    width:22px;
    height:22px;
    flex-basis:22px;
    font-size:13px;
  }
  .value-compare-footer{
    min-height:76px;
    gap:6px;
    padding-top:13px;
  }
  .value-compare-footer span{
    font-size:11px;
  }
  .value-compare-footer strong{
    font-size:19px;
    letter-spacing:-.7px;
    transform:scaleX(.94);
    transform-origin:center;
  }
}

@media(max-width:380px){
  .value-compare-card h3{
    font-size:14px;
  }
  .value-compare-row,
  .value-compare-benefit{
    font-size:11px;
  }
  .value-compare-row strong{
    font-size:11px;
  }
  .value-compare-footer strong{
    font-size:17px;
    letter-spacing:-.6px;
    transform:scaleX(.91);
  }
}


/* V131: floating purchase case popup */
.purchase-case-toast{
  position:fixed;
  left:50%;
  bottom:calc(env(safe-area-inset-bottom,0px) + 94px);
  transform:translate(-50%,24px);
  width:min(420px,calc(100% - 26px));
  display:flex;
  align-items:center;
  gap:12px;
  padding:12px 15px 12px 12px;
  border-radius:20px;
  background:linear-gradient(135deg,rgba(23,30,48,.96) 0%,rgba(13,18,31,.96) 58%,rgba(19,28,50,.96) 100%);
  border:1px solid rgba(255,255,255,.06);
  box-shadow:0 20px 48px rgba(3,8,20,.26),0 6px 18px rgba(0,0,0,.12);
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
  z-index:24;
  opacity:0;
  pointer-events:none;
  transition:opacity .24s ease,transform .24s ease;
}
.purchase-case-toast.is-visible{
  opacity:1;
  transform:translate(-50%,0);
}
.purchase-case-avatar{
  width:46px;
  height:46px;
  border-radius:50%;
  overflow:hidden;
  flex:0 0 46px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:linear-gradient(135deg,#ffbf7a 0%,#fb7185 100%);
  color:#fff;
  font-size:18px;
  font-weight:1000;
  box-shadow:0 6px 14px rgba(251,113,133,.22);
}
.purchase-case-avatar img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.purchase-case-avatar.has-image span{display:none}
.purchase-case-copy{min-width:0;display:flex;flex-direction:column;gap:5px;flex:1}
.purchase-case-main,.purchase-case-sub{display:flex;align-items:center;gap:6px;min-width:0;white-space:nowrap;overflow:hidden}
.purchase-case-main span,.purchase-case-main strong,.purchase-case-sub span{display:inline-block;min-width:0;overflow:hidden;text-overflow:ellipsis}
.purchase-case-name{
  color:#fff;
  font-size:15px;
  font-weight:900;
  flex:0 1 auto;
}
.purchase-case-action{
  color:rgba(255,255,255,.86);
  font-size:14px;
  font-weight:700;
  flex:0 0 auto;
}
.purchase-case-highlight{
  color:#f6d46f;
  font-size:15px;
  font-weight:1000;
  flex:0 0 auto;
  text-shadow:0 0 14px rgba(246,212,111,.12);
}
.purchase-case-sub{
  color:rgba(255,255,255,.72);
  font-size:13px;
  font-weight:600;
}
.purchase-case-suffix{opacity:.94}
@media(max-width:520px){
  .purchase-case-toast{
    width:calc(100% - 22px);
    bottom:calc(env(safe-area-inset-bottom,0px) + 88px);
    padding:11px 13px 11px 11px;
    border-radius:18px;
    gap:10px;
  }
  .purchase-case-avatar{
    width:42px;
    height:42px;
    flex-basis:42px;
    font-size:16px;
  }
  .purchase-case-name,.purchase-case-highlight{font-size:14px}
  .purchase-case-action{font-size:13px}
  .purchase-case-sub{font-size:12px}
}
@media(max-width:390px){
  .purchase-case-main{gap:5px}
  .purchase-case-name{max-width:42%}
  .purchase-case-highlight{max-width:30%}
}


/* V133: smaller purchase-case popup and lower placement */
.purchase-case-toast{
  width:min(380px,calc(100% - 38px));
  bottom:calc(env(safe-area-inset-bottom,0px) + 72px);
  gap:9px;
  padding:9px 12px 9px 9px;
  border-radius:17px;
}
.purchase-case-avatar{
  width:38px;
  height:38px;
  flex-basis:38px;
  font-size:15px;
}
.purchase-case-copy{
  gap:3px;
}
.purchase-case-main{
  gap:5px;
}
.purchase-case-name,
.purchase-case-highlight{
  font-size:13px;
}
.purchase-case-action{
  font-size:12px;
}
.purchase-case-sub{
  font-size:11px;
}

@media(max-width:520px){
  .purchase-case-toast{
    width:calc(100% - 36px);
    bottom:calc(env(safe-area-inset-bottom,0px) + 68px);
    gap:8px;
    padding:8px 11px 8px 8px;
    border-radius:16px;
  }
  .purchase-case-avatar{
    width:36px;
    height:36px;
    flex-basis:36px;
    font-size:14px;
  }
  .purchase-case-name,
  .purchase-case-highlight{
    font-size:12.5px;
  }
  .purchase-case-action{
    font-size:11.5px;
  }
  .purchase-case-sub{
    font-size:10.5px;
  }
}

@media(max-width:390px){
  .purchase-case-toast{
    width:calc(100% - 30px);
    bottom:calc(env(safe-area-inset-bottom,0px) + 66px);
  }
}


/* V134: move purchase-case popup closer to the bottom */
.purchase-case-toast{
  bottom:calc(env(safe-area-inset-bottom,0px) + 54px);
}
@media(max-width:520px){
  .purchase-case-toast{
    bottom:calc(env(safe-area-inset-bottom,0px) + 50px);
  }
}
@media(max-width:390px){
  .purchase-case-toast{
    bottom:calc(env(safe-area-inset-bottom,0px) + 48px);
  }
}


/* V135: place purchase-case popup over the fixed client/website buttons */
.purchase-case-toast{
  bottom:calc(env(safe-area-inset-bottom,0px) + 18px);
  z-index:90;
}
@media(max-width:520px){
  .purchase-case-toast{
    bottom:calc(env(safe-area-inset-bottom,0px) + 16px);
  }
}
@media(max-width:390px){
  .purchase-case-toast{
    bottom:calc(env(safe-area-inset-bottom,0px) + 14px);
  }
}

/* V140 用户好评模块（高逼格紧凑版） */
.user-review-section{
  position:relative;
  width:min(100%,760px);
  margin:18px auto 16px;
  padding:0 12px;
  box-sizing:border-box;
}
.user-review-shell{
  position:relative;
  overflow:hidden;
  border-radius:30px;
  border:1px solid rgba(130,98,255,.08);
  background:linear-gradient(180deg,#fcfbff 0%,#f7f8ff 100%);
  box-shadow:0 16px 38px rgba(27,31,59,.06);
  padding:18px 0 14px;
}
.user-review-shell:before{
  content:"";
  position:absolute;
  left:-62px;
  top:-34px;
  width:180px;
  height:180px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(139,92,246,.12),rgba(139,92,246,0) 72%);
  pointer-events:none;
}
.user-review-shell:after{
  content:"";
  position:absolute;
  right:-84px;
  bottom:-92px;
  width:220px;
  height:220px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(96,165,250,.08),rgba(96,165,250,0) 74%);
  pointer-events:none;
}
.user-review-header{
  position:relative;
  z-index:1;
  padding:0 22px 6px;
}
.user-review-header h2{
  margin:0;
  text-align:center;
  font-size:22px;
  line-height:1.2;
  font-weight:1000;
  color:#6d28d9;
  letter-spacing:.04em;
}
.user-review-scoreboard{
  display:flex;
  align-items:flex-end;
  gap:12px;
  margin-top:14px;
  flex-wrap:nowrap;
}
.user-review-score-main{
  display:flex;
  align-items:flex-end;
  gap:8px;
  flex:0 0 auto;
}
.user-review-score-main strong{
  font-size:74px;
  line-height:.9;
  font-weight:1000;
  letter-spacing:-.05em;
  color:#6d28d9;
  text-shadow:0 6px 18px rgba(109,40,217,.10);
}
.user-review-stars{
  display:flex;
  align-items:center;
  gap:4px;
  padding-bottom:12px;
}
.user-review-stars span{
  color:#f6b62c;
  font-size:18px;
  line-height:1;
}
.user-review-scoreboard p{
  margin:0 0 8px;
  color:#7f8595;
  font-size:13px;
  line-height:1.75;
  flex:1;
}
.user-review-cards{
  position:relative;
  z-index:1;
  display:flex;
  gap:12px;
  padding:8px 22px 4px;
  overflow-x:auto;
  overscroll-behavior-x:contain;
  scroll-snap-type:x proximity;
  -webkit-overflow-scrolling:touch;
}
.user-review-cards::-webkit-scrollbar{height:5px}
.user-review-cards::-webkit-scrollbar-thumb{background:rgba(139,92,246,.14);border-radius:999px}
.user-review-card{
  flex:0 0 260px;
  min-height:220px;
  scroll-snap-align:start;
  border-radius:24px;
  background:linear-gradient(180deg,#ffffff 0%,#fcfbff 100%);
  border:1px solid rgba(227,232,244,.92);
  box-shadow:0 10px 24px rgba(24,31,54,.05);
  padding:16px;
  box-sizing:border-box;
}
.user-review-card-top{
  display:flex;
  align-items:flex-start;
  gap:10px;
}
.user-review-card-avatar{
  width:52px;
  height:52px;
  border-radius:50%;
  overflow:hidden;
  flex:0 0 52px;
  background:linear-gradient(135deg,#c4b5fd,#93c5fd);
  display:flex;
  align-items:center;
  justify-content:center;
  color:#fff;
  font-size:22px;
  font-weight:900;
  box-shadow:0 8px 16px rgba(120,119,255,.16);
}
.user-review-card-avatar img{width:100%;height:100%;object-fit:cover;display:block}
.user-review-card-meta{min-width:0;flex:1}
.user-review-card-score{
  font-size:19px;
  line-height:1.1;
  font-weight:1000;
  color:#1f2742;
}
.user-review-card-name{
  margin-top:5px;
  font-size:13px;
  color:#9096a7;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.user-review-card-tag{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex:0 0 auto;
  padding:8px 12px;
  border-radius:999px;
  background:linear-gradient(135deg,rgba(139,92,246,.10),rgba(168,85,247,.14));
  color:#8b5cf6;
  font-size:12px;
  font-weight:900;
}
.user-review-card-content{
  margin-top:14px;
  font-size:15px;
  line-height:1.95;
  color:#4a5266;
  word-break:break-word;
  display:-webkit-box;
  -webkit-line-clamp:4;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
@media (max-width:768px){
  .user-review-section{padding:0 10px;margin-top:16px;margin-bottom:14px}
  .user-review-shell{padding:14px 0 12px;border-radius:24px}
  .user-review-shell:before{left:-52px;top:-30px;width:146px;height:146px}
  .user-review-shell:after{right:-76px;bottom:-84px;width:188px;height:188px}
  .user-review-header{padding:0 14px 4px}
  .user-review-header h2{font-size:18px;letter-spacing:.03em}
  .user-review-scoreboard{gap:8px;margin-top:10px;align-items:flex-end}
  .user-review-score-main{gap:6px}
  .user-review-score-main strong{font-size:58px}
  .user-review-stars{gap:3px;padding-bottom:9px}
  .user-review-stars span{font-size:15px}
  .user-review-scoreboard p{font-size:11px;line-height:1.6;margin:0 0 4px}
  .user-review-cards{padding:8px 14px 2px;gap:10px}
  .user-review-card{flex-basis:236px;min-height:188px;border-radius:20px;padding:14px}
  .user-review-card-avatar{width:46px;height:46px;flex-basis:46px;font-size:19px}
  .user-review-card-score{font-size:17px}
  .user-review-card-name{font-size:12px;margin-top:4px}
  .user-review-card-tag{padding:6px 10px;font-size:11px}
  .user-review-card-content{margin-top:12px;font-size:13px;line-height:1.85;-webkit-line-clamp:4}
}


/* V141 用户好评模块（应用商店评价卡风格） */
.user-review-shell{
  border-radius:26px;
  background:
    radial-gradient(circle at 15% 12%,rgba(139,92,246,.08),transparent 28%),
    linear-gradient(180deg,#fbfbff 0%,#f5f7ff 100%);
  box-shadow:
    0 14px 34px rgba(37,42,70,.06),
    inset 0 1px 0 rgba(255,255,255,.88);
}
.user-review-header{
  padding-bottom:2px;
}
.user-review-header h2{
  font-size:21px;
  letter-spacing:.02em;
}
.user-review-scoreboard{
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  align-items:end;
  gap:14px;
}
.user-review-score-main{
  display:block;
}
.user-review-score-main strong{
  font-size:68px;
  line-height:.84;
  letter-spacing:-.055em;
}
.user-review-score-side{
  min-width:0;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:flex-end;
  gap:7px;
  padding-bottom:3px;
}
.user-review-stars{
  padding:0;
  gap:5px;
}
.user-review-stars span{
  font-size:17px;
  filter:drop-shadow(0 3px 5px rgba(246,182,44,.13));
}
.user-review-scoreboard p{
  margin:0;
  font-size:12px;
  line-height:1.55;
  color:#858b9a;
}
.user-review-cards{
  gap:10px;
  padding:10px 20px 6px;
  scroll-snap-type:x mandatory;
  scroll-padding-left:20px;
  scroll-behavior:smooth;
  scrollbar-width:none;
  cursor:grab;
  mask-image:linear-gradient(90deg,#000 0,#000 calc(100% - 24px),transparent 100%);
  -webkit-mask-image:linear-gradient(90deg,#000 0,#000 calc(100% - 24px),transparent 100%);
}
.user-review-cards:active{cursor:grabbing}
.user-review-cards::-webkit-scrollbar{display:none}
.user-review-card{
  position:relative;
  flex:0 0 min(252px,34vw);
  min-height:204px;
  border-radius:22px;
  padding:15px;
  background:
    linear-gradient(180deg,rgba(255,255,255,.98) 0%,rgba(252,252,255,.98) 100%);
  border:1px solid rgba(222,227,239,.95);
  box-shadow:
    0 9px 22px rgba(30,37,61,.045),
    inset 0 1px 0 rgba(255,255,255,.9);
}
.user-review-card:before{
  content:"";
  position:absolute;
  left:16px;
  right:16px;
  top:0;
  height:1px;
  background:linear-gradient(90deg,transparent,rgba(139,92,246,.18),transparent);
}
.user-review-card-top{
  gap:9px;
}
.user-review-card-avatar{
  width:48px;
  height:48px;
  flex-basis:48px;
  font-size:19px;
  box-shadow:0 6px 14px rgba(120,119,255,.13);
}
.user-review-card-score{
  font-size:18px;
}
.user-review-card-name{
  margin-top:4px;
  font-size:12px;
}
.user-review-card-tag{
  padding:6px 10px;
  font-size:10px;
  border:1px solid rgba(139,92,246,.08);
}
.user-review-card-content{
  margin-top:12px;
  font-size:13px;
  line-height:1.82;
  color:#50586b;
  -webkit-line-clamp:4;
}

@media (max-width:768px){
  .user-review-shell{
    border-radius:22px;
  }
  .user-review-header h2{
    font-size:17px;
  }
  .user-review-scoreboard{
    gap:10px;
    margin-top:9px;
  }
  .user-review-score-main strong{
    font-size:54px;
  }
  .user-review-score-side{
    gap:5px;
    padding-bottom:1px;
  }
  .user-review-stars{
    gap:3px;
  }
  .user-review-stars span{
    font-size:14px;
  }
  .user-review-scoreboard p{
    font-size:10.5px;
    line-height:1.48;
  }
  .user-review-cards{
    gap:9px;
    padding:8px 14px 4px;
    scroll-padding-left:14px;
    mask-image:linear-gradient(90deg,#000 0,#000 calc(100% - 18px),transparent 100%);
    -webkit-mask-image:linear-gradient(90deg,#000 0,#000 calc(100% - 18px),transparent 100%);
  }
  .user-review-card{
    flex-basis:min(248px,66vw);
    min-height:174px;
    border-radius:18px;
    padding:13px;
  }
  .user-review-card-avatar{
    width:42px;
    height:42px;
    flex-basis:42px;
    font-size:17px;
  }
  .user-review-card-score{
    font-size:16px;
  }
  .user-review-card-name{
    font-size:11px;
  }
  .user-review-card-tag{
    padding:5px 8px;
    font-size:9.5px;
  }
  .user-review-card-content{
    margin-top:10px;
    font-size:12px;
    line-height:1.78;
  }
}


/* V142: prevent mobile page zoom while preserving normal scrolling */
html,body{
  touch-action:pan-x pan-y;
  -ms-touch-action:pan-x pan-y;
}


/* V143: disable selecting/copying frontend text */
body,
body *:not(input):not(textarea):not([contenteditable="true"]):not([contenteditable="plaintext-only"]){
  -webkit-user-select:none !important;
  user-select:none !important;
  -webkit-touch-callout:none !important;
}
input,
textarea,
[contenteditable="true"],
[contenteditable="plaintext-only"]{
  -webkit-user-select:text !important;
  user-select:text !important;
  -webkit-touch-callout:default !important;
}


/* V168: customer QR or link popup mode */
.service-mode-content{width:100%}
.service-qr-content{display:none}
.service-qr-frame{
  width:222px;
  height:222px;
  margin:0 auto;
  padding:10px;
  overflow:hidden;
  border:1px solid rgba(18,16,11,.12);
  border-radius:22px;
  background:#fff;
  box-shadow:0 14px 34px rgba(35,24,12,.12);
}
.service-qr-frame img{
  display:block;
  width:100%;
  height:100%;
  object-fit:contain;
  border-radius:14px;
}
.service-qr-hint{
  margin-top:13px;
  color:#7b7368;
  font-size:12px;
  line-height:1.55;
}
@media(max-width:380px){
  .service-qr-frame{width:204px;height:204px}
}


/* V177: WeChat payment guide automatically reflects callback/payment status. */
.wechat-guide-pay-result{
  display:flex;
  align-items:center;
  gap:12px;
  margin-top:2px;
  padding:14px;
  border:1px solid rgba(22,163,74,.18);
  border-radius:18px;
  background:rgba(240,253,244,.88);
}
.wechat-guide-pay-result[hidden],
.wechat-guide-pay-action[hidden]{display:none!important}
.wechat-guide-pay-result-icon{
  display:flex;
  align-items:center;
  justify-content:center;
  width:42px;
  height:42px;
  flex:0 0 42px;
  border-radius:50%;
  background:linear-gradient(135deg,#16a34a,#22c55e);
  color:#fff;
  font-size:22px;
  font-weight:1000;
  box-shadow:0 10px 24px rgba(34,197,94,.22);
}
.wechat-guide-pay-result b{
  display:block;
  margin-bottom:4px;
  color:#166534;
  font-size:15px;
  font-weight:1000;
}
.wechat-guide-pay-result span:not(.wechat-guide-pay-result-icon){
  display:block;
  color:#4b6654;
  font-size:12px;
  line-height:1.55;
}
.wechat-guide-pay-action{
  width:100%;
  min-height:48px;
  margin-top:14px;
  border:0;
  border-radius:15px;
  background:linear-gradient(135deg,#172033,#111827);
  color:#fff;
  font-size:14px;
  font-weight:1000;
  box-shadow:0 12px 28px rgba(17,24,39,.18);
  cursor:pointer;
}
.wechat-guide-pay-action:active{transform:scale(.985)}
.wechat-guide-mask.is-pay-success .wechat-guide-arrow{display:none}
.wechat-guide-mask.is-pay-success .wechat-guide-card{top:112px}
.wechat-guide-mask.is-pay-success .wechat-guide-bot{
  background:linear-gradient(135deg,#bbf7d0,#22c55e);
  box-shadow:0 16px 28px rgba(34,197,94,.22),inset 0 0 0 2px rgba(255,255,255,.58);
}

/* V201: official price table mobile readability + full text */
.official-price-section{
  margin:12px 6px 0;
  padding:12px 4px 1px;
  background:#fff;
  border-radius:18px;
  color:#0c0c0d;
}
.official-price-title{
  margin:0 6px 10px;
  font-size:17px;
  line-height:1.28;
  text-align:center;
  font-weight:1000;
  letter-spacing:-.3px;
  color:#090a0c;
}
.official-price-table{
  width:100%;
  min-width:0;
  font-variant-numeric:tabular-nums;
}
.official-price-table-header,
.official-price-row{
  display:grid;
  grid-template-columns:44% 18% 20% 18%;
  align-items:center;
  width:100%;
}
.official-price-table-header{
  min-height:43px;
  padding:0 1px;
  border-radius:12px;
  background:#f0f2f2;
  color:#080a0c;
  font-size:12.5px;
  line-height:1.12;
  font-weight:1000;
  text-align:center;
}
.official-price-table-header>div{
  min-width:0;
  padding:0 1px;
  white-space:nowrap;
}
.official-price-row{
  min-height:60px;
  padding:4px 0;
  border-bottom:1px solid #e9eceb;
  color:#07090b;
}
.official-price-model{
  min-width:0;
  display:flex;
  align-items:center;
  gap:6px;
  padding-left:14px;
  padding-right:3px;
}
.official-price-logo{
  width:32px;
  height:32px;
  flex:0 0 32px;
  border-radius:9px;
  overflow:hidden;
  display:flex;
  align-items:center;
  justify-content:center;
  background:#f5f6f7;
  color:#111827;
  font-size:13px;
  font-weight:1000;
}
.official-price-logo img{
  display:block;
  width:100%;
  height:100%;
  object-fit:contain;
  background:#fff;
}
.official-price-model-copy{
  min-width:0;
  flex:1 1 auto;
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:flex-start;
}
.official-price-model-copy strong{
  display:block;
  width:100%;
  min-width:0;
  color:#08090b;
  font-size:clamp(12px,3.45vw,13.5px);
  line-height:1.12;
  font-weight:900;
  letter-spacing:-.15px;
  white-space:nowrap;
  overflow:visible;
  text-overflow:clip;
}
.official-price-model-copy small{
  display:block;
  width:100%;
  min-width:0;
  margin-top:2px;
  color:#14171b;
  font-size:clamp(8.8px,2.5vw,10px);
  line-height:1.12;
  font-weight:500;
  white-space:normal;
  overflow:visible;
  text-overflow:clip;
  overflow-wrap:anywhere;
}
.official-price-plan,
.official-price-monthly,
.official-price-rmb{
  min-width:0;
  padding:0 1px;
  text-align:center;
  color:#090b0d;
  font-size:clamp(11.5px,3.25vw,13px);
  line-height:1.12;
  font-weight:700;
}
.official-price-plan{
  white-space:normal;
  overflow-wrap:anywhere;
}
.official-price-monthly,
.official-price-rmb{
  font-weight:900;
  white-space:nowrap;
}
.official-price-total{
  display:grid;
  grid-template-columns:44% 18% 20% 18%;
  align-items:center;
  min-height:44px;
  padding:1px 0 0;
  color:#090b0d;
}
.official-price-total-label{
  grid-column:1 / 2;
  padding-left:46px;
  font-size:13.5px;
  line-height:1.1;
  font-weight:900;
}
.official-price-total-value{
  grid-column:2 / 5;
  min-width:0;
  justify-self:end;
  padding-right:10px;
  text-align:right;
  font-size:clamp(11.5px,3.5vw,14.5px);
  line-height:1.1;
  font-weight:1000;
  white-space:nowrap;
  letter-spacing:-.15px;
}
@media(min-width:521px){
  .official-price-section{margin:16px 10px 0;padding:15px 8px 3px;border-radius:20px}
  .official-price-title{margin:0 8px 12px;font-size:19.5px}
  .official-price-table-header,
  .official-price-row{grid-template-columns:42% 19% 20% 19%}
  .official-price-table-header{min-height:48px;padding:0 5px;font-size:14px;border-radius:14px}
  .official-price-row{min-height:68px;padding:5px 4px}
  .official-price-model{gap:9px;padding-left:18px;padding-right:5px}
  .official-price-logo{width:38px;height:38px;flex-basis:38px;border-radius:11px;font-size:15px}
  .official-price-model-copy strong{font-size:16px}
  .official-price-model-copy small{font-size:11.5px;margin-top:3px}
  .official-price-plan,.official-price-monthly,.official-price-rmb{font-size:15px;padding:0 2px}
  .official-price-total{grid-template-columns:42% 19% 20% 19%;min-height:50px;padding:1px 4px 0}
  .official-price-total-label{padding-left:64px;font-size:15.5px}
  .official-price-total-value{font-size:16px;padding-right:12px}
}
@media(max-width:350px){
  .official-price-table-header,
  .official-price-row,
  .official-price-total{grid-template-columns:46% 17% 19% 18%}
  .official-price-model{padding-left:10px;gap:5px;padding-right:2px}
  .official-price-logo{width:29px;height:29px;flex-basis:29px;border-radius:8px}
  .official-price-table-header{font-size:11px}
  .official-price-model-copy strong{font-size:11.5px}
  .official-price-model-copy small{font-size:8.5px}
  .official-price-plan,.official-price-monthly,.official-price-rmb{font-size:11px}
  .official-price-total-label{padding-left:38px;font-size:13px}
  .official-price-total-value{font-size:13.5px;padding-right:7px}
}

/* V199: keep the following bottom image block visually attached to the price table */
.official-price-section + .detail-images-section{margin-top:0!important;padding-top:0!important;}

/* V202: code-rendered lifetime membership promo card */
.membership-promo-section{
  margin:0 6px 2px;
  padding:0 4px 0;
  color:#111827;
}
.membership-promo-note{
  margin:5px 6px 7px;
  text-align:center;
  color:#7a7f87;
  font-size:clamp(9.5px,2.65vw,11px);
  line-height:1.35;
  font-weight:500;
}
.membership-promo-card{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:10px;
  min-height:76px;
  padding:10px 15px 10px 14px;
  border-radius:var(--membership-radius,8px);
  overflow:hidden;
  background:
    radial-gradient(circle at 8% 10%,rgba(255,255,255,.075),transparent 22%),
    linear-gradient(135deg,var(--membership-bg-start,#111827),var(--membership-bg-end,#0b1220));
  color:var(--membership-text,#fff);
  box-shadow:0 7px 18px rgba(15,23,42,.12);
}
.membership-promo-left{min-width:0;display:flex;flex-direction:column;gap:7px}
.membership-promo-title-line{display:flex;align-items:center;gap:7px;min-width:0}
.membership-promo-icon{
  width:24px;
  height:24px;
  flex:0 0 24px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:8px;
  color:#17130a;
  background:var(--membership-accent,#f3c64f);
  font-size:15px;
  font-weight:1000;
  overflow:hidden;
}
.membership-promo-icon img{display:block;width:100%;height:100%;object-fit:contain;background:transparent}
.membership-promo-icon.has-custom-icon{background:transparent!important;color:inherit;box-shadow:none}
.membership-promo-icon.has-custom-icon img{background:transparent!important}
.membership-promo-title{
  min-width:0;
  display:flex;
  align-items:baseline;
  flex-wrap:nowrap;
  gap:2px;
  color:var(--membership-text,#fff);
  font-size:clamp(16px,4.6vw,20px);
  line-height:1.1;
  letter-spacing:-.35px;
  white-space:nowrap;
  font-weight:1000;
}
.membership-promo-title em{font-style:normal;color:var(--membership-accent,#f3c64f)}
.membership-promo-subtitle{
  max-width:100%;
  padding:5px 10px;
  border:1px solid var(--membership-accent,#f3c64f);
  border-radius:8px;
  color:var(--membership-text,#fff);
  font-size:clamp(9.5px,2.75vw,11.5px);
  line-height:1.1;
  text-align:center;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.membership-promo-price{
  display:flex;
  align-items:baseline;
  justify-content:flex-end;
  gap:2px;
  white-space:nowrap;
  color:var(--membership-text,#fff);
}
.membership-promo-price span{font-size:clamp(14px,4vw,18px);font-weight:700}
.membership-promo-price strong{font-size:clamp(30px,9vw,42px);line-height:.9;font-weight:1000;letter-spacing:-1.2px}
.membership-promo-section + .detail-images-section{margin-top:0!important;padding-top:0!important}
@media(min-width:521px){
  .membership-promo-section{margin:0 10px 4px;padding:0 8px}
  .membership-promo-note{margin:7px 8px 9px;font-size:12px}
  .membership-promo-card{min-height:88px;padding:12px 20px;border-radius:var(--membership-radius,8px);gap:16px}
  .membership-promo-icon{width:29px;height:29px;flex-basis:29px;border-radius:9px;font-size:17px}
  .membership-promo-title{font-size:23px}
  .membership-promo-subtitle{font-size:13px;padding:6px 13px;border-radius:9px}
  .membership-promo-price span{font-size:19px}.membership-promo-price strong{font-size:48px}
}
@media(max-width:350px){
  .membership-promo-card{gap:7px;padding-left:10px;padding-right:10px}
  .membership-promo-icon{width:21px;height:21px;flex-basis:21px;border-radius:7px;font-size:13px}
  .membership-promo-title{font-size:14.5px;gap:1px}
  .membership-promo-subtitle{font-size:8.8px;padding-left:6px;padding-right:6px}
  .membership-promo-price span{font-size:12px}.membership-promo-price strong{font-size:27px}
}

/* V204: configurable page bottom safe space + membership card radius */
.container{
  padding-bottom:var(--page-bottom-space,90px) !important;
}
.membership-promo-card{
  border-radius:var(--membership-radius,8px) !important;
}

