/* Gestafit · Método Perineal Libre — visual limpo, inspirado em apps de treino (cards, fotos grandes, pouco texto) */
:root{--g:#1F4D3A;--g2:#2E6B52;--gl:#E6EFEA;--bg:#F4F4F2;--card:#fff;--tx:#121212;--mut:#8A8F8B;--line:#ECECEA;--r:16px;
  --sh:0 1px 2px rgba(0,0,0,.04),0 4px 14px rgba(0,0,0,.05);--ease:cubic-bezier(.2,.8,.2,1)}
*{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent}
html,body{height:100%;background:#E9EAE8}
body{font-family:-apple-system,BlinkMacSystemFont,"SF Pro Text","Inter","Segoe UI",Roboto,Helvetica,Arial,sans-serif;color:var(--tx);-webkit-font-smoothing:antialiased}
button{font:inherit;border:0;background:none;cursor:pointer;color:inherit}
input,select{font:inherit}
.hidden{display:none!important}

/* moldura do app */
.screen{position:relative;width:100%;max-width:480px;height:100vh;height:100dvh;margin:0 auto;background:var(--bg);overflow:hidden;display:flex;flex-direction:column}
@media(min-width:520px){.screen{height:min(100dvh,900px);margin-top:max(0px,calc((100dvh - 900px)/2));border-radius:30px;box-shadow:0 20px 50px rgba(0,0,0,.12)}}
.stage{position:relative;flex:1;overflow:hidden}
.page{position:absolute;inset:0;overflow-y:auto;overflow-x:hidden;background:var(--bg);scrollbar-width:none;padding-top:env(safe-area-inset-top)}
.page::-webkit-scrollbar{display:none}
.page.in{animation:pageIn .32s var(--ease) both}
.page.fade{animation:fadeIn .25s ease both}
@keyframes pageIn{from{transform:translateX(28%);opacity:0}to{transform:none;opacity:1}}
@keyframes fadeIn{from{opacity:0}to{opacity:1}}
@keyframes rise{from{transform:translateY(10px);opacity:0}to{transform:none;opacity:1}}
.rise>*{animation:rise .38s var(--ease) both}
.rise>*:nth-child(2){animation-delay:.03s}.rise>*:nth-child(3){animation-delay:.06s}.rise>*:nth-child(4){animation-delay:.09s}.rise>*:nth-child(5){animation-delay:.12s}.rise>*:nth-child(n+6){animation-delay:.15s}
.press{transition:transform .15s var(--ease)}.press:active{transform:scale(.97)}

/* cabeçalhos */
.hd{display:flex;align-items:center;justify-content:space-between;padding:18px 20px 6px}
.hd h1{font-size:32px;font-weight:800;letter-spacing:-.02em}
.icon-btn{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;color:var(--tx)}
.icon-btn svg{width:22px;height:22px;stroke:currentColor;fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.bar{position:sticky;top:0;z-index:5;display:flex;align-items:center;gap:6px;padding:12px 14px;background:rgba(244,244,242,.92);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.bar .back{display:flex;align-items:center;gap:2px;font-size:15px;font-weight:500}
.bar .back svg{width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:2}
.bar .ttl{flex:1;text-align:center;font-weight:600;font-size:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-right:52px}
.sec{display:flex;align-items:baseline;justify-content:space-between;padding:18px 20px 10px}
.sec h2{font-size:17px;font-weight:700}
.sec a,.sec button{font-size:13px;color:var(--g);font-weight:600}
.wkl{padding:18px 20px 10px;font-size:15px;font-weight:700}.wkl span{color:var(--mut);font-weight:500;margin-left:8px;font-size:13px}

/* foto / miniatura */
.ph{background-color:var(--gl);background-size:cover;background-position:center}
.ph.r{border-radius:12px}

/* linha do tempo (Mi Plan) */
.tl{position:relative;padding:0 16px 0 40px}
.tl:before{content:"";position:absolute;left:22px;top:0;bottom:0;width:2px;background:linear-gradient(var(--g),var(--g)) top/2px var(--fill,0%) no-repeat,#D9DCD9}
.node{position:absolute;left:-23px;top:50%;width:12px;height:12px;border-radius:50%;background:#D9DCD9;transform:translateY(-50%);border:2px solid var(--bg)}
.node.done{background:var(--g)}.node.now{background:#fff;border:3px solid var(--g);width:14px;height:14px;left:-24px}
.it{position:relative;margin-bottom:12px}
.card{background:var(--card);border-radius:var(--r);box-shadow:var(--sh);padding:12px;display:flex;gap:12px;align-items:center;width:100%;text-align:left}
.card .ph{width:64px;height:64px;border-radius:12px;flex:none;position:relative}
.card .ck{position:absolute;right:-5px;bottom:-5px;width:20px;height:20px;border-radius:50%;background:var(--g);color:#fff;font-size:11px;display:grid;place-items:center;border:2px solid #fff}
.card .tx{flex:1;min-width:0}
.card .t{font-size:15px;font-weight:600;line-height:1.25}
.card .m{font-size:12.5px;color:var(--mut);margin-top:3px}
.card .m b{color:var(--g);font-weight:600}
.chev{width:18px;height:18px;stroke:#B8BCB9;fill:none;stroke-width:2;flex:none}
.card.now{flex-wrap:wrap}
.card.now .go{flex-basis:100%;margin-left:76px}
.pill{display:inline-flex;align-items:center;justify-content:center;gap:6px;background:var(--g);color:#fff;font-weight:600;font-size:14px;border-radius:999px;padding:11px 22px}
.pill.sm{font-size:13px;padding:9px 18px}
.pill.ghost{background:var(--gl);color:var(--g)}
.pill.block{width:100%}
.pill:disabled{opacity:.45}
.soft{margin:8px 16px 26px;display:flex;align-items:center;gap:12px;background:var(--gl);border-radius:var(--r);padding:14px;width:calc(100% - 32px);text-align:left}
.soft .ic{width:40px;height:40px;border-radius:50%;background:#fff;display:grid;place-items:center;flex:none}
.soft .ic svg{width:20px;height:20px;stroke:var(--g);fill:none;stroke-width:1.8}
.soft b{font-size:14px}.soft span{display:block;font-size:12px;color:var(--g);margin-top:2px}

/* detalhe do dia / intro */
.hero{position:relative;width:100%;aspect-ratio:4/3}
.hero .top{position:absolute;left:14px;right:14px;top:calc(12px + env(safe-area-inset-top));display:flex;justify-content:space-between}
.circ{width:36px;height:36px;border-radius:50%;background:rgba(255,255,255,.85);display:grid;place-items:center;box-shadow:0 1px 4px rgba(0,0,0,.1)}
.circ svg{width:18px;height:18px;stroke:#333;fill:none;stroke-width:2}
.circ.on svg{fill:var(--g);stroke:var(--g)}
.dt{padding:18px 20px 120px}
.eyebrow{font-size:12px;font-weight:700;color:var(--g);letter-spacing:.06em;text-transform:uppercase}
.dt h1{font-size:30px;font-weight:800;letter-spacing:-.02em;line-height:1.1;margin-top:4px}
.chips{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}
.chip{display:inline-flex;align-items:center;gap:5px;font-size:12.5px;font-weight:500;color:var(--g);background:var(--gl);border-radius:999px;padding:5px 11px}
.chip svg{width:13px;height:13px;stroke:currentColor;fill:none;stroke-width:2}
.chip.warn{background:#FFF1DC;color:#8A5300}
.lead{font-size:14.5px;line-height:1.5;color:#3d413e;margin-top:14px}
.kv{margin-top:14px;border-top:1px solid var(--line)}
.kv div{display:flex;justify-content:space-between;padding:12px 0;border-bottom:1px solid var(--line);font-size:14px}
.kv span{color:var(--mut)}
.grp{margin-top:22px}
.grp h3{font-size:16px;font-weight:700}.grp h3 span{font-size:12.5px;color:var(--mut);font-weight:500;margin-left:8px}
.row{display:flex;align-items:center;gap:12px;padding:8px 0;width:100%;text-align:left}
.row .ph{width:58px;height:58px;border-radius:12px;flex:none}
.row .n{font-size:14.5px;font-weight:500;flex:1}
.row .s{font-size:12.5px;color:var(--mut)}
.row.pick .ph{display:grid;place-items:center;border:1.5px dashed #B9CDBF;background:#fff;color:var(--g);font-size:24px}
.fab{position:absolute;left:0;right:0;bottom:calc(18px + env(safe-area-inset-bottom));display:flex;justify-content:center;z-index:8;pointer-events:none}
.fab .pill{pointer-events:auto;box-shadow:0 8px 20px rgba(31,77,58,.3);padding:14px 34px;font-size:15px}

/* Entrenos */
.chiprow{display:flex;gap:8px;overflow-x:auto;padding:4px 20px 2px;scrollbar-width:none}
.chiprow::-webkit-scrollbar{display:none}
.fchip{flex:none;font-size:13.5px;font-weight:500;background:#fff;border-radius:999px;padding:9px 15px;box-shadow:var(--sh);white-space:nowrap}
.fchip.on{background:var(--g);color:#fff}
.car{display:flex;gap:12px;overflow-x:auto;padding:0 20px 4px;scroll-padding:0 20px;scroll-snap-type:x mandatory;scrollbar-width:none}
.car:after{content:"";flex:0 0 8px}
.car::-webkit-scrollbar{display:none}
.tile{flex:none;width:150px;scroll-snap-align:start;text-align:left}
.tile .ph{width:150px;height:118px;border-radius:14px}
.tile .t{font-size:14px;font-weight:600;margin-top:8px;line-height:1.25}
.tile .m{font-size:12px;color:var(--mut);margin-top:2px}.tile .m b{color:var(--g);font-weight:600}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:0 20px}
.cat{position:relative;height:96px;border-radius:14px;overflow:hidden;text-align:left}
.cat .ph{position:absolute;inset:0}
.cat:after{content:"";position:absolute;inset:0;background:linear-gradient(transparent 20%,rgba(0,0,0,.45))}
.cat b{position:absolute;left:12px;bottom:10px;z-index:1;color:#fff;font-size:15px;text-shadow:0 1px 4px rgba(0,0,0,.3)}
.list{padding:0 16px}
.list .card{margin-bottom:10px}

/* tab bar */
.tabs{flex:none;display:flex;justify-content:space-around;align-items:flex-start;background:#fff;border-top:1px solid var(--line);padding:8px 4px calc(8px + env(safe-area-inset-bottom));z-index:9}
.tab{display:flex;flex-direction:column;align-items:center;gap:3px;font-size:10.5px;color:#55595a;width:64px;transition:color .2s}
.tab svg{width:24px;height:24px;stroke:currentColor;fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;transition:transform .25s var(--ease)}
.tab.on{color:var(--g)}.tab.on svg{transform:translateY(-1px) scale(1.06)}.tab.on span{font-weight:700}

/* player */
.player{display:flex;flex-direction:column;min-height:100%;background:#fff}
.ptop{display:flex;justify-content:space-between;align-items:flex-start;padding:12px 16px 10px}
.ptop .circ{background:#C9CCCA}.ptop .circ svg{stroke:#fff}
.ptop .r{text-align:right}.ptop .r b{font-size:19px;font-weight:700;display:block;font-variant-numeric:tabular-nums}.ptop .r small{font-size:12px;color:#333}
.vid{position:relative;width:100%;aspect-ratio:1/1;max-height:54dvh;background:#ECEBE8 center/cover;flex:none;overflow:hidden}
.vid video{width:100%;height:100%;object-fit:cover;object-position:center;display:block}
.vid video.mirror{transform:scaleX(-1)}
.vid .rest{position:absolute;inset:0;background:rgba(31,77,58,.9);color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:16px;animation:fadeIn .25s}
.vid .rest small{font-size:12px;opacity:.85;letter-spacing:.08em;text-transform:uppercase}.vid .rest b{font-size:20px;margin-top:6px}
.prog{height:4px;background:var(--line);flex:none}.prog i{display:block;height:100%;background:var(--g);width:0;transition:width 1s linear}
.pbody{flex:1;display:flex;flex-direction:column;align-items:center;padding:14px 20px 0;text-align:center}
.ename{font-size:21px;font-weight:600;line-height:1.2}
.side{font-size:12px;font-weight:700;color:var(--g);background:var(--gl);border-radius:20px;padding:4px 11px;margin-top:7px}
.count{font-size:56px;font-weight:800;letter-spacing:-.02em;margin-top:2px;font-variant-numeric:tabular-nums}
.how{font-size:13px;color:var(--g);font-weight:600;margin-top:2px}
.cue{font-size:13px;color:#5a5e5b;line-height:1.45;margin-top:6px;max-width:320px;animation:fadeIn .2s}
.pnote{margin-top:8px}
.ctrls{display:flex;align-items:center;gap:52px;margin-top:auto;padding:16px 0 calc(24px + env(safe-area-inset-bottom))}
.ctrls .sm svg{width:24px;height:24px;fill:#111}
.ctrls .big{width:66px;height:66px;border-radius:50%;background:var(--g);display:grid;place-items:center;box-shadow:0 8px 18px rgba(31,77,58,.28)}
.ctrls .big svg{width:22px;height:22px;fill:#fff}
.done-ov{position:absolute;inset:0;background:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:30px;z-index:30;animation:fadeIn .3s}
.done-ov .em{width:84px;height:84px;border-radius:50%;background:var(--gl);display:grid;place-items:center;font-size:38px;color:var(--g);animation:pop .5s var(--ease)}
@keyframes pop{0%{transform:scale(.4)}70%{transform:scale(1.08)}100%{transform:scale(1)}}
.done-ov h3{font-size:24px;margin-top:16px}.done-ov p{color:var(--mut);font-size:14px;margin-top:6px}

/* respiração */
.breath{margin:8px 16px;background:#fff;border-radius:22px;box-shadow:var(--sh);padding:26px 18px;text-align:center}
.ring{width:190px;height:190px;border-radius:50%;margin:6px auto 14px;display:grid;place-items:center;background:radial-gradient(circle,#fff 0 52%,var(--gl) 53%);transition:transform 4s ease-in-out}
.ring b{color:var(--g);font-size:18px}
.breath .count{font-size:40px;margin:0 0 14px}

/* perfil */
.me{display:flex;flex-direction:column;align-items:center;padding:6px 20px 0}
.av{width:76px;height:76px;border-radius:50%;background:var(--gl);color:var(--g);display:grid;place-items:center;font-size:30px;font-weight:800}
.me h2{font-size:20px;margin-top:10px}.me p{font-size:13px;color:var(--mut);margin-top:2px}
.stats{display:flex;justify-content:space-around;margin:18px 16px 6px;background:#fff;border-radius:var(--r);box-shadow:var(--sh);padding:14px 6px}
.stats div{text-align:center}.stats b{display:block;font-size:22px}.stats span{font-size:12px;color:var(--mut)}
.set{margin:12px 16px;background:#fff;border-radius:var(--r);box-shadow:var(--sh);overflow:hidden}
.set>*{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;padding:15px 16px;border-bottom:1px solid var(--line);font-size:14.5px;text-align:left}
.set>*:last-child{border-bottom:0}
.set .v{color:var(--mut);font-size:14px}
.set select{border:0;background:none;color:var(--g);font-weight:600;font-size:14.5px;text-align:right}
.sw{width:44px;height:26px;border-radius:20px;background:#D2D5D2;position:relative;flex:none;transition:background .25s}
.sw:after{content:"";position:absolute;left:3px;top:3px;width:20px;height:20px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.2);transition:transform .3s var(--ease)}
.sw.on{background:var(--g)}.sw.on:after{transform:translateX(18px)}
.danger{color:#B3261E}

/* folhas (modais) */
.modal{position:absolute;inset:0;background:rgba(0,0,0,.35);z-index:40;display:flex;align-items:flex-end;animation:fadeIn .2s}
.sheet{background:#fff;border-radius:24px 24px 0 0;padding:10px 18px calc(22px + env(safe-area-inset-bottom));max-height:88%;overflow:auto;width:100%;animation:sheetUp .32s var(--ease)}
@keyframes sheetUp{from{transform:translateY(40%)}to{transform:none}}
.sheet:before{content:"";display:block;width:38px;height:5px;border-radius:5px;background:#DADDDA;margin:0 auto 14px}
.sheet h3{font-size:19px}.sheet p{font-size:14px;color:#3d413e;margin:8px 0;line-height:1.5}
.sheet ul{padding-left:18px;font-size:13.5px;color:#3d413e;line-height:1.6;margin:6px 0}
.sheet .pill{margin-top:14px}
.opt{display:flex;align-items:center;gap:12px;padding:8px 0;border-bottom:1px solid var(--line);width:100%;text-align:left}
.opt .ph{width:48px;height:48px;border-radius:10px;flex:none}.opt span{flex:1;font-size:14.5px}
.opt i{width:22px;height:22px;border-radius:50%;border:2px solid #C9CCCA;flex:none;transition:.2s}
.opt.on i{background:var(--g);border-color:var(--g);box-shadow:inset 0 0 0 4px #fff}

/* onboarding */
.ob{min-height:100%;display:flex;flex-direction:column;background:#fff}
.ob .hero{aspect-ratio:auto;height:42%;min-height:240px}
.ob .body{padding:22px 22px calc(26px + env(safe-area-inset-bottom));flex:1;display:flex;flex-direction:column}
.ob h1{font-size:30px;font-weight:800;letter-spacing:-.02em;line-height:1.1}
.feat{display:flex;gap:12px;align-items:center;margin-top:14px;font-size:14.5px}
.feat i{width:36px;height:36px;border-radius:50%;background:var(--gl);display:grid;place-items:center;flex:none;font-style:normal;font-size:16px}
.alert{margin-top:18px;border:1px solid var(--line);border-radius:14px;overflow:hidden}
.alert>button{display:flex;justify-content:space-between;align-items:center;width:100%;padding:13px 14px;font-size:14px;font-weight:600}
.alert div{padding:0 14px 12px;font-size:13px;color:#3d413e;line-height:1.55}
.chk{display:flex;gap:10px;align-items:flex-start;margin-top:16px;font-size:14px;font-weight:500;line-height:1.4}
.chk input{width:20px;height:20px;accent-color:var(--g);flex:none;margin-top:1px}
.ob .pill{margin-top:auto}

/* login */
.login{flex:1;display:flex;flex-direction:column;justify-content:center;padding:28px 24px;background:#fff}
.logo{width:64px;height:64px;border-radius:20px;background:var(--g);color:#fff;display:grid;place-items:center;font-weight:800;font-size:30px}
.login h1{font-size:30px;font-weight:800;letter-spacing:-.02em;margin-top:22px;line-height:1.1}
.login .lead{color:var(--mut);font-size:15px;margin-top:8px;line-height:1.45}
.login label{display:block;font-size:13px;font-weight:600;margin:24px 0 7px}
.login input{width:100%;font-size:16px;padding:15px;border:1.5px solid var(--line);border-radius:14px;background:var(--bg);outline:none;transition:border-color .2s}
.login input:focus{border-color:var(--g);background:#fff}
.login input.code{letter-spacing:.4em;text-align:center;font-size:24px;font-weight:700}
.login .pill{width:100%;margin-top:14px;padding:15px}
.login .msg{font-size:13.5px;margin-top:12px;line-height:1.45;min-height:18px}
.login .msg.err{color:#B3261E}.login .msg.ok{color:var(--g)}
.login .link{color:var(--g);font-weight:600;font-size:14px;margin-top:14px}
.login .foot{color:var(--mut);font-size:12px;margin-top:24px;line-height:1.5}
.login .foot.legal{margin-top:10px}.login .foot.legal a,.wlegal a{color:inherit;text-decoration:underline}
.wbody .wlegal{font-size:12px;margin-top:10px;opacity:.75}
.blocked{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:30px;background:#fff}
.blocked h2{font-size:22px;margin-top:14px}.blocked p{color:var(--mut);font-size:14px;margin-top:8px;line-height:1.5}
.blocked .pill{margin-top:20px}
.loading{flex:1;display:grid;place-items:center;color:var(--mut);font-size:14px;background:#fff}
.soon{margin:8px 16px;border-radius:22px;overflow:hidden;background:#fff;box-shadow:var(--sh)}
.soon .ph{height:180px;display:grid;place-items:center}
.soon .ph svg{width:60px;height:60px;stroke:var(--g);fill:none;stroke-width:1.4}
.soon div.b{padding:16px 18px 20px}.soon h3{font-size:19px}.soon p{font-size:14px;color:var(--mut);margin-top:4px}
summary::-webkit-details-marker{display:none}
details.alert{margin-top:10px}details.alert[open] summary{color:var(--g)}

/* ===== v3: verde mais presente, movimento e gestos ===== */
:root{--bg:#F2F5F3;--g3:#163A2B;--acc:#9FD3B5}
.page{touch-action:pan-y;will-change:auto}
.car,.chiprow{touch-action:auto}
.page.lifted{box-shadow:-10px 0 30px rgba(0,0,0,.12)}
.page.fromR{animation:fromR .34s var(--ease) both}.page.fromL{animation:fromL .34s var(--ease) both}
@keyframes fromR{from{transform:translateX(16%);opacity:0}to{transform:none;opacity:1}}
@keyframes fromL{from{transform:translateX(-16%);opacity:0}to{transform:none;opacity:1}}
.pill{background:linear-gradient(180deg,#27603F,#1F4D3A)}
.pill.ghost{background:var(--gl)}

/* cabeçalho verde */
.gh{position:relative;overflow:hidden;color:#fff;margin-top:calc(-1*env(safe-area-inset-top));padding:calc(18px + env(safe-area-inset-top)) 20px 22px;border-radius:0 0 28px 28px;margin-bottom:6px;
  background:radial-gradient(90% 70% at 100% 0,rgba(159,211,181,.22),transparent 60%),linear-gradient(165deg,#2A6249 0%,#1F4D3A 48%,#163A2B 100%)}
.gh:after{content:"";position:absolute;right:-70px;top:-60px;width:230px;height:230px;border-radius:50%;border:30px solid rgba(255,255,255,.05);pointer-events:none}
.ghr{position:relative;z-index:1;display:flex;justify-content:space-between;align-items:flex-start}
.gh small,.dk small{font-size:11.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;opacity:.7}
.gh h1,.dk h1{font-size:32px;font-weight:800;letter-spacing:-.02em;line-height:1.1;margin-top:3px}
.icon-btn.lt{background:rgba(255,255,255,.13);color:#fff}
.prg{position:relative;z-index:1;display:flex;align-items:center;gap:12px;margin-top:16px;font-size:13px}
.prg span{opacity:.85;white-space:nowrap}.prg b{font-size:15px}
.pbar{flex:1;height:7px;border-radius:7px;background:rgba(255,255,255,.16);overflow:hidden}
.pbar i{display:block;height:100%;min-width:7px;background:linear-gradient(90deg,#7FC29D,var(--acc));border-radius:7px;animation:grow 1s var(--ease) both}
@keyframes grow{from{transform:scaleX(0);transform-origin:left}to{transform:scaleX(1);transform-origin:left}}
.today{position:relative;z-index:1;display:flex;align-items:center;gap:12px;margin-top:16px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.15);border-radius:20px;padding:10px 12px 10px 10px;text-align:left}
.today .ph{width:66px;height:66px;border-radius:14px;flex:none}
.today .tx{flex:1;min-width:0}.today small{display:block;color:var(--acc);opacity:1}
.today b{display:block;font-size:18px;margin-top:2px;line-height:1.2}.today span{font-size:12.5px;opacity:.75}
.play{width:50px;height:50px;border-radius:50%;background:#fff;display:grid;place-items:center;flex:none;animation:pulse 2.4s infinite;transition:transform .15s}
.play:active{transform:scale(.9)}
.play svg{width:20px;height:20px;fill:var(--g);margin-left:3px}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(255,255,255,.5)}70%{box-shadow:0 0 0 14px rgba(255,255,255,0)}100%{box-shadow:0 0 0 0 rgba(255,255,255,0)}}
.gh .chiprow{position:relative;z-index:1;margin:16px -20px 0}
.gh .fchip{background:rgba(255,255,255,.12);color:#fff;box-shadow:none;border:1px solid rgba(255,255,255,.16)}
.gh .fchip:active{background:#fff;color:var(--g)}
.gh.ctr{text-align:center;padding-bottom:20px}
.gh .av{position:relative;z-index:1;margin:4px auto 0;background:#fff;color:var(--g);box-shadow:0 0 0 5px rgba(255,255,255,.15)}
.gh h2{font-size:21px;margin-top:12px}.gh p{font-size:13px;opacity:.7;margin-top:2px}
.gh .stats{position:relative;z-index:1;margin:18px 0 0;background:rgba(255,255,255,.1);box-shadow:none;border:1px solid rgba(255,255,255,.14)}
.gh .stats b{color:#fff}.gh .stats span{color:rgba(255,255,255,.7)}

/* linha do tempo */
.card.now{box-shadow:0 0 0 2px var(--g),0 8px 22px rgba(31,77,58,.16)}
.tag{flex:none;font-size:11px;font-weight:700;color:#fff;background:var(--g);border-radius:999px;padding:4px 10px}
.node.now{box-shadow:0 0 0 5px rgba(31,77,58,.15);animation:ping 2s infinite}
@keyframes ping{50%{box-shadow:0 0 0 8px rgba(31,77,58,.06)}}
.soft{background:linear-gradient(135deg,#E3EEE7,#D3E5DA)}

/* detalhe */
.hero:after{content:"";position:absolute;left:0;right:0;bottom:0;height:45%;background:linear-gradient(transparent,rgba(22,58,43,.22));pointer-events:none}
.chip.solid{background:var(--g);color:#fff}
.fab .pill{box-shadow:0 10px 24px rgba(31,77,58,.38)}
.cat:after{background:linear-gradient(transparent 15%,rgba(22,58,43,.8))}
.sec h2{display:flex;align-items:center;gap:8px}.sec h2:before{content:"";width:4px;height:16px;border-radius:4px;background:var(--g)}

/* respiração escura */
.dk{min-height:100%;margin-top:calc(-1*env(safe-area-inset-top));padding:calc(18px + env(safe-area-inset-top)) 20px 30px;color:#fff;text-align:center;display:flex;flex-direction:column;align-items:center;
  background:radial-gradient(80% 50% at 50% 42%,rgba(159,211,181,.18),transparent 70%),linear-gradient(170deg,#24573F,#12301F)}
.dk .ghr{align-self:stretch;text-align:left}
.ringw{position:relative;margin:44px auto 18px;width:220px;height:220px;display:grid;place-items:center}
.halo{position:absolute;inset:-18px;border-radius:50%;border:1px solid rgba(255,255,255,.12);animation:halo 4s ease-in-out infinite}
@keyframes halo{50%{transform:scale(1.06);opacity:.4}}
.dk .ring{width:220px;height:220px;margin:0;background:radial-gradient(circle,rgba(255,255,255,.2) 0 48%,rgba(255,255,255,.07) 49%);box-shadow:0 0 0 1px rgba(255,255,255,.14),0 0 70px rgba(159,211,181,.3)}
.dk .ring b{color:#fff;font-size:20px}
.dk .count{font-size:44px;margin:4px 0 16px}
.dk .pill{background:#fff;color:var(--g);padding:14px 40px;font-size:15px}
.dk p{font-size:13px;opacity:.7;margin-top:18px;line-height:1.5}

/* barra de abas com pílula que desliza */
.tabs{position:relative;padding:8px 6px calc(8px + env(safe-area-inset-bottom));justify-content:stretch;box-shadow:0 -6px 20px rgba(0,0,0,.04)}
.ind{position:absolute;left:6px;top:8px;width:calc((100% - 12px)/5);height:32px;display:flex;justify-content:center;pointer-events:none;transition:transform .5s cubic-bezier(.34,1.4,.5,1)}
.ind:before{content:"";width:58px;height:32px;border-radius:16px;background:linear-gradient(180deg,#27603F,#1F4D3A);box-shadow:0 4px 10px rgba(31,77,58,.25)}
.tab{position:relative;flex:1;width:auto;gap:5px;padding-top:4px;color:#6B706C}
.tab.on{color:var(--g)}.tab.on svg{stroke:#fff;transform:scale(1.04)}
.tab svg{transition:stroke .25s,transform .3s var(--ease)}

/* acordeão animado */
.fold{display:grid;grid-template-rows:0fr;transition:grid-template-rows .34s var(--ease)}
.fold.open{grid-template-rows:1fr}.fold>div{overflow:hidden}
.alert .ftx{padding:0 14px 13px;font-size:13px;color:#3d413e;line-height:1.55}
.alert>button .chev{transition:transform .3s var(--ease)}
.alert.open>button .chev{transform:rotate(90deg)}.alert.open>button{color:var(--g)}
.alert{margin-top:10px;background:#fff}

/* dica */
.toast{position:absolute;left:50%;bottom:calc(86px + env(safe-area-inset-bottom));transform:translateX(-50%);background:rgba(18,40,30,.94);color:#fff;font-size:13px;font-weight:500;padding:11px 18px;border-radius:999px;z-index:20;display:flex;gap:8px;align-items:center;white-space:nowrap;pointer-events:none;animation:toast 3.4s var(--ease) both}
.toast .sw-ic{display:inline-block;animation:nudge 1.1s ease-in-out infinite}
@keyframes toast{0%{opacity:0;transform:translate(-50%,12px)}10%,85%{opacity:1;transform:translate(-50%,0)}100%{opacity:0;transform:translate(-50%,0)}}
@keyframes nudge{50%{transform:translateX(5px)}}
@media (prefers-reduced-motion:reduce){*{animation-duration:.01s!important;transition-duration:.01s!important}}
.fold>div{min-height:0}
.stage,.tabs{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}
.stage input,.stage select{-webkit-user-select:auto;user-select:auto}
.feat i{background:linear-gradient(160deg,#2A6249,#1F4D3A)}
.ob .hero{background-color:#DCE9E1}
.alert .fold,.alert .fold>div{padding:0}

/* ===== v4: barra flutuante, assistente, Progreso, boas-vindas ===== */
:root{--neo:#CDEB5C;--ink:#0C110E;--card2:#171C19}
.screen{position:relative}
.tabs{position:absolute;left:0;right:0;bottom:0;display:flex;align-items:center;gap:10px;padding:0 14px calc(12px + env(safe-area-inset-bottom));background:none;border:0;box-shadow:none;pointer-events:none}
.tabs:before{content:"";position:absolute;inset:-26px 0 0;background:linear-gradient(rgba(242,245,243,0),rgba(242,245,243,.92) 45%);pointer-events:none;transition:opacity .3s}
.tabs.dark:before{background:linear-gradient(rgba(12,17,14,0),rgba(12,17,14,.92) 45%)}
.tpill{position:relative;flex:1;display:flex;height:64px;padding:4px;border-radius:32px;background:rgba(255,255,255,.96);box-shadow:0 10px 30px rgba(22,58,43,.14),0 1px 2px rgba(0,0,0,.05);pointer-events:auto;transition:background .3s}
.tabs .ind{left:4px;top:4px;width:calc((100% - 8px)/5);height:56px;display:flex;justify-content:center}
.tabs .ind:before{width:56px;height:56px;border-radius:50%;background:#163A2B;box-shadow:0 6px 14px rgba(22,58,43,.3)}
.tabs .tab{flex:1;justify-content:center;gap:2px;padding:0;height:56px;color:#7A807C;z-index:1}
.tabs .tab span{display:none;font-size:9.5px;font-weight:600;letter-spacing:-.01em;max-width:52px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.tabs .tab.on{color:#fff}.tabs .tab.on span{display:block;animation:fadeIn .3s}
.tabs .tab svg{width:23px;height:23px}.tabs .tab.on svg{stroke:#fff;width:20px;height:20px;transform:none}
.aifab{position:relative;width:62px;height:62px;border-radius:50%;flex:none;display:grid;place-items:center;pointer-events:auto;
  background:radial-gradient(circle at 30% 25%,#D9F2E2,#9FD3B5 60%,#7DBF99);box-shadow:0 10px 24px rgba(22,58,43,.25),inset 0 0 0 4px rgba(255,255,255,.45)}
.aifab svg{width:26px;height:26px;fill:#163A2B;stroke:none}
.aifab:after{content:"";position:absolute;inset:-4px;border-radius:50%;border:2px solid rgba(159,211,181,.6);animation:aip 2.6s infinite}
@keyframes aip{0%{transform:scale(.92);opacity:1}100%{transform:scale(1.25);opacity:0}}
.tabs.dark .tpill{background:rgba(28,34,30,.96);box-shadow:0 10px 30px rgba(0,0,0,.4)}
.tabs.dark .ind:before{background:var(--neo);box-shadow:0 6px 14px rgba(205,235,92,.25)}
.tabs.dark .tab{color:#8B918D}.tabs.dark .tab.on{color:var(--ink)}.tabs.dark .tab.on svg{stroke:var(--ink)}
.tabs.dark .aifab{background:radial-gradient(circle at 30% 25%,#EFFAC0,var(--neo) 60%,#B5D547);box-shadow:0 10px 24px rgba(0,0,0,.4),inset 0 0 0 4px rgba(255,255,255,.3)}
.tabs.dark .aifab:after{border-color:rgba(205,235,92,.5)}
.screen.tabbed .page{padding-bottom:calc(96px + env(safe-area-inset-bottom))}
.screen.tabbed .page .dash,.screen.tabbed .page .dk{margin-bottom:calc(-96px - env(safe-area-inset-bottom));padding-bottom:calc(110px + env(safe-area-inset-bottom))}
.toast{bottom:calc(98px + env(safe-area-inset-bottom))}

/* ---- Progreso (painel escuro) ---- */
.dash{min-height:100%;background:var(--ink);color:#fff;margin-top:calc(-1*env(safe-area-inset-top));padding:calc(14px + env(safe-area-inset-top)) 16px 24px}
.dh{display:flex;align-items:center;gap:12px;padding:6px 2px 4px}
.dav{width:44px;height:44px;border-radius:50%;background:linear-gradient(160deg,#2A6249,#163A2B);display:grid;place-items:center;font-weight:800;font-size:18px;box-shadow:0 0 0 2px rgba(255,255,255,.12)}
.dh>b{flex:1;font-size:26px;font-weight:700;letter-spacing:-.02em}
.streak{display:flex;align-items:center;gap:4px;border:1px solid rgba(255,255,255,.14);border-radius:999px;padding:7px 13px;font-size:15px;font-weight:700}
.streak svg{width:15px;height:15px;fill:var(--neo);stroke:none}.streak em{font-style:normal}
.wstrip{display:flex;justify-content:space-between;margin:18px 0 18px}
.wd{display:flex;flex-direction:column;align-items:center;gap:9px;width:40px;animation:rise .45s var(--ease) both;animation-delay:var(--dl)}
.wd span{font-size:12.5px;color:#7D837F}.wd.t span{color:#fff;font-weight:700}
.wd i{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;font-style:normal;font-size:13px;position:relative}
.wd .ok{background:var(--neo)}.wd .ok svg{width:16px;height:16px;stroke:var(--ink);stroke-width:3;fill:none;stroke-linecap:round;stroke-linejoin:round}
.wd .nn{color:#8B918D}.wd .nn.f{color:#5C625E}
.wd .arc svg{position:absolute;inset:0;width:32px;height:32px;transform:rotate(-90deg)}
.wd .arc circle{fill:none;stroke:#2A302C;stroke-width:3}
.wd .arc .fg{stroke:var(--neo);stroke-linecap:round;stroke-dasharray:94.2;stroke-dashoffset:94.2;animation:arcIn 1.2s .3s var(--ease) forwards}
@keyframes arcIn{to{stroke-dashoffset:76}}
.wd .arc em{font-style:normal;color:#fff;font-weight:600}
.dc{display:block;width:100%;text-align:left;background:var(--card2);border:1px solid rgba(255,255,255,.05);border-radius:22px;padding:16px;color:#fff;animation:rise .5s var(--ease) both}
.lab{display:flex;align-items:center;gap:8px;font-size:15px;font-weight:500}
.ico{display:grid;place-items:center}.ico svg{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.ico.neo{color:var(--neo)}
.dct{display:flex;justify-content:space-between;align-items:flex-start}
.nums{display:flex;gap:18px;text-align:right}
.nums b{display:block;font-size:30px;font-weight:600;letter-spacing:-.02em;line-height:1;font-variant-numeric:tabular-nums}
.nums small,.r2 small{display:block;font-size:12px;color:#6E746F;margin-top:4px}
.chart{display:flex;justify-content:space-between;gap:7px;margin-top:22px}
.bc{flex:1;display:flex;flex-direction:column;align-items:center;gap:9px;min-width:0}
.bt{position:relative;width:100%;height:150px;display:flex;align-items:flex-end}
.bt i{position:relative;display:block;width:100%;height:var(--h);border-radius:11px;transform-origin:bottom;animation:barUp .7s var(--ease) both;animation-delay:var(--dl)}
.bt i.on{background:var(--neo)}.bt i.gh{background:#222824}
@keyframes barUp{from{transform:scaleY(0)}}
.bc>span{font-size:12.5px;color:#7D837F}.bc>span.t{color:#fff;font-weight:700}
.tp{position:absolute;left:50%;bottom:calc(100% + 8px);transform:translateX(-50%);background:#2A302C;color:#fff;font-size:11.5px;font-weight:600;white-space:nowrap;padding:5px 9px;border-radius:999px;animation:tipIn .35s .7s var(--ease) both}
.bc:focus .tp,.tp{pointer-events:none}
@keyframes tipIn{from{opacity:0;transform:translate(-50%,6px) scale(.8)}}
.dgrid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:12px}
.dgrid .dc{padding:15px;animation-delay:.12s}.dgrid .dc:nth-child(n+3){animation-delay:.2s}
.dc.sm .lab{font-size:14.5px}
.r2{display:flex;justify-content:space-between;align-items:flex-end;margin-top:12px;gap:8px}
.r2 b{font-size:26px;font-weight:600;letter-spacing:-.02em;line-height:1;font-variant-numeric:tabular-nums}
.rg{width:58px;height:58px;transform:rotate(-90deg);flex:none}
.rg circle{fill:none;stroke-width:6}.rg .rb{opacity:.16}
.rg .rf{stroke-linecap:round;stroke-dasharray:113.1;stroke-dashoffset:calc(113.1*(1 - var(--p)));transition:stroke-dashoffset .7s var(--ease);animation:ringIn 1.2s .25s var(--ease) both}
@keyframes ringIn{from{stroke-dashoffset:113.1}}
.mb{display:flex;align-items:flex-end;gap:4px;height:44px}
.mb i{width:6px;height:var(--h);border-radius:3px;background:#3A3226;transform-origin:bottom;animation:barUp .6s var(--ease) both;animation-delay:var(--dl)}
.mb i.on{background:#F5A524}
.spk{width:74px;height:44px;flex:none;overflow:visible}
.spk .ln{fill:none;stroke:var(--neo);stroke-width:2.2;stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:1;animation:draw 1.3s .35s var(--ease) forwards;vector-effect:non-scaling-stroke}
.spk .ln.ghost{stroke:#3A403C;stroke-dasharray:.04 .03;stroke-dashoffset:0;animation:none}
.spk .ar{opacity:0;animation:fadeIn .8s 1s forwards}
@keyframes draw{to{stroke-dashoffset:0}}
.dsec{display:flex;justify-content:space-between;align-items:baseline;margin:24px 2px 12px}
.dsec b{font-size:19px;font-weight:700}.dsec button{color:#7D837F;font-size:13.5px}
.dcar{margin:0 -16px;padding:0 16px 4px}
.wc{position:relative;flex:none;width:220px;height:150px;border-radius:20px;overflow:hidden;scroll-snap-align:start;text-align:left;color:#fff}
.wc .ph{position:absolute;inset:0}
.wc:after{content:"";position:absolute;inset:0;background:linear-gradient(transparent 35%,rgba(0,0,0,.75))}
.wtx{position:absolute;left:14px;right:14px;bottom:12px;z-index:1}
.wtx b{display:block;font-size:16px}.wtx small{font-size:12px;opacity:.8}
.selbig{width:100%;font-size:20px;font-weight:600;padding:14px;border:1.5px solid var(--line);border-radius:14px;margin:14px 0 4px;background:var(--bg);color:var(--tx)}
.stepper{display:flex;align-items:center;justify-content:space-between;margin:18px 6px 6px}
.stepper>button{width:56px;height:56px;border-radius:50%;background:var(--gl);color:var(--g);font-size:28px;font-weight:500}
.stepper>button[data-p]{background:var(--g);color:#fff}
.stepper div{text-align:center}.stepper b{display:block;font-size:34px;font-variant-numeric:tabular-nums}.stepper small{color:var(--mut);font-size:12px}

/* ---- assistente ---- */
.chat{position:absolute;inset:0;z-index:50;background:var(--bg);display:flex;flex-direction:column;animation:sheetUp .34s var(--ease)}
.chat.out{animation:chatOut .26s ease forwards}
@keyframes chatOut{to{transform:translateY(30%);opacity:0}}
.chd{display:flex;align-items:center;gap:12px;padding:calc(14px + env(safe-area-inset-top)) 16px 14px;color:#fff;
  background:radial-gradient(90% 90% at 100% 0,rgba(159,211,181,.25),transparent 60%),linear-gradient(165deg,#2A6249,#163A2B);border-radius:0 0 24px 24px}
.cav{width:42px;height:42px;border-radius:50%;background:radial-gradient(circle at 30% 25%,#D9F2E2,#9FD3B5);display:grid;place-items:center;flex:none}
.cav svg{width:22px;height:22px;fill:#163A2B}
.cti{flex:1;min-width:0}.cti b{display:block;font-size:16px}.cti small{font-size:12px;opacity:.75}
.chd .circ{background:rgba(255,255,255,.15);box-shadow:none}.chd .circ svg{stroke:#fff}
.cms{flex:1;overflow-y:auto;padding:16px 14px 8px;display:flex;flex-direction:column;gap:8px}
.msg{max-width:84%;padding:11px 14px;border-radius:18px;font-size:14.5px;line-height:1.45;white-space:pre-wrap;animation:rise .3s var(--ease) both}
.msg.assistant{align-self:flex-start;background:#fff;box-shadow:var(--sh);border-bottom-left-radius:6px}
.msg.user{align-self:flex-end;background:var(--g);color:#fff;border-bottom-right-radius:6px}
.msg.alert-m{background:#FFF1DC;color:#6B4200;box-shadow:none}
.msg.typing{display:flex;gap:4px;padding:14px}
.msg.typing i{width:7px;height:7px;border-radius:50%;background:#9AA39D;animation:dot 1s infinite}
.msg.typing i:nth-child(2){animation-delay:.15s}.msg.typing i:nth-child(3){animation-delay:.3s}
@keyframes dot{0%,60%,100%{transform:none;opacity:.5}30%{transform:translateY(-4px);opacity:1}}
.csg{display:flex;gap:8px;overflow-x:auto;padding:4px 14px 10px;scrollbar-width:none}
.csg button{flex:none;background:#fff;border:1px solid #D7E4DB;color:var(--g);font-size:13px;font-weight:500;padding:9px 13px;border-radius:999px}
.cin{display:flex;gap:8px;padding:8px 12px calc(12px + env(safe-area-inset-bottom));background:var(--bg)}
.cin input{flex:1;min-width:0;font-size:16px;padding:13px 16px;border-radius:999px;border:1.5px solid var(--line);background:#fff;outline:none}
.cin input:focus{border-color:var(--g)}
.cin button{width:48px;height:48px;border-radius:50%;background:var(--g);display:grid;place-items:center;flex:none}
.cin button svg{width:20px;height:20px;stroke:#fff;fill:none;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}

/* ---- boas-vindas ---- */
.wel{flex:1;display:flex;flex-direction:column;background:#F7F6F1;overflow:hidden;padding:calc(18px + env(safe-area-inset-top)) 0 calc(18px + env(safe-area-inset-bottom))}
.wlogo{display:flex;align-items:center;justify-content:center;gap:8px;color:#163A2B;animation:fadeIn .6s both}
.wlogo svg{width:24px;height:24px;fill:none;stroke:#163A2B;stroke-width:1.5}
.wlogo b{font-size:26px;font-weight:800;letter-spacing:-.04em}
.coll{position:relative;height:min(52dvh,430px);margin:14px auto 0;width:100%;max-width:400px}
.pc{position:absolute;border-radius:20px;box-shadow:0 14px 30px rgba(22,58,43,.16),0 0 0 4px #fff;background-color:#DCE9E1;animation:cardIn .8s var(--ease) both,float 6s ease-in-out infinite}
.c1{left:7%;top:3%;width:41%;height:44%;--r:-5deg;animation-delay:.05s,.9s}
.c2{right:6%;top:9%;width:42%;height:52%;--r:6deg;animation-delay:.15s,1.4s}
.c3{left:9%;top:54%;width:42%;height:38%;--r:4deg;animation-delay:.25s,1.1s}
.c4{right:9%;top:66%;width:36%;height:26%;--r:-6deg;animation-delay:.35s,1.7s}
@keyframes cardIn{from{opacity:0;transform:translateY(40px) rotate(0) scale(.85)}to{opacity:1;transform:rotate(var(--r))}}
@keyframes float{0%,100%{transform:rotate(var(--r)) translateY(0)}50%{transform:rotate(var(--r)) translateY(-6px)}}
.pplus{position:absolute;right:-8px;bottom:-8px;width:42px;height:42px;border-radius:50%;background:#163A2B;display:grid;place-items:center;box-shadow:0 0 0 3px #fff}
.pplus svg{width:18px;height:18px;fill:#fff;stroke:none}
.tagw{position:absolute;display:flex;align-items:center;gap:7px;font-size:13.5px;font-weight:600;border-radius:999px;padding:10px 15px;white-space:nowrap;animation:cardIn .8s .55s var(--ease) both}
.tagw svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.6}
.t1{right:12%;top:57%;background:#fff;color:#163A2B;box-shadow:0 8px 20px rgba(0,0,0,.1);--r:-4deg}
.t2{right:5%;top:82%;background:linear-gradient(180deg,#4F7A68,#2A5443);color:#fff;font-size:16px;border-radius:16px;padding:14px 18px;box-shadow:0 10px 24px rgba(22,58,43,.25);--r:-4deg;animation-delay:.7s}
.t2 svg{stroke:#F2C9B8}
.wbody{position:static;flex:1;display:flex;flex-direction:column;align-items:center;text-align:center;padding:10px 26px 0;color:#163A2B}
.wbody small{font-size:12px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;animation:rise .6s .5s both}
.wbody h1{font-size:clamp(30px,9vw,38px);font-weight:800;letter-spacing:-.04em;line-height:1.02;margin-top:auto;animation:rise .6s .6s both}
.wbody p{font-size:15px;color:#7C847F;line-height:1.45;margin-top:10px;animation:rise .6s .7s both}
.wbody .pill{margin-top:20px;padding:17px;font-size:16px;background:#163A2B;animation:rise .6s .8s both}
.wbody .wfoot{font-size:14px;margin-top:14px}.wfoot button{color:#163A2B;font-weight:700;text-decoration:underline}

/* ===== v5: Progreso claro ===== */
.dash{--neo:#1F4D3A;background:linear-gradient(180deg,#E3EEE7 0,var(--bg) 260px);color:var(--tx)}
.dav{color:#fff}
.dh>b{color:#163A2B}
.streak{background:#fff;border-color:transparent;box-shadow:var(--sh);color:#163A2B}
.wd span{color:#8A8F8B}.wd.t span{color:#163A2B}
.wd .ok svg{stroke:#fff}
.wd .nn{color:#6F7571}.wd .nn.f{color:#B3B8B4}
.wd .arc circle{stroke:#D6E2DA}.wd .arc em{color:#163A2B}
.dc{background:#fff;border-color:transparent;box-shadow:var(--sh);color:var(--tx)}
.nums small,.r2 small{color:#8A8F8B}
.bt i.on{background:linear-gradient(180deg,#3A7D5E,#1F4D3A)}
.bt i.gh{background:#ECF1EE}
.bc>span{color:#8A8F8B}.bc>span.t{color:#163A2B}
.tp{background:#163A2B}
.rg .rb{opacity:.14}
.mb i{background:#F3E8D6}
.spk .ln.ghost{stroke:#C9D3CD}
.dsec b{color:#163A2B}.dsec button{color:var(--g);font-weight:600}

/* ===== v6: Dora (mascote pixelado) + chat animado ===== */
.dora{position:relative;display:inline-block;width:var(--s);height:var(--s);border-radius:30%;flex:none;
  background:var(--px) center/100% 100%,linear-gradient(155deg,#A8EBC2 0%,#4FB984 50%,#24774F 100%);image-rendering:pixelated;
  box-shadow:inset 0 calc(var(--s)*-.06) 0 rgba(0,0,0,.18),inset 0 calc(var(--s)*.04) 0 rgba(255,255,255,.25)}
.dora .eye{position:absolute;top:36%;width:calc(var(--s)*.1);height:calc(var(--s)*.24);background:#fff;border-radius:calc(var(--s)*.03);
  transform-origin:center;animation:blink 4.2s infinite;transition:height .18s,top .18s}
.dora .eye:first-child{left:32%}.dora .eye:last-child{right:32%}
@keyframes blink{0%,90%,100%{transform:scaleY(1)}93%{transform:scaleY(.12)}96%{transform:scaleY(1)}}
.dora.happy .eye{top:40%;width:calc(var(--s)*.16);height:calc(var(--s)*.1);background:none;border:calc(var(--s)*.045) solid #fff;border-bottom:0;border-radius:99px 99px 0 0;animation:none}
.dora.happy .eye:first-child{left:27%}.dora.happy .eye:last-child{right:27%}
.dora.think .eye{animation:look 1.4s ease-in-out infinite}
@keyframes look{0%,100%{transform:translateX(0)}35%{transform:translateX(calc(var(--s)*-.05))}70%{transform:translateX(calc(var(--s)*.05))}}
.dora.boing{animation:boing .6s cubic-bezier(.34,1.6,.5,1)}
@keyframes boing{0%{transform:scale(1)}30%{transform:scale(.86,1.1)}60%{transform:scale(1.08,.94)}100%{transform:scale(1)}}
.aifab{background:#163A2B!important;box-shadow:0 10px 24px rgba(22,58,43,.3),inset 0 0 0 3px rgba(159,211,181,.35)!important}
.aifab .dora{border-radius:32%}
.tabs.dark .aifab{background:#24302A!important}

.chat{background:#0D1A14;color:#fff;overflow:hidden}
.stars{position:absolute;left:50%;top:0;width:min(100%,420px);height:300px;transform:translateX(-50%);pointer-events:none;image-rendering:pixelated;transition:opacity .2s}
.cbar{position:relative;z-index:2;display:flex;align-items:center;justify-content:space-between;padding:calc(10px + env(safe-area-inset-top)) 14px 8px}
.cbar .circ{background:rgba(255,255,255,.1);box-shadow:none}.cbar .circ svg{stroke:#fff}
.mini{display:flex;align-items:center;gap:9px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.08);border-radius:999px;padding:5px 14px 5px 6px;opacity:0;transition:opacity .15s}
.mini b{display:block;font-size:14.5px;line-height:1.1}.mini small{display:flex;align-items:center;gap:5px;font-size:11px;color:#9FBFAD}
.mini small i{width:6px;height:6px;border-radius:50%;background:#5BE38F;box-shadow:0 0 6px #5BE38F}
.chat .cms{position:relative;z-index:1;padding:0 14px 10px}
.chero{--p:0;display:flex;flex-direction:column;align-items:center;text-align:center;padding:34px 20px 22px;transform:translateY(calc(var(--p)*-30px)) scale(calc(1 - var(--p)*.35));opacity:calc(1 - var(--p)*1.1);transform-origin:top center}
.dbtn{border-radius:30%;filter:drop-shadow(0 0 26px rgba(91,227,143,.35));animation:hover 3.6s ease-in-out infinite}
@keyframes hover{50%{transform:translateY(-5px)}}
.chero h2{font-size:30px;font-weight:700;margin-top:16px;letter-spacing:-.02em}
.chero p{font-size:14px;color:#9FB3A8;margin-top:4px}
.chat .msg.assistant{background:#18291F;color:#EAF4EE;box-shadow:none;border:1px solid rgba(255,255,255,.05)}
.chat .msg.user{background:#E6F3EA;color:#0D1A14}
.chat .msg.alert-m{background:#3A2C12;color:#FFD99A;border:0}
.chat .msg.typing i{background:#7FA591}
.chat .csg button{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.1);color:#CFE8D9}
.chat .cin{background:#0D1A14}
.chat .cin input{background:#15241C;border-color:rgba(255,255,255,.08);color:#fff}
.chat .cin input::placeholder{color:#7E9488}
.chat .cin input:focus{border-color:#4FB984}
.chat .cin button{background:#E6F3EA}.chat .cin button svg{stroke:#0D1A14}

/* ===== v7: chat da Dora claro ===== */
.chat{background:linear-gradient(180deg,#DDEFE4 0,#EEF6F1 300px,var(--bg) 520px);color:var(--tx)}
.cbar .circ{background:#fff;box-shadow:var(--sh)}.cbar .circ svg{stroke:#163A2B}
.mini{background:#fff;border-color:transparent;box-shadow:var(--sh)}
.mini b{color:#163A2B}.mini small{color:#5E7A6A}
.chero h2{color:#163A2B}.chero p{color:#6B7F73}
.dbtn{filter:drop-shadow(0 10px 22px rgba(36,119,79,.3))}
.chat .msg.assistant{background:#fff;color:var(--tx);box-shadow:var(--sh);border:0}
.chat .msg.user{background:var(--g);color:#fff}
.chat .msg.alert-m{background:#FFF1DC;color:#6B4200}
.chat .msg.typing i{background:#9AA39D}
.chat .csg button{background:#fff;border-color:#D7E4DB;color:var(--g)}
.chat .cin{background:transparent}
.chat .cin input{background:#fff;border-color:var(--line);color:var(--tx)}
.chat .cin input::placeholder{color:#9AA39D}
.chat .cin button{background:var(--g)}.chat .cin button svg{stroke:#fff}

/* ===== v8: Comunidad ===== */
.dk .ghr .circ{background:rgba(255,255,255,.15);box-shadow:none;flex:none}.dk .ghr .circ svg{stroke:#fff}
.gh .fchip.on{background:#fff;color:#163A2B;border-color:#fff}
.compose{display:flex;align-items:center;gap:10px;margin:6px 16px 4px;width:calc(100% - 32px);background:#fff;border-radius:18px;padding:10px 10px 10px 12px;box-shadow:var(--sh);text-align:left}
.compose span:nth-child(2){flex:1;color:#8A8F8B;font-size:14.5px}
.compose b{font-size:13px;color:#fff;background:var(--g);border-radius:999px;padding:8px 14px}
.pav{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;font-weight:700;font-size:15px;color:#163A2B;flex:none;background:#CFE8D9}
.pav.sm{width:24px;height:24px;font-size:11px}
.feed{padding:4px 0 10px}
.pst{display:flex;gap:11px;padding:14px 16px 12px;border-bottom:1px solid #E5EAE7;animation:rise .35s var(--ease) both;transition:opacity .3s,transform .3s}
.pst.gone{opacity:0;transform:translateX(-20px);pointer-events:none}
.pl{position:relative;flex:none;display:flex;flex-direction:column;align-items:center}
.pst.open>.pl:after{content:"";position:absolute;top:44px;bottom:-6px;width:2px;background:#DCE5E0;border-radius:2px}
.pbd{flex:1;min-width:0}
.phd{display:flex;align-items:center;gap:6px;min-width:0}
.phd b{font-size:14.5px;white-space:nowrap}
.pm{font-size:12.5px;color:#8A8F8B;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1}
.badge{font-size:10.5px;font-weight:700;color:var(--g);background:var(--gl);border-radius:6px;padding:2px 6px}
.pdots{width:28px;height:24px;display:grid;place-items:center;color:#9AA39D;flex:none}
.pdots svg{width:18px;height:18px;fill:currentColor;stroke:none}
.ptx{font-size:14.5px;line-height:1.45;margin-top:3px;white-space:pre-wrap;word-wrap:break-word}
.ptop{display:inline-flex;align-items:center;gap:4px;font-size:12px;color:#6B726D;margin-top:8px}
.pact{display:flex;gap:22px;margin-top:9px}
.pact button{display:flex;align-items:center;gap:5px;color:#6B726D;font-size:13px;min-width:34px}
.pact svg{width:19px;height:19px;stroke:currentColor;fill:none;stroke-width:1.7;stroke-linejoin:round}
.pact [data-like].on{color:#E0457B}.pact [data-like].on svg{fill:#E0457B;stroke:#E0457B}
.pact [data-like].pop svg{animation:hpop .45s cubic-bezier(.34,1.6,.5,1)}
@keyframes hpop{0%{transform:scale(1)}40%{transform:scale(1.35)}100%{transform:scale(1)}}
.more{font-size:13px;font-weight:600;color:var(--g);margin-top:8px}
.first{display:flex;align-items:center;gap:8px;width:100%;margin-top:10px;background:#EEF3F0;border-radius:999px;padding:6px 14px 6px 6px;font-size:13px;color:#8A8F8B;text-align:left}
.thr{margin-top:4px}
.pst.rp{padding:12px 0 2px;border:0;animation-duration:.25s}
.pst.rp .pav{width:28px;height:28px;font-size:12px}
.pst.rp .ptx{font-size:14px}
.ach{display:flex;align-items:center;gap:14px;margin-top:8px;background:linear-gradient(135deg,#E6F3EA,#D2EADB);border-radius:18px;padding:14px 16px}
.ach small{display:block;font-size:10.5px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--g)}
.ach b{display:block;font-family:Georgia,"Times New Roman",serif;font-size:19px;font-weight:600;color:#163A2B;margin-top:2px}
.ach span{font-size:12px;color:#5E7A6A}
.dpost{background:linear-gradient(180deg,#F1F8F4,transparent)}
.dpost .dora{border-radius:32%}
.loadm{display:block;margin:16px auto;font-size:14px;font-weight:600;color:var(--g);padding:10px 20px}
.empty{text-align:center;padding:40px 30px;color:#8A8F8B;font-size:14px;line-height:1.5}.empty p{margin-top:14px}
.sk{height:96px;margin:12px 16px;border-radius:16px;background:linear-gradient(90deg,#E8EDEA 0,#F4F7F5 50%,#E8EDEA 100%);background-size:200% 100%;animation:shim 1.2s infinite}
.sk.sm{height:48px;margin:8px 0}
@keyframes shim{to{background-position:-200% 0}}
.ngate{text-align:center}.ngate h3{margin-top:12px}.ngate p{margin:6px 0 2px}
.rules{list-style:none;padding:0!important;text-align:left;margin:10px 4px 6px!important}.rules li{padding:3px 0}
.cmp{display:flex;align-items:center;gap:10px;margin:12px 0 4px}.cmp b{display:block;font-size:14.5px}.cmp small{color:#8A8F8B;font-size:12px}
.ta{width:100%;min-height:110px;border:0;outline:none;resize:none;font:inherit;font-size:16px;line-height:1.45;padding:8px 2px;background:none}
.tps{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}.tps .fchip{box-shadow:none;border:1px solid var(--line);font-size:12.5px;padding:7px 11px}
.cmpf{display:flex;align-items:center;justify-content:space-between;margin-top:12px}.cmpf small{color:#9AA39D;font-size:12px}
.cmpf .pill{margin:0}
.danger-b{background:#B3261E!important}
.done-ov .pill.ghost{background:var(--gl);color:var(--g)}
.ptop{display:flex;width:fit-content}

/* ===== v9: áudio + mensagens privadas ===== */
.voice{display:flex;align-items:center;gap:9px;background:#EEF4F0;border-radius:999px;padding:6px 12px 6px 6px;margin-top:8px;max-width:290px;min-width:220px}
.voice.mine{background:rgba(255,255,255,.18)}
.vp{width:36px;height:36px;border-radius:50%;background:var(--g);display:grid;place-items:center;flex:none}
.vp svg{width:15px;height:15px;fill:#fff}.vp .i-pause{display:none}
.voice.playing .i-play{display:none}.voice.playing .i-pause{display:block}
.voice.loading .vp{animation:pulse 1s infinite}
.vw{flex:1;display:flex;align-items:center;gap:2px;height:28px;cursor:pointer}
.vw i{flex:1;min-width:2px;border-radius:2px;background:#A9C3B4;transition:background .15s}
.vw i.on{background:var(--g)}
.vt{font-size:12px;color:#5E7A6A;font-variant-numeric:tabular-nums;min-width:30px}
.vs{font-size:11px;font-weight:700;color:var(--g);background:#fff;border-radius:999px;padding:3px 7px;flex:none}
.voice.mine .vp{background:#fff}.voice.mine .vp svg{fill:var(--g)}
.voice.mine .vw i{background:rgba(255,255,255,.45)}.voice.mine .vw i.on{background:#fff}
.voice.mine .vt{color:rgba(255,255,255,.85)}.voice.mine .vs{background:rgba(255,255,255,.25);color:#fff}
.voice.sm{min-width:190px}.voice.sm .vp{width:30px;height:30px}
.chat .msg.vmsg{padding:6px;max-width:88%;background:var(--g)}
.chat .msg.vmsg .voice{margin:0}
.cap{display:block;font-size:12.5px;color:rgba(255,255,255,.85);padding:6px 8px 2px;font-style:italic;white-space:normal}

/* barra com microfone */
.vin{display:flex;gap:8px;align-items:center;width:100%}
.vin input{flex:1;min-width:0;font-size:16px;padding:13px 16px;border-radius:999px;border:1.5px solid var(--line);background:#fff;outline:none}
.vin input:focus{border-color:var(--g)}
.vbtn{position:relative;width:48px;height:48px;border-radius:50%;background:var(--g);display:grid;place-items:center;flex:none;touch-action:none;-webkit-user-select:none;user-select:none}
.vbtn svg{width:21px;height:21px;stroke:#fff;fill:none;stroke-width:2.1;stroke-linecap:round;stroke-linejoin:round;transition:transform .2s,opacity .2s}
.vbtn .snd{position:absolute;inset:0;display:grid;place-items:center;opacity:0;transform:scale(.6);transition:.2s}
.vbtn.txt>svg{opacity:0;transform:scale(.6)}.vbtn.txt .snd{opacity:1;transform:none}
.recording .vbtn,.vbtn:active{transform:scale(1.15)}
.vrec{display:flex;align-items:center;gap:10px;width:100%;height:50px;background:#fff;border-radius:999px;padding:0 6px 0 8px;box-shadow:var(--sh);animation:fadeIn .15s;transform:translateX(var(--dx,0))}
.vdel{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;flex:none;color:#B3261E}
.vdel svg{width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.vdot{width:10px;height:10px;border-radius:50%;background:#E5484D;flex:none;animation:blinkr 1s infinite}
@keyframes blinkr{50%{opacity:.25}}
.vtm{font-size:14px;font-weight:600;font-variant-numeric:tabular-nums;min-width:34px}
.vlive{flex:1;display:flex;align-items:center;justify-content:flex-end;gap:2px;height:26px;overflow:hidden}
.vlive i{width:3px;flex:none;border-radius:2px;background:var(--g);animation:fadeIn .1s}
.vhint{font-size:12px;color:#9AA39D;white-space:nowrap}
.vsend{width:42px;height:42px;border-radius:50%;background:var(--g);display:none;place-items:center;flex:none}
.vsend svg{width:19px;height:19px;stroke:#fff;fill:none;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.vrec.locked .vsend{display:grid}.vrec.locked .vhint{display:none}
.vrec:not(.locked) .vdel{visibility:hidden}
.chat .cin{display:block}

/* composer da comunidade */
.crec{display:flex;align-items:center;gap:8px;margin-top:6px}
.recb{display:flex;align-items:center;gap:7px;font-size:13.5px;font-weight:600;color:var(--g);background:var(--gl);border-radius:999px;padding:9px 14px}
.recb svg{width:17px;height:17px;stroke:currentColor;fill:none;stroke-width:2}
.crl{flex:1;display:flex;align-items:center;gap:10px;background:#fff;border:1.5px solid #F2C9C9;border-radius:999px;padding:6px 6px 6px 14px}
.crl .pill{margin:0}
.crec .voice.mine{background:var(--g);margin:0}

/* comunidade: caixa de entrada */
.ibx{position:relative}.ibx em{position:absolute;top:-3px;right:-3px;min-width:18px;height:18px;border-radius:9px;background:#E5484D;color:#fff;font-size:10.5px;font-style:normal;font-weight:700;display:grid;place-items:center;padding:0 4px;box-shadow:0 0 0 2px #1F4D3A}
.pl[data-au],.phd b[data-au]{cursor:pointer}
.aut{text-align:center}.aut h3{margin-top:10px}.aut .pill{margin-top:16px}.aut .pill svg{width:18px;height:18px;stroke:#fff;fill:none;stroke-width:1.8}
.pav.xl{width:72px;height:72px;font-size:28px;margin:4px auto 0}
.seg{display:flex;gap:6px;margin:4px 16px 8px;background:#E6ECE8;border-radius:12px;padding:4px}
.seg button{flex:1;padding:9px;border-radius:9px;font-size:14px;font-weight:600;color:#6B726D}
.seg button.on{background:#fff;color:#163A2B;box-shadow:var(--sh)}
.seg em{font-style:normal;margin-left:6px;color:#E5484D}
.ibl{padding:0 8px}
.ibr{display:flex;align-items:center;gap:12px;width:100%;padding:12px 10px;border-radius:14px;text-align:left}
.ibr .pav{width:46px;height:46px;font-size:18px}
.ibt{flex:1;min-width:0}.ibt b{display:block;font-size:15px}.ibt span{display:block;font-size:13.5px;color:#7A807C;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ibr.un .ibt span{color:var(--tx);font-weight:600}
.ibm{display:flex;flex-direction:column;align-items:flex-end;gap:6px}.ibm small{font-size:11.5px;color:#9AA39D}.ibm i{width:10px;height:10px;border-radius:50%;background:var(--g)}
/* chat privado */
.dmw{display:flex;flex-direction:column;height:100%;background:linear-gradient(180deg,#EEF6F1,var(--bg))}
.dmh{gap:10px}.dmh .back{padding-right:2px}
.dmn{flex:1;display:flex;align-items:center;gap:10px;min-width:0}.dmn .pav{width:38px;height:38px}
.dmn b{display:block;font-size:15px}.dmn small{font-size:12px;color:#7A807C}
.dml{flex:1;overflow-y:auto;padding:12px 14px;display:flex;flex-direction:column;gap:6px;touch-action:pan-y}
.dmm{align-self:flex-start;max-width:80%;background:#fff;border-radius:18px;border-bottom-left-radius:6px;padding:9px 12px 6px;box-shadow:var(--sh);animation:rise .25s var(--ease) both}
.dmm span{font-size:14.5px;line-height:1.4;white-space:pre-wrap;word-wrap:break-word}
.dmm small{display:block;text-align:right;font-size:10.5px;color:#9AA39D;margin-top:2px}
.dmm.me{align-self:flex-end;background:var(--g);color:#fff;border-radius:18px;border-bottom-right-radius:6px}
.dmm.me small{color:rgba(255,255,255,.7)}
.dmm .voice{margin:0 0 2px;background:#EEF4F0}.dmm.me .voice.mine{background:transparent;padding-left:0}
.dmf{padding:8px 12px calc(12px + env(safe-area-inset-bottom))}
.dmf .cin{padding:0}
.dmnote{text-align:center;font-size:13px;color:#7A807C;padding:12px 20px}.dmnote.sm{padding:0 0 8px;font-size:12px}
.dmreq{background:#fff;border-radius:20px;padding:16px;box-shadow:var(--sh);text-align:center}
.dmreq b{font-size:15px}.dmreq p{font-size:13px;color:#7A807C;margin:4px 0 12px}
.dmreq>div{display:flex;gap:8px}.dmreq>div .pill{flex:1}
.lnk{font-size:12.5px;color:#B3261E;margin-top:10px}
.cin .vrec:not(.locked) .vsend{display:none!important}
.cin .vrec .vdel{background:none;width:38px;height:38px}
.cin .vrec .vdel svg{stroke:#B3261E}
.vt{white-space:nowrap}.dmm .voice{min-width:230px}

/* ===== Nível "metodo": cadeados nas abas bloqueadas + tela de upsell do app completo ===== */
.tabs .tab .lk,.aifab .lk{position:absolute;display:grid;place-items:center;width:15px;height:15px;border-radius:50%;background:#163A2B;border:1.5px solid #fff;pointer-events:none}
.tabs .tab .lk{top:9px;left:calc(50% + 5px)}
.aifab .lk{right:-1px;bottom:-1px;background:#9FD3B5;border-color:#fff}
.tabs .tab .lk svg,.aifab .lk svg{width:8px;height:8px;fill:none;stroke:#fff;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}
.aifab .lk svg{stroke:#163A2B}
.tabs .tab.lock>svg{opacity:.5}
.upsell{position:absolute;inset:0;z-index:60;display:flex;flex-direction:column;color:#fff;background:linear-gradient(180deg,#163A2B 0,#1F4D3A 70%,#2E6B52 100%);animation:sheetUp .34s var(--ease)}
.upsell .circ{position:absolute;top:calc(12px + env(safe-area-inset-top));right:14px;z-index:2;background:rgba(255,255,255,.12);box-shadow:none}
.upsell .circ svg{stroke:#fff}
.upb{flex:1;overflow-y:auto;padding:calc(54px + env(safe-area-inset-top)) 22px 12px;text-align:center;scrollbar-width:none}
.upb::-webkit-scrollbar{display:none}
.upm{display:flex;justify-content:center;margin-bottom:14px}
.upm .dora{border-radius:30%}
.upb h2{font-size:25px;font-weight:800;letter-spacing:-.02em}
.upa{font-size:14px;color:#BFE0CC;margin:8px 0 18px;line-height:1.45}
.upl{list-style:none;display:flex;flex-direction:column;gap:9px;text-align:left}
.upl li{display:flex;align-items:center;gap:12px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.08);border-radius:16px;padding:11px 13px}
.upl i{width:38px;height:38px;border-radius:50%;background:#9FD3B5;display:grid;place-items:center;flex:none}
.upl i svg{width:20px;height:20px;stroke:#163A2B;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.upl b{display:block;font-size:14.5px}.upl span{display:block;font-size:12.5px;color:#BFE0CC;margin-top:1px}
.upp{margin-top:18px;display:flex;flex-direction:column;align-items:center;gap:2px}
.upp small{font-size:12px;color:#BFE0CC}.upp b{font-size:30px;font-weight:800;letter-spacing:-.02em}
.upf{padding:10px 22px calc(18px + env(safe-area-inset-bottom));text-align:center}
.upsell .pill{background:#9FD3B5;color:#163A2B;padding:15px;font-size:15px;font-weight:700;box-shadow:0 8px 20px rgba(0,0,0,.2)}
.uplink{margin-top:10px;font-size:13.5px;font-weight:600;color:#CDE9D8;text-decoration:underline;padding:8px 12px}
.uplink:disabled{opacity:.5}
.upmsg{min-height:18px;font-size:12.5px;color:#BFE0CC;margin-top:2px;line-height:1.4}

/* ---------- Início: 3 cartões grandes · Bônus · Extras (lançamento enxuto) ---------- */
.tabs .ind{width:calc((100% - 8px)/var(--n,5))}
.gh.hm{padding-bottom:64px}
.gh .hsub{font-size:14.5px;opacity:.8;margin-top:6px}
.ghl{display:flex;align-items:center;gap:12px}
.hcards{position:relative;z-index:2;display:flex;flex-direction:column;gap:14px;padding:0 16px;margin-top:-48px}
.hcard{display:flex;align-items:center;gap:14px;width:100%;min-height:96px;text-align:left;background:#fff;border-radius:24px;padding:18px 18px;box-shadow:0 8px 24px rgba(22,58,43,.09),0 1px 2px rgba(0,0,0,.04);color:var(--tx)}
.hcard .hic{flex:none;width:52px;height:52px;border-radius:16px;display:grid;place-items:center;background:#E6EFEA;color:#1F4D3A}
.hcard .hic svg{width:26px;height:26px;stroke:currentColor;fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.hcard .htx{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}
.hcard .htt{font-size:19px;font-weight:800;letter-spacing:-.01em;line-height:1.2}
.hcard .hsm{font-size:13.5px;color:var(--mut);line-height:1.35}
.hcard .hgo{flex:none;width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#F2F5F3;color:#1F4D3A}
.hcard .hgo svg{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:2.2}
.hcard.main{flex-direction:column;align-items:stretch;gap:8px;padding:20px 20px 18px;background:linear-gradient(150deg,#1F4D3A,#163A2B);color:#fff;box-shadow:0 14px 30px rgba(22,58,43,.28)}
.hcard.main .hrow{display:flex;justify-content:space-between;align-items:center}
.hcard.main .hic{background:rgba(159,211,181,.18);color:#9FD3B5}
.hcard.main .hgo{background:rgba(255,255,255,.12);color:#fff}
.hcard.main .htt{font-size:20px;margin-top:4px}
.hcard.main .hday{font-size:38px;font-weight:800;letter-spacing:-.03em;line-height:1.05;color:#9FD3B5}
.hcard.main .hday span{font-size:22px;color:#fff;opacity:.85;font-weight:700}
.hcard.main .pbar{flex:none;height:9px;margin-top:4px}
.hcard.main .hsm{color:rgba(255,255,255,.78)}
.mlist{padding:4px 16px 28px;display:flex;flex-direction:column;gap:14px}
.mlead{font-size:14px;color:var(--mut);padding:0 4px}
.mcard{background:#fff;border-radius:22px;padding:18px;box-shadow:0 6px 20px rgba(22,58,43,.08)}
.mtop{display:flex;align-items:flex-start;gap:14px;margin-bottom:14px}
.mic{flex:none;width:50px;height:50px;border-radius:15px;display:grid;place-items:center;background:#E6EFEA;color:#1F4D3A}
.mic svg{width:26px;height:26px;stroke:currentColor;fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.mtx{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}
.mtx b{font-size:17px;line-height:1.25}.mtx span{font-size:13px;color:var(--mut);line-height:1.35}
.mbadge{align-self:flex-start;margin-bottom:4px;font-size:11px;font-weight:800;letter-spacing:.03em;text-transform:uppercase;padding:5px 10px;border-radius:999px;background:#9FD3B5;color:#163A2B}
.mbadge.ok{background:#E6EFEA;color:#1F4D3A}
.mbtn{display:flex;align-items:center;justify-content:center;gap:8px;text-decoration:none;min-height:52px;font-size:16px}
.mbtn svg{width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.mbtn.buy{background:#163A2B}
.uplink.mref{color:#1F4D3A;align-self:center}
.mlist .upmsg{color:var(--mut);text-align:center}
