.grimmy-pet{perspective:400px;width:100%;height:100%;display:inline-block;position:relative}.grimmy-pet img{object-fit:contain;transform-origin:50%;filter:drop-shadow(1px 3px 2px #0008);width:100%;height:100%;display:block}.grimmy-pet[data-grimmy-state=turn] img{animation:.65s ease-in forwards grimmy-brb-turn}.grimmy-pet[data-grimmy-state=away] img{visibility:hidden}.grimmy-speech{visibility:hidden;z-index:2147483600;color:#f4f4f4;overflow-wrap:anywhere;white-space:normal;pointer-events:none;-webkit-user-select:none;user-select:none;background:#fff2dd;border:2px solid #291416;border-radius:0;width:max-content;max-width:min(260px,100vw - 16px);padding:10px 13px;font:13px/1.45 Courier New,monospace;position:fixed;box-shadow:3px 3px #0008}.grimmy-speech:after{content:"";left:calc(var(--tail-x,50%) - 5px);background:#fff2dd;border-bottom:2px solid #291416;border-right:2px solid #291416;width:10px;height:10px;position:absolute;bottom:-7px;transform:rotate(45deg)}@keyframes grimmy-brb-turn{0%{opacity:1;transform:rotateY(0)}80%{opacity:1;transform:rotateY(180deg)}to{opacity:0;transform:rotateY(180deg)}}@media (prefers-reduced-motion:reduce){.grimmy-pet[data-grimmy-state=turn] img{opacity:0;animation:none}}.animal-pet{aspect-ratio:1;width:100%;image-rendering:pixelated;flex-shrink:0;display:block;overflow:hidden}.pet-art:has(.animal-pet){place-items:center;width:100%;height:100%;display:grid}.pet-art>.animal-pet{width:min(100%,220px);height:auto}.cursor-pet:has(.animal-pet){opacity:.95;filter:none;width:88px;height:88px}.cursor-pet>.animal-pet{transform-origin:50% 85%;width:88px;height:88px;animation:7s ease-in-out infinite animal-breathe}.shop-dialog .animal-pet{width:min(100%,300px);margin:auto}@keyframes animal-breathe{0%,to{transform:scaleY(1)}50%{transform:scaleY(1.012)}}@media (prefers-reduced-motion:reduce){.cursor-pet>.animal-pet{animation:none}}body .space-app .shop-card.pet-card :is(h2,.shop-price,button,.shop-card-stamp){color:#fff}body .space-app .shop-card.pet-card .shop-art{background:#191919}body .space-app .shop-card.pet-card .shop-price span{color:#fff}.mascot-pet{aspect-ratio:1;width:100%;display:block;position:relative;overflow:visible}.mascot-pet>svg{width:100%;height:100%;display:block;overflow:hidden}.pet-art:has(.mascot-pet){place-items:center;width:100%;height:100%;display:grid}.pet-art>.mascot-pet{width:min(100%,230px)}.pet-preview>.mascot-pet{width:min(100%,320px);margin:auto}.cursor-pet:has(.mascot-pet){filter:drop-shadow(0 2px 2px #0007);width:108px;height:108px}.cursor-pet>.mascot-pet{width:108px;height:108px}.cursor-pet .mascot-pet[data-mascot-action=walk]>svg{animation:.48s linear infinite mascot-stride}@keyframes mascot-stride{0%,to{transform:translateY(0)}50%{transform:translateY(-2px)}}body .space-app .shop-card:has(.mascot-pet) :is(h2,button,.shop-price span,.shop-card-stamp){color:#fff}@media (prefers-reduced-motion:reduce){.cursor-pet .mascot-pet[data-mascot-action=walk]>svg{animation:none}}.keepsake-art{isolation:isolate;width:100%;height:100%;display:inline-block;position:relative}.keepsake-art>.base-art{object-fit:contain;width:100%;height:100%;display:block}.keepsake-art[data-effect=pulse]>.base-art{animation:2.7s ease-in-out infinite ks-white-pulse}.keepsake-art[data-effect=sway]>.base-art{transform-origin:50% 80%;animation:5s ease-in-out infinite ks-toy-sway}.keepsake-art .smoke{left:calc(var(--emit-x,12%) - 10px);top:calc(var(--emit-y,12%) - 40px);pointer-events:none;opacity:0;object-fit:contain;width:20px;height:42px;animation:3.7s ease-out infinite ks-smoke-rise;position:absolute}.keepsake-art .smoke.second{animation-delay:-1.85s}.keepsake-art[data-effect=page-turn]{perspective:800px}.keepsake-art .turning-page{left:var(--page-left,50%);top:var(--page-top,24%);width:var(--page-width,32%);height:var(--page-height,52%);transform-origin:0;transform-style:preserve-3d;pointer-events:none;animation:5.6s ease-in-out infinite ks-page-turn;position:absolute}.keepsake-art .turning-page img{object-fit:fill;-webkit-backface-visibility:hidden;backface-visibility:hidden;width:100%;height:100%;position:absolute;inset:0}.keepsake-art .turning-page img.back{transform:rotateY(180deg)}.keepsake-art[data-paused=true]>.base-art,.keepsake-art[data-paused=true] .smoke,.keepsake-art[data-paused=true] .turning-page{animation-play-state:paused}.keepsake-art[data-effect=static]>.base-art{animation:none!important}@keyframes ks-white-pulse{0%,to{filter:drop-shadow(0 0 1px #fff)drop-shadow(0 0 2px #fff7)}50%{filter:drop-shadow(0 0 3px #fff)drop-shadow(0 0 8px #fffd)}}@keyframes ks-toy-sway{0%,to{transform:rotate(-1.4deg)}50%{transform:rotate(1.4deg)}}@keyframes ks-smoke-rise{0%{opacity:0;transform:translateY(14px)scale(.6)}18%{opacity:.75}65%{opacity:.4;transform:translate(5px,-8px)scale(1.1)}to{opacity:0;transform:translate(9px,-26px)scale(1.25)}}@keyframes ks-page-turn{0%,38%{opacity:1;transform:rotateY(0)}70%,85%{opacity:1;transform:rotateY(-180deg)}92%{opacity:0;transform:rotateY(-180deg)}to{opacity:0;transform:rotateY(0)}}@media (prefers-reduced-motion:reduce){.keepsake-art>.base-art,.keepsake-art .smoke,.keepsake-art .turning-page{filter:none!important;animation:none!important;transform:none!important}.keepsake-art .smoke,.keepsake-art .turning-page{display:none}}.keepsake-art .base-art{object-fit:contain;width:100%;height:100%}.keepsake-cursor-overlay{pointer-events:none;z-index:2147483647;width:48px;height:48px;display:none;position:fixed;top:0;left:0}.keepsake-preview-pad{border:1px dashed var(--pink);touch-action:auto;min-height:100px;padding:24px;position:relative;overflow:hidden}.keepsake-preview-pointer{pointer-events:none;width:48px;height:48px;display:none;position:absolute}@media (hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){html[data-keepsake-pointer=true] body,html[data-keepsake-pointer=true] body *{cursor:none!important}html[data-keepsake-pointer=true] input,html[data-keepsake-pointer=true] textarea,html[data-keepsake-pointer=true] [contenteditable=true]{cursor:text!important}html[data-keepsake-pointer=true] button:disabled,html[data-keepsake-pointer=true] [aria-disabled=true]{cursor:not-allowed!important}html[data-keepsake-pointer=true] .draggable{cursor:grab!important}html[data-keepsake-pointer=true] .sticker-resize{cursor:nwse-resize!important}}.base-art[src*="/cursors/paint-v1/"],.pet-art>img[src*="/cursors/paint-v1/"]{image-rendering:pixelated}.keepsake-art:has(.base-art[src*="/cursors/paint-v1/"]){animation:none!important;transform:none!important}.keepsake-art:has(.base-art[src*="/cursors/paint-v1/"]) :is(.turning-page,.smoke){display:none!important}.keepsake-art:has(.base-art[src*="/cursors/paint-v1/"])>.base-art{filter:none!important;animation:none!important;transform:none!important}body .space-app .shop-card:has(img[src*="/cursors/paint-v1/"]) :is(h2,.shop-price span,button,.shop-card-stamp){color:#fff}.halloween-pet{width:var(--pet-size,150px);height:var(--pet-size,150px);pointer-events:none;justify-content:center;align-items:center;display:inline-flex}.halloween-pet img{object-fit:contain;transform-origin:50% 75%;width:100%;height:100%;animation-duration:4s;animation-timing-function:ease-in-out;animation-iteration-count:infinite}.halloween-pet[data-motion=shiver] img{animation-name:hp-shiver;animation-duration:4.8s}.halloween-pet[data-motion=sway] img{animation-name:hp-sway;animation-duration:5.6s}.halloween-pet[data-motion=float] img{animation-name:hp-float;animation-duration:5s}.halloween-pet[data-motion=perch] img{animation-name:hp-perch;animation-duration:6s}.halloween-pet[data-motion=crawl] img{animation-name:hp-crawl;animation-duration:7s}.halloween-pet[data-motion=breathe] img{animation-name:hp-breathe;animation-duration:4s}.halloween-pet[data-motion=rock] img{animation-name:hp-rock;animation-duration:5.4s}.halloween-pet[data-motion=rocking-horse] img{transform-origin:50% 90%;animation-name:hp-horse;animation-duration:3.4s}.halloween-pet[data-motion=sidestep] img{animation-name:hp-sidestep;animation-duration:4.2s;animation-timing-function:steps(5,end)}.halloween-pet[data-motion=flicker] img{animation-name:hp-wick;animation-duration:5.2s}.halloween-pet[data-motion=waddle] img{animation-name:hp-waddle;animation-duration:3.8s}.halloween-pet[data-motion=hover] img{animation-name:hp-hover;animation-duration:5.4s}.halloween-pet[data-motion=stomp] img{animation-name:hp-stomp;animation-duration:5s}.halloween-pet[data-motion=rattle] img{animation-name:hp-rattle;animation-duration:6s}.halloween-pet[data-motion=glide] img{animation-name:hp-glide;animation-duration:7.2s}.halloween-pet[data-paused=true] img{animation-play-state:paused}@keyframes hp-shiver{0%,65%,to{transform:none}70%,78%{transform:translate(-1px)rotate(-1deg)}74%,82%{transform:translate(1px)rotate(1deg)}}@keyframes hp-sway{0%,to{transform:rotate(-2deg)}50%{transform:rotate(2deg)translateY(1px)}}@keyframes hp-float{0%,to{transform:translateY(3px)rotate(-1deg)}50%{transform:translateY(-7px)rotate(1deg)}}@keyframes hp-perch{0%,60%,to{transform:none}70%,85%{transform:rotate(-3deg)}78%,92%{transform:rotate(2deg)}}@keyframes hp-crawl{0%,to{transform:translate(-4px)}50%{transform:translate(4px)translateY(-1px)}}@keyframes hp-breathe{0%,to{transform:scale(1)}50%{transform:scale(1.025)translateY(-1px)}}@keyframes hp-rock{0%,to{transform:rotate(-3deg)}50%{transform:rotate(3deg)}}@keyframes hp-horse{0%,to{transform:rotate(-5deg)}50%{transform:rotate(5deg)}}@keyframes hp-sidestep{0%,to{transform:translate(-4px)}25%{transform:translateY(-1px)}50%{transform:translate(4px)}75%{transform:translateY(-1px)}}@keyframes hp-wick{0%,to{transform:translateY(1px)rotate(-1deg)}50%{transform:translateY(-3px)rotate(1deg)}}@keyframes hp-waddle{0%,to{transform:translate(-3px)rotate(-3deg)}25%,75%{transform:translateY(-2px)}50%{transform:translate(3px)rotate(3deg)}}@keyframes hp-hover{0%,to{transform:translateY(4px)rotate(-2deg)}50%{transform:translateY(-5px)rotate(2deg)}}@keyframes hp-stomp{0%,65%,to{transform:none}70%,82%{transform:translateY(-2px)rotate(-1deg)}76%,88%{transform:translateY(1px)}}@keyframes hp-rattle{0%,72%,to{transform:none}77%,85%{transform:rotate(-2deg)}81%,89%{transform:rotate(2deg)}}@keyframes hp-glide{0%,to{transform:translate(-4px,2px)rotate(-3deg)}50%{transform:translate(4px,-5px)rotate(3deg)}}@media (prefers-reduced-motion:reduce){.halloween-pet img{animation:none!important;transform:none!important}}.cursor-pet .halloween-pet{width:100%;height:100%}.pet-art .halloween-pet{width:110px;height:110px}.admin-shop-art .halloween-pet{width:85px;height:85px}.pet-preview .halloween-pet{width:190px;height:190px}.halloween-pet>img{width:100%!important;max-width:none!important;height:100%!important}
