:root{--ink:#102c2a;--muted:#6c7975;--green:#167466;--line:#dbe4df;--paper:#f7f8f4}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:15px/1.7 -apple-system,BlinkMacSystemFont,"Segoe UI","Microsoft YaHei",sans-serif}header{max-width:1380px;margin:auto;padding:26px 6%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.brand{color:var(--ink);font-size:29px;letter-spacing:-2px;font-weight:900;text-decoration:none}.brand span{color:var(--green)}.brand small{font-size:10px;letter-spacing:3px;margin-left:12px;vertical-align:middle}.tag{border:1px solid var(--line);padding:6px 14px;border-radius:30px;font-size:12px;color:var(--muted)}main{max-width:1380px;margin:auto}.hero{display:grid;grid-template-columns:1.25fr .8fr;gap:10%;padding:72px 6% 66px;align-items:center}.eyebrow{font-size:10px;letter-spacing:2px;font-weight:800;color:var(--green)}h1{font-size:clamp(38px,4.8vw,65px);line-height:1.25;letter-spacing:-2px;margin:22px 0}p{color:var(--muted)}.intro>p{font-size:16px}.features{display:flex;flex-wrap:wrap;gap:10px;margin:28px 0}.features span{font-size:12px;border-left:2px solid #a2c5b6;padding-left:10px}.path{border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;gap:16px;padding:20px 0;margin:35px 0}.path b{font-size:11px;color:var(--green)}.path span{display:block;font-size:13px;color:var(--ink);margin-top:3px}.path i{color:#bbc9c1;align-self:center}.intro .disclosure{font-size:11px;max-width:470px}.login-card{background:white;border:1px solid var(--line);border-radius:22px;padding:38px;box-shadow:0 20px 70px #133f2310}.dot{width:9px;height:9px;background:#8dab57;border-radius:50%;margin-bottom:25px}.login-card h2{font-size:25px;letter-spacing:-.8px;margin:0 0 8px}.login-card p{font-size:13px;margin:0 0 26px}.login-card small{display:block;font-size:11px;color:var(--muted);line-height:1.8;margin-top:22px}label{display:block;font-weight:650;font-size:12px;margin-bottom:8px}input,select{font:inherit;border:1px solid #cbd9d0;background:#fbfcfa;border-radius:8px;padding:13px;color:var(--ink);max-width:100%}input:focus,button:focus-visible,select:focus{outline:3px solid #a6d7c5;outline-offset:2px}.login-card input{width:100%;margin-bottom:14px}.primary{width:100%;display:flex;justify-content:space-between;background:var(--green);color:white;border:0;padding:14px 18px;border-radius:8px;font-weight:700}.primary:hover{background:#0a5d50}button{font:inherit;cursor:pointer;border:1px solid var(--line);border-radius:8px;background:white;padding:9px 15px;color:var(--ink)}button:disabled{cursor:wait;opacity:.6}#loginMessage,#workMessage{font-size:13px;line-height:1.6;margin-top:14px;white-space:pre-line}.error{color:#ad463a}.success{color:var(--green)}.overview{margin:0 6% 65px;border-top:1px solid var(--line);padding-top:34px;display:grid;grid-template-columns:1.2fr repeat(3,1fr);gap:25px}.overview h2{font-size:23px;margin-top:12px}.overview article{border-left:1px solid var(--line);padding-left:25px}.overview article>b{font:italic 25px Georgia,serif;color:#82a293}.overview h3{font-size:15px}.overview p{font-size:12px}footer{border-top:1px solid var(--line);padding:20px 6%;display:flex;justify-content:space-between;font-size:11px;color:var(--muted)}[hidden]{display:none!important}.workspace-head{display:flex;justify-content:space-between;gap:25px;align-items:center;padding:30px 5%}.workspace-head h1{font-size:30px;letter-spacing:-.7px;margin:10px 0}.workspace-head p{font-size:13px;margin:0}.actions{display:flex;flex-wrap:wrap;gap:8px}#enter{background:var(--green);color:white}.notice{margin:25px 5% 60px;background:#fff;border:1px solid var(--line);border-radius:18px;text-align:center;padding:45px}.notice>span{color:var(--green);font-size:42px}.notice h2{font-size:23px}.notice p{font-size:14px}#admin{margin:15px 5% 40px}.admin-title{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.admin-title h2{margin-right:auto;font-size:21px}.muted{font-size:12px}#students{border:1px solid var(--line);border-radius:12px;background:#fff;overflow:hidden}.student{display:flex;justify-content:space-between;gap:16px;align-items:center;padding:18px;border-bottom:1px solid var(--line)}.student:last-child{border:0}.student b{font-size:14px;overflow-wrap:anywhere}.student small{display:block;color:var(--muted);font-size:11px}.student .actions button{font-size:12px}.empty{padding:35px;text-align:center;color:var(--muted)}#workMessage{margin:0 5% 20px}#course{border:0;width:100%;height:calc(100vh - 170px);min-height:650px;display:block}body:has(#course:not([hidden])) footer{display:none}@media(max-width:800px){header{padding:19px 5%}.hero{grid-template-columns:1fr;gap:30px;padding:40px 5%}.intro h1{font-size:43px}.login-card{padding:28px}.path{margin:24px 0}.overview{grid-template-columns:1fr;gap:12px}.overview article{padding:15px 0 15px 20px}.workspace-head{display:block;padding:22px 5%}.workspace-head .actions{margin-top:20px}.student{align-items:flex-start;flex-direction:column}.admin-title input{width:100%}#course{height:calc(100vh - 210px);min-height:520px}}

.auth-tabs{display:flex;gap:8px;margin-bottom:18px}.auth-tabs button{flex:1;font-size:13px}.auth-tabs [aria-pressed=true]{background:var(--green);color:white}#registerByEmail{margin-top:12px;width:100%;font-size:12px}.password-panel{margin:20px 5%;padding:24px;background:white;border:1px solid var(--line);border-radius:16px}.password-panel input{display:block;width:360px;margin-bottom:16px}

.browse-button{background:transparent;border:1px solid #b9d2c7;padding:13px 20px;border-radius:100px;margin:12px 0 0;font-weight:600;transition:background .3s,transform .3s}.browse-button:hover{background:#e8f1ec;transform:translateY(-2px)}.browse-button span{margin-left:18px}.login-card{transition:box-shadow .3s}.login-card:hover{box-shadow:0 24px 80px #133f2315}
