.finder{gap:14px;display:grid}.finder-bar{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);grid-template-columns:minmax(0,2fr) minmax(0,1fr) minmax(0,1fr);align-items:end;gap:12px 16px;padding:16px;display:grid}.finder-field{gap:6px;min-width:0;display:grid}.finder-field>label{font-size:14px;font-weight:600}.finder-place{gap:8px;display:flex}.finder-place input{flex:auto;min-width:0}.finder-place button{flex-shrink:0}.finder-check{cursor:pointer;grid-column:1/-1;align-items:center;gap:8px;min-height:44px;font-size:14px;font-weight:600;display:flex}.finder-check input{width:18px;height:18px;accent-color:var(--accent)}.finder-kinds{border:0;flex-wrap:wrap;grid-column:1/-1;gap:8px;min-width:0;margin:0;padding:0;display:flex}.finder-kinds legend{width:100%;margin-bottom:6px;padding:0;font-size:14px;font-weight:600}.finder-chip{border:1px solid var(--border);background:var(--surface-raised);cursor:pointer;border-radius:999px;align-items:center;gap:8px;min-height:44px;padding:0 14px;font-size:14px;transition:border-color .15s,background-color .15s;display:inline-flex}.finder-chip:has(input:checked){border-color:var(--accent);background:var(--accent-soft)}.finder-chip:has(input:focus-visible){outline:2px solid var(--accent);outline-offset:2px}.finder-chip input{width:18px;height:18px;accent-color:var(--accent)}.finder-count{font-family:var(--font-mono);letter-spacing:.04em;text-transform:uppercase;color:var(--text-dim);margin:0;font-size:12px}.sample-notice strong{color:var(--text)}.job-cards{gap:12px;margin:0;padding:0;list-style:none;display:grid}.job-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);min-width:0;animation:.35s ease-out both rise;animation-delay:calc(min(var(--i,0), 8) * 45ms);gap:12px;padding:18px;transition:border-color .15s;display:grid}.job-card:hover{border-color:var(--border-strong)}.job-card-head{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.job-card-title{gap:2px;min-width:0;display:grid}.job-card .job-title{font-family:var(--font-display);color:var(--text);overflow-wrap:anywhere;font-size:18px;line-height:1.3;text-decoration:none}.job-card .job-title:hover{color:var(--accent-text);text-decoration:underline}.sample-tag{font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--warn);background:var(--warn-soft);border-radius:999px;justify-self:start;margin-bottom:4px;padding:2px 8px;font-size:11px}.job-facts{flex-wrap:wrap;gap:6px;display:flex}.job-chip{font-family:var(--font-mono);color:var(--text-muted);background:var(--surface-raised);border-radius:999px;padding:3px 10px;font-size:12px}.job-lines{border-left:3px solid var(--success);background:var(--success-soft);border-radius:0 8px 8px 0;gap:6px;padding:12px 14px;display:grid}.job-lines-head{color:var(--success);margin:0;font-size:13px;font-weight:600}.job-lines ul{gap:6px;margin:0;padding:0;list-style:none;display:grid}.job-lines li{flex-wrap:wrap;align-items:baseline;gap:2px 8px;min-width:0;font-size:14px;display:flex}.job-line-skill{font-weight:600}.job-lines q{color:var(--text-muted);overflow-wrap:anywhere;min-width:0}.job-line-source{font-family:var(--font-mono);letter-spacing:.04em;text-transform:uppercase;color:var(--text-dim);font-size:11px}.job-gaps{border-left:3px solid var(--warn);background:var(--warn-soft);border-radius:0 8px 8px 0;gap:6px;padding:12px 14px;display:grid}.job-gaps-head{color:var(--warn);margin:0;font-size:13px;font-weight:600}.job-gaps-head a{margin-left:8px;font-weight:600}.job-gaps ul{gap:6px;margin:0;padding:0;list-style:none;display:grid}.job-gaps li{flex-wrap:wrap;align-items:baseline;gap:2px 8px;min-width:0;font-size:14px;display:flex}.job-gaps q{color:var(--text-muted);overflow-wrap:anywhere;min-width:0}.job-near{color:var(--text-dim);flex-basis:100%;font-size:13px}.job-thin{color:var(--text-dim);margin:0;font-size:13px}.job-card .job-fit{margin:0;display:block}.job-actions{flex-wrap:wrap;align-items:center;gap:10px 12px;display:flex}a.primary.job-apply,.job-actions .outline{align-items:center;min-height:44px;padding:10px 18px;font-size:15px;text-decoration:none;display:inline-flex}a.primary.job-apply{color:var(--accent-ink)}.job-actions .outline.tracked{color:var(--success);border-color:var(--success)}.job-actions .job-credit{margin-left:auto}.board-searches{flex-wrap:wrap;gap:10px;margin:0;padding:0;list-style:none;display:flex}.board-searches a{background:var(--surface);border:1px solid var(--border-strong);border-radius:999px;align-items:center;min-height:44px;padding:10px 18px;font-weight:600;text-decoration:none;transition:border-color .15s,background .15s;display:inline-flex}.board-searches a:hover{border-color:var(--accent);background:var(--accent-soft)}@media (max-width:720px){.finder-bar{grid-template-columns:1fr}.job-card{padding:14px}.job-actions>*{flex:100%;justify-content:center}.job-actions .job-credit{margin-left:0}}.job-plan{flex-wrap:wrap;flex-basis:100%;align-items:baseline;gap:2px 12px;font-size:13px;display:flex}.job-plan .link-button{font-size:13px;font-weight:600}.job-plan-added{color:var(--success);font-weight:600}.scope-bar{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr) minmax(0,1.4fr);align-items:end;gap:12px 16px;display:grid}.scope-roles{flex-wrap:wrap;gap:6px;margin:14px 0 0;padding:0;font-size:14px;list-style:none;display:flex}.scope-roles li{background:var(--surface-raised);border-radius:999px;padding:4px 10px}.scope-score{font-family:var(--font-mono);color:var(--accent-text);font-size:12px}.fit-ring{flex:none;place-items:center;width:60px;height:60px;display:grid;position:relative}.fit-ring svg{position:absolute;inset:0;transform:rotate(-90deg)}.fit-ring circle{fill:none;stroke-width:4px}.fit-ring-track{stroke:var(--surface-raised)}.fit-ring-fill{stroke:var(--accent);stroke-linecap:round;stroke-dasharray:100;stroke-dashoffset:calc(100 - var(--w,0) * 100);animation:.8s ease-out both fill-ring}@keyframes fill-ring{0%{stroke-dashoffset:100px}}.fit-ring-num{font-family:var(--font-mono);color:var(--accent-text);font-size:16px;font-weight:500;line-height:1}.fit-ring-num small{font-size:10px}.job-chip-strong{color:var(--text);font-weight:600}.job-skills{flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none;display:flex}.skill-chip{animation:.35s ease-out both chip-in;animation-delay:calc(var(--i,0) * 40ms);border:1px solid #0000;border-radius:999px;align-items:center;gap:4px;padding:4px 10px;font-size:13px;display:inline-flex}.skill-chip.have{background:var(--accent-soft);color:var(--accent-text)}.skill-chip.taught{border-color:var(--accent);color:var(--accent-text)}.skill-chip.gap{background:var(--warn-soft);border-color:var(--warn);color:var(--warn)}.skill-chip.planned{border:1px dashed var(--warn);color:var(--warn)}.skill-chip.more{color:var(--text-dim)}@keyframes chip-in{0%{opacity:0;transform:translateY(4px)}}.job-match{border-top:1px solid var(--border);padding-top:10px}.job-match summary{min-height:44px;color:var(--accent-text);cursor:pointer;flex-wrap:wrap;align-items:center;gap:4px 12px;font-weight:600;display:flex}.job-match-count{font-family:var(--font-mono);color:var(--text-dim);font-size:12px;font-weight:400}.job-match-body{gap:12px;padding-top:8px;display:grid}.job-match[open] .job-match-body{animation:.25s ease-out both chip-in}.job-match-how{color:var(--text-dim);margin:0;font-size:13px}@media (max-width:720px){.scope-bar{grid-template-columns:1fr}}.market{background:var(--ink-band);color:var(--ink-band-text);border-radius:calc(var(--radius) + 6px);grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);gap:24px;padding:22px;display:grid}.market-side{align-content:start;gap:16px;display:grid}.market-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:0;display:grid}.market-stats>div{border:1px solid var(--ink-band-rule);border-radius:var(--radius);flex-direction:column-reverse;justify-content:flex-end;gap:4px;padding:12px;display:flex}.market-stats dd{font-family:var(--font-mono);margin:0;font-size:34px;line-height:1}.market-stats dt{color:var(--ink-band-muted);font-size:13px}.market-stats .ready dd{color:var(--accent-on-ink)}.market-stats .step dd{color:var(--warn-on-ink)}.market-add{text-align:left;justify-items:start;gap:2px;transition:transform .15s ease-out;display:grid}.market-add:hover{transform:translateY(-1px)}.market-add-which{opacity:.85;font-size:13px;font-weight:400}.market-added{margin:0;font-size:14px}.market-added a{color:var(--ink-band-text)}.market-asks h3{color:var(--ink-band-text);margin:0 0 12px;font-size:17px}.market-bars{gap:8px;margin:0;padding:0;list-style:none;display:grid}.market-bars li{grid-template-columns:minmax(0,150px) minmax(0,1fr) 32px;align-items:center;gap:10px;font-size:14px;display:grid}.market-bar-label{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.market-bar-track{background:var(--ink-band-rule);border-radius:999px;height:10px;overflow:hidden}.market-bar-fill{width:calc(var(--w,0) * 100%);background:var(--accent-on-ink);transform-origin:0;height:100%;animation:.8s ease-out both grow-bar;animation-delay:calc(var(--i,0) * 60ms);border-radius:999px;display:block}.market-bars .market-taught .market-bar-fill{background:var(--accent-on-ink);opacity:.55}.market-bars .market-gap .market-bar-fill{background:var(--warn-on-ink)}.market-bars .market-planned .market-bar-fill{box-shadow:inset 0 0 0 2px var(--warn-on-ink);background:0 0}@keyframes grow-bar{0%{transform:scaleX(0)}}.market-bar-n{font-family:var(--font-mono);text-align:right;color:var(--ink-band-muted)}.market-legend{color:var(--ink-band-muted);flex-wrap:wrap;gap:6px 14px;margin:12px 0 0;font-size:12px;display:flex}.market-legend .market-have:before,.market-legend .market-taught:before,.market-legend .market-gap:before{content:"";vertical-align:-1px;background:var(--accent-on-ink);border-radius:3px;width:10px;height:10px;margin-right:6px;display:inline-block}.market-legend .market-taught:before{opacity:.55}.market-legend .market-gap:before{background:var(--warn-on-ink)}.job-lanes{gap:22px;display:grid}.job-lane{gap:12px;display:grid}.lane-head{flex-wrap:wrap;align-items:baseline;gap:4px 10px;margin:0;font-size:19px;display:flex}summary.lane-head{cursor:pointer;border:1px dashed var(--border-strong);border-radius:var(--radius);padding:12px 14px;font-size:16px;list-style:none}summary.lane-head::-webkit-details-marker{display:none}summary.lane-head:before{content:"+";font-family:var(--font-mono);color:var(--text-muted)}.job-lane.folded[open] summary.lane-head:before{content:"−"}.lane-dot{background:var(--text-dim);border-radius:50%;flex:none;align-self:center;width:10px;height:10px}.lane-dot.ready{background:var(--success)}.lane-dot.step{background:var(--warn)}.lane-count{font-family:var(--font-mono);background:var(--surface-raised);color:var(--text-muted);border-radius:999px;padding:1px 8px;font-size:13px;font-weight:500}.lane-about{color:var(--text-muted);flex-basis:100%;font-size:14px;font-weight:400}.job-lane.ready .job-card{border-left:3px solid var(--success)}.job-lane.step .job-card{border-left:3px solid var(--warn)}.job-close{border-radius:calc(var(--radius) - 4px);background:var(--warn-soft);margin:0;padding:10px 12px;font-size:14px}.job-close strong{color:var(--warn)}@media (max-width:860px){.market{grid-template-columns:minmax(0,1fr);padding:16px}}@media (max-width:480px){.market-stats dd{font-size:26px}.market-stats>div{padding:10px 8px}.market-bars li{grid-template-columns:minmax(0,110px) minmax(0,1fr) 28px}}.market-legend .market-planned:before{content:"";vertical-align:-1px;width:10px;height:10px;box-shadow:inset 0 0 0 2px var(--warn-on-ink);border-radius:3px;margin-right:6px;display:inline-block}.job-chip-thin{background:var(--warn-soft);color:var(--warn)}.jobs-welcome{border-left:3px solid var(--accent);border-radius:calc(var(--radius) - 4px);background:var(--accent-soft);gap:4px;padding:14px 16px;display:grid}.jobs-welcome p{margin:0}.jobs-welcome.first{animation:.5s ease-out both welcome-in}.jobs-welcome-head{font-size:17px;font-weight:600}@keyframes welcome-in{0%{opacity:0;transform:translateY(-6px)}}.lanes-none{color:var(--text-muted);margin:0}
