:root{--bg:#f7f8fc;--surface:#fff;--text:#20263a;--muted:#626a82;--primary:#087a3e;--primary-dark:#055c2e;--primary-soft:#e9fbf1;--yellow:#ffc83d;--green:#087a3e;--green-soft:#e9fbf1;--red:#c7354f;--border:#e1e4ed;--shadow:0 18px 45px rgba(42,48,86,.1)}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;font-family:Nunito,system-ui,sans-serif;color:var(--text);background:var(--bg)}button{font:inherit;color:inherit}.app-shell{min-height:100svh;display:grid;place-items:center;padding:24px}.screen{display:none;width:min(100%,760px);min-height:min(820px,calc(100svh - 48px));background:var(--surface);border:1px solid var(--border);border-radius:38px;box-shadow:var(--shadow);position:relative;overflow:hidden}.screen.active{display:flex}.home-screen,.finish-screen{align-items:center;justify-content:center;flex-direction:column;text-align:center;padding:48px 24px;background:radial-gradient(circle at 50% 18%,#f1efff 0 125px,transparent 126px),var(--surface)}.parent-link{position:absolute;right:26px;top:24px;border:0;background:var(--bg);width:48px;height:48px;border-radius:50%;font-size:1.25rem;cursor:pointer}.mascot{font-size:7rem;position:relative;filter:drop-shadow(0 12px 16px rgba(62,54,140,.14));animation:float 3s ease-in-out infinite}.mascot i{position:absolute;font-size:1.8rem;right:-18px;top:3px}.eyebrow{font-weight:900;color:var(--primary);font-size:.78rem;letter-spacing:.16em;margin:22px 0 8px}.home-screen h1,.finish-screen h2{font-size:clamp(2.25rem,7vw,3.8rem);line-height:1;margin:0}.subtitle{color:var(--muted);font-size:1.2rem;margin:15px 0 32px}.primary-btn{border:0;background:var(--primary);color:#fff;border-radius:20px;min-width:230px;padding:18px 32px;font-size:1.2rem;font-weight:900;letter-spacing:.06em;box-shadow:0 9px 0 var(--primary-dark),0 16px 28px rgba(108,99,255,.25);cursor:pointer;transition:.15s}.primary-btn:active{transform:translateY(6px);box-shadow:0 3px 0 var(--primary-dark)}.primary-btn span{margin-right:10px}.home-stars{margin-top:42px;color:#e4e3eb;font-size:1.4rem;letter-spacing:14px}.home-stars b{color:var(--yellow)}
.lesson-screen{padding:26px 34px 32px;flex-direction:column}.lesson-header{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:22px}.score-pill{background:#fff8df;border:1px solid #ffe798;border-radius:18px;padding:10px 15px;font-size:1.1rem}.score-pill span{color:var(--yellow);font-size:1.3rem}.progress-wrap{display:flex;align-items:center;gap:12px;color:var(--muted);font-size:.82rem;font-weight:800}.progress-track{height:12px;background:#edeef4;border-radius:99px;flex:1;overflow:hidden}.progress-bar{height:100%;width:0;background:linear-gradient(90deg,var(--primary),#8e88ff);border-radius:inherit;transition:width .5s}.icon-btn{border:1px solid var(--border);background:#fff;width:48px;height:48px;border-radius:16px;font-size:1.35rem;cursor:pointer}.quiet{color:var(--muted)}.teacher-zone{display:flex;align-items:center;justify-content:center;gap:14px;margin:26px 0 12px}.teacher-orb{width:68px;height:68px;background:var(--primary-soft);border-radius:50%;display:grid;place-items:center;font-size:2.6rem}.speech-bubble{background:var(--primary-soft);color:var(--primary-dark);padding:13px 20px;border-radius:18px 18px 18px 5px;font-size:1.15rem}.listen-btn{align-self:center;border:0;background:var(--primary);color:#fff;width:84px;height:84px;border-radius:50%;box-shadow:0 8px 0 var(--primary-dark),0 14px 25px rgba(108,99,255,.23);display:flex;flex-direction:column;align-items:center;justify-content:center;cursor:pointer;margin:4px 0 24px}.listen-btn span{font-size:2rem}.listen-btn small,.mic-btn small{font-size:.62rem;font-weight:900;letter-spacing:.12em;margin-top:2px}.listen-btn:active{transform:translateY(5px);box-shadow:0 3px 0 var(--primary-dark)}.options-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:17px;width:min(100%,560px);margin:0 auto}.animal-card{min-height:176px;border:2px solid var(--border);background:#fff;border-radius:28px;display:grid;place-items:center;font-size:5.4rem;cursor:pointer;box-shadow:0 7px 15px rgba(36,42,75,.06);transition:transform .16s,border-color .16s,background .16s}.animal-card:hover{border-color:#c9c5ff;transform:translateY(-2px)}.animal-card.correct{border-color:var(--green);background:var(--green-soft);animation:pop .55s}.animal-card.wrong{border-color:#ffb8b8;animation:shake .4s}.animal-card:disabled{cursor:default}.feedback{min-height:34px;text-align:center;font-weight:900;font-size:1.25rem;margin-top:17px;color:var(--green)}.feedback.try{color:var(--red)}
.speak-panel{position:absolute;inset:82px 24px 24px;background:rgba(255,255,255,.97);z-index:5;border-radius:30px;display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center}.speak-panel[hidden]{display:none}.speak-animal{font-size:8rem}.speak-panel p{font-size:1.7rem;font-weight:900;margin:10px}.mic-btn{border:0;background:var(--green);color:#fff;width:118px;height:118px;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;box-shadow:0 9px 0 #22a760;cursor:pointer}.mic-btn span{font-size:2.8rem}.mic-btn.listening{animation:pulse 1s infinite}.text-btn{border:0;background:transparent;color:var(--muted);font-weight:800;margin-top:25px;padding:10px;cursor:pointer}.finish-screen{background:radial-gradient(circle at 50% 27%,#fff8dd 0 145px,transparent 146px),#fff}.celebration{font-size:2rem}.finish-mascot{font-size:7rem}.finish-screen p{color:var(--muted);font-size:1.1rem}.result-card{display:flex;align-items:center;gap:45px;background:var(--bg);padding:16px 24px;border-radius:18px;margin:18px 0 26px}.result-card span{color:var(--muted);font-weight:800}.result-card strong{font-size:1.35rem}.parent-screen{padding:38px;flex-direction:column}.parent-screen header{display:flex;align-items:center;gap:18px}.parent-screen header .eyebrow{margin:0 0 4px}.parent-screen h2{font-size:2rem;margin:0}.stats-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin:35px 0}.stats-grid article,.difficulty-card{border:1px solid var(--border);border-radius:23px;padding:22px;background:#fff}.stats-grid span{display:block;color:var(--muted);font-size:.9rem}.stats-grid strong{display:block;font-size:2rem;margin-top:7px}.difficulty-card h3{margin-top:0}.difficult-item{display:flex;align-items:center;gap:12px;padding:10px 0;border-top:1px solid var(--border)}.difficult-item:first-child{border:0}.difficult-item span:first-child{font-size:2rem}.difficult-item b{flex:1;text-transform:capitalize}.meter{width:100px;height:8px;background:#eee;border-radius:9px;overflow:hidden}.meter i{display:block;height:100%;background:var(--primary)}.parent-note{text-align:center;color:var(--muted);font-size:.85rem;margin-top:auto}
@keyframes float{50%{transform:translateY(-8px)}}@keyframes pop{50%{transform:scale(1.08)}}@keyframes shake{25%{transform:translateX(-7px)}50%{transform:translateX(7px)}75%{transform:translateX(-4px)}}@keyframes pulse{50%{transform:scale(1.08);box-shadow:0 0 0 16px rgba(53,201,120,.15)}}

/* Associação visual, sonora e escrita */
.animal-card{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;font-size:inherit}
.animal-emoji{font-size:5rem;line-height:1}
.animal-name{font-size:1.2rem;font-weight:900;line-height:1;text-transform:uppercase;letter-spacing:.08em;color:var(--text)}
.speech-listen-btn{border:2px solid var(--primary);background:var(--primary-soft);color:var(--primary-dark);border-radius:18px;padding:11px 18px;margin:3px 0 18px;display:flex;align-items:center;gap:8px;font-weight:900;cursor:pointer}.speech-listen-btn span{font-size:1.35rem}.speech-listen-btn small{font-size:.7rem;letter-spacing:.08em}
.worlds-screen{padding:34px;flex-direction:column}.worlds-header{display:flex;align-items:center;gap:18px}.worlds-header .eyebrow{margin:0 0 4px}.worlds-header h2{font-size:clamp(1.7rem,5vw,2.4rem);margin:0}.category-list{overflow:auto;margin-top:26px;padding:2px 5px 16px;display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.level-title{grid-column:1/-1;margin:14px 2px 0;color:var(--muted);font-size:.78rem;letter-spacing:.13em}.category-card{border:2px solid var(--border);background:#fff;border-radius:23px;min-height:130px;padding:16px 8px;display:flex;flex-direction:column;align-items:center;justify-content:center;cursor:pointer;transition:.16s}.category-card:hover{transform:translateY(-3px);border-color:#c9c5ff}.category-card span{font-size:2.7rem}.category-card strong{font-size:1rem;margin-top:7px}.category-card small{color:var(--muted)}.color-visual{width:76px;height:76px;border-radius:50%;border:3px solid rgba(32,38,58,.15);box-shadow:inset 0 0 0 4px rgba(255,255,255,.25)}.shape-visual{width:76px;height:76px;background:var(--primary)}.shape-circle{border-radius:50%}.shape-square{border-radius:10px}.shape-rectangle{width:100px;height:62px;border-radius:9px}.shape-triangle{width:0;height:0;background:transparent;border-left:43px solid transparent;border-right:43px solid transparent;border-bottom:76px solid var(--primary)}.shape-star{clip-path:polygon(50% 0,61% 35%,98% 35%,68% 57%,79% 94%,50% 72%,21% 94%,32% 57%,2% 35%,39% 35%)}.shape-heart{clip-path:polygon(50% 88%,10% 48%,10% 25%,25% 10%,43% 10%,50% 22%,57% 10%,75% 10%,90% 25%,90% 48%);background:#ef476f}
.home-screen{background:var(--surface)}.home-screen .mascot{width:260px;height:230px;display:grid;place-items:center;margin:-6px auto -2px;filter:none;animation:none}.home-screen .mascot img{display:block;width:246px;height:230px;object-fit:contain;object-position:center center}
.auth-area{position:absolute;left:22px;top:22px;z-index:3}.google-login{min-height:48px;padding:0 16px;border:1px solid var(--border);border-radius:16px;background:#fff;color:var(--text);display:flex;align-items:center;gap:9px;text-decoration:none;font-weight:900;box-shadow:0 5px 14px rgba(36,42,75,.07)}.google-login b{font-family:Arial,sans-serif;color:#4285f4;font-size:1.2rem}.google-login[hidden]{display:none}.user-profile{height:52px;max-width:245px;padding:5px 7px;display:flex;align-items:center;gap:8px;background:#fff;border:1px solid var(--border);border-radius:17px;box-shadow:0 5px 14px rgba(36,42,75,.07)}.user-profile[hidden]{display:none}.user-profile img{width:38px;height:38px;border-radius:12px;object-fit:cover}.user-profile div{min-width:0;text-align:left}.user-profile strong,.user-profile small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-profile strong{font-size:.82rem}.user-profile small{font-size:.65rem;color:var(--muted)}.user-profile button{border:0;background:transparent;color:var(--muted);font-size:1.1rem;cursor:pointer;padding:6px}
.login-screen{align-items:center;justify-content:center;flex-direction:column;padding:42px;isolation:isolate;background:linear-gradient(145deg,#fff 0%,#faf9ff 60%,#f1efff 100%)}.login-decoration{position:absolute;border-radius:50%;z-index:-1;filter:blur(1px)}.login-decoration-one{width:330px;height:330px;right:-155px;top:-155px;background:#efedff}.login-decoration-two{width:220px;height:220px;left:-120px;bottom:-105px;background:#fff5d7}.login-brand{position:absolute;left:34px;top:28px;display:flex;align-items:center;gap:10px;font-weight:900}.login-brand img{width:54px;height:48px;object-fit:contain}.login-brand span{font-size:1.05rem}.login-content{width:min(100%,460px);text-align:center}.login-content .eyebrow{margin-top:0}.login-content h1{font-size:clamp(2.25rem,6vw,3.55rem);line-height:1.08;margin:8px 0 18px}.login-content>p:not(.eyebrow):not(.login-error){color:var(--muted);font-size:1.06rem;line-height:1.55;margin:0 auto 20px;max-width:390px}.login-required{width:min(100%,390px);display:flex;align-items:center;gap:12px;margin:0 auto 16px;padding:14px 16px;text-align:left;background:#fff8df;border:2px solid #ffd86b;border-radius:18px;box-shadow:0 7px 18px rgba(102,79,13,.08)}.login-required>span{flex:0 0 auto;width:38px;height:38px;display:grid;place-items:center;border-radius:12px;background:#fff;font-size:1.35rem}.login-required strong,.login-required small{display:block}.login-required strong{font-size:.98rem;line-height:1.25}.login-required small{color:#686044;font-size:.76rem;line-height:1.35;margin-top:3px}.login-google{width:min(100%,390px);min-height:64px;margin:0 auto;justify-content:center;border:2px solid #3478e5;border-radius:19px;background:#4285f4;color:#fff;font-size:1.05rem;box-shadow:0 8px 0 #2865c7,0 14px 24px rgba(66,133,244,.22);transition:.18s}.login-google:hover{transform:translateY(-2px);border-color:#2865c7}.login-google:active{transform:translateY(5px);box-shadow:0 3px 0 #2865c7}.login-google b{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:#fff;color:#4285f4;font-size:1.25rem}.login-google i{font-style:normal;font-size:1.3rem}.login-loading{height:60px;display:flex;align-items:center;justify-content:center;gap:10px;color:var(--muted)}.login-loading i{width:18px;height:18px;border:3px solid var(--border);border-top-color:var(--primary);border-radius:50%;animation:spin .8s linear infinite}.login-loading[hidden]{display:none}.login-error{color:var(--red);font-weight:800;margin:15px 0 0}.login-safety{display:block;color:#47506a;font-weight:800;margin-top:22px}.login-footer{position:absolute;bottom:28px;display:flex;gap:13px;align-items:center;color:var(--muted);font-size:.78rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.login-footer i{color:var(--yellow)}
@keyframes spin{to{transform:rotate(360deg)}}
.parent-screen{overflow-y:auto;gap:20px}.parent-screen>header{flex:0 0 auto}.progress-updated{margin:5px 0 0;color:var(--muted);font-size:.78rem}.progress-hero{display:flex;align-items:center;gap:24px;padding:22px 25px;border-radius:24px;background:linear-gradient(135deg,#f0efff,#fafaff);border:1px solid #dedbff}.progress-hero h3{margin:0 0 5px;font-size:1.3rem}.progress-hero p{margin:0;color:var(--muted)}.progress-ring{--progress:0deg;flex:0 0 112px;width:112px;aspect-ratio:1;border-radius:50%;display:grid;place-content:center;text-align:center;background:radial-gradient(circle,#fff 0 61%,transparent 62%),conic-gradient(var(--primary) var(--progress),#e5e3f1 0)}.progress-ring strong{font-size:1.65rem}.progress-ring span{display:block;color:var(--muted);font-size:.62rem}.parent-screen .stats-grid{grid-template-columns:repeat(3,1fr);margin:0}.parent-screen .stats-grid article{padding:18px}.parent-screen .stats-grid strong{font-size:1.75rem}.parent-screen .stats-grid small{display:block;color:var(--muted);margin-top:3px;font-size:.7rem}.performance-card,.category-progress-section{border:1px solid var(--border);border-radius:23px;padding:22px;background:#fff}.performance-card h3,.section-heading h3{margin:0}.performance-row{display:flex;align-items:end;justify-content:space-between;gap:15px;margin:17px 0 8px}.performance-row strong,.performance-row small{display:block}.performance-row small{color:var(--muted);margin-top:3px}.performance-row>b{font-size:1.15rem;color:var(--primary)}.wide-meter{height:9px;border-radius:999px;background:#ebeaf2;overflow:hidden}.wide-meter i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--green),var(--primary));transition:width .35s}.speech-meter i{background:linear-gradient(90deg,#ffba3a,#ff7a59)}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:15px}.section-heading .eyebrow{margin:0 0 3px}.section-heading>span{color:var(--muted);font-size:.78rem}.category-progress-list{display:grid;grid-template-columns:1fr 1fr;gap:11px;margin-top:18px}.category-progress-card{padding:15px;border:1px solid var(--border);border-radius:17px;background:#fff}.category-progress-card.untouched{background:#fafafa;opacity:.72}.category-progress-top{display:flex;align-items:center;gap:10px;margin-bottom:11px}.category-progress-icon{font-size:1.7rem}.category-progress-top>div{min-width:0;flex:1}.category-progress-top strong,.category-progress-top small{display:block}.category-progress-top small,.category-progress-details{color:var(--muted);font-size:.68rem}.category-progress-top>b{color:var(--primary);font-size:.82rem}.category-progress-details{margin-top:8px}.difficulty-card{margin:0}.difficulty-card .section-heading{margin-bottom:10px}.difficult-item{display:grid;grid-template-columns:42px minmax(110px,1fr) minmax(130px,1fr) 45px}.practice-icon{font-size:1.8rem}.practice-info b,.practice-info small{display:block}.practice-info small,.practice-metrics>small{color:var(--muted);font-size:.68rem}.practice-metrics .wide-meter{margin-top:5px}.practice-score{text-align:right;color:var(--primary)}.progress-empty{padding:25px;text-align:center;color:var(--muted);background:var(--bg);border-radius:16px}.account-security{flex:0 0 auto}.parent-note{margin-top:0}
