/* Layout stays with each page's original image; the puppet is only a drawing layer. */
.page-mascot-puppet-layer {
    position: absolute;
    left: 0;
    top: 0;
    pointer-events: none;
    line-height: 0;
    transform-origin: 0 0;
}
.page-mascot-puppet-layer > .page-mascot-puppet-texture {
    position: absolute !important;
    visibility: hidden !important;
    opacity: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    max-width: none !important;
    max-height: none !important;
    min-width: 0 !important;
    min-height: 0 !important;
}
.page-mascot-puppet-layer > canvas {
    position: absolute;
    pointer-events: none;
    max-width: none;
    max-height: none;
}
.page-mascot-puppet-layer > canvas[hidden] { display: none !important; }
[data-page-puppet-active] > .page-mascot-puppet-source { opacity: 0 !important; }
/* Quiz source images have page-owned !important opacity rules. Keep their
   decoded double buffer and layout intact, showing exactly one drawing. */
body.tw-dashboard.tw-quiz-allenamento #quizContainer.quiz-container .quiz-goat-assistant [data-page-puppet-active] > .quiz-goat-assistant__image,
body.tw-dashboard.tw-quiz-allenamento .mobile-goat-area [data-page-puppet-active] > .quiz-goat-assistant__image {
    opacity: 0 !important;
}
body.tw-dashboard.tw-quiz-allenamento #quizContainer.quiz-container .quiz-goat-assistant:not([data-goat-motion-state^="feedback-"]) .quiz-goat-assistant__motion[data-page-mascot-motion],
body.tw-dashboard.tw-quiz-allenamento .mobile-goat-area:not([data-goat-motion-state^="feedback-"]) .quiz-goat-assistant__motion[data-page-mascot-motion] {
    animation: none !important;
    transform: none !important;
}
@media (prefers-reduced-motion: reduce), print {
    .page-mascot-puppet-layer { display: none !important; }
    [data-page-puppet-active] > .page-mascot-puppet-source { opacity: 1 !important; }
    body.tw-dashboard.tw-quiz-allenamento #quizContainer.quiz-container .quiz-goat-assistant [data-page-puppet-active] > .quiz-goat-assistant__image.is-active,
    body.tw-dashboard.tw-quiz-allenamento .mobile-goat-area [data-page-puppet-active] > .quiz-goat-assistant__image.is-active { opacity: 1 !important; }
}
