*{box-sizing:border-box}html{font-family:Inter,Arial,sans-serif;color-scheme:light;--surface:#FFFFFF;--ink:#000000;--line:#5865F2;--field:#FFFFFF;--sub:#000000}html[data-student-theme=dark]{color-scheme:dark;--surface:#1F1F1F;--ink:#FFFFFF;--field:#000000;--sub:#E0E3FF}body{margin:0;color:var(--ink);background:#5865F2}.login{min-height:100vh;min-height:100dvh;display:grid;place-items:center;padding:36px 20px;background:#5865F2 url(login380-characters.png) center/cover no-repeat}.shell{width:min(440px,100%);background:var(--surface);border-radius:16px}.form-panel{padding:32px}.login-brand{display:flex;align-items:center;gap:9px;font-size:18px;font-weight:800;letter-spacing:-.03em;margin:0 0 24px}.login-brand img{width:28px;height:28px;display:block}.form-panel h1{font-size:27px;font-weight:800;line-height:1.2;letter-spacing:-.03em;margin:0 0 14px}.intro{font-size:14px;line-height:1.55;color:var(--sub);margin:0 0 28px}form{display:flex;flex-direction:column}label{font-size:13px;font-weight:600;margin:0 0 8px}input{height:48px;width:100%;border:1px solid var(--line);border-radius:8px;background:var(--field);color:var(--ink);font:500 16px Inter,Arial,sans-serif;padding:11px 13px;caret-color:#5865F2}input::placeholder{color:var(--sub);opacity:1}#login{margin-bottom:20px}.password-field{position:relative}.password-field input{padding-right:50px}.reveal{position:absolute;right:2px;top:2px;width:44px;height:44px;display:grid;place-items:center;background:transparent;border:0;border-radius:8px;color:var(--ink);cursor:pointer}.reveal svg{width:22px;height:22px}.submit{height:50px;margin-top:24px;border:0;border-radius:8px;font:700 19px Inter,Arial,sans-serif;color:#E0E3FF;background:#5865F2;cursor:pointer}.submit:hover{background:#19175C}button:focus-visible,input:focus-visible{outline:3px solid #5865F2;outline-offset:3px}::selection{color:#000000;background:#E0E3FF}@media(max-width:700px){.login{padding:24px 16px;background-size:auto 100%;background-position:48% center}.form-panel{padding:28px 24px}.form-panel h1{font-size:25px}.intro{font-size:14px}.login-brand{margin-bottom:22px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}

@media(max-width:700px){.login{background-image:url(login380-characters-phone.png);background-size:cover;background-position:center center}}

.login-alert{padding:12px 14px;border:1px solid #5865F2;border-radius:8px;margin:0 0 20px;background:#E0E3FF;color:#000000;font-size:14px;line-height:1.5}.login-alert.error{background:#F5C9FF;border-color:#FF4CD2}.submit:disabled{cursor:wait;opacity:.65}
