.jobs-filters{display:flex;flex-wrap:wrap;gap:var(--space-sm) var(--space-md);align-items:flex-end;max-width:var(--content-reading);margin:0 auto var(--space-md)}.jobs-filter-field{display:grid;gap:.35rem;color:var(--text-muted);font-size:var(--text-xs)}.jobs-filter-q{flex:1 1 16rem}.jobs-filter-field input,.jobs-filter-field select{min-height:44px;padding:0 .85rem;color:var(--text-ink);font:inherit;font-size:var(--text-sm);background:var(--surface-canvas);border:1px solid var(--border-strong);border-radius:var(--radius-sm)}.jobs-filter-field input:focus-visible,.jobs-filter-field select:focus-visible{outline:2px solid var(--brand-primary);outline-offset:1px}.jobs-chips{display:flex;flex-wrap:wrap;gap:.5rem;width:100%}.jobs-chip{min-height:40px;padding:0 1rem;color:var(--text-body);font:inherit;font-size:var(--text-sm);background:var(--surface-canvas);border:1px solid var(--border-strong);border-radius:var(--radius-full);cursor:pointer}.jobs-chip[aria-pressed=true]{color:var(--surface-canvas);background:var(--brand-primary);border-color:var(--brand-primary)}.jobs-chip-count{margin-left:.25rem;font-variant-numeric:tabular-nums;opacity:.75}.jobs-count{max-width:var(--content-reading);margin:0 auto var(--space-sm);color:var(--text-muted);font-size:var(--text-sm)}.jobs-group+.jobs-group{margin-top:var(--space-xl)}.jobs-group-title{max-width:var(--content-reading);margin:0 auto;padding-bottom:var(--space-xs);color:var(--text-ink);font-size:var(--text-lg);font-weight:600;border-bottom:2px solid var(--text-ink)}.jobs-empty{display:grid;gap:var(--space-sm);justify-items:start;max-width:var(--content-reading);margin:var(--space-lg) auto;color:var(--text-muted)}body:has(.job-apply-bar){padding-bottom:calc(5.5rem + env(safe-area-inset-bottom))}.job-published{margin:var(--space-sm) 0 0;color:var(--text-muted);font-size:var(--text-sm)}.job-summary{display:flex;flex-wrap:wrap;gap:var(--space-xs) var(--space-lg);margin:var(--space-md) 0 0;font-size:var(--text-sm)}.job-summary div{display:flex;gap:.5rem}.job-summary dt{color:var(--text-muted)}.job-summary dd{margin:0;color:var(--text-ink);font-weight:600}.job-layout{display:grid;gap:var(--space-xl)}@media(min-width:64rem){.job-layout{grid-template-columns:13rem minmax(0,1fr);align-items:start}.job-toc{position:sticky;top:calc(var(--header-height, 5rem) + 1.5rem)}}.job-toc{font-size:var(--text-sm)}.job-toc-title{margin:0 0 var(--space-xs);color:var(--text-muted);font-size:var(--text-xs);font-weight:600;letter-spacing:.08em}.job-toc ol{display:grid;gap:.4rem;margin:0;padding:0 0 0 .9rem;border-left:1px solid var(--border-rule);list-style:none}.job-toc a{color:var(--text-body);text-decoration:none}.job-toc a:hover{color:var(--brand-primary);text-decoration:underline}.job-body{max-width:var(--content-reading);min-width:0}.job-section{scroll-margin-top:calc(var(--header-height, 5rem) + 1rem)}.job-section+.job-section{margin-top:var(--space-xl)}.job-section>h2{margin:0 0 var(--space-sm);padding-bottom:var(--space-xs);color:var(--text-ink);font-size:var(--text-lg);font-weight:600;border-bottom:1px solid var(--border-strong)}.job-text{display:grid;gap:var(--space-sm);color:var(--text-body);line-height:1.95;line-break:strict}.job-text h3{margin:var(--space-xs) 0 0;color:var(--text-ink);font-size:var(--text-md);font-weight:600}.job-text p{margin:0;white-space:pre-wrap;overflow-wrap:anywhere}.job-text a{color:var(--brand-primary);word-break:break-all}.job-qa{display:grid;gap:var(--space-md);margin:0}.job-qa dt{color:var(--text-ink);font-weight:600}.job-qa dt:before{content:"Q. ";color:var(--brand-primary)}.job-qa dd{margin:var(--space-2xs, .25rem) 0 0}.job-back{margin:var(--space-xl) 0 0}.job-apply-bar{position:fixed;inset:auto 0 0;z-index:40;display:flex;justify-content:center;padding:.75rem 1rem calc(.75rem + env(safe-area-inset-bottom));background:color-mix(in oklch,var(--surface-canvas) 92%,transparent);border-top:1px solid var(--border-rule);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.job-apply-bar .btn-primary{min-width:min(20rem,100%);justify-content:center}body:has(.job-apply-bar) .role-quiz{bottom:calc(5rem + env(safe-area-inset-bottom))}body:has(.job-apply-bar) .role-quiz-panel{max-height:calc(100dvh - 13.5rem - env(safe-area-inset-bottom))}@media(max-width:48rem){body:has(.job-apply-bar) .role-quiz-panel{max-height:calc(100dvh - 11.5rem - env(safe-area-inset-bottom))}}
