:root{color-scheme:dark;font-family:"PingFang SC","Microsoft YaHei",system-ui,sans-serif;color:#eff8f3;background:#0b191d;font-synthesis:none}
*{box-sizing:border-box}body{margin:0;min-height:100svh;position:relative;isolation:isolate;background:#0b191d}button,input{font:inherit}a{color:inherit;text-decoration:none}
.forest-art{position:fixed;inset:0;z-index:-2;background:linear-gradient(90deg,rgba(6,20,24,.38) 0%,rgba(7,23,27,.38) 36%,#0b191df2 77%),linear-gradient(0deg,#09191ef5 0%,#09191e22 65%,#09191eb3 100%),url('../images/level-select-background-light.jpg') center 46%/cover no-repeat}
.login-header,.login-footer{display:flex;align-items:center;justify-content:space-between;gap:24px;width:min(1392px,calc(100% - 112px));margin:auto}
.login-header{padding-top:38px}.wordmark{display:flex;align-items:center;gap:14px;font-size:21px;font-weight:600;letter-spacing:.12em}.wordmark small{display:block;margin-top:6px;font-size:9px;letter-spacing:.2em;color:#b3c8bf;font-weight:400}.brand-symbol{display:grid;place-items:center;width:44px;height:44px;border:1px solid #a9d3b45e;border-radius:50%;font-size:33px;font-family:Georgia,serif;color:#d7eec1;box-shadow:0 0 30px #a2e4a51a}
.university-logo {
  display: block;
  width: min(280px, 48%);
  height: auto;
}
.login-layout{width:min(1250px,calc(100% - 112px));min-height:calc(100svh - 170px);margin:0 auto;display:grid;grid-template-columns:1fr 430px;gap:70px;align-items:center;padding:58px 0 70px}
.forest-intro{padding:45px 0}.intro-kicker{font-size:14px;color:#d6e4c4;letter-spacing:.2em;margin:0 0 26px}.forest-intro h1{font-size:clamp(38px,4.25vw,65px);font-weight:550;line-height:1.35;letter-spacing:.025em;margin:0;text-shadow:0 4px 40px #03121790}.forest-intro h1 span{color:#d7e9b3}.intro-copy{font-size:16px;line-height:2;color:#c2d4cc;margin:26px 0 0}
.intro-caption {
  margin: 48px 0 0;
  display: flex;
  align-items: center;
  gap: 12px;
  color: #d1e3d9;
  font-size: 14px;
  line-height: 1.7;
}
.intro-caption > span {
  flex: 0 0 36px;
  height: 1px;
  background: #c9dda6;
}
.login-card{padding:38px 36px 28px;border:1px solid #b5d5c929;border-radius:24px;background:linear-gradient(140deg,#1a3034ed,#101f27f5);box-shadow:0 22px 80px #0005,inset 0 1px 0 #ffffff08;backdrop-filter:blur(20px)}.card-kicker{font-size:12px;letter-spacing:.16em;color:#b5cba1;margin:0 0 14px}.login-card h2{font-size:27px;font-weight:550;letter-spacing:.02em;margin:0 0 12px}.login-description{font-size:13px;line-height:1.8;color:#9fb7b0;margin:0 0 30px}
#student-login{display:grid;grid-template-columns:1fr;gap:10px}#student-login>label{font-size:13px;color:#d1e0d9;margin-top:7px}#student-login input{width:100%;min-width:0;height:52px;border:1px solid #8cafa344;border-radius:10px;background:#07191d80;color:#f2fff7;padding:0 15px;font-size:15px;outline:none;transition:border-color .18s,box-shadow .18s}#student-login input::placeholder{color:#82978f;font-size:13px}#student-login input:focus{border-color:#c1dfa1;box-shadow:0 0 0 3px #c1dfa115}#student-login input:-webkit-autofill{-webkit-text-fill-color:#eff8f3;box-shadow:0 0 0 100px #132b2f inset}.password-field{position:relative}.password-field input{padding-right:65px!important}.password-toggle{position:absolute;right:10px;top:9px;height:34px;border:0;border-radius:6px;padding:0 8px;background:transparent;color:#afc4bb;font-size:12px;cursor:pointer}.password-toggle:hover{color:#e0f3bf;background:#ffffff08}.password-toggle:focus-visible{outline:2px solid #c1dfa1;outline-offset:2px}
#login-status{min-height:22px;font-size:12px;line-height:1.7;color:#f5bc9e;margin:2px 0;overflow-wrap:anywhere}.login-submit{height:53px;display:flex;align-items:center;justify-content:center;gap:17px;background:#d5e8af;color:#152a22;border:1px solid #d5e8af;border-radius:10px;font-size:15px;font-weight:650;cursor:pointer;transition:background .2s,transform .2s;box-shadow:0 6px 24px #b7dc8610}.login-submit:hover{background:#e2f1c3;transform:translateY(-1px)}.login-submit:focus-visible{outline:2px solid #efffdb;outline-offset:4px}.login-submit:disabled{opacity:.6;cursor:wait;transform:none}.account-help{font-size:12px;line-height:1.8;color:#a5b9b1;text-align:center;margin:23px 0 25px}.save-note{padding-top:19px;border-top:1px solid #b1c9bd1c;color:#90a79e;text-align:center;font-size:11px;margin:0;letter-spacing:.025em}.save-note span{color:#c9dda6;margin-right:5px}.login-footer{padding:0 0 25px;color:#829a90;font-size:11px;letter-spacing:.08em}
.icp-filing:hover,
.icp-filing:focus-visible {
  text-decoration: underline;
  text-underline-offset: 3px;
}
.icp-filing:focus-visible {
  outline: 2px solid #efffdb;
  outline-offset: 3px;
}

@media(min-width:1600px){.login-layout{gap:130px;grid-template-columns:1fr 460px}.login-card{padding:46px 42px 32px}}
@media(max-width:1000px){.login-header,.login-footer,.login-layout{width:calc(100% - 64px)}.login-layout{gap:35px;grid-template-columns:1fr 390px}.forest-intro h1{font-size:40px}.login-card{padding:30px 27px}.intro-copy{font-size:14px}}
@media(max-width:760px){.login-header,.login-footer,.login-layout{width:calc(100% - 40px)}.login-header{padding-top:24px}.wordmark{font-size:18px;gap:10px}.wordmark small{font-size:8px;letter-spacing:.1em}.brand-symbol{width:38px;height:38px}.login-layout{min-height:auto;grid-template-columns:1fr;gap:26px;padding:44px 0 38px;max-width:470px}.forest-intro{padding:0 4px}.intro-kicker{font-size:11px;margin-bottom:13px}.forest-intro h1{font-size:35px;line-height:1.3}.intro-copy{font-size:12px;margin-top:17px;line-height:1.9}.intro-caption{margin-top:20px;font-size:12px}.intro-caption>span{flex-basis:18px}.login-card{padding:29px 25px 24px;border-radius:20px}.login-card h2{font-size:24px}.login-description{margin-bottom:22px}.login-footer{padding-bottom:22px;max-width:470px}.forest-art{background:linear-gradient(0deg,#0b191d 0%,#0b191df0 38%,#0b191d70 100%),url('../images/level-select-background-light.jpg') 50% 15%/auto 100vh no-repeat}}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}

.save-note {font-size:12px;line-height:1.9;text-align:left;color:#b1c4ba;}
