/* Studio ident only. The approved Book Crush title lives unchanged in opening.css. */
#studio-ident{display:grid;grid-template-columns:100%;place-items:center;justify-content:normal;align-content:center;padding:0;isolation:isolate;background:#07070a;overflow:hidden;opacity:1}
#studio-ident:focus{outline:none}
#studio-ident:after{content:none}
#studio-ident .cm-paint{position:absolute;width:100%;height:100%;inset:0;overflow:visible;pointer-events:none}
#studio-ident .cm-draw{stroke-dasharray:1;stroke-dashoffset:1}
#studio-ident .cm-splatter{transform-box:fill-box;transform-origin:center;opacity:0}
#studio-ident .cm-void{position:absolute;inset:0;background:radial-gradient(ellipse 46% 18% at 50% 50%,#07070aff 38%,#07070aee 65%,#07070a00 100%);opacity:0;pointer-events:none}
#studio-ident .cm-wordmark{position:relative;z-index:2;width:100%;margin:0;padding:0 6%;font-family:MischiefDisplay,Impact,'Arial Narrow',sans-serif;font-weight:400;font-size:clamp(50px,16vw,74px);line-height:1.04;letter-spacing:-.018em;text-align:center;color:#fff;text-shadow:1px 0 #ff34ca,-1px 0 #25eeff;opacity:0;transform:translateZ(0)}
#studio-ident .cm-wordmark>span{display:block;position:relative;width:max-content;max-width:100%;margin:0 auto}
#studio-ident .cm-wordmark i{font-style:normal;color:#d9ff64;text-shadow:none}
#studio-ident .cm-wordmark>span:before,#studio-ident .cm-wordmark>span:after{content:attr(data-word);position:absolute;inset:0;opacity:0;pointer-events:none;text-shadow:none;color:#ff34ca;clip-path:inset(30% 0 42%)}
#studio-ident .cm-wordmark>span:after{color:#25eeff;clip-path:inset(65% 0 15%)}
#studio-ident .cm-skip{position:absolute;inset:0;z-index:5;width:100%;height:100%;border:0;border-radius:0;padding:0;background:none;box-shadow:none;color:transparent;cursor:pointer;-webkit-tap-highlight-color:transparent}
#studio-ident .cm-skip:focus{outline:none}#studio-ident .cm-skip:focus-visible{outline:2px solid #25eeff;outline-offset:-5px}
#studio-ident .cm-bucket{opacity:0;transform-origin:82px 532px}
#studio-ident.cm-running{animation:cmExit 2500ms linear both}
#studio-ident.cm-running .cm-draw{animation:cmDraw 780ms 90ms cubic-bezier(.12,.57,.22,1) both}
#studio-ident.cm-running .cm-draw-secondary{animation-delay:170ms;animation-duration:700ms}
#studio-ident.cm-running .cm-splatter{animation:cmSplatter 620ms var(--d,340ms) cubic-bezier(.1,.8,.24,1) both}
#studio-ident.cm-running .cm-void{animation:cmVoid 470ms 420ms ease-out both}
#studio-ident.cm-running .cm-wordmark{animation:cmType 560ms 410ms cubic-bezier(.14,.82,.3,1) both}
#studio-ident.cm-running .cm-wordmark>span:before{animation:cmSlice 320ms 660ms steps(1,end) both}
#studio-ident.cm-running .cm-wordmark>span:after{animation:cmSlice 290ms 690ms steps(1,end) reverse both}
#studio-ident.cm-running[data-variant=bucket] .cm-bucket{animation:cmTip 850ms ease-in-out both}
#studio-ident.cm-running[data-variant=bucket] .cm-draw{animation-delay:210ms}
#studio-ident.cm-running[data-variant=bucket] .cm-draw-secondary{animation-delay:270ms}
#studio-ident.cm-running[data-variant=bucket] .cm-wordmark{animation-delay:500ms}
@keyframes cmDraw{0%{stroke-dashoffset:1}100%{stroke-dashoffset:0}}
@keyframes cmSplatter{0%{opacity:0;transform:translate(-22px,35px) scale(.1)}20%{opacity:1}65%{opacity:1;transform:translate(0,0) scale(1.08)}100%{opacity:.82;transform:translate(2px,-4px) scale(1)}}
@keyframes cmVoid{from{opacity:0;transform:scaleX(.2) skewY(-14deg)}to{opacity:1;transform:scaleX(1) skewY(0)}}
@keyframes cmType{0%{opacity:0;clip-path:polygon(0 100%,0 100%,0 100%,0 100%);transform:translate(-14px,12px) skewX(-8deg)}30%{opacity:1;clip-path:polygon(0 65%,67% 0,83% 0,0 100%)}65%{opacity:1;clip-path:polygon(0 0,100% 0,100% 100%,0 100%);transform:translate(2px,0) skewX(1deg)}100%{opacity:1;clip-path:polygon(0 0,100% 0,100% 100%,0 100%);transform:translate(0,0) skewX(0)}}
@keyframes cmSlice{0%,100%{opacity:0;transform:none}15%{opacity:.9;transform:translateX(8px)}40%{opacity:.75;transform:translateX(-5px)}70%{opacity:.8;transform:translateX(3px)}}
@keyframes cmTip{0%{opacity:0;transform:translate(-35px,10px) rotate(-35deg)}12%{opacity:1}30%{opacity:1;transform:translate(0,0) rotate(12deg)}58%{opacity:1;transform:translate(3px,-3px) rotate(80deg)}78%{opacity:.9;transform:translate(3px,9px) rotate(96deg)}100%{opacity:0;transform:translate(-15px,38px) rotate(108deg)}}
@keyframes cmExit{0%,86%{opacity:1}100%{opacity:0}}
/* Preview controls may hold the final artwork; production always finishes at 2.5 s. */
#studio-ident.cm-hold{animation:none;opacity:1}
#studio-ident.cm-hold .cm-draw{animation:none;stroke-dashoffset:0}
#studio-ident.cm-hold .cm-splatter{animation:none;opacity:.82;transform:none}
#studio-ident.cm-hold .cm-wordmark,#studio-ident.cm-hold .cm-void{animation:none;opacity:1;transform:none;clip-path:none}
#studio-ident.cm-hold .cm-wordmark>span:before,#studio-ident.cm-hold .cm-wordmark>span:after,#studio-ident.cm-hold .cm-bucket{display:none}
@media(prefers-reduced-motion:reduce){#studio-ident.cm-running,#studio-ident *,#studio-ident *:before,#studio-ident *:after{animation:none!important;transition:none!important}#studio-ident .cm-draw{stroke-dashoffset:0}#studio-ident .cm-splatter{opacity:.82}#studio-ident .cm-wordmark,#studio-ident .cm-void{opacity:1}#studio-ident .cm-bucket{display:none}}
