/* Student area (homework board) — the plain, mobile-first base every pack builds on.
   A pack may override any of these class names at the end of its own site.css. */
.hw{max-width:660px;padding-top:clamp(28px,7vw,56px);padding-bottom:clamp(40px,9vw,80px)}
.hw__head{margin:0 0 22px}
.hw__title{margin:0 0 6px;font-family:var(--font-head);font-size:clamp(1.6rem,6vw,2.1rem);line-height:1.15}
.hw__lead{margin:0;max-width:46ch;line-height:1.6;opacity:.85}
.hw__who{margin:0;display:flex;flex-wrap:wrap;gap:6px 14px;align-items:baseline;font-size:.96rem}
.hw__out{margin-left:auto;font-size:.9rem;text-decoration:underline;text-underline-offset:3px}

/* --- the code form --- */
.hw-login{margin:0}
.hw-login__card{border:1px solid rgba(0,0,0,.12);border-radius:14px;padding:clamp(18px,5vw,28px);background:rgba(255,255,255,.55)}
.hw-login__title{margin:0 0 14px;font-family:var(--font-head);font-size:1.15rem}
.hw-field{margin:0 0 16px}
.hw-field__label{display:block;margin:0 0 6px;font-size:.9rem;font-weight:600}
.hw-field__input{width:100%;box-sizing:border-box;padding:14px 16px;font:inherit;font-size:1.25rem;
  letter-spacing:.2em;text-transform:uppercase;border:1px solid rgba(0,0,0,.35);border-radius:10px;background:#fff;color:#111}
.hw-field__input:focus-visible{outline:3px solid var(--brand);outline-offset:1px}
.hw-login__submit{width:100%}
.hw-error{margin:0 0 14px;padding:11px 13px;border-radius:9px;background:rgba(180,35,24,.1);color:#8d1d14;font-size:.95rem}
.hw-note{margin:22px 0 0;font-size:.88rem;line-height:1.6;opacity:.75}

/* --- the list --- */
.hw-list{list-style:none;margin:0;padding:0;display:grid;gap:14px}
.hw-item{border:1px solid rgba(0,0,0,.12);border-radius:14px;padding:clamp(16px,4.5vw,22px);background:rgba(255,255,255,.55)}
.hw-item__head{margin:0 0 10px}
.hw-item__title{margin:0 0 4px;font-family:var(--font-head);font-size:1.12rem;line-height:1.3}
.hw-item__due{margin:0;display:flex;flex-wrap:wrap;gap:4px 12px;font-size:.86rem;opacity:.8}
.hw-item__for{font-weight:600;opacity:1}
.hw-item__body{font-size:.98rem;line-height:1.62}
.hw-item__body h2,.hw-item__body h3,.hw-item__body h4{margin:14px 0 6px;font-size:1rem;line-height:1.35}
.hw-item__body ul,.hw-item__body ol{margin:8px 0;padding-left:20px}
.hw-item__body li+li{margin-top:4px}
.hw-item__body :first-child{margin-top:0}
.hw-item__body :last-child{margin-bottom:0}
.hw-item__img{margin:12px 0 0}
.hw-item__img img{width:100%;height:auto;border-radius:10px;display:block}
.hw-mark{margin:14px 0 0;display:inline-flex;gap:8px;align-items:center;padding:6px 12px;border-radius:999px;
  font-size:.86rem;font-weight:600;border:1px solid rgba(0,0,0,.14)}
.hw-mark__sign{font-size:1rem;line-height:1}
.hw-mark--done{background:rgba(21,128,61,.12);color:#15803d;border-color:rgba(21,128,61,.3)}
.hw-mark--not-done{background:rgba(180,35,24,.1);color:#a3261c;border-color:rgba(180,35,24,.28)}
.hw-mark--unmarked{opacity:.75;font-weight:500}
.hw-empty{margin:0;padding:26px 18px;text-align:center;border:1px dashed rgba(0,0,0,.2);border-radius:14px;line-height:1.6}
