:root{--navy:#122b4b;--blue:#245ed8;--ink:#192f4a;--muted:#778397;--border:#e2e8f0;--bg:#f5f7fb}*{box-sizing:border-box}body{margin:0;color:var(--ink);font:14px/1.6 "Microsoft YaHei","PingFang SC",sans-serif;background:var(--bg)}button,input,select,textarea{font:inherit}button,a{ -webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:inherit;text-decoration:none}button{border:0;background:none;color:inherit}header{height:100px;padding:0 5.2%;background:#fff;display:flex;align-items:center;gap:68px;border-bottom:1px solid var(--border)}.brand{display:flex;align-items:center;gap:15px}.brand img{width:57px;height:57px;object-fit:contain}.brand strong{font-size:24px;font-weight:700;letter-spacing:3px;display:block}.brand small{font-size:9px;letter-spacing:1.3px;color:#64758b}nav{display:flex;gap:32px;height:100%;align-items:center}nav .active{font-weight:600;position:relative}nav .active:after{content:"";height:3px;background:var(--blue);position:absolute;bottom:-35px;left:0;right:0}.prototype{margin-left:auto;color:#7c8795;font-size:11px;border:1px solid var(--border);padding:4px 10px;border-radius:20px}main{max-width:1440px;margin:auto;padding:52px 5.2% 42px;display:grid;grid-template-columns:minmax(0,1fr) 370px;column-gap:62px;align-items:start}.intro{grid-column:1;padding-bottom:37px}.eyebrow{font-size:10px;letter-spacing:2px;font-weight:600;color:#74869f}.intro .eyebrow{display:flex;align-items:center;gap:9px;color:#43658c}.eyebrow span{width:6px;height:6px;border-radius:50%;background:#2d72df}.intro h1{font-size:44px;line-height:1.42;letter-spacing:2px;margin:19px 0 16px;font-weight:600}.intro h1 span{color:#2c69d7}.intro p{color:#6c7e94;line-height:1.95;margin:0}.intro-meta{display:flex;gap:25px;margin-top:27px;font-size:10px;color:#8b96a5;letter-spacing:.4px}#platforms{grid-column:1}.section-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.section-title h2{font-size:19px;margin:3px 0 0}.section-title>span{font-size:11px;color:var(--muted)}.cards{display:grid;grid-template-columns:1fr 1fr;gap:12px}.card{background:#fff;text-align:left;border:1px solid var(--border);border-radius:10px;padding:19px;position:relative;transition:.2s;min-height:137px}.card:hover{transform:translateY(-3px);box-shadow:0 9px 24px #173b5d0c;border-color:#a5bee6}.card:focus-visible{outline:3px solid #85aafa}.card-icon{width:34px;height:34px;border-radius:8px;display:grid;place-items:center;background:#edf3ff;color:#3465b8;font:600 17px monospace;margin-bottom:12px}.card:nth-child(2) .card-icon{background:#e9f6f3;color:#328a7a}.card:nth-child(3) .card-icon{background:#f2edfa;color:#8b6db0}.card:nth-child(4) .card-icon{background:#fff3e7;color:#b98332}.card:nth-child(5) .card-icon{background:#edf1f8;color:#667897}.card h3{font-size:14px;margin:0 0 4px}.card p{font-size:11px;color:#8290a2;margin:0}.arrow{position:absolute;right:20px;top:24px;color:#8e9daf}.more{border:1px dashed #d3dce7;border-radius:10px;margin-top:12px;padding:13px 20px;display:flex;align-items:center;gap:14px;color:#718298;font-size:12px}.more>span{font-size:25px}.more small{display:block;font-size:10px;color:#94a0ae}aside{grid-column:2;grid-row:1/3;background:#fff;border:1px solid var(--border);border-radius:15px;box-shadow:0 15px 55px #18354a08;padding:31px 28px;position:sticky;top:25px;margin-top:20px}.small-label{font-size:10px;color:#8a9ab0;letter-spacing:2px}.login-top h2{font-size:23px;margin:8px 0}.login-top p{font-size:12px;color:#8994a4;margin:0}.tabs{display:flex;border-bottom:1px solid var(--border);margin:28px 0 25px;gap:24px}.tabs button{padding:0 0 12px;font-size:13px;color:#8c97a5}.tabs .selected{color:var(--blue);border-bottom:2px solid var(--blue);font-weight:600}.school-mark{display:flex;align-items:center;gap:13px;background:#f7f9fd;padding:18px 13px;border-radius:8px;margin:34px 0 24px;font-size:13px}.school-mark img{width:42px;height:42px}.school-mark small{display:block;font-size:10px;color:#8694a7;margin-top:4px}.primary{background:var(--blue);color:white;border-radius:7px;padding:12px 16px;width:100%;font-weight:500;text-align:center;box-shadow:0 4px 10px #245ed818}.primary:hover{background:#1a4fbd}.primary span{float:right}.secure{text-align:center;font-size:10px;color:#8c9aac;margin-top:14px}.school-note{font-size:12px;background:#fafbfd;border-left:2px solid #dce6f5;padding:14px;margin:31px 0}.school-note span{font-size:11px;color:#8a96a5}.register-note{border-top:1px solid var(--border);padding-top:23px;margin-top:24px;font-size:11px;color:#8b97a6;text-align:center}.register-note button{color:var(--blue);display:block;margin:7px auto 0;font-size:13px;font-weight:600}.auth-footer{font-size:10px;color:#96a2b1;margin-top:29px;text-align:center}.auth-footer span{color:#6886ad;margin-right:5px}footer{max-width:1440px;margin:0 auto;padding:22px 5.2%;border-top:1px solid var(--border);display:flex;justify-content:space-between;color:#98a2ae;font-size:10px}label{display:block;font-size:12px;margin-bottom:15px;color:#4a5f77}input,select,textarea{display:block;width:100%;background:#fff;border:1px solid #dce3ed;border-radius:6px;padding:10px 12px;margin-top:7px;outline:none;color:var(--ink);font-size:12px}input:focus,textarea:focus{border-color:#618de0;box-shadow:0 0 0 3px #245ed80b}input::placeholder,textarea::placeholder{color:#abb4c0}.password{position:relative}.password input{padding-right:53px}.eye{position:absolute;right:8px;top:9px;font-size:11px;color:#6581a8}.captcha-row{display:flex;gap:10px}.captcha-row input{min-width:0}.captcha{padding:0;margin-top:7px;flex:0 0 128px;border-radius:6px;overflow:hidden;height:43px;background:#eef3f9}canvas{width:128px;height:43px}.form-meta{display:flex;justify-content:space-between;font-size:10px;color:#9aa5b3}.form-meta button{color:var(--blue);font-size:11px}.error{font-size:12px;color:#c74e4e;min-height:1em}.error:empty{margin:9px 0}dialog{width:580px;max-width:calc(100% - 30px);border:1px solid var(--border);border-radius:16px;padding:35px 39px;box-shadow:0 30px 100px #142a4d40;color:var(--ink);max-height:90vh}dialog::backdrop{background:#10274185;backdrop-filter:blur(4px)}.close{position:absolute;right:15px;top:11px;font-size:26px;color:#93a1b1}dialog h2{font-size:24px;margin:5px 0 8px}dialog .sub{font-size:12px;color:#7e8da1;margin:0 0 23px}.steps{display:flex;gap:17px;font-size:11px;color:#9aa6b5;margin:22px 0 25px}.steps .on{color:var(--blue);font-weight:600}.two{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}.hint{font-size:10px;color:#8b99aa;margin:4px 0 12px}.optional{color:#9ca8b7;font-size:10px}.code-input{display:flex;gap:10px;align-items:end}.code-input button{background:#eff4fc;color:#3262ae;white-space:nowrap;border-radius:6px;height:39px;padding:0 12px;font-size:11px}.demo{background:#fff8e9;border:1px solid #f2e6c9;padding:10px 13px;border-radius:6px;font-size:11px;color:#9e7b36;margin:13px 0}.success-icon{background:#e7f5ef;color:#3c9578;width:62px;height:62px;border-radius:50%;display:grid;place-items:center;font-size:29px;margin:12px auto 20px}.success{text-align:center;padding:20px 0}.success p{color:#7e8da1;font-size:13px}.success .primary{margin-top:20px}.meter{display:flex;gap:4px;margin-top:7px}.meter i{height:3px;flex:1;background:#e8edf3;border-radius:2px}.meter i.on{background:#4f8bdc}.required{color:#c36b60}#toast{position:fixed;left:50%;bottom:30px;transform:translateX(-50%);background:#173452;color:white;border-radius:8px;padding:12px 22px;font-size:13px;box-shadow:0 5px 30px #0002;z-index:10;display:none;max-width:90vw}button:disabled{opacity:.55;cursor:default}[hidden]{display:none!important}@media(min-width:1500px){main{padding-top:70px;padding-bottom:65px}.intro h1{font-size:49px}}@media(max-width:1000px){main{gap:30px;grid-template-columns:minmax(0,1fr) 330px;padding:35px 4%}.intro h1{font-size:35px}.card{padding:15px}.intro-meta{gap:12px;font-size:9px}header{gap:35px;padding:0 4%}aside{padding:25px 22px}}@media(max-width:740px){header{height:85px}.brand strong{font-size:20px}.brand small{font-size:7px}.brand img{width:45px;height:45px}nav{display:none}.prototype{font-size:9px}main{display:flex;flex-direction:column;padding:30px 6%;gap:25px}.intro{padding-bottom:0}.intro h1{font-size:34px}.intro-meta{display:none}aside{position:static;width:100%;margin:0;order:2}#platforms{order:3;width:100%}.section-title>span{font-size:10px}.cards{gap:10px}.card h3{font-size:12px}.card p{font-size:10px}footer{gap:12px;flex-wrap:wrap;padding:20px 6%}dialog{padding:27px 22px}.two{grid-template-columns:1fr}.steps{gap:10px}.intro p{font-size:12px}}

/* Review revision: larger type, compact introduction, text-first platform cards. */
body{font-size:16px}header{height:105px;gap:25px}.brand{gap:25px}.university-brand{display:flex;align-items:center;gap:10px}.brand .emblem{width:62px;height:62px}.wordmark-frame{display:block;width:168px;height:32px;overflow:hidden}.brand .wordmark{width:168px;height:49px;object-fit:contain;max-width:none}.brand strong{font-size:34px;letter-spacing:2px;border-left:1px solid #dbe3ed;padding-left:25px}.prototype{font-size:12px}main{max-width:1540px;grid-template-columns:minmax(0,1fr) 405px;column-gap:42px;padding-top:35px;row-gap:20px}.intro{padding-bottom:0}.intro h1{font-size:clamp(22px,2.4vw,36px);line-height:1.4;margin:8px 0 15px;letter-spacing:0;white-space:nowrap}.intro p{font-size:16px;line-height:1.75}.section-title h2{font-size:24px}.section-title>span{font-size:14px}.card{min-height:110px;padding:23px 19px}.card h3{font-size:20px;line-height:1.5;padding-right:12px;margin-bottom:9px}.card p{font-size:14px}.arrow{right:14px;top:16px}.more{font-size:15px}.more small{font-size:13px}aside{margin-top:0;padding:29px 27px}.login-top h2{font-size:26px}.login-top p{font-size:15px}.tabs{gap:28px}.tabs button{font-size:16px}.school-mark{font-size:16px}.school-mark small{font-size:13px}.secure,.auth-footer{font-size:13px}.school-note{font-size:15px}.school-note span{font-size:14px}.register-note{font-size:14px}.register-note button{font-size:16px}label{font-size:15px}input,select,textarea{font-size:15px;padding:11px 12px}.eye{font-size:13px;top:11px}.form-meta,.form-meta button,.hint{font-size:13px}.error{font-size:14px}.optional{font-size:13px}dialog{width:640px}dialog .sub{font-size:15px}.steps{font-size:14px}.demo{font-size:13px}.code-input button{font-size:13px;height:46px}.success p{font-size:15px}.logged-in{text-align:center;padding:12px 0}.logged-in h2{font-size:23px}.logged-in p{font-size:16px;color:#6c7e94;overflow-wrap:anywhere}.local-logout{margin-top:20px;color:#657e9e;text-decoration:underline}footer{font-size:12px}
@media(min-width:1500px){.intro h1{font-size:36px}main{padding-top:40px;padding-bottom:45px}}
@media(max-width:1100px) and (min-width:741px){main{grid-template-columns:minmax(0,1fr) 355px;column-gap:24px;padding-left:3%;padding-right:3%}.cards{grid-template-columns:1fr}.card{min-height:85px;padding:16px 19px}.card h3{font-size:19px}.intro h1{font-size:24px}.brand strong{font-size:29px}}
@media(max-width:740px){header{height:90px;padding:0 5%;gap:10px}.brand{gap:12px}.brand .emblem{width:44px;height:44px}.wordmark-frame{width:100px;height:20px}.brand .wordmark{width:100px;height:29px}.brand strong{font-size:clamp(20px,4vw,28px);padding-left:12px;letter-spacing:0}.university-brand{gap:6px}.prototype{display:none}main{padding:24px 5%;gap:25px}.intro h1{font-size:clamp(20px,4.9vw,32px);white-space:nowrap}.intro p{font-size:15px}.cards{grid-template-columns:1fr}.card{min-height:95px}.card h3{font-size:20px}.card p{font-size:14px}aside{padding:25px}.two{grid-template-columns:1fr}.section-title>span{font-size:13px}dialog{padding:25px}.steps{gap:12px;font-size:13px}}
.wordmark-frame{width:240px;height:70px;overflow:visible}.brand .wordmark{width:240px;height:70px}@media(max-width:740px){.wordmark-frame{width:150px;height:44px}.brand .wordmark{width:150px;height:44px}}
/* Editorial hero: distinct from the practical system list, without adding height. */
.intro{position:relative;padding:12px 0 19px;border-bottom:1px solid #dce5ef;background:radial-gradient(ellipse at 65% 30%,#e7eef985,transparent 70%)}
.intro h1{position:relative;width:fit-content;font-family:"STKaiti","KaiTi","楷体","Kaiti SC",serif;font-weight:600;font-size:clamp(25px,2.9vw,41px);letter-spacing:1px;line-height:1.3;color:#254c73;margin:0 0 17px;isolation:isolate}
.intro h1:after{content:"";position:absolute;z-index:-1;left:48%;right:4%;bottom:0;height:9px;border-radius:65% 25% 55% 35%;background:linear-gradient(90deg,#8bafd733,#6f9ec45c);transform:rotate(-1.5deg)}
.intro h1 span{color:#7d9bb7}.intro p{color:#7f90a4;font-size:15px;line-height:1.8;margin:0}
@media(min-width:1500px){.intro h1{font-size:41px}}
@media(max-width:1100px) and (min-width:741px){.intro h1{font-size:26px;letter-spacing:0}}
@media(max-width:740px){.intro{padding:6px 0 17px;width:100%}.intro h1{font-size:clamp(22px,5.2vw,35px);letter-spacing:0;margin-bottom:12px}.intro p{font-size:14px}}
/* More spacious platform wordmark. */
.brand strong{font-size:38px;letter-spacing:6px;font-weight:600;line-height:1.35;padding-left:30px;color:#183a60;white-space:nowrap}
@media(max-width:1100px) and (min-width:741px){.brand strong{font-size:34px;letter-spacing:5px;padding-left:24px}}
@media(max-width:740px){.brand strong{font-size:clamp(20px,4.3vw,30px);letter-spacing:2px;padding-left:12px}}
@media(max-width:400px){.brand{gap:8px}.wordmark-frame{width:125px;height:37px}.brand .wordmark{width:125px;height:37px}.brand strong{font-size:20px;letter-spacing:1.5px;padding-left:9px}}

.captcha img{width:128px;height:46px;display:block}.form-captcha{display:flex;gap:10px;align-items:center}.form-captcha input{min-width:0}.form-captcha button{flex:0 0 128px;padding:0;margin-top:7px;height:46px}.form-captcha img{width:128px;height:46px}.account-message{font-size:14px;color:#7d8ea3}.muted-button{display:block;margin:14px auto;color:#637c9e}.loading{pointer-events:none;opacity:.6}
