@import url('https://fonts.googleapis.com/css2?family=Nunito:wght@600;700;800;900;1000&display=swap');
*{box-sizing:border-box}body{margin:0;font-family:Nunito,'Trebuchet MS',sans-serif;color:#593d30;background:#896747 url('room.png') center center/cover fixed no-repeat;min-height:100vh}.room-shade{position:fixed;inset:0;background:linear-gradient(#3c272c36,transparent 35%,#432b2730);pointer-events:none}button,input{font:inherit}button{cursor:pointer;border:0;min-height:48px;padding:12px 21px;border-radius:18px;font-weight:900;background:#fff3d5;color:#654634;box-shadow:0 4px 0 #8e674a4a;transition:transform .15s}button:hover{transform:translateY(-2px)}button:focus-visible,input:focus-visible{outline:4px solid #69c7e2;outline-offset:4px}button:disabled{cursor:default;opacity:.5;transform:none}header{position:relative;z-index:4;display:flex;justify-content:space-between;align-items:center;max-width:1450px;padding:18px 4%;margin:auto;gap:15px}.brand{background:#fff6dfed;font-size:28px;line-height:1;color:#486e5e;transform:rotate(-2deg);padding:13px 23px}.brand small{display:block;font-size:9px;letter-spacing:2px;margin-top:7px}.tools{display:flex;gap:8px}.tools button{background:#fff6e7e8;font-size:13px}main{position:relative;max-width:1400px;margin:auto;padding:10px 4% 35px}.setup{width:min(650px,100%);margin:30px auto;background:#fff5dbf5;border:7px solid #d29f66;border-radius:30px;box-shadow:0 20px 70px #35211166;padding:26px 35px;text-align:center;position:relative}.setup h1{font-size:37px;line-height:1.15;margin:10px 0;color:#5d8064}.kicker{letter-spacing:2px;font-weight:1000;font-size:11px;color:#a37c49}.setup p{line-height:1.6}.mini-bear{width:125px;position:absolute;left:-90px;bottom:-10px;filter:drop-shadow(0 8px 10px #0003)}.print-preview{display:flex;gap:15px;justify-content:center;margin:20px 0}.paper{background:white;box-shadow:2px 5px 10px #76522e22;border:1px solid #dfd4bc;padding:10px;width:150px;height:170px;transform:rotate(-4deg);font-size:11px}.paper+div{transform:rotate(4deg)}.paper img{height:120px;width:100%;object-fit:contain}.paper strong{display:block;font-size:54px;color:#b6a48b;letter-spacing:8px;line-height:1.6}.primary{background:#5b9874;color:#fffdf0;box-shadow:0 5px 0 #3f6d50;font-size:17px}.pink{background:#c97886;box-shadow:0 5px 0 #915d64;color:white}.checks{display:flex;flex-direction:column;align-items:flex-start;gap:13px;margin:22px auto;max-width:390px;text-align:left;font-size:14px}.checks label{display:flex;gap:10px;align-items:center}.checks input{width:23px;height:23px;accent-color:#5b9874}.setup .footnote{font-size:11px;color:#927d66}.welcome-space{min-height:690px;position:relative;display:flex;align-items:center;justify-content:center;padding-left:28%}.welcome-card{max-width:600px;padding:40px;background:#fff8e6f2;border:7px solid #dbb784;border-radius:35px;box-shadow:0 18px 40px #54371d44;text-align:center;transform:rotate(1deg)}.welcome-card h1{font-size:48px;color:#467e65;line-height:1.1;margin:12px 0 20px}.welcome-card p{font-size:20px;line-height:1.5}.buddy{position:absolute;left:0;bottom:30px;width:32%;max-width:390px;filter:drop-shadow(0 15px 8px #3a261d55);animation:breathe 5s ease-in-out infinite;transform-origin:bottom}.buddy img{width:100%;display:block}.buddy.speaking{animation:speak 1.4s ease-in-out infinite}.name-tag{position:absolute;bottom:2%;left:35%;background:#f7d997;padding:5px 20px;border-radius:20px;border:3px solid #c08e55;font-size:16px;font-weight:1000}.room-nav{display:flex;gap:8px;justify-content:center;flex-wrap:wrap;margin-bottom:18px}.room-nav button{font-size:14px;background:#ffefcfe8}.room-nav button.active{background:#7aab88;color:white}.story-space{position:relative;padding:0 0 0 16%;min-height:650px}.story-space .buddy{width:23%;left:-3%;bottom:10px;z-index:3}.book{display:grid;grid-template-columns:1.05fr 1fr;position:relative;background:#fff4d8;border:9px solid #a77344;border-radius:22px 30px 30px 22px;box-shadow:0 10px 0 #75482d,0 22px 35px #3a271d66;min-height:480px;overflow:hidden}.book:after{content:'';position:absolute;left:51%;top:0;bottom:0;width:22px;background:linear-gradient(90deg,#7e572033,transparent);pointer-events:none}.picture{background-image:url('story-cozy.png');background-size:300% 100%;background-position:0% center;min-height:440px;position:relative}.picture.pic1{background-position:50% center}.picture.pic2{background-position:100% center}.picture.pic3{background-position:50% center}.picture .verse-glow{position:absolute;inset:0;background:radial-gradient(circle,#fff5b133,transparent);animation:glow 5s infinite}.page-text{padding:45px 35px 30px;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center;background:linear-gradient(90deg,#f3e3bf,#fff9e9 12%)}.page-text h1{font-size:39px;line-height:1.2;color:#5a6248;margin:12px 0 20px}.page-text p{font-size:22px;line-height:1.5}.page-text .verse{font-size:44px;color:#b68138;line-height:1.2}.page-text small{font-size:13px;color:#9e825a}.book-controls{display:flex;justify-content:center;align-items:center;gap:15px;margin:23px 0 12px}.dots{display:flex;gap:8px}.dots i{width:10px;height:10px;background:#fff4cc99;border-radius:50%}.dots i.on{background:#d59253;box-shadow:0 0 0 3px #fff4d8}.caption{background:#fff8e4ed;border-radius:15px;padding:10px 18px;text-align:center;max-width:740px;margin:15px auto;color:#70543c;font-size:14px}.play-space{background:#fff0d4f2;border:7px solid #c99c69;border-radius:30px;padding:25px;box-shadow:0 15px 35px #38231855}.play-title{text-align:center;margin-bottom:20px}.play-title h1{margin:5px;font-size:31px;color:#547b5b}.play-title p{margin:8px}.games{display:grid;grid-template-columns:1fr 1fr;gap:18px}.game{background:#fffaf0;border:3px solid #e3c893;border-radius:24px;padding:20px;text-align:center;overflow:hidden}.game h2{font-size:21px;margin:0 0 10px;color:#77513c}.game p{font-size:14px;line-height:1.5}.lanterns{display:flex;justify-content:center;gap:18px;margin:20px 0}.lantern-btn{background:transparent;box-shadow:none;padding:5px;min-width:65px}.lantern{display:block;width:55px;height:72px;border:6px solid #9b743e;border-radius:14px;background:#807568;position:relative;box-shadow:inset 0 0 0 3px #cca96d}.lantern:before{content:'';position:absolute;width:27px;height:22px;border:5px solid #9b743e;border-radius:50% 50% 0 0;top:-27px;left:8px}.lit .lantern{background:#ffed99;box-shadow:0 0 25px #edc85d,inset 0 0 15px #fff}.letters{display:flex;justify-content:center;gap:12px;margin-top:18px}.letters button{font-size:50px;background:#e4efd4;width:80px;color:#508576;box-shadow:0 5px 0 #b3c7a3}.letters button.correct{background:#f9dc8f}.game.wide{grid-column:span 2}.reveal{position:relative;width:100%;height:230px;overflow:hidden;border-radius:15px;background:url('story-cozy.png') 0% center/300% 100%;--light:50%}.reveal .bright{position:absolute;inset:0;background:url('story-cozy.png') 50% center/300% 100%;clip-path:inset(0 calc(100% - var(--light)) 0 0)}input[type=range]{width:85%;accent-color:#d59b44;min-height:44px}.feedback{min-height:25px;margin-top:10px;font-weight:900;color:#628655}.activities-footer{display:flex;justify-content:space-between;gap:15px;align-items:center;margin-top:20px}.small-benny{height:100px;width:auto}.thank-options{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}.thank-options button{background:#f5dda7}.retell{font-size:11px!important;color:#987c5b}.heart{font-size:75px;color:#c77e84;margin:0}dialog{max-width:560px;width:90%;border:5px solid #d4b583;background:#fff6e5;color:#624a38;border-radius:25px;padding:25px}dialog p{line-height:1.6;font-size:14px}dialog::backdrop{background:#36231c99}.close{float:right}#voiceStatus{position:fixed;bottom:10px;left:50%;transform:translateX(-50%);background:#fff5df;color:#6c4f39;border-radius:12px;z-index:20;font-size:13px}#voiceStatus:not(:empty){padding:10px}.print-sheet{display:none}@keyframes breathe{50%{transform:rotate(1deg) translateY(-5px)}}@keyframes speak{50%{transform:rotate(-1.5deg) translateY(-8px)}}@keyframes glow{50%{background-color:#fff4c51f}}.book.turn{animation:turn .4s ease}@keyframes turn{0%{transform:perspective(1500px) rotateY(-5deg);opacity:.7}100%{transform:rotateY(0);opacity:1}}@media(max-width:800px){header{padding:12px 3%}.brand{font-size:22px;padding:12px}.tools button{font-size:11px;padding:10px}.brand small{font-size:7px}.setup{margin:25px auto;padding:25px 18px}.mini-bear{display:none}.welcome-space{min-height:650px;padding:0 0 160px;align-items:flex-start}.welcome-card{padding:25px;margin-top:20px}.welcome-card h1{font-size:35px}.welcome-card p{font-size:17px}.buddy{width:170px;left:calc(50% - 85px);bottom:0}.story-space{padding:0;min-height:0}.story-space .buddy{width:120px;left:-10px;bottom:-40px}.book{grid-template-columns:1fr 1fr;min-height:390px;border-width:6px}.picture{min-height:390px}.page-text{padding:20px 14px}.page-text h1{font-size:27px}.page-text p{font-size:17px}.page-text .verse{font-size:32px}.book-controls{gap:8px;margin-left:65px}.book-controls button{padding:12px}.room-nav button{font-size:12px;padding:10px 13px}.caption{margin-left:100px;font-size:12px}.games{grid-template-columns:1fr}.game.wide{grid-column:auto}.play-space{padding:16px}.activities-footer{flex-wrap:wrap}.setup h1{font-size:30px}}@media(max-width:480px){.book{grid-template-columns:1fr}.book:after{display:none}.picture{min-height:230px}.page-text{min-height:210px}.page-text h1{font-size:28px;margin:6px}.page-text p{margin:8px}.story-space .buddy{width:95px;bottom:-10px}.book-controls{margin-left:65px}.dots{gap:4px}.dots i{width:7px;height:7px}.room-nav{gap:5px}.room-nav button{padding:9px;font-size:11px}.print-preview .paper{width:125px}.welcome-card{margin-top:0}.tools{gap:4px}.tools button{padding:9px}}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}@media print{@page{size:letter;margin:12mm}body{background:white}body>*{display:none!important}.print-sheet{display:block!important;background:white;color:#000;font-family:Arial}.print-sheet section{break-after:page;padding:5mm}.print-sheet section:last-child{break-after:auto}.print-sheet h1{font-size:26px}.print-sheet img{width:100%;height:170mm;object-fit:contain}.trace{font-size:90px;color:#aaa;letter-spacing:20px;border-bottom:2px dashed #bbb;margin:25px 0}.draw-box{height:90mm;border:2px solid #aaa;border-radius:15px}}
[hidden]{display:none!important}.activity-number{font-size:10px;letter-spacing:2px;color:#9b7748;font-weight:900;display:block;margin:0 0 12px}.progress-pill{display:inline-block;border-radius:30px;padding:8px 20px;background:#e3ead3;color:#47735a;font-weight:900}.big-l{font-size:90px;color:#508576;line-height:1.2}.big-l span{font-size:24px;display:block}.count-label{display:block;min-height:24px;margin-top:9px;font-size:24px;color:#568467}.torch-scene{background:#1d2933;border-radius:20px;padding:20px;margin:20px auto;max-width:500px;color:#e3dfd2;transition:background .8s}.hidden-toy{font-size:100px;filter:brightness(.04);transition:filter .8s}.torch-scene.on{background:radial-gradient(ellipse,#ffeec0,#bc9862)}.torch-scene.on .hidden-toy{filter:brightness(1)}.torch-scene.on span{color:#59432f}.sequence-example,.sequence-choices{display:flex;gap:20px;justify-content:center;align-items:center;margin:20px 0}.sequence-example span{background:#e8eadb;border-radius:18px;padding:15px 30px}.sequence-choices button{width:42%;max-width:250px;padding:8px;font-size:22px}.seq-pic{display:block;height:140px;border-radius:14px;background:url('story-cozy.png') 0% center/300% 100%;margin-bottom:8px}.seq-pic.pic-light{background-position:50% center}.read-together{font-size:13px;margin-top:20px;color:#6d805d}.arrival{height:calc(100svh - 130px);min-height:620px;position:relative;isolation:isolate;border-radius:32px;overflow:hidden;background:#153f3d;box-shadow:0 25px 80px #1d2c2980}.arrival video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-3}.arrival-shade{position:absolute;inset:0;background:linear-gradient(90deg,#103e3de8 0%,#103e3dba 26%,#103e3d00 65%),linear-gradient(0deg,#102c2a99,transparent 30%);z-index:-2}.arrival-copy{color:#fff7e5;padding:7% 5%;max-width:650px}.eyebrow{letter-spacing:4px;font-size:12px;color:#f8d997;font-weight:900}.personal{font-size:12px!important;opacity:.85;margin:15px 0!important}.arrival h1{font-size:clamp(42px,5vw,72px);letter-spacing:-2px;line-height:1.05;font-weight:900;margin:25px 0}.arrival-copy p{font-size:19px;line-height:1.6}.start-adventure{background:#f6d38a;color:#254e46;padding:18px 25px;min-width:240px;border-radius:22px;font-size:20px;margin:12px 0 16px;box-shadow:0 5px 0 #b68c46}.start-adventure span{padding-left:30px}.arrival-copy small{display:block;font-size:12px;color:#f6dfa9}.arrival-bottom{position:absolute;bottom:24px;left:5%;display:flex;gap:24px;color:#fff4d9;font-size:12px;font-weight:800}.motion-control{position:absolute;right:24px;bottom:20px;font-size:11px;min-height:36px;padding:8px 13px;background:#fff4dfd9}@media(max-width:800px){.arrival{min-height:760px;height:calc(100svh - 130px)}.arrival video{object-position:65% center}.arrival-shade{background:linear-gradient(180deg,#123f3de0,transparent 55%,#123f3dd9)}.arrival-copy{padding:30px;max-width:100%}.arrival h1{font-size:45px;line-height:1.05;margin:20px 0}.arrival-copy p{font-size:15px}.arrival-bottom{bottom:70px;gap:12px;font-size:10px;left:20px}.motion-control{right:20px}.arrival-copy .personal{font-size:10px!important}.start-adventure{font-size:17px;min-width:210px}.arrival-copy small{font-size:11px}}@media(max-width:480px){.arrival{min-height:750px}.arrival video{object-fit:cover;object-position:63% bottom}.arrival-copy{padding:25px}.arrival h1{font-size:42px}.arrival-shade{background:linear-gradient(180deg,#123f3df0 0%,#123f3d99 35%,transparent 65%,#123f3dbb)}.arrival-bottom{flex-wrap:wrap;max-width:230px;gap:8px 15px}}
.hidden-toy img{height:145px;width:130px;object-fit:contain}.torch-scene:not(.on) .hidden-toy{opacity:.07}.torch-scene.on .hidden-toy{opacity:1}.hidden-toy{transition:filter .8s,opacity .8s}
@media(max-width:600px){.arrival video{top:auto;bottom:80px;height:auto;aspect-ratio:16/9;object-fit:contain;object-position:center}.arrival-shade{background:linear-gradient(180deg,#123f3d 0%,#123f3df5 45%,transparent 65%,transparent 82%,#123f3d 95%)}.arrival{min-height:790px}.arrival-copy{padding:28px}.arrival-copy h1{font-size:44px}.arrival-bottom{bottom:25px;max-width:210px}.motion-control{bottom:24px;right:12px;font-size:10px;padding:8px}.arrival-copy .personal{max-width:240px}}
.storybook-title{font-family:Georgia,'Times New Roman',serif!important;color:#ffedb6;text-shadow:0 3px 0 #7e6428,0 7px 22px #0b242d99;letter-spacing:-2px!important;font-size:clamp(44px,5.5vw,78px)!important;line-height:1.03!important}.storybook-title span{display:block;font-family:Nunito,sans-serif;font-size:.44em;letter-spacing:2px;margin-bottom:15px;color:#fff8df;text-shadow:none}.storybook-title em{display:block;font-size:.72em;font-style:normal;font-weight:500;letter-spacing:3px;margin-top:10px}.ready-link{display:block;margin-top:15px;background:#fff1ce;color:#365d50;font-size:13px}.arrival-copy{max-width:700px}.start-adventure{font-size:17px}.start-adventure span{padding-left:12px}.setup-benny{position:absolute;left:-125px;bottom:30px;width:190px;height:230px}.setup-benny .buddy{width:100%;left:0;bottom:0}.activity-guide{position:sticky;top:12px;float:right;width:170px;margin-right:-10px;z-index:5;background:#fffae9e8;border-radius:24px;padding:12px;box-shadow:0 5px 15px #573b2a33}.activity-guide .buddy{position:relative;width:130px;left:0;bottom:0}.activity-guide button{font-size:11px;padding:8px;min-height:36px}.activity-guide .caption{display:none}.games{clear:both}.activity-guide+.games{clear:none;padding-right:180px}.benny-mouth{position:absolute;left:48%;top:42.7%;width:14%;height:7.2%;background:radial-gradient(ellipse at 50% 20%,#f4d9a0 20%,#e8c68a 75%);border-radius:40% 40% 48% 48%;opacity:calc(1 - var(--talk,0));transform:rotate(10deg);pointer-events:none}.benny-mouth:after{content:'';position:absolute;left:13%;right:13%;top:18%;height:35%;border-bottom:2px solid #653b23;border-radius:0 0 50% 50%}.buddy{--talk:0}.buddy.speaking{animation:breathe 3s ease-in-out infinite}.book{overflow:visible;border:10px solid #936039;box-shadow:0 5px 0 #e6d8b6,0 9px 0 #b09a70,0 13px 0 #f2e4bd,0 18px 0 #764625,0 30px 45px #30221677;transform:perspective(1600px) rotateX(3deg);isolation:isolate}.picture{border-radius:12px 0 0 12px;border:12px solid #f3e4c0;box-shadow:inset 0 0 35px #281d4066;overflow:hidden}.picture:after{content:'';position:absolute;inset:0;box-shadow:inset 0 0 20px #2a233e88,inset 0 -22px 35px #15192e55;border:2px solid #ba945966;border-radius:3px;pointer-events:none}.page-text{border-radius:0 16px 16px 0;background:linear-gradient(90deg,#bca777 0%,#e3d2a9 3%,#fff6df 12%,#fffaf0 85%,#ead9b5 100%)}.book:after{left:51%;width:35px;background:linear-gradient(90deg,#4b321756,#7b592533 30%,transparent)}.book.turn{animation:paperTurn .75s ease both;transform-origin:50% 60%}.picture .verse-glow{background:radial-gradient(ellipse at 50% 50%,#fff3b54d,transparent 60%);mix-blend-mode:screen}.reading-tools{display:flex;align-items:center;justify-content:center;gap:20px;flex-wrap:wrap;background:#fff4dded;padding:10px;border-radius:18px;margin-top:22px;font-size:13px}.reading-tools label{display:flex;align-items:center;gap:8px}.reading-tools input{width:22px;height:22px;accent-color:#5a8765}.hear-instruction{font-size:12px;min-height:36px;background:#e7f0db;padding:8px 14px;margin:0 0 10px}.page-text button{margin-top:18px;font-size:13px}.book-controls{margin-top:36px}@keyframes paperTurn{0%{transform:perspective(1600px) rotateY(-8deg) rotateX(3deg);filter:brightness(.85)}100%{transform:perspective(1600px) rotateY(0deg) rotateX(3deg);filter:brightness(1)}}@media(max-width:1000px){.activity-guide+.games{padding-right:0;clear:both}.activity-guide{float:none;position:relative;top:0;width:100%;display:flex;align-items:center;justify-content:center;margin:0 0 20px}.activity-guide .buddy{width:95px}.activity-guide .caption{display:block;max-width:400px;margin:0;font-size:12px}.activity-guide .name-tag{display:none}}@media(max-width:800px){.setup-benny{position:relative;left:auto;bottom:auto;width:120px;height:140px;margin:10px auto}.reading-tools{margin-left:70px;gap:10px}.storybook-title{font-size:48px!important}.picture{border-width:7px}}@media(prefers-reduced-motion:reduce){.book.turn{animation:none}.buddy{animation:none}}
/* Focused lesson room */
body{min-height:100svh}header{height:76px;padding:8px 3%;max-width:1300px}.brand{font-size:22px}.brand small{font-size:7px}main{max-width:1150px;padding:5px 20px 16px}.lesson-view{height:calc(100svh - 97px);min-height:530px;display:grid;grid-template-rows:auto minmax(0,1fr) auto auto;background:#fff7e9f5;border:5px solid #d5b47d;border-radius:28px;padding:16px 24px 12px;box-shadow:0 14px 45px #40271e55;overflow:hidden}.lesson-heading{text-align:center}.lesson-heading>span{font-size:10px;font-weight:900;letter-spacing:2px;color:#9c7245}.lesson-heading h1{font-family:Georgia,serif;font-size:clamp(25px,3.2vw,42px);margin:7px 0 12px;color:#426f58}.lesson-content{min-height:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px}.lesson-content>p{margin:4px}.guide-row{display:flex;align-items:center;justify-content:center;gap:12px;min-height:95px;border-top:1px solid #d9c8a6;margin-top:12px;padding-top:8px}.guide-bear{width:86px;position:relative;flex-shrink:0;align-self:end;filter:drop-shadow(0 3px 3px #603e2822);animation:bear-idle 5s ease-in-out infinite}.guide-bear img{display:block;width:100%}.guide-bear span{display:block;background:#e5cc90;border-radius:12px;text-align:center;font-size:11px;margin-top:-7px;position:relative}.guide-row>div:last-child{max-width:650px}.guide-row .caption{margin:0 0 5px;padding:0;background:none;text-align:left;font-size:12px;line-height:1.45;max-height:56px;overflow:auto}.guide-row button{min-height:32px;font-size:11px;padding:6px 11px;margin-right:5px;background:#e5ecd6;box-shadow:none}.narrating .guide-bear{animation:bear-listen 2s ease-in-out infinite}.lesson-footer{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:10px}.lesson-footer>span{font-size:11px;color:#927350}.lesson-footer button{padding:10px 18px;min-height:43px;font-size:13px}.lesson-footer .primary{font-size:14px}.storybook{width:100%;height:100%;max-height:480px;display:grid;grid-template-columns:1.3fr 1fr;border:7px solid #9a693f;border-radius:14px;background:#fff7e3;box-shadow:0 4px #e5d9bd,0 8px #bda476,0 12px #765036,0 16px 22px #55412433;overflow:hidden;animation:page-arrive .5s ease}.story-picture{min-height:0;background:url('story-cozy.png') 0% center/300% 100%;border:8px solid #f3e3bf;box-shadow:inset 0 0 25px #1b1c3b55}.story-picture.pic1{background-position:50% center}.story-picture.pic2{background-position:100% center}.story-words{display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:20px;background:linear-gradient(90deg,#d8c297,#fff7e6 10%,#fff9ed 92%,#ebdcbc)}.story-words p{font-family:Georgia,serif;font-size:clamp(21px,2.6vw,34px);line-height:1.5;color:#635640}.story-words small{font-size:10px;color:#997a53}.story-controls{display:flex;gap:15px;align-items:center;justify-content:center;flex-shrink:0;font-size:11px;margin-top:8px}.story-controls button{min-height:32px;padding:6px 12px;font-size:11px}.story-controls label{display:flex;align-items:center;gap:5px}.story-controls input{width:20px;height:20px;accent-color:#5b9874}.prayer-scene{height:75%;min-height:120px;position:relative;overflow:hidden;border-radius:20px;width:min(640px,100%)}.prayer-scene img{width:100%;height:100%;object-fit:cover}.prayer-scene p{position:absolute;bottom:0;margin:0;padding:15px;background:linear-gradient(transparent,#143d34ee);width:100%;color:#fff7d7;text-align:center;font-family:Georgia,serif;font-size:23px}.path-world{position:relative;width:100%;max-width:840px;height:78%;min-height:190px;border-radius:24px;overflow:hidden;background:radial-gradient(ellipse at 80% 20%,#537078,#223d48 65%);box-shadow:inset 0 0 35px #132f36}.path-track{position:absolute;bottom:19%;height:17%;width:100%;background:#73816e;border-radius:50%;transform:rotate(-6deg);box-shadow:0 8px 0 #4c685b}.reading-nook{position:absolute;right:4%;bottom:31%;font-size:55px;color:#f7dfa2;text-align:center;text-shadow:0 0 22px #fce9a7}.reading-nook span{display:block;font-size:12px;color:white}#walkingBenny{position:absolute;width:16%;max-width:100px;left:0%;bottom:25%;z-index:2;filter:brightness(.65);transition:left 4s ease-in-out,filter 2s}#walkingBenny.walking{left:76%;filter:brightness(1);animation:bear-walk .4s ease-in-out 10}.path-lights{position:absolute;left:6%;right:6%;bottom:5%;display:flex;justify-content:space-between;gap:5px}.path-lantern{padding:8px 4px 0;background:none;box-shadow:none;width:15%;color:#fff7d3;position:relative;z-index:3}.path-lantern i{display:block;width:38px;height:49px;border:5px solid #d6b070;border-radius:10px;background:#4c5855;margin:auto;position:relative}.path-lantern i:before{content:'';position:absolute;top:-18px;left:6px;width:16px;height:15px;border:4px solid #d6b070;border-radius:50%}.path-lantern.lit i{background:#fff1a1;box-shadow:0 0 28px 15px #ffe08388,0 -50px 80px 35px #ffe49c66}.path-lantern b{display:block;margin-top:6px;font-size:17px}.feedback{font-size:14px;text-align:center;min-height:20px}.word-progress{display:flex;gap:8px;justify-content:center;flex-shrink:0}.word-progress span{font-size:25px;color:#b8ad93;border-bottom:3px solid #e2d3b4;padding:0 7px}.word-progress .current{color:#548575;border-color:#548575}.word-progress .done{color:#bc8d32}#tracePad{height:calc(100% - 95px);max-height:340px;min-height:130px;width:100%;background:#fffdf5;border:2px solid #e4d7bc;border-radius:22px;touch-action:none;user-select:none}.trace-guide{fill:none;stroke:#e1e9d7;stroke-width:43;stroke-linejoin:round;stroke-linecap:round}.trace-dashes{fill:none;stroke:#98b7a1;stroke-width:3;stroke-dasharray:5 8}.trace-ink{fill:none;stroke:#699d83;stroke-width:16;stroke-linecap:round;stroke-linejoin:round;pointer-events:none}.start-dot{fill:#e3ab49;stroke:#fff5cf;stroke-width:4;pointer-events:none}.show-stroke .trace-dashes{stroke:#c68b37;stroke-width:9;stroke-dasharray:12 14;animation:trace-demo 2s linear 3}.trace-tools{display:flex;gap:7px;flex-shrink:0}.trace-tools button{font-size:12px;padding:8px 12px;min-height:38px}.torch-scene{height:65%;max-height:300px;min-height:130px;margin:0;width:90%;display:flex;flex-direction:column;align-items:center;justify-content:center}.torch-scene img{height:80%;max-height:190px;filter:brightness(.03);opacity:.1;transition:filter .7s,opacity .7s}.torch-scene.on img{filter:brightness(1);opacity:1}.torch-scene>span{font-size:13px}.choice-row{display:flex;gap:8px;justify-content:center;flex-wrap:wrap}.choice-row button{font-size:14px;min-height:44px}.sequence-choices{width:100%;height:75%;margin:0;align-items:stretch}.sequence-choices button{max-width:360px;font-size:22px;display:flex;flex-direction:column;gap:10px;align-items:center;justify-content:center}.seq-pic{width:100%;height:80%;min-height:100px}.verse-scene{text-align:center;background:radial-gradient(ellipse,#fff0b2,#f5e8cc);border-radius:50%;padding:20px 45px;max-height:100%}.verse-scene p{margin:6px}.light-hands{font-size:clamp(40px,8vh,85px);color:#d0a045;animation:soft-glow 4s infinite}.verse-scene h2{font-size:22px;margin:8px}.hands-cards{display:flex;gap:12px;max-width:850px}.hands-cards>div{flex:1;background:#e6edd8;border-radius:20px;padding:20px}.hands-cards>div:nth-child(2){background:#f3dfba}.hands-cards>div:nth-child(3){background:#e2e9eb}.hands-cards p{font-size:14px;line-height:1.6}.break-note{text-align:center;font-size:13px}.gratitude-scene{position:relative;height:65%;width:min(560px,100%);overflow:hidden;border-radius:20px}.gratitude-scene img{width:100%;height:100%;object-fit:cover}.gratitude-scene p{position:absolute;bottom:0;background:#fff6d9e8;padding:8px;text-align:center;width:100%;margin:0;font-weight:900}.closing-card{text-align:center;border-radius:24px;padding:20px;background:#eee8d6;width:100%;max-width:650px;max-height:100%;overflow:auto}.closing-card>p{font-size:20px;line-height:1.5}.closing-card>p:last-of-type{font-size:14px}.closing-card h2{color:#507a60;font-family:Georgia,serif;font-size:32px}.closing-card button{font-size:13px;margin:5px}.prepare{background:#fff8e6f5;border:5px solid #dab57c;border-radius:28px;padding:22px;max-width:720px;margin:auto;text-align:center}.prepare h1{font-family:Georgia,serif;color:#52765a;margin:8px}.prepare>p{font-size:14px;line-height:1.5}.prepare-grid{display:flex;align-items:center;justify-content:center;gap:20px;text-align:left;margin:18px auto;max-width:470px}.prepare-grid>img{width:100px;height:140px;object-fit:contain;background:white;box-shadow:0 5px 15px #563d3022;transform:rotate(-4deg)}.prepare-grid p{font-size:14px;line-height:1.5}.prepare-grid small{font-size:10px}.prepare .guide-row{margin-top:15px}.welcome-cover{height:calc(100svh - 97px);min-height:530px;border:5px solid #d9b375;border-radius:28px;overflow:hidden;background:#153e35;position:relative;display:grid;grid-template-columns:45% 55%;grid-template-rows:1fr auto;box-shadow:0 20px 50px #2d241f66;isolation:isolate}.cover-art{grid-column:2;grid-row:1/3;overflow:hidden;position:relative}.cover-art video{width:100%;height:100%;object-fit:cover;object-position:65% center;display:block}.cover-art:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#153e35,transparent 25%);pointer-events:none}.cover-title{grid-column:1;grid-row:1;color:#fff0c3;text-align:center;align-self:center;padding:20px 5px 0 20px}.cover-title>span{font-size:22px;color:#f6dc9e;letter-spacing:1px}.cover-title h1{font-family:Georgia,serif;font-size:clamp(38px,5.5vw,70px);line-height:1.02;margin:12px 0 20px;text-shadow:0 3px #7e652b,0 9px 15px #092f2a}.cover-title h1 em{font-size:.7em;font-style:normal;letter-spacing:2px}.cover-title p{font-size:13px;line-height:1.7;color:#e3e8d0}.cover-actions{grid-column:1;grid-row:2;padding:10px 15px 30px 25px;display:flex;flex-direction:column;gap:9px;align-items:center;text-align:center}.cover-actions button{min-height:42px;font-size:14px;padding:10px 18px}.cover-actions .primary{background:#efd18a;color:#244f42;box-shadow:0 4px #a38140}.cover-actions small{color:#e1d4af;font-size:10px}.cover-actions .caption{font-size:11px;max-height:55px;overflow:auto;padding:0;background:transparent;color:#e9e8d5;margin:0}.cover-sparkles{position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at 30% 30%,#fff1a588 0 2px,transparent 4px),radial-gradient(circle at 70% 60%,#ffe59077 0 2px,transparent 4px);animation:soft-glow 4s infinite}.benny-mouth{display:none!important}@keyframes bear-idle{50%{transform:translateY(-2px) rotate(1deg)}}@keyframes bear-listen{50%{transform:translateY(-3px) rotate(-1deg)}}@keyframes bear-walk{50%{transform:translateY(-7px) rotate(2deg)}}@keyframes page-arrive{from{opacity:.6;transform:perspective(1000px) rotateY(-4deg)}to{opacity:1;transform:none}}@keyframes trace-demo{to{stroke-dashoffset:-104}}@keyframes soft-glow{50%{opacity:.6}}
@media(max-width:650px){header{height:64px;padding:6px 10px;gap:6px}.brand{font-size:17px;padding:9px}.tools button{padding:8px;font-size:10px;min-height:39px}main{padding:0 8px 8px}.lesson-view{height:calc(100svh - 73px);min-height:480px;border-width:3px;border-radius:21px;padding:11px 12px 9px}.lesson-heading h1{font-size:26px;margin:5px 0 10px}.lesson-heading>span{font-size:9px;letter-spacing:1.2px}.guide-row{min-height:78px;gap:7px;margin-top:9px;padding-top:5px}.guide-bear{width:62px}.guide-row .caption{font-size:10px;line-height:1.35;max-height:43px}.guide-row button{font-size:10px;padding:5px 8px;min-height:30px}.lesson-footer{margin-top:8px}.lesson-footer button{font-size:11px;padding:9px 12px}.lesson-footer .primary{font-size:12px}.lesson-footer>span{font-size:9px}.storybook{grid-template-columns:1fr;grid-template-rows:65% 35%;border-width:5px;border-radius:12px}.story-picture{border-width:4px}.story-words{padding:5px}.story-words p{font-size:21px;line-height:1.2;margin:4px}.story-words small{font-size:8px}.story-controls{font-size:10px;gap:12px;margin-top:5px}.prayer-scene p{font-size:18px}.path-lantern i{width:30px;height:41px;border-width:4px}.path-lantern i:before{left:4px}.path-lantern b{font-size:15px}.feedback{font-size:12px;margin-top:4px}.word-progress span{font-size:22px}.trace-tools button{font-size:10px;min-height:33px;padding:6px 10px}.lesson-content{gap:7px}.torch-scene{width:100%}.choice-row button{padding:9px 12px;font-size:12px}.sequence-choices{gap:12px}.sequence-choices button{font-size:18px}.hands-cards{flex-direction:column;gap:7px;width:100%}.hands-cards>div{padding:10px 14px}.hands-cards b{font-size:13px}.hands-cards p{font-size:11px;margin:4px 0;line-height:1.3}.hands-cards br{display:none}.break-note{font-size:11px}.closing-card{padding:14px}.closing-card>p{font-size:18px}.closing-card h2{font-size:27px}.closing-card>p:last-of-type{font-size:12px}.welcome-cover{height:calc(100svh - 73px);min-height:480px;grid-template-columns:1fr;grid-template-rows:auto minmax(100px,1fr) auto;border-width:3px;border-radius:23px}.cover-title{grid-row:1;grid-column:1;padding:14px 10px 0}.cover-title>span{font-size:16px}.cover-title h1{font-size:36px;line-height:1;margin:5px 0 4px}.cover-title h1 br{display:none}.cover-title h1 em{display:block;font-size:.6em;margin-top:4px}.cover-title p{font-size:10px;margin:6px 0;line-height:1.4}.cover-title p br{display:none}.cover-art{grid-row:2;grid-column:1}.cover-art video{object-fit:cover;object-position:center 58%}.cover-art:after{background:linear-gradient(#153e35,transparent 15%,transparent 85%,#153e35)}.cover-actions{grid-row:3;grid-column:1;padding:7px 12px 13px;gap:6px}.cover-actions button{min-height:38px;padding:8px 16px;font-size:12px}.cover-actions .caption{max-height:32px;font-size:9px}.cover-actions small{font-size:9px}.prepare{padding:16px;border-width:3px}.prepare h1{font-size:27px}.prepare-grid{gap:12px;margin:12px auto}.prepare-grid>img{width:80px;height:100px}.prepare-grid p{font-size:12px}.prepare .checks{font-size:12px;gap:9px}.prepare .guide-row .caption{max-height:65px}}
@media(max-height:650px) and (min-width:651px){.lesson-view,.welcome-cover{min-height:480px}.guide-row{min-height:70px}.guide-bear{width:65px}.lesson-heading h1{font-size:25px}.cover-title h1{font-size:42px}.cover-title p{font-size:11px}.cover-actions{padding-bottom:15px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}@media print{.trace{font-size:65px;letter-spacing:12px}}

@media(max-width:650px){.cover-art video{object-position:78% center}.cover-art{max-height:310px;align-self:center;width:100%;height:100%}.welcome-cover{grid-template-rows:auto minmax(100px,1fr) auto}}

.path-world{background:linear-gradient(#193541aa,#163d44c9),url('room.png') center/cover}.reading-nook i{display:block;width:62px;height:45px;background:linear-gradient(90deg,#d4c39e,#fff6d8 45%,#8b7248 49%,#fff4cf 53%,#e2cf9e);border:4px solid #956d44;border-radius:5px 12px 12px 5px;transform:perspective(200px) rotateX(20deg);box-shadow:0 4px #b5a076,0 8px #765235,0 0 25px #ffe89977;margin-bottom:10px}.path-track{background:#b99f75}.guide-row{justify-content:flex-start}.guide-row>div:last-child{flex:1}.cover-actions .caption:empty{display:none}

/* Benny's prayer performance and gentle activity reactions. */
.prayer-player{position:relative;background:#fff9ed;border-radius:24px;overflow:hidden;width:100%;height:100%;min-height:120px;margin:auto}
.prayer-player>img,.prayer-player>video{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}
.prayer-player .prayer-idle{padding:8px}.prayer-player .prayer-rest,.prayer-player video{visibility:hidden}
.prayer-player.performing video,.prayer-player.resting .prayer-rest{visibility:visible}
.prayer-player.performing .prayer-idle,.prayer-player.resting .prayer-idle{visibility:hidden}
.prayer-scene{max-width:500px;height:85%;background:#fff9ed;display:flex;flex-direction:column}
.prayer-scene .prayer-player{flex:1;min-height:0;border-radius:20px 20px 0 0}
.prayer-scene p{position:static;flex-shrink:0;background:#e6eddd;color:#476451;font-size:19px;padding:8px;line-height:1.3}
.closing-card .prayer-player{height:170px;max-width:260px}.closing-card>p{margin:8px 0}.closing-card h2{margin:8px 0}
body[data-reaction="celebrate"].narrating .guide-bear{animation:bear-cheer .75s ease-in-out 2}
.path-lantern.lit i{animation:lantern-warmth .7s ease-out}
.choice-row button:active,.sequence-choices button:active{transform:scale(.96)}
@keyframes bear-cheer{0%,100%{transform:translateY(0) rotate(0)}35%{transform:translateY(-7px) rotate(-4deg)}70%{transform:translateY(-3px) rotate(3deg)}}
@keyframes lantern-warmth{from{filter:brightness(1.7);transform:scale(.9)}to{filter:brightness(1);transform:scale(1)}}
@media(max-width:650px){.closing-card .prayer-player{height:clamp(95px,18svh,150px)}.closing-card>p{font-size:16px}.closing-card h2{font-size:22px}.prayer-scene p{font-size:17px}}
@media(prefers-reduced-motion:reduce){.prayer-player video{display:none}.prayer-player.performing .prayer-rest{visibility:visible}}

.lesson-view:has(.prayer-player) .guide-bear{display:none}

.prayer-player.performing,.prayer-player.resting{background:#ddc09e}.closing-card .prayer-player{width:142px;height:170px}
@media(max-width:650px){.closing-card .prayer-player{height:clamp(95px,18svh,150px);width:auto;aspect-ratio:5/6}}

.picture-choices{display:grid;gap:12px;width:100%;max-width:620px;min-height:0}.picture-choices button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;min-width:0;padding:10px;background:#fff9eb;border:3px solid transparent}.picture-choices button[aria-pressed="true"]{border-color:#518966;background:#edf4df;box-shadow:0 0 0 3px #e8c879}.picture-choices button>img,.person-picture,.nature-picture{width:100%;height:100px;object-fit:contain;display:block}.picture-choices span{font-size:13px}.guess-pictures{grid-template-columns:1fr 1fr;max-width:380px}.lesson-content:has(.guess-pictures) .torch-scene{height:45%;min-height:120px}.gratitude-pictures{grid-template-columns:1fr 1fr;flex:1;max-height:390px}.gratitude-pictures button>img,.gratitude-pictures .person-picture,.gratitude-pictures .nature-picture{height:clamp(80px,17svh,145px)}.person-picture{overflow:hidden;border-radius:14px;position:relative;background:#e3d3ae}.person-picture img{position:absolute;width:220%;height:220%;max-width:none;object-fit:cover;left:-113%;top:-20%}.nature-picture{background:url('story-cozy.png') 50% center/300% 100%;border-radius:14px}.spelling-word{display:flex;justify-content:center;align-items:center;gap:clamp(5px,2vw,20px);flex:1;width:100%;padding:30px 5px}.spelling-word span{font-size:clamp(46px,8vw,100px);font-weight:1000;color:#638871;transition:transform .22s,color .22s,text-shadow .22s;display:inline-block}.spelling-word span.spoken{transform:scale(1.3);color:#b77a26;text-shadow:0 0 24px #f5cc6a}.hands-demonstration{position:relative;flex:1;min-height:120px;width:100%;max-width:600px;overflow:hidden;border-radius:24px;background:#ddc09e}.hands-demonstration>img,.hands-demonstration>video{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}.hands-demonstration video[hidden]{display:none}.lesson-view:has(.hands-demonstration) .guide-bear{display:none}.motion-verse{font:24px Georgia,serif;margin:6px 0;text-align:center}.motion-verse small{display:block;font:12px Nunito,sans-serif;margin-top:6px}@media(max-width:650px){.picture-choices{gap:8px}.picture-choices button{padding:7px}.guess-pictures button>img{height:83px}.picture-choices span{font-size:12px}.spelling-word span{font-size:48px}.spelling-word{gap:12px}.motion-verse{font-size:21px}}@media(prefers-reduced-motion:reduce){.spelling-word span.spoken{transform:none;text-decoration:underline}.hands-demonstration video{display:none}}



/* Consistent storybook scenes for every large Benny performance. */
.prayer-player,.prayer-player.performing,.prayer-player.resting,.hands-demonstration{background:#aa794b url('room.png') center/cover no-repeat}
.prayer-player>img,.prayer-player>video,.hands-demonstration>img,.hands-demonstration>video{object-fit:cover}
.prayer-player .prayer-idle{padding:0}
.prayer-player #introFilm{visibility:hidden}
.prayer-player.introducing #introFilm{visibility:visible}
.prayer-player.introducing .prayer-idle{visibility:hidden}
.prayer-player.performing #introFilm,.prayer-player.resting #introFilm{visibility:hidden}
.closing-card .prayer-player{width:100%;max-width:360px;height:190px;aspect-ratio:auto}
.story-picture,.seq-pic,.nature-picture{background-size:304% 100%}
@media(max-width:650px){.closing-card .prayer-player{width:100%;height:clamp(110px,20svh,160px);aspect-ratio:auto}.cover-art video{object-position:58% center}}
@media(prefers-reduced-motion:reduce){.prayer-player.introducing #introFilm{display:none}.prayer-player.introducing .prayer-idle{visibility:visible}}

/* Keep the two printable activities on two Letter pages. */
@media print{.print-sheet section{padding:0;break-inside:avoid}.print-sheet h1{font-size:21px;margin:0 0 5mm}.print-sheet h2{font-size:17px;margin:5mm 0}.print-sheet p{font-size:12px;line-height:1.3;margin:4mm 0}.print-sheet img{height:165mm}.print-sheet .trace{font-size:48px;line-height:1.2;letter-spacing:10px;margin:5mm 0}.print-sheet .draw-box{height:65mm}}

/* Preserve the complete prayer scene on narrow screens. */
.prayer-player>img,.prayer-player>video{object-fit:contain}
.closing-card .prayer-player{aspect-ratio:4/3;width:100%;max-width:320px;height:auto;min-height:0}
.lesson-view:has(.closing-card){height:auto;min-height:calc(100svh - 110px)}
.lesson-view:has(.closing-card) .lesson-content{overflow:visible;flex:none}
.sound-teams{display:flex;justify-content:center;gap:12px;flex-wrap:wrap}.sound-teams b{border-bottom:4px solid #c8a96c;border-radius:9px;padding:8px 14px;background:#f5ebd3;color:#426c55;font-size:25px;letter-spacing:2px}
@media(max-width:650px){.closing-card .prayer-player{height:auto;aspect-ratio:4/3;max-width:280px}.lesson-view:has(.closing-card) .guide-row .caption{max-height:none}.sound-teams b{font-size:20px;padding:6px 10px}}

.story-effects-setting{display:flex;align-items:center;gap:12px;min-height:48px;margin:16px 0;padding:10px 12px;background:#edf0df;border-radius:12px}.story-effects-setting input{width:22px;height:22px;accent-color:#54896b}

@media print{.light-print section{height:auto;max-height:250mm;break-inside:avoid}.light-print section>img{display:block;width:100%;height:190mm;object-fit:contain}.light-print svg{display:block;width:100%;height:35mm;margin:4mm 0}.light-print svg.big-letter{height:70mm}.light-print .draw-box{height:45mm;border:1px solid #777}.light-print h2{margin:4mm 0}}

/* Full-body Runway motion, without a floating cutout or cropped paws. */
.benny-idle-motion{display:block;object-fit:cover;object-position:35% center;border-radius:18px;width:100%;aspect-ratio:1/1}
.guide-bear:has(.benny-idle-motion){animation:none!important}
.continue-panel>.benny-idle-motion{width:120px;flex:0 0 120px;align-self:center}
.movement-nook>video{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:contain;border-radius:24px}
.little-prayer-benny>.benny-idle-motion{width:100%;height:100%;object-fit:contain;background:#eadac0}
.prayer-detail-layout>.prayer-player{width:100%;aspect-ratio:16/9;align-self:start;min-height:0}
@media(max-width:650px){.continue-panel>.benny-idle-motion{width:82px;flex-basis:82px}}
@media(prefers-reduced-motion:reduce){.benny-idle-motion{animation:none}}

.sound-teams b{display:inline-block;transition:transform .18s,color .18s,background .18s}.sound-teams b.spoken{transform:scale(1.16);background:#f3d685;color:#65431d;box-shadow:0 0 0 3px #f3d685}.spelling-word span.spoken{transform:translateY(-6px) scale(1.3)}@media(prefers-reduced-motion:reduce){.sound-teams b,.spelling-word span{transition:none}.sound-teams b.spoken,.spelling-word span.spoken{transform:none;text-decoration:underline}}
