:root{color-scheme:light;--ground: #FFF4D6;--ground-2: #FFE9AE;--ink: #2A2152;--ink-soft: #5B5288;--card: #FFFFFF;--tomato: #FF6B4A;--lagoon: #17B3A0;--sun: #FFB020;--berry: #3D7BFF;--pink: #FF8FC7;--good: #2DBE6C;--display: "Lilita One", "Baloo 2", "Arial Rounded MT Bold", system-ui, sans-serif;--body: "Baloo 2", "Arial Rounded MT Bold", "Trebuchet MS", system-ui, sans-serif;--line: 4px;--r: 26px;--shadow: 6px 6px 0 var(--ink);padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}*,*:before,*:after{box-sizing:border-box}body{margin:0;background:var(--ground);background-image:radial-gradient(var(--ground-2) 2px,transparent 2.5px);background-size:28px 28px;color:var(--ink);font-family:var(--body);font-size:18px;-webkit-font-smoothing:antialiased}img,svg{max-width:100%}button,select,input{font:inherit;color:inherit}button{cursor:pointer}:focus-visible{outline:4px dashed var(--berry);outline-offset:4px}.wrap{max-width:1120px;margin:0 auto;padding-block:20px 48px;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px));display:flex;flex-direction:column;gap:24px}.toy{color:var(--ink);background:var(--card);border:var(--line) solid var(--ink);border-radius:var(--r);box-shadow:var(--shadow);transition:transform .12s ease,box-shadow .12s ease}button.toy:hover{transform:translate(-2px,-2px);box-shadow:8px 8px 0 var(--ink)}button.toy:active{transform:translate(4px,4px);box-shadow:2px 2px 0 var(--ink)}.top{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.logo{display:flex;align-items:center;gap:10px;font-family:var(--display);font-size:clamp(30px,4vw,42px);letter-spacing:.5px;margin-right:auto}.logo .lab{background:var(--ink);color:var(--ground);padding:0 12px 2px;border-radius:14px;transform:rotate(-3deg);display:inline-block}.back{display:flex;align-items:center;gap:8px;padding:6px 16px 6px 10px;border-radius:999px;font-weight:800}.back svg{width:26px;height:26px}.title{font-family:var(--display);font-weight:400;font-size:clamp(28px,4vw,40px);margin:0 auto 0 4px;display:flex;align-items:center;gap:10px}.title .tag{background:var(--tomato);color:#fff;border:var(--line) solid var(--ink);border-radius:14px;padding:0 12px 2px;transform:rotate(-3deg);display:inline-block}.top>.chip:first-of-type{margin-left:auto}.logo+.chip,.title+.chip{margin-left:0}.chip{display:flex;align-items:center;gap:8px;padding:6px 16px 6px 8px;border-radius:999px;font-weight:800;font-size:20px;font-variant-numeric:tabular-nums}.chip svg{width:34px;height:34px}.chip.bump{animation:bump .5s}@keyframes bump{30%{transform:scale(1.25) rotate(-6deg)}60%{transform:scale(.95)}}.grownups{font-size:15px;font-weight:800;padding:6px 14px;border-radius:999px;background:var(--ink);color:var(--ground)!important}.hello{display:flex;align-items:center;gap:20px;padding:24px 28px;background:var(--berry);color:#fff;position:relative;overflow:hidden}.hello:after{content:"";position:absolute;right:-60px;bottom:-80px;width:260px;height:260px;border-radius:50%;background:#ffffff1f}.hello h1{font-family:var(--display);font-weight:400;font-size:clamp(30px,4.2vw,50px);line-height:1.02;margin:0 0 8px;text-wrap:balance;position:relative;z-index:1}.hello p{margin:0 0 14px;font-size:20px;font-weight:600;position:relative;z-index:1}.speak{display:inline-flex;align-items:center;gap:8px;padding:8px 18px;border-radius:999px;font-weight:800;font-size:18px;position:relative;z-index:1}.speak svg{width:24px;height:24px}.bloop{background:none;border:0;padding:0;cursor:pointer;flex:0 0 auto}.hello .bloop{width:170px}.bloop svg{width:100%;height:auto;display:block;animation:bob 3s ease-in-out infinite}.bloop:hover svg{animation:wiggle .6s ease-in-out}@keyframes bob{50%{transform:translateY(-7px)}}@keyframes wiggle{25%{transform:rotate(-7deg)}75%{transform:rotate(7deg)}}.bubbles circle{animation:rise 2.6s ease-in infinite;opacity:0}.bubbles circle:nth-child(2){animation-delay:.9s}.bubbles circle:nth-child(3){animation-delay:1.7s}@keyframes rise{0%{opacity:0;transform:translateY(0)}20%{opacity:1}to{opacity:0;transform:translateY(-46px)}}.section-head{display:flex;align-items:baseline;gap:14px;flex-wrap:wrap;margin-bottom:16px}.section-head h2{font-family:var(--display);font-weight:400;font-size:clamp(28px,3.4vw,38px);margin:0}.section-head p{margin:0;font-weight:600;color:var(--ink-soft)}.rooms{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}.room{padding:0;overflow:hidden;text-align:left;display:flex;flex-direction:column}.room .art{aspect-ratio:4 / 3;max-width:100%;display:grid;place-items:center;border-bottom:var(--line) solid var(--ink);position:relative}.room .art>svg{width:78%;height:auto}.room.soon .art>svg{opacity:.55;filter:saturate(.6)}.room .label{padding:14px 18px 16px;display:flex;flex-direction:column;gap:6px}.room .name{font-family:var(--display);font-size:32px;line-height:1}.room .what{font-weight:600;color:var(--ink-soft);font-size:16px;line-height:1.25}.room:hover .art>svg{animation:wiggle .6s ease-in-out}.key{position:absolute;top:10px;right:10px;font-weight:800;font-size:15px;background:#fff;border:3px solid var(--ink);border-radius:10px;padding:0 9px}.badge{position:absolute;top:10px;right:10px;display:flex;align-items:center;gap:4px;font-weight:800;font-size:15px;background:#fff;border:3px solid var(--ink);border-radius:999px;padding:0 10px 0 4px}.badge svg{width:20px;height:20px}.bloopbar{display:flex;align-items:center;gap:16px;padding:14px 22px;color:#fff}.bloopbar .bloop{width:84px}.bloopbar p{margin:0;font-family:var(--display);font-size:clamp(22px,3vw,32px);line-height:1.1;text-wrap:balance}.bloopbar .again{margin-left:auto;display:inline-flex;align-items:center;gap:8px;padding:8px 16px;border-radius:999px;font-weight:800;flex:0 0 auto}.bloopbar .again svg{width:24px;height:24px}.games{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}.game{padding:0;overflow:hidden;text-align:left;display:flex;flex-direction:column}.game .art{aspect-ratio:1 / 1;max-width:100%;display:grid;place-items:center;border-bottom:var(--line) solid var(--ink);position:relative}.game .art>svg{width:76%;height:auto}.game:hover .art>svg{animation:wiggle .6s ease-in-out}.game .label{padding:12px 16px 14px;display:flex;flex-direction:column;gap:4px}.game .name{font-family:var(--display);font-size:30px;line-height:1}.game .lvl{font-weight:700;color:var(--ink-soft);font-size:16px}.game .stars{display:flex;gap:4px}.game .stars svg{width:26px;height:26px}svg.off{opacity:.25;filter:grayscale(1)}.stage{padding:0;overflow:hidden}.stage header{display:flex;align-items:center;gap:14px;padding:12px 16px;border-bottom:var(--line) solid var(--ink);color:#fff;flex-wrap:wrap;min-height:80px}.stage header h2{font-family:var(--display);font-weight:400;font-size:30px;margin:0 auto 0 0}.stage header .home{width:52px;height:52px;border-radius:16px;display:grid;place-items:center;color:var(--ink)}.stage header .home svg{width:28px;height:28px}.dots{display:flex;gap:8px}.dots b{width:24px;height:24px;border-radius:50%;border:3px solid var(--ink);background:#fff}.dots b.on{background:var(--sun)}.dots b.now{box-shadow:0 0 0 4px #fff}.play{padding:24px;display:flex;flex-direction:column;align-items:center;gap:18px;text-align:center;min-height:440px}.prompt{font-family:var(--display);font-size:clamp(26px,3.6vw,38px);margin:0;text-wrap:balance}.sum{font-family:var(--display);font-size:clamp(44px,7vw,72px);line-height:1;display:flex;align-items:center;gap:14px;letter-spacing:1px}.sum .q{display:inline-grid;place-items:center;min-width:1.3em;height:1.25em;border:var(--line) dashed var(--ink);border-radius:18px;background:#fff;padding:0 .15em}.sum .q.filled{border-style:solid;background:var(--good);color:#fff}.hint{margin:0;font-weight:700;color:var(--ink-soft);font-size:16px}.visual{display:flex;align-items:center;justify-content:center;gap:18px;flex-wrap:wrap;max-width:100%}.frame{display:grid;grid-template-columns:repeat(5,64px);gap:8px;padding:10px;background:#fff;border:var(--line) solid var(--ink);border-radius:20px}.frame.small{grid-template-columns:repeat(5,56px)}.op{font-family:var(--display);font-size:56px}.obj{width:64px;height:64px;position:relative;display:grid;place-items:center;border-radius:14px;transition:transform .5s ease,opacity .5s ease,background .2s}.frame.small .obj{width:56px;height:56px}.obj svg{width:88%;height:88%;animation:pop .45s cubic-bezier(.3,1.6,.5,1) backwards}@keyframes pop{0%{transform:scale(0)}to{transform:scale(1)}}.obj.lit{background:var(--ground-2)}.obj.lit:after{content:attr(data-n);position:absolute;top:-10px;right:-8px;min-width:28px;height:28px;padding:0 4px;border-radius:999px;background:var(--berry);color:#fff;border:3px solid var(--ink);font-weight:800;font-size:16px;line-height:22px}.obj.gone{opacity:.18;transform:translateY(-34px) scale(.7)}.obj.gone:before{content:"";position:absolute;top:6px;right:6px;bottom:6px;left:6px;border:3px dashed var(--ink-soft);border-radius:50%}.choices{display:flex;gap:18px;flex-wrap:wrap;justify-content:center}.choice{min-width:112px;height:112px;padding:0 20px;font-family:var(--display);font-size:60px;display:grid;place-items:center;line-height:1}.choice.time{font-size:30px;min-width:190px;height:auto;padding:14px 18px;display:flex;flex-direction:column;gap:2px}.choice.time small{font-family:var(--body);font-weight:800;font-size:18px;color:var(--ink-soft)}.choice.right{background:var(--good);color:#fff}.choice.right small{color:#fff}.choice.wrong{animation:shake .4s;opacity:.5}@keyframes shake{25%{transform:translate(-8px)}75%{transform:translate(8px)}}.cheer{font-family:var(--display);font-size:32px;color:var(--good);min-height:42px;margin:0}.helpers{display:flex;gap:12px;flex-wrap:wrap;justify-content:center}.pill{display:inline-flex;align-items:center;gap:8px;padding:10px 20px;border-radius:999px;font-weight:800;font-size:19px}.pill svg{width:24px;height:24px}.clock{max-width:100%;height:auto}.sum form{display:contents}.sum input.q{width:1.6em;font:inherit;color:var(--ink);text-align:center;letter-spacing:0}.sum input.q::placeholder{color:var(--ink);opacity:1}.sum input.q:focus{outline:none;border-style:solid;border-color:var(--berry);box-shadow:0 0 0 5px #cfe0ff}.sum input.q:focus::placeholder{opacity:0}.sum input.q:disabled{opacity:.5}.sum input.q.wrong{animation:shake .4s}.pill.check{background:var(--good);color:#fff;font-size:22px;padding:12px 34px}.pill.check:disabled{background:#dcd8ec;color:var(--ink-soft);cursor:default;transform:none;box-shadow:var(--shadow)}.blocks{--cube: 54px;--gap: 6px;display:flex;align-items:flex-end;justify-content:center;gap:56px;min-height:calc(var(--rows, 6) * (var(--cube) + var(--gap)) + 20px);padding:0 12px 12px;border-bottom:8px solid var(--ink);border-radius:0 0 6px 6px;min-width:min(420px,100%)}.blocks .tower{display:flex;flex-direction:column;align-items:center;gap:var(--gap);background:none;border:0;padding:0;border-radius:12px;touch-action:none}.blocks .stack{display:flex;flex-direction:column-reverse;gap:var(--gap)}.blocks .cube{width:var(--cube);height:var(--cube);background:var(--berry);border:3px solid var(--ink);border-radius:9px;box-shadow:inset -5px -5px #2a21522e;display:grid;place-items:center;font-family:var(--display);font-size:22px;color:#fff;-webkit-text-stroke:1px var(--ink);paint-order:stroke fill;transition:background .2s}.blocks .cube.lit{background:#5e93ff;box-shadow:0 0 0 4px var(--sun)}.blocks .snapped .cube{animation:snapdown .35s cubic-bezier(.3,1.5,.5,1) backwards}@keyframes snapdown{0%{transform:translate(60px,-30px);opacity:0}}.blocks .bigblock{width:calc(var(--cube) + 12px);height:calc(var(--n) * (var(--cube) + var(--gap)) - var(--gap));background:var(--tomato);border:var(--line) solid var(--ink);border-radius:12px;box-shadow:inset -6px -6px #2a21522e;display:grid;place-items:center;font-family:var(--display);font-size:calc(var(--cube) * .8);line-height:1;color:#fff;-webkit-text-stroke:1.5px var(--ink);paint-order:stroke fill}.blocks .loose{cursor:grab;transition:transform .2s ease}.blocks .loose:hover .stack{transform:translateY(-5px)}.blocks .loose.dragging{cursor:grabbing;transition:none;z-index:5;position:relative}.blocks .drop-ok .bigblock{outline:4px dashed var(--good);outline-offset:6px}.finish{display:flex;flex-direction:column;align-items:center;gap:16px;text-align:center;padding:30px 20px}.finish h2{font-family:var(--display);font-weight:400;font-size:clamp(36px,6vw,58px);margin:0}.bigstars{display:flex;gap:10px}.bigstars svg{width:72px;height:72px;animation:pop .6s cubic-bezier(.3,1.6,.5,1) backwards}.bigstars svg:nth-child(2){animation-delay:.15s}.bigstars svg:nth-child(3){animation-delay:.3s}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#2a21528c;display:grid;place-items:center;z-index:20;padding:max(16px,env(safe-area-inset-top,0px)) max(16px,env(safe-area-inset-right,0px)) max(16px,env(safe-area-inset-bottom,0px)) max(16px,env(safe-area-inset-left,0px))}.panel{width:min(560px,100%);max-height:100%;overflow:auto;padding:22px 24px;display:flex;flex-direction:column;gap:14px;font-size:17px}.panel h3{font-family:var(--display);font-weight:400;font-size:30px;margin:0;display:flex;align-items:center}.panel h3 button{margin-left:auto;width:46px;height:46px;border-radius:14px;font-family:var(--display);font-size:24px}.panel label{font-weight:800;display:flex;flex-direction:column;gap:6px}.panel select{padding:10px 12px;border:3px solid var(--ink);border-radius:14px;background:#fff;width:100%;min-width:0}.panel input[type=range]{width:100%;accent-color:var(--tomato)}.panel .row{display:flex;gap:12px;flex-wrap:wrap;align-items:center}.panel p{margin:0;line-height:1.45;color:var(--ink-soft);font-weight:600}.panel .tip{background:var(--ground);border:3px solid var(--ink);border-radius:16px;padding:12px 14px}.panel .tip b,.voicename{color:var(--ink);font-weight:800}@media(max-width:960px){.rooms,.games{grid-template-columns:repeat(2,1fr)}}@media(max-width:560px){.hello{flex-direction:column;text-align:center}.hello .bloop{width:130px}.rooms{gap:16px}.room .name{font-size:24px}.frame{grid-template-columns:repeat(5,48px);gap:6px}.frame.small{grid-template-columns:repeat(5,40px)}.obj{width:48px;height:48px}.frame.small .obj{width:40px;height:40px}.choice{min-width:84px;height:84px;font-size:44px}.blocks{--cube: 30px;--gap: 4px;gap:40px}.op{font-size:40px}.bloopbar{flex-wrap:wrap}.bloopbar .again{margin-left:0}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}
