:root{--forest:#173c2d;--green:#285c43;--cream:#f6f3e9;--paper:#fffdf7;--sage:#dde7d7;--line:#d5dccd;--muted:#536355;--ochre:#d5a15b;--brick:#b86e4c;--sky:#e7eff0;--radius:24px;--shadow:0 8px 30px #173c2d08;font-family:Arial,Helvetica,sans-serif;color:var(--forest);background:var(--cream);font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer;color:inherit;-webkit-tap-highlight-color:transparent;touch-action:manipulation}button:disabled{cursor:default;opacity:.55}button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:4px solid #9c541e;outline-offset:5px}button,input,select,textarea{border-radius:14px}button{border:0}h1,h2,h3,p{margin:0}h1{font-size:clamp(28px,3.25vw,48px);letter-spacing:-1.5px;line-height:1.08}h2{font-size:28px;letter-spacing:-.6px}h3{font-size:21px}p{line-height:1.5}svg{display:block;max-width:100%;height:100%}button svg{pointer-events:none}a{color:var(--green)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.boot{min-height:100vh;display:grid;place-content:center;justify-items:center;gap:22px}.brand-mark{display:grid;place-items:center;background:var(--green);color:var(--paper);font-weight:bold;font-size:35px;width:54px;height:54px;border-radius:18px;line-height:1}.shell{max-width:1600px;margin:auto;min-height:100svh;display:flex;flex-direction:column;padding:0 42px 0}.topbar{height:96px;flex-shrink:0;display:flex;align-items:center;justify-content:space-between;gap:20px;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:13px;text-align:left;background:none;padding:0;font-size:20px;font-weight:700;letter-spacing:-.6px}.brand small{display:block;font-size:11px;text-transform:uppercase;letter-spacing:2.3px;font-weight:400;margin-top:5px}.top-actions{display:flex;align-items:center;gap:15px}.text-button{background:none;padding:13px 16px;min-height:54px;font-size:15px;font-weight:600;display:flex;align-items:center;gap:9px}.text-button svg{width:22px;height:22px}.profile-chip{display:flex;align-items:center;gap:10px;padding:5px 16px 5px 5px;background:var(--paper);border:1px solid var(--line);font-weight:600;max-width:240px}.mini-avatar{width:45px;height:45px;background:var(--sage);border-radius:50%;overflow:hidden;display:block}.mini-avatar svg{width:100%;height:100%}.child-main{flex:1;display:flex;flex-direction:column;padding:30px 0 24px}.eyebrow{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:2px;color:var(--muted);margin-bottom:11px}.page-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:25px}.page-heading .subtitle{font-size:18px;color:var(--muted);margin-top:12px;max-width:630px}.voice-badge{display:flex;align-items:center;gap:9px;font-size:13px;white-space:nowrap;color:var(--muted)}.voice-dot{width:9px;height:9px;border-radius:50%;background:var(--line)}.voice-badge[data-status=playing] .voice-dot{background:var(--green);animation:pulse 1s infinite}.control-footer{min-height:105px;display:flex;align-items:center;justify-content:center;gap:15px;border-top:1px solid var(--line);flex-shrink:0;padding:16px 0 20px}.utility{min-height:64px;min-width:170px;display:flex;align-items:center;justify-content:center;gap:13px;background:var(--paper);border:1px solid var(--line);padding:12px 23px;border-radius:18px;font-weight:600;font-size:17px}.utility svg{height:30px;width:30px}.utility.pause{background:var(--sage);border-color:var(--sage)}.control-hint{font-size:13px;color:var(--muted);margin-left:14px}.primary{background:var(--green);color:var(--paper);padding:18px 30px;min-height:64px;border-radius:18px;display:inline-flex;justify-content:center;align-items:center;gap:12px;font-weight:700;font-size:18px}.primary svg{width:30px;height:30px}.secondary{background:var(--paper);border:1px solid var(--line);min-height:60px;padding:16px 24px;display:inline-flex;align-items:center;justify-content:center;gap:12px;font-weight:600;font-size:17px}.secondary svg{width:27px;height:27px}.profiles{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px;margin:5px 0 30px}.profile-card{background:var(--paper);border:2px solid transparent;border-radius:var(--radius);padding:15px 18px 21px;display:flex;flex-direction:column;align-items:center;position:relative;min-height:350px;box-shadow:var(--shadow)}.profile-card:hover{border-color:var(--green)}.profile-figure{height:245px;width:100%;background:#e7ecdd;border-radius:18px 18px 9px 9px;overflow:hidden;margin-bottom:19px}.profile-figure svg{margin:auto;width:100%}.profile-card strong{font-size:24px;line-height:1.2}.profile-card .small{font-size:14px;color:var(--muted);margin-top:6px}.new-profile{border:2px dashed #a8b8a0;box-shadow:none;background:transparent;justify-content:center;gap:20px}.new-profile .plus-circle{display:grid;place-items:center;width:100px;height:100px;background:var(--sage);border-radius:50%;font-size:58px;font-weight:400}.intro-note{color:var(--muted);font-size:14px;text-align:center}.avatar-editor{display:grid;grid-template-columns:.9fr 1.5fr;gap:28px;flex:1;min-height:480px}.avatar-preview{background:var(--sage);border-radius:var(--radius);display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}.avatar-preview:after{content:'';position:absolute;bottom:35px;width:65%;height:20px;background:#173c2d12;border-radius:50%;z-index:0}.avatar-preview svg{height:425px;max-height:100%;z-index:1}.avatar-preview .preview-tag{position:absolute;top:22px;left:24px;font-size:12px;letter-spacing:2px;text-transform:uppercase}.editor-controls{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:26px;display:flex;flex-direction:column;gap:20px}.editor-tabs{display:flex;gap:9px;flex-wrap:wrap}.editor-tab{background:var(--cream);padding:15px 22px;font-size:17px;min-height:54px}.editor-tab.active{background:var(--green);color:white}.option-section{margin-top:10px}.option-section h3{font-size:16px;margin-bottom:14px;color:var(--muted)}.swatches{display:flex;gap:14px;flex-wrap:wrap}.swatch{width:70px;height:70px;border:3px solid transparent;background:var(--cream);padding:8px;position:relative}.swatch.selected{border-color:var(--green);box-shadow:0 0 0 3px var(--paper) inset}.swatch span{display:block;border-radius:50%;width:100%;height:100%;border:1px solid #173c2d25}.selected:after{content:'✓';position:absolute;top:-9px;right:-9px;background:var(--green);color:white;border-radius:50%;font-size:15px;line-height:25px;width:25px;height:25px;text-align:center;border:2px solid var(--paper)}.picture-options{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.picture-option{position:relative;background:var(--cream);border:3px solid transparent;padding:8px 8px 13px;min-height:125px}.picture-option.selected{border-color:var(--green)}.picture-option svg{height:85px;width:100%}.picture-option span{font-size:13px;display:block;margin-top:6px}.editor-bottom{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin-top:auto}.name-field label{display:block;font-size:14px;color:var(--muted);margin-bottom:7px}.name-field input{max-width:240px}.topics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;flex:1}.topic-card{border-radius:var(--radius);overflow:hidden;background:var(--paper);border:1px solid var(--line);padding:0;text-align:left;display:flex;flex-direction:column;box-shadow:var(--shadow);position:relative}.topic-image{height:210px;position:relative;overflow:hidden;background:var(--sage);display:flex;align-items:center;justify-content:center}.topic-image>svg{width:53%;height:70%;position:relative;z-index:1}.topic-image>img{width:100%;height:100%;object-fit:cover}.topic-card:hover .topic-image>img{transform:scale(1.025)}.topic-meta{padding:21px 25px 24px}.topic-meta h2{font-size:25px;line-height:1.15}.topic-meta p{font-size:14px;color:var(--muted);margin-top:8px}.tag{position:absolute;top:15px;left:15px;background:var(--paper);border-radius:10px;font-size:11px;text-transform:uppercase;letter-spacing:1.4px;padding:9px 12px;z-index:2;font-weight:700}.topic-index{display:flex;align-items:center;justify-content:space-between;margin-top:19px;color:var(--muted);font-size:13px}.pager{display:flex;align-items:center;justify-content:center;gap:20px;padding-top:20px}.pager button{min-height:55px;min-width:115px;background:var(--paper);border:1px solid var(--line);font-weight:600}.intro-layout{display:grid;grid-template-columns:1.15fr 1fr;gap:32px;flex:1}.intro-art{border-radius:var(--radius);position:relative;overflow:hidden;min-height:430px;background:var(--sage)}.intro-art>img{width:100%;height:100%;object-fit:cover;position:absolute}.intro-art>.intro-symbol{position:absolute;inset:15%;}.intro-art>.intro-symbol svg{width:100%;height:100%}.intro-art>.intro-avatar{position:absolute;bottom:0;left:18%;height:70%;width:36%}.intro-art>.companion{height:80%;width:auto;left:auto;right:5%;object-fit:contain;top:auto;bottom:0}.intro-copy{background:var(--paper);padding:34px;border-radius:var(--radius);border:1px solid var(--line);display:flex;flex-direction:column;justify-content:center}.intro-copy .narration{font-size:25px;line-height:1.5;margin:20px 0 26px}.intro-cues{display:flex;gap:14px;margin:0 0 25px}.intro-cues span{width:80px;height:80px;background:var(--cream);border-radius:18px;padding:12px}.intro-copy .secondary{margin-bottom:12px}.story-main{padding-top:22px}.story-heading{margin-bottom:18px;align-items:center}.story-heading h1{font-size:clamp(25px,2.5vw,38px);letter-spacing:-.8px}.story-heading .eyebrow{margin-bottom:7px}.story-layout{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(300px,.8fr);gap:23px;flex:1;min-height:460px}.scene{position:relative;overflow:hidden;border-radius:var(--radius);background:var(--sage);min-height:440px;isolation:isolate}.scene-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-3}.scene-svg{position:absolute;inset:0;width:100%;height:100%;z-index:-2}.scene .character{position:absolute;left:11%;bottom:4%;height:73%;width:32%;z-index:2}.scene .companion{position:absolute;right:4%;bottom:2%;height:82%;width:31%;object-fit:contain;z-index:1}.scene .character svg{width:100%;height:100%}.scene-label{position:absolute;left:20px;top:20px;background:#fffdf7eb;max-width:calc(100% - 40px);padding:10px 15px;border-radius:12px;font-size:13px;z-index:6}.scene-props{position:absolute;inset:0;pointer-events:none;z-index:3}.prop{position:absolute;width:15%;height:22%;bottom:8%;right:17%;}.prop svg{width:100%;height:100%}.prop.flowers{right:29%;bottom:12%}.prop.matches{right:4%;bottom:13%;width:10%}.prop.candle{bottom:11%;right:14%;width:11%}.flame{position:absolute;right:18.2%;bottom:32%;width:18px;height:27px;border-radius:80% 20% 70% 30%;background:#e9b64f;transform:rotate(30deg);box-shadow:0 0 18px #ecb74788;animation:flame 1.3s ease-in-out infinite}.scene.is-tidied .clean-stone{position:absolute;width:30%;height:18%;right:3%;bottom:7%;border-radius:50%;background:#d3d0b4b0;filter:blur(9px)}.inventory{position:absolute;bottom:16px;left:16px;display:flex;gap:7px;z-index:5}.inventory-item{height:58px;width:58px;background:var(--paper);padding:7px;border-radius:15px;border:1px solid var(--line)}.inventory-item svg{width:100%;height:100%}.signal{position:absolute;top:12%;right:13%;background:#35473c;border:5px solid #fffdf7;border-radius:18px;padding:11px;display:grid;gap:8px;z-index:3}.signal i{width:29px;height:29px;border-radius:50%;background:#677167}.signal i.red.on{background:#b44838;box-shadow:0 0 0 4px #b4483822}.signal i.green.on{background:#3e8b53;box-shadow:0 0 0 4px #3e8b5322}.choices-panel{display:flex;flex-direction:column;gap:12px;justify-content:center}.choice{position:relative;background:var(--paper);border:2px solid var(--line);border-radius:21px;min-height:113px;padding:12px 18px;display:flex;align-items:center;gap:20px;text-align:left;flex:1;max-height:180px;box-shadow:var(--shadow)}.choice:hover{border-color:var(--green)}.choice-picture{width:88px;min-width:88px;height:88px;padding:9px;border-radius:17px;background:var(--sage);display:flex;align-items:center;justify-content:center}.choice-picture img,.aac-image{width:100%;height:100%;object-fit:contain}.choice-picture svg{width:100%;height:100%}.choice-label{font-size:22px;font-weight:700;line-height:1.2}.choice-arrow{margin-left:auto;font-size:25px;font-weight:400}.choice-pager{display:flex;gap:10px;align-items:center;justify-content:space-between;padding:4px 0;font-size:12px;color:var(--muted)}.choice-pager button{min-height:50px;background:var(--paper);border:1px solid var(--line);padding:10px 17px;font-size:15px;font-weight:700}.feedback-copy{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:28px;display:flex;flex-direction:column;justify-content:center;gap:20px}.feedback-copy .feedback-symbol{width:110px;height:110px;padding:19px;border-radius:24px;background:var(--sage)}.feedback-copy p{font-size:24px;line-height:1.5}.feedback-copy .primary{margin-top:4px}.end-layout{text-align:center;background:var(--paper);border-radius:var(--radius);border:1px solid var(--line);padding:30px;display:grid;justify-items:center;gap:18px;max-width:760px;margin:0 auto;width:100%;flex:1}.end-layout .end-avatar{height:240px;width:180px}.end-layout p{font-size:22px;max-width:610px}.end-actions{display:flex;gap:15px}.summary-chips{display:flex;gap:10px;flex-wrap:wrap;justify-content:center}.summary-chips span{padding:10px 14px;background:var(--sage);border-radius:13px;font-size:14px}.modal-backdrop{position:fixed;inset:0;z-index:100;background:#173c2d80;display:grid;place-items:center;padding:20px;backdrop-filter:blur(5px)}.modal{background:var(--paper);border-radius:30px;padding:38px;max-width:620px;width:100%;box-shadow:0 25px 100px #173c2d30;max-height:90svh;overflow:auto;text-align:center}.modal h2{font-size:34px}.modal p{font-size:22px;margin:18px 0 25px}.modal-icon{width:100px;height:100px;background:var(--sage);border-radius:25px;padding:22px;margin:0 auto 20px}.modal-actions{display:flex;gap:13px;justify-content:center;flex-wrap:wrap}.modal .primary,.modal .secondary{flex:1;min-width:190px}.modal .quiet-link{background:none;display:block;min-height:54px;margin:15px auto 0;text-decoration:underline;font-size:17px}.adult-main{padding:28px 0 40px;flex:1}.adult-top{display:flex;gap:24px;align-items:center;margin-bottom:25px}.adult-tabs{display:flex;gap:10px;flex-wrap:wrap;margin:20px 0 26px}.adult-tabs button{padding:14px 22px;background:var(--paper);border:1px solid var(--line);font-weight:600;min-height:54px}.adult-tabs .active{background:var(--green);color:white}.adult-note{padding:18px 22px;background:var(--sage);border-radius:16px;font-size:15px;margin:15px 0 22px}.adult-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.outline-card{padding:22px;background:var(--paper);border:1px solid var(--line);border-radius:20px;display:flex;flex-direction:column;gap:13px}.outline-card h3{font-size:21px}.outline-card p{font-size:14px;color:var(--muted)}.outline-card .state-tag{font-size:11px;letter-spacing:1px;text-transform:uppercase;font-weight:700;color:var(--muted)}.outline-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:auto}.outline-actions button{font-size:14px;min-height:48px;padding:10px 15px;background:var(--cream);border:1px solid var(--line)}.toggle{display:flex;align-items:center;gap:12px;font-size:16px;cursor:pointer;min-height:48px}.toggle input{height:24px;width:24px;accent-color:var(--green)}input:not([type=checkbox]):not([type=file]),textarea,select{border:1px solid #a7b4a4;background:white;min-height:50px;padding:13px;color:var(--forest);width:100%}textarea{resize:vertical;line-height:1.4;min-height:100px}.form-panel{max-width:950px;background:var(--paper);border:1px solid var(--line);padding:30px;border-radius:var(--radius)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:23px}.form-field{display:flex;flex-direction:column;gap:9px}.form-field label{font-size:15px;font-weight:600}.form-field small{font-size:13px;color:var(--muted);line-height:1.5}.form-field.full{grid-column:1/-1}.form-section{grid-column:1/-1;border-top:1px solid var(--line);padding-top:20px;margin-top:8px}.form-actions{display:flex;gap:15px;align-items:center;margin-top:26px;flex-wrap:wrap}.form-error{background:#f5e4d9;padding:15px 20px;border-radius:12px;color:#703c20;margin-bottom:20px}.symbol-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:15px}.symbol-upload{padding:18px;text-align:center;background:var(--paper);border:1px solid var(--line);border-radius:20px}.symbol-upload .symbol-preview{height:95px;width:95px;margin:0 auto 13px;background:var(--cream);border-radius:16px;padding:11px}.symbol-upload p{font-size:15px;font-weight:700}.symbol-upload label{display:block;cursor:pointer;background:var(--sage);padding:13px 8px;margin-top:12px;border-radius:11px;font-size:13px}.symbol-upload button{background:none;text-decoration:underline;min-height:45px;margin-top:6px;font-size:12px}.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.settings-card{background:var(--paper);border:1px solid var(--line);border-radius:22px;padding:28px;display:flex;flex-direction:column;gap:17px}.settings-card p{color:var(--muted);font-size:15px}.settings-card .secondary{align-self:flex-start}.save-message{padding:16px 20px;background:var(--sage);border-radius:15px;margin:20px 0;font-size:16px}.adult-footer{border-top:1px solid var(--line);padding-top:20px;color:var(--muted);font-size:13px;line-height:1.5}.scene.winter .scene-bg{filter:saturate(.5)}.scene.winter:after{content:'';position:absolute;inset:0;background:linear-gradient(transparent 60%,#f4f7efc9);z-index:-1}.scene.christmas .scene-bg{filter:saturate(.8)}.character .avatar-body{transition:fill .15s}.offline-dot{font-size:12px;color:var(--muted)}@keyframes pulse{50%{opacity:.4}}@keyframes flame{50%{transform:rotate(25deg) scale(.9)}}
@media(min-width:1600px){.shell{padding:0 60px}.scene{min-height:500px}.topic-image{height:240px}}
@media(max-width:1100px){.shell{padding:0 24px}.profiles{grid-template-columns:repeat(3,minmax(0,1fr))}.profile-card{min-height:320px}.profile-figure{height:220px}.topics{gap:15px}.topic-image{height:180px}.topic-meta{padding:20px}.topic-meta h2{font-size:22px}.story-layout{grid-template-columns:minmax(0,1fr) minmax(290px,.8fr);gap:16px}.choice{gap:13px;padding:10px 13px}.choice-picture{width:75px;height:75px;min-width:75px}.choice-label{font-size:19px}.choice-arrow{display:none}.symbol-grid{grid-template-columns:repeat(4,1fr)}.editor-bottom{flex-wrap:wrap}.picture-options{grid-template-columns:repeat(3,1fr)}}
@media(max-width:760px){.shell{padding:0 16px}.topbar{height:78px;gap:10px}.brand{font-size:17px;gap:9px}.brand small{font-size:9px;letter-spacing:1.3px}.brand-mark{height:42px;width:42px;border-radius:14px;font-size:28px}.top-actions{gap:4px}.top-actions>.text-button{font-size:0;padding:12px}.top-actions>.text-button svg{width:23px;height:23px}.profile-chip{padding:4px 8px 4px 4px;gap:6px;font-size:13px;max-width:130px}.profile-chip .mini-avatar{width:36px;height:36px}.child-main{padding-top:24px}.page-heading{margin-bottom:21px;align-items:flex-start}.page-heading .subtitle{font-size:16px;margin-top:10px}.page-heading .voice-badge{display:none}h1{font-size:32px;letter-spacing:-1px}.profiles{grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.profile-card{padding:10px 10px 18px;min-height:270px;border-radius:22px}.profile-figure{height:190px;margin-bottom:15px}.profile-card strong{font-size:22px}.profile-card .small{font-size:12px}.new-profile .plus-circle{width:75px;height:75px;font-size:45px}.intro-note{font-size:12px}.control-footer{gap:8px;min-height:92px;padding:12px 0 15px;position:sticky;bottom:0;background:var(--cream);z-index:10}.utility{min-width:0;flex:1;font-size:12px;padding:10px 6px;gap:4px;flex-direction:column;min-height:65px;border-radius:15px}.utility svg{height:26px;width:26px}.control-hint{display:none}.avatar-editor{grid-template-columns:1fr;gap:18px;min-height:0}.avatar-preview{height:280px;min-height:0}.avatar-preview svg{height:270px}.avatar-preview:after{bottom:10px}.editor-controls{padding:19px;gap:15px}.editor-tabs{gap:6px}.editor-tab{font-size:14px;padding:11px 13px;min-height:48px}.swatch{width:59px;height:59px}.swatches{gap:12px}.picture-options{grid-template-columns:repeat(4,1fr);gap:8px}.picture-option{padding:5px 5px 9px;min-height:110px}.picture-option svg{height:65px}.picture-option span{font-size:11px}.editor-bottom{align-items:stretch}.editor-bottom .primary{flex:1;min-height:60px}.name-field{width:100%}.name-field input{max-width:none}.topics{grid-template-columns:1fr 1fr;gap:13px}.topic-image{height:155px}.topic-meta{padding:17px 14px}.topic-meta h2{font-size:21px}.topic-meta p{font-size:12px}.topic-index{font-size:11px;margin-top:14px}.tag{top:9px;left:9px;font-size:9px;padding:7px 9px;letter-spacing:1px}.intro-layout{grid-template-columns:1fr;gap:18px}.intro-art{min-height:260px}.intro-copy{padding:23px}.intro-copy .narration{font-size:22px;margin:8px 0 20px}.intro-cues{display:none}.story-main{padding-top:20px}.story-heading h1{font-size:27px}.story-heading .eyebrow{font-size:10px}.story-layout{grid-template-columns:1fr;min-height:0;gap:16px}.scene{min-height:300px;aspect-ratio:1.25;max-height:420px}.scene .character{height:73%;width:35%;left:6%;bottom:3%}.scene .companion{height:82%;width:34%;right:2%}.scene-label{top:12px;left:12px;font-size:11px;padding:8px 11px}.choices-panel{gap:10px;justify-content:flex-start}.choice{min-height:104px;max-height:none;flex:initial;gap:17px;border-radius:20px;padding:9px 15px}.choice-picture{width:77px;min-width:77px;height:77px}.choice-label{font-size:21px}.choice-arrow{display:block}.inventory{bottom:10px;left:10px}.inventory-item{height:43px;width:43px;border-radius:11px;padding:6px}.signal{border-width:3px;padding:8px;gap:6px;border-radius:12px;right:12%;top:13%}.signal i{height:22px;width:22px}.feedback-copy{padding:24px;gap:18px}.feedback-copy p{font-size:22px}.feedback-copy .feedback-symbol{width:80px;height:80px;padding:12px}.end-layout{padding:25px 20px}.end-actions{flex-direction:column;width:100%}.end-layout .end-avatar{height:210px}.end-layout p{font-size:20px}.modal{padding:28px 23px}.modal h2{font-size:29px}.modal p{font-size:21px}.adult-main{padding-top:24px}.adult-top{flex-wrap:wrap;gap:15px}.adult-grid{grid-template-columns:1fr}.adult-tabs{gap:7px}.adult-tabs button{font-size:14px;padding:12px 14px;min-height:48px}.adult-note{font-size:14px;padding:16px}.form-panel{padding:22px 18px}.form-grid{grid-template-columns:1fr;gap:19px}.form-field.full,.form-section{grid-column:auto}.form-actions>.primary,.form-actions>.secondary{width:100%}.symbol-grid{grid-template-columns:repeat(2,1fr);gap:12px}.symbol-upload{padding:15px}.settings-grid{grid-template-columns:1fr}.settings-card{padding:23px}.voice-badge{font-size:11px}.offline-dot{display:none}}
.shell{height:100svh;min-height:0}.child-main,.adult-main{min-height:0;overflow:auto;scrollbar-gutter:stable}.control-footer{position:relative;bottom:auto}.cover-symbol{position:absolute;bottom:16px;right:18px;width:94px;height:94px;z-index:1;padding:9px;background:var(--paper);border-radius:23px;box-shadow:0 4px 16px #173c2d15}.cover-symbol svg{height:100%;width:100%}.companion-button{background:none;padding:0;border-radius:35px}.companion-button>img{height:100%;width:100%;object-fit:contain}.companion-button>span{position:absolute;top:8%;left:0;width:55px;height:55px;padding:6px;background:var(--paper);border:2px solid var(--green);border-radius:50%}.companion-button>span svg{height:100%;width:100%}.editor-controls{gap:14px;padding:22px}.option-section{margin-top:0}.option-section h3{margin-bottom:10px}.swatch{width:60px;height:60px}.picture-options{grid-template-columns:repeat(4,minmax(0,1fr))}.picture-option{min-height:110px}.picture-option svg{height:72px}.editor-bottom{position:sticky;bottom:0;background:var(--paper);padding-top:12px}.avatar-preview{min-height:350px}.avatar-preview svg{max-height:430px}.adult-main{padding-right:5px}.scene .character,.scene .companion{pointer-events:none}.scene .companion-button{pointer-events:auto}.scene-props{pointer-events:none}
@media(max-width:760px){.cover-symbol{width:64px;height:64px;bottom:10px;right:10px;padding:6px;border-radius:17px}.avatar-preview{min-height:280px}.child-main{padding-right:2px}.control-footer{position:relative}.avatar-editor{flex:none}.editor-bottom{bottom:-1px}.scene{flex-shrink:0}.topic-image>svg{width:65%}}
.choice-picture{width:120px;min-width:120px;height:120px;padding:11px}.choice{min-height:150px}.crossing-road{position:absolute;bottom:0;left:0;width:100%;height:26%;z-index:-1}.scene .character,.scene .companion{z-index:4}.scene-props .leaf-one{width:10%;height:14%;bottom:13%;right:25%;transform:rotate(30deg)}.scene-props .leaf-two{width:10%;height:14%;bottom:10%;right:12%;transform:rotate(-20deg)}.symbol-upload label:focus-within,.secondary:focus-within{outline:4px solid #9c541e;outline-offset:4px}
@media(max-width:760px){.choice-picture{width:95px;min-width:95px;height:95px;padding:10px}.choice{min-height:122px}.companion-button>span{width:43px;height:43px}}
.controller{position:absolute;left:42%;bottom:5%;height:72%;width:27%;object-fit:contain;z-index:5}.scene.bus:has(.controller) .companion{right:-3%;width:29%;height:76%}.scene.bus:has(.controller) .character{left:2%;width:31%}.matching-person{position:absolute;right:7%;top:13%;width:21%;height:30%;padding:8px;border:3px solid var(--paper);border-radius:22px;background:var(--paper);box-shadow:0 4px 18px #173c2d18}.matching-package{position:absolute;right:32%;bottom:22%;height:23%;width:18%;z-index:6}.matching-package svg,.matching-person svg{width:100%;height:100%}
.utility .aac-image,.primary .aac-image,.secondary .aac-image{height:30px;width:30px;min-width:30px;object-fit:contain}.text-button .aac-image{height:22px;width:22px;object-fit:contain}.audio-coverage{font-size:12px!important;font-weight:700;color:var(--green)!important}
.scene.crossing .character{bottom:28%;height:64%;left:7%;width:31%}.scene.crossing .companion{bottom:27%;height:70%;right:23%;width:28%}.scene.crossing .signal{right:8%;top:9%}
@media(max-width:760px){.scene{aspect-ratio:auto;width:100%;min-width:0;height:300px}.form-grid{grid-template-columns:minmax(0,1fr)}.form-field{min-width:0}}
.weather-rain{position:absolute;inset:0;width:100%;height:100%;z-index:0}

.pager button,.choice-pager button{display:flex;align-items:center;justify-content:center;gap:9px;min-height:56px}.pager button svg,.choice-pager button svg,.pager button .aac-image,.choice-pager button .aac-image{width:28px;min-width:28px;height:28px}.choice-pager{gap:8px}.choice-pager button{padding:10px 12px}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* Illustrated story system — shared interface, focused cemetery journey. */
:root{--forest:#203e34;--green:#315b48;--cream:#f6f3eb;--paper:#fffefa;--sage:#e1e9da;--line:#dce1d6;--muted:#607065;--radius:26px;--shadow:0 5px 18px #253f3207;font-family:'Avenir Next','Segoe UI',Arial,sans-serif}
.topbar{min-height:83px;padding:15px 0;border-bottom-color:#d6ddcf}.brand{gap:12px}.brand-mark{border-radius:19px;width:48px;height:48px;font-size:33px}.brand>span:last-child{font-size:21px;letter-spacing:-.6px}.brand small{font-size:10px;letter-spacing:2px;margin-top:6px}.top-actions{gap:22px}.profile-chip{border-radius:40px;background:#fffefa;padding:3px 15px 3px 4px;box-shadow:none}.mini-avatar{background:#e5ebdd}.text-button{font-size:14px}.page-heading{margin-bottom:24px}.page-heading h1{font-weight:700;letter-spacing:-1.3px}.eyebrow{font-size:11px;letter-spacing:1.6px;color:#64715f}.subtitle{color:#657164;font-size:17px}.voice-badge{font-size:12px;gap:7px}.voice-dot{height:7px;width:7px}.control-footer{min-height:91px;padding:14px 0;gap:12px}.utility{min-height:59px;border-radius:18px;min-width:155px;font-size:16px;box-shadow:0 3px 0 #263e3106}.utility.pause{background:#e1e9da}.control-hint{font-size:12px;color:#657164}.primary,.secondary{border-radius:17px;min-height:64px;letter-spacing:-.3px}.primary{box-shadow:0 4px 0 #1e402c25}.primary:active,.choice:active,.utility:active{transform:translateY(2px);box-shadow:none}.profile-card{border:1px solid #d6dece;border-radius:26px;padding:10px 10px 22px;box-shadow:0 5px 0 #dde2d538}.profile-figure{border-radius:19px;background:#e3e9dc;position:relative}.profile-figure:before{content:'';position:absolute;width:180px;height:180px;border-radius:50%;background:#f3f3e5;top:21px;left:50%;transform:translateX(-50%)}.profile-figure svg{position:relative}.profile-card strong{font-size:23px;letter-spacing:-.5px}.profile-card .small{font-size:13px}.new-profile{border:2px dashed #b7c4ad;background:#eef0e6;box-shadow:none}.new-profile .plus-circle{width:84px;height:84px;background:#e0e7d6;color:#426249}.avatar-preview{background:#e2e8d9;border:1px solid #d6dfcb}.avatar-preview:before{content:'';position:absolute;width:80%;height:75%;background:#f0f1e6;border-radius:48% 48% 42% 42%;bottom:-2%}.avatar-preview:after{display:none}.preview-tag{color:#597054}.editor-controls{border-color:#d5dfcf}.picture-option{background:#edf0e5}.swatch{background:#eef0e5}.editor-tab.active{box-shadow:0 3px 0 #173c2d15}.topic-card{box-shadow:0 5px 0 #dde2d538;border:1px solid #d6dece}.topic-image{height:210px}.topic-meta h2{font-size:25px;line-height:1.2}.topic-meta p{font-size:14px;line-height:1.45}.topic-index{border-top:1px solid var(--line);padding-top:15px;font-size:12px}.cover-symbol{height:70px;width:70px;border-radius:19px;border:1px solid #ffffffa0;box-shadow:0 4px 12px #273d3610}.tag{border-radius:8px;font-size:10px;letter-spacing:1px;padding:8px 11px}.illustrated-cover{position:absolute;inset:0}.illustrated-cover .world-art{position:absolute;width:100%;height:100%;inset:0;z-index:0}.intro-copy{padding:30px}.intro-copy .narration{font-size:24px;line-height:1.45}.intro-art .story-world{height:100%;width:100%;min-height:430px;border-radius:0}.intro-art>.companion svg{width:100%;height:100%}.intro-art>.companion{width:32%}.intro-cues span{border:1px solid #d9e0d2}.end-layout{box-shadow:none;border-color:#d8dfd1}
.cemetery-adventure.story-main{padding-top:23px;position:relative}.cemetery-adventure .page-heading{margin-bottom:15px;flex-shrink:0}.cemetery-adventure .page-heading h1{font-size:clamp(27px,2.8vw,40px);line-height:1.15;letter-spacing:-1px}.cemetery-adventure .page-heading .eyebrow{margin-bottom:8px}.journey-progress{display:flex;align-items:center;gap:9px;margin-bottom:17px;color:#70806e;flex-shrink:0}.journey-stop{display:flex;align-items:center;gap:7px;font-size:11px;border-radius:30px;padding:5px 10px 5px 6px;min-height:34px}.journey-stop>svg,.journey-stop>.aac-image{width:24px;height:24px;opacity:.7}.journey-stop.current{background:#e3ead9;color:#2f503c;font-weight:700}.journey-stop.current>svg{opacity:1}.journey-stop.visited{color:#536d50}.journey-progress>i{width:17px;height:1px;background:#c8d3c1}.cemetery-adventure .story-layout{grid-template-columns:minmax(0,1.85fr) minmax(270px,.9fr);gap:22px;min-height:0;align-items:center;padding-bottom:18px}.story-world.scene{width:100%;min-height:0;aspect-ratio:3/2;max-height:none;background:#dce4d1;border:1px solid #d2dbc8;border-radius:26px;box-shadow:0 6px 0 #d9dfd345;container-type:inline-size}.story-world .world-art{position:absolute;width:100%;height:100%;inset:0;z-index:0}.story-world .character{left:7%;bottom:5%;height:63%;width:25%;z-index:4;pointer-events:none;transform-origin:50% 90%}.story-world .guide-actor{position:absolute;left:33.5%;bottom:5%;height:73%;width:25%;z-index:3;pointer-events:none;transform-origin:50% 90%}.story-world .character>svg,.story-world .guide-actor>svg,.story-world .controller-actor>svg{height:100%;width:100%;overflow:visible}.story-world .controller-actor{position:absolute;right:8%;bottom:5%;height:72%;width:25%;z-index:4;pointer-events:none}.story-world.bus:has(.controller-actor) .guide-actor{left:34%;height:70%;width:23%}.story-world .scene-label{position:absolute;top:16px;left:16px;background:#fffef5ed;padding:9px 13px;border-radius:10px;border:1px solid #ffffff;font-size:11px;letter-spacing:.1px;font-weight:600;display:flex;align-items:center;gap:8px;z-index:6;box-shadow:0 2px 8px #34482d05}.scene-label i{display:block;height:6px;width:6px;border-radius:50%;background:#c49754}.story-world .inventory{left:15px;bottom:14px;z-index:8;gap:7px;max-width:90%;padding:5px;border:1px solid #ffffffb3;border-radius:16px;background:#fffdf3eb;box-shadow:0 2px 6px #34482d0d}.story-world .inventory-item{width:43px;height:43px;padding:5px;border:1px solid #dae2ce;background:#f9fbf3;box-shadow:none;border-radius:11px}.story-world .companion-button{padding:0;background:none;border:0;border-radius:20px;pointer-events:auto}.story-world .guide-listen{position:absolute;top:0;left:-12%;width:53px;height:53px;border:2px solid #315b48;border-radius:50%;background:#fffef8;box-shadow:0 4px 0 #bdcaae66;padding:6px}.story-world .guide-listen svg,.story-world .guide-listen .aac-image{width:100%;height:100%;object-fit:contain}.cemetery-adventure .choices-panel{gap:15px;align-self:stretch;justify-content:center;min-width:0}.cemetery-adventure .choice{max-height:195px;min-height:153px;flex:0 1 185px;border:2px solid #d4decb;border-radius:24px;padding:15px 16px;gap:17px;box-shadow:0 5px 0 #dce2d34d}.cemetery-adventure .choice:hover{border-color:#91a989;background:#fffef7}.cemetery-adventure .choice:focus-visible{outline-offset:3px}.cemetery-adventure .choice-picture{width:104px;min-width:104px;height:104px;padding:9px;background:#f0f3e9;border:1px solid #e7ebdf;border-radius:21px}.cemetery-adventure .choice-label{font-size:24px;line-height:1.15;letter-spacing:-.5px;font-weight:650}.cemetery-adventure .choice-arrow{display:none}.cemetery-adventure .feedback-copy{align-self:stretch;border:1px solid #d5ddcd;box-shadow:0 5px 0 #dde2d538;gap:18px;padding:25px;min-width:0;border-radius:24px}.cemetery-adventure .feedback-copy p{font-size:24px;line-height:1.42;letter-spacing:-.3px}.cemetery-adventure .feedback-symbol{width:85px;height:85px;padding:10px;background:#edf1e4;border-radius:21px}.cemetery-adventure .feedback-copy .primary{width:100%;margin-top:auto}.cemetery-adventure .choice-pager{font-size:11px;gap:7px}.cemetery-adventure .choice-pager button{min-height:56px;font-size:13px;border-radius:14px;padding:8px 10px;background:#ecf0e3}.cemetery-adventure .choice-pager button svg{width:24px;min-width:24px}.scene[data-motion-managed=true] *{animation:none!important}.story-world .avatar-shadow{opacity:.45}.world-flame{transform-box:fill-box;transform-origin:center bottom}.story-world .world-broom,.story-world .hand-light{opacity:0}
@media(min-width:1200px) and (max-height:820px){.cemetery-adventure .story-layout{grid-template-columns:minmax(0,1.65fr) minmax(300px,.9fr)}.story-world.scene{height:calc(100svh - 290px);max-height:600px;aspect-ratio:3/2}.cemetery-adventure .choice{min-height:133px;flex-basis:158px}.cemetery-adventure .choice-picture{height:90px;width:90px;min-width:90px}}
@media(min-width:761px) and (max-width:1120px){.cemetery-adventure .story-layout{grid-template-columns:minmax(0,1.6fr) minmax(270px,.9fr);gap:18px}.cemetery-adventure .choice{gap:13px;padding:12px;min-height:142px;flex-basis:164px}.cemetery-adventure .choice-label{font-size:22px}.cemetery-adventure .choice-picture{height:89px;width:89px;min-width:89px}.cemetery-adventure .feedback-copy{padding:21px}.cemetery-adventure .feedback-copy p{font-size:22px}.control-hint{display:none}}
@media(max-width:760px){.topbar{min-height:70px;padding:11px 0}.brand-mark{height:39px;width:39px;font-size:27px;border-radius:14px}.brand>span:last-child{font-size:16px}.brand small{display:none}.top-actions{gap:9px}.top-actions>.text-button{font-size:11px;flex-direction:column;gap:3px}.profile-chip{max-width:124px;font-size:11px;padding-right:10px}.page-heading{margin-bottom:20px}.child-main{padding-top:22px}.utility{min-width:0;font-size:11px;min-height:61px;border-radius:14px}.control-footer{min-height:82px;gap:9px;padding:10px 0}.control-footer .utility:first-child{flex:1.4}.control-footer svg{height:25px;width:25px}.profiles{gap:13px}.profile-figure:before{width:125px;height:125px}.profile-card{padding:8px 8px 18px;border-radius:22px;min-height:265px}.profile-card strong{font-size:21px}.profile-figure{height:185px}.topic-image{height:155px}.topic-meta h2{font-size:21px}.topic-meta p{font-size:12px}.topic-meta{padding:17px 14px}.intro-art .story-world{min-height:260px;aspect-ratio:3/2}.intro-copy .narration{font-size:22px}.cemetery-adventure.story-main{padding-top:20px}.cemetery-adventure .page-heading h1{font-size:27px}.journey-progress{margin-bottom:13px;gap:5px;justify-content:space-between}.journey-stop{font-size:10px;gap:4px;padding:4px 6px}.journey-stop>svg,.journey-stop>.aac-image{height:21px;width:21px}.journey-progress>i{width:9px}.cemetery-adventure .story-layout{grid-template-columns:minmax(0,1fr);gap:17px;align-items:start;flex:none;padding-bottom:20px}.story-world.scene{height:auto;aspect-ratio:3/2;width:100%;border-radius:21px;min-height:235px;max-height:none}.story-world .scene-label{font-size:10px;padding:7px 9px;top:10px;left:10px;gap:6px}.story-world .inventory{bottom:9px;left:9px;gap:5px;padding:4px;border-radius:13px}.story-world .inventory-item{height:33px;width:33px;padding:4px;border-radius:8px}.story-world .guide-listen{height:43px;width:43px;padding:5px;left:-8%}.cemetery-adventure .choices-panel{gap:12px}.cemetery-adventure .choice{min-height:112px;max-height:none;flex:initial;padding:10px 15px;gap:18px;border-radius:20px}.cemetery-adventure .choice-picture{height:87px;width:87px;min-width:87px;border-radius:17px}.cemetery-adventure .choice-label{font-size:23px}.cemetery-adventure .feedback-copy{padding:23px;gap:17px}.cemetery-adventure .feedback-copy p{font-size:23px}.cemetery-adventure .feedback-copy .primary{margin-top:4px}.cemetery-adventure .feedback-symbol{height:73px;width:73px}.cemetery-adventure .choice-pager button{font-size:14px}.cemetery-adventure .intro-art .scene{height:100%;aspect-ratio:auto}.cemetery-adventure .intro-layout{gap:17px}.cemetery-adventure .intro-copy{padding:25px 23px}}
@media(prefers-reduced-motion:reduce){.scene[data-motion-managed=true] *{animation:none!important;transition:none!important}}
.story-world.scene.crossing .character{bottom:21.5%;height:59%;left:7%;width:25%}.story-world.scene.crossing .guide-actor{bottom:21.5%;height:68%;left:33.5%;width:25%}.world-pedestrian-signal{position:absolute;inset:0;height:100%;width:100%;z-index:1;pointer-events:none}.story-world.scene .guide-listen svg{width:100%;height:100%}
.story-world.scene .character{width:auto;aspect-ratio:260/415}.story-world.scene .guide-actor{width:auto;aspect-ratio:260/415;left:32.5%}.story-world.scene .controller-actor{width:auto;aspect-ratio:260/415}.story-world.scene.bus:has(.controller-actor) .guide-actor{width:auto;aspect-ratio:260/415}.story-world.scene.crossing .character{bottom:22.5%;height:59%;width:auto}.story-world.scene.crossing .guide-actor{bottom:22.5%;height:68%;width:auto}
@media(min-width:761px){.cemetery-adventure.story-main .story-layout{grid-template-rows:minmax(0,1fr);align-items:stretch}.cemetery-adventure.story-main .story-world.scene{height:100%;max-height:none;aspect-ratio:auto;min-height:0}.cemetery-adventure.story-main .choices-panel{align-self:center}.cemetery-adventure.story-main .feedback-copy{justify-content:center;overflow:auto}.cemetery-adventure.story-main .feedback-copy .primary{margin-top:8px}}
.closing-copy{background:var(--paper);border:1px solid #d5ddcd;border-radius:24px;padding:27px;display:flex;flex-direction:column;justify-content:center;gap:17px;min-width:0;overflow:auto}.closing-copy>p{font-size:23px;line-height:1.4;letter-spacing:-.3px}.closing-mark{width:62px;height:62px;background:#e7eedc;border-radius:18px;padding:10px}.closing-mark>svg{width:100%;height:100%}.memory-list{display:flex;flex-direction:column;gap:9px;margin-bottom:5px}.memory-list>span{display:flex;align-items:center;gap:10px;font-size:14px;line-height:1.3}.memory-list svg,.memory-list .aac-image{width:28px;height:28px;flex-shrink:0}.closing-copy .primary,.closing-copy .secondary{width:100%;font-size:16px;padding:14px;min-height:61px}.closing-copy .secondary{background:#f0f3e8}.closing-copy .primary{margin-top:6px}@media(max-width:760px){.closing-copy{padding:24px}.closing-copy>p{font-size:22px}.closing-copy .primary,.closing-copy .secondary{font-size:18px;min-height:64px}}
.memory-list{flex-direction:row;flex-wrap:wrap;gap:8px;margin:0}.memory-list>span{font-size:0;width:45px;height:45px;padding:7px;border:1px solid #dbe4cf;border-radius:12px;background:#edf2e3;justify-content:center}.memory-list svg,.memory-list .aac-image{width:29px;height:29px}.closing-copy{gap:14px}.closing-mark{display:none}@media(min-width:761px) and (max-width:1120px){.closing-copy{padding:21px;gap:12px}.closing-copy>p{font-size:20px;line-height:1.35}.closing-copy .primary,.closing-copy .secondary{min-height:58px;padding:11px;font-size:15px}}
.story-world.scene.bus[data-scene="bus_ticket"] .guide-actor{left:65%;bottom:5%;height:73%;width:auto}
.intro-with-film{grid-template-columns:minmax(0,1.65fr) minmax(285px,.85fr);align-items:center;gap:27px}.intro-player{min-width:0;background:#fffdf7;border:1px solid #d6decd;border-radius:25px;padding:10px;box-shadow:0 5px 0 #dce2d34d;align-self:center}.intro-film-frame{position:relative;width:100%;aspect-ratio:16/9;overflow:hidden;background:#dbe3cf;border-radius:17px;isolation:isolate}.intro-film-poster,.intro-film-video,.intro-film-fallback{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.intro-film-poster{z-index:0}.intro-film-video{z-index:1;display:block}.intro-film-video::cue{background:#173c2de8;color:#fffdf7;font:500 21px/1.45 Arial,Helvetica,sans-serif}.intro-player[data-still=true] .intro-film-video{opacity:0}.intro-film-fallback{display:none;z-index:2}.intro-film-fallback .story-world.scene{height:100%;min-height:0;aspect-ratio:auto;border-radius:0}.intro-player[data-media-error=true] .intro-film-fallback{display:block}.intro-player[data-media-error=true] .intro-film-video{display:none}.intro-film-mark{position:absolute;top:13px;left:13px;display:flex;align-items:center;gap:8px;font-size:11px;font-weight:600;padding:9px 12px;border:1px solid #ffffffa8;border-radius:12px;background:#fffdf3ed;z-index:3;pointer-events:none}.intro-film-mark>svg,.intro-film-mark>.aac-image{width:22px;height:22px;flex-shrink:0}.intro-player[data-media-state=playing] .intro-film-mark{opacity:0}.intro-film-controls{display:flex;align-items:stretch;gap:10px;padding:12px 2px 0}.intro-film-controls .primary,.intro-film-controls .secondary{min-height:68px;padding:12px 15px;font-size:17px;line-height:1.2;border-radius:16px;gap:11px}.intro-film-play{flex:1.25}.intro-film-still{flex:1;background:#f0f3e8;min-width:0}.intro-film-still[aria-pressed=true]{background:#dce8d2;border-color:#79966a;box-shadow:0 0 0 1px #79966a inset}.intro-film-controls svg,.intro-film-controls .aac-image{height:33px;width:33px;flex-shrink:0}.intro-film-status{min-height:31px;font-size:12px;line-height:1.45;color:#536355;padding:10px 6px 1px}.intro-with-film .intro-copy{padding:29px;align-self:center}.intro-with-film .intro-copy .narration{font-size:23px;line-height:1.45;margin:17px 0 23px}.intro-with-film .intro-cues{gap:10px;margin-bottom:23px}.intro-with-film .intro-cues>span{width:67px;height:67px;padding:10px;border-radius:16px}.intro-with-film .intro-copy>.primary{font-size:17px;padding:16px;min-height:66px}.intro-with-film .intro-copy>.text-button{justify-content:center;font-size:14px}.intro-film-play:focus-visible,.intro-film-still:focus-visible{outline-offset:2px}
@media(min-width:761px) and (max-width:1120px){.intro-with-film{grid-template-columns:minmax(0,1.35fr) minmax(260px,.85fr);gap:19px}.intro-with-film .intro-copy{padding:23px}.intro-with-film .intro-copy .narration{font-size:21px}.intro-film-controls .primary,.intro-film-controls .secondary{font-size:14px;padding:11px 9px;gap:8px;min-height:68px}.intro-film-controls svg,.intro-film-controls .aac-image{height:29px;width:29px}.intro-film-mark{font-size:10px;left:10px;top:10px;padding:8px 10px}.intro-with-film .intro-cues>span{height:60px;width:60px}}
@media(max-width:760px){.intro-with-film{grid-template-columns:minmax(0,1fr);gap:18px;flex:none}.intro-player{width:100%;padding:8px;border-radius:21px}.intro-film-frame{border-radius:14px}.intro-film-mark{font-size:10px;left:9px;top:9px;padding:6px 8px;gap:6px}.intro-film-mark>svg,.intro-film-mark>.aac-image{height:19px;width:19px}.intro-film-controls{gap:8px;padding-top:10px}.intro-film-controls .primary,.intro-film-controls .secondary{font-size:14px;padding:10px 8px;min-height:70px;flex-direction:column;gap:5px;border-radius:14px}.intro-film-controls svg,.intro-film-controls .aac-image{height:29px;width:29px}.intro-film-status{font-size:11px;padding-top:9px;min-height:30px}.intro-with-film .intro-copy{padding:24px 22px}.intro-with-film .intro-copy .narration{font-size:22px;margin-top:12px;margin-bottom:19px}.intro-with-film .intro-copy>.primary{font-size:19px;min-height:68px}.intro-with-film .intro-cues{margin-bottom:20px}.intro-with-film .intro-cues>span{height:62px;width:62px}.intro-film-video::cue{font-size:15px}}
@media(min-width:761px){.cemetery-adventure .choices-panel.three-choices{height:100%;align-self:stretch;gap:10px}.cemetery-adventure .three-choices .choice{flex:1;min-height:96px;max-height:none;padding:9px 12px;gap:14px;border-radius:21px}.cemetery-adventure .three-choices .choice-picture{width:82px;min-width:82px;height:82px;padding:7px;border-radius:18px}.cemetery-adventure .three-choices .choice-label{font-size:22px}.cemetery-adventure .three-choices .choice-pager{flex-shrink:0;min-height:56px}.cemetery-adventure .three-choices .choice-pager button{min-height:56px}}

.intro-film-transcript{margin:4px 3px 0;border-top:1px solid #e2e7da;color:#536355}.intro-film-transcript>summary{min-height:64px;padding:17px 9px;display:list-item;list-style-position:inside;cursor:pointer;font-size:13px;line-height:1.5;border-radius:12px}.intro-film-transcript>summary:focus-visible{outline:4px solid #9c541e;outline-offset:1px}.intro-film-transcript>div{padding:0 12px 15px;display:flex;flex-direction:column;gap:10px}.intro-film-transcript p{font-size:15px;line-height:1.6;color:#344b39}

.intro-film-stage{position:relative;border-radius:17px;overflow:hidden}.intro-film-frame{display:block;border:0;padding:0;text-align:initial}.intro-film-frame:focus-visible{outline:4px solid #9c541e;outline-offset:-5px}.intro-film-fallback{pointer-events:none;border-radius:inherit}.intro-film-transcript .intro-film-captions{min-height:64px;width:100%;font-size:14px;line-height:1.3;justify-content:flex-start;padding:12px 15px;margin-bottom:5px;background:#f0f3e8}.intro-film-captions[aria-pressed=true]{background:#dce8d2;border-color:#79966a}.intro-film-captions>svg,.intro-film-captions>.aac-image{width:28px;height:28px;flex-shrink:0}@media(max-width:760px){.intro-film-stage{border-radius:14px}}
@media(min-width:761px){.intro-with-film{min-height:0;grid-template-rows:minmax(0,1fr)}.intro-with-film .intro-player{width:100%;max-width:max(340px,calc((100dvh - 540px)*16/9 + 22px));max-height:100%;justify-self:center;overflow:auto;scrollbar-width:thin}.intro-with-film .intro-copy{max-height:100%;min-height:0}.intro-with-film .intro-copy .narration{min-height:0;overflow:auto;scrollbar-width:thin}.intro-with-film .intro-copy>.eyebrow,.intro-with-film .intro-cues,.intro-with-film .intro-copy>.primary,.intro-with-film .intro-copy>.secondary,.intro-with-film .intro-copy>.text-button{flex-shrink:0}}
@media(min-width:761px) and (max-height:820px){.intro-with-film .intro-copy{padding:22px}.intro-with-film .intro-copy .narration{font-size:20px;line-height:1.4;margin:12px 0 18px}.intro-with-film .intro-cues{margin-bottom:18px}.intro-with-film .intro-cues>span{width:52px;height:52px;padding:8px;border-radius:13px}.intro-with-film .intro-copy>.primary{min-height:64px}}

/* Audio and recovery controls use the same touch targets as the existing tools. */
.sound-toggle[aria-pressed=true]{background:#e2e8db;border-color:#9bad94}.sound-toggle[aria-pressed=true] svg{color:#634b35}.voice-badge[data-status=unavailable],.voice-badge[data-status=error]{color:#785032}.voice-badge[data-status=muted] .voice-dot{background:#87927c;box-shadow:none}
.save-notice{display:flex;align-items:center;gap:16px;flex-shrink:0;margin:12px 0 0;padding:14px 18px;border:2px solid #ae8353;border-radius:18px;background:#fff2d8;color:#483e2d}.save-notice-icon{flex:0 0 38px}.save-notice-icon svg{width:38px;height:38px}.save-notice strong{font-size:18px}.save-notice p{font-size:14px;line-height:1.4;margin:5px 0}.save-notice details{font-size:13px}.save-notice summary{cursor:pointer}.save-notice-actions{margin-left:auto;display:flex;gap:9px;flex-shrink:0}.save-notice-actions button{min-height:52px;padding:12px 16px;font-size:15px}.teacher-choices{display:grid;gap:10px;max-height:45dvh;overflow:auto;padding:3px}.teacher-choices button{width:100%;min-height:64px;justify-content:flex-start;text-align:left}
.companion-vector{display:block}.companion-vector>svg{display:block;width:100%;height:100%;overflow:visible}.scene:not(.story-world) .companion-vector{height:79%;width:24%;object-fit:contain;object-position:bottom}.scene:not(.story-world) .controller.companion-vector{height:75%;width:23%}
html[data-reduced-motion=true] *,html[data-reduced-motion=true] *::before,html[data-reduced-motion=true] *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
@media(max-width:1100px){.control-footer .control-hint{display:none}.control-footer .utility{min-width:0;flex:1;padding-left:13px;padding-right:13px}.control-footer .utility:first-child{flex:1.4}}
@media(max-width:760px){.control-footer .utility{padding:9px 5px;font-size:10px;gap:4px;line-height:1.2;min-height:64px}.control-footer .utility:first-child{flex:1.3}.save-notice{align-items:flex-start;flex-wrap:wrap;padding:13px;gap:9px}.save-notice>div:not(.save-notice-actions){flex:1;min-width:220px}.save-notice-actions{margin-left:0;width:100%}.save-notice-actions button{flex:1;min-height:55px;font-size:13px}.save-notice-icon{flex-basis:28px}.save-notice-icon svg{width:28px;height:28px}}

/* Shared walking stage: leave room for both actors to travel together. */
.scene:not(.story-world) .character{width:auto;aspect-ratio:260/415;transform-origin:50% 90%}
.scene:not(.story-world) .guide-actor{left:43%;right:auto;bottom:3%;height:79%;width:auto;aspect-ratio:260/415;transform-origin:50% 90%}
.scene:not(.story-world):has(.controller-actor) .guide-actor{left:34%;height:70%;width:23%}
/* Keep the guide behind the child during an approach to grave objects. */
.story-world[data-motion-action=tidy] .character,.story-world[data-motion-action=place_flowers] .character{left:36%}
.story-world[data-motion-action=tidy] .guide-actor,.story-world[data-motion-action=place_flowers] .guide-actor{left:7%}
.story-world[data-motion-action=adult_lights] .character{left:20%}
.story-world[data-motion-action=adult_lights] .guide-actor{left:50%}
@media (min-width:761px) and (max-width:1100px){
 .story-layout:has(>.scene:not(.story-world)){min-height:0}
 .scene:not(.story-world){min-height:340px;height:340px;align-self:center}
 .scene:not(.story-world):not(:has(.controller-actor)) .guide-actor{left:40%}
}
.scene:not(.story-world).crossing .guide-actor{bottom:27%;height:70%}
