/* 5 版通用：弹层 / 线路 sheet / 下载遮罩 / 客服浮标 / 信号条 —— 提取自 sgui android.css */
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
html,body{margin:0;color:#fff;font-family:-apple-system,"PingFang SC","Microsoft YaHei",sans-serif}
.fade{opacity:0;transform:translateY(18px);transition:opacity .7s ease,transform .7s ease}
.loaded .fade{opacity:1;transform:none}
/* 信号条 */
.bars{display:inline-flex;align-items:flex-end;gap:3px;height:16px}
.bars i{width:3.5px;border-radius:2px;background:var(--acc,#FFE300);transform-origin:bottom;animation:barFlow 1.05s ease-in-out infinite}
.bars i:nth-child(1){height:7px;animation-delay:0s}
.bars i:nth-child(2){height:11px;animation-delay:.14s}
.bars i:nth-child(3){height:16px;animation-delay:.28s}
.bars i:nth-child(4){height:9px;animation-delay:.42s}
@keyframes barFlow{0%,100%{transform:scaleY(.38);opacity:.5}50%{transform:scaleY(1);opacity:1}}
.res-max{animation:resPop .42s ease}
@keyframes resPop{0%{transform:scale(1.28)}100%{transform:scale(1)}}
/* 弹层 */
.mask{position:fixed;inset:0;z-index:9990;background:rgba(0,0,0,.72);backdrop-filter:blur(6px);display:flex;align-items:flex-end;justify-content:center;opacity:0;transition:opacity .25s}
.mask.in{opacity:1}
.sheet{width:100%;max-width:480px;background:#14141A;border-radius:22px 22px 0 0;border:1px solid var(--accSoft,rgba(255,227,0,.18));padding:24px 22px calc(22px + env(safe-area-inset-bottom));transform:translateY(24px);transition:transform .3s}
.mask.in .sheet{transform:none}
.sheet h3{margin:0 0 16px;font-size:20px}
.step{display:flex;gap:13px;padding:12px 0;border-top:1px solid rgba(255,255,255,.07)}
.step:first-of-type{border-top:0}
.no{flex:0 0 28px;height:28px;border-radius:50%;display:grid;place-items:center;font-weight:800;color:#1a1400;background:var(--grad,linear-gradient(135deg,#FFE300,#FFB800));font-size:13px}
.tx{flex:1;font-size:14.5px;line-height:1.55}.tx b{color:var(--acc,#FFE300)}
.sheet .close{margin-top:18px;width:100%;height:48px;border:0;border-radius:999px;font-size:16px;font-weight:800;color:#1a1400;background:var(--grad,linear-gradient(135deg,#FFE300,#FFB800));cursor:pointer}
.line-item{position:relative;display:flex;align-items:center;gap:11px;padding:13px 14px;margin-top:10px;border-radius:13px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);cursor:pointer;transition:background .15s}
.line-item:active{background:rgba(255,227,0,.14)}
.line-item.rec{border-color:var(--accSoft,rgba(255,227,0,.3));background:linear-gradient(135deg,var(--accFog,rgba(255,227,0,.12)),rgba(255,255,255,.03))}
.line-item .ln{flex:1;font-size:15px;font-weight:600;text-align:left;pointer-events:none}
.line-item .ms{flex:0 0 auto;min-width:50px;text-align:right;font-size:12px;font-variant-numeric:tabular-nums;pointer-events:none}
.line-item .go{flex:0 0 auto;color:#fff;font-weight:600;font-size:13px;pointer-events:none}
.line-item.rec .go{color:var(--acc,#FFE300);font-weight:800}
.line-item .arrow{flex:0 0 auto;color:#94A3B8;font-size:18px;line-height:1;pointer-events:none}
.line-item.rec .arrow{color:var(--acc,#FFE300)}
.line-item .bars{pointer-events:none}
.rec-badge{position:absolute;top:-7px;right:12px;z-index:1;background:var(--grad,linear-gradient(135deg,#FFE300,#FFB800));color:#1a1400;font-size:10px;font-weight:800;line-height:1.7;padding:0 7px;border-radius:999px;box-shadow:0 2px 6px rgba(0,0,0,.3);pointer-events:none}
/* 下载中遮罩 */
.dl-mask{position:fixed;inset:0;z-index:9999;display:grid;place-items:center;background:rgba(0,0,0,.5);backdrop-filter:blur(2px);opacity:0;transition:opacity .25s}
.dl-mask.in{opacity:1}
.dl-box{display:flex;flex-direction:column;align-items:center;gap:14px;padding:26px 36px;border-radius:18px;background:rgba(20,20,26,.94);border:1px solid var(--accSoft,rgba(255,227,0,.3));box-shadow:0 12px 40px rgba(0,0,0,.5)}
.dl-spin{width:38px;height:38px;border-radius:50%;border:3px solid rgba(255,255,255,.2);border-top-color:var(--acc,#FFE300);animation:dlspin .8s linear infinite}
@keyframes dlspin{to{transform:rotate(360deg)}}
.dl-txt{font-size:15px;font-weight:700;color:#fff}
/* 客服浮标 */
.kefu{position:fixed;right:16px;bottom:calc(24px + env(safe-area-inset-bottom));z-index:50;width:54px;height:54px;border-radius:50%;display:grid;place-items:center;background:#14141A;border:1px solid var(--accSoft,rgba(255,227,0,.3));box-shadow:0 0 22px rgba(0,0,0,.4);cursor:pointer;animation:kefuPulse 2.4s infinite}
.kefu svg{width:27px;height:27px;stroke:var(--acc,#FFE300)}
@keyframes kefuPulse{0%,100%{transform:scale(1)}50%{transform:scale(.9)}}
