/* Shared art units keep equipment and paws together at every room size. */
.dj-station{position:absolute;width:calc(var(--dj-unit,1px)*160);height:calc(var(--dj-unit,1px)*160);transform:translate(-50%,-90.625%);padding:0;background:none;border-radius:16px;touch-action:manipulation;min-height:0;pointer-events:auto;cursor:pointer;-webkit-tap-highlight-color:transparent}
.dj-station svg{width:100%;height:100%;overflow:visible;pointer-events:none;filter:drop-shadow(0 3px 0 #32254114)}
.dj-station:focus-visible{outline:3px dashed #a95d91;outline-offset:5px}.dj-station:active{filter:brightness(1.08)}
.dj-station.working .dj-hit,.dj-station.working .dj-drumskin,.dj-station .dj-leaf{animation:none}
.dj-cat{position:absolute;width:calc(var(--dj-unit,1px)*160);height:calc(var(--dj-unit,1px)*180);min-height:0;background:none;border-radius:40%;padding:0;transform:translate(-50%,-87.77778%);touch-action:manipulation;cursor:pointer;will-change:auto;-webkit-tap-highlight-color:transparent}
.dj-cat>svg{width:100%;height:100%;overflow:visible;pointer-events:none}
.nj-view{display:none}.nj-front{display:inline}[data-view=side] .nj-front,[data-view=back] .nj-front{display:none}[data-view=side] .nj-side,[data-view=back] .nj-back{display:inline}
.nj-lids,.nj-tools{display:none}.dj-cat .nj-lids{display:inline}.dj-cat[data-action=drum] .nj-tools{display:inline}
.nj-nap-body{display:none}.dj-napping .nj-nap-body{display:inline;opacity:var(--nap,1)}.dj-napping :is(.nj-torso,.nj-limbs-front,.nj-limbs-back,.nj-tail,.nj-tail-outline){opacity:calc(1 - var(--nap,1))}
.nj-speed{opacity:0;pointer-events:none}.nj-swipe{display:none}.dj-cat.dj-contact:is(.punch,.combo,.kick,.roundhouse,.flyingkick,.spinkick,.pounce,.throw,.kata) .nj-swipe{display:inline}
[data-view=side] .nj-limbs-back{filter:brightness(.84)}[data-view=back] .nj-limbs-front{filter:brightness(.92)}
.dj-cat .dj-sleepy{display:none;font-size:19px;fill:#735c97;font-weight:900}.dj-cat.sleep .dj-sleepy{display:block;animation:dj-zz 2.8s infinite}
.dj-cat .dj-name{opacity:0;text-anchor:middle;paint-order:stroke;stroke:#fff5df;stroke-width:4px;stroke-linejoin:round;fill:#5c4657;font-size:13px;font-weight:900;transition:opacity .2s}.dj-cat:focus-visible .dj-name,.dj-cat.selected .dj-name{opacity:1}
.dj-projectile{position:absolute;width:calc(var(--dj-unit,1px)*27);height:calc(var(--dj-unit,1px)*27);pointer-events:none;z-index:1200;filter:drop-shadow(-5px 1px 2px #fff3cd88)}.dj-projectile svg{width:100%;height:100%}
.dj-fx{position:absolute;pointer-events:none;z-index:1200;color:var(--fx-color,#ffe8a8)}
.dj-fx-burst{width:1px;height:1px;animation:dj-fade .4s both}.dj-fx-burst i{position:absolute;width:calc(var(--dj-unit)*5);height:calc(var(--dj-unit)*18);border-radius:70%;background:var(--fx-color);transform-origin:50% 0;animation:dj-ray .38s both;--angle:0deg}.dj-fx-burst i:nth-child(2){--angle:60deg}.dj-fx-burst i:nth-child(3){--angle:120deg}.dj-fx-burst i:nth-child(4){--angle:180deg}.dj-fx-burst i:nth-child(5){--angle:240deg}.dj-fx-burst i:nth-child(6){--angle:300deg}
.dj-fx-ring{width:calc(var(--dj-unit)*31);height:calc(var(--dj-unit)*31);border:calc(var(--dj-unit)*3) solid var(--fx-color);border-radius:50%;animation:dj-ring .45s ease-out both}
.dj-fx-dust{width:calc(var(--dj-unit)*50);height:calc(var(--dj-unit)*12);border:calc(var(--dj-unit)*4) solid #fff2d49c;border-top:0;border-radius:50%;animation:dj-ring .5s ease-out both}
.dj-fx-word{font-size:calc(var(--dj-unit)*24);font-weight:1000;white-space:nowrap;text-shadow:0 2px #82607977;animation:dj-word 1s ease-out both}
@keyframes dj-ray{from{transform:rotate(var(--angle)) translateY(2px) scaleY(.35)}to{transform:rotate(var(--angle)) translateY(calc(var(--dj-unit)*28)) scaleY(.15)}}
@keyframes dj-fade{0%{opacity:0}15%{opacity:1}100%{opacity:0}}
@keyframes dj-ring{from{transform:translate(-50%,-50%) scale(.3);opacity:.9}to{transform:translate(-50%,-50%) scale(1.8);opacity:0}}
@keyframes dj-word{0%{transform:translate(-50%,0) scale(.55);opacity:0}15%{transform:translate(-50%,-10px) scale(1.15);opacity:1}30%{transform:translate(-50%,-14px) scale(1)}100%{transform:translate(-50%,-45px);opacity:0}}
@media(prefers-reduced-motion:reduce){.dj-fx,.dj-projectile{display:none}.dj-cat .dj-sleepy{animation:none}}
