:root{--font:"Segoe UI", "Helvetica Neue", Arial, sans-serif;--font-heading:"Trebuchet MS", "Segoe UI", sans-serif;--background:#f1f5ed;--white:#fff;--ink:#233e33;--forest:#2f6151;--muted:#5c6b60;--sage:#96b39b;--mint:#dfebdf;--yellow:#f6ce60;--yellow-hover:#edc04a;--gold-ink:#85621c;--pale-yellow:#faf0cc;--lilac:#e6e0f0;--plum:#554869;--coral-ink:#a44234;--pale-coral:#f7e0d8;--blue-tint:#dcebec;--line:#d7e0d3;--locked-background:#e8ede4;--locked-ink:#768373;--progress-track:#dce5d7}*{box-sizing:border-box}html{background:var(--background);min-width:320px;color:var(--ink);font-family:var(--font);scrollbar-color:var(--sage) var(--background);font-size:16px}body{margin:0}button,input{font:inherit}button{cursor:pointer;-webkit-tap-highlight-color:transparent}button:disabled{cursor:default}button,a,input{touch-action:manipulation}button,a{transition:background-color .16s ease-out,color .16s ease-out,transform .16s ease-out}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid var(--forest);outline-offset:5px}::selection{color:var(--forest);background:var(--yellow)}:focus:not(:focus-visible),.screen-title:focus{outline:none}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:var(--font-heading);text-wrap:balance}h1{letter-spacing:-.035em;line-height:1.08}h2{letter-spacing:-.025em;font-size:1.3rem;line-height:1.3}h3{font-size:1rem}p{line-height:1.65}svg{vertical-align:middle;flex-shrink:0}progress{background:var(--progress-track);width:100%;height:7px;accent-color:var(--forest);border:none;border-radius:8px;display:block;overflow:hidden}progress::-webkit-progress-bar{background:var(--progress-track);border-radius:8px}progress::-webkit-progress-value{background:var(--forest);border-radius:8px}progress::-moz-progress-bar{background:var(--forest);border-radius:8px}.app-shell{max-width:1220px;margin:auto;padding:0 44px}.app-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:20px;min-height:103px;display:flex}.wordmark{font-family:var(--font-heading);letter-spacing:-.05em;white-space:nowrap;align-items:center;gap:11px;font-size:1.45rem;font-weight:700;display:flex}.brand-symbol{color:var(--yellow);background:var(--forest);border-radius:13px;place-items:center;width:43px;height:43px;display:grid}.brand-and{color:var(--muted);margin:0 3px;font-weight:400}.brand-dot{color:var(--coral-ink)}.app-header nav{align-items:center;gap:27px;display:flex}.header-points{align-items:center;gap:6px;font-size:.9rem;display:flex}.header-points svg{color:var(--gold-ink)}.header-points span{color:var(--muted)}.header-encouragement{color:var(--muted);font-size:.88rem}.button{min-height:50px;color:var(--ink);border:0;border-radius:12px;justify-content:center;align-items:center;gap:10px;padding:12px 21px;font-weight:700;text-decoration:none;display:inline-flex}.button:hover:not(:disabled){transform:translateY(-2px)}.button:active:not(:disabled){transform:translateY(1px)}.button.primary{background:var(--yellow);color:var(--ink)}.button.primary:hover{background:var(--yellow-hover)}.button.secondary{background:var(--white);color:var(--forest);box-shadow:inset 0 0 0 1px var(--line)}.button.compact{padding:9px 16px}.button.collection-button{color:var(--forest);background:var(--mint);min-height:48px;font-size:.88rem}.text-button{min-height:48px;color:var(--forest);background:0 0;border:none;justify-content:center;align-items:center;gap:9px;padding:8px 0;font-size:.92rem;font-weight:700;display:inline-flex}.text-button:hover{color:var(--ink);text-underline-offset:5px;text-decoration:underline}.welcome{grid-template-columns:1.25fr 1fr;align-items:center;gap:20px;padding:36px 0 25px;display:grid}.welcome h1{font-size:clamp(2.6rem,4.5vw,3.7rem)}.welcome h1 span{color:var(--forest)}.welcome-copy p{color:var(--muted);max-width:49ch;margin-top:20px;font-size:1rem}.garden-art{width:100%;max-height:286px}.home-dashboard{grid-template-columns:1.45fr 1fr;gap:24px;display:grid}.play-setup{background:var(--white);border-radius:16px;padding:28px 32px 20px}.setup-heading,.preview-header{justify-content:space-between;align-items:center;gap:12px;display:flex}.play-setup>p:not(.setup-note){color:var(--muted);margin-top:5px;font-size:.9rem}.level-pill{background:var(--mint);color:var(--forest);white-space:nowrap;border-radius:7px;padding:7px 10px;font-size:.75rem;font-weight:700}.duration-control{margin:25px 0 22px}.duration-label{justify-content:space-between;align-items:center;font-size:.87rem;font-weight:700;display:flex}.duration-label output{color:var(--muted);font-weight:400}.duration-label strong{color:var(--forest);margin-right:3px;font-size:1.4rem}input[type=range]{appearance:none;cursor:pointer;width:100%;height:48px;accent-color:var(--forest);background:0 0;margin:0;display:block}input[type=range]::-webkit-slider-runnable-track{background:var(--mint);border-radius:6px;height:6px}input[type=range]::-webkit-slider-thumb{appearance:none;border:4px solid var(--white);background:var(--forest);border-radius:50%;width:22px;height:22px;margin-top:-8px;box-shadow:0 2px 6px #244e3829}input[type=range]::-moz-range-track{background:var(--mint);border-radius:6px;height:6px}input[type=range]::-moz-range-thumb{border:4px solid var(--white);background:var(--forest);border-radius:50%;width:16px;height:16px}.range-labels{color:var(--muted);justify-content:space-between;font-size:.73rem;display:flex}.start-button{justify-content:space-between;width:100%;min-height:56px;padding-inline:24px;font-size:1.05rem}.setup-note{color:var(--muted);text-align:center;margin-top:12px;font-size:.72rem}.collection-preview{background:var(--lilac);color:var(--plum);border-radius:16px;padding:28px 28px 18px}.collection-preview h2{font-size:1.15rem}.collection-preview>p{margin-top:6px;font-size:.85rem}.preview-treasures{justify-content:center;gap:14px;height:116px;margin:5px 0 8px;display:flex}.preview-treasures .reward-art{width:29%;height:100%}.preview-treasures .reward-art:first-child{transform:rotate(-10deg)}.preview-treasures .reward-art:nth-child(3){transform:rotate(9deg)}.collection-progress{justify-content:space-between;gap:8px;margin-bottom:10px;font-size:.73rem;display:flex}.collection-preview progress{--progress-track:#cec5de}.collection-preview .text-button{color:var(--plum);margin-top:7px;font-size:.8rem}.level-section{margin:34px 0 22px}.section-heading{justify-content:space-between;align-items:center;gap:20px;display:flex}.section-heading h2{font-size:1.25rem}.section-heading p{color:var(--muted);margin-top:5px;font-size:.83rem}.unlock-note{color:var(--muted);align-items:center;gap:6px;font-size:.71rem;display:inline-flex}.level-grid{grid-template-columns:repeat(10,minmax(0,1fr));gap:12px;margin-top:22px;display:grid}.level-tile{border:1px solid var(--line);color:var(--forest);background:0 0;border-radius:13px;flex-direction:column;justify-content:space-between;align-items:center;gap:7px;min-height:85px;padding:10px 8px;display:flex}.level-tile.selected{background:var(--forest);color:var(--white);border-color:#0000}.level-tile:hover:not(:disabled):not(.selected){background:var(--mint)}.level-tile:disabled{background:var(--locked-background);color:var(--locked-ink);border-color:#0000}.level-number{font-size:1.6rem;font-family:var(--font-heading);font-weight:700}.level-status{align-items:center;height:18px;font-size:.7rem;display:flex}.selected-level{flex-wrap:wrap;align-items:center;gap:12px;margin-top:14px;font-size:.75rem;display:flex}.selected-level strong{color:var(--forest)}.selected-level>span{color:var(--muted)}.selected-level .level-topic{margin-left:auto}.app-footer{color:var(--muted);border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;margin-top:38px;padding:22px 0 26px;font-size:.69rem;display:flex}.storage-warning{color:var(--coral-ink);margin-top:20px;font-size:.8rem}.skip-link{background:var(--forest);color:#fff;z-index:50;border-radius:9px;padding:15px;position:fixed;top:8px;left:10px;transform:translateY(-150%)}.skip-link:focus{transform:translateY(0)}.game-screen{max-width:920px;margin:36px auto 0}.game-toolbar{justify-content:space-between;align-items:center;gap:12px;display:flex}.game-toolbar .level-pill{padding:10px 14px;font-size:.88rem}.timer{font-variant-numeric:tabular-nums;align-items:center;gap:9px;font-size:1.7rem;font-weight:700;display:flex}.timer.time-low{color:var(--coral-ink)}.question-heading{text-align:center;margin:44px 0 30px}.question-heading h1{font-size:clamp(2rem,4vw,3rem)}.question-heading p{color:var(--muted);margin-top:12px}.expression-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;display:grid}.expression-card{min-height:255px;color:var(--ink);background:var(--pale-yellow);border:3px solid #0000;border-radius:16px;justify-content:center;align-items:center;padding:35px 22px 58px;display:flex;position:relative}.expression-card.right{background:var(--lilac);color:var(--plum)}.expression-card:hover:not(:disabled){transform:translateY(-4px)}.expression-text{font-size:clamp(1.6rem,3.3vw,3.2rem);font-weight:700;font-family:var(--font-heading);overflow-wrap:anywhere;max-width:100%;line-height:1.5}.choice-hint{text-align:center;width:100%;font-size:.8rem;font-weight:400;position:absolute;bottom:19px;left:0}.choice-result{position:absolute;top:12px;right:12px}.expression-card.correct,.expression-card.reveal{border-color:var(--forest);background:var(--mint);color:var(--forest)}.expression-card.incorrect{border-color:var(--coral-ink);background:var(--pale-coral);color:var(--coral-ink)}.answer-feedback{min-height:91px;color:var(--muted);justify-content:center;align-items:center;gap:10px;font-size:.92rem;display:flex}.answer-feedback.positive{color:var(--forest)}.answer-feedback.negative{color:var(--coral-ink)}.answer-feedback.positive .feedback-mark{animation:.45s cubic-bezier(.16,1,.3,1) reward-rise}@keyframes reward-rise{0%{transform:translateY(9px)scale(.9)}to{transform:translateY(0)scale(1)}}.game-bottom{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:20px;padding:23px 0;display:flex}.score-display{color:var(--forest);align-items:center;gap:8px;display:flex}.score-display strong{font-variant-numeric:tabular-nums;font-size:1.8rem}.score-display span{color:var(--muted);font-size:.8rem}.next-treasure{width:255px;color:var(--muted);font-size:.76rem}.next-treasure progress{margin-top:10px}.keyboard-note{text-align:center;color:var(--muted);font-size:.75rem}.pause-screen{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:18px;min-height:420px;display:flex}.pause-screen h1{font-size:2.5rem}.pause-screen p{color:var(--muted)}.pause-mark{background:var(--mint);width:85px;height:85px;color:var(--forest);border-radius:50%;place-items:center;display:grid}.pause-screen .text-button{margin-top:-9px}.modal-backdrop{z-index:30;background:#17392be0;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.exit-dialog{background:var(--background);border-radius:16px;max-width:460px;padding:32px;box-shadow:0 14px 45px #152d2a30}.exit-dialog h2{font-size:1.7rem}.exit-dialog p{color:var(--muted);margin-top:16px}.dialog-actions{flex-wrap:wrap;gap:12px;margin-top:24px;display:flex}.results-screen{text-align:center;max-width:780px;margin:40px auto 0}.result-sun{color:var(--gold-ink);margin-bottom:20px;display:inline-flex}.results-screen h1{font-size:clamp(2rem,4vw,3rem)}.results-intro{color:var(--muted);margin-top:13px}.result-stats{grid-template-columns:repeat(3,minmax(0,1fr));margin:35px 0;display:grid}.result-stats>div{border-right:1px solid var(--line);flex-direction:column;align-items:center;gap:9px;padding:5px 12px;display:flex}.result-stats>div:last-child{border-right:none}.result-stats strong{color:var(--forest);font-variant-numeric:tabular-nums;font-size:3rem}.result-stats small{font-size:1.5rem}.result-stats span{color:var(--muted);font-size:.85rem}.progression-message{text-align:left;background:var(--pale-yellow);border-radius:14px;align-items:flex-start;gap:16px;padding:24px;display:flex}.progression-message.qualified{background:var(--mint)}.progression-message h2{font-size:1.2rem}.progression-message p{color:var(--muted);margin-top:8px;font-size:.9rem}.result-actions{flex-wrap:wrap;justify-content:center;gap:14px;margin:30px 0;display:flex}.result-actions .text-button{padding-inline:12px}.earned-section{margin-top:28px}.earned-grid{flex-wrap:wrap;justify-content:center;gap:16px;margin:20px 0 0;padding:0;list-style:none;display:flex}.earned-grid>li{width:160px}.collection-screen{padding-top:18px}.back-link{font-weight:400}.collection-heading{justify-content:space-between;align-items:end;gap:20px;margin-top:18px;display:flex}.collection-heading h1{font-size:clamp(2.2rem,4vw,3.2rem)}.collection-heading p{color:var(--muted);margin-top:12px}.collection-total{color:var(--forest);white-space:nowrap;font-size:.9rem}.collection-banner{background:var(--lilac);color:var(--plum);border-radius:14px;align-items:center;gap:20px;margin:29px 0;padding:23px 26px;display:flex}.collection-banner p{margin-top:6px;font-size:.85rem}.lifetime-total{text-align:right;margin-left:auto;font-size:1.8rem;font-weight:700}.lifetime-total small{white-space:nowrap;font-size:.7rem;font-weight:400;display:block}.reward-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:28px 22px;margin:30px 0;padding:0;list-style:none;display:grid}.reward-card{text-align:center;min-width:0}.reward-stage{background:var(--mint);border-radius:14px;justify-content:center;align-items:center;height:150px;display:flex;position:relative}.reward-stage.chocolate{background:var(--pale-coral)}.reward-stage.ring{background:var(--lilac)}.reward-stage.badge{background:var(--pale-yellow)}.reward-stage.chain{background:var(--blue-tint)}.reward-art{width:100px;height:100px;display:block}.reward-art.is-locked{filter:grayscale();opacity:.45}.reward-status{color:var(--forest);position:absolute;top:10px;right:10px}.reward-card.locked .reward-stage{background:var(--locked-background)}.reward-card.locked .reward-status{color:var(--locked-ink)}.reward-card h3{margin-top:13px;font-size:.88rem}.reward-card p{color:var(--muted);margin-top:4px;font-size:.72rem}@media (width>=1500px){.app-shell{padding-top:12px}.welcome{padding-top:45px;padding-bottom:35px}}@media (width<=900px){.app-shell{padding-inline:28px}.wordmark{font-size:1.25rem}.header-points span{display:none}.home-dashboard{grid-template-columns:1.3fr 1fr;gap:18px}.play-setup,.collection-preview{padding:23px}.setup-heading{align-items:start}.setup-heading h2{max-width:12ch}.collection-progress{flex-direction:column;gap:4px}.preview-treasures{height:100px;margin-top:12px}.unlock-note{max-width:170px}.level-grid{gap:8px}.reward-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (width<=640px){.app-shell{padding:0 20px}.app-header{gap:8px;min-height:84px}.wordmark{gap:8px;font-size:1.15rem}.brand-symbol{border-radius:10px;width:34px;height:36px}.brand-symbol svg{width:23px}.app-header nav{gap:10px}.header-points{display:none}.button.collection-button{gap:7px;padding:10px;font-size:.75rem}.collection-button svg{width:17px}.header-encouragement{text-align:right;max-width:115px;font-size:.72rem}.welcome{grid-template-columns:minmax(0,1fr);gap:0;padding-top:28px;padding-bottom:26px;position:relative}.welcome-copy{z-index:1;position:relative}.welcome h1{font-size:clamp(2.3rem,7.4vw,3rem)}.welcome-copy p{max-width:29ch;margin-top:16px;font-size:.86rem}.garden-art{opacity:.85;width:140px;position:absolute;bottom:12px;right:-4px}.welcome-copy p{padding-bottom:42px}.home-dashboard{grid-template-columns:1fr;gap:18px}.play-setup{padding:24px 22px 20px}.setup-heading{align-items:center}.setup-heading h2{max-width:none;font-size:1.2rem}.duration-control{margin-top:22px}.collection-preview{grid-template-columns:minmax(0,1fr) 100px;gap:0 10px;padding:22px;display:grid;position:relative}.preview-header{grid-column:1/-1}.preview-header h2{font-size:1.1rem}.collection-preview>p{grid-column:1;font-size:.8rem}.preview-treasures{grid-area:2/2/6;gap:0;height:112px;margin:4px 0 0;position:relative}.preview-treasures .reward-art{width:65px;position:absolute}.preview-treasures .reward-art:first-child{top:-4px;left:-4px}.preview-treasures .reward-art:nth-child(2){top:23px;right:-4px}.preview-treasures .reward-art:nth-child(3){display:none}.collection-progress{grid-column:1;margin-top:17px;font-size:.73rem}.collection-preview progress{grid-column:1}.collection-preview .text-button{grid-column:1;justify-self:start;font-size:.75rem}.level-section{margin-top:30px}.section-heading{display:block}.section-heading h2{font-size:1.2rem}.section-heading p{font-size:.8rem}.unlock-note{max-width:none;margin-top:12px;font-size:.7rem}.level-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin-top:17px}.level-tile{min-height:78px}.selected-level{gap:7px 10px;font-size:.72rem}.selected-level .level-topic{flex-basis:100%;margin-left:0}.app-footer{flex-direction:column;align-items:start;gap:7px;margin-top:28px;font-size:.67rem}.game-screen{margin-top:24px}.game-toolbar .level-pill{padding:9px;font-size:.72rem}.timer{gap:5px;font-size:1.3rem}.timer svg{width:18px}.button.compact{min-height:48px;padding:10px;font-size:.8rem}.button.compact svg{width:18px}.question-heading{margin:36px 0 24px}.question-heading h1{font-size:2.2rem}.question-heading p{font-size:.85rem}.expression-grid{gap:12px}.expression-card{border-width:2px;min-height:225px;padding:34px 10px 45px}.expression-text{font-size:clamp(1.25rem,5.5vw,1.8rem);line-height:1.65}.choice-hint{font-size:.7rem;bottom:14px}.choice-result{top:8px;right:8px}.choice-result svg{width:21px}.answer-feedback{flex-wrap:wrap;align-content:center;gap:4px 9px;min-height:97px;font-size:.85rem}.answer-feedback>span:last-child:not(:first-child){text-align:center;flex-basis:100%;font-size:.75rem}.game-bottom{flex-direction:column;align-items:stretch;gap:20px;padding-top:18px}.score-display{justify-content:center}.next-treasure{text-align:center;width:100%}.keyboard-note{margin-top:12px;font-size:.68rem}.pause-screen{min-height:380px}.pause-screen h1{font-size:2rem}.exit-dialog{padding:26px}.exit-dialog h2{font-size:1.5rem}.dialog-actions{flex-direction:column}.results-screen{margin-top:30px}.result-sun{margin-bottom:18px}.results-intro{font-size:.9rem}.result-stats{margin:27px 0}.result-stats>div{padding-inline:5px}.result-stats strong{font-size:2.2rem}.result-stats small{font-size:1rem}.result-stats span{font-size:.7rem}.progression-message{gap:10px;padding:20px}.progression-message h2{font-size:1.07rem}.progression-message p{font-size:.8rem}.result-actions{flex-direction:column}.collection-heading{flex-direction:column;align-items:start;gap:15px}.collection-heading p{font-size:.9rem}.collection-total{font-size:.8rem}.collection-banner{flex-wrap:wrap;align-items:start;gap:13px;padding:20px}.collection-banner>div{flex:1;min-width:150px}.collection-banner p{font-size:.75rem}.lifetime-total{font-size:1.5rem}.reward-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:25px 15px}.reward-stage{height:140px}.reward-card h3{font-size:.84rem}}@media (width<=360px){.app-shell{padding-inline:15px}.wordmark{gap:6px;font-size:1rem}.collection-button span{max-width:66px}.welcome h1{font-size:2.12rem}.welcome-copy p{max-width:24ch}.garden-art{width:120px;bottom:17px;right:-8px}.expression-card{padding-inline:6px}.expression-text{font-size:1.25rem}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
