:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;display:flex;place-items:center;min-width:320px;min-height:100vh}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media (prefers-color-scheme: light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}.dancing-cat-container{display:flex;flex-direction:column;align-items:center;gap:2rem}.cat{cursor:pointer;transition:transform .2s ease;will-change:transform}.cat:hover{transform:scale(1.05)}.cat img{width:200px;height:200px;display:block}.cat.dancing img{animation:catDance 2s ease-in-out infinite,catBounce 1s ease-in-out infinite,catWiggle .5s ease-in-out infinite alternate}@keyframes catDance{0%{transform:rotate(-5deg) translate(-10px)}25%{transform:rotate(5deg) translate(10px) scale(1.1)}50%{transform:rotate(-3deg) translate(-5px) scale(.95)}75%{transform:rotate(8deg) translate(15px) scale(1.05)}to{transform:rotate(-5deg) translate(-10px)}}@keyframes catBounce{0%,to{transform:translateY(0)}50%{transform:translateY(-20px)}}@keyframes catWiggle{0%{transform:skew(-2deg)}to{transform:skew(2deg)}}.controls{margin-top:1rem}.control-btn{background:linear-gradient(45deg,#ff6b35,#f7931e);border:none;color:#fff;padding:15px 30px;font-size:1.2rem;font-weight:700;border-radius:50px;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 15px #0003;text-transform:uppercase;letter-spacing:1px}.control-btn:hover{transform:translateY(-2px);box-shadow:0 6px 20px #0000004d;background:linear-gradient(45deg,#f7931e,#ff6b35)}.control-btn:active{transform:translateY(0);box-shadow:0 2px 10px #0003}.control-btn.stop{background:linear-gradient(45deg,#e74c3c,#c0392b)}.control-btn.stop:hover{background:linear-gradient(45deg,#c0392b,#e74c3c)}.control-btn.start{animation:pulseStart 2s ease-in-out infinite}.control-btn.stop{animation:pulseStop 1s ease-in-out infinite}@keyframes pulseStart{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}@keyframes pulseStop{0%,to{transform:scale(1);box-shadow:0 4px 15px #e74c3c4d}50%{transform:scale(1.02);box-shadow:0 6px 20px #e74c3c66}}.instructions{margin-top:1rem;opacity:.9}.instructions p{font-size:1rem;color:#fff;text-shadow:1px 1px 2px rgba(0,0,0,.3)}.cat.dancing img{transform-origin:center center;backface-visibility:hidden;perspective:1000px}@media (max-width: 768px){.cat img{width:150px;height:150px}.control-btn{padding:12px 24px;font-size:1rem}.dancing-cat-container{gap:1.5rem}.instructions p{font-size:.9rem;padding:0 1rem;text-align:center}@keyframes catDance{0%{transform:rotate(-3deg) translate(-8px)}25%{transform:rotate(3deg) translate(8px) scale(1.05)}50%{transform:rotate(-2deg) translate(-4px) scale(.98)}75%{transform:rotate(5deg) translate(12px) scale(1.03)}to{transform:rotate(-3deg) translate(-8px)}}@keyframes catBounce{0%,to{transform:translateY(0)}50%{transform:translateY(-15px)}}}@media (max-width: 480px){.cat img{width:120px;height:120px}.control-btn{padding:10px 20px;font-size:.9rem}.dancing-cat-container{gap:1rem}.instructions p{font-size:.8rem}@keyframes catDance{0%{transform:rotate(-2deg) translate(-5px)}25%{transform:rotate(2deg) translate(5px) scale(1.03)}50%{transform:rotate(-1deg) translate(-3px) scale(.99)}75%{transform:rotate(3deg) translate(8px) scale(1.02)}to{transform:rotate(-2deg) translate(-5px)}}@keyframes catBounce{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}}@media (min-width: 1200px){.cat img{width:250px;height:250px}.control-btn{padding:18px 36px;font-size:1.3rem}.instructions p{font-size:1.2rem}}.cat:focus{outline:3px solid #FFF;outline-offset:5px;border-radius:50%}.advanced-controls{display:flex;gap:10px;margin-top:10px;justify-content:center}.mini-btn{background:#fff3;border:2px solid rgba(255,255,255,.3);color:#fff;padding:8px 12px;font-size:1rem;border-radius:25px;cursor:pointer;transition:all .3s ease;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.mini-btn:hover{background:#ffffff4d;border-color:#ffffff80;transform:translateY(-1px)}.mini-btn:active{transform:translateY(0)}.mini-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.mini-btn:disabled:hover{background:#fff3;border-color:#ffffff4d;transform:none}.dancing-indicator{background:linear-gradient(45deg,#4caf50,#45a049);color:#fff;padding:10px 20px;border-radius:25px;font-size:1rem;font-weight:700;margin-top:1rem;animation:indicatorPulse 2s ease-in-out infinite;box-shadow:0 4px 15px #4caf504d}@keyframes indicatorPulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.05);opacity:.9}}.keyboard-hint{font-size:.8rem!important;opacity:.7;margin-top:.5rem}@media (hover: none) and (pointer: coarse){.cat:hover{transform:none}.control-btn{padding:15px 30px;font-size:1.1rem}.control-btn:hover{transform:none}.control-btn:active{transform:scale(.95)}.mini-btn:hover{background:#fff3;border-color:#ffffff4d;transform:none}.mini-btn:active{transform:scale(.9)}.keyboard-hint{display:none}}@media (prefers-contrast: high){.control-btn,.mini-btn,.dancing-indicator{background:#000;border:2px solid #FFF}}@media (prefers-reduced-motion: reduce){.cat.dancing img,.control-btn.start,.control-btn.stop,.dancing-indicator{animation:none}.cat:hover,.control-btn{transition:none}}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:linear-gradient(135deg,#667eea,#764ba2);min-height:100vh;display:flex;align-items:center;justify-content:center}.app{text-align:center;color:#fff}.app-header{margin-bottom:2rem}.app-header h1{font-size:2.5rem;margin-bottom:.5rem;text-shadow:2px 2px 4px rgba(0,0,0,.3)}.app-header p{font-size:1.2rem;opacity:.9}.app-main{display:flex;justify-content:center;align-items:center}@media (max-width: 768px){.app-header h1{font-size:2rem}.app-header p{font-size:1rem}}
