/* Dedicated authentication styles: independent of learning and assessment pages. */
:root{color-scheme:light;font-family:"Segoe UI",Arial,sans-serif;color:#243b35;background:#f6f5f0;font-synthesis:none}
*{box-sizing:border-box}body.auth-page{margin:0;min-height:100svh;display:flex;flex-direction:column}a{color:#174e46;text-underline-offset:4px}button,input{font:inherit}button,a,input{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,input:focus-visible{outline:3px solid #ad684a;outline-offset:4px}a:hover{color:#88492e}button{cursor:pointer}[hidden]{display:none!important}
.auth-skip{position:absolute;left:20px;top:-100px;z-index:10;padding:12px;background:white}.auth-skip:focus{top:12px}
.auth-header{width:min(1184px,100%);padding:26px 32px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:20px}.auth-brand{display:flex;align-items:center;gap:13px;text-decoration:none;font:600 34px/1 Georgia,serif;letter-spacing:-1px}.auth-brand-symbol{color:#a76042;font:40px/1 "Segoe UI",sans-serif;letter-spacing:0}.auth-brand-caption{display:block;font:600 9px/1.5 "Segoe UI",sans-serif;letter-spacing:1.75px;color:#6b756c;margin-top:8px}.auth-explore{display:flex;align-items:center;gap:14px;font-size:13px;font-weight:600;text-decoration:none}.auth-explore>span{font-size:20px}
.auth-main{flex:1;width:100%;padding:16px 32px 32px;display:grid;place-items:center}.auth-layout{width:min(1120px,100%);display:grid;grid-template-columns:1fr 1fr;background:#fffefa;border:1px solid #e0e3d9;border-radius:18px;overflow:hidden;box-shadow:0 12px 50px #243b3508}
.auth-story{position:relative;isolation:isolate;min-width:0;min-height:650px;background:#193f37;color:#fff8e9;display:flex;flex-direction:column;justify-content:space-between;padding:56px 46px 38px;overflow:hidden}.auth-landscape{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:37% center;z-index:-3}.auth-story:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#103c35f5 0%,#143c35e0 27%,#173d3460 63%,#102f28ed 100%);z-index:-2}.auth-motif{position:absolute;right:-10px;top:-6px;width:128px;opacity:.28;filter:brightness(2) saturate(.6);z-index:-1}.auth-kicker{font-size:9px;font-weight:600;letter-spacing:1.8px;line-height:1.8;color:#e5d8bb;margin:0 0 40px}.auth-story h2{font:400 clamp(36px,3.5vw,49px)/1.15 Georgia,serif;letter-spacing:-1px;margin:0 0 25px}.auth-story h2 em{color:#ead3a8;font-weight:400}.auth-story-copy>p:last-child{font-size:14px;line-height:1.9;color:#f1eddf;margin:0;max-width:330px}.auth-story-foot{display:flex;align-items:center;gap:16px;padding-top:76px}.auth-small-mark{font-size:32px;color:#e6c494}.auth-story-foot strong{font-size:14px;font-weight:500;letter-spacing:.2px;display:block}.auth-story-foot div>span{display:block;color:#dddccc;font-size:11px;letter-spacing:1px;margin-top:7px}
.auth-panel{width:100%;min-width:0;padding:42px 52px;align-self:center}.auth-tabs{display:grid;grid-template-columns:1fr 1fr;border-bottom:1px solid #dfe3d9;margin:0 0 32px;gap:24px}.auth-tabs a{text-align:center;text-decoration:none;font-size:14px;padding:0 4px 15px;color:#6e796f;border-bottom:2px solid transparent;margin-bottom:-1px;line-height:1.5}.auth-tabs a[aria-current=page]{color:#174e46;font-weight:650;border-bottom-color:#174e46}.auth-tabs a:hover{color:#174e46;border-bottom-color:#b5c3b4}
.auth-eyebrow{font-size:9px;letter-spacing:1.8px;color:#956044;font-weight:700;margin:0 0 12px}.auth-heading{margin-bottom:27px}.auth-heading h1{font:400 31px/1.2 Georgia,serif;letter-spacing:-.6px;margin:0 0 12px;color:#193f37}.auth-heading>p:last-child{font-size:14px;line-height:1.7;color:#647165;margin:0;max-width:370px}
.auth-field{margin-bottom:18px}.auth-field label{display:block;font-size:13px;font-weight:600;line-height:1.5;color:#2c4037;margin-bottom:8px}.auth-field input{display:block;width:100%;height:49px;border:1px solid #ced6ca;border-radius:7px;background:#fffefa;color:#233e34;font-size:15px;padding:12px 14px;transition:border-color .15s,box-shadow .15s}.auth-field input::placeholder{color:#788276;opacity:1;font-size:13px}.auth-field input:hover{border-color:#95aa98}.auth-field input:focus{border-color:#326b57;box-shadow:0 0 0 3px #326b5710}.auth-field input:autofill{box-shadow:0 0 0 50px #f3f6ed inset;color:#233e34}.auth-password{position:relative}.auth-password input{padding-right:52px}.auth-reveal{position:absolute;right:3px;top:3px;min-height:43px;min-width:44px;border:0;background:transparent;color:#526c5e;border-radius:5px;display:grid;place-items:center}.auth-reveal:hover{background:#edf1e8;color:#174e46}.auth-reveal svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.eye-slash{display:none}.auth-reveal[aria-pressed=true] .eye-slash{display:block}.auth-help{font-size:12px;line-height:1.5;margin:7px 0 0;color:#667362}
.auth-submit{width:100%;min-height:51px;border:1px solid #174e46;border-radius:7px;background:#174e46;color:#fff;font-size:14px;font-weight:650;display:flex;align-items:center;justify-content:center;gap:20px;padding:13px 22px;margin-top:25px;transition:background .15s,box-shadow .15s}.auth-submit:hover,.auth-submit:focus-visible{background:#103c35;color:#fff;border-color:#103c35;box-shadow:0 3px 12px #174e4620}.auth-submit:active{background:#0c302a}.auth-submit-arrow{font-size:20px;font-weight:400;line-height:1}.auth-submit:disabled{cursor:wait;opacity:.8}.auth-switch{text-align:center;font-size:12px;color:#667362;line-height:1.8;margin:21px 0 0}.auth-switch a{font-weight:650;white-space:nowrap;margin-left:5px}.auth-shared{display:flex;justify-content:center;align-items:center;gap:13px;border-top:1px solid #e4e7df;padding-top:22px;margin-top:24px;color:#70816e}.auth-shared svg{width:27px;height:25px;fill:none;stroke:currentColor;stroke-width:1.4;stroke-linejoin:round}.auth-shared p{font-size:12px;line-height:1.6;margin:0}.auth-shared strong{font-weight:500;color:#465c4c}
.auth-message{font-size:13px;line-height:1.6;padding:13px 15px;border:1px solid;border-radius:7px;margin:0 0 22px;overflow-wrap:anywhere}.auth-message strong{font-weight:650}.auth-message p{margin:4px 0 0}.auth-message-error{background:#fff1eb;border-color:#e2bdaa;color:#7d3826}.auth-message-success{background:#eef5eb;border-color:#c6d9bf;color:#315d3b}.auth-footer{width:min(1184px,100%);margin:auto;padding:0 32px 27px;display:flex;align-items:center;justify-content:space-between;gap:20px;color:#71806d}.auth-footer p{font:italic 14px/1.5 Georgia,serif;margin:0}.auth-footer>span{font-size:9px;letter-spacing:1.5px;line-height:1.7}
@media(min-width:821px) and (max-width:1050px){.auth-panel{padding:36px 32px}.auth-story{padding:48px 32px 35px}.auth-kicker{letter-spacing:1.2px;font-size:8px}.auth-story h2{font-size:40px}.auth-heading h1{font-size:28px}}
@media(max-width:820px){.auth-header{max-width:570px;padding:22px 26px}.auth-main{padding:6px 22px 28px}.auth-layout{max-width:520px;grid-template-columns:1fr;border-radius:14px}.auth-story{display:none}.auth-panel{padding:34px 38px}.auth-heading h1{font-size:30px}.auth-footer{max-width:570px;padding:0 26px 25px;flex-direction:column;gap:10px;text-align:center}.auth-brand{font-size:30px}.auth-brand-symbol{font-size:35px}.auth-brand-caption{font-size:8px;letter-spacing:1.1px}.auth-explore{font-size:12px;gap:8px}}
@media(max-width:420px){.auth-header{padding:20px}.auth-main{padding:4px 14px 24px}.auth-panel{padding:27px 22px}.auth-tabs{gap:12px;margin-bottom:27px}.auth-tabs a{font-size:13px}.auth-heading h1{font-size:28px}.auth-field input{font-size:16px}.auth-heading>p:last-child{font-size:13px}.auth-brand-caption{letter-spacing:.8px}.auth-explore{font-size:11px}.auth-footer p{font-size:13px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important;scroll-behavior:auto!important}}
