*{box-sizing:border-box}body{color:#24382f;background:#f6f7f4;margin:0;font-family:system-ui,-apple-system,PingFang SC,sans-serif}header{background:#fff;border-bottom:1px solid #dfe5dc;justify-content:space-between;align-items:center;height:76px;padding:0 5vw;display:flex}header strong{font-size:24px}header span{margin-left:12px;font-size:17px;font-weight:500}small,.muted,.breadcrumb{color:#6c7b71}.notice{background:#edf1e8;padding:12px 5vw;font-size:13px}.workspace{grid-template-columns:260px minmax(0,1fr);gap:44px;max-width:1440px;margin:auto;padding:36px 5vw;display:grid}aside h2{font-size:24px}.eyebrow{letter-spacing:3px;color:#7d8c70;font-size:12px}.muted{font-size:13px;line-height:1.8}nav{gap:7px;margin:25px 0;display:grid}button,select{font:inherit}button{cursor:pointer;color:inherit;background:#fff;border:1px solid #d9e2d6;border-radius:7px;padding:12px}nav button{text-align:left;background:0 0;border-color:#0000;font-size:14px}nav button small{margin-right:12px}nav button[aria-current]{color:#244d35;background:#dfead9;font-weight:600}article{background:#fff;border:1px solid #e2e7de;border-radius:12px;min-width:0;padding:38px}h1{margin:15px 0 30px;font-size:30px;line-height:1.4}.breadcrumb{font-size:12px}.chapter-control{border-top:1px solid #edf0e9;border-bottom:1px solid #edf0e9;align-items:center;gap:15px;padding:16px 0;display:flex}select{background:#fff;border:1px solid #dce3d8;border-radius:6px;max-width:85%;padding:9px}.lesson{white-space:pre-wrap;overflow-wrap:anywhere;color:#36443b;font-size:15px;line-height:1.95}article h2{margin-top:30px;font-size:22px}footer{border-top:1px solid #e6eae2;justify-content:space-between;align-items:center;margin-top:36px;padding-top:22px;display:flex}button:disabled{opacity:.4;cursor:default}:is(button:focus-visible,select:focus-visible){outline-offset:2px;outline:3px solid #64895d}@media (max-width:760px){.workspace{padding:20px 16px;display:block}aside nav{grid-template-columns:1fr 1fr;gap:3px;margin:15px 0}aside h2{margin:8px 0}aside .muted{display:none}article{padding:22px 18px}h1{font-size:24px}header{padding:0 18px}header small{font-size:11px}.notice{padding:10px 18px}}.lesson{white-space:normal;overflow-x:auto}.lesson p{margin:1em 0}.lesson table{border-collapse:collapse;max-width:100%;margin:20px 0;font-size:14px;display:block;overflow-x:auto}.lesson th,.lesson td{text-align:left;vertical-align:top;border:1px solid #dde5d8;min-width:100px;padding:10px 12px}.lesson th{background:#eff4eb}.lesson pre{white-space:pre-wrap;background:#f3f5ef;border-radius:6px;padding:16px}.lesson code{background:#f3f5ef;font-size:.9em}.lesson a{color:#24663d;text-underline-offset:3px}.lesson blockquote{color:#63715f;border-left:3px solid #87a17c;margin:18px 0;padding:3px 18px}.unavailable-link{color:#697665}@media (max-width:760px){.lesson table th,.lesson table td{min-width:170px}.lesson table{border-bottom:3px solid #c8d6bf}}.access-state{max-width:700px;margin:10vh auto;padding:40px}@media (max-width:760px){.access-state{margin:40px 16px;padding:24px}}.admin-content{max-width:1050px;margin:35px auto;padding:0 24px}.member-card{margin:24px 0}.member-card h2{overflow-wrap:anywhere;margin-top:0}.member-card fieldset{border:0;margin:8px 0;padding:12px 0}.member-card legend{font-weight:600}.course-options{grid-template-columns:1fr 1fr;gap:12px;display:grid}.check-option{align-items:flex-start;gap:10px;font-size:14px;line-height:1.6;display:flex}.check-option input{accent-color:#244d35;margin-top:5px}.save-error{color:#92392f}.save-result{color:#24663d}.save-result,.save-error{font-size:14px;line-height:1.6}header a{color:#365e42}@media (max-width:760px){.course-options{grid-template-columns:1fr}.admin-content{padding:0 16px}.member-card{padding:24px 18px}}.assignment-content{max-width:1000px;margin:35px auto;padding:0 24px}.submission-form{margin:24px 0}.submission-form label{font-weight:600}.submission-form textarea{resize:vertical;width:100%;min-height:220px;font:inherit;color:inherit;background:#fff;border:1px solid #c8d6bf;border-radius:8px;padding:14px;line-height:1.7;display:block}.submission-form textarea:focus-visible{outline-offset:2px;outline:3px solid #64895d}.submission-form button{margin-bottom:8px;margin-right:8px}.submission-record{margin:16px 0}.submission-record h3{overflow-wrap:anywhere;font-size:16px}.submission-body{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.8}a{color:#365e42}@media (max-width:760px){.assignment-content{padding:0 16px}.submission-form,.submission-record{padding:22px 18px}}.feedback-panel,.feedback-form{border-top:1px solid #e2e7de;margin-top:24px;padding-top:18px}.feedback-note{background:#f3f6ef;border-radius:8px;margin-top:12px;padding:16px}.feedback-form textarea{resize:vertical;width:100%;font:inherit;border:1px solid #c8d6bf;border-radius:8px;margin-bottom:12px;padding:12px;line-height:1.7;display:block}.feedback-form textarea:focus-visible{outline:3px solid #64895d}.submission-record h2{overflow-wrap:anywhere}.watermarked-reader{isolation:isolate;position:relative;overflow:hidden}.reader-watermark{z-index:2;pointer-events:none;-webkit-user-select:none;user-select:none;background-repeat:repeat;position:absolute;inset:0}.reader-identity{color:#6c7b71;overflow-wrap:anywhere;margin:0 0 18px;font-size:12px}@media print{.reader-watermark{-webkit-print-color-adjust:exact;print-color-adjust:exact}.reader-identity{color:#333}}.course-group{border-bottom:1px solid #dfe5dc;padding:8px 0}.course-group summary{cursor:pointer;padding:10px 4px;font-size:16px;font-weight:600}.course-group summary span{float:right;color:#6c7b71;font-size:14px;font-weight:400}.course-group-items{gap:4px;padding-top:8px;display:grid}.course-group-items button{overflow-wrap:anywhere;width:100%}.course-group-items button small{margin-bottom:4px;font-size:14px;display:block}.course-group summary:focus-visible{outline-offset:2px;outline:3px solid #64895d}@media (max-width:760px){aside nav{grid-template-columns:1fr}.course-group-items{grid-template-columns:1fr 1fr;gap:4px}}.resource-list{padding-left:24px;line-height:1.8}.resource-list li{padding:10px 0}.resource-list a{color:#24663d;overflow-wrap:anywhere}.auth-card{max-width:520px;margin:48px auto;padding:32px}.auth-form{gap:16px;display:grid}.auth-form label{gap:8px;font-weight:600;display:grid}.auth-form input{width:100%;min-width:0;font:inherit;color:inherit;background:#fff;border:1px solid #c8d6bf;border-radius:7px;padding:12px}.auth-form input:focus-visible{outline-offset:2px;outline:3px solid #64895d}.auth-form button{color:#fff;background:#244d35}.auth-form .save-error:empty{display:none}.auth-form p{margin:0}@media (max-width:600px){.auth-card{margin:24px 16px;padding:24px 20px}header{gap:12px}header strong{font-size:19px}header span{margin-left:6px;font-size:14px}}.invite-link{overflow-wrap:anywhere;gap:10px;display:grid}.invite-link textarea{width:100%;min-height:90px;font:inherit;overflow-wrap:anywhere;padding:12px}.invitation-list{padding:0;list-style:none}.invitation-list li{background:#fff;border:1px solid #e2e7de;border-radius:10px;justify-content:space-between;align-items:center;gap:18px;margin:12px 0;padding:22px;display:flex}.invitation-list strong{overflow-wrap:anywhere}.invitation-list li>div{min-width:0}@media (max-width:600px){.invitation-list li{flex-direction:column;align-items:flex-start}}.header-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px 18px;display:flex}.header-actions a{white-space:nowrap}@media (max-width:600px){header:has(.header-actions){flex-wrap:wrap;height:auto;min-height:76px;padding-top:12px;padding-bottom:12px}.header-actions{gap:8px 12px}}
