*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth;font-size:16px}body{font-family:Inter,Segoe UI,-apple-system,BlinkMacSystemFont,Roboto,sans-serif;line-height:1.6;color:#333;background:linear-gradient(135deg,#1a1a1a,#4a4a4a);overflow-x:hidden}#app,body{min-height:100vh}#app{width:100%}.loading-screen{position:fixed;top:0;left:0;width:100%;height:100%;background:linear-gradient(135deg,#1a1a1a,#4a4a4a);z-index:9999}.loading-content,.loading-screen{display:flex;align-items:center;justify-content:center}.loading-content{flex-direction:column;text-align:center}.loading-logo{margin-bottom:2rem}.loading-title{font-family:Poppins,system-ui,-apple-system,BlinkMacSystemFont,sans-serif;font-size:clamp(2.5rem,6vw,4rem);font-weight:800;color:#fff;opacity:.9;margin:0;text-shadow:0 4px 20px rgba(0,0,0,.3);letter-spacing:-.02em;animation:fadeInUp 1s ease-out}.spinner{width:50px;height:50px;border:4px solid hsla(0,0%,100%,.2);border-top:4px solid rgba(102,126,234,.8);border-radius:50%;animation:spin 1s linear infinite;margin-bottom:1.5rem}.loading-text{color:hsla(0,0%,100%,.7);font-size:1.1rem;font-weight:500;margin:0;animation:fadeInUp 1s ease-out .3s both}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@media (max-width:768px){.loading-title{font-size:clamp(2rem,8vw,3rem)}.loading-text{font-size:1rem;padding:0 1rem}.spinner{width:40px;height:40px}}.fade-enter-active,.fade-leave-active{transition:opacity .6s ease-in-out}.fade-enter-from,.fade-leave-to{opacity:0}.btn{display:inline-flex;align-items:center;justify-content:center;padding:14px 28px;border:none;border-radius:12px;font-weight:600;text-decoration:none;transition:all .3s cubic-bezier(.4,0,.2,1);cursor:pointer;font-size:16px;min-height:52px;position:relative;overflow:hidden;white-space:nowrap}.btn:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,hsla(0,0%,100%,.2),transparent);transition:left .5s}.btn:hover:before{left:100%}.btn-primary{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;box-shadow:0 8px 32px rgba(102,126,234,.3);border:none}.btn-primary:hover{transform:translateY(-3px);box-shadow:0 12px 40px rgba(102,126,234,.4)}.btn-primary:active{transform:translateY(-1px)}.btn-secondary{background:hsla(0,0%,100%,.1);color:#fff;border:2px solid hsla(0,0%,100%,.3);backdrop-filter:blur(20px)}.btn-secondary:hover{background:hsla(0,0%,100%,.2);border-color:hsla(0,0%,100%,.5);transform:translateY(-2px)}.btn-primary.active,.btn-secondary.active{background:linear-gradient(135deg,#667eea,#764ba2);border-color:transparent;box-shadow:0 8px 32px rgba(102,126,234,.3)}.container{max-width:1400px;margin:0 auto;padding:0 24px;width:100%}.form-group{margin-bottom:32px}.form-label{display:block;margin-bottom:10px;font-weight:600;color:#fff;font-size:15px;letter-spacing:.5px}.form-input{width:100%;padding:16px 20px;border:2px solid hsla(0,0%,100%,.2);border-radius:12px;background:hsla(0,0%,100%,.1);color:#fff;font-size:16px;backdrop-filter:blur(20px);transition:all .3s cubic-bezier(.4,0,.2,1);font-family:inherit}.form-input:focus{outline:none;border-color:hsla(0,0%,100%,.6);background:hsla(0,0%,100%,.15);transform:translateY(-2px);box-shadow:0 8px 32px rgba(0,0,0,.1)}.form-input::-moz-placeholder{color:hsla(0,0%,100%,.6)}.form-input::placeholder{color:hsla(0,0%,100%,.6)}.form-textarea{resize:vertical;min-height:120px;font-family:inherit}@media (max-width:1200px){.container{max-width:100%;padding:0 20px}}@media (max-width:768px){html{font-size:14px}.container{padding:0 16px}.btn{padding:12px 24px;font-size:15px;min-height:48px}.form-input{padding:14px 16px;font-size:16px}}@media (max-width:480px){.container{padding:0 12px}.btn{padding:10px 20px;font-size:14px;min-height:44px}}@media (prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.btn:focus-visible,.form-input:focus-visible{outline:2px solid hsla(0,0%,100%,.8);outline-offset:2px}