@font-face{font-family:Froople;src:url('/play/a-little-loose-thread/art/Froople.ttf')}*{box-sizing:border-box}[hidden]{display:none!important}html,body{margin:0;min-height:100%;color:#173c61;font-family:'Trebuchet MS',Arial,sans-serif}body{background:radial-gradient(ellipse at 5% 20%,#2b7991,transparent 65%),linear-gradient(120deg,#12334e,#235c76)}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;font-weight:800;min-height:46px;padding:12px 20px;border:0;border-radius:18px;background:#e5f3f2;color:inherit;cursor:pointer;touch-action:manipulation}button:disabled{opacity:.45;cursor:default}button:focus-visible,a:focus-visible,[tabindex]:focus-visible{outline:4px solid #188bff;outline-offset:4px}button.selected,[aria-pressed=true].prop{outline:4px solid #228fda;box-shadow:0 0 0 7px #fff8}.gold{background:#ffdb68;box-shadow:0 4px 0 #bf8d29}.subtle{background:transparent}.eyebrow{font-size:12px;font-weight:900;letter-spacing:.12em;color:#18848c}.small{font-size:14px}.topbar{height:60px;background:#fffaf1;display:flex;align-items:center;padding:8px 24px}.logo{width:105px;height:44px;object-fit:contain;position:absolute;left:50%;transform:translateX(-50%)}.header-tools{margin-left:auto;display:flex;gap:8px}.exit-link{font-weight:800;text-decoration:none}body.halloween-game header.rrdd-game-header{height:60px!important;min-height:60px!important}.rrdd-header-space{display:none!important}body.halloween-game .rrdd-game-footer{height:24px;font-size:10px}body.halloween-game{padding-bottom:24px}main{padding:0 16px 12px;max-width:1600px;margin:auto}.journey-score{height:110px;position:relative;display:grid;grid-template-columns:1fr 1fr 1fr;align-items:center;color:#ffdb61}.score-centre{grid-column:2;text-align:center;align-self:start;padding-top:6px}.score-centre>span{font-size:11px;letter-spacing:.3em;color:#c9edf3}.score-centre strong{font-family:Froople,sans-serif;font-size:clamp(54px,6vw,80px);line-height:.9;display:block;text-shadow:0 4px #98641b}.score-centre p{font-size:10px;font-weight:900;color:#b3ffdf;margin:7px 0;min-height:12px}#starRoute{grid-column:3;display:flex;justify-content:flex-end;gap:clamp(2px,.8vw,14px)}#starRoute button{background:none;min-height:38px;min-width:0;padding:2px;font-size:clamp(16px,2.3vw,30px);color:#76a3b4}#starRoute .earned{color:#ffdb61;text-shadow:0 0 12px #ffcf4870}#starRoute .current{color:#fff4b2}.journey-score .rrdd-challenge-timer{grid-column:1;grid-row:1;position:static!important;background:none!important;border:0!important;padding:0!important;color:#ffdb61!important}.journey-score .rrdd-challenge-timer span,.journey-score .rrdd-challenge-timer small{display:none!important}.journey-score .rrdd-challenge-timer b{font:clamp(26px,3vw,44px) Froople,sans-serif!important;text-shadow:0 3px #98641b}.view{min-height:0}.watch-layout{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:7%;height:100%;padding:8px 6%}.watch-layout .film{display:block;height:100%;max-height:100%;max-width:100%;aspect-ratio:9/16;object-fit:contain;margin:auto;border-radius:22px;background:#152e43}.watch-copy{color:#fff8df}.watch-copy h1{font:clamp(32px,4.2vw,64px)/1.07 Froople,sans-serif}.watch-copy .eyebrow{color:#abebea}.watch-copy p{line-height:1.6}.watch-copy .gold{margin:16px 0}#read{display:grid;grid-template-columns:.9fr 1.1fr;gap:16px}.story-picture{margin:0;min-height:0;overflow:hidden;border-radius:24px;background:#102d46;display:flex;justify-content:center}.story-picture img{width:100%;height:100%;object-fit:contain}.reading-card{background:#fffaf1;padding:clamp(18px,2.5vw,36px);border-radius:24px;display:flex;flex-direction:column;align-items:flex-start;gap:12px;min-width:0;overflow:auto}.reading-card h2{font:clamp(24px,3.2vw,44px)/1.3 'Trebuchet MS',sans-serif;margin:4px 0}.read-word{border-radius:6px}.read-word.active{background:#ffdb68}.word-card{background:#e1f2e7;border:2px solid #b8ded1;border-radius:18px;padding:16px;width:100%}#word{display:block;font-size:28px;background:none;padding:8px 0;text-align:left}#meaning{line-height:1.5;margin:6px 0}.feedback{font-weight:800;color:#087f78;margin:6px 0;min-height:24px;text-align:center}.play-view{border-radius:26px;background:linear-gradient(#f2e8ff,#fff4e2);padding:16px 24px;display:flex;flex-direction:column;border:2px solid #fff;box-shadow:0 8px #102f4830;overflow:hidden}.mini-header{display:grid;grid-template-columns:1fr auto;align-items:center;gap:4px 10px;text-align:center}.mini-header .eyebrow{grid-column:1/-1}.mini-header h2{font:clamp(25px,3vw,40px)/1.1 Froople,sans-serif;margin:3px 0 12px}.mini-header button{font-size:13px}.board{flex:1;min-height:0;display:flex;flex-direction:column;justify-content:center;gap:16px;position:relative}.play-actions{display:flex;align-items:center;justify-content:space-between;gap:10px}.play-actions p{font-size:12px;text-align:center;margin:4px 0}.props,.bins,.pumpkins{display:flex;justify-content:center;align-items:center;gap:clamp(12px,3vw,40px)}.prop{padding:8px 12px;border:3px solid white;background:#ffffffc7;box-shadow:0 5px #a68ec34d;min-width:90px;max-width:220px;touch-action:none;user-select:none;position:relative}.prop svg{display:block;width:clamp(80px,12vw,160px);height:clamp(70px,11vw,140px);pointer-events:none}.prop span{display:block;margin:4px 0}.prop.dragging{z-index:40;opacity:.8;pointer-events:none;transition:none!important}.prop.used{opacity:.35;pointer-events:none}.drop-target{border:3px dashed #9870ae;background:#ffffff80;border-radius:22px;text-align:center;position:relative}.drop-target.filled{border-style:solid;border-color:#58b79e;background:#dcf6e7}.mirror{width:min(440px,90%);height:clamp(130px,30vh,300px);margin:0 auto;display:flex;align-items:center;justify-content:center;border:14px solid #d89b58;border-radius:48% 48% 20% 20%;background:linear-gradient(130deg,#e8e4ff,#a8dae8);box-shadow:0 5px #9e663b,0 12px 20px #723b2520}.mirror svg{height:90%;max-width:100%}.mirror:empty:after{content:'Drag the cape here';color:#616384;font-weight:800}.truck-display{display:flex;align-items:center;justify-content:center;gap:14px;min-height:0}.truck-display>svg{width:min(400px,45vw);height:min(240px,29vh)}.paint-pots{display:flex;justify-content:center;gap:14px}.paint-pots button{width:88px;padding:10px;background:white;border:3px solid #fff}.paint-pots i,.light i{display:block;width:42px;height:42px;border-radius:50%;margin:0 auto 6px;background:var(--paint);box-shadow:inset 0 5px #ffffff60,0 4px #0002}.wheel-place{min-width:82px;min-height:80px;display:grid;place-items:center}.pumpkin{width:min(25%,240px);padding:10px}.pumpkin svg{width:100%;display:block}.pumpkin .drop-target{height:65px;display:grid;place-items:center}.pumpkin.lit svg{filter:drop-shadow(0 0 15px #ffc34e);animation:glow 1.5s ease-in-out infinite alternate}.light{min-width:90px}.sweet-field{flex:1;min-height:150px;position:relative;border-radius:22px;background:radial-gradient(ellipse,#ffe3ac,#eac6b1);box-shadow:inset 0 0 40px #c7865f33}.sweet{position:absolute;background:none;padding:0;width:clamp(60px,8vw,100px);height:clamp(60px,8vw,100px);transform:translate(-50%,-50%) rotate(var(--tilt));touch-action:manipulation}.sweet svg{width:100%;height:100%;pointer-events:none}.sweet.counted{background:#fff8;border-radius:50%}.sweet b{position:absolute;inset:0;display:grid;place-items:center;font-size:24px;color:#243455;text-shadow:0 0 4px white}.answers{display:flex;justify-content:center;gap:16px}.answers button{font-size:32px;background:#ffedbb;min-width:100px;border:2px solid #e1c57f;box-shadow:0 4px #c6a45a}.bin{padding:10px;width:min(26%,220px)}.bin svg{width:100%;height:clamp(70px,13vh,140px)}.bin span{display:block}.shadow-stage{text-align:center;min-height:130px}.shadow-stage svg{height:clamp(130px,28vh,240px);width:auto;filter:brightness(0);opacity:.65}.shadow-stage.revealed svg{filter:none;opacity:1}.memory-view{position:relative;background:radial-gradient(ellipse at top,#f5d3a9,#eaded0);border:2px solid #fff;border-radius:26px;padding:14px 24px;display:flex;flex-direction:column;align-items:center;gap:8px;overflow:hidden}.memory-view>.mini-header{width:100%;display:block}.memory-clue{background:#fffaf1;max-width:100%;font-size:clamp(15px,1.7vw,23px);padding:12px 20px;box-shadow:0 3px #0001}.book{flex:1;min-height:0;width:min(100%,1100px);position:relative;display:grid;grid-template-columns:1fr 1fr;padding:5% 5%;background:url('../chimelong-adventure/art/album-book-v1.webp') center/100% 100% no-repeat}.album-page{min-height:0;position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:12px 18px}.album-page:first-child{margin-right:12px;border:3px dashed #b9996b;border-radius:20px;cursor:pointer;background:#fff6}.empty-photo{font-size:58px;color:#b9996b}.album-page p{font-size:13px;color:#866344}.album-page h3{font:clamp(18px,2.4vw,32px) Froople,sans-serif;color:#745774;margin:0 0 14px;text-align:center}.memories{display:flex;gap:6px;align-items:center;justify-content:center;flex-wrap:wrap;width:100%;position:relative;z-index:2}.memories .photo{width:29%;padding:4px;min-height:65px}.memories .photo img{aspect-ratio:3/4}.memories .photo span{font-size:9px}.album-overview .dodu{position:absolute;height:50%;max-width:45%;object-fit:contain;bottom:0;right:-6%;pointer-events:none}.photo{display:block;background:white;padding:7px 7px 10px;box-shadow:0 4px 8px #5e382b50;border:0;border-radius:6px;transform:rotate(var(--angle,-3deg));min-width:0;touch-action:none;position:relative}.photo:before{content:'';position:absolute;width:32%;height:18px;left:34%;top:-6px;background:#f3d19e9c;transform:rotate(-6deg);pointer-events:none}.photo img{display:block;width:100%;aspect-ratio:4/3;object-fit:contain;background:#ede0d1;border-radius:3px;pointer-events:none}.photo span{display:block;font-size:13px;padding-top:5px}.photo-tray{display:flex;gap:22px;justify-content:center;width:min(780px,90%);min-height:0}.photo-tray .photo{flex:1;max-width:230px}.photo-tray .photo img{height:clamp(70px,12vh,150px);aspect-ratio:auto}.album-page>.photo{max-height:100%;height:100%;width:85%;max-width:300px;display:flex;flex-direction:column;transform:rotate(-4deg)}.album-page>.photo img{height:calc(100% - 26px);min-height:0;aspect-ratio:auto}.memory-view.complete .book{grid-template-columns:1fr;background-size:100% 100%;padding:4% 5%}.memory-view.complete .album-page{padding:0}.memory-view.complete .memories{height:100%;gap:clamp(10px,2vw,28px)}.memory-view.complete .memories .photo{width:29%;height:85%;display:flex;flex-direction:column;padding:8px}.memory-view.complete .memories .photo img{height:calc(100% - 28px);min-height:0;aspect-ratio:auto}.memory-view.complete .memories .photo span{font-size:clamp(12px,1.8vw,22px);font-family:Froople,sans-serif}.memory-view.complete .dodu{height:36%;right:-4%;bottom:-1%;z-index:3}.claim-trophy{font-size:clamp(18px,2vw,28px);padding:16px 28px;box-shadow:0 5px #bc8a28,0 0 25px #ffcf40aa;animation:glow 1.5s ease-in-out infinite alternate}.audio-status{text-align:center;color:#fff6df;font-size:13px;margin:5px 0}.award-view{background:#fffaf1;border-radius:24px;padding:20px;overflow:auto}#scoreDetails{color:#173c61;font-size:13px;text-align:center}#stageScores{text-align:left;columns:2}#result .rrdd-result{margin:0}.celebrate{animation:starPop .7s ease-out}@keyframes starPop{50%{transform:scale(1.3);filter:drop-shadow(0 0 16px #ffe78a)}}@keyframes glow{to{filter:drop-shadow(0 0 10px #ffd45288)}}
@media(min-width:701px){body.halloween-game .view{height:calc(100dvh - 212px);min-height:320px}.reading-card .feedback{margin-top:auto}.award-view{height:auto!important;min-height:calc(100dvh - 212px)!important}}
@media(max-height:700px) and (min-width:701px){.journey-score{height:86px}.score-centre strong{font-size:54px}body.halloween-game .view{height:calc(100dvh - 186px);min-height:260px}.mini-header h2{font-size:26px}.mini-header button{padding:8px 12px}.play-view{padding:10px 16px}.board{gap:8px}.prop svg{height:75px}.prop{padding:4px 10px}.book{padding:4% 5%}.memory-view{gap:5px;padding:10px 18px}.photo-tray .photo img{height:65px}.photo-tray .photo{padding:4px}.memory-clue{padding:8px 14px}.mirror{height:150px}.feedback{font-size:13px;min-height:18px}.play-actions p{font-size:11px}}
@media(max-width:700px){main{padding:0 10px 10px}.journey-score{height:118px;grid-template-columns:1fr 1fr 1fr}.score-centre strong{font-size:62px}#starRoute{position:absolute;bottom:9px;left:10%;right:10%;justify-content:space-between}#starRoute button{font-size:24px}.watch-layout{grid-template-columns:1fr;padding:10px 0;gap:16px}.watch-layout .film{height:min(58dvh,570px);width:auto}.watch-copy{text-align:center}.watch-copy h1{font-size:36px;margin:15px 0}#read{grid-template-columns:1fr}.story-picture{height:38dvh}.reading-card{padding:18px}.reading-card h2{font-size:27px}.play-view{min-height:calc(100dvh - 218px);padding:12px}.mini-header{grid-template-columns:1fr}.mini-header h2{font-size:27px}.mini-header button{justify-self:center;padding:8px 14px}.board{gap:12px}.props,.bins,.pumpkins{gap:8px}.prop{min-width:70px;padding:6px;max-width:30%}.prop svg{width:75px;height:75px}.prop span{font-size:12px}.mirror{height:200px;margin-top:14px}.pumpkin{width:31%;padding:2px}.pumpkin .drop-target{height:55px}.light{min-width:70px}.sweet-field{min-height:260px;margin-top:8px}.sweet{width:66px;height:66px}.answers button{min-width:76px}.play-actions{flex-wrap:wrap;justify-content:center}.play-actions p{width:100%;order:3}.truck-display{flex-wrap:wrap}.truck-display>svg{width:70vw;height:200px}.wheel-place{min-width:65px;min-height:55px}.bin{width:31%;font-size:12px}.bin svg{height:80px}.memory-view{min-height:680px;padding:12px;gap:12px}.book{min-height:330px;padding:8% 4%}.album-page{padding:6px}.album-page h3{font-size:18px}.album-page p{font-size:11px;text-align:center}.memories .photo{width:45%}.album-overview .dodu{height:35%;max-width:50%}.photo-tray{width:96%;gap:8px}.photo-tray .photo{padding:4px}.photo-tray .photo img{height:95px}.photo span{font-size:11px}.memory-clue{font-size:16px}.memory-view.complete .book{min-height:390px}.memory-view.complete .memories{gap:6px}.memory-view.complete .memories .photo{width:30%;height:70%;padding:4px}.memory-view.complete .memories .photo span{font-size:12px}.claim-trophy{font-size:18px}#stageScores{columns:1}}
/* Shared header is fixed; keep its spacer and bound the portrait film by height. */
body.halloween-game{--rrdd-header-height:60px;--rrdd-footer-height:24px}
body.halloween-game .rrdd-header-space{display:block!important;height:60px;min-height:60px}
.watch-layout{min-height:0;grid-template-rows:minmax(0,1fr)}
.film{overflow:hidden}.film iframe{display:block;width:100%;height:100%;border:0}
body.halloween-game{background:radial-gradient(ellipse at 10% 15%,#75479b,transparent 65%),linear-gradient(120deg,#25133f,#49306b)}
body.halloween-game #starRoute{padding:5px 8px;gap:1px;border:3px solid #a584d5;border-radius:60px;background:linear-gradient(#36204e,#241137);box-shadow:inset 0 2px 5px #ffffff21,0 3px 0 #160a2c55;min-width:0}
body.halloween-game #starRoute button{flex:1;padding:0;min-width:0;min-height:0;opacity:1;filter:drop-shadow(0 2px 1px #170b34aa)}
#starRoute svg{display:block;width:100%;max-height:42px;overflow:visible}body.halloween-game #starRoute .current{filter:drop-shadow(0 0 4px #d3b4ff)}
.monster-garage{position:relative;width:auto;aspect-ratio:6/5;max-width:min(680px,90%);max-height:58vh;margin:0 auto;align-self:center;flex:1 1 0;min-height:0;background:radial-gradient(ellipse at 50% 82%,#b8a0c750,transparent 65%)}
.monster-garage .truck-body{position:absolute;inset:0;border:0;background:transparent;border-radius:0;padding:0}
.truck-body>svg{width:100%;height:100%;pointer-events:none;filter:drop-shadow(0 9px 5px #46305b26)}
.monster-garage .truck-wheel{position:absolute;top:54%;width:38%;aspect-ratio:1;border-radius:50%;display:grid;place-items:center;background:#ffffff95;border:4px dashed #79628f;padding:0}
.truck-wheel.back{left:4%}.truck-wheel.front{left:57%}.truck-wheel>svg{width:100%;height:100%;pointer-events:none}.truck-wheel>span{font-size:clamp(13px,1.6vw,22px);font-weight:900;pointer-events:none}.monster-garage .truck-wheel.fitted{border:0;background:transparent}.truck-wheel.fitted>span{display:none}
.paint-pots .prop{touch-action:none}.paint-pots .prop.dragging{pointer-events:none}.monster-garage~.props .prop svg{height:clamp(64px,10vh,110px)}
.watch-layout .film{min-height:0;width:auto!important;height:100%!important;max-height:100%!important;max-width:100%;justify-self:center;align-self:center}
.memories .photo:disabled{opacity:1;color:inherit}
.mirror>img{height:94%;max-width:90%;object-fit:contain;position:relative;z-index:1;pointer-events:none}.mirror .worn-cape{position:absolute;height:62%;width:42%;bottom:3%;left:29%;z-index:2;pointer-events:none}.mirror .worn-cape svg{width:100%;height:100%;transform:rotate(-5deg)}.mirror.filled>img{animation:starPop .7s ease-out}
.truck-display>div:not(.drop-target){min-width:0}.truck-display>div:not(.drop-target)>svg{display:block;width:100%;height:auto;max-height:240px}
body.halloween-game.rrdd-game-shell header.rrdd-game-header .rrdd-game-tools{height:60px!important;min-height:60px!important;padding:8px 14px!important;justify-content:flex-end!important;gap:6px!important}
.score-preview-notice{position:absolute;bottom:0;left:0;color:#c9edf3;font-size:10px;margin:0}
.score-centre>span{display:block;line-height:12px}.score-centre p{margin:4px 0 0;line-height:12px}
.memory-view.complete .album-overview .dodu{height:24%;max-width:22%;right:0;bottom:8%}
.journey-score .rrdd-challenge-timer{justify-self:start!important;min-width:0!important;display:block!important}.journey-score .rrdd-challenge-timer b{color:#ffdb61!important}
.audio-status{position:fixed;bottom:27px;left:18px;right:18px;z-index:98;margin:0;pointer-events:none}.audio-status:empty{display:none}.audio-status:not(:empty){background:#173c61ee;border-radius:12px;padding:5px 10px}
.memory-view{gap:6px}.memory-view>.mini-header{flex:0 0 auto}.memory-view .mini-header h2{margin:2px 0 6px;font-size:clamp(25px,2.7vw,38px)}.memory-clue{flex:0 0 auto;padding:10px 18px}.book{padding:20px 36px;min-height:0;flex:1 1 0}.album-page{padding:8px 12px;overflow:hidden}.album-page h3{font-size:clamp(17px,2vw,27px);margin:0 0 8px}.memories{min-height:0;flex:1;align-content:center}.memories .photo{height:66%;max-height:150px;min-height:48px;display:flex;flex-direction:column}.memories .photo img{height:calc(100% - 20px);min-height:0;aspect-ratio:auto}.album-overview .dodu{z-index:0;bottom:0;right:0}.photo-tray{flex:0 0 auto}.photo-tray .photo img{height:clamp(64px,9vh,125px)}.memory-view .feedback{font-size:12px;min-height:18px;margin:2px 0}.memory-view.complete .book{padding:20px 36px}.memory-view.complete .album-page{overflow:visible}.memory-view.complete .memories .photo{height:86%;max-height:none}.memory-view.complete .album-overview .dodu{z-index:3}.memory-view.complete .claim-trophy{flex:0 0 auto}
@media(max-height:760px) and (min-width:701px){.memory-view{padding:10px 18px;gap:5px}.memory-view .mini-header .eyebrow{font-size:10px}.memory-view .mini-header h2{font-size:26px}.memory-clue{font-size:16px;padding:9px 14px}.photo-tray .photo{padding:4px 4px 6px}.photo-tray .photo img{height:68px}.photo-tray .photo span{font-size:11px}.book{padding:14px 32px}.memory-view.complete .book{padding:16px 34px}.claim-trophy{padding:10px 18px;font-size:20px}}
@media(max-width:700px){.book{flex:1 0 330px;min-height:330px;padding:22px 18px}.memory-view{gap:10px}.memories .photo{height:110px}.memory-view.complete .book{padding:22px 18px}.photo-tray .photo img{height:90px}.memory-view.complete .memories .photo{height:75%}}
@media(max-height:760px) and (min-width:701px){.reading-card{padding:16px;gap:8px}.reading-card h2{font-size:28px;line-height:1.22}.word-card{padding:10px}#word{font-size:24px;padding:5px 0}#meaning{font-size:14px;line-height:1.35;margin:4px 0}.reading-card .feedback{font-size:13px;line-height:1.3;min-height:20px}.reading-card>button{padding:10px 16px}}
@media(max-width:700px){#read{height:calc(100dvh - 218px);grid-template-rows:minmax(130px,.27fr) minmax(0,.73fr);gap:10px}.story-picture{height:auto}.reading-card{padding:12px;gap:7px}.reading-card h2{font-size:23px;line-height:1.2}.reading-card .eyebrow{font-size:10px}.reading-card>button{padding:9px 14px;min-height:44px}.word-card{padding:8px}#word{font-size:22px;padding:5px 0}#meaning{font-size:13px;line-height:1.35;margin:4px 0}.reading-card .feedback{font-size:12px;line-height:1.3;margin:2px 0}.memory-view{height:calc(100dvh - 218px);min-height:0;gap:6px}.book{flex:1 1 0;min-height:0;padding:18px 12px}.memory-view .mini-header h2{font-size:23px}.memory-clue{font-size:14px;padding:8px 10px}.photo-tray .photo img{height:70px}.photo-tray .photo span{font-size:10px}.memory-view.complete .book{min-height:0;padding:18px 12px}.memory-view.complete .memories .photo{height:80%}.memory-view.complete .memories .photo span{font-size:10px}.memory-view.complete .album-overview .dodu{right:-4%;height:22%}.memory-view .feedback{font-size:11px}.memory-view .claim-trophy{padding:10px 12px;font-size:16px}}
@media(max-width:700px){#starRoute{grid-column:1/-1;left:5%;right:5%;width:90%;gap:0}.play-view{height:calc(100dvh - 218px);min-height:0}.truck-display{flex-wrap:nowrap;gap:6px}.truck-display>div:not(.drop-target){width:44%!important}.truck-display .wheel-place{font-size:11px;min-width:54px;max-width:22%;min-height:56px;padding:4px}body.halloween-game.rrdd-game-shell header.rrdd-game-header .rrdd-game-tools{padding:8px 10px!important;gap:4px!important}}
@media(max-height:760px) and (min-width:701px){.truck-display>div:not(.drop-target)>svg{max-height:110px}.paint-pots button{min-height:66px;padding:6px}.paint-pots i{width:30px;height:30px;margin-bottom:4px}}
@media(max-width:700px){.watch-layout{grid-template-rows:auto auto}.watch-layout .film{height:min(58dvh,570px)!important}.watch-copy{padding-bottom:12px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;scroll-behavior:auto!important}}

/* Halloween action scenes: the game floor, not a row of sorting cards. */
.board[data-kind=dress]{gap:0}.cape-studio{display:grid;grid-template-columns:1.4fr 1fr;gap:20px;flex:1;min-height:0;border-radius:24px;padding:12px;background:radial-gradient(ellipse at 25% 70%,#9e74bd,#392352)}.cape-stage{display:flex;align-items:center;justify-content:center;min-height:0;min-width:0;gap:8px}.cape-rig{position:relative;flex-shrink:0;min-width:0}.cape-character{display:block;width:100%;height:100%;object-fit:contain;pointer-events:none;user-select:none}.cape-name{position:absolute;left:20%;right:20%;bottom:0;background:#fff2ddeb;color:#543268;border-radius:22px;text-align:center;padding:4px 10px;font-weight:900;font-size:clamp(13px,1.6vw,22px)}
.cape-side{display:flex;flex-direction:column;justify-content:center;gap:14px;min-width:0}.cape-clue{color:#fff0bc;text-align:center;font:clamp(21px,2.5vw,34px) Froople,sans-serif;margin:0}.cape-tray{display:grid;grid-template-columns:1fr 1fr;gap:12px;max-width:420px;margin:0 auto;width:100%}.cape-choice{position:relative;min-width:0;padding:8px;background:#fff4dc;border:3px solid #c398df;box-shadow:0 5px #6a397f;touch-action:none;user-select:none}.cape-choice.selected{outline:4px solid #ffda69;outline-offset:1px;background:#fff1b3}.cape-object{display:block;background-size:contain;background-position:center;background-repeat:no-repeat;aspect-ratio:1;pointer-events:none}.cape-choice .cape-object{width:100%;height:clamp(60px,13vh,160px);background-size:contain;aspect-ratio:1;max-width:160px;margin:0 auto}.cape-choice>span:last-child{display:block;font-size:clamp(12px,1.5vw,20px)}.cape-choice.dragging{z-index:50;pointer-events:none;opacity:.9}.cape-hint{color:#fff1df;font-size:clamp(12px,1.3vw,17px);text-align:center;line-height:1.4;margin:0;min-height:40px}
.cape-paint-area{position:absolute;left:22%;top:47%;width:56%;height:34%;padding:0;background:transparent;border:0;border-radius:30px;min-height:0;touch-action:none}.decoration-selected .cape-paint-area{box-shadow:inset 0 0 20px #ffdb6870;outline:2px dashed #fff0b58c}.cape-embroidery{position:absolute;width:24%;height:16%;transform:translate(-50%,-50%);filter:drop-shadow(0 2px 2px #1a0c3033);animation:stitchPop .35s ease-out}.cape-finished{grid-template-columns:1fr}.cape-finished .cape-side{display:none}.cape-finished .cape-rig{animation:capeShow 1.2s ease-in-out infinite alternate}@keyframes stitchPop{from{transform:translate(-50%,-50%) scale(.3)}to{transform:translate(-50%,-50%) scale(1)}}@keyframes capeShow{from{rotate:-2deg}to{rotate:2deg}}

.cape-object[data-object=star]{background-image:url('art/cape-star-v2.webp');background-size:contain;background-position:center!important}
@media(max-height:760px) and (min-width:701px){.cape-studio{padding:4px;gap:8px}.cape-side{gap:8px}.cape-tray{max-width:300px;gap:7px}.cape-choice{padding:4px}.cape-choice .cape-object{height:65px;max-width:65px}.cape-clue{font-size:23px}.cape-hint{font-size:11px;min-height:28px}}
@media(max-width:700px){.cape-studio{grid-template-columns:1fr;grid-template-rows:minmax(0,1fr) auto;padding:5px;gap:5px}.cape-side{gap:4px}.cape-tray{grid-template-columns:repeat(4,1fr);gap:6px;max-width:none}.cape-choice{padding:4px;border-width:2px;border-radius:12px}.cape-choice .cape-object{height:48px;max-width:48px}.cape-choice>span:last-child{font-size:10px}.cape-clue{font-size:19px}.cape-hint{font-size:10px;min-height:26px}.cape-finished{grid-template-rows:1fr}.cape-name{font-size:12px;padding:3px}.cape-embroidery{animation:none}}
.costume-person .costume-avatar{position:absolute;bottom:34px;left:50%;transform:translateX(-50%);overflow:hidden;--neck:51%;--ankle:81%;--arm:43%;pointer-events:none}.costume-person.dodu .costume-avatar{--neck:55%;--ankle:82%;--arm:52%}
.costume-band{position:absolute;inset:0;background-repeat:no-repeat;background-size:300% 100%;pointer-events:none}.band-hat{clip-path:inset(0 0 calc(100% - var(--neck)) 0)}.band-outfit{clip-path:inset(var(--neck) 0 calc(100% - var(--ankle)) 0)}.band-boots{clip-path:inset(var(--ankle) 0 0 0)}.costume-band.not-chosen{filter:grayscale(1);opacity:.35}
.costume-band.band-hat{clip-path:polygon(0 0,100% 0,100% var(--arm),82% var(--arm),82% var(--neck),18% var(--neck),18% var(--arm),0 var(--arm))}
.costume-band.band-outfit{clip-path:polygon(0 var(--arm),18% var(--arm),18% var(--neck),82% var(--neck),82% var(--arm),100% var(--arm),100% var(--ankle),0 var(--ankle))}
.costume-band.band-boots{transform:translateY(-1.2%)}
.costume-thumb{width:100%;height:clamp(40px,7vh,95px);background-repeat:no-repeat;background-size:300% auto}.thumb-hat{background-position-y:0%}.thumb-outfit{background-position-y:72%}.thumb-boots{background-position-y:100%}
@media(max-height:760px) and (min-width:701px){.costume-thumb{height:36px}}
@media(max-width:700px){.costume-thumb{height:30px}}
.board[data-kind=pumpkin]{background:radial-gradient(ellipse at 50% 70%,#cc9bdd99,#70498d55);border-radius:24px;padding:12px;gap:12px}.broken-pumpkins{display:flex;justify-content:center;gap:4%;min-height:0;flex:1;align-items:center}.broken-pumpkin{position:relative;width:27%;max-width:270px;max-height:100%;aspect-ratio:6/5;filter:drop-shadow(0 6px 4px #55305e55)}.broken-pumpkin>svg{width:100%;height:100%;pointer-events:none}.pumpkin-hole{position:absolute;left:31%;top:39%;width:40%;height:42%;padding:0;background:none;border:0;min-height:40px}.pumpkin-hole svg{width:100%;height:100%;pointer-events:none}.broken-pumpkin.repaired{filter:drop-shadow(0 0 14px #ffe073)}.broken-pumpkin.repaired .pumpkin-hole{opacity:1}.puzzle-pieces{display:flex;gap:clamp(5px,1.5vw,20px);justify-content:center;flex:0 0 auto}.puzzle-pieces .puzzle-piece{padding:5px;min-width:44px;max-width:14%;width:clamp(50px,8vw,100px);border-radius:16px;background:#fff6df}.puzzle-pieces .puzzle-piece svg{width:100%;height:clamp(42px,8vh,95px)}.puzzle-piece:disabled{opacity:.25}
.board[data-kind=tidy]{gap:5px}.tidy-field{flex:1;min-height:0;position:relative;overflow:hidden;border-radius:22px;background:url('art/tidy-courtyard-v1.webp') center/cover;touch-action:none;isolation:isolate;box-shadow:inset 0 0 35px #21103944}
.tidy-field button{position:absolute;padding:0;min-height:44px;background:transparent;transform:translate(-50%,-50%);user-select:none;touch-action:none}
.tidy-driver{width:22%;height:40%;z-index:5;filter:drop-shadow(0 9px 5px #30132c66)}.tidy-driver img{width:100%;height:100%;object-fit:contain;display:block;pointer-events:none}.tidy-driver.faces-left img{transform:scaleX(-1)}
.tidy-load{position:absolute;left:55%;right:4%;bottom:9%;height:30%;display:flex;align-items:flex-end;justify-content:center;pointer-events:none}.tidy-load svg{width:38%;height:100%;margin-left:-7%;filter:drop-shadow(0 2px 2px #321b4f55)}.tidy-driver.faces-left .tidy-load{left:4%;right:55%}
.tidy-sweet{width:clamp(48px,7%,90px);z-index:2;filter:drop-shadow(0 4px 2px #39203c88)}.tidy-sweet svg{width:100%;display:block;pointer-events:none}
.tidy-bucket{width:18%;height:40%;z-index:3;filter:drop-shadow(0 3px 4px #5c2a4b66)}.tidy-bucket svg{width:100%;height:calc(100% - 28px);display:block;pointer-events:none}.tidy-bucket span{display:block;color:#493150;background:#fff3cfef;border-radius:20px;padding:4px;font-size:clamp(11px,1.3vw,18px)}.tidy-bucket.ready-to-unload{filter:drop-shadow(0 0 12px #ffe34b)}
.tidy-cargo,.tidy-status{text-align:center;font-weight:900;margin:0;color:#553465;font-size:clamp(11px,1.3vw,17px)}.tidy-cargo{color:#7f4297;letter-spacing:.05em}.tidy-status{min-height:20px}
.tidy-sweet-art{width:100%;height:100%;object-fit:contain;pointer-events:none;display:block}
.tidy-sweet{aspect-ratio:1}.tidy-load .tidy-sweet-art{width:42%;margin-left:-9%;filter:drop-shadow(0 2px 2px #321b4f55)}
.tidy-bucket-art{display:block;width:100%;height:calc(100% - 28px);object-fit:contain;pointer-events:none}
.tidy-stored{position:absolute;inset:0 0 28px;pointer-events:none}.tidy-stored img{position:absolute;width:28%;height:24%;transform:translate(-50%,-50%) rotate(-10deg);filter:drop-shadow(0 2px 1px #803c3c55)}
.tidy-pouring-sweet{position:absolute;width:clamp(32px,7%,80px);height:auto;pointer-events:none;z-index:8;filter:drop-shadow(0 4px 3px #36153f66)}
.tidy-driver.unloading>img{transform:rotate(-8deg);transition:transform .25s}.tidy-driver.faces-left.unloading>img{transform:scaleX(-1) rotate(-8deg)}
.tidy-bucket.received-sweets{animation:tidyBucketPop .45s ease-out}.tidy-bucket.ready-to-unload:before{content:'';position:absolute;inset:8% -3% 10%;border:3px dashed #ffe67c;border-radius:40%;pointer-events:none}
@keyframes tidyBucketPop{50%{scale:1.09;filter:drop-shadow(0 0 22px #ffe67c)}}
@media(prefers-reduced-motion:reduce){.tidy-bucket.received-sweets{animation:none}.tidy-driver.unloading>img{transition:none}}
.board[data-kind=ghost]{display:grid;grid-template-columns:1.2fr .8fr;grid-template-rows:minmax(0,1fr) auto;gap:10px;background:radial-gradient(ellipse at 25% 90%,#e6c2fa,#fff4e766);border-radius:24px;padding:10px}
.costume-stage{display:flex;align-items:stretch;min-height:0;gap:4%;border-bottom:7px solid #b883b9;border-radius:24px;background:radial-gradient(ellipse at bottom,#f9d49c,#f3e5ff00 75%)}
.costume-person{position:relative;width:48%;min-width:0;min-height:0;padding:0;background:none;border:3px solid transparent;border-radius:24px;display:block;isolation:isolate}
.costume-person.selected-character{border-color:#b185d6;background:#fff8;box-shadow:0 0 0 4px #dac3ef55}.costume-base{width:100%;height:100%;object-fit:contain;pointer-events:none}.costume-person .costume-name{position:absolute;left:5%;right:5%;bottom:0;background:#fff9e9e8;border-radius:20px;font-size:clamp(13px,1.6vw,22px);padding:5px;z-index:6}
.wear-hat,.wear-outfit,.wear-boots{position:absolute;pointer-events:none}.wear-hat svg,.wear-outfit svg,.wear-boots svg{width:100%;height:100%;filter:drop-shadow(0 3px 2px #51314e44)}.wear-hat{left:17%;width:66%;height:34%;top:0;z-index:4}.wear-outfit{left:21%;width:58%;height:43%;bottom:13%;z-index:3}.wear-boots{left:22%;width:56%;height:23%;bottom:4%;z-index:5}
.costume-wardrobe{min-height:0;overflow:auto;display:flex;flex-direction:column;justify-content:center;gap:8px}.costume-wardrobe h3{margin:0;text-align:center;font:clamp(17px,2vw,25px) Froople,sans-serif;color:#603c77}.costume-options{display:flex;justify-content:center;gap:6px}.costume-choice{flex:1;min-width:0;max-width:130px;padding:6px;background:#fff9ee;border:2px solid #dbc7e5;box-shadow:0 3px #c3a1d0}.costume-choice svg{width:100%;height:clamp(36px,7vh,90px);display:block;pointer-events:none}.costume-choice span{display:block;font-size:clamp(10px,1vw,14px)}.costume-choice[aria-pressed=true]{border-color:#a36ac9;background:#ead3fa;box-shadow:0 0 0 2px #a36ac9}
.costume-actions{grid-column:1/-1;display:flex;align-items:center;justify-content:center;gap:20px}.costume-time{font-size:12px;font-weight:900;color:#73518b;margin:0}.costume-finish{font-size:clamp(13px,1.5vw,20px)}.photo-flash{animation:costumeFlash .6s ease-out}@keyframes costumeFlash{50%{filter:brightness(1.8)}}

/* One landscape photo format for tray, pasted memories and finished album. */
.memory-view .book{width:auto;aspect-ratio:3/2;max-width:100%;align-self:center;flex:1 1 0;min-height:0;padding:5% 6%}
.memory-view .photo-tray{height:clamp(100px,17vh,170px);width:auto;max-width:95%;gap:18px}.memory-view .photo-tray .photo{flex:0 1 auto;width:auto;height:100%;aspect-ratio:4/3;max-width:230px;display:flex;flex-direction:column}.memory-view .photo-tray .photo img{height:calc(100% - 22px);width:100%;min-height:0;aspect-ratio:auto;object-fit:contain}.memory-view .photo-tray .photo span{font-size:clamp(10px,1vw,13px)}
.memory-view{background:radial-gradient(ellipse at 50% 30%,#9e68b4,#48275e);border-color:#b88bd0}.memory-view .mini-header h2,.memory-view .mini-header .eyebrow{color:#fff0d1;text-shadow:0 2px #452452}.memory-view .feedback{color:#ffedc5}.book{background-image:url('art/album-book-v2.webp');padding:7% 6% 6%;width:min(100%,1100px)}
.memory-view .album-page>.photo{height:auto;width:90%;max-width:420px;max-height:95%;padding:7px 7px 12px;display:flex;flex-direction:column}.memory-view .album-page>.photo img{width:100%;height:auto;aspect-ratio:4/3;object-fit:contain;background:#fff7e7}.memory-view .album-page>.photo span{font-size:clamp(11px,1.3vw,18px)}
.memory-view .album-page:first-child{border-color:#b98bc3;background:#fff7}.photo-tray .photo img{height:clamp(64px,10vh,130px);width:100%;aspect-ratio:4/3;object-fit:contain;background:#fff7e7}.photo:before{background:repeating-linear-gradient(45deg,#d7a7e4bb,#d7a7e4bb 4px,#edcdf3bb 4px,#edcdf3bb 8px)}
.memory-view.complete .book{padding:6% 7%;background-image:url('art/album-book-v2.webp')}.memory-view.complete .album-page{width:100%}.memory-view.complete .album-page h3{display:none}.memory-view.complete .memories{height:100%;width:100%;display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;gap:12px 14%;align-items:center;justify-items:center;align-content:center}
.memory-view.complete .memories .photo{width:min(100%,300px);height:auto;max-height:100%;padding:6px 6px 10px;display:flex;flex-direction:column;box-shadow:2px 5px 6px #48274765}.memory-view.complete .memories .photo img{height:auto;width:100%;aspect-ratio:4/3;object-fit:contain;background:#fff7e7}.memory-view.complete .memories .photo span{font-size:clamp(10px,1.3vw,18px)}.memory-view.complete .memories .photo:nth-child(1){grid-column:1;grid-row:1}.memory-view.complete .memories .photo:nth-child(2){grid-column:1;grid-row:2}.memory-view.complete .memories .photo:nth-child(3){grid-column:2;grid-row:1/3}.memory-view.complete .album-overview .dodu{height:24%;right:-3%;bottom:1%}
@media(max-height:760px) and (min-width:701px){.board[data-kind=ghost]{padding:4px;gap:4px}.costume-options{gap:4px}.costume-wardrobe{gap:4px}.costume-choice{padding:3px}.costume-choice svg{height:36px}.costume-choice span{font-size:10px}.costume-finish{padding:8px 14px;min-height:40px}.costume-actions{gap:8px}.memory-view.complete .memories .photo{width:min(90%,180px);padding:4px}.memory-view.complete .book{padding:5% 8%}}
@media(max-width:700px){.tidy-driver{width:28%}.tidy-bucket{width:23%}.tidy-cargo,.tidy-status{font-size:10px}.board[data-kind=ghost]{grid-template-columns:1fr;grid-template-rows:minmax(130px,1fr) auto auto;padding:2px;gap:4px}.costume-wardrobe{overflow:visible;gap:3px}.costume-options{display:inline-flex;width:32%;vertical-align:top}.costume-wardrobe{display:block}.costume-wardrobe h3{font-size:15px;margin:2px}.costume-choice{padding:3px}.costume-choice svg{height:30px}.costume-choice span{font-size:8px}.costume-actions{display:block;text-align:center}.costume-time{font-size:10px;margin:3px 0}.costume-finish{padding:8px;font-size:12px;min-height:38px}.book{padding:8% 5%}.memory-view.complete .book{padding:8% 6%;min-height:330px}.memory-view.complete .memories{gap:8px 12%}.memory-view.complete .memories .photo{width:100%}.memory-view.complete .memories .photo span{font-size:9px}}

.costume-stage.photo-flash{animation:camera-shutter59 .65s ease-out}@keyframes camera-shutter59{0%,100%{filter:brightness(1)}10%{filter:brightness(1.8)}30%{filter:brightness(1.05)}}@media(prefers-reduced-motion:reduce){.costume-stage.photo-flash{animation:none}}
