:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;color:#242922;background:#faf9f6;font-synthesis:none;--ink:#242922;--muted:#777d72;--line:#e5e6df;--green:#426c45;--soft:#ecf1e7}*{box-sizing:border-box}body{margin:0}main{max-width:980px;margin:0 auto;padding:0 38px}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer}button:disabled{opacity:.55;cursor:wait}a{color:inherit}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #acc39d;outline-offset:4px}header{height:106px;display:flex;align-items:center;justify-content:space-between}.brand{text-decoration:none;font-size:27px;letter-spacing:-1.5px;font-weight:800}.brand span{color:var(--green);display:inline-block;margin-left:4px}.nav-link{text-decoration:none;font-size:12px;color:#656e60}.nav-link span{margin-left:5px}.hero{max-width:670px;margin:58px auto 0}.eyebrow{display:block;font-size:10px;font-weight:700;letter-spacing:2px;color:var(--green)}h1{font-size:clamp(43px,6.5vw,68px);line-height:1.04;letter-spacing:-3.4px;font-weight:650;margin:19px 0 19px}h1 em{font-family:Georgia,"Times New Roman",serif;font-weight:400;color:var(--green);letter-spacing:-2px}.intro{color:var(--muted);font-size:16px;margin:0 0 31px}.upload{display:flex;align-items:center;gap:17px;min-height:94px;padding:20px 22px;border:1px dashed #c8d0c0;border-radius:15px;background:#f3f5ee;cursor:pointer;transition:background .18s,border-color .18s}.upload:hover,.upload.dragover{background:#eaf0e3;border-color:var(--green)}.upload-icon{display:grid;place-items:center;width:35px;height:35px;border:1px solid #d6ddce;border-radius:10px;font-size:23px;color:var(--green);background:#fff8}.upload-copy{flex:1;min-width:0}.upload-copy strong{display:block;font-size:14px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.upload-copy small{display:block;color:var(--muted);font-size:11px;margin-top:5px}.upload-action{font-size:11px;color:var(--green);font-weight:650;white-space:nowrap}.search-input{display:flex;align-items:center;gap:11px;background:white;border:1px solid var(--line);border-radius:12px;padding:6px 6px 6px 16px;margin-top:13px}.search-input>span{font-size:25px;color:#8a9383}.search-input input{width:100%;min-width:0;border:0;background:transparent;font-size:13px;padding:10px 0;color:var(--ink);outline-offset:0}.search-input button{flex-shrink:0;display:flex;gap:17px;align-items:center;border:0;border-radius:8px;background:var(--green);color:white;font-size:12px;font-weight:650;min-height:43px;padding:12px 17px}.search-input button:hover{background:#335936}.filter-row{display:flex;align-items:center;gap:20px;margin-top:17px;font-size:12px;color:#68715f}.country select{appearance:none;border:0;background:transparent;color:var(--ink);max-width:190px;padding:5px 15px 5px 0;cursor:pointer}.country:after{content:'⌄';margin-left:-8px;pointer-events:none}.remote{display:flex;gap:6px;align-items:center;white-space:nowrap}.remote input{accent-color:var(--green);width:14px;height:14px;margin:0}.text-button{border:0;background:transparent;color:inherit;font-size:inherit;padding:0;text-decoration:none}.text-button:hover{text-decoration:underline}#filter-toggle{margin-left:auto}#source-count{background:#e7ecdf;padding:2px 5px;border-radius:5px;font-size:10px}.filters{border:1px solid var(--line);border-radius:12px;margin-top:15px;padding:17px;font-size:12px;background:#fff}.filters fieldset{padding:0;border:0;margin:0 0 14px}.filters legend{font-weight:650;margin-bottom:12px}.source-options{display:grid;grid-template-columns:repeat(3,1fr);gap:11px}.source-options label{display:flex;gap:7px;align-items:center}.source-options input{accent-color:var(--green)}.posted{display:flex;align-items:center;gap:13px;color:var(--muted)}.posted select{padding:5px;border:1px solid var(--line);border-radius:6px;background:#fff;color:var(--ink)}.privacy{display:flex;align-items:center;flex-wrap:wrap;gap:5px;margin-top:17px;color:#858c7e;font-size:10px;line-height:1.8}.privacy>span{color:var(--green);margin-right:2px}.privacy button{text-decoration:underline;text-underline-offset:2px}.privacy-detail{font-size:11px;line-height:1.6;color:var(--muted);max-width:580px}.roles{display:flex;gap:6px;flex-wrap:wrap;margin-top:14px}.role{font-size:10px;background:var(--soft);color:var(--green);padding:5px 9px;border-radius:6px}.error{font-size:12px;color:#ac413a;line-height:1.6}.results-section{margin:48px auto 0;max-width:760px}.results-heading{display:flex;justify-content:space-between;align-items:center}.results-heading .eyebrow{font-size:9px;letter-spacing:1.7px}h2{font-size:23px;font-weight:600;letter-spacing:-.8px;margin:8px 0}#summary{font-size:11px;color:var(--muted);line-height:1.5;margin:7px 0}.elapsed{font-variant-numeric:tabular-nums;font-size:11px;color:var(--muted)}.busy{display:inline-block;width:7px;height:7px;margin:0 0 3px 10px;border-radius:50%;background:#79a365;animation:breathe 1.2s ease-in-out infinite}.progress{display:flex;flex-wrap:wrap;gap:7px;margin:15px 0 20px}.source-status{font-size:9px;color:#87917f;padding:4px 7px;border:1px solid var(--line);border-radius:6px}.source-status.done{color:var(--green);background:#edf1e7;border-color:#e3e9da}.source-status.failed{color:#9b7448}.results{display:flex;flex-direction:column;gap:11px}.job-card{display:grid;grid-template-columns:1fr auto;gap:13px;padding:20px 22px;background:#fff;border:1px solid var(--line);border-radius:13px;animation:arrive .35s cubic-bezier(.2,.8,.2,1) both;transition:border-color .15s,transform .15s}.job-card:hover{border-color:#bacbb2;transform:translateY(-1px)}.job-title{font-size:14px;font-weight:650;line-height:1.5;text-decoration:none;display:inline-block}.job-title:hover{text-decoration:underline}.job-company{font-size:12px;color:#737c6b;margin:5px 0 8px;line-height:1.6}.job-meta{display:flex;gap:8px;flex-wrap:wrap;font-size:9px;color:#8c9386}.job-meta span+span:before{content:'·';margin-right:8px}.job-arrow{align-self:center;width:32px;height:32px;border:1px solid #e5e9df;border-radius:50%;display:grid;place-items:center;text-decoration:none;color:var(--green);font-size:17px}.match-tag{display:inline-block;font-size:9px;line-height:1.3;color:var(--green);background:#eff4e9;border-radius:5px;padding:4px 6px;margin-bottom:9px}.empty{padding:32px 0;text-align:center;font-size:12px;color:var(--muted)}.more{display:block;margin:23px auto 0;border:1px solid #ccd7c5;background:transparent;color:var(--green);padding:12px 17px;border-radius:9px;font-size:12px}.more span{margin-left:12px}footer{display:flex;justify-content:space-between;gap:20px;align-items:center;border-top:1px solid var(--line);margin-top:80px;padding:27px 0 35px;font-size:10px;color:var(--muted)}footer>div:first-child{display:flex;gap:14px;align-items:center}footer strong{font-size:14px;letter-spacing:-.6px;color:#6a7461}.footer-links{display:flex;gap:15px;align-items:center}.footer-links a{text-decoration:none}dialog{position:relative;max-width:480px;width:calc(100% - 32px);border:1px solid var(--line);border-radius:16px;padding:30px;color:var(--ink);background:#faf9f6;box-shadow:0 15px 80px #263c2426}dialog::backdrop{background:#1d2b2166}dialog h2{font-size:22px}dialog p,dialog li{font-size:12px;line-height:1.9;color:#6d7764}dialog li{margin-bottom:9px}.dialog-close{position:absolute;right:15px;top:10px;font-size:25px;border:0;background:none;color:var(--muted)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}[hidden]{display:none!important}@keyframes breathe{50%{opacity:.3;transform:scale(.8)}}@keyframes arrive{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@media(max-width:600px){main{padding:0 22px}header{height:83px}.brand{font-size:23px}.hero{margin-top:35px}h1{letter-spacing:-2px}.intro{font-size:14px}.upload{padding:17px 14px;gap:11px}.upload-action{font-size:10px}.upload-copy strong{font-size:12px}.filter-row{gap:12px;font-size:11px}.country select{max-width:140px;font-size:11px}.search-input{padding-left:12px;gap:6px}.search-input input{font-size:12px}.search-input button{padding:10px 12px;gap:7px;font-size:11px}.source-options{grid-template-columns:repeat(2,1fr)}.job-card{padding:17px 15px;gap:8px}.job-title{font-size:13px}.results-section{margin-top:35px}footer{align-items:flex-start;margin-top:57px}footer>div:first-child{flex-direction:column;align-items:flex-start;gap:5px}.footer-links{flex-direction:column;align-items:flex-end;gap:9px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
.pool-line,.share{margin:8px 0 0;font-size:11px;line-height:1.7;color:var(--muted)}
.pool-line strong{color:var(--ink);font-weight:650}
.pool-line a{color:var(--green);text-underline-offset:2px}
.share label{display:inline-flex;gap:6px;align-items:center;cursor:pointer}
.share input{accent-color:var(--green);width:14px;height:14px;margin:0}
.share button{text-decoration:underline;text-underline-offset:2px;margin-left:4px}
.app-panel{max-width:760px;margin:64px auto 0;border:1px solid var(--line);border-radius:14px;background:#fff;padding:26px 28px}
.app-panel h2{font-size:22px;letter-spacing:-.6px;margin:8px 0 10px}
.app-panel p{font-size:13px;line-height:1.65;color:#4b5146;margin:0 0 10px;max-width:640px}
.app-actions{display:flex;gap:14px;align-items:center;flex-wrap:wrap;margin-top:16px}
.app-button{background:var(--green);color:#fff;text-decoration:none;border-radius:9px;padding:11px 16px;font-size:12px;font-weight:600}
.app-secondary{color:var(--green);font-size:12px;text-underline-offset:2px}
@media(max-width:600px){.app-panel{padding:20px 18px;margin-top:48px}.app-panel h2{font-size:19px}}
.filter-row select{appearance:none;border:0;background:transparent;color:var(--ink);font-size:12px;padding:5px 14px 5px 0;cursor:pointer;max-width:200px}
.city-picker-wrap{margin-top:12px}
.city-picker-wrap .ts-wrapper{font-size:12px}
.city-picker-wrap .ts-control{border-radius:9px;border-color:var(--line);padding:9px;box-shadow:none;background:#fff}
.city-picker-wrap .ts-wrapper.multi .ts-control>div{background:var(--soft);color:var(--green);border:0;border-radius:4px}
.city-picker-wrap .ts-dropdown{border-radius:9px;z-index:15;font-size:12px}
.ready{color:var(--green)}
.role{display:inline-flex;align-items:center;gap:6px;font-size:11px}
.role-remove{border:0;background:transparent;color:var(--green);font-size:13px;line-height:1;padding:0 0 1px;cursor:pointer;opacity:.7}
.role-remove:hover{opacity:1}
.search-input button.stop{background:#fff;color:var(--ink);border:1px solid var(--line)}
.search-input button.stop:hover{background:var(--soft)}
.results-section{max-width:980px}
.results{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:18px}
.source-column{display:flex;flex-direction:column;min-width:0;height:540px;max-height:calc(100vh - 140px);background:#fff;border:1px solid var(--line);border-radius:13px;overflow:hidden}
.source-column.is-empty{height:auto;min-height:0}
.column-head{display:flex;align-items:center;gap:8px;padding:13px 15px;border-bottom:1px solid #f0f1eb}
.column-head strong{font-size:13px;letter-spacing:-.2px}
.column-count{font-size:10px;color:var(--green);background:var(--soft);border-radius:5px;padding:2px 6px}
.column-state{margin-left:auto;font-size:10px;color:var(--muted)}
.column-state.done{color:var(--green)}.column-state.failed{color:#9b7448}
.column-list{flex:1 1 auto;overflow-y:auto;display:flex;flex-direction:column;gap:9px;padding:10px;scrollbar-width:thin}
.column-list .job-card{flex:0 0 auto;padding:15px 16px}
.column-empty{margin:auto;padding:18px 10px;font-size:11px;color:var(--muted);text-align:center}
.progress{display:none}
@media(max-width:1000px){.results{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.results{grid-template-columns:minmax(0,1fr)}.source-column{height:460px}}

/* Pool-wide match: percentage badge + "Why this match" (match-ui.mjs) */
.match-badge{display:inline-block;font-size:.74rem;font-weight:600;padding:.1rem .5rem;border-radius:999px;margin:0 0 .3rem;border:1px solid var(--line)}
.match-strong{background:var(--soft);color:var(--green)}
.match-good{background:#f1f5ec;color:var(--green)}
.match-possible{background:#f6efe6;color:#9b7448}
.match-weak{background:#f6ecea;color:#ac413a}
.match-why{font-size:.76rem;margin-top:.4rem;color:var(--ink)}
.match-why summary{cursor:pointer;color:var(--green);font-weight:600;display:inline-flex;align-items:center;gap:4px}
.match-why summary:hover{text-decoration:underline}
.match-card-body{margin-top:.4rem;padding:8px 10px;background:#fbfbf9;border-radius:6px;border:1px solid #ebece6}
.match-summary-text{margin:0 0 .5rem 0;line-height:1.45;color:#2c3328;font-size:.78rem}
.match-dims{list-style:none;padding:0;margin:0}
.match-dims li{margin:.3rem 0;line-height:1.35}
.dim-icon{display:inline-block;width:1.15em;font-weight:700}
.dim-match .dim-icon{color:var(--green)}.dim-partial .dim-icon{color:#9b7448}.dim-gap .dim-icon{color:#ac413a}.dim-unknown .dim-icon{color:var(--muted)}
.dim-detail{color:var(--muted);font-size:.74rem}
.dim-chips{display:flex;flex-wrap:wrap;gap:4px;margin:3px 0 3px 1.2em}
.chip{display:inline-block;font-size:.68rem;padding:1px 6px;border-radius:4px;font-weight:500}
.chip-has{background:#e8f4e5;color:#2d6a2e;border:1px solid #c7e3c1}
.chip-missing{background:#fdf0ed;color:#ac413a;border:1px solid #f4cfc9}
.match-tip{margin-top:.5rem;padding:6px 8px;background:#f3f6ee;border-left:3px solid var(--green);border-radius:4px;font-size:.73rem;line-height:1.35;color:#2c3328}
.match-note{display:block;color:var(--muted);margin-top:.35rem;font-size:.68rem}
.dim-evidence{list-style:none;margin:2px 0 4px 1.2em;padding:0;font-size:.72rem}
.dim-evidence li{margin:.12rem 0;line-height:1.35;color:var(--muted)}
.dim-evidence q{font-style:italic;color:#2c3328}

.match-sg{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:.4rem 0;font-size:.72rem}
.match-sg ul{margin:0;padding-left:1.1em}
.match-contrib{display:grid;gap:3px;margin:.4rem 0;font-size:.7rem}
.contrib-title{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-size:.62rem}
.contrib-row{display:grid;grid-template-columns:140px 1fr 36px;align-items:center;gap:8px}
.contrib-bar{height:6px;background:#ebece6;border-radius:4px;overflow:hidden}.contrib-bar i{display:block;height:100%}
.contrib-row.up i{background:var(--green)}.contrib-row.down i{background:#ac413a}
.contrib-val{text-align:right;color:var(--muted)}
