/* 绵绵俱乐部 · 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}}
