body.login-page{background:var(--bg);color:var(--ink);padding-bottom:calc(92px + var(--nav-safe));overflow-x:hidden;height:auto;min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;position:relative}body.login-page .bottom-nav{z-index:var(--z-nav)!important}body.login-page:before{content:"";position:fixed;inset:0;z-index:0;background:radial-gradient(900px 650px at 18% 15%,rgba(var(--gc-red-rgb),.12),transparent 62%),radial-gradient(980px 680px at 82% 18%,rgba(var(--gc-red2-rgb),.08),transparent 62%),radial-gradient(900px 720px at 50% 86%,rgba(var(--ink-rgb),.04),transparent 66%),var(--bg);pointer-events:none}body.login-page:after{content:"";position:fixed;inset:0;z-index:0;pointer-events:none;background:radial-gradient(1200px 820px at 50% 40%,#0000,#000000a8 72%),linear-gradient(180deg,#0000,#000000b8)}body.login-page #gl-canvas{position:fixed;inset:0;z-index:var(--z-content);opacity:.6;pointer-events:none}.auth-container{position:relative;z-index:var(--z-hero);flex:1;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:var(--space-3);width:100%;min-height:calc(100vh - 92px - var(--nav-safe));min-height:calc(100dvh - 92px - var(--nav-safe))}.auth-card{width:100%;max-width:420px;background:var(--glass-obsidian);border:1px solid rgba(255,255,255,.06);border-top:1px solid var(--glass-border-top);border-radius:var(--radius-4xl);box-shadow:0 20px 40px -10px #0009,0 0 100px -20px rgba(var(--gc-red-rgb),.15);-webkit-backdrop-filter:blur(var(--glass-blur));backdrop-filter:blur(var(--glass-blur));overflow:hidden;flex-shrink:0;transition:transform .3s ease,box-shadow .3s ease}.auth-card:hover{transform:translateY(-2px);box-shadow:0 24px 48px -10px #000000b3,0 0 120px -15px rgba(var(--gc-red-rgb),.2)}.auth-tabs{display:flex;background:#12121254;border-bottom:1px solid rgba(255,255,255,.06)}.auth-tab{flex:1;border:none;background:transparent;color:#fff9;padding:var(--space-2) 0;font-family:var(--font-ui);font-size:var(--text-sm);letter-spacing:.08em;text-transform:uppercase;font-weight:600;cursor:pointer;transition:all .2s ease;position:relative}.auth-tab:hover{color:#fffc;background:#ffffff05}.auth-tab.is-active{color:var(--ink);background:#ffffff0d;font-weight:700}.auth-tab.is-active:after{content:"";position:absolute;bottom:0;left:0;width:100%;height:2px;background:var(--gc-red);box-shadow:0 -2px 10px var(--gc-red)}.auth-body{padding:var(--space-4) 28px}.auth-header{text-align:center;margin-bottom:var(--space-3)}.auth-title{font-family:var(--font-display);font-size:var(--text-4xl);color:var(--ink);margin:0 0 var(--space-1);letter-spacing:.02em;text-shadow:0 2px 20px rgba(var(--gc-red-rgb),.3)}.auth-subtitle{font-size:var(--text-base);color:#fff9;line-height:1.5;font-family:var(--font-ui)}.auth-form-group{margin-bottom:18px}.auth-label{display:block;font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.12em;color:#fff9;margin-bottom:var(--space-1);font-weight:700;font-family:var(--font-ui)}.auth-input{width:100%;height:48px;padding:0 var(--space-2);background:#1212126e;border:1px solid rgba(255,255,255,.1);border-radius:var(--radius-xl);color:var(--ink);font-family:var(--font-ui);font-size:var(--text-base);transition:all .2s ease;box-sizing:border-box}.auth-input:focus{outline:none;border-color:var(--gc-red);background:#121212ad;box-shadow:0 0 0 4px rgba(var(--gc-red-rgb),.15)}.auth-input::placeholder{color:#ffffff8c}#authDob{color-scheme:dark}.auth-dob-hint{margin-top:6px;font-size:var(--text-xs);color:#ffffff94;line-height:1.4;font-family:var(--font-ui)}.auth-submit{width:100%;height:48px;margin-top:var(--space-2);background:var(--gc-red);border:none;border-radius:var(--radius-xl);color:var(--ink);font-family:var(--font-ui);font-size:var(--text-base);font-weight:700;letter-spacing:.06em;text-transform:uppercase;cursor:pointer;transition:all .2s ease;box-shadow:0 4px 20px rgba(var(--gc-red-rgb),.3)}.auth-submit:hover{background:var(--gc-red2);transform:translateY(-1px);box-shadow:0 6px 24px rgba(var(--gc-red-rgb),.4)}.auth-submit:active{transform:translateY(0)}.auth-submit:disabled{opacity:.6;cursor:not-allowed;transform:none}.auth-submit.is-loading{opacity:.7;cursor:wait}.auth-message{margin-top:var(--space-2);font-size:var(--text-sm);text-align:center;min-height:20px;color:#fff9;font-family:var(--font-ui)}.auth-message.error{color:#ff4a4a}.auth-message.success{color:#4aff85}.auth-footer{margin-top:var(--space-3);display:flex;gap:var(--space-3);justify-content:center;flex-wrap:wrap}.auth-footer-link{font-size:var(--text-xs);color:#ffffff8c;text-decoration:none;transition:color .2s ease;font-family:var(--font-ui)}.auth-footer-link:hover{color:#fff9}.is-hidden{max-height:0;overflow:hidden;opacity:0;pointer-events:none;transition:max-height .3s ease,opacity .3s ease}#signupFields:not(.is-hidden){max-height:500px;opacity:1;pointer-events:auto}@media(max-width:768px){.auth-container{padding:var(--space-2)}.auth-card{max-width:100%;border-radius:var(--radius-3xl)}.auth-body{padding:var(--space-3) var(--space-3)}.auth-title{font-size:clamp(24px,6vw,32px)}}@media(max-width:600px){.auth-container{padding:var(--space-2);min-height:calc(100vh - 80px);min-height:calc(100dvh - 80px)}.auth-card{max-width:100%;border-radius:var(--radius-3xl)}.auth-body{padding:28px var(--space-3)}.auth-title{font-size:clamp(24px,6vw,32px);margin-bottom:10px}.auth-subtitle{font-size:var(--text-sm)}.auth-input{height:48px;font-size:var(--text-lg);padding:0 var(--space-2)}.auth-submit{height:48px;font-size:var(--text-base);min-height:48px}.auth-tab{padding:var(--space-2) 0;font-size:var(--text-xs);min-height:48px}.auth-footer{flex-direction:column;gap:var(--space-2);align-items:center}.auth-footer-link{font-size:var(--text-xs);min-height:var(--btn-height-lg);display:flex;align-items:center}}@media(max-width:480px){.auth-container{padding:var(--space-2)}.auth-card{border:none;border-top:1px solid rgba(255,255,255,.1);border-radius:0;max-width:none;width:100%;margin:0 calc(-1 * var(--space-2));display:flex;flex-direction:column}.auth-body{flex:1;display:flex;flex-direction:column;justify-content:center;padding:var(--space-3) var(--space-2)}.auth-title{font-size:var(--text-2xl)}.auth-form-group{margin-bottom:var(--space-2)}.auth-input{padding:0 14px}}@media(prefers-reduced-motion:reduce){.auth-card,.auth-tab,.auth-input,.auth-submit,.auth-footer-link{transition:none}.auth-card:hover,.auth-submit:hover{transform:none}}
