@font-face{font-family:Unbounded;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/Unbounded-400-normal-cyrillic.woff2) format("woff2")}@font-face{font-family:Unbounded;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/Unbounded-500-normal-cyrillic.woff2) format("woff2")}@font-face{font-family:Unbounded;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/Unbounded-600-normal-cyrillic.woff2) format("woff2")}@font-face{font-family:Unbounded;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/Unbounded-700-normal-cyrillic.woff2) format("woff2")}:root{--accent: #120b8f;--accent-soft: #e5e7fb;--bg: #f7f9fb;--surface: #ffffff;--surface-2: #f2f4f8;--ink: #020202;--ink-2: #1c1c23;--muted: #6b6b76;--line: #e4e6ec;--on-accent: #f7f9fb;--shadow-card: 0 8px 32px rgba(18, 11, 143, .08);--shadow-pill: 0 2px 20px rgba(45, 73, 224, .1);--font-display: "Unbounded", "Arial Black", sans-serif;--font-text: Inter, "Helvetica Neue", Arial, sans-serif;--ease: cubic-bezier(.2, .6, .2, 1)}*{box-sizing:border-box}html,body{margin:0;min-height:100%}body{background:var(--bg);color:var(--ink-2);font-family:var(--font-text);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}button,input,select{font:inherit}button,a{color:inherit}svg{width:16px;height:16px;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.wrap{max-width:1280px;margin:0 auto;padding:28px 28px 64px}.topbar{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;flex-wrap:wrap;margin-bottom:22px}.brand{display:flex;flex-direction:column;gap:10px;min-width:0}.wordmark{color:var(--ink);font-family:var(--font-display);font-size:clamp(25px,3vw,40px);font-weight:700;line-height:1.02}.wordmark b{color:var(--accent)}.meta-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.updated{color:var(--muted);font-size:12px}.updated b{color:var(--ink-2);font-weight:600}.statstrip{display:flex;background:var(--surface);border-radius:20px;box-shadow:var(--shadow-pill);overflow:hidden}.stat{display:flex;flex-direction:column;gap:2px;padding:10px 18px;border-left:1px solid var(--line)}.stat:first-child{border-left:0}.num{color:var(--ink);font-family:var(--font-display);font-size:19px;font-weight:700}.lbl{color:var(--muted);font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap}.grid{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:22px;align-items:start}.main-card,.side-card{background:var(--surface);border-radius:24px;box-shadow:var(--shadow-card)}.main-card{overflow:hidden}.toolbar,.source-toolbar{display:flex;align-items:center;gap:12px;padding:14px 16px;border-bottom:1px solid var(--line)}.toolbar{flex-wrap:wrap}.source-toolbar{flex-wrap:wrap;padding-top:12px;padding-bottom:12px}.search{position:relative;flex:1 1 260px;min-width:220px}.search input{width:100%;border:1px solid var(--line);border-radius:999px;outline:none;background:var(--surface-2);color:var(--ink);padding:10px 16px 10px 38px;transition:border-color .18s var(--ease),box-shadow .18s var(--ease),background .18s var(--ease)}.search input:focus{background:var(--surface);border-color:var(--accent);box-shadow:0 0 0 3px #120b8f24}.search-icon{position:absolute;left:14px;top:50%;display:flex;color:var(--muted);transform:translateY(-50%)}.sort-select{position:relative}.sort-select select{-webkit-appearance:none;-moz-appearance:none;appearance:none;min-width:170px;border:1px solid var(--line);border-radius:999px;outline:none;background:var(--surface);color:var(--ink-2);cursor:pointer;font-size:12.5px;font-weight:600;padding:9px 34px 9px 14px}.sort-select:after{position:absolute;right:14px;top:50%;width:7px;height:7px;border-right:1.8px solid var(--muted);border-bottom:1.8px solid var(--muted);content:"";pointer-events:none;transform:translateY(-65%) rotate(45deg)}.chip{display:inline-flex;align-items:center;gap:7px;min-height:32px;border:1px solid var(--line);border-radius:999px;background:var(--surface);color:var(--ink-2);cursor:pointer;font-size:12.5px;font-weight:600;padding:7px 13px;transition:border-color .18s var(--ease),color .18s var(--ease),background .18s var(--ease);white-space:nowrap}.chip:hover{border-color:var(--accent);color:var(--accent)}.chip[data-on=true]{border-color:var(--accent);background:var(--accent);color:var(--on-accent)}.chip span:not(.src-dot){font-size:11px;opacity:.75}.src-dot{width:8px;height:8px;flex:none;border-radius:999px}.vacancy-table{width:100%}.thead,.row{display:grid;grid-template-columns:128px minmax(0,1.5fr) minmax(0,1fr) minmax(0,1fr) 138px;gap:12px;align-items:center}.thead{position:sticky;z-index:2;top:0;border-bottom:1px solid var(--line);background:var(--surface);color:var(--muted);font-size:10.5px;letter-spacing:.08em;padding:9px 20px;text-transform:uppercase}.align-right{text-align:right}.rows{display:flex;flex-direction:column}.row{min-height:48px;border-bottom:1px solid var(--line);padding:7px 14px;transition:background .12s var(--ease)}.row:last-child{border-bottom:0}.row:hover{background:color-mix(in srgb,var(--accent) 5%,var(--surface))}.row>div{min-width:0}.source-name{display:inline-flex;align-items:center;gap:7px;color:var(--ink-2);font-size:11.5px;font-weight:700}.vacancy-title{display:inline-flex;align-items:center;gap:6px;max-width:100%;color:var(--ink);font-size:13px;font-weight:700;line-height:1.3;text-decoration:none}.vacancy-title span:first-child{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vacancy-title:hover{color:var(--accent)}.external{display:inline-flex;flex:none;opacity:0;transition:opacity .16s var(--ease)}.external svg{width:13px;height:13px;stroke-width:2}.vacancy-title:hover .external{opacity:1}.company-cell{overflow:hidden;color:var(--ink-2);font-size:13px;text-overflow:ellipsis;white-space:nowrap}.location-cell{overflow:hidden;color:var(--muted);font-size:12.5px;text-overflow:ellipsis;white-space:nowrap}.salary-cell{color:var(--ink);font-size:13px;font-weight:700;font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap}.salary-cell small{display:block;color:var(--muted);font-size:10px;font-weight:600;letter-spacing:.04em}.muted-salary{color:var(--muted);font-weight:600}.empty-state{padding:48px 20px;color:var(--muted);font-size:14px;text-align:center}.list-foot{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--line);color:var(--muted);font-size:12px;padding:11px 20px}.list-foot b{color:var(--ink-2)}.aside{position:sticky;top:20px;display:flex;flex-direction:column;gap:18px}.side-card{padding:18px 20px}.aside-head{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-bottom:14px}.aside-head h2{margin:0;color:var(--ink);font-family:var(--font-display);font-size:15px;font-weight:600}.aside-head span{color:var(--muted);font-size:11px;white-space:nowrap}.keywords-list,.ats-list{display:flex;flex-direction:column;gap:11px}.keyword-item{display:flex;flex-direction:column;gap:4px;width:100%;border:0;background:transparent;cursor:pointer;padding:0;text-align:left}.keyword-top{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.keyword-word{display:inline-flex;gap:7px;min-width:0;overflow:hidden;color:var(--ink);font-size:12.5px;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.rank{min-width:20px;color:var(--muted);font-variant-numeric:tabular-nums;font-weight:700;text-align:right}.keyword-count{flex:none;color:var(--muted);font-size:11px;font-variant-numeric:tabular-nums}.keyword-item:hover .keyword-word,.keyword-item:hover .rank{color:var(--accent)}.bar,.ats-bar{height:5px;border-radius:999px;background:var(--surface-2);overflow:hidden}.fill,.ats-fill{display:block;height:100%;border-radius:999px;background:var(--accent);transition:width .42s var(--ease)}.panel-toggle{width:100%;border:1px solid var(--line);border-radius:999px;background:var(--surface);color:var(--accent);cursor:pointer;font-size:12.5px;font-weight:700;margin-top:14px;padding:9px 14px;transition:background .18s var(--ease),color .18s var(--ease),border-color .18s var(--ease)}.panel-toggle:hover{border-color:var(--accent);background:var(--accent);color:var(--on-accent)}.ats-item{display:grid;grid-template-columns:1fr auto;gap:4px 10px;align-items:center}.ats-phrase{color:var(--ink);font-size:12.5px;font-weight:600;line-height:1.25}.ats-weight{color:var(--ink-2);font-size:11px;font-variant-numeric:tabular-nums;font-weight:800;text-align:right}.ats-bar{grid-column:1 / -1}.ats-fill.plus{background:color-mix(in srgb,var(--accent) 40%,var(--line))}.tier{display:inline-block;border-radius:999px;font-size:9px;font-weight:800;letter-spacing:.06em;margin-left:7px;padding:2px 7px;text-transform:uppercase;vertical-align:middle}.tier.must{background:var(--accent);color:var(--on-accent)}.tier.plus{border:1px solid var(--line);color:var(--muted)}.ats-legend{display:flex;gap:14px;margin-top:14px;padding-top:13px;border-top:1px solid var(--line);color:var(--muted);font-size:11px}.ats-legend span{display:inline-flex;align-items:center;gap:6px}.ats-legend i{width:10px;height:10px;border-radius:3px}.legend-core{background:var(--accent)}.legend-plus{background:color-mix(in srgb,var(--accent) 40%,var(--line))}.side-empty{color:var(--muted);font-size:13px;line-height:1.45}.loading-shell,.error-shell{display:grid;min-height:52vh;place-content:center;justify-items:center;gap:14px;color:var(--muted);text-align:center}.loader{width:30px;height:30px;border:3px solid var(--line);border-top-color:var(--accent);border-radius:999px;animation:spin .82s linear infinite}.error-shell{justify-items:start;max-width:520px;margin:0 auto;text-align:left}.error-kicker{color:var(--accent);font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.error-shell h1{margin:0;color:var(--ink);font-family:var(--font-display);font-size:clamp(28px,4vw,44px);line-height:1.08}.error-shell p{margin:0;color:var(--muted);line-height:1.5}@keyframes spin{to{transform:rotate(360deg)}}@media(max-width:980px){.grid{grid-template-columns:1fr}.aside{position:static;order:-1}}@media(max-width:720px){.wrap{padding:18px 14px 42px}.topbar{align-items:stretch;gap:16px}.statstrip{width:100%}.stat{flex:1 1 0;padding:10px 12px}.toolbar,.source-toolbar{padding-right:12px;padding-left:12px}.sort-select,.sort-select select{width:100%}.thead{display:none}.row{grid-template-columns:1fr;gap:5px;padding:13px 14px}.source-cell{order:1}.title-cell{order:0}.company-cell,.location-cell{white-space:normal}.salary-cell{display:flex;align-items:baseline;justify-content:space-between;gap:12px;text-align:left}}
