@font-face{font-family:Manrope;src:url('/fonts/manrope.ttf') format('truetype');font-weight:200 800;font-display:swap}@font-face{font-family:Bricolage;src:url('/fonts/bricolage.ttf') format('truetype');font-weight:200 800;font-display:swap}
:root{color-scheme:dark;font-family:Manrope,sans-serif;background:#090d15;color:#ecf2ff;font-synthesis:none}*{box-sizing:border-box}body{margin:0;min-height:100dvh;display:grid;place-items:center;padding:40px 24px}button,input{font:inherit}a{color:inherit}button{cursor:pointer}button:disabled{opacity:.55;cursor:default}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid #9cbdff;outline-offset:4px}.login-shell{width:min(100%,1040px);min-height:630px;display:grid;grid-template-columns:1.05fr 1fr;border:1px solid #283a56;border-radius:18px;overflow:hidden;background:#101722;box-shadow:0 30px 100px #0003}.login-intro{padding:38px 38px 30px;background-color:#101e32;background-image:linear-gradient(#739bdb05 1px,transparent 1px),linear-gradient(90deg,#739bdb05 1px,transparent 1px);background-size:32px 32px;display:flex;flex-direction:column;position:relative;overflow:hidden}.wordmark{display:inline-flex;align-items:center;gap:7px;font-family:Bricolage,sans-serif;font-size:23px;font-weight:500;text-decoration:none;align-self:start}.wordmark>span{color:#8db2ff;font-size:34px;font-weight:650;letter-spacing:-2px}.intro-copy{margin:auto 0}.course-caption{color:#9db6d7;font-size:12px;display:block;margin-bottom:20px}.intro-copy h1{font-family:Bricolage,sans-serif;font-size:58px;font-weight:500;letter-spacing:-2px;line-height:1.05;margin:0}.intro-copy p{font-size:13px;color:#a4b3ca;line-height:1.9;margin:23px 0 0}.login-graph{width:100%;height:auto;margin:25px 0 0;color:#7ba5ff;overflow:visible}.login-graph .grid{stroke:#6c8bb5;stroke-opacity:.13;stroke-width:1}.login-graph .curve{stroke:currentColor;stroke-width:2.6;stroke-linecap:round}.login-graph circle{fill:currentColor}.login-graph .guide{stroke:currentColor;stroke-opacity:.35;stroke-dasharray:4 6}.intro-foot{font-size:11px;color:#8d9db5;margin-top:15px}.login-panel{padding:57px 45px;display:flex;flex-direction:column;justify-content:center}.panel-tag{display:flex;align-items:center;gap:7px;font-size:11px;color:#9db2cf;margin-bottom:27px}.panel-tag i{width:5px;height:5px;border-radius:50%;background:#7ba5ff}.login-panel h2{font:500 34px/1.2 Bricolage,sans-serif;letter-spacing:-1px;margin:0 0 12px}.login-panel>p{font-size:12px;color:#96a5bc;line-height:1.8;margin:0}#login-form{display:grid;gap:20px;margin-top:30px}label{font-size:12px;display:grid;gap:9px;color:#b9c5d8}input:not([type=checkbox]){width:100%;min-height:47px;background:#0c121d;border:1px solid #3c506d;color:#ecf2ff;border-radius:8px;padding:12px;font-size:13px;min-width:0}input::placeholder{color:#74849d}.password-wrap{position:relative;display:block}.password-wrap>input{padding-right:61px}.password-wrap>button{position:absolute;right:6px;top:6px;height:35px;min-width:46px;border:0;background:none;color:#9db8e1;border-radius:6px;font-size:11px}.password-wrap>button:hover{background:#182944}.remember{display:flex;align-items:center;gap:8px;font-size:11px;color:#a6b5cc;line-height:1.8}.remember>input{accent-color:#7ba5ff;width:16px;height:16px;margin:0;flex-shrink:0}.hint{font-size:11px;line-height:1.8;color:#96a5bc;margin:-7px 0 0}.form-error{font-size:12px;color:#ffb9a9;line-height:1.8;margin:0}.form-error:empty{display:none}.submit-button{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;min-height:46px;border:1px solid #91b5ff;background:#7ba5ff;color:#09172e;border-radius:8px;padding:12px 16px;font-size:13px;font-weight:700}.submit-button:hover{background:#9bbcff}.submit-button>span{font-size:18px;line-height:1}.login-panel .login-foot{font-size:10px;color:#8091aa;border-top:1px solid #243146;padding-top:22px;margin-top:29px}.login-panel .setup-note{font-size:11px;color:#96a5bc;margin-top:21px}.success-message{padding:18px;background:#142440;border:1px solid #2d4977;border-radius:9px;color:#c0d4ff;font-size:13px;line-height:1.8}.success-message>a{display:inline-flex;margin-top:12px;font-weight:650;color:#9cbdff}[hidden]{display:none!important}
@media(max-width:800px){.login-shell{max-width:680px;grid-template-columns:1fr 1fr;min-height:580px}.login-intro{padding:28px}.intro-copy h1{font-size:43px}.intro-copy p{font-size:12px}.login-panel{padding:40px 28px}.login-panel h2{font-size:29px}.course-caption{font-size:10px}.login-graph{margin-top:30px}.remember{font-size:10px}}
@media(max-width:600px){body{padding:24px 17px;display:block}.login-shell{display:flex;flex-direction:column;border-radius:14px;min-height:0;max-width:420px;margin:0 auto}.login-intro{padding:23px 25px 27px}.wordmark{font-size:19px}.wordmark>span{font-size:29px}.intro-copy{margin-top:25px}.course-caption{margin-bottom:13px;font-size:10px}.intro-copy h1{font-size:40px;letter-spacing:-1.5px;line-height:1.08}.intro-copy h1 br{display:none}.intro-copy p{display:none}.login-graph{position:absolute;width:120px;right:18px;bottom:-6px;opacity:.45}.intro-foot{display:none}.login-panel{padding:29px 25px 27px}.panel-tag{display:none}.login-panel h2{font-size:29px;margin-bottom:10px}.login-panel>p{font-size:12px}#login-form{margin-top:25px;gap:19px}.remember{font-size:11px}.login-panel .login-foot{font-size:10px;margin-top:24px;padding-top:20px}.login-panel .setup-note{font-size:11px}.hint{font-size:11px}}
@media(prefers-reduced-motion:no-preference){button{transition:background-color .12s}}
