.auth-page{--bg:#08080D;--bg-2:#0C0C16;--bg-card:#11111A;--ink:#FFFFFF;--ink-80:rgba(255,255,255,0.82);--ink-60:rgba(255,255,255,0.6);--ink-40:rgba(255,255,255,0.4);--line:rgba(255,255,255,0.08);--line-strong:rgba(255,255,255,0.14);--accent:#6366F1;--accent-2:#8B5CF6;--accent-3:#EC4899;--accent-glow:rgba(99,102,241,0.4);--accent-soft:rgba(99,102,241,0.1);--danger:#F87171;min-height:100vh;background:var(--bg);color:var(--ink);font-family:Satoshi,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;display:flex;flex-direction:column;position:relative;overflow-x:hidden;-webkit-font-smoothing:antialiased}.auth-page *{box-sizing:border-box}.auth-page:before{content:"";background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0.04 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");z-index:1;mix-blend-mode:overlay;opacity:.5}.auth-atmosphere,.auth-page:before{position:fixed;inset:0;pointer-events:none}.auth-atmosphere{z-index:0;overflow:hidden}.auth-atmosphere:before{width:1100px;height:1100px;background:conic-gradient(from 220deg at 50% 50%,transparent 0deg,var(--accent-glow) 80deg,var(--accent-3) 160deg,var(--accent-2) 220deg,transparent 1turn);opacity:.18;filter:blur(80px);animation:auth-spin 60s linear infinite}.auth-atmosphere:after,.auth-atmosphere:before{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.auth-atmosphere:after{width:700px;height:700px;background:radial-gradient(circle,var(--accent-glow) 0,transparent 60%);opacity:.45;animation:auth-glow 6s ease-in-out infinite}.auth-grid-fade{background-image:linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 0),linear-gradient(180deg,rgba(255,255,255,.025) 1px,transparent 0);background-size:64px 64px;mask-image:radial-gradient(ellipse 60% 50% at 50% 50%,black 30%,transparent 80%);-webkit-mask-image:radial-gradient(ellipse 60% 50% at 50% 50%,black 30%,transparent 80%);z-index:0}.auth-grid-fade,.auth-particles{position:fixed;inset:0;pointer-events:none}.auth-particles{z-index:1;overflow:hidden}.auth-particles span{position:absolute;bottom:-40px;width:3px;height:3px;border-radius:50%;background:rgba(139,92,246,.55);box-shadow:0 0 8px rgba(99,102,241,.7);animation:auth-particle-rise linear infinite;opacity:0}@keyframes auth-spin{to{transform:translate(-50%,-50%) rotate(1turn)}}@keyframes auth-glow{0%,to{opacity:.4}50%{opacity:.7}}@keyframes auth-particle-rise{0%{transform:translateY(0) translateX(0);opacity:0}10%{opacity:.7}90%{opacity:.4}to{transform:translateY(-110vh) translateX(var(--drift,20px));opacity:0}}@keyframes auth-fadeUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes auth-swap-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.auth-topbar{padding:26px 32px;position:relative;z-index:10;justify-content:space-between}.auth-logo,.auth-topbar{display:flex;align-items:center}.auth-logo{gap:10px;font-weight:700;font-size:17px;letter-spacing:-.025em;text-decoration:none;color:var(--ink)}.auth-back{color:var(--ink-60);text-decoration:none;font-size:14px;font-weight:500;padding:8px 14px;border-radius:8px;transition:all .25s ease;display:inline-flex;align-items:center;gap:8px}.auth-back:hover{color:var(--ink);background:rgba(255,255,255,.05)}.auth-back svg{width:14px;height:14px}.auth-main{flex:1;display:flex;align-items:center;justify-content:center;padding:32px 24px 80px;position:relative;z-index:5}.auth-card{width:100%;max-width:460px;background:rgba(14,14,22,.88);border:1px solid var(--line-strong);border-radius:18px;padding:48px 44px 40px;backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);box-shadow:0 0 0 1px rgba(255,255,255,.04),0 60px 120px -32px rgba(0,0,0,.7),0 0 80px rgba(99,102,241,.15);animation:auth-fadeUp .9s cubic-bezier(.16,1,.3,1) .05s both,auth-card-breath 6s ease-in-out 1.2s infinite;position:relative}@keyframes auth-card-breath{0%,to{box-shadow:0 0 0 1px rgba(255,255,255,.04),0 60px 120px -32px rgba(0,0,0,.7),0 0 80px rgba(99,102,241,.15)}50%{box-shadow:0 0 0 1px rgba(139,92,246,.18),0 60px 120px -32px rgba(0,0,0,.7),0 0 100px rgba(139,92,246,.28)}}.auth-card-mark{display:flex;justify-content:center;margin:0 auto 22px;filter:drop-shadow(0 0 20px var(--accent-glow))}.auth-card h1{font-size:28px;font-weight:600;line-height:1.18;letter-spacing:-.025em;text-align:center;margin:0 0 10px;color:var(--ink)}.auth-card .auth-sub{text-align:center;color:var(--ink-60);font-size:14.5px;margin:0 0 28px;letter-spacing:-.005em}.auth-swap>*{animation:auth-swap-in .42s cubic-bezier(.16,1,.3,1) both}.auth-oauth-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(0,1fr));gap:10px}.auth-oauth-btn{width:100%;padding:13px 18px;background:#fff;color:#1F1F1F;border:1px solid rgba(255,255,255,.14);border-radius:10px;font-family:Roboto,Satoshi,sans-serif;font-size:14px;font-weight:500;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease;display:inline-flex;align-items:center;justify-content:center;gap:10px;text-decoration:none}.auth-oauth-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 8px 24px rgba(0,0,0,.4)}.auth-oauth-btn:disabled{opacity:.5;cursor:not-allowed}.auth-oauth-btn svg{width:18px;height:18px}.auth-google{width:100%;padding:13px 20px;background:#fff;color:#1F1F1F;border:1px solid rgba(255,255,255,.14);border-radius:10px;font-family:Roboto,Satoshi,sans-serif;font-size:14px;font-weight:500;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease;display:inline-flex;align-items:center;justify-content:center;gap:12px;text-decoration:none}.auth-google:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 8px 24px rgba(0,0,0,.4)}.auth-google:disabled{opacity:.5;cursor:not-allowed}.auth-google svg{width:18px;height:18px}.auth-divider{display:flex;align-items:center;gap:14px;margin:22px 0 18px;color:var(--ink-40);font-size:11px;text-transform:uppercase;letter-spacing:.18em;font-family:JetBrains Mono,SFMono-Regular,monospace}.auth-divider:after,.auth-divider:before{content:"";flex:1;height:1px;background:rgba(255,255,255,.08)}.auth-form{display:flex;flex-direction:column;gap:14px}.auth-field{position:relative;margin-top:2px}.auth-field input{width:100%;padding:22px 18px 10px;border-radius:12px;border:1px solid var(--line-strong);background:rgba(255,255,255,.03);color:var(--ink);font-family:inherit;font-size:15px;transition:border-color .25s ease,background .25s ease,box-shadow .25s ease;-webkit-appearance:none;-moz-appearance:none;appearance:none}.auth-field input:focus{outline:none;border-color:var(--accent);background:rgba(255,255,255,.06);box-shadow:0 0 0 4px var(--accent-soft)}.auth-field label{position:absolute;left:18px;top:18px;pointer-events:none;color:var(--ink-40);font-size:14px;font-weight:500;letter-spacing:0;text-transform:none;font-family:Satoshi,sans-serif;transform-origin:left top;transition:transform .22s cubic-bezier(.4,0,.2,1),color .22s ease}.auth-field input:-webkit-autofill+label,.auth-field input:not(:placeholder-shown)+label,.auth-field.has-value label,.auth-field.is-focused label{transform:translateY(-9px) scale(.72);color:var(--ink-60)}.auth-field.is-focused label{color:var(--accent-2)}.auth-field input:-webkit-autofill,.auth-field input:-webkit-autofill:focus,.auth-field input:-webkit-autofill:hover{-webkit-text-fill-color:var(--ink);-webkit-box-shadow:inset 0 0 0 1000px rgba(18,18,30,1);caret-color:var(--ink)}.auth-row{justify-content:space-between;margin-top:6px}.auth-checkbox-label,.auth-row{display:flex;align-items:center}.auth-checkbox-label{gap:8px;font-size:13px;color:var(--ink-60);cursor:pointer;font-family:inherit}.auth-checkbox-label input[type=checkbox]{width:14px;height:14px;accent-color:var(--accent);cursor:pointer}.auth-link{font-size:13px;color:var(--accent);text-decoration:none;font-weight:500;transition:opacity .2s ease}.auth-link:hover{opacity:.8}.auth-submit{position:relative;width:100%;padding:16px 24px;background:var(--ink);color:var(--bg);border:none;border-radius:12px;font-family:inherit;font-size:14.5px;font-weight:600;cursor:pointer;overflow:hidden;isolation:isolate;transition:transform .2s ease,box-shadow .3s ease;box-shadow:0 0 0 1px rgba(255,255,255,.08),0 12px 32px rgba(0,0,0,.4);display:inline-flex;align-items:center;justify-content:center;gap:10px;margin-top:10px;text-decoration:none}.auth-submit:before{content:"";position:absolute;inset:-1px;background:conic-gradient(from var(--angle,0deg),transparent 0,transparent 60%,var(--accent) 75%,var(--accent-3) 85%,transparent 100%);border-radius:13px;z-index:-1;opacity:0;transition:opacity .3s ease;animation:auth-border-spin 2.5s linear infinite}.auth-submit:hover:not(:disabled):before{opacity:1}.auth-submit:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 0 0 1px rgba(255,255,255,.2),0 16px 40px rgba(99,102,241,.3)}.auth-submit:active:not(:disabled){transform:translateY(0) scale(.985)}.auth-submit svg{width:14px;height:14px;transition:transform .3s cubic-bezier(.34,1.56,.64,1)}.auth-submit:hover:not(:disabled) svg{transform:translateX(4px)}.auth-submit:disabled{opacity:.7;cursor:not-allowed}@property --angle{syntax:"<angle>";initial-value:0deg;inherits:false}@keyframes auth-border-spin{to{--angle:360deg}}.auth-submit.is-loading{cursor:wait}.auth-submit.is-loading .auth-submit-label,.auth-submit.is-loading svg:not(.auth-spinner){opacity:0}.auth-spinner{position:absolute;width:16px;height:16px;border:2px solid rgba(8,8,13,.2);border-top:2px solid var(--bg);border-radius:50%;opacity:0;transition:opacity .2s ease;animation:auth-rotate .8s linear infinite}.auth-submit.is-loading .auth-spinner{opacity:1}@keyframes auth-rotate{to{transform:rotate(1turn)}}.auth-error{background:rgba(248,113,113,.1);border:1px solid rgba(248,113,113,.3);color:#FCA5A5;font-size:13px;padding:12px 16px;border-radius:10px;text-align:center;animation:auth-shake .4s cubic-bezier(.36,.07,.19,.97),auth-swap-in .3s ease-out}@keyframes auth-shake{0%,to{transform:translateX(0)}20%{transform:translateX(-4px)}40%{transform:translateX(4px)}60%{transform:translateX(-2px)}80%{transform:translateX(2px)}}.auth-notice{background:rgba(99,102,241,.08);border:1px solid rgba(99,102,241,.25);color:var(--ink-80);font-size:12.5px;padding:12px 16px;border-radius:10px;text-align:center;line-height:1.5}.auth-notice button{margin-top:10px;background:rgba(255,255,255,.06);border:1px solid var(--line-strong);color:var(--ink);padding:6px 14px;border-radius:8px;font-size:12px;font-family:inherit;cursor:pointer;display:inline-flex;align-items:center;gap:6px;transition:all .2s ease}.auth-notice button:hover{background:rgba(255,255,255,.1)}.auth-success-check{width:56px;height:56px;border-radius:50%;background:linear-gradient(135deg,var(--accent),var(--accent-2));margin:0 auto 20px;display:flex;align-items:center;justify-content:center;animation:auth-check-pop .6s cubic-bezier(.34,1.56,.64,1);box-shadow:0 0 40px rgba(99,102,241,.5)}.auth-success-check svg{width:28px;height:28px;color:#fff;stroke-dasharray:28;stroke-dashoffset:28;animation:auth-check-draw .4s ease-out .3s forwards}@keyframes auth-check-pop{0%{transform:scale(0)}60%{transform:scale(1.1)}to{transform:scale(1)}}@keyframes auth-check-draw{to{stroke-dashoffset:0}}.auth-footer-line{text-align:center;margin-top:28px;font-size:13px;color:var(--ink-40)}.auth-footer-line a{color:var(--ink-80);text-decoration:none;font-weight:500;transition:color .2s ease;cursor:pointer}.auth-footer-line a:hover{color:var(--ink)}.auth-bottom{padding:32px 0;text-align:center;color:var(--ink-40);font-size:12px;position:relative;z-index:5;font-family:JetBrains Mono,SFMono-Regular,monospace;letter-spacing:.04em}.auth-bottom-links{display:flex;justify-content:center;gap:14px;margin-bottom:8px}.auth-bottom-links a{color:var(--ink-60);text-decoration:none;transition:color .2s ease}.auth-bottom-links a:hover{color:var(--ink)}.auth-bottom-copy,.auth-bottom-links span{color:var(--ink-40)}@media (max-width:540px){.auth-topbar{padding:20px 22px}.auth-main{padding:20px 18px 60px}.auth-card{padding:38px 26px 30px;border-radius:16px}.auth-card-mark{margin-bottom:18px}.auth-card h1{font-size:23px}.auth-card .auth-sub{font-size:13.5px;margin-bottom:24px}.auth-field input{font-size:16px}}