.family-hw-status{display:inline-block;background:#e6f1ea;color:#245e42;border-radius:20px;padding:6px 12px;font-weight:700}.family-hw-form{display:grid;gap:14px}.family-hw-form label{display:grid;gap:8px}.family-upload{border:2px dashed #b5c9bd;border-radius:14px;padding:16px;background:#f7faf7}.family-upload.is-over{border-color:#315f49;background:#e6f1ea}.family-upload input{max-width:100%;margin-top:8px}.family-files{display:grid;gap:8px}.family-file{display:flex;gap:8px;align-items:center;margin:7px 0}.family-file button:first-child{flex:1;text-align:left;overflow-wrap:anywhere}.family-review{padding:16px;border-left:4px solid #315f49;background:#edf4ee;border-radius:8px}.family-review p,.family-response,.family-attempts p{white-space:pre-wrap;overflow-wrap:anywhere}.family-attempts{margin-top:18px}.family-attempts summary{cursor:pointer;padding:10px 0;font-weight:700}.family-attempts section{padding:16px 0;border-top:1px solid #dfe4dc}[data-error]{color:#a32929}.family-hw-form :focus-visible,.family-attempts :focus-visible{outline:3px solid #7da98b;outline-offset:2px}@media(max-width:600px){.family-file{align-items:stretch}.family-upload{padding:12px}.family-file button{padding:10px;font-size:13px}}
.homework-summary-panel{align-self:stretch;min-width:0;display:flex;flex-direction:column}.homework-summary{display:grid;gap:14px;min-width:0}.homework-summary-text,.homework-summary-feedback p{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden;overflow-wrap:anywhere;line-height:1.5;margin:0}.homework-summary-feedback{padding:12px;background:#edf5f0;border-left:3px solid #315f49;border-radius:6px;min-width:0}.homework-summary-feedback strong{display:block;font-size:12px;margin-bottom:6px}.homework-summary-feedback p{-webkit-line-clamp:2;font-size:14px}.homework-summary-link{width:100%;font-size:14px;text-align:center}.family-hw-chat{display:grid;gap:14px;margin:18px 0}.family-chat-student,.family-chat-teacher{padding:16px;border-radius:8px;max-width:90%;min-width:0;overflow-wrap:anywhere}.family-chat-student{justify-self:end;background:#e8f3ed;border:1px solid #c0d9ca}.family-chat-teacher{justify-self:start;background:#eff4fc;border:1px solid #cbdcf1}.family-hw-chat strong{font-size:14px;display:block}.family-hw-chat .meta{display:block;font-size:12px;margin-top:5px}.family-hw-chat p{white-space:pre-wrap;margin:10px 0 0}.family-hw-chat .family-file{margin-top:10px}.family-hw-form{border-top:1px solid #dce5df;padding-top:18px}.family-hw-chat .family-file button{overflow-wrap:anywhere;white-space:normal;max-width:100%}
@media(max-width:600px){.family-chat-student,.family-chat-teacher{max-width:100%;padding:12px}}

.homework-summary-panel #overview-homework{flex:1;display:flex;flex-direction:column}.homework-summary-panel .homework-summary{flex:1;display:flex;flex-direction:column;gap:14px}.homework-summary-panel .homework-summary-link{margin-top:auto}.homework-summary-panel .homework-summary-feedback{margin-bottom:4px}
.family-hw-form{display:flex;flex-direction:column;gap:12px;align-items:stretch;justify-content:flex-start}
.family-compose-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.family-compose-actions .family-upload{display:flex;align-items:center;gap:10px;position:relative;border:1px dashed #b5c9bd;border-radius:8px;padding:6px;background:#f7faf7;flex:0 1 auto;min-width:0}
.family-compose-actions button{width:auto;margin:0;min-height:42px;font-size:14px;padding:10px 16px}
.family-upload-hint{font-size:12px;color:#69736d;padding-right:8px}
.family-upload .family-file-input{display:none}
.family-hw-form [data-progress],.family-hw-form [data-error]{margin:0;font-size:13px;line-height:1.4}
.family-hw-form [data-progress]:empty,.family-hw-form [data-error]:empty,.family-hw-form .family-files:empty{display:none}
.family-upload-limits{font-size:12px;color:#69736d;margin:0}.family-upload-limits summary{cursor:pointer;padding:2px 0}.family-upload-limits p{font-size:12px;margin:8px 0;line-height:1.5}
@media(max-width:600px){.family-compose-actions{gap:8px}.family-compose-actions .family-upload{flex:1}.family-upload-hint{display:none}.family-compose-actions button{font-size:13px;padding:10px 12px}.family-compose-actions>button{flex:1}.family-compose-actions .family-upload button{width:100%}}
.family-file button[data-download]{display:flex;align-items:center;gap:8px;min-width:0;max-width:300px;font-size:12px;padding:7px 10px}.family-file-name{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;min-width:0}.family-file small{flex-shrink:0}.family-all-files{margin:12px 0;font-size:13px}.family-assignment-materials{margin:12px 0}
#homework-list,#homework-old-list{display:grid;gap:14px}#homework-old-list[hidden]{display:none}.homework-fold{border:1px solid #d8e3dc;border-radius:14px;background:#fff;min-width:0;overflow:visible}.homework-fold>summary{display:flex;align-items:center;gap:14px;list-style:none;padding:18px;cursor:pointer;background:#f6faf7}.homework-fold>summary::-webkit-details-marker{display:none}.homework-fold>summary:hover{background:#edf5ef}.homework-fold>summary:focus-visible{outline:3px solid #7da98b;outline-offset:-3px}.homework-fold-copy{display:grid;gap:6px;min-width:0;flex:1}.homework-fold-heading{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.homework-fold-heading strong{font-size:15px}.homework-fold-status{font-size:11px;font-weight:700;padding:3px 8px;background:#e4eee7;color:#315c45;border-radius:20px}.homework-fold-icon{display:flex;justify-content:center;align-items:center;width:40px;height:40px;flex-shrink:0;background:#f8eed6;color:#86641e;border-radius:10px;font-size:24px}.homework-fold .meta{font-size:12px;margin:0}.homework-fold-excerpt,.homework-fold-last{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:1;overflow:hidden;overflow-wrap:anywhere;font-size:14px;line-height:1.5}.homework-fold-last{font-size:13px;color:#69736d}.homework-fold-chevron{color:#315c45;font-size:22px;flex-shrink:0;transition:transform .15s}.homework-fold[open]>.homework-fold-chevron,.homework-fold[open]>summary>.homework-fold-chevron{transform:rotate(180deg)}.homework-fold-body{border-top:1px solid #d8e3dc;padding:18px}.homework-full-task{white-space:pre-wrap;overflow-wrap:anywhere;margin:0 0 16px}.homework-fold .family-hw-chat{padding:4px}#homework-old-toggle{margin:18px 0}
@media(max-width:600px){.homework-fold>summary{padding:12px;gap:10px}.homework-fold-icon{width:30px;height:34px;font-size:20px}.homework-fold-body{padding:12px}.homework-fold-heading strong{font-size:14px}.homework-fold .meta{-webkit-line-clamp:2;display:-webkit-box;-webkit-box-orient:vertical;overflow:hidden}}

/* One page scroll, with the active lesson header pinned. */
#homework{--homework-top:0px}
#homework .homework-fold[hidden]{display:none}
#homework .homework-fold{scroll-margin-top:calc(var(--homework-top) + 12px)}
#homework .homework-fold>summary{border-radius:14px}
#homework .homework-fold[open]>summary{position:sticky;top:var(--homework-top);z-index:10;border-radius:14px 14px 0 0;box-shadow:0 3px 8px #17211b12}
#homework .homework-fold[open] .homework-fold-excerpt,#homework .homework-fold[open] .homework-fold-last{display:none}
#homework-old-list:not([hidden]){margin-top:14px;scroll-margin-top:calc(var(--homework-top) + 12px)}
.homework-footer{background:#fff;padding:10px 0;border-top:1px solid #d8e3dc;margin-top:14px}
.homework-footer:has(button[hidden]){display:none}
.homework-footer #homework-old-toggle{margin:0;width:100%}
@media(max-width:800px){#homework{--homework-top:58px}}
@media(max-width:800px){html:has(#homework.active),body:has(#homework.active){overflow-x:clip}}

.homework-task-block{margin:0 0 18px;padding:16px 18px;border:1px solid #e5d9b7;border-left:4px solid #b18b35;border-radius:8px;background:#fffaf0}
.homework-task-block h3{margin:0 0 8px;color:#795b20;font-size:12px;font-weight:800;letter-spacing:.04em;text-transform:uppercase}
.homework-task-block .homework-full-task{margin:0;color:#17211b;font-size:16px;line-height:1.65}
@media(max-width:600px){.homework-task-block{padding:12px 14px}}

.family-readonly-note{padding:12px 14px;border:1px solid #cbdcf1;border-radius:8px;background:#eff4fc;color:#304d72;font-size:14px}
