/* Reuses Noah's island palette and approved raster artwork. */
.treasure-party{background:#fff4d9}.game-card.explored{padding-bottom:47px}.adventure-stamp{position:absolute;bottom:8px;right:12px;display:flex;align-items:center;gap:3px;padding:2px 9px;border:2px solid #027357;border-radius:20px;background:#e0f2cb;color:#174b34;font-size:14px;animation:stamp-in .65s cubic-bezier(.15,.8,.3,1.4)}.game-card .adventure-stamp img{width:25px;height:25px;border:0;border-radius:0;object-fit:contain}@keyframes stamp-in{from{transform:scale(1.8) rotate(-15deg);opacity:0}70%{transform:scale(.93) rotate(5deg);opacity:1}to{transform:scale(1) rotate(0)}}
.noun-expedition{display:flex;align-items:center;justify-content:space-around;gap:30px;min-height:190px;margin:12px auto 25px;max-width:530px}.noun-cargo{position:relative;z-index:2;width:34%;max-width:150px;aspect-ratio:1;object-fit:contain;border-radius:18px}.explorer-bag{position:relative;width:40%;max-width:180px}.explorer-bag>img:first-child{width:100%;aspect-ratio:1;object-fit:contain;border-radius:22px}.explorer-bag .bag-sticker{position:absolute;width:29%;height:29%;object-fit:contain;top:41%;left:35%;border-radius:50%;border:3px solid #efbb57;background:#fff4d9}.bag-count{margin:0;font-size:17px}.bag-catch{animation:bag-catch .45s ease-out}@keyframes bag-catch{45%{transform:rotate(6deg) scale(1.08)}}
.garden-progress{font-size:18px;font-weight:600}.prayer-bed{background:#d6e9df}.prayer-gifts button img{border-radius:18px}.prayer-gifts button[aria-pressed=true]{border-color:#2f7454}
.fable-stage .story-copy{margin:20px auto}.scene-dragger{position:absolute;left:42%;top:37%;width:23%;height:32%;min-width:48px;min-height:48px;border:3px dashed #ffc85a;border-radius:30%;background:transparent!important;box-shadow:none;touch-action:none;cursor:grab;padding:0;color:#173f49}.scene-dragger:hover:not(:disabled){transform:none}.scene-dragger span{position:absolute;bottom:-24px;left:50%;transform:translateX(-50%);white-space:nowrap;font-size:15px;background:#fff4d9;border-radius:12px;padding:4px 9px;border:2px solid #173f49}.scene-dragger img{position:absolute;top:-18px;right:-12px;width:38px;height:38px;border-radius:50%;border:2px solid #173f49;background:#fff4d9;object-fit:contain}.wolf-dragger{left:42%;top:35%;width:20%;height:48%}.scene-dragger.dragging{cursor:grabbing;border-style:solid;outline:4px solid #ffffff80}.fable-canvas{overflow:visible;margin-bottom:30px}.fable-canvas canvas{border-radius:19px}.fable-stage .story-copy{font-size:21px}
.week-scene-host{position:relative;width:100%;max-width:760px;margin:15px auto;border-radius:22px;overflow:hidden;border:3px solid #173f49;background:#fff4d9}.week-scene-canvas{display:block;width:100%;height:auto;aspect-ratio:760/420}.sm-host .week-scene-canvas{border-radius:14px}.week-scene-host canvas{touch-action:pan-y}
.match-board{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:50px;max-width:430px;margin:auto;padding:0 15px 18px;border-radius:24px;background:linear-gradient(90deg,#fff0c6 0 38%,#95dce4 38% 62%,#e4f3c0 62%)}.match-bank{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:8px}.match-owner{display:grid;justify-items:center;font-size:20px;margin:8px}.match-owner img{width:64px;height:64px;object-fit:contain;border-radius:50%;background:white}.match-apple{padding:0;min-width:52px;min-height:52px;width:52px;height:52px;border-radius:16px;background:#fff9e9;box-shadow:0 3px 0 #083b4c30}.match-apple img{width:42px;height:42px;object-fit:contain;vertical-align:middle}.match-apple[aria-pressed=true]{outline:5px solid #f0b445;background:#ffdc70}.match-apple.paired{opacity:1;background:#a9e2c6}.match-links{position:absolute;inset:0;pointer-events:none}.match-link{position:absolute;transform-origin:left center;height:10px;margin-top:-5px}.match-link i{display:block;background:repeating-linear-gradient(90deg,#b57640 0 9px,#e6b66a 9px 13px);border-top:2px solid #8b552e;border-bottom:2px solid #8b552e;height:100%;transform-origin:left;animation:bridge-grow .4s ease-out}.match-apple.unmatched{opacity:1;background:#ffe17d;animation:extra-hop .9s var(--hop-delay) 4}.match-board.nudge .beep-bank .match-apple:not(:disabled){animation:extra-hop .7s 1}.match-apple:disabled{cursor:default}@keyframes bridge-grow{from{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes extra-hop{50%{transform:translateY(-10px) rotate(-5deg)}}
body{background-attachment:scroll;background-color:#118ab2}
.topbar{flex-wrap:wrap}.topbar a{display:inline-flex;align-items:center}.treasure{font-size:15px}.treasure b{margin:0 4px 0 0}
.masthead{padding-top:24px}.masthead h1{color:var(--ink);text-shadow:none}.masthead h1 span{color:var(--ink)}
.game-card{position:relative;min-height:150px}.game-card img{width:78px;height:78px;object-fit:cover;border:3px solid #fff;border-radius:20px;flex:none}.game-card span{min-width:0}.game-card strong{font-size:25px}.game-card b{font-size:15px}.game-card.explored{border-color:#027357}.game-card.explored small{color:#026349}
.reading-garden{margin-top:30px;padding:24px;border:3px solid var(--ink);border-radius:26px;background:#dcf8e7;box-shadow:var(--shadow)}.reading-garden h2{margin:6px 0;font-size:29px}.reading-garden p{margin:6px 0}.reading-days{display:flex;gap:12px;flex-wrap:wrap;margin:18px 0}.reading-days button{display:grid;gap:4px;justify-items:center;flex:1;min-width:75px;padding:12px 8px;font-size:15px}.reading-days img{width:48px;height:48px;object-fit:contain;filter:grayscale(1);opacity:.6}.reading-days [aria-pressed="true"]{background:#fff2b4}.reading-days [aria-pressed="true"] img{filter:none;opacity:1;animation:pop .45s ease-out}.reading-note{font-size:15px}
#subject{margin-top:24px}#adventure-title{margin-top:8px}.prompt{max-width:690px;margin:12px auto 20px;font-size:21px}.actions,.controls,.phrase,.word-tiles{display:flex;justify-content:center;align-items:center;gap:12px;flex-wrap:wrap}.actions{margin-top:20px}#week-feedback{min-height:30px;max-width:690px;margin:22px auto 0;font-size:19px}.stage{position:relative;overflow:hidden;background:#def5fa;border:2px solid #8fcbd6;border-radius:22px;padding:24px;margin:15px auto;max-width:720px}.stage-art{display:block;width:150px;height:150px;object-fit:contain;margin:0 auto 18px;border-radius:20px;animation:float 3s ease-in-out infinite}.scene-reward{animation:pop .5s ease-out!important}.sentence{font-size:clamp(23px,4vw,34px);font-weight:600;line-height:1.6}.slot{display:inline-block;min-width:65px;border-bottom:4px solid #118ab2;color:#076181;margin:0 6px}.word-tile{font-size:32px;min-width:100px}.word-tile.selected{background:var(--mint)}.small-copy{font-size:16px}.phrase button{font-size:clamp(22px,5vw,32px);padding:14px 18px}.phrase .found{background:#b9f1df}.noun-tag{display:inline-block;padding:8px 18px;background:#fff2b4;border-radius:14px;font-size:20px;margin-top:18px}
.sound-pairs{display:grid;grid-template-columns:1fr 1fr;gap:16px;max-width:650px;margin:auto}.sound-button{display:flex;align-items:center;justify-content:center;gap:16px;background:#fff}.sound-button strong{font-size:48px}.sound-button span{font-size:16px;text-align:left}.sound-button span small{display:block;margin-top:3px}.sound-button[aria-pressed="true"]{background:#ffe6a0;border-color:#854b00}.voice-meter{display:flex;gap:6px;justify-content:center;align-items:center;height:60px;margin:15px}.voice-meter i{display:block;width:12px;height:10px;border-radius:8px;background:#118ab2}.voice-meter.buzz i{animation:buzz .3s infinite alternate}.voice-meter.buzz i:nth-child(2n){animation-delay:-.2s}.voice-meter.air i{animation:air 1.2s infinite alternate}
.apple-row{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:5px;min-height:60px;margin:10px auto}.apple-row img{width:42px;height:46px;object-fit:contain}.apple-row img.matched{outline:3px solid #148261;outline-offset:-4px;border-radius:50%;background:#d4f5d0}.apple-row img.extra{background:#ffe096;border-radius:50%;animation:pop .45s ease-out}.apple-row .apple-button{min-width:48px;min-height:52px;padding:0;border-width:2px;border-radius:15px;box-shadow:none;background:white}.apple-row .apple-button img{width:38px;height:42px;vertical-align:middle}.apple-row .apple-button:disabled{opacity:1;background:#c9f0df}.equation{font:800 34px 'Baloo 2',sans-serif;margin:18px 0 0}.row-label{font-weight:600;margin:4px}.math-tabs{margin-bottom:20px}.math-tabs [aria-pressed="true"]{background:var(--sun)}
.prayer-gifts{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.prayer-gifts button{padding:12px 8px;background:#fff}.prayer-gifts img{display:block;width:100%;max-width:120px;height:110px;object-fit:contain;margin:0 auto 8px}.prayer-gifts [aria-pressed="true"]{background:#fff1b4}.prayer-text{font-size:22px;line-height:1.5}.story-cover{display:flex;align-items:center;text-align:left;gap:16px;width:100%;margin:12px 0}.story-cover img{width:80px;height:80px;object-fit:contain;border-radius:15px}.story-cover strong{font-size:23px}.story-copy{font-size:22px;line-height:1.55;max-width:620px;margin:auto}.story-stage{min-height:180px;display:grid;place-items:center}.story-stage .stage-art{margin:0}.story-stage .aside{transform:translateX(120px);animation:none;transition:transform 1s}.revealed-word{font:800 52px 'Baloo 2',sans-serif;animation:pop .6s ease-out}.page-count{font-size:15px;margin:0 0 12px;color:#355c6b}.end-art{width:130px;height:130px;object-fit:contain;animation:float 3s ease-in-out infinite}
@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-6px)}}@keyframes pop{0%{transform:scale(.75)}60%{transform:scale(1.08)}100%{transform:scale(1)}}@keyframes buzz{to{height:45px;background:#a85818}}@keyframes air{to{opacity:.3;transform:translateX(7px)}}
@media(max-width:650px){.topbar{gap:7px}.topbar a,.treasure{font-size:13px}.treasure b{font-size:17px}.masthead{gap:10px}.masthead .beep{width:66px;height:66px}.masthead h1{font-size:32px}.game-card{min-height:135px}.game-card img{width:64px;height:64px}.game-card strong{font-size:23px}.game-card em{font-size:15px}.reading-garden{padding:18px}.reading-days{gap:8px}.reading-days button{min-width:66px}.reading-days img{width:40px;height:40px}.stage{padding:18px 10px}.stage-art{width:124px;height:124px}.sound-button{gap:10px;padding:12px 6px}.sound-button strong{font-size:40px}.sound-button span{font-size:15px}.sound-pairs{gap:10px}.prayer-gifts{gap:8px}.prayer-gifts button{font-size:16px}.prayer-gifts img{height:75px}.story-copy{font-size:20px}.apple-row{gap:3px}.apple-row img{width:32px;height:38px}.phrase{gap:8px}.phrase button{padding:12px}.story-cover strong{font-size:21px}.prompt{font-size:19px}}
.phrase button{min-width:48px}
.adventure-stamp{transform-origin:right center}
.day-label span{display:block}
.reading-days{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}.reading-days button{min-width:0;padding:12px 3px}.reading-days small{font-size:14px}
@media(max-width:360px){.reading-days{grid-template-columns:repeat(3,minmax(0,1fr))}.game-card{gap:8px;padding:12px}.game-card img{width:52px;height:52px}.game-card>b{padding:8px}.game-card strong{font-size:21px}.game-card em{font-size:14px}.game-card small{font-size:12px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}}

.heart-drawing{margin:0 auto 20px;max-width:660px;background:#fff4d9;border:2px solid #5c8587;border-radius:18px;overflow:hidden}
.heart-drawing canvas{display:block;width:100%;height:auto;aspect-ratio:760/420}
.heart-drawing-controls{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;padding:12px}
.heart-drawing-controls button{min-width:44px;min-height:46px;padding:8px 16px;font-size:16px;border-radius:13px;box-shadow:none;background:#fffdf0}
.heart-drawing-controls button[aria-pressed=true]{background:#f9dc8d}
@media(max-width:650px){.heart-drawing-controls{padding:10px;gap:8px}.heart-drawing-controls button{padding:8px 10px;font-size:15px;flex:1 1 auto}}
/* Fable scenes run a little larger than the other lesson scenes; the panel fits about 900px. */
.week-scene-host.fable-canvas{max-width:880px}

/* Movie card: Cappy's Secret Snack (2026-09-24) */.movie-card{margin-top:30px;display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.4fr);gap:24px;align-items:center;border:3px solid var(--ink);border-radius:26px;background:#fff4d6;padding:22px;box-shadow:var(--shadow)}.movie-card h2{font-size:30px;line-height:1.1;margin:5px 0 10px}.movie-card p{font-size:19px;margin:0 0 12px}.movie-card .movie-ref{font-size:15px;opacity:.8;margin:0}.movie-card video{width:100%;height:auto;aspect-ratio:16/9;display:block;border-radius:16px;border:3px solid var(--ink);background:#1a140f}@media(max-width:700px){.movie-card{grid-template-columns:minmax(0,1fr);padding:16px;gap:14px}.movie-card h2{font-size:27px}.movie-card p{font-size:18px}}
