:root{--night:#14233f;--paper:#fff2d9;--gold:#ffcf62;--muted:#8fa4c0;--line:#d6e2f120}*{box-sizing:border-box}[hidden]{display:none!important}body{margin:0;background:radial-gradient(ellipse at 25% 50%,#30456970,transparent 48%),var(--night);color:var(--paper);font:14px "Microsoft YaHei","PingFang SC",sans-serif;min-height:100vh}button,input,select{font:inherit}button,a{ -webkit-tap-highlight-color:transparent}a{color:#dfc48c;text-decoration:none}a:hover{text-decoration:underline}button{cursor:pointer}button:disabled{opacity:.5;cursor:wait}input:focus-visible,button:focus-visible,a:focus-visible{outline:2px solid var(--gold);outline-offset:3px}.auth-page{position:relative}.star-layer{position:fixed;inset:0;pointer-events:none;z-index:-1;background-image:radial-gradient(1px 1px at 9% 19%,#d9e6ff99 70%,transparent),radial-gradient(1px 1px at 29% 67%,#d9e6ff77 70%,transparent),radial-gradient(1.5px 1.5px at 63% 14%,#e6e9fa88 70%,transparent),radial-gradient(1px 1px at 78% 73%,#d9e6ff55 70%,transparent),radial-gradient(1.5px 1.5px at 89% 32%,#ffeecc88 70%,transparent);background-size:330px 290px;animation:quiet-stars 4.8s ease-in-out infinite alternate}.auth-brand{max-width:1220px;margin:auto;padding:33px 30px;display:flex;align-items:center;gap:10px;border-bottom:1px solid #e1e9fc16;font-weight:800;letter-spacing:1px}.auth-brand img{width:37px;height:37px}.auth-brand small{display:block;font:7px Arial,sans-serif;letter-spacing:2.3px;color:#8fa4c0;margin-top:5px}.auth-brand>span{margin-left:auto;font-size:11px;font-weight:400;letter-spacing:2px;color:#a7b9cf}.auth-layout{max-width:1120px;margin:36px auto 10px;display:grid;grid-template-columns:1fr 430px;gap:65px;align-items:center;padding:10px 30px}.auth-story{padding-top:18px}.eyebrow{color:#c6ad78;letter-spacing:3px;font:9px Arial,sans-serif}.auth-story h1{font-size:42px;line-height:1.5;letter-spacing:1px;margin:17px 0 12px}.auth-story h1 span{color:var(--gold)}.auth-story>p{font-size:12px;color:#95abc6;line-height:2.1}.login-art{position:relative;width:340px;height:360px;margin:8px 0 0 42px}.login-art>img{position:relative;width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 16px 25px #07112530)}.orbit{position:absolute;inset:30px -20px;border:1px dashed #d6c39630;border-radius:50%;transform:rotate(-22deg)}.art-note{display:block;font-size:10px;letter-spacing:2px;color:#7089aa;margin:2px 0 0 86px}.auth-card{background:#1b2d48d9;border:1px solid #c9d5e223;border-radius:18px;padding:35px 34px;box-shadow:0 25px 100px #06122725}.card-kicker{font:9px Arial,sans-serif;letter-spacing:2.4px;color:#c7ac75}.auth-card h2{font-size:25px;letter-spacing:.4px;margin:15px 0 11px}.card-description{font-size:11px;color:#91a8c5;line-height:1.9;margin:0 0 25px}.auth-field{display:block;margin:17px 0}.auth-field>span{font-size:11px;color:#b4c5da;display:block;margin-bottom:9px}.auth-field input{width:100%;padding:12px 13px;border:1px solid #c1cfe329;border-radius:8px;color:#e2e9f3;background:#13243d;line-height:1.6;min-width:0}.auth-field input::placeholder{color:#647e9e}.auth-field small{display:block;font-size:10px;line-height:1.9;color:#7a93b3;margin-top:6px}.gold-button{border:1px solid var(--gold);background:var(--gold);color:#25334b;border-radius:8px;padding:12px 16px;font-size:12px;font-weight:700;width:100%;margin-top:9px}.form-error{font-size:11px;color:#efaaa1;line-height:1.9;min-height:20px;margin:12px 0 5px;white-space:pre-line}.auth-foot{border-top:1px solid #ffffff12;margin-top:25px;padding-top:17px;font-size:10px;color:#7791b2;line-height:2}.auth-foot a{display:block;margin-top:8px}.auth-footer{text-align:center;color:#627f9f;font-size:10px;letter-spacing:1px;padding:24px 20px 30px}.muted{font-size:12px;color:#91a8c5;line-height:1.9}.admin-wrap{max-width:1120px;margin:28px auto;padding:0 30px 50px}.admin-top{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:24px}.admin-top h1{font-size:27px;margin:0 0 10px}.admin-top p{font-size:12px;color:#8da3c0;margin:0;line-height:1.9}.admin-links{display:flex;gap:16px;align-items:center;font-size:11px;flex-wrap:wrap}.plain-button{border:1px solid #bdcfe233;background:#ffffff04;color:#c9b582;padding:8px 12px;border-radius:7px;font-size:11px}.admin-columns{display:grid;grid-template-columns:320px 1fr;gap:22px;align-items:start}.panel{background:#1b2c46;border:1px solid #c1d1e223;border-radius:13px;padding:23px;min-width:0}.panel h2{font-size:17px;margin:0 0 9px}.panel>p{font-size:11px;line-height:1.9;color:#8ba2c1}.teacher-card{border:1px solid #b9ccdf25;border-radius:10px;padding:17px;margin:16px 0;background:#15253e}.teacher-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.teacher-head strong{font-size:14px}.teacher-head small{display:block;font-size:10px;color:#7e97b7;margin-top:5px}.status{font-size:9px;color:#d0b982;border:1px solid #d0b98250;padding:3px 8px;border-radius:20px;white-space:nowrap}.status.disabled{color:#d9948d;border-color:#d9948d50}.teacher-actions{display:flex;gap:9px;margin-top:16px;flex-wrap:wrap}.devices{margin-top:14px;padding-top:10px;border-top:1px solid #ffffff10}.device{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:8px 0;font-size:11px;color:#a6bad3}.device small{display:block;color:#6d87a9;font-size:9px;margin-top:4px}.device button{font-size:10px;padding:5px 8px}.audit-panel{margin-top:23px}.audit-row{display:flex;gap:15px;padding:11px 0;border-bottom:1px solid #ffffff0d;font-size:11px;line-height:1.7;color:#a2b5cd}.audit-row time{flex:none;font-size:9px;color:#728caa;width:135px}.admin-message{font-size:11px;line-height:1.9;min-height:20px;color:#dfbd7a}.auth-dialog{background:#1b2c46;color:#fff2d9;border:1px solid #c3b07b66;border-radius:13px;width:min(430px,92vw);padding:25px}.auth-dialog::backdrop{background:#030c1bbf;backdrop-filter:blur(4px)}.auth-dialog h2{font-size:18px}.dialog-buttons{display:flex;gap:12px;align-items:center}.dialog-buttons .gold-button{flex:1}.dialog-buttons .plain-button{margin-top:9px}.wait-page{display:grid;place-items:center;min-height:100vh;text-align:center}.wait-page img{width:110px;height:110px;object-fit:contain}.wait-page h1{font-size:22px}.wait-page p{font-size:12px;color:#8fa5c1}@keyframes quiet-stars{to{opacity:.38}}@media(max-width:850px){.auth-layout{grid-template-columns:1fr 390px;gap:20px;margin-top:20px}.auth-story h1{font-size:31px}.login-art{width:245px;height:280px;margin-left:0}.art-note{margin-left:12px}.auth-card{padding:27px}.admin-columns{grid-template-columns:1fr}.admin-top{align-items:flex-start}.panel{padding:20px}}@media(max-width:650px){.auth-brand{padding:23px 22px;font-size:12px}.auth-brand img{width:31px;height:31px}.auth-brand small{font-size:5px;letter-spacing:1.4px}.auth-brand>span{font-size:9px;letter-spacing:0}.auth-layout{display:block;margin:12px auto 0;padding:0 23px;max-width:470px}.auth-story{padding:17px 0 10px;position:relative}.auth-story h1{font-size:26px;line-height:1.6;margin:11px 0}.auth-story>p,.login-art,.art-note{display:none}.auth-story .eyebrow{font-size:8px}.auth-card{padding:27px 24px;border-radius:14px;margin-top:12px}.auth-card h2{font-size:22px}.auth-footer{font-size:8px;padding:23px 18px}.admin-wrap{padding:0 20px 35px}.admin-top{display:block}.admin-top h1{font-size:23px}.admin-links{margin-top:18px}.audit-row{display:block}.audit-row time{display:block;margin-bottom:4px}.device{flex-wrap:wrap}}@media(prefers-reduced-motion:reduce){.star-layer{animation:none}}

.auth-brand img.official-logo{width:216px;height:auto;background:#fffdf8;padding:7px 9px;border-radius:9px;box-sizing:border-box;}@media(max-width:650px){.auth-brand img.official-logo{width:158px;padding:5px 7px;border-radius:7px}}

.auth-brand img.official-logo{width:270px;height:auto;background:transparent;padding:0;border-radius:0;box-shadow:none}@media(max-width:650px){.auth-brand img.official-logo{width:200px;padding:0;border-radius:0}}

.auth-brand img.official-logo{width:226px;height:auto;opacity:.96}@media(max-width:650px){.auth-brand img.official-logo{width:177px}}

/* ICP filing footer */
.icp-link{color:#9daec7;font-size:10px;letter-spacing:.2px;line-height:1.8;text-decoration:none}.icp-link:hover{text-decoration:underline}.icp-link:focus-visible{outline:1px solid #e5cc92;outline-offset:3px}.icp-footer{text-align:center;margin:8px 0 0}.auth-footer .icp-link{display:inline-block;margin-top:5px}
