:root{--purple: #673AB7;--purple-light: #7C4DFF;--purple-dark: #512DA8;--card-bg: #fff;--bg: #F0EBF8;--text: #202124;--text-secondary: #5f6368;--error: #d93025;--border: #dadce0;--radius: 8px;--gold: #F9A825}*{margin:0;padding:0;box-sizing:border-box}.acad-hw-list{display:flex;flex-direction:column;gap:8px;margin-bottom:22px}.acad-hw-card{background:#fff;border:1px solid var(--border);border-left:4px solid #1E7D32;border-radius:var(--radius);padding:12px 16px;display:flex;justify-content:space-between;align-items:center;gap:12px;text-decoration:none;color:var(--text)}.acad-hw-card:hover{border-color:#1e7d32;box-shadow:0 2px 8px #1e7d321f}.acad-hw-id{font-size:12px;font-weight:600;color:#1e7d32;letter-spacing:.5px}.acad-hw-name{font-size:15px}.acad-hw-sub{font-size:12.5px;color:var(--text-secondary)}.acad-hw-cta{font-size:13px;color:#1e7d32;white-space:nowrap;flex-shrink:0}#acad-panel .course-section.latest{border:2px solid var(--purple);box-shadow:0 2px 10px #673ab726}.badge-latest{background:var(--purple);color:#fff}#acad-panel .course-section.future{background:#fafafc}#acad-panel .course-section.future .course-title{color:var(--text-secondary)}.acad-future-divider{display:flex;align-items:center;gap:10px;margin:10px 0 2px;font-size:13px;color:var(--text-secondary)}.acad-future-divider:before,.acad-future-divider:after{content:"";flex:1;border-top:1px dashed var(--border)}body{font-family:Google Sans,Roboto,-apple-system,sans-serif;background:var(--bg);color:var(--text);line-height:1.6;padding:0 16px 40px}.container{max-width:960px;margin:0 auto;padding-top:12px}#content{display:none}.course-section{background:var(--card-bg);border-radius:var(--radius);border:1px solid var(--border);padding:16px 24px;margin-bottom:16px}.course-section[open]{padding-bottom:20px}.course-header{display:flex;justify-content:space-between;align-items:center;cursor:pointer;list-style:none;user-select:none;padding:4px 0}.course-title{font-size:16px;font-weight:500}.collapse-arrow{display:inline-block;margin-right:6px;color:var(--text-secondary);font-size:12px;transition:transform .15s ease}.course-body{margin-top:14px}.hw-prompt{background:#faf6ff;border-left:3px solid var(--purple);border-radius:4px;padding:12px 14px;margin-bottom:14px;font-size:13px;color:var(--text);line-height:1.7}.hw-deadline{margin-top:10px;font-size:13px;font-weight:500;color:var(--error)}.course-badge{font-size:12px;padding:3px 10px;border-radius:12px}.badge-scored{background:#e8f5e9;color:#2e7d32}.badge-submitted{background:#fff3e0;color:#e65100}.badge-empty{background:#f5f5f5;color:#9e9e9e}.badge-teacher{background:#fff8e1;color:#b26a00}.badges{display:flex;gap:6px;align-items:center;flex-shrink:0}.my-rating{background:#f5f0ff;border-radius:var(--radius);padding:12px 16px;margin-bottom:12px}.my-score{font-size:24px;font-weight:600;color:var(--purple)}.my-score .rated-at{font-size:12px;font-weight:400;color:var(--text-secondary)}.my-comment{font-size:13px;color:var(--text-secondary);margin-top:4px}.my-teacher{margin-top:8px;padding:8px 12px;background:#fff8e1;border-left:3px solid var(--gold);border-radius:4px;font-size:13px;color:var(--text);line-height:1.7}.my-teacher .who{font-weight:600;color:#b26a00}.rankings{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px;margin-bottom:12px}.rank-col{background:#fafafa;border-radius:6px;padding:10px;font-size:12px;min-width:0;overflow:hidden}.rank-col h4{font-size:12px;font-weight:500;margin-bottom:6px;color:var(--text-secondary)}.rank-row{display:flex;justify-content:space-between;padding:2px 0;color:var(--text-secondary)}.rank-row.you{color:var(--purple);font-weight:600;background:#ede3fa;border-radius:3px;padding:2px 4px}.rank-score{font-weight:500}.rank-empty{color:#ccc;font-style:italic;padding:8px 0}.hw-textarea{width:100%;border:1px solid var(--border);border-radius:4px;padding:10px 12px;font-size:14px;font-family:inherit;outline:none;resize:vertical;min-height:100px}.hw-textarea:focus{border-color:var(--purple)}.submit-btn{margin-top:8px;background:var(--purple);color:#fff;border:none;border-radius:4px;padding:8px 20px;font-size:14px;cursor:pointer}.submit-btn:hover{background:var(--purple-dark)}.submit-btn:disabled{opacity:.6;cursor:not-allowed}.submit-msg{font-size:13px;margin-top:6px}.submit-msg.ok{color:#2e7d32}.submit-msg.err{color:var(--error)}.loading{text-align:center;color:var(--text-secondary);padding:40px;font-size:14px}details[open] .collapse-arrow{transform:rotate(90deg)}details summary::-webkit-details-marker{display:none}@media(max-width:480px){.rankings{grid-template-columns:1fr}}
