@font-face{font-family:Fredoka;src:url(assets/fredoka-400.woff2)}
@font-face{font-family:Fredoka;src:url(assets/fredoka-600.woff2);font-weight:600}
:root{font-family:Fredoka,sans-serif;color:#17324d;--purple:#6244bb;--cream:#fff9ed;--gold:#ffcf42}*{box-sizing:border-box}body{margin:0;overflow:hidden}button{font:inherit;color:inherit;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent}button img{pointer-events:none}button:disabled{cursor:default}button:focus-visible{outline:4px solid #6244bb;outline-offset:4px}[hidden]{display:none!important}
#game{height:100dvh;min-height:420px;position:relative;overflow:hidden;background:#17324d}#world,#world img,.veil{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}#world{filter:blur(16px);transform:scale(1.12);opacity:.58}.veil{background:linear-gradient(#17324d55,transparent 40%,#17324d88);pointer-events:none}
#opening{position:absolute;inset:0;z-index:40;background:#d4dabe}#opening picture,#opening picture img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}#opening picture:before{content:'';position:absolute;inset:-20px;background:url(assets/intro-landscape.webp) center/cover;filter:blur(18px)}.opening-title{position:absolute;top:4%;left:50%;transform:translateX(-50%);width:95%;text-align:center;text-shadow:0 1px 2px #fff9ed,0 0 25px #fff9ed}.opening-title p{font-size:18px;letter-spacing:.08em;margin:0 0 8px}.opening-title h1{font-size:clamp(30px,4vw,52px);line-height:1.07;margin:0}.art-button{border:0;background:none;padding:0;width:80px;height:80px}.art-button img{width:100%;height:100%;object-fit:contain}#play{position:absolute;bottom:5%;left:50%;transform:translateX(-50%);width:110px;height:110px;filter:drop-shadow(0 5px 8px #38221965)}#rune{position:fixed;bottom:max(10px,env(safe-area-inset-bottom));left:max(12px,env(safe-area-inset-left));width:56px;height:56px;object-fit:contain;z-index:400;pointer-events:none}
#adventure{position:absolute;inset:0}#sourceControls{position:absolute;top:10px;left:10px;display:flex}#sourceControls button{width:56px;height:56px}#trail{position:absolute;top:14px;left:55%;transform:translateX(-50%);display:flex;gap:12px;align-items:center}#trail:before{content:'';height:3px;background:#fff9ed66;position:absolute;left:20px;right:20px}.trail-stop{position:relative;width:48px;height:48px;border:2px solid #ffffff77;border-radius:50%;background:#f9f3e8;display:grid;place-items:center}.trail-stop img{width:40px;height:40px;object-fit:contain;opacity:.35}.trail-stop.current{border:3px solid #6244bb;box-shadow:0 0 0 3px #fff9ed}.trail-stop.current img,.trail-stop.done img{opacity:1}.trail-stop.done:after{content:'✓';position:absolute;bottom:-5px;right:-5px;background:#ffcf42;border-radius:50%;width:20px;height:20px;text-align:center}#taskProgress{position:absolute;top:20px;right:20px;background:#6244bbcc;padding:4px 9px;border-radius:25px;display:flex;gap:4px}#taskProgress img{width:28px;height:28px}
#scene{position:absolute;inset:88px 25px 160px 270px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:12px}.scene-board{width:100%;max-height:100%;aspect-ratio:3/2;position:relative;border-radius:26px;box-shadow:0 14px 40px #081d284d;overflow:hidden;flex:0 1 auto;outline:2px solid #fff9ed66}.forest-art{display:block;width:100%;height:100%;object-fit:cover}.hotspot{position:absolute;transform:translate(-50%,-50%);width:13%;aspect-ratio:1;min-width:56px;min-height:56px;border:3px solid transparent;border-radius:50%;background:transparent;padding:0}.hotspot.selected,.hotspot.hint{border-color:#ffdc6e;background:#fff9ed1a;box-shadow:0 0 0 4px #68451a66,inset 0 0 0 2px #fff9edbb}.selection-mark{display:none}.selected .selection-mark{display:grid;place-items:center;position:absolute;right:-4px;top:-5px;width:24px;height:24px;border-radius:50%;background:#6244bb;color:white;font-size:18px}.hotspot.revealed-clue{border-color:#ffe385;background:#ffdc6e33}.focus-ring{display:none;position:absolute;transform:translate(-50%,-50%);width:26%;aspect-ratio:1;border:3px solid #ffdf83;border-radius:50%;box-shadow:0 0 0 999px #17324d25;pointer-events:none}.close-look .focus-ring{display:block}.close-look #scene{bottom:154px}.close-look .scene-board{max-height:calc(100% - 118px);}.friend-choices{display:flex;gap:14px;justify-content:center;width:100%;height:108px;flex-shrink:0}.friend-choice{position:relative;min-width:90px;width:112px;border:2px solid #dacaaa;background:#fff9ed;border-radius:22px;box-shadow:0 4px 0 #44382d44;padding:4px;display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:15px}.friend-choice img{width:75px;height:75px;object-fit:contain}.friend-choice.selected{border:3px solid #6244bb;background:#eee7ff;box-shadow:0 0 0 3px #fff9ed}.friend-choice.open{border-color:#e8b539;background:#fff1bb}.choice.wiggle{animation:wiggle .35s}.choice.hint{outline:3px dashed #ffdf83;outline-offset:5px}.demo-pointer{position:absolute;font-size:42px;left:45%;top:60%;filter:drop-shadow(0 2px 2px #17324d55);pointer-events:none}.demo-glow{filter:drop-shadow(0 0 8px #ffcf42)}
.guide{position:absolute;left:20px;bottom:105px;width:225px;display:flex;flex-direction:column-reverse;align-items:center;z-index:5}#repeat{padding:0;border:0;background:none;width:190px;height:210px;filter:drop-shadow(0 8px 6px #14282e44)}#repeat img{width:100%;height:100%;object-fit:contain}.speech{position:relative;background:#fff9ed;border:2px solid #d9c8a7;border-radius:28px 28px 28px 8px;padding:13px 15px;text-align:center;width:100%;box-shadow:0 6px 20px #17324d22}.speech:after{content:'';position:absolute;bottom:-13px;left:35%;border:7px solid transparent;border-top-color:#fff9ed}#chapter{font-size:12px;letter-spacing:.05em;color:#6244bb}#instruction{font-size:20px;line-height:1.2;margin:6px 0}#clue{display:flex;justify-content:center;align-items:center}#clue:empty{display:none}#clue img{width:62px;height:62px;object-fit:contain}
footer{position:absolute;bottom:20px;left:285px;right:25px;height:80px;display:flex;align-items:center;justify-content:space-between;gap:12px}#feedback{font-size:19px;text-align:center;color:#fff9ed;text-shadow:0 2px 5px #17324d}#next{position:absolute;bottom:28px;left:57%;transform:translateX(-50%);z-index:12;white-space:nowrap}.primary{min-height:58px;border:2px solid #b7a2e7;border-radius:30px;background:#6244bb;color:white;padding:12px 25px;box-shadow:0 4px 0 #342162;font-size:21px}.quiet{min-height:56px;border:2px solid #dacbaa;border-radius:28px;background:#fff9ed;padding:9px 18px;font-size:16px}.overlay{position:absolute;inset:0;z-index:300;background:#17324d80;backdrop-filter:blur(7px);display:grid;place-items:center;padding:24px 20px 80px}.panel{width:min(720px,95vw);max-height:100%;overflow:auto;padding:24px;text-align:center;background:#fff9ed;border:3px solid #d6ba85;border-radius:36px;box-shadow:0 20px 60px #081c2e55}.panel h2{font-size:32px;color:#6244bb;margin:0 0 12px}.panel p{font-size:19px;line-height:1.3;margin:10px 0 18px}.actions{display:flex;flex-wrap:wrap;justify-content:center;gap:14px}.highfive{display:block;width:min(440px,100%);height:250px;object-fit:contain;margin:10px auto;border-radius:22px}.menu-friends{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin:20px 0}.menu-friends button{min-width:90px;min-height:110px;background:#f3edde;border:2px solid #d8c4a0;border-radius:20px;padding:8px}.menu-friends button.current{border-color:#6244bb}.menu-friends img{display:block;width:75px;height:75px;object-fit:contain}.final-friends{display:flex;justify-content:center}.final-friends img{width:19%;height:130px;object-fit:contain}.medal{width:90px;height:90px;object-fit:contain}.hide-choice{border:3px dashed #fff9ed;background:#6244bb99;color:white;font-size:28px}.child-hiding .scene-board{filter:brightness(.5);transition:filter 1s}.found-you{position:absolute;inset:0;display:grid;place-items:center;background:#fff9ed33;border-radius:26px}.found-you img{height:90%;max-width:70%;object-fit:contain;filter:drop-shadow(0 10px 8px #17324d55)}#game[data-state=paused] *,#game[data-state=menu] *{animation-play-state:paused!important}
@keyframes wiggle{25%{margin-left:-7px}75%{margin-left:7px}}
@media(max-aspect-ratio:6/5){#opening picture:before{background-image:url(assets/intro-portrait.webp)}.opening-title h1{font-size:clamp(29px,6vw,45px)}.opening-title p{font-size:14px}#play{bottom:6%;width:96px;height:96px}#trail{top:81px;left:50%;gap:15px}.trail-stop{width:35px;height:35px}.trail-stop img{width:28px;height:28px}#taskProgress{top:21px;right:10px;padding:3px 6px;gap:1px}#taskProgress img{width:25px;height:25px}#scene{inset:135px 16px 226px;gap:10px}.scene-board{border-radius:22px}.close-look #scene{bottom:220px}.close-look .scene-board{max-height:calc(100% - 100px)}.friend-choices{height:90px;gap:12px}.friend-choice{width:92px;min-width:76px;border-radius:18px;font-size:13px}.friend-choice img{width:60px;height:60px}.guide{left:4%;bottom:99px;width:92%;height:112px;flex-direction:row;gap:6px;align-items:center}#repeat{flex:0 0 100px;width:100px;height:130px}.speech{width:auto;flex:1;padding:9px 12px;border-radius:24px 24px 24px 6px;min-height:86px}#instruction{font-size:18px;margin:4px 0}#chapter{font-size:11px}#clue img{width:43px;height:43px}.speech:after{bottom:25%;left:-13px;border-color:transparent;border-right-color:#fff9ed}footer{left:82px;right:14px;bottom:15px;height:72px}#check{width:72px;height:72px;flex:0 0 72px}#feedback{display:none}#next{left:auto;right:14px;transform:none;bottom:23px;font-size:17px;min-height:56px;padding:10px 18px}.quiet{font-size:15px;padding:8px 14px}.panel{padding:20px 14px;border-radius:28px}.panel h2{font-size:27px}.panel p{font-size:16px}.highfive{height:195px}.primary{font-size:18px}.menu-friends button{min-width:78px;min-height:94px}.menu-friends img{width:60px;height:60px}.final-friends img{height:85px}.medal{width:70px;height:70px}}
@media(max-aspect-ratio:6/5) and (min-width:600px){#scene{inset:135px 25px 250px}.close-look #scene{bottom:250px}.guide{left:15%;width:70%;bottom:115px;height:125px}#repeat{width:150px;height:160px;flex-basis:150px}#instruction{font-size:22px}#clue img{width:55px;height:55px}.speech{padding:14px 20px}footer{left:25%;right:25%}#next{right:25%}}
@media(max-height:680px) and (max-aspect-ratio:6/5){#scene{top:126px;bottom:218px}.close-look #scene{bottom:214px}.guide{bottom:95px;height:110px}#repeat{flex-basis:88px;width:88px;height:116px}#instruction{font-size:16px}#clue img{width:37px;height:37px}.friend-choices{height:78px}.friend-choice img{width:50px;height:50px}.close-look .scene-board{max-height:calc(100% - 88px)}.highfive{height:145px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}
/* Keep illustration geometry exact: hotspots always share the art coordinate system. */
#scene{container-type:size}.scene-board{width:min(100%,calc(100cqh * 1.5));height:auto;max-height:none;flex:none}.close-look .scene-board{width:min(100%,calc((100cqh - 120px) * 1.5));max-height:none}
@media(max-aspect-ratio:6/5){.scene-board{aspect-ratio:4/5;width:min(100%,calc(100cqh * .8))}.close-look .scene-board{width:min(100%,calc((100cqh - 100px) * .8));max-height:none}}
@media(max-height:680px) and (max-aspect-ratio:6/5){.close-look .scene-board{width:min(100%,calc((100cqh - 88px) * .8));max-height:none}}
.evidence{display:block;width:68px;height:68px;border-radius:50%;border:2px solid #d5b474;background-repeat:no-repeat;background-size:666.666% auto;margin:3px auto;box-shadow:0 2px 5px #17324d25}
@media(max-aspect-ratio:6/5){.evidence{width:46px;height:46px}.close-look .scene-board{width:min(100%,calc(100cqh * .8))}.close-look #scene{bottom:226px}.close-look .speech{visibility:hidden}.friend-choices{position:fixed;bottom:112px;left:112px;right:14px;width:auto;height:82px;gap:8px}.friend-choice{width:76px;min-width:64px;flex:1}.friend-choices:before{content:'Who is hiding here?';position:absolute;top:-29px;color:#fff9ed;text-shadow:0 2px 5px #17324d;font-size:17px}.friend-choice img{width:55px;height:55px}}
@media(max-aspect-ratio:6/5) and (min-width:600px){.friend-choices{left:36%;right:17%;bottom:132px;height:95px}.friend-choice img{width:65px;height:65px}.close-look #scene{bottom:250px}}
@media(max-height:680px) and (max-aspect-ratio:6/5){.close-look #scene{bottom:218px}.close-look .scene-board{width:min(100%,calc(100cqh * .8))}.friend-choices{left:100px;bottom:105px;height:80px}.friend-choice{min-width:64px}.friend-choice img{width:50px;height:50px}.friend-choices:before{font-size:15px;top:-24px}}
.scene-board picture{display:block;width:100%;height:100%}.hotspot,.focus-ring{left:var(--x);top:var(--y)}
@media(max-aspect-ratio:6/5){.hotspot,.focus-ring{left:var(--px);top:var(--py)}}
/* Focusing a target must not scroll the clipped game canvas. */
#game{overflow:clip}#adventure{overflow:clip}#sourceControls{visibility:hidden!important;pointer-events:none!important}
/* The guide's transparent layout box must never intercept answer buttons. */
.guide{pointer-events:none}#repeat{pointer-events:auto}
/* Wide portrait panels use the landscape composition, not a narrow phone postcard. */
@media(max-aspect-ratio:6/5) and (min-width:600px){
 .scene-board,.close-look .scene-board{aspect-ratio:3/2;width:min(100%,calc(100cqh * 1.5))}
 .hotspot,.focus-ring{left:var(--x);top:var(--y)}
}
/* Play tables use their own layout; all interaction stays above the guide. */
.activity-mode #scene{inset:90px 25px 140px 270px;display:block;container-type:normal}
.activity-board{height:100%;width:100%;padding:18px 24px;background:#fff9eef5;border:3px solid #d2b585;border-radius:28px;box-shadow:0 12px 30px #17324d44;display:flex;flex-direction:column;gap:12px;overflow:clip}
.activity-heading{display:flex;align-items:center;gap:12px;flex:none}.activity-friend{width:78px;height:80px;object-fit:contain}.activity-kicker{font-size:11px;color:#6244bb;letter-spacing:.09em}.activity-heading h2{margin:4px 0;font-size:25px;line-height:1.1;color:#17324d}.round-label{margin-left:auto;white-space:nowrap;color:#6244bb;font-size:16px}.activity-model{display:flex;align-items:center;justify-content:center;min-height:70px;flex:none;background:#f2eade;border-radius:20px;padding:5px 12px}.trail-model,.size-model,.count-model{display:flex;align-items:center;justify-content:center;gap:12px}.trail-model img{width:52px;height:52px;object-fit:contain}.trail-model span,.size-model span{color:#6244bb;font-size:22px}.size-model img{object-fit:contain;width:55px;height:55px}.size-model img.size-small{width:30px;height:30px}.count-dot{display:block;width:23px;height:23px;background:#6244bb;border-radius:50%;box-shadow:inset 0 -3px #39227944}.show-model .count-dot{outline:3px solid #ffcd50;outline-offset:4px}.activity-play{min-height:0;flex:1;display:flex;align-items:center;justify-content:center;gap:10px;position:relative}.play-piece{position:relative;border:2px solid #d7c4a2;border-radius:20px;background:#fffef7;min-width:56px;min-height:56px;flex:1;height:125px;max-width:125px;padding:6px;box-shadow:0 4px 0 #b3997233;transition:background .18s,box-shadow .18s}.piece-art{width:100%;height:100%;object-fit:contain}.play-piece.picked{border-color:#6244bb;background:#eee6ff;box-shadow:0 0 0 2px #6244bb55}.pick-order{position:absolute;right:2px;top:2px;border-radius:50%;background:#6244bb;color:white;width:24px;height:24px;display:grid;place-items:center;font-size:15px}.pick-order:empty{display:none}.leaf-play .piece-art{height:var(--piece-size);width:var(--piece-size);object-fit:contain}.leaf-play .play-piece{display:flex;align-items:flex-end;justify-content:center}.stone-play{align-items:flex-end;background:linear-gradient(transparent 50%,#c5dbe3 50%,#a9cadb 92%,transparent 92%);border-radius:20px;padding-bottom:15px}.stone-play .play-piece{height:150px;border-color:transparent;background:transparent;box-shadow:none;display:flex;align-items:flex-end;justify-content:center}.stone-play .piece-art{width:var(--piece-size);height:var(--piece-size);object-fit:contain}.stone-play .picked{background:#eee6ff88;border:2px solid #6244bb}.collect-play{gap:18px}.acorn-patch{flex:1;display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.acorn-patch .play-piece{height:78px;width:100%;min-width:56px;max-width:none}.acorn-patch .picked{opacity:.4}.acorn-patch .pick-order{display:none}.basket{width:42%;min-height:155px;background:#ead0a3;border:5px solid #a57743;border-top:10px solid #986e40;border-radius:12px 12px 45px 45px;padding:10px;display:flex;flex-direction:column;justify-content:space-between;align-items:center;box-shadow:inset 0 0 0 4px #c2976233}.basket span{font-size:13px;color:#654021}#basket-items{display:flex;justify-content:center;flex-wrap:wrap;gap:2px}#basket-items img{width:37px;height:42px;object-fit:contain}.flower-play{display:grid;grid-template-columns:repeat(2,100px);grid-template-rows:repeat(2,minmax(56px,1fr));gap:12px}.flower-play .play-piece{height:100%;max-height:100px;max-width:none;background:var(--flower-color)}.flower-play .lit{border:5px solid #6244bb;box-shadow:0 0 0 5px #ffcf42;transform:scale(1.07)}#memory-slots{display:flex;gap:15px}.memory-slot{font-size:30px;color:#b4a4d4}.memory-slot.filled{color:#6244bb}#activity-status{min-height:26px;flex:none;margin:0;text-align:center;color:#6244bb;font-size:17px}.piece-hint{outline:4px dashed #c89524;outline-offset:3px}.demo-hand:after{content:'☝';position:absolute;bottom:-3px;right:2px;font-size:35px}.activity-success{border-color:#d5ac29;background:#fff9df}.activity-success .picked{background:#fff0b8;border-color:#bf9321}.try-again{animation:wiggle .3s}.activity-mode #feedback{display:none}
@media(max-aspect-ratio:6/5){.activity-mode #scene{inset:130px 14px 226px}.activity-board{padding:12px;gap:8px;border-radius:23px}.activity-heading{gap:8px}.activity-friend{width:48px;height:54px}.activity-kicker{font-size:9px}.activity-heading h2{font-size:18px}.round-label{font-size:13px}.activity-model{min-height:55px;padding:4px 7px}.trail-model{gap:5px}.trail-model img{width:35px;height:40px}.trail-model span{font-size:16px}.activity-play{gap:4px}.play-piece{border-radius:14px;height:100px;min-width:56px;padding:3px}.pick-order{width:20px;height:20px;font-size:12px}.collect-play{gap:9px}.acorn-patch{grid-template-columns:repeat(2,1fr);gap:5px}.acorn-patch .play-piece{height:58px}.basket{width:43%;min-height:135px;padding:5px;border-width:3px}.basket span{font-size:11px}#basket-items img{width:30px;height:33px}.flower-play{grid-template-columns:repeat(2,minmax(56px,95px));gap:9px}.flower-play .play-piece{min-height:56px}.stone-play .play-piece{height:110px}#activity-status{font-size:14px;min-height:32px;line-height:1.15}.count-dot{width:19px;height:19px}.count-model{gap:10px}.size-model img{width:45px;height:45px}.size-model img.size-small{width:26px;height:26px}}
@media(max-aspect-ratio:6/5) and (min-width:600px){.activity-mode #scene{inset:135px 25px 250px}.activity-board{padding:20px 30px;gap:15px}.activity-heading h2{font-size:26px}.activity-friend{width:80px;height:85px}.activity-model{min-height:75px}.trail-model img{width:58px;height:58px}.play-piece{height:140px;max-width:140px}.activity-play{gap:16px}.acorn-patch{grid-template-columns:repeat(3,1fr)}.acorn-patch .play-piece{height:80px}.flower-play{grid-template-columns:repeat(2,110px)}#activity-status{font-size:18px}}
@media(max-height:680px) and (max-aspect-ratio:6/5){.activity-mode #scene{inset:123px 10px 210px}.activity-board{padding:9px;gap:5px}.activity-heading h2{font-size:16px}.activity-friend{width:38px;height:38px}.activity-kicker{display:none}.activity-model{min-height:44px}.trail-model img{width:32px;height:32px}.size-model img{width:36px;height:36px}.size-model img.size-small{width:23px;height:23px}.play-piece{height:93px}.acorn-patch{grid-template-columns:repeat(3,1fr);gap:3px}.acorn-patch .play-piece{height:56px;min-width:44px}.collect-play{gap:6px}.basket{min-height:110px;width:38%}#basket-items img{width:24px;height:26px}.flower-play{gap:5px;grid-template-columns:repeat(2,75px)}.stone-play .play-piece{height:100px}#activity-status{font-size:12px;min-height:28px}.count-dot{width:17px;height:17px}}
.activity-board{background:linear-gradient(#fff9edf5,#fff9eddd),var(--activity-art) center/cover}
.basket{position:relative;border:0;box-shadow:none;border-radius:0;background:url(assets/basket.webp) center/contain no-repeat;height:210px;padding:40px 12% 0;justify-content:flex-start}.basket>span{position:absolute;bottom:-10px;left:0;right:0;text-align:center}#basket-items{position:relative;z-index:1;min-width:100px;flex-shrink:0}#basket-items img:last-child{animation:nut-drop .3s ease-out}.hopping-juno{position:absolute;width:50px;height:60px;object-fit:contain;bottom:calc(var(--piece-size) - 15px);left:50%;transform:translateX(-50%);pointer-events:none;animation:stone-hop .35s ease-out}.clue-path:before{content:'';position:absolute;left:8%;right:8%;height:3px;border-top:3px dashed #c7ac79;pointer-events:none}
@keyframes nut-drop{from{transform:translateY(-24px);opacity:.3}to{transform:translateY(0);opacity:1}}@keyframes stone-hop{from{margin-bottom:25px}to{margin-bottom:0}}
@media(max-aspect-ratio:6/5){.basket{height:160px;padding:35px 3% 0}.basket>span{bottom:0}.hopping-juno{width:32px;height:40px;bottom:calc(var(--piece-size) - 12px)}}
@media(max-height:680px) and (max-aspect-ratio:6/5){.basket{height:125px;padding:25px 0 0}#basket-items{min-width:75px}.acorn-patch{grid-template-columns:repeat(2,1fr);gap:3px}.acorn-patch .play-piece{height:56px;min-width:56px}.collect-play{align-items:center}.activity-mode #scene:has(.collect-play){bottom:188px}.activity-mode:has(.collect-play) .guide{height:86px;bottom:91px}.activity-mode:has(.collect-play) .speech{min-height:70px;padding:6px 9px}.activity-mode:has(.collect-play) #repeat{height:96px}.activity-mode:has(.collect-play) #instruction{font-size:14px}}
.memory-preview{display:grid;place-items:center;width:42px;height:42px;border-radius:12px;border:2px solid #c6b697}.memory-preview img{width:32px;height:32px;object-fit:contain}#memory-slots{align-items:center;gap:8px}#memory-slots>span:not(.memory-preview){color:#6244bb}
@media(max-height:680px) and (max-aspect-ratio:6/5){.memory-preview{width:32px;height:32px}.memory-preview img{width:26px;height:26px}#memory-slots{gap:4px}}
#check:disabled{opacity:.52;filter:grayscale(.8)}#check.demo-glow{opacity:1;filter:drop-shadow(0 0 8px #ffcf42)}
.flower-play .play-piece:before,.memory-preview:before{position:absolute;bottom:3px;left:0;right:0;font-size:9px;letter-spacing:2px;color:#17324d;text-align:center;pointer-events:none}.memory-preview{position:relative;padding-bottom:4px}.memory-preview:before{font-size:6px;letter-spacing:1px;bottom:1px}
.flower-play [data-piece="0"]:before,.memory-preview[data-flower="0"]:before{content:'●'}.flower-play [data-piece="1"]:before,.memory-preview[data-flower="1"]:before{content:'●●'}.flower-play [data-piece="2"]:before,.memory-preview[data-flower="2"]:before{content:'●●●'}.flower-play [data-piece="3"]:before,.memory-preview[data-flower="3"]:before{content:'●●●●'}
/* The main adventure searches directly in the forest, including the friend. */
.finding-friend .focus-ring{display:none}.finding-friend #scene.discovered .focus-ring{display:block}
.finding-friend .speech{visibility:visible}.finding-friend .scene-board{width:min(100%,calc(100cqh * 1.5))}
.friend-search{width:18%;min-width:64px;min-height:64px}
@media(max-aspect-ratio:6/5) and (max-width:599px){.finding-friend .scene-board{width:min(100%,calc(100cqh * .8))}#game:not(.activity-mode) #taskProgress img{width:18px;height:18px}}
/* Transparent clue objects, with no circular scene crop or image background. */
#clue .trail-object{width:66px;height:66px;object-fit:contain;background:none;border:0;box-shadow:none;border-radius:0}
.remember-objects{display:flex;align-items:center;justify-content:center;gap:16px;margin:26px 0}.remember-item{display:flex;flex-direction:column;align-items:center;gap:10px;flex:0 1 145px;min-width:0}.remember-item .trail-object{width:100%;height:125px;object-fit:contain;background:none;border:0;box-shadow:none}.remember-item>span{color:#6244bb;font-size:23px}.trail-arrow{font-size:26px;color:#6244bb}.remember-item.already-found{opacity:.45}.memory-note{font-size:16px!important;color:#55647b}.remember-progress{display:flex;gap:9px;justify-content:center;margin:8px 0}.remember-progress span{display:grid;place-items:center;width:34px;height:34px;border:2px solid #d0c3e6;border-radius:50%;color:#8872b4}.remember-progress .now{background:#6244bb;border-color:#6244bb;color:white}.remember-progress .done{background:#ffe8a0;color:#17324d;border-color:#d6b968}
@media(max-width:599px){.remember-objects{gap:8px;margin:20px 0}.remember-item{flex-basis:85px}.remember-item .trail-object{height:85px}.trail-arrow{font-size:19px}.memory-trail-panel h2{font-size:25px}.memory-note{font-size:14px!important}.remember-progress span{width:27px;height:27px;font-size:15px}}

.overlay .panel{width:min(720px,100%);max-width:100%;min-width:0}
#searchMode[aria-pressed=true],#memoryMode[aria-pressed=true]{background:#6244bb;color:#fff;border-color:#6244bb}
.panel:has(#searchMode) .actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}.panel:has(#searchMode) #return,.panel:has(#searchMode) #openingBack{grid-column:1/-1}#searchMode,#memoryMode{font-size:15px;padding:8px 10px}
@media(max-height:700px){.panel:has(#searchMode) .menu-friends{margin:8px 0}.panel:has(#searchMode) .actions{gap:8px}}

.exact-leaf{display:inline-block;vertical-align:middle}.exact-leaf svg{width:100%;height:100%;overflow:visible}.exact-leaf .leaf-portrait{display:none}@media(max-aspect-ratio:6/5) and (max-width:599px){.exact-leaf .leaf-landscape{display:none}.exact-leaf .leaf-portrait{display:block}}
/* Juno is a visible play partner, including in a narrow desktop preview. */
.hopping-juno{width:128px;height:128px;max-width:none;z-index:3;filter:drop-shadow(0 3px 2px #17324d24)}
.activity-mode:has(.stone-play) .activity-friend{width:96px;height:96px}
@media(max-width:599px){.hopping-juno{width:88px;height:88px}.activity-mode:has(.stone-play) .activity-friend{width:64px;height:64px}}
@media(max-height:680px){.hopping-juno{width:80px;height:80px}.activity-mode:has(.stone-play) .activity-friend{width:54px;height:54px}}
.hopping-juno{bottom:calc(var(--piece-size) - 24px)}
/* Search props belong to one persistent visit, independently of the painted forest. */
.mirrored-forest{transform:scaleX(-1)}
.movable-clue{width:12%;height:auto;aspect-ratio:1;min-width:56px;min-height:56px;max-width:100px;z-index:2;overflow:visible}
.movable-clue.clue-leaf{width:17%;max-width:132px}
.movable-clue .placed-prop{display:block;width:100%;height:100%;aspect-ratio:1;transform:rotate(var(--turn));filter:drop-shadow(1px 3px 2px #3d2b1c55);pointer-events:none}
.movable-clue .trail-object{display:block;width:100%;height:100%;object-fit:contain;pointer-events:none}
.movable-clue .exact-leaf svg{width:100%;height:100%}
.movable-clue.collected-clue .selection-mark{display:grid;background:#6244bb;color:white}
.movable-clue.collected-clue{border-color:transparent;background:none}
.movable-clue:disabled{opacity:1;cursor:default}
.finding-friend .focus-ring{display:none}
@media(max-width:599px){.movable-clue{width:18%;max-width:68px}.movable-clue.clue-leaf{width:24%;max-width:90px}}

/* Full-bleed opening with compositions selected for the available aspect ratio. */
#opening picture:before{content:none}
#opening picture img{object-fit:cover;object-position:center}
/* Natural scale; retain the full touch target around these small forest finds. */
.movable-clue.clue-acorn .placed-prop{transform:rotate(var(--turn)) scale(.55)}
.movable-clue.clue-berry .placed-prop{transform:rotate(var(--turn)) scale(.48)}

/* The board sits in the forest clearing, without a blurred duplicate scene. */
#world{filter:none;transform:none;opacity:1}
.veil{background:linear-gradient(#17324d12,transparent 22%,transparent 75%,#17324d12)}
