@import url('https://fonts.googleapis.com/css2?family=Nunito:wght@400;600;700;800;900&display=swap');:root{font-family:Nunito,system-ui,sans-serif;color:#234735;background:#f6fbef}*{box-sizing:border-box}body{margin:0}button,input{font:inherit}button,a{touch-action:manipulation}button{cursor:pointer}a{color:#286448}button:focus-visible,a:focus-visible,input:focus-visible{outline:4px solid #e69c38;outline-offset:4px}.skip{position:absolute;top:-100px;background:white;padding:10px;z-index:10}.skip:focus{top:5px}header{padding:12px max(24px,calc((100vw - 1120px)/2));display:flex;justify-content:space-between;align-items:center;gap:16px;background:#fff;box-shadow:0 2px 15px #24452a15}header img{height:60px;width:auto;max-width:160px;object-fit:contain}.preview{background:#e9f5d9;padding:8px 12px;border-radius:99px;font-size:.8rem;font-weight:800}.back{font-weight:800;text-decoration:none}main{max-width:1140px;margin:auto;padding:24px}.welcome{border-radius:30px;min-height:295px;padding:clamp(24px,5vw,55px);display:flex;align-items:center;justify-content:space-between;background:linear-gradient(90deg,#e0f3d5ee,#e4f4e8cc),url('../assets/wallpapers/wallpaper-10.webp') center/cover;overflow:hidden;gap:25px}.welcome>div{max-width:720px}.welcome img{width:220px;height:245px;object-fit:contain;object-position:bottom;align-self:flex-end;filter:drop-shadow(0 7px 10px #23473540)}.eyebrow{font-size:.82rem;font-weight:900;letter-spacing:.12em;color:#3d8553}h1{font-size:clamp(2.2rem,5vw,4rem);line-height:1.08;margin:10px 0 15px;font-weight:900}h1 em{color:#31885a}p{line-height:1.55}.notice{font-size:.9rem;color:#526a55}.games{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px;margin:25px 0}.game-card{min-height:192px;border:2px solid #d9e9d3;background:#fff;border-radius:24px;padding:17px;text-align:left;display:flex;flex-direction:column;gap:9px;transition:transform .14s,box-shadow .14s}.game-card:hover{transform:translateY(-3px);box-shadow:0 9px 23px #1a4d2720}.game-card .emoji{font-size:2rem}.game-card strong{font-weight:900;font-size:1.12rem}.game-card small{font-size:.84rem;color:#58715d}.stage{background:white;border:2px solid #d8e9cf;border-radius:30px;padding:clamp(16px,3vw,32px);margin:24px 0 50px;box-shadow:0 15px 32px #315d2a12}.stage[hidden]{display:none}.stage-head{display:flex;justify-content:space-between;align-items:center;gap:12px;border-bottom:2px solid #e6f0e3;padding-bottom:20px;flex-wrap:wrap}.stage-head h2{margin:0;font-size:1.7rem}.stage-head p{margin:2px 0;color:#567361}.game{min-height:280px;margin-top:22px}.status{font-weight:800;color:#3b7950;min-height:30px}.back-button,.secondary,.action{border:0;padding:12px 17px;border-radius:15px;background:#e3f3df;color:#21533a;font-weight:900}.action{background:#26754c;color:white}.secondary:hover,.back-button:hover{background:#d0e8cb}.action:hover{background:#155f3c}.options{display:flex;flex-wrap:wrap;justify-content:center;gap:13px;margin:22px 0}.choice{background:#f5faee;border:3px solid #cfe4c5;min-width:105px;min-height:100px;border-radius:21px;padding:17px;font-size:2rem;color:#285438}.choice:hover{background:#e1f5ce}.choice small{display:block;font-size:.9rem;font-weight:900}.big-question{text-align:center;font-size:clamp(1.5rem,4vw,2.5rem);font-weight:900}.big-pictures{text-align:center;font-size:clamp(2.2rem,6vw,4.8rem);letter-spacing:10px;line-height:1.7;overflow-wrap:anywhere}.story-scene{max-width:850px;margin:auto;background:#f4f7f0;border-radius:24px;overflow:hidden}.story-scene img{width:100%;height:260px;object-fit:cover;display:block}.story-content{padding:20px}.story-content p{font-size:1.25rem;line-height:1.7}.controls{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;margin-top:16px}.book-picker{margin:16px 0;display:flex;gap:12px;flex-wrap:wrap}.book-picker button{padding:12px 16px;border-radius:15px;border:2px solid #bfdcb7;background:#f2f8ed;font-weight:800}.book-picker button[aria-pressed=true]{background:#2d784f;color:white}.pond-image{width:min(520px,100%);border-radius:23px;display:block;margin:10px auto;max-height:210px;object-fit:cover}.palette{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin:10px 0}.swatch{width:44px;height:44px;border-radius:50%;border:3px solid #fff;box-shadow:0 0 0 2px #9caf97}.swatch[aria-pressed=true]{box-shadow:0 0 0 4px #286448}.draw-canvas{touch-action:none;width:100%;height:390px;background:#fff;border:3px solid #d3e4ca;border-radius:20px;display:block}.draw-bg{background:linear-gradient(#e1f6ff,#f8ffec)}.mood-buttons button{font-size:1.1rem}.breath-circle{width:180px;height:180px;border-radius:50%;background:#aadfcd;margin:36px auto;display:grid;place-items:center;font-size:1.35rem;font-weight:900;transition:transform 4s ease-in-out}.breath-circle.breathe{animation:breathe 8s ease-in-out infinite alternate}@keyframes breathe{from{transform:scale(.75)}to{transform:scale(1.2)}}.checklist{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px}.task{padding:20px;background:#f4f8ee;border-radius:18px;display:flex;align-items:center;gap:12px;font-weight:800}.task input{width:25px;height:25px;accent-color:#287748}.nature-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(125px,1fr));gap:12px}.nature-grid button{border:2px solid #cbe1c3;border-radius:20px;padding:14px;background:#f5fbf0;font-size:2rem}.nature-grid button.found{background:#daeed9;border-color:#4e9e67}.nature-grid small{display:block;font-size:.9rem}.gentle{background:#eaf7e4;border-radius:20px;padding:22px;text-align:center;font-weight:800}.letters{font-size:clamp(2rem,6vw,4rem);text-align:center;letter-spacing:10px}.quiet{background:linear-gradient(#dff4f3,#f3f5dd);padding:45px 15px;border-radius:28px;text-align:center}.quiet .flower{font-size:6rem}.quiet p{font-size:1.25rem}.device-tabs{display:flex;gap:10px;flex-wrap:wrap;margin:15px 0}.device-tabs button{border:2px solid #bbd8be;border-radius:16px;padding:10px 16px;background:#edf7e8;font-weight:800}.device-tabs button[aria-pressed=true]{background:#2c7a53;color:white}.device-frame{border:12px solid #2c4a3f;border-radius:25px;padding:15px;max-width:680px;margin:0 auto;background:#fff}.device-frame.phone{max-width:330px;border-radius:35px;min-height:420px}.device-frame img{width:100%;border-radius:14px}.device-frame .mini-tiles{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;padding:10px}.mini-tiles span{background:#e5f4dc;padding:12px;border-radius:15px;text-align:center;font-size:.9rem;font-weight:800}footer{padding:26px;background:#e4f2e0;display:flex;justify-content:center;gap:20px;flex-wrap:wrap;font-size:.9rem}@media(max-width:850px){.games{grid-template-columns:repeat(2,1fr)}.welcome img{width:150px;height:190px}.preview{display:none}}@media(max-width:490px){header{padding:10px 15px}.back{font-size:.8rem}header img{height:48px}.games{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.game-card{min-height:175px;padding:12px}.welcome{padding:20px}.welcome img{width:85px;height:120px}.choice{min-width:85px;min-height:85px}.stage-head{align-items:flex-start}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}
/* Version 10: discovery tools and accessible play controls */
.activity-tools{display:flex;justify-content:space-between;align-items:end;gap:14px;flex-wrap:wrap;margin:22px 0 12px;background:#e7f4e4;border:1px solid #cde3c8;border-radius:22px;padding:17px 20px}.find-game{flex:1;min-width:230px}.find-game label{display:block;font-weight:900;margin-bottom:7px}.find-game input{width:100%;padding:13px 15px;border:2px solid #a6ceae;border-radius:14px;background:white;color:#234735;font-size:1rem}.tool-actions{display:flex;gap:8px;flex-wrap:wrap}.tool-actions button,.category-filters button{border:2px solid #a8d0b0;border-radius:999px;background:white;color:#24583c;padding:11px 16px;font-weight:900;min-height:46px}.tool-actions button[aria-pressed=true],.category-filters button[aria-pressed=true]{background:#28754d;color:white;border-color:#28754d}.category-filters{display:flex;flex-wrap:wrap;gap:9px}.results-note{font-size:.9rem;color:#526d57;margin:14px 0 0}.no-results{background:#fff1cc;border-radius:16px;padding:16px;font-weight:800}.games .game-card[hidden]{display:none}.play-progress{display:flex;align-items:center;gap:8px;background:#fff7db;border:2px solid #eddba0;padding:13px 18px;border-radius:20px;font-weight:800;margin:17px 0}.progress-tip{font-weight:600;margin-left:auto;font-size:.87rem;color:#675d42}.large-type .game-card strong{font-size:1.38rem}.large-type .game-card small,.large-type .notice,.large-type .status,.large-type .story-content p{font-size:1.32rem}.large-type .game p,.large-type .game button{font-size:1.24rem}.large-type .choice{font-size:2.4rem}.large-type .results-note{font-size:1.15rem}
@media(max-width:650px){.activity-tools{padding:14px}.tool-actions{width:100%}.tool-actions button{flex:1}.progress-tip{display:none}.category-filters{gap:6px}.category-filters button{padding:9px 12px;min-height:44px;font-size:.9rem}}
/* Version 11: accessible interactive activity upgrades */
.v11-story-top,.v11-speech,.v11-puzzle-controls,.v11-art-toolbar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;background:#edf8e9;border:1px solid #d2e9cc;border-radius:18px;padding:14px;margin:12px 0}
.v11-story-top label,.v11-speech label,.v11-puzzle-controls label{font-size:.94rem;font-weight:900}
.v11-story-top select,.v11-speech select,.v11-puzzle-controls select,.v11-tool-group select{border:2px solid #a5cda9;border-radius:13px;background:white;color:#244735;padding:12px;max-width:100%;font:inherit;min-height:46px}
.v11-story-top select{flex:1;min-width:220px}
.v11-story-scene{border:2px solid #d8e8d0;border-radius:25px;overflow:hidden;box-shadow:0 8px 18px #27452410;background:#fffbef}
.v11-scene-art{position:relative;height:clamp(220px,39vw,420px);overflow:hidden}
.v11-scene-art>img:first-child{width:100%;height:100%;object-fit:cover;display:block}
.v11-scene-art .v11-story-character{position:absolute;bottom:0;right:6%;height:55%;max-width:28%;object-fit:contain;object-position:bottom;filter:drop-shadow(0 5px 7px #214b3040)}
.v11-story-paper{padding:clamp(20px,4vw,40px);max-width:900px;margin:auto}
.v11-story-paper h3{font-size:clamp(1.3rem,3vw,2rem);margin:0 0 8px;color:#285438}
.v11-progress{display:inline-block;border-radius:50px;padding:6px 12px;background:#e4f4dd;font-weight:900;font-size:.9rem}
.v11-story-text{font-size:clamp(1.3rem,2.8vw,1.8rem);line-height:1.75;letter-spacing:.01em;max-width:62ch;transition:background .2s}
.v11-story-text.is-reading{background:#fff1bc;border-radius:12px}
.v11-story-nav,.v11-art-actions{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;margin:15px 0}
.v11-story-nav button,.v11-art-actions button,.v11-speech button{min-height:48px}
.v11-story-nav button:disabled,.v11-art-actions button:disabled{opacity:.4;cursor:not-allowed}
.v11-hint{font-size:.94rem;font-weight:700;color:#506b56}
.v11-puzzle-layout{display:grid;grid-template-columns:minmax(190px,.8fr) minmax(250px,1.2fr);gap:24px;align-items:start}
.v11-puzzle-reference{background:#eef7e7;border:2px solid #d1e5c8;border-radius:24px;padding:16px}
.v11-puzzle-reference h3{text-align:center;margin:0 0 12px;font-size:1.2rem}
.v11-puzzle-reference img{display:block;width:100%;aspect-ratio:16/10;object-fit:cover;border-radius:14px}
.v11-puzzle-board{display:grid;aspect-ratio:16/10;gap:3px;border:7px solid #377750;border-radius:20px;overflow:hidden;background:#377750;touch-action:manipulation}
.v11-piece{border:0;border-radius:2px;background-repeat:no-repeat;background-color:#c7e9c5;cursor:pointer;min-width:0;min-height:0;transition:filter .12s}
.v11-piece:hover{filter:brightness(1.15)}.v11-piece[aria-pressed=true]{outline:5px solid #ffcb55;outline-offset:-5px;filter:brightness(1.12)}
.v11-art-toolbar{align-items:flex-start;gap:14px}
.v11-tool-group{display:flex;flex-direction:column;gap:8px;padding:6px;max-width:100%}.v11-tool-group>strong{font-size:.9rem}
.v11-tool-row{display:flex;gap:7px;flex-wrap:wrap;align-items:center}.v11-tool-row button{border:2px solid #c1dac0;border-radius:12px;padding:9px;min-height:45px;background:white;color:#255438;font-weight:800}
.v11-tool-row button[aria-pressed=true]{border-color:#267b4b;background:#d9efce}
.v11-tool-row .v11-colour{width:37px;min-height:37px;height:37px;border:3px solid #fff;border-radius:50%;box-shadow:0 0 0 2px #9ac69d;padding:0}
.v11-tool-row .v11-colour[aria-pressed=true]{box-shadow:0 0 0 4px #267b4b}
.v11-art-workspace{background:#dae6d2;border:2px solid #b8d7bb;border-radius:24px;padding:clamp(6px,2vw,16px);margin-top:15px}
.v11-art-canvas{display:block;width:100%;aspect-ratio:12/7;border-radius:15px;background:white;touch-action:none;cursor:crosshair;box-shadow:0 4px 15px #20452a19}
.large-type .v11-story-text{font-size:clamp(1.65rem,3.5vw,2.3rem)}
@media(max-width:700px){.v11-puzzle-layout{grid-template-columns:1fr}.v11-puzzle-reference{max-width:430px;margin:auto}.v11-story-nav button{flex:1}.v11-scene-art .v11-story-character{height:48%}.v11-speech>*{flex-grow:1}}

.eden-select-wrap{margin:24px 0;padding:16px;border:2px solid #d9e9d3;border-radius:24px;background:#fffbed;text-align:center}
.eden-select-wrap h2{font-size:clamp(1.2rem,2.6vw,1.7rem)}.eden-select-wrap p{margin:6px 0}
.eden-character-options{display:grid;grid-template-columns:repeat(10,minmax(0,1fr));gap:7px;padding:12px 0}
.eden-character-choice{min-width:0;min-height:92px;display:grid;justify-items:center;gap:3px;padding:5px;border:2px solid transparent;border-radius:12px;background:#fff}
.eden-character-choice img{width:100%;max-width:105px;aspect-ratio:1/1.2;object-fit:contain}
.eden-character-choice span{font-size:.75rem;font-weight:900}
.eden-character-choice[aria-pressed="true"]{border-color:#2d8759;background:#e1f2d8}
@media(max-width:900px){.eden-character-options{grid-template-columns:repeat(5,minmax(0,1fr))}}
@media(max-width:530px){.eden-character-options{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}}

/* V40: approved character illustrations on every game tile. */
.game-card .eden-game-card-character{width:100%;max-height:104px;min-height:64px;object-fit:contain;object-position:center;display:block;margin:0 auto 5px}
.game-card{min-height:220px}
@media(max-width:520px){.game-card .eden-game-card-character{max-height:78px}.game-card{min-height:185px}}
