/* Final founder corrections; Completion is deliberately outside these selectors. */
.welcome-board{isolation:isolate}.welcome-board::before{content:'';position:absolute;inset:-12px;background:url('assets/snack-discovery-town-tablet-concept-v1.png') center/100% 100%;filter:blur(8px);z-index:-1;mask-image:linear-gradient(transparent,#000 12px,#000 calc(100% - 12px),transparent)}
.welcome-board>.gear,.map-board>.gear{top:3%;right:3%;width:clamp(44px,6cqh,72px);height:clamp(44px,6cqh,72px)}.map-board>.back{top:3%;left:3%;width:17%;height:clamp(44px,6cqh,72px);font-size:clamp(18px,2.3cqw,27px)}
.map-compact{position:absolute;top:3%;left:35%;width:30%;text-align:center;color:#073f47;filter:drop-shadow(0 2px 2px #168a8855);z-index:3}.map-compact svg{width:100%;height:auto;display:block;overflow:visible}.map-compact small{font-size:clamp(12px,1.45cqw,18px);white-space:nowrap;line-height:1.1;display:block;margin-top:3px}.map-compact svg>g#compact-stars image{filter:none}
.map-board .map-continue{left:32%;width:36%;bottom:3%;font-size:clamp(18px,2.4cqw,28px);min-height:44px;color:#073c43}
.checkpoint{padding:0;border:0!important;border-radius:0;box-shadow:none!important;background:none!important;width:15%;font-size:clamp(12px,1.6cqw,20px);line-height:1.05;z-index:2}.checkpoint-platform{position:relative;container-type:inline-size;filter:drop-shadow(0 2px 2px #24697655)}.checkpoint-platform>img{display:block;width:100%;height:auto}.checkpoint .checkpoint-number{position:absolute;left:50%;bottom:1.5cqw;transform:translateX(-50%);width:19cqw;height:23cqw;border-radius:50%;background:#eff6ef;color:#073646;font-size:20cqw;font-weight:650;display:flex;align-items:center;justify-content:center;line-height:1}.checkpoint.current .checkpoint-number{background:#147c7c;color:white}.checkpoint-label{display:block;width:max-content;max-width:130%;margin:2px auto 0;position:relative;left:50%;transform:translateX(-50%);padding:4px 8px;border:1px solid #65c7c4;border-radius:9px;background:linear-gradient(#fffdf0,#ddf7ef);box-shadow:0 2px 2px #2e6f6433;font-weight:650;white-space:nowrap}.checkpoint-label>span{display:block;font-size:.78em}.checkpoint.c1{left:20%;top:44%}.checkpoint.c2{left:50.5%;top:50%}.checkpoint.c3{left:84%;top:54%}.checkpoint.upcoming .checkpoint-platform{opacity:.88}
.scene[data-screen=activity] .group-dot{width:7px;height:7px;border-color:#447d7d}.scene[data-screen=activity] .group-dots{gap:6px}
.round-earned-accent{position:absolute;width:24%;height:auto;left:calc(var(--award-x) - 12%);bottom:28%;pointer-events:none;z-index:10;animation:round-earned 950ms ease-out both}@keyframes round-earned{0%{opacity:0;transform:translateY(6px) scale(.6)}35%,70%{opacity:1;transform:translateY(-6px) scale(1)}100%{opacity:0;transform:translateY(-12px) scale(.85)}}
.scene[data-screen=activity] .pim,.scene[data-screen=activity][data-step=B] .pim{width:26%;height:45%;top:36%;left:1%}
.scene[data-screen=activity] .matched{left:calc(77% - 26px);top:calc(83% - 60px);width:52px;height:52px;display:flex;align-items:center;justify-content:center;font-size:35px;border-radius:11px;border:2px solid #61bdb7;background:linear-gradient(125deg,#f9fff1,#d1eee8);box-shadow:inset 0 0 0 2px #fff,0 2px 3px #317e7d77;color:#073b42;z-index:5;pointer-events:none}
.finish-flag{width:1.2em!important;height:1.2em!important;min-width:0!important;min-height:0!important;object-fit:contain;flex:none}.next.is-finish{flex-direction:row-reverse}
.count-paced .count-apple:not(:disabled):active{transform:translateY(2px) scale(.98)}
.cloud-bank{filter:none}.mist{isolation:isolate}
@media(max-height:500px) and (orientation:landscape){
 .scene[data-screen=activity]{--mat-height:clamp(60px,17cqh,76px);--mat-top:calc(100cqh - var(--dock-bottom) - 44px - 7px - var(--mat-height))}
 .scene[data-screen=activity] .map-progress{aspect-ratio:500 / 80}.scene[data-screen=activity] .group-dot{width:6px;height:6px}.scene[data-screen=activity] .group-dots{top:105%}
 .scene[data-screen=activity] .food,.scene[data-screen=activity]:not([data-activity=F1])[data-fruit=Apple] .food,.scene[data-screen=activity][data-fruit=Pear] .food{top:44%;height:24%}
 .scene[data-screen=activity][data-step=B] .food,.scene[data-screen=activity]:not([data-activity=F1])[data-step=B][data-fruit=Apple] .food,.scene[data-screen=activity][data-step=B][data-fruit=Pear] .food{top:43.2cqh;height:calc(var(--mat-top) - 28px - 43.2cqh)}
 .scene[data-screen=activity][data-activity=F1] .food{top:44%;height:31%}
 .scene[data-screen=activity][data-step=B][data-activity=F4] .instruction br{display:none}
 .scene[data-screen=activity] .hear,.scene[data-screen=activity][data-step=B] .hear{height:44px;min-height:44px}.scene[data-screen=activity] .hear::before{inset:3px 0}
 .scene[data-screen=activity] .pim,.scene[data-screen=activity][data-step=B] .pim{left:1%;top:34%;width:24%;height:44%}
 .scene[data-screen=activity] .matched{left:calc(78% - 20px);top:calc(var(--mat-top) + var(--mat-height) - 40px);width:40px;height:40px;font-size:28px;border-radius:9px}
 .map-compact{left:34%;width:32%;top:3%}.map-compact small{font-size:12px;margin-top:2px}.checkpoint{width:15%;font-size:12px}.checkpoint-label{padding:3px 6px;max-width:145%}.checkpoint-label>span{font-size:10px}.map-board>.back{width:20%;font-size:18px}.map-board .map-continue{font-size:19px;min-height:44px;padding:4px 6px}
}
@media(prefers-reduced-motion:reduce){.round-earned-accent{animation:none;opacity:1;transform:none}.cloud-bank{animation:none!important}.mist:not([hidden]){background:#f6fcfa}.mist[hidden]{display:none!important}}
.checkpoint .checkpoint-label{left:auto;transform:none;max-width:none}
.map-compact svg{stroke:none}
@media(max-height:500px) and (orientation:landscape){.scene[data-screen=activity][data-step=B][data-activity=F4] .food,.scene[data-screen=activity][data-step=B][data-activity=F4][data-fruit=Pear] .food,.scene[data-screen=activity][data-step=B][data-activity=F4][data-fruit=Apple] .food{top:40cqh;height:calc(var(--mat-top) - 28px - 40cqh)}}
@keyframes match-food{45%{filter:drop-shadow(0 0 8px #ffda65) brightness(1.18)}}
/* Focused food/PIM/paper review: F1 and exported certificate pixels are unchanged. */
.scene[data-screen=activity]:not([data-activity=F1])[data-fruit] .food{left:28%;width:50%;gap:2%}
.scene[data-screen=activity]:not([data-activity=F1]) .food[data-count="3"]>img{max-width:31%}
.scene[data-screen=activity][data-step=A]:not([data-activity=F1])[data-fruit] .food{top:44%;height:29%}
.scene[data-screen=activity][data-step=A] .choices{top:79.7%;height:15.3%;justify-content:center;gap:8%}
.scene[data-screen=activity][data-step=A] .tile{width:24.4%;font-size:calc(8.075 * var(--u))}
.scene[data-screen=activity][data-step=B]:not([data-activity=F1])[data-fruit] .food{top:37.5%;height:24%}
.scene[data-screen=activity][data-step=B] .instruction{padding-block:calc(.35 * var(--u))}
#certificate-canvas{width:min(100%,calc((100cqh - 92px) * 1426 / 1103));height:auto;max-height:calc(100cqh - 92px);aspect-ratio:1426/1103;justify-self:center;align-self:center;border-radius:2px;box-shadow:0 1px 0 1px #e2ded3,0 6px 14px #273b3b26}
@media(max-height:500px) and (orientation:landscape){
 .scene[data-screen=activity]:not([data-activity=F1])[data-fruit] .food{left:26%;width:54%;gap:2%}
 .scene[data-screen=activity][data-step=A]:not([data-activity=F1])[data-fruit] .food{top:calc(43.2cqh - 4px);height:calc(26.8cqh + 4px)}
 .scene[data-screen=activity][data-step=A] .choices{top:76%;height:20%}
 .scene[data-screen=activity][data-step=A] .tile{width:22.96%;font-size:clamp(40px,13.6cqh,54.4px)}
 .scene[data-screen=activity]:not([data-activity=F1]) .instruction{padding-block:2px}
 .scene[data-screen=activity][data-step=B]:not([data-activity=F1])[data-fruit] .food{top:calc(43.2cqh - 4px);height:calc(var(--mat-top) - 26px - 43.2cqh + 4px)}
 .scene[data-screen=activity][data-step=B][data-activity=F4][data-fruit] .food{top:calc(40cqh - 12px);height:calc(var(--mat-top) - 26px - 40cqh + 12px)}
 .scene[data-screen=activity]:not([data-activity=F1]) .pim{height:52%}
 #certificate-canvas{width:min(100%,calc((100cqh - 74px) * 1426 / 1103));height:auto;max-height:calc(100cqh - 74px)}
}
