:root{--ink:#44315f;--muted:#8b7b9f;--purple:#8659ca;--lavender:#f0e6fc;--paper:#fcf9ff;--pink:#ed87ac;--shadow:0 8px 0 #52367b0d;font-family:ui-rounded,'Arial Rounded MT Bold','Trebuchet MS',sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none}*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at 15% 0%,#f4e8ff 0,transparent 45%),radial-gradient(ellipse at 100% 75%,#fff1e5 0,transparent 45%),var(--paper);min-height:100dvh}button{font:inherit;cursor:pointer;border:0;touch-action:manipulation;-webkit-tap-highlight-color:transparent;color:inherit}button:focus-visible{outline:4px solid #753fc3;outline-offset:5px}button:disabled{cursor:default}button:not(:disabled):active{transform:translateY(2px)}#app{max-width:1440px;margin:auto;padding:0 4.4%;min-height:100dvh;display:flex;flex-direction:column}header{height:88px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #e9e0f0;flex-shrink:0}.brand{background:none;display:flex;align-items:center;gap:12px;text-align:left;font-size:21px;letter-spacing:-.7px;font-weight:700;padding:4px}.brand b{font-weight:500}.brand-icon{display:grid;place-items:center;width:45px;height:45px;background:#ead9f8;border-radius:15px;font-size:30px}.header-right{display:flex;gap:22px;align-items:center}.saved{font-size:12px;font-weight:700;color:var(--muted);letter-spacing:.3px}.saved i{display:inline-block;width:7px;height:7px;border-radius:50%;background:#91c9b6;margin-right:8px}.icon-button{width:48px;height:48px;border:1px solid #e8dcf3;border-radius:16px;background:#fff9;font-size:21px}main{flex:1}footer{display:flex;justify-content:space-between;gap:10px;padding:18px 0 20px;color:#9a8aaa;font-size:11px;letter-spacing:.15px}.tiny-star{color:#d0a1d7;margin-left:6px}.hero{display:grid;grid-template-columns:1.3fr .7fr;align-items:center;min-height:225px;padding:28px 0 22px;gap:12px}.eyebrow{font-size:11px;letter-spacing:2.3px;color:#a17aaf;font-weight:800;text-transform:uppercase;margin-bottom:12px}.hero h1{font-size:clamp(29px,3.6vw,47px);line-height:1.12;letter-spacing:-1.7px;margin:0 0 12px;font-weight:800}.hero h1 em{font-style:normal;color:var(--purple)}.hero p{color:var(--muted);font-size:14px;line-height:1.6;margin:0;max-width:430px}.hero-art{width:100%;height:210px;overflow:visible}.section-line{display:flex;align-items:center;justify-content:space-between;margin:3px 0 16px}.section-line h2{font-size:18px;letter-spacing:-.3px;margin:0}.section-line small{font-size:11px;color:var(--muted);background:#f0e7f7;border-radius:20px;padding:8px 13px}.rooms{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.room{position:relative;display:block;border-radius:25px;background:#fff;border:1px solid #f0e7f5;overflow:hidden;text-align:left;padding:0;box-shadow:var(--shadow);transition:transform .18s,box-shadow .18s}.room:hover{transform:translateY(-5px);box-shadow:0 13px 25px #67438d12}.room-art{height:clamp(130px,16vw,205px);position:relative;overflow:hidden;display:grid;place-items:center}.room-art svg{width:100%;height:100%}.room-info{padding:17px 18px 18px}.room-info h3{margin:0 0 7px;font-size:18px;letter-spacing:-.5px}.room-info p{margin:0;font-size:11px;color:var(--muted)}.room-bottom{display:flex;align-items:center;justify-content:space-between;margin-top:16px;font-size:11px;font-weight:bold;color:var(--purple)}.round-arrow{width:29px;height:29px;border-radius:50%;background:#f2eafb;display:grid;place-items:center;font-size:19px}.room.done .round-arrow{background:#e1f4ea;color:#4c967a}.room-tag{position:absolute;top:12px;left:12px;z-index:1;background:#fffc;border:1px solid #fff;border-radius:15px;padding:6px 9px;font-size:9px;letter-spacing:.6px;font-weight:bold}.adventure{margin-top:26px;background:#f0e6fa;border:1px solid #e9dcf4;border-radius:22px;padding:18px 23px;display:flex;align-items:center;gap:17px}.adventure-icon{font-size:32px}.adventure-text{flex:1}.adventure h3{font-size:15px;margin:0 0 5px}.adventure p{font-size:11px;margin:0;color:var(--muted)}.collect{display:flex;gap:8px;margin:0 15px}.sticker{display:grid;place-items:center;width:38px;height:38px;border:1.5px dashed #cbb7df;border-radius:12px;font-size:19px;color:#bca4d4}.sticker.earned{background:#fff;border:1.5px solid #e6d6f2}.primary{min-height:48px;border-radius:14px;background:var(--purple);color:#fff;font-size:13px;font-weight:bold;padding:12px 22px;box-shadow:0 4px 0 #6b40a5;white-space:nowrap}.primary:disabled{opacity:.5;box-shadow:none}.game{padding:23px 0 0;max-width:1050px;margin:auto}.game-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.back{background:transparent;font-size:13px;min-height:46px;padding:0 10px 0 0}.steps{display:flex;align-items:center;gap:8px}.step{width:12px;height:12px;border-radius:50%;background:#e5daef}.step.complete{background:#b594dc}.step.current{background:#8355c2;box-shadow:0 0 0 4px #ede2f8}.game-heading{display:flex;align-items:center;justify-content:center;gap:14px;margin-bottom:10px}.game-heading h1{font-size:clamp(23px,3vw,36px);text-align:center;margin:0;letter-spacing:-.9px}.listen{background:white;border:1px solid #e4d6f0;border-radius:50%;height:48px;width:48px;font-size:22px;flex-shrink:0}.game-sub{text-align:center;color:var(--muted);font-size:13px;margin:9px 0 20px}.play-area{background:linear-gradient(130deg,#f0e6fc,#fff4ea);border:1px solid #ebdff4;border-radius:28px;min-height:230px;display:flex;align-items:center;justify-content:center;gap:22px;padding:22px;position:relative}.animal-clue{font-size:85px;line-height:1.3;background:#fffb;border-radius:30px;padding:20px 35px;box-shadow:0 6px 0 #bda4d51a}.clue-bubble{max-width:260px;background:#fff;border-radius:24px 24px 24px 4px;padding:20px 25px;line-height:1.5;font-size:18px;font-weight:bold}.answers{display:flex;justify-content:center;gap:20px;margin-top:20px}.answer{flex:1;max-width:230px;min-height:108px;padding:12px;background:white;border:2px solid #e9ddf1;border-radius:22px;box-shadow:0 5px 0 #e8deef;display:flex;align-items:center;justify-content:center;gap:12px;font-size:19px;font-weight:bold;transition:background .2s}.answer .emoji{font-size:47px}.answer.number{font-size:39px;min-height:84px;max-width:155px}.answer.correct{background:#e6f8eb;border-color:#92d0a1;box-shadow:0 5px 0 #b8ddbf}.answer.retry{animation:wiggle .3s;background:#fff0e5;border-color:#f0c3a0}.feedback{min-height:65px;display:flex;align-items:center;justify-content:center;gap:20px;color:#736183;font-size:14px;margin:15px 0 0;text-align:center}.feedback .primary{min-width:150px}.math-group{display:flex;flex-wrap:wrap;justify-content:center;align-content:center;gap:4px;background:#fffb;border-radius:22px;min-height:130px;width:230px;padding:15px}.math-group span{font-size:40px;line-height:1.2}.operator{font-size:44px;font-weight:bold;color:#a17ac4}.crossed{opacity:.25;position:relative}.crossed:after{content:'';position:absolute;width:100%;height:3px;background:#9a6cb9;left:0;top:45%;transform:rotate(-35deg)}.equation{font-size:21px;color:#8d6bab;position:absolute;bottom:12px;right:20px}.count-tray{display:flex;justify-content:center;gap:8px;flex-wrap:wrap;max-width:470px}.count-tray span{font-size:55px}.music-pad{width:100px;height:110px;border-radius:24px;border:4px solid #fff;box-shadow:0 6px 0 #0001;font-size:40px;transition:filter .1s,transform .1s}.music-pad[data-note="0"]{background:#f3a3bc}.music-pad[data-note="1"]{background:#f7d77c}.music-pad[data-note="2"]{background:#91d4c5}.music-pad[data-note="3"]{background:#bca4ed}.music-pad.flash{filter:brightness(1.25);transform:translateY(-9px);box-shadow:0 12px 25px #b49fc755,0 0 0 4px #fff}.music-row{display:flex;gap:18px}.melody-progress{position:absolute;bottom:12px;display:flex;gap:8px}.melody-dot{width:12px;height:12px;border-radius:50%;border:2px solid #b7a2cc}.melody-dot.hit{background:#9e7eca}.finish{margin:25px auto;text-align:center;max-width:700px;background:#fff;border:1px solid #e9d9f3;border-radius:35px;padding:30px;position:relative;overflow:hidden}.finish .big-sticker{font-size:78px;display:block;margin:0 0 14px;animation:pop .5s}.finish h1{font-size:32px;margin:0 0 13px}.finish p{font-size:15px;line-height:1.6;color:var(--muted);margin:0 0 23px}.finish-actions{display:flex;justify-content:center;gap:15px}.secondary{background:#f2eafa;min-height:48px;border-radius:14px;padding:12px 20px;font-size:13px;font-weight:bold}.party-stage{min-height:240px;border-radius:25px;background:linear-gradient(#e7d9fa,#fff0df);position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center;gap:15px;margin:10px 0 18px}.party-choice{background:white;border-radius:18px;border:2px solid #e6d5f1;font-size:34px;padding:12px;min-width:70px}.party-choice.selected{background:#ede0fa;border-color:#a781cd}.decoration{position:absolute;font-size:42px;animation:pop .35s}.party-title{font-size:27px;line-height:1.3;font-weight:bold;z-index:1}.party-pals{font-size:70px}.party-hint{font-size:12px!important}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}#rotate{display:none}.sparkle{position:absolute;color:#e1b5e4;pointer-events:none}.help-note{font-size:11px;text-align:center;color:#9986ab;margin:14px 0}.muted{opacity:.65}@keyframes pop{from{transform:scale(.4);opacity:0}to{transform:scale(1);opacity:1}}@keyframes wiggle{25%{transform:translateX(-5px)}75%{transform:translateX(5px)}}@media(min-width:1300px){.hero{min-height:260px}.hero-art{height:240px}.room-art{height:205px}.adventure{margin-top:30px}}@media(max-height:760px) and (orientation:landscape){header{height:70px}.hero{min-height:180px;padding:18px 0}.hero-art{height:170px}.hero h1{font-size:36px}.room-art{height:145px}.room-info{padding:12px 16px}.room-bottom{margin-top:10px}.adventure{margin-top:20px;padding:13px 18px}footer{padding:14px 0}.game{padding-top:15px}.play-area{min-height:180px}.animal-clue{font-size:65px;padding:12px 30px}.math-group{min-height:110px}.game-sub{margin-bottom:14px}.answers{margin-top:15px}.answer{min-height:90px}.feedback{margin-top:12px;min-height:55px}.music-pad{height:90px}}@media(max-height:540px) and (orientation:landscape){#app{padding:0 3%}header{height:56px}.brand{font-size:17px}.brand-icon{width:36px;height:36px;font-size:25px}.icon-button{height:40px;width:40px}.hero{min-height:135px;padding:12px 0}.hero h1{font-size:29px;margin-bottom:7px}.hero-art{height:135px}.hero p{font-size:12px}.eyebrow{font-size:9px;margin-bottom:7px}.room-art{height:110px}.room-info h3{font-size:16px}.room-info{padding:10px}.room-bottom{margin-top:7px}.adventure{margin-top:14px}.saved,footer{display:none}.game-top{margin-bottom:2px}.game-heading h1{font-size:24px}.game-sub{margin:5px 0 10px}.play-area{min-height:140px;padding:12px}.animal-clue{font-size:50px}.answer{min-height:65px}.answer .emoji{font-size:34px}.answer.number{min-height:60px;font-size:30px}.math-group{min-height:88px}.math-group span{font-size:30px}.feedback{margin-top:8px;min-height:50px}.listen{width:42px;height:42px}.finish{margin:15px auto;padding:20px}.finish .big-sticker{font-size:55px}.music-pad{height:75px}.party-stage{min-height:180px}}@media(orientation:portrait){#app{display:none}#rotate{position:fixed;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;background:radial-gradient(circle at top,#f2dffb,#fcf9ff);padding:30px}#rotate h1{font-size:28px;letter-spacing:-1px}#rotate p{color:var(--muted);font-size:17px;line-height:1.7}#rotate>span{font-size:42px;margin-top:15px}.rotate-icon{font-size:100px;color:var(--purple);transform:rotate(90deg);animation:turn 2s infinite alternate}@keyframes turn{from{transform:rotate(0)}to{transform:rotate(90deg)}}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}
