@font-face{font-family:MusicSymbols;src:local('Noto Music'),local('Segoe UI Symbol')}*{box-sizing:border-box}html{font-size:16px;scroll-behavior:smooth}body{margin:0;background:#f8f5ec;color:#243b3b;font-family:'Trebuchet MS',Arial,sans-serif;line-height:1.55}button,input,select{font:inherit}button,a,input,select,summary{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.46}a{color:#286660;text-underline-offset:4px}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #cb8557;outline-offset:4px}button{color:inherit}button,input,select{border-radius:8px}h1,h2,h3,p{margin:0}h1,h2{font-family:Georgia,'Times New Roman',serif;font-weight:400;line-height:1.15}h1{font-size:clamp(2rem,3.1vw,3rem);letter-spacing:-1.2px}h2{font-size:1.9rem;letter-spacing:-.6px}h3{font-size:1.05rem;line-height:1.4}p+p{margin-top:14px}p{font-size:1rem}button{transition:background .18s,transform .18s,border-color .18s}button:active{transform:translateY(1px)}.topbar{max-width:1440px;margin:auto;padding:24px 5%;display:flex;align-items:center;justify-content:space-between;gap:20px;border-bottom:1px solid #ddded1}.brand{display:flex;gap:12px;align-items:center;text-decoration:none;color:#244646;line-height:1.16;font-family:Georgia,serif;font-size:1.25rem;min-width:170px}.brand strong{font-weight:400;font-size:1.65rem}.brand-mark{border:1px solid #7b9581;font-size:2.7rem;border-radius:50% 50% 45% 45%;width:53px;height:60px;display:grid;place-items:center;background:#f1ebdb}.topbar nav{display:flex;gap:26px}.nav-item{padding:10px 0;background:none;border:0;border-bottom:2px solid transparent;border-radius:0;font-size:.93rem;white-space:nowrap}.nav-item span{display:none}.nav-item.active{border-color:#29504b;color:#234c43}.top-actions{display:flex;gap:16px;align-items:center}.star-counter{color:#927644;font-size:1.2rem;display:flex;gap:8px;white-space:nowrap}.star-counter b{color:#344a42;font-weight:400}.icon-button{width:40px;height:40px;border:1px solid #d4d8c8;border-radius:50%;background:transparent;font-size:1.4rem;display:grid;place-items:center;flex-shrink:0}.icon-button:hover{background:#e8ebdf}.parent-button{border:1px solid #b9c4b1;background:#edf0e6;padding:9px 13px;font-size:.875rem}.parent-button.selected{background:#294e49;color:white}main{max-width:1440px;padding:36px 5% 0;margin:auto}.section-heading{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:28px}.eyebrow{letter-spacing:2.6px;font-size:.75rem;color:#6d8073;font-weight:600;margin-bottom:9px}.text-button{background:none;border:0;padding:9px 0;color:#355f52;font-size:.9rem;text-align:left}.text-button:hover{color:#a16a43}.text-button span{margin-left:12px}.adventure{display:grid;grid-template-columns:44% 56%;border-radius:14px;overflow:hidden;background:#e7eddf;min-height:388px;border:1px solid #dbe1d3}.adventure-copy{padding:35px 34px 32px;display:flex;align-items:flex-start;flex-direction:column;justify-content:center}.pill{font-size:.8rem;border:1px solid #b6c7ac;background:#f0f3e8;display:inline-flex;align-items:center;gap:7px;padding:5px 11px;border-radius:30px;letter-spacing:.4px}.adventure-copy h2{font-size:clamp(2rem,3vw,2.8rem);max-width:400px;margin-top:18px;margin-bottom:16px}.adventure-copy p{color:#5c6e60;max-width:370px;line-height:1.65}.lesson-meta{display:flex;flex-wrap:wrap;gap:14px;font-size:.8rem;color:#5b705f;margin:21px 0}.primary{background:#284f46;border:1px solid #284f46;color:#fffdf6;font-size:.96rem;border-radius:7px;padding:14px 19px;display:inline-flex;justify-content:center;align-items:center;gap:23px;min-height:50px;box-shadow:0 2px 0 #1c3b3429}.primary:hover{background:#173e36}.primary span{font-size:1.3rem}.primary.compact{padding:10px 17px;min-height:44px;gap:10px}.small-note{font-size:.77rem;color:#647767;margin-top:12px}.adventure-art{position:relative;overflow:hidden;background:#183941;min-height:340px}.adventure-art img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0;object-position:70% 50%}.art-caption{position:absolute;left:25px;right:25px;bottom:18px;display:flex;gap:22px;color:#eee4c5;font-size:.73rem;letter-spacing:.5px;text-shadow:0 1px 6px #000}.art-caption span{letter-spacing:3px}.map-section{margin-top:35px}.row-heading{display:flex;align-items:center;justify-content:space-between;gap:18px}.row-heading h2{font-size:1.65rem}.row-heading>.muted{font-size:.82rem}.muted{color:#738174}.small{font-size:.85rem}.land-map{display:grid;grid-template-columns:repeat(6,1fr);gap:15px;padding:28px 4px 32px;position:relative}.land-map:before{content:'';position:absolute;left:7%;right:7%;top:74px;border-top:1px dashed #b8bfaa}.land{position:relative;background:none;border:0;padding:0 4px;display:flex;align-items:center;flex-direction:column;text-align:center}.land-medal{width:91px;height:91px;border-radius:50%;background:#f8f5ec;border:1px solid #cbd2be;display:grid;place-items:center;position:relative;box-shadow:inset 0 0 0 7px #f8f5ec;transition:transform .2s}.land-medal>span{border-radius:50%;height:73px;width:73px;display:grid;place-items:center;background:var(--land);color:#f3dfb3;font-family:Georgia,serif;font-size:2.7rem}.land-medal b{position:absolute;bottom:-4px;right:0;background:#f4edda;border-radius:50%;min-width:25px;height:25px;display:grid;place-items:center;font-size:.69rem;font-weight:400;border:1px solid #c4cbb6}.land.current .land-medal{outline:2px solid #899f6d;outline-offset:4px}.land:hover .land-medal{transform:translateY(-3px)}.land.locked .land-medal>span{opacity:.52;filter:saturate(.5)}.land-name{font-size:.9rem;max-width:160px;line-height:1.4;margin-top:17px}.land-status{font-size:.75rem;color:#7d8b79;margin-top:6px}.land.current .land-status{color:#456442}.weekly{border:1px solid #d8ddcc;border-radius:12px;overflow:hidden;background:#fcfaf3}.weekly-header{padding:24px 29px 20px;background:#eff1e5}.weekly-header p{font-size:.88rem;color:#73806b;margin-top:8px}.weekly-header .eyebrow{font-size:.69rem}.weekly-header progress{width:100%;height:5px;border:0;background:#dfe5d2;display:block;margin-top:18px;border-radius:10px;overflow:hidden}progress::-webkit-progress-bar{background:#dfe5d2}progress::-webkit-progress-value{background:#53755b}progress::-moz-progress-bar{background:#53755b}.week-row{padding:19px 28px;display:flex;align-items:center;gap:20px;border-top:1px solid #e3e6d8}.week-number{color:#9da888;font-family:Georgia,serif;font-size:1.6rem;min-width:30px}.week-description{flex:1}.week-description h3{font-size:1rem;font-weight:400}.week-description>span{color:#85917d;font-size:.76rem;display:block;margin-top:4px}.week-sessions{display:flex;gap:12px}.session-button{display:flex;align-items:center;gap:8px;background:#f4f5ec;border:1px solid #dce2d2;font-family:Georgia,serif;font-size:1.4rem;padding:5px 13px;min-height:42px}.session-button span{font-family:'Trebuchet MS',Arial,sans-serif;font-size:.76rem}.session-button:hover{background:#e6edde;border-color:#9fb594}.session-button.complete{background:#e1edda;color:#527345}.lock-note{padding:20px 28px;color:#6f7965;font-size:.9rem}.daily-note{display:flex;gap:20px;align-items:center;padding:26px 10px;margin:22px 0}.daily-note>span{font-size:2.1rem;color:#b6965d}.daily-note>div{flex:1}.daily-note h3{font-size:.98rem;font-weight:400}.daily-note p{font-size:.87rem;color:#85907b;margin-top:4px}footer{max-width:1440px;margin:auto;padding:22px 5%;border-top:1px solid #ddded1;display:flex;justify-content:space-between;font-size:.75rem;color:#8b927e}.skip{position:absolute;left:15px;top:-100px;z-index:1000;background:#fff;padding:10px}.skip:focus{top:15px}.piano-room,.composer,.panel,.reward-intro{border:1px solid #d9dfce;border-radius:12px;background:#fffdf6;padding:28px}.piano-room{background:#e9eee2}.piano-room>p,.composer>p{color:#6f7f6f;margin-top:12px;margin-bottom:22px}.keyboard-wrap{width:100%;overflow-x:auto;padding:8px 2px 3px}.keyboard{position:relative;display:flex;width:100%;height:173px;min-width:300px;padding:0;border-top:8px solid #274640;border-radius:7px;background:#23433b;gap:3px}.key{border:0;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;touch-action:manipulation;border-radius:0 0 6px 6px;padding:0 0 12px;user-select:none;transition:background .1s}.key.white{width:calc(100% / var(--keys));background:#fffdf7;color:#657364;box-shadow:inset 0 -5px 0 #dfded3;font-size:.92rem}.key.white small{color:#adb5a5;font-size:.7rem;margin-top:2px}.key.black{position:absolute;top:0;width:calc(60% / var(--keys));height:98px;background:#273f3b;color:#ecedde;z-index:2;box-shadow:inset 0 -5px 0 #1a2f2a;font-size:.62rem;padding:0 0 7px}.key.white:hover,.key.white.pressed{background:#d9e9cf;box-shadow:inset 0 -2px 0 #adc497}.key.black:hover,.key.black.pressed{background:#778e62}.piano-tools{display:flex;align-items:center;justify-content:space-between;margin-top:18px;gap:14px}.piano-tools input,#melody-bpm{width:73px}.volume{display:flex;gap:12px;align-items:center;font-size:.83rem}.volume input{width:120px;accent-color:#45654e}.secondary{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:#f3f4e9;border:1px solid #cbd5bd;padding:10px 16px;min-height:44px;font-size:.9rem;color:#3e5d4a;border-radius:7px}.secondary:hover{background:#e4edd8}.spaced{margin-top:32px;margin-bottom:22px}.melody-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.melody-card{padding:23px;text-align:left;background:#fffcf4;border:1px solid #d9ddce;border-radius:12px;position:relative;min-height:230px}.melody-card:hover{border-color:#a7b793;background:#fffef9}.melody-icon{display:inline-grid;place-items:center;background:var(--land);color:#f5e6bd;width:50px;height:58px;border-radius:28px 28px 8px 8px;font-size:2rem;margin-bottom:16px}.tag{font-size:.75rem;letter-spacing:.8px;color:#7c876c;display:block;text-transform:uppercase}.melody-card .tag{position:absolute;right:20px;top:24px;max-width:58%;text-align:right;font-size:.65rem}.melody-card h3{font-family:Georgia,serif;font-weight:400;font-size:1.4rem}.melody-card p{font-size:.81rem;color:#7d8776;margin-top:7px}.melody-open{border-top:1px solid #e5e6da;margin-top:18px;padding-top:12px;display:flex;justify-content:space-between;font-size:.82rem;color:#54754f}.composer{margin:30px 0}.draft-notes{display:flex;flex-wrap:wrap;gap:5px;min-height:48px;margin:18px 0}.draft-notes>span{padding:7px 11px;background:#e9eedf;font-size:.8rem;border-radius:5px}.draft-notes .empty-draft{background:none;color:#85937b;padding-left:0}.button-row{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-top:17px}.button-row input{flex:1;min-width:120px}.center{justify-content:center}.saved-melodies{display:flex;gap:12px;flex-wrap:wrap;margin-top:22px}.saved-melody{padding:12px 16px;border:1px solid #e0d4a8;background:#faf1d7;text-align:left}.saved-melody span{margin-left:15px}.big-stars{font-family:Georgia,serif;font-size:2rem;color:#a78741}.big-stars small{font-family:Arial,sans-serif;font-size:.85rem;color:#798873}.reward-intro p{margin-top:13px;color:#6e806e}.reward-stats{display:flex;gap:40px;margin-top:25px;color:#7b876f}.reward-stats b{display:block;font-family:Georgia,serif;font-size:2rem;color:#3f654c;font-weight:400}.sticker-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:25px}.sticker-card{background:#f1f1e8;border:1px solid #dbdfd0;border-radius:12px;padding:25px 15px;text-align:center}.sticker{display:grid;place-items:center;width:105px;height:105px;margin:5px auto 20px;border:6px double #fff6d6;border-radius:40% 40% 48% 48%;background:var(--land);font-size:3rem;font-family:Georgia,serif;color:#fff0c5;opacity:.25;filter:grayscale(.8)}.sticker-card.earned{background:#faf3df;border-color:#d5be89}.sticker-card.earned .sticker{opacity:1;filter:none;box-shadow:0 6px 10px #765d3426}.sticker-card h3{font-weight:400}.sticker-card p{font-size:.82rem;color:#879079;margin-top:9px}.parent-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.panel h2{font-size:1.7rem;margin-bottom:17px}.panel p{font-size:.95rem;color:#697866;margin-bottom:16px}.panel .small{font-size:.8rem}.stack-label{display:block;margin-top:22px;font-size:.83rem;color:#697962}.file-label{position:relative;overflow:hidden;cursor:pointer}.file-label input{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%;height:100%}input,select{border:1px solid #bac9af;background:#fffef9;padding:9px 12px;min-height:44px;color:#365342;max-width:100%}.button-row select{flex:1;min-width:160px}#toast{position:fixed;bottom:30px;left:50%;transform:translate(-50%,25px);background:#234b40;color:#fffbed;padding:14px 22px;border-radius:10px;z-index:5000;box-shadow:0 8px 20px #102e342d;opacity:0;pointer-events:none;transition:opacity .2s,transform .2s;width:max-content;max-width:90vw;font-size:.9rem}#toast.show{opacity:1;transform:translate(-50%,0)}dialog{border:1px solid #cbd4bd;border-radius:18px;padding:0;background:#fffcf5;color:#29443e;width:min(800px,94vw);max-height:92dvh;overflow-y:auto;box-shadow:0 30px 100px #0c302e59}dialog::backdrop{background:#102e35b3;backdrop-filter:blur(5px)}.dialog-top{display:flex;align-items:center;justify-content:space-between;padding:17px 23px;border-bottom:1px solid #e5e6d8;gap:16px}.dialog-top .eyebrow{margin:0;font-size:.69rem;letter-spacing:1.5px}.lesson-body{text-align:center;padding:27px 35px 32px}.lesson-body h2{font-size:2.15rem;margin:12px 0 20px}.lesson-idea{font-size:1.05rem;line-height:1.8;max-width:620px;margin:auto;color:#536c5c}.lesson-emblem{font-family:Georgia,serif;font-size:3rem;background:#e6eedc;color:#577457;border:1px solid #b7ca9e;border-radius:50%;width:90px;height:90px;margin:0 auto 20px;display:grid;place-items:center}.practice-tip{text-align:left;padding:18px 20px;background:#f2efdd;border-radius:8px;margin:24px 0;color:#738063;font-size:.95rem}.practice-tip b{display:block;margin-bottom:7px;color:#5e7054;font-weight:400}.practice-tip p{font-size:.92rem}.exercise-progress{display:flex;gap:6px;margin:22px 25px 0}.exercise-progress span{height:5px;background:#e4e8d7;flex:1;border-radius:9px}.exercise-progress .done{background:#769c5c}.exercise-progress .now{background:#d2b27a}.question-count{text-align:right;font-size:.75rem;color:#99a18c;margin:6px 25px -15px}.answers{display:grid;grid-template-columns:1fr;gap:12px;max-width:480px;margin:23px auto}.answer{padding:13px 18px;border:1px solid #cdd8c0;background:#f7f8ee;display:flex;gap:18px;align-items:center;text-align:left;min-height:52px}.answer:hover{background:#e3eed7;border-color:#94b379}.answer>span{width:24px;font-size:.8rem;color:#94a681}.answers.many{grid-template-columns:repeat(4,1fr);max-width:none}.answers.many .answer{justify-content:center;gap:7px;padding:12px}.answers.many .answer>span{display:none}.listen-button{display:inline-flex;align-items:center;gap:16px;justify-content:center;padding:15px 25px;margin:7px 0 8px;color:#506951;background:#ebf1e1;border:1px solid #bfcdb0;border-radius:50px;font-size:1.4rem;min-height:58px}.listen-button span{font-size:.93rem}.listen-button:hover{background:#dce9d0}.hint{margin:21px auto 0;text-align:left;font-size:.88rem;max-width:540px;color:#809172}.hint summary{cursor:pointer;text-align:center;color:#6d815e}.hint p{margin-top:14px;padding:14px;background:#f3f1e3;border-radius:7px;font-size:.88rem}.feedback:empty{display:none}.feedback{margin:22px 0 5px;padding:18px;border-radius:8px;text-align:left;background:#f3f1e5}.feedback p{font-size:.92rem;margin-top:7px}.feedback.correct{background:#e9f2de;color:#476b3e}.feedback.retry{background:#fbefd6;color:#937445}.feedback .primary{margin-top:14px}.staff{display:block;width:100%;height:auto;max-height:190px;color:#314d41;min-width:280px}.notation-scroll{overflow-x:auto;margin:10px 0 20px}.notation-scroll .staff{min-width:650px}.note-sequence{font-size:1rem;letter-spacing:1px;margin-top:10px}.played{border:1px dashed #c9d7bc;border-radius:7px;padding:12px;margin:15px 0;color:#829873;min-height:50px}.beat-dots{display:flex;justify-content:center;gap:15px;margin:22px 0}.beat-dots span{width:36px;height:36px;display:grid;place-items:center;background:#e9ecdd;border-radius:50%;color:#909e7e}.beat-dots .playing,.beat-dots .hit{background:#b3cf91;color:#355f31}.tap-pad{width:108px;height:90px;border-radius:14px;background:#d8b883;border:1px solid #c3a26f;color:#574e36;font-size:1.3rem;font-weight:bold}.tap-pad span{font-weight:normal;display:block;font-size:.7rem}.tap-pad:active{background:#b89960;transform:scale(.98)}#rhythm-status{font-size:.82rem;margin-top:18px}.result-stars{font-size:3.8rem;letter-spacing:10px;color:#cca650;line-height:1.4}.result>p{color:#708166;margin:18px 0}.result>.text-button{display:block;text-align:center;margin:15px auto 0}.result .primary{margin-top:12px}.program-list{padding:12px 26px 28px}.program-list h2{font-size:1.6rem;margin:24px 0 16px}.program-list details{border-top:1px solid #e1e5d5;padding:12px 0}.program-list summary{cursor:pointer}.program-list p{font-size:.9rem;margin-top:12px;color:#6e8164}.postcard{position:relative;overflow:hidden;min-height:540px;background:#16343b}.postcard>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;animation:drift 18s ease-in-out infinite alternate}.postcard:after{content:'';position:absolute;inset:0;background:linear-gradient(transparent 25%,#102f39eb 90%);pointer-events:none}.postcard-text{position:absolute;bottom:30px;left:25px;right:25px;color:#fbebc7;z-index:2;text-align:center}.postcard-text>span{font-size:3rem}.postcard-text h2{font-size:2rem;margin:10px 0}.postcard-text p{color:#e5dfc6;margin:10px 0 18px}.postcard-stars{position:absolute;left:20%;top:17%;font-size:3rem;color:#ecc973;z-index:1;animation:twinkle 3s infinite alternate}@keyframes drift{from{transform:scale(1)}to{transform:scale(1.09) translate(-1%,1%)}}@keyframes twinkle{from{opacity:.25}to{opacity:1}}@media(min-width:1500px){main{padding-top:42px}.adventure{min-height:420px}.adventure-copy{padding:40px}}
@media(max-width:1100px){.topbar{padding:20px 4%;gap:12px}.topbar nav{gap:18px}.parent-button{font-size:.78rem;padding:8px}.top-actions{gap:9px}.brand{min-width:140px;font-size:1.1rem}.brand strong{font-size:1.4rem}.brand-mark{width:43px;height:50px;font-size:2.3rem}main{padding:30px 4% 0}.adventure-copy{padding:28px}.adventure{grid-template-columns:47% 53%}.lesson-meta{gap:8px;font-size:.75rem}.session-button span{display:none}.session-button{width:45px;justify-content:center}.land-name{font-size:.8rem}.land-status{font-size:.7rem}.land-map{gap:5px}.land-medal{width:78px;height:78px}.land-medal>span{width:62px;height:62px}.land-map:before{top:67px}.nav-item{font-size:.85rem}.row-heading h2{font-size:1.5rem}.weekly-header .row-heading>span{font-size:.83rem}}
@media(max-width:760px){.topbar{padding:16px 5%;flex-wrap:wrap;gap:14px}.brand{font-size:1rem}.brand strong{font-size:1.35rem}.brand-mark{font-size:2.2rem;width:42px;height:47px}.topbar nav{order:3;justify-content:space-between;width:100%;gap:8px;margin-top:3px}.nav-item{padding:5px 0 9px;font-size:.88rem}.top-actions{margin-left:auto;gap:10px}.parent-button{font-size:.74rem;max-width:83px;line-height:1.2}.star-counter{font-size:1.1rem}.icon-button{width:34px;height:34px;font-size:1.2rem}main{padding:24px 5% 0}.section-heading{align-items:flex-start;flex-direction:column;gap:10px;margin-bottom:20px}.section-heading .text-button{padding:0}.eyebrow{font-size:.65rem;letter-spacing:2px}h1{font-size:2rem;letter-spacing:-.6px}h2{font-size:1.6rem}.adventure{grid-template-columns:1fr;display:flex;flex-direction:column-reverse}.adventure-art{min-height:220px;height:220px}.adventure-art img{object-position:65% 55%}.art-caption{font-size:.64rem;left:19px;bottom:15px}.adventure-copy{padding:24px}.adventure-copy h2{margin:16px 0 12px;font-size:2rem}.adventure-copy p{max-width:none;font-size:.95rem}.lesson-meta{margin:16px 0;font-size:.77rem;gap:15px}.adventure-copy .primary{width:100%;padding:12px;font-size:.91rem;gap:20px}.small-note{align-self:center}.map-section{margin-top:26px}.row-heading{align-items:flex-start;gap:12px}.row-heading h2{font-size:1.4rem}.row-heading>.muted{font-size:.7rem;white-space:nowrap;padding-top:6px}.land-map{grid-template-columns:repeat(3,1fr);gap:24px 7px;padding:26px 0}.land-map:before{display:none}.land-medal{height:72px;width:72px}.land-medal>span{height:58px;width:58px;font-size:2.2rem}.land-name{font-size:.8rem;max-width:110px;margin-top:13px}.land-status{font-size:.65rem;max-width:120px}.weekly-header{padding:21px}.week-row{padding:17px 15px;gap:12px;flex-wrap:wrap}.week-number{font-size:1.4rem;min-width:26px}.week-description{flex-basis:calc(100% - 44px)}.week-description h3{font-size:.98rem}.week-description>span{font-size:.71rem}.week-sessions{width:100%;padding-left:37px;gap:7px}.session-button{width:auto;flex:1;padding:5px;min-height:40px;font-size:1.1rem;gap:5px}.session-button span{display:inline;font-size:.66rem}.daily-note{padding:16px 0;gap:12px;align-items:flex-start;flex-wrap:wrap}.daily-note>span{font-size:1.6rem}.daily-note>div{flex-basis:80%}.daily-note h3{font-size:.9rem}.daily-note p{font-size:.8rem}.daily-note>.text-button{padding-left:33px;font-size:.8rem}.piano-room,.composer,.panel,.reward-intro{padding:20px}.piano-room .row-heading{flex-direction:column}.piano-room>p,.composer>p{font-size:.9rem}.keyboard{height:157px}.key.white{font-size:.72rem}.key.black{height:89px;font-size:.5rem}.piano-tools{font-size:.8rem;flex-wrap:wrap}.piano-tools .secondary{font-size:.8rem}.melody-grid{grid-template-columns:1fr 1fr;gap:12px}.melody-card{padding:15px;min-height:235px}.melody-card .tag{position:static;text-align:left;max-width:none;min-height:30px;font-size:.59rem}.melody-icon{margin-bottom:13px;width:42px;height:49px;font-size:1.65rem}.melody-card h3{font-size:1.14rem}.melody-card p{font-size:.72rem;line-height:1.4}.melody-open{font-size:.7rem}.composer h2{font-size:1.5rem}.composer .row-heading{flex-direction:column}.composer .button-row>*{flex:1}.composer .button-row .text-button{flex:0 0 100%;padding:3px 0}.composer .button-row input{flex:0 0 100%}.button-row{gap:9px}.secondary{font-size:.8rem;padding:9px 13px}.reward-stats{gap:15px;font-size:.7rem}.reward-stats b{font-size:1.8rem}.reward-intro h2{font-size:1.6rem}.sticker-grid{grid-template-columns:1fr 1fr;gap:12px}.sticker-card{padding:17px 12px}.sticker{width:82px;height:82px;font-size:2.5rem}.sticker-card h3{font-size:.85rem}.sticker-card p{font-size:.73rem}.parent-grid{grid-template-columns:1fr}.panel h2{font-size:1.6rem}.panel p{font-size:.92rem}.panel .button-row{align-items:stretch}.dialog-top{padding:14px 18px}.dialog-top .eyebrow{font-size:.6rem;letter-spacing:1px}.lesson-body{padding:22px 18px}.lesson-body h2{font-size:1.75rem}.lesson-idea{font-size:.95rem}.lesson-emblem{width:70px;height:70px;font-size:2.5rem}.answers{gap:10px}.answers.many{grid-template-columns:repeat(4,1fr)}.answer{font-size:.92rem}.listen-button{padding:12px 19px}.listen-button span{font-size:.82rem}.practice-tip{padding:15px;font-size:.88rem}.lesson-body>.primary{width:100%}.lesson-body .button-row{gap:8px}.lesson-body .keyboard{min-width:265px}.staff{min-width:245px}.lesson-body .button-row .primary{font-size:.83rem;padding:10px 13px}.lesson-body .button-row .secondary{font-size:.78rem;padding:8px}.tap-pad{width:85px;height:80px}.beat-dots{gap:10px}.beat-dots span{height:30px;width:30px}.result-stars{font-size:2.9rem}.program-list{padding:10px 18px 25px}.program-list h2{font-size:1.4rem}.postcard{min-height:520px}.postcard-text h2{font-size:1.75rem}footer{padding:18px 5%;font-size:.65rem;gap:15px}.small{font-size:.79rem}#toast{bottom:18px;font-size:.83rem}.lock-note{padding:18px;font-size:.81rem}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

.auth-panel{max-width:560px;margin:42px auto;padding:32px}.auth-panel h1{font-size:2.1rem;margin-bottom:20px}.auth-panel input,.auth-panel select{width:100%}.auth-panel button{margin-top:10px}#login-error,.form-result{margin-top:15px;color:#94593e;min-height:24px}.parent-grid form>button{margin-top:15px}.parent-grid form input{width:100%}.sync-bar{max-width:1440px;margin:auto;padding:8px 5%;display:flex;align-items:center;gap:20px;font-size:.8rem;border-bottom:1px solid #ddded1}.sync-bar .text-button{font-size:.8rem;padding:4px 0}.sync-bar>span{margin-right:auto}.journal-scroll{overflow-x:auto}.journal-scroll table{border-collapse:collapse;width:100%;min-width:480px}.journal-scroll td,.journal-scroll th{padding:12px;text-align:left;border-bottom:1px solid #e1e5d5;font-size:.9rem}@media(max-width:760px){.auth-panel{padding:24px;margin:20px auto}.sync-bar{gap:12px;flex-wrap:wrap}.sync-bar>span{flex-basis:100%}.top-actions{flex-wrap:wrap}.top-actions>.text-button{font-size:.8rem}.journal-scroll td,.journal-scroll th{font-size:.8rem}}


/* Family and administrator screens reuse the lesson interface's palette. */
.auth-panel input,.panel form input:not([type="file"]),.panel form select{width:100%;max-width:100%;box-sizing:border-box;min-height:44px}
.panel form button{margin-top:16px}.panel details,details.panel{margin-top:20px}.panel summary{cursor:pointer;padding:12px 0;font-weight:600}.account-row{display:flex;justify-content:space-between;gap:12px;align-items:center;border-bottom:1px solid #dedfce;padding:12px 0}.panel p,.account-row span{overflow-wrap:anywhere}#invite-link{font-size:14px}form .form-result{min-height:24px}
