.auth-shell{--auth-card:color-mix(in srgb, var(--surface) 90%, transparent);--auth-shadow:0 30px 80px color-mix(in srgb, var(--bk) 14%, transparent);--auth-badge:color-mix(in srgb, var(--y) 14%, transparent);box-sizing:border-box;background-color:var(--bg);background-image:var(--auth-bg);min-height:100dvh;color:var(--text);font-family:var(--font-sans);background-position:50%;background-size:cover;flex-direction:column;padding:32px clamp(16px,4.4vw,64px);display:flex;overflow-x:hidden}body.dark .auth-shell{--auth-shadow:0 30px 80px color-mix(in srgb, var(--bk) 50%, transparent)}.auth-shell *,.auth-shell :before,.auth-shell :after{box-sizing:border-box}.auth-shell button,.auth-shell input,.auth-shell label,.auth-shell a{font-family:inherit}.auth-top{justify-content:space-between;align-items:center;gap:16px;display:flex}.auth-brand{color:var(--text);align-items:center;gap:14px;min-width:0;text-decoration:none;display:flex}.auth-mark{flex-shrink:0;width:28px;height:28px;display:block}.auth-rule{background:var(--border);flex-shrink:0;width:1px;height:20px}.auth-wordmark{letter-spacing:.18em;font-size:16px;line-height:1.2}.auth-theme{display:inline-flex}.auth-theme button{border:1px solid var(--border)!important;background:var(--surface)!important;width:36px!important;height:36px!important;color:var(--text)!important;border-radius:999px!important}.auth-main{flex:1;justify-content:space-between;align-items:center;gap:48px;padding:24px 0;display:flex}.auth-pitch{flex-direction:column;gap:20px;min-width:0;max-width:640px;display:flex}.auth-pitch h1{letter-spacing:-.025em;margin:0;font-size:clamp(34px,2.2vw + 24px,56px);font-weight:300;line-height:1.06}.auth-scarce{border-bottom:2px solid var(--y);font-style:italic}.auth-pitch p{color:var(--text-2);max-width:520px;margin:0;font-size:clamp(16px,.3vw + 14px,18px);line-height:1.6}.auth-art{min-width:0;color:var(--text-3);flex:240px;justify-content:center;align-items:center;display:flex}.auth-art-svg{max-width:100%;height:auto;display:block}@media (prefers-reduced-motion:reduce){.auth-pulses{display:none}}.auth-card{background:var(--auth-card);border:1px solid var(--border);width:440px;max-width:100%;box-shadow:var(--auth-shadow);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-radius:24px;flex-direction:column;flex-shrink:0;gap:14px;padding:40px;display:flex}.auth-card h2{margin:0 0 6px;font-size:26px;font-weight:500;line-height:1.25}.auth-card form{flex-direction:column;gap:14px;display:flex}.auth-card p{margin:0}.auth-stack{flex-direction:column;gap:14px;display:flex}.auth-card a{color:var(--accent-fg)}.auth-badge{background:var(--auth-badge);width:56px;height:56px;color:var(--y);border-radius:16px;justify-content:center;align-items:center;display:flex}.auth-lead{color:var(--text-2);overflow-wrap:anywhere;font-size:15px;line-height:1.6}.auth-lead strong{color:var(--text);font-weight:600}.auth-label{color:var(--text-2);font-size:13px}.auth-input{border:1px solid var(--border);background:var(--surface-2);width:100%;height:48px;color:var(--text);font:400 15px var(--font-sans);border-radius:10px;outline:none;padding:0 16px;transition:border-color .15s,box-shadow .15s}.auth-input:focus{border-color:var(--accent-fg);box-shadow:0 0 0 3px color-mix(in srgb, var(--y) 25%, transparent)}.auth-pw{display:flex;position:relative}.auth-pw .auth-input{padding-right:48px}.auth-eye{width:36px;height:36px;color:var(--text-3);cursor:pointer;background:0 0;border:0;border-radius:8px;justify-content:center;align-items:center;padding:0;display:flex;position:absolute;top:50%;right:6px;transform:translateY(-50%)}.auth-eye:hover{color:var(--text)}.auth-hint{color:var(--text-3);font-size:13px;line-height:1.5}.auth-alt{color:var(--text-2);text-align:center;font-size:13px;margin-top:4px!important}.auth-row{justify-content:space-between;gap:12px;font-size:13px;display:flex}.auth-divider{color:var(--text-3);align-items:center;gap:12px;font-size:12px;display:flex}.auth-divider span{background:var(--border);flex:1;height:1px}.auth-error{color:var(--error);font-size:13px;line-height:1.5}.auth-notice{color:var(--text-2);font-size:13px;line-height:1.5}.auth-linkbtn{color:var(--accent-fg);cursor:pointer;background:0 0;border:0;align-self:flex-start;padding:2px 0;font-size:13px;text-decoration:underline}.auth-providers{gap:10px;display:grid}.auth-provider{border:1px solid var(--border);background:var(--surface);min-width:0;height:46px;font:500 13px var(--font-sans);color:var(--text);cursor:pointer;white-space:nowrap;border-radius:12px;justify-content:center;align-items:center;gap:8px;display:flex;overflow:hidden}.auth-provider:hover:not(:disabled){border-color:var(--border-mid)}.auth-provider:disabled{opacity:.6;cursor:default}.auth-provider img{flex-shrink:0}.auth-card .btn.auth-btn{width:100%;height:48px;font:600 15px var(--font-sans);border-radius:10px;justify-content:center;gap:10px;padding:0 16px;text-decoration:none}.auth-card .btn.auth-btn.primary{color:var(--bk)}.auth-card .btn.auth-ghost{border:1px solid var(--border);color:var(--text);background:0 0;font-weight:500}.auth-card .btn.auth-ghost:hover:not(:disabled){border-color:var(--border-mid)}.auth-card .btn.auth-btn:disabled{opacity:.6;cursor:default}.auth-foot{text-align:center;padding-top:16px}.auth-foot p{color:var(--text-3);margin:0;font-size:12px}.auth-foot a{color:var(--accent-fg)}.auth-version{font-family:var(--font-mono);letter-spacing:.08em;padding-top:6px;font-size:11px!important}@media (min-width:1400px){.auth-main{gap:40px}.auth-pitch{flex:none}.auth-pitch h1{white-space:nowrap;font-size:clamp(44px,3.4vw,56px)}.auth-art{min-width:220px}}@media (max-width:1399px){.auth-art{display:none}}@media (max-width:899px){.auth-shell{padding:20px 16px}.auth-main{flex-direction:column;justify-content:flex-start;align-items:stretch;gap:24px;padding:28px 0 8px}.auth-pitch{gap:12px}.auth-pitch h1{font-size:clamp(28px,5vw + 12px,40px)}.auth-card{width:100%}}@media (max-width:479px){.auth-wordmark{letter-spacing:.12em;font-size:13px}.auth-brand{gap:10px}.auth-card{border-radius:20px;padding:24px 18px}.auth-card h2{font-size:22px}.auth-provider{gap:6px;font-size:12px}}
