:root{--ink:#142033;--muted:#64748b;--brand:#0b78ff;--green:#13a06f;--red:#d64545;--line:#dfe8f1;--card:rgba(255,255,255,.88)}*{box-sizing:border-box}body{margin:0;font-family:"Microsoft YaHei",sans-serif;color:var(--ink);background:radial-gradient(circle at top left,#cfe9ff 0,transparent 34%),radial-gradient(circle at bottom right,#dff6e8 0,transparent 30%),#f4f8fc}.shell{max-width:1240px;margin:0 auto;padding:34px 22px}.topbar{display:grid;grid-template-columns:1fr auto;gap:24px;align-items:center;margin-bottom:22px}.eyebrow{margin:0;color:var(--brand);font-weight:900;letter-spacing:.14em}.topbar h1{font-size:46px;margin:8px 0}.topbar p{color:var(--muted);font-size:17px}.account-box,.panel,.stats>div{border:1px solid var(--line);background:var(--card);box-shadow:0 18px 70px rgba(34,71,109,.12);backdrop-filter:blur(16px);border-radius:28px}.login-inline{display:grid;grid-template-columns:1fr 1fr auto;gap:10px;padding:16px}.hidden{display:none!important}input,textarea,select{width:100%;border:1px solid var(--line);border-radius:16px;padding:13px 15px;margin:8px 0;background:#fff;font-size:15px}textarea{min-height:92px;resize:vertical}button{border:0;border-radius:15px;background:var(--brand);color:#fff;padding:12px 16px;font-weight:800;cursor:pointer}.secondary,.actions button{background:#eaf3ff;color:var(--brand)}.dashboard{display:block}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:16px}.stats>div{padding:22px}.stats b{display:block;font-size:36px}.stats span{color:var(--muted)}.panel{padding:22px;margin-bottom:16px}.panel-head{display:flex;justify-content:space-between;gap:16px;align-items:center;margin-bottom:12px}.panel-head h2{margin:0}.panel-head span,.meta{color:var(--muted);font-size:13px;line-height:1.7}.project-form{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.project-form textarea{grid-column:span 3}.project-form button{grid-column:span 3}.main-grid{display:grid;grid-template-columns:380px 1fr;gap:16px}.compact-form{display:grid;gap:4px}.item{border:1px solid var(--line);border-radius:20px;padding:15px;margin:12px 0;background:#fbfdff}.teacher-item{display:flex;justify-content:space-between;gap:12px}.project-item{display:grid;grid-template-columns:180px 1fr;gap:18px}.cover{width:180px;height:130px;object-fit:cover;border-radius:18px;background:#eaf0f6}.empty-cover{display:flex;align-items:center;justify-content:center;color:var(--muted)}.project-body p{color:#40526a}.actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.actions button{padding:8px 11px}.wide{min-width:0}@media(max-width:900px){.topbar,.main-grid,.project-form,.stats,.project-item{grid-template-columns:1fr}.login-inline{grid-template-columns:1fr}.project-form textarea,.project-form button{grid-column:span 1}.cover{width:100%;height:180px}}
.page-actions{display:flex;gap:10px;align-items:center;padding:16px}.account-box a,.panel a{display:inline-block;text-decoration:none}.teacher-row{display:flex;justify-content:space-between;gap:16px;align-items:center}.teacher-row>div:first-child{min-width:0}
.hint{font-size:12px;color:var(--muted);margin-top:-2px;margin-bottom:6px}.panel select[multiple]{min-height:140px}
.actions button.danger{background:#fff1f1;color:var(--red)}
