@media (max-width:639px){.auth-module__xpjydG__auth-layout{padding-inline:.85rem}}.auth-module__xpjydG__auth-layout{background:var(--background);min-height:100svh}.auth-module__xpjydG__auth-atelier-shell{--auth-wash:var(--module-home-bg);--auth-ink:var(--module-home-fg);isolation:isolate;justify-content:center;align-items:center;min-height:100svh;padding:1.15rem .85rem 1.5rem;display:flex;position:relative}@media (min-width:640px){.auth-module__xpjydG__auth-atelier-shell{padding:1.5rem 1rem 2rem}}.auth-module__xpjydG__auth-atelier-shell-footer{flex-direction:column;justify-content:flex-start;align-items:stretch;padding:0}.auth-module__xpjydG__auth-chrome-shell{width:min(72rem,100% - 2rem);margin-inline:auto}@media (min-width:640px){.auth-module__xpjydG__auth-chrome-shell{width:min(72rem,100% - 3rem)}}@media (min-width:1280px){.auth-module__xpjydG__auth-chrome-shell{width:min(76rem,100% - 4rem)}}.auth-module__xpjydG__auth-top-bar{z-index:2;width:100%;padding-block:.65rem;position:relative}.auth-module__xpjydG__auth-top-bar-inner{justify-content:space-between;align-items:center;gap:1rem;min-height:3.75rem;display:flex}.auth-module__xpjydG__auth-atelier-shell-footer .auth-module__xpjydG__auth-atelier{flex:auto;justify-content:center;width:min(100%,26.5rem);margin-inline:auto;padding-block:.75rem 1.75rem;padding-inline:1rem}.auth-module__xpjydG__auth-site-footer{z-index:1;flex-shrink:0;width:100%;margin-top:0;position:relative}.auth-module__xpjydG__auth-atelier-shell:before{content:"";z-index:0;pointer-events:none;background:radial-gradient(ellipse 70% 50% at 12% 8%, color-mix(in oklab, var(--module-home-bg) 72%, transparent), transparent 70%), radial-gradient(ellipse 55% 45% at 92% 12%, color-mix(in oklab, var(--module-listen-bg) 48%, transparent), transparent 68%), radial-gradient(ellipse 48% 38% at 78% 72%, color-mix(in oklab, var(--module-vocab-bg) 36%, transparent), transparent 68%), radial-gradient(ellipse 50% 40% at 50% 100%, color-mix(in oklab, var(--module-exercise-bg) 28%, transparent), transparent 70%), radial-gradient(ellipse 40% 32% at 18% 78%, color-mix(in oklab, var(--primary) 14%, transparent), transparent 70%);position:absolute;inset:0}.auth-module__xpjydG__auth-ambient{z-index:0;pointer-events:none;position:absolute;inset:0;overflow:hidden}.auth-module__xpjydG__auth-orb{filter:blur(2px);opacity:.72;border-radius:50%;animation:20s ease-in-out infinite auth-module__xpjydG__auth-orb-drift;position:absolute}.auth-module__xpjydG__auth-orb[data-tone=primary]{background:radial-gradient(circle, color-mix(in oklab, var(--primary) 48%, transparent), transparent 70%);width:clamp(7.5rem,20vw,15rem);height:clamp(7.5rem,20vw,15rem);animation-delay:0s;top:10%;left:4%}.auth-module__xpjydG__auth-orb[data-tone=vocab]{background:radial-gradient(circle, color-mix(in oklab, var(--module-vocab-bg) 78%, transparent), transparent 72%);width:clamp(6.5rem,16vw,12rem);height:clamp(6.5rem,16vw,12rem);animation-duration:22s;animation-delay:-4s;top:18%;right:2%}.auth-module__xpjydG__auth-orb[data-tone=theory]{background:radial-gradient(circle, color-mix(in oklab, var(--module-theory-bg) 68%, transparent), transparent 70%);width:clamp(5.5rem,14vw,10rem);height:clamp(5.5rem,14vw,10rem);animation-duration:18s;animation-delay:-8s;top:48%;left:-3%}.auth-module__xpjydG__auth-orb[data-tone=exercise]{background:radial-gradient(circle, color-mix(in oklab, var(--module-exercise-bg) 70%, transparent), transparent 70%);width:clamp(6rem,15vw,11rem);height:clamp(6rem,15vw,11rem);animation-duration:24s;animation-delay:-2s;bottom:18%;right:8%}.auth-module__xpjydG__auth-orb[data-tone=listen]{background:radial-gradient(circle, color-mix(in oklab, var(--module-listen-bg) 72%, transparent), transparent 70%);width:clamp(5rem,13vw,9rem);height:clamp(5rem,13vw,9rem);animation-duration:19s;animation-delay:-11s;bottom:8%;left:28%}.auth-module__xpjydG__auth-bubble{border:1px solid color-mix(in oklab, var(--primary) 26%, transparent);background:color-mix(in oklab, var(--surface-elevated) 42%, transparent);border-radius:50%;animation:13s ease-in-out infinite auth-module__xpjydG__auth-bubble-float;position:absolute}.auth-module__xpjydG__auth-bubble:nth-child(6){width:.55rem;height:.55rem;animation-delay:-1s;top:22%;left:18%}.auth-module__xpjydG__auth-bubble:nth-child(7){border-color:color-mix(in oklab, var(--module-vocab-fg) 28%, transparent);width:.8rem;height:.8rem;animation-duration:15s;animation-delay:-3.5s;top:36%;right:16%}.auth-module__xpjydG__auth-bubble:nth-child(8){border-color:color-mix(in oklab, var(--module-theory-fg) 30%, transparent);width:.45rem;height:.45rem;animation-duration:11s;animation-delay:-6s;top:58%;left:12%}.auth-module__xpjydG__auth-bubble:nth-child(9){border-color:color-mix(in oklab, var(--module-exercise-fg) 28%, transparent);width:.65rem;height:.65rem;animation-duration:16s;animation-delay:-2.2s;bottom:28%;right:22%}.auth-module__xpjydG__auth-bubble:nth-child(10){width:.5rem;height:.5rem;animation-duration:14s;animation-delay:-8s;bottom:14%;left:48%}.auth-module__xpjydG__auth-bubble:nth-child(11){border-color:color-mix(in oklab, var(--module-listen-fg) 26%, transparent);width:.95rem;height:.95rem;animation-duration:17s;animation-delay:-5s;top:14%;right:34%}@keyframes auth-module__xpjydG__auth-orb-drift{0%,to{transform:translate(0)scale(1)}33%{transform:translate(14px,-18px)scale(1.06)}66%{transform:translate(-10px,12px)scale(.96)}}@keyframes auth-module__xpjydG__auth-bubble-float{0%,to{opacity:.5;transform:translateY(0)}50%{opacity:.95;transform:translateY(-16px)}}@media (prefers-reduced-motion:reduce){.auth-module__xpjydG__auth-orb,.auth-module__xpjydG__auth-bubble{animation:none}}.auth-module__xpjydG__auth-atelier{z-index:1;flex-direction:column;gap:1.35rem;width:min(100%,26.5rem);display:flex;position:relative}.auth-module__xpjydG__auth-hero{text-align:left;flex-direction:column;gap:1.75rem;display:flex}.auth-module__xpjydG__auth-brand-bar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem 1rem;width:100%;display:flex}.auth-module__xpjydG__auth-brand-controls{flex-shrink:0;align-items:center;display:flex}.auth-module__xpjydG__auth-hero-copy{min-width:0}.auth-module__xpjydG__auth-kicker{letter-spacing:.12em;text-transform:uppercase;color:var(--auth-ink);margin:0;font-size:.72rem;font-weight:700}.auth-module__xpjydG__auth-title{font-family:var(--font-heading);letter-spacing:-.035em;color:var(--ink);margin:.45rem 0 0;font-size:clamp(1.65rem,4.2vw,2.05rem);font-weight:700;line-height:1.15}.auth-module__xpjydG__auth-lede{max-width:28rem;color:var(--muted-foreground);margin:.55rem 0 0;font-size:.98rem;line-height:1.55}.auth-module__xpjydG__auth-panel{border:1px solid color-mix(in oklab, var(--auth-ink) 16%, var(--hairline-cloud));background:linear-gradient(165deg, color-mix(in oklab, var(--auth-wash) 48%, transparent), transparent 72%), color-mix(in oklab, var(--surface-elevated) 55%, transparent);border-radius:.95rem;overflow:hidden}.auth-module__xpjydG__auth-panel-body{padding:1.25rem 1.2rem 1.35rem}@media (min-width:480px){.auth-module__xpjydG__auth-panel-body{padding:1.4rem 1.45rem 1.5rem}}.auth-module__xpjydG__auth-form-stack,.auth-module__xpjydG__auth-form{flex-direction:column;gap:1.05rem;display:flex}.auth-module__xpjydG__auth-oauth-button{border-color:color-mix(in oklab, var(--hairline-cloud) 88%, var(--ink));background-color:#0000;background-image:var(--control-surface);border-radius:.75rem;justify-content:center;gap:.65rem;width:100%;min-height:2.85rem;font-weight:650}.auth-module__xpjydG__auth-oauth-button:hover:not(:disabled){background-image:var(--control-surface-hover)}.auth-module__xpjydG__auth-oauth-glyph{flex-shrink:0;width:1.15rem;height:1.15rem}.auth-module__xpjydG__auth-oauth-divider{grid-template-columns:1fr auto 1fr;align-items:center;gap:.75rem;display:grid}.auth-module__xpjydG__auth-oauth-divider-line{background:color-mix(in oklab, var(--hairline-cloud) 90%, var(--ink));height:1px}.auth-module__xpjydG__auth-oauth-divider-label{letter-spacing:.04em;text-transform:uppercase;color:var(--muted-foreground);white-space:nowrap;font-size:.78rem;font-weight:650}.auth-module__xpjydG__auth-field{flex-direction:column;gap:.4rem;display:flex}.auth-module__xpjydG__auth-label{letter-spacing:.1em;text-transform:uppercase;color:var(--muted-foreground);font-size:.72rem;font-weight:700}.auth-module__xpjydG__auth-remember{border:1px solid color-mix(in oklab, var(--hairline-cloud) 88%, var(--ink));background:color-mix(in oklab, var(--surface-elevated) 88%, transparent);width:100%;min-height:2.65rem;color:var(--ink);letter-spacing:0;text-align:left;cursor:pointer;border-radius:.75rem;align-items:center;gap:.7rem;padding:.55rem .85rem;font-size:.9rem;font-weight:650;transition:border-color .14s,background-color .14s,box-shadow .14s,color .14s;display:flex}.auth-module__xpjydG__auth-remember:hover:not(:disabled),.auth-module__xpjydG__auth-remember.auth-module__xpjydG__is-active{border-color:color-mix(in oklab, var(--primary) 55%, var(--hairline-cloud));background:color-mix(in oklab, var(--primary) 18%, var(--surface-elevated));box-shadow:inset 0 0 0 1px color-mix(in oklab, var(--primary) 35%, transparent);color:var(--ink)}.auth-module__xpjydG__auth-remember:focus-visible{box-shadow:0 0 0 2px color-mix(in oklab, var(--ring) 55%, transparent);outline:none}.auth-module__xpjydG__auth-remember.auth-module__xpjydG__is-active:focus-visible{box-shadow:inset 0 0 0 1px color-mix(in oklab, var(--primary) 35%, transparent), 0 0 0 2px color-mix(in oklab, var(--ring) 55%, transparent)}.auth-module__xpjydG__auth-remember:disabled{cursor:not-allowed;opacity:.72}.auth-module__xpjydG__auth-remember-mark{border:1.5px solid color-mix(in oklab, var(--muted-foreground) 45%, transparent);color:#0000;background:0 0;border-radius:.35rem;flex-shrink:0;justify-content:center;align-items:center;width:1.2rem;height:1.2rem;transition:border-color .14s,background-color .14s,color .14s;display:inline-flex}.auth-module__xpjydG__auth-remember:hover:not(:disabled) .auth-module__xpjydG__auth-remember-mark,.auth-module__xpjydG__auth-remember.auth-module__xpjydG__is-active .auth-module__xpjydG__auth-remember-mark{border-color:var(--primary);background:var(--primary);color:var(--primary-foreground)}.auth-module__xpjydG__auth-remember-label{min-width:0;font-size:inherit;font-weight:inherit;letter-spacing:0;text-transform:none;color:inherit;cursor:inherit;flex:auto}.auth-module__xpjydG__auth-input{background:color-mix(in oklab, var(--surface-elevated) 88%, transparent);border-radius:.75rem;height:2.75rem;min-height:2.75rem}.auth-module__xpjydG__auth-password-wrap{position:relative}.auth-module__xpjydG__auth-password-wrap .auth-module__xpjydG__auth-input,.auth-module__xpjydG__account-field .auth-module__xpjydG__auth-password-wrap .auth-module__xpjydG__account-input{padding-right:2.75rem}.auth-module__xpjydG__auth-password-toggle{inset-block:0;cursor:pointer;width:2.75rem;color:var(--muted-foreground);background:0 0;border:0;border-radius:0 .75rem .75rem 0;justify-content:center;align-items:center;transition:color .14s;display:inline-flex;position:absolute;right:0}.auth-module__xpjydG__auth-password-toggle:hover:not(:disabled){color:var(--ink)}.auth-module__xpjydG__auth-password-toggle:focus-visible{color:var(--ink);box-shadow:inset 0 0 0 2px color-mix(in oklab, var(--ring) 55%, transparent);outline:none}.auth-module__xpjydG__auth-password-toggle:disabled{cursor:not-allowed;opacity:.5}.auth-module__xpjydG__auth-field-hint{color:var(--muted-foreground);margin:0;font-size:.8rem;line-height:1.4}.auth-module__xpjydG__auth-password-requirements{flex-direction:column;gap:.28rem;margin:.15rem 0 0;padding:0;list-style:none;display:flex}.auth-module__xpjydG__auth-password-requirement{min-width:0;color:var(--muted-foreground);align-items:flex-start;gap:.45rem;font-size:.8rem;line-height:1.35;display:flex}.auth-module__xpjydG__auth-password-requirement-icon{border:1.5px solid color-mix(in oklab, var(--muted-foreground) 42%, transparent);color:#0000;background:0 0;border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;width:.95rem;height:.95rem;margin-top:.1rem;display:inline-flex}.auth-module__xpjydG__auth-password-requirement.auth-module__xpjydG__is-met{color:var(--primary)}.auth-module__xpjydG__auth-password-requirement.auth-module__xpjydG__is-met .auth-module__xpjydG__auth-password-requirement-icon{border-color:var(--primary);background:color-mix(in oklab, var(--primary) 14%, transparent);color:var(--primary)}.auth-module__xpjydG__auth-password-requirement-text{overflow-wrap:anywhere;flex:auto;min-width:0}.auth-module__xpjydG__auth-field-error,.auth-module__xpjydG__auth-form-error{color:var(--destructive);margin:0;font-size:.86rem;line-height:1.4}.auth-module__xpjydG__auth-form-error{border:1px solid color-mix(in oklab, var(--destructive) 28%, var(--hairline-cloud));background:color-mix(in oklab, var(--destructive) 8%, transparent);border-radius:.65rem;padding:.65rem .75rem}.auth-module__xpjydG__auth-submit{gap:.5rem;width:100%;min-height:2.85rem;margin-top:.15rem}.auth-module__xpjydG__auth-switch{text-align:center;color:var(--muted-foreground);margin:.15rem 0 0;font-size:.9rem;line-height:1.45}.auth-module__xpjydG__auth-switch-link{color:var(--ink);text-decoration:underline;-webkit-text-decoration-color:color-mix(in oklab, var(--ink) 28%, transparent);text-decoration-color:color-mix(in oklab, var(--ink) 28%, transparent);text-underline-offset:.18em;align-items:center;gap:.2rem;font-weight:650;transition:text-decoration-color .14s;display:inline-flex}.auth-module__xpjydG__auth-switch-link:hover{-webkit-text-decoration-color:var(--ink);text-decoration-color:var(--ink)}.auth-module__xpjydG__auth-switch-link:focus-visible{box-shadow:0 0 0 2px color-mix(in oklab, var(--ring) 55%, transparent);border-radius:.25rem;outline:none}.auth-module__xpjydG__auth-legal{color:var(--muted-foreground);flex-wrap:wrap;justify-content:center;align-items:center;gap:.35rem .45rem;padding-top:.15rem;font-size:.84rem;display:flex}.auth-module__xpjydG__auth-legal-sep{opacity:.55}.auth-module__xpjydG__auth-legal-link{color:var(--muted-foreground);font-weight:600;text-decoration:none;transition:color .14s}.auth-module__xpjydG__auth-legal-link:hover{color:var(--ink);text-underline-offset:.15em;text-decoration:underline}.auth-module__xpjydG__auth-agreement{color:var(--muted-foreground);text-align:center;margin:0;font-size:.84rem;line-height:1.5}.auth-module__xpjydG__auth-agreement a{color:var(--ink);text-underline-offset:.15em;font-weight:650;text-decoration:underline}.auth-module__xpjydG__auth-forgot-link{color:var(--muted-foreground);text-decoration:underline;-webkit-text-decoration-color:color-mix(in oklab, var(--muted-foreground) 35%, transparent);text-decoration-color:color-mix(in oklab, var(--muted-foreground) 35%, transparent);text-underline-offset:.16em;font-size:.82rem;font-weight:600;transition:color .14s,text-decoration-color .14s}.auth-module__xpjydG__auth-forgot-link:hover{color:var(--ink);-webkit-text-decoration-color:var(--ink);text-decoration-color:var(--ink)}.auth-module__xpjydG__auth-forgot-link:focus-visible{box-shadow:0 0 0 2px color-mix(in oklab, var(--ring) 55%, transparent);border-radius:.25rem;outline:none}.auth-module__xpjydG__auth-success{border:1px solid color-mix(in oklab, var(--success-border,#2c8c66) 28%, var(--hairline-cloud));background:color-mix(in oklab, var(--success-muted,#d9eddf) 55%, transparent);border-radius:.75rem;flex-direction:column;gap:.45rem;padding:.9rem .95rem;display:flex}.auth-module__xpjydG__auth-success-title{color:var(--ink);margin:0;font-size:.95rem;font-weight:700}.auth-module__xpjydG__auth-success-body{color:var(--muted-foreground);margin:0;font-size:.88rem;line-height:1.45}.auth-module__xpjydG__auth-skeleton{background:color-mix(in oklab, var(--muted) 55%, transparent);border-radius:.65rem;animation:1.2s ease-in-out infinite auth-module__xpjydG__auth-pulse}.auth-module__xpjydG__auth-skeleton-label{width:4.5rem;height:.7rem}.auth-module__xpjydG__auth-skeleton-input{height:2.75rem}.auth-module__xpjydG__auth-skeleton-button{height:2.85rem;margin-top:.15rem}@keyframes auth-module__xpjydG__auth-pulse{0%,to{opacity:.55}50%{opacity:.9}}@media (prefers-reduced-motion:reduce){.auth-module__xpjydG__auth-skeleton{animation:none}}.dark .auth-module__xpjydG__auth-atelier-shell:before{background:radial-gradient(ellipse 70% 50% at 12% 8%, color-mix(in oklab, var(--module-home-bg) 42%, transparent), transparent 70%), radial-gradient(ellipse 55% 45% at 92% 12%, color-mix(in oklab, var(--module-listen-bg) 28%, transparent), transparent 68%), radial-gradient(ellipse 50% 40% at 50% 100%, color-mix(in oklab, var(--module-exercise-bg) 16%, transparent), transparent 70%)}.dark .auth-module__xpjydG__auth-panel{background:linear-gradient(165deg, color-mix(in oklab, var(--auth-wash) 28%, transparent), transparent 72%), color-mix(in oklab, var(--surface-elevated) 62%, transparent)}
