/* Pilates PRO · paleta Grafite & Lima */
:root{
  --bg:#F1F3EF;--card:#FFFFFF;--muted:#E6EAE3;--line:#DCE2D8;--ink:#1F2A27;--soft:#3B4743;--mute:#5A6661;--faint:#7C8781;
  --lima:#B9E15B;--lima2:#A6D23F;--lima-suave:#E3F2C4;--lima-ink:#47650F;--on-lima:#121816;
  --grafite:#1F2A27;--grafite2:#121816;--azul:#4C9BD6;--azul2:#8CC3EC;--ambar:#E9A62A;--perigo:#C93C3C;--ok:#4F8F2B;
  --sombra:0 6px 20px rgba(18,24,22,.08);--r1:12px;--r2:18px;--r3:24px;--nav:72px;
  --fs:15px;
  color-scheme:light;
}
:root[data-theme="dark"]{
  --bg:#121816;--card:#1A2220;--muted:#222C29;--line:#2B3633;--ink:#EEF2EC;--soft:#CBD4CE;--mute:#9DA9A3;--faint:#7A8680;
  --lima-suave:#2C3A1D;--lima-ink:#C6EA6E;--sombra:0 6px 20px rgba(0,0,0,.35);color-scheme:dark;
}
:root[data-fonte="grande"]{--fs:17px}
*{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%;background:var(--bg)}
body{font:500 var(--fs)/1.5 "Plus Jakarta Sans",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;color:var(--ink);background:var(--bg);min-height:100vh;-webkit-font-smoothing:antialiased;overscroll-behavior-y:none}
img,video{display:block;max-width:100%}
a{color:inherit}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer;-webkit-tap-highlight-color:transparent}
input,select{font:inherit;color:var(--ink)}
h1{font-size:1.75em;line-height:1.2;font-weight:800;letter-spacing:-.02em}
h2{font-size:1.4em;line-height:1.25;font-weight:800;letter-spacing:-.015em}
h3{font-size:1.07em;font-weight:700}
small{font-size:.86em;color:var(--mute)}
.ic{width:22px;height:22px;flex:none}
.eyebrow{display:block;font-size:.74em;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--lima-ink)}
#app{max-width:480px;margin:0 auto;min-height:100vh;position:relative}
@media (min-width:520px){body{background:var(--muted)}#app{background:var(--bg);box-shadow:0 0 60px rgba(0,0,0,.12)}}
.tela{padding:calc(env(safe-area-inset-top) + 8px) 16px calc(var(--nav) + env(safe-area-inset-bottom) + 28px);animation:sobe .28s ease}
@keyframes sobe{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}

/* botões */
.btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;min-height:54px;padding:12px 22px;border-radius:999px;background:var(--lima);color:var(--on-lima);font-weight:800;font-size:1.03em;text-decoration:none;transition:transform .12s,background .2s;text-align:center}
.btn:active{transform:scale(.98)}
.btn:disabled{opacity:.55;cursor:not-allowed}
.btn.ghost{background:transparent;color:var(--ink);border:1.5px solid var(--line)}
.btn.danger{background:var(--perigo);color:#fff}
.btn.sm{min-height:42px;padding:8px 16px;font-size:.93em;width:auto}
.btn .ic{width:20px;height:20px}
.perigo-txt{color:var(--perigo)!important}
.ibtn{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:50%;background:var(--card);border:1px solid var(--line);text-decoration:none;flex:none}
.ibtn-esp{width:44px;height:44px;flex:none}
.ibtn.vidro{background:rgba(18,24,22,.45);border:0;color:#fff;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.ibtn.grande{width:56px;height:56px}
.chip{display:inline-flex;align-items:center;gap:6px;padding:5px 12px;border-radius:999px;background:var(--muted);font-size:.84em;font-weight:700;color:var(--soft)}
.chip .ic{width:15px;height:15px}
.chip.lima{background:var(--lima-suave);color:var(--lima-ink)}
.nota{font-size:.88em;color:var(--mute);margin:10px 4px;text-align:center}
.nota a{color:var(--lima-ink);font-weight:700}
.nota.ok{color:var(--ok);display:flex;align-items:center;justify-content:center;gap:6px;font-weight:700}
.aviso{margin:14px 0;padding:12px 14px;border-radius:var(--r1);background:#FFF4DA;color:#6B4A00;font-size:.88em}
:root[data-theme="dark"] .aviso{background:#3A2F14;color:#F4D58A}
.vazio-mini{color:var(--mute);font-size:.9em;padding:10px 0;text-align:center}

/* topo */
.hdr{display:flex;align-items:center;gap:10px;padding:6px 0 4px}
.marca{display:flex;align-items:center;gap:10px;flex:1}
.marca img{border-radius:10px}
.marca b{font-size:1.25em;font-weight:800;letter-spacing:-.02em}
.marca i,.login h1 i,.splash i{font-style:normal;background:var(--lima);color:var(--on-lima);padding:1px 8px;border-radius:8px;font-size:.78em;margin-left:2px;vertical-align:2px}
.sync-dot{width:9px;height:9px;border-radius:50%;background:var(--lima2)}
.sync-dot[data-s="pendente"]{background:var(--ambar)}
.sync-dot[data-s="offline"]{background:var(--faint)}
.av{border-radius:50%;object-fit:cover;flex:none}
.av-ini{display:inline-flex;align-items:center;justify-content:center;background:var(--grafite);color:var(--lima);font-weight:800}
.av-link{display:inline-flex;border-radius:50%;text-decoration:none}
.topbar{display:flex;align-items:center;gap:10px;padding:6px 0 14px;position:sticky;top:0;z-index:5;background:var(--bg)}
.topbar h1{flex:1;font-size:1.25em;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.badge-wrap{position:relative}
.badge{position:absolute;top:-4px;right:-4px;min-width:20px;height:20px;padding:0 5px;border-radius:999px;background:var(--lima);color:var(--on-lima);font:800 11px/20px inherit;font-style:normal;text-align:center}
.ola{margin:12px 2px 14px}
.ola h2{font-size:1.5em}
.ola p{color:var(--mute);margin-top:2px}

/* carrossel */
.carrossel{display:flex;gap:10px;overflow-x:auto;scroll-snap-type:x mandatory;padding:4px 16px 12px;margin:0 -16px;scrollbar-width:none;align-items:flex-start}
.carrossel::-webkit-scrollbar{display:none}
.sem{flex:none;writing-mode:vertical-rl;transform:rotate(180deg);font-size:.68em;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--faint);align-self:center;padding:0 2px}
.dia-mini{flex:none;width:70px;scroll-snap-align:center;display:flex;flex-direction:column;align-items:center;gap:6px}
.dm-img{position:relative;width:70px;height:70px;border-radius:18px;overflow:hidden;background:var(--muted);display:flex;align-items:center;justify-content:center;border:2.5px solid transparent;transition:border-color .2s,transform .2s}
.dm-img img{width:100%;height:100%;object-fit:cover}
.dm-img .ic{width:28px;height:28px;color:var(--lima-ink)}
.dia-mini.sel .dm-img{border-color:var(--lima);transform:translateY(-2px);box-shadow:0 6px 16px rgba(141,179,58,.35)}
.dia-mini.bloq .dm-img img{opacity:.45;filter:grayscale(.6)}
.dia-mini.feito .dm-img::after{content:"";position:absolute;inset:0;background:rgba(185,225,91,.28)}
.dm-b{position:absolute;right:5px;bottom:5px;width:22px;height:22px;border-radius:50%;background:var(--grafite);color:#fff;display:flex;align-items:center;justify-content:center;z-index:1}
.dm-b .ic{width:13px;height:13px;color:#fff}
.dm-b.ok{background:var(--lima)}.dm-b.ok .ic{color:var(--on-lima)}
.dm-n{font-size:.78em;font-weight:700;color:var(--mute)}
.dia-mini.sel .dm-n{color:var(--ink);font-weight:800}

/* hero do dia */
.hero{position:relative;display:block;aspect-ratio:4/3;border-radius:var(--r3);overflow:hidden;background:var(--grafite);text-decoration:none;color:#fff;box-shadow:var(--sombra)}
.hero video,.hero>img{width:100%;height:100%;object-fit:cover}
.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(18,24,22,0) 40%,rgba(18,24,22,.85))}
.hero.swap{animation:troca .28s ease}
@keyframes troca{from{opacity:.4;transform:scale(.985)}to{opacity:1;transform:none}}
.hero.bloq video,.hero.bloq>img{opacity:.45;filter:grayscale(.5)}
.hero-desc{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:radial-gradient(circle at 30% 30%,#2E3D38,#121816)}
.hero-desc .ic{width:72px;height:72px;color:var(--lima)}
.hero-tx{position:absolute;left:18px;right:18px;bottom:16px;z-index:1}
.hero-tx .eyebrow{color:var(--lima)}
.hero-tx h2{color:#fff}
.hero-tx p{color:#DDE5DF;font-size:.92em}
.hero-sel{position:absolute;top:14px;right:14px;z-index:1;display:flex;align-items:center;gap:6px;padding:6px 12px;border-radius:999px;background:rgba(18,24,22,.6);backdrop-filter:blur(8px);font-weight:800;font-size:.85em}
.hero-sel .ic{width:16px;height:16px}
.hero-sel.ok{background:var(--lima);color:var(--on-lima)}
.cta{margin-top:14px}
.cta-duplo{display:flex;gap:10px;margin-top:14px}
#contagem{font-variant-numeric:tabular-nums}

/* cards do dia */
.hoje-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:18px 0}
.mini-card{background:var(--card);border:1px solid var(--line);border-radius:var(--r2);padding:12px;text-decoration:none;display:flex;flex-direction:column;gap:2px;min-width:0}
.mini-card b{font-size:1.15em;font-weight:800;white-space:nowrap}
.mini-card small{font-size:.76em;line-height:1.3}
.mc-ic{width:32px;height:32px;border-radius:10px;background:var(--lima-suave);color:var(--lima-ink);display:flex;align-items:center;justify-content:center;margin-bottom:6px}
.mc-ic .ic{width:18px;height:18px}
.mini-card.agua .mc-ic{background:#E1EFFA;color:#2C6E9F}
:root[data-theme="dark"] .mini-card.agua .mc-ic{background:#1C3346;color:#8CC3EC}
.mc-bar{display:block;height:5px;border-radius:9px;background:var(--muted);margin-top:6px;overflow:hidden}
.mc-bar i{display:block;height:100%;background:var(--azul)}

.upsell{position:relative;margin:18px 0;padding:18px;border-radius:var(--r3);background:var(--grafite);color:#fff}
.upsell .eyebrow{color:var(--lima)}
.upsell h3{font-size:1.2em;margin:4px 0}
.upsell p{color:#D3DCD6;font-size:.92em;margin-bottom:12px}
.up-x{position:absolute;top:10px;right:10px;width:34px;height:34px;display:flex;align-items:center;justify-content:center;border-radius:50%;color:inherit;opacity:.7}
.up-x .ic{width:18px;height:18px}
.instalar{position:relative;display:flex;align-items:center;gap:12px;margin:18px 0;padding:14px 44px 14px 14px;border-radius:var(--r2);background:var(--card);border:1px solid var(--line)}
.instalar div{flex:1;display:flex;flex-direction:column}

/* listas e cartões */
.card{display:block;background:var(--card);border:1px solid var(--line);border-radius:var(--r2);padding:16px;margin:14px 0;text-decoration:none}
.card h3+p,.card p+p{margin-top:8px}
.card p{color:var(--soft)}
.card.link:active{transform:scale(.99)}
.card.destaque{background:var(--lima-suave);border-color:transparent}
.card.destaque .btn{margin-top:12px}
.card-h{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-bottom:10px}
.hero-escuro{border-radius:var(--r3);padding:22px 20px;color:#fff;background:radial-gradient(circle at 85% 0%,rgba(185,225,91,.25),transparent 55%),linear-gradient(160deg,#26332F,#121816)}
.hero-escuro .eyebrow{color:var(--lima)}
.hero-escuro h2{margin:4px 0 2px}
.hero-escuro .meta{color:var(--lima);font-weight:700;font-size:.9em;margin-bottom:8px}
.hero-escuro p{color:#D3DCD6}
.hero-escuro.centro{text-align:center}
.ic-grande{width:56px;height:56px;color:var(--lima);margin:0 auto 8px;display:block}
.bloco{margin:22px 0}
.bloco-h{display:flex;flex-direction:column;margin:0 4px 10px}
.lista,.grupo{background:var(--card);border:1px solid var(--line);border-radius:var(--r2);overflow:hidden}
.ex-row,.row{display:flex;align-items:center;gap:12px;padding:12px 14px;text-decoration:none;border-bottom:1px solid var(--line);width:100%;text-align:left;min-height:60px}
.ex-row:last-child,.row:last-child{border-bottom:0}
.ex-row:active,.row:active{background:var(--muted)}
.ex-row img{width:58px;height:44px;border-radius:10px;object-fit:cover;flex:none;background:var(--muted)}
.ex-num{width:24px;height:24px;border-radius:50%;background:var(--muted);font-size:.78em;font-weight:800;display:flex;align-items:center;justify-content:center;flex:none;color:var(--soft)}
.row-tx{flex:1;display:flex;flex-direction:column;min-width:0}
.row-tx b{font-weight:700;line-height:1.3}
.row-tx small{line-height:1.35}
.row-chev{color:var(--faint);width:18px;height:18px}
.row-ic{width:38px;height:38px;border-radius:12px;background:var(--muted);display:flex;align-items:center;justify-content:center;flex:none;color:var(--soft)}
.row-ic .ic{width:19px;height:19px}
.row-emo{font-size:1.5em;width:38px;text-align:center;flex:none}
.row-val{font-weight:800;white-space:nowrap}
.row.perigo,.row.perigo .row-ic{color:var(--perigo)}
.dr-img{position:relative;width:58px;height:44px;border-radius:10px;overflow:hidden;background:var(--muted);display:flex;align-items:center;justify-content:center;flex:none}
.dr-img img{width:100%;height:100%;object-fit:cover}
.dr-img .ic{color:var(--lima-ink)}
.dr-img .dm-b{right:3px;bottom:3px;width:18px;height:18px}
.dia-row.bloq .dr-img img{opacity:.45}
.dia-row .eyebrow{font-size:.68em}
.fav{width:44px;height:44px;display:flex;align-items:center;justify-content:center;border-radius:50%;color:var(--faint);flex:none;transition:transform .15s}
.fav:active{transform:scale(1.15)}
.fav.on{color:#D9534F}
.fav.on .ic{fill:currentColor}
.topbar .fav{background:var(--card);border:1px solid var(--line)}
.cta-fixo{position:sticky;bottom:calc(var(--nav) + env(safe-area-inset-bottom) + 10px);margin-top:18px;padding:12px;border-radius:var(--r3);background:color-mix(in srgb,var(--bg) 85%,transparent);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);display:flex;flex-direction:column;gap:8px;z-index:4}
.cta-fixo .nota{margin:0}

/* exercício */
.ex-video{border-radius:var(--r3);overflow:hidden;aspect-ratio:4/3;background:var(--grafite)}
.ex-video video{width:100%;height:100%;object-fit:cover}
.card h2{margin:2px 0 8px}
.card h3{margin-top:14px}
.dicas{margin:8px 0 0 20px;color:var(--soft)}
.dicas li{margin:6px 0}
.var{margin-top:12px;padding:12px;border-radius:var(--r1);background:var(--lima-suave)}
.var b{color:var(--lima-ink)}
.var.dif{background:var(--muted)}.var.dif b{color:var(--ink)}
.var p{margin:2px 0 0!important}

/* treinos livres e biblioteca */
.cards-livres{display:flex;flex-direction:column;gap:10px}
.livre-card{display:flex;align-items:center;gap:12px;background:var(--card);border:1px solid var(--line);border-radius:var(--r2);padding:10px 6px 10px 10px;text-decoration:none;position:relative}
.livre-card img{width:72px;height:54px;border-radius:12px;object-fit:cover;flex:none}
.livre-card span{flex:1;display:flex;flex-direction:column;min-width:0}
.livre-card.bloq img{opacity:.4;filter:grayscale(.6)}
.livre-card .dm-b{position:static;margin-right:12px}
.filtros{display:flex;gap:8px;overflow-x:auto;padding-bottom:10px;scrollbar-width:none}
.filtro{flex:none;padding:8px 14px;border-radius:999px;background:var(--card);border:1px solid var(--line);font-weight:700;font-size:.88em}
.filtro.on{background:var(--grafite);color:#fff;border-color:var(--grafite)}
:root[data-theme="dark"] .filtro.on{background:var(--lima);color:var(--on-lima)}
.grade-ex{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}
.gx{background:var(--card);border:1px solid var(--line);border-radius:var(--r2);overflow:hidden;text-decoration:none}
.gx img{width:100%;aspect-ratio:4/3;object-fit:cover;background:var(--muted)}
.gx span{display:block;padding:8px 10px;font-weight:700;font-size:.86em;line-height:1.3}
.gx[hidden]{display:none}
.vazio{text-align:center;padding:40px 20px}
.vazio>.ic{width:56px;height:56px;color:var(--faint);margin:0 auto 12px}
.vazio p{color:var(--mute);margin:6px 0 18px}

/* progresso */
.anel-box{position:relative;width:200px;height:200px;margin:4px auto 10px}
.anel{width:200px;height:200px;transform:rotate(-90deg)}
.anel-bg{fill:none;stroke:var(--muted);stroke-width:14}
.anel-fg{fill:none;stroke:var(--lima2);stroke-width:14;stroke-linecap:round;transition:stroke-dashoffset 1s ease}
.anel-tx{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center}
.anel-tx b{font-size:2.6em;font-weight:800;line-height:1}
.anel-tx span{color:var(--mute);font-size:.9em}
.stats3{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:12px 0}
.stats3>div{background:var(--card);border:1px solid var(--line);border-radius:var(--r2);padding:12px;display:flex;flex-direction:column;align-items:flex-start;min-width:0}
.stats3 .ic{color:var(--lima-ink);margin-bottom:4px}
.stats3 b{font-size:1.3em;font-weight:800}
.stats3 small{font-size:.75em;line-height:1.3}
.nivel .nv-h{display:flex;justify-content:space-between;align-items:center}
.nivel .nv-h span{display:flex;flex-direction:column}
.nivel b{font-size:1.25em;font-weight:800}
.tag{font-style:normal;font-weight:800;font-size:.82em;padding:4px 10px;border-radius:999px;background:var(--grafite);color:var(--lima)}
.xpbar{height:10px;border-radius:9px;background:var(--muted);margin:12px 0 8px;overflow:hidden}
.xpbar i{display:block;height:100%;background:linear-gradient(90deg,var(--lima2),var(--lima));border-radius:9px;transition:width .8s ease}
.nivel p{font-size:.88em;color:var(--mute)}
.cal{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;text-align:center}
.cal-h{font-size:.72em;font-weight:800;color:var(--faint)}
.cal-d{aspect-ratio:1;display:flex;align-items:center;justify-content:center;border-radius:10px;font-size:.85em;font-weight:700;color:var(--mute)}
.cal-d.on{background:var(--lima);color:var(--on-lima)}
.cal-d.hj{outline:2px solid var(--ink);outline-offset:-2px}
.barras7{display:grid;grid-template-columns:repeat(7,1fr);gap:8px;align-items:end;height:110px}
.b7{display:flex;flex-direction:column;align-items:center;gap:6px;height:100%}
.b7-col{flex:1;width:14px;border-radius:9px;background:var(--muted);display:flex;align-items:flex-end;overflow:hidden}
.b7-col i{display:block;width:100%;border-radius:9px;background:var(--lima2);animation:cresce .6s ease}
.b7-col i.azul{background:linear-gradient(180deg,var(--azul2),var(--azul))}
.b7-col i.ambar{background:var(--ambar)}
@keyframes cresce{from{height:0!important}}
.b7 span{font-size:.7em;color:var(--faint);font-weight:700}
.b7 span.hj{color:var(--ink);font-weight:800}
.sec-t{font-size:1.1em;margin:24px 4px 10px;display:flex;align-items:baseline;gap:8px}
.delta{font-weight:800;color:var(--lima-ink);margin-top:6px}
.duo{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.card.mini{margin:0;display:flex;flex-direction:column;gap:2px}
.card.mini .ic{color:var(--lima-ink);margin-bottom:4px}
.conq{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.cq{background:var(--card);border:1px solid var(--line);border-radius:var(--r2);padding:12px 8px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:4px;opacity:.6}
.cq span{width:44px;height:44px;border-radius:50%;background:var(--muted);display:flex;align-items:center;justify-content:center;color:var(--faint)}
.cq b{font-size:.8em;line-height:1.25}
.cq small{font-size:.7em;line-height:1.25}
.cq.ok{opacity:1}
.cq.ok span{background:var(--grafite);color:var(--lima)}
.grafico{width:100%;height:auto}
.gr-grade{stroke:var(--line);stroke-dasharray:3 4}
.gr-txt{font-size:10px;fill:var(--faint);font-family:inherit}
.gr-linha{fill:none;stroke:var(--lima2);stroke-width:3;stroke-linecap:round;stroke-linejoin:round}
.gr-area{fill:var(--lima);opacity:.18}
.gr-pt{fill:var(--card);stroke:var(--lima2);stroke-width:2.5}
.gr-meta{stroke:var(--ok);stroke-width:1.5;stroke-dasharray:6 5}
.gr-meta-t{fill:var(--ok);font-weight:700}

/* mais / perfil */
.perfil-card{display:flex;align-items:center;gap:14px;padding:16px;background:var(--card);border:1px solid var(--line);border-radius:var(--r2);text-decoration:none}
.perfil-card>span:not(.av){flex:1;display:flex;flex-direction:column;min-width:0}
.perfil-card b{font-size:1.15em}
.perfil-card small:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rodape{text-align:center;color:var(--faint);font-size:.78em;margin-top:26px}
.perfil-hero{text-align:center;margin:6px 0 18px}
.perfil-hero h2{margin-top:10px}
.av-edit{position:relative;display:inline-block;cursor:pointer}
.av-cam{position:absolute;right:0;bottom:0;width:34px;height:34px;border-radius:50%;background:var(--lima);color:var(--on-lima);display:flex;align-items:center;justify-content:center;border:3px solid var(--bg)}
.av-cam .ic{width:16px;height:16px}
.opcoes{display:flex;flex-direction:column;gap:10px;margin-top:16px}
.opcao{position:relative;text-align:left;padding:16px 48px 16px 16px;border-radius:var(--r2);background:var(--card);border:2px solid var(--line);display:flex;flex-direction:column;font-weight:700}
.opcao small{font-weight:500}
.opcao.on{border-color:var(--lima2);background:var(--lima-suave)}
.op-ck{position:absolute;right:16px;top:50%;margin-top:-11px;color:var(--lima-ink);opacity:0}
.opcao.on .op-ck{opacity:1}

/* ferramentas */
.grande{text-align:center;margin:6px 0 18px}
.num-grande{display:block;font-size:2.6em;font-weight:800;letter-spacing:-.03em;line-height:1.1}
.num-grande.azul{color:var(--azul)}.num-grande.ambar{color:var(--ambar)}
.grande p{color:var(--mute);margin-top:4px}
.barra{height:12px;border-radius:9px;background:var(--muted);overflow:hidden;margin-top:12px}
.barra i{display:block;height:100%;border-radius:9px;background:var(--lima2);transition:width .4s}
.barra.azul i{background:linear-gradient(90deg,var(--azul2),var(--azul))}
.barra.ambar i{background:var(--ambar)}
.copos{display:grid;grid-template-columns:repeat(5,1fr);gap:10px}
.copo{aspect-ratio:1;border-radius:var(--r2);background:var(--card);border:2px dashed var(--line);display:flex;align-items:center;justify-content:center;color:var(--faint);transition:transform .12s}
.copo:active{transform:scale(.94)}
.copo .ic{width:26px;height:26px}
.copo.cheio{background:linear-gradient(180deg,var(--azul2),var(--azul));border:0;color:#fff;box-shadow:0 4px 12px rgba(76,155,214,.35)}
.copo.cheio .ic{fill:rgba(255,255,255,.35)}
.atalhos{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin:6px 0 4px}
.campo{display:flex;flex-direction:column;gap:6px;margin:12px 0}
.campo>span{font-weight:700;font-size:.9em}
.campo input,.campo select{width:100%;min-height:52px;padding:12px 14px;border-radius:var(--r1);border:1.5px solid var(--line);background:var(--card);font-size:1.05em}
.campo input:focus,.campo-num input:focus{outline:none;border-color:var(--lima2);box-shadow:0 0 0 3px rgba(185,225,91,.35)}
.campo-num{position:relative;display:flex;flex:1}
.campo-num input{width:100%;min-height:52px;padding:12px 48px 12px 14px;border-radius:var(--r1);border:1.5px solid var(--line);background:var(--card);font-size:1.1em;font-weight:700}
.campo-num em{position:absolute;right:14px;top:50%;transform:translateY(-50%);font-style:normal;color:var(--mute);font-weight:700}
.campo-linha{display:flex;gap:10px;margin-top:10px}
.campo-linha .btn{width:auto}
.medidas-form{display:grid;grid-template-columns:1fr 1fr;gap:0 12px}
.medidas-form .campo{margin:8px 0}
.tabela>div{display:grid;grid-template-columns:1.1fr 1.4fr .6fr;gap:8px;padding:10px 0;border-bottom:1px solid var(--line);font-size:.92em;align-items:center}
.tabela>div:last-child{border-bottom:0}
.tabela b{text-align:right}.tabela b.ok{color:var(--ok)}
.grade-fotos{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.grade-fotos figure{position:relative;border-radius:var(--r1);overflow:hidden;background:var(--muted)}
.grade-fotos img{width:100%;aspect-ratio:3/4;object-fit:cover}
.grade-fotos figcaption{position:absolute;left:0;right:0;bottom:0;padding:4px 6px;font-size:.72em;font-weight:700;color:#fff;background:linear-gradient(transparent,rgba(0,0,0,.6))}
.grade-fotos .ibtn{position:absolute;top:4px;right:4px;width:30px;height:30px;background:rgba(0,0,0,.45);border:0;color:#fff}
.grade-fotos .ibtn .ic{width:15px;height:15px}
.antes-depois{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.antes-depois img{width:100%;aspect-ratio:3/4;object-fit:cover;border-radius:var(--r1)}
label.btn input{display:none}
.card .btn{margin-top:12px}

/* ajustes */
.switch{width:52px;height:30px;border-radius:999px;background:var(--line);position:relative;flex:none;transition:background .2s}
.switch i{position:absolute;top:3px;left:3px;width:24px;height:24px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.25);transition:transform .2s}
.switch[aria-checked="true"]{background:var(--lima2)}
.switch[aria-checked="true"] i{transform:translateX(22px)}
.seg{display:flex;background:var(--muted);border-radius:999px;padding:4px;gap:4px}
.seg button{flex:1;min-height:42px;border-radius:999px;font-weight:700;font-size:.9em;color:var(--mute)}
.seg button[aria-checked="true"]{background:var(--card);color:var(--ink);box-shadow:0 1px 4px rgba(0,0,0,.12)}
#aj-teste{margin:12px auto 0}
.faq details{background:var(--card);border:1px solid var(--line);border-radius:var(--r2);margin:8px 0;padding:0 16px}
.faq summary{padding:14px 0;font-weight:700;cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:10px}
.faq summary::after{content:"+";font-size:1.3em;color:var(--lima-ink);line-height:1}
.faq details[open] summary::after{content:"−"}
.faq p{padding:0 0 14px;color:var(--soft)}

/* modal */
.sheet-wrap{position:fixed;inset:0;z-index:50;display:flex;align-items:flex-end;justify-content:center}
.sheet-bg{position:absolute;inset:0;background:rgba(10,14,13,.55);animation:fade .2s}
.sheet{position:relative;width:100%;max-width:480px;max-height:90vh;overflow:auto;background:var(--card);border-radius:26px 26px 0 0;padding:10px 20px calc(20px + env(safe-area-inset-bottom));animation:sheetUp .28s cubic-bezier(.2,.9,.3,1.2)}
@keyframes fade{from{opacity:0}}@keyframes sheetUp{from{transform:translateY(40px);opacity:.5}}
.grab{width:42px;height:5px;border-radius:9px;background:var(--line);margin:0 auto 14px}
.sh-t{font-size:1.25em;font-weight:800;margin-bottom:6px}
.sh-p{color:var(--soft);margin-bottom:12px}
.sh-txt p{color:var(--soft);margin:10px 0}
.sh-acts{display:flex;gap:10px;margin-top:16px}
.sh-col{display:flex;flex-direction:column;gap:10px;margin-top:14px}
.sh-erro{color:var(--perigo);font-size:.88em;font-weight:700;min-height:1.2em;text-align:center;margin-top:6px}
.passos{margin:12px 0 4px 20px;color:var(--soft)}.passos li{margin:8px 0}

/* login e onboarding */
.login{min-height:100vh;display:flex;flex-direction:column;justify-content:center;padding:calc(env(safe-area-inset-top) + 24px) 22px 32px;text-align:center}
.login-logo{margin:0 auto 14px;border-radius:24px;box-shadow:var(--sombra)}
.login h1{font-size:2em}
.login-sub{color:var(--mute);margin-bottom:24px}
.login form{text-align:left}
.login-ajuda{margin-top:18px;text-align:left;background:var(--card);border:1px solid var(--line);border-radius:var(--r2);padding:0 16px}
.login-ajuda summary{padding:14px 0;font-weight:700;cursor:pointer}
.login-ajuda p{color:var(--soft);font-size:.92em;margin-bottom:12px}
.login-ajuda .btn{margin:0 0 12px;width:100%}
.ob{min-height:100vh;display:flex;flex-direction:column;padding:calc(env(safe-area-inset-top) + 10px) 20px calc(env(safe-area-inset-bottom) + 18px)}
.ob-top{display:flex;align-items:center;gap:12px;margin-bottom:18px}
.ob-segs{flex:1;display:flex;gap:4px}
.ob-segs i{flex:1;height:5px;border-radius:9px;background:var(--line)}
.ob-segs i.on{background:var(--lima2)}
.ob-corpo{flex:1;animation:sobe .28s ease}
.ob-corpo h1{margin-bottom:8px}
.ob-corpo>p{color:var(--soft)}
.ob-hero{border-radius:var(--r3);overflow:hidden;margin-bottom:18px;aspect-ratio:4/3;background:var(--muted)}
.ob-hero img{width:100%;height:100%;object-fit:cover}
.ob-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:18px}
.ob-cards div{background:var(--card);border:1px solid var(--line);border-radius:var(--r2);padding:12px 8px;text-align:center;display:flex;flex-direction:column;align-items:center}
.ob-cards .ic{color:var(--lima-ink);margin-bottom:4px}
.ob-cards b{font-size:.92em}.ob-cards small{font-size:.75em}
.ob-pe{display:flex;flex-direction:column;gap:10px;padding-top:16px}
.slider{margin-top:28px;text-align:center}
.sl-num{display:flex;align-items:center;justify-content:center;gap:12px}
.sl-num b{font-size:3.2em;font-weight:800;letter-spacing:-.03em;min-width:3ch;font-variant-numeric:tabular-nums}
.sl-num em{font-style:normal;font-weight:700;color:var(--mute);margin-right:6px}
.slider input[type=range]{width:100%;margin-top:20px;accent-color:var(--lima2);height:36px}
.checks{display:flex;flex-direction:column;gap:10px;margin-top:16px}
.check{display:flex;gap:12px;align-items:flex-start;padding:14px;background:var(--card);border:1.5px solid var(--line);border-radius:var(--r2);cursor:pointer}
.check input{width:22px;height:22px;accent-color:var(--lima2);flex:none;margin-top:1px}
.ob-medalha{width:120px;height:120px;border-radius:50%;margin:20px auto;background:var(--grafite);display:flex;align-items:center;justify-content:center;animation:pop .5s cubic-bezier(.2,1.6,.4,1)}
.ob-medalha .ic{width:56px;height:56px;color:var(--lima)}
@keyframes pop{from{transform:scale(.4);opacity:0}}
.ob-corpo h1{text-align:left}
.ob-regras{list-style:none;margin-top:18px;display:flex;flex-direction:column;gap:12px}
.ob-regras li{display:flex;gap:12px;align-items:flex-start;background:var(--card);border:1px solid var(--line);border-radius:var(--r2);padding:12px 14px}
.ob-regras .ic{color:var(--lima-ink);margin-top:2px}
.ob-regras span{color:var(--soft)}
.ob-regras b{color:var(--ink)}

/* player */
body.em-treino .nav{display:none}
.pl{position:fixed;inset:0;max-width:480px;margin:0 auto;display:flex;flex-direction:column;background:#0D1211;color:#fff;z-index:20;overflow:hidden}
.pl-media{position:relative;width:100%;aspect-ratio:4/3;max-height:52vh;background:#000;flex:none}
.pl-fundo,.pl-v{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.pl-v.oculto{visibility:hidden}
.pl-v.falhou{display:none}
.pl-grad{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.45),transparent 28%,transparent 70%,rgba(13,18,17,.9));pointer-events:none}
.pl-top{position:absolute;top:calc(env(safe-area-inset-top) + 10px);left:12px;right:12px;display:flex;align-items:center;gap:10px;z-index:2}
.pl-tit{flex:1;text-align:center;font-weight:700;font-size:.9em;text-shadow:0 1px 4px rgba(0,0,0,.5);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pl-media.descansando .pl-v,.pl-media.descansando .pl-fundo{filter:brightness(.55) saturate(.7)}
.pl-descanso{position:absolute;left:0;right:0;bottom:16px;z-index:2;text-align:center;display:flex;flex-direction:column;align-items:center;gap:2px;padding:0 16px}
.pl-descanso[hidden]{display:none}
.pl-desc-tag{background:var(--lima);color:var(--on-lima);font-weight:800;padding:4px 14px;border-radius:999px;font-size:.85em;margin-bottom:6px}
.pl-desc-prox{font-size:.75em;letter-spacing:.12em;text-transform:uppercase;color:#C9D3CC;font-weight:800}
.pl-descanso strong{font-size:1.2em}
.pl-pausa{position:absolute;inset:0;z-index:3;background:rgba(13,18,17,.6);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;font-weight:800}
.pl-pausa[hidden]{display:none}
.pl-pausa-btn{width:84px;height:84px;border-radius:50%;background:var(--lima);color:var(--on-lima);display:flex;align-items:center;justify-content:center}
.pl-pausa-btn .ic{width:34px;height:34px}
.pl-painel{flex:1;overflow-y:auto;padding:14px 18px calc(env(safe-area-inset-bottom) + 16px);display:flex;flex-direction:column;gap:12px}
.pl-info{text-align:center}
.pl-bloco{font-size:.74em;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--lima)}
.pl-tempo{font-size:4.2em;font-weight:800;letter-spacing:-.03em;line-height:1;font-variant-numeric:tabular-nums;margin:2px 0}
.pl-nome{font-size:1.35em;color:#fff;min-height:1.3em}
.pl-chips{display:flex;flex-wrap:wrap;gap:6px;justify-content:center;margin-top:8px}
.pl .chip{background:rgba(255,255,255,.1);color:#E1E8E3}
.pl .chip.lima{background:rgba(185,225,91,.18);color:var(--lima)}
.pl-barra{height:6px;border-radius:9px;background:rgba(255,255,255,.12);overflow:hidden}
.pl-barra i{display:block;height:100%;width:0;background:var(--lima);border-radius:9px;transition:width .25s linear}
.pl-stats{display:flex;justify-content:space-between;font-size:.82em;color:#AAB6B0;font-weight:700;font-variant-numeric:tabular-nums}
.pl-ctrl{display:flex;align-items:center;justify-content:center;gap:22px}
.pl-ctrl .ibtn{background:rgba(255,255,255,.08);border:0;color:#fff}
.pl-play{width:76px;height:76px;border-radius:50%;background:var(--lima);color:var(--on-lima);display:flex;align-items:center;justify-content:center;box-shadow:0 8px 24px rgba(185,225,91,.3)}
.pl-play .ic{width:30px;height:30px}
.pl-terminei[hidden]{display:none}
.pl-dicas{background:rgba(255,255,255,.06);border-radius:var(--r2);padding:0 14px}
.pl-dicas summary{padding:12px 0;font-weight:700;cursor:pointer;color:var(--lima)}
.pl-dicas ul{margin:0 0 10px 18px;color:#D3DCD6;font-size:.92em}
.pl-dicas li{margin:4px 0}
.pl-var p{font-size:.88em;color:#C1CBC5;margin-bottom:8px}
.pl-var b{color:#fff}
.pl-prox{display:flex;align-items:center;gap:12px;background:rgba(255,255,255,.06);border-radius:var(--r2);padding:10px}
.pl-prox img{width:64px;height:48px;border-radius:10px;object-fit:cover}
.pl-prox div{display:flex;flex-direction:column}
.pl-prox .eyebrow{color:var(--lima)}
.pl-prox small{color:#AAB6B0}
.pl-load{position:absolute;inset:0;z-index:10;background:radial-gradient(circle at 50% 30%,#26332F,#0D1211 70%);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;padding:30px;text-align:center}
.pl-load-logo{width:150px}
.pl-load p{font-weight:700}
.pl-load .btn{max-width:300px}
.pl-load-dica{font-size:.85em!important;font-weight:500!important;color:#AAB6B0;max-width:300px}

/* comemoração */
.cel{position:fixed;inset:0;max-width:480px;margin:0 auto;z-index:30;background:radial-gradient(circle at 50% 20%,#2C3B36,#0D1211 70%);color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:28px 22px calc(env(safe-area-inset-bottom) + 24px);overflow-y:auto}
.confete{position:fixed;inset:0;pointer-events:none;z-index:31}
.cel-medalha{width:150px;height:150px;border-radius:50%;background:var(--lima);color:var(--on-lima);display:flex;align-items:center;justify-content:center;box-shadow:0 0 0 12px rgba(185,225,91,.15),0 20px 50px rgba(185,225,91,.25);animation:pop .55s cubic-bezier(.2,1.6,.4,1);margin-bottom:22px;flex:none}
.cel-medalha .ic{width:70px;height:70px}
.cel-t{color:#fff}
.cel-s{color:#C9D3CC;margin:8px 0 18px;max-width:340px}
.cel-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;width:100%;margin-bottom:12px}
.cel-cards div{background:rgba(255,255,255,.07);border-radius:var(--r2);padding:12px 6px;display:flex;flex-direction:column}
.cel-cards b{font-size:1.4em;font-weight:800;color:var(--lima)}
.cel-cards span{font-size:.75em;color:#AAB6B0}
.cel-min{display:flex;align-items:center;gap:6px;color:#C9D3CC;font-size:.9em;margin-bottom:10px}
.cel-min .ic{width:16px;height:16px}
.cel-chip{display:flex;align-items:center;gap:8px;padding:8px 14px;border-radius:999px;background:rgba(255,255,255,.08);margin:4px 0;font-size:.9em}
.cel-chip .ic{width:18px;height:18px;color:var(--lima)}
.cel-chip.lima{background:rgba(185,225,91,.15)}
.cel-acts{display:flex;flex-direction:column;gap:10px;width:100%;margin-top:18px;position:relative;z-index:32}
.cel .btn.ghost{color:#fff;border-color:rgba(255,255,255,.25)}

/* navegação inferior */
.nav{position:fixed;left:0;right:0;bottom:0;max-width:480px;margin:0 auto;height:calc(var(--nav) + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);display:flex;background:color-mix(in srgb,var(--card) 88%,transparent);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border-top:1px solid var(--line);z-index:10}
.nav a{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;text-decoration:none;color:var(--faint);font-size:.72em;font-weight:700}
.nav a.on{color:var(--ink)}
.nav a.on .ic{color:var(--lima-ink)}
body.sem-nav .nav{display:none}
.toast{position:fixed;left:50%;bottom:calc(var(--nav) + env(safe-area-inset-bottom) + 14px);transform:translate(-50%,20px);opacity:0;pointer-events:none;background:var(--grafite);color:#fff;padding:12px 18px;border-radius:999px;font-weight:700;font-size:.9em;z-index:60;max-width:calc(100% - 32px);text-align:center;transition:transform .3s cubic-bezier(.2,1.4,.4,1),opacity .2s;box-shadow:0 8px 24px rgba(0,0,0,.25)}
.toast.on{opacity:1;transform:translate(-50%,0)}
body.em-treino .toast{bottom:calc(env(safe-area-inset-bottom) + 24px);background:var(--lima);color:var(--on-lima)}
.splash{position:fixed;inset:0;z-index:100;background:#121816;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;color:#fff;transition:opacity .35s}
.splash img{border-radius:24px}
.splash b{font-size:1.5em;font-weight:800}
.splash.sai{opacity:0}
:focus-visible{outline:3px solid var(--lima2);outline-offset:2px}
