.orb-layer-wrapper{position:absolute;width:100%;height:100%}.orb-layer-inner{position:relative;width:100%;height:100%;filter:blur(100px);opacity:.3}.orb-container{position:absolute;overflow:hidden}.animate-orbs,.orb-container{width:100%;height:100%;border-radius:9999px}.animate-orbs{opacity:.5}.orb1{background:radial-gradient(circle at center,#ff0080,#7928ca,#2afadf);animation:orbFloat1 40s linear infinite}.orb2{background:radial-gradient(circle at center,#3f5efb,#00d2ff,#2afadf);animation:orbFloat2 50s linear infinite;opacity:.4}.orb3{background:radial-gradient(circle at center,#f6d365,#fda085,#f80759);animation:orbFloat3 60s linear infinite;opacity:.3}@keyframes orbFloat1{0%{transform:translate(-10%,-10%) scale(.9) rotate(0deg)}25%{transform:translate(30%,-20%) scale(1.2) rotate(90deg)}50%{transform:translate(10%,30%) scale(.8) rotate(180deg)}75%{transform:translate(-30%,20%) scale(1.1) rotate(270deg)}to{transform:translate(-10%,-10%) scale(.9) rotate(1turn)}}@keyframes orbFloat2{0%{transform:translate(0) scale(1) rotate(0deg)}25%{transform:translate(-20%,30%) scale(1.3) rotate(90deg)}50%{transform:translate(30%,-10%) scale(.7) rotate(180deg)}75%{transform:translate(-10%,-30%) scale(1.2) rotate(270deg)}to{transform:translate(0) scale(1) rotate(1turn)}}@keyframes orbFloat3{0%{transform:translate(10%,-20%) scale(.8) rotate(0deg)}25%{transform:translate(20%,20%) scale(1.1) rotate(90deg)}50%{transform:translate(-20%,10%) scale(.9) rotate(180deg)}75%{transform:translateY(-30%) scale(1.2) rotate(270deg)}to{transform:translate(10%,-20%) scale(.8) rotate(1turn)}}.login-page{flex-direction:column;min-height:100vh;background:linear-gradient(135deg,#0b0b14,#1a1428 25%,#2a1e44 50%,#1a2344 75%,#0b0b1a);background-size:800% 800%;animation:shimmer 40s ease-in-out infinite}.login-content,.login-page{display:flex;align-items:center;justify-content:center;width:100%}.login-content{flex:1 1;flex-direction:column;z-index:1}.login-page.light{background:linear-gradient(135deg,#f9f9f9,#ffe6f0,#f0e6ff,#f9f9f9,#f0e6ff,#ffe6f0,#f9f9f9);background-size:600% 600%;animation:shimmer-light 40s ease-in-out infinite}@keyframes shimmer{0%{background-position:0 50%}25%{background-position:50% 100%}50%{background-position:100% 50%}75%{background-position:50% 0}to{background-position:0 50%}}@keyframes shimmer-light{0%{background-position:0 0}25%{background-position:100% 0}50%{background-position:100% 100%}75%{background-position:0 100%}to{background-position:0 0}}.app-title{display:flex;white-space:nowrap;margin-bottom:2.5rem;overflow:hidden;gap:8px}.app-name{color:white;font-size:2.7rem;font-weight:800;font-family:Outfit,sans-serif}.app-name.light{background:linear-gradient(90deg,#f80759,#3f5efb);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.title-icon{flex-shrink:0;width:55px;height:55px}@media (max-width:720px){.app-name{font-size:2.2rem}.title-icon{width:45px;height:45px}}.login-container{width:100%;display:flex;justify-content:center}.login-card{background:rgba(255,255,255,.05);padding:40px;border-radius:16px;box-shadow:0 0 10px cyan;text-align:center;max-width:400px;width:90%}.login-card.light{background:rgba(255,255,255,.3);box-shadow:0 0 10px #999}.login-error{display:inline-block;background-color:rgba(255,80,80,.15);color:#ff6b6b;font-weight:500;font-size:14px;padding:6px 14px;border-radius:8px;margin:20px auto 0;text-align:center;box-shadow:0 0 4px rgba(255,0,0,.2)}.login-icon{font-size:28px;margin-right:8px;vertical-align:middle}.login-tips{font-size:14px;color:rgb(204,204,204);margin-bottom:24px}.login-tips.light{color:#444}.login-button-wrapper{display:flex;justify-content:center}.google-login-button{display:flex;align-items:center;gap:10px;background:white;color:#444;border:1px solid #ddd;padding:12px 20px;border-radius:8px;cursor:pointer;font-size:16px;font-weight:600;box-shadow:0 2px 8px rgba(0,0,0,.1);transition:all .3s ease}.google-login-button:hover{box-shadow:0 4px 14px rgba(0,0,0,.15);transform:translateY(-2px)}.google-icon{display:inline-block;width:24px;height:24px}.login-footer{text-align:center;font-size:.8rem;color:var(--footer-text);padding:.8rem 0}