:root{--navy:#082f49;--blue:#0b75bb;--sky:#e3f5ff;--gold:#ffbf20;--orange:#f47a19;--cream:#fffaf0;--ink:#123047;--green:#2f9e44;--shadow:0 22px 60px rgba(3,32,54,.25)}[hidden]{display:none!important}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;font-family:"Trebuchet MS",Arial,sans-serif;color:var(--ink);background:radial-gradient(circle at 20% 15%,#d9f5ff 0 8%,transparent 30%),linear-gradient(145deg,#edfaff,#bce8ff)}
body{min-height:100dvh}.app{min-height:100dvh;display:flex;flex-direction:column;overflow:hidden}.topbar{position:relative;height:64px;display:flex;align-items:center;justify-content:space-between;padding:8px clamp(12px,3vw,28px);background:rgba(8,47,73,.96);color:white;box-shadow:0 5px 22px rgba(8,47,73,.2);z-index:20}.brand{position:absolute;left:50%;transform:translateX(-50%);text-align:center;line-height:1.05}.brand span{display:block;font-size:.72rem;letter-spacing:.18em;color:#ffd65a}.brand strong{font-size:1rem}.icon-button{width:44px;height:44px;border:1px solid rgba(255,255,255,.28);border-radius:50%;background:rgba(255,255,255,.12);color:#fff;font-size:1.35rem;cursor:pointer}.icon-button:hover{background:rgba(255,255,255,.22)}.home-button{display:flex;width:auto;min-width:44px;align-items:center;gap:6px;padding:0 10px;border-radius:999px}.home-button strong{font-size:.92rem;letter-spacing:.05em}.home-cue{display:inline-block;font-size:1.05rem;animation:homeCue 1s ease-in-out infinite}@keyframes homeCue{50%{transform:translateX(-4px)}}
.screen{display:none;flex:1;min-height:0;padding:clamp(12px,2.5vw,28px);place-items:center}.screen.active{display:grid}.book-frame{position:relative;overflow:hidden;border:5px solid white;border-radius:22px;background:white;box-shadow:var(--shadow)}.book-frame img{width:100%;height:100%;display:block;object-fit:contain}.cover-frame{height:min(calc(100dvh - 98px),820px);aspect-ratio:7.5/10.48}.cover-play-hotspot{position:absolute;left:53.8%;top:75.7%;width:9.4%;aspect-ratio:1;padding:0;border:0;border-radius:50%;background:transparent;cursor:pointer;animation:hubButtonBounce 3.9s ease-in-out infinite}.cover-play-hotspot img{width:100%;height:100%;display:block;object-fit:contain}.cover-play-hotspot:active{animation:none;transform:translateY(1px) scale(.95)}.cover-play-hotspot:focus-visible{outline:4px solid #fff;outline-offset:3px}@keyframes hubButtonBounce{0%,20%,100%{transform:translateY(0)}7%,13%{transform:translateY(-7px)}17%{transform:translateY(-2px)}}button{font:inherit}.primary,.secondary,.text-button{border:0;cursor:pointer;font-weight:900}.primary{min-height:48px;border-radius:999px;padding:12px 24px;color:#fff;background:linear-gradient(180deg,#ff9f20,#ef5f08);box-shadow:0 6px 0 #a83a00,0 9px 18px rgba(107,44,0,.25);text-transform:uppercase;letter-spacing:.04em}.primary:hover{filter:brightness(1.06);transform:translateY(-1px)}.primary:active{transform:translateY(3px);box-shadow:0 3px 0 #a83a00}
#storyScreen{position:relative;align-items:start}.progress{position:absolute;top:0;left:0;right:0;height:7px;background:rgba(8,47,73,.15)}.progress span{display:block;height:100%;width:50%;background:linear-gradient(90deg,#ffbf20,#f47a19);transition:width .4s}.scene-shell{display:grid;grid-template-columns:minmax(280px,calc((100dvh - 165px)*.716)) minmax(220px,310px);align-items:center;gap:clamp(16px,4vw,48px);max-width:1100px;width:100%;justify-content:center}.scene-frame{height:min(calc(100dvh - 150px),820px);aspect-ratio:7.5/10.48;border-radius:18px}.scene-frame.reading img{animation:gentleZoom 5.2s ease-in-out both}@keyframes gentleZoom{from{transform:scale(1)}to{transform:scale(1.035)}}.controls{display:flex;flex-direction:column;gap:18px;align-items:stretch}.controls p{text-align:center;font-size:1.08rem;font-weight:800;line-height:1.45;background:rgba(255,255,255,.78);padding:14px;border-radius:16px;margin:0}.secondary{min-height:48px;border-radius:999px;padding:11px 19px;background:white;color:var(--blue);border:2px solid var(--blue)}.next-button{visibility:hidden}.next-button.show{visibility:visible}.decision{position:absolute;inset:0;display:none;place-items:center;background:rgba(4,27,43,.42);backdrop-filter:blur(3px)}.decision.show{display:grid;animation:fadeIn .25s}.decision-card{width:min(82%,330px);padding:23px;text-align:center;background:#fffdf4;border:4px solid #ffd044;border-radius:24px;box-shadow:0 18px 50px rgba(0,0,0,.3)}.decision-card p{font-size:1.25rem;font-weight:900;margin:8px 0 18px}.small-key{font-size:2.4rem}.decision-card .primary{display:block;width:100%}.text-button{margin-top:15px;background:transparent;color:#31556b;text-decoration:underline}.key-hotspot{position:absolute;display:none;border:0;background:transparent;border-radius:50%;cursor:pointer;z-index:3}.key-hotspot.active{display:block}.key-hotspot:focus-visible{outline:4px solid #ffd500;outline-offset:3px}.key-hotspot.scene-1{left:42%;top:21%;width:10%;height:9%}.key-hotspot.scene-2{left:58%;top:28%;width:10%;height:12%}.found-burst{position:absolute;inset:0;display:none;place-items:center;text-align:center;background:rgba(0,65,37,.38);color:#fff;text-shadow:0 3px 8px rgba(0,0,0,.45)}.found-burst.show{display:grid;animation:fadeIn .25s}.found-burst span{font-size:6rem;color:#ffd33d;animation:pop .6s ease-out}.found-burst strong{display:block;font-size:clamp(1.7rem,4vw,3rem);margin-top:-30%}@keyframes fadeIn{from{opacity:0}to{opacity:1}}@keyframes pop{0%{transform:scale(.2) rotate(-30deg)}70%{transform:scale(1.2) rotate(8deg)}100%{transform:scale(1)}}
#finishScreen{position:relative;overflow:hidden;background:radial-gradient(circle at center,#e8fff0,#c4ebff)}.finish-card{position:relative;z-index:2;width:min(92vw,520px);padding:42px 30px;border:5px solid white;border-radius:30px;background:rgba(255,255,255,.9);box-shadow:var(--shadow);text-align:center}.celebration{font-size:3.5rem}.finish-card h1{font-size:clamp(2rem,7vw,3.6rem);margin:10px 0;color:#0a6a49}.finish-card p{font-size:1.25rem}.finish-card small{display:block;margin-top:22px;color:#5b7382}.perfect-score-party{position:absolute;inset:0;z-index:3;display:none;pointer-events:none}.perfect-score-party.show{display:block}.perfect-popper{position:absolute;top:50%;font-size:clamp(4rem,11vw,7rem);filter:drop-shadow(0 7px 7px rgba(8,47,73,.22));opacity:0}.perfect-popper-left{left:max(1.5vw,8px);transform:translateY(-50%) rotate(-24deg);animation:perfectPopLeft 1s ease-out forwards}.perfect-popper-right{right:max(1.5vw,8px);transform:translateY(-50%) scaleX(-1) rotate(-24deg);animation:perfectPopRight 1s ease-out forwards}.perfect-confetti{position:absolute;inset:0;overflow:hidden}.perfect-confetti i{position:absolute;left:var(--start-x);top:var(--start-y);width:var(--size);height:calc(var(--size)*1.7);border-radius:3px;background:var(--color);opacity:0;animation:perfectConfettiBurst 2.8s var(--delay) cubic-bezier(.18,.72,.28,1) forwards}@keyframes perfectPopLeft{0%{opacity:0;transform:translate(-30px,-50%) scale(.2) rotate(-38deg)}55%{opacity:1;transform:translate(8px,-50%) scale(1.18) rotate(-18deg)}100%{opacity:1;transform:translateY(-50%) scale(1) rotate(-24deg)}}@keyframes perfectPopRight{0%{opacity:0;transform:translate(30px,-50%) scaleX(-1) scale(.2) rotate(-38deg)}55%{opacity:1;transform:translate(-8px,-50%) scaleX(-1) scale(1.18) rotate(-18deg)}100%{opacity:1;transform:translateY(-50%) scaleX(-1) scale(1) rotate(-24deg)}}@keyframes perfectConfettiBurst{0%{opacity:0;transform:translate(0,0) rotate(0) scale(.4)}10%{opacity:1}58%{opacity:1;transform:translate(var(--burst-x),var(--burst-y)) rotate(var(--spin)) scale(1)}100%{opacity:0;transform:translate(var(--fall-x),calc(var(--burst-y) + 48vh)) rotate(calc(var(--spin) + 500deg)) scale(.88)}}
@media(max-width:760px){.topbar{height:56px}.icon-button{width:40px;height:40px}.screen{padding:9px}.scene-shell{display:flex;flex-direction:column;gap:9px;height:calc(100dvh - 74px)}.scene-frame{height:auto;width:min(100%,calc((100dvh - 190px)*.716));flex:1;min-height:0}.controls{width:min(100%,520px);display:grid;grid-template-columns:1fr 1fr;gap:8px}.controls p{grid-column:1/-1;grid-row:1;font-size:.9rem;padding:7px}.secondary,.primary{min-height:43px;padding:9px 14px}.cover-frame{height:auto;width:min(100%,calc((100dvh - 78px)*.716))}}
@media(prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
.wrong-feedback{position:absolute;left:50%;top:48%;z-index:5;display:none;align-items:center;gap:10px;transform:translate(-50%,-50%);padding:14px 20px;border:4px solid #fff;border-radius:999px;background:#d92d20;color:#fff;box-shadow:0 12px 30px rgba(80,0,0,.35);font-size:clamp(1rem,3vw,1.45rem);pointer-events:none;white-space:nowrap}.wrong-feedback span{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#fff;color:#d92d20;font-weight:900}.wrong-feedback.show{display:flex;animation:wrongPop .55s ease-out}.scene-frame.wrong-shake{animation:wrongShake .42s ease-in-out;box-shadow:0 0 0 7px rgba(217,45,32,.75),var(--shadow)}@keyframes wrongPop{0%{opacity:0;transform:translate(-50%,-50%) scale(.7)}35%{opacity:1;transform:translate(-50%,-50%) scale(1.08)}100%{opacity:1;transform:translate(-50%,-50%) scale(1)}}@keyframes wrongShake{0%,100%{transform:translateX(0)}20%{transform:translateX(-8px)}40%{transform:translateX(8px)}60%{transform:translateX(-5px)}80%{transform:translateX(5px)}}
.score-badge{position:absolute;right:clamp(62px,9vw,92px);padding:7px 12px;border:2px solid rgba(255,255,255,.5);border-radius:999px;background:#ffbf20;color:#082f49;font-weight:900;font-size:.88rem}.key-hotspot.scene-1{left:27%;top:17%;width:15%;height:13%}.key-hotspot.scene-2{left:56%;top:26%;width:14%;height:16%}@media(max-width:760px){.score-badge{font-size:.72rem;padding:5px 7px;right:58px}.brand{transform:translateX(-50%)}.home-button{gap:4px;padding:0 7px}.home-button strong{font-size:.72rem}.home-cue{font-size:.82rem}}
.next-button{position:relative;z-index:30;pointer-events:none}.next-button.show{pointer-events:auto}
.scene-frame,.scene-frame img,.key-hotspot,.key-hotspot.active{cursor:default!important}
.decision-card .listen-button{display:none;width:100%;margin:0 0 12px;border-color:#d39100;color:#704600;background:#fff6c9}.decision-card .listen-button.show{display:block}
.next-button{display:inline-flex;align-items:center;justify-content:center;text-decoration:none}
.party-poppers{position:relative;z-index:2;font-size:clamp(3.2rem,10vw,6rem);animation:partyPop .65s ease-out}.party-poppers span{display:inline-block;color:#ffd33d;font-size:1em;animation:pop .6s ease-out}.confetti-layer{position:absolute;inset:0;overflow:hidden;pointer-events:none}.confetti-layer i{position:absolute;left:var(--x);top:-12%;width:10px;height:20px;border-radius:2px;animation:confettiFall 2.3s var(--delay) ease-out forwards}.found-burst strong{position:relative;z-index:2;margin-top:0}@keyframes partyPop{0%{transform:scale(.25);opacity:0}70%{transform:scale(1.18)}100%{transform:scale(1);opacity:1}}@keyframes confettiFall{0%{transform:translate(0,-20px) rotate(0);opacity:0}10%{opacity:1}100%{transform:translate(var(--drift),115vh) rotate(var(--spin));opacity:.9}}
.key-hotspot.scene-3{left:1%;top:73%;width:32%;height:23%}
.scene-frame img{transition:opacity .18s ease}.scene-frame.loading{background:#fffdf4}.scene-frame.loading img{opacity:0}.scene-frame.loading::after{content:'Opening next page…';position:absolute;inset:0;display:grid;place-items:center;color:#31556b;font-size:1.1rem;font-weight:900;background:#fffdf4;z-index:2}
.key-hotspot.scene-4{left:80%;top:40%;width:13%;height:14%}
.key-hotspot.scene-5{left:68%;top:14%;width:12%;height:12%}
.key-hotspot.scene-6{left:75%;top:50%;width:10%;height:12%}
.key-hotspot.scene-7{left:74%;top:19%;width:10%;height:10%}
.key-hotspot.scene-8{left:88%;top:20%;width:11%;height:11%}
.key-hotspot.scene-9{left:34%;top:19%;width:8%;height:10%}
.key-hotspot.scene-10{left:26%;top:72%;width:10%;height:11%}
.key-hotspot.scene-11{left:8%;top:17%;width:9%;height:9%}
.key-hotspot.scene-12{left:30%;top:18%;width:10%;height:14%}
.story-key-note{position:absolute;left:46.5%;top:61.5%;z-index:3;display:none;grid-template-columns:auto 1fr;align-items:center;column-gap:5px;padding:5px 8px;border:2px solid rgba(255,255,255,.92);border-radius:10px;background:rgba(8,47,73,.9);color:#fff;box-shadow:0 4px 12px rgba(0,0,0,.28);font-size:clamp(.46rem,1.35vw,.72rem);line-height:1.05;pointer-events:none;transform:rotate(-2deg)}.story-key-note.show{display:grid}.story-key-note>span{grid-row:1/3;font-size:1.25em}.story-key-note strong{white-space:nowrap;color:#ffd65a}.story-key-note small{white-space:nowrap;font-size:.78em}
.mode-picker{position:absolute;inset:0;z-index:12;display:none;place-items:center;background:rgba(4,27,43,.55);backdrop-filter:blur(4px)}.mode-picker.show{display:grid;animation:fadeIn .2s}.mode-card{width:min(88%,390px);padding:22px;background:#fffdf4;border:4px solid #ffd044;border-radius:24px;text-align:center;box-shadow:0 18px 50px rgba(0,0,0,.35)}.mode-card h2{margin:4px 0 16px;color:var(--navy);font-size:1.35rem}.mode-option{display:flex;flex-direction:column;gap:3px;width:100%;margin:10px 0;padding:13px 16px;border:3px solid transparent;border-radius:17px;text-align:left;cursor:pointer;font:inherit}.mode-option strong{font-size:1.05rem}.mode-option span{font-size:.86rem}.mode-option.relaxed{background:#e9f8ff;border-color:#5bb7e8;color:#0a527a}.mode-option.challenge{background:#fff1d7;border-color:#ffac33;color:#843d00}.mode-option:hover{filter:brightness(.98);transform:translateY(-1px)}
.game-timer{position:absolute;top:12px;left:12px;z-index:4;display:none;align-items:center;gap:8px;padding:7px 10px;border:3px solid #fff;border-radius:999px;background:rgba(8,47,73,.92);color:#fff;box-shadow:0 5px 16px rgba(0,0,0,.28);pointer-events:none}.game-timer.show{display:flex}.game-timer strong{min-width:25px;text-align:center;font-size:1rem}.timer-track{display:block;width:72px;height:8px;overflow:hidden;border-radius:999px;background:rgba(255,255,255,.25)}.timer-track i{display:block;width:100%;height:100%;border-radius:inherit;background:#69db7c;transition:width .1s linear}.game-timer.urgent{background:#b83b20;animation:timerPulse .7s infinite}.game-timer.urgent .timer-track i{background:#ffd43b}@keyframes timerPulse{50%{transform:scale(1.04)}}
.secondary:disabled{cursor:not-allowed;opacity:.48;filter:grayscale(.35)}
.finish-card .final-rank{display:block;margin:8px auto 18px!important;padding:13px 20px;border:4px solid #ffd044;border-radius:22px;background:#fff4bd;color:#8a4b00;font-size:clamp(1.8rem,7vw,3.25rem)!important;line-height:1.08;font-weight:900;box-shadow:0 8px 20px rgba(138,75,0,.18)}
.cover-activity-hotspot{position:absolute;padding:0;border:0;border-radius:50%;background:transparent;cursor:pointer;z-index:4;animation:hubButtonBounce 5.2s ease-in-out infinite}.cover-activity-hotspot img{width:100%;height:100%;display:block;object-fit:contain}.cover-read-hotspot{left:19.7%;top:88.9%;width:9.9%;height:7.1%;animation-delay:1.3s}.cover-listen-hotspot{left:35.8%;top:88.9%;width:9.9%;height:7.1%;animation-delay:2.6s}.cover-color-hotspot{left:69.0%;top:88.45%;width:10.9%;height:7.8%;animation-delay:3.9s}.cover-activity-hotspot:active{animation:none;transform:translateY(1px) scale(.95)}.cover-activity-hotspot:focus-visible{outline:4px solid #fff;outline-offset:2px}
#readerScreen{position:relative;align-items:start}.reader-shell{display:grid;grid-template-columns:minmax(280px,calc((100dvh - 150px)*.7725)) minmax(230px,310px);align-items:center;gap:clamp(16px,4vw,48px);max-width:1100px;width:100%;justify-content:center}.reader-frame{height:min(calc(100dvh - 150px),820px);aspect-ratio:1545/2000;border-radius:18px}.reader-frame>img{position:absolute;inset:0;width:100%;height:100%;object-fit:fill}.word-highlights{position:absolute;inset:0;z-index:2;pointer-events:none}.word-highlight{position:absolute;border-radius:5px;background:rgba(255,213,46,.58);box-shadow:0 0 0 2px rgba(255,185,0,.18);mix-blend-mode:multiply;opacity:0;transform:scale(.94);transition:opacity .08s,transform .08s}.word-highlight.active{opacity:1;transform:scale(1)}.reader-controls{display:flex;flex-direction:column;gap:14px;text-align:center}.reader-controls>strong{font-size:1.55rem;color:var(--navy)}.reader-controls p{margin:0;font-weight:900}.reader-navigation{display:grid;grid-template-columns:1fr 1fr;gap:10px}.reader-navigation button{padding-inline:14px}.reader-audio-button.hidden{display:none}
@media(max-width:760px){.reader-shell{display:flex;flex-direction:column;gap:9px;height:calc(100dvh - 74px)}.reader-frame{height:auto;width:min(100%,calc((100dvh - 190px)*.7725));flex:1;min-height:0}.reader-controls{width:min(100%,520px);display:grid;grid-template-columns:1fr 1fr;gap:8px}.reader-controls>strong,.reader-controls>p,.reader-audio-button,.reader-navigation{grid-column:1/-1}.reader-controls>strong{font-size:1.15rem}.reader-navigation{display:grid}}

#colorScreen{align-items:start;padding:10px}.coloring-shell{display:grid;grid-template-columns:minmax(300px,690px) minmax(260px,330px);gap:16px;width:min(1180px,100%);height:calc(100dvh - 84px);margin:auto}.color-workspace{display:flex;min-width:0;min-height:0;flex-direction:column;gap:9px}.color-canvas-scroll{flex:1;min-height:0;overflow:auto;display:grid;place-items:start center;padding:8px;border:4px solid white;border-radius:20px;background:rgba(255,255,255,.58);box-shadow:var(--shadow);touch-action:none}.color-canvas-scroll.zoomed{place-items:start}.color-canvas-stage{position:relative;width:min(100%,620px);aspect-ratio:900/1165;flex:none;background:#fff;box-shadow:0 8px 24px rgba(8,47,73,.22);transform-origin:top left}.color-canvas-stage canvas,.color-canvas-stage>img{position:absolute;inset:0;width:100%;height:100%;display:block}.color-canvas-stage canvas{z-index:1;cursor:crosshair;touch-action:none}.color-canvas-stage>img{z-index:2;pointer-events:none;user-select:none;mix-blend-mode:multiply}.eraser-cursor{position:absolute;z-index:4;display:none;pointer-events:none;transform:translate(-50%,-50%);border:2px solid #e64980;border-radius:50%;background:rgba(255,255,255,.2);box-shadow:0 0 0 1px #fff,0 1px 5px rgba(12,41,61,.45)}.eraser-cursor.visible{display:block}.eraser-cursor span{position:absolute;right:calc(var(--eraser-icon)*-.5);top:calc(var(--eraser-icon)*-.38);width:var(--eraser-icon);height:calc(var(--eraser-icon)*.64);transform:rotate(-35deg);border:1px solid #7a3351;border-radius:3px;background:linear-gradient(90deg,#ff6b9a 0 62%,#f1f3f5 62%)}.color-canvas-stage.eraser-active canvas{cursor:none}.color-page-nav{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:10px}.color-page-nav strong{text-align:center}.color-tools{overflow:auto;padding:15px;border:4px solid #fff;border-radius:22px;background:rgba(255,255,255,.9);box-shadow:var(--shadow)}.color-tools h2{margin:0 0 10px;text-align:center;color:var(--navy)}.tool-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.tool-button{display:flex;min-height:58px;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:6px;border:2px solid #9bd0ec;border-radius:13px;background:#f5fbff;color:var(--navy);font-weight:900;cursor:pointer}.tool-button span{font-size:.76rem}.tool-button.active{border-color:#e66500;background:#fff0d6;box-shadow:inset 0 0 0 2px #ffbd45}.coloring-tip{display:flex;align-items:flex-start;gap:8px;margin:10px 0 0;padding:9px 10px;border:2px solid #f3c94f;border-radius:13px;background:linear-gradient(135deg,#fff9cf,#fff1a6);color:var(--navy);font-size:.875rem;line-height:1.3;box-shadow:0 3px 9px rgba(138,75,0,.1)}.coloring-tip>span:first-child{font-size:1.25rem;line-height:1}.coloring-tip strong{color:#9a5300}.size-control{display:grid;grid-template-columns:1fr auto;gap:5px;margin-top:12px;font-weight:900}.size-control input{grid-column:1/-1;width:100%;accent-color:#f47a19}.color-choice{display:flex;align-items:center;justify-content:space-between;margin:8px 0;font-weight:900}.spectrum-hint{display:flex;align-items:center;gap:6px;color:#b54b00}.spectrum-hint span{display:inline-block;font-size:1.35rem;animation:spectrumPoint 1s ease-in-out infinite}.color-choice input{width:58px;height:42px;padding:2px;border:2px solid #fff;border-radius:11px;background:#fff;box-shadow:0 0 0 3px #ffb23f,0 0 12px rgba(255,178,63,.6)}@keyframes spectrumPoint{50%{transform:translateX(6px)}}.color-swatches{display:grid;grid-template-columns:repeat(10,1fr);gap:5px}.color-swatch{aspect-ratio:1;border:3px solid #fff;border-radius:50%;box-shadow:0 0 0 1px #7893a4;cursor:pointer}.color-swatch.active{box-shadow:0 0 0 3px var(--navy)}.history-controls,.file-controls{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:11px}.zoom-controls{display:grid;grid-template-columns:auto 1fr auto auto;align-items:center;gap:6px;margin-top:9px}.zoom-controls strong{text-align:center}.compact{min-height:39px!important;padding:7px 10px!important;font-size:.82rem}.file-controls .primary{grid-column:1/-1}.color-canvas-scroll.panning canvas{cursor:grab}.color-canvas-scroll.panning canvas:active{cursor:grabbing}
@media(max-width:820px){#colorScreen{padding:7px}.coloring-shell{display:flex;flex-direction:column;height:calc(100dvh - 70px);gap:7px}.color-workspace{flex:1;min-height:0}.color-canvas-scroll{padding:4px}.color-canvas-stage{width:min(100%,520px)}.color-page-nav{gap:5px}.color-page-nav button{min-height:39px;padding:7px 10px}.color-tools{flex:none;max-height:35dvh;padding:9px;border-width:3px}.color-tools h2{display:none}.tool-grid{grid-template-columns:repeat(6,1fr);gap:4px}.tool-button{min-height:50px;padding:4px;font-size:.95rem}.tool-button span{font-size:.62rem}.color-swatches{grid-template-columns:repeat(10,1fr)}.size-control,.color-choice{margin-top:6px}.history-controls,.file-controls{margin-top:6px}.zoom-controls{margin-top:6px}}
@keyframes hubButtonFloat{0%,100%{transform:translateY(-4px)}50%{transform:translateY(4px)}}.cover-play-hotspot,.cover-activity-hotspot{animation-name:hubButtonFloat;animation-duration:1.9s;animation-timing-function:ease-in-out;animation-delay:0s}.cover-read-hotspot,.cover-listen-hotspot,.cover-watch-hotspot,.cover-color-hotspot{animation-delay:0s}
.cover-watch-hotspot{left:51.3%;top:88.55%;width:11.3%;height:8.1%;border-radius:50%}
.cover-button-label{position:absolute;z-index:-1;top:75%;left:50%;display:flex;align-items:flex-end;justify-content:center;min-width:120%;height:76%;padding:0 5px 14%;transform:translateX(-50%);border-radius:6px;background:linear-gradient(90deg,rgba(83,32,10,.14),transparent 18%,transparent 82%,rgba(83,32,10,.14)),repeating-linear-gradient(0deg,rgba(255,207,116,.07) 0 1px,transparent 1px 5px),linear-gradient(180deg,#985120 0%,#814018 48%,#6d3012 100%);box-shadow:inset 0 1px rgba(255,190,88,.24),inset 0 -1px rgba(48,17,5,.34);color:#fff;font-family:"Trebuchet MS",Arial,sans-serif;font-size:clamp(.55rem,1.55vw,.86rem);font-weight:900;line-height:1;letter-spacing:-.025em;text-shadow:-1px -1px 0 #321306,1px -1px 0 #321306,-1px 1px 0 #321306,1px 1px 0 #321306,0 2px 2px rgba(0,0,0,.72);white-space:nowrap;pointer-events:none}.cover-listen-hotspot .cover-button-label{min-width:125%}.cover-watch-hotspot .cover-button-label{top:72%;min-width:112%;height:72%;padding-bottom:12%}.cover-color-hotspot .cover-button-label{top:72%;min-width:112%;height:72%;padding-bottom:12%}
.library-screen{position:relative;align-items:start!important;overflow:auto!important;padding:0!important;background:linear-gradient(180deg,#8bdcff 0,#d9f5ff 31%,#fff4c8 72%,#d5f0bd 100%)}.library-screen:before,.library-screen:after{content:"";position:fixed;z-index:0;bottom:-75px;width:48vw;height:210px;border-radius:50%;background:linear-gradient(180deg,#6fc66c,#2d9458);opacity:.72}.library-screen:before{left:-8vw;transform:rotate(5deg)}.library-screen:after{right:-10vw;transform:rotate(-6deg)}.library-sky{position:absolute;inset:0;overflow:hidden;pointer-events:none}.library-sky i{position:absolute;width:120px;height:38px;border-radius:50%;background:rgba(255,255,255,.64);filter:blur(1px)}.library-sky i:before,.library-sky i:after{content:"";position:absolute;border-radius:50%;background:inherit}.library-sky i:before{width:55px;height:55px;left:19px;top:-25px}.library-sky i:after{width:68px;height:68px;right:15px;top:-35px}.library-sky i:nth-child(1){left:5%;top:11%}.library-sky i:nth-child(2){right:8%;top:17%;transform:scale(.72)}.library-sky i:nth-child(3){left:23%;top:48%;transform:scale(.55);opacity:.5}.library-sky i:nth-child(4){right:22%;top:54%;transform:scale(.46);opacity:.45}.library-shell{position:relative;z-index:1;width:min(1280px,100%);min-height:100%;margin:auto;padding:22px clamp(14px,3vw,38px) 30px}.library-hero{display:flex;align-items:center;justify-content:space-between;gap:22px;margin-bottom:18px}.library-logo{display:flex;align-items:center;gap:12px;padding:10px 18px;border:4px solid #6b3514;border-radius:18px;background:linear-gradient(180deg,#bd6a29,#743712);box-shadow:0 8px 0 #452008,0 13px 28px rgba(33,61,81,.22);color:white;text-shadow:0 2px 1px #301205}.library-logo>span{font-size:2.4rem}.library-logo strong{display:block;font-size:clamp(1.4rem,3vw,2.25rem);letter-spacing:.08em}.library-logo small{display:block;color:#ffe58b;font-weight:900;letter-spacing:.03em}.library-welcome{display:flex;align-items:center;gap:10px;padding:12px 22px;border:4px solid white;border-radius:24px;background:rgba(255,255,255,.89);box-shadow:0 10px 28px rgba(8,47,73,.18);text-align:center}.library-welcome>span{font-size:1.7rem}.library-welcome h1{margin:0;color:#0b6699;font-size:clamp(1.45rem,3vw,2.35rem)}.library-welcome p{margin:3px 0 0;color:#4b6677;font-weight:800}.series-panel{padding:18px;border:5px solid white;border-radius:30px;background:linear-gradient(145deg,rgba(255,255,255,.92),rgba(255,250,220,.88));box-shadow:0 18px 50px rgba(8,47,73,.22)}.series-heading{display:flex;align-items:end;justify-content:space-between;gap:20px;margin:0 5px 17px}.series-kicker{color:#e45e13;font-size:.75rem;font-weight:1000;letter-spacing:.17em}.series-heading h2{margin:2px 0 0;color:#0a568a;font-size:clamp(1.7rem,3.4vw,2.7rem)}.series-heading p{margin:0 0 4px;color:#527083;font-weight:900}.book-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(12px,2vw,23px)}.library-book{min-width:0;padding:0 0 13px;overflow:hidden;border:4px solid #fff;border-radius:21px;background:#fff;box-shadow:0 8px 0 #b6d0d9,0 14px 25px rgba(8,47,73,.18);cursor:pointer;text-align:left;transition:transform .22s ease,box-shadow .22s ease}.library-book:hover,.library-book:focus-visible{transform:translateY(-8px) rotate(-.7deg);box-shadow:0 12px 0 #f1a91b,0 20px 34px rgba(8,47,73,.25);outline:4px solid #ffd24a;outline-offset:3px}.library-book:nth-child(even):hover{transform:translateY(-8px) rotate(.7deg)}.book-image{position:relative;display:block;aspect-ratio:7.5/10.48;overflow:hidden;background:#cceeff}.book-image img{width:100%;height:100%;display:block;object-fit:cover}.book-status{position:absolute;left:50%;bottom:10px;transform:translateX(-50%);width:max-content;max-width:88%;padding:7px 12px;border:3px solid white;border-radius:999px;background:#6b3fb8;color:#fff;font-size:clamp(.66rem,1.1vw,.82rem);font-weight:1000;letter-spacing:.09em;box-shadow:0 5px 12px rgba(0,0,0,.3)}.open-status{background:#13864c;animation:bookReady 1.8s ease-in-out infinite}@keyframes bookReady{50%{transform:translateX(-50%) scale(1.07);box-shadow:0 5px 17px rgba(14,126,68,.55)}}.coming-soon .book-image:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 45%,rgba(19,26,59,.22))}.coming-soon .book-status{z-index:1}.book-meta{display:block;padding:11px 12px 0;text-align:center}.book-meta b{display:inline-block;padding:3px 9px;border-radius:999px;background:#e7f5ff;color:#0b6b9f;font-size:.7rem;text-transform:uppercase;letter-spacing:.09em}.book-meta strong{display:block;min-height:2.55em;margin-top:7px;color:#153d56;font-size:clamp(.88rem,1.4vw,1.08rem);line-height:1.18;text-align:center}.book-meta small{display:block;margin-top:5px;color:#6d8391;font-weight:800;text-align:center}.library-footnote{margin:19px 0 0;text-align:center;color:#32576c;font-weight:900}.coming-dialog{position:fixed;inset:64px 0 0;z-index:50;display:grid;place-items:center;padding:18px;background:rgba(5,31,48,.58);backdrop-filter:blur(5px)}.coming-dialog[hidden]{display:none!important}.coming-card{position:relative;width:min(92vw,430px);padding:28px;border:5px solid white;border-radius:29px;background:linear-gradient(160deg,#fffef2,#fff0bb);box-shadow:0 22px 65px rgba(0,0,0,.34);text-align:center;animation:comingPop .3s ease-out}.coming-close{position:absolute;right:12px;top:9px;width:38px;height:38px;border:0;border-radius:50%;background:#e6544f;color:white;font-size:1.7rem;font-weight:900;cursor:pointer}.coming-stars{font-size:2.5rem}.coming-card h2{margin:8px 0;color:#9a4c00;font-size:2.2rem}.coming-card p{margin:5px 0;color:#0b6396;font-size:1.3rem;font-weight:1000}.coming-card small{display:block;margin:0 0 20px;color:#55717f;font-size:.95rem;font-weight:800}@keyframes comingPop{from{opacity:0;transform:scale(.72)}to{opacity:1;transform:scale(1)}}
@media(max-width:900px){.library-hero{flex-direction:column;align-items:stretch}.library-logo,.library-welcome{justify-content:center}.book-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.library-shell{padding-top:15px}.series-heading{align-items:start;flex-direction:column;gap:4px}}
@media(max-width:520px){.library-shell{padding-inline:9px}.library-logo{padding:8px 12px}.library-logo>span{font-size:1.9rem}.library-logo small{font-size:.7rem}.library-welcome{padding:9px 10px}.library-welcome>span{display:none}.library-welcome p{font-size:.78rem}.series-panel{padding:10px;border-radius:21px;border-width:3px}.series-heading{margin:0 3px 10px}.book-grid{gap:9px}.library-book{border-width:3px;border-radius:15px;padding-bottom:9px}.book-meta{padding:7px 5px 0}.book-meta strong{font-size:.78rem}.book-meta small{display:none}.book-status{bottom:6px;padding:5px 8px;font-size:.57rem}.library-footnote{font-size:.76rem}.coming-dialog{inset:56px 0 0}}

/* Steve Stories account access */
.library-account{display:flex;align-items:center;justify-content:center;flex:0 0 auto}.login-button{display:flex;align-items:center;gap:8px;min-height:48px;padding:9px 18px;border:3px solid #fff;border-radius:999px;background:linear-gradient(180deg,#1b8ad1,#08639e);color:#fff;box-shadow:0 6px 0 #06466e,0 10px 22px rgba(8,47,73,.2);font-weight:1000;cursor:pointer}.login-button:hover{filter:brightness(1.08);transform:translateY(-1px)}.login-button:active{transform:translateY(3px);box-shadow:0 3px 0 #06466e}.account-chip{display:flex;align-items:center;gap:9px;max-width:330px;padding:7px 8px 7px 9px;border:3px solid #fff;border-radius:999px;background:rgba(255,255,255,.94);box-shadow:0 7px 18px rgba(8,47,73,.2)}.account-avatar{display:grid;width:36px;height:36px;flex:0 0 36px;place-items:center;border-radius:50%;background:linear-gradient(145deg,#ffd857,#f09b16);color:#613300;font-weight:1000}.account-copy{min-width:0}.account-copy strong,.account-copy small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.account-copy strong{color:#164b68;font-size:.86rem}.account-copy small{max-width:150px;color:#638090;font-size:.66rem}.logout-button{min-height:34px;padding:6px 10px;border:0;border-radius:999px;background:#eaf5fb;color:#0b6396;font-size:.72rem;font-weight:1000;cursor:pointer}.logout-button:hover{background:#d5edf9}.auth-dialog{position:fixed;inset:0;z-index:100;display:grid;place-items:center;padding:18px;background:rgba(5,31,48,.64);backdrop-filter:blur(7px)}.auth-dialog[hidden]{display:none!important}.auth-card{position:relative;width:min(94vw,510px);padding:30px;border:5px solid #fff;border-radius:30px;background:linear-gradient(155deg,#fffef5,#eaf8ff);box-shadow:0 26px 75px rgba(0,0,0,.38);text-align:center;animation:comingPop .28s ease-out}.auth-close{position:absolute;right:12px;top:10px;width:39px;height:39px;border:0;border-radius:50%;background:#e6544f;color:#fff;font-size:1.7rem;font-weight:1000;cursor:pointer}.auth-symbol{font-size:2.3rem}.auth-card h2{margin:7px 28px 6px;color:#0a5f91;font-size:clamp(1.55rem,4vw,2rem)}.auth-card>p{margin:0 auto 20px;max-width:390px;color:#527083;font-weight:800;line-height:1.45}.google-login{display:flex;width:100%;min-height:53px;align-items:center;justify-content:center;gap:12px;border:2px solid #c7d7e2;border-radius:14px;background:#fff;color:#253b49;box-shadow:0 4px 10px rgba(8,47,73,.1);cursor:pointer}.google-login:hover{border-color:#4285f4;background:#f8fbff}.google-mark{display:grid;width:28px;height:28px;place-items:center;border-radius:50%;color:#4285f4;font-size:1.2rem;font-weight:1000}.auth-divider{display:flex;align-items:center;gap:12px;margin:16px 0;color:#8096a3;font-size:.75rem;font-weight:900;text-transform:uppercase}.auth-divider:before,.auth-divider:after{content:"";height:1px;flex:1;background:#ccdae2}.email-login-form{text-align:left}.email-login-form label{display:block;margin:0 0 6px 3px;color:#365a70;font-size:.82rem;font-weight:1000}.email-login-row{display:flex;gap:8px}.email-login-row input{min-width:0;flex:1;min-height:47px;padding:10px 13px;border:2px solid #b9cfdb;border-radius:12px;background:#fff;color:#183e55;font:inherit}.email-login-row input:focus{outline:3px solid rgba(52,144,207,.22);border-color:#348fcf}.email-login-row button{min-height:47px;padding:9px 14px;border:0;border-radius:12px;background:#0c75b7;color:#fff;font-weight:1000;cursor:pointer}.auth-message{min-height:1.4em;margin:13px 0 4px!important;color:#4d6e80!important;font-size:.83rem}.auth-message.error{color:#b62929!important}.auth-message.success{color:#147445!important}.auth-message.working{color:#0b6396!important}.auth-privacy{display:block;margin-top:9px;color:#708895;font-size:.72rem;font-weight:700}.auth-open{overflow:hidden}
@media(max-width:1060px){.library-hero{flex-wrap:wrap}.library-account{order:3;width:100%}.library-welcome{flex:1}.account-chip{max-width:min(100%,360px)}}
@media(max-width:560px){.email-login-row{flex-direction:column}.email-login-row button{width:100%}.auth-card{padding:25px 17px 22px;border-width:3px}.library-account{order:0;width:auto}.library-hero{display:grid;grid-template-columns:1fr auto}.library-welcome{grid-column:1/-1}.login-button{min-height:43px;padding:7px 12px}.login-button span:last-child{font-size:.78rem}.account-chip{max-width:160px}.account-copy small{display:none}.logout-button{padding:5px 7px}.account-avatar{display:none}}

#watchScreen{align-items:start;padding:10px}.watch-shell{display:flex;flex-direction:column;align-items:center;gap:10px;width:100%;height:calc(100dvh - 84px);margin:auto}.watch-title{display:flex;align-items:center;gap:10px;padding:5px 18px;border:3px solid #fff;border-radius:18px;background:rgba(255,255,255,.9);box-shadow:0 6px 18px rgba(8,47,73,.16);text-align:left}.watch-title>span{font-size:1.8rem}.watch-title h1{margin:0;color:var(--navy);font-size:1.25rem}.watch-title p{margin:1px 0 0;color:#527083;font-size:.84rem;font-weight:900}.watch-player{flex:1;min-height:0;max-width:100%;aspect-ratio:9/16;overflow:hidden;border:5px solid #fff;border-radius:20px;background:#000;box-shadow:var(--shadow)}.watch-player video{display:block;width:100%;height:100%;background:#000;object-fit:contain}.watch-seek{display:grid;grid-template-columns:auto minmax(180px,460px) auto;align-items:center;gap:9px;width:min(100%,560px);padding:7px 12px;border:3px solid #fff;border-radius:16px;background:rgba(255,255,255,.94);box-shadow:0 4px 14px rgba(8,47,73,.16);color:var(--navy);font-size:.82rem;font-weight:900}.watch-seek input{width:100%;height:24px;margin:0;cursor:pointer;accent-color:#ef6f13;touch-action:none}.watch-back-button{flex:none;min-width:190px;background:#fff}
@media(max-width:760px){#watchScreen{padding:7px}.watch-shell{height:calc(100dvh - 70px);gap:7px}.watch-title{padding:3px 13px;border-width:2px}.watch-title>span{font-size:1.35rem}.watch-title h1{font-size:1rem}.watch-title p{font-size:.72rem}.watch-player{border-width:3px;border-radius:14px}.watch-seek{grid-template-columns:auto minmax(120px,1fr) auto;padding:5px 9px;border-width:2px;font-size:.72rem}.watch-back-button{min-height:39px;padding-block:7px}}
.tool-button:disabled{cursor:wait;opacity:.5}
.passcode-card{width:min(94vw,475px);background:linear-gradient(155deg,#fffdf0,#e6f7ff)}.passcode-form{display:grid;gap:11px;text-align:left}.passcode-form label{margin-left:4px;color:#365a70;font-size:.84rem;font-weight:1000}.passcode-form input{width:100%;min-height:54px;padding:11px 15px;border:3px solid #b9cfdb;border-radius:14px;background:#fff;color:#173f57;font:inherit;font-size:1.08rem;font-weight:900;letter-spacing:.06em;text-align:center;text-transform:uppercase}.passcode-form input:focus{outline:4px solid rgba(52,144,207,.2);border-color:#348fcf}.passcode-form .primary{width:100%;margin-top:2px}.passcode-form button:disabled,.passcode-form input:disabled{cursor:wait;opacity:.65}.passcode-cancel{display:block;margin:4px auto 8px;color:#0b6396;background:transparent}.library-book.checking-access{cursor:wait;opacity:.78}.library-book.checking-access .open-status{animation:none}.library-book.checking-access .open-status:after{content:'…'}
.watch-seek{position:relative;z-index:10}.watch-seek:before{content:'CLICK OR DRAG TO JUMP';position:absolute;left:50%;top:-19px;transform:translateX(-50%);padding:2px 9px;border-radius:999px;background:#0b6396;color:#fff;font-size:.62rem;font-weight:1000;letter-spacing:.05em;white-space:nowrap;pointer-events:none}.watch-timeline{position:relative;z-index:11;width:100%;height:38px;cursor:ew-resize!important;touch-action:none;user-select:none;-webkit-user-select:none;outline:none}.watch-timeline:before{content:'';position:absolute;left:0;right:0;top:50%;height:10px;transform:translateY(-50%);border:2px solid #d5e5ec;border-radius:999px;background:#e8f0f4;box-shadow:inset 0 1px 3px rgba(8,47,73,.2)}.watch-timeline-progress{position:absolute;z-index:1;left:0;top:50%;width:0;height:10px;transform:translateY(-50%);border-radius:999px;background:#ef6f13;pointer-events:none}.watch-timeline-thumb{position:absolute;z-index:2;left:0;top:50%;width:24px;height:24px;transform:translate(-50%,-50%);border:3px solid #fff;border-radius:50%;background:#ef6f13;box-shadow:0 2px 7px rgba(8,47,73,.4);pointer-events:none}.watch-timeline:focus-visible .watch-timeline-thumb{box-shadow:0 0 0 4px #ffe066,0 2px 7px rgba(8,47,73,.4)}
.watch-loading{position:absolute;inset:0;z-index:5;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:24px;background:rgba(3,20,31,.88);color:#fff;text-align:center}.watch-loading[hidden]{display:none}.watch-loading strong{font-size:1.08rem}.watch-loading-track{width:min(82%,340px);height:14px;overflow:hidden;border:2px solid rgba(255,255,255,.75);border-radius:999px;background:rgba(255,255,255,.2)}.watch-loading-track span{display:block;width:0;height:100%;border-radius:inherit;background:linear-gradient(90deg,#ffd84b,#ef6f13);transition:width .15s linear}.watch-loading small{font-size:.9rem;font-weight:1000}.watch-player{position:relative}
