/* 学期进度卡:与官方界面的层级、浅色卡片和青绿横条保持一致。 */
.semester{margin:4px 0 20px;border-radius:20px;overflow:hidden;background:linear-gradient(120deg,#63d1ce,#13c678);padding:16px 12px 12px;color:var(--text,#1c1c1e)}
.semester-top{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:0 6px 12px;font-size:13px;font-weight:600}
.semester-top a{color:inherit;text-decoration:none;white-space:nowrap;font-weight:500}
.semester-card{background:#fff;border-radius:18px;padding:20px 18px 18px}
.semester-heading{display:flex;gap:10px;align-items:baseline;justify-content:space-between}
.semester-heading h3{font-size:19px;line-height:1.4;margin:0;font-weight:650}
.semester-heading small{font-size:12px;color:#757b83;white-space:nowrap}
.semester progress{display:block;width:100%;height:12px;border:0;border-radius:8px;overflow:hidden;margin-top:12px;background:#eceeef;appearance:none;-webkit-appearance:none}
.semester progress::-webkit-progress-bar{background:#eceeef;border-radius:8px}
.semester progress::-webkit-progress-value{background:linear-gradient(90deg,#16c47a,#5ad1c6);border-radius:0 6px 6px 0}
.semester progress::-moz-progress-bar{background:linear-gradient(90deg,#16c47a,#5ad1c6);border-radius:0 6px 6px 0}
.semester-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;text-align:center;margin:22px 0 20px}
.semester-stats strong{display:block;font-size:29px;font-weight:500;line-height:1.3;overflow-wrap:anywhere}
.semester-stats span{display:block;color:#777f84;font-size:13px;margin-top:5px}
.semester-rule{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:42px;margin-top:7px;padding:9px 12px;background:linear-gradient(90deg,#f2fcfa,#8adbd4);border-right:5px solid #58c8bf}
.semester-rule span{font-size:13px;color:#25534e;font-weight:600}
.semester-rule b{font-size:14px;font-weight:500;text-align:right}
.semester-message{margin:12px 0 0;color:#727981;font-size:12px;line-height:1.6;overflow-wrap:anywhere}
.semester-message:empty{display:none}
@media(max-width:520px){.semester{padding:12px 9px 9px}.semester-top{font-size:12px;gap:8px}.semester-card{padding:16px 12px}.semester-heading h3{font-size:18px}.semester-stats{gap:5px;margin-top:19px}.semester-stats strong{font-size:25px}.semester-stats span{font-size:12px}.semester-rule{padding:9px 10px}.semester-rule span{font-size:12px}.semester-rule b{font-size:13px}}
@media(forced-colors:active){.semester progress{border:1px solid CanvasText}.semester-rule{border:1px solid CanvasText}}
