/* ★ 全局：任何元素只要带 hidden 属性就隐藏（避免被 display:flex 等覆盖） */
[hidden]{display:none !important;}

/* ================================================================
   茶姬视频解析下载 H5 —— 版式对齐微信小程序
   rpx -> calc(var(--rpx) * N)，1:1 复刻小程序 WXSS 数值
   ================================================================ */
:root{
  --rpx: 0.5px; /* 旧内核兜底（JS 会写精确值）；现代内核由下面 @supports 覆盖为精确值 */
  --brand:#ff7935;
  --brand-2:#ff9b47;
  --tab-color:#dbdbdb;
  --tab-active:#ffc000;
}

/* 精确 rpx：老内核不认识 min() → 上面 0.5px 兜底生效，布局不会整体塌掉 */
@supports (width: min(100vw, 640px)) {
  :root{ --rpx: calc(min(100vw, 640px) / 750); }
}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent;}
html,body{margin:0;padding:0;background:#f2f2f2;}
body{
  font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei","Helvetica Neue",Arial,sans-serif;
  color:#333;font-size:calc(var(--rpx)*28);line-height:1;
  -webkit-font-smoothing:antialiased;
}
img{display:block;}
a{text-decoration:none;color:inherit;}
button{font-family:inherit;border:0;background:none;color:inherit;cursor:pointer;padding:0;}
input{font-family:inherit;border:0;outline:none;background:transparent;}

#app{position:relative;max-width:640px;margin:0 auto;min-height:100vh;background:#fff;overflow-x:hidden;}

/* ---------------- 页面切换 ---------------- */
.page-view{display:none;padding-bottom:calc(56px + env(safe-area-inset-bottom));background:#fff;min-height:100vh;}
.page-view.on{display:block;}
.page-view[hidden]{display:none;}
.sub-page{position:fixed;inset:0;max-width:640px;margin:0 auto;background:#f2f2f2;z-index:70;overflow-y:auto;-webkit-overflow-scrolling:touch;}
.sub-page[hidden]{display:none;}

/* ---------------- 首页 Banner（小程序 .swiper 全宽、无圆角、#ff9541 底） ---------------- */
/* 轮播图高度：改这里即可，数值越大越高（750/220 ≈ 220rpx 高）。想更矮改成 750/180 */
.swiper{position:relative;overflow:hidden;background:#ff9541;width:100%;aspect-ratio:750/220;}
.swiper-track{display:flex;height:100%;transition:transform .45s ease;}
.swiper-track a.banner-item{display:block;flex:0 0 100%;height:100%;}
.swiper-track img{display:block;width:100%;height:100%;object-fit:contain;}
.banner-dots{position:absolute;left:0;right:0;bottom:calc(var(--rpx)*14);display:flex;justify-content:center;gap:calc(var(--rpx)*10);z-index:2;}
.banner-dots i{width:calc(var(--rpx)*12);height:calc(var(--rpx)*12);border-radius:50%;background:rgba(255,255,255,.62);box-shadow:0 1px 3px rgba(0,0,0,.18);transition:width .25s ease,background .25s ease;}
.banner-dots i.on{width:calc(var(--rpx)*30);border-radius:calc(var(--rpx)*8);background:#fff;}
.swiper-track a.banner-item:active img{transform:scale(.995);}

/* ---------------- 公告条（index-notice） ---------------- */
.gonggao{display:flex;height:calc(var(--rpx)*72);line-height:calc(var(--rpx)*72);font-size:14px;color:#d16d01;background:#f1f1f1;overflow:hidden;align-items:center;}
.gonggao-icon{display:flex;align-items:center;margin-left:calc(var(--rpx)*30);font-size:calc(var(--rpx)*30);}
.gonggao-wrap{position:relative;flex:1;margin:0 calc(var(--rpx)*30);overflow:hidden;white-space:nowrap;text-overflow:ellipsis;}
.gonggao-wrap span{display:inline-block;padding-left:100%;animation:marquee 20s linear infinite;}
@keyframes marquee{to{transform:translateX(-100%);}}

/* ---------------- 解析卡片 ---------------- */
.analysis-card{
  box-sizing:border-box;
  margin:calc(var(--rpx)*28) calc(var(--rpx)*24) calc(var(--rpx)*32);
  padding:calc(var(--rpx)*28) calc(var(--rpx)*28) calc(var(--rpx)*30);
  background:#fff;border-radius:calc(var(--rpx)*36);
  box-shadow:0 calc(var(--rpx)*12) calc(var(--rpx)*34) rgba(48,66,38,.10);
}
.analysis-title{margin-bottom:calc(var(--rpx)*20);color:#171717;font-size:calc(var(--rpx)*34);font-weight:700;line-height:1.3;}
.analysis-input-box{
  position:relative;box-sizing:border-box;height:calc(var(--rpx)*104);
  padding-right:calc(var(--rpx)*150);overflow:hidden;
  background:#f4f5f0;border:1px solid #e8eae2;border-radius:calc(var(--rpx)*24);
  box-shadow:inset 0 calc(var(--rpx)*3) calc(var(--rpx)*10) rgba(0,0,0,.04);
}
.analysis-input-box input{box-sizing:border-box;width:100%;height:calc(var(--rpx)*104);padding:0 calc(var(--rpx)*20);color:#333;font-size:calc(var(--rpx)*28);}
.clear-icon{
  position:absolute;top:50%;right:calc(var(--rpx)*164);z-index:2;
  display:flex;align-items:center;justify-content:center;
  width:calc(var(--rpx)*42);height:calc(var(--rpx)*42);
  background:#8b918b;border-radius:50%;transform:translateY(-50%);
}
.clear-icon-x{position:relative;width:calc(var(--rpx)*18);height:calc(var(--rpx)*18);}
.clear-icon-x::before,.clear-icon-x::after{content:"";position:absolute;top:calc(var(--rpx)*7);left:0;width:calc(var(--rpx)*18);height:calc(var(--rpx)*4);background:#fff;border-radius:calc(var(--rpx)*4);}
.clear-icon-x::before{transform:rotate(45deg);}
.clear-icon-x::after{transform:rotate(-45deg);}
.paste-btn{
  position:absolute;top:calc(var(--rpx)*12);right:calc(var(--rpx)*12);
  display:flex;align-items:center;justify-content:center;
  width:calc(var(--rpx)*124);height:calc(var(--rpx)*80);
  color:#202020;font-size:calc(var(--rpx)*27);font-weight:600;
  background:#fff;border-radius:calc(var(--rpx)*20);
  box-shadow:0 calc(var(--rpx)*3) calc(var(--rpx)*12) rgba(0,0,0,.08);
}
.paste-btn:active{transform:scale(.97);}
.paste-copy-icon{position:relative;box-sizing:border-box;width:calc(var(--rpx)*25);height:calc(var(--rpx)*25);margin-right:calc(var(--rpx)*12);border:calc(var(--rpx)*3) solid #20232a;border-radius:calc(var(--rpx)*4);}
.paste-copy-icon::before{content:"";position:absolute;box-sizing:border-box;width:calc(var(--rpx)*21);height:calc(var(--rpx)*21);left:calc(var(--rpx)*-10);top:calc(var(--rpx)*-10);border:calc(var(--rpx)*3) solid #20232a;border-radius:calc(var(--rpx)*4);background:#fff;}
.start-analysis-btn{
  display:flex;align-items:center;justify-content:center;box-sizing:border-box;
  width:100%;height:calc(var(--rpx)*82);margin:calc(var(--rpx)*22) auto 0;
  color:#fff;font-size:calc(var(--rpx)*29);font-weight:700;letter-spacing:calc(var(--rpx)*1);
  background:linear-gradient(90deg,#ff9b47 0%,#ff7935 100%);
  border-radius:calc(var(--rpx)*18);
  box-shadow:0 calc(var(--rpx)*8) calc(var(--rpx)*18) rgba(242,105,42,.2);
}
.start-analysis-btn:active{opacity:.92;transform:translateY(2rpx) scale(.99);}
.parse-arrow{margin-left:calc(var(--rpx)*14);font-size:calc(var(--rpx)*32);font-weight:400;line-height:1;}

/* ---------------- 结果卡片 ---------------- */
.card{margin:calc(var(--rpx)*32);background:#fff;border-radius:calc(var(--rpx)*40);overflow:hidden;box-shadow:0 calc(var(--rpx)*12) calc(var(--rpx)*30) rgba(0,0,0,.06);}
.card-header{display:flex;align-items:center;min-height:calc(var(--rpx)*100);padding:calc(var(--rpx)*16) calc(var(--rpx)*30);background:rgba(155,172,189,.06);font-size:calc(var(--rpx)*28);font-weight:600;line-height:1.4;}
.card-body{line-height:1.6em;font-size:calc(var(--rpx)*30);padding:calc(var(--rpx)*20) calc(var(--rpx)*30) calc(var(--rpx)*30);}
.result-video{display:block;width:100%;height:160px;background:#000;border-radius:calc(var(--rpx)*12);}
.bigFile-tips{font-size:calc(var(--rpx)*32);color:#ee6363;text-align:center;padding-top:calc(var(--rpx)*32);}
.down-video{line-height:calc(var(--rpx)*88);color:#fff;text-align:center;border-radius:calc(var(--rpx)*44);margin-top:calc(var(--rpx)*15);font-size:calc(var(--rpx)*30);}
.down-video:active{transform:translate(1rpx,1rpx);}
.bg-blue{background:#00c8fd;color:#fff;}
.bg-red{background:rgb(249,6,6);color:#fff;}
.bg-green{background:#39b54a;color:#fff;}
.bg-pink{background:#f85e8a;color:#fff;}
.down-tips{font-size:calc(var(--rpx)*24);color:#999;text-align:center;margin-top:calc(var(--rpx)*20);}

.tab-row{display:flex;width:100%;min-height:calc(var(--rpx)*36);border-bottom:1px solid rgba(46,7,7,.1);}
.tab-item{flex:1;min-height:calc(var(--rpx)*36);display:flex;align-items:center;justify-content:center;border-bottom:2px solid transparent;color:#333;font-size:calc(var(--rpx)*28);}
.tab-item span{display:block;}
.tab-item.on{border-bottom-color:rgb(249,6,6);}
.tab-item.on span{color:rgb(249,6,6);font-weight:bold;}
.panel[hidden]{display:none;}

.quality-row{display:flex;flex-wrap:wrap;gap:calc(var(--rpx)*16);margin-top:calc(var(--rpx)*20);}
.chip{padding:calc(var(--rpx)*8) calc(var(--rpx)*24);border-radius:calc(var(--rpx)*24);background:#f2f3f0;color:#4a4f55;font-size:calc(var(--rpx)*24);border:1px solid transparent;}
.chip.on{background:#fff1ec;color:rgb(249,6,6);border-color:#ffcdbf;font-weight:700;}

.image-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:calc(var(--rpx)*12);margin-top:calc(var(--rpx)*20);}
.image-grid figure{position:relative;margin:0;border-radius:calc(var(--rpx)*12);overflow:hidden;background:#eee;aspect-ratio:3/4;}
.image-grid img{width:100%;height:100%;object-fit:cover;}
.image-grid .pick{position:absolute;right:calc(var(--rpx)*12);top:calc(var(--rpx)*12);width:calc(var(--rpx)*44);height:calc(var(--rpx)*44);border-radius:50%;background:rgba(0,0,0,.35);border:2px solid #fff;display:flex;align-items:center;justify-content:center;color:transparent;font-size:calc(var(--rpx)*26);}
.image-grid figure.sel .pick{background:rgb(249,6,6);color:#fff;}
.image-grid figure.sel img{opacity:.85;}
.select-bar{display:flex;align-items:center;justify-content:space-between;margin-top:calc(var(--rpx)*16);color:#666;font-size:calc(var(--rpx)*26);}
.title-box{background:#f7f7f7;border-radius:calc(var(--rpx)*12);padding:calc(var(--rpx)*24);font-size:calc(var(--rpx)*28);line-height:1.6;color:#333;margin-top:calc(var(--rpx)*20);max-height:200px;overflow:auto;}

/* ---------------- 四个入口卡 ---------------- */
.menu-card-group{display:flex;flex-wrap:wrap;justify-content:space-between;padding:calc(var(--rpx)*16) calc(var(--rpx)*32) calc(var(--rpx)*18);background:#fff;}
.menu-card{
  position:relative;display:flex;width:calc(var(--rpx)*324);align-items:center;justify-content:space-between;
  box-sizing:border-box;min-width:0;height:calc(var(--rpx)*148);
  padding:calc(var(--rpx)*18) calc(var(--rpx)*18) calc(var(--rpx)*17) calc(var(--rpx)*24);
  overflow:hidden;border-radius:calc(var(--rpx)*17);
  box-shadow:0 calc(var(--rpx)*7) calc(var(--rpx)*17) rgba(56,60,90,.14);
  margin-bottom:calc(var(--rpx)*14);color:#fff;
}
.menu-card:active{transform:scale(.985);}
.menu-card-copy{display:flex;min-width:0;flex:1;flex-direction:column;}
.menu-card-icon{display:block;flex-shrink:0;width:calc(var(--rpx)*72);height:calc(var(--rpx)*72);margin-left:calc(var(--rpx)*8);object-fit:contain;}
.menu-card-label{color:#fff;font-size:calc(var(--rpx)*28);font-weight:700;white-space:nowrap;}
.menu-card-sub{margin-top:calc(var(--rpx)*9);color:rgba(255,255,255,.9);font-size:calc(var(--rpx)*21);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.menu-help{background:linear-gradient(135deg,#ff3153,#f40d79);}
.menu-history{background:linear-gradient(135deg,#ef3bb7,#8938d1);}
.menu-faq{background:linear-gradient(135deg,#7d00ff,#4a00e8);}
.menu-md5{background:linear-gradient(135deg,#ffb000,#ff5a20);}

/* ---------------- 分享条 / 页脚 ---------------- */
.wrapper{background:#fff;}
.shareWrap .contain{background:#fff;padding:15px;}
.shareWrap .wrap{background:#fff2ec;display:flex;border-radius:calc(var(--rpx)*16);padding:calc(var(--rpx)*30) calc(var(--rpx)*32);align-items:center;gap:calc(var(--rpx)*16);}
.shareWrap .icon{width:35px;height:35px;margin-right:8px;flex-shrink:0;}
.shareWrap .icon img{width:100%;height:100%;}
.shareWrap .text{flex:1;min-width:0;width:auto;font-size:14px;text-align:left;line-height:1.55;color:#3b3b3b;}
.button-share{flex:0 0 auto;min-width:calc(var(--rpx)*150);height:36px;padding:0 calc(var(--rpx)*24);margin:0;
  display:inline-flex;justify-content:center;align-items:center;text-align:center;
  background:#ff521d;border-radius:50px;color:#fff;font-size:14px;font-weight:600;line-height:1;}
.relief{font-size:calc(var(--rpx)*24);color:#999;text-align:center;padding:calc(var(--rpx)*30) 0;}

/* ---------------- 任务 / 兑换 / 我的 ---------------- */
.hero{background:linear-gradient(135deg,#ff9b47,#ff7935);color:#fff;padding:calc(var(--rpx)*44) calc(var(--rpx)*32) calc(var(--rpx)*40);}
.hero-title{display:block;font-size:calc(var(--rpx)*40);font-weight:800;letter-spacing:calc(var(--rpx)*1);}
.hero-sub{display:block;margin-top:calc(var(--rpx)*12);font-size:calc(var(--rpx)*24);opacity:.92;line-height:1.5;}
.section-title{display:block;margin:calc(var(--rpx)*28) calc(var(--rpx)*32) calc(var(--rpx)*14);font-size:calc(var(--rpx)*28);font-weight:700;color:#222;}
.list-pad{padding:0 calc(var(--rpx)*32);}
.task-card{display:flex;align-items:center;gap:calc(var(--rpx)*20);width:100%;background:#fff;border-radius:calc(var(--rpx)*18);padding:calc(var(--rpx)*22);box-shadow:0 calc(var(--rpx)*7) calc(var(--rpx)*17) rgba(56,60,90,.10);margin-bottom:calc(var(--rpx)*16);text-align:left;}
.task-card:active{transform:scale(.99);}
.task-icon-wrap{width:calc(var(--rpx)*80);height:calc(var(--rpx)*80);border-radius:50%;background:#fff4ea;display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.task-image{width:calc(var(--rpx)*52);height:calc(var(--rpx)*52);}
.task-info{flex:1;display:flex;flex-direction:column;min-width:0;}
.task-name{font-size:calc(var(--rpx)*28);font-weight:700;}
.task-desc{color:#999;font-size:calc(var(--rpx)*22);margin-top:calc(var(--rpx)*8);}
.reward{color:#ff7935;font-weight:700;font-size:calc(var(--rpx)*26);}
.arrow{color:#c4c8cd;font-size:calc(var(--rpx)*36);}

.member-page{background:#f2f2f2;min-height:100vh;}
.member-hero{background:linear-gradient(135deg,#ff3153,#f40d79);color:#fff;padding:calc(var(--rpx)*44) calc(var(--rpx)*32) calc(var(--rpx)*52);}
.hero-badge{display:inline-block;background:rgba(255,255,255,.22);border-radius:calc(var(--rpx)*20);padding:calc(var(--rpx)*6) calc(var(--rpx)*20);font-size:calc(var(--rpx)*22);margin-bottom:calc(var(--rpx)*16);}
.member-hero .hero-title,.member-hero .hero-sub{display:block;}
.member-hero .hero-sub{margin-top:calc(var(--rpx)*12);font-size:calc(var(--rpx)*24);opacity:.92;}
.redeem-panel{margin:calc(var(--rpx)*-30) calc(var(--rpx)*32) 0;background:#fff;border-radius:calc(var(--rpx)*20);padding:calc(var(--rpx)*28);box-shadow:0 calc(var(--rpx)*10) calc(var(--rpx)*26) rgba(0,0,0,.08);}
.card-input{width:100%;height:calc(var(--rpx)*92);background:#f5f6f3;border:1px solid #e8eae2;border-radius:calc(var(--rpx)*14);padding:0 calc(var(--rpx)*24);font-size:calc(var(--rpx)*28);margin-bottom:calc(var(--rpx)*20);}
.redeem-button{height:calc(var(--rpx)*84);border-radius:calc(var(--rpx)*14);background:linear-gradient(90deg,#ff9b47,#ff7935);color:#fff;font-size:calc(var(--rpx)*30);font-weight:700;display:flex;align-items:center;justify-content:center;}
.status-card{display:flex;gap:calc(var(--rpx)*20);margin:calc(var(--rpx)*24) calc(var(--rpx)*32) 0;background:#fff;border-radius:calc(var(--rpx)*20);padding:calc(var(--rpx)*28);box-shadow:0 calc(var(--rpx)*7) calc(var(--rpx)*17) rgba(56,60,90,.08);flex-wrap:wrap;}
.status-label{display:block;color:#999;font-size:calc(var(--rpx)*24);}
.status-value{display:block;margin-top:calc(var(--rpx)*8);font-size:calc(var(--rpx)*44);font-weight:800;color:#ff7935;}
.status-date{display:block;margin-top:calc(var(--rpx)*8);font-size:calc(var(--rpx)*26);font-weight:700;}
.rights{margin:calc(var(--rpx)*24) calc(var(--rpx)*32) 0;background:#fff;border-radius:calc(var(--rpx)*20);padding:calc(var(--rpx)*28);box-shadow:0 calc(var(--rpx)*7) calc(var(--rpx)*17) rgba(56,60,90,.08);font-size:calc(var(--rpx)*24);color:#666;line-height:2;}
.rights .section-title{margin:0 0 calc(var(--rpx)*10);}

.center{background:#f2f2f2;min-height:100vh;}
.blue-top{background:linear-gradient(135deg,#ff9b47,#ff7935);padding:calc(var(--rpx)*30) calc(var(--rpx)*28) calc(var(--rpx)*60);}
.user-card{background:#fff;border-radius:calc(var(--rpx)*22);padding:calc(var(--rpx)*28);box-shadow:0 calc(var(--rpx)*12) calc(var(--rpx)*30) rgba(0,0,0,.10);}
.user-top{display:flex;align-items:center;gap:calc(var(--rpx)*22);}
.user-pic{width:calc(var(--rpx)*120);height:calc(var(--rpx)*120);border-radius:50%;object-fit:cover;background:#eee;border:3px solid #fff;box-shadow:0 calc(var(--rpx)*4) calc(var(--rpx)*14) rgba(0,0,0,.12);}
.user-board{flex:1;min-width:0;}
.vip-detail{color:#ff7935;font-size:calc(var(--rpx)*24);font-weight:700;margin-bottom:calc(var(--rpx)*10);}
.user-name{width:100%;font-size:calc(var(--rpx)*34);font-weight:800;color:#222;}
.card-bottom{display:flex;margin-top:calc(var(--rpx)*26);border-top:1px solid #f0f0f0;padding-top:calc(var(--rpx)*22);}
.stat-card{flex:1;text-align:center;}
.stat-card .num{display:block;font-size:calc(var(--rpx)*44);font-weight:800;color:#ff7935;}
.stat-card .txt{display:block;margin-top:calc(var(--rpx)*8);color:#999;font-size:calc(var(--rpx)*24);}
.center-list{margin:calc(var(--rpx)*24) 0;background:#fff;}
.center-list-item{display:flex;align-items:center;gap:calc(var(--rpx)*20);width:100%;padding:calc(var(--rpx)*26) calc(var(--rpx)*32);border-bottom:1px solid #f2f2f2;text-align:left;font-size:calc(var(--rpx)*28);}
.center-list-item .ico{width:calc(var(--rpx)*44);height:calc(var(--rpx)*44);border-radius:calc(var(--rpx)*12);background:#fff6e8;color:#ffc000;display:flex;align-items:center;justify-content:center;font-size:calc(var(--rpx)*26);flex-shrink:0;}
.center-list-item .list-text{flex:1;font-size:calc(var(--rpx)*28);}
.center-list-item .arrow{color:#8a8a8a;font-size:calc(var(--rpx)*30);}

/* ---------------- 子页面 ---------------- */
.sub-bar{position:sticky;top:0;display:flex;align-items:center;gap:calc(var(--rpx)*8);background:#fff;padding:calc(env(safe-area-inset-top) + 10px) calc(var(--rpx)*24) 10px;border-bottom:1px solid #f0f0f0;z-index:2;}
.sub-bar h2{font-size:calc(var(--rpx)*32);margin:0;font-weight:800;}
.back-btn{width:calc(var(--rpx)*60);height:calc(var(--rpx)*60);font-size:calc(var(--rpx)*44);line-height:1;display:flex;align-items:center;justify-content:center;color:#333;}
.text-btn{margin-left:auto;color:rgb(249,6,6);font-size:calc(var(--rpx)*28);font-weight:700;}
.sub-body{padding:calc(var(--rpx)*24);max-width:640px;margin:0 auto;}
.faq-item{background:#fff;border-radius:calc(var(--rpx)*18);padding:calc(var(--rpx)*26) calc(var(--rpx)*28);margin-bottom:calc(var(--rpx)*18);box-shadow:0 calc(var(--rpx)*7) calc(var(--rpx)*17) rgba(56,60,90,.07);}
.faq-q{font-weight:800;font-size:calc(var(--rpx)*28);margin-bottom:calc(var(--rpx)*12);}
.faq-a{color:#666;font-size:calc(var(--rpx)*26);line-height:1.8;}
.hist-item{background:#fff;border-radius:calc(var(--rpx)*18);padding:calc(var(--rpx)*24);margin-bottom:calc(var(--rpx)*16);box-shadow:0 calc(var(--rpx)*7) calc(var(--rpx)*17) rgba(56,60,90,.07);}
.hist-top{display:flex;justify-content:space-between;gap:calc(var(--rpx)*16);align-items:baseline;}
.hist-title{font-size:calc(var(--rpx)*28);font-weight:700;flex:1;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.hist-time{color:#a7acb2;font-size:calc(var(--rpx)*22);flex:0 0 auto;}
.hist-url{color:#9aa0a6;font-size:calc(var(--rpx)*24);margin-top:calc(var(--rpx)*10);word-break:break-all;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden;}
.hist-actions{display:flex;gap:calc(var(--rpx)*16);margin-top:calc(var(--rpx)*18);}
.hist-actions button{flex:1;height:calc(var(--rpx)*68);border-radius:calc(var(--rpx)*14);font-size:calc(var(--rpx)*26);font-weight:700;background:#f5f6f3;color:#4a4f55;}
.empty{text-align:center;color:#a7acb2;font-size:calc(var(--rpx)*26);padding:calc(var(--rpx)*100) 0;}
.field{margin-bottom:calc(var(--rpx)*20);background:#fff;border-radius:calc(var(--rpx)*18);padding:calc(var(--rpx)*26);box-shadow:0 calc(var(--rpx)*7) calc(var(--rpx)*17) rgba(56,60,90,.07);}
.field label{display:block;font-weight:800;font-size:calc(var(--rpx)*28);margin-bottom:calc(var(--rpx)*14);}
.field input[type=text]{width:100%;height:calc(var(--rpx)*86);border-radius:calc(var(--rpx)*12);border:1px solid #e8eae2;background:#f5f6f3;padding:0 calc(var(--rpx)*20);font-size:calc(var(--rpx)*26);}
.field-tip{color:#999;font-size:calc(var(--rpx)*23);margin:calc(var(--rpx)*14) 0 0;line-height:1.7;}
.act-btn{width:100%;height:calc(var(--rpx)*84);border-radius:calc(var(--rpx)*14);color:#fff;font-size:calc(var(--rpx)*30);font-weight:700;margin-bottom:calc(var(--rpx)*20);}
.act-blue{background:#0081ff;}
.act-red{background:linear-gradient(90deg,#ff9b47,#ff7935);}

/* ---------------- 底部 tabBar ---------------- */
.tabbar{
  position:fixed;left:50%;transform:translateX(-50%);bottom:0;z-index:60;
  width:100%;max-width:640px;display:flex;background:#fff;
  border-top:1px solid #e5e5e5;padding-bottom:env(safe-area-inset-bottom);
}
.tabbar-item{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;height:50px;color:var(--tab-color);font-size:10px;gap:1px;}
.tabbar-item img{width:24px;height:24px;object-fit:contain;}
.tabbar-item.on{color:var(--tab-active);}

/* ---------------- 弹窗 / loading / toast ---------------- */
.mask{position:fixed;inset:0;background:rgba(0,0,0,.6);z-index:200;display:flex;align-items:center;justify-content:center;padding:calc(var(--rpx)*40);}
.mask[hidden]{display:none;}
.dialog{position:relative;width:100%;max-width:calc(var(--rpx)*680);background:#f8f8f8;border-radius:calc(var(--rpx)*16);overflow:hidden;}
.dialog-head{background:#fff;color:#666;font-size:calc(var(--rpx)*32);text-align:center;padding:calc(var(--rpx)*30) 0;}
.dialog-msg{background:#fff;padding:calc(var(--rpx)*40) calc(var(--rpx)*50);color:#333;font-size:calc(var(--rpx)*28);line-height:1.6;text-align:center;border-top:1px solid #f0f0f0;}
.dialog-foot{background:#fff;display:flex;justify-content:center;padding:calc(var(--rpx)*20) 0;border-top:1px solid #f0f0f0;}
.Pop-btn{display:inline-flex;align-items:center;justify-content:center;min-width:calc(var(--rpx)*400);height:calc(var(--rpx)*80);border-radius:calc(var(--rpx)*20);color:#fff;background:#0081FF;font-size:calc(var(--rpx)*28);}
.Pop-btn.green{background:#1AAD19;}
.progress{width:100%;height:calc(var(--rpx)*28);background:#ebeef5;overflow:hidden;margin:calc(var(--rpx)*30) 0;}
.progress i{display:block;height:100%;width:0;background:#f1960d;transition:width .3s;}

.loading{position:fixed;inset:0;background:rgba(0,0,0,.45);z-index:210;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:calc(var(--rpx)*24);color:#fff;font-size:calc(var(--rpx)*28);}
.loading[hidden]{display:none;}
.spinner{width:calc(var(--rpx)*72);height:calc(var(--rpx)*72);border:3px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite;}
@keyframes spin{to{transform:rotate(360deg);}}
.toast{position:fixed;left:50%;bottom:16%;transform:translateX(-50%);background:rgba(0,0,0,.82);color:#fff;font-size:calc(var(--rpx)*27);padding:calc(var(--rpx)*18) calc(var(--rpx)*36);border-radius:calc(var(--rpx)*40);z-index:220;max-width:80%;text-align:center;}
.toast[hidden]{display:none;}

/* ---------------- 手机号登录 ---------------- */
.code-row{display:flex;gap:calc(var(--rpx)*16);align-items:center;}
.code-row input{flex:1;min-width:0;}
.code-btn{flex:0 0 auto;height:calc(var(--rpx)*86);padding:0 calc(var(--rpx)*24);border-radius:calc(var(--rpx)*12);
  background:linear-gradient(90deg,#ff9b47,#ff7935);color:#fff;font-size:calc(var(--rpx)*26);font-weight:700;white-space:nowrap;}
.code-btn[disabled]{opacity:.55;}

/* ==================== 手机号登录页（重做） ==================== */
.login-page{background:#fff;}
.login-wrap{padding:calc(var(--rpx)*80) calc(var(--rpx)*52) calc(var(--rpx)*60);max-width:640px;margin:0 auto;}
.login-head{text-align:center;margin-bottom:calc(var(--rpx)*60);}
.login-logo{width:calc(var(--rpx)*128);height:calc(var(--rpx)*128);border-radius:calc(var(--rpx)*34);margin:0 auto calc(var(--rpx)*30);
  box-shadow:0 calc(var(--rpx)*14) calc(var(--rpx)*34) rgba(255,120,50,.28);animation:logoIn .5s cubic-bezier(.2,.9,.3,1.2) backwards;}
@keyframes logoIn{from{opacity:0;transform:scale(.7)}to{opacity:1;transform:none}}
.login-title{font-size:calc(var(--rpx)*46);font-weight:800;color:#1c1c1e;letter-spacing:calc(var(--rpx)*2);}
.login-sub{margin-top:calc(var(--rpx)*16);color:#9aa0a6;font-size:calc(var(--rpx)*25);}

.login-field{display:flex;align-items:center;gap:calc(var(--rpx)*16);height:calc(var(--rpx)*104);
  border-bottom:1px solid #f0f1f3;padding:0 calc(var(--rpx)*8);transition:border-color .2s ease;}
.login-field:focus-within{border-bottom-color:#ff9b47;}
.login-ico{font-size:calc(var(--rpx)*32);width:calc(var(--rpx)*44);text-align:center;flex:0 0 auto;}
.login-field input{flex:1;min-width:0;height:100%;font-size:calc(var(--rpx)*30);background:transparent;}
.captcha-img{width:calc(var(--rpx)*196);height:calc(var(--rpx)*70);border-radius:calc(var(--rpx)*12);
  background:#f3f4f1;object-fit:cover;flex:0 0 auto;}
.login-field .code-btn{height:calc(var(--rpx)*64);padding:0 calc(var(--rpx)*22);font-size:calc(var(--rpx)*24);
  border-radius:calc(var(--rpx)*32);flex:0 0 auto;}

.login-btn{margin-top:calc(var(--rpx)*56);width:100%;height:calc(var(--rpx)*94);border-radius:calc(var(--rpx)*47);
  background:linear-gradient(90deg,#ff9b47,#ff7935);color:#fff;font-size:calc(var(--rpx)*32);font-weight:800;
  letter-spacing:calc(var(--rpx)*2);box-shadow:0 calc(var(--rpx)*12) calc(var(--rpx)*26) rgba(242,105,42,.28);
  transition:transform .12s ease,box-shadow .2s ease,opacity .2s ease;}
.login-btn:active{transform:scale(.97);box-shadow:0 calc(var(--rpx)*6) calc(var(--rpx)*14) rgba(242,105,42,.28);}
.login-btn[disabled]{opacity:.6;}
.login-tip{margin-top:calc(var(--rpx)*18);color:#ee6363;font-size:calc(var(--rpx)*24);min-height:calc(var(--rpx)*34);text-align:center;}
.login-note{margin-top:calc(var(--rpx)*34);text-align:center;color:#b6bcc4;font-size:calc(var(--rpx)*22);}

/* ==================== 头像 ==================== */
.avatar-box{position:relative;flex:0 0 auto;transition:transform .15s ease;}
.avatar-box:active{transform:scale(.94);}
.avatar-edit{position:absolute;right:calc(var(--rpx)*-4);bottom:calc(var(--rpx)*-4);width:calc(var(--rpx)*46);height:calc(var(--rpx)*46);
  border-radius:50%;background:linear-gradient(135deg,#ff9b47,#ff7935);color:#fff;font-size:calc(var(--rpx)*24);
  display:flex;align-items:center;justify-content:center;border:3px solid #fff;
  box-shadow:0 calc(var(--rpx)*4) calc(var(--rpx)*12) rgba(255,121,53,.45);}
.login-hint{margin-top:calc(var(--rpx)*12);color:#ff7935;font-size:calc(var(--rpx)*24);}

/* ==================== 底部操作面板 ==================== */
.sheet-mask{position:fixed;inset:0;background:rgba(0,0,0,.45);z-index:120;display:flex;align-items:flex-end;justify-content:center;}
.sheet-mask[hidden]{display:none;}
.sheet{width:100%;max-width:640px;background:#fff;border-radius:calc(var(--rpx)*28) calc(var(--rpx)*28) 0 0;
  padding:calc(var(--rpx)*16) calc(var(--rpx)*24) calc(var(--rpx)*36);animation:sheetUp .3s cubic-bezier(.2,.85,.3,1) backwards;}
@keyframes sheetUp{from{transform:translateY(100%)}to{transform:none}}
.sheet-title{text-align:center;font-size:calc(var(--rpx)*30);font-weight:700;padding:calc(var(--rpx)*16) 0;}
.sheet-tip{text-align:center;color:#ee6363;font-size:calc(var(--rpx)*23);min-height:calc(var(--rpx)*32);margin-bottom:calc(var(--rpx)*12);}
.sheet-item{display:block;width:100%;height:calc(var(--rpx)*96);border-radius:calc(var(--rpx)*16);background:#f5f6f3;
  font-size:calc(var(--rpx)*29);margin-bottom:calc(var(--rpx)*14);transition:transform .12s ease,background .2s ease;}
.sheet-item:active{transform:scale(.98);background:#eceee9;}
.sheet-item.cancel{background:#fff;color:#8b9099;border:1px solid #eceef2;}

/* ==================== 全局过渡动画（无悬浮/无 hover 上浮） ==================== */
@keyframes viewIn{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
@keyframes cardIn{from{opacity:0;transform:translateY(18px) scale(.98)}to{opacity:1;transform:none}}
@keyframes subIn{from{opacity:0;transform:translateX(6%)}to{opacity:1;transform:none}}

.page-view.on{animation:viewIn .30s cubic-bezier(.2,.8,.3,1) backwards;}
.sub-page{animation:subIn .28s cubic-bezier(.2,.8,.3,1) backwards;}
.panel{animation:viewIn .26s ease backwards;}
.menu-card,.task-card,.faq-item,.hist-item,.rights,.status-card,.redeem-panel,.field,.analysis-card{animation:cardIn .42s cubic-bezier(.2,.8,.3,1) backwards;}
.menu-card:nth-child(1){animation-delay:.04s}
.menu-card:nth-child(2){animation-delay:.09s}
.menu-card:nth-child(3){animation-delay:.14s}
.menu-card:nth-child(4){animation-delay:.19s}
.task-card:nth-child(1){animation-delay:.04s}
.task-card:nth-child(2){animation-delay:.09s}
.task-card:nth-child(3){animation-delay:.14s}
.task-card:nth-child(4){animation-delay:.19s}

.tab-item{border-bottom-width:2px;transition:border-color .22s ease;}
.tab-item span{transition:color .18s ease,transform .18s ease;}
.down-video,.start-analysis-btn,.act-btn,.redeem-button,.Pop-btn,.button-share,.tab,.history-btn{
  transition:transform .12s ease,box-shadow .2s ease,opacity .2s ease,background .2s ease;}
.down-video:active,.act-btn:active,.redeem-button:active,.Pop-btn:active,.button-share:active{transform:scale(.97);}
.tabbar-item img{transition:transform .22s ease;}
.tabbar-item.on img{transform:translateY(calc(var(--rpx)*-4)) scale(1.08);}
.user-pic{transition:transform .25s ease,opacity .3s ease;}

/* 强制登录：未登录时隐藏内容与底部栏 */
body.locked .tabbar{display:none;}
body.locked .page-view{display:none;}

/* ==================== 图标（SVG mask，自动跟随文字颜色） ==================== */
.ic{display:block;width:calc(var(--rpx)*40);height:calc(var(--rpx)*40);flex:0 0 auto;
  background-color:currentColor;
  -webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;
  -webkit-mask-position:center;mask-position:center;
  -webkit-mask-size:contain;mask-size:contain;}
.ic-phone{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='6' y='2' width='12' height='20' rx='3'/%3E%3Ccircle cx='12' cy='18' r='1'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='6' y='2' width='12' height='20' rx='3'/%3E%3Ccircle cx='12' cy='18' r='1'/%3E%3C/svg%3E");}
.ic-shield{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3l7 3v6c0 4-3 7.5-7 9-4-1.5-7-5-7-9V6z'/%3E%3Cpath d='M9.4 12.2l1.9 1.9 3.4-3.7'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3l7 3v6c0 4-3 7.5-7 9-4-1.5-7-5-7-9V6z'/%3E%3Cpath d='M9.4 12.2l1.9 1.9 3.4-3.7'/%3E%3C/svg%3E");}
    .ic-service{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 14v-2a8 8 0 0 1 16 0v2'/%3E%3Crect x='2.6' y='13' width='4.2' height='6.6' rx='2.1'/%3E%3Crect x='17.2' y='13' width='4.2' height='6.6' rx='2.1'/%3E%3Cpath d='M19.3 19.6v.4a2.4 2.4 0 0 1-2.4 2.4h-2.6'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 14v-2a8 8 0 0 1 16 0v2'/%3E%3Crect x='2.6' y='13' width='4.2' height='6.6' rx='2.1'/%3E%3Crect x='17.2' y='13' width='4.2' height='6.6' rx='2.1'/%3E%3Cpath d='M19.3 19.6v.4a2.4 2.4 0 0 1-2.4 2.4h-2.6'/%3E%3C/svg%3E");}
.ic-mail{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='14' rx='2.5'/%3E%3Cpath d='M3.6 7.2l8.4 5.8 8.4-5.8'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='14' rx='2.5'/%3E%3Cpath d='M3.6 7.2l8.4 5.8 8.4-5.8'/%3E%3C/svg%3E");}
.ic-video{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='2.5' y='6' width='13' height='12' rx='2.5'/%3E%3Cpath d='M15.5 11l5-3v8l-5-3z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='2.5' y='6' width='13' height='12' rx='2.5'/%3E%3Cpath d='M15.5 11l5-3v8l-5-3z'/%3E%3C/svg%3E");}
.ic-download{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3.5v12'/%3E%3Cpath d='M7 10.5l5 5 5-5'/%3E%3Cpath d='M4 20h16'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3.5v12'/%3E%3Cpath d='M7 10.5l5 5 5-5'/%3E%3Cpath d='M4 20h16'/%3E%3C/svg%3E");}
.ic-help{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M9.2 9.4a2.8 2.8 0 1 1 3.6 2.7v1.3'/%3E%3Ccircle cx='12' cy='16.6' r='1.1'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M9.2 9.4a2.8 2.8 0 1 1 3.6 2.7v1.3'/%3E%3Ccircle cx='12' cy='16.6' r='1.1'/%3E%3C/svg%3E");}
.ic-info{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 10.6v6'/%3E%3Ccircle cx='12' cy='7.6' r='1.1'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 10.6v6'/%3E%3Ccircle cx='12' cy='7.6' r='1.1'/%3E%3C/svg%3E");}
.ic-share{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='17.5' cy='6' r='2.6'/%3E%3Ccircle cx='6' cy='12' r='2.6'/%3E%3Ccircle cx='17.5' cy='18' r='2.6'/%3E%3Cpath d='M8.3 10.7l6.9-3.4M8.3 13.3l6.9 3.4'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='17.5' cy='6' r='2.6'/%3E%3Ccircle cx='6' cy='12' r='2.6'/%3E%3Ccircle cx='17.5' cy='18' r='2.6'/%3E%3Cpath d='M8.3 10.7l6.9-3.4M8.3 13.3l6.9 3.4'/%3E%3C/svg%3E");}
.ic-settings{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='3.2'/%3E%3Cpath d='M12 3.6v3M12 17.4v3M4.7 7.9l2.6 1.5M16.7 14.6l2.6 1.5M4.7 16.1l2.6-1.5M16.7 9.4l2.6-1.5'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='3.2'/%3E%3Cpath d='M12 3.6v3M12 17.4v3M4.7 7.9l2.6 1.5M16.7 14.6l2.6 1.5M4.7 16.1l2.6-1.5M16.7 9.4l2.6-1.5'/%3E%3C/svg%3E");}
.ic-power{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3.5v9'/%3E%3Cpath d='M6.3 6.7a8 8 0 1 0 11.4 0'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3.5v9'/%3E%3Cpath d='M6.3 6.7a8 8 0 1 0 11.4 0'/%3E%3C/svg%3E");}
.ic-pen{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 20l.7-3.6L15.6 5.5l3.2 3.2L7.9 19.6z'/%3E%3Cpath d='M14 7l3 3'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 20l.7-3.6L15.6 5.5l3.2 3.2L7.9 19.6z'/%3E%3Cpath d='M14 7l3 3'/%3E%3C/svg%3E");}
.ic-bell{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6.5 16.5V11a5.5 5.5 0 0 1 11 0v5.5l1.8 2H4.7z'/%3E%3Cpath d='M10 20.3a2 2 0 0 0 4 0'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6.5 16.5V11a5.5 5.5 0 0 1 11 0v5.5l1.8 2H4.7z'/%3E%3Cpath d='M10 20.3a2 2 0 0 0 4 0'/%3E%3C/svg%3E");}
.ic-arrow{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9.5 5.5L16 12l-6.5 6.5'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9.5 5.5L16 12l-6.5 6.5'/%3E%3C/svg%3E");}
.ic-camera{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='7' width='18' height='13' rx='3'/%3E%3Ccircle cx='12' cy='13.5' r='3.6'/%3E%3Cpath d='M8.4 7l1.4-2.4h4.4L15.6 7'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='7' width='18' height='13' rx='3'/%3E%3Ccircle cx='12' cy='13.5' r='3.6'/%3E%3Cpath d='M8.4 7l1.4-2.4h4.4L15.6 7'/%3E%3C/svg%3E");}
.ic-dice{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3.5' y='3.5' width='17' height='17' rx='4'/%3E%3Ccircle cx='8.6' cy='8.6' r='1.2'/%3E%3Ccircle cx='15.4' cy='15.4' r='1.2'/%3E%3Ccircle cx='12' cy='12' r='1.2'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3.5' y='3.5' width='17' height='17' rx='4'/%3E%3Ccircle cx='8.6' cy='8.6' r='1.2'/%3E%3Ccircle cx='15.4' cy='15.4' r='1.2'/%3E%3Ccircle cx='12' cy='12' r='1.2'/%3E%3C/svg%3E");}
.ic-close{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6.5 6.5l11 11M17.5 6.5l-11 11'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6.5 6.5l11 11M17.5 6.5l-11 11'/%3E%3C/svg%3E");}

/* ==================== 液态玻璃 ==================== */
.glass{position:relative;overflow:hidden;
  background:linear-gradient(140deg,rgba(255,255,255,.86),rgba(255,255,255,.42));
  -webkit-backdrop-filter:blur(16px) saturate(180%);backdrop-filter:blur(16px) saturate(180%);
  border:1px solid rgba(255,255,255,.75);
  box-shadow:0 calc(var(--rpx)*6) calc(var(--rpx)*18) rgba(31,41,55,.10),
             inset 0 1px 0 rgba(255,255,255,.95);}
.glass::before{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;
  background:linear-gradient(180deg,rgba(255,255,255,.7),rgba(255,255,255,0) 55%);}

/* 图标胶囊（玻璃底 + 品牌色图标） */
.icon-chip{display:flex;align-items:center;justify-content:center;
  width:calc(var(--rpx)*72);height:calc(var(--rpx)*72);border-radius:calc(var(--rpx)*24);
  color:#ff7935;flex:0 0 auto;transition:transform .16s cubic-bezier(.2,.9,.3,1);}
.icon-chip:active{transform:scale(.92);}
.icon-chip .ic{width:calc(var(--rpx)*38);height:calc(var(--rpx)*38);}
.icon-chip-sm{width:calc(var(--rpx)*54);height:calc(var(--rpx)*54);border-radius:calc(var(--rpx)*18);}
.icon-chip-sm .ic{width:calc(var(--rpx)*30);height:calc(var(--rpx)*30);}

/* 液态按钮：保留主色，加高光与流动感 */
.btn-liquid{position:relative;overflow:hidden;
  transition:transform .15s cubic-bezier(.2,.9,.3,1),box-shadow .25s ease,filter .2s ease;}
.btn-liquid::after{content:"";position:absolute;left:0;right:0;top:0;height:55%;border-radius:inherit;
  background:linear-gradient(180deg,rgba(255,255,255,.5),rgba(255,255,255,0));
  pointer-events:none;transition:transform .4s cubic-bezier(.2,.8,.3,1),opacity .3s ease;}
.btn-liquid:active{transform:scale(.965);box-shadow:0 calc(var(--rpx)*3) calc(var(--rpx)*10) rgba(0,0,0,.12);}
.btn-liquid:active::after{transform:translateY(-38%);opacity:.45;}

/* 玻璃按钮 */
.btn-glass{color:#ff7935;font-weight:700;border-radius:calc(var(--rpx)*34);
  transition:transform .15s cubic-bezier(.2,.9,.3,1),box-shadow .25s ease;}
.btn-glass:active{transform:scale(.94);}
.btn-glass[disabled]{opacity:.5;}

/* ==================== 顶部品牌栏 ==================== */
.brand-bar{position:sticky;top:0;z-index:46;display:flex;align-items:center;gap:calc(var(--rpx)*18);
  padding:calc(env(safe-area-inset-top) + calc(var(--rpx)*18)) calc(var(--rpx)*28) calc(var(--rpx)*18);
  border-radius:0 0 calc(var(--rpx)*26) calc(var(--rpx)*26);
  border-left:0;border-right:0;border-top:0;}
.brand-bar-logo{width:calc(var(--rpx)*66);height:calc(var(--rpx)*66);border-radius:calc(var(--rpx)*18);flex:0 0 auto;
  box-shadow:0 calc(var(--rpx)*4) calc(var(--rpx)*12) rgba(255,121,53,.28);}
.brand-bar-name{font-size:calc(var(--rpx)*34);font-weight:800;color:#1c1c1e;letter-spacing:calc(var(--rpx)*1);}
.brand-bar-sub{font-size:calc(var(--rpx)*22);color:#8b9099;margin-top:calc(var(--rpx)*6);}

/* ==================== 已有的元素改用新图标样式 ==================== */
.login-ico{display:none;}
.login-field .icon-chip{width:calc(var(--rpx)*58);height:calc(var(--rpx)*58);border-radius:calc(var(--rpx)*19);color:#ff7935;}
.login-field .icon-chip .ic{width:calc(var(--rpx)*31);height:calc(var(--rpx)*31);}
.center-list-item .icon-chip{width:calc(var(--rpx)*64);height:calc(var(--rpx)*64);border-radius:calc(var(--rpx)*20);}
.center-list-item .icon-chip .ic{width:calc(var(--rpx)*34);height:calc(var(--rpx)*34);}
.gonggao .icon-chip{color:#d16d01;width:calc(var(--rpx)*50);height:calc(var(--rpx)*50);border-radius:calc(var(--rpx)*16);}
.gonggao .icon-chip .ic{width:calc(var(--rpx)*28);height:calc(var(--rpx)*28);}
.avatar-edit{background:linear-gradient(135deg,rgba(255,255,255,.9),rgba(255,255,255,.6))!important;
  color:#ff7935!important;border:1px solid rgba(255,255,255,.85)!important;
  box-shadow:0 calc(var(--rpx)*4) calc(var(--rpx)*12) rgba(31,41,55,.18)!important;}
.avatar-edit .ic{width:calc(var(--rpx)*26);height:calc(var(--rpx)*26);margin:0 auto;}
.chev{width:calc(var(--rpx)*28);height:calc(var(--rpx)*28);color:#c4c8cd;}
.sheet-item{display:flex;align-items:center;justify-content:center;gap:calc(var(--rpx)*16);}
.sheet-item .ic{width:calc(var(--rpx)*40);height:calc(var(--rpx)*40);color:#ff7935;}
.sheet-item span{color:#333;font-weight:600;}

.ic-check{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E");}
.image-grid .pick .ic{width:calc(var(--rpx)*22);height:calc(var(--rpx)*22);color:#fff;}

/* ==================== 弹窗通用 / 邀请 / 客服 / 内置广告 ==================== */
.dialog{max-width:calc(var(--rpx)*640);}
.dialog-foot{gap:calc(var(--rpx)*16);padding:calc(var(--rpx)*22) calc(var(--rpx)*24);}
.dialog-foot .Pop-btn{min-width:0;flex:1;height:calc(var(--rpx)*84);border-radius:calc(var(--rpx)*22);font-size:calc(var(--rpx)*28);}
.mask-close{position:absolute;top:calc(var(--rpx)*16);right:calc(var(--rpx)*16);z-index:6;
  width:calc(var(--rpx)*56);height:calc(var(--rpx)*56);border-radius:50%;
  background:rgba(0,0,0,.32);color:#fff;font-size:calc(var(--rpx)*32);line-height:1;
  display:flex;align-items:center;justify-content:center;
  -webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);
  transition:transform .15s ease,background .2s ease;}
.mask-close:active{transform:scale(.9);background:rgba(0,0,0,.5);}
.invite-body{padding:calc(var(--rpx)*30) calc(var(--rpx)*30) calc(var(--rpx)*16);background:#fff;text-align:center;}
.invite-qr-box{width:calc(var(--rpx)*380);height:calc(var(--rpx)*380);margin:0 auto;border-radius:calc(var(--rpx)*22);
  background:#f6f7f5;display:flex;align-items:center;justify-content:center;overflow:hidden;}
.invite-qr{width:100%;height:100%;object-fit:contain;}
.invite-tip{margin-top:calc(var(--rpx)*22);font-size:calc(var(--rpx)*25);color:#666;line-height:1.7;}
.invite-tip b{color:#ff7935;}
.invite-link{margin-top:calc(var(--rpx)*18);padding:calc(var(--rpx)*16) calc(var(--rpx)*20);background:#f6f7f5;
  border-radius:calc(var(--rpx)*12);font-size:calc(var(--rpx)*22);color:#8b9099;word-break:break-all;line-height:1.5;}
.invite-stat{margin-top:calc(var(--rpx)*18);font-size:calc(var(--rpx)*24);color:#999;}
.invite-stat b{color:#ff7935;font-size:calc(var(--rpx)*32);font-weight:800;}
.ad-dialog{overflow:hidden;}
.ad-head{display:flex;align-items:center;justify-content:space-between;background:#fff;padding:calc(var(--rpx)*18) calc(var(--rpx)*24);}
.ad-tag{font-size:calc(var(--rpx)*22);color:#b6bcc4;border:1px solid #e6e8ea;border-radius:calc(var(--rpx)*8);padding:calc(var(--rpx)*3) calc(var(--rpx)*10);}
.ad-count{font-size:calc(var(--rpx)*26);color:#ff7935;font-weight:800;}
.ad-body{height:calc(var(--rpx)*420);background:linear-gradient(135deg,#ff9b47,#ff7935);display:flex;flex-direction:column;
  align-items:center;justify-content:center;color:#fff;gap:calc(var(--rpx)*18);}
.ad-brand{font-size:calc(var(--rpx)*48);font-weight:800;letter-spacing:calc(var(--rpx)*3);}
.ad-line{font-size:calc(var(--rpx)*26);opacity:.94;}

.recommend-image{border-radius:calc(var(--rpx)*16);object-fit:cover;}
.task-card .task-icon-wrap{overflow:hidden;}

/* 图形验证码校验成功状态 */
.captcha-ok{display:flex;align-items:center;gap:calc(var(--rpx)*10);color:#1aad19;
  font-size:calc(var(--rpx)*28);font-weight:700;flex:1;
  animation:okIn .28s cubic-bezier(.2,.9,.3,1.2) backwards;}
@keyframes okIn{from{opacity:0;transform:translateX(calc(var(--rpx)*-16))}to{opacity:1;transform:none}}
.captcha-ok .ok-ic{width:calc(var(--rpx)*30);height:calc(var(--rpx)*30);color:#1aad19;}

/* ==================== 用户协议 / 隐私政策 ==================== */
.doc-link{color:#ff7935;text-decoration:none;}
.doc-body{background:#fff;max-height:calc(var(--rpx)*880);overflow-y:auto;-webkit-overflow-scrolling:touch;
  padding:calc(var(--rpx)*30) calc(var(--rpx)*32);font-size:calc(var(--rpx)*26);line-height:1.9;color:#5b6066;text-align:left;}
.doc-body h5{font-size:calc(var(--rpx)*29);font-weight:800;color:#222;margin:calc(var(--rpx)*24) 0 calc(var(--rpx)*10);}
.doc-body p{margin:0 0 calc(var(--rpx)*14);}
.doc-body b{color:#333;}
.doc-scroll-tip{text-align:center;color:#ff7935;font-size:calc(var(--rpx)*23);padding:calc(var(--rpx)*16) 0;background:#fff;border-top:1px solid #f2f3f0;}
.doc-scroll-tip[hidden]{display:none;}

/* ==================== 每日签到 ==================== */
.sign-card{display:flex;align-items:center;justify-content:space-between;gap:calc(var(--rpx)*20);
  margin:calc(var(--rpx)*30) calc(var(--rpx)*32) calc(var(--rpx)*10);padding:calc(var(--rpx)*28) calc(var(--rpx)*30);
  border-radius:calc(var(--rpx)*24);color:#fff;position:relative;overflow:hidden;
  background:linear-gradient(120deg,#ffb347 0%,#ff7935 55%,#ff5a3c 100%);
  box-shadow:0 calc(var(--rpx)*12) calc(var(--rpx)*26) rgba(255,121,53,.30);
  animation:cardIn .42s cubic-bezier(.2,.8,.3,1) backwards;}
.sign-card::after{content:"";position:absolute;right:calc(var(--rpx)*-30);top:calc(var(--rpx)*-40);
  width:calc(var(--rpx)*180);height:calc(var(--rpx)*180);border-radius:50%;
  background:rgba(255,255,255,.13);pointer-events:none;}
.sign-left{position:relative;z-index:1;min-width:0;}
.sign-title{font-size:calc(var(--rpx)*34);font-weight:800;letter-spacing:calc(var(--rpx)*1);}
.sign-sub{font-size:calc(var(--rpx)*23);opacity:.95;margin-top:calc(var(--rpx)*8);line-height:1.5;}
.sign-streak{font-size:calc(var(--rpx)*23);margin-top:calc(var(--rpx)*6);opacity:.9;}
.sign-btn{position:relative;z-index:1;flex:0 0 auto;min-width:calc(var(--rpx)*180);height:calc(var(--rpx)*80);
  padding:0 calc(var(--rpx)*28);border-radius:calc(var(--rpx)*40);background:#fff;color:#ff5a3c;
  font-size:calc(var(--rpx)*28);font-weight:800;
  box-shadow:0 calc(var(--rpx)*6) calc(var(--rpx)*16) rgba(180,60,20,.25);
  transition:transform .15s cubic-bezier(.2,.9,.3,1),box-shadow .2s ease;}
.sign-btn:active{transform:scale(.95);}
.sign-btn[disabled]{background:rgba(255,255,255,.35);color:#fff;box-shadow:none;}

/* 封面角标 */
.cover-tag{position:absolute;left:calc(var(--rpx)*12);top:calc(var(--rpx)*12);
  background:rgba(255,90,60,.92);color:#fff;font-size:calc(var(--rpx)*20);font-weight:700;
  padding:calc(var(--rpx)*4) calc(var(--rpx)*12);border-radius:calc(var(--rpx)*10);line-height:1.4;}

/* ==================== 意见反馈 ==================== */
.fb-textarea{width:100%;min-height:calc(var(--rpx)*220);box-sizing:border-box;padding:calc(var(--rpx)*22);
  border:1px solid #e8e8e8;border-radius:calc(var(--rpx)*16);font-size:calc(var(--rpx)*27);line-height:1.6;
  color:#333;background:#fafafa;resize:none;font-family:inherit;transition:border-color .2s,background .2s;}
.fb-textarea:focus{outline:none;border-color:#ffb27a;background:#fff;}

/* ==================== 按钮禁用态（置灰） ==================== */
.Pop-btn[disabled]{background:#cdd2d9;color:#fff;box-shadow:none;cursor:not-allowed;transform:none;}
.Pop-btn[disabled]::after{display:none;}
.sign-btn[disabled]{background:rgba(255,255,255,.35);color:#fff;box-shadow:none;}
.login-btn[disabled],.act-btn[disabled],.down-video[disabled]{opacity:.55;box-shadow:none;}

/* 协议弹窗：小屏也能完整显示，内容区内部滚动 */
@media (max-height: 700px){
  .doc-body{max-height:calc(var(--rpx)*760);}
}

/* ==================== 丝滑动画（v33） ==================== */
@keyframes viewIn{from{opacity:0;transform:translateY(14px) scale(.993)}to{opacity:1;transform:none}}
@keyframes modalIn{from{opacity:0;transform:translateY(20px) scale(.93)}to{opacity:1;transform:none}}
@keyframes toastIn{from{opacity:0;transform:translate(-50%,18px) scale(.9)}to{opacity:1;transform:translate(-50%,0) scale(1)}}
@keyframes popBounce{0%{transform:scale(1)}38%{transform:scale(1.16)}68%{transform:scale(.96)}100%{transform:scale(1)}}
@keyframes floatUp{0%{opacity:0;transform:translate(-50%,0) scale(.75)}18%{opacity:1;transform:translate(-50%,-8px) scale(1.1)}
  100%{opacity:0;transform:translate(-50%,-96px) scale(1.3)}}
@keyframes spinSmooth{to{transform:rotate(360deg)}}
@keyframes dotPulse{0%,100%{opacity:.25;transform:scale(.8)}50%{opacity:1;transform:scale(1)}}

/* 弹窗弹入 */
.mask .dialog{animation:modalIn .30s cubic-bezier(.2,.9,.3,1.12) backwards;}
/* Toast 弹入 */
.toast{animation:toastIn .26s cubic-bezier(.2,.9,.3,1.15);}
/* 按钮点击弹一下 */
.pop{animation:popBounce .52s cubic-bezier(.2,.9,.3,1.15);}
/* 成功飘字 */
.float-tip{position:fixed;transform:translate(-50%,0);pointer-events:none;z-index:320;
  color:#ff5a3c;font-weight:800;font-size:17px;white-space:nowrap;
  text-shadow:0 2px 10px rgba(255,255,255,.9),0 1px 2px rgba(255,255,255,.9);
  animation:floatUp 1.25s cubic-bezier(.2,.8,.3,1) forwards;}
/* 已按用户反馈移除两个“发光”动画：
   · 签到按钮呼吸光晕（glowPulse）
   · 解析按钮扫光（sheenSweep）
   按钮的玻璃高光保留 .btn-liquid::after 自带的静止高光（不过界、不闪动） */
.start-analysis-btn{position:relative;overflow:hidden;}
/* 加载转圈更顺滑 */
.spinner{animation:spinSmooth .9s cubic-bezier(.55,.15,.45,.85) infinite;}
/* tab 内容淡入 */
.panel{animation:viewIn .30s cubic-bezier(.2,.8,.3,1) backwards;}
/* 列表项错峰淡入 */
.hist-item:nth-child(1){animation-delay:.02s}
.hist-item:nth-child(2){animation-delay:.06s}
.hist-item:nth-child(3){animation-delay:.10s}
.hist-item:nth-child(4){animation-delay:.14s}
.hist-item:nth-child(5){animation-delay:.18s}
.faq-item:nth-child(2){animation-delay:.05s}
.faq-item:nth-child(3){animation-delay:.10s}
.faq-item:nth-child(4){animation-delay:.15s}
/* 底部 tab 图标点击回弹 */
.tabbar-item:active img{transform:scale(.85);}
/* 头像淡入 */
.user-pic{animation:viewIn .35s ease backwards;}

/* ============================================================
   旧内核兼容兜底（微信 / QQ 老版 X5 不支持 inset / aspect-ratio）
   现代内核 @supports 判定为 false → 完全不进这些分支，视觉零变化
   ============================================================ */
@supports not (inset: 0) {
  .sub-page,.mask,.loading,.sheet-mask{top:0;right:0;bottom:0;left:0;}
  .glass::before{top:0;right:0;bottom:0;left:0;}
}
@supports not (aspect-ratio: 1 / 1) {
  .swiper{height:calc(var(--rpx)*220);}
  .image-grid figure{height:calc(var(--rpx)*294);}
}

/* ==================== 同步到小程序 ==================== */
.sync-tip{font-size:calc(var(--rpx)*24);color:#8b9099;line-height:1.75;text-align:center;}
.sync-code{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:calc(var(--rpx)*62);font-weight:800;
  letter-spacing:calc(var(--rpx)*8);color:#ff7935;text-align:center;padding:calc(var(--rpx)*28) 0 calc(var(--rpx)*12);
  -webkit-user-select:all;user-select:all;}

/* ===== 我的页：同步到小程序（醒目入口） ===== */
.sync-banner{display:flex;align-items:center;gap:calc(var(--rpx)*20);margin:calc(var(--rpx)*24) calc(var(--rpx)*24) 0;
  padding:calc(var(--rpx)*24) calc(var(--rpx)*28);background:linear-gradient(135deg,#fff5ee,#ffe9db);
  border:1px solid #ffe0cb;border-radius:calc(var(--rpx)*22);box-shadow:0 6px 18px rgba(255,121,53,.12);}
.sync-banner:active{transform:scale(.985);}
.sync-banner-ico{color:#ff7935;flex-shrink:0;}
.sync-banner-txt{flex:1;min-width:0;display:flex;flex-direction:column;gap:calc(var(--rpx)*6);}
.sync-banner-t{font-size:calc(var(--rpx)*30);font-weight:700;color:#3a2b22;}
.sync-banner-s{font-size:calc(var(--rpx)*23);color:#a9775c;line-height:1.45;}
.sync-banner.done{background:linear-gradient(135deg,#eefaf1,#e2f6e8);border-color:#cdeed8;box-shadow:0 6px 18px rgba(51,180,90,.10);}
.sync-banner.done .sync-banner-ico{color:#33b45a;}
.sync-banner.done .sync-banner-t{color:#1e5c34;}
.sync-banner.done .sync-banner-s{color:#5c8a6d;}
/* 解析记录：按钮（复制链接 / 重新解析 / 删除） */
.hist-actions button.danger{background:#fdecec;color:#d64545;}
.hist-actions button:active{opacity:.75;}
/* ================= 工单（意见反馈） ================= */
.tk-sec{display:flex;align-items:center;gap:calc(var(--rpx)*12);margin:calc(var(--rpx)*32) 0 calc(var(--rpx)*18);
  font-size:calc(var(--rpx)*30);font-weight:800;color:#2b2f36;}
.tk-sec::before{content:"";width:calc(var(--rpx)*8);height:calc(var(--rpx)*28);border-radius:calc(var(--rpx)*4);
  background:linear-gradient(180deg,var(--brand-2),var(--brand));flex:0 0 auto;}
.tk-item{background:#fff;border-radius:calc(var(--rpx)*18);padding:calc(var(--rpx)*26);margin-bottom:calc(var(--rpx)*20);
  box-shadow:0 calc(var(--rpx)*7) calc(var(--rpx)*17) rgba(56,60,90,.07);}
.tk-item:active{transform:scale(.99);opacity:.94;}
.tk-top{display:flex;align-items:center;justify-content:space-between;gap:calc(var(--rpx)*12);}
.tk-no{display:flex;align-items:center;font-size:calc(var(--rpx)*23);color:#9aa0a6;}
.tk-dot{width:calc(var(--rpx)*14);height:calc(var(--rpx)*14);border-radius:50%;background:#ff4d4f;
  margin-right:calc(var(--rpx)*10);flex:0 0 auto;}
.tk-title{margin:calc(var(--rpx)*14) 0 calc(var(--rpx)*10);font-size:calc(var(--rpx)*28);font-weight:700;color:#2b2f36;
  line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.tk-last{font-size:calc(var(--rpx)*24);color:#9aa0a6;line-height:1.5;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.tk-badge{flex:0 0 auto;padding:calc(var(--rpx)*5) calc(var(--rpx)*14);border-radius:calc(var(--rpx)*22);
  font-size:calc(var(--rpx)*21);font-weight:700;}
.tk-b0{background:#fff2e4;color:#c2410c}
.tk-b2{background:#e8f1ff;color:#1d6fd0}
.tk-b1{background:#e8f8ee;color:#14804a}
.tk-b3{background:#f1f2f4;color:#8b9099}

/* 工单详情（对话） */
.tk-status{margin-bottom:calc(var(--rpx)*20);padding:calc(var(--rpx)*18) calc(var(--rpx)*20);
  border-radius:calc(var(--rpx)*14);background:#fff;color:#8b9099;font-size:calc(var(--rpx)*22);
  text-align:center;line-height:1.7;}
.tk-status b{color:#2b2f36;font-weight:700;}
.tk-msgs{display:flex;flex-direction:column;}
.tk-row{display:flex;flex-direction:column;margin-bottom:calc(var(--rpx)*22);}
.tk-row.right{align-items:flex-end;}
.tk-row.left{align-items:flex-start;}
.tk-row.sys{align-items:center;}
.tk-bubble{max-width:78%;padding:calc(var(--rpx)*20) calc(var(--rpx)*24);border-radius:calc(var(--rpx)*18);
  font-size:calc(var(--rpx)*27);line-height:1.62;white-space:pre-wrap;word-break:break-word;}
.tk-row.left .tk-bubble{background:#fff;color:#3a3f47;border-top-left-radius:calc(var(--rpx)*6);
  box-shadow:0 calc(var(--rpx)*4) calc(var(--rpx)*12) rgba(56,60,90,.05);}
.tk-row.right .tk-bubble{background:linear-gradient(135deg,var(--brand-2),var(--brand));color:#fff;
  border-top-right-radius:calc(var(--rpx)*6);}
.tk-row.sys .tk-bubble{background:#eceef1;color:#8b9099;font-size:calc(var(--rpx)*22);text-align:center;
  max-width:92%;border-radius:calc(var(--rpx)*12);white-space:normal;}
.tk-time{margin-top:calc(var(--rpx)*8);font-size:calc(var(--rpx)*20);color:#b6bcc4;}

/* 对话页：整页 flex 满屏；消息区自己滚；发送框固定在底部不随聊天移动 */
.sub-page.tk-chat-page{display:flex;flex-direction:column;height:100%;overflow:hidden;}
.sub-page.tk-chat-page[hidden]{display:none;}
.sub-page.tk-chat-page .sub-body{position:relative;flex:1;min-height:0;display:flex;flex-direction:column;
  /* ★ 必须撑满：flex 里的 margin:auto 会让它收缩成内容宽 */
  width:100%;max-width:none;margin:0;box-sizing:border-box;
  padding:calc(var(--rpx)*20) calc(var(--rpx)*20) calc(var(--rpx)*6);}
.sub-page.tk-chat-page .tk-msgs{flex:1;min-height:0;overflow-y:auto;
  -webkit-overflow-scrolling:touch;padding-right:calc(var(--rpx)*4);}

/* 发送框（fixed 在底部，永远不动） */
.tk-composer{flex:0 0 auto;background:#fff;border-top:1px solid #eff1f4;
  padding:calc(var(--rpx)*16) calc(var(--rpx)*20) calc(var(--rpx)*16 + env(safe-area-inset-bottom));}
.tk-row-input{display:flex;align-items:flex-end;gap:calc(var(--rpx)*16);}
.tk-row-input .tk-input{flex:1;min-width:0;min-height:calc(var(--rpx)*78);max-height:calc(var(--rpx)*200);
  padding:calc(var(--rpx)*18) calc(var(--rpx)*20);border:1px solid #e8eae2;border-radius:calc(var(--rpx)*16);
  background:#f7f8f6;font-size:calc(var(--rpx)*26);line-height:1.5;box-sizing:border-box;}
.tk-row-input .tk-input:focus{outline:none;border-color:#ffb27a;background:#fff;}
.tk-row-input .tk-input[disabled]{background:#f2f3f1;color:#b6bcc4;}
.tk-row-input .tk-btn{margin-bottom:calc(var(--rpx)*2);}
/* 一键到底 */
.tk-tobottom{position:absolute;right:calc(var(--rpx)*26);bottom:calc(var(--rpx)*14);
  width:calc(var(--rpx)*72);height:calc(var(--rpx)*72);border-radius:50%;border:none;padding:0;
  background:rgba(255,255,255,.97);box-shadow:0 4px 16px rgba(0,0,0,.16);color:var(--brand);
  font-size:calc(var(--rpx)*34);font-weight:700;line-height:calc(var(--rpx)*72);z-index:6;}
.tk-tobottom:active{transform:scale(.94);}
.tk-input{width:100%;box-sizing:border-box;min-height:calc(var(--rpx)*110);padding:calc(var(--rpx)*20);
  border:1px solid #e8eae2;border-radius:calc(var(--rpx)*14);background:#fff;
  font-size:calc(var(--rpx)*26);line-height:1.6;-webkit-appearance:none;}
.tk-input:focus{outline:none;border-color:#ffb27a;}
.tk-input[disabled]{background:#f5f6f3;color:#b6bcc4;}
.tk-actions{display:flex;align-items:center;gap:calc(var(--rpx)*16);margin-top:calc(var(--rpx)*12);}
.tk-hint{flex:1;min-width:0;font-size:calc(var(--rpx)*21);color:#a7acb2;line-height:1.5;}
.tk-btn{flex:0 0 auto;height:calc(var(--rpx)*76);padding:0 calc(var(--rpx)*40);border:none;
  border-radius:calc(var(--rpx)*38);background:linear-gradient(90deg,var(--brand-2),var(--brand));
  color:#fff;font-size:calc(var(--rpx)*28);font-weight:700;}
.tk-btn:active{opacity:.9;}
.tk-btn[disabled]{background:#d6d9de;color:#fff;}
.tk-closed{text-align:center;padding:calc(var(--rpx)*26);border-radius:calc(var(--rpx)*14);
  background:#eceef1;color:#8b9099;font-size:calc(var(--rpx)*24);line-height:1.6;}

/* 我的菜单红点（钉在图标右上角，不再夹在文字和箭头之间） */
.center-list-item .icon-chip{position:relative;}
.dot-badge{position:absolute;top:calc(var(--rpx)*-2);right:calc(var(--rpx)*-2);
  width:calc(var(--rpx)*16);height:calc(var(--rpx)*16);border-radius:50%;background:#ff4d4f;
  border:calc(var(--rpx)*3) solid #fff;box-sizing:content-box;z-index:2;}

/* tabbar「我的」红点 */
.tabbar-item{position:relative;}
.tab-dot{position:absolute;top:4px;left:calc(50% + 4px);width:8px;height:8px;border-radius:50%;
  background:#ff4d4f;border:2px solid #fff;box-sizing:content-box;z-index:3;}

/* 首页「工单待回复」卡片 */
.home-tk{display:flex;align-items:center;gap:calc(var(--rpx)*20);
  margin:calc(var(--rpx)*24) calc(var(--rpx)*24) 0;
  padding:calc(var(--rpx)*22) calc(var(--rpx)*24);border-radius:calc(var(--rpx)*30);
  background:linear-gradient(135deg,#fff5ee,#ffe9db);border:1px solid #ffe0cb;
  box-shadow:0 6px 18px rgba(255,121,53,.12);}
.home-tk:active{transform:scale(.985);}
.home-tk-ico{position:relative;flex:0 0 auto;width:calc(var(--rpx)*64);height:calc(var(--rpx)*64);
  border-radius:calc(var(--rpx)*20);background:#fff;display:flex;align-items:center;justify-content:center;
  color:var(--brand);box-shadow:0 4px 12px rgba(255,121,53,.18);}
.home-tk-ico .ic{width:calc(var(--rpx)*36);height:calc(var(--rpx)*36);}
.home-tk-dot{position:absolute;top:calc(var(--rpx)*-2);right:calc(var(--rpx)*-2);
  width:calc(var(--rpx)*16);height:calc(var(--rpx)*16);border-radius:50%;background:#ff4d4f;
  border:calc(var(--rpx)*3) solid #fff;box-sizing:content-box;}
.home-tk-txt{flex:1;min-width:0;display:flex;flex-direction:column;gap:calc(var(--rpx)*6);}
.home-tk-t{font-size:calc(var(--rpx)*29);font-weight:700;color:#3a2b22;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.home-tk-s{font-size:calc(var(--rpx)*23);color:#a9775c;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}

/* ==================== 新手引导（聚光分步 Guide） ==================== */

.gd-root{position:fixed;inset:0;z-index:400;-webkit-tap-highlight-color:transparent;
  opacity:0;transition:opacity .26s ease;}
.gd-root.show{opacity:1;}

.gd-block{position:fixed;background:rgba(0,0,0,.66);
  transition:left .34s cubic-bezier(.22,.85,.3,1),top .34s cubic-bezier(.22,.85,.3,1),
    width .34s cubic-bezier(.22,.85,.3,1),height .34s cubic-bezier(.22,.85,.3,1);}

.gd-ring{position:fixed;border:2px solid #ffc000;border-radius:14px;pointer-events:none;
  animation:gdPulse 1.9s ease-in-out infinite;
  transition:left .34s cubic-bezier(.22,.85,.3,1),top .34s cubic-bezier(.22,.85,.3,1),
    width .34s cubic-bezier(.22,.85,.3,1),height .34s cubic-bezier(.22,.85,.3,1);}
.gd-ring.anim{animation:gdPulse 1.9s ease-in-out infinite, gdPop .36s cubic-bezier(.3,1.5,.5,1);}

.gd-arrow{position:fixed;width:12px;height:12px;background:#fff;transform:rotate(45deg);
  box-shadow:-2px -2px 6px rgba(0,0,0,.06);
  transition:left .34s cubic-bezier(.22,.85,.3,1),top .34s cubic-bezier(.22,.85,.3,1);}
.gd-arrow.anim{animation:gdArrowPop .34s cubic-bezier(.3,1.5,.5,1);}

.gd-bubble{position:fixed;background:#fff;border-radius:16px;padding:13px 14px 9px;
  box-shadow:0 10px 34px rgba(0,0,0,.24);box-sizing:border-box;
  opacity:0;transform:translateY(10px) scale(.94);
  transition:opacity .22s ease,transform .34s cubic-bezier(.22,.9,.3,1.08),
    left .34s cubic-bezier(.22,.85,.3,1),top .34s cubic-bezier(.22,.85,.3,1);}
.gd-bubble.on{opacity:1;transform:none;}

.gd-inner.anim .gd-title,.gd-inner.anim .gd-text{animation:gdStepIn .36s cubic-bezier(.22,.9,.3,1.04);}
.gd-inner.anim .gd-dots .gd-dot{animation:gdDotIn .34s cubic-bezier(.22,.9,.3,1.04) backwards;}
.gd-inner.anim .gd-dots .gd-dot:nth-child(2){animation-delay:.03s;}
.gd-inner.anim .gd-dots .gd-dot:nth-child(3){animation-delay:.06s;}
.gd-inner.anim .gd-dots .gd-dot:nth-child(4){animation-delay:.09s;}
.gd-inner.anim .gd-dots .gd-dot:nth-child(5){animation-delay:.12s;}

.gd-head{display:flex;align-items:center;gap:8px;margin-bottom:6px;}
.gd-title{flex:1;font-weight:800;font-size:15px;color:#ff7a00;letter-spacing:.2px;}
.gd-skip{font-size:12px;color:#9a9a9a;padding:3px 10px;border-radius:999px;background:#f4f4f4;
  cursor:pointer;transition:background .2s ease,transform .16s ease;}
.gd-skip:active{background:#e9e9e9;transform:scale(.94);}
.gd-text{font-size:13.5px;line-height:1.68;color:#3a3a3a;}

.gd-dots{display:flex;align-items:center;gap:6px;margin-top:10px;}
.gd-dot{width:6px;height:6px;border-radius:99px;background:#e8e8e8;display:block;
  transition:width .32s cubic-bezier(.22,.85,.3,1),background .32s ease;}
.gd-dot.on{width:16px;background:linear-gradient(135deg,#ffb700,#ff8a00);}

.gd-foot{display:flex;align-items:center;justify-content:space-between;margin-top:12px;}
.gd-step{font-size:12px;color:#bcbcbc;font-variant-numeric:tabular-nums;}
.gd-btns{display:flex;gap:8px;}
.gd-btn{font-size:13px;padding:7px 15px;border-radius:999px;cursor:pointer;
  transition:transform .16s ease,box-shadow .22s ease,background .2s ease;}
.gd-btn:active{transform:scale(.93);}
.gd-prev{background:#f2f2f2;color:#666;}
.gd-next{background:linear-gradient(135deg,#ffb700,#ff8a00);color:#fff;font-weight:700;
  animation:gdBtnGlow 1.9s ease-in-out infinite;}

@keyframes gdPulse{
  0%,100%{box-shadow:0 0 0 1px rgba(255,192,0,.45),0 0 20px 4px rgba(255,192,0,.5);}
  50%{box-shadow:0 0 0 1px rgba(255,192,0,.58),0 0 34px 10px rgba(255,192,0,.72);}}
@keyframes gdPop{0%{transform:scale(.86)}60%{transform:scale(1.03)}100%{transform:scale(1)}}
@keyframes gdArrowPop{0%{transform:rotate(45deg) scale(.6)}70%{transform:rotate(45deg) scale(1.12)}100%{transform:rotate(45deg) scale(1)}}
@keyframes gdStepIn{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:none}}
@keyframes gdDotIn{from{opacity:0;transform:scale(.4)}to{opacity:1;transform:none}}
@keyframes gdBtnGlow{0%,100%{box-shadow:0 5px 14px rgba(255,150,0,.30)}50%{box-shadow:0 5px 22px rgba(255,150,0,.55)}}

@media (max-width:400px){ .gd-bubble{max-width:74vw;} }

/* ---------------- 次数有效期提示 ---------------- */
.quota-tip{margin-top:calc(var(--rpx)*14);padding:calc(var(--rpx)*14) calc(var(--rpx)*20);
  border-radius:calc(var(--rpx)*16);background:#fff7e6;color:#c66a00;
  font-size:calc(var(--rpx)*24);line-height:1.55;border:1px solid #ffe2b0;}
.quota-tip[hidden]{display:none;}

/* ---------------- 打开小程序 / 购买记录 ---------------- */
.mini-open-card{margin-top:calc(var(--rpx)*18);display:flex;align-items:center;gap:calc(var(--rpx)*16);
  background:#fff;border-radius:calc(var(--rpx)*24);padding:calc(var(--rpx)*22) calc(var(--rpx)*24);
  box-shadow:0 2px 10px rgba(0,0,0,.04);cursor:pointer;transition:transform .16s ease;}
.mini-open-card:active{transform:scale(.985);}
.mini-open-txt{flex:1;display:flex;flex-direction:column;gap:4px;min-width:0;}
.mini-open-t{font-size:calc(var(--rpx)*26);font-weight:700;color:#222;}
.mini-open-s{font-size:calc(var(--rpx)*22);color:#9a9a9a;line-height:1.4;}
.sub-sec{margin-top:calc(var(--rpx)*20);}
.sub-sec[hidden]{display:none;}
.sec-title{font-size:calc(var(--rpx)*26);font-weight:700;color:#333;margin-bottom:calc(var(--rpx)*12);}
.order-item{display:flex;align-items:center;justify-content:space-between;background:#fff;
  border-radius:calc(var(--rpx)*18);padding:calc(var(--rpx)*18) calc(var(--rpx)*22);margin-bottom:calc(var(--rpx)*10);}
.order-l{display:flex;flex-direction:column;gap:4px;min-width:0;}
.order-name{font-size:calc(var(--rpx)*25);color:#222;}
.order-time{font-size:calc(var(--rpx)*21);color:#b0b0b0;}
.order-r{display:flex;align-items:center;gap:calc(var(--rpx)*10);flex-shrink:0;}
.order-price{font-size:calc(var(--rpx)*25);color:#ff7a00;font-weight:700;}
.order-st{font-size:calc(var(--rpx)*21);padding:2px calc(var(--rpx)*10);border-radius:99px;}
.order-st.ok{background:#e7f7e8;color:#2e9e46;}
.order-st.wait{background:#fff3e0;color:#d08800;}

/* 网页端引导去小程序 */
.mini-jump{margin-top:calc(var(--rpx)*14);padding:calc(var(--rpx)*16) calc(var(--rpx)*20);
  border-radius:calc(var(--rpx)*16);background:#eef6ff;color:#2b6cb0;
  font-size:calc(var(--rpx)*23);cursor:pointer;transition:background .2s ease;}
.mini-jump:active{background:#e2eefc;}

.order-pay{font-size:calc(var(--rpx)*21);color:#fff;background:linear-gradient(135deg,#ffb700,#ff8a00);
  padding:2px calc(var(--rpx)*14);border-radius:99px;font-weight:700;margin-right:calc(var(--rpx)*10);cursor:pointer;}
.order-pay:active{opacity:.85;}

.order-more{text-align:center;font-size:calc(var(--rpx)*23);color:#ff8a00;padding:calc(var(--rpx)*16) 0 calc(var(--rpx)*6);cursor:pointer;}
.od-head{font-size:calc(var(--rpx)*23);color:#8a8a8a;padding:0 0 calc(var(--rpx)*16);}
