.auth-root *,.auth-root :before,.auth-root :after{box-sizing:border-box;margin:0;padding:0}.auth-root{--bg:#f7f5f0;--white:#fff;--ink:#0f0f0d;--ink2:#4a4a42;--ink3:#9a9a90;--rule:#e4e1d8;--rule2:#cccab8;--mint:#1da1f2;--mint-dim:#1da1f21f;--mint-glow:#1da1f20f;--coral:#f53;--coral-dim:#ff553314;--surface:#fff;--surface2:#f2f0ea;background:var(--bg);color:var(--ink);font-family:var(--font-barlow), sans-serif;min-height:100vh;overflow-x:hidden}.auth-root canvas#auth-bg{z-index:0;pointer-events:none;width:100%;height:100%;position:fixed;inset:0}.auth-root .blob{pointer-events:none;z-index:1;filter:blur(80px);border-radius:50%;position:fixed}.auth-root .blob-mint{background:radial-gradient(circle,#1da1f221 0%,#0000 70%);width:600px;height:600px;animation:18s ease-in-out infinite alternate authBlob1;top:-160px;right:-120px}.auth-root .blob-coral{background:radial-gradient(circle,#ff553314 0%,#0000 70%);width:480px;height:480px;animation:22s ease-in-out infinite alternate authBlob2;bottom:-120px;left:-80px}@keyframes authBlob1{0%{transform:translate(0)scale(1)}to{transform:translate(-40px,60px)scale(1.12)}}@keyframes authBlob2{0%{transform:translate(0)scale(1)}to{transform:translate(50px,-40px)scale(1.08)}}.auth-root .auth-top-bar{z-index:30;background:linear-gradient(90deg,var(--mint) 0%,#4db8f7 50%,var(--mint) 100%);background-size:200% 100%;height:3px;animation:3s linear infinite authBarSlide;position:fixed;top:0;left:0;right:0}@keyframes authBarSlide{0%{background-position:100% 0}to{background-position:-100% 0}}.auth-root .auth-shell{z-index:10;flex-direction:column;justify-content:center;align-items:center;gap:16px;min-height:100vh;padding:48px 20px;display:flex;position:relative}.auth-root .auth-card{background:var(--surface);border:1.5px solid var(--rule);opacity:0;border-radius:16px;width:100%;max-width:400px;padding:38px 36px 32px;animation:.6s 50ms forwards authRise;box-shadow:0 18px 50px #0f0f0d14}.auth-root .auth-logo{font-family:var(--font-barlow-cond), sans-serif;letter-spacing:.04em;text-transform:uppercase;color:var(--ink);font-size:20px;font-weight:900;text-decoration:none;display:inline-block}.auth-root .auth-logo em{color:var(--mint);font-style:normal}.auth-root .auth-kicker{font-family:var(--font-barlow-semi), sans-serif;letter-spacing:.14em;text-transform:uppercase;color:var(--mint);align-items:center;gap:8px;margin-top:22px;font-size:11px;font-weight:600;display:inline-flex}.auth-root .auth-kicker-bar{background:var(--mint);width:20px;height:2px}.auth-root .auth-h1{font-family:var(--font-barlow-cond), sans-serif;letter-spacing:-.02em;text-transform:uppercase;color:var(--ink);margin-top:10px;margin-bottom:26px;font-size:44px;font-weight:900;line-height:.92}.auth-root .auth-h1 .stroke{-webkit-text-stroke:1.5px var(--ink);color:#0000}.auth-root .auth-google{width:100%;font-family:var(--font-barlow-semi), sans-serif;border:1.5px solid var(--rule2);background:var(--white);color:var(--ink2);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;gap:10px;padding:12px 18px;font-size:14px;font-weight:600;transition:all .2s;display:inline-flex}.auth-root .auth-google:hover:not(:disabled){border-color:var(--ink);color:var(--ink);background:var(--surface2)}.auth-root .auth-google:disabled{opacity:.6;cursor:default}.auth-root .auth-divider{font-family:var(--font-barlow-cond), sans-serif;letter-spacing:.14em;color:var(--ink3);align-items:center;gap:12px;margin:18px 0;font-size:11px;font-weight:700;display:flex}.auth-root .auth-divider:before,.auth-root .auth-divider:after{content:"";background:var(--rule);flex:1;height:1px}.auth-root .auth-form{flex-direction:column;gap:16px;display:flex}.auth-root .auth-field{flex-direction:column;gap:7px;display:flex}.auth-root .auth-label{font-family:var(--font-barlow-cond), sans-serif;letter-spacing:.12em;text-transform:uppercase;color:var(--ink3);font-size:11px;font-weight:700}.auth-root .auth-label .opt{color:var(--rule2);font-weight:600}.auth-root .auth-input{width:100%;font-family:var(--font-barlow), sans-serif;color:var(--ink);background:var(--bg);border:1.5px solid var(--rule);border-radius:8px;outline:none;padding:11px 14px;font-size:14px;font-weight:400;transition:border-color .2s,box-shadow .2s}.auth-root .auth-input::placeholder{color:var(--ink3)}.auth-root .auth-input:focus{border-color:var(--mint);box-shadow:0 0 0 4px var(--mint-glow);background:var(--white)}.auth-root .auth-hint{color:var(--ink3);font-size:11px;font-weight:300}.auth-root .auth-error{color:var(--coral);background:var(--coral-dim);border:1px solid #f533;border-radius:8px;padding:9px 12px;font-size:13px;font-weight:400;line-height:1.4}.auth-root .auth-btn{width:100%;font-family:var(--font-barlow-cond), sans-serif;letter-spacing:.08em;text-transform:uppercase;background:var(--mint);color:var(--ink);cursor:pointer;clip-path:polygon(0 0,calc(100% - 9px) 0,100% 9px,100% 100%,9px 100%,0 calc(100% - 9px));border:none;margin-top:2px;padding:14px;font-size:15px;font-weight:900;transition:all .2s}.auth-root .auth-btn:hover:not(:disabled){background:#33b1f5;transform:translateY(-1px);box-shadow:0 8px 24px #1da1f24d}.auth-root .auth-btn:disabled{opacity:.6;cursor:default}.auth-root .auth-switch{border-top:1px solid var(--rule);text-align:center;color:var(--ink2);margin-top:24px;padding-top:20px;font-size:13px;font-weight:300}.auth-root .auth-switch a{color:var(--mint);font-weight:500;text-decoration:none}.auth-root .auth-switch a:hover{text-decoration:underline}.auth-root .auth-confirm{text-align:center;flex-direction:column;align-items:center;gap:12px;padding:6px 0 2px;display:flex}.auth-root .auth-confirm-icon{background:var(--mint-dim);width:48px;height:48px;color:var(--mint);border-radius:50%;justify-content:center;align-items:center;font-size:22px;display:flex}.auth-root .auth-confirm-title{font-family:var(--font-barlow-cond), sans-serif;text-transform:uppercase;letter-spacing:-.01em;color:var(--ink);font-size:22px;font-weight:900}.auth-root .auth-confirm-text{color:var(--ink2);font-size:13.5px;font-weight:300;line-height:1.6}.auth-root .auth-confirm-text strong{color:var(--ink);font-weight:500}.auth-root .auth-fine{font-family:var(--font-barlow-cond), sans-serif;letter-spacing:.06em;text-transform:uppercase;color:var(--ink3);opacity:0;font-size:11px;font-weight:600;animation:.6s .18s forwards authRise}@keyframes authRise{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}
