/* Approved cut-paper art. Native proportions and alpha are preserved at every size. */
:root{--paper-shadow:0 5px 5px #654d3020;--paper-edge:#d7ceba}.character-art{object-fit:contain!important;object-position:center bottom;max-width:100%;filter:drop-shadow(var(--paper-shadow));flex-shrink:0}.character-portrait{object-position:center;filter:drop-shadow(0 2px 2px #654d3014)}.brand .brand-mark{width:49px;height:52px;object-fit:contain;object-position:center}.hero-art .hero-wobble{height:360px;width:auto;left:18%;bottom:4px;max-width:65%;transform:none;object-position:center bottom}.world-hero .world-wobble{width:auto;bottom:5px;max-width:31%;height:280px}.player-scene .player-wobble{width:auto;height:245px;max-width:43%;bottom:6px;left:4%}.story-cover .mini-wobble{width:auto;height:145px;left:50%;transform:translateX(-50%);bottom:4px;max-width:68%}.feature-visual .feature-wobble{width:auto;height:250px;max-width:58%;bottom:5px;left:22%}.play-feature-art .feature-game-wobble{width:auto;max-width:46%;height:86%;left:8%;bottom:5px}.play-feature-art .feature-game-object{max-width:44%;object-fit:contain}.candidate-picture .character-portrait{height:125px;width:130px;object-position:center}.candidate-picture{background:#e9e8d4}.candidate-picture .evidence-bag{z-index:2}.reveal-brief .character-art{height:160px;width:140px;max-width:100%}.misheard-stage .misheard-wobble{height:85%;width:44%;left:3%;bottom:4px;max-height:100%}.misheard-object .character-art{height:100%;width:100%}.machine-entity .character-art,.radio-position-art .character-art,.radio-object-art .character-art,.radio-pair-art .character-art{object-position:center bottom}.machine-entity .character-art{height:100%;width:100%}.machine-demo .character-art{height:43%;width:35%;object-fit:contain}.machine-action-mark svg,.machine-action-mark>span{filter:drop-shadow(0 2px 1px #fff5)}.machine-picture .machine-arms{display:none!important}.packing-scene .packing-wobble{height:66%;width:42%;left:0;bottom:13%}.packing-case-slots .character-art,.packing-picked-object .character-art,.packing-postcard-objects .character-art,.packing-mini-case .character-art{width:100%;height:100%}.packing-postcard-objects .character-art,.packing-mini-case .character-art{width:33%}.packing-oops.prop-goat .packing-picked-object,.packing-oops.prop-bear .packing-picked-object{height:62%;width:49%;bottom:30%;right:1%}.packing-welcome-art>.character-art{height:74%;width:46%;left:3%;bottom:17%}.radio-station-window .radio-host{height:86%;width:43%;left:5%;bottom:9%}.radio-station-window .radio-guest{height:82%;width:40%;right:6%;bottom:9%}.radio-welcome-art>.character-art{height:76%;width:47%;left:0;bottom:16%}.radio-transcript-line .character-art{object-position:center bottom;filter:none}.radio-ticket-art>.character-art{height:76%;width:48%;object-position:center bottom}.radio-answer-art .character-art{max-height:100%;object-fit:contain}.radio-mood-art .character-mood{height:100%;width:100%}.radio-mini-guest{height:90%;width:42%;bottom:3%}.character-mood{width:100%;height:100%;position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:12px}.character-mood>.character-art{height:82%;width:80%;object-position:center}.character-mood-label{display:block;font:19px/1.25 Fredoka;color:#32685a;text-align:center;margin-top:7px;text-transform:capitalize}.character-rest-cue{position:absolute;right:2%;top:0;color:#66517f;display:flex;gap:4px;align-items:flex-start;font-family:Fredoka}.character-rest-cue>span{font-size:52px;color:#c5a94d;line-height:1}.character-rest-cue i{font-size:18px;font-style:normal;line-height:1.5}.character-rest-cue i:nth-of-type(2){font-size:14px;margin-top:10px}.character-rest-cue i:nth-of-type(3){font-size:11px;margin-top:17px}.rest-context{background:#e8e2f35c;border-radius:18px}.radio-answer-art .character-mood{padding:0}.radio-answer-art .character-mood>.character-art{height:78%;width:90%}.radio-answer-art .character-mood-label{display:none}.radio-answer-art .character-rest-cue>span{font-size:33px}.radio-answer-art .character-rest-cue i{font-size:13px}.feedback .feedback-character{float:right;width:75px;height:75px;max-width:26%;margin:0 0 12px 15px;object-fit:contain}.feedback:has(.feedback-character){min-height:118px;display:flow-root}.case-closed>.feedback-character,.machine-finish>.feedback-character{height:110px;width:120px;display:block;margin:0 auto 18px;float:none}.empty>.empty-character{width:125px;height:120px;display:block;margin:0 auto 20px}.collage-friends{padding:30px 0 55px}.collage-friend-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:14px}.collage-friend{padding:17px 13px 20px;border:1px solid var(--paper-edge);background:#fffaf0;border-radius:23px 27px 22px 25px;box-shadow:0 4px 0 #d7ceba26}.collage-friend:nth-child(2n){background:#edf0e1;border-radius:27px 20px 26px 23px}.collage-friend:nth-child(3n){background:#eee7f2}.collage-friend-art{height:185px;display:flex;align-items:flex-end;justify-content:center;margin-bottom:15px}.collage-friend-art .character-art{height:100%;width:100%;object-position:center bottom}.collage-friend h3{font-size:22px;color:#32685a;line-height:1.15}.collage-friend p{font-size:12px;line-height:1.65;margin-top:10px}.page-heading,.extra-heading,.machine-title,.packing-title,.radio-title{isolation:isolate}.play-feature-card,.story-card,.world-card{box-shadow:0 4px 0 #d7ceba20}.play-feature-card{border-color:var(--paper-edge);border-radius:26px 29px 23px 27px}.play-feature-copy{background:#fffaf1}.candidate-card,.game-area,.case-brief,.machine-layout,.packing-workbench,.radio-player,.radio-question-panel{border-color:var(--paper-edge)}body{background-color:#fff7e8;background-image:radial-gradient(#8f744907 .6px,transparent .8px);background-size:5px 5px}.collection-illustration{object-fit:contain}.future-slot-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:1}.illustration-ready:not(.illustration-mode-environment):not(.illustration-mode-open-equipment)>img:not(.future-slot-image),.illustration-ready>.packing-mini-case{visibility:hidden}.illustration-ready>.feature-game-label,.illustration-ready>.radio-channel,.illustration-ready>.case-stamp{position:relative;z-index:2}.misheard-stage.illustration-ready>.misheard-object{visibility:hidden}.illustration-mode-environment>.packing-backdrop{visibility:hidden}.illustration-mode-environment>.future-slot-image{z-index:0}.illustration-mode-environment>.packing-wobble{z-index:2}.illustration-mode-open-equipment>.future-slot-image{z-index:0;object-fit:contain}.illustration-mode-open-equipment .packing-case-lid{visibility:hidden}.illustration-mode-open-equipment .packing-case-base{border-color:transparent;background:transparent;box-shadow:none}.supplied-costume,.machine-supplied-scene,.supplied-scene>.collection-illustration{width:100%;height:100%;object-fit:contain}.future-cover{height:100%;width:100%;object-fit:cover}
@media(max-width:1050px){.collage-friend-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.collage-friend-art{height:210px}.collage-friend h3{font-size:26px}.hero-art .hero-wobble{height:360px;max-width:63%}.world-hero .world-wobble{height:225px}.feature-visual .feature-wobble{height:230px}}@media(max-width:700px){.hero-art .hero-wobble{height:330px;left:16%;bottom:4px;max-width:65%}.collage-friends{padding:20px 0 35px}.collage-friend-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.collage-friend-art{height:175px}.collage-friend h3{font-size:23px}.collage-friend p{font-size:12px}.world-hero .world-wobble{height:185px;max-width:40%;top:58px;right:3%;bottom:auto}.player-scene .player-wobble{height:205px;max-width:47%;left:1%;bottom:4px}.feature-visual .feature-wobble{height:220px;left:23%;max-width:60%}.story-cover .mini-wobble{height:150px;max-width:70%;bottom:5px}.play-feature-art .feature-game-wobble{height:86%;max-width:43%;left:7%}.candidate-picture .character-portrait{height:105px;width:115px;max-width:100%}.reveal-brief .character-art{height:115px;width:85px}.misheard-stage .misheard-wobble{height:83%;width:43%;left:2%;bottom:5px}.feedback .feedback-character{width:64px;height:64px;margin:0 0 9px 12px;max-width:25%}.character-mood-label{font-size:16px}.radio-player .radio-host,.radio-player .radio-guest{height:83%;bottom:10%}.radio-answer-art .character-rest-cue>span{font-size:28px}.radio-answer-art .character-rest-cue i{font-size:11px}.packing-scene .packing-wobble{height:65%;width:42%}.radio-mini-guest{height:87%;bottom:3%}}@media(max-width:380px){.hero-art .hero-wobble{height:290px}.collage-friend-art{height:150px}.collage-friend h3{font-size:21px}.collage-friend p{font-size:11px}}
/* Portraits must fit their stage, including the smaller saved-card and radio frames. */
.character-mood{min-height:0;min-width:0;overflow:hidden}.character-mood>.character-art{min-height:0;flex-shrink:1;max-height:calc(100% - 32px);max-width:240px}.costume-visual>.character-mood{position:absolute;inset:0;height:100%;width:100%;padding:12px 12px 20px}.costume-visual .character-mood-label{display:none}.costume-visual .character-mood>.character-art{height:100%;max-height:100%;max-width:240px}.radio-answer-art .character-mood>.character-art{max-height:100%;max-width:100%}
.packing-finish .feedback-character,.radio-finish .feedback-character{height:95px;width:100px;display:block;margin:0 0 16px;object-fit:contain}
@media(max-width:700px){.hero-art .hero-wobble{left:3%;height:300px;max-width:60%}}
/* Story scenes are the book art: full-frame, centered and large in both the library and reader. */
.story-card .story-cover.has-story-art{height:auto;aspect-ratio:3/2;background:#e8dfcf;padding:0;display:grid;place-items:center}
.story-cover .story-card-illustration{display:block;width:100%;height:100%;object-fit:cover;object-position:center;filter:none}
.player-scene.has-story-art{width:100%;max-width:1000px;height:auto;aspect-ratio:3/2;margin:22px auto 0;position:relative;overflow:hidden;isolation:isolate;border-radius:25px;border:1px solid #d5c8ab;background:#f4ead8;box-shadow:0 8px 0 #654d3016}
.player-scene.has-story-art>.story-scene-image{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:contain;object-position:center;background:#f4ead8}
.player-scene.has-story-art>.scene-caption{z-index:2;top:auto;right:auto;left:50%;bottom:16px;transform:translateX(-50%);max-width:calc(100% - 32px);width:max-content;padding:8px 17px;border-radius:15px;border:1px solid #d8cfbd;background:#fffaf1ed;text-align:center;font-size:clamp(15px,2vw,21px);line-height:1.2;box-shadow:0 2px 5px #4d3e2118}
@media(max-width:560px){.story-card .story-cover.has-story-art{aspect-ratio:3/2}.player-scene.has-story-art{width:100%;aspect-ratio:3/2;margin-top:16px;border-radius:18px}.player-scene.has-story-art>.scene-caption{bottom:9px;padding:7px 13px}}
/* Keep the book's chapter cue on the paper frame below the scene so it never hides story details. */
.player-scene.has-story-art{aspect-ratio:auto;display:flex;flex-direction:column}
.player-scene.has-story-art>.story-scene-image{position:static;flex:none;width:100%;height:auto;aspect-ratio:3/2;object-fit:contain}
.player-scene.has-story-art>.scene-caption{position:static;transform:none;max-width:calc(100% - 32px);width:max-content;margin:0 auto 12px}
.world-card .world-image{aspect-ratio:1/1;object-fit:cover;height:auto}
/* Supplied game entrance scenes stay uncropped and remain the visual focus. */
.play-feature-art.illustration-ready{height:auto;aspect-ratio:3/2;background:#f1e9d8}
.play-feature-art.illustration-ready:after{display:none}
.play-feature-art.illustration-ready>.future-slot-image{object-fit:contain}
.play-feature-art.illustration-ready>.feature-game-label,.play-feature-art.illustration-ready>.radio-channel{display:none}
.play-feature-art.illustration-ready>:not(.future-slot-image){display:none}
/* Read-aloud player lives only inside an individual story reader. */
.player-tools>.speech-dock{position:static;z-index:auto;display:flex;align-items:center;justify-content:flex-start;flex-wrap:wrap;gap:9px;width:100%;max-width:none;min-height:0;margin:0;padding:0;transform:none;border:0;border-radius:0;background:transparent;box-shadow:none}
.speech-panel-title{color:#32685a;font:600 17px Fredoka,sans-serif;white-space:nowrap}
.speech-voice-label{display:flex;align-items:center;gap:7px;color:#32685a;font-size:12px;font-weight:900}
.speech-voice-label select{min-width:155px;max-width:min(34vw,280px);min-height:40px;padding:7px 25px 7px 10px;border:1px solid #cfd8c1;border-radius:12px;background:#fffdfa;color:#283047;font:700 12px Nunito,Arial,sans-serif}
.speech-panel-status{flex:1 1 150px;min-width:120px;color:#63715b;font-size:11px;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.player-tools .speech-dock .audio-btn{min-height:42px;padding:8px 13px;white-space:nowrap}
.speech-dock button:disabled{opacity:.45;cursor:not-allowed}
.speech-dock .speech-stop{border-color:#d9a39a;color:#8a453d;background:#fff4ef}
@media(max-width:700px){.player-tools>.speech-dock{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}.speech-panel-title{grid-column:1/-1}.speech-voice-label{grid-column:1/-1;justify-content:space-between;min-width:0}.speech-voice-label select{flex:1;min-width:0;max-width:none}.speech-panel-status{grid-column:1/-1;min-width:0;white-space:normal;overflow:visible;text-overflow:clip}.player-tools .speech-dock .audio-btn{width:100%;min-height:44px;padding:7px 3px;justify-content:center;font-size:11px}}
