/* Adventure map and independent workshop objects. */
.settings{max-width:190px}.settings button{min-width:80px}.workshop-tap-hint{text-align:center;font-weight:800;font-size:14px;margin:18px 0 0;color:#ffedb8}.workshop-hotspot{min-width:52px;min-height:52px}.hotspot-object{filter:drop-shadow(0 3px 3px #46322777) drop-shadow(0 0 5px #ffe29488)}.hotspot-label{display:none;min-height:44px;width:150px;max-width:180px;font-size:12px;line-height:1.25;white-space:normal;align-items:center;justify-content:center}.workshop-hotspot:focus-visible .hotspot-label{display:flex}.workshop-hotspot:focus-visible{z-index:8}
@media(hover:hover){.workshop-hotspot:hover .hotspot-label{display:flex}.workshop-hotspot:hover{z-index:8}}
@media(max-width:760px){.settings{max-width:180px}.settings button{min-width:77px;font-size:10px}.workshop-hotspot{min-width:52px;min-height:52px}.hotspot-label{font-size:12px;width:145px}.workshop-tap-hint{font-size:13px;padding:0 10px}.topbar{column-gap:6px}.logo{font-size:29px}}
.workshop-hotspot.object-car{width:28%;height:30%;aspect-ratio:auto}.object-car .hotspot-object{width:46%;height:70%;margin:0 auto}.object-car:hover:before,.object-car:focus-visible:before{content:"";position:absolute;inset:0;border:2px dashed #ffe29a;border-radius:22px;pointer-events:none}
.drop-choice{display:flex;align-items:center;justify-content:center;width:95px;max-width:100%;height:90px}.drop-choice svg{width:30%;height:100%;flex:1;min-width:0}.angle-prompt{font-size:16px;font-weight:900;text-align:center}.angle-choices{display:flex;gap:10px;flex-wrap:wrap;justify-content:center}.angle-choices .button{font-size:16px}.viewer-seats>span .seat-picture{position:absolute;inset:0 0 15%;border:3px solid #ba965a;border-radius:5px;background:#204962;overflow:hidden}.viewer-seats>span .seat-picture svg{width:100%;height:100%;opacity:1;transition:transform .4s}.seat-side .view-cut svg{transform:translateX(-25%) scale(1.25)}.seat-little .view-cut svg{transform:translateY(-30%) scale(1.2)}.view-too-high .low-screen{transform:perspective(300px) rotateX(-18deg)}.low-screen{transition:transform .5s}.viewer-seats .seat-checked .seat-picture{border-color:#6eaf83;box-shadow:0 0 0 2px #c4e6a3}
.garden-device .garden-flowers{height:51%;bottom:4%;gap:3%;align-items:end}.garden-device .garden-flowers>.seed-tray{position:relative;display:block;width:31%;height:100%;transform:none;animation:none;transition:none}.seed-tray>svg{width:100%;height:100%}.tray-number{position:absolute;left:9%;bottom:10%;color:#fff7dd;font-weight:900;font-size:16px}.drop-request{position:absolute;left:50%;top:-3%;transform:translateX(-50%);font-size:14px;white-space:nowrap;background:#fff4cc;border:1px solid #b69354;border-radius:9px;padding:1px 4px}.tray-done{position:absolute;right:0;top:35%;background:#448c7b;color:#fff9dd;line-height:24px;width:24px;text-align:center;border-radius:50%;font-size:18px}.garden-device .water-tank{top:0;width:26%;left:0}.garden-device .water-channel{top:35%;width:63%;left:20%;height:23%}.garden-joint{position:absolute;left:20%;top:30%;width:14%;height:26%;transform:rotate(20deg)}.garden-joint svg{width:100%;height:100%}.joint-locked{transform:none}.leaking-water{position:absolute;left:26%;top:51%;height:25%;width:3%;background:repeating-linear-gradient(0deg,#83c4da 0 8px,transparent 8px 13px);animation:pour-water .5s linear infinite}.is-sealed .leaking-water{display:none}.collection-tub{position:absolute;left:17%;top:72%;width:22%;height:13%;border:4px solid #a17b49;border-radius:10% 10% 35% 35%;background:linear-gradient(#8ad0dc 20%,#b7a36b 30%)}.mechanism-label{position:absolute;left:2%;bottom:-6%;max-width:96%;font-weight:900;font-size:12px;line-height:1.2;color:#806238;text-align:center;background:#fff1c8;padding:4px 9px;border-radius:10px;border:1px solid #cfb47d}.garden-device .mechanism-label{bottom:0}.ozzlo-fountain{position:absolute;width:40%;height:78%;right:7%;top:-1%;background:#fff0c9aa;border-radius:20px}.ozzlo-fountain svg{width:100%;height:100%}.bench-scraps{position:absolute;left:25%;top:4%;width:38%;height:34%;display:flex}.bench-scraps svg{width:50%;height:100%}.garden-device.has-mistake .collection-tub:before{content:"💧";position:absolute;left:40%;top:-40px;animation:overflow-drop .5s ease-in infinite}.garden-device.has-mistake .water-channel{filter:hue-rotate(30deg)}
.star-show-device{position:absolute;inset:0}.projector-model{position:absolute;left:3%;bottom:22%;width:35%;height:52%}.projector-model svg{width:100%;height:100%}.projector-beam{position:absolute;left:30%;top:12%;width:49%;height:50%;background:linear-gradient(90deg,#ffecac99,#ffecac22);clip-path:polygon(0 73%,100% 0,100% 100%);opacity:.1}.is-lit .projector-beam{opacity:1}.low-screen{position:absolute;right:4%;top:8%;width:53%;height:58%;border:7px solid #bb8f50;border-radius:4px;background:#183d59;box-shadow:0 4px #7d562e}.low-screen:after{content:"";position:absolute;left:15%;top:100%;width:7%;height:27%;background:#9a743e;box-shadow:100px 0 #9a743e}.low-screen>svg{width:100%;height:100%;opacity:.08;transition:transform .6s,opacity .4s}.is-lit .low-screen>svg{opacity:1}.is-upside-down .low-screen>svg{transform:rotate(180deg)}.reference-pattern{position:absolute;right:2%;top:-18%;width:31%;height:32%;background:#fff2d1;border:2px solid #c5a46d;border-radius:6px;display:none}.is-upside-down .reference-pattern{display:block}.reference-pattern svg{width:100%;height:100%;background:#2a536b}.reference-pattern small{display:block;font-size:10px;line-height:1;text-align:center}.projected-tassels{position:absolute;right:7%;top:6%;width:43%;height:66%;z-index:2}.projected-tassels svg{width:100%;height:100%}.viewer-seats{position:absolute;left:10%;right:8%;bottom:0;display:flex;justify-content:space-between;gap:10%}.viewer-seats>span{position:relative;width:24%;height:62px}.viewer-seats svg{width:100%;height:100%;opacity:.4}.viewer-seats .seat-checked svg{opacity:1}.viewer-seats b{position:absolute;left:50%;bottom:0;transform:translateX(-50%);font-size:11px;line-height:18px;padding:0 5px;white-space:nowrap;color:#345e63;background:#f4e8c4;border-radius:7px}.viewer-seats .seat-checked b{background:#74a886;color:white}.star-show-device .mechanism-label{bottom:-10%;font-size:11px;z-index:3}.optical-parts{position:absolute;left:0;top:0;display:flex;width:40%;height:29%;gap:2px}.optical-parts>svg{width:31%;height:100%}.star-show-device.has-mistake .low-screen>svg{filter:blur(3px)}.mechanism-garden .chapter-mechanism{padding-bottom:25px}.mechanism-signal{margin-bottom:30px}
.bread-tray{position:relative;width:80%;height:90px;margin:10px auto 15px;background:linear-gradient(#d39a54,#a76f37);border:4px solid #82542b;border-radius:12px;box-shadow:inset 0 0 0 5px #f0c481}.bread-tray .bread-roll{position:absolute;top:20%;width:22%;height:48%;border-radius:50%;background:linear-gradient(#f3d28b,#c9883c);border:2px solid #a86d30;box-shadow:inset 0 4px 4px #ffe6a7}.bread-tray .bread-roll:nth-child(1){left:8%;rotate:-12deg}.bread-tray .bread-roll:nth-child(2){left:38%;rotate:5deg}.bread-tray .bread-roll:nth-child(3){left:68%;rotate:-4deg}.bread-roll:after{content:"";position:absolute;left:20%;right:20%;top:20%;height:40%;border-top:3px solid #fae2a6;border-bottom:3px solid #fae2a6;border-radius:50%;rotate:-25deg}.bread-tray-lid{position:absolute;inset:0;border:3px solid #b8823d;border-radius:8px;background:linear-gradient(100deg,#e6bc7599,#fff0b8cc);transform-origin:50% 0;z-index:4}.bread-tray-lid:after{content:"";position:absolute;left:41%;top:23%;width:18%;height:35%;border:5px solid #8d663b;border-bottom:0;border-radius:50% 50% 0 0}.broken-handle{position:absolute;right:-10%;top:10%;width:23%;height:50%;border:7px solid #9d713e;border-left:0;border-top-color:transparent;border-radius:40%;rotate:25deg}.tray-problem{position:relative;max-width:420px;width:100%;padding:5px 20px;background:#f9e9bc;border-radius:12px}.tray-problem .bread-tray{animation:tray-tip 3s ease-in-out infinite}.tray-problem>p{font-size:14px;font-weight:800;color:#856236;line-height:1.3;text-align:center;margin:0}.retaining-ring-target{display:block;width:90px;height:90px;padding:4px;border:3px dashed #b57e36;border-radius:50%;background:#fff1c5;margin:5px auto}.retaining-ring-target svg{width:100%;height:100%}.fit-instruction{text-align:center;font-size:15px;font-weight:800}.secured-ring{position:absolute;left:68%;top:73%;width:11%;height:17%;border:5px solid #eec96b;border-radius:50%;transform:translate(-50%,-50%);z-index:6}.loaded-test{position:relative;width:100%}.loaded-test>.bread-tray{position:absolute;left:26%;top:21%;width:50%;height:18%;z-index:2}.route-branch{position:absolute;left:77%;bottom:4%;width:24%;height:36%;transition:transform .6s,opacity .6s;z-index:3}.route-branch svg{height:100%;width:100%}.path-cleared .route-branch{transform:translate(80%,40%) rotate(60deg);opacity:.25}.credit-prompt{font-size:21px!important;font-weight:900;text-align:center}.credit-step{font-size:13px;font-weight:800;color:#8d6936}.delivered-tray{height:100%;width:100%;margin:0}.finale-delivery .bread-tray{height:75%;width:100%;margin:0}.is-cheering .finale-delivery .bread-tray-lid,.is-finished .finale-delivery .bread-tray-lid{transform:perspective(200px) rotateX(115deg);transition:transform 1.5s .8s}.object-car.is-active .hotspot-object svg circle{transform-box:fill-box;transform-origin:center;animation:object-turn .3s linear infinite}.is-active .hotspot-object svg circle{will-change:transform}
@keyframes tray-tip{0%,100%{transform:rotate(0)}35%{transform:rotate(-4deg)}55%{transform:rotate(4deg)}}@keyframes overflow-drop{to{transform:translateY(25px);opacity:0}}
.adventure-selection{margin:20px auto 45px;text-align:center}.adventure-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;text-align:left}.adventure-card{display:flex;flex-direction:column;gap:12px;overflow:hidden;padding:0 0 25px}.adventure-card>img{width:100%;aspect-ratio:3/2;object-fit:cover}.adventure-card>h2,.adventure-card>p,.adventure-card>button{margin:0 22px}.adventure-card>h2{font-size:30px}.adventure-card>p:not(.eyebrow){flex:1;font-size:16px}.adventure-card>.eyebrow{margin-top:8px}.adventure-card>button{font-size:18px;align-self:stretch}.random-adventure{margin:28px 0 14px}.selection-note{font-size:14px}.inside-workshop{padding-top:30px}.inside-workshop>h2{margin-bottom:24px}
.room-scene{height:auto;aspect-ratio:3/2;max-height:none}.room-scene .scene-illustration>.scene-bg{object-fit:contain!important}.workshop-hotspots{position:absolute;inset:0;pointer-events:none;z-index:4}.workshop-hotspot{position:absolute;left:var(--x);top:var(--y);width:13%;min-width:52px;aspect-ratio:1;transform:translate(-50%,-50%);border:0;background:none;padding:0;pointer-events:auto}.hotspot-object{display:block;width:100%;height:100%;filter:drop-shadow(0 4px 3px #462d2688);transform-origin:50% 80%}.hotspot-object>svg{width:100%;height:100%;display:block}.hotspot-label{position:absolute;left:50%;top:100%;transform:translateX(-50%);background:#fff0c9;color:#24525d;border:2px solid #c89d51;border-radius:14px;padding:4px 10px;font:bold clamp(10px,1vw,14px)/1.2 var(--body);white-space:nowrap;box-shadow:0 3px #71512c}.workshop-hotspot:hover .hotspot-label,.workshop-hotspot:focus-visible .hotspot-label{background:#ffe093}.hotspot-sparks{position:absolute;inset:-20%;pointer-events:none;font-size:clamp(20px,3vw,45px);letter-spacing:10px;color:#ffe28d;text-shadow:0 2px #936339;opacity:0}.is-active .hotspot-sparks{animation:hotspot-spark 1.4s ease-out both}.object-wheel.is-active .hotspot-object{animation:object-wheel-return 2.5s ease-in-out both}.object-gear.is-active .hotspot-object{animation:object-turn 1.2s ease-in-out 2}.object-pot.is-active .hotspot-object{animation:object-pot-dance .4s ease-in-out 6 alternate}.object-car.is-active .hotspot-object{animation:object-rev .12s ease-in-out 15 alternate}.object-bow.is-active .hotspot-object{animation:object-flourish 1.4s ease-in-out both}.object-map.is-active .hotspot-object,.object-plan.is-active .hotspot-object{animation:object-unfold 1.3s ease-out both}.object-wing.is-active .hotspot-object{animation:object-flap .35s ease-in-out 6 alternate}.object-goggles.is-active .hotspot-object{animation:object-flourish .85s ease-in-out 2}.object-bulb.is-active .hotspot-object{animation:object-idea .4s ease-in-out 5 alternate}.portrait.is-reacting{animation:workshop-reaction .45s ease-in-out 4 alternate}.room-guide{z-index:6;pointer-events:none}.room-guide .read{pointer-events:auto}.room-action{z-index:7}.audio-unlock-note{max-width:1400px;width:calc(100% - 120px);margin:-10px auto 18px;font-size:12px;color:#ffedbb;text-align:right}.audio-unlock-note[hidden]{display:none}
.piece.bow{background:none!important;aspect-ratio:1;display:inline-flex;align-items:center;justify-content:center}.piece.bow>svg{width:100%;height:100%;display:block;filter:drop-shadow(0 2px 1px #79432955)}.remove-bow{border-radius:12px}.remove-bow>span.piece{position:static;background:transparent;min-width:0}.remove-bow>span:last-child:not(.piece){font-size:18px;line-height:24px;width:24px;right:-2px;bottom:3px}.decoration-stage.is-jammed .remove-bow{animation:none}.decoration-stage.is-jammed .fitted-wheel{animation:wheel-loose .8s ease-out both}.is-jammed .tangled-ribbons{background:radial-gradient(ellipse at 18% 75%,#de64b477,transparent 17%),radial-gradient(ellipse at 66% 75%,#de64b477,transparent 17%)}
.chapter-mechanism{position:relative;isolation:isolate;width:100%;height:240px;background:radial-gradient(ellipse at 50% 75%,#e6c88d 0,transparent 70%);border-bottom:3px solid #ba975b;margin:0 0 12px}.chapter-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;width:100%;margin:15px 0}.chapter-options .choice{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:0}.chapter-options .choice>svg{width:85px;max-width:100%;aspect-ratio:1}.chapter-options .choice[aria-pressed=true]{outline:3px solid #70c3af;background:#e5f2c8}.chosen-mark{position:absolute;right:5px;top:2px;color:#286c55;font-weight:900}.order-strip{font-size:15px;min-height:25px;font-weight:800;text-align:center}.garden-device,.signal-device{position:absolute;inset:0}.garden-sun{position:absolute;right:12%;top:1%;font-size:44px;color:#c38a29}.water-tank{position:absolute;left:2%;top:12%;width:26%;height:58%;transform:rotate(15deg)}.water-tank svg,.garden-flowers svg,.signal-device svg,.device-blockage svg{width:100%;height:100%}.water-channel{position:absolute;left:23%;top:53%;height:17%;width:60%;border-bottom:9px solid #b17b44;transform:rotate(8deg);display:flex}.water-channel i{display:block;width:30%;height:20%;margin-top:17%;background:#91d4d8;opacity:.25}.flowing .water-channel i{opacity:1;animation:water-flow .8s linear infinite}.garden-flowers{position:absolute;right:1%;bottom:1%;height:42%;width:69%;display:flex;align-items:end}.garden-flowers>span{width:33%;height:100%;transform:scale(.75);transform-origin:50% 100%;transition:transform .4s}.flowing .garden-flowers>span{transform:scale(1);animation:plant-sway 1.4s ease-in-out infinite alternate;animation-delay:calc(var(--i)*-.3s)}.device-blockage{position:absolute;left:43%;top:34%;width:25%;height:40%;filter:drop-shadow(0 3px 2px #77563477)}.signal-lantern{position:absolute;left:34%;top:3%;width:34%;height:89%}.signal-reflector{position:absolute;left:1%;top:30%;width:32%;height:65%}.signal-flags{position:absolute;right:3%;top:35%;width:25%;height:45%;transform:rotate(15deg)}.signal-beam{position:absolute;left:51%;top:8%;width:45%;height:62%;clip-path:polygon(0 50%,100% 0,100% 100%);background:linear-gradient(90deg,#ffe38d88,transparent);opacity:.1;z-index:-1}.signal-ready .signal-beam{opacity:1;animation:signal-sweep 2s ease-in-out infinite alternate;transform-origin:0 50%}.signal-ready .signal-reflector{animation:object-turn 3s linear infinite}.signal-ready .signal-flags{animation:object-flap 1s ease-in-out infinite alternate}
@keyframes object-wheel-return{0%,100%{transform:none}45%{transform:translate(145%,20%) rotate(540deg) scale(.65)}70%{transform:translate(-50%,-15%) rotate(-180deg)}}
@keyframes object-turn{to{transform:rotate(360deg)}}@keyframes object-pot-dance{to{transform:rotate(14deg) translateY(-12%)}}@keyframes object-rev{to{transform:translate(2px,-2px) rotate(2deg)}}@keyframes object-flourish{0%,100%{transform:none}50%{transform:translateY(-35%) rotate(22deg) scale(1.3)}}@keyframes object-unfold{0%{transform:scaleX(.2) rotate(-10deg)}65%{transform:scaleX(1.15) rotate(4deg)}100%{transform:none}}@keyframes object-flap{to{transform:rotate(-19deg) scaleX(.8)}}@keyframes object-idea{to{filter:drop-shadow(0 0 18px #fff39c);transform:scale(1.13)}}@keyframes workshop-reaction{to{transform:rotate(-7deg) scale(1.07)}}@keyframes hotspot-spark{0%{opacity:0;transform:scale(.4)}35%{opacity:1}100%{opacity:0;transform:scale(1.6) translateY(-20%)}}@keyframes water-flow{to{transform:translateX(30%)}}@keyframes plant-sway{to{rotate:4deg}}@keyframes signal-sweep{to{transform:rotate(-20deg)}}
.still .workshop-hotspot.is-active .hotspot-object{outline:4px solid #ffe190;border-radius:20px;filter:brightness(1.15)}.still .mechanism-complete .water-channel i{opacity:1}.still .signal-ready .signal-beam{opacity:1}.tab-away .workshop-hotspots *,.tab-away .chapter-mechanism *{animation-play-state:paused!important}
@media(max-width:760px){.adventure-cards{grid-template-columns:1fr;gap:22px}.adventure-card{display:grid;grid-template-columns:90px 1fr;padding:16px;gap:9px 15px}.adventure-card>img{grid-column:1;grid-row:1/4;height:100%;aspect-ratio:auto;border-radius:10px}.adventure-card>h2,.adventure-card>p,.adventure-card>button{margin:0}.adventure-card>.eyebrow{grid-column:2;font-size:9px;margin:0}.adventure-card>h2{grid-column:2;font-size:25px}.adventure-card>p:not(.eyebrow){grid-column:2;font-size:14px}.adventure-card>button{grid-column:1/-1;margin-top:5px}.room-scene{aspect-ratio:auto}.room-guide{pointer-events:auto}.workshop-hotspot{width:15%;min-width:44px}.hotspot-label{font-size:9px;padding:3px 5px;white-space:normal;width:100px;line-height:1.15}.hotspot-object{filter:drop-shadow(0 2px 2px #46342788)}.chapter-mechanism{height:210px}.chapter-options .choice strong{font-size:14px}.chapter-options{gap:8px}.audio-unlock-note{width:calc(100% - 36px);font-size:11px;text-align:center;margin-top:-12px}.inside-workshop>h2{font-size:27px}.random-adventure{font-size:20px}.selection-note{font-size:13px}}

/* Final touch labels: the object is the full target; labels are optional tooltips. */
.workshop-hotspots .hotspot-label{font-size:12px;line-height:1.25;min-height:44px;width:150px;padding:5px 8px}
@media(max-width:760px){.workshop-hotspots .workshop-hotspot{min-width:52px;min-height:52px}.workshop-hotspots .hotspot-label{display:none!important}.workshop-hotspots .workshop-hotspot:focus-visible .hotspot-label{display:flex!important}}

/* A framed bitmap cannot tile down a phone page. Keep mobile rails vertical only. */



/* Continuous page field: side rails never introduce a horizontal seam. */
body{background-color:#155368;background-image:linear-gradient(90deg,#84512b,#d09b51 45%,#996735),linear-gradient(90deg,#996735,#d09b51 55%,#84512b),radial-gradient(ellipse at 50% 0,#286c77,#155368 65%);background-size:clamp(6px,.8vw,12px) 100%,clamp(6px,.8vw,12px) 100%,100% 100%;background-position:left top,right top,center top;background-repeat:no-repeat;background-attachment:scroll}

.release-status{display:block;width:fit-content;max-width:calc(100% - 32px);margin:10px auto 0;padding:5px 13px;border:1px solid #cfae6c;border-radius:20px;background:#1a5968;color:#fff0c8;font-size:12px;font-weight:800;text-align:center}
