.job-card{background:var(--card);border-radius:16px;padding:24px;box-shadow:var(--shadow);margin-bottom:16px}.job-title{font-size:22px;color:var(--primary-dark);font-weight:700;line-height:1.4;word-break:break-all;margin-bottom:12px}
.job-salary-row{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:14px}.job-salary-block{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.job-salary{font-size:30px;color:#e64a19;font-weight:bold}.job-salary small{font-size:14px;color:#999;font-weight:normal}.job-extra-tags{display:flex;gap:8px;flex-wrap:wrap}.job-extra-tags span{background:#f0f7fc;color:var(--primary);padding:3px 10px;border-radius:20px;font-size:12px}
.job-card-buttons{display:flex;gap:8px;flex-shrink:0}.share-btn,.resume-btn{border:none;padding:6px 12px;border-radius:8px;font-size:13px;cursor:pointer;white-space:nowrap}.share-btn{background:var(--bg);color:#555}.resume-btn{background:var(--gold);color:#fff}
.job-info-wrap{background:var(--card);border-radius:16px;padding:16px;box-shadow:var(--shadow);margin-bottom:16px}.job-info{display:flex;flex-wrap:nowrap;width:100%}.job-info-item{flex:1;text-align:center;padding:12px 4px;border-right:1px solid var(--border)}.job-info-item:last-child{border-right:none}.job-info-item .label{font-size:12px;color:var(--text-light);margin-bottom:4px}.job-info-item .val{font-size:14px;color:#333;font-weight:bold;word-break:break-all}
.job-meta-row{display:flex;flex-wrap:wrap;gap:14px;font-size:13px;color:#666;padding-top:14px;border-top:1px dashed var(--border);align-items:center;margin-top:12px}.job-meta-row a{color:var(--primary)}.collect-btn{padding:5px 12px;background:var(--bg);border-radius:8px;color:var(--primary);font-size:13px;cursor:pointer;border:none}
.job-content-wrap{background:var(--card);border-radius:16px;padding:24px;box-shadow:var(--shadow);margin-bottom:16px}.job-content-wrap h3{font-size:18px;color:var(--primary-dark);border-left:4px solid var(--gold);padding-left:10px;margin-bottom:14px}.job-content{font-size:15px;line-height:1.8;color:#444}.job-content p{margin-bottom:10px}.job-content img{max-width:100%;height:auto;border-radius:8px;margin:10px 0}
.job-tag-bottom{margin-top:8px;padding-top:6px;display:flex;flex-wrap:wrap;gap:8px;align-items:center}.job-tag-bottom .tag-name{font-size:13px;color:#777}.job-tag-bottom a{background:var(--bg);color:#444;padding:4px 12px;border-radius:14px;font-size:13px}.job-tag-bottom a:hover{background:var(--primary);color:#fff}
.tip-box{background:#fff9e8;border-left:4px solid var(--gold);padding:10px 14px;border-radius:0 8px 8px 0;margin-top:8px;font-size:13px;color:#8a6d3b}.tip-box strong{color:var(--gold)}
.pn-wrap{display:flex;justify-content:space-between;gap:15px;font-size:12px;color:#777;margin-bottom:16px}.pn-item{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pn-item .pn-title{font-size:12px;margin-bottom:2px}.pn-item a{color:#333}.pn-next{text-align:right}
.related-wrap{background:var(--card);border-radius:16px;padding:16px;box-shadow:var(--shadow);margin-bottom:16px}.related-wrap h3{font-size:18px;color:var(--primary-dark);border-left:4px solid var(--gold);padding-left:10px;margin-bottom:12px}.related-list{display:grid;grid-template-columns:1fr 1fr;gap:10px}.related-list li{list-style:none;padding:6px 0;border-bottom:1px dashed var(--bg);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.related-list li a{color:#444}.related-list li a:hover{color:var(--primary)}
#comments{margin-bottom:16px;text-align:center}#comments img{max-width:60px!important;max-height:60px!important;margin:0 auto!important}#comments .no-comment,#comments .empty,#comments .comment-empty,#comments .comment-none{padding:10px 0!important;margin:0!important}#comments .no-comment p,#comments .empty p,#comments .comment-none p{margin:5px 0!important;font-size:13px;color:#999}
.bottom-bar{position:fixed;left:0;right:0;bottom:0;display:flex;z-index:999}.bottom-bar a{flex:1;text-align:center;padding:14px 0;color:#fff;text-decoration:none;font-size:15px;font-weight:bold}.bar-phone{background:#2385bb}.bar-wechat{background:#24b967}
.wx-mask{position:fixed;inset:0;background:rgba(0,0,0,.5);display:none;align-items:center;justify-content:center;z-index:1000}.wx-box{background:#fff;padding:24px;border-radius:12px;text-align:center;width:85%;max-width:340px}.wx-t{font-size:16px;font-weight:bold;margin-bottom:10px}.wx-num{font-size:20px;color:#2385bb;margin-bottom:8px;font-weight:bold}.wx-tip{color:#888;font-size:13px;margin-bottom:16px}.wx-box button{padding:8px 20px;background:#2385bb;color:#fff;border:none;border-radius:6px;cursor:pointer}
.breadcrumb{font-size:13px;color:#999;margin-bottom:16px}.breadcrumb a{color:#666}.breadcrumb .sep{margin:0 6px}.breadcrumb .cur{color:#333}
.container{max-width:1200px;margin:0 auto;padding:16px;padding-bottom:60px}
:root{--card:#fff;--bg:#f7f7f7;--border:#e9e9e9;--text-light:#888;--primary:#2385bb;--primary-dark:#222;--gold:#d48b28;--shadow:0 2px 10px rgba(0,0,0,.06)}
*{box-sizing:border-box;margin:0;padding:0}body{background:var(--bg);font-family:system-ui,sans-serif;color:#333}a{text-decoration:none}
@media(max-width:768px){.container{padding:10px;padding-bottom:60px}.job-card{padding:18px 16px}.job-title{font-size:20px}.job-salary{font-size:24px}.job-salary-row{flex-direction:column;align-items:flex-start}.job-info-wrap{padding:12px}.job-info-item{padding:10px 3px}.job-info-item .label{font-size:11px}.job-info-item .val{font-size:13px}.job-content-wrap{padding:16px}.related-list{grid-template-columns:1fr}}
