.auth{min-height:100dvh;padding:var(--space-16) var(--space-5) var(--space-10);background:var(--app-bg);justify-content:center;align-items:center;display:flex}.auth-mark{z-index:2;border-radius:var(--radius-sm);align-items:center;display:inline-flex;position:fixed;top:clamp(1rem,.6rem + 1.2vw,1.75rem);left:clamp(1rem,.6rem + 1.2vw,1.75rem)}.auth-mark img{width:auto;height:clamp(48px,2.5rem + 2.4vw,76px)}.auth-col{width:100%;max-width:25rem}.auth-head{margin-bottom:var(--space-10)}.auth-title{font-size:var(--text-2xl);font-weight:var(--weight-semibold);letter-spacing:-.02em;color:var(--app-ink);line-height:1.18}.auth-sub{font-size:var(--text-2xl);font-weight:var(--weight-normal);letter-spacing:-.02em;color:var(--app-ink-4);text-wrap:balance;line-height:1.18}.auth-providers{gap:var(--space-3);margin-bottom:var(--space-8);flex-wrap:wrap;display:flex}.auth-provider{justify-content:center;align-items:center;gap:var(--space-2);min-width:0;min-height:46px;padding:var(--space-3) var(--space-4);border:1px solid var(--app-line);border-radius:var(--radius-md);background:var(--app-raised);color:var(--app-ink);font-size:var(--text-sm);font-weight:var(--weight-medium);cursor:pointer;transition:background var(--duration-fast) var(--ease-standard), border-color var(--duration-fast) var(--ease-standard);flex:1 1 0;display:inline-flex}.auth-provider:hover:not(:disabled){background:var(--app-raised-hover);border-color:var(--app-line-strong)}.auth-provider:disabled{opacity:.5;cursor:not-allowed}.auth-divider{align-items:center;gap:var(--space-4);margin-bottom:var(--space-6);font-size:var(--text-xs);color:var(--app-ink-4);display:flex}.auth-divider:before,.auth-divider:after{content:"";background:var(--app-line);flex:1;height:1px}.auth-form{gap:var(--space-5);flex-direction:column;display:flex}.auth-field{gap:var(--space-2);flex-direction:column;display:flex}.auth-row{gap:var(--space-4);grid-template-columns:1fr;display:grid}@media (min-width:480px){.auth-row{grid-template-columns:1fr 1fr}}.auth-label{font-size:var(--text-xs);font-weight:var(--weight-medium);color:var(--app-ink-3)}.auth-input{width:100%;min-height:46px;padding:var(--space-3) var(--space-4);border:1px solid var(--app-input-line);border-radius:var(--radius-md);background:var(--app-input-bg);color:var(--app-ink);font-family:var(--font-body);font-size:var(--text-base);transition:border-color var(--duration-fast) var(--ease-standard), box-shadow var(--duration-fast) var(--ease-standard)}.auth-input:focus{border-color:var(--app-accent);box-shadow:0 0 0 3px var(--app-accent-ring);outline:none}.auth-input[data-affix=true]{padding-right:2.75rem}.auth-affix{right:var(--space-3);padding:var(--space-2);border-radius:var(--radius-sm);color:var(--app-ink-4);cursor:pointer;background:0 0;border:none;display:inline-flex;position:absolute;top:50%;transform:translateY(-50%)}.auth-affix:hover{color:var(--app-ink-2)}.auth-affix-wrap{position:relative}.auth-hint{font-size:var(--text-xs);color:var(--app-ink-4)}.auth-inline-end{justify-content:flex-end;display:flex}.auth-link{color:var(--app-accent-ink);font-size:var(--text-sm);transition:color var(--duration-fast) var(--ease-standard)}.auth-link:hover{color:var(--app-accent-ink-hover)}.auth-select{width:100%;min-height:46px;padding:var(--space-3) var(--space-4);border:1px solid var(--app-input-line);border-radius:var(--radius-md);background-color:var(--app-input-bg);color:var(--app-ink);font-family:var(--font-body);font-size:var(--text-base);cursor:pointer;appearance:none;transition:border-color var(--duration-fast) var(--ease-standard), box-shadow var(--duration-fast) var(--ease-standard);background-image:linear-gradient(45deg,#0000 50%,currentColor 50%),linear-gradient(135deg,currentColor 50%,#0000 50%);background-position:calc(100% - 20px) calc(50% + 2px),calc(100% - 15px) calc(50% + 2px);background-repeat:no-repeat;background-size:5px 5px,5px 5px;padding-right:2.5rem}.auth-select:focus{border-color:var(--app-accent);box-shadow:0 0 0 3px var(--app-accent-ring);outline:none}.auth-select:invalid{color:var(--app-ink-4)}.auth-otp{width:100%;min-height:60px;padding:var(--space-4);border:1px solid var(--app-input-line);border-radius:var(--radius-md);background:var(--app-input-bg);color:var(--app-ink);font-family:var(--font-mono);font-size:var(--text-2xl);font-weight:var(--weight-medium);letter-spacing:.4em;text-align:center;text-indent:.4em;transition:border-color var(--duration-fast) var(--ease-standard), box-shadow var(--duration-fast) var(--ease-standard)}.auth-otp:focus{border-color:var(--app-accent);box-shadow:0 0 0 3px var(--app-accent-ring);outline:none}.auth-otp-note{text-align:center;font-size:var(--text-sm);color:var(--app-ink-4)}.auth-otp-note strong{color:var(--app-ink-2);font-weight:var(--weight-medium)}.auth-inline-btn{font:inherit;color:var(--app-accent-ink);cursor:pointer;text-underline-offset:3px;background:0 0;border:none;padding:0;text-decoration:underline}.auth-inline-btn:hover:not(:disabled){color:var(--app-accent-ink-hover)}.auth-inline-btn:disabled{opacity:.55;cursor:not-allowed}.auth-submit{justify-content:center;align-items:center;gap:var(--space-2);border-radius:var(--radius-md);background:var(--app-accent);width:100%;min-height:48px;color:var(--app-on-accent);font-family:var(--font-body);font-size:var(--text-base);font-weight:var(--weight-semibold);cursor:pointer;transition:background var(--duration-fast) var(--ease-standard);border:1px solid #0000;display:inline-flex}.auth-submit:hover:not(:disabled){background:var(--app-accent-hover)}.auth-submit:disabled{opacity:.5;cursor:not-allowed}.auth-spinner{border:2px solid #00000040;border-top-color:currentColor;border-radius:50%;width:18px;height:18px;animation:.7s linear infinite authSpin}@keyframes authSpin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.auth-spinner{animation-duration:2s}}.auth-error,.auth-notice{padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);font-size:var(--text-sm);line-height:var(--leading-normal)}.auth-error{background:var(--app-danger-soft);border:1px solid var(--app-danger-line);color:var(--app-danger-ink)}.auth-notice{background:var(--app-success-soft);border:1px solid var(--app-success-line);color:var(--app-success-ink)}.auth-foot{margin-top:var(--space-8);text-align:center;font-size:var(--text-sm);color:var(--app-ink-4)}.auth-foot a{color:var(--app-ink-2);text-underline-offset:3px;text-decoration:underline}.auth-foot a:hover{color:var(--app-ink)}.auth-legal{margin-top:var(--space-6);text-align:center;font-size:var(--text-xs);line-height:var(--leading-normal);color:var(--app-ink-4)}.auth-consent{align-items:flex-start;gap:var(--space-3);font-size:var(--text-xs);line-height:var(--leading-normal);color:var(--app-ink-3);cursor:pointer;display:flex}.auth-consent input{width:16px;height:16px;accent-color:var(--app-accent);flex-shrink:0;margin-top:2px}
