:root{--bg: #f6f7f9;--surface: #ffffff;--ink: #1f2933;--muted: #5f6b7a;--accent: #2563eb;--accent-hover: #1d4ed8;--line: #e3e7ec;--chip: #eef1f5;--ok: #15803d;--bad: #b91c1c;--shadow: 0 1px 2px rgba(31, 41, 51, .06), 0 4px 12px rgba(31, 41, 51, .04);--font: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--radius: .55rem}*{box-sizing:border-box}html,body,#root{margin:0;min-height:100%}body{font-family:var(--font);font-size:15.5px;line-height:1.55;color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased}.app{max-width:1080px;margin:0 auto;padding:0 1.25rem 3rem}.top{position:sticky;top:0;z-index:10;display:flex;flex-wrap:wrap;gap:1rem;align-items:center;justify-content:space-between;margin:0 -1.25rem 1.75rem;padding:.9rem 1.25rem;background:#f6f7f9eb;border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.brand-mark{display:block;font-size:1.35rem;font-weight:700;letter-spacing:-.02em;color:var(--ink)}.brand-sub{color:var(--muted);font-size:.85rem}nav{display:flex;flex-wrap:wrap;gap:.25rem}nav a{color:var(--muted);text-decoration:none;padding:.4rem .7rem;border-radius:.4rem;font-weight:500}nav a.active,nav a:hover{color:var(--accent);background:#e8eefc}.foot{margin-top:2.5rem;padding-top:1rem;border-top:1px solid var(--line);color:var(--muted);font-size:.85rem}h1{font-size:1.55rem;font-weight:700;letter-spacing:-.02em;margin:0 0 .4rem}h2{font-size:1.1rem;font-weight:650;margin:0 0 .75rem}.lead{color:var(--muted);margin:0 0 1.35rem;max-width:62ch}.filters{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.65rem;margin-bottom:1.25rem}.filter-check{display:flex;align-items:center;gap:.45rem;min-height:2.5rem;padding:0 .35rem;color:var(--muted);font-size:.92rem}.filter-check input{width:1rem;min-height:1rem;padding:0}input,select,button{font:inherit;color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:.55rem .75rem;min-height:2.5rem}input:focus,select:focus,button:focus-visible{outline:2px solid #93b4fd;outline-offset:1px;border-color:var(--accent)}button{cursor:pointer;background:var(--accent);color:#fff;border-color:var(--accent);font-weight:600}button:hover{background:var(--accent-hover)}.list{display:grid;gap:.75rem}.vacancy,.card{background:var(--surface);border:1px solid var(--line);border-radius:.75rem;padding:1rem 1.1rem;box-shadow:var(--shadow)}.vacancy h2,.card h2{margin:0 0 .3rem;font-size:1.05rem}.vacancy a,.card a,.company-link{color:var(--accent);text-decoration:none}.vacancy a:hover,.card a:hover,.company-link:hover{text-decoration:underline;color:var(--accent-hover)}.meta{color:var(--muted);font-size:.9rem;margin-bottom:.55rem}.tags{display:flex;flex-wrap:wrap;gap:.35rem}.tag{font-size:.78rem;padding:.22rem .55rem;border-radius:999px;background:var(--chip);border:1px solid transparent;color:var(--ink);min-height:auto;font-weight:500}button.tag{background:var(--chip);color:var(--ink);border:1px solid transparent}button.tag:hover{background:#e8eefc;color:var(--accent);border-color:#c9d7f8}.badge{display:inline-block;font-size:.75rem;font-weight:600;padding:.15rem .5rem;border-radius:999px;background:#eef2ff;color:#3730a3}.badge.pending{background:#fff7ed;color:#9a3412}.badge.error{background:#fef2f2;color:var(--bad)}.badge.ok{background:#ecfdf5;color:var(--ok)}.badge.bigtech{margin-left:.4rem;vertical-align:middle;background:#ecfeff;color:#0e7490;border:1px solid #a5f3fc}.badge.inactive{margin-left:.4rem;vertical-align:middle;background:#f3f4f6;color:#4b5563;border:1px solid #e5e7eb}.vacancy.inactive{opacity:.72}.grid-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:.85rem}.skill-group{margin-bottom:1.75rem}.skill-row{display:grid;grid-template-columns:minmax(120px,220px) 1fr auto;gap:.75rem;align-items:center;margin:.4rem 0}.bar{height:.5rem;background:#e8ecf1;border-radius:999px;overflow:hidden}.bar>span{display:block;height:100%;background:var(--accent)}.trend-up{color:var(--ok)}.trend-down{color:var(--bad)}.prose{white-space:pre-wrap;color:var(--ink);margin:0 0 1rem}.section{margin-bottom:1.75rem}@media(max-width:640px){.skill-row{grid-template-columns:1fr}.top{align-items:flex-start}}
