:root{--ink:#173657;--muted:#55718b;--blue:#2455c7;--teal:#087e79;--yellow:#ffd46b;--line:#d6e5f0;--bg:#f4f9fe}*{box-sizing:border-box}body{margin:0;background:#dceef7;color:var(--ink);font:16px/1.48 system-ui,-apple-system,'Segoe UI',sans-serif}button,input,textarea,select{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #e9a629;outline-offset:2px}.app{max-width:850px;min-height:100dvh;margin:auto;background:var(--bg);box-shadow:0 0 45px #1736571a;padding-bottom:82px}header{height:76px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 22px;background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:5}.brand{font-size:24px;font-weight:900;letter-spacing:-.07em;white-space:nowrap}.brand span{font-size:12px;letter-spacing:.1em;color:var(--teal);margin-left:4px}.roles{display:flex;padding:4px;background:#eaf3fa;border-radius:15px;gap:2px}.roles button{border:0;border-radius:11px;background:transparent;padding:9px 13px;color:var(--ink);font-size:14px;font-weight:700}.roles button.active{background:#fff;box-shadow:0 2px 8px #17365722}main{padding:25px 22px}h1{font-size:clamp(27px,5vw,39px);line-height:1.14;letter-spacing:-.04em;margin:0 0 10px}h2{font-size:21px;margin:0 0 10px;line-height:1.25}h3{font-size:17px;margin:0 0 7px}p{margin:0 0 14px;color:var(--muted)}small{font-size:14px;color:var(--muted)}.eyebrow{font-size:13px;text-transform:uppercase;letter-spacing:.1em;color:var(--teal);font-weight:850;margin:0 0 8px}.hero{display:flex;align-items:center;gap:16px;background:linear-gradient(110deg,#dcefff,#fff4d2);padding:20px;border-radius:25px;margin-bottom:20px}.hero-copy{flex:1}.hero-copy p{margin:0}.hero-art{width:95px;height:115px;flex:none;overflow:hidden}.hero-art img{width:100%;height:100%;object-fit:cover;object-position:top}.grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.card{border:1px solid var(--line);border-radius:22px;background:white;padding:18px;box-shadow:0 6px 20px #1736570c;margin-bottom:14px}.card p:last-child{margin-bottom:0}.card-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.tag{border-radius:99px;padding:5px 9px;background:#eaf5f2;color:#087e79;font-size:13px;font-weight:800;white-space:nowrap}.tag.due{background:#fff0d1;color:#8f5b09}.date{font-size:14px;font-weight:750;color:var(--blue)}.list{display:grid;gap:10px}.row{display:flex;align-items:center;gap:12px;border:1px solid var(--line);border-radius:16px;padding:13px;background:#fff;text-align:left;width:100%;color:var(--ink)}.row b{font-size:22px;min-width:28px}.row span{flex:1}.row strong,.row small{display:block}.row small{font-size:14px}.row em{font-style:normal;color:var(--blue);font-weight:800}.primary,.secondary{border-radius:15px;padding:12px 17px;min-height:46px;font-weight:800}.primary{background:var(--blue);color:white;border:0}.secondary{background:#eff5fd;color:var(--blue);border:1px solid #cbdcf1}.actions{display:flex;flex-wrap:wrap;gap:9px;margin-top:15px}.muted{color:var(--muted)}.notice{background:#fff9e9;border:1px solid #f5deb0;border-radius:17px;padding:14px;margin:16px 0;color:#705016;font-size:14px}.section-title{margin:27px 0 11px}.field{display:grid;gap:6px;margin:0 0 14px;font-size:15px;font-weight:700}.field input,.field textarea,.field select{border:1px solid #bfd1e0;border-radius:12px;padding:11px;background:#fff;width:100%;color:var(--ink)}.field textarea{min-height:90px;resize:vertical}.form-actions{display:flex;justify-content:flex-end;gap:10px}.back{background:none;border:0;color:var(--blue);padding:4px 0 14px;font-weight:750}.preview{max-width:100%;max-height:210px;object-fit:contain;border-radius:12px;border:1px solid var(--line);margin:10px 0}.status{padding:10px 12px;background:#eaf5f2;border-radius:12px;color:#0a6e64;font-weight:700}.empty{padding:25px;background:#fff;border:1px dashed #b7ccda;border-radius:17px;color:var(--muted)}nav{position:fixed;bottom:0;left:50%;transform:translateX(-50%);display:flex;width:min(850px,100%);height:74px;background:white;border-top:1px solid var(--line);z-index:5}nav button{flex:1;border:0;background:white;color:var(--muted);font-size:23px;padding:5px}nav button.active{color:var(--blue);font-weight:850}nav span{display:block;font-size:13px}#toast{position:fixed;bottom:86px;left:50%;transform:translateX(-50%);background:#173657;color:#fff;padding:12px 20px;border-radius:14px;opacity:0;pointer-events:none;z-index:10;transition:opacity .2s}#toast.show{opacity:1}@media(max-width:560px){main{padding:17px 15px}.grid{grid-template-columns:1fr}.hero{padding:15px}.hero-art{width:75px;height:105px}header{padding:10px}.roles button{padding:8px;font-size:13px}.card{padding:15px}}@media(prefers-reduced-motion:reduce){*{transition:none!important}}
#soundToggle{border:0;border-radius:12px;background:#eaf3fa;padding:9px;min-width:42px}.hero-art img{object-fit:contain;animation:floatHero 3s ease-in-out infinite}.hero-art.celebrate img{animation:celebrate .5s ease-in-out 2}.child-panel{display:flex;align-items:center;gap:14px;background:linear-gradient(130deg,#1b5595,#176d88);color:white;border-radius:24px;padding:16px;margin:14px 0}.child-panel p,.child-panel small{color:#e3f5ff}.child-panel img{width:84px;height:98px;object-fit:contain;flex:none;animation:floatHero 3s ease-in-out infinite}.child-panel .primary{background:var(--yellow);color:var(--ink)}.speech{background:#fff;border-radius:18px;padding:12px 15px;margin:10px 0;color:var(--ink);font-size:18px;font-weight:750}.recorder{padding:12px;border:1px dashed #aac6db;border-radius:15px;margin:12px 0;background:#f8fcff}.recorder p{margin-bottom:8px}.recorder .actions{margin-top:0}.recorder button{min-height:44px}.audio-play{display:block;width:100%;margin:10px 0}.routine-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.routine-tile{border:2px solid #d3e4ef;background:#fff;border-radius:20px;padding:17px;text-align:left;min-height:140px;color:var(--ink);font-weight:800}.routine-tile span{display:block;font-size:34px}.routine-tile small{display:block;margin-top:6px}.routine-tile.done{border-color:#30a893;background:#e7f8f1}.spark{position:absolute;pointer-events:none;font-size:30px;animation:spark .9s ease-out forwards}.celebration{position:relative}@keyframes floatHero{50%{transform:translateY(-8px)}}@keyframes celebrate{50%{transform:translateY(-16px) rotate(9deg) scale(1.08)}}@keyframes spark{from{opacity:1;transform:translate(0,0) scale(.6)}to{opacity:0;transform:translate(var(--dx),var(--dy)) scale(1.4)}}@media(max-width:560px){.brand{font-size:20px}.brand span{font-size:10px}#soundToggle{min-width:36px;padding:7px}.child-panel{flex-direction:column;text-align:center}.routine-tile{min-height:120px}}@media(prefers-reduced-motion:reduce){.hero-art img,.child-panel img{animation:none}.spark{display:none}}
.original-link{display:block;width:max-content;max-width:100%;text-decoration:none;margin:12px 0 18px;text-align:center}
/* Classroom uses the same sprite and bright world as HÉROE. */
body{background:#0d4281}.app{background:linear-gradient(180deg,#d5eaff 0%,#f5f9ff 53%,#fff8e2 100%)}header{background:#173c67;color:white;border-bottom:4px solid #ffd46b}.brand{color:white}.brand span{color:#ffd46b}.roles{background:#315f95}.roles button{color:white}.roles button.active{color:#173657}#soundToggle{background:#315f95;color:white}.hero{background:radial-gradient(circle at 85% 30%,#fff4c1 0,#ffd15c 29%,transparent 30%),linear-gradient(135deg,#2165ad,#154683);color:white;min-height:225px;box-shadow:0 10px 24px #1747733d}.hero h1,.hero .eyebrow{color:white}.hero p{color:#e7f3ff}.hero-art{width:155px;height:190px}.hero-art .aula-sprite,.child-panel .aula-sprite{display:block;width:100%;height:100%;background:url('assets/hero-0.webp') 0 0 / 300% 200% no-repeat;animation:floatHero 3s ease-in-out infinite;filter:drop-shadow(0 8px 10px #08284777)}.child-panel .aula-sprite{width:100px;height:115px;flex:none}.card{box-shadow:0 7px 0 #cadcec,0 10px 25px #17477314;border:2px solid #d4e4f2}.row{border:2px solid #d3e4f2;box-shadow:0 4px 0 #d8e9f5}.row:active,.routine-tile:active{transform:translateY(3px);box-shadow:none}.primary{background:#2858c8;box-shadow:0 4px 0 #173c8c}.primary:active{transform:translateY(3px);box-shadow:0 1px 0 #173c8c}nav{border-top:4px solid #ffd46b}nav button.active{background:#fff4d3}.child-panel{background:linear-gradient(130deg,#244bc2,#137b9e);border:3px solid #ffd46b}.speech{border:3px solid #ffd46b}.routine-tile{box-shadow:0 5px 0 #bddbec}.routine-tile.done{box-shadow:0 5px 0 #91d5b9}@media(max-width:560px){.hero-art{width:110px;height:150px}.hero{min-height:190px}.child-panel .aula-sprite{width:115px;height:130px}}
.aula-welcome,.aula-setup{max-width:760px;margin:auto}.aula-welcome{min-height:calc(100dvh - 155px);padding:25px clamp(20px,6vw,50px);border-radius:30px;text-align:center;color:#fff;background:radial-gradient(circle at 50% 34%,#ffe796 0,#ffcc5d 25%,transparent 25.5%),linear-gradient(150deg,#2467b5,#6339ae 65%,#eb6392);box-shadow:0 14px 0 #173c67,0 22px 36px #173c6744}.aula-welcome h1{font-size:clamp(32px,6vw,54px);text-shadow:0 3px 0 #153f78}.aula-welcome p,.aula-welcome small,.aula-welcome .eyebrow{color:#fff}.aula-welcome .primary{background:#ffdb63;color:#173657;box-shadow:0 5px 0 #bd781c;font-size:18px}.aula-welcome small{display:block;margin:18px}.welcome-duo{display:flex;justify-content:center;gap:18px;margin:25px auto 12px}.welcome-duo .aula-sprite{width:clamp(110px,23vw,160px);height:clamp(130px,26vw,185px);background-size:300% 200%;background-position:0 0;background-repeat:no-repeat;filter:drop-shadow(0 8px 10px #08284766);animation:floatHero 3s ease-in-out infinite}.welcome-duo .aula-sprite:nth-child(2){animation-delay:-1.5s}.aula-setup h1{color:#164987}.gender-choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.gender-choices label{position:relative;display:flex;flex-direction:column;align-items:center;gap:6px;padding:12px;border:3px solid #d4e4f2;border-radius:18px;background:#f3f9ff;cursor:pointer}.gender-choices label:has(input:checked){border-color:#ea6191;background:#fff0f6;box-shadow:0 5px 0 #f3bad1}.gender-choices input{position:absolute;top:10px;left:10px;accent-color:#cf387c}.gender-choices .aula-sprite{width:90px;height:105px;background-size:300% 200%;background-repeat:no-repeat}.aula-setup .primary{width:100%}.home-actions,.game-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:20px 0}.home-actions button,.game-cards button,.category-grid button{display:flex;flex-direction:column;justify-content:center;gap:7px;min-height:135px;padding:15px;border:3px solid #bfdcf0;border-radius:23px;background:linear-gradient(145deg,#fff,#e9f5ff);box-shadow:0 6px 0 #bbd7e8;text-align:left;color:#173657;font-size:30px}.home-actions button:nth-child(2),.game-cards button:nth-child(2){background:linear-gradient(145deg,#fff6d6,#fff)}.home-actions button:nth-child(3){background:linear-gradient(145deg,#ffe2ef,#fff)}.home-actions strong,.game-cards strong,.category-grid strong{font-size:16px;line-height:1.2}.home-actions small,.game-cards small,.category-grid small{font-size:12px;line-height:1.25}.category-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:18px 0}.category-grid button{min-height:122px;font-size:30px}.category-grid button:nth-child(4n+2){background:#fff4dd;border-color:#ffda84}.category-grid button:nth-child(4n+3){background:#fce9f3;border-color:#f5bfda}.category-grid button:nth-child(4n+4){background:#e8f7ed;border-color:#a7ddbc}.school-meta{font-weight:750;color:#225ba0}.game-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.puzzle-board{width:min(400px,100%);aspect-ratio:1;display:grid;grid-template-columns:1fr 1fr;gap:3px;padding:5px;background:#1f5e9d;border:5px solid #ffcc57;border-radius:19px;margin:20px auto}.puzzle-slot{border:2px dashed #93c9ee;border-radius:8px;background:#e0f2ff;color:#2671a5;font-size:42px;overflow:hidden;padding:0}.puzzle-slot span,.puzzle-pieces span{display:block;width:100%;height:100%;background-image:url('assets/isla-aventura.png');background-size:200% 200%;background-position:var(--px) var(--py)}.puzzle-pieces{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin:20px 0}.puzzle-pieces button{width:88px;height:88px;padding:0;border:4px solid #fff;border-radius:12px;overflow:hidden;box-shadow:0 4px 0 #9cbfdb}.puzzle-pieces button.selected{border-color:#ffbd38;transform:translateY(-4px)}.stars-display{text-align:center;font-size:clamp(40px,9vw,72px);color:#efa716;letter-spacing:.1em;padding:20px;background:#fff7d8;border-radius:20px}.answer-grid{display:flex;justify-content:center;gap:12px;margin:22px 0}.answer-grid button{width:65px;height:65px;border:3px solid #3463c3;border-radius:17px;background:#fff;font-size:30px;font-weight:900;color:#234da7}.aula-home h1{color:#174c93}.hero-stage{width:100px;height:115px;flex:none}.hero-stage .aula-sprite{background-size:300% 200%;background-position:0 0}.hero-stage.celebrate .aula-sprite{animation:celebrate .5s 2}.aula-home>.primary{margin-top:16px}@media(max-width:620px){.home-actions,.category-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.aula-welcome{padding:24px 14px}.home-actions button,.category-grid button{padding:12px;min-height:114px}.hero-stage{width:115px;height:130px}.child-panel{gap:5px}.child-panel>div:last-child{width:100%}}@media(prefers-reduced-motion:reduce){.welcome-duo .aula-sprite{animation:none}}
[hidden]{display:none!important}.reading-prompt{background:#fff6d5;border:2px solid #f5d472;border-radius:15px;padding:14px;margin:12px 0}.reading-prompt p{margin:5px 0 0}
/* Bring the welcoming heroes and classroom controls to the foreground. */
.aula-welcome{position:relative;isolation:isolate;overflow:hidden;min-height:min(700px,calc(100dvh - 155px));background:radial-gradient(circle at 50% 35%,#ffdf73 0,#ffe29c 24%,transparent 24.4%),radial-gradient(circle at 92% 8%,#fa79a2 0,#fa79a2 10%,transparent 10.5%),radial-gradient(circle at 10% 82%,#50d9dc 0,#50d9dc 11%,transparent 11.5%),linear-gradient(145deg,#1686c9 0%,#2762bf 36%,#6946b5 76%,#f36a92 100%)}.aula-welcome:before,.aula-welcome:after{content:'✦  ✧  ★  ✦';position:absolute;z-index:-1;color:#fff6af;opacity:.8;letter-spacing:38px;left:0;right:0;font-size:30px;animation:twinkle 3s ease-in-out infinite}.aula-welcome:before{top:17%}.aula-welcome:after{bottom:19%;animation-delay:-1.5s}.aula-welcome h1{max-width:700px;margin:4px auto 12px}.aula-welcome>p:not(.eyebrow){max-width:540px;margin:0 auto 5px;color:#fff;font-size:19px;font-weight:700}.welcome-spark{display:inline-block;margin:12px 0 0;padding:6px 12px;border-radius:99px;background:#fff3b4;color:#65438e;font-size:12px;font-weight:900;letter-spacing:.08em}.welcome-duo{align-items:end;gap:0;margin:0 auto 15px}.welcome-duo .aula-sprite{width:clamp(170px,32vw,245px);height:clamp(170px,32vw,245px);flex:none;background-size:300% 200%;background-position:0 0;filter:drop-shadow(0 14px 10px #052f7588)}.welcome-duo .aula-sprite:first-child{transform:rotate(-5deg);margin-right:-18px}.welcome-duo .aula-sprite:nth-child(2){transform:rotate(5deg);margin-left:-18px}.aula-welcome .primary{font-size:19px;padding:16px 22px;border:3px solid #fff}.gender-choices .aula-sprite{width:150px;height:150px;filter:drop-shadow(0 7px 6px #17365744)}.gender-choices label{background:linear-gradient(155deg,#eefaff,#fff1ce);min-height:220px}.gender-choices label:last-child{background:linear-gradient(155deg,#ffe8f2,#fff6d6)}.gender-choices strong{font-size:20px;color:#163d78}.hero-stage{width:155px;height:155px}.hero-stage .aula-sprite{width:155px;height:155px}.child-panel{background:linear-gradient(135deg,#1d79bf,#6743b7 72%,#ef6994);padding:22px;min-height:190px}.child-panel .speech{font-size:22px}.home-actions button,.category-grid button,.game-cards button{transition:transform .2s,box-shadow .2s;animation:riseIn .48s both}.home-actions button:nth-child(2),.category-grid button:nth-child(3n+2){animation-delay:.08s}.home-actions button:nth-child(3),.category-grid button:nth-child(3n+3){animation-delay:.16s}.home-actions button:hover,.category-grid button:hover,.game-cards button:hover{transform:translateY(-4px);box-shadow:0 10px 0 #bbd7e8}.aula-home{background:radial-gradient(circle at 95% 4%,#ffe2a7 0,transparent 20%)}.aula-home h1{font-size:clamp(32px,5vw,48px)}.aula-setup .card{border:4px solid #f5c668;background:linear-gradient(170deg,#fff,#f2f9ff)}@keyframes twinkle{50%{opacity:.25;transform:scale(1.08)}}@keyframes riseIn{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@media(max-width:620px){.welcome-duo .aula-sprite{width:clamp(145px,42vw,205px);height:clamp(145px,42vw,205px)}.aula-welcome h1{font-size:clamp(30px,8vw,42px)}.aula-welcome>p:not(.eyebrow){font-size:16px}.gender-choices .aula-sprite{width:115px;height:115px}.gender-choices label{min-height:185px}.hero-stage,.hero-stage .aula-sprite{width:145px;height:145px}}@media(prefers-reduced-motion:reduce){.aula-welcome:before,.aula-welcome:after,.home-actions button,.category-grid button,.game-cards button{animation:none}}
/* Clean Aula entrance, retaining the original HÉROE characters and score. */
.aula-welcome{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:calc(100dvh - 155px);padding:20px 18px 25px;background:radial-gradient(circle at 50% 45%,#ffe7a1 0,#fff0bf 29%,transparent 29.5%),linear-gradient(155deg,#1661af 0%,#2d62b7 58%,#6345aa 100%);box-shadow:0 10px 0 #173c67,0 18px 32px #173c6740}.aula-welcome:before,.aula-welcome:after{display:none}.aula-welcome>.eyebrow{margin:0;font-size:15px;letter-spacing:.16em}.aula-welcome h1{max-width:600px;font-size:clamp(28px,5vw,40px);line-height:1.08;margin:10px auto 0;text-wrap:balance}.aula-welcome .welcome-duo{width:100%;gap:0;margin:6px auto 15px;justify-content:center}.aula-welcome .welcome-duo .aula-sprite{width:clamp(190px,33vw,270px);height:clamp(190px,33vw,270px);background-size:300% 200%;filter:drop-shadow(0 15px 11px #08275588)}.aula-welcome .welcome-duo .aula-sprite:first-child,.aula-welcome .welcome-duo .aula-sprite:nth-child(2){transform:none;margin:0 -8px}.aula-welcome .primary{font-size:19px;min-width:215px}.aula-welcome small{font-size:12px;margin:14px 0 0;opacity:.9}@media(max-width:620px){.aula-welcome{min-height:calc(100dvh - 165px)}.aula-welcome .welcome-duo .aula-sprite{width:min(48vw,205px);height:min(48vw,205px)}.aula-welcome h1{font-size:clamp(27px,7.5vw,36px)}}
.pilot-badge{display:inline-block;margin-left:4px;padding:2px 6px;border-radius:6px;background:#fff0ba;color:#755209;font-size:10px;font-style:normal;vertical-align:middle;letter-spacing:.04em}.pilot-guide{display:grid;gap:5px;padding:13px 16px;border-radius:16px;background:#e9f4ff;border:2px solid #b4d8ef;color:#1b5076;margin:14px 0;font-size:14px}.pilot-guide span{color:#3c637f}.month-heading{margin:22px 0 2px;padding:8px 13px;border-radius:14px;background:#ffe29b;color:#714904;text-transform:capitalize}.row small{line-height:1.35}.row{align-items:start}
.memory-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;max-width:640px;margin:20px auto}.memory-tile{aspect-ratio:1;border:3px solid #6c61b2;border-radius:17px;background:linear-gradient(145deg,#6a58b9,#344caa);color:#ffe171;font-size:45px;font-weight:900;box-shadow:0 4px 0 #2b3783;overflow:hidden;padding:0}.memory-tile.flipped{background:#fff4d0;border-color:#f4ba55}.memory-tile .aula-sprite{width:100%;height:100%;background-size:300% 200%;background-position:0 0;background-repeat:no-repeat}.reflex-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;max-width:650px;margin:24px auto}.reflex-grid button{aspect-ratio:1;border:3px solid #f4b84f;border-radius:50%;background:radial-gradient(circle,#fff4ac,#f8c251);color:#6b3c86;font-size:34px;font-weight:900;box-shadow:0 5px 0 #d88a41}.reflex-grid button:disabled{background:#dff8e9;border-color:#82cfaa;box-shadow:none;color:#158463}.game-cards button{min-height:145px}.pilot-guide button{width:max-content;max-width:100%;margin-top:5px}.answer-grid{flex-wrap:wrap}@media(max-width:520px){.memory-grid{gap:5px}.memory-tile{font-size:32px;border-radius:10px}.reflex-grid{gap:7px}.reflex-grid button{font-size:25px}.game-cards{gap:8px}.game-cards button{padding:12px;min-height:135px}}
.storybook{margin:18px 0;padding:20px;border:3px solid #e7b963;border-radius:20px;background:linear-gradient(160deg,#fff8df,#fff);box-shadow:0 5px 0 #e7c783}.storybook p{font-size:18px;line-height:1.75;color:#244363}.book-cover{font-size:55px;text-align:center;background:linear-gradient(130deg,#8ad5ef,#ffe49b);border-radius:16px;padding:15px;margin-bottom:15px}.quiz-choices{display:flex;flex-wrap:wrap;gap:10px;margin:12px 0}.logic-sequence{display:flex;justify-content:center;gap:10px;margin:28px 0;flex-wrap:wrap}.logic-sequence span{display:grid;place-items:center;width:70px;height:70px;background:#f9da7e;border:3px solid #ddac3e;border-radius:17px;color:#48347d;font-size:29px;font-weight:900}
.profile-edit{border:0;background:transparent;color:#2858a3;font-size:14px;font-weight:750;padding:0 0 6px;text-decoration:underline;text-underline-offset:3px}

.house-entry{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.35rem;text-decoration:none;background:#fff6d7;color:#172c5f;border:2px solid #f5ba39;border-radius:22px;padding:1rem;text-align:center;font-size:1.4rem;min-height:118px}.house-entry strong{font-size:1.02rem}.house-entry small{font-size:.84rem}.house-mission-link{display:block;padding:1rem;margin-bottom:1rem;border-radius:18px;background:#fff2cd;color:#173c67;font-weight:800;text-decoration:none;text-align:center}

.sea-options{display:grid;grid-template-columns:1fr;gap:.75rem;max-width:560px;margin:1.4rem auto}.sea-options button{width:100%;min-height:58px;height:auto;padding:.75rem 1rem;text-align:left;font-size:1rem;line-height:1.35;overflow-wrap:anywhere;white-space:normal}.sea-options button:hover,.sea-options button:focus-visible{background:#e4f4ff}

.classroom-bar{display:flex;gap:8px;align-items:center;flex-wrap:wrap;padding:14px 0;border-bottom:1px solid #d0dbea;margin-bottom:18px}.classroom-bar span{flex:1;min-width:180px}.classroom-bar button{font-size:14px;padding:9px 12px}.cloud-status.error{background:#ffebeb;color:#8b2020;padding:12px;border-radius:10px}.saved-status{color:#216743}.audio-empty{font-size:14px;color:#4a566c}.story-page{background:white;padding:16px;border-radius:12px;line-height:1.7}.story-page small{display:block;color:#506580;font-size:14px;margin-bottom:8px}.repository .row{width:100%;text-align:left}.repository [hidden]{display:none}dialog#codesDialog{max-width:min(540px,92vw);border:0;border-radius:20px;padding:24px;color:#173c67}dialog#codesDialog::backdrop{background:#102a4e99}#codesDialog code{display:block;overflow-wrap:anywhere;padding:12px;background:#e9f1ff;margin:10px 0;font-size:16px}#codesDialog button{display:block;margin:12px 0;width:100%}.recording-active{outline:3px solid #dc5050}.recorder audio{width:100%}.recorder a{display:block;margin-top:10px}.voice-demo{margin-top:24px}

.entry-paths{display:grid;gap:12px;width:min(460px,100%);margin:20px auto}.access-explainer{background:#e7f1ff;border-radius:18px;padding:18px;margin:18px 0}.access-explainer li{margin:10px 0}.explore-status{padding:12px;background:#fff3cf;border-radius:12px;font-size:14px}.highfive-panel{display:flex;align-items:center;gap:18px;background:#fff3c4;border:3px solid #ffd35c;border-radius:20px;padding:14px;margin:18px 0}.highfive-panel p{margin:6px 0}.highfive-hand{touch-action:manipulation;border:3px solid #b67800;border-radius:50%;width:100px;height:100px;flex-shrink:0;background:#ffd35c;font-size:64px;cursor:pointer}.five-hit{animation:five-bounce .45s}.five-invite{box-shadow:0 0 0 8px #ffdb6577}@keyframes five-bounce{50%{transform:scale(1.2) rotate(-12deg);background:#fff}}.challenge-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:20px 0}.challenge-options button{min-height:70px;font-size:20px;overflow-wrap:anywhere}.challenge-visual{padding:20px;border-radius:14px;background:#fff4cf;text-align:center;font-size:clamp(24px,6vw,42px);line-height:1.7}.challenge-progress{display:flex;gap:16px;align-items:center;margin:16px 0}.challenge-progress progress{width:50%;accent-color:#285cb5}.challenge-hint{padding:14px;background:#e7f1ff;border-radius:12px}.puzzle-pieces button{width:70px;height:70px}.memory-grid{grid-template-columns:repeat(4,minmax(0,1fr))}button:disabled{cursor:default}.voice-demo .actions{flex-wrap:wrap}@media(prefers-reduced-motion:reduce){.five-hit{animation:none}}

.demo-banner{background:#e7f1ff;padding:18px;border-radius:16px;margin:18px 0}.family-access-row{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px 0;border-bottom:1px solid #d5e3f1}.access-note,.setup-help{font-size:14px;line-height:1.5}#familyCodeDialog{border:0;border-radius:18px;padding:24px;max-width:min(540px,92vw)}#familyCodeDialog::backdrop{background:#102a4e99}#familyCodeDialog code{display:block;overflow-wrap:anywhere;padding:12px;background:#e7f1ff;margin:14px 0;font-size:16px}#familyCodeDialog button{margin:10px 0;display:block;width:100%}
.course-code{font-size:24px;letter-spacing:.14em}.attachment{display:flex;gap:14px;flex-wrap:wrap;padding:16px;background:#edf4ff;border-radius:14px;margin:12px 0}.attachment strong,.attachment .preview{width:100%}.family-request{padding:16px 0;border-bottom:1px solid #dce6f5}.family-request small{display:block;margin:8px 0}.auth-status{color:#9c2525}#accountCreateCourse,#accountRequestCourse{margin-top:20px}

.home-actions>:last-child:nth-child(3){grid-column:1/-1}.home-reinforcement{margin-top:28px}.home-reinforcement .game-cards small{font-size:14px}

.password-control{display:flex;align-items:center;gap:8px}.password-control input{min-width:0;flex:1}.password-eye{flex:none;min-width:48px;min-height:48px;border:2px solid #bfdcf0;border-radius:12px;background:#fff;color:#173c67;font-size:22px}

/* A card sprite must occupy space even though its element is a span. */
.memory-tile .aula-sprite{display:block;min-width:0;min-height:0}

.game-voice{margin:16px 0}.game-voice summary{cursor:pointer;font-size:16px;font-weight:700;padding:12px 0}.game-voice-prompt{padding:12px;border-radius:12px;background:#e9f5ff;font-size:18px}.game-voice audio{width:100%;margin-top:12px}.game-voice .actions{flex-wrap:wrap}
.math-objects{display:flex;align-items:center;justify-content:center;gap:1rem;flex-wrap:wrap}.math-object{display:inline-block;border-radius:.6rem;padding:.15rem}.math-counting{background:#ffd765;box-shadow:0 0 0 3px #2856cb}.math-removed{opacity:.65;text-decoration:line-through;text-decoration-thickness:3px}#mathNarration{min-height:1.5em;color:#173957}

.game-voice{padding:10px 14px;margin:10px 0}.game-voice>button{min-height:44px}.game-voice summary{padding:8px 0;font-size:14px}.game-voice p:empty{display:none}.game-voice .game-voice-prompt{font-size:16px}.challenge-progress{font-size:14px;margin:8px 0}.math-objects{padding:12px;font-size:36px}.game-voice+ .challenge-progress+ .card>p:first-of-type{display:none}.game-voice #gameInstructionPreview:empty{display:none}.game-voice audio{max-height:44px}.game-voice #gameInstructionPreview a{display:block;font-size:14px;margin-top:6px}

#gameHint{display:none}.challenge-options:has(button:nth-child(3):last-child){grid-template-columns:repeat(3,minmax(0,1fr))}.challenge-options{gap:10px;margin:14px 0}.game-voice #gameVoiceStatus{font-size:14px;margin:6px 0}.game-voice summary{min-height:36px}

.math-objects .math-object{font-size:30px}.math-objects>div{max-width:360px;display:flex;flex-wrap:wrap;justify-content:center;gap:6px;margin:auto}

.presentation-reset{max-width:760px;margin:30px auto 0;text-align:center;padding:20px;border:1px solid #cad7ed;border-radius:20px;background:#fff}.presentation-reset p{font-size:14px;color:#425570;margin:12px auto 0;max-width:540px}.presentation-reset button{color:#952c3b;border-color:#dcaeb6}header .roles[hidden]{display:none!important}
