@import url('https://fonts.googleapis.com/css2?family=Nunito:wght@500;600;700;800;900;1000&display=swap');
:root{--ink:#222544;--purple:#7545da;--orange:#ff732d;--green:#16936c}body{font-family:Nunito,system-ui,sans-serif;background:#f7f6ff;color:var(--ink)}header{background:#fff;color:var(--ink);border-bottom:1px solid #e6e1fb;padding:20px max(22px,calc((100vw - 960px)/2))}.brand{font-size:26px;font-weight:1000;letter-spacing:-1px}.brand span{color:#ff722a}header small{color:#786c9c;font-size:10px;font-weight:900;letter-spacing:1px}main{max-width:1000px;padding-top:25px;padding-bottom:130px}button,input,select{font-family:inherit}button{border-color:#ddd6ef;color:var(--ink);border-bottom-width:3px;transition:transform .12s,box-shadow .12s}button:active{transform:translateY(2px)}.hidden{display:none!important}.welcome{display:grid;grid-template-columns:1fr 1.1fr;align-items:center;gap:10px;margin-bottom:24px}.hello{font-size:12px;letter-spacing:1.4px;font-weight:1000;color:#7b49d3}h1{font-size:clamp(33px,5.3vw,52px);letter-spacing:-1.5px;line-height:1.1;margin:13px 0}h1 em{font-style:normal;color:#7949db}.welcome p{color:#6e6a87;margin:14px 0;font-size:15px}.buddy-bubble{display:inline-block;padding:10px 14px;border-radius:14px 14px 14px 3px;background:#eee5ff;color:#613db0;font-size:12px;font-weight:900}.mascot-stage{position:relative;background:radial-gradient(ellipse at center,#f5e6ff 0%,#e5ddff 60%,#ebe5ff 100%);border-radius:40px;min-height:250px;display:grid;align-items:center;border:3px solid white;box-shadow:0 10px 0 #e8e0f6;overflow:hidden}.hero-mascots{display:block;width:100%;height:270px;object-fit:contain;filter:drop-shadow(0 12px 4px #5e389525);animation:enter-buddies .7s ease-out}.deco-star{position:absolute;z-index:1;color:#ffb52b;font-size:34px}.star-one{top:14px;left:20px}.star-two{bottom:8px;right:20px}.home-stats{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:25px 0}.home-stats>div{border-radius:23px;padding:20px 23px;border-bottom:5px solid #0002;color:white}.stat-purple{background:linear-gradient(135deg,#8b58e8,#6844d0)}.stat-blue{background:linear-gradient(135deg,#268cd9,#3275d0)}.home-stats>div>span{font-size:10px;font-weight:1000;letter-spacing:1px}.home-stats strong{display:block;font-size:37px;line-height:1.2;margin:10px 0 2px}.home-stats small{font-size:11px;color:#f3edff}.home-stats strong small{font-size:15px;font-weight:700}.home-xp{height:8px;background:#ffffff35;border-radius:9px;margin-top:15px;overflow:hidden}.home-xp i{display:block;height:100%;background:#ffd768;border-radius:9px}.week-coins{display:flex;gap:7px;margin:8px 0}.week-coins span{display:grid;place-items:center;background:#ffffff24;color:#d1e8ff;width:28px;height:28px;border-radius:50%;border:1px solid #ffffff42}.week-coins .filled{background:#ffda60;color:#7e4d11}.start-card{background:#fff3e7;border:2px solid #ffdcc0;border-bottom:6px solid #f4c8a8;border-radius:25px;padding:27px;margin-bottom:28px}.start-top{display:flex;justify-content:space-between;align-items:center;gap:10px}.pill{background:#ffe0bf;color:#a04c13;border-radius:30px;padding:7px 12px;font-size:11px;font-weight:1000}.start-top>span:last-child{font-size:9px;font-weight:900;color:#966d56;letter-spacing:.7px}.start-card h2{font-size:30px;margin:18px 0 5px;letter-spacing:-.6px}.start-card p{color:#8c6c56;font-size:14px;margin-top:5px}.start-button,.big-action{background:#ff762d;color:#fff;border:0;border-bottom:5px solid #d95115;border-radius:17px;font-size:19px;font-weight:1000;padding:17px 24px;width:100%;box-shadow:0 5px 13px #ff752a20}.start-button:hover,.big-action:hover{background:#f46b20}.change-workout{border-color:#f1d7be;margin-top:17px;padding-top:14px;font-size:12px}.change-workout summary{font-size:12px;color:#8d6045}.workout-choices{display:flex;gap:10px;margin:13px 0}.workout-choices button{padding:10px 16px;background:white}.picked{outline:3px solid #9256e2;outline-offset:2px}.choose-buddy h2{font-size:20px;margin:0 0 17px}.choose-buddy h2>span{font-size:12px;color:#8c83a2;font-weight:600;margin-left:8px}.buddy-options{display:grid;grid-template-columns:repeat(3,1fr);gap:13px}.buddy-options button{text-align:center;padding:17px 10px;border-radius:19px;border-width:1px 1px 4px}.buddy-options button>span{display:block;font-size:42px;line-height:1.3}.buddy-options strong{display:block;font-size:16px;margin:7px 0 3px}.buddy-options small{display:block;font-size:10px;font-weight:700}.buddy-orange{background:#ffebd5!important;border-color:#ffcd96;color:#955019}.buddy-purple{background:#eee2ff!important;border-color:#d4b8fa;color:#7143ad}.buddy-green{background:#def6e8!important;border-color:#a8ddc0;color:#26764c}.home-links{display:flex;justify-content:space-between;gap:15px;align-items:center;margin-top:25px}.home-links button{background:white;font-size:12px;padding:11px}.home-links>span{font-size:10px;color:#897e9a}.bottom-nav{position:fixed;z-index:5;bottom:0;left:0;right:0;display:flex;justify-content:center;background:#fffefa;box-shadow:0 -4px 22px #39256a10;border-top:1px solid #e5dcf2;padding:9px 15px max(9px,env(safe-area-inset-bottom))}.bottom-nav button{background:transparent;border:0;border-radius:15px;min-width:100px;max-width:190px;width:25%;padding:8px;font-size:11px;font-weight:900;color:#8b80a0}.bottom-nav button>span{display:block;font-size:23px;margin-bottom:3px}.bottom-nav .selected{background:#eee5ff;color:#7046c9}.footer{font-size:10px;color:#a299b1;margin-top:40px}.footer a{color:#88749f}.timer{display:none;bottom:91px;right:20px;background:#dff4ff;border-color:#94c9ed;color:#245779;box-shadow:0 6px 25px #456a9920}.timer button{color:#245779;border-color:#93bad2}.in-training .timer{display:flex}#workTop{display:flex;align-items:center;justify-content:space-between;margin:0 0 15px}#workTop button{font-size:12px;padding:9px 14px;background:white}#workTop>span{font-size:10px;font-weight:900;letter-spacing:1px;color:#9586ae}#gamePanel{padding:15px 18px;background:linear-gradient(120deg,#eee5ff,#e3efff);border:1px solid #dac9f6;color:#623b99;margin:12px 0 18px;border-radius:20px}.mini-xp{display:flex;gap:15px;align-items:center;font-size:12px;font-weight:900}.mini-xp strong{color:#7649be;white-space:nowrap}.mini-track{height:7px;background:#d9c8ee;flex:1;border-radius:8px;overflow:hidden}.mini-track i{display:block;height:100%;background:#9764e9}.warm-button{background:white!important;border-color:#d5bfe9;color:#754a9a;font-size:11px;width:100%;padding:8px;margin-top:10px}.warm-button.achieved{background:#d8f4df!important;border-color:#a4d5b0;color:#39784d}.toolbar h2{font-size:23px;color:#31304a}.phase-label{font-size:8px;letter-spacing:1px}.toolbar select{font-size:11px;padding:7px;border-color:#dcd1eb;color:#6d5e81}.toolbar .muted{font-size:12px;color:#8d7f9e}progress{height:9px;accent-color:#9562e2}.warmup-help{background:#fff7da;border:1px solid #efdf9c;border-radius:12px;padding:12px 15px;margin:15px 0 20px}.warmup-help summary{font-size:12px;color:#997428}.warmup-help p{font-size:13px}.card{border:2px solid #e9dff7;border-bottom:6px solid #d8c8ee;border-radius:23px}.focus-grid{grid-template-columns:minmax(0,760px)}.photo-pair figcaption{background:#eee6fa;color:#7d5e9e}.zoom-hint{background:#f8f3ff;color:#8d6bac;font-size:11px}.photo-pair img,.focus-grid .photo-pair img{height:250px}.number{background:#9a6be0;color:white;border-radius:50%;padding:6px 9px}.card h3{color:#33274d;font-size:25px}.chips span{background:#fff0dd;color:#946323;font-weight:800}.chips span+span{background:#e2f1ff;color:#42789d}.content label{font-size:10px;color:#9985aa}.content input{border-color:#d9c9e9;background:#fcf9ff;color:#655075}.sets{margin:14px 0 8px}.sets .set{border-radius:30px;font-size:10px;font-weight:800;background:#f3edf9;border-color:#e0d3ee;color:#a18ab3;padding:7px 12px}.sets .done{background:#d8f4df;color:#32724b;border-color:#a9d8b9}.content details{border-color:#eee4f8}.content summary{font-size:13px;color:#775497}.next-action{margin-top:20px;border-top:1px solid #eee2f8;padding-top:5px;text-align:center}.next-action p{font-size:13px;color:#766287}.next-action small{display:block;font-size:11px;color:#a18aaf;margin-top:12px}.big-action{background:#9360df;border-bottom-color:#6c3cb5;font-size:17px;padding:16px}.big-action:hover{background:#8552d4}.focus-nav{font-size:11px;color:#9e8dae;gap:15px}.focus-nav button{background:white;font-size:10px;padding:8px 12px}.session-options{margin-top:25px;border-top:0}.session-options summary{font-size:11px;color:#a08eaf}.session-options button{font-size:11px;margin:10px 5px}.guide{border-color:#e4d9f4}.guide h3{color:#8155bf}.guide:nth-of-type(3n){border-left:5px solid #73b5e5}.guide:nth-of-type(3n+1){border-left:5px solid #efb14e}.guide:nth-of-type(3n+2){border-left:5px solid #a67ee1}.badge-grid{gap:14px}.badge{background:#efeaf8;border-color:#d3c5e7;color:#9c8caf}.badge.unlocked{background:linear-gradient(135deg,#fff3c5,#ffe1aa);border:2px solid #f1c660;color:#956521;box-shadow:0 4px 0 #f6ddaa}.badge:nth-child(2n).unlocked{background:linear-gradient(135deg,#e1f9e7,#c9efd9);border-color:#9cd1ae;color:#398756}.personal-reward{background:#fff1fb;border-color:#ebc9e5}.personal-reward .primary{background:#b1529e!important;border-color:#913c82!important}.primary{background:#8a59d6!important;border-color:#6d41b1!important}#toast{background:#8052cc;border:2px solid #ecd9ff;color:white;font-weight:900;bottom:155px}.mascot-mini{display:flex;align-items:center;gap:9px;margin-bottom:12px;font-size:12px;font-weight:800;color:#77528f}.mascot-mini>span{font-size:28px}.cue{background:#fff1cf;color:#8c6b31}.in-training .bottom-nav{padding-top:5px;padding-bottom:6px}.in-training .bottom-nav button{padding:5px}.in-training .bottom-nav span{font-size:20px}#photoDialog{background:#fdfaff}#photoDialog h2{color:#74509f}@keyframes enter-buddies{from{transform:translateY(14px);opacity:.2}to{transform:translateY(0);opacity:1}}@media(max-width:650px){main{padding:18px 17px 120px}.welcome{grid-template-columns:1fr}.welcome>div:first-child{text-align:center}h1{max-width:none;font-size:35px;margin:11px 0}.welcome h1 br{display:none}.welcome p{margin:10px 0}.buddy-bubble{font-size:11px}.mascot-stage{min-height:180px;margin-top:15px;border-radius:27px}.hero-mascots{height:205px}.home-stats{gap:11px;margin-top:20px}.home-stats>div{padding:17px 15px;border-radius:20px}.home-stats strong{font-size:31px}.home-stats strong small{font-size:11px}.home-stats small{font-size:9px}.home-stats>div>span{font-size:9px}.start-card{padding:20px}.start-card h2{font-size:25px}.start-card p{font-size:12px}.start-top>span:last-child{font-size:7px}.start-button{font-size:18px}.buddy-options{gap:10px}.buddy-options small{font-size:8px}.buddy-options strong{font-size:14px}.buddy-options button{padding:12px 5px}.choose-buddy h2{font-size:17px}.choose-buddy h2>span{display:block;margin:4px 0 0;font-size:11px}.home-links{align-items:flex-start}.home-links>span{font-size:9px;max-width:120px;text-align:right}.bottom-nav button{min-width:95px}.timer{right:12px;bottom:83px;padding:9px 12px}.timer strong{font-size:21px}.timer button{font-size:11px}.photo-pair img,.focus-grid .photo-pair img{height:180px}.card .content{padding:19px}.card h3{font-size:23px}.content label input{width:72px}.toolbar{margin:13px 0}.toolbar h2{font-size:19px}.phase-label{max-width:140px}.toolbar select{max-width:140px;font-size:10px}.mini-xp{font-size:11px}.footer{font-size:9px}.start-card h2 span{color:#ee762e}}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
.buddy-options .buddy-character{display:block;width:72px;height:120px;margin:0 auto;background-image:url('assets/mascots.png');background-repeat:no-repeat;background-size:auto 100%;font-size:0}.char-rabbit{background-position:left center}.char-duck{background-position:center center}.char-bear{background-position:right center}.mascot-mini .buddy-character{display:block;flex:none;width:44px;height:65px;background-image:url('assets/mascots.png');background-repeat:no-repeat;background-size:auto 100%;font-size:0}.mascot-mini{margin-bottom:6px}.mascot-mini div{max-width:300px}#rewards h2{color:#8c50cf}#history h2{color:#3589b8}.in-training .brand span{color:#9157d6}@media(max-width:650px){.buddy-options .buddy-character{height:100px;width:60px}.mascot-mini .buddy-character{height:58px;width:39px}}

/* Four training companions, including Nina. */
.buddy-options{grid-template-columns:repeat(4,minmax(0,1fr))}.buddy-pink{background:#ffe5ef!important;border-color:#f6b8d1;color:#a14170}.buddy-options .char-cat,.mascot-mini .char-cat{background-image:url('assets/nina.png');background-position:center;background-size:contain}.hero-turma{display:flex;align-items:flex-end;gap:0;width:100%;height:270px;padding:8px 8px 0}.hero-turma .hero-mascots{width:75%;height:100%;min-width:0;object-fit:contain}.hero-nina{width:25%;height:96%;object-fit:contain;filter:drop-shadow(0 8px 4px #663a9820)}.hero-turma .hero-mascots{filter:drop-shadow(0 8px 4px #663a9820)}@media(max-width:650px){.buddy-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.buddy-options button{padding:15px 8px}.buddy-options strong{font-size:16px}.buddy-options small{font-size:10px}.hero-turma{height:205px;padding:6px 2px 0}.hero-turma .hero-mascots{height:100%}.hero-nina{height:96%;width:25%}}

.buddy-options{grid-template-columns:repeat(3,minmax(0,1fr))}.buddy-turquoise{background:#dbf8f4!important;border-color:#91dbd0;color:#227b73}.buddy-sunshine{background:#fff0cf!important;border-color:#f0cf82;color:#926321}.buddy-options .char-bunny,.mascot-mini .char-bunny{background-image:url('assets/bia.png');background-position:center;background-size:contain}.buddy-options .char-fox,.mascot-mini .char-fox{background-image:url('assets/luna.png');background-position:center;background-size:contain}@media(max-width:650px){.buddy-options{grid-template-columns:repeat(2,minmax(0,1fr))}}
.voice-switch{display:flex;align-items:center;gap:7px;margin:14px 0 0;font-size:12px;color:#9a694d;font-weight:800;cursor:pointer}.voice-switch input{width:18px;height:18px;accent-color:#935bd9;margin:0}

/* Each male companion uses one square cell of the animation atlas.
   The group illustration is reserved for the hero, never the avatar cards. */
.buddy-options .char-rabbit,.buddy-options .char-duck,.buddy-options .char-bear{
  width:120px;height:120px;
  background-image:url('assets/celebrations-atlas.png');
  background-size:400% 600%;background-repeat:no-repeat;
}
.mascot-mini .char-rabbit,.mascot-mini .char-duck,.mascot-mini .char-bear{
  width:65px;height:65px;
  background-image:url('assets/celebrations-atlas.png');
  background-size:400% 600%;background-repeat:no-repeat;
}
.buddy-options .char-rabbit,.mascot-mini .char-rabbit{background-position:0% 0%}
.buddy-options .char-duck,.mascot-mini .char-duck{background-position:0% 20%}
.buddy-options .char-bear,.mascot-mini .char-bear{background-position:0% 40%}
@media(max-width:650px){
  .buddy-options .char-rabbit,.buddy-options .char-duck,.buddy-options .char-bear{width:100px;height:100px}
  .mascot-mini .char-rabbit,.mascot-mini .char-duck,.mascot-mini .char-bear{width:58px;height:58px}
}
.brand{display:flex;gap:6px;align-items:center}.brand>img{border-radius:11px;margin-right:6px;flex-shrink:0}
