.career-main { width: min(100% - 48px, 1300px); }
.career-nav { display:flex; flex-wrap:wrap; gap: .4rem 1.25rem; padding: 10px 0 13px; font: 750 .8rem/1.3 var(--mono); }
.career-nav a, .career-contract a { color: var(--ink); text-underline-offset: 3px; }
.practice-link { margin-left:auto; }
.career-hero {
  min-height: 234px; display: grid; align-items: center; border: 2px solid var(--ink);
  background: linear-gradient(90deg, #302217 0%, #302217f0 34%, #30221788 70%, #30221714),
    url(assets/fairground.jpg) center 67% / cover; color: #fff0d5;
}
.career-hero-copy { max-width: 650px; padding: clamp(20px, 4vw, 46px); }
.career-hero h2 { font: 900 clamp(2rem, 5vw, 4.75rem)/.98 var(--display); text-transform: uppercase; margin: 6px 0 12px; overflow-wrap:anywhere; }
#career-rank { color: #f5c765; font: 800 .76rem/1.4 var(--mono); letter-spacing: .12em; text-transform: uppercase; }
#career-story { max-width: 52ch; }
#start-career { margin-top: 18px; }
#start-career label { display:block; font: 800 .75rem/1.4 var(--mono); text-transform:uppercase; }
.start-row { display:flex; flex-wrap:wrap; gap:8px; margin-top: 5px; }
.start-row input { padding: .55rem .65rem; color: var(--ink); background:#fff0d5; border:1px solid var(--ink); font:inherit; min-width: 0; }
.career-action {
  display:inline-block; border:1px solid var(--ink); background:#f3d298; color:var(--ink);
  font: 800 .77rem/1.25 var(--mono); padding:8px 11px; text-decoration:none; text-align:center;
}
.career-action:hover:not(:disabled) { background:#f4bc55; }
.career-action.primary, #start-career button { color:#fff0d5; background:#9a3223; }
.career-action.primary:hover:not(:disabled), #start-career button:hover { background:#772719; }
.career-action:disabled { cursor:default; opacity:.50; }
.career-notice { margin:10px 0; padding:8px 12px; border:1px solid var(--rule); background:#fff0d5; }
.career-stats { display:grid; grid-template-columns:repeat(4, 1fr); margin:14px 0 20px; border:2px solid var(--ink); }
.career-stats div { padding:10px 14px; border-right:1px solid var(--rule); }
.career-stats div:last-child { border-right:0; }
.career-stats dt { font: 800 .7rem/1.2 var(--mono); text-transform:uppercase; color:var(--muted); }
.career-stats dd { margin:4px 0 0; font:900 clamp(1.3rem, 3vw, 2.25rem)/1 var(--display); }
.career-grid { display:grid; grid-template-columns:minmax(0, 2fr) minmax(280px, 1fr); gap:24px; }
.section-title { display:flex; align-items:end; justify-content:space-between; gap:14px; margin-bottom:10px; }
.section-title h2, .career-panel h2 { font:900 1.7rem/1 var(--display); text-transform:uppercase; margin-bottom:4px; }
.section-title p, .career-panel p { color:var(--muted); font-size:.88rem; }
.job-filter { font:750 .75rem/1.25 var(--mono); white-space:nowrap; }
.job-filter select, .job-filter input { color:var(--ink); border:1px solid var(--rule); background:#fff0d5; padding:5px; font:inherit; }
.job-filters { display:flex; flex-wrap:wrap; gap:8px 14px; padding:8px 0 12px; }
.job-filter input { max-width:100%; width:180px; }
.job-count { font:.76rem/1.3 var(--mono); color:var(--muted); margin:0 0 8px; }
.job-pages { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:8px; margin:12px 0 18px; font:.77rem/1.2 var(--mono); }
.job-list { display:grid; grid-template-columns:repeat(auto-fit, minmax(min(100%, 250px), 1fr)); gap:12px; }
.job-card { display:flex; flex-direction:column; padding:14px; border:1px solid var(--rule); border-top:4px solid var(--ink); background:#fff1d759; gap:8px; }
.job-card h3 { font:900 1.37rem/1.05 var(--display); text-transform:uppercase; margin:0; }
.job-card p { font-size:.9rem; }
.job-card .job-town, .job-card .job-meta { font:800 .72rem/1.25 var(--mono); color:var(--muted); text-transform:uppercase; }
.job-card .job-objective { padding-top:7px; border-top:1px dotted var(--rule); }
.job-card footer { margin-top:auto; display:flex; flex-wrap:wrap; align-items:center; gap:6px 10px; justify-content:space-between; }
.job-pay { font:900 1.25rem/1 var(--display); color:#8c2c21; }
.job-card.locked { border-top-color:var(--rule); }
.job-card[data-tier="5"]:not(.locked) { border-top-color:#946629; }
.job-card[data-tier="6"]:not(.locked) { border-top-color:#9a3223; }
.active-contract { margin-bottom:12px; padding:12px; border:1px solid #79512a; background:#f3d298; }
.active-contract p { margin: 2px 0 8px; }
.active-contract .career-action { margin-right:6px; }
.career-panel { border-top:2px solid var(--ink); padding:12px 0 16px; }
.garage-item { padding:9px 0; border-bottom:1px dotted var(--rule); }
.garage-item strong { display:block; margin-bottom:5px; }
.garage-item button { margin-right:5px; }
.side-work { margin-top:10px; }
.side-work small { display:block; margin-top:4px; }
.career-table-scroll { max-height:380px; overflow:auto; margin-top:8px; }
.career-table-scroll table { width:100%; border-collapse:collapse; font: .72rem/1.25 var(--mono); }
.career-table-scroll th, .career-table-scroll td { text-align:left; padding:5px 4px; border-bottom:1px solid #b69b766b; }
.career-table-scroll th { position:sticky; top:0; background:var(--paper); }
.career-table-scroll td:nth-last-child(-n+2) { white-space:nowrap; }
.money-out { color:#9a3223; }
.money-in { color:#245644; }
.show-record { margin:8px 0 0; padding-left:18px; font-size:.82rem; max-height:225px; overflow:auto; }
.show-record li { padding:3px 0; }
.career-contract { border-left:4px solid var(--red); padding:6px 10px; margin:10px 0; background:#f3d298; display:grid; gap:2px; }
.career-contract p { margin:0; font-size:.9rem; }
.scene-review { justify-self:start; margin-top:4px; }
.career-scene {
  width:min(900px, calc(100% - 30px)); max-height:calc(100dvh - 30px); padding:0;
  color:var(--ink); background:#fff0d5; border:3px solid var(--ink);
  box-shadow:8px 8px 0 #21180d69;
}
.career-scene[open] { display:grid; grid-template-columns:minmax(0, 1.2fr) minmax(0, 1fr); }
.career-scene::backdrop { background:#21180dd9; }
.scene-picture { display:flex; background:#8d5d42; min-height:270px; }
.scene-picture img { display:block; width:100%; height:100%; object-fit:cover; }
.scene-copy { padding:clamp(14px, 3vw, 28px); align-self:center; }
.scene-location { font:850 .72rem/1.3 var(--mono); text-transform:uppercase; color:#8c2c21; }
.scene-copy h2 { font:900 clamp(1.8rem, 4vw, 3.15rem)/1 var(--display); text-transform:uppercase; margin:5px 0 12px; }
.scene-copy p { margin-bottom:9px; }
.scene-copy p strong { display:block; font:800 .72rem/1.35 var(--mono); text-transform:uppercase; color:var(--muted); }
.scene-copy form { margin-top:13px; }
.controls.career-bus-controls { grid-template-columns:repeat(4, minmax(0, 1fr)) .67fr .85fr; }
@media (max-width: 920px) {
  .career-grid { grid-template-columns:minmax(0, 1fr); }
  .career-grid aside { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr)); gap:14px; }
  .controls.career-bus-controls { grid-template-columns:repeat(3,minmax(0,1fr)); }
}
@media (max-width: 550px) {
  .career-scene[open] { grid-template-columns:minmax(0, 1fr); }
  .scene-picture { min-height:0; max-height:37dvh; }
  .scene-picture img { aspect-ratio:3 / 2; }
  .career-main { width:calc(100% - 24px); }
  .career-hero { background:linear-gradient(90deg,#302217f4,#302217a8),url(assets/fairground.jpg) center / cover; }
  .career-stats { grid-template-columns:repeat(2,1fr); }
  .career-stats div:nth-child(-n+2) { border-bottom:1px solid var(--rule); }
  .career-stats div:nth-child(2) { border-right:0; }
  .section-title { align-items:start; flex-direction:column; gap:6px; }
  .controls.career-bus-controls { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
