/* Adapted from YBM/LG functions/_middleware.js; shared lecture theme and font. */
* {box-sizing:border-box;margin:0;padding:0;}
body {font-family:var(--font);word-break:keep-all;color:var(--fg);background:#fff;font-size:17px;line-height:1.7;-webkit-font-smoothing:antialiased;}
.login-wrap {width:min(480px,calc(100% - 40px));margin:0 auto;padding:14vh 0 64px;}
.login-brand {display:flex;align-items:center;gap:18px;color:var(--sub);font-size:15px;font-weight:600;}
.login-brand img {width:108px;height:40px;object-fit:contain;}
.login-brand span {padding-left:18px;border-left:1px solid var(--line);line-height:1.3;}
h1 {font-size:36px;font-weight:800;letter-spacing:-.03em;line-height:1.3;margin-top:40px;color:var(--key);}
.login-lead {color:var(--sub);margin-top:12px;font-size:16px;}
form {margin-top:32px;}label {display:block;font-size:14px;font-weight:700;margin-bottom:8px;}
.login-fields {display:flex;gap:8px;}.pw {flex:1;min-width:0;position:relative;display:flex;}
.pw input {width:100%;min-width:0;height:54px;padding:0 68px 0 16px;font:inherit;border:1px solid var(--line-strong);border-radius:4px;background:#fff;color:var(--fg);}
button {font:inherit;cursor:pointer;border-radius:4px;}
.eye {position:absolute;right:4px;top:5px;min-width:48px;min-height:44px;padding:0 10px;border:0;font-size:14px;font-weight:600;color:var(--sub);background:transparent;}
.eye:hover {background:var(--zone);color:var(--fg);}
.enter {height:54px;padding:0 22px;flex:none;border:0;background:var(--key);color:#fff;font-weight:700;}
.enter:hover {background:var(--key-deep);}
input:focus-visible,button:focus-visible {outline:2px solid var(--accent);outline-offset:3px;}
.login-error {margin-top:12px;color:#b42318;font-size:15px;font-weight:600;}
.login-meta {font-size:13px;color:var(--muted);margin-top:32px;padding-top:20px;border-top:1px solid var(--line);}
.login-meta span {margin:0 8px;}
@media(max-width:480px){.login-wrap{padding-top:10vh;}h1{font-size:30px;}.login-fields{flex-direction:column;gap:12px;}.enter{width:100%;}}
