/* 绵绵俱乐部 · 自绘糖果风样式（不依赖任何图片素材） */
:root{
  --ink:#5c4b7d; --ink-soft:#8b7aa8; --ink-light:#a99cc0;
  --pink:#f3a7c6; --pink-deep:#e478a6; --lilac:#c9b4ec;
  --lilac-deep:#a98fdc; --cream:#ffe6a8; --mint:#c9ead9; --sky:#cddff7;
  --card:rgba(255,255,255,.86); --line:rgba(160,130,200,.18);
  --shadow:0 8px 28px rgba(150,110,190,.14);
  --r:22px;
}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
[hidden]{display:none!important}
html,body{margin:0;padding:0;height:100%}
body{
  font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif;
  color:var(--ink); background:#f6eefb;
  background-image:
    repeating-linear-gradient(90deg,rgba(255,255,255,.55) 0 22px,rgba(255,255,255,0) 22px 46px),
    linear-gradient(160deg,#fdeaf2 0%,#f2e9fb 38%,#e9eefc 68%,#fdf3e2 100%);
  background-attachment:fixed;
  max-width:520px;margin:0 auto;overflow-x:hidden;
  padding-top:52px;padding-bottom:calc(104px + env(safe-area-inset-bottom));
}
button,input,textarea,select{font-family:inherit;font-size:14px;color:inherit}
button{cursor:pointer;border:0;background:none}
img{max-width:100%}
.mode-smooth *{backdrop-filter:none!important;animation:none!important;transition:none!important}
.mode-smooth .float-heart,.mode-smooth .dot,.mode-smooth .sparkle{display:none}
.mode-balanced .heavy-blur{backdrop-filter:blur(6px)}
.mode-full .heavy-blur{backdrop-filter:blur(14px)}

/* 顶部条 */
.topbar{position:fixed;top:0;left:50%;transform:translateX(-50%);width:100%;max-width:520px;height:52px;
  background:rgba(255,255,255,.92);display:flex;align-items:center;justify-content:center;z-index:30;
  border-bottom:1px solid var(--line);font-weight:700;letter-spacing:.5px}
.topbar-title{font-size:15px}
.topbar-dots{position:absolute;right:18px;color:var(--ink-soft);letter-spacing:2px}

/* 加载页 */
.loading{position:fixed;inset:0;z-index:100;display:flex;align-items:center;justify-content:center;
  background:linear-gradient(170deg,#fde7f1 0%,#f1e8fb 40%,#e8eefc 72%,#fdf2df 100%);
  background-image:repeating-linear-gradient(90deg,rgba(255,255,255,.5) 0 22px,rgba(255,255,255,0) 22px 46px),
  linear-gradient(170deg,#fde7f1 0%,#f1e8fb 40%,#e8eefc 72%,#fdf2df 100%);transition:opacity .45s}
.loading.hide{opacity:0;pointer-events:none}
.loading-inner{text-align:center;width:78%;margin-top:-12%}
.logo-bubble{width:250px;height:250px;margin:0 auto 26px;border-radius:50%;position:relative;
  background:linear-gradient(140deg,rgba(255,214,232,.9),rgba(205,190,240,.85),rgba(255,232,186,.85));
  box-shadow:0 14px 40px rgba(180,140,210,.22);display:grid;place-items:center}
.logo-bubble:before,.logo-bubble:after{content:"";position:absolute;border-radius:50%;background:rgba(247,186,215,.75)}
.logo-bubble:before{width:34px;height:34px;top:-22px;left:44px}
.logo-bubble:after{width:24px;height:24px;top:-14px;left:80px}
.logo-disc{width:196px;height:150px;border-radius:26px;background:#fff;display:flex;flex-direction:column;
  align-items:center;justify-content:center;gap:2px;box-shadow:0 6px 18px rgba(160,120,190,.16);
  border:5px solid rgba(255,255,255,.9);outline:2px dashed rgba(200,170,230,.7);outline-offset:-12px;position:relative}
.logo-disc:before{content:"🍓 🐰 🍓";position:absolute;top:8px;font-size:13px;letter-spacing:6px}
.logo-cn{font-size:38px;font-weight:900;letter-spacing:4px;color:#e78fb6;
  text-shadow:2px 2px 0 #fff,4px 4px 0 rgba(190,160,225,.45);margin-top:14px}
.logo-en{font-size:11px;letter-spacing:3px;color:#b9a3dd;font-weight:800}
.loading-title{font-size:34px;letter-spacing:6px;margin:0;color:#a58bd0;font-weight:900;
  text-shadow:2px 2px 0 rgba(255,255,255,.9)}
.loading-en{margin:10px 0 30px;letter-spacing:5px;color:var(--ink-light);font-size:13px}
.progress{height:16px;border-radius:20px;background:rgba(255,255,255,.9);position:relative;
  box-shadow:inset 0 1px 4px rgba(160,120,190,.15);overflow:visible}
.progress-fill{height:100%;width:0;border-radius:20px;
  background:repeating-linear-gradient(115deg,#f6a8cb 0 12px,#f9c3dc 12px 24px);transition:width .25s}
.progress-heart{position:absolute;top:50%;left:0;transform:translate(-50%,-50%);width:32px;height:32px;
  border-radius:50%;background:#fff;box-shadow:0 2px 8px rgba(190,140,190,.3);display:grid;place-items:center;
  color:var(--pink-deep);font-size:15px;transition:left .25s}
.loading-tip{margin-top:14px;color:var(--ink-soft);font-size:14px}
.loading-tip b{color:var(--pink-deep);margin-right:8px}
.float-heart{position:absolute;color:#f2a3c2;font-size:18px;animation:float 5s infinite ease-in-out}
.h1{left:8%;top:22%}.h2{right:10%;bottom:24%;font-size:13px;animation-delay:1.4s}
.dot{position:absolute;border-radius:50%;opacity:.7;animation:float 6s infinite ease-in-out}
.d1{width:26px;height:26px;background:#ffe2a9;left:18%;bottom:24%}
.d2{width:18px;height:18px;background:#cbdcf7;right:16%;top:30%;animation-delay:.8s}
.d3{width:12px;height:12px;background:#f7c8de;right:8%;top:16%;animation-delay:2s}
@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-14px)}}

/* 通用版块 */
.view{padding:14px 14px 92px;min-height:60vh}
.card{background:var(--card);border:1px solid rgba(255,255,255,.9);border-radius:var(--r);
  box-shadow:var(--shadow);padding:16px;margin-bottom:14px}
.sec-title{font-size:19px;font-weight:900;letter-spacing:1px;margin:2px 0 4px}
.sec-sub{font-size:11px;letter-spacing:2px;color:var(--ink-light);font-weight:800;text-transform:uppercase}
.muted{color:var(--ink-soft);font-size:12px}
.row{display:flex;align-items:center;gap:8px}
.between{display:flex;align-items:center;justify-content:space-between;gap:10px}
.chip{display:inline-flex;align-items:center;padding:5px 12px;border-radius:20px;font-size:12px;
  background:rgba(255,255,255,.85);border:1px solid var(--line);color:var(--ink-soft);white-space:nowrap}
.chip.pink{background:#fdeaf2;color:#d96f9d;border-color:#fad7e6}
.chip.lilac{background:#f0eafb;color:#8e72c4;border-color:#e3d8f8}
.chip.cream{background:#fff5da;color:#b58b3c;border-color:#f8e9bf}
.chip.mint{background:#e6f7ef;color:#5aa985;border-color:#d3eee1}
.chip.active{background:linear-gradient(110deg,#e7d8fb,#f9d7e8);color:#6b5099;font-weight:800;border-color:transparent}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:12px 22px;border-radius:18px;
  font-weight:800;font-size:14px;background:#fff;box-shadow:0 4px 12px rgba(160,120,190,.14);transition:transform .15s}
.btn:active{transform:scale(.96)}
.btn-primary{background:linear-gradient(110deg,#e6d2fb,#f8d3e6);color:#5c407f}
.btn-outline{border:1.5px solid rgba(160,130,200,.3);background:rgba(255,255,255,.7)}
.btn-block{width:100%}
.divider{height:1px;background:var(--line);margin:12px 0}

/* 首页头部 */
.club-head{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:20px;
  background:rgba(255,255,255,.8);box-shadow:var(--shadow);margin-bottom:12px}
.club-avatar{width:54px;height:54px;border-radius:18px;flex:none;display:grid;place-items:center;font-size:24px;
  background:linear-gradient(140deg,#fbd8e8,#e3d5fa,#ffedc8);border:2px solid #fff;box-shadow:0 3px 10px rgba(170,130,200,.2)}
.club-name{font-size:20px;font-weight:900;letter-spacing:1px}
.club-en{font-size:10px;letter-spacing:3px;color:var(--ink-light);font-weight:800;margin-top:2px}
.icon-btn{width:44px;height:44px;border-radius:16px;background:rgba(255,255,255,.9);display:grid;place-items:center;
  font-size:19px;box-shadow:0 3px 10px rgba(160,120,190,.14);position:relative}
.badge-dot{position:absolute;top:-4px;right:-4px;width:18px;height:18px;border-radius:50%;background:#f2769f;
  color:#fff;font-size:11px;display:grid;place-items:center;font-weight:800}
.notice-bar{display:flex;align-items:center;gap:8px;padding:10px 12px;border-radius:22px;
  background:rgba(255,255,255,.75);border:1px solid var(--line);font-size:12px;margin-bottom:14px;overflow:hidden}
.notice-bar .txt{color:var(--pink-deep);font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.notice-bar .lnk{margin-left:auto;font-weight:800;color:var(--ink);white-space:nowrap}

/* 活动横幅 */
.hero{border-radius:26px;padding:18px;margin-bottom:14px;position:relative;overflow:hidden;
  background:linear-gradient(120deg,#fde7f1,#eee4fc 55%,#e6ecfd);box-shadow:var(--shadow)}
.hero:after{content:"🎀";position:absolute;right:-8px;bottom:-14px;font-size:90px;opacity:.35;transform:rotate(-18deg)}
.hero .tag{display:inline-block;background:#fff;border-radius:14px;padding:4px 12px;font-size:11px;font-weight:800;color:#d478a3}
.hero h2{font-size:27px;margin:12px 0 6px;letter-spacing:2px}
.hero p{font-size:12px;color:var(--ink-soft);margin:0 0 14px;line-height:1.6;max-width:68%}
.hero-art{position:absolute;right:14px;top:16px;width:92px;height:112px;border-radius:14px;transform:rotate(8deg);
  background:repeating-linear-gradient(0deg,#fff 0 12px,#fbeef6 12px 14px);border:3px solid #fff;
  box-shadow:0 6px 16px rgba(160,120,190,.22);z-index:2}
.hero-art:before{content:"🍰 🍓";position:absolute;inset:8px;font-size:15px;line-height:1.5;letter-spacing:2px}
.hero .btn{padding:10px 20px;font-size:13px}
.dots{display:flex;justify-content:center;gap:6px;margin-top:12px}
.dots i{width:7px;height:7px;border-radius:50%;background:rgba(160,130,200,.3)}
.dots i.on{width:18px;border-radius:6px;background:var(--lilac-deep)}

/* 欢迎卡 */
.welcome-card h3{font-size:14px;color:var(--ink-soft);font-weight:600;margin:0 0 4px}
.welcome-card .big{font-size:26px;font-weight:900;letter-spacing:2px;color:#a88cda}
.welcome-card .heart{color:var(--pink);font-size:22px}
.quick-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:14px}
.quick-item{text-align:center;padding:10px 4px;border-radius:16px;background:rgba(255,255,255,.75);
  border:1px solid var(--line);font-size:11px;color:var(--ink-soft)}
.quick-item b{display:block;font-size:22px;margin-bottom:4px;filter:saturate(.8)}

/* 筛选条 */
.search{display:flex;align-items:center;gap:8px;background:rgba(255,255,255,.92);border-radius:20px;
  padding:11px 14px;box-shadow:var(--shadow);margin-bottom:12px}
.search input{border:0;outline:0;flex:1;background:transparent;font-size:13px}
.search .sicon{color:var(--lilac-deep);font-size:16px}
.filter-scroll{display:flex;gap:8px;overflow-x:auto;padding-bottom:10px;margin-bottom:4px;scrollbar-width:none}
.filter-scroll::-webkit-scrollbar{display:none}
.filter-scroll .chip{flex:none}
.count-line{font-size:12px;color:var(--ink-light);margin:6px 2px 12px}
.count-line b{color:var(--pink-deep);font-size:15px}

/* 菜单卡 */
.grid2{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}
.menu-card{background:rgba(255,255,255,.9);border-radius:20px;overflow:hidden;box-shadow:var(--shadow);position:relative}
.menu-cover{height:132px;position:relative;display:grid;place-items:center;overflow:hidden}
.menu-cover:before{content:"";position:absolute;inset:10px;border:2px dashed rgba(255,255,255,.85);border-radius:14px}
.menu-cover .cover-title{font-size:16px;font-weight:900;letter-spacing:1px;color:#fff;z-index:2;
  text-shadow:2px 2px 0 rgba(160,110,180,.45);text-align:center;padding:0 12px;line-height:1.4;word-break:break-all}
.menu-cover .cover-deco{position:absolute;right:8px;top:8px;font-size:18px;z-index:2}
.hot-flag{position:absolute;top:8px;left:8px;background:#f47a9f;color:#fff;font-size:10px;font-weight:800;
  padding:3px 9px;border-radius:12px;z-index:3;box-shadow:0 2px 6px rgba(220,100,150,.4)}
.cover-berry{background:linear-gradient(135deg,#a9c8f5,#cbb6ef)}
.cover-sky{background:linear-gradient(135deg,#9fd2ee,#c9c0f2)}
.cover-cream{background:linear-gradient(135deg,#f7d8b0,#f3b8cd)}
.cover-mint{background:linear-gradient(135deg,#b8e5d1,#d7d0f2)}
.cover-lilac{background:linear-gradient(135deg,#cbb2ee,#f2c2dd)}
.cover-peach{background:linear-gradient(135deg,#f8bfd4,#ffe0b5)}
.cover-lemon{background:linear-gradient(135deg,#f6e2a4,#c9e2c3)}
.cover-party{background:linear-gradient(135deg,#f7c6dd,#cbb4ef)}
.cover-ribbon{background:linear-gradient(135deg,#f7d5e6,#e2d4f7)}
.cover-card{background:linear-gradient(135deg,#d9cdf4,#f7d9e9)}
.menu-body{padding:11px 12px 12px}
.menu-body h4{font-size:14px;margin:0 0 8px;font-weight:800}
.menu-tags{display:flex;gap:5px;flex-wrap:wrap;margin-bottom:10px}
.menu-tags .chip{padding:3px 9px;font-size:10px}
.price-row{display:flex;align-items:center;justify-content:space-between}
.price{color:var(--pink-deep);font-weight:900;font-size:18px}
.price small{font-size:11px;color:var(--ink-light);font-weight:500}
.add-btn{width:34px;height:34px;border-radius:50%;background:linear-gradient(140deg,#fff2cf,#ffe0b5);
  display:grid;place-items:center;font-size:20px;font-weight:700;color:#a8803c;box-shadow:0 2px 6px rgba(200,160,90,.2)}
.add-btn.done{background:linear-gradient(140deg,#c9ead9,#a9dcc2);color:#3f8e6c}

/* 活动页 */
.act-card{display:flex;gap:12px;align-items:center;background:rgba(255,255,255,.88);border-radius:22px;
  padding:12px;box-shadow:var(--shadow);margin-bottom:12px}
.act-thumb{width:96px;height:96px;border-radius:14px;flex:none;position:relative;overflow:hidden;
  background:repeating-linear-gradient(0deg,#fff 0 10px,#f9edf7 10px 12px);border:2px solid #fff}
.act-thumb:before{content:"🎀 ✨";position:absolute;inset:8px;font-size:14px;line-height:1.7;letter-spacing:2px}
.act-info h3{font-size:18px;margin:2px 0 5px}
.act-info p{font-size:12px;color:var(--ink-soft);margin:0 0 8px;line-height:1.5}
.status{display:inline-flex;align-items:center;gap:5px;font-size:11px;color:#4aa47c;font-weight:800}
.status i{width:7px;height:7px;border-radius:50%;background:#5cc59a}
.fun-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.fun-item{border-radius:20px;padding:16px 8px;text-align:center;box-shadow:var(--shadow);
  background:rgba(255,255,255,.86);border:1px solid rgba(255,255,255,.9)}
.fun-item:nth-child(3n+1){background:linear-gradient(150deg,#fdeaf3,#fff)}
.fun-item:nth-child(3n+2){background:linear-gradient(150deg,#eeeafd,#fff)}
.fun-item:nth-child(3n){background:linear-gradient(150deg,#fff6dc,#fff)}
.fun-item .fi{font-size:28px;display:block;margin-bottom:8px}
.fun-item b{font-size:13px;display:block;margin-bottom:5px}
.fun-item small{font-size:10px;color:var(--ink-light);line-height:1.4;display:block}
.gift-strip{display:flex;gap:10px;overflow-x:auto;scrollbar-width:none}
.gift-strip::-webkit-scrollbar{display:none}
.gift-card{min-width:150px;height:96px;border-radius:18px;padding:12px;position:relative;overflow:hidden;flex:none;
  box-shadow:var(--shadow);background:linear-gradient(140deg,#fff,#f7ecf8)}
.gift-card:before{content:"";position:absolute;inset:6px;border:1.5px dashed rgba(190,160,220,.5);border-radius:12px}
.gift-card b{font-size:13px;position:relative;z-index:2}
.gift-card small{display:block;font-size:10px;color:var(--ink-light);margin-top:6px;position:relative;z-index:2}
.gift-card .ge{position:absolute;right:10px;bottom:6px;font-size:30px;opacity:.6}

/* 陪玩卡 */
.comp-card{background:rgba(255,255,255,.9);border-radius:20px;overflow:hidden;box-shadow:var(--shadow)}
.comp-photo{height:190px;position:relative;display:grid;place-items:center}
.comp-photo .face{font-size:58px;filter:drop-shadow(0 4px 8px rgba(120,80,160,.2));z-index:2}
.comp-photo:before{content:"✦ ˚ ✦";position:absolute;bottom:14px;font-size:13px;letter-spacing:10px;color:rgba(255,255,255,.85);z-index:2}
.ph-peach{background:linear-gradient(140deg,#f9c9dd,#fbe6c9)}
.ph-sky{background:linear-gradient(140deg,#bfd9f7,#e3d3f7)}
.ph-cream{background:linear-gradient(140deg,#f8e2bd,#f5c9d9)}
.ph-mint{background:linear-gradient(140deg,#c8e9d9,#e3d9f6)}
.ph-lilac{background:linear-gradient(140deg,#d6c2f2,#f8d2e5)}
.ph-lemon{background:linear-gradient(140deg,#f8e6ae,#d6e9c9)}
.ph-berry{background:linear-gradient(140deg,#b9cff3,#d9c4ef)}
.photo-flag{position:absolute;bottom:8px;right:8px;background:rgba(255,255,255,.92);border-radius:14px;
  padding:5px 10px;font-size:11px;color:#d76f9e;font-weight:800;z-index:3}
.comp-body{padding:11px}
.comp-body .nm{font-size:16px;font-weight:900;display:flex;align-items:center;gap:6px}
.online-dot{width:8px;height:8px;border-radius:50%;background:#5ccb96;display:inline-block}
.comp-body .tags{display:flex;gap:5px;flex-wrap:wrap;margin-top:8px}
.comp-body .tags .chip{padding:3px 9px;font-size:10px}

/* 我的页 */
.profile-banner{position:relative;border-radius:0 0 28px 28px;padding:18px 16px;margin:-14px -14px 14px;
  overflow:hidden;background:linear-gradient(120deg,#fbe1ee,#eee3fb 60%,#e5ecfd)}
.profile-banner:before{content:"🍓  🐰  🎀  🍰  🐰";position:absolute;top:6px;left:0;right:0;text-align:center;
  font-size:13px;letter-spacing:12px;opacity:.55}
.profile-row{display:flex;align-items:center;gap:12px;margin-top:20px}
.profile-avatar{width:64px;height:64px;border-radius:50%;background:#fff;display:grid;place-items:center;
  font-size:30px;border:4px solid rgba(255,255,255,.85);box-shadow:0 4px 12px rgba(160,120,190,.2);flex:none}
.profile-name{font-size:21px;font-weight:900}
.profile-hint{font-size:11px;color:var(--pink-deep);margin-top:4px}
.stat-bar{display:grid;grid-template-columns:repeat(3,1fr);background:rgba(255,255,255,.9);
  border-radius:22px;padding:16px 0;box-shadow:var(--shadow);margin-bottom:14px;text-align:center}
.stat-bar b{display:block;font-size:26px;color:var(--pink-deep);font-weight:900}
.stat-bar span{font-size:11px;color:var(--ink-soft)}
.nine-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px 6px;padding:6px 0}
.nine-item{text-align:center;font-size:11px;color:var(--ink-soft)}
.nine-item .ni{width:48px;height:48px;margin:0 auto 6px;border-radius:16px;display:grid;place-items:center;
  font-size:24px;background:linear-gradient(140deg,#fff,#f7ecf9);box-shadow:0 3px 10px rgba(160,120,190,.14)}
.seg{display:flex;background:rgba(255,255,255,.8);border-radius:18px;padding:4px;gap:4px}
.seg button{flex:1;padding:10px 4px;border-radius:14px;font-size:12px;font-weight:700;color:var(--ink-soft)}
.seg button.on{background:linear-gradient(110deg,#ffedc4,#ffe3ae);color:#8a6a2c;box-shadow:0 2px 8px rgba(210,170,90,.25)}

/* 专属板卡 */
.boss-card{border-radius:26px;padding:20px;position:relative;overflow:hidden;
  background:linear-gradient(135deg,#fdf0f8,#f1eafc 55%,#fdf5e6);box-shadow:var(--shadow);margin-bottom:14px}
.boss-card:after{content:"♡";position:absolute;right:-10px;bottom:-60px;font-size:230px;color:rgba(255,255,255,.6);line-height:1}
.boss-top{display:flex;align-items:center;gap:10px;position:relative;z-index:2}
.boss-logo{width:54px;height:54px;border-radius:16px;background:linear-gradient(140deg,#fbd7e8,#e2d3f8);
  display:grid;place-items:center;font-size:24px;border:2px solid #fff}
.boss-title{font-size:22px;font-weight:900}
.boss-en{font-size:10px;letter-spacing:4px;color:var(--ink-light);margin-top:3px}
.boss-badge{margin-left:auto;font-size:11px;letter-spacing:3px;color:#d0a85a;font-weight:900}
.boss-sim{width:52px;height:38px;border-radius:8px;margin:18px 0 14px;
  background:repeating-linear-gradient(90deg,#f4d894 0 16px,#e9c574 16px 18px);box-shadow:inset 0 0 0 1px rgba(180,140,60,.3)}
.boss-no{font-size:28px;font-weight:900;letter-spacing:4px;position:relative;z-index:2}
.boss-meta{display:flex;gap:24px;margin-top:8px;font-size:10px;letter-spacing:1px;color:var(--ink-light);position:relative;z-index:2}
.boss-name{font-size:20px;font-weight:900;margin-top:16px;position:relative;z-index:2}
.board-sample{border-radius:20px;padding:16px;background:repeating-linear-gradient(0deg,#fff 0 18px,#fdf3f9 18px 20px);
  border:2px dashed rgba(220,170,210,.6);position:relative;overflow:hidden}
.board-sample h4{font-size:16px;margin:0 0 12px;color:#d884ac;letter-spacing:2px}
.sample-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.sample-box{border:1.5px dashed rgba(200,160,220,.6);border-radius:12px;padding:9px;background:rgba(255,255,255,.85)}
.sample-box b{font-size:11px;color:var(--ink-soft);display:block;margin-bottom:6px}
.sample-box p{font-size:10px;color:var(--ink-light);margin:0;line-height:1.7}
.sample-deco{position:absolute;right:6px;bottom:2px;font-size:22px;opacity:.7}

/* 表单 */
.field{margin-bottom:12px}
.field label{display:block;font-size:12px;font-weight:800;color:var(--ink-soft);margin-bottom:6px}
.field input,.field textarea,.field select{width:100%;border:1.5px solid var(--line);background:rgba(255,255,255,.9);
  border-radius:14px;padding:11px 12px;outline:0;font-size:13px}
.field input:focus,.field textarea:focus{border-color:var(--lilac-deep)}
.field textarea{min-height:70px;resize:vertical}
.field .tip{font-size:10px;color:var(--ink-light);margin-top:4px}
.form-title{font-size:19px;font-weight:900;margin-bottom:4px}
.form-desc{font-size:12px;color:var(--ink-soft);line-height:1.6;margin-bottom:16px}

/* 订单/评价 */
.list-row{display:flex;gap:10px;padding:12px 0;border-bottom:1px dashed var(--line)}
.list-row:last-child{border-bottom:0}
.list-row .li{width:40px;height:40px;border-radius:14px;background:linear-gradient(140deg,#fde7f2,#eee4fb);
  display:grid;place-items:center;font-size:19px;flex:none}
.list-row h4{margin:0 0 4px;font-size:13px}
.list-row p{margin:0;font-size:11px;color:var(--ink-light);line-height:1.5}
.stars{color:#f3b64c;font-size:12px;letter-spacing:1px}

/* 底部导航 */
.tabbar{position:fixed;bottom:0;left:50%;transform:translateX(-50%);width:100%;max-width:520px;height:74px;
  background:rgba(255,255,255,.95);display:grid;grid-template-columns:repeat(5,1fr);z-index:40;
  padding-bottom:env(safe-area-inset-bottom);box-shadow:0 -4px 20px rgba(150,110,190,.12)}
.tabbar:before{content:"";position:absolute;top:-11px;left:0;right:0;height:14px;
  background:radial-gradient(circle at 12px 0,transparent 12px,rgba(255,255,255,.95) 12.5px) 0 0/24px 14px repeat-x}
.tab{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;
  font-size:10px;color:var(--ink-light);font-weight:700}
.tab.active{color:var(--pink-deep)}
.ti{width:24px;height:24px;display:grid;place-items:center;font-size:18px;line-height:1}
.ti-home:before{content:""}.ti-menu:before{content:""}.ti-gift:before{content:""}
.ti-bear:before{content:""}.ti-user:before{content:""}
.tab.active .ti{transform:translateY(-2px) scale(1.08)}

/* 客服浮标 */
.service-fab{position:fixed;right:14px;bottom:96px;width:60px;height:60px;border-radius:50%;z-index:35;
  background:rgba(255,255,255,.95);box-shadow:0 6px 18px rgba(150,110,190,.25);display:flex;
  flex-direction:column;align-items:center;justify-content:center;gap:1px;color:var(--lilac-deep)}
.service-fab .srv-icon{font-size:22px;line-height:1}
.service-fab small{font-size:10px;font-weight:800}
.srv-online{position:absolute;top:6px;right:8px;width:9px;height:9px;border-radius:50%;background:#5ccb96;border:2px solid #fff}

/* 弹窗 */
.modal-mask{position:fixed;inset:0;background:rgba(80,60,110,.4);z-index:90;display:flex;
  align-items:flex-end;justify-content:center;padding:0}
.modal{width:100%;max-width:520px;background:linear-gradient(170deg,#fff,#fdf4fb);border-radius:26px 26px 0 0;
  padding:20px 18px calc(24px + env(safe-area-inset-bottom));max-height:86vh;overflow-y:auto;
  animation:slideup .28s ease}
@keyframes slideup{from{transform:translateY(100%)}to{transform:translateY(0)}}
.modal-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}
.modal-head h3{font-size:18px;margin:0;font-weight:900}
.modal-close{width:30px;height:30px;border-radius:50%;background:rgba(160,130,200,.12);font-size:16px;color:var(--ink-soft)}
.modal-actions{display:flex;gap:10px;margin-top:16px}
.modal-actions .btn{flex:1}
.result-box{text-align:center;padding:22px 12px;border-radius:20px;background:linear-gradient(140deg,#fdeaf3,#eee7fc);margin:10px 0}
.result-box .re{font-size:44px}
.result-box h3{font-size:19px;margin:8px 0 4px}
.result-box p{font-size:12px;color:var(--ink-soft);margin:0;line-height:1.6}

/* toast */
.toast{position:fixed;left:50%;top:80px;transform:translate(-50%,-20px);background:rgba(92,75,125,.94);
  color:#fff;padding:10px 18px;border-radius:20px;font-size:13px;z-index:120;opacity:0;
  transition:all .25s;pointer-events:none;white-space:nowrap;box-shadow:0 6px 18px rgba(80,60,110,.3)}
.toast.show{opacity:1;transform:translate(-50%,0)}
.sparkle{position:absolute;font-size:12px;opacity:.5}

/* 2026-11-10 统一 SVG 图标尺寸 */
.ui-ico{width:1.15em;height:1.15em;vertical-align:-0.18em;display:inline-block;flex:none}
.fi .ui-ico,.fun-item .ui-ico{width:22px;height:22px;vertical-align:middle}
.comp-photo .face .ui-ico{width:34px;height:34px}
.result-box .re .ui-ico{width:44px;height:44px}

/* 绵绵俱乐部 · 增强功能样式（换肤 / 报表 / 进度 / 后台组件） */

/* ---------- 换肤：覆盖 app.css 的 :root 变量 ---------- */
html[data-theme="mint"]{
  --pink:#8fd4b6; --pink-deep:#4fa781; --lilac:#a9dfd0;
  --lilac-deep:#68b99b; --cream:#dff3c6; --ink:#3f6157; --ink-soft:#6f9288;
}
html[data-theme="mint"] body{background-image:repeating-linear-gradient(90deg,rgba(255,255,255,.5) 0 22px,rgba(255,255,255,0) 22px 46px),linear-gradient(160deg,#e6f7ee 0%,#eefaf3 40%,#e3f3fa 72%,#f4fbe8 100%)}
html[data-theme="sunset"]{
  --pink:#f6b48a; --pink-deep:#e07b52; --lilac:#f4c7a8;
  --lilac-deep:#d99a6c; --cream:#ffe0a8; --ink:#6b4a42; --ink-soft:#9b7568;
}
html[data-theme="sunset"] body{background-image:repeating-linear-gradient(90deg,rgba(255,255,255,.5) 0 22px,rgba(255,255,255,0) 22px 46px),linear-gradient(160deg,#ffeadf 0%,#fdeee3 40%,#fbe6ee 72%,#fff3dd 100%)}
html[data-theme="ocean"]{
  --pink:#93b9e8; --pink-deep:#4d7fc4; --lilac:#b4c9ee;
  --lilac-deep:#6f94cf; --cream:#cfe6f2; --ink:#3f4f70; --ink-soft:#7183a6;
}
html[data-theme="ocean"] body{background-image:repeating-linear-gradient(90deg,rgba(255,255,255,.5) 0 22px,rgba(255,255,255,0) 22px 46px),linear-gradient(160deg,#e3edfb 0%,#e9f1fc 40%,#dce9f8 72%,#eef6f5 100%)}

/* ---------- 用户端新增组件 ---------- */
.ex-card{margin-bottom:14px}
.ex-themes{display:flex;gap:8px;flex-wrap:wrap}
.ex-themes .chip{cursor:pointer}
.ex-share{text-align:center;padding:22px 14px;border-radius:20px;
  background:linear-gradient(140deg,#fdeaf3,#eee7fc 60%,#fdf5e6);margin-bottom:14px;position:relative;overflow:hidden}
.ex-share:after{content:"🎀";position:absolute;right:-8px;bottom:-22px;font-size:90px;opacity:.25}
.ex-share-logo{width:60px;height:60px;border-radius:20px;margin:0 auto 12px;display:grid;place-items:center;
  font-size:30px;background:linear-gradient(140deg,#fbd7e8,#e2d3f8);border:2px solid #fff}
.ex-share-line{background:rgba(255,255,255,.85);border:1px dashed rgba(190,160,220,.6);border-radius:12px;
  padding:10px;font-size:12px;color:#8b7aa8;line-height:1.7;word-break:break-all;position:relative;z-index:2}
.ex-track{border:1px dashed rgba(200,170,220,.6);border-radius:14px;padding:12px;margin-bottom:10px;background:rgba(255,255,255,.8)}
.ex-steps{display:flex;align-items:center;gap:6px;margin-top:8px;flex-wrap:wrap}
.ex-steps span{font-size:10px;padding:4px 9px;border-radius:12px;background:#f2ecf8;color:#a99cc0}
.ex-steps span.on{background:linear-gradient(110deg,#e7d8fb,#f9d7e8);color:#6b5099;font-weight:800}
.ex-steps i{color:#c9b9dd;font-style:normal;font-size:11px}

/* ---------- 后台新增组件 ---------- */
.ex-chart{display:flex;align-items:flex-end;gap:8px;height:160px;padding:10px 4px 0;
  border-bottom:1px solid #eee6f6;margin-top:10px}
.ex-bar-col{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;height:100%;gap:4px}
.ex-bar{width:70%;max-width:38px;border-radius:8px 8px 0 0;
  background:linear-gradient(180deg,#c4a6ea,#f2b6d2);transition:height .4s}
.ex-bar.alt{background:linear-gradient(180deg,#a9d8ea,#c9b4ec)}
.ex-bar-val{font-size:10px;color:#8b7aa8;font-weight:700}
.ex-bar-col small{font-size:10px;color:#b6a9c9;margin-bottom:2px}
.ex-rank{display:flex;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid #f6f2fa;font-size:13px}
.ex-rank:last-child{border-bottom:0}
.ex-rank-no{width:24px;height:24px;border-radius:8px;display:grid;place-items:center;flex:none;
  background:linear-gradient(140deg,#ffedc4,#ffe3ae);color:#8a6a2c;font-weight:900;font-size:12px}
.ex-rank b{flex:1}
.ex-status{display:flex;gap:18px;flex-wrap:wrap;margin-top:12px;font-size:13px}
.ex-sel{width:100%;min-width:96px;border:1px solid #e8dff3;border-radius:8px;padding:5px 6px;font-size:12px;outline:0;background:#fff}
.ex-field{margin-bottom:12px;max-width:420px}
.ex-field label{display:block;font-size:12px;font-weight:700;color:#8b7aa8;margin-bottom:6px}
.ex-field input,.ex-field select{width:100%;border:1.5px solid #e8dff3;border-radius:10px;padding:10px 12px;outline:0}
.ex-field input:focus,.ex-field select:focus{border-color:#b79ae4}
.ex-inline{display:flex;gap:8px;margin-top:14px;flex-wrap:wrap}
.ex-inline input{flex:1;min-width:130px;border:1.5px solid #e8dff3;border-radius:10px;padding:9px 12px;outline:0}
.ex-inline .btn{flex:none}
#exCapWrap{margin-bottom:14px}
#exCapWrap label{display:block;text-align:left;font-size:12px;font-weight:700;color:#8b7aa8;margin-bottom:6px}
#exCapWrap input{width:100%;border:1.5px solid #e8dff3;border-radius:12px;padding:12px;outline:0;margin-bottom:0}
#exCapWrap input[type=hidden]{display:none}
@media(max-width:760px){
  .ex-chart{height:130px;gap:4px}
  .ex-bar-val{font-size:9px}.ex-bar-col small{font-size:9px}
  .ex-inline{flex-direction:column}.ex-inline .btn{width:100%}
}

/* 绵绵俱乐部 · 动态加载页（splash）
   全部为自绘 CSS 动画，不引用任何外部图片；在 app.css 之后加载。 */

/* 竖条纹缓慢横向漂移 + 顶部柔光 */
.loading{
  /* 进入页固定使用品牌糖果粉，不跟随用户端换肤，避免半粉半绿 */
  --pink:#f3a7c6; --pink-deep:#e478a6; --lilac:#c9b4ec; --lilac-deep:#a98fdc;
  --cream:#ffe6a8; --ink:#5c4b7d; --ink-soft:#8b7aa8; --ink-light:#a99cc0;
  background-position:0 0, 0 0;
  animation:stripeDrift 18s linear infinite;
}
@keyframes stripeDrift{to{background-position:46px 0, 0 0}}

.splash-glow{position:absolute;inset:-20%;pointer-events:none;
  background:radial-gradient(circle at 30% 25%,rgba(255,214,235,.55),transparent 42%),
             radial-gradient(circle at 76% 72%,rgba(206,224,255,.5),transparent 46%),
             radial-gradient(circle at 50% 90%,rgba(255,235,190,.45),transparent 44%);
  animation:glowBreathe 7s ease-in-out infinite alternate}
@keyframes glowBreathe{from{transform:scale(1) translateY(0);opacity:.75}
  to{transform:scale(1.12) translateY(-14px);opacity:1}}

/* 顶部极细进度线 */
.splash-top{position:absolute;top:0;left:0;right:0;height:3px;background:rgba(255,255,255,.55)}
.splash-top i{display:block;height:100%;width:0;border-radius:0 3px 3px 0;
  background:linear-gradient(90deg,#a8e0c0,#f4a9cd 45%,#b79ae4 80%,#ffd89b);
  box-shadow:0 0 12px rgba(230,150,200,.6);transition:width .18s linear}

/* 中央 logo：呼吸 + 环绕轨道 + 高光扫过 */
.logo-bubble{animation:logoBreathe 3.4s ease-in-out infinite;position:relative}
@keyframes logoBreathe{0%,100%{transform:scale(1)}50%{transform:scale(1.035)}}

.logo-orbit{position:absolute;inset:-16px;border-radius:50%;border:2px dashed rgba(255,255,255,.75);
  animation:orbitSpin 16s linear infinite}
.logo-orbit i{position:absolute;width:18px;height:18px;border-radius:50%;
  box-shadow:0 3px 10px rgba(170,130,200,.25);border:2px solid rgba(255,255,255,.9)}
.logo-orbit i:nth-child(1){background:#ffe2a9;top:-9px;left:16%}
.logo-orbit i:nth-child(2){background:#cbdcf7;top:18%;right:-9px}
.logo-orbit i:nth-child(3){background:#f7c8de;bottom:-9px;left:62%}
.logo-orbit i:nth-child(4){background:#d9eecf;bottom:16%;left:-9px}
@keyframes orbitSpin{to{transform:rotate(360deg)}}

.logo-disc{overflow:hidden;animation:discBob 4s ease-in-out infinite}
.logo-disc:after{content:"";position:absolute;inset:0;transform:translateX(-130%);
  background:linear-gradient(100deg,transparent 30%,rgba(255,255,255,.75) 50%,transparent 70%);
  animation:discShine 3.6s ease-in-out infinite}
@keyframes discBob{0%,100%{transform:translateY(0)}50%{transform:translateY(-5px)}}
@keyframes discShine{0%,60%{transform:translateX(-130%)}100%{transform:translateX(130%)}}

.loading-title{animation:titleIn .9s cubic-bezier(.2,.8,.2,1) both}
@keyframes titleIn{from{opacity:0;transform:translateY(16px) scale(.96)}to{opacity:1;transform:none}}
.loading-en{animation:titleIn 1.1s .12s cubic-bezier(.2,.8,.2,1) both}
.splash-sub{margin:8px 0 0;font-size:11px;letter-spacing:2px;color:#b3a4ca;font-weight:700;
  animation:titleIn 1.2s .2s cubic-bezier(.2,.8,.2,1) both}

/* 进度条：流动条纹 + 爱心滑块上下浮动 */
.progress-fill{
  position:relative;
  background:linear-gradient(90deg,#f6a8cb,#f9c3dc 35%,#cdb6ee 70%,#ffdfa8);
  background-size:180% 100%;animation:barFlow 2.2s linear infinite;
}
.progress-fill:after{content:"";position:absolute;inset:0;border-radius:20px;
  background:repeating-linear-gradient(115deg,rgba(255,255,255,.35) 0 10px,transparent 10px 22px)}
@keyframes barFlow{to{background-position:180% 0}}
.progress-heart{animation:heartBob 1.5s ease-in-out infinite;z-index:2;
  font-family:Arial,"Segoe UI Symbol",sans-serif;font-variant-emoji:text;color:#e478a6}
.logo-disc:before{content:"✿ ♡ ✿";letter-spacing:8px;color:#c9a7e0;font-size:13px}
@keyframes heartBob{0%,100%{transform:translate(-50%,-50%) rotate(-6deg)}
  50%{transform:translate(-50%,-62%) rotate(6deg)}}

/* 文案逐段切换时的淡入 */
.loading-tip span{display:inline-block}
.loading-tip span.swap{animation:tipIn .45s ease both}
@keyframes tipIn{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:none}}
.loading-tip b{display:inline-block;min-width:46px;text-align:left}

/* 漂浮元素补充 */
.float-heart.h3{left:16%;bottom:16%;font-size:12px;animation-delay:2.4s}
.float-heart.h4{right:22%;top:18%;font-size:15px;color:#e9c27a;animation-delay:1.1s}
.dot.d4{width:14px;height:14px;background:#d8efd8;left:9%;top:44%;animation-delay:1.7s}
.dot.d5{width:20px;height:20px;background:#ffe0ee;right:9%;bottom:40%;animation-delay:3.1s}

/* 完成：整体上移 + 轻微缩放淡出 */
.loading.done{animation:splashOut .54s cubic-bezier(.4,0,.2,1) forwards}
.loading.done .loading-inner{animation:splashInner .54s cubic-bezier(.4,0,.2,1) forwards}
@keyframes splashOut{0%{opacity:1}100%{opacity:0;transform:translateY(-24px) scale(1.04)}}
@keyframes splashInner{0%{opacity:1;transform:none}100%{opacity:0;transform:translateY(-30px) scale(.94)}}

/* 无障碍：系统开启「减少动态效果」时直接静态呈现 */
@media(prefers-reduced-motion:reduce){
  .loading,.splash-glow,.logo-bubble,.logo-orbit,.logo-disc,.logo-disc:after,
  .progress-fill,.progress-heart,.float-heart,.dot,.loading-title,.loading-en,
  .splash-sub,.loading-tip span.swap{animation:none!important}
  .loading.done{animation:splashOut .25s ease forwards}
}

/* 绵绵俱乐部 · UI 优化 + 背景音乐
   组件内部固定品牌色，不跟随用户端换肤，避免出现半粉半绿。 */
.ui-polish,
.svc-online, .svc-title, .shift-row, .svc-qr-wrap, .svc-faq,
.act-hero, .act-poster, .act-hint, .act-join,
.gift-tabs, .gift-tile, .dice-hero, .dice-result, .challenge-card,
.bgm-fab, .bgm-label {
  --ink:#5c4b7d; --ink-soft:#8b7aa8; --ink-light:#a99cc0;
  --pink:#f3a7c6; --pink-deep:#e478a6; --lilac:#c9b4ec; --lilac-deep:#a98fdc;
  --cream:#ffe6a8; --line:rgba(160,130,200,.18);
  color:var(--ink);
}

/* ---------- 客服弹窗：班次 ---------- */
.svc-online{display:flex;align-items:center;gap:7px;justify-content:center;
  font-size:12px;font-weight:800;color:#3f9e72;margin:2px 0 14px;flex-wrap:wrap}
.svc-online i{width:8px;height:8px;border-radius:50%;background:#4fc08a;
  box-shadow:0 0 0 4px rgba(79,192,138,.16);flex:none}
.svc-brand{color:#8b7aa8;font-weight:600}
.svc-title{display:flex;align-items:center;gap:12px;margin-bottom:14px}
.svc-ico{width:52px;height:52px;border-radius:18px;flex:none;display:grid;place-items:center;font-size:26px;
  background:linear-gradient(140deg,#fdeaf3,#eee7fc);border:2px solid #fff;
  box-shadow:0 4px 12px rgba(170,130,200,.18)}
.svc-title h3{margin:0 0 3px;font-size:19px;letter-spacing:1px}
.svc-title p{margin:0;font-size:12px;color:#8b7aa8;line-height:1.6}
.shift-row{display:flex;gap:7px;margin-bottom:14px}
.shift{flex:1;position:relative;border-radius:14px;padding:12px 4px;text-align:center;
  background:#f7f3fb;border:1px solid rgba(160,130,200,.12);transition:transform .2s}
.shift b{display:block;font-size:14px;font-weight:900}
.shift small{display:block;font-size:10px;color:#a99cc0;margin-top:3px}
.shift.on{background:linear-gradient(135deg,#f6c9e0,#d9c7f5);border-color:transparent;
  box-shadow:0 5px 14px rgba(190,140,210,.24);transform:translateY(-2px)}
.shift.on b,.shift.on small{color:#5c407f}
.shift-badge{position:absolute;top:-9px;right:-4px;background:#4fc08a;color:#fff;
  font-size:9px;font-weight:800;padding:3px 7px;border-radius:9px;white-space:nowrap;
  box-shadow:0 2px 6px rgba(79,192,138,.35)}
.svc-qr-wrap{border-radius:20px;padding:14px;margin-bottom:12px;text-align:center;
  background:linear-gradient(150deg,#fdf1f7,#f0eafb 60%,#fdf6e6);
  border:1px dashed rgba(190,160,220,.5);position:relative;overflow:hidden}
.svc-qr{max-width:230px;width:100%;border-radius:12px;display:block;margin:0 auto;background:#fff}
.svc-qr-ph{background:rgba(255,255,255,.85);border-radius:14px;padding:18px 12px;
  border:2px dashed rgba(190,160,220,.45);display:flex;flex-direction:column;align-items:center;gap:5px}
.svc-qr-ph>span{font-size:34px}
.svc-qr-ph b{font-size:15px;letter-spacing:1px;color:#8e72c4}
.svc-qr-ph small{font-size:10px;color:#a99cc0;line-height:1.6}
.svc-qr-tip{margin:10px 0 0;font-size:11px;color:#8b7aa8;font-weight:700}
.svc-faq{width:100%;display:flex;align-items:center;gap:10px;padding:12px;border-radius:16px;
  background:#fff;border:1px solid rgba(160,130,200,.16);text-align:left;margin-bottom:12px;
  box-shadow:0 3px 10px rgba(160,120,190,.08)}
.svc-faq>span{font-size:22px}
.svc-faq div{flex:1}
.svc-faq b{display:block;font-size:13px}
.svc-faq small{font-size:11px;color:#a99cc0}
.svc-faq i{font-style:normal;font-size:22px;color:#c3b2dd}

/* ---------- 活动详情 ---------- */
.act-hero{padding:14px 16px;border-radius:20px;background:linear-gradient(140deg,#fdf0f7,#f0eafb);
  margin-bottom:12px}
.act-hero h2{margin:9px 0 5px;font-size:25px;letter-spacing:1px;color:#5c4b7d}
.act-hero p{margin:0;font-size:13px;color:#8b7aa8;line-height:1.7}
.act-poster{border-radius:18px;padding:8px;margin-bottom:12px;
  background:repeating-linear-gradient(45deg,#fdeaf3 0 12px,#f4ecfb 12px 24px)}
.ap-inner{min-height:150px;border-radius:13px;background:rgba(255,255,255,.92);
  border:2px dashed rgba(190,160,220,.5);display:flex;flex-direction:column;
  align-items:center;justify-content:center;gap:6px;text-align:center;padding:18px}
.ap-inner span{font-size:36px}
.ap-inner b{font-size:15px;color:#8e72c4;letter-spacing:1px}
.ap-inner small{font-size:10px;color:#a99cc0}
.act-hint{font-size:12px;color:#8b7aa8;line-height:1.7;margin:12px 2px}
.act-join{font-size:15px;padding:14px;border-radius:20px}

/* ---------- 礼物 Tab ---------- */
.gift-tabs{display:flex;gap:6px;background:#f3edfa;border-radius:18px;padding:5px;margin-bottom:14px}
.gift-tabs button{flex:1;padding:11px 6px;border-radius:14px;font-size:14px;font-weight:800;
  color:#8b7aa8;transition:all .22s}
.gift-tabs button.on{background:linear-gradient(110deg,#f7cfe5,#dcc9f6);color:#5c407f;
  box-shadow:0 4px 12px rgba(180,140,210,.2)}
.gift-tile{background:rgba(255,255,255,.9);border-radius:18px;overflow:hidden;
  box-shadow:0 6px 18px rgba(150,110,190,.12);margin-bottom:12px}
.gt-art{height:118px;display:grid;place-items:center;position:relative}
.gt-art span{font-size:44px;filter:drop-shadow(0 4px 6px rgba(160,120,190,.2))}
.gt-art:after{content:"";position:absolute;inset:auto -20px -34px -20px;height:70px;
  background:rgba(255,255,255,.35);border-radius:50%}
.gt-ribbon{background:linear-gradient(140deg,#fde3ef,#f6d9ec)}
.gt-star{background:linear-gradient(140deg,#fff0c9,#ffe2b8)}
.gt-gift{background:linear-gradient(140deg,#e7e0fa,#f3e6f8)}
.gt-crown{background:linear-gradient(140deg,#dff0e6,#eaf7ef)}
.gt-body{padding:11px 12px 14px}
.gt-body b{display:block;font-size:14px;line-height:1.4}
.gt-body small{display:block;font-size:10px;color:#a99cc0;margin-top:4px;line-height:1.5}

/* ---------- 骰子玩法 ---------- */
.dice-hero{text-align:center;padding:6px 0 14px}
.dice-cup{width:160px;height:120px;margin:0 auto;border-radius:0 0 70px 70px;
  background:linear-gradient(160deg,#fbe0ef,#e6dcf9);border:3px solid #fff;border-top:0;
  display:grid;place-items:center;box-shadow:0 10px 26px rgba(180,140,210,.2)}
.dice-cup span{font-size:54px;animation:diceBob 2.4s ease-in-out infinite}
@keyframes diceBob{0%,100%{transform:translateY(0) rotate(-6deg)}50%{transform:translateY(-9px) rotate(6deg)}}
.dice-tip{margin:14px 0 0;font-size:12px;color:#a99cc0}
.dice-roll{font-size:16px;padding:14px;border-radius:20px;margin-bottom:12px}
.dice-result{display:flex;align-items:center;gap:12px;background:linear-gradient(120deg,#fdf0f8,#f1eafb);
  border-radius:16px;padding:12px;margin-bottom:12px}
.dr-face{width:42px;height:42px;border-radius:13px;background:#fff;display:grid;place-items:center;
  font-size:22px;font-weight:900;color:#8e72c4;box-shadow:0 3px 9px rgba(160,120,190,.16);flex:none}
.dice-result small{display:block;font-size:10px;color:#a99cc0}
.dice-result b{font-size:14px;color:#5c4b7d}
.challenge-card h3{margin:0 0 10px;font-size:15px}
.chal-row{display:flex;align-items:center;gap:10px;padding:8px 2px;font-size:13px;color:#6f5f90}
.chal-row i{width:23px;height:23px;border-radius:8px;background:#f1ebf9;color:#8e72c4;
  display:grid;place-items:center;font-style:normal;font-size:11px;font-weight:900;flex:none}
.chal-row.on{color:#d2649a;font-weight:800}
.chal-row.on i{background:linear-gradient(135deg,#f7cfe5,#dcc9f6);color:#fff}

/* ---------- 菜单「＋」按钮 ---------- */
.menu-card .add-btn{width:38px;height:38px;border-radius:50%;flex:none;
  background:linear-gradient(135deg,#fff3c9,#ffe0a3);color:#a8792f;font-size:20px;
  box-shadow:0 3px 10px rgba(210,170,90,.24);transition:transform .18s}
.menu-card .add-btn:active{transform:scale(.88) rotate(90deg)}

/* ---------- 背景音乐按钮 ---------- */
/* 客服按钮：right 14 / bottom 96 / 60×60 / z-index 35，音乐按钮叠在它正上方 */
.bgm-fab{position:fixed;right:21px;bottom:166px;z-index:36;width:46px;height:46px;border-radius:50%;
  background:rgba(255,255,255,.94);box-shadow:0 5px 16px rgba(150,110,190,.24);
  display:grid;place-items:center;border:2px solid #fff}
.bgm-disc{font-size:21px;line-height:1;display:block}
.bgm-fab.on .bgm-disc{animation:bgmSpin 4s linear infinite}
@keyframes bgmSpin{to{transform:rotate(360deg)}}
.bgm-wave{position:absolute;bottom:5px;left:50%;transform:translateX(-50%);display:flex;gap:2px;
  align-items:flex-end;height:8px;opacity:0}
.bgm-fab.on .bgm-wave{opacity:1}
.bgm-wave i{width:2px;height:4px;border-radius:2px;background:#e478a6;animation:bgmWave .8s ease-in-out infinite alternate}
.bgm-wave i:nth-child(2){animation-delay:.2s}.bgm-wave i:nth-child(3){animation-delay:.4s}
@keyframes bgmWave{to{height:8px}}
.bgm-label{position:fixed;right:76px;bottom:178px;z-index:36;max-width:190px;
  background:rgba(92,75,125,.9);color:#fff;font-size:11px;padding:7px 11px;border-radius:12px;
  box-shadow:0 4px 12px rgba(92,75,125,.22);animation:bgmLabelIn .3s ease both;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
@keyframes bgmLabelIn{from{opacity:0;transform:translateX(8px)}to{opacity:1;transform:none}}

@media(max-width:360px){
  .shift{padding:10px 2px}.shift b{font-size:12px}
  .bgm-fab{bottom:160px;right:17px}
}
@media(prefers-reduced-motion:reduce){
  .bgm-fab.on .bgm-disc,.bgm-wave i,.dice-cup span{animation:none}
}

/* 自定义音乐 */
.bgm-panel{position:fixed;right:14px;bottom:220px;z-index:60;width:238px;
 background:rgba(255,255,255,.98);border-radius:18px;padding:12px;border:2px solid #fff;
 box-shadow:0 10px 30px rgba(120,90,170,.26);animation:bpIn .22s ease both}
@keyframes bpIn{from{opacity:0;transform:translateY(10px) scale(.96)}to{opacity:1;transform:none}}
.bp-h{display:flex;justify-content:space-between;font-size:14px;font-weight:900;color:#5c4b7d;margin-bottom:8px}
.bp-h span{cursor:pointer;color:#b3a4ca;font-size:18px;line-height:1}
.bp-now{font-size:11px;color:#a99cc0;margin-bottom:10px}.bp-now b{color:#8e6fc0}
.bgm-panel button{width:100%;display:block;text-align:left;border:0;border-radius:12px;
 padding:9px 10px;margin-bottom:6px;background:#f7f2fc;color:#5c4b7d;font-size:13px;font-weight:800}
.bgm-panel button small{display:block;font-size:10px;font-weight:400;color:#a99cc0;margin-top:2px}
.bgm-box{background:linear-gradient(140deg,#fdf1f8,#f1eafb);border-radius:16px;padding:14px;margin-bottom:16px}
.bgm-box h4{margin:0 0 6px;font-size:14px;color:#5c4b7d}
.bgm-box p{font-size:11px;color:#8b7aa8;line-height:1.7;margin:0 0 10px}
.bgm-row{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.bgm-row input[type=file],.bgm-row input[type=text]{font-size:12px;padding:7px;
 border:1px solid rgba(160,130,200,.25);border-radius:10px;background:#fff}
.mu-poster,.mu-order,.mu-share{width:100%;border-radius:16px;display:block;margin:10px 0;object-fit:cover}
.mu-poster{max-height:230px}.mu-order{max-height:180px}.mu-share{max-height:200px;margin:0 0 12px}
.mu-play{width:100%;margin:0 0 8px;padding:7px;border:0;border-radius:12px;
 background:linear-gradient(110deg,#f7cfe5,#dcc9f6);color:#5c407f;font-size:12px;font-weight:800}
.mu-chat{background:#fff;border-radius:16px;padding:12px;margin-bottom:12px;box-shadow:0 3px 10px rgba(160,120,190,.1)}
.mu-ch{font-size:13px;font-weight:900;color:#5c4b7d;margin-bottom:8px}
.mu-list{max-height:150px;overflow:auto;margin-bottom:8px}
.mu-b{font-size:12px;line-height:1.6;padding:7px 10px;border-radius:12px;margin-bottom:6px;max-width:85%;word-break:break-all}
.mu-b.me{margin-left:auto;background:linear-gradient(110deg,#f7cfe5,#e5d7f8);color:#5c407f}
.mu-b.them{background:#f3eefb;color:#5c4b7d}
.mu-b img{max-width:100%;border-radius:8px;display:block;margin-top:5px}
.mu-empty,.am-empty{font-size:11px;color:#b3a4ca;text-align:center;padding:12px}
.mu-in{display:flex;gap:6px}.mu-in input{flex:1;font-size:12px;padding:8px;border:1px solid rgba(160,130,200,.25);border-radius:10px}
.mu-in button{border:0;border-radius:10px;padding:0 14px;background:#d9c4f2;color:#5c407f;font-weight:800}
.mu-foot{font-size:10px;color:#a99cc0;margin-top:7px}.mu-foot label{cursor:pointer}
.am-wrap{background:#fff;border-radius:18px;padding:16px}
.am-wrap h3{margin:0 0 6px;color:#5c4b7d}.am-tip{font-size:11px;color:#8b7aa8;line-height:1.7;margin:0 0 12px}
.am-tabs{display:flex;gap:6px;margin-bottom:14px}.am-tabs button{flex:1;padding:9px;border:0;border-radius:12px;
 background:#f3eefb;color:#8b7aa8;font-weight:800;font-size:13px}.am-tabs button.on{background:#d9c4f2;color:#5c407f}
.am-h{font-size:13px;color:#5c4b7d;margin:16px 0 8px}
.am-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:8px 0;border-bottom:1px dashed rgba(160,130,200,.18);font-size:12px}
.am-row>b,.am-row>span{min-width:110px;color:#5c4b7d}
.am-p{min-width:56px;display:flex;gap:5px;align-items:center}
.am-thumb{width:46px;height:46px;object-fit:cover;border-radius:9px}
.am-none{font-size:10px;color:#bdb0cf}
.am-file,.am-clear,.am-play,.am-reply button{font-size:11px;padding:5px 9px;border:0;border-radius:9px;
 background:#f0e8fa;color:#8e6fc0;cursor:pointer}
.am-clear{background:#fdeef4;color:#c47aa0}.am-play{background:#e6f3ea;color:#4a9b72}
.am-convo{border:1px solid rgba(160,130,200,.18);border-radius:14px;padding:12px;margin-bottom:12px}
.am-who{font-size:12px;font-weight:900;color:#5c4b7d;margin-bottom:8px}.am-who small{font-weight:400;color:#b3a4ca}
.am-bubbles{max-height:190px;overflow:auto;margin-bottom:8px}
.am-b{font-size:12px;padding:7px 10px;border-radius:11px;margin-bottom:6px;max-width:80%;background:#f3eefb;color:#5c4b7d}
.am-b.me{margin-left:auto;background:#e7d9f7}.am-b img{max-width:100%;border-radius:8px;display:block;margin-top:5px}
.am-reply{display:flex;gap:6px}.am-reply input{flex:1;font-size:12px;padding:7px;border:1px solid rgba(160,130,200,.25);border-radius:10px}
.mi-wrap{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:-4px 0 12px}
.mi-prev{min-width:48px}.mi-tip{font-size:10px;color:#bdb0cf}
.mi-file{font-size:11px;padding:5px 9px;border:0;border-radius:9px;background:#f0e8fa;color:#8e6fc0;cursor:pointer}
.mi-clear{font-size:11px;padding:5px 9px;border:0;border-radius:9px;background:#fdeef4;color:#c47aa0;cursor:pointer}
.am-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:10px}
.am-card{background:linear-gradient(140deg,#fdf6fb,#f3edfc);border-radius:14px;padding:12px}
.am-card-h{display:flex;justify-content:space-between;align-items:baseline;gap:6px;margin-bottom:8px}
.am-card-h b{font-size:12px;color:#5c4b7d}.am-card-h small{font-size:10px;color:#a99cc0}
.am-card-p{min-height:50px;display:flex;align-items:center}
.am-card-a{display:flex;gap:6px;margin-top:8px}
.am-note{margin-top:14px;font-size:11px;line-height:1.7;color:#8b7aa8;background:#f8f4fd;border-radius:12px;padding:10px}
.ff-wrap{margin:2px 0 8px}
.ff-in{width:100%;font-size:13px;padding:9px 10px;border:1px solid rgba(160,130,200,.28);
 border-radius:10px;background:#fff;color:#5c4b7d}
.ff-tip{font-size:10px;color:#a99cc0;margin-top:5px;line-height:1.6}
.ff-color{display:flex;align-items:center;gap:7px;margin-top:8px;flex-wrap:wrap}
.ff-color input[type=color]{width:38px;height:32px;border:0;padding:0;background:none;cursor:pointer}
.ff-color button{font-size:11px;padding:6px 9px;border:0;border-radius:9px;
 background:#f0e8fa;color:#8e6fc0;cursor:pointer;font-weight:800}
.cd-head{display:flex;align-items:center;justify-content:space-between;margin:-4px 0 12px}
.cd-head b{font-size:16px;color:#5c4b7d;font-weight:900}
.cd-back{width:34px;height:34px;border:0;border-radius:50%;background:#f3eafb;
 color:#8e6fc0;font-size:22px;line-height:1;cursor:pointer}
.cd-head>span{width:34px}
.cd-hero{height:330px;border-radius:20px;position:relative;overflow:hidden;
 background-size:cover;background-position:center;display:grid;place-items:center;
 box-shadow:0 8px 22px rgba(140,100,180,.16)}
.cd-hero .cd-face{font-size:88px;filter:drop-shadow(0 6px 12px rgba(120,80,160,.2))}
.cd-namebar{position:absolute;left:12px;right:12px;bottom:12px;display:flex;
 align-items:center;justify-content:space-between;gap:8px;padding:11px 14px;
 border-radius:16px;background:rgba(255,255,255,.82);backdrop-filter:blur(8px);
 box-shadow:0 4px 14px rgba(120,90,160,.14)}
.cd-namebar b{font-size:19px;color:#463a6b;font-weight:900}
.cd-online{display:flex;align-items:center;gap:5px;font-size:12px;font-weight:800;color:#3f9e72}
.cd-online i{width:8px;height:8px;border-radius:50%;background:#4fc08a;
 box-shadow:0 0 0 4px rgba(79,192,138,.18)}
.cd-online.rest{color:#a99cc0}.cd-online.rest i{background:#c9bede;box-shadow:none}
.cd-tags{display:flex;flex-wrap:wrap;gap:7px;margin:14px 0}
.cd-tag{font-size:12px;font-weight:800;padding:6px 12px;border-radius:20px;background:#f3eafb;color:#8e6fc0}
.cd-tag.t1{background:#fff0d9;color:#b88b3c}.cd-tag.t2{background:#e5f2fb;color:#5b8fb8}
.cd-tag.t3{background:#fce7f0;color:#c47aa0}
.cd-price{display:flex;align-items:center;justify-content:space-between;
 background:linear-gradient(100deg,#fff8e2,#fff2f6);border:1px solid #f6e4c2;
 border-radius:14px;padding:13px 15px;margin-bottom:12px}
.cd-price b{font-size:14px;color:#8a6a3a}.cd-price span{font-size:15px;font-weight:900;color:#e478a6}
.cd-voice{display:flex;align-items:center;gap:10px;border-radius:18px;padding:11px 13px;
 background:linear-gradient(110deg,#f6effc,#fdf0f7);margin-bottom:12px}
.cd-voice.off{opacity:.7}
.cd-vbtn{width:48px;height:48px;flex:none;border:0;border-radius:50%;font-size:17px;
 background:linear-gradient(140deg,#e5cdf5,#f3b9d6);color:#5c407f;cursor:pointer;
 box-shadow:0 4px 12px rgba(160,120,200,.24)}
.cd-vtxt{flex:1;min-width:0}.cd-vtxt b{display:block;font-size:14px;color:#5c4b7d}
.cd-vtxt small{font-size:11px;color:#a99cc0}
.cd-wave{display:flex;align-items:center;gap:2px;height:30px;flex:none}
.cd-wave i{width:3px;border-radius:3px;background:#e6d4f2;transition:background .18s}
.cd-wave i.on{background:#e478a6}
.cd-time{font-size:12px;font-weight:900;color:#8e6fc0;min-width:30px;text-align:right}
.cd-intro{font-size:12px;line-height:1.8;color:#8b7aa8;background:#faf6fe;
 border-radius:14px;padding:11px 13px;margin-bottom:12px}
.cd-cta{width:100%;border:0;border-radius:18px;padding:15px;font-size:15px;font-weight:900;
 color:#5c407f;background:linear-gradient(100deg,#f9c9dd,#dcc9f6);
 box-shadow:0 6px 16px rgba(190,140,210,.28);cursor:pointer}
.cd-sub{width:100%;border:0;background:none;color:#a99cc0;font-size:12px;
 padding:11px 0 2px;cursor:pointer}
.cd-up{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:-4px 0 12px}
.cd-prev{min-width:48px}.cd-none{font-size:10px;color:#bdb0cf}
.cd-thumb{width:46px;height:46px;object-fit:cover;border-radius:9px}
.cd-file,.cd-clear,.cd-play{font-size:11px;padding:6px 10px;border:0;border-radius:9px;
 background:#f0e8fa;color:#8e6fc0;cursor:pointer;font-weight:800}
.cd-clear{background:#fdeef4;color:#c47aa0}
.ms-sec{margin:14px 0 4px}
.ms-h{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:9px}
.ms-h b{font-size:14px;color:#5c4b7d;font-weight:900}
.ms-h small{font-size:10px;color:#a99cc0}
.ms-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:9px}
.ms-gname{font-size:12px;font-weight:800;color:#5c4b7d;margin:0 0 7px}
.ms-card{text-align:left;border:2px solid rgba(160,130,200,.16);border-radius:15px;
 background:linear-gradient(150deg,#fff,#faf5fd);padding:11px 12px;cursor:pointer;
 transition:border-color .18s,transform .18s}
.ms-card.on{border-color:#e478a6;background:linear-gradient(150deg,#fff4f9,#f7ecfd);
 box-shadow:0 4px 12px rgba(228,120,166,.16);transform:translateY(-1px)}
.ms-card b{display:block;font-size:13px;color:#5c4b7d;font-weight:900}
.ms-card small{display:block;font-size:11px;color:#a99cc0;margin:3px 0 7px}
.ms-card span{font-size:16px;font-weight:900;color:#e478a6}
.ms-card em{font-size:10px;font-style:normal;color:#a99cc0;font-weight:400;margin-left:2px}
.ms-picked{margin-top:9px;font-size:12px;font-weight:800;color:#8e6fc0;
 background:#f7f1fc;border-radius:11px;padding:8px 11px}
.ms-field{margin:0 0 14px}
.ms-field label{display:block;font-size:12px;font-weight:800;color:#5c4b7d;margin-bottom:6px}
.ms-field select{width:100%;font-size:13px;padding:10px;border:1px solid rgba(160,130,200,.28);
 border-radius:11px;background:#fff;color:#5c4b7d}
.ms-field small{display:block;font-size:10px;color:#a99cc0;margin-top:5px}
.mse-wrap{background:linear-gradient(140deg,#fdf6fb,#f3edfc);border-radius:14px;padding:12px;margin:2px 0 12px}
.mse-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:9px}
.mse-head b{font-size:12px;color:#5c4b7d}
.mse-add,.mse-del{border:0;border-radius:9px;background:#e6d4f2;color:#8e6fc0;
 font-size:11px;font-weight:800;padding:5px 9px;cursor:pointer}
.mse-del{background:#fdeef4;color:#c47aa0;padding:5px 8px}
.mse-row{display:grid;grid-template-columns:1.3fr 1.2fr .7fr .6fr auto;gap:5px;margin-bottom:6px}
.mse-row input{font-size:11px;padding:7px 8px;border:1px solid rgba(160,130,200,.24);
 border-radius:8px;background:#fff;color:#5c4b7d;min-width:0}
.mse-tip{font-size:10px;line-height:1.7;color:#8b7aa8;margin:6px 0 0}

/* ---------- 菜单详情 · 整张海报 ---------- */
.mdv-head{position:sticky;top:-20px;z-index:6;display:flex;align-items:center;
 justify-content:space-between;gap:8px;background:rgba(255,255,255,.96);
 backdrop-filter:blur(8px);margin:-20px -18px 12px;padding:12px 16px;
 border-bottom:1px solid rgba(160,130,200,.1)}
.mdv-head b{flex:1;text-align:center;font-size:15px;font-weight:900;color:#5c4b7d;
 white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mdv-back{width:32px;height:32px;flex:none;border:0;border-radius:50%;
 background:#f3eafb;color:#8e6fc0;font-size:21px;line-height:1;cursor:pointer}
.mdv-cart{width:36px;height:36px;flex:none;position:relative;border:0;border-radius:12px;
 background:#fdeef5;font-size:17px;cursor:pointer}
.mdv-badge{position:absolute;right:-5px;top:-6px;min-width:17px;height:17px;
 border-radius:9px;background:#f2608f;color:#fff;font-size:10px;font-weight:900;
 font-style:normal;display:none;place-items:center;padding:0 4px;box-shadow:0 2px 6px rgba(242,96,143,.4)}
.mdv-poster-wrap{margin:0 0 12px;border-radius:16px;overflow:hidden;background:#faf5fd}
.mdv-poster{display:block;width:100%;height:auto;border-radius:16px}
.mdv-noimg{border-radius:18px;padding:34px 18px;text-align:center;
 background:linear-gradient(150deg,#fdf4fa,#f1eafb);margin-bottom:12px}
.mdv-noimg span{font-size:38px;display:block;margin-bottom:8px}
.mdv-noimg b{display:block;font-size:13px;color:#5c4b7d;margin-bottom:6px}
.mdv-noimg small{font-size:11px;line-height:1.7;color:#a99cc0}
.mdv-meta{margin-bottom:8px}
.mdv-tags{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px}
.mdv-tag{font-size:11px;font-weight:800;padding:5px 11px;border-radius:18px;
 background:#f3eafb;color:#8e6fc0}
.mdv-tag.t1{background:#fff0d9;color:#b88b3c}
.mdv-tag.t2{background:#e5f2fb;color:#5b8fb8}
.mdv-tag.t3{background:#fce7f0;color:#c47aa0}
.mdv-detail{font-size:12px;line-height:1.85;color:#8b7aa8;background:#faf6fe;
 border-radius:14px;padding:11px 13px;margin:0}
.mdv-price-row{align-items:center;margin:6px 0 14px}
.mdv-price-tip{font-size:10px;color:#a99cc0}
.mdv-bar{position:sticky;bottom:-24px;z-index:6;display:flex;align-items:center;gap:9px;
 background:rgba(255,255,255,.97);backdrop-filter:blur(8px);
 margin:14px -18px -24px;padding:12px 16px calc(14px + env(safe-area-inset-bottom));
 border-top:1px solid rgba(160,130,200,.12);border-radius:18px 18px 0 0}
.mdv-svc{width:48px;flex:none;border:0;background:none;font-size:17px;color:#8e6fc0;
 display:flex;flex-direction:column;align-items:center;gap:1px;cursor:pointer}
.mdv-svc small{font-size:10px;color:#a99cc0}
.mdv-add,.mdv-order{border:0;border-radius:16px;padding:12px 10px;font-size:13px;
 font-weight:900;cursor:pointer;white-space:nowrap}
.mdv-add{flex:1;background:#f1e8fb;color:#7b5aa8;border:2px solid #d9c4f2}
.mdv-order{flex:1.15;color:#5c407f;background:linear-gradient(100deg,#f9c9dd,#dcc9f6);
 box-shadow:0 4px 12px rgba(190,140,210,.24)}
.mdv-cart-list{margin-bottom:12px}
.mdv-cart-row{display:flex;align-items:center;gap:9px;padding:10px 11px;
 border-radius:13px;background:#faf6fe;margin-bottom:7px}
.mdv-cart-row b{display:block;font-size:12px;color:#5c4b7d}
.mdv-cart-row small{display:block;font-size:10px;color:#a99cc0;margin-top:2px}
.mdv-cart-price{font-size:14px;font-weight:900;color:#e478a6}
.mdv-del{border:0;background:#fdeef4;color:#c47aa0;width:24px;height:24px;
 border-radius:8px;font-size:11px;cursor:pointer}
.mdv-cart-sum{text-align:right;font-size:13px;font-weight:900;color:#5c4b7d;margin-bottom:10px}
.mdv-cart-empty{text-align:center;font-size:12px;line-height:2;color:#a99cc0;padding:24px 0}
.menu-card .menu-cover{cursor:pointer;transition:height .2s}
.menu-card .menu-cover[style*="background-image"]{height:210px;background-position:top center}
.menu-card .menu-cover[style*="background-image"]:before{display:none}
.grid2>.menu-card:only-child{grid-column:1/-1}
.grid2>.menu-card:only-child .menu-cover[style*="background-image"]{height:300px}
.search.mdv-has-cart input{padding-right:52px}
.mdv-cart-inline{position:absolute;right:9px;top:50%;transform:translateY(-50%);
 width:38px;height:38px;border-radius:12px}
.mdv-up{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:-4px 0 12px}
.mdv-prev{min-width:48px}
.mdv-thumb{width:44px;height:44px;object-fit:cover;border-radius:9px}
.mdv-none,.mdv-tip{font-size:10px;color:#bdb0cf}
.mdv-file,.mdv-clear{font-size:11px;padding:6px 10px;border:0;border-radius:9px;
 background:#f0e8fa;color:#8e6fc0;cursor:pointer;font-weight:800}
.mdv-clear{background:#fdeef4;color:#c47aa0}

/* ---------- 菜单详情：三段式，底部条下方不留白 ---------- */
.modal.mdv-active{height:88vh;max-height:88vh;padding:0;overflow:hidden;
 display:flex;flex-direction:column}
.modal.mdv-active .mdv-head{position:static;top:auto;flex:none;margin:0;
 border-radius:26px 26px 0 0}
.mdv-body{flex:1;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;
 overscroll-behavior:contain;padding:0 18px 8px}
.modal.mdv-active .mdv-bar{position:static;bottom:auto;flex:none;margin:0;
 border-radius:0;box-shadow:0 -4px 14px rgba(120,90,160,.08)}
.mdv-body .mdv-poster-wrap{margin-bottom:10px}
.mdv-body .mdv-price-row{margin-bottom:4px}

/* ---------- 段9：只去白字与虚线框，热门价目表双卡格式原样保留 ---------- */
.menu-card .menu-cover[style*="background-image"] .cover-title,
.menu-card .menu-cover[data-mdv-bg] .cover-title{display:none!important}
.menu-card .menu-cover[style*="background-image"]:before,
.menu-card .menu-cover[data-mdv-bg]:before{display:none!important}
.modal .menu-cover .cover-title{display:none!important}
.modal .menu-cover:before{display:none!important}
.menu-real-wrap{border-radius:18px;overflow:hidden;background:#faf5fd;margin-bottom:4px}
.menu-real-poster{display:block;width:100%;height:auto}
.menu-real-empty{border-radius:18px;padding:26px 16px;text-align:center;font-size:13px;
  font-weight:800;color:#8e6fc0;background:linear-gradient(150deg,#fdf4fa,#f1eafb);line-height:2}
.menu-real-empty small{font-size:11px;font-weight:400;color:#a99cc0}

/* ---------- 段11：真实品牌 LOGO / 活动海报 / 线性入口 ---------- */
.logo-disc.has-photo{width:220px;height:220px;border-radius:32px;outline:none;
  border:6px solid rgba(255,255,255,.95);padding:0;background:#fff;
  box-shadow:0 10px 28px rgba(160,120,190,.22)}
.logo-disc.has-photo:before{display:none!important}
.logo-disc.has-photo .logo-cn,.logo-disc.has-photo .logo-en{display:none!important}
.brand-logo-photo{display:block;width:100%;height:100%;object-fit:cover;border-radius:26px}
.club-avatar.has-photo{padding:0;background:#fff}
.club-logo-photo{width:100%;height:100%;object-fit:cover;border-radius:16px;display:block}
.hero.has-photo{padding:0;background:none;border-radius:22px}
.hero.has-photo:before,.hero.has-photo:after{display:none!important}
.hero.has-photo>.tag,.hero.has-photo>h2,.hero.has-photo>p,
.hero.has-photo>.btn,.hero.has-photo>.dots,.hero.has-photo>.hero-art{display:none!important}
.hero-photo{display:block;width:100%;height:auto;border-radius:22px}
.quick-grid.ba-quick{grid-template-columns:repeat(5,1fr);gap:6px}
.quick-grid.ba-quick .quick-item{padding:10px 1px;font-size:10px}
.quick-grid.ba-quick .quick-item b{display:grid;place-items:center;height:32px;
  margin-bottom:4px;filter:none;color:#b48ad6}
.quick-grid.ba-quick .quick-item svg{width:27px;height:27px}
.ba-up{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:6px 0 4px}
.ba-prev{min-width:48px}
.ba-thumb{width:46px;height:46px;object-fit:cover;border-radius:10px}
.ba-none,.ba-tip{font-size:10px;color:#bdb0cf}
.ba-file,.ba-clear{font-size:11px;padding:6px 10px;border:0;border-radius:9px;
  background:#f0e8fa;color:#8e6fc0;cursor:pointer;font-weight:800}
.ba-clear{background:#fdeef4;color:#c47aa0}

/* ---------- 段12：入场页精修（小 LOGO / 小字 / 更整洁） ---------- */
.loading-inner{width:84%;margin-top:-4%}

.logo-bubble{width:168px;height:168px;margin:0 auto 18px;
  box-shadow:0 8px 24px rgba(180,140,210,.16);
  background:linear-gradient(140deg,rgba(255,214,232,.55),rgba(205,190,240,.5),rgba(255,232,186,.5))}
.logo-bubble:before{width:20px;height:20px;top:-14px;left:30px}
.logo-bubble:after{width:14px;height:14px;top:-8px;left:58px}
.logo-orbit{inset:-9px;border-width:1.5px;border-color:rgba(255,255,255,.65)}
.logo-orbit i{width:11px;height:11px;border-width:1.5px}
.logo-orbit i:nth-child(1){top:-6px;left:16%}
.logo-orbit i:nth-child(2){top:18%;right:-6px}
.logo-orbit i:nth-child(3){bottom:-6px;left:62%}
.logo-orbit i:nth-child(4){bottom:16%;left:-6px}

.logo-disc{width:146px;height:112px;border-radius:22px;border-width:4px;
  outline-width:1.5px;outline-offset:-9px;box-shadow:0 5px 14px rgba(160,120,190,.13)}
.logo-disc:before{font-size:10px;letter-spacing:4px;top:6px}
.logo-cn{font-size:25px;letter-spacing:2px;margin-top:10px;
  text-shadow:1px 1px 0 #fff,2px 2px 0 rgba(190,160,225,.35)}
.logo-en{font-size:9px;letter-spacing:2px}
.logo-disc.has-photo{width:140px;height:140px;border-radius:26px;
  border:5px solid rgba(255,255,255,.95);padding:0}
.brand-logo-photo{border-radius:22px}

.loading-title{font-size:25px;letter-spacing:3px;text-shadow:none;color:#a58bd0}
.loading-en{margin:7px 0 22px;font-size:11px;letter-spacing:3px}
.splash-sub{display:none!important}

.progress{height:10px;box-shadow:inset 0 1px 3px rgba(160,120,190,.12)}
.progress-heart{width:26px;height:26px;font-size:13px;
  box-shadow:0 2px 6px rgba(190,140,190,.26)}
.progress-fill:after{background:repeating-linear-gradient(115deg,
  rgba(255,255,255,.28) 0 8px,transparent 8px 18px)}

.loading-tip{display:flex;align-items:center;justify-content:center;gap:7px;
  margin-top:13px;font-size:12px;color:var(--ink-soft)}
.loading-tip b{display:inline-block;min-width:0;margin-right:0;text-align:right;
  font-size:13px;font-weight:900;color:var(--pink-deep);white-space:nowrap}
.loading-tip span{font-size:12px;white-space:nowrap;overflow:hidden;
  text-overflow:ellipsis;max-width:72%}

/* 装饰收敛：挡住百分比的黄点/绿点直接藏掉，其余调淡 */
.loading .dot{opacity:.34}
.loading .dot.d1,.loading .dot.d4{display:none!important}
.loading .float-heart{opacity:.5;font-size:14px}
.loading .float-heart.h3{font-size:10px}
.loading .float-heart.h4{font-size:12px}

/* ---------- 段13：音乐盒（访客手动关闭音乐） ---------- */
.mc-box{position:fixed;right:14px;bottom:222px;z-index:37;width:228px;
  background:rgba(255,255,255,.96);border:2px solid #fff;border-radius:18px;
  padding:10px 11px;box-shadow:0 8px 24px rgba(140,100,180,.22);
  backdrop-filter:blur(8px);animation:mcIn .22s ease both}
@keyframes mcIn{from{opacity:0;transform:translateY(8px) scale(.96)}to{opacity:1;transform:none}}
.mc-box.min{width:auto;padding:8px 13px;border-radius:16px;cursor:pointer}
.mc-top{display:flex;align-items:center;gap:8px;margin-bottom:8px}
.mc-disc{width:34px;height:34px;flex:none;border-radius:50%;display:grid;place-items:center;
  font-size:16px;color:#8e6fc0;background:linear-gradient(140deg,#f7dcec,#e2d3f6)}
.mc-box.playing .mc-disc{animation:bgmSpin 4s linear infinite}
.mc-txt{flex:1;min-width:0}
.mc-txt b{display:block;font-size:12px;color:#5c4b7d;font-weight:900}
.mc-txt small{display:block;font-size:10px;color:#a99cc0;white-space:nowrap;
  overflow:hidden;text-overflow:ellipsis}
.mc-x{border:0;background:none;color:#b3a4ca;font-size:17px;line-height:1;
  cursor:pointer;padding:0 2px}
.mc-acts{display:flex;gap:6px}
.mc-acts button{flex:1;border:0;border-radius:11px;padding:8px 4px;font-size:11px;
  font-weight:800;cursor:pointer;background:#f1e8fb;color:#8e6fc0}
.mc-acts button.mc-toggle{background:linear-gradient(100deg,#f9c9dd,#dcc9f6);color:#5c407f}
.mc-acts button.mc-toggle.off{background:#f3eefb;color:#8b7aa8}
.mc-mini{font-size:11px;font-weight:800;color:#8e6fc0;white-space:nowrap}
@media(max-width:360px){.mc-box{right:10px;bottom:216px;width:210px}}

/* ---------- 段14：首页陪玩推荐（横向滑动 · 数据实时） ---------- */
#mcRecSec{margin-top:18px}
.mc-rec-head{margin:0 2px 10px}
.mc-rec-scroll{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;
  -webkit-overflow-scrolling:touch;scrollbar-width:none;padding:2px 14px 6px 2px;
  margin-right:-14px}
.mc-rec-scroll::-webkit-scrollbar{display:none}
.mc-rec-card{flex:0 0 44%;min-width:0;position:relative;scroll-snap-align:start;
  background:rgba(255,255,255,.94);border-radius:20px;overflow:hidden;
  box-shadow:0 6px 18px rgba(150,115,185,.16)}
.mc-rec-hit{position:absolute;inset:0;z-index:2;width:100%;height:100%;
  appearance:none;background:transparent;border:0;padding:0;margin:0;cursor:pointer}
.mc-rec-photo{height:186px;position:relative;display:grid;place-items:center;
  background:linear-gradient(140deg,#f9c9dd,#e3d3f7)}
.mc-rec-photo.has-img:after{content:"";position:absolute;left:0;right:0;bottom:0;height:38%;
  background:linear-gradient(transparent,rgba(60,35,90,.16));pointer-events:none}
.mc-rec-photo.ph-sky{background:linear-gradient(140deg,#bfd9f7,#e3d3f7)}
.mc-rec-photo.ph-cream{background:linear-gradient(140deg,#f8e2bd,#f5c9d9)}
.mc-rec-photo.ph-mint{background:linear-gradient(140deg,#c8e9d9,#e3d9f6)}
.mc-rec-photo.ph-lilac{background:linear-gradient(140deg,#d6c2f2,#f8d2e5)}
.mc-rec-photo.ph-lemon{background:linear-gradient(140deg,#f9e7ae,#f8cfe4)}
.mc-rec-photo.ph-berry{background:linear-gradient(140deg,#f2b8d0,#d8c0f0)}
.mc-rec-face{font-size:56px;filter:drop-shadow(0 5px 10px rgba(120,80,160,.2))}
.mc-rec-flag{position:absolute;left:8px;right:8px;bottom:9px;z-index:1;
  display:block;text-align:center;font-size:11px;font-weight:900;color:#8b5f8f;
  padding:6px 8px;border-radius:16px;background:rgba(255,255,255,.86);
  backdrop-filter:blur(6px);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mc-rec-body{padding:10px 11px 11px;position:relative}
.mc-rec-nm{display:flex;align-items:center;gap:5px;min-width:0}
.mc-rec-nm b{font-size:16px;font-weight:900;color:#4b3d70;white-space:nowrap;
  overflow:hidden;text-overflow:ellipsis}
.mc-rec-online,.mc-rec-offline{width:8px;height:8px;flex:none;border-radius:50%;
  background:#5ccb96;box-shadow:0 0 0 3px rgba(92,203,150,.2)}
.mc-rec-offline{background:#c9bede;box-shadow:none}
.mc-rec-level{margin-left:auto;flex:none;font-size:10px;font-weight:900;color:#a8792f;
  background:#fff0cd;padding:4px 8px;border-radius:12px;white-space:nowrap}
.mc-rec-tags{display:flex;gap:5px;flex-wrap:wrap;margin:9px 0 8px;min-height:22px}
.mc-rec-tag{font-size:10px;font-weight:800;padding:4px 9px;border-radius:14px;white-space:nowrap}
.mc-rec-tag.g{background:#fdeaf3;color:#c4689a}
.mc-rec-tag.v{background:#eee6fa;color:#8a68bb}
.mc-rec-foot{display:flex;align-items:center;justify-content:space-between;gap:6px}
.mc-rec-more{font-size:10px;font-weight:800;color:#b09ac8;white-space:nowrap}
.mc-rec-voice{position:relative;z-index:3;width:34px;height:34px;flex:none;border:0;
  border-radius:50%;font-size:15px;cursor:pointer;color:#a55b9a;
  background:#fdeaf3;box-shadow:0 2px 7px rgba(190,130,175,.2)}
.mc-rec-voice.off{opacity:.62;background:#fdeaf3;color:#c49ab5}
.mc-rec-voice.playing{background:#f6c6df;animation:mcRecPulse 1s ease-in-out infinite}
@keyframes mcRecPulse{50%{transform:scale(1.12)}}
.mc-rec-tip{position:absolute;left:8px;right:8px;bottom:44px;z-index:4;
  font-size:10px;line-height:1.5;text-align:center;color:#7b5aa8;
  background:#fff;border-radius:10px;padding:7px;box-shadow:0 4px 12px rgba(140,100,180,.18);
  opacity:0;pointer-events:none;transition:opacity .2s}
.mc-rec-tip.show{opacity:1}
.mc-rec-empty{width:100%;text-align:center;font-size:12px;line-height:2;color:#a99cc0;
  background:rgba(255,255,255,.7);border-radius:16px;padding:22px 12px}
.mc-rec-empty small{font-size:10px;color:#bdb0cf}
@media(max-width:360px){.mc-rec-card{flex-basis:48%}.mc-rec-photo{height:168px}}

/* ---------- 段15：首页板块顺序 + 限时活动 ---------- */
#mcEventSec{margin-top:18px}
.ho-head{margin:0 2px 10px}
.ho-card{display:flex;gap:12px;align-items:stretch;background:rgba(255,255,255,.94);
  border-radius:22px;padding:12px;box-shadow:0 6px 18px rgba(150,115,185,.16)}
.ho-thumb{flex:0 0 96px;min-height:138px;border-radius:16px;overflow:hidden;
  display:grid;place-items:center;position:relative;
  background:linear-gradient(150deg,#fce3f0,#e9dcf9 55%,#fff0d9)}
.ho-thumb-img{width:100%;height:100%;min-height:138px;object-fit:cover;display:block}
.ho-thumb-ph{font-size:34px;filter:drop-shadow(0 4px 8px rgba(160,110,190,.2))}
.ho-info{flex:1;min-width:0;display:flex;flex-direction:column;align-items:flex-start;
  justify-content:center;gap:5px;padding:2px 2px}
.ho-badge{font-size:10px;font-weight:900;color:#c4689a;background:#fdeaf3;
  padding:4px 10px;border-radius:12px}
.ho-info h4{margin:2px 0 0;font-size:19px;font-weight:900;color:#4b3d70;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
.ho-info p{margin:0;font-size:11px;line-height:1.6;color:#8b7aa8;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.ho-btn{margin-top:6px;border:0;border-radius:16px;padding:9px 18px;font-size:12px;
  font-weight:900;color:#5c407f;cursor:pointer;
  background:linear-gradient(100deg,#f9c9dd,#dcc9f6);
  box-shadow:0 4px 10px rgba(190,140,210,.22)}
@media(max-width:360px){.ho-thumb{flex-basis:82px}.ho-info h4{font-size:17px}}

/* ---------- 段16：热门菜单（分类 Tab + 横向滑动） ---------- */
.hm-head{margin:20px 2px 10px}
.hm-all{position:relative;white-space:nowrap}
.hm-badge{position:absolute;right:-6px;top:-7px;min-width:16px;height:16px;
  border-radius:8px;background:#f2608f;color:#fff;font-size:9px;font-weight:900;
  font-style:normal;display:none;place-items:center;padding:0 3px}
.hm-tabs{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;
  -webkit-overflow-scrolling:touch;background:rgba(255,255,255,.86);
  border-radius:18px;padding:6px;margin:0 2px 12px;box-shadow:0 3px 10px rgba(150,115,185,.1)}
.hm-tabs::-webkit-scrollbar{display:none}
.hm-tab{flex:1 0 auto;min-width:88px;border:0;border-radius:14px;padding:10px 12px;
  font-size:13px;font-weight:900;color:#8b7aa8;background:transparent;cursor:pointer;
  white-space:nowrap}
.hm-tab.on{color:#5c407f;background:linear-gradient(100deg,#fde3f0,#e6d9f8);
  box-shadow:0 2px 8px rgba(190,140,210,.18)}
#view .grid2.hm-scroll{display:flex;gap:11px;overflow-x:auto;
  scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;
  padding:2px 14px 6px 2px;margin-right:-14px;grid-template-columns:none}
.hm-scroll::-webkit-scrollbar{display:none}
.hm-scroll .menu-card{flex:0 0 46%;min-width:0;scroll-snap-align:start;
  background:rgba(255,255,255,.94);border-radius:20px;box-shadow:0 6px 18px rgba(150,115,185,.16)}
.hm-hit{position:absolute;inset:0;z-index:2;width:100%;height:100%;appearance:none;
  background:transparent;border:0;padding:0;margin:0;cursor:pointer}
#view .hm-scroll .menu-cover{height:186px!important;background-position:top center!important}
#view .hm-scroll .menu-cover:before{display:none!important}
#view .hm-scroll .menu-cover .cover-title{display:none!important}
.hm-play{position:absolute;left:8px;right:8px;bottom:8px;z-index:3;
  display:block;text-align:center;font-size:11px;font-weight:900;color:#8b5f8f;
  padding:6px 8px;border-radius:14px;background:rgba(255,255,255,.86);
  backdrop-filter:blur(6px);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#view .hm-scroll .menu-body{padding:11px 12px 13px;position:relative}
#view .hm-scroll .menu-body h4{font-size:14px;margin:0 0 10px;font-weight:900;
  color:#4b3d70;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.hm-add{position:relative;z-index:3;cursor:pointer;font-size:20px}
.hm-add.done{background:linear-gradient(140deg,#c9ead9,#a9dcc2);color:#3f8e6c}
.hm-empty{width:100%;text-align:center;font-size:12px;line-height:2;color:#a99cc0;
  background:rgba(255,255,255,.7);border-radius:16px;padding:22px 12px}
.hm-empty small{font-size:10px;color:#bdb0cf}
@media(max-width:360px){.hm-scroll .menu-card{flex-basis:48%}
  #view .hm-scroll .menu-cover{height:168px!important}}

/* 玩法弹窗专用：所有选择器均为 .pm- 前缀，零全局覆盖 */
.pm-wrap{--pm-p:#f3a8cd;--pm-v:#c9b3ef;--pm-ink:#4b3d70;--pm-soft:#8b7aa8;
 --pm-accent:#e478a6;
 background:linear-gradient(160deg,#fdf4fa,#f1eafb 55%,#fff8ec);
 border-radius:20px;padding:16px 16px 26px;min-height:58vh;max-height:86vh;
 overflow-y:auto;-webkit-overflow-scrolling:touch;color:var(--pm-ink)}
.pm-wrap *{box-sizing:border-box}
.pm-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:10px}
.pm-head b{flex:1;text-align:center;font-size:17px;font-weight:900}
.pm-back,.pm-bag{width:36px;height:36px;flex:none;border:0;border-radius:50%;
 background:rgba(255,255,255,.8);color:var(--pm-ink);font-size:20px;line-height:1;cursor:pointer}
.pm-bag{font-size:16px;border-radius:12px}
.pm-sub{text-align:center;font-size:13px;color:var(--pm-soft);margin:6px 0 16px;line-height:1.7}
.pm-stage{position:relative;height:230px;display:grid;place-items:center;margin-bottom:18px}
.pm-gift{position:relative;width:180px;height:150px;transform-origin:50% 85%}
.pm-lid{position:absolute;left:0;top:8px;width:180px;height:44px;border-radius:18px 18px 8px 8px;
 background:linear-gradient(100deg,var(--pm-p),var(--pm-v));border:4px solid #fff;z-index:2}
.pm-box{position:absolute;left:14px;top:48px;width:152px;height:104px;border-radius:14px;
 background:linear-gradient(150deg,#fff,#f7ecfb);border:4px solid #fff;
 display:grid;place-items:center;box-shadow:0 8px 20px rgba(150,115,185,.2)}
.pm-box b{font-size:40px;color:var(--pm-v)}
.pm-ribbon{position:absolute;left:50%;top:0;width:26px;height:100%;
 transform:translateX(-50%);background:linear-gradient(180deg,var(--pm-p),var(--pm-v));opacity:.85}
.pm-sparks{position:absolute;left:50%;top:46%;pointer-events:none}
.pm-sparks i{position:absolute;width:8px;height:8px;border-radius:50%;
 background:var(--pm-p);box-shadow:0 0 8px currentColor;
 animation:pmFly 1s ease-out var(--dl) both}
.pm-sparks i:nth-child(3n){background:#ffd98e}
.pm-sparks i:nth-child(4n){background:var(--pm-v)}
.pm-main{width:100%;border:0;border-radius:26px;padding:16px;font-size:17px;font-weight:900;
 color:var(--pm-ink);background:linear-gradient(100deg,var(--pm-p),var(--pm-v));
 box-shadow:0 6px 16px rgba(190,140,210,.24);cursor:pointer}
.pm-foot{text-align:center;font-size:11px;line-height:1.8;color:var(--pm-soft);margin:14px 4px 0}
.pm-card{border-radius:22px;overflow:hidden;background:rgba(255,255,255,.94);
 box-shadow:0 8px 22px rgba(150,115,185,.2);margin:4px 0 16px}
.pm-card-pic{position:relative;height:200px;overflow:hidden;
 background:linear-gradient(140deg,#fdeaf3,#e9dcf9)}
.pm-pic{width:100%;height:100%;object-fit:cover;display:block}
.pm-pic-draw{height:100%;display:grid;place-items:center;position:relative}
.pm-pic-draw span{font-size:62px;position:absolute;transform:translateY(-24px)}
.pm-pic-draw b{font-size:30px;color:var(--pm-ink);transform:translateY(28px)}
.pm-shine{position:absolute;inset:0;width:40%;
 background:linear-gradient(90deg,transparent,rgba(255,255,255,.6),transparent);
 animation:pmShine 2.8s ease-in-out infinite}
.pm-card-txt{padding:14px 16px 18px}
.pm-tag{display:inline-block;font-size:11px;font-weight:900;color:#fff;
 background:linear-gradient(100deg,var(--pm-p),var(--pm-v));padding:6px 12px;border-radius:16px}
.pm-card-txt h4{margin:10px 0 7px;font-size:20px;font-weight:900}
.pm-card-txt p{margin:0;font-size:12px;line-height:1.8;color:var(--pm-soft)}
.pm-acts{display:flex;gap:10px;margin-top:12px}
.pm-acts button{flex:1;border:2px solid var(--pm-v);border-radius:18px;padding:12px 6px;
 font-size:13px;font-weight:900;color:var(--pm-ink);
 background:rgba(255,255,255,.8);cursor:pointer}
.pm-dice-wrap{display:grid;place-items:center;height:210px;margin-bottom:6px}
.pm-dice{width:150px;height:150px;border:0;border-radius:36px;font-size:88px;cursor:pointer;
 background:linear-gradient(140deg,var(--pm-p),var(--pm-v));
 box-shadow:0 10px 24px rgba(150,115,185,.24);transform-style:preserve-3d}
.pm-dice.small{width:96px;height:96px;font-size:56px;border-radius:26px}
.pm-result{display:flex;align-items:center;gap:14px;border-radius:20px;padding:14px 16px;
 background:linear-gradient(100deg,#fdeaf3,#eee6fa);margin:6px 0 14px}
.pm-result>b{width:58px;height:58px;flex:none;border-radius:16px;background:#fff;
 display:grid;place-items:center;font-size:30px;font-weight:900;color:var(--pm-accent)}
.pm-result small{display:block;font-size:11px;color:var(--pm-soft)}
.pm-result span{display:block;font-size:16px;font-weight:900;margin-top:3px}
.pm-ch{background:rgba(255,255,255,.9);border-radius:20px;padding:14px 16px;margin-bottom:14px}
.pm-ch h4{margin:0 0 10px;font-size:15px;font-weight:900}
.pm-ch ul{list-style:none;margin:0;padding:0}
.pm-ch li{display:flex;align-items:center;gap:10px;padding:9px 0;font-size:13px;color:var(--pm-soft)}
.pm-ch li i{width:26px;height:26px;flex:none;border-radius:50%;display:grid;place-items:center;
 font-style:normal;font-size:12px;font-weight:900;background:#f1eafb;color:var(--pm-ink)}
.pm-ch li.on{color:var(--pm-accent);font-weight:900}
.pm-ch li.on i{background:linear-gradient(100deg,var(--pm-p),var(--pm-v));color:#fff}
@keyframes pmShake{0%,100%{transform:rotate(0) scale(1)}
 15%{transform:rotate(-10deg) scale(1.05)}30%{transform:rotate(9deg) scale(1.06)}
 45%{transform:rotate(-6deg) scale(1.03)}60%{transform:rotate(5deg) scale(1.04)}
 80%{transform:rotate(-2deg) scale(1.01)}}
@keyframes pmRoll{0%{transform:rotateX(0) rotateY(0) translateY(0)}
 25%{transform:rotateX(360deg) rotateY(300deg) translateY(-14px)}
 50%{transform:rotateX(720deg) rotateY(680deg) translateY(0)}
 75%{transform:rotateX(1080deg) rotateY(960deg) translateY(-8px)}
 100%{transform:rotateX(1440deg) rotateY(1080deg) translateY(0)}}
@keyframes pmReveal{from{opacity:0;transform:perspective(760px) rotateY(-24deg) translateY(22px) scale(.94)}
 to{opacity:1;transform:none}}
@keyframes pmFly{0%{opacity:0;transform:translate(0,0) scale(.4)}
 18%{opacity:1}100%{opacity:0;transform:translate(var(--dx),var(--dy)) scale(1.2) rotate(200deg)}}
@keyframes pmShine{from{transform:translateX(-120%) skewX(-18deg)}
 to{transform:translateX(220%) skewX(-18deg)}}
.pm-gift.pm-shake{animation:pmShake .78s ease-in-out both}
.pm-dice.pm-roll{animation:pmRoll .9s cubic-bezier(.25,.9,.3,1) both}
.pm-reveal{animation:pmReveal .46s cubic-bezier(.2,.85,.3,1) both}

/* 陪玩大厅 · 热门推荐：仅 .hr- 前缀，零全局覆盖 */
.hr-sec{--hr-p:#f3a8cd;--hr-v:#c9b3ef;--hr-ink:#4b3d70;
 --hr-soft:#8b7aa8;--hr-accent:#e478a6;
 margin:14px 2px 16px;border-radius:24px;padding:14px 0 12px;
 background:linear-gradient(150deg,rgba(255,255,255,.9),rgba(247,238,252,.9));
 box-shadow:0 6px 18px rgba(150,115,185,.14)}
.hr-head{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:0 14px 10px}
.hr-head-l{display:flex;align-items:center;gap:5px;font-size:15px;font-weight:900;color:var(--hr-ink)}
.hr-fire{font-size:16px}
.hr-online{display:flex;align-items:center;gap:5px;font-size:11px;font-weight:900;
 color:#4a9b72;background:#fff;border:1px solid rgba(120,180,150,.3);
 padding:5px 11px;border-radius:16px;white-space:nowrap}
.hr-online i{width:7px;height:7px;border-radius:50%;background:#5ccb96;
 box-shadow:0 0 0 3px rgba(92,203,150,.18)}
.hr-hint{margin-left:auto;font-size:10px;color:var(--hr-soft);white-space:nowrap}
.hr-scroll{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;
 -webkit-overflow-scrolling:touch;scrollbar-width:none;
 padding:2px 14px 6px;margin-right:-14px}
.hr-scroll::-webkit-scrollbar{display:none}
.hr-card{flex:0 0 43%;min-width:0;position:relative;scroll-snap-align:start;
 border-radius:20px;padding:8px;background:rgba(255,255,255,.9);
 box-shadow:0 5px 14px rgba(150,115,185,.14)}
.hr-hit{position:absolute;inset:0;z-index:2;width:100%;height:100%;appearance:none;
 background:transparent;border:0;padding:0;margin:0;cursor:pointer;border-radius:20px}
.hr-photo{position:relative;height:196px;border-radius:16px;overflow:hidden;
 display:grid;place-items:center;background:linear-gradient(140deg,var(--hr-p),var(--hr-v))}
.hr-photo.ph-sky{background:linear-gradient(140deg,#bfd9f7,#e3d3f7)}
.hr-photo.ph-cream{background:linear-gradient(140deg,#f8e2bd,#f5c9d9)}
.hr-photo.ph-mint{background:linear-gradient(140deg,#c8e9d9,#e3d9f6)}
.hr-photo.ph-lilac{background:linear-gradient(140deg,#d6c2f2,#f8d2e5)}
.hr-photo.ph-lemon{background:linear-gradient(140deg,#f9e7ae,#f8cfe4)}
.hr-photo.ph-berry{background:linear-gradient(140deg,#f2b8d0,#d8c0f0)}
.hr-photo.has-img:after{content:"";position:absolute;left:0;right:0;bottom:0;height:34%;
 background:linear-gradient(transparent,rgba(60,35,90,.14));pointer-events:none}
.hr-face{font-size:56px;filter:drop-shadow(0 5px 10px rgba(120,80,160,.2))}
.hr-flag{position:absolute;left:8px;right:8px;bottom:9px;z-index:1;text-align:center;
 font-size:12px;font-weight:900;color:var(--hr-accent);padding:7px 8px;
 border-radius:16px;background:rgba(255,255,255,.9);backdrop-filter:blur(6px);
 white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.hr-meta{padding:10px 4px 2px}
.hr-nm{display:flex;align-items:center;gap:6px;min-width:0}
.hr-nm b{font-size:17px;font-weight:900;color:var(--hr-ink);white-space:nowrap;
 overflow:hidden;text-overflow:ellipsis}
.hr-dot{width:8px;height:8px;flex:none;border-radius:50%;background:#5ccb96;
 box-shadow:0 0 0 3px rgba(92,203,150,.2)}
.hr-dot.off{background:#c9bede;box-shadow:none}
.hr-sub{display:block;margin-top:4px;font-size:11px;color:var(--hr-soft);
 white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.hr-empty{width:100%;text-align:center;font-size:12px;line-height:2;color:var(--hr-soft);
 padding:18px 10px}
.hr-empty small{font-size:10px;color:#bdb0cf}
@media(max-width:360px){.hr-card{flex-basis:48%}.hr-photo{height:176px}.hr-hint{display:none}}

/* 陪玩大厅整页：全部 body.cl-on 作用域 + .cl- 前缀，零全局覆盖 */
body.cl-on{--cl-p:#f3a8cd;--cl-v:#c9b3ef;--cl-ink:#4b3d70;
 --cl-soft:#8b7aa8;--cl-accent:#e478a6;
 --cl-grad:linear-gradient(100deg,var(--cl-p),var(--cl-v))}
body.cl-on #view{padding-bottom:120px}

.cl-hero{padding:18px 2px 12px}
.cl-kicker{font-size:12px;font-weight:900;letter-spacing:5px;color:var(--cl-v)}
.cl-title{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:4px}
.cl-title h1{margin:0;font-size:38px;font-weight:900;letter-spacing:1px;color:var(--cl-ink)}
.cl-online{display:flex;align-items:center;gap:7px;flex:none;font-size:13px;font-weight:900;
 color:#4a9b72;background:#fff;border:1px solid rgba(120,180,150,.3);
 padding:9px 15px;border-radius:22px;white-space:nowrap}
.cl-online i{width:8px;height:8px;border-radius:50%;background:#5ccb96;
 box-shadow:0 0 0 4px rgba(92,203,150,.18)}

body.cl-on .search{background:#fff;border-radius:28px;
 box-shadow:0 4px 14px rgba(150,115,185,.12)}
body.cl-on .search input{color:var(--cl-ink)}
body.cl-on .filter-scroll.cl-seg{display:flex;gap:2px;background:#fff;
 border-radius:26px;padding:6px;box-shadow:0 3px 12px rgba(150,115,185,.12)}
body.cl-on .filter-scroll.cl-seg>*{flex:1;text-align:center;border:0!important;
 background:transparent!important;border-radius:20px!important;
 font-size:13px!important;font-weight:900;color:var(--cl-soft);white-space:nowrap}
body.cl-on .filter-scroll.cl-seg>*.cl-seg-on,
body.cl-on .filter-scroll.cl-seg>:first-child{background:var(--cl-grad)!important;
 color:var(--cl-ink)!important;box-shadow:0 2px 8px rgba(190,140,210,.2)}
body.cl-on .filter-scroll.cl-mini{gap:8px}
body.cl-on .filter-scroll.cl-mini>*{background:#fff!important;
 border:1px solid rgba(160,130,200,.2)!important;border-radius:20px!important;
 color:var(--cl-ink)!important;font-weight:800}
body.cl-on .between.cl-list-head .sec-title{font-size:26px;color:var(--cl-ink)}
body.cl-on .between.cl-list-head .sec-sub{color:var(--cl-v)}

/* 自带热门横滑（上一轮模块存在时这段不渲染，互不冲突） */
.cl-rec{margin:6px 2px 16px;border-radius:24px;padding:14px 0 12px;
 background:linear-gradient(150deg,rgba(255,255,255,.92),rgba(247,238,252,.92));
 box-shadow:0 6px 18px rgba(150,115,185,.14)}
.cl-rec-head{display:flex;align-items:center;gap:7px;padding:0 14px 10px;
 font-size:15px;font-weight:900;color:var(--cl-ink)}
.cl-rec-head span{font-size:16px}
.cl-rec-head small{margin-left:auto;font-size:10px;font-weight:400;color:var(--cl-soft)}
.cl-rec-scroll{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;
 -webkit-overflow-scrolling:touch;scrollbar-width:none;padding:2px 14px 6px;margin-right:-14px}
.cl-rec-scroll::-webkit-scrollbar{display:none}
.cl-card{flex:0 0 43%;min-width:0;position:relative;scroll-snap-align:start;
 border-radius:20px;padding:8px;background:rgba(255,255,255,.9);
 box-shadow:0 5px 14px rgba(150,115,185,.14)}
.cl-hit{position:absolute;inset:0;z-index:2;width:100%;height:100%;appearance:none;
 background:transparent;border:0;padding:0;margin:0;cursor:pointer;border-radius:20px}
.cl-photo{position:relative;height:196px;border-radius:16px;overflow:hidden;
 display:grid;place-items:center;background:linear-gradient(140deg,var(--cl-p),var(--cl-v))}
.cl-photo.ph-sky{background:linear-gradient(140deg,#bfd9f7,#e3d3f7)}
.cl-photo.ph-cream{background:linear-gradient(140deg,#f8e2bd,#f5c9d9)}
.cl-photo.ph-mint{background:linear-gradient(140deg,#c8e9d9,#e3d9f6)}
.cl-photo.ph-lilac{background:linear-gradient(140deg,#d6c2f2,#f8d2e5)}
.cl-photo.ph-lemon{background:linear-gradient(140deg,#f9e7ae,#f8cfe4)}
.cl-photo.ph-berry{background:linear-gradient(140deg,#f2b8d0,#d8c0f0)}
.cl-photo.has-img:after{content:"";position:absolute;left:0;right:0;bottom:0;height:34%;
 background:linear-gradient(transparent,rgba(60,35,90,.14));pointer-events:none}
.cl-face{font-size:56px;filter:drop-shadow(0 5px 10px rgba(120,80,160,.2))}
.cl-flag{position:absolute;left:8px;right:8px;bottom:9px;z-index:1;text-align:center;
 font-size:12px;font-weight:900;color:var(--cl-accent);padding:7px 8px;border-radius:16px;
 background:rgba(255,255,255,.9);backdrop-filter:blur(6px);
 white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cl-meta{padding:10px 4px 2px}
.cl-nm{display:flex;align-items:center;gap:6px;min-width:0}
.cl-nm b{font-size:17px;font-weight:900;color:var(--cl-ink);
 white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cl-dot{width:8px;height:8px;flex:none;border-radius:50%;background:#5ccb96;
 box-shadow:0 0 0 3px rgba(92,203,150,.2)}
.cl-dot.off{background:#c9bede;box-shadow:none}
.cl-sub{display:block;margin-top:4px;font-size:11px;color:var(--cl-soft);
 white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cl-empty{width:100%;text-align:center;font-size:12px;line-height:2;color:var(--cl-soft);padding:18px 10px}
.cl-empty small{font-size:10px;color:#bdb0cf}

/* 悬浮层让位：不压住双列卡 */
body.cl-on .mc-box{right:6px;bottom:206px;transform:scale(.82);
 transform-origin:right bottom;opacity:.72;transition:opacity .2s,transform .2s}
body.cl-on .mc-box:hover{opacity:1;transform:none}
body.cl-on .bgm-fab{right:6px!important}
body.cl-on .service-fab{right:6px!important}
@media(max-width:360px){.cl-title h1{font-size:32px}.cl-card{flex-basis:48%}
 .cl-photo{height:176px}.cl-rec-head small{display:none}}

/* 顶栏融合：只作用于「含 #pageTitle 的那一行」，零全局覆盖 */
.mc-topbar,.mc-topbar-outer,
header:has(#pageTitle),.topbar:has(#pageTitle),.app-bar:has(#pageTitle),
.appbar:has(#pageTitle),.top-bar:has(#pageTitle),.nav-bar:has(#pageTitle),
.titlebar:has(#pageTitle),.page-head:has(#pageTitle),.hd:has(#pageTitle),
body > div:has(#pageTitle),body > header:has(#pageTitle){
  background:repeating-linear-gradient(90deg,#fdf1f8 0 22px,#f7e9fa 22px 44px)!important;
  border-bottom:0!important;
  box-shadow:0 8px 14px -12px rgba(160,120,190,.45)!important;
}
#pageTitle{color:#5c407f!important;font-weight:900!important;letter-spacing:1px}
.mc-topbar > span:last-child,.mc-topbar-outer > span:last-child,
.dots,.more,.nav-more{color:#b9a3d6!important}

/* 轻呼吸 + 悬浮层智能让位
   作用域：body.fx-soft-on（仅陪玩页），零全局覆盖、不新建 DOM */
@keyframes smIn{
  from{opacity:0;transform:translateY(14px) scale(.97)}
  to{opacity:1;transform:none}}
@keyframes smPulse{
  0%,100%{box-shadow:0 0 0 3px rgba(92,203,150,.2)}
  50%{box-shadow:0 0 0 6px rgba(92,203,150,.10)}}
@keyframes smFlicker{
  0%,100%{transform:rotate(0) scale(1)}
  30%{transform:rotate(-8deg) scale(1.08)}
  65%{transform:rotate(6deg) scale(1.04)}}

/* 横滑卡依次淡入 */
body.fx-soft-on .hr-card,
body.fx-soft-on .cl-card,
body.fx-soft-on .ml-card{
  animation:smIn .5s cubic-bezier(.2,.85,.3,1) both}
body.fx-soft-on .hr-scroll > :nth-child(1),
body.fx-soft-on .cl-rec-scroll > :nth-child(1),
body.fx-soft-on .ml-set > :nth-child(1){animation-delay:0ms}
body.fx-soft-on .hr-scroll > :nth-child(2),
body.fx-soft-on .cl-rec-scroll > :nth-child(2),
body.fx-soft-on .ml-set > :nth-child(2){animation-delay:80ms}
body.fx-soft-on .hr-scroll > :nth-child(3),
body.fx-soft-on .cl-rec-scroll > :nth-child(3),
body.fx-soft-on .ml-set > :nth-child(3){animation-delay:160ms}
body.fx-soft-on .hr-scroll > :nth-child(4),
body.fx-soft-on .cl-rec-scroll > :nth-child(4),
body.fx-soft-on .ml-set > :nth-child(4){animation-delay:240ms}
body.fx-soft-on .hr-scroll > :nth-child(n+5),
body.fx-soft-on .cl-rec-scroll > :nth-child(n+5),
body.fx-soft-on .ml-set > :nth-child(n+5){animation-delay:320ms}

/* 在线绿点呼吸 */
body.fx-soft-on .hr-dot:not(.off),
body.fx-soft-on .cl-dot:not(.off),
body.fx-soft-on .ml-dot:not(.off),
body.fx-soft-on .hr-online i,
body.fx-soft-on .cl-online i{
  animation:smPulse 2.4s ease-in-out infinite}

/* 🔥 轻晃 */
body.fx-soft-on .hr-head-l .hr-fire,
body.fx-soft-on .cl-rec-head > span:first-child,
body.fx-soft-on .ml-h-l > span:first-child{
  display:inline-block;animation:smFlicker 3.2s ease-in-out infinite}

/* 悬浮层让位：缩小贴边，但保持可见（不丢「关闭音乐」） */
body.fx-soft-on .mc-box{
  opacity:.9;transform:translateY(16px) scale(.78);
  transform-origin:right bottom;
  transition:opacity .25s,transform .25s}
body.fx-soft-on #bgmFab,
body.fx-soft-on #serviceFab{
  opacity:.55;transform:scale(.88);
  transition:opacity .25s,transform .25s}
/* 碰一下就完整展开 */
body.fx-soft-on .mc-box:hover,
body.fx-soft-on .mc-box:focus-within,
body.fx-soft-on #bgmFab:hover,
body.fx-soft-on #serviceFab:hover,
body.fx-soft-on.fx-fab-awake .mc-box,
body.fx-soft-on.fx-fab-awake #bgmFab,
body.fx-soft-on.fx-fab-awake #serviceFab{
  opacity:1;transform:none}

/* 系统开了「减少动态效果」就只保留让位，不播动画 */
@media(prefers-reduced-motion:reduce){
  body.fx-soft-on .hr-card,
  body.fx-soft-on .cl-card,
  body.fx-soft-on .ml-card,
  body.fx-soft-on .hr-dot:not(.off),
  body.fx-soft-on .cl-dot:not(.off),
  body.fx-soft-on .ml-dot:not(.off),
  body.fx-soft-on .hr-online i,
  body.fx-soft-on .cl-online i,
  body.fx-soft-on .hr-head-l .hr-fire,
  body.fx-soft-on .cl-rec-head > span:first-child,
  body.fx-soft-on .ml-h-l > span:first-child{animation:none!important}}

/* 只收掉加载页重复的那行大字；不想要删这一行即可 */
body.sg-on .loading-title{display:none!important}

/* 段19 欢迎卡：仅 .wc- 前缀，零全局覆盖 */
.wc-card{--wc-ink:#4b3d70;--wc-soft:#8b7aa8;--wc-hot:#e478a6;
 margin:4px 2px 18px;border-radius:26px;padding:14px;
 background:linear-gradient(150deg,#fdeaf3,#f3eafb 55%,#eef4fb);
 box-shadow:0 8px 22px rgba(150,115,185,.16)}
.wc-inner{background:rgba(255,255,255,.88);backdrop-filter:blur(8px);
 border-radius:22px;padding:16px 16px 14px}
.wc-top{display:flex;align-items:center;justify-content:space-between;gap:8px;
 font-size:11px;font-weight:900;letter-spacing:2px;color:var(--wc-soft)}
.wc-side{display:flex;align-items:center;gap:6px;color:var(--wc-hot);letter-spacing:1px}
.wc-side i{width:6px;height:6px;border-radius:50%;background:var(--wc-hot)}
.wc-inner h2{margin:10px 0 14px;font-size:23px;font-weight:900;color:var(--wc-ink);
 letter-spacing:.5px;line-height:1.35}
.wc-inner h2 em{font-style:normal;color:var(--wc-hot);margin-left:4px}
.wc-tv{position:relative;border-radius:20px;padding:12px 12px 10px;
 background:linear-gradient(140deg,#f7c9dd,#e5d3f4);box-shadow:inset 0 0 0 2px rgba(255,255,255,.6)}
.wc-tv-h{display:flex;align-items:baseline;justify-content:space-between;gap:8px;margin-bottom:9px}
.wc-tv-h b{font-size:13px;font-weight:900;color:#fff;letter-spacing:2px}
.wc-tv-h span{font-size:9px;font-weight:800;letter-spacing:2px;color:rgba(255,255,255,.85)}
.wc-screen{position:relative;border-radius:16px;overflow:hidden;background:#fff;
 box-shadow:inset 0 0 0 3px rgba(255,255,255,.9);min-height:188px;
 display:grid;place-items:center}
.wc-pic{display:block;width:100%;height:auto;max-height:300px;object-fit:contain}
.wc-draw{width:100%;height:188px;display:flex;flex-direction:column;
 align-items:center;justify-content:center;gap:6px;
 background:radial-gradient(circle at 50% 40%,#fff,#fdeaf3)}
.wc-draw span{font-size:46px}
.wc-draw b{font-size:20px;color:var(--wc-ink)}
.wc-draw small{font-size:11px;color:var(--wc-soft)}
.wc-tv-f{display:flex;align-items:center;justify-content:space-between;gap:6px;margin-top:9px}
.wc-tv-f span{font-size:9px;letter-spacing:2px;color:rgba(255,255,255,.9)}
.wc-tv-f i{width:20px;height:20px;border-radius:50%;background:rgba(255,255,255,.75);
 display:grid;place-items:center;font-size:10px;font-style:normal;font-weight:900;color:#a8799f}
.wc-bottom{display:flex;align-items:flex-end;justify-content:space-between;gap:10px;margin-top:14px}
.wc-bottom b{display:block;font-size:13px;font-weight:900;color:var(--wc-ink)}
.wc-bottom small{display:block;font-size:10px;color:var(--wc-soft);margin-top:3px}
.wc-btn{flex:none;border:0;border-radius:20px;padding:11px 18px;font-size:13px;
 font-weight:900;color:#fff;background:#5c3f5e;cursor:pointer;
 box-shadow:0 4px 12px rgba(92,63,94,.24)}
@media(max-width:360px){.wc-inner h2{font-size:20px}.wc-screen{min-height:165px}
 .wc-pic{max-height:250px}.wc-btn{padding:10px 14px}}

/* 段19b 紧凑：上下收边、去掉图片上下白空 */
.wc-card{margin:0 2px 8px!important;padding:8px!important}
.wc-inner{padding:11px 12px 9px!important;border-radius:18px}
.wc-top{font-size:10px;letter-spacing:1.5px}
.wc-inner h2{margin:6px 0 9px!important;font-size:21px;line-height:1.25}
.wc-tv{padding:8px 8px 7px!important;border-radius:16px}
.wc-tv-h{margin-bottom:6px!important}
.wc-screen{display:block!important;min-height:0!important;
  box-shadow:inset 0 0 0 2px rgba(255,255,255,.9);border-radius:13px}
.wc-pic{display:block!important;width:100%!important;height:auto!important;
  max-height:none!important;margin:0!important}
.wc-draw{height:150px!important;gap:4px}
.wc-draw span{font-size:38px}
.wc-tv-f{margin-top:6px!important}
.wc-bottom{margin-top:9px!important}
.wc-btn{padding:9px 15px!important}
@media(max-width:360px){.wc-inner h2{font-size:19px}
  .wc-draw{height:128px!important}.wc-btn{padding:8px 12px!important}}

.hl-sec{margin-top:18px}.hl-head{margin:0 2px 10px}
.hl-scroll{display:flex;gap:10px;overflow-x:auto;scroll-snap-type:x mandatory;
 -webkit-overflow-scrolling:touch;scrollbar-width:none;padding:2px 14px 6px 2px;margin-right:-14px}
.hl-scroll::-webkit-scrollbar{display:none}
.hl-card{flex:0 0 30%;min-width:0;position:relative;scroll-snap-align:start;
 border-radius:18px;overflow:hidden;background:rgba(255,255,255,.94);
 box-shadow:0 5px 14px rgba(150,115,185,.14);padding:7px}
.hl-hit{position:absolute;inset:0;z-index:2;width:100%;height:100%;appearance:none;
 background:transparent;border:0;padding:0;margin:0;cursor:pointer}
.hl-pic{height:92px;border-radius:13px;display:grid;place-items:center;overflow:hidden;
 background:linear-gradient(140deg,#fdeaf3,#e9dcf9)}
.hl-pic.ph1{background:linear-gradient(140deg,#fff0d9,#f8d2e5)}
.hl-pic.ph2{background:linear-gradient(140deg,#e5f2fb,#e3d9f6)}
.hl-pic.ph3{background:linear-gradient(140deg,#e6f5ec,#f9e7ae)}
.hl-img{width:100%;height:100%;object-fit:cover;display:block}
.hl-face{font-size:38px}
.hl-body{padding:8px 3px 2px;display:flex;flex-direction:column;gap:3px}
.hl-body b{font-size:12px;font-weight:900;color:#4b3d70;
 white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.hl-kind{font-size:10px;color:#8b7aa8}.hl-price{font-size:12px;font-weight:900;color:#e478a6}
.hl-empty{text-align:center;font-size:12px;line-height:2;color:#8b7aa8;
 background:rgba(255,255,255,.7);border-radius:16px;padding:18px 12px}
.hl-empty small{font-size:10px;color:#bdb0cf}
@media(max-width:360px){.hl-card{flex-basis:34%}.hl-pic{height:82px}}

/* 首页精简：仅 body.ht-on 作用域，零全局覆盖 */
body.ht-on #view .club-head,
body.ht-on #view .hero,
body.ht-on #view .hero.has-photo{display:none!important}
body.ht-on #wcCard{margin-top:2px}

[data-hr2]{display:none!important}
body.hr2-on #mcGiftSec,
body.hr2-on .fun-grid,
body.hr2-on #view > .between.hr2-fun{display:none!important}

/* 我的页 v2：仅 .mv2- / .bp- / .bs- 前缀，零全局覆盖 */
.mv2-hide{display:none!important}
.bp-card{display:flex;align-items:center;gap:12px;position:relative;
 margin:14px 2px 14px;padding:16px 15px;border-radius:22px;
 background:linear-gradient(120deg,rgba(255,255,255,.92),rgba(253,234,243,.86));
 box-shadow:0 6px 18px rgba(150,115,185,.16)}
.bp-ava,.bp-ava-ph{width:66px;height:66px;flex:none;border-radius:50%;object-fit:cover;
 display:grid;place-items:center;font-size:30px;background:#fff;
 box-shadow:0 0 0 4px rgba(255,255,255,.85)}
.bp-txt{flex:1;min-width:0}
.bp-txt b{display:block;font-size:21px;font-weight:900;color:#5c407f;
 white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bp-txt small{display:block;margin-top:5px;font-size:11px;line-height:1.6;color:#a07ab8}
.bp-kook{position:absolute;left:15px;bottom:-11px;font-size:11px;font-weight:900;
 color:#8a6a3a;background:#fff3d6;padding:5px 12px;border-radius:12px;
 box-shadow:0 3px 8px rgba(180,140,80,.14)}
.bp-live{position:absolute;left:62px;top:62px;width:11px;height:11px;border-radius:50%;
 background:#5ccb96;box-shadow:0 0 0 3px rgba(92,203,150,.2)}
.bs-card{display:flex;align-items:center;gap:10px;position:relative;
 margin:0 0 12px;padding:10px 12px;border-radius:18px;
 background:linear-gradient(100deg,#fdeaf3,#f1eafb)}
.bs-ava,.bs-ava-ph{width:46px;height:46px;flex:none;border-radius:50%;object-fit:cover;
 display:grid;place-items:center;font-size:22px;background:#fff}
.bs-txt{flex:1;min-width:0}
.bs-txt b{display:block;font-size:14px;font-weight:900;color:#5c407f}
.bs-txt small{display:block;margin-top:2px;font-size:10px;color:#8b7aa8}
.bs-live{position:absolute;left:44px;top:44px;width:10px;height:10px;border-radius:50%;
 background:#5ccb96;box-shadow:0 0 0 3px rgba(92,203,150,.2)}
@media(max-width:360px){.bp-txt b{font-size:18px}.bp-ava,.bp-ava-ph{width:56px;height:56px}}

/* 用户自助：仅 .ua- / .bp-edit 前缀，零全局覆盖 */
.bp-edit{position:absolute;right:14px;top:14px;z-index:3;border:0;border-radius:14px;
 padding:7px 12px;font-size:11px;font-weight:900;color:#5c407f;
 background:#f1e8fb;cursor:pointer;box-shadow:0 2px 8px rgba(160,120,200,.16)}
.bp-card .bp-txt{padding-right:88px}
.ua-panel{position:fixed;inset:0;z-index:100;display:none;
 background:rgba(70,50,95,.42);backdrop-filter:blur(3px)}
.ua-panel.on{display:block}
.ua-wrap{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);
 width:min(92vw,420px);max-height:86vh;overflow-y:auto;background:#fff;
 border-radius:22px;padding:18px;box-shadow:0 18px 48px rgba(80,50,110,.3)}
.ua-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}
.ua-head b{font-size:16px;font-weight:900;color:#5c407f}
.ua-head button{border:0;background:#f3eafb;color:#8e6fc0;width:30px;height:30px;
 border-radius:50%;font-size:15px;cursor:pointer}
.ua-tabs{display:flex;gap:8px;margin-bottom:12px}
.ua-tabs button{flex:1;border:0;border-radius:13px;padding:10px;font-size:12px;
 font-weight:900;color:#8b7aa8;background:#f7f2fc;cursor:pointer}
.ua-tabs button.on{color:#5c407f;background:linear-gradient(100deg,#f9c9dd,#dcc9f6)}
.ua-wrap label{display:block;margin-bottom:10px;font-size:11px;font-weight:800;color:#8b7aa8}
.ua-wrap input{display:block;width:100%;margin-top:5px;font-size:13px;padding:11px 12px;
 border:1px solid rgba(160,130,200,.28);border-radius:11px;background:#fff;
 color:#5c4b7d;box-sizing:border-box}
.ua-main{width:100%;border:0;border-radius:16px;padding:13px;font-size:14px;
 font-weight:900;color:#5c407f;cursor:pointer;
 background:linear-gradient(100deg,#f9c9dd,#dcc9f6);
 box-shadow:0 4px 12px rgba(190,140,210,.22)}
.ua-out{width:100%;margin-top:9px;border:0;border-radius:14px;padding:11px;
 font-size:12px;font-weight:800;color:#c47aa0;background:#fdeef4;cursor:pointer}
.ua-note{margin:10px 0 0;font-size:10px;line-height:1.7;color:#a99cc0;text-align:center}
.ua-ava-row{display:flex;align-items:center;gap:10px;margin-bottom:13px}
.ua-ava-row>span{width:58px;height:58px;flex:none;border-radius:50%;background:#f7f0fc;
 display:grid;place-items:center;font-size:26px;overflow:hidden}
.ua-ava-row>span img{width:100%;height:100%;object-fit:cover}
.ua-ava-row button{border:0;border-radius:12px;padding:9px 13px;font-size:11px;
 font-weight:800;color:#8e6fc0;background:#f0e8fa;cursor:pointer}
[hidden]{display:none!important}

/* 会员卡保底可见 */
#bpProfile{display:flex!important;visibility:visible!important}

/* 登录 UI 皮肤 · 8 套。仅 .ua- / .bp-edit / .ls- / .skin-scope 前缀 */
.ua-skins{display:flex;gap:5px;justify-content:center;flex-wrap:wrap;margin:-4px 0 14px}
.ua-skins button{border:1px solid rgba(160,130,200,.25);border-radius:13px;
 padding:6px 9px;font-size:10px;font-weight:900;cursor:pointer;
 background:rgba(255,255,255,.6);color:#8b7aa8;white-space:nowrap}
.ua-skins button.on{transform:translateY(-1px);box-shadow:0 3px 10px rgba(160,120,200,.22)}
.ua-skins .ua-preview-btn{border-style:dashed}
.ls-preview{position:fixed;inset:0;z-index:130;display:none;overflow-y:auto;
 padding:14px 12px 30px;background:linear-gradient(160deg,#fdf4fa,#f1eafb 55%,#fff8ec);
 -webkit-overflow-scrolling:touch}
.ls-preview.on{display:block}
.ls-head{max-width:760px;margin:0 auto 14px;background:rgba(255,255,255,.92);
 border-radius:20px;padding:14px 16px;box-shadow:0 6px 18px rgba(150,115,185,.16);
 display:flex;align-items:center;justify-content:space-between;gap:10px}
.ls-head b{font-size:15px;font-weight:900;color:#5c407f}
.ls-head small{display:block;font-size:10px;color:#a99cc0;margin-top:3px}
.ls-head button{border:0;border-radius:14px;padding:9px 13px;font-size:11px;
 font-weight:900;color:#8e6fc0;background:#f1e8fb;cursor:pointer;white-space:nowrap}
.ls-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;max-width:760px;margin:0 auto}
.skin-scope{background:rgba(255,255,255,.6);border-radius:18px;padding:8px 8px 10px;
 box-shadow:0 4px 12px rgba(150,115,185,.12)}
.skin-scope .ua-panel{position:relative!important;display:block!important;
 inset:auto!important;background:none!important;backdrop-filter:none!important;padding:0!important}
.skin-scope .ua-wrap{position:relative!important;left:auto!important;top:auto!important;
 transform:none!important;width:100%!important;max-height:none!important;
 overflow:visible!important;margin:0!important;box-sizing:border-box;
 padding:13px 13px 15px;border-radius:18px}
.skin-scope .ua-wrap *{box-sizing:border-box}
.skin-scope .ua-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:9px}
.skin-scope .ua-head b{font-size:14px;font-weight:900}
.skin-scope .ua-head button{width:26px;height:26px;flex:none;border:0;border-radius:50%;
 font-size:14px;line-height:1;cursor:pointer}
.skin-scope .ua-tabs{display:flex;gap:6px;margin-bottom:10px}
.skin-scope .ua-tabs button{flex:1;border:0;border-radius:11px;padding:8px 2px;
 font-size:10px;font-weight:900;cursor:pointer}
.skin-scope .ua-wrap label{display:block;margin-bottom:8px;font-size:9px;font-weight:800}
.skin-scope .ua-wrap input{display:block;width:100%;margin-top:4px;
 font-size:10px;padding:8px 9px;border-radius:9px;pointer-events:none}
.skin-scope .ua-main{display:block;width:100%;border:0;border-radius:13px;
 padding:10px 4px;margin-top:6px;font-size:11px;font-weight:900;cursor:pointer}
.skin-scope .ua-note{margin:8px 0 0;font-size:9px;line-height:1.6;text-align:center}
.ls-foot{display:flex;align-items:center;justify-content:space-between;gap:6px;margin-top:9px}
.ls-foot b{font-size:11px;font-weight:900;color:#5c407f}
.ls-foot button{border:0;border-radius:11px;padding:6px 9px;font-size:10px;
 font-weight:900;color:#5c407f;background:linear-gradient(100deg,#f9c9dd,#dcc9f6);cursor:pointer}
@media(max-width:360px){.ls-grid{grid-template-columns:1fr}}

body[data-login-skin="candy"] > .ua-panel,
.skin-scope[data-skin="candy"] .ua-panel { background:rgba(70,50,95,.42) }

body[data-login-skin="candy"] > .ua-panel .ua-wrap,
.skin-scope[data-skin="candy"] .ua-wrap { background:linear-gradient(150deg,rgba(255,255,255,.97),rgba(253,234,243,.95));border:2px solid #fff;box-shadow:0 18px 48px rgba(150,115,185,.3) }

body[data-login-skin="candy"] > .ua-panel .ua-head b,
.skin-scope[data-skin="candy"] .ua-head b { color:#5c407f }

body[data-login-skin="candy"] > .ua-panel .ua-head button,
.skin-scope[data-skin="candy"] .ua-head button { background:#f3eafb;color:#8e6fc0 }

body[data-login-skin="candy"] > .ua-panel .ua-wrap label,
.skin-scope[data-skin="candy"] .ua-wrap label { color:#8b7aa8 }

body[data-login-skin="candy"] > .ua-panel .ua-wrap input,
.skin-scope[data-skin="candy"] .ua-wrap input { background:#fff;color:#5c4b7d;border:1px solid rgba(160,130,200,.28) }

body[data-login-skin="candy"] > .ua-panel .ua-tabs button,
.skin-scope[data-skin="candy"] .ua-tabs button { background:#f7f2fc;color:#8b7aa8 }

body[data-login-skin="candy"] > .ua-panel .ua-tabs button.on, body[data-login-skin="candy"] > .ua-panel .ua-main, body[data-login-skin="candy"] .bp-edit,
.skin-scope[data-skin="candy"] .ua-tabs button.on, .skin-scope[data-skin="candy"] .ua-main, .skin-scope[data-skin="candy"] .bp-edit { background:linear-gradient(100deg,#f9c9dd,#dcc9f6);color:#5c407f }

body[data-login-skin="candy"] > .ua-panel .ua-out,
.skin-scope[data-skin="candy"] .ua-out { background:#fdeef4;color:#c47aa0 }

body[data-login-skin="candy"] > .ua-panel .ua-note, body[data-login-skin="candy"] > .ua-panel .ua-skins button,
.skin-scope[data-skin="candy"] .ua-note, .skin-scope[data-skin="candy"] .ua-skins button { color:#a99cc0 }

body[data-login-skin="candy"] > .ua-panel .ua-skins button.on,
.skin-scope[data-skin="candy"] .ua-skins button.on { background:linear-gradient(100deg,#f9c9dd,#dcc9f6);color:#5c407f }

body[data-login-skin="pocket"] > .ua-panel,
.skin-scope[data-skin="pocket"] .ua-panel { background:rgba(90,60,105,.42) }

body[data-login-skin="pocket"] > .ua-panel .ua-wrap,
.skin-scope[data-skin="pocket"] .ua-wrap { background:linear-gradient(150deg,#f7c9dd,#e5d3f4);border:5px solid #fff;border-radius:30px;box-shadow:inset 0 0 0 2px rgba(255,255,255,.6),0 18px 48px rgba(120,80,150,.34) }

body[data-login-skin="pocket"] > .ua-panel .ua-wrap:before,
.skin-scope[data-skin="pocket"] .ua-wrap:before { content:'MIOO ♡  POCKET LOGIN';display:block;text-align:center;font-size:11px;font-weight:900;letter-spacing:3px;color:#fff;margin-bottom:12px;text-shadow:0 1px 3px rgba(150,100,170,.3) }

body[data-login-skin="pocket"] > .ua-panel .ua-head b,
.skin-scope[data-skin="pocket"] .ua-head b { color:#fff;text-shadow:0 1px 3px rgba(150,100,170,.35) }

body[data-login-skin="pocket"] > .ua-panel .ua-head button,
.skin-scope[data-skin="pocket"] .ua-head button { background:rgba(255,255,255,.85);color:#a8799f }

body[data-login-skin="pocket"] > .ua-panel .ua-wrap label,
.skin-scope[data-skin="pocket"] .ua-wrap label { color:#7a5687 }

body[data-login-skin="pocket"] > .ua-panel .ua-wrap input,
.skin-scope[data-skin="pocket"] .ua-wrap input { background:#fff;border:3px solid rgba(255,255,255,.9);border-radius:14px;color:#5c4b7d;box-shadow:inset 0 2px 6px rgba(160,120,190,.12) }

body[data-login-skin="pocket"] > .ua-panel .ua-tabs button,
.skin-scope[data-skin="pocket"] .ua-tabs button { background:rgba(255,255,255,.65);color:#a8799f }

body[data-login-skin="pocket"] > .ua-panel .ua-tabs button.on,
.skin-scope[data-skin="pocket"] .ua-tabs button.on { background:#fff;color:#5c407f;box-shadow:0 3px 8px rgba(150,100,170,.2) }

body[data-login-skin="pocket"] > .ua-panel .ua-main,
.skin-scope[data-skin="pocket"] .ua-main { background:#5c3f5e;color:#fff;border-radius:20px }

body[data-login-skin="pocket"] > .ua-panel .ua-out, body[data-login-skin="pocket"] > .ua-panel .ua-skins button,
.skin-scope[data-skin="pocket"] .ua-out, .skin-scope[data-skin="pocket"] .ua-skins button { background:rgba(255,255,255,.8);color:#a8799f }

body[data-login-skin="pocket"] > .ua-panel .ua-note,
.skin-scope[data-skin="pocket"] .ua-note { color:#8a6a95 }

body[data-login-skin="pocket"] .bp-edit, body[data-login-skin="pocket"] > .ua-panel .ua-skins button.on,
.skin-scope[data-skin="pocket"] .bp-edit, .skin-scope[data-skin="pocket"] .ua-skins button.on { background:#fff;color:#5c407f }

body[data-login-skin="letter"] > .ua-panel,
.skin-scope[data-skin="letter"] .ua-panel { background:rgba(120,95,135,.35) }

body[data-login-skin="letter"] > .ua-panel .ua-wrap,
.skin-scope[data-skin="letter"] .ua-wrap { background:#fffaf2;border:2px dashed #e3c4dd;border-radius:18px;box-shadow:0 14px 34px rgba(170,130,160,.24);position:relative }

body[data-login-skin="letter"] > .ua-panel .ua-wrap:before,
.skin-scope[data-skin="letter"] .ua-wrap:before { content:'🎀';position:absolute;left:50%;top:-22px;transform:translateX(-50%);font-size:34px;filter:drop-shadow(0 3px 5px rgba(180,120,160,.25)) }

body[data-login-skin="letter"] > .ua-panel .ua-head,
.skin-scope[data-skin="letter"] .ua-head { margin-top:10px }

body[data-login-skin="letter"] > .ua-panel .ua-head b,
.skin-scope[data-skin="letter"] .ua-head b { color:#a2718f;letter-spacing:2px }

body[data-login-skin="letter"] > .ua-panel .ua-head button,
.skin-scope[data-skin="letter"] .ua-head button { background:#fdeaf3;color:#c47aa0 }

body[data-login-skin="letter"] > .ua-panel .ua-wrap label,
.skin-scope[data-skin="letter"] .ua-wrap label { color:#b08fa3 }

body[data-login-skin="letter"] > .ua-panel .ua-wrap input,
.skin-scope[data-skin="letter"] .ua-wrap input { background:#fff;border:1px solid #edd7e6;border-radius:10px;color:#7a5687 }

body[data-login-skin="letter"] > .ua-panel .ua-tabs button,
.skin-scope[data-skin="letter"] .ua-tabs button { background:#fdf1f8;color:#b08fa3 }

body[data-login-skin="letter"] > .ua-panel .ua-tabs button.on, body[data-login-skin="letter"] > .ua-panel .ua-skins button.on, body[data-login-skin="letter"] .bp-edit,
.skin-scope[data-skin="letter"] .ua-tabs button.on, .skin-scope[data-skin="letter"] .ua-skins button.on, .skin-scope[data-skin="letter"] .bp-edit { background:#fff3d6;color:#a8792f;border:1px solid #f0d59b }

body[data-login-skin="letter"] > .ua-panel .ua-main,
.skin-scope[data-skin="letter"] .ua-main { background:linear-gradient(100deg,#f7b9d4,#e8c8ef);color:#7a4a68;border-radius:14px }

body[data-login-skin="letter"] > .ua-panel .ua-out, body[data-login-skin="letter"] > .ua-panel .ua-skins button,
.skin-scope[data-skin="letter"] .ua-out, .skin-scope[data-skin="letter"] .ua-skins button { background:#fdf1f8;color:#c47aa0 }

body[data-login-skin="letter"] > .ua-panel .ua-note,
.skin-scope[data-skin="letter"] .ua-note { color:#c4a9bd }

body[data-login-skin="night"] > .ua-panel,
.skin-scope[data-skin="night"] .ua-panel { background:rgba(24,14,38,.62) }

body[data-login-skin="night"] > .ua-panel .ua-wrap,
.skin-scope[data-skin="night"] .ua-wrap { background:linear-gradient(160deg,#2a1b42,#3b2454);border:1px solid rgba(243,168,205,.45);border-radius:22px;box-shadow:0 0 0 1px rgba(201,179,239,.18),0 20px 50px rgba(10,4,22,.55),inset 0 0 34px rgba(201,179,239,.08) }

body[data-login-skin="night"] > .ua-panel .ua-head b,
.skin-scope[data-skin="night"] .ua-head b { color:#f6d9ec;letter-spacing:1px }

body[data-login-skin="night"] > .ua-panel .ua-head button,
.skin-scope[data-skin="night"] .ua-head button { background:rgba(243,168,205,.16);color:#f3a8cd }

body[data-login-skin="night"] > .ua-panel .ua-wrap label,
.skin-scope[data-skin="night"] .ua-wrap label { color:#c3a9dd }

body[data-login-skin="night"] > .ua-panel .ua-wrap input,
.skin-scope[data-skin="night"] .ua-wrap input { background:rgba(255,255,255,.07);border:1px solid rgba(201,179,239,.36);border-radius:11px;color:#f6e9ff }

body[data-login-skin="night"] > .ua-panel .ua-wrap input::placeholder,
.skin-scope[data-skin="night"] .ua-wrap input::placeholder { color:#9d86bd }

body[data-login-skin="night"] > .ua-panel .ua-tabs button,
.skin-scope[data-skin="night"] .ua-tabs button { background:rgba(201,179,239,.12);color:#c3a9dd }

body[data-login-skin="night"] > .ua-panel .ua-tabs button.on, body[data-login-skin="night"] > .ua-panel .ua-main, body[data-login-skin="night"] > .ua-panel .ua-skins button.on,
.skin-scope[data-skin="night"] .ua-tabs button.on, .skin-scope[data-skin="night"] .ua-main, .skin-scope[data-skin="night"] .ua-skins button.on { background:linear-gradient(100deg,#f3a8cd,#c9b3ef);color:#2a1b42;box-shadow:0 0 14px rgba(243,168,205,.4) }

body[data-login-skin="night"] > .ua-panel .ua-out, body[data-login-skin="night"] > .ua-panel .ua-skins button,
.skin-scope[data-skin="night"] .ua-out, .skin-scope[data-skin="night"] .ua-skins button { background:rgba(243,168,205,.12);color:#f3a8cd }

body[data-login-skin="night"] > .ua-panel .ua-note,
.skin-scope[data-skin="night"] .ua-note { color:#9d86bd }

body[data-login-skin="night"] .bp-edit,
.skin-scope[data-skin="night"] .bp-edit { background:rgba(243,168,205,.18);color:#f6d9ec }

body[data-login-skin="night"] > .ua-panel .ua-ava-row>span,
.skin-scope[data-skin="night"] .ua-ava-row>span { background:rgba(201,179,239,.14) }

body[data-login-skin="berry"] > .ua-panel,
.skin-scope[data-skin="berry"] .ua-panel { background:rgba(120,80,105,.38) }

body[data-login-skin="berry"] > .ua-panel .ua-wrap,
.skin-scope[data-skin="berry"] .ua-wrap { background:linear-gradient(155deg,#fff6e4,#fde3ef);border:3px solid #fff;border-radius:26px;box-shadow:0 16px 42px rgba(200,120,160,.26) }

body[data-login-skin="berry"] > .ua-panel .ua-wrap:before,
.skin-scope[data-skin="berry"] .ua-wrap:before { content:'🍓';position:absolute;right:16px;top:-18px;font-size:32px;filter:drop-shadow(0 3px 5px rgba(200,120,160,.28)) }

body[data-login-skin="berry"] > .ua-panel .ua-head b,
.skin-scope[data-skin="berry"] .ua-head b { color:#8a5a6e }

body[data-login-skin="berry"] > .ua-panel .ua-head button,
.skin-scope[data-skin="berry"] .ua-head button { background:#fde3ef;color:#c4689a }

body[data-login-skin="berry"] > .ua-panel .ua-wrap label,
.skin-scope[data-skin="berry"] .ua-wrap label { color:#b08599 }

body[data-login-skin="berry"] > .ua-panel .ua-wrap input,
.skin-scope[data-skin="berry"] .ua-wrap input { background:#fffdf8;border:2px solid #f3d4e2;border-radius:13px;color:#8a5a6e }

body[data-login-skin="berry"] > .ua-panel .ua-tabs button,
.skin-scope[data-skin="berry"] .ua-tabs button { background:#fdf0f6;color:#b08599 }

body[data-login-skin="berry"] > .ua-panel .ua-tabs button.on, body[data-login-skin="berry"] > .ua-panel .ua-main, body[data-login-skin="berry"] > .ua-panel .ua-skins button.on,
.skin-scope[data-skin="berry"] .ua-tabs button.on, .skin-scope[data-skin="berry"] .ua-main, .skin-scope[data-skin="berry"] .ua-skins button.on { background:linear-gradient(100deg,#f392b8,#f7c6a5);color:#fff;box-shadow:0 4px 12px rgba(230,140,175,.3) }

body[data-login-skin="berry"] > .ua-panel .ua-out, body[data-login-skin="berry"] > .ua-panel .ua-skins button,
.skin-scope[data-skin="berry"] .ua-out, .skin-scope[data-skin="berry"] .ua-skins button { background:#fdf0f6;color:#c4689a }

body[data-login-skin="berry"] > .ua-panel .ua-note,
.skin-scope[data-skin="berry"] .ua-note { color:#c9a8b8 }

body[data-login-skin="berry"] .bp-edit,
.skin-scope[data-skin="berry"] .bp-edit { background:#fff3d6;color:#a8792f }

body[data-login-skin="mist"] > .ua-panel,
.skin-scope[data-skin="mist"] .ua-panel { background:rgba(150,160,190,.3) }

body[data-login-skin="mist"] > .ua-panel .ua-wrap,
.skin-scope[data-skin="mist"] .ua-wrap { background:linear-gradient(165deg,#fbfaff,#eef4fc);border:1px solid #fff;border-radius:28px;box-shadow:0 20px 50px rgba(140,150,190,.22) }

body[data-login-skin="mist"] > .ua-panel .ua-wrap:before,
.skin-scope[data-skin="mist"] .ua-wrap:before { content:'☁';position:absolute;right:20px;top:-20px;font-size:30px;color:#fff;text-shadow:0 4px 10px rgba(150,160,200,.35) }

body[data-login-skin="mist"] > .ua-panel .ua-head b,
.skin-scope[data-skin="mist"] .ua-head b { color:#7c6e9c }

body[data-login-skin="mist"] > .ua-panel .ua-head button,
.skin-scope[data-skin="mist"] .ua-head button { background:#eef0fa;color:#9a8cba }

body[data-login-skin="mist"] > .ua-panel .ua-wrap label,
.skin-scope[data-skin="mist"] .ua-wrap label { color:#9a90b0 }

body[data-login-skin="mist"] > .ua-panel .ua-wrap input,
.skin-scope[data-skin="mist"] .ua-wrap input { background:rgba(255,255,255,.9);border:1px solid #e2def0;border-radius:14px;color:#6a5f8c }

body[data-login-skin="mist"] > .ua-panel .ua-tabs button,
.skin-scope[data-skin="mist"] .ua-tabs button { background:#f0eef9;color:#9a90b0 }

body[data-login-skin="mist"] > .ua-panel .ua-tabs button.on, body[data-login-skin="mist"] > .ua-panel .ua-main, body[data-login-skin="mist"] > .ua-panel .ua-skins button.on,
.skin-scope[data-skin="mist"] .ua-tabs button.on, .skin-scope[data-skin="mist"] .ua-main, .skin-scope[data-skin="mist"] .ua-skins button.on { background:linear-gradient(100deg,#c6bee2,#dcd4f0);color:#fff }

body[data-login-skin="mist"] > .ua-panel .ua-out, body[data-login-skin="mist"] > .ua-panel .ua-skins button,
.skin-scope[data-skin="mist"] .ua-out, .skin-scope[data-skin="mist"] .ua-skins button { background:#f0eef9;color:#9a90b0 }

body[data-login-skin="mist"] > .ua-panel .ua-note,
.skin-scope[data-skin="mist"] .ua-note { color:#b6aecd }

body[data-login-skin="mist"] .bp-edit,
.skin-scope[data-skin="mist"] .bp-edit { background:#eef0fa;color:#7c6e9c }

body[data-login-skin="pixel"] > .ua-panel,
.skin-scope[data-skin="pixel"] .ua-panel { background:rgba(14,10,30,.68) }

body[data-login-skin="pixel"] > .ua-panel .ua-wrap,
.skin-scope[data-skin="pixel"] .ua-wrap { background:linear-gradient(160deg,#1e1636,#2e1e50);border:3px solid #a8f0c6;border-radius:8px;box-shadow:6px 6px 0 rgba(168,240,198,.25),0 20px 44px rgba(0,0,0,.5);font-family:monospace }

body[data-login-skin="pixel"] > .ua-panel .ua-wrap:before,
.skin-scope[data-skin="pixel"] .ua-wrap:before { content:'▮▮▮  PLAYER 1  ▮▮▮';display:block;text-align:center;font-size:11px;font-weight:900;letter-spacing:2px;color:#a8f0c6;margin-bottom:12px }

body[data-login-skin="pixel"] > .ua-panel .ua-head b,
.skin-scope[data-skin="pixel"] .ua-head b { color:#a8f0c6;letter-spacing:2px }

body[data-login-skin="pixel"] > .ua-panel .ua-head button,
.skin-scope[data-skin="pixel"] .ua-head button { background:#3a2860;color:#a8f0c6;border-radius:6px }

body[data-login-skin="pixel"] > .ua-panel .ua-wrap label,
.skin-scope[data-skin="pixel"] .ua-wrap label { color:#b9a8e0 }

body[data-login-skin="pixel"] > .ua-panel .ua-wrap input,
.skin-scope[data-skin="pixel"] .ua-wrap input { background:#3a2860;border:2px solid #a8f0c6;border-radius:4px;color:#e8fff2 }

body[data-login-skin="pixel"] > .ua-panel .ua-wrap input::placeholder,
.skin-scope[data-skin="pixel"] .ua-wrap input::placeholder { color:#8a78b0 }

body[data-login-skin="pixel"] > .ua-panel .ua-tabs button,
.skin-scope[data-skin="pixel"] .ua-tabs button { background:#3a2860;color:#b9a8e0;border-radius:4px }

body[data-login-skin="pixel"] > .ua-panel .ua-tabs button.on, body[data-login-skin="pixel"] > .ua-panel .ua-main, body[data-login-skin="pixel"] > .ua-panel .ua-skins button.on,
.skin-scope[data-skin="pixel"] .ua-tabs button.on, .skin-scope[data-skin="pixel"] .ua-main, .skin-scope[data-skin="pixel"] .ua-skins button.on { background:#a8f0c6;color:#1e1636;box-shadow:3px 3px 0 #6fc99c }

body[data-login-skin="pixel"] > .ua-panel .ua-out, body[data-login-skin="pixel"] > .ua-panel .ua-skins button,
.skin-scope[data-skin="pixel"] .ua-out, .skin-scope[data-skin="pixel"] .ua-skins button { background:#3a2860;color:#b9a8e0 }

body[data-login-skin="pixel"] > .ua-panel .ua-note,
.skin-scope[data-skin="pixel"] .ua-note { color:#8a78b0 }

body[data-login-skin="pixel"] .bp-edit,
.skin-scope[data-skin="pixel"] .bp-edit { background:#a8f0c6;color:#1e1636 }

body[data-login-skin="ticket"] > .ua-panel,
.skin-scope[data-skin="ticket"] .ua-panel { background:rgba(105,80,70,.4) }

body[data-login-skin="ticket"] > .ua-panel .ua-wrap,
.skin-scope[data-skin="ticket"] .ua-wrap { background:linear-gradient(160deg,#fff7e6,#f7e2c8);border:2px solid #d6aa6e;border-radius:14px;box-shadow:0 16px 40px rgba(150,110,70,.28) }

body[data-login-skin="ticket"] > .ua-panel .ua-wrap:before,
.skin-scope[data-skin="ticket"] .ua-wrap:before { content:'ADMIT ONE  ·  祈愿电竞';display:block;text-align:center;font-size:10px;font-weight:900;letter-spacing:3px;color:#a8792f;border-bottom:1px dashed #d6aa6e;padding-bottom:8px;margin-bottom:10px }

body[data-login-skin="ticket"] > .ua-panel .ua-head b,
.skin-scope[data-skin="ticket"] .ua-head b { color:#6e503c;letter-spacing:1px }

body[data-login-skin="ticket"] > .ua-panel .ua-head button,
.skin-scope[data-skin="ticket"] .ua-head button { background:#f3e2c8;color:#a8792f }

body[data-login-skin="ticket"] > .ua-panel .ua-wrap label,
.skin-scope[data-skin="ticket"] .ua-wrap label { color:#9e8068 }

body[data-login-skin="ticket"] > .ua-panel .ua-wrap input,
.skin-scope[data-skin="ticket"] .ua-wrap input { background:#fffdf6;border:1px dashed #d6aa6e;border-radius:8px;color:#6e503c }

body[data-login-skin="ticket"] > .ua-panel .ua-tabs button,
.skin-scope[data-skin="ticket"] .ua-tabs button { background:#f7ecd8;color:#9e8068 }

body[data-login-skin="ticket"] > .ua-panel .ua-tabs button.on, body[data-login-skin="ticket"] > .ua-panel .ua-main, body[data-login-skin="ticket"] > .ua-panel .ua-skins button.on,
.skin-scope[data-skin="ticket"] .ua-tabs button.on, .skin-scope[data-skin="ticket"] .ua-main, .skin-scope[data-skin="ticket"] .ua-skins button.on { background:#e27878;color:#fff;box-shadow:0 4px 10px rgba(200,100,100,.25) }

body[data-login-skin="ticket"] > .ua-panel .ua-out, body[data-login-skin="ticket"] > .ua-panel .ua-skins button,
.skin-scope[data-skin="ticket"] .ua-out, .skin-scope[data-skin="ticket"] .ua-skins button { background:#f7ecd8;color:#a8792f }

body[data-login-skin="ticket"] > .ua-panel .ua-note,
.skin-scope[data-skin="ticket"] .ua-note { color:#bda487 }

body[data-login-skin="ticket"] .bp-edit,
.skin-scope[data-skin="ticket"] .bp-edit { background:#fff3d6;color:#a8792f }

/* 登录弹窗全屏：只作用于真实弹窗（body 直接子级），预览小卡不受影响
   想回到居中卡片：删掉 index.html 里这一行引用即可 */
body > .ua-panel.on{
  backdrop-filter:none!important;background:transparent!important;
}
body > .ua-panel.on > .ua-wrap{
  position:absolute!important;inset:0!important;left:0!important;top:0!important;
  transform:none!important;width:100%!important;height:100%!important;
  max-height:none!important;margin:0!important;box-sizing:border-box!important;
  padding:calc(env(safe-area-inset-top) + 22px) 20px
          calc(env(safe-area-inset-bottom) + 22px)!important;
  border:0!important;border-radius:0!important;box-shadow:none!important;
  display:flex!important;flex-direction:column!important;
  align-items:center!important;justify-content:center!important;
  overflow-y:auto!important;overflow-x:hidden!important;
  -webkit-overflow-scrolling:touch;
}
body > .ua-panel.on > .ua-wrap > *{
  max-width:420px!important;width:100%!important;
  margin-left:auto!important;margin-right:auto!important;flex:none!important;
}
/* 各皮肤的 :before 装饰（🎀 / 🍓 / ☁ / MIOO 标题）改成列内居中，不再跑出屏幕 */
body > .ua-panel.on > .ua-wrap:before{
  position:static!important;top:auto!important;right:auto!important;left:auto!important;
  transform:none!important;display:block!important;width:100%!important;
  max-width:420px!important;text-align:center!important;align-self:center!important;
  margin:0 auto 14px!important;
}
body > .ua-panel.on .ua-head button{width:34px;height:34px;font-size:17px}
body > .ua-panel.on .ua-skins{display:none!important}
/* 全屏实色底：避免半透明皮肤透出背后页面 */
body[data-login-skin="candy"] > .ua-panel.on{background-color:#fdf1f8!important}
body[data-login-skin="pocket"] > .ua-panel.on{background-color:#f2c9e0!important}
body[data-login-skin="letter"] > .ua-panel.on{background-color:#fffaf2!important}
body[data-login-skin="night"] > .ua-panel.on{background-color:#2a1b42!important}
body[data-login-skin="berry"] > .ua-panel.on{background-color:#fff0e0!important}
body[data-login-skin="mist"] > .ua-panel.on{background-color:#f4f2fc!important}
body[data-login-skin="pixel"] > .ua-panel.on{background-color:#1e1636!important}
body[data-login-skin="ticket"] > .ua-panel.on{background-color:#fff3dc!important}

/* 返回键 + 加到桌面：仅 .st- 前缀，零全局覆盖 */
.st-bar{position:fixed;left:10px;bottom:calc(env(safe-area-inset-bottom) + 76px);
 z-index:93;display:flex;flex-direction:column;align-items:flex-start;gap:8px}
.st-btn{border:0;border-radius:50%;width:38px;height:38px;display:grid;place-items:center;
 font-size:22px;font-weight:900;line-height:1;cursor:pointer;color:#5c407f;
 background:rgba(255,255,255,.9);box-shadow:0 4px 12px rgba(150,115,185,.22);
 backdrop-filter:blur(6px);opacity:.86;transition:opacity .2s,transform .2s}
.st-btn:active{transform:scale(.94)}
.st-btn:hover{opacity:1}
.st-btn.back{display:none}
body.st-sub .st-btn.back{display:grid}
.st-btn.pwa{width:auto;padding:0 12px;border-radius:20px;font-size:11px;letter-spacing:.5px}
.st-mask{position:fixed;inset:0;z-index:120;display:none;
 background:rgba(70,50,95,.46);backdrop-filter:blur(3px)}
.st-mask.on{display:grid;place-items:center;padding:18px}
.st-card{width:min(92vw,380px);max-height:84vh;overflow-y:auto;border-radius:22px;
 padding:17px;background:linear-gradient(150deg,#fff,#fdf1f8 60%,#f3eafb);
 box-shadow:0 18px 46px rgba(80,50,110,.3)}
.st-h{display:flex;align-items:center;justify-content:space-between;gap:8px}
.st-h b{font-size:16px;font-weight:900;color:#5c407f}
.st-h button{border:0;background:#f1e8fb;color:#8e6fc0;width:30px;height:30px;
 border-radius:50%;font-size:15px;cursor:pointer;flex:none}
.st-d{margin:9px 0 12px;font-size:11px;line-height:1.8;color:#8b7aa8}
.st-li{margin:0 0 12px;padding-left:20px}
.st-li li{font-size:12px;line-height:1.9;color:#5c4b7d;font-weight:700;margin-bottom:5px}
.st-li li::marker{color:#e478a6;font-weight:900}
.st-install,.st-ok{width:100%;border:0;border-radius:16px;padding:12px;
 font-size:13px;font-weight:900;cursor:pointer;color:#5c407f;
 background:linear-gradient(100deg,#f9c9dd,#dcc9f6)}
.st-install{margin-bottom:8px}
.st-note{margin:12px 0 0;font-size:10px;line-height:1.8;color:#a99cc0;
 background:rgba(255,255,255,.7);border-radius:12px;padding:9px 11px}
@media(max-width:360px){.st-btn.pwa{font-size:10px;padding:0 9px}}

/* 客服微信卡：仅 .wxk- 前缀，零全局覆盖 */
.wxk-card{margin:0 0 12px;padding:13px 14px;border-radius:20px;
 background:linear-gradient(120deg,#fff,#fdeaf3 60%,#f1eafb);
 box-shadow:0 5px 14px rgba(150,115,185,.16)}
.wxk-h{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:10px}
.wxk-h b{font-size:15px;font-weight:900;color:#5c407f}
.wxk-badge{font-size:10px;font-weight:900;color:#4a9b72;background:#fff;
 border:1px solid rgba(120,180,150,.3);padding:5px 10px;border-radius:14px;white-space:nowrap}
.wxk-badge.off{color:#a99cc0;border-color:rgba(160,140,190,.25)}
.wxk-go{display:flex;align-items:center;justify-content:center;text-decoration:none;
 border-radius:16px;padding:13px;font-size:14px;font-weight:900;color:#fff;
 background:linear-gradient(100deg,#f392b8,#c9a8ee);
 box-shadow:0 4px 12px rgba(200,130,180,.24)}
.wxk-go.disabled{background:#ece5f4;color:#a99cc0;box-shadow:none;pointer-events:none}
.wxk-copy{display:none;width:100%;margin-top:8px;border:0;border-radius:12px;
 padding:9px;font-size:11px;font-weight:800;color:#8e6fc0;background:#f1e8fb;cursor:pointer}
.wxk-hours{display:flex;gap:7px;flex-wrap:wrap;align-items:center;margin-top:11px}
.wxk-hours span{font-size:10px;font-weight:900;color:#8e6fc0;background:#fff;
 padding:5px 9px;border-radius:10px}
.wxk-hours b{font-size:11px;color:#5c4b7d;font-weight:800}
.wxk-tip{margin:9px 0 0;font-size:11px;line-height:1.7;color:#c47aa0;
 background:rgba(255,255,255,.75);border-radius:11px;padding:8px 10px}
.wxk-now{display:block;margin-top:8px;font-size:10px;color:#a99cc0;text-align:right}

/* 段23 紧凑：客服卡收成一条，放弹窗底部 */
.wxk-card{margin:10px 0 0!important;padding:10px 12px!important;border-radius:16px}
.wxk-h{margin-bottom:8px!important}
.wxk-h b{font-size:13px}
.wxk-go{padding:9px 10px!important;font-size:12px!important;border-radius:13px!important}
.wxk-copy{margin-top:6px!important;padding:7px!important;font-size:10px!important}
.wxk-hours{margin-top:8px!important}
.wxk-hours span,.wxk-hours b{font-size:10px}
.wxk-tip{margin-top:7px!important;padding:6px 9px!important;font-size:10px!important}
.wxk-now{margin-top:5px!important;font-size:9px}

/* 段24 当前时段二维码 */
.wxk-qr-box{display:none;align-items:center;gap:9px;margin-top:9px;
 padding:8px;border-radius:13px;background:rgba(255,255,255,.72)}
.wxk-qr-a{flex:none;display:block}
.wxk-qr{width:62px;height:62px;object-fit:cover;border-radius:9px;
 box-shadow:0 2px 7px rgba(150,115,185,.18)}
.wxk-qr-t{font-size:10px;font-weight:800;color:#8e6fc0;line-height:1.6}
/* 段25 底栏：仅 .tbi-bar / .tbi- 前缀，零全局覆盖、不改 display/flex 结构 */
.tbi-bar{
  background:rgba(255,255,255,.94)!important;
  backdrop-filter:blur(10px);
  box-shadow:0 -6px 20px rgba(150,115,185,.13)!important;
  border-top:0!important;
  padding-bottom:env(safe-area-inset-bottom)!important;
}
.tbi-bar [data-tbi]{position:relative;color:#a99cc0!important;transition:color .2s}
.tbi-bar [data-tbi].tbi-on{color:#8e6fc0!important}
.tbi-ico{width:23px;height:23px;display:block;margin:0 auto 3px;opacity:.88;
  transition:opacity .2s,filter .2s}
.tbi-on .tbi-ico{opacity:1;filter:drop-shadow(0 2px 5px rgba(190,140,210,.35))}
.tbi-bar [data-tbi].tbi-on::after{
  content:"";position:absolute;left:50%;bottom:2px;transform:translateX(-50%);
  width:5px;height:5px;border-radius:50%;background:#e478a6;
}
@media(max-width:360px){.tbi-ico{width:21px;height:21px}}

/* 段29 底栏收拢：图标与文字贴一起，去掉压在「首页」上的红点 */
.tbi-bar [data-tbi]{
  display:flex!important;flex-direction:column!important;
  align-items:center!important;justify-content:center!important;
  gap:3px!important;height:auto!important;min-height:0!important;
  padding:6px 0 8px!important;line-height:1.1!important;
}
.tbi-bar [data-tbi] .tbi-ico{
  width:22px!important;height:22px!important;flex:none!important;
  margin:0!important;display:block!important;
}
.tbi-bar [data-tbi] > span,
.tbi-bar [data-tbi] > small,
.tbi-bar [data-tbi] > div{margin:0!important;line-height:1.1!important;font-size:11px!important}
.tbi-bar [data-tbi] [data-em-clean],
.tbi-bar [data-tbi] [data-gi-empty]{display:none!important}
.tbi-bar [data-tbi].tbi-on::after{display:none!important}
.tbi-bar [data-tbi].tbi-on{color:#8e6fc0!important}

.gi-ico{width:30px;height:30px;display:block;margin:4px auto 8px;
 color:#8e6fc0;stroke:currentColor;fill:none}
.quick-grid .gi>svg,.quick-grid [class*="item"]>svg{color:#8e6fc0}
@media(max-width:360px){.gi-ico{width:26px;height:26px}}

.fl-mini{font-size:0!important;width:38px!important;height:38px!important;
 padding:0!important;border-radius:50%!important;display:grid!important;
 place-items:center!important;overflow:hidden}
.fl-mini::before{content:'⌂';font-size:18px;color:#5c407f;font-weight:900}
.fl-hide-music{display:none!important}

/* 段31 · 只作用礼物那一格，不改整卡布局 */
[data-gf-gift] > *:empty{display:none!important}
[data-gf-gift] svg.gi-ico{width:28px!important;height:28px!important;
 display:block!important;margin:0 auto 6px!important;flex:none!important;color:#8e6fc0}
[data-gf-gift] > span,[data-gf-gift] > small,[data-gf-gift] > div{
 margin:0!important;line-height:1.2!important;font-size:11px!important}
@media(max-width:360px){[data-gf-gift] svg.gi-ico{width:25px!important;height:25px!important}}

/* 用户端快捷入口 + 底栏图标：粉色主题（后续可由主题变量覆盖） */
:root{
  --qi-t1:#ffe9f0;
  --qi-t2:#ffc6d6;
  --qi-b:#ffaac2;
  --qi-i:#b83a5c;
  --qi-shadow:rgba(200,80,120,.24);
  --qi-dot:#ff6f91;
}

.quick-grid{
  grid-template-columns:repeat(5,1fr)!important;
  gap:6px!important;
}
.quick-grid .quick-item{
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  padding:7px 2px 5px!important;
  border-radius:16px!important;
  font-size:11px!important;
  font-weight:700!important;
  color:#7a5568!important;
  line-height:1.25!important;
}
.quick-grid .quick-item b{
  position:relative;
  display:grid!important;
  place-items:center;
  width:52px!important;
  height:52px!important;
  margin:0 auto 6px!important;
  border-radius:17px!important;
  font-size:0!important;
  filter:none!important;
  background:linear-gradient(145deg,var(--qi-t1),var(--qi-t2))!important;
  border:1px solid var(--qi-b)!important;
  box-shadow:0 0 0 2px rgba(255,255,255,.92),0 8px 18px var(--qi-shadow),inset 0 1px 0 rgba(255,255,255,.8)!important;
  color:var(--qi-i)!important;
}
.quick-grid .quick-item b svg{
  width:26px!important;
  height:26px!important;
  display:block!important;
  stroke:currentColor!important;
  fill:none!important;
}
.quick-grid .quick-item b:after{
  content:"";
  position:absolute;
  top:8px;
  right:9px;
  width:5px;
  height:5px;
  border-radius:50%;
  background:var(--qi-dot);
  box-shadow:0 0 0 2px rgba(255,255,255,.45);
}

/* 底栏：保留结构，只给当前项加一层柔和底色 */
.tbi-bar [data-tbi] .tbi-ico{
  box-sizing:content-box!important;
  padding:5px!important;
  border-radius:12px!important;
  background:transparent;
  transition:background .2s,box-shadow .2s,color .2s;
}
.tbi-bar [data-tbi].tbi-on .tbi-ico{
  background:linear-gradient(145deg,#efe1ff,#ffdceb)!important;
  box-shadow:0 4px 12px rgba(160,120,200,.2)!important;
}

@media(max-width:360px){
  .quick-grid .quick-item b{width:48px!important;height:48px!important;border-radius:16px!important}
  .quick-grid .quick-item b svg{width:24px!important;height:24px!important}
}

/* 用户端主题：草莓奶糖（仅作用于 html[data-theme="strawberry"]） */
html[data-theme="strawberry"]{
  --ink:#5a3a45;--ink-soft:#9a7580;--ink-light:#bfa3aa;
  --pink:#ffb3c7;--pink-deep:#e85d84;--lilac:#ffd7e3;--lilac-deep:#f08aa8;
  --cream:#fff1d9;--mint:#d8f3e5;--sky:#dcecff;
  --card:rgba(255,252,250,.94);--line:rgba(232,150,175,.20);
  --shadow:0 10px 30px rgba(214,120,150,.14);--r:24px;
}
html[data-theme="strawberry"],html[data-theme="strawberry"] body{background:#fff7f3!important;color:var(--ink)!important}
html[data-theme="strawberry"] body:before{content:"";position:fixed;inset:0;pointer-events:none;z-index:0;
  background-image:radial-gradient(rgba(255,183,201,.30) 1.6px,transparent 1.6px);
  background-size:22px 22px;opacity:.5;
  -webkit-mask-image:linear-gradient(180deg,#000,transparent 72%)}
html[data-theme="strawberry"] .topbar{background:rgba(255,250,247,.95)!important;border-bottom:1px solid #ffe3ea!important;color:#6b4553!important}
html[data-theme="strawberry"] .wc-card{background:linear-gradient(150deg,#ffe9ef,#fff4e8 55%,#ffeef6)!important;box-shadow:0 10px 26px rgba(220,130,155,.16)!important}
html[data-theme="strawberry"] .hero{background:linear-gradient(120deg,#ffe3ea,#fff0e6 55%,#ffe7f1)!important}
html[data-theme="strawberry"] .hero:after{content:"🍓"!important;opacity:.28!important}
html[data-theme="strawberry"] .hero .tag{background:#fff!important;color:#d94f72!important}
html[data-theme="strawberry"] .card,html[data-theme="strawberry"] .menu-card,html[data-theme="strawberry"] .mc-rec-card,html[data-theme="strawberry"] .hl-card,html[data-theme="strawberry"] .ho-card,html[data-theme="strawberry"] .fun-item,html[data-theme="strawberry"] .quick-item,html[data-theme="strawberry"] .club-head,html[data-theme="strawberry"] .notice-bar{
  background:rgba(255,252,250,.95)!important;border-color:#ffe6ec!important}
html[data-theme="strawberry"] .btn-primary{background:linear-gradient(110deg,#ff9db6,#ff6f91)!important;color:#fff!important;
  box-shadow:0 8px 18px rgba(255,111,145,.28)!important}
html[data-theme="strawberry"] .btn-outline{border-color:#ffc2d2!important;color:#d94f72!important;background:#fff8fa!important}
html[data-theme="strawberry"] .hm-tab.on{background:linear-gradient(100deg,#ffe0e8,#ffd3df)!important;color:#c94368!important}
html[data-theme="strawberry"] .tabbar,html[data-theme="strawberry"] .tbi-bar{background:rgba(255,250,248,.96)!important;box-shadow:0 -6px 20px rgba(220,130,155,.14)!important}
html[data-theme="strawberry"] .price{color:#e85d84!important}
html[data-theme="strawberry"] .sec-title,html[data-theme="strawberry"] .club-name{color:#5a3a45!important}
html[data-theme="strawberry"] .notice-bar .txt{color:#e85d84!important}
html[data-theme="strawberry"] .service-fab,html[data-theme="strawberry"] .bgm-fab{background:#fff8fa!important;color:#e85d84!important}
html[data-theme="strawberry"] .hero:before{content:"";position:absolute;inset:0;z-index:1;border-radius:26px;pointer-events:none;background:rgba(255,105,140,.15)}
html[data-theme="strawberry"] .hero>*{position:relative;z-index:2}
html[data-theme="strawberry"] .hero:after{z-index:3!important}
html[data-theme="strawberry"] .hm-tabs{background:rgba(255,247,249,.94)!important;box-shadow:0 4px 12px rgba(220,130,155,.12)!important}
html[data-theme="strawberry"] .chip{background:#fff9fb!important;border-color:#ffe1e9!important;color:#c06a80!important}
html[data-theme="strawberry"] .menu-body h4,html[data-theme="strawberry"] .mc-rec-nm b{color:#5a3a45!important}
html[data-theme="strawberry"] .wc-tv{background:linear-gradient(140deg,#ffd7e2,#ffe9d6)!important}
html[data-theme="strawberry"] .wc-screen:after{content:"";position:absolute;inset:0;background:rgba(255,120,150,.14);pointer-events:none}
html[data-theme="strawberry"]{
  --qi-t1:#ffe9f0;--qi-t2:#ffc6d6;--qi-b:#ffaac2;--qi-i:#b83a5c;
  --qi-shadow:rgba(200,80,120,.24);--qi-dot:#ff6f91;
}
html[data-theme="strawberry"] .quick-grid .quick-item{background:transparent!important;border:0!important;box-shadow:none!important}
html[data-theme="strawberry"] .tbi-bar [data-tbi].tbi-on .tbi-ico{background:linear-gradient(145deg,#ffe6ee,#ffd3df)!important}

/* 用户端主题：樱花苏打（仅作用于 html[data-theme="sakura"]） */
html[data-theme="sakura"]{
  --ink:#4f4a6b;--ink-soft:#8d88a8;--ink-light:#b5b1c9;
  --pink:#ffb7cb;--pink-deep:#f27ba3;--lilac:#cdd8ff;--lilac-deep:#8fa8ef;
  --cream:#fff1cf;--mint:#d7f3ea;--sky:#bfe3ff;
  --card:rgba(255,255,255,.72);--line:rgba(150,180,230,.22);
  --shadow:0 12px 34px rgba(130,155,210,.14);--r:20px;
}
html[data-theme="sakura"],html[data-theme="sakura"] body{background:linear-gradient(160deg,#fff6fa 0%,#f2fbff 52%,#f7f2ff 100%)!important;background-attachment:fixed!important;color:var(--ink)!important}
html[data-theme="sakura"] body:before{content:"";position:fixed;inset:0;pointer-events:none;z-index:0;
  background-image:radial-gradient(rgba(255,255,255,.9) 1.5px,transparent 1.5px),radial-gradient(rgba(191,227,255,.45) 1.4px,transparent 1.4px);
  background-size:38px 38px,66px 66px;background-position:0 0,20px 26px;opacity:.55}
html[data-theme="sakura"] .topbar{background:rgba(255,255,255,.72)!important;backdrop-filter:blur(14px);border-bottom:1px solid rgba(190,220,255,.6)!important}
html[data-theme="sakura"] .wc-card{background:linear-gradient(150deg,#ffe6ef,#eaf7ff 55%,#f0eaff)!important;box-shadow:0 12px 30px rgba(135,165,220,.15)!important}
html[data-theme="sakura"] .hero{background:linear-gradient(120deg,#ffe4ef,#e7f6ff 55%,#f0e9ff)!important}
html[data-theme="sakura"] .hero:after{content:"🌸"!important;opacity:.3!important}
html[data-theme="sakura"] .card,html[data-theme="sakura"] .menu-card,html[data-theme="sakura"] .mc-rec-card,html[data-theme="sakura"] .hl-card,html[data-theme="sakura"] .ho-card,html[data-theme="sakura"] .fun-item,html[data-theme="sakura"] .quick-item,html[data-theme="sakura"] .club-head,html[data-theme="sakura"] .notice-bar{
  background:rgba(255,255,255,.68)!important;backdrop-filter:blur(12px);
  border:1px solid rgba(255,255,255,.92)!important;box-shadow:0 12px 30px rgba(135,165,220,.13)!important}
html[data-theme="sakura"] .btn-primary{background:linear-gradient(110deg,#ffa9c5,#9dc9ff)!important;color:#3f4a70!important;
  box-shadow:0 8px 18px rgba(150,185,235,.25)!important}
html[data-theme="sakura"] .btn-outline{border-color:#cfe6ff!important;color:#5f7fc0!important;background:rgba(255,255,255,.62)!important}
html[data-theme="sakura"] .hm-tab.on{background:linear-gradient(100deg,#ffe2ec,#dcefff)!important;color:#5a6a9e!important}
html[data-theme="sakura"] .tabbar,html[data-theme="sakura"] .tbi-bar{background:rgba(255,255,255,.8)!important;backdrop-filter:blur(16px)!important;
  box-shadow:0 -6px 24px rgba(135,165,220,.14)!important}
html[data-theme="sakura"] .price{color:#f27ba3!important}
html[data-theme="sakura"] .notice-bar .txt{color:#e06f98!important}
html[data-theme="sakura"] .service-fab,html[data-theme="sakura"] .bgm-fab{background:rgba(255,255,255,.82)!important;color:#6f86c9!important}
html[data-theme="sakura"] .hero:before{content:"";position:absolute;inset:0;z-index:1;border-radius:26px;pointer-events:none;background:rgba(120,180,255,.16)}
html[data-theme="sakura"] .hero>*{position:relative;z-index:2}
html[data-theme="sakura"] .hero:after{z-index:3!important}
html[data-theme="sakura"] .hm-tabs{background:rgba(255,255,255,.55)!important;backdrop-filter:blur(10px);box-shadow:0 6px 16px rgba(135,165,220,.12)!important}
html[data-theme="sakura"] .chip{background:rgba(255,255,255,.55)!important;border-color:rgba(190,220,255,.7)!important;color:#6b7aa8!important}
html[data-theme="sakura"] .wc-tv{background:linear-gradient(140deg,#ffe0ea,#dcefff)!important}
html[data-theme="sakura"] .wc-screen:after{content:"";position:absolute;inset:0;background:rgba(120,180,255,.16);pointer-events:none}
html[data-theme="sakura"]{
  --qi-t1:#eaf6ff;--qi-t2:#ffe1ec;--qi-b:#cfe2ff;--qi-i:#5f7fc0;
  --qi-shadow:rgba(135,165,220,.22);--qi-dot:#ff9ec2;
}
html[data-theme="sakura"] .quick-grid .quick-item{background:transparent!important;border:0!important;box-shadow:none!important}
html[data-theme="sakura"] .tbi-bar [data-tbi].tbi-on .tbi-ico{background:linear-gradient(145deg,#e8f2ff,#ffe7f1)!important}

/* 用户端主题：星月紫梦（仅作用于 html[data-theme="starry"]） */
html[data-theme="starry"]{
  --ink:#f3efff;--ink-soft:#c3b8e8;--ink-light:#9d91c9;
  --pink:#ff9ecb;--pink-deep:#ff8ec2;--lilac:#8d78e8;--lilac-deep:#b9a7ff;
  --cream:#ffe7b8;--mint:#b8f0dd;--sky:#bcd7ff;
  --card:rgba(43,35,82,.84);--line:rgba(185,167,255,.20);
  --shadow:0 14px 38px rgba(8,5,24,.48);--r:22px;
}
html[data-theme="starry"]{background:#17122f!important}
html[data-theme="starry"] body{background:radial-gradient(900px 600px at 20% 0%,#3a2a72 0%,transparent 55%),radial-gradient(700px 500px at 90% 28%,#4a2a6e 0%,transparent 60%),linear-gradient(180deg,#17122f,#221a45 60%,#1a1436)!important;background-attachment:fixed!important;color:var(--ink)!important}
html[data-theme="starry"] body:before{content:"";position:fixed;inset:0;pointer-events:none;z-index:0;
  background-image:radial-gradient(#fff 1px,transparent 1.4px),radial-gradient(#ffd9f2 1px,transparent 1.4px);
  background-size:96px 96px,148px 148px;background-position:0 0,42px 64px;opacity:.4}
html[data-theme="starry"] .topbar{background:rgba(30,24,60,.8)!important;color:#f3efff!important;border-bottom:1px solid rgba(185,167,255,.18)!important;backdrop-filter:blur(14px)}
html[data-theme="starry"] .wc-card{background:linear-gradient(150deg,#33265f,#3b2a6e 55%,#2b2354)!important;color:#f3efff!important;box-shadow:0 14px 34px rgba(8,5,24,.5)!important}
html[data-theme="starry"] .hero{background:linear-gradient(120deg,#3a2a6e,#4b3388 55%,#2f255c)!important}
html[data-theme="starry"] .hero:after{content:"🌙"!important;opacity:.34!important}
html[data-theme="starry"] .hero .tag{background:rgba(255,255,255,.14)!important;color:#ffd6ee!important}
html[data-theme="starry"] .card,html[data-theme="starry"] .menu-card,html[data-theme="starry"] .mc-rec-card,html[data-theme="starry"] .hl-card,html[data-theme="starry"] .ho-card,html[data-theme="starry"] .fun-item,html[data-theme="starry"] .quick-item,html[data-theme="starry"] .club-head,html[data-theme="starry"] .notice-bar{
  background:rgba(43,35,82,.86)!important;border:1px solid rgba(185,167,255,.16)!important;
  box-shadow:0 14px 34px rgba(8,5,24,.42)!important;color:#f3efff!important}
html[data-theme="starry"] .sec-title,html[data-theme="starry"] .club-name,html[data-theme="starry"] .hm-card,html[data-theme="starry"] .mc-rec-nm,html[data-theme="starry"] .ho-info b{color:#f6f2ff!important}
html[data-theme="starry"] .price{color:#ffb3d9!important}
html[data-theme="starry"] .btn-primary{background:linear-gradient(110deg,#ff9ecb,#b9a7ff)!important;color:#2a1f52!important;
  box-shadow:0 10px 26px rgba(185,167,255,.3)!important}
html[data-theme="starry"] .btn-outline{border-color:rgba(185,167,255,.35)!important;color:#d9ccff!important;background:rgba(255,255,255,.06)!important}
html[data-theme="starry"] .hm-tab{color:#b9addd!important}
html[data-theme="starry"] .hm-tab.on{background:linear-gradient(100deg,#5a3f9e,#6f4fc0)!important;color:#fff!important}
html[data-theme="starry"] .tabbar,html[data-theme="starry"] .tbi-bar{background:rgba(28,22,54,.94)!important;box-shadow:0 -6px 24px rgba(8,5,24,.5)!important}
html[data-theme="starry"] .tabbar *,html[data-theme="starry"] .tbi-bar *{color:#c9bce8!important}
html[data-theme="starry"] .notice-bar .txt{color:#ffb3d9!important}
html[data-theme="starry"] .service-fab,html[data-theme="starry"] .bgm-fab{background:rgba(50,40,95,.94)!important;color:#ffd6ee!important;border-color:rgba(185,167,255,.3)!important}
html[data-theme="starry"] .hero:before{content:"";position:absolute;inset:0;z-index:1;border-radius:26px;pointer-events:none;background:linear-gradient(180deg,rgba(24,17,52,.32),rgba(24,17,52,.62))}
html[data-theme="starry"] .hero>*{position:relative;z-index:2}
html[data-theme="starry"] .hero:after{z-index:3!important}
html[data-theme="starry"] .hm-tabs{background:rgba(43,35,82,.92)!important;box-shadow:0 8px 22px rgba(8,5,24,.35)!important}
html[data-theme="starry"] .chip{background:rgba(255,255,255,.08)!important;border-color:rgba(185,167,255,.25)!important;color:#d9ccff!important}
html[data-theme="starry"] .menu-body h4,html[data-theme="starry"] .mc-rec-nm b{color:#fff!important}
html[data-theme="starry"] .mc-rec-more{color:#c9bce8!important}
html[data-theme="starry"] .wc-tv{background:linear-gradient(140deg,#3a2a66,#4a357f)!important}
html[data-theme="starry"] .wc-tv-h,html[data-theme="starry"] .wc-tv-f{color:#e8ddff!important}
html[data-theme="starry"] .wc-screen:after{content:"";position:absolute;inset:0;background:rgba(20,14,45,.52);pointer-events:none}
html[data-theme="starry"]{
  --qi-t1:#3a2d6b;--qi-t2:#4a3580;--qi-b:#6f5bb8;--qi-i:#ffd6ee;
  --qi-shadow:rgba(8,5,24,.45);--qi-dot:#ff9ecb;
}
html[data-theme="starry"] .quick-grid .quick-item{background:transparent!important;border:0!important;box-shadow:none!important}
html[data-theme="starry"] .quick-grid .quick-item{color:#d9cdf5!important}
html[data-theme="starry"] .quick-grid .quick-item b{box-shadow:0 0 0 2px rgba(255,255,255,.12),0 8px 18px var(--qi-shadow),inset 0 1px 0 rgba(255,255,255,.12)!important}
html[data-theme="starry"] .tbi-bar [data-tbi].tbi-on .tbi-ico{background:linear-gradient(145deg,#4a3580,#5a3f9e)!important}

/* 用户端主题：薄荷奶油（仅作用于 html[data-theme="mint"]） */
html[data-theme="mint"]{
  --ink:#3f5b52;--ink-soft:#7f9c92;--ink-light:#a8c1b8;
  --pink:#ffc7b8;--pink-deep:#ef9a86;--lilac:#bfe8d8;--lilac-deep:#7fc9ad;
  --cream:#fff3d9;--mint:#b8ecd8;--sky:#d6eefc;
  --card:rgba(255,255,252,.92);--line:rgba(150,200,180,.22);
  --shadow:0 10px 30px rgba(110,165,145,.14);--r:24px;
}
html[data-theme="mint"],html[data-theme="mint"] body{background:#f4fbf7!important;color:var(--ink)!important}
html[data-theme="mint"] body:before{content:"";position:fixed;inset:0;pointer-events:none;z-index:0;
  background-image:radial-gradient(rgba(160,220,195,.28) 1.6px,transparent 1.6px);
  background-size:26px 26px;opacity:.45;
  -webkit-mask-image:linear-gradient(180deg,#000,transparent 75%)}
html[data-theme="mint"] .topbar{background:rgba(252,255,253,.95)!important;border-bottom:1px solid #dff3ea!important;color:#3f5b52!important}
html[data-theme="mint"] .wc-card{background:linear-gradient(150deg,#e6f9ef,#fff8e8 55%,#eef8ff)!important;box-shadow:0 10px 26px rgba(120,175,155,.15)!important}
html[data-theme="mint"] .hero{background:linear-gradient(120deg,#e3f9ef,#fff6e4 55%,#e9f7ff)!important}
html[data-theme="mint"] .hero:after{content:"🍃"!important;opacity:.3!important}
html[data-theme="mint"] .card,html[data-theme="mint"] .menu-card,html[data-theme="mint"] .mc-rec-card,html[data-theme="mint"] .hl-card,html[data-theme="mint"] .ho-card,html[data-theme="mint"] .fun-item,html[data-theme="mint"] .quick-item,html[data-theme="mint"] .club-head,html[data-theme="mint"] .notice-bar{
  background:rgba(255,255,252,.94)!important;border-color:#e4f4ec!important}
html[data-theme="mint"] .btn-primary{background:linear-gradient(110deg,#a8e6cf,#ffd9a8)!important;color:#3f5b52!important;
  box-shadow:0 8px 18px rgba(130,195,170,.24)!important}
html[data-theme="mint"] .btn-outline{border-color:#c9ead9!important;color:#5c8f7c!important;background:#fbfffd!important}
html[data-theme="mint"] .hm-tab.on{background:linear-gradient(100deg,#dff7ec,#fff1d6)!important;color:#46705f!important}
html[data-theme="mint"] .tabbar,html[data-theme="mint"] .tbi-bar{background:rgba(252,255,253,.96)!important;box-shadow:0 -6px 20px rgba(110,165,145,.14)!important}
html[data-theme="mint"] .price{color:#ef9a86!important}
html[data-theme="mint"] .notice-bar .txt{color:#dd8a76!important}
html[data-theme="mint"] .service-fab,html[data-theme="mint"] .bgm-fab{background:#fbfffd!important;color:#5c9a84!important}
html[data-theme="mint"] .hero:before{content:"";position:absolute;inset:0;z-index:1;border-radius:26px;pointer-events:none;background:rgba(110,215,175,.18)}
html[data-theme="mint"] .hero>*{position:relative;z-index:2}
html[data-theme="mint"] .hero:after{z-index:3!important}
html[data-theme="mint"] .hm-tabs{background:rgba(246,255,251,.94)!important;box-shadow:0 4px 12px rgba(110,165,145,.12)!important}
html[data-theme="mint"] .chip{background:#f8fffc!important;border-color:#d9efe5!important;color:#5c8f7c!important}
html[data-theme="mint"] .wc-tv{background:linear-gradient(140deg,#d9f6e8,#fff0d6)!important}
html[data-theme="mint"] .wc-screen:after{content:"";position:absolute;inset:0;background:rgba(120,220,180,.18);pointer-events:none}
html[data-theme="mint"]{
  --qi-t1:#e8fbf2;--qi-t2:#fff1d6;--qi-b:#cfeddd;--qi-i:#4f8a73;
  --qi-shadow:rgba(110,165,145,.22);--qi-dot:#ef9a86;
}
html[data-theme="mint"] .quick-grid .quick-item{background:transparent!important;border:0!important;box-shadow:none!important}
html[data-theme="mint"] .tbi-bar [data-tbi].tbi-on .tbi-ico{background:linear-gradient(145deg,#e2f8ee,#fff0d2)!important}
