: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}}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;background:linear-gradient(135deg,#667eea,#764ba2);min-height:100vh;color:#fff;position:relative;overflow-x:hidden}body:before{content:"";position:fixed;top:0;left:0;width:100%;height:100%;background:radial-gradient(circle at 20% 80%,rgba(120,119,198,.3) 0%,transparent 50%),radial-gradient(circle at 80% 20%,rgba(255,107,107,.3) 0%,transparent 50%),radial-gradient(circle at 40% 40%,rgba(78,205,196,.3) 0%,transparent 50%);animation:backgroundShift 20s ease-in-out infinite;z-index:-1}@keyframes backgroundShift{0%,to{transform:translate(0) translateY(0) scale(1)}33%{transform:translate(-20px) translateY(-10px) scale(1.05)}66%{transform:translate(20px) translateY(10px) scale(.95)}}.app{min-height:100vh;display:flex;flex-direction:column;align-items:center;padding:20px;position:relative}.app:before,.app:after{content:"";position:absolute;width:4px;height:4px;background:#ffffff80;border-radius:50%;animation:floatParticle 15s linear infinite}.app:before{top:20%;left:10%;animation-delay:0s;box-shadow:100px 200px #ff6b6b99,300px 50px #4ecdc499,500px 300px #fff6,700px 150px #9370db99}.app:after{top:60%;right:15%;animation-delay:-5s;box-shadow:-150px 100px #ffc10799,-350px 250px #fff6,-550px 50px #ff6b6b99,-750px 200px #4ecdc499}@keyframes floatParticle{0%{transform:translateY(0) translate(0) rotate(0);opacity:0}10%{opacity:1}90%{opacity:1}to{transform:translateY(-100vh) translate(50px) rotate(360deg);opacity:0}}.app-header{text-align:center;margin-bottom:40px;animation:fadeInDown .8s ease-out;position:relative}.app-header:before{content:"";position:absolute;top:-20px;left:50%;transform:translate(-50%);width:200px;height:4px;background:linear-gradient(90deg,transparent,#ff6b6b,#4ecdc4,transparent);border-radius:2px;animation:glowPulse 2s ease-in-out infinite alternate}.app-header h1{font-size:3rem;font-weight:800;margin-bottom:15px;text-shadow:0 0 20px rgba(255,107,107,.5),0 0 40px rgba(78,205,196,.3);background:linear-gradient(45deg,#ff6b6b,#4ecdc4,#45b7d1,#96ceb4);background-size:300% 300%;-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;animation:gradientShift 3s ease-in-out infinite;letter-spacing:2px}.subtitle{font-size:1.2rem;opacity:.9;font-weight:300;text-shadow:0 2px 10px rgba(0,0,0,.3);animation:fadeInUp 1s ease-out .3s both}.app-main{flex:1;display:flex;justify-content:center;align-items:center;margin-bottom:30px}.app-footer{text-align:center;max-width:600px}.instructions{background:#ffffff1a;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:15px;padding:20px;border:1px solid rgba(255,255,255,.2)}.instructions h3{margin-bottom:15px;color:#4ecdc4}.instructions ul{list-style:none;text-align:left}.instructions li{margin-bottom:8px;padding-left:20px;position:relative}.instructions li:before{content:"▶";position:absolute;left:0;color:#ff6b6b}.bouncing-ball-container{position:relative;border-radius:25px;overflow:hidden;box-shadow:0 25px 50px #0006,inset 0 1px #ffffff1a;border:1px solid rgba(255,255,255,.15);background:#00000026;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);animation:containerGlow 4s ease-in-out infinite alternate}@keyframes containerGlow{0%{box-shadow:0 25px 50px #0006,inset 0 1px #ffffff1a}to{box-shadow:0 30px 60px #00000080,inset 0 1px #fff3,0 0 30px #4a90e24d}}.game-canvas{display:block;border-radius:18px}.controls-panel{position:absolute;top:20px;right:20px;background:#ffffff0d;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-radius:20px;padding:25px;min-width:280px;border:1px solid rgba(255,255,255,.1);box-shadow:0 8px 32px #0000004d,inset 0 1px #ffffff1a;animation:float 6s ease-in-out infinite;transition:all .3s ease}.controls-panel:hover{background:#ffffff14;box-shadow:0 12px 40px #0006,inset 0 1px #fff3}.control-group{display:flex;gap:10px;margin-bottom:20px;flex-wrap:wrap}.control-button{padding:12px 20px;border:none;border-radius:12px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;font-weight:600;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);font-size:.9rem;position:relative;overflow:hidden;box-shadow:0 4px 15px #667eea4d,inset 0 1px #fff3}.control-button:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .5s}.control-button:hover:before{left:100%}.control-button:hover{transform:translateY(-3px) scale(1.05);box-shadow:0 8px 25px #667eea66,inset 0 1px #ffffff4d}.control-button:active{transform:translateY(-1px) scale(1.02)}.control-button.active{background:linear-gradient(135deg,#ff6b6b,#ee5a24);box-shadow:0 4px 15px #ff6b6b66,inset 0 1px #fff3}.control-button.active:hover{box-shadow:0 8px 25px #ff6b6b80,inset 0 1px #ffffff4d}.stats{display:flex;justify-content:space-between;margin-bottom:20px;padding:10px;background:#ffffff1a;border-radius:8px;font-size:.9rem;font-weight:600}.sliders{display:flex;flex-direction:column;gap:15px}.slider-group{display:flex;flex-direction:column;gap:5px}.slider-group label{font-size:.9rem;font-weight:600;color:#e0e0e0}.slider-group input[type=range]{width:100%;height:6px;border-radius:3px;background:#fff3;outline:none;-webkit-appearance:none}.slider-group input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:18px;height:18px;border-radius:50%;background:linear-gradient(45deg,#ff6b6b,#4ecdc4);cursor:pointer;box-shadow:0 2px 6px #0000004d}.slider-group input[type=range]::-moz-range-thumb{width:18px;height:18px;border-radius:50%;background:linear-gradient(45deg,#ff6b6b,#4ecdc4);cursor:pointer;border:none;box-shadow:0 2px 6px #0000004d}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-30px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes gradientShift{0%,to{background-position:0% 50%}50%{background-position:100% 50%}}@keyframes glowPulse{0%{opacity:.5;transform:translate(-50%) scaleX(1)}to{opacity:1;transform:translate(-50%) scaleX(1.2)}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@media (max-width: 1024px){.app-header h1{font-size:2.5rem;letter-spacing:1px}.app-header:before{width:150px}.controls-panel{position:relative;top:auto;right:auto;margin-top:20px;width:100%;max-width:500px;animation:none;margin-bottom:20px}.bouncing-ball-container{margin:0 auto;max-width:90vw;height:auto}.game-canvas{max-width:100%;height:auto}}@media (max-width: 768px){.app{padding:15px;gap:15px}.app:before,.app:after{display:none}.app-header{margin-bottom:20px}.app-header h1{font-size:2rem;letter-spacing:normal}.app-header:before{width:120px;height:3px}.subtitle{font-size:1rem;padding:0 10px}.app-main{margin-bottom:20px}.controls-panel{padding:20px;border-radius:15px;position:relative;animation:none}.control-group{justify-content:center;gap:8px;margin-bottom:15px}.control-button{padding:10px 16px;font-size:.85rem;border-radius:10px}.stats{flex-direction:column;gap:8px;text-align:center;padding:8px;font-size:.85rem}.instructions{padding:15px;border-radius:12px}.instructions h3{font-size:1.1rem;margin-bottom:12px}.instructions li{font-size:.9rem;margin-bottom:6px}}@media (max-width: 480px){.app{padding:10px}.app-header h1{font-size:1.6rem}.app-header:before{width:100px}.subtitle{font-size:.9rem}.controls-panel{padding:15px;border-radius:12px}.control-button{padding:8px 12px;font-size:.8rem;border-radius:8px}.sliders{gap:12px}.slider-group label{font-size:.85rem}.slider-group input[type=range]{height:4px}.slider-group input[type=range]::-webkit-slider-thumb{width:16px;height:16px}}
