.auth-shell{background:var(--color-auth-bg);min-height:100dvh;color:var(--color-auth-ink);--color-ink:var(--color-auth-ink);--color-muted:var(--color-auth-muted);--color-card:var(--color-auth-card);--color-bg:var(--color-auth-bg);--color-line:var(--color-auth-line);--color-control:var(--color-auth-control);--color-pink:var(--color-auth-accent);--color-pink-soft:var(--color-auth-soft);flex-direction:column;font-size:14px;line-height:1.5;display:flex}.auth-header{justify-content:space-between;align-items:center;gap:16px;min-height:80px;padding:16px 32px;display:flex}.auth-brand{letter-spacing:-.025em;align-items:center;gap:10px;min-height:44px;font-size:15px;font-weight:600;display:inline-flex}.auth-brand-mark{background:var(--color-auth-soft);width:36px;height:36px;color:var(--color-auth-accent);border-radius:10px;place-items:center;display:grid}.auth-shell .auth-theme-toggle{color:var(--color-auth-muted);border-color:#0000;font-size:13px}.auth-shell .auth-theme-toggle:hover{background:var(--color-auth-card);color:var(--color-auth-ink)}.auth-main{flex:1;align-content:center;justify-items:center;width:100%;padding:32px 20px 48px;display:grid}.auth-main>:not(.auth-flow){width:100%}.auth-flow{width:100%;max-width:416px}.auth-panel{border-radius:var(--radius-auth-panel);background:var(--color-auth-card);color:var(--color-auth-ink);box-shadow:var(--shadow-auth-panel);padding:32px}.auth-intro{margin-bottom:28px}.auth-intro-logo{justify-content:center;margin-bottom:24px;display:flex}.auth-header-panel-logo{justify-content:flex-end}.auth-intro h1{font-size:var(--text-auth-title);letter-spacing:-.04em;margin:0;font-weight:600;line-height:1.35}.auth-intro p{color:var(--color-auth-muted);text-wrap:pretty;margin:8px 0 0;font-size:13px;line-height:1.65}.auth-form{gap:20px;display:grid}.auth-form-note{color:var(--color-auth-muted);text-wrap:pretty;margin:0;font-size:13px;line-height:1.6}.auth-document-flow{max-width:640px}.auth-document h1{font-size:var(--text-auth-title);letter-spacing:-.04em;text-align:center;text-wrap:balance;margin:0 0 24px;font-weight:600;line-height:1.35}.auth-document-body{gap:16px;font-size:14px;line-height:1.75;display:grid}.auth-document-body p{text-wrap:pretty;margin:0}.auth-document-back{min-height:44px;color:var(--color-auth-accent);align-items:center;gap:8px;margin-top:24px;font-size:13px;font-weight:500;display:inline-flex}.auth-field{min-width:0;display:block}.auth-field label{font-size:13px;font-weight:500;line-height:20px;display:block}.auth-label-row{justify-content:space-between;align-items:center;gap:8px;margin-top:-8px;margin-bottom:-8px;display:flex}.auth-label-row a{min-height:44px;color:var(--color-auth-muted);align-items:center;font-size:12px;display:inline-flex}.auth-input-wrap{position:relative}.auth-shell .auth-input{border:1px solid var(--color-auth-control);border-radius:var(--radius-auth-control);background:var(--color-auth-card);width:100%;height:48px;color:var(--color-auth-ink);caret-color:var(--color-auth-accent);outline:none;margin-top:8px;padding:0 14px;font-size:14px;line-height:1.5;transition:border-color .15s,box-shadow .15s;display:block}.auth-shell .auth-input::placeholder{color:var(--color-auth-placeholder)}.auth-shell .auth-input:focus{border-color:var(--color-auth-accent);box-shadow:0 0 0 3px color-mix(in srgb, var(--color-auth-accent) 10%, transparent)}.auth-shell .auth-input-password{padding-right:48px}.auth-password-toggle{border-radius:var(--radius-auth-control);width:44px;color:var(--color-auth-muted);justify-content:center;align-items:center;display:inline-flex;position:absolute;inset:2px 2px 2px auto}.auth-password-toggle:hover{color:var(--color-auth-ink)}.auth-field-hint{color:var(--color-auth-muted);margin:8px 0 0;font-size:12px}.auth-submit,.auth-google{border-radius:var(--radius-auth-control);justify-content:center;align-items:center;gap:8px;width:100%;min-height:48px;padding:12px;font-size:14px;font-weight:500;transition:background-color .15s;display:flex}.auth-submit{background:var(--color-auth-action);color:var(--color-auth-action-ink);margin-top:4px}.auth-submit:hover{background:var(--color-auth-action-hover)}.auth-google{border:1px solid var(--color-auth-control);background:var(--color-auth-card);color:var(--color-auth-ink)}.auth-google:hover{background:var(--color-auth-bg)}.auth-shell :is(button,input):disabled{cursor:not-allowed;opacity:.6}.auth-google-hint{color:var(--color-auth-muted);margin-top:8px;font-size:12px;line-height:1.6}.auth-divider{color:var(--color-auth-muted);align-items:center;gap:12px;margin:24px 0;font-size:12px;display:flex}.auth-divider:before,.auth-divider:after{background:var(--color-auth-line);content:"";flex:1;height:1px}.auth-error{border-radius:var(--radius-auth-control);background:var(--color-auth-soft);color:var(--color-auth-accent);padding:12px;font-size:13px;line-height:1.6}.auth-email-code{min-height:44px;color:var(--color-auth-muted);justify-content:center;align-items:center;margin:12px 0 -8px;font-size:13px;display:flex}.auth-switch{min-height:44px;color:var(--color-auth-muted);flex-wrap:wrap;justify-content:center;align-items:center;gap:4px;margin:20px 0 0;font-size:13px;display:flex}.auth-switch a{min-height:44px;color:var(--color-auth-accent);align-items:center;font-weight:500;display:inline-flex}.auth-shell a:hover{text-underline-offset:4px;text-decoration:underline}.auth-shell .auth-brand:hover{text-decoration:none}.auth-shell :is(a,button):focus-visible{outline:2px solid var(--color-auth-accent);outline-offset:4px}.auth-footer{min-height:72px;color:var(--color-auth-muted);flex-wrap:wrap;justify-content:center;align-items:center;gap:8px 24px;padding:12px 20px;font-size:12px;display:flex}.auth-footer nav{gap:20px;display:flex}.auth-footer a{align-items:center;min-height:44px;display:inline-flex}@media (width<=639px){.auth-header{min-height:72px;padding:12px 20px}.auth-main{padding:24px 20px 32px}.auth-panel{padding:28px 24px}.auth-shell .auth-input{font-size:16px}.auth-label-row a{min-height:44px}.auth-label-row{margin-top:-8px;margin-bottom:-8px}.auth-footer{gap:0 20px}}@media (prefers-reduced-motion:reduce){.auth-shell :is(input,button){transition:none}}
