:root{--green:#176b55;--dark:#17352d;--paper:#f4f6f4;--line:#dce4e0;--muted:#69746f;--orange:#b85c25}
*{box-sizing:border-box}body{margin:0;background:var(--paper);color:#202724;font-family:"Microsoft YaHei","PingFang SC",Arial,sans-serif}main{width:min(1180px,calc(100% - 36px));margin:34px auto}.page-title{margin:0 0 16px;background:#fff;border:1px solid var(--line);padding:22px 24px;font-size:30px;color:var(--dark);letter-spacing:2px}.job-list{display:grid;grid-template-columns:1fr 1fr;gap:14px}.job-card{background:#fff;border:1px solid var(--line);padding:22px 24px;min-width:0}.school-row{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap;border-bottom:1px solid #edf0ee;padding-bottom:13px}.school-row h2{margin:0;color:var(--dark);font-size:20px}.deadline{font-size:12px;color:var(--orange);font-weight:700}.deadline.rolling{color:var(--green)}.meta{display:flex;gap:7px;flex-wrap:wrap;margin:14px 0 11px}.meta span{background:#edf4f1;color:#315c4e;border-radius:3px;padding:4px 8px;font-size:11px}.job-card h3{font-size:18px;margin:0 0 9px;line-height:1.5}.content{font-size:13px;color:#555f5b;line-height:1.8;margin:0;min-height:48px}.card-bottom{display:flex;justify-content:space-between;align-items:center;margin-top:17px;padding-top:14px;border-top:1px solid #edf0ee}.source{font-size:11px;color:#8a928e;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-right:12px}.official-link{display:inline-block;background:var(--green);color:#fff;text-decoration:none;padding:8px 13px;border-radius:4px;white-space:nowrap;font-size:12px}.official-link:hover{background:#0f5945}.loading{text-align:center;padding:60px;color:var(--muted)}footer{text-align:center;color:#7d8782;font-size:12px;padding:28px}.expired{opacity:.55}.expired .deadline{color:#999}
@media(max-width:800px){main{width:100%;margin:0}.page-title{margin:0 0 10px;border-left:0;border-right:0;padding:20px 18px;font-size:25px}.job-list{display:block;padding:0 10px}.job-card{margin-bottom:10px;padding:18px}.school-row h2{font-size:18px}.content{min-height:0}.card-bottom{align-items:flex-end}.source{white-space:normal}.official-link{flex:none}}

