.auth{background:var(--bg);min-height:100svh;color:var(--ink);display:grid;position:relative}@media (min-width:960px){.auth{grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr)}}.auth__brand{isolation:isolate;border-right:1px solid var(--border);flex-direction:column;justify-content:space-between;padding:2rem clamp(2rem,4vw,3.5rem);display:none;position:relative;overflow:hidden}@media (min-width:960px){.auth__brand{display:flex}}.auth__atmosphere{z-index:0;pointer-events:none;position:absolute;inset:0;overflow:hidden}.auth__glow{filter:blur(80px);border-radius:50%;position:absolute}.auth__glow--a{background:radial-gradient(circle,#22c55e38,#0000 68%);width:min(520px,70vw);height:min(520px,70vw);top:18%;left:20%}.auth__glow--b{background:radial-gradient(circle,#22c55e1a,#0000 70%);width:min(380px,50vw);height:min(380px,50vw);bottom:5%;right:-10%}.auth__grain{opacity:.35;mix-blend-mode:overlay;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.55'/%3E%3C/svg%3E");position:absolute;inset:0}.auth__brand-top,.auth__brand-copy,.auth__brand-foot{z-index:1;position:relative}.auth__brand-copy{max-width:26rem;padding-block:3rem}.auth__eyebrow{font-family:var(--font-mono), ui-monospace, monospace;letter-spacing:.28em;text-transform:uppercase;color:var(--accent);margin:0;font-size:11px}.auth__headline{letter-spacing:-.045em;color:var(--ink);margin:1.25rem 0 0;font-size:clamp(2.4rem,4.5vw,3.5rem);line-height:.98}.auth__lede{color:var(--text-muted);margin:1.15rem 0 0;font-size:1.05rem;line-height:1.65}.auth__brand-foot{color:var(--text-muted);font-size:.85rem}.auth__brand-foot a{color:var(--text);text-underline-offset:3px;text-decoration:underline}.auth__brand-foot a:hover{color:var(--accent-hover)}.auth__panel{padding:1.5rem var(--page-pad) 2.5rem;flex-direction:column;justify-content:center;display:flex;position:relative}.auth__panel-inner{width:100%;max-width:24.5rem;margin-inline:auto}.auth__mobile-brand{margin-bottom:2.25rem;display:flex}@media (min-width:960px){.auth__mobile-brand{display:none}}.auth__kicker{font-family:var(--font-mono), ui-monospace, monospace;letter-spacing:.22em;text-transform:uppercase;color:var(--accent);margin:0;font-size:11px}.auth__title{letter-spacing:-.035em;color:var(--ink);margin:.65rem 0 0;font-size:clamp(1.75rem,3.5vw,2.15rem);line-height:1.1}.auth__subtitle{color:var(--text-muted);margin:.7rem 0 0;font-size:.98rem;line-height:1.55}.auth__body{margin-top:2rem}.auth__footer{text-align:center;color:var(--text-muted);margin-top:1.75rem;font-size:.9rem}.auth__footer a{color:var(--accent);text-decoration:none}.auth__footer a:hover{color:var(--accent-hover)}.auth__form{flex-direction:column;gap:1.05rem;display:flex}.auth__row-end{justify-content:flex-end;margin-top:-.25rem;display:flex}.auth__link{color:var(--accent);font-size:.875rem;text-decoration:none}.auth__link:hover{color:var(--accent-hover)}.auth__alert{border:1px solid color-mix(in srgb, var(--danger) 28%, transparent);background:var(--danger-soft);color:var(--danger);border-radius:10px;margin:0;padding:.75rem .9rem;font-size:.875rem;line-height:1.45}.auth__notice{border:1px solid color-mix(in srgb, var(--accent) 28%, transparent);background:var(--accent-soft);color:var(--accent-hover);border-radius:10px;margin:0;padding:.85rem .95rem;font-size:.875rem;line-height:1.5}.auth__legal{text-align:center;color:var(--text-muted);margin:.25rem 0 0;font-size:.75rem;line-height:1.5}.auth__legal a{color:var(--text);text-underline-offset:2px;text-decoration:underline}.auth__actions{flex-direction:column;gap:.75rem;display:flex}@media (min-width:480px){.auth__actions{flex-direction:row}.auth__actions>*{flex:1}}.auth__field input{background:color-mix(in srgb, var(--bg-muted) 88%, transparent);border-radius:12px;min-height:2.85rem}.auth__field input:focus{outline:2px solid color-mix(in srgb, var(--accent) 45%, transparent);outline-offset:1px;border-color:color-mix(in srgb, var(--accent) 40%, var(--border))}
