:root{color-scheme:light;--navy:#122e34;--ink:#19363d;--teal:#1a7776;--gold:#ffd977;--paper:#fffaf0;--glow:#dceee7;--shadow:0 18px 48px #1136392b;--font:ui-rounded,system-ui,-apple-system,"Segoe UI",sans-serif}
*{box-sizing:border-box}html{min-height:100%;background:#eff6f1}body{margin:0;min-height:100dvh;font-family:var(--font);color:var(--ink);-webkit-tap-highlight-color:transparent;overscroll-behavior-y:none}button,input,select{font:inherit}button{cursor:pointer;touch-action:manipulation}button:disabled{cursor:not-allowed;opacity:.5}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #d97c26;outline-offset:3px}img{user-select:none;-webkit-user-drag:none}a{color:inherit} [hidden]{display:none!important}
#app{min-height:100dvh;overflow-x:clip;background:linear-gradient(165deg,#f4fcf7 0%,#e4f0e8 55%,#fff4dd 100%)}.topbar{height:75px;padding:8px max(16px,env(safe-area-inset-left)) 8px max(16px,env(safe-area-inset-right));background:#153539;color:#fff;display:flex;align-items:center;justify-content:space-between;gap:10px;position:relative;z-index:3;box-shadow:0 5px 19px #142e3024}.brand{display:flex;align-items:center;gap:9px;text-decoration:none;min-width:0}.brand img{height:50px;width:50px;object-fit:cover;border-radius:14px;background:#f9eabe}.brand span{display:flex;flex-direction:column;line-height:1.1}.brand b{font-size:clamp(1.2rem,4.5vw,1.45rem);letter-spacing:-.06em;white-space:nowrap}.brand i{color:var(--gold);font-style:normal}.brand small{font-size:.73rem;color:#b9e4d8;font-weight:750;letter-spacing:.15em;text-transform:uppercase;margin-top:5px}.topactions{display:flex;align-items:center;gap:8px}.top-icon,.round-icon{width:43px;height:43px;border:1px solid #ffffff35;border-radius:14px;background:#ffffff18;color:inherit;display:grid;place-items:center;font-size:1.23rem}.offline-pill{background:#235c50;border:1px solid #8fd9ab;color:#eaffed;border-radius:99px;padding:7px 9px;font-size:.73rem;font-weight:800}.page{display:none;max-width:1240px;margin:auto}.page.active{display:block}.homehero{margin:24px auto 0;max-width:1180px;min-height:335px;border-radius:32px;position:relative;isolation:isolate;overflow:hidden;background:radial-gradient(circle at 83% 22%,#a5dec8,#59ae99 48%,#207579 100%);box-shadow:var(--shadow);display:grid;grid-template-columns:1.18fr 1fr;align-items:end}.homehero:before{content:"";position:absolute;inset:auto -10% -62px -10%;height:150px;z-index:-1;border-radius:50% 50% 0 0;background:linear-gradient(#a6d57e,#539b73)}.homehero:after{content:"";position:absolute;width:360px;height:360px;right:-100px;top:-180px;border-radius:50%;background:#ffedba95;filter:blur(5px);z-index:-1}.stars-bg{position:absolute;top:25px;left:52%;color:#f1e9c6;font-size:2rem;letter-spacing:2rem;opacity:.8}.hero-copy{padding:32px 10px 58px 42px;z-index:1}.eyebrow{letter-spacing:.16em;font-weight:950;font-size:.7rem;color:#1e7477}.hero-copy .eyebrow{color:#eaffd8}.hero-copy h1{font-size:clamp(2rem,4.3vw,3.55rem);color:#fffef4;line-height:1.08;letter-spacing:-.055em;margin:12px 0 12px;text-shadow:0 4px 22px #03575460}.hero-copy h1 em{color:#ffdc86;font-style:normal}.hero-copy p{max-width:410px;color:#effff1;line-height:1.5;font-weight:650;font-size:1.04rem}.hero-actors{height:305px;display:flex;justify-content:center;align-items:end;padding-right:16px;gap:0;overflow:hidden}.hero-actors img{max-width:49%;object-fit:contain;filter:drop-shadow(0 16px 9px #0e4a4244);animation:idle 2.7s ease-in-out infinite}.hero-actors img:first-child{height:93%;transform-origin:bottom center}.hero-actors img:last-child{height:100%;animation-delay:-1.4s}@keyframes idle{0%,100%{translate:0 0}50%{translate:0 -7px}}.panel{background:#fffdf5;border:1px solid #e9efde;border-radius:28px;box-shadow:0 9px 33px #3a62551d;padding:24px}.start-panel{max-width:960px;margin:-14px auto 0;position:relative;z-index:1}.start-panel>label{display:block;font-weight:900;font-size:1.1rem;margin-bottom:10px}.name-line{display:flex;gap:12px}.name-line input{min-width:0;flex:1;min-height:58px;background:#f7faf6;color:#18393e;border:2px solid #cbded4;border-radius:18px;padding:0 16px;font-size:1.08rem}.primary{border:0;border-radius:17px;padding:15px 20px;min-height:54px;background:linear-gradient(#ffe99a,#ffc044);box-shadow:0 5px 0 #c9872b,0 11px 20px #ab7b2c23;color:#483211;font-weight:1000;font-size:1.01rem}.primary:active{transform:translateY(3px);box-shadow:0 2px 0 #c9872b}.quicksettings{display:flex;gap:12px;flex-wrap:wrap;margin-top:18px}.quicksettings label{display:flex;align-items:center;gap:8px;font-size:.89rem;font-weight:850}.quicksettings select{border:1px solid #bed8cd;background:#eff8f3;border-radius:10px;min-height:39px;color:#20464c;padding:0 9px}.progresspreview{font-weight:800;color:#37736b;margin-top:14px;font-size:.87rem}.home-links{max-width:960px;margin:16px auto;display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.linktile{display:flex;flex-direction:column;gap:2px;padding:18px;min-height:114px;text-align:left;background:#fffef8;border:1px solid #d8e6dc;border-radius:20px;color:#21484a;text-decoration:none;box-shadow:0 5px 17px #123c3020}.linktile span{font-size:1.55rem}.linktile b{font-size:.95rem}.linktile small{color:#638584}.footnote{text-align:center;color:#557572;font-size:.76rem;margin:16px auto 28px;padding:0 12px}.section-head{display:flex;gap:22px;align-items:center;margin:28px 14px 20px}.section-head h2{font-size:clamp(1.6rem,5vw,2.5rem);margin:3px 0}.ghost{border:1px solid #a9ccc2;background:#fff9e8;padding:10px 16px;border-radius:14px;font-weight:850}.world-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(185px,1fr));gap:16px;padding:0 14px 26px}.world-card{display:block;text-align:left;min-height:184px;padding:16px;background:linear-gradient(142deg,#fffdfa,#e5f8ee);border:1px solid #d7e6da;border-radius:22px;box-shadow:0 8px 25px #224e3420;color:#234648;position:relative;overflow:hidden}.world-card:before{content:"";position:absolute;top:-34px;right:-25px;width:135px;height:135px;border-radius:50%;background:var(--cardcolor,#a0dbc7);opacity:.55}.world-card .world-icon{position:relative;font-size:2.7rem;display:block;margin:9px 0 22px}.world-card strong{position:relative;display:block;font-size:1rem;line-height:1.2}.world-card small{display:block;position:relative;color:#54756c;font-weight:700;margin-top:5px}.world-card .world-lock{position:absolute;right:15px;bottom:14px;font-size:1.4rem}.world-card.locked{filter:grayscale(.7);background:#f2f3ef}.world-card.done{border:2px solid #51b798}.world-card:active{transform:scale(.98)}
/* World and camera */
#game{max-width:100%;padding:0}.game-titlebar{display:flex;align-items:center;gap:13px;background:#f9f6ec;padding:9px max(14px,env(safe-area-inset-left));min-height:76px;border-bottom:1px solid #dbe8d8}.game-title{min-width:0;flex:1;display:flex;flex-direction:column;gap:2px}.game-title small{font-size:.67rem;font-weight:900;color:#41887e;letter-spacing:.12em}.game-title strong{font-size:clamp(1.02rem,3.6vw,1.4rem);overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.game-titlebar .round-icon{color:#153a42;background:#eaf3ee;border:1px solid #b8d3c8}.hudchips{display:flex;gap:7px}.hudchips span{background:#e2f2e7;border:1px solid #bddbc8;border-radius:99px;padding:10px 11px;font-weight:950;white-space:nowrap;font-size:.85rem}.scene{height:clamp(310px,45vh,490px);position:relative;overflow:hidden;touch-action:pan-y;background:linear-gradient(180deg,#9adff6 0%,#d2f5f0 54%,#d8eeb2 100%)}.scene[data-theme="forest"]{background:linear-gradient(#8ed9ef,#d7f3cf 72%,#a7d992)}.scene[data-theme="space"]{background:linear-gradient(#18294f,#5d599e)}.scene[data-theme="winter"]{background:linear-gradient(#8cbfe9,#ecf9ff)}.scene[data-theme="sea"]{background:linear-gradient(#73cce7,#c1f3e4)}.scene[data-theme="city"]{background:linear-gradient(#92c6ef,#dceaf6)}.scene[data-theme="night"]{background:linear-gradient(#334a7c,#7d78aa)}.skyfx{position:absolute;right:12%;top:12%;height:72px;width:72px;border-radius:50%;background:#ffedb0;box-shadow:0 0 0 14px #fff5c02e,0 0 90px #fff6a4;z-index:0}.scene[data-theme="space"] .skyfx,.scene[data-theme="night"] .skyfx{background:#e3dffc;box-shadow:0 0 35px #d0c8ff}.world-track{width:1460px;position:absolute;inset:0 auto 0 0;transition:none;will-change:transform}.hills{position:absolute;bottom:45px;left:0;width:100%;height:210px;background:#6bc296;clip-path:polygon(0 69%,12% 38%,21% 65%,35% 25%,50% 75%,69% 31%,80% 62%,91% 36%,100% 60%,100% 100%,0 100%);opacity:.5}.hill-near{bottom:30px;height:145px;background:#55a780;clip-path:polygon(0 70%,17% 42%,30% 76%,43% 28%,59% 68%,77% 38%,89% 72%,100% 32%,100% 100%,0 100%);opacity:.4}.scene[data-theme="winter"] .hills{background:#e9f7ff}.scene[data-theme="space"] .hills{background:#a08fc8}.scene[data-theme="sea"] .hills{background:#53b0b1}.scenery,.pickups{position:absolute;inset:0;pointer-events:none}.decor{position:absolute;bottom:54px;transform:translateX(-50%);font-size:var(--size,66px);line-height:1;filter:drop-shadow(0 7px 2px #124b4144)}.ground{position:absolute;left:0;right:0;bottom:0;height:64px;background:linear-gradient(#599e54 0 22%,#966e4a 24%,#765237 100%);box-shadow:0 -6px 10px #3c8e6670}.scene[data-theme="winter"] .ground{background:linear-gradient(#eefbff 0 28%,#b9dce7 30%,#8bbdc9)}.scene[data-theme="space"] .ground{background:linear-gradient(#8d82a7,#574978)}.scene[data-theme="sea"] .ground{background:linear-gradient(#ffe2a3,#b88962)}.scene[data-theme="city"] .ground{background:linear-gradient(#8e99a3 0 22%,#66777e 24%,#58656c)}.pickup{position:absolute;bottom:87px;transform:translateX(-50%);font-size:2.6rem;width:70px;height:70px;display:grid;place-items:center;animation:pickbob 1.6s ease-in-out infinite;filter:drop-shadow(0 8px 7px #315c5755)}.pickup:before{content:"";z-index:-1;position:absolute;width:62px;height:62px;background:#fff7c6;border:3px solid #fff9eb;border-radius:50%;box-shadow:0 0 23px #ffe780cc}.pickup.taken{opacity:0;scale:.3;transition:opacity .2s,scale .2s}.pickup:nth-child(2){animation-delay:-.5s}.pickup:nth-child(3){animation-delay:-1s}@keyframes pickbob{50%{translate:0 -8px}}.gate{position:absolute;left:1210px;bottom:59px;width:122px;height:180px;border:14px solid #80503e;border-bottom:0;border-radius:65px 65px 0 0;background:#523a40bd;box-shadow:inset 0 0 0 5px #ba966b,0 0 30px #a58b5840;display:grid;place-items:center;color:#fff;text-align:center}.gate:before{content:"";position:absolute;top:-28px;width:150px;height:22px;background:#956448;border-radius:15px;box-shadow:0 5px 0 #4d382b}.gate-symbol{font-size:3rem;z-index:1}.gate small{position:absolute;bottom:10px;color:#ffe6a1;font-weight:950;letter-spacing:.15em}.gate.open{background:#92dcbc80;border-color:#3b8f67;box-shadow:inset 0 0 0 5px #b9f8c9,0 0 45px #7af4b5ad}.gate-glow{position:absolute;inset:0}.gate.open .gate-glow{background:radial-gradient(#f8ffb8,#b6ffdd22);animation:glow 2s infinite alternate}@keyframes glow{to{opacity:.35}}.actor{position:absolute;z-index:4;bottom:61px;width:104px;height:132px;transform:translateX(-50%);transform-origin:bottom center;will-change:left}.actor img{display:block;width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 8px 3px #204c544a);transform:scaleX(var(--facing,1));transition:transform .2s}.actor.walking img{animation:actorWalk .31s ease-in-out infinite alternate}@keyframes actorWalk{from{translate:0 0;rotate:-3deg}to{translate:0 -8px;rotate:3deg}}.actor.dudu-back{z-index:3;scale:.89;opacity:.98}.item-in-hand{position:absolute;bottom:37px;right:0;font-size:34px;filter:drop-shadow(0 6px 5px #143c3429);transform:rotate(20deg)}.hat-layer{position:absolute;top:-22px;left:33px;font-size:43px;text-shadow:0 3px 4px #3336;pointer-events:none}.dress-layer{position:absolute;bottom:41px;left:30px;font-size:42px;pointer-events:none}.vehicle{position:absolute;left:160px;bottom:58px;width:150px;height:59px;transform:translateX(-50%);z-index:5;pointer-events:none}.vehicle-body{background:linear-gradient(#ffd36d,#e78c3c);height:48px;width:150px;border:4px solid #8f4830;border-radius:30px 32px 15px 15px;box-shadow:inset 0 4px 0 #fff8bf}.vehicle-body:before{content:"";position:absolute;width:70px;height:35px;top:-26px;left:35px;background:linear-gradient(#b6f8ff,#68bee1);border:6px solid #955331;border-radius:35px 35px 7px 7px}.vehicle-wheel{position:absolute;bottom:-10px;width:31px;height:31px;border-radius:50%;border:7px solid #292a33;background:#ddd}.vehicle-wheel.left{left:22px}.vehicle-wheel.right{right:20px}.vehicle.motor{bottom:75px;width:130px;height:66px;display:grid;place-items:center}.vehicle.motor .vehicle-body{background:none;border:0;box-shadow:none;width:130px;font-size:94px;line-height:1;filter:drop-shadow(0 8px 5px #213a345e)}.scene-sheen{position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,#fff7 0,transparent 20%,transparent 78%,#2c4f3420 100%);z-index:8}.scene-guide{position:absolute;top:14px;left:50%;transform:translateX(-50%);max-width:min(92%,520px);padding:9px 17px;border-radius:999px;background:#173c42d9;border:1px solid #d1eecf99;color:white;font-size:.84rem;font-weight:850;text-align:center;z-index:10;pointer-events:none}.interact-btn{position:absolute;bottom:110px;left:50%;transform:translateX(-50%);z-index:15;min-height:52px;padding:0 18px;border:2px solid white;border-radius:100px;background:#ffc847;font-weight:900}.gamebody{max-width:860px;margin:0 auto;padding:14px 15px 28px}.chapter-story{display:flex;align-items:center;gap:14px;background:#fffef8;border:1px solid #d8e4d6;box-shadow:0 6px 16px #33432e18;border-radius:20px;padding:10px 13px}.guide-avatar{background:#e5f5df;border-radius:50%;width:53px;height:53px;overflow:hidden;flex-shrink:0;display:grid;place-items:center}.guide-avatar img{height:58px;width:55px;object-fit:contain;object-position:center bottom}.chapter-story>div:nth-child(2){flex:1;min-width:0}.chapter-story p{font-weight:800;margin:4px 0;font-size:.89rem;line-height:1.4}.speech-btn{background:#e2f3eb;border:0;border-radius:12px;width:46px;height:46px;font-size:1.2rem}.queststrip{display:flex;gap:9px;align-items:center;padding:12px 1px}.collectbubble{display:grid;place-items:center;width:43px;height:43px;flex-shrink:0;border:2px dashed #bed3c7;border-radius:14px;background:#f7f9f0;font-size:1.35rem;opacity:.55}.collectbubble.got{opacity:1;background:#fff0bb;border:2px solid #eabf61;animation:pop .3s ease}@keyframes pop{50%{scale:1.14}}.quest-progress{height:10px;background:#cde2d2;border-radius:100px;flex:1;overflow:hidden}.quest-progress>div{height:100%;width:0;background:linear-gradient(90deg,#58bd87,#20a39b);border-radius:100px;transition:width .3s}#questProgressText{white-space:nowrap;color:#41746c;font-weight:900;font-size:.78rem}.tooltray{display:flex;gap:8px;align-items:center;flex-wrap:wrap;padding:10px 0}.tooltray>span{font-size:.88rem;font-weight:900}.tooltray button{border:1px solid #a4d0bd;border-radius:13px;background:#fff9e2;color:#214647;min-height:41px;padding:7px 12px;font-size:.83rem;font-weight:800}.controller{display:flex;align-items:center;gap:14px;justify-content:space-between;padding:9px 0}.dpad{display:flex;gap:13px}.control-button{width:83px;height:76px;background:#19484d;border:4px solid #76b6a2;color:#fff;border-radius:23px;font-size:1.85rem;box-shadow:0 5px 0 #0b3033;touch-action:none;user-select:none;-webkit-user-select:none}.control-button.pressed,.control-button:active{background:#317d71;transform:translateY(3px);box-shadow:0 2px 0 #0b3033}.switch-control,.go-control{min-width:100px;min-height:64px;padding:7px 12px;border-radius:19px;border:2px solid #bfdfd0;background:#fffaf0;color:#254b4e;font-weight:900;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px}.switch-control small,.go-control small{font-size:.73rem}.go-control{background:#ffdf84;border-color:#e8ba5c}.instruction{text-align:center;color:#6a8480;font-size:.77rem;padding-top:6px}
/* Accessible dialogs */
.overlay{position:fixed;inset:0;z-index:30;padding:18px;background:#0b222ca8;backdrop-filter:blur(7px);display:grid;place-items:center;overscroll-behavior:contain}.modal{background:#fffdf6;color:#1a383c;width:min(100%,490px);max-height:min(93dvh,900px);overflow-y:auto;overscroll-behavior:contain;border:1px solid #ffffffe0;border-radius:27px;box-shadow:0 28px 90px #061c2499;padding:24px;animation:modalIn .16s ease-out}@keyframes modalIn{from{opacity:.5;transform:translateY(15px) scale(.97)}to{opacity:1;transform:none}}.modal>h2{margin:4px 0 16px;font-size:1.7rem;letter-spacing:-.04em}.modal p{line-height:1.5}.modal-top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.modal-top .round-icon{background:#e5f2ec;border:1px solid #c3dbcd;color:#214a49}.modal-top h2{margin:0}.quiz-modal{width:min(100%,555px)}#quizTag{color:#408875;font-weight:950;font-size:.8rem;letter-spacing:.08em}.quiz-modal h2{text-align:center;margin:8px 0 12px;font-size:clamp(1.4rem,5vw,1.8rem);line-height:1.2}.quiz-picture{min-height:190px;padding:14px;display:flex;align-items:center;justify-content:center;overflow:hidden;border:2px solid #d4e8dd;border-radius:22px;background:radial-gradient(circle at 50% 35%,#fffdf5,#def1e4);margin-bottom:16px;position:relative}.quiz-picture svg{display:block;width:100%;max-width:430px;max-height:220px}.emoji-picture{font-size:clamp(5.3rem,25vw,9rem);line-height:1;filter:drop-shadow(0 12px 7px #4e827c30)}.emoji-collection{display:flex;align-items:center;justify-content:center;gap:9px;flex-wrap:wrap;max-width:95%;font-size:clamp(2.4rem,9vw,3.5rem)}.answer-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.answer{padding:10px 8px;min-height:66px;border:2px solid #c4e3d1;border-radius:17px;background:#f9fcf5;box-shadow:0 4px 0 #b4d9bd;font-weight:950;font-size:1.08rem;color:#214649}.answer:active{transform:translateY(2px)}.answer.correct{background:#dcf8e1;border-color:#42ab7c}.answer.wrong{border-color:#ec887b;background:#ffe5df;animation:shake .2s}@keyframes shake{25%,75%{translate:5px 0}50%{translate:-5px 0}}.feedback{min-height:29px;text-align:center;font-weight:900;color:#21825b;margin:12px 0 0}.feedback.error{color:#c35a42}.quiz-bottom{display:flex;justify-content:space-between;gap:8px;color:#6a8780;font-weight:850;font-size:.76rem;margin-top:10px}.success-modal{text-align:center}.success-pair{height:120px;display:flex;align-items:end;justify-content:center}.success-pair img{height:115px;width:auto;max-width:45%;object-fit:contain;animation:idle 2s infinite}.success-modal h2{font-size:2rem;color:#207b68}.success-stars{font-size:2.6rem;margin:14px 0 20px}.confetti{font-size:2rem;letter-spacing:14px}.wide{width:100%;display:block;margin:12px 0}.quiet{border:1px solid #c6ddcf;border-radius:16px;background:#edf7ef;color:#244a48;padding:13px 16px;min-height:52px;font-weight:900}.switchline{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:14px 0;border-bottom:1px solid #dce8dc;font-weight:780}.switchline input{width:26px;height:26px;accent-color:#1c8770}.settings-note{font-size:.75rem;color:#68827d}.toast{position:fixed;z-index:60;bottom:max(18px,env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);background:#193c43;color:white;border-radius:15px;padding:12px 19px;box-shadow:0 9px 25px #17383f66;font-weight:800;max-width:91vw;text-align:center}
@media(max-width:680px){.topbar{height:67px}.brand img{width:44px;height:44px}.homehero{margin:0;border-radius:0 0 28px 28px;min-height:0;display:flex;flex-direction:column;align-items:center}.hero-copy{padding:26px 22px 0;text-align:center}.hero-copy h1{font-size:clamp(1.8rem,7.8vw,2.65rem);margin:8px 0}.hero-copy p{font-size:.88rem;margin:10px auto 0}.hero-actors{height:210px;width:100%;padding:0;align-items:end}.hero-actors img:first-child{height:95%}.hero-actors img:last-child{height:100%}.start-panel{margin:14px 12px 0;padding:17px;border-radius:22px}.name-line{flex-direction:column;gap:10px}.name-line input{flex:auto;width:100%;min-height:53px}.home-links{margin:13px 12px;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.linktile{padding:10px;min-height:110px;border-radius:15px;gap:5px}.linktile span{font-size:1.45rem}.linktile b{font-size:.78rem;line-height:1.2}.linktile small{font-size:.7rem}.scene{height:clamp(280px,37vh,430px)}.actor{width:85px;height:112px}.hat-layer{left:22px}.dress-layer{left:22px}.scene-guide{font-size:.75rem}.game-titlebar{min-height:67px;gap:8px}.hudchips{gap:4px}.hudchips span{padding:8px 7px;font-size:.74rem}.gamebody{padding:9px 12px 16px}.chapter-story{padding:8px}.guide-avatar{width:44px;height:44px}.guide-avatar img{height:48px;width:45px}.control-button{height:68px;width:66px;border-radius:19px}.dpad{gap:10px}.controller{gap:6px}.switch-control,.go-control{min-width:68px;padding:5px;font-size:.82rem}.queststrip{gap:6px}.collectbubble{width:36px;height:36px;font-size:1.05rem}.section-head{gap:14px}.world-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.world-card{min-height:160px;padding:12px}.world-card .world-icon{font-size:2.35rem;margin-bottom:16px}.modal{padding:18px;border-radius:22px}.quiz-picture{min-height:170px}.answer{min-height:60px;font-size:1rem}}
@media(max-height:690px){.scene{height:clamp(224px,31vh,330px)}.chapter-story{padding:7px}.queststrip{padding:6px 0}.controller{padding:3px 0}.actor{width:75px;height:103px}.modal{max-height:96dvh}.quiz-picture{min-height:135px}.quiz-picture svg{max-height:165px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
/* The character stays identical; vehicle movement uses the original image as a passenger. */
.actor.riding{bottom:88px;scale:.72;transform-origin:bottom center}
.actor.riding .hat-layer{top:-26px}
.tooltray button.selected{background:#d7fae2;border:2px solid #2a9e79;box-shadow:inset 0 0 0 1px #68cfa8}

/* Lernwelt 3.0: aktives Ton-Feedback, getrennte Figuren und sichere KI-Einstellungen */
.actor {cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;pointer-events:auto}
.actor:focus-visible{outline:4px solid #ffd15c;outline-offset:5px;border-radius:20px}
.actor.selected:after{content:'▼';position:absolute;top:-42px;left:45%;font-size:25px;color:#ffce4e;text-shadow:0 2px 3px #443;pointer-events:none}
.actor-talk{position:absolute;left:50%;bottom:calc(100% + 11px);transform:translateX(-50%);width:max-content;max-width:175px;white-space:nowrap;border-radius:14px;padding:7px 10px;background:#fffff3;color:#174a46;font-size:12px;font-weight:900;box-shadow:0 6px 16px #17423255;opacity:0;transition:opacity .15s;pointer-events:none;z-index:12}
.actor-talk.show{opacity:1}
.home-audio{margin-top:12px;display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.home-audio button,.game-ai-tools button,.ai-question{background:#e3f5e3;color:#23504c;border:2px solid #a7ddba;min-height:46px;border-radius:14px;padding:8px 15px;font-weight:900}
.home-audio span,.game-ai-tools span{font-size:.76rem;color:#527870;flex:1}
.game-ai-tools{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:11px}
.ai-question{width:100%;margin-top:8px}
.gemini-panel{background:#edf7f3;border:1px solid #c2dcd1;padding:15px;border-radius:18px;margin-top:15px}
.gemini-panel h3{margin:0 0 6px;font-size:1.18rem}.gemini-panel p{font-size:.79rem;line-height:1.45}
.settings-field{display:flex;flex-direction:column;gap:7px;font-weight:900;margin:14px 0 8px}
.settings-field input{background:#fff;color:#1c3d3b;border:2px solid #c6e1d4;border-radius:11px;min-height:48px;padding:11px;width:100%;max-width:100%}
.settings-field input[type=range]{min-height:36px;accent-color:#1a8172}
.voice-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.voice-grid label{display:flex;flex-direction:column;gap:5px;font-weight:800;font-size:.85rem}
.voice-grid input{width:100%;min-width:0;border-radius:10px;border:1px solid #b9d4c9;min-height:42px;padding:8px;font:inherit}
.chat-character{display:flex;gap:12px}.chat-character button{flex:1;border-radius:14px;padding:14px;border:2px solid #c7ddc7;background:#fffdf3;font-weight:900}.chat-character button.active{background:#c9eed2;border-color:#4aaf7c}
.chat-answer{min-height:80px;padding:12px;background:#f2faed;border-radius:13px;white-space:pre-wrap;line-height:1.6}
.hudchips{flex-wrap:wrap;justify-content:flex-end}
@media(max-width:420px){.game-titlebar{gap:5px}.hudchips span{font-size:.72rem;min-width:53px;padding:7px 5px}.voice-grid{grid-template-columns:1fr}.home-audio{flex-direction:column;align-items:stretch}}
