:root{color-scheme:light;--brand:#5741e7;--ink:#30244f;--heading:#25215d;--muted:#746a86;--line:#e4ddef;font-family:Inter,"Microsoft YaHei","PingFang SC",Arial,sans-serif;color:var(--ink);background:#fff}*{box-sizing:border-box}body{margin:0;min-height:100dvh}a{color:var(--brand)}.login-layout{min-height:100dvh;display:grid;grid-template-columns:46% 54%}.login-story{display:flex;flex-direction:column;min-height:100dvh;padding:48px clamp(34px,5vw,88px);background:#f7f4fe;border-right:1px solid #ebe3f8}.brand{display:block;align-self:flex-start}.brand img{display:block;width:188px;height:auto;object-fit:contain}.login-story-copy{margin:auto 0;padding:62px 0}.eyebrow{color:#7665b5;font-size:11px;line-height:1.5;letter-spacing:2.3px;font-weight:700;margin:0 0 22px}.login-story h2{font-size:clamp(40px,4.5vw,68px);line-height:1.28;letter-spacing:-2px;color:var(--heading);margin:0 0 26px;font-weight:750}.login-story-copy>p:not(.eyebrow){font-size:17px;line-height:1.9;color:#78678e}.login-content-types{display:flex;gap:10px;flex-wrap:wrap;margin-top:36px}.login-content-types span{font-size:12px;background:#fff;border:1px solid #e3d9f2;border-radius:8px;padding:8px 12px;color:#725b91}.login-story-footer{margin:0;color:#9789aa;font-size:12px;letter-spacing:1px}main{width:min(420px,100% - 64px);margin:auto;padding:42px 0}.login-welcome{font-size:13px;color:var(--brand);margin:0 0 10px;font-weight:600}h1{font-size:30px;line-height:1.4;letter-spacing:-.8px;color:var(--heading);margin:0 0 12px}.login-description{font-size:14px;line-height:1.75;color:var(--muted);margin:0 0 34px}label{display:block;margin:20px 0 9px;font-size:14px;font-weight:600;color:#544566}input,select,button{width:100%;min-height:50px;border-radius:10px;font:inherit;padding:12px 15px}input,select{background:#fff;border:1px solid #dcd4e8;color:var(--ink);font-size:16px;box-shadow:0 1px 2px #30244f03}input::placeholder{color:#a196ac;font-size:14px}button{border:1px solid var(--brand);background:var(--brand);color:#fff;font-size:15px;font-weight:600;margin-top:28px;cursor:pointer;display:flex;align-items:center;justify-content:space-between;padding-inline:19px;transition:background .2s}button:hover:not(:disabled){background:#4631ca}button:disabled{opacity:.5;cursor:not-allowed}button.secondary{background:#f2eefb;color:var(--ink);border-color:var(--line)}input:focus-visible,select:focus-visible,button:focus-visible,a:focus-visible{outline:3px solid #9d8af1;outline-offset:3px}#message{min-height:22px;margin:16px 0 0;color:#a33a45;font-size:13px;line-height:1.7;overflow-wrap:anywhere}.login-help{font-size:12px;color:#8a7f98;line-height:1.75;padding-top:22px;border-top:1px solid #eee8f3;margin:22px 0 0}.mobile-login-brand{display:none}small{color:var(--muted);line-height:1.6}
@media(max-width:900px){.login-layout{grid-template-columns:42% 58%}.login-story{padding:32px}.brand img{width:154px}.login-story h2{font-size:43px}.login-story-copy>p:not(.eyebrow){font-size:15px}.login-content-types{gap:8px}.login-content-types span{font-size:11px}main{width:calc(100% - 56px)}}
@media(max-width:680px){.login-layout{display:block;min-height:100dvh;background:#fff}.login-story{display:none}main{width:min(440px,100% - 40px);margin:0 auto;padding:36px 0 30px}.mobile-login-brand{display:block;margin:0 0 54px}.mobile-login-brand img{width:158px;height:auto;display:block}.login-welcome{font-size:13px}h1{font-size:28px}.login-description{margin-bottom:28px}.login-help{margin-top:24px}input,button{min-height:52px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}
body:not(.yh-login-page){padding:24px;background:#faf9fc}body:not(.yh-login-page)>main{max-width:520px;width:min(520px,100%);padding:32px;margin:5vh auto;background:#fff;border:1px solid var(--line);border-radius:16px}body:not(.yh-login-page) p{line-height:1.75;color:var(--muted)}

/* R496 login refinement */
:root{--brand:#1769e8;--brand-hover:#0e56c7;--brand-pale:#edf4ff;--ink:#14213d;--heading:#102a56;--muted:#667085;--line:#d8e2f0}.login-story{background:linear-gradient(145deg,#edf5ff,#f8fbff);border-right-color:#d9e5f4}.login-story h2{color:#102a56}.login-content-types span{border-color:#cfe0ff;color:#1769e8}.login-welcome{color:#1769e8}.login-story-copy>p:not(.eyebrow){color:#5d7190}input,select{border-color:#cbd9ea}button{background:#1769e8;border-color:#1769e8;box-shadow:0 4px 12px #1769e826}button:hover:not(:disabled){background:#0e56c7}.login-help{border-top-color:#e1eaf4}

/* R525: official HALORA visual system. Login-only overrides preserve other auth pages. */
body.yh-login-page{--brand:#6445e8;--brand-hover:#5436cc;--brand-pale:#f1ecff;--ink:#302b3d;--heading:#201c31;--muted:#756e82;--line:#e7e1ed;background:#fff;color:var(--ink);font-family:Inter,"Microsoft YaHei","PingFang SC",Arial,sans-serif;-webkit-font-smoothing:antialiased}
body.yh-login-page .login-layout{grid-template-columns:minmax(0,48%) minmax(0,52%);min-height:100dvh}
body.yh-login-page .login-story{min-height:100dvh;padding:40px clamp(36px,5vw,88px);background:#f5f2fa;border-right:1px solid #ece5f3;overflow:hidden}
body.yh-login-page .brand img{width:174px;height:auto}
body.yh-login-page .brand{border-radius:6px}
body.yh-login-page .login-story-copy{margin:auto 0;padding:40px 0 30px}
body.yh-login-page .eyebrow{color:#8a7d9c;font-size:10px;letter-spacing:2.5px;font-weight:700;line-height:1.6;margin:0 0 20px}
body.yh-login-page .login-story h2{font-size:clamp(48px,4.45vw,68px);line-height:1.16;letter-spacing:-2.8px;color:#201c31;font-weight:800;margin:0 0 24px}
body.yh-login-page .login-brand-period{color:#7656e9}
body.yh-login-page .login-story-copy>p:not(.eyebrow){font-size:15px;line-height:1.85;color:#756a83;margin:0}
body.yh-login-page .login-visual{width:min(100%,440px);margin:28px 0 14px;pointer-events:none}
body.yh-login-page .login-visual svg{display:block;width:100%;height:auto;overflow:visible}
body.yh-login-page .login-content-types{gap:0;flex-wrap:wrap;align-items:center;margin-top:8px}
body.yh-login-page .login-content-types span{background:transparent;border:0;border-radius:0;padding:0;color:#796a8d;font-size:11px;line-height:1.8}
body.yh-login-page .login-content-types span+span::before{content:"/";display:inline-block;color:#c3b6d3;padding:0 11px}
body.yh-login-page .login-story-footer{color:#9a8faa;font-size:10px;line-height:1.7;letter-spacing:1.8px}
body.yh-login-page main{width:min(400px,100% - 80px);padding:48px 0;margin:auto}
body.yh-login-page .login-welcome{display:flex;align-items:center;gap:7px;color:#796a93;font-size:12px;font-weight:600;line-height:1.5;margin:0 0 12px}
body.yh-login-page .login-welcome span{width:6px;height:6px;border-radius:50%;background:#8867e8;display:inline-block}
body.yh-login-page h1{font-size:30px;line-height:1.45;letter-spacing:-.9px;color:var(--heading);font-weight:750;margin:0 0 10px}
body.yh-login-page .login-description{font-size:13px;line-height:1.8;color:var(--muted);margin:0 0 36px}
body.yh-login-page label{font-size:13px;line-height:1.5;font-weight:600;letter-spacing:.1px;color:#4c435a;margin:22px 0 9px}
body.yh-login-page input{min-height:52px;border:1px solid #e1dbe9;border-radius:10px;padding:13px 15px;background:#fdfcfe;color:#302b3d;font-size:15px;line-height:1.55;box-shadow:none;transition:border-color .18s,background .18s,box-shadow .18s}
body.yh-login-page input::placeholder{font-size:13px;color:#a39aaa;opacity:1}
body.yh-login-page input:hover{border-color:#c5b7dd}
body.yh-login-page input:focus-visible{border-color:#8867e8;background:#fff;box-shadow:0 0 0 4px #f1ecfc;outline:2px solid transparent;outline-offset:1px}
body.yh-login-page button{min-height:52px;margin-top:30px;border:1px solid var(--brand);border-radius:10px;background:var(--brand);color:#fff;font-size:14px;font-weight:650;line-height:1.5;box-shadow:0 6px 16px #6445e81c;transition:background .18s,box-shadow .18s,transform .18s}
body.yh-login-page button>span{font-size:20px;font-weight:400;line-height:1}
body.yh-login-page button:hover:not(:disabled){background:var(--brand-hover);border-color:var(--brand-hover);box-shadow:0 8px 20px #6445e827}
body.yh-login-page button:active:not(:disabled){transform:translateY(1px)}
body.yh-login-page button:disabled{opacity:.5;cursor:not-allowed;box-shadow:none}
body.yh-login-page button:focus-visible,body.yh-login-page a:focus-visible{outline:3px solid #b8a4f2;outline-offset:4px}
body.yh-login-page #message{min-height:22px;color:#a13b4c;font-size:12px;line-height:1.7;margin:14px 0 0;overflow-wrap:anywhere}
body.yh-login-page .login-help{border-top:1px solid #eee8f3;padding-top:22px;margin:28px 0 0;font-size:12px;line-height:1.8;color:#8b8099}
body.yh-login-page noscript p{color:#a13b4c;font-size:12px;line-height:1.7}
@media(min-width:1600px){body.yh-login-page .login-story{padding-left:max(64px,calc((100vw - 1340px)/2))}body.yh-login-page .login-story-copy{max-width:490px}body.yh-login-page main{width:420px}}
@media(max-width:1000px) and (min-width:681px){body.yh-login-page .login-layout{grid-template-columns:46% 54%}body.yh-login-page .login-story{padding:32px}body.yh-login-page .brand img{width:156px}body.yh-login-page .login-story h2{font-size:48px;letter-spacing:-2px}body.yh-login-page .login-visual{margin-top:26px}body.yh-login-page main{width:calc(100% - 64px)}body.yh-login-page .login-content-types span+span::before{padding:0 7px}}
@media(max-height:760px) and (min-width:681px){body.yh-login-page .login-story{padding-top:28px;padding-bottom:28px}body.yh-login-page .login-story-copy{padding-top:26px;padding-bottom:22px}body.yh-login-page .login-story h2{font-size:52px}body.yh-login-page .login-visual{max-width:310px;margin-top:18px;margin-bottom:6px}body.yh-login-page main{padding:28px 0}}
@media(max-width:680px){body.yh-login-page .login-layout{display:block;min-height:100dvh;background:#fff}body.yh-login-page .login-story{display:none}body.yh-login-page main{width:min(400px,100% - 48px);padding:34px 0 30px;margin:0 auto}body.yh-login-page .mobile-login-brand{display:block;margin:0 0 64px}body.yh-login-page .mobile-login-brand img{width:154px;height:auto;display:block}body.yh-login-page h1{font-size:28px}body.yh-login-page .login-description{margin-bottom:30px}body.yh-login-page .login-help{margin-top:26px}body.yh-login-page input,body.yh-login-page button{min-height:52px}}
@media(prefers-reduced-motion:reduce){body.yh-login-page input,body.yh-login-page button{transition:none;transform:none}}
