/* CATH — a quiet little world for learning. */
:root{--world-sky:#d7edfa;--world-blue:#477dde;--world-ink:#263f51;--world-muted:#607b8b;--world-glass:rgba(255,255,255,.73);--world-line:rgba(255,255,255,.8)}
.cath-world .site-brand img,.cath-world .admin-brand img,.cath-world .brand-mark{mix-blend-mode:multiply}
body.cath-world{color:var(--world-ink);background:radial-gradient(ellipse at 88% 15%,#d8eee3 0,transparent 42%),linear-gradient(180deg,#c8e4f8 0%,#e4f3fa 68%,#dbeef5 100%);background-attachment:fixed;font-family:-apple-system,BlinkMacSystemFont,"Avenir Next","PingFang SC","Microsoft YaHei",sans-serif;--accent:#477dde;--accent-deep:#3265c3;--accent-soft:#e3edfc;--bg:#dfedf5;--panel:rgba(255,255,255,.78);--panel-solid:#f4f9fc;--text:#263f51;--muted:#607b8b;--line:#d7e6ee;--success-bg:#e7f2df;--success-text:#496e39}
.cath-world h1,.cath-world h2,.cath-world h3{text-wrap:balance;letter-spacing:-.035em}
.cath-world a:focus-visible,.cath-world button:focus-visible,.cath-world select:focus-visible,.cath-world input:focus-visible{outline:3px solid #477dde;outline-offset:4px}
.cath-world .topbar-card{background:rgba(244,251,255,.63);border:1px solid var(--world-line);box-shadow:0 8px 28px #4c86ad0c;border-radius:26px;backdrop-filter:blur(20px)}
.cath-world .subject-nav-link,.cath-world .activity-nav-link,.cath-world .activity-nav-current,.cath-world .topbar-current{color:#36556c;background:transparent;box-shadow:none}
.cath-world .subject-dropdown-link{background:#ecf5fb;color:#335b80;font-weight:600}
.cath-world .subject-dropdown-link:hover{background:#dceafa}
.cath-world .subject-nav-code{background:#dceafa!important;color:#3866a6}
.world-intro{display:grid;grid-template-columns:1fr 1.1fr;align-items:center;gap:20px;max-width:1140px;margin:12px auto 0;padding:12px 20px 4px}
.world-intro-copy{padding:22px 0 22px 20px}.world-kicker{font-size:13px;color:#567e98;font-weight:600;letter-spacing:.08em;margin:0 0 14px}
.world-intro h1{font-size:clamp(30px,4.3vw,54px);font-weight:750;line-height:1.17;margin:0 0 18px;max-width:510px}
.world-intro p:not(.world-kicker){font-size:16px;line-height:1.8;color:#577589;max-width:390px}
.world-art{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:contain;mix-blend-mode:multiply;mask-image:radial-gradient(ellipse 70% 70% at center,#000 48%,transparent 76%)}
.world-link{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:46px;padding:0 24px;border-radius:25px;background:#477dde;color:white!important;text-decoration:none;font-size:14px;font-weight:600;box-shadow:0 6px 14px #497cdd20}
.world-heading{display:flex;justify-content:space-between;align-items:center;gap:16px;margin:0 0 20px}.world-heading h2{font-size:21px;margin:0}.world-heading span{font-size:13px;color:#56768c}
.cath-world .topic-grid{grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:16px}
.cath-world .topic-card{position:relative;padding:23px 24px;background:var(--world-glass);border:1px solid #ffffff99;border-radius:25px;box-shadow:0 6px 18px #658ba20a;overflow:hidden}
.cath-world .topic-card:before{content:"";display:block;width:48px;height:8px;border-radius:8px;background:#acd68c;box-shadow:inset 0 2px 2px #ffffff88;margin-bottom:20px}
.cath-world .topic-card:nth-child(3n+2):before{background:#8fbeed}.cath-world .topic-card:nth-child(3n):before{background:#b4b7e6}
.cath-world .topic-card:hover{background:#f8fcff;box-shadow:0 12px 24px #668fac18;transform:translateY(-3px)}
.cath-world .topic-card h3{font-size:20px}.cath-world .topic-card p{color:#637e8d;font-size:14px}
.cath-world .word-card-face{background:#f6fbff;border:1px solid #fff;border-radius:30px;box-shadow:0 12px 30px #628aac18}
.cath-world .word-card-back{background:#eff7ec}.cath-world .card-front-badge{background:#e4efdb;color:#506c3d}
.cath-world .playback-toolbar,.cath-world .mode-toolbar{background:#f4faffbb;border-color:#ffffff99;border-radius:24px}
.cath-world .play-button,.cath-world .hanzi-control-button,.cath-world .world-link{background:#477dde;color:white}
.cath-world .flip-button,.cath-world .hanzi-button{background:#e7f0dd;color:#486842}
.cath-world .hanzi-dialog{background:#f1f8fc;border-radius:28px}.cath-world .hanzi-target{background:white}
.cath-world .cath-bottom-nav{background:rgba(244,250,251,.88);border-color:#ffffffbb;box-shadow:0 9px 26px #48738b1c;border-radius:25px}
.cath-world .cath-bottom-nav a[aria-current]{background:#e0ecfc;color:#386dcc}
.cath-world .materials{gap:20px}.cath-world .material{background:#f7fbfbc9;border:1px solid #ffffffaa;border-radius:28px;box-shadow:0 8px 28px #658ba20c;transition:transform .2s}
.cath-world .material:hover{transform:translateY(-4px)}.cath-world .level{background:#e5f0d9;color:#4e713c;border-radius:16px}
.cath-world .tabs a{background:#f5fbfc99;color:#52768b}.cath-world .tabs a[aria-current]{background:#477dde;color:white}
.cath-world .empty{background:#f6fbfacc;border:1px solid white;border-radius:28px}.cath-world .empty p{max-width:540px}
.cath-world .panel,.cath-world .stat-card,.cath-world .overview-card,.cath-world .card,.cath-world .student-card,.cath-world .topic-card-group,.cath-world .saved-card-item{background:#f7fbfce6;border-color:#d9e7ee;border-radius:24px;box-shadow:0 8px 24px #688aa20a}
.cath-world .overview-note{background:#eaf3df;color:#4c6649}.cath-world .nav-link.active,.cath-world button[type=submit]:not(.danger-button){background:#477dde;color:white;border-color:transparent}
.cath-world input,.cath-world select,.cath-world textarea{border-color:#cadde7;background:#fbfdfe;color:#284557}
.cath-world .checklist-table th,.cath-world .checklist-table .sticky-col{background:#edf5fa;color:#29485d}
.cath-world .checklist-theme-header,.cath-world .topic-card-group-summary{background:#e7f1f7}
.cath-world .login-note{color:#68828f}.cath-login .card{padding-top:18px}.login-island{width:180px;display:block;margin:0 auto;mix-blend-mode:multiply;border-radius:40%}
.cath-world .overview-card strong,.cath-world .stat-value{font-variant-numeric:tabular-nums;color:#4274b6}
.cath-world button,.cath-world .world-link{transition:background .2s,transform .2s}.cath-world button:active,.cath-world .world-link:active{transform:translateY(1px)}
@media(max-width:767px){.world-intro{display:flex;flex-direction:column;gap:0;margin:10px auto 0;padding:0 24px}.world-intro-copy{padding:10px 0 0;width:100%}.world-intro h1{font-size:32px;max-width:330px;margin-bottom:10px}.world-intro p:not(.world-kicker){font-size:14px;margin:8px 0}.world-kicker{font-size:11px;margin-bottom:10px}.world-art{width:min(100%,390px);margin:-2px auto -8px}.world-intro .world-link{margin-top:8px}.cath-world .topic-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.cath-world .topic-card{padding:18px 16px;border-radius:22px}.cath-world .topic-card h3{font-size:17px;overflow-wrap:anywhere}.cath-world .topic-card p{font-size:12px}.cath-world .section{padding-top:18px}.cath-world .word-card,.cath-world .placeholder-card{min-width:0;width:min(100%,380px)}.cath-world .card-grid{grid-template-columns:minmax(0,1fr)}.cath-world .admin-topbar .topbar-card{flex-wrap:wrap}.cath-world .admin-topbar .topbar-nav{order:3;width:100%}.cath-world .topbar{padding-top:14px}.world-heading{margin-bottom:16px}.world-heading h2{font-size:19px}}
@media(prefers-reduced-motion:reduce){.cath-world *{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* Premium app shell refresh */
:root{--ios-bg:#f4f8fd;--ios-blue:#4f7cf7;--ios-blue-deep:#315fd5;--ios-ink:#24364b;--ios-muted:#6d8195;--ios-surface:rgba(255,255,255,.72);--ios-shadow:0 18px 48px rgba(50,91,140,.11)}
body.cath-world > .topbar{display:none!important}
body.cath-world .cath-bottom-nav{width:min(360px,calc(100% - 36px))}
body.cath-world{background:radial-gradient(ellipse at 84% 8%,rgba(197,231,221,.62) 0,transparent 32%),radial-gradient(ellipse at 8% 2%,rgba(207,226,255,.72) 0,transparent 38%),linear-gradient(180deg,#eef6fd 0%,#f7fbff 60%,#f1f7fb 100%);color:var(--ios-ink);font-family:-apple-system,BlinkMacSystemFont,"SF Pro Display","Avenir Next",sans-serif}
.cath-world .topbar{padding-top:18px}.cath-world .topbar-card{background:rgba(255,255,255,.64);border:1px solid rgba(255,255,255,.9);box-shadow:0 10px 32px rgba(58,102,147,.1);border-radius:28px;backdrop-filter:blur(24px) saturate(150%)}
.cath-world .site-brand img,.cath-world .admin-brand img{width:96px;height:52px}.cath-world .topbar-current{background:#e4ecff;color:#345cc1;font-weight:700;border-radius:14px;min-height:38px;padding:0 13px;font-size:13px}
.world-intro{max-width:1180px;grid-template-columns:minmax(0,.92fr) minmax(320px,1.08fr);gap:10px;padding:28px 28px 8px;margin-top:14px}.world-intro-copy{padding:20px 0 24px 8px}.world-kicker{color:#6988a6;font-size:11px;letter-spacing:.16em;font-weight:700}.world-intro h1{font-size:clamp(36px,5vw,62px);line-height:1.04;letter-spacing:-.055em;color:#253d56;max-width:560px}.world-intro h1 em{font-style:normal;color:var(--ios-blue)}.world-intro p:not(.world-kicker){color:#71879b;max-width:390px;line-height:1.65}.world-art-wrap{position:relative;min-height:300px;display:grid;place-items:center}.world-art-glow{position:absolute;width:72%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,rgba(177,216,255,.62),rgba(226,242,255,0) 68%);filter:blur(8px)}.world-art{position:relative;z-index:1;width:100%;max-width:540px;filter:drop-shadow(0 20px 18px rgba(66,115,145,.14));mask-image:radial-gradient(ellipse 74% 72% at center,#000 55%,transparent 82%)}.world-art-caption{position:absolute;z-index:2;right:8%;bottom:17%;padding:8px 12px;border-radius:12px;background:rgba(255,255,255,.75);color:#68819a;font-size:11px;letter-spacing:.05em;box-shadow:0 8px 18px rgba(65,104,136,.1);backdrop-filter:blur(10px)}
.world-heading{align-items:flex-end;margin:14px 0 18px}.world-heading h2{font-size:24px;color:#29445d}.world-heading span{padding-bottom:4px;color:#7690a5}.world-section-kicker{margin:0 0 5px;color:#6c8daf;font-size:10px;letter-spacing:.15em;font-weight:700}.cath-world .topic-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.cath-world .topic-card{min-height:158px;padding:22px 22px 20px;background:rgba(255,255,255,.65);border:1px solid rgba(255,255,255,.92);box-shadow:var(--ios-shadow);border-radius:24px;display:flex;flex-direction:column;justify-content:flex-end}.cath-world .topic-card:before{margin-bottom:auto;height:9px;width:42px}.cath-world .topic-card h3{font-size:21px;color:#29445d;margin:18px 0 7px}.cath-world .topic-card p{color:#71869a;font-size:13px}.cath-world .topic-card:hover{transform:translateY(-4px);box-shadow:0 24px 50px rgba(50,91,140,.15)}
.cath-world .cath-bottom-nav{background:rgba(255,255,255,.78);border-color:rgba(255,255,255,.95);box-shadow:0 12px 32px rgba(50,91,140,.16)}.cath-world .cath-bottom-nav a[aria-current]{background:#e5edff;color:#3867dc}.cath-world .cath-bottom-nav a{color:#74879a}
.cath-world .materials{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.cath-world .material{padding:25px;background:rgba(255,255,255,.68);border:1px solid rgba(255,255,255,.92);box-shadow:var(--ios-shadow)}.cath-world .material h2{color:#29445d}.cath-world .level{background:#e4ecff;color:#4267c1}
@media(max-width:767px){.world-intro{display:flex;padding:12px 20px 0}.world-intro-copy{padding:8px 4px 0}.world-intro h1{font-size:38px;line-height:1.05}.world-intro-actions{margin-top:16px;gap:12px}.world-art-wrap{min-height:252px;margin-top:-8px}.world-art-caption{right:7%;bottom:12%;font-size:10px}.world-heading{align-items:flex-end;margin-top:20px}.world-heading h2{font-size:20px;max-width:260px}.cath-world .topic-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.cath-world .topic-card{min-height:148px;padding:17px 15px;border-radius:21px}.cath-world .topic-card h3{font-size:17px}.cath-world .materials{grid-template-columns:1fr}.cath-world .material{padding:22px}}

/* The homepage is a small, layered world rather than a conventional hero. */
body.cath-world:has(.learning-world){padding-bottom:0!important;overflow-x:hidden;background:#dff2fa}
.learning-world{isolation:isolate;min-height:100dvh}
.world-scene{--world-x:0px;--world-y:0px;position:relative;isolation:isolate;min-height:100dvh;overflow:hidden;color:#24455d;background:#dff2fa;touch-action:manipulation}
.world-scene button{font:inherit;-webkit-tap-highlight-color:transparent}
.sky,.sky::before{position:absolute;inset:0;z-index:-5}.sky{background:radial-gradient(ellipse 82% 54% at 74% 2%,rgba(255,251,210,.78),transparent 62%),radial-gradient(ellipse 65% 56% at 5% 30%,rgba(192,224,255,.74),transparent 67%),linear-gradient(160deg,#dcefff 0%,#d9f0fa 42%,#f5f6dc 115%);animation:sky-breathe 28s var(--ease-in-out,cubic-bezier(.77,0,.175,1)) infinite alternate}.sky::before{content:"";opacity:.22;background-image:radial-gradient(rgba(255,255,255,.8) .6px,transparent .8px);background-size:8px 8px;mix-blend-mode:soft-light}
.scene-copy{position:absolute;z-index:20;top:max(8dvh,62px);left:clamp(22px,7vw,110px);max-width:min(61vw,530px);transform:translate3d(calc(var(--world-x) * .2),calc(var(--world-y) * .2),0);will-change:transform;pointer-events:none}.scene-copy .world-kicker{margin:0 0 12px;color:#4f7c91;font-size:clamp(10px,1.25vw,13px);font-weight:800;letter-spacing:.15em;text-shadow:0 1px rgba(255,255,255,.5)}.scene-copy h1{margin:0;color:#294c63;font-size:clamp(35px,5.4vw,69px);font-weight:780;line-height:.97;letter-spacing:-.065em;text-wrap:balance;text-shadow:0 2px 18px rgba(255,255,255,.35)}.scene-copy h1 em{color:#4e91d5;font-style:normal}.scene-whisper{margin:14px 0 0;color:#63889d;font-size:clamp(12px,1.5vw,16px);font-weight:650;letter-spacing:.01em}
.parallax-layer{will-change:transform}.cloud-layer{position:absolute;inset:0;z-index:1;pointer-events:none;transform:translate3d(calc(var(--world-x) * .4),calc(var(--world-y) * .4),0)}.cloud{position:absolute;display:block;width:clamp(88px,15vw,190px);aspect-ratio:1.8;border:0;background:transparent;cursor:pointer;pointer-events:auto;filter:drop-shadow(0 10px 6px rgba(81,133,153,.11));animation:cloud-drift 32s linear infinite}.cloud::before,.cloud::after{content:"";position:absolute;bottom:12%;background:rgba(255,255,255,.88);box-shadow:inset -8px -8px 15px rgba(170,190,195,.12),inset 5px 5px 10px rgba(255,255,255,.7)}.cloud::before{left:0;width:100%;height:37%;border-radius:99px}.cloud::after{left:24%;width:42%;height:63%;border-radius:50%}.cloud-one{top:14%;left:-3%;animation-duration:38s}.cloud-two{top:7%;right:8%;width:clamp(70px,11vw,155px);opacity:.9;animation-duration:49s;animation-direction:reverse}.cloud-three{top:37%;right:-8%;width:clamp(58px,9vw,120px);opacity:.68;animation-duration:58s}.cloud-four{top:32%;left:18%;width:clamp(45px,7vw,92px);opacity:.57;animation-duration:65s;animation-direction:reverse}.cloud.is-bouncing{animation:cloud-bounce .48s var(--ease-out,cubic-bezier(.23,1,.32,1)) both}
.environment{position:absolute;inset:0;z-index:3;pointer-events:none;transform:translate3d(calc(var(--world-x) * .6),calc(var(--world-y) * .6),0)}.distant-hill{position:absolute;bottom:13%;width:60vw;height:26vw;min-height:190px;border-radius:50% 50% 0 0;background:linear-gradient(150deg,#addfa6,#83c681);filter:drop-shadow(0 -7px 19px rgba(61,137,94,.1));opacity:.72}.hill-one{left:-26vw}.hill-two{right:-29vw;background:linear-gradient(210deg,#bddca3,#9bcf8f);transform:scale(.9)}.pathway{position:absolute;left:51%;bottom:-9%;width:21%;height:49%;border-radius:50% 45% 0 0;background:linear-gradient(90deg,#eadb9d,#fff0b5 50%,#d8c87f);opacity:.45;transform:rotate(9deg)}
.tree{position:absolute;display:block;width:clamp(100px,17vw,230px);height:clamp(160px,25vw,320px);border:0;background:transparent;pointer-events:auto;cursor:pointer;transform-origin:bottom center;animation:tree-sway 6s var(--ease-in-out,cubic-bezier(.77,0,.175,1)) infinite alternate}.tree::before{content:"";position:absolute;bottom:0;left:43%;width:20%;height:55%;border-radius:60% 48% 22% 25%;background:linear-gradient(90deg,#875b32,#b88451 48%,#744b2e);box-shadow:inset 6px 1px 3px rgba(255,234,169,.16)}.tree i{position:absolute;display:block;border-radius:48% 52% 45% 55%;background:radial-gradient(circle at 32% 28%,#d7ef7b,#99ce4e 55%,#68a843);box-shadow:inset -9px -10px 13px rgba(53,121,51,.14),inset 7px 8px 12px rgba(245,255,165,.22),0 8px 11px rgba(61,122,69,.1)}.tree i:nth-child(1){top:8%;left:8%;width:57%;height:48%}.tree i:nth-child(2){top:0;right:4%;width:58%;height:55%}.tree i:nth-child(3){top:27%;right:0;width:56%;height:43%}.tree-left{left:-2%;bottom:13%;z-index:1}.tree-right{right:-3%;bottom:10%;z-index:1;animation-delay:-2.6s;transform:scale(.8)}.tree.is-shaking{animation:tree-shake .48s var(--ease-out,cubic-bezier(.23,1,.32,1))}
.island-stage{position:absolute;z-index:7;left:50%;bottom:clamp(32px,6vh,74px);width:min(76vw,920px);aspect-ratio:3/2;transform:translate3d(calc(-50% + var(--world-x) * .8),calc(var(--world-y) * .8),0);filter:drop-shadow(0 25px 27px rgba(74,125,130,.16));will-change:transform}.island-art{display:block;width:100%;height:100%;object-fit:contain;mix-blend-mode:multiply;user-select:none}.cat-character,.interactive-book{position:absolute;z-index:3;border:0;background:transparent;cursor:pointer}.cat-character{left:37%;top:38%;width:19%;height:34%;border-radius:48% 48% 36% 42%;transform-origin:48% 92%;animation:cat-breathe 3.8s var(--ease-in-out,cubic-bezier(.77,0,.175,1)) infinite}.cat-character::after{content:"";position:absolute;inset:14% 20%;border-radius:50%;box-shadow:0 0 0 0 rgba(255,255,255,0);transition:box-shadow .18s ease}.cat-character:focus-visible,.interactive-book:focus-visible,.cloud:focus-visible,.tree:focus-visible,.interactive-flower:focus-visible{outline:3px solid #fff;outline-offset:4px}.cat-character.is-jumping{animation:cat-jump .62s var(--ease-out,cubic-bezier(.23,1,.32,1)) both}.cat-character.is-jumping::after{box-shadow:0 0 24px 12px rgba(255,255,255,.62)}
.interactive-book{right:31%;bottom:21%;width:22%;height:20%;border-radius:25% 36% 25% 35%;transform-origin:50% 80%;animation:book-float 3.2s var(--ease-in-out,cubic-bezier(.77,0,.175,1)) infinite}.book-glow{position:absolute;inset:-34%;border-radius:50%;background:radial-gradient(circle,rgba(255,231,124,.48),transparent 64%);opacity:.8;animation:book-glow 3.2s ease-in-out infinite}.book-label{position:absolute;left:50%;top:76%;display:block;width:max-content;max-width:136px;padding:8px 11px;border:1px solid rgba(255,255,255,.8);border-radius:15px;background:rgba(255,255,255,.74);box-shadow:0 8px 18px rgba(64,102,122,.13);color:#37668d;font-size:clamp(10px,1.25vw,13px);font-weight:800;line-height:1.12;text-align:center;transform:translateX(-50%);backdrop-filter:blur(10px)}.book-label b{font-size:1.25em}.interactive-book.is-opening{animation:book-open .58s var(--ease-out,cubic-bezier(.23,1,.32,1)) both}.book-letters{position:absolute;z-index:5;right:33%;bottom:34%;display:flex;gap:4px;opacity:0;pointer-events:none;color:#5485c7;font-weight:900;font-size:clamp(17px,2.6vw,32px);text-shadow:0 3px 8px rgba(255,255,255,.9)}.book-letters.is-rising{animation:letters-rise .8s var(--ease-out,cubic-bezier(.23,1,.32,1)) both}.book-letters b:nth-child(2){color:#df9a78;animation-delay:.08s}.book-letters b:nth-child(3){color:#75a958;animation-delay:.16s}
.foreground{position:absolute;inset:0;z-index:10;pointer-events:none;transform:translate3d(var(--world-x),var(--world-y),0)}.flower{position:absolute;display:block;width:40px;height:56px;border:0;background:transparent;pointer-events:auto;cursor:pointer;transform-origin:50% 100%;animation:flower-bob 4.4s var(--ease-in-out,cubic-bezier(.77,0,.175,1)) infinite}.flower::before{content:"✿";position:absolute;top:0;left:0;color:#fff5b3;font-family:Georgia,serif;font-size:36px;line-height:1;text-shadow:0 3px 5px rgba(61,112,68,.16)}.flower::after{content:"";position:absolute;left:48%;bottom:0;width:4px;height:31px;border-radius:9px;background:#5d9b4d}.flower-one{left:12%;bottom:20%;animation-delay:-1s}.flower-two{right:11%;bottom:24%;transform:scale(.78);animation-delay:-2.2s}.flower-three{right:26%;bottom:14%;transform:scale(.62);animation-delay:-.7s}.flower.is-growing{animation:flower-grow .42s var(--ease-out,cubic-bezier(.23,1,.32,1)) both}.stone{position:absolute;display:block;width:clamp(28px,5vw,60px);height:clamp(17px,2.5vw,30px);border-radius:55% 45% 46% 54%;background:linear-gradient(145deg,#eff4ef,#94aba3);box-shadow:inset 8px 5px 7px rgba(255,255,255,.55),0 3px 3px rgba(41,92,85,.15)}.stone-one{bottom:16%;left:24%}.stone-two{bottom:25%;right:6%;transform:scale(.7)}.grass{position:absolute;bottom:14%;display:block;width:38px;height:32px;border-left:4px solid #6bb056;border-radius:60%;transform-origin:bottom;animation:grass-sway 3.8s var(--ease-in-out,cubic-bezier(.77,0,.175,1)) infinite alternate}.grass::before,.grass::after{content:"";position:absolute;bottom:0;width:4px;height:30px;border-radius:60%;background:#80bd62}.grass::before{left:10px;transform:rotate(24deg)}.grass::after{left:19px;transform:rotate(-28deg)}.grass-one{left:33%;bottom:22%;animation-delay:-1.7s}.grass-two{right:18%;bottom:18%;animation-delay:-.5s}.grass-three{left:7%;bottom:14%;transform:scale(.7);animation-delay:-2.5s}
.ambient-particles{position:absolute;z-index:15;inset:0;pointer-events:none}.ambient-object{position:absolute;display:grid;place-items:center;width:32px;height:32px;border:0;border-radius:50%;background:transparent;color:#4d81c7;font-size:23px;font-weight:900;cursor:pointer;pointer-events:auto;text-shadow:0 2px 8px rgba(255,255,255,.85);animation:ambient-float 4.6s var(--ease-in-out,cubic-bezier(.77,0,.175,1)) both}.ambient-object.is-bounced{animation:ambient-react .52s var(--ease-out,cubic-bezier(.23,1,.32,1)) both}.ambient-object.butterfly{color:#d978a8;font-size:29px}.ambient-object.sparkle{color:#f0ad55}.leaf-drop{position:absolute;z-index:14;width:13px;height:18px;border-radius:100% 0 100% 0;background:#d8b15f;pointer-events:none;animation:leaf-fall 2.1s var(--ease-in-out,cubic-bezier(.77,0,.175,1)) both}.world-hint{position:absolute;z-index:21;right:clamp(20px,6vw,90px);top:max(10dvh,74px);display:flex;align-items:center;gap:9px;color:#6390a0;font-size:11px;font-weight:800;letter-spacing:.05em;pointer-events:none}.world-hint i{width:27px;height:27px;border:1.5px solid rgba(99,144,160,.5);border-radius:50%;animation:hint-pulse 2.6s ease-in-out infinite}.world-hint i::after{content:"";display:block;width:7px;height:7px;margin:9px;border-radius:50%;background:#76b5c8}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.learning-world .island-art{mask-image:radial-gradient(ellipse 64% 63% at 52% 63%,#000 54%,transparent 80%)}
@keyframes sky-breathe{from{filter:hue-rotate(0deg) brightness(1)}to{filter:hue-rotate(8deg) brightness(1.03)}}@keyframes cloud-drift{from{translate:-4vw 0}to{translate:8vw 0}}@keyframes cloud-bounce{0%,100%{transform:translateY(0) scale(1)}42%{transform:translateY(-18%) scale(1.06,.94)}70%{transform:translateY(0) scale(.97,1.03)}}@keyframes tree-sway{from{rotate:-1.6deg}to{rotate:1.6deg}}@keyframes tree-shake{0%,100%{rotate:0}25%{rotate:-5deg}50%{rotate:4deg}75%{rotate:-2deg}}@keyframes cat-breathe{0%,100%{transform:scale(1,1) rotate(0)}50%{transform:scale(1.018,.985) rotate(.8deg)}}@keyframes cat-jump{0%{transform:translateY(0) scale(1,1)}32%{transform:translateY(-22%) scale(.97,1.04)}66%{transform:translateY(0) scale(1.08,.91)}100%{transform:translateY(0) scale(1,1)}}@keyframes book-float{0%,100%{transform:translateY(0) rotate(-1deg)}50%{transform:translateY(-5%) rotate(1deg)}}@keyframes book-glow{0%,100%{opacity:.38;transform:scale(.85)}50%{opacity:.8;transform:scale(1.05)}}@keyframes book-open{0%{transform:scale(1) rotate(0)}38%{transform:translateY(-11%) rotate(-7deg) scale(1.08,.94)}70%{transform:translateY(0) rotate(4deg) scale(.96,1.05)}100%{transform:scale(1) rotate(0)}}@keyframes letters-rise{0%{opacity:0;transform:translateY(17%) scale(.8)}35%{opacity:1}100%{opacity:0;transform:translateY(-96%) scale(1.06)}}@keyframes flower-bob{from{rotate(-3deg)}to{rotate(3deg)}}@keyframes flower-grow{0%{transform:scale(1)}45%{transform:scale(1.35,.8)}100%{transform:scale(1)}}@keyframes grass-sway{from{rotate(-5deg)}to{rotate(5deg)}}@keyframes ambient-float{0%{opacity:0;transform:translateY(18px) rotate(-8deg)}18%{opacity:1}80%{opacity:1}100%{opacity:0;transform:translateY(-35px) rotate(9deg)}}@keyframes ambient-react{0%,100%{transform:scale(1) rotate(0)}42%{transform:scale(1.3) rotate(20deg)}}@keyframes leaf-fall{0%{opacity:0;transform:translate(0,0) rotate(0)}15%{opacity:1}100%{opacity:0;transform:translate(35px,170px) rotate(220deg)}}@keyframes hint-pulse{0%,100%{transform:scale(.9);opacity:.55}50%{transform:scale(1.12);opacity:1}}
@media(max-width:767px){.scene-copy{top:max(7dvh,50px);left:24px;max-width:82vw}.scene-copy h1{font-size:clamp(34px,10.7vw,47px)}.scene-copy .world-kicker{font-size:9px}.scene-whisper{margin-top:10px;font-size:12px}.world-hint{right:20px;top:58px;font-size:0}.world-hint i{width:24px;height:24px}.world-hint i::after{margin:8px}.island-stage{width:142vw;max-width:none;bottom:44px}.tree-left{left:-16%;bottom:17%;transform:scale(.76)}.tree-right{right:-19%;bottom:17%;transform:scale(.72)}.distant-hill{bottom:9%;width:95vw;height:55vw}.hill-one{left:-55vw}.hill-two{right:-62vw}.flower-one{left:3%;bottom:18%}.flower-two{right:2%;bottom:19%}.flower-three{right:28%;bottom:14%}.stone-one{left:20%;bottom:14%}.pathway{bottom:4%;height:30%;left:67%;width:28%}.book-label{top:83%;font-size:10px}.cat-character{left:37%;top:39%;width:19%;height:33%}.interactive-book{right:30%;bottom:21%;width:22%;height:20%}}
@media(min-width:768px){.world-scene{min-height:max(100dvh,650px)}.island-stage{width:min(67vw,920px);left:58%;bottom:4vh}.scene-copy{top:17vh}.tree-left{left:3%;bottom:12%}.tree-right{right:4%;bottom:13%}}
@media(prefers-reduced-motion:reduce){.world-scene *{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}.world-hint{display:none}.sky{filter:none!important}}

/* CSS clay world: the homepage intentionally contains no raster scene artwork. */
.learning-world .world-scene{--world-x:0px;--world-y:0px;background:linear-gradient(180deg,#bce7f4 0%,#cceef0 49%,#d8efcf 100%)}
.learning-world .sky{background:radial-gradient(ellipse 70% 40% at 80% 0%,rgba(255,248,190,.58),transparent 70%),radial-gradient(ellipse 58% 54% at 8% 18%,rgba(255,255,255,.3),transparent 72%),linear-gradient(160deg,#b9e4f5 0%,#c7ecf3 45%,#e9efce 100%)}
.learning-world .scene-copy{z-index:20;top:clamp(52px,8.5vh,110px);left:clamp(24px,7vw,124px);max-width:min(38vw,480px)}.learning-world .scene-copy h1{font-size:clamp(32px,4.25vw,60px);line-height:1;letter-spacing:-.062em}.learning-world .scene-whisper{font-size:14px}.learning-world .world-hint{display:none}
.distant-world{position:absolute;z-index:1;inset:0;pointer-events:none;transform:translate3d(calc(var(--world-x) * .15),calc(var(--world-y) * .15),0)}.distant-world .distant-hill{position:absolute;bottom:16%;width:64vw;height:31vw;min-height:200px;border-radius:54% 55% 0 0;background:radial-gradient(ellipse at 40% 25%,#d8edb3 0 2%,transparent 27%),linear-gradient(155deg,#b8dfa4,#8cc88c);box-shadow:inset 0 16px 22px rgba(255,255,255,.24);opacity:.8;filter:none}.distant-world .hill-one{left:-24vw}.distant-world .hill-two{right:-25vw;bottom:13%;background:linear-gradient(205deg,#c8e7ad,#9ccd8e)}.distant-world .hill-three{left:28%;bottom:17%;width:42vw;height:20vw;min-height:120px;background:linear-gradient(180deg,#b8dca1,#94c485);opacity:.55}
.learning-world .cloud{filter:drop-shadow(0 10px 7px rgba(76,132,142,.14))}.learning-world .cloud::before,.learning-world .cloud::after{background:radial-gradient(circle at 34% 30%,#fff 0 23%,#f0f5f1 74%)}
.island-world{position:absolute;z-index:7;left:50%;bottom:-6vh;width:min(104vw,1380px);height:min(70vh,700px);transform:translate3d(calc(-50% + var(--world-x) * .20),calc(var(--world-y) * .20),0);will-change:transform;animation:island-float 5.4s var(--ease-in-out,cubic-bezier(.77,0,.175,1)) infinite alternate}.island-surface{position:absolute;z-index:2;inset:9% -4% 15%;border-radius:51% 49% 45% 47% / 42% 42% 54% 55%;background:radial-gradient(ellipse at 49% 24%,rgba(235,255,187,.72),transparent 29%),radial-gradient(ellipse at 24% 76%,rgba(68,154,78,.32),transparent 30%),linear-gradient(165deg,#b8e66d 0%,#87ce5a 48%,#59a951 100%);box-shadow:inset 0 15px 13px rgba(246,255,191,.4),inset 0 -18px 22px rgba(43,133,68,.4),0 16px 20px rgba(55,112,88,.18);transform:perspective(680px) rotateX(18deg)}.island-surface::before,.island-surface::after{content:"";position:absolute;border-radius:50%;pointer-events:none}.island-surface::before{inset:5% 5%;background:radial-gradient(ellipse at 67% 52%,rgba(255,255,192,.2),transparent 18%),radial-gradient(ellipse at 27% 42%,rgba(237,255,175,.35),transparent 21%);mix-blend-mode:screen}.island-surface::after{inset:-2% 8% 2%;border:8px solid rgba(62,143,67,.22);border-left-color:transparent;border-top-color:rgba(241,255,175,.4);filter:blur(1px)}
.island-rocks{position:absolute;z-index:1;left:7%;right:7%;bottom:0;height:53%;filter:drop-shadow(0 24px 11px rgba(46,79,79,.28))}.island-rocks::before{content:"";position:absolute;inset:0 2% 13%;border-radius:0 0 47% 49% / 0 0 72% 70%;background:linear-gradient(175deg,#657d77,#415861 68%,#31434e);clip-path:polygon(1% 0,99% 0,94% 47%,85% 80%,72% 100%,24% 96%,8% 72%)}.island-rocks i{position:absolute;z-index:2;width:17%;aspect-ratio:1.1;border-radius:48% 52% 46% 54%;background:radial-gradient(circle at 32% 21%,#a5bbb0 0 5%,#778f89 42%,#455d63 82%);box-shadow:inset 7px 5px 8px rgba(211,232,213,.23),inset -8px -9px 9px rgba(21,53,60,.23)}.island-rocks i:nth-child(1){left:4%;top:6%;transform:rotate(15deg)}.island-rocks i:nth-child(2){left:18%;top:21%;transform:scale(1.2)}.island-rocks i:nth-child(3){left:37%;top:8%;transform:scale(.88) rotate(-12deg)}.island-rocks i:nth-child(4){left:54%;top:22%;transform:scale(1.18)}.island-rocks i:nth-child(5){left:70%;top:4%;transform:rotate(11deg)}.island-rocks i:nth-child(6){left:82%;top:24%;transform:scale(.9)}.island-rocks i:nth-child(7){left:45%;top:48%;transform:scale(1.18)}
.winding-path{position:absolute;z-index:3;inset:9% 25% 7% 33%;pointer-events:none;transform:rotate(-6deg)}.winding-path i{position:absolute;display:block;border-radius:52%;background:linear-gradient(100deg,#dfc98d,#fff0b4 49%,#d4bd7b);box-shadow:inset 0 3px 3px rgba(255,255,230,.5),0 2px 4px rgba(104,113,53,.12)}.winding-path i:nth-child(1){width:29%;height:23%;left:35%;top:0;transform:rotate(20deg)}.winding-path i:nth-child(2){width:37%;height:32%;left:27%;top:17%;transform:rotate(-18deg)}.winding-path i:nth-child(3){width:49%;height:34%;left:18%;top:41%;transform:rotate(16deg)}.winding-path i:nth-child(4){width:64%;height:38%;left:1%;top:63%;transform:rotate(-15deg)}
.island-world .tree{position:absolute;z-index:5;display:block;width:clamp(90px,12vw,176px);height:clamp(145px,19vw,260px);border:0;background:transparent;cursor:pointer;pointer-events:auto;transform-origin:50% 96%;animation:tree-sway 5.7s var(--ease-in-out,cubic-bezier(.77,0,.175,1)) infinite alternate}.island-world .tree::before,.island-world .tree::after{display:none}.tree-trunk{position:absolute;z-index:1;left:43%;bottom:1%;width:25%;height:52%;border-radius:50% 50% 31% 28%;background:linear-gradient(90deg,#704a2e,#bd8950 46%,#7b5130);box-shadow:inset 6px 2px 4px rgba(255,224,148,.26),inset -5px 1px 6px rgba(75,38,27,.24)}.tree-crown{position:absolute;z-index:2;display:block;border-radius:47% 54% 48% 51%;background:radial-gradient(circle at 32% 26%,#e2f78a 0 4%,#b6df5d 38%,#78b843 78%);box-shadow:inset 8px 8px 12px rgba(244,255,165,.3),inset -9px -9px 12px rgba(51,116,46,.16),0 8px 7px rgba(49,117,49,.12)}.tree .crown-a{width:52%;height:39%;left:1%;top:22%}.tree .crown-b{width:53%;height:45%;left:26%;top:1%}.tree .crown-c{width:51%;height:39%;right:1%;top:27%}.tree .crown-d{width:44%;height:35%;left:19%;top:39%}.tree .crown-e{width:40%;height:32%;right:14%;top:48%}.tree-left{left:10%;bottom:31%}.tree-back{right:41%;bottom:51%;transform:scale(.58)!important;opacity:.9;animation-delay:-1.8s!important}.tree-right{right:7%;bottom:30%;transform:scale(1.1);animation-delay:-2.4s}.island-world .tree.is-shaking{animation:tree-shake .52s var(--ease-out,cubic-bezier(.23,1,.32,1))}
.cat-character{position:absolute;z-index:8;left:44%;bottom:27%;width:clamp(102px,13vw,164px);height:clamp(140px,17vw,211px);border:0;background:transparent;cursor:pointer;transform-origin:50% 90%;animation:cat-breathe 3.7s var(--ease-in-out,cubic-bezier(.77,0,.175,1)) infinite}.cat-tail{position:absolute;z-index:1;right:2%;bottom:16%;width:36%;height:46%;border:clamp(11px,1.6vw,18px) solid #f8f3e9;border-left:0;border-radius:0 80% 75% 0;transform:rotate(-12deg);filter:drop-shadow(3px 4px 2px rgba(79,101,91,.16))}.cat-backpack{position:absolute;z-index:2;left:9%;bottom:23%;width:42%;height:52%;border-radius:47% 35% 38% 48%;background:radial-gradient(circle at 32% 24%,#94d8f4,#3e8bd1 72%);box-shadow:inset 6px 5px 7px rgba(232,255,255,.34),inset -5px -7px 8px rgba(17,79,147,.24)}.cat-body{position:absolute;z-index:3;left:26%;bottom:11%;width:52%;height:51%;border-radius:48% 49% 36% 37%;background:radial-gradient(circle at 38% 22%,#fff,#f5f0e3 74%);box-shadow:inset 7px 5px 8px rgba(255,255,255,.74),inset -6px -8px 9px rgba(184,179,159,.2),0 6px 5px rgba(55,98,75,.16)}.cat-paw{position:absolute;z-index:5;bottom:8%;width:29%;height:20%;border-radius:46%;background:linear-gradient(145deg,#fff,#ede8dc);box-shadow:inset 4px 3px 5px white,0 4px 3px rgba(57,98,76,.13)}.paw-left{left:23%}.paw-right{right:18%}.cat-head{position:absolute;z-index:7;left:15%;top:2%;width:72%;height:57%;border-radius:49% 51% 47% 48%;background:radial-gradient(circle at 35% 21%,#fff,#f7f1e5 71%);box-shadow:inset 8px 6px 9px rgba(255,255,255,.8),inset -7px -8px 9px rgba(190,178,160,.19),0 7px 5px rgba(54,98,76,.13)}.cat-ear{position:absolute;top:-12%;width:33%;height:37%;border-radius:70% 20% 60% 18%;background:linear-gradient(135deg,#fcf8ee 35%,#ecc8c0 39%,#f5e3dc 59%,#eee7da 64%);box-shadow:inset 3px 4px 4px rgba(255,255,255,.6)}.ear-left{left:7%;transform:rotate(-17deg)}.ear-right{right:7%;transform:scaleX(-1) rotate(-17deg)}.cat-eye{position:absolute;top:47%;width:18%;height:20%;border-radius:50%;background:radial-gradient(circle at 39% 31%,#fff 0 11%,#4d6370 15%,#182c36 50%,#081218 66%);box-shadow:0 1px 1px rgba(80,70,50,.18)}.eye-left{left:20%}.eye-right{right:20%}.cat-nose{position:absolute;top:66%;left:46%;width:10%;height:7%;border-radius:60% 60% 75% 75%;background:#ed9d9c}.cat-mouth{position:absolute;top:72%;left:42%;width:16%;height:10%;border-bottom:1.5px solid #a87b78;border-radius:50%}.cat-cheek{position:absolute;top:68%;width:17%;height:9%;border-radius:50%;background:rgba(243,163,164,.35)}.cheek-left{left:5%}.cheek-right{right:5%}.cat-character.is-jumping{animation:cat-jump .66s var(--ease-out,cubic-bezier(.23,1,.32,1)) both}
.interactive-book{position:absolute;z-index:9;right:25%;bottom:20%;width:clamp(94px,12vw,150px);height:clamp(64px,8vw,102px);border:0;background:transparent;cursor:pointer;transform:rotateZ(-8deg) rotateX(47deg);transform-style:preserve-3d;animation:book-float 3.4s var(--ease-in-out,cubic-bezier(.77,0,.175,1)) infinite}.book-cover{position:absolute;inset:13% 1% 0;border-radius:11px 14px 13px 9px;background:linear-gradient(160deg,#4f9ddc,#2767b8);box-shadow:0 9px 8px rgba(57,95,107,.25),inset 4px 3px 5px rgba(188,234,255,.38)}.book-page{position:absolute;top:1%;width:52%;height:85%;border-radius:11px 8px 8px 11px;background:linear-gradient(145deg,#fffce2,#fff8c9);box-shadow:inset 4px 4px 4px rgba(255,255,255,.9),inset -3px -3px 4px rgba(203,189,130,.2);transform-origin:bottom}.page-left{left:0;transform:rotateZ(-8deg) rotateY(10deg)}.page-right{right:0;transform:rotateZ(8deg) rotateY(-10deg)}.book-page i{position:absolute;display:block;width:18%;height:20%;border-radius:50%;background:#efad63}.book-page i:first-child{top:27%;left:27%}.book-page i:last-child{right:21%;bottom:22%;background:#79b980}.book-spine{position:absolute;z-index:3;left:48%;top:2%;width:5%;height:88%;border-radius:99px;background:#d9b65e}.interactive-book.is-opening{animation:book-open .62s var(--ease-out,cubic-bezier(.23,1,.32,1)) both}.interactive-book.is-opening .page-left{transform:rotateZ(-22deg) rotateY(14deg)}.interactive-book.is-opening .page-right{transform:rotateZ(22deg) rotateY(-14deg)}.book-letters{right:28%;bottom:37%;z-index:11}.book-letters.is-rising{animation:letters-rise .9s var(--ease-out,cubic-bezier(.23,1,.32,1)) both}.adventure-cta{position:absolute;z-index:12;right:8%;bottom:13%;display:flex;align-items:center;gap:8px;min-height:51px;padding:0 19px;border:1px solid rgba(255,255,255,.82);border-radius:999px;background:rgba(255,255,255,.72);box-shadow:0 10px 20px rgba(56,99,105,.2),inset 0 1px 0 white;color:#3a7196;font-size:clamp(12px,1.45vw,15px);font-weight:850;text-decoration:none;backdrop-filter:blur(13px);animation:cta-float 3.6s var(--ease-in-out,cubic-bezier(.77,0,.175,1)) infinite}.adventure-cta b{font-size:1.25em}.adventure-cta:active{transform:scale(.96)}
.surface-stone{position:absolute;z-index:6;width:clamp(22px,3.4vw,48px);height:clamp(17px,2.3vw,29px);border-radius:50%;background:radial-gradient(circle at 33% 18%,#eaf1e4,#9aad9e 70%);box-shadow:inset 5px 3px 4px rgba(255,255,255,.5),0 3px 3px rgba(60,94,78,.18)}.stone-one{left:29%;bottom:27%}.stone-two{right:18%;bottom:33%;transform:scale(.7)}.stone-three{left:61%;bottom:52%;transform:scale(.8)}
.learning-world .foreground{z-index:15;transform:translate3d(calc(var(--world-x) * .30),calc(var(--world-y) * .30),0)}.learning-world .flower{width:42px;height:57px;animation:flower-bob 4.4s var(--ease-in-out,cubic-bezier(.77,0,.175,1)) infinite}.learning-world .flower::before{content:"";left:10px;top:4px;width:27px;height:27px;border-radius:50%;background:radial-gradient(circle,#f6c95a 0 19%,transparent 21%),radial-gradient(ellipse at 50% 0,#fff 0 25%,transparent 27%),radial-gradient(ellipse at 100% 50%,#fff 0 25%,transparent 27%),radial-gradient(ellipse at 50% 100%,#fff 0 25%,transparent 27%),radial-gradient(ellipse at 0 50%,#fff 0 25%,transparent 27%);font-size:0}.learning-world .flower i{position:absolute;left:47%;bottom:0;width:4px;height:35px;border-radius:99px;background:#5f9f54}.flower-one{left:7%;bottom:20%}.flower-two{right:6%;bottom:22%;transform:scale(.82)}.flower-three{left:23%;bottom:12%;transform:scale(.7)}.flower-four{right:28%;bottom:11%;transform:scale(.62)}.learning-world .grass{bottom:14%;border-left-color:#5b9f52}.grass-one{left:34%}.grass-two{right:20%;bottom:20%}.grass-three{left:11%;bottom:12%}
@keyframes island-float{from{translate:0 0}to{translate:0 -6px}}@keyframes cta-float{0%,100%{translate:0 0}50%{translate:0 -4px}}
@media (hover:hover) and (pointer:fine){.adventure-cta:hover{transform:scale(1.035);box-shadow:0 14px 25px rgba(56,99,105,.24),inset 0 1px 0 white}.island-world .tree:hover{filter:brightness(1.04)}}
@media(max-width:767px){.learning-world .scene-copy{top:max(56px,7.6dvh);left:20px;right:20px;max-width:none;text-align:center}.learning-world .scene-copy .world-kicker{font-size:9px;margin-bottom:9px}.learning-world .scene-copy h1{font-size:clamp(32px,9.5vw,42px)}.learning-world .scene-whisper{margin-top:8px;font-size:12px}.distant-world .distant-hill{bottom:27%;width:105vw;height:50vw;min-height:0}.distant-world .hill-one{left:-55vw}.distant-world .hill-two{right:-64vw;bottom:24%}.distant-world .hill-three{display:none}.island-world{bottom:-4vh;width:149vw;height:57dvh;min-height:438px;max-height:570px}.island-surface{inset:7% -8% 14%}.island-rocks{left:4%;right:4%;height:49%}.island-world .tree-left{left:10%;bottom:37%;transform:scale(.76)}.island-world .tree-right{right:7%;bottom:38%;transform:scale(.75)}.island-world .tree-back{display:none}.cat-character{left:39%;bottom:28%;width:127px;height:163px}.interactive-book{right:19%;bottom:20%;width:110px;height:75px}.adventure-cta{right:7%;bottom:8%;min-height:48px;padding:0 14px;font-size:11px}.book-letters{right:23%;bottom:35%}.surface-stone.stone-one{left:22%;bottom:26%}.surface-stone.stone-two{right:9%;bottom:30%}.winding-path{inset:9% 20% 9% 29%}.flower-one{left:3%;bottom:17%}.flower-two{right:1%;bottom:18%}.flower-three{left:21%;bottom:9%}.flower-four{right:30%;bottom:8%}}
@media(min-width:768px){.island-world{height:min(73vh,720px);bottom:-10vh}.island-world .tree-left{left:14%;bottom:36%}.island-world .tree-right{right:10%;bottom:36%}}
@media(max-width:767px){.island-world .interactive-book{right:30%}.island-world .adventure-cta{right:23%;bottom:13%;padding:0 12px;font-size:10px}}
@media(prefers-reduced-motion:reduce){.island-world,.adventure-cta{animation:none!important}.cat-character.is-jumping,.island-world .tree.is-shaking,.interactive-book.is-opening,.book-letters.is-rising,.learning-world .flower.is-growing{animation-duration:.16s!important}}

/* Oblique island camera: the scene stays readable while the island can be orbited. */
.learning-world .world-scene{perspective:1400px;perspective-origin:50% 44%}
.learning-world .island-world{--island-tilt-x:21deg;--island-tilt-y:-8deg;transform-style:preserve-3d;transform:translate3d(calc(-50% + var(--world-x) * .20),calc(var(--world-y) * .20),0) rotateX(var(--island-tilt-x)) rotateY(var(--island-tilt-y)) rotateZ(-3deg);transform-origin:50% 72%;touch-action:none;user-select:none;cursor:grab}
.learning-world .island-world.is-orbiting{cursor:grabbing}
.learning-world .island-surface{transform:translateZ(12px) perspective(680px) rotateX(13deg) rotateZ(-2deg);transform-style:preserve-3d}
@media(max-width:767px){.learning-world .island-world{--island-tilt-x:18deg;--island-tilt-y:-6deg;transform-origin:50% 70%}.learning-world .world-scene{perspective:980px;perspective-origin:50% 48%}}

/* Every inhabitant gets a height above the grass, so the camera reveals depth instead of sliding decals. */
.learning-world .island-world,.learning-world .island-surface,.learning-world .tree,.learning-world .cat-character,.learning-world .interactive-book,.learning-world .winding-path{transform-style:preserve-3d}
.learning-world .island-surface::before{transform:translateZ(2px)}.learning-world .island-surface::after{transform:translateZ(5px)}
.learning-world .winding-path{transform:translateZ(9px) rotate(-6deg)}.learning-world .winding-path i{transform:translateZ(4px)}
.learning-world .island-world .tree{--tree-size:1;--tree-height:7px;transform:translateZ(var(--tree-height)) scale(var(--tree-size))!important;filter:drop-shadow(0 13px 7px rgba(45,94,57,.2))}.learning-world .tree-left{--tree-size:.96}.learning-world .tree-right{--tree-size:1.1;--tree-height:9px}.learning-world .tree-back{--tree-size:.58;--tree-height:4px}.learning-world .tree-trunk{transform:translateZ(8px)}.learning-world .tree-crown{transform:translateZ(18px);filter:drop-shadow(0 7px 4px rgba(46,102,49,.16))}.learning-world .tree .crown-a{transform:translateZ(14px)}.learning-world .tree .crown-b{transform:translateZ(28px)}.learning-world .tree .crown-c{transform:translateZ(20px)}.learning-world .tree .crown-d{transform:translateZ(32px)}.learning-world .tree .crown-e{transform:translateZ(24px)}.learning-world .island-world .tree::after{content:"";position:absolute;display:block;z-index:0;left:24%;bottom:-2%;width:56%;height:12%;border-radius:50%;background:rgba(44,105,58,.24);filter:blur(4px);transform:translateZ(1px)}
.learning-world .cat-character{transform:translateZ(118px);transform-style:preserve-3d;filter:drop-shadow(0 13px 7px rgba(42,89,61,.22));animation:cat-depth-breathe 3.7s var(--ease-in-out,cubic-bezier(.77,0,.175,1)) infinite}.learning-world .cat-tail{transform:translateZ(1px) rotate(-12deg)}.learning-world .cat-backpack{transform:translateZ(12px)}.learning-world .cat-body{transform:translateZ(22px)}.learning-world .cat-paw{transform:translateZ(40px)}.learning-world .cat-head{transform:translateZ(53px)}.learning-world .cat-ear{transform:translateZ(10px)}.learning-world .cat-eye{transform:translateZ(17px)}.learning-world .cat-nose,.learning-world .cat-mouth,.learning-world .cat-cheek{transform:translateZ(21px)}.learning-world .cat-character.is-jumping{animation:cat-depth-jump .66s var(--ease-out,cubic-bezier(.23,1,.32,1)) both}
.learning-world .interactive-book{transform:translateZ(104px) rotateZ(-8deg) rotateX(47deg);filter:drop-shadow(0 12px 8px rgba(43,84,95,.23));animation:book-depth-float 3.4s var(--ease-in-out,cubic-bezier(.77,0,.175,1)) infinite}.learning-world .book-cover{transform:translateZ(2px)}.learning-world .book-page{transform:translateZ(12px)}.learning-world .page-left{transform:translateZ(12px) rotateZ(-8deg) rotateY(10deg)}.learning-world .page-right{transform:translateZ(16px) rotateZ(8deg) rotateY(-10deg)}.learning-world .book-page i{transform:translateZ(5px)}.learning-world .book-spine{transform:translateZ(22px)}.learning-world .interactive-book.is-opening{animation:book-depth-open .62s var(--ease-out,cubic-bezier(.23,1,.32,1)) both}.learning-world .interactive-book.is-opening .page-left{transform:translateZ(16px) rotateZ(-22deg) rotateY(14deg)}.learning-world .interactive-book.is-opening .page-right{transform:translateZ(20px) rotateZ(22deg) rotateY(-14deg)}
.learning-world .surface-stone{--stone-size:1;transform:translateZ(32px) scale(var(--stone-size));filter:drop-shadow(0 7px 4px rgba(47,88,70,.18))}.learning-world .stone-two{--stone-size:.7}.learning-world .stone-three{--stone-size:.8}.learning-world .adventure-cta{transform:translateZ(142px);box-shadow:0 13px 22px rgba(56,99,105,.22),inset 0 1px 0 white}.learning-world .book-letters{transform:translateZ(156px)}
@keyframes cat-depth-breathe{0%,100%{transform:translateZ(118px) scale(1,1) rotate(0)}50%{transform:translateZ(118px) scale(1.018,.985) rotate(.8deg)}}@keyframes cat-depth-jump{0%{transform:translateZ(118px) translateY(0) scale(1,1)}32%{transform:translateZ(138px) translateY(-22%) scale(.97,1.04) rotate(-2deg)}66%{transform:translateZ(118px) translateY(0) scale(1.08,.91) rotate(1deg)}100%{transform:translateZ(118px) translateY(0) scale(1,1)}}@keyframes book-depth-float{0%,100%{transform:translateZ(104px) translateY(0) rotateZ(-8deg) rotateX(47deg)}50%{transform:translateZ(110px) translateY(-5%) rotateZ(-6deg) rotateX(47deg)}}@keyframes book-depth-open{0%{transform:translateZ(104px) scale(1) rotateZ(-8deg) rotateX(47deg)}38%{transform:translateZ(124px) translateY(-11%) rotateZ(-15deg) rotateX(47deg) scale(1.08,.94)}70%{transform:translateZ(108px) translateY(0) rotateZ(-4deg) rotateX(47deg) scale(.96,1.05)}100%{transform:translateZ(104px) scale(1) rotateZ(-8deg) rotateX(47deg)}}
@media(max-width:767px){.learning-world .tree-left{--tree-size:.76;--tree-height:6px}.learning-world .tree-right{--tree-size:.75;--tree-height:8px}.learning-world .cat-character{transform:translateZ(100px);animation-name:cat-depth-breathe}.learning-world .interactive-book{transform:translateZ(88px) rotateZ(-8deg) rotateX(47deg);animation-name:book-depth-float}.learning-world .adventure-cta{transform:translateZ(124px)}}
@media(prefers-reduced-motion:reduce){.learning-world .island-world{transform:translate3d(-50%,0,0) rotateX(18deg) rotateY(-6deg)!important}.learning-world .cat-character,.learning-world .interactive-book{animation:none!important}}

/* Normal miniature-diorama camera — depth without a spherical tiny-planet horizon. */
.learning-world .world-scene{perspective:2100px;perspective-origin:50% 58%}
.learning-world .island-world{--island-tilt-x:7deg;--island-tilt-y:0deg;transform:translate3d(calc(-50% + var(--world-x) * .20),calc(var(--world-y) * .20),0) rotateX(var(--island-tilt-x)) rotateY(var(--island-tilt-y));transform-origin:50% 86%}
.learning-world .island-surface{inset:12% -2% 15%;border-radius:23% 23% 9% 9% / 28% 28% 10% 10%;transform:translateZ(4px);box-shadow:inset 0 13px 13px rgba(246,255,191,.36),inset 0 -15px 20px rgba(43,133,68,.3),0 15px 19px rgba(55,112,88,.14)}
.learning-world .island-surface::after{inset:1% 4% 3%;border-radius:18% 18% 8% 8% / 23% 23% 8% 8%;border-width:5px}.learning-world .island-rocks{left:9%;right:9%;height:46%}
.learning-world .distant-world .distant-hill{border-radius:28% 28% 0 0 / 42% 42% 0 0}.learning-world .tree,.learning-world .cat-character{transform-origin:50% 100%}
.learning-world .island-world .tree{transform:translateZ(var(--tree-height)) scale(var(--tree-size))!important}.learning-world .cat-character{transform:translateZ(72px);animation-name:cat-diorama-breathe}.learning-world .cat-character.is-jumping{animation-name:cat-diorama-jump}.learning-world .interactive-book{transform:translateZ(58px) rotateZ(-8deg) rotateX(38deg);animation-name:book-diorama-float}.learning-world .interactive-book.is-opening{animation-name:book-diorama-open}.learning-world .adventure-cta{transform:translateZ(86px)}
@keyframes cat-diorama-breathe{0%,100%{transform:translateZ(72px) scale(1,1) rotate(0)}50%{transform:translateZ(72px) scale(1.018,.985) rotate(.8deg)}}@keyframes cat-diorama-jump{0%{transform:translateZ(72px) translateY(0) scale(1,1)}32%{transform:translateZ(82px) translateY(-22%) scale(.97,1.04) rotate(-2deg)}66%{transform:translateZ(72px) translateY(0) scale(1.08,.91) rotate(1deg)}100%{transform:translateZ(72px) translateY(0) scale(1,1)}}@keyframes book-diorama-float{0%,100%{transform:translateZ(58px) translateY(0) rotateZ(-8deg) rotateX(38deg)}50%{transform:translateZ(62px) translateY(-5%) rotateZ(-6deg) rotateX(38deg)}}@keyframes book-diorama-open{0%{transform:translateZ(58px) scale(1) rotateZ(-8deg) rotateX(38deg)}38%{transform:translateZ(68px) translateY(-11%) rotateZ(-15deg) rotateX(38deg) scale(1.08,.94)}70%{transform:translateZ(60px) translateY(0) rotateZ(-4deg) rotateX(38deg) scale(.96,1.05)}100%{transform:translateZ(58px) scale(1) rotateZ(-8deg) rotateX(38deg)}}
@media(max-width:767px){.learning-world .world-scene{perspective:1450px;perspective-origin:50% 60%}.learning-world .island-world{--island-tilt-x:5deg;--island-tilt-y:0deg;transform-origin:50% 84%}.learning-world .island-surface{inset:11% -3% 14%;border-radius:21% 21% 8% 8% / 24% 24% 8% 8%}.learning-world .distant-world .distant-hill{height:39vw}.learning-world .cat-character{transform:translateZ(60px);animation-name:cat-mobile-diorama-breathe}.learning-world .cat-character.is-jumping{animation-name:cat-mobile-diorama-jump}.learning-world .interactive-book{transform:translateZ(50px) rotateZ(-8deg) rotateX(38deg);animation-name:book-mobile-diorama-float}.learning-world .adventure-cta{transform:translateZ(74px)}}
@keyframes cat-mobile-diorama-breathe{0%,100%{transform:translateZ(60px) scale(1,1)}50%{transform:translateZ(60px) scale(1.018,.985) rotate(.8deg)}}@keyframes cat-mobile-diorama-jump{0%{transform:translateZ(60px) translateY(0) scale(1,1)}32%{transform:translateZ(70px) translateY(-22%) scale(.97,1.04)}66%{transform:translateZ(60px) translateY(0) scale(1.08,.91)}100%{transform:translateZ(60px) translateY(0) scale(1,1)}}@keyframes book-mobile-diorama-float{0%,100%{transform:translateZ(50px) rotateZ(-8deg) rotateX(38deg)}50%{transform:translateZ(54px) translateY(-5%) rotateZ(-6deg) rotateX(38deg)}}
@media(prefers-reduced-motion:reduce){.learning-world .island-world{transform:translate3d(-50%,0,0)!important}}

/* The learning park is a true floating oval: no rectangular terrain silhouette. */
.learning-world .island-world{width:min(1250px,88vw);height:auto;min-height:0;max-height:none;aspect-ratio:1.8 / 1;bottom:-12vh;transform-origin:50% 80%}
.learning-world .island-world::before{content:"";position:absolute;z-index:0;left:11%;right:11%;bottom:-18%;height:29%;border-radius:50%;background:radial-gradient(ellipse,rgba(42,69,66,.38),rgba(54,90,76,.16) 42%,transparent 73%);filter:blur(13px);transform:translateZ(-28px)}
.learning-world .island-surface{inset:0;border-radius:50%;background:radial-gradient(ellipse at 50% 8%,rgba(242,255,186,.83),transparent 34%),radial-gradient(ellipse at 20% 75%,rgba(67,158,78,.28),transparent 35%),linear-gradient(170deg,#bae96e 0%,#8cd05b 48%,#5caf53 100%);box-shadow:inset 0 18px 18px rgba(247,255,196,.42),inset 0 -18px 25px rgba(42,132,66,.42),0 18px 20px rgba(43,95,72,.16)}
.learning-world .island-surface::after{inset:2% 3%;border:7px solid rgba(62,143,67,.2);border-left-color:rgba(72,154,70,.27);border-top-color:rgba(244,255,184,.62);border-radius:50%}
.learning-world .island-rocks{left:7%;right:7%;bottom:-28%;height:53%;filter:drop-shadow(0 25px 14px rgba(40,66,65,.3))}.learning-world .island-rocks::before{inset:-20% 0 0;border-radius:0 0 50% 50% / 0 0 82% 82%;background:linear-gradient(175deg,#6e887d,#465d63 66%,#30434c);clip-path:none}.learning-world .island-rocks i{filter:drop-shadow(0 6px 3px rgba(32,59,60,.22))}
.learning-world .distant-world .distant-hill{border-radius:50% 50% 0 0 / 42% 42% 0 0}
@media(max-width:767px){.learning-world .island-world{width:134vw;height:auto;min-height:0;max-height:none;aspect-ratio:1.25 / 1;bottom:-8vh;transform-origin:50% 82%}.learning-world .island-surface{inset:0;border-radius:50%}.learning-world .island-rocks{left:6%;right:6%;bottom:-25%;height:51%}.learning-world .island-world::before{bottom:-14%;height:24%;filter:blur(10px)}}
@media(max-width:767px){.learning-world .cat-character{top:auto;left:33%;bottom:43%}.learning-world .island-world .interactive-book{right:18%;bottom:52%}.learning-world .adventure-cta{right:12%;bottom:40%;padding:0 10px;font-size:9.5px}}

/* Tree artwork is a vertical object rooted in the grass, not a decal on its horizontal plane. */
.learning-world .island-world .tree{transform:translateZ(var(--tree-height)) scale(var(--tree-size))!important;transform-origin:50% 100%}

/* Three level waypoints keep the story world connected to the unit hub. */
.learning-world .world-level-destinations{position:absolute;z-index:8;inset:0;pointer-events:none;transform-style:preserve-3d}.learning-world .world-level-destination{position:absolute;display:flex;align-items:center;gap:6px;min-height:44px;padding:6px 9px 6px 6px;border:1px solid rgba(255,255,255,.8);border-radius:999px;background:rgba(255,255,255,.73);box-shadow:0 8px 14px rgba(49,92,84,.16),inset 0 1px 0 rgba(255,255,255,.95);color:#47758a;font-size:10px;font-weight:850;line-height:1;text-decoration:none;pointer-events:auto;transform:translateZ(34px) rotateX(-7deg);transition:transform .24s cubic-bezier(.2,.8,.2,1),background .24s ease,box-shadow .24s ease;backdrop-filter:blur(9px)}.learning-world .world-level-destination span{display:grid;width:30px;height:30px;place-items:center;border-radius:50%;background:linear-gradient(145deg,#f8e68b,#e5ac57);box-shadow:inset 2px 2px 3px rgba(255,255,218,.7),inset -2px -3px 4px rgba(174,112,49,.18);color:#fff;font-size:11px}.learning-world .world-level-destination small{font-size:10px;letter-spacing:.01em}.learning-world .world-level-k1{left:27%;top:14%}.learning-world .world-level-k2{left:48%;top:8%}.learning-world .world-level-k3{right:18%;top:17%}.learning-world .world-level-destination.is-current{background:rgba(255,255,255,.93);box-shadow:0 10px 18px rgba(49,92,84,.22),inset 0 1px 0 rgba(255,255,255,.98)}.learning-world .world-level-destination.is-current span{background:linear-gradient(145deg,#7cbf82,#499e67)}@media(hover:hover) and (pointer:fine){.learning-world .world-level-destination:hover{background:#fff;box-shadow:0 12px 20px rgba(49,92,84,.24);transform:translateZ(40px) translateY(-4px) rotateX(-7deg)}}.learning-world .world-level-destination:active{transform:translateZ(34px) scale(.96) rotateX(-7deg)}.learning-world .world-level-destination:focus-visible{outline:3px solid #fff;outline-offset:3px}@media(max-width:767px){.learning-world .world-level-destination{gap:4px;min-height:34px;padding:4px 7px 4px 4px;font-size:9px;transform:translateZ(29px) rotateX(-5deg)}.learning-world .world-level-destination span{width:24px;height:24px;font-size:9px}.learning-world .world-level-destination small{font-size:8px}.learning-world .world-level-k1{left:20%;top:11%}.learning-world .world-level-k2{left:43%;top:6%}.learning-world .world-level-k3{right:16%;top:12%}}
