body,html{margin:0;padding:0;font-family:var(--font-sans);color:#fff;height:100%;width:100%;overflow-x:hidden;overflow-y:auto;box-sizing:border-box}*,:after,:before{box-sizing:inherit}.container{position:fixed;inset:0;display:flex;justify-content:center;align-items:center;width:100%;height:100%;overflow:auto;padding:0;background-color:var(--background)}.login-page.container{inset:auto;display:block;overflow:visible;background-color:#000}.login-page .login-stage,.login-page.container{position:relative;width:100%;min-height:100svh;height:auto}.login-page .login-stage{z-index:1;display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);grid-template-rows:1fr;align-items:stretch;max-width:none;padding:0;box-sizing:border-box}.login-page .login-stage .auth-wrapper{position:relative;z-index:1;display:flex;justify-content:center;align-items:center;width:100%;max-width:none;min-width:0;padding:clamp(1.5rem,4vh,3rem) clamp(1.5rem,5vw,5rem);overflow:visible;box-sizing:border-box}.login-page .login-stage .auth-wrapper:before{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;opacity:.07;mix-blend-mode:screen;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 200'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='3'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.5'/%3E%3C/svg%3E");background-size:180px 180px}.login-page .login-stage .auth-wrapper:after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background-image:radial-gradient(circle at 1px 1px,rgba(255,255,255,.04) 1px,transparent 0),radial-gradient(75% 40% at 50% 0,rgba(var(--accent-rgb),.1),transparent 70%),radial-gradient(85% 42% at 50% 100%,rgba(var(--accent-rgb),.07),transparent 66%);background-size:24px 24px,100% 100%,100% 100%;-webkit-mask-image:linear-gradient(180deg,#000 0,#000 16%,transparent 36%,transparent 64%,#000 84%,#000);mask-image:linear-gradient(180deg,#000 0,#000 16%,transparent 36%,transparent 64%,#000 84%,#000)}.login-page .login-hero{position:relative;overflow:hidden;background:#000}.login-page .login-hero__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;display:block}.login-page .login-hero__fade{position:absolute;inset:0;z-index:2;pointer-events:none;background:linear-gradient(90deg,rgba(0,0,0,1),rgba(0,0,0,.99) 4%,rgba(0,0,0,.9) 10%,rgba(0,0,0,.72) 17%,rgba(0,0,0,.5) 25%,rgba(0,0,0,.3) 33%,rgba(0,0,0,.15) 41%,rgba(0,0,0,.06) 49%,rgba(0,0,0,0) 58%)}.login-page .login-hero__quote{position:absolute;left:clamp(2rem,4vw,3.5rem);right:clamp(2rem,4vw,3.5rem);bottom:clamp(2rem,5vh,3.25rem);z-index:3;margin:0;max-width:22ch;font-family:var(--font-display);font-weight:600;font-size:clamp(1.15rem,1.9vw,1.6rem);line-height:1.25;letter-spacing:-.01em;color:#eef1f4;text-shadow:0 2px 18px rgba(0,0,0,.7);text-wrap:balance}.login-page{--overlay-2:rgba(255,255,255,0.04);--overlay-3:rgba(255,255,255,0.06);--overlay-4:rgba(255,255,255,0.08);--glass-border:rgba(255,255,255,0.12);--input-bg:rgba(255,255,255,0.03);--input-bg-focus:rgba(18,171,248,0.05);--text-primary:#f4f6f8;--text-secondary:rgba(244,246,248,0.62);--text-muted:rgba(244,246,248,0.42);--text-faint:rgba(244,246,248,0.3);--login-motion-duration:220ms;--login-motion-ease:cubic-bezier(0.22,1,0.36,1);color:var(--text-primary)}.login-page .auth-form{position:relative;z-index:10;width:100%;max-width:380px;padding:0;background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none;border:none;border-radius:0;box-shadow:none}.login-page .logo-container{display:flex;justify-content:center;margin-bottom:var(--space-5)}.login-page .logo{width:120px;max-height:52px;height:auto;object-fit:contain}.login-page h2{font-family:var(--font-display);font-size:var(--text-2xl);font-weight:700;line-height:var(--text-2xl-lh);letter-spacing:var(--text-display-tracking);text-align:center;margin:0 0 var(--space-2);color:var(--text-primary)}.login-page .auth-subtitle{margin:0 0 var(--space-5);line-height:var(--leading-normal);text-align:center}.login-page .auth-subtitle,.login-page .label{font-family:var(--font-sans);font-size:var(--text-sm);color:var(--text-secondary)}.login-page .label{display:block;margin-bottom:var(--space-2)}.login-page .input-group{margin-bottom:var(--space-4)}.login-page input{width:100%;min-height:44px;padding:.75rem .875rem;background-color:var(--input-bg);border:1px solid rgba(255,255,255,.14);border-radius:var(--radius);color:var(--text-primary);font-size:var(--text-sm);font-family:var(--font-sans);box-sizing:border-box;transition:border-color var(--login-motion-duration) var(--login-motion-ease),box-shadow var(--login-motion-duration) var(--login-motion-ease),background-color var(--login-motion-duration) var(--login-motion-ease)}.login-page input:focus{outline:none;border-color:rgba(var(--accent-rgb),.6);box-shadow:0 0 0 2px rgba(var(--accent-rgb),.2);background-color:var(--input-bg-focus)}.login-page input::placeholder{color:var(--text-faint)}.login-page input:-webkit-autofill,.login-page input:-webkit-autofill:active,.login-page input:-webkit-autofill:hover{-webkit-text-fill-color:var(--text-primary);box-shadow:inset 0 0 0 1000px #0e1116;caret-color:var(--text-primary);border:1px solid rgba(255,255,255,.14);-webkit-transition:background-color 9999s ease-in-out 0s;transition:background-color 9999s ease-in-out 0s}.login-page input:-webkit-autofill:focus{-webkit-text-fill-color:var(--text-primary);box-shadow:0 0 0 1000px #0e1116 inset,0 0 0 2px rgba(var(--accent-rgb),.2);border-color:rgba(var(--accent-rgb),.6)}.login-page .password-input-wrapper{position:relative;display:flex;align-items:center}.login-page .password-input-wrapper input{padding-right:2.75rem}.login-page .password-toggle{position:absolute;right:.5rem;top:50%;transform:translateY(-50%);display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;padding:0;margin:0;border:none;background:transparent;color:var(--text-muted);cursor:pointer;transition:color .18s ease;z-index:5}.login-page .password-toggle:hover{color:var(--accent)}.login-page .password-toggle:focus{outline:none}.login-page .password-toggle:focus-visible{outline:2px solid rgba(var(--accent-rgb),.45);outline-offset:2px;border-radius:var(--radius-sm)}.login-page .password-toggle svg{width:1.125rem;height:1.125rem}.login-page .password-info{font-size:var(--text-xs);color:var(--text-muted);margin-left:var(--space-2)}.login-page .password-requirements{display:flex;flex-wrap:wrap;gap:.35rem;margin-top:var(--space-3);padding:0;background:none;border:none;border-radius:0;overflow:hidden}.login-page .requirement{display:inline-flex;align-items:center;margin:0;padding:.2rem .55rem;border-radius:var(--radius-pill);border:1px solid var(--glass-border);background:var(--overlay-2);color:var(--text-muted);font-family:var(--font-sans);font-size:.6875rem;letter-spacing:.02em;line-height:1.3;transition:color .2s ease,border-color .2s ease,background-color .2s ease}.login-page .requirement.met{color:rgba(var(--accent-rgb),.95);border-color:rgba(var(--accent-rgb),.35);background:rgba(var(--accent-rgb),.1)}.login-page .password-symbols-hint{flex-basis:100%;width:100%;margin:var(--space-2) 0 0;line-height:1.45;word-break:break-word}.login-page .divider,.login-page .password-symbols-hint{font-family:var(--font-sans);font-size:var(--text-xs);color:var(--text-muted)}.login-page .divider{display:flex;align-items:center;text-align:center;margin:var(--space-5) 0;letter-spacing:.06em}.login-page .divider:after,.login-page .divider:before{content:"";flex:1 1;border-bottom:1px solid var(--glass-border)}.login-page .divider span{padding:0 var(--space-3)}.login-page .google-button{display:flex;align-items:center;justify-content:center;gap:var(--space-2);width:100%;min-height:44px;padding:.7rem 1.5rem;margin-bottom:var(--space-3);background-color:transparent;color:var(--text-primary);border:1px solid var(--glass-border);border-radius:var(--radius-pill);font-family:var(--font-sans);font-size:var(--text-sm);font-weight:500;cursor:pointer;box-shadow:none;filter:none;transform:none;transition:background-color .32s cubic-bezier(.4,0,.2,1),border-color .32s cubic-bezier(.4,0,.2,1),opacity .32s cubic-bezier(.4,0,.2,1)}.login-page .google-button:hover:not(:disabled){background-color:rgba(255,255,255,.05);border-color:rgba(255,255,255,.24);box-shadow:none;filter:none;transform:none}.login-page .google-button:active:not(:disabled){background-color:rgba(255,255,255,.08);box-shadow:none;filter:none;transform:none}.login-page .google-button:disabled{opacity:.55;cursor:not-allowed}.login-page .google-button svg{width:1.125rem;height:1.125rem;flex-shrink:0}.login-page .google-button:focus-visible{outline:2px solid rgba(var(--accent-rgb),.5);outline-offset:3px}.login-page-submit{width:100%;margin-top:var(--space-3);margin-bottom:var(--space-3)}.login-page .text-center{display:flex;justify-content:center;align-items:center;margin-top:var(--space-2);width:100%}.login-page .secondary-button{display:inline-block;padding:var(--space-2) var(--space-3);background:transparent;border:none;color:var(--text-secondary);font-family:var(--font-sans);font-size:var(--text-sm);text-align:center;cursor:pointer;transition:color var(--login-motion-duration) var(--login-motion-ease)}.login-page .secondary-button:hover{color:var(--accent);background-color:transparent}.login-page .login-page__message-slot{min-height:0}.login-page .forgot-password{text-align:center;margin-bottom:var(--space-3)}.login-page .text-link{background:transparent;border:none;color:rgba(var(--accent-rgb),.85);font-family:var(--font-sans);font-size:var(--text-sm);cursor:pointer;padding:var(--space-2);text-decoration:none;transition:color var(--login-motion-duration) var(--login-motion-ease)}.login-page .text-link:hover{color:var(--accent);text-decoration:underline}.login-page .legal-links{text-align:center;margin:var(--space-3) 0 var(--space-2);padding:0}.login-page .legal-links div{font-family:var(--font-sans);font-size:var(--text-xs);color:var(--text-muted);line-height:var(--leading-normal)}.login-page .legal-link{color:rgba(var(--accent-rgb),.85);text-decoration:none;transition:color .18s ease}.login-page .legal-link:hover{color:var(--accent);text-decoration:underline}.logo-container{display:flex;justify-content:center;margin-bottom:2rem}.logo{height:auto;width:160px;object-fit:contain;max-height:70px}.auth-form{position:relative;background:rgba(13,17,23,.75);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.07);border-radius:16px;box-shadow:0 8px 32px rgba(0,0,0,.4),inset 0 1px 0 rgba(255,255,255,.06);padding:2rem;width:85%;max-width:400px;z-index:10}h2{font-family:var(--font-display);font-size:1.5rem;font-weight:700;text-align:center;margin-bottom:1.25rem;color:#fff}.label{display:block;font-size:1rem;margin-bottom:.625rem;color:rgba(255,255,255,.8)}.input-group{margin-bottom:1.25rem}input{width:100%;padding:.75rem;background-color:rgba(30,30,30,.7);border:1px solid rgba(255,255,255,.1);border-radius:8px;color:#fff;font-size:.9375rem;font-family:var(--font-sans);box-sizing:border-box;transition:border-color .2s}input:focus{outline:none;border-color:rgba(var(--accent-rgb),.6);box-shadow:0 0 0 2px rgba(var(--accent-rgb),.2)}input::placeholder{color:rgba(255,255,255,.4)}.primary-button{width:100%;min-height:44px;padding:12px 24px;background:var(--accent);color:var(--accent-foreground);border:none;border-radius:var(--radius-pill);font-family:var(--font-sans);font-size:14px;font-weight:500;cursor:pointer;margin-top:.75rem;margin-bottom:1rem;box-shadow:none}.primary-button:hover:not(:disabled){background:var(--accent-hover);color:var(--accent-foreground)}.primary-button:active:not(:disabled){opacity:.9}.text-center{display:flex;justify-content:center;align-items:center;margin-top:.5rem;width:100%}.secondary-button{background:transparent;border:none;color:rgba(255,255,255,.7);font-family:var(--font-display);font-size:.9375rem;cursor:pointer;padding:.625rem 1.25rem;transition:color .2s;display:inline-block;text-align:center}.secondary-button:hover{color:var(--accent);background-color:transparent}.divider{display:flex;align-items:center;text-align:center;margin:1.5rem 0;color:rgba(255,255,255,.5);font-size:.875rem;font-family:var(--font-sans)}.divider:after,.divider:before{content:"";flex:1 1;border-bottom:1px solid rgba(255,255,255,.1)}.divider span{padding:0 1rem}.google-button{width:100%;padding:.7rem;background-color:#fff;color:#333;border:1px solid rgba(255,255,255,.2);border-radius:var(--radius-pill);font-family:var(--font-sans);font-size:1rem;font-weight:500;cursor:pointer;transition:background-color .32s cubic-bezier(.4,0,.2,1),border-color .32s cubic-bezier(.4,0,.2,1),opacity .32s cubic-bezier(.4,0,.2,1);margin-bottom:1rem;box-shadow:none;filter:none;transform:none;display:flex;align-items:center;justify-content:center;gap:.5rem}.google-button:hover:not(:disabled){background-color:#f0f0f0;box-shadow:none;transform:none}.google-button:active:not(:disabled){background-color:#e4e4e4;box-shadow:none;transform:none}.google-button:disabled{opacity:.6;cursor:not-allowed}.google-button svg{width:20px;height:20px;flex-shrink:0}.error{color:#ff4d4d;background-color:rgba(255,77,77,.1);padding:.75rem;border-radius:8px;text-align:center;margin-bottom:1.25rem;font-size:.875rem}.auth-wrapper{display:flex;justify-content:center;align-items:center;width:100%;height:100%;padding:10px;overflow-y:auto;max-height:100vh}.password-input-wrapper{position:relative;display:flex;align-items:center}.password-input-wrapper input{width:100%;padding-right:40px}.password-toggle{position:absolute;right:10px;top:25%;transform:translateY(-50%);background:transparent;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--accent);width:30px;height:30px;padding:0;margin:0;transition:color .2s;z-index:5}.password-toggle:hover{color:rgba(0,0,0,.8)}.password-toggle:focus{outline:none}.password-toggle svg{width:20px;height:20px}.password-info{font-size:.8rem;color:rgba(255,255,255,.6);margin-left:.5rem}.password-requirements{margin-top:.5rem;padding:.6rem;background-color:rgba(30,30,30,.5);border-radius:8px;border:1px solid rgba(255,255,255,.1)}.requirement{display:flex;align-items:center;margin-bottom:.35rem;color:rgba(255,255,255,.6);font-size:.75rem;transition:color .3s ease}.requirement:last-child{margin-bottom:0}.requirement.met{color:rgba(var(--accent-rgb),.9)}.indicator{display:inline-block;width:12px;height:12px;border-radius:50%;margin-right:8px;background-color:rgba(0,0,0,.2);position:relative}.requirement.met .indicator{background-color:var(--accent)}.requirement.met .indicator:after{content:"";position:absolute;left:4px;top:2px;width:4px;height:7px;border:solid white;border-width:0 2px 2px 0;transform:rotate(45deg)}.forgot-password{text-align:center;margin-bottom:1.25rem}.text-link{background:transparent;border:none;color:rgba(var(--accent-rgb),.8);font-family:var(--font-sans);font-size:.875rem;cursor:pointer;padding:.5rem;transition:all .2s;text-decoration:none}.text-link:hover{color:var(--accent);text-decoration:underline}.legal-links{text-align:center;margin:1rem 0 .75rem;padding:0 .5rem}.legal-links div{font-family:var(--font-sans);font-size:.75rem;color:rgba(255,255,255,.6);line-height:1.5}.legal-link{color:rgba(var(--accent-rgb),.8);text-decoration:none;transition:color .2s ease}.legal-link:hover{color:var(--accent);text-decoration:underline}@media (prefers-reduced-motion:reduce){.login-page .auth-form{transform:none}.login-page .google-button,.login-page .login-page-submit{transition:none}}@media (max-width:900px){.login-page .login-stage{grid-template-columns:1fr}.login-page .login-hero{display:none}.login-page .login-stage .auth-wrapper{padding:clamp(1.5rem,6vh,3rem) 1.25rem}}