header{background-color:var(--color-red);font-family:var(--font-family-secondary);padding:var(--spacing-xl)}body{background-color:var(--color-silver)}form{position:relative;z-index:1;width:var(--form-width);height:auto;margin:150px auto;padding:40px;background:var(--color-silver);border-radius:var(--radius-2xl);box-shadow:var(--shadow-xl)}form h2{font-family:var(--font-family-primary);font-size:var(--font-size-5xl);text-align:center}form legend{text-align:left;font-family:var(--font-family-secondary);padding:var(--spacing-5)}form input{width:100%;padding:10px;margin-top:var(--spacing-5);box-sizing:border-box}form input:focus-visible{outline:2px solid var(--color-neutral-dark);outline-offset:2px}.forgot-password{display:block;margin-top:var(--spacing-5);font-size:var(--font-size-sm);text-align:right;text-decoration:none;color:var(--color-neutral-dark)}.forgot-password:hover{text-decoration:underline}button{width:100%;text-align:center;font-family:var(--font-family-primary);font-size:large;padding:10px;cursor:pointer}button:focus-visible{outline:2px solid var(--color-neutral-dark);outline-offset:2px}footer{background-color:var(--color-neutral-light);text-align:right;padding:var(--spacing-md)}.login-error{color:var(--color-red);font-size:var(--font-size-sm);margin-top:var(--spacing-sm);text-align:center;font-family:var(--font-family-primary)}.setup-modal{position:fixed;top:0;left:0;width:100%;height:100%;background:var(--bg-modal-dark);display:flex;justify-content:center;align-items:center;z-index:var(--z-modal)}.setup-modal-content{background:var(--color-white);padding:var(--spacing-xl);border-radius:var(--radius-xl);width:90%;max-width:400px;max-height:90vh;overflow-y:auto;font-family:var(--font-family-primary)}.setup-modal-content h2{margin-bottom:var(--spacing-sm);font-size:var(--font-size-2xl);text-align:center}.setup-modal-content p{margin-bottom:var(--spacing-md);color:var(--color-text-secondary);text-align:center}.setup-modal-content label{display:block;margin-top:.75rem;font-weight:600}.setup-modal-content input{width:100%;padding:var(--spacing-sm);margin-top:var(--spacing-xs);border:var(--spacing-1) solid var(--color-border);border-radius:var(--radius-md);box-sizing:border-box}.setup-modal-content input:focus-visible{outline:2px solid var(--color-neutral-dark);outline-offset:2px}.setup-modal-content button{margin-top:var(--spacing-lg);width:100%;padding:.75rem;background:var(--color-red);color:var(--color-white);border:none;border-radius:var(--radius-md);cursor:pointer;font-size:var(--font-size-md);font-family:var(--font-family-primary)}@media screen and (min-width:768px){body{margin:0;overflow:hidden;background:linear-gradient(to bottom,var(--color-neutral-light),var(--color-neutral-mid));position:relative}.background{position:absolute;width:100%;height:100%;overflow:hidden;z-index:var(--z-base)}}@media screen and (min-width:768px){body{overflow:hidden;position:relative}.background{position:absolute;width:100%;height:100%;z-index:var(--z-base)}.bubble{position:absolute;bottom:-100px;width:150px;height:150px;background:var(--bg-bubble);border-radius:var(--radius-circle);animation:rise 10s infinite ease-in}.bubble:nth-child(2){left:25%;width:30px;height:30px;animation-duration:10s;animation-delay:2s}.bubble:nth-child(3){left:50%;width:85px;height:85px;animation-duration:12s;animation-delay:4s}.bubble:nth-child(4){left:75%;width:25px;height:25px;animation-duration:9s;animation-delay:1s}.bubble:nth-child(5){left:90%;width:55px;height:55px;animation-duration:11s;animation-delay:3s}@keyframes rise{0%{transform:translateY(0) scale(1);opacity:var(--opacity-disabled)}50%{opacity:1}to{transform:translateY(-110vh) scale(1.2);opacity:var(--opacity-disabled)}}@media(prefers-reduced-motion:reduce){.bubble{animation:none;opacity:var(--opacity-disabled)}}}
