.habitat-scene{position:absolute;inset:0;pointer-events:none}.habitat-scene>svg{width:100%;height:100%;}.world:not([data-habitat=meadow])>.land{visibility:hidden}.world[data-habitat=ocean] .storm-clouds,.world[data-habitat=ocean] .weather-rain,.world[data-habitat=ocean] .weather-lightning{display:none}.habitat-animal{width:100%;height:auto;filter:drop-shadow(0 5px 3px #26492320)}.intro{max-width:730px;width:100%;padding:28px 36px}.intro .mini-sheep{width:70px;height:65px}.intro h1{font-size:35px;margin:8px 0 12px}.intro>p{margin-bottom:15px}.world-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;margin:12px 0}.world-card{border:1px solid #dce3d1;border-radius:18px;background:#f4f4e9;padding:15px 6px;display:flex;flex-direction:column;align-items:center;gap:7px}.world-card>span{font-size:30px}.world-card strong{font-size:13px}.world-card small{font-size:10px;line-height:1.4;color:#61725c}.world-card[aria-pressed=true]{border:2px solid #456c50;background:#e6eddc;padding:14px 5px;box-shadow:0 3px 12px #315b3310}.start-options{text-align:left;border:1px solid #e0e5d7;border-radius:18px;padding:4px 17px;margin:15px 0}.start-options summary{padding:12px 0;cursor:pointer;font-weight:bold;font-size:13px}.start-options label.field{margin:10px 0}.animal-choices{display:flex;gap:12px;flex-wrap:wrap;font-size:12px;margin:12px 0}.animal-choices input{accent-color:#456c50}.start-options small{font-size:11px;color:#61725d;line-height:1.5}.world-nav{display:flex;gap:6px;margin-top:8px;flex-wrap:wrap}.world-nav button{font-size:11px;background:#fffdf0e8;border-radius:20px;padding:7px 11px;border:1px solid #fff9}.start-options select{font-size:13px}.world-section-title{font-size:13px;text-align:left;margin:16px 0 6px}.world[data-habitat=ocean] .sheep svg{animation:swim 3s ease-in-out infinite}@keyframes swim{50%{transform:translateY(-5px) rotate(2deg)}}@media(max-width:650px){.intro{padding:22px 18px}.world-cards{grid-template-columns:repeat(2,1fr)}.world-card{padding:10px}.world-card[aria-pressed=true]{padding:9px}.world-card small{display:none}.intro h1{font-size:31px}.intro>p{font-size:12px}.topbar .brand-name{max-width:125px}.world-nav{max-width:210px}.world-nav button{font-size:10px;padding:6px 8px}}

.world-card>img{width:36px;height:36px;object-fit:contain}
@media(max-width:650px){.brand{gap:7px}.brand-name{max-width:135px;font-size:13px}.brand .world-nav{position:fixed;left:16px;top:76px;max-width:calc(100% - 32px);flex-wrap:nowrap;margin:0}.actions .pill{padding:9px}.actions .icon{width:34px}.weather-badge{top:118px}.noise-display{top:158px}}

/* Inactivity fades only the controls; the optional noise meter stays visible. */
.topbar,.bottom{opacity:1;transition:opacity .25s ease-out}
body.controls-hidden .topbar,body.controls-hidden .bottom{opacity:0;pointer-events:none;transition:opacity 1.8s ease-in-out}
body.controls-hidden{cursor:none}
@media(prefers-reduced-motion:reduce){.topbar,.bottom,body.controls-hidden .topbar,body.controls-hidden .bottom{transition:none}}

.round-settings{border:1px solid #dce5d1;background:#f0f4e8;border-radius:18px;padding:4px 17px 12px;margin:0 0 25px}.round-settings h3{margin-top:18px}.round-hud{position:fixed;z-index:2;left:50%;bottom:27px;transform:translateX(-50%);display:grid;grid-template-columns:auto auto;gap:5px 18px;padding:12px 20px;background:#fffdf0ed;border:1px solid #fff9;border-radius:20px;pointer-events:none;text-align:center;font-size:13px}.round-hud #roundClock{font-size:24px;font-weight:bold;font-variant-numeric:tabular-nums}.round-hud #roundLiveAnimals{align-self:center}.round-hud small{grid-column:1/-1;color:#61725d;font-size:10px}.result-tag{text-transform:uppercase;letter-spacing:1px;font-size:10px!important}.result-score{text-align:center;background:#e9efdf;border-radius:22px;padding:20px;margin:15px 0}.result-score strong{font:56px Georgia,serif;display:block}.result-score span{font-size:12px}.result-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:20px 0}.result-grid div{border-bottom:1px solid #dce3d2;padding:0 0 10px}.result-grid dt{font-size:11px;color:#61725d}.result-grid dd{margin:7px 0 0;font-size:20px;font-weight:bold;font-variant-numeric:tabular-nums}#roundEndBtn{font-size:11px;padding:10px 13px}@media(max-width:1000px){.round-hud{bottom:145px}}@media(max-width:650px){.round-hud{bottom:145px;padding:10px 16px}.round-result{padding:22px}.result-grid dd{font-size:18px}#roundEndBtn{font-size:10px;padding:9px}.session-actions{flex-wrap:wrap;justify-content:flex-end;max-width:150px}}

.nature-settings{border:1px solid #dce5d1;border-radius:18px;padding:0 17px 16px;margin:0 0 24px}.nature-settings>h3{margin-top:18px}#natureTrack{font-weight:bold;margin-bottom:2px}.nature-settings a{color:#365e43}

/* Keep the three quick controls reachable without covering the weather or meter. */
@media(max-width:650px){.brand .world-nav{display:grid;grid-template-columns:1fr 1.2fr 1fr;width:calc(100% - 32px);max-width:none;gap:5px}.brand .world-nav button{min-height:44px;padding:6px;font-size:10px}.weather-badge{top:136px}.noise-display{top:176px}.round-hud{top:auto;bottom:145px}.actions .pill{min-height:44px}}
@media(max-width:400px){.actions .pill{padding:8px}.actions .icon{width:32px}}
.brand{position:relative;isolation:isolate}.brand::before{content:"";position:absolute;inset:-6px -10px;background:#fffdf0dc;border-radius:20px;z-index:-1;pointer-events:none}
@media(max-width:650px){.round-hud{top:208px;bottom:auto;left:16px;right:16px;transform:none;padding:9px 14px;grid-template-columns:1fr 1fr}.round-hud #roundClock{font-size:22px}}
/* Five selectable worlds. */
.world-cards{grid-template-columns:repeat(5,minmax(0,1fr))}

.world[data-habitat=space] .storm-clouds,.world[data-habitat=space] .weather-rain,.world[data-habitat=space] .weather-lightning,.world[data-habitat=space] .dawn-light{display:none}


@media(max-width:650px){.world-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.world-card[data-world=space]{grid-column:1/-1;flex-direction:row;justify-content:center}.world-card[data-world=space] small{display:block;max-width:125px}.world[data-habitat=space] .sheep{min-width:72px}}
@media(prefers-reduced-motion:reduce){.space-star,.space-object{animation:none!important}.shooting-star{display:none}}

/* Use the approved cream wordmark unchanged on a contrast backing. */
.topbar{align-items:flex-start}.brand{min-width:0}.brand::before{display:none}.brand>div{min-width:0}.brand-logo,.intro .welcome-logo{background:#2c453e;border:1px solid #fff3;border-radius:20px;padding:7px 12px}.brand-logo{width:240px;max-width:100%}.brand-logo img,.intro .welcome-logo img{display:block;width:100%;height:auto;object-fit:contain}.brand .eyebrow{display:inline-block;margin-top:6px;padding:4px 10px;border-radius:12px;background:#fffdf0eb;color:#4e6c5f}.intro .welcome-logo{width:min(100%,480px);margin:10px auto 18px;padding:9px 18px;font-size:inherit;line-height:1}
@media(min-width:651px) and (max-width:1050px){.weather-badge{top:180px}.noise-display{top:220px}}
@media(max-width:650px){.topbar{gap:8px}.brand{flex:1}.brand-logo{width:220px;padding:5px 7px;border-radius:14px}.actions{flex-shrink:0}.brand .eyebrow{font-size:8px;margin-top:4px;padding:3px 7px}.brand .world-nav{top:120px}.weather-badge{top:180px}.noise-display{top:220px}.round-hud{top:252px}.intro .welcome-logo{padding:8px 12px;margin:10px auto 16px;border-radius:18px}}

/* A compact first screen keeps world selection and both start paths in view. */
.intro-backdrop{padding:12px}.intro{max-width:760px;padding:20px 28px;max-height:calc(100dvh - 24px)}.intro>.tag{display:none}.intro .welcome-logo{width:min(100%,300px);padding:6px 12px;margin:0 auto 10px}.intro>p{font-size:13px;line-height:1.45;margin:0 auto 12px;max-width:420px}.intro .world-section-title{margin:8px 0;font-size:13px}.intro .world-cards{margin:8px 0 12px;gap:8px}.intro .world-card{padding:10px 5px;gap:5px;min-height:100px}.intro .world-card[aria-pressed=true]{padding:9px 4px}.intro .world-card>span{font-size:27px}.intro .world-card>img{width:30px;height:30px}.intro .world-card strong{font-size:12px}.intro .world-card small{font-size:10px;line-height:1.3}.start-options-button{display:block;margin:0 auto 12px;padding:9px 15px;min-height:38px;border:1px solid #dce3d1;border-radius:20px;background:#eef2e5;font-size:12px}.start-actions{display:flex;flex-direction:column;align-items:center;gap:8px}.intro .start-actions .primary{min-height:44px;padding:12px 24px}.intro .demo-link{margin:0;padding:6px 10px;min-height:32px}.intro .privacy{margin-top:12px;padding-top:10px;font-size:10px;line-height:1.4}.start-options-panel .start-options{margin:12px 0}.start-options-panel .scenario-choice{margin-bottom:20px}.start-options-panel .scenario-choice small{display:block;font-size:11px;line-height:1.5;margin-top:8px;color:#61725d}
@media(max-width:650px){.brand .world-nav{grid-template-columns:1fr 1fr}.intro-backdrop{padding:8px}.intro{max-height:calc(100dvh - 16px);padding:16px;border-radius:24px}.intro .welcome-logo{width:240px;padding:5px 10px;margin-bottom:8px}.intro>p{font-size:12px;line-height:1.4;margin-bottom:8px}.intro .world-cards{grid-template-columns:repeat(6,minmax(0,1fr));gap:6px;margin:6px 0 10px}.intro .world-card{grid-column:span 2;min-height:64px;padding:6px 3px;gap:3px}.intro .world-card[aria-pressed=true]{padding:5px 2px}.intro .world-card:nth-child(4){grid-column:2/span 2}.intro .world-card[data-world=space]{grid-column:4/span 2;flex-direction:column}.intro .world-card small{display:none}.intro .world-card[data-world=space] small{display:none}.intro .world-card strong{font-size:10px;letter-spacing:-.2px}.intro .world-card>span{font-size:23px}.intro .world-card>img{width:26px;height:26px}.intro .world-section-title{font-size:12px;margin:6px 0}.start-options-button{font-size:11px;margin-bottom:10px;padding:7px 12px}.intro .start-actions{gap:4px}.intro .start-actions .primary{font-size:13px;padding:11px 18px}.intro .demo-link{font-size:11px}.intro .privacy{font-size:9px;margin-top:8px;padding-top:8px}}
@media(max-height:650px){.intro{padding:12px 16px}.intro .welcome-logo{width:min(100%,190px);margin-bottom:6px;padding:3px 8px}.intro>p{margin-bottom:6px;font-size:12px}.intro .world-card{min-height:56px}.intro .world-card>span{font-size:21px}.intro .world-card>img{width:24px;height:24px}.intro .world-card small{display:none}.intro .world-cards{margin-bottom:8px}.intro .start-options-button{min-height:34px;margin-bottom:8px}.intro .privacy{margin-top:6px;padding-top:6px}}

/* Quiet information access, included in the existing idle fade. */
.quiet-links{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:0 6px}.quiet-links .help{font-size:11px;min-height:44px;padding:8px;color:#293f34;background:#fffdf0e8;border-radius:14px}.info-link{background:none;color:#465e43;text-decoration:underline;text-underline-offset:3px;font-size:11px;min-height:32px;padding:6px 10px}.info-panel details{border-top:1px solid #dce3d1;padding:12px 0}.info-panel summary{cursor:pointer;font-size:13px;font-weight:bold;line-height:1.5;padding:5px 0}.info-panel a{color:#345d44}.info-panel .primary{margin-top:16px}.info-panel summary:focus-visible{outline:3px solid #ca893f;outline-offset:4px}.gentle-effects .weather-lightning,.gentle-effects .shooting-star{display:none!important}.gentle-effects .world *{animation:none!important}.gentle-effects .sheep{transition:none!important}
@media(prefers-reduced-motion:reduce){.weather-lightning,.shooting-star{display:none!important}}
@media(max-width:650px){.quiet-links{max-width:150px}.quiet-links .help{font-size:10px;min-height:36px;padding:7px}.intro .info-link{font-size:10px;min-height:28px;padding:4px 8px}}

/* Separate round actions and information with consistent breathing room. */
.bottom-actions{display:flex;flex-direction:column;align-items:flex-end;gap:12px;flex-shrink:0}
.bottom-actions .session-actions{gap:10px;justify-content:flex-end}
.bottom-actions .quiet-links{gap:10px}
#fullBtn{width:auto;font-size:13px;padding:12px 18px;white-space:nowrap}
@media(max-width:650px){
 .bottom{gap:12px}.bottom .status{min-width:0;flex:1}.bottom-actions{width:132px;gap:10px}
 .bottom-actions .session-actions{display:grid;grid-template-columns:1fr 1fr;width:100%;max-width:none;gap:10px}
 .bottom-actions #roundEndBtn{grid-column:1/-1;min-height:44px}
 .bottom-actions .session-actions .icon{width:100%;min-height:44px}
 .bottom-actions .quiet-links{display:grid;grid-template-columns:1fr;width:100%;gap:10px;max-width:none}
 .bottom-actions .quiet-links .help{min-height:44px;width:100%}
 #fullBtn{font-size:12px;padding:10px 12px}
 .topbar .actions{display:grid;grid-template-columns:repeat(4,auto);gap:5px}
}

@media(max-width:650px){.demo-controls{flex-wrap:wrap}}

/* Cumulative landscape growth: no visual penalty is tied to sound. */
.world{--weather:0;--clouds:0;--rain:0;--storm:0;--growth:0}
.land,.habitat-scene>svg,.world[data-habitat=space] .habitat-scene>svg{filter:none}
.space-stars{opacity:1}
.dawn-light{background:linear-gradient(#efbca333,#ffdca433 55%,transparent);opacity:var(--dawn)}
.growth-light{position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse at 80% 15%,#fff5c8aa,transparent 60%);opacity:calc(var(--growth)*.32)}
.world[data-habitat=ocean] .growth-light{background:repeating-linear-gradient(112deg,transparent 0 14%,#ddffff44 16%,transparent 22%)}
.world[data-habitat=space] .growth-light{background:radial-gradient(ellipse at 50% 40%,#a5b6ec55,transparent 70%)}
.growth-layer{position:absolute;inset:0;pointer-events:none;overflow:hidden}
.growth-detail{position:absolute;width:clamp(28px,5vw,76px);transform:translate(-50%,-100%);animation:detail-arrive 3s ease-out both}
.growth-detail svg{display:block;width:100%;overflow:visible}
.world[data-habitat=space] .growth-detail{width:clamp(35px,6vw,90px)}
.detail-drift{animation:detail-drift 12s ease-in-out infinite alternate;animation-delay:var(--detail-delay)}
.detail-glow{animation:detail-glow 9s ease-in-out infinite alternate;animation-delay:var(--detail-delay)}
@keyframes detail-arrive{from{opacity:0;transform:translate(-50%,-92%) scale(.75)}to{opacity:1;transform:translate(-50%,-100%) scale(1)}}
@keyframes detail-drift{to{transform:translateY(-5px)}}
@keyframes detail-glow{from{opacity:.72}to{opacity:1}}
.world.paused .detail-drift,.world.weather-paused .detail-drift,.world.paused .detail-glow,.world.weather-paused .detail-glow{animation-play-state:paused}
.weather-badge{transition:opacity .25s}
body.controls-hidden .weather-badge{opacity:0;transition:opacity 1.8s;pointer-events:none}
#roundEndBtn{white-space:normal}
@media(prefers-reduced-motion:reduce){.growth-detail,.detail-drift,.detail-glow{animation:none!important}.weather-badge{transition:none!important}}

/* A few larger motifs mature instead of multiplying. Six slots, three stages. */
.growth-detail,.world[data-habitat=space] .growth-detail{width:clamp(60px,8vw,118px);animation:none;opacity:0;transform:translate(-50%,-100%) scale(.45);filter:saturate(.75);transition:opacity 1.6s ease,transform 2s ease,filter 2s ease}
.growth-detail[data-kind="2"]{width:clamp(48px,6.5vw,92px)}
.growth-detail[data-stage="1"]{opacity:1;transform:translate(-50%,-100%) scale(.7)}
.growth-detail[data-stage="2"]{opacity:1;transform:translate(-50%,-100%) scale(.94);filter:saturate(1)}
.growth-detail[data-stage="3"]{opacity:1;transform:translate(-50%,-100%) scale(1.12);filter:saturate(1.15)}
.refine-two,.refine-three{opacity:0;transition:opacity 2s ease}
.growth-detail[data-stage="2"] .refine-two,.growth-detail[data-stage="3"] .refine-two,.growth-detail[data-stage="3"] .refine-three{opacity:1}
@media(prefers-reduced-motion:reduce){.growth-detail,.refine-two,.refine-three{transition:none!important}}

/* Color belongs only to the scene; controls retain their normal contrast. */
.world{filter:saturate(var(--world-color,0))}

.world{transition:filter 1.5s ease}
.class-score{text-align:center;background:#edf1e3;border-radius:20px;padding:16px;margin:20px 0;color:#294d3d}.class-score p{margin:0 0 8px}.class-score strong{font-size:3.2rem;line-height:1.2}.class-score progress{display:block;width:100%;height:12px;margin:12px 0;accent-color:#547b50}.class-score #resultScoreExplanation{font-size:.82rem;line-height:1.5;margin:0}
@media(prefers-reduced-motion:reduce){.world{transition:none}}

/* All five journeys start on the same blank canvas. Individual SVG layers unfold. */
.world{background:#f2f0e7!important}
.world::before{content:"";position:absolute;inset:0;background:linear-gradient(#cde9ec,#f4f3cf 60%);opacity:var(--sky-reveal,0);transition:opacity 2s}
.unfold-piece{opacity:calc(var(--piece,0)*var(--piece-base,1));transition:opacity 2s ease}
.world .dawn-light{opacity:calc(var(--dawn)*var(--scene-reveal,0))}
.world[data-empty=true] .growth-light,.world[data-empty=true] .growth-layer,.world[data-empty=true] .sheep-layer{visibility:hidden}
.world.weather-paused *{animation-play-state:paused!important}
@media(prefers-reduced-motion:reduce){.unfold-piece,.world::before{transition:none}}

#world>.land>:not(defs),#habitatScene>svg>:not(defs){opacity:calc(var(--piece,0)*var(--piece-base,1));transition:opacity 2s ease}

.fairy-sprite{animation:fairy-float 6s ease-in-out infinite!important}
.enchanted-lights{animation:detail-glow 7s ease-in-out infinite}
.world.paused .fairy-sprite,.world.weather-paused .fairy-sprite,.world.paused .enchanted-lights,.world.weather-paused .enchanted-lights{animation-play-state:paused!important}
@keyframes fairy-float{50%{transform:translateY(-6px) rotate(2deg)}}
.gentle-effects .fairy-sprite,.gentle-effects .enchanted-lights{animation:none!important}
@media(prefers-reduced-motion:reduce){.fairy-sprite,.enchanted-lights{animation:none!important}}

.world-nav #natureQuick{font-weight:600;min-height:34px}.world-nav #natureQuick[aria-pressed=true]{background:#345d44;color:#fffdf3;border-color:#345d44}.world-nav #natureQuick:disabled{cursor:default}
@media(max-width:650px){.brand .world-nav{grid-template-columns:1fr 1.3fr 1fr}.world-nav #natureQuick{min-height:44px}}

.brand-logo .version-label{display:block;text-align:right;font-size:10px;font-weight:400;line-height:1.2;letter-spacing:.2px;color:#fff5df;margin:0 3px 2px;}

/* Six worlds; puzzle letters are outside the mirrored animal wrapper. */
.world-cards{grid-template-columns:repeat(6,minmax(0,1fr))}
.puzzle-setup{text-align:left;margin:8px 0 12px;font-size:12px}.puzzle-setup label{font-weight:700}.puzzle-input-row{display:flex;gap:7px;margin:6px 0}.puzzle-input-row input{min-width:0;flex:1;padding:10px;border:1px solid #bacbb5;border-radius:10px;background:#fffef8;color:#293f34;font-size:16px}.puzzle-input-row button{padding:8px 12px;background:#e7edde;border-radius:10px;font-size:12px}.puzzle-setup small{display:block;color:#61725d;line-height:1.5}.intro .puzzle-setup p{margin:6px 0;font-size:12px;color:#9e503a}
.puzzle-animal{container-type:inline-size}.puzzle-letter{position:absolute;left:47%;top:46%;transform:translate(-50%,-50%);display:grid;place-items:center;min-width:1.25em;height:1.25em;border-radius:35%;background:#fff9e9;color:#263e36;border:1px solid #536f5b;font:bold clamp(10px,28cqw,38px)/1 system-ui,sans-serif;box-shadow:0 1px 3px #203e3426;pointer-events:none}
@media(max-width:650px){.world-cards{grid-template-columns:repeat(3,minmax(0,1fr))}.world-card[data-world=space]{grid-column:auto;flex-direction:column}.world-card{padding:10px 4px}.world-card[aria-pressed=true]{padding:9px 3px}.world-card small{font-size:9px}.world-card strong{font-size:12px}}

/* Separate floating control: never reserves space inside the meter card. */
.quick-threshold{position:absolute;top:calc(100% + 8px);left:-1px;display:flex;align-items:center;gap:12px;width:calc(100% + 2px);margin:0;padding:3px 17px;background:#fffdf0f2;border:1px solid #fff9;border-radius:18px;box-shadow:0 4px 16px #29402a12;font-size:11px;cursor:pointer;pointer-events:auto;transition:opacity .3s}.quick-threshold span{white-space:nowrap}.quick-threshold output{display:inline-block;min-width:2ch;font-variant-numeric:tabular-nums;font-weight:bold}.quick-threshold input{min-width:70px;width:100px;flex:1;height:32px;margin:0;accent-color:#456c50;cursor:ew-resize}body.controls-hidden .quick-threshold{opacity:0;pointer-events:none;transition:opacity 1.8s ease-in-out}@media(max-width:650px){.round-hud{top:325px}}

.mic-settings{border:1px solid #dce3d1;border-radius:18px;padding:0 16px 12px;margin-bottom:20px}.mic-settings p,.mic-panel p{font-size:12px;line-height:1.6}.mic-panel meter,.mic-panel progress{display:block;width:100%;height:14px;accent-color:#456c50}.mic-panel .mic-measure-hint{margin:10px 0 6px;color:#526a51}.mic-panel #micSetupStatus{background:#eef2e6;border-radius:12px;padding:10px 12px}.mic-panel .primary{white-space:normal}.mic-panel #micCountdown{font-weight:bold}#introMicSetup{display:block;margin:2px auto;font-size:11px}.mic-panel{max-height:calc(100dvh - 32px);overflow:auto}

/* Seven worlds, with a full-width classroom choice below the familiar six. */
.intro .world-card[data-world=classroom]{grid-column:1/-1;flex-direction:row;justify-content:center;min-height:52px;gap:12px;order:1}.intro .world-card[data-world=classroom] small{max-width:230px}.world[data-habitat=classroom] .sheep{min-width:72px}.world[data-habitat=classroom] .growth-detail{width:clamp(45px,6vw,85px)}@media(max-width:650px){.intro .world-cards{grid-template-columns:repeat(3,minmax(0,1fr))}.intro .world-card,.intro .world-card:nth-child(4),.intro .world-card[data-world=space]{grid-column:auto}.intro .world-card[data-world=classroom]{grid-column:1/-1;min-height:44px}.intro .world-card[data-world=classroom] small{display:none}}
