/* 音乐 App (js/apps/music-app.js). Two looks, both flat: 黑白 (default) and 雾蓝, switched by .mu-root[data-skin]. Frosted glass for the surfaces that float
   (tab bar, mini player, dialogs, menus), plain tints for the rest; no borders, no scrollbars, no raised shadows, no gradients on colour (the only fade is the header picture
   into the page, drawn with a mask). The skin is a display preference of this device (localStorage xiaolan-music-skin), it does not follow the app theme. */
#v-music{background:var(--bg)}
.mu-root{--mu-onimg:#fff;--mu-tabs:calc(58px + var(--sab));--mu-chrome:calc(66px + var(--mu-tabs));position:absolute;inset:0;overflow:hidden;background:var(--mu-bg);color:var(--mu-ink);font-family:var(--font-body);-webkit-font-smoothing:antialiased}
.mu-root[data-skin="mono"]{--mu-bg:#0e0e0f;--mu-ink:#f2f2f2;--mu-sub:#b8b8bd;--mu-muted:#9a9aa0;--mu-chip:rgba(255,255,255,.09);--mu-card:rgba(255,255,255,.06);--mu-glass:rgba(24,24,26,.92);--mu-dlg:rgba(44,44,48,.78);--mu-dlg-solid:rgba(36,36,40,.95);--mu-acc:#ffffff;--mu-on-acc:#111112;--mu-acc-text:#ffffff;--mu-line:rgba(255,255,255,.08);--mu-danger:#ff8f8f;--mu-scrim:rgba(0,0,0,.45);--mu-cover:#26262a}
.mu-root[data-skin="blue"]{--mu-bg:#f1f5fa;--mu-ink:#2c3e55;--mu-sub:#4a5d76;--mu-muted:#5d6f86;--mu-chip:rgba(95,143,207,.13);--mu-card:rgba(255,255,255,.72);--mu-glass:rgba(250,252,255,.94);--mu-dlg:rgba(255,255,255,.78);--mu-dlg-solid:rgba(255,255,255,.95);--mu-acc:#5f8fcf;--mu-on-acc:#fff;--mu-acc-text:#3f6ea9;--mu-line:rgba(70,100,150,.1);--mu-danger:#b4483f;--mu-scrim:rgba(30,45,70,.32);--mu-cover:#d3e0f1}
.mu-root *{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
:where(.mu-root) button{font:inherit;color:inherit;border:0;background:none;padding:0;cursor:pointer}
:where(.mu-root) :is(input,textarea){font:inherit;color:inherit;border:0;outline:0;background:none}
.mu-root ::-webkit-scrollbar{display:none}
.mu-root{scrollbar-width:none}
.mu-root button:active{transform:scale(var(--mo-press-scale,.9));transition:transform var(--mo-fast,90ms)}
.mu-root button{transition:transform var(--mo-release,380ms) var(--mo-ease-bounce,cubic-bezier(.34,1.56,.64,1))}

/* ── pages ── */
.mu-page{position:absolute;inset:0;overflow-y:auto;overflow-x:hidden;scrollbar-width:none;background:var(--mu-bg);padding-bottom:calc(var(--mu-chrome) + 24px);animation:moPageIn var(--mo-slow,240ms) var(--mo-ease-out,ease-out) backwards}
.mu-page.mu-back{animation-name:moPageBack}
@keyframes moPageBack{from{opacity:0;transform:scale(var(--mo-depth-back,1.04))}to{opacity:1;transform:none}}
.mu-page[hidden]{display:none}
.mu-top{display:flex;align-items:center;justify-content:space-between;height:calc(52px + var(--sat));padding:var(--sat) 8px 0}
.mu-top h1{margin:0;font-size:18px;font-weight:600}
.mu-ib{width:40px;height:40px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%}
.mu-ib:active{background:var(--mu-chip)}
.mu-ib svg{display:block}
.mu-sp{width:40px;height:40px}
.mu-pad{padding:0 18px}
.mu-muted{color:var(--mu-muted)}
.mu-empty{padding:42px 24px;text-align:center;font-size:13.5px;line-height:1.7;color:var(--mu-muted)}
.mu-note{margin:10px 18px 0;font-size:12px;line-height:1.6;color:var(--mu-muted)}

/* ── cover ── */
.mu-cv{position:relative;flex-shrink:0;overflow:hidden;background:var(--mu-cover) center/cover no-repeat;color:var(--mu-muted);display:inline-flex;align-items:center;justify-content:center}
.mu-cv.mu-tint,.mu-disc.mu-tint,.mu-head-bg.mu-tint,.mu-head-bg.mu-defbg{background-size:cover}
.mu-root[data-skin="mono"] .mu-tint,.mu-root[data-skin="mono"] .mu-defbg{filter:grayscale(1)}

/* ── search ── */
.mu-search{display:flex;align-items:center;gap:8px;height:42px;margin:6px 18px 0;padding:0 14px;border-radius:21px;background:var(--mu-chip);color:var(--mu-muted)}
.mu-search input{flex:1;min-width:0;height:100%;font-size:14.5px;color:var(--mu-ink)}
.mu-search input::placeholder{color:var(--mu-muted);opacity:1}
.mu-results{margin-top:8px}
.mu-search button{width:26px;height:26px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;color:var(--mu-muted)}

/* ── song rows ── */
.mu-song{display:flex;align-items:center;gap:12px;width:100%;height:58px;padding:0 18px;text-align:left;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}
.mu-song .mu-cv{width:44px;height:44px;border-radius:8px}
.mu-song .mu-n{width:26px;text-align:center;font-size:14px;color:var(--mu-muted);font-variant-numeric:tabular-nums;flex-shrink:0}
.mu-song .mu-t{flex:1;min-width:0}
.mu-song .mu-t b{display:block;font-size:15px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mu-song .mu-t small{display:block;margin-top:3px;font-size:12px;color:var(--mu-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mu-song.cur .mu-t b{color:var(--mu-acc)}
.mu-song.off{opacity:.45}
.mu-tag{display:inline-block;margin-right:5px;padding:0 5px;border-radius:4px;font-size:10px;line-height:16px;font-weight:500;background:var(--mu-chip);color:var(--mu-sub);font-style:normal;vertical-align:1px}
.mu-song .mu-side{font-size:12px;color:var(--mu-muted);flex-shrink:0}
.mu-add{min-width:56px;height:30px;padding:0 14px;border-radius:15px;background:color-mix(in srgb,var(--mu-acc) 14%,transparent);font-size:12.5px;color:var(--mu-acc-text);flex-shrink:0}
.mu-root[data-skin="mono"] .mu-add{background:rgba(255,255,255,.12)}
.mu-add.done{background:none;color:var(--mu-muted)}
.mu-vl{position:relative}
.mu-swipe{position:absolute;left:0;right:0;overflow:hidden}
.mu-swipe .mu-song{position:relative;transition:transform var(--mo-slow,240ms) var(--mo-ease-out,ease-out);touch-action:pan-y}
.mu-swipe.open .mu-song{background:var(--mu-bg)}
.mu-swipe .mu-del{position:absolute;right:0;top:0;bottom:0;width:76px;background:#e5605b;color:#fff;font-size:14px;font-weight:700;opacity:0;transition:opacity var(--mo-fast,90ms)}
.mu-swipe.open .mu-del{opacity:1}
.mu-check{width:22px;height:22px;border-radius:50%;flex-shrink:0;background:var(--mu-chip);display:inline-flex;align-items:center;justify-content:center;color:var(--mu-on-acc)}
.mu-check.on{background:var(--mu-acc)}

/* ── me ── */
.mu-head{position:relative;overflow:hidden;padding:calc(var(--sat) + 4px) 18px 18px;color:var(--mu-onimg)}
.mu-head-bg{position:absolute;left:0;right:0;top:0;bottom:0;background:var(--mu-cover) center/cover no-repeat;-webkit-mask-image:linear-gradient(180deg,#000 55%,transparent);mask-image:linear-gradient(180deg,#000 55%,transparent)}
.mu-head-bg.img{filter:brightness(.72)}
.mu-head-bg.mu-defbg{background-image:linear-gradient(160deg,#41536e,#1f2a3a)}
.mu-root[data-skin="blue"] .mu-head.mu-def{--mu-onimg:#2c3e55}
.mu-root[data-skin="blue"] .mu-head-bg.mu-defbg{background-image:linear-gradient(180deg,#8ab6ea,#cfe2f7 70%,var(--mu-bg))}
.mu-head>*:not(.mu-head-bg){position:relative}
.mu-head .mu-top{padding:0;height:48px;margin:0 -8px}
.mu-av{display:flex;align-items:center;justify-content:center;width:96px;height:96px;margin:6px auto 0;border-radius:50%;background:rgba(255,255,255,.2) center/cover no-repeat;font-size:34px;font-weight:600;color:inherit;overflow:hidden}
.mu-name{margin-top:12px;text-align:center;font-size:22px;font-weight:700}
.mu-sig{margin-top:6px;text-align:center;font-size:13px;opacity:.9}
.mu-stats{display:flex;justify-content:center;gap:22px;margin-top:14px;font-size:12px}
.mu-stats span{opacity:.85}
.mu-stats b{display:block;text-align:center;font-size:18px;font-weight:600;opacity:1}
.mu-quick{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:18px 0 0}
.mu-quick button{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:42px;border-radius:12px;background:rgba(255,255,255,.16);color:inherit;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);font-size:14px}
.mu-root[data-skin="blue"] .mu-head.mu-def .mu-quick button{background:rgba(255,255,255,.6)}
.mu-tabline{display:flex;align-items:center;justify-content:space-between;padding:6px 18px 0}
.mu-tabline .mu-tab{position:relative;padding:12px 4px;font-size:16px;font-weight:600}
.mu-tabline .mu-tab::after{content:"";position:absolute;left:50%;bottom:4px;width:28px;margin-left:-14px;height:3px;border-radius:2px;background:var(--mu-acc)}
.mu-seg{display:flex;align-items:center;gap:18px;padding:6px 18px 4px;font-size:14px;color:var(--mu-muted)}
.mu-seg button.on{color:var(--mu-ink);font-weight:600}
.mu-pl{display:flex;align-items:center;gap:12px;width:100%;padding:8px 18px;text-align:left}
.mu-pl .mu-cv{width:58px;height:58px;border-radius:10px}
.mu-pl .mu-t{flex:1;min-width:0}
.mu-pl .mu-t b{display:block;font-size:15px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mu-pl .mu-t small{display:block;margin-top:4px;font-size:12px;color:var(--mu-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mu-pl:active{background:var(--mu-chip)}
.mu-likeic{width:58px;height:58px;border-radius:10px;display:inline-flex;align-items:center;justify-content:center;background:var(--mu-acc);color:var(--mu-on-acc);flex-shrink:0}

/* ── playlist (prototype A1: .ph1 .pbar2 .ptabs .pr .pcm) ── */
.mu-ph1{--pc:rgb(var(--pcc));position:relative;height:calc(340px + var(--sat));color:var(--mu-onimg)}
.mu-root[data-skin="mono"] .mu-ph1{--pc:rgb(90,90,94)}
.mu-ph1 .bgc{position:absolute;inset:0;background:var(--mu-cover) center/cover no-repeat;-webkit-mask-image:linear-gradient(180deg,#000 50%,transparent);mask-image:linear-gradient(180deg,#000 50%,transparent)}
.mu-ph1 .bgc::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 40%,color-mix(in srgb,var(--pc) 60%,transparent))}
.mu-ph1 .scrim{position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,transparent 45%,rgba(0,0,0,.28) 80%,transparent)}
.mu-ph1 .topscrim{position:absolute;left:0;right:0;top:0;height:calc(90px + var(--sat));pointer-events:none;background:linear-gradient(180deg,rgba(0,0,0,.18),transparent)}
.mu-ph1 .scrim2{position:absolute;inset:0;pointer-events:none;opacity:0;transition:opacity var(--mo-base,180ms);background:linear-gradient(180deg,transparent 40%,rgba(0,0,0,.45) 80%,transparent)}
.mu-ph1 .topscrim2{position:absolute;left:0;right:0;top:0;height:calc(90px + var(--sat));pointer-events:none;opacity:0;transition:opacity var(--mo-base,180ms);background:linear-gradient(180deg,rgba(0,0,0,.28),transparent)}
.mu-ph1 .scrim,.mu-ph1 .topscrim{transition:opacity var(--mo-base,180ms)}
.mu-ph1,.mu-pltop{transition:color var(--mo-base,180ms)}
.mu-ph1 h2{transition:text-shadow var(--mo-base,180ms)}
.mu-ph1 .pm,.mu-ph1 p{transition:opacity var(--mo-base,180ms)}
/* 黑白, bright cover: a stronger darkening, the text stays white */
.mu-root[data-skin="mono"] .mu-ph1[data-tone="light"] .scrim,.mu-root[data-skin="mono"] .mu-ph1[data-tone="light"] .topscrim{opacity:0}
.mu-root[data-skin="mono"] .mu-ph1[data-tone="light"] .scrim2,.mu-root[data-skin="mono"] .mu-ph1[data-tone="light"] .topscrim2{opacity:1}
/* 雾蓝, bright cover: no darkening, dark text and icons, no shadow */
.mu-root[data-skin="blue"] .mu-ph1[data-tone="light"]{--mu-onimg:#2c3e55}
.mu-root[data-skin="blue"] .mu-ph1[data-tone="light"] .scrim,.mu-root[data-skin="blue"] .mu-ph1[data-tone="light"] .topscrim{opacity:0}
.mu-root[data-skin="blue"] .mu-ph1[data-tone="light"] h2{text-shadow:none}
.mu-root[data-skin="blue"] .mu-ph1[data-tone="light"] .pm{opacity:.75}
.mu-root[data-skin="blue"] .mu-ph1[data-tone="light"] p{opacity:.65}
.mu-ph1 .in{position:absolute;left:20px;right:20px;bottom:44px}
.mu-ph1 h2{margin:0;font-size:26px;font-weight:700;letter-spacing:1px;line-height:1.3;word-break:break-all;text-shadow:0 2px 10px rgba(0,0,0,.35)}
.mu-ph1 p{margin:8px 0 0;font-size:13px;opacity:.85;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.mu-ph1 .pm{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:8px;font-size:12.5px;opacity:.92}
.mu-ph1 .pby{display:inline-flex;align-items:center;gap:6px}
.mu-ph1 .pby .mu-av{width:20px;height:20px;margin:0;font-size:9px}
.mu-pltop{position:absolute;left:0;right:0;top:var(--sat);z-index:5;display:flex;align-items:center;justify-content:space-between;padding:4px 10px;color:var(--mu-onimg)}
.mu-linked{display:inline-block;padding:2px 9px;border-radius:11px;background:rgba(255,255,255,.2);font-size:11.5px}
.mu-pbar2{display:flex;align-items:center;gap:10px;padding:0 18px;margin-top:-8px;position:relative;z-index:2}
.mu-pplay{width:48px;height:48px;border-radius:50%;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;color:var(--mu-on-acc);background:var(--mu-acc)}
.mu-pplt{flex:1;min-width:0;text-align:left}
.mu-pplt b{display:block;font-size:15px;font-weight:600}
.mu-pplt small{font-size:12px;color:var(--mu-muted)}
.mu-picon{width:40px;height:40px;border-radius:50%;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;color:var(--mu-ink);background:rgba(255,255,255,.45);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}
.mu-root[data-skin="mono"] .mu-picon{background:rgba(255,255,255,.08)}
.mu-pacts{display:flex;gap:8px;padding:0 16px;margin-top:-6px;position:relative;z-index:2}
.mu-pacts button{flex:1;height:40px;display:inline-flex;align-items:center;justify-content:center;gap:5px;border-radius:20px;font-size:13px;color:var(--mu-ink);background:rgba(255,255,255,.6);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}
.mu-root[data-skin="mono"] .mu-pacts button{background:rgba(255,255,255,.08)}
.mu-pacts button.pri{flex:1.4;background:var(--mu-acc);color:var(--mu-on-acc);font-size:14px;font-weight:700}
.mu-pacts button:disabled{opacity:.4}
.mu-ptabs{display:flex;gap:26px;padding:18px 20px 0;border-bottom:.5px solid var(--mu-line)}
.mu-ptabs button{position:relative;padding:0 0 10px;font-size:15px;color:var(--mu-muted)}
.mu-ptabs button small{font-size:11.5px;margin-left:2px}
.mu-ptabs button.on{color:var(--mu-ink);font-weight:600}
.mu-ptabs button.on::after{content:"";position:absolute;left:50%;bottom:-.5px;width:22px;margin-left:-11px;height:3px;border-radius:2px;background:var(--mu-ink)}
.mu-psort{display:flex;gap:16px;padding:18px 20px 0;font-size:13px;color:var(--mu-muted)}
.mu-psort button.on{color:var(--mu-ink);font-weight:600}
.mu-plist{padding:8px 0 0;animation:moRise var(--mo-base,180ms) var(--mo-ease-out,ease-out)}
.mu-song.mu-pr{height:62px;padding:0 20px;gap:12px}
.mu-pr .n{width:22px;text-align:center;font-size:14px;color:var(--mu-muted);font-variant-numeric:tabular-nums;flex-shrink:0}
.mu-pr .mu-cv{width:46px;height:46px;border-radius:9px}
.mu-pr.cur .mu-t b{color:var(--mu-acc-text)}
.mu-pr.cur{background:linear-gradient(90deg,color-mix(in srgb,var(--mu-acc) 10%,transparent),transparent)}
.eqm{display:inline-flex;gap:2px;align-items:flex-end;height:14px}
.eqm b{width:3px;background:var(--mu-acc);border-radius:1px;animation:eqm .9s ease-in-out infinite}
.eqm b:nth-child(2){animation-delay:.2s}
.eqm b:nth-child(3){animation-delay:.4s}
@keyframes eqm{0%,100%{height:30%}50%{height:100%}}
.mu-root.paused .eqm b{animation-play-state:paused}
.mu-padd2{display:block;margin:4px auto 0;height:38px;padding:0 20px;border-radius:19px;font-size:13.5px;color:var(--mu-acc-text);background:color-mix(in srgb,var(--mu-acc) 14%,transparent)}
.mu-root[data-skin="mono"] .mu-padd2{background:rgba(255,255,255,.12)}
.mu-psimi{padding:6px 20px 0}
.mu-fsec{margin:18px 2px 6px;font-size:12.5px;color:var(--mu-muted)}
.mu-fnote{margin:8px 2px 0;font-size:11.5px;color:var(--mu-muted)}
.mu-psimi .mu-song{padding:0}
.mu-check{width:22px;height:22px;border-radius:50%;flex-shrink:0;background:none;box-shadow:inset 0 0 0 1.5px var(--mu-muted);display:inline-flex;align-items:center;justify-content:center;color:var(--mu-on-acc)}
.mu-check.on{background:var(--mu-acc);box-shadow:none}

/* ── comments (.pcm) ── */
.mu-pcm{padding:4px 20px 0;animation:moRise var(--mo-base,180ms) var(--mo-ease-out,ease-out)}
.mu-cmi{display:flex;gap:10px;padding:12px 0;border-bottom:.5px solid var(--mu-line)}
.mu-cmi .mu-av{width:34px;height:34px;margin:0;font-size:13px;flex-shrink:0;background-color:var(--mu-chip);color:var(--mu-ink)}
.mu-cmi .t{flex:1;min-width:0}
.mu-cmi .t b{display:block;font-size:13px;font-weight:500;color:var(--mu-muted)}
.mu-cmi .t b em{font-style:normal;font-weight:400;font-size:12px}
.mu-cmi .t p{margin:6px 0 0;font-size:14.5px;line-height:1.6;color:var(--mu-ink);white-space:pre-wrap;word-break:break-word}
.mu-cmi .cma{display:flex;align-items:center;gap:14px;margin-top:6px}
.mu-cmi .cma small{font-size:11px;color:var(--mu-muted)}
.mu-cmi .cma button{font-size:12px;color:var(--mu-muted)}
.mu-cmi .cma button:active{color:var(--mu-ink)}
.mu-cmi.rp{margin-left:44px;padding:8px 0 10px}
.mu-cmi.rp .mu-av{width:26px;height:26px;font-size:10px}
.mu-pcto{display:flex;align-items:center;justify-content:space-between;margin-top:12px;padding:0 6px;font-size:12px;color:var(--mu-muted)}
.mu-pcto button{font-size:12px;color:var(--mu-acc-text)}
.mu-pcmin{display:flex;gap:8px;margin-top:14px}
.mu-pcmin input{flex:1;min-width:0;height:42px;border-radius:21px;padding:0 16px;background:var(--mu-chip);font-size:14px}
.mu-pcmin input::placeholder{color:var(--mu-muted);opacity:1}
.mu-pcmin .mu-send{width:42px;height:42px;border-radius:50%;flex-shrink:0;color:var(--mu-acc-text);background:color-mix(in srgb,var(--mu-acc) 18%,transparent);display:inline-flex;align-items:center;justify-content:center}
.mu-root[data-skin="mono"] .mu-pcmin .mu-send{background:rgba(255,255,255,.14)}

/* ── settings ── */
.mu-glabel{margin:22px 24px 8px;font-size:12.5px;color:var(--mu-muted)}
.mu-group{margin:0 18px;border-radius:14px;background:var(--mu-card);overflow:hidden}
.mu-item{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;min-height:50px;padding:6px 16px;text-align:left;font-size:15px}
.mu-item+.mu-item{box-shadow:inset 0 .5px 0 var(--mu-chip)}
.mu-item small{font-size:13px;color:var(--mu-muted);text-align:right;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.mu-item input{flex:1;min-width:0;text-align:right;font-size:14.5px;color:var(--mu-ink)}
.mu-item input::placeholder{color:var(--mu-muted);opacity:1}
.mu-item .mu-bgthumb{width:34px;height:34px;border-radius:8px}
.mu-qr{display:flex;flex-direction:column;align-items:center;gap:8px;padding:14px 0 6px}
.mu-qr img{width:176px;height:176px;border-radius:12px;background:#fff;padding:6px}

/* ── chrome: mini player + tab bar ── */
.mu-chrome{position:absolute;left:0;right:0;bottom:0;z-index:20;transition:transform var(--mo-slow,240ms) var(--mo-ease-out,ease-out);pointer-events:none}
.mu-chrome>*{pointer-events:auto}
.mu-root.notab .mu-chrome{transform:translateY(calc(var(--mu-tabs) - var(--sab)))}
.mu-mini{display:flex;align-items:center;gap:10px;margin:0 10px 8px;height:58px;padding:0 6px 0 8px;border-radius:29px;background:var(--mu-glass);-webkit-backdrop-filter:blur(22px) saturate(1.3);backdrop-filter:blur(22px) saturate(1.3);transition:opacity var(--mo-base,180ms),transform var(--mo-slow,240ms) var(--mo-ease-out,ease-out)}
.mu-mini[hidden]{display:none}
.mu-disc{position:relative;width:44px;height:44px;border-radius:50%;flex-shrink:0;background:var(--mu-cover) center/cover no-repeat;animation:muSpin 12s linear infinite}
.mu-disc::after{content:"";position:absolute;left:50%;top:50%;width:10px;height:10px;margin:-5px;border-radius:50%;background:var(--mu-bg)}
.mu-mini.paused .mu-disc{animation-play-state:paused}
.mu-mini .mu-mav{position:absolute;left:34px;top:30px;width:20px;height:20px;border-radius:50%;background:var(--mu-chip);font-size:9px;display:none;align-items:center;justify-content:center}
.mu-mini .mu-t{flex:1;min-width:0;text-align:left}
.mu-mini .mu-t b{display:block;font-size:14px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mu-mini .mu-t b span{color:var(--mu-muted);font-weight:400;font-size:12.5px}
.mu-mini .mu-t small{display:block;margin-top:2px;font-size:11.5px;color:var(--mu-muted)}
@keyframes muSpin{to{transform:rotate(360deg)}}
.mu-tabs{display:flex;justify-content:space-around;align-items:flex-start;height:var(--mu-tabs);padding:8px 0 var(--sab);background:var(--mu-glass);-webkit-backdrop-filter:blur(22px) saturate(1.3);backdrop-filter:blur(22px) saturate(1.3)}
.mu-tabs button{display:flex;flex-direction:column;align-items:center;gap:2px;width:96px;font-size:10.5px;color:var(--mu-muted)}
.mu-tabs button.on{color:var(--mu-ink);font-weight:600}
.mu-tabs button.on svg{color:var(--mu-acc)}
.mu-root[data-skin="blue"] .mu-tabs button.on svg{color:#3f6ea9}

/* ── dialogs and menus (centred, never from the bottom) ── */
.mu-dlgov{position:absolute;inset:0;z-index:60;display:flex;align-items:center;justify-content:center;padding:24px;background:var(--mu-scrim);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:moFade var(--mo-fast,90ms) ease-out backwards}
.mu-dlgov.closing{opacity:0;transition:opacity var(--mo-fast,90ms) ease-in}
.mu-dlg{width:100%;max-width:340px;max-height:80%;display:flex;flex-direction:column;padding:18px 14px 12px;border-radius:24px;background:var(--mu-dlg);-webkit-backdrop-filter:blur(26px) saturate(1.4);backdrop-filter:blur(26px) saturate(1.4);animation:moDialogIn var(--mo-slow,240ms) var(--mo-ease-out,ease-out) backwards}
.mu-dlg.solid{background:var(--mu-dlg-solid)}
.mu-dlgov.closing .mu-dlg{transform:scale(1.03);transition:transform var(--mo-fast,90ms) ease-in}
.mu-dlg h3{margin:0 0 10px;font-size:16px;font-weight:600;text-align:center}
.mu-dlg .mu-dbody{overflow-y:auto;scrollbar-width:none;min-height:0}
.mu-dlg p{margin:0 4px 10px;font-size:13.5px;line-height:1.65;color:var(--mu-sub);text-align:center}
.mu-dlg .mu-field{display:block;width:100%;height:44px;margin:0 0 10px;padding:0 16px;border-radius:22px;background:var(--mu-chip);font-size:14.5px}
.mu-dlg textarea.mu-field{height:84px;padding:12px 16px;border-radius:18px;resize:none;line-height:1.5}
.mu-dlg .mu-field::placeholder{color:var(--mu-muted);opacity:1}
.mu-dlg .mu-acts2{display:flex;gap:10px;margin-top:6px}
.mu-dlg .mu-acts2 button{flex:1;height:44px;border-radius:22px;background:var(--mu-chip);font-size:14.5px}
.mu-dlg .mu-acts2 button.pri{background:var(--mu-acc);color:var(--mu-on-acc);font-weight:700}
.mu-dlg .mu-acts2 button.dng{color:var(--mu-danger)}
.mu-dlg .mu-acts2 button:disabled{opacity:.4}
.mu-dlg .mu-choice{display:flex;align-items:center;gap:12px;width:100%;padding:10px 8px;border-radius:14px;text-align:left}
.mu-dlg .mu-choice:active{background:var(--mu-chip)}
.mu-dlg .mu-choice .mu-t{flex:1;min-width:0}
.mu-dlg .mu-choice b{display:block;font-size:14.5px;font-weight:500}
.mu-dlg .mu-choice small{display:block;margin-top:3px;font-size:12px;line-height:1.5;color:var(--mu-muted)}
.mu-dlg .mu-choice .mu-cv{width:44px;height:44px;border-radius:8px}
.mu-dlg .mu-skins{display:flex;gap:12px;margin:2px 0 6px}
.mu-dlg .mu-skins button{flex:1;text-align:center;font-size:13px;color:var(--mu-muted)}
.mu-dlg .mu-skins i{display:block;height:84px;margin-bottom:8px;border-radius:12px}
.mu-dlg .mu-skins button.on{color:var(--mu-ink);font-weight:600}
.mu-dlg .mu-skins button.on i{box-shadow:0 0 0 2px var(--mu-acc)}
.mu-dlg .mu-coverpick{display:flex;align-items:center;gap:12px;margin:0 0 10px;padding:6px 8px;border-radius:14px;background:var(--mu-chip);width:100%;text-align:left}
.mu-dlg .mu-coverpick .mu-cv{width:44px;height:44px;border-radius:8px}
.mu-dlg .mu-prog{height:6px;margin:6px 4px 12px;border-radius:3px;background:var(--mu-chip);overflow:hidden}
.mu-dlg .mu-prog i{display:block;height:100%;width:0;background:var(--mu-acc);transition:width var(--mo-base,180ms)}
.mu-menu{position:absolute;z-index:70;min-width:150px;padding:6px;border-radius:18px;background:var(--mu-dlg-solid);-webkit-backdrop-filter:blur(24px) saturate(1.4);backdrop-filter:blur(24px) saturate(1.4);transform-origin:top right;animation:moMenuPop var(--mo-release,380ms) var(--mo-ease-bounce,ease-out) backwards}
.mu-menu button{display:block;width:100%;height:42px;padding:0 14px;border-radius:12px;text-align:left;font-size:14.5px}
.mu-menu button:active{background:var(--mu-chip)}
.mu-menu button.dng{color:var(--mu-danger)}
@keyframes moMenuPop{from{opacity:0;transform:scale(.85)}to{opacity:1;transform:none}}
.mu-qlist{max-height:46vh}
@media (prefers-reduced-motion:reduce){.mu-disc{animation:none}}
.mu-page::-webkit-scrollbar,.mu-dlg .mu-dbody::-webkit-scrollbar{display:none;width:0;height:0}
.mu-dlg .mu-list button{display:flex;align-items:center;gap:10px;width:100%;padding:9px 8px;border-radius:12px;text-align:left;font-size:14px}
.mu-dlg .mu-list button:active{background:var(--mu-chip)}
.mu-dlg .mu-list small{display:block;margin-top:2px;font-size:12px;color:var(--mu-muted)}
.mu-dlg .mu-fl{display:block;margin:2px 4px 6px;font-size:12.5px;color:var(--mu-muted)}

/* ═══ PR2b: 首页 · 播放页 · 歌曲评论 · 本地 · 最近 · 设置 ═══ */
.mu-page[data-page="comments"],.mu-page[data-page="player"]{padding-bottom:0}
.mu-root.inplayer .mu-chrome{display:none}

/* ── 首页 (prototype #v-home): the cover of the song that is playing fades down from the top; a veil of the page colour keeps the title readable on any cover ── */
.mu-hcov{position:absolute;left:0;right:0;top:0;height:300px;z-index:0;pointer-events:none;background:var(--mu-cover) center/cover no-repeat;-webkit-mask-image:linear-gradient(180deg,#000 30%,transparent);mask-image:linear-gradient(180deg,#000 30%,transparent);opacity:.85}
.mu-hcov::after{content:"";position:absolute;inset:0;background:var(--mu-bg);opacity:.7}
.mu-page[data-page="home"]>*:not(.mu-hcov){position:relative;z-index:1}
.mu-searchbtn{width:calc(100% - 36px);border:0;text-align:left;font-size:14.5px}
.mu-sec{display:flex;align-items:center;justify-content:space-between;margin:22px 18px 10px}
.mu-sec h2{margin:0;font-size:17px;font-weight:700}
.mu-hs{display:flex;gap:12px;overflow-x:auto;scrollbar-width:none;padding:0 18px}
.mu-hs::-webkit-scrollbar{display:none}
.mu-hcard{flex:0 0 118px;width:118px;text-align:left}
.mu-hcard .mu-cv{width:118px;height:118px;border-radius:14px}
.mu-hcard b{display:-webkit-box;margin-top:8px;font-size:13px;font-weight:500;line-height:1.4;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;word-break:break-all}
.mu-hsec[hidden]{display:none}
.mu-recent .mu-song:active{background:var(--mu-chip)}
.mu-quick{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.mu-quick button{flex-direction:column;gap:4px;height:58px;font-size:12.5px}
.mu-pimp{height:40px;padding:0 18px;border-radius:20px;flex-shrink:0;font-size:14px;font-weight:700;color:var(--mu-on-acc);background:var(--mu-acc)}
.mu-hdr{display:flex;align-items:flex-end;height:100%;padding:0 20px 8px;font-size:13px;color:var(--mu-muted)}
.mu-txtb{width:auto;padding:0 12px;border-radius:20px;font-size:14px;color:var(--mu-acc-text)}
.mu-txtb[hidden]{display:none}
.mu-pbhost{padding-top:2px}
.mu-pbhost .mu-pbar2{margin-top:6px}
.mu-dangerrow{color:var(--mu-danger)}
.mu-dangerrow:disabled{opacity:.4}
.mu-dlg .mu-list button svg{margin-left:auto;color:var(--mu-acc-text)}
.mu-menu.dark{background:rgba(40,40,44,.78);color:#fff}
.mu-menu.dark button:active{background:rgba(255,255,255,.12)}

/* ── 播放页 (prototype #v-player, 独自收听): white text on a dark cover colour in both looks ── */
.mu-page.mu-pv{overflow:hidden;padding:0;background:#2a2a2c;color:#fff;--b1:#6a7a96;--b2:#56688a;--b3:#445678}
.mu-pv .pbgx{position:absolute;inset:0;opacity:0;transition:opacity 1s ease;z-index:0}
.mu-pv .pbgx.on{opacity:1}
.mu-pv .blobs{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:0}
.mu-pv .blobs i{position:absolute;width:75%;aspect-ratio:1;border-radius:50%;filter:blur(64px);opacity:.38;animation:muDrift 14s ease-in-out infinite alternate;transition:background 1s}
.mu-pv .blobs i:nth-child(1){left:-22%;top:-6%;background:var(--b1)}
.mu-pv .blobs i:nth-child(2){right:-28%;top:30%;background:var(--b2);animation-duration:17s}
.mu-pv .blobs i:nth-child(3){left:0;bottom:-18%;background:var(--b3);animation-duration:19s}
@keyframes muDrift{to{transform:translate(12%,8%) scale(1.15)}}
.mu-pv.paused .blobs i{animation-play-state:paused}
.mu-pv .pwrap{position:relative;z-index:1;height:100%;display:flex;flex-direction:column;padding:calc(var(--sat) + 4px) 22px calc(var(--sab) + 26px)}
.mu-pv .ptop{height:64px;flex-shrink:0;display:flex;align-items:center;justify-content:space-between;margin:0 -8px}
.mu-pv .ptop .ttl{flex:1;min-width:0;text-align:center;padding:0 6px}
.mu-pv .ptop .ttl b{display:block;font-size:16px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mu-pv .ptop .ttl b .mu-tag{background:rgba(255,255,255,.18);color:#fff}
.mu-pv .ptop .art{display:block;max-width:100%;margin:3px auto 0;font-size:12.5px;color:rgba(255,255,255,.7);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mu-pv .ptop .art[hidden]{display:none}
.mu-pv .ptop .rb{width:36px;height:36px;border-radius:50%;background:rgba(255,255,255,.12);display:inline-flex;align-items:center;justify-content:center;color:#fff;margin-right:8px}
.mu-pv .ptop .mu-ib{color:#fff}
.mu-pv .stg{position:relative;flex:1;min-height:0;display:flex;flex-direction:column;align-items:center;justify-content:center;overflow:hidden;cursor:pointer}
.mu-pv .platter{position:relative;z-index:0;width:min(292px,76vw,40vh);height:min(292px,76vw,40vh);border-radius:50%;background:rgba(0,0,0,.18);box-shadow:inset 0 0 0 1px rgba(255,255,255,.04),0 0 0 1px rgba(0,0,0,.15)}
.mu-pv .platter::before{content:"";position:absolute;inset:-8px;border-radius:50%;background:conic-gradient(from 0deg,var(--b1),var(--b2),var(--b3),var(--b1));filter:blur(26px);opacity:.35;z-index:-1;animation:muBreath 4s ease-in-out infinite}
.mu-pv.paused .platter::before{animation:none;opacity:.18}
@keyframes muBreath{50%{opacity:.5;transform:scale(1.04)}}
.mu-pv .platter .rec{position:absolute;inset:3.4%;border-radius:50%;background:radial-gradient(circle,#161617 0 63%,#0c0c0d 63.5% 64.5%,#141415 65% 82%,#0e0e0f 82.5% 83.2%,#151516 83.7% 97%,#0a0a0a 97.5%);box-shadow:0 10px 30px rgba(0,0,0,.45);animation:muSpin 26s linear infinite}
.mu-pv.paused .platter .rec{animation-play-state:paused}
.mu-pv .platter .rec::after{content:"";position:absolute;inset:0;border-radius:50%;background:conic-gradient(from 40deg,transparent 0 8%,rgba(255,255,255,.07) 12%,transparent 17% 58%,rgba(255,255,255,.05) 62%,transparent 67%)}
.mu-pv .platter .cv{position:absolute;left:50%;top:50%;width:65%;height:65%;margin:-32.5% 0 0 -32.5%;border-radius:50%;background:var(--mu-cover) center/cover no-repeat}
.mu-pv .platter .cv .art{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:flex-end;padding:0 10% 22% 14%;color:#fff;font-weight:700;font-size:17px;letter-spacing:2px;line-height:1.3;overflow:hidden;word-break:break-all}
.mu-pv .platter .cv .art small{font-size:10px;font-weight:500;letter-spacing:3px;margin-top:4px;opacity:.85;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden}
.mu-pv.lrcmode .platter{display:none}
.mu-pv .plrc{display:none;position:absolute;inset:0;overflow-y:auto;scrollbar-width:none;text-align:center;-webkit-mask-image:linear-gradient(180deg,transparent 0,#000 18%,#000 82%,transparent);mask-image:linear-gradient(180deg,transparent 0,#000 18%,#000 82%,transparent)}
.mu-pv .plrc::-webkit-scrollbar{display:none}
.mu-pv.lrcmode .plrc{display:block}
.mu-pv .plrc p{margin:0;padding:9px 12px;font-size:16px;line-height:1.5;color:rgba(255,255,255,.55);transition:color .3s,transform .3s}
.mu-pv .plrc p.cur{color:#fff;font-weight:600;transform:scale(1.04)}
.mu-pv .plrc.plain p{color:rgba(255,255,255,.85)}
.mu-pv .plrc p.aim{color:#fff}
.mu-pv .plrc p.flash{animation:muFlash .9s var(--mo-ease-out,ease-out)}
@keyframes muFlash{0%{background:rgba(255,255,255,.28)}100%{background:transparent}}
.mu-pv .plrc .padv{height:45%}
.mu-pv .plrc .none{padding-top:42%;font-size:14px;color:rgba(255,255,255,.7)}
.mu-pv .aimbar{position:absolute;left:0;right:0;top:50%;height:46px;margin-top:-23px;display:flex;align-items:center;justify-content:space-between;padding:0 6px 0 14px;border-radius:14px;background:rgba(255,255,255,.1);pointer-events:none;opacity:0;transition:opacity var(--mo-base,180ms) ease-out;z-index:2}
.mu-pv .aimbar.on{opacity:1}
.mu-pv .aimbar span{font-size:12px;color:rgba(255,255,255,.85);font-variant-numeric:tabular-nums}
.mu-pv .aimbar button{pointer-events:none;width:36px;height:36px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;color:#fff}
.mu-pv .aimbar.on button{pointer-events:auto}
.mu-pv .prow{display:flex;align-items:center;justify-content:space-between;flex-shrink:0;height:50px;margin-top:6px}
.mu-pv .plike{position:relative;width:44px;height:44px;display:inline-flex;align-items:center;justify-content:center;color:#fff}
.mu-pv .plike i{position:absolute;right:-2px;top:2px;font-style:normal;font-size:10px;color:rgba(255,255,255,.85)}
.mu-pv .plike.on svg path{fill:#e5605b;stroke:#e5605b}
.mu-pv .pbar{position:relative;flex-shrink:0;height:24px;margin-top:14px;cursor:pointer;touch-action:none}
.mu-pv .pbar .tr{position:absolute;left:0;right:0;top:11px;height:2px;border-radius:1px;background:rgba(255,255,255,.22)}
.mu-pv .pbar .fl{position:absolute;left:0;top:11px;height:2px;width:0;border-radius:1px;background:rgba(255,255,255,.92)}
.mu-pv .pbar .kn{position:absolute;left:0;top:7.5px;width:9px;height:9px;margin-left:-4.5px;border-radius:50%;background:#fff}
.mu-pv .ptime{display:flex;justify-content:space-between;flex-shrink:0;font-size:11.5px;color:rgba(255,255,255,.7);font-variant-numeric:tabular-nums}
.mu-pv .pctl{display:flex;align-items:center;justify-content:space-between;flex-shrink:0;margin-top:12px;color:rgba(255,255,255,.92)}
.mu-pv .pctl .mu-ib{position:relative;width:48px;height:48px;color:inherit}
.mu-pv .pctl .big{width:64px;height:64px}
.mu-pv .pctl .big .ip{display:none}
.mu-pv.paused .pctl .big .ip{display:inline-flex}
.mu-pv.paused .pctl .big .ipa{display:none}
.mu-pv .pctl [data-loop][data-mode="off"] svg{opacity:.55}
.mu-pv .pctl [data-loop] i{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);font-style:normal;font-size:9px;font-weight:700}

/* ── 播放列表卡片 (prototype .fcard.fromplayer) ── */
.mu-fcardov{position:absolute;inset:0;z-index:50;animation:moFade var(--mo-fast,90ms) ease-out backwards}
.mu-fcardov.closing{opacity:0;transition:opacity var(--mo-fast,90ms) ease-in}
.mu-fcard{position:absolute;left:14px;right:14px;bottom:calc(var(--mu-chrome) + 8px);border-radius:24px;overflow:hidden;background:#2a2a2c;transform-origin:92% 100%;animation:moDialogIn var(--mo-slow,240ms) var(--mo-ease-out,ease-out) backwards}
.mu-fcard.fromplayer{bottom:calc(var(--sab) + 104px)}
.mu-fcard .bgx{position:absolute;inset:-40px;background:center/cover no-repeat;filter:blur(36px) brightness(.5);transform:scale(1.2)}
.mu-root[data-skin="mono"] .mu-fcard .bgx.mu-tint{filter:grayscale(1) blur(36px) brightness(.5)}
.mu-fcard .in{position:relative;padding:18px 14px 12px;color:#fff}
.mu-fcard .fqh{font-size:15px;font-weight:600;padding:2px 6px 8px}
.mu-fcard .fqh span{margin-left:6px;font-size:12px;font-weight:400;color:rgba(255,255,255,.7)}
.mu-fcard .fq{position:relative;max-height:300px;overflow-y:auto;scrollbar-width:none}
.mu-fcard .fq::-webkit-scrollbar{display:none;width:0;height:0}
.mu-fcard .fqsub{padding:8px 6px 4px;font-size:12px;color:rgba(255,255,255,.7)}
.mu-fcard .qr{display:flex;align-items:center;gap:10px;height:46px;padding:0 6px;border-radius:10px}
.mu-fcard .qr.cur{background:rgba(255,255,255,.14)}
.mu-fcard .qr .n{width:20px;text-align:center;font-size:12px;color:rgba(255,255,255,.7);flex-shrink:0}
.mu-fcard .qr .t{flex:1;min-width:0;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mu-fcard .qr .t small{font-size:11.5px;color:rgba(255,255,255,.7)}
.mu-fcard .qr button{width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;color:rgba(255,255,255,.7);flex-shrink:0}

/* ── 歌曲评论 (prototype #v-cmt) ── */
.mu-cmn{margin-left:6px;font-size:13px;font-weight:400;color:var(--mu-muted)}
.mu-page[data-page="comments"]{display:flex;flex-direction:column}
.mu-page[data-page="comments"]>.mu-top{flex-shrink:0}
.mu-cmpad{flex:1;padding:0 18px 24px}
.mu-cmh{display:flex;align-items:center;gap:12px;margin:4px 0 6px;padding:12px;border-radius:18px;background:var(--mu-chip)}
.mu-cmh .mu-cv{width:48px;height:48px;border-radius:10px}
.mu-cmh .mu-t{min-width:0}
.mu-cmh b{display:block;font-size:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mu-cmh small{display:block;margin-top:3px;font-size:12px;color:var(--mu-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mu-cmsec{margin:14px 2px 2px;font-size:15px;font-weight:600}
.mu-cmtabs{display:flex;align-items:center;gap:18px;margin:16px 2px 2px;font-size:14px;color:var(--mu-muted)}
.mu-cmtabs b{margin-right:auto;font-size:15px;font-weight:600;color:var(--mu-ink)}
.mu-cmtabs button.on{color:var(--mu-ink);font-weight:600}
.mu-cmi .lk{display:inline-flex;align-items:flex-start;gap:3px;font-size:12px;color:var(--mu-muted);white-space:nowrap}
.mu-cmbar{position:sticky;bottom:0;display:flex;align-items:center;gap:8px;padding:10px 14px calc(var(--sab) + 12px);background:var(--mu-bg);flex-shrink:0}
.mu-root.has-mini .mu-cmbar{bottom:calc(66px + var(--sab));padding-bottom:12px}
.mu-cmbar input{flex:1;min-width:0;height:42px;border-radius:21px;padding:0 16px;background:var(--mu-chip);font-size:14px}
.mu-cmbar input::placeholder{color:var(--mu-muted);opacity:1}
.mu-cmbar .mu-send{width:42px;height:42px;border-radius:50%;flex-shrink:0;color:var(--mu-acc-text);background:color-mix(in srgb,var(--mu-acc) 18%,transparent);display:inline-flex;align-items:center;justify-content:center}
.mu-root[data-skin="mono"] .mu-cmbar .mu-send{background:rgba(255,255,255,.14)}
.mu-cmx{flex-shrink:0;height:42px;padding:0 12px;border-radius:21px;font-size:12.5px;white-space:nowrap;background:var(--mu-chip);color:var(--mu-sub)}
.mu-cmx[hidden]{display:none}

/* ── 输入框：能长按粘贴（paste-audit）。祖先（如 .mu-song）设了 user-select:none / touch-callout:none 也要改回来 ── */
#music-root :is(input,textarea),#md-body :is(input,textarea){-webkit-user-select:text;user-select:text;-webkit-touch-callout:default}
.mu-pastebtn{flex:none;min-height:34px;padding:0 12px;border-radius:17px;background:var(--mu-chip);color:var(--mu-ink);font-size:13px}
.mu-pastebtn:disabled{opacity:.5}
.mu-tag{flex:none;padding:1px 8px;border-radius:9px;background:var(--mu-chip);font-size:12px}
.mu-item:has(.mu-pastebtn) input{text-align:left}
.mu-seg{display:flex;gap:4px;padding:6px 12px;box-shadow:inset 0 .5px 0 var(--mu-chip)}
.mu-seg button{flex:1;min-height:34px;border-radius:17px;font-size:14px;color:var(--mu-muted)}
.mu-seg button.on{background:var(--mu-chip);color:var(--mu-ink);font-weight:600}
.mu-qr img{-webkit-touch-callout:default;-webkit-user-select:auto;user-select:auto;pointer-events:auto}
.mu-qrtip{max-width:260px;text-align:center;line-height:1.5}
