*{box-sizing:border-box;-webkit-tap-highlight-color:transparent;user-select:none;-webkit-user-select:none}
html,body{margin:0;height:100%;overflow:hidden;font-family:"Baloo 2","Comic Sans MS","Nunito",system-ui,sans-serif;color:#4b2a7a;background:#7b6cf6}
#scene{position:fixed;inset:0;overflow:hidden;z-index:0}
.sky{position:absolute;inset:-10%;background:linear-gradient(180deg,#6f63f2 0%,#a98bff 30%,#ffb3d9 62%,#ffe3b8 100%);background-size:100% 200%;animation:sky 24s ease-in-out infinite alternate}
@keyframes sky{to{background-position:0 60%}}
.sun{position:absolute;left:62%;top:14%;width:110px;height:110px;border-radius:50%;background:radial-gradient(circle,#fffbe6 0 35%,#ffe9a8 50%,#ffc9e055 70%,transparent 72%);box-shadow:0 0 80px 40px #fff3c088;animation:glow 5s ease-in-out infinite alternate}
@keyframes glow{to{transform:scale(1.08);box-shadow:0 0 110px 60px #fff3c0aa}}
.rays{position:absolute;left:calc(62% + 55px);top:calc(14% + 55px);width:1400px;height:1400px;margin:-700px 0 0 -700px;background:repeating-conic-gradient(from 0deg,#fff6 0 4deg,transparent 4deg 18deg);-webkit-mask:radial-gradient(circle,#000 0,transparent 60%);mask:radial-gradient(circle,#000 0,transparent 60%);opacity:.35;animation:spin 90s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
.cl{position:absolute;height:46px;border-radius:50px;background:#fff;filter:blur(2px);opacity:.85;box-shadow:30px -18px 0 6px #fff,70px -6px 0 2px #fff}
.cl:after{content:"";position:absolute;inset:0;border-radius:50px;box-shadow:inset 0 -10px 16px #e5d6ff}
.c1{width:120px;top:12%;left:-20%;animation:drift 60s linear infinite}
.c2{width:90px;top:26%;left:-30%;opacity:.6;transform:scale(.7);animation:drift 85s linear infinite -30s}
.c3{width:150px;top:6%;left:-40%;opacity:.7;animation:drift 110s linear infinite -70s}
@keyframes drift{to{left:130%}}
.hill{position:absolute;left:-5%;width:110%;bottom:0;transition:transform .6s ease-out}
.h3{height:44%;filter:blur(1.5px);opacity:.85}.h2{height:34%;filter:drop-shadow(0 -6px 12px #0001)}.h1{height:24%;filter:drop-shadow(0 -8px 14px #0002)}
#fx,#cv{position:fixed;inset:0;pointer-events:none}#cv{z-index:60}
#app{position:relative;z-index:1;height:100%;display:flex;flex-direction:column;padding-top:env(safe-area-inset-top)}
header{display:flex;align-items:center;gap:8px;padding:10px 12px 0}
#guide{width:72px;height:72px;flex:none;animation:bob 2.6s ease-in-out infinite;filter:drop-shadow(0 8px 10px #4b2a7a55)}
#guide.talk{animation:bob .3s ease-in-out infinite alternate}
@keyframes bob{50%{transform:translateY(-8px) rotate(-4deg)}}
#bubble{flex:1;background:linear-gradient(180deg,#fff,#fff6fc);border-radius:24px;padding:10px 16px;font-size:21px;font-weight:700;box-shadow:0 10px 24px #4b2a7a33,inset 0 -4px 0 #f3d6ff;min-height:56px;display:flex;align-items:center;position:relative}
#bubble:before{content:"";position:absolute;left:-10px;top:20px;border:10px solid transparent;border-right-color:#fff;border-left:0}
.top{display:flex;gap:8px;padding:8px 12px;align-items:center}.sp1{flex:1}
.ib{border:0;background:linear-gradient(180deg,#fff,#f1e8ff);border-radius:20px;width:58px;height:58px;font-size:28px;box-shadow:0 6px 0 #c9b4f5,0 10px 18px #4b2a7a33}
.ib.big{width:auto;padding:0 16px;display:flex;align-items:center;gap:6px;background:linear-gradient(180deg,#ffe36e,#ffb938);box-shadow:0 6px 0 #d98b1c,0 10px 20px #b0651c55;color:#6b3a00}
.ib.big small{font-size:18px;font-weight:800}
.pill{border:0;background:#fffc;border-radius:999px;padding:8px 14px;font-size:22px;font-weight:800;color:#c0739f;box-shadow:0 6px 16px #4b2a7a22}
button:active{transform:translateY(3px) scale(.96)}
main{flex:1;overflow-y:auto;padding:6px 14px 30px;perspective:900px}
.enter{animation:enter .55s cubic-bezier(.2,.9,.3,1.2)}
@keyframes enter{from{opacity:0;transform:translateZ(-120px) translateY(30px) scale(.92);filter:blur(6px)}}
.grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.g3{grid-template-columns:repeat(3,1fr)}
.tile{border:0;border-radius:30px;padding:12px 6px;min-height:140px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;font:inherit;color:#4b2a7a;background:linear-gradient(160deg,#ffffff 0%,#ffe6f5 100%);box-shadow:0 8px 0 #f0b6d8,0 16px 28px #4b2a7a40,inset 0 2px 0 #fff;animation:pop .6s backwards;position:relative;overflow:hidden}
.tile:after{content:"";position:absolute;top:-60%;left:-40%;width:60%;height:220%;background:linear-gradient(90deg,transparent,#fff8,transparent);transform:rotate(20deg);animation:shine 5s ease-in-out infinite}
@keyframes shine{0%,70%{left:-60%}100%{left:130%}}
.tile:nth-child(4n+2){background:linear-gradient(160deg,#fff,#e6dcff);box-shadow:0 8px 0 #c3aef2,0 16px 28px #4b2a7a40}
.tile:nth-child(4n+3){background:linear-gradient(160deg,#fff,#fff0c4);box-shadow:0 8px 0 #f0cd7c,0 16px 28px #4b2a7a40}
.tile:nth-child(4n){background:linear-gradient(160deg,#fff,#d6f7ea);box-shadow:0 8px 0 #8fd9b8,0 16px 28px #4b2a7a40}
.tile .ic{font-size:54px;line-height:1;filter:drop-shadow(0 4px 4px #0002)}.tile .tx{font-size:24px;font-weight:800}
.tile .bl{font-size:58px;font-weight:900;color:#e0559e;text-shadow:0 3px 0 #fff,0 6px 10px #e0559e44;line-height:1}
.tile.sm{min-height:112px}.tile.sm .ic{font-size:40px}.tile.sm .tx{font-size:19px}
@keyframes pop{from{opacity:0;transform:scale(.6) translateY(20px)}}
.tile.hl{outline:5px solid #ffd23f}
.play{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;border:0;border-radius:999px;margin:4px 0 14px;padding:14px;font:inherit;font-size:26px;font-weight:900;color:#fff;background:linear-gradient(90deg,#ff6fb5,#9b6bff);box-shadow:0 7px 0 #7b46c9,0 14px 26px #4b2a7a55;animation:pulse 2s infinite}
@keyframes pulse{50%{transform:scale(1.03)}}
.stage{display:flex;flex-direction:column;align-items:center;gap:16px;padding-top:4px}
.q{background:#ffffffd9;border-radius:30px;padding:16px 20px;min-width:70%;text-align:center;font-size:44px;font-weight:900;box-shadow:0 14px 30px #4b2a7a33;backdrop-filter:blur(6px)}
.q .em{font-size:40px;letter-spacing:2px;line-height:1.3}
.opts{display:flex;flex-wrap:wrap;gap:14px;justify-content:center}
.opt{border:0;border-radius:30px;min-width:104px;min-height:104px;font:inherit;font-size:56px;font-weight:900;color:#a0459e;background:linear-gradient(180deg,#fff,#fbefff);box-shadow:0 8px 0 #e1b5ef,0 14px 24px #4b2a7a40;display:flex;align-items:center;justify-content:center;padding:8px}
.opt.ok{background:linear-gradient(180deg,#e2ffe9,#b8f5c9);box-shadow:0 8px 0 #5fc77f}
.wig{animation:wig .5s}@keyframes wig{20%,60%{transform:translateX(-10px) rotate(-4deg)}40%,80%{transform:translateX(10px) rotate(4deg)}}
.sw{width:64px;height:64px;border-radius:50%;border:4px solid #fff;box-shadow:inset 0 -6px 10px #0003,0 6px 12px #0003}
.sp{position:fixed;pointer-events:none;z-index:50;font-size:22px;animation:sp .9s ease-out forwards}
@keyframes sp{to{transform:translate(var(--x),var(--y)) scale(.2) rotate(200deg);opacity:0}}
.album{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;width:100%}
.stk{aspect-ratio:1;border-radius:20px;background:#fff6;font-size:40px;display:flex;align-items:center;justify-content:center;border:3px dashed #fff}
.stk.got{background:#fff;border:3px solid #ffd75e;box-shadow:0 8px 16px #4b2a7a33}
#inst{display:none;margin:0 auto 12px;border:0;border-radius:999px;padding:12px 22px;font:inherit;font-size:20px;font-weight:800;color:#4b2a7a;background:#fffd;box-shadow:0 8px 18px #4b2a7a33}
.foot{text-align:center;font-size:13px;color:#fff;text-shadow:0 1px 3px #4b2a7a;margin:18px 0 0}
#parent{display:none;position:fixed;inset:0;background:#000a;z-index:80;align-items:center;justify-content:center}
#parent .box{background:#fff;border-radius:24px;padding:20px;max-width:360px;margin:16px;font-size:17px;color:#553}
#parent button{font-size:17px;padding:10px 14px;border-radius:12px;border:0;background:#f3d9ec;margin:4px}
@media (min-width:600px){.grid{grid-template-columns:repeat(3,1fr)}.g3{grid-template-columns:repeat(4,1fr)}}
@media (prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}
