.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.chapter-journey{padding:10px 24px;background:#fffdf4;border-top:1px solid #e2e8da;border-bottom:1px solid #e2e8da}.chapter-journey>div{display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:14px}.chapter-journey>div>span{white-space:nowrap;color:#46685b;font-weight:800}.chapter-journey ol{display:flex;gap:8px;margin:8px 0 0;padding:0;list-style:none}.chapter-journey li{position:relative;flex:1;text-align:center;background:#dfe8e4;border-radius:20px;height:23px;color:#657b72;font-size:13px;font-weight:900}.chapter-journey li.done{background:#127d64;color:white}.chapter-journey li.current:not(.done){outline:2px solid #7653d4;outline-offset:2px;background:#e9ddff;color:#4c3580}.chapter-journey li.done.current{animation:chapter-pulse .65s ease-out}
.mission-construction{position:absolute;top:12px;left:50%;translate:-50% 0;z-index:1;display:flex;align-items:end;justify-content:center;gap:5px;padding:9px 14px;background:#163f51b8;border:1px solid #ffffff68;border-radius:18px;pointer-events:none;box-shadow:0 6px 20px #173c4b25}.mission-construction i{display:block;width:24px;height:26px;line-height:26px;font-style:normal;text-align:center;border:1px dashed #fff9;color:#ffffff50;border-radius:6px;opacity:.5;transition:opacity .5s,background .5s,transform .5s}.mission-construction i.built{background:#f9d777;color:#775317;opacity:1;border:1px solid #fff3b3;animation:piece-arrives .65s both;animation-delay:calc(var(--part)*.025s)}.mission-construction b{font-size:27px;margin-left:8px}.build-bridge i{height:12px;margin-bottom:10px;border-radius:2px;transform:translateY(calc((var(--part) - 2.5)*(var(--part) - 2.5)*1px))}.build-bridge:after{content:'';position:absolute;bottom:16px;left:10px;right:54px;border-bottom:3px solid #d3ad6b}.build-train i{position:relative;background:#ffffff10}.build-train i.built{background:#5cd4c9;color:#18545e}.build-train i:after{content:'● ●';position:absolute;bottom:-12px;left:2px;letter-spacing:3px;font-size:10px;color:#e9eeff}.build-house i{border-radius:4px 4px 0 0;height:32px}.build-house i.built{box-shadow:0 0 12px #ffe78c}.build-picnic i{background:transparent!important;border:0;font-size:22px;filter:grayscale(1)}.build-picnic i.built{filter:none}.build-beacon i{rotate:calc(var(--part)*12deg - 30deg)}.mission-construction.complete{background:#164a3ddb;box-shadow:0 0 40px #ffdf8180}.mission-complete .build-train{animation:mission-depart 4s ease-in-out 1}.mission-complete .build-beacon{animation:beacon-finale 2s ease-in-out 2}.mission-complete .story-friend{animation:friend-finale 1.6s ease-out 1}.story-beat{position:absolute;z-index:5;left:35%;right:4%;bottom:12px;text-align:center;padding:9px 14px;color:#164d42;background:#fff9dbea;border:1px solid #fff;border-radius:15px;font-weight:900;font-size:16px;animation:piece-arrives .45s ease-out;pointer-events:none}
.voice-first-step{display:grid;gap:9px;width:100%;text-align:center}.voice-first-step>strong{font-size:22px;line-height:1.25}.voice-first-step small{font-size:12px;line-height:1.4;color:#576c71}.first-mic-button{min-height:64px;font-size:23px!important}.first-mic-meter{display:none;justify-content:center;gap:5px;height:28px;align-items:center}.first-mic-meter.active{display:flex}.first-mic-meter i{display:block;width:7px;height:26px;border-radius:8px;background:#1aa88e;transform:scaleY(var(--level,.12));transition:transform .1s}.first-mic-meter i:nth-child(2n){height:18px}.mic-help-toggle{font-size:12px;min-height:36px}.mic-permission-help{background:white;border-radius:14px;padding:12px;text-align:left}.mic-permission-help p{font-size:13px;line-height:1.5}.mic-permission-help .ghost{width:100%;font-size:15px}.story-transparency{font-size:12px;color:#6a7d83;margin:12px 0}.story-transparency summary{cursor:pointer;min-height:30px}.voice-first .story-director{gap:16px}.voice-first .story-feedback:empty{display:none}.voice-first .story-echo .echo-waves{display:none}.voice-first .story-controls{align-self:start}.voice-first .story-dialogue .eyebrow{display:none}
@keyframes piece-arrives{from{opacity:0;transform:translateY(-18px) scale(.75)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes chapter-pulse{50%{scale:1.08;background:#efb832}}@keyframes mission-depart{30%{translate:-50% 0}70%{translate:75% 0;opacity:0}71%{translate:-120% 0;opacity:0}100%{translate:-50% 0;opacity:1}}@keyframes beacon-finale{50%{box-shadow:0 0 100px 35px #ffe69a9c}}@keyframes friend-finale{0%{translate:80px 0}45%{translate:0 -10px}70%{translate:0 0}85%{translate:0 -4px}100%{translate:0 0}}
@media(max-width:900px){.story-cinema-title{padding:12px 18px}.story-cinema-title h1{font-size:21px}.story-stage{height:clamp(240px,36svh,380px)}.story-director{gap:10px;padding:16px}.story-dialogue p{margin:4px 0 10px;font-size:18px}.story-controls{padding:14px}.story-dialogue .audio,.story-dialogue>.ghost{padding:10px 13px;min-height:44px;font-size:15px}.chapter-journey{padding:9px 16px}.voice-first .story-stage{height:clamp(155px,24svh,230px)}.voice-first .story-director{display:flex;flex-direction:column;gap:8px}.voice-first .story-controls{width:100%;padding:13px}.voice-first .story-dialogue{width:100%}.voice-first .story-dialogue>p:first-of-type{font-size:17px;line-height:1.35}.voice-first .story-feedback{font-size:14px!important;min-height:0;margin-bottom:0}.voice-first .story-echo>.story-object,.voice-first .story-echo>.animal{height:58px!important;width:70px!important}.voice-first .story-echo strong{font-size:22px}.voice-first .story-echo>span{display:none}.voice-first .story-workspace{top:45px;bottom:8px}.voice-first .story-teacher{width:100px;bottom:10px}.voice-first .story-teacher>span{font-size:10px;padding:3px}.voice-first .mission-construction{padding:4px 9px;top:7px;scale:.8;transform-origin:top center}.voice-first-step>strong{font-size:18px}.voice-first-step{gap:5px}.first-mic-button{min-height:55px;font-size:20px!important}}
@media(max-width:600px){body[data-view=adventure] header{padding:5px 0 8px}body[data-view=adventure] header .header-actions{gap:5px}body[data-view=adventure] header button{min-height:36px;padding:6px 9px}body[data-view=adventure] .story-toolbar{gap:5px;margin-bottom:8px}body[data-view=adventure] .story-toolbar button{font-size:11px;padding:7px;min-height:34px}body[data-view=adventure] .story-toolbar>span{font-size:11px}.story-cinema-title{padding:9px 12px}.story-cinema-title h1{font-size:18px}.story-cinema-title>span{font-size:9px}.chapter-journey{padding:8px 12px}.chapter-journey>div{font-size:12px;gap:5px}.chapter-journey>div>strong{max-width:68%;line-height:1.25}.chapter-journey li{height:20px;line-height:20px;font-size:11px}.chapter-journey ol{gap:6px;margin-top:6px}.story-stage{height:250px}.mission-construction{scale:.75;transform-origin:top center;top:7px}.story-beat{font-size:12px;left:30%;bottom:8px;padding:6px}.voice-first .story-stage{height:150px}.voice-first .story-director{padding:10px}.voice-first .story-dialogue>p:first-of-type{font-size:15px;margin:0 0 7px}.voice-first .story-dialogue .audio,.voice-first .story-dialogue>.ghost{font-size:12px;padding:7px 9px;min-height:36px}.voice-first .story-controls{padding:10px}.voice-first .mic-help-toggle{min-height:28px;font-size:11px}.voice-first .story-cinema-title{display:flex;gap:8px}.voice-first .story-cinema-title h1{font-size:15px}.voice-first .story-cinema-title>span:last-child{display:none}.voice-first .story-stage .story-teacher{width:85px}.voice-first .story-echo strong{font-size:19px}.voice-first .story-echo>.story-object,.voice-first .story-echo>.animal{height:45px!important}.voice-first .story-workspace{left:37%;top:40px}.voice-first .story-feedback{font-size:12px!important}.voice-first .story-feedback:empty{display:none}}
@media(max-width:600px) and (max-height:740px){.voice-first .story-stage{height:115px}.voice-first .story-stage .story-teacher{width:65px}.voice-first .story-teacher>span{display:none}.voice-first .story-workspace{top:34px}.voice-first .story-echo>.story-object,.voice-first .story-echo>.animal{display:none}.voice-first .chapter-journey{padding:6px 10px}.voice-first .story-controls{padding:8px}.voice-first-step>strong{font-size:16px}.first-mic-button{min-height:49px}.voice-first .mission-construction{scale:.65}}
.reduced .mission-construction,.reduced .mission-construction *,.reduced .chapter-journey *,.reduced .story-beat,.reduced .mission-complete .story-friend{animation:none!important;transition:none!important}@media(prefers-reduced-motion:reduce){.mission-construction,.mission-construction *,.chapter-journey *,.story-beat,.mission-complete .story-friend{animation:none!important;transition:none!important}}
.build-compass{width:100px;height:75px;border-radius:50%;padding:8px}.build-compass i{position:absolute;left:43px;top:32px;width:15px;height:15px;line-height:15px;border-radius:50%;transform:rotate(calc(var(--part)*60deg)) translateY(-30px);font-size:10px;animation:none}.build-compass b{margin:0;position:absolute;left:37px;top:25px;font-size:32px;transition:rotate .8s}.build-compass.complete b{animation:compass-found 1.4s ease-out}.build-house{padding-top:14px}.build-house:before{content:'';position:absolute;left:12px;right:55px;top:5px;height:10px;background:#d6a66e;clip-path:polygon(50% 0,100% 100%,0 100%)}@keyframes compass-found{from{rotate:-180deg;scale:.6}to{rotate:0;scale:1}}
@media(min-width:901px){.voice-first .story-stage{height:clamp(220px,33svh,360px)}.voice-first .story-director{padding:18px 24px}.voice-first .story-dialogue p{font-size:20px;margin:4px 0 12px}.voice-first .story-controls{padding:16px}.voice-first .story-teacher{max-height:90%;width:200px}.voice-first .story-teacher .animal{max-height:270px}.voice-first .story-echo{max-height:220px}.voice-first .story-echo>.animal,.voice-first .story-echo>.story-object{max-height:120px}}
