@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Outfit:wght@400;500;600;700;800&display=swap');
:root{--green:#285743;--ink:#213e33;--muted:#64746c;--line:#dce6dd;--cream:#fafbf5;--pink:#eed2da}*{box-sizing:border-box}body{margin:0;background:var(--cream);color:var(--ink);font-family:'DM Sans',sans-serif;font-size:16px}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}button:focus-visible,a:focus-visible{outline:3px solid #d08337;outline-offset:4px}button:disabled{cursor:default}header{height:98px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 max(5vw,24px);background:#fff}a{color:inherit;text-decoration:none}.brand{font-family:Outfit,sans-serif;font-size:32px;font-weight:700;position:relative;padding-left:52px;line-height:1}.brand small{display:block;font:600 9px 'DM Sans',sans-serif;letter-spacing:2px;margin-top:7px}.brandmark{position:absolute;left:0;top:0;color:#eb9eb5;font-size:49px}nav{display:flex;gap:8px}.nav{border:0;background:none;padding:12px 23px;border-radius:24px;color:var(--muted)}.nav.active{background:#eaf1e9;color:var(--green);font-weight:700}.starTotal{background:#fff3cf;border:1px solid #f1e2b5;padding:10px 19px;border-radius:30px;color:#81641d;font-weight:700}main{max-width:1330px;margin:auto;padding:43px 44px 0}.intro{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px}.eyebrow{font-size:11px;font-weight:700;letter-spacing:1.8px;color:var(--green)}h1,h2,h3{font-family:Outfit,sans-serif}h1{font-size:40px;letter-spacing:-1.3px;margin:8px 0 8px;line-height:1.2}.intro p{color:var(--muted);margin:0}.textButton{border:0;background:none;color:var(--green);font-size:14px}.textButton span{margin-left:10px}.workspace{display:grid;grid-template-columns:1.35fr 1fr;gap:24px}.card{border:1px solid var(--line);border-radius:25px;overflow:hidden}.quiz{background:white;padding:29px 33px;min-height:510px}.quizTop{display:flex;align-items:center;justify-content:space-between;font-size:13px;color:var(--muted);gap:10px}.tag{background:#eff3e9;padding:7px 12px;border-radius:8px;color:var(--green);font-weight:600}.track{height:7px;background:#edf0e9;border-radius:8px;overflow:hidden;margin:18px 0 29px}.track div{height:100%;background:#91b77a;transition:width .6s;border-radius:inherit}#questionArea .eyebrow{color:#7b887f;letter-spacing:1.4px;font-size:11px}#questionArea h2{font-size:29px;line-height:1.35;font-weight:500;margin:12px 0 21px;min-height:76px;letter-spacing:-.5px}.answers{display:grid;gap:10px}.answer{display:flex;align-items:center;text-align:left;background:#fff;border:1.5px solid #dfe5dc;border-radius:12px;padding:13px 16px;color:var(--ink);font-weight:500;transition:background .2s,border-color .2s}.answer:not(:disabled):hover{border-color:#6a9177;background:#f3f7ef}.letter{width:29px;height:29px;display:grid;place-items:center;border-radius:7px;background:#f3f5ef;margin-right:15px;font-size:13px;color:#6e7d70}.answer.correct{background:#edf7e8;border-color:#80a872}.answer.incorrect{background:#fff0ec;border-color:#cf8571}.answer:disabled{color:var(--ink);opacity:1}.quizBottom{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-top:22px;color:var(--muted);font-size:13px}.primary{background:var(--green);color:white;border:0;border-radius:10px;padding:13px 25px;font-weight:600;min-height:46px}.primary:disabled{background:#e9ede6;color:#899286}.feedback{margin-top:17px;padding:13px 16px;background:#eff6e9;border-radius:10px;font-size:14px;line-height:1.6}.feedback.wrong{background:#fff3eb}.feedback strong{display:block}.plant{background:#edf3e8;position:relative;text-align:center;padding:26px 24px 20px}.plantHeading{display:flex;justify-content:space-between;gap:12px;font-size:13px;font-weight:600}.plantHeading .eyebrow{font-size:10px}.plantHeading>span:last-child{color:#786021}.plant h2{font-size:24px;font-weight:500;letter-spacing:-.4px;margin:20px 0 0}.growthArt{width:240px;max-width:100%;height:205px;margin:0 auto;background-image:url('growth.png');background-size:600% 100%;background-repeat:no-repeat;background-position:0% center;mix-blend-mode:multiply;transition:background-position .5s}.stageLabel{font-size:13px;font-weight:700;color:var(--green);background:#fff9;display:inline-block;padding:7px 14px;border-radius:20px}.plant p{font-size:14px;color:#63735e;line-height:1.5;margin:13px auto;max-width:300px}.stages{display:flex;justify-content:center;gap:7px;margin:17px 0 22px}.stages span{height:5px;flex:1;max-width:42px;background:#d4dfcb;border-radius:4px}.stages .grown{background:#789b61}.gardenNote{border-top:1px solid #d8e2d1;text-align:left;display:flex;align-items:center;justify-content:center;gap:14px;padding-top:18px;font-size:12px;line-height:1.7;color:#65775e}.gardenNote>span{font-size:34px;color:#78956b}.gardenNote strong{color:#455b3d;font-size:13px}.sectionHead{display:flex;align-items:end;justify-content:space-between;margin:38px 0 20px}.sectionHead h2{font-size:26px;font-weight:500;letter-spacing:-.6px;margin:6px 0 0}.sectionHead>span{font-size:13px;color:var(--muted)}.topicGrid{display:grid;grid-template-columns:repeat(4,1fr);gap:13px}.topicButton{position:relative;background:white;border:1px solid var(--line);border-radius:15px;padding:19px;text-align:left;color:var(--ink);display:flex;gap:13px;align-items:center}.topicButton:hover{border-color:#7e9b6d}.topicButton.selected{border:1.5px solid #5a7d49;background:#f1f5ea}.topicIcon{font-size:25px;background:#f3f5ed;border-radius:11px;width:43px;height:46px;display:grid;place-items:center;flex-shrink:0}.topicButton strong{display:block;font-size:14px;margin-bottom:4px}.topicButton small{display:block;font-size:12px;color:var(--muted)}.miniStars{font-size:11px;color:#7b7237;margin-top:7px}.gardenBanner{padding:35px;background:#edf3e8;border-radius:20px}.gardenBanner h2{font-size:32px;margin:10px 0}.gardenBanner p{color:var(--muted)}.gardenBanner .track{max-width:600px;margin-bottom:0}.gardenGrid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:23px}.gardenTile{border:1px solid var(--line);border-radius:20px;background:white;text-align:center;padding:20px 15px;color:var(--ink)}.gardenTile .growthArt{height:155px}.gardenTile h3{margin:8px 0;font-size:18px}.gardenTile p{font-size:13px;color:var(--muted)}footer{margin-top:35px;padding:24px 0;display:flex;justify-content:space-between;border-top:1px solid var(--line);color:#7c887c;font-size:11px;gap:15px}footer span span{color:#bb7f97;font-size:18px;margin-left:5px}dialog{border:1px solid var(--line);border-radius:22px;max-width:540px;width:calc(100% - 30px);padding:35px;color:var(--ink);box-shadow:0 25px 100px #172d3440}dialog::backdrop{background:#142b285c}dialog h2{font-size:30px}dialog p,dialog li{line-height:1.65;font-size:15px}.close{float:right;border:0;background:#f1f4eb;border-radius:50%;width:32px;height:32px;font-size:23px}.muted{color:var(--muted)}.complete{text-align:center;padding:28px 0}.complete .celebrate{font-size:50px;color:#c77c98}.complete h2{min-height:0!important}.complete p{color:var(--muted);line-height:1.7}.completionActions{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}.secondary{border:1px solid var(--line);background:white;color:var(--green);border-radius:10px;padding:12px 18px}[hidden]{display:none!important}@media(max-width:950px){main{padding:30px 24px 0}.topicGrid,.gardenGrid{grid-template-columns:repeat(3,1fr)}.workspace{grid-template-columns:1.15fr 1fr;gap:17px}.quiz{padding:24px}.plant{padding:24px 18px}h1{font-size:34px}.plant h2{font-size:22px}}@media(max-width:700px){header{height:85px;padding:0 17px}.brand{font-size:25px;padding-left:35px}.brandmark{font-size:35px}.brand small{font-size:7px;letter-spacing:1px}nav{gap:0}.nav{padding:10px 12px;font-size:13px}.starTotal{padding:8px 11px;font-size:14px}main{padding:25px 17px 0}.intro{display:block;margin-bottom:23px}h1{font-size:31px}.intro p{font-size:14px}.textButton{margin:15px 0 0;padding:0}.workspace{grid-template-columns:1fr}.quiz{min-height:0;padding:23px 21px}.plant{padding:20px}.plant .growthArt{height:180px;width:215px}.plant h2{margin-top:15px}.topicGrid,.gardenGrid{grid-template-columns:repeat(2,minmax(0,1fr))}.topicButton{padding:13px 10px;gap:8px}.topicIcon{width:32px;height:39px;font-size:21px}.topicButton strong{font-size:12px}.topicButton small{font-size:11px}.sectionHead{display:block;margin-top:29px}.sectionHead>span{display:block;margin-top:10px}footer{flex-direction:column;font-size:11px}.gardenTile{padding:16px 7px}.gardenTile .growthArt{height:135px}.gardenBanner{padding:25px}.gardenBanner h2{font-size:27px}#questionArea h2{font-size:25px}}@media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
header{gap:12px}.playerNav{margin-left:auto;font-size:14px;padding:10px 16px}header nav{margin-left:auto}.avatar{background-image:url('characters.png');background-size:200% 400%;background-repeat:no-repeat;display:block;width:100px;height:145px;flex-shrink:0;mix-blend-mode:multiply}.playerBanner{display:flex;gap:20px;align-items:center;border:1px solid var(--line);border-radius:20px;background:#fff;margin:0 0 24px;padding:8px 25px 8px 12px}.playerBanner .avatar{width:65px;height:100px}.playerBanner h2{font-size:25px;margin:5px 0;overflow-wrap:anywhere}.playerBanner p{margin:0;font-size:14px;color:var(--muted)}.playerBanner>button{margin-left:auto;font-size:14px}.gameCompanion{display:flex;align-items:center;gap:10px;text-align:left;border-top:1px solid #d8e2d1;margin-top:12px}.gameCompanion .avatar{width:69px;height:102px}.gameCompanion strong{font-size:14px;overflow-wrap:anywhere}.gameCompanion p{font-size:13px;margin:5px 0}.gameCompanion+.gardenNote{display:none}#playerDialog{max-width:620px;max-height:92dvh;padding:28px 32px;overflow:auto}#playerDialog h2{margin:8px 0;font-size:30px}#playerDialog p{margin:8px 0 17px}#playerDialog label[for]{display:block;font-weight:600;font-size:15px;margin:17px 0 8px}#seedName,#profileSelect{font:inherit;width:100%;padding:13px;border:1.5px solid #ccd9ca;border-radius:10px;color:var(--ink);background:white}#seedName:focus{outline:2px solid #75975f;outline-offset:2px}.inputHint{display:block;margin-top:6px;color:var(--muted);font-size:12px}fieldset{border:0;padding:0;margin:22px 0}legend{font-size:15px;font-weight:600;margin-bottom:10px}.characterChoices{display:grid;grid-template-columns:1fr 1fr;gap:14px}.characterOption{display:flex;flex-direction:column;align-items:center;position:relative;border:1.5px solid var(--line);border-radius:14px;background:#fff;padding:9px 10px 13px;cursor:pointer}.characterOption:has(input:checked){border-color:#436c39;background:#f1f6e9;box-shadow:0 0 0 1px #436c39}.characterOption input{position:absolute;top:12px;left:12px;accent-color:var(--green);width:17px;height:17px}.choiceAvatar{width:120px;height:180px}.characterOption strong{font-size:15px}.characterSpanish{font-size:12px;color:var(--muted);margin-top:4px}.colourChoices{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.colourChoices label{display:flex;align-items:center;flex-direction:column;gap:7px;position:relative;cursor:pointer;border:1.5px solid var(--line);border-radius:10px;padding:10px 3px;font-size:13px}.colourChoices input{position:absolute;opacity:0;width:100%;height:100%;margin:0;inset:0;cursor:pointer}.colourChoices span{width:27px;height:27px;background:var(--swatch);border-radius:50%;border:3px solid white;box-shadow:0 0 0 1px #ddd}.colourChoices label:has(input:checked){border-color:var(--green);background:#f0f5e9;box-shadow:0 0 0 1px var(--green)}.colourChoices label:has(input:focus-visible),.characterOption:has(input:focus-visible){outline:3px solid #d08337;outline-offset:3px}.profileActions{display:flex;flex-wrap:wrap;align-items:center;gap:10px}#profileNote{font-size:13px!important}#savedProfiles{padding-bottom:17px;border-bottom:1px solid var(--line)}@media(max-width:700px){header{flex-wrap:wrap;height:auto;min-height:90px;padding:15px 17px;gap:10px}header nav{order:4;width:100%;justify-content:center;border-top:1px solid var(--line);padding-top:8px}.playerNav{padding:8px 12px;font-size:12px}.playerBanner{gap:10px;padding:8px;flex-wrap:wrap}.playerBanner h2{font-size:22px}.playerBanner>div:nth-child(2){flex:1;min-width:150px}.playerBanner>button{margin:0 0 8px 76px;padding:8px 12px}.playerBanner .eyebrow{font-size:9px}.playerBanner p{font-size:12px}#playerDialog{padding:23px 20px}.choiceAvatar{width:105px;height:160px}.characterOption strong{font-size:13px}}
.avatar{width:112px;height:144px}.choiceAvatar{width:141px;height:180px}.playerBanner .avatar{width:78px;height:100px}.gameCompanion .avatar{width:80px;height:102px}@media(max-width:700px){.choiceAvatar{width:125px;height:160px}}
#growthArt{position:relative;background:none;mix-blend-mode:multiply;width:280px;height:240px;overflow:hidden}.plantFrame{position:absolute;inset:0;background-repeat:no-repeat;background-size:800% 400%;transform:scale(var(--plant-scale,1));transform-origin:50% 84%;transition:none}.oldFrame{animation:fadeAway 1.8s ease forwards}.newFrame{animation:growIn 1.8s ease both}.gardenLandscape{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px 10px;padding:35px 20px;background:linear-gradient(#e4f4d9,#cde8b7);border:1px solid #bad0a4;border-radius:0 0 28px 28px;min-height:600px}.gardenBanner{border-radius:24px 24px 0 0}.gardenPlot{border:0;background:none;display:flex;flex-direction:column;align-items:center;padding:8px;color:var(--ink);border-radius:18px;min-width:0}.gardenPlot:hover{background:#fff6}.gardenPlot strong{font:600 17px Outfit,sans-serif;margin:8px 0 4px}.gardenPlot>span{font-size:13px;color:#516e46}.gardenPlot>small{font-size:12px;margin-top:8px;color:#476a35}.gardenPlant{width:100%;height:185px;background-repeat:no-repeat;mix-blend-mode:multiply}.emptySpace{height:185px;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:13px;width:100%}.emptySpace>span{border:2px dashed #8aad73;border-radius:50%;height:55px;width:55px;display:grid;place-items:center;font-size:20px;color:#6a8e55}.emptySpace small{color:#607a51;font-size:12px;max-width:110px;line-height:1.4}.emptyPlot{opacity:.8}#celebrationDialog{max-width:620px;text-align:center;background:#fffdf5}#celebrationDialog h2{font-size:30px;margin:16px 0 0}.celebrationStage{position:relative;display:flex;justify-content:center;align-items:end;gap:0;overflow:hidden;min-height:270px}.danceSprite{width:220px;height:265px;flex-shrink:0;background-repeat:no-repeat;background-size:600% 400%;background-position:0 var(--dance-row);mix-blend-mode:multiply}.danceSprite.dancing{animation:danceFrames 1.5s steps(1,end) 5}.celebrationPlant{width:190px;height:200px;background-repeat:no-repeat;mix-blend-mode:multiply;animation:plantArrival 1.2s ease both}.partyStars{position:absolute;top:8px;left:20px;color:#c99f37;letter-spacing:14px;font-size:25px;animation:partyTwinkle 1.5s ease 5}#celebrationText{color:var(--muted);line-height:1.6}@keyframes danceFrames{0%,100%{background-position:0 var(--dance-row)}16.666%{background-position:20% var(--dance-row)}33.333%{background-position:40% var(--dance-row)}50%{background-position:60% var(--dance-row)}66.666%{background-position:80% var(--dance-row)}83.333%{background-position:100% var(--dance-row)}}@keyframes fadeAway{from{opacity:1}to{opacity:0}}@keyframes growIn{from{opacity:0;transform:scale(calc(var(--plant-scale,1)*.97))}to{opacity:1;transform:scale(var(--plant-scale,1))}}@keyframes plantArrival{from{opacity:0;transform:translateY(25px) scale(.8)}to{opacity:1;transform:none}}@keyframes partyTwinkle{50%{transform:translateY(-6px) scale(1.08);opacity:.6}}@media(max-width:700px){#growthArt{height:230px;width:265px}.gardenLandscape{grid-template-columns:repeat(3,minmax(0,1fr));gap:13px 2px;padding:20px 6px}.gardenPlant,.emptySpace{height:130px}.gardenPlot{padding:4px}.gardenPlot strong{font-size:14px}.gardenPlot>span{font-size:11px}.emptySpace small{font-size:10px}.danceSprite{width:170px;height:220px}.celebrationPlant{width:120px;height:160px}.celebrationStage{min-height:230px}#celebrationDialog{padding:24px 17px}#celebrationDialog h2{font-size:26px}}@media(prefers-reduced-motion:reduce){.danceSprite.dancing,.partyStars,.celebrationPlant,.plantFrame{animation:none!important}.oldFrame{display:none}.newFrame{opacity:1}}
#growthArt{width:240px;height:240px}.danceSprite{width:180px;height:270px}.gardenPlant{width:min(100%,185px);height:auto;aspect-ratio:1}.gardenPlot{justify-content:end}@media(max-width:700px){#growthArt{width:230px;height:230px}.danceSprite{width:147px;height:220px}.gardenPlant{width:min(100%,130px);height:auto;aspect-ratio:1}}
.gardenPlant{transform:scale(var(--plant-scale,1));transform-origin:50% 84%}
#celebrationDialog{isolation:isolate}#celebrationDialog.grandCelebration{width:100vw;max-width:none;height:100dvh;max-height:none;margin:0;border:0;border-radius:0;padding:clamp(25px,5vh,70px) 20px;overflow:auto;background:radial-gradient(ellipse at 50% 25%,#fff0a5 0%,#fff9e5 40%,#edf5e7 100%)}#celebrationDialog.grandCelebration>.close{position:absolute;right:20px;top:20px;z-index:4}.grandCelebration>.eyebrow{display:none}#floreceShout{font-family:Outfit,sans-serif;font-size:clamp(54px,11vw,120px);font-weight:800;line-height:1.12;letter-spacing:-3px;color:#285743;text-shadow:3px 4px 0 #eeb540;margin:12px auto 10px;animation:florecePop .7s cubic-bezier(.2,1.4,.5,1) both}.grandCelebration .celebrationStage{max-width:620px;margin:0 auto;min-height:285px}.grandCelebration #celebrationText{max-width:550px;margin:14px auto 24px}.grandCelebration #celebrationTitle{font-size:clamp(23px,4vw,32px)}#confetti{pointer-events:none;position:absolute;inset:0;overflow:hidden;z-index:3}#confetti i{position:absolute;left:var(--left);top:-25px;width:var(--size);height:calc(var(--size)*1.8);background:var(--colour);border-radius:2px;opacity:0;animation:confettiFall var(--duration) var(--delay) ease-in forwards}@keyframes confettiFall{0%{opacity:1;transform:translate(0,-10px) rotate(0)}85%{opacity:1}100%{opacity:0;transform:translate(var(--drift),105dvh) rotate(var(--spin))}}@keyframes florecePop{from{opacity:0;transform:scale(.55) rotate(-5deg)}to{opacity:1;transform:scale(1) rotate(0)}}@media(max-width:700px){.grandCelebration .celebrationStage{min-height:230px}.grandCelebration .completionActions{max-width:360px;margin:auto}#floreceShout{letter-spacing:-2px}}@media(prefers-reduced-motion:reduce){#confetti i{animation:none!important;opacity:.7;top:calc(var(--left)*.8);transform:rotate(var(--spin))}#floreceShout{animation:none!important}}
/* Soft pink surroundings keep the learning cards crisp and easy to read. */
body{background:radial-gradient(ellipse at 5% 8%,#f8d5e3 0,transparent 48%),radial-gradient(ellipse at 95% 65%,#f6d1df 0,transparent 52%),linear-gradient(155deg,#fff4f8 0%,#fbe8ef 55%,#fff7fa 100%);background-attachment:fixed}header{background:#fffafb;border-bottom-color:#edcdd9}.card{border-color:#e3cbd4;box-shadow:0 9px 28px #9a4a6810}.quiz{background:#fffefe;position:relative}.plant{background:linear-gradient(150deg,#f5f8ee,#e8f1de);position:relative}.quiz::before,.plant::before{content:"";position:absolute;width:84px;height:84px;right:-4px;top:-7px;background-image:url('plants-2.png');background-size:800% 400%;background-position:100% 100%;background-repeat:no-repeat;mix-blend-mode:multiply;opacity:.18;pointer-events:none}.quiz>*,.plant>*{position:relative}.playerBanner{background:#fffafc;border-color:#e9cbd7;box-shadow:0 6px 20px #9a4a6809}.topicButton{border-color:#e8ccd7;background:#fffdfd;box-shadow:0 3px 12px #9a4a6808}.topicButton:hover{border-color:#b97793;background:#fff8fb}.topicButton.selected{background:#f2f6eb;border-color:#759564}.topicIcon{background:#faedf2}.gardenBanner{background:linear-gradient(120deg,#fff7fb,#f9e0eb);border:1px solid #e8c8d6;border-bottom:0}.intro .textButton{background:#ffffff80;padding:10px 14px;border-radius:20px}footer{border-color:#e9c7d5}dialog#playerDialog{background:linear-gradient(145deg,#fffdfd,#fff2f7);border-color:#e9c6d5}@media(max-width:700px){.quiz::before,.plant::before{width:67px;height:67px}.intro .textButton{margin-top:13px}}
/* Individual plant colours, with an unmistakable selected state. */
.topicButton[data-topic="0"]{--tile:#fce2e4;--tile-border:#dfa0a8}
.topicButton[data-topic="1"]{--tile:#eef2d5;--tile-border:#bbc77f}
.topicButton[data-topic="2"]{--tile:#ece0f7;--tile-border:#bd9bd9}
.topicButton[data-topic="3"]{--tile:#fbe4da;--tile-border:#e4aa94}
.topicButton[data-topic="4"]{--tile:#ffecd4;--tile-border:#e8bd80}
.topicButton[data-topic="5"]{--tile:#fae0c9;--tile-border:#dca16f}
.topicButton[data-topic="6"]{--tile:#f8dfe9;--tile-border:#d99bb8}
.topicButton[data-topic="7"]{--tile:#f4dce5;--tile-border:#cc8ea5}
.topicButton[data-topic="8"]{--tile:#fff1bf;--tile-border:#d9be62}
.topicButton[data-topic="9"]{--tile:#f3e0f1;--tile-border:#ce9bc8}
.topicButton[data-topic="10"]{--tile:#e0f1f3;--tile-border:#95c3ca}
.topicButton[data-topic="11"]{--tile:#e5e2f8;--tile-border:#aaa0d4}
.topicGrid .topicButton{background:linear-gradient(125deg,#ffffffb8,var(--tile));border:1.5px solid var(--tile-border);box-shadow:0 4px 12px #71475a09;transition:box-shadow .18s,border-color .18s}.topicGrid .topicButton .topicIcon{background:#ffffff90}.topicGrid .topicButton:hover{background:linear-gradient(125deg,#ffffff80,var(--tile));box-shadow:0 5px 14px #71475a16}.topicGrid .topicButton.selected{background:linear-gradient(125deg,#ffffff80,var(--tile));border-color:var(--green);box-shadow:0 0 0 2px var(--green),0 5px 14px #28574312}.topicGrid .topicButton:focus-visible{outline:3px solid #285743;outline-offset:4px}
/* School-year selection carries the garden's soft colours into onboarding. */
#yearStep{padding:8px 0 16px}#yearStep h3{font-size:1.4rem;margin:10px 0}#yearStep select{width:100%;font:inherit;padding:14px;border:1px solid #bfa7b4;border-radius:12px;background:white;margin:8px 0 18px}.challengeChoice{display:flex!important;align-items:center;gap:12px;background:#eee5fa;border:1px solid #c4abd9;border-radius:12px;padding:14px}.challengeChoice input{width:22px!important;height:22px;margin:0}#levelPreview{min-height:3.5em;line-height:1.6}.levelBadge{padding:10px 14px;border-radius:12px;background:#e7efd9;font-weight:600}.questionHint{color:#52665c;margin-top:-8px}#soundToggle{white-space:nowrap}header{flex-wrap:wrap}#playerDialog [hidden]{display:none!important}
/* The village market and the learning journal. */
main>section[hidden]{display:none}header nav{gap:4px;flex-wrap:wrap}.streakBar{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:16px 0 0}.streakBar small{color:#617369;font-size:.85rem}#streakCount{display:inline-flex;align-items:center;padding:9px 14px;border-radius:20px;background:#eef0fb;font-weight:800;white-space:nowrap;transition:background .3s,box-shadow .3s}#streakCount.onFire{color:#842b08;background:#fff0c2;box-shadow:0 0 16px #fb87265c;animation:flamePulse 1.2s ease-in-out infinite alternate}#streakCount.blazing{background:#ffd293;box-shadow:0 0 26px #f55b3977}#streakNotice{font-weight:700;color:#994021;min-height:1.4em;font-size:.95rem;margin:8px 0 10px}#streakCount.streakPop{animation:rewardPop .6s ease-out,flamePulse 1.2s .6s ease-in-out infinite alternate}@keyframes flamePulse{to{box-shadow:0 0 24px #fb872695;transform:translateY(-2px)}}@keyframes rewardPop{50%{transform:scale(1.16)}}.equippedTool{display:block;font-size:3rem;text-align:center;margin:0 auto 10px;min-height:0}.equippedTool:empty{display:none}.marketHero{min-height:340px;border-radius:26px;overflow:hidden;background:linear-gradient(90deg,#fff7f1ed 0%,#fff7f1b8 42%,#fff7f110 70%),url('garden-market.png') center/cover;display:flex;align-items:center;padding:40px;border:1px solid #e8bab5}.marketHero>div{max-width:530px}.marketHero h2{font-size:clamp(2rem,4vw,3.3rem);line-height:1.1;margin:12px 0}.marketHero p{font-size:1.05rem;max-width:390px}.coinPurse{display:inline-block;padding:12px 20px;border-radius:22px;background:#ffdf8d;color:#663f04;border:1px solid #d9b259;margin-top:8px;font-size:1.1rem}.marketMessage{min-height:26px;font-weight:700;color:#285743}.marketStall{margin:24px 0 36px;background:#fffdf8;border:1px solid #dfc4ae;border-radius:24px;overflow:hidden;box-shadow:0 8px 26px #673f4710}.stallHeading{padding:26px;background:#f7d6cd;border-bottom:1px solid #dfb8a8}.harvestStall .stallHeading{background:#e2edcc}.outfitStall .stallHeading{background:#e8ddf4}.stallHeading>span{font-size:.8rem;font-weight:800;letter-spacing:2px}.stallHeading h3{font-size:1.7rem;margin:8px 0}.stallHeading p{margin:0;max-width:700px;line-height:1.5}.harvestGrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;padding:24px}.harvestItem{display:flex;flex-direction:column;align-items:center;text-align:center;padding:10px;background:#f8f6ee;border-radius:18px;gap:8px;min-width:0}.marketPlant{width:130px;max-width:100%;height:130px;background-repeat:no-repeat;mix-blend-mode:multiply}.harvestItem small{font-size:.85rem}.harvestItem button{font-size:.85rem;width:100%;padding:10px 6px;margin-top:auto}.shopGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));padding:24px;gap:20px}.shopItem{border:1px solid #ebd8d9;border-radius:18px;padding:18px;text-align:center;display:flex;flex-direction:column;align-items:center;background:linear-gradient(145deg,#fff,#fcf1f4)}.shopItem h4{font-size:1.08rem;margin:12px 0 8px}.shopItem p{font-size:.9rem;line-height:1.5;margin:0 0 16px;color:#5c7066}.shopItem button{margin-top:auto}.shopItem small{font-size:.85rem;margin-top:8px;color:#725f68}.shopAvatar{width:130px;height:145px;flex-shrink:0}.treasureIcon{font-size:4rem;min-height:100px;display:grid;place-items:center}.marketStall button:disabled{opacity:.6;cursor:default}.learningMetrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.statTile{padding:24px 16px;border:1px solid #dfc3d1;border-radius:20px;background:#fff7fb;text-align:center}.statTile:nth-child(2){background:#f0ecfc}.statTile:nth-child(3){background:#fff0ca}.statTile:nth-child(4){background:#e9f2de}.statTile strong{display:block;font-size:2.3rem}.statTile span{font-size:.95rem}.chartCard{padding:26px;margin:24px 0}.chartCard h3{margin-top:0}.chartCard svg{width:100%;max-height:360px}.chartEmpty{padding:60px 20px;text-align:center;color:#62786b;line-height:1.8}.chartCard details{margin-top:20px}.chartCard summary{cursor:pointer;font-weight:600}.chartCard table{border-collapse:collapse;width:100%;margin-top:16px}.chartCard th,.chartCard td{text-align:left;padding:10px 6px;border-bottom:1px solid #eadce2;font-size:.9rem}.topicResults{display:grid;grid-template-columns:1fr 1fr;gap:14px}.topicResult{display:flex;gap:14px;align-items:center;padding:18px;border:1px solid #decbd5;border-radius:16px;background:#fffafc}.topicResult>div{flex:1}.topicResult>span:first-child{font-size:1.7rem}.topicResult>span:last-child{white-space:nowrap;font-size:.9rem}.topicResult small{display:block;margin:6px 0 10px;font-size:.85rem}.topicResult .track{height:7px}.characterChoices{grid-template-columns:repeat(2,minmax(0,1fr))}.characterOption:has(input:disabled){opacity:.55}.characterOption strong{font-size:.95rem}.characterSpanish{font-size:.8rem}.danceSprite.newCharacterDance.dancing{animation:newFriendDance .7s ease-in-out infinite alternate!important}@keyframes newFriendDance{0%{transform:translateY(0) rotate(-8deg)}50%{transform:translateY(-14px) rotate(0deg)}100%{transform:translateY(0) rotate(8deg)}}
@media(max-width:700px){header{justify-content:space-between;gap:8px}header nav{order:5;width:100%;justify-content:center}.nav{font-size:.9rem;padding:8px 10px}.marketHero{min-height:310px;padding:24px;background-image:linear-gradient(90deg,#fff7f1f2,#fff7f1a8),url('garden-market.png')}.harvestGrid{grid-template-columns:repeat(2,minmax(0,1fr));padding:14px;gap:10px}.shopGrid{grid-template-columns:repeat(2,minmax(0,1fr));padding:14px;gap:10px}.shopItem{padding:14px 8px}.shopItem button{font-size:.85rem;padding:10px}.shopAvatar{width:105px;height:120px}.learningMetrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.statTile{padding:18px 10px}.topicResults{grid-template-columns:1fr}.streakBar{flex-wrap:wrap}.stallHeading{padding:20px}.chartCard{padding:16px}.chartCard th,.chartCard td{font-size:.8rem;padding:8px 3px}}
@media(prefers-reduced-motion:reduce){#streakCount.onFire,#streakCount.streakPop,.danceSprite.newCharacterDance.dancing{animation:none!important}}
/* Wearable market and fitting room. */
.boutique{display:grid;grid-template-columns:260px 1fr;gap:24px;margin-top:24px;align-items:start}.dressingRoom{position:sticky;top:20px;border:1px solid #e4bfd1;border-radius:24px;background:linear-gradient(160deg,#fffafa,#f6dfeb);padding:24px 16px;text-align:center;display:flex;align-items:center;flex-direction:column}.dressingRoom .coinPurse{font-size:1rem}.dressingRoom p{font-size:.9rem;line-height:1.5}.fittingAvatar{width:210px!important;height:270px!important;margin:18px auto 0;flex:none}.boutiqueStock{min-width:0}.shopTabs{display:flex;flex-wrap:wrap;gap:8px}.shopTab{font:inherit;border:1px solid #d4b4c5;background:#fff9fc;border-radius:20px;padding:10px 14px;color:#354f42;cursor:pointer;font-size:.9rem}.shopTab.chosen{background:#713858;color:#fff;border-color:#713858}.stockHeading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:20px}.stockHeading h3{font-size:1.6rem;margin:12px 0}.stockHeading label{font-size:.9rem;display:flex;align-items:center;gap:6px}.boutiqueStock .shopGrid{padding:8px 0;grid-template-columns:repeat(3,minmax(0,1fr))}.shopItem.isEquipped{border:2px solid #6b8b48;background:#f5f8eb}.itemArt{display:block;width:130px;height:130px;max-width:100%;background-repeat:no-repeat;flex-shrink:0}.shopItem .textButton{margin-top:0;margin-bottom:8px}.shopItem h4{min-height:2.5em}.shopItem p{min-height:3em}.emptyWardrobe{grid-column:1/-1;padding:24px;background:#fff;border-radius:16px}.harvestHelp{padding:12px 24px}.marketStall summary{cursor:pointer;font-weight:700}.dressedAvatar{position:relative;overflow:visible!important;isolation:isolate;background:none!important}.dressBase{position:absolute;inset:0;background-image:url('dress-avatars.png');background-size:600% 100%;background-repeat:no-repeat}.wearLayer{position:absolute;max-width:none;z-index:2;pointer-events:none}.wear-hat{width:64%;height:29%;left:18%;top:0}.wear-jewellery{width:28%;height:12%;left:36%;top:43%;z-index:4}.wear-dress{width:62%;height:42%;left:19%;top:44%}.wear-bottoms{width:47%;height:29%;left:26.5%;top:63%}.wear-denim-shorts,.wear-green-shorts{height:20%;top:62%}.wear-makeup{width:37%;height:10%;left:31.5%;top:29%;z-index:5}.wear-shoes{width:48%;height:15%;left:26%;top:83%;z-index:4}.wear-accessory{width:28%;height:25%;left:64%;top:53%;z-index:6}.wear-sunglasses{width:44%;height:13%;left:28%;top:23%}.wear-backpack{width:33%;height:29%;left:64%;top:45%;z-index:-1}.petFigure{display:inline-block;position:relative;width:120px;height:130px}.petFigure .itemArt{position:absolute;max-width:none}.petBase{inset:0;width:100%;height:100%}.petClothes{width:60%;height:27%;left:20%;top:44%}.pet-jumper{height:42%;top:44%}.pet-bow{height:20%;top:45%}.gamePet{text-align:center}.fittingPet .petFigure{width:95px;height:105px}.fittingPet:empty{display:none}.gamePet:empty{display:none}.avatar.dressedAvatar .wearLayer{border-radius:0}.dressingRoom .fittingAvatar{background-repeat:no-repeat}.boutique button:disabled{opacity:.55;cursor:default}.fittingPet{margin-top:-8px}.dressedAvatar.newCharacterDance{background:none!important}
@media(max-width:900px){.boutique{grid-template-columns:220px 1fr;gap:16px}.boutiqueStock .shopGrid{grid-template-columns:repeat(2,minmax(0,1fr))}.fittingAvatar{width:180px!important;height:230px!important}}@media(max-width:600px){.boutique{grid-template-columns:1fr}.dressingRoom{position:relative;top:auto;padding:16px;display:grid;grid-template-columns:1fr 1fr;gap:0 10px}.dressingRoom>.eyebrow{grid-column:1/-1}.fittingAvatar{grid-column:1;grid-row:2/6;width:155px!important;height:205px!important;margin:8px auto}.dressingRoom .fittingPet{grid-column:2;grid-row:2}.dressingRoom p,.dressingRoom button,.dressingRoom .coinPurse{grid-column:2;font-size:.85rem}.dressingRoom .muted{grid-column:1/-1}.stockHeading{align-items:flex-start}.shopTabs{gap:6px}.shopTab{padding:9px 11px;font-size:.85rem}.shopItem>.itemArt{width:110px;height:110px}}

.petClothes{top:30%;height:35%}.pet-jumper{top:40%;height:43%}.pet-bow{top:34%;height:25%}
/* One proportional coordinate system for bodies, clothing and pets. */
.avatarScene{display:block;width:100%;height:100%;overflow:visible}.dressedAvatar{overflow:visible!important;background:none!important;filter:none!important}.dressedAvatar>svg{position:static;width:100%;height:100%}.itemArt{display:flex;align-items:center;justify-content:center;overflow:hidden;background:none!important;aspect-ratio:1}.itemArt>svg{width:100%;height:100%;display:block}.fittingAvatar{width:100%!important;height:auto!important;aspect-ratio:600/810;max-width:300px;margin:10px auto!important}.dressingRoom{min-width:0}.petPortrait{width:100%;height:100%}.gameCompanion .dressedAvatar{width:115px;height:155px;flex-shrink:0}.playerBanner .dressedAvatar{width:110px;height:145px;flex-shrink:0}.danceSprite.dressedAvatar{width:280px;height:378px}.dressingRoom #fittingCaption{min-height:3em;margin:8px 0}.dressingRoom .coinPurse{margin:10px 0}.dressingRoom .muted{margin-bottom:0}.shopItem>.itemArt{width:140px;height:140px}.shopItem h4{margin-top:14px}.gamePet[hidden]{display:none!important}
@media(max-width:600px){.dressingRoom{display:flex;gap:0;padding:16px}.fittingAvatar{max-width:240px}.dressingRoom #fittingCaption{min-height:0;max-width:270px}.dressingRoom .coinPurse{margin-top:8px}.dressingRoom>.eyebrow{margin-bottom:0}.shopItem>.itemArt{width:120px;height:120px}.gameCompanion .dressedAvatar{width:100px;height:135px}.playerBanner .dressedAvatar{width:85px;height:115px}}
