:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif}*{box-sizing:border-box}html,body{overscroll-behavior:none;margin:0;padding:0;overflow:hidden}body{color:#fff;-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;background:#0a0d14}#root{width:100vw;height:100dvh}button{font-family:inherit}.home{background:radial-gradient(at 50% 0,#f0b90b1a 0%,#0000 55%),#0a0d14;flex-direction:column;justify-content:center;align-items:center;gap:34px;padding:24px;display:flex;position:fixed;inset:0;overflow-y:auto}.home-header{text-align:center;max-width:360px}.home-badge{letter-spacing:.25em;color:#0a0d14;background:linear-gradient(#fde68a 0%,#f0b90b 55%,#c48a00 100%);border-radius:50px;margin-bottom:18px;padding:5px 16px;font-size:.8rem;font-weight:900;display:inline-block;box-shadow:0 0 22px #f0b90b59}.home-title{color:#fff;letter-spacing:-.01em;margin:0 0 10px;font-size:2rem;font-weight:900}.home-sub{color:#ffffff8c;margin:0;font-size:.9rem;line-height:1.5}.home-buttons{flex-direction:column;gap:16px;width:100%;max-width:360px;display:flex}.ex-card{--accent:#22d3ee;border:1px solid #ffffff12;border-left:3px solid var(--accent);cursor:pointer;text-align:left;background:#141821;border-radius:18px;align-items:center;gap:14px;width:100%;padding:16px 18px;transition:transform .1s,background .15s;display:flex;box-shadow:0 6px 18px #0006}.ex-card:active{background:#1a1f2e;transform:scale(.98)}.ex-card.pushup{--accent:#22d3ee}.ex-card.squat{--accent:#34d399}.ex-card.video{--accent:#f0b90b}.ex-card.calistenia{--accent:#a855f7}.ex-icon-emoji{width:64px;height:64px;filter:drop-shadow(0 0 10px color-mix(in srgb, var(--accent) 40%, transparent));flex-shrink:0;justify-content:center;align-items:center;font-size:2.4rem;display:flex}.ex-icon{width:64px;height:64px;filter:drop-shadow(0 0 10px color-mix(in srgb, var(--accent) 40%, transparent));background-image:url(/chars-exercicios.png);background-position:50%;background-repeat:no-repeat;background-size:300%;flex-shrink:0}.ex-icon.pushup{background-position:0%}.ex-icon.squat{background-position:50%}.ex-text{flex-direction:column;flex:1;gap:2px;display:flex}.ex-name{color:#fff;font-size:1.25rem;font-weight:900}.ex-desc{color:#ffffff73;font-size:.8rem;font-weight:600}.ex-arrow{color:var(--accent);flex-shrink:0;font-size:1.8rem;font-weight:900;line-height:1}.contador-page{z-index:1000;background:#000;font-family:inherit;position:fixed;inset:0;overflow:hidden}@media (width>=700px){.contador-page{border-radius:16px;width:min(96vw,54vh);height:min(96vh,170.667vw);inset:50% auto auto 50%;transform:translate(-50%,-50%);box-shadow:0 0 60px #0009}}.camera-layer{position:absolute;inset:0}.camera-video{object-fit:cover;width:100%;height:100%;position:absolute;inset:0;transform:scaleX(-1)}.camera-canvas{pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.camera-vignette{pointer-events:none;background:radial-gradient(#0000 40%,#0000008c 100%);position:absolute;inset:0}.exercise-badge.squat,.hud-counter.squat,.exercise-icon.squat{--accent:#34d399}.exercise-badge.pushup,.hud-counter.pushup,.exercise-icon.pushup{--accent:#22d3ee}.exercise-icon{background-image:url(/chars-exercicios.png);background-position:50%;background-repeat:no-repeat;background-size:300%;flex-shrink:0;width:28px;height:28px;display:inline-block}.exercise-icon.pushup{background-position:0%}.exercise-icon.squat{background-position:50%}.exercise-icon.big{width:180px;height:180px}.contador-idle{z-index:10;padding:max(env(safe-area-inset-top,16px), 16px) 20px max(env(safe-area-inset-bottom,16px), 16px);background:#0a0d14;flex-direction:column;align-items:center;display:flex;position:absolute;inset:0;overflow-y:auto}.sair-btn{cursor:pointer;background-color:#0000;background-image:url(/arrow-btns.png);background-position:-16px -14px;background-repeat:no-repeat;background-size:248px;border:none;flex-shrink:0;align-self:flex-start;width:48px;height:48px;margin-bottom:8px;padding:0;transition:transform .1s}.sair-btn:active{transform:scale(.92)}.exercise-badge{border:1px solid var(--accent);color:#fff;letter-spacing:.04em;text-transform:uppercase;box-shadow:0 0 18px color-mix(in srgb, var(--accent) 35%, transparent);background:#ffffff0a;border-radius:50px;align-items:center;gap:8px;margin-bottom:16px;padding:8px 18px;font-size:.95rem;font-weight:800;display:flex}.tutorial-video{object-fit:contain;background:#141821;border:1px solid #f0b90b26;border-radius:16px;width:calc(100% + 40px);max-width:none;max-height:60vh;margin:0 -20px 16px}.step-dots .dot{background:#fff3;border-radius:50%;width:7px;height:7px;transition:background .2s}.step-dots .dot.active{background:#f0b90b}.instructions{text-align:center;color:#ffffffa6;max-width:360px;margin:16px 0 8px;font-size:.85rem;line-height:1.5}.error-box{text-align:center;color:#fca5a5;background:#ef444426;border:1px solid #ef444466;border-radius:10px;width:100%;max-width:340px;margin:0 auto;padding:14px 16px;font-size:.88rem;font-weight:600;line-height:1.5}.btn-iniciar{color:#fff;text-shadow:0 1px 4px #00000080;cursor:pointer;background:linear-gradient(#ff8c00 0%,#ff6200 40%,#e54e00 100%);border-top:1.5px solid #ffc86473;border-bottom:5px solid #c44a00;border-left:1.5px solid #ff8c3c4d;border-right:1.5px solid #b43c0066;border-radius:50px;width:100%;max-width:360px;margin-top:16px;padding:15px 16px;font-size:1rem;font-weight:900;transition:transform .1s,border-bottom-width .1s;box-shadow:0 8px 18px #00000059,0 0 16px #ff64004d,inset 0 1px #ffd2784d}.btn-iniciar:active{border-bottom-width:1.5px;transform:translateY(4px)}.contador-loading{z-index:10;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.loading-card{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);text-align:center;background:#000000bf;border:1px solid #ffffff1a;border-radius:20px;width:75%;max-width:280px;padding:28px 32px}.loading-card p{color:#fffc;margin:16px 0 12px;font-size:.85rem;font-weight:600}.spinner{border:3px solid #f0b90b33;border-top-color:#f0b90b;border-radius:50%;width:36px;height:36px;margin:0 auto;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.link-btn{color:#fff6;cursor:pointer;background:0 0;border:none;font-size:.78rem;font-weight:600;text-decoration:underline}.hud{pointer-events:none;position:absolute;inset:0}.hud-top{padding:max(env(safe-area-inset-top,12px), 12px) 16px 0;pointer-events:auto;justify-content:space-between;align-items:flex-start;display:flex;position:absolute;top:0;left:0;right:0}.hud-left{flex-direction:column;gap:8px;display:flex}.hud-btn{color:#fff;letter-spacing:.04em;cursor:pointer;background:#0009;border:1px solid #fff3;border-radius:10px;align-self:flex-start;padding:7px 14px;font-size:.8rem;font-weight:800}.hud-timer{background:linear-gradient(150deg,#6b3fa0 0%,#3d1f6e 100%);border:1px solid #fff3;border-radius:18px;flex-direction:column;align-self:flex-start;align-items:center;gap:2px;padding:8px 14px;display:flex;box-shadow:0 4px 14px #0000008c}.timer-value{color:#fff;font-family:monospace;font-size:1.7rem;font-weight:900;line-height:1}.timer-label{color:#ffffff8c;letter-spacing:3px;text-transform:uppercase;font-size:.45rem;font-weight:800}.hud-counter{border:2px solid color-mix(in srgb, var(--accent) 60%, transparent);text-align:center;background:#000000b3;border-radius:15px;flex-direction:column;justify-content:center;align-items:center;gap:6px;min-width:110px;min-height:110px;padding:1.2rem 1rem;display:flex;box-shadow:0 4px 12px #0006}.counter-label{color:var(--accent);text-transform:uppercase;letter-spacing:1px;font-size:.7rem;font-weight:700}.counter-value{color:#fff;font-size:3rem;font-weight:900;line-height:1}.countdown-overlay{flex-direction:column;justify-content:center;align-items:center;gap:8px;display:flex;position:absolute;inset:0}.countdown-num{color:#fff;text-shadow:0 0 40px #7c3aedcc;font-size:8rem;font-weight:900;line-height:1}.countdown-label{color:#ffffffa6;font-size:.9rem;font-weight:600}.countdown-num.countdown-vai{color:#fff;-webkit-text-stroke:3px #0f8;paint-order:stroke fill;text-shadow:2px 3px #0c6,4px 6px #094,6px 9px #006630,8px 12px #00501e99,0 0 20px #00ff88e6,0 0 50px #0f89,0 0 100px #00c86459;animation:.65s cubic-bezier(.22,1,.36,1) forwards vaiPop}@keyframes vaiPop{0%{opacity:0;transform:scale(.2)}40%{opacity:1;text-shadow:2px 3px #0c6,4px 6px #094,6px 9px #006630,8px 12px #00501e99,0 0 30px #0f8,0 0 80px #0f8c,0 0 160px #00c86480;transform:scale(1.28)}65%{transform:scale(.93)}80%{transform:scale(1.07)}to{opacity:1;text-shadow:2px 3px #0c6,4px 6px #094,6px 9px #006630,8px 12px #00501e99,0 0 20px #00ff88e6,0 0 50px #0f89,0 0 100px #00c86459;transform:scale(1.03)}}.feedback-box{text-align:center;text-transform:uppercase;letter-spacing:.07em;background:#0a0c16e0;border:2px solid #fff;border-radius:16px;max-width:min(80vw,280px);padding:12px 22px;font-size:.88rem;font-weight:900;line-height:1.3;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 6px 20px #00000080}.feedback-hint{color:#fff6;font-size:.7rem;font-weight:700;position:absolute;bottom:32px;left:50%;transform:translate(-50%)}.contador-result{z-index:10;padding:max(env(safe-area-inset-top,16px), 16px) 20px max(env(safe-area-inset-bottom,16px), 16px);text-align:center;background:#0a0d14;flex-direction:column;justify-content:center;align-items:center;gap:10px;display:flex;position:absolute;inset:0;overflow-y:auto}.result-back-btn{top:max(env(safe-area-inset-top,12px), 12px);z-index:2;cursor:pointer;background-color:#0000;background-image:url(/arrow-btns.png);background-position:-16px -14px;background-repeat:no-repeat;background-size:248px;border:none;width:48px;height:48px;padding:0;transition:transform .1s;position:absolute;left:12px}.result-back-btn:active{transform:scale(.92)}.result-prize-card{background:radial-gradient(at 20%,#2a1e00 0%,#0f0c00 60%,#0a0800 100%);border:1px solid #f0b90b4d;border-radius:14px;flex-direction:row;align-items:center;gap:14px;width:100%;max-width:340px;padding:14px 20px;display:flex;box-shadow:0 0 30px #f0b90b1f,inset 0 1px #ffdc5014}.result-prize-trophy{object-fit:contain;filter:drop-shadow(0 0 12px #f0b90b80);flex-shrink:0;width:82px;height:82px}.result-prize-info{flex-direction:column;gap:2px;display:flex}.result-prize-label{color:#fff;text-transform:uppercase;letter-spacing:.12em;font-size:1.1rem;font-weight:800}.result-prize-value{letter-spacing:.02em;white-space:nowrap;background:linear-gradient(#fde68a 0%,#f0b90b 55%,#c48a00 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-size:2.2rem;font-weight:900;line-height:1.1}.result-title{z-index:1;margin:0;line-height:1.1;position:relative}.result-title-white{color:#fff;text-transform:uppercase;letter-spacing:.04em;text-shadow:0 2px 8px #0009;font-size:2.4rem;font-weight:900;display:block}.result-title-gold{color:#f0b90b;text-transform:uppercase;letter-spacing:.03em;text-shadow:0 2px 12px #f0b90b66;font-size:2.8rem;font-style:italic;font-weight:900;display:block}.result-subtitle{color:#ffffff80;z-index:1;max-width:280px;margin:0;font-size:.83rem;line-height:1.5;position:relative}.result-score-card{background:#141821;border:1px solid #ffffff12;border-radius:16px;align-items:center;width:100%;max-width:340px;padding-right:16px;display:flex;overflow:hidden}.exercise-icon.result-sprite{flex-shrink:0;width:130px;height:130px}.result-sprite-img{object-fit:contain;flex-shrink:0;width:130px;height:130px}.result-score-body{flex-direction:column;flex:1;align-items:center;gap:1px;display:flex;transform:translate(-30px)}.result-score-num{background:linear-gradient(#fde68a 0%,#f0b90b 55%,#c48a00 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-size:7rem;font-weight:900;line-height:1}.result-score-exname{color:#fff;letter-spacing:.1em;font-size:1rem;font-weight:900}.result-score-valid{color:#f0b90b;letter-spacing:.14em;font-size:.85rem;font-weight:800}.btn-retry-card{cursor:pointer;text-align:left;background:#1a1f2e;border:1px solid #ffffff14;border-radius:14px;align-items:center;gap:12px;width:100%;max-width:340px;padding:12px 14px;transition:background .15s;display:flex;box-shadow:0 4px 14px #0006}.btn-retry-card:active{background:#222840}.btn-retry-circle{background:#ffffff12;border:1px solid #ffffff1a;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:46px;height:46px;display:flex;overflow:visible}.btn-retry-icon{object-fit:contain;width:70px;height:70px}.btn-retry-text{flex-direction:column;flex:1;gap:2px;display:flex}.btn-retry-title{color:#fff;letter-spacing:.04em;text-transform:uppercase;font-size:.78rem;font-weight:900}.btn-retry-sub{color:#ffffff80;font-size:.68rem;font-weight:500;line-height:1.4}.btn-retry-sub strong{color:#f0b90b;font-weight:700}.btn-retry-arrow{color:#ffffff4d;flex-shrink:0;font-size:1.4rem;line-height:1}.btn-enviar{letter-spacing:.06em;text-transform:uppercase;justify-content:center;align-items:center;gap:10px;width:100%;max-width:340px;margin-top:0;display:flex}.btn-enviar-icon{object-fit:contain;flex-shrink:0;width:26px;height:26px}.result-tip{color:#fff6;margin:0;font-size:.78rem;line-height:1.5}.result-tip strong{color:#f0b90b}.confirm-overlay{z-index:20;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#000000bf;justify-content:center;align-items:center;padding:24px;display:flex;position:absolute;inset:0}.confirm-modal{text-align:center;background:#141821;border:1px solid #f0b90b40;border-radius:20px;flex-direction:column;align-items:center;gap:14px;width:100%;max-width:320px;padding:28px 22px 22px;display:flex;box-shadow:0 20px 60px #0009}.confirm-icon{font-size:2.8rem;line-height:1}.confirm-title{color:#fff;margin:0;font-size:1.5rem;font-weight:900}.confirm-body{color:#fff9;margin:0;font-size:.88rem;line-height:1.6}.confirm-body strong{color:#fca5a5;font-weight:800}.confirm-btn-sim{width:100%;margin-top:4px}.confirm-btn-nao{color:#fff6;cursor:pointer;background:0 0;border:none;padding:4px;font-size:.85rem;font-weight:600;text-decoration:underline}.result-enviado-card{text-align:center;background:linear-gradient(#0d2e1a 0%,#071a0f 100%);border-top:1.5px solid #34d39966;border-bottom:5px solid #03200d;border-left:1.5px solid #34d39933;border-right:1.5px solid #00502866;border-radius:16px;flex-direction:column;align-items:center;gap:6px;width:100%;max-width:340px;padding:20px 20px 18px;display:flex;box-shadow:0 8px 24px #00000073,0 0 20px #34d3991a}.result-enviado-icon{font-size:2.4rem;line-height:1}.result-enviado-title{color:#34d399;text-transform:uppercase;letter-spacing:.05em;font-size:1.2rem;font-weight:900}.result-enviado-sub{color:#ffffff80;font-size:.82rem;font-weight:500;line-height:1.4}.result-actions{flex-direction:column;gap:12px;width:100%;max-width:340px;display:flex}.btn-secundario{color:#fff;cursor:pointer;background:#ffffff0a;border:1px solid #ffffff26;border-radius:10px;width:100%;padding:14px;font-size:.95rem;font-weight:700}.result-status{flex-direction:column;align-items:center;gap:12px;margin-bottom:8px;display:flex}.result-status p{color:#fffc;margin:0;font-size:.95rem;font-weight:700}.result-status.success p{color:#34d399;font-size:1.1rem}.result-status.success .result-hint{color:#ffffff80;font-size:.8rem;font-weight:600}.analise-video{object-fit:contain;background:#000;width:100%;height:100%;position:absolute;inset:0}.analise-idle{z-index:10;padding:max(env(safe-area-inset-top,16px), 16px) 20px max(env(safe-area-inset-bottom,16px), 16px);background:#0a0d14;flex-direction:column;align-items:center;display:flex;position:absolute;inset:0;overflow-y:auto}.analise-header{text-align:center;max-width:360px;margin:8px 0 24px}.analise-badge{letter-spacing:.18em;color:#0a0d14;background:linear-gradient(#fde68a 0%,#f0b90b 55%,#c48a00 100%);border-radius:50px;margin-bottom:16px;padding:5px 14px;font-size:.72rem;font-weight:900;display:inline-block;box-shadow:0 0 22px #f0b90b59}.analise-title{color:#fff;margin:0 0 10px;font-size:1.8rem;font-weight:900}.analise-sub{color:#ffffff8c;margin:0;font-size:.9rem;line-height:1.5}.analise-sub strong{color:#f0b90b}.analise-toggle{gap:12px;width:100%;max-width:360px;margin-bottom:8px;display:flex}.toggle-opt{--accent:#22d3ee;color:#fff9;cursor:pointer;background:#141821;border:2px solid #ffffff14;border-radius:16px;flex-direction:column;flex:1;align-items:center;gap:6px;padding:16px 10px;font-size:.9rem;font-weight:800;transition:transform .1s,border-color .15s,color .15s,background .15s;display:flex}.toggle-opt.pushup{--accent:#22d3ee}.toggle-opt.squat{--accent:#34d399}.toggle-opt:active{transform:scale(.97)}.toggle-opt .exercise-icon{opacity:.5;width:56px;height:56px;transition:opacity .15s,filter .15s}.toggle-opt.active{border-color:var(--accent);color:#fff;background:color-mix(in srgb, var(--accent) 12%, #141821);box-shadow:0 0 20px color-mix(in srgb, var(--accent) 30%, transparent)}.toggle-opt.active .exercise-icon{opacity:1;filter:drop-shadow(0 0 8px color-mix(in srgb, var(--accent) 50%, transparent))}.analise-progress{bottom:max(env(safe-area-inset-bottom,16px), 16px);pointer-events:none;background:#ffffff26;border-radius:50px;height:6px;position:absolute;left:16px;right:16px;overflow:hidden}.analise-progress-fill{background:linear-gradient(90deg,#fde68a 0%,#f0b90b 100%);border-radius:50px;height:100%;transition:width .15s linear;box-shadow:0 0 12px #f0b90b99}.analise-badge.cali-badge{color:#fff;background:linear-gradient(#d8b4fe 0%,#a855f7 55%,#7e22ce 100%);box-shadow:0 0 22px #a855f766}.cali-done-bar{z-index:10;padding:40px 20px max(env(safe-area-inset-bottom,16px), 16px);background:linear-gradient(#0a0d1400 0%,#0a0d14d1 45%,#0a0d14f5 100%);flex-direction:column;align-items:center;gap:12px;display:flex;position:absolute;bottom:0;left:0;right:0}.cali-debug{z-index:40;color:#fff;background:#000000db;border-bottom:1px solid #a855f799;padding:6px 8px;font-family:ui-monospace,SF Mono,Consolas,monospace;font-size:.62rem;line-height:1.5;position:absolute;top:0;left:0;right:0}.cali-debug-head{color:#d8b4fe;margin-bottom:3px;font-weight:800}.cali-debug-checks{flex-wrap:wrap;gap:4px 8px;margin-bottom:3px;display:flex}.cali-debug-checks .chk.ok{color:#34d399}.cali-debug-checks .chk.fail{color:#f87171;font-weight:800}.cali-debug-vals{color:#ffffffb8}.cali-debug-stats{color:#fbbf24;border-top:1px solid #ffffff26;margin-top:4px;padding-top:4px;font-weight:700}
