.ink-path{fill:none;stroke:#000;stroke-width:6px;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:200;stroke-dashoffset:200px}.anim-brush-enter{animation:.8s cubic-bezier(.25,1,.5,1) forwards brushEnter}.anim-brush-draw{animation:1.2s cubic-bezier(.45,0,.55,1) forwards brushDrawUp}.anim-ink-draw{animation:1.2s cubic-bezier(.45,0,.55,1) forwards inkReveal}.anim-brush-exit{animation:.6s ease-in forwards brushExit}@keyframes brushEnter{0%{opacity:1;transform:translate(-50px,50px)rotate(0)}to{opacity:1;transform:translate(80px,130px)rotate(-45deg)}}@keyframes brushDrawUp{0%{transform:translate(80px,130px)rotate(-45deg)}to{transform:translate(80px,-20px)rotate(-45deg)}}@keyframes inkReveal{0%{stroke-dashoffset:200px}to{stroke-dashoffset:0}}@keyframes brushExit{0%{opacity:1;transform:translate(80px,-20px)rotate(-45deg)}to{opacity:0;transform:translate(200px,-100px)rotate(-45deg)}}
.perspective-1200{perspective:1200px}.preserve-3d{transform-style:preserve-3d}.rotate-x-70{transform:rotateX(70deg)}.rotate-x-0{transform:rotateX(0)}.shadow-inner-dark{box-shadow:inset 0 2px 4px #000c}.shadow-surface{box-shadow:0 -10px 30px #0003}.paper-prepare{opacity:1;animation:1s ease-in-out infinite alternate hoverPaper}.paper-drop{opacity:1;animation:1s cubic-bezier(.6,.04,.98,.335) forwards dropPhysics}.box-shake{animation:.3s ease-in-out shakeBox}@keyframes hoverPaper{0%{transform:translate(-50%,-150%)scale(1)}to{transform:translate(-50%,-160%)scale(1)}}@keyframes dropPhysics{0%{opacity:1;transform:translate(-50%,-150%)rotate(0)}to{opacity:0;transform:translate(-50%,40%)rotate(5deg)}}@keyframes shakeBox{0%,to{transform:translateY(0)}25%{transform:translateY(2px)}75%{transform:translateY(-2px)}}
