:root{--bg:#0b1030;--paper:#17214d;--ink:#f7f9ff;--muted:#c3cdea;--accent:#3678ff;--soft:#223463;--line:#354775;--gold:#ffce38;--shadow:0 16px 38px #03051c40;font-family:Arial,Helvetica,sans-serif}body{background:radial-gradient(ellipse at 85% 5%,#39218a 0,transparent 38%),var(--bg);min-height:100vh}.topbar{border-color:#ffffff20}.brandmark{background:#3678ff;color:white;box-shadow:0 4px 20px #3678ff66}.brand small{font-size:10px;letter-spacing:1.3px}.version-switch{background:#17214d;border-color:#465485}.version-switch button{color:#ced8ff;font-size:14px}.version-switch button.active{background:#3678ff;color:#fff}.hero{padding:38px 0;gap:26px;grid-template-columns:1.1fr .9fr}h1,.mission-card h2,.guide-card h2,dialog h2{font-family:Arial,Helvetica,sans-serif;font-weight:800;letter-spacing:-1.2px}h1{font-size:42px}.eyebrow{font-size:12px;letter-spacing:1.5px;color:#87c8ff}.hero p{font-size:16px}.primary{background:#3978ff;box-shadow:0 5px 0 #1844aa;border-radius:16px;font-size:15px;min-height:50px}.secondary{background:#283f7b;color:#fff}.text-button{color:#9bd7ff;font-size:14px}.mission-card{background:linear-gradient(135deg,#2359d1,#6339cf);border-color:#a4b8ff60;box-shadow:0 18px 48px #0b062c55}.mission-card h2{color:white;font-size:24px}.mission-card p,.mission-card .eyebrow{color:#eff3ff}.mission-card p{font-size:14px}.large-ring{background:conic-gradient(#56ffcb var(--progress),#b8c5ff40 0)}.large-ring>div{background:#244cba}.large-ring span{color:#e7eeff}.status-tag{font-size:12px;background:#111e5355;color:white;border-color:#ffffff50}.legend{font-size:13px;color:#d7dfff}.path-heading h2{font-size:24px}.journey-grid{gap:32px;grid-template-columns:minmax(0,1fr) 285px}.module{border-radius:22px;background:#17214d;border-color:#344778;box-shadow:0 5px 0 #050b25}.module.current{background:linear-gradient(100deg,#203f83,#34327c);border:2px solid #74cfff;box-shadow:0 0 22px #43bfff26}.module.locked{background:#141b3b;opacity:.83}.module.done{border-color:#40cfb7}.module-heading h3{font-size:16px}.module-heading p{font-size:13px;color:#d2dbf7}.module-status{font-size:12px;color:#9ee6ff}.module-ring{background:conic-gradient(#50efbc var(--progress),#455480 0)}.module-ring span{background:#1a2a59}.module.done .module-ring span{background:#0c856f}.challenge-list{gap:12px}.challenge-node{width:44px;height:44px;font-size:14px;border-color:#7183b3;background:#1c2b59;color:#eff4ff}.challenge-node.current{background:#437fff;border-color:#b5dcff;color:#fff;box-shadow:0 0 0 5px #69c7ff33}.challenge-node.done{background:#148574;border-color:#54efc0}.stage-heading{padding:12px 0}.stage-heading h2{font-size:21px}.stage-count{font-size:13px;color:#d2dcfa}.guide-card{background:#19234b;border-color:#3b4b7c}.guide-card h2{font-size:25px}.guide-card p{font-size:14px}.mini-notes{font-size:14px;background:#253966}.lesson-top{font-size:14px}.lesson-copy h1{font-size:34px}.lesson-copy p,.exercise-card p{font-size:15px}.exercise-card{background:linear-gradient(135deg,#1c2c64,#242250);border-color:#657bb5}.exercise-card h2{font-size:23px}.exercise-actions button{font-size:14px}.note-token{background:#344c94;color:#fff;font-size:16px}.feedback{background:#1e396d;color:#f3f7ff;border-color:#4f7abe;font-size:15px}.feedback.success{background:#0c6152;color:white}.feedback.error{background:#5d3522;border-color:#ffb951;color:#fff0cf}.keyboard-head,.keyboard-head small,.keyboard-help,.exercise-bottom{font-size:13px;color:#d9e3ff}.key.white-key{color:#344066}.key.white-key.on,.key.white-key.guide{background:#9dc7ff}.key.black-key.on,.key.black-key.guide{background:#126498}.key.wrong{background:#ffb14f}.key.correct{background:#45dba9}.lesson-progress>div,.small-meter>div{background:linear-gradient(90deg,#449eff,#61ffd2)}.large-ring strong{color:#fff}dialog{background:#192653;border-color:#91b3ff66}dialog h2{font-family:Arial,sans-serif}.celebration-symbol{background:#126e63;color:#9cffe1}.final-emblem{background:linear-gradient(135deg,#428bff,#a14ef2);color:#fff8a1}footer{font-size:12px;color:#c7d5fa}.companion{display:none}.mascot-celebration{display:none}.info-dialog{text-align:left}.info-dialog p{font-size:15px}.info-dialog h3{margin-top:22px}.info-dialog button{width:100%}
body.child{--bg:#291264;--paper:#fff;--ink:#25204e;--muted:#605d80;--accent:#752dea;--soft:#eee8ff;--line:#dfd6ff;--gold:#ffcc34;background:radial-gradient(circle at 8% 20%,#ffffffa0 1px,transparent 2px) 0 0/81px 113px,radial-gradient(circle at 50% 70%,#ffffff60 1px,transparent 2px) 0 0/127px 147px,linear-gradient(155deg,#191b61,#54229b 65%,#1a398b);background-attachment:fixed}body.child .topbar{border-color:#ffffff30}body.child .brand{color:white}body.child .brandmark{background:#13c9e8;box-shadow:0 5px 0 #147697;color:#fff}body.child .version-switch{background:#302365;border-color:#a893e8}body.child .version-switch button{color:#fff}body.child .version-switch button.active{background:#ffcc36;color:#36255f;font-weight:800}body.child .hero{grid-template-columns:1.1fr 220px 1fr;gap:24px}body.child .hero h1{color:white;font-size:40px}body.child .hero>div:first-child>p{color:#eee5ff}body.child .hero .eyebrow{color:#74f8ed}body.child .primary{background:#ffca35;color:#33204e;box-shadow:0 5px 0 #c28416;font-weight:800}body.child .secondary{background:#ede4ff;color:#5b2bbb}body.child .companion{display:flex;align-items:center;flex-direction:column;align-self:center;position:relative} .mascot-button{background:none;border:0;padding:0;width:210px;cursor:pointer;filter:drop-shadow(0 14px 14px #08083b55)}.mascot-button img{width:100%;height:auto;display:block;animation:float 3s ease-in-out infinite}.mascot-button.bounce img{animation:cheer .6s ease-in-out}.mascot-speech{background:#fff;color:#4b2868;border:3px solid #29cce8;border-radius:18px;padding:12px 14px;max-width:230px;font-size:14px;line-height:1.45;text-align:center;margin:0;box-shadow:0 5px 0 #18b4da44}.mascot-caption{font-size:12px;color:#dfe7ff;margin:8px 0 0}body.child .mission-card{background:linear-gradient(135deg,#167beb,#4c38d1);border:2px solid #63dfff;min-height:210px;padding:22px;flex-direction:column;align-items:flex-start;gap:14px}body.child .mission-card h2{font-size:22px;color:#fff}body.child .mission-card .eyebrow{color:#a8fff1}body.child .mission-card p{color:#fff}body.child .large-ring{width:94px;height:94px;padding:7px;background:conic-gradient(#ffdc3e var(--progress),#ffffff40 0)}body.child .large-ring>div{background:#294bbe}body.child .large-ring strong{font-size:28px}body.child .status-tag{background:#ffffff20;border-color:#88dfff;color:#fff}body.child .path-heading{border-color:#ba99ec60}body.child .path-heading h2,body.child .stage-heading h2{color:#fff}body.child .path-heading .eyebrow,body.child .stage-heading .eyebrow{color:#65f4e0}body.child .stage-count,body.child .legend{color:#f0e8ff}body.child .module{border:2px solid #d3befb;border-bottom:6px solid #b79be6;background:#fff;color:#25204e}body.child .module.current{background:#fff9e5;border-color:#ffc928;box-shadow:0 0 28px #ffd22a40}body.child .module.done{background:#e3fff7;border-color:#39d6b1}body.child .module.locked{background:#f1ecff;opacity:1;border-color:#b5a3d6}body.child .module-heading p{color:#655c83}body.child .module-status{color:#5424a8;font-weight:700}body.child .module-ring{background:conic-gradient(#7a35ed var(--progress),#e2d4ff 0)}body.child .module-ring span{background:#f4edff;color:#6731af}body.child .module.done .module-ring span{background:#00816b;color:#fff}body.child .challenge-node{background:#eee4ff;border-color:#c7afe9;color:#53289e}body.child .challenge-node.current{background:#ffc62c;color:#3c245c;border-color:#a66a13;box-shadow:0 0 0 5px #ffca3438}body.child .challenge-node.done{background:#008a75;border-color:#26af99;color:#fff}body.child .guide-card{background:#fff;border:2px solid #c5a8ff}body.child .guide-card .eyebrow{color:#6a2cbf}body.child .mini-notes{background:#eee6ff}body.child .text-button{color:#742bd8}body.child .subtle{background:#f2eaff}body.child .lesson-top,body.child .lesson-top .text-button,body.child .lesson-copy p{color:#f0e8ff}body.child .lesson-copy h1{color:#fff}body.child .lesson-copy .eyebrow{color:#80ffe7}body.child .exercise-card{background:white;border:2px solid #b7a2ed;border-bottom-width:5px}body.child .exercise-card .eyebrow{color:#752eda}body.child .note-token{background:#e9ddff;color:#4e2292}body.child .feedback{background:#e1fffc;color:#184963;border-color:#46d7de}body.child .feedback.error{background:#fff0cb;color:#77420b;border-color:#ffc132}body.child .feedback.success{background:#d8fff0;color:#0c614a}body.child .keyboard-head .text-button{color:#b6fff4}body.child .keyboard-head,body.child .keyboard-head small,body.child .keyboard-help,body.child .exercise-bottom{color:#f5eeff}body.child .exercise-bottom .text-button{color:#d6eaff}body.child .lesson-progress>div,body.child .small-meter>div{background:linear-gradient(90deg,#18d6cb,#ffda38)}body.child dialog{background:#fff;color:#352154;border:3px solid #b589ff}body.child dialog .eyebrow{color:#7432c4}body.child .mascot-celebration{display:block;width:130px;height:130px;object-fit:contain;margin:0 auto 8px;animation:cheer .7s ease-in-out}body.child dialog .celebration-symbol{display:none}body.child .completion-page h1,body.child .completion-page p{color:#fff}body.child footer{border-color:#ffffff40;color:#efe4ff}body.child footer .text-button{color:#d5f9ff}.lesson-buddy{display:none}body.child .lesson-buddy{display:flex;gap:12px;align-items:center;margin:0 0 14px;background:#29166388;padding:8px 12px;border-radius:18px;color:#fff;font-size:14px}.lesson-buddy img{width:62px;height:62px;object-fit:contain}.lesson-buddy button{border:0;background:none;padding:0;cursor:pointer}.lesson-buddy p{color:#fff;font-size:14px;line-height:1.45;margin:0}@keyframes float{0%,100%{transform:translateY(0) rotate(-3deg)}50%{transform:translateY(-9px) rotate(3deg)}}@keyframes cheer{0%,100%{transform:scale(1) rotate(0)}25%{transform:scale(1.13) rotate(-9deg)}65%{transform:scale(1.08) rotate(9deg)}}
@media(max-width:1100px){body.child .hero{grid-template-columns:1fr 200px}body.child .mission-card{grid-column:1/-1;flex-direction:row;align-items:center;min-height:0}.mission-card{padding:24px}.hero{gap:20px}}
@media(max-width:700px){.topbar{padding:16px}.brand{font-size:21px}.brand small{font-size:9px;letter-spacing:.4px}.version-switch button{font-size:13px;padding:9px 10px}main{padding:0 16px 30px}.hero{padding:26px 0;gap:22px;grid-template-columns:1fr}.hero h1{font-size:34px}.hero p{font-size:15px}.hero .primary{margin-top:4px}.mission-card{flex-direction:row;padding:19px;gap:18px;min-height:0}.mission-card h2{font-size:23px}.mission-card p{font-size:13px}.mission-card .eyebrow{font-size:12px}.large-ring{width:100px;height:100px}.large-ring span{font-size:12px}.journey-grid{grid-template-columns:1fr}.path-heading h2{font-size:23px}.legend{font-size:12px;gap:12px}.stage-heading h2{font-size:20px}.stage-count{font-size:12px}.module{padding:15px;margin-bottom:17px}.module-heading h3{font-size:16px}.module-heading p{font-size:13px}.module-status{font-size:11px;white-space:normal;max-width:72px}.challenge-list{margin:0;padding:0;gap:11px}.module-ring{width:43px;height:43px}.lesson-copy h1{font-size:26px}.lesson-copy p,.exercise-card p{font-size:14px}.exercise-card h2{font-size:20px}.exercise-card .eyebrow{font-size:12px}.exercise-actions button{font-size:14px;padding:12px}.feedback{font-size:14px}.lesson-top{font-size:12px}.lesson-top .text-button{font-size:13px}.note-token{font-size:15px}.keyboard-head .text-button{font-size:13px}body.child .hero{grid-template-columns:minmax(0,1fr) 120px;gap:12px;padding:24px 0}body.child .hero h1{font-size:29px;letter-spacing:-.7px}body.child .hero>div:first-child>p{font-size:14px;margin:10px 0}body.child .hero .eyebrow{font-size:12px;margin-bottom:8px}body.child .hero .primary{padding:13px 14px;min-height:48px;font-size:14px;gap:5px}body.child .mascot-button{width:138px}body.child .mascot-speech{font-size:12px;padding:8px;max-width:130px;border-width:2px}body.child .mascot-caption{font-size:12px;text-align:center}body.child .mission-card{padding:16px;gap:16px;margin-top:12px}body.child .mission-card h2{font-size:21px}body.child .mission-card .eyebrow{font-size:12px}body.child .large-ring{width:86px;height:86px}body.child .large-ring strong{font-size:25px}body.child .large-ring span{font-size:11px}body.child .mission-card p{font-size:13px}.lesson-buddy{margin-top:8px}.guide-card h2{font-size:24px}}
@media(prefers-reduced-motion:reduce){.mascot-button img,.mascot-celebration{animation:none!important}}

@media(max-width:700px){body.child .mascot-button{width:118px;max-width:100%}}
body{padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom)}

/* Contraste: cores de texto definidas na superfície onde são usadas. */
body{color:var(--ink)}
body.child{color:#25203f;--muted:#493f60}
body.child .guide-card,body.child .exercise-card,body.child .mini-notes{color:#25203f}
body.child .guide-card h2,body.child .guide-card h3,body.child .exercise-card h2,body.child .mini-notes b{color:#25203f}
body.child .guide-card p,body.child .exercise-card p,body.child .module-heading p{color:#493f60}
body.child .guide-card strong{color:#25203f}
body.child .brandmark{color:#14254b}
body.child .challenge-node:disabled{opacity:1;color:#493465;background:#eee4ff;border-color:#a18bbb}
body:not(.child) .primary,body:not(.child) .version-switch button.active{background:#245bd1;color:#fff}
body:not(.child) .challenge-node.current{background:#245bd1;color:#fff}
body:not(.child) .module.locked{opacity:1}
body:not(.child) .challenge-node:disabled{opacity:1;color:#e2eaff;background:#1c2b59}
.install-bar{display:flex;gap:16px;align-items:center;justify-content:space-between;margin:20px 0 0;padding:14px 18px;background:#172b59;border:1px solid #6586c3;border-radius:16px;color:#fff}.install-bar p{margin:0;font-size:14px;color:#edf3ff;line-height:1.4}.install-bar strong{display:block;font-size:16px}.install-bar button{font-size:14px;min-width:105px;padding:12px 17px}.install-dialog{text-align:left;max-width:510px;max-height:90vh;overflow-y:auto}.install-dialog h2{font-size:26px}.install-dialog h3{font-size:18px;margin-top:20px}.install-dialog ol{padding-left:22px;font-size:15px;line-height:1.6}.install-dialog li{margin-bottom:7px}.install-dialog p{font-size:14px}.install-dialog .primary{margin-top:12px}.install-dialog #closeInstall{display:block;text-align:center;width:100%;font-weight:700}body.child .install-bar{background:#fff;color:#25203f;border:2px solid #51ddd9}body.child .install-bar p{color:#493f60}body.child .install-dialog{color:#25203f}body.child .install-dialog p,body.child .install-dialog li{color:#493f60}@media(max-width:420px){.install-bar{padding:12px;gap:10px}.install-bar strong{font-size:15px}.install-bar p{font-size:13px}.install-dialog{padding:25px}}

.keyboard-head{flex-wrap:wrap;gap:8px}.keyboard-head #testSoundBtn{font-weight:700}.keyboard-head .text-button{min-height:44px}@media(max-width:700px){.keyboard-head>span{flex-basis:100%}}

.brandmark{flex-shrink:0;overflow:hidden;padding:0;aspect-ratio:1;height:auto}.brandmark img{display:block;width:100%;height:100%;object-fit:cover}

.music-bar{display:flex;justify-content:flex-end;align-items:center;gap:12px;padding:16px 0;color:#e2eaff;font-size:14px}.music-bar .secondary{padding:10px 16px;min-height:44px;color:#fff;background:#2943a0}.music-bar span{max-width:32ch}body.child .music-bar{color:#fff}body.child .music-bar .secondary{background:#5421a7;color:#fff}@media(max-width:500px){.music-bar{justify-content:space-between}.music-bar span{max-width:21ch}.music-bar .secondary{font-size:14px}}

/* Free exploration; progress records achievement without restricting access. */
.course-navigation{border:1px solid #778ab5;border-radius:18px;background:#16214a;padding:16px 18px;margin:16px 0 22px;color:#f4f7ff}.course-tabs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px}.course-tabs button{font:inherit;font-size:1rem;min-height:44px;padding:10px 14px;border:1px solid #8fa9e0;border-radius:12px;color:#fff;background:#243763}.course-tabs button[aria-pressed=true]{background:#245bd1;border-color:#bcd7ff;font-weight:700}.course-navigation label{display:block;font-size:1rem;margin-bottom:8px}.course-navigation select{font:inherit;font-size:1rem;width:100%;max-width:100%;padding:12px;border:1px solid #8998b5;border-radius:10px;background:#fff;color:#201b36}.course-navigation p{font-size:.95rem;color:#edf2ff;margin:10px 0 0}.lesson-browse{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:0 0 14px}.lesson-browse button{min-height:44px}.lesson-browse button:disabled{opacity:.45}.module.available{opacity:1}.stage{scroll-margin-top:20px}body.child .course-navigation{background:#fff;color:#282044;border:2px solid #bda5ed}body.child .course-navigation p{color:#443557}body.child .course-tabs button{background:#ede3ff;color:#402060;border-color:#b19ad8}body.child .course-tabs button[aria-pressed=true]{background:#ffce35;color:#322044;border-color:#a57a08}body.child .lesson-browse .text-button{color:#e4f6ff}body:not(.child) .card-help,body:not(.child) .card-controls label{color:#f1f5ff!important}body:not(.child) .card-count{color:#9ce9ff}
/* Two non-interactive star planes behind every page. */
body{isolation:isolate}body>main,body>.topbar,body>footer{position:relative;z-index:1}body.child{background:linear-gradient(155deg,#191b61,#54229b 65%,#1a398b);background-attachment:fixed}body::before,body::after{content:"";position:fixed;inset:0;pointer-events:none;z-index:0;background-repeat:repeat;will-change:opacity;contain:strict}body::before{background-image:radial-gradient(circle at 16px 25px,#fff 0 1px,#bcdeff99 1.3px,transparent 3.6px),radial-gradient(circle at 87px 94px,#fffbd1 0 1.2px,#f6dd8344 2px,transparent 5px),radial-gradient(circle at 145px 38px,#c1fcff 0 .8px,transparent 2.5px);background-size:193px 179px,307px 269px,233px 227px;animation:keycards-stars-near 7s ease-in-out infinite;opacity:.72}body::after{background-image:radial-gradient(circle at 53px 64px,#fff 0 1.5px,#b2cfff55 2.6px,transparent 6px),radial-gradient(circle at 190px 134px,#d2ffff 0 1px,transparent 3px);background-size:367px 317px,283px 239px;animation:keycards-stars-far 11s ease-in-out -4s infinite;opacity:.55}@keyframes keycards-stars-near{0%,100%{opacity:.38}45%{opacity:.86}70%{opacity:.58}}@keyframes keycards-stars-far{0%,100%{opacity:.78}50%{opacity:.28}}@media(prefers-reduced-motion:reduce){body::before,body::after{animation:none;will-change:auto;opacity:.55}}@media(max-width:500px){.course-navigation{padding:14px 12px}.course-tabs button{flex:1 1 140px}.lesson-browse button{font-size:.95rem}.course-navigation select{font-size:1rem}}

/* Compact navigation below Lumi; all exercises remain reachable. */
.course-navigation,body.child .course-navigation{padding:0;margin:8px 0 22px;border:0;border-radius:0;background:transparent;box-shadow:none;color:#fff}.course-tabs{display:flex;flex-wrap:nowrap;gap:0;border-bottom:1px solid #c9c3ee66;margin:0}.course-tabs button,body.child .course-tabs button{flex:1 1 0;min-width:0;min-height:48px;padding:12px 6px;border:0;border-bottom:3px solid transparent;border-radius:0;background:transparent;color:#f3edff;font-size:1rem;box-shadow:none;white-space:nowrap}.course-tabs button[aria-pressed=true],body.child .course-tabs button[aria-pressed=true]{background:transparent;color:#ffdc58;border-color:#ffdc58;font-weight:700}.exercise-shortcut{margin-top:5px}.exercise-shortcut summary{padding:11px 0;min-height:44px;cursor:pointer;color:#def4ff;font-size:.95rem;width:fit-content}.exercise-shortcut label{font-size:.95rem;margin-top:8px;color:#f4edff}.exercise-shortcut select{margin-bottom:12px}.course-navigation p{display:none}.hero{padding-top:22px}body.child .hero{padding-top:22px}.course-navigation{scroll-margin-top:12px}@media(max-width:500px){.course-navigation,body.child .course-navigation{padding:0}.course-tabs button,body.child .course-tabs button{flex:1 1 0;font-size:.94rem;padding:12px 4px}}
