@import url('https://fonts.googleapis.com/css2?family=Nunito:wght@400;500;600;700;800;900;1000&display=swap');
:root{--ink:#30254c;--muted:#766e86;--purple:#7949db;--yellow:#ffcb46;--cream:#fffdf7}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--cream);color:var(--ink);font:600 16px/1.65 'Nunito',ui-rounded,system-ui,sans-serif}button,input,textarea,select{font:inherit}a{color:inherit;text-decoration:none}button,a{touch-action:manipulation}button{cursor:pointer}img{max-width:100%}header{height:108px;max-width:1320px;padding:20px 48px;margin:auto;display:flex;align-items:center;gap:24px}.logo{width:156px;display:block}nav{display:flex;gap:32px;align-items:center;margin-left:auto;font-size:14px;font-weight:800}.button{display:inline-flex;align-items:center;justify-content:center;gap:28px;padding:16px 25px;border:0;border-radius:16px;background:var(--purple);box-shadow:0 5px 0 #5831a8;color:white;font-weight:900;transition:transform .2s,box-shadow .2s}.button:hover{transform:translateY(-4px);box-shadow:0 9px 0 #5831a8}.button span{font-size:23px;line-height:1}.button.small{padding:11px 19px;font-size:13px;border-radius:12px;gap:18px}#motion{border:1px solid #ddd2ed;border-radius:50%;background:transparent;color:var(--purple);width:30px;height:30px;flex-shrink:0}.hero{max-width:1320px;min-height:650px;margin:auto;padding:46px 48px 72px;display:grid;grid-template-columns:1fr 1.05fr;align-items:center;overflow:hidden}.eyebrow{font-size:11px;font-weight:1000;letter-spacing:2px;color:var(--purple);display:inline-flex;align-items:center;gap:10px}.eyebrow i{background:#72c5a4;width:8px;height:8px;border-radius:50%}h1{font-size:clamp(44px,5.1vw,70px);line-height:1.13;letter-spacing:-2.8px;font-weight:1000;margin:21px 0}h1>span:not(.orange){color:var(--purple)}.orange{color:#f5ad23}.hero-copy>p{color:var(--muted);font-size:17px;line-height:1.9}.actions{display:flex;gap:25px;align-items:center;margin-top:30px}.text-link{font-size:13px;font-weight:900;display:flex;align-items:center;gap:10px}.play{width:32px;height:32px;display:grid;place-items:center;border:1px solid #dfd5f2;border-radius:50%;color:var(--purple);font-size:11px}.device-note{display:flex;gap:23px;margin-top:27px;color:#92899e;font-size:11px}.hero-world{height:530px;position:relative;isolation:isolate}.planet{position:absolute;width:410px;height:410px;border-radius:50%;background:#eee3fc;left:16%;top:16%;z-index:-2}.planet:after{content:'';position:absolute;border-radius:50%;background:#e7d5fc;width:325px;height:325px;top:40px;left:40px}.piko{width:340px;height:375px;object-fit:contain;position:absolute;left:24%;top:23%;filter:drop-shadow(0 20px 9px #7952b52a);animation:bob 5s ease-in-out infinite}.orbit{position:absolute;inset:40px 3px 5px;border:1px dashed #e0d1ef;border-radius:50%;transform:rotate(-25deg);z-index:-1}.orbit2{inset:5px 40px 30px;transform:rotate(22deg)}.spark{position:absolute;color:#ffbf35;font-size:46px;animation:twinkle 4s infinite}.s1{top:30px;right:105px}.s2{left:15px;top:220px;color:#9e77dd;font-size:60px}.s3{bottom:5px;right:130px;font-size:30px}.bubble{position:absolute;left:27%;top:7%;background:white;padding:14px 24px;border-radius:20px 20px 20px 4px;box-shadow:0 8px 28px #523c7710;transform:rotate(-6deg);font-weight:1000;font-size:17px}.bubble span{display:block;font-size:11px;color:var(--muted);font-weight:700}.floating-card{position:absolute;background:white;border:3px solid white;box-shadow:0 14px 40px #593b7817;border-radius:23px;display:flex;flex-direction:column;align-items:center;animation:bob 6s ease-in-out infinite}.apple{right:0;top:31%;width:136px;padding:9px 15px 13px;rotate:12deg}.apple>span{font-size:64px;line-height:1.4}.apple b{font-size:20px}.floating-card small{font-size:10px;color:var(--muted)}.abc{bottom:40px;left:12px;padding:17px 22px;rotate:-12deg;animation-delay:-3s}.abc>span{font-size:44px;font-weight:1000;letter-spacing:-6px;color:#efb42e;line-height:1.25}.abc>span span{color:#6ab9d4;display:inline-block;transform:translateY(-8px) rotate(12deg)}.word-tag{position:absolute;bottom:12px;right:5px;background:#fff0bc;border-radius:12px;padding:10px 16px;rotate:5deg;font-size:12px;font-weight:900}.dot{position:absolute;width:12px;height:12px;border-radius:50%;background:#a4d6bb}.d1{left:60px;top:72px}.d2{right:15px;bottom:160px;width:8px;height:8px;background:#c59be9}.ribbon{background:#f2ebfc;border-block:1px solid #e9ddfa;display:flex;align-items:center;justify-content:center;gap:42px;padding:20px;font-size:11px;letter-spacing:1.8px;font-weight:1000;overflow:hidden;white-space:nowrap;color:#735794}.ribbon b{color:#b494db;font-size:21px}.section{max-width:1224px;margin:auto;padding:90px 0}.section-top{display:flex;justify-content:space-between;gap:25px;align-items:end}.section-top p{font-size:13px;color:var(--muted)}h2{font-size:clamp(30px,3.3vw,44px);line-height:1.2;font-weight:1000;letter-spacing:-1.5px;margin:15px 0 25px}em{font-style:normal;color:var(--purple)}.categories{display:flex;gap:12px;overflow-x:auto;padding:18px 3px 22px;scrollbar-width:thin}.category{min-width:125px;flex:1;background:#f8f3fd;border:2px solid transparent;border-radius:22px;padding:12px 10px;color:var(--ink);font-size:11px;font-weight:900;transition:.2s}.category:hover{transform:translateY(-5px)}.category[aria-pressed=true]{border-color:var(--purple);background:#eee3ff}.category img{width:76px;height:74px;object-fit:contain;display:block;margin:0 auto 9px}.discovery{margin-top:17px;border-radius:28px;background:white;border:1px solid #eee5f4;display:grid;grid-template-columns:260px 1fr;overflow:hidden;box-shadow:0 12px 45px #37224f04}.discovery-side{padding:28px;background:#f8f4fd}h3{font-size:23px;line-height:1.3;margin:12px 0 20px;font-weight:900}.subcategories{display:flex;flex-direction:column;gap:5px}.subcategories button{border:0;background:transparent;text-align:left;padding:8px 10px;border-radius:10px;color:#7b6c8d;font-size:12px}.subcategories button[aria-pressed=true]{background:white;color:var(--purple);font-weight:1000;box-shadow:0 3px 15px #503b6210}.words-area{padding:29px}.word-heading{display:flex;justify-content:space-between;gap:12px;font-size:13px;font-weight:900}.word-heading span+span{font-size:10px;color:var(--muted)}.words{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin-top:22px}.word{padding:10px 10px 15px;background:#fffdf7;border:1px solid #f0e9d9;border-radius:19px;color:var(--ink);transition:transform .2s}.word:hover{transform:rotate(-3deg) translateY(-5px)}.word img{width:100%;height:155px;object-fit:contain;border-radius:12px;background:white}.word b{display:block;font-size:18px;margin-top:8px}.word span{font-size:12px;color:var(--purple)}.demo-note{text-align:center;font-size:10px;color:#95869f;margin:18px 0 0}.how{display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:center;border-top:1px solid #f0e9e3}.how-art{height:440px;position:relative}.art-circle{position:absolute;inset:20px;background:#fff0d0;border-radius:49% 51% 62% 38%/49% 40% 60% 51%;rotate:-8deg}.how-art img{position:relative;width:90%;height:100%;object-fit:contain;animation:bob 7s infinite}.sticker{position:absolute;bottom:25px;right:0;background:#dbf1e6;rotate:-8deg;border:5px solid white;padding:17px 22px;border-radius:18px;font-size:14px;font-weight:1000}.steps{padding:0;list-style:none}.steps li{display:flex;align-items:start;gap:22px;margin-top:25px}.steps li>span{border-radius:14px;background:#eee5fc;color:var(--purple);font-size:16px;padding:10px 13px;font-weight:1000}.steps li:nth-child(2)>span{background:#fff0ce;color:#b98520}.steps li:nth-child(3)>span{background:#def2e7;color:#378c68}.steps h3{font-size:18px;margin:0 0 3px}.steps p{font-size:13px;color:var(--muted);margin:0}.friends{background:#eff7f0;max-width:none;text-align:center;padding:65px 20px}.friend-line{display:flex;justify-content:center;gap:65px;align-items:center}.friend-line img{height:190px;width:160px;object-fit:contain;transition:transform .3s}.friend-line img:hover{transform:rotate(15deg) scale(1.12)}.friend-line p{font-size:16px;color:#788876;line-height:1.9}.friend-line strong{color:#435a48}.download-head{text-align:center}.download-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:40px}.download-card{padding:27px 23px;border:1px solid #eee5f5;border-radius:24px;background:white}.download-card.pro{background:#f2eafa;border-color:#e2d3f6}.platform-icon{font-size:35px;line-height:1}.download-card h3{font-size:19px;margin:15px 0 7px}.download-card p{font-size:12px;color:var(--muted);min-height:42px}.download-card .button{padding:12px 15px;gap:14px;font-size:11px;width:100%;margin-top:15px;box-shadow:none;border-radius:11px}.edition{font-size:10px;font-weight:1000;letter-spacing:1px;color:var(--purple)}.store-note{font-size:11px;color:var(--muted);text-align:center;margin-top:25px}.parent-note{background:var(--purple);color:white;border-radius:30px;padding:45px 55px;display:flex;justify-content:space-between;align-items:center;margin-bottom:65px;position:relative;overflow:hidden}.parent-note .eyebrow{color:#d7c1ff}.parent-note h2{margin:12px 0}.parent-note p{font-size:14px;color:#e5d6fc}.button.light{background:var(--yellow);color:#4c3767;box-shadow:0 5px 0 #d5a226;flex-shrink:0}footer{border-top:1px solid #eee6f0;max-width:1320px;margin:auto;padding:30px 48px;display:flex;align-items:center;gap:25px;flex-wrap:wrap}footer .logo{width:115px}footer>span{color:var(--muted);font-size:11px}footer>div{margin-left:auto;display:flex;gap:25px;font-size:11px}footer small{flex-basis:100%;font-size:10px;color:#a59aaa;margin-top:5px}.skip{position:fixed;top:-100px}.skip:focus{top:10px;left:10px;background:white;padding:15px;z-index:50}:focus-visible{outline:3px solid #f3b531;outline-offset:5px}#announcement{position:fixed;bottom:22px;left:50%;translate:-50%;background:var(--ink);color:white;padding:12px 20px;border-radius:14px;font-size:13px;z-index:20;display:none}#announcement.visible{display:block}.page{max-width:900px;margin:auto;padding:50px 30px 90px}.page>p{color:var(--muted)}.page h1{font-size:49px}.paper{background:white;border:1px solid #e9e0f2;padding:30px;border-radius:22px;margin-top:20px}.paper h2{font-size:23px;letter-spacing:-.5px}.paper p{font-size:14px;color:var(--muted)}.policy-tabs{display:flex;gap:12px;margin:25px 0}.policy-tabs button{padding:10px 25px;border:1px solid #d8c9ee;border-radius:12px;background:white;color:var(--purple)}.policy-tabs button[aria-pressed=true]{background:var(--purple);color:white}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}label{display:block;font-size:13px;font-weight:900}input,select,textarea{display:block;width:100%;margin:7px 0 20px;border:1px solid #d8cde5;border-radius:12px;padding:12px;background:#fffdfc;color:var(--ink)}textarea{min-height:160px;resize:vertical}.feedback-help{font-size:12px;color:var(--muted)}#form-status{white-space:pre-wrap;margin:18px 0;font-size:14px}#review{background:#f6f0fc;border-radius:16px;padding:20px;white-space:pre-wrap;overflow-wrap:anywhere;margin-bottom:20px}.hidden{display:none!important}.secondary{background:#f0e8fa;color:var(--purple);box-shadow:none;margin-left:12px}.checkbox{display:flex;gap:10px;align-items:start;font-weight:600;margin:20px 0}.checkbox input{width:18px;margin:4px 0}.play-active{background:#f1e7ff;transform:scale(1.03)}@keyframes bob{0%,100%{transform:translateY(0) rotate(-2deg)}50%{transform:translateY(-17px) rotate(3deg)}}@keyframes twinkle{50%{transform:rotate(20deg) scale(.8)}}body.paused *,body.paused *:before,body.paused *:after{animation-play-state:paused!important;scroll-behavior:auto!important}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}@media(min-width:1450px){.hero{min-height:720px}.section{max-width:1224px}}@media(max-width:1250px){.section{margin-left:35px;margin-right:35px}.friends{margin:0}.hero{padding-inline:35px}.hero-world{scale:.9;transform-origin:center}.section-top{align-items:start}.download-grid{gap:12px}.download-card{padding:22px 17px}}@media(max-width:900px){header{padding:20px 28px;gap:14px}nav{gap:18px}nav>a:nth-child(2){display:none}.hero{grid-template-columns:1fr 1fr;padding-top:10px;min-height:620px}h1{font-size:48px}.hero-world{scale:.8;width:480px;margin-left:-50px}.hero-copy>p{font-size:14px}.actions{gap:15px;align-items:start;flex-direction:column}.hero-copy{z-index:2}.discovery{grid-template-columns:205px 1fr}.words-area{padding:20px}.word img{height:110px}.how{gap:35px}.download-grid{grid-template-columns:repeat(2,1fr)}.section-top{display:block}.how-art{height:360px}.parent-note{padding:35px}.friend-line{gap:20px}.section{padding-top:65px;padding-bottom:65px}.parent-note{padding:35px}}@media(max-width:600px){header{height:85px;padding:15px 20px}.logo{width:120px}nav>a:not(.button){display:none}nav .button.small{font-size:11px;padding:10px 13px;gap:8px}#motion{width:26px;height:26px;font-size:10px}.hero{display:flex;flex-direction:column;padding:28px 24px 35px;min-height:0;overflow:hidden}.hero-copy{width:100%}h1{font-size:49px;letter-spacing:-2px}.hero-copy>p{font-size:14px}.actions{flex-direction:row;align-items:center;gap:18px}.actions .button{font-size:13px;padding:14px 19px;gap:18px}.text-link{font-size:10px;gap:6px}.play{width:26px;height:26px}.hero-world{scale:.74;width:480px;height:490px;flex-shrink:0;margin:-28px -35px -70px;transform-origin:center}.device-note{margin-top:23px}.ribbon{justify-content:start;gap:24px;padding:15px 24px;font-size:9px}.section{margin-left:22px;margin-right:22px;padding:48px 0}h2{font-size:32px}.eyebrow{font-size:9px;letter-spacing:1.5px}.categories{margin-right:-22px}.category{min-width:105px}.discovery{grid-template-columns:1fr}.discovery-side{padding:20px}.discovery-side h3{font-size:20px;margin:8px 0 13px}.subcategories{flex-direction:row;overflow:auto;white-space:nowrap}.subcategories button{flex-shrink:0}.words-area{padding:19px 13px}.words{gap:8px}.word{padding:6px 6px 12px;border-radius:14px}.word img{height:92px}.word b{font-size:13px}.word-heading{font-size:11px}.word-heading span+span{font-size:8px}.how{grid-template-columns:1fr;gap:25px}.how-art{height:300px;max-width:350px;width:100%;margin:auto}.how>div+div{padding:0 7px}.friends{margin:0;padding:45px 22px}.friends h2{font-size:30px}.friend-line{gap:7px}.friend-line img{width:85px;height:135px}.friend-line p{font-size:11px}.download-grid{gap:12px;margin-top:25px}.download-card{padding:22px 15px}.download-card h3{font-size:17px}.download-card .button{font-size:10px;gap:8px}.store-note{font-size:10px}.parent-note{padding:30px;display:block;margin-bottom:35px}.parent-note h2{font-size:30px}.parent-note p{font-size:12px}.parent-note .button{margin-top:12px}footer{padding:25px;gap:15px}footer>div{width:100%;margin:0;gap:20px}.page{padding:25px 20px 55px}.page h1{font-size:37px}.paper{padding:22px}.form-grid{grid-template-columns:1fr;gap:0}}

/* Colorful discovery worlds: full-width scenery behind each chapter. */
body{background:#fff7e4;overflow-x:clip}
header{position:relative;isolation:isolate}
header:before{content:'';position:absolute;inset:0;left:50%;width:100vw;transform:translateX(-50%);background:#e3f5ff;z-index:-1}
.hero{position:relative;isolation:isolate;overflow:visible}
.hero:before{content:'';position:absolute;inset:0;left:50%;width:100vw;transform:translateX(-50%);z-index:-3;background:radial-gradient(ellipse at 87% 12%,#fff4b6 0 9%,transparent 30%),radial-gradient(ellipse at 72% 83%,#c8bbff 0 10%,transparent 39%),radial-gradient(ellipse at 1% 92%,#bdeedd 0 4%,transparent 35%),linear-gradient(135deg,#e3f5ff 5%,#dbf0ff 40%,#e7d8ff 78%,#f5dbf5 100%)}
.hero:after{content:'';position:absolute;width:100vw;height:80px;left:50%;bottom:-1px;transform:translateX(-50%);z-index:-2;background:#bfa4ef;clip-path:ellipse(66% 70% at 50% 100%);opacity:.25;pointer-events:none}
.planet{background:linear-gradient(145deg,#b5a0ee,#d7a8ee);box-shadow:0 0 0 22px #ffffff35,0 0 0 45px #ffffff16}
.planet:after{background:linear-gradient(145deg,#e6c6ff,#bca1ee)}
.orbit{border-color:#9e82ca80}.bubble{background:#fffdf3}.word-tag{background:#ffe582;box-shadow:0 8px 0 #bda1e733}.hero .device-note{color:#655a7e}.hero-copy>p{color:#615775}
.ribbon{position:relative;background:#8655d0;border-color:#7845c6;color:#fff3d8}.ribbon b{color:#ffda69}
.explore,.how,.downloads{position:relative;isolation:isolate}
.explore:before,.how:before,.downloads:before{content:'';position:absolute;inset:0;left:50%;width:100vw;transform:translateX(-50%);z-index:-2;pointer-events:none}
.explore:before{background:radial-gradient(circle at 4% 18%,#ffc66b55 0 70px,transparent 71px),radial-gradient(circle at 96% 76%,#ffb39355 0 110px,transparent 111px),radial-gradient(circle,#e8b65d55 1.5px,transparent 2px) 0 0/25px 25px,linear-gradient(125deg,#fff2ce,#ffe7c5 60%,#ffdbc9)}
.explore .category{background:#ffffffb8;border-color:#ffffffa6;box-shadow:0 5px 0 #e8c59955}.explore .category:nth-child(3n+2){background:#e5f4ff}.explore .category:nth-child(3n){background:#f4e7ff}.explore .category[aria-pressed=true]{background:#e4d4ff;border-color:#7949db;box-shadow:0 5px 0 #c6abec}.discovery{border:2px solid #fff;box-shadow:0 15px 40px #b9763430}.discovery-side{background:linear-gradient(150deg,#e8d6ff,#e2e7ff)}.words-area{background:linear-gradient(135deg,#fffefa,#fff7e9)}
.how{border-top:0}.how:before{background:radial-gradient(ellipse at 1% 90%,#a9dafc 0 8%,transparent 38%),radial-gradient(circle at 92% 14%,#ffffff99 0 95px,transparent 96px),linear-gradient(130deg,#d9f4ff,#cce6ff 50%,#e2ddff)}
.art-circle{background:linear-gradient(135deg,#ffd27b,#ffbca2);border:8px solid #ffffff80;box-shadow:0 18px 0 #9cbfe646}.sticker{background:#b6eed6}.steps li>span{background:#cbb7f3;color:#4a2a80}.steps li:nth-child(2)>span{background:#ffdb8c;color:#79520c}.steps li:nth-child(3)>span{background:#a9e6cf;color:#25654b}.how .eyebrow{color:#6540a4}
.friends{position:relative;isolation:isolate;background:radial-gradient(circle at 8% 25%,#fff5b9 0 65px,transparent 66px),radial-gradient(circle at 90% 80%,#87d8be66 0 110px,transparent 111px),linear-gradient(120deg,#c7f0db,#b4e7da 55%,#cff1c8);border-block:2px solid #ffffff70}.friend-line p{color:#416c5a}.friend-line strong{color:#285140}
.downloads:before{background:radial-gradient(circle at 92% 18%,#ffc6db88 0 110px,transparent 111px),radial-gradient(circle at 4% 80%,#bea0e766 0 100px,transparent 101px),radial-gradient(circle,#a987d344 1.5px,transparent 2px) 8px 9px/29px 29px,linear-gradient(130deg,#f0dcff,#e0d4ff 50%,#f7dfee)}
.download-card{background:#fffffff0;border:2px solid white;box-shadow:0 9px 0 #aa8dca26}.download-card.pro{background:linear-gradient(145deg,#fff5ce,#ffe8a6);border-color:#fffdf0}.download-card.pro .edition{color:#87581c}.download-card p{color:#655674}.download-card.pro .button{background:#6937ba}.store-note{color:#6b567c}
.parent-note{margin-top:50px;background:radial-gradient(circle at 90% 10%,#aa79ee 0 90px,transparent 91px),radial-gradient(circle at 73% 110%,#ad84e74d 0 150px,transparent 151px),linear-gradient(115deg,#7340c7,#8f54d9 75%,#995ddd);border:3px solid #dec3fa;box-shadow:0 12px 0 #e4cef0}
footer{position:relative;isolation:isolate;border-top:0}footer:before{content:'';position:absolute;inset:0;left:50%;width:100vw;transform:translateX(-50%);background:linear-gradient(100deg,#e1f2ff,#eaddf9 60%,#ffe8cd);z-index:-1}footer>span,footer small{color:#77617e}
body:has(.page){background:radial-gradient(ellipse at 2% 18%,#c5e8ff 0,transparent 42%),radial-gradient(ellipse at 97% 52%,#dcc5fa 0,transparent 42%),linear-gradient(145deg,#e5f5ff,#f6eaff 55%,#ffeacd)}.page .paper{border:2px solid #ffffffd9;box-shadow:0 10px 32px #8361a315;background:#fffefa}.policy-tabs button{box-shadow:0 4px 0 #d4bee84d}
@media(max-width:600px){.hero:before{background:radial-gradient(ellipse at 98% 1%,#fff2ad88,transparent 45%),radial-gradient(ellipse at 67% 80%,#c9a9f5,transparent 50%),linear-gradient(155deg,#dff5ff,#d8eaff 45%,#ebd7ff)}.hero:after{height:45px}.explore:before{background:radial-gradient(circle,#e8b65d44 1px,transparent 2px) 0 0/22px 22px,linear-gradient(145deg,#fff1c9,#ffe0c5)}.friends{background:linear-gradient(135deg,#c9efd4,#ade6d7)}.parent-note{margin-top:28px}.downloads:before{background:radial-gradient(circle,#aa84d033 1px,transparent 2px) 0 0/25px 25px,linear-gradient(140deg,#eddaff,#dad4ff 60%,#f5d9ed)}}

/* A little more magic, with the reading surfaces kept calm. */
.hero:before{background:radial-gradient(ellipse at 88% 12%,#ffe58b 0 9%,transparent 32%),radial-gradient(ellipse at 72% 83%,#b79af4 0 10%,transparent 40%),radial-gradient(ellipse at 1% 92%,#9fe8ce 0 4%,transparent 35%),linear-gradient(135deg,#c8f1ff 5%,#cce8ff 40%,#ddc4ff 78%,#ffd2e9 100%)}
h1>span:not(.orange){background:linear-gradient(100deg,#7740c9,#bd409c 45%,#674bc9 80%);background-size:200% auto;background-clip:text;-webkit-background-clip:text;color:transparent;animation:color-flow 9s ease-in-out infinite}
.hero .eyebrow{background:#ffffff99;border:1px solid #ffffffbb;padding:7px 12px;border-radius:30px}.eyebrow i{box-shadow:0 0 0 5px #7cceab22;animation:soft-pulse 3s ease-in-out infinite}
.magic-sky{position:absolute;inset:0;pointer-events:none;overflow:clip;z-index:-1;border-radius:inherit}.explore>.magic-sky,.how>.magic-sky,.downloads>.magic-sky{left:calc((100% - 100vw)/2);right:calc((100% - 100vw)/2)}
.sky-shape{position:absolute;width:16px;height:16px;background:var(--shape-color);opacity:.48;animation:sky-float 12s ease-in-out infinite;will-change:transform}.shape-0{clip-path:polygon(50% 0,62% 34%,100% 50%,65% 63%,50% 100%,36% 64%,0 50%,35% 35%);width:28px;height:28px}.shape-1{border:4px solid var(--shape-color);border-radius:50%;background:transparent;width:24px;height:24px}.shape-2{width:10px;height:24px;border-radius:5px;rotate:35deg}.shape-3{clip-path:polygon(50% 0,100% 100%,0 100%);width:21px;height:21px}
.sky-rainbow{position:absolute;width:380px;height:190px;top:7%;left:17%;border:15px solid #ffbf5266;border-bottom:0;border-radius:220px 220px 0 0;rotate:-17deg;z-index:-3;box-shadow:0 -12px 0 0 #ff83ad55,0 -24px 0 0 #a98ae955;animation:rainbow-sway 10s ease-in-out infinite}.hero .orbit1{animation:orbit-turn 70s linear infinite}.hero .orbit2{animation:orbit-turn 90s linear infinite reverse}.orbit:after{content:'';position:absolute;left:16%;top:10%;width:13px;height:13px;border-radius:50%;background:#ffbf35;box-shadow:0 0 0 6px #ffffff66}.orbit2:after{background:#f58ab6;width:9px;height:9px}
.bubble{animation:bubble-sway 6s ease-in-out infinite}.word-tag{animation:tag-sway 7s ease-in-out infinite}.ribbon b{display:inline-block;animation:star-turn 14s linear infinite}.ribbon b:nth-of-type(even){animation-direction:reverse}
.art-circle{animation:blob-breathe 12s ease-in-out infinite}.friend-line img:first-child{animation:friend-sway 6s ease-in-out infinite}.friend-line img:last-child{animation:friend-sway 7s ease-in-out -3s infinite reverse}.friend-line img:hover{filter:drop-shadow(0 12px 12px #419c7440)}
.category:nth-child(4n+1){background:#fff1bc}.category:nth-child(4n+2){background:#d3f1ff}.category:nth-child(4n+3){background:#f5d7ed}.category:nth-child(4n){background:#d4f3d6}.category:hover img{animation:happy-wiggle .65s ease-in-out}.word{border-bottom:4px solid #d9c4f2}.word:nth-child(3n+2){border-bottom-color:#eebc70;background:#fff9e9}.word:nth-child(3n){border-bottom-color:#8ecdb6;background:#effaf4}.word.play-active{animation:happy-wiggle .6s ease-in-out;background:#ede1ff}.word.play-active span{display:inline-block;animation:soft-pulse 1.1s ease-in-out infinite}
.button{position:relative;overflow:hidden}.button:after{content:'';position:absolute;width:35%;height:180%;top:-40%;left:-65%;background:linear-gradient(90deg,transparent,#ffffff33,transparent);rotate:20deg;animation:button-glimmer 8s ease-in-out infinite;pointer-events:none}.button:hover span{animation:arrow-nudge .7s ease-in-out infinite}.download-card{transform:perspective(700px) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg));transition:transform .2s,box-shadow .2s}.download-card:hover{box-shadow:0 14px 0 #aa8dca33,0 18px 30px #9268be22}.download-card:nth-child(3){background:linear-gradient(140deg,#edfff7,#d8f2ec)}.download-card:nth-child(4){background:linear-gradient(140deg,#ffe8f1,#f8d4e5)}
.arrived{animation:welcome-in .8s cubic-bezier(.2,.8,.2,1) both}.steps li:nth-child(2){animation-delay:.1s}.steps li:nth-child(3){animation-delay:.2s}.download-card.arrived{animation-name:card-welcome}
.magic-burst{position:fixed;width:0;height:0;pointer-events:none;z-index:100}.magic-burst i{position:absolute;width:8px;height:10px;border-radius:2px;animation:confetti-pop .85s ease-out both}.magic-burst i:nth-child(3n){border-radius:50%;width:9px;height:9px}
@keyframes sky-float{0%,100%{transform:translate3d(0,0,0) rotate(0)}50%{transform:translate3d(var(--drift),-30px,0) rotate(80deg)}}@keyframes rainbow-sway{50%{transform:translateY(-12px) rotate(5deg)}}@keyframes orbit-turn{to{transform:rotate(335deg)}}@keyframes bubble-sway{50%{transform:translateY(-9px) rotate(-2deg)}}@keyframes tag-sway{50%{transform:translateY(-8px) rotate(-4deg)}}@keyframes star-turn{to{transform:rotate(360deg)}}@keyframes blob-breathe{50%{border-radius:60% 40% 43% 57%/40% 58% 42% 60%;transform:rotate(5deg) scale(1.03)}}@keyframes friend-sway{0%,100%{transform:translateY(0) rotate(-3deg)}50%{transform:translateY(-12px) rotate(4deg)}}@keyframes happy-wiggle{0%,100%{transform:rotate(0)}25%{transform:rotate(-6deg) scale(1.04)}65%{transform:rotate(5deg) scale(1.06)}}@keyframes soft-pulse{50%{transform:scale(1.12)}}@keyframes button-glimmer{0%,70%{left:-65%}90%,100%{left:140%}}@keyframes arrow-nudge{50%{transform:translate(3px,-3px)}}@keyframes color-flow{50%{background-position:100% center}}@keyframes welcome-in{from{opacity:.55;translate:0 22px}to{opacity:1;translate:0 0}}@keyframes card-welcome{from{opacity:.55;translate:0 18px;scale:.97}to{opacity:1;translate:0 0;scale:1}}@keyframes confetti-pop{from{opacity:1;transform:translate(-50%,-50%) scale(.3)}to{opacity:0;transform:translate(var(--x),var(--y)) rotate(var(--spin)) scale(.7)}}
body.paused .magic-burst{display:none}body.paused .download-card{transform:none}body.tab-inactive *,body.tab-inactive *:before,body.tab-inactive *:after{animation-play-state:paused!important}
@media(max-width:600px){.sky-shape:nth-child(n+5){display:none}.sky-shape{opacity:.32}.sky-rainbow{width:340px;height:170px;left:20%;top:11%}.hero:before{background:radial-gradient(ellipse at 98% 1%,#ffe690aa,transparent 45%),radial-gradient(ellipse at 67% 80%,#bc93ef,transparent 50%),linear-gradient(155deg,#c9f1ff,#cce2ff 45%,#e4c4fa)}.explore:before{background:radial-gradient(circle,#e2a43844 1px,transparent 2px) 0 0/22px 22px,linear-gradient(145deg,#ffecad,#ffcfb2)}.friends{background:linear-gradient(135deg,#b6ebc7,#99ddca)}}
@media(prefers-reduced-motion:reduce){.magic-burst{display:none}.arrived{opacity:1;translate:none}.download-card{transform:none}}

/* Responsive containment and lightweight mobile animation. */
html{overflow-x:clip}header,main,footer{min-width:0}header nav{min-width:0}.hero{grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);overflow:clip}.hero-copy,.hero-world,.discovery-side,.words-area,.words,.word,.section-top>div,.how>div,.download-card{min-width:0}.hero-world{width:100%;height:530px;scale:1;margin:0;transform-origin:top left}.world-stage{position:relative;width:560px;height:530px;transform-origin:top left;isolation:isolate}.discovery{grid-template-columns:minmax(0,260px) minmax(0,1fr)}.categories,.subcategories{max-width:100%;min-width:0;overscroll-behavior-x:contain}.words{grid-template-columns:repeat(3,minmax(0,1fr))}.word b{overflow-wrap:anywhere}.download-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.download-card h3,.download-card p{overflow-wrap:anywhere}.paper p,.page>p{overflow-wrap:anywhere}.scene-offscreen *,.scene-offscreen *:before,.scene-offscreen *:after{animation-play-state:paused!important}.sky-shape{will-change:auto}.art-circle{animation-name:blob-sway}@keyframes blob-sway{50%{transform:rotate(5deg) scale(1.025)}}.piko{filter:none}#announcement{max-width:calc(100vw - 32px);width:max-content;overflow-wrap:anywhere}
@media(max-width:1000px){.hero{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px}h1{font-size:clamp(37px,5.4vw,54px)}.hero-copy>p{font-size:14px}.actions{flex-wrap:wrap}.hero-world{scale:1;width:100%;margin:0}.how{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:35px}.download-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.art-circle{animation:none}.sky-shape:nth-child(n+5){display:none}.button:after{animation-duration:12s}.friend-line img{animation-duration:9s}}
@media(min-width:601px) and (max-width:900px){.hero{min-height:540px;padding-top:30px;padding-bottom:55px}.hero-world{align-self:center}.hero .actions{flex-direction:column;align-items:flex-start}.discovery{grid-template-columns:minmax(0,190px) minmax(0,1fr)}.subcategories button{overflow-wrap:anywhere}.how-art{height:310px}.word img{height:110px}.word b{font-size:15px}}
@media(max-width:600px){.hero{display:flex;gap:12px;padding:28px 24px 35px}.hero-world{flex:none;width:100%;margin:0;height:auto;aspect-ratio:560/530;scale:1}.hero-copy{width:100%}h1{font-size:clamp(36px,11.6vw,49px)}.hero .actions{flex-direction:row;flex-wrap:wrap;gap:14px}.hero .actions .button{min-height:46px}.hero .text-link{min-height:44px}.discovery{grid-template-columns:minmax(0,1fr)}.subcategories{overflow-x:auto}.subcategories button{min-height:44px}.categories{margin-right:0}.category{flex:0 0 105px;min-height:115px}.word{min-height:145px}.word-heading{flex-wrap:wrap;row-gap:5px}.how{grid-template-columns:minmax(0,1fr)}.friends .friend-line{gap:4px}.friend-line img{width:clamp(60px,20vw,85px);flex-shrink:0}.friend-line p{min-width:0}.download-card .button{min-height:44px}.page input,.page select,.page textarea{font-size:16px}.form-grid{grid-template-columns:minmax(0,1fr)}.page .button{max-width:100%;white-space:normal}.page .secondary{margin:12px 0 0}.parent-note{overflow:hidden}.hero .orbit2{animation:none}.sky-rainbow{animation:none}}
@media(max-width:374px){header{padding-inline:16px;gap:8px}.logo{width:100px}nav .button.small{padding:10px;font-size:10px;gap:5px}.hero{padding-inline:20px}.hero-copy>p br{display:none}.section{margin-inline:18px}.actions .text-link{font-size:10px}.download-card{padding:18px 11px}.download-card h3{font-size:15px}.download-card .button{padding:10px 8px;gap:4px}.friend-line p{font-size:10px}.word img{height:76px}.word{min-height:130px}}
@media(prefers-reduced-motion:reduce){.download-card{transform:none!important}.word:hover,.category:hover{transform:none}.world-stage{transition:none}}
.checkbox input{flex:0 0 18px}.checkbox span{min-width:0;overflow-wrap:anywhere}

/* Chess discovery: a real, touch-friendly 8×8 movement demo. */
.chess-section{position:relative;isolation:isolate}.chess-section:before{content:'';position:absolute;inset:0;left:50%;width:100vw;transform:translateX(-50%);z-index:-2;background:radial-gradient(circle at 94% 17%,#ffd66d88 0 100px,transparent 101px),radial-gradient(circle at 4% 83%,#a2d4fa66 0 130px,transparent 131px),linear-gradient(130deg,#f2dcff,#e2dcff 53%,#d4ecff)}.chess-intro{display:flex;justify-content:space-between;align-items:center;gap:30px;margin-bottom:35px}.chess-intro>div{max-width:620px;min-width:0}.chess-intro p{color:#68547e;max-width:500px;font-size:16px}.chess-hero-art{width:260px;height:220px;object-fit:contain;animation:friend-sway 8s ease-in-out infinite}.chess-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.9fr);gap:60px;align-items:center}.chess-demo{background:#fffdfa;border:3px solid #fff;border-radius:30px;padding:27px;box-shadow:0 12px 0 #ad91ce30;min-width:0}.chess-demo-heading{display:flex;justify-content:space-between;align-items:center;gap:10px}.chess-demo-badge{font-size:10px;color:#7953a5;background:#f0e4ff;padding:5px 10px;border-radius:20px;white-space:nowrap}.chess-demo h3{margin:13px 0;font-size:24px}.piece-picker{display:flex;gap:9px}.piece-picker button{display:flex;align-items:center;justify-content:center;gap:8px;min-height:46px;flex:1;background:#f4eefb;border:2px solid transparent;border-radius:13px;font-size:13px;font-weight:900;color:#5e447e}.piece-picker button span{font-size:26px;line-height:1;font-family:Georgia,'Times New Roman',serif}.piece-picker button[aria-pressed=true]{background:#e3d3fb;border-color:#8455c8;color:#4c2b7b}#chess-rule{font-size:12px;color:#776286;min-height:42px;margin:16px 0}.chessboard{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));aspect-ratio:1;border:7px solid #79539e;border-radius:15px;overflow:hidden;box-shadow:0 5px 0 #d3b9e5;max-width:420px;margin:auto}.chess-square{position:relative;aspect-ratio:1;min-width:0;padding:0;border:0;border-radius:0;display:grid;place-items:center;cursor:default;color:#4b326d;touch-action:manipulation}.chess-square.light{background:#f7eddc}.chess-square.dark{background:#ad91cb}.chess-square.is-target{cursor:pointer}.chess-square.is-target:hover{background:#e9c45f}.chess-square.is-piece{background:#ffda74}.chess-square:focus-visible{outline:3px solid #54328b;outline-offset:-4px;z-index:1}.chess-piece{font-family:Georgia,'Times New Roman',serif;font-size:clamp(26px,3.8vw,43px);line-height:1;color:#37234e;animation:piece-land .35s ease-out}.move-dot{width:23%;height:23%;border-radius:50%;background:#6a419b88;pointer-events:none}.is-target:hover .move-dot{scale:1.3}.rank-label,.file-label{position:absolute;font-size:9px;font-weight:900;line-height:1.1;pointer-events:none}.rank-label{left:3px;top:3px}.file-label{bottom:2px;right:4px}.dark small{color:#fff9ff}.chess-demo-footer{display:flex;align-items:start;gap:14px;margin-top:18px}#chess-status{flex:1;margin:0;min-width:0;font-size:12px;color:#675178;min-height:40px}#chess-reset{flex-shrink:0;min-height:44px;padding:5px 12px;border:1px solid #e5d7f3;background:#f7f1fc;border-radius:11px;color:#76529b;font-size:11px;font-weight:900}.chess-disclaimer{font-size:10px;color:#8d7c99;margin:8px 0 0}.chess-path{min-width:0}.chess-path article{display:flex;gap:19px;align-items:center;margin:26px 0}.chess-path article img{width:75px;height:75px;object-fit:contain;flex-shrink:0}.chess-path h3{margin:0 0 7px;font-size:20px}.chess-path article p{margin:0;font-size:14px;color:#6b587f}.chess-path .button{font-size:14px;margin-top:14px}.chess-device-note{font-size:11px;color:#7a6591;margin-top:19px}.chess-section>.magic-sky{left:calc((100% - 100vw)/2);right:calc((100% - 100vw)/2)}@keyframes piece-land{from{transform:translateY(-7px) scale(.85)}to{transform:translateY(0) scale(1)}}
@media(min-width:901px) and (max-width:1100px){header nav{gap:19px}}
@media(max-width:900px){.chess-layout{gap:25px;grid-template-columns:minmax(0,1fr) minmax(0,.9fr)}.chess-demo{padding:20px}.chess-path article{gap:12px}.chess-path article img{width:55px;height:55px}.chess-path h3{font-size:17px}.chess-path article p{font-size:12px}.chess-path .button{padding:13px 17px;gap:13px;font-size:12px}.chess-hero-art{width:210px;height:190px}.chess-intro p{font-size:14px}.chess-demo-heading .eyebrow{font-size:9px;letter-spacing:1px}.piece-picker button{gap:5px;font-size:12px}.chess-demo-badge{font-size:9px}.chess-demo-footer{flex-direction:column;gap:5px}#chess-status{min-height:54px}.chess-piece{font-size:32px}.chessboard{border-width:5px}}
@media(max-width:700px){.chess-layout{grid-template-columns:minmax(0,1fr);gap:35px}.chess-intro{gap:10px;margin-bottom:25px}.chess-hero-art{width:125px;height:150px;flex-shrink:0}.chess-intro h2{font-size:30px}.chess-intro p{font-size:13px}.chess-intro .eyebrow{font-size:8px;letter-spacing:1px}.chess-demo{padding:22px}.chess-path article{margin:22px 0;gap:18px}.chess-path article img{width:65px;height:65px}.chess-path article p{font-size:13px}.chess-path h3{font-size:19px}.chess-piece{font-size:clamp(27px,8.4vw,40px)}.chess-demo-footer{flex-direction:row;gap:10px}#chess-status{min-height:58px}}
@media(max-width:420px){.chess-intro{position:relative;padding-right:0}.chess-intro>div{max-width:none}.chess-intro h2{font-size:32px;max-width:240px}.chess-intro p{max-width:100%}.chess-hero-art{position:absolute;width:95px;height:95px;right:-5px;top:24px;opacity:.9;z-index:-1}.chess-demo{padding:17px;border-radius:23px}.chess-demo h3{font-size:21px}.piece-picker button{min-height:46px}.chess-demo-heading{gap:5px}.chess-demo-heading .eyebrow{font-size:8px}.chess-demo-badge{font-size:8px;padding:4px 8px}.rank-label,.file-label{font-size:8px}#chess-rule{min-height:54px}.chess-demo-footer{flex-direction:column}#chess-status{min-height:40px}.chess-piece{font-size:clamp(24px,8vw,32px)}}
@media(prefers-reduced-motion:reduce){.chess-hero-art,.chess-piece{animation:none}.is-target:hover .move-dot{scale:1}}
.chess-piece{display:block;width:88%;height:88%;object-fit:contain;pointer-events:none;position:absolute;inset:6%}
@media(min-width:601px) and (max-width:900px){nav>a:nth-child(2){display:inline}nav{gap:15px;font-size:12px}header{gap:14px}.logo{width:140px}}

/* All six pieces stay visible without horizontal scrolling. */
.piece-picker{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.piece-picker button{min-width:0;min-height:48px}.capture-ring{position:absolute;inset:7%;border:3px solid #df795d;border-radius:50%;pointer-events:none;z-index:1}.chess-square.has-enemy{background:#edbda8}.chess-square.has-enemy.is-target:hover{background:#ffc27f}#chess-rule{min-height:76px}.chess-demo-footer{min-height:84px}.chess-disclaimer{line-height:1.6}
@media(max-width:900px){#chess-rule{min-height:108px}.piece-picker{gap:7px}.piece-picker button span{font-size:24px}}
@media(max-width:700px){#chess-rule{min-height:76px}.chess-demo-footer{min-height:70px}}
@media(max-width:420px){#chess-rule{min-height:108px}.piece-picker button{min-height:46px;gap:5px}.chess-demo-footer{min-height:106px}}

/* A responsive discovery playground. */
.explore{--explore-a:#fff0c5;--explore-b:#ffd9c3;--explore-accent:#8b4fc6}.explore:before{background:radial-gradient(circle at 5% 18%,#ffffff55 0 75px,transparent 76px),radial-gradient(circle at 94% 77%,#ffffff55 0 115px,transparent 116px),radial-gradient(circle,#ffffff88 1.5px,transparent 2px) 0 0/26px 26px,linear-gradient(130deg,var(--explore-a),var(--explore-b))}.explore h2 em{color:var(--explore-accent)}.explore-tools{display:flex;justify-content:space-between;align-items:center;gap:18px;margin:15px 0 2px}.explore-tools>p{display:flex;align-items:center;gap:10px;margin:0;font-size:12px;color:#715477}.compass{font-size:25px;color:var(--explore-accent);animation:star-turn 20s linear infinite}.explore-controls{display:flex;align-items:center;gap:8px;flex-shrink:0}.surprise-button,.category-arrow{min-height:44px;border:2px solid #fff;border-radius:13px;background:#fffaf0;color:var(--explore-accent);font-weight:1000;box-shadow:0 4px 0 #81529418;transition:transform .2s}.surprise-button{padding:8px 18px;font-size:12px}.category-arrow{width:44px;font-size:21px}.surprise-button:hover{transform:translateY(-3px) rotate(-2deg)}.category-arrow:disabled{opacity:.35;cursor:default;box-shadow:none}.categories{padding-top:27px;padding-bottom:26px;scroll-snap-type:x proximity}.category{position:relative;isolation:isolate;overflow:visible;scroll-snap-align:center;flex:0 0 139px;min-height:152px;transition:transform .25s,box-shadow .25s,border-color .25s}.category>span:not(.category-orbit){display:block}.category small{display:block;font-size:9px;font-weight:700;color:#8c749a;margin-top:4px}.category img{height:85px;width:85px;transition:transform .35s cubic-bezier(.2,.8,.3,1)}.category:hover{transform:translateY(-8px) rotate(-2deg)}.category:hover img{transform:translateY(-4px) scale(1.1);animation:none}.category[aria-pressed=true]{transform:translateY(-6px);border-color:var(--explore-accent)!important;box-shadow:0 7px 0 #b696d644,0 12px 25px #8764a522!important}.category[aria-pressed=true] img{animation:category-float 4s ease-in-out infinite}.category-orbit{position:absolute;right:6px;top:0;font-size:22px;color:#c39e39;opacity:0;scale:.5;transition:opacity .25s,scale .25s}.category[aria-pressed=true] .category-orbit{opacity:1;scale:1;animation:twinkle 4s ease-in-out infinite}.discovery{border:3px solid white;box-shadow:0 14px 0 #9a65bb15,0 18px 50px #a36d9e1a}.discovery-side{background:linear-gradient(155deg,#ffffffa0,#ffffff40),var(--explore-a)}.subcategories button{position:relative;transition:background .2s,translate .2s,box-shadow .2s}.subcategories button:hover{background:#ffffff80;translate:3px 0}.subcategories button[aria-pressed=true]{box-shadow:0 3px 0 #b19ac62b;border-left:3px solid var(--explore-accent);color:var(--explore-accent)}.words-area{background:linear-gradient(145deg,#fffdfa,#ffffff)}.word{position:relative;overflow:hidden;isolation:isolate;transition:transform .25s,box-shadow .25s;border-bottom-width:5px}.word:hover{transform:translateY(-7px) rotate(-2deg);box-shadow:0 12px 22px #825c9820}.word img{transition:transform .3s}.word:hover img{transform:scale(1.055)}.word-number{position:absolute;top:14px;left:15px;z-index:1;font-size:9px!important;background:#fff9efdf;border-radius:8px;padding:2px 6px;color:#9a7d53!important}.word .listen-label{display:inline-flex;align-items:center;min-height:26px;font-size:10px;margin-top:4px;color:var(--explore-accent)}.heard-mark{position:absolute;top:12px;right:12px;color:#e3ac31!important;font-size:22px!important;opacity:0;transform:scale(.4);transition:opacity .3s,transform .4s}.word.heard .heard-mark{opacity:1;transform:scale(1)}.word.heard{border-bottom-color:#d9b24e}.sound-waves{display:none;position:absolute;right:10px;bottom:18px;height:20px;align-items:center;gap:2px}.play-active .sound-waves{display:flex}.sound-waves i{display:block;width:3px;height:9px;background:var(--explore-accent);border-radius:2px;animation:wave-hop .65s ease-in-out infinite alternate}.sound-waves i:nth-child(2){height:17px;animation-delay:-.3s}.sound-waves i:nth-child(3){height:13px;animation-delay:-.1s}.sound-waves i:nth-child(4){animation-delay:-.4s}.word-enter{animation:card-discover .55s cubic-bezier(.2,.8,.2,1) both;animation-delay:var(--card-delay,0ms)}.discovery-journey{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:21px;padding:12px 16px;border:1px dashed #dbc4ec;background:#f8f0ff;border-radius:15px;font-size:10px;color:#795692}.discovery-journey #journey-stars{font-size:21px;letter-spacing:3px;color:#dca42a;white-space:nowrap}.discovery-journey.completed{background:#fff4cd;border-color:#e5ba54;color:#8b651d}.completed #journey-stars{animation:soft-pulse 2.2s ease-in-out infinite}.demo-note{margin-top:20px}
/* Only decorative layers move; reading surfaces and touch targets stay fixed. */
.parallax-scene{position:relative;isolation:isolate}.parallax-layer{position:absolute;inset:0;z-index:-1;overflow:clip;pointer-events:none;border-radius:inherit}.parallax-ring{position:absolute;right:3%;top:17%;width:150px;height:150px;border:17px solid #ffffff4d;border-radius:50%;transform:translate3d(0,calc(var(--parallax-y,0px) * -1),0);filter:hue-rotate(var(--scene-hue));opacity:.65}.parallax-star{position:absolute;left:2%;top:56%;font-size:67px;line-height:1;color:#f1c35066;transform:translate3d(0,var(--parallax-y,0px),0) rotate(-12deg)}.parallax-dot{position:absolute;right:13%;bottom:13%;width:44px;height:44px;border-radius:40% 60% 65% 35%;background:#b5a1e04d;transform:translate3d(0,calc(var(--parallax-y,0px) * -.65),0) rotate(25deg)}.parent-note .parallax-star{color:#ffd77877}.friends .parallax-ring{border-color:#ffffff66}.hero .parallax-ring{right:6%;top:9%}.hero .parallax-star{left:48%;top:72%;font-size:40px}@keyframes category-float{50%{transform:translateY(-5px) rotate(3deg)}}@keyframes card-discover{from{opacity:.3;transform:translateY(18px) scale(.95) rotate(-2deg)}to{opacity:1;transform:translateY(0) scale(1) rotate(0)}}@keyframes wave-hop{to{transform:scaleY(.4)}}
@media(max-width:900px){.explore-tools{align-items:start}.explore-tools>p{max-width:280px}.category{flex-basis:123px;min-height:145px}.category img{width:76px;height:78px}.discovery-journey{flex-wrap:wrap;justify-content:center;text-align:center;padding:10px}.discovery-journey #journey-title{flex-basis:100%}.parallax-ring{width:110px;height:110px;border-width:12px}.parallax-star{font-size:46px}.parallax-dot{width:30px;height:30px}.word .listen-label{font-size:9px}.word-number{left:9px;top:10px}.heard-mark{top:9px;right:8px;font-size:17px!important}}
@media(max-width:600px){.explore-tools{flex-direction:column;gap:12px;margin-top:20px}.explore-tools>p{max-width:none;font-size:11px}.explore-controls{width:100%}.surprise-button{margin-right:auto;padding-inline:16px}.category{flex-basis:112px;min-height:140px}.category img{width:72px;height:72px}.category small{font-size:8px}.categories{padding-top:22px}.category-orbit{font-size:18px}.word .listen-label{font-size:8px}.word-number{font-size:8px!important;padding:1px 4px;top:8px;left:8px}.heard-mark{font-size:15px!important;top:7px;right:5px}.sound-waves{right:5px;bottom:9px;height:13px}.sound-waves i{width:2px}.discovery-journey{margin-top:15px;font-size:9px;gap:6px}.parallax-star{font-size:34px;opacity:.65}.parallax-ring{width:85px;height:85px;border-width:9px}.parallax-dot{display:none}.subcategories button:hover{translate:none}}
body.paused .parallax-ring,body.paused .parallax-star,body.paused .parallax-dot{transform:none!important}body.paused .word-enter{animation:none}body.paused .word:hover,body.paused .category:hover{transform:none}
@media(prefers-reduced-motion:reduce){.parallax-ring,.parallax-star,.parallax-dot{transform:none!important}.word-enter{animation:none;opacity:1}.word:hover,.category:hover{transform:none}}
@media(min-width:601px){.discovery-side .subcategories{max-height:290px;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin}}

/* Layered horizons and three scroll speeds make section changes feel deeper. */
.parallax-ring{width:220px;height:220px;border-width:23px;border-color:#fff9ef99;opacity:.85;filter:none;transform:translate3d(0,calc(var(--parallax-y,0px) * -1.1),0) rotate(-15deg)}.parallax-star{font-size:88px;color:#dbaa3b8c;transform:translate3d(0,calc(var(--parallax-y,0px) * 1.4),0) rotate(-15deg)}.parallax-dot{width:75px;height:75px;background:#aa82d366;transform:translate3d(0,calc(var(--parallax-y,0px) * -.5),0) rotate(25deg)}.depth-horizon{position:absolute;left:-8%;width:116%;height:115px;bottom:-50px;pointer-events:none}.depth-back{background:#ffffff61;border-radius:55% 65% 0 0/75% 95% 0 0;transform:translate3d(0,calc(var(--parallax-y,0px) * -.5),0) rotate(-2deg)}.depth-front{height:85px;bottom:-45px;left:-10%;width:120%;background:#ffffff8c;border-radius:70% 35% 0 0/95% 80% 0 0;transform:translate3d(0,calc(var(--parallax-y,0px) * .75),0) rotate(2deg)}.depth-active .parallax-ring,.depth-active .parallax-star,.depth-active .parallax-dot,.depth-active .depth-horizon{will-change:transform}.how .depth-back{background:#b8a4e94d}.chess-section .depth-back{background:#91c9e64d}.friends .depth-back{background:#67bca438}.downloads .depth-back{background:#c6a4e64d}.parent-note .depth-back{background:#bc8fe85c}.parent-note .depth-front{background:#bd8de54d}.parent-note .parallax-ring{border-color:#d3b3f36b}.parent-note .parallax-star{color:#ffdc8d99}.hero .parallax-star{font-size:65px}.explore .parallax-ring{right:-2%;top:11%}.chess-section .parallax-star{top:60%}.parallax-layer{contain:layout paint}
@media(max-width:1100px){.parallax-ring{width:155px;height:155px;border-width:17px}.parallax-star{font-size:62px}.parallax-dot{width:48px;height:48px}.depth-horizon{height:94px;bottom:-40px}.depth-front{height:70px;bottom:-35px}.hero .parallax-star{font-size:44px}}
@media(max-width:600px){.parallax-ring{width:110px;height:110px;border-width:12px;opacity:.7}.parallax-star{font-size:45px;color:#c89b3a80;opacity:.75}.parallax-dot{display:none}.hero .parallax-star{font-size:35px;left:81%;top:42%}.depth-horizon{height:75px;bottom:-33px}.depth-front{height:54px;bottom:-26px}.parallax-ring{transform:translate3d(0,calc(var(--parallax-y,0px) * -.9),0) rotate(-12deg)}.parallax-star{transform:translate3d(0,var(--parallax-y,0px),0) rotate(-15deg)}}
body.paused .depth-horizon{transform:none!important}body.paused .depth-active .parallax-ring,body.paused .depth-active .parallax-star,body.paused .depth-active .parallax-dot,body.paused .depth-active .depth-horizon{will-change:auto}
@media(prefers-reduced-motion:reduce){.depth-horizon{transform:none!important}.depth-active .parallax-ring,.depth-active .parallax-star,.depth-active .parallax-dot,.depth-active .depth-horizon{will-change:auto}}
.parallax-scene:not(.parent-note)>.parallax-layer{left:calc((100% - 100vw)/2);right:calc((100% - 100vw)/2)}

/* Scrolling never translates content on phones or tablets. */
@keyframes content-soft-reveal{from{opacity:.6}to{opacity:1}}
@media(max-width:1100px){.arrived,.download-card.arrived{animation-name:content-soft-reveal;translate:none;scale:1}.parallax-layer{isolation:isolate}}

/* Localized layout and a full companion gallery. */
.locale-loading body{visibility:hidden}.language-control{display:flex;align-items:center;gap:7px;margin-inline-start:auto;font-size:10px;color:#705483;flex-shrink:0}.language-control select{width:115px;max-width:100%;min-height:42px;margin:0;padding:7px 24px 7px 10px;border:1px solid #b9a5d4;border-radius:11px;background:#ffffffb3;color:#533573;font-size:12px;line-height:1.3}.language-label{display:none}header{flex-wrap:wrap;height:auto;min-height:108px}header nav{gap:22px}.friends-intro{font-size:15px;color:#496b5b;margin:0 0 30px}.friends-gallery{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:17px;max-width:1224px;margin:auto}.friend-card{min-width:0;display:flex;flex-direction:column;align-items:center;position:relative;background:#ffffffc4;border:2px solid #ffffff;border-radius:25px;padding:14px 9px 15px;color:#315948;box-shadow:0 6px 0 #79bda42e;transition:transform .2s,border-color .2s,box-shadow .2s}.friend-card:nth-child(4n+2){background:#e6efffe6}.friend-card:nth-child(4n+3){background:#f3e7ffe6}.friend-card:nth-child(4n){background:#ffedf4e6}.friend-portrait{display:block;position:relative;width:100%;aspect-ratio:1;max-width:145px}.friend-portrait img{display:block;width:100%;height:100%;object-fit:contain;transition:transform .3s}.friend-card strong{font-size:16px;margin-top:5px}.friend-card small{font-size:10px;line-height:1.45;min-height:29px;color:#708979;padding-top:4px}.friend-card:not(:disabled):hover{transform:translateY(-7px) rotate(-2deg);box-shadow:0 10px 0 #79bda42e}.friend-card:not(:disabled):hover img{transform:scale(1.07)}.friend-card[aria-pressed=true]{border-color:#6e54b9;background:#f1e8ff;box-shadow:0 7px 0 #ae92db66}.friend-card.friend-locked{cursor:default;background:#d8e5e0;border:2px dashed #94b3a7;box-shadow:none}.friend-locked .friend-portrait img{filter:brightness(0);opacity:.17}.friend-lock{position:absolute;inset:0;display:grid;place-items:center;font-size:33px}.friend-description{min-height:28px;font-size:14px;color:#47694f;margin:27px auto 0}.friends{padding-inline:35px}.explore{--explore-a:#d3f2ed;--explore-b:#d8eaff;--explore-accent:#437b92}.explore:before{background:radial-gradient(circle at 5% 18%,#ffffff66 0 75px,transparent 76px),radial-gradient(circle at 94% 77%,#d9d4ff77 0 115px,transparent 116px),radial-gradient(circle,#ffffff99 1.5px,transparent 2px) 0 0/26px 26px,linear-gradient(130deg,var(--explore-a),var(--explore-b))}.explore .category:nth-child(4n+1){background:#e4e6ff}.explore .category:nth-child(4n+2){background:#d7f0ff}.explore .category:nth-child(4n+3){background:#f0e2ff}.explore .category:nth-child(4n){background:#d9f3e9}.explore .surprise-button,.explore .category-arrow{background:#f6fdff}.chessboard{direction:ltr}.hero-copy h1,.section h2{overflow-wrap:break-word}html[lang=de] h1,html[lang=ru] h1{font-size:clamp(38px,4.7vw,64px)}[dir=rtl] .hero-copy,[dir=rtl] .section-top,[dir=rtl] .chess-path,[dir=rtl] .page{text-align:right}[dir=rtl] .subcategories button{text-align:right}[dir=rtl] nav{margin-left:0;margin-inline-start:auto}[dir=rtl] .chessboard{direction:ltr}[dir=rtl] .category-arrow{transform:scaleX(-1)}[dir=rtl] .subcategories button[aria-pressed=true]{border-left:0;border-right:3px solid var(--explore-accent)}[dir=rtl] .chess-demo-footer,[dir=rtl] .form-grid{direction:rtl}[dir=rtl] .word-number{left:auto;right:9px}[dir=rtl] .heard-mark{right:auto;left:9px}.feedback-help{overflow-wrap:anywhere}
@media(max-width:1100px){header{gap:14px;padding-inline:28px}header nav{gap:15px;font-size:12px}.logo{width:140px}.language-control select{width:105px}.friends-gallery{grid-template-columns:repeat(5,minmax(0,1fr));gap:14px}.friend-card{border-radius:22px}.hero-copy h1{font-size:clamp(35px,4.8vw,52px)}}
@media(max-width:800px){header .language-control{order:5;flex-basis:100%;justify-content:flex-end}.language-label{display:inline}.friends-gallery{grid-template-columns:repeat(4,minmax(0,1fr));gap:13px}header{min-height:130px}.hero-copy h1{font-size:clamp(31px,4.8vw,44px)}.hero .actions{gap:14px}.hero .button{font-size:12px}.friends{padding-inline:25px}.friend-card small{font-size:9px}}
@media(max-width:600px){header{padding:12px 20px;gap:9px}.logo{width:116px}header .language-control{margin-top:-2px}.language-control select{min-height:36px;width:144px;font-size:12px}header nav{margin-inline-start:auto;gap:0}header nav .button.small{font-size:10px;padding:10px 12px;gap:7px}#motion{margin-inline-start:0}.friends{padding-inline:20px}.friends-gallery{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.friend-card{padding:9px 5px 12px;border-radius:19px}.friend-card strong{font-size:13px}.friend-card small{font-size:9px;min-height:36px}.friend-lock{font-size:26px}.friends-intro{font-size:13px}.friend-description{font-size:12px}.hero-copy h1,html[lang=de] h1,html[lang=ru] h1{font-size:clamp(33px,10.2vw,46px)}.piece-picker button{font-size:11px}.chess-demo h3{font-size:20px}.chess-demo-heading{flex-wrap:wrap}.chess-rule{overflow-wrap:anywhere}.section-top h2{font-size:30px}.surprise-button{max-width:calc(100% - 105px);font-size:11px}.word .listen-label{white-space:normal;line-height:1.4;min-height:30px}.word-heading span+span{max-width:48%;text-align:end}.download-card .button{font-size:10px;line-height:1.4;gap:6px}.download-card h3{line-height:1.5}.friend-card:not(:disabled):hover{transform:none}}
@media(max-width:374px){header{padding-inline:14px;gap:7px}.logo{width:97px}header nav .button.small{max-width:147px;font-size:9px;padding:9px;gap:5px}.friends{padding-inline:16px}.friends-gallery{gap:8px}.friend-card small{font-size:8px}.section h2{font-size:29px}.piece-picker button{font-size:10px;gap:3px}.chess-path .button{white-space:normal}}
@media(prefers-reduced-motion:reduce){.friend-card,.friend-portrait img{transition:none}.friend-card:not(:disabled):hover,.friend-card:not(:disabled):hover img{transform:none}}
/* Physical centering must not be over-constrained in RTL. */
header:before,.hero:before,.hero:after,.explore:before,.how:before,.downloads:before,.chess-section:before,footer:before{right:auto}.friend-card small{overflow-wrap:anywhere}footer>div{flex-wrap:wrap}

/* Full-width hero surface; content retains its original readable width. */
.hero{max-width:none;width:100%;margin-inline:0;padding-inline:max(48px,calc((100% - 1224px)/2))}
.hero:before,.hero:after{left:0;right:0;width:100%;transform:none}
@media(max-width:600px){.hero{padding-inline:24px}}
@media(max-width:374px){.hero{padding-inline:20px}}

/* Companion background also reaches both viewport edges on every device. */
.friends.section{max-width:none;width:100%;margin-inline:0}

/* The illustrated stage keeps physical coordinates in right-to-left locales. */
.hero-world{direction:ltr}

/* Actual app home screens, inside lightweight platform-specific phone frames. */
.download-card{display:flex;flex-direction:column}
.download-device{height:390px;display:flex;align-items:center;justify-content:center;padding:12px 0 16px;margin:0 0 10px;direction:ltr;flex-shrink:0}
.phone-frame{position:relative;flex:none;background:#191c2a;border:6px solid #242439;border-radius:30px;box-shadow:0 2px 0 2px #a7a3b8,0 16px 23px -13px #38255466;width:165px;max-width:95%;isolation:isolate;transition:transform .25s}
.phone-frame:before{content:"";position:absolute;left:-9px;top:62px;width:3px;height:34px;border-radius:3px;background:#6c6d7f;box-shadow:0 44px 0 #6c6d7f}
.phone-frame:after{content:"";position:absolute;right:-9px;top:94px;width:3px;height:51px;border-radius:3px;background:#6c6d7f}
.phone-frame img{display:block;width:100%;height:auto;border-radius:23px;background:#dcf5ff}
.phone-android{width:195px;border-color:#244b46;box-shadow:0 2px 0 2px #82aea2,0 16px 23px -13px #225b4a66;border-radius:25px}
.phone-android img{border-radius:18px}
.phone-android:before,.phone-android:after{background:#558174}
.download-card h3{margin-top:5px}
.download-card>.button{margin-top:auto}
@media(hover:hover) and (prefers-reduced-motion:no-preference){.download-card:hover .phone-ios{transform:translateY(-5px) rotate(-2deg)}.download-card:hover .phone-android{transform:translateY(-5px) rotate(2deg)}}
@media(min-width:601px) and (max-width:1100px){.download-device{height:405px}.phone-ios{width:172px}.phone-android{width:204px}}
@media(min-width:481px) and (max-width:600px){.download-device{height:315px}.phone-ios{width:132px}.phone-android{width:156px}}
@media(max-width:480px){.download-grid{grid-template-columns:minmax(0,1fr);gap:24px}.download-card{padding:25px 28px}.download-device{height:405px}.phone-ios{width:172px}.phone-android{width:204px}.download-card h3{font-size:21px}.download-card p{font-size:13px}.download-card .button{font-size:13px;min-height:46px}}
@media(prefers-reduced-motion:reduce){.phone-frame{transition:none}}
/* Localized app previews use the app's artwork and translation catalog. */
.phone-frame{container-type:inline-size}
.phone-screen{aspect-ratio:460/1000;position:relative;display:flex;flex-direction:column;gap:2%;overflow:hidden;border-radius:23px;background:#dff6ff url('/assets/phone-garden.webp') center/cover;font-family:'Nunito',system-ui,sans-serif;font-size:3.4cqw;line-height:1.35;color:#242749;padding:0 4% 3%;text-align:start}
.phone-android .phone-screen{aspect-ratio:563/1000;border-radius:18px;gap:1.5%}
.phone-screen img{background:transparent;border-radius:0;object-fit:contain;max-width:100%}
.phone-status{height:5%;display:flex;align-items:center;justify-content:space-between;flex-shrink:0;padding:0 3%;font:700 3.4cqw/1 system-ui;direction:ltr;color:#17222e}
.phone-status i{display:block;width:30%;height:52%;border-radius:20px;background:#15151b}
.phone-android .phone-status i{width:3%;height:auto;aspect-ratio:1;border-radius:50%}
.phone-screen .phone-brand{height:17%;width:75%;margin:0 auto;flex-shrink:0}
.phone-welcome{height:22%;display:flex;align-items:center;gap:2%;flex-shrink:0}
.phone-speech{background:#fffffff5;border:1px solid #ece4f6;border-radius:9cqw;padding:5%;width:61%;position:relative;z-index:1;display:flex;flex-direction:column;gap:3cqw}
.phone-speech strong{font-size:4.8cqw;color:#6633b7;line-height:1.25}
.phone-speech span{font-size:4.1cqw}
.phone-speech b{color:#6633b7;font-size:3.7cqw}
.phone-welcome>img{width:38%;height:100%;object-fit:contain;flex-shrink:0}
.phone-lesson{height:29%;border-radius:6cqw;background:#fffffff7;padding:5%;display:flex;flex-direction:column;gap:3cqw;flex-shrink:0;border:1px solid #e8dcef}
.phone-lesson>strong{font-size:5.3cqw;line-height:1.25;color:#6531ae}
.phone-lesson-row{display:flex;align-items:center;gap:5%;flex:1;min-height:0}
.phone-lesson-row>img{width:27%;height:100%;border-radius:4cqw;background:#eef8ee}
.phone-lesson-row>div{display:flex;flex-direction:column;gap:2cqw;min-width:0}
.phone-lesson-row b{font-size:4.2cqw}
.phone-lesson-row span{font-size:3.8cqw;color:#237d4a}
.phone-progress{height:1.5cqw;background:#e7e8e5;border-radius:10px;flex-shrink:0}
.phone-start{display:flex;justify-content:space-between;align-items:center;background:linear-gradient(#8544d1,#5925a2);color:white;font-size:4cqw;font-weight:900;padding:3% 6%;border-radius:5cqw;box-shadow:0 1px 2px #48236d66}
.phone-start b{background:white;color:#773bb8;border-radius:50%;width:6cqw;height:6cqw;display:grid;place-items:center}
.phone-categories{height:16%;border-radius:5cqw;background:#fffffff2;padding:4%;overflow:hidden;flex-shrink:0;display:flex;flex-direction:column;gap:1.5cqw}
.phone-categories>strong{font-size:4.5cqw;color:#6531ae}
.phone-categories>span{font-size:3.2cqw}
.phone-categories>div{display:flex;gap:6%;min-height:0;flex:1}
.phone-categories img{width:47%;height:100%;background:#dcf0b6;border-radius:3cqw}
.phone-tabs{display:flex;align-items:center;justify-content:space-between;background:#e6efbdeb;border:1px solid #ffffffa8;border-radius:8cqw;padding:3% 1%;height:9%;margin-top:auto;flex-shrink:0;color:#172708}
.phone-tabs>div{width:20%;display:flex;flex-direction:column;align-items:center;gap:1cqw;min-width:0}
.phone-tabs b{font-size:7cqw;line-height:1}
.phone-tabs span{font-size:2.6cqw;line-height:1.15;max-width:100%;overflow-wrap:anywhere;text-align:center}
.phone-tabs>div:first-child{color:#7133b7}
.phone-screen[dir=rtl] .phone-start>b{transform:scaleX(-1)}
.phone-status{height:4%}.phone-screen .phone-brand{height:14%}.phone-welcome{height:21%}.phone-lesson{height:27%}.phone-categories{height:13%}.phone-tabs{height:8%}
.phone-screen{gap:1.5%}.phone-screen .phone-brand{height:13%}.phone-welcome{height:20%}.phone-categories{height:17%}
