:root{color-scheme:dark;--surface:#12273d;--input:#192f47;--ink:#e9f2fc;--muted:#abc0d7;--line:#314960;--accent:#9ec5ec;--button:#174e80;--focus:#91c5fa}
:root[data-theme=light]{color-scheme:light;--surface:#fff;--input:#f3f6fa;--ink:#17304f;--muted:#526980;--line:#d6e1ed;--accent:#236caa;--focus:#236caa}
*{box-sizing:border-box}body{margin:0;background:var(--surface);color:var(--ink);font:16px/1.55 Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}a{color:inherit;text-decoration:none}button,input{font:inherit}button{cursor:pointer}svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}button:focus-visible,a:focus-visible{outline:3px solid var(--focus);outline-offset:5px}input:focus{outline:2px solid var(--focus);outline-offset:2px}h1,h2,p{margin:0}.login-layout{display:grid;grid-template-columns:56% 44%;min-height:100dvh}.login-intro{position:relative;isolation:isolate;display:flex;flex-direction:column;justify-content:space-between;min-height:100dvh;padding:clamp(32px,4vw,68px);color:#e9f2fc;background:#091a2c}.login-intro:before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(7,32,60,.59),rgba(7,32,60,.22)),linear-gradient(0deg,rgba(7,32,60,.72),rgba(7,32,60,.06) 60%),url("library-hero.8fdd1b5dd011.png") center/cover no-repeat}.academy-brand{display:flex;align-items:center;gap:18px;align-self:flex-start;font-size:14px;font-weight:650;letter-spacing:1.7px;line-height:1.5}.academy-brand img{object-fit:contain;flex-shrink:0}.academy-brand small{display:block;font:inherit;font-size:12px;margin-top:3px;letter-spacing:2.5px}.hero-copy{padding:64px 0 58px;max-width:730px}.eyebrow{font-size:10px;font-weight:650;letter-spacing:2.5px;line-height:1.6;color:var(--accent)}.login-intro .eyebrow{color:#a7c9ea}.hero-copy h1{font-family:Georgia,"Times New Roman",serif;font-size:clamp(90px,9vw,152px);font-weight:400;letter-spacing:-5px;line-height:1.08;margin:15px 0 16px}.brand-period{color:#93bde8}.acronym{display:flex;align-items:center;gap:clamp(9px,1.2vw,21px);font-size:clamp(18px,1.8vw,29px);letter-spacing:-.4px;color:#d2e4f6;white-space:nowrap}.acronym b{font-weight:650;color:#fff}.acronym i{width:4px;height:4px;background:#93bde8;border-radius:50%;flex-shrink:0}.hero-description{margin-top:27px;color:#c2d8ee;font-size:clamp(15px,1.25vw,20px);line-height:1.8}.hero-modules{border-top:1px solid #8db2d445;display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:36px;padding-top:24px;max-width:620px}.hero-modules>span{display:flex;align-items:center;gap:14px;font-size:13px}.hero-modules>span+span{border-left:1px solid #8db2d445;padding-left:20px}.hero-modules svg{width:29px;height:29px;color:#90b8e3;flex-shrink:0}.hero-footer{font-size:11px;line-height:1.8;color:#b6cce4}.login-content{position:relative;display:flex;align-items:center;justify-content:center;padding:112px clamp(32px,4.5vw,90px) 100px;background:var(--surface)}.signin-box{width:100%;max-width:415px;outline:none}.signin-box h2{font-size:clamp(28px,2.6vw,40px);font-weight:650;letter-spacing:-.8px;line-height:1.25;margin-top:18px}.signin-description{font-size:14px;color:var(--muted);margin-top:13px;line-height:1.8}.signin-box form{margin-top:35px}.field{margin-top:22px}.field label{display:block;font-weight:550;font-size:13px;margin-bottom:9px}.input-wrap{position:relative}.input-wrap input{display:block;width:100%;height:54px;border:1px solid var(--line);border-radius:6px;background:var(--input);color:var(--ink);padding:12px 15px;min-width:0}.input-wrap input::placeholder{color:var(--muted);opacity:.7}.input-wrap input[type=password]{padding-right:54px}.field-hint{font-size:11px;color:var(--muted);margin-top:10px}.primary{display:flex;align-items:center;justify-content:space-between;gap:20px;width:100%;min-height:54px;padding:13px 19px;margin-top:27px;border:1px solid #3273ab;border-radius:6px;background:var(--button);color:#fff;font-size:15px;font-weight:600;transition:background .15s}.primary:hover{background:#205f95}.primary svg{width:22px;height:22px}.login-alternative{margin-top:22px;text-align:center;font-size:12px;color:var(--muted)}.login-alternative a{padding:7px 10px;display:inline-block;text-decoration:underline;text-decoration-color:var(--line);text-underline-offset:5px}.login-alternative a:hover{color:var(--ink)}.support{display:flex;align-items:center;gap:17px;padding-top:29px;margin-top:27px;border-top:1px solid var(--line);color:var(--muted)}.help-icon{display:grid;place-items:center;width:40px;height:40px;border:1px solid var(--line);border-radius:50%;flex-shrink:0;color:var(--accent);font:20px Georgia,serif}.support p{font-size:12px;line-height:1.9}.support a{display:block;color:var(--accent);text-decoration:underline;text-underline-offset:3px}.theme-toggle{position:absolute;right:32px;top:30px;display:grid;place-items:center;width:42px;height:42px;border-radius:50%;border:1px solid var(--line);background:transparent;color:var(--ink)}.theme-toggle svg{width:21px;height:21px}.site-address{position:absolute;left:0;right:0;bottom:33px;text-align:center;color:var(--muted);font-size:11px;letter-spacing:.5px}.form-error,.message{margin-top:22px;padding:13px 16px;border:1px solid var(--line);border-radius:6px;background:var(--input);font-size:12px;line-height:1.7}.form-error,.field-error{color:#ffbcaf}:root[data-theme=light] .form-error,:root[data-theme=light] .field-error{color:#a44134}.field-error{font-size:12px;margin-top:8px}.errorlist{padding:0;margin:0;list-style:none}.skip-link{position:absolute;left:15px;top:-100px;z-index:5;padding:10px;background:var(--surface);color:var(--ink)}.skip-link:focus{top:15px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.password-toggle{position:absolute;right:5px;top:5px;width:44px;height:44px;display:grid;place-items:center;background:transparent;border:0;color:var(--muted);border-radius:4px}.password-toggle svg{width:21px;height:21px}.input-wrap:has(.password-toggle) input{padding-right:54px}
@media(min-width:1600px){.hero-copy{padding-top:100px;padding-bottom:100px}}@media(max-width:1100px){.login-layout{grid-template-columns:52% 48%}.academy-brand{gap:12px;font-size:11px;letter-spacing:1.2px}.academy-brand img{width:52px;height:51px}.academy-brand small{font-size:10px}.login-content{padding-left:35px;padding-right:35px}.acronym{font-size:18px;gap:10px}.hero-modules>span{font-size:11px;gap:8px}.hero-modules>span+span{padding-left:10px}.hero-modules svg{width:24px;height:24px}.hero-copy .eyebrow{font-size:9px;letter-spacing:1.8px}}@media(max-width:760px){.login-layout{grid-template-columns:1fr}.login-intro{min-height:unset;padding:27px 25px 29px}.academy-brand{font-size:11px}.academy-brand img{width:44px;height:43px}.hero-copy{padding:30px 0 0}.hero-copy h1{font-size:76px;letter-spacing:-3px;margin:9px 0}.hero-copy .eyebrow{font-size:8px;letter-spacing:1.6px}.acronym{font-size:19px}.hero-description{font-size:13px;line-height:1.7;margin-top:16px}.hero-modules,.hero-footer{display:none}.login-content{padding:39px 25px 80px;min-height:490px;align-items:flex-start}.signin-box{max-width:450px}.signin-box .eyebrow{font-size:8px;padding-right:40px}.signin-box h2{font-size:29px;margin-top:15px}.signin-description{font-size:13px}.signin-box form{margin-top:25px}.theme-toggle{top:22px;right:21px;width:34px;height:34px}.theme-toggle svg{width:18px;height:18px}.site-address{bottom:25px}.support{padding-top:22px;margin-top:20px}.hero-copy{max-width:500px}}@media(prefers-reduced-motion:reduce){*{transition:none!important}}

.theme-sun{display:none}:root[data-theme=dark] .theme-sun{display:block}:root[data-theme=dark] .theme-moon{display:none}.theme-toggle:focus-visible{outline:3px solid var(--focus);outline-offset:3px}
