@font-face{font-family:Froople;src:url('/play/room-for-me/art/Froople.ttf') format('truetype');font-display:swap}
:root{font-family:'Trebuchet MS',sans-serif;color:#235767;background:#f6f2e6;--adv-rail:#bdd9cc;--adv-edge:#83b3a4;--adv-score:#e0ecdf;--adv-paper:#fffaf0;--adv-ink:#235767}
*{box-sizing:border-box}body{margin:0;background:#f6f2e6}button{font:inherit;cursor:pointer}button:disabled{cursor:default}button:focus-visible,[role=button]:focus-visible{outline:4px solid #ecb746;outline-offset:5px}button,input{touch-action:manipulation}[hidden]{display:none!important}.fp-main{padding:0 18px 18px;max-width:1600px;margin:auto}.fp-main .view{width:100%;min-width:0}.gold{border:2px solid #f1c153;border-radius:20px;background:#ffdc73;color:#215568;padding:13px 22px;box-shadow:0 5px #c59637;font-weight:bold;min-height:48px}.gold:active{transform:translateY(3px);box-shadow:0 2px #c59637}.gold:disabled{opacity:.5}.eyebrow{font-size:13px;letter-spacing:1.5px;text-transform:uppercase;font-weight:bold;color:#a2684b}
body[data-adventure-theme=moon]{background:#edf0e8;--adv-rail:#a8c7c5;--adv-edge:#759d9f;--adv-score:#d9e7dc;--adv-ink:#294e64}
.fp-watch{display:grid;grid-template-columns:1fr 1fr;gap:5vw;align-items:center;max-width:1150px;margin:5vh auto}.fp-film{aspect-ratio:9/16;max-height:77vh;max-width:100%;border-radius:32px;overflow:hidden;background:#173a52;margin:auto;width:auto;height:77vh}.fp-film iframe{width:100%;height:100%;border:0}.fp-film>div{height:100%;width:100%}#watchCopy h1{font:clamp(32px,4vw,57px)/1.13 Froople,'Trebuchet MS',sans-serif;max-width:430px;margin:20px 0 30px}#watchCopy p{font-size:19px;line-height:1.5}#watchCopy .gold{display:block;margin:18px 0}.fp-watch-link{color:inherit;display:block;margin:20px 0}.fp-reading .reading-picture{margin:0;border-radius:28px;overflow:hidden;background:#d5e8db}.fp-reading img{width:100%;height:100%;object-fit:cover}.fp-reading .reading-copy{padding:30px;background:#fffaf0;border-radius:28px}.fp-reading h2{font-size:clamp(27px,3vw,43px);line-height:1.5}.fp-reading h2 span.active{background:#ffe18b;border-radius:8px;box-shadow:0 0 0 4px #ffe18b}.fp-reading #readingWord{background:transparent;border:0;color:inherit;font-size:32px;font-weight:bold}.fp-reading .reading-word-card{background:#e7eee1;border:2px solid #bfd7c7;border-radius:22px;padding:18px;margin:20px 0}.fp-reading #readingMeaning{font-size:19px;line-height:1.5}
.fp-stage-head{position:relative;display:flex;align-items:center;justify-content:center;gap:15px;min-height:66px;margin:0 auto;padding:6px 80px;max-width:1450px}.fp-stage-head h2{margin:0;font:clamp(23px,3vw,38px)/1.2 Froople,'Trebuchet MS',sans-serif;text-align:center}.fp-stage-head>button{position:absolute;right:0;padding:10px;min-width:52px}.fp-round{font-size:16px;font-weight:bold;color:#2a616b;white-space:nowrap}.fp-stage-head .fp-round{position:absolute;left:6px;top:22px}.fp-play{position:relative;padding-bottom:115px}.fp-play #playground{position:relative}.fp-world{position:relative;overflow:hidden;border-radius:35px;min-height:520px;background:radial-gradient(ellipse at 52% 20%,#fff9db 0,#e4ebd2 40%,#b6d6cf 100%);isolation:isolate;box-shadow:inset 0 0 0 2px #fff9}.fp-world:before{content:'';position:absolute;inset:0;pointer-events:none;z-index:1;opacity:.2;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' opacity='.25' filter='url(%23n)'/%3E%3C/svg%3E")}.fp-canvas{width:100%;height:min(65vh,720px);min-height:390px;display:block;touch-action:none;overflow:visible}.fp-object{cursor:pointer;transform-box:fill-box;outline-offset:8px;transition:filter .2s}.fp-object:hover{filter:brightness(1.09) drop-shadow(0 3px 6px #fff8)}.fp-object.found{filter:drop-shadow(0 0 12px #fff9c4)}.fp-controls{display:flex;justify-content:center;flex-wrap:wrap;gap:16px;padding:0 20px 14px;position:relative;z-index:2}.fp-control{min-height:68px;min-width:180px;max-width:430px;padding:15px 28px;background:linear-gradient(#fff0b2,#ffdc79);border:3px solid #fff9e4;border-radius:28px;box-shadow:0 6px #bd9a58,0 8px 18px #31555a22;color:#275464;font:23px/1.2 Froople,'Trebuchet MS',sans-serif}.fp-control:active{transform:translateY(4px);box-shadow:0 2px #bd9a58}.fp-play-hint{text-align:center;font-size:20px;font-weight:bold;margin:8px 0 19px;color:#2b5a64;min-height:24px}.fp-slide{background:radial-gradient(at 35% 5%,#fff7d6,#e9d8b9 55%,#bfcfc4)}.fp-tent{background:radial-gradient(at 50% 20%,#fff6d6,#c6d8cf)}.fp-current,.fp-wave{background:radial-gradient(at 40% 10%,#f5ffe7,#a8dadd 55%,#7ab8c8)}.fp-fruit{background:radial-gradient(at 50% 10%,#fff2cf,#e4d0b9)}
body[data-adventure-theme=moon] .fp-world{background:radial-gradient(ellipse at 50% 18%,#3a697e 0,#21445e 55%,#142a43 100%)}body[data-adventure-theme=moon] .fp-play-hint{color:#fff0c7}.fp-memory{max-width:1400px;margin:auto}.fp-memory-head{text-align:center;margin:12px}.fp-memory-head h2{font:34px Froople,'Trebuchet MS',sans-serif;margin:8px}.fp-memory-board{display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,.38fr);align-items:center;gap:28px}.fp-memory-frame{position:relative;display:block;width:100%;aspect-ratio:1.32;border:0;border-radius:36px;background-size:100% 100%;background-color:#f9efd9;color:#275767;cursor:pointer}.fp-memory-caption{position:absolute;inset:26% 19%;display:flex;align-items:center;justify-content:center;font-size:clamp(22px,3vw,37px);font-weight:bold;line-height:1.4}.fp-memory-frame>img{position:absolute;inset:19% 18%;width:64%;height:62%;object-fit:cover;border-radius:15px}.fp-photo-tray{display:grid;gap:18px}.fp-memory-photo{padding:10px;border:3px solid #fff9e9;border-radius:22px;background:#e3eee2;box-shadow:0 5px #a8bcae;color:#254e62;font-size:19px;font-weight:bold}.fp-memory-photo img{display:block;width:100%;height:140px;object-fit:cover;border-radius:13px;margin-bottom:9px}.fp-memory-photo.selected{border-color:#eeb94d;background:#fff0bc;transform:translateY(-4px)}#memoryClue{display:block;border:0;background:none;color:inherit;font-size:20px;max-width:750px;margin:0 auto 14px;min-height:48px}#memoryFeedback,#roundFeedback{text-align:center;min-height:24px;margin:8px;font-weight:bold}.fp-award-actions{display:flex;gap:20px;justify-content:center;margin:25px}.fp-replay-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin:25px}.fp-replay-card{border:0;background:#fff8e9;border-radius:25px;padding:12px;color:#235767;font-size:23px}.fp-replay-card img{display:block;width:100%;height:180px;object-fit:cover;border-radius:18px;margin-bottom:10px}
body.flagship-adventure main{display:block!important}.flagship-adventure #journey{margin-bottom:14px!important}.flagship-adventure .round-intro{position:absolute;inset:0;z-index:20;display:grid;place-items:center;pointer-events:none;background:#28475766;backdrop-filter:blur(3px)}.flagship-adventure .round-intro>div{background:#fff4cf;color:#285c68;padding:25px 60px;border-radius:100px;text-align:center;box-shadow:0 12px #23475844}.flagship-adventure .round-intro strong{font:50px Froople,'Trebuchet MS',sans-serif;display:block}.flagship-adventure .round-intro small{font-size:24px}.flagship-adventure #readingScreen{grid-template-columns:1fr 1fr;gap:14px}.flagship-adventure .rrdd-result h2{font-family:Froople,'Trebuchet MS',sans-serif}
@media(min-width:1100px){.fp-world{max-width:1420px;margin:auto}.fp-canvas{height:65vh;max-height:760px}.fp-play{max-width:1450px;margin:auto}}
@media(max-width:760px){.fp-main{padding:0 10px 15px}.fp-watch{gap:22px;margin:20px auto}.fp-film{height:64vh;max-height:550px;border-radius:25px}#watchCopy h1{font-size:31px}.fp-stage-head{padding:45px 55px 12px 5px;min-height:100px;justify-content:flex-start}.fp-stage-head h2{text-align:left;font-size:28px}.fp-stage-head .fp-round{top:7px;font-size:16px}.fp-stage-head>button{top:10px}.fp-world{min-height:490px;border-radius:26px}.fp-canvas{height:58vh;min-height:340px;max-height:550px}.fp-control{font-size:20px;min-width:140px;min-height:64px;padding:12px 18px}.fp-controls{gap:12px;padding:4px 12px 12px}.fp-play-hint{font-size:17px;padding:0 12px}.fp-memory-board{grid-template-columns:1fr;gap:16px}.fp-photo-tray{grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.fp-memory-photo{padding:6px;border-radius:15px;font-size:14px}.fp-memory-photo img{height:90px}.fp-memory-head h2{font-size:28px}.fp-memory-frame{border-radius:25px}.fp-memory-caption{font-size:24px}.fp-replay-gallery{grid-template-columns:1fr 1fr;margin:15px;gap:12px}.fp-replay-card{font-size:18px}.fp-replay-card img{height:130px}.fp-play{padding-bottom:140px}}
@media(max-width:520px){.fp-watch{grid-template-columns:1fr}.fp-film{height:58vh;min-height:350px}#watchCopy{text-align:center}#watchCopy h1{margin:10px auto 20px}#watchCopy .gold{margin:16px auto}.fp-memory-caption{font-size:21px}.fp-canvas{min-height:300px;height:45vh}.fp-world{min-height:440px}.fp-controls{flex-direction:column;align-items:center}.fp-control{min-width:240px}.fp-memory-photo img{height:65px}.fp-award-actions{flex-direction:column}.flagship-adventure .round-intro strong{font-size:38px}.flagship-adventure .round-intro>div{padding:20px 35px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
/* Scoped overrides: inherited fixed-height grid must not stretch the instruction guide. */
body.rrdd-adventure.rrdd-game-shell.flagship-adventure[data-adventure-theme] main#app{display:block!important;height:auto!important;min-height:calc(100dvh - 52px)!important;overflow:visible!important;padding:0 14px 20px!important}
body.rrdd-adventure.rrdd-game-shell.flagship-adventure[data-adventure-theme] main#app>.view:not([hidden]){height:auto!important;min-height:0!important;align-self:auto!important}
body.rrdd-adventure.has-howto-guide.flagship-adventure #playScreen:not([hidden]){display:flex!important;flex-direction:column;padding-top:0!important;padding-bottom:0!important}
body.flagship-adventure .adventure-howto{position:relative!important;top:auto!important;bottom:auto!important;left:auto!important;right:auto!important;translate:none!important;margin:4px auto 14px!important;width:min(800px,94%)!important;height:auto!important;flex:none}
body.flagship-adventure.has-howto-guide #playScreen .round-intro{visibility:visible!important}
body.flagship-adventure .fp-world{min-height:0!important}body.flagship-adventure .fp-canvas{height:clamp(240px,calc(100dvh - 435px),740px)!important;min-height:240px!important;max-height:none!important}
body.flagship-adventure .fp-play-hint{margin:5px 0 10px}.flagship-adventure .fp-controls{padding-bottom:10px}
body.flagship-adventure .fp-stage-head{min-height:56px}.flagship-adventure .fp-control{min-height:58px}
.fp-sound-trail{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0 0}.fp-sound{min-width:44px;min-height:44px;border:0;border-bottom:3px solid #82aba6;background:#e4f0e5;border-radius:12px;color:#28596a;font-size:23px;font-weight:bold}.fp-sound.speaking{background:#ffda75;transform:translateY(-3px)}
body.flagship-adventure[data-adventure-theme=staycation]{--collector-ink:#285a64;--collector-glow:#d5eee4;--collector-paper:#fff9ed;--collector-line:#b6d1c3;--collector-soft:#dfeee5}
body.flagship-adventure[data-adventure-theme=moon]{--collector-ink:#335065;--collector-glow:#c8ded8;--collector-paper:#fff8e9;--collector-line:#b8c9c6;--collector-soft:#e5eee5}
body.flagship-adventure #readingSentence>span{margin-inline-end:.2em}
body.flagship-adventure .star-stop:not(.earned) svg path:first-child{fill:#d2e4cc;stroke:#92ae89}body.flagship-adventure .star-stop:not(.earned) svg path:nth-child(2){fill:#e6efd9}
body.flagship-adventure[data-adventure-theme=staycation] :is(.fp-unpack,.fp-slide,.fp-tent,.fp-fruit){background:linear-gradient(#fff8df22,#e7efd122),url('/assets/flagship/hotel-world.webp') center/cover}
@media(max-width:520px){body.flagship-adventure .fp-canvas{height:auto!important;min-height:0!important;aspect-ratio:1000/760}.fp-play{padding-bottom:0!important}.fp-world .fp-play-hint{margin:5px 9px 14px}}
body.flagship-adventure[data-adventure-theme=moon] .fp-world{background:linear-gradient(#142d4555,#214e5933),url('/assets/flagship/moon-world.webp') center/cover}
.fp-control:disabled{opacity:.58;cursor:default;filter:saturate(.65)}

body.flagship-adventure #playScreen>.fp-stage-head{width:100%;flex:none}
/* Hotel arrival uses the shared shell and one physical play space, never a new HUD. */
body.flagship-adventure[data-game=staycation-adventure] .fp-world.hotel-room{background:#f2e4cb!important}
body.flagship-adventure .hotel-room .fp-canvas{height:clamp(370px,calc(100dvh - 350px),740px)!important;min-height:370px!important;max-width:1200px;margin:auto}
.hotel-room .fp-controls{gap:12px;min-height:75px;padding:10px 15px 15px}.hotel-room .fp-control{min-width:150px;font-size:23px}.hotel-room .fp-play-hint{font-size:18px;margin-bottom:14px!important}.hotel-room .fp-control[hidden]{display:none!important}
.hotel-room .fp-object{touch-action:none}.hotel-room .hotel-keycard{filter:drop-shadow(0 8px 7px #71583344)}.hotel-room .hotel-selected{filter:drop-shadow(0 0 10px #fff3a7)}
.hotel-room .hotel-touch-hint{animation:hotel-point 1.4s ease-in-out infinite;pointer-events:none}.hotel-room .hotel-cue{filter:drop-shadow(0 5px 5px #674c2922)}
@keyframes hotel-point{50%{opacity:.5;translate:0 -9px}}
@media(max-width:760px){body.flagship-adventure .hotel-room .fp-canvas{height:auto!important;min-height:0!important;aspect-ratio:1000/650}.hotel-room .fp-controls{flex-direction:row;gap:9px;padding:10px}.hotel-room .fp-control{min-width:100px;max-width:100%;font-size:19px;padding:13px 14px;flex:1}.hotel-room .fp-play-hint{font-size:16px}.hotel-room .fp-controls:has(.fp-control:nth-child(4):not([hidden])){flex-wrap:wrap}}
@media(prefers-reduced-motion:reduce){.hotel-room .hotel-touch-hint{animation:none}}

body.flagship-adventure .fp-world.hotel-room{width:100%;max-width:clamp(500px,calc((100dvh - 405px)*1.538),1100px)!important;margin:auto}
body.flagship-adventure .hotel-room .fp-canvas{height:auto!important;min-height:0!important;aspect-ratio:1000/650;overflow:hidden}

.hotel-room .fp-controls .fp-control{min-width:0;flex:1;padding:12px 14px;font-size:21px}

.hotel-room .fp-object:focus{outline:none}.hotel-room .fp-object:focus-visible{outline:none;filter:drop-shadow(0 0 7px #edb53f)}

.hotel-room .fp-controls:not(:has(.fp-control:not([hidden]))){display:none}

body.flagship-adventure:has(.hotel-room){overflow-anchor:none}

/* Generated material plate continues below the live sprites into the controls. */
body.flagship-adventure .fp-world.hotel-room.hotel-corridor{background:#e4c392 url('/assets/flagship/hotel/corridor-material-v1.webp') center bottom/100% 800px!important}

.hotel-door-nav{cursor:pointer}.hotel-door-nav.hotel-nav-disabled{opacity:.55}.hotel-corridor .hotel-door-nav:focus-visible{filter:drop-shadow(0 0 8px #fff7bb)}

.hotel-object-overlay{will-change:transform;transition:opacity .16s}.hotel-selection-outline{filter:drop-shadow(0 0 8px #fff1a6)}.hotel-loose-letter{filter:drop-shadow(0 5px 3px #76593444);touch-action:none}.hotel-loose-letter:hover{filter:drop-shadow(0 0 8px #fff1a8)}.hotel-letter-socket:focus-visible,.hotel-loose-letter:focus-visible{filter:drop-shadow(0 0 8px #f2b94a)}.hotel-action-world .fp-canvas{isolation:isolate}.hotel-action-world .fp-controls{display:none!important}.hotel-action-world .fp-play-hint:empty{display:none}

.hotel-corridor[data-reveal] .hotel-door-nav{opacity:0!important;pointer-events:none}
.hotel-pattern-workshop .fp-controls,.hotel-pattern-workshop .fp-play-hint{display:none}
.hotel-pattern-workshop [role=button]{touch-action:none;cursor:pointer}
.hotel-pattern-request{filter:drop-shadow(0 5px 7px #69442735)}
.hotel-fabric-swatch{transform-box:fill-box;filter:drop-shadow(0 7px 5px #3d263a44)}
.hotel-fabric-selected{filter:drop-shadow(0 0 9px #fff4a2) drop-shadow(0 0 5px #edb848)}
.hotel-pillow-fabric{pointer-events:none}
.hotel-pillow-lift{filter:drop-shadow(0 0 8px #ffed9d) drop-shadow(0 8px 4px #3d263a55)}
.hotel-pillow-rub{filter:drop-shadow(0 0 6px #fff1b8)}
.hotel-star-lit{filter:drop-shadow(0 0 15px #ffe99b) drop-shadow(0 0 6px #ffd157);animation:hotelStarBloom .6s both}
.hotel-switch-pull{animation:hotelCordPull .5s both}
.hotel-photo-camera{filter:drop-shadow(0 7px 6px #533a4d55)}
.hotel-photo-camera:hover{filter:drop-shadow(0 0 9px #ffe99b)}
.hotel-photo-rim{animation:hotelPhotoAppear .6s both}
@keyframes hotelStarBloom{from{opacity:0;filter:drop-shadow(0 0 0 #ffe99b)}to{opacity:1}}
@keyframes hotelCordPull{50%{translate:0 15px}}
@keyframes hotelPhotoAppear{from{opacity:0}to{opacity:1}}
@media(prefers-reduced-motion:reduce){.hotel-star-lit,.hotel-switch-pull,.hotel-photo-rim{animation:none}}
body.flagship-adventure .fp-world.slide-lab{background:#f4e2cb!important;width:100%;max-width:clamp(500px,calc((100dvh - 405px)*1.538),1100px)!important;min-height:0;margin:auto}
body.flagship-adventure .slide-lab .fp-canvas{height:auto!important;min-height:0!important;aspect-ratio:1000/650;overflow:hidden}
.slide-lab .fp-controls,.slide-lab .fp-play-hint{display:none!important}
.slide-lab [role=button]{touch-action:none;cursor:pointer}
.slide-word-board{filter:drop-shadow(0 5px 6px #67432433)}
.slide-lab .slide-speaking,.slide-lab .slide-target-glow{filter:drop-shadow(0 0 10px #fff7b5) drop-shadow(0 0 5px #edb849)!important}
.slide-lab .slide-letter-earned circle{fill:#ffdc83;opacity:1}
.slide-bubble-selected{filter:drop-shadow(0 0 10px #ffe897)!important}
.slide-play-button{filter:drop-shadow(0 5px 5px #6b463733)}
.slide-play-button:active{filter:brightness(1.1)}
.slide-holding{filter:drop-shadow(0 0 13px #fff5aa)!important}
.slide-rider{filter:drop-shadow(0 6px 4px #61453b33)}
.slide-swivel-exit{filter:drop-shadow(0 6px 5px #62354144);transition:transform .18s ease-out}
.slide-tramp-squash image{animation:slideSpring .4s ease-out}
@keyframes slideSpring{0%{scale:1 1}30%{scale:1.13 .75}65%{scale:.95 1.1}100%{scale:1 1}}
@media(max-width:760px){body.flagship-adventure .fp-world.slide-lab{max-width:100%!important}}
@media(prefers-reduced-motion:reduce){.slide-tramp-squash image{animation:none}.slide-swivel-exit{transition:none}}
.slide-lab .fp-object:focus{outline:none}.slide-lab .fp-object:focus-visible{filter:drop-shadow(0 0 9px #ffe38d)}
.slide-next-marker{filter:drop-shadow(0 3px 3px #98643255);animation:slideNextPoint 1.1s ease-in-out infinite}
@keyframes slideNextPoint{50%{translate:0 8px}}
@media(prefers-reduced-motion:reduce){.slide-next-marker{animation:none}}
body.flagship-adventure .fp-world.tent-discovery{background:#f2dfc6!important;width:100%;max-width:clamp(500px,calc((100dvh - 405px)*1.538),1100px)!important;min-height:0;margin:auto}
body.flagship-adventure .tent-discovery .fp-canvas{height:auto!important;min-height:0!important;aspect-ratio:1000/650;overflow:hidden}
.tent-discovery .fp-controls,.tent-discovery .fp-play-hint{display:none!important}
.tent-discovery [role=button]{touch-action:none;cursor:pointer}
.tent-discovery .fp-object:focus{outline:none}.tent-discovery .fp-object:focus-visible{filter:drop-shadow(0 0 9px #ffe19c)}
.tent-zip-pull{filter:drop-shadow(0 5px 6px #72523466)}
.tent-pull-cue{animation:tentPullCue 1.2s ease-in-out infinite}
.tent-treasure{filter:drop-shadow(0 8px 7px #111c2944)}
.tent-sound-board,.tent-sentence{filter:drop-shadow(0 5px 5px #53342133)}
.tent-speaking,.tent-tile-selected{filter:drop-shadow(0 0 9px #fff4ac) drop-shadow(0 0 4px #e8b745)!important}
.tent-sound-found text,.tent-complete-verb{fill:#ae7532}
.tent-sentence [data-tent-word].active{fill:#a77726;stroke:#ffe2a1;stroke-width:9;paint-order:stroke;stroke-linejoin:round}
.tent-verb-tile,.tent-sound-tile{filter:drop-shadow(0 6px 5px #59432944)}
@keyframes tentPullCue{50%{translate:0 12px;opacity:.65}}
@media(max-width:760px){body.flagship-adventure .fp-world.tent-discovery{max-width:100%!important}}
@media(prefers-reduced-motion:reduce){.tent-pull-cue{animation:none}}
body.flagship-adventure:has(.tent-discovery),body.flagship-adventure:has(.slide-lab){overflow-anchor:none}

/* Staycation reading: one left-to-right sound path, followed by the human voice. */
body[data-game="staycation-adventure"] .fp-vocabulary-word{display:block;font:28px/1.2 Froople,'Trebuchet MS',sans-serif;margin:4px 0 10px}
body[data-game="staycation-adventure"] .fp-sound-trail{align-items:center;gap:9px;row-gap:12px}
body[data-game="staycation-adventure"] .fp-sound{position:relative;min-width:46px;min-height:48px;transition:background .2s,box-shadow .2s,transform .2s}
body[data-game="staycation-adventure"] .fp-sound:disabled{opacity:.48;cursor:default}
body[data-game="staycation-adventure"] .fp-sound.sound-done{background:#c9e5cf;border-color:#4d8b70;opacity:1}
body[data-game="staycation-adventure"] .fp-sound.sound-done:after{content:'✓';position:absolute;right:-3px;top:-8px;font:12px/18px sans-serif;width:18px;border-radius:50%;background:#2e7457;color:white}
body[data-game="staycation-adventure"] .fp-sound.sound-next{background:#ffe08b;box-shadow:0 0 0 3px #e9bc56;animation:sound-cue 1.8s ease-in-out infinite}
body[data-game="staycation-adventure"] .fp-reading .fp-sound-trail #readingWord{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;max-width:100%;margin:0 0 0 5px;padding:8px 14px;border:2px solid #93b4a2;border-bottom-width:4px;border-radius:15px;background:#dce9dc;font-size:23px;line-height:1.15;transition:background .2s,box-shadow .2s}
body[data-game="staycation-adventure"] .fp-sound-trail #readingWord:disabled{opacity:.45;cursor:default}
body[data-game="staycation-adventure"] .fp-sound-trail #readingWord.sound-word-ready{background:#ffe08b;border-color:#c79e3e;box-shadow:0 0 0 3px #ffedb7}
body[data-game="staycation-adventure"] .fp-sound-trail #readingWord.sound-word-done{background:#c9e5cf}
@keyframes sound-cue{50%{transform:translateY(-3px)}}
@media(prefers-reduced-motion:reduce){body[data-game="staycation-adventure"] .fp-sound.sound-next{animation:none}}

body.rrdd-adventure.rrdd-game-shell[data-game="staycation-adventure"] #readingScreen#readingScreen.reading-book .fp-sound-trail #readingWord{min-height:48px!important;padding:8px 14px!important;margin:0 0 0 5px!important;border:2px solid #93b4a2!important;border-bottom-width:4px!important;background:#dce9dc!important;font-size:23px!important;box-shadow:none!important}
body.rrdd-adventure.rrdd-game-shell[data-game="staycation-adventure"] #readingScreen#readingScreen.reading-book .fp-sound-trail #readingWord.sound-word-ready{background:#ffe08b!important;border-color:#c79e3e!important;box-shadow:0 0 0 3px #ffedb7!important}
body.rrdd-adventure.rrdd-game-shell[data-game="staycation-adventure"] #readingScreen#readingScreen.reading-book .fp-sound-trail #readingWord.sound-word-done{background:#c9e5cf!important}

/* Tactile pattern gifts: immediate fabric change, then a pause-aware cuddle. */
.hotel-cuddle-friend,.hotel-hug-pattern{pointer-events:none}
.hotel-star-switch{filter:drop-shadow(0 4px 4px #593d3a44)}
.hotel-star-switch:hover{filter:drop-shadow(0 0 9px #ffe78b)}
.hotel-photo-camera:focus-visible,.hotel-star-switch:focus-visible{outline:none;filter:drop-shadow(0 0 9px #ffe78b) drop-shadow(0 0 3px #ffffff)}
.hotel-camera-pressed{filter:drop-shadow(0 2px 3px #533a4d55)}

/* Bubble pressure and POV motion stay inside the established play surface. */
.slide-charged-foam,.slide-bubble-jets,.slide-pump-aura,.slide-foam-particle{pointer-events:none}
.slide-bubble-jets{filter:drop-shadow(0 0 4px #e5ffff)}
.slide-pump-aura{filter:drop-shadow(0 0 8px #fff0a2)}
.slide-pov-ramp,.slide-pov-room,.slide-pov-speed{pointer-events:none}
.slide-pov .slide-letter-cushion{pointer-events:auto}
.slide-pov .slide-pov-aim{filter:drop-shadow(0 0 4px #fff6a3)}
@media(prefers-reduced-motion:reduce){.slide-pov-speed{display:none}.slide-pump-aura{filter:none}}

/* One calm, legible round card for all six Staycation reading discoveries. */
body.flagship-adventure[data-game="staycation-adventure"] #playScreen .round-intro{background:#194f5b32;color:#174e56;text-shadow:none!important;backdrop-filter:blur(3px);border-radius:35px}
body.flagship-adventure[data-game="staycation-adventure"] #playScreen .round-intro>div{background:#fff9e9;color:#174e56;border:3px solid #f0d995;padding:24px 48px;border-radius:36px;box-shadow:0 10px 28px #315c5a30;text-shadow:none!important;max-width:calc(100% - 36px)}
body.flagship-adventure[data-game="staycation-adventure"] #playScreen .round-intro strong{font:clamp(32px,5vw,54px)/1.12 Froople,'Trebuchet MS',sans-serif;color:#174e56;text-shadow:none!important}
body.flagship-adventure[data-game="staycation-adventure"] #playScreen .round-intro small{display:inline-block;background:#e4f0e7;color:#376b66;border-radius:18px;padding:6px 18px;margin-top:12px;font:700 clamp(18px,2.6vw,25px)/1.2 Froople,'Trebuchet MS',sans-serif;text-shadow:none!important}
/* Immersive reef, then a single small voice-led discovery window. */
.ocean-adventure .fp-controls,.ocean-adventure .fp-play-hint{display:none}
.ocean-adventure .ocean-current-help{position:absolute;left:50%;bottom:20px;transform:translateX(-50%);min-height:48px;max-width:90%;white-space:nowrap;z-index:3;font:clamp(18px,2.5vw,28px) Froople,'Trebuchet MS',sans-serif;padding:12px 28px}
.ocean-water-trail{filter:drop-shadow(0 0 5px #c3ffff)}
.ocean-ring-touched{filter:drop-shadow(0 0 9px #ffdf7b)}
.ocean-discovery-backdrop{position:fixed;inset:0;z-index:1500;background:#164e6470;backdrop-filter:blur(5px);display:grid;place-items:center;padding:20px;box-sizing:border-box}
.ocean-discovery-card{box-sizing:border-box;width:min(560px,100%);max-height:calc(100dvh - 40px);overflow:auto;background:radial-gradient(at 30% 0,#f1fffc,#fff9e9 70%);border:4px solid #fff3c6;border-radius:38px;padding:24px 32px 28px;box-shadow:0 16px 45px #123e6040;text-align:center;color:#174e56;animation:oceanDiscoveryIn .35s ease-out;outline:none}
.ocean-discovery-card>img{display:block;width:260px;max-width:80%;height:190px;object-fit:contain;margin:0 auto 8px;filter:drop-shadow(0 6px 7px #2d6a6b22)}
.ocean-modal-copy h2{font:clamp(30px,4vw,42px)/1.15 Froople,'Trebuchet MS',sans-serif;margin:6px 0 14px;color:#174e56}
.ocean-modal-copy p{font:700 clamp(22px,2.7vw,28px)/1.45 'Trebuchet MS',sans-serif;margin:0 0 22px;color:#285c62}
.ocean-modal-copy span.active{background:#ffdf85;border-radius:6px;box-shadow:0 0 0 3px #ffdf85}
.ocean-discovery-actions{display:flex;gap:12px;justify-content:center;align-items:stretch}
.ocean-discovery-actions button{min-height:54px;border-radius:20px;font:clamp(18px,2.5vw,23px) Froople,'Trebuchet MS',sans-serif}
.ocean-fact-hear{min-width:60px;border:2px solid #aacfc5;background:#dff3e9;box-shadow:0 4px 0 #8bb6ad;font-size:27px!important}
.ocean-discovery-actions .gold{flex:1;padding:12px 15px}
.ocean-discovery-open{overflow:hidden}
body.flagship-adventure:has(.ocean-adventure){overflow-anchor:none}
@keyframes oceanDiscoveryIn{from{opacity:0;transform:translateY(15px) scale(.96)}to{opacity:1;transform:none}}
@media(max-width:520px){.ocean-adventure .ocean-current-help{bottom:9px;min-height:46px;padding:8px 18px}.ocean-discovery-backdrop{padding:14px}.ocean-discovery-card{padding:18px 18px 22px;border-radius:30px;max-height:calc(100dvh - 28px)}.ocean-discovery-card>img{height:155px}.ocean-modal-copy p{font-size:22px}.ocean-discovery-actions{gap:8px}.ocean-discovery-actions button{font-size:18px}}
@media(prefers-reduced-motion:reduce){.ocean-discovery-card{animation:none}.ocean-water-trail,.ocean-ring-touched{filter:none}}

body.flagship-adventure .fp-world.ocean-adventure{background:#87d3dc!important;width:100%;max-width:clamp(500px,calc((100dvh - 405px)*1.538),1100px)!important;min-height:0;margin:auto}
body.flagship-adventure .ocean-adventure .fp-canvas{height:auto!important;min-height:0!important;aspect-ratio:1000/650;overflow:hidden}
@media(max-width:760px){body.flagship-adventure .fp-world.ocean-adventure{max-width:100%!important}}

/* Staycation: tactile action learning with one uncluttered play surface. */
.hotel-recipient-halo,.hotel-cuddle-friend{transition:filter .15s,opacity .15s}.hotel-recipient-selected{filter:drop-shadow(0 0 11px #ffe9a0) drop-shadow(0 0 4px #fff9dd)}.hotel-pillow-targeted{filter:drop-shadow(0 0 10px #ffe9a0)}
body.flagship-adventure .fp-world.learning-world{background:#eaf4e7!important;width:min(100%,clamp(500px,calc((100dvh - 405px)*1000/650),1100px));margin:0 auto;border:0;border-radius:32px;overflow:hidden}
body.flagship-adventure .learning-world .fp-canvas{height:auto!important;min-height:0!important;aspect-ratio:1000/650;overflow:hidden;display:block}.learning-world .fp-controls,.learning-world .fp-play-hint{display:none!important}
.learning-word,.learning-action-caption,.learning-water-label{pointer-events:none}.learning-word{fill:#174e56!important}.learning-action-caption{fill:#174e56;paint-order:stroke;stroke:#fff9e9;stroke-width:6px}.learning-water-label{fill:#174e56;paint-order:stroke;stroke:#fff9e9;stroke-width:6px}
.learning-button{cursor:pointer;transform-box:view-box;transform-origin:0 0}.learning-button:hover rect{stroke:#fff;filter:drop-shadow(0 3px 5px #b5804244)}.learning-button:focus-visible{outline:none;filter:drop-shadow(0 0 7px #fff7d6)}.learning-button[aria-disabled="true"]{opacity:.7}.learning-selected{filter:drop-shadow(0 0 10px #f8d776) drop-shadow(0 0 5px #fff7de)}.learning-fruit-scoop,.learning-serving-bowl{touch-action:none;cursor:grab}
@media(max-width:760px){body.flagship-adventure .fp-world.learning-world{width:100%;max-width:100%;border-radius:24px}.learning-world text{font-size:30px}.learning-world .learning-word{font-size:42px}.learning-world .learning-button text{font-size:29px}}
@media(prefers-reduced-motion:reduce){.hotel-recipient-halo,.hotel-cuddle-friend{transition:none}}

/* Dedicated Staycation memory art; keep the reading and collector-card layouts. */
body[data-game="staycation-adventure"] .fp-memory-frame{aspect-ratio:3/2;background-color:#fff8e9;border-radius:30px}
body[data-game="staycation-adventure"] .fp-memory-frame>img{inset:14% 11%;width:78%;height:68%;object-fit:cover;border-radius:8% / 14%}
body[data-game="staycation-adventure"] .fp-memory-caption{inset:23% 20%;font-size:clamp(21px,2.65vw,34px);line-height:1.4;color:#215b60}
body[data-game="staycation-adventure"] .fp-memory-photo img{height:auto;aspect-ratio:3/2;object-fit:contain}
@media(max-width:760px){body[data-game="staycation-adventure"] .fp-memory-caption{inset:21% 18%;font-size:clamp(16px,4.5vw,24px)}body[data-game="staycation-adventure"] .fp-memory-photo{font-size:14px}body[data-game="staycation-adventure"] .fp-memory-board{gap:16px}}

/* Moon Night: one tactile telescope, then a first-person Moon story panorama. */
body.flagship-adventure .fp-world.scope-world{background:#102743;overflow:hidden;isolation:isolate}
body.flagship-adventure .scope-world .fp-canvas{height:auto!important;min-height:0!important;aspect-ratio:1000/650;display:block;overflow:hidden;touch-action:none}
.scope-world .fp-controls,.scope-world .fp-play-hint{display:none!important}.scope-world text.scope-letter{fill:#174454!important;font-family:Froople,'Trebuchet MS',sans-serif}
.scope-world [data-scope-letter]{cursor:grab;touch-action:none}.scope-world [data-scope-letter]:active{cursor:grabbing}.scope-world .scope-selected{filter:drop-shadow(0 0 11px #ffe3a3) drop-shadow(0 4px 4px #07192c)}
.scope-world .scope-drop-ready rect{fill:#fff2b0;stroke:#fff7dc;stroke-width:7}.scope-world .scope-slot-filled rect{fill:#ffe49d;stroke:#fff5cf;stroke-dasharray:none}.scope-world .scope-found rect{fill:#fff5be0c;filter:drop-shadow(0 0 8px #ffe4a0)}
.scope-world [role=button]:focus-visible{outline:none;filter:drop-shadow(0 0 7px #fff2c9)}.scope-drag-surface{cursor:grab}.scope-world .fp-canvas:active .scope-drag-surface{cursor:grabbing}
.scope-navigation{position:absolute;inset:45% 3% auto;display:flex;justify-content:space-between;pointer-events:none}.scope-navigation button{pointer-events:auto;min-width:64px;min-height:64px;width:64px;border-radius:50%;font-size:36px;line-height:1;background:linear-gradient(#fff0bc,#e9bb63);color:#173d53;border:3px solid #fff5d9;box-shadow:0 5px 0 #7b653c,0 8px 14px #081b3b66;cursor:pointer}.scope-navigation button:active{transform:translateY(4px);box-shadow:0 1px 0 #7b653c}.scope-navigation button:disabled{opacity:.65}
.scope-find-list{position:absolute;inset:auto 12% 3%;display:flex;gap:12px;justify-content:center}.scope-find-chip{border:2px solid #b1bccb;border-radius:28px;padding:10px 18px;min-height:48px;background:#fff9e9;color:#173e54;font-size:clamp(14px,1.6vw,21px);font-weight:700;cursor:pointer}.scope-find-chip.found{background:#ffe49c;border-color:#fff1c6;box-shadow:0 0 18px #ffd77866}
.scope-encyclopedia{z-index:12}.scope-fact-card{max-width:860px;color:#173e54}.scope-fact-picture{height:220px;overflow:hidden;background:#1a304b;border-radius:24px;display:grid;place-items:center}.scope-fact-picture img{display:block;width:100%;height:100%;object-fit:contain}.scope-fact-telescope{background:radial-gradient(ellipse,#355773,#10233d)}.scope-fact-legend{background-image:url('/assets/flagship/moon-telescope/moon-panorama.webp');background-size:200% auto;background-position:right 30%;background-repeat:no-repeat}.scope-fact-legend img{opacity:0}.scope-modal-copy small{color:#7a5474;letter-spacing:.12em}.scope-modal-copy h2{font-size:clamp(26px,3.2vw,38px);line-height:1.15;margin:8px 0 12px;color:#173e54}.scope-modal-copy p{font-size:clamp(20px,2.1vw,26px);line-height:1.55}.scope-modal-copy [data-tent-word]{border-radius:5px}.scope-modal-copy .active,.scope-modal-copy .spoken,.scope-modal-copy .speaking,.scope-modal-copy .is-speaking,.scope-modal-copy .reading-current{background:#ffe28c;color:#173e54}.scope-fact-card .ocean-discovery-actions button{min-height:48px}
@media(max-width:760px){.scope-navigation{inset:42% 2% auto}.scope-navigation button{width:48px;min-width:48px;min-height:48px;height:48px;font-size:30px;border-width:2px}.scope-find-list{inset:auto 5% 2%;gap:6px}.scope-find-chip{padding:7px 10px;font-size:13px;min-height:44px}.scope-fact-picture{height:140px;border-radius:16px}.scope-fact-card{max-height:90svh;overflow:auto}.scope-modal-copy p{font-size:20px}.scope-fact-card .ocean-discovery-actions{gap:8px}.scope-fact-card .ocean-discovery-actions .gold{font-size:16px}.scope-modal-copy h2{font-size:27px}}
@media(prefers-reduced-motion:reduce){.scope-world *{scroll-behavior:auto!important}.scope-world .scope-selected{filter:drop-shadow(0 0 6px #ffe3a3)}}

/* One continuous Moon phase discovery; shared How to play supplies spoken captions. */
body.flagship-adventure .fp-world.phase-world{background:#102944;isolation:isolate;overflow:hidden}
body.flagship-adventure .phase-world .fp-canvas{height:auto!important;min-height:0!important;aspect-ratio:1000/650;display:block;overflow:hidden;touch-action:none}
.phase-world .fp-controls,.phase-world .fp-play-hint{display:none!important}.phase-world .phase-current-name{fill:#fff2cf!important;font-size:34px;pointer-events:none;paint-order:stroke;stroke:#102944;stroke-width:5px}
.phase-wheel-track{cursor:grab;touch-action:none}.phase-wheel-track:active{cursor:grabbing}.phase-wheel-cursor{filter:drop-shadow(0 0 7px #ffdf8d88)}
.phase-world [data-moon-phase]{cursor:pointer;outline:none}.phase-world [data-moon-phase]:focus-visible{outline:none;filter:drop-shadow(0 0 8px #fff0be)}.phase-world [data-moon-phase][aria-pressed=true]{filter:drop-shadow(0 0 9px #f7d68c55)}
.phase-progress{position:absolute;left:20px;top:15px;min-width:66px;padding:6px 12px;border-radius:24px;background:#fff5d7;color:#18465a;font:700 22px Froople,'Trebuchet MS',sans-serif;box-shadow:0 3px 0 #ac8955}
.phase-navigation{position:relative;width:max-content;margin:0 auto;padding:8px 0 20px;display:grid;grid-template-columns:58px 64px 58px;gap:12px;align-items:center;justify-content:center;max-width:calc(100% - 24px)}
.phase-navigation.phase-complete{grid-template-columns:58px 64px 58px minmax(120px,180px)}.phase-navigation button{min-height:54px;padding:5px 10px;border:3px solid #fff2c9;border-radius:24px;background:linear-gradient(#ffeaaa,#e8bc66);color:#17475b;box-shadow:0 5px 0 #967444;font-size:30px;line-height:1;cursor:pointer}.phase-navigation button:last-child{font-size:22px}.phase-navigation button[hidden]{display:none}.phase-navigation button:active{transform:translateY(3px);box-shadow:0 2px 0 #967444}.phase-navigation button:disabled{opacity:.62;cursor:default}
@media(max-width:760px){.phase-world .phase-current-name{font-size:42px}.phase-progress{top:10px;left:12px;min-width:44px;padding:5px 9px;font-size:15px}.phase-navigation{grid-template-columns:48px 52px 48px;gap:8px;bottom:2%}.phase-navigation.phase-complete{grid-template-columns:48px 52px 48px minmax(110px,1fr);width:calc(100% - 24px)}.phase-navigation button{min-height:46px;height:46px;border-width:2px;font-size:27px;border-radius:19px;padding:4px 6px}.phase-navigation button:last-child{font-size:17px}}
@media(prefers-reduced-motion:reduce){.phase-world .phase-wheel-cursor{filter:none}}

/* One handmade sky lantern carries the child's real paint and stickers through all three rounds. */
body.flagship-adventure .fp-world.sky-lantern-world{background:#10354a;overflow:hidden;min-height:0}
body.flagship-adventure .sky-lantern-world .fp-canvas{height:auto!important;min-height:0!important;aspect-ratio:1000/650;overflow:hidden;touch-action:none}
.sky-lantern-world .fp-controls,.sky-lantern-world .fp-play-hint{display:none!important}.sky-lantern-world .lantern-ink{mix-blend-mode:multiply}.sky-lantern-world [data-pattern-band]{transform-origin:500px 303px}.sky-lantern-world .lantern-selected{filter:drop-shadow(0 0 10px #ffe99d);outline:none}.sky-lantern-world .lantern-drop-ready{filter:drop-shadow(0 0 14px #fff2ac)}.sky-lantern-world .lantern-drop-ready>ellipse{stroke:#fff6cf;stroke-width:7}.sky-lantern-world .lantern-next-space{filter:drop-shadow(0 0 7px #ffdc7c)}.sky-lantern-world .lantern-tool-label{fill:#fff2cf!important;font-size:31px}.sky-lantern-world [data-lantern-sticker],.sky-lantern-world [data-lantern-light]{cursor:grab;outline:none}.sky-lantern-world [data-lantern-sticker]:active,.sky-lantern-world [data-lantern-light]:active{cursor:grabbing}.sky-lantern-world [role=button]:focus-visible,.sky-lantern-world [role=application]:focus-visible{outline:4px solid #ffe5a0;outline-offset:3px}.sky-lantern-world .lantern-lit{filter:drop-shadow(0 0 19px #ffe8a363)}
.lantern-tools{position:relative;display:flex;align-items:center;justify-content:center;gap:24px;padding:0 20px 22px;flex-wrap:wrap}.lantern-tools:empty{display:none}.lantern-palette{display:flex;gap:20px;align-items:center;justify-content:center}.lantern-palette button{background:radial-gradient(ellipse at 50% 25%,var(--paint) 0 42%,#fff3db 45% 53%,var(--paint) 55%);min-width:96px;min-height:76px;padding:45px 10px 7px;border:3px solid #ffeed2;border-radius:22px;box-shadow:0 6px #10243a;color:#10364b;text-shadow:0 1px #fff8;font-weight:bold;font-size:19px}.lantern-palette button[aria-pressed=true]{outline:5px solid #ffdf84;outline-offset:3px;transform:translateY(-4px)}.lantern-palette button:disabled{opacity:.65}.lantern-progress{position:absolute;top:16px;left:18px;border-radius:22px;padding:8px 14px;background:#fff3cc;color:#245569;font:22px Froople,'Trebuchet MS',sans-serif;box-shadow:0 4px #bb985d;pointer-events:none}
@media(max-width:760px){.lantern-tools{gap:17px;padding:6px 10px 18px}.lantern-palette{gap:14px}.lantern-palette button{min-width:76px;min-height:68px;padding-top:39px;font-size:16px}.lantern-tools>.gold{min-height:47px}.lantern-progress{top:10px;left:12px;padding:6px 10px;font-size:16px}.sky-lantern-world .lantern-tool-label{font-size:40px}}

body.flagship-adventure .sky-lantern-world .lantern-palette button{background:radial-gradient(ellipse at 50% 25%,var(--paint) 0 42%,#fff3db 45% 53%,var(--paint) 55%)!important}.sky-lantern-world [role=application]{outline:none}

/* Interactive Moon workshops: the scene is the play surface. */
.fp-world.moon-workshop{min-height:0;position:relative;background:#f8f1de;overflow:hidden}
body.flagship-adventure .moon-workshop .fp-canvas{height:auto!important;min-height:0!important;aspect-ratio:1000/650;display:block;touch-action:none}
.moon-workshop-tools{display:flex;justify-content:center;flex-wrap:wrap;gap:12px;padding:12px 16px;background:#faf3df}
.moon-workshop-tools:empty{display:none}
.moon-workshop-tools button{min-height:52px;min-width:100px;font-size:20px}
.moon-workshop-progress{position:absolute;top:12px;left:14px;padding:7px 13px;border-radius:30px;background:#fff7df;color:#205761;font-weight:800;pointer-events:none}
.moon-workshop text{fill:#205761;text-shadow:none;font-weight:800;pointer-events:none}
.moon-workshop .cake-fraction{fill:#70462c;font-size:72px}
.moon-workshop .cake-letter{fill:#205761}
.moon-workshop .cake-small-label{font-size:28px}
.moon-workshop .moon-tool-label{paint-order:stroke;stroke:#fff7e7;stroke-width:7px;stroke-linejoin:round}
.moon-workshop [role=button]{cursor:pointer;touch-action:none}
.moon-workshop [role=button]:focus-visible{outline:5px solid #f9c453;outline-offset:4px}
.moon-workshop image{user-select:none;-webkit-user-drag:none}
.moon-workshop .leaf-wrong image{transform-box:fill-box;transform-origin:center;animation:moon-leaf-no .6s ease}
@keyframes moon-leaf-no{50%{transform:rotate(20deg)}}
@media(max-width:600px){.moon-workshop-tools{gap:8px;padding:8px}.moon-workshop-tools button{min-height:48px;font-size:17px}.moon-workshop-progress{top:6px;left:6px;font-size:13px;padding:4px 8px}}

.moon-workshop .moon-selected,.moon-workshop .moon-drop-ready{filter:drop-shadow(0 0 9px #fff5a0) drop-shadow(0 0 4px #ffe16a)}

.moon-workshop image{transform-box:fill-box;transform-origin:center}

/* Moonlight music: three tactile instruments, one continuous night. */
.moon-music-maker .music-label{fill:#fff3d0!important;text-shadow:0 2px 2px #12354d;stroke:none;font-size:44px}
.moon-music-maker .music-selected{filter:drop-shadow(0 0 12px #ffe09c)}
.moon-music-maker .music-beat-now{filter:drop-shadow(0 0 14px #fff3ac);opacity:1;outline:0}
.moon-music-maker .music-beat-now circle{stroke-width:10;stroke:#fff9dc;fill:#f3c97155}
.moon-music-maker [data-instrument] image{transform-box:fill-box;transform-origin:center}
.moon-music-maker [data-instrument]:hover image{filter:brightness(1.08)}
/* Same composition as Little Thread: one frame, three photos below, three keepsakes. */
body.flagship-adventure[data-adventure-theme=moon] #memoryScreen>.fp-memory-head{display:flex;align-items:center;justify-content:center;gap:16px;margin:6px 0 10px}
body.flagship-adventure[data-adventure-theme=moon] #memoryScreen>.fp-memory-head h2{font-size:clamp(24px,2.5vw,34px);margin:0}
body.flagship-adventure[data-adventure-theme=moon] #memoryClue{display:none}
body.flagship-adventure[data-adventure-theme=moon] #memoryHear{min-width:44px;min-height:44px;padding:10px}
body.flagship-adventure #memoryBoard.moon-thread-board{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr) clamp(110px,18dvh,220px) 30px 24px;gap:8px;padding:10px;height:max(480px,calc(100dvh - 194px));border-radius:26px;overflow:hidden;background:radial-gradient(ellipse at 20% 80%,#fff0ce,transparent 65%),#d8e9e2}
.moon-memory-scene{position:relative;display:flex;align-items:center;justify-content:center;min-width:0;min-height:0;container-type:size}
.moon-memory-frame{position:relative;aspect-ratio:4/3;width:min(100cqw,calc(100cqh * 4/3));max-width:100%;max-height:100%;isolation:isolate}
.moon-memory-slot{position:absolute;inset:21% 11%;width:78%;height:58%;padding:0;border:0;border-radius:0;background:#fff8e8;box-shadow:none;overflow:hidden;touch-action:none;z-index:1}
.moon-memory-slot img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;background:#fff8e8}
.moon-memory-art{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;pointer-events:none;z-index:2;filter:drop-shadow(0 4px 4px #31565b26);mask-image:linear-gradient(#000 0 0),linear-gradient(#000 0 0);mask-size:100% 100%,78% 58%;mask-position:center;mask-repeat:no-repeat;mask-composite:exclude}
.moon-memory-question{position:absolute;inset:21% 16%;display:grid;place-items:center;z-index:3;pointer-events:none}
.moon-memory-clue{border:0;background:none;box-shadow:none;color:#285568;font:800 clamp(16px,2vw,24px)/1.3 'Trebuchet MS',sans-serif;padding:6px;width:100%;pointer-events:auto}
.moon-memory-clue::before{content:'🔊';display:block;font-size:28px;margin-bottom:12px}
.moon-memory-frame.photo-selected .moon-memory-slot{outline:4px solid #e9b849;outline-offset:-4px}
.moon-memory-frame.photo-selected .moon-memory-clue{pointer-events:none}
.moon-memory-frame.frame-filled .moon-memory-art{animation:story-frame-cheer .7s ease-out}
.moon-memory-tray{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;min-height:0;min-width:0}
.moon-memory-photo{display:flex;flex-direction:column;align-items:center;gap:4px;padding:6px;min-width:0;min-height:44px;max-width:none;max-height:none;border:3px solid #fff;border-radius:16px;background:#fffaf0;box-shadow:0 4px #a5bcb3;color:#285568;font-weight:800;font-size:clamp(12px,2vw,20px);touch-action:none}
.moon-memory-photo img{width:100%;height:calc(100% - 28px);flex:1;min-height:0;object-fit:contain;pointer-events:none;border-radius:7px}
.moon-memory-photo span{flex:none;min-height:22px}
.moon-memory-photo.selected{outline:4px solid #e9b849;outline-offset:-3px;background:#fff2c9}
.moon-memory-progress{display:flex;justify-content:center;align-items:center;gap:16px}
.moon-memory-progress span{display:grid;place-items:center;width:28px;height:28px;border:2px dashed #83a59e;border-radius:50%;background:#fff9e7;color:#557c73;font-weight:800}
.moon-memory-progress .saved{background:#ffdc79;color:#856529;border-style:solid}
.moon-memory-note{margin:0;text-align:center;font-size:12px;color:#285568;line-height:1.3}
@media(max-width:600px){body.flagship-adventure[data-adventure-theme=moon] #memoryScreen>.fp-memory-head{gap:8px;flex-wrap:wrap}.moon-memory-clue{font-size:clamp(13px,3.8vw,17px)}.moon-memory-clue::before{font-size:21px;margin-bottom:5px}body.flagship-adventure #memoryBoard.moon-thread-board{padding:6px;gap:6px;grid-template-rows:minmax(0,1fr) 112px 26px 32px;height:max(440px,calc(100dvh - 210px))}.moon-memory-note{font-size:11px}.moon-memory-photo{padding:4px;gap:3px;font-size:12px}.moon-memory-progress span{width:24px;height:24px}}

body.flagship-adventure>.memory-flying-photo{position:fixed;z-index:1000;pointer-events:none;object-fit:contain;max-width:none;max-height:none}

body.flagship-adventure #memoryBoard.moon-thread-board{align-items:stretch}
.moon-memory-scene{align-self:stretch;height:100%;overflow:hidden}
.moon-memory-tray{height:100%;align-self:stretch;overflow:hidden}
.moon-memory-photo{height:100%;overflow:hidden}
.moon-memory-photo img{max-height:100%;max-width:100%}

.moon-music-maker .music-drop-near circle,.moon-music-maker.music-near [data-sound-target] circle{fill:#ffe6a055;stroke:#fff8c1;stroke-width:9;filter:drop-shadow(0 0 9px #ffe7a2)}

/* Centre-target telescope: the glow follows each sprite alpha, never a rectangle. */
.scope-look-status{position:absolute;left:18%;right:18%;bottom:12%;text-align:center;color:#fff3cc;font-size:clamp(13px,1.8vw,20px);font-weight:800;pointer-events:none;text-shadow:0 2px 3px #10223b}
.scope-world [data-scope-reticle],.scope-world [data-scope-dwell]{pointer-events:none}
.scope-world .scope-discovery-sprite{pointer-events:none;user-select:none;-webkit-user-drag:none}
.scope-world [data-scope-object]{pointer-events:none;outline:0}
.scope-world [data-scope-slot][role=button]{cursor:pointer}
@media(max-width:600px){.scope-look-status{left:18%;right:18%;bottom:14%;font-size:12px;line-height:1.2}.scope-find-chip{font-size:12px!important;min-height:40px!important;padding:6px 8px!important}}
.phase-world [data-phase-handle]{cursor:grab;touch-action:none;outline:none}.phase-world [data-phase-handle]:active{cursor:grabbing}.phase-world [data-phase-handle]:focus-visible{stroke:#fff4bf;stroke-width:6}.phase-world .phase-handle-help{fill:#fff1c8;pointer-events:none;font-size:19px;paint-order:stroke;stroke:#102944;stroke-width:4px}
.phase-listening{position:absolute;top:16px;left:50%;transform:translateX(-50%);border:2px solid #e3c886;border-radius:26px;background:#fff5d7;color:#18465a;padding:9px 20px;font:700 clamp(13px,1.5vw,21px) 'Trebuchet MS',sans-serif;white-space:nowrap;pointer-events:none;box-shadow:0 3px 0 #987341}
.phase-world.phase-is-listening [data-phase-handle],.phase-world.phase-is-listening [data-moon-phase],.phase-world.phase-is-listening .phase-wheel-track{cursor:wait}.phase-is-listening .phase-handle-ring{stroke-dasharray:none;stroke-width:8;animation:phase-listen-pulse 1.1s ease-in-out infinite}.phase-is-listening .phase-listening{background:#ffdf87}.phase-is-listening .phase-navigation{opacity:.45}.phase-score-gain{position:absolute;top:40%;left:60%;font:700 clamp(24px,3vw,44px) Froople,'Trebuchet MS',sans-serif;color:#ffe595;text-shadow:0 3px 0 #684b25;pointer-events:none;opacity:0}
@keyframes phase-listen-pulse{50%{stroke:#fff8d9;opacity:.45}}
@media(max-width:600px){.phase-listening{top:10px;padding:6px 9px;font-size:11px;left:auto;right:10px;transform:none}.phase-world .phase-handle-help{font-size:24px}}
@media(prefers-reduced-motion:reduce){.phase-is-listening .phase-handle-ring{animation:none}}
/* Keep the listening cue below the wheel, clear of all eight moon stops. */
.phase-world .phase-listening{position:relative;inset:auto;left:auto;right:auto;top:auto;transform:none;display:table;max-width:calc(100% - 24px);margin:0 auto 8px;white-space:normal;text-align:center}
/* Tools sit inside the continuous scene, never on a separate background strip. */
.sky-lantern-world .lantern-tools{position:absolute;left:0;right:0;bottom:12px;padding:0 14px;gap:10px;flex-direction:column;z-index:2;pointer-events:none}.sky-lantern-world .lantern-tools>*{pointer-events:auto}.sky-lantern-world .lantern-palette{display:grid;grid-template-columns:repeat(9,minmax(54px,78px));gap:10px;max-width:100%;padding:4px 5px}
.sky-lantern-world .lantern-palette button{position:relative;min-width:0;min-height:64px;padding:40px 4px 5px;border-radius:18px;font-size:14px;color:#173e51;text-shadow:none;background:#fff4db!important;box-shadow:0 4px 0 #826944}.sky-lantern-world .lantern-palette button::before{content:'';position:absolute;top:5px;left:50%;transform:translateX(-50%);width:30px;height:30px;border-radius:50%;background:var(--paint);border:2px solid #e0c9a1;box-shadow:inset 0 2px 3px #fff5,0 2px 1px #33251130}.sky-lantern-world .lantern-palette button[aria-pressed=true]{outline:3px solid #ffe38c;outline-offset:2px;transform:translateY(-2px)}.sky-lantern-world .lantern-tools>.gold{min-height:40px;min-width:150px;padding:7px 20px;font-size:18px}.sky-lantern-world.lantern-paint-world [role=application]{cursor:crosshair}
@media(max-width:600px){body.flagship-adventure .lantern-paint-world .fp-canvas{aspect-ratio:560/900}.lantern-paint-world .lantern-palette{grid-template-columns:repeat(3,minmax(70px,86px));gap:6px}.lantern-paint-world .lantern-palette button{min-height:43px;padding:24px 4px 3px;border-radius:12px;font-size:11px}.lantern-paint-world .lantern-palette button::before{width:18px;height:18px;top:3px;border-width:1px}.lantern-paint-world .lantern-tools{gap:8px;bottom:12px}.lantern-paint-world .lantern-tools>.gold{min-height:42px;padding:6px 20px;font-size:17px}}
body.flagship-adventure .sky-lantern-world.lantern-paint-world .lantern-palette button{background:#fff4db!important}
.lantern-sticker-tools[hidden]{display:none!important}.lantern-sticker-palette{display:grid;grid-template-columns:repeat(9,minmax(54px,78px));gap:10px;max-width:100%;padding:5px}.lantern-sticker-choice{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-width:0;min-height:82px;padding:5px;border:2px solid #ffedce;border-radius:18px;background:#fff4df;color:#214d59;box-shadow:0 4px 0 #786247;font:700 13px 'Trebuchet MS',sans-serif;cursor:grab;touch-action:none}.lantern-sticker-choice:active{cursor:grabbing}.lantern-sticker-choice[aria-pressed=true]{outline:3px solid #ffe282;outline-offset:2px}.lantern-sticker-choice:disabled{opacity:.65}.lantern-sticker-swatch{display:block;width:52px;height:52px;background-size:300% 300%;background-repeat:no-repeat;pointer-events:none}.lantern-sticker-choice>span:last-child{pointer-events:none}
.lantern-sticker-world [data-sticker-paper]{transition:filter .18s}.lantern-sticker-world [data-sticker-paper].lantern-drop-ready{stroke:#ffe6a2;stroke-width:4;stroke-dasharray:8 7;filter:drop-shadow(0 0 9px #fff0a4)}.lantern-sticker-world [data-lantern-led]{filter:drop-shadow(0 0 12px #ffdc82)}.lantern-sticker-world [data-lantern-decoration]{pointer-events:none}
.lantern-story-modal{z-index:8}.lantern-story-card{overflow:hidden}.lantern-story-art{position:relative;min-height:240px;display:flex;align-items:center;justify-content:center;border-radius:22px;background:radial-gradient(ellipse at 50% 55%,#ffeab8,#e4be85 32%,#1c4560 75%)}.lantern-story-art>img:first-child{width:78%;max-height:340px;object-fit:contain;filter:drop-shadow(0 0 18px #fff5bd)}.lantern-story-art>img:last-child{position:absolute;width:33%;left:34%;bottom:4%;filter:drop-shadow(0 0 15px #ffda78)}.lantern-story-copy h2{font-size:clamp(22px,2.3vw,32px)}.lantern-story-copy p{font-size:clamp(18px,1.8vw,25px);line-height:1.55}
@media(max-width:600px){body.flagship-adventure .lantern-sticker-world .fp-canvas{aspect-ratio:560/950}.lantern-sticker-palette{grid-template-columns:repeat(3,minmax(76px,90px));gap:6px}.lantern-sticker-choice{min-height:63px;padding:3px;border-radius:13px;font-size:11px;gap:0}.lantern-sticker-swatch{width:42px;height:42px}.lantern-sticker-world .lantern-tools{bottom:10px}.lantern-story-card{max-height:92vh;overflow:auto}.lantern-story-art{min-height:145px}.lantern-story-art>img:first-child{max-height:175px}.lantern-story-copy p{font-size:17px}}
.lantern-story-modal{z-index:1500}

/* Keep local actor rotation separate from world-space landing coordinates. */
.lotus-crossing .pond-anchor,.lotus-crossing .pond-sprite{transform-box:view-box;transform-origin:0 0}

.mooncake-workshop .cake-knife-sprite{transform-box:view-box;transform-origin:0 0;filter:drop-shadow(0 5px 4px #6b482932)}
.mooncake-workshop [data-cake-sound]{cursor:grab}.mooncake-workshop [data-cake-sound]:active{cursor:grabbing}

/* One readable announcement treatment for every Moon Night Reading mini-game. */
body.flagship-adventure[data-game="moon-night"] #playScreen .round-intro{
 background:#12344840;color:#174e56;border-radius:35px;
 text-shadow:none!important;backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);
 transform:none!important;pointer-events:none;
}
body.flagship-adventure[data-game="moon-night"] #playScreen .round-intro>div{
 display:flex;flex-direction:column;align-items:center;gap:12px;
 background:#fff9e9;color:#174e56;border:3px solid #e8ce8c;
 padding:24px 48px;border-radius:36px;max-width:calc(100% - 36px);
 box-shadow:0 5px 0 #bda36e,0 14px 28px #102e4226;
 text-shadow:none!important;filter:none;
}
body.flagship-adventure[data-game="moon-night"] #playScreen .round-intro strong{
 display:block;margin:0;color:#174e56;
 font:clamp(32px,5vw,54px)/1.12 Froople,'Trebuchet MS',sans-serif;
 text-shadow:none!important;-webkit-text-stroke:0;
}
body.flagship-adventure[data-game="moon-night"] #playScreen .round-intro small{
 display:block;margin:0;padding:7px 18px;border-radius:18px;
 background:#e4f0e7;color:#285b59;border:1px solid #c5d9ca;
 font:700 clamp(18px,2.6vw,25px)/1.25 Froople,'Trebuchet MS',sans-serif;
 text-shadow:none!important;-webkit-text-stroke:0;box-shadow:none;overflow-wrap:anywhere;
}
@media(max-width:520px){body.flagship-adventure[data-game="moon-night"] #playScreen .round-intro>div{padding:18px 24px;gap:10px;border-radius:28px}}

.lantern-message-keyboard{display:grid;grid-template-columns:repeat(10,minmax(40px,1fr));gap:6px;width:min(720px,96%);margin:5px auto}.lantern-message-key{min-width:0;min-height:45px;border:2px solid #d6bd80;border-radius:12px;background:#fff7e3;color:#174e56;box-shadow:0 3px #a58b5b;font:bold 20px 'Trebuchet MS',sans-serif}.lantern-message-key:active{transform:translateY(2px);box-shadow:0 1px #a58b5b}.lantern-message-key:nth-last-child(-n+2){grid-column:span 2;background:#dfede5}.lantern-send{display:block;min-width:190px;margin:10px auto}.lantern-sticker-world[data-lantern-phase=writing] .lantern-sticker-tools{position:relative;inset:auto;background:#183e50;padding:12px}.leaf-fact-image{display:block;width:160px;height:160px;object-fit:contain;margin:auto}.leaf-discovery .ocean-discovery-card{max-width:620px;text-align:center}.leaf-fact-copy{font-size:clamp(20px,2.2vw,26px);line-height:1.5}.leaf-fact-copy .active{background:#ffe28b;border-radius:5px}.leaf-discovery .ocean-discovery-actions{flex-wrap:wrap;justify-content:center}
@media(max-width:600px){.lantern-message-keyboard{grid-template-columns:repeat(7,minmax(32px,1fr));gap:5px}.lantern-message-key{font-size:18px;min-height:43px}.leaf-fact-image{width:110px;height:110px}.leaf-discovery .ocean-discovery-card{max-height:90svh;overflow:auto}.leaf-discovery .gold{padding:10px 12px}}

/* Play review: phonics contrast and exact sprite coordinate frames. */
.lotus-crossing [data-lotus-sound] text{fill:#fff0ad!important;paint-order:stroke;stroke:#174e56;stroke-width:2px}
.moon-workshop .cake-piece-anchor,.moon-workshop .cake-piece-anchor>g{transform-box:view-box;transform-origin:0 0}
.moon-music-maker .music-label{font-size:34px;fill:#fff1bf!important;stroke:#163b4c;stroke-width:4px;paint-order:stroke;text-shadow:none}
.moon-music-maker .music-label-dark{fill:#205761!important;text-shadow:none}
.moon-music-maker .moon-workshop-tools button{min-height:64px;min-width:220px;font-size:24px}
.moon-discovery-image{width:100%;height:210px;object-fit:contain}
.moon-play-discovery-copy{font-size:clamp(19px,2vw,25px);line-height:1.5}
.moon-play-discovery-copy .active{background:#ffe49a;border-radius:5px}
@media(max-width:600px){.moon-discovery-image{height:130px}.moon-music-maker .moon-workshop-tools button{min-width:140px;font-size:18px}}

/* Discovery controls and telescope layout shared across phone and desktop. */
.fp-play #playground:has(.ocean-discovery-backdrop){z-index:1000}
body:has(.ocean-discovery-backdrop) .adventure-howto{visibility:hidden;pointer-events:none}
.ocean-discovery-backdrop.scope-encyclopedia{z-index:1500}
.ocean-discovery-card .discovery-title-row{display:flex;align-items:center;justify-content:center;gap:12px;margin:10px 0 16px}
.ocean-discovery-card .discovery-title-row h2{margin:0;min-width:0;line-height:1.15}
.ocean-discovery-card .discovery-play{flex:0 0 48px;display:grid;place-items:center;width:48px;min-width:48px;height:48px;min-height:48px;padding:0 0 0 3px!important;border:2px solid #aacfc5;border-radius:50%;background:#dff3e9;color:#205a60;font:23px/1 sans-serif!important;box-shadow:0 4px #8bb6ad;cursor:pointer;touch-action:manipulation}
.ocean-discovery-card .discovery-play:disabled{opacity:.55;cursor:default}
.ocean-discovery-card .discovery-play:focus-visible{outline:3px solid #e5ac36;outline-offset:4px}
.scope-world .scope-view{position:relative;width:100%;isolation:isolate}
.scope-world .scope-view .scope-navigation{inset:46.92% 2% auto;transform:translateY(-50%);z-index:2}
.scope-world .scope-navigation button{font:28px/1 sans-serif;display:grid;place-items:center;padding:0}
.scope-world .scope-look-status{position:relative;inset:auto;margin:0;padding:8px 14px 4px;background:#0a1831;color:#fff3cc;font-size:15px;line-height:1.35;min-height:21px;text-shadow:none;box-sizing:border-box}
.scope-world .scope-find-list{position:relative;inset:auto;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0;padding:10px 18px 18px;background:#0a1831;box-sizing:border-box}
.scope-world .scope-find-chip{width:100%;min-width:0;min-height:48px!important;padding:9px 10px!important;font-size:18px!important;line-height:1.3;white-space:normal}
@media(max-width:600px){
 .ocean-discovery-backdrop{padding:12px;padding-top:max(12px,env(safe-area-inset-top));padding-bottom:max(12px,env(safe-area-inset-bottom))}
 .ocean-discovery-card .discovery-title-row{gap:10px}
 .ocean-discovery-card .discovery-title-row h2{font-size:27px}
 .scope-world .scope-navigation button{width:48px;min-width:48px;min-height:48px;font-size:22px}
 .scope-world .scope-look-status{font-size:13px;padding:6px 12px 2px}
 .scope-world .scope-find-list{gap:8px;padding:8px 10px 14px}
 .scope-world .scope-find-chip{font-size:14px!important;min-height:48px!important}
}

.ocean-discovery-card .discovery-play{padding:0!important}
.discovery-play img{display:block;width:26px;height:26px;pointer-events:none}
.scope-arrow-image{display:block;width:30px;height:30px;pointer-events:none}
.scope-arrow-left{transform:rotate(180deg)}
@media(max-width:600px){.scope-arrow-image{width:25px;height:25px}}

/* Picture clues: recognise the shape, listen, then find the matching friend. */
.scope-world .scope-find-chip{display:flex;align-items:center;justify-content:center;gap:10px;position:relative;border-radius:26px;min-height:96px!important}
.scope-clue-silhouette{width:68px;height:76px;object-fit:contain;filter:brightness(0);opacity:.65;flex:0 0 68px;transition:filter .45s,opacity .45s,transform .3s;pointer-events:none}
.scope-clue-copy{display:flex;flex-direction:column;align-items:center;gap:2px;min-width:0}
.scope-clue-copy>span{line-height:1.15}
.scope-clue-caption{font:12px/1.25 'Trebuchet MS',sans-serif;color:#476b70;margin-top:4px}
.scope-clue-play{width:18px;height:18px;flex:0 0 18px;pointer-events:none}
.scope-find-chip:active .scope-clue-silhouette{transform:scale(1.08)}
.scope-find-chip.found .scope-clue-silhouette{filter:none;opacity:1}
.scope-find-chip.found .scope-clue-caption{font-weight:bold;color:#205a60}
@media(max-width:600px){.scope-world .scope-find-chip{gap:5px;padding:8px 6px!important;min-height:88px!important}.scope-clue-silhouette{width:43px;height:61px;flex-basis:43px}.scope-clue-copy>span{font-size:14px}.scope-clue-caption{font-size:10px}.scope-clue-play{width:14px;height:14px;flex-basis:14px}}

/* Free sticker workshop: clear selection and child-sized image controls. */
.lantern-sticker-world [data-editable-sticker]{pointer-events:auto;touch-action:none;cursor:grab;outline:none}
.lantern-sticker-world [data-editable-sticker]:focus-visible{filter:drop-shadow(0 0 5px #fff0a5)}
.lantern-sticker-world [data-sticker-transform]{cursor:nwse-resize;touch-action:none}
.lantern-sticker-editor{display:flex;align-items:center;justify-content:center;gap:8px;min-height:48px;order:-1}
.lantern-sticker-editor[hidden]{display:none!important}
.lantern-adjust{display:grid;place-items:center;width:48px;height:48px;padding:8px;border:2px solid #fff2d3;border-radius:16px;background:#fff5d9;color:#205665;box-shadow:0 4px #9b8052;touch-action:manipulation}
.lantern-adjust:active{transform:translateY(2px);box-shadow:0 2px #9b8052}
.lantern-adjust:last-child{background:#f9e0d9}.lantern-adjust:disabled{opacity:.55}
.lantern-sticker-world[data-lantern-phase=stickers] .lantern-tools{bottom:14px;gap:12px}
.lantern-sticker-world .lantern-stickers-done{min-height:48px!important;min-width:180px!important;font-size:21px!important}
@media(max-width:600px){body.flagship-adventure .lantern-sticker-world[data-lantern-phase=stickers] .fp-canvas{aspect-ratio:560/1100}.lantern-sticker-world[data-lantern-phase=stickers] .lantern-tools{gap:12px;bottom:14px}.lantern-sticker-world .lantern-sticker-palette{grid-template-columns:repeat(3,minmax(76px,90px))}.lantern-sticker-editor{gap:7px}.lantern-adjust{width:46px;height:46px;border-radius:14px}}

@media(min-width:601px){body.flagship-adventure .lantern-sticker-world[data-lantern-phase=stickers] .fp-canvas{aspect-ratio:1000/800}}

body.flagship-adventure .lantern-sticker-world.lantern-writing-world .fp-canvas{aspect-ratio:1000/580}
.lantern-sticker-world [data-message-drag],.lantern-sticker-world [data-message-transform]{touch-action:none;cursor:grab;outline:none}
.lantern-sticker-world [data-message-drag]:focus-visible{stroke:#ffdf87;stroke-width:3}
@media(max-width:600px){body.flagship-adventure .lantern-sticker-world.lantern-writing-world .fp-canvas{aspect-ratio:560/600}.lantern-message-editor{margin:0 auto 4px}.lantern-sticker-world[data-lantern-phase=writing] .lantern-sticker-tools{gap:8px}}

.lotus-crossing .lotus-sound-slot{cursor:pointer;outline:none}.lotus-crossing .lotus-sound-slot:focus-visible ellipse{stroke:#fff9df;stroke-width:6;filter:drop-shadow(0 0 8px #ffe49f)}
.lotus-crossing .lotus-sound-slot[aria-disabled=true]{pointer-events:none}

/* A cream keyline keeps labels readable over detailed illustrated materials. */
.fp-canvas text{paint-order:stroke fill;stroke:#fff1c4;stroke-width:5px;stroke-linejoin:round}
.moon-workshop .moon-tool-label,.moon-workshop .cake-word-title,.moon-workshop .cake-small-label,.moon-workshop .cake-cut-feedback-label{stroke:#fff1c4;stroke-width:7px;paint-order:stroke fill;stroke-linejoin:round}
