[html]
<style>
#ba-jobboard{--bg:#eee9df;--paper:#f5f1e9;--ink:#302c27;--muted:#796f63;--line:#c6baaa;--accent:#8d7953;--accent-ink:#fffaf0;position:relative;display:block;width:100%;margin:0;padding:0;background:var(--bg);color:var(--ink);font:13px/1.7 Montserrat,Arial,sans-serif;overflow:hidden;box-sizing:border-box}
#ba-jobboard[data-theme="dark"]{--bg:#191916;--paper:#22221e;--ink:#e4dfd4;--muted:#aaa393;--line:#4e4533;--accent:#b39a6d;--accent-ink:#171714}
#ba-jobboard *{box-sizing:border-box}
#ba-jobboard:before{content:"";position:absolute;inset:0;pointer-events:none;opacity:.38;background:radial-gradient(circle at 15% 0%,rgba(141,121,83,.18),transparent 30%),repeating-linear-gradient(115deg,transparent 0 18px,rgba(89,74,53,.025) 18px 19px)}
#ba-jobboard .jb-shell{position:relative;padding:42px}
#ba-jobboard .jb-kicker,#ba-jobboard .jb-eyebrow{color:var(--accent);font-size:8px;font-weight:700;letter-spacing:2.4px;text-transform:uppercase}
#ba-jobboard .jb-title{margin:8px 0 0;font:400 clamp(30px,6vw,52px)/1.02 Georgia,serif;letter-spacing:.04em;text-transform:uppercase}
#ba-jobboard .jb-rule{width:86px;height:1px;margin:22px 0;background:var(--accent)}
#ba-jobboard .jb-lead{max-width:680px;margin:0;color:var(--muted);font:italic 15px/1.75 Georgia,serif}
#ba-jobboard .jb-tools{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;margin:30px 0 18px;padding:14px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
#ba-jobboard .jb-search{width:100%;min-height:38px;padding:9px 12px;border:1px solid var(--line);border-radius:0;background:var(--paper);color:var(--ink);font:12px/1.5 Montserrat,Arial,sans-serif;outline:0}
#ba-jobboard .jb-search:focus{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}
#ba-jobboard .jb-refresh{min-height:38px;padding:9px 16px;border:1px solid var(--accent);border-radius:0;background:var(--accent);color:var(--accent-ink);font:700 9px/1 Montserrat,Arial,sans-serif;letter-spacing:1px;text-transform:uppercase;cursor:pointer}
#ba-jobboard .jb-refresh[disabled]{opacity:.55;cursor:wait}
#ba-jobboard .jb-status{grid-column:1/-1;color:var(--muted);font-size:10px}
#ba-jobboard .jb-status strong{color:var(--accent);font-weight:600}
#ba-jobboard .jb-tabs{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:6px;overflow:visible;padding:0}
#ba-jobboard .jb-tab{min-width:0;width:100%;padding:10px 6px;border:1px solid var(--line);border-radius:0;background:transparent;color:var(--muted);font:700 8px/1.35 Montserrat,Arial,sans-serif;letter-spacing:.8px;text-transform:uppercase;cursor:pointer}
#ba-jobboard .jb-tab[aria-selected="true"]{border-color:var(--accent);background:var(--accent);color:var(--accent-ink)}
#ba-jobboard .jb-panel{margin-top:14px;padding:28px;border:1px solid var(--line);background:color-mix(in srgb,var(--paper) 90%,transparent)}
#ba-jobboard .jb-panel-head{display:grid;grid-template-columns:52px minmax(0,1fr);gap:18px;align-items:start;margin-bottom:22px}
#ba-jobboard .jb-no{padding-right:16px;border-right:1px solid var(--accent);color:var(--accent);font:400 25px/1 Georgia,serif;text-align:right}
#ba-jobboard .jb-category{margin:0;font:400 21px/1.3 Georgia,serif}
#ba-jobboard .jb-category-ru{margin-top:5px;color:var(--muted);font-size:8px;font-weight:700;letter-spacing:1.6px;text-transform:uppercase}
#ba-jobboard .jb-desc{margin:0 0 22px;padding-bottom:20px;border-bottom:1px solid var(--line);color:var(--muted)}
#ba-jobboard .jb-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
#ba-jobboard .jb-card{min-width:0;padding:19px;border-left:3px solid var(--accent);background:var(--paper)}
#ba-jobboard .jb-job{margin:0 0 13px;font:400 16px/1.45 Georgia,serif;overflow-wrap:anywhere}
#ba-jobboard .jb-label{display:block;margin-top:9px;color:var(--muted);font-size:7px;font-weight:700;letter-spacing:1.4px;text-transform:uppercase}
#ba-jobboard .jb-value{display:block;color:var(--ink);font-size:11px;overflow-wrap:anywhere}
#ba-jobboard .jb-person{color:var(--accent);font-weight:600;text-decoration:none}
#ba-jobboard .jb-person:hover{text-decoration:underline}
#ba-jobboard .jb-empty{grid-column:1/-1;padding:24px;border:1px dashed var(--line);color:var(--muted);font:italic 13px/1.6 Georgia,serif;text-align:center}
#ba-jobboard .jb-foot{display:flex;justify-content:space-between;gap:20px;margin-top:24px;padding-top:18px;border-top:1px solid var(--line);color:var(--muted);font-size:9px;letter-spacing:.7px;text-transform:uppercase}
@media(max-width:650px){#ba-jobboard .jb-shell{padding:26px 20px}#ba-jobboard .jb-tools{grid-template-columns:1fr}#ba-jobboard .jb-refresh{width:100%}#ba-jobboard .jb-tabs{grid-template-columns:repeat(3,minmax(0,1fr))}#ba-jobboard .jb-panel{padding:22px 18px}#ba-jobboard .jb-grid{grid-template-columns:1fr}#ba-jobboard .jb-foot{display:block}#ba-jobboard .jb-foot span{display:block;margin-top:5px}}
@media(max-width:420px){#ba-jobboard .jb-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}}
</style>
<div id="ba-jobboard" data-theme="light">
<div class="jb-shell">
  <div class="jb-kicker">Bad Atmosphere / New York City</div>
  <h1 class="jb-title">Доска занятости</h1>
  <div class="jb-rule"></div>
  <p class="jb-lead">Кто где работает, с кем делит офис и кому можно испортить понедельник ещё до первой чашки кофе.</p>
  <div class="jb-tools">
   <input class="jb-search" type="search" placeholder="Найти персонажа, профессию или место работы" aria-label="Поиск по доске занятости">
   <button class="jb-refresh" type="button">Обновить</button>
   <div class="jb-status" aria-live="polite">Ожидаем данные…</div>
  </div>
  <div class="jb-tabs" role="tablist" aria-label="Разделы занятости"></div>
  <section class="jb-panel" role="tabpanel"></section>
  <div class="jb-foot"><span>New York City / Job Board</span><span>Everyone has to pay rent somehow</span></div>
</div>
</div>
<script>
(function(){
'use strict';
var root=document.getElementById('ba-jobboard');if(!root)return;
var ORIGIN='https://badnyc.ru';
var cats=[
{id:'government',en:'Government & Public Service',ru:'Государство и общественная служба',desc:'Мэрия, государственные и муниципальные структуры, политика, дипломатия и общественные организации.'},
{id:'law',en:'Law & Public Safety',ru:'Право и общественная безопасность',desc:'Юристы, адвокаты, прокуроры, судьи, полиция, федеральные службы, спасатели и безопасность.'},
{id:'medicine',en:'Medicine & Health',ru:'Медицина и здоровье',desc:'Врачи, медсёстры, парамедики, психологи, фармацевты, ветеринары и сотрудники медицинских учреждений.'},
{id:'business',en:'Business & Finance',ru:'Бизнес и финансы',desc:'Предприниматели, корпорации, банки, инвестиции, страхование, консалтинг, HR и собственный бизнес.'},
{id:'tech',en:'Tech, Science & Education',ru:'Технологии, наука и образование',desc:'IT, разработка, инженерия, исследования, университеты, школы и научные сотрудники.'},
{id:'media',en:'Media, Arts & Entertainment',ru:'Медиа, искусство и развлечения',desc:'Музыка, кино, телевидение, журналистика, мода, фотография, дизайн, блогинг и PR.'},
{id:'services',en:'Hospitality & Services',ru:'Сервис и гостеприимство',desc:'Рестораны, бары, кафе, гостиницы, клубы, магазины, салоны, event-индустрия и персональный сервис.'},
{id:'estate',en:'Real Estate & Urban Life',ru:'Недвижимость и городская среда',desc:'Недвижимость, девелопмент, архитектура, строительство, интерьер и управление объектами.'},
{id:'sports',en:'Sports & Fitness',ru:'Спорт и фитнес',desc:'Профессиональный спорт, тренеры, спортивные клубы, фитнес-индустрия и менеджмент.'},
{id:'crime',en:'Crime & Underground',ru:'Криминал и подполье',desc:'Организованная преступность, нелегальный бизнес и профессии, которые лучше не указывать в LinkedIn.'},
{id:'other',en:'Other',ru:'Прочее',desc:'Фрилансеры, студенты, наследники и все, кого рынок труда пока не сумел разложить по папкам.'}
];
/* BA_JOBS_DATA_START */
var JB_SNAPSHOT={"updated":1792934589000,"items":[{"uid":7,"name":"Nathan Warner","topic":0,"category":"business","profession":"Глава юридического отдела компании","employer":"Уорнер Глобал Текстайлз"},{"uid":35,"name":"Ciaran Kyne","topic":0,"category":"crime","profession":"Совладелец бара и подпольного бойцовского клуба","employer":"The Blackwell \u0026 The Pit"},{"uid":36,"name":"Trace Barrett","topic":0,"category":"crime","profession":"совладелец бара и подпольного клуба","employer":"бар The Blackwell и клуб The Pit"},{"uid":11,"name":"Neri Lucchese","topic":0,"category":"estate","profession":"Помощник вице-президента по девелопменту","employer":"Lucchese Development Group"},{"uid":3,"name":"Kato Genji","topic":0,"category":"law","profession":"Прокурор, руководитель отдела судебного преследования","employer":"Manhattan DA’s Office"},{"uid":17,"name":"Shelley White","topic":0,"category":"law","profession":"Детектив","employer":"подразделение OCCB"},{"uid":15,"name":"Walter Burk","topic":0,"category":"law","profession":"гражданский следователь","employer":"NYPD"},{"uid":23,"name":"Dionigi Bianchi","topic":0,"category":"media","profession":"художник","employer":"фрилансер"},{"uid":4,"name":"Joshua Farago","topic":0,"category":"media","profession":"Musician / Музыкант","employer":"Empire Records"},{"uid":8,"name":"Jang Cheol","topic":0,"category":"medicine","profession":"Ординатор в травматологии","employer":"Westchester Medical Center"},{"uid":21,"name":"Katniss Roll","topic":0,"category":"other","profession":"личная прислуга","employer":"дом Клариссы Уинстон"},{"uid":10,"name":"Daisy Bloom","topic":0,"category":"services","profession":"Владелица цветочной кофейни","employer":"The Daily Bloom"},{"uid":13,"name":"Ulysses Archi Urie","topic":0,"category":"services","profession":"Персональный сопровождающий / переводчик / эскорт","employer":"NO-BLESSE PRIVATE CONCIERGE"},{"uid":9,"name":"Cayden Thorne-Cross","topic":0,"category":"sports","profession":"Спортсмен-конник, помощник тренерской команды","employer":"Pinecrest Equestrian Center, Patterson"}]};
/* BA_JOBS_DATA_END */
var state={theme:'light',items:JB_SNAPSHOT.items,status:JB_SNAPSHOT.updated?'Сохранённый список':'Список готовится…',updated:JB_SNAPSHOT.updated,busy:false},active='law',query='';
var tabs=root.querySelector('.jb-tabs'),panel=root.querySelector('.jb-panel'),search=root.querySelector('.jb-search'),refresh=root.querySelector('.jb-refresh'),status=root.querySelector('.jb-status');
function el(tag,cls,text){var n=document.createElement(tag);if(cls)n.className=cls;if(text!=null)n.textContent=text;return n;}
function matches(item,needle){return [item.name,item.profession,item.employer].join(' ').toLocaleLowerCase('ru').includes(needle);}
function renderTabs(){tabs.replaceChildren();cats.forEach(function(cat,i){var b=el('button','jb-tab',String(i+1).padStart(2,'0')+' · '+cat.id);b.type='button';b.setAttribute('role','tab');b.setAttribute('aria-selected',String(active===cat.id));b.addEventListener('click',function(){active=cat.id;render();});tabs.appendChild(b);});}
function renderPanel(){var cat=cats.find(function(x){return x.id===active;})||cats[0],needle=query.trim().toLocaleLowerCase('ru');panel.replaceChildren();var head=el('div','jb-panel-head'),no=el('div','jb-no',String(cats.indexOf(cat)+1).padStart(2,'0')),titles=el('div');titles.append(el('h2','jb-category',cat.en),el('div','jb-category-ru',cat.ru));head.append(no,titles);panel.append(head,el('p','jb-desc',cat.desc));var grid=el('div','jb-grid');var list=state.items.filter(function(item){if(item.category!==cat.id)return false;if(!needle)return true;return matches(item,needle);});if(!list.length){grid.append(el('div','jb-empty',needle?'На всей доске совпадений нет.':'Пока здесь подозрительно спокойно.'));}else list.forEach(function(item){var card=el('article','jb-card'),job=el('h3','jb-job',item.profession),l1=el('span','jb-label','Employer / Место работы'),v1=el('span','jb-value',item.employer),l2=el('span','jb-label','Character / Персонаж'),link=el('a','jb-person',item.name);link.href='/profile.php?id='+encodeURIComponent(item.uid);link.target='_parent';card.append(job,l1,v1,l2,link);grid.append(card);});panel.append(grid);}
function render(){root.dataset.theme=state.theme==='dark'?'dark':'light';refresh.disabled=!!state.busy;refresh.textContent=state.busy?'Проверяем…':'Обновить';var when=state.updated?new Date(state.updated).toLocaleString('ru-RU',{day:'2-digit',month:'2-digit',hour:'2-digit',minute:'2-digit'}):'';status.replaceChildren(el('strong','',state.status),document.createTextNode(when?' · '+when:''));renderTabs();renderPanel();}
search.addEventListener('input',function(){query=search.value;var needle=query.trim().toLocaleLowerCase('ru');if(needle){for(var cat of cats){var found=state.items.find(function(item){return item.category===cat.id&&matches(item,needle);});if(found){active=cat.id;break;}}}renderTabs();renderPanel();});refresh.addEventListener('click',function(){parent.postMessage({scope:'ba-jobs',type:'refresh'},ORIGIN);});
window.addEventListener('message',function(e){if(e.origin!==ORIGIN||!e.data||e.data.scope!=='ba-jobs'||e.data.type!=='state')return;state=Object.assign({},state,e.data);render();});
render();parent.postMessage({scope:'ba-jobs',type:'ready'},ORIGIN);
})();
</script>
[/html]