/* Camada exclusiva do mini-app: não altera o modelo editorial. */
:root{--motion-ease:cubic-bezier(.22,1,.36,1)}
.button,.turn-button,.chapter-tile,.app-nav a,.round-link,.avatar-button,.filter-button,.case-tabs button,.notebook-tabs button{transition:transform .32s var(--motion-ease),background-color .25s ease,border-color .25s ease,box-shadow .32s ease}
.app-nav a:hover,.app-nav a:focus-visible{transform:translateX(3px)}
.chapter-tile:hover{transform:translateY(-3px);box-shadow:0 8px 22px #102d4312}
.book-object{transition:transform .75s var(--motion-ease),filter .6s ease}
.book-object:hover{transform:perspective(1000px) rotateY(-5deg) rotateZ(-1deg) translateY(-3px)}
.turn-forward,.turn-back{animation:none}.chart-fill{transform-origin:left center}
.question-prop{animation:guideFloat 5.6s ease-in-out infinite!important}.question-prop:hover{animation-play-state:paused!important}.question-prop.bump{animation:guideFloat 5.6s ease-in-out infinite!important}
.portal-prop{animation:portalGlow 4.5s ease-in-out infinite}
.mini-world>.sprite,.rail-companion>.sprite{animation:companionBreathe 5.5s ease-in-out infinite}
.book-ribbon{transition:opacity .28s ease}.bottom-nav a{transition:color .25s ease,transform .3s var(--motion-ease)}.bottom-nav a:active{transform:translateY(-2px)}
.tiny-chest{width:76px;height:76px;right:-9px;top:-5px;border:0;opacity:1!important;transition:filter .3s ease;z-index:2}
.tiny-chest:hover{filter:drop-shadow(0 0 9px #edc55c77)}
.godot-chest,.tiny-chest>span{--chest-size:76px;display:block;position:relative;width:var(--chest-size);height:var(--chest-size);border:0;border-radius:0;box-shadow:none;background-image:url('assets/chest-opening-atlas.png');background-repeat:no-repeat;background-size:calc(var(--chest-size) * 8) calc(var(--chest-size) * 4);background-position:0 0;image-rendering:auto}
.tiny-chest>span:after{display:none}.tiny-chest:disabled{opacity:1;cursor:progress}
.page-end{min-height:80px}.collectible.found .collectible-icon.chest{width:105px;height:85px;background:transparent url('assets/chest-open.png') center 75%/105px 105px no-repeat;border:0;outline:0;color:transparent;font-size:0;box-shadow:none}
.chest-reveal{position:relative;height:245px;margin:-12px auto 22px;max-width:390px;overflow:hidden;isolation:isolate;border-bottom:2px solid #c5ab66}
.revealed-chest{--chest-size:256px;position:absolute;bottom:0;left:50%;margin-left:-128px;z-index:3}
.chest-rays{position:absolute;left:50%;bottom:43px;width:205px;height:170px;transform:translateX(-50%);background:conic-gradient(from -28deg at 50% 100%,transparent 0 7deg,#edc55c33 7deg 15deg,transparent 15deg 22deg,#ffe29b22 22deg 38deg,transparent 38deg 50deg,#edc55c33 50deg 60deg,transparent 60deg);filter:blur(4px);animation:rewardLight 2.8s ease-in-out infinite;z-index:1}
.chest-ground{position:absolute;bottom:-3px;height:19px;left:0;right:0;background:url('assets/ground-mini.png') top/230px 77px repeat-x;z-index:4}
.celebration-party{position:absolute;inset:0;z-index:2}.celebration-person{position:absolute;bottom:14px;left:1%;width:100px;height:100px;background:url('assets/heroes-celebration-web.png') 0 0/600px 200px no-repeat;image-rendering:pixelated;animation:celebratePose 1.5s steps(1,end) 1,celebrateLift 1.5s ease-in-out 1}
.celebration-person.jeisa{left:auto;right:1%;background-position:0 -100px;animation-name:celebratePoseJeisa,celebrateLift}
.chest-sparks{position:absolute;inset:0;z-index:5;pointer-events:none}.chest-sparks i{position:absolute;left:48%;bottom:85px;width:5px;height:5px;background:#ffdc7c;box-shadow:0 0 9px #edc55c;animation:chestSpark 1.8s ease-out 2;--spark-x:-70px;--spark-y:-105px}
.chest-sparks i:nth-child(2){--spark-x:70px;--spark-y:-130px;animation-delay:.14s;background:#72e4d4}.chest-sparks i:nth-child(3){--spark-x:-105px;--spark-y:-60px;animation-delay:.3s}.chest-sparks i:nth-child(4){--spark-x:100px;--spark-y:-80px;animation-delay:.44s;background:#72e4d4}.chest-sparks i:nth-child(5){--spark-x:-25px;--spark-y:-170px;animation-delay:.6s}.chest-sparks i:nth-child(6){--spark-x:35px;--spark-y:-145px;animation-delay:.75s}
#dialog[open]{transform-origin:center center}#dialog::backdrop{animation:backdropIn .25s ease-out}#toast.show{animation:toastIn .3s var(--motion-ease)}
@keyframes guideFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-5px)}}
@keyframes portalGlow{0%,100%{filter:drop-shadow(0 3px 4px #102d4330)}50%{filter:drop-shadow(0 0 8px #56daca66)}}
@keyframes companionBreathe{0%,100%{transform:translateY(0) scale(1)}50%{transform:translateY(-2px) scale(1.008)}}
@keyframes rewardLight{0%,100%{opacity:.45}50%{opacity:.85}}
@keyframes chestSpark{0%{transform:translate(0,0) scale(.3);opacity:0}18%{opacity:1}100%{transform:translate(var(--spark-x),var(--spark-y)) scale(.4);opacity:0}}
@keyframes celebratePose{0%,100%{background-position:0 0}15%{background-position:-100px 0}30%{background-position:-200px 0}45%{background-position:-300px 0}60%{background-position:-400px 0}80%{background-position:-500px 0}}
@keyframes celebratePoseJeisa{0%,100%{background-position:0 -100px}15%{background-position:-100px -100px}30%{background-position:-200px -100px}45%{background-position:-300px -100px}60%{background-position:-400px -100px}80%{background-position:-500px -100px}}
@keyframes celebrateLift{0%,40%,100%{transform:translateY(0)}63%{transform:translateY(-9px)}80%{transform:translateY(0)}}
@keyframes backdropIn{from{background-color:#071d2e00}to{background-color:#071d2ed0}}
@keyframes toastIn{from{opacity:0;translate:0 8px}to{opacity:1;translate:0 0}}
@media(max-width:600px){.tiny-chest{right:-16px}.chest-reveal{height:225px;margin-top:-18px}.celebration-person{left:-7%;bottom:14px}.celebration-person.jeisa{right:-7%}.revealed-chest{--chest-size:224px;margin-left:-112px}.page-end{padding-left:25px;padding-right:55px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.chest-rays{opacity:.5}.chest-sparks{display:none}}
@media(prefers-reduced-motion:reduce){#dialog::backdrop,.question-prop,.question-prop.bump{animation:none!important}}
