/* The same magical world continues inside every lesson. */
:root{--adventure-purple:#7650c2;--adventure-teal:#087e88;--adventure-gold:#f4c971}
.sound-button{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:44px;padding:9px 12px;border:1px solid #dfd2ef;border-radius:13px;background:#fff8;color:#604389;cursor:pointer;font:700 12px "Trebuchet MS",sans-serif;flex:none}.sound-button>span:first-child{font-size:22px}.sound-button[aria-pressed=false]{color:#766c80;background:#eeebf1}.top-actions{gap:12px}
.lesson-shell{max-width:930px;margin-top:6px;--chapter-accent:#7956c5;--chapter-light:#f1eafa}
.lesson-shell[data-chapter="2"]{--chapter-accent:#a76b21;--chapter-light:#fff2d8}.lesson-shell[data-chapter="3"]{--chapter-accent:#147e86;--chapter-light:#e5f7f4}.lesson-shell[data-chapter="4"]{--chapter-accent:#496fc3;--chapter-light:#eaf0ff}.lesson-shell[data-chapter="5"]{--chapter-accent:#b34482;--chapter-light:#fceaf4}
.lesson-head{position:relative;display:block;overflow:hidden;border:1px solid #bca0d0;border-radius:24px;padding:28px 34px 25px;background:linear-gradient(90deg,#211b39f5 5%,#251d39dc 58%,#251d3945),url('assets/magic-classroom.webp') center 50%/cover;color:#fff;box-shadow:0 10px 25px #34204415;margin-bottom:0}.room-label{display:block;color:#fbd495;font-size:10px;letter-spacing:.17em;margin-bottom:20px;font-weight:800}.lesson-head .kicker{color:#e5cdfd;font-size:10px;margin-bottom:9px}.lesson-head h1{font:700 clamp(26px,3.5vw,37px)/1.16 Georgia,serif;letter-spacing:-.5px;max-width:600px;color:#fff8ed}.lesson-goal{color:#e5dcef;max-width:640px;font-size:14px;line-height:1.6}.book-chip{margin-top:18px;padding:0;border:0;background:none;width:auto;display:flex;gap:7px}.book-chip b{color:#e2cba8;font-size:11px;font-weight:500}.book-chip span{font-size:18px}
.task-progress{margin:21px 3px 15px;color:#68517d}.task-dots i{height:9px}.task-dots i.done{background:var(--chapter-accent)}.task-dots i.current{background:#d49c3d;box-shadow:0 0 0 3px #f1dfbd}.task-card{position:relative;padding:28px 32px 26px;background:#fffefa;border-color:#e0d3ea;box-shadow:0 12px 45px #49305f0b;min-height:0;overflow:hidden}.task-card:before{content:"";display:block;position:absolute;inset:0 0 auto;height:5px;background:linear-gradient(90deg,var(--chapter-accent),#bd8de2,#f2c979)}
.papa-guide{gap:15px;margin-bottom:22px;padding:0 0 19px;border-bottom:1px solid #ede1ef;align-items:center}.papa-guide .papa-avatar{width:74px;height:74px;border:3px solid #eadcfa;box-shadow:0 4px 0 #d0b9e0}.papa-avatar img{transform:scale(1.95);transform-origin:50% 10%}.papa-guide b{color:var(--chapter-accent);font-size:15px}.papa-guide p{font-size:15px;line-height:1.5;max-width:590px;color:#665371}.papa-guide>div{flex:1}.task-card[data-state="success"] .papa-guide .papa-avatar{border-color:#8ad5bc;box-shadow:0 4px 0 #41aa87}.task-card[data-state="success"] .papa-guide b{color:#13775d}
.task-badge{background:var(--chapter-light);color:var(--chapter-accent)}.task-reward{background:#fff0c6;color:#8b6015;border:1px solid #f4db9b}.task-card h2{font:800 clamp(22px,2.6vw,28px)/1.32 "Trebuchet MS",sans-serif;margin:18px 0;color:#342744;letter-spacing:-.4px;outline:none}
.task-scene{margin:0 0 22px;padding:23px 17px;background:radial-gradient(ellipse at 50% 0,#fffaf0 30%,var(--chapter-light));border:1px solid #e7dced;border-radius:18px;position:relative}.icon-scene{gap:12px;align-items:stretch}.icon-piece{min-width:78px;max-width:170px;padding:9px 10px 10px;border:1px solid #e9dccd;border-radius:14px;background:#fffaf0;box-shadow:0 4px 0 #d7c5dd66;display:flex;align-items:center;justify-content:center;flex-direction:column}.icon-piece b{font-size:43px;min-height:64px;display:grid;place-items:center}.icon-piece small{font-size:12px;line-height:1.35;color:#65536c;font-weight:700;margin-top:7px}.magic-object{display:inline-block;width:72px;height:72px;background-image:url('assets/magic-objects.webp');background-size:400% 400%;background-repeat:no-repeat;flex:none;border-radius:9px}.choice .magic-object{width:42px;height:42px;border-radius:8px}.choice .option-text{display:flex;align-items:center;gap:9px;justify-content:center;flex:1}.choice-grid{gap:12px}.choice{position:relative;display:flex;align-items:center;gap:10px;min-height:68px;text-align:left;padding:14px 15px;border-color:#e2d7ec;border-radius:15px;background:#fff;box-shadow:0 4px 0 #eee6f3;font-size:16px}.choice.visual{font-size:18px;min-height:72px}.choice-index{flex:none;display:grid;place-items:center;min-width:26px;height:26px;font-size:11px;font-weight:800;border-radius:8px;background:#f3edf9;color:#89729e}.choice:hover{border-color:#b991dc;background:#fdf9ff;box-shadow:0 4px 0 #dbc8ea}.choice.selected{border-color:var(--chapter-accent);background:var(--chapter-light);color:var(--chapter-accent);box-shadow:0 4px 0 var(--chapter-accent)}.choice.selected .choice-index{background:var(--chapter-accent);color:white}.choice.correct-answer{border-color:#299e77;background:#ecfbf4;box-shadow:0 4px 0 #299e77;color:#156b51}.choice.correct-answer .choice-index{background:#299e77;color:#fff}.choice:disabled{cursor:default;opacity:1}
.scroll-art{padding:24px 20px;border:1px solid #e8c789;border-radius:13px;color:#5a422d;background:linear-gradient(90deg,#f9e7bf,#fff8e6 8%,#fff8e6 92%,#f9e7bf);box-shadow:0 5px 0 #dbc5a360;font:700 clamp(18px,2.5vw,25px)/1.65 Georgia,serif;overflow-wrap:anywhere}.task-theory{padding:18px 22px;background:var(--chapter-light);border-color:var(--chapter-accent);color:#594365;line-height:1.65;font-size:17px;margin-bottom:22px}.number-path{gap:10px}.number-path span{min-width:50px;width:auto;min-height:50px;height:auto;padding:7px 12px;border-radius:13px;border:2px solid #ad90d0;background:#fff9e9;box-shadow:0 4px 0 #c9b5de;color:#6b418e;font-size:19px}.number-path i{font-size:21px;color:#a47837}
.venn{height:245px}.venn-circle.left{border-color:#8050c9;background:#a274e92b;box-shadow:inset 0 0 22px #9756e515}.venn-circle.right{border-color:#0b9896;background:#3bc8b42c;box-shadow:inset 0 0 22px #32baac19}.venn-label{font:800 13px "Trebuchet MS",sans-serif;line-height:1.2;color:#754c9b;background:#fbf7ff;border:1px solid #e8d8f5;border-radius:7px;padding:4px 8px;top:0}.venn-label.b{color:#096e75;background:#edfbf5;border-color:#bfe9df}.venn-item{color:#3f3354;font-size:25px}.venn-item .magic-object{width:38px;height:38px;box-shadow:0 1px 4px #45305019;border-radius:50%}
.task-answer input{background:#fff;border:2px solid #cbb6e0;box-shadow:0 4px 0 #eee4f7;text-align:center;font-size:28px}.task-answer input:disabled{background:#effbf6;color:#167155;border-color:#63b999}.feedback:empty{display:none;min-height:0}.feedback{min-height:0;border-radius:14px;font-size:15px;line-height:1.55}.feedback.good{border:1px solid #a5ddc4;background:#e9f9ef;color:#146a4e}.feedback.bad{border:1px solid #f1c499;background:#fff3e5;color:#8d4d1d}.feedback.hint{border:1px solid #e7cd8e;background:#fff7dc;color:#795420}.task-actions{margin-top:20px;padding-top:20px;border-color:#eee2f0}.task-actions .gold{background:var(--chapter-accent);box-shadow:0 4px 0 #382153;color:#fff}.task-actions .ghost{background:var(--chapter-light);color:var(--chapter-accent);border-color:#d9c6e9}.voice-replay{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:12px}.voice-replay button,.finish-voice-button{border:1px solid #d8c1ec;border-radius:11px;padding:11px 13px;min-height:44px;font-weight:700;color:#765097;background:#fbf6ff;cursor:pointer}.voice-replay span{color:#795e8c;font-size:12px;max-width:420px}.voice-replay[hidden]{display:none}
.lesson-card{border-top:4px solid #b18ad8;background:linear-gradient(145deg,#fff,#faf4ff)}.lesson-card.current{border:2px solid #9770c2;border-top-width:4px}.lesson-card:nth-child(2){border-top-color:#d7a856;background:linear-gradient(145deg,#fff,#fff7e5)}.lesson-card:nth-child(3){border-top-color:#51a69f;background:linear-gradient(145deg,#fff,#effcf8)}.lesson-card:nth-child(4){border-top-color:#7596d5;background:linear-gradient(145deg,#fff,#f0f5ff)}.lesson-card:nth-child(5){border-top-color:#cf83a9;background:linear-gradient(145deg,#fff,#fff1f8)}
.finish-card{padding:0 32px 32px;overflow:hidden;border:1px solid #cfb1e7;box-shadow:0 16px 50px #64317b14}.celebration-art{height:280px;margin:0 -32px 22px;position:relative;overflow:hidden;background:#2b213e}.celebration-art .finish-avatar{width:100%;height:100%;border:0;border-radius:0;box-shadow:none;object-fit:cover;object-position:50% 6%;display:block}.celebration-art:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,#2b213e77,transparent 45%)}.celebration-sparks{position:absolute;bottom:15px;left:0;right:0;font-size:30px;color:#ffe0a4;z-index:1;letter-spacing:15px}.finish-card .cup{display:none}.finish-card h1{font-size:32px}.finish-card .papa-finish-label{font-size:14px!important}.finish-stars{margin:17px 0;color:#c68c24;text-shadow:0 3px 0 #f5deae}.finish-voice-button{display:block;margin:0 auto 18px}.finish-card .button{width:100%}
@media(min-width:1000px){.task-card{padding:28px 38px 30px}.finish-screen{padding:18px 0}.lesson-head{padding-right:150px}}
@media(max-width:690px){.topbar{gap:8px}.top-actions{gap:6px}.sound-button{width:38px;height:42px;min-height:42px;padding:5px}.sound-label{display:none}.parent-link{width:64px;padding:7px 5px;min-height:42px}.brand{gap:7px;min-width:0}.brand b{font-size:12px;max-width:135px}.brand small{font-size:10px}.brand-avatar{width:34px;height:34px}.lesson-shell{margin-top:0}.back-button{margin-bottom:7px}.lesson-head{border-radius:18px;padding:20px 20px 19px;background-position:65% 50%}.room-label{font-size:9px;margin-bottom:17px}.lesson-head h1{font-size:27px;max-width:320px}.lesson-goal{font-size:13px;margin-top:12px}.lesson-head .kicker{font-size:9px;line-height:1.5;max-width:255px}.book-chip{margin-top:15px}.book-chip b{font-size:10px}.task-card{padding:21px 16px 20px;border-radius:19px}.papa-guide{gap:12px;margin-bottom:17px;padding-bottom:17px}.papa-guide .papa-avatar{width:62px;height:62px}.papa-guide p{font-size:13px;line-height:1.5}.papa-guide b{font-size:14px}.task-card h2{font-size:23px;line-height:1.32;margin:16px 0}.task-progress{margin:19px 3px 13px;font-size:11px}.task-dots{gap:4px}.task-dots i{height:7px}.task-scene{padding:16px 9px;margin-bottom:19px}.icon-scene{gap:9px}.icon-piece{min-width:64px;padding:7px 6px;max-width:124px;border-radius:11px}.icon-piece .magic-object{width:60px;height:60px}.icon-piece b{min-height:60px;font-size:36px}.icon-piece small{font-size:11px;margin-top:5px}.choice{padding:11px 12px;font-size:16px;min-height:62px;gap:9px}.choice.visual{font-size:17px;min-height:64px}.choice .option-text{justify-content:flex-start}.choice-index{min-width:23px;height:23px;font-size:10px}.choice .magic-object{width:40px;height:40px}.task-theory{padding:15px;font-size:16px;line-height:1.65}.task-actions{gap:12px}.task-actions #hintButton{flex-basis:auto;flex:1}.task-actions .gold{flex:1.1}.task-actions .button{padding:12px 9px;font-size:14px}.scroll-art{padding:18px 13px;font-size:20px}.number-path{gap:7px}.number-path span{min-width:41px;min-height:43px;padding:5px 8px;font-size:17px}.number-path i{font-size:17px}.venn{height:210px}.venn-label{font-size:11px;padding:3px 5px}.venn-item .magic-object{width:32px;height:32px}.venn-item{font-size:23px}.voice-replay{gap:8px}.voice-replay button{font-size:12px;width:100%}.voice-replay span{font-size:12px}.feedback{font-size:14px}.finish-card{padding:0 21px 25px}.celebration-art{height:245px;margin:0 -21px 20px}.finish-card h1{font-size:27px}.finish-card>p:not(.kicker){font-size:15px}.celebration-sparks{font-size:24px}.finish-stars{font-size:35px}.finish-voice-button{font-size:13px}}
@media(max-width:350px){.brand b{max-width:118px;font-size:11px}.brand small{font-size:9px}.brand-avatar{width:31px;height:31px}.parent-link{width:59px;font-size:10px}.sound-button{width:33px}.lesson-head{padding:18px 16px}.lesson-head h1{font-size:25px}.task-card{padding:20px 13px}.task-card h2{font-size:21px}.task-scene{padding:14px 6px}.icon-piece{min-width:61px;padding:6px 4px}.icon-piece .magic-object{width:57px;height:57px}.icon-scene{gap:7px}.task-badge,.task-reward{font-size:10px}.venn-label{font-size:10px}.venn-item .magic-object{width:29px;height:29px}.venn{height:200px}}
@media(prefers-reduced-motion:no-preference){.task-card[data-state="success"] .task-reward{animation:rune-pop .45s ease-out}.celebration-sparks{animation:star-glow 2.4s ease-in-out infinite alternate}@keyframes rune-pop{50%{transform:scale(1.18) rotate(-5deg)}}@keyframes star-glow{to{opacity:.7;transform:translateY(-4px)}}}

.finish-card .finish-voice-caption{margin:0 auto 14px!important;color:#72518e!important;font-size:14px;font-style:italic;line-height:1.55}
