.sign-in-shell{min-height:100vh;display:flex;flex-direction:column;background:var(--bg)}.sign-in-nav{display:flex;align-items:center;justify-content:space-between;padding:0 var(--spacing-xl);height:var(--topbar-h,56px)}.sign-in-brand{display:inline-flex;align-items:center;min-height:44px;font-size:1rem;font-weight:600;color:var(--text);letter-spacing:-.01em;font-family:var(--font-logo);cursor:pointer;text-decoration:none}.sign-in-brand:focus-visible{outline:2px solid var(--accent);outline-offset:4px}.sign-in-nav-link{display:inline-flex;align-items:center;min-height:var(--button-icon-size);min-width:var(--button-icon-size);font-size:13px;font-weight:500;color:var(--text-muted);text-decoration:none;padding:10px 14px;border-radius:var(--button-radius);transition:background var(--transition),color var(--transition),transform var(--transition)}.sign-in-nav-link:hover{background:var(--surface-raised);color:var(--text)}.sign-in-nav-link:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.sign-in-nav-actions{display:flex;align-items:center;gap:8px}.sign-in-theme-toggle{display:flex;align-items:center;justify-content:center;width:var(--button-icon-size);height:var(--button-icon-size);min-width:var(--button-icon-size);min-height:var(--button-icon-size);background:transparent;border:none;border-radius:var(--button-radius);color:var(--text-muted);cursor:pointer;transition:background var(--transition),color var(--transition),transform var(--transition)}.sign-in-theme-toggle:hover{background:var(--surface-raised);color:var(--text)}.sign-in-theme-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.sign-in-theme-toggle svg{width:14px;height:14px;stroke:currentColor;fill:none;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.sign-in-content{flex:1 1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 20px;animation:sign-in-enter var(--duration-slow) var(--ease-out-expo) both}@keyframes sign-in-enter{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.sign-in-content{animation:none}}.sign-in-title{font-size:1.75rem;font-weight:700;color:var(--text);letter-spacing:-.02em;margin-bottom:6px;text-align:center}.sign-in-subtitle{font-size:var(--font-size-body);color:var(--text-muted);margin-bottom:var(--spacing-xl);text-align:center}.sign-in-create-link{color:var(--text);font-weight:600;text-decoration:none}.sign-in-create-link:hover{text-decoration:underline}.sign-in-form{display:flex;flex-direction:column;gap:18px;width:100%;max-width:min(380px,100%)}.sign-in-error{background:color-mix(in srgb,var(--danger) 8%,var(--surface));border:1px solid var(--danger);padding:10px 14px;font-size:.8125rem;color:var(--danger)}.form-field{display:flex;flex-direction:column;gap:var(--spacing-sm)}.form-label{font-size:.8125rem;font-weight:600;color:var(--text-muted)}.form-hint{color:var(--text-faint)}.form-error,.form-hint{margin:0;font-size:.75rem;line-height:1.4}.form-error{color:var(--danger)}.form-input{height:44px;padding:0 12px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--text);font-size:var(--font-size-body);font-family:var(--font);transition:border-color .1s}.form-input:focus{outline:none;border-color:var(--text)}.form-input:focus-visible{outline:2px solid var(--accent);outline-offset:-1px;border-color:var(--accent)}.form-input::placeholder{color:var(--text-faint)}.sign-in-remember{display:flex;align-items:flex-start;gap:10px;padding:2px 0 4px;color:var(--text-muted);font-size:.8125rem;line-height:1.45;cursor:pointer}.sign-in-checkbox{margin-top:2px;width:16px;height:16px;flex-shrink:0;accent-color:var(--accent)}.sign-in-checkbox:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.sign-in-remember-title{display:block;font-weight:600;color:var(--text);cursor:pointer}.sign-in-remember-hint{display:block;margin-top:2px;color:var(--text-faint)}.sign-in-btn{display:inline-flex;align-items:center;justify-content:center;height:var(--button-height);padding:0 var(--button-padding-x-lg);font-size:.84375rem;font-weight:600;font-family:var(--font);cursor:pointer;transition:background var(--transition);border:none;margin-top:6px;border-radius:var(--button-radius)}.sign-in-btn.primary{background:var(--accent);color:var(--bg)}.sign-in-btn.primary:hover{background:var(--accent-dark)}.sign-in-btn.primary:disabled{opacity:.5;cursor:not-allowed}.sign-in-btn.primary:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.sign-in-forgot{display:inline-flex;align-items:center;justify-content:flex-end;min-height:var(--button-height);margin-top:4px;font-family:var(--font);font-size:var(--font-size-small);font-weight:500;color:var(--text-muted);cursor:pointer;background:none;border:none;padding:0;text-decoration:none;transition:color var(--transition)}.sign-in-forgot:hover{color:var(--text);text-decoration:underline}.sign-in-forgot:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.sign-in-forgot:disabled{color:var(--text-faint);cursor:not-allowed}.sign-in-success-card{display:flex;flex-direction:column;align-items:center;gap:8px;max-width:min(380px,100%);width:100%;padding:var(--spacing-md) var(--spacing-sm);text-align:center}.sign-in-success-title{font-size:1.25rem;font-weight:700;color:var(--text);letter-spacing:-.01em;margin:0}.sign-in-success-body{font-size:var(--font-size-small);color:var(--text-muted);line-height:1.5;margin:0}.sign-in-success-body strong{color:var(--text);font-weight:600;word-break:break-all}.sign-in-success-actions{display:flex;flex-direction:column;gap:8px;width:100%;margin-top:4px}