.auth-stage{background:radial-gradient(ellipse 55% 45% at 8% 50%, var(--cyan-glow), transparent 70%), radial-gradient(ellipse 55% 45% at 92% 50%, var(--amber-glow), transparent 70%), radial-gradient(ellipse 70% 55% at 80% 0%, var(--amber-glow), transparent 70%), radial-gradient(ellipse 55% 70% at 0% 100%, var(--cyan-glow), transparent 70%), var(--bg-0);justify-content:center;align-items:center;min-height:100dvh;padding:88px 24px 40px;display:flex;position:relative}.auth-stage:before{content:"";pointer-events:none;z-index:0;background:radial-gradient(ellipse 70% 40% at 20% 50%, oklch(.32 .06 var(--hue-cyan) / .18), transparent 65%), radial-gradient(ellipse 70% 40% at 80% 50%, oklch(.36 .07 var(--hue-amber) / .18), transparent 65%);filter:blur(60px);position:fixed;inset:0}.login-topbar{z-index:3;justify-content:space-between;align-items:center;max-width:1280px;margin:0 auto;padding:22px 32px;display:flex;position:absolute;top:0;left:0;right:0}.login-topbar a.brand{color:var(--fg);align-items:center;gap:10px;display:inline-flex}.login-topbar a.brand .nav-brand-name{letter-spacing:-.01em;font-size:16px}.login-topbar .back{font-family:var(--font-mono);color:var(--fg-mute);white-space:nowrap;align-items:center;gap:8px;font-size:12px;transition:color .15s;display:inline-flex}.login-topbar .back:hover{color:var(--fg)}.login-shell{z-index:1;width:100%;max-width:440px;margin:0 auto;position:relative}.login-card{--tone:var(--cyan);--tone-glow:var(--cyan-glow);background:linear-gradient(180deg, var(--bg-1), var(--bg-0) 88%);border:1px solid var(--line-soft);border-radius:var(--radius-l);box-shadow:var(--shadow-card);overflow:hidden}.login-card.tone-verifying{--tone:var(--cyan);--tone-glow:var(--cyan-glow)}.login-card.tone-success{--tone:var(--ok);--tone-glow:#63d18f3d}@supports (color:lab(0% 0 0)){.login-card.tone-success{--tone-glow:lab(76.3094% -44.419 22.8738/.24)}}.login-card.tone-error{--tone:var(--danger);--tone-glow:#f3625d42}@supports (color:lab(0% 0 0)){.login-card.tone-error{--tone-glow:lab(61.0965% 56.6147 33.1618/.26)}}.login-head{border-bottom:1px dashed var(--line-soft);justify-content:space-between;align-items:center;gap:12px;padding:14px 18px;display:flex}.login-head-brand{align-items:center;gap:9px;display:inline-flex}.login-head-brand .name{font-family:var(--font-mono);letter-spacing:-.01em;color:var(--fg);font-size:13px;font-weight:600}.login-head-ctx{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--fg-mute);white-space:nowrap;flex-shrink:0;align-items:center;gap:7px;font-size:10.5px;display:inline-flex}.login-head-ctx .dot{background:var(--tone);width:6px;height:6px;box-shadow:0 0 9px var(--tone-glow);border-radius:999px}.login-body-pad{padding:28px 30px 26px}.login-h{letter-spacing:-.02em;margin:2px 0 6px;font-size:24px;font-weight:500}.login-sub{color:var(--fg-dim);margin:0 0 24px;font-size:14px;line-height:1.5}.login-sub a{color:var(--cyan)}.login-sub a:hover{color:var(--fg)}.oauth-row{grid-template-columns:1fr 1fr;gap:10px;display:grid}.oauth-btn{border-radius:var(--radius-s);border:1px solid var(--line);background:var(--bg-0);color:var(--fg);cursor:pointer;justify-content:center;align-items:center;gap:10px;width:100%;padding:12px 14px;font-family:inherit;font-size:14px;transition:border-color .15s,background .15s;display:inline-flex}.oauth-btn:hover{border-color:var(--cyan);background:var(--bg-2)}.oauth-btn svg{flex-shrink:0;width:18px;height:18px}.login-divider{color:var(--fg-mute);font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;white-space:nowrap;align-items:center;gap:12px;margin:22px 0;font-size:11px;display:flex}.login-divider:before,.login-divider:after{content:"";background:var(--line-soft);flex:1;height:1px}.login-field{flex-direction:column;gap:8px;margin-bottom:14px;display:flex}.login-field label{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--fg-mute);font-size:11px}.login-field input{background:var(--bg-0);border:1px solid var(--line);border-radius:var(--radius-s);color:var(--fg);outline:0;padding:12px 14px;font-family:inherit;font-size:14px;transition:border-color .15s,box-shadow .15s}.login-field input::placeholder{color:var(--fg-mute)}.login-field input:focus{border-color:var(--cyan);box-shadow:0 0 0 3px var(--cyan-glow)}.login-field-pwd{position:relative}.login-field-pwd .reveal{color:var(--fg-mute);cursor:pointer;font-family:var(--font-mono);background:0 0;border:0;padding:4px 8px;font-size:11px;position:absolute;top:50%;right:10px;transform:translateY(-50%)}.login-field-pwd .reveal:hover{color:var(--fg)}.login-label-row{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.login-forgot{font-family:var(--font-mono);color:var(--cyan);letter-spacing:.02em;font-size:11px}.login-forgot:hover{color:var(--fg)}.login-forgot.is-disabled{color:var(--fg-mute);cursor:not-allowed;opacity:.55}.login-forgot.is-disabled:hover{color:var(--fg-mute)}.login-submit{justify-content:center;width:100%;margin-top:4px;padding:14px 18px;font-size:14px}.login-foot{text-align:center;color:var(--fg-dim);margin-top:20px;font-size:13px}.login-foot a{color:var(--cyan)}.login-foot a:hover{color:var(--fg)}.login-trust{font-family:var(--font-mono);color:var(--fg-mute);letter-spacing:.04em;flex-wrap:wrap;justify-content:center;gap:14px;margin-top:18px;font-size:11px;display:flex}.login-trust span{align-items:center;gap:6px;display:inline-flex}.login-trust span svg{color:var(--cyan)}.login-status{text-align:center;padding:36px 30px 30px}.login-orb{place-items:center;width:96px;height:96px;margin:0 auto 22px;display:grid;position:relative}.login-orb:after{content:"";border:1px solid var(--line);opacity:.7;border-radius:999px;position:absolute;inset:0}.login-orb:before{content:"";background:conic-gradient(from -90deg, transparent 0deg, color-mix(in oklab, var(--tone) 28%, transparent) 200deg, var(--tone) 320deg, transparent 360deg);border-radius:999px;position:absolute;inset:7px;-webkit-mask:radial-gradient(farthest-side,#0000 calc(100% - 2.5px),#000 calc(100% - 2.5px));mask:radial-gradient(farthest-side,#0000 calc(100% - 2.5px),#000 calc(100% - 2.5px))}.login-orb.spin:before{animation:1.2s cubic-bezier(.5,.1,.4,.95) infinite login-spin}@keyframes login-spin{to{transform:rotate(360deg)}}.login-orb-core{background:var(--bg-2);border:1px solid var(--line);width:54px;height:54px;color:var(--tone);box-shadow:0 0 0 6px oklch(.16 var(--bg-depth) var(--bg-mix)), 0 0 30px -4px var(--tone-glow);border-radius:999px;place-items:center;display:grid;position:relative}.login-orb-core svg{width:24px;height:24px}.login-badge{font-family:var(--font-mono);letter-spacing:.13em;text-transform:uppercase;color:var(--tone);background:color-mix(in oklab, var(--tone) 12%, transparent);border:1px solid color-mix(in oklab, var(--tone) 42%, transparent);border-radius:999px;align-items:center;gap:8px;padding:6px 12px;font-size:11px;display:inline-flex}.login-badge .dot{background:var(--tone);width:6px;height:6px;box-shadow:0 0 10px var(--tone-glow);border-radius:999px}.login-badge.pulse .dot{animation:1.4s ease-in-out infinite login-blink}@keyframes login-blink{0%,to{opacity:1}50%{opacity:.4}}.login-status-title{letter-spacing:-.025em;text-wrap:balance;margin:16px 0 0;font-size:clamp(22px,4vw,26px);font-weight:500}.login-status-msg{max-width:40ch;color:var(--fg-dim);text-wrap:pretty;margin:12px auto 0;font-size:14.5px;line-height:1.55}.login-console{text-align:left;border:1px solid var(--line-soft);border-radius:var(--radius-m);background:var(--bg-0);margin-top:22px;overflow:hidden}.login-console-row{font-family:var(--font-mono);border-bottom:1px solid var(--line-soft);justify-content:space-between;align-items:center;gap:14px;padding:11px 14px;font-size:12px;display:flex}.login-console-row:last-child{border-bottom:0}.login-console-row .k{color:var(--fg-mute);flex:none}.login-console-row .v{color:var(--fg);white-space:nowrap;flex:none;align-items:center;gap:8px;display:inline-flex}.login-console-row .v.tone{color:var(--tone)}.login-console-row .v .arrow{color:var(--fg-mute)}.login-console-row .v .ok{background:var(--tone);width:6px;height:6px;box-shadow:0 0 8px var(--tone-glow);border-radius:999px}.login-console-wait{font-family:var(--font-mono);color:var(--fg-dim);background:color-mix(in oklab, var(--tone) 7%, transparent);align-items:center;gap:10px;padding:11px 14px;font-size:12px;display:flex}.login-console-wait .dots{gap:4px;display:inline-flex}.login-console-wait .dots i{background:var(--tone);border-radius:999px;width:5px;height:5px;animation:1.1s ease-in-out infinite login-wave}.login-console-wait .dots i:nth-child(2){animation-delay:.16s}.login-console-wait .dots i:nth-child(3){animation-delay:.32s}@keyframes login-wave{0%,to{opacity:.3;transform:translateY(0)}50%{opacity:1;transform:translateY(-2px)}}.login-note{text-align:left;border:1px dashed color-mix(in oklab, var(--tone) 45%, var(--line-soft));border-radius:var(--radius-s);background:color-mix(in oklab, var(--tone) 7%, transparent);align-items:flex-start;gap:11px;margin-top:18px;padding:13px 15px;display:flex}.login-note .ico{color:var(--tone);flex-shrink:0;margin-top:1px}.login-note .ico svg{width:16px;height:16px}.login-note p{font-family:var(--font-mono);color:var(--fg-dim);margin:0;font-size:11.5px;line-height:1.55}.login-note p b{color:var(--fg);font-weight:500}.login-form-error{border:1px solid color-mix(in oklab, var(--danger) 48%, var(--line-soft));border-radius:var(--radius-s);background:color-mix(in oklab, var(--danger) 9%, transparent);color:var(--fg);margin-top:14px;padding:11px 13px;font-size:13px;line-height:1.45}.login-actions{flex-direction:column;gap:10px;margin-top:24px;display:flex}.login-actions .btn{justify-content:center;width:100%;min-height:46px}.login-actions .btn svg{flex-shrink:0;width:16px;height:16px}.login-actions .btn-ghost{background:var(--bg-0);border:1px solid var(--line);color:var(--fg)}.login-actions .btn-ghost:hover{border-color:var(--tone);background:var(--bg-2)}.login-actions .login-disabled-action{cursor:not-allowed;opacity:.55;pointer-events:none}.login-status-sublink{font-family:var(--font-mono);color:var(--fg-mute);margin-top:16px;font-size:12px}.login-status-sublink button{cursor:pointer;font:inherit;color:var(--tone);background:0 0;border:0;padding:0}.login-status-sublink a,.login-status-sublink button:hover{color:var(--tone)}.login-status-sublink a:hover{color:var(--fg)}@media (max-width:640px){.auth-stage{padding:72px 16px 32px}.login-topbar{padding:18px}.login-body-pad{padding:26px 20px 24px}.login-status{padding:30px 20px 24px}.oauth-row{grid-template-columns:1fr}.login-actions .btn{min-height:48px}}@media (prefers-reduced-motion:reduce){.login-orb.spin:before,.login-badge.pulse .dot,.login-console-wait .dots i{animation:none!important}}
