@import url('./variables.css');*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font);background:var(--grad-body);background-attachment:fixed;color:var(--t-text);min-height:100svh;line-height:var(--lh);overflow-x:hidden;position:relative}.constellation-canvas{position:fixed;inset:0;pointer-events:none;z-index:var(--z-0);opacity:0.8}.app-container{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100svh;padding:clamp(1rem,2.5vw,2rem);position:relative;z-index:var(--z-1)}.login-main{position:relative;z-index:var(--z-2)}.login-container{background:var(--grad-surface);border:var(--rule);border-radius:var(--r-4xl);padding:2.5rem;width:var(--w-login);position:relative;transform:scale(0.95);opacity:0;transition:all 0.6s var(--ease);display:none;box-shadow:var(--shadow-xl),0 10px 20px rgba(0,0,0,0.3),inset 0 1px 0 rgba(255,255,255,0.05)}.login-container.loaded{transform:scale(1);opacity:1;display:block}.login-container.hidden{transform:scale(0.85);opacity:0;pointer-events:none}.login-container .splash-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;z-index:var(--z-2);pointer-events:none;transition:opacity 0.5s ease,transform 0.5s ease}.login-container .splash-text{font-size:var(--fs-3xl);color:var(--t-text);text-transform:uppercase;letter-spacing:3px;text-shadow:0 0 10px rgba(255,255,255,0.5),0 0 20px rgba(255,255,255,0.3)}.login-container .login-inner{opacity:0;transform:translateY(8px);transition:opacity 0.5s ease,transform 0.5s ease}.login-container.show-content .login-inner{opacity:1;transform:translateY(0)}.login-container.show-content .splash-overlay{opacity:0;transform:translateY(-6px)}.login-header{margin-bottom:2.5rem}.app-title{font-size:var(--fs-4xl);font-weight:bold;color:var(--t-text);letter-spacing:3px;text-transform:uppercase;position:relative;padding-left:var(--sp-4);border-left:var(--bar-left);margin-bottom:2rem;text-shadow:0 0 10px rgba(255,255,255,0.5),0 0 20px rgba(255,255,255,0.3),0 0 30px rgba(255,255,255,0.2);animation:titleGlow 3s ease-in-out infinite alternate}@keyframes titleGlow{from{text-shadow:0 0 10px rgba(255,255,255,0.5),0 0 20px rgba(255,255,255,0.3)}to{text-shadow:0 0 15px rgba(255,255,255,0.7),0 0 25px rgba(255,255,255,0.5)}}.tab-navigation{display:flex;border:var(--rule);border-radius:var(--r-2xl);overflow:hidden}.tab-btn{flex:1;padding:var(--sp-3) var(--sp-5);background:var(--bg-elevated);border:none;border-right:var(--rule);color:var(--t-dim);font-family:var(--font);font-size:var(--fs-sm);font-weight:500;letter-spacing:0.08em;text-transform:uppercase;cursor:pointer;transition:background var(--t) var(--ease),color var(--t) var(--ease)}.tab-btn:last-child{border-right:none}.tab-btn.active{background:var(--bg-overlay);color:var(--accent)}.tab-btn:hover:not(.active){background:var(--bg-hover);color:var(--t-text)}.message-container{margin-bottom:var(--sp-6)}.message{padding:var(--sp-3) var(--sp-4);font-size:var(--fs-sm);text-align:left;border-radius:var(--r-lg);border-left:3px solid transparent}.error-message{background:var(--danger-15);border-color:var(--danger);color:var(--danger)}.success-message{background:var(--success-15);border-color:var(--success);color:var(--success)}.tab-content{display:none}.tab-content.active{display:block}.auth-form{display:flex;flex-direction:column;gap:var(--sp-6)}.form-group{display:flex;flex-direction:column;gap:var(--sp-2);position:relative}.form-label{font-size:var(--fs-xs);font-weight:600;color:var(--t-dim);text-transform:uppercase;letter-spacing:0.12em}.form-input{padding:var(--sp-3) var(--sp-4);background:var(--grad-input);border:var(--rule);border-radius:var(--r-2xl);color:var(--t-text);font-family:var(--font);font-size:var(--fs);outline:none;transition:border-color var(--t) var(--ease),box-shadow var(--t) var(--ease),background var(--t) var(--ease);box-shadow:inset 0 2px 4px rgba(0,0,0,0.2)}.form-input:focus{border-color:var(--accent-30);background:linear-gradient(180deg,#0d0d0d 0%,#111 100%);box-shadow:0 0 0 3px var(--accent-08),inset 0 2px 4px rgba(0,0,0,0.2)}.form-input::placeholder{color:var(--t-muted)}.password-input-wrapper{position:relative;display:flex;align-items:center}.password-input-wrapper .form-input,.password-input-wrapper input{width:100%;padding-right:var(--sp-10)}.password-toggle{position:absolute;right:var(--sp-3);top:50%;transform:translateY(-50%);background:none;border:none;cursor:pointer;padding:var(--sp-2);color:var(--t-dim);transition:color var(--t-fast);z-index:var(--z-1)}.password-toggle:hover{color:var(--accent)}.password-toggle:focus{outline:none}.password-toggle .eye-icon{display:block;width:20px;height:20px;color:inherit}.password-toggle.active .eye-icon{color:var(--accent)}.captcha-group{margin:var(--sp-4) 0}.captcha-container{margin-bottom:var(--sp-4)}.modern-captcha{display:flex;justify-content:center}.legacy-captcha{display:flex;align-items:center;gap:var(--sp-4);flex-wrap:wrap}.captcha-display{background:var(--bg-elevated);padding:var(--sp-3) var(--sp-5);border:var(--rule-strong);border-radius:var(--r-2xl);font-family:var(--font-m);font-size:var(--fs-md);font-weight:700;letter-spacing:0.2em;color:var(--t-text);user-select:none}.captcha-input{flex:1;padding:var(--sp-3) var(--sp-4);background:var(--bg);border:var(--rule);border-radius:var(--r-2xl);color:var(--t-text);font-family:var(--font);font-size:var(--fs);outline:none;transition:border-color var(--t) var(--ease)}.captcha-input:focus{border-color:var(--accent-30)}.auth-button{padding:var(--sp-4) var(--sp-6);background:var(--grad-btn);border:var(--rule-strong);border-radius:var(--r-2xl);color:var(--t-text);font-family:var(--font);font-size:var(--fs);font-weight:600;letter-spacing:0.12em;text-transform:uppercase;cursor:pointer;transition:background var(--t) var(--ease),border-color var(--t) var(--ease),color var(--t) var(--ease),box-shadow var(--t) var(--ease),transform var(--t) var(--ease);box-shadow:var(--shadow-md),inset 0 1px 0 rgba(255,255,255,0.08);position:relative;overflow:hidden}.auth-button::before{content:'';position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,0.08),transparent);transition:left 0.6s ease}.auth-button:hover{background:var(--grad-btn-hov);border-color:var(--accent-20);transform:translateY(-2px);box-shadow:0 8px 24px rgba(0,0,0,0.4),var(--shadow-glow)}.auth-button:hover::before{left:100%}.auth-button:active{transform:translateY(-1px)}.auth-button.loading{opacity:0.5;pointer-events:none}.auth-button.loading .button-text::after{content:'';display:inline-block;width:14px;height:14px;margin-left:var(--sp-3);border:2px solid var(--accent-20);border-top-color:var(--accent);border-radius:50%;animation:spin 0.7s linear infinite;vertical-align:middle}.info-notice{background:var(--warn-15);border-left:3px solid var(--warn);color:var(--t-text);padding:var(--sp-4);font-size:var(--fs-sm);margin-bottom:var(--sp-6)}.loading-modal{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);background:var(--grad-surface);border:var(--rule-strong);border-radius:var(--r-3xl);padding:var(--sp-3) var(--sp-5);color:var(--t-text);font-family:var(--font);font-size:var(--fs-lg);text-align:center;z-index:calc(var(--z-toast)+10);box-shadow:var(--shadow-xl)}.loading-modal.transform-to-login{width:var(--w-login);min-height:min(550px,80svh);border-radius:var(--r-4xl);padding:0;background:var(--grad-surface)}.stargaze-button{position:fixed;bottom:var(--sp-6);right:var(--sp-6);padding:var(--sp-3) var(--sp-5);background:var(--grad-surface);border:var(--rule-strong);border-radius:var(--r-2xl);color:var(--t-dim);font-family:var(--font);font-size:var(--fs-xs);letter-spacing:0.1em;text-transform:uppercase;cursor:pointer;transition:border-color var(--t) var(--ease),color var(--t) var(--ease);z-index:var(--z-drop)}.stargaze-button:hover{border-color:var(--accent-30);color:var(--accent)}.stargaze-button.active{border-color:var(--accent-50);color:var(--accent)}@keyframes spin{to{transform:rotate(360deg)}}@keyframes fadeInDown{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInUp{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@media (max-width:500px){.legacy-captcha{flex-direction:column;gap:var(--sp-3)}.captcha-input{width:100%}.form-input,.captcha-input{font-size:16px}.login-container{padding:var(--sp-8) var(--sp-5)}.app-title{font-size:var(--fs-2xl)}.stargaze-button{bottom:var(--sp-4);right:var(--sp-4);padding:var(--sp-2) var(--sp-3)}}