.tos-auth{min-height:100dvh;padding:var(--space-2xl)var(--page-gutter);background:var(--color-paper);color:var(--color-ink);font-family:var(--font-body);flex-direction:column;justify-content:center;display:flex}.tos-auth-inner{width:100%;max-width:28rem;margin-inline:auto}.tos-auth-brand{margin-bottom:var(--space-lg);justify-content:center;display:flex}.tos-auth-brand a{line-height:0;text-decoration:none;display:inline-flex}.tos-auth-brand img{width:auto;height:48px}.tos-auth-title{text-align:center;font-family:var(--font-display);letter-spacing:-.02em;color:var(--color-charcoal);margin:0;font-size:clamp(1.5rem,2vw + 1rem,1.875rem);font-weight:600;line-height:1.2}.tos-auth-lede{margin:var(--space-sm)0 0;text-align:center;font-size:var(--text-sm);color:var(--color-muted);line-height:1.55}.tos-auth-form{margin-top:var(--space-xl);gap:var(--space-lg);flex-direction:column;display:flex}.tos-auth-field label{font-size:var(--text-sm);color:var(--color-ink);margin-bottom:var(--space-xs);font-weight:500;display:block}.tos-auth-input{width:100%;font-size:var(--text-sm);font-family:var(--font-body);color:var(--color-ink);background:var(--color-paper);border:var(--rule-hair)solid var(--color-rule);border-radius:var(--radius-md);transition:border-color var(--dur-micro)var(--ease-out),box-shadow var(--dur-micro)var(--ease-out);padding:.7rem 1rem;display:block}.tos-auth-input::placeholder{color:var(--color-muted)}.tos-auth-input:focus{border-color:var(--color-accent);box-shadow:0 0 0 3px color-mix(in oklch,var(--color-accent)25%,transparent);outline:none}.tos-auth-input:disabled{opacity:.6;cursor:not-allowed}.tos-auth-error{font-size:var(--text-sm);color:#a5292b;color:lab(38.0642% 50.5966 31.1519)}.tos-auth-success{font-size:var(--text-sm);color:#135d1d;color:lab(34.1389% -33.7773 28.9501);background:color-mix(in oklch,var(--color-growth)18%,var(--color-paper));border:var(--rule-hair)solid color-mix(in oklch,var(--color-growth)40%,var(--color-rule));border-radius:var(--radius-md);padding:var(--space-sm)var(--space-md)}.tos-auth-btn{justify-content:center;align-items:center;gap:var(--space-xs);width:100%;font-family:var(--font-body);font-size:var(--text-sm);border-radius:var(--radius-md);border:var(--rule-hair)solid transparent;cursor:pointer;transition:transform var(--dur-short)var(--ease-out),background var(--dur-micro)var(--ease-out),color var(--dur-micro)var(--ease-out),border-color var(--dur-micro)var(--ease-out);padding:.75rem 1.25rem;font-weight:600;line-height:1;text-decoration:none;display:inline-flex}.tos-auth-btn:focus-visible{outline:2px solid var(--color-focus);outline-offset:3px}.tos-auth-btn:disabled{opacity:.65;cursor:progress;transform:none}.tos-auth-btn-primary{background:var(--color-accent);color:var(--color-on-accent)}.tos-auth-btn-primary:hover:not(:disabled){background:var(--color-accent-deep);transform:translateY(-1px)}.tos-auth-btn-ghost{background:var(--color-paper);color:var(--color-ink);border-color:var(--color-rule)}.tos-auth-btn-ghost:hover{border-color:var(--color-accent);color:var(--color-accent-deep)}.tos-auth-switch{margin-top:var(--space-xl)}.tos-auth-switch-rule{text-align:center;margin-bottom:var(--space-lg);position:relative}.tos-auth-switch-rule:before{content:"";inset-inline:0;border-top:var(--rule-hair)solid var(--color-rule);position:absolute;top:50%}.tos-auth-switch-rule span{padding-inline:var(--space-sm);background:var(--color-paper);font-size:var(--text-sm);color:var(--color-muted);display:inline-block;position:relative}.tos-auth-card{margin-top:var(--space-xl);background:var(--color-paper);border:var(--rule-hair)solid var(--color-rule);border-radius:var(--radius-lg);padding:var(--space-xl);box-shadow:var(--shadow-soft)}.tos-auth-card p{margin:0 0 var(--space-md);font-size:var(--text-sm);color:var(--color-ink);line-height:1.65}.tos-auth-card p:last-of-type{margin-bottom:var(--space-xl)}.tos-auth-card a{color:var(--color-accent-deep);text-underline-offset:2px;font-weight:600;text-decoration:underline}.tos-auth-card a:hover{color:var(--color-charcoal)}@media (prefers-reduced-motion:reduce){.tos-auth-btn,.tos-auth-input{transition:none}.tos-auth-btn-primary:hover:not(:disabled){transform:none}}
