:root{
  --ink:#16211D; --teal:#1D6F5C; --teal-deep:#0F4B3D; --gold:#D9A441;
  --paper:#FBFAF6; --sage:#E7EFEC; --line:#DCE4E0; --muted:#5B6862;
}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent;}
[hidden]{display:none !important;}
button{font-family:inherit;cursor:pointer;}
body{margin:0;font-family:Inter,'Noto Sans Devanagari',system-ui,sans-serif;background:linear-gradient(180deg,#0F4B3D,#123A31);min-height:100vh;padding:32px 16px calc(32px + env(safe-area-inset-bottom,0px));display:flex;flex-direction:column;align-items:center;gap:18px;color:var(--ink);}
.wrap{width:100%;max-width:380px;}
.phone{background:var(--paper);border-radius:34px;overflow:hidden;box-shadow:0 30px 60px rgba(0,0,0,.35);position:relative;height:780px;margin-top:8px;}
/* 手机上直接全屏，不显示外框 */
@media (max-width:480px){
  body{padding:0;background:var(--paper);}
  .wrap{max-width:none;}
  .phone{border-radius:0;box-shadow:none;height:100vh;height:100dvh;margin:0;}
  .status{height:max(14px,env(safe-area-inset-top,0px)) !important;}
}
.screen{display:none;flex-direction:column;height:100%;}
.screen.active{display:flex;}
.status{height:34px;}
.content{flex:1;overflow-y:auto;padding:0 20px 90px;}
.navbar{position:absolute;bottom:0;left:0;right:0;height:calc(74px + env(safe-area-inset-bottom,0px));padding-bottom:env(safe-area-inset-bottom,0px);background:#fff;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-around;}
.navitem{font-size:11px;color:var(--muted);font-weight:600;cursor:pointer;padding:4px 8px;}
.navitem.on{color:var(--teal-deep);}

h1.brand{font-family:'Fraunces','Noto Serif Devanagari',serif;font-weight:600;font-size:19px;color:var(--teal-deep);margin:14px 0 2px;}
.sub{color:var(--muted);font-size:12.5px;margin:0 0 18px;}
.section-title{font:700 13.5px Inter,'Noto Sans Devanagari',sans-serif;color:var(--ink);margin:22px 0 10px;}
.pill{background:var(--gold);color:#3A2A00;font-weight:700;font-size:11.5px;padding:6px 12px;border-radius:999px;white-space:nowrap;border:none;}
.pill.ghost{background:transparent;color:var(--teal-deep);border:1px solid var(--teal-deep);}
.pill:disabled{background:var(--sage);color:var(--muted);cursor:default;}

/* HOME */
.topbar{display:flex;align-items:center;justify-content:space-between;margin:14px 0 16px;}
.topbar .hello{font-family:'Fraunces','Noto Serif Devanagari',serif;font-size:16.5px;color:var(--ink);font-weight:600;}
.topbar .date{font-size:11px;color:var(--muted);margin-top:1px;}
.topbar-icons{display:flex;gap:8px;}
.icon-btn{width:34px;height:34px;border-radius:50%;background:var(--sage);display:flex;align-items:center;justify-content:center;font-size:14px;cursor:pointer;color:var(--ink);}
.icon-btn.av-mini{background:var(--gold);color:#3A2A00;font:700 13px 'Fraunces','Noto Serif Devanagari',serif;}

.earn-hero{background:var(--teal-deep);border-radius:22px;padding:22px;color:#fff;position:relative;overflow:hidden;}
.earn-hero::after,.wallet-hero::after,.auth-hero::after{content:"";position:absolute;right:-50px;top:-60px;width:160px;height:160px;border-radius:50%;background:radial-gradient(circle,var(--gold) 0%,transparent 70%);opacity:.3;pointer-events:none;}
.eh-label{font-size:11.5px;color:#CFE3DB;position:relative;}
.eh-amount{font-family:'Fraunces','Noto Serif Devanagari',serif;font-size:40px;font-weight:600;line-height:1.1;margin:4px 0 10px;position:relative;}
.earn-bar{height:7px;border-radius:6px;background:rgba(255,255,255,.18);overflow:hidden;position:relative;margin-bottom:20px;}
.earn-bar i{display:block;height:100%;background:var(--gold);transition:width .5s;}
.session-wrap{display:flex;flex-direction:column;align-items:center;position:relative;}
.session-btn{width:104px;height:104px;border-radius:50%;background:var(--gold);border:none;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;cursor:pointer;box-shadow:0 0 0 6px rgba(217,164,65,.18);transition:box-shadow .2s;}
.session-btn .sb-icon{font-size:18px;color:#3A2A00;}
.session-btn .sb-text{font-size:11px;font-weight:700;color:#3A2A00;}
.session-btn.live{background:#fff;box-shadow:0 0 0 8px rgba(255,255,255,.16);animation:pulse 1.6s infinite;}
.session-btn.live .sb-icon,.session-btn.live .sb-text{color:var(--teal-deep);}
.session-btn:disabled{opacity:.7;cursor:wait;}
@keyframes pulse{0%,100%{box-shadow:0 0 0 8px rgba(255,255,255,.16);}50%{box-shadow:0 0 0 14px rgba(255,255,255,.06);}}
.session-meta{font-size:11.5px;color:#CFE3DB;margin-top:12px;text-align:center;min-height:16px;}
.session-meta b{color:#fff;}
.session-meta .warn-line{display:inline-block;margin-top:6px;color:#F3CF86;font-size:11px;line-height:1.5;}
.session-meta .resume-link{display:inline-block;margin-top:6px;padding:5px 12px;border-radius:999px;background:var(--gold);color:#3A2A00;font-weight:700;font-size:11.5px;cursor:pointer;text-decoration:none;}
.session-meta .hint-line{display:inline-block;margin-top:6px;color:#A9C9BE;font-size:11px;line-height:1.5;}

/* 首页主卡：每日目标进度环 */
.move-hero{background:radial-gradient(120% 90% at 85% 25%,#1E6450 0%,var(--teal-deep) 55%,#0C3C31 100%);border-radius:24px;padding:18px 18px 18px;color:#fff;position:relative;overflow:hidden;box-shadow:0 14px 30px rgba(15,75,61,.22);}
.mh-top{display:flex;justify-content:space-between;align-items:center;gap:8px;}
.mh-eyebrow{font-size:11px;font-weight:700;letter-spacing:.06em;color:#A9D3C4;}
.mh-chip{display:inline-flex;align-items:center;gap:5px;font-size:10.5px;font-weight:700;color:var(--gold);border:1px solid rgba(217,164,65,.45);border-radius:999px;padding:4px 10px;white-space:nowrap;}
.mh-body{display:flex;align-items:center;gap:10px;margin:12px 0 14px;}
.mh-copy{flex:1;min-width:0;}
.mh-title{font-family:'Fraunces','Noto Serif Devanagari',serif;font-weight:600;font-size:27px;line-height:1.12;margin:0 0 8px;letter-spacing:-.01em;}
.mh-sub{font-size:12px;color:#CFE3DB;line-height:1.5;margin:0;}
.mh-sub b{color:var(--gold);}
.ring{position:relative;width:124px;height:124px;flex-shrink:0;}
.ring::before{content:"";position:absolute;inset:6px;border-radius:50%;box-shadow:0 0 28px rgba(217,164,65,.18);}
.ring svg{width:100%;height:100%;transform:rotate(-90deg);}
.ring-track{fill:none;stroke:rgba(255,255,255,.12);stroke-width:9;}
.ring-bar{fill:none;stroke:var(--gold);stroke-width:9;stroke-linecap:round;stroke-dasharray:326.73;stroke-dashoffset:326.73;transition:stroke-dashoffset .6s ease;}
.ring-bar.done{stroke:#8FD6A5;}
.ring-mark{fill:#fff;opacity:.85;}
.ring-center{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;}
.ring-center b{font-family:'Fraunces','Noto Serif Devanagari',serif;font-size:26px;font-weight:600;line-height:1;font-variant-numeric:lining-nums tabular-nums;}
.ring-center span{font-size:10px;color:#A9D3C4;margin-top:4px;}
.mh-stats{display:flex;background:rgba(255,255,255,.07);border-radius:14px;padding:10px 4px;margin-bottom:14px;}
.mh-stats div{flex:1;text-align:center;border-right:1px solid rgba(255,255,255,.1);}
.mh-stats div:last-child{border-right:none;}
.mh-stats b{display:block;font-family:'Fraunces','Noto Serif Devanagari',serif;font-size:17px;font-weight:600;font-variant-numeric:lining-nums;}
.mh-stats span{font-size:10px;color:#A9D3C4;}
.mh-earn{display:flex;justify-content:space-between;align-items:baseline;font-size:11.5px;color:#CFE3DB;margin-bottom:6px;}
.mh-earn b{font-family:'Fraunces','Noto Serif Devanagari',serif;font-size:16px;color:#fff;font-variant-numeric:lining-nums;}
.move-hero .earn-bar{margin-bottom:16px;}
.mh-cta{display:flex;align-items:center;gap:12px;}
.move-btn{flex-shrink:0;display:inline-flex;align-items:center;gap:8px;background:var(--gold);color:#3A2A00;border:none;border-radius:14px;padding:13px 20px;font-size:14px;font-weight:700;box-shadow:0 6px 16px rgba(217,164,65,.3);transition:transform .1s;}
.move-btn:active{transform:scale(.97);}
.move-btn .sb-icon{font-size:12px;}
.move-btn.live{background:#fff;color:var(--teal-deep);box-shadow:0 0 0 0 rgba(255,255,255,.5);animation:ring-pulse 1.8s infinite;}
.move-btn:disabled{opacity:.7;cursor:wait;}
@keyframes ring-pulse{0%{box-shadow:0 0 0 0 rgba(255,255,255,.45);}70%{box-shadow:0 0 0 10px rgba(255,255,255,0);}100%{box-shadow:0 0 0 0 rgba(255,255,255,0);}}
.mh-cta .session-meta{flex:1;margin:0;text-align:right;font-size:11px;line-height:1.5;}
/* 钱包：金币兑换卡 */
.coin-card{background:#fff;border:1px solid var(--line);border-radius:20px;padding:16px;margin-top:14px;}
.cc-head{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;}
.cc-label{display:block;font-size:11.5px;color:var(--muted);}
.cc-coins{display:block;font-family:'Fraunces','Noto Serif Devanagari',serif;font-size:30px;font-weight:600;color:var(--teal-deep);line-height:1.15;font-variant-numeric:lining-nums;}
.cc-rate{font-size:10.5px;font-weight:700;color:#7A5600;background:#FCF1DA;border-radius:999px;padding:4px 10px;white-space:nowrap;}
.cc-title{font-size:12px;font-weight:700;margin:14px 0 8px;}
.cc-packs{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;}
.cc-packs .pack{border:1.5px solid var(--gold);background:#FFF9EC;border-radius:14px;padding:10px 4px 9px;display:flex;flex-direction:column;align-items:center;gap:1px;color:var(--ink);}
.cc-packs .pack b{font-family:'Fraunces','Noto Serif Devanagari',serif;font-size:17px;font-variant-numeric:lining-nums;}
.cc-packs .pack small{font-size:10px;color:var(--muted);}
.cc-packs .pack span{font-size:13px;font-weight:700;color:var(--teal-deep);margin-top:3px;}
.cc-packs .pack em{font-style:normal;font-size:9.5px;color:var(--muted);margin-top:2px;}
.cc-packs .pack.short{border-color:var(--line);background:var(--paper);opacity:.75;}
.cc-note{font-size:10.5px;color:var(--muted);margin:8px 0 0;text-align:center;}
/* 周柱状图 */
.week-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:14px 14px 10px;margin-top:14px;}
.wc-head{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:10px;}
.wc-head b{font-size:13.5px;}
.wc-head span{font-size:11px;color:var(--muted);}
.week-bars{position:relative;display:flex;align-items:flex-end;gap:8px;height:118px;padding:10px 0 18px;margin-top:4px;}
.week-bars .goal-line{position:absolute;left:0;right:0;border-top:1.5px dashed #C9D8D2;z-index:0;pointer-events:none;}
.week-bars .goal-line span{position:absolute;left:0;top:2px;font-size:9.5px;color:var(--muted);}
.week-bars .col{z-index:1;}
.week-bars .col{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;height:100%;position:relative;}
.week-bars .bar{width:100%;max-width:26px;border-radius:7px 7px 3px 3px;background:var(--sage);min-height:4px;transition:height .5s ease;}
.week-bars .bar.hit{background:var(--teal);}
.week-bars .col.today .bar{background:var(--gold);}
.week-bars .col .d{position:absolute;bottom:-18px;font-size:10px;color:var(--muted);}
.week-bars .col.today .d{color:var(--ink);font-weight:700;}
.week-bars .col .v{font-size:9.5px;color:var(--ink);font-weight:700;margin-bottom:3px;}
.chips-row{display:flex;gap:10px;margin-top:14px;}
.chip{flex:1;background:#fff;border:1px solid var(--line);border-radius:14px;padding:10px 6px;text-align:center;}
.chip b{display:block;font-family:'Fraunces','Noto Serif Devanagari',serif;font-size:16px;color:var(--teal-deep);}
.chip span{font-size:10px;color:var(--muted);}

.kyc-banner{display:flex;align-items:center;gap:10px;background:#FCF1DA;border:1px solid #F0DDAE;border-radius:14px;padding:11px 12px;margin:16px 0 4px;cursor:pointer;}
.kyc-banner span{flex:1;font-size:11.5px;color:#7A5600;line-height:1.4;}
.kyc-banner b{font-size:11px;color:var(--teal-deep);white-space:nowrap;}

.quest{display:flex;align-items:center;gap:12px;background:#fff;border:1px solid var(--line);border-radius:16px;padding:12px 14px;margin-bottom:10px;}
.quest .ic{width:38px;height:38px;border-radius:10px;background:var(--sage);display:flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--ink);}
.quest .txt{flex:1;min-width:0;}
.quest .txt b{display:block;font-size:13px;color:var(--ink);}
.quest .txt span{font-size:11px;color:var(--muted);}

/* WALLET */
.wallet-hero{background:var(--teal-deep);border-radius:22px;padding:22px;color:#fff;margin-top:14px;position:relative;overflow:hidden;}
.wallet-hero .wh-label{font-size:11.5px;color:#CFE3DB;position:relative;}
.wallet-hero .wh-amount{font-family:'Fraunces','Noto Serif Devanagari',serif;font-size:38px;font-weight:600;margin:4px 0 12px;position:relative;}
.wallet-hero .earn-bar{margin-bottom:8px;}
.wh-sub{font-size:11px;color:#CFE3DB;margin-bottom:16px;position:relative;}
.upi-row{display:flex;align-items:center;justify-content:space-between;background:rgba(255,255,255,.1);border-radius:12px;padding:10px 12px;margin-bottom:14px;position:relative;cursor:pointer;}
.upi-row span{font-size:12px;}
.upi-row b{font-size:10.5px;color:var(--gold);font-weight:700;}
.blockers{background:rgba(255,255,255,.08);border-radius:12px;padding:10px 12px;margin:0 0 12px;position:relative;}
.blockers:empty{display:none;}
.blockers li{font-size:11px;color:#EAF3EE;margin-bottom:4px;list-style:none;}
.blockers li:last-child{margin-bottom:0;}
.blockers li b{color:var(--gold);}
.btn{display:block;width:100%;text-align:center;background:var(--gold);color:#3A2A00;font-weight:700;font-size:13.5px;padding:13px;border-radius:12px;border:none;position:relative;}
.btn.dark{background:var(--teal-deep);color:#fff;}
.btn:disabled{background:rgba(255,255,255,.2);color:#CFE3DB;cursor:default;}
.btn.dark:disabled{background:#8FA79F;color:#fff;}
.eta{text-align:center;font-size:10.5px;color:var(--muted);margin:8px 0 0;}
.row-item{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:12px 0;border-bottom:1px solid var(--line);}
.row-item b{font-size:13px;color:var(--ink);display:block;}
.row-item span{font-size:11px;color:var(--muted);}
.status-tag{font-size:10.5px;font-weight:700;padding:4px 9px;border-radius:999px;white-space:nowrap;}
.status-tag.ok{background:#E4F3EA;color:#1E7A46 !important;}
.status-tag.pending{background:#FCF1DA;color:#9A6B00 !important;}
.status-tag.failed{background:#FBE7E7;color:#B03A3A !important;}
.status-tag.none{background:var(--sage);color:var(--muted);}
.help-link{display:block;text-align:center;font-size:12px;color:var(--teal-deep);font-weight:700;margin:18px 0 4px;text-decoration:underline;cursor:pointer;}
.empty{text-align:center;font-size:12px;color:var(--muted);padding:18px 0;}

/* TASKS = INVITE */
.invite-hero{background:var(--teal-deep);border-radius:20px;padding:20px;color:#fff;margin-top:14px;text-align:center;}
.invite-hero .code{font-family:'Fraunces','Noto Serif Devanagari',serif;font-size:22px;letter-spacing:3px;margin:8px 0 14px;}
.qr-box{width:104px;height:104px;background:#fff;border-radius:14px;margin:10px auto 8px;display:flex;align-items:center;justify-content:center;overflow:hidden;}
.qr-box img,.qr-box svg{width:88px;height:88px;image-rendering:pixelated;}
.poster-btn{margin-top:8px;background:#D9A441;border:0;color:#0F4B3D;border-radius:10px;padding:10px 12px;font-size:12.5px;font-weight:700;width:100%;}
.poster-btn:disabled{opacity:.6;}
.poster-img{display:block;width:100%;max-width:320px;margin:0 auto 14px;border-radius:14px;box-shadow:0 8px 24px rgba(0,0,0,.18);}
.poster-actions{display:grid;gap:8px;}
.poster-actions .btn{text-decoration:none;}
.poster-tip{text-align:center;font-size:11.5px;color:var(--muted,#6B7A74);margin:10px 0 0;}
.copy-link{margin-top:10px;background:transparent;border:1px solid rgba(255,255,255,.35);color:#fff;border-radius:10px;padding:8px 12px;font-size:11.5px;font-weight:600;width:100%;}
.rule-box{background:var(--sage);border-radius:14px;padding:12px 14px;margin:16px 0;}
.rule-box li{font-size:11.5px;color:var(--ink);margin-bottom:5px;line-height:1.5;list-style:none;}
.invite-row{display:flex;justify-content:space-between;align-items:center;padding:11px 0;border-bottom:1px solid var(--line);}
.invite-row b{font-size:13px;color:var(--ink);display:block;}
.invite-row span{font-size:11px;color:var(--muted);}
.leader{display:flex;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid var(--line);}
.leader.me{background:linear-gradient(90deg,transparent,var(--sage),transparent);}
.rank{width:24px;height:24px;border-radius:50%;background:var(--sage);display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;color:var(--teal-deep);flex-shrink:0;}
.avatar{width:34px;height:34px;border-radius:50%;background:#D7E4DE;flex-shrink:0;display:flex;align-items:center;justify-content:center;font:600 13px 'Fraunces','Noto Serif Devanagari',serif;color:var(--teal-deep);}
.share-row{display:flex;gap:10px;margin-top:10px;}
.share-row button{flex:1;padding:11px;border:none;border-radius:12px;font-weight:700;font-size:12px;color:#fff;}
.stat-mini{display:flex;gap:10px;margin:12px 0 6px;}
.stat-mini div{flex:1;background:#fff;border:1px solid var(--line);border-radius:12px;padding:10px;text-align:center;}
.stat-mini b{display:block;font-family:'Fraunces','Noto Serif Devanagari',serif;font-size:16px;color:var(--teal-deep);}
.stat-mini span{font-size:10px;color:var(--muted);}

/* PROFILE */
.profile-head{display:flex;align-items:center;gap:14px;margin-top:12px;cursor:pointer;}
.profile-head .av{width:58px;height:58px;border-radius:50%;background:var(--gold);display:flex;align-items:center;justify-content:center;font-family:'Fraunces','Noto Serif Devanagari',serif;font-size:22px;color:#3A2A00;flex-shrink:0;}
.profile-head .name-row{display:flex;align-items:center;gap:7px;flex-wrap:wrap;}
.profile-head b{font-size:16px;color:var(--ink);}
.profile-head .lvl{font-size:9.5px;font-weight:700;color:var(--teal-deep);background:var(--sage);padding:2px 7px;border-radius:999px;}
.profile-head span.phone-num{display:block;font-size:11.5px;color:var(--muted);margin-top:2px;}
.profile-head .chev{margin-left:auto;color:var(--muted);font-size:16px;}
.asset-row{display:flex;gap:10px;margin-top:16px;}
.asset-item{flex:1;background:#fff;border:1px solid var(--line);border-radius:14px;padding:11px 8px;text-align:center;}
.asset-item b{display:block;font-family:'Fraunces','Noto Serif Devanagari',serif;font-size:17px;color:var(--teal-deep);}
.asset-item span{font-size:10px;color:var(--muted);}
.func-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px 4px;margin-top:18px;}
.func-item{text-align:center;position:relative;cursor:pointer;}
.func-item .fic{width:44px;height:44px;border-radius:13px;background:var(--sage);display:flex;align-items:center;justify-content:center;font-size:18px;margin:0 auto 5px;position:relative;color:var(--ink);}
.func-item .fic .dot{position:absolute;top:-2px;right:-2px;width:9px;height:9px;border-radius:50%;background:var(--gold);border:2px solid var(--paper);}
.func-item span{font-size:10px;color:var(--ink);}
.group-title{font-size:10.5px;font-weight:700;color:var(--muted);margin:20px 0 4px 2px;}
.menu-item{display:flex;align-items:center;justify-content:space-between;padding:13px 2px;border-bottom:1px solid var(--line);font-size:13px;color:var(--ink);cursor:pointer;}
.menu-item span.meta{font-size:11px;color:var(--muted);}
.menu-item.danger{color:#B14848;font-weight:600;}
.grievance{background:var(--sage);border-radius:12px;padding:10px 12px;margin-top:6px;font-size:10.5px;color:var(--muted);line-height:1.6;}
.logout{display:block;width:100%;background:transparent;text-align:center;font-size:12.5px;color:#B14848;font-weight:700;margin:20px 0 4px;padding:12px;border:1px solid #F0D4D4;border-radius:12px;}
.verinfo{text-align:center;font-size:10px;color:#9AA6A0;margin-bottom:6px;}
.badge-scroll{display:flex;gap:12px;overflow-x:auto;padding:4px 2px 6px;}
.badge{text-align:center;flex-shrink:0;width:56px;}
.badge .ic3{width:48px;height:48px;border-radius:14px;background:var(--sage);display:flex;align-items:center;justify-content:center;margin:0 auto 5px;color:var(--ink);}
.badge.locked .ic3{opacity:.35;}
.badge span{font-size:9px;color:var(--muted);}
.badge-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px 8px;}
.badge-grid .badge{width:auto;}
.badge-grid .badge .ic3{width:64px;height:64px;border-radius:18px;}
.badge-grid .badge span{font-size:11px;}
.badge-grid .badge small{display:block;font-size:9.5px;color:var(--muted);margin-top:2px;}
.section-title.with-link{display:flex;justify-content:space-between;align-items:center;}
.section-title .see-all{font-size:10.5px;color:var(--teal-deep);font-weight:600;cursor:pointer;}

/* SUBPAGES */
.subhead{display:flex;align-items:center;gap:10px;margin:14px 0 18px;}
.subhead .back{width:30px;height:30px;border-radius:50%;background:var(--sage);display:flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0;font-size:15px;color:var(--teal-deep);}
.subhead b{font-family:'Fraunces','Noto Serif Devanagari',serif;font-size:16.5px;color:var(--ink);}
.field{margin-bottom:13px;}
.field > label{display:block;font-size:11.5px;color:var(--muted);margin-bottom:5px;}
.field input,.field select,.field textarea{width:100%;padding:11px 12px;border:1px solid var(--line);border-radius:10px;font-size:13px;font-family:inherit;background:#fff;color:var(--ink);outline:none;}
.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--teal);}
.field input:disabled{background:var(--sage);color:var(--muted);}
.field textarea{resize:vertical;}
.phone-input{display:flex;align-items:stretch;border:1px solid var(--line);border-radius:10px;background:#fff;overflow:hidden;}
.phone-input:focus-within{border-color:var(--teal);}
.phone-input span{display:flex;align-items:center;padding:0 10px;background:var(--sage);font-size:13px;color:var(--muted);font-weight:600;}
.field .phone-input input{border:none;border-radius:0;}
.upload-box{display:block;border:1.5px dashed var(--line);border-radius:14px;padding:18px 10px;text-align:center;color:var(--muted);font-size:11.5px;margin-bottom:12px;background:#fff;cursor:pointer;position:relative;}
.upload-box .plus{font-size:20px;color:var(--teal-deep);display:block;margin-bottom:4px;}
.upload-box.has{border-style:solid;border-color:var(--teal);padding:8px;}
.upload-box .thumbs{display:flex;gap:6px;justify-content:center;flex-wrap:wrap;}
.upload-box .thumbs img{height:84px;max-width:100%;border-radius:8px;object-fit:cover;}
.seg{display:flex;background:var(--sage);border-radius:12px;padding:4px;margin-bottom:16px;}
.seg button{flex:1;border:none;background:transparent;padding:9px;border-radius:9px;font-size:12.5px;font-weight:700;color:var(--muted);}
.seg button.on{background:#fff;color:var(--teal-deep);}
.seg-panel{display:none;}
.seg-panel.on{display:block;}
.faq-item{border-bottom:1px solid var(--line);}
.faq-item summary{padding:12px 2px;display:flex;justify-content:space-between;font-size:13px;color:var(--ink);cursor:pointer;list-style:none;}
.faq-item summary::-webkit-details-marker{display:none;}
.faq-item summary::after{content:'›';color:var(--muted);transition:transform .2s;}
.faq-item[open] summary::after{transform:rotate(90deg);}
.faq-item p{margin:0 2px 12px;font-size:12px;color:var(--muted);line-height:1.6;}
.lang-item{display:flex;justify-content:space-between;align-items:center;padding:14px 2px;border-bottom:1px solid var(--line);font-size:13.5px;color:var(--ink);cursor:pointer;}
.lang-item .check{width:18px;height:18px;border-radius:50%;border:2px solid var(--line);}
.lang-item.sel .check{border-color:var(--teal-deep);background:var(--teal-deep);box-shadow:inset 0 0 0 3px #fff;}
.ticket{background:var(--sage);border-radius:12px;padding:10px 12px;margin-bottom:8px;font-size:11.5px;color:var(--ink);}
.ticket b{display:block;font-size:12px;margin-bottom:2px;}
.ticket .reply{margin-top:6px;padding-top:6px;border-top:1px solid var(--line);color:var(--teal-deep);}
.wa-btn{display:flex;align-items:center;justify-content:center;gap:8px;background:#25D366;color:#fff;font-weight:700;font-size:13px;padding:12px;border-radius:12px;margin-top:14px;cursor:pointer;text-decoration:none;}
.notice-item{padding:12px 2px;border-bottom:1px solid var(--line);}
.notice-item b{display:block;font-size:13px;}
.notice-item span{font-size:11.5px;color:var(--muted);}
.notice-item time{display:block;font-size:10px;color:#9AA6A0;margin-top:3px;}
.doc-body{font-size:12.5px;line-height:1.75;color:var(--ink);padding-bottom:10px;}
.doc-body h3{font-size:13.5px;margin:20px 0 6px;color:var(--teal-deep);}
.doc-body p{margin:0 0 8px;}
.doc-body ul{margin:0 0 8px;padding-left:18px;}
.doc-body li{margin-bottom:4px;}
.doc-body a,#authHint a{color:var(--teal-deep);font-weight:600;cursor:pointer;}
.doc-meta{font-size:11px;color:var(--muted);margin:-8px 0 14px !important;}
.doc-note{background:var(--sage);border-radius:12px;padding:10px 12px;font-size:11.5px;color:var(--muted);margin-top:14px !important;}
.doc-table{width:100%;border-collapse:collapse;font-size:11.5px;margin:4px 0 10px;background:#fff;border:1px solid var(--line);border-radius:12px;overflow:hidden;}
.doc-table th,.doc-table td{text-align:left;vertical-align:top;padding:8px 10px;border-bottom:1px solid var(--line);}
.doc-table th{background:var(--sage);color:var(--muted);font-weight:700;}
.doc-table tr:last-child td{border-bottom:none;}
.doc-table td:first-child{width:52%;}
.contact-card{background:#fff;border:1px solid var(--line);border-radius:12px;padding:10px 12px;margin:6px 0 10px;font-size:12px;line-height:1.8;}
.about-hero{background:var(--teal-deep);border-radius:20px;padding:26px 20px;color:#fff;text-align:center;position:relative;overflow:hidden;}
.about-hero::after{content:"";position:absolute;right:-50px;top:-60px;width:160px;height:160px;border-radius:50%;background:radial-gradient(circle,var(--gold) 0%,transparent 70%);opacity:.3;}
.about-brand{font-family:'Fraunces','Noto Serif Devanagari',serif;font-size:32px;font-weight:600;position:relative;}
.about-tag{font-size:12.5px;color:#CFE3DB;margin-top:2px;position:relative;}
.about-ver{display:inline-block;margin-top:12px;font-size:10.5px;font-weight:700;background:var(--gold);color:#3A2A00;border-radius:999px;padding:3px 10px;position:relative;}
.about-steps{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin:6px 0 8px;}
.about-steps div{background:#fff;border:1px solid var(--line);border-radius:12px;padding:10px;}
.about-steps b{display:inline-flex;width:20px;height:20px;border-radius:50%;background:var(--sage);color:var(--teal-deep);font-size:11px;align-items:center;justify-content:center;margin-right:6px;}
.about-steps span{font-weight:600;font-size:12.5px;}
.about-steps small{display:block;color:var(--muted);font-size:11px;margin-top:4px;}
.faq-group{font-size:10.5px;font-weight:700;color:var(--muted);margin:16px 0 0 2px;}
.faq-group:first-child{margin-top:0;}

/* AUTH */
.auth-hero{background:var(--teal-deep);border-radius:22px;padding:34px 22px 28px;color:#fff;position:relative;overflow:hidden;margin-top:10px;}
.auth-brand{font-family:'Fraunces','Noto Serif Devanagari',serif;font-size:38px;font-weight:600;position:relative;}
.auth-tag{font-size:12.5px;color:#CFE3DB;margin-top:4px;position:relative;}
/* 装饰光晕超出卡片右上角：用 clip 裁掉而不形成滚动容器，否则按钮获得焦点时卡片会被横向滚动 */
.auth-hero,.move-hero,.wallet-hero,.earn-hero,.about-hero{overflow:clip;}
.lang-switch{position:absolute;top:14px;right:14px;display:flex;gap:2px;background:rgba(255,255,255,.1);border-radius:999px;padding:3px;z-index:1;}
.lang-switch button{border:none;background:transparent;color:#CFE3DB;font-size:11px;font-weight:700;padding:4px 9px;border-radius:999px;}
.lang-switch button.on{background:var(--gold);color:#3A2A00;}
/* 印地语/英文比中文长：允许换行，避免按钮和标签溢出 */
html[lang=hi] .mh-title{font-size:23px;line-height:1.25;}
html[lang=hi] body{line-height:1.45;}
.navitem{text-align:center;}
.stepper li{line-height:1.2;}
#auth.register .auth-hero{padding:22px 22px 18px;}
#auth.register .auth-brand{font-size:28px;}
.link{color:var(--teal-deep);font-weight:700;cursor:pointer;text-decoration:none;}
.auth-row{display:flex;justify-content:space-between;align-items:center;margin:-4px 0 14px;font-size:12px;}
.auth-switch{text-align:center;font-size:12.5px;color:var(--muted);margin:14px 0 0;}
.opt{font-size:10px;color:var(--muted);background:var(--sage);border-radius:999px;padding:1px 7px;margin-left:4px;font-weight:600;}
.field-hint{font-size:11px;color:var(--muted);margin-top:6px;line-height:1.5;min-height:0;}
.field-hint:empty{display:none;}
.field-hint.good{color:#1E7A46;}
.field-hint.bad{color:#B03A3A;}
.pw-input{position:relative;}
.field .pw-input input{padding-right:44px;}
.pw-input .eye{position:absolute;right:4px;top:50%;transform:translateY(-50%);width:36px;height:36px;border:none;background:transparent center/18px no-repeat;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%235B6862' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M1 12s4-8 11-8 11 8 11 8-4 8-11 8-11-8-11-8z'/%3E%3Ccircle cx='12' cy='12' r='3'/%3E%3C/svg%3E");}
.pw-input .eye.on{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230F4B3D' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M17.94 17.94A10.07 10.07 0 0112 20c-7 0-11-8-11-8a18.45 18.45 0 015.06-5.94M9.9 4.24A9.12 9.12 0 0112 4c7 0 11 8 11 8a18.5 18.5 0 01-2.16 3.19M1 1l22 22'/%3E%3Cpath d='M14.12 14.12a3 3 0 11-4.24-4.24'/%3E%3C/svg%3E");}
.pw-meter{position:relative;height:5px;border-radius:4px;background:var(--line);margin:8px 40px 0 0;}
.pw-meter::after{content:attr(data-label);position:absolute;right:-40px;top:-6px;font-size:10.5px;font-weight:700;color:var(--muted);width:34px;text-align:right;}
.pw-meter i{display:block;height:100%;width:0;border-radius:4px;transition:width .25s,background .25s;background:#C9574F;}
.pw-meter i[data-level=ok]{background:var(--gold);}
.pw-meter i[data-level=strong]{background:#1E7A46;}
.pw-rules{display:flex;gap:12px;list-style:none;padding:0;margin:8px 0 0;flex-wrap:wrap;}
.pw-rules li{font-size:11px;color:var(--muted);}
.pw-rules li::before{content:'○ ';}
.pw-rules li.ok{color:#1E7A46;}
.pw-rules li.ok::before{content:'✓ ';}
.stepper{display:flex;list-style:none;padding:0;margin:0 0 18px;gap:6px;}
.stepper li{flex:1;display:flex;align-items:center;gap:6px;font-size:11px;font-weight:600;color:var(--muted);position:relative;padding-bottom:8px;border-bottom:3px solid var(--line);}
.stepper li i{font-style:normal;width:18px;height:18px;border-radius:50%;background:var(--line);color:#fff;display:inline-flex;align-items:center;justify-content:center;font-size:10px;flex-shrink:0;}
.stepper li.on{color:var(--teal-deep);border-color:var(--teal-deep);}
.stepper li.on i{background:var(--teal-deep);}
.stepper li.done{color:var(--teal);border-color:var(--gold);}
.stepper li.done i{background:var(--gold);color:#3A2A00;}
.btn-row{display:flex;gap:10px;}
.btn-row .btn.plain{flex:0 0 34%;}
.btn:not(.dark):disabled{background:#E9D9B5;color:#9C8A60;}
.notice-box{background:#FCF1DA;border:1px solid #F0DDAE;color:#7A5600;border-radius:12px;padding:10px 12px;font-size:11.5px;line-height:1.55;margin-bottom:14px;}
.check{display:flex;gap:10px;align-items:flex-start;font-size:12px;color:var(--ink);line-height:1.55;margin:4px 0 12px;cursor:pointer;}
.check input{appearance:none;-webkit-appearance:none;flex-shrink:0;width:18px;height:18px;border:1.5px solid #B9C7C1;border-radius:5px;margin:1px 0 0;background:#fff center/12px no-repeat;cursor:pointer;}
.check input:checked{background-color:var(--teal-deep);border-color:var(--teal-deep);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12l5 5 9-10'/%3E%3C/svg%3E");}
.check input:focus-visible{outline:2px solid var(--teal);outline-offset:2px;}
.hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0;}
.trust{list-style:none;padding:14px 0 0;margin:20px 0 0;border-top:1px solid var(--line);display:flex;flex-direction:column;gap:6px;}
.trust li{display:flex;align-items:center;gap:8px;font-size:11px;color:var(--muted);}
.trust svg{color:var(--teal);flex-shrink:0;}
.done-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:24px 18px;text-align:center;margin-bottom:14px;}
.done-card .done-ic{width:56px;height:56px;border-radius:50%;background:#E4F3EA;color:#1E7A46;display:flex;align-items:center;justify-content:center;margin:0 auto 10px;}
.done-card .done-ic.warn-ic{background:#FCF1DA;color:#9A6B00;}
.done-card b{font-family:'Fraunces','Noto Serif Devanagari',serif;font-size:18px;}
.done-card p{font-size:12px;color:var(--muted);line-height:1.6;margin:8px 0 0;}
.done-card .warn{background:var(--sage);border-radius:10px;padding:8px 10px;color:var(--ink);margin-top:14px;}
.welcome-steps{margin:0 0 16px;padding:0;list-style:none;counter-reset:w;}
.welcome-steps li{counter-increment:w;display:flex;flex-direction:column;padding:10px 0 10px 38px;position:relative;border-bottom:1px solid var(--line);}
.welcome-steps li::before{content:counter(w);position:absolute;left:0;top:10px;width:26px;height:26px;border-radius:50%;background:var(--gold);color:#3A2A00;font:700 13px 'Fraunces','Noto Serif Devanagari',serif;display:flex;align-items:center;justify-content:center;}
.welcome-steps b{font-size:13px;}
.welcome-steps span{font-size:11.5px;color:var(--muted);}

/* SHEET & TOAST */
.sheet-mask{position:absolute;inset:0;background:rgba(15,31,26,.45);display:flex;align-items:flex-end;z-index:20;}
.sheet{background:var(--paper);width:100%;border-radius:22px 22px 0 0;padding:20px 20px calc(22px + env(safe-area-inset-bottom,0px));animation:up .2s ease-out;}
.sheet h3{font-family:'Fraunces','Noto Serif Devanagari',serif;font-size:17px;margin:0 0 6px;}
.sheet .row{display:flex;gap:10px;margin-top:14px;}
.sheet .row .btn{flex:1;}
.btn.plain{background:var(--sage);color:var(--ink);}
@keyframes up{from{transform:translateY(40px);opacity:0;}to{transform:none;opacity:1;}}
.toast{position:absolute;left:50%;bottom:96px;transform:translateX(-50%);background:var(--ink);color:#fff;font-size:12.5px;padding:10px 16px;border-radius:12px;max-width:86%;text-align:center;z-index:30;box-shadow:0 8px 20px rgba(0,0,0,.2);}
.toast.ok{background:var(--teal-deep);}
