/* 实习部补充样式：沿用 app.css 的变量体系（--accent #8e3e43 / --paper #faf9f6 / --line #e6e2d8 / --serif） */
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.dc-ai-link[aria-current=page]{background:var(--accent);border-color:var(--accent);color:#fff}
.jb-top-links{flex-wrap:nowrap}
.dc-brand{color:var(--ink)}
.jb-filters .jb-selects{display:flex;gap:8px;flex-wrap:wrap}
.jb-select select{appearance:none;-webkit-appearance:none;padding:7px 28px 7px 12px;border:1px solid var(--line);border-radius:999px;background:var(--card) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='%2392918b' stroke-width='1.3'/%3E%3C/svg%3E") no-repeat right 11px center;font-size:12px;color:var(--soft);cursor:pointer;transition:border-color .2s}
.jb-select select:hover{border-color:#cfc6b8}.jb-select select.on{border-color:var(--accent);color:var(--accent)}
.jb-main{max-width:1240px;margin:0 auto;padding:18px 40px 40px}
.jb-row-pos{display:block;margin-top:4px;font-size:12px;color:var(--accent)}
.jb-due{display:inline-block;padding:1px 7px;border:1.2px solid currentColor;border-radius:3px;font-family:var(--serif);font-size:11px;color:#5b5d55;transform:rotate(-2deg)}
.jb-due.soon{color:var(--accent)}.jb-due.over{color:var(--faint);text-decoration:line-through}
.jb-actions{margin-top:18px}.jb-actions .primary{display:inline-flex;align-items:center;gap:8px;padding:11px 20px;border-radius:999px;text-decoration:none}
.jb-actions .ghost{margin-left:14px;font-size:12px;color:var(--soft)}
.jb-table-wrap{overflow-x:auto}.jb-table{width:100%;border-collapse:collapse;font-size:12px}.jb-table th{font-weight:400;color:var(--faint);text-align:left;padding:6px 8px;border-bottom:1px solid var(--line)}.jb-table td{padding:8px;border-bottom:1px solid var(--line);vertical-align:top;color:var(--soft)}.jb-table td.major{max-width:240px;font-size:11px}
.jb-text{max-height:none}.jb-disclaimer{margin-top:26px;font-size:11px;color:var(--faint)}
.dc-reset{font-size:12px;color:var(--accent);text-decoration:underline;text-underline-offset:3px}
.dc-empty{padding:60px 0;text-align:center;color:var(--soft)}.dc-empty strong{display:block;font-family:var(--serif);font-size:19px;color:var(--ink);margin-bottom:8px}
.dc-list li{animation:rise .35s ease both}
/* 栏目页（编辑风格） */
.sx-wrap{max-width:1120px;margin:0 auto;padding:0 40px 70px}
.sx-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:10px 20px;padding-bottom:12px;border-bottom:2px solid var(--ink);margin-top:44px}
.sx-head h2{margin:0;font-family:var(--serif);font-size:26px;font-weight:600;letter-spacing:3px}.sx-head h2 em{font-style:normal;color:var(--accent)}
.sx-head p{margin:0;font-size:12px;color:var(--faint)}
.sx-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-bottom:1px solid var(--line)}
.sx-stat{padding:26px 20px 22px 0}.sx-stat+.sx-stat{padding-left:20px;border-left:1px solid var(--line)}
.sx-stat:nth-child(n+4){border-top:1px solid var(--line)}.sx-stat:nth-child(4){border-left:0;padding-left:0}
.sx-stat strong{display:block;font-family:Georgia,var(--serif);font-style:italic;font-weight:400;font-size:42px;color:var(--accent);line-height:1.1}
.sx-stat strong small{font-size:16px;font-style:normal;font-family:var(--serif);margin-left:4px;color:var(--ink)}
.sx-stat span{display:block;margin-top:8px;font-size:13px;color:var(--soft)}
.sx-note{margin:14px 0 0;padding:12px 16px;border-left:2px solid #a65a1c;background:#fbeee0;font-size:12px;line-height:1.9;color:#7a4a1c;border-radius:0 8px 8px 0}
.sx-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:20px;list-style:none;padding:0}
.sx-card{padding:20px;border:1px solid var(--line);border-radius:12px;background:var(--card);transition:border-color .2s,transform .2s,box-shadow .2s}
.sx-card:hover{border-color:var(--accent);transform:translateY(-2px);box-shadow:0 16px 30px -24px #5a282880}
.sx-card b{font-family:var(--serif);font-size:13px;color:var(--accent);letter-spacing:2px}
.sx-card h3{margin:10px 0 8px;font-family:var(--serif);font-size:17px;font-weight:600}
.sx-card p{margin:0;font-size:13px;line-height:1.85;color:var(--soft)}
.sx-steps{list-style:none;margin:0;padding:0}
.sx-steps li{display:grid;grid-template-columns:120px 1fr;gap:20px;padding:20px 0;border-bottom:1px solid var(--line)}
.sx-steps time{font-family:Georgia,var(--serif);font-style:italic;font-size:20px;color:var(--accent)}
.sx-steps h3{margin:0 0 6px;font-family:var(--serif);font-size:16px;font-weight:600}.sx-steps p{margin:0;font-size:13px;line-height:1.85;color:var(--soft)}
.sx-faq details{border-bottom:1px solid var(--line)}
.sx-faq summary{list-style:none;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:20px 0;cursor:pointer;font-family:var(--serif);font-size:16px;font-weight:600}
.sx-faq summary::-webkit-details-marker{display:none}
.sx-faq summary:after{content:"+";font-family:Georgia,serif;font-size:22px;color:var(--accent);transition:transform .2s}
.sx-faq details[open] summary:after{transform:rotate(45deg)}
.sx-faq summary:hover{color:var(--accent)}
.sx-faq .ans{padding:0 0 20px;font-size:13px;line-height:1.95;color:var(--soft)}.sx-faq .ans small{display:block;margin-top:6px;color:var(--faint);font-size:11px}
.sx-tpl{margin-top:18px;padding:22px;border:1px dashed #d6cfc1;border-radius:12px;font-size:13px;line-height:2;color:var(--soft)}
.sx-tpl h3{margin:0 0 6px;font-family:var(--serif);color:var(--ink);font-size:16px}
.sx-tag{display:inline-block;padding:2px 8px;border-radius:4px;background:#fbeee0;color:#a65a1c;font-size:11px}
.sx-close{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-top:40px;padding:28px 32px;border-radius:14px;background:#2d2c28;color:#efe9dd}
.sx-close p{margin:0;font-family:var(--serif);font-size:18px;letter-spacing:1px}.sx-close a{flex-shrink:0;padding:11px 20px;border-radius:999px;background:var(--accent);color:#fff;text-decoration:none;font-size:13px}
.page[hidden]{display:none}
@media(max-width:1000px){.sx-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){
 .dc-top{gap:10px;flex-wrap:wrap}.jb-top-links{width:100%;overflow-x:auto;scrollbar-width:none;margin:0 -20px;padding:2px 20px;gap:8px}.jb-top-links::-webkit-scrollbar{display:none}
 .jb-top-links .dc-ai-link:first-child{display:inline-flex}.dc-ai-link{flex-shrink:0}
 .jb-main{padding:14px 20px 30px}.sx-wrap{padding:0 20px 50px}.sx-head h2{font-size:22px;letter-spacing:2px}
 .sx-stats{grid-template-columns:1fr 1fr}.sx-stat{padding:20px 12px 18px 0}.sx-stat+.sx-stat{padding-left:12px}.sx-stat:nth-child(odd){border-left:0;padding-left:0}.sx-stat:nth-child(n+3){border-top:1px solid var(--line)}.sx-stat:nth-child(4){border-left:1px solid var(--line);padding-left:12px}.sx-stat strong{font-size:32px}
 .sx-grid{grid-template-columns:1fr}.sx-steps li{grid-template-columns:1fr;gap:6px}.sx-close{flex-direction:column;align-items:flex-start;padding:22px}
 .jb-filters .jb-selects{flex-wrap:nowrap}
}

/* —— 2026-11 美术改进：借鉴 Bordful / CareersHub 的密度、空态、加载态、筛选胶囊 —— */
.jb-tracks{max-width:1240px;margin:0 auto;padding:0 40px 6px}
.jb-tracks-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:10px}
.jb-tracks-head h3{margin:0;font-family:var(--serif);font-size:15px;font-weight:600;letter-spacing:2px}
.jb-tracks-head p{margin:0;font-size:11px;color:var(--faint)}
.jb-track-chips{display:flex;flex-wrap:wrap;gap:8px}
.jb-track-chips button{display:inline-flex;align-items:center;gap:6px;padding:7px 13px;border:1px solid var(--line);border-radius:999px;background:var(--card);font-size:12px;color:var(--soft);transition:border-color .2s,color .2s,background .2s,transform .15s}
.jb-track-chips button:hover{border-color:#cfc6b8;color:var(--ink);transform:translateY(-1px)}
.jb-track-chips button[aria-pressed=true]{border-color:var(--accent);background:var(--accent);color:#fff}
.jb-track-chips button small{font-family:Georgia,serif;font-style:italic;color:var(--faint)}
.jb-track-chips button[aria-pressed=true] small{color:#ffffffbf}
.jb-active{display:flex;flex-wrap:wrap;align-items:center;gap:8px;max-width:1240px;margin:0 auto;padding:0 40px 8px;min-height:0}
.jb-active:empty{display:none}
.jb-active .dc-pill{font-size:12px}
.jb-skel{list-style:none;margin:0;padding:0}
.jb-skel li{height:88px;margin-bottom:12px;border-radius:10px;background:linear-gradient(90deg,#f1eee7 25%,#faf9f6 50%,#f1eee7 75%);background-size:200% 100%;animation:jbShimmer 1.2s ease infinite}
@keyframes jbShimmer{0%{background-position:200% 0}100%{background-position:-200% 0}}
.dc-empty{padding:72px 20px;text-align:center}
.dc-empty .glyph{display:inline-grid;place-items:center;width:56px;height:56px;margin-bottom:14px;border-radius:50%;background:#f3e9e6;color:var(--accent);font-family:var(--serif);font-size:22px}
.dc-card{padding:18px 4px 18px 0} /* 略收紧密度 */
.dc-card-title{margin:8px 0 6px;font-size:16px}
.skip-link{position:absolute;left:-999px;top:8px;z-index:100;padding:8px 14px;border-radius:8px;background:var(--accent);color:#fff}
.skip-link:focus{left:12px}
.jb-progress{height:2px;background:transparent;position:sticky;top:0;z-index:6}
.jb-progress>i{display:block;height:100%;width:0;background:var(--accent);transition:width .25s}
@media(max-width:760px){
 .jb-tracks,.jb-active{padding-left:20px;padding-right:20px}
 .jb-track-chips{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;margin:0 -20px;padding:0 20px 4px}
 .jb-track-chips::-webkit-scrollbar{display:none}
 .jb-track-chips button{flex-shrink:0}
}
@media(prefers-reduced-motion:reduce){.jb-skel li,.jb-track-chips button{animation:none;transition:none}}
.jb-tags i.track{background:#efe8df;color:#6a5840}
