@font-face{font-family:Nunito;src:url('assets/nunito-400.ttf') format('truetype');font-weight:400;font-display:swap}
@font-face{font-family:Nunito;src:url('assets/nunito-600.ttf') format('truetype');font-weight:600;font-display:swap}
@font-face{font-family:Nunito;src:url('assets/nunito-700.ttf') format('truetype');font-weight:700;font-display:swap}
@font-face{font-family:Nunito;src:url('assets/nunito-800.ttf') format('truetype');font-weight:800;font-display:swap}
@font-face{font-family:Nunito;src:url('assets/nunito-900.ttf') format('truetype');font-weight:900;font-display:swap}
:root{--ink:#244b45;--muted:#74817a;--cream:#fbf7ee;--green:#14796e;--gold:#f5b94e;--line:#e7e9de;--shadow:0 14px 40px #365f4010;--radius:28px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:Nunito,'Arial Rounded MT Bold',system-ui,sans-serif;font-size:16px;-webkit-tap-highlight-color:transparent}button,input,select{font:inherit}button,a,input,select{touch-action:manipulation}button{cursor:pointer;color:inherit}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #d88b17;outline-offset:4px}button{border:0}a{color:inherit;text-decoration:none}button:disabled{cursor:default;opacity:.5}h1,h2,h3,p{margin:0}h1,h2,h3{font-weight:850;letter-spacing:-.045em;line-height:1.12}h1{font-size:clamp(38px,5vw,68px)}h2{font-size:clamp(29px,3vw,39px)}p{line-height:1.65}.shell{max-width:1240px;padding:0 40px;margin:auto}.header{height:100px;display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{display:flex;align-items:center;gap:11px;font-size:30px;font-weight:900;letter-spacing:-1.4px}.brand img{width:44px;height:44px}.nav{display:flex;align-items:center;gap:35px;font-weight:750;font-size:14px}.nav a:hover{color:var(--green)}.parent-btn{display:flex;align-items:center;gap:9px;padding:12px 21px;border:1px solid #d4ded4;border-radius:30px;background:transparent;font-weight:800}.btn{display:inline-flex;align-items:center;justify-content:center;gap:13px;background:var(--green);color:white;border-radius:16px;padding:17px 27px;font-weight:850;font-size:16px;min-height:54px;box-shadow:0 5px 0 #0b5d5412;transition:transform .2s,background .2s}.btn:hover{background:#096b60;transform:translateY(-2px)}.btn:active{transform:scale(.97)}.btn.secondary{background:#edf1e6;color:var(--ink);box-shadow:none}.btn.gold{background:#f7bc50;color:#4e3c1f}.btn.small{min-height:44px;padding:10px 18px;font-size:14px}.icon-btn{height:46px;min-width:46px;border:1px solid var(--line);border-radius:50%;background:#fffcf6;font-size:20px;display:inline-grid;place-items:center}.eyebrow{display:flex;align-items:center;gap:8px;text-transform:uppercase;letter-spacing:2px;font-weight:850;font-size:11px;color:#6e805d}.eyebrow:before{content:'✦';color:#dfa23d;font-size:17px}.hero{position:relative;isolation:isolate;border-radius:32px;min-height:560px;overflow:hidden;background:#eed5a8}.hero-art{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}.hero:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#fbf1ddeb 0%,#fbf1ddc9 28%,#fbf1dd00 64%);z-index:-1}.hero-copy{width:56%;padding:65px 48px}.hero h1{margin:22px 0;max-width:600px}.hero h1 span{color:#14796e;position:relative}.hero h1 span:after{content:'';position:absolute;left:0;bottom:-3px;width:100%;height:7px;background:#efb44f80;border-radius:50%;transform:rotate(-2deg);z-index:-1}.hero p{max-width:370px;font-size:17px;color:#617265;margin-bottom:27px}.hero-details{display:flex;gap:18px;margin-top:25px;font-size:12px;font-weight:800;color:#657262}.speech-label{position:absolute;right:30px;bottom:30px;padding:13px 20px;background:#fffaf0ed;border:1px solid #fff;border-radius:18px;box-shadow:var(--shadow);font-size:13px;font-weight:800;transform:rotate(-3deg)}.speech-label span{display:block;color:#81916f;font-size:11px;margin-top:3px}.benefits{display:flex;justify-content:center;gap:60px;padding:27px 5px;font-size:13px;font-weight:750;color:#687769}.benefits span{display:flex;align-items:center;gap:9px}.benefits b{font-size:20px;color:#b99a54}.section-head{display:flex;align-items:flex-end;justify-content:space-between;margin:46px 0 25px}.section-head p{color:var(--muted);margin-top:10px;font-size:14px}.pill{padding:9px 16px;background:#edf0e6;border-radius:30px;font-size:12px;font-weight:800;white-space:nowrap}.quest-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.quest-card{background:#fffdf8;border:1px solid #e8e6d9;border-radius:25px;overflow:hidden;box-shadow:0 8px 20px #3d4c3811;transition:transform .25s}.quest-card:hover{transform:translateY(-5px)}.quest-cover{position:relative;height:225px;overflow:hidden}.quest-cover img{height:100%;width:100%;object-fit:cover;transition:transform .5s}.quest-card:hover .quest-cover img{transform:scale(1.04)}.cover-badge{position:absolute;top:15px;left:15px;padding:7px 12px;border-radius:20px;background:#fffcf2eb;font-size:10px;font-weight:850}.quest-body{padding:24px}.quest-body h3{font-size:24px;letter-spacing:-.7px}.quest-body>p{color:var(--muted);font-size:13px;margin-top:8px}.quest-meta{display:flex;gap:14px;color:#6a7d6f;font-size:11px;font-weight:800;margin:20px 0}.quest-bottom{border-top:1px solid var(--line);padding-top:17px;display:flex;align-items:center;justify-content:space-between;gap:8px}.quest-bottom>span{font-size:10px;color:#88907d}.card-button{display:flex;align-items:center;gap:15px;font-size:13px;font-weight:850;background:transparent;padding:7px 0}.card-button b{border-radius:50%;background:#edf1e7;height:34px;width:34px;display:grid;place-items:center;font-size:18px}.how{margin:65px 0 40px;background:#edf0e3;border:1px solid #e3e8d5;border-radius:28px;padding:32px 35px;display:grid;grid-template-columns:1fr 2fr;gap:40px}.how h2{font-size:29px;margin-top:10px}.how-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.how-step{position:relative}.how-step b{display:grid;place-items:center;width:32px;height:32px;background:#fbf8ed;border-radius:50%;font-size:13px;margin-bottom:14px}.how-step h3{font-size:16px;letter-spacing:-.3px}.how-step p{font-size:12px;color:#75816b;margin-top:7px}.footer{border-top:1px solid var(--line);padding:24px 0 35px;display:flex;align-items:center;justify-content:space-between;color:#89917c;font-size:12px}.footer .brand{font-size:19px}.footer .brand img{width:28px;height:28px}.welcome-strip{display:flex;align-items:center;gap:18px;padding:20px 26px;background:#fffaf0;border:1px solid #ede5d3;border-radius:23px;margin:25px 0 0}.mascot{width:85px;height:85px;object-fit:contain;filter:drop-shadow(0 8px 9px #d8952120)}.welcome-strip .mascot{width:69px;height:69px}.welcome-strip p{font-size:14px;max-width:720px}.welcome-strip strong{font-weight:850}.welcome-strip button{margin-left:auto;flex-shrink:0}.resume{background:#f8eacb;padding:18px 22px;border-radius:18px;display:flex;align-items:center;gap:18px;margin-bottom:22px}.resume p{font-size:14px;flex:1}.overlay-back{position:fixed;inset:0;background:#193d38a8;backdrop-filter:blur(7px);z-index:50;display:flex;align-items:center;justify-content:center;padding:25px;animation:fadein .25s}.dialog{background:var(--cream);border-radius:30px;max-width:760px;width:100%;max-height:92dvh;overflow-y:auto;position:relative;box-shadow:0 25px 100px #122e3240}.dialog-close{position:absolute;right:16px;top:16px;z-index:3}.dialog-cover{width:100%;height:240px;object-fit:cover;display:block}.dialog-content{padding:30px}.dialog-content h2{margin:10px 0 14px}.dialog-content p{color:#6c7e71;font-size:15px}.dialog .actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:23px}.detail-meta{display:flex;gap:10px;flex-wrap:wrap;margin:20px 0}.parent-intro{display:flex;align-items:center;gap:15px;margin-bottom:24px}.parent-intro h2{font-size:28px}.parent-row{display:grid;grid-template-columns:32px 1fr 85px;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid var(--line)}.parent-row>span{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:#ede6d1;font-size:12px;font-weight:800}.parent-row select{width:100%;border:1px solid #dce0d2;background:white;border-radius:12px;padding:10px;font-size:13px;color:var(--ink)}.parent-row .code{font-weight:900;letter-spacing:3px;text-align:center;font-size:19px;color:#9b712b}.field{display:block;margin-top:22px;font-size:13px;font-weight:800}.field input{display:block;margin-top:9px;width:100%;border:1px solid #dce0d2;border-radius:12px;padding:13px;background:white;color:var(--ink)}.check{display:flex;gap:12px;align-items:flex-start;margin-top:20px;font-size:13px;line-height:1.6}.check input{width:22px;height:22px;accent-color:var(--green);flex-shrink:0}.note{padding:13px 17px;background:#edf0e2;border-radius:13px;margin-top:18px;font-size:12px!important}.share-box{width:100%;font:12px monospace;padding:12px;margin-top:12px;border:1px solid #dce0d2;border-radius:12px;color:var(--ink);resize:vertical}.play-shell{max-width:1040px;margin:auto;padding:0 28px 35px}.play-header{height:90px;display:flex;align-items:center;justify-content:space-between;gap:16px}.play-header .brand{font-size:23px}.play-header .brand img{height:35px;width:35px}.play-header .tools{display:flex;gap:10px}.quest-label{font-size:13px;font-weight:850}.progress{height:6px;background:#e9eadc;border-radius:10px;overflow:hidden;margin-bottom:26px}.progress span{display:block;height:100%;background:linear-gradient(90deg,#e9b658,#14796e);transition:width .7s}.game-layout{display:grid;grid-template-columns:250px 1fr;gap:27px;align-items:start}.stage-sidebar{padding:25px 23px;background:#f0ecdfff;border:1px solid #e5e1d3;border-radius:25px}.stage-sidebar h3{font-size:18px;margin:12px 0 20px}.side-node{display:flex;align-items:center;gap:12px;padding:12px 0;position:relative;font-size:11px;color:#8a917e;font-weight:750}.side-node b{width:27px;height:27px;flex-shrink:0;display:grid;place-items:center;border:1px solid #d5d8c7;border-radius:50%;background:#f9f6ed;font-size:11px}.side-node.done{color:#438476}.side-node.done b{background:#dde9d7;border-color:#dde9d7}.side-node.active{color:#285c50;font-weight:900}.side-node.active b{background:var(--green);color:white;border-color:var(--green);box-shadow:0 0 0 4px #14796e13}.game-card{border-radius:28px;background:#fffdf8;border:1px solid #e8e7dc;box-shadow:var(--shadow);padding:30px}.stage-top{display:flex;justify-content:space-between;align-items:center;font-size:11px;color:#91a087;font-weight:850;text-transform:uppercase;letter-spacing:1.2px}.stage-top span:last-child{color:#ba893b}.game-card h1{font-size:32px;letter-spacing:-1px;margin:19px 0 10px}.game-card .instruction{color:#7a8979;font-size:15px}.companion{display:flex;align-items:center;gap:10px;margin-top:22px;padding:12px 15px;background:#f7f2e4;border-radius:18px}.companion .mascot{width:67px;height:67px;flex-shrink:0;animation:float 4s ease-in-out infinite}.companion p{font-size:12px;line-height:1.6;flex:1}.companion .listen{background:transparent;border:0;border-radius:50%;font-size:20px;width:42px;height:42px;flex-shrink:0}.speaking .mascot{animation:talk .65s ease-in-out infinite}.game-board{min-height:240px;padding:28px 0 18px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:24px}.object-cloud{display:flex;flex-wrap:wrap;justify-content:center;gap:15px;max-width:360px}.object-cloud span{font-size:47px;filter:drop-shadow(0 5px 4px #d8b77b21);animation:pop .35s both}.choices{display:flex;justify-content:center;gap:13px;flex-wrap:wrap;width:100%}.choice{background:#f7f3e8;border:2px solid #eae6d8;border-radius:18px;min-height:70px;min-width:76px;font-size:27px;font-weight:850;transition:transform .2s,border .2s,background .2s;padding:10px 18px}.choice:hover{border-color:#a9c8b2;background:#eff4e6;transform:translateY(-3px)}.choice.picked{background:#def0dc;border-color:#83b397}.choice.wrong{animation:shake .3s;background:#fcf0d9;border-color:#e7be6e}.pattern{display:flex;gap:12px;align-items:center;flex-wrap:wrap;justify-content:center;font-size:30px}.pattern .unknown{height:52px;width:52px;border:2px dashed #ccb77f;border-radius:12px;display:grid;place-items:center;color:#ad955b}.memory-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;width:100%;max-width:340px}.memory-tile{height:89px;border-radius:17px;background:#e1eadd;color:#6c9679;border:2px solid #d2dfcd;font-size:32px;transition:transform .3s,background .3s}.memory-tile.open{background:#fff5d8;border-color:#eace91;transform:rotateY(0)}.memory-tile.matched{background:#e0f0dc;border-color:#a4c79d;opacity:.65}.game-note{min-height:30px;color:#8d835d;font-size:13px;text-align:center;line-height:1.5}.word-slots{display:flex;gap:10px}.word-slots span{width:54px;height:60px;background:#f5efdf;border-radius:12px;border-bottom:3px solid #d9c796;display:grid;place-items:center;font-size:29px;font-weight:900}.maze-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:5px;width:260px;background:#e8eddc;padding:9px;border-radius:17px}.maze-cell{aspect-ratio:1;display:grid;place-items:center;border-radius:9px;background:#fbf8ea;font-size:25px}.maze-cell.wall{background:#b6c9a7}.dpad{display:grid;grid-template-columns:repeat(3,52px);gap:5px}.dpad button{height:47px;border-radius:12px;background:#edf0df;border:1px solid #d5dec6;font-size:22px}.dpad button:first-child{grid-column:2}.dpad button:nth-child(2){grid-column:1}.equation{font-weight:850;font-size:38px;letter-spacing:3px}.clue-heading{text-align:center}.clue-heading h1{margin-top:13px}.clue-heading .eyebrow{justify-content:center}.clue-art{background-image:url('assets/clues.webp');background-size:400% 200%;width:100%;max-width:370px;aspect-ratio:1.5;margin:5px auto 0;border-radius:20px;mix-blend-mode:multiply}.clue-riddle{font-size:17px!important;color:#64745e!important;text-align:center;max-width:420px;margin:0 auto 20px}.code-form{max-width:360px;margin:0 auto}.code-form label{display:block;text-align:center;font-size:12px;color:#85917b;font-weight:800;margin-bottom:12px}.code-form input{width:100%;height:70px;text-align:center;letter-spacing:18px;padding-left:25px;background:#f7f3e8;border:2px solid #e3ddc8;border-radius:17px;color:var(--ink);font-size:30px;font-weight:900}.code-form .btn{width:100%;margin-top:15px}.code-form .game-note{margin-top:12px}.demo-pill{background:#f2dfac;color:#87692e;font-size:10px;font-weight:850;padding:5px 10px;border-radius:20px}.intro-page{display:grid;grid-template-columns:1fr 1fr;min-height:500px;overflow:hidden;border-radius:30px;background:#fffdf7;border:1px solid #eee5d6}.intro-page>img{height:100%;width:100%;object-fit:cover}.intro-copy{padding:40px 35px}.intro-copy h1{font-size:40px;margin:20px 0}.intro-copy p{font-size:15px;color:#74816e}.intro-copy .btn{margin-top:24px;width:100%}.intro-copy>.mascot{height:90px;width:90px}.map-view{position:fixed;inset:0;background:#e9d6a6;z-index:40;overflow:hidden;animation:fadein .4s}.map-view.forest{background:#dae7ca}.map-view.space{background:#292d53;color:#fff4cf}.map-texture{position:absolute;inset:0;opacity:.13;background-size:cover;background-position:center;filter:sepia(1);pointer-events:none}.map-top{position:absolute;top:0;left:0;right:0;z-index:4;padding:20px 24px;background:linear-gradient(#f8ebcdee,#f8ebcd00);display:flex;align-items:center;justify-content:space-between;gap:15px}.space .map-top{background:linear-gradient(#292d53f5,#292d5300)}.map-top h2{font-size:23px}.map-scroll{height:100%;overflow-y:auto;scrollbar-width:none;padding:135px 0 155px}.map-inner{width:min(100%,550px);height:1450px;position:relative;margin:auto;background:radial-gradient(ellipse at 0 12%,#79aba354 0,transparent 30%),radial-gradient(ellipse at 100% 50%,#7a9b7350 0,transparent 32%)}.space .map-inner{background:radial-gradient(ellipse at 5% 40%,#ca9ad735 0,transparent 50%)}.map-svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}.map-svg path{fill:none;stroke:#a3814e;stroke-width:3;stroke-dasharray:7 9;stroke-linecap:round}.forest .map-svg path{stroke:#749266}.space .map-svg path{stroke:#cabff0}.map-node{position:absolute;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;width:150px;z-index:2}.map-node .island{width:77px;height:77px;display:grid;place-items:center;background:#f8edce;border:3px solid #c9ac73;border-radius:50%;font-size:27px;box-shadow:0 8px 0 #cbb27a40}.map-node.current .island{background:#f5c55e;border-color:#b88436;box-shadow:0 0 0 9px #f5c55e38,0 10px 20px #8e682522}.map-node.done .island{background:#8fb8a0;border-color:#619180;color:white}.map-node.locked{opacity:.65}.map-node p{background:#f7ebced9;padding:7px 12px;border-radius:10px;font-size:11px;line-height:1.3;margin-top:12px;text-align:center;font-weight:850}.space .map-node p{background:#33355be8}.space .map-node .island{background:#4c4b75;border-color:#7f7ca2}.space .map-node.current .island{background:#c99c4e;border-color:#ffe3a0}.map-decoration{position:absolute;font-size:40px;opacity:.65}.map-boat{position:absolute;left:50%;top:1300px;z-index:3;width:70px;height:70px;display:grid;place-items:center;font-size:43px;filter:drop-shadow(0 4px 4px #6f4e362a);transform:translate(-50%,-50%);transition:left 1.8s cubic-bezier(.4,0,.2,1),top 1.8s cubic-bezier(.4,0,.2,1);pointer-events:none}.map-bottom{position:absolute;bottom:0;left:0;right:0;padding:22px 24px calc(22px + env(safe-area-inset-bottom));background:linear-gradient(#f8ebcd00,#f8ebcdfa 30%);display:flex;align-items:center;justify-content:center;gap:15px;z-index:4}.space .map-bottom{background:linear-gradient(#292d5300,#292d53fa 30%)}.map-bottom .mascot{width:70px;height:70px}.map-bottom p{font-size:13px;max-width:200px;font-weight:800}.map-bottom .btn{white-space:nowrap}.finish-card{text-align:center;background:#fffaf0;border:1px solid #e6d9b8;border-radius:30px;padding:40px;position:relative;overflow:hidden}.finish-card>img.cover{width:100%;max-height:260px;object-fit:cover;border-radius:22px}.finish-card h1{font-size:45px;margin:20px 0 15px}.finish-card .mascot{height:120px;width:120px;margin-top:-70px;position:relative}.finish-card p{max-width:560px;margin:auto;color:#6e7e67;font-size:15px}.finish-card .actions{display:flex;justify-content:center;gap:15px;margin-top:24px;flex-wrap:wrap}.award{margin:20px 0;display:inline-flex;align-items:center;gap:10px;border:1px solid #e9cf94;background:#fff0c7;border-radius:30px;padding:11px 22px;font-weight:850;font-size:13px;color:#997127}.confetti{position:fixed;inset:0;pointer-events:none;z-index:65;overflow:hidden}.confetti i{position:absolute;top:-30px;width:9px;height:16px;animation:fall 4s ease-in forwards;left:var(--x);background:var(--c);animation-delay:var(--d);border-radius:3px}.success-flash{position:fixed;inset:0;display:grid;place-items:center;z-index:60;background:#f9f0daf0;backdrop-filter:blur(4px);animation:fadein .3s}.success-flash>div{text-align:center;padding:30px}.success-flash .mascot{height:150px;width:150px;animation:pop .5s}.success-flash h2{margin:15px 0}.success-flash p{max-width:430px;font-size:15px;color:#7d856e}.success-flash .btn{margin-top:24px}.audio-status{font-size:10px;color:#8d957f;margin-top:7px}.audio-control{display:inline-flex;align-items:center;gap:7px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}#print-area{display:none}.floating-help{margin-top:20px;text-align:center;font-size:11px;color:#949b88}.floating-help button{background:transparent;text-decoration:underline;font-size:inherit;color:inherit}.loading{display:grid;place-items:center;height:80dvh}.loading img{width:120px;animation:float 2s ease-in-out infinite}@keyframes float{50%{transform:translateY(-7px) rotate(3deg)}}@keyframes talk{50%{transform:translateY(-4px) scale(1.05)}}@keyframes pop{from{transform:scale(.7);opacity:0}to{transform:scale(1);opacity:1}}@keyframes fadein{from{opacity:0}to{opacity:1}}@keyframes shake{25%{transform:translateX(-5px)}75%{transform:translateX(5px)}}@keyframes fall{to{transform:translateY(110dvh) rotate(700deg)}}
@media(max-width:1050px){.shell{padding:0 25px}.hero{min-height:500px}.hero-copy{padding:45px 35px;width:59%}.hero h1{font-size:51px}.benefits{gap:30px}.quest-cover{height:190px}.quest-body{padding:20px}.quest-body h3{font-size:21px}.how{grid-template-columns:1fr;gap:25px}.game-layout{grid-template-columns:205px 1fr}.stage-sidebar{padding:20px 17px}}
@media(max-width:760px){.shell{padding:0 20px}.header{height:79px}.brand{font-size:27px;gap:7px}.brand img{width:38px;height:38px}.nav>a{display:none}.nav{gap:0}.parent-btn{font-size:11px;padding:10px 13px;gap:5px}.hero{min-height:625px;border-radius:26px;display:flex;align-items:flex-start}.hero-art{object-position:69% center}.hero:after{background:linear-gradient(180deg,#fbf1ddfa 0%,#fbf1dde8 35%,#fbf1dd00 66%)}.hero-copy{width:100%;padding:28px 25px}.hero-copy .eyebrow{font-size:9px;letter-spacing:1.5px}.hero h1{font-size:42px;max-width:390px;line-height:1.06;margin:18px 0 17px}.hero p{font-size:14px;max-width:290px;line-height:1.6;margin-bottom:18px}.hero .btn{font-size:14px;padding:14px 22px;min-height:49px}.hero-details{font-size:10px;gap:13px;margin-top:17px}.speech-label{bottom:18px;right:17px;padding:10px 14px;font-size:11px}.speech-label span{font-size:9px}.benefits{gap:18px;justify-content:space-between;padding:21px 0;font-size:10px;line-height:1.4}.benefits span{gap:6px}.benefits b{font-size:17px}.welcome-strip{padding:14px 13px;gap:7px;margin-top:10px}.welcome-strip .mascot{width:53px;height:53px}.welcome-strip p{font-size:11px}.welcome-strip .btn{font-size:0;padding:9px;min-height:40px;width:40px}.welcome-strip .btn span{font-size:17px}.section-head{margin:34px 0 20px;align-items:center}.section-head h2{font-size:28px}.section-head p{font-size:12px;margin-top:8px}.section-head>.pill{font-size:10px;padding:7px 10px}.quest-grid{grid-template-columns:1fr;gap:22px}.quest-cover{height:225px}.quest-body{padding:22px}.quest-body h3{font-size:26px}.quest-body>p{font-size:14px}.quest-meta{font-size:12px;margin:18px 0}.quest-bottom>span{font-size:11px}.card-button{font-size:14px}.cover-badge{font-size:11px}.how{padding:25px;margin:37px 0 28px;border-radius:24px;gap:25px}.how-steps{grid-template-columns:1fr;gap:22px}.how-step{padding-left:47px}.how-step b{position:absolute;left:0;top:0}.how-step h3{font-size:16px}.how-step p{font-size:12px;line-height:1.5}.footer{gap:20px;font-size:10px;padding-bottom:28px}.footer .brand{font-size:17px}.footer>span{text-align:right;max-width:150px}.overlay-back{padding:13px;align-items:center}.dialog{border-radius:25px;max-height:94dvh}.dialog-content{padding:25px 22px}.dialog-cover{height:210px}.dialog-content h2{font-size:29px}.dialog .actions .btn{width:100%}.parent-row{grid-template-columns:27px 1fr 65px;gap:8px}.parent-row select{font-size:12px;padding:10px 6px}.parent-row .code{font-size:17px}.play-shell{padding:0 15px 25px}.play-header{height:75px;gap:10px}.play-header .brand{font-size:21px}.play-header .brand img{width:29px;height:29px}.quest-label{display:none}.play-header .tools{gap:8px}.icon-btn{min-width:41px;height:41px;font-size:18px}.progress{margin-bottom:18px}.game-layout{display:block}.stage-sidebar{display:none}.game-card{padding:24px 20px;border-radius:25px;min-height:calc(100dvh - 135px)}.game-card h1{font-size:29px;margin-top:18px}.game-card .instruction{font-size:14px;line-height:1.55}.stage-top{font-size:9px}.companion{padding:10px;gap:7px;margin-top:20px}.companion .mascot{height:56px;width:56px}.companion p{font-size:11px;line-height:1.5}.companion .listen{width:33px;height:38px;font-size:18px}.game-board{padding-top:27px;min-height:260px;gap:25px}.object-cloud span{font-size:42px}.choice{min-width:62px;min-height:64px;padding:10px 14px;font-size:26px;border-radius:15px}.choices{gap:10px}.pattern{gap:7px;font-size:26px}.pattern .unknown{width:43px;height:43px}.word-slots{gap:8px}.word-slots span{width:49px;height:57px}.maze-grid{width:245px}.intro-page{grid-template-columns:1fr}.intro-page>img{height:230px;grid-row:1}.intro-copy{padding:25px}.intro-copy h1{font-size:34px;margin:15px 0}.intro-copy>.mascot{width:75px;height:75px;float:right;margin-top:-65px}.intro-copy .companion{clear:both}.intro-copy p{font-size:14px}.map-top{padding:21px 20px}.map-top h2{font-size:21px}.map-top .eyebrow{font-size:9px}.map-bottom{padding:24px 15px calc(20px + env(safe-area-inset-bottom));gap:9px}.map-bottom .mascot{width:49px;height:49px}.map-bottom p{font-size:11px;max-width:140px}.map-bottom .btn{padding:13px 18px;font-size:13px;min-height:48px}.map-node{width:135px}.map-node .island{width:65px;height:65px}.map-node p{font-size:10px}.finish-card{padding:25px 20px}.finish-card h1{font-size:36px}.finish-card p{font-size:14px}.finish-card .actions .btn{width:100%}.finish-card>img.cover{height:200px}.clue-art{max-width:330px}.clue-riddle{font-size:15px!important}.code-form input{height:65px}.resume{gap:12px;padding:15px}.resume p{font-size:12px}.resume .btn{font-size:11px;padding:12px}.audio-status{font-size:9px}}
@media(max-width:370px){.shell{padding:0 13px}.hero-copy{padding:25px 20px}.hero h1{font-size:37px}.hero{min-height:605px}.game-card{padding:22px 15px}.pattern{gap:5px;font-size:24px}.choice{min-width:57px}.benefits{font-size:9px;gap:10px}.header .brand{font-size:24px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}.map-boat{transition:none}}
@media print{body{background:white}#app,#overlay,.confetti{display:none!important}#print-area{display:block;color:#222;font-family:system-ui}#print-area h1{font-size:26px;margin-bottom:15px}#print-area>p{font-size:12px;line-height:1.5;margin-bottom:20px}.print-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.print-card{border:1px dashed #999;padding:14px;break-inside:avoid;border-radius:12px;min-height:145px}.print-card small{font-size:10px}.print-card strong{display:block;font-size:40px;letter-spacing:12px;margin:8px 0}.print-card p{font-size:12px}.print-card .cut{color:#777;font-size:9px}.print-summary{page-break-before:always}.print-summary p{font-size:14px;margin:10px 0}}

/* Painted adventure maps and mobile readability */
.map-inner,.space .map-inner{background-size:100% 100%;background-repeat:no-repeat;box-shadow:0 0 70px #164f4730}.map-texture{display:none}.map-decoration{display:none}.map-svg{opacity:.25}.map-node .island{background:#fff5dbe8;backdrop-filter:blur(2px);width:60px;height:60px}.map-node p{background:#fff6e7ed;border:1px solid #e3cea1a0;box-shadow:0 3px 9px #50361912}.map-node.locked{opacity:.85}.map-top{background:linear-gradient(#fff3d9f5 50%,#fff3d900)}.forest .map-top{background:linear-gradient(#eaf3dbf5 50%,#eaf3db00)}.forest .map-bottom{background:linear-gradient(#eaf3db00,#eaf3dbf5 40%)}.map-top .eyebrow{color:#52674a}.space .map-top .eyebrow{color:#e7d3a5}.space .map-node p{border-color:#9993bb60}.hero-details span{background:#fff8e6d9;padding:5px 8px;border-radius:8px}.hero-details{gap:8px}.demo-pill{white-space:nowrap}.map-boat{font-size:36px;width:54px;height:54px}.map-node.current .island{animation:beacon 2.4s ease-in-out infinite}@keyframes beacon{50%{box-shadow:0 0 0 14px #f5c55e10,0 0 25px #f5c55e60}}
@media(max-width:760px){.hero-art{object-position:82% center}.hero:after{background:linear-gradient(180deg,#fbf1ddfa 0%,#fbf1dded 37%,#fbf1dd15 62%)}.hero-details{margin-top:12px}.hero-details span{font-size:9px}.map-node .island{width:53px;height:53px}.map-node p{margin-top:8px}.hero{min-height:650px}.play-header .demo-pill{font-size:8px;padding:6px 8px}.play-header .tools{gap:6px}}

/* Main-screen copy has its own calm, opaque reading surface. */
.hero p{color:#37594e;font-weight:650}.hero .eyebrow{color:#4d6745}.hero-details span{background:#fff9e9;color:#4d6250}.hero-copy{position:relative}.hero:after{background:linear-gradient(90deg,#fbf1ddfc 0%,#fbf1dded 35%,#fbf1dd00 68%)}
@media(max-width:760px){
 .hero{display:flex;flex-direction:column;min-height:0;background:#faf0db}
 .hero:after{display:none}
 .hero-copy{order:0;width:100%;padding:28px 25px 24px;background:#faf0db;z-index:2}
 .hero-art{order:1;position:relative;inset:auto;z-index:0;display:block;width:100%;height:330px;object-fit:cover;object-position:83% 64%;margin-top:-20px;mask-image:linear-gradient(to bottom,transparent 0%,black 15%);-webkit-mask-image:linear-gradient(to bottom,transparent 0%,black 15%)}
 .hero h1{font-size:42px;line-height:1.12;margin:20px 0}
 .hero p{font-size:16px;line-height:1.65;max-width:370px;margin-bottom:22px;color:#34574c;font-weight:650}
 .hero-copy .eyebrow{line-height:1.7;max-width:300px;font-size:10px;letter-spacing:1.35px;align-items:flex-start}
 .hero .btn{font-size:15px;min-height:54px;padding:15px 23px}
 .hero-details{margin-top:16px;gap:9px;flex-wrap:wrap}
 .hero-details span{font-size:10px;padding:6px 9px;border:1px solid #dfd7bb;background:#fffaf0}
 .speech-label{z-index:3;background:#fffcf5;bottom:20px;right:18px}
}
@media(max-width:370px){.hero-copy{padding:25px 21px 22px}.hero h1{font-size:38px}.hero p{font-size:15px}.hero-art{height:300px}}

.audio-welcome{text-align:center;padding:35px 32px}.audio-welcome>.mascot{width:125px;height:125px;animation:float 3s ease-in-out infinite}.audio-welcome h2{margin:15px 0;font-size:34px}.audio-welcome>p{max-width:510px;margin:0 auto}.audio-welcome .actions{justify-content:center}.audio-welcome .note{margin-top:20px}.audio-welcome .audio-status{margin-top:20px}@media(max-width:760px){.audio-welcome{padding:28px 24px}.audio-welcome h2{font-size:29px}.audio-welcome>.mascot{width:105px;height:105px}.audio-welcome>p{font-size:14px}.audio-welcome .eyebrow{font-size:9px;letter-spacing:1.2px}.audio-welcome .note{font-size:12px!important}}

.resume-stage{display:block;margin-top:3px;font-size:11px;font-weight:700}.parent-btn{min-height:44px}@media(max-width:760px){.icon-btn{min-width:44px;height:44px}.resume p{font-size:11px}.resume p strong{display:block;line-height:1.4}.resume p br{display:none}}.menu-exit{min-height:44px;padding:0 14px;border-radius:999px;border:1px solid var(--line);background:#fffdf8;font-size:14px;font-weight:850;color:var(--ink);white-space:nowrap;flex-shrink:0}
@media(max-width:520px){.play-header .demo-pill{display:none}.play-header .quest-label{display:none}}
@media(max-width:370px){.play-header .demo-pill{display:none}.play-header .brand{font-size:20px}.play-header{gap:8px}.play-header .quest-label{display:none}.menu-exit{padding:0 10px;font-size:13px}}

/* Voice controls are available on every screen, including navigation dialogs. */
.narration-tools{display:flex;gap:6px;align-items:center;flex-shrink:0}
.header>.narration-tools{margin-left:auto;margin-right:12px}
.dialog>.narration-tools{position:absolute;right:82px;top:20px;z-index:3}
.dialog>.narration-tools .icon-btn{background:#fffdf6;box-shadow:0 2px 12px #214b4520}
.map-top>.narration-tools{margin-left:auto}
@media(max-width:600px){.header{flex-wrap:wrap;gap:8px}.header>.narration-tools{margin-right:0}.header .nav{gap:4px}.dialog>.narration-tools{right:72px;top:18px}.map-top{gap:8px}.map-top h2{font-size:20px}.map-top .narration-tools{gap:2px}}
@media(max-width:600px){.header{height:auto;min-height:80px;padding:12px 0}.map-top>div:first-child{min-width:0;flex:1}.map-top h2{overflow-wrap:anywhere}.map-top .eyebrow{letter-spacing:.5px}}
.map-top .icon-btn{color:var(--ink)}
.map-view.race{background:#e4efd4}.start-lights{display:flex;gap:16px;justify-content:center}.start-lights i{width:58px;height:58px;border-radius:50%;background:#d9d3c4;box-shadow:inset 0 -8px 0 #00000014}.start-lights i.lit{background:#3caf5a;box-shadow:0 0 0 8px #3caf5a33}.start-go,.pump{min-width:min(100%,240px);min-height:68px;font-size:22px}.big-choice{font-size:42px;min-width:88px;min-height:88px}.car-need,.sample{font-size:76px;line-height:1}.mini-caption{font-weight:850;text-align:center}.garage-row{display:flex;gap:10px;justify-content:center;width:100%}.garage{flex:1;max-width:110px;min-width:0;height:112px;border-radius:18px 18px 10px 10px;background:#f7f1e2;border:3px solid #e0d3b0;font-size:42px;display:grid;place-items:end center;padding-bottom:10px}.tank{width:88px;height:156px;border:4px solid #d7c89a;border-radius:20px;background:#fffdf8;overflow:hidden;display:flex;align-items:flex-end}.tank span{display:block;width:100%;background:linear-gradient(#f3c85a,#e07a2f)}.traffic{display:flex;flex-direction:column;gap:8px;background:#2c3330;padding:14px;border-radius:20px}.traffic i{width:46px;height:46px;border-radius:50%;background:#3d4642}.traffic i.go{background:#3caf5a;box-shadow:0 0 14px #3caf5a}.race-track{width:min(100%,380px);touch-action:none;user-select:none}.race-asphalt{position:relative;height:320px;border-radius:24px;overflow:hidden;background:#3e4a40;display:flex}.race-lane{flex:1;border-right:2px dashed #ffffff55}.race-lane:last-child{border-right:0}.race-foe,.race-player{position:absolute;font-size:46px;line-height:1;transform:translateX(-50%);filter:drop-shadow(0 4px 0 #00000033)}.race-player{bottom:12px;z-index:2;transition:left .16s ease}.race-count{text-align:center;font-weight:850;margin-top:8px}.race-controls{display:flex;gap:18px;justify-content:center;width:100%}.race-arrow{min-width:112px;min-height:76px;font-size:36px}
@media(prefers-reduced-motion:reduce){.race-player,.tank span{transition:none}}
.race-track{background:#d5e7ad;border-radius:28px;padding:10px 10px 8px;box-shadow:inset 0 0 0 3px #c3d98a}
.race-asphalt{height:340px;border-radius:18px;background:linear-gradient(#fff,#fff) left 7px top/4px 100% no-repeat,linear-gradient(#fff,#fff) right 7px top/4px 100% no-repeat,#4d584c;box-shadow:inset 0 10px 0 #ffffff14}
.race-foe,.race-player{width:54px;height:82px;margin-left:-27px;transform:none;filter:drop-shadow(0 8px 2px #00000033)}
.race-player{width:60px;height:90px;margin-left:-30px;bottom:6px;z-index:3}
.toy-car,.bang-art{display:block;width:100%;height:100%}
.race-lane{border-right:0;background-image:linear-gradient(to bottom,#fff 0 16px,transparent 16px 36px);background-size:8px 36px;background-repeat:repeat-y;background-position:right 7px top 0;animation:race-road .48s linear infinite}
.race-lane:last-child{background-image:none;animation:none}
.race-asphalt.crashed .race-lane{animation-play-state:paused}
@keyframes race-road{to{background-position:right 7px top 36px}}
.race-bang{position:absolute;z-index:5;width:100px;height:84px;transform:translate(-50%,-55%) scale(.2);pointer-events:none;animation:race-bang .46s ease-out forwards}
.race-asphalt.crashed .race-player,.race-foe.hit{animation:race-shake .34s linear}
@keyframes race-bang{0%{transform:translate(-50%,-40%) scale(.15);opacity:0}45%{transform:translate(-50%,-58%) scale(1.12);opacity:1}100%{transform:translate(-50%,-58%) scale(1);opacity:1}}
@keyframes race-shake{20%{transform:translate(-3px,2px) rotate(-3deg)}45%{transform:translate(3px,-1px) rotate(3deg)}70%{transform:translate(-2px,1px)}100%{transform:none}}
@media(prefers-reduced-motion:reduce){.race-lane,.race-player,.race-foe,.race-bang,.race-asphalt.crashed .race-player,.race-foe.hit{animation:none}.race-bang{opacity:1;transform:translate(-50%,-55%) scale(1)}}
.build-board{width:100%;display:flex;flex-direction:column;align-items:center;gap:8px}.build-plan{display:flex;align-items:center;justify-content:center;gap:4px;width:100%}.build-step{width:74px;min-height:92px;border-radius:16px;background:#fffdf8;border:3px dashed #e0d3b0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;position:relative}.build-step b{font-size:13px;color:#c4533a}.build-step svg{width:62px;height:46px}.build-step.now{border-style:solid;border-color:#f0b429;box-shadow:0 0 0 4px #f0b42944;background:#fff8e4}.build-step.done{border-style:solid;border-color:#3caf5a;background:#f3fff6}.build-step.done::after{content:'✓';position:absolute;top:2px;right:6px;color:#1f8a45;font-weight:900}.build-arrow{color:#c4533a;font-size:22px;font-weight:900}.build-parts{display:grid;grid-template-columns:1fr 1fr;gap:10px;width:100%}.build-part{min-height:112px;border-radius:18px;background:#fffdf8;border:3px solid #e7d7b0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;font-weight:850;color:#244b45}.build-part svg{width:78px;height:56px}.build-part.picked{opacity:.4}.build-part:active{transform:translateY(1px)}
.scratch{position:relative;width:min(100%,320px);border-radius:22px;overflow:hidden;touch-action:none;margin:8px auto 0;background:#fffdf8;box-shadow:0 8px 0 #ead9b4}.scratch-picture{position:absolute;inset:0;background-image:url('assets/clues.webp');background-repeat:no-repeat}.scratch-coat{position:absolute;inset:0;width:100%;height:100%;touch-action:none}.scratch.open .scratch-coat{display:none}.scratch-tip{margin:8px 0 0;text-align:center;font-weight:850;color:#9a3412}
@media(max-width:370px){.build-step{width:64px;min-height:84px}.build-step svg{width:52px;height:40px}.build-arrow{font-size:18px}}
.rule-line,.sign-plate,.mini-caption{font-weight:850;text-align:center}.sign-plate{background:#fff6d8;border-radius:14px;padding:8px 12px}.start-lights i.red{background:#e15a48;box-shadow:0 0 0 8px #e15a4833}.start-lights i.yellow{background:#f0b429;box-shadow:0 0 0 8px #f0b42933}.start-lights i.green{background:#3caf5a;box-shadow:0 0 0 8px #3caf5a33}.traffic i.stop{background:#e15a48;box-shadow:0 0 14px #e15a48}.light-actions,.pump-row{display:flex;gap:8px;justify-content:center;flex-wrap:wrap;width:100%}.light-actions .start-go,.pump-row .pump{min-width:0;flex:1 1 140px}.wheel-grid,.car-grid,.garage-grid{display:grid;gap:8px;width:100%}.wheel-grid,.garage-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.car-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.wheel-btn,.car-btn{background:#fffdf8;border-radius:18px;min-height:92px;padding:6px;box-shadow:0 6px 0 #ead9b4}.wheel-btn svg,.car-btn svg{width:100%;height:74px}.garage.numbered{position:relative;max-width:none;height:112px}.garage .door-no{position:absolute;top:8px;left:0;right:0;font-size:18px}.player-chip{display:flex;align-items:center;justify-content:center;gap:10px;font-weight:850}.player-chip .toy-car{width:46px;height:68px}.lane-signs{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;width:min(100%,380px);margin:0 auto 8px}.lane-signs span{background:#fff6d8;border-radius:999px;text-align:center;font-size:13px;font-weight:850;padding:6px 2px;color:#9a3412}.fuel-panel{display:flex;gap:14px;align-items:center;justify-content:center;flex-wrap:wrap}.coin-card{display:flex;flex-direction:column;gap:4px;background:#fff6d8;border-radius:16px;padding:12px 14px;font-weight:800}.recall-sample{min-height:96px;display:grid;place-items:center}.recall-sample svg{width:72px;height:96px}.hidden-car,.plan-gap{font-size:28px;font-weight:850}.build-parts{flex-wrap:wrap}.build-part{min-width:72px}}
.map-view.racers{background:#cbb89a}.racers .map-top{background:linear-gradient(#f4e2c8f5 50%,#f4e2c800)}.racers .map-bottom{background:linear-gradient(#f4e2c800,#f4e2c8f5 40%)}.racers .map-svg path{stroke:#f3ddb0}.racers .map-node .island{background:#fff6e4e8;border-color:#e2c48a}.racers .map-node p{background:#fff8efe8}

.map-view.dino{background:#d9e4b8}.dino .map-top{background:linear-gradient(#eef5d8f5 50%,#eef5d800)}.dino .map-bottom{background:linear-gradient(#eef5d800,#eef5d8f5 40%)}.dino .map-svg path{stroke:#c4a35a}.dino .map-node .island{background:#fff8e4e8;border-color:#d4b87a}.choice.long{font-size:15px;padding:14px 12px;line-height:1.25}

/* Parent account, cart and store administration */
.shop-nav-group{display:flex;gap:8px;align-items:center}.shop-nav{background:#edf0e2;color:#244c43;border:1px solid #d5ddc9;border-radius:18px;padding:10px 14px;min-height:44px;font-weight:850;white-space:nowrap}.cart-count{background:#14796e;color:#fff;display:inline-grid;place-items:center;border-radius:50%;width:22px;height:22px;margin-left:3px}.shop-product{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-top:17px;padding-top:15px;border-top:1px solid var(--line);font-size:12px}.shop-product del{color:#737e6b}.shop-product b{color:#926427}.shop-product .btn{font-size:13px}.shop-dialog h2{font-size:clamp(25px,5vw,36px)}.shop-dialog p{color:#4e685c}.shop-dialog .field input,.shop-dialog select{min-height:48px;font-size:16px}.shop-dialog select{width:100%;display:block;margin-top:9px;border:1px solid #dce0d2;border-radius:12px;padding:12px;color:var(--ink);background:white}.shop-message{position:sticky;bottom:0;background:#fbf7ee;font-weight:800;line-height:1.5;padding:12px 0;margin:0!important}.shop-message:empty{display:none}.shop-auth{display:grid;gap:14px;margin:24px 0}.vk-login{background:#0077ff;color:white}.yandex-login{background:#222;color:white}.shop-cart-item,.shop-owned{display:flex;gap:16px;align-items:center;padding:17px 0;border-bottom:1px solid var(--line)}.shop-cart-item img,.shop-owned img{width:85px;height:85px;object-fit:cover;border-radius:15px}.shop-cart-item>div,.shop-owned>div{flex:1;min-width:0}.shop-cart-item h3,.shop-owned h3{font-size:18px;line-height:1.3;margin-bottom:10px}.shop-promo{display:flex;align-items:center;gap:8px}.shop-promo input{min-width:0;flex:1}.shop-promo .btn{margin-top:9px}.shop-pay{width:100%;margin-top:24px}.shop-subtitle{font-size:22px;margin:30px 0 14px}.shop-order{width:100%;display:flex;justify-content:space-between;gap:15px;text-align:left;background:#f1eddf;padding:17px;border-radius:15px;color:var(--ink);margin-top:10px;line-height:1.5}.shop-order span{flex:1;min-width:0}.shop-order small{display:block;color:#53685b;margin-top:6px}.shop-order strong{white-space:nowrap}.shop-order-status{padding:20px;background:#f6e9c8;border-radius:18px;font-weight:900;margin:20px 0}.shop-order-status.is-paid{background:#dfedda;color:#265d45}.shop-admin-product{border:1px solid #dadfce;border-radius:18px;padding:17px;margin:14px 0}.shop-fields{display:grid;grid-template-columns:1fr 1fr;gap:14px}.shop-fields .field{min-width:0}.shop-fields input{min-width:0}.shop-dialog .check{margin-bottom:17px}.shop-identity{font-size:12px;margin-top:24px;overflow-wrap:anywhere}.shop-identity p{font-size:12px}.shop-dialog #shop-total{font-size:20px;margin:22px 0 0}.shop-dialog .btn:disabled{opacity:.55;cursor:default}@media(max-width:700px){.header{height:auto!important;min-height:90px;flex-wrap:wrap;padding-block:16px;gap:10px}.shop-nav-group{margin-left:auto}.header .narration-tools{order:2}.header .nav{width:100%;justify-content:space-between;gap:10px}.shop-cart-item,.shop-owned{gap:10px}.shop-cart-item img,.shop-owned img{width:62px;height:70px}.shop-cart-item h3,.shop-owned h3{font-size:16px}.shop-order{flex-wrap:wrap}.shop-promo{flex-wrap:wrap}.shop-promo .btn{margin-top:0}.shop-fields{gap:10px}.shop-dialog{padding:24px 20px}.shop-product{flex-wrap:wrap}}

@media(max-width:700px){.header .nav{order:1;width:auto;flex:1}.header .narration-tools{order:2;margin-left:auto}}

.dialog [hidden]{display:none!important}

/* Legal pages and necessary-storage notice */
.legal-links,.legal-footer nav{display:flex;flex-direction:column;gap:8px}.legal-links a,.legal-footer a,.checkout-legal a{color:#315e50;text-decoration:underline;text-underline-offset:3px}.legal-header{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:28px 0}.legal-document{max-width:820px;margin:15px auto 50px;padding:36px;background:#fffdf8;border:1px solid #e6e2d5;border-radius:26px;box-shadow:var(--shadow)}.legal-document h1{font-size:clamp(28px,5vw,44px);line-height:1.15;overflow-wrap:anywhere;margin:16px 0}.legal-document h2{font-size:23px;margin:32px 0 13px;line-height:1.3}.legal-document p,.legal-document li{font-size:16px;line-height:1.75;color:#36584c}.legal-document p{margin:13px 0}.legal-document ul{padding-left:23px}.legal-document li{margin:12px 0}.legal-document a{color:#086c61;text-decoration:underline;text-underline-offset:3px;overflow-wrap:anywhere}.legal-document .legal-date{font-size:13px;color:#6d7e70}.legal-document .legal-lead{font-size:18px}.legal-document [hidden]{display:none}.legal-table-wrap{overflow-x:auto}.legal-document table{width:100%;border-collapse:collapse;font-size:14px;line-height:1.65}.legal-document th,.legal-document td{text-align:left;vertical-align:top;padding:12px;border:1px solid #dce1d1;color:#36584c}.legal-document th{background:#edf1e5}.legal-document td:first-child{width:31%}.cookie-notice{position:fixed;z-index:45;left:20px;right:20px;bottom:max(16px,env(safe-area-inset-bottom));max-width:900px;margin:auto;padding:18px 22px;display:flex;gap:22px;align-items:center;background:#fffdf5;border:1px solid #d9dfcb;border-radius:22px;box-shadow:0 10px 40px #173e3730;color:#31574a}.cookie-notice strong{font-size:15px}.cookie-notice p{font-size:13px;line-height:1.6;margin:6px 0 0}.cookie-notice a{color:#086c61;text-decoration:underline;text-underline-offset:2px}.cookie-notice .btn{min-width:80px;flex-shrink:0}body:has(.cookie-notice){padding-bottom:170px}body:has(.map-view) .cookie-notice{display:none}.checkout-legal{font-size:12px!important;line-height:1.65!important;margin-top:18px!important}@media(max-width:700px){.footer{flex-wrap:wrap;align-items:flex-start}.legal-links{width:100%;order:3;font-size:12px}.legal-document{padding:24px 18px;margin-top:0;border-radius:20px}.legal-document h2{font-size:21px}.legal-document p,.legal-document li{font-size:15px}.legal-header{padding:22px 0}.cookie-notice{left:12px;right:12px;padding:15px;gap:12px}.cookie-notice strong{font-size:14px}.cookie-notice p{font-size:12px}.cookie-notice .btn{min-width:62px;padding:12px 16px}.legal-footer{gap:18px}.legal-document th,.legal-document td{padding:9px;font-size:13px}body:has(.cookie-notice){padding-bottom:210px}}

.map-view.ballet{background:#f0d4e4}.ballet .map-top{background:linear-gradient(#f8e8f2f5 50%,#f8e8f200)}.ballet .map-bottom{background:linear-gradient(#f8e8f200,#f8e8f2f5 40%)}.ballet .map-svg path{stroke:#e8b0c8}.ballet .map-node .island{background:#fff6fbe8;border-color:#e8a0c0}
.map-view.bakery{background:#f0dcc8}.bakery .map-top{background:linear-gradient(#f8ead8f5 50%,#f8ead800)}.bakery .map-bottom{background:linear-gradient(#f8ead800,#f8ead8f5 40%)}.bakery .map-svg path{stroke:#e0b888}.bakery .map-node .island{background:#fff8eee8;border-color:#e0b888}
.map-view.pony{background:#ddd4ee}.pony .map-top{background:linear-gradient(#ebe4f6f5 50%,#ebe4f600)}.pony .map-bottom{background:linear-gradient(#ebe4f600,#ebe4f6f5 40%)}.pony .map-svg path{stroke:#b8a8d8}.pony .map-node .island{background:#f6f2ffe8;border-color:#b8a8d8}
.weigh-row{display:flex;align-items:center;justify-content:center;gap:12px;margin:10px 0 14px}.weigh-pan{min-width:88px;padding:14px 10px;border-radius:18px;background:#fff8ee;border:3px solid #e0cfa8;text-align:center;box-shadow:0 6px 0 #ead9b4}.weigh-pan b{display:block;font-size:32px;color:#8a5a28}.weigh-pan span{font-size:12px;font-weight:800;color:#819071}.weigh-beam{font-size:36px}
.dino-cloud{display:flex;flex-wrap:wrap;justify-content:center;gap:6px;align-items:flex-end}
.dino-token{display:inline-flex;width:54px;height:66px}
.dino-art,.dino-token .dino-svg,.dino-svg{width:100%;height:100%;display:block;object-fit:contain}
.dino-cloud .dino-token{width:50px;height:60px}
.track-row{display:flex;flex-wrap:wrap;gap:6px;justify-content:center;align-items:center;margin:8px 0}
.track-slot{width:64px;height:70px;display:grid;place-items:center;background:#f4ead4;border-radius:16px;border:2px solid #e0cfa8;overflow:hidden;padding:2px}
.track-slot .track-art{width:100%;height:100%;border-radius:12px;object-fit:cover}
.track-slot.unknown{font-size:28px;font-weight:900;color:#c4533a}
.track-choices{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;width:100%}
.track-btn{background:#fffdf8;border-radius:18px;padding:8px 4px;box-shadow:0 6px 0 #ead9b4;display:flex;flex-direction:column;align-items:center;gap:4px;font-weight:850;font-size:12px;color:#244b45}
.track-btn .track-art{width:72px;height:72px;border-radius:14px;object-fit:cover}
.dino-sample{display:grid;place-items:center;min-height:170px;margin:6px 0 10px;background:linear-gradient(180deg,#f3f7e4,#fff8e8);border-radius:22px;border:3px solid #d7e3a8;padding:8px}
.dino-sample .portrait{width:min(100%,260px);height:170px;border-radius:16px;object-fit:cover}
.name-choices{display:flex;flex-direction:column;gap:8px}
.relic-tile{padding:6px}
.relic-tile .dino-art{width:72px;height:60px;margin:auto;object-fit:contain}
.memory-back{font-size:22px}
.stone-btn{padding:4px;min-height:72px}
.stone-btn .stone-svg{width:56px;height:56px;margin:auto}
.stone-slot,.rune-slot{background:#efe4c8;border-color:#cbb48a}
.rune-btn{background:linear-gradient(180deg,#f7efd8,#e8d7a8);border:2px solid #cbb48a}
.dino-maze .maze-cell{display:grid;place-items:center}
.dino-maze .maze-ico{width:28px;height:28px}
.math-plus{font-size:28px;font-weight:900;color:#7a8f3e;align-self:center}
.ballet-art{width:100%;height:100%;display:block;object-fit:cover;border-radius:14px}
.ballet-sample{display:grid;place-items:center;min-height:170px;margin:6px 0 10px;background:linear-gradient(180deg,#fce8f2,#fff8fb);border-radius:22px;border:3px solid #e8b0c8;padding:8px}
.ballet-sample .portrait{width:min(100%,280px);height:180px;border-radius:16px;object-fit:cover}
.mirror-grid,.spot-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;width:100%}
.spot-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.mirror-btn,.spot-btn{background:#fff8fb;border-radius:18px;padding:6px;box-shadow:0 6px 0 #ead0dc;overflow:hidden;min-height:110px}
.mirror-btn .ballet-art,.spot-btn .ballet-art{height:100px;object-fit:cover}
.mark-chip,.stone-chip{position:relative;display:inline-grid;place-items:center;width:56px;height:56px}
.mark-chip .mark-art{width:56px;height:56px;border-radius:14px;object-fit:cover}
.mark-chip b,.stone-chip b{position:absolute;font-size:20px;font-weight:900;color:#fff;text-shadow:0 1px 3px #0008}
.stone-chip{background:linear-gradient(180deg,#e8dcc0,#9a8860);border-radius:50%;border:2px solid #6a5a38}
.dress-art{width:72px;height:64px;object-fit:contain;margin:auto}
.relic-tile .ballet-art{width:72px;height:60px;margin:auto;object-fit:contain}
.success-flash.ballet-win{background:radial-gradient(circle at 50% 30%,#ffe6f4ee,#fff8fbee 55%,#f8e8f2ee)}
.success-flash .success-inner{position:relative}
.ballet-sparkles{pointer-events:none;position:absolute;inset:-10px -6px auto;height:70px}
.ballet-sparkles i{position:absolute;width:10px;height:10px;border-radius:50%;background:#f5b94e;box-shadow:0 0 12px #f5b94eaa;animation:ballet-spark 1.1s ease-out both}
.ballet-sparkles i:nth-child(1){left:8%;animation-delay:.05s}.ballet-sparkles i:nth-child(2){left:22%;background:#e8a0c8;animation-delay:.12s}.ballet-sparkles i:nth-child(3){left:40%;animation-delay:.18s}.ballet-sparkles i:nth-child(4){left:58%;background:#fff;animation-delay:.08s}.ballet-sparkles i:nth-child(5){left:74%;background:#e8a0c8;animation-delay:.2s}.ballet-sparkles i:nth-child(6){left:88%;animation-delay:.15s}
@keyframes ballet-spark{0%{transform:translateY(18px) scale(.3);opacity:0}40%{opacity:1}100%{transform:translateY(-28px) scale(1);opacity:0}}
@media(prefers-reduced-motion:reduce){.ballet-sparkles{display:none}}
@media(max-width:370px){.track-btn .track-art{width:58px;height:58px}.ballet-sample .portrait{height:140px}.mirror-btn .ballet-art,.spot-btn .ballet-art{height:78px}
