@font-face{font-family:Nunito;src:url(./assets/Nunito.ttf) format("truetype");font-weight:200 900;font-display:swap}
:root{--ink:#243f3a;--muted:#64746b;--green:#27635b;--green-dark:#1d4e46;--mint:#e8f2e6;--paper:#faf9f4;--line:#d9e2d8;--blue:#e5eff8;--blue-ink:#365f85;--gold:#f5d18d;--white:#fff;--radius:24px;font-family:'Nunito',ui-rounded,'Arial Rounded MT Bold',Arial,sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button,a,input,select,summary{-webkit-tap-highlight-color:transparent}button{color:inherit;cursor:pointer;touch-action:manipulation;border:0;background:none;min-height:48px;padding:12px 20px;font-weight:700;font-size:16px;border-radius:14px}button:disabled{cursor:default;opacity:.5}button:not(:disabled):hover{filter:brightness(.97)}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #a76813;outline-offset:4px}h1,h2,h3,p{margin:0}h1{font-size:clamp(30px,4vw,48px);line-height:1.17;letter-spacing:-1.2px;font-weight:800}h2{font-size:22px;line-height:1.35;margin-bottom:12px}p{line-height:1.65;font-size:17px}h1:focus{outline:none}a{color:var(--green)}header{height:108px;max-width:1200px;margin:auto;display:flex;align-items:center;justify-content:space-between;padding:18px 40px;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:12px;padding:0;text-align:left;border-radius:8px;font-size:21px;letter-spacing:-.4px}.brand small{display:block;font-weight:500;color:var(--muted);font-size:13px;letter-spacing:.3px;margin-top:4px}.header-tools{display:flex;align-items:center;gap:15px}.icon-button{width:48px;border:1px solid var(--line);background:#fff;font-size:25px;padding:5px}.quiet{background:#fff;border:1px solid #bfcfc5;font-weight:700;display:inline-flex;justify-content:center;align-items:center;gap:8px}.text-button{color:var(--green);font-size:15px;padding:10px 6px;text-decoration:underline;text-underline-offset:5px;font-weight:600}.primary{background:var(--green);color:white;border:1px solid var(--green);padding:16px 27px;min-height:56px;font-size:18px;box-shadow:0 3px 0 #173d37}.primary:hover{background:var(--green-dark)}main{max-width:1120px;padding:38px 32px 48px;margin:auto}.narrow{max-width:820px}.eyebrow{font-size:12px;letter-spacing:2px;font-weight:800;display:block;color:#56725f;margin-bottom:18px}.page-heading{margin:24px 0 32px;text-align:center}.page-heading p{margin-top:12px;color:var(--muted)}.panel{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:26px}.home{display:grid;grid-template-columns:1.2fr 1fr;column-gap:30px;padding-top:46px}.welcome{align-self:center;padding:12px 0 24px 10px}.welcome h1{font-size:clamp(35px,4.6vw,55px);letter-spacing:-1.6px}.welcome p{margin-top:20px;color:var(--muted);font-size:19px}.companion-home{justify-self:center;display:flex;flex-direction:column;align-items:center;position:relative}.mascot{display:block;object-fit:contain;max-width:100%;padding:8px}.mascot.large{width:210px;height:210px}.companion-bubble{position:absolute;right:-50px;top:22px;padding:13px 16px;background:white;border:1px solid var(--line);border-radius:17px 17px 17px 2px;font-size:14px;transform:rotate(3deg)}.companion-bubble strong{display:block;margin-top:3px;font-size:18px}.companion-home .text-button{margin-top:-8px}.worlds{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:26px;margin-top:28px}.world{border-radius:30px;padding:28px 36px 30px;min-height:238px;text-align:left;position:relative;border:1px solid #ccdccc;box-shadow:0 5px 0 #dbe5d7;transition:transform .15s;overflow:hidden}.world:active{transform:translateY(3px)}.world.numbers{background:var(--mint)}.world.letters{background:var(--blue);color:var(--blue-ink);border-color:#cfdde9;box-shadow:0 5px 0 #d8e3ee}.world-symbol{display:block;font-size:44px;letter-spacing:5px;line-height:1.15;font-weight:800;margin-bottom:26px}.world-symbol span{display:inline-block;transform:rotate(-10deg);color:#6e946c}.letters .world-symbol span{color:#739fc7}.world-title{font-size:27px;font-weight:800;line-height:1.15;display:block;letter-spacing:-.4px}.world-title br{display:none}.world-sub{display:block;font-size:15px;font-weight:500;margin-top:10px}.round-arrow{position:absolute;right:26px;bottom:31px;border-radius:50%;width:46px;height:46px;background:#fff9;display:grid;place-items:center;font-size:24px;font-weight:500}.home-footer{grid-column:1/-1;display:flex;justify-content:space-between;gap:14px;color:var(--muted);font-size:13px;margin-top:36px;padding:0 9px}.resume{grid-column:1/-1;display:flex;justify-content:space-between;align-items:center;gap:20px;margin-top:30px;padding:20px 26px}.resume p{font-size:15px;color:var(--muted);margin-top:4px}.mascot-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.mascot-option{display:flex;flex-direction:column;align-items:center;border:2px solid var(--line);border-radius:24px;background:white;padding:15px 10px;position:relative;min-height:255px}.mascot-option .mascot{width:145px;height:145px}.mascot-option strong{font-size:23px;margin-top:8px}.mascot-option>span{font-weight:400;font-size:14px;margin-top:5px}.mascot-option.selected{border-color:var(--green);background:#edf5e9}.mascot-option .selection-tag{font-size:12px;font-weight:700;color:var(--green);margin:9px 0 0}.plan{text-align:center;margin-top:18px;padding:40px 52px}.plan>.mascot{width:135px;height:135px;margin:0 auto 12px}.plan>p{margin-top:18px;color:var(--muted)}.plan-meta{display:flex;justify-content:center;gap:22px;margin:25px 0;font-size:14px;color:var(--muted)}.wide{width:100%;max-width:390px}.plan details{margin-top:26px;text-align:left}.play{max-width:1020px;padding-top:24px}.play-top{display:flex;align-items:center;justify-content:space-between;color:var(--muted);font-size:14px}.play-top .quiet{font-size:14px;background:transparent}.steps{display:flex;justify-content:center;gap:9px;margin:19px 0 24px}.steps span{height:7px;width:31px;background:#dce6dc;border-radius:20px}.steps .done{background:#85aa8c}.steps .current{background:var(--green)}.instruction{text-align:center;font-size:clamp(25px,3.3vw,33px);letter-spacing:-.5px;margin-bottom:24px}.exercise-card{background:white;border:1px solid var(--line);border-radius:30px;padding:20px 30px;min-height:230px;max-width:630px;margin:auto;display:flex;flex-direction:column;align-items:center;justify-content:center;box-shadow:0 6px 0 #e9ede3}.bridge-card{background:#f0f6ed;border:2px solid #b4ccae;border-bottom:7px solid #9bb792;border-radius:70px 70px 26px 26px}.stimulus{font-family:Arial,sans-serif;font-size:142px;font-weight:700;line-height:1.3;color:#254e45;letter-spacing:0}.stimulus.word{font-family:Arial,sans-serif;font-size:55px;font-weight:600;line-height:1.3;margin:5px 0 19px}.answers{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;width:100%;margin:12px 0}.answer{border:2px solid #c3d5c7;background:#f9fbf6;min-height:68px;font-family:Arial,sans-serif;font-size:27px;line-height:1.2;padding:12px 8px}.answer.chosen{background:#deebd9;border-color:var(--green)}.number-table{grid-template-columns:repeat(5,1fr);gap:9px}.number-table .answer{font-size:34px;min-width:0;padding:6px;min-height:62px;border-radius:10px}.grid-card{padding:18px 26px}.hands{display:flex;align-items:flex-end;justify-content:center;gap:12px;margin:15px 0 6px}.hands img{height:150px;width:125px;object-fit:contain}.hands .second-hand{transform:scaleX(-1)}.revealed{font-size:29px;color:var(--green);margin-top:12px}.exercise-under{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:22px auto 16px;max-width:730px}.little-companion{display:flex;align-items:center;gap:3px;font-size:15px;color:var(--muted)}.mascot.small{width:74px;height:74px;padding:4px}.hint-controls{display:flex;gap:10px}.hint-controls .quiet{font-size:14px}.adult-observation{text-align:center;border-top:1px solid var(--line);padding-top:17px;margin-top:10px}.adult-observation>p{font-size:14px;color:var(--muted);margin-bottom:13px}.rating-buttons{display:grid;grid-template-columns:repeat(3,1fr);gap:13px;max-width:740px;margin:auto}.rating{font-size:16px;min-height:63px;border:1px solid #bdcdbc;background:white}.rating.solo{background:var(--green);color:white;border-color:var(--green)}.rating.helped{background:#f4ecd5;border-color:#d7cba6}.rating.again{background:#eff2ee}.small-text{display:block;font-size:13px;color:var(--muted);line-height:1.6;margin-top:10px}.center{text-align:center}.feedback{max-width:740px;margin:auto;display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:14px;background:#eaf2e6;padding:20px;border-radius:20px;text-align:center}.feedback p{font-size:16px}.summary-intro{text-align:center;margin-bottom:30px}.summary-intro .mascot{margin:auto;width:150px;height:150px}.summary-intro .eyebrow{margin-top:10px}.summary-intro h1{font-size:34px}.summary-intro p{color:var(--muted);margin-top:12px}.summary-groups{display:grid;gap:14px}.summary-groups .panel{padding:22px;display:flex;align-items:center;justify-content:space-between;gap:14px}.summary-groups h2{font-size:18px;margin:0}.chips{display:flex;flex-wrap:wrap;gap:8px}.chip{padding:10px 14px;background:#ecf2e8;border-radius:11px;min-width:42px;text-align:center;font-weight:700;font-size:20px}.summary-progress{margin:22px 0}.summary-actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}.adult-heading{text-align:left;margin-top:4px}.adult-heading h1{font-size:36px}.adult-tabs{display:flex;gap:8px;border-bottom:1px solid var(--line);padding-bottom:12px;margin-bottom:25px;overflow-x:auto}.adult-tabs button{white-space:nowrap;font-size:15px}.adult-tabs [aria-current=page]{background:var(--green);color:white}.domain-toggle{display:flex;gap:8px;margin-bottom:25px}.domain-toggle button{border:1px solid var(--line);font-size:15px}.domain-toggle [aria-pressed=true]{background:#e2eddc;border-color:#85a781}.state-counts{display:grid;grid-template-columns:repeat(5,1fr);background:white;border:1px solid var(--line);border-radius:22px;padding:24px 12px;margin-bottom:32px}.state-counts>div{text-align:center;border-right:1px solid var(--line)}.state-counts>div:last-child{border:0}.state-counts strong{display:block;font-size:32px}.state-counts span{display:block;font-size:13px;margin-top:6px;color:var(--muted)}.muted{color:var(--muted);font-size:15px}.progress-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin:20px 0 30px}.progress-item{display:flex;align-items:center;flex-direction:column;gap:10px;background:#fff;border:1px solid var(--line);padding:21px 8px;font-weight:500}.progress-item>strong{font-family:Arial,sans-serif;font-size:38px}.progress-item>span:last-of-type{font-size:12px}.progress-item small{font-size:12px;color:var(--green)}.status{padding:6px 10px;border-radius:8px;font-size:12px;white-space:nowrap;background:#eef0eb}.status.learning{background:#e6eef5;color:#34546b}.status.almost{background:#f6ecd7;color:#71561e}.status.acquired{background:#ddecda;color:#315936}.status.review{background:#f2e4d9;color:#764f31}.difficult{margin-bottom:25px}.difficult .quiet{margin-top:18px}.select-grid{display:grid;grid-template-columns:repeat(8,1fr);gap:12px;margin:24px 0}.select-grid button{background:white;border:2px solid var(--line);font-size:25px;min-height:65px;padding:8px}.select-grid [aria-pressed=true]{background:var(--green);color:white;border-color:var(--green)}.field{display:flex;flex-direction:column;gap:10px;margin:20px 0;font-size:15px}.field select,.field input{min-height:52px;border:1px solid #aabaad;border-radius:10px;background:#fff;padding:12px;font-size:16px;max-width:450px;width:100%;color:var(--ink)}.adult .primary{margin:15px 0}.adult hr{border:0;border-top:1px solid var(--line);margin:35px 0}.history-list{display:grid;gap:12px}.history-row{display:flex;align-items:center;justify-content:space-between;gap:14px;text-align:left;width:100%;font-size:15px}.history-row small{display:block;font-size:13px;color:var(--muted);font-weight:400;margin-top:7px}.settings-panel{padding:2px 24px;margin:20px 0 32px}.setting-row{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px 0;min-height:80px;border-bottom:1px solid var(--line);font-size:16px}.setting-row:last-child{border-bottom:0}.setting-row small{display:block;font-size:14px;color:var(--muted);margin-top:7px}.setting-row input[type=checkbox]{appearance:none;flex-shrink:0;width:58px;height:48px;background:#b6c3b7;border:9px solid transparent;background-clip:padding-box;border-radius:30px;position:relative;cursor:pointer}.setting-row input[type=checkbox]:before{content:'';position:absolute;left:1px;top:2px;width:26px;height:26px;background:#fff;border-radius:50%;box-shadow:0 1px 3px #0002}.setting-row input:checked{background-color:var(--green)}.setting-row input:checked:before{left:13px}.button-row{display:flex;flex-wrap:wrap;gap:12px;margin-top:20px}.import-label{min-height:48px;padding:12px 20px;border-radius:14px;font-size:16px;cursor:pointer}.import-label input{display:none}details{border-top:1px solid var(--line);margin-top:24px;padding:10px 0}summary{cursor:pointer;min-height:48px;padding:15px 0;font-size:15px;font-weight:700}details p{font-size:14px;margin:12px 0}.adult-gate{user-select:none;-webkit-user-select:none}.adult-gate.holding{outline:3px solid #94b487;background:#e2eddc}.save-warning{background:#fff0ce;padding:16px;text-align:center;font-size:14px}#toast{position:fixed;z-index:10;bottom:22px;left:50%;transform:translate(-50%,15px);background:#244f47;color:white;border-radius:16px;padding:15px 22px;max-width:calc(100% - 32px);width:max-content;font-size:15px;line-height:1.5;box-shadow:0 6px 20px #132b3422;opacity:0;pointer-events:none;transition:opacity .15s,transform .15s}#toast.show{opacity:1;transform:translate(-50%,0)}dialog{border:1px solid var(--line);border-radius:26px;padding:32px;max-width:720px;width:calc(100% - 32px);max-height:90dvh;color:var(--ink);background:var(--paper)}dialog::backdrop{background:#233c3690}dialog h2{font-size:25px}dialog p{font-size:16px}dialog .dialog-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:25px}.dialog-close{float:right;font-size:26px;padding:8px;min-width:48px}.danger{background:#795044;color:white}.detail-symbol{font-family:Arial,sans-serif;font-size:65px;text-align:center}.table-scroll{overflow:auto;margin:22px 0}table{border-collapse:collapse;width:100%;font-size:13px;text-align:left}td,th{padding:13px 9px;border-bottom:1px solid var(--line)}th{font-weight:600}thead th{background:#e7eee3}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}[data-motion=off] *,[data-motion=off] *:before{animation:none!important;transition:none!important}@media(prefers-reduced-motion:reduce){*,*:before{animation:none!important;transition:none!important}}@media(min-width:1250px){.home{padding-top:58px}.world{min-height:260px}.home-footer{margin-top:44px}}@media(max-width:800px){header{padding:18px 24px;height:92px}.brand{font-size:19px}.brand img{width:36px;height:36px}.header-tools{gap:10px}.adult-gate{font-size:14px;padding:10px 13px}main{padding:28px 22px 40px}.home{padding-top:36px;gap:18px}.welcome h1{font-size:40px}.welcome p{font-size:16px}.companion-bubble{right:-9px;top:2px;font-size:12px}.mascot.large{width:180px;height:180px}.companion-bubble strong{font-size:16px}.world{padding:25px;min-height:242px}.world-title{font-size:25px}.world-title br{display:block}.world-sub{font-size:14px}.round-arrow{right:20px;bottom:24px}.world-symbol{font-size:39px;margin-bottom:24px}.home-footer{font-size:12px;padding:0}.mascot-grid{grid-template-columns:repeat(3,1fr);gap:12px}.progress-grid{grid-template-columns:repeat(4,1fr)}.plan{padding:30px}.select-grid{grid-template-columns:repeat(6,1fr)}.hint-controls .quiet{padding:10px}.state-counts span{font-size:12px}}@media(max-width:520px){header{height:84px;padding:14px 16px}.brand{font-size:16px;gap:8px}.brand small{font-size:12px}.brand img{width:32px;height:32px}.header-tools{gap:8px}.adult-gate{font-size:13px;padding:8px 10px}.icon-button{width:48px}.home{grid-template-columns:1fr;padding:24px 16px}.welcome{text-align:center;padding:10px 0 0}.welcome h1{font-size:34px}.welcome h1 br{display:none}.welcome .eyebrow{font-size:10px;margin-bottom:12px}.welcome p{margin-top:12px}.companion-home{margin:0;height:172px}.mascot.large{width:144px;height:144px}.companion-bubble{right:-71px;top:15px}.companion-home .text-button{font-size:13px;min-height:48px}.worlds{gap:12px;margin-top:8px}.world{padding:22px 17px;min-height:218px;border-radius:24px}.world-symbol{font-size:30px;letter-spacing:2px;margin-bottom:20px}.world-title{font-size:21px}.world-sub{font-size:12px}.round-arrow{width:32px;height:32px;right:15px;bottom:16px;font-size:19px}.home-footer{flex-direction:column;align-items:center;gap:10px;margin-top:23px}.resume{flex-direction:column;align-items:stretch;margin-top:15px;text-align:center}.mascot-grid{grid-template-columns:repeat(2,1fr)}.mascot-option{min-height:230px}.mascot-option .mascot{width:125px;height:125px}.plan{padding:25px 20px}.plan h1{font-size:29px}.plan-meta{flex-direction:column;gap:9px}.play{padding:18px 14px 28px}.play-top{gap:9px;font-size:12px}.play-top .quiet{font-size:12px;padding:10px}.play-top>span:nth-child(2){display:none}.instruction{font-size:25px;line-height:1.3;margin-bottom:20px}.steps{margin:17px 0 20px;gap:6px}.steps span{width:23px;height:6px}.exercise-card{min-height:205px;padding:15px 18px}.stimulus{font-size:118px}.stimulus.word{font-size:45px}.answers{gap:8px}.answer{font-size:22px}.number-table{gap:7px}.number-table .answer{font-size:27px;min-height:52px}.exercise-under{margin:17px 0 10px;flex-direction:column;gap:8px}.little-companion{font-size:14px}.mascot.small{width:58px;height:58px}.hint-controls{justify-content:center}.rating-buttons{grid-template-columns:1fr;gap:9px}.rating{min-height:54px}.adult-observation>p{font-size:12px}.feedback{padding:20px 12px}.summary-groups .panel{flex-direction:column;align-items:flex-start}.summary-intro h1{font-size:29px}.summary-actions>*{width:100%}.state-counts{grid-template-columns:repeat(3,1fr);row-gap:20px}.state-counts>div{border:0}.state-counts strong{font-size:27px}.progress-grid{grid-template-columns:repeat(3,1fr);gap:9px}.progress-item{padding:18px 4px}.progress-item .status{font-size:10px;padding:5px 7px}.progress-item>span:last-of-type{font-size:10px}.adult-heading h1{font-size:29px}.adult-tabs{margin-right:-10px}.adult-tabs button{font-size:13px;padding:10px 12px}.domain-toggle button{font-size:13px;padding:10px 12px}.select-grid{grid-template-columns:repeat(5,1fr);gap:9px}.history-row{flex-wrap:wrap;padding:20px}.history-row>span:nth-child(2){font-size:13px}.settings-panel{padding:0 18px}.setting-row{gap:12px}.button-row>*{width:100%}dialog{padding:25px 20px}.dialog-actions>*{width:100%}.hands img{height:130px;width:108px}}
/* Les échanges restent facultatifs et à l’écart de l’exercice. */
.companion-home .companion-talk{margin-top:8px;font-size:15px}
.mascot-choice{display:flex;flex-direction:column;gap:10px;min-width:0}
.mascot-choice .mascot-option{width:100%;flex:1}
.mascot-voice-preview{width:100%;font-size:14px}
.profile-panel{margin:20px 0 32px}
.profile-panel .button-row{margin:12px 0 22px}
.profile-panel .button-row .primary{margin:0}
.profile-panel input[type=text]{font-size:18px}
.companion-conversation{text-align:center;overflow-wrap:anywhere}
.companion-conversation>.mascot{width:145px;height:145px;margin:0 auto 16px}
.companion-conversation .dialog-actions{justify-content:center}
.companion-conversation h2{font-size:28px;line-height:1.4;margin:12px 0}
.companion-voice{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:8px;margin-top:14px}
.companion-voice .quiet{font-size:15px;padding:10px 16px}
.companion-voice-note{margin-top:6px}
.companion-conversation .audio-status{display:block;min-height:22px;font-size:13px;color:var(--muted)}
.companion-explore>.mascot{width:92px;height:92px;margin-bottom:8px}
.companion-explore .eyebrow{margin-bottom:8px}
.companion-explore .dialog-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.companion-explore .dialog-actions button{min-height:56px;padding:12px 16px;font-size:16px}
@media(max-width:520px){.companion-explore .dialog-actions{grid-template-columns:1fr;gap:9px}.companion-explore h2{font-size:23px}.companion-explore>.mascot{width:76px;height:76px}}
.games-home{grid-column:1/-1;margin-top:56px;min-width:0}
.water-hint{text-align:center;padding:16px;margin:0;background:#eff8f7}
.storybook-animal,.storybook-object{object-fit:contain;display:inline-block;max-width:100%;vertical-align:middle}.missing-piece{fill:#faf9f470;stroke:#b7a88a;stroke-width:6;stroke-dasharray:15 15}.art-montage .storybook-animal,.art-montage .storybook-object{width:62px!important;height:86px!important;flex:0 1 62px;min-width:0;object-fit:contain}.intro-symbol .art-montage .storybook-animal,.intro-symbol .art-montage .storybook-object{width:100px!important;height:120px!important;flex-basis:100px}.surface-row .storybook-animal{width:110px;height:134px}.diving-penguin .storybook-animal{width:82px;height:85px;transform:rotate(130deg);opacity:.7}.hen-row .puzzle-animal{width:128px;height:137px}.count-object .storybook-object{width:100%;height:100%;object-fit:contain}.art-gallery-link{display:inline-flex;align-items:center;min-height:48px;margin-top:16px;text-decoration:underline;text-underline-offset:5px}
@media(max-width:520px){.art-montage .storybook-animal,.art-montage .storybook-object{width:43px!important;height:64px!important;flex-basis:43px}.intro-symbol .art-montage .storybook-animal,.intro-symbol .art-montage .storybook-object{width:77px!important;height:99px!important;flex-basis:77px}.surface-row .storybook-animal{width:52px;height:90px}.hen-row .puzzle-animal{width:96px;height:108px}.diving-penguin .storybook-animal{width:61px;height:67px}.art-gallery-link{font-size:14px}}
.art-montage{display:flex;align-items:center;justify-content:center;gap:2px;width:100%;max-width:200px}.mini-symbol .art-montage{justify-content:flex-start}.art-montage svg{width:58px!important;height:73px!important;flex:0 1 58px}.intro-symbol .art-montage{max-width:300px}.intro-symbol .art-montage svg{width:90px!important;height:115px!important;flex-basis:90px}.scene-caption{font-size:13px;font-weight:800;letter-spacing:1px;text-transform:uppercase;text-align:center;color:#526c60;padding:16px 10px 0}.water-scene .scene-caption{background:#eff8f7}.bowl-scene .scene-caption{padding-top:10px}.count-object{display:inline-flex;align-items:center;justify-content:center;width:57px;height:53px;flex:0 0 57px}.count-object svg{width:100%;height:100%}.bowl-display{width:260px;max-width:100%;height:215px}.bowl-display>svg{width:260px;max-width:100%;height:190px}.bowl-items{top:6px;left:22px;right:22px;height:110px;gap:3px}.bowl-lid{width:215px;max-width:100%;height:75px;top:33px}.outside-items>div{gap:6px;flex-wrap:wrap}.word-library .chips{margin-top:15px;gap:8px}.word-library .chip{font-size:13px;padding:8px 12px}.game-intro .plan-meta{flex-wrap:wrap;row-gap:10px}
@media(max-width:520px){.art-montage{gap:0}.art-montage svg{width:43px!important;height:61px!important;flex-basis:43px}.intro-symbol .art-montage svg{width:72px!important;height:95px!important;flex-basis:72px}.game-intro .plan-meta{align-items:center}.bowl-items{left:22px;right:22px}.outside-items>div{gap:4px}.scene-caption{font-size:12px}.hen-row svg{height:108px}}
.games-heading{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:24px}
.games-heading .eyebrow{font-size:10px;letter-spacing:1.6px;margin-bottom:9px}
.games-heading h2{font-size:30px;margin:0;letter-spacing:-.7px}
.games-heading>span{font-size:13px;color:var(--muted);padding-bottom:4px}
.mini-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.mini-tile{position:relative;text-align:left;border:1px solid #d8ddd1;border-radius:24px;padding:23px 25px 26px;min-height:220px;box-shadow:0 4px 0 #e5e7dc;overflow:hidden}
.peach{background:#f8e8d9}.lilac{background:#eee8f5}.ice{background:#e4f0f2}.butter{background:#f6efda}.rose{background:#f4e6df}
.mini-symbol{display:flex;align-items:center;font-size:31px;font-weight:800;letter-spacing:2px;height:73px;margin-bottom:16px;color:#6c5b4b}
.mini-symbol svg{height:73px;width:85px}.mini-title{display:block;font-size:22px;line-height:1.25;font-weight:800;letter-spacing:-.5px;margin-bottom:7px}.mini-sub{display:block;font-size:14px;font-weight:500;line-height:1.45;max-width:90%}.mini-arrow{position:absolute;right:20px;bottom:20px;font-size:22px}
.game-intro .intro-symbol{display:flex;justify-content:center;align-items:center;height:120px;margin-bottom:16px;font-size:38px;font-weight:800}.intro-symbol svg{width:110px;height:120px}
.game-scene{max-width:730px;margin:auto;border:1px solid var(--line);border-radius:28px;overflow:hidden;box-shadow:0 5px 0 #e8e9de;min-height:250px}
.word-card{text-align:center;padding:30px 24px}.word-label{display:block;font-size:11px;font-weight:800;letter-spacing:1.3px;line-height:1.5;color:#607064}.game-word{font-family:Arial,sans-serif;font-size:clamp(28px,5.5vw,50px);font-weight:700;letter-spacing:2px;margin:25px 0;overflow-wrap:anywhere}.word-card>p{font-size:16px;color:#4b6057}.syllable-parts{display:flex;justify-content:center;align-items:center;gap:12px;flex-wrap:wrap;font-size:25px;font-weight:800;margin:20px 0}.syllable-parts>span{background:#fff9;padding:10px 13px;border:1px solid #dbc6b4;border-radius:14px}.tap-row{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:12px;margin-top:22px}.tap-row>span{font-size:22px;font-weight:800;font-variant-numeric:tabular-nums}.tap-row .text-button{font-size:13px}
.quantity-answers{display:flex;justify-content:center;flex-wrap:wrap;gap:12px;margin:30px auto 20px;max-width:650px}.quantity-answers .answer{width:70px;min-height:65px;font-size:30px;background:white}.scene-actions{text-align:center;margin:24px auto;max-width:650px}.scene-actions p{margin-bottom:18px}.game-help{display:flex;justify-content:center;align-items:center;gap:17px;flex-wrap:wrap;margin:23px auto}.game-help .small-text{margin:0}.game-adult{max-width:730px;margin:25px auto 0}.game-adult p{color:var(--muted)}.mini-play .feedback{max-width:730px;margin:24px auto}.game-hint{margin:20px 0 0;font-size:16px;color:#3e594d;line-height:1.65}
.sound-slots{display:flex;justify-content:center;gap:10px;min-height:60px;margin:22px 0}.sound-slots>span{display:grid;place-items:center;width:56px;height:60px;font-size:28px;font-weight:800;background:#fff;border:2px solid #b6accc;border-radius:12px}.sound-slots .empty-slot{border-style:dashed;background:#fff6}.letter-bank{display:grid;grid-template-columns:repeat(6,1fr);gap:10px;max-width:540px;margin:20px auto 6px}.letter-bank .answer{min-height:62px;background:white;border-color:#b8afc9}
.surface-row{display:flex;justify-content:center;align-items:end;flex-wrap:wrap;gap:5px;min-height:165px;padding:20px 15px 0;background:#eff8f7}.surface-row svg{width:72px;height:105px}.surface-row>span{align-self:center;font-size:16px;padding:25px}.waterline{text-align:center;font-size:12px;font-weight:800;letter-spacing:1px;padding:9px;background:#75afb7;color:#153f49}.underwater{min-height:105px;display:flex;justify-content:center;align-items:center;gap:15px;padding:16px;background:#c4e2e7;color:#426971;font-size:14px}.diving-penguin svg{height:72px;width:64px;transform:rotate(130deg);opacity:.65}
.farm-scene{padding:24px 20px;text-align:center;background:linear-gradient(#f6efda 72%,#e5ecd2 72%)}.hen-row{display:flex;justify-content:center;align-items:end;flex-wrap:wrap;gap:9px;margin:22px auto}.hen-row svg{width:105px;height:120px}.piece-controls{display:flex;justify-content:center;gap:26px;flex-wrap:wrap}.piece-counter{background:#fff9;border:1px solid #d2d6bf;border-radius:16px;padding:14px}.piece-counter>strong{font-size:16px;display:block;margin-bottom:9px}.piece-counter>div{display:flex;align-items:center;gap:12px}.piece-counter output{font-size:29px;font-weight:800;min-width:29px}.piece-counter button{font-size:24px;width:48px;padding:5px}
.bowl-scene{padding:25px 24px;text-align:center}.bowl-display{position:relative;width:230px;height:185px;margin:20px auto}.bowl-display>svg{position:absolute;left:0;bottom:0;width:230px;height:170px}.bowl-items{position:absolute;top:15px;left:20px;right:20px;height:55px;z-index:1;display:flex;flex-wrap:wrap;align-content:center;justify-content:center;gap:9px}.sweet{display:inline-block;width:28px;height:28px;border-radius:50%;background:#d99a56;border:3px solid #f7e2b2;box-shadow:0 2px 0 #986539;font-size:0}.sweet:nth-child(even){background:#82a98f;border-color:#dfedc8}.bowl-lid{width:190px;height:70px;display:grid;place-items:center;position:absolute;top:7px;border-radius:50%;background:#719789;border:5px solid #557d6e;color:#fff;font-size:35px;font-weight:800}.outside-items{border-top:1px dashed #cebdb2;margin:10px auto 0;padding-top:16px}.outside-items>span{font-size:14px;color:#6f675d}.outside-items>div{display:flex;justify-content:center;gap:12px;margin-top:12px}.bowl-scene>p{font-size:15px}.mini-history{margin-top:40px}.mini-history>.small-text{margin-bottom:20px}
@media(max-width:800px){.mini-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.mini-tile{padding:20px;min-height:200px}.mini-title{font-size:21px}.games-heading>span{max-width:145px;text-align:right}.mini-symbol{height:65px;margin-bottom:12px}.mini-symbol svg{height:65px}.games-home{margin-top:36px}}
@media(max-width:520px){.games-heading{align-items:start;flex-direction:column;gap:8px;margin-bottom:18px}.games-heading>span{max-width:none;text-align:left}.games-heading h2{font-size:27px}.games-heading .eyebrow{font-size:9px}.mini-grid{gap:12px}.mini-tile{padding:17px 14px 27px;min-height:207px;border-radius:20px}.mini-title{font-size:19px}.mini-sub{font-size:12px;max-width:100%}.mini-symbol{font-size:25px;letter-spacing:1px}.mini-arrow{right:13px;bottom:10px}.game-scene{border-radius:22px}.word-card{padding:25px 16px}.word-label{font-size:10px}.game-word{letter-spacing:1px}.letter-bank{grid-template-columns:repeat(3,1fr);gap:10px}.sound-slots{gap:7px}.sound-slots>span{width:49px}.game-help{gap:10px;text-align:center}.game-help>.small-text{font-size:12px}.quantity-answers{gap:9px;margin-top:24px}.quantity-answers .answer{width:59px;min-height:60px;font-size:27px}.surface-row{gap:0;padding:20px 8px 0}.surface-row svg{width:51px;height:84px}.hen-row{gap:2px}.hen-row svg{width:82px;height:100px}.piece-controls{gap:12px}.piece-counter{padding:12px 10px}.piece-counter>div{gap:7px}.farm-scene{padding:22px 10px}.bowl-scene{padding:24px 16px}.tap-row{gap:10px}.game-intro .intro-symbol{height:100px}.scene-actions>p{font-size:16px}.mini-play .feedback p{line-height:1.5}}
@media(max-width:520px){.home .companion-home{height:auto}.companion-conversation h2{font-size:24px}.companion-conversation>.mascot{width:120px;height:120px}}

/* Optional, repeatable game voices. */
.game-audio{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:10px;margin:18px auto 24px;max-width:780px}.game-audio .quiet{font-size:15px;min-height:48px;padding:11px 15px}.game-audio .audio-detail{background:#fff5df;border-color:#dcc9a0}.game-audio p{flex-basis:100%;text-align:center;color:var(--muted);max-width:680px;margin:2px auto 0}.game-intro .game-audio{margin:20px auto 12px}.game-audio .text-button{text-decoration:none;min-width:90px}
@media(max-width:520px){.game-audio{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.game-audio p{grid-column:1/-1}.game-audio .quiet{font-size:14px;padding:11px 8px}}
.game-audio .audio-status{flex-basis:100%;text-align:center;font-size:14px;color:var(--green);grid-column:1/-1}.game-audio .audio-status:empty{display:none}
[hidden]{display:none!important}
.install-card{grid-column:1/-1;display:flex;align-items:center;gap:20px;margin-top:30px;padding:22px 26px;background:#f1f5ed}.install-card>img{border-radius:13px;flex-shrink:0}.install-card>div{flex:1;min-width:0}.install-card h2{font-size:20px;margin-bottom:4px}.install-card p{font-size:15px;color:var(--muted)}.install-card .small-text:empty{display:none}.install-card>button{flex-shrink:0}.install-app-icon{border-radius:16px;margin-bottom:20px}.install-help .eyebrow{margin-bottom:10px}.install-help>p{margin-top:12px}.install-address{font-size:14px!important;overflow-wrap:anywhere}.install-help .field{margin-top:22px}.install-help select{width:100%;max-width:100%}.install-steps{padding-left:24px;margin:20px 0}.install-steps li{padding-left:4px;line-height:1.6;margin-bottom:13px}.install-desktop{padding:16px;background:#e8f2e6;border:1px solid var(--line);border-radius:14px;overflow-wrap:anywhere}.install-source{display:inline-block;font-size:13px;margin:12px 0;line-height:1.5}.install-offline{padding-top:16px;border-top:1px solid var(--line);font-size:13px!important;color:var(--muted)}
@media(max-width:600px){.install-card{flex-wrap:wrap;gap:14px;padding:20px;margin-top:24px}.install-card>img{width:48px;height:48px}.install-card>div{flex-basis:calc(100% - 64px)}.install-card h2{font-size:18px}.install-card p{font-size:14px;line-height:1.5}.install-card>button{width:100%}.install-help h2{font-size:24px}.install-steps{font-size:15px}.install-app-icon{width:56px;height:56px}}
.syllable-ear{display:grid;place-items:center;width:82px;height:82px;margin:15px auto 20px;border-radius:50%;background:#f1e9fa;color:#755a92;font-size:46px;line-height:1}.syllable-dictation .letter-bank{grid-template-columns:repeat(3,minmax(0,1fr));max-width:470px;gap:14px}.syllable-dictation .letter-bank .answer{min-height:80px;font-size:34px;border-radius:18px}.syllable-erase{display:flex;justify-content:center;flex-wrap:wrap;gap:12px;margin:22px 0 12px}.syllable-erase .quiet{font-size:15px}.game-audio .syllable-listen{background:#f1e9fa;border:2px solid #b6a1cd;font-size:18px;min-height:56px}.syllable-dictation .sound-slots{gap:16px}.syllable-dictation .sound-slots>span{width:68px;height:70px;font-size:34px}
@media(max-width:520px){.syllable-dictation .letter-bank{gap:12px}.syllable-dictation .letter-bank .answer{min-height:74px;font-size:32px}.syllable-erase{gap:5px}.syllable-erase .quiet{width:100%}.game-audio .syllable-listen{font-size:16px}}
