#level03Screen.active{display:flex;flex-direction:column;background:#17383b}.l3-room{position:relative;flex:1 1 auto;height:auto;min-height:390px;overflow:hidden;background:url("assets/level03/closing-time-stockroom.png") center/cover no-repeat;image-rendering:auto;transition:background-image .35s ease}
.l3-room.cleared{background-image:url("assets/level03/stockroom-items-removed.png")}
.l3-intro{position:absolute;z-index:8;left:18px;right:18px;bottom:18px;padding:18px;border:4px solid #17383b;background:#fff7e8f2;box-shadow:7px 7px 0 #d68576}
.l3-intro span,.l3-closeup-card>span{color:#555653;font-size:12px;font-weight:900;letter-spacing:.16em}
.l3-intro p{margin:9px 0 15px;color:#17383b;font-size:17px;line-height:1.42}
.l3-game{position:absolute;inset:0}.l3-objective{position:absolute;z-index:7;inset:0 0 auto;height:43px;background:#f4dfb4e8}
.l3-hotspot,.l3-shelf-target{position:absolute;z-index:4;border:0;background:transparent;cursor:zoom-in;border-radius:16px}
.l3-hotspot:focus-visible,.l3-shelf-target:focus-visible{outline:3px solid #fff7e8;outline-offset:2px}
.l3-hotspot.collected{pointer-events:none;cursor:default}
.hs-l3-cups{left:0;bottom:0;width:29%;height:48%}.hs-l3-recycling{left:35%;top:38%;width:31%;height:39%}.hs-l3-ladder{right:0;top:31%;width:22%;height:50%}.hs-l3-chair{left:0;top:20%;width:17%;height:33%}
.l3-shelf-target{right:19%;top:6%;width:27%;height:27%;cursor:pointer}.l3-room.cleared .hs-l3-recycling{display:none}.l3-room:not(.cleared) .l3-shelf-target{pointer-events:none}
.l3-room-item{position:absolute;z-index:3;display:none;object-fit:contain;pointer-events:none;filter:drop-shadow(0 5px 4px #2b180966)}
.l3-room.cleared .l3-cups-prop{display:block;left:-2%;bottom:-6%;width:31%;height:42%}.l3-room.cleared .l3-ladder-prop{display:block;right:-1%;bottom:4%;width:21%;height:48%}
.l3-room.cups-collected .l3-cups-prop,.l3-room.ladder-collected .l3-ladder-prop{display:none}
.l3-room.ladder-placed .l3-placed-ladder{display:block;left:14%;bottom:1%;width:25%;height:50%}.l3-room.cups-stored .l3-stored-cups{display:block;left:32%;bottom:2%;width:20%;height:27%}
.l3-task{z-index:7;bottom:10px;pointer-events:none}.l3-inventory{min-height:112px;padding:11px 14px 5px}.l3-inventory button{min-width:104px}.l3-inventory .item-icon{width:80px;height:80px;object-fit:contain}.l3-help{margin:0;padding:0 14px 8px}.l3-hint{margin-bottom:12px}
.l3-closeup{position:absolute;z-index:30;inset:0;display:grid;place-items:center;padding:14px;background:#102d2fd9}.l3-closeup[hidden]{display:none}.l3-closeup-card{position:relative;width:min(432px,100%);max-height:calc(100vh - 28px);overflow:auto;padding:24px 18px 20px;border:4px solid #17383b;background:#fff7e8;box-shadow:8px 8px 0 #d68576}
.l3-closeup-card h3{margin:7px 42px 12px 0;font-family:Georgia,serif;font-size:28px;color:#163b3e}.l3-closeup-card p{font-size:16px;line-height:1.45;color:#443e37}#l3CloseupActions{display:grid;gap:9px;margin-top:14px}#l3CloseupActions button{min-height:48px;padding:10px 14px;border:0;border-bottom:4px solid #17383b;background:#d68576;color:#fff;font-weight:900;font-size:15px;cursor:pointer}
.l3-clue-image{display:block;width:100%;max-height:205px;object-fit:contain;background:#f3dfbd}.sort-score{display:flex;justify-content:space-between;margin-bottom:7px;padding:7px 10px;background:#17383b;color:#fff7e8;font-size:13px;font-weight:900;letter-spacing:.08em}.sort-score b{color:#f0a594;font-size:18px}.sort-conveyor{position:relative;height:142px;overflow:hidden;border:3px solid #294f51;background:#d8b47b}.belt-stripes{position:absolute;inset:99px 0 0;background:repeating-linear-gradient(90deg,#17383b 0 22px,#d68576 22px 30px);animation:belt-roll .8s linear infinite}.sort-items{position:relative;z-index:2;height:100%}.sort-bins{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-top:9px}
.sort-item{position:absolute;left:0;top:4px;width:104px;min-height:94px!important;padding:0!important;border:0!important;background:transparent!important;box-shadow:none!important;cursor:grab!important}.sort-item img{display:block;width:94px;height:94px;object-fit:contain;filter:drop-shadow(0 5px 3px #17383b44)}.sort-item.active{animation:item-travel 4.2s linear forwards}.sort-item.bounced{animation:sort-spit .48s ease}.sort-bin{display:grid;place-items:center;gap:0;min-height:112px!important;padding:2px!important;border:2px solid #294f51!important;border-bottom-width:4px!important;background:#fffaf0!important;color:#17383b!important}.sort-bin img{width:100%;height:72px;object-fit:contain}.sort-bin b{font-size:13px}.sort-bin span{font-size:12px;font-weight:900}.sort-bin.full{background:#d5ead0!important}.sort-bin.correct{animation:sort-chomp .36s ease}.sort-bin.wrong{animation:sort-bin-no .45s ease}.sort-bin:disabled{opacity:.65}.sort-skip{width:100%;min-height:38px;margin-top:7px;border:2px solid #294f51;border-bottom-width:4px;background:#f2c4bb;color:#17383b;font-size:12px;font-weight:900}.sort-reaction{margin-top:7px;padding:7px 9px;border:2px solid #294f51;font-size:12px;font-weight:900;text-align:center}.sort-reaction.correct{background:#d5ead0}.sort-reaction.wrong{background:#f2c4bb}.sort-start{display:grid;grid-template-columns:120px 1fr;align-items:center;gap:14px;padding:15px;border:3px solid #294f51;background:#f4dfb4}.sort-start>div{display:grid;place-items:center;padding:10px;background:#17383b;color:#fff7e8}.sort-start>div b{font:700 44px/1 Georgia,serif}.sort-start>div span{font-size:11px;font-weight:900}.sort-start p{margin:0!important;font-weight:900}.sort-start small{grid-column:1/-1;text-align:center;font-size:12px}.sort-finish{display:grid;gap:7px;padding:28px 12px;border:3px solid #294f51;background:#d5ead0;text-align:center}.sort-finish strong{font:700 22px Georgia,serif}.sort-finish span{font-size:14px}
@keyframes belt-roll{to{background-position:30px 0}}@keyframes item-travel{from{transform:translateX(-110px)}to{transform:translateX(438px)}}@keyframes sort-bin-no{0%,100%{transform:translateX(0)}20%,60%{transform:translateX(-6px) rotate(-2deg)}40%,80%{transform:translateX(6px) rotate(2deg)}}@keyframes sort-spit{0%{transform:translateY(18px) scale(.8)}45%{transform:translateY(-15px) scale(1.08)}100%{transform:translateY(0) scale(1)}}@keyframes sort-chomp{0%,100%{transform:scale(1)}45%{transform:scale(1.08) rotate(-2deg)}70%{transform:scale(.96)}}
.route-check{display:grid;grid-template-columns:repeat(2,1fr);gap:9px}.route-check b{padding:12px;border:2px solid #315355;background:#fffaf0;font-size:14px;text-align:center}.route-check b.done{background:#cfe3d5}
.l3-success-panel{padding-top:34px}.l3-success-panel h2{font-size:42px}.l3-success-animation{position:relative;width:100%;aspect-ratio:3/2;max-height:390px;overflow:hidden;border:4px solid #17383b;margin:22px 0 12px;background:#563522}.l3-success-frame{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}.l3-frame-lace{z-index:3}.l3-frame-before{z-index:2;opacity:0}.l3-frame-after{z-index:1;opacity:0}.screen.active .l3-frame-lace{animation:l3-lace 6.6s steps(1,end) 1 forwards}.screen.active .l3-frame-before{animation:l3-before 6.6s steps(1,end) 1 forwards}.screen.active .l3-frame-after{animation:l3-after 6.6s steps(1,end) 1 forwards}@keyframes l3-lace{0%,30%{opacity:1}31%,100%{opacity:0}}@keyframes l3-before{0%,30%{opacity:0}31%,61%{opacity:1}62%,100%{opacity:0}}@keyframes l3-after{0%,61%{opacity:0}62%,100%{opacity:1}}
.l3-auto-note{margin:10px 0 0!important;font-size:13px!important;letter-spacing:.08em;text-transform:uppercase}.interlude-screen{background:#122f32;color:#fff7e8}.interlude-screen.active{display:block}.interlude-stage{position:relative;width:100%;height:100%;min-height:700px;overflow:hidden;background:#122f32}.interlude-title{position:absolute;z-index:4;top:0;left:0;right:0;padding:28px 24px 24px;background:#102d2f}.interlude-title small{font-weight:900;letter-spacing:.22em;color:#e5a294}.interlude-title h2{margin:7px 0 0;font:700 34px/1.05 Georgia,serif}.interlude-frames{position:absolute;z-index:1;top:136px;left:0;width:100%;aspect-ratio:2/1;overflow:hidden;border-top:4px solid #e5a294;border-bottom:4px solid #e5a294;background:#6e4a33}.interlude-frames img{position:absolute;left:0;top:0;width:100%;height:300%;object-fit:fill;transform:translateY(0);filter:saturate(.92) contrast(1.02)}.interlude-stage:after{content:"";position:absolute;z-index:2;inset:0;pointer-events:none;background:linear-gradient(transparent 48%,#102d2fd9 76%,#102d2f)}.interlude-day,.interlude-line{position:absolute;z-index:5;left:24px;right:24px;margin:0;text-align:center;opacity:0;text-shadow:0 2px 12px #102d2f}.interlude-day{bottom:112px;font:700 18px Georgia,serif}.interlude-line{bottom:55px;font:700 23px/1.25 Georgia,serif}.interlude-screen.playing .interlude-frames img{animation:interlude-panels 9s steps(1,end) forwards}.interlude-screen.playing .interlude-day-one{animation:interlude-copy-one 9s linear forwards}.interlude-screen.playing .interlude-day-two{animation:interlude-copy-two 9s linear forwards}.interlude-screen.playing .interlude-day-three{animation:interlude-copy-three 9s linear forwards}.interlude-screen.playing .interlude-line{animation:interlude-final-line 9s linear forwards}@keyframes interlude-panels{0%,32%{transform:translateY(0)}33%,65%{transform:translateY(-33.3333%)}66%,100%{transform:translateY(-66.6667%)}}@keyframes interlude-copy-one{5%,25%{opacity:1}0%,32%,100%{opacity:0}}@keyframes interlude-copy-two{38%,58%{opacity:1}0%,33%,65%,100%{opacity:0}}@keyframes interlude-copy-three{70%,80%{opacity:1}0%,66%,85%,100%{opacity:0}}@keyframes interlude-final-line{84%,96%{opacity:1}0%,82%,100%{opacity:0}}
@media(max-height:760px){.l3-success-animation{max-height:300px}.l3-success-panel{padding-top:20px}.l3-success-panel h2{font-size:35px;margin:8px 0}}
@media(max-width:520px){.l3-room{height:535px}.l3-closeup-card{padding:20px 14px}.sort-item,.sort-bin{font-size:12px!important}.l3-success-panel p{font-size:15px}}
@media(prefers-reduced-motion:reduce){.belt-stripes,.sort-item.active,.sort-item.bounced,.sort-bin.correct,.sort-bin.wrong{animation:none}}
@media(max-width:520px){.interlude-title h2{font-size:30px}.interlude-line{font-size:21px}.interlude-stage{min-height:100%}.interlude-frames{top:128px}}
@media(max-width:520px){#level03Screen .l3-room{height:auto}}
@media(prefers-reduced-motion:reduce){.screen.active .l3-frame-lace,.screen.active .l3-frame-before{animation:none;opacity:0}.screen.active .l3-frame-after{animation:none;opacity:1}.interlude-screen.playing .interlude-frames img{animation:interlude-panels 9s steps(1,end) forwards}}
.interlude-day,.interlude-line{top:calc(136px + min(50vw,250px) + 26px);bottom:auto}
@media(max-width:520px){.interlude-day,.interlude-line{top:calc(128px + 50vw + 26px)}}
.interlude-actions{position:absolute;z-index:6;top:calc(136px + min(50vw,250px) + 104px);left:24px;right:24px;display:grid;grid-template-columns:1fr 1fr;gap:10px}.interlude-actions .primary,.interlude-actions .secondary{margin:0;min-height:48px}.interlude-actions .secondary{background:#fff7e8;color:#17383b;border:3px solid #d68576}
@media(max-width:520px){.interlude-actions{top:calc(128px + 50vw + 104px)}}
.interlude-screen.playing .interlude-line{animation:interlude-final-line-hold 9s linear forwards}
@keyframes interlude-final-line-hold{0%,82%{opacity:0}84%,100%{opacity:1}}
.interlude-frames{background-image:url("assets/interlude-v2/01-wiping-table-v4.png");background-position:center;background-size:cover;background-repeat:no-repeat;filter:saturate(.92) contrast(1.02)}
.interlude-frames{aspect-ratio:3/2;background-image:none;filter:none}.interlude-frame-layer{position:absolute;inset:0;background:url("assets/interlude-i-atlas.png") 0 0/200% 200% no-repeat;opacity:0;transition:opacity .65s ease;will-change:opacity}.interlude-frame-layer.active{opacity:1}.interlude-day,.interlude-line{top:calc(136px + min(66.67vw,333px) + 26px)}.interlude-actions{top:calc(136px + min(66.67vw,333px) + 104px)}
@media(max-width:520px){.interlude-day,.interlude-line{top:calc(128px + min(66.67vw,333px) + 26px)}.interlude-actions{top:calc(128px + min(66.67vw,333px) + 104px)}}
#interlude1Screen .interlude-line{font:700 21px/1.3 Georgia,serif;color:#fff7e8}
#interlude1Actions{top:calc(136px + min(66.67vw,333px) + 135px)}
@media(max-width:520px){#interlude1Actions{top:calc(128px + min(66.67vw,333px) + 135px)}}
@media(max-width:390px){#interlude1Actions{top:calc(128px + min(66.67vw,333px) + 185px)}}
