.classwork-editor { min-width:0; margin:24px 0 30px; padding:28px; border:1px solid var(--ks-d5e4d7); border-radius:22px; background:var(--ks-fffdf8); color:var(--kt-2e483b); }
.classwork-heading { display:flex; justify-content:space-between; align-items:flex-start; gap:18px; }
.classwork-kicker { color:var(--kt-65815d); font-size:11px; letter-spacing:.7px; line-height:1.5; font-weight:700; margin:0 0 9px; }
.classwork-heading h2 { font:900 30px/1.25 KahierNunito,Roboto,sans-serif; color:var(--kt-294839); margin:0 0 12px; }
.classwork-heading p:not(.classwork-kicker) { font-size:17px; line-height:1.7; margin:0; max-width:68ch; }
.classwork-level { display:inline-flex; padding:9px 14px; border:1px solid var(--ks-cbdcc7); border-radius:11px; background:var(--ks-eaf2e4); color:var(--kt-486c40); font-size:15px; font-weight:700; white-space:nowrap; }
.classwork-editor .classwork-note { font-size:14px; line-height:1.7; color:var(--kt-667360); margin:18px 0; max-width:78ch; }
.classwork-editor .classwork-feedback:empty { display:none; }
.classwork-feedback { margin:18px 0; }
.classwork-feedback p { padding:14px 17px; border-radius:12px; font-size:16px; line-height:1.65; }
.classwork-error { color:var(--ktk-8c3f2c); background:var(--ksk-fff0e5); border:1px solid var(--ksk-e4bca8); }
.classwork-success { color:var(--ktk-355f43); background:var(--ksk-edf5e6); border:1px solid var(--ksk-c3d6b9); }
.classwork-editor button { min-height:48px; padding:12px 17px; border:1px solid var(--ks-b5cbb0); border-bottom:3px solid var(--ks-cadcc0); border-radius:12px; background:var(--ks-f0f6e9); color:var(--kt-3c643e); font:700 16px/1.4 KahierNunito,Roboto,sans-serif; cursor:pointer; }
.classwork-editor button:disabled { opacity:.55; cursor:default; }
.classwork-current { margin:24px 0; }
.classwork-editor .classwork-current>h3,.classwork-editor .classwork-picker>h3 { font:900 24px/1.35 KahierNunito,Roboto,sans-serif; color:var(--kt-36563d); margin:0 0 15px; }
.classwork-editor .classwork-empty { font-size:16px; line-height:1.75; padding:20px; border:1px dashed var(--ks-c6d7bf); background:var(--ks-f7faf2); border-radius:14px; }
.classwork-selection { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:13px; list-style:none; margin:0; padding:0; }
.classwork-selection>li { display:flex; flex-direction:column; justify-content:space-between; align-items:flex-start; gap:15px; padding:19px; border:1px solid var(--ks-d7e5ce); border-radius:16px; background:var(--ks-f4f9ef); min-width:0; }
.classwork-selection h3 { font:900 21px/1.4 KahierNunito,Roboto,sans-serif; margin:10px 0; color:var(--kt-33533b); overflow-wrap:anywhere; }
.classwork-selection p { font-size:14px; line-height:1.65; color:var(--kt-62745b); margin:8px 0; }
.classwork-badge { display:inline-flex; padding:5px 9px; font-size:12px; font-weight:700; line-height:1.5; border-radius:8px; background:var(--ks-deebd4); color:var(--kt-41633a); }
.classwork-badge-seen { background:var(--ks-f3e6cb); color:var(--kt-796032); }
.classwork-badge-upcoming { background:var(--ks-f5ece4); color:var(--kt-8b664c); }
.classwork-links { display:flex; flex-wrap:wrap; gap:6px 18px; margin-top:8px; }
.classwork-links a { display:inline-flex; align-items:center; min-height:44px; font-size:15px; line-height:1.5; font-weight:600; color:var(--kt-3c6543); text-decoration:underline; }
.classwork-other { padding:0 18px 18px; margin:15px 0; background:var(--ks-fff); border:1px solid var(--ks-dce5d4); border-radius:15px; }
.classwork-other summary { min-height:48px; padding:15px 0; font-size:17px; line-height:1.6; font-weight:700; color:var(--kt-4e6943); cursor:pointer; }
.classwork-other:not([open]) { padding-bottom:0; }
.classwork-picker { margin-top:26px; padding-top:25px; border-top:1px dashed var(--ks-cdddc5); }
.classwork-picker>label { display:block; font-size:16px; font-weight:600; line-height:1.7; margin:0 0 7px; }
.classwork-picker input,.classwork-picker select { width:100%; min-width:0; min-height:50px; padding:12px 13px; border:1px solid var(--ks-b2c3aa); border-radius:11px; background:var(--ks-fff); color:var(--kt-344c3a); font:400 17px/1.4 Roboto,sans-serif; }
.classwork-picker input[type=search] { max-width:620px; }
.classwork-search-count { font-size:14px; line-height:1.6; color:var(--kt-66795b); margin:13px 0; }
.classwork-search-results { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; margin:12px 0 22px; padding:0; list-style:none; }
.classwork-search-results button { display:flex; flex-direction:column; gap:7px; width:100%; height:100%; text-align:left; background:var(--ks-fff); }
.classwork-search-results strong { font:800 17px/1.5 KahierNunito,Roboto,sans-serif; overflow-wrap:anywhere; }
.classwork-search-results small { font:400 13px/1.6 Roboto,sans-serif; color:var(--kt-6b7c60); }
.classwork-picker fieldset { padding:0; margin:24px 0 0; border:0; min-width:0; }
.classwork-picker legend { font:800 20px/1.5 KahierNunito,Roboto,sans-serif; margin:0 0 15px; padding:0; }
.classwork-fields { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
.classwork-fields label { display:block; min-width:0; font-size:16px; line-height:1.65; font-weight:600; }
.classwork-fields select { margin-top:7px; text-overflow:ellipsis; }
.classwork-editor .classwork-save { display:inline-flex; align-items:center; justify-content:center; min-height:50px; min-width:170px; background:var(--ks-365f47); border-color:var(--ks-2b5139); color:var(--kt-fff); }
.classwork-editor :is(button,input,select,a,summary):focus-visible { outline:3px solid var(--ks-bd6a4d); outline-offset:4px; }
@media(max-width:680px) {
  .classwork-editor { padding:23px 17px; margin:20px 0; border-radius:19px; }
  .classwork-heading { flex-direction:column-reverse; gap:12px; }
  .classwork-heading h2 { font-size:27px; }
  .classwork-heading p:not(.classwork-kicker) { font-size:16px; }
  .classwork-selection,.classwork-fields,.classwork-search-results { grid-template-columns:1fr; }
  .classwork-selection>li { padding:18px 15px; }
  .classwork-editor .classwork-save { width:100%; }
  .classwork-picker input,.classwork-picker select { font-size:16px; }
  .classwork-other { padding-left:13px; padding-right:13px; }
}
@media(prefers-reduced-motion:reduce) { .classwork-editor * { transition:none !important; animation:none !important; scroll-behavior:auto !important; } }
