/* The logo's ink, paper edge and warm offset, carried into useful objects. */
:root{--room-blue:#124dec;--room-gold:#ffdc52;--room-pink:#ee326c;--room-ink:#142b46;--room-paper:#fff}
.welcome-scene{padding:0 22px!important}.welcome-film:has(.mission-stage){aspect-ratio:auto!important;height:auto;border-radius:32px!important;overflow:visible;background:transparent}
.mission-stage{background:var(--room-blue);border:6px solid white;border-radius:36px;box-shadow:0 0 0 2px var(--room-blue),7px 9px 0 var(--room-gold);overflow:hidden;isolation:isolate}
.mission-picture{position:relative;aspect-ratio:16/9;background:white;overflow:hidden}
.mission-picture .mission-still,.mission-picture video{position:absolute;inset:0;width:100%;height:100%;object-fit:contain!important;aspect-ratio:auto;display:block}
.mission-picture video{opacity:0;pointer-events:none;transition:opacity .22s ease .25s}
.mission-picture video.is-live{opacity:1;z-index:1;transition-delay:0s}
.mission-steps{display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr));gap:0;padding:10px 18px 0!important;background:var(--room-blue)}
.mission-steps button{background:none;color:white;border:0;position:relative;min-height:60px;padding:14px 12px 18px;font:inherit;font-size:1.05rem;font-weight:700;cursor:pointer}
.mission-steps button[aria-pressed=true]{background:var(--room-gold);color:var(--room-ink);border-radius:18px 18px 0 0}
.mission-steps button:focus-visible{outline:3px solid white;outline-offset:-5px}
.mission-caption{display:flex;align-items:center;justify-content:space-between;gap:20px;background:var(--room-gold);padding:18px 30px;color:var(--room-ink)}
.mission-caption p{font-size:1rem!important;line-height:1.5;margin:0;max-width:63ch}
.mission-caption a{color:var(--room-ink);font-weight:750;white-space:nowrap;text-underline-offset:5px;padding:5px 0}
.welcome-invitation{padding:54px 16px 32px!important;align-items:center;grid-template-columns:1.1fr 1fr;max-width:1200px;margin:auto}
.welcome-invitation h1{font-size:clamp(3.2rem,6vw,6.3rem)!important;line-height:1.02!important;letter-spacing:-.045em!important}
.welcome-invitation h1 em{color:var(--room-blue);font-family:inherit!important}
.welcome-invitation p{color:var(--room-ink)}
.welcome-conversation{position:relative;max-width:1200px;margin:12px auto 32px!important;border:2px solid var(--room-ink)!important;border-radius:28px 28px 28px 8px!important;background:#ffe6ef!important;box-shadow:6px 6px 0 var(--room-pink);padding:24px 28px!important}
.welcome-conversation button,.welcome-conversation a{background:white!important;border:2px solid var(--room-ink)!important;border-radius:14px!important;color:var(--room-ink)!important;min-height:46px;padding:12px 20px!important;font-weight:700;box-shadow:3px 3px 0 var(--room-ink)}
.room-invitation{display:grid;grid-template-columns:1.1fr 1fr;gap:3.5rem;align-items:center;margin-block:4rem 5rem}
.room-invitation h2,.room-soundboard h2,.room-photo-spread h2{font-size:clamp(2.5rem,4.6vw,4.5rem);line-height:1.03!important;margin:0 0 1.3rem;letter-spacing:-.04em!important;color:var(--room-ink)}
.room-invitation>div>p{font-size:1.15rem;line-height:1.65;max-width:39ch}
.room-invitation>div:last-child{display:grid;gap:1.4rem}
.room-voice{--voice-progress:0%;position:relative;background:var(--room-blue);color:white;border:5px solid white;border-radius:28px 28px 28px 10px;padding:22px;box-shadow:0 0 0 2px var(--room-blue),5px 6px 0 var(--room-gold);margin:0 0 1rem;min-width:0}
.voice-heading{display:flex;align-items:center;justify-content:space-between;gap:1rem}
.voice-heading strong{font-size:1.35rem;color:white}
.voice-heading button{font:inherit;font-size:.94rem;line-height:1.3;font-weight:750;border:0;border-radius:10px;min-height:44px;padding:10px 15px;background:var(--room-gold);color:var(--room-ink);cursor:pointer}
.voice-heading button:disabled{cursor:default;background:white;color:var(--room-blue)}
.voice-heading button:focus-visible{outline:3px solid var(--room-gold);outline-offset:4px}
.voice-track{position:relative;max-width:340px;margin:.8rem 0 .4rem;height:45px;overflow:hidden}
.voice-wave{width:100%;height:45px;fill:white;opacity:.8;display:block}
.voice-progress{position:absolute;inset:0 auto 0 0;width:var(--voice-progress);background:#ffdc5230;border-right:2px solid var(--room-gold);pointer-events:none}
.voice-words{color:white!important;font-size:1.05rem!important;line-height:1.6!important;margin:0!important;max-width:42ch}
.room-voice audio{display:none}.room-voice-compact{padding:17px 20px}.room-voice-compact .voice-track{height:28px;margin:.5rem 0}.room-voice-compact .voice-wave{height:28px}
.room-voice-compact .voice-heading strong{font-size:1.15rem}
.personal-feed>.room-voice,.personal-feed>section>.room-voice{margin:2.2rem 6px}.companion-fieldnote .room-voice{margin-bottom:2rem}
.room-soundboard{padding-block:3rem 4rem}.room-soundboard>header,.room-photo-spread>header{display:flex;align-items:end;justify-content:space-between;gap:2rem;margin-bottom:2rem}.room-soundboard>header>p,.room-photo-spread>header>p{font-size:1.1rem;line-height:1.6;max-width:32ch}
.soundboard-room{display:grid;grid-template-columns:1.2fr 1fr;align-items:center;gap:2rem;background:#fff0f5;padding:22px;border-radius:36px;border:2px solid var(--room-ink);box-shadow:7px 8px 0 var(--room-gold)}
.soundboard-room figure{margin:0}.soundboard-room figure img{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:contain;border-radius:24px}
.soundboard-room figcaption{padding:1rem .5rem;font-size:1rem;line-height:1.5}
.soundboard-console{min-width:0;padding:0 7px}.soundboard-console>nav{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;margin-bottom:22px}
.soundboard-console>nav button{font:inherit;font-size:.95rem;font-weight:700;background:white;color:var(--room-ink);border:0;border-radius:10px;min-height:42px;padding:8px 5px;cursor:pointer}
.soundboard-console>nav button[aria-pressed=true]{background:var(--room-ink);color:white}.soundboard-console [hidden]{display:none}
.room-photo-spread{padding-block:2rem 5rem}.room-photo-shelf{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2.8rem 2rem;margin:2rem 0 3rem}
.room-photo-shelf article{min-width:0;border:2px solid var(--room-ink);border-radius:24px;background:white;padding:10px;box-shadow:5px 7px 0 var(--room-gold)}
.room-photo-shelf article:nth-child(3n+2){box-shadow:5px 7px 0 #ffb1cb}.room-photo-shelf figure{margin:0}
.room-photo-shelf img{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:contain;border-radius:15px}
.room-photo-shelf figcaption{padding:10px 14px 12px}.room-photo-shelf h3{font-size:1.4rem;margin:.5rem 0;line-height:1.25!important}.room-photo-shelf p{font-size:1rem;line-height:1.55;margin:.7rem 0 0}
/* An evidence folder, a spoken response, a working sheet: visibly different jobs. */
.artifact-stack{position:relative;background:var(--room-blue);border-radius:0 28px 28px 28px!important;padding:22px!important;margin-top:24px}
.artifact-stack:before{content:'';position:absolute;height:24px;width:36%;left:0;top:-23px;background:var(--room-blue);border-radius:18px 18px 0 0}
.case-artifact{box-shadow:0 5px 0 #10295b!important;border-radius:17px!important;padding:1.4rem!important}
.case-artifact[open]{background:white}.case-artifact>div{background:#fff5cc!important;border-radius:12px!important}
.choice-question,.aftermath-next,.listening-spark{border:2px solid var(--room-ink)!important;border-radius:24px 24px 24px 6px!important;box-shadow:4px 5px 0 #ee326c;background:var(--room-gold)!important}
.choice-question{margin:0 4px 6px 0}.listening-spark{padding:1.2rem!important}
.response-workbench{background:white!important;border:2px solid var(--room-blue);border-radius:32px!important;box-shadow:inset 0 12px 0 var(--room-gold);padding:2.6rem!important}
.episode-draft{background:#eef3ff;padding:1.5rem;border-radius:20px}.response-workbench input,.response-workbench textarea{border:1px solid #506a92!important;border-radius:10px!important}
.story-callout{position:relative;margin-block:3rem;gap:0;overflow:hidden;padding:0!important;border:2px solid var(--room-ink);border-radius:32px!important;box-shadow:7px 8px 0 var(--room-gold);background:white}
.story-callout figure{height:100%;display:flex;align-items:center}.story-callout img{border-radius:0!important}.story-callout>div{padding:2.2rem;background:#fff0f5;height:100%;display:flex;flex-direction:column;justify-content:center}
.story-callout h2{margin:0 0 1rem}.story-callout p{margin:0 0 1.5rem}.story-callout a{color:var(--room-blue)}
.accounts-table{border:2px solid var(--room-ink)!important;box-shadow:6px 7px 0 var(--room-gold);border-radius:28px!important}.conversation-recap{margin-top:7px}
.episode-glossary,.educator-care,.privacy-summary{border:2px solid var(--room-ink)!important;box-shadow:5px 6px 0 var(--room-gold);border-radius:26px!important}
.scene-journal-layout{gap:0;border:2px solid var(--room-ink);border-radius:28px;overflow:hidden;background:white;box-shadow:6px 7px 0 #b9ccff}
.scene-journal img{border-radius:0!important}.scene-journal figcaption{padding:1.3rem 1.5rem!important}.scene-journal nav{border:0!important;padding:1rem!important;background:#eef3ff;height:100%}.scene-journal nav button{border-radius:12px!important;min-height:54px}
.room-voice :is(button,span,strong,p){font-family:inherit!important}
@media(min-width:1050px){.room-photo-shelf article:nth-child(even){transform:translateY(2rem)}.room-photo-spread>.primary-action{margin-top:1.5rem}}
@media(max-width:850px){.room-invitation,.soundboard-room{grid-template-columns:1fr;gap:2rem}.room-invitation>div>p{max-width:55ch}.mission-steps{padding-inline:10px!important}.mission-steps button{font-size:.92rem;padding-inline:7px}.mission-caption{padding:16px 20px}.room-soundboard>header,.room-photo-spread>header{display:block}.story-callout>div{padding:1.5rem}.room-invitation{margin-block:3rem}.scene-journal-layout{display:block}}
@media(max-width:600px){.welcome-scene{padding:0 12px!important}.mission-stage{border-width:4px;border-radius:23px;box-shadow:0 0 0 2px var(--room-blue),4px 5px 0 var(--room-gold)}.mission-steps{grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;padding:9px!important}.mission-steps button:first-child{grid-column:1/-1}.mission-steps button{border-radius:10px!important;min-height:44px;padding:10px 6px}.mission-caption{display:block;padding:15px 18px}.mission-caption a{display:inline-block;margin-top:10px}.welcome-invitation{padding:34px 5px 22px!important}.welcome-invitation h1{font-size:3.2rem!important}.welcome-conversation{padding:20px!important;margin-bottom:20px!important}.room-photo-shelf{grid-template-columns:1fr;gap:24px}.room-invitation{gap:1.5rem}.room-voice{padding:18px}.soundboard-room{padding:14px;border-radius:24px;gap:1rem}.response-workbench{padding:1.5rem!important}.episode-draft{padding:1rem}.scene-journal nav{grid-template-columns:1fr 1fr!important}.scene-journal nav button{font-size:.9rem;padding:8px}.scene-journal nav button span{min-width:16px}.room-photo-spread{padding-bottom:2rem}}
@media(prefers-reduced-motion:reduce){.mission-picture video{transition:none}.room-photo-shelf article{transform:none!important}}
@media print{.mission-take,.mission-steps,.voice-heading button{display:none!important}.room-voice{background:white;color:#142b46;box-shadow:none;border:1px solid}.voice-words,.voice-heading strong{color:#142b46!important}.voice-track{display:none}.room-photo-shelf article{box-shadow:none;transform:none!important}}
