/* ===== DuMate skin: 我的页 Lottie 下拉刷新 + 金色缎带标题 ===== */
/* ---- Lottie 刷新指示器（复刻参照站） ---- */
.uni-scroll-view-refresh-inner{width:44px!important;height:44px!important;background-color:transparent!important;box-shadow:none!important}
.uni-scroll-view-refresh__icon,.uni-scroll-view-refresh__spinner{display:none!important}
.h5-scroll-refresher-lottie{width:44px;height:44px;pointer-events:none}
.h5-scroll-refresher-lottie svg{display:block;width:100%!important;height:100%!important}

/* ---- 金色缎带标题（复刻参照站 mine-Drvsh-BP.css，剥 data-v） ---- */
.curved-card-tab{position:relative;width:4.125rem;height:2.3125rem;flex-shrink:0}
.curved-card-tab--wide{width:4.8125rem;height:2.6875rem}
.curved-card-tab--lg{width:6.375rem;height:3.5625rem}
.curved-card-tab-shape{width:100%;height:100%;overflow:visible}
.curved-card-tab--gold .curved-card-tab-shape{filter:drop-shadow(0 .0625rem .25rem rgba(207,160,24,.2))}
.curved-card-tab:not(.curved-card-tab--gold) .curved-card-tab-shape{filter:drop-shadow(0 .0625rem .0625rem rgba(160,158,200,.28))}
.curved-card-tab-svg{display:block;width:100%;height:100%;transform:scaleY(.88);transform-origin:100% 0}
.curved-card-tab-label{position:absolute;left:8%;right:26%;top:0;height:50%;display:flex;align-items:center;justify-content:flex-start;padding-left:.1875rem;box-sizing:border-box}
.curved-card-tab--wide .curved-card-tab-label{left:6%;padding-left:.125rem}
.curved-card-tab-txt{color:#fff;font-size:.875rem;font-weight:700;letter-spacing:.1em;line-height:1;white-space:nowrap}
.curved-card-tab--wide .curved-card-tab-txt{font-size:.75rem;font-weight:700;letter-spacing:.04em}
.curved-card-tab--lg .curved-card-tab-txt{font-size:.75rem;font-weight:700;letter-spacing:.02em}
.curved-card-tab--gold .curved-card-tab-txt{color:#4a3b0c;font-weight:700}
.block--curved-title{--curved-card-radius:.875rem;--curved-tab-slot:4.8125rem;--curved-card-pad-x:.5rem;--curved-card-pad-b:.625rem;position:relative;overflow:hidden;padding:0 var(--curved-card-pad-x) var(--curved-card-pad-b)!important;border-radius:var(--curved-card-radius)}
.mine-card-ribbon{position:relative;width:calc(100% + 1rem);margin:0 -.5rem .125rem;min-height:2.5625rem;padding:0 .5rem 0 0;box-sizing:border-box;overflow:hidden;border-radius:var(--curved-card-radius) var(--curved-card-radius) 0 0}
.curved-tab-anchor{position:absolute;left:0;top:0;z-index:2;border-top-left-radius:var(--curved-card-radius);overflow:hidden;transform:translateZ(0)}
.curved-tab-anchor:active{opacity:.9}
.block-head-ribbon-slot{flex:1;min-width:0;min-height:1.5rem}
.block-head--ribbon{position:relative;z-index:1;align-items:center;gap:.5rem;min-height:2rem;margin-bottom:0!important;padding-top:.3125rem;padding-left:var(--curved-tab-slot,5.375rem);box-sizing:border-box}
.block-head--ribbon-only{justify-content:flex-end}
.block-head--ribbon-actions{justify-content:space-between}
.block-head--ribbon .block-more{flex-shrink:0;margin-left:.25rem}
.block-head-ribbon-slot:active{opacity:.88}
.block--curved-title .grid{margin:0 -.125rem}
.block--curved-title .grid-cell{padding:.375rem .125rem .5625rem}
/* 「我的订单」遮挡根因修复：mine-DswacJNM.css 中 .scroll-body{padding:0 .75rem 1rem} 使 block 上移 6px 被容器顶部裁剪 */
.scroll-body:has(.order-block){padding-top:.25rem!important}
.order-block{margin-top:0!important}

/* ===== DuMate skin: 首页弹窗公告（六种样式，1:1 对齐参照站「系统设置 > 弹窗公告」）===== */
/* ---- root / dim / panel / head / body / foot 结构与动画（剥离参考站 scoped 属性） ---- */
.dmup-mask { animation:dmup-mask-in-dmup .26s ease-out both; }
.dmup-panel { animation:dmup-panel-pop-dmup .38s cubic-bezier(.34,1.45,.64,1) both; transform-origin:center center; }
.dmup-root--motion .dmup-panel { animation:none; }
.dmup-panel--stack { display:flex; flex-direction:column; max-height:82vh; overflow:hidden; box-sizing:border-box; }
.dmup-panel--stack>.dmup-scroll-host { flex:1; min-height:0; overflow:hidden; }
.dmup-panel--stack.dmup-panel--adaptive { height:auto; }
.dmup-panel--stack.dmup-panel--adaptive>.dmup-scroll-host { flex:0 1 auto; overflow:visible; }
.dmup-panel--stack.dmup-panel--adaptive>.dmup-scroll-host .dmup-body { flex:none; height:auto; }
.dmup-body { flex:1; min-height:0; width:100%; overflow-x:hidden; overflow-y:auto; -webkit-overflow-scrolling:touch; overscroll-behavior:contain; touch-action:pan-y; box-sizing:border-box; }
.dmup-foot { flex-shrink:0; position:relative; z-index:2; padding:0; box-sizing:border-box; background:#fff; }
.dmup-foot--sheet { padding-bottom:calc(.375rem + env(safe-area-inset-bottom)); }
.dmup-foot-line { width:100%; height:.03125rem; background:#d1d5db; margin:0; }
.dmup-btn-close { display:flex; align-items:center; justify-content:center; min-height:2.75rem; padding:.625rem 0; box-sizing:border-box; }
.dmup-btn-close:active { opacity:.72; }
.dmup-btn-close-txt { font-size:1rem; font-weight:700; color:#111827; line-height:1.35; }
.dmup-btn-close-txt--muted { font-weight:600; color:#374151; }
.dmup-btn-close-txt--gold { font-weight:600; color:#e6b422; }
.dmup-scroll-host { flex:1; min-height:0; width:100%; display:flex; flex-direction:column; box-sizing:border-box; }
.dmup-scroll { flex-shrink:0; width:100%; box-sizing:border-box; touch-action:pan-y; -webkit-overflow-scrolling:touch; }
.dmup-rich { display:block; width:100%; word-break:break-word; }
.dmup-rich--h5 { font-size:14px; line-height:1.75; color:#374151; }
.dmup-rich--h5 p,.dmup-rich--h5 div,.dmup-rich--h5 li { margin:0 0 12px; line-height:1.75; color:#374151; }
.dmup-rich--h5 img { max-width:100%; height:auto; display:block; }
.dmup-rich--h5 strong,.dmup-rich--h5 b { font-weight:700; }
.dmup-root.dmup-root--motion { position:fixed; left:0; right:0; top:0; bottom:0; z-index:10050; display:flex; align-items:center; justify-content:center; padding:1.25rem 1.125rem; box-sizing:border-box; pointer-events:none; visibility:hidden; background:transparent; }
.dmup-root.dmup-root--motion.is-visible { pointer-events:auto; visibility:visible; }
.dmup-root--motion .dmup-dim { position:absolute; top:0; right:0; bottom:0; left:0; background:rgba(0,0,0,.45); opacity:0; }
.dmup-root--motion>.dmup-panel { position:relative; z-index:2; opacity:0; }
.dmup-head,.dmup-body,.dmup-foot { opacity:0; will-change:opacity,transform,filter; }
.dmup-style--baseline.dmup-root { perspective:1100px; }
.dmup-style--baseline .dmup-panel { background:#fff; border-radius:14px; box-shadow:0 12px 40px rgba(0,0,0,.12); transform-style:preserve-3d; transform-origin:50% 60%; transform:rotateY(-68deg) rotateX(14deg) scale(.42) translate3d(-18%,8%,-120px); opacity:0; }
.dmup-style--baseline.dmup-root.is-open .dmup-dim { animation:baseline-mask-in-dmup .34s ease-out forwards; }
.dmup-style--baseline.dmup-root.is-open .dmup-panel { animation:baseline-panel-in-dmup .72s cubic-bezier(.22,1.05,.36,1) forwards; }
.dmup-style--baseline.dmup-root.is-open .dmup-head { animation:baseline-inner-in-dmup .5s ease-out .22s forwards; }
.dmup-style--baseline.dmup-root.is-open .dmup-body { animation:baseline-inner-in-dmup .55s ease-out .32s forwards; }
.dmup-style--baseline.dmup-root.is-open .dmup-foot { animation:baseline-inner-in-dmup .45s ease-out .42s forwards; }
.dmup-style--baseline.dmup-root.is-closing .dmup-panel { animation:baseline-panel-out-dmup .58s cubic-bezier(.55,0,.85,.36) forwards; }
.dmup-style--baseline.dmup-root.is-closing .dmup-dim { animation:mask-out-dmup .36s ease-in .14s forwards; }
.dmup-style--liquid.dmup-root { align-items:center; }
.dmup-style--liquid .dmup-panel { border-radius:20px; background:linear-gradient(145deg,rgba(255,255,255,.72),rgba(255,255,255,.45)); backdrop-filter:blur(40px) saturate(200%) brightness(1.06); border:1px solid rgba(255,255,255,.65); box-shadow:0 20px 50px rgba(0,0,0,.18),inset 0 1px rgba(255,255,255,.85); transform-origin:center bottom; opacity:0; transform:skew(-12deg) skewY(6deg) scale(.75,.55) translate3d(0,48px,0); filter:blur(10px); }
.dmup-style--liquid .dmup-panel:before { content:""; position:absolute; top:0; right:0; bottom:0; left:0; border-radius:inherit; background:linear-gradient(180deg,rgba(255,255,255,.55) 0%,transparent 40%); pointer-events:none; }
.dmup-style--liquid .dmup-foot { border-top-color:rgba(255,255,255,.35); background:rgba(255,255,255,.25); }
.dmup-style--liquid.dmup-root.is-open .dmup-dim { animation:liquid-mask-in-dmup .4s ease-out forwards; }
.dmup-style--liquid.dmup-root.is-open .dmup-panel { animation:liquid-panel-in-dmup .78s cubic-bezier(.34,1.15,.64,1) forwards; }
.dmup-style--liquid.dmup-root.is-open .dmup-head { animation:liquid-inner-in-dmup .55s ease-out .28s forwards; }
.dmup-style--liquid.dmup-root.is-open .dmup-body { animation:liquid-inner-in-dmup .6s ease-out .38s forwards; }
.dmup-style--liquid.dmup-root.is-open .dmup-foot { animation:liquid-inner-in-dmup .5s ease-out .48s forwards; }
.dmup-style--liquid.dmup-root.is-closing .dmup-panel { animation:liquid-panel-out-dmup .62s cubic-bezier(.5,0,.75,1) .06s forwards; }
.dmup-style--liquid.dmup-root.is-closing .dmup-dim { animation:mask-out-dmup .34s ease-in .18s forwards; }
.dmup-style--sheet.dmup-root { align-items:flex-end; justify-content:stretch; padding:0; overflow:hidden; }
.dmup-style--sheet .dmup-panel { width:100%; max-width:none; max-height:min(78%,520px); min-height:200px; border-radius:20px 20px 0 0; background:#fff; box-shadow:0 -8px 32px rgba(0,0,0,.12); opacity:1; transform:translate3d(0,100%,0); transform-origin:center bottom; will-change:transform; }
.dmup-style--sheet .dmup-head:before { content:""; display:block; width:40px; height:4px; margin:0 auto 12px; border-radius:999px; background:#d1d5db; }
.dmup-style--sheet .dmup-foot { padding-bottom:max(12px,env(safe-area-inset-bottom,0px)); }
.dmup-style--sheet.dmup-root.is-open .dmup-dim { animation:mask-in-dmup .3s ease-out forwards; }
.dmup-style--sheet.dmup-root.is-open .dmup-panel { animation:sheet-arc-in-dmup .68s cubic-bezier(.22,1,.36,1) forwards; }
.dmup-style--sheet.dmup-root.is-open .dmup-head { animation:sheet-inner-in-dmup .45s ease-out .2s forwards; }
.dmup-style--sheet.dmup-root.is-open .dmup-body { animation:sheet-inner-in-dmup .5s ease-out .3s forwards; }
.dmup-style--sheet.dmup-root.is-open .dmup-foot { animation:sheet-inner-in-dmup .42s ease-out .38s forwards; }
.dmup-style--sheet.dmup-root.is-closing .dmup-panel { animation:sheet-arc-out-dmup .58s cubic-bezier(.55,0,.9,.4) .1s forwards; }
.dmup-style--sheet.dmup-root.is-closing .dmup-dim { animation:mask-out-dmup .34s ease-in .12s forwards; }
.dmup-style--blur .dmup-dim { backdrop-filter:blur(0px); }
.dmup-style--blur .dmup-panel { background:#fff; border-radius:16px; box-shadow:0 24px 60px rgba(0,0,0,.2); opacity:0; transform:perspective(900px) rotateX(38deg) rotateY(14deg) scale(1.35) translate3d(0,-12%,0); filter:blur(14px); transform-origin:50% 120%; }
.dmup-style--blur.dmup-root { perspective:900px; }
.dmup-style--blur.dmup-root.is-open .dmup-dim { animation:blurfocus-mask-in-dmup .5s ease-out forwards; }
.dmup-style--blur.dmup-root.is-open .dmup-panel { animation:blurfocus-panel-in-dmup .7s cubic-bezier(.2,1.1,.3,1) forwards; }
.dmup-style--blur.dmup-root.is-open .dmup-head { animation:blurfocus-inner-in-dmup .48s ease-out .26s forwards; }
.dmup-style--blur.dmup-root.is-open .dmup-body { animation:blurfocus-inner-in-dmup .52s ease-out .34s forwards; }
.dmup-style--blur.dmup-root.is-open .dmup-foot { animation:blurfocus-inner-in-dmup .44s ease-out .42s forwards; }
.dmup-style--blur.dmup-root.is-closing .dmup-dim { animation:blurfocus-mask-out-dmup .4s ease-in .12s forwards; }
.dmup-style--blur.dmup-root.is-closing .dmup-panel { animation:blurfocus-panel-out-dmup .55s cubic-bezier(.55,0,.9,.35) forwards; }
.dmup-style--gold.dmup-root { perspective:1000px; }
.dmup-style--gold .dmup-panel { background:#fff; border-radius:16px; border:2px solid rgba(230,180,34,.55); box-shadow:0 16px 48px rgba(230,180,34,.15),0 4px 16px rgba(0,0,0,.08); transform-style:preserve-3d; opacity:0; transform:rotateY(92deg) rotate(-8deg) scale(.35) translate3d(0,40px,-80px); transform-origin:50% 50%; }
.dmup-style--gold .dmup-foot-btn { color:var(--accent); }
.dmup-style--gold.dmup-root.is-open .dmup-dim { animation:gold-mask-in-dmup .38s ease-out forwards; }
.dmup-style--gold.dmup-root.is-open .dmup-panel { animation:gold-panel-in-dmup .74s cubic-bezier(.34,1.2,.64,1) forwards; }
.dmup-style--gold.dmup-root.is-open .dmup-head { animation:gold-inner-in-dmup .5s ease-out .3s forwards; }
.dmup-style--gold.dmup-root.is-open .dmup-body { animation:gold-inner-in-dmup .55s ease-out .4s forwards; }
.dmup-style--gold.dmup-root.is-open .dmup-foot { animation:gold-inner-in-dmup .45s ease-out .48s forwards; }
.dmup-style--gold.dmup-root.is-closing .dmup-dim { animation:mask-out-dmup .32s ease-in .16s forwards; }
.dmup-style--gold.dmup-root.is-closing .dmup-panel { animation:gold-panel-out-dmup .6s cubic-bezier(.55,0,.85,.35) forwards; }
.dmup-style--minimal .dmup-panel { background:#fff; border-radius:12px; box-shadow:0 8px 24px rgba(0,0,0,.1); opacity:1; -webkit-clip-path:polygon(0 0,0 0,0 100%,0 100%); clip-path:polygon(0 0,0 0,0 100%,0 100%); transform:skew(-6deg) translate3d(-8%,0,0); }
.dmup-style--minimal.dmup-root.is-open .dmup-dim { animation:minimal-mask-in-dmup .36s ease-out forwards; }
.dmup-style--minimal.dmup-root.is-open .dmup-panel { animation:minimal-panel-in-dmup .62s cubic-bezier(.22,1,.36,1) forwards; }
.dmup-style--minimal.dmup-root.is-open .dmup-head { animation:minimal-inner-in-dmup .4s ease-out .35s forwards; }
.dmup-style--minimal.dmup-root.is-open .dmup-body { animation:minimal-inner-in-dmup .45s ease-out .42s forwards; }
.dmup-style--minimal.dmup-root.is-open .dmup-foot { animation:minimal-inner-in-dmup .38s ease-out .48s forwards; }
.dmup-style--minimal.dmup-root.is-closing .dmup-dim { animation:mask-out-dmup .28s ease-in .2s forwards; }
.dmup-style--minimal.dmup-root.is-closing .dmup-panel { animation:minimal-panel-out-dmup .52s cubic-bezier(.55,0,.9,.4) forwards; }
.dmup-root.is-closing .dmup-head,.dmup-root.is-closing .dmup-body,.dmup-root.is-closing .dmup-foot { animation:none!important; opacity:1!important; transform:none!important; filter:none!important; }
.dmup-style--gold .dmup-title { color:#92400e; }
.dmup-style--gold .dmup-btn-close-txt { color:#e6b422; }
@media (prefers-reduced-motion: reduce) {
  .dmup-root--motion.is-open .dmup-dim,.dmup-root--motion.is-open .dmup-panel,.dmup-root--motion.is-closing .dmup-dim,.dmup-root--motion.is-closing .dmup-panel,.dmup-root--motion.is-open .dmup-head,.dmup-root--motion.is-open .dmup-body,.dmup-root--motion.is-open .dmup-foot,.dmup-root--motion.is-closing .dmup-head,.dmup-root--motion.is-closing .dmup-body,.dmup-root--motion.is-closing .dmup-foot { animation-duration:.01ms!important; animation-delay:0ms!important; filter:none!important; }
}
.dmup-mask { position:fixed; left:0; right:0; top:0; bottom:0; z-index:1400; background:rgba(0,0,0,.45); display:flex; align-items:center; justify-content:center; padding:1.25rem 1.125rem; box-sizing:border-box; }
.dmup-mask--teleport { z-index:10050; }
.dmup-panel { width:88%; max-width:21.25rem; background:#fff; border-radius:.875rem; box-shadow:0 .375rem 1.25rem rgba(0,0,0,.12); box-sizing:border-box; }
.dmup-head { position:relative; flex-shrink:0; z-index:2; padding:1.25rem 1.25rem .75rem; box-sizing:border-box; }
.dmup-title { display:block; text-align:center; font-size:1.125rem; font-weight:700; color:#111827; line-height:1.35; }
.dmup-close { position:absolute; right:.5rem; top:.75rem; z-index:3; width:2rem; height:2rem; display:flex; align-items:center; justify-content:center; }
.dmup-close-txt { font-size:1.25rem; line-height:1; color:#9ca3af; font-weight:300; }
.dmup-body { padding:0 1.25rem .5rem; }
.dmup-scroll { width:100%; padding:0 1.25rem; box-sizing:border-box; }
.dmup-rich { display:block; width:100%; word-break:break-word; overflow-wrap:anywhere; white-space:normal; }
.dmup-rich--h5 { font-size:15px; line-height:1.75; color:#111827; font-weight:600; text-align:left; }
.dmup-rich--h5 p,.dmup-rich--h5 div,.dmup-rich--h5 li { margin:0 0 14px; font-size:15px; color:#111827; line-height:1.75; font-weight:600; white-space:normal; overflow-wrap:anywhere; word-break:break-word; }
.dmup-rich--h5 img { max-width:100%; height:auto; display:block; }
.dmup-rich--h5 strong,.dmup-rich--h5 b { font-weight:700; }

@keyframes dmup-mask-in-dmup {0%{opacity:0}to{opacity:1}}

@keyframes dmup-panel-pop-dmup {0%{opacity:0;transform:scale(.72)}to{opacity:1;transform:scale(1)}}

@keyframes mask-in-dmup {0%{opacity:0}to{opacity:1}}

@keyframes mask-out-dmup {0%{opacity:1}to{opacity:0}}

@keyframes baseline-mask-in-dmup {0%{opacity:0}to{opacity:1}}

@keyframes baseline-panel-in-dmup {0%{opacity:0;transform:rotateY(-68deg) rotateX(14deg) scale(.42) translate3d(-22%,12%,-140px)}38%{opacity:1;transform:rotateY(16deg) rotateX(-6deg) scale(1.06) translate3d(6%,-4%,20px)}62%{transform:rotateY(-5deg) rotateX(3deg) scale(.98) translate3d(-2%,1%,0)}to{opacity:1;transform:rotateY(0) rotateX(0) scale(1) translateZ(0)}}

@keyframes baseline-panel-out-dmup {0%{opacity:1;transform:rotateY(0) rotateX(0) scale(1) translateZ(0)}45%{opacity:1;transform:rotateY(42deg) rotateX(-10deg) scale(.88) translate3d(14%,6%,-60px)}to{opacity:0;transform:rotateY(78deg) rotateX(18deg) scale(.35) translate3d(28%,18%,-200px)}}

@keyframes baseline-inner-in-dmup {0%{opacity:0;transform:translate3d(0,14px,0) rotateX(12deg)}to{opacity:1;transform:translateZ(0) rotateX(0)}}

@keyframes liquid-mask-in-dmup {0%{opacity:0;filter:brightness(1.2)}to{opacity:1;filter:brightness(1)}}

@keyframes liquid-panel-in-dmup {0%{opacity:0;transform:skew(-14deg) skewY(8deg) scale(.7,.5) translate3d(-6%,52px,0);filter:blur(12px)}28%{opacity:.85;transform:skew(9deg) skewY(-5deg) scale(1.08,.92) translate3d(8%,-8px,0);filter:blur(4px)}52%{transform:skew(-4deg) skewY(3deg) scale(.96,1.04) translate3d(-3%,4px,0);filter:blur(1px)}78%{transform:skew(2deg) skewY(-1deg) scale(1.02,.98) translate3d(1%,-2px,0)}to{opacity:1;transform:skew(0) skewY(0) scale(1) translateZ(0);filter:blur(0)}}

@keyframes liquid-panel-out-dmup {0%{opacity:1;transform:skew(0) scale(1) translateZ(0);filter:blur(0)}35%{transform:skew(11deg) skewY(-6deg) scale(1.05,.88) translate3d(12%,12px,0);filter:blur(3px)}to{opacity:0;transform:skew(-16deg) skewY(10deg) scale(.65,.45) translate3d(-20%,56px,0);filter:blur(14px)}}

@keyframes liquid-inner-in-dmup {0%{opacity:0;transform:scaleY(.6) translateY(8px)}to{opacity:1;transform:scaleY(1) translateY(0)}}

@keyframes sheet-arc-in-dmup {0%{transform:translate3d(-18%,100%,0) rotate(-5deg) scale(.92);opacity:1}32%{transform:translate3d(10%,38%,0) rotate(3.5deg) scale(1.01)}58%{transform:translate3d(-6%,8%,0) rotate(-1.5deg) scale(.995)}82%{transform:translate3d(3%,-1.5%,0) rotate(.8deg) scale(1.002)}to{transform:translateZ(0) rotate(0) scale(1);opacity:1}}

@keyframes sheet-arc-out-dmup {0%{transform:translateZ(0) rotate(0) scale(1);opacity:1}40%{transform:translate3d(14%,42%,0) rotate(4deg) scale(.96)}to{transform:translate3d(22%,108%,0) rotate(-6deg) scale(.88);opacity:1}}

@keyframes sheet-inner-in-dmup {0%{opacity:0;transform:translate3d(0,24px,0)}to{opacity:1;transform:translateZ(0)}}

@keyframes blurfocus-mask-in-dmup {0%{opacity:0;backdrop-filter:blur(0);-webkit-backdrop-filter:blur(0)}to{opacity:1;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}}

@keyframes blurfocus-mask-out-dmup {0%{opacity:1;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}to{opacity:0;backdrop-filter:blur(0);-webkit-backdrop-filter:blur(0)}}

@keyframes blurfocus-panel-in-dmup {0%{opacity:0;transform:perspective(900px) rotateX(42deg) rotateY(-18deg) scale(1.45) translate3d(0,-18%,0);filter:blur(16px)}40%{opacity:.9;transform:perspective(900px) rotateX(-8deg) rotateY(6deg) scale(.94) translate3d(0,4%,0);filter:blur(5px)}70%{transform:perspective(900px) rotateX(4deg) rotateY(-2deg) scale(1.02) translate3d(0,-1%,0);filter:blur(1px)}to{opacity:1;transform:perspective(900px) rotateX(0) rotateY(0) scale(1) translateZ(0);filter:blur(0)}}

@keyframes blurfocus-panel-out-dmup {0%{opacity:1;transform:perspective(900px) rotateX(0) rotateY(0) scale(1) translateZ(0);filter:blur(0)}55%{opacity:.7;transform:perspective(900px) rotateX(-22deg) rotateY(12deg) scale(.82) translate3d(0,8%,0);filter:blur(8px)}to{opacity:0;transform:perspective(900px) rotateX(35deg) rotateY(-20deg) scale(1.3) translate3d(0,-22%,0);filter:blur(18px)}}

@keyframes blurfocus-inner-in-dmup {0%{opacity:0;transform:scale(1.15);filter:blur(6px)}to{opacity:1;transform:scale(1);filter:blur(0)}}

@keyframes gold-mask-in-dmup {0%{opacity:0}60%{opacity:.6}to{opacity:1}}

@keyframes gold-panel-in-dmup {0%{opacity:0;transform:rotateY(94deg) rotate(-12deg) scale(.28) translate3d(0,48px,-120px)}35%{opacity:.5;transform:rotateY(48deg) rotate(6deg) scale(.72) translate3d(-8%,12px,-40px)}58%{opacity:1;transform:rotateY(-12deg) rotate(-3deg) scale(1.08) translate3d(4%,-6px,10px)}78%{transform:rotateY(6deg) rotate(2deg) scale(.97) translate3d(-2%,2px,0)}to{opacity:1;transform:rotateY(0) rotate(0) scale(1) translateZ(0)}}

@keyframes gold-panel-out-dmup {0%{opacity:1;transform:rotateY(0) rotate(0) scale(1) translateZ(0)}42%{transform:rotateY(-38deg) rotate(8deg) scale(.9) translate3d(10%,-20px,-30px)}to{opacity:0;transform:rotateY(-86deg) rotate(-14deg) scale(.25) translate3d(-6%,-56px,-140px)}}

@keyframes gold-inner-in-dmup {0%{opacity:0;transform:rotateY(40deg)}to{opacity:1;transform:rotateY(0)}}

@keyframes minimal-mask-in-dmup {0%{opacity:0}to{opacity:1}}

@keyframes minimal-panel-in-dmup {0%{-webkit-clip-path:polygon(0 0,0 0,0 100%,0 100%);clip-path:polygon(0 0,0 0,0 100%,0 100%);transform:skew(-10deg) translate3d(-12%,0,0)}45%{-webkit-clip-path:polygon(0 0,72% 0,38% 100%,0 100%);clip-path:polygon(0 0,72% 0,38% 100%,0 100%);transform:skew(4deg) translate3d(4%,0,0)}72%{-webkit-clip-path:polygon(0 0,100% 0,88% 100%,0 100%);clip-path:polygon(0 0,100% 0,88% 100%,0 100%);transform:skew(-2deg) translate3d(-1%,0,0)}to{-webkit-clip-path:polygon(0 0,100% 0,100% 100%,0 100%);clip-path:polygon(0 0,100% 0,100% 100%,0 100%);transform:skew(0) translateZ(0)}}

@keyframes minimal-panel-out-dmup {0%{-webkit-clip-path:polygon(0 0,100% 0,100% 100%,0 100%);clip-path:polygon(0 0,100% 0,100% 100%,0 100%);transform:skew(0) translateZ(0)}38%{-webkit-clip-path:polygon(28% 0,100% 0,100% 100%,62% 100%);clip-path:polygon(28% 0,100% 0,100% 100%,62% 100%);transform:skew(6deg) translate3d(8%,0,0)}to{-webkit-clip-path:polygon(100% 0,100% 0,100% 100%,100% 100%);clip-path:polygon(100% 0,100% 0,100% 100%,100% 100%);transform:skew(12deg) translate3d(18%,0,0)}}

@keyframes minimal-inner-in-dmup {0%{opacity:0}to{opacity:1}}

/* ===== DuMate skin: 底部导航「液态玻璃」尺寸与动效对齐参照站 h5-glass-tab-bar ===== */
/* ---- 容器：底部留 18px 安全区（参照站 .tabbar-wrap padding 0 16px 18px） ---- */
.tabbar-wrap{padding-left:16px!important;padding-right:16px!important;padding-bottom:18px!important}
/* ---- 胶囊：52px 高、透明玻璃（参照站 .h5-liquid-glass） ---- */
.tabbar-pill{position:relative;height:52px!important;padding:4px!important;border-radius:999px!important;background:rgba(255,255,255,.12)!important;-webkit-backdrop-filter:blur(2px) saturate(1.9) brightness(1.06)!important;backdrop-filter:blur(2px) saturate(1.9) brightness(1.06)!important;border:0!important;box-shadow:inset 0 0 0 .5px rgba(255,255,255,.2),inset 0 .5px 0 rgba(255,255,255,.8),0 8px 24px -8px rgba(0,0,0,.12),0 1px 3px rgba(0,0,0,.06)!important;overflow:hidden}
/* ---- 单元格：44px 高（52-8 内缩）、10px 文字（参照站 .h5-liquid-tab） ---- */
.tab-item{padding:0!important;gap:3px!important;font-size:10px!important;font-weight:500!important;line-height:1.15!important;color:#8a8a8a!important}
.tab-item.active{color:#e6b422!important}
.tab-icon-wrap{margin-bottom:0!important}
.tab-item .fill-icon-wrap,.tab-item .fill-icon-fallback{width:20px!important;height:20px!important}
.tab-item .fill-icon-svg{width:100%!important;height:100%!important}
.tab-item .tab-text{font-size:10px!important;line-height:1.15!important;color:#8a8a8a!important}
.tab-item.active .tab-text{color:#e6b422!important;font-weight:600}
/* ---- 透镜（参照站 .h5-liquid-lens：布局 cell×at、渲染 scale=1/at、--lift 驱动光效） ---- */
.dm-liquid-lens{position:absolute;left:0;top:50%;z-index:3;border-radius:999px;background:transparent;-webkit-backdrop-filter:saturate(1.5) brightness(1.1)!important;backdrop-filter:saturate(1.5) brightness(1.1)!important;box-shadow:inset 0 1px 1px rgba(255,255,255,calc(.8*var(--lift,0))),inset 0 -1px 1px rgba(255,255,255,calc(.4*var(--lift,0))),0 calc(6px*var(--lift,0)) calc(18px*var(--lift,0)) -6px rgba(0,0,0,.12);transform:translate3d(0,-50%,0);pointer-events:none;will-change:transform}
.dm-liquid-lens:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;background:rgba(0,0,0,.07);opacity:calc(1 - var(--lift,0))}
.dm-liquid-lens:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;padding:1px;background:linear-gradient(135deg,rgba(255,255,255,.9),rgba(255,255,255,.15) 35%,rgba(255,255,255,0),rgba(255,255,255,.15) 65%,rgba(255,255,255,.9));-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask:linear-gradient(#000 0 0) content-box exclude,linear-gradient(#000 0 0);opacity:var(--lift,0)}
@media (prefers-reduced-motion:reduce){.dm-liquid-lens,.dm-liquid-lens:before,.dm-liquid-lens:after{-webkit-transition:none!important;transition:none!important}.dm-liquid-lens.dm-liquid-lens--moving{animation:none!important}}
/* 「我的订单」缎带下缘压住订单图标行修复：缎带可视底缘紧贴「待付款」等图标（仅 2px 间隙），增大缎带容器下边距拉开间距，保持缎带造型与「更多功能」区块不变 */
.order-block .mine-card-ribbon{margin-bottom:.5rem}
/* ===== DuMate skin: 底部导航「透明玻璃」贯穿修复（对齐参照站 2100dj.qingyuanclub.com） =====
   参照站底部导航没有独立底板：页面内容一直铺到屏幕最底部，从玻璃胶囊后穿过，
   胶囊下方与左右两侧看到的是页面内容本身，而不是一条纯色底；本站原先用
   .h5-tab-bottom-inset{bottom:70px} 把页面底边抬到胶囊上方 70px 处，
   导航区域就只剩页面底板（.h5-tab-shell #f4f4f5）的纯色，看上去正是「白色背景」。
   这里改为与参照站一致的结构：
   1) 页面铺满整屏（bottom:0 / 100vh），滚动内容区延伸到屏幕底部；
   2) 滚动内容末尾补 70px（= 胶囊 52px + 容器底部安全区 18px）的穿透占位，
      保证滚到底时最后一个内容块仍完整露出、不被胶囊遮挡；
   3) 胶囊本体的尺寸、玻璃质感与透镜动效保持不变（见上文 .tabbar-pill / .dm-liquid-lens）。
   注意：不改动 public/h5/index.html，改动全部由本样式文件承载。 */
.page.h5-tab-bottom-inset{bottom:0!important}
.page.h5-tab-bottom-inset.h5-tab-bottom-inset--flex{height:100vh!important;max-height:100vh!important}
.uni-app--showtabbar uni-page-body{padding-bottom:0!important}
/* 内容末尾穿透占位：内容可铺到屏幕底部，滚到底时末项仍完整可见 */
.page.h5-tab-bottom-inset .scroll .uni-scroll-view-content::after,
.page.h5-tab-bottom-inset .scroll-body::after{content:"";display:block;height:70px;pointer-events:none}
/* 滚动容器/内容体不再自带底部内边距，避免与穿透占位叠加出新的空白带
   （首页 .scroll 8px、我的页 .scroll-body 16px） */
.page.h5-tab-bottom-inset uni-scroll-view.scroll,
.page.h5-tab-bottom-inset .scroll{padding-bottom:0!important}
.page.h5-tab-bottom-inset .scroll-body{padding-bottom:0!important}
/* 列表末梢「没有更多了」块（.list-footer）自带 20px 下内边距，作为最末子元素时清零，
   使列表末尾紧贴胶囊顶边（参照站同位置约 0） */
.page.h5-tab-bottom-inset .list-footer:last-child{padding-bottom:0!important;margin-bottom:0!important}
