@keyframes left-arm{0%{transform:rotate(-2deg)}35%{transform:rotate(-12deg)}50%{transform:rotate(-14deg)}65%{transform:rotate(-8deg)}to{transform:rotate(-2deg)}}@keyframes right-arm{0%{transform:rotate(-12deg)}35%{transform:rotate(-3deg)}50%{transform:rotate(-2deg)}65%{transform:rotate(-9deg)}to{transform:rotate(-12deg)}}@keyframes handwheel-spin{0%{transform:rotate(-8deg)scaleX(1)}25%{transform:rotate(-8deg)scaleX(.85)}50%{transform:rotate(-8deg)scaleX(1)}75%{transform:rotate(-8deg)scaleX(.85)}to{transform:rotate(-8deg)scaleX(1)}}@keyframes presser-foot-move{0%{transform:translateY(0)}20%{transform:translateY(2px)}45%{transform:translateY(2px)}65%{transform:translateY(0)}to{transform:translateY(0)}}@keyframes take-up-lever-move{0%{transform:translateY(0)}20%{transform:translateY(-2px)}45%{transform:translateY(-2px)}70%{transform:translateY(0)}to{transform:translateY(0)}}@keyframes cloth-feed{0%{transform:translate(0)rotate(0)}30%{transform:translate(1px,.5px)rotate(.2deg)}50%{transform:translate(2px)rotate(0)}70%{transform:translate(1px,-.3px)rotate(-.1deg)}to{transform:translate(0)rotate(0)}}@keyframes body-sewing{0%{transform:translate(0)}25%{transform:translate(.5px,.5px)}45%{transform:translate(1px,.8px)}60%{transform:translate(.5px,.3px)}75%{transform:translate(0)}to{transform:translate(0)}}@keyframes head-move{0%{transform:translateY(0)rotate(0)}25%{transform:translateY(.4px)rotate(-.2deg)}50%{transform:translateY(.8px)rotate(.2deg)}75%{transform:translateY(.3px)rotate(0)}to{transform:translateY(0)rotate(0)}}@keyframes eye-look{0%{transform:translate(0)}35%{transform:translateY(1px)}50%{transform:translate(.5px,1px)}65%{transform:translate(0)}to{transform:translate(0)}}@keyframes blink{0%,88%,to{transform:scaleY(1)}92%{transform:scaleY(.08)}96%{transform:scaleY(1)}}@keyframes pupil-focus{0%{transform:translate(0)}20%{transform:translateY(.5px)}40%{transform:translateY(1.5px)}60%{transform:translateY(1.5px)}80%{transform:translate(0)}to{transform:translate(0)}}@keyframes right-beard-move{0%{transform:rotate(0)}25%{transform:rotate(-2deg)}50%{transform:rotate(1deg)}75%{transform:rotate(-1deg)}to{transform:rotate(0)}}@keyframes left-beard-move{0%{transform:rotate(0)}25%{transform:rotate(2deg)}50%{transform:rotate(-1deg)}75%{transform:rotate(1deg)}to{transform:rotate(0)}}@keyframes spool-thread-spin{0%{transform:scaleX(1)}50%{transform:scaleX(.88)}to{transform:scaleX(1)}}@keyframes spool-flange-spin{0%{transform:scaleX(1)}50%{transform:scaleX(.82)}to{transform:scaleX(1)}}@keyframes spool-thread{0%{transform:translateY(0)scaleX(1)}50%{transform:translateY(.5px)scaleX(.96)}to{transform:translateY(0)scaleX(1)}}@keyframes mouth-move{0%{transform:translateY(0)}25%{transform:translateY(.4px)}50%{transform:translateY(.8px)}75%{transform:translateY(.3px)}to{transform:translateY(0)}}@keyframes nose-breathe{0%{transform:translateY(0)scale(1)}35%{transform:translateY(.4px)scale(1.015)}50%{transform:translateY(.6px)scale(1.02)}65%{transform:translateY(.2px)scale(1.01)}to{transform:translateY(0)scale(1)}}@keyframes nose-working{0%{transform:translate(0)rotate(0)}30%{transform:translate(.2px,.3px)rotate(-.3deg)}50%{transform:translateY(.5px)rotate(0)}70%{transform:translate(-.2px,.2px)rotate(.2deg)}to{transform:translate(0)rotate(0)}}.cat-working-sewing{--sewing-cycle:.7s;--arm-delay:.25s}.cat-working-sewing svg{width:100%;height:100%}.cat-working-sewing svg .left-arm{transform-origin:270px 230px;transform-box:view-box;animation:left-arm var(--sewing-cycle) ease-in-out infinite}.cat-working-sewing svg .right-arm{transform-origin:140px 225px;transform-box:view-box;animation:right-arm var(--sewing-cycle) ease-in-out infinite;animation-delay:var(--arm-delay)}.cat-working-sewing svg .handwheel{transform-origin:325px 166px;transform-box:view-box;animation:handwheel-spin var(--sewing-cycle) linear infinite}.cat-working-sewing svg .presser-foot{animation:presser-foot-move calc(var(--sewing-cycle) / 2) linear infinite alternate}.cat-working-sewing svg .take-up-lever{animation:take-up-lever-move var(--sewing-cycle) linear infinite}.cat-working-sewing svg .cloth{animation:cloth-feed calc(var(--sewing-cycle) / 2) linear infinite}.cat-working-sewing svg .body{animation:body-sewing var(--sewing-cycle) ease-in-out infinite}.cat-working-sewing svg .head{transform-origin:190px 160px;transform-box:view-box;animation:head-move var(--sewing-cycle) ease-in-out infinite}.cat-working-sewing svg .left-eye,.cat-working-sewing svg .right-eye{transform-origin:50%;transform-box:fill-box}.cat-working-sewing svg .left-eye{animation:4.2s ease-in-out infinite blink}.cat-working-sewing svg .right-eye{animation:4.2s ease-in-out 80ms infinite blink}.cat-working-sewing svg .left-pupil,.cat-working-sewing svg .right-pupil{animation:3.2s ease-in-out infinite pupil-focus}.cat-working-sewing svg .right-beard{transform-origin:130px 135px;transform-box:view-box;animation:right-beard-move var(--sewing-cycle) ease-in-out infinite}.cat-working-sewing svg .left-beard{transform-origin:253px 130px;transform-box:view-box;animation:left-beard-move var(--sewing-cycle) ease-in-out infinite}.cat-working-sewing svg .sewing-spool .bottom-spool-flange,.cat-working-sewing svg .sewing-spool .top-spool-flange{transform-origin:299.53px 128px;transform-box:view-box;animation:spool-flange-spin var(--sewing-cycle) linear infinite}.cat-working-sewing svg .sewing-spool .spool-thread{transform-origin:299.53px 128px;transform-box:view-box;animation:spool-thread-spin var(--sewing-cycle) linear infinite}.cat-working-sewing svg .mouth{animation:mouth-move var(--sewing-cycle) ease-in-out infinite}.cat-working-sewing svg .nose{transform-origin:214px 125px;transform-box:view-box;animation:nose-breathe var(--sewing-cycle) ease-in-out infinite}.hero-craft{flex-direction:column;align-items:center;display:flex}@media (width>=64rem){.hero-craft{min-height:600px;display:block}}.hero-craft .background{z-index:0;pointer-events:none;position:absolute;inset:0}@media (width>=64rem){.hero-craft .step-list{z-index:1;pointer-events:none;position:absolute;inset:0}}.hero-craft .step{font-size:10px;font-weight:var(--font-weight-medium);letter-spacing:.08em;white-space:nowrap;line-height:1;position:absolute;top:0;transform:translate(-50%,6px)}@media (width>=64rem){.hero-craft .step{top:auto;transform:translateY(6px)}.hero-craft .step:first-child{top:12%;left:15%}.hero-craft .step:nth-child(2){top:25%;right:14%}.hero-craft .step:nth-child(3){bottom:50%;right:20%}.hero-craft .step:nth-child(4){bottom:10%;left:18%}}.hero-craft .thread-wrapper{z-index:2;pointer-events:none;position:absolute;inset:0}.hero-craft .thread{display:none}@media (width>=64rem){.hero-craft .thread{width:100%;height:100%;display:block;overflow:visible}}.hero-craft .thread-path{opacity:.8;fill:none;stroke:var(--color-stone-100);stroke-width:2px;stroke-linecap:round;stroke-linejoin:round}.hero-craft .materials{z-index:3;pointer-events:none;position:absolute;inset:0}.hero-craft .fabric,.hero-craft .pattern{position:absolute}.hero-craft .pattern{aspect-ratio:3/4;border:1px dashed #ffffffa6;border-radius:48% 52% 42% 58%/18% 20% 80% 82%;width:min(18dvw,260px);top:14%;right:14%;transform:rotate(-8deg)}.hero-craft .pattern:before{content:"";border-block:1px dashed #fff6;position:absolute;inset:10%}.hero-craft .pattern:after{content:"";border-left:1px dashed #fff6;width:1px;height:70%;position:absolute;top:15%;left:50%}.hero-craft .fabric{aspect-ratio:4/3;background:repeating-linear-gradient(0deg,#ffffff14 0 1px,#0000 1px 8px),repeating-linear-gradient(90deg,#ffffff0f 0 1px,#0000 1px 8px);border:1px solid #fff3;width:min(20dvw,280px);bottom:20%;right:12%}.hero-craft .finished-item{width:min(50dvw,320px)}@media (width>=64rem){.hero-craft .finished-item{z-index:5;aspect-ratio:1;pointer-events:none;width:min(22dvw,320px);position:absolute;bottom:8%;right:7%}}
