/* Study39 cover: two ink leaves open onto the page. */
.v8-boot-cover{--v8-cover-ready:1;position:fixed;inset:0;z-index:10000;display:grid;place-items:center;overflow:hidden;isolation:isolate;contain:layout paint;background:transparent;color:#e8cf7a;pointer-events:none;visibility:hidden}
.v8-boot-cover[hidden]{display:none!important}
.v8-boot-cover[data-state=playing]{visibility:visible;animation:v8-cover-exit 1ms linear 1690ms both}
.s22-cover-clips{position:absolute;width:0;height:0;pointer-events:none}
.s22-cover-leaf{position:absolute;inset:0;z-index:0;background:#050509;pointer-events:none;will-change:transform}
.s22-cover-leaf:before{content:"";position:absolute;inset:0;background:url('assets/study36-seigaiha-field.svg') right -18px bottom -24px/min(80vw,900px) auto no-repeat;opacity:.18;pointer-events:none}
.s22-cover-leaf--left{clip-path:url(#s22-cover-left)}
.s22-cover-leaf--right{clip-path:url(#s22-cover-right);background:#08080c}
.v8-boot-cover[data-state=playing] .s22-cover-leaf--left{animation:v39-cover-left 480ms cubic-bezier(.64,0,.18,1) 1180ms both}
.v8-boot-cover[data-state=playing] .s22-cover-leaf--right{animation:v39-cover-right 480ms cubic-bezier(.64,0,.18,1) 1180ms both}
.v8-boot-cover__logo{position:relative;z-index:1;display:block;width:clamp(124px,21vw,198px);max-width:48vw;max-height:48vh;height:auto;overflow:visible}
.v8-boot-cover[data-state=playing] .v8-boot-cover__logo{animation:v39-logo-away 70ms ease-out 1100ms both}
.v8-boot-cover__stroke{fill:none;stroke:#e8cf7a;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1;stroke-dashoffset:1}
.v8-boot-cover__fill{fill:#e8cf7a;opacity:0}
.v8-boot-cover[data-state=playing] .v8-boot-cover__stroke{animation:v39-cover-draw 1000ms cubic-bezier(.3,.9,.8,1) both}
.v8-boot-cover[data-state=playing] .v8-boot-cover__fill{animation:v39-cover-fill 80ms ease-out 980ms both}
.v8-boot-cover__skip{position:absolute;z-index:2;right:max(20px,env(safe-area-inset-right));bottom:max(20px,env(safe-area-inset-bottom));min-width:88px;min-height:44px;padding:10px 16px;border:1px solid #81724b;border-radius:0;background:#08080c;color:#e8cf7a;font:500 13px/1.4 sans-serif;letter-spacing:.02em;pointer-events:none;cursor:pointer}
.v8-boot-cover[data-state=playing] .v8-boot-cover__skip{pointer-events:auto}
.v8-boot-cover__skip:focus-visible{outline:2px solid #e8cf7a;outline-offset:4px}
@keyframes v39-cover-draw{from{stroke-dashoffset:1;opacity:.16}to{stroke-dashoffset:0;opacity:1}}
@keyframes v39-cover-fill{from{opacity:0}to{opacity:1}}
@keyframes v39-logo-away{from{opacity:1}to{opacity:0}}
@keyframes v39-cover-left{to{transform:translateX(-100%)}}
@keyframes v39-cover-right{to{transform:translateX(100%)}}
/* Same event name used by cover22.js; this also removes the cover after JS errors. */
@keyframes v8-cover-exit{from{visibility:visible}to{visibility:hidden}}
@media(prefers-reduced-motion:reduce){.v8-boot-cover,.v8-boot-cover[data-state=playing]{display:none!important;animation:none!important}.v8-boot-cover *{animation:none!important}}
body.reduce-motion .v8-boot-cover{display:none!important}
@media(max-width:360px){.v8-boot-cover__logo{width:132px;max-width:52vw}}
/* Loaded last and scoped to Study39 so Study13's old curtain and handoff cannot win. */
.study39 .v8-boot-cover{background:transparent}
.study39 .v8-boot-cover:before,.study39 .v8-boot-cover:after{display:none!important}
.study39 .v8-boot-cover[data-state=playing]{animation:v8-cover-exit 1ms linear 1690ms both}
.study39 .v8-boot-cover[data-state=playing] .v8-boot-cover__logo{animation:v39-logo-away 70ms ease-out 1100ms both!important}
.study39:has(.v8-boot-cover[data-handoff=true]) .s13-brand img{animation:none!important}
