/* A quiet storybook world, with large real buttons above the illustration. */
:root{--world-ink:#20395c;--world-teal:#147a71;--world-cream:#fffcf3}
body{background:#edf8f8;color:var(--world-ink)}
.top{max-width:1120px;background:#fffdf7;box-shadow:0 3px 0 #d7e7e7;border-radius:0 0 24px 24px}
.main{max-width:1120px;padding:24px 28px 38px}
button,a,input,summary{touch-action:manipulation}
.world-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:3px 0 20px}
.world-heading p{font-size:13px;color:#568273;font-weight:700;letter-spacing:.08em;margin-bottom:5px}
.world-heading h1{font-size:34px;overflow-wrap:anywhere}
.round-audio{border:2px solid #d6e7e4;border-radius:50%;background:#fffdf7;min-width:48px;min-height:48px;font-size:21px;box-shadow:0 3px 0 #d6e7e4}
.world-layout{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(310px,1fr);gap:26px;align-items:center}
.world-scene{position:relative;border-radius:32px;aspect-ratio:1;isolation:isolate;overflow:hidden;border:5px solid #fffdf7;box-shadow:0 8px 0 #cedfd7,0 15px 32px #416c6a18;background:#bfdfaf}
.world-landscape{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;pointer-events:none}
.place-pin{position:absolute;display:flex;align-items:flex-end;justify-content:center;background:transparent;border:2px solid transparent;border-radius:22px;padding:0 0 5px;z-index:3;transition:transform .18s}
.place-pin:hover{transform:translateY(-3px)}
.place-pin:focus-visible{outline:4px solid #fff;box-shadow:0 0 0 8px #124980;outline-offset:0}
.place-fr{left:3%;top:11%;width:43%;height:35%}.place-math{right:2%;top:24%;width:43%;height:30%}.place-world{right:2%;top:65%;width:51%;height:26%}
.place-sign{display:flex;align-items:center;gap:6px;padding:8px 9px;background:#fffdf4;box-shadow:0 5px 0 #bc9b67,0 7px 12px #25432b35;border-radius:15px;border:3px solid #fff;color:#1c3f67;min-height:51px}
.place-sign b{font-size:24px;line-height:1;color:#2c5f9c}.place-sign strong{font-size:18px}.place-sign i{font:700 25px/1 sans-serif;color:#a97736}
.place-fr .place-sign{background:#fff1e8}.place-math .place-sign{background:#eff8ff}.place-world .place-sign{background:#f3ffe7}
.fox-guide{position:absolute;z-index:4;width:27%;left:5%;bottom:13%;padding:0;background:transparent;border:0;aspect-ratio:1;transform-origin:bottom center}
.fox-guide img{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 7px 2px #326c3a25);animation:fox-breathe 5s ease-in-out infinite}
.fox-guide>span{position:absolute;right:-1%;top:9%;width:35px;height:35px;background:#fffbed;border:2px solid #edd6a2;border-radius:50%;display:grid;place-items:center;font-size:17px}
.fox-guide.is-talking{animation:fox-wave .6s ease-in-out 2}
.world-sidebar{min-width:0}.story-card{background:#fff0b3;border:3px solid #fff8d9;box-shadow:0 6px 0 #e3d190;border-radius:27px;padding:23px 24px 21px}
.story-title{display:flex;gap:13px;align-items:center}.story-title>span{font-size:45px;line-height:1}.story-title small{font-size:12px;color:#846227;font-weight:700}.story-title h2{font-size:27px;color:#473f27;margin-top:4px;letter-spacing:-.4px}
.mission-subject{font-weight:650;font-size:16px;margin:17px 0 6px;overflow-wrap:anywhere;color:#665633}
.mission-steps{display:flex;gap:8px;align-items:flex-start;justify-content:center;padding:0;list-style:none;margin:20px 0}
.mission-steps li{position:relative;flex:1;text-align:center;display:grid;justify-items:center;gap:6px;color:#7d7662;min-width:0}
.mission-steps li+li:before{content:'›';position:absolute;left:-9px;top:9px;font-size:21px;color:#9d9c83}
.mission-steps span{display:grid;place-items:center;min-width:40px;height:40px;font-size:23px;background:#fff9df;border-radius:50%;border:2px solid #e0d7b5}
.mission-steps .reached span{background:#edf8da;border-color:#8cb778}.mission-steps [aria-current=step] span{box-shadow:0 0 0 3px #ffffffe0}
.mission-steps b{font-size:12px;font-weight:700;white-space:nowrap}
.story-start{background:var(--world-teal);border-color:#0a6f68;box-shadow:0 4px 0 #0d615b;min-height:61px;width:100%;font-size:24px;gap:20px;border-radius:20px}
.story-start:hover{background:#106f65}.story-start:active{transform:translateY(3px);box-shadow:0 1px 0 #0d615b}
.story-alternative{display:block;background:none;border:0;text-decoration:underline;margin:8px auto -5px;min-height:44px;font-size:14px;color:#775d30}
.garden-link{display:flex;align-items:center;gap:13px;background:#fffcf3;border:2px solid #c5ded2;border-radius:22px;width:100%;padding:15px 16px;margin-top:20px;text-align:left;box-shadow:0 4px 0 #dce9da}
.garden-link>span:first-child{font-size:35px}.garden-link strong{display:block;font-size:21px}.garden-link small{display:block;font-size:13px;color:#607860;margin-top:2px}.garden-link>b{margin-left:auto;font-size:24px}
.world-shortcuts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:20px}
.world-shortcuts button{border:2px solid #b8d9e8;box-shadow:0 4px 0 #c9e0e6;border-radius:19px;background:#e1f1ff;min-height:90px;padding:12px 4px;display:grid;justify-items:center;gap:4px;align-content:center}
.world-shortcuts button:nth-child(2){background:#ffe5df;border-color:#f4cabc;box-shadow:0 4px 0 #efd6ca}.world-shortcuts button:nth-child(3){background:#eee7ff;border-color:#d7caee;box-shadow:0 4px 0 #dcd6ec}
.world-shortcuts span{font-size:29px}.world-shortcuts b{font-size:14px}.world-whisper{font-size:13px;text-align:center;color:#608272;margin-top:24px}
.world-butterfly,.world-bird,.world-rainbow{position:absolute;pointer-events:none;z-index:2}.world-butterfly{right:29%;top:56%;font-size:30px;animation:butterfly-float 7s ease-in-out infinite}.world-bird{top:23%;right:18%;font-size:24px}.world-rainbow{top:0;left:43%;font-size:56px}
.map-flowers{position:absolute;bottom:16%;right:7%;width:39%;height:16%;display:grid;grid-template-columns:repeat(6,1fr);pointer-events:none;z-index:2;align-items:end}.map-flowers svg{width:100%;height:auto;max-height:48px;overflow:visible}.map-flowers svg:nth-child(2n){transform:translateY(3px)}
.fireflies{position:absolute;inset:0;pointer-events:none;z-index:2}.fireflies i{position:absolute;width:6px;height:6px;border-radius:50%;background:#ffe777;box-shadow:0 0 10px 3px #ffed9590;animation:firefly 5s ease-in-out infinite}
.fireflies i:nth-child(1){left:30%;top:52%}.fireflies i:nth-child(2){left:57%;top:64%;animation-delay:1s}.fireflies i:nth-child(3){left:75%;top:45%;animation-delay:2s}.fireflies i:nth-child(4){left:62%;top:25%;animation-delay:3s}.fireflies i:nth-child(5){left:18%;top:66%;animation-delay:4s}
.place-page{max-width:900px;margin:auto}.place-heading{display:flex;align-items:center;gap:20px;border-radius:26px;background:var(--tile);padding:24px;margin:8px 0 24px;border:2px solid var(--edge)}
.place-heading>span{font-size:54px;font-weight:800;color:var(--tile-ink)}.place-heading h1{font-size:30px}.place-heading p{margin-top:6px;font-size:16px}
.discovery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.discovery-card{position:relative;display:flex;flex-direction:column;align-items:center;gap:13px;background:#fffdf6;border:2px solid var(--edge);border-radius:24px;min-height:190px;padding:22px 17px 20px;box-shadow:0 5px 0 var(--tile)}
.discovery-card:hover{background:var(--tile)}.discovery-icon{font-size:43px;line-height:1.1}.discovery-card strong{font-size:21px;line-height:1.25}.discovery-card small{font-size:13px;color:#60736d;margin-top:auto}.discovery-go{position:absolute;right:10px;top:8px;font-size:22px;color:var(--tile-ink)}
.topic-hub{max-width:760px;margin:auto}.topic-title{text-align:center;margin:12px 0 25px}.topic-title>span{font-size:58px}.topic-title h1{font-size:31px;margin-top:8px}
.learning-choices{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.learning-choice{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;border:2px solid #a8cde0;background:#e2f2ff;border-radius:25px;padding:25px 16px;box-shadow:0 5px 0 #bad9e8;position:relative;min-height:207px}.learning-choice>span{font-size:45px}.learning-choice strong{font-size:24px;line-height:1.1}.learning-choice small{font-size:14px;color:#466775}.learning-choice>b{font-size:23px}.train-choice{background:#e2f5d9;border-color:#aecdaa;box-shadow:0 5px 0 #c0dcb7}.test-choice{background:#eee5ff;border-color:#cbb9e0;box-shadow:0 5px 0 #d7c9e7}.learning-choice:disabled{opacity:.75;background:#eef1ed;color:#66706e;box-shadow:none;border-style:dashed}.test-wait{font-size:14px;color:#657671;text-align:center;max-width:410px;margin:22px auto}
.garden-page{max-width:660px;margin:auto;text-align:center}.garden-page>.back:first-child{display:block;text-align:left}.garden-title{display:flex;align-items:center;justify-content:center;gap:15px;margin:15px 0 8px}.garden-title h1{font-size:30px;overflow-wrap:anywhere}.garden-caption{font-size:16px;color:#617769;margin-bottom:21px}
.garden-board{position:relative;min-height:370px;background:#e7f4f2;border:5px solid #fffdf4;border-radius:32px;overflow:hidden;isolation:isolate;box-shadow:0 6px 0 #cdddcd}
.garden-hills{position:absolute;inset:0;background:radial-gradient(ellipse 100% 60% at 40% 120%,#8db66e 99%,transparent 100%),radial-gradient(ellipse 70% 52% at 85% 100%,#b5ce95 99%,transparent 100%),radial-gradient(ellipse 80% 55% at 5% 95%,#c6dbaa 99%,transparent 100%)}
.garden-hills:after{content:'';position:absolute;width:94%;height:19%;background:#ab784e;border:6px solid #d0b17c;border-radius:50%;bottom:8%;left:3%;transform:rotate(-3deg)}
.flower-bed{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:2px;position:relative;width:89%;padding-top:105px;margin:0 auto 42px;z-index:3}
.garden-plant{display:grid;place-items:center;border:2px solid transparent;border-radius:50%;background:none;padding:0;min-width:0;min-height:68px;align-self:end}.garden-plant svg{width:100%;max-width:77px;height:auto;filter:drop-shadow(0 3px 1px #30582919);overflow:visible;transition:transform .22s}
.garden-plant:disabled{opacity:1}.garden-plant.seed svg{opacity:.55}.garden-plant.bloomed:hover{background:#fff8dd80;border-color:#fff4c7}.garden-plant.bloomed:hover svg{transform:rotate(7deg) translateY(-5px)}
.garden-fox{position:absolute;width:120px;height:120px;object-fit:contain;left:5%;top:0;z-index:3;animation:fox-breathe 6s ease-in-out infinite}.garden-butterfly{position:absolute;right:30%;top:50px;font-size:36px;animation:butterfly-float 7s ease-in-out infinite;z-index:4}.garden-bird{position:absolute;right:12%;top:59px;font-size:35px;z-index:4}.garden-rainbow{position:absolute;left:40%;top:0;font-size:70px;z-index:1}
.garden-visitors{display:flex;gap:14px;justify-content:center;margin:21px 0}.garden-visitors>span{width:51px;height:51px;border:2px solid #d4dfcd;border-radius:50%;background:#fffdf6;display:grid;place-items:center;font-size:27px}.garden-visitors .waiting{border-style:dashed;color:#8d9e8b;font-size:23px;background:transparent}
.garden-next{display:flex;align-items:center;justify-content:center;gap:14px;background:#fff7da;border-radius:22px;padding:17px;text-align:left;margin-bottom:20px;border:1px solid #e4dab2}.garden-next>span{font-size:33px}.garden-next strong{font-size:19px}.garden-next p{font-size:14px;color:#7b7250;margin-top:4px}
.garden-reward{max-width:610px;margin:auto;text-align:center;background:#fffdf5;border:3px solid white;border-radius:31px;padding:25px 30px;box-shadow:0 6px 0 #d9e7d8}.garden-reward h1{font-size:35px;margin:12px 0 6px}.garden-reward>p{font-size:19px;margin-bottom:19px}.garden-reward .mission-steps{margin-top:0}.garden-reward .garden-board{margin:0 auto 25px;min-height:285px;max-width:440px}.garden-reward .flower-bed{padding-top:90px;margin-bottom:25px}.garden-reward .garden-fox{width:100px;height:100px}.garden-reward .garden-plant{min-height:0}.garden-reward .flower-art{max-height:80px}.reward-next-test{margin:18px auto 0;font-size:16px;display:block;background:#eee5ff;border:2px solid #d7c7ec;border-radius:17px;min-height:52px;padding:10px 15px}.reward-footnote{font-size:13px!important;color:#6c8074;margin-top:15px}
.child-lesson,.result-panel,.playcard{background:#fffdf6}.child-lesson{max-width:710px;margin-left:auto;margin-right:auto}.child-lesson>.mission-steps{max-width:350px;margin:10px auto 20px}.child-lesson>.back{display:block;text-align:left}.child-lesson .mode-badge{letter-spacing:0;font-size:15px;text-transform:none}.lesson-rule{line-height:1.4}
.activity{max-width:750px;margin:auto}.activity .mission-steps{max-width:380px;margin:0 auto 20px}.activity-top{align-items:center}.activity-top>div{font-size:18px;text-align:center}.activity-top .activity-topic{font-size:13px;margin-top:3px;display:block;color:#647876}
.step-pebbles{display:flex;gap:10px;justify-content:center;margin:20px 0 23px}.step-pebbles i,.resume-dots i{display:block;width:17px;height:17px;border:2px solid #cbdacf;border-radius:50%;background:#e8efdf}.step-pebbles i.done,.resume-dots i.done{background:#479c7b;border-color:#479c7b}.step-pebbles i.current{background:#ffe29d;border-color:#cfb575;box-shadow:0 0 0 3px #fffbef}.is-test .step-pebbles i.done{background:#8b71b3;border-color:#8b71b3}.resume-dots{display:flex;gap:10px;margin:19px 0;justify-content:center}
.activity .playcard{border:3px solid #e2eade;box-shadow:0 5px 0 #dbe7d7}.activity.is-test .playcard{border-color:#d6c5ea;box-shadow:0 5px 0 #e1d8ee}.activity .question{color:#223e60}.activity .format-tag{font-size:13px;color:#6c8172}
.selectgrid .counter.flower-counter{width:100%;height:auto;aspect-ratio:1;border:3px solid #d4ddbd;background:#f6f9ec;border-radius:24px;padding:7px;position:relative;min-width:0;min-height:70px}.flower-counter .flower-art{width:75%;height:100%;max-height:88px}.flower-counter.on{background:#e4f3e1!important;border-color:#25877a!important}.flower-counter.on:after{content:'✓';position:absolute;right:3px;bottom:4px;width:23px;height:23px;background:#167e70;color:white;font-size:17px;border-radius:50%;border:2px solid white;line-height:20px}.flower-count>button{position:relative;max-width:80px}.flower-count .flower-art{width:53px;height:64px}.flower-count small{position:absolute;bottom:0;right:2px;font-size:15px;background:white;border-radius:50%;min-width:22px;border:2px solid #a6c5aa}
.fox-hint{display:flex;align-items:center;gap:15px}.fox-hint img{width:80px;height:80px;object-fit:contain}.fox-hint h2{font-size:24px}.hint-copy{line-height:1.5}.sticker.earned{background:#fffdf3;box-shadow:0 4px 0 #dccdad}.sticker.locked{background:#ecf2e8}.parents-head,.parent-child{background:#fffdf8}.parent-key{background:#eaf2f3}
.welcome-gate{background:#fffdf5}.welcome-gate>img{content:url('assets/renard.webp')}
@keyframes fox-breathe{0%,100%{transform:translateY(0) rotate(-1deg)}50%{transform:translateY(-4px) rotate(1deg)}}
@keyframes fox-wave{0%,100%{transform:rotate(0)}35%{transform:rotate(-7deg) translateY(-5px)}65%{transform:rotate(5deg)}}
@keyframes butterfly-float{0%,100%{transform:translate(0,0) rotate(-10deg)}50%{transform:translate(12px,-13px) rotate(9deg)}}
@keyframes firefly{0%,100%{opacity:.25;transform:translate(0,0)}50%{opacity:.9;transform:translate(8px,-12px)}}
@media(max-width:760px){
 .top{padding:10px 15px;min-height:64px;gap:8px}.brand{font-size:16px;gap:6px}.brandmark{font-size:24px}.header-tools{gap:7px}.child-chip{max-width:145px;padding:4px 8px}.child-chip strong{max-width:89px;font-size:16px}.child-chip>span{font-size:22px}.parent-key{min-width:44px;min-height:44px}.main{padding:20px 15px 30px}
 .world-heading{margin:0 2px 16px}.world-heading h1{font-size:27px}.world-heading p{display:none}.world-layout{grid-template-columns:1fr;gap:20px;max-width:480px;margin:auto}.world-scene{border-radius:27px;border-width:4px}.place-sign{gap:4px;padding:6px 7px;min-height:46px;border-radius:13px;border-width:2px}.place-sign strong{font-size:15px}.place-sign b{font-size:22px}.place-sign i{font-size:20px}.fox-guide>span{width:29px;height:29px;font-size:14px}
 .story-card{padding:17px 18px;border-radius:24px}.story-title{gap:11px}.story-title>span{font-size:36px}.story-title h2{font-size:24px}.story-title small{font-size:11px}.mission-subject{font-size:14px;margin:12px 0 5px}.mission-steps{margin:13px 0}.mission-steps span{min-width:35px;height:35px;font-size:20px}.mission-steps b{font-size:11px}.story-start{min-height:56px;font-size:23px;border-radius:17px}.garden-link{margin-top:17px;padding:12px 15px}.garden-link strong{font-size:19px}.garden-link small{font-size:12px}.world-shortcuts{margin-top:16px;gap:9px}.world-shortcuts button{min-height:80px;border-radius:17px;padding:9px 4px}.world-shortcuts span{font-size:26px}.world-shortcuts b{font-size:13px}.world-whisper{margin-top:20px}
 .place-heading{padding:20px 17px;gap:15px;border-radius:23px}.place-heading>span{font-size:40px}.place-heading h1{font-size:25px}.place-heading p{font-size:15px}.discovery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.discovery-card{min-height:173px;gap:12px;padding:23px 11px 18px;border-radius:23px}.discovery-icon{font-size:36px}.discovery-card strong{font-size:18px}.discovery-card small{font-size:11px}.discovery-go{font-size:20px}
 .learning-choices{grid-template-columns:1fr;gap:15px}.learning-choice{display:grid;grid-template-columns:50px minmax(0,1fr) 20px;grid-template-rows:auto auto;padding:19px 18px;min-height:103px;column-gap:15px;row-gap:4px;text-align:left;border-radius:22px}.learning-choice>span{grid-row:1/3;font-size:37px}.learning-choice strong{font-size:24px}.learning-choice small{grid-column:2;font-size:13px}.learning-choice>b{grid-column:3;grid-row:1/3}.topic-title{margin:9px 0 23px}.topic-title h1{font-size:27px}.topic-title>span{font-size:46px}.test-wait{font-size:13px;margin-top:18px}
 .garden-title h1{font-size:26px}.garden-title{gap:9px}.garden-caption{font-size:14px}.garden-board{min-height:340px;border-radius:26px;border-width:4px}.flower-bed{grid-template-columns:repeat(4,minmax(0,1fr));width:87%;padding-top:77px;gap:0;margin-bottom:30px}.garden-plant{min-height:63px}.garden-plant .flower-art{max-width:58px;max-height:73px}.garden-fox{width:90px;height:90px}.garden-butterfly{font-size:27px;top:29px}.garden-bird{font-size:28px;top:44px}.garden-rainbow{font-size:55px}.garden-next{padding:15px;gap:12px}.garden-next strong{font-size:18px}.garden-next p{font-size:13px}.garden-reward{padding:20px 14px;border-radius:27px}.garden-reward h1{font-size:29px}.garden-reward>p{font-size:17px}.garden-reward .garden-board{min-height:285px}.garden-reward .flower-bed{grid-template-columns:repeat(4,minmax(0,1fr));padding-top:70px;margin-bottom:22px}.garden-reward .flower-art{max-height:61px}.garden-reward .garden-fox{width:85px;height:85px}.garden-visitors{gap:12px}.garden-visitors>span{width:45px;height:45px;font-size:25px}
 .activity-top>div{font-size:16px}.activity-top .activity-topic{font-size:11px}.activity-top .btn{min-height:44px;padding:8px 10px}.activity .playcard{border-radius:25px;padding:22px 14px}.activity .question{font-size:26px!important}.activity .mission-steps{margin-top:0;margin-bottom:18px}.step-pebbles{margin:17px 0 19px}.selectgrid{gap:9px}.selectgrid .counter.flower-counter{padding:5px;border-radius:20px}.flower-counter .flower-art{width:85%;max-height:69px}.flower-count>button{max-width:65px}.flower-count .flower-art{width:43px;height:58px}
}
@media(max-width:360px){
 .main{padding:17px 11px 25px}.top{padding:9px 11px}.brand>span:last-child{font-size:13px;max-width:74px;line-height:1.2}.brandmark{font-size:22px}.child-chip{max-width:127px}.child-chip strong{max-width:66px}.world-heading h1{font-size:24px}.round-audio{min-width:44px;min-height:44px}.place-sign{padding:5px 6px;gap:3px}.place-sign strong{font-size:13px}.place-sign b{font-size:19px}.place-world{width:53%;right:0}.place-sign i{font-size:18px}.story-title h2{font-size:22px}.story-title>span{font-size:32px}.story-card{padding:16px 14px}.discovery-card strong{font-size:16px}.discovery-card{min-height:160px}.garden-title h1{font-size:23px}.garden-board{min-height:320px}.garden-reward .flower-art{max-height:56px}.world-shortcuts b{font-size:12px}.learning-choice strong{font-size:22px}.learning-choice{column-gap:11px;padding:17px 14px}.fox-hint img{width:65px;height:65px}.fox-hint h2{font-size:21px}
}
@media(prefers-reduced-motion:reduce){.fox-guide img,.fox-guide.is-talking,.world-butterfly,.garden-fox,.garden-butterfly,.fireflies i{animation:none}.place-pin,.garden-plant svg{transition:none}}
/* Every plant sits in the same soil bed, while the valley ties it to the map. */
.garden-hills{background:linear-gradient(#dff4f677,#edf6d3aa),url('assets/monde.webp') center 68%/cover}
.garden-hills:after{display:none}
.flower-bed{padding:13px 10px;margin:108px auto 28px;background:#a37851ed;border:6px solid #d4b17b;border-radius:32px;box-shadow:0 5px 0 #7c613d55,inset 0 2px 8px #644a3c22}
.garden-plant.seed svg{opacity:.68;transform:scale(.84);transform-origin:bottom}
.garden-plant.bloomed svg{filter:drop-shadow(0 4px 2px #523e3040)}
.garden-reward .flower-bed{padding:9px 8px;margin:86px auto 25px;border-width:5px;border-radius:25px}
@media(max-width:760px){.flower-bed{padding:10px 7px;margin:86px auto 24px;border-width:5px;border-radius:26px}.garden-reward .flower-bed{padding:8px 6px;margin:78px auto 20px}.garden-reward .flower-art{max-height:57px}}
