.auth-shell{background:var(--card);grid-template-columns:minmax(31rem,1.05fr) minmax(31rem,.95fr);min-height:100svh;display:grid}.auth-brand-panel{background:radial-gradient(circle at 78% 12%, color-mix(in srgb, var(--card) 13%, transparent), transparent 30%), linear-gradient(145deg, var(--success) 0%, var(--secondary-foreground) 100%);min-height:100svh;color:var(--primary-foreground);flex-direction:column;justify-content:space-between;padding:clamp(2rem,4.5vw,4.5rem);display:flex;position:relative;overflow:clip}.brand-lockup,.platform-brand{align-items:center;display:inline-flex}.brand-lockup{z-index:1;width:fit-content;position:relative}.auth-brand-copy{z-index:1;max-width:38rem;padding-block:5rem;position:relative}.auth-brand-copy h1{max-width:36rem;font-size:clamp(2.65rem,4.6vw,4.7rem);line-height:.98}.auth-form-panel{z-index:9;background:var(--card);place-items:center;min-height:100svh;padding:clamp(2rem,6vw,6rem);display:grid;position:relative}.auth-form-wrap{width:min(100%,31rem)}.auth-mobile-brand{display:none}.auth-heading h2{font-family:var(--font-newsreader), "Newsreader", Iowan Old Style, Baskerville, Georgia, serif;letter-spacing:-.02em;font-size:clamp(2.25rem,4vw,3.3rem);font-weight:500;line-height:1.05}.auth-heading p{color:var(--muted-foreground);margin-top:.75rem;line-height:1.6}.login-stack{margin-top:2rem}.login-form{gap:1.2rem;display:grid}.password-field{position:relative}.password-field input{padding-right:3rem}.password-toggle{width:2.25rem;height:2.25rem;color:var(--muted-foreground);background:0 0;border:0;border-radius:.55rem;place-items:center;display:grid;position:absolute;top:50%;right:.5rem;transform:translateY(-50%)}.password-toggle:hover,.password-toggle:focus-visible{background:var(--accent);color:var(--accent-foreground);outline:none}.form-error{border:1px solid color-mix(in srgb, var(--destructive) 20%, transparent);border-radius:var(--radius-control);background:color-mix(in srgb, var(--destructive) 7%, transparent);color:var(--destructive);padding:.75rem .9rem;font-size:.82rem;line-height:1.5}.login-submit{width:100%;margin-top:.2rem}.login-alternative{gap:1rem;margin-top:1.2rem;display:grid}.login-alternative__divider{color:var(--muted-foreground);align-items:center;gap:.75rem;font-size:.8rem;display:flex}.login-alternative__divider:before,.login-alternative__divider:after{background:var(--border);content:"";flex:1;height:1px}.auth-brand-panel--hero{isolation:isolate;background:radial-gradient(circle at 9% 15%, color-mix(in srgb, var(--brand-primary) 16%, transparent), transparent 24%), radial-gradient(circle at 78% 82%, color-mix(in srgb, var(--info) 12%, transparent), transparent 28%), linear-gradient(145deg, #f3f8ec 0%, #eaf5e7 55%, #e8f4f2 100%);min-width:0;color:var(--foreground);padding:clamp(1.75rem,3.5vw,3.5rem)}.login-brand-hero__logo{z-index:6}.login-brand-hero__logo img{width:clamp(8.75rem,12vw,11rem);height:auto}.login-brand-hero__visuals{z-index:1;pointer-events:none;position:absolute;inset:0}.login-brand-hero__item{position:absolute}.login-brand-hero__motion{width:100%;height:100%}.login-brand-hero__photo{border:.35rem solid color-mix(in srgb, var(--card) 86%, transparent);width:100%;height:100%;box-shadow:0 1.4rem 3rem color-mix(in srgb, var(--success) 18%, transparent);position:relative;overflow:clip}.login-brand-hero__photo img{object-fit:cover}.login-brand-hero__item--climbing{aspect-ratio:.88;width:clamp(9rem,15vw,14rem);top:13%;right:5%}.login-brand-hero__photo--climbing{border-radius:48% 52% 37% 63%/56% 38% 62% 44%}.login-brand-hero__item--shared{aspect-ratio:1.3;width:clamp(11rem,18vw,17rem);bottom:4%;left:-2%}.login-brand-hero__photo--shared{border-radius:58% 42% 55% 45%/38% 58% 42% 62%}.login-brand-hero__item--ball-pit{aspect-ratio:1;width:clamp(6rem,9vw,8.5rem);bottom:11%;right:13%}.login-brand-hero__photo--ball-pit{border-radius:50%}.login-brand-hero__shape{width:100%;height:100%;box-shadow:0 1rem 2.5rem color-mix(in srgb, var(--success) 10%, transparent);display:block}.login-brand-hero__item--leaf{aspect-ratio:1.2;width:clamp(5rem,9vw,8rem);top:34%;left:4%}.login-brand-hero__shape--leaf{background:#acd3a2;border-radius:68% 32% 61% 39%/44% 64% 36% 56%}.login-brand-hero__item--sky{aspect-ratio:.86;width:clamp(4.5rem,7vw,6.5rem);bottom:38%;right:5%}.login-brand-hero__shape--sky{background:#9dd8e6;border-radius:44% 56% 32% 68%/62% 37% 63% 38%}.login-brand-hero__item--dot{aspect-ratio:1;width:clamp(1.25rem,2vw,1.8rem);top:22%;left:29%}.login-brand-hero__shape--dot{background:#efb85b;border-radius:50%}.login-brand-hero__copy{z-index:4;text-align:center;width:min(78%,39rem);max-width:none;margin:auto;padding:clamp(7rem,19vh,12rem) 1rem}.login-brand-hero__copy h1{text-wrap:balance;max-width:none;font-size:clamp(2.5rem,4.15vw,4.4rem);line-height:.98}.login-brand-hero__wave{z-index:8;pointer-events:none;width:clamp(5.5rem,8vw,8.5rem);height:100%;position:absolute;top:0;right:-1px}.login-brand-hero__wave-surface{fill:var(--card)}.login-brand-hero__wave-line{fill:none;stroke:color-mix(in srgb, var(--brand-primary) 42%, transparent);stroke-width:3px;vector-effect:non-scaling-stroke}.login-brand-hero__wave-line--echo{stroke:color-mix(in srgb, var(--info) 20%, transparent);stroke-width:2px}.auth-mobile-brand img{width:8.25rem;height:auto}@media (max-width:64rem){.auth-shell{grid-template-columns:minmax(22rem,.84fr) minmax(29rem,1fr)}.login-brand-hero__copy{width:min(82%,34rem)}.login-brand-hero__item--climbing{right:2%}}@media (max-width:48rem){.auth-shell{background:var(--card);display:block}.auth-brand-panel{display:none}.auth-form-panel{align-items:start;min-height:100svh;padding:1.25rem}.auth-form-wrap{padding-block:1rem 2.5rem}.auth-mobile-brand{align-items:center;gap:.7rem;margin-bottom:clamp(3rem,11vh,5rem);display:flex}.auth-mobile-brand span{border-left:1px solid var(--border);color:var(--muted-foreground);letter-spacing:.07em;text-transform:uppercase;padding-left:.7rem;font-size:.68rem;font-weight:700}.auth-heading h2{font-size:2.45rem}}.auth-form-wrap--wide{width:min(100%,34rem)}.auth-setup{margin-top:2rem}.auth-setup__hint{color:var(--muted-foreground);margin-top:.35rem;font-size:.9rem;line-height:1.55}.auth-steps{gap:1.6rem;margin:0;padding:0;list-style:none;display:grid}.auth-steps li{grid-template-columns:1.75rem minmax(0,1fr);gap:.9rem;display:grid}.auth-steps__number{background:var(--primary);width:1.75rem;height:1.75rem;color:var(--primary-foreground);border-radius:50%;place-items:center;font-size:.8rem;font-weight:700;display:grid}.auth-steps__body{gap:.75rem;min-width:0;display:grid}.auth-steps__body>strong{line-height:1.35}.auth-qr-frame{border:1px solid var(--border);border-radius:var(--radius-control);background:#fff;width:min(100%,13.5rem);padding:.75rem}.auth-qr{width:100%;height:auto;display:block}.auth-manual-key summary{cursor:pointer;color:var(--muted-foreground);font-size:.85rem}.auth-manual-key summary:hover,.auth-manual-key summary:focus-visible{color:var(--foreground)}.auth-manual-key__row{flex-wrap:wrap;align-items:center;gap:.6rem;margin-top:.6rem;display:flex}.auth-manual-key__row code,.backup-codes code{border:1px solid var(--border);border-radius:var(--radius-control);background:var(--muted);letter-spacing:.04em;overflow-wrap:anywhere;padding:.35rem .55rem;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.9rem}.otp-input{letter-spacing:.45em;text-align:center;height:3.25rem;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:1.6rem}.otp-input--backup{letter-spacing:.12em;font-size:1.25rem}.otp-input::placeholder{letter-spacing:inherit;opacity:.35}.auth-setup__done{border:1px solid color-mix(in srgb, var(--success) 25%, transparent);border-radius:var(--radius-control);background:color-mix(in srgb, var(--success) 8%, transparent);color:var(--success);align-items:center;gap:.5rem;padding:.75rem .9rem;font-size:.88rem;font-weight:600;display:flex}.auth-setup__title{margin-top:1.5rem;font-size:1.25rem;font-weight:600;line-height:1.3}.backup-codes{grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem;margin:1.25rem 0 0;padding:0;list-style:none;display:grid}.backup-codes code{text-align:center;display:block}.auth-setup__actions{gap:.75rem;margin-top:1.5rem;display:grid}.auth-secondary{flex-wrap:wrap;justify-content:space-between;gap:.75rem 1.25rem;margin-top:1.5rem;display:flex}.auth-secondary-link{color:var(--muted-foreground);text-underline-offset:.2em;font-size:.85rem;font-weight:500;text-decoration:underline}.auth-secondary-link:hover,.auth-secondary-link:focus-visible{color:var(--foreground)}.form-error a{color:inherit;font-weight:600;text-decoration:underline}@media (max-width:30rem){.backup-codes{grid-template-columns:1fr}}
