.hero{display:grid;gap:24px;align-items:center;padding:24px 0 12px}@media(min-width:820px){.hero{grid-template-columns:1.1fr .9fr;padding:40px 0 20px}}.hero h1{font-size:clamp(2.2rem,6vw,3.6rem)}.hero h1 .hl{color:var(--coral)}.hero .lead{font-size:1.15rem;color:var(--text-soft);max-width:520px}.hero-art{position:relative;aspect-ratio:1;max-width:420px;margin:0 auto;width:100%}.hero-blob{position:absolute;inset:8%;border-radius:46% 54% 52% 48%/55% 45%;background:linear-gradient(135deg,#ffd23f,#ff9aa2);animation:blob 8s ease-in-out infinite}@keyframes blob{0%,to{border-radius:46% 54% 52% 48%/55% 45%}50%{border-radius:54% 46% 44% 56%/45% 55%}}.hero-emoji{position:absolute;font-size:clamp(2.4rem,8vw,4rem);filter:drop-shadow(0 6px 0 rgba(0,0,0,.12));animation:float 3.4s ease-in-out infinite}.section{padding:28px 0}.section-title{display:flex;align-items:center;gap:10px;margin-bottom:14px}.section-title h2{margin:0}.showcase-card{display:flex;flex-direction:column;gap:8px;color:var(--text);min-height:170px}.showcase-card .emoji{font-size:2.6rem;line-height:1}.showcase-card h3{margin:0}.plans{display:grid;gap:16px}@media(min-width:700px){.plans{grid-template-columns:1fr 1fr}}.plan{position:relative}.plan.featured{border-color:var(--grape);box-shadow:0 0 0 4px #ead9ff}.plan .price{font-family:var(--font-display);font-size:2.4rem;font-weight:700}.plan .price small{font-size:1rem;color:var(--text-soft);font-weight:600}.plan ul{padding-left:0;list-style:none;margin:12px 0 18px}.plan li{padding:6px 0;display:flex;gap:8px}.plan li:before{content:"✔";color:var(--leaf);font-weight:900}.plan .ribbon{position:absolute;top:-12px;right:16px;background:var(--grape);color:#fff;padding:4px 12px;border-radius:var(--r-pill);font-weight:800;font-size:.8rem}.auth-page{display:grid;gap:clamp(20px,4vw,56px);align-items:center;width:min(100%,1120px);margin:0 auto;padding:clamp(16px,4vh,48px) 16px;min-height:calc(100 * var(--dvh) - 220px)}.auth-main{display:flex;justify-content:center}.auth-card{margin:0 auto;width:100%;max-width:440px;--gap: 14px}.auth-head{display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center;margin-bottom:4px}.auth-head .small{max-width:34ch}.auth-forgot{display:block;width:fit-content;margin-left:auto;margin-top:6px!important;font-weight:700}.auth-side{display:none}@media(min-width:900px){.auth-page{grid-template-columns:minmax(0,1fr) minmax(380px,460px)}.auth-side{display:block;position:relative;overflow:hidden;border-radius:var(--r-xl, 28px);padding:clamp(32px,4vw,56px);min-height:460px;background:linear-gradient(145deg,var(--primary-soft),var(--sky-soft) 55%,var(--mint-soft));border:2px solid var(--line)}.auth-side-inner{position:relative;z-index:1;max-width:460px;padding-right:64px}.auth-side-title{font-size:clamp(2rem,3.2vw,2.8rem);margin:0 0 8px}.auth-side-lead{font-size:1.15rem;color:var(--ink-soft);margin:0 0 22px}.auth-points{list-style:none;margin:0;padding:0;display:grid;gap:14px}.auth-points li{display:flex;align-items:center;gap:14px;font-weight:700;background:#ffffffb3;border-radius:var(--r-md);padding:12px 14px}.auth-side-float{position:absolute;width:90px;height:90px;opacity:.9;animation:float 6s ease-in-out infinite}.auth-side-float.f1{right:24px;top:24px;width:72px;height:72px}.auth-side-float.f2{right:28px;bottom:28px;width:56px;height:56px;animation-delay:-2s}.auth-side-float.f3{right:34px;top:46%;width:44px;height:44px;opacity:.6;animation-delay:-4s}}@media(prefers-reduced-motion:reduce){.auth-side-float{animation:none}}.demo-frame{background:#fff9;border-radius:var(--r-lg);padding:16px;border:2px solid var(--line)}.container-legal{max-width:860px}.legal-nav{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:14px}.legal-nav a{padding:6px 12px;border-radius:var(--r-pill);background:#fff;border:2px solid var(--line);color:var(--text);font-weight:700}.legal-nav a.on{border-color:var(--coral);color:var(--coral)}.prose h2{font-size:clamp(1.5rem,4vw,2rem)}.prose h3{margin-top:1.4em}.prose ul{padding-left:1.2em;margin:0 0 1em}.prose li{margin:.25em 0}.prose blockquote{margin:0 0 1em;padding:10px 14px;background:#fff6d6;border-radius:var(--r-sm)}.prose .table{margin-bottom:1em}mark.placeholder{background:#ffe58a;border-radius:4px;padding:0 3px}.legal-links{display:flex;flex-wrap:wrap;justify-content:center;gap:6px 14px}.legal-links a{color:var(--ink-soft);font-weight:700}.consent-box{border:2px solid var(--line);border-radius:var(--r-md);padding:10px 14px 12px;margin:0;display:flex;flex-direction:column;gap:4px}.checkbox.consent{align-items:flex-start;font-weight:600;font-size:.92rem;min-height:0;padding:6px 0;line-height:1.4}.checkbox.consent input{margin-top:2px;flex-shrink:0}.cat-grid{display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr))}.cat-card{display:flex;flex-direction:column;gap:10px}.cat-types{display:flex;flex-wrap:wrap;gap:6px}.cat-types .chip{font-size:.85rem}.film{container-type:inline-size;background:#bfe6ff}.film img{position:absolute;display:block;max-width:none;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;pointer-events:none}.film-cam{position:absolute;inset:0;transform-origin:50% 62%;animation:film-dolly 3.4s cubic-bezier(.2,.7,.2,1) both,film-push 3s ease-in-out 6.4s forwards}@keyframes film-dolly{0%{transform:scale(1.25) translateY(3%)}}@keyframes film-push{0%{transform:none}60%{transform:scale(1.04)}to{transform:scale(1.025)}}.film-sky{position:absolute;inset:0;background:radial-gradient(circle at 80% 16%,rgba(255,244,196,.95) 0 6%,rgba(255,231,150,.45) 16%,transparent 38%),linear-gradient(180deg,#6fc0ff,#a9dcff 38%,#e3f4ff 58%,#fff3d6 72%)}.film-rays{position:absolute;left:80%;top:16%;width:230%;aspect-ratio:1;transform:translate(-50%,-50%);background:repeating-conic-gradient(from 0deg,rgba(255,255,255,.22) 0 5deg,transparent 5deg 16deg);-webkit-mask:radial-gradient(circle,#000 0 8%,transparent 42%);mask:radial-gradient(circle,#000 0 8%,transparent 42%);animation:film-rays 70s linear infinite}@keyframes film-rays{to{transform:translate(-50%,-50%) rotate(360deg)}}.film-sun{left:72%;top:7%;width:16%;filter:drop-shadow(0 0 12px rgba(255,210,90,.7));animation:film-sun 1.6s cubic-bezier(.2,.8,.3,1) both}@keyframes film-sun{0%{transform:translateY(180%) scale(.8)}}.film-cloud{opacity:.95;filter:drop-shadow(0 6px 8px rgba(80,120,170,.18));animation:film-drift 40s linear infinite alternate}.film-cloud.c1{left:4%;top:9%;width:22%}.film-cloud.c2{left:44%;top:19%;width:15%;opacity:.85;animation-duration:55s}.film-cloud.c3{left:30%;top:3%;width:11%;opacity:.7;animation-duration:70s;animation-direction:alternate-reverse}@keyframes film-drift{to{transform:translate(40%)}}.film-mountains{position:absolute;left:-2%;width:104%;bottom:30%;height:28%;animation:film-far 3.4s cubic-bezier(.2,.7,.2,1) both}@keyframes film-far{0%{transform:translateY(10%)}}.film-haze{position:absolute;left:0;right:0;bottom:26%;height:20%;background:linear-gradient(180deg,transparent,rgba(255,255,255,.55))}.film-hills{position:absolute;left:-2%;width:104%;bottom:18%;height:30%;animation:film-mid 3.4s cubic-bezier(.2,.7,.2,1) both}@keyframes film-mid{0%{transform:translateY(5%)}}.film-tree{filter:saturate(.85) brightness(1.04) drop-shadow(0 4px 3px rgba(40,80,30,.2));transform-origin:bottom center;animation:film-mid 3.4s cubic-bezier(.2,.7,.2,1) both}.film-tree.t1{left:3%;bottom:36%;width:8%}.film-tree.t2{left:14%;bottom:35%;width:11%}.film-tree.t3{left:52%;bottom:38%;width:7%}.film-tree.t4{left:78%;bottom:40%;width:10%}.film-tree.t5{left:90%;bottom:38%;width:7%}.film-ground{position:absolute;left:0;right:0;bottom:0;height:33%}.film-ground svg{position:absolute;inset:0;width:100%;height:100%}.film-ground:after{content:"";position:absolute;inset:12% 0 0;background-image:radial-gradient(rgba(255,255,255,.16) 1px,transparent 1.6px),radial-gradient(rgba(30,90,30,.12) 1px,transparent 1.6px);background-size:14px 14px,19px 19px;background-position:0 0,7px 9px}.film-actor{position:absolute;padding:0;border:0;background:none;cursor:pointer;transform:translate(-50%);-webkit-tap-highlight-color:transparent}.film-actor:focus-visible{outline:4px solid #fff;outline-offset:4px;border-radius:16px}.film-bob{position:absolute;inset:0;transform-origin:50% 100%}.film-bob img{left:0;bottom:0;width:100%;height:auto;filter:drop-shadow(0 3px 2px rgba(0,0,0,.12))}.film-shadow{position:absolute;left:8%;right:8%;bottom:-3%;height:9%;background:radial-gradient(closest-side,rgba(30,60,25,.38),transparent)}.film-bob.hop{animation:film-hop .6s cubic-bezier(.3,1.6,.5,1)!important}@keyframes film-hop{0%{transform:scale(1.06,.92)}35%{transform:translateY(-30%) scale(.95,1.06)}70%{transform:translateY(2%) scale(1.05,.95)}to{transform:none}}@keyframes film-waddle{0%,to{transform:rotate(-3deg)}50%{transform:translateY(-5%) rotate(3deg)}}@keyframes film-breathe{0%,to{transform:none}50%{transform:scale(1.015,1.03)}}.film-actor.elephant{left:16%;bottom:7%;width:30%;height:50%;z-index:3;animation:film-walk-l 2.6s cubic-bezier(.3,.7,.4,1) .4s both}.film-actor.giraffe{left:86.5%;bottom:7%;width:27%;height:50%;z-index:3;animation:film-walk-r 2.6s cubic-bezier(.3,.7,.4,1) .4s both}@keyframes film-walk-l{0%{left:-22%}}@keyframes film-walk-r{0%{left:122%}}.film-actor.elephant img{transform:scaleX(-1)}.film-actor.elephant .film-bob{animation:film-waddle .52s ease-in-out .4s 5,film-breathe 3s ease-in-out 7s infinite}.film-actor.giraffe .film-bob{animation:film-waddle .46s ease-in-out .4s 6,film-breathe 2.6s ease-in-out 7.3s infinite}.film-pole{position:absolute;bottom:10%;height:88%;width:4.5%;border-radius:999px;background:linear-gradient(90deg,#7a4722,#c3864d 45%,#7a4722);box-shadow:2px 3px 4px #0000002e}.film-actor.elephant .film-pole{left:86%}.film-actor.giraffe .film-pole{left:3%;width:5%}.film-pole:before{content:"";position:absolute;left:50%;top:0;width:280%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle at 35% 30%,#fff6c2,#f4b400 55%,#b77f00);box-shadow:0 2px 3px #00000040;transform:translate(-50%,-50%)}.film-rod{position:absolute;z-index:4;left:27.5%;width:47%;top:43.3%;height:1.5%;border-radius:999px;background:linear-gradient(180deg,#c3864d,#7a4722);animation:film-rod .4s ease-out 3s both}@keyframes film-rod{0%{transform:scaleX(0)}}.film-cloth{position:absolute;z-index:4;left:28.8%;width:44.4%;top:44.4%;height:19%;display:grid;place-items:center;border-radius:0 0 14px 14px;background:linear-gradient(90deg,var(--coral) 0 12.5%,var(--sun) 12.5% 25%,var(--mint) 25% 37.5%,var(--sky) 37.5% 50%,var(--coral) 50% 62.5%,var(--sun) 62.5% 75%,var(--mint) 75% 87.5%,var(--sky) 87.5%) top / 100% 13% no-repeat,repeating-linear-gradient(90deg,transparent 0 9%,rgba(0,0,0,.045) 9% 11%,transparent 11% 20%),linear-gradient(180deg,#fffdf6,#f6ecd6);box-shadow:0 10px 16px #1e283c38,inset 0 -6px 10px #0000000f;transform-origin:top center;animation:film-unroll .9s cubic-bezier(.3,1.3,.5,1) 3.2s both,film-sway 3.4s ease-in-out 4.3s infinite}@keyframes film-unroll{0%{transform:scaleY(0)}}@keyframes film-sway{0%,to{transform:skew(0)}25%{transform:skew(2deg)}75%{transform:skew(-2deg)}}.film-text{display:flex;flex-direction:column;align-items:center;padding-top:6%;font-family:var(--font-display);font-weight:800;line-height:.95;white-space:nowrap;text-shadow:0 .06em 0 rgba(0,0,0,.16)}.film-name{font-size:4vw;font-size:6.2cqi;letter-spacing:-.01em}.film-tld{font-size:3vw;font-size:4.4cqi;color:var(--ink-soft);animation:film-letter .5s cubic-bezier(.3,1.6,.5,1) 4.75s both}.film-letter{display:inline-block;animation:film-letter .45s cubic-bezier(.3,1.6,.5,1) both;animation-delay:calc(3.9s + var(--i, 0) * 65ms)}.film-letter:nth-child(7n+1){color:var(--coral)}.film-letter:nth-child(7n+2){color:#ff9f43}.film-letter:nth-child(7n+3){color:#e0a800}.film-letter:nth-child(7n+4){color:#3fae4f}.film-letter:nth-child(7n+5){color:#2bb3a8}.film-letter:nth-child(7n+6){color:var(--sky)}.film-letter:nth-child(7n+7){color:var(--grape)}@keyframes film-letter{0%{transform:scale(0) rotate(-25deg)}}.film-actor.rabbit{left:50%;bottom:3%;width:17%;aspect-ratio:1;z-index:5;animation:film-rabbit-in 1.5s linear 4.5s both}@keyframes film-rabbit-in{0%{left:-12%}}.film-actor.rabbit img{transform:scaleX(-1)}.film-actor.rabbit .film-bob{animation:film-bounce .5s ease-in-out 4.5s 3,film-breathe 2.4s ease-in-out 7.5s infinite}@keyframes film-bounce{0%{transform:scale(1.08,.9)}15%{transform:translateY(-8%) scale(.95,1.06)}50%{transform:translateY(-55%)}85%{transform:translateY(0) scale(1.05,.95)}to{transform:none}}.film-actor.chick{left:66%;bottom:4%;width:11%;aspect-ratio:1;z-index:5;animation:film-appear .6s cubic-bezier(.3,1.6,.5,1) 5s both}@keyframes film-appear{0%{transform:translate(-50%,60%) scale(.3);opacity:0}}.film-actor.chick .film-bob{animation:film-breathe 2s ease-in-out 7s infinite}.film-actor.hedgehog{left:13%;bottom:1%;width:15%;aspect-ratio:1;z-index:5;animation:film-hedgehog .9s ease-out 5.2s both}@keyframes film-hedgehog{0%{left:-14%}}.film-actor.hedgehog img{transform:scaleX(-1)}.film-actor.hedgehog .film-bob{animation:film-waddle .3s ease-in-out 5.2s 3,film-breathe 2.2s ease-in-out 7.8s infinite}.film-fly{z-index:5}.film-fly.butterfly{left:22%;top:30%;width:8%;animation:film-flutter .35s ease-in-out infinite alternate,film-flight-a 9s ease-in-out 1s infinite}.film-fly.bee{left:84%;top:62%;width:6%;animation:film-flight-b 5s ease-in-out 2s infinite}@keyframes film-flutter{to{scale:.7 1}}@keyframes film-flight-a{0%,to{translate:0 0;rotate:-8deg}25%{translate:180% -60%;rotate:10deg}50%{translate:420% 20%;rotate:-6deg}75%{translate:160% 80%;rotate:8deg}}@keyframes film-flight-b{0%,to{translate:0 0}30%{translate:-60% -80%}60%{translate:-120% 10%}80%{translate:-40% 40%}}.film-confetti,.film-balloons{position:absolute;inset:0;z-index:6;pointer-events:none}.film-confetti i{position:absolute;top:-6%;left:calc(3% + var(--i, 0) * 5.4%);width:1.8%;aspect-ratio:.6;border-radius:2px;opacity:0;background:var(--coral);animation:film-fall 2.8s linear infinite;animation-delay:calc(6s + var(--i, 0) * .15s)}.film-confetti i:nth-child(5n+2){background:var(--sun)}.film-confetti i:nth-child(5n+3){background:var(--mint)}.film-confetti i:nth-child(5n+4){background:var(--sky)}.film-confetti i:nth-child(5n+5){background:var(--grape)}@keyframes film-fall{0%{opacity:1;transform:translateY(0) rotate(0)}to{opacity:1;transform:translateY(1400%) rotate(540deg)}}.film-balloons img{left:calc(12% + var(--i, 0) * 36%);top:72%;width:9%;opacity:0;animation:film-rise 5.5s ease-in infinite;animation-delay:calc(6.3s + var(--i, 0) * 1.2s)}@keyframes film-rise{0%{opacity:0;transform:translateY(0) rotate(-5deg)}10%{opacity:1}to{opacity:0;transform:translateY(-900%) rotate(6deg)}}.film-front{z-index:7;bottom:-5%;transform-origin:50% 100%;filter:blur(.6px) drop-shadow(0 4px 4px rgba(0,0,0,.15));animation:film-sway-flower 4s ease-in-out infinite}.film-front.tulip{left:-3%;width:14%}.film-front.blossom{left:27%;width:10%;bottom:-4%;animation-delay:-1s}.film-front.mushroom{left:78%;width:8%;bottom:-3%;animation:none}.film-front.sunflower{left:90%;width:15%;bottom:-7%;animation-delay:-3s}@keyframes film-sway-flower{0%,to{rotate:-3deg}50%{rotate:3deg}}.film-vignette{position:absolute;inset:0;z-index:8;pointer-events:none;background:radial-gradient(ellipse at 50% 45%,transparent 58%,rgba(20,40,70,.2) 100%)}.film.is-tappable{cursor:pointer;-webkit-tap-highlight-color:transparent}.film.is-tappable:focus-visible{outline:3px solid var(--sky);outline-offset:3px}.film .film-play{top:4%;bottom:auto;z-index:9;border:0;pointer-events:none;animation:film-hint-pulse 1.8s ease-in-out infinite;min-height:44px;font-size:1rem;font-size:clamp(.8rem,4.2cqi,1.7rem);padding:.45em 1.1em}@keyframes film-hint-pulse{0%,to{opacity:1}50%{opacity:.65}}@media(prefers-reduced-motion:reduce){.film *,.film-cam{animation:none!important}.film .film-play{display:none}}.still .film-confetti,.still .film-balloons{display:none}.still .film-front{filter:drop-shadow(0 4px 4px rgba(0,0,0,.15))}.landing{--band-sun: #fff1b8;--band-sky: #dfeeff;--band-grape: #7b4fd6;--band-cream: var(--bg);overflow-x:clip}.bg-cream{background:var(--band-cream)}.bg-sun{background:var(--band-sun)}.bg-sky{background:var(--band-sky)}.bg-grape{background:var(--band-grape)}.fill-cream{fill:var(--band-cream)}.fill-sun{fill:var(--band-sun)}.fill-sky{fill:var(--band-sky)}.fill-grape{fill:var(--band-grape)}.wave{line-height:0}.wave svg{display:block;width:100%;height:clamp(28px,5vw,64px)}.wave svg.flip{transform:scaleX(-1)}.band{padding:18px 0 30px}.band-sun{background:var(--band-sun)}.band-sky{background:var(--band-sky)}.band-grape{background:var(--band-grape);color:#fff}.band-title{font-size:clamp(1.8rem,5vw,2.6rem);text-align:center;margin:0 0 10px}.band-title.left{text-align:left}.band-title.light,.band-lead.light{color:#fff}.band-lead{text-align:center;color:var(--text-soft);max-width:640px;margin:0 auto 20px;font-size:1.08rem}.band-lead.left{text-align:left;margin-left:0}.lead-sm{font-size:1.08rem;color:var(--text-soft)}.hero2{padding:18px 0 10px}.hero2-grid{display:grid;gap:22px;align-items:center}@media(min-width:900px){.hero2{padding:36px 0 20px}.hero2-grid{grid-template-columns:1fr 1fr;gap:40px}}.hero2-text h1{font-size:clamp(2.1rem,5.6vw,3.5rem);line-height:1.08;margin:12px 0}.hero2-text .lead{font-size:1.12rem;color:var(--text-soft);max-width:540px}.hl-coral{color:var(--coral)}.hl-sky{color:var(--sky)}.hl-grape{color:var(--grape)}.hero2-price-link{display:inline-block;margin-top:12px;font-weight:800}.scene{position:relative;aspect-ratio:1 / .9;width:100%;max-width:560px;margin:0 auto;border-radius:36px;overflow:hidden;box-shadow:var(--shadow-lg);border:4px solid #fff;isolation:isolate}.scene-sky{position:absolute;inset:0;background:linear-gradient(180deg,#8fd3ff,#c9ecff 60%,#eaf8ff)}.scene-sun{position:absolute;top:7%;right:8%;width:17%;animation:spin-slow 30s linear infinite}@keyframes spin-slow{to{transform:rotate(360deg)}}.cloud{position:absolute;background:#fff;border-radius:999px;height:9%;opacity:.95;animation:drift 26s linear infinite}.cloud:before{width:45%;height:170%;left:15%;bottom:25%}.cloud:after{width:35%;height:140%;right:15%;bottom:20%}.cloud.c1{width:24%;top:12%;left:-30%}.cloud.c2{width:18%;top:26%;left:-30%;animation-delay:-9s;animation-duration:34s}.cloud.c3{width:20%;top:6%;left:-30%;animation-delay:-18s;animation-duration:30s}@keyframes drift{to{transform:translate(640%)}}.rainbow{position:absolute;left:-12%;bottom:18%;width:70%;aspect-ratio:2 / 1;border-radius:999px 999px 0 0;background:radial-gradient(circle at 50% 100%,transparent 45%,#9b5de5 45% 50%,#4d96ff 50% 55%,#6bcb77 55% 60%,#ffd23f 60% 65%,#ff9f43 65% 70%,#ff6b6b 70% 75%,transparent 75%);opacity:.45}.scene-hill{position:absolute;left:-10%;right:-10%;border-radius:50% 50% 0 0}.scene-hill.h1{bottom:-18%;height:52%;background:#8fdc8a}.scene-hill.h2{bottom:-30%;height:46%;left:30%;background:#6bcb77}.friend{position:absolute;transform:translate(-50%,-50%);aspect-ratio:1;min-width:56px;min-height:56px;padding:0;border:0;background:none;cursor:pointer;filter:drop-shadow(0 6px 0 rgba(0,0,0,.15));animation:idle 3.2s ease-in-out infinite;animation-delay:var(--d, 0s);-webkit-tap-highlight-color:transparent}.friend:focus-visible{outline:4px solid #fff;outline-offset:4px;border-radius:50%}@keyframes idle{0%,to{transform:translate(-50%,-50%)}50%{transform:translate(-50%,-56%)}}.friend.hop{animation:hop .6s cubic-bezier(.3,1.6,.5,1)}@keyframes hop{0%{transform:translate(-50%,-50%) scale(1)}30%{transform:translate(-50%,-95%) scale(1.15,.9)}60%{transform:translate(-50%,-48%) scale(.92,1.1)}to{transform:translate(-50%,-50%) scale(1)}}.friend-star{position:absolute;top:-14%;right:-14%;width:42%;animation:pop .4s ease-out}.scene-hint{position:absolute;left:50%;bottom:4%;transform:translate(-50%);background:#ffffffeb;padding:8px 16px;border-radius:var(--r-pill);font-family:var(--font-display);font-weight:800;font-size:clamp(.95rem,2.8vw,1.15rem);white-space:nowrap;box-shadow:var(--shadow-sm)}.day-path{list-style:none;padding:0;margin:10px 0 0;display:grid;gap:16px}@media(min-width:760px){.day-path{grid-template-columns:repeat(3,1fr)}}.day-step{display:flex;flex-direction:column;align-items:center;text-align:center;gap:6px;background:#fff;border-radius:28px;padding:18px 16px 20px;box-shadow:var(--shadow-md)}.day-step strong{font-family:var(--font-display);font-size:1.4rem}.day-step span:last-child{color:var(--text-soft)}.day-bubble{width:92px;height:92px;border-radius:50%;display:grid;place-items:center;border:5px solid #fff;box-shadow:0 6px #00000014;animation:float 3s ease-in-out infinite;animation-delay:calc(var(--i, 0) * .4s)}.day-step.tint-coral .day-bubble{background:var(--coral-tint)}.day-step.tint-sun .day-bubble{background:var(--sun-tint)}.day-step.tint-leaf .day-bubble{background:var(--leaf-tint)}.try-grid{display:grid;gap:22px;align-items:center}@media(min-width:900px){.try-grid{grid-template-columns:.8fr 1.2fr;gap:36px}}.tablet{background:#2d3142;border-radius:34px;padding:14px;box-shadow:var(--shadow-lg)}.tablet-screen{background:var(--bg);border-radius:22px;padding:12px;min-height:320px;overflow:hidden}.bubble-cats{display:grid;gap:14px;grid-template-columns:repeat(auto-fill,minmax(min(100%,320px),1fr))}.bubble-cat{background:#fff;border-radius:26px;padding:14px 14px 16px;box-shadow:var(--shadow-md)}.bubble-cat h3{margin:0 0 10px;font-size:1.2rem}.bubble-row{display:flex;flex-wrap:wrap;gap:8px}.game-bubble{display:flex;flex-direction:column;align-items:center;gap:2px;min-width:84px;padding:10px 8px 8px;border-radius:22px;border:3px solid #fff;font-weight:800;font-size:.82rem;color:var(--text);box-shadow:0 4px #00000012;cursor:pointer}.game-bubble.tint-coral{background:#ffe1e1}.game-bubble.tint-sky{background:#dceaff}.game-bubble.tint-sun{background:#fff0b3}.game-bubble.tint-grape{background:#ecdfff}.game-bubble.tint-mint{background:#d4f5f1}.game-bubble.tint-leaf{background:#d5f3da}.game-bubble.hop{animation:bubble-hop .5s cubic-bezier(.3,1.6,.5,1)}@keyframes bubble-hop{30%{transform:translateY(-10px) scale(1.08) rotate(-4deg)}60%{transform:translateY(0) scale(.96)}}.showcase-card{position:relative}.play-hint{margin-top:auto;font-weight:800;color:var(--coral)}.safety{background:#e6f9f7;border-radius:36px;padding:24px 18px;display:flex;flex-direction:column;align-items:center;gap:16px}.safety-grid{display:grid;gap:12px;width:100%;grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr))}.safety-tile{background:#fff;border-radius:22px;padding:16px;display:flex;flex-direction:column;gap:6px;align-items:flex-start}.safety-tile strong{font-family:var(--font-display);font-size:1.15rem}.safety-tile span{color:var(--text-soft);font-size:.95rem}.teacher-card{display:flex;flex-wrap:wrap;gap:18px;align-items:center;background:#fff6cf;border-radius:32px;padding:20px}.teacher-card>div{flex:1;min-width:220px}.teacher-avatar{width:96px;height:96px;border-radius:50%;background:#fff;display:grid;place-items:center;box-shadow:var(--shadow-md)}.cta-band{display:grid;gap:20px;align-items:center;padding-top:10px;padding-bottom:20px}@media(min-width:800px){.cta-band{grid-template-columns:1.4fr .6fr}}.cta-friends{display:flex;justify-content:center;align-items:flex-end;gap:6px}.btn-ghost-light{background:transparent;color:#fff;border:3px solid rgba(255,255,255,.7);box-shadow:none}@media(prefers-reduced-motion:reduce){.friend,.cloud,.scene-sun,.day-bubble,.cta-friends .anim-float{animation:none!important}}.pricing-head{display:flex;flex-direction:column;align-items:center}.audience-tabs{display:inline-flex;flex-wrap:wrap;justify-content:center;gap:6px;background:#fff;border:3px solid var(--line);border-radius:28px;padding:6px}.audience-tabs button{display:inline-flex;align-items:center;gap:6px;padding:10px 18px;border-radius:22px;font-weight:800;font-size:1.05rem;min-height:52px}.audience-tabs button.on{background:var(--coral);color:#fff;box-shadow:var(--shadow-sm)}.price-cards{display:grid;gap:20px;margin-top:8px;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));max-width:900px;margin-inline:auto}.price-cards.single{max-width:460px;grid-template-columns:1fr}.price-card{position:relative;background:#fff;border:3px solid var(--line);border-radius:32px;padding:26px 22px 22px;display:flex;flex-direction:column;gap:6px;box-shadow:var(--shadow-md)}.price-card.featured{border-color:var(--grape);box-shadow:0 0 0 6px #ead9ff,var(--shadow-md)}.price-card h2{margin:0;font-size:1.6rem}.price-card ul{list-style:none;padding:0;margin:12px 0 18px;display:grid;gap:8px}.price-card li{display:flex;gap:8px}.price-card li:before{content:"✔";color:var(--leaf);font-weight:900}.price-card .btn{margin-top:auto}.price-emoji{width:64px;height:64px}.price-big{font-family:var(--font-display);font-size:clamp(2.2rem,7vw,2.8rem);font-weight:800;line-height:1.1}.price-big small{font-size:1rem;color:var(--text-soft);font-weight:700}.price-ribbon{position:absolute;top:-14px;right:20px;background:var(--grape);color:#fff;padding:5px 14px;border-radius:var(--r-pill);font-weight:800;font-size:.85rem}.class-note{display:flex;gap:14px;align-items:center;max-width:900px;margin:18px auto 0;background:#fff6cf;border-radius:24px;padding:14px 18px}.compare{max-width:760px;margin:0 auto;overflow-x:auto}.faq{max-width:760px;margin:0 auto;display:grid;gap:10px}.faq-item{background:#fff;border:2px solid var(--line);border-radius:20px;padding:14px 18px}.faq-item summary{font-weight:800;cursor:pointer;font-size:1.05rem}.faq-item[open] summary{margin-bottom:8px;color:var(--coral)}.pricing-block{margin-top:32px}.soon{position:relative;min-height:calc(var(--dvh) * 100);display:flex;flex-direction:column;overflow-x:clip;background:radial-gradient(circle at 8% 12%,#ffe8a6 0,transparent 32%),radial-gradient(circle at 92% 8%,#dcebff 0,transparent 34%),radial-gradient(circle at 88% 92%,#ffdede 0,transparent 36%),radial-gradient(circle at 8% 96%,#d8f5f2 0,transparent 34%),var(--cream)}.soon>*{position:relative;z-index:1}.soon-decor{position:absolute;inset:0;z-index:0;pointer-events:none;overflow:hidden}.soon-decor span{position:absolute;opacity:.5;animation:float 5s ease-in-out infinite;animation-delay:calc(var(--i, 0) * -.8s)}@media(max-width:600px){.soon-decor span:nth-child(n+4){display:none}.soon-decor span{opacity:.35}}.soon-top{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:calc(12px + var(--safe-top)) clamp(16px,4vw,56px) 0}.soon-main{flex:1;width:100%;max-width:1600px;margin:0 auto;display:grid;grid-template-columns:minmax(0,1fr);grid-template-areas:"head" "stage" "body";align-content:center;gap:clamp(16px,2.6vw,36px) clamp(24px,4vw,72px);padding:clamp(14px,3vw,40px) clamp(16px,4vw,56px)}.soon-head{grid-area:head;display:flex;flex-direction:column;align-items:center;gap:10px;text-align:center}.soon-stage{grid-area:stage;display:flex;justify-content:center}.soon-body{grid-area:body;display:flex;flex-direction:column;align-items:center;gap:clamp(12px,2vw,22px)}.soon-title{display:flex;flex-wrap:wrap;justify-content:center;gap:0 .26em;margin:2px 0;font-size:clamp(3rem,min(11vw,14vmin),7rem);line-height:1;letter-spacing:-.01em}.soon-word{display:inline-flex;white-space:nowrap}.soon-letter{display:inline-block;text-shadow:0 .05em 0 rgba(45,49,66,.1);animation:soon-wave 2.8s ease-in-out infinite;animation-delay:calc(var(--i, 0) * .09s)}@keyframes soon-wave{0%,55%,to{transform:translateY(0)}25%{transform:translateY(-.12em) rotate(-3deg)}}.soon-sub{margin:0;max-width:22em;font-family:var(--font-display);font-weight:700;font-size:clamp(1.2rem,min(3.8vw,5vmin),2.3rem);line-height:1.2}.soon .soon-scene{max-width:min(100%,520px)}.soon-countdown{display:flex;gap:clamp(6px,1.2vw,14px)}.soon-count{display:flex;flex-direction:column;align-items:center;min-width:clamp(64px,10vmin,104px);padding:10px 8px 8px;background:#fff;border-radius:20px;box-shadow:var(--shadow-md)}.soon-count b{font-family:var(--font-display);font-size:clamp(1.8rem,5.5vmin,3rem);line-height:1;color:var(--grape);font-variant-numeric:tabular-nums}.soon-count small{font-weight:800;color:var(--text-soft);font-size:.8rem}.soon-today{display:inline-flex;align-items:center;gap:8px;padding:10px 22px;border-radius:var(--r-pill);background:var(--sun);box-shadow:var(--shadow-md);font-family:var(--font-display);font-weight:800;font-size:clamp(1.4rem,4vmin,2.2rem)}.soon-promises{list-style:none;margin:0;padding:0;width:100%;max-width:640px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(8px,1.4vw,16px)}.soon-promise{display:flex;align-items:center;gap:10px;padding:clamp(8px,1.4vmin,14px) clamp(10px,1.6vmin,16px);background:#fff;border-radius:22px;box-shadow:var(--shadow-md);text-align:left;animation:soon-card .6s cubic-bezier(.3,1.4,.5,1) both;animation-delay:calc(5s + var(--i, 0) * .5s)}.soon-promise-icon{flex:none;display:grid;place-items:center;width:clamp(44px,7.5vmin,68px);aspect-ratio:1;border-radius:50%}.soon-promise.tint-sky .soon-promise-icon{background:var(--sky-tint)}.soon-promise.tint-grape .soon-promise-icon{background:var(--grape-tint)}.soon-promise.tint-mint .soon-promise-icon{background:var(--mint-tint)}.soon-promise.tint-sun .soon-promise-icon{background:var(--sun-tint)}.soon-promise strong{display:block;font-family:var(--font-display);font-size:clamp(1rem,2.6vmin,1.35rem);line-height:1.15}.soon-promise>span>span{display:block;color:var(--text-soft);font-size:clamp(.8rem,1.9vmin,1rem);line-height:1.3}.soon-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:10px}.soon-actions .btn{gap:8px}.btn-insta{background:linear-gradient(135deg,var(--grape),var(--coral) 60%,#ff9f43);color:#fff}.soon-note{margin:0;max-width:34em;text-align:center}.soon-foot{display:flex;flex-direction:column;align-items:center;gap:6px;padding:8px 16px calc(16px + var(--safe-bottom));text-align:center}@media(max-width:480px){.soon-actions{width:100%;flex-direction:column}.soon-actions .btn{width:100%}.soon-promise{border-radius:18px;gap:8px}}@media(orientation:landscape)and (min-width:640px){.soon-main{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);grid-template-areas:"head stage" "body stage";align-items:center}.soon-head{align-self:end;align-items:flex-start;text-align:left}.soon-title{justify-content:flex-start;font-size:clamp(2.6rem,min(7vw,13vmin),7rem)}.soon-body{align-self:start;align-items:flex-start}.soon-actions{justify-content:flex-start}.soon-note{text-align:left}.soon .soon-scene{max-width:min(100%,calc(var(--dvh) * 74))}}@media(orientation:landscape)and (max-height:500px){.soon-note{display:none}.soon-top{padding-top:8px}}@media(prefers-reduced-motion:reduce){.soon-letter,.soon-decor span,.soon-promise{animation:none!important}}.still,.still *{animation:none!important}.still button{pointer-events:none}.still .cloud.c1{left:6%}.still .cloud.c2{left:58%}.still .cloud.c3{left:32%}.poster{position:relative;overflow:hidden;display:grid;background:radial-gradient(circle at 8% 12%,#ffe8a6 0,transparent 32%),radial-gradient(circle at 92% 8%,#dcebff 0,transparent 34%),radial-gradient(circle at 88% 92%,#ffdede 0,transparent 36%),radial-gradient(circle at 8% 96%,#d8f5f2 0,transparent 34%),var(--cream)}.poster>*{position:relative;z-index:1}.poster .soon-decor{position:absolute;z-index:0}.poster .soon-decor span{animation:none;opacity:.45}.poster-text{display:flex;flex-direction:column;gap:18px}.poster-chips{display:flex;flex-wrap:wrap;gap:10px}.poster .soon-title{font-size:150px}.poster .soon-letter{animation:none}.poster .soon-sub{font-size:44px;max-width:none}.poster .chip{font-size:28px;padding:10px 22px;gap:10px}.poster-stage{display:flex;justify-content:center}.poster-stage .scene{max-width:none}.poster-handle{justify-self:center;display:inline-flex;align-items:center;gap:12px;padding:14px 36px;border-radius:var(--r-pill);background:#fff;box-shadow:var(--shadow-md);font-family:var(--font-display);font-weight:800;font-size:46px}.poster-og{width:1200px;height:630px;grid-template-columns:1.2fr .8fr;align-items:center;gap:32px;padding:44px 56px}.poster-og .soon-title{justify-content:flex-start;font-size:104px}.poster-og .soon-sub{font-size:32px}.poster-og .chip{font-size:20px;padding:8px 16px}.poster-og .poster-stage .scene{width:420px}.poster-post,.poster-story{width:1080px;justify-items:center;text-align:center}.poster-post .poster-text,.poster-story .poster-text{align-items:center}.poster-post .poster-chips,.poster-story .poster-chips{justify-content:center}.poster-post{height:1350px;grid-template-rows:auto 1fr auto;gap:30px;padding:72px 64px 64px}.poster-post .soon-title{font-size:136px}.poster-post .poster-stage{align-items:center}.poster-post .poster-stage .scene{width:640px}.poster-story{height:1920px;grid-template-rows:auto 1fr auto;gap:40px;padding:250px 64px}.poster-story .soon-title{font-size:150px}.poster-story .poster-stage{align-items:center}.poster-story .poster-stage .scene{width:860px}.soon-sub span{white-space:nowrap}.soon-head .chip{font-size:clamp(.8rem,1.8vmin,1.25rem);padding:.3em .9em}@media(orientation:landscape)and (min-width:1400px)and (min-height:800px){.soon-top{zoom:1.35}.soon-promises{max-width:none}.soon-promise{padding:16px 20px;gap:16px;border-radius:28px}.soon-promise-icon{width:84px}.soon-promise strong{font-size:1.7rem}.soon-promise>span>span{font-size:1.2rem}.soon-actions .btn{min-height:76px;font-size:1.55rem;padding:0 36px;border-radius:26px}.soon-note{font-size:1.05rem}.soon-count{min-width:120px}}@media(orientation:landscape)and (max-height:500px){.soon-decor{display:none}}@media(orientation:landscape)and (max-height:500px)and (min-width:640px){.soon-stage{align-self:start;position:sticky;top:8px}.soon .soon-scene{max-width:min(100%,calc(var(--dvh) * 100 - 24px) / .9)}}@keyframes soon-card{0%{opacity:0;transform:translateY(24px) scale(.85)}}.topbar{position:sticky;top:0;z-index:40;background:var(--bg);border-bottom:2px solid var(--line);padding-top:var(--safe-top)}.topbar-inner{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:64px}.topbar nav{display:flex;gap:6px;align-items:center}.topbar nav a{color:var(--text);font-weight:800;padding:8px 12px;border-radius:var(--r-pill)}.topbar nav a.active{background:#fff;box-shadow:var(--shadow-sm)}@media(max-width:640px){.topbar .hide-sm{display:none}}.page{flex:1;padding:20px 0 40px}.page-title{display:flex;align-items:center;gap:10px;margin-bottom:18px;flex-wrap:wrap}.page-title h1{margin:0}.tabbar{position:sticky;bottom:0;z-index:40;display:flex;justify-content:space-around;background:#fff;border-top:2px solid var(--line);padding:6px 4px calc(6px + var(--safe-bottom))}.tabbar a,.tabbar .tab-more{display:flex;flex-direction:column;align-items:center;gap:2px;min-width:56px;padding:6px 8px;border-radius:var(--r-md);color:var(--ink-mute);font-size:.7rem;font-weight:800;text-align:center}.tabbar a .ico,.tabbar .tab-more .ico{font-size:1.45rem;line-height:1}.tabbar a.active,.tabbar .tab-more.active{color:var(--primary);background:var(--primary-soft)}@media(min-width:900px){.tabbar{display:none}}.admin-shell{display:flex;flex:1}.admin-side{display:none}@media(min-width:900px){.admin-side{display:flex;flex-direction:column;gap:4px;width:230px;padding:20px 14px;border-right:2px solid var(--line);background:#fff;position:sticky;top:66px;height:calc(100dvh - 66px)}.admin-side a{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:var(--r-md);color:var(--text);font-weight:800}.admin-side a.active{background:var(--primary-soft);color:var(--primary)}.admin-main{flex:1;min-width:0}}.kid-shell{min-height:100dvh;display:flex;flex-direction:column;background:radial-gradient(circle at 10% 10%,var(--sun-tint) 0,transparent 30%),radial-gradient(circle at 90% 20%,var(--mint-tint) 0,transparent 28%),radial-gradient(circle at 50% 100%,var(--coral-tint) 0,transparent 35%),var(--bg)}.kid-top{display:flex;align-items:center;justify-content:space-between;padding:calc(10px + var(--safe-top)) 14px 6px}.kid-main{flex:1;padding:6px 12px calc(20px + var(--safe-bottom));display:flex;flex-direction:column;align-items:center}.kid-stars{display:inline-flex;align-items:center;gap:6px;background:#fff;border-radius:var(--r-pill);padding:6px 14px;font-family:var(--font-display);font-weight:700;font-size:1.2rem;box-shadow:var(--shadow-sm)}.gate{text-align:center}.gate-question{font-family:var(--font-display);font-size:2rem;margin:10px 0}.gate-pad{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;max-width:280px;margin:0 auto}.gate-pad button{min-height:60px;font-size:1.5rem}.kid-home{width:100%;display:flex;flex-direction:column;align-items:center;gap:clamp(12px,2.4vmin,28px)}.kid-hello{font-size:clamp(1.8rem,6vmin,3.6rem);margin:4px 0}.kid-day{font-size:clamp(.95rem,2.4vmin,1.4rem)}.kid-msg{font-size:clamp(1.3rem,4vmin,2.4rem)}.kid-tiles{display:grid;gap:clamp(12px,2.2vmin,28px);width:min(100%,1400px);grid-template-columns:repeat(auto-fill,minmax(clamp(140px,24vmin,280px),1fr))}.kid-tile{display:flex;flex-direction:column;align-items:center;gap:8px;padding:clamp(14px,2.6vmin,30px) 12px;border-radius:var(--r-lg);background:#fff;box-shadow:0 6px #0000001a;text-align:center;color:var(--text);position:relative;min-height:clamp(160px,26vmin,300px);justify-content:center;transition:transform .1s}.kid-tile:active{transform:translateY(4px);box-shadow:0 2px #0000001a}.kid-tile.is-done{opacity:.78}.kid-tile .label{font-family:var(--font-display);font-weight:600;font-size:clamp(1.05rem,2.8vmin,1.7rem);line-height:1.2}.kid-tile .done{position:absolute;top:8px;right:10px;width:clamp(26px,4vmin,44px);height:clamp(26px,4vmin,44px)}.kid-tile .kid-tile-stars{width:auto;display:flex;gap:2px}.kid-tile .kid-tile-stars .emoji{width:clamp(18px,3vmin,30px)!important;height:clamp(18px,3vmin,30px)!important}.kid-tile .special{position:absolute;top:8px;left:10px;width:clamp(26px,4vmin,44px);height:clamp(26px,4vmin,44px);animation:wiggle 1.4s infinite}.kid-tile-library{border:4px dashed var(--grape-line)}.kid-alldone p{margin:0;font-size:clamp(1.2rem,4vmin,2.2rem);color:var(--coral)}.kid-rest{margin-top:4vmin}.kid-rest h1{font-size:clamp(2rem,7vmin,4rem);color:var(--grape);margin:0}.kid-rest-sub{font-size:clamp(1.05rem,3vmin,1.8rem);color:var(--ink-soft);margin:0}.btn-icon.kid-icon-btn,.kid-icon-btn{width:clamp(52px,8vmin,84px);height:clamp(52px,8vmin,84px);padding:0}.kid-play{width:100%;display:flex;flex-direction:column;align-items:center}.kid-play-bar{display:flex;align-items:center;justify-content:space-between;width:min(100%,1400px);margin-bottom:6px;gap:10px}.kid-play-title{font-family:var(--font-display);font-size:clamp(1.2rem,3.6vmin,2.2rem);font-weight:600;text-align:center;margin:4px 0}.teacher-play-top{flex-wrap:wrap;gap:8px}.teacher-play-title{display:flex;flex-direction:column;align-items:center;text-align:center;flex:1;min-width:160px}.age-toggle{display:inline-flex;background:#fff;border:2px solid var(--line);border-radius:var(--r-pill);padding:3px}.age-toggle button{padding:6px 14px;border-radius:var(--r-pill);font-weight:800;font-size:.92rem;min-height:40px}.age-toggle button.on{background:var(--sun);box-shadow:var(--shadow-sm)}.age-toggle-md button{font-size:1.05rem;min-height:48px;padding:8px 20px}@media(orientation:landscape)and (max-height:500px){.kid-top{padding:calc(4px + var(--safe-top)) 10px 2px}.btn-icon.kid-icon-btn,.kid-icon-btn{width:44px;height:44px}.kid-main{padding-top:2px}.kid-play-bar{margin-bottom:0}.kid-play-title{font-size:1rem;margin:0}.kid-stars{font-size:1rem;padding:2px 10px}}.chip.kid-day{font-size:clamp(.95rem,2.4vmin,1.5rem);padding:4px 16px}.kid-stars{font-size:clamp(1.1rem,2.8vmin,1.8rem)}html[data-mode=kid],html[data-mode=kid] body{overscroll-behavior:none}@media(max-width:699px){.hide-phone{display:none!important}}.kid-shell{position:relative;overflow-x:clip;background:linear-gradient(180deg,#bfe9ff,#e4f6ff 28%,#fff7dc 62%,#ffe7cf)}.kid-shell>header,.kid-shell>main{position:relative;z-index:1}.kid-sky{position:absolute;inset:0;pointer-events:none;z-index:0;overflow:hidden}.cloud{position:absolute;background:#fff;border-radius:999px;opacity:.75;will-change:transform;animation:drift 60s linear infinite}.cloud:before,.cloud:after{content:"";position:absolute;background:#fff;border-radius:50%}.cloud.c1{width:140px;height:42px;top:9%;left:-160px;animation-duration:70s}.cloud.c1:before{width:62px;height:62px;left:22px;top:-30px}.cloud.c1:after{width:46px;height:46px;left:70px;top:-20px}.cloud.c2{width:100px;height:32px;top:22%;left:-120px;animation-duration:90s;animation-delay:-40s;opacity:.6}.cloud.c2:before{width:44px;height:44px;left:16px;top:-22px}.cloud.c2:after{width:34px;height:34px;left:50px;top:-14px}.cloud.c3{width:180px;height:50px;top:4%;left:-200px;animation-duration:110s;animation-delay:-75s;opacity:.5}.cloud.c3:before{width:78px;height:78px;left:30px;top:-38px}.cloud.c3:after{width:58px;height:58px;left:92px;top:-26px}@keyframes drift{0%{transform:translate(0)}to{transform:translate(calc(100vw + 400px))}}.kid-top{padding:calc(8px + var(--safe-top)) 14px 4px}.kid-lock{width:40px;height:40px;padding:8px;border-radius:50%;background:#ffffff8c;opacity:.7}.kid-home{gap:clamp(14px,3vmin,32px);padding-bottom:24px}.kid-hero{display:flex;align-items:center;justify-content:center;gap:clamp(12px,3vw,28px);flex-wrap:wrap;text-align:left}.kid-hero-avatar{background:#fff;border-radius:50%;padding:6px;box-shadow:0 8px #0000000f}.kid-hello{font-family:var(--font-display);font-weight:800;font-size:clamp(2rem,8vw,3.8rem);line-height:1.05;margin:0 0 6px;color:var(--ink)}.kid-stars-pill{display:inline-flex;align-items:center;gap:8px;background:#fff;border-radius:999px;padding:6px 16px;font-family:var(--font-display);font-weight:800;font-size:clamp(1.2rem,4vw,1.8rem);box-shadow:0 5px #0000000f}.kid-today-bar{display:flex;gap:6px;justify-content:center;background:#fff9;padding:8px 14px;border-radius:999px}.kid-today-bar span{width:clamp(22px,5vw,34px);height:clamp(22px,5vw,34px);filter:grayscale(1);opacity:.35;transition:all .3s}.kid-today-bar span.on{filter:none;opacity:1;transform:scale(1.1)}.kid-path{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 10px;width:min(100%,1300px);padding:0 4px}@media(min-width:700px){.kid-path{grid-template-columns:repeat(auto-fill,minmax(clamp(160px,22vmin,240px),1fr));gap:24px 18px}}.path-stop{display:flex;flex-direction:column;align-items:center;gap:8px;color:var(--ink);text-align:center;background:none!important}.kid-path .path-stop:nth-child(2n){transform:translateY(clamp(20px,6vw,44px))}@media(min-width:700px){.kid-path .path-stop:nth-child(2n){transform:translateY(28px)}}.path-bubble{position:relative;width:clamp(118px,36vw,210px);aspect-ratio:1;border-radius:50%;display:grid;place-items:center;border:6px solid #fff;box-shadow:0 10px #2d31421a,0 16px 30px #2d314214;transition:transform .12s}@media(min-width:700px){.path-bubble{width:clamp(140px,20vmin,220px)}}.path-stop:active .path-bubble{transform:translateY(6px) scale(.97);box-shadow:0 4px #2d31421a}.path-stop.tint-coral .path-bubble{background:var(--coral-tint)}.path-stop.tint-sky .path-bubble{background:var(--sky-tint)}.path-stop.tint-sun .path-bubble{background:var(--sun-tint)}.path-stop.tint-grape .path-bubble{background:var(--grape-tint)}.path-stop.tint-mint .path-bubble{background:var(--mint-tint)}.path-stop.tint-leaf .path-bubble{background:var(--leaf-tint)}.path-stop.tint-pink .path-bubble{background:var(--pink-tint)}.path-toybox .path-bubble{background:#fff;border-style:dashed;border-color:#cbb2f5}.path-stop.is-next .path-bubble{animation:next-bounce 1.6s ease-in-out infinite}.path-stop.is-next .path-bubble:after{content:"";position:absolute;inset:-12px;border-radius:50%;border:5px solid rgba(255,210,63,.9);animation:next-ring 1.6s ease-out infinite}@keyframes next-bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}@keyframes next-ring{0%{transform:scale(.92);opacity:1}to{transform:scale(1.12);opacity:0}}.path-stop.is-done .path-bubble{filter:saturate(.75)}.path-stop.is-later{opacity:.45;pointer-events:none}.path-journeys .path-bubble{border-color:#9fd8c4}.path-admin-steps{display:grid;gap:10px;margin:0;padding-left:0;list-style:none}.path-admin-steps li{padding:8px 10px;border-radius:var(--r-md);background:var(--surface)}.path-preview-age{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:48vw}.step-voice{margin:6px 0 0 calc(1.6em + 10px)}.step-voice>summary{cursor:pointer}.step-voice audio{height:36px;max-width:100%}.path-star{position:absolute;right:-4%;top:-4%;width:34%;aspect-ratio:1;filter:drop-shadow(0 3px 2px rgba(0,0,0,.15))}.path-special{position:absolute;left:-4%;top:-4%;width:30%;aspect-ratio:1;animation:wiggle 1.4s infinite}.path-stars{position:absolute;bottom:-6%;display:flex;gap:2px;background:#fff;border-radius:999px;padding:3px 8px;box-shadow:var(--shadow-sm)}.path-stars .emoji{width:clamp(16px,4vw,24px)!important;height:clamp(16px,4vw,24px)!important}.path-label{font-family:var(--font-display);font-weight:700;font-size:clamp(1rem,4vw,1.5rem);line-height:1.15;max-width:16ch}.kid-empty{display:flex;flex-direction:column;align-items:center;gap:14px;margin-top:8vh;text-align:center}.kid-alldone{display:flex;flex-direction:column;align-items:center;gap:6px;margin-top:40px;background:#ffffffb3;border-radius:var(--r-xl);padding:18px 24px;text-align:center}.kid-shell.is-playing .kid-main{padding:0 10px calc(10px + var(--safe-bottom))}.kid-play{width:100%;min-height:calc(100 * var(--dvh) - 16px);display:flex;flex-direction:column}.kid-play-bar{display:flex;align-items:center;justify-content:space-between;gap:10px;width:min(100%,1400px);margin:0 auto;padding:calc(8px + var(--safe-top)) 0 6px}.kid-play-bar .kid-icon-btn{width:clamp(46px,7vmin,72px);height:clamp(46px,7vmin,72px)}.kid-play-title{font-family:var(--font-display);font-weight:700;font-size:clamp(1.05rem,3.2vmin,1.8rem);text-align:center;flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin:0}.kid-play-area{flex:1;display:flex;flex-direction:column;justify-content:center;width:100%}.kid-play-area>.game,.kid-play-area>.game-start{flex:1;justify-content:center}.kid-play-area>.drag-game{justify-content:space-evenly}.kid-shell.is-playing .kid-top.teacher-play-top{padding:calc(6px + var(--safe-top)) 10px 4px;flex-wrap:nowrap}.teacher-play-title strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.teacher-play-title{min-width:0}@media(max-width:699px){.teacher-play-top .age-toggle button{padding:4px 10px;font-size:.82rem;min-height:36px}}.kid-shell.is-playing .kid-main>.kid-play-area{min-height:calc(100 * var(--dvh) - 70px)}@media(prefers-reduced-motion:reduce){.cloud,.path-stop.is-next .path-bubble,.path-stop.is-next .path-bubble:after{animation:none}}.topbar .nav-link{font-weight:800;color:var(--text);padding:6px 8px;border-radius:var(--r-pill)}.topbar .nav-link.active{color:var(--coral)}@media(max-width:760px){.topbar .hide-md{display:none}}.topbar-inner>a:first-child{min-width:0;overflow:hidden}.topbar nav{flex-shrink:0}@media(max-width:420px){.topbar-inner>a:first-child{zoom:.8}.topbar .hide-xs{display:none}}.admin-side{overflow-y:auto}.admin-side .nav-group,.menu-sheet .nav-group{display:flex;flex-direction:column;gap:2px}.admin-side .nav-group+.nav-group{margin-top:10px}.nav-group-title{font-size:.72rem;font-weight:900;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-mute);padding:6px 12px 2px}.nav-ico{width:1.4em;text-align:center}.nav-label{flex:1;min-width:0}.nav-badge{min-width:22px;height:22px;padding:0 6px;border-radius:99px;background:var(--coral);color:var(--primary-ink);font-size:.75rem;font-weight:900;display:inline-grid;place-items:center}.tabbar .tab-more{position:relative;background:none;border:0;cursor:pointer;font-family:inherit}.tab-badge{position:absolute;top:0;right:6px}.menu-sheet-backdrop{position:fixed;inset:0;z-index:60;background:#14162359;display:flex;align-items:flex-end;animation:toast-in .15s ease}.menu-sheet{width:100%;max-height:calc(82 * var(--dvh));overflow-y:auto;background:var(--surface);border-radius:var(--r-lg) var(--r-lg) 0 0;padding:14px 14px calc(18px + var(--safe-bottom));display:grid;gap:14px;grid-template-columns:repeat(auto-fill,minmax(min(100%,240px),1fr))}.menu-sheet .nav-group{background:var(--bg);border-radius:var(--r-md);padding:6px}.menu-sheet a{display:flex;align-items:center;gap:10px;padding:12px;border-radius:var(--r-md);color:var(--text);font-weight:800;min-height:var(--tap)}.menu-sheet a.active{background:var(--primary-soft);color:var(--primary)}@media(min-width:900px){.menu-sheet-backdrop{display:none}}.path-card>summary{cursor:pointer;list-style:none}.path-card>summary::-webkit-details-marker{display:none}.path-card-bar{flex:0 0 min(34%,180px);height:10px;border-radius:999px;background:var(--line);overflow:hidden}.path-card-bar span{display:block;height:100%;background:var(--leaf);border-radius:999px}.path-steps-list{list-style:none;margin:10px 0;padding:0;display:grid;gap:8px}.path-steps-list li{display:flex;gap:10px;align-items:flex-start;padding:8px 10px;border-radius:var(--r-md);background:#ffffffb3}.path-steps-list li.is-done{background:var(--leaf-soft, #eaf7e6)}.spark{display:inline-flex;align-items:flex-end;gap:3px;height:24px}.spark span{width:7px;border-radius:2px;background:var(--leaf)}.spark span.is-empty{background:var(--line)}.skill-table td,.skill-table th{white-space:nowrap}.nav-svg{display:block;flex:none}.nav-svg.tone-primary{color:color-mix(in srgb,var(--primary) 85%,var(--ink))}.nav-svg.tone-coral{color:color-mix(in srgb,var(--coral) 85%,var(--ink))}.nav-svg.tone-sky{color:color-mix(in srgb,var(--sky) 85%,var(--ink))}.nav-svg.tone-leaf{color:color-mix(in srgb,var(--leaf) 72%,var(--ink))}.nav-svg.tone-grape{color:color-mix(in srgb,var(--grape) 85%,var(--ink))}.nav-svg.tone-mint{color:color-mix(in srgb,var(--mint) 72%,var(--ink))}.nav-svg.tone-ink{color:var(--ink-soft)}.nav-ico{display:inline-grid;place-items:center;width:1.5em}.tabbar a .ico,.tabbar .tab-more .ico{display:grid;place-items:center}.tabbar a .ico .nav-svg,.tabbar .tab-more .ico .nav-svg{width:1.2em;height:1.2em}.emoji{display:inline-block;vertical-align:middle;pointer-events:none;-webkit-user-select:none;user-select:none;-webkit-user-drag:none}.emoji-silhouette{filter:brightness(0);opacity:.3}.game{display:flex;flex-direction:column;align-items:center;gap:clamp(10px,2.2vmin,28px);width:100%;max-width:1400px;margin:0 auto;touch-action:manipulation;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;position:relative}.game-toolbar{display:flex;flex-wrap:wrap;justify-content:center;gap:12px}.game-toolbar .btn-kid{padding:0 20px;min-width:var(--tap-kid)}.game-prompt{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:10px 14px;background:#fffc;border-radius:var(--r-pill);padding:8px 18px;box-shadow:var(--shadow-sm);max-width:100%}.game-prompt-text{font-family:var(--font-display);font-weight:600;font-size:clamp(1.2rem,4vmin,2.6rem);line-height:1.2;text-align:center}.game-prompt-say{width:clamp(48px,8vmin,80px);height:clamp(48px,8vmin,80px);border-radius:50%;background:var(--sun);display:grid;place-items:center;box-shadow:0 4px #0000001f}.game-dots{display:flex;gap:6px}.game-dots span{width:clamp(10px,1.8vmin,18px);height:clamp(10px,1.8vmin,18px);border-radius:50%;background:#e7dcc3;transition:background .3s,transform .3s}.game-dots span.on{background:var(--leaf);transform:scale(1.2)}.game-start{display:flex;flex-direction:column;align-items:center;gap:16px;padding:4vmin 0}.game-start-tile{position:relative;width:clamp(180px,46vmin,460px);aspect-ratio:1;border-radius:var(--r-xl);display:grid;place-items:center;box-shadow:0 10px #0000001f;animation:pop .35s cubic-bezier(.2,.9,.3,1.3) both}.game-start-tile:active{transform:translateY(6px);box-shadow:0 4px #0000001f}.game-start-play{position:absolute;right:-4%;bottom:-4%;width:36%;aspect-ratio:1;border-radius:50%;background:var(--coral);color:#fff;display:grid;place-items:center;font-size:clamp(2rem,8vmin,5rem);box-shadow:0 6px #00000026;animation:bounce 1.4s ease-in-out infinite}.game-win{position:fixed;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;background:#fff8e7f0;z-index:50;text-align:center;padding:20px}.game-win h2{font-size:clamp(2rem,8vmin,4.4rem);color:var(--coral);margin:0}.game-win-stars{font-size:clamp(3rem,14vmin,8rem);display:flex;gap:.1em;animation:bounce 1s ease-in-out infinite}.game-win .btn-kid{min-width:clamp(84px,14vmin,140px);min-height:clamp(72px,12vmin,120px)}.choice-grid{display:grid;grid-template-columns:repeat(var(--cols, 3),minmax(0,1fr));gap:clamp(10px,2.4vmin,32px);width:min(100%,calc(var(--cols, 3) * clamp(110px,30vmin,300px)))}@media(max-aspect-ratio:3/4){.choice-grid{grid-template-columns:repeat(min(var(--cols, 3),2),minmax(0,1fr))}}.choice-card{min-height:clamp(96px,22vmin,260px);border-radius:var(--r-lg);background:#fff;box-shadow:0 7px #0000001a;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:10px;transition:transform .1s;border:4px solid transparent}.choice-card:active{transform:translateY(4px);box-shadow:0 3px #0000001a}.choice-card.is-ok{border-color:var(--leaf);background:#e9f9ec;animation:pop .4s ease}.choice-card.is-no{border-color:var(--coral);animation:shake .45s ease}.choice-card:disabled{cursor:default}.choice-caption{font-family:var(--font-display);font-weight:600;font-size:clamp(.95rem,2.6vmin,1.8rem);color:var(--ink-soft)}.numeral{font-family:var(--font-display);font-weight:700;font-size:clamp(3rem,12vmin,8rem);line-height:1;color:var(--sky)}@keyframes shake{0%,to{transform:translate(0)}20%,60%{transform:translate(-10px)}40%,80%{transform:translate(10px)}}.shake{animation:shake .45s ease}.drag-game{justify-content:space-between}.drop-row,.piece-tray{display:flex;flex-wrap:wrap;justify-content:center;gap:clamp(10px,2vmin,26px);width:100%}.piece-tray{padding:clamp(8px,1.6vmin,20px);background:#ffffff8c;border-radius:var(--r-lg)}.drop-slot{width:clamp(84px,17vmin,210px);aspect-ratio:1;border-radius:var(--r-md);background:#fff;border:4px dashed var(--line);display:flex;align-items:center;justify-content:center;padding:clamp(4px,1.2vmin,14px)}.drop-slot.filled{border-style:solid;border-color:var(--leaf);background:#eefbf0;animation:pop .35s ease}.drag-piece{width:clamp(76px,15vmin,190px);aspect-ratio:1;display:flex;align-items:center;justify-content:center;border-radius:var(--r-md);background:#fff;box-shadow:0 5px #0000001f;cursor:grab;touch-action:none;padding:clamp(4px,1.2vmin,14px)}.drag-piece.lifted{opacity:.3}.drag-piece.gone{visibility:hidden}.drag-ghost{position:fixed;transform:translate(-50%,-60%);pointer-events:none;z-index:60;filter:drop-shadow(0 10px 12px rgba(0,0,0,.25))}.ghost-shape{width:clamp(84px,16vmin,190px);aspect-ratio:1}.bucket{background:#f3f3f3;display:flex;align-items:center;justify-content:center;width:100%;height:100%;border-radius:12px;background:color-mix(in srgb,var(--bucket) 30%,white)}.bucket-label{font-family:var(--font-display);font-weight:700;font-size:clamp(.9rem,2.4vmin,1.6rem);color:var(--ink)}.basket-row{display:flex;justify-content:center;gap:clamp(10px,2.4vmin,32px);width:100%}.basket{flex:1 1 0;max-width:clamp(150px,34vmin,420px);min-height:clamp(140px,28vmin,340px);border-radius:var(--r-lg);background:#fff8e1;border:4px dashed #e9c46a;display:flex;flex-direction:column;align-items:center;padding:8px;gap:6px;position:relative}.basket-head{display:flex;align-items:center;gap:8px;font-family:var(--font-display);font-weight:700;font-size:clamp(1rem,3vmin,2rem)}.basket-inside{display:flex;flex-wrap:wrap;justify-content:center;gap:4px;flex:1;align-content:flex-start}.basket-icon{opacity:.9}.puzzle-game{--board: min(92vw, calc(52 * var(--dvh)), 640px)}@media(orientation:landscape){.puzzle-game{--board: min(46vw, calc(62 * var(--dvh)), 720px)}}.puzzle-board{width:var(--board);aspect-ratio:1;display:grid;grid-template-columns:repeat(var(--grid),1fr);grid-template-rows:repeat(var(--grid),1fr);gap:3px;background:#e9dfc9;border-radius:var(--r-md);padding:3px;position:relative;box-shadow:var(--shadow-md)}.puzzle-board.is-emoji,.puzzle-piece.is-emoji{background-color:#fff6dc}.puzzle-hint{position:absolute;inset:3px;background-size:100% 100%;opacity:.18;border-radius:var(--r-sm);pointer-events:none}.puzzle-slot{background:#ffffff80;border-radius:6px;background-repeat:no-repeat;position:relative}.puzzle-slot.filled{animation:pop .3s ease;background-color:#fff6dc}.puzzle-piece{width:calc(var(--board) / var(--grid) * .8);min-width:72px;aspect-ratio:1;border-radius:8px;background-repeat:no-repeat;box-shadow:0 4px #00000026;border:3px solid #fff;touch-action:none;cursor:grab}.puzzle-piece.ghost{width:calc(var(--board) / var(--grid))}.puzzle-piece.lifted{opacity:.3}.puzzle-piece.gone{visibility:hidden}@media(orientation:landscape)and (min-width:700px){.puzzle-game{display:grid;grid-template-columns:auto auto;grid-template-rows:auto 1fr;align-items:center;justify-content:center;column-gap:4vmin}.puzzle-game>.game-prompt{grid-column:1 / -1;justify-self:center}.puzzle-tray{max-width:calc(var(--board) * .9)}}.count-big{font-size:clamp(2rem,7vmin,4.6rem);color:var(--coral);min-width:1.5em}.count-field{position:relative;width:min(100%,calc(118 * var(--dvh)),1000px);aspect-ratio:16 / 10;max-height:calc(54 * var(--dvh));background:#fff9;border-radius:var(--r-lg)}.count-item{position:absolute;width:clamp(64px,13vmin,150px);aspect-ratio:1;transform:translate(-50%,-50%);transition:transform .15s}.count-item.counted{transform:translate(-50%,-50%) scale(.9);filter:saturate(.6)}.count-badge{position:absolute;right:-6px;top:-6px;width:44%;aspect-ratio:1;border-radius:50%;background:var(--sky);color:#fff;font-family:var(--font-display);font-weight:700;font-size:clamp(1rem,3.4vmin,2.2rem);display:grid;place-items:center;box-shadow:0 3px #00000026}.compare-size{height:clamp(80px,24vmin,240px);display:flex;align-items:flex-end;justify-content:center}.compare-count{display:flex;flex-wrap:wrap;justify-content:center;gap:4px;max-width:100%}.pattern-row{display:flex;flex-wrap:wrap;justify-content:center;gap:clamp(6px,1.4vmin,16px);padding:12px;background:#fff9;border-radius:var(--r-lg)}.pattern-cell{width:clamp(48px,10vmin,120px);aspect-ratio:1;display:grid;place-items:center}.pattern-blank{border:4px dashed var(--coral);border-radius:var(--r-md);font-family:var(--font-display);font-weight:700;font-size:clamp(1.6rem,6vmin,4rem);color:var(--coral);background:#fff}.missing-stage{position:relative;width:min(100%,1000px);border-radius:var(--r-lg);overflow:hidden;background:#ffffffb3}.missing-items{display:flex;flex-wrap:wrap;justify-content:center;gap:clamp(8px,2vmin,24px);padding:clamp(12px,3vmin,36px)}.missing-cell{width:clamp(60px,14vmin,160px);aspect-ratio:1;display:grid;place-items:center}.missing-hole{width:100%;height:100%;border:4px dashed var(--grape);border-radius:var(--r-md);display:grid;place-items:center;font-family:var(--font-display);font-size:clamp(2rem,7vmin,4.5rem);color:var(--grape)}.curtain{position:absolute;inset:0;background:repeating-linear-gradient(90deg,#e05555 0 40px,#ff6b6b 40px 80px);transform:translateY(-101%);transition:transform .5s ease}.curtain.down{transform:translateY(0)}.seq-slots{display:grid;grid-template-columns:repeat(var(--n),minmax(0,1fr));gap:clamp(6px,1.6vmin,20px);width:min(100%,calc(var(--n) * clamp(96px,22vmin,240px)))}@media(max-aspect-ratio:3/4){.seq-slots{grid-template-columns:repeat(min(var(--n),3),minmax(0,1fr))}}.seq-slot{position:relative;aspect-ratio:3 / 4;border-radius:var(--r-md);border:4px dashed var(--line);background:#fff9;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:6px;text-align:center}.seq-slot.filled{border-style:solid;border-color:var(--leaf);background:#fff}.seq-slot.narrate{transform:scale(1.06);box-shadow:0 0 0 5px var(--sun);transition:transform .2s}.seq-num{position:absolute;top:4px;left:8px;font-family:var(--font-display);font-weight:700;color:var(--ink-mute);font-size:clamp(.9rem,2.6vmin,1.6rem)}.seq-label{font-weight:800;font-size:clamp(.7rem,1.9vmin,1.2rem);line-height:1.15;color:var(--ink-soft)}.seq-card{width:clamp(84px,17vmin,180px);aspect-ratio:1;border-radius:var(--r-md);background:#fff;box-shadow:0 5px #0000001f;display:grid;place-items:center}.seq-card.gone{visibility:hidden}.trace-stage{width:min(100%,calc(110 * var(--dvh)),1200px);background:#fff;border-radius:var(--r-lg);box-shadow:var(--shadow-md);overflow:hidden}.trace-svg{display:block;width:100%;height:auto;max-height:calc(64 * var(--dvh));touch-action:none}.trace-road{fill:none;stroke:#f1e7cf;stroke-linecap:round;stroke-linejoin:round}.trace-guide{fill:none;stroke:#c9b98f;stroke-width:6;stroke-dasharray:4 18;stroke-linecap:round}.trace-done{fill:none;stroke:var(--sun);stroke-linecap:round;stroke-linejoin:round;transition:stroke-dashoffset .08s linear}.trace-head{filter:drop-shadow(0 6px 6px rgba(0,0,0,.25))}.sym-board{--cell: min(calc((92vw - 20px) / (var(--cols) * 2)), calc(calc(48 * var(--dvh)) / var(--rows)), 90px);display:flex;align-items:stretch;gap:0;background:#fff;padding:8px;border-radius:var(--r-md);box-shadow:var(--shadow-md)}.sym-half{display:grid;grid-template-columns:repeat(var(--cols),var(--cell));grid-auto-rows:var(--cell);gap:3px}.sym-mirror{width:6px;margin:0 6px;border-radius:3px;background:repeating-linear-gradient(#9b5de5 0 10px,transparent 10px 18px)}.sym-cell{border-radius:6px;background:#f3eee2;transition:background .15s}.sym-cell.ghost{background:#f7f3ea;outline:2px dashed #e4dac3;outline-offset:-4px}.move-card{display:flex;flex-direction:column;align-items:center;gap:8px;background:#fff;border-radius:var(--r-xl);padding:clamp(16px,4vmin,48px);box-shadow:var(--shadow-md);width:min(100%,900px);text-align:center}.move-card.trick{background:#fff1c2}.move-said{font-family:var(--font-display);font-weight:700;color:var(--grape);font-size:clamp(1.1rem,3.6vmin,2.4rem)}.move-text{font-family:var(--font-display);font-weight:600;font-size:clamp(1.4rem,5vmin,3.4rem);line-height:1.2}.move-timer{width:min(100%,700px);height:clamp(12px,2vmin,22px);background:#efe6d3;border-radius:99px;overflow:hidden}.move-timer span{display:block;height:100%;background:var(--leaf);transition:width 1s linear}.breath-stage{height:min(calc(56 * var(--dvh)),70vw);display:grid;place-items:center;width:100%}.breath-balloon{width:min(calc(45 * var(--dvh)),54vw);aspect-ratio:1;transition-property:transform;transition-timing-function:ease-in-out;transform:scale(.4) translateZ(0);will-change:transform;backface-visibility:hidden}.breath-balloon>img{display:block}.breath-balloon.in,.breath-balloon.hold{transform:scale(1) translateZ(0)}.breath-balloon.out{transform:scale(.4) translateZ(0)}.breath-label{font-family:var(--font-display);font-weight:600;font-size:clamp(1.6rem,6vmin,4rem);color:var(--sky)}.rhythm-beats{display:flex;gap:clamp(6px,1.4vmin,16px);min-height:clamp(40px,8vmin,90px)}.rhythm-beats span{width:clamp(40px,8vmin,90px);aspect-ratio:1;opacity:.35;transition:opacity .2s,transform .2s}.rhythm-beats span.on{opacity:1;transform:scale(1.1)}.rhythm-pads{display:grid;grid-template-columns:repeat(var(--n),minmax(0,1fr));gap:clamp(12px,3vmin,40px);width:min(100%,calc(var(--n) * clamp(130px,30vmin,320px)))}.rhythm-pad{aspect-ratio:1;border-radius:50%;background:#fff;box-shadow:0 8px #00000024;display:grid;place-items:center;transition:transform .08s,background .15s;touch-action:none}.rhythm-pad.lit{background:var(--sun);transform:scale(.94)}.rhythm-pad:disabled{opacity:.85}.scene-stage{position:relative;width:min(100%,calc(110 * var(--dvh)),1200px);aspect-ratio:3 / 2;max-height:calc(58 * var(--dvh));border-radius:var(--r-lg);box-shadow:var(--shadow-md);overflow:hidden;touch-action:none}.scene-sticker{position:absolute;width:clamp(48px,10vmin,120px);aspect-ratio:1;transform:translate(-50%,-50%);touch-action:none;cursor:grab}.scene-sticker.lifted{opacity:.3}.scene-tray .drag-piece{width:clamp(64px,11vmin,130px)}.scene-mission{display:flex;flex-wrap:wrap;gap:8px;justify-content:center}.scene-mission .chip{font-size:clamp(.95rem,2.6vmin,1.6rem);padding:6px 14px}.find-note{font-size:.85rem;font-weight:700;color:var(--ink-soft);background:#fff;border-radius:var(--r-md);padding:6px 12px;text-align:center}.find-card{background:#fff;border-radius:var(--r-xl);padding:clamp(16px,4vmin,48px);box-shadow:var(--shadow-md)}.find-btn{font-size:clamp(1.4rem,4.6vmin,3rem);min-height:clamp(72px,13vmin,130px);padding:0 clamp(24px,5vmin,60px)}.sound-bubble{display:flex;align-items:center;gap:12px;background:var(--sun);border-radius:var(--r-pill);padding:8px 22px 8px 12px;box-shadow:0 5px #0000001f}.sound-bubble-text{font-family:var(--font-display);font-weight:700;font-size:clamp(1.3rem,4.4vmin,3rem)}.situation-card{background:#fff;border-radius:var(--r-xl);padding:clamp(10px,2.4vmin,28px);box-shadow:var(--shadow-md)}.coloring-stage{width:min(100%,calc(60 * var(--dvh)),820px);aspect-ratio:1;background:#fff;border-radius:var(--r-lg);border:4px solid var(--line);box-shadow:var(--shadow-md);overflow:hidden;display:flex;align-items:center;justify-content:center}@media(orientation:landscape)and (max-height:520px){.coloring-stage{width:min(100%,calc(70 * var(--dvh)))}}.coloring-canvas{width:100%;height:100%;cursor:crosshair;touch-action:none}.coloring-canvas.brush{cursor:cell}.palette{display:flex;flex-wrap:wrap;justify-content:center;gap:clamp(8px,1.6vmin,18px);max-width:min(100%,900px)}.swatch{width:clamp(48px,8vmin,84px);height:clamp(48px,8vmin,84px);border-radius:50%;border:4px solid;box-shadow:0 4px #0000001f;transition:transform .12s}.swatch.selected{transform:scale(1.18);outline:4px solid var(--ink);outline-offset:3px}.memory-grid{display:grid;grid-template-columns:repeat(var(--cols),minmax(0,1fr));gap:clamp(8px,1.6vmin,20px);width:min(100%,calc(var(--cols) * min(22vw,calc(64 * var(--dvh)) / (var(--cards) / var(--cols)))))}@media(max-aspect-ratio:3/4){.memory-grid{--cols: 3 !important;width:min(100%,calc(60 * var(--dvh)))}.memory-grid[data-many]{--cols: 4 !important;width:min(100%,calc(50 * var(--dvh)))}}.memory-card{aspect-ratio:1;border-radius:var(--r-md);position:relative;perspective:800px;min-height:64px}.memory-face{position:absolute;inset:0;border-radius:var(--r-md);display:flex;align-items:center;justify-content:center;font-size:clamp(2rem,8vmin,4.6rem);backface-visibility:hidden;-webkit-backface-visibility:hidden;transition:transform .4s cubic-bezier(.3,1.2,.4,1);box-shadow:0 5px #00000024}.memory-back{background:var(--back, var(--coral));color:#ffffffd9}.memory-front{background:#fff;transform:rotateY(180deg);border:4px solid var(--back, var(--coral))}.memory-front img{width:80%;height:80%;object-fit:contain}.memory-card.open .memory-back{transform:rotateY(180deg)}.memory-card.open .memory-front{transform:rotateY(0)}.memory-card.matched .memory-front{border-color:var(--leaf);animation:pop .4s ease}.spot-images{display:grid;gap:12px;width:min(100%,1300px);grid-template-columns:1fr}@media(orientation:landscape){.spot-images{grid-template-columns:1fr 1fr}}.spot-image{position:relative;border-radius:var(--r-md);overflow:hidden;border:4px solid #fff;box-shadow:var(--shadow-md);background:#fff}.spot-image img{width:100%;height:auto;max-height:calc(38 * var(--dvh));object-fit:contain}@media(orientation:landscape){.spot-image img{max-height:calc(66 * var(--dvh))}}.spot-clickable{cursor:pointer}.spot-mark{position:absolute;aspect-ratio:1;transform:translate(-50%,-50%);border-radius:50%;border:5px solid var(--leaf);box-shadow:0 0 0 4px #fff,0 0 18px #6bcb7799;pointer-events:none;animation:spot-pop .35s cubic-bezier(.2,.9,.3,1.3) both}.spot-hint{position:absolute;aspect-ratio:1;transform:translate(-50%,-50%);border-radius:50%;background:radial-gradient(rgba(255,210,63,.55),transparent 70%);pointer-events:none;animation:spot-glow 1.4s ease-in-out infinite}@keyframes spot-glow{0%,to{opacity:.2}50%{opacity:.9}}@keyframes spot-pop{0%{transform:translate(-50%,-50%) scale(.4);opacity:0}70%{transform:translate(-50%,-50%) scale(1.15)}to{transform:translate(-50%,-50%) scale(1);opacity:1}}.spot-ripple{position:absolute;width:40px;height:40px;transform:translate(-50%,-50%);border-radius:50%;pointer-events:none;animation:ripple .5s ease-out forwards}.spot-ripple.ok{border:4px solid var(--leaf)}.spot-ripple.no{border:4px solid var(--coral)}@keyframes ripple{0%{transform:translate(-50%,-50%) scale(.4);opacity:1}to{transform:translate(-50%,-50%) scale(2);opacity:0}}.spot-progress{display:flex;gap:6px;font-size:clamp(1.6rem,5vmin,3rem)}.spot-dot{width:1em;height:1em;opacity:.25;filter:grayscale(1);transition:opacity .3s,transform .3s,filter .3s}.spot-dot.on{opacity:1;filter:none;transform:scale(1.2)}.rhyme-emoji{font-size:clamp(4rem,16vmin,9rem);line-height:1}.rhyme-lines{display:flex;flex-direction:column;gap:8px;width:100%;max-width:900px}.rhyme-line{font-family:var(--font-display);font-size:clamp(1.4rem,5vmin,3rem);font-weight:600;text-align:center;padding:10px 16px;border-radius:var(--r-md);background:#ffffffbf;transition:transform .15s,background .15s;line-height:1.3}.rhyme-line.active{background:#fff;transform:scale(1.04);box-shadow:var(--shadow-md)}.puzzle-game{--board: min(88vw, calc(42 * var(--dvh)), 600px)}.puzzle-piece{width:calc(var(--board) / var(--grid) * .62);min-width:60px}@media(orientation:landscape){.puzzle-game{--board: min(44vw, calc(56 * var(--dvh)), 680px)}.puzzle-tray{max-width:calc(var(--board) * 1.05)}}.scene-stage{width:min(100%,calc(75 * var(--dvh)),1200px);max-height:none}.scene-tray .drag-piece{width:clamp(52px,8vmin,110px)}@media(orientation:landscape){.scene-game{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"mission mission" "stage tray" "actions actions";align-items:start;justify-items:center}.scene-mission{grid-area:mission}.scene-stage{grid-area:stage;width:min(100%,calc(54 * var(--dvh) * 1.5),1200px)}.scene-tray{grid-area:tray;display:grid;grid-template-columns:repeat(2,auto);max-height:calc(54 * var(--dvh));overflow-y:auto;width:auto;align-content:start;touch-action:pan-y}.scene-game>.row{grid-area:actions}}@media(orientation:landscape)and (max-height:900px){.coloring{display:grid;grid-template-columns:auto minmax(0,340px);align-items:center;justify-content:center;column-gap:3vmin}.coloring-stage{width:min(calc(68 * var(--dvh)),56vw);grid-row:1 / span 2}.coloring .palette,.coloring .game-toolbar{max-width:340px;grid-column:2}.coloring .palette{align-self:end}.coloring .game-toolbar{align-self:start}}@media(orientation:landscape){.sym-board{--cell: min(calc((60vw - 20px) / (var(--cols) * 2)), calc(46 * var(--dvh) / var(--rows)), 90px)}.basket{min-height:clamp(110px,24vmin,300px)}}.maze-stage{width:min(100%,calc(62 * var(--dvh) * var(--ratio)),1100px);background:#fff;border-radius:var(--r-lg);box-shadow:var(--shadow-md);padding:clamp(6px,1.2vmin,14px)}.maze-svg{display:block;width:100%;height:auto;max-height:calc(62 * var(--dvh));touch-action:none}.maze-floor{fill:#fff6dc}.maze-goal-cell{fill:#d9f7dd}.maze-trail{fill:none;stroke:var(--sun);stroke-width:34;stroke-linecap:round;stroke-linejoin:round;opacity:.85}.maze-wall{fill:none;stroke:#7a4722;stroke-width:12;stroke-linecap:round}.maze-border{fill:none;stroke:#7a4722;stroke-width:14}.maze-hero{filter:drop-shadow(0 5px 5px rgba(0,0,0,.25));transition:x .12s,y .12s}.dots-stage{width:min(100%,calc(62 * var(--dvh)),760px);aspect-ratio:108 / 111;background:#fff;border-radius:var(--r-lg);box-shadow:var(--shadow-md)}.dots-svg{display:block;width:100%;height:100%;touch-action:none}.dots-fill{opacity:0;transition:opacity .8s ease}.dots-fill.on{opacity:.55}.dots-line{fill:none;stroke:var(--ink);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.dots-reveal{animation:dots-reveal .7s ease both;transform-origin:50px 50px}@keyframes dots-reveal{0%{opacity:0;transform:scale(.4)}to{opacity:1;transform:scale(1)}}.dot .dot-core{fill:#fff;stroke:var(--ink);stroke-width:1.2}.dot.done .dot-core{fill:var(--ink)}.dot .dot-halo{fill:var(--sun);opacity:.55;animation:dot-pulse 1s ease-in-out infinite;transform-box:fill-box;transform-origin:center}.dot.wrong .dot-core{stroke:var(--coral);fill:#ffe1e1}.dot-num{font-family:var(--font-display);font-weight:700;font-size:5.4px;text-anchor:middle;fill:var(--ink-soft);pointer-events:none}.dot.guide .dot-num{fill:var(--ink);font-size:6.4px}@keyframes dot-pulse{0%,to{transform:scale(.8)}50%{transform:scale(1.15)}}.size-game{--size-max: clamp(64px, 15vmin, 170px)}.size-row{display:flex;align-items:flex-end;justify-content:center;gap:clamp(6px,1.6vmin,20px);width:100%}.size-slots{padding:10px;background:#fff9;border-radius:var(--r-lg)}.size-slot{width:calc(var(--size-max) + 8px);height:calc(var(--size-max) + 8px);border:4px dashed #e4dac3;border-radius:var(--r-md);display:flex;align-items:flex-end;justify-content:center;padding-bottom:4px}.size-slot.filled{border-style:solid;border-color:var(--leaf);background:#fff}.size-slot-num{align-self:center;font-family:var(--font-display);font-weight:700;color:var(--ink-mute);font-size:clamp(1rem,3vmin,2rem)}.size-tray{padding:clamp(8px,1.6vmin,20px);background:#ffffff8c;border-radius:var(--r-lg);min-height:calc(var(--size-max) + 30px)}.size-piece{width:calc(var(--size-max) + 14px);min-height:var(--tap-kid);display:flex;align-items:flex-end;justify-content:center;padding:6px;border-radius:var(--r-md);background:#fff;box-shadow:0 5px #0000001f}.size-piece.gone{visibility:hidden}@media(max-aspect-ratio:3/4){.size-game{--size-max: clamp(44px, 12.5vw, 130px)}.size-row{gap:6px}.size-slots,.size-tray{padding:8px 6px}}.pos-svg{width:100%;height:auto;max-height:calc(30 * var(--dvh));display:block}.pos-floor{fill:#efe3c6}.pos-table rect{fill:#c3864d;stroke:#7a4722;stroke-width:2}.pos-box rect,.pos-box path{fill:#e0b07a;stroke:#7a4722;stroke-width:2;stroke-linejoin:round}.pos-box-hole{fill:#7a4722}.add-stage{width:min(100%,900px);background:#ffffffb3;border-radius:var(--r-lg);padding:clamp(10px,2.4vmin,28px) clamp(10px,2vmin,24px) 0;overflow:hidden}.add-items{display:flex;flex-wrap:wrap;justify-content:center;gap:clamp(4px,1.2vmin,14px);min-height:clamp(64px,14vmin,150px)}.add-item{width:clamp(52px,11vmin,120px);aspect-ratio:1;display:grid;place-items:center}.add-item.waiting{visibility:hidden}.add-item.fly-in{animation:add-in .7s cubic-bezier(.2,.9,.3,1.2) both}.add-item.fly-out{animation:add-out .9s ease-in forwards}@keyframes add-in{0%{transform:translate(40vw,-30vh) rotate(-20deg) scale(.6);opacity:0}to{transform:none;opacity:1}}@keyframes add-out{to{transform:translate(40vw,-40vh) rotate(20deg) scale(.5);opacity:0}}.add-branch{height:clamp(10px,1.8vmin,18px);margin:6px -24px 0;background:sienna;border-radius:99px 99px 0 0}.add-answers{width:100%;opacity:.25;transition:opacity .3s}.add-answers.on{opacity:1}.add-group{display:flex;flex-wrap:wrap;justify-content:center;gap:2px;max-width:100%}.spot-svg{display:block;width:100%;height:auto;max-height:calc(38 * var(--dvh))}@media(orientation:landscape){.spot-svg{max-height:calc(66 * var(--dvh))}}.pairs-ask{display:flex;align-items:center;gap:clamp(8px,2vmin,24px);background:#ffffffb3;border-radius:var(--r-xl);padding:clamp(8px,2vmin,24px) clamp(16px,4vmin,48px)}.pairs-link{font-family:var(--font-display);font-weight:700;font-size:clamp(1.8rem,6vmin,4rem);color:var(--ink-mute)}.social-card{display:flex;align-items:center;gap:clamp(10px,2.4vmin,28px);max-width:min(100%,900px)}.social-text{font-family:var(--font-display);font-weight:600;font-size:clamp(1.1rem,3.6vmin,2.2rem);line-height:1.25;margin:0}.social-tip{display:flex;align-items:center;gap:14px;background:var(--sun-soft);border:3px solid var(--sun-line);border-radius:var(--r-lg);padding:clamp(10px,2vmin,22px) clamp(14px,3vmin,30px);max-width:min(100%,900px);font-weight:700;font-size:clamp(1rem,3vmin,1.8rem)}.syl-card{display:flex;flex-direction:column;align-items:center;gap:6px;background:#fff;border-radius:var(--r-xl);padding:clamp(10px,2.4vmin,28px) clamp(20px,5vmin,60px);box-shadow:var(--shadow-md)}.syl-word{font-family:var(--font-display);font-weight:700;font-size:clamp(1.5rem,5.4vmin,3.4rem);display:flex;gap:.35em;color:var(--ink)}.syl-part{opacity:.25;transition:opacity .2s,transform .2s}.syl-part.on{opacity:1;transform:scale(1.12);color:var(--coral)}.syl-dots{display:flex;gap:6px;min-height:clamp(34px,7vmin,70px)}.syl-dots span{width:clamp(34px,7vmin,70px);aspect-ratio:1;opacity:.15;transition:opacity .15s,transform .15s}.syl-dots span.on{opacity:1;transform:scale(1.08)}.syl-actions{justify-content:center;gap:clamp(12px,3vmin,36px);align-items:center}.syl-pad{width:clamp(110px,24vmin,240px);aspect-ratio:1;border-radius:50%;background:var(--sun);box-shadow:0 8px #00000024;display:grid;place-items:center;touch-action:manipulation;transition:transform .08s}.syl-pad:active{transform:translateY(6px) scale(.97);box-shadow:0 2px #00000024}.sink-tank{position:relative;width:min(100%,calc(50 * var(--dvh)),520px);aspect-ratio:4 / 3;border-radius:0 0 var(--r-lg) var(--r-lg);border:6px solid #cfe3ef;border-top:0;background:linear-gradient(#ffffff 0 38%,transparent 38%);overflow:hidden}.sink-water{position:absolute;left:0;right:0;bottom:0;height:62%;background:linear-gradient(#7cc8ff,#3a8ee6);opacity:.85}.sink-item{position:absolute;left:50%;top:4%;width:26%;aspect-ratio:1;margin-left:-13%;z-index:2;transition:top 1.1s cubic-bezier(.3,.1,.4,1)}.sink-item.floats{top:26%;animation:bob 1.6s ease-in-out 1.1s infinite}.sink-item.sinks{top:72%;z-index:0}@keyframes bob{0%,to{margin-top:0}50%{margin-top:-6px}}.sink-choices{justify-content:center;gap:clamp(12px,3vmin,40px);width:100%}.sink-btn{min-width:clamp(130px,26vmin,260px)}.mix-row{display:flex;align-items:center;justify-content:center;gap:clamp(6px,1.6vmin,20px);flex-wrap:wrap}.mix-op{font-family:var(--font-display);font-weight:700;font-size:clamp(1.8rem,6vmin,4rem);color:var(--ink-soft)}.paint-blob{display:inline-block;border-radius:46% 54% 50% 50%/55% 48% 52% 45%;border:4px solid rgba(0,0,0,.12);box-shadow:inset -8px -10px #00000014}.mix-bowl{width:clamp(72px,17vmin,170px);aspect-ratio:1;border-radius:50%;border:5px dashed var(--line);display:grid;place-items:center;font-family:var(--font-display);font-size:clamp(2rem,7vmin,4.5rem);color:var(--ink-mute);background:#fff;overflow:hidden}.mix-bowl.on{border-style:solid;animation:pop .5s ease}.mix-btn{font-size:clamp(1.2rem,4vmin,2.2rem);padding:0 clamp(22px,5vmin,56px)}.code-layout{display:flex;flex-direction:column;align-items:center;gap:clamp(10px,2vmin,24px);width:100%}.code-controls{display:flex;flex-direction:column;align-items:center;gap:clamp(8px,1.6vmin,18px)}@media(orientation:landscape){.code-layout{flex-direction:row;justify-content:center;align-items:center}.code-controls .code-program{max-width:calc(3*clamp(72px,13vmin,120px) + 16px)}}.code-board{position:relative;display:grid;grid-template-columns:repeat(var(--cols),1fr);grid-template-rows:repeat(var(--rows),1fr);width:min(100%,calc(40 * var(--dvh) * var(--cols) / var(--rows)),720px);aspect-ratio:var(--cols) / var(--rows);background:#fff;border-radius:var(--r-lg);box-shadow:var(--shadow-md);overflow:hidden}.code-cell{border:2px solid #efe6d3;display:grid;place-items:center}.code-cell.goal{background:#fff3c4}.code-hero{position:absolute;left:0;top:0;display:grid;place-items:center;transition:transform .35s ease;pointer-events:none;filter:drop-shadow(0 4px 4px rgba(0,0,0,.2))}.code-program{display:flex;flex-wrap:wrap;justify-content:center;gap:6px;max-width:min(100%,720px)}.code-slot{width:clamp(40px,7vmin,64px);aspect-ratio:1;border-radius:12px;border:3px dashed #e4dac3;background:#fff9;display:grid;place-items:center}.code-slot.on{border-style:solid;border-color:var(--sky);background:#fff}.code-pad{display:grid;grid-template-columns:repeat(3,clamp(72px,13vmin,120px));grid-template-areas:". up run" "left down right" ". . undo";gap:8px}.code-arrow{aspect-ratio:1;border-radius:var(--r-md);background:#fff;box-shadow:0 6px #0000001f;display:grid;place-items:center}.code-arrow:active{transform:translateY(4px);box-shadow:0 2px #0000001f}.code-up{grid-area:up}.code-down{grid-area:down}.code-left{grid-area:left}.code-right{grid-area:right}.code-run{grid-area:run;background:var(--leaf)}.code-undo{grid-area:undo;background:#f3eee2}@media(orientation:landscape){.code-board{width:min(56vw,calc(64 * var(--dvh) * var(--cols) / var(--rows)),820px)}.code-pad{grid-template-columns:repeat(3,clamp(72px,12vmin,120px))}.code-slot{width:clamp(36px,6vmin,60px)}}.story-page{display:flex;flex-direction:column;align-items:center;gap:clamp(8px,2vmin,20px);background:#fff;border-radius:var(--r-xl);padding:clamp(14px,3vmin,36px);box-shadow:var(--shadow-md);width:min(100%,900px);text-align:center}.story-text{font-family:var(--font-display);font-weight:600;font-size:clamp(1.15rem,3.8vmin,2.4rem);line-height:1.3;margin:0}.story-nav{justify-content:center;gap:clamp(12px,3vmin,36px)}.dress-stage{position:relative;display:flex;align-items:center;justify-content:center;gap:clamp(10px,3vmin,40px);width:min(100%,820px);min-height:clamp(180px,36vmin,380px);border-radius:var(--r-xl);border:4px dashed rgba(0,0,0,.08);padding:10px}.dress-weather{position:absolute;top:10px;left:14px}.dress-worn{display:grid;grid-template-columns:repeat(2,auto);gap:6px}.dress-empty{width:clamp(40px,9vmin,90px);aspect-ratio:1;border-radius:12px;border:3px dashed rgba(0,0,0,.15)}.balloon-count{display:flex;flex-wrap:wrap;gap:5px;justify-content:center}.balloon-count span{width:clamp(10px,1.8vmin,18px);height:clamp(10px,1.8vmin,18px);border-radius:50%;background:#e7dcc3}.balloon-count span.on{background:var(--leaf)}.balloon-stage{position:relative;width:min(100%,1100px);height:calc(58 * var(--dvh));border-radius:var(--r-lg);background:linear-gradient(#bfe6ff,#eef8ff);overflow:hidden;touch-action:manipulation}.balloon{position:absolute;bottom:0;width:clamp(72px,13vmin,130px);height:clamp(90px,16vmin,160px);margin-left:calc(clamp(72px,13vmin,130px)/-2);padding:0;background:none;animation-name:rise;animation-timing-function:linear;animation-fill-mode:forwards}.balloon-body{position:absolute;inset:0 0 18%;border-radius:50% 50% 48% 48%/55% 55% 45% 45%;background:radial-gradient(circle at 32% 28%,rgba(255,255,255,.55) 0 12%,transparent 13%),var(--c);box-shadow:inset -6px -8px #0000001f}.balloon-body:after{content:"";position:absolute;left:50%;top:100%;width:2px;height:26%;background:#0000004d}@keyframes rise{0%{transform:translateY(100%)}to{transform:translateY(calc(-58 * var(--dvh) - 100%))}}.balloon-burst{position:absolute;width:clamp(60px,11vmin,110px);aspect-ratio:1;transform:translate(-50%,-50%);pointer-events:none;animation:burst .55s ease-out forwards}@keyframes burst{0%{opacity:1;scale:.6}to{opacity:0;scale:1.4}}.melody-pads{display:grid;grid-template-columns:repeat(var(--n),minmax(0,1fr));gap:clamp(10px,2.4vmin,30px);width:min(100%,calc(var(--n) * clamp(100px,22vmin,240px)))}.melody-pad{aspect-ratio:1;border-radius:50%;background:var(--c);opacity:.75;box-shadow:0 8px #00000029;display:grid;place-items:center;touch-action:none;transition:transform .08s,opacity .12s,filter .12s}.melody-pad.lit{opacity:1;transform:scale(.94);filter:brightness(1.2)}.melody-pad:disabled{cursor:default}.silly-stage{position:relative;width:min(100%,calc(62 * var(--dvh) * 4 / 3),1000px);border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--shadow-md);border:4px solid #fff}.silly-svg{display:block;width:100%;height:auto}.silly-mark{fill:none;stroke:var(--leaf);stroke-width:6;animation:spot-pop .35s ease both}@media(max-aspect-ratio:3/4){.code-pad{grid-template-columns:repeat(3,clamp(72px,22vw,110px))}.syl-pad{width:clamp(110px,34vw,200px)}.melody-pads{width:100%}.social-card{flex-direction:column;text-align:center}.balloon-stage{height:calc(56 * var(--dvh))}}@media(orientation:landscape)and (max-height:500px){.game{gap:6px}.game-prompt{padding:2px 12px}.game-prompt-text{font-size:1rem}.game-prompt-say{width:40px;height:40px}.game-start-tile{width:min(46vmin,220px)}.find-card,.move-card{padding:8px 16px}.find-card .emoji,.move-card .emoji{width:22vmin!important;height:22vmin!important}.find-note{font-size:.72rem;padding:2px 10px}.move-text{font-size:1.2rem}.trace-svg{max-height:calc(58 * var(--dvh))}.sym-board{--cell: min(calc(40 * var(--dvh) / var(--rows)), 60px)}.coloring-stage{width:min(calc(74 * var(--dvh)),50vw)}.swatch{width:40px;height:40px}.scene-stage{width:min(100%,calc(62 * var(--dvh) * 1.5))}.scene-tray{max-height:calc(62 * var(--dvh))}.basket{min-height:96px}}@media(orientation:landscape)and (max-height:500px){.drag-piece{width:66px}.drop-slot{width:72px}.piece-tray{padding:4px;gap:6px}.basket-head{font-size:.95rem}.scene-mission .chip{font-size:.85rem;padding:2px 10px}.scene-stage{width:min(100%,calc(56 * var(--dvh) * 1.5))}}@media(max-aspect-ratio:3/4){.choice-grid{grid-template-columns:repeat(var(--cols, 3),minmax(0,1fr))}.choice-grid[data-n="4"]{grid-template-columns:repeat(2,minmax(0,1fr))}.count-field{aspect-ratio:3 / 4;width:min(100%,calc(52 * var(--dvh) * .75));max-height:none}}.count-item{width:clamp(56px,12vmin,140px)}.seq-slots{width:min(100%,calc(var(--n) * clamp(90px,18vmin,210px)));grid-template-columns:repeat(var(--n),minmax(0,1fr))}.seq-slot{aspect-ratio:5 / 6}@media(max-aspect-ratio:3/4)and (min-width:600px){.seq-slots{grid-template-columns:repeat(var(--n),minmax(0,1fr))}}@media(max-width:599px){.seq-slots{grid-template-columns:repeat(min(var(--n),3),minmax(0,1fr))}}@media(max-aspect-ratio:3/4){.game{gap:clamp(12px,3.5vw,22px)}.game-prompt{padding:6px 16px}.game-prompt-text{font-size:clamp(1.1rem,5vw,1.6rem)}.choice-grid{width:100%}.choice-card{min-height:clamp(110px,30vw,240px)}.drag-piece{width:clamp(72px,19vw,180px)}.drop-slot{width:clamp(84px,26vw,200px)}.basket{min-height:clamp(150px,42vw,320px);max-width:none}.missing-items{display:grid;grid-template-columns:repeat(min(var(--n),3),minmax(0,1fr));width:100%}.missing-cell{width:100%;max-width:170px;justify-self:center}.pattern-cell{width:clamp(40px,12vw,110px)}.seq-card{width:clamp(80px,26vw,170px)}.rhythm-pads{width:100%}.game-start-tile{width:clamp(200px,64vw,420px)}.palette{gap:6px;flex-wrap:nowrap}.swatch{width:clamp(32px,10vw,48px);height:clamp(32px,10vw,48px);border-width:3px}.swatch.selected{transform:scale(1.15);outline-width:3px;outline-offset:2px}.coloring .game-toolbar{gap:10px;flex-wrap:nowrap}.coloring .game-toolbar .btn-kid{min-height:60px;min-width:60px;padding:0 12px}.coloring-stage{width:min(100%,calc(56 * var(--dvh)))}}@media(max-width:599px){.tool-extra{display:none!important}}@media(max-aspect-ratio:3/4){.choice-card{min-height:clamp(130px,38vw,260px)}.choice-card>.emoji,.choice-card>img{width:min(24vw,150px)!important;height:min(24vw,150px)!important}.choice-caption{font-size:clamp(1.05rem,4.6vw,1.6rem)}}@media(max-aspect-ratio:3/4){.count-item{width:clamp(64px,21vw,140px)}}@font-face{font-family:"Baloo 2";font-style:normal;font-display:swap;font-weight:500;src:url(/assets/baloo-2-latin-ext-500-normal-Ba7mhTsk.woff2) format("woff2"),url(/assets/baloo-2-latin-ext-500-normal-D1XZow3C.woff) format("woff")}@font-face{font-family:"Baloo 2";font-style:normal;font-display:swap;font-weight:600;src:url(/assets/baloo-2-latin-ext-600-normal-DiVeaYrH.woff2) format("woff2"),url(/assets/baloo-2-latin-ext-600-normal-CFaB2nBN.woff) format("woff")}@font-face{font-family:"Baloo 2";font-style:normal;font-display:swap;font-weight:700;src:url(/assets/baloo-2-latin-ext-700-normal-Mlh7kdab.woff2) format("woff2"),url(/assets/baloo-2-latin-ext-700-normal-D6LeXASg.woff) format("woff")}@font-face{font-family:"Baloo 2";font-style:normal;font-display:swap;font-weight:800;src:url(/assets/baloo-2-latin-ext-800-normal-C_Iwmf1s.woff2) format("woff2"),url(/assets/baloo-2-latin-ext-800-normal-D-iCxxqE.woff) format("woff")}@font-face{font-family:"Baloo 2";font-style:normal;font-display:swap;font-weight:500;src:url(/assets/baloo-2-latin-500-normal-CmLZ27r7.woff2) format("woff2"),url(/assets/baloo-2-latin-500-normal-BSdEhq8m.woff) format("woff")}@font-face{font-family:"Baloo 2";font-style:normal;font-display:swap;font-weight:600;src:url(/assets/baloo-2-latin-600-normal-tIfxVoAe.woff2) format("woff2"),url(/assets/baloo-2-latin-600-normal-B4tNaogw.woff) format("woff")}@font-face{font-family:"Baloo 2";font-style:normal;font-display:swap;font-weight:700;src:url(/assets/baloo-2-latin-700-normal-CqTg7A15.woff2) format("woff2"),url(/assets/baloo-2-latin-700-normal-Ld3Zm3l2.woff) format("woff")}@font-face{font-family:"Baloo 2";font-style:normal;font-display:swap;font-weight:800;src:url(/assets/baloo-2-latin-800-normal-BbF3Etk1.woff2) format("woff2"),url(/assets/baloo-2-latin-800-normal-B8BXfZF7.woff) format("woff")}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/nunito-latin-ext-400-normal-i-8OOpdj.woff2) format("woff2"),url(/assets/nunito-latin-ext-400-normal-CjMJVfGn.woff) format("woff")}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/nunito-latin-ext-600-normal-Dd9Zuxh1.woff2) format("woff2"),url(/assets/nunito-latin-ext-600-normal-BKUpuB78.woff) format("woff")}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/nunito-latin-ext-700-normal-BWeMsAzO.woff2) format("woff2"),url(/assets/nunito-latin-ext-700-normal-D4woHhbd.woff) format("woff")}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/nunito-latin-ext-800-normal-CtU8tJOV.woff2) format("woff2"),url(/assets/nunito-latin-ext-800-normal-CDcxIxx8.woff) format("woff")}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/nunito-latin-400-normal-r8SDr6Up.woff2) format("woff2"),url(/assets/nunito-latin-400-normal-DKg4f3fz.woff) format("woff")}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/nunito-latin-600-normal-Br8yIETf.woff2) format("woff2"),url(/assets/nunito-latin-600-normal-Cd0eNu1l.woff) format("woff")}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/nunito-latin-700-normal-Dort48En.woff2) format("woff2"),url(/assets/nunito-latin-700-normal-OcDqTBcA.woff) format("woff")}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/nunito-latin-800-normal-Dz8SOQK_.woff2) format("woff2"),url(/assets/nunito-latin-800-normal-D-J0wlBY.woff) format("woff")}:root{--sun: #ffd23f;--coral: #ff6b6b;--mint: #4ecdc4;--sky: #4d96ff;--grape: #9b5de5;--leaf: #6bcb77;--peach: #ffb4a2;--pink: #ff9aa2;--coral-soft: #ffecec;--coral-tint: #ffdcdc;--coral-line: #ffc4c4;--sun-soft: #fff6cf;--sun-tint: #ffeaa0;--sun-line: #ffe58a;--mint-soft: #e6f9f7;--mint-tint: #d8f5f2;--mint-line: #b7ece7;--sky-soft: #e9f1ff;--sky-tint: #dbe8ff;--sky-line: #bfd6ff;--grape-soft: #f3ebff;--grape-tint: #ead9ff;--grape-line: #dcc7ff;--leaf-soft: #e8f8eb;--leaf-tint: #d9f3dd;--leaf-line: #bfe8c6;--pink-soft: #ffecef;--pink-tint: #ffd4dc;--pink-line: #ffb8c4;--primary-soft: #fff0f0;--bg-calm: #fbf7ef;--bg-kid: #fff3c4;--cream: #fff8e7;--paper: #ffffff;--ink: #2d3142;--ink-soft: #5c6178;--ink-mute: #9a9fb5;--line: #efe6d3;--bg: var(--cream);--surface: var(--paper);--text: var(--ink);--text-soft: var(--ink-soft);--primary: var(--coral);--primary-ink: #ffffff;--accent: var(--sky);--success: var(--leaf);--warning: var(--sun);--danger: #e5484d;--r-sm: 12px;--r-md: 18px;--r-lg: 28px;--r-xl: 40px;--r-pill: 999px;--shadow-sm: 0 2px 0 rgba(45, 49, 66, .08);--shadow-md: 0 6px 0 rgba(45, 49, 66, .1);--shadow-lg: 0 14px 30px rgba(45, 49, 66, .12);--font-display: "Baloo 2", "Nunito", system-ui, sans-serif;--font-body: "Nunito", system-ui, -apple-system, sans-serif;--tap: 48px;--tap-kid: 72px;--dvh: 1vh;--safe-top: env(safe-area-inset-top, 0px);--safe-bottom: env(safe-area-inset-bottom, 0px)}[data-mode=calm]{--bg: var(--bg-calm);--surface: #ffffff}[data-mode=kid]{--bg: var(--bg-kid)}@supports (height: 1dvh){:root{--dvh: 1dvh}}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent;overflow-x:clip}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font-body);font-size:16px;line-height:1.5;min-height:100dvh;overscroll-behavior-y:none}#root{min-height:100dvh;display:flex;flex-direction:column}h1,h2,h3,h4{font-family:var(--font-display);font-weight:600;line-height:1.15;margin:0 0 .4em;letter-spacing:-.01em}h1{font-size:clamp(1.9rem,5vw,2.8rem)}h2{font-size:clamp(1.5rem,4vw,2.1rem)}h3{font-size:1.25rem}p{margin:0 0 1em}a{color:var(--accent);text-decoration:none}img{max-width:100%;display:block}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer;border:0;background:none;padding:0}input,select,textarea{outline-offset:2px}::selection{background:var(--sun);color:var(--ink)}.container{width:100%;max-width:1080px;margin:0 auto;padding:0 16px}.container-narrow{max-width:560px}.stack>*+*{margin-top:var(--gap, 16px)}.row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.row-between{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.grid{display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(min(100%,var(--col, 240px)),1fr))}.center{text-align:center}.muted{color:var(--text-soft)}.small{font-size:.875rem}.tiny{font-size:.78rem}.bold{font-weight:800}.display{font-family:var(--font-display)}.mt-0{margin-top:0!important}.mb-0{margin-bottom:0!important}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.card{background:var(--surface);border-radius:var(--r-lg);padding:20px;box-shadow:var(--shadow-sm);border:2px solid var(--line)}.card-pad-sm{padding:14px 16px}.card-tint-sun{background:var(--sun-soft);border-color:var(--sun-line)}.card-tint-mint{background:var(--mint-soft);border-color:var(--mint-line)}.card-tint-sky{background:var(--sky-soft);border-color:var(--sky-line)}.card-tint-coral{background:var(--coral-soft);border-color:var(--coral-line)}.card-tint-grape{background:var(--grape-soft);border-color:var(--grape-line)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:var(--tap);padding:0 22px;border-radius:var(--r-pill);font-family:var(--font-display);font-weight:600;font-size:1.05rem;background:var(--primary);color:var(--primary-ink);box-shadow:0 4px #00000024;transition:transform .08s ease,box-shadow .08s ease,filter .15s ease;-webkit-user-select:none;user-select:none;text-decoration:none;white-space:nowrap;max-width:100%;touch-action:manipulation}.btn:hover{filter:brightness(1.05)}.btn:active{transform:translateY(3px);box-shadow:0 1px #00000024}.btn:disabled{opacity:.55;cursor:not-allowed;transform:none}.btn-lg{min-height:60px;font-size:1.25rem;padding:0 30px}.btn-sm{min-height:38px;font-size:.92rem;padding:0 16px}.btn-block{width:100%;white-space:normal;text-align:center;line-height:1.25;padding-block:8px}.btn-sky{background:var(--sky)}.btn-mint{background:var(--mint);color:var(--ink)}.btn-sun{background:var(--sun);color:var(--ink)}.btn-grape{background:var(--grape)}.btn-leaf{background:var(--leaf);color:var(--ink)}.btn-ghost{background:transparent;color:var(--text);box-shadow:none;border:2px solid var(--line)}.btn-ghost:active{transform:none}.btn-ghost-danger{background:transparent;color:var(--danger);box-shadow:none;border:2px solid #ffd0d0}.btn-soft{background:#fff;color:var(--text);box-shadow:var(--shadow-sm);border:2px solid var(--line)}.btn-icon{width:var(--tap);padding:0;border-radius:50%}.btn-kid{min-height:var(--tap-kid);font-size:1.5rem;padding:0 34px;border-radius:var(--r-xl);box-shadow:0 7px #00000029}.btn-kid:active{transform:translateY(5px);box-shadow:0 2px #00000029}.field{display:flex;flex-direction:column;gap:6px}.field label{font-weight:700;font-size:.92rem}.input,.select,.textarea{width:100%;min-height:var(--tap);padding:10px 14px;border-radius:var(--r-md);border:2px solid var(--line);background:#fff;transition:border-color .15s}.input:focus,.select:focus,.textarea:focus{border-color:var(--sky);outline:none}.textarea{min-height:110px;resize:vertical}.field-error{color:var(--danger);font-size:.85rem;font-weight:700}.checkbox{display:flex;align-items:center;gap:10px;min-height:var(--tap);font-weight:700;cursor:pointer}.checkbox input{width:22px;height:22px;accent-color:var(--coral)}.chip{display:inline-flex;align-items:center;gap:6px;padding:4px 12px;border-radius:var(--r-pill);background:var(--sun-soft);color:var(--ink);font-weight:800;font-size:.8rem;line-height:1.4}.chip-mint{background:var(--mint-tint)}.chip-sky{background:var(--sky-tint)}.chip-coral{background:var(--coral-tint)}.chip-grape{background:var(--grape-tint)}.chip-leaf{background:var(--leaf-tint)}.chip-gray{background:#ecebe6;color:var(--ink-soft)}.alert{padding:14px 16px;border-radius:var(--r-md);font-weight:700}.alert-danger{background:#ffe1e1;color:#a1262a}.alert-info{background:#e3edff;color:#1e4fa3}.alert-success{background:#dff5e3;color:#1f6b2f}.alert-warn{background:#fff1c2;color:#7a5a00}.toast-host{position:fixed;left:50%;bottom:calc(24px + var(--safe-bottom));transform:translate(-50%);display:flex;flex-direction:column;gap:8px;z-index:100;width:min(92vw,420px);pointer-events:none}.toast{background:var(--ink);color:#fff;padding:12px 18px;border-radius:var(--r-md);font-weight:700;box-shadow:var(--shadow-lg);animation:toast-in .25s ease}.toast-error{background:var(--danger)}.toast-success{background:#2c9f4a}@keyframes toast-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}.modal-backdrop{position:fixed;inset:0;background:#2d314273;display:flex;align-items:flex-end;justify-content:center;z-index:90;padding:0}@media(min-width:640px){.modal-backdrop{align-items:center;padding:20px}}.modal{background:var(--surface);width:100%;max-width:520px;max-height:92dvh;overflow:auto;border-radius:var(--r-lg) var(--r-lg) 0 0;padding:22px 20px calc(22px + var(--safe-bottom));animation:modal-in .22s ease}@media(min-width:640px){.modal{border-radius:var(--r-lg)}}@keyframes modal-in{0%{transform:translateY(24px);opacity:0}to{transform:none;opacity:1}}.spinner{width:44px;height:44px;border-radius:50%;border:5px solid var(--sun-line);border-top-color:var(--coral);animation:spin .8s linear infinite;margin:40px auto}@keyframes spin{to{transform:rotate(360deg)}}.skeleton{background:linear-gradient(90deg,#f1ebdd 25%,#faf5ea,#f1ebdd 75%);background-size:200% 100%;animation:shimmer 1.2s infinite;border-radius:var(--r-md)}@keyframes shimmer{to{background-position:-200% 0}}@keyframes pop{0%{transform:scale(.6);opacity:0}70%{transform:scale(1.08)}to{transform:scale(1);opacity:1}}@keyframes wiggle{0%,to{transform:rotate(-3deg)}50%{transform:rotate(3deg)}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}@keyframes bounce{0%,to{transform:translateY(0)}40%{transform:translateY(-14px)}}.anim-pop{animation:pop .35s cubic-bezier(.2,.9,.3,1.3) both}.anim-float{animation:float 3s ease-in-out infinite}.anim-wiggle{animation:wiggle 1.2s ease-in-out infinite}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;transition-duration:.001ms!important}}.table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}.table{width:100%;border-collapse:collapse;font-size:.93rem}.table th,.table td{text-align:left;padding:10px 12px;border-bottom:1px solid var(--line);vertical-align:middle}.table th{font-size:.78rem;text-transform:uppercase;letter-spacing:.04em;color:var(--text-soft)}@media print{body{background:#fff}.no-print{display:none!important}.print-only{display:block!important}}.print-only{display:none}.card-tint-leaf{background:var(--leaf-soft);border-color:var(--leaf-line)}.offline-tips ul{margin:8px 0 0;padding-left:0;list-style:none;display:flex;flex-direction:column;gap:8px}.offline-tips li{display:flex;gap:8px;align-items:flex-start}.danger-zone{border-color:#ffd0d0}.week-card{display:flex;flex-direction:column;gap:10px}.week-stats{display:flex;gap:24px}.week-stats div{display:flex;flex-direction:column}.week-stats strong{font-family:var(--font-display);font-size:2rem;line-height:1}.week-stats span{font-size:.85rem;color:var(--text-soft);font-weight:700}.period-tabs{display:inline-flex;flex-wrap:wrap;gap:4px;background:#fff;border:2px solid var(--line);border-radius:var(--r-pill);padding:4px}.period-tabs button{padding:8px 16px;border-radius:var(--r-pill);font-weight:800;font-size:.95rem;min-height:40px}.period-tabs button.on{background:var(--sun);box-shadow:var(--shadow-sm)}.role-pick{display:grid;grid-template-columns:1fr 1fr;gap:12px}.role-card{display:flex;flex-direction:column;align-items:center;gap:6px;padding:20px 10px;border-radius:var(--r-lg);border:3px solid var(--line);background:#fff;text-align:center}.role-card:hover,.role-card:focus-visible{border-color:var(--coral)}.role-card strong{font-family:var(--font-display);font-size:1.3rem}.class-code{font-family:var(--font-display);font-weight:800;font-size:clamp(2rem,9vw,3.4rem);letter-spacing:.08em;color:var(--grape);line-height:1.1;-webkit-user-select:all;user-select:all}.class-code.off{color:var(--ink-mute);text-decoration:line-through}.class-code-sm{font-family:var(--font-display);font-weight:700;letter-spacing:.06em;color:var(--grape);font-size:1.05rem}.class-code-card{background:linear-gradient(135deg,#f3ebff,#fff)}.class-card{display:flex;flex-direction:column;gap:6px;color:var(--text)}.seat-bar{height:14px;border-radius:99px;background:var(--line);overflow:hidden}.seat-bar span{display:block;height:100%;background:var(--leaf);border-radius:99px;transition:width .3s}.seat-bar span.full{background:var(--coral)}.order-row{padding:8px 0;border-bottom:1px solid var(--line);gap:8px}.order-row:last-child{border-bottom:0}.test-pay{max-width:480px;margin:0 auto}.test-banner{background:repeating-linear-gradient(45deg,#ffe58a 0 14px,#ffd23f 14px 28px);color:var(--ink);font-weight:900;text-align:center;padding:8px;border-radius:var(--r-md)}.test-amount{font-family:var(--font-display);font-size:1.8rem}.test-card{background:linear-gradient(135deg,#4d96ff,#9b5de5);color:#fff;border-radius:16px;padding:22px 18px;font-family:var(--font-display);font-size:1.3rem;letter-spacing:.08em;box-shadow:var(--shadow-md)}.offer-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;text-align:center}.offer-grid div{background:var(--sun-soft);border-radius:var(--r-md);padding:12px 6px;display:flex;flex-direction:column}.offer-grid strong{font-family:var(--font-display);font-size:clamp(1.1rem,4vw,1.6rem)}.offer-grid span{font-size:.8rem;color:var(--ink-soft);font-weight:700}.price-table input.input{min-width:90px;min-height:40px;padding:6px 10px}.kid-section-title{font-family:var(--font-display);font-size:clamp(1.4rem,5vw,2.2rem);margin:30px 0 8px;text-align:center}.kid-teacher{width:100%;display:flex;flex-direction:column;align-items:center}.price-old{font-size:.55em;color:var(--ink-mute);text-decoration:line-through;margin-right:8px;font-weight:700}.discount-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px}.audit-list{display:flex;flex-direction:column;gap:8px}.audit-item.is-flag{border-color:#f3c1b8}.audit-head{width:100%;display:flex;justify-content:space-between;align-items:flex-start;gap:10px;text-align:left}.audit-main{min-width:0;overflow-wrap:anywhere}.audit-detail{margin-top:10px;padding-top:10px;border-top:1px dashed var(--line)}.audit-kv{margin:0;display:grid;gap:4px}.audit-kv>div{display:grid;grid-template-columns:minmax(90px,30%) 1fr;gap:8px;font-size:.9rem}.audit-kv dt{color:var(--ink-soft);font-weight:700;overflow-wrap:anywhere}.audit-kv dd{margin:0;overflow-wrap:anywhere}.audit-tech{overflow-wrap:anywhere;line-height:1.5}.temp-password{font-family:ui-monospace,Consolas,monospace;font-size:1.4rem;letter-spacing:.06em;-webkit-user-select:all;user-select:all;background:#fff6dc;padding:10px 14px;border-radius:var(--r-md);text-align:center}.otp-input{font-size:1.8rem;letter-spacing:.4em;text-align:center;font-variant-numeric:tabular-nums}.mfa-qr{display:grid;place-items:center;background:#fff;border-radius:var(--r-md);padding:10px}.mfa-qr img{width:min(220px,70vw);height:auto;image-rendering:pixelated}.mfa-secret{font-family:ui-monospace,Consolas,monospace;overflow-wrap:anywhere;-webkit-user-select:all;user-select:all}.mfa-steps{margin:0;padding-left:1.2em;display:grid;gap:6px}.recovery-codes{display:grid;grid-template-columns:repeat(2,1fr);gap:6px}.recovery-codes code{font-family:ui-monospace,Consolas,monospace;font-size:1.05rem;background:#fff6dc;padding:8px;border-radius:var(--r-sm, 8px);text-align:center;-webkit-user-select:all;user-select:all}.crash-screen{min-height:70dvh;display:grid;place-content:center;justify-items:center;gap:10px;text-align:center;padding:24px}.error-event{padding:8px 0;border-bottom:1px dashed var(--line);overflow-wrap:anywhere}.error-event:last-child{border-bottom:0}.error-stack{font-family:ui-monospace,Consolas,monospace;font-size:.78rem;white-space:pre-wrap;overflow-wrap:anywhere;background:#f6f3ee;padding:10px;border-radius:10px;max-height:320px;overflow:auto}.live-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:10px}.live-stat{display:flex;flex-direction:column;align-items:center;text-align:center}.live-stat strong{font-family:var(--font-display);font-size:2rem;line-height:1.1}.live-stat.is-big strong{font-size:2.8rem;color:var(--coral)}.live-stat span{font-size:.85rem;color:var(--ink-soft);font-weight:700}.live-stats-sm .live-stat strong{font-size:1.4rem}.live-bar{display:grid;grid-template-columns:minmax(120px,40%) 1fr auto;gap:10px;align-items:center;font-size:.92rem}.live-bar-track{height:10px;background:var(--line);border-radius:99px;overflow:hidden}.live-bar-track span{display:block;height:100%;background:var(--sky, #4d96ff);border-radius:99px;transition:width .4s}.live-person{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap}.live-where{text-align:right}.plan-grid{display:grid;gap:8px;grid-template-columns:repeat(auto-fill,minmax(104px,1fr))}.plan-tile{display:flex;flex-direction:column;align-items:flex-start;gap:4px;min-height:84px;padding:8px 10px;border-radius:16px;border:2px solid var(--line);background:#fff;text-align:left}.plan-tile.is-ok{border-color:var(--mint-line);background:var(--mint-soft)}.plan-tile.is-warn{border-color:var(--coral-line);background:var(--coral-soft)}.plan-tile.is-empty{border-style:dashed;background:transparent}.plan-day{font-weight:800;font-size:.85rem}.plan-empty{color:var(--ink-mute);font-weight:700;font-size:.85rem}.plan-emojis{display:flex;flex-wrap:wrap;gap:2px}.plan-warn{font-size:.7rem;color:#c43c3c;font-weight:700;line-height:1.2}.legend-dot{display:inline-block;width:12px;height:12px;border-radius:4px;border:2px solid var(--line);vertical-align:-1px;margin-right:4px}.legend-dot.is-ok{border-color:var(--mint-line);background:var(--mint-soft)}.legend-dot.is-warn{border-color:var(--coral-line);background:var(--coral-soft)}.legend-dot.is-empty{border-style:dashed}.input-num{width:5.5em;display:inline-block}.fill-preview{max-height:45dvh;overflow:auto;display:flex;flex-direction:column;gap:6px}.fill-row{display:flex;gap:8px;align-items:flex-start;font-size:.9rem}.fill-row b{min-width:4.5em}.fill-row .chip{margin:0 4px 4px 0;font-size:.78rem}.tint-coral{background:var(--coral-soft)}.tint-sky{background:var(--sky-soft)}.tint-sun{background:var(--sun-soft)}.tint-grape{background:var(--grape-soft)}.tint-mint{background:var(--mint-soft)}.tint-leaf{background:var(--leaf-soft)}.tint-pink{background:var(--pink-soft)}.linklike{background:none;border:0;padding:0;color:var(--accent);font:inherit;font-weight:700;cursor:pointer;text-decoration:underline;text-underline-offset:3px}.linklike:disabled{opacity:.6;cursor:default}@media(display-mode:standalone){html,body{overscroll-behavior:none}body{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}input,textarea,select,[contenteditable],.temp-password,.recovery-codes code,.error-stack{-webkit-user-select:text;user-select:text;-webkit-touch-callout:default}a,button,img{-webkit-touch-callout:none}}.badge-shelf{display:flex;flex-wrap:wrap;gap:4px;margin-top:6px;max-width:100%}.badge-chip{width:clamp(30px,6vmin,44px);aspect-ratio:1;padding:4px;border-radius:50%;background:#fff;box-shadow:var(--shadow-sm)}.badge-new{position:fixed;inset:0;z-index:90;display:grid;place-items:center;background:#14162373;padding:16px}.badge-new-card{background:#fff;border-radius:var(--r-xl);padding:clamp(20px,5vmin,48px);display:flex;flex-direction:column;align-items:center;gap:12px;text-align:center;box-shadow:var(--shadow-lg)}.badge-new-card h2{margin:0;color:var(--coral);font-size:clamp(1.6rem,6vmin,3rem)}.badge-new-emoji{width:clamp(110px,30vmin,240px);aspect-ratio:1;animation:bounce 1s ease-in-out infinite}.badge-grid{display:grid;gap:8px;grid-template-columns:repeat(auto-fill,minmax(96px,1fr))}.badge-tile{display:flex;flex-direction:column;align-items:center;gap:4px;padding:10px 6px;border-radius:var(--r-md);background:var(--sun-soft);border:2px solid var(--sun-line);text-align:center}.badge-next{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:4px 10px}.badge-bar{grid-column:1 / -1;height:8px;border-radius:99px;background:var(--line);overflow:hidden}.badge-bar span{display:block;height:100%;background:var(--leaf);border-radius:99px}.pw-wrap{position:relative}.pw-wrap .input{padding-right:84px}.pw-toggle{position:absolute;right:6px;top:50%;transform:translateY(-50%);min-height:36px;padding:0 12px;border-radius:var(--r-pill);font-weight:700;font-size:.85rem;color:var(--ink-soft);background:var(--primary-soft)}.pw-meter{position:relative;height:8px;border-radius:999px;background:var(--line);margin-top:6px!important;margin-bottom:18px}.pw-meter span{position:absolute;inset:0 auto 0 0;border-radius:999px;background:var(--coral);transition:width .25s}.pw-meter.is-mid span{background:var(--sun)}.pw-meter.is-strong span{background:var(--leaf)}.pw-meter em{position:absolute;right:0;top:10px;font-style:normal;font-size:.78rem;font-weight:700;color:var(--ink-soft)}.pw-caps{color:var(--ink);background:var(--sun-soft);border-radius:var(--r-sm, 8px);padding:4px 10px;justify-self:start;font-size:.85rem;font-weight:700}.offline-banner{position:fixed;left:50%;bottom:calc(12px + var(--safe-bottom, 0px));transform:translate(-50%);z-index:90;max-width:calc(100vw - 32px);padding:10px 16px;border-radius:var(--r-pill);background:var(--ink);color:#fff;font-weight:700;font-size:.9rem;box-shadow:var(--shadow-md);text-align:center}:where(a,button,[role=button],[tabindex],summary,input[type=checkbox],input[type=radio]):focus-visible{outline:3px solid var(--sky);outline-offset:2px}
