/* style */
:root{--orange:#f59439;--orange-dark:#b65b15;--yellow:#ffda66;--ink:#403449;--muted:#807383;--paper:#fffaf3;--purple:#9d80d6;--line:#eee7de;--shadow:0 5px 0 #eee6db;--font:'Baloo Bhaijaan 2',Tahoma,Arial,sans-serif;color-scheme:light}
*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font);font-size:17px;line-height:1.6}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer;color:inherit;border:0}button:disabled{cursor:default}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #8058ba;outline-offset:5px}button{touch-action:manipulation}a{color:inherit}h1,h2,h3,p{margin:0}h1,h2,h3{line-height:1.3}h1{font-size:2.1rem;font-weight:800}h2{font-size:1.65rem;font-weight:800}h3{font-size:1.25rem;font-weight:700}svg{flex-shrink:0;vertical-align:middle}img{max-width:100%}[hidden]{display:none!important}
.topbar{background:#fff;border-bottom:1px solid #f0e7da}.top-inner{max-width:1200px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:20px;height:92px;padding:0 32px}.logo{display:block;position:relative;width:195px;height:65px;overflow:hidden;flex-shrink:0;isolation:isolate}.logo img{position:absolute;width:300px;max-width:none;height:300px;left:-49px;top:-106px;mix-blend-mode:multiply}.desktop-nav{display:flex;gap:12px}.desktop-nav button{display:flex;gap:9px;align-items:center;padding:10px 14px;background:none;font-weight:700;color:var(--muted);border-radius:16px;white-space:nowrap}.desktop-nav button.active{color:#ab541b;background:#fff0da}.desktop-nav button.active svg{fill:#ffddb1}.header-actions{display:flex;align-items:center;gap:12px}.round{height:44px;width:44px;border-radius:15px;background:#fff;border:1px solid var(--line);display:inline-flex;justify-content:center;align-items:center;flex-shrink:0}.sound-switch{color:var(--muted)}.star-wallet{display:flex;align-items:center;gap:9px;border:1px solid #fce4ac;background:#fff8e0;padding:6px 13px;border-radius:14px;min-height:42px}.star-wallet svg{fill:#ffc640;stroke:#edab14}.star-wallet b{font-size:1.12rem}.parents{background:none;display:flex;align-items:center;gap:6px;font-size:.91rem;color:#786c78;padding:8px 0}.home-main{max-width:1200px;margin:0 auto;padding:30px 32px 24px}.welcome{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px;gap:15px}.eyebrow{color:var(--muted);font-size:.96rem;margin-bottom:7px}.greeting-sun{font-size:1.9rem;display:inline-block;margin-right:4px}.age-chip{font-size:.91rem;color:#8d7b70;background:#fff;border:1px solid #eee7df;border-radius:30px;padding:6px 14px;white-space:nowrap}.age-chip span{margin:0 6px;color:#f3a550}
.featured-row{display:grid;grid-template-columns:1.8fr 1fr;gap:22px;margin-bottom:32px}.featured{padding:0;position:relative;display:flex;height:288px;overflow:hidden;background:#ffe0a7;border-radius:27px;text-align:right;border:2px solid #ffda98;box-shadow:0 5px 0 #f4d7a5}.featured-copy{position:relative;z-index:1;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;width:46%;padding:24px 27px 24px 0;background:linear-gradient(to left,#ffe0a7 75%,#ffe0a700)}.pill{font-size:.84rem;display:inline-block;font-weight:700;background:#ffffffc9;border-radius:8px;padding:2px 11px;color:#6c5135;line-height:1.8}.featured h2{font-size:2.5rem;line-height:1.18;margin:12px 0 8px;color:#663c23}.featured p{font-size:1rem;color:#875b3a;margin-bottom:16px;white-space:nowrap}.featured-image{position:absolute;width:66%;height:100%;left:0}.featured-image img{width:100%;height:100%;object-fit:cover;object-position:40% center}.featured-image:after{content:'';position:absolute;inset:0;background:linear-gradient(to left,#ffe0a7 0%,transparent 28%)}.primary{display:inline-flex;justify-content:center;align-items:center;gap:12px;background:var(--orange);color:#462914;border:2px solid #eb882c;border-radius:14px;box-shadow:0 4px 0 #d87929;font-weight:800;padding:10px 23px;min-height:49px;line-height:1.5;transition:transform .15s,box-shadow .15s}.primary:hover{background:#ffa34c}.primary:active{transform:translateY(3px);box-shadow:0 1px 0 #d87929}.featured .primary{background:#fff;color:#723f1d;border-color:#fff;box-shadow:0 4px 0 #e9c185;padding:7px 20px}.faux{pointer-events:none}.discovery{position:relative;padding:0;isolation:isolate;overflow:hidden;border-radius:27px;text-align:right;background:#deedc8;border:2px solid #d6e2b7;box-shadow:0 5px 0 #d8e2c6}.discovery>img{position:absolute;width:100%;height:100%;object-fit:cover;inset:0}.discovery:after{position:absolute;content:'';inset:0;background:linear-gradient(0deg,#244930e8,transparent 88%);z-index:0}.discovery>div{position:absolute;z-index:1;bottom:20px;right:24px;left:18px;color:white}.discovery .pill{background:#e6facd;color:#496536}.discovery h2{font-size:1.65rem;margin:7px 0 4px}.discovery-link{display:flex;align-items:center;gap:8px;font-size:.91rem;color:#ebf4df}
.section-title{display:flex;justify-content:space-between;align-items:center;margin:0 0 18px;gap:15px}.section-title h2{font-size:1.65rem}.section-title>span{color:var(--muted);font-size:.92rem}.categories{display:flex;gap:10px;margin-bottom:23px;overflow-x:auto;padding:3px 3px 8px;scrollbar-width:none}.categories::-webkit-scrollbar{display:none}.categories button{display:flex;align-items:center;justify-content:center;gap:9px;white-space:nowrap;background:#fff;border:1.5px solid #eae4db;min-height:47px;padding:6px 19px;border-radius:15px;color:#796d79;font-size:1rem;font-weight:600;transition:.15s}.categories button>span{font-size:1.08rem;min-width:20px;font-weight:800}.categories button.selected{background:#ffe3b3;color:#80512b;border-color:#f8c37e;box-shadow:0 3px 0 #f2cc91}.categories button:hover{border-color:#e5b779}.activity-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:23px 19px}.activity-card{background:white;padding:0;border-radius:23px;text-align:right;border:2px solid #eee7de;box-shadow:var(--shadow);overflow:hidden;transition:transform .2s,border-color .2s}.activity-card:hover{transform:translateY(-5px);border-color:#f5bc79}.activity-card:active{transform:translateY(1px)}.card-picture{height:162px;position:relative;overflow:hidden;background:var(--cover);margin:5px 5px 0;border-radius:17px}.card-picture>img{width:100%;height:100%;object-fit:cover;transition:transform .3s}.activity-card:hover .card-picture>img{transform:scale(1.04)}.card-tag{position:absolute;right:10px;top:10px;z-index:1;background:#ffffffed;padding:1px 10px;border-radius:8px;font-size:.78rem;font-weight:700;color:#635166}.done-tag{position:absolute;left:10px;top:10px;display:flex;align-items:center;justify-content:center;width:25px;height:25px;border-radius:100%;background:#edfce9;color:#43884b}.play-dot{position:absolute;left:11px;bottom:10px;background:#fff;box-shadow:0 3px 0 #00000016;width:34px;height:34px;border-radius:12px;display:flex;align-items:center;justify-content:center;color:#795299}.play-dot svg{width:19px;margin-left:3px;fill:currentColor}.card-body{padding:13px 14px 14px}.card-body h3{margin-bottom:3px}.card-body p{font-size:.84rem;color:var(--muted);line-height:1.6}.peach{--cover:#ffe0bd}.aqua{--cover:#b3eae2}.lilac{--cover:#dfd2f6}.yellow{--cover:#ffe9a4}.green{--cover:#d7ecc2}.pink{--cover:#ffd6e7}.blue{--cover:#c9e6fb}.cover-art{height:100%;display:flex;align-items:center;justify-content:center;gap:8px;padding-top:10px}.block{height:73px;width:61px;border-radius:17px;display:flex;align-items:center;justify-content:center;font-size:3.2rem;line-height:1;font-weight:800;color:white;transform:rotate(-8deg);box-shadow:inset 2px 3px 2px #ffffff7a,0 7px 0 #00000014,0 12px 15px #00000012}.block:nth-child(2){transform:rotate(8deg) translateY(12px)}.block:nth-child(3){transform:rotate(-4deg) translateY(-4px)}.orange{background:#fb9857}.purple{background:#a481d7}.blue{background-color:initial}.block.blue{background:#6aa9e0}.green-block{background:#65b995}.mini-card{background:white;border-radius:14px;width:55px;height:78px;display:flex;align-items:center;justify-content:center;font-size:2rem;box-shadow:0 6px 0 #aa94cb5e;transform:rotate(-10deg);border:3px solid #eee6fb}.mini-card.back{background:#ab85d7;color:#fff;font-size:2.6rem;transform:rotate(8deg);border-color:#c3a5e7}.mini-card:last-child{transform:rotate(12deg)}.art-emoji{font-size:4.3rem;filter:drop-shadow(0 9px 4px #00000012);line-height:1.5}.shape-symbol{font-size:3.5rem;filter:drop-shadow(0 5px 0 #00000014)}.blue-text{color:#609be2}.orange-text{color:#f39a51}.purple-text{color:#a782d5}.operator{font-size:2.8rem;color:#bf8330}.pattern-cover{font-size:1.7rem;white-space:nowrap;direction:ltr}.pattern-cover b{display:inline-block;color:#577985;background:white;border-radius:12px;padding:2px 10px}.word-cover{font-size:2.4rem;font-weight:800;color:#7356a3}.word-cover b{display:inline-block;background:#fff;padding:0 9px;border-radius:9px;box-shadow:0 5px 0 #bb9ce1;color:#f49a43}.size-circle{border-radius:100%;display:inline-block;background:#fc9a4f;box-shadow:inset 3px 4px 0 #ffffff61,0 5px 0 #d3773338;flex-shrink:0}.size-circle.small{width:30px;height:30px}.size-circle.medium{width:48px;height:48px;background:#b093d9}.size-circle.large{width:69px;height:69px;background:#70b4d9}.home-footer{color:#a0918a;display:flex;align-items:center;justify-content:center;gap:7px;font-size:.86rem;margin:30px auto 8px}.home-footer svg{color:#dfa376}.bottom-nav{display:none}
.story-grid{display:grid;grid-template-columns:1fr 1fr;gap:25px}.story-card{border-radius:26px;border:2px solid #eee2d2;box-shadow:var(--shadow);padding:0;text-align:right;overflow:hidden;background:white}.story-card>img{display:block;width:100%;aspect-ratio:1.9;object-fit:cover}.story-card-body{padding:24px}.story-card h2{margin:10px 0}.story-card p{color:var(--muted);margin-bottom:15px}.story-card .pill{background:#ffe7c3}.reading-note,.local-note{text-align:center;color:var(--muted);margin:30px 0;font-size:.95rem}.achievement-hero{text-align:center;padding:26px 20px;background:#fff0ce;border-radius:26px;margin-bottom:35px;border:2px solid #f7deab}.big-trophy{font-size:4.7rem;line-height:1.3}.achievement-hero h2{font-size:2.6rem;margin:6px 0}.achievement-hero p{color:#8d7259;margin:0 0 18px}.badges{display:grid;grid-template-columns:repeat(4,1fr);gap:15px}.badge{text-align:center;background:#fff;border:2px solid #eee7de;border-radius:23px;padding:22px 8px}.badge>span{font-size:3rem}.badge h3{margin:10px 0 5px;font-size:1.1rem}.badge p{font-size:.89rem;color:var(--muted)}.badge.locked{background:#f2efed}.badge.locked>span{filter:grayscale(1);opacity:.4}.badge.earned{border-color:#edc36c;background:#fff9e4}.history-list{border:1px solid var(--line);border-radius:18px;background:white;padding:7px 20px}.history-list>div{padding:11px 0;display:flex;justify-content:space-between}.history-list>div+div{border-top:1px solid var(--line)}.history-list+.section-title,.badges+.section-title{margin-top:28px}
.play-shell{max-width:900px;margin:0 auto;min-height:100vh;padding:28px 30px 45px}.game-top{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:24px}.game-heading{text-align:center}.game-heading h1{font-size:1.55rem}.game-heading p{font-size:.95rem;color:var(--muted);margin-top:3px}.progress-track{height:12px;background:#ede7de;border-radius:10px;overflow:hidden;margin:0 0 30px}.progress-track>span{display:block;background:#91c98a;box-shadow:inset 0 3px 0 #bce4a1;height:100%;border-radius:10px;transition:width .35s}.question-panel{text-align:center;max-width:700px;margin:0 auto}.question-title{display:flex;justify-content:center;align-items:center;gap:20px;flex-wrap:wrap;margin-bottom:22px}.question-title h2{font-size:1.55rem}.listen{background:white;border:1px solid #e6deed;border-radius:30px;color:#7d61a4;font-size:.88rem;display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:7px 12px;min-height:40px}.question-scene{background:var(--cover);border:3px solid #ffffff;border-radius:28px;box-shadow:0 5px 0 #eee7df;min-height:215px;display:flex;align-items:center;justify-content:center;flex-direction:column;padding:22px;margin-bottom:24px}.question-visual{font-size:5rem;line-height:1.4}.question-visual.count{font-size:2.9rem;max-width:400px;line-height:1.6}.question-visual.math{font-size:3.5rem;font-weight:800;color:#84552f}.question-visual.pattern{font-size:2.25rem;word-spacing:8px}.question-visual.shape{color:#7a64b0;font-size:8rem;line-height:1.15}.question-word{font-size:2rem;font-weight:700;color:#7f4d29}.color-target{width:125px;height:125px;border-radius:35px;border:4px solid #ffffffba;box-shadow:inset 5px 5px 0 #ffffff33,0 7px 0 #00000013}.answer-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:15px;margin:auto;max-width:580px}.answer{background:#fff;border:2px solid #e4d9ee;border-radius:18px;box-shadow:0 5px 0 #e7ddee;min-height:80px;font-size:1.65rem;font-weight:700;transition:background .15s,transform .15s}.answer:hover:not(:disabled){background:#faf4ff;transform:translateY(-2px)}.answer.correct{background:#dff2d9;border-color:#87be7a;box-shadow:0 4px 0 #7dad73;color:#315d32}.answer.try-again{background:#fff2db;border-color:#f0c780;box-shadow:0 4px 0 #e6c799;opacity:.6}.emoji-answer{font-size:2.9rem}.feedback{min-height:40px;margin:24px 0 8px;color:#9a8a98;font-size:1rem;display:flex;align-items:center;justify-content:center;gap:8px}.feedback.success{color:#43723b;font-weight:700}.feedback.retry{color:#a06c2d}.next-question{min-width:165px}.sizes-grid{grid-template-columns:repeat(3,1fr)}.size-answer{display:flex;align-items:center;justify-content:center;min-height:130px}.size-demo{display:flex;align-items:center;font-size:3rem;letter-spacing:12px;color:#aa77cf}.memory-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;max-width:580px;margin:25px auto}.memory-card{aspect-ratio:1.08;background:linear-gradient(145deg,#ffb557,#f4973e);border:3px solid #ffd092;border-radius:20px;box-shadow:0 5px 0 #d98736;color:white;text-shadow:0 2px 0 #c5753980;font-size:3.5rem;font-weight:800;transition:transform .2s}.memory-card:hover:not(:disabled){transform:rotate(3deg)}.memory-card.revealed{background:white;border-color:#d4bde8;box-shadow:0 5px 0 #c2a8d9}.memory-card.matched{background:#edf8df;border-color:#bad794;box-shadow:0 5px 0 #abc87f}.memory-foot{display:flex;justify-content:space-between;max-width:560px;margin:20px auto;color:#7c6b83}.encourage{color:var(--muted);font-size:1rem;margin-top:20px}.completion{text-align:center;position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px}.finish-close{position:absolute;right:25px;top:25px}.finish-chick{width:205px;height:205px;object-fit:cover;object-position:35% center;border-radius:100%;border:7px solid #ffe7ba;box-shadow:0 7px 0 #edc37e;margin-bottom:15px}.completion h1{font-size:2.7rem}.completion>p{font-size:1.3rem}.earned-stars{display:flex;direction:ltr;gap:14px;font-size:4.5rem;line-height:1.3;color:#e2d9cc;margin:5px}.earned-stars .lit{color:#f3b93b;text-shadow:0 4px 0 #d69a21}.earned-stars span:nth-child(2){transform:translateY(-10px);font-size:5.2rem}.completion .success-copy{color:var(--muted);font-size:1rem}.completion-actions{display:flex;gap:15px;margin-top:20px;flex-wrap:wrap;justify-content:center}.secondary{background:#fff;border:2px solid #e7dded;box-shadow:0 3px 0 #e7dded;border-radius:14px;display:inline-flex;justify-content:center;align-items:center;gap:8px;min-height:48px;padding:9px 18px;font-weight:700}.secondary:disabled{opacity:.45}.confetti{font-size:2rem;letter-spacing:15px;color:#eeac50}
.drawing-shell{max-width:1050px}.drawing-tools{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;margin:20px 0}.swatches{display:flex;gap:8px;flex-wrap:wrap}.swatch{width:39px;height:39px;border-radius:50%;background:var(--color);border:3px solid white;box-shadow:0 1px 4px #0002;display:flex;align-items:center;justify-content:center;font-size:1.3rem}.swatch.selected{outline:3px solid #6d537c;outline-offset:2px;transform:scale(1.07)}.brush-size{display:flex;gap:10px;align-items:center;font-size:.94rem}.brush-size input{accent-color:var(--orange);width:115px}#drawing{display:block;max-width:100%;width:100%;height:auto;touch-action:none;background:#fff;border:3px solid #ead9ee;box-shadow:0 6px 0 #ead9ee;border-radius:20px;cursor:crosshair}.drawing-actions{display:flex;gap:12px;flex-wrap:wrap;justify-content:center;margin:23px 0}.story-reader{max-width:1080px}.story-layout{display:grid;grid-template-columns:1.1fr 1fr;border-radius:25px;overflow:hidden;background:white;border:2px solid #eee1cb;box-shadow:var(--shadow)}.story-layout>img{height:100%;width:100%;object-fit:cover;min-height:380px}.story-text{padding:35px;display:flex;align-items:flex-start;flex-direction:column;justify-content:center}.story-text>.pill{background:#fff0d1}.story-text>p{font-size:1.45rem;line-height:2;margin:17px 0;color:#5c4952}.story-pagination{display:flex;gap:7px;margin:25px 0 20px}.story-pagination>span{height:8px;width:8px;border-radius:10px;background:#e9dce8}.story-pagination .current{width:28px;background:#f2a249}.story-controls{display:flex;gap:12px}
dialog{border:2px solid #f3e4d0;border-radius:26px;padding:32px;width:min(480px,calc(100% - 30px));max-height:90vh;color:var(--ink);box-shadow:0 24px 100px #3e214b33;overflow:auto}dialog::backdrop{background:#30223873;backdrop-filter:blur(5px)}dialog h2{padding-left:20px;margin-bottom:12px}dialog>p{color:var(--muted)}.modal-close{position:absolute;left:14px;top:14px;width:32px;height:32px;border:0;background:#f6f1f5}.gate-icon{color:#aa7d42;margin-bottom:15px}.gate-sum{font-size:2rem;text-align:center!important;color:var(--ink)!important;padding:15px}.modal-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:20px}form label{display:block;font-size:1rem;font-weight:600;margin:14px 0 5px}form input,form select{width:100%;border:2px solid #e9dfd6;background:#fffdfa;border-radius:12px;padding:9px 12px;min-height:46px;color:var(--ink)}form .primary{width:100%;margin-top:18px}#gate-error{font-size:.9rem;color:#b94c30;min-height:20px}.muted{color:var(--muted);font-size:.94rem}.tiny-note{margin-top:10px;font-size:.86rem;line-height:1.8}.parent-stats{display:flex;gap:15px;margin:25px 0 16px}.parent-stats>div{display:flex;flex:1;align-items:center;flex-direction:column;background:#fff3dc;border-radius:15px;padding:12px}.parent-stats b{font-size:1.7rem}.parent-stats span{font-size:.88rem}.privacy-note{padding:15px;border-radius:13px;background:#f6f2f8;font-size:.87rem;line-height:1.8}.text-button{background:none;text-decoration:underline;padding:14px 0 0;font-size:.87rem}.danger{color:#b44f39}#toast{position:fixed;bottom:100px;left:50%;transform:translate(-50%,20px);opacity:0;pointer-events:none;background:#4c3a57;color:white;padding:11px 20px;border-radius:14px;max-width:calc(100% - 35px);width:max-content;z-index:1000;transition:.2s;font-size:.95rem;box-shadow:0 5px 20px #0002}#toast.visible{opacity:1;transform:translate(-50%,0)}
@media(min-width:1400px){.home-main{padding-top:35px}.featured-row{margin-bottom:36px}.featured{height:310px}.card-picture{height:174px}}
@media(max-width:1000px){.desktop-nav{gap:4px}.desktop-nav button{padding:9px}.desktop-nav button svg{display:none}.top-inner{padding:0 24px}.logo{width:165px}.logo img{left:-65px}.header-actions{gap:9px}.activity-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.featured h2{font-size:2.2rem}.featured-copy{padding-right:20px;width:48%}.featured p{font-size:.89rem}.featured-row{gap:18px}.featured{height:270px}.discovery h2{font-size:1.4rem}.home-main{padding:26px 24px}.discovery>div{right:18px}.story-text{padding:25px}.story-text>p{font-size:1.3rem}}
@media(max-width:720px){body{font-size:16px}.top-inner{height:79px;padding:0 16px;gap:9px}.logo{width:148px;height:56px}.logo img{width:265px;height:265px;left:-58px;top:-96px}.desktop-nav{display:none}.header-actions{gap:9px}.parents span{display:none}.parents{background:#f6f2f8;padding:10px;border-radius:12px}.star-wallet{min-height:39px;padding:5px 10px}.sound-switch{display:none}.home-main{padding:23px 18px 100px}.welcome{margin-bottom:19px}.welcome h1{font-size:1.8rem}.eyebrow{font-size:.87rem;margin-bottom:4px}.greeting-sun{font-size:1.5rem}.age-chip{font-size:.76rem;padding:5px 10px}.age-chip span{margin:0 3px}.featured-row{display:block;margin-bottom:29px}.featured{width:100%;height:238px;border-radius:23px}.featured-copy{width:48%;padding:18px 20px 20px 0}.featured h2{font-size:2.13rem;margin:12px 0 7px}.featured p{font-size:.85rem;margin-bottom:15px}.featured .pill{font-size:.72rem;padding:3px 8px}.featured-image{width:66%}.featured .primary{font-size:.96rem;min-height:42px;padding:7px 18px;border-radius:12px}.discovery{display:none}.section-title{margin-bottom:15px}.section-title h2{font-size:1.42rem}.section-title>span{font-size:.8rem}.categories{gap:8px;margin-left:-18px;margin-right:-18px;padding:3px 18px 9px;margin-bottom:18px}.categories button{min-height:43px;padding:5px 15px;font-size:.95rem;border-radius:13px}.activity-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 13px}.activity-card{border-radius:19px}.card-picture{height:144px;border-radius:14px;margin:4px 4px 0}.card-body{padding:11px 11px 13px}.card-body h3{font-size:1.1rem}.card-body p{font-size:.78rem;line-height:1.5}.card-tag{font-size:.73rem;right:8px;top:8px;padding:1px 8px;border-radius:6px}.play-dot{width:29px;height:29px;border-radius:10px;left:9px;bottom:8px}.play-dot svg{width:16px}.block{width:43px;height:58px;font-size:2.6rem;border-radius:13px}.cover-art{gap:5px;padding-top:20px}.mini-card{width:40px;height:62px;border-radius:10px;font-size:1.6rem}.mini-card.back{font-size:2.1rem}.art-emoji{font-size:3.5rem}.shape-symbol{font-size:2.7rem}.pattern-cover{font-size:1.25rem}.word-cover{font-size:1.9rem}.operator{font-size:2rem}.cover-art .size-circle.small{width:24px;height:24px}.cover-art .size-circle.medium{width:39px;height:39px}.cover-art .size-circle.large{width:58px;height:58px}.bottom-nav{display:flex;justify-content:space-around;position:fixed;bottom:0;left:0;right:0;background:#fffffff7;border-top:1px solid #eae2d8;z-index:20;padding:9px 10px calc(9px + env(safe-area-inset-bottom));box-shadow:0 -6px 24px #a66f1310;backdrop-filter:blur(10px)}.bottom-nav button{background:none;display:flex;flex-direction:column;gap:3px;align-items:center;justify-content:center;min-width:85px;color:#a094a0;border-radius:15px;padding:4px 12px;font-size:.87rem;font-weight:600;line-height:1.5}.bottom-nav button.active{color:#b86d25;background:#fff2d8}.bottom-nav button.active svg{fill:#fbd292;stroke:#b97533}.bottom-nav svg{width:23px;height:23px}.home-footer{margin-top:25px;font-size:.83rem}.story-grid{grid-template-columns:1fr;gap:24px}.story-card h2{font-size:1.55rem}.story-card-body{padding:20px}.stories-main h1{font-size:1.65rem}.achievement-hero h2{font-size:2.3rem}.badges{grid-template-columns:1fr 1fr;gap:13px}.badge{padding:16px 8px}.play-shell{padding:20px 17px 32px}.game-top{gap:10px;margin-bottom:20px}.game-heading h1{font-size:1.27rem}.game-heading p{font-size:.83rem}.game-top .round{width:40px;height:40px;border-radius:13px}.progress-track{height:10px;margin-bottom:24px}.question-title{gap:12px;margin-bottom:18px}.question-title h2{font-size:1.35rem}.question-scene{min-height:190px;padding:20px 16px;border-radius:23px}.question-visual{font-size:4.5rem}.question-visual.count{font-size:2.3rem;max-width:300px}.question-visual.math{font-size:2.8rem}.question-visual.pattern{font-size:1.6rem;word-spacing:0;white-space:nowrap}.question-visual.shape{font-size:7rem}.answer-grid{gap:14px}.answer{min-height:72px;font-size:1.4rem;border-radius:15px}.emoji-answer{font-size:2.7rem}.size-answer{min-height:120px}.feedback{font-size:.95rem;margin-top:21px}.memory-grid{grid-template-columns:repeat(3,1fr);gap:13px}.memory-card{border-radius:17px;font-size:2.8rem;max-height:105px}.memory-foot{font-size:.91rem}.encourage{font-size:.95rem}.completion{padding-top:80px;padding-bottom:60px;justify-content:flex-start}.completion h1{font-size:2.2rem}.completion>p{font-size:1.1rem}.completion-actions{flex-direction:column;width:85%}.earned-stars{font-size:3.5rem}.earned-stars span:nth-child(2){font-size:4.3rem}.finish-chick{width:170px;height:170px}.swatches{gap:9px}.swatch{width:32px;height:32px}.drawing-tools{gap:16px}.drawing-actions{gap:9px}.drawing-actions button{font-size:.9rem;padding:8px 12px}.story-layout{display:flex;flex-direction:column}.story-layout>img{min-height:0;max-height:240px;aspect-ratio:1.6}.story-text{padding:23px;min-height:310px}.story-text>p{font-size:1.25rem;line-height:1.95}.story-controls{width:100%}.story-controls .primary{flex:1}.story-pagination{margin:20px 0 15px}dialog{padding:28px 23px}.modal-actions>button{flex:1;font-size:.92rem;padding:10px}.local-note{font-size:.84rem}}
@media(max-width:370px){.top-inner{padding:0 11px}.logo{width:136px}.logo img{left:-65px}.header-actions{gap:7px}.home-main{padding-left:13px;padding-right:13px}.age-chip{display:none}.featured{height:222px}.featured h2{font-size:1.9rem}.featured-copy{padding-right:16px}.featured p{font-size:.75rem}.card-picture{height:125px}.card-body h3{font-size:1rem}.card-body p{font-size:.76rem}.block{width:36px;font-size:2.3rem}.mini-card{width:35px}.art-emoji{font-size:2.8rem}.word-cover{font-size:1.7rem}.shape-symbol{font-size:2.4rem}.pattern-cover{font-size:1.05rem}.question-visual.pattern{font-size:1.35rem}.size-circle.large{width:60px;height:60px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important;animation:none!important;scroll-behavior:auto!important}}

/* experience */
/* Katkoot's play world and immersive touch activities. */
.setup-mode{background:#fffaf2}.setup-screen{max-width:1190px;margin:0 auto;padding:25px 35px 45px;min-height:100svh}.setup-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.setup-top>span{color:#907c72;font-size:.95rem}.setup-progress{height:9px;background:#f2e7d8;border-radius:10px;overflow:hidden}.setup-progress>span{height:100%;display:block;border-radius:10px;background:linear-gradient(90deg,#ffd85d,#ff9b42);transition:width .3s}.setup-layout{display:grid;grid-template-columns:1fr 1.08fr;gap:60px;align-items:center;min-height:calc(100svh - 190px);direction:ltr;margin-top:35px}.setup-content{direction:rtl;padding:15px 0}.setup-friend{direction:rtl;overflow:hidden;border-radius:40px;border:7px solid #ffe7be;background:#ffe8be;box-shadow:0 10px 0 #f7d299;transform:rotate(-2deg)}.setup-friend img{display:block;width:100%;aspect-ratio:.98;object-fit:cover;object-position:39% center}.setup-friend>div{font-size:1.12rem;font-weight:700;text-align:center;padding:15px 10px;background:#ffedc9;color:#90542e}.setup-eyebrow{color:#c47739;font-size:.91rem;font-weight:700}.setup-content h1{font-size:2.3rem;margin:11px 0}.setup-caption{color:#968374;font-size:1rem;margin-bottom:26px}.age-options{display:grid;grid-template-columns:repeat(4,1fr);gap:13px}.age-option{display:flex;flex-direction:column;align-items:center;justify-content:center;background:#fff;border:2px solid #eee0ce;border-radius:21px;min-height:110px;box-shadow:0 4px 0 #eadfd2;transition:.15s}.age-option b{font-size:2.9rem;line-height:1.2;color:#785578}.age-option span{color:#9a8778;font-size:.94rem}.age-option.chosen{background:#ffebad;border-color:#eeb64d;box-shadow:0 4px 0 #e6b04a;transform:translateY(-3px)}.setup-actions{display:flex;gap:23px;align-items:center;margin-top:28px}.setup-actions .primary{min-width:160px}.primary:disabled{opacity:.45;cursor:default;box-shadow:none;transform:none}.setup-actions .text-button{padding:0;color:#927b68;text-decoration:none;font-weight:700}.setup-label{display:block;font-size:1.1rem;font-weight:700;margin:20px 0 10px}.setup-label>span{color:#a39487;font-size:.9rem;font-weight:400}.setup-input{padding:13px 16px;border:2px solid #efdec5;border-radius:16px;width:100%;font-size:1.2rem;background:#fff;color:#614951}.avatar-options{display:grid;grid-template-columns:repeat(6,1fr);gap:8px;margin:23px 0 10px}.avatar-options button{font-size:2.3rem;aspect-ratio:1;background:white;border:2px solid #eee3d5;border-radius:18px}.avatar-options button.chosen{background:#ffeebf;border-color:#e9b63f;box-shadow:0 3px 0 #dba94a}.setup-choices{display:grid;gap:11px}.setup-choice{display:flex;align-items:center;gap:15px;background:white;border:2px solid #eddfd0;padding:11px 15px;border-radius:18px;text-align:right;box-shadow:0 3px 0 #eddfd04d;min-height:65px}.setup-choice.chosen{background:#fff0c8;border-color:#edbe62}.choice-symbol{font-size:1.8rem;width:40px;text-align:center;color:#8b6cb8;font-weight:800}.setup-choice b{font-size:1.02rem;display:block}.setup-choice small{font-size:.83rem;color:#938177;display:block;margin-top:3px}.choice-check{width:25px;height:25px;border:2px solid #e8dccc;border-radius:8px;display:flex;align-items:center;justify-content:center;margin-right:auto;color:#86551f}.chosen .choice-check{background:#ffd16b;border-color:#edb443}.session-options{display:flex;gap:11px}.session-options button{flex:1;background:white;border:2px solid #eaddce;border-radius:12px;padding:9px 5px}.session-options button.chosen{background:#ffecb8;border-color:#e9b650}.setup-summary{text-align:center;border-radius:25px;background:#fff2d6;padding:25px 20px}.summary-avatar{font-size:4rem;line-height:1.4}.setup-summary h2{font-size:1.7rem;margin:6px 0 10px}.setup-summary>p{color:#92764f;font-size:.93rem}.summary-track{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:20px 0}.summary-track span{background:white;padding:8px;border-radius:13px;font-weight:600;font-size:.93rem}.setup-summary .setup-local{font-size:.81rem;color:#a18a74;margin-top:14px}
.world-mode{background:#ffc257;background-image:radial-gradient(ellipse at 30% 30%,#ffe09566 0,transparent 55%),radial-gradient(ellipse at 100% 80%,#f7ad4366 0,transparent 55%);color:#654238}.world-header{display:flex;align-items:center;justify-content:space-between;gap:25px;background:#ef983e;padding:15px max(4vw,24px);border-radius:0 0 28px 28px;min-height:102px;box-shadow:0 6px 0 #e18b3726}.child-profile{display:flex;align-items:center;gap:14px;padding:4px 12px 4px 20px;background:#d88235;border-radius:45px;color:white;text-align:right;min-width:205px}.child-avatar{font-size:2.8rem;line-height:1.4;position:relative;background:#ffe5a5;border:3px solid white;border-radius:50%;width:64px;height:64px;text-align:center;display:flex;justify-content:center;align-items:center}.child-avatar small{position:absolute;bottom:-8px;border:2px solid #f5b937;border-radius:8px;background:#fff7ce;color:#5a4433;line-height:1.1;padding:1px 9px;font-size:.8rem;font-weight:800}.child-profile b{display:block;font-size:1.2rem;max-width:210px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.child-profile>span>small{font-size:.87rem}.world-logo{background:white;border-radius:18px;width:180px;height:57px;box-shadow:0 4px 0 #c5752624}.world-logo img{left:-54px;top:-109px}.world-header-actions{display:flex;align-items:center;gap:15px}.world-stars{background:#ffda70;color:#78502a;font-size:1.13rem;font-weight:800;min-width:88px;padding:9px 15px;border-radius:40px}.world-parents{display:flex;align-items:center;gap:9px;background:white;color:#877c89;font-size:1rem;font-weight:700;padding:10px 24px;border-radius:40px;min-height:49px}.world-expand{background:none;color:#fff;font-size:1.9rem;width:43px;height:43px}.world-main{padding:27px 0 110px;max-width:1800px;margin:auto}.activity-row{margin-bottom:28px;overflow:hidden}.row-title{display:flex;align-items:center;justify-content:space-between;margin:0 max(4vw,24px) 17px}.row-title h2{font-size:1.7rem;color:#76502d}.rail-arrows{display:flex;gap:7px}.rail-arrows button{background:#fff3d0;color:#c07d36;font-size:1.7rem;line-height:1;width:33px;height:33px;border-radius:12px;display:flex;justify-content:center;align-items:center}.activity-rail{display:flex;gap:22px;overflow-x:auto;scroll-snap-type:x mandatory;padding:5px max(4vw,24px) 14px;scrollbar-width:none;overscroll-behavior-x:contain}.activity-rail::-webkit-scrollbar{display:none}.rail-card{position:relative;flex:0 0 280px;background:white;border-radius:31px;padding:15px 15px 18px;box-shadow:0 8px 0 #cd883943;scroll-snap-align:start;min-width:0;transition:transform .18s;text-align:center;border:3px solid white}.rail-card:hover{transform:translateY(-4px)}.rail-card:active{transform:translateY(2px)}.rail-image{height:180px;position:relative;overflow:hidden;border-radius:21px;background:var(--cover,#e9dcf6);display:flex;align-items:center;justify-content:center}.rail-image>img{object-fit:cover;width:100%;height:100%}.rail-card h3{font-size:1.25rem;color:#706779;margin:15px 0 5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rail-type{font-size:.85rem;color:#ab9aac;display:block}.rail-complete{position:absolute;top:8px;right:8px;z-index:1;background:#a5d877;color:#386a34;border-radius:50%;width:29px;height:29px;display:flex;align-items:center;justify-content:center;border:2px solid #fff}.rail-done{border-color:#e9f3d4}.rail-play{position:absolute;left:13px;bottom:16px;width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:#fff0d3;border-radius:9px;color:#dfa248;font-size:.85rem}.start-track-card{flex:0 0 220px;scroll-snap-align:start;border:3px dashed #ffffffb0;border-radius:32px;background:#fcb947;color:#895632;display:flex;align-items:center;justify-content:center;flex-direction:column;padding:20px;min-height:290px;text-align:right}.start-track-card>span{display:flex;width:60px;height:60px;background:#fff1bf;border-radius:50%;align-items:center;justify-content:center;margin-bottom:14px;color:#d18b32}.start-track-card>span svg{fill:currentColor}.start-track-card h3{font-size:2.05rem}.start-track-card p{font-size:1.35rem}.start-track-card small{font-size:.87rem;margin-top:12px;color:#b17b36}.rail-symbol{font-size:5.1rem;display:flex;align-items:center;justify-content:center;gap:5px;line-height:1.2;filter:drop-shadow(0 6px 2px #0001)}.rail-symbol b{font-size:4rem;color:#ef9b3b}.rail-symbol.shadow-preview{font-size:4.7rem}.shadow-preview>span{filter:brightness(.2);opacity:.7}.trace-preview{font-size:8rem;line-height:1;font-weight:800;color:#e7aa4d;-webkit-text-stroke:3px #edbb64;text-shadow:0 4px 0 #d89b3f25}.rail-shapes{display:flex;gap:12px;align-items:center}.rail-shapes i{height:85px;width:52px;border-radius:16px;box-shadow:0 6px 0 #0002}.rail-shapes i:nth-child(2){height:110px}.piano-preview{font-size:9rem;line-height:.9;color:#7d56ab}.rail-image .bowl-cover{object-fit:contain;padding:0 20px}.rail-image .fish-cover{position:absolute;left:30%;top:25%;height:48%;width:40%;object-fit:contain}.rail-image .cover-art{width:100%;height:100%;padding-top:8px}.rail-image .block{width:65px;height:85px;font-size:3.4rem}.rail-image .art-emoji{font-size:4.8rem}.rail-image .shape-symbol{font-size:3.9rem}.row-more{background:none;font-size:.98rem;font-weight:700;color:#aa6d32}.story-rail{flex-basis:360px}.world-nav{position:fixed;z-index:25;bottom:13px;left:50%;transform:translateX(-50%);display:flex;gap:9px;justify-content:center;border:3px solid #fff7e8;background:#fff;border-radius:24px;padding:8px 16px;box-shadow:0 6px 0 #ae6c3440,0 9px 30px #96522426}.world-nav button{min-width:94px;display:flex;align-items:center;justify-content:center;gap:7px;padding:11px 14px;border-radius:14px;background:none;color:#ad9caf;font-weight:700;font-size:.92rem}.world-nav .active{background:#ffedbf;color:#c48b35}.world-nav .active svg{fill:#ffdc7a}
.journey-mode{background:#fff0bb}.journey-screen{max-width:780px;margin:auto;padding:30px 25px}.journey-top{display:flex;justify-content:space-between;align-items:center;gap:15px}.journey-top h1{font-size:1.75rem}.journey-top>span{font-size:1rem;background:white;border-radius:15px;padding:7px 12px}.journey-copy{text-align:center;color:#b58b4a;margin:15px 0 26px}.journey-steps{display:grid;gap:16px}.journey-step{display:flex;align-items:center;gap:20px;padding:14px 22px;background:white;border:3px solid #efd9a9;border-radius:23px;box-shadow:0 5px 0 #e1bd7840;text-align:right}.journey-step>span:last-child{margin-right:auto;color:#dba556}.journey-step.complete{border-color:#abd290}.journey-node{background:#ffe196;color:#b37930;font-size:1.5rem;font-weight:800;display:flex;align-items:center;justify-content:center;border-radius:18px;min-width:58px;height:58px}.journey-step.complete .journey-node{background:#b3d990;color:#52783c}.journey-step b{display:block;font-size:1.16rem}.journey-step small{color:#a59191;display:block;margin-top:3px}.journey-certificate{text-align:center;background:#fff;border-radius:25px;padding:30px;margin-top:20px;font-size:3rem}.journey-certificate h2{font-size:1.6rem}.journey-certificate p{font-size:1rem;color:#9a835b}
.immersive-mode{margin:0;overscroll-behavior:none}.immersive-stage{min-height:100svh;width:100%;position:relative;display:flex;align-items:center;flex-direction:column;padding:105px 80px 55px;overflow:hidden}.immersive-stage.sea{background:#5682d6;background-image:radial-gradient(ellipse at 20% 35%,#719ceb50,transparent 50%)}.immersive-stage.sun{background:#ffe46b;background-image:radial-gradient(circle at 18% 85%,#f2ce5555 0 1%,transparent 1.2%),radial-gradient(circle at 80% 18%,#fff19499 0 2%,transparent 2.1%)}.immersive-stage.lilac{background:#b69aea}.immersive-stage.mint{background:#8ed7ba}.immersive-stage.rose{background:#efa8c8}.immersive-stage.orange{background:#ff974c;background-image:radial-gradient(ellipse at 80% 30%,#ffb76a77,transparent 65%)}.play-chrome{position:absolute;top:20px;right:36px;left:36px;display:flex;align-items:center;justify-content:space-between;gap:15px;z-index:2}.bubble-button{width:60px;height:60px;min-width:60px;border:0;border-radius:23px;background:#fff;color:#b5b3c5;box-shadow:0 5px 0 #0000000e;display:flex;align-items:center;justify-content:center;font-size:2rem}.play-instruction{text-align:center}.play-instruction h1{font-size:1.55rem;color:#57414d;text-shadow:0 1px 0 #fff2}.sea .play-instruction h1{color:white}.round-dots{display:flex;gap:7px;justify-content:center;margin-top:10px;direction:rtl}.round-dots i{width:8px;height:8px;border-radius:50%;background:#ffffff70}.round-dots .now{width:25px;border-radius:10px;background:white}.round-dots .done{background:#a1ce73}.speaker-button{position:absolute;bottom:27px;right:32px;background:#fff2a9;color:#c99043;z-index:3}.sea .speaker-button{background:#ccb9fa;color:#7563b9}.play-feedback{opacity:0;pointer-events:none;position:fixed;bottom:20px;left:50%;transform:translate(-50%,15px);background:white;border:3px solid #e3f0c6;box-shadow:0 5px 0 #6b9b3233;border-radius:27px;padding:10px 17px;display:flex;align-items:center;gap:14px;z-index:50;transition:all .25s;color:#6c9943}.play-feedback.shown{opacity:1;transform:translate(-50%,0);pointer-events:auto}.feedback-star{color:#ffca43;font-size:2rem;line-height:1}.bubble-next{background:#a8d17f;color:#fff;padding:7px 16px;border-radius:13px;font-size:1rem;font-weight:700;white-space:nowrap}.compare-cards{display:flex;justify-content:center;align-items:center;gap:55px;flex:1;width:100%;max-width:1120px;margin:22px auto 20px}.picture-choice{width:calc(50% - 28px);max-width:450px;aspect-ratio:.96;background:#fff;border:12px solid white;border-bottom-width:30px;border-radius:35px;box-shadow:0 11px 0 #3666be;text-align:center;position:relative;transition:transform .25s}.tilt-0{transform:rotate(4deg)}.tilt-1{transform:rotate(-5deg)}.picture-choice.choice-correct{border-color:#ddf3b2;background:#ddf3b2;box-shadow:0 11px 0 #8eb957;transform:rotate(0) scale(1.03)}.choice-tick{display:none;position:absolute;top:-30px;right:-20px;background:white;border-radius:50%;height:75px;width:75px;color:#81b647;font-size:3rem;font-weight:800;border:5px solid #fff}.choice-correct .choice-tick{display:block}.choice-wrong{animation:gentle-shake .25s}.fish-bowl{height:100%;width:100%;position:relative;background:#d8f1f5;border-radius:22px;overflow:hidden}.bowl-bitmap{position:absolute;inset:0;object-fit:contain;width:100%;height:100%}.fish-group{position:absolute;inset:0}.fish-bitmap{position:absolute;left:var(--fx);top:var(--fy);width:32%;height:32%;object-fit:contain;transform:translate(-50%,-50%) scaleX(var(--direction));animation:fish-drift 3s ease-in-out infinite alternate;animation-delay:var(--delay);filter:drop-shadow(0 3px 2px #0001)}
.collect-goal{display:flex;align-items:center;gap:15px;font-size:1.65rem;color:#467d62;margin:16px 0 26px}.collect-goal b{display:flex;align-items:center;justify-content:center;background:#fff5c5;border-radius:20px;height:80px;width:80px;font-size:3rem;color:#bf8742;box-shadow:0 5px 0 #70b393}.collect-field{display:flex;flex-wrap:wrap;gap:18px;max-width:790px;justify-content:center;align-items:center;min-height:160px;flex:1}.collect-item{font-size:5rem;background:#ffffff30;border:3px solid #ffffff70;border-radius:28px;width:118px;height:118px;display:flex;justify-content:center;align-items:center;transition:transform .3s,opacity .3s}.collect-item.collected{opacity:.18;transform:scale(.6);background:#fff}.collected-basket{display:flex;align-items:center;gap:15px;background:#fff3ca;border-radius:25px;padding:3px 22px;margin:26px 0 20px;box-shadow:0 5px 0 #73b89a;color:#976b3c}.collected-basket>span{font-size:4rem}.collected-basket>b{font-size:1.7rem}.tracing-board{width:min(900px,100%);margin:auto;position:relative}.tracing-board canvas{width:100%;height:auto;max-height:calc(100svh - 155px);display:block;touch-action:none;aspect-ratio:900/540;object-fit:contain}.trace-status{display:flex;justify-content:center;align-items:center;gap:20px;color:#ab8434;font-size:1rem;min-height:25px}.trace-status b{background:#fff5be;border-radius:10px;padding:2px 9px;color:#bf8b31}
.drag-arena{max-width:1060px;width:100%;display:flex;flex-direction:column;gap:50px;margin:auto;align-items:center}.drop-zones,.drag-sources{display:flex;justify-content:center;align-items:center;gap:25px;flex-wrap:wrap;max-width:100%}.drop-zone{position:relative;min-width:160px;min-height:150px;border:3px dashed #ffffffa1;border-radius:30px;background:#8c6ec12b;display:flex;align-items:center;justify-content:center;flex-direction:column;padding:15px;transition:.2s}.drop-inner{display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;height:100%;min-width:0}.drop-inner>span:not(.puzzle-ghost):not(.puzzle-piece-image){font-size:4rem}.shape-shadow{font-size:6rem!important;color:#795cac55;line-height:1.1}.drag-source{touch-action:none;position:relative;background:#fff;border:3px solid #fff;border-radius:24px;min-width:130px;min-height:130px;display:flex;align-items:center;justify-content:center;flex-direction:column;padding:10px;box-shadow:0 7px 0 #8566b550;transition:outline .15s,transform .15s}.drag-source.piece-selected{outline:5px solid #ffe87a;outline-offset:3px;transform:scale(1.04)}.drag-source.piece-placed{visibility:hidden;pointer-events:none}.drag-shape{font-size:6rem;line-height:1.1;text-shadow:0 5px 0 #0001}.drag-emoji{font-size:4.5rem;line-height:1.2}.animal-shadow{filter:brightness(.15);opacity:.4;font-size:5.5rem!important}.drop-zone.received{background:#ffffff7a;border-color:#e6fbb8;border-style:solid}.gesture-hint{font-size:.92rem;color:#78569f;text-align:center;margin:28px 0 12px}.drag-float{position:fixed!important;pointer-events:none!important;z-index:1000;transform:scale(1.1) rotate(-3deg);margin:0!important;box-shadow:0 20px 30px #0002}.color-block{display:block;width:68px;height:68px;border-radius:18px;box-shadow:inset 4px 4px 0 #ffffff75,0 4px 0 #0001}.sorting-layout .drag-sources{gap:18px}.sorting-layout .drag-source{min-width:95px;min-height:95px;border-radius:22px}.multi-zone{min-width:220px;min-height:180px;max-width:250px;background:#ffffff4d}.bin-color{display:block!important;width:55px;height:55px;border-radius:50%;box-shadow:inset 3px 3px 0 #fff6;margin-bottom:7px}.drop-inner b{font-size:1.3rem;color:#6a5084}.placed-tokens{display:flex;gap:3px;justify-content:center;margin-top:7px;min-height:10px}.placed-tokens>span{display:flex}.placed-tokens .color-block{height:20px;width:20px;border-radius:6px}.placed-tokens .drag-emoji{font-size:1.8rem}.sequence-layout .drag-source{width:180px}.sequence-layout .drop-zone{width:200px}.sequence-layout small{font-size:.9rem;font-weight:600;color:#93829d;margin-top:10px}.sequence-number{font-size:3.3rem!important;color:#8566b24d!important}.puzzle-layout{display:grid;grid-template-columns:1fr 1fr;gap:50px;max-width:950px;direction:ltr}.puzzle-layout .drop-zones,.puzzle-layout .drag-sources{display:grid;grid-template-columns:repeat(var(--pieces),1fr);gap:6px;width:100%;aspect-ratio:1;direction:ltr;align-items:stretch}.puzzle-layout .drop-zones{background:#8d6eba;border:8px solid #faf1ff;border-radius:22px;padding:7px;box-shadow:0 7px 0 #8666b8}.puzzle-layout .drag-source{min-width:0;min-height:0;aspect-ratio:1;padding:0;border-radius:9px;overflow:hidden;border-width:3px}.puzzle-layout .drop-zone{min-width:0;min-height:0;padding:0;border:0;border-radius:5px;background:#fff2;overflow:hidden}.puzzle-piece-image{display:block;width:100%;height:100%;min-height:100%;background-repeat:no-repeat;aspect-ratio:1;border-radius:5px}.puzzle-ghost{display:block;width:100%;height:100%;opacity:.24}.puzzle-layout .drop-inner{height:100%}.puzzle-layout .placed-tokens{display:none}
.hidden-scene{position:relative;max-width:850px;width:100%;margin:15px auto;aspect-ratio:1.7;border:9px solid #e8f6c7;border-radius:35px;overflow:hidden;box-shadow:0 7px 0 #5bab8499}.hidden-scene>img{width:100%;height:100%;object-fit:cover;display:block;filter:brightness(.9)}.hidden-objects{position:absolute;inset:0}.hidden-object{position:absolute;left:var(--x);top:var(--y);transform:translate(-50%,-50%);background:#ffffffa6;font-size:2.8rem;line-height:1.3;width:68px;height:68px;border:3px solid #ffffffc9;border-radius:50%;display:flex;align-items:center;justify-content:center;filter:drop-shadow(0 3px 0 #0001)}.hidden-object.found{background:#daf4a6;border-color:#a0ce6a;opacity:.35;transform:translate(-50%,-50%) scale(.85)}.find-goal{display:flex;align-items:center;gap:17px;background:#fff9e0;border-radius:22px;padding:5px 25px;font-size:1.2rem;color:#55815c;margin-top:15px}.find-goal>span{font-size:3rem}.find-goal>b{font-size:1.5rem}.vocabulary-card{background:white;border-radius:38px;border:8px solid #fff8f4;box-shadow:0 10px 0 #c779aa55;text-align:center;width:min(480px,90%);padding:25px 40px;margin:auto}.vocabulary-picture{font-size:9rem;line-height:1.3}.vocabulary-card h2{font-size:3rem;margin:7px 0 14px;color:#805b82}.vocabulary-card p{font-size:.9rem;color:#a8919d;margin:15px 0}.word-listen{display:inline-flex;align-items:center;gap:10px;background:#f1e4fc;color:#9770ba;border-radius:20px;padding:10px 18px;font-size:1.15rem}.vocabulary-card .primary{margin:5px 0 10px}.emotion-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:25px;margin:auto;max-width:1000px;width:100%}.emotion-card{background:#fff;border:7px solid white;border-radius:30px;aspect-ratio:1;box-shadow:0 8px 0 #bf75a455;font-size:7rem;display:flex;align-items:center;justify-content:center}.emotion-card.choice-correct{background:#edffc5;border-color:#bee48a}.music-instructions{text-align:center;margin:10px 0 32px;color:#715090}.music-instructions>span{font-size:3.4rem}.music-instructions h2{font-size:1.8rem}.music-instructions p{margin-top:7px;color:#8b6fab;font-size:1rem}.piano-keys{display:flex;direction:ltr;align-items:stretch;gap:10px;max-width:930px;width:100%;margin:auto;min-height:240px}.piano-key{position:relative;flex:1;min-width:0;background:var(--key-color);border:5px solid #fff9;border-radius:20px;box-shadow:0 9px 0 #735b9a55;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;padding:20px 8px;color:#fff;font-weight:800;transition:transform .1s,filter .1s}.piano-key>span{font-size:1.25rem;text-shadow:0 2px 0 #0001}.piano-key>b{margin-top:15px;font-size:1rem;opacity:.7}.piano-key.sounding,.piano-key:active{transform:translateY(6px);filter:brightness(1.2);box-shadow:0 3px 0 #735b9a55}.piano-actions{display:flex;justify-content:center;gap:18px;margin:30px 0}.music-demo{background:white;padding:12px 22px;color:#9972b7;border-radius:16px;font-weight:700;display:flex;gap:9px;align-items:center;justify-content:center}
.paint-studio{display:grid;grid-template-columns:82px minmax(0,1fr) 66px;grid-template-rows:minmax(0,1fr) auto auto;gap:15px 20px;width:100%;max-width:1320px;margin:auto;align-items:center;direction:rtl}.paint-paper{grid-column:2;grid-row:1;background:white;border:9px solid #fff;border-radius:36px;box-shadow:-7px 10px 0 #ffd398;transform:rotate(-.7deg);overflow:hidden}.paint-paper canvas{width:100%;display:block;height:auto;touch-action:none;aspect-ratio:900/540;cursor:crosshair}.paint-toolbar{grid-column:1;grid-row:1/4;display:flex;flex-direction:column;gap:5px;padding:10px 6px;background:#ffe068;border-radius:25px}.paint-toolbar>button{background:none;border-radius:16px;display:flex;align-items:center;justify-content:center;flex-direction:column;padding:3px;min-height:57px}.paint-toolbar>button>span{font-size:1.7rem;line-height:1.2}.paint-toolbar>button>small{font-size:.75rem;font-weight:700;color:#a98636}.paint-toolbar>button.selected{background:white;box-shadow:0 3px 0 #edbb4580}.paint-actions{grid-column:3;grid-row:1/3;display:flex;flex-direction:column;gap:11px}.paint-actions>button{background:white;border:0;border-radius:18px;box-shadow:0 5px 0 #d6854050;height:58px;width:58px;display:flex;align-items:center;justify-content:center;color:#55aa7a;font-size:2.4rem;font-weight:700}.paint-actions>button:nth-child(4){color:#ca75b3}.paint-actions>button:nth-child(5){color:#9b71c2}.paint-colors{grid-column:2;grid-row:2;display:flex;gap:12px;align-items:center;justify-content:center;padding:8px}.paint-colors>button{width:43px;height:43px;border-radius:50%;background:var(--swatch);border:4px solid white;box-shadow:0 4px 0 #0001;transition:transform .15s}.paint-colors>.selected{outline:3px solid #9d542d;outline-offset:3px;transform:translateY(-3px)}.paint-colors>.rainbow-swatch{background:conic-gradient(#fa5f87,#ffd959,#77c782,#66bee9,#b97cd9,#fa5f87)}.paint-bottom{grid-column:2;grid-row:3;display:flex;align-items:center;justify-content:space-between;color:#97562e;padding:0 10px}.paint-bottom>label{display:flex;align-items:center;gap:10px;font-size:.94rem}.paint-bottom input{accent-color:#fff;width:120px}.paint-done{background:#fff;color:#bc7139;border-radius:14px;font-weight:700;padding:8px 19px;font-size:1rem}.orange .speaker-button{display:none}.orange .play-instruction h1{color:#995528}
@keyframes fish-drift{from{margin-left:-3px}to{margin-left:4px}}@keyframes gentle-shake{0%,100%{translate:0 0}30%{translate:-8px 0}70%{translate:8px 0}}.shake{animation:gentle-shake .25s}
@media(min-width:1600px){.rail-card{flex-basis:310px}.rail-image{height:200px}.start-track-card{flex-basis:250px}.world-main{padding-top:34px}.activity-row{margin-bottom:32px}}
@media(max-height:650px) and (min-width:720px){.world-header{min-height:77px;padding-top:8px;padding-bottom:8px;border-radius:0 0 22px 22px}.child-avatar{height:50px;width:50px;font-size:2.3rem}.child-profile{min-width:170px}.child-profile b{font-size:1.04rem}.world-logo{height:48px}.world-logo img{top:-113px}.world-main{padding-top:21px}.row-title{margin-bottom:10px}.row-title h2{font-size:1.5rem}.rail-card{flex-basis:258px;padding:13px 13px 15px;border-radius:30px}.rail-image{height:160px}.rail-card h3{font-size:1.13rem;margin-top:10px}.rail-type{font-size:.77rem}.start-track-card{min-height:260px;flex-basis:194px}.world-nav{bottom:8px;padding:4px 10px}.world-nav button{padding:7px 11px;font-size:.85rem}.world-nav button svg{width:20px}.immersive-stage{padding:75px 80px 34px}.play-chrome{top:12px;left:26px;right:26px}.bubble-button{height:49px;width:49px;min-width:49px;border-radius:19px}.play-instruction h1{font-size:1.15rem}.round-dots{margin-top:6px}.round-dots i{width:6px;height:6px}.round-dots .now{width:18px}.compare-cards{margin:8px auto;gap:55px}.picture-choice{width:min(35vw,calc(100svh - 115px));border-width:9px;border-bottom-width:20px;border-radius:27px;aspect-ratio:1.06}.fish-bowl{border-radius:18px}.speaker-button{bottom:20px;right:28px}.tracing-board{width:min(850px,calc((100svh - 115px)*1.66))}.trace-status{font-size:.83rem}.tracing-board canvas{max-height:none}.drag-arena{gap:25px}.drop-zone{min-width:130px;min-height:120px;border-radius:24px;padding:10px}.drag-source{min-width:105px;min-height:100px;border-radius:20px}.drag-shape{font-size:4.6rem}.shape-shadow{font-size:4.8rem!important}.drag-emoji{font-size:3.6rem}.animal-shadow{font-size:4.7rem!important}.gesture-hint{margin:15px 0 4px;font-size:.83rem}.sorting-layout .drag-source{min-width:78px;min-height:78px}.color-block{width:51px;height:51px;border-radius:13px}.multi-zone{min-width:170px;min-height:134px}.drop-inner>span:not(.puzzle-ghost):not(.puzzle-piece-image){font-size:3rem}.drop-inner b{font-size:1.1rem}.puzzle-layout{max-width:730px;gap:55px}.puzzle-layout .drop-zones,.puzzle-layout .drag-sources{max-width:calc(100svh - 132px)}.hidden-scene{max-width:calc((100svh - 180px)*1.7);margin-top:2px;border-width:6px;border-radius:22px}.hidden-object{width:48px;height:48px;font-size:2.1rem}.find-goal{font-size:.92rem;margin-top:8px;padding:2px 16px;border-radius:17px}.find-goal>span{font-size:2rem}.find-goal>b{font-size:1.1rem}.vocabulary-card{width:560px;max-width:80%;display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:8px 18px;padding:20px 28px}.vocabulary-picture{grid-row:1/5;font-size:7rem}.vocabulary-card h2{font-size:2.1rem;margin:0}.vocabulary-card p{font-size:.77rem;margin:5px}.vocabulary-card .primary{font-size:.93rem;padding:8px;min-height:40px}.word-listen{font-size:.96rem;padding:7px 12px;justify-content:center}.emotion-card{font-size:5rem;max-width:180px}.emotion-cards{gap:18px;max-width:800px}.music-instructions{margin:0 0 12px}.music-instructions>span{display:none}.music-instructions h2{font-size:1.5rem}.music-instructions p{font-size:.83rem;margin:4px 0}.piano-keys{max-width:700px;min-height:145px;height:calc(100svh - 240px)}.piano-actions{margin:17px 0 0}.piano-actions button{min-height:40px;font-size:.91rem;padding:8px 17px}.piano-key{border-width:4px;border-radius:17px;padding:13px 7px}.piano-key>span{font-size:1rem}.piano-key>b{font-size:.8rem;margin-top:6px}.paint-studio{max-width:1100px;grid-template-columns:65px minmax(0,1fr) 54px;gap:7px 17px;max-height:calc(100svh - 85px);align-items:center}.paint-paper{max-width:calc((100svh - 173px)*1.66);justify-self:center;width:100%;border-radius:26px;border-width:6px}.paint-toolbar{padding:6px 4px;border-radius:21px;gap:0}.paint-toolbar>button{min-height:37px;padding:2px;border-radius:10px}.paint-toolbar>button>span{font-size:1.3rem}.paint-toolbar>button>small{font-size:.64rem}.paint-actions{gap:9px}.paint-actions>button{width:46px;height:44px;border-radius:14px;font-size:1.9rem}.paint-actions svg{width:23px}.paint-colors{padding:3px;gap:11px}.paint-colors>button{width:30px;height:30px;border-width:3px}.paint-bottom>label{font-size:.78rem}.paint-bottom input{width:90px}.paint-done{font-size:.85rem;padding:5px 13px}.orange .play-chrome{top:11px}.orange .play-instruction h1{font-size:1.08rem}.orange .round-dots{display:none}.play-feedback{bottom:9px;padding:5px 10px;border-radius:20px;font-size:.88rem}.bubble-next{font-size:.87rem;padding:5px 12px}.feedback-star{font-size:1.6rem}}
@media(max-width:719px){.setup-screen{padding:16px 22px 35px}.setup-top{margin-bottom:13px}.setup-top .logo{width:145px}.setup-top>span{font-size:.8rem}.setup-layout{display:block;min-height:0;margin-top:29px}.setup-friend{display:none}.setup-content{padding:0}.setup-content h1{font-size:1.9rem;margin:12px 0}.setup-caption{font-size:.98rem;margin-bottom:26px}.setup-eyebrow{font-size:.85rem}.age-options{gap:13px;grid-template-columns:repeat(3,1fr)}.age-option{min-height:112px}.age-option b{font-size:2.8rem}.setup-actions{margin-top:28px}.setup-actions .primary{flex:1;min-height:52px}.setup-choice{padding:12px;min-height:69px;gap:12px}.setup-choice b{font-size:.98rem}.setup-choice small{font-size:.79rem}.choice-symbol{width:34px;font-size:1.7rem}.avatar-options{grid-template-columns:repeat(3,1fr);gap:12px}.avatar-options button{font-size:3rem;height:92px;aspect-ratio:initial}.setup-input{font-size:1.1rem}.setup-summary{padding:20px 15px}.world-header{padding:12px 15px;min-height:88px;gap:8px;border-radius:0 0 24px 24px}.child-profile{gap:9px;min-width:0;padding:3px 6px 3px 14px;max-width:calc(100% - 145px)}.child-avatar{min-width:49px;width:49px;height:49px;font-size:2.2rem}.child-avatar small{font-size:.69rem;bottom:-8px;padding:1px 7px}.child-profile b{font-size:.99rem;max-width:115px}.child-profile>span>small{font-size:.76rem}.world-logo{display:none}.world-header-actions{gap:8px}.world-stars{font-size:1rem;min-width:58px;padding:8px 9px}.world-parents{padding:9px;min-height:40px;width:40px;justify-content:center}.world-parents span{display:none}.world-expand{display:none}.world-main{padding-top:25px;padding-bottom:90px}.row-title{margin:0 19px 14px;gap:9px}.row-title h2{font-size:1.21rem}.rail-arrows{gap:4px}.rail-arrows button{width:28px;height:28px;font-size:1.4rem;border-radius:10px}.activity-rail{gap:15px;padding:4px 19px 14px}.rail-card{flex-basis:219px;padding:11px 11px 15px;border-radius:27px;box-shadow:0 7px 0 #cd883943}.rail-image{height:156px;border-radius:18px}.rail-card h3{font-size:1.12rem;margin:13px 0 5px}.rail-type{font-size:.8rem}.start-track-card{flex-basis:157px;min-height:250px;border-radius:26px;padding:18px 10px;border-width:2px}.start-track-card h3{font-size:1.75rem}.start-track-card p{font-size:1.1rem}.start-track-card>span{width:52px;height:52px}.start-track-card small{font-size:.8rem}.activity-row{margin-bottom:23px}.rail-symbol{font-size:4.4rem}.rail-symbol b{font-size:3.3rem}.trace-preview{font-size:7rem}.rail-shapes i{height:72px;width:42px;border-radius:13px}.rail-shapes i:nth-child(2){height:93px}.rail-symbol.shadow-preview{font-size:3.8rem}.piano-preview{font-size:7.4rem}.rail-image .block{height:70px;width:52px;font-size:2.9rem}.rail-image .mini-card{width:46px;height:78px;font-size:2rem}.rail-image .art-emoji{font-size:4.4rem}.rail-image .shape-symbol{font-size:3.6rem}.rail-image .word-cover{font-size:2.6rem}.rail-image .pattern-cover{font-size:1.6rem}.story-rail{flex-basis:260px}.world-nav{bottom:0;border-radius:23px 23px 0 0;left:0;right:0;transform:none;padding:8px 10px calc(8px + env(safe-area-inset-bottom));gap:3px;justify-content:space-around;box-shadow:0 -5px 25px #935a3126;border-width:2px}.world-nav button{flex-direction:column;min-width:0;flex:1;font-size:.77rem;gap:3px;padding:4px 9px}.world-nav button svg{width:21px;height:21px}.journey-screen{padding:23px 17px}.journey-top h1{font-size:1.25rem}.journey-top>span{font-size:.89rem;padding:6px 8px}.journey-step{gap:13px;padding:13px 15px;border-radius:21px}.journey-node{min-width:50px;height:50px;font-size:1.3rem}.journey-step b{font-size:1.06rem}.journey-step small{font-size:.83rem}.immersive-stage{padding:110px 20px 95px;min-height:100svh}.play-chrome{top:19px;right:16px;left:16px;gap:9px}.bubble-button{width:44px;height:44px;min-width:44px;border-radius:17px;font-size:1.7rem}.bubble-button svg{width:24px}.play-instruction h1{font-size:1.07rem;line-height:1.5}.expand-button{font-size:1.6rem}.round-dots{gap:5px;margin-top:8px}.round-dots i{width:6px;height:6px}.round-dots .now{width:20px}.speaker-button{bottom:25px;right:21px;width:54px;height:54px;border-radius:21px}.compare-cards{gap:15px;flex-direction:row;max-width:500px;align-items:center;margin:auto;flex:none;min-height:calc(100svh - 245px)}.picture-choice{width:calc(50% - 8px);border-width:7px;border-bottom-width:16px;border-radius:24px;box-shadow:0 7px 0 #3666be;aspect-ratio:.78}.fish-bowl{border-radius:16px;height:100%;min-height:180px}.bowl-bitmap{object-fit:contain}.fish-group{top:14%;bottom:14%}.fish-bitmap{width:36%;height:36%}.choice-tick{width:49px;height:49px;right:-10px;top:-19px;font-size:1.9rem;border-width:4px}.collect-goal{font-size:1.25rem;gap:12px;margin:14px 0 28px}.collect-goal b{width:65px;height:65px;font-size:2.5rem;border-radius:18px}.collect-field{gap:13px;min-height:220px;align-content:center}.collect-item{width:83px;height:83px;border-radius:22px;font-size:3.6rem}.collected-basket{margin-top:25px;padding:2px 19px}.collected-basket>span{font-size:3.5rem}.collected-basket>b{font-size:1.5rem}.tracing-board{width:calc(100% + 25px);margin:auto;max-width:600px}.tracing-board canvas{max-height:none}.trace-status{gap:10px;font-size:.8rem;margin-top:30px}.drag-arena{gap:40px;max-width:560px}.drop-zones,.drag-sources{gap:12px;flex-wrap:wrap}.drop-zone{min-width:88px;min-height:110px;border-radius:23px;padding:8px}.drag-source{min-width:83px;min-height:91px;border-radius:20px;padding:8px}.drag-shape{font-size:4rem}.shape-shadow{font-size:4.2rem!important}.drag-emoji{font-size:3.4rem}.animal-shadow{font-size:4.1rem!important}.drop-inner>span:not(.puzzle-ghost):not(.puzzle-piece-image){font-size:3rem}.sorting-layout .drag-sources{gap:12px}.sorting-layout .drag-source{min-width:78px;min-height:79px}.multi-zone{min-width:94px;min-height:142px;padding:8px 5px;max-width:105px}.drop-inner b{font-size:.91rem}.bin-color{width:42px;height:42px}.color-block{height:53px;width:53px;border-radius:14px}.placed-tokens .color-block{width:17px;height:17px}.two-zones .multi-zone{min-width:135px;max-width:160px}.two-zones .drag-sources{max-width:290px}.two-zones .drag-source{min-width:80px}.gesture-hint{font-size:.77rem;margin:30px 5px 0}.sequence-layout .drag-source{width:91px;min-width:0}.sequence-layout .drop-zone{width:96px;min-width:0}.sequence-layout small{font-size:.69rem;line-height:1.5}.sequence-number{font-size:2.4rem!important}.puzzle-layout{grid-template-columns:1fr;gap:28px;max-width:290px}.puzzle-layout .drop-zones,.puzzle-layout .drag-sources{gap:5px}.puzzle-layout .drag-source{min-height:0;min-width:0;border-radius:7px;border-width:2px}.puzzle-layout .drop-zone{min-height:0;min-width:0;border-radius:4px}.puzzle-layout .drop-zones{border-width:6px;padding:5px}.puzzle-layout .drag-sources{max-width:255px;justify-self:center}.lilac:has(.puzzle-layout){padding-bottom:87px}.hidden-scene{margin:auto;width:100%;aspect-ratio:.83;border-width:6px;border-radius:28px}.hidden-scene>img{object-position:52% center}.hidden-object{height:51px;width:51px;font-size:2.05rem;border-width:2px}.find-goal{font-size:1rem;padding:5px 18px;gap:13px;margin-top:20px}.find-goal>span{font-size:2.35rem}.find-goal>b{font-size:1.2rem}.vocabulary-card{width:100%;max-width:370px;border-radius:30px;padding:20px;border-width:6px}.vocabulary-picture{font-size:8rem}.vocabulary-card h2{font-size:2.5rem}.word-listen{font-size:1rem}.vocabulary-card p{font-size:.83rem}.emotion-cards{grid-template-columns:1fr 1fr;gap:19px;max-width:400px}.emotion-card{font-size:5.2rem;border-width:5px;border-radius:28px}.music-instructions{margin:10px 0 26px}.music-instructions>span{font-size:3rem}.music-instructions h2{font-size:1.6rem}.music-instructions p{font-size:.92rem}.piano-keys{gap:5px;min-height:210px;max-width:470px}.piano-key{border-width:3px;border-radius:14px;padding:15px 3px}.piano-key>span{font-size:.78rem}.piano-key>b{font-size:.77rem}.piano-actions{gap:11px;flex-wrap:wrap;margin-top:27px}.piano-actions button{font-size:.86rem;padding:9px 14px}.paint-studio{display:flex;flex-wrap:wrap;gap:19px 10px;justify-content:center;max-width:600px}.paint-paper{width:100%;order:1;transform:none;border-radius:26px;border-width:6px;box-shadow:0 7px 0 #ffd398}.paint-toolbar{order:3;flex-direction:row;justify-content:center;gap:3px;padding:8px 5px;width:100%;border-radius:20px}.paint-toolbar>button{flex:1;min-height:50px;min-width:0;border-radius:13px;padding:3px 0}.paint-toolbar>button>span{font-size:1.45rem}.paint-toolbar>button>small{font-size:.62rem}.paint-actions{order:4;flex-direction:row;gap:10px;justify-content:center;width:100%}.paint-actions>button{width:43px;height:43px;border-radius:14px;font-size:1.9rem}.paint-actions svg{width:22px}.paint-colors{width:100%;order:2;gap:8px;padding:5px}.paint-colors>button{width:29px;height:29px;border-width:3px;flex-shrink:0}.paint-bottom{width:100%;order:5;padding:0 5px;gap:8px;flex-wrap:wrap}.paint-bottom>label{font-size:.84rem;gap:8px}.paint-bottom input{width:85px}.paint-done{font-size:.9rem;padding:8px 15px}.orange.immersive-stage{padding:100px 16px 35px}.play-feedback{bottom:22px;padding:7px 11px;border-radius:22px;gap:10px;font-size:.95rem}.feedback-star{font-size:1.8rem}.bubble-next{padding:7px 13px;font-size:.89rem}}
@media(max-width:719px){.world-logo{display:block;width:94px;min-width:94px;height:40px;border-radius:12px}.world-logo img{width:160px;height:160px;left:-32px;top:-55px}.child-profile{max-width:calc(100% - 215px);padding-left:9px;gap:7px}.child-avatar{min-width:43px;width:43px;height:43px;font-size:1.95rem}.child-profile b{font-size:.85rem;max-width:80px}.child-profile>span>small{font-size:.67rem;white-space:nowrap}.world-stars{font-size:.87rem;min-width:48px;padding:7px 8px}.world-parents{width:35px;min-height:36px;padding:7px}.world-header-actions{gap:6px}}
@media(max-width:365px){.world-logo{width:85px;min-width:85px}.world-logo img{left:-36px}.child-profile{max-width:calc(100% - 200px)}.world-header{padding-right:11px;padding-left:11px;gap:6px}}
@media(prefers-reduced-motion:reduce){.fish-bitmap{animation:none!important}.choice-wrong,.shake{animation:none!important}}

/* mobile */
@font-face{font-family:KatkootArabic;src:url('/assets/fonts/NotoSansArabic-Regular.woff') format('woff');font-weight:400 500;font-style:normal;font-display:swap}
@font-face{font-family:KatkootArabic;src:url('/assets/fonts/NotoSansArabic-Bold.woff') format('woff');font-weight:600 900;font-style:normal;font-display:swap}
:root{--font:KatkootArabic,Tahoma,Arial,sans-serif}
body{font-size:16px;line-height:1.65}button,input,select,textarea{font-family:var(--font)}
h1,h2,h3{line-height:1.5}img{height:auto}
/* One proportional logo window in every header; keep the entire wordmark. */
.logo,.world-logo,.setup-top .logo{position:relative;width:154px;min-width:154px;height:53px;overflow:hidden;border-radius:12px;background:#fff}
.logo img,.world-logo img,.setup-top .logo img{position:absolute;width:155%;max-width:none;height:auto;left:50%;top:50%;transform:translate(-50%,-46.7%);mix-blend-mode:normal}
.rail-card{flex-basis:230px;border-radius:24px;padding:11px 11px 14px}
.rail-image{height:145px;border-radius:17px}.rail-card h3{font-size:1rem;margin:10px 0 3px}
.rail-type{font-size:.875rem}.start-track-card{flex-basis:175px;min-height:230px;border-radius:24px}
.start-track-card h3{font-size:1.6rem}.start-track-card p{font-size:1rem}
.row-title h2{font-size:1.35rem}.activity-row{margin-bottom:21px}.activity-rail{gap:15px}
.story-card>img{height:190px;aspect-ratio:auto;object-fit:cover;object-position:center}
.story-card-body{padding:17px}.story-card h2{font-size:1.3rem}.story-card p{font-size:.9rem;margin-bottom:12px}
.story-card .primary{font-size:.9rem;min-height:42px;padding:7px 15px}
.story-layout>img{height:100%;max-height:480px}
.bottom-nav button,.world-nav button{font-size:.875rem;line-height:1.5}
@media(max-width:719px){
 .world-header{min-height:70px;padding:8px 12px;gap:9px;border-radius:0 0 20px 20px}
 .logo,.world-logo,.setup-top .logo{display:block;width:116px;min-width:116px;height:43px;border-radius:10px;box-shadow:none}
 .world-logo{width:106px;min-width:106px;height:39px}
 .child-profile{flex:1;min-width:0;max-width:none;gap:7px;padding:3px 5px;background:#da83262b}
 .child-avatar{width:36px;min-width:36px;height:36px;font-size:1.65rem;border-width:2px}
 .child-avatar small{bottom:-6px;font-size:12px;line-height:1.3;padding:0 5px}
 .child-profile>span:last-child{min-width:0}.child-profile b{max-width:100%;font-size:14px;line-height:1.5;text-overflow:ellipsis;overflow:hidden}
 .child-profile>span>small{font-size:12px;line-height:1.6;white-space:nowrap}
 .world-header-actions{gap:4px}.world-stars{font-size:14px;gap:3px;min-width:44px;padding:5px;min-height:38px;border-radius:14px}
 .world-parents{width:40px;min-height:40px;padding:9px}.world-header-actions svg{width:19px;height:19px}
 .world-main{padding-top:18px;padding-bottom:82px}.activity-row{margin-bottom:17px}
 .row-title{margin:0 14px 8px;gap:7px}.row-title h2{font-size:16px;line-height:1.7}
 .rail-arrows{gap:2px}.rail-arrows button{width:32px;height:32px;border-radius:10px;font-size:1.4rem}
 .activity-rail{gap:11px;padding:3px 14px 10px;align-items:stretch}
 .rail-card{flex:0 0 calc((100vw - 39px)/2);max-width:190px;min-height:0;padding:8px 8px 10px;border-width:2px;border-radius:20px;box-shadow:0 4px 0 #cd883930}
 .rail-image{height:105px;border-radius:13px}.rail-image>img{width:100%;height:100%;object-fit:cover}
 .rail-card h3{font-size:14px;line-height:1.65;margin:7px 0 1px;white-space:normal;min-height:23px}
 .rail-type{font-size:12px;line-height:1.6}.rail-complete{width:25px;height:25px;font-size:15px}
 .start-track-card{flex:0 0 calc((100vw - 39px)/2);max-width:190px;min-height:175px;border-radius:20px;padding:12px 7px;justify-content:center}
 .start-track-card>span{width:38px;height:38px;margin-bottom:7px}.start-track-card>span svg{width:22px;height:22px}
 .start-track-card h3{font-size:21px;line-height:1.5}.start-track-card p{font-size:14px}.start-track-card small{font-size:12px;margin-top:5px}
 .rail-symbol{font-size:3rem}.rail-symbol b{font-size:2.6rem}.trace-preview{font-size:4.7rem}.rail-symbol.shadow-preview{font-size:2.5rem}
 .rail-shapes i{width:30px;height:49px;border-radius:9px}.rail-shapes i:nth-child(2){height:62px}
 .piano-preview{font-size:5rem}.rail-image .block{width:37px;height:50px;font-size:2rem}
 .rail-image .mini-card{width:32px;height:57px;font-size:1.6rem}.rail-image .art-emoji{font-size:3.1rem}
 .rail-image .shape-symbol{font-size:2.6rem}.rail-image .word-cover{font-size:2rem}.rail-image .pattern-cover{font-size:1.2rem}
 .world-nav,.bottom-nav{padding:5px 8px calc(5px + env(safe-area-inset-bottom));border-radius:18px 18px 0 0;border-width:1px;min-height:62px}
 .world-nav button,.bottom-nav button{min-width:0;flex:1;padding:4px 5px;font-size:12px;gap:3px;border-radius:12px;min-height:47px}
 .world-nav button svg,.bottom-nav button svg{height:21px;width:21px}
 .top-inner{height:66px;gap:12px;padding:7px 14px}.header-actions{gap:7px}.star-wallet{min-height:38px;padding:4px 9px}
 .star-wallet b{font-size:14px}.parents{width:38px;min-height:38px;justify-content:center;padding:7px;border-radius:12px;background:#f7f4f8}
 .home-main{padding:20px 14px 88px}.welcome{margin-bottom:16px}.eyebrow{font-size:13px;margin-bottom:4px}
 h1{font-size:1.4rem}.welcome h1{font-size:1.3rem}.stories-main .story-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;align-items:start}
 .story-card{border-radius:18px;border-width:1px}.story-card>img{height:122px;min-height:0;max-height:122px;aspect-ratio:auto;object-fit:cover;object-position:center}
 .story-card-body{padding:11px 9px 13px}.story-card h2{font-size:15px;line-height:1.6;margin:7px 0}
 .story-card .pill{font-size:12px;padding:2px 6px;line-height:1.7}.story-card p{font-size:12px;line-height:1.7;margin-bottom:9px}
 .story-card .primary{min-height:39px;padding:5px 7px;font-size:12px;gap:5px;box-shadow:0 3px 0 #d87929;border-radius:10px;width:100%}
 .story-card .primary svg{width:16px;height:16px}.reading-note{font-size:13px;line-height:1.9;margin-top:18px}
 .story-layout>img{height:190px;min-height:0;max-height:190px;aspect-ratio:auto;object-fit:cover}
 .story-text{padding:18px;min-height:0}.story-text>p{font-size:18px;line-height:1.95;margin:12px 0}
 .story-controls button{font-size:14px}.story-pagination{margin:17px 0}
 .achievement-hero{padding:22px 16px}.achievement-hero .big-trophy{font-size:3rem}.achievement-hero h2{font-size:1.6rem}
 .setup-screen{padding:13px 18px 25px}.setup-layout{margin-top:20px}.setup-content h1{font-size:1.5rem}
 .setup-caption{font-size:15px;margin-bottom:18px}.age-option{min-height:88px}.age-option b{font-size:2.2rem}
 .avatar-options button{height:73px;font-size:2.5rem}.setup-choice{min-height:62px}.setup-choice b{font-size:15px}.setup-choice small{font-size:12px}
 .setup-actions{margin-top:20px}.setup-actions .primary{min-height:48px;font-size:16px}.setup-top>span{font-size:12px}
}
@media(max-width:359px){.world-logo{width:90px;min-width:90px;height:35px}.world-header{padding:8px;gap:5px}.child-avatar{display:none}.rail-image{height:92px}.row-title h2{font-size:14px}}
@media(min-width:720px) and (max-height:650px){.rail-card{flex-basis:205px}.rail-image{height:125px}.start-track-card{flex-basis:155px;min-height:210px}.row-title h2{font-size:1.2rem}.story-card>img{height:165px}}

/* brand */
.logo,.world-logo,.setup-top .logo{background:transparent;border-radius:0;overflow:visible;box-shadow:none}
.logo img,.world-logo img,.setup-top .logo img{position:static;width:100%;max-width:100%;height:100%;object-fit:contain;left:auto;top:auto;transform:none;filter:drop-shadow(0 3px 2px #84420c20)}
.toy-sprite{display:inline-block;flex-shrink:0;width:1em;height:1em;vertical-align:middle;overflow:hidden;pointer-events:none}
.rail-image>.toy-sprite{width:154px;height:154px;max-width:100%;max-height:100%;transition:transform .2s ease}
.rail-card:active .toy-sprite{transform:scale(.95)}
.rail-card{box-shadow:0 5px 0 #e5ac59,0 8px 13px #b573291c;border-color:#fff}
.rail-done{border-color:#e1ecc7}.rail-image{box-shadow:inset 0 2px 3px #fff4,inset 0 -2px 4px #6335290a}
.rail-image .block,.mini-card{box-shadow:inset 2px 3px 3px #fff7,inset -3px -4px 5px #71371720,0 5px 0 #0002,0 7px 6px #0001}
.trace-preview{text-shadow:0 2px 0 #ffe8b3,0 5px 0 #ca8d30,1px 7px 7px #a663222a}
.rail-play{top:13px;bottom:auto;left:13px;width:25px;height:25px;font-size:12px;background:#fffbefed;box-shadow:0 2px 4px #b5782030;z-index:1}
.collect-item .toy-sprite{width:100%;height:100%}.collect-item{padding:3px}
.vocabulary-picture{display:flex;justify-content:center;align-items:center}.vocabulary-picture .toy-sprite{width:210px;height:210px}
.question-visual .toy-sprite{width:1.3em;height:1.3em}.question-visual.count .toy-sprite{width:1.4em;height:1.4em}
.emoji-answer .toy-sprite{width:1.45em;height:1.45em}.memory-card .toy-sprite{width:1.45em;height:1.45em}
.drag-emoji .toy-sprite{width:1.3em;height:1.3em}.child-avatar .toy-sprite{width:100%;height:100%}
.animal-shadow .toy-sprite{width:1.06em;height:1.06em}.placed-tokens .toy-sprite{width:25px;height:25px}
.size-circle{border:0;background:radial-gradient(circle at 30% 24%,#d9f3ff 1%,#99d3f0 18%,#69acd7 52%,#3e78b4 85%);box-shadow:inset -3px -5px 5px #38589222,0 5px 7px #48699026}
.size-circle.medium{background:radial-gradient(circle at 30% 24%,#f4e6ff 1%,#ceaff1 18%,#a786d4 53%,#7554aa 85%)}
.size-circle.small{background:radial-gradient(circle at 30% 24%,#ffedb3 1%,#ffb566 25%,#f58d40 63%,#d36628 93%)}
.color-block{box-shadow:inset 4px 4px 4px #ffffff8c,inset -4px -5px 5px #0002,0 5px 1px #0002,0 8px 10px #0001}
/* Opening brand motion, outside the router so it appears only at launch. */
.brand-intro{position:fixed;inset:0;z-index:10000;display:flex;align-items:center;justify-content:center;overflow:hidden;background:#fff9ed;opacity:1;transition:opacity .26s ease;touch-action:manipulation}
.intro-scene{position:relative;width:min(83vw,400px);display:flex;flex-direction:column;align-items:center;text-align:center;padding:24px 0}
.intro-mascot{display:block;width:min(76vw,42svh,320px);height:auto;aspect-ratio:1;object-fit:contain;filter:drop-shadow(0 12px 10px #b96b2724);animation:brand-pop 1.3s cubic-bezier(.18,.75,.3,1) both;transform-origin:50% 80%}
.intro-logo{width:min(70vw,270px);height:auto;display:block;object-fit:contain;margin-top:12px;filter:drop-shadow(0 4px 4px #b96b2724);animation:brand-caption .65s .3s both}
.intro-scene p{margin:18px 0 0;color:#956037;font-size:17px;font-weight:700;animation:brand-caption .6s .65s both}
.intro-orbit{position:absolute;width:12px;height:12px;border-radius:50%;background:#ffbc54;top:20%;left:6%;animation:brand-spark 1.5s .2s both}
.intro-orbit:nth-child(2){width:17px;height:17px;background:#ffd967;top:17%;left:87%;animation-delay:.32s}
.intro-orbit:nth-child(3){width:10px;height:10px;background:#edaa70;top:69%;left:95%;animation-delay:.43s}
.intro-orbit:nth-child(4){width:8px;height:8px;background:#d2ade7;top:75%;left:2%;animation-delay:.52s}
.intro-exit{opacity:0;pointer-events:none}.intro-running{overflow:hidden}
@keyframes brand-pop{0%{opacity:0;transform:translateY(25px) scale(.7) rotate(-4deg)}40%{opacity:1;transform:translateY(-10px) scale(1.055) rotate(1deg)}66%{transform:translateY(3px) scale(.985) rotate(-.4deg)}82%,100%{opacity:1;transform:translateY(0) scale(1) rotate(0)}}
@keyframes brand-caption{from{opacity:0;transform:translateY(9px)}to{opacity:1;transform:translateY(0)}}
@keyframes brand-spark{0%{opacity:0;transform:translateY(15px) scale(0)}35%{opacity:.9;transform:translateY(-5px) scale(1.1)}100%{opacity:.6;transform:translateY(0) scale(1)}}
@media(max-width:719px){.rail-image>.toy-sprite{width:112px;height:112px}.rail-card{box-shadow:0 4px 0 #e5ac59,0 6px 9px #b5732915}.rail-play{top:12px;left:12px;width:23px;height:23px;font-size:11px}.vocabulary-picture .toy-sprite{width:190px;height:190px}.intro-scene p{font-size:16px;margin-top:20px}}
@media(max-height:500px){.intro-scene{padding:12px 0}.intro-mascot{width:min(40svh,190px)}.intro-logo{width:175px;margin-top:4px}.intro-scene p{margin-top:8px;font-size:14px}}
@media(min-width:720px) and (max-height:650px){.vocabulary-picture .toy-sprite{width:160px;height:160px}.intro-scene{width:330px;padding:20px 0}.intro-scene p{margin-top:8px}}
@media(prefers-reduced-motion:reduce){.intro-mascot,.intro-logo,.intro-scene p,.intro-orbit{animation:none}.brand-intro{transition:none}.toy-sprite{transition:none}}

/* rewards */
.celebration-layer{position:fixed;inset:0;z-index:75;overflow:hidden;pointer-events:none;contain:layout style paint}
.reward-origin{position:absolute;left:var(--origin-x);top:var(--origin-y);width:0;height:0}
.party-particle{position:absolute;display:block;left:0;top:0;width:var(--size);height:var(--size);background:var(--color);animation:party-burst 1.55s var(--delay) cubic-bezier(.13,.45,.37,1) both;will-change:transform,opacity}
.party-star{font-family:Arial,sans-serif;font-style:normal;font-size:var(--size);line-height:1;color:var(--color);background:none;width:auto;height:auto;text-shadow:0 1px 1px #0001}
.party-paper{border-radius:2px;box-shadow:inset 1px 1px 0 #fff5}
.party-ribbon{background:none;width:14px;height:45px;border:3px solid var(--color);border-top-color:transparent;border-bottom-color:transparent;border-radius:50%}
.reward-medal{position:absolute;left:0;top:0;display:grid;grid-template-columns:auto auto;align-items:center;justify-content:center;gap:0 7px;transform:translate(-50%,-50%);animation:reward-pop 1.55s ease-out both;filter:drop-shadow(0 5px 4px #7d442a2d)}
.reward-gold-star{font-family:Arial,sans-serif;font-size:91px;line-height:1;color:#ffdc4c;text-shadow:0 3px 0 #e8a428,0 5px 0 #df921e,-2px -2px 0 #fff1a5;transform:rotate(9deg)}
.reward-number{font-size:47px;font-weight:800;color:white;line-height:1.2;text-shadow:0 3px 0 #66a45c,0 0 12px #52913b55}
.reward-medal b{grid-column:1/3;justify-self:center;background:white;border:2px solid #fff3c1;border-radius:24px;padding:2px 15px;font-size:18px;color:#856028;white-space:nowrap;line-height:1.65}
.compact .reward-gold-star{font-size:57px}.compact .reward-number{font-size:30px}.compact .reward-medal b{font-size:14px;padding:1px 10px}.compact .party-particle{animation-duration:1.08s}
.finale-confetti .party-particle{left:var(--start);top:-8%;animation:party-rain var(--duration) var(--delay) ease-in both}
.correct,.choice-correct{animation:correct-bounce .42s ease-out}
.completion-mode{background:#fff5d9;background-image:radial-gradient(ellipse at 50% 10%,#ffe68a99,transparent 70%)}
.victory-screen{position:relative;min-height:100svh;display:flex;justify-content:center;align-items:center;padding:25px 20px;overflow:hidden}
.victory-close{position:absolute;top:20px;right:20px;z-index:2;background:#fff;box-shadow:0 3px 0 #ebcf9e}
.victory-card{width:min(660px,100%);text-align:center;padding:20px 30px 28px;border:3px solid white;border-radius:35px;background:#fffcf1;box-shadow:0 7px 0 #e9c27b,0 18px 50px #be893827;animation:victory-enter .5s ease-out both}
.victory-status{display:inline-flex;align-items:center;gap:8px;background:#e6f4c9;border-radius:30px;padding:7px 20px;color:#4d7539;font-size:18px;font-weight:800}
.victory-art{position:relative;display:flex;align-items:center;justify-content:center;margin:18px auto 12px;width:164px;height:164px}
.victory-chick{width:100%;height:100%;object-fit:cover;object-position:35% center;border-radius:50%;border:6px solid #ffe196;box-shadow:0 5px 0 #edbf60}
.victory-check{position:absolute;right:-6px;bottom:3px;display:flex;align-items:center;justify-content:center;width:44px;height:44px;background:#8bc55c;border:4px solid #fff;color:#fff;border-radius:50%}
.victory-card h1{font-size:2rem;color:#8b542b;line-height:1.5;margin:8px 0}
.victory-activity{font-size:16px;color:#9d805f}
.victory-stars{display:flex;direction:ltr;gap:13px;justify-content:center;margin:15px 0 6px;height:60px;align-items:center}
.victory-stars span{font-family:Arial,sans-serif;font-size:51px;line-height:1;color:#e6ddd0;text-shadow:0 3px 0 #d6caba}
.victory-stars .lit{color:#ffd04a;text-shadow:0 3px 0 #df981c,-1px -1px 0 #fff0a6;animation:prize-star .55s calc(.2s + var(--star-order)*.2s) ease-out both}
.victory-stars span:nth-child(2){font-size:62px;translate:0 -6px}
.victory-bonus{font-size:14px;color:#a78144;margin:4px 0 17px}
.victory-score{display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap;background:#fff0b8;border:1px solid #ffe091;border-radius:20px;padding:11px 18px;color:#a0661b}
.victory-score>strong{font-size:30px;line-height:1.5;display:flex;align-items:center;gap:6px}.victory-score>strong span{font-family:Arial,sans-serif;color:#eba52d}
.victory-score>span{font-size:15px}.victory-wallet{font-size:13px;color:#ad9475;margin-top:10px}
.victory-actions{display:flex;gap:12px;justify-content:center;margin-top:22px}.victory-actions .primary{flex:1}.victory-actions button{min-height:48px;font-size:15px}
@keyframes party-burst{0%{opacity:0;transform:translate(0,0) rotate(0) scale(.35)}10%{opacity:1}40%{transform:translate(calc(var(--dx)*.5),var(--up)) rotate(calc(var(--spin)*.45)) scale(1)}83%{opacity:1}100%{opacity:0;transform:translate(var(--dx),var(--dy)) rotate(var(--spin)) scale(.8)}}
@keyframes party-rain{0%{opacity:0;transform:translate(0,-30px) rotate(0)}10%,80%{opacity:1}100%{opacity:0;transform:translate(var(--dx),110svh) rotate(var(--spin))}}
@keyframes reward-pop{0%{opacity:0;transform:translate(-50%,-35%) scale(.3) rotate(-9deg)}20%{opacity:1;transform:translate(-50%,-55%) scale(1.1) rotate(2deg)}35%,72%{opacity:1;transform:translate(-50%,-50%) scale(1) rotate(0)}100%{opacity:0;transform:translate(-50%,-90%) scale(.9)}}
@keyframes correct-bounce{0%,100%{scale:1}45%{scale:1.045}}
@keyframes victory-enter{from{opacity:0;transform:translateY(20px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}
@keyframes prize-star{0%{opacity:0;scale:.3;rotate:-20deg}65%{opacity:1;scale:1.18;rotate:7deg}100%{opacity:1;scale:1;rotate:0deg}}
@media(max-width:719px){.reward-gold-star{font-size:73px}.reward-number{font-size:38px}.reward-medal b{font-size:17px}.victory-screen{padding:65px 16px 25px}.victory-card{padding:18px 18px 23px;border-radius:28px}.victory-status{font-size:16px;padding:6px 17px}.victory-art{width:132px;height:132px;margin:17px auto 11px}.victory-card h1{font-size:25px}.victory-activity{font-size:14px}.victory-bonus{margin-bottom:14px}.victory-actions{gap:10px;margin-top:20px;flex-direction:column}.victory-actions button{font-size:15px;min-height:46px}.victory-score{padding:8px 13px}.victory-score>strong{font-size:28px}.victory-score>span{font-size:14px}.victory-close{top:15px;right:16px;width:39px;height:39px}}
@media(min-width:720px) and (max-height:650px){.victory-screen{padding:18px 65px}.victory-card{position:relative;max-width:850px;padding:15px 25px 18px 210px;min-height:340px}.victory-art{position:absolute;left:32px;top:50%;translate:0 -65%;width:148px;height:148px;margin:0}.victory-status{font-size:16px;padding:4px 18px}.victory-card h1{font-size:25px;margin:8px 0 4px}.victory-stars{height:49px;margin:11px 0 4px}.victory-stars span{font-size:43px}.victory-stars span:nth-child(2){font-size:53px}.victory-bonus{font-size:13px;margin:3px 0 10px}.victory-score{padding:5px 12px}.victory-score>strong{font-size:25px}.victory-actions{margin-top:14px}.victory-wallet{margin-top:5px}.victory-actions button{font-size:14px;min-height:42px;padding:7px 15px}.victory-activity{font-size:14px}}
@media(prefers-reduced-motion:reduce){.party-particle{display:none}.reward-medal,.correct,.choice-correct,.victory-card,.victory-stars .lit{animation:none}.reward-medal{transform:translate(-50%,-50%);opacity:1}}

/* expanded */
.age-selection-note{margin:0 0 14px;font-size:14px;color:#80542e}.discovery-art{display:inline-block;flex-shrink:0;width:180px;height:180px;background-image:url('/assets/katkoot-subjects-3d.webp');background-size:400% 400%;background-position:var(--tile-x) var(--tile-y);background-repeat:no-repeat;border-radius:20px;background-color:#fff}.rail-image>.discovery-art{width:100%;height:100%;aspect-ratio:1;max-width:165px;max-height:165px}.rail-image>.coloring-cover{width:100%;height:100%;object-fit:contain;background:white}.question-visual.discovery{font-size:65px}.question-visual.discovery .discovery-art{width:min(230px,40vw);height:auto;aspect-ratio:1}.question-visual.letter-form{font-family:'KatkootArabic',sans-serif;font-size:100px}.discovery-lesson{display:flex;align-items:center;flex-direction:column;max-width:550px;margin:24px auto;background:white;padding:22px;border-radius:26px;box-shadow:0 5px 0 #efcc85}.discovery-lesson p{font-size:18px;line-height:1.9;text-align:center}.discovery-lesson .primary{margin-top:18px}.discovery-intro{min-height:100svh;background:#fff6dc}
.expanded-mode{background:#fff3cf}.expanded-stage{max-width:1000px;min-height:100svh;margin:auto;padding:16px 20px 32px;text-align:center}.expanded-header{display:flex;justify-content:space-between;align-items:center;gap:14px}.expanded-header h1{font-size:20px;color:#7b512e;margin:0}.expanded-header p{font-size:14px;margin:2px 0;color:#9a7a51}.expanded-prompt{font-size:22px;margin:24px 0 18px;line-height:1.6;color:#714d32}.expanded-hint{font-size:14px;line-height:1.7;color:#876e53;margin:16px auto;max-width:600px}.expanded-actions{display:flex;justify-content:center;flex-wrap:wrap;gap:10px;margin:18px 0}.expanded-actions button{font-size:15px;min-height:48px}.expanded-feedback{display:flex;align-items:center;justify-content:center;gap:14px;flex-wrap:wrap;margin-top:20px;color:#5c864a;font-size:20px}.expanded-feedback:empty{display:none}.expanded-feedback b{padding:10px}
.one-line-board{position:relative;direction:ltr;width:min(70vw,380px);aspect-ratio:1;margin:0 auto 24px;border-radius:28px;background:#fff;box-shadow:0 5px 0 #eac57c;touch-action:none}.one-line-board svg{width:100%;height:100%}.one-line-board line{stroke:#ead8f7;stroke-width:5;stroke-linecap:round}.one-line-board line.traced{stroke:#ab77e0}.line-node{position:absolute;transform:translate(-50%,-50%);width:44px;height:44px;border:4px solid white;border-radius:50%;background:#e9b861;color:white;box-shadow:0 2px 4px #a9692033;font-size:18px;font-weight:700;touch-action:none}.line-node.current{background:#aa77dc;outline:3px solid #d8bfee}.spelling-picture{font-size:80px;line-height:1.3}.spelling-model{font-size:24px;color:#876e53}.word-slots,.letter-tiles{display:flex;justify-content:center;gap:10px;margin:20px auto;flex-wrap:wrap}.word-slot,.letter-tile{width:62px;height:66px;border:3px solid #f4c878;border-radius:16px;background:white;font-size:31px;color:#7f5538;box-shadow:0 4px 0 #ebc275}.letter-tile{background:#ffdc76;border-color:#ffeeb8}.letter-tile:disabled{opacity:.25;box-shadow:none}.word-slot{border-style:dashed}
.coloring-workspace{max-width:590px;margin:auto}.coloring-colors{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin:16px 0}.color-dot{width:39px;height:39px;border-radius:50%;background:var(--paint);border:4px solid white;box-shadow:0 2px 0 #bc8a37}.color-dot.selected{outline:3px solid #956138;transform:translateY(-3px)}#coloring-canvas{display:block;width:min(100%,52svh);height:auto;aspect-ratio:1;margin:auto;touch-action:none;border:5px solid white;background:white;border-radius:24px;box-shadow:0 5px 0 #ecc888}
.world-palette{display:flex;justify-content:center;flex-wrap:wrap;gap:8px;margin:14px 0}.world-palette button{background:white;border:2px solid transparent;border-radius:16px;padding:5px 10px;min-width:62px}.world-palette button.selected{border-color:#eea735;background:#fff0ba}.world-palette span{display:block;font-size:30px}.world-palette small{font-size:14px;color:#876e53}.creator-world{position:relative;direction:ltr;width:min(100%,750px);height:350px;margin:auto;background:#dcefd1 url('/assets/forest.webp') center/cover;border:6px solid white;border-radius:26px;overflow:hidden;box-shadow:0 5px 0 #cfb36e}.creator-world.park{background-image:url('/assets/adventure.webp');background-position:center 70%}.world-place{position:absolute;transform:translate(-50%,-50%);width:46px;height:46px;z-index:1;border:2px dashed white;border-radius:50%;background:#ffffffe3;color:#719460;font-size:28px}.world-object{position:absolute;transform:translate(-50%,-50%);z-index:2;border:0;background:none;font-size:55px;line-height:1;padding:3px;touch-action:none;filter:drop-shadow(0 5px 3px #31593544)}.pet-companion{position:relative;width:min(65vw,260px);margin:15px auto 30px}.pet-companion>.discovery-art{width:100%;height:auto;aspect-ratio:1;border:7px solid white;box-shadow:0 5px 0 #e9c482;border-radius:35px}.pet-bubble{position:absolute;top:-8px;right:-10px;font-size:38px;background:#fff;border-radius:50%;padding:10px;box-shadow:0 3px 0 #e9c482}.pet-options{display:flex;justify-content:center;gap:16px}.pet-options button{width:100px;height:100px;background:white;border:4px solid #ffdf8f;border-radius:24px;box-shadow:0 5px 0 #eac27d;font-size:54px}.character-stage{position:relative;margin:auto;width:220px;height:220px;border:6px solid white;border-radius:30px;box-shadow:0 5px 0 #dfbb7e;padding:8px}.character-stage>.discovery-art{width:100%;height:100%;background-color:transparent}.character-badge{position:absolute;bottom:15px;right:8px;font-size:45px;filter:drop-shadow(0 3px 2px #0002)}.creator-options{max-width:560px;margin:18px auto}.creator-options p{font-size:15px;margin:12px 0 8px;color:#886440}.creator-options>div{display:flex;gap:9px;justify-content:center}.creator-options button{width:64px;height:58px;border:3px solid white;border-radius:16px;background:#fff;font-size:28px;box-shadow:0 3px 0 #dfbb7e}.creator-options button[aria-pressed=true]{outline:3px solid #edab3b}.creator-options button>.discovery-art{width:100%;height:100%;border-radius:12px}.expanded-stage button:focus-visible{outline:3px solid #6b74dd;outline-offset:4px}
@media(max-width:719px){.rail-image>.discovery-art{max-width:115px;max-height:115px}.expanded-stage{padding:12px 14px 25px}.expanded-header h1{font-size:18px}.expanded-prompt{font-size:19px;margin:20px 0 14px}.creator-world{height:300px}.world-palette button{min-width:57px;padding:4px 7px}.world-palette span{font-size:26px}.world-palette small{font-size:14px}.world-object{font-size:44px}.world-place{width:40px;height:40px}.pet-options{gap:10px}.pet-options button{width:80px;height:83px;font-size:43px}.word-slot,.letter-tile{width:50px;height:59px;font-size:28px}.word-slots,.letter-tiles{gap:7px}.expanded-hint{font-size:14px}.color-dot{width:34px;height:34px}.coloring-colors{gap:8px}.discovery-lesson p{font-size:16px}.character-stage{width:190px;height:190px}}
@media(min-width:720px) and (max-height:600px){.expanded-stage{padding:10px 65px 25px}.expanded-prompt{margin:10px 0;font-size:19px}.one-line-board{width:230px}.pet-companion{width:175px;margin:8px auto 18px}.pet-options button{width:70px;height:70px;font-size:39px}.creator-world{height:235px}.coloring-workspace{max-width:720px;display:grid;grid-template-columns:65px 1fr;gap:12px;align-items:center}.coloring-colors{display:grid;grid-template-columns:repeat(2,1fr)}#coloring-canvas{width:min(100%,64svh)}.coloring-workspace .expanded-actions,.coloring-workspace .expanded-hint{grid-column:1/3;margin:4px 0}.character-stage{width:160px;height:160px;float:left;margin:15px 35px}.creator-options{margin:5px auto}.spelling-picture{font-size:55px}.word-slots,.letter-tiles{margin:10px 0}}
@media(prefers-reduced-motion:reduce){.expanded-stage *{scroll-behavior:auto}}

/* Separate age catalogs remain compact on a phone. */
.age-catalog-banner{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 22px;padding:14px 16px;background:#fff5d8;border-radius:20px;border:2px solid #fff1b7;color:#6e441d}
.age-catalog-banner h1{font-size:1.2rem;line-height:1.5;margin:2px 0 0}.age-catalog-label{font-size:.875rem;font-weight:700}.age-catalog-count{font-size:.875rem;font-weight:700;white-space:nowrap;background:#ffe49a;border-radius:14px;padding:8px 10px}
.setup-age-groups{display:grid;gap:10px;margin:18px 0}.setup-age-group{padding:12px;border:2px solid #efeadf;border-radius:18px;background:#fff}.setup-age-group.selected{border-color:#e79d30;background:#fff7df}.age-group-heading b,.age-group-heading small{display:block}.age-group-heading small{font-size:.875rem;line-height:1.7;color:#736879}.setup-age-group .age-options{display:flex;gap:8px;margin:10px 0 0;flex-wrap:wrap}.setup-age-group .age-option{flex:1;min-width:64px;min-height:64px;padding:8px}.setup-age-group .age-option b{font-size:1.35rem}
.parent-age-groups{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin:10px 0 18px}.parent-age-groups button{padding:10px 5px;min-height:76px;background:#fff;border:2px solid #ebe5db;border-radius:14px;color:#665366;font:inherit;cursor:pointer}.parent-age-groups button[aria-pressed="true"]{background:#fff0bb;border-color:#e69b2a;color:#6c431b}.parent-age-groups b,.parent-age-groups span{display:block;font-size:.875rem;line-height:1.7}.parent-age-preview{font-size:.875rem;line-height:1.9;background:#fff6db;padding:12px;border-radius:12px;color:#684b2a}
@media(max-width:360px){.age-catalog-banner{padding:11px;gap:6px}.age-catalog-count{white-space:normal;text-align:center;max-width:88px}.parent-age-groups{grid-template-columns:1fr}.parent-age-groups button{min-height:52px}}

/* compact */
/* Compact browsing surfaces; full-size game controls keep their touch targets. */
.world-header{min-height:82px;padding-block:10px;gap:18px}
.world-logo{width:140px;min-width:140px;height:44px}
.child-avatar{width:48px;min-width:48px;height:48px;font-size:2rem}
.child-profile{min-width:170px;gap:9px;padding:3px 9px}
.child-profile b{font-size:1rem}.world-header-actions{gap:8px}
.world-stars{min-width:65px;min-height:44px;padding:7px 10px;font-size:1rem}
.world-parents{min-height:44px;padding:8px 16px}.world-expand{font-size:1.5rem}
.world-main{padding-top:14px}
.age-catalog-banner{margin:0 max(4vw,24px) 14px;padding:9px 13px;border-radius:15px;gap:10px;border-width:1px}
.age-catalog-banner h1{font-size:1rem;margin:0;line-height:1.6}
.age-catalog-label{font-size:.8125rem}.age-catalog-count{font-size:.8125rem;padding:6px 9px;border-radius:10px;max-width:none;white-space:nowrap}
.activity-row{margin-bottom:15px}.row-title{margin-bottom:7px;gap:8px}
.row-title h2{font-size:1.125rem;line-height:1.6;margin-block:0}
.activity-rail{gap:12px;padding-top:3px;padding-bottom:8px}
.rail-card{flex-basis:190px;max-width:190px;padding:7px 7px 9px;border-radius:18px;border-width:2px;box-shadow:0 3px 0 #e5ac59,0 5px 8px #b5732912}
.rail-image{height:112px;border-radius:12px}
.rail-card h3{font-size:.9375rem;line-height:1.5;margin:6px 0 2px;white-space:normal;overflow:visible;text-overflow:clip}
.rail-type{font-size:.8125rem;line-height:1.5}
.rail-image>.toy-sprite,.rail-image>.discovery-art{width:104px;height:104px;max-width:100%;max-height:100%}
.rail-symbol{font-size:2.75rem}.rail-symbol b{font-size:2.25rem}
.start-track-card{flex-basis:150px;max-width:150px;min-height:180px;padding:10px 7px;border-radius:18px;border-width:2px}
.start-track-card>span{width:34px;height:34px;margin-bottom:6px}
.start-track-card>span svg{width:20px;height:20px}
.start-track-card h3{font-size:1.25rem;margin:0;line-height:1.5}
.start-track-card p{font-size:.875rem;line-height:1.6;margin:4px 0}
.start-track-card small{font-size:.75rem;line-height:1.5;margin-top:4px}
.rail-play{width:20px;height:20px;top:10px;left:10px;font-size:10px}
.world-nav button svg,.bottom-nav button svg{width:19px;height:19px}
@media(max-width:719px){
 .world-header{min-height:60px;padding:6px 10px;gap:7px;border-radius:0 0 16px 16px}
 .world-logo{width:91px;min-width:91px;height:33px}
 .child-profile{min-width:0;max-width:none;padding:3px 2px;gap:5px}
 .child-avatar{width:30px;min-width:30px;height:30px;font-size:1.4rem;border-width:2px}
 .child-avatar small{font-size:12px;bottom:-5px;padding:0 4px;border-width:1px}
 .child-profile b{font-size:.875rem;line-height:1.45}
 .child-profile>span>small{font-size:.75rem;line-height:1.5}
 .world-header-actions{gap:4px}.world-header-actions svg{width:17px;height:17px}
 .world-stars{min-width:42px;min-height:40px;padding:4px 5px;font-size:.875rem;border-radius:12px}
 .world-parents{width:36px;min-height:40px;padding:7px}
 .world-main{--browse-card:calc((100vw - 40px)/3);padding-top:10px;padding-bottom:calc(70px + env(safe-area-inset-bottom))}
 .age-catalog-banner{margin:0 12px 10px;padding:7px 10px;border-radius:13px;gap:8px}
 .age-catalog-banner h1{font-size:.9375rem;line-height:1.6}
 .age-catalog-label{font-size:.75rem}.age-catalog-count{font-size:.75rem;padding:5px 8px}
 .row-title{margin:0 12px 5px;min-height:30px;gap:6px}
 .row-title h2{font-size:.875rem;line-height:1.65;flex:1;min-width:0}
 .rail-arrows{gap:3px;flex-shrink:0}.rail-arrows button{width:28px;height:28px;font-size:1.125rem;border-radius:8px}
 .activity-row{margin-bottom:10px}.activity-rail{gap:8px;padding:3px 12px 7px;align-items:stretch}
 .rail-card,.start-track-card{flex:0 0 var(--browse-card);max-width:none;min-width:0;padding:6px 6px 8px;border-radius:15px;border-width:1px}
 .rail-image{height:clamp(68px,20vw,90px);border-radius:10px}
 .rail-card h3{font-size:.875rem;line-height:1.5;min-height:2.625rem;margin:5px 0 1px;display:flex;justify-content:center;align-items:center;overflow-wrap:anywhere}
 .rail-type{font-size:.75rem;line-height:1.5}
 .rail-image>.toy-sprite,.rail-image>.discovery-art{width:70px;height:70px;max-width:100%;max-height:100%;border-radius:10px}
 .rail-symbol{font-size:1.8rem;gap:2px}.rail-symbol b{font-size:1.65rem}.rail-symbol.shadow-preview{font-size:1.6rem}
 .trace-preview{font-size:3.1rem}.piano-preview{font-size:3.7rem}
 .rail-shapes{gap:5px}.rail-shapes i{width:18px;height:30px;border-radius:6px}.rail-shapes i:nth-child(2){height:42px}
 .rail-image .block{width:24px;height:35px;font-size:1.35rem;border-radius:8px}
 .rail-image .mini-card{width:24px;height:40px;font-size:1.1rem}
 .rail-image .art-emoji{font-size:2.1rem}.rail-image .shape-symbol{font-size:1.75rem}
 .rail-image .word-cover{font-size:1.35rem}.rail-image .pattern-cover{font-size:.8125rem;gap:2px}
 .rail-play{width:17px;height:17px;top:9px;left:9px;font-size:9px}
 .rail-complete{width:20px;height:20px}.rail-complete svg{width:14px;height:14px}
 .start-track-card{min-height:145px;padding:9px 5px}
 .start-track-card>span{width:28px;height:28px;margin-bottom:4px}
 .start-track-card>span svg{width:17px;height:17px}
 .start-track-card h3{font-size:1.0625rem}.start-track-card p{font-size:.875rem;margin:3px 0;line-height:1.5}
 .start-track-card small{font-size:.75rem;margin-top:3px}
 .world-nav,.bottom-nav{min-height:54px;padding:3px 8px calc(3px + env(safe-area-inset-bottom));border-radius:15px 15px 0 0;box-shadow:0 -3px 12px #935a3114}
 .world-nav button,.bottom-nav button{min-height:46px;padding:3px 5px;gap:2px;font-size:.75rem;line-height:1.4;border-radius:10px}
 .world-nav button svg,.bottom-nav button svg{width:18px;height:18px}
 .top-inner{height:58px;padding:6px 12px;gap:8px}.top-inner .logo{width:103px;min-width:103px;height:35px}
 .home-main{padding-top:14px;padding-bottom:calc(72px + env(safe-area-inset-bottom))}
 .stories-main .story-grid{gap:9px}.story-card>img{height:98px;max-height:98px}
 .story-card-body{padding:9px}.story-card h2{font-size:.875rem;margin:5px 0}
}
@media(max-width:359px){.world-main{--browse-card:calc((100vw - 36px)/2.6)}.world-logo{width:82px;min-width:82px}.child-avatar{display:none}}
@media(min-width:520px) and (max-width:719px){.world-main{--browse-card:calc((100vw - 48px)/4)}}

/* Use the approved transparent AI chick as the compact header brand. */
.logo.brand-mascot{display:block;width:52px;min-width:52px;height:52px;flex-shrink:0;background:transparent;border-radius:0;overflow:visible}
.logo.brand-mascot img{display:block;width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 2px 2px #84420c20)}
.world-header{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr)}
.world-header>.brand-mascot{justify-self:center}.world-header>.child-profile{justify-self:start;width:auto;max-width:100%}.world-header-actions{justify-self:end}
@media(max-width:719px){.logo.brand-mascot{width:44px;min-width:44px;height:44px}.world-header>.child-profile{min-width:0}.world-header>.child-profile>span:last-child{overflow:hidden}.world-header{gap:7px}}

/* polish */
/* Katkoot toy-box: sunny brand surfaces, quiet white frames, generous artwork. */
:root{--katkoot-gold:#ffd44b;--katkoot-orange:#f89731;--katkoot-ink:#65421f}
.world-mode{background:#ffd85a;background-image:radial-gradient(circle at 10% 12%,#ffe999 0,transparent 42%),linear-gradient(145deg,#ffe174,#ffd04c 65%,#ffcf64);background-attachment:fixed;color:var(--katkoot-ink)}
.world-mode:before{opacity:.16;background-size:84px 84px;pointer-events:none}
.world-header{background:linear-gradient(110deg,#ffae3f,#f39429);border-bottom:1px solid #e4891e;box-shadow:inset 0 1px 0 #ffe094,0 5px 0 #e7a02c28;position:sticky;top:0;z-index:20}
.child-profile{background:#cf7b2428;border:1px solid #ffc66d60;border-radius:18px}
.child-avatar{background:linear-gradient(#fff7c1,#ffe87c);box-shadow:0 2px 4px #9a651b2b}
.child-avatar>img{width:100%;height:100%;object-fit:contain}
.world-stars{background:linear-gradient(#ffef93,#ffdb51);box-shadow:inset 0 2px 0 #fff4b4,0 2px 0 #d69226;border:1px solid #ffe78b;color:#80511b}
.world-parents,.world-sound{background:linear-gradient(#fffef7,#fff0ca);border:1px solid #fff6d2;border-radius:14px;box-shadow:0 2px 0 #d98c2d;color:#956027;display:flex;align-items:center;justify-content:center}
.world-sound{width:36px;min-width:36px;height:40px;padding:7px}
.age-catalog-banner{background:#fff8d7;border:1px solid #fff3a2;box-shadow:0 2px 0 #daa13526}
.age-catalog-banner h1,.row-title h2{color:#69451d}
.age-catalog-count{background:#ffe9a0;color:#86531c;font-weight:700}
.activity-row{margin-bottom:16px}
.rail-arrows button{background:#fff6d6;box-shadow:0 2px 0 #d998332b;color:#9a6626}
.rail-card{background:#fff;border:1px solid #fff;padding:6px 6px 8px;border-radius:18px;box-shadow:0 4px 0 #d6a343,0 7px 12px #86510d17;transition:transform .15s,box-shadow .15s;overflow:hidden}
.rail-card:active{transform:translateY(3px);box-shadow:0 1px 0 #d6a343}
.rail-card h3{color:#59463e;font-weight:700}.rail-type{color:#88756a}
.rail-image{border-radius:12px;background:#fff3cf;box-shadow:inset 0 1px 0 #fff9;isolation:isolate;overflow:hidden}
.game-cover-3d{position:relative;display:block;width:100%;height:100%;overflow:hidden}
.artwork-3d{display:inline-block;background-image:var(--art-url);background-size:400% 400%;background-position:var(--art-x) var(--art-y);background-repeat:no-repeat;aspect-ratio:1;vertical-align:middle;flex-shrink:0}
.game-cover-3d>.artwork-3d{display:block;height:100%;aspect-ratio:1;width:auto;max-width:100%;margin:auto;border-radius:10px}
.cover-letter-badge{position:absolute;bottom:3px;left:50%;transform:translateX(-50%);white-space:nowrap;background:#fffffff0;border:1px solid #fff;border-radius:8px;padding:0 7px;line-height:1.6;font-size:14px;color:#875020;box-shadow:0 2px 3px #80551d15}
.rail-complete{background:#78ba73;box-shadow:0 2px 0 #548f4b;border:2px solid #fff;color:white;z-index:2}
.rail-play{background:#fffdf1;box-shadow:0 2px 3px #75562625;color:#e4a136;z-index:2}
.start-track-card{border:1px solid #fff2a3;background:linear-gradient(150deg,#fff1a0,#ffc841);box-shadow:inset 0 2px 0 #fffac7,0 4px 0 #d7a038;position:relative;overflow:hidden;color:#84521e}
.start-track-card h3{color:#85501b}.start-track-card>span{background:linear-gradient(#fff,#fff2b5);box-shadow:0 3px 0 #e3ae38;color:#e59b27}
.start-track-card .track-mini-progress{display:block;width:75%;height:5px;background:#e1ad4670;border-radius:8px;overflow:hidden;margin:8px auto 0}
.track-mini-progress i{display:block;height:100%;background:#bd8531;border-radius:inherit}
.world-nav,.bottom-nav{background:#fffdf5;border:1px solid #fff;box-shadow:0 -4px 16px #94602018}
.world-nav button,.bottom-nav button{color:#9e9389}
.world-nav button.active,.bottom-nav button.active{background:linear-gradient(#fff0b4,#ffe39a);color:#ac7224;box-shadow:inset 0 1px 0 #fff7d1}
.world-nav button.active svg,.bottom-nav button.active svg{fill:#ffd477;filter:drop-shadow(0 1px 0 #e8b346)}
/* The same dimensional pieces appear in answers, memory and matching. */
.play-piece-3d{width:1.3em;height:1.3em;border-radius:18%;overflow:hidden;pointer-events:none}
.question-visual .play-piece-3d{width:1.65em;height:1.65em;max-width:100%}
.question-visual.count .play-piece-3d{width:1em;height:1em}
.answer .play-piece-3d{width:56px;height:56px;max-width:100%;border-radius:12px}
.memory-card .play-piece-3d{width:1.45em;height:1.45em;max-width:100%}
.vocabulary-picture .play-piece-3d{width:min(46vw,210px);height:auto}
.emotion-card .play-piece-3d{width:100%;height:auto;border-radius:17px}
.drag-emoji .play-piece-3d,.animal-shadow .play-piece-3d{width:1.3em;height:1.3em}
.placed-tokens .play-piece-3d{width:25px;height:25px}
.hidden-object .play-piece-3d{width:100%;height:100%;border-radius:50%}
.find-goal .play-piece-3d{width:1.2em;height:1.2em}
.question-panel{border-color:#fff3d3;box-shadow:0 6px 0 #efdfbd,0 12px 28px #8252250a}
.question-scene{border-radius:22px;box-shadow:inset 0 2px 3px #fff8,inset 0 -3px 5px #8b674411}
.answer{border:2px solid #eee3ce;box-shadow:0 4px 0 #e3d6b8;background:linear-gradient(#fff,#fffdf6);border-radius:18px}
.answer:active{transform:translateY(2px)}
.answer.correct{background:#ebf8df;border-color:#82be71;box-shadow:0 4px 0 #68a959}
.bubble-button,.round{box-shadow:0 3px 0 #b1a48d30,inset 0 2px 0 #fff;border:1px solid #fff9}
.play-piece-3d,.discovery-art,.toy-sprite{user-select:none}
.discovery-art{background-image:none;background-color:transparent;overflow:hidden}
svg.artwork-3d{overflow:hidden}
.color-target{background-image:radial-gradient(circle at 30% 20%,#fff9,transparent 50%);box-shadow:inset -7px -9px 12px #0002,0 8px 10px #73552c20;border:4px solid #fff8}
.drag-shape,.shape-shadow{text-shadow:0 2px 0 #fff5,0 5px 0 #0002,0 8px 8px #0001}
.memory-card{box-shadow:0 4px 0 #bea5d3,inset 0 2px 0 #fff8;border-radius:18px}
.memory-card.revealed{background:#fff;box-shadow:0 4px 0 #e0d2bc}
.spelling-picture .play-piece-3d{width:120px;height:120px;max-width:100%}
.discovery-lesson>.game-cover-3d{width:180px;height:180px;margin:auto;border-radius:24px}
.journey-thumb{width:56px;height:56px;flex-shrink:0;overflow:hidden;border-radius:13px}
.journey-thumb .game-cover-3d{width:100%;height:100%}
.journey-thumb .cover-letter-badge{font-size:12px}
.brand-intro{background:radial-gradient(ellipse at 50% 40%,#fffdf3,#fff0bc 72%,#ffe6a1)}
.intro-mascot{filter:drop-shadow(0 15px 12px #d3903a30)}
.intro-scene p{color:#9a692a}
@media(max-width:719px){
 .world-main{padding-top:12px;--browse-card:calc((100vw - 44px)/3)}
 .world-header{padding:7px 10px;min-height:64px;gap:6px}
 .world-header>.child-profile{border-radius:14px;padding:3px 5px;gap:5px}
 .child-profile b{font-size:14px}.child-profile>span>small{font-size:12px}
 .world-stars{min-width:42px}.world-parents{width:34px}.world-sound{width:34px;min-width:34px}
 .world-header-actions{gap:4px}.world-header-actions svg{width:17px;height:17px}
 .age-catalog-banner{padding:7px 10px;margin-bottom:12px}
 .row-title{margin:0 12px 6px;min-height:34px}.row-title h2{font-size:15px;line-height:1.7}
 .rail-arrows button{width:30px;height:34px;border-radius:10px}
 .activity-rail{padding:3px 12px 8px;gap:10px}
 .rail-card,.start-track-card{border-radius:17px;padding:5px 5px 8px}
 .rail-image{height:auto;aspect-ratio:1;border-radius:12px}
 .game-cover-3d>.artwork-3d{width:100%;height:100%;border-radius:10px}
 .rail-card h3{font-size:14px;min-height:42px;margin:5px 0 0;line-height:1.5}
 .rail-type{font-size:12px;line-height:1.6}
 .start-track-card{min-height:150px}.start-track-card p{font-size:14px}
 .rail-play{left:8px;top:8px;width:18px;height:18px}
 .world-nav button,.bottom-nav button{font-size:12px;min-height:49px}
 .world-nav button svg,.bottom-nav button svg{width:21px;height:21px}
 .answer-grid{gap:12px}.answer{min-height:70px}
 .play-shell{padding-inline:16px}.question-panel{padding:18px 14px}
 .question-title h2{font-size:19px;line-height:1.65}
 .question-scene{min-height:160px}.question-visual{font-size:64px}
 .question-visual.count{font-size:42px;gap:6px}
 .journey-step{gap:9px;padding:11px}.journey-step b{font-size:15px}.journey-node{min-width:34px;width:34px;height:34px;font-size:15px}
 .journey-thumb{width:48px;height:48px}
}
@media(max-width:359px){.world-main{--browse-card:calc((100vw - 40px)/2.6)}.world-sound{width:32px;min-width:32px}.world-header{padding-inline:8px}.child-profile>span>small{white-space:normal}}
@media(min-width:520px) and (max-width:719px){.world-main{--browse-card:calc((100vw - 54px)/4)}}
@media(prefers-reduced-motion:reduce){.rail-card{transition:none}}

/* joy */
/* Locally bundled, real Arabic glyphs: no network font dependency. */
@font-face{font-family:KatkootRound;src:url('/assets/fonts/BalooBhaijaan2-Regular.woff') format('woff');font-style:normal;font-weight:400 500;font-display:swap}
@font-face{font-family:KatkootRound;src:url('/assets/fonts/BalooBhaijaan2-Bold.woff') format('woff');font-style:normal;font-weight:600 900;font-display:swap}
:root{--font:KatkootRound,KatkootArabic,Tahoma,Arial,sans-serif;--katkoot-ink:#65431f}
body{font-family:var(--font);line-height:1.6}
button,input,select,textarea{font-family:var(--font)}
h1,h2,h3,.primary,.secondary,.child-profile b{font-weight:700;font-synthesis:none}
.world-mode{background:#ffd458 url('/assets/katkoot-doodle-pattern.png') center top/620px 620px repeat;background-attachment:scroll;color:var(--katkoot-ink)}
.world-mode:before{display:none}
.world-header{background:#f69c31;box-shadow:0 4px 0 #d9993038;border-bottom:1px solid #ffbc61}
.world-main{padding-top:15px}
.age-catalog-banner{background:#fff9e4f5;border-color:#fff4cc;box-shadow:0 3px 0 #dbaa4630}
.age-catalog-banner h1{font-size:20px;line-height:1.5}.age-catalog-label{font-weight:600;line-height:1.5}
.row-title h2{font-weight:700;color:#68411d;text-shadow:0 1px 0 #fff2;font-size:21px;line-height:1.45}
.rail-card h3{font-size:18px;line-height:1.45;color:#654936}.rail-type{font-size:14px;color:#88705c}
.start-track-card h3{font-size:25px;line-height:1.4}.start-track-card p{font-size:18px}
.world-nav button,.bottom-nav button{font-weight:700}
.setup-content h1,.welcome h1,.victory-card h1{font-weight:700;line-height:1.5}
.setup-caption,.story-text p{line-height:1.8}
.word-slot,.letter-tile,.question-visual.letter-form{font-family:KatkootArabic,Tahoma,sans-serif}
.expanded-mode{background:#ffe7a4}
.expanded-stage{position:relative;isolation:isolate}
.expanded-mode:before{content:'';position:fixed;inset:0;background:url('/assets/katkoot-doodle-pattern.png') center top/700px 700px;opacity:.15;pointer-events:none}
.expanded-header h1{font-size:22px}.expanded-prompt{font-size:25px;font-weight:700;line-height:1.5}
.expanded-hint{font-size:17px;color:#775e42;line-height:1.6}
.brush-tools{display:flex;align-items:center;justify-content:center;gap:8px;margin:15px 0 0;flex-wrap:wrap}
.brush-tools button{display:flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;padding:6px 12px;background:white;border:2px solid #f3d38b;border-radius:13px;color:#805326;font-size:17px}
.brush-tools button.selected{background:#ffefb4;border-color:#c98629;box-shadow:0 2px 0 #d8a34c}
.brush-tools i{display:block;max-width:28px;max-height:28px;border-radius:50%;background:#805326}
.coloring-colors{gap:7px}.color-dot{width:39px;height:39px;border:4px solid white}
#coloring-canvas{border-radius:24px;cursor:crosshair;max-width:100%;width:min(100%,49svh);box-shadow:0 6px 0 #d1a44d45,0 12px 20px #a77b2320}
.coloring-workspace .expanded-actions{margin:14px 0 8px;gap:8px}.coloring-workspace .expanded-actions button{font-size:17px;padding:8px 13px}
.coloring-workspace .expanded-hint{margin:10px auto}
.playful-mode{background:#ffe6b5}.playful-mode.feed-friends{background:#dcedbf}.playful-mode.size-match{background:#ceefea}.playful-mode.rhythm-memory{background:#e8dafa}
.playful-stage{max-width:760px}
.playful-progress{display:flex;justify-content:center;gap:8px;margin-top:14px}
.playful-progress i{width:9px;height:9px;background:#a9824940;border:2px solid #fff8;border-radius:50%}.playful-progress .now{background:#f8b937;width:27px;border-radius:10px}.playful-progress .done{background:#88b75b}
.playful-stage .expanded-prompt{margin:15px 0 22px}
.match-targets{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;max-width:510px;margin:auto}
.match-targets.three-targets{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.friend-target{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;min-height:190px;background:#fffefa;border:3px solid #fff;border-radius:28px;box-shadow:0 6px 0 #9fae7445;padding:16px 8px;color:#665035}
.friend-target b{font-size:18px}.friend-art{display:block;font-size:83px;line-height:1.4}
.friend-art .play-piece-3d{width:110px;height:110px}
.wish-bubble{position:absolute;top:-13px;right:-4px;background:#fff6df;border:3px solid white;border-radius:20px;padding:4px;font-size:30px;box-shadow:0 3px 0 #bbaa7430}
.wish-bubble .play-piece-3d{width:44px;height:44px;border-radius:12px}
.match-foods{display:flex;justify-content:center;gap:20px;margin:32px auto 10px;align-items:stretch}
.food-piece{position:relative;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:4px;padding:10px;min-width:94px;min-height:102px;background:#fff9de;border:3px solid white;border-radius:22px;box-shadow:0 5px 0 #b49c6638;touch-action:none}
.food-piece.selected{outline:3px solid #a87bce;outline-offset:3px}.food-piece:disabled{opacity:.3;box-shadow:none}
.food-art{font-size:53px;line-height:1.3}.food-art .play-piece-3d{width:72px;height:72px}
.food-piece small{font-size:17px;line-height:1.4}.friend-target.received{background:#f0ffe4;border-color:#9bc478}
.match-tick{position:absolute;bottom:-12px;left:8px;color:#5b964d;background:#fff;border-radius:50%;font-size:27px;font-weight:700;width:36px;line-height:36px}.match-tick:empty{display:none}
.size-friend{height:100px;width:100%;display:flex;align-items:center;justify-content:center}.size-friend>.play-piece-3d{width:var(--piece-size);height:var(--piece-size);max-width:100%;border-radius:14px}
.size-well{width:var(--piece-size);height:var(--piece-size);max-width:100%;display:block;border-radius:22%;background:#d5efed;border:3px dashed #8bc3b6;box-shadow:inset 0 3px 0 #87baa930}
.three-targets .friend-target{min-height:160px;border-radius:22px}.size-match .match-foods{gap:10px}.size-match .food-piece{min-width:0;flex:1;max-width:150px;padding:8px 3px}
.difference-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;max-width:430px;margin:0 auto}
.difference-card{display:flex;align-items:center;justify-content:center;aspect-ratio:1;padding:10px;border:4px solid white;border-radius:27px;background:#fffefa;box-shadow:0 6px 0 #bc8e5438;transition:transform .2s}
.difference-card .artwork-3d{display:block;width:100%;height:auto;aspect-ratio:1;border-radius:18px}
.difference-card.correct,.remember-options button.correct{border-color:#86bf66;background:#eeffdf;transform:scale(1.03)}
.remember-preview{background:white;border:6px solid #fff;box-shadow:0 6px 0 #bba36938;width:210px;height:210px;padding:15px;border-radius:35px;margin:auto;font-size:120px;display:flex;align-items:center;justify-content:center}
.remember-preview .play-piece-3d{width:100%;height:auto;border-radius:24px}
.remember-cloud{width:100px;height:100px;margin:20px auto 30px;display:flex;align-items:center;justify-content:center;font-size:65px;color:#af79cc;background:white;border-radius:35px;box-shadow:0 4px 0 #bea77638}
.remember-options{display:flex;justify-content:center;gap:12px;margin:20px 0}.remember-options button{flex:1;max-width:140px;aspect-ratio:1;font-size:58px;display:flex;align-items:center;justify-content:center;padding:7px;background:#fff;border:3px solid #fff;border-radius:22px;box-shadow:0 5px 0 #bba36938}
.remember-options .play-piece-3d{width:100%;height:auto;border-radius:15px}
.apple-basket{max-width:470px;margin:auto;background:#fff7df;border:3px solid white;border-radius:23px;padding:13px;box-shadow:0 5px 0 #b7a17633}.apple-basket p{font-size:20px}.apple-basket>div{display:flex;flex-wrap:wrap;justify-content:center;min-height:55px;align-items:center;gap:4px}.apple-basket .play-piece-3d{width:43px;height:43px;border-radius:10px}
.share-friends{display:grid;grid-template-columns:repeat(var(--friends),minmax(0,1fr));gap:12px;margin:25px auto;max-width:580px;align-items:start}.share-friend{display:flex;flex-direction:column;align-items:center;gap:8px;min-width:0}.share-avatar .play-piece-3d{width:75px;height:75px;border-radius:22px}.share-plate{width:100%;min-height:90px;border:5px solid white;border-radius:24px;background:#e0f1f6;box-shadow:0 5px 0 #9bbbc24d;padding:9px;display:flex;flex-wrap:wrap;gap:3px;justify-content:center;align-items:center}.share-plate .play-piece-3d{width:32px;height:32px;border-radius:8px}.share-plate>span:not(.play-piece-3d){font-size:32px;color:#7d9ba1}.share-friend>b{font-size:17px}.share-remove{width:42px;height:38px;background:white;border:2px solid #ead9a4;border-radius:12px;font-size:24px;line-height:1}.share-remove:disabled{opacity:.3}
.rhythm-status{color:#755592;font-size:19px;background:#fff9;padding:9px 12px;border-radius:14px;margin:0 auto 20px;max-width:440px}
.rhythm-pads{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;max-width:330px;margin:auto;direction:ltr}
.rhythm-pad{background:var(--pad);border:5px solid #fff9;border-radius:28px;box-shadow:inset 0 3px 0 #fff5,0 7px 0 #9472b440;color:white;aspect-ratio:1;display:flex;flex-direction:column;align-items:center;justify-content:center;transition:filter .1s,transform .1s}
.rhythm-pad>span{font-size:45px;line-height:1}.rhythm-pad small{font-size:18px;color:#fff;margin-top:5px;font-weight:700}.rhythm-pad.lit{filter:brightness(1.3);transform:scale(1.06);border-color:white;box-shadow:0 0 0 5px #fff9,0 7px 0 #9472b440}
.rhythm-input{display:flex;justify-content:center;gap:10px;margin:23px 0;direction:ltr}.rhythm-input i{width:16px;height:16px;border:3px solid white;background:#bca7ce;border-radius:50%}.rhythm-input i.filled{background:#74b967}
@media(max-width:719px){
 .row-title h2{font-size:18px;line-height:1.55}.rail-card h3{font-size:16px;line-height:1.4;min-height:45px;margin-top:7px}.rail-type{font-size:13px;line-height:1.4}
 .age-catalog-banner h1{font-size:18px}.age-catalog-label,.age-catalog-count{font-size:14px}.age-catalog-banner{padding:8px 11px}
 .child-profile b{font-size:16px}.child-profile>span>small{font-size:13px}.world-stars{font-size:16px}
 .world-nav button,.bottom-nav button{font-size:14px;line-height:1.2;gap:3px}
 .start-track-card h3{font-size:21px}.start-track-card p{font-size:16px}.start-track-card small{font-size:13px}
 .activity-row{margin-bottom:18px}.rail-type{padding-bottom:2px}
 .expanded-stage{padding:12px 14px 26px}.expanded-header h1{font-size:20px}.expanded-header p{font-size:15px}.expanded-prompt{font-size:22px}
 .expanded-actions button{font-size:17px}.expanded-feedback{font-size:21px}
 .friend-target{min-height:175px}.friend-art .play-piece-3d{width:90px;height:90px}
 .match-targets{gap:15px}.match-foods{gap:15px;margin-top:27px}.friend-target b{font-size:17px}
 .difference-grid{gap:17px;max-width:360px}.difference-card{padding:7px;border-radius:25px}
 .share-friends{gap:8px}.share-plate{padding:5px}.share-avatar .play-piece-3d{width:67px;height:67px}
}
@media(max-width:359px){.rail-card h3{font-size:15px}.row-title h2{font-size:17px}.color-dot{width:34px;height:34px}.coloring-colors{gap:5px}.brush-tools{gap:5px}.brush-tools button{padding-inline:9px}.size-friend{height:85px}.size-friend>.play-piece-3d,.size-well{max-height:85px}.friend-target{padding-inline:4px}}
@media(prefers-reduced-motion:reduce){.difference-card,.rhythm-pad{transition:none}.difference-card.correct,.rhythm-pad.lit{transform:none}}

/* storybook */
.story-scene{width:100%;aspect-ratio:2/1;background-size:200% 400%;background-repeat:no-repeat;background-color:#fce9b9;border-radius:18px;flex-shrink:0}.story-worlds{max-width:980px}.story-worlds h1{font-size:clamp(24px,5vw,34px)}.world-jumps{display:flex;gap:8px;margin:10px 0 24px;flex-wrap:wrap}.world-jumps a{color:#604826;background:#fff0bf;text-decoration:none;padding:10px 12px;border-radius:16px;font-size:14px;font-weight:700}.story-world{scroll-margin-top:20px;margin:0 0 30px;padding:14px;border-radius:26px;background:#edf4da}.world-sea{background:#dff4f7}.world-space{background:#ebe6fa}.story-world-heading{display:flex;align-items:center;justify-content:space-between;margin:0 0 14px;gap:12px}.story-world-heading h2{font-size:23px;margin:0;color:#3e3a4d}.story-world-heading p{font-size:14px;margin:2px 0;color:#625d70}.story-world-heading>span{white-space:nowrap;font-size:14px;background:#fff9;padding:6px 12px;border-radius:12px}.story-worlds .story-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.world-story-card{min-width:0;overflow:hidden;border-radius:20px;text-align:right;background:#fff;border:0;box-shadow:0 5px 0 #0000000b;padding:0}.world-story-card .story-scene{border-radius:0}.world-story-card .story-card-body{padding:12px}.world-story-card h3{font-size:18px;line-height:1.5;margin:0 0 4px;color:#44384c}.world-story-card p{font-size:14px;line-height:1.6;margin:0 0 5px}.story-length{display:block;font-size:12px;color:#706576;margin-bottom:10px}.world-story-card .primary.faux{min-height:40px;font-size:14px;padding:9px 6px;display:flex;gap:7px;justify-content:center}.legacy-stories summary{padding:16px;cursor:pointer;font-size:16px}.story-reader .story-layout{max-width:800px;margin:18px auto;display:flex;flex-direction:column;gap:0;overflow:hidden;border-radius:26px;background:#fff}.story-reader .story-layout>.story-scene{border-radius:0;max-height:none}.story-reader .story-text{padding:22px;text-align:right}.story-reader .story-text h2{margin:12px 0 8px;font-size:25px;color:#644421}.story-reader .story-text p{font-size:21px;line-height:1.95;margin:8px 0 18px}.story-reader .story-controls{display:flex;gap:12px;flex-wrap:wrap}.story-reader .story-controls button{min-height:48px}.story-pagination{justify-content:center}.story-rail .rail-image .story-scene{height:100%;aspect-ratio:2/1}.story-rail .rail-image{aspect-ratio:2/1!important;height:auto!important}.story-worlds .reading-note{font-size:15px}@media(min-width:760px){.story-worlds .story-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}@media(max-width:380px){.story-world{padding:10px}.world-story-card .story-card-body{padding:9px}.world-story-card h3{font-size:16px}.story-reader .story-text{padding:17px}.story-reader .story-text p{font-size:19px}}

/* hub */
/* Katkoot 1.0.15: portrait-first, tactile play and parent profiles. */
.hub-mode{--hub-ink:#514167;--hub-base:#ecdefc;background:var(--hub-base);color:var(--hub-ink)}
.hub-mode:before{content:'';position:fixed;inset:0;pointer-events:none;background:url('/assets/katkoot-doodle-pattern.png') center/560px;opacity:.09}
.hub-garden,.hub-world{--hub-base:#dff1bd;--hub-ink:#405b3c}.hub-sea{--hub-base:#c8f1ed;--hub-ink:#215a6b}.hub-space{--hub-base:#dfd3fb;--hub-ink:#44316f}.hub-shop{--hub-base:#ffebbb;--hub-ink:#70502b}.hub-pop{--hub-base:#f9d7ed}.hub-memory{--hub-base:#f7e6b4}
.hub-stage{position:relative;max-width:720px;margin:auto;padding:15px 18px 35px;text-align:center;min-height:100svh}
.hub-header{display:grid;grid-template-columns:46px minmax(0,1fr) 46px;gap:10px;align-items:start;margin-bottom:14px}.hub-header h1{font-size:23px;line-height:1.45;margin:3px 0;color:inherit}.hub-header small{font-size:14px;line-height:1.4}.hub-header .round{width:46px;height:46px;box-shadow:0 4px 0 #71618122;background:white;color:#9b91aa}
.hub-progress{display:flex;gap:7px;justify-content:center;margin:10px 0 24px}.hub-progress i{display:block;width:10px;height:10px;border-radius:10px;background:#fff8;border:1px solid #9b83b533}.hub-progress .now{width:27px;background:#f5b73d}.hub-progress .done{background:#71b889}
.hub-sprite{display:inline-block;width:100%;height:100%;max-width:100%;vertical-align:middle;overflow:hidden;pointer-events:none;filter:drop-shadow(0 3px 3px #39232318)}
.rail-image>.hub-sprite{width:88%;height:94%}.hub-note{font-size:16px;line-height:1.8;margin:16px auto;max-width:500px}.hub-actions{display:flex;gap:12px;justify-content:center;margin:18px 0;flex-wrap:wrap}.hub-feedback:empty{display:none}.hub-feedback{position:relative;z-index:20;margin:22px auto 5px;max-width:500px;display:flex;gap:10px;align-items:center;justify-content:center;flex-wrap:wrap;background:#fffaf0;border:3px solid white;border-radius:24px;padding:12px;box-shadow:0 6px 0 #97744225;animation:hub-arrive .35s ease-out}.hub-feedback>span{width:48px;height:48px}.hub-feedback b{font-size:22px}.hub-feedback .primary{min-height:46px;padding:8px 18px}
.hub-choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;max-width:480px;margin:22px auto}.hub-choices button,.shadow-options button{min-height:85px;padding:14px;background:#fff;border:3px solid #fff;border-radius:24px;color:var(--hub-ink);font-size:20px;box-shadow:0 6px 0 #51416726}.hub-choices .play-piece-3d{width:85px;height:85px}.hub-choices button:active{transform:translateY(3px);box-shadow:0 2px 0 #51416726}
.memory-label{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:17px;margin:14px auto;max-width:490px}.memory-label b{white-space:nowrap}.hub-memory{display:grid;grid-template-columns:repeat(var(--columns),minmax(0,1fr));gap:14px;max-width:490px;margin:20px auto}.hub-memory-card{aspect-ratio:.95;min-width:0;padding:10px;border-radius:25px;background:#af86df;border:5px solid white;box-shadow:0 7px 0 #9060bf55;position:relative;transition:transform .25s,background .25s}.hub-memory-card>span{width:75%;height:70%;display:block;margin:auto;opacity:.2}.hub-memory-card b{position:absolute;inset:20% 0;font-size:44px;color:white}.hub-memory-card.flipped{background:#fffbed;transform:rotateY(0)}.hub-memory-card.flipped>span{opacity:1;width:100%}.hub-memory-card small{display:block;font-size:17px;color:#5e4a6b}.hub-memory-card .play-piece-3d{width:100%;height:100%;max-width:115px;max-height:115px}.hub-memory-card.matched{border-color:#88c779;background:#f1ffeb;box-shadow:0 4px 0 #68a46966}
.pop-status{display:flex;justify-content:space-between;gap:12px;align-items:center;background:#fff9;border:2px solid white;border-radius:18px;padding:9px 15px;font-size:21px}.pop-status>span{font-weight:700}.pop-arena{position:relative;height:min(55svh,530px);min-height:320px;border:3px solid white;border-radius:30px;overflow:hidden;margin:15px 0;background:linear-gradient(135deg,#ffeebf,#fad5ef 50%,#d1effd);box-shadow:inset 0 3px 18px #8763a511}.pop-arena.ocean{background-image:url('/assets/world-backdrops.png');background-size:200% 200%;background-position:0 100%}.pop-bubble{position:absolute;bottom:-95px;width:75px;height:75px;border-radius:50%;border:2px solid #fffc;background:radial-gradient(circle at 30% 25%,#ffffffe0,#ffffff55 45%,#cbb5f666);box-shadow:inset 3px 4px 8px #fff9,0 3px 9px #6c7ea52b;padding:12px;animation:float-bubble var(--float-time,12s) linear var(--float-delay,0s) forwards;touch-action:manipulation}.pop-bubble b{font-size:37px;line-height:1;color:#594473}.pop-bubble .hub-sprite{width:100%;height:100%}.pop-bubble.popped{opacity:0;scale:1.3;transition:opacity .2s,scale .2s}.pop-retry{filter:grayscale(.7)}.pop-arena.paused .pop-bubble{animation-play-state:paused}
@keyframes float-bubble{from{transform:translateY(0) rotate(-9deg)}to{transform:translateY(-650px) rotate(12deg)}}@keyframes hub-arrive{from{opacity:0;transform:translateY(15px) scale(.96)}to{opacity:1;transform:none}}
.hub-backdrop{background-image:url('/assets/world-backdrops.png');background-size:200% 200%;background-position:var(--back-x) var(--back-y)}
.world-workshop{max-width:630px;margin:auto}.world-tools{display:flex;gap:7px;justify-content:center;margin-bottom:12px}.world-tools button{min-width:42px;height:44px;font-size:25px;background:#fff;border:2px solid #fff;border-radius:13px;color:#725a98;box-shadow:0 3px 0 #79648e22}.world-tools button:disabled{opacity:.4}.world-canvas{position:relative;width:100%;aspect-ratio:10/11;border-radius:26px;border:5px solid white;box-shadow:0 7px 0 #668c4a22;overflow:hidden;isolation:isolate;touch-action:none}.world-object{position:absolute;width:22%;aspect-ratio:1;background:transparent;border:2px solid transparent;border-radius:12px;padding:0;transform:translate(-50%,-50%) rotate(var(--item-rotation)) scale(var(--item-scale));touch-action:none;cursor:grab}.world-object>.hub-sprite{transform:scaleX(var(--item-flip))}.world-object.selected{border-color:#fff;outline:2px dashed #c599dd}.world-object:active{cursor:grabbing}.world-backgrounds,.sticker-filters{display:flex;gap:7px;overflow-x:auto;padding:10px 2px 6px}.world-backgrounds button,.sticker-filters button{flex:1;white-space:nowrap;min-height:40px;border:2px solid white;background:#fff8;border-radius:12px;color:#4d6644;padding:5px 11px;font-size:15px}.world-backgrounds [aria-pressed=true],.sticker-filters [aria-pressed=true]{background:#8868bc;color:#fff}.sticker-filters{padding-top:2px}.sticker-shelf{display:flex;overflow-x:auto;gap:9px;padding:5px 3px 12px;scroll-snap-type:x proximity;touch-action:pan-x}.sticker-shelf>button{flex:0 0 76px;height:100px;padding:8px 4px;background:white;border:2px solid white;border-radius:18px;box-shadow:0 4px 0 #718b4926;scroll-snap-align:start}.sticker-shelf .hub-sprite{height:65px}.sticker-shelf small{font-size:14px;display:block;color:#584c67;line-height:1.3}.world-footer{display:flex;gap:7px;justify-content:center;flex-wrap:wrap;margin-top:8px}.world-footer button{font-size:15px;padding:8px 12px}
.adventure-hero{height:170px;width:200px;margin:15px auto}.adventure-question{font-size:23px;line-height:1.7;font-weight:700;max-width:540px;margin:15px auto}.adventure-puzzle{display:grid;grid-template-columns:repeat(var(--puzzle-cols),minmax(0,1fr));gap:4px;padding:5px;max-width:500px;margin:20px auto;background:#fff8;border:5px solid white;border-radius:22px;overflow:hidden;box-shadow:0 7px 0 #82709425}.adventure-puzzle button{position:relative;aspect-ratio:1.7;padding:0;background:#e2d8ec;border:2px dashed #ad94c5;border-radius:4px;overflow:hidden}.adventure-puzzle svg{display:block;width:100%;height:100%;pointer-events:none}.adventure-puzzle .filled{border-color:transparent;background:white}.piece-ghost{opacity:.12;display:block;width:100%;height:100%}.adventure-puzzle button>b{position:absolute;inset:27% 0;font-size:28px;color:#9473ad}.build-puzzle button{aspect-ratio:1.3}.adventure-pieces{display:flex;gap:12px;flex-wrap:wrap;justify-content:center;margin:25px auto;max-width:520px;position:relative}.adventure-pieces button{width:95px;height:76px;border:4px solid white;background:white;border-radius:12px;box-shadow:0 5px 0 #8e77a82e;padding:0;touch-action:none;z-index:2}.adventure-pieces button:active{z-index:30}.adventure-pieces svg{display:block;width:100%;height:100%;border-radius:7px}.adventure-pieces button:disabled{visibility:hidden}.adventure-pieces .selected{outline:3px solid #a16acc;outline-offset:3px}
.hidden-target{display:flex;justify-content:center;gap:12px;align-items:center;font-size:18px}.hidden-target>.hub-sprite{width:55px;height:55px}.adventure-search{position:relative;aspect-ratio:1;max-width:520px;margin:auto;border:5px solid white;border-radius:28px;overflow:hidden}.adventure-search button{position:absolute;width:22%;height:22%;padding:0;border:0;background:transparent}.adventure-search .found{opacity:.55}.adventure-search button>b{position:absolute;right:-5px;top:0;background:#fff;color:#53a773;border-radius:50%;font-size:23px;padding:0 9px}
.adventure-palette{display:flex;gap:9px;justify-content:center;margin:18px 0}.adventure-palette button{width:42px;height:42px;border:4px solid white;border-radius:50%;box-shadow:0 4px 0 #886a9622}.adventure-palette [aria-pressed=true]{outline:3px solid #735590;outline-offset:3px}.adventure-coloring{display:block;width:min(100%,480px);height:auto;aspect-ratio:1;background:#fff;border:6px solid white;border-radius:27px;margin:23px auto;box-shadow:0 7px 0 #82709425;touch-action:none}
.fact-scene{position:relative;aspect-ratio:1.15;border:5px solid white;border-radius:28px;overflow:hidden;max-width:510px;margin:auto}.fact-subject{position:absolute;width:40%;height:50%;left:30%;top:30%}.fact-hotspot{position:absolute;width:50px;height:50px;border:4px solid white;border-radius:50%;background:#67c29f;color:white;font-size:29px;box-shadow:0 4px 0 #538fa34a}.fact-text{background:#fff8;border:2px solid white;border-radius:22px;padding:15px;margin:20px auto;font-size:19px;line-height:1.8;max-width:540px}.fact-text p{margin:0 0 12px}.shadow-options{display:flex;gap:15px;justify-content:center}.shadow-options button{width:30%;max-width:150px;height:130px;padding:12px}.shadow-sprite{filter:brightness(0) opacity(.72)}
.trace-picker{display:flex;gap:7px;overflow-x:auto;max-width:600px;margin:0 auto 15px;padding:4px}.trace-picker button{flex:0 0 auto;min-width:44px;min-height:44px;padding:6px 13px;background:#fff;border:2px solid #fff;border-radius:13px;color:#684b89;font-size:20px}.trace-picker [aria-pressed=true]{background:#ffe27d;border-color:#eabb4f}.guided-trace-paper{max-width:520px;margin:auto;aspect-ratio:1;background:#fffdf7;border:5px solid white;border-radius:30px;box-shadow:0 7px 0 #a385bf33;overflow:hidden}.guided-trace-paper canvas{display:block;width:100%;height:100%;touch-action:none}.guided-trace-status{display:flex;gap:15px;align-items:center;justify-content:center;font-size:17px;margin:20px 0}.guided-trace-status b{font-size:23px;color:#ae7d24}
.math-mosaic{display:grid;grid-template-columns:46px repeat(calc(var(--n) - 1),minmax(0,1fr));gap:5px;max-width:510px;margin:24px auto;background:#ffffff77;padding:8px;border-radius:22px;border:3px solid white}.math-mosaic>b{display:flex;align-items:center;justify-content:center;min-height:43px;font-size:23px;color:#614187}.mosaic-slot{position:relative;aspect-ratio:1;display:block;overflow:hidden;padding:0;background:#faf7ff;border:3px dashed #bea9d3;border-radius:9px;color:#695383;font-size:24px}.mosaic-slot.placed{border-color:#fff}.mosaic-art{display:block;width:100%;height:100%;background-repeat:no-repeat}.mosaic-pieces{display:flex;gap:10px;flex-wrap:wrap;justify-content:center}.mosaic-pieces button{width:70px;height:70px;font-size:29px;border:4px solid white;background:#ffdc66;color:#70542d;border-radius:20px;box-shadow:0 5px 0 #bb953d4d;touch-action:none;position:relative}.mosaic-pieces .selected{outline:3px solid #9a6bc4;outline-offset:3px}.mosaic-pieces button:disabled{opacity:.2}
.sudoku-board{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:3px;max-width:410px;padding:5px;margin:20px auto;background:#9778b6;border:5px solid white;border-radius:22px;overflow:hidden}.sudoku-board button{aspect-ratio:1;background:#fff;border:0;border-radius:7px;padding:13px;font-size:32px;color:#b5a2c9;min-width:0}.sudoku-board .given{background:#eee6f5}.sudoku-board button:nth-child(4n+2){margin-right:5px}.sudoku-board button:nth-child(n+5):nth-child(-n+8){margin-bottom:5px}.sudoku-board .selected{background:#ffe29b;box-shadow:inset 0 0 0 3px #ddae50}.sudoku-keys{display:flex;gap:9px;justify-content:center;margin:25px auto}.sudoku-keys button{width:57px;height:60px;border:3px solid white;background:#fff;border-radius:16px;padding:8px;font-size:26px;box-shadow:0 4px 0 #9c7db533}
.pilot-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:5px;max-width:450px;margin:20px auto;background:#eee4ff;border:5px solid white;border-radius:25px;padding:10px}.pilot-grid>div{aspect-ratio:1;min-width:0;display:block;padding:5px;background:#fff8;border-radius:12px;border:1px solid #fff}.pilot-grid .blocked{background:#c6b4df}.pilot-grid .pilot-here{background:#fff0ba;box-shadow:0 0 0 2px #efc659}.planned-path{background:white;border-radius:16px;font-size:25px;line-height:1.6;padding:9px;min-height:60px;overflow-wrap:anywhere;max-width:450px;margin:auto}.pilot-controls{display:flex;gap:11px;justify-content:center;margin-top:20px}.pilot-controls button{width:57px;height:53px;background:#fff;border:2px solid white;border-radius:16px;font-size:28px;color:#7250a0;box-shadow:0 4px 0 #ad94c844}
.bridge-board{display:grid;grid-template-columns:1fr 85px 1fr;gap:10px;align-items:stretch;margin:25px auto;max-width:500px}.bridge-bank{background:#e7f8ba;border:4px solid white;border-radius:24px;padding:12px 8px;min-height:280px}.bridge-bank h3{font-size:18px;margin:0 0 12px}.bridge-bank button{width:72px;height:72px;max-width:100%;border:3px solid transparent;border-radius:15px;background:transparent;padding:5px}.bridge-bank [aria-pressed=true]{border-color:#ce9b3f;background:#fff6ce}.bridge-bank button:disabled{opacity:.7}.bridge-water{display:flex;flex-direction:column;justify-content:center;align-items:center;background:#b6e9ef;border-radius:50px;padding:8px}.bridge-water>.hub-sprite{height:80px}.bridge-water b{font-size:15px}
.shop-items{display:flex;gap:15px;justify-content:center;margin:25px 0}.shop-items>div{background:white;border:3px solid white;box-shadow:0 5px 0 #b8a16b33;border-radius:22px;padding:12px;width:140px;max-width:32%}.shop-items .hub-sprite{height:85px}.shop-items b{font-size:18px;display:block}.shop-receipt{background:#fffaf0;border:3px solid white;border-radius:24px;max-width:460px;padding:18px;margin:auto}.shop-receipt p{font-size:21px}.shop-receipt strong{font-size:35px;display:block;color:#ad7b2f}.shop-receipt span{display:block;font-size:18px}.coin-keys{display:flex;gap:13px;justify-content:center;margin-top:25px}.coin-keys button{width:62px;height:62px;border:4px solid #ffe99e;background:linear-gradient(135deg,#fff0a5,#ffd45e);border-radius:50%;color:#a97520;font-size:26px;box-shadow:0 5px 0 #d1a044}
.english-subject{height:180px;max-width:220px;margin:20px auto 35px}.english-subject>.hub-sprite,.english-subject>.play-piece-3d{width:150px;height:150px}.english-subject small{display:block;font-size:20px}.english-slots,.english-tiles{display:flex;gap:13px;justify-content:center;margin:25px auto}.english-slots button,.english-tiles button{width:75px;height:85px;border:3px solid white;border-radius:21px;background:white;font-family:Arial,sans-serif;font-size:39px;font-weight:bold;color:#7353a2;box-shadow:0 5px 0 #a486bd33}.english-slots i{opacity:.18;font-style:normal}.english-tiles button{background:#ffdc69;color:#79562c}.english-tiles button:disabled{opacity:.2}.detective-mascot{width:135px;height:135px;margin:15px auto}.detective-clue{font-size:23px;line-height:1.8;background:#fff9;padding:22px;border:3px solid white;border-radius:26px;max-width:510px;margin:15px auto}
#modal:has(.family-tabs),#modal:has(.family-children){width:min(94vw,680px);max-height:88svh;overflow-y:auto}#modal:has(.family-tabs) h2{margin-bottom:15px}.family-children{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px;margin:25px 0}.family-child{min-width:0;display:flex;align-items:center;flex-direction:column;background:#fff9e8;border:3px solid #f1dfb3;border-radius:23px;padding:15px;color:#655137}.family-child>span{width:78px;height:78px;display:flex;align-items:center;justify-content:center;font-size:44px}.family-child img,.family-mini img{width:100%;height:100%;object-fit:contain}.family-child .play-piece-3d{width:100%;height:100%}.family-child b{font-size:20px;overflow-wrap:anywhere}.family-child small{font-size:15px}.family-child.selected{border-color:#b795d2;background:#f1e7ff}.family-avatars{display:flex;gap:7px;overflow-x:auto;padding:8px 4px;margin-bottom:15px}.family-avatars button{flex:0 0 62px;height:64px;border:3px solid transparent;background:#fff6e6;border-radius:16px;padding:6px}.family-avatars img,.family-avatars .play-piece-3d{width:100%;height:100%}.family-avatars [aria-pressed=true]{border-color:#b08bd3;background:#f4eaff}.family-note{font-size:14px;line-height:1.8;color:#867d88;margin:18px 0 0}.word-gate{font-size:25px;background:#fff0c3;border-radius:18px;padding:14px;color:#885f28}.family-strip,.family-tabs{display:flex;gap:8px;overflow-x:auto;padding:8px 1px}.family-strip button,.family-tabs button{white-space:nowrap;padding:9px 14px;min-height:44px;background:#fff1cd;color:#765230;border:2px solid transparent;border-radius:15px;font-size:16px}.family-strip [aria-pressed=true]{background:#9572be;color:white}.family-tabs{border-bottom:1px solid #eadfd2;margin-bottom:20px}.family-tabs button{flex:1;background:#f6f1eb}.family-tabs [aria-pressed=true]{background:#ffdc7b;color:#73511a;border-color:#f0c658}.family-calendar{border:2px solid #eee4d5;padding:15px;border-radius:22px;margin:15px 0 25px}.family-calendar>div:first-child{display:flex;align-items:center;justify-content:space-between}.family-calendar>div:first-child button{background:#fff3d1;border:0;width:39px;height:39px;border-radius:12px;font-size:25px;color:#946c30}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px;margin-top:13px;direction:rtl}.calendar-grid small{text-align:center;font-size:12px;color:#817386}.calendar-grid button{min-width:0;aspect-ratio:1;border:1px solid transparent;border-radius:12px;background:#f8f3eb;color:#665076;font-size:16px;position:relative;padding:0}.calendar-grid button.selected{background:#a07ec4;color:white}.calendar-grid .has-activity:after{content:'';position:absolute;width:5px;height:5px;bottom:3px;left:calc(50% - 2px);border-radius:50%;background:#d8a332}.calendar-grid button:disabled{opacity:.35}.usage-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.usage-grid>div{display:flex;flex-direction:column;padding:15px;border-radius:18px;background:#fff4da}.usage-grid b{font-size:21px;color:#8e6a31}.usage-grid span{font-size:16px;color:#8b7a6b}.family-progress{margin:23px 0;padding:19px;background:#f0e6fb;border-radius:22px;color:#77558f}.family-progress strong{font-size:30px;margin-inline-start:20px}.family-progress progress{width:100%;height:15px;accent-color:#a887c9}.family-progress p{margin:6px 0 0;font-size:16px}.report-details{padding:14px;border:2px solid #eee0cb;border-radius:19px;margin:20px 0}.report-details summary{cursor:pointer;font-weight:700;line-height:1.7}.report-row{display:flex;justify-content:space-between;gap:15px;padding:12px 0;border-bottom:1px solid #f0e9df}.family-actions{display:flex;gap:10px;flex-wrap:wrap}.family-list>div{display:flex;align-items:center;gap:12px;padding:14px 0;border-bottom:1px solid #eee5d9}.family-list b{flex:1;font-size:18px}.family-list b small{display:block;font-size:14px;font-weight:400;color:#938388}.family-list .secondary{padding:6px 12px}.family-mini{width:48px;height:48px;display:block}.family-mini>.play-piece-3d{width:100%;height:100%}
@media(max-width:480px){.hub-stage{padding:12px 13px 28px}.hub-header{grid-template-columns:42px minmax(0,1fr) 42px;gap:7px}.hub-header .round{width:42px;height:42px}.hub-header h1{font-size:21px}.hub-header small{font-size:14px}.hub-progress{margin-bottom:18px}.hub-memory{gap:11px}.hub-memory-card{border-width:4px;padding:8px;border-radius:21px}.hub-memory-card small{font-size:15px}.hub-memory-card b{font-size:34px}.world-tools{gap:5px}.world-tools button{min-width:37px;height:41px;font-size:23px}.world-canvas{border-width:4px}.world-backgrounds button,.sticker-filters button{padding:5px 8px;font-size:14px}.world-footer button{font-size:14px;padding:8px 10px}.adventure-hero{height:140px;width:160px}.adventure-question{font-size:21px}.adventure-pieces{gap:9px}.adventure-pieces button{width:74px;height:61px}.hub-choices button{font-size:18px;padding:12px 8px}.bridge-board{grid-template-columns:1fr 65px 1fr;gap:7px}.sudoku-keys{gap:6px}.sudoku-keys button{width:51px;height:54px}.shop-items{gap:9px}.shop-items>div{padding:8px}.shop-items b{font-size:16px}.shop-items .hub-sprite{height:67px}.math-mosaic{grid-template-columns:34px repeat(calc(var(--n) - 1),minmax(0,1fr));padding:6px}.mosaic-slot{font-size:21px}.mosaic-pieces button{width:61px;height:61px;font-size:25px}.pop-bubble{width:69px;height:69px}.fact-text{font-size:18px}.calendar-grid{gap:4px}.family-calendar{padding:10px}.usage-grid b{font-size:19px}.family-actions button{font-size:16px}.world-object{min-height:0!important}.shadow-options button{height:105px;padding:9px}}
@media(prefers-reduced-motion:reduce){.hub-feedback{animation:none}.pop-bubble{animation:none;bottom:auto;top:calc(12% + var(--static-y,0%));left:var(--static-x)!important;transition:none}.hub-memory-card{transition:none}.pop-bubble.popped{scale:1}}

.adventure-hero>.discovery-art{display:block;width:100%;height:100%;border-radius:25px}.adventure-question-visual{font-size:31px;background:#fff8;padding:14px;border-radius:23px;margin:15px auto;max-width:500px}.adventure-question-visual .play-piece-3d{width:44px;height:44px}

/* reference */
/* A quiet, portrait play field: the pictures are the controls. */
.reference-mode{margin:0;background:var(--ref-bg,#fff6dc);color:#4d405e;overscroll-behavior:none}
.ref-theme-yellow{--ref-bg:#ffe99b}.ref-theme-pink{--ref-bg:#f6a2c7}.ref-theme-blue,.ref-theme-sky{--ref-bg:#76cbef}.ref-theme-purple{--ref-bg:#a18aec}.ref-theme-green{--ref-bg:#b9e887}.ref-theme-orange{--ref-bg:#efaf63}.ref-theme-white{--ref-bg:#fffdfd}.ref-theme-wood{--ref-bg:#f5ebd9}.ref-theme-aqua{--ref-bg:#43d2d8}.ref-theme-night{--ref-bg:#55408c}
.ref-stage{position:relative;isolation:isolate;max-width:560px;min-height:100svh;margin:auto;padding:76px 22px 100px;box-sizing:border-box;display:flex;flex-direction:column;justify-content:center;overflow:hidden;background:var(--ref-bg)}
.ref-stage:before{content:"";position:absolute;inset:0;background:url('/assets/katkoot-doodle-pattern.png') center/400px;opacity:.075;z-index:-1;pointer-events:none}
.ref-content{width:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:30px;flex:1;min-height:0}
.ref-exit,.ref-speaker,.ref-next,.ref-pause,.ref-modes-back{position:absolute!important;width:48px;height:48px;min-width:48px;border:0!important;border-radius:50%!important;background:#fff!important;box-shadow:0 5px 0 #0000000d!important;display:grid;place-items:center;z-index:15;color:#a5a9bc;padding:10px!important}
.ref-exit{left:18px;top:max(18px,env(safe-area-inset-top))}.ref-speaker{left:18px;bottom:max(22px,env(safe-area-inset-bottom));color:#7060c5;background:#fff29c!important}.ref-next{right:18px;bottom:max(22px,env(safe-area-inset-bottom));background:#55bd7b!important;color:white}.ref-pause{right:18px;bottom:22px;font-weight:800}.ref-modes-back{top:18px;right:18px;font-size:28px}.ref-caption{font-size:17px;text-align:center;line-height:1.6;max-width:350px;margin:0 auto 18px;padding:0 12px;font-weight:700;min-height:28px}.ref-pop-stage .ref-caption{position:absolute;top:74px;left:15%;right:15%;z-index:3;pointer-events:none;color:#fff;text-shadow:0 1px 2px #52678955;font-size:15px}
.ref-button{appearance:none;font:inherit;color:inherit;cursor:pointer;touch-action:manipulation;background:transparent;border:0;padding:0;min-width:44px;min-height:44px;position:relative;border-radius:18px;-webkit-tap-highlight-color:transparent}
.ref-button:disabled{opacity:1;cursor:default}.ref-button:focus-visible{outline:4px solid #61c6ec;outline-offset:5px}.ref-sprite{width:100%;height:100%;display:block;pointer-events:none;overflow:hidden}.ref-selected{outline:4px solid #ffdc5c;outline-offset:3px}.ref-dragging{z-index:50!important;transition:none!important;filter:drop-shadow(0 15px 12px #4730643d);cursor:grabbing}.ref-button[data-rdrag]{touch-action:none}
.ref-fruit-scene{display:flex;flex-wrap:wrap;justify-content:center;gap:18px 8px;width:100%;direction:ltr}.ref-fruit-scene button{width:29%;height:145px;transition:transform .18s}.ref-fruit-scene button:nth-last-child(-n+2){width:35%;margin-top:10px}.ref-fruit-scene button:active{transform:scale(.93)}
.ref-analogy{display:grid;grid-template-columns:1fr 1fr;width:85%;max-width:320px;gap:3px;background:#604754;border:3px solid #604754;border-radius:18px;overflow:hidden}.ref-analogy>div,.ref-analogy>button{height:115px;background:#fff;padding:10px;box-sizing:border-box}.ref-analogy button{border-radius:0;font-size:60px}.ref-tray{display:flex;justify-content:center;gap:16px;align-items:center;width:100%;direction:ltr}.ref-tray>button{width:28%;height:100px}.ref-hero-object{width:65%;height:245px;max-width:280px}.ref-number-tray{display:flex;gap:12px;justify-content:center}.ref-number-tray button{width:60px;height:60px;background:#fff9df;border:3px solid #a87540;font-size:34px;font-weight:800;border-radius:11px;box-shadow:0 5px 0 #925d3733}
.ref-robots{display:flex;gap:8px;width:100%;direction:ltr}.ref-robot{width:33%;position:relative}.ref-robot .ref-sprite{height:170px}.ref-robot b,.ref-robot button{position:absolute;bottom:30px;left:30%;width:42%;height:45px;background:#f5ac38;border:3px solid white;border-radius:12px;font-size:30px;font-weight:800;color:white;line-height:42px;text-align:center;padding:0;min-width:0;box-sizing:border-box}.ref-robot:nth-child(2) b{background:#65bd85}.ref-robot button{background:#6e62b8}
.ref-cubbies{display:grid;grid-template-columns:1fr 1fr;gap:5px;width:280px;height:260px;max-width:90%;padding:6px}.ref-cubbies button{border:13px solid #f4746d;background:#efaaa4;box-shadow:inset 6px 6px 0 #0001,5px 6px 0 #b9853733;border-radius:7px;min-height:0}.ref-cubbies button:nth-child(2){border-color:#7279df;background:#a6a8ef}.ref-cubbies button:nth-child(3){border-color:#ecc147;background:#f8e08b}.ref-cubbies button:nth-child(4){border-color:#62be80;background:#9fe0b7}.ref-cubbies .ref-sprite{height:100%;max-height:106px}
.ref-object-grid{width:100%;max-width:340px;display:grid;grid-template-columns:1fr 1fr;gap:22px;direction:ltr}.ref-object-grid button{height:145px;background:#ffffffd9;border:6px solid white;box-shadow:0 7px 0 #6d53a622;padding:10px}.ref-shadow-tray{display:flex;gap:15px;width:100%;justify-content:center;direction:ltr}.ref-shadow-tray button{width:30%;height:130px;background:#fff7db;border:5px solid white;padding:8px;box-shadow:0 6px 0 #50702833}.ref-shadow .ref-sprite{filter:brightness(0) opacity(.78)}.ref-animal-puzzle{width:245px;height:270px;display:grid;grid-template-columns:1fr 1fr;direction:ltr;gap:3px;background:#deaa54;padding:4px;border-radius:14px}.ref-animal-puzzle>*{background:#fff4c1;border-radius:6px;width:100%;height:100%;min-width:0;min-height:0}.ref-animal-puzzle button{font-size:46px;color:#b9773b}.ref-piece-image{display:block;width:100%;height:100%;overflow:hidden}.puzzle-candidates button{height:110px;width:105px;background:#fff2bc;box-shadow:0 5px 0 #a16124;padding:4px;border-radius:12px}
.ref-memory{display:grid;grid-template-columns:repeat(var(--cols),1fr);width:100%;gap:14px;direction:ltr;perspective:900px}.ref-memory button{aspect-ratio:1/1.12;transition:transform .55s;transform-style:preserve-3d;min-height:0;box-shadow:0 5px 0 #d8cdbb;border:5px solid white;border-radius:14px;background:#8e6ccc}.ref-card-back,.ref-card-face{position:absolute;inset:0;backface-visibility:hidden;border-radius:8px;overflow:hidden}.ref-card-back{background:repeating-linear-gradient(-22deg,#8c68d0 0 19px,#9e7adc 19px 38px)}.ref-card-face{background:var(--face);transform:rotateY(180deg);display:grid;place-items:center;padding:6px}.ref-card-face .ref-sprite,.ref-card-face .hub-sprite{width:100%;height:100%}.ref-flipped{transform:rotateY(180deg)}.ref-memory.gather button{transform:translate(calc(var(--cx) * 112%),calc(var(--cy) * 112%)) rotate(-7deg)}.ref-memory.spread button{animation:ref-deal .55s both}.ref-memory-stage .ref-caption{font-size:22px}.ref-theme-wood .ref-stage:before{opacity:.04}
.ref-menu-title{font-size:24px;color:#fff;text-align:center;margin:0}.ref-mode-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;width:100%;direction:ltr}.ref-mode-grid>button{background:#fff;border-radius:20px;box-shadow:0 7px 0 #318fbb33;overflow:hidden;padding:12px 10px 0;display:flex;flex-direction:column;align-items:center}.ref-mode-grid>button>.ref-sprite,.ref-mode-grid>button>.hub-sprite{height:110px;width:110px}.ref-mode-grid span:last-child{font-size:17px;font-weight:700;padding:10px 0;direction:rtl}.ref-mode-grid>button:last-child:nth-child(odd){grid-column:1/3;justify-self:center;width:calc(50% - 8px)}.ref-mode-letter{font-size:40px;height:110px;display:grid;place-items:center;color:#ac70db}
.ref-pop-stage{height:100svh;padding:0;max-width:560px;overflow:hidden}.ref-pop-stage .ref-content{height:100%;display:block}.ref-pop-field{position:absolute;inset:0;overflow:hidden}.ref-theme-ocean .ref-stage{background:#78cce9 url('/assets/world-backdrops.png') 0 100%/200% 200%;}.ref-theme-ocean .ref-stage:after{content:"";position:absolute;inset:0;background:#9fdef22b;pointer-events:none;z-index:-1}.ref-theme-rainbow .ref-stage{background:radial-gradient(ellipse 120% 75% at 50% 95%,#e5ebff 0 25%,#cceee9 25% 33%,#fff1c5 33% 41%,#f6cdc6 41% 49%,transparent 50%),linear-gradient(#f8b4ed,#f4d8f6)}.ref-floater{position:absolute;bottom:-120px;width:82px;height:82px;border:0;background:transparent;padding:6px;cursor:pointer;touch-action:manipulation;animation:ref-rise var(--duration,12s) linear both;z-index:2}.ref-floater .ref-sprite,.ref-floater .hub-sprite{height:100%;width:100%;pointer-events:none}.ref-theme-rainbow .ref-floater{animation-name:ref-fall;bottom:auto;top:-110px}.ref-glass-bubble{border:2px solid #ffffffda;border-radius:50%;background:radial-gradient(circle at 25% 22%,#fffffff0 0 5%,transparent 9%),radial-gradient(circle at 65% 70%,transparent 46%,#f2b8eb66 68%,#ffffffbd 95%);box-shadow:inset 3px 4px 5px #fff6,inset -3px -5px 5px #a488c666}.ref-bubble-core{display:block;width:55px;height:55px;margin:auto;border-radius:50%;background:radial-gradient(circle at 33% 28%,#ffffff70,transparent 42%),var(--bubble-color);box-shadow:inset -4px -6px 5px #0001}.ref-symbol-floater{background:#e898eb;border:4px solid #fff7;border-radius:45%;font-size:42px;font-weight:800;color:white}.ref-pop-meter{position:absolute;left:22%;top:30px;width:54%;height:14px;border-radius:20px;background:#4692c8;box-shadow:inset 0 2px 2px #0002;z-index:5}.ref-pop-meter[hidden]{display:none}.ref-pop-meter>i{height:100%;display:block;border:3px solid #4692c8;box-sizing:border-box;background:#ffdb4d;border-radius:15px;transition:width .2s}.ref-pop-meter>b{position:absolute;color:#d5edff;font-size:28px;line-height:28px;top:-8px;left:44%;text-shadow:0 2px 0 #4692c8}.ref-pop-meter>b:last-child{left:auto;right:-8px}.ref-pop-target{position:absolute;top:111px;left:35%;width:30%;text-align:center;font-size:24px;z-index:5;color:#fff;font-weight:800}.paused .ref-floater{animation-play-state:paused}.ref-pop-burst{pointer-events:none;opacity:0;transition:opacity .3s;filter:brightness(1.7)}.ref-pop-poof{opacity:0;transition:opacity .4s}.ref-sea-reward{position:absolute;left:30%;top:25%;width:40%;height:210px;z-index:8;animation:ref-reward 2.5s both}
.ref-gift-overlay{position:fixed;inset:0;z-index:40;display:flex;flex-direction:column;align-items:center;justify-content:center;background:radial-gradient(circle,#a783fb,#623cca);color:#fff;gap:20px}.ref-gift-box{width:230px;height:230px;animation:ref-wiggle 1s infinite}.ref-gift-box .hub-sprite{width:100%;height:100%}.ref-gift-overlay p{font-size:24px;font-weight:800}.ref-collectible{width:230px;height:260px;padding:20px;border:7px solid white;border-radius:22px;background:#7ee7df;box-shadow:0 0 80px #fffa;animation:ref-reward .5s both}.ref-next-inline{background:#5cbe82;color:white;width:64px;height:54px;font-size:28px}
.ref-spelling-art{width:190px;height:220px}.ref-spelling-slots,.ref-spelling-letters{display:flex;gap:12px}.ref-spelling-slots button,.ref-spelling-letters button{width:66px;height:66px;border-radius:10px;font-size:39px;font-family:Arial,sans-serif;font-weight:bold}.ref-spelling-slots button{background:#4ca9d166;color:#b4e0f1}.ref-spelling-slots button.filled,.ref-spelling-letters button{background:white;color:#79bb66;box-shadow:0 5px 0 #548eaf44}.ref-spelling-letters button:nth-child(2),.ref-spelling-slots button.filled:nth-child(2){color:#e68066}.ref-spelling-letters button:nth-child(3),.ref-spelling-slots button.filled:nth-child(3){color:#d6ab52}.ref-spelling-letters button:disabled{visibility:hidden}
.ref-math-board{display:grid;grid-template-columns:42px 1fr 1fr;width:100%;max-width:330px;gap:4px}.ref-math-board>b{display:grid;place-items:center;font-family:Arial,sans-serif;font-size:30px;min-height:44px}.ref-math-board button{aspect-ratio:1;border:2px dashed #dce0ea;border-radius:0;overflow:hidden;font-size:22px;font-family:Arial,sans-serif;font-weight:bold;color:#777}.ref-math-board button.placed{border:0}.ref-math-pieces{display:grid;grid-template-columns:repeat(4,1fr);width:100%;gap:8px;direction:ltr}.ref-math-pieces button{aspect-ratio:1;border:3px solid white;border-radius:8px;box-shadow:0 3px 6px #0002;overflow:hidden;min-height:0}.ref-math-pieces button> b{position:absolute;top:2px;left:5px;color:white;font-size:25px;text-shadow:1px 2px 3px #102f52}.ref-math-pieces button:disabled{visibility:hidden}.ref-space-piece{display:block;position:absolute;inset:0;background:url('/assets/world-backdrops.png');background-size:400% 400%;background-position:calc(66.666% + var(--px) / 3) calc(66.666% + var(--py) / 3)}.ref-space-preview{width:100%;height:110px;background:url('/assets/world-backdrops.png') 100% 100%/200% 200%;border-radius:15px}
.ref-scene{display:block;position:absolute;inset:0;background-image:url('/assets/mermaid-scenes.png');background-size:200% 200%;background-position:var(--scene-x) var(--scene-y);pointer-events:none}.ref-hidden-scene,.ref-missing-scene,.ref-facts-scene{width:100%;aspect-ratio:1;position:relative;border-radius:22px;overflow:hidden}.ref-hidden-scene button{position:absolute;width:27%;height:27%;transform:translate(-50%,-50%);border-radius:50%;color:white;font-size:40px;line-height:1}.ref-hidden-scene button.found{background:#52c77975;text-shadow:0 2px 2px #277246}.ref-found-count{font-size:20px;font-weight:800;color:#83b99c}.ref-mermaid-hero{height:350px;width:85%;max-width:300px}.ref-mermaid-hero.smaller{height:260px}.ref-jigsaw{display:grid;grid-template-columns:repeat(var(--nx),1fr);grid-template-rows:repeat(var(--ny),1fr);aspect-ratio:1;width:100%;max-width:340px;gap:3px;direction:ltr}.ref-jigsaw button{border:2px dashed #d1d6e2;min-height:0;border-radius:10px;overflow:hidden;aspect-ratio:auto}.ref-jigsaw button.placed{border:0}.ref-jigsaw svg,.ref-jigsaw-pieces svg{width:100%;height:100%;display:block;pointer-events:none;overflow:hidden}.ref-jigsaw-pieces{display:grid;grid-template-columns:repeat(3,1fr);width:100%;gap:12px;direction:ltr}.ref-jigsaw-pieces button{aspect-ratio:1;min-height:0;overflow:hidden;box-shadow:0 4px 0 #d2d2e8;border:3px solid white;border-radius:14px}.ref-jigsaw-pieces button:disabled{visibility:hidden}.ref-shaped-hole{position:absolute;inset:20% 25% 18%;width:50%;height:62%;background:#324653;clip-path:polygon(15% 0,60% 5%,80% 30%,65% 60%,100% 90%,50% 100%,10% 85%,30% 50%,0 20%);min-height:0}.ref-shaped-choices>button{height:100px;clip-path:polygon(15% 0,60% 5%,80% 30%,65% 60%,100% 90%,50% 100%,10% 85%,30% 50%,0 20%)}.ref-shaped-choices .ref-scene{inset:-32.25% -50% -29.03%;}.ref-facts-scene button{position:absolute;width:46px;height:46px;border-radius:50%;transform:translate(-50%,-50%);background:#fff;color:#3bab75;border:4px solid #b1e7cc;font-size:27px;font-weight:800}.ref-fact-text{background:#fff;border-radius:15px;font-size:16px;line-height:1.8;text-align:center;max-width:400px}.ref-fact-text:empty{display:none}.ref-fact-text p{margin:8px}.ref-region-tools{display:flex;gap:15px}.ref-region-tools button{background:#f0dcff;padding:8px 22px}.ref-mermaid-stage canvas{width:100%;max-width:340px;height:auto;max-height:52svh;object-fit:contain;touch-action:none}
.ref-wrong{animation:ref-shake .35s}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
@keyframes ref-rise{from{transform:translateY(0) rotate(-8deg)}to{transform:translateY(calc(-100svh - 140px)) rotate(15deg)}}@keyframes ref-fall{from{transform:translateY(0) rotate(-8deg)}to{transform:translateY(calc(100svh + 140px)) rotate(15deg)}}@keyframes ref-reward{0%{opacity:0;transform:translateY(40px) scale(.7)}15%,80%{opacity:1;transform:translateY(0) scale(1)}100%{opacity:0;transform:translateY(-60px) scale(.9)}}.ref-collectible{animation-name:ref-collect}.ref-gift-box{animation-name:ref-wiggle}@keyframes ref-collect{from{transform:scale(.4);opacity:0}to{transform:scale(1);opacity:1}}@keyframes ref-wiggle{0%,100%{transform:rotate(-5deg)}50%{transform:rotate(5deg)}}@keyframes ref-deal{from{transform:translate(calc(var(--cx) * 112%),calc(var(--cy) * 112%)) rotate(-7deg)}to{transform:translate(0,0)}}@keyframes ref-shake{25%{translate:-6px}75%{translate:6px}}
@media(max-height:700px){.ref-stage{padding-top:65px;padding-bottom:80px}.ref-content{gap:18px}.ref-hero-object{height:190px}.ref-object-grid button{height:115px}.ref-fruit-scene button{height:112px}.ref-mermaid-hero{height:285px}.ref-caption{font-size:15px;margin-bottom:10px}.ref-memory{gap:10px}.ref-analogy>div,.ref-analogy>button{height:96px}.ref-tray>button{height:80px}}
@media(prefers-reduced-motion:reduce){.ref-memory button,.ref-card-face{transition:none}.ref-floater{animation-duration:24s}.ref-gift-box{animation:none}.ref-memory.spread button{animation:none}}
/* Compact illustrated catalog, in the established gold Katkoot identity. */
.world-main .age-catalog-banner{padding:12px 18px;min-height:0;margin-bottom:20px}.world-main .age-catalog-banner h1{font-size:23px}.world-main .rail-card{flex-basis:155px!important;width:155px!important;min-width:155px!important;border-radius:22px!important;min-height:0!important}.world-main .rail-image{height:120px!important;margin:8px!important;border-radius:17px!important}.world-main .rail-image>.ref-sprite{width:100%;height:100%;padding:8px;box-sizing:border-box}.world-main .rail-card h3{font-size:17px!important;line-height:1.5!important;padding:0 10px!important;margin:6px 0!important;min-height:50px}.world-main .rail-type{font-size:12px!important;padding-bottom:12px!important}.world-main .start-track-card{flex-basis:145px!important;min-width:145px!important;min-height:0!important}.world-main .row-title h2{font-size:21px!important}.world-main .activity-row{margin-bottom:28px!important}.world-main .row-title{margin-bottom:12px}.world-main .rail-arrows button{height:36px!important;width:36px!important}.world-main .activity-rail{gap:12px!important}
.reference-trace{background:#78cbef}.reference-trace .hub-stage{max-width:560px;min-height:100svh;box-sizing:border-box;background:#78cbef}.reference-trace .hub-header{background:none;box-shadow:none;border:0;align-items:flex-start;min-height:50px}.reference-trace .hub-header>div{display:none}.reference-trace .hub-header>button:last-child{position:fixed;left:20px;bottom:20px;z-index:10}.reference-trace .hub-progress{display:none}.reference-trace .guided-trace-paper{background:transparent;border:0;box-shadow:none;width:100%;max-width:500px;margin:30px auto 15px}.reference-trace .guided-trace-paper canvas{background:transparent;max-height:60svh}.reference-trace .trace-chooser{position:absolute;right:18px;top:20px;font-size:13px;z-index:5;max-width:65%;background:#c7edf8;border-radius:12px;padding:8px}.reference-trace .trace-chooser .trace-picker{max-height:150px;overflow:auto}.reference-trace .guided-trace-status{color:#fff;font-size:15px}.reference-trace .hub-note{display:none}.reference-trace .secondary{font-size:13px;min-height:36px;padding:5px 15px}.trace-collectible{height:350px;max-height:55svh;width:80%;margin:auto;padding:22px;border:6px solid white;border-radius:22px;background:#b5eee9;animation:ref-collect .5s both}.trace-collectible .ref-sprite{width:100%;height:100%}
.world-editor-mode{background:#b7dde5}.world-immersive{height:100svh;padding:0;display:block;overflow:hidden;max-width:560px}.world-immersive:before{display:none}.world-immersive #world-canvas{position:absolute;inset:0 0 130px;width:100%;height:auto;aspect-ratio:auto;border:0;border-radius:0;box-shadow:none;min-height:0}.world-immersive .world-object{width:27%;height:25%;max-height:180px;min-width:0;padding:0;background:none!important;border:0;touch-action:none}.world-immersive .world-object.selected{outline:2px dashed #fff;border:0}.world-immersive .world-object>.ref-sprite,.world-immersive .world-object>.hub-sprite{width:100%;height:100%}.world-bin{position:absolute;top:18px;right:18px;color:#ee755c;background:white;border:0;z-index:5;font-size:28px}.world-selection-tools{position:absolute;top:83px;left:50%;transform:translateX(-50%);display:flex;gap:6px;z-index:5}.world-selection-tools[hidden]{display:none}.world-selection-tools button{width:38px;height:38px;background:#ffffffed;border:0;border-radius:50%;color:#64ad7a;font-size:23px}.world-edit-actions{display:flex;gap:8px;position:absolute;bottom:145px;left:15px;right:15px;z-index:5}.world-edit-actions .round{background:white;border:0;width:44px;height:44px;color:#77a1b3}.world-edit-actions .world-check{margin-inline-start:auto;background:#fff;color:#5ebc8a;font-size:27px}.world-shelf-panel{position:absolute;bottom:0;left:0;right:0;z-index:6;background:#fff3dbcc;backdrop-filter:blur(9px)}.world-shelf-panel .sticker-shelf{display:flex;overflow-x:auto;gap:7px;direction:ltr;padding:6px 8px 15px;height:105px;box-sizing:border-box}.world-shelf-panel .sticker-shelf button{min-width:75px;width:75px;height:85px;background:white;border:0;border-radius:14px;padding:7px;flex-shrink:0;box-shadow:none}.world-shelf-panel .sticker-shelf .ref-sprite,.world-shelf-panel .sticker-shelf .hub-sprite{width:100%;height:100%}.world-shelf-options summary{font-size:12px;text-align:center;padding:4px;cursor:pointer}.world-shelf-options[open]{background:#fff7e7}.world-immersive .hub-feedback{position:absolute;inset:25% 10% auto;z-index:20}.world-immersive .hub-feedback:empty{display:none}
.adventure-topic-art{display:block;width:100%;height:100%;min-height:60px}.adventure-topic-art>svg,.adventure-topic-art>.artwork-3d{width:100%;height:100%}.hidden-target>.adventure-topic-art{width:60px;height:60px;display:inline-block}.adventure-hero>.adventure-topic-art{height:220px}.adventure-topic-art.shadow-sprite{filter:brightness(0) opacity(.7)}
.ref-finish-play{position:absolute;right:82px;bottom:22px;background:white;color:#56b783;border:0;z-index:6;width:44px;height:44px;font-size:24px}
.ref-feeding-friends{display:flex;gap:20px;width:100%;direction:ltr}.ref-feeding-friends>div{width:50%;height:230px;display:flex;flex-direction:column;align-items:center}.ref-feeding-friends .ref-sprite,.ref-feeding-friends .artwork-3d,.ref-feeding-friends .toy-sprite{height:170px;width:100%;display:block}.ref-feeding-friends .ref-food-plate{width:100%;height:65px;min-height:65px;border:8px solid white;border-radius:50%;background:#daeff3;box-shadow:0 4px 0 #a5cbd5;margin-top:-6px;z-index:2}.ref-food-plate>svg,.ref-food-plate .artwork-3d{height:65px;width:75px;position:absolute;top:-22px;left:calc(50% - 37px)}.ref-food-table{display:flex;gap:35px;justify-content:center;width:100%;border-radius:20px;background:repeating-conic-gradient(#ad8fe5 0 25%,#b69bea 0 50%) 0/70px 70px;padding:22px 10px;box-sizing:border-box}.ref-food-table button{height:100px;width:110px}.ref-food-table button:disabled{visibility:hidden}.ref-food-table svg,.ref-food-table .artwork-3d{height:100%;width:100%}.ref-size-animals{display:flex;align-items:flex-end;justify-content:space-around;gap:20px;width:100%;direction:ltr}.ref-size-animals .small{width:85px;height:110px}.ref-size-animals .large{width:185px;height:235px}.ref-size-animals button:disabled{visibility:hidden}.ref-size-boxes{display:flex;align-items:flex-end;justify-content:space-around;width:100%;gap:25px;border-top:3px dashed #20b9af;padding-top:40px}.ref-size-boxes button{background:#235e78;border:8px solid #1a7083;border-top-width:18px;box-shadow:0 7px 0 #167c8055;border-radius:4px 4px 18px 18px}.ref-size-boxes .small{width:90px;height:65px}.ref-size-boxes .large{width:185px;height:130px}.ref-lineart-card{width:75%;max-width:250px;height:250px;background:white;padding:15px;border-radius:5px;box-shadow:6px 7px 0 #ddc76644;transform:rotate(-2deg)}.ref-lineart-card .ref-sprite{filter:grayscale(1) contrast(1.6)}.ref-picture-options{display:flex;gap:20px;width:100%;justify-content:center}.ref-picture-options button{width:42%;height:140px;background:white;border:7px solid white;border-radius:22px;box-shadow:0 6px 0 #dec87344}
.ref-pet-room{position:relative;width:100%;height:380px;display:flex;justify-content:center;align-items:center;border-radius:35px;background:linear-gradient(#ffe4ac 0 75%,#eabd7f 75%);transition:background 1s}.ref-pet-room.sleeping{background:linear-gradient(#625280 0 75%,#5d4e6f 75%)}.ref-pet-character{height:280px;width:80%;touch-action:none}.ref-pet-character.eat{animation:ref-wiggle 1s infinite}.ref-pet-character.wash{animation:ref-collect .8s}.ref-pet-character.sleep{transform:rotate(-13deg) scale(.85);filter:brightness(.7);transition:transform 1s,filter 1s}.ref-pet-effects{position:absolute;top:30px;left:15px;right:15px;text-align:center;font-size:30px;color:#d6e9fa;font-family:Arial,sans-serif;pointer-events:none}.ref-pet-bowl{position:absolute;bottom:12px;width:120px;height:80px;object-fit:contain}.ref-pet-needs{display:flex;gap:14px;width:100%;justify-content:center}.ref-pet-needs button{width:95px;height:100px;background:white;border:4px solid white;box-shadow:0 6px 0 #d9c9b0;display:flex;flex-direction:column;justify-content:center;align-items:center}.ref-pet-needs b{font-size:34px;color:#80afde;line-height:1.1}.ref-pet-needs span{font-size:13px;padding-top:10px}.ref-pet-needs i{position:absolute;right:-8px;top:-10px;background:#f5ab61;border:3px solid white;border-radius:50%;width:28px;height:28px;font-size:17px;font-style:normal}.ref-pet-needs .cared i{background:#aee095}.ref-pet-stage .ref-content{gap:22px}
.ref-lineart-card img,.ref-picture-options img{width:100%;height:100%;object-fit:contain}.ref-picture-options .artwork-3d,.ref-picture-options .toy-sprite{width:100%;height:100%}.world-shelf-ghost{position:fixed;width:110px;height:110px;transform:translate(-50%,-70%);pointer-events:none;z-index:200;filter:drop-shadow(0 10px 8px #37475355)}.world-shelf-ghost>*{width:100%;height:100%}.world-shelf-panel [data-world="add"]{touch-action:pan-x}

/* update-v16 */
/* Narration is paused for this release; the music switch remains available. */
[data-action="speak"]{display:none!important}
.ref-caption{font-size:16px;line-height:1.65}
.ref-stage{padding-top:86px;padding-bottom:40px;min-height:100dvh}
.ref-fruit-scene button{height:clamp(110px,22vh,170px)}
.ref-tray>button{height:clamp(90px,18vh,140px)}
/* Compact shelves, readable two-line titles, child-sized touch targets. */
.world-main{--v16-card:clamp(112px,32vw,140px)}
.world-main .rail-card,.world-main .start-track-card{flex:0 0 var(--v16-card)!important;width:var(--v16-card)!important;min-width:var(--v16-card)!important;max-width:var(--v16-card)!important;padding:4px 4px 7px!important;border-radius:19px!important}
.world-main .rail-image{height:94px!important;margin:5px!important;border-radius:14px!important}
.world-main .rail-image>.toy-sprite,.world-main .rail-image>.discovery-art{max-width:88px;max-height:88px}
.world-main .rail-card h3{font-size:15px!important;line-height:1.5!important;min-height:45px;margin:5px 0 3px!important;padding:0 5px!important}
.world-main .rail-type{font-size:13px!important;line-height:1.5;padding-bottom:6px!important}
.world-main .activity-row{margin-bottom:19px!important}.world-main .row-title h2{font-size:18px!important}
.world-main .start-track-card h3{font-size:22px!important;min-height:0}.world-main .start-track-card p{font-size:15px}
.world-main .age-catalog-banner{margin-bottom:14px;padding:10px 13px}.world-main .age-catalog-banner h1{font-size:20px}
/* Parents enter three words with an in-app keypad, never a phone keyboard. */
#modal.family-gate-modal{width:100%;max-width:560px;height:100dvh;max-height:100dvh;box-sizing:border-box;border:0;border-radius:0;margin:auto;padding:18px 22px;background:white;overflow:auto}
.family-gate-modal .modal-close{position:absolute;top:16px;left:16px;background:#f5f5f7;width:44px;height:44px}
.parent-gate{min-height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding-top:32px;box-sizing:border-box}
.parent-gate h2{font-size:26px;margin:0;color:#403d50}.gate-instruction{font-size:16px;margin:0;color:#686575}
.gate-words{display:flex;gap:22px;justify-content:center}.gate-words span{display:flex;flex-direction:column;align-items:center}.gate-words small{font-size:13px;color:#797480}.gate-words b{font-size:24px;color:#489d6a;line-height:1.5}
.gate-parents-art{width:85%;height:clamp(90px,19dvh,170px);object-fit:contain;display:block}
.gate-slots{display:flex;gap:10px}.gate-slots span{background:#f2f1f5;width:62px;height:46px;border-radius:14px;display:grid;place-items:center;font-size:27px;font-weight:700;color:#403d50}
.parent-gate #family-error{font-size:14px;min-height:22px;line-height:1.5;margin:0;text-align:center;color:#be5050}
.gate-keypad{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;width:100%;max-width:330px;padding-bottom:env(safe-area-inset-bottom)}
.gate-keypad button{height:clamp(46px,7.5dvh,64px);border:0;border-radius:16px;background:#ffe26d;box-shadow:0 3px 0 #ebc749;font:700 29px var(--font);color:#3f3a4a;touch-action:manipulation}.gate-keypad button:active{transform:translateY(2px);box-shadow:0 1px 0 #ebc749}.gate-keypad .gate-delete{grid-column:2/4}
/* The canvas and shelf share one layout so opening categories never covers art. */
.world-immersive{height:100dvh;min-height:100dvh;max-width:700px;display:grid;grid-template-rows:minmax(220px,1fr) auto;grid-template-columns:100%;padding:0}
.world-immersive #world-canvas{position:relative;inset:auto;grid-area:1/1;width:100%;height:100%;min-height:0}
.world-immersive .world-object{width:26%;height:26%;max-height:180px}.world-immersive .world-object>svg{transform:scaleX(var(--item-flip))}
.world-immersive .world-edit-actions{position:relative;grid-area:1/1;align-self:end;inset:auto;margin:0 12px 12px}
.world-immersive .world-shelf-panel{position:relative;grid-area:2/1;inset:auto;background:#fff9ed;padding:8px 0 calc(5px + env(safe-area-inset-bottom));box-shadow:0 -4px 18px #39552419}
.world-shelf-heading{display:flex;align-items:center;justify-content:space-between;padding:0 12px;gap:8px;font-size:15px;color:#675279}.world-shelf-heading button{border:0;border-radius:10px;padding:6px 10px;background:#eee4fb;color:#715398;font:inherit;min-height:36px}
.world-shelf-panel .sticker-filters{padding:5px 10px;gap:6px;min-height:40px}.world-shelf-panel .sticker-filters button{flex:0 0 auto;min-height:35px;padding:3px 12px;border:1px solid #e7dbed;font-size:14px;background:#fff;color:#715581}.world-shelf-panel .sticker-filters [aria-pressed=true]{background:#8661bd;color:white;border-color:#8661bd}
.world-shelf-panel .world-backgrounds{padding:5px 10px;margin:0}.world-shelf-panel .world-backgrounds button{font-size:14px;min-height:36px}
.world-shelf-panel .sticker-shelf{height:118px;padding:4px 10px 9px;gap:8px;direction:rtl}
.world-shelf-panel .sticker-shelf>button{flex:0 0 86px;width:86px;min-width:86px;height:102px;padding:5px;border:1px solid #ede4f0;box-shadow:0 3px 0 #e7ddec;display:flex;flex-direction:column;align-items:center}
.world-item-preview{display:block;width:70px;height:70px;flex-shrink:0}.world-shelf-panel .sticker-shelf small{font-size:13px;color:#594967;line-height:20px;white-space:nowrap;max-width:100%;overflow:hidden;text-overflow:ellipsis}
/* Falling shapes fill the screen in portrait, including the native game window. */
body:has(.ref-pop-stage){overflow:hidden}.ref-pop-stage{position:fixed;inset:0;width:100%;height:100dvh;min-height:0;max-width:none;padding:0;margin:0;overflow:hidden}
.ref-pop-stage:before{display:none}.ref-pop-stage .ref-content{display:block;min-height:0;width:100%;height:100%}.ref-pop-stage .ref-caption{display:none}
.ref-theme-rainbow .ref-pop-stage{background:#dfb2ec url('/assets/rainbow-play.png') center center/cover no-repeat}
.ref-pop-stage .ref-exit{width:42px;height:42px;min-width:42px;top:max(15px,env(safe-area-inset-top));left:max(14px,env(safe-area-inset-left));padding:10px!important}
.ref-pop-stage .ref-pop-meter{top:max(29px,calc(env(safe-area-inset-top) + 20px));left:24%;width:54%;height:13px}
.ref-pop-stage .ref-pop-target{top:82px;font-size:26px;text-shadow:0 2px 3px #714da477}
.ref-pop-stage .ref-modes-back{width:38px;height:38px;min-width:38px;top:17px;right:12px}
.ref-pop-stage .ref-pause,.ref-pop-stage .ref-finish-play,.ref-pop-stage .ref-music{bottom:max(18px,env(safe-area-inset-bottom));width:44px;height:44px;min-width:44px;z-index:16}
.ref-pop-stage .ref-music{position:absolute;left:16px;border:0;border-radius:50%;background:#fff9;color:#795aab;display:grid;place-items:center}.ref-pop-stage .ref-finish-play{right:73px}.ref-pop-stage .ref-pause{right:16px}
.ref-floater{width:clamp(62px,17vw,86px);height:clamp(62px,17vw,86px)}.ref-floater.ref-symbol-floater{padding:0}
.ref-pop-stage .ref-pop-burst{opacity:0;filter:brightness(1.5);pointer-events:none}
.ref-bomb-wave{position:absolute;width:30px;height:30px;border:5px solid #fff8a6;border-radius:50%;pointer-events:none;z-index:8;transform:translate(-50%,-50%);animation:bomb-wave .65s ease-out forwards;box-shadow:0 0 35px #fff29eaa}
.ref-spark{position:absolute;width:8px;height:8px;border-radius:3px;background:var(--spark-color);pointer-events:none;z-index:9;animation:spark-fly .65s ease-out forwards}
@keyframes bomb-wave{to{transform:translate(-50%,-50%) scale(35);opacity:0}}
@keyframes spark-fly{to{translate:var(--dx) var(--dy);rotate:160deg;opacity:0}}
@media(prefers-reduced-motion:reduce){.ref-bomb-wave,.ref-spark{animation-duration:.12s}.ref-floater{--duration:18s!important}}
@media(max-height:650px){.parent-gate{gap:4px}.gate-parents-art{height:85px}.gate-slots span{height:39px}.gate-keypad button{height:44px}.world-shelf-panel .sticker-shelf{height:99px}.world-shelf-panel .sticker-shelf>button{height:86px}.world-item-preview{height:55px;width:62px}}
.one-stroke-mode{background:#7052bb;color:#fff;overflow:hidden}.one-stroke-stage{height:100dvh;box-sizing:border-box;display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;padding:85px 14px 75px;background:#7052bb url('/assets/katkoot-doodle-pattern.png') center/450px;background-blend-mode:soft-light}
.one-stroke-level{position:absolute;top:max(24px,env(safe-area-inset-top));left:50%;transform:translateX(-50%);background:#594199;color:white;padding:3px 16px;border-radius:22px;font-size:16px;font-weight:700}
#one-stroke-hint{font-size:16px;text-align:center;color:#f1eaff;margin:0 0 20px;line-height:1.6;max-width:300px}
#one-stroke-canvas{display:block;width:min(100%,540px,65dvh);height:auto;aspect-ratio:1;touch-action:none;max-height:65dvh}
.one-stroke-footer{position:absolute;bottom:max(20px,env(safe-area-inset-bottom));left:18px;right:18px;display:flex;align-items:center;gap:15px;flex-direction:row-reverse}.one-stroke-retry{background:#ffffffdf;border:0;color:#7252b6;width:46px;height:46px;border-radius:50%;display:grid;place-items:center;flex-shrink:0}#one-stroke-status{font-size:16px;color:white;text-align:center;flex:1}

/* update-v17 */
/* Achievement stays on the card; exiting is a single action. */
.card-progress{display:flex;flex-direction:column;gap:4px;margin:2px 9px 4px;text-align:right;font-size:12px;color:#6b5d7d}
.card-progress>i{display:block;height:5px;border-radius:6px;background:#eee6f8;overflow:hidden}.card-progress>i>b{display:block;height:100%;background:#9873d6;border-radius:6px}.rail-done .card-progress>i>b{background:#62b48c}
.ref-floater.ref-rejected{outline:4px solid #e04d61;outline-offset:4px;filter:saturate(.45);animation-play-state:paused!important}
.ref-rejected:after{content:'×';position:absolute;inset:0;display:grid;place-items:center;font-size:40px;font-weight:700;color:#b62441;text-shadow:0 1px 4px white}
.ref-pop-hint{position:absolute;top:112px;left:15%;width:70%;text-align:center;color:white;font-size:16px;pointer-events:none;min-height:28px;z-index:5}
/* One continuous scene with a translucent toolbox over its lower edge. */
.world-immersive{display:block;position:relative;max-width:none;height:100dvh;overflow:hidden}
.world-immersive #world-canvas{position:absolute;inset:0;width:100%;height:100%;background-size:200% 200%}
.world-immersive .world-shelf-panel{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(transparent,#ffffffb8 13%,#ffffffdd);border-radius:22px 22px 0 0;padding-top:14px;backdrop-filter:blur(3px);z-index:6}
.world-immersive .world-edit-actions{position:absolute;left:12px;right:12px;bottom:205px;margin:0;z-index:6}.world-immersive:has(.world-backgrounds) .world-edit-actions{bottom:250px}
.world-immersive .world-shelf-heading{font-size:14px}.world-immersive .sticker-shelf{height:108px}.world-immersive .sticker-shelf>button{height:96px;background:#ffffffe8}.world-immersive .world-item-preview{height:64px}
.world-immersive #hub-feedback{z-index:15;position:absolute;top:30%;left:8%;right:8%}.world-immersive .world-selection-tools{z-index:7}
@media(max-height:650px){.world-immersive .world-edit-actions{bottom:190px}.world-immersive .sticker-shelf{height:95px}.world-immersive .sticker-shelf>button{height:83px}.world-immersive .world-item-preview{height:51px}}

.world-immersive #world-objects{position:absolute;inset:75px 0 255px}.world-immersive:has(.world-backgrounds) #world-objects{bottom:300px}@media(max-height:650px){.world-immersive #world-objects{bottom:235px;top:65px}}

/* lab */
.lab-mode{background:#eee4ff;color:#40334e}.lab-stage{min-height:100dvh;box-sizing:border-box;padding:18px 18px 32px;max-width:760px;margin:auto;background-image:url('/assets/katkoot-doodle-pattern.png');background-size:500px;background-blend-mode:soft-light}.lab-header{display:flex;align-items:flex-start;gap:12px;min-height:112px}.lab-header>div{flex:1;text-align:center}.lab-header small{font-size:14px;color:#796a91}.lab-header h1{font-size:20px;line-height:1.65;margin:6px 0 12px}.lab-round{background:#ffffffa6;border-radius:16px;padding:5px 9px;font-size:14px;white-space:nowrap}.lab-meter{height:6px;border-radius:5px;background:#ffffff8c;margin:5px 0 24px;overflow:hidden}.lab-meter i{display:block;background:#9570d5;height:100%;transition:width .3s}.lab-board{min-height:300px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:22px}.lab-choice{background:white;border:2px solid transparent;box-shadow:0 4px 0 #8b6da62b;border-radius:19px;padding:12px;min-width:48px;min-height:48px;display:inline-flex;align-items:center;justify-content:center;gap:7px;font:700 23px var(--font);color:#4c3b62;touch-action:manipulation}.lab-choice:active{transform:translateY(2px)}.lab-choice .toy-sprite,.lab-choice .hub-sprite{width:72px;height:72px}.lab-choice.selected{border-color:#9564d9;background:#eee0ff}.lab-choice:disabled{opacity:.4;box-shadow:none}.lab-choice.painted,.lab-cells .painted{background:#a681df;color:white;border-color:#8d6bc3}.lab-options{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;width:100%}.lab-options>.lab-choice{min-width:82px;max-width:44%;flex:1}.lab-hero{font-size:42px;min-height:100px;display:flex;justify-content:center;align-items:center;gap:10px;text-align:center}.lab-hero svg{width:140px;height:140px}.lab-check,.lab-next{background:#ffcd68;min-width:160px;font-size:19px}.lab-feedback{min-height:95px;text-align:center;padding-top:20px;font-size:18px;color:#665184;display:flex;justify-content:center;align-items:center;gap:18px;flex-wrap:wrap}.lab-feedback strong{color:#3f9371;font-size:24px}.lab-wrong{outline:3px solid #e86380;background:#ffe4ea!important;animation:lab-no .3s}.lab-instruction{text-align:center;font-size:16px;color:#746086;margin:0}.lab-match{display:grid;grid-template-columns:1fr 1fr;gap:30px;width:100%;max-width:460px}.lab-match>div{display:flex;flex-direction:column;gap:12px}.lab-match .lab-choice{min-height:88px;font-size:19px}.lab-model,.lab-sequence{display:flex;gap:8px;flex-wrap:wrap;justify-content:center}.lab-model span,.lab-sequence span{width:62px;min-height:60px;background:#fff9;border-radius:12px;display:grid;place-items:center;font-size:24px}.lab-sequence span{border:2px dashed #b7a0d1}.lab-sequence svg,.lab-model svg{width:52px;height:52px}.lab-kind-word .lab-sequence span{width:auto;min-width:70px;padding:8px}.lab-cells,.lab-path-grid,.lab-coordinate{display:grid;grid-template-columns:repeat(var(--cols),minmax(0,1fr));gap:8px;width:100%;max-width:460px}.lab-cells .lab-choice,.lab-path-grid .lab-choice,.lab-coordinate .lab-choice{aspect-ratio:1;min-width:0;min-height:0;padding:4px;border-radius:13px;font-size:27px}.lab-cells.mirror{gap:5px}.lab-cells .fixed{opacity:1}.lab-cells.mirror .fixed{border:1px solid #7c6796}.lab-fraction-label{font-size:32px}.lab-half-target,.lab-half-piece{display:block;width:100px;height:100px;overflow:hidden}.lab-half-target{height:50px;border-bottom:3px dashed #8d77a5}.lab-half-piece .lab-geometry{transform:translateY(-50%)}.lab-half-piece{height:50px}.lab-geometry{display:block;width:100px;height:100px;background:#f5b256}.lab-geometry.circle{border-radius:50%}.lab-geometry.triangle{clip-path:polygon(50% 0,100% 100%,0 100%)}.lab-position{width:90%;display:grid;justify-items:center;gap:22px}.lab-position hr{width:100%;border:2px dashed #977eb2}.lab-vessels{display:flex;gap:15px}.lab-vessel{display:block;position:relative;width:62px;height:90px;border:4px solid #9d84bc;border-top:0;border-radius:0 0 18px 18px;overflow:hidden}.lab-vessel i{position:absolute;bottom:0;left:0;right:0;background:#73c6e8}.lab-path-grid .blocked{opacity:1;background:#857696;box-shadow:none}.lab-path-grid .guide{background:#ffedb1}.lab-path-grid .visited{background:#d2b6f5}.lab-path-grid svg{width:100%;height:100%}.lab-pixel-model{display:grid;grid-template-columns:repeat(var(--cols),1fr);gap:2px;width:130px}.lab-pixel-model i{aspect-ratio:1;background:white;border:1px solid #e1d5ee}.lab-pixel-model i.on{background:#a681df}.lab-note-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.lab-note-grid button{width:120px;height:120px;background:var(--note);box-shadow:0 7px 0 #78638a33}.lab-note-grid .sounding{transform:scale(1.07);box-shadow:0 0 0 5px white}.lab-counter{display:flex;align-items:center;justify-content:space-between;gap:18px;width:100%;max-width:360px;font-size:18px}.lab-counter>div{display:flex;align-items:center;gap:20px}.lab-counter b{min-width:42px;text-align:center;font-size:28px}.lab-counter button{font-family:Arial;font-size:25px}.lab-ruler{display:flex;max-width:100%;border:2px solid #ad84d2;border-radius:8px;overflow:hidden}.lab-ruler i{width:35px;height:70px;border-left:1px solid #ad84d2;background:#d4b4ee}.lab-array{display:grid;grid-template-columns:repeat(var(--cols),1fr);gap:7px;max-width:90%;font-size:27px;color:#8661bd}.lab-array.rectangle{width:min(85vw,340px)}.lab-array.rectangle i{aspect-ratio:1;background:#e4a552;border:1px solid #bc7c2f;max-height:48px}.lab-rectangle{position:relative;width:200px;max-height:210px;border:5px solid #b985d4;background:#e9cff3}.lab-rectangle b{position:absolute;top:-35px;left:45%;font-size:22px}.lab-rectangle em{position:absolute;right:-35px;top:40%;font-size:22px;font-style:normal}.lab-balance{display:flex;justify-content:center;align-items:center;gap:18px;flex-wrap:wrap;font-size:28px}.lab-balance span{background:white;padding:22px;border-radius:20px}.lab-numberline{display:flex;justify-content:center;gap:8px;flex-wrap:wrap}.lab-numberline .start{border-color:#ecb647;background:#fff0bc}.lab-clock{position:relative;width:240px;height:240px;background:#fff;border:8px solid #ad8bd6;border-radius:50%;box-shadow:0 5px 0 #9575b640}.lab-clock>b{position:absolute;left:calc(50% - 13px);top:calc(50% - 14px);width:26px;height:28px;text-align:center;font-size:21px;transform:rotate(var(--angle)) translateY(-92px) rotate(calc(-1*var(--angle)))}.lab-clock>i{position:absolute;bottom:50%;left:calc(50% - 3px);width:6px;background:#755291;transform-origin:bottom;border-radius:6px}.lab-clock>.hour-hand{height:55px;width:8px}.lab-clock>.minute-hand{height:78px;background:#eea23e}.lab-clock>span{position:absolute;top:calc(50% - 8px);left:calc(50% - 8px);height:16px;width:16px;border-radius:50%;background:#6d468c}.lab-coordinate>b,.lab-coordinate>span{display:grid;place-items:center;min-height:28px}.lab-arrow{font-family:Arial;font-size:140px;line-height:1;color:#9c6fc8;transition:transform .2s}.lab-place-value{display:flex;gap:20px}.lab-place-value>div{display:flex;flex-direction:column;align-items:center;background:white;padding:16px;border-radius:18px;font-size:17px}.lab-place-value b{font-size:42px}.lab-star-pile{color:#dba330;font-size:32px;text-align:center}.lab-group{min-height:100px;font-size:25px;display:flex;align-items:center;justify-content:center;flex-wrap:wrap;max-width:115px;word-break:break-all}.lab-angle{width:200px;height:180px;position:relative;margin-top:25px}.lab-angle i{position:absolute;width:110px;height:6px;background:#9660be;top:110px;left:50px;transform-origin:left center}.lab-angle b{position:absolute;bottom:0;left:50%;font-size:24px}.lab-compass{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.lab-compass button:nth-child(1){grid-area:1/2}.lab-compass button:nth-child(2){grid-area:2/1}.lab-compass button:nth-child(3){grid-area:2/3}.lab-compass button:nth-child(4){grid-area:3/2}.lab-compass button{font-size:16px}.lab-program{font-family:Arial;font-size:27px;background:white;border-radius:14px;padding:14px;min-height:50px;width:100%;box-sizing:border-box;text-align:center;word-break:break-word}.lab-matrix{display:grid;grid-template-columns:repeat(3,1fr);gap:5px;width:90%}.lab-matrix span{background:white;border-radius:14px;text-align:center;font-size:28px;padding:14px}.lab-chart{display:flex;align-items:flex-end;justify-content:center;gap:25px;height:200px}.lab-chart button{background:none;box-shadow:none;display:flex;flex-direction:column;padding:0;min-width:60px}.lab-chart i{width:54px;background:#9c75cc;border-radius:8px 8px 0 0;color:white;font-size:22px;font-style:normal}.lab-towers{width:100%;display:flex;gap:10px}.lab-towers button{flex:1;padding:7px;flex-direction:column;min-width:0;background:#fff9}.lab-towers button>span{height:190px;display:flex;flex-direction:column-reverse;align-items:center;justify-content:flex-start;width:100%;border-bottom:6px solid #a281bc;background:linear-gradient(90deg,transparent 48%,#b69dce 48%,#b69dce 52%,transparent 52%)}.lab-towers i{display:block;border-radius:6px;height:32px;line-height:32px;font-size:18px;font-style:normal;border:2px solid #fff8}.taken{opacity:.25!important}.lab-options .taken{filter:grayscale(1)}@keyframes lab-no{25%,75%{translate:-4px}50%{translate:4px}}@media(max-width:380px){.lab-stage{padding:14px 10px}.lab-header{gap:8px}.lab-header h1{font-size:18px}.lab-choice{font-size:20px}.lab-match{gap:15px}.lab-sequence span{width:54px}.lab-clock{width:220px;height:220px}.lab-clock>b{transform:rotate(var(--angle)) translateY(-84px) rotate(calc(-1*var(--angle)))}}

.lab-keypad{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;width:100%;max-width:300px}.lab-keypad .lab-choice{min-height:44px;font-size:24px;padding:5px}.lab-keypad button:last-child{grid-column:2/4}.lab-number-output{display:block;background:white;min-width:100px;min-height:48px;text-align:center;border-radius:14px;font-size:28px;padding:5px 14px;border:2px solid #e0cfef}.lab-board.lab-kind-number,.lab-board.lab-kind-balance,.lab-board.lab-kind-matrix{gap:12px}.lab-board.lab-kind-number .lab-hero{min-height:60px;font-size:28px}

/* update-v18 */
/* Every game has a stable, unique cover; all artwork keeps intrinsic dimensions. */
.activity-cover{display:block;position:relative;width:100%;height:100%;overflow:hidden;border-radius:12px;background:#fff8e8}
.activity-cover-image{display:block;width:100%;height:100%;object-fit:contain}
.activity-cover-symbol{position:absolute;inset:auto 5px 5px;max-width:calc(100% - 10px);margin:auto;width:max-content;background:#fffdf3f5;color:#533d61;border-radius:9px;padding:2px 7px;box-shadow:0 2px 5px #533d6115;font-size:clamp(11px,3.2vw,15px);line-height:1.45;white-space:nowrap}
.rail-image>.activity-cover{width:100%;height:100%}
.discovery-lesson>.activity-cover{width:min(65vw,240px);height:min(65vw,240px);margin-inline:auto}
.clear-play-piece{background:none;display:inline-block;vertical-align:middle;object-fit:contain}
/* A percentage-sized image inside an auto-sized wrapper previously collapsed to zero. */
.emotion-cards{grid-template-columns:repeat(2,minmax(0,1fr));width:min(100%,430px);gap:16px;padding:0 4px}
.emotion-card{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-width:0;max-width:none;padding:10px;border:4px solid #fff;aspect-ratio:1 / 1.12;overflow:hidden}
.emotion-card>.clear-play-piece{display:block;flex:none;width:100%;height:auto;aspect-ratio:1;border-radius:18px;max-height:none}
.emotion-card>.emotion-name{display:block;flex:none;width:100%;font-size:clamp(16px,4.5vw,21px);line-height:1.4;color:#51445b;text-align:center}
.emotion-answer-mark{position:absolute;top:5px;inset-inline-end:5px;font-style:normal;font-size:25px;line-height:30px;width:30px;border-radius:50%}
.emotion-card.choice-wrong{border-color:#c65b6c;background:#fff1f2;opacity:1}
.emotion-card.choice-wrong .emotion-answer-mark{background:#c65b6c;color:#fff}
.emotion-card.choice-correct{border-color:#55a371;background:#effbe9}
.emotion-card.choice-correct .emotion-answer-mark{background:#55a371;color:#fff}
.ref-food-table{gap:clamp(20px,7vw,40px);padding:18px 12px;align-items:center}
.ref-food-table>button{width:clamp(106px,30vw,150px);height:clamp(106px,30vw,150px);padding:5px;border:3px solid transparent;border-radius:24px;background:#fffaf0;box-shadow:0 5px 0 #725ba329;overflow:visible;touch-action:none}
.ref-food-table>button>.clear-play-piece{display:block;width:100%;height:100%;border-radius:18px;pointer-events:none}
.ref-food-table>button.ref-selected{border-color:#7a55bd;transform:translateY(-5px)}
.ref-food-table>button:disabled{opacity:.3;box-shadow:none}
.ref-food-plate{position:relative}
.ref-food-plate>.clear-play-piece{width:72px;height:72px;top:-28px;left:calc(50% - 36px);border-radius:50%}
/* Narration is paused for this release; music controls remain available. */
[data-action="speak"],[data-v2="read-prompt"]{display:none!important}
@media(max-height:640px){.emotion-cards{max-width:320px;gap:12px}.emotion-card{padding:6px}.emotion-card>.emotion-name{font-size:16px}}

/* update-v19 */
/* Katkoot 1.0.22 — unified soft 3D language and a child-friendly world editor. */
:root{--toy-shadow:#6b4b7a2b;--toy-edge:#ffffffb8}

/* Smaller cards expose more activities without shrinking the touch target. */
.world-main .rail-card{flex:0 0 148px!important;width:148px!important;min-width:148px!important;max-width:148px!important;padding:5px 5px 8px!important;border-radius:19px!important;box-shadow:0 5px 0 #c9853f45,0 10px 18px #76512c18!important}
.world-main .rail-image{height:112px!important;margin:0!important;border-radius:15px!important;box-shadow:inset 0 2px 0 #fff9,inset 0 -5px 9px #70522a12}
.world-main .rail-card h3{font-size:14px!important;line-height:1.45!important;min-height:40px!important;margin:6px 2px 2px!important;white-space:normal!important}
.world-main .rail-type{font-size:11px!important;padding-bottom:3px!important}
.world-main .activity-rail{gap:12px!important}
.world-main .rail-image>.toy-sprite,.world-main .rail-image>.ref-sprite,.world-main .rail-image>.hub-sprite{width:94px!important;height:94px!important;filter:drop-shadow(0 7px 4px #4a35552b)}

/* Every basic learning object now uses the same rounded, dimensional finish. */
.color-target{background:radial-gradient(circle at 28% 22%,#fff9 0 7%,transparent 25%),radial-gradient(circle at 50% 45%,color-mix(in srgb,var(--target-color) 92%,white),var(--target-color) 62%,color-mix(in srgb,var(--target-color) 78%,black));border:6px solid #ffffffa8;box-shadow:inset 9px 11px 12px #fff5,inset -12px -14px 16px #32234f2e,0 13px 0 #59476a20,0 18px 24px #60406b22;transform:perspective(400px) rotateX(-3deg)}
.size-circle{background:radial-gradient(circle at 31% 24%,#fff 0 4%,#d8b8f6 16%,#a36cd3 48%,#7143a7 78%,#4e2b7e);border:3px solid #fff8;box-shadow:inset 5px 7px 8px #fff5,inset -7px -9px 9px #311b662f,0 7px 0 #5c41712c,0 10px 16px #5f42712c}
.size-demo{gap:20px;letter-spacing:0;justify-content:center;align-items:flex-end}
.size-demo .size-circle{display:inline-block}.size-demo .small{width:38px;height:38px}.size-demo .medium{width:62px;height:62px}.size-demo .large{width:88px;height:88px}
.question-visual.shape{filter:drop-shadow(0 9px 2px #503a6e34);text-shadow:inset 0 2px #fff}
.answer,.lab-choice,.hub-choices button{background:linear-gradient(145deg,#fff,#fffdfa 58%,#eee8f4);border-color:#fff;box-shadow:inset 0 2px 0 #fff,0 6px 0 #d9cee5,0 11px 16px #5a41631b}
.answer:active:not(:disabled),.lab-choice:active:not(:disabled){transform:translateY(4px);box-shadow:inset 0 2px 0 #fff,0 2px 0 #d9cee5}
.lab-geometry,.color-block,.sequence-number,.mosaic-piece,.sudoku-keys button{filter:drop-shadow(0 6px 3px #4b38522b)}

/* Deeper translucent bubbles, shared by both bubble games. */
.pop-bubble,.ref-glass-bubble{border:3px solid #fffdea;background:radial-gradient(circle at 27% 20%,#fff 0 5%,#ffffffb8 6%,transparent 15%),radial-gradient(circle at 35% 30%,#ffffff6b,transparent 45%),radial-gradient(circle at 63% 70%,#cca9ff22 34%,#a874d766 72%,#ffffff9e 94%);box-shadow:inset 8px 10px 12px #fff7,inset -8px -11px 14px #70489d38,0 8px 0 #5a3e7230,0 13px 20px #51386725;backdrop-filter:blur(2px)}
.pop-bubble b{display:block;text-shadow:0 3px 0 #fff8,0 7px 8px #392c4e40;transform:translateY(-1px)}
.ref-bubble-core{border:2px solid #fff7;box-shadow:inset 6px 7px 8px #fff7,inset -8px -10px 10px #3d236c3b,0 6px 7px #553b7130}
.ref-symbol-floater{background:linear-gradient(145deg,#f5b3f5,#c86ed1 60%,#9144aa);border:5px solid #fff9;box-shadow:inset 5px 5px 7px #fff5,inset -6px -8px 8px #58306c38,0 8px 0 #73427d4a,0 13px 18px #59375c25;text-shadow:0 4px 0 #7d438b55}

/* World builder: coherent placement and a clearer edit/delete treatment. */
.world-immersive #world-canvas{isolation:isolate;background-color:#bce6f5}
.world-immersive #world-canvas:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 60%,#50341d12);pointer-events:none;z-index:1}
.world-immersive #world-objects{position:absolute;inset:0;z-index:2;overflow:hidden}
.world-immersive .world-object{transform:translate(-50%,-50%) scale(var(--item-scale)) rotate(var(--item-rotation));filter:drop-shadow(0 9px 5px #442f263b);transition:filter .15s;z-index:2}
.world-immersive .world-object.selected{outline:3px dashed #fff;border-radius:25px;filter:drop-shadow(0 9px 4px #432d2550) drop-shadow(0 0 7px #8a61cd)}
.world-immersive .world-object>.hub-sprite,.world-immersive .world-object>.ref-sprite{transform:scaleX(var(--item-flip));object-fit:contain}
.world-gesture-hint{position:absolute;top:16px;left:50%;transform:translateX(-50%);z-index:4;white-space:nowrap;background:#43334fad;color:#fff;border:2px solid #fff7;border-radius:999px;padding:7px 14px;font-size:12px;font-weight:700;box-shadow:0 5px 12px #2e233538;pointer-events:none}
.world-selection-tools{top:64px;gap:7px;background:#fff5e8ed;padding:7px;border:2px solid #fff;border-radius:20px;box-shadow:0 8px 22px #553b4132;max-width:calc(100% - 30px)}
.world-selection-tools button{width:45px;height:49px;border-radius:13px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;background:linear-gradient(#fff,#f5efe8);box-shadow:0 3px 0 #d8ccb9;color:#568d70}
.world-selection-tools button b{font-size:20px;line-height:1}.world-selection-tools button small{font-size:9px;font-weight:800}
.world-selection-tools .world-delete{background:linear-gradient(#fff4ef,#ffe0d5);color:#d55b48;box-shadow:0 3px 0 #e6a998}
.world-edit-actions{bottom:151px}.world-edit-actions .round{box-shadow:0 4px 0 #d8cbb9,0 7px 12px #3f2e3822}
.world-shelf-panel{background:#fff7e9e8;border-radius:25px 25px 0 0;border-top:2px solid #fff;box-shadow:0 -10px 30px #56392d1b}
.world-shelf-heading{display:flex;align-items:center;justify-content:space-between;padding:7px 14px 2px;color:#604a59}.world-shelf-heading button{background:#eadbff;border:0;border-radius:12px;padding:5px 9px;color:#7251a0;font-weight:700}
.world-shelf-panel .sticker-shelf button{background:linear-gradient(145deg,#fff,#fffaf3);box-shadow:0 3px 0 #ded4c8!important;border:1px solid #fff}
.world-item-preview{display:block;height:57px}.world-item-preview>.hub-sprite,.world-item-preview>.ref-sprite{width:100%;height:100%;filter:drop-shadow(0 5px 3px #44333e30)}
.world-shelf-panel .sticker-shelf small{display:block;font-size:9px;line-height:1.2;color:#685563;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.world-shelf-ghost{position:fixed;width:95px;height:95px;z-index:100;transform:translate(-50%,-50%);pointer-events:none;filter:drop-shadow(0 9px 5px #432f3b45)}
.world-shelf-ghost>.hub-sprite,.world-shelf-ghost>.ref-sprite{width:100%;height:100%}

@media(max-width:719px){
 .world-main .rail-card{flex-basis:137px!important;width:137px!important;min-width:137px!important;max-width:137px!important}
 .world-main .rail-image{height:102px!important}.world-main .rail-image>.toy-sprite,.world-main .rail-image>.ref-sprite,.world-main .rail-image>.hub-sprite{width:86px!important;height:86px!important}
 .world-selection-tools{top:60px;gap:4px;padding:6px}.world-selection-tools button{width:40px;height:46px}.world-selection-tools button b{font-size:18px}
 .world-gesture-hint{top:12px;font-size:10px;padding:5px 10px}
 .world-immersive .world-object{width:25%;height:23%}
}

/* story-video */
.story-cinema{min-height:100dvh;background:#171122;color:#fff;display:flex;flex-direction:column;justify-content:center;padding:18px;gap:18px}.story-cinema header{display:flex;align-items:center;gap:16px;width:100%;max-width:1100px;margin:auto auto 0}.story-cinema h1{font-size:22px;margin:0;flex:1}.story-cinema header span{font-size:14px;color:#d0c8de}.story-cinema button{border:0;border-radius:16px;background:#7955d9;color:white;font:inherit;min-height:46px;padding:10px 18px;cursor:pointer}.story-cinema #film-back{background:#ffffff20}.film-stage{width:100%;max-width:1100px;aspect-ratio:16/9;margin:0 auto;background:#000;border-radius:16px;overflow:hidden}.film-stage video{display:block;width:100%;height:100%;object-fit:contain}.film-stage video::cue{font-family:Arial,sans-serif;font-size:22px;color:#fff;background:#000b}.film-actions{display:flex;justify-content:center;gap:12px;flex-wrap:wrap}.film-status{text-align:center;color:#e0d6ed;font-size:15px;min-height:24px;margin:0 0 auto}.film-stage:fullscreen{max-width:none;height:100%;border-radius:0}.film-wide .story-cinema{padding:0;gap:0;position:fixed;inset:0;background:black}.film-wide .story-cinema header{position:absolute;top:8px;right:8px;z-index:2;width:auto}.film-wide .story-cinema header h1,.film-wide .story-cinema header span,.film-wide .film-actions,.film-wide .film-status{display:none}.film-wide .film-stage{max-width:none;width:100vw;height:100dvh;border-radius:0}.film-wide #film-back{background:#0007}@media(max-width:550px){.story-cinema{padding:12px}.story-cinema h1{font-size:19px}.film-stage video::cue{font-size:16px}}

/* katkoot26 */
/* Katkoot: orange + sunshine brand, compact navigation, generous play pieces. */
:root{--katkoot-gold:#ffd54a;--katkoot-orange:#f58c25;--katkoot-ink:#65421f;--play-ink:#503b2c;--play-line:#f0dfbd;--play-paper:#fffdf6}
body{overscroll-behavior-y:contain}body.world-mode,body.journey-mode,body.lab-mode,body.expanded-mode{background:#fff6d9!important;color:var(--play-ink)}
body.world-mode{background:linear-gradient(155deg,#fff3bf,#fff9e7 65%,#ffe9b0)!important}
.world-header{background:#fffdf4!important;border-bottom:1px solid #f2dfaf;box-shadow:none!important;padding:8px 16px!important;min-height:62px!important;gap:8px!important;position:sticky;top:0}
.child-profile{color:#674621!important;background:#fff0bf!important;border:0!important;border-radius:13px!important;padding:4px 7px!important;min-width:0;box-shadow:none!important}.child-profile b{font-size:15px!important;color:#674621!important}.child-profile small{color:#9d753d!important;font-size:12px!important}.child-avatar{width:34px!important;height:34px!important;font-size:24px!important;flex-shrink:0}.child-avatar small{font-size:10px!important;width:18px!important;height:18px!important;bottom:-3px!important}
.world-wordmark,.world-logo.brand-wordmark{width:86px!important;height:40px!important;min-width:68px}.world-logo.brand-wordmark img{width:100%!important;height:100%!important;object-fit:contain}
.world-header-actions{gap:5px!important}.world-stars{font-size:14px!important;padding:5px 8px!important;min-width:46px!important;min-height:36px!important;box-shadow:0 2px 0 #dda533!important}.world-sound,.world-parents,.world-expand{width:34px!important;min-width:34px!important;height:36px!important;padding:7px!important;border-radius:11px!important}.world-parents span{display:none!important}.world-header svg{width:18px;height:18px}.world-expand{display:none!important}
.world-main{max-width:1150px;margin:auto;padding:16px 18px 84px!important}.age-catalog-banner{background:#ffdc64!important;border:1px solid #ffcf49!important;border-radius:19px!important;padding:13px 16px!important;margin:0 0 16px!important;gap:8px;box-shadow:0 3px 0 #edc05226!important}.age-catalog-banner h1{font-size:24px!important;line-height:1.35!important;color:#6f4018!important;margin:3px 0!important}.age-catalog-label{font-size:13px!important;color:#805718!important}.catalog-subtitle{font-size:13px;color:#88621f;margin:3px 0 0;line-height:1.4}.age-catalog-count{font-size:14px!important;border-radius:12px!important;padding:10px!important;background:#fff7d5!important;color:#78521e!important;white-space:nowrap}
.catalog-tabs{display:flex;gap:7px;overflow-x:auto;padding:2px 1px 12px;scrollbar-width:none}.catalog-tabs button{flex-shrink:0;min-height:40px;padding:8px 12px;background:#fffdf6;border:1px solid #f0dfbd;border-radius:12px;color:#816135;font:700 14px var(--font);white-space:nowrap}.catalog-tabs button[aria-pressed=true]{background:#f79b30;color:#fff;border-color:#f79b30}
.catalog-section{margin:8px 0 20px;content-visibility:auto;contain-intrinsic-size:auto 238px}.catalog-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:4px 0 9px}.catalog-heading h2{font-size:20px;margin:0;color:#65421f}.catalog-heading p{font-size:13px;color:#978064;margin:1px 0}.catalog-heading button{font:700 12px var(--font);color:#ad6a23;background:#fff0cb;border:0;border-radius:10px;padding:9px;min-height:36px;white-space:nowrap}
.activity-rail{display:flex!important;gap:10px!important;padding:3px 2px 10px!important;scroll-snap-type:x proximity;overflow-x:auto;scrollbar-width:none}.catalog-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(145px,1fr));gap:12px}.rail-card{background:#fff!important;border:1px solid #f4e8cd!important;border-radius:16px!important;width:145px!important;min-width:145px!important;padding:5px 5px 9px!important;box-shadow:0 3px 0 #ead5a733!important;scroll-snap-align:start}.catalog-grid .rail-card{width:100%!important;min-width:0!important}.rail-card .rail-image,.world-main .rail-card .rail-image{margin:0!important;height:116px!important;border-radius:11px!important;box-shadow:none!important;background:#fff8e4!important}.rail-card h3{font-size:16px!important;margin:7px 1px 0!important;color:#654a30!important;line-height:1.4!important}.rail-type{font-size:12px!important;color:#998670!important;line-height:1.4!important}.card-progress{margin:6px 3px 0!important;font-size:11px!important;background:none!important;color:#ae9e85!important}.card-progress i{height:3px!important;background:#f6edda!important}.card-progress i b{background:#f6b73d!important}.activity-cover-symbol{font-size:12px!important;max-width:90%;overflow:hidden}.rail-complete{width:20px!important;height:20px!important;top:5px!important;right:5px!important}
.world-nav,.bottom-nav{min-height:58px!important;padding:5px 8px max(6px,env(safe-area-inset-bottom))!important;border-radius:18px 18px 0 0!important;background:#fffef8!important;border:1px solid #f1e2c3!important;box-shadow:0 -2px 12px #ac7b1310!important}.world-nav button,.bottom-nav button{padding:4px 7px!important;font-size:13px!important;gap:2px!important;min-height:46px!important}.world-nav button svg,.bottom-nav button svg{width:20px!important;height:20px!important}.world-nav button.active{background:#fff0ba!important;color:#b47522!important;border-radius:12px}
button,a,input{-webkit-tap-highlight-color:transparent}button{touch-action:manipulation}button:focus-visible,a:focus-visible{outline:3px solid #f3a32f;outline-offset:3px}
.lab-stage{max-width:740px!important;min-height:100dvh;padding:14px 16px 24px!important;margin:auto!important;background:#fff9e7!important;background-image:none!important;box-sizing:border-box}.lab-header{min-height:72px!important;align-items:center!important;gap:10px!important}.lab-header>div{min-width:0}.lab-header small{color:#ad8954!important;font-size:13px!important}.lab-header h1{color:#624522!important;font-size:22px!important;line-height:1.45!important;margin:2px 0 6px!important}.lab-header .round,.expanded-header .round,.bubble-button,.ref-exit,.ref-listen{width:42px!important;min-width:42px!important;height:42px!important;min-height:42px!important;border-radius:13px!important;padding:10px!important;background:#fff!important;color:#986326!important;box-shadow:0 2px 0 #edd9b3!important}.lab-header .round svg,.expanded-header .round svg{width:21px!important;height:21px!important}.lab-round{font-size:13px!important;padding:7px 8px!important;border-radius:11px!important;background:#ffecb6!important;color:#956726;white-space:nowrap}.lab-meter{margin:12px 0 18px!important;height:5px!important;background:#f0e4c7!important}.lab-meter i{background:#f5b737!important}
.lab-board{border-radius:23px!important;border:1px solid #f0e4c9;background:#fff!important;padding:22px 14px!important;min-height:260px!important;gap:22px!important;box-shadow:0 4px 0 #efe3c52e!important}.lab-choice{border:2px solid #f4e8cf!important;background:#fffcf5!important;border-radius:16px!important;box-shadow:0 3px 0 #eadfc8!important;padding:10px!important;font-size:23px!important;line-height:1.5}.lab-choice.selected{background:#fff0bb!important;border-color:#efb843!important}.lab-choice.painted{background:#d9efcf!important;border-color:#8ec378!important}.lab-options{gap:12px!important;align-items:center}.lab-options>.lab-choice{min-height:92px;min-width:70px;max-width:45%;flex:1}.lab-choice:disabled{opacity:.42}.lab-choice.lab-check,.lab-choice.lab-next{color:#fff!important;background:#f3992c!important;border-color:#f3992c!important;box-shadow:0 3px 0 #d27b1d!important;min-height:45px;font-size:17px!important;padding:9px 18px!important;min-width:124px}.lab-instruction{font-size:15px!important;color:#927550!important;line-height:1.6}.lab-feedback{min-height:62px!important;padding-top:14px!important;gap:16px!important}.lab-feedback strong{font-size:22px!important;color:#4eaa80!important}
/* Pixel-sized play assets. Never inherit tiny font-relative icon dimensions. */
.lab-choice :is(.play-piece-3d,.artwork-3d,.toy-sprite,.hub-sprite),.lab-choice>.play-token{display:inline-block!important;width:76px!important;height:76px!important;max-width:100%!important;max-height:100%!important;object-fit:contain;flex-shrink:0;pointer-events:none}.lab-hero{font-size:34px!important;gap:8px!important;min-height:100px!important;max-width:100%;flex-wrap:wrap;margin:6px 0 12px!important}.lab-hero :is(.play-piece-3d,.artwork-3d,.toy-sprite,.hub-sprite){width:110px!important;height:110px!important;max-width:100%!important;object-fit:contain}.lab-hero:has(>:nth-child(3)) :is(.play-piece-3d,.artwork-3d,.toy-sprite){width:56px!important;height:56px!important}.lab-match{max-width:430px!important;gap:22px!important}.lab-match .lab-choice{min-height:95px!important}.lab-path-grid,.lab-cells,.lab-coordinate{max-width:420px!important;gap:6px!important}.lab-path-grid .lab-choice,.lab-cells .lab-choice,.lab-coordinate .lab-choice{padding:4px!important;min-width:0!important;min-height:0!important;aspect-ratio:1;overflow:hidden}.lab-path-grid .lab-choice :is(.hub-sprite,.play-piece-3d){width:100%!important;height:100%!important}.lab-path-grid .blocked{background:#e2dbc9!important;border-color:#d3cab5!important;opacity:1!important;color:#ad9c78!important}.lab-path-grid .guide{background:#fff0b8!important;border-color:#f8d889!important}.lab-path-grid .visited{background:#ffe098!important;border-color:#eda73e!important;box-shadow:inset 0 0 0 2px #fff6cf!important}.lab-path-grid .visited:empty::after{content:'•';color:#eaa336;font-size:28px}
.lab-half-target,.lab-half-piece{width:120px!important;height:60px!important}.lab-half-target .play-piece-3d,.lab-half-piece .play-piece-3d{width:120px!important;height:120px!important;max-width:none!important;max-height:none!important;display:block!important}.lab-half-piece .play-piece-3d{transform:translateY(-50%)}
.lab-star-pile{display:flex;gap:4px;flex-wrap:wrap;justify-content:center}.lab-star-pile .play-piece-3d,.lab-group .play-piece-3d{width:32px!important;height:32px!important}.lab-group{max-width:120px}.lab-array i{background:linear-gradient(135deg,#ffdf6b,#f4b640);box-shadow:inset -3px -3px #d8952c55;border:1px solid #e5ac40;border-radius:6px}.lab-towers i{box-shadow:inset 0 3px #fff6,inset 0 -4px #0001}
.pair-board{width:min(100%,440px);aspect-ratio:1;position:relative;margin:6px auto;touch-action:none;background:#fff4cc;border:2px solid #f5dfa0;border-radius:17px;overflow:hidden}.pair-cells{display:grid;grid-template-columns:repeat(var(--cols),1fr);height:100%;position:relative;z-index:2;gap:0}.pair-cells .lab-choice{padding:3px!important;border:1px solid #edd69c!important;border-radius:0!important;box-shadow:none!important;background:transparent!important;min-width:0;min-height:0;display:grid;place-items:center;touch-action:none}.pair-cells .pair-end{background:color-mix(in srgb,var(--pair) 12%,white)!important}.pair-cells .artwork-3d{width:85%!important;height:85%!important;max-width:62px;max-height:62px;pointer-events:none}.pair-lines{position:absolute;inset:0;width:100%;height:100%;z-index:1;pointer-events:none}.pair-lines polyline{fill:none;stroke-width:5;stroke-linecap:round;stroke-linejoin:round;opacity:.8}
.expanded-stage,.playful-stage{padding:14px 16px 24px!important}.expanded-header{min-height:64px!important;gap:10px!important}.expanded-header h1{font-size:21px!important;color:#674522}.expanded-header p{font-size:13px!important;margin:2px}.expanded-prompt,.ref-caption{font-size:23px!important;line-height:1.45!important}.expanded-feedback .primary,.primary{font-size:17px;padding:10px 18px;border-radius:14px}.playful-choice .play-piece-3d{width:85px!important;height:85px!important}.ref-stage:not(.ref-pop-stage):not(.world-immersive){padding-top:76px!important}.ref-stage .ref-exit,.ref-stage .ref-listen{top:17px!important}.ref-memory .play-piece-3d{width:80%!important;height:80%!important}.session-round{position:absolute;top:18px;left:50%;transform:translateX(-50%);width:94px;text-align:center;font-size:13px;color:#88601e;z-index:3;pointer-events:none}.session-round i{display:block;height:4px;margin-top:5px;border-radius:8px;background:linear-gradient(to right,#f4b640 var(--progress),#eadcbd var(--progress))}.ref-stage{color:#674522}.stories-empty-mode{background:#fff9e7!important}.stories-empty{min-height:70dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:12px}.stories-empty .empty-book{padding:24px;background:#fff0bc;border-radius:24px;color:#d09431}.stories-empty h1{margin:12px;font-size:26px}.stories-empty p{color:#a18459}
@media(max-width:600px){.world-header{padding:7px 10px!important;gap:6px!important}.world-main{padding:12px 12px 78px!important}.world-logo.brand-wordmark{width:70px!important;min-width:56px}.child-profile{gap:5px!important}.child-profile b{font-size:14px!important}.child-profile small{font-size:11px!important}.world-stars{font-size:13px!important;min-width:42px!important}.age-catalog-banner h1{font-size:22px!important}.age-catalog-banner{padding:12px!important}.catalog-heading h2{font-size:18px}.catalog-heading p{font-size:12px}.rail-card{width:112px!important;min-width:112px!important;border-radius:14px!important}.rail-card .rail-image,.world-main .rail-card .rail-image{height:90px!important}.rail-card h3{font-size:14px!important}.rail-type{font-size:11px!important}.card-progress{font-size:10px!important}.catalog-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.catalog-grid .rail-card h3{font-size:13px!important}.catalog-section{contain-intrinsic-size:auto 210px}.lab-stage{padding:12px!important}.lab-header{gap:7px!important}.lab-header h1{font-size:20px!important}.lab-header small{font-size:12px!important}.lab-board{padding:20px 12px!important;min-height:260px!important}.lab-options{gap:10px!important}.lab-options>.lab-choice{min-height:88px;min-width:0;padding:8px!important}.lab-choice :is(.play-piece-3d,.artwork-3d,.toy-sprite,.hub-sprite){width:70px!important;height:70px!important}.lab-hero :is(.play-piece-3d,.artwork-3d,.toy-sprite){width:110px!important;height:110px!important}.lab-match .lab-choice{min-height:88px!important}.lab-feedback{gap:12px!important}.lab-next{min-width:122px!important}.lab-choice{font-size:21px!important}.lab-stage .lab-path-grid .lab-choice :is(.hub-sprite,.play-piece-3d){width:100%!important;height:100%!important}}
@media(max-width:365px){.world-logo.brand-wordmark{width:60px!important;min-width:45px}.world-header-actions{gap:4px!important}.world-sound,.world-parents{width:30px!important;min-width:30px!important}.child-avatar{width:28px!important;height:28px!important}.world-header{padding-inline:7px!important}.rail-card{width:104px!important;min-width:104px!important}.catalog-heading p{max-width:190px}.lab-header h1{font-size:18px!important}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition-duration:.01ms!important}}
.dimensional-token{background:none!important;object-fit:contain!important;display:inline-block;vertical-align:middle;user-select:none;pointer-events:none}.lab-choice>.dimensional-token{border-radius:0!important}.drag-shape .play-piece-3d{width:86px!important;height:86px!important}.ref-pet-needs .play-piece-3d{width:40px!important;height:40px!important}.lab-kind-pick .lab-options .lab-choice:has(.dimensional-token):has(img:nth-child(3)){flex-wrap:wrap;gap:3px}.lab-kind-pick .lab-options .lab-choice:has(img:nth-child(3)) img{width:40px!important;height:40px!important}.lab-position .lab-choice{min-width:135px;gap:15px}.lab-position .lab-choice .play-piece-3d{width:58px!important;height:58px!important}.lab-half-target .premium-piece,.lab-half-piece .premium-piece{width:120px!important;height:120px!important}
.ref-caption{padding-inline:48px!important}.ref-speaker.round{width:42px!important;height:42px!important;min-width:42px!important;min-height:42px!important;padding:10px!important;border-radius:13px!important}.ref-speaker.round svg{width:21px!important;height:21px!important}
.world-main .rail-card{flex:0 0 145px!important;width:145px!important;min-width:145px!important;max-width:145px!important}.world-main .catalog-grid .rail-card{width:100%!important;min-width:0!important;max-width:none!important}.world-main .rail-card h3{min-height:36px!important}.world-main .rail-card .rail-image{height:112px!important}.world-main .rail-card .activity-cover{width:100%!important;height:100%!important}.world-main .rail-card .activity-cover-image{width:100%!important;height:100%!important}
@media(max-width:600px){.world-main .activity-rail{gap:8px!important}.world-main .rail-card{flex-basis:calc((100vw - 64px)/3)!important;width:calc((100vw - 64px)/3)!important;min-width:calc((100vw - 64px)/3)!important;max-width:calc((100vw - 64px)/3)!important;padding:4px 4px 7px!important;border-radius:14px!important}.world-main .rail-card .rail-image{height:86px!important}.world-main .rail-card h3{font-size:14px!important;min-height:36px!important;margin:5px 0 0!important;line-height:1.3!important}.world-main .rail-card .rail-type{font-size:11px!important;min-height:29px}.world-main .rail-card .card-progress{margin:5px 1px 0!important}.world-main .catalog-grid .rail-card{width:100%!important;min-width:0!important;max-width:none!important}}

/* play27 */
/* The interface stays quiet; the objects are the focus. */
.k27-mode{background:#fff8e7!important;color:#65472c;overflow-x:hidden}.k27-stage{max-width:650px;margin:auto;padding:16px 16px 12px;min-height:100dvh;box-sizing:border-box;font-family:var(--font)}.k27-header{display:grid;grid-template-columns:40px minmax(0,1fr) 45px;gap:12px;align-items:center;min-height:66px}.k27-exit{background:white;border:1px solid #efdfbf;border-radius:13px;height:40px;width:40px;color:#987247;display:grid;place-items:center;box-shadow:0 2px 0 #eadab8}.k27-header h1{font-size:21px;line-height:1.45;margin:2px 0 0;font-weight:700;color:#593e27}.k27-header small{font-size:12px;color:#a18a68}.k27-round{font-size:17px;display:grid;text-align:center;background:#ffedb7;border-radius:12px;padding:6px;color:#906021;line-height:1.25}.k27-round small{font-size:11px;color:#a47f49}.k27-progress{height:5px;background:#efe4ca;border-radius:8px;margin:16px 0 18px;overflow:hidden}.k27-progress i{display:block;height:100%;background:#f4aa38;transition:width .25s}.k27-scene{position:relative;border-radius:28px;min-height:370px;padding:26px 18px 22px;display:flex;flex-direction:column;justify-content:center;gap:22px;box-sizing:border-box;border:1px solid #fff;box-shadow:0 5px 0 #b4a88c0b;background:#fffdf6}.k27-scene.mint{background:linear-gradient(170deg,#eef8e9,#f9fdf4)}.k27-scene.sand{background:linear-gradient(170deg,#fff0d6,#fffaf0)}.k27-scene.sky{background:linear-gradient(170deg,#eaf6fb,#f7fcfd)}.k27-scene.rose{background:linear-gradient(170deg,#ffefea,#fffaf6)}.k27-button{font-family:inherit;border:0;background:transparent;color:#64482f;position:relative;padding:5px;border-radius:18px;display:grid;place-items:center;min-width:0;min-height:46px;user-select:none;-webkit-user-select:none;touch-action:manipulation;line-height:1.4;transition:box-shadow .16s,background .16s,opacity .16s}.k27-button:focus-visible{outline:3px solid #e6a83f;outline-offset:3px}.k27-button:disabled{cursor:default}.k27-token{display:inline-flex;width:100px;height:100px;align-items:center;justify-content:center;position:relative;vertical-align:middle;transform:rotate(var(--turn)) scale(var(--scale));flex-shrink:0}.k27-token>:is(.play-piece-3d,.artwork-3d,.toy-sprite,span[role=img]){display:inline-block!important;width:100%!important;height:100%!important;max-width:none!important;max-height:none!important;object-fit:contain!important;pointer-events:none;flex-shrink:0}.k27-token>span[role=img]>.toy-sprite{width:100%!important;height:100%!important}.k27-token img{user-select:none;pointer-events:none}.k27-token.silhouette{filter:brightness(0) opacity(.64)}.k27-model{display:flex;align-items:center;justify-content:center;min-height:136px;text-align:center}.k27-model>.k27-token{width:144px;height:144px}.k27-options{display:grid;grid-template-columns:repeat(var(--cols,2),minmax(0,1fr));gap:15px;width:100%;margin:auto}.k27-options>.k27-button{min-height:115px;background:#ffffff9c;border:2px solid #ffffffb0;box-shadow:0 3px 0 #c5b7991c}.k27-options .k27-token{width:min(102px,100%);height:100px}.k27-options .chosen{background:#dcefcf;border-color:#91bd69}.k27-options .k27-word{font-size:20px}.k27-number{font:700 34px var(--font);color:#745438;line-height:1.25}.k27-word{font-size:24px;line-height:1.7}.k27-question{font-size:40px;line-height:1.2;color:#d9922f;font-weight:bold}.k27-group{display:grid;grid-template-columns:repeat(var(--group-cols),1fr);gap:2px;width:100%;max-width:260px;align-items:center;justify-content:center}.k27-group>span{width:100%;aspect-ratio:1;max-width:72px;display:grid;place-items:center}.k27-group .play-piece-3d,.k27-group .artwork-3d,.k27-group .toy-sprite{width:100%!important;height:100%!important;max-width:72px!important;max-height:72px!important}.k27-model>.k27-group{width:90%}.k27-sequence,.k27-equation,.k27-clues{display:flex;align-items:center;justify-content:center;gap:6px;flex-wrap:wrap;width:100%}.k27-sequence>.k27-question:last-child:has(+*){display:none}.k27-sequence>span{max-width:22%}.k27-sequence .k27-token{width:54px;height:54px}.k27-equation>span{min-width:32px;max-width:37%;display:flex;justify-content:center}.k27-equation .k27-group{max-width:115px}.k27-equation>b,.k27-clues>b{font-size:30px;color:#927350}.k27-relation{display:grid;grid-template-columns:1fr 30px 1fr;gap:12px;align-items:center}.k27-relation .k27-token{width:90px;height:90px}.k27-clues .k27-solid{width:66px;height:66px}.k27-solid{display:inline-block;width:88px;height:88px;background:radial-gradient(circle at 30% 22%,#ffffff88,transparent 40%),var(--piece);box-shadow:inset -6px -9px 12px #0002,inset 3px 3px 5px #fff9,0 8px 8px #0001;border-radius:17px;transform:perspective(350px) rotateY(-9deg);flex-shrink:0}.k27-solid.circle{border-radius:50%}.k27-solid.triangle{clip-path:polygon(50% 0,100% 95%,96% 100%,4% 100%,0 95%);border-radius:0;filter:drop-shadow(0 5px 4px #0002)}.k27-solid.diamond{width:68px;height:68px;border-radius:10px;transform:rotate(45deg);margin:10px}.k27-targets{display:grid;grid-template-columns:repeat(var(--cols),minmax(0,1fr));gap:10px;align-items:end;justify-content:center;direction:ltr}.k27-targets>.k27-button{min-height:140px;padding:6px;border:2px dashed #c6b897;background:#ffffff6e}.k27-targets .k27-recipient{display:block;line-height:0}.k27-recipient .k27-token{width:92px;height:92px}.k27-targets .k27-token{width:92px;height:92px}.k27-targets small{font-size:14px;direction:rtl}.k27-drop-well{display:flex;align-items:center;justify-content:center;gap:0;flex-wrap:wrap;min-width:58px;width:100%;min-height:44px;border-radius:50%;background:#f7edda;border:3px solid #fff;box-shadow:0 4px 0 #bca77c22;padding:3px;box-sizing:border-box}.k27-drop-well>i{font-style:normal;color:#c5ad85;font-size:25px}.k27-drop-well .k27-token{width:45px!important;height:45px!important}.k27-targets .filled{border-color:#89b980;border-style:solid;background:#ecf6e6}.k27-tray{display:flex;justify-content:center;align-items:center;gap:8px;flex-wrap:wrap;position:relative;padding:16px 6px 8px;border-top:1px solid #bbb29c30}.k27-tray .k27-piece{width:calc(33.333% - 8px);max-width:100px;aspect-ratio:1;border:2px solid transparent;min-height:75px}.k27-tray .k27-token{width:84px;height:84px}.k27-tray .k27-solid{width:70px;max-width:70px;max-height:70px}.k27-tray .k27-solid.diamond{max-width:54px;max-height:54px}.k27-button.placed{opacity:.12;pointer-events:none}.k27-button.selected{border:2px solid #efb74f;background:#fff1c1;box-shadow:0 0 0 3px #ffdb7633}.k27-button.dragging{z-index:80;pointer-events:none;transition:none;filter:drop-shadow(0 10px 12px #59492b33);background:#fff7dd;position:relative}.k27-piece[data-drag],.k27-puzzle-tray>[data-drag]{touch-action:none}.k27-hint{text-align:center;font-size:12px;line-height:1.6;color:#a39174;margin:0}.k27-targets.ordered>.k27-button{min-height:70px;height:82px;border-radius:13px}.k27-targets.ordered .k27-token{width:100%;height:70px}.k27-order-number{font-size:18px;color:#b7a689}.k27-routine-model{display:flex;justify-content:center;align-items:center}.k27-routine-model .k27-token{width:64px;height:64px}.k27-goal{display:flex;align-items:center;justify-content:center;gap:12px}.k27-goal .k27-token{width:55px;height:55px}.k27-goal b{font-size:34px;background:white;border-radius:17px;padding:0 16px}.mode-collect .k27-tray .k27-piece,.mode-share .k27-tray .k27-piece{width:60px;max-width:60px;min-height:60px}.mode-collect .k27-tray .k27-token,.mode-share .k27-tray .k27-token{width:56px;height:56px}.mode-collect .k27-targets{max-width:200px;width:100%;margin:auto}.mode-share .k27-targets>.k27-button{min-height:145px}.k27-memory{display:grid;grid-template-columns:repeat(var(--cols),minmax(0,1fr));gap:12px;width:100%;max-width:460px;margin:auto}.k27-memory>.k27-button{aspect-ratio:1;min-height:0;background:linear-gradient(140deg,#f9cc5d,#eeaa3e);border:3px solid #fff9;box-shadow:0 4px 0 #cf99334d;border-radius:17px}.k27-memory .k27-token{width:100%;height:100%;max-width:100px;max-height:100px}.k27-memory .revealed{background:#fffef8}.k27-memory button:disabled{opacity:.6;background:#e0efcd}.k27-card-back{font-size:38px;color:#fff4cc;text-shadow:0 2px #c58735}.k27-memory-goal{display:flex;align-items:center;justify-content:center;gap:12px}.k27-memory-goal .k27-token{width:74px;height:74px}.k27-twin-board{display:grid;gap:18px}.k27-twin-board>div{display:grid;grid-template-columns:repeat(var(--cols),1fr);padding:12px;gap:6px;border-radius:18px;background:#ffffff90;box-shadow:0 2px 0 #a48f6022}.k27-twin-board>div>span{display:grid;place-items:center}.k27-twin-board .k27-token{width:72px;height:72px}.k27-twin-board .chosen{background:#d9edce}.k27-garden{padding:12px;box-sizing:border-box;background:linear-gradient(0deg,#cde8b8,transparent);border-radius:24px}.k27-garden>.k27-button{min-height:80px;background:transparent;box-shadow:none;border:0}.k27-garden .k27-token{width:78px;height:78px}.k27-pixel-pair{display:flex;align-items:center;flex-direction:column;gap:12px}.k27-grid{display:grid;grid-template-columns:repeat(var(--cols),1fr);gap:5px;width:min(100%,280px);aspect-ratio:1}.k27-grid>i,.k27-grid>.k27-button{display:block;aspect-ratio:1;min-height:0;border-radius:9px;background:#fffaf0;border:2px solid #e7ddc6;box-shadow:0 2px 0 #cfbea729}.k27-grid.model{width:125px;gap:3px}.k27-grid.model>i{border-radius:5px;border-width:1px}.k27-grid .on{background:var(--paint);border-color:var(--paint);box-shadow:inset 0 2px 3px #fff7,0 2px 0 #997c5929}.k27-model-arrow{font-size:22px;color:#bd9b66}.k27-maze{display:grid;grid-template-columns:repeat(var(--cols),1fr);gap:4px;width:100%;aspect-ratio:1;touch-action:manipulation;border-radius:20px;background:#e6ebd4;padding:7px;box-sizing:border-box}.k27-maze>.k27-button{min-height:0;aspect-ratio:1;border-radius:10px;background:#fffbe7;border:1px solid #e1d5ad}.k27-maze>.walked{background:#fae4a2}.k27-maze .k27-token{width:100%;height:100%;max-width:78px;max-height:78px}.k27-maze .blocked{background:#b4c298;border-color:#b4c298}.k27-rock{background:radial-gradient(ellipse at 30% 20%,#dce0ce,#9caa85);width:70%;height:58%;border-radius:40% 50% 28% 30%;box-shadow:0 4px 0 #7b8c6555}.k27-maze .walked>i{width:10px;height:10px;background:#e9b754;border-radius:100%}.k27-turn-pair{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin:25px 0}.k27-turn-pair>div{display:flex;flex-direction:column;align-items:center;gap:30px}.k27-turn-pair small{font-size:14px;color:#a49273}.k27-turn-pair .k27-token{width:112px;height:112px}.k27-actions{display:flex;gap:20px;justify-content:center;align-items:center}.k27-rotate{font-size:34px!important;background:white;border:2px solid #ecd3a2;width:62px;height:62px;border-radius:50%}.k27-check,.k27-next{font:700 16px var(--font);background:#f4a332;color:white;border-radius:14px;padding:10px 20px;box-shadow:0 3px 0 #d58421;min-height:45px;width:max-content;max-width:100%;margin-inline:auto}.k27-reset{font-size:13px;color:#a08762}.k27-feedback{min-height:65px;display:flex;align-items:center;justify-content:center;gap:18px;padding:12px 0 0}.k27-feedback>span{font-size:21px;font-weight:700;color:#548b5d}.k27-feedback .k27-next{margin:0}.k27-feedback .k27-try{font-size:16px;color:#b48b45}.k27-brand{display:flex;align-items:center;justify-content:center;gap:6px;color:#b9a381;font-size:11px;margin:4px 0}.k27-brand img{width:26px;height:26px;object-fit:contain}.k27-jigsaw-model{height:70px;display:flex;justify-content:center}.k27-jigsaw-model .k27-token{height:70px;width:70px}.k27-jigsaw{display:grid;grid-template-columns:repeat(var(--cols),1fr);grid-template-rows:repeat(var(--rows),1fr);width:100%;max-width:260px;aspect-ratio:1;gap:2px;margin:auto;border:3px solid #dbc9a7;background:#eaddc4;border-radius:14px;overflow:hidden;direction:ltr}.k27-jigsaw>.k27-button{min-height:0;padding:0;overflow:hidden;border-radius:0;background:#fff8e5}.k27-jigsaw .filled{background:#fefdf8}.k27-jigsaw>.k27-button>i{font-style:normal;color:#d3bd92;font-size:24px}.k27-puzzle-part{display:block;position:relative;width:100%;height:100%;overflow:hidden;background:#fffdf3;border-radius:0}.k27-puzzle-part>.k27-token{position:absolute;width:calc(100% * var(--nx))!important;height:calc(100% * var(--ny))!important;max-width:none!important;max-height:none!important;left:calc(var(--x) * -100%);top:calc(var(--y) * -100%)}.k27-puzzle-tray{display:grid;grid-template-columns:repeat(var(--cols),1fr);gap:10px;max-width:280px;width:100%;margin:auto}.k27-puzzle-tray>.k27-button{aspect-ratio:1;min-height:0;height:auto;padding:3px;border:2px solid #fff9;box-shadow:0 3px 0 #bbae9333}.k27-puzzle-tray>.selected{border-color:#f0aa3e}.k27-echo-progress{display:flex;gap:6px;justify-content:center}.k27-echo-progress i{width:11px;height:11px;background:#e5d4b2;border-radius:100%}.k27-echo-progress i.on{background:#edb541}.k27-options .flash{background:#ffde7b!important;border-color:#f5b033;box-shadow:0 0 0 5px #ffd05a88;transform:scale(1.03)}.k27-balance{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;position:relative}.k27-balance>div{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;width:42%;min-height:100px;background:#fff8;border-radius:12px 12px 35px 35px;border-bottom:6px solid #d8af6e;padding:10px 3px}.k27-balance>div .k27-group{max-width:120px}.k27-balance>b{font-size:25px}.k27-cubes{display:flex;align-items:flex-end;justify-content:center;padding:12px;gap:3px;min-height:135px}.k27-cubes>div{display:flex;flex-direction:column-reverse;align-items:center}.k27-cube{display:inline-block;width:52px;height:58px;margin-top:-12px;overflow:visible;flex-shrink:0}.k27-cubes>div:first-child{transform:translateY(12px)}.k27-position{width:110px;height:130px;position:relative;display:block}.k27-position>.k27-box{position:absolute;left:30px;top:70px}.k27-position>.k27-box .k27-cube{width:58px;height:63px}.k27-position>span{display:block;position:absolute;width:67px;height:67px;top:1px;left:28px}.k27-position>span>.artwork-3d{width:100%!important;height:100%!important}.k27-position.pos-1>.k27-box{top:17px}.k27-position.pos-1>span{top:67px}.k27-position.pos-2>.k27-box{top:55px;left:4px}.k27-position.pos-2>span{top:44px;left:49px}.k27-direction{display:flex;flex-direction:column;align-items:center}.k27-direction>.artwork-3d{width:90px!important;height:90px!important}.k27-direction.right>.artwork-3d{transform:scaleX(-1)}.k27-direction b{font-size:27px;color:#b28e54}.k27-overlay{position:relative;display:block;width:116px;height:116px}.k27-overlay>.k27-solid{position:absolute;left:4px;top:2px;width:82px;height:82px;opacity:.75}.k27-overlay>.k27-solid+span{left:27px;top:25px}.half-top,.half-bottom{overflow:hidden;height:50px!important}.half-top>.artwork-3d,.half-bottom>.artwork-3d{width:100px!important;height:100px!important;min-height:100px!important;align-self:flex-start}.half-bottom>.artwork-3d{transform:translateY(-50%)}.k27-house{height:64px;width:74px;min-width:62px;position:relative;background:var(--house);border-radius:6px;box-shadow:inset -7px -3px #0002;margin-top:28px}.k27-house>i{position:absolute;top:-29px;left:-8px;right:-8px;height:35px;background:var(--house);clip-path:polygon(50% 0,100% 100%,0 100%);filter:brightness(.92)}.k27-house>b{display:block;width:22px;height:33px;background:#fff8;position:absolute;bottom:0;left:20px;border-radius:15px 15px 0 0}.k27-home{display:block;position:relative;width:90px;height:86px;overflow:hidden;border-radius:17px}.home-hive{background:radial-gradient(ellipse,#f0ac35,#ffdf7f);display:flex;align-items:center;justify-content:center;color:#b07323;gap:0;flex-wrap:wrap}.home-hive i{font-style:normal;font-size:33px;line-height:.8}.home-desert{background:#ffe7ac}.home-desert i,.home-desert b{position:absolute;width:120px;height:65px;background:#ebbe72;bottom:-25px;left:-35px;border-radius:50%;transform:rotate(20deg)}.home-desert b{left:20px;bottom:-20px;background:#e5a853}.home-water,.home-pond{background:#b8e5ed;display:flex;flex-direction:column;justify-content:end;gap:7px}.home-water i,.home-pond i{height:9px;background:#79bfd7;border-radius:40%;transform:rotate(-5deg)}.home-pond{background:#c5dfa8}.home-pond i{background:#79bec2}.k27-cover{position:relative;display:flex;justify-content:center;align-items:center;width:100%;height:100%;background:radial-gradient(ellipse at 50% 80%,#d9b87535,transparent 45%)}.k27-cover .k27-token{width:85px;height:85px}.k27-cover-dot{position:absolute;left:4px;bottom:3px;font-size:13px;color:#bf934c;background:#fff9e5;border:1px solid #eddcb9;border-radius:7px;padding:1px 6px}.catalog-section[data-area-section=spatial] .rail-image{background:#edf5ff!important}.catalog-section[data-area-section=focus] .rail-image{background:#ecf5e8!important}.catalog-section[data-area-section=language] .rail-image{background:#fff0e9!important}.world-main .rail-card h3{min-height:36px!important}.k27-wrong{animation:k27-shake .3s}@keyframes k27-shake{25%,75%{transform:translateX(-4px)}50%{transform:translateX(4px)}}
@media(min-width:700px){.k27-stage{padding-top:25px}.k27-scene{min-height:470px;padding:36px}.k27-model>.k27-token{width:160px;height:160px}.k27-options>.k27-button{min-height:130px}.k27-options .k27-token{width:112px;height:112px}}
@media(max-width:365px){.k27-stage{padding:12px}.k27-header{gap:8px}.k27-header h1{font-size:19px}.k27-scene{padding:22px 12px;gap:18px;min-height:350px}.k27-options{gap:10px}.k27-options .k27-token{width:88px;height:88px}.k27-targets .k27-token{width:78px;height:78px}.k27-targets .k27-recipient .k27-token{width:78px;height:78px}.k27-tray .k27-token{width:74px;max-width:74px;height:74px}.k27-word{font-size:20px}.k27-targets{gap:6px}}
@media(prefers-reduced-motion:reduce){.k27-button,.k27-progress i{transition:none}.k27-wrong{animation:none}}
.home-forest{background:#d9ebc2}.home-forest>.artwork-3d{width:100%!important;height:100%!important}.home-ice{background:#b9e5ef}.iceberg{position:absolute;inset:17px 9px 0;background:linear-gradient(115deg,#fff 50%,#d5eef6 51%);clip-path:polygon(0 100%,34% 0,48% 30%,68% 8%,100% 100%)}

.k27-targets[dir=rtl]{direction:rtl}.k27-targets .k27-recipient{max-width:100%}.k27-targets .k27-token,.k27-targets .k27-home{max-width:100%}.k27-puzzle-tray>.k27-button{aspect-ratio:var(--part-ratio,1)}.k27-targets.ordered .k27-number{font-size:27px}.k27-targets.ordered .k27-group{gap:0}.k27-targets .k27-house{width:60px;min-width:48px}.k27-targets .k27-solid{max-width:62px;max-height:62px}

/* update28 */
/* Keep scene containers independent from the objects inside them. */
.k27-header,.lab-header{position:relative;align-items:flex-start;padding-bottom:14px}.game-sound28{position:absolute;left:0;top:38px;width:30px;height:30px;min-width:30px;min-height:30px;display:grid;place-items:center;border:1px solid #e8d5b3;border-radius:10px;background:#fffaf0;color:#9b713f;padding:0}.k27-round,.lab-round{margin-inline-start:auto}.k27-header>div,.lab-header>div{min-width:0}.k27-header h1,.lab-header h1{line-height:1.5;text-wrap:balance}.k27-header>div{padding-inline:4px}
.artwork-3d.dimensional-token{object-fit:contain;vertical-align:middle;background:transparent!important;border:0!important;filter:drop-shadow(0 3px 2px #7d5b2212);flex-shrink:0}.art-loading28{text-align:center;color:#9a753d;font-size:14px;margin:10px}.art-loading28 button{border:0;background:#fff0c5;border-radius:9px;color:#906124;padding:6px 12px;font:inherit}.k27-scene[aria-busy],.lab-board[aria-busy]{cursor:progress}
.k27-group{width:fit-content!important;max-width:100%;margin-inline:auto;justify-content:center;justify-items:center;align-items:center;grid-template-columns:repeat(var(--group-cols),minmax(0,1fr))}.k27-group>span{display:grid;place-items:center;width:clamp(35px,12vw,62px);height:clamp(35px,12vw,62px);min-width:0}.k27-group>span>.artwork-3d{width:100%!important;height:100%!important}.k27-options>.k27-button{min-width:0;justify-content:center;align-items:center}.k27-options>.k27-button>.k27-token{width:clamp(76px,23vw,110px);height:clamp(76px,23vw,110px);flex:0 0 auto}.k27-token{display:flex;align-items:center;justify-content:center}.k27-token>.artwork-3d{display:block;width:100%!important;height:100%!important;object-fit:contain}.k27-options:has(>button:nth-child(3):last-child){grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.k27-options:has(>button:nth-child(3):last-child)>.k27-button{padding:5px;min-height:104px}.k27-options:has(>button:nth-child(3):last-child) .k27-token{width:clamp(67px,20vw,92px);height:clamp(67px,20vw,92px)}
.habitat28{display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;min-width:0;gap:3px}.habitat28>.artwork-3d{width:clamp(78px,24vw,125px)!important;height:clamp(78px,24vw,125px)!important;max-width:100%;object-fit:contain}.habitat28>small{font-size:13px;color:#876c49;line-height:1.3;white-space:nowrap}.k27-recipient{display:grid;place-items:center;width:100%}.k27-targets .habitat28>small{font-size:12px}.k27-targets .habitat28{padding:0 0 4px}
.lab-board{box-sizing:border-box;width:100%;min-width:0}.lab-match{grid-template-columns:repeat(2,minmax(0,1fr));width:100%;max-width:430px;gap:clamp(12px,4vw,24px);margin-inline:auto}.lab-match>div{min-width:0}.lab-match .lab-choice{width:100%;min-width:0;min-height:104px;padding:7px;box-sizing:border-box}.lab-match+.lab-instruction{max-width:100%}.opposite28{display:flex;flex-direction:column;align-items:center;gap:1px;width:100%}.opposite28 .artwork-3d{width:83px!important;height:83px!important;max-width:100%;object-fit:contain}.opposite28 b{font-size:18px;line-height:1.35;color:#745237}.lab-choice:disabled .opposite28{opacity:.65}.lab-kind-match{gap:14px}.lab-kind-clock{gap:12px;padding-top:12px}.lab-clock{flex:none;box-sizing:content-box;width:220px;height:220px;border:10px solid #f3b655;background:radial-gradient(circle at 40% 30%,#fff,#fff9e9 78%,#f4e6c9);box-shadow:inset 0 0 0 3px #fff,0 5px 0 #d79637,0 10px 20px #b4842720;margin:0 auto 6px}.lab-clock>b{transform:rotate(var(--angle)) translateY(-88px) rotate(calc(-1*var(--angle)));font-size:21px;color:#6d5038;line-height:28px}.lab-clock>.hour-hand{background:#74644d;height:54px;left:calc(50% - 4px)}.lab-clock>.minute-hand{background:#f1a23c;height:77px;left:calc(50% - 3px)}.lab-clock>span{background:#eea335;box-shadow:inset 0 2px 1px #ffde8d;z-index:2}.clock-readout28{font-size:23px;line-height:1.3;background:#fff5d9;border:1px solid #f0debb;padding:3px 18px;border-radius:10px;color:#8f642e}.lab-counter{max-width:300px;gap:10px;font-size:16px}.lab-counter>div{gap:13px}.lab-counter .lab-choice{height:42px;min-height:42px;min-width:42px;padding:3px;border-radius:12px}.lab-counter b{font-size:23px;min-width:35px}
.mode-flow{padding:18px 10px!important;gap:13px!important;background:#fffdf6!important}.flow28-caption{display:flex;justify-content:space-between;align-items:center;gap:8px;width:100%;font-size:13px;color:#937349}.flow28-count{color:#98713c;font-size:12px;white-space:nowrap}.flow28-board{width:100%;max-width:370px;aspect-ratio:1;position:relative;isolation:isolate;border-radius:15px;overflow:hidden;background:#fff7e4;box-shadow:0 4px 0 #dfc899,0 0 0 2px #e5d1aa;touch-action:none;user-select:none;-webkit-user-select:none;-webkit-tap-highlight-color:transparent;direction:ltr}.flow28-cells{position:absolute;inset:0;display:grid;grid-template-columns:repeat(var(--cols),minmax(0,1fr));grid-template-rows:repeat(var(--cols),minmax(0,1fr))}.flow28-cell{min-width:0;min-height:0;padding:0;background:var(--trail,transparent);border:1px solid #dbcda180;display:grid;place-items:center;touch-action:none;position:relative;border-radius:0!important;box-shadow:none!important}.flow28-end::before{content:'';position:absolute;inset:12%;border:2px solid var(--pair);background:#fff8;border-radius:50%;z-index:-1}.flow28-cell .k27-token{width:72%!important;height:72%!important;max-width:none;max-height:none;filter:drop-shadow(0 2px 1px #0002);pointer-events:none}.flow28-cell .artwork-3d{width:100%!important;height:100%!important}.flow28-lines{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none}.flow28-lines polyline{fill:none;stroke-width:6.4;stroke-linecap:round;stroke-linejoin:round}.flow28-board:has([disabled]){box-shadow:0 4px 0 #98b381,0 0 0 3px #afc98d}.flow28-cell:disabled{opacity:1}.flow28-cell:focus-visible{outline:3px solid #b37629;outline-offset:-4px}.flow28-cell:active{transform:none}
@media(max-width:365px){.lab-header h1{font-size:17px}.lab-clock{width:204px;height:204px;border-width:9px}.lab-clock>b{transform:rotate(var(--angle)) translateY(-81px) rotate(calc(-1*var(--angle)))}.opposite28 .artwork-3d{width:75px!important;height:75px!important}.k27-options .k27-group>span{width:clamp(24px,9vw,36px);height:clamp(24px,9vw,36px)}}
.rewards-mode28{background:#fffaf0}.collection28{max-width:760px;margin:auto;padding:22px 16px 100px}.collection28-title{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:20px}.collection28-title p{font-size:12px;color:#a58b68;margin:0 0 3px}.collection28-title h1{font-size:27px;color:#79542e;margin:0}.collection28-wallet{display:flex;align-items:center;gap:6px;background:#fff1c8;padding:5px 9px;border:1px solid #f5d88c;border-radius:15px}.collection28-wallet>.artwork-3d{width:42px!important;height:42px!important}.collection28-wallet>b{font-size:21px;white-space:nowrap;color:#a87920}.collection28-wallet small{font-size:11px;font-weight:400}.collection28-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.collection28-tabs>button{display:flex;flex-direction:column;align-items:center;border:1px solid #eadcc2;box-shadow:0 3px 0 #e3d5b880;background:#fffefb;padding:6px 3px;border-radius:16px;color:#987d5c;font:600 12px var(--font);gap:2px}.collection28-tabs>button>.artwork-3d{width:43px!important;height:43px!important}.collection28-tabs>.selected{background:#fff0bc;border-color:#eabd60;color:#88612e;box-shadow:0 3px 0 #e4af50}.collection28-heading{display:flex;justify-content:space-between;align-items:center;margin-top:28px;gap:15px}.collection28-heading h2{font-size:21px;margin:0;color:#775533}.collection28-heading>span{font-size:12px;color:#a28a64}.collection28-help{font-size:13px;color:#a28a64;margin:5px 0 20px}.collection28-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px 10px}.collection28-card{position:relative;display:flex;flex-direction:column;align-items:center;min-width:0;background:#fff;border:1px solid #eee3cb;border-radius:18px;padding:10px 4px 9px;box-shadow:0 4px 0 #e8dec54d;overflow:hidden;color:#836745;font-family:var(--font)}.collection28-art{display:grid;place-items:center;width:100%;height:86px}.collection28-art>.artwork-3d,.collection28-art>.joy-mascot28{width:90%!important;max-width:95px;height:86px!important;object-fit:contain}.collection28-card>b{font-size:12px;margin-top:5px}.collection28-lock,.collection28-earned{font-size:10px;color:#baa47d;margin-top:3px}.collection28-earned{color:#74945b}.collection28-card.locked .collection28-art{filter:grayscale(.8);opacity:.28}.collection28-card.locked::after{content:'•';position:absolute;top:61px;left:calc(50% - 8px);width:16px;height:15px;line-height:17px;border-radius:4px;background:#bfa57b;color:#fff;font-size:15px;box-shadow:0 -5px 0 -2px #fff,0 -7px 0 -2px #bfa57b}.collection28-grid.cups{row-gap:30px}.cups .collection28-card{background:linear-gradient(0deg,#ecd5b2 0 6px,#fff 6px);border-bottom:4px solid #d0af85;border-radius:18px 18px 3px 3px;padding-bottom:16px}.tier-1{filter:hue-rotate(12deg)}.tier-2{filter:hue-rotate(-14deg)}.tier-3{filter:hue-rotate(25deg)}.tier-4{filter:hue-rotate(-25deg)}.collection28-grid.joy,.collection28-grid.medals{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.joy .collection28-art,.medals .collection28-art{height:110px}.joy .collection28-art>*,.medals .collection28-art>*{height:110px!important;max-width:120px}.collection28-progress{display:block;overflow:hidden;width:90%;height:6px;background:#eee5d3;border-radius:9px;margin:10px auto 0}.collection28-progress i{display:block;height:100%;background:#edb649;border-radius:9px}.collection28-note{text-align:center;color:#b69e7e;font-size:11px;margin-top:28px}.collection28-detail{text-align:center;position:relative;padding:20px 10px 14px;color:#80603c}.collection28-close{position:absolute;top:0;left:0;background:#faf4e6;border:0;width:33px;height:33px;border-radius:50%;font:25px Arial;color:#9c805a}.collection28-large{height:190px;display:grid;place-items:center;margin:8px 0}.collection28-large>*{width:175px!important;height:175px!important;object-fit:contain}.collection28-large.locked{opacity:.4;filter:grayscale(.7)}.collection28-detail h2{margin:3px;font-size:25px}.collection28-detail p{font-size:15px;margin:8px 0;color:#a08b6c}.collection28-detail>b{display:block;font-size:15px;margin-top:5px}.collection28-detail>.primary{margin-top:20px;min-width:140px}.collection28-detail .collection28-progress{max-width:230px}.joy28-0{animation:hop28 1s ease-in-out infinite}.joy28-1{animation:rocket28 1.8s ease-in-out infinite}.joy28-2{animation:flutter28 1.6s ease-in-out infinite}.joy28-3{animation:crown28 1.7s ease-in-out infinite}@keyframes hop28{50%{transform:translateY(-22px) rotate(-4deg)}}@keyframes rocket28{50%{transform:translate(12px,-18px) rotate(-10deg)}}@keyframes flutter28{25%{transform:translateX(-16px) rotate(-12deg)}75%{transform:translateX(16px) rotate(12deg)}}@keyframes crown28{50%{transform:scale(1.12) rotate(5deg)}}@media(prefers-reduced-motion:reduce){.collection28-large{animation:none!important}}@media(min-width:700px){.collection28-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.collection28-card{padding:14px}.collection28-art{height:115px}.collection28-art>.artwork-3d{height:110px!important;max-width:130px}.collection28-tabs>button{flex-direction:row;justify-content:center;font-size:15px}}

.bottom-nav{grid-template-columns:repeat(4,minmax(0,1fr))}.bottom-nav button{min-width:0}.k27-round{min-width:40px;flex-shrink:0}.lab-instruction{align-self:center!important;text-align:center!important;width:100%}
.k27-model .k27-group{gap:6px}.k27-model .k27-group>span{width:min(144px,calc(276px / var(--group-cols)));height:min(144px,calc(276px / var(--group-cols)))}.k27-options .k27-group>span{width:min(80px,calc(128px / var(--group-cols)));height:min(80px,calc(128px / var(--group-cols)))}
.k27-group>span{max-width:none}.k27-group>span>.artwork-3d{max-width:none!important;max-height:none!important}

/* update29 */
/* Restored creative studios use Katkoot's warm, compact phone layout. */
.catalog-section[data-area-section="create"] .activity-rail{padding-bottom:12px}
.music29-mode{background:#fff9e9!important}
.music29-mode .immersive-stage{display:flex;flex-direction:column;min-height:100dvh;padding:14px 14px 24px!important;background:#fff9e9!important}
.music29-mode .play-chrome{position:relative!important;inset:auto!important;flex:none;width:100%;padding:0;min-height:62px;align-items:center;gap:8px;box-sizing:border-box}
.music29-mode .play-chrome h1{font-size:18px;color:#805629}
.music29-mode .bubble-button{width:40px;height:40px;min-width:40px;min-height:40px;padding:8px}
.music29-mode .speaker-button{display:none}
.music29-studio{width:100%;max-width:660px;margin:12px auto 0;display:flex;flex-direction:column;align-items:center;gap:14px;flex:1;color:#78512d}
.music29-tabs{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:7px;width:100%;direction:rtl}
.music29-tabs>button{display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:0;min-height:72px;padding:4px 2px;border:1px solid #efdfba;border-radius:15px;background:#fffdf5;box-shadow:0 3px 0 #e9dbba;font:600 11px var(--font);color:#97754c;gap:3px}
.music29-art{width:100%;height:100%;display:block;object-fit:contain;pointer-events:none;user-select:none;-webkit-user-drag:none}
.music29-tabs .music29-art{width:46px;height:44px}
.music29-tabs>button[aria-pressed="true"]{background:#ffe49a;border-color:#eaba56;color:#704621;box-shadow:0 3px 0 #d4a145}
.music29-title{display:flex;align-items:center;justify-content:space-between;width:100%;margin:10px 0 0}
.music29-title h2{font-size:23px;margin:0}
.music29-title>button{width:38px;height:38px;min-height:38px;background:#fff1ca;border:1px solid #ead4a3;border-radius:12px;color:#9d7136;display:grid;place-items:center}
.music29-stage{width:100%;display:grid;place-items:center;min-height:270px;flex:1;background:#fffef9;border:1px solid #efe1c7;border-radius:26px;box-shadow:0 5px 0 #e9dcc55c;padding:12px;box-sizing:border-box}
.music29-note{touch-action:none;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;cursor:pointer;font-family:var(--font);color:#78522c}
.music29-note:focus-visible{outline:3px solid #eeac36;outline-offset:3px}
.music29-note.music29-hit{animation:music29-hit .23s ease-out}
@keyframes music29-hit{40%{transform:scale(.92);filter:brightness(1.12)}}
.music29-drums{width:100%;max-width:430px;aspect-ratio:1.12;position:relative}
.music29-drums>.music29-note{position:absolute;background:transparent!important;border:0!important;box-shadow:none!important;padding:0!important;min-width:0!important;min-height:0!important;width:40%;height:42%}
.music29-drums>.drum29-0{left:12%;top:5%}.music29-drums>.drum29-1{right:12%;top:5%}
.music29-drums>.drum29-2{left:4%;top:54%;width:43%;height:45%}.music29-drums>.drum29-3{right:4%;top:54%;width:43%;height:45%}
.music29-drums>.drum29-4{left:0;top:29%;width:38%;height:37%;z-index:2}.music29-drums>.drum29-5{right:0;top:29%;width:38%;height:37%;z-index:2}
.music29-keyboard{display:flex;width:100%;gap:3px;border:8px solid #f4b65a;border-top:27px solid #f4b65a;border-radius:16px;background:#eaaa4c;padding:0 3px 4px;box-sizing:border-box;box-shadow:0 7px 0 #c38e43}
.music29-keyboard>.music29-note{position:relative;display:flex;flex:1;flex-direction:column;align-items:center;justify-content:flex-end;min-width:0;height:190px;padding:5px 0 14px;border:1px solid #d9d0bb;background:linear-gradient(#fff,#fffdf4);box-shadow:0 4px 0 #d1c6ac;border-radius:0 0 9px 9px;font-size:13px}
.music29-keyboard>.music29-note>span{border-radius:100%;background:var(--note);width:30px;height:30px;line-height:30px;color:white;font-size:11px}
.music29-keyboard>.music29-note>b{font-size:12px;margin-top:7px;color:#b09b7e}
.music29-keyboard>.black-key29:after{content:'';position:absolute;left:70%;top:0;width:55%;height:52%;background:linear-gradient(90deg,#464443,#2a2928);border-radius:0 0 4px 4px;box-shadow:0 4px 0 #171615;z-index:1;pointer-events:none}
.music29-xylo{display:flex;align-items:center;gap:6px;width:100%;padding:18px 8px;background:#efd1a1;border-radius:16px;box-shadow:0 7px 0 #caa270;box-sizing:border-box}
.music29-xylo>.music29-note{flex:1;min-width:0;height:220px;background:var(--note);border:0;border-radius:12px;box-shadow:inset 3px 2px 3px #fff5,0 5px 0 #947553;display:flex;flex-direction:column;align-items:center;justify-content:space-between;color:white;padding:14px 0;font-size:13px}
.music29-xylo>.music29-note:nth-child(2){height:207px}.music29-xylo>.music29-note:nth-child(3){height:193px}.music29-xylo>.music29-note:nth-child(4){height:180px}.music29-xylo>.music29-note:nth-child(5){height:167px}.music29-xylo>.music29-note:nth-child(6){height:153px}.music29-xylo>.music29-note:nth-child(7){height:140px}
.music29-xylo i{width:9px;height:9px;background:#fff5d6;box-shadow:0 2px 1px #0003;border-radius:50%}
.music29-guitar{position:relative;width:100%;height:340px;display:grid;place-items:center}
.music29-guitar>.music29-art{height:260px;width:240px;position:absolute;top:0}
.music29-strings{position:absolute;bottom:4px;width:95%;display:flex;gap:5px;min-height:150px;background:#fff8;border-radius:18px;padding:8px;box-sizing:border-box}
.music29-strings>.music29-note{display:flex;flex:1;flex-direction:column;align-items:center;gap:3px;justify-content:center;background:#fff5dacc;border:1px solid #ecd29b;min-width:0;border-radius:9px;font-size:12px;padding:8px 0}
.music29-strings i{width:3px;height:85px;background:linear-gradient(90deg,#aa7947,#fff0bc,#ac7843);border-radius:3px;box-shadow:2px 0 2px #0002}
.music29-trumpet{width:100%;display:flex;flex-direction:column;align-items:center;gap:18px;padding:12px 0}
.music29-trumpet>.music29-art{height:180px;max-width:280px}
.music29-valves{display:flex;gap:16px;justify-content:center}
.music29-valves>.music29-note{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;background:linear-gradient(#ffe993,#ffd468);border:2px solid #edc268;box-shadow:0 5px 0 #c7953a;border-radius:20px;width:64px;height:80px;color:#876022}
.music29-valves b{font-size:26px}.music29-valves span{font-size:13px}
#music29-progress{font-size:14px;line-height:1.5;text-align:center;margin:0;min-height:42px;display:grid;place-items:center;color:#9b794e}
.music29-next{display:flex;align-items:center;justify-content:center;gap:15px;width:100%;max-width:300px;min-height:46px;margin-bottom:8px}
.music29-next:disabled{opacity:.45;cursor:default}
.one-stroke-mode,.one-stroke-stage{background-color:#fff8e8;color:#7b572f}.one-stroke-stage{background-image:none}.one-stroke-level{background:#ffedbb;color:#8c652f}#one-stroke-hint,#one-stroke-status{color:#8c6b45}.one-stroke-retry{background:#ffefc5;color:#92672e}.one-stroke-stage #one-stroke-canvas{background:#fffdf7;border:1px solid #ebd9b7;border-radius:22px}
.ref-mode-grid>button{min-height:160px}.ref-mode-grid>button>span:last-child{font-size:16px}.ref-memory-stage .ref-card-face>.artwork-3d{width:85%!important;height:85%!important;object-fit:contain}
.ref-pop-stage .session-round{top:53px;color:#8b5e26;background:#fff8dcda;border-radius:9px;font-size:11px;padding:2px 8px;width:auto;min-width:62px}
.ref-pop-stage .session-round i{display:none}.ref-pop-stage .ref-pop-target{top:94px;border:2px solid #f4d683;background:#fff6da;color:#87592c;border-radius:15px;padding:3px 20px;min-width:75px;text-shadow:none}
@media(max-width:365px){.music29-tabs{gap:5px}.music29-tabs>button{font-size:10px}.music29-tabs .music29-art{width:40px;height:40px}.music29-studio{gap:12px}.music29-keyboard>.music29-note>span{width:26px;height:26px;line-height:26px}.music29-xylo{gap:4px;padding:14px 6px}}
@media(max-height:680px){.music29-studio{gap:8px;margin-top:5px}.music29-stage{min-height:200px}.music29-drums{max-width:260px}.music29-title{margin:0}.music29-guitar{height:240px}.music29-guitar>.music29-art{height:190px}.music29-keyboard>.music29-note{height:140px}.music29-trumpet>.music29-art{height:130px}}
@media(prefers-reduced-motion:reduce){.music29-note.music29-hit{animation:none;filter:brightness(1.12)}}

/* Keep the tracing picker outside the close button's touch area. */
.reference-trace{background:#fff9e9!important}.reference-trace .hub-stage{display:flex;flex-direction:column;align-items:stretch;gap:12px;background:#fff9e9!important;padding:14px 16px 30px!important;min-height:100dvh}
.reference-trace .hub-header{display:flex;position:relative;inset:auto;min-height:44px;padding:0!important;gap:10px;align-items:center;flex:none}
.reference-trace .hub-header>div{display:block;flex:1;text-align:center;min-width:0;padding-inline-end:40px}.reference-trace .hub-header h1{font-size:18px;margin:0;line-height:1.5;color:#77502e}.reference-trace .hub-header small{font-size:11px;color:#a38358}
.reference-trace .hub-header>button:first-child{position:relative;inset:auto;width:40px;height:40px;min-height:40px;min-width:40px;flex:none;margin:0;padding:9px!important;background:#fff;border:1px solid #ead7b3;z-index:2}
.reference-trace .hub-header>button:last-child{display:none}.reference-trace .trace-chooser{position:relative;inset:auto;max-width:100%;margin:0;background:#fff0c6;color:#8e6636;align-self:center;padding:8px 18px;text-align:center;font-size:13px}
.reference-trace .trace-chooser .trace-picker{max-height:170px}.trace-round29{text-align:center;color:#9d7e54;font-size:12px;margin:0}.reference-trace .guided-trace-paper{width:100%;margin:0 auto 6px;border:1px solid #eadaba;border-radius:23px;background:#fffefa;box-shadow:0 4px 0 #eaddc44d}
.reference-trace .guided-trace-paper canvas{display:block;width:100%;height:auto;aspect-ratio:1;max-height:none}.reference-trace .guided-trace-status{color:#8a673d;font-size:14px;justify-content:center;gap:16px}.reference-trace .secondary{align-self:center;margin-top:6px;background:#fff0c6;color:#8d622b;border:1px solid #ebcf91;box-shadow:0 3px 0 #e0c89d}

/* Defer off-screen catalog layout and paint. */
.catalog-section{content-visibility:auto;contain-intrinsic-size:auto 370px}
.music29-stage{isolation:isolate}
.music29-art{background:transparent!important;border:0!important;box-shadow:none!important}
