/* Kawaii motion layer. Layout, content and the established palette stay intact. */
.mt-motion-toggle{position:fixed;bottom:18px;left:18px;z-index:90;border:1px solid #efb5ce;border-radius:24px;background:#fffdfcf2;color:#9c285b;font:700 11px/1.4 Meiryo,sans-serif;padding:10px 14px;min-height:42px;box-shadow:0 4px 18px #ad275e18;backdrop-filter:blur(8px);cursor:pointer}.mt-motion-toggle:focus-visible{outline:3px solid #743ca5;outline-offset:3px}.mt-motion-toggle[hidden]{display:none}
.mt-spark-field{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:0}.mt-spark{position:absolute;color:#f58dbb;opacity:0;font:32px/1 Georgia;user-select:none;text-shadow:0 0 14px #fff}.mt-spark:nth-child(3n){color:#70cbbf}.mt-spark:nth-child(3n + 1){color:#e6c662}.mt-spark-host{isolation:isolate}.mt-spark-host>.wrap,.mt-spark-host>.tagline,.mt-spark-host>h1,.mt-spark-host>.title-ribbon{position:relative;z-index:1}
body[data-mt-motion=on] .mt-spark{animation:mt-twinkle 5.5s ease-in-out var(--spark-delay,0s) infinite alternate}
@keyframes mt-twinkle{0%,15%{opacity:.1;translate:0 8px;rotate:-16deg;scale:.7}70%,100%{opacity:.65;translate:0 -11px;rotate:16deg;scale:1.1}}
body[data-mt-motion=on] .cover-shot{animation:mt-cover-bob 6s ease-in-out infinite}
body[data-mt-motion=on] .cover-side{animation:mt-side-bob 5s ease-in-out -2s infinite}
body[data-mt-motion=on] .title-scene .heart-note{animation:mt-side-bob 5s ease-in-out infinite}
body[data-mt-motion=on] .title-scene .cloud-note{animation:mt-side-bob 6s ease-in-out -2s infinite}
@keyframes mt-cover-bob{0%,100%{translate:0 0}50%{translate:0 -9px}}
@keyframes mt-side-bob{0%,100%{translate:0 0;rotate:0deg}50%{translate:0 -6px;rotate:2deg}}
.mt-ticker{overflow:hidden;display:block!important;white-space:nowrap;padding-inline:0!important}.mt-ticker-track{display:flex;width:max-content}.mt-ticker-copy{display:block;flex-shrink:0;padding-inline:30px;min-width:100vw}.mt-ticker-copy>span{display:inline-block;margin-inline:24px}
body[data-mt-motion=on] .mt-ticker-track{animation:mt-marquee 30s linear infinite}
@keyframes mt-marquee{to{transform:translateX(-50%)}}
body[data-mt-motion=on] .mt-tilt{transform:var(--mt-base,translateZ(0)) perspective(850px) rotateX(var(--mt-rx,0deg)) rotateY(var(--mt-ry,0deg));transition:transform 220ms ease,box-shadow 220ms ease;will-change:auto}
body[data-mt-motion=on] .mt-tilt.mt-pointing{box-shadow:0 15px 32px #ad275e22;transition:transform 90ms linear,box-shadow 220ms ease}
body[data-mt-motion=on] :is(.btn,.round,.page-turn b,.reader-controls button,.reader-controls a){transition:scale 220ms cubic-bezier(.2,1.7,.4,1),box-shadow 220ms ease}
body[data-mt-motion=on] :is(.btn,.round,.reader-controls button,.reader-controls a):hover{scale:1.045;box-shadow:0 6px 15px #d34f8929}
body[data-mt-motion=on] .page-turn:not(:disabled):hover b{scale:1.13}
body[data-mt-motion=on] :is(.btn,.round,.page-turn b,.reader-controls button):active{scale:.95}
.mt-burst{position:fixed;z-index:100;pointer-events:none;color:#f45296;font:21px/1 Georgia;text-shadow:0 1px 0 white;will-change:transform,opacity;user-select:none}
body[data-mt-motion=off] .mt-spark-field{display:none}
body[data-mt-motion=off] :is(.mt-tilt,.btn,.round,.page-turn b,.reader-controls button,.reader-controls a){transition:none!important;animation:none!important}
body[data-mt-motion=off] .mt-tilt{transform:var(--mt-base,translateZ(0))!important}
@media(max-width:700px){.mt-spark{font-size:22px}.mt-motion-toggle{left:10px;bottom:10px;padding:8px 11px;font-size:10px}.mt-ticker-copy{min-width:0;padding-inline:20px}body[data-mt-motion=on] .cover-shot{animation-duration:7s}}
@media(prefers-reduced-motion:reduce){.mt-spark-field,.mt-motion-toggle{display:none!important}.mt-ticker-track{transform:none!important;animation:none!important}body[data-mt-motion] :is(.cover-shot,.cover-side,.heart-note,.cloud-note,.mt-tilt){animation:none!important;translate:none!important;rotate:none!important;transition:none!important}body[data-mt-motion] :is(.btn,.round,.page-turn b,.reader-controls button,.reader-controls a){transition:none!important;scale:1!important}}
