:root {
  --pri: var(--u2-accent); --pri2: var(--u2-accent); --pri-glow: var(--u2-focus);
  --bg: var(--u2-bg); --surface: var(--u2-surface); --card: var(--u2-surface);
  --text: var(--u2-fg); --text-bright: var(--u2-fg); --sub: var(--u2-muted);
  --border: var(--u2-border); --border-hover: oklch(78% 0.028 290);
  --success: var(--u2-success); --danger: var(--u2-danger); --warn: var(--u2-warning);
  --radius: var(--u2-radius-panel); --radius-sm: var(--u2-radius-control);
  --transition: background-color .18s ease, border-color .18s ease, color .18s ease;
  --font: var(--u2-sans); color-scheme: light;
}
html,body{overflow-x:hidden;background:var(--u2-bg);color:var(--u2-fg)}body::before{display:none}
header{min-height:72px;height:auto;padding:14px max(24px,calc((100vw - 1180px)/2));background:color-mix(in oklch,var(--u2-bg) 94%,transparent);border-color:var(--u2-border);backdrop-filter:blur(14px)}
header h1{color:var(--u2-fg);font-size:17px}header a{min-height:40px;display:inline-flex;align-items:center;color:var(--u2-muted)}header a:hover{color:var(--u2-accent);background:oklch(94% .012 294)}header nav{min-width:0}
#userInfo{min-width:0;max-width:240px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
main,#mainSection{width:min(1180px,calc(100% - 48px));max-width:none;margin:0 auto;padding:42px 0 72px}#mainSection{min-height:calc(100vh - 145px)}
h2{margin-bottom:22px;color:var(--u2-fg);font:700 34px/1.15 var(--u2-serif);letter-spacing:-.02em}.grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px}
.card{min-height:190px;padding:24px;display:flex;flex-direction:column;background:var(--u2-surface)!important;border:1px solid var(--u2-border)!important;border-radius:var(--u2-radius-panel)!important;box-shadow:none!important;transform:none!important}.card::before{display:none}.card:hover,.card:focus-visible{border-color:var(--u2-accent)!important;transform:none}.card h3{color:var(--u2-fg);font:700 23px/1.25 var(--u2-serif)}.card .desc{flex:1;color:var(--u2-muted);font-size:13px}.card .meta{padding-top:14px;border-top:1px solid var(--u2-border);color:var(--u2-muted)}
.login-box{max-width:430px;margin:86px auto;padding:34px;background:var(--u2-surface);border:1px solid var(--u2-border);border-radius:var(--u2-radius-panel);text-align:left}.login-box h2{font:700 34px/1.15 var(--u2-serif)}
.login-box input,.modal input,.modal textarea,.grade-box input{min-height:44px;color:var(--u2-fg);background:var(--u2-surface);border:1px solid var(--u2-border);border-radius:var(--u2-radius-control);text-align:left}.login-box input:focus,.modal input:focus,.modal textarea:focus{border-color:var(--u2-accent);box-shadow:0 0 0 3px var(--u2-focus)}
.btn,.btn-s{min-height:40px;border-radius:var(--u2-radius-control);box-shadow:none!important;transform:none!important}.btn1,.btn-g{color:white;background:var(--u2-accent)}.btn2,.btn3,.btn4{color:var(--u2-fg);background:var(--u2-surface);border:1px solid var(--u2-border)}.btn:hover,.btn-s:hover{transform:none}
.assignment{padding:20px;background:var(--u2-surface);border-color:var(--u2-border);border-radius:0;box-shadow:none}.assignment h4,.modal h3{color:var(--u2-fg)}.modal-o{background:oklch(18% .02 285/.45);backdrop-filter:none}.modal{background:var(--u2-surface);border:0;border-radius:var(--u2-radius-panel);box-shadow:var(--u2-shadow-dialog)}.hw-zone{background:var(--u2-bg);border-color:var(--u2-border)}
.empty{margin-top:30px;padding:56px 20px;border:1px dashed var(--u2-border);border-radius:var(--u2-radius-panel);color:var(--u2-muted)}footer{color:var(--u2-muted);border-color:var(--u2-border)}
@media(max-width:640px){header{padding:12px 14px}header h1{font-size:15px}header a{padding:6px;font-size:12px}#userInfo{max-width:78px}#logoutBtn{padding:6px 8px!important}main,#mainSection{width:calc(100% - 28px);padding:28px 0 56px}h2{font-size:29px}.grid{grid-template-columns:1fr}.card{min-height:170px}.login-box{margin:42px auto;padding:26px 22px}#backBtn{top:auto!important;left:14px!important;bottom:18px}}
