.floating-particles-container{position:relative;width:100vw;height:100vh;background:#111827;overflow:hidden;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif}.particles-container{position:absolute;top:0;left:0;width:100%;height:100%;overflow:hidden}.particle{position:absolute;pointer-events:none;opacity:0;animation:float-up linear forwards;will-change:transform}.content-overlay{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);text-align:center;z-index:10}.main-title{font-size:3rem;font-weight:700;color:white;margin:0 0 1rem}.main-subtitle{font-size:1.25rem;color:#d1d5db;margin:0}.controls-overlay{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);display:flex;gap:10px;z-index:20}.control-btn{padding:8px 16px;border:none;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease;color:white}.control-btn:disabled{opacity:.5;cursor:not-allowed}.start-btn{background-color:#059669}.start-btn:hover:not(:disabled){background-color:#10b981}.stop-btn{background-color:#dc2626}.stop-btn:hover:not(:disabled){background-color:#ef4444}.reset-btn{background-color:#374151}.reset-btn:hover:not(:disabled){background-color:#4b5563}.burst-btn{background-color:#2563eb}.burst-btn:hover:not(:disabled){background-color:#3b82f6}@keyframes float-up{0%{transform:translateY(0) rotate(0deg) translateX(0);opacity:0}10%{opacity:1}90%{opacity:1}to{transform:translateY(-100vh) rotate(1turn) translateX(var(--x-movement,0));opacity:0}}@keyframes swirl-up{0%{transform:translateY(0) rotate(0deg) translateX(0);opacity:0}10%{opacity:1}90%{opacity:1}to{transform:translateY(-100vh) rotate(2turn) translateX(var(--x-offset));opacity:0}}@keyframes zigzag-up{0%,to{transform:translateY(0) translateX(0);opacity:0}10%{opacity:1}20%{transform:translateY(-20vh) translateX(-50px)}40%{transform:translateY(-40vh) translateX(50px)}60%{transform:translateY(-60vh) translateX(-30px)}80%{transform:translateY(-80vh) translateX(30px)}90%{opacity:1}to{transform:translateY(-100vh) translateX(var(--x-offset));opacity:0}}@keyframes expand-up{0%{transform:translateY(0) scale(1);opacity:0}10%{opacity:1}90%{opacity:1}to{transform:translateY(-100vh) scale(var(--scale-end));opacity:0}}@media (max-width:768px){.main-title{font-size:2rem}.main-subtitle{font-size:1rem}.controls-overlay{flex-wrap:wrap;bottom:10px;left:10px;right:10px;transform:none;justify-content:center}.control-btn{padding:6px 12px;font-size:12px}}@media (max-width:480px){.main-title{font-size:1.5rem}.controls-overlay{gap:5px}.control-btn{padding:4px 8px;font-size:11px}}