/* Motion is concentrated in the entrance and the existing reading ceremony. */
body.cm-ready .masthead .restored-hero>img{animation:cmPush 18s ease-in-out infinite alternate;transform-origin:50% 40%}
@keyframes cmPush{from{transform:scale(1)}to{transform:scale(1.09)}}
.masthead .restored-hero-title{isolation:isolate;position:relative}
.masthead .restored-hero-title .cm-orbit{position:absolute!important;z-index:-1;pointer-events:none;left:50%;top:45%;width:270px;height:270px;background:none!important;filter:none!important;opacity:.3;transform:translate(-50%,-50%);animation:cmOrbit 100s linear infinite}
.cm-orbit svg{width:100%;height:100%;stroke:#d6bb83;stroke-width:.65;filter:drop-shadow(0 0 4px #c7a57133)}
@keyframes cmOrbit{to{transform:translate(-50%,-50%) rotate(360deg)}}
body.cm-ready .masthead .restored-hero-title a>span{background:linear-gradient(110deg,#d8bd8c 20%,#f5e8c9 42%,#fff5de 48%,#d8bd8c 57%,#eddbb8 80%);background-size:250% 100%;background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;animation:cmGild 11s ease-in-out infinite}
@keyframes cmGild{0%,55%{background-position:100% 0}90%,100%{background-position:0 0}}
.cm-dust{position:fixed;inset:0;pointer-events:none;z-index:0;overflow:hidden;opacity:.65;transition:opacity .8s}
.cm-dust i{position:absolute;width:2px;height:2px;border-radius:50%;background:#ddc399;box-shadow:0 0 6px #dbb68377;animation:cmFloat var(--duration) ease-in-out var(--delay) infinite}
@keyframes cmFloat{0%,100%{opacity:.12;transform:translate3d(0,18px,0)}50%{opacity:.7;transform:translate3d(12px,-24px,0)}}
body:not([data-route="home"]) .cm-dust{opacity:.12}
.cm-ready .portal-group.cm-entered .chara-frame{animation:cmPortrait .9s cubic-bezier(.2,.7,.2,1) both}
.cm-ready .portal-group.cm-entered .portal-stage-actions{animation:cmAction .6s .12s cubic-bezier(.2,.7,.2,1) both}
@keyframes cmPortrait{from{opacity:0;transform:translate3d(-12px,16px,0)}to{opacity:1;transform:none}}
@keyframes cmAction{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
body:not(.theme-pop) .home-portal .portal-entry{position:relative;overflow:hidden;transition:transform .16s,border-color .2s,filter .2s}
body:not(.theme-pop) .home-portal .portal-entry::after{content:"";display:block;position:absolute;inset:0;pointer-events:none;background:linear-gradient(110deg,transparent 35%,#f1dfb62b 50%,transparent 65%);transform:translateX(-120%);transition:transform .55s}
body:not(.theme-pop) .home-portal .portal-entry:hover::after,body:not(.theme-pop) .home-portal .portal-entry:focus-visible::after{transform:translateX(120%)}
body:not(.theme-pop) .home-portal .portal-entry:active{transform:translateY(2px) scale(.975);filter:brightness(1.12)}
body:not(.theme-pop) #veil.on:not(.done) .veil-inner{animation:cmCeremony 3s ease-in-out infinite}
@keyframes cmCeremony{0%,100%{filter:drop-shadow(0 0 8px #c7a57122)}50%{filter:drop-shadow(0 0 24px #c7a57177)}}
body:not(.theme-pop) #veil.on .veil-embers{opacity:.8}
body:not(.theme-pop) #veil.done .veil-inner{animation:none}
@media(prefers-reduced-motion:reduce){body.cm-ready .masthead .restored-hero>img,.masthead .restored-hero-title .cm-orbit,body.cm-ready .masthead .restored-hero-title a>span,.cm-dust i,.cm-ready .portal-group.cm-entered .chara-frame,.cm-ready .portal-group.cm-entered .portal-stage-actions,body:not(.theme-pop) #veil.on:not(.done) .veil-inner{animation:none}.cm-dust{display:none}body:not(.theme-pop) .home-portal .portal-entry,body:not(.theme-pop) .home-portal .portal-entry::after{transition:none}}
