.stitch-bg{background-color:var(--c-bg);background-image:var(--stitch-bg)}.yarn-bits{pointer-events:none;position:absolute;inset:0;overflow:hidden}.yarn-bit{width:var(--s,18px);height:var(--s,18px);background:radial-gradient(circle at 35% 30%, #fff9, transparent 55%), var(--c,var(--c-blush-300));opacity:.7;will-change:transform;animation:yarn-float var(--dur-float) var(--ease-in-out) infinite;animation-delay:var(--d,0s);border-radius:50%;position:absolute}.yarn-bit.loop{width:var(--s,28px);height:calc(var(--s,28px) * .6);border:2.5px solid var(--c,var(--c-blush-500));border-color:var(--c) transparent transparent transparent;background:0 0;border-radius:50% 50% 0 0}@keyframes yarn-float{0%,to{transform:translate(0,0)rotate(0)}33%{transform:translate(6px,-14px)rotate(12deg)}66%{transform:translate(-5px,-6px)rotate(-8deg)}}@media (prefers-reduced-motion:reduce){.yarn-bit{animation:none}}.card{transition:box-shadow var(--dur-base) var(--ease-out), transform var(--dur-base) var(--ease-out)}.card:hover,.card:focus-within{box-shadow:var(--shadow-lift);transform:translateY(-3px)}.card:hover .card-media>:first-child,.card:focus-within .card-media>:first-child{animation:card-wiggle var(--dur-gentle) var(--ease-spring) 1}@keyframes card-wiggle{0%{transform:rotate(0)scale(1)}30%{transform:rotate(-3deg)scale(1.04)}60%{transform:rotate(2deg)scale(1.04)}to{transform:rotate(0)scale(1.03)}}@media (prefers-reduced-motion:reduce){.card,.card:hover,.card:focus-within{transition:box-shadow var(--dur-quick) linear;transform:none}.card:hover .card-media>:first-child,.card:focus-within .card-media>:first-child{animation:none}}.thread{cursor:grab;touch-action:none;background:0 0;border:0;width:44px;height:140px;margin-left:-22px;padding:0;position:absolute;top:0}.thread svg{width:44px;height:100%;display:block;overflow:visible}.thread .t-line{transform-origin:22px 0;transition:transform var(--dur-gentle) var(--ease-spring)}.thread.is-pulled .t-line{transition-duration:var(--dur-quick);transition-timing-function:var(--ease-out);transform:scaleY(1.25)}.thread:focus-visible{outline:3px solid var(--c-rose-700);outline-offset:2px;border-radius:8px}@media (prefers-reduced-motion:reduce){.thread .t-line{transition:none}}.btn{transition:background-color var(--dur-quick) var(--ease-out), transform var(--dur-instant) var(--ease-out)}.btn:active{transform:scale(.97)}@media (prefers-reduced-motion:reduce){.btn:active{transform:none}}.home-hero{border-bottom:1px solid var(--c-line);background:radial-gradient(ellipse 70% 80% at 85% 30%, var(--c-blush-100), transparent 70%), radial-gradient(ellipse 50% 60% at 0% 100%, var(--c-surface-2), transparent 70%), var(--c-bg);position:relative;overflow:hidden}.home-hero:before{content:"";background-image:var(--stitch-bg);opacity:.9;pointer-events:none;position:absolute;inset:0}.cat-stage{aspect-ratio:1.05;width:100%;position:relative}.cat-blob{background:var(--c-surface);box-shadow:var(--shadow-card);border-radius:46% 54% 48% 52%/52% 44% 56% 48%;position:absolute;inset:6% 4% 2% 6%}.cat-blob:after{content:"";border-radius:inherit;background-image:var(--stitch-bg);position:absolute;inset:0}.cat-wrap{aspect-ratio:320/270;-webkit-tap-highlight-color:transparent;position:absolute;bottom:6%;left:10%;right:6%}.cat-wrap svg{width:100%;height:100%;display:block}.cat-bubble{background:var(--c-surface);border:1px solid var(--c-line);box-shadow:var(--shadow-card);border-radius:18px 18px 4px;padding:8px 12px;font-size:14px;font-weight:500;position:absolute;top:6%;left:0}.cat-stage .thread{z-index:1;left:62%}@media (max-width:1023px){.cat-stage .thread{margin-left:0;left:auto;right:8%}}
