/* GA1N tipografia: Montserrat. 900 nos destaques, pesos menores no texto corrido. Carrega por último. */
*,*::before,*::after{font-family:'Montserrat',system-ui,-apple-system,'Segoe UI',sans-serif!important}
body{font-weight:500;-webkit-font-smoothing:antialiased}
.h,.title,.logo,.stat b,.hero .big,.timer,.sum .xp,.hist .d b,.rest .ring b,.ring b,h1,h2,h3,
.side .plan b,.kpi b,.plan-c .price,.s-h,.code,.bstats b,.inv-head h1,.band b,.step .n,.founder b,
.hero h1,.sec-l h2,.legal h1,.legal h2,.login .slogan,.gate .slogan{font-weight:900}
.title,.h,h1,h2,h3{letter-spacing:-.02em}
.logo{letter-spacing:-.04em}
.btn,button,.pill{font-weight:700}
.btn.pri,.btn.hot,.hero .btn{letter-spacing:0}
/* Montserrat é mais larga que a fonte anterior: pequenos ajustes para não estourar no celular */
.title{font-size:21px}.sec,.s-sub{font-size:15px}
.xs{letter-spacing:0}
/* menos eyebrows: rótulos pequenos em caixa alta viram texto normal */
.sec,.s-sub,.or,.inv-cap,.stat span,.kv span,.hist .d span,.item .fields label,.trio label span,.bstats span,.tbl .th,.crec span,.ring b small{text-transform:none;letter-spacing:0}
.sec,.s-sub{font-weight:800;margin-top:22px}
.or{font-weight:600}
.sum .every,.slogan-foot{display:none}
/* ícones sem emoji */
.nav a .i{filter:none;opacity:.55}.nav a.on .i{filter:none;opacity:1;transform:scale(1.08)}
.nav a .i svg{width:23px;height:23px;display:block;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.eye{width:auto;padding:0 12px;font-size:12px;font-weight:700;opacity:.8}
.bdg .e{font-size:15px;font-weight:900;line-height:42px;height:42px;letter-spacing:-.02em}
.rcard .em,.lvl .badge,.hero .emo{font-weight:900}
.hero .emo{font-size:96px;opacity:.16;top:-14px;right:4px}
.ib svg{display:block;margin:auto}
.shr-lk{display:inline-block;margin-left:6px;padding:2px 7px;border-radius:999px;background:#c8ff00;color:#0a0a0a;font-size:10.5px;font-weight:800}
.shr-t.lock::after{content:"GA1N+";margin-left:7px;padding:2px 7px;border-radius:999px;background:#c8ff00;color:#0a0a0a;font-size:10.5px;font-weight:800}
.shr-t,.shr-b,.shr-go,.shr-sv,.shr-top,.shr-sub,.shr-hint,.shr-plus{font-family:'Montserrat',system-ui,sans-serif!important}
.badges{gap:6px}
.bdg{padding:6px 2px 8px;overflow:hidden}
.bdg img{display:block;width:100%;height:68px;object-fit:contain;object-position:center bottom;margin:0 auto}
.bdg span{margin-top:4px}
.bdg.off img{opacity:.55;filter:grayscale(1) brightness(.8)}
.bdg.off{opacity:1;filter:none}
.bdg.off span{opacity:.5}
/* login centralizado no PC: margens auto vencem as margens dos filhos (slogan, tabs, divisor) */
.login>*{margin-left:auto!important;margin-right:auto!important;max-width:380px;width:100%;box-sizing:border-box}
.login.invite>*{max-width:420px}
/* capas de treino */
.rcard .rcov{width:64px;height:48px;border-radius:12px;object-fit:cover;flex:none;display:block}
.covbtn{display:flex;align-items:center;gap:12px;width:100%;padding:8px;border-radius:16px;background:var(--card,#fff);border:1px solid var(--line,#2f2f2f);color:inherit;text-align:left}
.covbtn img,.covbtn .covno{width:84px;height:62px;border-radius:12px;object-fit:cover;flex:none;display:grid;place-items:center;background:rgba(127,127,127,.18);font-size:11px;opacity:.9}
.covbtn b{flex:1;font-weight:800}.covbtn i{font-style:normal;font-size:22px;opacity:.5;padding-right:6px}
.covgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:12px;max-height:58vh;overflow-y:auto;align-content:start;grid-auto-rows:min-content}
.cvo{display:block;position:relative;width:100%;height:0!important;min-height:0!important;padding:0 0 75%!important;border:2px solid transparent;border-radius:12px;overflow:hidden;background:#000;color:#fff}
.cvo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.cvo span{position:absolute;left:0;right:0;bottom:0;padding:12px 4px 4px;font-size:10.5px;font-weight:800;background:linear-gradient(transparent,rgba(0,0,0,.85));text-align:center;line-height:1.1}
.cvo.on{border-color:#c8ff00}
.page>.wk-head{margin-top:0}

/* exercício de cardio: cronômetro em vez de séries e repetições */
.item .fields.cf{grid-template-columns:1.2fr 1fr}
.wx.cardio .ctm{font-size:46px;font-weight:900;letter-spacing:-.03em;text-align:center;font-variant-numeric:tabular-nums;line-height:1.1;margin-top:14px}
.wx.cardio.run .ctm{color:#121212}
html[data-theme=dark] .wx.cardio.run .ctm{color:#c8ff00}
.wx.cardio .cbar i{background:#c8ff00;box-shadow:inset 0 0 0 1px rgba(0,0,0,.12)}
.wx.cardio .ctg{text-align:center;margin-top:2px}
.wx.cardio .cbar{height:8px;border-radius:8px;background:var(--card2,#222);overflow:hidden;margin:10px 2px 0}
.wx.cardio .cbar i{display:block;height:100%;width:0;border-radius:8px;background:var(--volt,#c8ff00);transition:width .9s linear}
.wx.cardio.hit .cbar i{box-shadow:0 0 12px rgba(200,255,0,.7)}
.wx.cardio .cbtns{display:grid;grid-template-columns:1fr 56px 56px;gap:8px;margin-top:12px}
.wx.cardio .cbtns .btn{min-height:48px;padding:10px;font-weight:800}
.wx.cardio .load .cok{margin-left:auto;min-height:40px;padding:8px 14px;font-weight:800}
.wx.cardio .load input{width:118px}

/* faixa do treino em andamento */
#livebar{position:fixed;left:50%;transform:translateX(-50%);bottom:calc(12px + var(--safe-b,0px));width:min(520px,calc(100% - 20px));z-index:34;display:flex;align-items:center;gap:10px;padding:10px 14px;border-radius:16px;background:#c8ff00;color:#0a0a0a;text-decoration:none;box-shadow:0 10px 30px rgba(0,0,0,.28);box-sizing:border-box}
#livebar.wnav{bottom:calc(82px + var(--safe-b,0px))}
#livebar .lbd{width:10px;height:10px;border-radius:50%;background:#0a0a0a;flex:none;animation:lbp 1.4s ease-in-out infinite}
@keyframes lbp{50%{opacity:.25;transform:scale(.8)}}
#livebar .lbt{flex:1;min-width:0;display:flex;flex-direction:column;line-height:1.2}
#livebar .lbt b{font-size:13px;font-weight:900}#livebar .lbt small{font-size:12px;opacity:.75}
#livebar .lbc{font-weight:900;font-size:16px;font-variant-numeric:tabular-nums}
#livebar .lbg{font-weight:900;font-size:13px;padding:7px 11px;border-radius:10px;background:#0a0a0a;color:#c8ff00}
@media (prefers-reduced-motion:reduce){#livebar .lbd{animation:none}}
body:has(#livebar) .page{padding-bottom:calc(168px + var(--safe-b,0px))}
