html,body{margin:0;padding:0;width:100%;height:100%;overflow:hidden;touch-action:none;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;position:fixed;top:0;left:0}#app{margin:0;padding:0;width:100vw;height:100dvh;height:100vh;overflow:hidden;position:fixed;inset:0;touch-action:none;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}#app:fullscreen{width:100vw!important;height:100vh!important;margin:0!important;padding:0!important}#app:-webkit-full-screen{width:100vw!important;height:100vh!important;margin:0!important;padding:0!important}#app:-moz-full-screen{width:100vw!important;height:100vh!important;margin:0!important;padding:0!important}#app:-ms-fullscreen{width:100vw!important;height:100vh!important;margin:0!important;padding:0!important}#app canvas{display:block;width:100%;height:100%;touch-action:none}@supports (padding: env(safe-area-inset-top)){#app{padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom);padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right)}#app:fullscreen{height:100vh!important;margin:0!important;padding:0!important}#app:-webkit-full-screen{height:100vh!important;margin:0!important;padding:0!important}}.orientation-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background:#0a0f1e;display:none;flex-direction:column;justify-content:center;align-items:center;z-index:10000;color:#fff;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;text-align:center;padding:2rem}.orientation-overlay.show{display:flex}.orientation-icon{font-size:4rem;margin-bottom:2rem;animation:rotate 2s ease-in-out infinite}@keyframes rotate{0%,to{transform:rotate(0)}50%{transform:rotate(90deg)}}.orientation-message{font-size:1.5rem;font-weight:600;margin-bottom:1rem}.orientation-subtitle{font-size:1rem;color:#ffffffb3}@media screen and (orientation:landscape){.orientation-overlay{display:none!important}}@media screen and (orientation:portrait){.orientation-overlay.show{display:flex!important}}.fullscreen-prompt{position:fixed;bottom:20px;left:50%;transform:translate(-50%);background:#000c;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:12px;padding:1rem 2rem;display:none;flex-direction:column;align-items:center;gap:.5rem;z-index:9999;color:#fff;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;cursor:pointer;border:2px solid rgba(255,255,255,.3);animation:pulse 2s ease-in-out infinite}@media(hover:hover)and (pointer:fine){.fullscreen-prompt{display:none!important}}.fullscreen-prompt.show{display:flex}.fullscreen-prompt:active{transform:translate(-50%) scale(.95)}.fullscreen-icon{font-size:2rem}.fullscreen-message{font-size:.9rem;font-weight:600}@keyframes pulse{0%,to{opacity:1;box-shadow:0 0 #fff6}50%{opacity:.8;box-shadow:0 0 20px 5px #fff3}}.map-transition-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background:#0a0f1ef2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);display:none;flex-direction:column;justify-content:center;align-items:center;gap:1rem;z-index:10000}.map-transition-overlay.show{display:flex}.transition-title{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:3rem;font-weight:700;color:#22c55e;text-align:center;text-shadow:0 0 20px rgba(34,197,94,.5)}.transition-subtitle{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:1.5rem;color:#fffc;text-align:center}@media(max-width:768px){.transition-title{font-size:2rem}.transition-subtitle{font-size:1.2rem}}html,body,#app{height:100%;margin:0;padding:0}.auth-container{display:flex;justify-content:center;align-items:center;min-height:100vh;background:linear-gradient(135deg,#0a0f1e,#1a1f2e);color:#fff;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;position:fixed;inset:0;z-index:10}.auth-box{background:#ffffff0d;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:16px;padding:2.5rem;width:100%;max-width:400px;border:1px solid rgba(255,255,255,.1);box-shadow:0 8px 32px #0000004d}.auth-title{font-size:2rem;font-weight:600;margin-bottom:.5rem;text-align:center}.auth-subtitle{color:#fff9;text-align:center;margin-bottom:2rem;font-size:.9rem}.auth-form{display:flex;flex-direction:column;gap:1.25rem}.form-group{display:flex;flex-direction:column;gap:.5rem}.form-label{font-size:.9rem;font-weight:500;color:#fffc}.form-input{background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:8px;padding:.75rem 1rem;color:#fff;font-size:1rem;transition:all .2s}.form-input:focus{outline:none;border-color:#6496ff80;background:#ffffff14}.form-input::placeholder{color:#fff6}.auth-button{background:linear-gradient(135deg,#4a90e2,#357abd);border:none;border-radius:8px;padding:.875rem;color:#fff;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s;margin-top:.5rem}.auth-button:hover{transform:translateY(-2px);box-shadow:0 4px 12px #4a90e266}.auth-button:active{transform:translateY(0)}.auth-button:disabled{opacity:.6;cursor:not-allowed;transform:none}.auth-link{color:#ffffffb3;text-align:center;margin-top:1rem;font-size:.9rem}.auth-link a{color:#4a90e2;text-decoration:none;font-weight:500}.auth-link a:hover{text-decoration:underline}.error-message{background:#ff3b301a;border:1px solid rgba(255,59,48,.3);border-radius:8px;padding:.75rem;color:#ff6b6b;font-size:.9rem;text-align:center}
