.curriculum-intro{border-radius:17px;background:#e9f3ff;padding:17px;margin:14px 0 15px}
.curriculum-intro strong{font-size:21px;color:#1a4f82}
.curriculum-intro p{font-size:11px;line-height:1.7;color:#647f9b;margin:6px 0 0}
.semester-pills{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin:14px 0}
.semester-pills button{border:1px solid #e4eaf0;background:#fff;border-radius:11px;padding:11px 4px;color:#788ba1;font-size:11px;font-weight:700}
.semester-pills button.active{background:#194571;color:#fff;border-color:#194571}
.data-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:12px}
.data-summary div{background:white;border:1px solid #e9edf3;border-radius:12px;padding:13px 9px;text-align:center}
.data-summary b{font-size:22px;color:#1c527f;display:block}.data-summary span{font-size:10px;color:#8a9aac}
.group-heading{margin:22px 1px 10px;font-size:14px;color:#253b56}
.course-entry{background:white;border:1px solid #e7edf4;border-radius:13px;padding:12px 14px;margin:7px 0;display:flex;align-items:center;gap:9px}
.course-entry .course-emoji{display:grid;place-items:center;min-width:29px;height:29px;border-radius:9px;background:#edf3fa;color:#517fa8;font-size:12px;font-weight:800}
.course-entry .course-name{font-size:12px;font-weight:700;flex:1;line-height:1.6}.course-entry .course-note{display:block;color:#8b9caf;font-size:10px;font-weight:400;margin-top:2px}
.course-entry .credits{font-size:11px;color:#37638e;font-weight:800;white-space:nowrap}
.choice-entry{background:white;border:1px solid #e0e8f0;border-radius:14px;margin:9px 0;overflow:hidden}
.choice-entry summary{cursor:pointer;list-style:none;padding:15px;display:flex;align-items:center;gap:8px}.choice-entry summary::-webkit-details-marker{display:none}
.choice-entry summary strong{font-size:12px;flex:1}.choice-entry summary .count{font-size:10px;color:#2374a5;background:#e7f3ff;padding:5px 9px;border-radius:99px;font-weight:800}
.choice-entry .choice-body{border-top:1px solid #f0f3f6;padding:11px 14px 15px}
.choice-entry .choice-body p{font-size:10px;color:#8394a6;line-height:1.7;margin:0 0 10px}
.option-list{display:flex;flex-wrap:wrap;gap:6px}.option-list span{border:1px solid #e2e9f1;color:#506c88;background:#f8fafc;border-radius:8px;padding:7px 9px;font-size:11px}
.source-warning{font-size:11px;line-height:1.7;border-left:3px solid #dbac54;background:#fff8e8;border-radius:8px;padding:10px 12px;margin:12px 0;color:#866329}
.subhead h2{margin-bottom:8px}
.site-back{display:inline-flex;align-items:center;gap:5px;border:0;background:#eaf1f9;color:#255784;border-radius:10px;padding:9px 13px;margin-bottom:15px;font-size:12px;font-weight:800}
.site-back:active{background:#d8e9fa}
#subject-detail{clear:both;padding-top:8px;color:#1e3551}
#subject-detail h4{font-size:13px;margin:22px 0 10px;letter-spacing:-.025em}
.subject-tags{display:flex;gap:6px;flex-wrap:wrap;margin:12px 0}
.subject-tags span{background:#eaf3fc;color:#2d6394;border-radius:50px;padding:7px 10px;font-size:10px;font-weight:800}
.subject-availability{font-size:11px;line-height:1.7;color:#71869c;margin-bottom:12px}
.subject-summary{font-size:12px;line-height:1.85;color:#475f79;background:#f5f8fc;border-radius:12px;padding:15px}
.subject-topics{margin:0;padding-left:19px;color:#50647c;font-size:12px;line-height:1.85}
.subject-topics li{padding:0 0 8px 1px}
.subject-source{border-top:1px solid #e9edf3;padding-top:16px;margin:22px 0 3px;color:#8999ab;font-size:10px;line-height:1.8}
.subject-unavailable{background:#fff8e8;color:#8a6829;border-radius:10px;padding:14px;font-size:12px;line-height:1.8}
