.page-container{background:radial-gradient(circle at 0% 0%,#0071e31f,transparent 45%),radial-gradient(circle at 100% 100%,#0071e314,transparent 50%),var(--color-background);justify-content:center;align-items:center;width:100%;min-height:100vh;padding:1.5rem;animation:12s ease-in-out infinite alternate backgroundShift;display:flex}.forgot-card{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:1.25rem;width:100%;max-width:30rem;padding:2rem;animation:.52s cubic-bezier(.16,1,.3,1) both cardEnter;box-shadow:0 1.25rem 2.5rem #0000000f}.forgot-card h1{color:var(--color-text-primary);margin-bottom:.75rem;font-size:clamp(2rem,4vw,2.4rem);animation:.48s .12s both contentFadeUp}.subtitle{color:var(--color-text-muted);margin-bottom:1.5rem;font-size:1rem;animation:.48s .18s both contentFadeUp}.forgot-form{flex-direction:column;gap:.625rem;animation:.48s .24s both contentFadeUp;display:flex}.field-label{color:var(--color-text-primary);font-size:.9rem;font-weight:600}.email-input{border:1px solid var(--color-border);width:100%;color:var(--color-text-primary);transition:border-color .16s ease,box-shadow .16s ease,transform .2s var(--ease-spring,cubic-bezier(.16,1,.3,1));box-sizing:border-box;background-color:#fff;border-radius:.75rem;padding:.75rem .875rem;font-size:1rem}.email-input:focus{border-color:var(--color-accent);outline:none;transform:translateY(-.0625rem);box-shadow:0 0 0 .25rem #0071e324}.email-input:disabled{opacity:.75}.submit-btn{width:100%;margin-top:.5rem}.feedback{border-radius:.75rem;margin-top:.875rem;padding:.75rem .875rem;font-size:.9375rem;line-height:1.4;animation:.24s ease-out both feedbackPop}.feedback.success{color:#0b4f8a;background-color:#e8f4ff;border:1px solid #b8ddff}.feedback.error{color:#8f281f;background-color:#fff0ee;border:1px solid #ffd2cb}.back-link{color:var(--color-text-muted);margin-top:1rem;font-size:.9375rem;animation:.48s .32s both contentFadeUp}.back-link a{color:var(--color-accent);font-weight:600;text-decoration:none}.back-link a:hover{text-decoration:underline}@keyframes cardEnter{0%{opacity:0;transform:translateY(1.25rem)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes contentFadeUp{0%{opacity:0;transform:translateY(.5rem)}to{opacity:1;transform:translateY(0)}}@keyframes feedbackPop{0%{opacity:0;transform:translateY(.25rem)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes backgroundShift{0%{background-position:0 0,100% 100%,0 0}to{background-position:6% 4%,96% 94%,0 0}}@media (max-width:32.5rem){.page-container{padding:1rem}.forgot-card{padding:1.5rem 1.125rem}}
