@font-face{font-family:'DM Sans';src:url('assets/fonts/dm-sans-regular.ttf') format('truetype');font-weight:400;font-display:swap}
@font-face{font-family:'DM Sans';src:url('assets/fonts/dm-sans-semibold.ttf') format('truetype');font-weight:600;font-display:swap}
@font-face{font-family:Newsreader;src:url('assets/fonts/newsreader-regular.ttf') format('truetype');font-weight:400;font-display:swap}
*{box-sizing:border-box}body{margin:0;color:#171717;background:#fff;font:14px/1.5 'DM Sans',Arial,sans-serif}button,input{font:inherit}button,a,input{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:wait}a{color:inherit}button:focus-visible,a:focus-visible{outline:2px solid currentColor;outline-offset:5px}[hidden]{display:none!important}
.skip-link{position:fixed;left:20px;top:-80px;background:#fff;color:#111;padding:12px;z-index:10}.skip-link:focus{top:12px}
.login-layout{min-height:100svh;display:grid;grid-template-columns:minmax(390px,.92fr) minmax(500px,1.08fr)}
.brand-panel{position:relative;isolation:isolate;overflow:hidden;background:#111;color:#fff;display:flex;flex-direction:column;padding:48px 52px;min-height:100svh}
.brand{align-self:flex-start;display:inline-flex;flex-direction:column;text-decoration:none;gap:13px}.brand img{width:174px;height:auto}.brand>span{font-size:8px;letter-spacing:1.8px;color:#aaa}
.brand-message{position:relative;z-index:1;margin:auto 0;padding:70px 0 105px}.eyebrow{font-size:9px;letter-spacing:2px;color:#a0a0a0}.brand-message h2{font:400 clamp(43px,4.2vw,64px)/1.12 Newsreader,Georgia,serif;letter-spacing:-1.3px;margin:25px 0 24px}.brand-message>p{font-size:14px;line-height:1.85;color:#aaa;margin:0}.brand-rule{width:38px;height:1px;background:#666;margin:38px 0 22px}.brand-message .brand-caption{font-size:12px;line-height:1.75;color:#888}
.brand-watermark{position:absolute;right:-95px;bottom:30px;width:380px;height:380px;opacity:.035;pointer-events:none;z-index:-1}.brand-footer{display:flex;justify-content:space-between;gap:20px;align-items:center;border-top:1px solid #303030;padding-top:22px;color:#777;font-size:10px}.brand-footer>span:first-child{letter-spacing:2px;font-size:9px}
.access-panel{display:flex;flex-direction:column;min-height:100svh;padding:38px 48px 26px}.access-top{display:flex;justify-content:space-between;align-items:center;gap:20px;color:#888;font-size:9px;letter-spacing:1.4px}.prototype-badge{border:1px solid #dedede;border-radius:30px;padding:5px 10px;letter-spacing:0;font-size:10px;color:#686868}
.login-content{width:100%;max-width:390px;margin:auto; padding:50px 0}.welcome-mark{width:46px;height:46px;border:1px solid #dedede;display:flex;align-items:center;justify-content:center;margin-bottom:28px;border-radius:8px}.login-content h1{font:400 42px/1.12 Newsreader,Georgia,serif;letter-spacing:-.9px;margin:0 0 12px}.login-intro{color:#777;margin:0 0 33px;font-size:13px;line-height:1.7}
.field{margin-bottom:21px}.field label{display:block;font-weight:600;font-size:12px;margin-bottom:9px}.field input{width:100%;height:50px;padding:0 15px;background:#fff;border:1px solid #d6d6d6;border-radius:5px;color:#111;outline:none;transition:border-color .15s,box-shadow .15s;font-size:13px}.field input::placeholder{color:#a0a0a0}.field input:hover{border-color:#aaa}.field input:focus{border-color:#222;box-shadow:0 0 0 3px #11111109}.field input[aria-invalid=true]{border-color:#333;background:#fafafa}
.field input:-webkit-autofill{-webkit-text-fill-color:#111;caret-color:#111;box-shadow:0 0 0 1000px #fff inset}.field input:-webkit-autofill:focus{box-shadow:0 0 0 1000px #fff inset,0 0 0 3px #11111109}
.password-label{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.text-button{border:0;background:none;padding:0;color:#666;font-size:11px;text-decoration:underline;text-decoration-color:#ccc;text-underline-offset:3px}.text-button:hover{color:#111;text-decoration-color:#111}
.password-input{position:relative}.password-input input{padding-right:50px}.password-input>button{position:absolute;right:4px;top:4px;width:42px;height:42px;display:flex;align-items:center;justify-content:center;background:none;border:0;border-radius:3px;color:#777}.password-input>button:hover{background:#f2f2f2;color:#111}.password-input svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}.eye-slash{display:none}[aria-pressed=true] .eye-slash{display:block}
.field-error,.field-hint{display:block;font-size:11px;line-height:1.5;margin-top:7px;color:#444}.field-error:before{content:'!';display:inline-flex;justify-content:center;align-items:center;width:13px;height:13px;border:1px solid currentColor;border-radius:50%;margin-right:6px;font-size:9px;font-weight:600}.inline-note,.form-error{background:#f5f5f5;border-left:2px solid #777;padding:12px 14px;font-size:12px;line-height:1.7;color:#444;margin:0 0 20px}.form-error{border-color:#111}
.submit-button{height:50px;width:100%;border:1px solid #111;border-radius:5px;background:#111;color:#fff;display:flex;align-items:center;justify-content:center;gap:13px;font-size:13px;font-weight:600;transition:background .15s}.submit-button:hover{background:#333}.submit-button svg{height:18px;width:18px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.submit-button:disabled{opacity:.65}.first-access{font-size:11px;color:#8a8a8a;text-align:center;margin:20px 0 0;line-height:1.8}.first-access span{color:#555}
.demo-access{border-top:1px solid #e6e6e6;margin-top:35px;padding-top:22px;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px}.demo-label{font-size:8px;letter-spacing:1.5px;color:#888}.demo-access p{font-size:10px;color:#888;margin:5px 0 0}.demo-access button{font-size:11px;display:flex;align-items:center;gap:8px;border:0;background:none;color:#333;padding:8px 0;white-space:nowrap}.demo-access button:hover{text-decoration:underline;text-underline-offset:4px}.demo-access #demoStatus{flex-basis:100%;font-size:11px;color:#444;margin:0}
.access-footer{display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;color:#929292;font-size:9px}.access-footer>span:last-child{text-align:right}
@media(min-width:1500px){.brand-panel{padding-left:70px;padding-right:70px}.login-content{max-width:410px}}
@media(max-width:1050px) and (min-width:801px){.login-layout{grid-template-columns:minmax(320px,.85fr) minmax(420px,1.15fr)}.brand-panel{padding:38px 32px}.brand-message h2{font-size:43px}.brand-message>p{font-size:12px}.access-panel{padding-left:32px;padding-right:32px}.brand-footer{font-size:9px}}
@media(max-width:800px){.login-layout{grid-template-columns:1fr}.brand-panel{min-height:0;padding:26px 32px;flex-direction:row;justify-content:space-between;align-items:center;gap:24px}.brand img{width:142px}.brand>span{font-size:6px;letter-spacing:1.4px}.brand{gap:9px}.brand-message{padding:0;margin:0;text-align:right}.brand-message h2{font-size:24px;line-height:1.2;letter-spacing:-.3px;margin:0;color:#ddd}.brand-message .eyebrow,.brand-message p,.brand-rule,.brand-footer,.brand-watermark{display:none}.access-panel{min-height:calc(100svh - 104px);padding:23px 32px 20px}.login-content{max-width:390px;padding:35px 0 40px}.welcome-mark{margin-bottom:22px;width:40px;height:40px}.login-content h1{font-size:38px}.access-footer{font-size:8px}}
@media(max-width:450px){.brand-panel{padding:22px 24px}.brand-message{display:none}.brand img{width:133px}.access-panel{padding:20px 24px 18px}.access-top{font-size:8px;letter-spacing:1px}.login-content{padding-top:30px}.login-content h1{font-size:35px}.login-intro{font-size:12px;margin-bottom:28px}.field input{font-size:16px}.first-access{font-size:10px}.demo-access{margin-top:28px}.access-footer{display:block;line-height:1.8}.access-footer>span{display:block}.access-footer>span:last-child{text-align:left}.demo-access button{font-size:12px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}
.first-access a{font-weight:600;color:#222;text-underline-offset:3px;text-decoration-color:#bbb}.first-access a:hover{text-decoration-color:#111}.submit-button[href]{text-decoration:none}
.signup-content{max-width:410px;padding:28px 0}.signup-content .welcome-mark{margin-bottom:20px}.signup-content .login-intro{margin-bottom:26px}.signup-content .field{margin-bottom:16px}.signup-content .field input{height:48px}.signup-content .password-input>button{height:40px}.signup-content .password-hint{color:#858585;font-size:10px}.signup-note{margin-top:25px;padding-top:19px;border-top:1px solid #e6e6e6}.signup-note p,.success-note{font-size:11px;line-height:1.7;color:#777;margin:7px 0 0}.signup-success>.demo-label{display:block;margin:28px 0 13px}.success-mark{background:#111;border-color:#111;color:#fff}.success-mark svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.registered-profile{display:flex;flex-direction:column;gap:5px;padding:18px 20px;border:1px solid #ddd;border-radius:5px;margin:0 0 25px;overflow-wrap:anywhere}.registered-profile strong{font-size:14px;font-weight:600}.registered-profile span{font-size:12px;color:#777}.success-note{margin-top:19px;text-align:center}#successTitle:focus{outline:none}
@media(max-width:800px){.signup-content{padding:30px 0 35px}}
@media(max-width:450px){.signup-content h1{font-size:35px}.signup-content .welcome-mark{margin-bottom:19px}.signup-note{margin-top:23px}.signup-content .field{margin-bottom:18px}}
.recovery-icon{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}.recovery-content .signup-note{margin-top:32px}.recovery-address{display:flex;flex-direction:column;align-items:flex-start;gap:11px;padding:20px;border:1px solid #ddd;border-radius:5px;margin:0 0 22px}.recovery-address strong{max-width:100%;font-size:14px;font-weight:600;overflow-wrap:anywhere}.recovery-address .text-button{font-size:12px}.recovery-content .inline-note{margin-bottom:25px}#recoveryPreviewTitle:focus{outline:none}
.field-checkbox{margin-top:14px;margin-bottom:20px}
.field-checkbox .checkbox-label{display:flex;align-items:center;gap:10px;min-height:42px;cursor:pointer;font-size:12px;line-height:1.5;color:#111111}
.checkbox-label input[type="checkbox"]{width:18px;height:18px;margin:0;flex-shrink:0;cursor:pointer;accent-color:#111111}
.checkbox-label input[type="checkbox"]:focus-visible{outline:2px solid #111111;outline-offset:3px}
.checkbox-label a{color:#111;text-decoration:underline;text-underline-offset:2px}
.checkbox-label a:hover{color:#000}
.footer-links{display:flex;gap:8px;font-size:9px}
.footer-links a{color:inherit;text-decoration:none}
.footer-links a:hover{color:#111;text-decoration:underline}
.reset-content .welcome-mark{margin-bottom:24px}.reset-content .login-intro{margin-bottom:28px}.reset-content .signup-note{margin-top:28px}.reset-content .field-hint{font-size:10px;color:#777}.reset-content .inline-note{margin-bottom:25px}#resetCompleteTitle:focus{outline:none}
