@keyframes spin{to{transform:rotate(360deg)}}@keyframes slideUp{0%{opacity:0;transform:translate(-50%,-40%)}to{opacity:1;transform:translate(-50%,-50%)}}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow:hidden}.container,.github-link{display:flex;align-items:center}.container{position:relative;flex-direction:column;justify-content:center;width:100vw;height:100vh;background:#050200;background-color:#050200}.github-link{position:absolute;top:1rem;right:1rem;z-index:50;gap:.5rem;padding:.5rem 1rem;background-color:rgba(0,0,0,.8);color:#fff;text-decoration:none;border-radius:.5rem;font-size:.875rem;transition:background-color .2s}.github-link:hover{background-color:rgba(0,0,0,.9)}.state-screen{text-align:center;max-width:500px;padding:2rem;color:#fff;z-index:20}#fluid-canvas.hidden,.state-screen.hidden{display:none}.state-screen h1{font-size:1.5rem;font-weight:700;margin-bottom:1rem}.state-screen p{color:#d1d5db;margin-bottom:1.5rem;line-height:1.6}.spinner{margin:0 auto 1rem;width:3rem;height:3rem;border:4px solid rgba(255,100,0,.3);border-top-color:#ff6400;border-radius:50%;animation:spin 1s linear infinite}.icon-phone{margin:0 auto 1.5rem;color:#ff6400}.permission-btn{padding:.75rem 2rem;background:linear-gradient(135deg,#ff6400,#ff3000);color:#fff;font-weight:600;font-size:1rem;border:0;border-radius:.5rem;cursor:pointer;box-shadow:0 10px 15px -3px rgba(255,100,0,.5),0 0 20px rgba(255,100,0,.3);transition:all .2s}.permission-btn:hover{background:linear-gradient(135deg,#f70,#ff4000);box-shadow:0 10px 20px -3px rgba(255,100,0,.6),0 0 30px rgba(255,100,0,.4)}.permission-btn:focus{outline:0;box-shadow:0 0 0 3px rgba(255,100,0,.5),0 0 20px rgba(255,100,0,.4)}#fluid-canvas{position:absolute;inset:0;width:100%;height:100%;z-index:10;background:#050200}.info-popup{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:20;padding:.75rem 1rem;background-color:rgba(0,0,0,.9);color:#f3f4f6;font-size:.875rem;border-radius:.5rem;animation:slideUp .3s ease-out}.info-popup.hidden{display:none}.info-popup p{margin:0;color:#f3f4f6}.info-subtext{margin-top:.25rem;text-align:center;font-size:.75rem;opacity:.75}@media (max-width:640px){.github-link{top:.5rem;right:.5rem;padding:.375rem .75rem;font-size:.75rem}.state-screen{padding:1.5rem}.state-screen h1{font-size:1.25rem}.state-screen p{font-size:.875rem}}.hidden{display:none!important}