/* Boas-vindas + entrada. Cores da marca: branco, teal, índigo, âmbar, ardósia, tinta. Botões a #0f766e para contraste AA com texto branco. */
.wl,.au{--w-bg:#fff;--w-ink:#0f2a3d;--w-sub:#4b5b66;--w-line:#dbe7e5;--w-card:#fff;--w-btn:#0f766e;--w-tint:#e6f6f4;--w-sp:cubic-bezier(.34,1.56,.64,1);--w-soft:cubic-bezier(.22,1,.36,1)}
html[data-theme=dark] .wl,html[data-theme=dark] .au{--w-bg:#0e1013;--w-ink:#eceef1;--w-sub:#a9b4bf;--w-line:#2c343c;--w-card:#171b20;--w-btn:#14b8a6;--w-tint:#12302e}
.wl,.au{position:relative;min-height:100vh;min-height:100dvh;background:var(--w-bg);color:var(--w-ink);overflow:hidden}
.wl-bg{position:absolute;inset:0;pointer-events:none;overflow:hidden}
.wl-bg i{position:absolute;border-radius:50%;filter:blur(40px);opacity:.35}
.wl-bg i:nth-child(1){width:340px;height:340px;left:-120px;top:-80px;background:#99e6dc}.wl-bg i:nth-child(2){width:300px;height:300px;right:-110px;top:30%;background:#c7caff}.wl-bg i:nth-child(3){width:280px;height:280px;left:20%;bottom:-120px;background:#fde1a6}
html[data-theme=dark] .wl-bg i{opacity:.16}
.wl-in{position:relative;z-index:1;width:100%;max-width:560px;margin:0 auto;min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;padding:max(10px,env(safe-area-inset-top)) 20px max(14px,env(safe-area-inset-bottom))}
.wl-top{display:flex;align-items:center;justify-content:space-between;min-height:56px}
.wl-brand{display:flex;align-items:center;gap:10px;font-weight:800;color:var(--w-ink);letter-spacing:-.01em}.wl-brand b{color:var(--w-btn)}
.wl-skip{background:transparent!important;color:var(--w-sub)!important;border:0;min-height:48px;min-width:64px;padding:0 12px;font-size:15px;font-weight:700;border-radius:12px}
.wl-stage{flex:1;display:flex;flex-direction:column;min-height:0}
.wl-view{flex:1;display:flex;overflow:hidden;touch-action:pan-y;cursor:grab;-webkit-user-select:none;user-select:none}.wl-view:active{cursor:grabbing}
.wl-track{display:flex;width:100%;transition:transform .55s var(--w-soft);will-change:transform}.wl-track.drag{transition:none}
.wl-slide{flex:0 0 100%;display:flex;flex-direction:column;justify-content:center;gap:22px;padding:6px 2px;min-width:0}
.wl-art{position:relative;height:clamp(190px,34vh,260px);display:flex;align-items:center;justify-content:center}
.wl-copy{display:flex;flex-direction:column;gap:8px}
.wl-kick{font-size:12.5px;font-weight:800;letter-spacing:.09em;text-transform:uppercase;color:var(--w-btn)}
.wl-h{margin:0;font-size:clamp(28px,7.4vw,38px);line-height:1.1;font-weight:800;letter-spacing:-.03em;color:var(--w-ink)!important}
.wl-p{margin:2px 0 0;font-size:clamp(16px,4.3vw,18px);line-height:1.5;color:var(--w-sub);max-width:34ch}
.wl-sr,.dh-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.wl-ctl{display:flex;align-items:center;justify-content:space-between;margin:6px 0 4px}
.wl-arr{width:48px;height:48px;min-height:48px;padding:0;border-radius:50%;background:var(--w-card)!important;color:var(--w-ink)!important;border:1px solid var(--w-line);font-size:26px;line-height:1;transition:transform .2s var(--w-sp),opacity .2s}.wl-arr:active{transform:scale(.9)}.wl-arr:disabled{opacity:.35}
.wl-dots{display:flex;align-items:center}.wl-dot{width:32px;height:48px;min-height:48px;padding:0;background:transparent!important;border:0;display:flex;align-items:center;justify-content:center}
.wl-dot i{display:block;width:8px;height:8px;border-radius:99px;background:var(--w-sub);opacity:.4;transition:width .35s var(--w-sp),opacity .2s,background .2s}.wl-dot.on i{width:26px;opacity:1;background:var(--w-btn)}
.wl-cta{display:flex;flex-direction:column;gap:10px;padding-top:8px}
.wl-go,.au-go{position:relative;overflow:hidden;min-height:56px;border-radius:18px;background:var(--w-btn)!important;color:#fff!important;font-size:17px;font-weight:800;border:0;letter-spacing:0;transition:transform .2s var(--w-sp)}
html[data-theme=dark] .wl-go,html[data-theme=dark] .au-go{color:#04211e!important}
.wl-go:active,.au-go:active{transform:scale(.97)}.au-go:disabled{opacity:.6}
.wl-have{min-height:52px;border-radius:18px;background:transparent!important;color:var(--w-btn)!important;border:2px solid var(--w-btn);font-size:16px;font-weight:800}
/* entrada escalonada do texto de cada slide (repete ao ficar ativo) */
.wl-slide.on .wl-kick,.wl-slide.on .wl-h,.wl-slide.on .wl-p{animation:w-up .6s var(--w-soft) both}.wl-slide.on .wl-h{animation-delay:.07s}.wl-slide.on .wl-p{animation-delay:.14s}
@keyframes w-up{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
/* 1: treinador */
.a1 svg.a1-lanes{position:absolute;inset:0;width:100%;height:100%}
.a1-orbit{position:absolute;left:50%;top:54%;width:292px;height:168px;margin:-84px 0 0 -146px;animation:w-spin 8s linear infinite}.a1-orbit i{position:absolute;left:50%;top:-6px;width:12px;height:12px;margin-left:-6px;border-radius:50%;background:#0d9488}
@keyframes w-spin{to{transform:rotate(360deg)}}
.a1-pico{position:relative;z-index:1}.a1-pico svg{display:block}
.a1-bubble{position:absolute;right:6%;top:6%;z-index:2;background:var(--w-card);color:var(--w-ink);border:1px solid var(--w-line);border-radius:18px 18px 18px 4px;padding:10px 14px;font-weight:800;font-size:15px;opacity:0;transform:scale(.6) translateY(10px);transform-origin:0 100%}
.wl-slide.on .a1-bubble{animation:w-pop .6s var(--w-sp) .45s forwards}
@keyframes w-pop{to{opacity:1;transform:none}}
/* 2: plano */
.a2{perspective:700px}.a2-card{position:absolute;width:min(300px,86%);height:62px;border-radius:16px;background:var(--w-card);border:1px solid var(--w-line);display:flex;align-items:center;gap:12px;padding:0 14px 0 0;overflow:hidden;opacity:0;transform:translateX(60px);top:calc(18% + var(--k)*30%);left:calc(50% - min(150px,43%) + var(--k)*8px)}
.a2-bar{align-self:stretch;width:8px;background:var(--c)}.a2-l{flex:1;display:flex;flex-direction:column;gap:7px}.a2-l span{height:9px;border-radius:9px;background:var(--w-line)}.a2-l span:first-child{width:70%;background:var(--w-ink);opacity:.8}.a2-l span:last-child{width:45%}
.a2-ok{width:26px;height:26px;border-radius:50%;background:var(--c);display:flex;align-items:center;justify-content:center;transform:scale(0)}
.wl-slide.on .a2-card{animation:w-card .6s var(--w-sp) calc(.1s + var(--k)*.15s) forwards}.wl-slide.on .a2-ok{animation:w-pop2 .4s var(--w-sp) calc(.6s + var(--k)*.15s) forwards}
@keyframes w-card{to{opacity:1;transform:none}}@keyframes w-pop2{to{transform:scale(1)}}
/* 3: semana */
.a3{flex-direction:column;gap:14px;color:var(--w-ink)}.a3-ring{stroke-dasharray:339.3;stroke-dashoffset:339.3}.a3-flag{stroke-dasharray:60;stroke-dashoffset:60}
.wl-slide.on .a3-ring{animation:w-ring 1.1s var(--w-soft) .15s forwards}.wl-slide.on .a3-flag{animation:w-flag .5s ease-out 1s forwards}
@keyframes w-ring{to{stroke-dashoffset:96}}@keyframes w-flag{to{stroke-dashoffset:0}}
.a3-days{display:flex;gap:10px}.a3-days i{width:22px;height:22px;border-radius:50%;border:2px solid var(--w-line);transform:scale(.6);opacity:.4}.a3-days i.f{background:var(--c);border-color:var(--c)}
.wl-slide.on .a3-days i{animation:w-dot .45s var(--w-sp) calc(.2s + var(--k)*.09s) forwards}@keyframes w-dot{to{transform:none;opacity:1}}
/* 4: contacto */
.a4{flex-direction:column;align-items:stretch;gap:10px;padding:0 4px}.a4-b{display:flex;align-items:center;gap:8px;max-width:86%;padding:10px 14px;border-radius:18px;font-weight:600;font-size:15px;line-height:1.35;opacity:0;transform:translateY(12px) scale(.94)}
.a4-in{align-self:flex-start;background:var(--w-tint);color:var(--w-ink);border-bottom-left-radius:4px}.a4-in svg{flex:0 0 auto;border-radius:9px}.a4-in .art{animation:none}
.a4-out{align-self:flex-end;background:#fde9bd;color:#0f2a3d;border-bottom-right-radius:4px}
.a4-typing{align-self:flex-start;display:flex;gap:5px;padding:12px 14px;border-radius:18px;background:var(--w-tint);opacity:0}.a4-typing i{width:8px;height:8px;border-radius:50%;background:var(--w-sub);animation:w-bl 1.1s ease-in-out infinite}.a4-typing i:nth-child(2){animation-delay:.15s}.a4-typing i:nth-child(3){animation-delay:.3s}
.wl-slide.on .a4-in{animation:w-card .55s var(--w-sp) .15s forwards}.wl-slide.on .a4-out{animation:w-card .55s var(--w-sp) .75s forwards}.wl-slide.on .a4-typing{animation:w-fade .3s ease 1.4s forwards}
@keyframes w-fade{to{opacity:1}}@keyframes w-bl{0%,60%,100%{transform:none;opacity:.5}30%{transform:translateY(-4px);opacity:1}}
/* entrada / primeiro acesso */
.au{display:flex}.au-side{position:relative;z-index:1;flex:1.15;min-height:100vh;background:linear-gradient(135deg,#0f2a3d,#115e59);overflow:hidden}
.au-side .login-3d{position:absolute;inset:0;min-height:0}.au-cap{position:absolute;left:40px;right:40px;bottom:40px;z-index:2;color:#fff}.au-cap h2{margin:0;font-size:32px;color:#fff!important;letter-spacing:-.03em}.au-cap p{margin:8px 0 0;color:#d6f5f0;font-size:17px}
.au-main{position:relative;z-index:1;flex:1;display:flex;align-items:center;justify-content:center;padding:max(16px,env(safe-area-inset-top)) 16px max(24px,env(safe-area-inset-bottom))}
.au-box{width:100%;max-width:440px;display:flex;flex-direction:column;gap:14px}
.au-head{display:flex;align-items:center;gap:14px}.au-head .wl-brand{font-size:19px}
.au-seg{display:grid;grid-template-columns:1fr 1fr;gap:4px;padding:4px;border-radius:16px;background:var(--w-tint);border:1px solid var(--w-line)}
.au-seg button{min-height:48px;border-radius:12px;background:transparent!important;color:var(--w-sub)!important;font-size:15px;font-weight:800;border:0;transition:background .2s,color .2s,transform .2s var(--w-sp)}
.au-seg button.on{background:var(--w-card)!important;color:var(--w-ink)!important;box-shadow:0 0 0 1px var(--w-line)!important}.au-seg button:active{transform:scale(.97)}
.au-card{background:var(--w-card);border:1px solid var(--w-line);border-radius:24px;padding:clamp(18px,4vw,28px);display:flex;flex-direction:column;gap:6px;animation:w-up .5s var(--w-soft) both}
.au-card h1{margin:0;font-size:clamp(24px,6vw,30px);letter-spacing:-.03em;color:var(--w-ink)!important}.au-sub{margin:0 0 8px;color:var(--w-sub);font-size:16px;line-height:1.5}
.au-card label{margin-top:10px;font-size:13px;letter-spacing:.02em;text-transform:none;font-weight:700;color:var(--w-ink)}
.au-card input{min-height:52px;font-size:16px;padding:0 14px;border-radius:14px;border:1.5px solid #7d8d97;background:var(--w-card);color:var(--w-ink);width:100%;box-sizing:border-box}.au-card input:focus{border-color:var(--w-btn);outline:3px solid color-mix(in srgb,var(--w-btn) 28%,transparent)}
.au-pw{position:relative}.au-pw input{padding-right:96px}.au-eye{position:absolute;right:4px;top:2px;min-height:48px;padding:0 14px;background:transparent!important;color:var(--w-btn)!important;font-size:14px;font-weight:800;border:0;border-radius:12px}
.au-err{margin-top:8px;padding:10px 12px;border-radius:12px;background:#fde8e6;color:#8f1d14;font-weight:600;font-size:14px}.au-info{margin:8px 0 0;padding:10px 12px;border-radius:12px;background:var(--w-tint);color:var(--w-ink);font-size:14px}
.au-card .au-go{margin-top:16px}.au-link{background:transparent!important;color:var(--w-btn)!important;border:0;min-height:48px;padding:0 8px;font-size:14.5px;font-weight:700;border-radius:12px;align-self:center}
.au-steps{list-style:none;margin:6px 0 10px;padding:0;display:flex;flex-direction:column;gap:10px}.au-steps li{display:flex;align-items:center;gap:12px;min-height:48px;font-size:16px;color:var(--w-ink)}.au-steps b{flex:0 0 auto;width:32px;height:32px;border-radius:50%;background:var(--w-btn);color:#fff;display:flex;align-items:center;justify-content:center;font-size:15px}
html[data-theme=dark] .au-steps b{color:#04211e}
.au-foot{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:4px;font-size:13px;color:var(--w-sub)}.au-foot a{color:var(--w-sub);display:inline-flex;align-items:center;min-height:44px}
@media(max-width:899px){.au{display:block}.au-main{min-height:100vh;min-height:100dvh;align-items:flex-start;padding-top:max(20px,env(safe-area-inset-top))}}
@media(min-width:900px){.wl-in{max-width:680px}.wl-slide{flex-direction:row;align-items:center;gap:36px}.wl-art{flex:0 0 300px}.wl-copy{flex:1}}
@media(max-height:620px){.wl-art{height:150px}.wl-slide{gap:12px}.wl-h{font-size:24px}}
@media(prefers-reduced-motion:reduce){
.wl-track{transition:none}.a1-orbit{animation:none}.wl-slide .wl-kick,.wl-slide .wl-h,.wl-slide .wl-p,.au-card{animation:none!important}
.a1-bubble,.a2-card,.a4-b,.a4-typing,.a3-days i{opacity:1!important;transform:none!important;animation:none!important}.a2-ok{transform:scale(1)!important;animation:none!important}.a3-ring{stroke-dashoffset:96!important;animation:none!important}.a3-flag{stroke-dashoffset:0!important;animation:none!important}.a4-typing i{animation:none!important}.wl-bg i{display:none}}
/* escuro: o tema global força button{color:#1a1a1a!important}; repomos as cores com seletor mais forte */
html[data-theme=dark] .wl-skip,html[data-theme=dark] .au-seg button{color:var(--w-sub)!important}
html[data-theme=dark] .wl-arr,html[data-theme=dark] .au-seg button.on{color:var(--w-ink)!important}
html[data-theme=dark] .wl-have,html[data-theme=dark] .au-eye,html[data-theme=dark] .au-link{color:var(--w-btn)!important}
html[data-theme=dark] .wl-go,html[data-theme=dark] .au-go{color:#04211e!important}
html[data-theme=dark] .au-err{background:#3a1713;color:#ffb4ab}html[data-theme=dark] .a4-out{background:#4a3a12;color:#fff}
