.auth-page{--auth-ground:var(--dark-ground);--auth-void:var(--dark-void);--auth-abyss:var(--dark-abyss);--auth-ink:var(--dark-ink);--auth-body:var(--dark-body);--auth-muted:var(--dark-muted);--auth-hairline:var(--dark-hairline);--auth-hairline-strong:var(--dark-hairline-strong);--auth-surface:var(--dark-surface);--auth-well:var(--dark-well);--auth-well-focus:var(--dark-well-deep);--auth-accent:var(--dark-accent);--auth-negative:var(--dark-negative);--auth-warning:var(--dark-warning);--auth-positive:var(--dark-positive);--auth-gap-xs:6px;--auth-gap-sm:10px;--auth-gap:16px;--auth-gap-lg:24px;--auth-gap-xl:40px;--auth-radius:12px;--auth-control-h:48px}body:has(.auth-page),html:has(.auth-page){background:var(--auth-void)}.auth-page{position:relative;isolation:isolate;min-height:100dvh;display:flex;flex-direction:column;align-items:center;gap:var(--auth-gap-xl);padding:40px 20px 64px;background:var(--auth-ground);color:var(--auth-body);overflow-x:hidden}.auth-brand{display:inline-flex;align-items:center;gap:var(--auth-gap-sm);color:var(--auth-ink);text-decoration:none;font-size:14px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;min-height:44px;padding:0 12px;border-radius:8px}.auth-brand img{width:26px;height:auto;display:block}.auth-brand:visited{color:var(--auth-ink)}.auth-brand:hover{color:var(--auth-accent)}.auth-brand:focus-visible{outline:2px solid var(--auth-accent);outline-offset:3px}.auth-shell{width:100%;max-width:460px;align-items:stretch;gap:var(--auth-gap-lg);margin:auto 0}.auth-intro,.auth-shell{display:flex;flex-direction:column}.auth-intro{text-align:center;gap:var(--auth-gap-xs)}.auth-eyebrow{margin:0;font-size:10px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--auth-muted)}.auth-title{margin:0;font-size:34px;line-height:1.1;font-weight:640;letter-spacing:-.022em;color:var(--auth-ink)}.auth-sub{margin:0;font-size:15px;line-height:1.5;color:var(--auth-body)}.auth-card{position:relative;z-index:1;width:100%;gap:var(--auth-gap-lg);padding:28px;border-radius:var(--auth-radius);border:1px solid var(--auth-hairline);background:var(--auth-surface);box-shadow:0 24px 60px rgba(1,3,12,.55)}.auth-card,.auth-form{display:flex;flex-direction:column}.auth-form{gap:var(--auth-gap)}.auth-field{gap:var(--auth-gap-xs)}.auth-field,.auth-member-block{display:flex;flex-direction:column}.auth-member-block{gap:var(--auth-gap);padding:16px;border:1px solid var(--auth-hairline);border-radius:10px;background:var(--auth-well)}.auth-member-legend{padding:0 4px;font-size:11px;letter-spacing:.1em}.auth-label,.auth-member-legend{font-weight:800;text-transform:uppercase;color:var(--auth-muted)}.auth-label{font-size:10px;letter-spacing:.14em}.auth-input{width:100%;min-height:var(--auth-control-h);padding:12px 14px;border-radius:8px;border:1px solid var(--auth-hairline);background:var(--auth-well);color:var(--auth-ink);font:inherit;font-size:16px;letter-spacing:.01em;transition:border-color .14s ease,background-color .14s ease,box-shadow .14s ease}.auth-input::placeholder{color:rgba(143,171,216,.55)}.auth-input:hover{border-color:var(--auth-hairline-strong)}.auth-input:focus{outline:none;background:var(--auth-well-focus);border-color:rgba(157,199,224,.65);box-shadow:0 0 0 3px rgba(157,199,224,.16)}.auth-input:focus-visible{outline:none}.auth-textarea{min-height:148px;resize:vertical;line-height:1.5}.auth-hint{margin:0;font-size:12px;line-height:1.5;color:var(--auth-muted)}.auth-submit{display:block;width:100%}.auth-btn,.auth-submit button{width:100%}.auth-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:var(--auth-control-h);padding:12px 18px;border-radius:8px;border:1px solid transparent;font:inherit;font-size:15px;font-weight:700;letter-spacing:.01em;text-decoration:none;cursor:pointer;transition:background-color .14s ease,border-color .14s ease,color .14s ease}.auth-btn:focus-visible{outline:2px solid var(--auth-accent);outline-offset:2px}.auth-btn.is-primary{background:rgba(255,255,255,.97);border-color:rgba(255,255,255,.97);color:var(--auth-void);font-weight:650}.auth-btn.is-primary:hover{background:#ffffff;border-color:#ffffff;color:var(--auth-void)}.auth-btn.is-secondary{background:none;border-color:var(--auth-hairline-strong);color:var(--auth-ink)}.auth-btn.is-secondary:hover{background:rgba(255,255,255,.05);border-color:rgba(157,199,224,.55)}.auth-btn.is-tertiary{background:none;border-color:transparent;color:var(--auth-muted);font-weight:600;text-decoration:underline;text-underline-offset:3px}.auth-btn.is-tertiary:hover{color:var(--auth-accent)}.auth-alt{flex-direction:column}.auth-alert,.auth-alt{display:flex;gap:var(--auth-gap-sm)}.auth-alert{align-items:flex-start;padding:12px 14px;border-radius:8px;border:1px solid var(--auth-hairline-strong);border-left-width:3px;background:rgba(255,255,255,.05);color:var(--auth-body);font-size:13px;line-height:1.5}.auth-alert p{margin:0}.auth-alert strong{color:var(--auth-ink)}.auth-alert-mark{flex:none;display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:50%;font-size:11px;font-weight:800;line-height:1;color:#06051d;background:var(--auth-muted)}.auth-alert.is-negative{border-left-color:var(--auth-negative)}.auth-alert.is-negative .auth-alert-mark{background:var(--auth-negative)}.auth-alert.is-warning{border-left-color:var(--auth-warning)}.auth-alert.is-warning .auth-alert-mark{background:var(--auth-warning)}.auth-alert.is-positive{border-left-color:var(--auth-positive)}.auth-alert.is-positive .auth-alert-mark{background:var(--auth-positive)}.auth-alert.is-info{border-left-color:var(--auth-accent)}.auth-scrim{position:absolute;inset:0;z-index:0;pointer-events:none;background:radial-gradient(120% 90% at 50% 22%,rgba(3,10,20,.2) 0,rgba(3,10,20,.44) 55%,rgba(1,6,13,.66) 100%)}@media (max-width:480px){.auth-page{gap:var(--auth-gap-lg);padding:24px 16px 48px}.auth-shell{max-width:none}.auth-card{padding:18px;gap:var(--auth-gap)}.auth-title{font-size:27px}.auth-sub{font-size:14px}.auth-brand{font-size:12px;letter-spacing:.12em}}@media (prefers-reduced-motion:reduce){.auth-btn,.auth-input{transition:none}}