.stage-wrap.has-toybox{height:auto;aspect-ratio:auto;min-height:500px;background:#f5dcb9;display:block;overflow:hidden}.has-toybox #gameCanvas{display:none}.has-toybox .play-overlay{z-index:10}
.toybox{width:100%;font-family:'Avenir Next','Trebuchet MS',sans-serif;color:#365052;text-align:left}.toybox *{box-sizing:border-box}.toybox-viewport{position:relative;height:680px;min-height:500px;overflow:hidden;isolation:isolate;outline:0;background:#f5dcb9;touch-action:none}.toybox-canvas{width:100%;height:100%;display:block;position:absolute;inset:0;z-index:-1}.toybox-title{position:absolute;left:25px;top:22px;pointer-events:none}.toybox-label{font-size:9px;letter-spacing:2px;font-weight:800;color:#7b6750}.toybox h2{font-family:Georgia,serif;font-size:36px;line-height:1.1;margin:5px 0 4px;color:#334f54;letter-spacing:-1.4px;text-shadow:0 2px #fff0d5}.toybox h2 em{font-style:italic;color:#be6244}.toybox h2 span{display:inline-block;font-family:inherit;font-size:11px;letter-spacing:0;margin-left:7px;vertical-align:top;margin-top:6px;background:#365155;color:#f9e8bd;padding:3px 5px;border-radius:4px}.toybox-title p{font-size:9px;letter-spacing:2px;color:#786854;margin:5px 0}.toybox-stats{position:absolute;right:23px;top:25px;display:flex;flex-direction:column;align-items:end;gap:3px;text-shadow:0 2px #fff0d5;pointer-events:none}.toybox-stars{color:#b97832;font-size:25px;letter-spacing:3px}.toybox-time{font-variant-numeric:tabular-nums;font-size:14px;font-weight:800;color:#426060}.toybox-progress{position:absolute;left:25px;right:25px;top:112px;height:3px;border-radius:3px;background:#735f4122;pointer-events:none}.toybox-progress i{display:block;height:100%;background:#d47752;transition:width .2s}.toybox-message{position:absolute;left:50%;bottom:166px;transform:translateX(-50%);max-width:88%;width:max-content;padding:9px 16px;border:1px solid #fff4d8aa;border-radius:20px;background:#fff4d5dc;box-shadow:0 3px 14px #725d4820;color:#5b624d;font-size:12px;text-align:center;pointer-events:none}.toybox-pad{position:absolute;bottom:43px;left:28px;width:112px;height:112px;border:1px solid #fff1d9c9;border-radius:50%;background:#fff1d583;touch-action:none;user-select:none;box-shadow:inset 0 0 0 10px #ffffff20,0 4px 24px #654e3518}.toybox-pad-ring{position:absolute;inset:21%;border:1px dashed #82766066;border-radius:50%}.toybox-pad-dot{position:absolute;left:50%;top:50%;width:42px;height:42px;border:2px solid #fff1d5;border-radius:50%;background:#658587cc;transform:translate(-50%,-50%);box-shadow:0 4px 9px #4b66514d;pointer-events:none}.toybox-pad-hint{position:absolute;left:0;right:0;bottom:8px;font-size:8px;letter-spacing:2px;text-align:center;font-weight:800;color:#587272;pointer-events:none}.toybox button{font:inherit;cursor:pointer}.toybox-jump{position:absolute;right:28px;bottom:49px;width:96px;height:96px;border-radius:50%;border:4px solid #fff1d3;background:#d67855;color:#fff5d5;box-shadow:0 6px 0 #a55641,0 8px 28px #79584828;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0;font-size:11px!important;font-weight:800!important;letter-spacing:2px;touch-action:none;user-select:none}.toybox-jump span{font-family:Georgia,serif;font-size:31px;line-height:1;letter-spacing:0}.toybox-jump.is-held{transform:translateY(4px);box-shadow:0 2px 0 #a55641}.toybox-bottom{position:absolute;left:20px;right:20px;bottom:9px;display:flex;align-items:center;gap:10px;font-size:10px;color:#426363}.toybox-bottom button{background:#fcf0d5cf;color:#45635c;border:1px solid #ffffffab;border-radius:8px;min-height:30px;padding:5px 9px;font-size:10px}.toybox-bottom span{margin-right:auto}.toybox-caption{background:#fff1d7;color:#7b745e;display:flex;justify-content:space-between;gap:12px;padding:12px 18px;font-size:10px}.toybox-loading{position:absolute;inset:0;background:radial-gradient(ellipse at 50% 30%,#fff1d4,#e7c09c);display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;padding:30px;z-index:5}.toybox-loading[hidden]{display:none}.toybox-loading h3{font:italic 30px Georgia,serif;margin:16px 0 0}.toybox-loading p{font-size:12px;line-height:1.7;max-width:320px}.toybox-loading button{padding:12px 20px;background:#d27653;color:#fff3da;border:0;border-radius:8px}.toybox button:focus-visible,.toybox-viewport:focus-visible{outline:3px solid #efb649;outline-offset:-4px}
.is-left-handed .toybox-pad{left:auto;right:28px}.is-left-handed .toybox-jump{right:auto;left:28px}
@media(max-width:700px){.toybox-viewport{height:calc(100svh - 68px);min-height:540px;max-height:850px}.toybox-title{left:16px;top:16px}.toybox h2{font-size:28px}.toybox-label{font-size:7px;letter-spacing:1.5px}.toybox-title p{font-size:7px;letter-spacing:1.4px}.toybox-stats{right:15px;top:15px}.toybox-stars{font-size:20px}.toybox-time{font-size:12px}.toybox-progress{top:91px;left:16px;right:16px}.toybox-message{font-size:10px;bottom:175px;padding:8px 12px}.toybox-pad{width:120px;height:120px;left:20px;bottom:48px}.toybox-jump{right:20px;bottom:54px;width:98px;height:98px}.toybox-caption{font-size:9px;padding:10px 12px}.toybox-bottom{left:12px;right:12px;gap:6px;font-size:9px}.toybox-bottom button{min-height:36px}.toybox-bottom span{max-width:100px}.is-left-handed .toybox-pad{right:20px}.is-left-handed .toybox-jump{left:20px}}
@media(max-height:500px) and (min-width:701px){.toybox-viewport{min-height:340px;height:calc(100svh - 60px)}.toybox-message{bottom:25px;font-size:10px;max-width:45%}.toybox-pad{bottom:45px;width:90px;height:90px}.toybox-jump{bottom:45px;width:80px;height:80px}.toybox-progress{top:100px}}
@media(prefers-reduced-motion:reduce){.toybox-progress i{transition:none}}

.has-large-controls .toybox-jump{width:112px;height:112px}.has-large-controls .toybox-pad{width:132px;height:132px}

@media(max-width:700px){.toybox-stats{top:77px;flex-direction:row;align-items:center;gap:12px}.toybox-progress{top:112px}.toybox-title p{margin-top:9px}.toybox h2{font-size:30px}.toybox-title{right:16px}}

.toybox h2 span{text-shadow:none}.toybox-message{top:132px;bottom:auto;transition:opacity .25s}.toybox-hint-quiet .toybox-message{opacity:0}@media(prefers-reduced-motion:reduce){.toybox-message{transition:none}}

/* A paper trail pinned across the bedroom floor. */
.toybox-map{width:100%;padding:40px;background:radial-gradient(ellipse at top right,#f8e4bb,transparent 60%),repeating-linear-gradient(0deg,#0000 0 39px,#bc9a7520 40px 41px),#f5ecd9;color:#365052;font-family:'Avenir Next','Trebuchet MS',sans-serif;text-align:left}.toybox-map *{box-sizing:border-box}.toybox-map-heading{display:flex;align-items:center;justify-content:space-between;gap:25px;margin-bottom:35px}.toybox-map h2{font:40px/1.1 Georgia,serif;letter-spacing:-1.3px;margin:10px 0 14px}.toybox-map h2 em{color:#b86143}.toybox-map p{font-size:12px;line-height:1.7;max-width:420px;margin:0;color:#6e7766}.toybox-world-stamp{flex-shrink:0;text-align:center;border:2px dashed #aa895b;border-radius:50%;width:140px;height:140px;display:flex;flex-direction:column;justify-content:center;transform:rotate(5deg);background:#f8e7ba}.toybox-world-stamp strong{font:44px Georgia,serif;color:#aa7140}.toybox-world-stamp small{font-size:17px}.toybox-world-stamp span{font-size:8px;letter-spacing:2px}.toybox-world-stamp b{font-size:10px;margin-top:8px;font-weight:500}.toybox-trail{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px 18px;position:relative}.toybox-course{position:relative;display:flex;flex-direction:column;align-items:start;text-align:left;min-height:244px;padding:20px;border:1px solid #d4c6a8;border-top:5px solid var(--course-color);border-radius:9px;background:#fffaf0;color:#365052;box-shadow:0 5px 0 #d8c7a688;cursor:pointer;font:inherit;transition:transform .18s,box-shadow .18s}.toybox-course:nth-child(2),.toybox-course:nth-child(5){transform:translateY(7px)}.toybox-course:hover:enabled{transform:translateY(-4px);box-shadow:0 9px 0 #d8c7a677}.toybox-course-number{position:absolute;right:16px;top:14px;font:italic 26px Georgia,serif;color:var(--course-color)}.toybox-course-icon{font-size:32px;line-height:1.3;margin-bottom:14px}.toybox-course-name{font:bold 20px Georgia,serif}.toybox-course-copy{font-size:10px;margin:6px 0 14px;line-height:1.5;color:#797760}.toybox-course-stars{color:#b88439;font-size:22px;letter-spacing:4px;margin-top:auto}.toybox-course-record{font-size:10px;min-height:27px;line-height:1.4;margin-top:4px}.toybox-course-action{font-size:11px;font-weight:800;color:var(--course-color);margin-top:6px}.toybox-course.is-locked{background:#e9e4d8;box-shadow:none;cursor:default;filter:saturate(.45)}.toybox-course.is-locked .toybox-course-icon{opacity:.55}.toybox-characters{border-top:1px solid #cbbc9e;margin-top:42px;padding-top:25px;display:flex;gap:30px;align-items:center;justify-content:space-between}.toybox-characters h3{font:26px Georgia,serif;margin:9px 0}.toybox-character-list{display:flex;gap:8px}.toybox-character-list button{display:flex;flex-direction:column;gap:7px;align-items:center;text-align:center;background:#fff9ed;border:1px solid #d0c4a9;border-radius:10px;padding:12px 8px;width:125px;color:#365052;cursor:pointer;font:inherit}.toybox-character-list button>span{font-size:27px}.toybox-character-list strong{font-size:10px}.toybox-character-list small{font-size:9px}.toybox-character-list button[aria-pressed=true]{outline:2px solid #6f9490;outline-offset:2px;background:#e5ece0}.toybox-character-list button:disabled{opacity:.55;cursor:default}.toybox-map-footer{display:flex;justify-content:space-between;gap:20px;margin-top:24px;font-size:10px;line-height:1.7;color:#797760}.toybox-map button:focus-visible{outline:3px solid #b57535;outline-offset:4px}.toybox button:disabled{opacity:.55;cursor:default}
@media(max-width:800px){.toybox-map{padding:25px 18px}.toybox-map h2{font-size:32px}.toybox-world-stamp{width:108px;height:108px}.toybox-world-stamp strong{font-size:32px}.toybox-world-stamp b{font-size:8px}.toybox-trail{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 12px}.toybox-course{padding:15px;min-height:240px}.toybox-course-name{font-size:18px}.toybox-characters{flex-direction:column;align-items:stretch;gap:18px}.toybox-character-list{justify-content:space-between}.toybox-character-list button{flex:1;width:auto;min-width:0}.toybox-map-footer{flex-direction:column;gap:7px}}
@media(max-width:400px){.toybox-map-heading{gap:10px}.toybox-map h2{font-size:27px}.toybox-world-stamp{width:86px;height:86px}.toybox-world-stamp strong{font-size:27px}.toybox-world-stamp span{font-size:6px;letter-spacing:1px}.toybox-world-stamp b{font-size:7px}.toybox-course-name{font-size:17px}.toybox-course-copy,.toybox-course-record{font-size:9px}.toybox-bottom{gap:4px;left:8px;right:8px}.toybox-bottom button{padding:5px 6px;font-size:9px}.toybox-bottom span{max-width:65px}}
@media(prefers-reduced-motion:reduce){.toybox-course{transition:none}}
.toybox-map .toybox-course:disabled{opacity:1}.toybox-map .toybox-character-list button:disabled{opacity:.7}

/* Kitchen world and the collectible dressing room. */
.toybox-ghost-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 16px;background:#e8ede0;color:#37545a;font:12px/1.5 'Avenir Next','Trebuchet MS',sans-serif;text-align:left}
.toybox-ghost-toggle{flex-shrink:0;min-height:44px;padding:8px 14px;border:1px solid #648d91;border-radius:8px;background:#f8f5e7;color:#37545a;font:inherit;cursor:pointer}
.toybox-ghost-toggle[aria-pressed=true]{background:#d4e5e5}
.toybox-ghost-toggle:focus-visible{outline:3px solid #b57535;outline-offset:3px}
.toybox-challenge-card{color-scheme:light;max-height:calc(100dvh - 44px);overflow-y:auto}
.toybox-challenge-card select,.toybox-challenge-card option,.toybox-challenge-card input:not([type=checkbox]){color:#416258;-webkit-text-fill-color:#416258;background:#fffdf5;font-size:16px}
.toybox-challenge-card select{width:100%;min-height:44px}
.toybox-challenge-card .toybox-add-player input{width:100%;min-height:44px;padding:10px;border:1px solid #c8c3a8;border-radius:8px;box-sizing:border-box}
.toybox-challenge-card fieldset label{display:flex;align-items:center;gap:10px;margin:4px 0;min-height:44px}
.toybox-challenge-card fieldset input{width:20px;height:20px;accent-color:#56796a}
.toybox-add-player[hidden]{display:none}
.toybox-worlds{display:flex;gap:12px;margin-bottom:34px}.toybox-worlds button{flex:1;display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px;padding:15px 18px;border:1px solid #bdc5af;border-radius:10px;background:#faf4e5;color:#4c6b62;text-align:left;font:inherit;cursor:pointer}.toybox-worlds button>span{width:100%;font-size:8px;font-weight:800;letter-spacing:1.8px}.toybox-worlds strong{font:20px Georgia,serif}.toybox-worlds small{font-size:10px;margin-left:auto}.toybox-worlds [aria-pressed=true]{background:#597e71;color:#fff1d3;border-color:#597e71;box-shadow:0 3px 0 #3d6155}.toybox-map.world-kitchen{background:radial-gradient(ellipse at top right,#e5edcf,transparent 60%),repeating-linear-gradient(0deg,#0000 0 39px,#8ca18a20 40px 41px),#eff0df}.world-kitchen .toybox-map-heading h2 em{color:#738d65}.world-kitchen .toybox-world-stamp{background:#e7e5b8;border-color:#9ba477}.toybox-course-part{font-size:10px;color:#897951;margin-top:6px}.toybox-course-part.is-found{color:#477c6b;font-weight:800}.toybox-part{font-size:10px;font-weight:700;color:#897446}.toybox-part.is-found{color:#4d8274}.toybox-part[hidden]{display:none}.toybox-wardrobe{margin-top:25px;padding-top:25px;border-top:1px solid #cbbc9e}.toybox-wardrobe h3{font:26px Georgia,serif;margin:9px 0}.toybox-costumes{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:20px}.toybox-costumes button{display:flex;flex-direction:column;align-items:center;gap:10px;padding:18px 8px;border:1px solid #c6bc9e;border-radius:12px;background:#fff8e8;color:#476b62;font:inherit;cursor:pointer}.toybox-costumes button>span{font-size:30px}.toybox-costumes strong{font:17px Georgia,serif}.toybox-costumes small{font-size:10px}.toybox-costumes button[aria-pressed=true]{outline:2px solid #709583;outline-offset:2px;background:#e2ebd8}.toybox-costumes button:disabled{opacity:.65;cursor:default}
@media(max-width:600px){.toybox-worlds{gap:8px;margin-bottom:27px}.toybox-worlds button{padding:12px 10px;gap:7px}.toybox-worlds strong{font-size:17px}.toybox-worlds small{width:100%;margin:0}.toybox-costumes{grid-template-columns:repeat(2,minmax(0,1fr))}.toybox-costumes strong{font-size:16px}.toybox-part{font-size:9px}.toybox-stats{gap:8px}.toybox-course{min-height:262px}}
.toybox-challenge-cta,.toybox-challenge,.toybox-challenge-results{margin-top:28px;padding:22px;border:1px solid #b9c9af;border-radius:14px;background:#e5edda;color:#416258}.toybox-challenge-cta h3,.toybox-challenge h3,.toybox-challenge-results h3{font:26px Georgia,serif;margin:8px 0}.toybox-challenge-cta p,.toybox-challenge p{font-size:12px;line-height:1.6;margin:0 0 14px}.toybox-challenge button,.toybox-challenge-cta button,.toybox-challenge-results button,.toybox-challenge-setup button{border:1px solid #56796a;border-radius:8px;padding:10px 14px;background:#56796a;color:#fff5db;font:inherit;font-weight:700;cursor:pointer}.toybox-challenge-setup{position:fixed;inset:0;z-index:30;display:grid;place-items:center;background:#203b3988;padding:22px}.toybox-challenge-card{max-width:460px;width:100%;padding:28px;border-radius:16px;background:#fff8e8;color:#416258;box-shadow:0 12px 40px #203b3966}.toybox-challenge-card h3{font:30px Georgia,serif;margin:8px 0}.toybox-challenge-card p{font-size:12px;line-height:1.6}.toybox-challenge-card label,.toybox-challenge-card fieldset{display:grid;gap:8px;margin:16px 0;font-size:12px}.toybox-challenge-card select{padding:10px;border:1px solid #c8c3a8;border-radius:8px;background:#fffdf5;font:inherit}.toybox-challenge-card fieldset{border:1px solid #d4c9aa;border-radius:8px}.toybox-challenge-card [data-challenge-error]{min-height:18px;color:#a44f3e}.toybox-challenge-results p{display:flex;justify-content:space-between;gap:12px;border-top:1px solid #bdcdb3;padding:10px 0;margin:0;font-size:12px}.toybox-challenge-results p span{color:#64776a}
