/* GA1N · direção C (verde-limão + painel escuro). Carrega por último. */
:root{--lime:#c8ff00;--ink:#0a0a0a}
.page>.top:has(.title),.search>.top{margin:calc(-12px - var(--safe-t)) -14px 16px;padding:calc(26px + var(--safe-t)) 18px 24px;background:var(--lime)!important;color:var(--ink);border-radius:0 0 30px 30px;box-shadow:none!important;align-items:flex-end}
.page>.top .title,.search>.top .title{font-family:Poppins,Montserrat,sans-serif;font-weight:800;font-size:44px;line-height:.98;letter-spacing:-.06em;text-transform:uppercase;color:var(--ink)}
.page>.top .hello{font-size:12px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--ink);opacity:.8}
.page>.top .btn.ghost,.page>.top .btn.ghost.sm{background:transparent!important;border:2px solid var(--ink)!important;color:var(--ink)!important;border-radius:99px;padding:7px 13px;box-shadow:none}
.search>.top .pill{background:transparent!important;border:2px solid var(--ink);color:var(--ink)!important;border-radius:99px;font-weight:800}
/* logotipo: letras largas + lema */
.top .logo,.page>.top .logo{font-family:Inter,Montserrat,sans-serif;font-weight:900;font-size:28px;letter-spacing:.04em;line-height:1;background:none!important;color:var(--ink)!important;-webkit-text-fill-color:var(--ink)!important;position:relative;padding-bottom:20px;border-bottom:0;flex:none}
.top .logo span{color:var(--ink)!important;-webkit-text-fill-color:var(--ink)!important}
.top .logo::before{content:"";position:absolute;left:0;right:0;bottom:12px;height:5px;border-radius:9px;background:var(--ink)}
.top .logo::after{content:"EVERY REP COUNTS";position:absolute;left:0;bottom:0;font-size:7.5px;font-weight:800;letter-spacing:.3em;white-space:nowrap}
/* tela inicial: o treino de hoje fica dentro da faixa verde */
.page:has(>.hero){display:flex;flex-direction:column}
.page:has(>.hero)>*{order:3}
.page:has(>.hero)>.top{order:0;margin-bottom:0;border-radius:0}
.page:has(>.hero)>.hero{order:1;margin:0 -14px 16px;padding:6px 18px 26px;border-radius:0 0 30px 30px;background:var(--lime)!important;color:var(--ink);box-shadow:none}
.page:has(>.hero)>.sec-h{display:none}
.page>.hero .emo{display:none}
.page>.hero .xs{font-size:12px;letter-spacing:.12em;text-transform:uppercase;opacity:.75}
.page>.hero .big{font-family:Poppins,Montserrat,sans-serif;font-weight:800;font-size:46px;line-height:.98;letter-spacing:-.06em;text-transform:uppercase;margin-top:6px;overflow-wrap:anywhere}
.page>.hero .sm{opacity:.8}
.page>.hero .btn{display:flex;justify-content:space-between;width:100%;margin-top:16px;background:var(--ink)!important;color:var(--lime)!important;border-radius:20px;padding:16px 18px;font-family:Poppins,Montserrat,sans-serif;font-weight:800;font-size:16px;text-transform:uppercase;box-shadow:6px 6px 0 rgba(0,0,0,.25)}
/* cartões e botões */
.btn.pri{background:var(--lime);color:var(--ink);box-shadow:6px 6px 0 rgba(0,0,0,.18);border-radius:18px}
.page>.top+.col .rcard .play,.rcard .play{background:var(--lime)!important;color:var(--ink)!important}
html[data-theme=light] .rcard .play{background:var(--ink)!important;color:var(--lime)!important}
/* barra de baixo */
.nav,html[data-theme=dark] .nav,html[data-theme=light] .nav{background:#0a0a0a;border:0;border-top:1px solid #1d1d21;box-shadow:none;border-radius:0}
.nav a,html[data-theme=dark] .nav a{color:#6c6c73}
.nav a.on,html[data-theme=dark] .nav a.on{color:var(--lime)}
.nav a.on::after{background:var(--lime)}
#toast:not(.show){opacity:0;pointer-events:none}
.top .logo{font-size:33px}
.top .logo::after{font-size:6.3px;letter-spacing:.2em}
.page>.hero,.page>.hero.glow{box-shadow:none!important;animation:none}
.page>.hero::before,.page>.hero::after{display:none}
/* treino em andamento */
html[data-theme] .wk-head,.wk-head{background:var(--lime)!important;color:var(--ink);box-shadow:none;border:0;border-radius:0 0 30px 30px;padding-bottom:16px}
.wk-head .mut,.wk-head .xs{color:rgba(10,10,10,.7)!important}
.wk-head b{color:var(--ink);font-weight:800}
.wk-head .ib{background:var(--ink)!important;border-color:var(--ink)!important;color:var(--lime)!important}
.wk-head .timer{font-family:Poppins,Montserrat,sans-serif;font-weight:800;font-size:34px;letter-spacing:-.05em;color:var(--ink)}
.wk-head .prog{height:12px;background:rgba(0,0,0,.16)}
.wk-head .prog i{background:var(--ink);box-shadow:none}
#livebar{box-shadow:6px 6px 0 rgba(0,0,0,.25)}
/* ===== fundo vivo (grade + brilho), igual ao do login ===== */
html,html[data-theme=dark]{background:#0a0a0a}
html[data-theme=dark] body,body{background:transparent!important;position:relative;isolation:isolate}
body::before{content:"";position:fixed;inset:0;z-index:-2;pointer-events:none;background-image:linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px);background-size:48px 48px;
  -webkit-mask-image:radial-gradient(ellipse 90% 75% at 50% 35%,#000 25%,transparent 100%);mask-image:radial-gradient(ellipse 90% 75% at 50% 35%,#000 25%,transparent 100%)}
body::after{content:"";position:fixed;z-index:-1;pointer-events:none;width:560px;height:560px;right:-220px;bottom:-200px;border-radius:50%;background:radial-gradient(circle,rgba(200,255,0,.14),transparent 62%);animation:cglow 10s ease-in-out infinite alternate}
@keyframes cglow{to{transform:translate(-60px,-50px) scale(1.12);opacity:.7}}
@media (prefers-reduced-motion:reduce){body::after{animation:none}}
/* cartões de vidro: deixam o fundo aparecer */
html[data-theme=dark] .card,html[data-theme=dark] .lvl,html[data-theme=dark] .rcard,html[data-theme=dark] .stat,html[data-theme=dark] .hist,html[data-theme=dark] .xc,html[data-theme=dark] .item,html[data-theme=dark] .wx,html[data-theme=dark] .tpl,html[data-theme=dark] .bdg,html[data-theme=dark] details{background:rgba(255,255,255,.055)!important;box-shadow:0 0 0 1px rgba(255,255,255,.09)!important;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
html[data-theme=dark] .wx.done{background:rgba(200,255,0,.08)!important;box-shadow:0 0 0 2px var(--lime)!important}
html[data-theme=dark] .nav{background:rgba(10,10,10,.92)!important;backdrop-filter:blur(12px)}
html[data-theme=dark] .btn.hot{background:var(--lime);color:var(--ink);box-shadow:6px 6px 0 rgba(0,0,0,.35)}
/* nomes longos não encostam no logo */
.page>.top:has(.title)>div:first-child{min-width:0;flex:1}
.page>.top .title,.search>.top .title{font-size:clamp(30px,10vw,44px);overflow-wrap:anywhere}
.page>.hero .big{font-size:clamp(34px,11.5vw,46px)}
/* mapa muscular no detalhe do exercício */
.mmap{position:relative;margin:4px 0 12px;border-radius:20px;overflow:hidden;background:#000;box-shadow:0 0 0 1px rgba(255,255,255,.09)}
.mmap img{display:block;width:100%;height:auto;max-height:340px;object-fit:contain;margin:0 auto}
.mmap figcaption{position:absolute;left:12px;top:12px;background:var(--lime);color:var(--ink);font-weight:800;font-size:12px;padding:5px 10px;border-radius:99px;max-width:calc(100% - 24px)}

/* ===== telas simples de acesso (nova senha, convite): mesmo visual do login novo ===== */
.login:not(.lg2){background:transparent!important;color:#fff}
.login:not(.lg2)::before{display:none!important}
.login.lgs{max-width:none;padding:24px 20px calc(24px + var(--safe-b,0px));align-items:center;justify-content:center}
.login.lgs>.lgs-in{width:100%;max-width:420px;margin:0 auto;display:flex;flex-direction:column;align-items:stretch}
.login.lgs .logo{font-family:Poppins,Inter,system-ui,sans-serif;font-weight:800;font-size:clamp(56px,17vw,80px);letter-spacing:-.02em;line-height:1;text-align:center}
.login.lgs .slogan{text-align:center;margin:10px 0 22px;font-size:13px}
.login.lgs .lgs-card{max-width:none;margin:0}
.login.lgs .lgs-card .tag{font-family:Poppins,Inter,system-ui,sans-serif;font-size:20px;font-weight:700;line-height:1.25;color:#fff;margin:0 0 16px}
.login.lgs .lgs-card form{display:flex;flex-direction:column;gap:10px}
.login.lgs .lgs-card .linkbtn{margin-top:12px;align-self:center}
.login.lgs .lgs-card .err{min-height:0}
.login.lgs .lgs-card .err:empty{display:none}
.login.lgs .lgs-card{position:relative;left:auto;top:auto;right:auto;bottom:auto;width:100%;transform:none;opacity:1;pointer-events:auto;max-height:none;overflow:visible;animation:none}
