/* Full adventure v1.1 overrides; approved standalone F4 remains unchanged. */
.scene{min-height:0;min-width:0}
.welcome-screen::before{content:'';position:absolute;inset:-30px;background:url('assets/snack-discovery-town-tablet-concept-v1.png') center/cover;filter:blur(15px)}
.welcome-art{object-fit:contain}.title-halo{position:absolute;left:20%;top:3%;width:55%;height:41%;border-radius:50%;background:radial-gradient(ellipse,#fff9dfed 10%,#fff7e1b8 45%,transparent 72%);backdrop-filter:blur(5px);mask-image:radial-gradient(ellipse,#000 40%,transparent 73%)}
.play{left:35%;width:30%;height:17%;min-height:52px;gap:6%;border-radius:clamp(12px,1.7cqw,22px);background:linear-gradient(115deg,#f5fff9,#c6eeeb 65%,#eef5dc);border:2px solid #aff3ec;box-shadow:inset 0 0 0 3px #ffffffed,0 4px 4px #167e8570}
.play span{font-size:1em}.play svg{width:22%;height:70%;color:#073e48;filter:drop-shadow(0 2px 0 #fff)}
.map-continue{background:linear-gradient(#fffef0,#ddf9ef);color:#063c43}.group-dots{position:absolute;top:103%;left:0;width:100%;display:flex;justify-content:center;gap:5px}.group-dot{width:6px;height:6px;border-radius:50%;background:#cbe7e1;border:1px solid #588e8c}.group-dot.earned{background:#eac058;border-color:#9b761d}.group-dot.current{background:#fff9de;outline:1.5px solid #087a84;outline-offset:1px}
.progress-art .earned-fill{transition:none}.truck-body{position:absolute;inset:0}.truck-body>img{width:100%;height:100%;object-fit:contain}.map-truck .wheel{overflow:hidden;background:none;border:0;box-shadow:none;border-radius:50%;animation:none!important}.map-truck .wheel::after{inset:-20%;border:0;background:conic-gradient(transparent 0 25deg,#ffe5a8bd 26deg 42deg,transparent 43deg 170deg,#91432485 171deg 190deg,transparent 191deg);border-radius:50%}.map-truck .wheel.rear{left:15.5%;top:67%;width:3.4%;height:6.8%}.map-truck .wheel.front{left:49.85%;top:81.9%;width:3.5%;height:7.4%}.map-truck.driving .wheel::after{animation:wheel-spin .35s linear infinite}.map-truck.driving .truck-body{animation:truck-bob .45s ease-in-out infinite alternate}
.mist{inset:0;background:none;filter:none;animation:none;pointer-events:all;overflow:hidden}.cloud-bank{position:absolute;left:-60%;top:-30%;width:220%;height:160%;animation:cloud-sweep 1150ms linear both;filter:drop-shadow(0 2px 7px #c7e9e7)}
@keyframes cloud-sweep{0%{transform:translateX(-100%)}45%,55%{transform:translateX(0)}100%{transform:translateX(100%)}}
.food{gap:4%}.food[data-count="3"]>img,.food[data-count="3"]>.count-apple{width:30%}.food img.matched-food{filter:drop-shadow(0 0 8px #ffdc6e) brightness(1.08)}.food img.match-pulse{animation:match-food 500ms ease-out}@keyframes match-food{45%{filter:drop-shadow(0 0 16px #ffda65) brightness(1.22);transform:translateY(-2px)}}
.hear,.scene[data-step=B] .hear{min-width:0!important;width:auto;height:44px;font-size:18px;padding:4px 12px}.hear svg{width:24px;height:24px}
.food[data-count="1"]>img,.food[data-count="1"]>.count-apple{width:61%}.scene[data-step=B] .food{height:22%;top:39%}.hint{top:calc(66% - 33px)}
.completion-screen{height:100%;min-height:0;padding:70px 4% 22px;overflow:hidden}.completion-grid{height:100%;grid-template-columns:minmax(0,1.65fr) minmax(250px,1fr);align-items:center}.completion-grid>canvas{width:100%;max-height:100%;height:auto;object-fit:contain;box-shadow:none}.completion-controls{gap:8px}.completion-controls input{min-width:0}.photo-action-row{display:flex;gap:8px}.photo-action-row>*{flex:1;min-width:0}.completion-action{display:flex;align-items:center;justify-content:center;gap:6px}.completion-action svg{width:26px;height:26px;stroke-width:4;flex:none}#download-status,#photo-status:empty{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
@media(max-height:500px) and (orientation:landscape){
 .scene{--dock-bottom:max(10px,calc(env(safe-area-inset-bottom) + 8px));--mat-height:clamp(64px,19cqh,82px);--mat-top:calc(100cqh - var(--dock-bottom) - 44px - 7px - var(--mat-height))}
 .map-progress{left:39%;top:4%;width:27%;max-width:230px}.rounds b{font-size:10px}.group-dots{top:104%;gap:5px}.group-dot{width:5px;height:5px}
 .instruction-group,.scene[data-step=B] .instruction-group{top:15.7%;left:29%;width:49%}.instruction,.scene[data-step=B] .instruction,.scene[data-activity=F3] .instruction{font-size:clamp(18px,5.1cqh,22px);white-space:normal;padding:4px 7px;line-height:1.03}.instruction br{display:inline}
 .instruction-actions{margin-top:0!important}.hear,.scene[data-step=B] .hear{font-size:14px;padding:8px 9px;min-width:0!important;height:44px;background:none;border-color:transparent;box-shadow:none;isolation:isolate}.hear::before{content:'';position:absolute;inset:7px 0;border-radius:8px;border:1px solid #8cd4cb;background:linear-gradient(#f9fff8,#cbece5);z-index:-1}.hear svg{min-width:18px;min-height:18px;width:18px;height:18px}
 .food,.scene:not([data-activity=F1])[data-fruit=Apple] .food,.scene[data-fruit=Pear] .food{left:29%;width:49%;top:40%;height:25%;gap:4%}
 .scene[data-step=B] .food,.scene:not([data-activity=F1])[data-step=B][data-fruit=Apple] .food,.scene[data-step=B][data-fruit=Pear] .food{top:38.6cqh;height:calc(var(--mat-top) - 28px - 38.6cqh)}
 .scene[data-activity=F1] .food{top:42%;height:33%}.food[data-count="1"]>img,.food[data-count="1"]>.count-apple{width:61%}
 .pim,.scene[data-step=B] .pim{left:2%;top:40%;height:38%;width:20.5%}.feedback,.scene[data-step=B] .feedback{top:19%;left:2%;width:23%;font-size:clamp(15px,4.3cqh,17px);padding:5px;min-height:38px;line-height:1.04}.message-icon{width:22px;height:22px;min-width:22px;min-height:22px}
 .choices{left:29%;width:49%;top:71%;height:25%}.tile{font-size:clamp(48px,17cqh,68px)}.mat{left:29%;width:49%;top:var(--mat-top);height:var(--mat-height)}.hint,.scene[data-step=B] .hint{left:29%;width:49%;top:calc(var(--mat-top) - 24px);height:18px;font-size:15px;line-height:1}
 .tray{left:33%;width:40%}.tray,.check,.scene[data-step=B] .next{top:auto;bottom:var(--dock-bottom);height:44px}.check,.next,.scene[data-step=B] .next{width:19%;right:2%}.next,.scene[data-activity=F1] .next{bottom:var(--dock-bottom);height:44px}.matched{top:calc(var(--mat-top) + 10px);font-size:36px}.count-mark{min-width:26px;min-height:26px;font-size:21px}
 .welcome-board .play{height:18%;top:45%;min-height:48px;font-size:clamp(28px,8cqh,40px)}
 .checkpoint{font-size:16px;padding:4px 10px}.map-heading{font-size:22px;top:15%;padding:4px}.map-continue{font-size:20px;min-height:44px;bottom:3%;width:32%;left:34%}
 .completion-screen{padding:60px 3% 14px}.completion-grid{grid-template-columns:minmax(0,1.6fr) minmax(250px,1fr);gap:3%;max-width:1200px;align-items:center}.completion-grid>canvas{width:100%;height:100%;max-height:100%;object-fit:contain;margin:0}.completion-controls{margin:0;padding:9px 12px;gap:5px;border-radius:14px}.completion-controls p{font-size:14px}.completion-controls label{font-size:16px}.completion-controls input{font-size:18px;height:44px;padding:5px 8px}.completion-action{height:44px;min-height:44px;padding:5px 8px;font-size:18px}.completion-controls small{font-size:12px}.photo-action-row{gap:5px}.photo-action-row .completion-action{font-size:16px}.completion-action svg{width:22px;height:22px}.photo-actions button{min-height:44px}
}
@media(prefers-reduced-motion:reduce){.mist{display:block!important;background:#fffdf1}.cloud-bank{animation:none;transform:none}.map-truck.driving .truck-body,.map-truck.driving .wheel::after,.food .match-pulse{animation:none!important}}
.completion-grid{min-height:0;grid-template-rows:minmax(0,1fr)}.completion-grid>canvas{min-height:0;max-height:calc(100cqh - 92px)}@media(max-height:500px) and (orientation:landscape){.completion-grid>canvas{height:calc(100cqh - 74px);max-height:calc(100cqh - 74px)}.completion-controls{max-height:100%;min-height:0;align-self:center}}

/* Intrinsic fruit widths prevent empty image boxes from spreading small groups apart. */
.food[data-count]>img{width:auto;flex:0 1 auto}.food[data-count="1"]>img{max-width:61%}.food[data-count="2"]>img{max-width:43%}.food[data-count="3"]>img{max-width:30%}
.food[data-count]>.count-apple{width:auto;aspect-ratio:1;flex:0 1 auto}.food[data-count="1"]>.count-apple{max-width:61%}.food[data-count="2"]>.count-apple{max-width:43%}.food[data-count="3"]>.count-apple{max-width:30%}
@media(min-height:501px){.pim,.scene[data-step=B] .pim{width:22%;height:38%;top:40%;left:2%}}
.photo-action-row .completion-action{white-space:nowrap;font-size:18px;height:48px;padding:6px}.photo-action-row .completion-action svg{width:22px;height:22px}@media(max-height:500px) and (orientation:landscape){.photo-action-row .completion-action{font-size:16px;height:44px}}
.mist[hidden]{display:none!important}
