:root{--sky:#e6f4fc;--ink:#4c5577;--muted:#707e9a;--pink:#f2c9f5;--purple:#9880b9;--blue:#8fbce1;--paper:#fffdf7;--yellow:#ffe8a6;font-family:ui-rounded,'Hiragino Maru Gothic ProN','PingFang SC',-apple-system,BlinkMacSystemFont,sans-serif;color:var(--ink);background:var(--sky);font-size:15px}*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at 8% 30%,#f7eefb99,transparent 45%),var(--sky)}button,input,a{-webkit-tap-highlight-color:transparent}.icon-library{position:absolute;width:0;height:0;overflow:hidden}header,main,footer{max-width:1100px;margin:auto}header{padding:27px 46px 12px;display:flex;justify-content:space-between;align-items:center}.brand{display:flex;gap:12px;align-items:center;text-decoration:none;color:var(--ink);font-weight:850;font-size:26px;letter-spacing:-1px;line-height:1.1}.brand-radio{color:#9c87b6;font-weight:600}.brand small{font-size:10px;letter-spacing:2px;display:block;font-weight:550;margin-top:8px;color:#7e86a0}.brand-mark{width:43px;height:45px;background:#f4cee9;border:2px solid #b49ac8;border-radius:16px;display:grid;place-items:center;position:relative;transform:rotate(-7deg);color:#9878b1}.brand-mark b{font-size:30px;line-height:1}.brand-mark:before,.brand-mark:after{content:'';position:absolute;width:8px;height:15px;border:2px solid #b49ac8;background:#f4cee9;border-radius:8px 8px 2px 2px;top:-11px}.brand-mark:before{left:9px;transform:rotate(-15deg)}.brand-mark:after{right:7px;transform:rotate(16deg)}.header-note{font-size:12px;color:#7c88a2;display:flex;gap:8px;align-items:center}.header-note svg{width:17px;height:17px;color:#e2bd69}main{padding:0 46px}.intro{padding:32px 0 26px}.hello{font-size:12px;font-weight:600;letter-spacing:1px;color:#8094b0}.intro h1{font-size:36px;font-weight:800;letter-spacing:1px;margin:10px 0 8px;line-height:1.45;display:flex;align-items:center}.intro h1 span{color:#a089ba;position:relative}.intro h1 span:after{content:'';position:absolute;bottom:0;left:0;right:0;height:8px;background:#ffdf9b;z-index:-1;border-radius:50%;transform:rotate(-2deg)}.intro h1 svg{width:27px;height:27px;color:#ecc675;margin-left:15px;transform:rotate(10deg)}.intro p{font-size:13px;color:var(--muted);margin:0}.player{display:grid;grid-template-columns:1.15fr 1fr;border:3px solid #c8d9eb;border-radius:35px;background:var(--paper);box-shadow:0 9px 0 #c8d9eb66;overflow:hidden}.cover{position:relative;min-height:410px;background:#e4e8f8;overflow:hidden;isolation:isolate}.cover:before{content:'';position:absolute;width:120%;height:190px;left:-20%;bottom:-100px;background:#d4dbef;border-radius:50%;z-index:-1}.cover:after{content:'';position:absolute;width:90%;height:120px;right:-30%;bottom:-60px;background:#cad6e9;border-radius:50%;z-index:-1}.scene-label{position:absolute;left:24px;top:22px;display:flex;align-items:center;gap:7px;color:#8e83a7;font-size:11px;z-index:2}.scene-label>span:first-child{width:7px;height:7px;background:#b5a4ce;border-radius:50%}.scene-bubble{position:absolute;left:50%;top:51px;transform:translateX(-50%) rotate(-3deg);background:#fffaf2;border:2px solid #d1bfdf;border-radius:17px;padding:9px 17px;font-size:12px;white-space:nowrap;color:#8c7b9f;z-index:2;box-shadow:0 3px 0 #d5c9e433}.scene-bubble:after{content:'';position:absolute;bottom:-7px;left:35px;width:10px;height:10px;border-right:2px solid #d1bfdf;border-bottom:2px solid #d1bfdf;background:#fffaf2;transform:rotate(45deg)}button.buddy{position:absolute;inset:0;padding:0;border:0;background:transparent;border-radius:0;box-shadow:none;width:100%;height:100%;cursor:pointer;transform:none}.dream-scene{width:100%;height:100%;display:block}.scene-bottom{position:absolute;left:23px;right:23px;bottom:18px;display:flex;align-items:center;justify-content:space-between;font-size:9px;color:#8b87a6;pointer-events:none}.sound-bars{display:flex;gap:3px;align-items:center;height:21px}.sound-bars i{display:block;width:4px;height:6px;border-radius:4px;background:#b4a1cc;animation:equalizer .85s ease-in-out infinite alternate;animation-play-state:paused}.sound-bars i:nth-child(2){height:14px;animation-delay:-.4s}.sound-bars i:nth-child(3){height:20px;animation-delay:-.6s}.sound-bars i:nth-child(4){height:12px;animation-delay:-.2s}.sound-bars i:nth-child(5){animation-delay:-.5s}.program{padding:38px 32px 28px;display:flex;flex-direction:column;justify-content:center}.topic{align-self:flex-start;display:flex;gap:7px;align-items:center;padding:6px 11px;border-radius:12px;font-size:11px;color:#a185aa;background:#f5e9f5;font-weight:600}.topic svg{width:13px;height:13px;color:#c0a5ce}.program h2{font-size:27px;line-height:1.6;letter-spacing:1px;margin:15px 0 5px;font-weight:800}.program>p{font-size:12px;color:#8490a8;margin:0 0 22px;line-height:1.8}.chapter-row{display:flex;justify-content:space-between;gap:10px;font-size:11px;color:#8992a8;margin-top:4px}.chapter-row #chapter{color:#727e99}#chapter-count{white-space:nowrap}.progress-wrap{margin-top:14px}input[type=range]{--progress:0%;width:100%;height:8px;border-radius:20px;appearance:none;-webkit-appearance:none;background:linear-gradient(to right,#b69bce var(--progress),#e9e7ef var(--progress));cursor:pointer;margin:0;display:block}input[type=range]::-webkit-slider-thumb{appearance:none;width:17px;height:17px;background:#fff8f5;border:3px solid #b69bce;border-radius:50%;box-shadow:0 1px 2px #9288b433}input[type=range]::-moz-range-thumb{width:12px;height:12px;background:#fff8f5;border:3px solid #b69bce;border-radius:50%}.time-row{display:flex;justify-content:space-between;color:#9ba0b3;font-size:10px;margin-top:9px;font-variant-numeric:tabular-nums}.transport{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:17px 0 12px}button{font:inherit;font-weight:650;cursor:pointer;border:2px solid #c9d8e9;border-radius:19px;background:#f3f7fd;color:#687f9d;padding:12px 19px;transition:transform .18s,background .18s,box-shadow .18s;box-shadow:0 3px 0 #cad6e655;min-height:46px}button:hover{transform:translateY(-2px);background:#eaf2fc}button:active{transform:translateY(2px);box-shadow:none}button:focus-visible,a:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid #c692be;outline-offset:5px}button:disabled{opacity:.35;cursor:default;transform:none}button svg{width:21px;height:21px}.round{width:42px;height:42px;min-height:42px;padding:9px;border-radius:50%;border-color:#e0dbe9;background:#faf7fb;color:#a995bb;box-shadow:none}.previous svg{transform:rotate(180deg)}button.play-toggle{background:#bba0d0;border:2px solid #ac91c3;color:white;border-radius:22px;display:flex;align-items:center;justify-content:center;gap:9px;min-height:55px;flex:1;box-shadow:0 4px 0 #9f83b7;font-size:14px;white-space:nowrap}button.play-toggle:hover{background:#b295ca}.preview-note{color:#a2a1b1;text-align:center;font-size:9px;display:block}.conversation{border:2px solid #d1dfed;border-radius:29px;background:#f9fcff;margin-top:25px;padding:23px 27px;display:grid;grid-template-columns:1fr auto;align-items:center;column-gap:20px}.conversation-heading{display:flex;align-items:center;gap:15px}.question-mark{width:46px;height:49px;flex-shrink:0;display:grid;place-items:center;font-size:32px;font-weight:850;background:#ffedb7;border-radius:17px;transform:rotate(-10deg);color:#c8a25d;border:2px solid #f0d69a}.conversation h2{font-size:19px;margin:0 0 6px;letter-spacing:1px}.conversation-heading p{font-size:11px;color:#8493ad;margin:0;line-height:1.7}.voice-controls{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:10px}.voice-controls button{font-size:12px;min-height:49px;padding:10px 15px}button.primary{background:#f3cfdf;border-color:#dfb3c9;color:#916382;display:flex;gap:8px;align-items:center;box-shadow:0 4px 0 #dcb1c7}button.primary:hover{background:#edc1d7}#resume{background:#e9f2fb;color:#7394b5;border-color:#cbdff0}#resume span{font-size:19px;margin-left:3px}.mic-line{grid-column:1/-1;display:flex;align-items:center;gap:8px;margin:16px 0 0 61px;font-size:9px;color:#9ba5b9}meter{width:70px;height:6px;opacity:.5}body:not([data-scene=idle]):not([data-scene=playing]) meter{opacity:1}.answer{grid-column:1/-1;background:#f1eaf7;padding:16px 20px;border-radius:18px;margin-top:18px;line-height:1.9;font-size:13px}.answer small{color:#a189b4}.little-note{display:flex;justify-content:center;align-items:center;gap:9px;padding:28px 0 22px;font-size:11px;color:#8d9bb1}.little-note svg{width:15px;height:15px;color:#e0c47d}.parent{font-size:11px;color:#8d9ab1;border-top:1px solid #cbdce9;padding-top:8px}.parent summary{cursor:pointer;padding:13px 0;color:#7b8da9}.parent summary span{font-size:10px;margin-left:15px;color:#9ca6b8}.parent-body{background:#f4f8fd;border:1px solid #cfdeec;padding:22px;border-radius:20px;line-height:1.9;margin-top:8px;color:#75849d}.parent button{font-size:11px;padding:8px 14px;min-height:40px}.test-row{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.parent audio{max-width:300px;height:40px}.parent a{color:#9177aa}#events{max-height:210px;overflow:auto;font-family:monospace;font-size:10px}#script p{line-height:2;font-size:12px}.reference-note{font-size:10px}footer{padding:22px 46px 28px;display:flex;justify-content:space-between;color:#9aa9bd;font-size:10px}footer i{font-style:normal;color:#bda3cf;padding:0 5px}[hidden]{display:none!important}
/* The rabbit lives in SVG so ears, eyes and arms can respond independently. */
.bunny-float{animation:float 5s ease-in-out infinite;transform-origin:275px 245px}.ear-left{transform-origin:210px 145px;animation:ear-sway 5s ease-in-out infinite}.ear-right{transform-origin:330px 145px;animation:ear-sway-right 5s ease-in-out infinite}.eyes{transform-box:fill-box;transform-origin:center;animation:blink 6.5s infinite}.cloud-left{animation:drift 9s ease-in-out infinite alternate}.cloud-right{animation:drift 12s ease-in-out infinite alternate-reverse}.small-planet{animation:planet-drift 7s ease-in-out infinite}.twinkle{transform-box:fill-box;transform-origin:center;animation:twinkle 4s ease-in-out infinite}.t2{animation-delay:-1.4s}.t3{animation-delay:-2.5s}.sound-notes{opacity:0;transition:opacity .5s}.thinking-dots{display:none;gap:4px;align-items:center;margin-left:7px}.thinking-dots i{width:4px;height:4px;background:#b096c7;border-radius:50%;animation:dot .9s infinite alternate}.thinking-dots i:nth-child(2){animation-delay:.2s}.thinking-dots i:nth-child(3){animation-delay:.4s}body[data-scene=playing] .sound-bars i,body[data-scene=answering] .sound-bars i{animation-play-state:running}body[data-scene=playing] .sound-notes,body[data-scene=answering] .sound-notes{opacity:1;animation:note-float 3s ease-in-out infinite}body[data-scene=listening] .ear-left{animation:ear-listen 1.6s ease-in-out infinite alternate}body[data-scene=listening] .ear-right{animation:ear-listen-right 1.6s ease-in-out infinite alternate}body[data-scene=listening] .scene-label>span:first-child{background:#9dcbaa;box-shadow:0 0 0 4px #9dcbaa25}body[data-scene=listening] .cover{background:#e3eef4}body[data-scene=waiting] .thinking-dots,body[data-scene=preparing] .thinking-dots{display:inline-flex}body[data-scene=waiting] .bunny-float{animation:ponder 3s ease-in-out infinite}body[data-scene=preparing] .scene-label>span:first-child{background:#edca82}body[data-scene=answering] .bunny-float{animation:float 2.5s ease-in-out infinite}body[data-scene=playing] .scene-bubble{border-color:#d4b8dd}.buddy.waving .arm-right{transform-origin:330px 233px;animation:wave .3s ease-in-out 3 alternate}.buddy.waving .bunny-float{animation:hello-bounce .7s ease-in-out}
@keyframes float{0%,100%{transform:translateY(0) rotate(-1deg)}50%{transform:translateY(-7px) rotate(1deg)}}@keyframes ear-sway{0%,100%{transform:rotate(0)}50%{transform:rotate(3deg)}}@keyframes ear-sway-right{0%,100%{transform:rotate(0)}50%{transform:rotate(-3deg)}}@keyframes blink{0%,42%,45%,78%,81%,100%{transform:scaleY(1)}43%,44%,79%,80%{transform:scaleY(.08)}}@keyframes drift{from{transform:translateX(-5px)}to{transform:translateX(10px)}}@keyframes planet-drift{0%,100%{transform:translate(106px,235px) rotate(-20deg)}50%{transform:translate(106px,228px) rotate(-12deg)}}@keyframes twinkle{0%,100%{opacity:.5;transform:scale(.9)}50%{opacity:1;transform:scale(1.1)}}@keyframes equalizer{from{transform:scaleY(.35)}to{transform:scaleY(1)}}@keyframes note-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-5px)}}@keyframes dot{from{transform:translateY(0);opacity:.4}to{transform:translateY(-3px);opacity:1}}@keyframes ear-listen{from{transform:rotate(9deg)}to{transform:rotate(14deg)}}@keyframes ear-listen-right{from{transform:rotate(-9deg)}to{transform:rotate(-14deg)}}@keyframes ponder{0%,100%{transform:rotate(-3deg)}50%{transform:rotate(2deg)}}@keyframes wave{from{transform:rotate(-12deg)}to{transform:rotate(-50deg)}}@keyframes hello-bounce{0%,100%{transform:translateY(0)}35%{transform:translateY(-16px) rotate(-5deg)}70%{transform:translateY(-3px) rotate(3deg)}}
@media(min-width:1050px){.program h2{max-width:300px}}@media(max-width:850px){header{padding:24px 27px 10px}main{padding:0 27px}.intro h1{font-size:32px}.cover{min-height:375px}.program{padding:27px 22px}.program h2{font-size:23px}.conversation{grid-template-columns:1fr}.voice-controls{justify-content:flex-start;margin:18px 0 0 61px}.player{grid-template-columns:1fr 1fr}footer{padding:22px 27px}}@media(max-width:600px){header{padding:23px 21px 8px}.brand{font-size:23px}.header-note{font-size:0}.header-note svg{width:23px;height:23px}main{padding:0 18px}.intro{padding:24px 5px 22px}.intro h1{font-size:28px;letter-spacing:0}.intro h1 svg{width:21px;margin-left:7px}.intro p{font-size:11px}.player{grid-template-columns:1fr;border-radius:29px}.cover{min-height:315px}.dream-scene{height:315px}.scene-label{top:16px;left:19px;font-size:10px}.scene-bubble{top:34px;font-size:11px;padding:7px 14px}.scene-bottom{bottom:13px;left:19px;right:19px}.program{padding:23px 25px 21px}.program h2{font-size:24px;line-height:1.45;margin-top:12px}.program>p{margin-bottom:17px}.transport{justify-content:center;gap:20px;margin-top:15px}.play-toggle{max-width:210px}.conversation{padding:21px 20px;border-radius:25px;margin-top:21px}.conversation h2{font-size:18px}.conversation-heading{gap:12px}.conversation-heading p{font-size:10px}.voice-controls{margin-left:0;gap:10px}.voice-controls button{flex:1;justify-content:center;white-space:nowrap}.mic-line{margin-left:0}.question-mark{width:42px;height:45px}.parent summary span{margin-left:9px;font-size:9px}.little-note{font-size:10px;gap:6px;padding:25px 0 19px}footer{padding:20px;font-size:9px;gap:10px}.scene-bottom>span{font-size:8px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}.sound-notes{opacity:0}body[data-scene=playing] .sound-notes,body[data-scene=answering] .sound-notes{opacity:1}}
/* Keep listening and asking close together on a child's phone. */
@media(max-width:600px){header{padding-top:20px}.intro{padding:19px 5px 19px}.intro h1{font-size:26px;margin:8px 0}.cover{min-height:235px}.dream-scene{height:235px}.scene-bubble{top:21px;font-size:10px;padding:6px 12px}.scene-label{font-size:9px;top:13px}.scene-bottom{bottom:10px}.program{padding:20px 24px 17px}.program .topic,.program>p{display:none}.program h2{font-size:22px;line-height:1.4;margin:0 0 13px}.chapter-row{margin-top:0;font-size:10px}.progress-wrap{margin-top:13px}.transport{margin:12px 0 9px}.transport button.play-toggle{min-height:50px}.time-row{margin-top:8px}.conversation{margin-top:18px;padding:18px 19px}.voice-controls{margin-top:14px}.mic-line{margin-top:13px}}
.voice-entry{display:inline-flex;align-items:center;gap:12px;color:#9874ab;background:#f8edf8;border:1px solid #e0cce9;border-radius:16px;padding:10px 14px;font-size:12px;text-decoration:none;margin-top:16px;font-weight:600}.voice-entry span{font-size:10px;color:#a68db6;font-weight:400}.voice-entry:hover{background:#f0dff3}@media(max-width:600px){.voice-entry{font-size:11px;gap:7px;padding:9px 11px}.voice-entry span{font-size:9px}}
/* Day and night are explicit choices, independent from playback and microphone. */
.theme-switch{display:flex;gap:4px;padding:4px;border:1px solid #cbddec;border-radius:24px;background:#f6fbff}.theme-switch button{min-height:34px;padding:5px 12px;border:0;border-radius:19px;background:transparent;box-shadow:none;font-size:11px;color:#8494ac;display:flex;gap:5px;align-items:center}.theme-switch button[aria-pressed=true]{background:#e6d5ed;color:#77598e}.theme-switch button span{font-size:17px}.theme-switch button:hover{transform:none}.intro h1 #intro-lead{color:inherit}.intro h1 #intro-lead:after{display:none}body[data-theme=day]{--sky:#e0f3ff;background:#e0f3ff}body[data-theme=day] .cover,body[data-theme=day][data-scene=listening] .cover{background:#a7d8f7}body[data-theme=day] .cover:before{background:#c6e5c6}body[data-theme=day] .cover:after{background:#b3d7b8}body[data-theme=day] .scene-label,body[data-theme=day] .scene-bottom{color:#547e99}body[data-theme=day] .sky-stars,body[data-theme=day] .small-planet,body[data-theme=day] .night-moon{display:none}body[data-theme=night] .day-sun{display:none}body[data-theme=night]{--ink:#e5e5f6;--muted:#b0b9d4;--paper:#273550;--sky:#18243d;color:#e5e5f6;background:#18243d}body[data-theme=night] .brand{color:#e5e5f6}body[data-theme=night] .brand-radio{color:#c0a9db}body[data-theme=night] .brand small,body[data-theme=night] .hello{color:#aebcd6}body[data-theme=night] .intro h1 span{color:#d8bde9}body[data-theme=night] .intro h1 span:after{background:#8a7689}body[data-theme=night] .intro p{color:#b0b9d4}body[data-theme=night] .player{border-color:#465574;box-shadow:0 9px 0 #111c3144}body[data-theme=night] .cover,body[data-theme=night][data-scene=listening] .cover{background:#2f4167}body[data-theme=night] .cover:before{background:#3c4a71}body[data-theme=night] .cover:after{background:#465178}body[data-theme=night] .cloud{opacity:.18}body[data-theme=night] .scene-label,body[data-theme=night] .scene-bottom{color:#c4c5e2}body[data-theme=night] .scene-bubble{background:#eee5f4;border-color:#a98ebc;color:#705a84}body[data-theme=night] .scene-bubble:after{background:#eee5f4;border-color:#a98ebc}body[data-theme=night] .program>p,body[data-theme=night] .chapter-row #chapter,body[data-theme=night] .chapter-row,body[data-theme=night] .time-row{color:#b7bfd6}body[data-theme=night] .topic{background:#444360;color:#ddc8eb}body[data-theme=night] .round{background:#35415f;border-color:#56617f;color:#d1bde5}body[data-theme=night] input[type=range]{background:linear-gradient(to right,#c7abdc var(--progress),#4e5874 var(--progress))}body[data-theme=night] .preview-note{color:#a3acc8}body[data-theme=night] .conversation{background:#25334d;border-color:#445575}body[data-theme=night] .conversation-heading p{color:#bcc5dc}body[data-theme=night] .little-note,body[data-theme=night] footer,body[data-theme=night] .mic-line{color:#aab8d2}body[data-theme=night] .parent{border-color:#405270}body[data-theme=night] .parent summary{color:#bdc4d9}body[data-theme=night] .parent summary span{color:#9fadc8}body[data-theme=night] .parent-body{background:#26324c;border-color:#465575;color:#bec6dc}body[data-theme=night] .voice-entry{background:#393650;border-color:#655475;color:#e1c6ed}body[data-theme=night] .voice-entry span{color:#b9a8cb}body[data-theme=night] .answer{background:#3b3a57;color:#e4ddf2}body[data-theme=night] .theme-switch{background:#25334d;border-color:#465575}body[data-theme=night] .theme-switch button{color:#afbad4}body[data-theme=night] .theme-switch button[aria-pressed=true]{background:#75618b;color:#fff3e1}body[data-theme=night] .parent a{color:#d4b9e9}
.bunny-float,body[data-scene=waiting] .bunny-float,body[data-scene=answering] .bunny-float{animation:none;transform-origin:272px 280px}.ear-left{transform-origin:223px 145px;animation:ear-sway 8s ease-in-out infinite}.ear-right{transform-origin:309px 148px;animation:ear-sway-right 8s ease-in-out infinite}.buddy.waving .arm-right{transform-origin:300px 240px}.buddy.waving .bunny-float{animation:gentle-hello 1s ease-in-out}.night-moon{animation:moon-glow 7s ease-in-out infinite}.day-sun{animation:sun-glow 8s ease-in-out infinite}@keyframes gentle-hello{0%,100%{transform:rotate(0)}40%{transform:rotate(-3deg)}70%{transform:rotate(2deg)}}@keyframes moon-glow{0%,100%{opacity:.8}50%{opacity:1}}@keyframes sun-glow{0%,100%{opacity:.9}50%{opacity:1}}@media(max-width:600px){.theme-switch button{padding:5px 8px;gap:3px;font-size:10px;min-height:32px}.theme-switch{gap:0;padding:3px}.theme-switch button span{font-size:15px}.brand{font-size:21px;gap:9px}.brand-mark{width:37px;height:40px}}@media(prefers-reduced-motion:reduce){.night-moon,.day-sun,.bunny-float,.ear-left,.ear-right,.buddy.waving .bunny-float{animation:none!important}}
body[data-theme=night] .voice-card{background:#273550;border-color:#465575;color:#e5e5f6}body[data-theme=night] .voice-card.selected{background:#40394f;border-color:#b097cc}body[data-theme=night] .voice-card p,body[data-theme=night] .voice-intro p,body[data-theme=night] .voice-note,body[data-theme=night] .voice-group>p{color:#b5bfd7}body[data-theme=night] .voice-text{background:#26334d;color:#c1c9dc}body[data-theme=night] .voice-current{background:#40394f;color:#e1c6ed}body[data-theme=night] .voice-status{color:#d4b8e4}
/* Approved illustration replaces the hand-constructed SVG rabbit. */
.floppy-pose{opacity:0;transition:opacity .25s ease;pointer-events:none}body[data-character-pose=a] .pose-a,body[data-character-pose=b] .pose-b,body[data-character-pose=c] .pose-c{opacity:1}.character-art{transform-origin:270px 370px}.buddy.waving .character-art{animation:character-greeting 1.1s ease-in-out}.buddy:focus-visible{outline-offset:-8px}@keyframes character-greeting{0%,100%{transform:rotate(0deg)}35%{transform:rotate(-2deg)}70%{transform:rotate(1deg)}}@media(prefers-reduced-motion:reduce){.floppy-pose{transition:none}.buddy.waving .character-art{animation:none}}
/* Keep the scene visible when the full-size character button is hovered. */
button.buddy:hover,button.buddy:active{background:transparent;transform:none;box-shadow:none}
/* FloppyRadio identity v2: drooping-ear bunny, no badge and no headphones. */
a.brand-v2{gap:10px;letter-spacing:-.7px;line-height:1.05;color:#655176}.brand-v2 .brand-bunny{display:block;width:58px;height:51px;flex-shrink:0}.brand-v2 .brand-copy{display:block}.brand-v2 .brand-name{display:block;font-family:'Arial Rounded MT Bold','Avenir Next',ui-rounded,sans-serif;font-size:28px;font-weight:850;white-space:nowrap}.brand-v2 .brand-radio{color:#a181b5;font-weight:600;letter-spacing:-1px}.brand-v2 small{margin-top:8px;font-size:10px;letter-spacing:1.8px;color:#8c7f9d;font-weight:500}body[data-theme=night] a.brand-v2{color:#f0e5f8}body[data-theme=night] .brand-v2 .brand-radio{color:#d0b3e3}body[data-theme=night] .brand-v2 small{color:#b6aac8}@media(max-width:600px){a.brand-v2{gap:7px}.brand-v2 .brand-bunny{width:44px;height:40px}.brand-v2 .brand-name{font-size:22px}.brand-v2 small{font-size:8px;letter-spacing:1px;margin-top:6px}}@media(max-width:360px){.brand-v2 .brand-bunny{width:36px;height:35px}.brand-v2 .brand-name{font-size:19px}}
/* Each character action plays real drawn frames from the 6×4 sprite atlas. */
.character-canvas{position:absolute;inset:0;display:block;width:100%;height:100%;pointer-events:none}body[data-sprite-ready=true] .character-art{visibility:hidden}#buddy{touch-action:pan-y}body[data-sprite-ready=true] .buddy.waving .character-art{animation:none}
@media(max-width:600px){.scene-bottom .sound-bars{display:none}}

/* Keep the character scene visual; retain the existing status controls below it. */
.scene-label,.scene-bubble,.scene-bottom>span{display:none!important}.intro .hello,.intro h1,.intro>p,.little-note,.program .topic,.program>p{display:none}.intro{padding:12px 0}.program h2{font-size:21px;line-height:1.45}.buddy{touch-action:pan-y}

/* Approved B logo appears on both child and parent pages. */
a.brand-v3{display:block;line-height:0;flex:0 1 240px;min-width:0}.brand-v3 img{display:block;width:100%;height:auto;max-height:100px;object-fit:contain;object-position:left center}@media(max-width:600px){a.brand-v3{flex-basis:175px}.brand-v3 img{max-height:78px}}@media(max-width:360px){a.brand-v3{flex-basis:145px}}
.language-pilot{margin-top:20px;padding:19px 24px;background:#fffaf5;border:2px solid #e3d9ec;border-radius:27px}.language-heading{display:flex;gap:13px;align-items:center}.language-symbol{display:grid;place-items:center;width:44px;height:44px;border-radius:16px;background:#f2dcf1;color:#a67db3;font-size:29px}.language-heading h2{font-size:16px;margin:0 0 4px}.language-heading p,.language-note{font-size:11px;color:#8590a4;margin:0}.language-levels{display:flex;gap:10px;margin:14px 0;justify-content:space-between}.language-level{flex:1;min-width:0;background:#f7f2fa;border:2px solid transparent;padding:6px 4px;box-shadow:none;display:flex;flex-direction:column;align-items:center;gap:1px}.language-level[aria-pressed=true]{background:#f4dff0;border-color:#b999c9}.language-flower{font-size:32px;color:#c898c7;line-height:1.1}.language-level[aria-pressed=true] .language-flower{color:#a56eb6}.language-dots{display:flex;gap:3px}.language-dots i{width:5px;height:5px;background:#ded8e5;border-radius:50%}.language-dots i.filled{background:#a97fbc}.language-note{line-height:1.5}body[data-theme=night] .language-pilot{background:#273550;border-color:#465574}body[data-theme=night] .language-heading p,body[data-theme=night] .language-note{color:#c2c9da}body[data-theme=night] .language-level{background:#38425d}body[data-theme=night] .language-level[aria-pressed=true]{background:#67567c;border-color:#d0b4dc}@media(max-width:600px){.language-pilot{padding:16px}.language-levels{gap:5px}.language-level{min-height:55px}.language-flower{font-size:27px}}
