/* 日常页滚动修复（本文件仅在日常页加载，作用域安全）：
   全局 body 带 -webkit-overflow-scrolling:touch 但高度为 auto，内容超过一屏时
   iOS 会吞掉触摸手势导致整页无法滚动。这里把本页 body 设为定高滚动容器即可正常滚。 */
html{height:100%;}
body{height:100vh !important;height:100dvh !important;overflow-y:auto !important;-webkit-overflow-scrolling:touch;}

.daily-page{min-height:100vh;min-height:100dvh;background:#F5F6F8;padding-bottom:90px;max-width:500px;margin:0 auto;}

/* ===== Hero 头图（首页同款粉紫渐变 #FF8FB1 → #B47CFF）===== */
.daily-hero{position:relative;overflow:hidden;background:linear-gradient(135deg,#FF8FB1 0%,#B47CFF 60%,#9B6BFF 100%);padding:26px 22px 58px;border-radius:0 0 28px 28px;}
.daily-hero::before,.daily-hero::after{content:'';position:absolute;border-radius:50%;background:rgba(255,255,255,.14);}
.daily-hero::before{width:168px;height:168px;right:-50px;top:-58px;}
.daily-hero::after{width:96px;height:96px;right:64px;bottom:-34px;background:rgba(255,255,255,.09);}
.daily-hero-inner{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;}
.daily-hero-title{font-size:23px;font-weight:700;color:#fff;margin:0;letter-spacing:1px;text-shadow:0 2px 8px rgba(120,60,180,.28);}
.daily-hero-sub{font-size:12px;color:rgba(255,255,255,.95);margin:8px 0 0;}
.daily-ring{width:66px;height:66px;border-radius:50%;background:rgba(255,255,255,.2);border:2px solid rgba(255,255,255,.6);display:flex;flex-direction:column;align-items:center;justify-content:center;flex:none;}
.daily-ring .dr-num{font-size:20px;font-weight:700;color:#fff;line-height:1;}
.daily-ring .dr-num i{font-style:normal;font-size:12px;opacity:.85;}
.daily-ring .dr-label{font-size:10px;color:rgba(255,255,255,.92);margin-top:3px;}

/* ===== 今日已得 悬浮统计卡 ===== */
.daily-stats{position:relative;z-index:2;margin:-36px 16px 0;background:#fff;border-radius:16px;box-shadow:0 10px 26px rgba(155,107,255,.18);display:flex;align-items:center;padding:16px 10px;}
.daily-stats .ds-item{flex:1;text-align:center;}
.daily-stats .ds-num{font-size:23px;font-weight:700;color:#8B5CF6;line-height:1;}
.daily-stats .ds-label{font-size:11px;color:#9aa0a6;margin-top:6px;}
.daily-stats .ds-divider{width:1px;height:30px;background:#f0f0f0;}

/* ===== 任务列表 ===== */
.daily-tasks{padding:18px 16px 0;}
.daily-tasks-title{font-size:15px;font-weight:600;color:#222;margin:0 0 12px;display:flex;align-items:center;gap:6px;}
.daily-tasks-title::before{content:'';width:4px;height:15px;border-radius:2px;background:linear-gradient(#FF8FB1,#B47CFF);}

.dtask{position:relative;background:#fff;border-radius:16px;padding:15px 15px 14px;margin-bottom:13px;box-shadow:0 4px 16px rgba(30,36,50,.05);overflow:hidden;}
.dtask::before{content:'';position:absolute;left:0;top:0;bottom:0;width:4px;background:linear-gradient(#FF8FB1,#B47CFF);}
.dtask.done::before{background:linear-gradient(#9be0b4,#3DBB6B);}
.dtask-row{display:flex;gap:12px;align-items:flex-start;}
.dtask-icon{width:46px;height:46px;border-radius:13px;background:linear-gradient(135deg,#F3EAFF,#E7DBFF);display:flex;align-items:center;justify-content:center;flex:none;color:#8B5CF6;}
.dtask.done .dtask-icon{background:linear-gradient(135deg,#DBF4E5,#BCEBCE);color:#3DBB6B;}
.dtask-icon svg{width:24px;height:24px;}
.dtask-main{flex:1;min-width:0;}
.dtask-head{display:flex;align-items:center;justify-content:space-between;}
.dtask-title{font-size:15px;font-weight:600;color:#222;}
.dtask-progress{font-size:11px;color:#b0b4ba;background:#F4F5F7;padding:2px 8px;border-radius:10px;}
.dtask-progress.done{color:#3DBB6B;background:#E9F8EF;}
.dtask-desc{font-size:12px;color:#9aa0a6;margin:6px 0 0;line-height:1.5;}

.dtask-foot{display:flex;align-items:center;justify-content:space-between;margin-top:12px;}
.dtask-rewards{display:flex;gap:7px;flex-wrap:wrap;}
.dtask-reward{display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:500;color:#6D28D9;background:linear-gradient(135deg,#F5EEFF,#ECE2FF);padding:4px 10px;border-radius:20px;}
.dtask-reward::before{content:'';width:12px;height:12px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#FFE08A,#FFB02E);box-shadow:inset 0 0 0 1px rgba(255,176,46,.45);}
.dtask-btn{font-size:13px;color:#fff;font-weight:600;background:linear-gradient(135deg,#FF8FB1,#B47CFF);border:none;padding:8px 22px;border-radius:20px;box-shadow:0 4px 12px rgba(155,107,255,.34);white-space:nowrap;text-decoration:none;}
.dtask-btn:active{transform:scale(.97);}
.dtask-btn.done{color:#9aa0a6;background:#F0F1F3;box-shadow:none;}

.daily-empty{text-align:center;color:#919499;font-size:13px;padding:40px 0;}
.daily-login-tip{text-align:center;font-size:12px;color:#bbb;margin-top:14px;}

/* ===== 邀请里程碑（活动阶梯）===== */
.ms-wrap{margin:20px 14px 6px;border-radius:20px;background:linear-gradient(180deg,#3a1d6e 0%,#5a2da0 18%,#fbeffe 18%,#fff 100%);padding:0 0 14px;box-shadow:0 14px 34px rgba(120,60,180,.22);overflow:hidden;}

/* Hero 头部：深紫渐变 + 流光 + 星点 */
.ms-hero{position:relative;background:linear-gradient(135deg,#6D28D9 0%,#9333EA 45%,#C026D3 100%);padding:20px 20px 30px;overflow:hidden;}
.ms-hero::before{content:'';position:absolute;inset:0;background:linear-gradient(115deg,transparent 30%,rgba(255,255,255,.28) 48%,transparent 64%);transform:translateX(-60%);animation:msShine 3.8s ease-in-out infinite;}
@keyframes msShine{0%{transform:translateX(-70%)}55%,100%{transform:translateX(160%)}}
.ms-hero::after{content:'';position:absolute;width:150px;height:150px;border-radius:50%;right:-44px;top:-56px;background:radial-gradient(circle,rgba(255,210,120,.45),transparent 70%);}
.ms-spark{position:absolute;width:6px;height:6px;border-radius:50%;background:#FFE08A;box-shadow:0 0 8px 2px rgba(255,224,138,.8);opacity:.9;animation:msTwinkle 2.4s ease-in-out infinite;}
.ms-spark.s1{left:18%;top:22%;}
.ms-spark.s2{left:74%;top:54%;width:4px;height:4px;animation-delay:.7s;}
.ms-spark.s3{left:46%;top:14%;width:5px;height:5px;animation-delay:1.3s;}
@keyframes msTwinkle{0%,100%{opacity:.25;transform:scale(.7)}50%{opacity:1;transform:scale(1.2)}}
.ms-hero-badge{position:relative;display:inline-block;font-size:11px;font-weight:700;color:#7A3B00;background:linear-gradient(135deg,#FFE7A6,#FFC65A);padding:3px 11px;border-radius:20px;letter-spacing:.5px;box-shadow:0 3px 8px rgba(255,170,40,.4);}
.ms-hero-title{position:relative;font-size:24px;font-weight:800;color:#fff;margin:10px 0 0;letter-spacing:1px;text-shadow:0 2px 10px rgba(70,20,120,.45);}
.ms-hero-sub{position:relative;font-size:12px;color:rgba(255,255,255,.92);margin:6px 0 0;}
.ms-hero-count{position:relative;margin-top:12px;display:flex;align-items:baseline;gap:6px;}
.ms-hero-num{font-size:30px;font-weight:800;color:#FFE08A;line-height:1;text-shadow:0 2px 10px rgba(0,0,0,.18);}
.ms-hero-unit{font-size:12px;color:rgba(255,255,255,.9);}

/* 阶梯 */
.ms-ladder{margin:-16px 14px 0;position:relative;}
.ms-step{position:relative;display:flex;align-items:stretch;gap:12px;padding-bottom:12px;}
.ms-step:last-child{padding-bottom:0;}

/* 左侧时间线：竖线 + 节点圆 */
.ms-spine{position:relative;width:38px;flex:none;display:flex;justify-content:center;}
.ms-spine::before{content:'';position:absolute;top:0;bottom:0;width:4px;border-radius:4px;background:#E7E1F0;}
.ms-step:first-child .ms-spine::before{top:19px;}
.ms-step:last-child .ms-spine::before{bottom:auto;height:19px;}
.ms-step.ms-claimed .ms-spine::before,.ms-step.ms-claimable .ms-spine::before{background:linear-gradient(180deg,#FFC65A,#FF8FB1);}
.ms-dot{position:relative;z-index:1;width:38px;height:38px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:800;color:#fff;background:#C9C0DA;box-shadow:0 3px 8px rgba(120,60,180,.18);border:3px solid #fff;}
.ms-dot svg{width:18px;height:18px;}
.ms-claimed .ms-dot{background:linear-gradient(135deg,#FFB02E,#FF8FB1);}
.ms-claimable .ms-dot{background:linear-gradient(135deg,#FF8FB1,#B47CFF);animation:msDotPulse 1.5s ease-in-out infinite;}
@keyframes msDotPulse{0%,100%{box-shadow:0 0 0 0 rgba(180,124,255,.5)}50%{box-shadow:0 0 0 7px rgba(180,124,255,0)}}

/* 奖励卡 */
.ms-card{flex:1;min-width:0;display:flex;align-items:center;justify-content:space-between;gap:10px;background:#fff;border-radius:14px;padding:12px 14px;box-shadow:0 4px 14px rgba(30,36,50,.06);}
.ms-claimable .ms-card{background:linear-gradient(135deg,#FFF7EC,#FFFDF8);box-shadow:0 6px 18px rgba(255,170,40,.22);border:1px solid #FFE2AE;}
.ms-locked .ms-card{opacity:.96;}
.ms-claimed .ms-card{background:#F7F5FB;box-shadow:none;}
.ms-card-main{min-width:0;}
.ms-card-title{font-size:14px;font-weight:600;color:#2b2440;}
.ms-card-title b{font-size:16px;color:#8B5CF6;}
.ms-reward{display:inline-flex;align-items:center;gap:4px;margin-top:5px;font-size:13px;font-weight:700;color:#B26A00;background:linear-gradient(135deg,#FFF1D2,#FFE3AE);padding:3px 10px;border-radius:20px;}
.ms-reward b{font-size:14px;}
.ms-crown{font-size:13px;}
.ms-claimed .ms-reward{color:#9b8fb5;background:#ECE7F4;}
.ms-prog{height:6px;border-radius:6px;background:#EFEAF6;margin-top:9px;overflow:hidden;max-width:170px;}
.ms-prog i{display:block;height:100%;border-radius:6px;background:linear-gradient(90deg,#FF8FB1,#B47CFF);transition:width .4s;}
.ms-prog-text{font-size:11px;color:#a99fc0;margin-top:5px;}

/* 右侧动作 */
.ms-card-act{flex:none;}
.ms-claim{font-size:14px;font-weight:700;color:#7A3B00;background:linear-gradient(135deg,#FFD874,#FFB02E);border:none;padding:9px 20px;border-radius:22px;box-shadow:0 5px 14px rgba(255,160,30,.5);white-space:nowrap;animation:msBtnPulse 1.5s ease-in-out infinite;}
.ms-claim:active{transform:scale(.96);}
@keyframes msBtnPulse{0%,100%{transform:scale(1)}50%{transform:scale(1.05)}}
.ms-go{font-size:13px;font-weight:600;color:#9b6bff;background:#F2ECFF;border:none;padding:8px 16px;border-radius:22px;white-space:nowrap;text-decoration:none;}
.ms-done{font-size:12px;font-weight:600;color:#b0a7c4;display:inline-flex;align-items:center;gap:3px;}
.ms-done::before{content:'✓';font-size:12px;}
