body:not([data-course="genetics"]) #nav button[data-go="pkuassignment"],body:not([data-course="genetics"]) .pku-home-entry{display:none!important}
.pku-home-entry{margin:24px 0;padding:25px 30px;min-height:0;cursor:pointer}
.pku-home-entry .num{float:right}.pku-home-entry .ic{float:left;margin:0 18px 10px 0}.pku-home-entry h3{margin:0 0 8px}.pku-home-entry p{max-width:1000px}.pku-home-entry .go{display:inline-block;margin-top:12px}
#view-pkuassignment{--pku-teal:#147d77;--pku-line:#dce8e6;--pku-muted:#5d716e}
.pku-heading{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;margin:14px 0 20px}.pku-heading h2{font-size:27px;margin:0 0 10px}.pku-heading p{color:var(--pku-muted);line-height:1.7;margin:0}
.pku-badges{display:flex;flex-wrap:wrap;gap:8px;margin-top:15px}.pku-badges span{border-radius:20px;background:#eaf5f0;color:#226451;padding:6px 12px;font-size:12px}
.pku-help,.pku-notice{border:1px solid var(--pku-line);border-radius:14px;background:#f5faf7;padding:16px 20px;margin:16px 0;line-height:1.8;font-size:13px}.pku-notice{background:#fff8eb;color:#8c601c;border-color:#efd9b0}
.pku-help summary{cursor:pointer;font-weight:700;color:#1b5d52}.pku-help p{margin:9px 0}.pku-rubric-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:16px}.pku-rubric-grid h4{margin:0 0 10px}.pku-rubric-grid ul{padding-left:18px;margin:0}.pku-rubric-grid li{margin-bottom:8px}
.pku-stat{white-space:nowrap;text-align:right}.pku-stat strong{font-size:44px;color:var(--pku-teal);font-weight:750;line-height:1.1}.pku-stat small{display:block;font-size:12px;color:var(--pku-muted);margin-top:9px}
.pku-parts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;align-items:start;margin-top:22px}
.pku-part{background:#fff;border:1px solid var(--pku-line);border-radius:16px;padding:20px;min-width:0;box-shadow:0 7px 22px #234e4310}.pku-part h3{font-size:17px;line-height:1.6;margin:0 0 10px}.pku-part h3 span{color:var(--pku-teal)}.pku-part>p{font-size:12.5px;line-height:1.8;color:var(--pku-muted);min-height:92px;margin:0 0 16px}
.pku-part label{display:block;font-size:12.5px;font-weight:650;margin:14px 0 8px}.pku-part textarea{display:block;width:100%;box-sizing:border-box;min-height:240px;resize:vertical;border:1px solid #c5d9d3;border-radius:10px;padding:13px;background:#fcfefd;font-family:inherit;font-size:13px;line-height:1.8;color:#1f3c34}.pku-part textarea:focus{outline:2px solid #147d7750;outline-offset:1px}.pku-part textarea:read-only{background:#f5f8f6}
.pku-file-input{position:absolute;width:1px;height:1px;opacity:0;overflow:hidden}.pku-upload-btn{display:inline-flex!important;align-items:center;justify-content:center;border:1px dashed #90b7a8;border-radius:9px;padding:10px 13px;cursor:pointer;color:var(--pku-teal);font-weight:650!important;background:#f3faf5}.pku-upload-btn:focus-within{outline:2px solid #147d77}.pku-file-hint{font-size:11.5px;color:var(--pku-muted);line-height:1.7;margin:6px 0}
.pku-file{background:#f5f8f6;border:1px solid #e0e9e4;border-radius:9px;padding:11px;margin-top:10px;font-size:12px;overflow-wrap:anywhere}.pku-file-head{display:flex;gap:8px;align-items:flex-start;justify-content:space-between}.pku-file-name{font-weight:650;color:#294e43;text-align:left;cursor:pointer;background:transparent;border:0;padding:0;font:inherit}.pku-remove{border:0;background:none;color:#a1463b;cursor:pointer;white-space:nowrap;font-size:12px}.pku-file-status{font-size:11.5px;color:#65816f;margin-top:5px}.pku-file details{margin-top:8px}.pku-file summary{cursor:pointer;color:var(--pku-teal)}.pku-pre{white-space:pre-wrap;overflow-wrap:anywhere;max-height:240px;overflow:auto;background:#fff;border:1px solid var(--pku-line);padding:12px;border-radius:7px;font-size:12px;line-height:1.8;font-family:inherit}.pku-warning{color:#9c6c23;margin-top:5px;font-size:11.5px;line-height:1.7}
.pku-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px;padding:20px 0}.pku-save-status{font-size:12px;color:var(--pku-muted);margin-right:auto}.pku-actions .btn[disabled]{opacity:.55;cursor:wait}.pku-status-live{font-size:13px;color:var(--pku-teal)}.pku-spinner{display:inline-block;width:14px;height:14px;border-radius:50%;border:2px solid #bad7cf;border-top-color:#147d77;animation:pku-spin .9s linear infinite;vertical-align:middle;margin-right:7px}@keyframes pku-spin{to{transform:rotate(360deg)}}
.pku-actions .btn{border:1px solid #b8cdc5;border-radius:9px;padding:11px 16px;background:#fff;color:#245c4c;font:inherit;font-size:13px;cursor:pointer}.pku-actions .btn-primary{background:#147d77;border-color:#147d77;color:white}.pku-actions .btn-primary:hover:not(:disabled){background:#0c6964}.pku-actions .btn:focus-visible{outline:2px solid #147d77;outline-offset:3px}
.pku-history{margin-top:20px}.pku-history h3{font-size:20px}.pku-attempt{border:1px solid var(--pku-line);border-radius:13px;margin:12px 0;background:#fff;overflow:hidden}.pku-attempt>summary{display:flex;align-items:center;flex-wrap:wrap;gap:12px;padding:17px 20px;cursor:pointer;background:#f7fbf8;font-size:14px}.pku-attempt summary strong{color:var(--pku-teal);font-size:20px}.pku-attempt summary small{margin-left:auto;color:var(--pku-muted)}.pku-attempt-body{padding:20px}.pku-feedback{line-height:1.9;font-size:13px}.pku-feedback h4{margin:16px 0 5px}.pku-feedback ul{margin:0;padding-left:22px}.pku-feedback li{margin:5px 0}
.pku-grade-parts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:16px 0}.pku-grade-part{padding:16px;background:#eef7f1;border-radius:12px}.pku-grade-part b{display:block;font-size:26px;color:var(--pku-teal);margin:8px 0}.pku-grade-part span{font-size:12px;color:var(--pku-muted)}.pku-grade-bar{height:5px;background:#d8e8de;border-radius:4px;overflow:hidden}.pku-grade-bar i{display:block;background:#349b79;height:100%}
.pku-table-wrap{overflow:auto;border:1px solid var(--pku-line);border-radius:10px;margin:14px 0}.pku-table{border-collapse:collapse;width:100%;font-size:12.5px;text-align:left}.pku-table th{background:#f0f6f3;white-space:nowrap}.pku-table td,.pku-table th{padding:11px 13px;border-bottom:1px solid #e7eeea;line-height:1.7;vertical-align:top}.pku-table tr:last-child td{border-bottom:0}.pku-table td:nth-child(2){white-space:nowrap}.pku-table .btn{white-space:nowrap;font-size:12px;padding:5px 11px}.pku-filter{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin:20px 0}.pku-filter input,.pku-filter select{padding:10px 12px;border:1px solid var(--pku-line);border-radius:8px;background:#fff;font:inherit;max-width:100%}.pku-empty{padding:30px;color:var(--pku-muted);text-align:center;background:#f6faf7;border-radius:12px}.pku-snapshot{margin-top:18px}.pku-snapshot>summary{font-weight:650;cursor:pointer;color:var(--pku-teal)}
@media(max-width:1000px){.pku-parts{grid-template-columns:1fr}.pku-part>p{min-height:0}.pku-part textarea{min-height:200px}.pku-rubric-grid{grid-template-columns:1fr}.pku-home-entry{padding:20px}}
@media(max-width:600px){.pku-heading{display:block}.pku-heading h2{font-size:23px}.pku-stat{text-align:left;display:flex;align-items:baseline;gap:12px;margin-top:18px}.pku-stat strong{font-size:34px}.pku-actions{position:static;gap:10px}.pku-actions .btn{flex:1}.pku-save-status{flex-basis:100%}.pku-attempt>summary{padding:14px}.pku-attempt>summary small{margin-left:0;flex-basis:100%}.pku-attempt-body{padding:14px}.pku-grade-parts{gap:6px}.pku-grade-part{padding:10px}.pku-grade-part b{font-size:21px}.pku-grade-part span{font-size:11px}.pku-help{padding:13px}.pku-part{padding:16px}.pku-badges{gap:5px}.pku-badges span{font-size:11px;padding:5px 9px}}
@media(prefers-reduced-motion:reduce){.pku-spinner{animation:none}}
