*{box-sizing:border-box}html,body,#root{margin:0;width:100%;min-height:100%;background:#f4bfd0}body{overflow:hidden;font-family:system-ui,sans-serif}.scene{position:relative;width:100vw;height:100vh;overflow:hidden;background:#f4bfd0 url(/static/afshans_home.png?v=sleeping-cat-ear) center center / contain no-repeat}.artboard{position:absolute;left:50%;top:50%;height:min(100vh,150vw);width:min(100vw,66.666667vh);aspect-ratio:2 / 3;transform:translate(-50%,-50%);pointer-events:none}.kitty-face{position:absolute;left:17.578125%;top:24.088542%;z-index:40;width:68.359375%;height:auto;pointer-events:none;-webkit-user-select:none;user-select:none}.hotspot{position:absolute;z-index:50;display:block;pointer-events:auto;cursor:pointer;text-decoration:none;border-radius:18px;background:transparent;transition:transform .18s ease,filter .18s ease,background .18s ease}#adoptable{left:26%;top:57.2%;width:37%;height:6.3%}#ready{left:26%;top:63.7%;width:37%;height:6.3%}#requirements{left:26%;top:70.2%;width:39%;height:6.4%}#apply{left:26%;top:76.8%;width:37%;height:6.5%}#info{position:absolute;left:76.5%;top:55.2%;width:15%;height:10.5%;z-index:55;display:block;pointer-events:auto;cursor:pointer;border-radius:50%;background:transparent;transition:transform .2s ease,filter .2s ease}#info:hover{transform:scale(1.06) rotate(2deg);filter:drop-shadow(0 0 4px #fff) drop-shadow(0 0 7px #ff9fc9) drop-shadow(0 0 11px #ffd56f)}.hotspot:hover{transform:translate(3px) scale(1.012);background:linear-gradient(90deg,#ffffff05,#ffaad212,#ffdb750a);filter:drop-shadow(0 0 3px rgba(255,255,255,.95)) drop-shadow(0 0 7px rgba(255,151,201,.72)) drop-shadow(0 0 10px rgba(255,213,111,.6))}.sparkle-layer{position:absolute;inset:-10px;pointer-events:none;opacity:0;transition:opacity .12s ease}.hotspot:hover .sparkle-layer,.hotspot.tap-sparkle .sparkle-layer,#info:hover .sparkle-layer,#info.tap-sparkle .sparkle-layer{opacity:1}.spark{position:absolute;left:var(--x);top:var(--y);width:var(--size);height:var(--size);opacity:0;transform:translate(-50%,-50%) scale(.2);animation:twinkle .85s ease-in-out infinite;animation-delay:var(--delay)}.spark:before,.spark:after{content:"";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);border-radius:999px;background:var(--color);box-shadow:0 0 5px var(--color)}.spark:before{width:2px;height:100%}.spark:after{width:100%;height:2px}@keyframes twinkle{0%{opacity:0;transform:translate(-50%,-50%) scale(.2) rotate(0)}35%{opacity:1}60%{opacity:1;transform:translate(-50%,-50%) scale(1.2) rotate(30deg)}to{opacity:0;transform:translate(-50%,-50%) scale(.3) rotate(60deg)}}.steam{position:absolute;z-index:35;width:3px;height:3px;pointer-events:none;opacity:0;background:#fff8eee6;border-radius:0;box-shadow:0 4px #fff8eed1,2px 8px #fff8eebd,2px 12px #fff8ee9e,0 16px #fff8ee7a,-2px 20px #fff8ee4d;filter:drop-shadow(0 0 2px rgba(255,255,255,.45));animation:steamPixels 2.4s steps(6,end) infinite}.steam-1{left:13.6%;top:20.7%;animation-delay:0s}.steam-2{left:15.1%;top:20.2%;animation-delay:.8s}.steam-3{left:16.5%;top:20.9%;animation-delay:1.6s}@keyframes steamPixels{0%{opacity:0;transform:translateY(8px)}17%{opacity:.8;transform:translateY(4px)}34%{opacity:.72;transform:translate(-2px)}51%{opacity:.64;transform:translate(2px,-5px)}68%{opacity:.5;transform:translate(-2px,-10px)}85%{opacity:.28;transform:translate(2px,-15px)}to{opacity:0;transform:translateY(-20px)}}.apply-sparkle{position:absolute;width:10px;height:10px;z-index:100;pointer-events:none;animation:applySparkle .9s ease-out forwards}.apply-sparkle:before,.apply-sparkle:after{content:"";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);background:var(--spark-color);border-radius:999px;box-shadow:0 0 6px var(--spark-color)}.apply-sparkle:before{width:2px;height:100%}.apply-sparkle:after{width:100%;height:2px}@keyframes applySparkle{0%{opacity:0;transform:scale(.2) rotate(0)}30%{opacity:1}60%{opacity:1;transform:scale(1.35) rotate(35deg)}to{opacity:0;transform:scale(.4) rotate(70deg)}}@media(prefers-reduced-motion:reduce){.spark,.steam,.apply-sparkle{animation:none!important}}
