/* ============================================================
   noir_theme.css — «НУАР» тема для широкого режима. Этап 1.
   Подключается ПОСЛЕ wide_mode.css.

   ВСЕ правила строго под html.lmx-wide / html.lmx-desk:
   на телефонах (≤420px, где класс не ставится) этот файл
   не меняет НИ ОДНОГО пикселя — тот же принцип, что wide_mode.css.

   Текстуры — процедурные SVG (data-URI, ноль лишних запросов).
   Если захочется заменить на «живые» картинки из мокапа —
   меняются только url() в блоке «ТЕКСТУРЫ» ниже.

   Откат: удалить <link> из index.php — сайт вернётся 1-в-1.
   ============================================================ */

/* ---------- ШРИФТ: Tektur (трафаретный, полная кириллица) ---------- */
/* Самохостинг, woff2, суммарно ~26КБ. Загружается только на wide. */
@font-face{
  font-family:'Tektur';
  font-style:normal;
  font-weight:500;
  font-display:swap;
  src:url('fonts/tektur-cyrillic-500-normal.woff2') format('woff2');
  unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;
}
@font-face{
  font-family:'Tektur';
  font-style:normal;
  font-weight:700;
  font-display:swap;
  src:url('fonts/tektur-cyrillic-700-normal.woff2') format('woff2');
  unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;
}
@font-face{
  font-family:'Tektur';
  font-style:normal;
  font-weight:500;
  font-display:swap;
  src:url('fonts/tektur-latin-500-normal.woff2') format('woff2');
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122;
}
@font-face{
  font-family:'Tektur';
  font-style:normal;
  font-weight:700;
  font-display:swap;
  src:url('fonts/tektur-latin-700-normal.woff2') format('woff2');
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122;
}

/* ---------- ТОКЕНЫ + ТЕКСТУРЫ ---------- */
html.lmx-wide{
  /* шрифт заголовков */
  --noir-display:'Tektur', var(--sans);

  /* палитра мокапа */
  --noir-red:#c5372c;
  --noir-kraft:#c9b896;
  --noir-kraft2:#b8a582;

  /* зерно плёнки: мелкий монохромный шум */
  --noir-grain:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0.5 0'/%3E%3C/filter%3E%3Crect width='140' height='140' filter='url(%23n)' opacity='0.05'/%3E%3C/svg%3E");

  /* царапины: растянутая по горизонтали турбулентность */
  --noir-scratch:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='420' height='420'%3E%3Cfilter id='s'%3E%3CfeTurbulence type='turbulence' baseFrequency='0.012 0.35' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0.35 0'/%3E%3CfeComponentTransfer%3E%3CfeFuncA type='discrete' tableValues='0 0 0 0 0 0 0 0 0.5 0'/%3E%3C/feComponentTransfer%3E%3C/filter%3E%3Crect width='420' height='420' filter='url(%23s)' opacity='0.06'/%3E%3C/svg%3E");

  /* крафт-бумага: тёплый шум для «бумажных» блоков */
  --noir-paper-grain:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='p'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.7' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0.2 0 0 0 0 0.15 0 0 0 0 0.05 0 0 0 0.4 0'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23p)' opacity='0.14'/%3E%3C/svg%3E");

  /* аварийная лента 45° */
  --noir-tape:repeating-linear-gradient(-45deg,
      #e6b500 0 16px, #141311 16px 32px);
}

/* ---------- ФОН СЦЕНЫ: тёмный, поцарапанный, с виньеткой ---------- */
html.lmx-wide body{
  background:
    var(--noir-scratch) repeat,
    var(--noir-grain) repeat,
    radial-gradient(140% 100% at 50% 0%, rgba(0,0,0,0) 40%, rgba(0,0,0,.72) 100%),
    linear-gradient(180deg,#100f0d,#0a0908) fixed;
  background-color:#0a0908;
}

/* ---------- РАМКА: телефон → «папка дела» ---------- */
html.lmx-wide .phone{
  background:
    var(--noir-grain) repeat,
    radial-gradient(1200px 900px at 50% 15%, rgba(255,255,255,.05), transparent 55%),
    linear-gradient(180deg,#131210,#0c0b0a);
  border:1px solid rgba(242,196,0,.28);
  box-shadow:
    0 0 0 1px rgba(0,0,0,.9),
    0 30px 70px rgba(0,0,0,.7),
    inset 0 0 90px rgba(0,0,0,.5);
  overflow:hidden;
}
/* аварийная лента по верхнему краю папки */
html.lmx-wide .phone::before{
  content:"";
  position:absolute;
  top:0; left:0; right:0;
  height:7px;
  background:var(--noir-tape);
  opacity:.9;
  z-index:5;
  pointer-events:none;
}

/* ---------- ШАПКА ---------- */
html.lmx-wide .topbar{
  border-bottom:2px solid rgba(242,196,0,.5);
  background:
    var(--noir-grain) repeat,
    linear-gradient(180deg, rgba(12,11,9,.92), rgba(9,8,7,.88));
}
html.lmx-wide .brand{
  font-family:var(--noir-display);
  font-weight:700;
  letter-spacing:.22em;
  text-shadow:0 2px 0 rgba(0,0,0,.7), 0 0 22px rgba(242,196,0,.18);
}
html.lmx-wide .iconbtn{
  border-radius:6px;
  border:1px solid rgba(242,196,0,.22);
  background:rgba(0,0,0,.35);
}
html.lmx-wide .iconbtn:hover{
  border-color:rgba(242,196,0,.6);
  background:rgba(242,196,0,.08);
}

/* ---------- ЗАГОЛОВКИ: трафарет + пунктирная линия, как в мокапе ---------- */
html.lmx-wide .h1{
  font-family:var(--noir-display);
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.14em;
  display:flex;
  align-items:center;
  gap:16px;
  text-shadow:0 3px 0 rgba(0,0,0,.6);
}
html.lmx-wide .h1::after{
  content:"";
  flex:1;
  min-width:40px;
  border-top:2px dashed rgba(242,196,0,.5);
  transform:translateY(2px);
}
html.lmx-wide .sectionTitle,
html.lmx-wide .dossierSectionTitle,
html.lmx-wide .shop-cat-title{
  font-family:var(--noir-display);
  font-weight:700;
  letter-spacing:.16em;
  text-transform:uppercase;
}

/* ---------- КАРТОЧКИ: гранж, жёсткие углы, зерно ---------- */
html.lmx-wide .card,
html.lmx-wide .caseCard,
html.lmx-wide .archiveCard,
html.lmx-wide .quiz-card,
html.lmx-wide .achCard,
html.lmx-wide .docCard,
html.lmx-wide .kb-section-card,
html.lmx-wide .kb-article-card,
html.lmx-wide .shop-item,
html.lmx-wide .reviewCard{
  border-radius:6px;
  background-image:
    var(--noir-grain),
    linear-gradient(180deg, rgba(22,21,18,.9), rgba(13,12,10,.92));
  background-color:#100f0d;
  border:1px solid rgba(242,196,0,.32);
  box-shadow:
    0 1px 0 rgba(255,255,255,.04) inset,
    0 16px 30px rgba(0,0,0,.5);
}
html.lmx-wide .caseCard::after{
  border-radius:8px;
  box-shadow:inset 0 0 0 1px rgba(0,0,0,.55);
}
html.lmx-wide .caseCard:hover,
html.lmx-wide .quiz-card:hover,
html.lmx-wide .archiveCard:hover{
  border-color:rgba(242,196,0,.75);
  box-shadow:0 18px 34px rgba(0,0,0,.6), 0 0 24px rgba(242,196,0,.10);
}
html.lmx-wide .cardTitle,
html.lmx-wide .caseCard__title,
html.lmx-wide .archiveCard__title,
html.lmx-wide .quiz-card__title{
  font-family:var(--noir-display);
  font-weight:500;
  letter-spacing:.06em;
}

/* ---------- ПОЛАРОИД: белая рамка + скотч на углу ---------- */
html.lmx-wide .polaroid{
  border-radius:2px;
  border:4px solid #e8e4da;
  border-bottom-width:14px;
  box-shadow:0 10px 22px rgba(0,0,0,.6);
  transform:rotate(-1.6deg);
  filter:saturate(.8) contrast(1.05);
}
html.lmx-wide .caseCard:hover .polaroid{
  transform:rotate(0deg);
  transition:transform .25s ease;
}
/* скотч поверх угла */
html.lmx-wide .polaroid::after{
  right:auto; left:-12px; top:-10px;
  width:44px; height:16px;
  border-radius:1px;
  background:rgba(233,225,200,.45);
  border:1px solid rgba(255,255,255,.25);
  box-shadow:0 2px 5px rgba(0,0,0,.35);
  transform:rotate(-35deg);
}

/* ---------- ЧИПЫ и БЕЙДЖИ: прямоугольные «плашки», как в мокапе ---------- */
html.lmx-wide .chip,
html.lmx-wide .badge,
html.lmx-wide .tag{
  border-radius:3px;
  font-family:var(--noir-display);
  font-weight:500;
  letter-spacing:.12em;
  border:1px solid rgba(242,196,0,.35);
  background:rgba(0,0,0,.4);
}
html.lmx-wide .chip.isOn{
  border-color:rgba(242,196,0,.9);
  background:rgba(242,196,0,.92);
  color:#141311;
  -webkit-text-fill-color:#141311;
}

/* ---------- КНОПКИ: «штампованный» стиль ---------- */
html.lmx-wide .cta{
  border-radius:4px;
  font-family:var(--noir-display);
  font-weight:700;
  letter-spacing:.2em;
  border:2px solid #0c0b0a;
  background:
    var(--noir-grain),
    linear-gradient(180deg,#f2c400,#dcae00);
  box-shadow:
    0 0 0 1px rgba(242,196,0,.5),
    0 14px 26px rgba(0,0,0,.5);
  text-transform:uppercase;
}
html.lmx-wide .cta:hover{
  filter:brightness(1.07);
}
html.lmx-wide .btnGhost{
  border-radius:4px;
  font-family:var(--noir-display);
  letter-spacing:.1em;
  border:1px solid rgba(242,196,0,.4);
}
html.lmx-wide .btnGhost:hover{
  border-color:rgba(242,196,0,.85);
  background:rgba(242,196,0,.07);
}

/* ---------- ШТАМПЫ: красная печать «СЕКРЕТНО» ---------- */
html.lmx-wide .dossierHeader__stamp,
html.lmx-wide .tag--test{
  font-family:var(--noir-display);
  font-weight:700;
  letter-spacing:.18em;
  color:var(--noir-red);
  border:2px solid var(--noir-red);
  border-radius:3px;
  background:transparent;
  padding:4px 10px;
  transform:rotate(-4deg);
  text-transform:uppercase;
  opacity:.92;
}

/* ---------- «БУМАЖНЫЕ» БЛОКИ: крафт, как «Секретный файл агента» ---------- */
html.lmx-wide .labelBlock{
  border-radius:5px;
  background-image:var(--noir-paper-grain), linear-gradient(180deg,var(--noir-kraft),var(--noir-kraft2));
  border:1px solid rgba(0,0,0,.55);
  box-shadow:0 12px 26px rgba(0,0,0,.5), inset 0 0 40px rgba(90,70,30,.25);
  color:#241d10;
}
html.lmx-wide .labelBlock .labelVal{ color:#241d10; }
html.lmx-wide .tapeLabel{
  font-family:var(--noir-display);
  letter-spacing:.14em;
  transform:rotate(-2deg);
}

/* ---------- ВКЛАДКИ / НАВИГАЦИЯ ---------- */
html.lmx-wide .tab{
  border-radius:4px;
  font-family:var(--noir-display);
  letter-spacing:.1em;
}
html.lmx-wide .subbar{
  border-radius:4px;
  font-family:var(--noir-display);
  letter-spacing:.12em;
}

/* ---------- ТОСТЫ / МОДАЛКИ ---------- */
html.lmx-wide .toast{
  border-radius:5px;
  border:1px solid rgba(242,196,0,.55);
  background-image:var(--noir-grain), linear-gradient(180deg,#171512,#0e0d0b);
  font-family:var(--noir-display);
  letter-spacing:.06em;
}
html.lmx-wide .gameModal__content{
  border-radius:6px;
  border:1px solid rgba(242,196,0,.45);
  background-image:var(--noir-grain), linear-gradient(180deg,#151310,#0d0c0a);
}
html.lmx-wide .gameModal__title{
  font-family:var(--noir-display);
  letter-spacing:.12em;
  text-transform:uppercase;
}

/* ---------- СКРОЛЛБАР (десктоп) ---------- */
html.lmx-desk .screen ::-webkit-scrollbar{ width:10px; }
html.lmx-desk .screen ::-webkit-scrollbar-track{ background:rgba(0,0,0,.35); }
html.lmx-desk .screen ::-webkit-scrollbar-thumb{
  background:rgba(242,196,0,.35);
  border-radius:0;
  border:2px solid #0c0b0a;
}
html.lmx-desk .screen ::-webkit-scrollbar-thumb:hover{ background:rgba(242,196,0,.65); }

/* ============================================================
   ЭТАП 2: БОКОВОЕ МЕНЮ (сайдбар). Работает в паре с noir_shell.js.
   Виден только под html.lmx-noirbar (десктоп ≥1200px);
   класс ставит noir_shell.js. На планшетах/телефонах меню
   не существует в DOM либо скрыто.
   ============================================================ */

.noirSide{ display:none; }

html.lmx-noirbar .stage{
  justify-content:center;
  gap:22px;
}

/* Чуть ужимаем папку, чтобы сайдбар + папка помещались от 1200px */
html.lmx-noirbar .phone{
  width:min(calc(96vw - 270px), 880px);
}

html.lmx-noirbar .noirSide{
  display:flex;
  flex-direction:column;
  flex:0 0 232px;
  width:232px;
  position:sticky;
  top:18px;
  max-height:calc(100dvh - 42px);
  overflow-y:auto;
  padding:16px 12px 18px;
  border-radius:10px;
  border:1px solid rgba(242,196,0,.3);
  background-image:
    var(--noir-grain),
    linear-gradient(180deg,#131210,#0b0a09);
  box-shadow:
    0 0 0 1px rgba(0,0,0,.85),
    0 26px 60px rgba(0,0,0,.65);
  scrollbar-width:thin;
}

/* лента сверху, как у папки */
html.lmx-noirbar .noirSide::before{
  content:"";
  display:block;
  height:7px;
  margin:-16px -12px 14px;
  background:var(--noir-tape);
  opacity:.9;
  flex:0 0 auto;
}

.noirSide__brand{
  font-family:var(--noir-display);
  font-weight:700;
  font-size:20px;
  letter-spacing:.24em;
  color:var(--yellow);
  text-align:center;
  padding:2px 0 14px;
  border-bottom:1px dashed rgba(242,196,0,.35);
  margin-bottom:12px;
  text-shadow:0 2px 0 rgba(0,0,0,.7);
}

.noirSide__list{
  display:flex;
  flex-direction:column;
  gap:4px;
}

.noirSide__item{
  display:flex;
  align-items:center;
  gap:12px;
  padding:11px 12px;
  border-radius:6px;
  border:1px solid transparent;
  color:rgba(255,255,255,.72);
  text-decoration:none;
  font-family:var(--noir-display);
  font-weight:500;
  font-size:13px;
  letter-spacing:.12em;
  cursor:pointer;
  transition:background .15s ease, color .15s ease, border-color .15s ease;
}
.noirSide__item:hover{
  color:#fff;
  border-color:rgba(242,196,0,.35);
  background:rgba(242,196,0,.06);
}
.noirSide__item.is-active{
  color:#141311;
  -webkit-text-fill-color:#141311;
  background:
    var(--noir-grain),
    linear-gradient(180deg,#f2c400,#dcae00);
  border-color:#0c0b0a;
  box-shadow:0 0 0 1px rgba(242,196,0,.5), 0 8px 18px rgba(0,0,0,.45);
  font-weight:700;
}

.noirSide__ico{
  flex:0 0 22px;
  width:22px;
  height:22px;
  display:grid;
  place-items:center;
}
.noirSide__ico svg{
  width:20px;
  height:20px;
  display:block;
}

.noirSide__label{
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

/* ============================================================
   ЭТАП 3: ДАШБОРД ХАБА. Работает в паре с модулем дашборда
   в noir_shell.js. Только html.lmx-noirbar (десктоп ≥1200px).
   ============================================================ */

/* Папка шире — дашборду нужен простор */
html.lmx-noirbar .phone{
  width:min(calc(96vw - 270px), 1240px);
}

html.lmx-noirbar .noirDash{
  display:grid;
  grid-template-columns:minmax(0,1fr) 320px;
  gap:20px;
  align-items:start;
  margin-top:6px;
}
html.lmx-noirbar .noirDash__main,
html.lmx-noirbar .noirDash__rail{
  display:flex;
  flex-direction:column;
  gap:20px;
  min-width:0;
}
html.lmx-noirbar .noirDash__rail{
  position:sticky;
  top:10px;
}

/* Панель-секция */
html.lmx-noirbar .noirSec{
  border-radius:8px;
  border:1px solid rgba(242,196,0,.28);
  background-image:
    var(--noir-grain),
    linear-gradient(180deg, rgba(20,19,16,.72), rgba(12,11,9,.8));
  box-shadow:0 16px 34px rgba(0,0,0,.45);
  padding:16px 18px 18px;
}
html.lmx-noirbar .noirSec > .hr{ display:none; }
html.lmx-noirbar .noirSec > .subbar{ margin-top:0; }

/* Внутри основной колонки карточки дел встают в 2 колонки */
html.lmx-noirbar .noirDash__main .noirSec{
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(330px, 1fr));
  gap:12px;
  align-content:start;
}
html.lmx-noirbar .noirDash__main .noirSec > .subbar,
html.lmx-noirbar .noirDash__main .noirSec > .cta,
html.lmx-noirbar .noirDash__main .noirSec > .hr,
html.lmx-noirbar .noirDash__main .noirSec > .notice,
html.lmx-noirbar .noirDash__main .noirSec > .mini,
html.lmx-noirbar .noirDash__main .noirSec > div{
  grid-column:1 / -1;
}
html.lmx-noirbar .noirDash__main .noirSec > .caseCard{
  grid-column:auto;
  margin:0;
}

/* Карточка «Профиль агента» */
html.lmx-noirbar .noirProfile{
  border-color:rgba(242,196,0,.5);
  position:relative;
  overflow:hidden;
}
html.lmx-noirbar .noirProfile::before{
  content:"";
  display:block;
  height:7px;
  margin:-16px -18px 14px;
  background:var(--noir-tape);
  opacity:.9;
}
html.lmx-noirbar .noirProfile__title{
  font-family:var(--noir-display);
  font-weight:700;
  font-size:15px;
  letter-spacing:.18em;
  color:var(--yellow);
  margin-bottom:12px;
  text-shadow:0 2px 0 rgba(0,0,0,.6);
}
html.lmx-noirbar .noirProfile .kpiRow{
  display:flex;
  flex-direction:column;
  gap:10px;
  margin:0;
}
html.lmx-noirbar .noirProfile .kpi{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:12px 14px;
  border-radius:5px;
  border:1px solid rgba(242,196,0,.25);
  background:rgba(0,0,0,.35);
}
html.lmx-noirbar .noirProfile .kpi__label{
  font-family:var(--noir-display);
  letter-spacing:.14em;
  font-size:11px;
  color:rgba(255,255,255,.6);
}
html.lmx-noirbar .noirProfile .kpi__val{
  font-family:var(--noir-display);
  font-weight:700;
  font-size:17px;
  color:var(--yellow);
}
html.lmx-noirbar .noirProfile__btn{
  display:block;
  text-align:center;
  text-decoration:none;
  margin-top:14px;
}

/* Блок секретного кода в правой колонке */
html.lmx-noirbar .noirSec--evidence .evidence-block{ margin-top:10px; }

/* ============================================================
   ДОПИЛ ПО МОКАПУ (v4): живые текстуры + заголовки секций.
   ============================================================ */

/* Настоящая гранж-текстура папки (assets/noir_bg.webp, ~42КБ).
   Перекрывает процедурный фон .phone из Этапа 1. */
html.lmx-wide .phone{
  background:
    url("assets/noir_bg.webp") center/cover no-repeat,
    linear-gradient(180deg,#131210,#0c0b0a);
}
/* Лента-полоска больше не нужна — на текстуре свои элементы */
html.lmx-wide .phone::before{ display:none; }

/* Заголовки секций в стиле мокапа: трафарет + пунктир,
   вместо сплошных жёлтых плашек */
html.lmx-wide .subbar{
  display:flex;
  align-items:center;
  gap:14px;
  background:none;
  border:none;
  box-shadow:none;
  border-radius:0;
  padding:2px 0 4px;
}
html.lmx-wide .subbar::after{
  content:"";
  order:2;
  flex:1;
  min-width:30px;
  border-top:2px dashed rgba(242,196,0,.45);
  transform:translateY(1px);
}
html.lmx-wide .subbar__label{
  order:1;
  font-family:var(--noir-display);
  font-weight:700;
  font-size:15px;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:#f5f1e6;
  text-shadow:0 2px 0 rgba(0,0,0,.6);
}
html.lmx-wide .subbar > *:not(.subbar__label){
  order:3;
}
html.lmx-wide .subbar .badge{
  border-color:rgba(242,196,0,.55);
  color:var(--yellow);
  background:rgba(242,196,0,.08);
}

/* Промо-карточка внизу сайдбара */
html.lmx-noirbar .noirSide__promo{
  margin-top:16px;
  border-radius:8px;
  overflow:hidden;
  border:1px solid rgba(242,196,0,.22);
  box-shadow:0 16px 30px rgba(0,0,0,.55);
  flex:0 0 auto;
}
html.lmx-noirbar .noirSide__promo img{
  display:block;
  width:100%;
  height:auto;
}

/* ============================================================
   HERO-БАННЕР ХАБА (v5). Источник — «Промо-баннер» из админки;
   собирается модулем в noir_shell.js. Только десктоп (noirbar).
   ============================================================ */

html.lmx-noirbar .noirHero{
  display:grid;
  grid-template-columns:minmax(280px, 380px) minmax(0,1fr);
  gap:24px;
  align-items:center;
  padding:20px;
  border-color:rgba(242,196,0,.45);
}
html.lmx-noirbar .noirDash__main .noirSec.noirHero{
  /* перекрыть auto-fit сетку обычных секций */
  grid-template-columns:minmax(280px, 380px) minmax(0,1fr);
  gap:24px;
}
html.lmx-noirbar .noirHero__cover{
  border:4px solid #e8e4da;
  border-bottom-width:16px;
  border-radius:2px;
  overflow:hidden;
  box-shadow:0 14px 30px rgba(0,0,0,.6);
  transform:rotate(-1.2deg);
  filter:saturate(.85) contrast(1.05);
}
html.lmx-noirbar .noirHero__cover img{
  display:block;
  width:100%;
  height:230px;
  object-fit:cover;
}
html.lmx-noirbar .noirHero__body{
  min-width:0;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:12px;
}
html.lmx-noirbar .noirHero__title{
  font-family:var(--noir-display);
  font-weight:700;
  font-size:30px;
  line-height:1.15;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:#f5f1e6;
  text-shadow:0 3px 0 rgba(0,0,0,.65);
}
html.lmx-noirbar .noirHero__desc{
  font-size:14px;
  line-height:1.6;
  color:rgba(255,255,255,.62);
  max-width:520px;
}
html.lmx-noirbar .noirHero__cta{
  display:inline-block;
  width:auto;
  margin-top:4px;
  padding:13px 26px;
  text-decoration:none;
  text-align:center;
}

/* Оригинальный промо-блок внизу хаба скрыт, пока показан hero */
html.lmx-noirbar .noirHeroSrcHidden{ display:none !important; }

/* ============================================================
   v6: починка сетки hero + карточка профиля по мокапу.
   ============================================================ */

/* ФИКС: широкое правило секций растягивало детей hero на всю
   ширину — возвращаем им нормальные колонки */
html.lmx-noirbar .noirDash__main .noirHero > div{
  grid-column:auto;
}

/* --- Профиль агента: лента сверху и снизу, как на заготовке --- */
html.lmx-noirbar .noirProfile::after{
  content:"";
  display:block;
  height:7px;
  margin:16px -18px -18px;
  background:var(--noir-tape);
  opacity:.9;
}

/* Верхний блок: полароид + данные */
html.lmx-noirbar .noirProfile__id{
  display:grid;
  grid-template-columns:104px minmax(0,1fr);
  gap:14px;
  align-items:center;
  margin-bottom:14px;
}
html.lmx-noirbar .noirProfile__ava{
  position:relative;
}
html.lmx-noirbar .noirProfile__avaFrame{
  width:96px;
  height:104px;
  background:#dcd6c8;
  border:4px solid #e8e4da;
  border-bottom-width:18px;
  border-radius:2px;
  box-shadow:0 8px 18px rgba(0,0,0,.55), 3px 4px 0 rgba(232,228,218,.35);
  transform:rotate(-2.4deg);
  overflow:hidden;
  display:grid;
  place-items:center;
}
html.lmx-noirbar .noirProfile__avaFrame img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  filter:grayscale(.4) contrast(1.05);
}
html.lmx-noirbar .noirProfile__avaPh{
  font-size:34px;
  opacity:.45;
  filter:grayscale(1);
}
html.lmx-noirbar .noirProfile__agent{
  font-family:var(--noir-display);
  font-weight:700;
  font-size:19px;
  letter-spacing:.14em;
  color:#f5f1e6;
  text-shadow:0 2px 0 rgba(0,0,0,.6);
  margin-bottom:4px;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
html.lmx-noirbar .noirProfile__rank{
  font-family:var(--noir-display);
  font-size:13px;
  letter-spacing:.12em;
  color:rgba(255,255,255,.65);
  margin-bottom:8px;
}
html.lmx-noirbar .noirProfile__rank b{
  color:var(--yellow);
  font-size:17px;
  margin-left:4px;
}
html.lmx-noirbar .noirProfile__xpBar{
  height:10px;
  border-radius:999px;
  background:rgba(0,0,0,.55);
  border:1px solid rgba(242,196,0,.3);
  overflow:hidden;
  margin-bottom:6px;
}
html.lmx-noirbar .noirProfile__xpBar i{
  display:block;
  height:100%;
  background:linear-gradient(180deg,#f2c400,#dcae00);
  border-radius:999px;
  min-width:6px;
}
html.lmx-noirbar .noirProfile__xpText{
  font-family:var(--noir-display);
  font-size:12px;
  letter-spacing:.1em;
  color:rgba(255,255,255,.6);
}

/* ============================================================
   v7: hero без панели (лежит на фоне папки, как в мокапе) +
   профиль с лентой-рамкой по периметру и тёмной кнопкой.
   ============================================================ */

/* --- Hero: снять «панель», оставить чистую композицию --- */
html.lmx-noirbar .noirDash__main .noirSec.noirHero{
  background:none;
  border:none;
  box-shadow:none;
  padding:6px 4px 14px;
}
html.lmx-noirbar .noirHero__title{
  font-size:34px;
  letter-spacing:.06em;
}
html.lmx-noirbar .noirHero__cover{
  transform:rotate(-1deg);
}
html.lmx-noirbar .noirHero__cover img{
  height:250px;
}

/* --- Профиль: аварийная лента рамкой по всему периметру --- */
html.lmx-noirbar .noirProfile{
  border:11px solid transparent;
  border-image:repeating-linear-gradient(-45deg,
      #d8a900 0 13px, #17150f 13px 26px) 11;
  border-radius:0;
  background-image:
    var(--noir-grain),
    linear-gradient(180deg,#15130f,#0d0c0a);
  box-shadow:0 22px 46px rgba(0,0,0,.6);
  padding:16px 16px 16px;
}
html.lmx-noirbar .noirProfile::before,
html.lmx-noirbar .noirProfile::after{
  display:none;
}

/* Полароид покрупнее, наклон мягче */
html.lmx-noirbar .noirProfile__id{
  grid-template-columns:122px minmax(0,1fr);
  gap:16px;
  align-items:start;
  margin-top:2px;
}
html.lmx-noirbar .noirProfile__avaFrame{
  width:112px;
  height:122px;
  border-bottom-width:20px;
  transform:rotate(-1.5deg);
}

/* XP-шкала потоньше, как в заготовке */
html.lmx-noirbar .noirProfile__xpBar{
  height:8px;
  margin-top:2px;
}

/* Кнопка «Мой профиль» — тёмная с обводкой, по мокапу */
html.lmx-noirbar .noirProfile__btn{
  background:rgba(0,0,0,.45);
  border:1px solid rgba(242,196,0,.55);
  color:#f5f1e6 !important;
  -webkit-text-fill-color:#f5f1e6 !important;
  box-shadow:none;
  border-radius:6px;
}
html.lmx-noirbar .noirProfile__btn:hover{
  background:rgba(242,196,0,.1);
  border-color:var(--yellow);
}

/* Строка «Баллы» — сдержаннее, не спорит с полароидом */
html.lmx-noirbar .noirProfile .kpi{
  padding:10px 12px;
  background:rgba(0,0,0,.3);
  border-color:rgba(242,196,0,.18);
}

/* ============================================================
   v8: настоящая потёртая рамка профиля (из заготовки),
   правая колонка шире и начинается на уровне «ХАБ».
   ============================================================ */

/* Правая колонка шире — как в мокапе */
html.lmx-noirbar .noirDash{
  grid-template-columns:minmax(0,1fr) 384px;
}
html.lmx-noirbar .noirDash__main > .h1{
  margin:0 0 6px;
}

/* Профиль: рамка-лента из арт-заготовки (assets/noir_frame.webp),
   со всеми родными царапинами и потёртостями */
html.lmx-noirbar .noirProfile{
  position:relative;
  border:30px solid transparent;
  border-image:url("assets/noir_frame.webp") 75 round;
  border-radius:0;
  padding:6px 8px 10px;
  box-shadow:0 24px 50px rgba(0,0,0,.55);
}
/* Зерно и царапины поверх содержимого — лёгкий износ печати */
html.lmx-noirbar .noirProfile::before{
  content:"";
  display:block;
  position:absolute;
  inset:-8px;
  background:var(--noir-scratch), var(--noir-grain);
  opacity:.55;
  pointer-events:none;
}

/* Полароид крупнее */
html.lmx-noirbar .noirProfile__id{
  grid-template-columns:150px minmax(0,1fr);
  gap:14px;
}
html.lmx-noirbar .noirProfile__avaFrame{
  width:140px;
  height:152px;
  border-bottom-width:22px;
}
html.lmx-noirbar .noirProfile__agent{
  font-size:20px;
  letter-spacing:.1em;
}

/* ============================================================
   v9: ТОПБАР ПО МОКАПУ — логотип П/П, штамп, чипы баллов/агента.
   Элементы инжектит noir_shell.js; видимы только на десктопе.
   ============================================================ */

.noirTop__logo,
.noirTop__stamp,
.noirTop__chips{ display:none; }

html.lmx-noirbar .topbar{
  gap:14px;
  min-height:66px;
  padding-top:10px;
  padding-bottom:10px;
}
/* Старую центровку прячем: логотип берёт роль бренда и кнопки «домой» */
html.lmx-noirbar .topbar > .iconbtn[data-nav="#home"]{ display:none; }
html.lmx-noirbar .topbar .brand{ display:none; }

/* Логотип */
html.lmx-noirbar .noirTop__logo{
  display:flex;
  align-items:center;
  gap:12px;
  text-decoration:none;
  flex:0 0 auto;
}
html.lmx-noirbar .noirTop__mark{
  display:grid;
  place-items:center;
  width:46px;
  height:46px;
  border:2px solid var(--yellow);
  border-radius:6px;
  background:rgba(242,196,0,.1);
  font-family:var(--noir-display);
  font-weight:700;
  font-size:15px;
  letter-spacing:.06em;
  color:var(--yellow);
  box-shadow:0 4px 12px rgba(0,0,0,.5);
}
html.lmx-noirbar .noirTop__names{
  display:flex;
  flex-direction:column;
  gap:2px;
}
html.lmx-noirbar .noirTop__names b{
  font-family:var(--noir-display);
  font-weight:700;
  font-size:17px;
  letter-spacing:.1em;
  color:var(--yellow);
  text-shadow:0 2px 0 rgba(0,0,0,.6);
}
html.lmx-noirbar .noirTop__names i{
  font-style:normal;
  font-family:var(--noir-display);
  font-size:10px;
  letter-spacing:.3em;
  color:rgba(242,196,0,.75);
}

/* Штамп «Твой ход может всё изменить» */
html.lmx-noirbar .noirTop__stamp{
  display:block;
  margin-left:18px;
  padding:6px 16px;
  border:2px solid rgba(233,229,216,.7);
  border-radius:3px;
  transform:rotate(-2deg);
  font-family:var(--noir-display);
  font-size:12px;
  letter-spacing:.14em;
  line-height:1.3;
  color:#e9e5d8;
  text-align:center;
  background:rgba(0,0,0,.25);
  box-shadow:0 4px 10px rgba(0,0,0,.35);
}
html.lmx-noirbar .noirTop__stamp b{
  display:block;
  font-weight:700;
}
html.lmx-noirbar .noirTop__stamp em{
  font-style:normal;
  color:#d23b2f;
}

/* Чипы «Баллы» и «Агент» */
html.lmx-noirbar .noirTop__chips{
  display:flex;
  gap:10px;
  margin-left:auto;
  margin-right:12px;
}
html.lmx-noirbar .noirTop__chip{
  display:flex;
  flex-direction:column;
  gap:2px;
  min-width:96px;
  padding:7px 14px;
  border:1px solid rgba(242,196,0,.3);
  border-radius:6px;
  background:rgba(0,0,0,.35);
}
html.lmx-noirbar .noirTop__chip span{
  font-family:var(--noir-display);
  font-size:9px;
  letter-spacing:.16em;
  color:rgba(255,255,255,.55);
}
html.lmx-noirbar .noirTop__chip b{
  font-family:var(--noir-display);
  font-weight:700;
  font-size:15px;
  letter-spacing:.08em;
  color:var(--yellow);
}

/* ============================================================
   v10: ЕДИНОЕ ПОЛОТНО ПО РЕФЕРЕНСУ.
   - .phone растягивается на весь экран (нет рамки-папки);
   - топбар на всю ширину, сайдбар ВНУТРИ полотна под ним
     (сплошной, без панели, с потёртостями);
   - дашборд: hero+профиль сверху, секции на всю ширину,
     карточки дел вертикальные, всё компактнее;
   - жёлтые плашки (активный пункт меню, CTA) — с рваными
     краями и царапинами через маску assets/noir_plate_mask.webp.
   ============================================================ */

/* ---------- Полотно на весь экран ---------- */
html.lmx-noirbar body{ overflow:hidden; }
html.lmx-noirbar .stage{
  display:block;
  padding:0;
  gap:0;
  min-height:100dvh;
}
html.lmx-noirbar .phone{
  width:100% !important;
  max-width:none;
  height:100dvh;
  min-height:100dvh;
  border-radius:0;
  border:none;
  box-shadow:none;
  background:
    url("assets/noir_bg.webp") center/cover no-repeat,
    linear-gradient(180deg,#131210,#0c0b0a);
}
/* Подсказки/доп.панели рядом со сценой в полноэкранном режиме не нужны */
html.lmx-noirbar .stage > .help{ display:none; }

/* ---------- Топбар на всю ширину ---------- */
html.lmx-noirbar .topbar{
  min-height:64px;
  padding:8px 22px 8px 18px;
  gap:14px;
  border-bottom:1px solid rgba(242,196,0,.35);
  background:
    var(--noir-grain),
    linear-gradient(180deg, rgba(14,13,11,.92), rgba(10,9,8,.88));
}

/* ---------- Сайдбар: сплошной, внутри полотна ---------- */
html.lmx-noirbar .noirSide{
  display:flex;
  flex-direction:column;
  position:absolute;
  left:0;
  top:64px;
  bottom:0;
  width:232px;
  z-index:3;
  padding:16px 14px 16px;
  overflow-y:auto;
  scrollbar-width:none;
  /* никакой панели: полупрозрачное затемнение + разделитель */
  border:none;
  border-radius:0;
  background:
    var(--noir-scratch),
    linear-gradient(90deg, rgba(0,0,0,.34), rgba(0,0,0,.12));
  box-shadow:inset -1px 0 0 rgba(242,196,0,.18);
  flex:none;
  max-height:none;
  position:absolute;
}
html.lmx-noirbar .noirSide::-webkit-scrollbar{ display:none; }
html.lmx-noirbar .noirSide::before{ display:none; } /* старая лента не нужна */

html.lmx-noirbar .noirSide__list{ gap:2px; }

html.lmx-noirbar .noirSide__item{
  padding:10px 12px;
  gap:12px;
  font-size:12.5px;
  letter-spacing:.11em;
  border:none;
  border-radius:4px;
  color:rgba(236,231,219,.72);
  text-shadow:0 1px 0 rgba(0,0,0,.6);
}
html.lmx-noirbar .noirSide__item:hover{
  color:#fff;
  background:rgba(242,196,0,.07);
  border:none;
}
/* Активная плашка: потёртая, с рваными краями (маска) */
html.lmx-noirbar .noirSide__item.is-active{
  color:#181510;
  -webkit-text-fill-color:#181510;
  background:
    var(--noir-scratch),
    var(--noir-grain),
    linear-gradient(180deg,#eec21a 0%,#d9a900 100%);
  border:none;
  box-shadow:none;
  font-weight:700;
  -webkit-mask-image:url("assets/noir_plate_mask.webp");
  mask-image:url("assets/noir_plate_mask.webp");
  -webkit-mask-size:100% 100%;
  mask-size:100% 100%;
  -webkit-mask-repeat:no-repeat;
  mask-repeat:no-repeat;
}
html.lmx-noirbar .noirSide__ico{ flex:0 0 20px; width:20px; height:20px; }
html.lmx-noirbar .noirSide__ico svg{ width:18px; height:18px; }

html.lmx-noirbar .noirSide__promo{
  margin-top:auto;
  padding-top:16px;
  border:none;
  border-radius:0;
  box-shadow:none;
  overflow:visible;
}
html.lmx-noirbar .noirSide__promo img{
  border-radius:6px;
  box-shadow:0 14px 28px rgba(0,0,0,.55);
  transform:rotate(-.6deg);
}

/* ---------- Контент правее сайдбара ---------- */
html.lmx-noirbar .screen{
  inset:64px 0 0 232px;
  padding:0;
}
html.lmx-noirbar .view{
  padding:16px 28px 44px;
}
html.lmx-noirbar .view::-webkit-scrollbar{ width:10px; height:10px; }

/* ---------- Общий масштаб компактнее ---------- */
html.lmx-noirbar .h1{
  font-size:26px;
  letter-spacing:.12em;
  margin:2px 0 14px;
}
html.lmx-noirbar .subbar__label{
  font-size:13px;
  letter-spacing:.14em;
}
html.lmx-noirbar .subbar{ padding:0 0 2px; }
html.lmx-noirbar .subbar .badge{
  font-size:10px;
  padding:3px 9px;
}

/* ---------- CTA: потёртый «штамп» ---------- */
html.lmx-noirbar .cta{
  border:none;
  border-radius:3px;
  padding:12px 20px;
  font-size:12px;
  letter-spacing:.14em;
  background:
    var(--noir-scratch),
    var(--noir-grain),
    linear-gradient(180deg,#eec21a 0%,#d9a900 100%);
  box-shadow:none;
  -webkit-mask-image:url("assets/noir_plate_mask.webp");
  mask-image:url("assets/noir_plate_mask.webp");
  -webkit-mask-size:100% 100%;
  mask-size:100% 100%;
  -webkit-mask-repeat:no-repeat;
  mask-repeat:no-repeat;
}

/* ---------- ДАШБОРД ХАБА ---------- */
html.lmx-noirbar .noirDash{
  display:flex;
  flex-direction:column;
  gap:24px;
  margin-top:2px;
}
/* сбросить старую сетку rail-эпохи */
html.lmx-noirbar .noirDash{ grid-template-columns:none; }
html.lmx-noirbar .noirDash__main,
html.lmx-noirbar .noirDash__rail{ display:block; position:static; }

/* Верхний ряд: hero слева, профиль справа */
html.lmx-noirbar .noirDash__top{
  display:grid;
  grid-template-columns:minmax(0,1fr) 392px;
  gap:26px;
  align-items:start;
}
html.lmx-noirbar .noirDash__lead{
  min-width:0;
  display:flex;
  flex-direction:column;
}
html.lmx-noirbar .noirDash__lead > .h1{ margin:0 0 12px; }

/* Hero: компактная панель как на референсе */
html.lmx-noirbar .noirDash__lead .noirSec.noirHero{
  display:grid;
  grid-template-columns:minmax(220px,330px) minmax(0,1fr);
  gap:22px;
  align-items:center;
  padding:16px;
  border-radius:6px;
  border:1px solid rgba(242,196,0,.28);
  background-image:
    var(--noir-grain),
    linear-gradient(180deg, rgba(16,15,12,.55), rgba(10,9,8,.65));
  box-shadow:0 14px 30px rgba(0,0,0,.4);
}
html.lmx-noirbar .noirHero__cover{
  border:1px solid rgba(226,219,199,.35);
  border-radius:3px;
  transform:none;
  box-shadow:0 10px 24px rgba(0,0,0,.55);
  filter:saturate(.82) contrast(1.05);
  overflow:hidden;
}
html.lmx-noirbar .noirHero__cover img{
  height:196px;
  width:100%;
  object-fit:cover;
  display:block;
}
html.lmx-noirbar .noirHero__title{
  font-size:27px;
  line-height:1.12;
  letter-spacing:.06em;
}
html.lmx-noirbar .noirHero__desc{
  font-size:13px;
  line-height:1.55;
  max-width:440px;
}
html.lmx-noirbar .noirHero__cta{
  padding:11px 20px;
  font-size:11.5px;
}

/* Профиль агента (worn-рамка из v8 остаётся) */
html.lmx-noirbar .noirDash__top .noirProfile{ margin-top:0; }

/* ---------- Секции: без панелей, карточки в ряд ---------- */
html.lmx-noirbar .noirDash > .noirSec{
  display:grid;
  grid-template-columns:repeat(auto-fill, minmax(218px, 1fr));
  gap:16px;
  align-content:start;
  border:none;
  background:none;
  box-shadow:none;
  padding:0;
  border-radius:0;
}
html.lmx-noirbar .noirDash > .noirSec > .subbar,
html.lmx-noirbar .noirDash > .noirSec > .cta,
html.lmx-noirbar .noirDash > .noirSec > .btnGhost,
html.lmx-noirbar .noirDash > .noirSec > .hr,
html.lmx-noirbar .noirDash > .noirSec > .notice,
html.lmx-noirbar .noirDash > .noirSec > .mini,
html.lmx-noirbar .noirDash > .noirSec > div{
  grid-column:1 / -1;
}
html.lmx-noirbar .noirDash > .noirSec > .hr{ display:none; }
html.lmx-noirbar .noirDash > .noirSec > .subbar{ margin:0 0 2px; }
html.lmx-noirbar .noirDash > .noirSec > .caseCard{
  grid-column:auto;
  margin:0;
}
/* Кнопки «ВСЕ …» под секциями — компактные, слева */
html.lmx-noirbar .noirDash > .noirSec > .cta,
html.lmx-noirbar .noirDash > .noirSec > .btnGhost{
  justify-self:start;
  width:auto;
  margin:2px 0 0;
  padding:10px 22px;
  font-size:11px;
}

/* Карточка дела: вертикальная, как на референсе */
html.lmx-noirbar .noirDash .noirSec .caseCard{
  display:flex;
  flex-direction:column;
  gap:9px;
  padding:0;
  background:none;
  border:none;
  box-shadow:none;
  border-radius:0;
}
html.lmx-noirbar .noirDash .noirSec .caseCard::after{ display:none; }
html.lmx-noirbar .noirDash .noirSec .caseCard:hover{
  border:none;
  box-shadow:none;
}
html.lmx-noirbar .noirDash .noirSec .caseCard__thumb.polaroid{
  width:100%;
  height:148px;
  border:1px solid rgba(226,219,199,.32);
  border-radius:3px;
  box-shadow:0 10px 22px rgba(0,0,0,.5);
  transform:none;
  filter:saturate(.82) contrast(1.05);
  background:#0a0908;
}
html.lmx-noirbar .noirDash .noirSec .caseCard:hover .caseCard__thumb.polaroid{
  border-color:rgba(242,196,0,.65);
  transform:none;
}
html.lmx-noirbar .noirDash .noirSec .caseCard__thumb.polaroid::after{ display:none; }
html.lmx-noirbar .noirDash .noirSec .caseCard__body{
  padding:0;
}
html.lmx-noirbar .noirDash .noirSec .caseCard__title{
  font-family:var(--noir-display);
  font-weight:700;
  font-size:13.5px;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:#f0ece0;
  text-shadow:0 2px 0 rgba(0,0,0,.6);
}
html.lmx-noirbar .noirDash .noirSec .caseCard__meta{
  gap:5px;
}
html.lmx-noirbar .noirDash .noirSec .caseCard__meta .tag{
  font-size:9.5px;
  padding:3px 8px;
  border-radius:2px;
}
html.lmx-noirbar .noirDash .noirSec .caseCard__meta .mini{
  font-size:10.5px;
}

/* ---------- Нижний ряд: два виджета ---------- */
html.lmx-noirbar .noirDash__bottom{
  display:grid;
  grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);
  gap:22px;
  align-items:start;
}
html.lmx-noirbar .noirDash__bottom .noirSec--panel{
  display:block;
  border-radius:6px;
  border:1px solid rgba(242,196,0,.3);
  background-image:
    var(--noir-grain),
    linear-gradient(180deg, rgba(18,17,14,.72), rgba(11,10,8,.8));
  box-shadow:0 16px 34px rgba(0,0,0,.45);
  padding:16px 18px 18px;
}
html.lmx-noirbar .noirDash__bottom .noirSec--panel > .hr{ display:none; }
html.lmx-noirbar .noirDash__bottom .noirSec--panel > .subbar{ margin:0 0 12px; }
html.lmx-noirbar .noirSec--evidence .evidence-block{ margin-top:6px; }
html.lmx-noirbar .noirSec--quick .rowBtns{ margin-top:8px; }
html.lmx-noirbar .noirSec--quick .rowBtns .btnGhost{ font-size:11px; }

/* Профиль: чуть компактнее под 392px колонку */
html.lmx-noirbar .noirProfile__id{
  grid-template-columns:132px minmax(0,1fr);
  gap:14px;
}
html.lmx-noirbar .noirProfile__avaFrame{
  width:124px;
  height:136px;
  border-bottom-width:20px;
}
html.lmx-noirbar .noirProfile__agent{ font-size:18px; }
html.lmx-noirbar .noirProfile__title{ font-size:14px; margin-bottom:10px; }
html.lmx-noirbar .noirProfile__btn{
  -webkit-mask-image:none;
  mask-image:none;
  background:rgba(0,0,0,.45);
  border:1px solid rgba(242,196,0,.55);
}

/* ---------- v10.1: фиксы раскладки ---------- */
/* Секции обязаны тянуться на всю ширину (перекрываем старый align-items:start) */
html.lmx-noirbar .noirDash{ align-items:stretch; }
html.lmx-noirbar .noirDash > .noirSec,
html.lmx-noirbar .noirDash__top,
html.lmx-noirbar .noirDash__bottom{ width:100%; }

/* Карточки чуть крупнее — как на референсе (~4 в ряд) */
html.lmx-noirbar .noirDash > .noirSec{
  grid-template-columns:repeat(auto-fill, minmax(232px, 1fr));
}

/* Кнопки «ВСЕ …» с инлайновым width:100% — возвращаем компактность */
html.lmx-noirbar .noirDash > .noirSec > .btnGhost{ width:auto !important; }

/* Баланс верхнего ряда: hero повыше, зазор до секций меньше */
html.lmx-noirbar .noirDash{ gap:18px; }
html.lmx-noirbar .noirHero__cover img{ height:212px; }

/* ---------- v10.2: обёртки .lmxCards из wide_mode ---------- */
/* wide_mode.js оборачивает серии карточек в .lmxCards (2 колонки +
   «featured»-разворот последней нечётной). В нуар-дашборде карточки
   должны участвовать в сетке секции напрямую. */
html.lmx-noirbar .noirDash > .noirSec > .lmxCards{
  display:contents;
}
/* Отменяем «featured»-разворот одиночной/последней нечётной карточки */
html.lmx-noirbar .noirDash .noirSec .lmxCards > .caseCard:last-child:nth-child(odd){
  grid-column:auto;
  flex-direction:column;
  align-items:stretch;
  gap:9px;
}
html.lmx-noirbar .noirDash .noirSec .lmxCards > .caseCard:last-child:nth-child(odd) .polaroid{
  width:100%;
  height:148px;
  flex-shrink:0;
}

/* Карточки: ~4 в ряд, как на референсе */
html.lmx-noirbar .noirDash > .noirSec{
  grid-template-columns:repeat(auto-fill, minmax(250px, 1fr));
}

/* ---------- v10.3: баннер «Зал детективов» ---------- */
/* Пока промо-баннер скрыт (его показывает hero), соседний баннер
   зала детективов занимает всю ширину секции, а не половину */
html.lmx-noirbar .noirDash .homeBanners > .homeBanner.noirHeroSrcHidden + .homeBanner{
  grid-column:1 / -1;
}
html.lmx-noirbar .noirDash .homeBanners .caseCard{
  border-radius:6px;
  padding:14px 16px !important;
  background-image:
    var(--noir-grain),
    linear-gradient(180deg, rgba(18,17,14,.7), rgba(11,10,8,.78)) !important;
  background-color:transparent;
  border:1px solid rgba(242,196,0,.3) !important;
}
html.lmx-noirbar .noirDash .homeBanners .cta{
  max-width:420px;
  margin-left:0 !important;
}

/* ============================================================
   v11: ПО ФИДБЕКУ.
   - папка снова ограниченной ширины (не во весь экран);
   - профиль агента шире (440px), промо-hero уже;
   - одна секция «МОИ ДЕЛА» (4 карточки) вместо списков;
   - виджеты «РЕЙТИНГ СЕЗОНА» и крафтовый «СЕКРЕТНЫЙ ФАЙЛ
     АГЕНТА» с вещдоками.
   ============================================================ */

/* ---------- Папка ограниченной ширины, по центру ---------- */
html.lmx-noirbar .stage{
  display:flex;
  align-items:flex-start;
  justify-content:center;
  padding:20px 18px 26px;
  min-height:100dvh;
}
html.lmx-noirbar .phone{
  width:min(96vw, 1470px) !important;
  height:calc(100dvh - 46px);
  min-height:640px;
  max-height:1080px;
  border-radius:14px;
  border:1px solid rgba(242,196,0,.3);
  box-shadow:
    0 0 0 1px rgba(0,0,0,.9),
    0 34px 80px rgba(0,0,0,.72);
}
/* Тёмный поцарапанный фон вокруг папки — как раньше */
html.lmx-noirbar body{ overflow:hidden; }

/* Скругление: лента-сайдбар и топбар не вылезают за рамку */
html.lmx-noirbar .noirSide{ border-bottom-left-radius:13px; }

/* ---------- Верхний ряд: профиль шире, hero уже ---------- */
html.lmx-noirbar .noirDash__top{
  grid-template-columns:minmax(0,1fr) 440px;
  gap:24px;
}
html.lmx-noirbar .noirDash__lead .noirSec.noirHero{
  grid-template-columns:minmax(200px,300px) minmax(0,1fr);
  gap:20px;
  padding:14px;
}
html.lmx-noirbar .noirHero__cover img{ height:188px; }
html.lmx-noirbar .noirHero__title{ font-size:24px; }
html.lmx-noirbar .noirHero__desc{ font-size:12.5px; }

/* Профиль под 440px: аватар крупнее */
html.lmx-noirbar .noirProfile__id{
  grid-template-columns:152px minmax(0,1fr);
  gap:16px;
}
html.lmx-noirbar .noirProfile__avaFrame{
  width:142px;
  height:156px;
  border-bottom-width:22px;
}
html.lmx-noirbar .noirProfile__agent{ font-size:20px; }

/* ---------- Скрытые секции хаба ---------- */
html.lmx-noirbar .noirSecHidden{ display:none !important; }

/* ---------- «МОИ ДЕЛА» ---------- */
html.lmx-noirbar .noirDash > .noirSec.noirMyCases{
  display:grid;
  grid-template-columns:repeat(4, minmax(0,1fr));
  gap:16px;
}
html.lmx-noirbar .noirMyCases > .subbar{ grid-column:1 / -1; }
html.lmx-noirbar .noirMyCases .caseCard{ grid-column:auto; }
html.lmx-noirbar .noirAllLink{
  cursor:pointer;
  text-decoration:none;
  border-color:rgba(242,196,0,.55) !important;
  color:var(--yellow) !important;
  background:rgba(242,196,0,.08) !important;
}
html.lmx-noirbar .noirAllLink:hover{
  background:rgba(242,196,0,.16) !important;
}
/* Клоны карточек: описание под мета-строкой — компактнее */
html.lmx-noirbar .noirMyCases .caseCard__body > div[style*="margin-top"]{
  font-size:11px !important;
  line-height:1.45 !important;
  max-height:33px;
  overflow:hidden;
}

/* ---------- Общий каркас виджетов ---------- */
html.lmx-noirbar .noirDash__bottom{
  grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);
  gap:20px;
}
html.lmx-noirbar .noirWidget__title{
  font-family:var(--noir-display);
  font-weight:700;
  font-size:17px;
  letter-spacing:.12em;
  text-transform:uppercase;
}

/* ---------- «РЕЙТИНГ СЕЗОНА» ---------- */
html.lmx-noirbar .noirSeason{
  border-radius:8px;
  border:1px solid rgba(242,196,0,.4);
  background-image:
    var(--noir-grain),
    linear-gradient(180deg, rgba(18,17,14,.75), rgba(11,10,8,.85));
  box-shadow:0 16px 34px rgba(0,0,0,.45);
  padding:18px 20px;
  display:flex;
  flex-direction:column;
}
html.lmx-noirbar .noirSeason .noirWidget__title{
  color:#f0ece0;
  text-shadow:0 2px 0 rgba(0,0,0,.6);
}
html.lmx-noirbar .noirSeason__sub{
  font-size:11.5px;
  color:rgba(255,255,255,.45);
  margin:4px 0 14px;
}
html.lmx-noirbar .noirSeason__row{
  display:grid;
  grid-template-columns:1fr 1fr auto;
  gap:12px;
  align-items:stretch;
}
html.lmx-noirbar .noirSeason__cell{
  background:rgba(0,0,0,.35);
  border:1px solid rgba(242,196,0,.2);
  border-radius:6px;
  padding:12px 14px;
}
html.lmx-noirbar .noirSeason__k{
  font-family:var(--noir-display);
  font-size:10px;
  letter-spacing:.12em;
  color:rgba(255,255,255,.5);
}
html.lmx-noirbar .noirSeason__v{
  font-size:13px;
  color:rgba(255,255,255,.55);
  margin-top:6px;
}
html.lmx-noirbar .noirSeason__v b{
  font-family:var(--noir-display);
  font-size:26px;
  color:var(--yellow);
  margin-right:4px;
}
html.lmx-noirbar .noirSeason__p{
  font-size:11px;
  color:rgba(255,255,255,.5);
  margin-top:6px;
}
html.lmx-noirbar .noirSeason__medals{
  display:flex;
  gap:10px;
  align-items:center;
}
html.lmx-noirbar .noirSeason__medal{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:6px;
  min-width:56px;
}
html.lmx-noirbar .noirSeason__medal img,
html.lmx-noirbar .noirSeason__medalIco{
  width:40px;
  height:40px;
  object-fit:contain;
  font-size:30px;
  line-height:40px;
  filter:drop-shadow(0 4px 8px rgba(0,0,0,.5));
}
html.lmx-noirbar .noirSeason__medal i{
  font-style:normal;
  font-family:var(--noir-display);
  font-size:9px;
  letter-spacing:.1em;
  color:rgba(255,255,255,.55);
}
html.lmx-noirbar .noirSeason__hint{
  text-align:center;
  font-size:11px;
  color:rgba(255,255,255,.35);
  margin:14px 0 12px;
}
html.lmx-noirbar .noirSeason__btn{
  display:block;
  text-align:center;
  text-decoration:none;
  margin-top:auto;
  padding:12px;
  font-family:var(--noir-display);
  font-size:12px;
  letter-spacing:.16em;
  border:1px solid rgba(242,196,0,.55);
  border-radius:6px;
  color:#f5f1e6;
}
html.lmx-noirbar .noirSeason__btn:hover{
  background:rgba(242,196,0,.1);
  border-color:var(--yellow);
}

/* ---------- «СЕКРЕТНЫЙ ФАЙЛ АГЕНТА» (крафт) ---------- */
html.lmx-noirbar .noirFile{
  border-radius:8px;
  background-image:
    var(--noir-scratch),
    var(--noir-paper-grain),
    linear-gradient(180deg, var(--noir-kraft), var(--noir-kraft2));
  border:1px solid rgba(0,0,0,.6);
  box-shadow:
    0 16px 34px rgba(0,0,0,.5),
    inset 0 0 60px rgba(90,70,30,.28);
  padding:16px 18px 18px;
  color:#241d10;
}
html.lmx-noirbar .noirFile__head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  border-bottom:2px solid rgba(36,29,16,.7);
  padding-bottom:10px;
  margin-bottom:12px;
}
html.lmx-noirbar .noirFile__title{
  color:#241d10;
  text-shadow:none;
}
html.lmx-noirbar .noirFile__stamp{
  font-family:var(--noir-display);
  font-weight:700;
  font-size:13px;
  letter-spacing:.16em;
  color:var(--noir-red);
  border:2px solid var(--noir-red);
  border-radius:2px;
  padding:3px 10px;
  transform:rotate(-3deg);
  opacity:.92;
}
html.lmx-noirbar .noirFile__grid{
  display:grid;
  grid-template-columns:minmax(0,1fr) 158px;
  gap:16px;
}
html.lmx-noirbar .noirFile__row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin-bottom:10px;
}
html.lmx-noirbar .noirFile__label{
  font-family:var(--noir-display);
  font-weight:700;
  font-size:13px;
  letter-spacing:.1em;
}
html.lmx-noirbar .noirFile__all{
  font-family:var(--noir-display);
  font-weight:700;
  font-size:10px;
  letter-spacing:.12em;
  padding:6px 14px;
  border:1.5px solid rgba(36,29,16,.75);
  border-radius:999px;
  background:rgba(255,252,240,.35);
  color:#241d10;
  cursor:pointer;
}
html.lmx-noirbar .noirFile__all:hover{ background:rgba(255,252,240,.6); }
html.lmx-noirbar .noirFile__slots{
  display:grid;
  grid-template-columns:repeat(4, 1fr);
  gap:10px;
  margin-bottom:12px;
}
html.lmx-noirbar .noirFile__slot{
  aspect-ratio:1;
  border-radius:8px;
  border:1.5px solid rgba(36,29,16,.8);
  background:
    var(--noir-scratch),
    linear-gradient(180deg,#1a1712,#0d0b08);
  display:grid;
  place-items:center;
  overflow:hidden;
  position:relative;
  box-shadow:inset 0 0 22px rgba(0,0,0,.6);
}
html.lmx-noirbar .noirFile__slot span{
  font-family:var(--noir-display);
  font-weight:700;
  font-size:9px;
  letter-spacing:.1em;
  text-align:center;
  line-height:1.6;
  color:rgba(201,184,150,.6);
  border:1px solid rgba(201,184,150,.4);
  padding:4px 7px;
  transform:rotate(-8deg);
}
html.lmx-noirbar .noirFile__slot img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  filter:sepia(15%) contrast(1.05);
}
html.lmx-noirbar .noirFile__slot--filled{ border-color:rgba(242,196,0,.75); }
html.lmx-noirbar .noirFile__slot b{
  position:absolute;
  top:4px; right:4px;
  width:16px; height:16px;
  border-radius:50%;
  background:rgba(242,196,0,.95);
  color:#000;
  font-size:10px;
  display:grid;
  place-items:center;
}
/* Ввод кодового слова внутри файла: тёмный блок на крафте */
html.lmx-noirbar .noirFile__code .evidence-block{
  margin:0;
}
/* Быстрые ссылки справа: тёмные плашки */
html.lmx-noirbar .noirFile__links{
  display:flex;
  flex-direction:column;
  gap:8px;
  border-left:1.5px solid rgba(36,29,16,.55);
  padding-left:16px;
}
html.lmx-noirbar .noirFile__link{
  display:block;
  text-align:left;
  text-decoration:none;
  font-family:var(--noir-display);
  font-weight:700;
  font-size:11px;
  letter-spacing:.1em;
  padding:10px 12px;
  border-radius:7px;
  border:1px solid rgba(0,0,0,.7);
  background:
    var(--noir-grain),
    linear-gradient(180deg,#1b1813,#0e0c09);
  color:#e9e2cf;
  cursor:pointer;
  box-shadow:0 3px 8px rgba(0,0,0,.35);
}
html.lmx-noirbar .noirFile__link:hover{
  border-color:rgba(242,196,0,.7);
  color:var(--yellow);
}

/* Блок кодового слова на крафте: тёмная подложка, чтобы
   исходные светлые тексты app.js остались читаемыми */
html.lmx-noirbar .noirFile__code .evidence-block{
  background:
    var(--noir-grain),
    linear-gradient(180deg,#17140f,#0d0b08);
  border:1.5px solid rgba(36,29,16,.85);
  border-radius:8px;
  padding:12px 14px 14px;
  box-shadow:inset 0 0 26px rgba(0,0,0,.5);
}

/* Отступ под лентой «Вещественное доказательство» — не наезжает на слоты */
html.lmx-noirbar .noirFile__code{ margin-top:16px; }

/* ============================================================
   v12: полотно ограничено ПО ШИРИНЕ, но это не «контейнер»:
   на всю высоту экрана, без жёлтой обводки, без скруглений,
   без обрезки снизу. По краям просто мягкая тень в темноту.
   ============================================================ */
html.lmx-noirbar .stage{
  padding:0;
  align-items:stretch;
}
html.lmx-noirbar .phone{
  width:min(100vw, 1470px) !important;
  height:100dvh;
  min-height:100dvh;
  max-height:none;
  border-radius:0;
  border:none;
  box-shadow:
    0 0 90px rgba(0,0,0,.85),
    0 0 0 1px rgba(0,0,0,.6);
}
html.lmx-noirbar .noirSide{ border-bottom-left-radius:0; }

/* ============================================================
   v13: карточка «ПРОФИЛЬ АГЕНТА» точно по заготовке.
   - большой мятый полароид со стопкой листов и подписью
     «АВАТАР АГЕНТА», рамка-прицел вокруг силуэта;
   - строк «БАЛЛЫ»/«АГЕНТ» нет (баллы уже в топбаре);
   - XP-бар «пилюлей» с жёлтой обводкой;
   - крупный жёлтый уровень, звезда у XP;
   - «МОЙ ПРОФИЛЬ» со светлой рамкой на всю ширину;
   - скрепка в правом верхнем углу.
   ============================================================ */

/* kpi-строки в карточке не показываем вовсе */
html.lmx-noirbar .noirProfile .kpiRow{ display:none !important; }

html.lmx-noirbar .noirProfile{ padding:10px 14px 16px; }
html.lmx-noirbar .noirProfile__title{
  font-size:17px;
  letter-spacing:.16em;
  margin-bottom:16px;
}

/* Сетка: большой полароид слева, данные справа */
html.lmx-noirbar .noirProfile__id{
  grid-template-columns:196px minmax(0,1fr);
  gap:20px;
  align-items:start;
  margin:0 0 18px;
}

/* Стопка листов позади полароида */
html.lmx-noirbar .noirProfile__ava{ position:relative; }
html.lmx-noirbar .noirProfile__ava::before{
  content:"";
  position:absolute;
  inset:6px -7px -8px 8px;
  background:linear-gradient(180deg,#d3ccba,#bfb8a6);
  border-radius:2px;
  transform:rotate(2deg);
  box-shadow:0 10px 22px rgba(0,0,0,.55);
}

/* Полароид: крупный, мятый, слегка наклонён */
html.lmx-noirbar .noirProfile__avaFrame{
  position:relative;
  width:184px;
  height:212px;
  border:9px solid #e6e0cf;
  border-bottom-width:34px;
  border-radius:2px;
  background:#d9d3c3;
  transform:rotate(-2deg);
  box-shadow:0 12px 26px rgba(0,0,0,.6);
  filter:none;
  display:grid;
  place-items:center;
  overflow:visible; /* подпись живёт на нижней полосе */
}
/* Зерно+царапины поверх бумаги — мятость */
html.lmx-noirbar .noirProfile__avaFrame::after{
  content:"";
  position:absolute;
  inset:-9px -9px -34px;
  background:var(--noir-scratch), var(--noir-grain);
  opacity:.75;
  pointer-events:none;
}
html.lmx-noirbar .noirProfile__avaFrame img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  filter:grayscale(.5) contrast(1.06) sepia(.12);
}
html.lmx-noirbar svg.noirProfile__avaPh{
  width:112px;
  height:112px;
  opacity:.9;
  font-size:0;
  filter:none;
}
/* Подпись на нижней полосе полароида */
html.lmx-noirbar .noirProfile__avaCap{
  position:absolute;
  left:-9px; right:-9px;
  bottom:-30px;
  font-style:normal;
  font-family:var(--noir-display);
  font-weight:500;
  font-size:11px;
  letter-spacing:.16em;
  text-align:center;
  color:#7d7666;
}

/* Данные справа */
html.lmx-noirbar .noirProfile__agent{
  font-size:24px;
  letter-spacing:.1em;
  margin:6px 0 8px;
}
html.lmx-noirbar .noirProfile__rank{
  font-size:14px;
  letter-spacing:.14em;
  color:rgba(233,229,216,.62);
  margin-bottom:12px;
}
html.lmx-noirbar .noirProfile__rank b{
  font-size:27px;
  margin-left:8px;
  vertical-align:-2px;
}

/* XP-бар: пилюля с жёлтой обводкой */
html.lmx-noirbar .noirProfile__xpBar{
  height:16px;
  border-radius:999px;
  background:rgba(0,0,0,.62);
  border:1.5px solid rgba(242,196,0,.75);
  padding:2.5px;
  overflow:hidden;
  margin:0 0 10px;
  box-sizing:border-box;
}
html.lmx-noirbar .noirProfile__xpBar i{
  border-radius:999px;
  min-width:14px;
  background:linear-gradient(180deg,#f5cd2a,#e0b000);
}
html.lmx-noirbar .noirProfile__xpText{
  font-size:13.5px;
  letter-spacing:.12em;
  color:rgba(233,229,216,.62);
}
html.lmx-noirbar .noirProfile__star{
  color:var(--yellow);
  font-size:15px;
  margin-left:2px;
}

/* Кнопка на всю ширину, светлая рамка, скруглённая */
html.lmx-noirbar .noirProfile__btn{
  margin-top:2px;
  padding:15px;
  border-radius:12px;
  border:1.5px solid rgba(233,229,216,.5);
  background:rgba(0,0,0,.5);
  font-size:14px;
  letter-spacing:.2em;
}
html.lmx-noirbar .noirProfile__btn:hover{
  border-color:rgba(233,229,216,.85);
  background:rgba(255,255,255,.05);
}

/* Скрепка в правом верхнем углу карточки */
html.lmx-noirbar .noirProfile__clip{
  position:absolute;
  top:-24px;
  right:30px;
  width:32px;
  height:74px;
  transform:rotate(8deg);
  filter:drop-shadow(0 4px 6px rgba(0,0,0,.55));
  pointer-events:none;
  z-index:3;
}
html.lmx-noirbar .noirProfile__clip svg{
  width:100%;
  height:100%;
  display:block;
}

/* v13.1: правая колонка данных — номер и звание в одну строку */
html.lmx-noirbar .noirProfile__id{
  grid-template-columns:172px minmax(0,1fr);
  gap:16px;
}
html.lmx-noirbar .noirProfile__avaFrame{
  width:160px;
  height:188px;
  border-width:8px;
  border-bottom-width:30px;
}
html.lmx-noirbar .noirProfile__avaCap{ bottom:-26px; font-size:10px; left:-8px; right:-8px; }
html.lmx-noirbar svg.noirProfile__avaPh{ width:98px; height:98px; }
html.lmx-noirbar .noirProfile__agent{
  font-size:20px;
  letter-spacing:.07em;
}
html.lmx-noirbar .noirProfile__rank{
  font-size:12.5px;
  letter-spacing:.12em;
  white-space:nowrap;
}
html.lmx-noirbar .noirProfile__rank b{ font-size:24px; margin-left:6px; }

/* ============================================================
   v14: ДОВОДКА ГЛАВНОЙ ПОД РЕФЕРЕНС (только десктоп).
   - пропорции колонок как на макете (hero уже, профиль шире);
   - hero без панели: обложка лежит прямо на фоне папки;
   - «МОИ ДЕЛА» — ровный ряд одинаковых карточек, один ряд
     бейджей, без описаний и звёзд (чистит клоны noir_shell);
   - карточка агента: полароид слева, справа — данные и кнопка;
   - всё в целом мельче, как на макете.
   ============================================================ */

/* ---------- ВЕРХНИЙ РЯД ---------- */
html.lmx-noirbar .noirDash__top{
  grid-template-columns:minmax(0,1fr) 41%;
  gap:26px;
  align-items:start;
}
html.lmx-noirbar .noirDash{ gap:22px; }
html.lmx-noirbar .noirDash__lead > .h1{
  font-size:38px;
  letter-spacing:.06em;
  margin:0 0 14px;
}

/* ---------- HERO: без рамки и подложки ---------- */
html.lmx-noirbar .noirDash__lead .noirSec.noirHero{
  grid-template-columns:minmax(190px,44%) minmax(0,1fr);
  gap:22px;
  padding:0;
  border:0 !important;
  background:none !important;
  box-shadow:none !important;
  align-items:center;
}
html.lmx-noirbar .noirHero__cover{
  padding:0;
  border:0;
  background:none;
  box-shadow:none;
  transform:none;
  border-radius:7px;
  overflow:hidden;
}
html.lmx-noirbar .noirHero__cover::after,
html.lmx-noirbar .noirHero__cover::before{ display:none !important; }
html.lmx-noirbar .noirHero__cover img{
  height:222px;
  width:100%;
  object-fit:cover;
  border-radius:7px;
  display:block;
}
html.lmx-noirbar .noirHero__body{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:12px;
}
html.lmx-noirbar .noirHero__title{
  font-size:33px;
  line-height:1.08;
  letter-spacing:.02em;
  margin:0;
}
html.lmx-noirbar .noirHero__desc{
  font-size:13.5px;
  line-height:1.5;
  margin:0;
  max-width:34ch;
}
html.lmx-noirbar .noirHero__cta{
  margin:2px 0 0;
  padding:12px 22px;
  font-size:12px;
  letter-spacing:.1em;
  width:auto;
  align-self:flex-start;
}

/* ---------- КАРТОЧКА АГЕНТА ---------- */
html.lmx-noirbar .noirProfile{ padding:12px 16px 14px; }
html.lmx-noirbar .noirProfile__title{
  font-size:19px;
  letter-spacing:.1em;
  margin:2px 0 12px;
}
html.lmx-noirbar .noirProfile__id{
  grid-template-columns:150px minmax(0,1fr);
  gap:20px;
  align-items:start;
}
html.lmx-noirbar .noirProfile__avaFrame{
  width:140px;
  height:150px;
  border-bottom-width:24px;
}
html.lmx-noirbar .noirProfile__info{
  display:flex;
  flex-direction:column;
  align-items:stretch;
  gap:9px;
  padding-top:4px;
}
html.lmx-noirbar .noirProfile__agent{
  font-size:21px;
  margin:0;
  letter-spacing:.06em;
}
html.lmx-noirbar .noirProfile__rank{ margin:0; font-size:13px; }
html.lmx-noirbar .noirProfile__rank b{ font-size:23px; margin-left:8px; }
html.lmx-noirbar .noirProfile__xpBar{ margin:2px 0 0; height:11px; }
html.lmx-noirbar .noirProfile__xpText{ margin:0; font-size:12px; }
/* Кнопка теперь внутри правой колонки — во всю её ширину */
html.lmx-noirbar .noirProfile__info .noirProfile__btn{
  margin:8px 0 0;
  width:100%;
  padding:11px 14px;
  font-size:12px;
  letter-spacing:.1em;
}

/* ---------- «МОИ ДЕЛА» ---------- */
html.lmx-noirbar .noirDash > .noirSec.noirMyCases{ gap:18px; }
html.lmx-noirbar .noirMyCases .caseCard{
  display:flex;
  flex-direction:column;
  height:100%;
  padding:0;
  border-radius:9px;
  overflow:hidden;
}
html.lmx-noirbar .noirMyCases .caseCard__thumb.polaroid{
  width:100%;
  margin:0;
  padding:0;
  border:0;
  border-radius:0;
  transform:none;
  box-shadow:none;
  background:#0d0c0a;
}
html.lmx-noirbar .noirMyCases .caseCard__thumb.polaroid img{
  width:100%;
  height:158px;
  object-fit:cover;
  display:block;
  border-radius:0;
}
html.lmx-noirbar .noirMyCases .caseCard__body{
  padding:11px 12px 13px;
  display:flex;
  flex-direction:column;
  gap:9px;
  flex:1 1 auto;
}
html.lmx-noirbar .noirMyCases .caseCard__title{
  font-size:13.5px;
  line-height:1.25;
  letter-spacing:.05em;
  margin:0;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
html.lmx-noirbar .noirMyCases .caseCard__meta{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  margin:auto 0 0 !important;
}
html.lmx-noirbar .noirMyCases .caseCard__meta > *{
  font-size:10px !important;
  padding:3px 8px !important;
  border-radius:5px !important;
  white-space:nowrap;
}

/* ---------- НИЖНИЙ РЯД ---------- */
html.lmx-noirbar .noirDash__bottom{
  grid-template-columns:minmax(0,1fr) minmax(0,1.16fr);
  gap:22px;
  align-items:stretch;
}
html.lmx-noirbar .noirWidget__title{ font-size:16px; }
html.lmx-noirbar .noirSeason,
html.lmx-noirbar .noirFile{ height:100%; }

/* Пять быстрых ссылок вместо четырёх — чуть плотнее */
html.lmx-noirbar .noirFile__links{ gap:8px; }
html.lmx-noirbar .noirFile__link{
  padding:9px 11px;
  font-size:11px;
}

/* Пункты-кнопки (data-action) должны выглядеть как ссылки-пункты:
   сбрасываем дефолтную отрисовку <button> */
html.lmx-noirbar .noirSide__item{
  -webkit-appearance:none;
  appearance:none;
  background:none;
  border:0;
  border-radius:4px;
  width:100%;
  text-align:left;
  cursor:pointer;
  box-shadow:none;
  font-family:inherit;
  font-size:12.5px;
  font-weight:600;
  letter-spacing:.1em;
  padding:9px 12px;
  gap:11px;
}
html.lmx-noirbar .noirSide__label{
  font-size:12.5px;
  letter-spacing:.1em;
}

/* .btnGhost в styles.css объявлен как flex:1 (для рядов кнопок) —
   внутри колоночного виджета это растягивало «ОТКРЫТЬ ТАБЛИЦУ»
   на всю свободную высоту. Возвращаем нормальный размер. */
html.lmx-noirbar .noirSeason__btn{
  flex:0 0 auto;
  padding:11px 12px;
  font-size:11.5px;
  letter-spacing:.14em;
}
/* Подписи зачётов должны влезать в строку */
html.lmx-noirbar .noirSeason__k{
  font-size:9.5px;
  letter-spacing:.08em;
  white-space:nowrap;
}
html.lmx-noirbar .noirSeason__cell{ padding:11px 12px; }
html.lmx-noirbar .noirSeason__row{ gap:10px; }
html.lmx-noirbar .noirSeason__hint{ font-size:10.5px; }

/* Блок кодового слова внутри «Секретного файла» — компактнее,
   чтобы правый виджет не перерастал левый по высоте */
html.lmx-noirbar .noirFile__code{ margin-top:12px; }
html.lmx-noirbar .noirFile__code .evidence-block{ padding:10px 12px 12px; }
html.lmx-noirbar .noirFile__code .evidence-tape{
  font-size:10px;
  padding:5px 8px;
  margin-bottom:8px;
}
html.lmx-noirbar .noirFile__code .evidence-block > div[style*="line-height"]{
  font-size:11px !important;
  line-height:1.4 !important;
  margin-bottom:8px !important;
}
html.lmx-noirbar .noirFile__code .evidence-input{ padding:9px 12px; font-size:12px; }
html.lmx-noirbar .noirFile__slots{ gap:10px; }

/* Потёртая маска остаётся только на активном пункте меню.
   На широких кнопках она растягивалась в рваные полосы —
   на референсе кнопки ровные, скруглённые. */
html.lmx-noirbar .noirHero__cta,
html.lmx-noirbar .noirFile .cta,
html.lmx-noirbar .noirDash .cta,
html.lmx-noirbar .noirProfile__btn{
  -webkit-mask-image:none !important;
  mask-image:none !important;
  border-radius:7px;
}
html.lmx-noirbar .noirHero__cta,
html.lmx-noirbar .noirFile .cta,
html.lmx-noirbar .noirDash .cta{
  background-image:
    var(--noir-grain),
    linear-gradient(180deg,#eec21a 0%,#d9a900 100%);
  color:#181510;
  border:1px solid rgba(0,0,0,.45);
  box-shadow:0 6px 16px rgba(0,0,0,.45);
}

/* «МОЙ ПРОФИЛЬ» — тёмная кнопка со светлой обводкой (как на
   заготовке), а не жёлтая: у неё класс .cta, поэтому явно
   перекрываем правило выше */
html.lmx-noirbar .noirProfile__btn,
html.lmx-noirbar .noirDash .noirProfile__btn{
  background-image:none;
  background:rgba(255,255,255,.06);
  color:#f3efe4;
  border:1px solid rgba(240,236,224,.55);
  box-shadow:none;
}
html.lmx-noirbar .noirProfile__btn:hover{
  background:rgba(255,255,255,.13);
  border-color:#fff;
}

/* Заголовок карточки агента — светлый, как на референсе */
html.lmx-noirbar .noirProfile__title{
  color:#f4f0e6;
  -webkit-text-fill-color:#f4f0e6;
}

/* ---------- Узкий десктоп (1200–1400px) ---------- */
/* Бейджи всегда в один ряд: перенос ломал выравнивание ряда карточек */
html.lmx-noirbar .noirMyCases .caseCard__meta{
  flex-wrap:nowrap;
  overflow:hidden;
  min-width:0;
}
/* Номер агента не должен обрезаться на узких окнах */
html.lmx-noirbar .noirProfile__agent{
  min-width:0;
  overflow-wrap:anywhere;
}
html.lmx-noirbar .noirProfile__info{ min-width:0; }
/* Крафтовый блок: вещдоки и лента не вылезают за край */
html.lmx-noirbar .noirFile__grid,
html.lmx-noirbar .noirFile__main{ min-width:0; }
html.lmx-noirbar .noirFile__slot{ min-width:0; }
html.lmx-noirbar .noirFile__code .evidence-tape{
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  max-width:100%;
  box-sizing:border-box;
}

@media (max-width:1400px){
  html.lmx-noirbar .noirDash__top{ grid-template-columns:minmax(0,1fr) 38%; gap:20px; }
  html.lmx-noirbar .noirDash__lead > .h1{ font-size:32px; }
  html.lmx-noirbar .noirHero__title{ font-size:27px; }
  html.lmx-noirbar .noirHero__desc{ font-size:12.5px; }
  html.lmx-noirbar .noirHero__cover img{ height:190px; }
  html.lmx-noirbar .noirHero__cta{ padding:11px 16px; font-size:11px; }

  html.lmx-noirbar .noirProfile{ padding:10px 13px 12px; }
  html.lmx-noirbar .noirProfile__title{ font-size:16px; margin-bottom:9px; }
  html.lmx-noirbar .noirProfile__id{ grid-template-columns:112px minmax(0,1fr); gap:14px; }
  html.lmx-noirbar .noirProfile__avaFrame{ width:104px; height:114px; border-bottom-width:19px; }
  html.lmx-noirbar svg.noirProfile__avaPh{ width:74px; height:74px; }
  html.lmx-noirbar .noirProfile__avaCap{ font-size:8.5px; bottom:-20px; }
  html.lmx-noirbar .noirProfile__agent{ font-size:17px; letter-spacing:.03em; }
  html.lmx-noirbar .noirProfile__rank{ font-size:11.5px; }
  html.lmx-noirbar .noirProfile__rank b{ font-size:19px; margin-left:6px; }
  html.lmx-noirbar .noirProfile__info .noirProfile__btn{ padding:9px 10px; font-size:11px; letter-spacing:.06em; }

  html.lmx-noirbar .noirDash > .noirSec.noirMyCases{ gap:13px; }
  html.lmx-noirbar .noirMyCases .caseCard__thumb.polaroid img{ height:132px; }
  html.lmx-noirbar .noirMyCases .caseCard__title{ font-size:12.5px; }
  html.lmx-noirbar .noirMyCases .caseCard__meta > *{ font-size:9px !important; padding:3px 6px !important; }

  html.lmx-noirbar .noirDash__bottom{ gap:16px; }
  html.lmx-noirbar .noirWidget__title{ font-size:14px; }
  html.lmx-noirbar .noirSeason__row{ gap:8px; }
  html.lmx-noirbar .noirSeason__cell{ padding:9px 10px; }
  html.lmx-noirbar .noirSeason__k{ font-size:8.5px; }
  html.lmx-noirbar .noirFile__slots{ gap:8px; }
  html.lmx-noirbar .noirFile__slot span{ font-size:8px; }
  html.lmx-noirbar .noirFile__link{ padding:8px 9px; font-size:10px; }
  html.lmx-noirbar .noirFile__code .evidence-tape{ font-size:9px; }
}

/* Подпись в пустом слоте вещдока не должна обрезаться */
html.lmx-noirbar .noirFile__slot span{
  letter-spacing:0;
  line-height:1.2;
  padding:0 4px;
  word-break:break-word;
}

/* ============================================================
   v15: ПОЛАРОИД, СКРЕПКА И КНОПКА — из настоящей заготовки.
   Полароид и скрепка вырезаны из присланного арта (альфа по
   яркости), поэтому вся состаренность — мятая бумага, трещины,
   тень, металл скрепки — настоящая, а не нарисованная CSS.
   ============================================================ */

/* Стопку листов и CSS-рамку убираем: они уже есть в картинке */
html.lmx-noirbar .noirProfile__ava::before{ display:none !important; }
html.lmx-noirbar .noirProfile__avaFrame::after{ display:none !important; }

html.lmx-noirbar .noirProfile__avaFrame{
  width:100%;
  max-width:196px;
  aspect-ratio:362 / 437;
  height:auto;
  border:0;
  border-radius:0;
  background:url("assets/noir_polaroid.webp") no-repeat center/contain;
  transform:none;          /* наклон уже в картинке */
  box-shadow:none;         /* тень тоже */
  display:block;
  overflow:visible;
}
/* Силуэт и подпись «АВАТАР АГЕНТА» нарисованы в самой картинке */
html.lmx-noirbar svg.noirProfile__avaPh,
html.lmx-noirbar .noirProfile__avaCap{ display:none !important; }

/* Реальный аватар ложится в окно фотографии, с тем же наклоном */
html.lmx-noirbar .noirProfile__avaFrame img{
  position:absolute;
  left:9.7%;
  top:7.2%;
  right:22.6%;
  bottom:36.5%;
  width:auto;
  height:auto;
  object-fit:cover;
  transform:rotate(-2.2deg);
  filter:grayscale(.45) contrast(1.05) sepia(.1);
  box-shadow:0 2px 8px rgba(0,0,0,.45);
}
html.lmx-noirbar .noirProfile__ava{ position:relative; }
html.lmx-noirbar .noirProfile__avaFrame{ position:relative; }

/* Скрепка — настоящая, металлическая, и ничем не обрезается */
html.lmx-noirbar .noirProfile{ overflow:visible; }
html.lmx-noirbar .noirProfile__clip{
  position:absolute;
  top:-30px;
  right:6px;
  width:46px;
  height:71px;
  background:url("assets/noir_clip.webp") no-repeat center/contain;
  z-index:4;
  pointer-events:none;
  filter:drop-shadow(0 4px 7px rgba(0,0,0,.6));
}
html.lmx-noirbar .noirProfile__clip svg{ display:none; }

/* Внутренний фон карточки — глубокий чёрный с зерном, не серый */
html.lmx-noirbar .noirProfile{
  background-color:#0b0a09;
  background-image:var(--noir-scratch), var(--noir-grain);
  background-blend-mode:overlay, normal;
}
html.lmx-noirbar .noirProfile::before{ opacity:.35; }

/* «МОЙ ПРОФИЛЬ» — тёмная, с янтарной обводкой и потёртостью */
html.lmx-noirbar .noirProfile__btn,
html.lmx-noirbar .noirDash .noirProfile__btn{
  background-color:#121110;
  background-image:var(--noir-scratch), var(--noir-grain);
  color:#f3efe4;
  border:1px solid rgba(216,168,26,.75);
  border-radius:8px;
  box-shadow:inset 0 0 18px rgba(0,0,0,.7);
  text-shadow:0 1px 0 rgba(0,0,0,.8);
}
html.lmx-noirbar .noirProfile__btn:hover{
  background-color:#191714;
  border-color:var(--yellow);
  color:#fff;
}

/* Скрепка целиком внутри полотна: сверху её обрезала прокручиваемая
   область .screen, поэтому она лежит на самой ленте, как на заготовке */
html.lmx-noirbar .noirProfile__clip{
  top:2px;
  right:10px;
  width:42px;
  height:66px;
}
/* Полароид крупнее — пропорции карточки как на заготовке */
html.lmx-noirbar .noirProfile__id{
  grid-template-columns:172px minmax(0,1fr);
  gap:18px;
  align-items:center;
}
@media (max-width:1400px){
  html.lmx-noirbar .noirProfile__id{ grid-template-columns:132px minmax(0,1fr); gap:14px; }
  html.lmx-noirbar .noirProfile__clip{ width:34px; height:54px; }
}

/* ============================================================
   v16: ПОТЁРТОСТЬ ЗАГОЛОВКОВ + ПОДЛОЖКА ПРОМО-БАННЕРА.
   ============================================================ */

/* Маска износа: краска местами «сошла» — мелкие выщербины
   плюс редкие горизонтальные потёртости */
html.lmx-noirbar{
  --noir-wear:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='300' height='300'%3E%3Cfilter id='w'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.75' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix type='matrix' values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.9 0 0 0 0'/%3E%3CfeComponentTransfer%3E%3CfeFuncA type='discrete' tableValues='0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1'/%3E%3C/feComponentTransfer%3E%3C/filter%3E%3Crect width='300' height='300' filter='url(%23w)'/%3E%3C/svg%3E");
  --noir-wear2:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='420' height='300'%3E%3Cfilter id='w2'%3E%3CfeTurbulence type='turbulence' baseFrequency='0.008 0.4' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix type='matrix' values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.8 0 0 0 0'/%3E%3CfeComponentTransfer%3E%3CfeFuncA type='discrete' tableValues='0 1 1 1 1 1 1 1 1 1 1 1'/%3E%3C/feComponentTransfer%3E%3C/filter%3E%3Crect width='420' height='300' filter='url(%23w2)'/%3E%3C/svg%3E");
}

/* «ХАБ» и заголовок промо — лёгкая потёртость краски.
   Одна маска, редкие мелкие выщербины: фактура читается,
   но буквы остаются целыми (вторую маску со «шкрябами»
   убрала — вместе они съедали текст). */
html.lmx-noirbar .noirDash__lead > .h1,
html.lmx-noirbar .noirHero__title{
  -webkit-mask-image:var(--noir-wear);
  mask-image:var(--noir-wear);
  -webkit-mask-size:110px 110px;
  mask-size:110px 110px;
}

/* Подложка — ТОЛЬКО под текстовой частью баннера (заголовок,
   описание, кнопка), как на референсе. Обложка лежит на фоне
   страницы. Габариты баннера не меняются — фон рисуется
   внутри уже существующей колонки. */
html.lmx-noirbar .noirDash__lead .noirSec.noirHero{
  padding:0 !important;
  border:0 !important;
  border-radius:0 !important;
  background:none !important;
  box-shadow:none !important;
}
html.lmx-noirbar .noirHero__body{
  background:url("assets/noir_panel.webp") no-repeat center;
  background-size:100% 100%;
  padding:22px 26px 24px;
  justify-content:center;
}

/* Верхний ряд: баннер и досье агента заканчиваются на одной линии */
html.lmx-noirbar .noirDash__top{ align-items:stretch; }
html.lmx-noirbar .noirDash__lead{ display:flex; flex-direction:column; }
html.lmx-noirbar .noirDash__lead .noirSec.noirHero{ flex:1 1 auto; align-items:stretch; }

/* «ХАБ» — НАД жёлтым пунктиром, пунктир во всю ширину,
   отступы как на референсе */
html.lmx-noirbar .noirDash__lead > .h1{
  display:block !important;
  margin:0 0 16px !important;
  line-height:1;
}
html.lmx-noirbar .noirDash__lead > .h1::after{
  display:block;
  width:100%;
  min-width:0;
  margin-top:14px;
  border-top:2px dashed rgba(242,196,0,.5);
  transform:none;
}

/* Кнопка промо — как активная вкладка меню: потёртая плашка.
   Селектор длиннее, чем у правила «ровных кнопок» из v14. */
html.lmx-noirbar .noirDash .noirHero a.cta.noirHero__cta{
  -webkit-mask-image:url("assets/noir_plate_mask.webp") !important;
  mask-image:url("assets/noir_plate_mask.webp") !important;
  -webkit-mask-size:100% 100%;
  mask-size:100% 100%;
  -webkit-mask-repeat:no-repeat;
  mask-repeat:no-repeat;
  border:0;
  border-radius:0;
  box-shadow:none;
  padding:14px 26px;
}

@media (max-width:1400px){
  html.lmx-noirbar .noirHero__body{ padding:16px 18px 18px; }
  html.lmx-noirbar .noirDash__lead > .h1{ margin:0 0 12px !important; }
  html.lmx-noirbar .noirDash__lead > .h1::after{ margin-top:11px; }
}

/* ============================================================
   v19: БЛОК «МОИ ДЕЛА» — заголовок, карусель, карточка.
   ============================================================ */

/* Заголовок секции — тем же шрифтом и размером, что «ХАБ»;
   жёлтый хвостик слева (.subbar::before из styles.css) убран */
html.lmx-noirbar .noirMyCases > .subbar{ height:auto; margin-bottom:16px; }
html.lmx-noirbar .noirMyCases > .subbar::before{ display:none !important; }
html.lmx-noirbar .noirMyCases > .subbar .subbar__label{
  font-size:30px;
  letter-spacing:.1em;
  line-height:1;
  color:#f5f1e6;
  -webkit-mask-image:var(--noir-wear);
  mask-image:var(--noir-wear);
  -webkit-mask-size:110px 110px;
  mask-size:110px 110px;
}
html.lmx-noirbar .noirMyCases > .subbar::after{ transform:translateY(2px); }

/* ---------- Карусель ---------- */
html.lmx-noirbar .noirDash > .noirSec.noirMyCases{
  display:block;
  position:relative;
}
html.lmx-noirbar .noirCar{ position:relative; }
/* Раскладка трека задаётся инлайном в noir_shell.js (см. там
   комментарий); здесь только оформление */
html.lmx-noirbar .noirCar__track::-webkit-scrollbar{ display:none; }

html.lmx-noirbar .noirCar__nav{
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  width:34px;
  height:54px;
  display:none;
  align-items:center;
  justify-content:center;
  border:1px solid rgba(242,196,0,.5);
  border-radius:8px;
  background:rgba(12,11,9,.82);
  color:var(--yellow);
  cursor:pointer;
  z-index:3;
  backdrop-filter:blur(2px);
}
html.lmx-noirbar .noirCar__nav svg{ width:20px; height:20px; }
html.lmx-noirbar .noirCar__nav:hover{ background:rgba(242,196,0,.16); }
html.lmx-noirbar .noirCar__nav--prev{ left:-10px; }
html.lmx-noirbar .noirCar__nav--next{ right:-10px; }
html.lmx-noirbar .noirCar.can-prev .noirCar__nav--prev,
html.lmx-noirbar .noirCar.can-next .noirCar__nav--next{ display:flex; }

/* ---------- Карточка дела ---------- */
html.lmx-noirbar .noirMyCases .caseCard{
  display:flex;
  flex-direction:column;
  height:100%;
  margin:0;
  padding:10px 10px 12px;
  border:0;
  border-radius:12px;
  overflow:hidden;
  background:url("assets/noir_panel.webp") no-repeat center;
  background-size:100% 100%;
  box-shadow:0 14px 30px rgba(0,0,0,.45);
  transition:transform .16s ease;
}
html.lmx-noirbar .noirMyCases .caseCard:hover{ transform:translateY(-3px); }

html.lmx-noirbar .noirMyCases .caseCard__thumb,
html.lmx-noirbar .noirMyCases .caseCard__thumb.polaroid{
  position:relative;
  width:100%;
  margin:0;
  padding:0;
  border:0;
  border-radius:8px;
  transform:none;
  box-shadow:none;
  overflow:hidden;
  background:#0b0a09;
}
html.lmx-noirbar .noirMyCases .caseCard__thumb img{
  width:100%;
  height:152px;
  object-fit:cover;
  display:block;
  border-radius:8px;
}
html.lmx-noirbar .noirCard__mark{
  position:absolute;
  top:8px;
  right:8px;
  padding:3px 9px;
  border-radius:5px;
  background:#e2571f;
  color:#fff;
  font-family:var(--noir-display);
  font-size:9.5px;
  font-weight:700;
  letter-spacing:.1em;
  box-shadow:0 3px 8px rgba(0,0,0,.5);
}

html.lmx-noirbar .noirMyCases .caseCard__body{
  padding:12px 4px 2px;
  display:flex;
  flex-direction:column;
  gap:11px;
  flex:1 1 auto;
}
html.lmx-noirbar .noirMyCases .caseCard__title{
  font-family:var(--noir-display);
  font-weight:700;
  font-size:14px;
  line-height:1.25;
  letter-spacing:.06em;
  text-transform:uppercase;
  color:#f5f1e6;
  margin:0;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
}

/* Плашки: тип · доступ · возраст (возраст прижат вправо) */
html.lmx-noirbar .noirTags{
  display:flex;
  align-items:center;
  gap:8px;
  margin-top:auto;
}
html.lmx-noirbar .noirTag{
  font-family:var(--noir-display);
  font-size:10px;
  font-weight:700;
  letter-spacing:.09em;
  text-transform:uppercase;
  padding:5px 10px;
  border-radius:6px;
  white-space:nowrap;
  border:1px solid rgba(255,255,255,.16);
  color:rgba(245,241,230,.82);
  background:rgba(255,255,255,.05);
}
html.lmx-noirbar .noirTag--type{
  border-color:rgba(242,196,0,.55);
  color:var(--yellow);
  background:rgba(242,196,0,.1);
}
html.lmx-noirbar .noirTag--sub{
  border-color:rgba(242,196,0,.8);
  color:#141210;
  background:linear-gradient(180deg,#eec21a,#d9a900);
}
html.lmx-noirbar .noirTag--free{
  border-color:rgba(120,205,140,.45);
  color:#8fd8a2;
  background:rgba(120,205,140,.1);
}
html.lmx-noirbar .noirTag--soon{
  border-color:rgba(120,180,255,.45);
  color:#9cc8ff;
  background:rgba(120,180,255,.1);
}
html.lmx-noirbar .noirTag--age{
  margin-left:auto;
  border-color:rgba(255,255,255,.2);
  color:rgba(245,241,230,.65);
  background:rgba(0,0,0,.35);
}

@media (max-width:1400px){
  html.lmx-noirbar .noirMyCases > .subbar .subbar__label{ font-size:25px; }
  html.lmx-noirbar .noirMyCases .caseCard__thumb img{ height:128px; }
  html.lmx-noirbar .noirMyCases .caseCard__title{ font-size:12.5px; }
  html.lmx-noirbar .noirTag{ font-size:9px; padding:4px 7px; letter-spacing:.06em; }
  html.lmx-noirbar .noirTags{ gap:6px; }
}

/* Подложка карточки. Селектор длиннее правила v10
   (.noirDash .noirSec .caseCard), которое обнуляло фон и падинги */
html.lmx-noirbar .noirDash .noirMyCases .noirCar__track .caseCard{
  padding:10px 10px 12px;
  border:1px solid rgba(240,232,210,.12);
  border-radius:12px;
  background:url("assets/noir_panel.webp") no-repeat center;
  background-size:100% 100%;
  box-shadow:0 14px 30px rgba(0,0,0,.5), inset 0 1px 0 rgba(255,255,255,.04);
  gap:0;
}
html.lmx-noirbar .noirDash .noirMyCases .noirCar__track .caseCard__thumb.polaroid{
  height:auto;
  border:0;
  border-radius:8px;
  box-shadow:none;
}
/* «Бесплатно» — нейтральная плашка, как на референсе (зелёный
   выбивался из палитры) */
html.lmx-noirbar .noirTag--free,
html.lmx-noirbar .noirTag--paid{
  border-color:rgba(255,255,255,.2);
  color:rgba(245,241,230,.78);
  background:rgba(255,255,255,.06);
}
html.lmx-noirbar .noirMyCases > .subbar .subbar__label{ font-size:34px; }
@media (max-width:1400px){
  html.lmx-noirbar .noirMyCases > .subbar .subbar__label{ font-size:28px; }
}

/* ФИКС: у абсолютно позиционированного <img> (замещаемый элемент)
   width/height:auto берутся из собственных размеров файла, а не
   из left/right — из-за этого реальная аватарка вылезала из
   полароида во всю ширину картинки. Задаём размер окна явно. */
html.lmx-noirbar .noirProfile__avaFrame img{
  left:10.6%;
  top:9.6%;
  right:auto;
  bottom:auto;
  width:80%;     /* окно фото замерено по ассету (11%..84%,
                    11.4%..74%); +2% перекрытия, чтобы из-за
                    наклона окна не проглядывала серая подложка */
  height:70%;
  object-fit:cover;
  max-width:none;
}

/* ============================================================
   v22: «СЕКРЕТНЫЙ ФАЙЛ АГЕНТА» — крафтовая карточка с
   вкладками (вещдоки / награды / шпаргалки / рефералка).
   ============================================================ */
html.lmx-noirbar .noirFile{
  background:url("assets/noir_kraft.webp") no-repeat center !important;
  background-size:100% 100% !important;
  border:0 !important;
  border-radius:14px;
  padding:26px 30px 28px !important;
  box-shadow:0 18px 40px rgba(0,0,0,.5);
  color:#20180d;
  display:flex;
  flex-direction:column;
}
html.lmx-noirbar .noirFile__head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding-bottom:12px;
  border-bottom:2px solid rgba(20,14,6,.75);
  margin-bottom:16px;
}
html.lmx-noirbar .noirFile__title{
  color:#171008 !important;
  font-size:20px !important;
  letter-spacing:.06em;
  text-shadow:none !important;
}
html.lmx-noirbar .noirFile__stamp{
  color:#c0261c;
  border:2px solid #c0261c;
  border-radius:3px;
  padding:5px 12px;
  font-family:var(--noir-display);
  font-weight:700;
  font-size:13px;
  letter-spacing:.14em;
  transform:rotate(-2deg);
  background:none;
}

/* Сетка: слева содержимое вкладки, справа — сами вкладки */
html.lmx-noirbar .noirFile__grid{
  display:grid;
  grid-template-columns:minmax(0,1fr) 210px;
  gap:22px;
  align-items:start;
  flex:1 1 auto;
}
html.lmx-noirbar .noirFile__main{
  display:flex;
  flex-direction:column;
  min-width:0;
}
html.lmx-noirbar .noirFile__row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-bottom:14px;
}
html.lmx-noirbar .noirFile__label{
  font-family:var(--noir-display);
  font-weight:700;
  font-size:15px;
  letter-spacing:.06em;
  color:#20180d;
  text-transform:uppercase;
}
html.lmx-noirbar .noirFile__label b{ color:#20180d; }
html.lmx-noirbar .noirFile__all{
  border:1.5px solid rgba(24,17,8,.75);
  border-radius:999px;
  background:none;
  color:#20180d;
  font-family:var(--noir-display);
  font-weight:700;
  font-size:12px;
  letter-spacing:.1em;
  padding:7px 16px;
  cursor:pointer;
  text-decoration:none;
  white-space:nowrap;
}
html.lmx-noirbar .noirFile__all:hover{ background:rgba(24,17,8,.1); }

/* Ячейки коллекции */
html.lmx-noirbar .noirFile__slots{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
}
html.lmx-noirbar .noirFile__slots--free{ display:block; }
html.lmx-noirbar .noirFile__slot{
  position:relative;
  aspect-ratio:1;
  border-radius:10px;
  border:2px solid rgba(20,14,6,.8);
  background:
    var(--noir-scratch),
    linear-gradient(180deg,#171310,#0c0a08);
  overflow:hidden;
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
}
html.lmx-noirbar .noirFile__slot span{
  font-family:var(--noir-display);
  font-size:9px;
  font-weight:700;
  letter-spacing:.08em;
  line-height:1.25;
  color:rgba(216,190,130,.6);
  border:1px solid rgba(216,190,130,.45);
  padding:3px 6px;
  transform:rotate(-6deg);
}
html.lmx-noirbar .noirFile__slot i{
  font-style:normal;
  font-family:var(--noir-display);
  font-size:9.5px;
  font-weight:700;
  letter-spacing:.05em;
  line-height:1.25;
  color:#e8dcc0;
  padding:6px;
}
html.lmx-noirbar .noirFile__slot--filled{
  border-color:rgba(190,140,20,.9);
  cursor:pointer;
}
html.lmx-noirbar .noirFile__slot img{
  width:100%; height:100%; object-fit:cover; display:block;
}
html.lmx-noirbar .noirFile__slot b{
  position:absolute; top:5px; right:5px;
  width:17px; height:17px; border-radius:50%;
  background:rgba(242,196,0,.95); color:#0d0b08;
  font-size:10px; font-weight:900;
  display:flex; align-items:center; justify-content:center;
}

/* Нижняя широкая кнопка вкладки */
html.lmx-noirbar .noirFile__go{
  display:block;
  margin-top:16px;
  padding:14px 16px;
  border-radius:10px;
  border:2px solid rgba(20,14,6,.8);
  background:
    var(--noir-scratch),
    linear-gradient(180deg,#171310,#0c0a08);
  color:#f2ecdc;
  font-family:var(--noir-display);
  font-weight:700;
  font-size:14px;
  letter-spacing:.1em;
  text-align:center;
  text-decoration:none;
  cursor:pointer;
}
html.lmx-noirbar .noirFile__go:hover{ border-color:var(--yellow); color:#fff; }

/* Правая колонка — вкладки */
html.lmx-noirbar .noirFile__links{
  display:flex;
  flex-direction:column;
  gap:12px;
  border-left:2px solid rgba(20,14,6,.55);
  padding-left:20px;
  height:100%;
}
html.lmx-noirbar .noirFile__link{
  display:block;
  width:100%;
  text-align:center;
  padding:13px 12px;
  border-radius:10px;
  border:2px solid rgba(20,14,6,.8);
  background:
    var(--noir-scratch),
    linear-gradient(180deg,#171310,#0c0a08);
  color:#f2ecdc;
  font-family:var(--noir-display);
  font-weight:700;
  font-size:13px;
  letter-spacing:.1em;
  cursor:pointer;
  text-decoration:none;
}
html.lmx-noirbar .noirFile__link:hover{ border-color:rgba(242,196,0,.7); }
html.lmx-noirbar .noirFile__link,
html.lmx-noirbar .noirFile__go{ background-color:#0b0907; }
html.lmx-noirbar .noirFile__link.is-active{
  background:linear-gradient(180deg,#eec21a,#d9a900);
  color:#171008;
  border-color:rgba(20,14,6,.85);
}

/* Рефералка: три показателя вместо ячеек */
html.lmx-noirbar .noirFile__ref{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
}
html.lmx-noirbar .noirFile__refCell{
  border:2px solid rgba(20,14,6,.75);
  border-radius:10px;
  padding:14px 10px;
  text-align:center;
  background:rgba(20,14,6,.06);
}
html.lmx-noirbar .noirFile__refCell b{
  display:block;
  font-family:var(--noir-display);
  font-size:26px;
  color:#20180d;
  line-height:1;
}
html.lmx-noirbar .noirFile__refCell i{
  font-style:normal;
  font-size:10.5px;
  letter-spacing:.06em;
  color:rgba(32,24,13,.65);
}
html.lmx-noirbar .noirFile__code2{
  margin-top:12px;
  font-family:var(--noir-display);
  font-size:12px;
  letter-spacing:.1em;
  color:rgba(32,24,13,.8);
}
html.lmx-noirbar .noirFile__wait,
html.lmx-noirbar .noirFile__empty{
  font-size:13px;
  color:rgba(32,24,13,.6);
  padding:18px 0;
}

@media (max-width:1400px){
  html.lmx-noirbar .noirFile{ padding:18px 20px 20px !important; }
  html.lmx-noirbar .noirFile__title{ font-size:16px !important; }
  html.lmx-noirbar .noirFile__grid{ grid-template-columns:minmax(0,1fr) 165px; gap:16px; }
  html.lmx-noirbar .noirFile__links{ padding-left:14px; gap:9px; }
  html.lmx-noirbar .noirFile__link{ padding:10px 8px; font-size:11px; letter-spacing:.06em; }
  html.lmx-noirbar .noirFile__go{ padding:11px 12px; font-size:12px; }
  html.lmx-noirbar .noirFile__label{ font-size:12.5px; }
  html.lmx-noirbar .noirFile__slots{ gap:9px; }
}

/* v22.1: белую кайму давала сама картинка подложки (кремовые
   поля вокруг крафта) — ассет обрезан по краю карточки, а сам
   блок больше не рисует своих скруглений и теней поверх */
html.lmx-noirbar .noirFile{
  border-radius:0;
  box-shadow:none;
}
/* Блок кодового слова здесь больше не живёт */
html.lmx-noirbar .noirFile__code{ display:none; }

/* ============================================================
   v25: ПУСТЫЕ ЯЧЕЙКИ И КНОПКИ — на арте, а не нарисованные CSS.
   ============================================================ */

/* Пустая ячейка = карточка «ПОД ПОДОЗРЕНИЕМ» (фон вырезан,
   углы прозрачные — крафт просвечивает, белых уголков нет) */
html.lmx-noirbar .noirFile__slot--empty{
  border:0;
  background:url("assets/noir_slot.webp") no-repeat center;
  background-size:100% 100%;
  box-shadow:none;
}
html.lmx-noirbar .noirFile__slot--empty span{ display:none; }

/* Кнопки виджета — потёртая тёмная фактура с того же арта,
   а не ровная заливка */
html.lmx-noirbar .noirFile__link,
html.lmx-noirbar .noirFile__go{
  background-color:#0e0c0a;
  background-image:
    var(--noir-scratch),
    url("assets/noir_btn.webp");
  background-size:auto, 105px auto;   /* мелкая фактура, а не одна
                                         растянутая трещина */
  background-repeat:repeat, repeat;
  background-position:center, center;
  background-blend-mode:overlay, screen;
  border:2px solid rgba(18,12,5,.9);
  border-radius:9px;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.05),
    0 3px 0 rgba(20,14,6,.35);
  color:#efe6d2;
  text-shadow:0 1px 0 rgba(0,0,0,.85);
}
html.lmx-noirbar .noirFile__link:hover,
html.lmx-noirbar .noirFile__go:hover{
  border-color:rgba(242,196,0,.75);
  color:#fff;
}
/* Активная вкладка — жёлтая потёртая плашка, как в меню */
html.lmx-noirbar .noirFile__link,
html.lmx-noirbar .noirFile__go{ background-color:#0b0907; }
html.lmx-noirbar .noirFile__link.is-active{
  background-color:#e0b100;
  background-image:
    var(--noir-scratch),
    var(--noir-grain),
    linear-gradient(180deg,#eec21a 0%,#d9a900 100%);
  background-size:auto, auto, auto;
  background-blend-mode:overlay, normal, normal;
  color:#171008;
  text-shadow:none;
  border-color:rgba(18,12,5,.9);
}
/* «ВСЕ» — чернильная обводка по крафту, без стерильного овала */
html.lmx-noirbar .noirFile__all{
  border:2px solid rgba(24,17,8,.8);
  border-radius:8px;
  background:rgba(24,17,8,.05);
  box-shadow:inset 0 0 0 1px rgba(24,17,8,.12);
}

/* ============================================================
   v26: ПОТЁРТОСТЬ НА ЖЁЛТОМ + та же фактура кнопкам рейтинга
   сезона и «МОЙ ПРОФИЛЬ».
   ============================================================ */

/* Жёлтые плашки: поверх заливки кладём ту же фактуру трещин,
   что и на тёмных кнопках, режимом multiply — краска сходит,
   а не лежит ровным слоем */
html.lmx-noirbar .noirFile__link.is-active,
html.lmx-noirbar .noirSide__item.is-active,
html.lmx-noirbar .noirDash .noirHero a.cta.noirHero__cta,
html.lmx-noirbar .noirFile .cta:not(.noirProfile__btn),
html.lmx-noirbar .noirDash .cta:not(.noirProfile__btn){
  background-image:
    url("assets/noir_wear.webp"),
    var(--noir-grain),
    linear-gradient(180deg,#eec21a 0%,#d9a900 100%) !important;
  background-size:105px auto, auto, auto !important;
  background-repeat:repeat, repeat, no-repeat !important;
  background-blend-mode:multiply, normal, normal !important;
}
/* у активного пункта меню маска рваного края остаётся */
html.lmx-noirbar .noirSide__item.is-active{
  -webkit-mask-image:url("assets/noir_plate_mask.webp");
  mask-image:url("assets/noir_plate_mask.webp");
}

/* «ОТКРЫТЬ ТАБЛИЦУ» и «МОЙ ПРОФИЛЬ» — как кнопки крафта */
html.lmx-noirbar .noirSeason__btn,
html.lmx-noirbar .noirProfile__btn,
html.lmx-noirbar .noirDash .noirProfile__btn{
  background-color:#0b0907 !important;
  background-image:
    var(--noir-scratch),
    url("assets/noir_btn.webp") !important;
  background-size:auto, 105px auto !important;
  background-repeat:repeat, repeat !important;
  background-blend-mode:overlay, screen !important;
  border:2px solid rgba(216,168,26,.7);
  border-radius:9px;
  color:#efe6d2;
  text-shadow:0 1px 0 rgba(0,0,0,.85);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.05);
}
html.lmx-noirbar .noirSeason__btn:hover,
html.lmx-noirbar .noirProfile__btn:hover{
  border-color:var(--yellow);
  color:#fff;
  background-color:#141110;
}

/* ============================================================
   v27: «РЕЙТИНГ СЕЗОНА» на общей подложке + подвал с
   обязательными документами.
   ============================================================ */

html.lmx-noirbar .noirSeason{
  background-color:transparent !important;
  background-image:url("assets/noir_panel.webp") !important;
  background-size:100% 100% !important;
  background-repeat:no-repeat !important;
  border:0 !important;
  border-radius:12px;
  padding:22px 26px 24px !important;
  box-shadow:0 18px 40px rgba(0,0,0,.5);
}
html.lmx-noirbar .noirSeason .noirWidget__title{ font-size:19px; }
html.lmx-noirbar .noirSeason__sub{ margin:5px 0 16px; font-size:12px; }

/* Зачёты — два широких блока */
html.lmx-noirbar .noirSeason__row{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
}
html.lmx-noirbar .noirSeason__cell{
  background:rgba(0,0,0,.42);
  border:1px solid rgba(242,196,0,.28);
  border-radius:9px;
  padding:13px 15px;
}
html.lmx-noirbar .noirSeason__k{ font-size:10px; letter-spacing:.1em; }
html.lmx-noirbar .noirSeason__v{ font-size:14px; margin-top:5px; }
html.lmx-noirbar .noirSeason__v b{ font-size:26px; }

/* Пьедестал: три медали в ряд, средняя приподнята */
html.lmx-noirbar .noirSeason__podium{
  margin-top:18px;
  padding:16px 14px 14px;
  border:1px dashed rgba(242,196,0,.3);
  border-radius:10px;
  background:rgba(0,0,0,.28);
}
html.lmx-noirbar .noirSeason__pk{
  font-family:var(--noir-display);
  font-size:10.5px;
  letter-spacing:.16em;
  color:rgba(242,196,0,.75);
  text-align:center;
  margin-bottom:12px;
}
html.lmx-noirbar .noirSeason__medals{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
  align-items:end;
}
html.lmx-noirbar .noirSeason__medal{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:8px;
  padding:12px 6px 10px;
  border-radius:9px;
  background:rgba(255,255,255,.03);
  border:1px solid rgba(255,255,255,.09);
}
/* первое место — выше и в золоте */
html.lmx-noirbar .noirSeason__medal:nth-child(1){
  order:2;
  padding-top:18px;
  padding-bottom:14px;
  border-color:rgba(242,196,0,.5);
  background:rgba(242,196,0,.07);
}
html.lmx-noirbar .noirSeason__medal:nth-child(2){ order:1; }
html.lmx-noirbar .noirSeason__medal:nth-child(3){ order:3; }
html.lmx-noirbar .noirSeason__medal img,
html.lmx-noirbar .noirSeason__medalIco{
  width:46px;
  height:46px;
  font-size:34px;
  line-height:1;
  display:block;
  object-fit:contain;
}
html.lmx-noirbar .noirSeason__medal:nth-child(1) img,
html.lmx-noirbar .noirSeason__medal:nth-child(1) .noirSeason__medalIco{
  width:58px; height:58px; font-size:44px;
}
html.lmx-noirbar .noirSeason__medal i{
  font-style:normal;
  font-family:var(--noir-display);
  font-size:10px;
  letter-spacing:.1em;
  color:rgba(255,255,255,.55);
}
html.lmx-noirbar .noirSeason__medal:nth-child(1) i{ color:var(--yellow); }
html.lmx-noirbar .noirSeason__hint{
  text-align:center;
  margin:12px 0 14px;   /* подпись не должна липнуть к кнопке */
  font-size:11px;
}

/* ---------- Подвал ---------- */
html.lmx-noirbar .noirFoot{
  margin-top:6px;
  padding:18px 0 26px;
  border-top:1px solid rgba(240,232,210,.09);
  text-align:center;
}
html.lmx-noirbar .noirFoot__links{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:8px 20px;
}
html.lmx-noirbar .noirFoot__link{
  font-family:var(--noir-display);
  font-size:10px;
  letter-spacing:.1em;
  color:rgba(240,232,210,.42);
  cursor:pointer;
  text-transform:uppercase;
}
html.lmx-noirbar .noirFoot__link:hover{ color:var(--yellow); }
html.lmx-noirbar .noirFoot__copy{
  margin-top:12px;
  font-size:10.5px;
  letter-spacing:.06em;
  color:rgba(240,232,210,.28);
}

@media (max-width:1400px){
  html.lmx-noirbar .noirSeason{ padding:16px 18px 18px !important; }
  html.lmx-noirbar .noirSeason__podium{ margin-top:14px; padding:12px 10px 10px; }
  html.lmx-noirbar .noirSeason__medals{ gap:8px; }
  html.lmx-noirbar .noirSeason__medal img,
  html.lmx-noirbar .noirSeason__medalIco{ width:38px; height:38px; font-size:28px; }
  html.lmx-noirbar .noirSeason__medal:nth-child(1) img,
  html.lmx-noirbar .noirSeason__medal:nth-child(1) .noirSeason__medalIco{ width:46px; height:46px; font-size:34px; }
  html.lmx-noirbar .noirFoot__links{ gap:6px 14px; }
  html.lmx-noirbar .noirFoot__link{ font-size:9px; }
}

/* v27.1: сезон снова компактный — зачёты и пьедестал в одной
   строке, как было до правки. Из-за высокого сезона растягивался
   «Секретный файл» и терял пропорции. */
html.lmx-noirbar .noirSeason{ padding:20px 24px 22px !important; }
html.lmx-noirbar .noirSeason__row{
  grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;
  gap:12px;
  align-items:stretch;
}
html.lmx-noirbar .noirSeason__cell{ padding:11px 13px; }
html.lmx-noirbar .noirSeason__v b{ font-size:23px; }

html.lmx-noirbar .noirSeason__podium{
  margin:0;
  padding:9px 12px 10px;
  display:flex;
  flex-direction:column;
  justify-content:center;
}
html.lmx-noirbar .noirSeason__pk{ font-size:9px; margin-bottom:8px; }
html.lmx-noirbar .noirSeason__medals{ gap:8px; }
html.lmx-noirbar .noirSeason__medal{
  padding:7px 9px 6px;
  gap:5px;
}
html.lmx-noirbar .noirSeason__medal:nth-child(1){ padding:9px 10px 8px; }
html.lmx-noirbar .noirSeason__medal img,
html.lmx-noirbar .noirSeason__medalIco{ width:34px; height:34px; font-size:26px; }
html.lmx-noirbar .noirSeason__medal:nth-child(1) img,
html.lmx-noirbar .noirSeason__medal:nth-child(1) .noirSeason__medalIco{
  width:42px; height:42px; font-size:32px;
}
html.lmx-noirbar .noirSeason__medal i{ font-size:8.5px; letter-spacing:.06em; }
html.lmx-noirbar .noirSeason__hint{ margin:14px 0 12px; }

@media (max-width:1400px){
  html.lmx-noirbar .noirSeason__row{ grid-template-columns:minmax(0,1fr) minmax(0,1fr); }
  html.lmx-noirbar .noirSeason__podium{ grid-column:1 / -1; margin-top:2px; }
  html.lmx-noirbar .noirSeason__medals{ grid-template-columns:repeat(3,minmax(0,1fr)); }
}

/* v29: медали из «Рейтинга сезона» убраны — остаются два зачёта
   во всю ширину, подписи умещаются в строку и не режутся */
html.lmx-noirbar .noirSeason__podium,
html.lmx-noirbar .noirSeason__medals{ display:none !important; }
html.lmx-noirbar .noirSeason__row{
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:16px;
}
html.lmx-noirbar .noirSeason__cell{ padding:14px 16px; min-width:0; }
html.lmx-noirbar .noirSeason__k{
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  font-size:10.5px;
  letter-spacing:.08em;
}
html.lmx-noirbar .noirSeason__v b{ font-size:26px; }
html.lmx-noirbar .noirSeason__btn{ margin-top:auto; }

@media (max-width:1400px){
  html.lmx-noirbar .noirSeason__cell{ padding:11px 12px; }
  html.lmx-noirbar .noirSeason__k{ font-size:9.5px; letter-spacing:.04em; }
}

/* ============================================================
   v30: ТОПБАР И МЕНЮ НА АРТЕ — штамп, подложки чипов,
   рамки иконок, фактура бокового меню.
   ============================================================ */

/* Штамп «ТВОЙ ХОД» — картинка, надпись внутри неё */
html.lmx-noirbar .noirTop__stamp{
  background:url("assets/noir_stamp.webp") no-repeat center;
  background-size:contain;
  width:212px;
  height:auto;
  aspect-ratio:760 / 292;
  border:0 !important;
  padding:0 !important;
  font-size:0;
  transform:none;
  box-shadow:none;
  flex:0 0 auto;
  align-self:center;
  margin-left:14px;
}
html.lmx-noirbar .noirTop__stamp b,
html.lmx-noirbar .noirTop__stamp em{ display:none; }

/* «БАЛЛЫ» и «АГЕНТ» — на своих подложках из арта */
html.lmx-noirbar .noirTop__chip{
  background:url("assets/noir_chip_s.webp") no-repeat center !important;
  background-size:100% 100% !important;
  border:0 !important;
  border-radius:10px;
  padding:8px 16px;
  min-width:96px;
  box-shadow:none;
}
html.lmx-noirbar .noirTop__chip:last-child{
  background-image:url("assets/noir_chip_w.webp") !important;
  min-width:150px;
}
html.lmx-noirbar .noirTop__chip span{ color:rgba(240,232,210,.6); }
html.lmx-noirbar .noirTop__chip b{ color:var(--yellow); }

/* Иконки справа — в потёртых рамках из арта */
html.lmx-noirbar .topbar__right .iconbtn{
  background:url("assets/noir_iconbtn.webp") no-repeat center !important;
  background-size:100% 100% !important;
  border:0 !important;
  border-radius:11px;
  width:46px;
  height:46px;
  box-shadow:none;
}
html.lmx-noirbar .topbar__right .iconbtn:hover{
  filter:brightness(1.35);
}
html.lmx-noirbar .topbar__right .iconbtn .ico{ stroke:#e9e0cc; }

/* Фактура ВЕРХНЕГО меню — картинка как есть, без осветления.
   Лежит ПОД содержимым: подложки чипов и рамки иконок рисуются
   поверх (их фон перекрывался, когда текстура шла на .topbar). */
html.lmx-noirbar .topbar{
  position:relative;
  background-color:#0a0908 !important;
  background-image:none !important;
  isolation:isolate;
}
html.lmx-noirbar .topbar::before{
  content:"";
  position:absolute;
  inset:0;
  background:url("assets/noir_topbar_bg.webp") no-repeat center;
  background-size:cover;
  z-index:0;
  pointer-events:none;
}
html.lmx-noirbar .topbar > *{ position:relative; z-index:1; }

/* Сайдбар возвращается к прежнему фону */
html.lmx-noirbar .noirSide{
  background-image:none !important;
  background-color:#0a0908 !important;
}

/* v30.1: топбар чуть выше — штамп теперь картинка с пропорцией
   560:297, при высоте 64px он был бы нечитаемо мелким.
   Высота бара, верх сайдбара и отступ .screen двигаются вместе,
   иначе контент уезжает под шапку. */
html.lmx-noirbar .topbar{
  min-height:74px;
  padding-top:6px;
  padding-bottom:6px;
}
html.lmx-noirbar .noirSide{ top:74px; }
html.lmx-noirbar .screen{ inset:74px 0 0 232px; }
html.lmx-noirbar .noirTop__stamp{
  width:auto;
  height:60px;            /* ассет обрезан по самой плашке (2.60:1),
                             раньше ~40% высоты занимала пустота */
  aspect-ratio:760 / 292;
  margin-left:20px;
}
@media (max-width:1400px){
  html.lmx-noirbar .topbar{ min-height:66px; }
  html.lmx-noirbar .noirSide{ top:66px; }
  html.lmx-noirbar .screen{ inset:66px 0 0 202px; }
  html.lmx-noirbar .noirTop__stamp{ height:50px; margin-left:14px; }
  html.lmx-noirbar .topbar__right .iconbtn{ width:40px; height:40px; }
  html.lmx-noirbar .noirTop__chip{ padding:6px 12px; min-width:84px; }
  html.lmx-noirbar .noirTop__chip:last-child{ min-width:132px; }
}

/* ============================================================
   v35: ХАБ-баннер — обложка по высоте текстовой части,
   подложка без чёрных углов.
   ============================================================ */

/* Обложка тянется на всю высоту ряда, а не на фиксированные 222px */
html.lmx-noirbar .noirDash__lead .noirSec.noirHero{
  align-items:stretch !important;
}
html.lmx-noirbar .noirHero__cover{
  height:100%;
  display:flex;
}
html.lmx-noirbar .noirHero__cover img{
  height:100% !important;
  width:100%;
  object-fit:cover;
  border-radius:8px;
}

/* Чёрные углы давал сам PNG подложки: у карточки скруглённые
   углы, а картинка прямоугольная — обрезаем её по той же форме */
html.lmx-noirbar .noirHero__body{
  border-radius:12px;
  overflow:hidden;
}

/* v36: декоративный «стол» из wide_mode.css — красный штамп
   «СОВЕРШЕННО СЕКРЕТНО» слева и кофейное кольцо справа. В нуар-
   раскладке полотно занимает почти всю ширину, и штамп торчит
   из-под левого края. Прячем оба только в этом режиме. */
html.lmx-noirbar body::before,
html.lmx-noirbar body::after{ display:none !important; }

/* ============================================================
   v37: СТРАНИЦА «РЕФЕРАЛКА» (#referral) по референсу.
   Собирается noir_shell.js (v25) внутри #referralRoot; родная
   мобильная разметка при этом просто спрятана — на телефонах
   и планшетах ничего не меняется.
   ============================================================ */

html.lmx-noirbar .noirRefSrcHidden{ display:none !important; }

html.lmx-noirbar .noirRef{
  display:flex;
  flex-direction:column;
  gap:26px;
  padding-bottom:10px;
}

/* ---------- верх: заголовок + ссылка | арт ---------- */
html.lmx-noirbar .noirRef__top{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(320px,500px);
  gap:30px;
  align-items:center;
}
html.lmx-noirbar .noirRef__lead{ min-width:0; }

html.lmx-noirbar .noirRef .noirRef__h1{
  display:block;
  font-family:var(--noir-display);
  font-weight:700;
  font-size:30px;
  line-height:1;
  letter-spacing:.06em;
  color:#f5f1e6;
  margin:0 0 12px;
  /* лёгкая потёртость краски — как у «ХАБ» */
  -webkit-mask-image:var(--noir-wear);
  mask-image:var(--noir-wear);
  -webkit-mask-size:110px 110px;
  mask-size:110px 110px;
}
/* на референсе под заголовком рефералки пунктира нет */
html.lmx-noirbar .noirRef .noirRef__h1::after{ display:none !important; }

html.lmx-noirbar .noirRef__sub{
  margin:0 0 20px;
  font-size:13.5px;
  line-height:1.65;
  color:rgba(240,232,210,.62);
  max-width:640px;
}
html.lmx-noirbar .noirRef__sub b{ color:var(--yellow); }

/* блок ссылки — на общей подложке из арта */
html.lmx-noirbar .noirRef__linkBox{
  background:url("assets/noir_panel.webp") no-repeat center;
  background-size:100% 100%;
  border-radius:12px;
  overflow:hidden;
  padding:20px 24px 22px;
  box-shadow:0 16px 36px rgba(0,0,0,.45);
}
html.lmx-noirbar .noirRef__label{
  font-family:var(--noir-display);
  font-weight:700;
  font-size:11px;
  letter-spacing:.16em;
  color:rgba(240,232,210,.5);
  margin-bottom:11px;
}
html.lmx-noirbar .noirRef__linkRow{
  display:flex;
  align-items:stretch;
  gap:12px;
}
html.lmx-noirbar .noirRef__link{
  flex:1 1 auto;
  min-width:0;
  display:flex;
  align-items:center;
  padding:11px 16px;
  border:1px solid rgba(242,196,0,.28);
  border-radius:8px;
  background:rgba(0,0,0,.5);
  font-family:var(--mono, ui-monospace, monospace);
  font-size:13.5px;
  letter-spacing:.02em;
  color:#f0e8d2;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
html.lmx-noirbar .noirRef .cta.noirRef__copy{
  flex:0 0 auto;
  width:auto;
  margin:0;
  padding:11px 22px;
  border-radius:8px;
  font-size:11.5px;
  letter-spacing:.14em;
  color:#171008;
  -webkit-mask-image:none !important;
  mask-image:none !important;
  background-image:
    url("assets/noir_wear.webp"),
    var(--noir-grain),
    linear-gradient(180deg,#eec21a 0%,#d9a900 100%);
  background-size:105px auto, auto, auto;
  background-repeat:repeat, repeat, no-repeat;
  background-blend-mode:multiply, normal, normal;
  cursor:pointer;
}
html.lmx-noirbar .noirRef .cta.noirRef__copy.is-done{ filter:brightness(1.1); }
html.lmx-noirbar .noirRef__codeRow{
  margin-top:13px;
  font-size:12px;
  letter-spacing:.06em;
  color:rgba(240,232,210,.5);
}
html.lmx-noirbar .noirRef__codeRow b{
  font-family:var(--mono, ui-monospace, monospace);
  font-size:16px;
  font-weight:700;
  letter-spacing:.18em;
  color:var(--yellow);
  margin-left:8px;
}

/* арт из мокапа */
html.lmx-noirbar .noirRef__art{
  border-radius:10px;
  overflow:hidden;
  box-shadow:0 18px 42px rgba(0,0,0,.55);
}
html.lmx-noirbar .noirRef__art img{
  display:block;
  width:100%;
  height:auto;
}

/* ---------- четыре счётчика ---------- */
html.lmx-noirbar .noirRef__stats{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:16px;
}
html.lmx-noirbar .noirRef__stat{
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  grid-template-rows:auto auto;
  column-gap:14px;
  align-items:center;
  padding:16px 18px;
  border:1px solid rgba(242,196,0,.22);
  border-radius:10px;
  background-image:
    var(--noir-grain),
    linear-gradient(180deg, rgba(18,16,13,.75), rgba(10,9,8,.8));
  box-shadow:0 12px 26px rgba(0,0,0,.4);
}
html.lmx-noirbar .noirRef__statIco{
  grid-row:1 / span 2;
  display:flex;
  align-items:center;
  justify-content:center;
  width:44px;
  height:44px;
  border-radius:9px;
  border:1px solid rgba(242,196,0,.25);
  background:rgba(242,196,0,.07);
  color:var(--yellow);
}
html.lmx-noirbar .noirRef__statIco svg{ width:23px; height:23px; }
html.lmx-noirbar .noirRef__statVal{
  font-family:var(--noir-display);
  font-weight:700;
  font-size:28px;
  line-height:1;
  color:var(--yellow);
  letter-spacing:.02em;
}
html.lmx-noirbar .noirRef__statName{
  font-style:normal;
  font-size:10.5px;
  font-weight:700;
  letter-spacing:.14em;
  color:rgba(240,232,210,.72);
  margin-top:5px;
}
html.lmx-noirbar .noirRef__statSub{
  grid-column:2;
  font-style:normal;
  font-size:11px;
  color:rgba(240,232,210,.4);
  margin-top:2px;
}

/* ---------- заголовки секций ---------- */
html.lmx-noirbar .noirRef__secTitle{
  font-family:var(--noir-display);
  font-weight:700;
  font-size:22px;
  line-height:1;
  letter-spacing:.1em;
  color:#f5f1e6;
  margin:2px 0 -6px;
  -webkit-mask-image:var(--noir-wear);
  mask-image:var(--noir-wear);
  -webkit-mask-size:110px 110px;
  mask-size:110px 110px;
}
html.lmx-noirbar .noirRef__secTitle--sm{
  font-size:17px;
  letter-spacing:.12em;
  margin:0 0 8px;
}

/* ---------- цепочка бонусов ---------- */
html.lmx-noirbar .noirRef__steps{
  display:flex;
  align-items:stretch;
  gap:0;
}
html.lmx-noirbar .noirRef__step{
  flex:1 1 0;
  min-width:0;
  position:relative;
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  column-gap:13px;
  align-items:center;
  padding:16px 18px;
  border:1px solid rgba(240,232,210,.12);
  border-radius:10px;
  background-image:
    var(--noir-grain),
    linear-gradient(180deg, rgba(18,16,13,.72), rgba(10,9,8,.78));
  box-shadow:0 12px 26px rgba(0,0,0,.4);
}
html.lmx-noirbar .noirRef__stepLink{
  flex:0 0 26px;
  align-self:center;
  border-top:2px dashed rgba(242,196,0,.4);
  height:0;
}
html.lmx-noirbar .noirRef__stepIco{
  display:flex;
  align-items:center;
  justify-content:center;
  width:40px;
  height:40px;
  border-radius:9px;
  border:1px solid rgba(242,196,0,.22);
  background:rgba(242,196,0,.06);
  color:var(--yellow);
}
html.lmx-noirbar .noirRef__stepIco svg{ width:21px; height:21px; }
html.lmx-noirbar .noirRef__stepText{
  font-size:12.5px;
  line-height:1.5;
  color:rgba(240,232,210,.78);
}
html.lmx-noirbar .noirRef__stepText b{
  color:var(--yellow);
  font-weight:700;
  white-space:nowrap;
}

/* ---------- низ: «поделиться» | крафт «важно знать» ---------- */
html.lmx-noirbar .noirRef__bottom{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(300px,400px);
  gap:24px;
  align-items:stretch;
}
html.lmx-noirbar .noirRef__share{
  display:flex;
  flex-direction:column;
  padding:22px 26px 24px;
  border-radius:12px;
  overflow:hidden;
  background:url("assets/noir_panel.webp") no-repeat center;
  background-size:100% 100%;
  box-shadow:0 16px 36px rgba(0,0,0,.45);
}
html.lmx-noirbar .noirRef__shareSub{
  margin:0 0 16px;
  font-size:12.5px;
  line-height:1.6;
  color:rgba(240,232,210,.55);
  max-width:560px;
}
html.lmx-noirbar .noirRef .cta.noirRef__big{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  width:100%;
  margin:0 0 14px;
  padding:15px 20px;
  border-radius:9px;
  font-size:13px;
  letter-spacing:.14em;
  color:#171008;
  cursor:pointer;
  -webkit-mask-image:none !important;
  mask-image:none !important;
  background-image:
    url("assets/noir_wear.webp"),
    var(--noir-grain),
    linear-gradient(180deg,#eec21a 0%,#d9a900 100%);
  background-size:105px auto, auto, auto;
  background-repeat:repeat, repeat, no-repeat;
  background-blend-mode:multiply, normal, normal;
}
html.lmx-noirbar .noirRef__bigIco{ width:19px; height:19px; }

html.lmx-noirbar .noirRef__soc{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-bottom:16px;
}
html.lmx-noirbar .noirRef__socBtn{
  flex:1 1 0;
  min-width:110px;
  text-align:center;
  padding:11px 12px;
  border:2px solid rgba(216,168,26,.55);
  border-radius:9px;
  font-family:var(--noir-display);
  font-weight:700;
  font-size:11.5px;
  letter-spacing:.1em;
  text-transform:uppercase;
  text-decoration:none;
  color:#efe6d2;
  cursor:pointer;
  background-color:#0b0907;
  background-image:
    var(--noir-scratch),
    url("assets/noir_btn.webp");
  background-size:auto, 105px auto;
  background-repeat:repeat, repeat;
  background-blend-mode:overlay, screen;
  text-shadow:0 1px 0 rgba(0,0,0,.85);
}
html.lmx-noirbar .noirRef__socBtn:hover{
  border-color:var(--yellow);
  color:#fff;
}
html.lmx-noirbar .noirRef__ghost{
  margin-top:auto;
  align-self:flex-start;
  padding:10px 18px;
  border:1px solid rgba(240,232,210,.2);
  border-radius:8px;
  background:rgba(0,0,0,.25);
  color:rgba(240,232,210,.65);
  font-size:12px;
  letter-spacing:.08em;
  cursor:pointer;
}
html.lmx-noirbar .noirRef__ghost:hover{
  border-color:rgba(242,196,0,.5);
  color:#f5f1e6;
}

/* крафтовая карточка «ВАЖНО ЗНАТЬ» — тот же арт, что у
   «секретного файла» на хабе */
html.lmx-noirbar .noirRef__kraft{
  display:flex;
  flex-direction:column;
  padding:24px 26px 26px;
  background:url("assets/noir_kraft.webp") no-repeat center;
  background-size:100% 100%;
  color:#20180d;
}
html.lmx-noirbar .noirRef__kraftTitle{
  font-family:var(--noir-display);
  font-weight:700;
  font-size:18px;
  letter-spacing:.08em;
  color:#171008;
  padding-bottom:12px;
  margin-bottom:14px;
  border-bottom:2px solid rgba(20,14,6,.7);
}
html.lmx-noirbar .noirRef__note{
  display:flex;
  align-items:flex-start;
  gap:11px;
  font-size:12.5px;
  line-height:1.55;
  color:#2b2114;
  margin-bottom:13px;
}
html.lmx-noirbar .noirRef__noteIco{
  flex:0 0 auto;
  width:19px;
  height:19px;
  margin-top:1px;
  color:#6b4f22;
}
html.lmx-noirbar .noirRef__kraftBtn{
  margin-top:auto;
  width:100%;
  padding:13px 16px;
  border:2px solid rgba(18,12,5,.9);
  border-radius:9px;
  font-family:var(--noir-display);
  font-weight:700;
  font-size:12px;
  letter-spacing:.12em;
  color:#efe6d2;
  cursor:pointer;
  background-color:#0b0907;
  background-image:
    var(--noir-scratch),
    url("assets/noir_btn.webp");
  background-size:auto, 105px auto;
  background-repeat:repeat, repeat;
  background-blend-mode:overlay, screen;
  text-shadow:0 1px 0 rgba(0,0,0,.85);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.05), 0 3px 0 rgba(20,14,6,.35);
}
html.lmx-noirbar .noirRef__kraftBtn:hover{
  border-color:rgba(242,196,0,.75);
  color:#fff;
}

/* ---------- узкий десктоп ---------- */
@media (max-width:1400px){
  html.lmx-noirbar .noirRef{ gap:20px; }
  html.lmx-noirbar .noirRef__top{
    grid-template-columns:minmax(0,1fr) minmax(280px,400px);
    gap:22px;
  }
  html.lmx-noirbar .noirRef .noirRef__h1{ font-size:26px; }
  html.lmx-noirbar .noirRef__sub{ font-size:12.5px; margin-bottom:16px; }
  html.lmx-noirbar .noirRef__linkBox{ padding:16px 18px 18px; }
  html.lmx-noirbar .noirRef__link{ font-size:12px; padding:10px 13px; }
  html.lmx-noirbar .noirRef .cta.noirRef__copy{ padding:10px 16px; font-size:10.5px; }
  html.lmx-noirbar .noirRef__stats{ gap:12px; }
  html.lmx-noirbar .noirRef__stat{ padding:13px 14px; column-gap:11px; }
  html.lmx-noirbar .noirRef__statIco{ width:38px; height:38px; }
  html.lmx-noirbar .noirRef__statIco svg{ width:20px; height:20px; }
  html.lmx-noirbar .noirRef__statVal{ font-size:23px; }
  html.lmx-noirbar .noirRef__statName{ font-size:9.5px; letter-spacing:.1em; }
  html.lmx-noirbar .noirRef__statSub{ font-size:10px; }
  html.lmx-noirbar .noirRef__secTitle{ font-size:19px; }
  html.lmx-noirbar .noirRef__step{ padding:13px 14px; column-gap:10px; }
  html.lmx-noirbar .noirRef__stepIco{ width:34px; height:34px; }
  html.lmx-noirbar .noirRef__stepIco svg{ width:18px; height:18px; }
  html.lmx-noirbar .noirRef__stepText{ font-size:11.5px; }
  html.lmx-noirbar .noirRef__stepLink{ flex-basis:18px; }
  html.lmx-noirbar .noirRef__bottom{
    grid-template-columns:minmax(0,1fr) minmax(280px,330px);
    gap:18px;
  }
  html.lmx-noirbar .noirRef__share{ padding:18px 20px 20px; }
  html.lmx-noirbar .noirRef__kraft{ padding:20px 20px 22px; }
  html.lmx-noirbar .noirRef__socBtn{ min-width:92px; font-size:10.5px; padding:10px 8px; }
}

/* ============================================================
   v38: СТРАНИЦА «ПОДПИСКА» (#subscription) по референсу.
   Собирается noir_shell.js (v26) внутри #subscriptionRoot;
   родная мобильная вёрстка просто спрятана — на телефонах и
   планшетах не меняется ничего.
   ============================================================ */

html.lmx-noirbar .noirSubSrcHidden{ display:none !important; }

html.lmx-noirbar .noirSub{
  display:flex;
  flex-direction:column;
  gap:24px;
  padding-bottom:10px;
}

/* ---------- шапка ---------- */
html.lmx-noirbar .noirSub__head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:24px;
}
html.lmx-noirbar .noirSub .noirSub__h1{
  display:block;
  font-family:var(--noir-display);
  font-weight:700;
  font-size:30px;
  line-height:1;
  letter-spacing:.06em;
  color:#f5f1e6;
  margin:0 0 12px;
  -webkit-mask-image:var(--noir-wear);
  mask-image:var(--noir-wear);
  -webkit-mask-size:110px 110px;
  mask-size:110px 110px;
}
html.lmx-noirbar .noirSub .noirSub__h1::after{ display:none !important; }
html.lmx-noirbar .noirSub__sub{
  margin:0;
  font-size:13.5px;
  line-height:1.65;
  color:rgba(240,232,210,.62);
  max-width:620px;
}
html.lmx-noirbar .noirSub__safe{
  flex:0 0 auto;
  display:flex;
  align-items:center;
  gap:9px;
  margin-top:6px;
  font-family:var(--noir-display);
  font-weight:700;
  font-size:11px;
  letter-spacing:.14em;
  color:var(--yellow);
}
html.lmx-noirbar .noirSub__safe svg{ width:19px; height:19px; }

/* активная подписка */
html.lmx-noirbar .noirSub__active{
  display:flex;
  align-items:center;
  gap:14px;
  padding:14px 20px;
  border:1px solid rgba(242,196,0,.35);
  border-radius:10px;
  background-image:
    var(--noir-grain),
    linear-gradient(180deg, rgba(242,196,0,.09), rgba(242,196,0,.04));
}
html.lmx-noirbar .noirSub__activeIco{ width:26px; height:26px; color:var(--yellow); }
html.lmx-noirbar .noirSub__active b{
  display:block;
  font-size:14px;
  color:#f5f1e6;
  letter-spacing:.04em;
}
html.lmx-noirbar .noirSub__active i{
  display:block;
  font-style:normal;
  font-size:12px;
  color:rgba(240,232,210,.5);
  margin-top:2px;
}

/* ---------- карточки тарифов ---------- */
html.lmx-noirbar .noirSub__plans{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:22px;
  align-items:stretch;
  margin-top:4px;
}
html.lmx-noirbar .noirSub__plan{
  position:relative;
  display:flex;
  flex-direction:column;
  padding:26px 24px 24px;
  border:1px solid rgba(240,232,210,.14);
  border-radius:12px;
  background-image:
    var(--noir-grain),
    linear-gradient(180deg, rgba(18,16,13,.78), rgba(10,9,8,.82));
  box-shadow:0 14px 32px rgba(0,0,0,.45);
}
html.lmx-noirbar .noirSub__plan.is-popular{
  border-color:rgba(242,196,0,.7);
  box-shadow:0 18px 42px rgba(0,0,0,.55), 0 0 26px rgba(242,196,0,.08);
}
html.lmx-noirbar .noirSub__plan.is-current{
  border-color:rgba(242,196,0,.45);
}
/* «САМЫЙ ПОПУЛЯРНЫЙ» — потёртая жёлтая плашка на верхнем крае */
html.lmx-noirbar .noirSub__tape{
  position:absolute;
  top:-15px;
  left:50%;
  transform:translateX(-50%);
  padding:9px 30px;
  font-family:var(--noir-display);
  font-weight:700;
  font-size:12px;
  letter-spacing:.16em;
  white-space:nowrap;
  color:#171008;
  isolation:isolate;
  background:none;
}
/* Рваный край даёт ПОДЛОЖКА, а не сам элемент: маска на элементе
   выедала буквы (на плашках такого размера зазубрины крупнее
   букв). Фон уходит в ::before со своим z-index. */
html.lmx-noirbar .noirSub__tape::before,
html.lmx-noirbar .noirSub__save::before,
html.lmx-noirbar .noirSub .cta.noirSub__buy::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  background-color:#e0b100;
  background-image:
    url("assets/noir_wear.webp"),
    var(--noir-grain),
    linear-gradient(180deg,#eec21a 0%,#d9a900 100%);
  background-size:105px auto, auto, auto;
  background-repeat:repeat, repeat, no-repeat;
  background-blend-mode:multiply, normal, normal;
  -webkit-mask-image:url("assets/noir_plate_mask.webp");
  mask-image:url("assets/noir_plate_mask.webp");
  -webkit-mask-size:100% 100%;
  mask-size:100% 100%;
  -webkit-mask-repeat:no-repeat;
  mask-repeat:no-repeat;
}
html.lmx-noirbar .noirSub__tape--cur::before{
  background-image:
    url("assets/noir_wear.webp"),
    var(--noir-grain),
    linear-gradient(180deg,#f0f0f0 0%,#c9c3b4 100%);
}

html.lmx-noirbar .noirSub__planHead{
  display:flex;
  align-items:center;
  gap:13px;
  margin-bottom:16px;
}
html.lmx-noirbar .noirSub__glass{
  display:flex;
  align-items:center;
  justify-content:center;
  width:40px;
  height:40px;
  flex:0 0 auto;
  border-radius:50%;
  border:1px solid rgba(242,196,0,.3);
  background:rgba(242,196,0,.08);
  color:var(--yellow);
}
html.lmx-noirbar .noirSub__glass svg{ width:22px; height:22px; }
html.lmx-noirbar .noirSub__planHead b{
  display:block;
  font-family:var(--noir-display);
  font-weight:700;
  font-size:19px;
  letter-spacing:.1em;
  line-height:1;
  color:var(--yellow);
}
html.lmx-noirbar .noirSub__planHead i{
  display:block;
  font-style:normal;
  font-size:11px;
  font-weight:700;
  letter-spacing:.14em;
  color:rgba(240,232,210,.45);
  margin-top:6px;
}

html.lmx-noirbar .noirSub__price{
  display:flex;
  align-items:baseline;
  flex-wrap:wrap;
  gap:10px;
  margin-bottom:10px;
}
html.lmx-noirbar .noirSub__price b{
  font-family:var(--noir-display);
  font-weight:700;
  font-size:30px;
  line-height:1;
  color:#f7f3e8;
  letter-spacing:.02em;
}
html.lmx-noirbar .noirSub__price s{
  font-size:16px;
  color:rgba(240,232,210,.35);
  text-decoration-thickness:1px;
}
html.lmx-noirbar .noirSub__save{
  align-self:flex-start;
  display:inline-block;
  padding:5px 14px;
  margin-bottom:4px;
  font-family:var(--noir-display);
  font-weight:700;
  font-size:10.5px;
  letter-spacing:.12em;
  color:#171008;
  position:relative;
  isolation:isolate;
  background:none;
}
html.lmx-noirbar .noirSub__saveNote{
  font-size:10.5px;
  color:rgba(240,232,210,.38);
  margin:-2px 0 4px;
}

html.lmx-noirbar .noirSub__feats{
  list-style:none;
  margin:14px 0 22px;
  padding:0;
  display:flex;
  flex-direction:column;
  gap:11px;
}
html.lmx-noirbar .noirSub__feats li{
  display:flex;
  align-items:flex-start;
  gap:10px;
  font-size:12.5px;
  line-height:1.45;
  color:rgba(240,232,210,.82);
}
html.lmx-noirbar .noirSub__tick{
  flex:0 0 auto;
  width:15px;
  height:15px;
  margin-top:2px;
  color:var(--yellow);
}

html.lmx-noirbar .noirSub .cta.noirSub__buy{
  position:relative;
  isolation:isolate;
  width:100%;
  margin:auto 0 0;
  padding:15px 18px;
  font-size:12.5px;
  letter-spacing:.12em;
  color:#171008;
  cursor:pointer;
  background:none;
  -webkit-mask-image:none;
  mask-image:none;
}
html.lmx-noirbar .noirSub__cur{
  margin-top:auto;
  padding:15px 18px;
  text-align:center;
  border:1px solid rgba(242,196,0,.45);
  border-radius:8px;
  background:rgba(242,196,0,.08);
  font-family:var(--noir-display);
  font-weight:700;
  font-size:12px;
  letter-spacing:.1em;
  color:var(--yellow);
}

/* ---------- заголовки секций ---------- */
html.lmx-noirbar .noirSub__secTitle{
  font-family:var(--noir-display);
  font-weight:700;
  font-size:22px;
  line-height:1;
  letter-spacing:.1em;
  color:#f5f1e6;
  margin:6px 0 -4px;
  -webkit-mask-image:var(--noir-wear);
  mask-image:var(--noir-wear);
  -webkit-mask-size:110px 110px;
  mask-size:110px 110px;
}
html.lmx-noirbar .noirSub__secTitle--sm{ font-size:18px; letter-spacing:.12em; }

/* ---------- таблица сравнения ---------- */
html.lmx-noirbar .noirSub__table{
  border:1px solid rgba(240,232,210,.14);
  border-radius:10px;
  overflow:hidden;
  background-image:
    var(--noir-grain),
    linear-gradient(180deg, rgba(16,15,12,.7), rgba(10,9,8,.75));
}
html.lmx-noirbar .noirSub__tRow{
  display:grid;
  grid-template-columns:minmax(0,1.7fr) repeat(3,minmax(0,1fr));
  align-items:center;
  border-bottom:1px solid rgba(240,232,210,.09);
}
html.lmx-noirbar .noirSub__tRow:last-child{ border-bottom:0; }
html.lmx-noirbar .noirSub__tRow--head{
  background:rgba(242,196,0,.05);
  border-bottom:1px solid rgba(242,196,0,.25);
}
html.lmx-noirbar .noirSub__tRow--head .noirSub__tCell{
  font-family:var(--noir-display);
  font-weight:700;
  font-size:11.5px;
  letter-spacing:.14em;
  color:var(--yellow);
  padding-top:14px;
  padding-bottom:14px;
}
html.lmx-noirbar .noirSub__tCell{
  display:flex;
  align-items:center;
  justify-content:center;
  padding:13px 12px;
  font-size:12.5px;
  color:rgba(240,232,210,.8);
  text-align:center;
  border-left:1px solid rgba(240,232,210,.07);
}
html.lmx-noirbar .noirSub__tCell--name{
  justify-content:flex-start;
  gap:12px;
  text-align:left;
  padding-left:20px;
  border-left:0;
  line-height:1.4;
}
html.lmx-noirbar .noirSub__tIco{
  flex:0 0 auto;
  display:flex;
  align-items:center;
  justify-content:center;
  width:22px;
  font-size:15px;
  color:rgba(242,196,0,.6);
}
html.lmx-noirbar .noirSub__tIco svg{ width:9px; height:9px; }
html.lmx-noirbar .noirSub__dash{
  font-style:normal;
  color:rgba(240,232,210,.28);
}

/* ---------- промокод и сертификат ---------- */
html.lmx-noirbar .noirSub__codes{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:20px;
}
html.lmx-noirbar .noirSub__code{
  padding:20px 22px 22px;
  border-radius:12px;
  overflow:hidden;
  background:url("assets/noir_panel.webp") no-repeat center;
  background-size:100% 100%;
  box-shadow:0 14px 32px rgba(0,0,0,.42);
}
html.lmx-noirbar .noirSub__codeTitle{
  display:flex;
  align-items:center;
  gap:10px;
  font-family:var(--noir-display);
  font-weight:700;
  font-size:12.5px;
  letter-spacing:.14em;
  color:var(--yellow);
  margin-bottom:14px;
}
html.lmx-noirbar .noirSub__codeTitle svg{ width:18px; height:18px; }
html.lmx-noirbar .noirSub__codeRow{
  display:flex;
  gap:10px;
}
html.lmx-noirbar .noirSub__input{
  flex:1 1 auto;
  min-width:0;
  padding:11px 15px;
  border:1px solid rgba(242,196,0,.28);
  border-radius:8px;
  background:rgba(0,0,0,.5);
  color:#f0e8d2;
  font-family:var(--mono, ui-monospace, monospace);
  font-size:13px;
  letter-spacing:.06em;
}
html.lmx-noirbar .noirSub__input::placeholder{ color:rgba(240,232,210,.3); }
html.lmx-noirbar .noirSub__input:focus{
  outline:none;
  border-color:var(--yellow);
}
html.lmx-noirbar .noirSub__codeBtn{
  flex:0 0 auto;
  padding:11px 20px;
  border:2px solid rgba(216,168,26,.6);
  border-radius:8px;
  font-family:var(--noir-display);
  font-weight:700;
  font-size:11px;
  letter-spacing:.12em;
  color:#efe6d2;
  cursor:pointer;
  background-color:#0b0907;
  background-image:
    var(--noir-scratch),
    url("assets/noir_btn.webp");
  background-size:auto, 105px auto;
  background-repeat:repeat, repeat;
  background-blend-mode:overlay, screen;
  text-shadow:0 1px 0 rgba(0,0,0,.85);
}
html.lmx-noirbar .noirSub__codeBtn:hover{ border-color:var(--yellow); color:#fff; }
html.lmx-noirbar .noirSub__codeMsg{
  min-height:16px;
  margin-top:10px;
  font-size:12px;
  color:rgba(240,232,210,.5);
}
html.lmx-noirbar .noirSub__codeMsg.is-ok{ color:#8fd8a2; }
html.lmx-noirbar .noirSub__codeMsg.is-err{ color:#e08a7d; }

/* ---------- FAQ ---------- */
html.lmx-noirbar .noirSub__faq{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
}
html.lmx-noirbar .noirSub__faqItem{
  padding:16px 18px;
  border:1px solid rgba(240,232,210,.12);
  border-radius:10px;
  background-image:
    var(--noir-grain),
    linear-gradient(180deg, rgba(16,15,12,.7), rgba(10,9,8,.75));
}
html.lmx-noirbar .noirSub__q{
  font-size:13px;
  font-weight:700;
  color:#f5f1e6;
  margin-bottom:7px;
  line-height:1.4;
}
html.lmx-noirbar .noirSub__a{
  font-size:12.5px;
  line-height:1.6;
  color:rgba(240,232,210,.55);
}

/* ---------- узкий десктоп ---------- */
@media (max-width:1400px){
  html.lmx-noirbar .noirSub{ gap:20px; }
  html.lmx-noirbar .noirSub .noirSub__h1{ font-size:26px; }
  html.lmx-noirbar .noirSub__sub{ font-size:12.5px; }
  html.lmx-noirbar .noirSub__plans{ gap:16px; }
  html.lmx-noirbar .noirSub__plan{ padding:22px 18px 20px; }
  html.lmx-noirbar .noirSub__planHead b{ font-size:17px; }
  html.lmx-noirbar .noirSub__price b{ font-size:25px; }
  html.lmx-noirbar .noirSub__price s{ font-size:14px; }
  html.lmx-noirbar .noirSub__feats li{ font-size:11.5px; }
  html.lmx-noirbar .noirSub .cta.noirSub__buy{ padding:13px 14px; font-size:11px; letter-spacing:.1em; }
  html.lmx-noirbar .noirSub__secTitle{ font-size:19px; }
  html.lmx-noirbar .noirSub__tCell{ font-size:11.5px; padding:11px 8px; }
  html.lmx-noirbar .noirSub__tCell--name{ padding-left:14px; gap:9px; }
  html.lmx-noirbar .noirSub__tRow--head .noirSub__tCell{ font-size:10.5px; letter-spacing:.1em; }
  html.lmx-noirbar .noirSub__codes{ gap:14px; }
  html.lmx-noirbar .noirSub__code{ padding:16px 18px 18px; }
  html.lmx-noirbar .noirSub__codeBtn{ padding:10px 14px; font-size:10px; }
  html.lmx-noirbar .noirSub__input{ font-size:12px; padding:10px 12px; }
}

/* ============================================================
   v39: ПОДЛОЖКИ ИЗ АРТА — карточки тарифов и таблица сравнения
   рисуются на её текстурах (assets/noir_card.webp,
   assets/noir_table.webp), рамка идёт из картинки, а не из CSS.

   Табличный арт нарисован на фиксированное число строк, а строк
   в таблице столько, сколько фич в админке, — поэтому из арта
   убраны внутренние линейки (инпейнт по соседним пикселям), а
   разлиновка рисуется CSS-ом тем же золотом, что на арте.
   ============================================================ */

html.lmx-noirbar .noirSub__plan{
  border:0 !important;
  border-radius:14px;
  background-color:transparent;
  background-image:url("assets/noir_card.webp") !important;
  background-size:100% 100% !important;
  background-repeat:no-repeat !important;
  background-position:center !important;
  box-shadow:0 16px 36px rgba(0,0,0,.55);
}
/* «Популярный» — та же карточка, но ярче обведена и подсвечена */
html.lmx-noirbar .noirSub__plan.is-popular::after,
html.lmx-noirbar .noirSub__plan.is-current::after{
  content:"";
  position:absolute;
  inset:1px;
  border:2px solid rgba(242,196,0,.6);
  border-radius:13px;
  pointer-events:none;
}
html.lmx-noirbar .noirSub__plan.is-current::after{
  border-color:rgba(242,196,0,.4);
}
html.lmx-noirbar .noirSub__plan.is-popular{
  box-shadow:0 20px 44px rgba(0,0,0,.6), 0 0 30px rgba(242,196,0,.1);
}

/* ---------- таблица на арте ---------- */
html.lmx-noirbar .noirSub__table{
  border:0;
  border-radius:14px;
  background-color:transparent;
  background-image:url("assets/noir_table.webp");
  background-size:100% 100%;
  background-repeat:no-repeat;
  background-position:center;
  box-shadow:0 16px 36px rgba(0,0,0,.5);
  padding:2px 3px;
}
/* разлиновка — золотая волосяная линия, цвет снят с арта */
html.lmx-noirbar .noirSub__tRow{
  border-bottom:1px solid rgba(176,131,48,.5);
}
html.lmx-noirbar .noirSub__tRow:last-child{ border-bottom:0; }
html.lmx-noirbar .noirSub__tRow--head{
  background:none;
  border-bottom:1px solid rgba(212,163,58,.75);
}
html.lmx-noirbar .noirSub__tCell{
  border-left:1px solid rgba(176,131,48,.42);
}
html.lmx-noirbar .noirSub__tCell--name{ border-left:0; }

/* v39.1: тряпка из угла таблицы — отдельным слоем фиксированного
   размера. В самом арте она растягивалась вместе с подложкой и
   наползала на колонку «12 месяцев». */
html.lmx-noirbar .noirSub__table{ position:relative; }
html.lmx-noirbar .noirSub__table::before{
  content:"";
  position:absolute;
  top:-2px;
  right:-2px;
  width:52px;
  height:86px;
  background:url("assets/noir_table_clip.webp") no-repeat center;
  background-size:contain;
  pointer-events:none;
  z-index:2;
}

/* ============================================================
   v40: «МОИ ЗАКАЗЫ» — полноценный экран вместо модалки.
   Панель лежит поверх .screen (собственного маршрута у заказов
   в app.js нет), подложки — из арта: карточка заказа на
   noir_panel.webp, боковые блоки на noir_card.webp.
   ============================================================ */

html.lmx-noirbar .noirOrdersWrap{
  position:absolute;
  inset:0;
  z-index:6;
  overflow-y:auto;
  padding:16px 28px 44px;
  background:
    var(--noir-grain) repeat,
    linear-gradient(180deg,#131210,#0c0b0a);
}
html.lmx-noirbar .noirOrdersWrap::-webkit-scrollbar{ width:10px; }

html.lmx-noirbar .noirOrders__back{
  display:inline-flex;
  align-items:center;
  gap:7px;
  margin-bottom:14px;
  padding:8px 14px 8px 10px;
  border:1px solid rgba(240,232,210,.18);
  border-radius:8px;
  background:rgba(0,0,0,.3);
  color:rgba(240,232,210,.65);
  font-family:var(--noir-display);
  font-weight:700;
  font-size:11px;
  letter-spacing:.12em;
  cursor:pointer;
}
html.lmx-noirbar .noirOrders__back:hover{
  border-color:rgba(242,196,0,.5);
  color:#f5f1e6;
}
html.lmx-noirbar .noirOrders__back svg{ width:15px; height:15px; }

html.lmx-noirbar .noirOrders .noirOrders__h1{
  display:block;
  font-family:var(--noir-display);
  font-weight:700;
  font-size:34px;
  line-height:1;
  letter-spacing:.08em;
  color:#f5f1e6;
  margin:0 0 18px;
  -webkit-mask-image:var(--noir-wear);
  mask-image:var(--noir-wear);
  -webkit-mask-size:110px 110px;
  mask-size:110px 110px;
}
html.lmx-noirbar .noirOrders .noirOrders__h1::after{ display:none !important; }

/* ---------- вкладки ---------- */
html.lmx-noirbar .noirOrders__tabs{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  margin-bottom:20px;
  border-bottom:1px solid rgba(240,232,210,.12);
}
html.lmx-noirbar .noirOrders__tab{
  padding:10px 16px;
  border:0;
  border-bottom:2px solid transparent;
  background:none;
  color:rgba(240,232,210,.5);
  font-family:var(--noir-display);
  font-weight:700;
  font-size:11.5px;
  letter-spacing:.12em;
  cursor:pointer;
}
html.lmx-noirbar .noirOrders__tab:hover{ color:#f5f1e6; }
html.lmx-noirbar .noirOrders__tab.is-on{
  color:var(--yellow);
  border-bottom-color:var(--yellow);
}

html.lmx-noirbar .noirOrders__grid{
  display:grid;
  grid-template-columns:minmax(0,1fr) 320px;
  gap:22px;
  align-items:start;
}
html.lmx-noirbar .noirOrders__list{
  display:flex;
  flex-direction:column;
  gap:14px;
  min-width:0;
}

/* ---------- карточка заказа ---------- */
html.lmx-noirbar .noirOrd{
  display:grid;
  grid-template-columns:118px minmax(0,1fr) 68px 210px;
  gap:18px;
  align-items:center;
  padding:16px 20px;
  border-radius:12px;
  overflow:hidden;
  background:url("assets/noir_panel.webp") no-repeat center;
  background-size:100% 100%;
  box-shadow:0 14px 30px rgba(0,0,0,.45);
}
html.lmx-noirbar .noirOrd__thumb{
  width:118px;
  height:96px;
  border-radius:9px;
  overflow:hidden;
  display:flex;
  align-items:center;
  justify-content:center;
  border:1px solid rgba(240,232,210,.12);
  background:rgba(0,0,0,.4);
  color:rgba(242,196,0,.45);
}
html.lmx-noirbar .noirOrd__thumb img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
html.lmx-noirbar .noirOrd__thumb svg{ width:34px; height:34px; }

html.lmx-noirbar .noirOrd__body{ min-width:0; }
html.lmx-noirbar .noirOrd__num{
  font-family:var(--noir-display);
  font-weight:700;
  font-size:14px;
  letter-spacing:.06em;
  color:#f5f1e6;
}
html.lmx-noirbar .noirOrd__date{
  font-size:12px;
  color:rgba(240,232,210,.45);
  margin-top:3px;
}
html.lmx-noirbar .noirOrd__cat{
  display:inline-flex;
  align-items:center;
  gap:7px;
  margin-top:10px;
  font-size:10px;
  font-weight:700;
  letter-spacing:.14em;
  color:rgba(242,196,0,.75);
}
html.lmx-noirbar .noirOrd__catIco{ width:14px; height:14px; }
html.lmx-noirbar .noirOrd__title{
  margin-top:4px;
  font-size:14px;
  color:rgba(240,232,210,.9);
  line-height:1.35;
}
html.lmx-noirbar .noirOrd__details{
  margin-top:12px;
  padding-top:11px;
  border-top:1px solid rgba(240,232,210,.1);
  display:flex;
  flex-direction:column;
  gap:5px;
  font-size:12px;
  color:rgba(240,232,210,.72);
}
html.lmx-noirbar .noirOrd__details i{
  font-style:normal;
  display:inline-block;
  min-width:118px;
  color:rgba(240,232,210,.4);
  letter-spacing:.04em;
}
html.lmx-noirbar .noirOrd__full{
  font-family:var(--mono, ui-monospace, monospace);
  font-size:11px;
  color:rgba(240,232,210,.5);
}
html.lmx-noirbar .noirOrd__qty{
  font-size:12.5px;
  color:rgba(240,232,210,.55);
  text-align:center;
  white-space:nowrap;
}

html.lmx-noirbar .noirOrd__right{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:6px;
}
html.lmx-noirbar .noirOrd__sum{
  font-family:var(--noir-display);
  font-weight:700;
  font-size:19px;
  color:#f7f3e8;
  letter-spacing:.02em;
}
html.lmx-noirbar .noirOrd__calc{
  font-size:11px;
  color:rgba(240,232,210,.4);
  margin-top:-4px;
}
html.lmx-noirbar .noirOrd__status{
  font-family:var(--noir-display);
  font-weight:700;
  font-size:11px;
  letter-spacing:.12em;
}
html.lmx-noirbar .noirOrd__status.is-done{ color:#8fd8a2; }
html.lmx-noirbar .noirOrd__status.is-ship{ color:var(--yellow); }
html.lmx-noirbar .noirOrd__status.is-paid{ color:#9cc8ff; }
html.lmx-noirbar .noirOrd__status.is-wait{ color:#e0b45a; }
html.lmx-noirbar .noirOrd__status.is-cancel{ color:#e08a7d; }
html.lmx-noirbar .noirOrd__when{
  font-size:11.5px;
  line-height:1.4;
  color:rgba(240,232,210,.45);
}
html.lmx-noirbar .noirOrd__when i{
  font-style:normal;
  display:block;
  color:rgba(240,232,210,.35);
}
html.lmx-noirbar .noirOrd__acts{
  display:flex;
  flex-direction:column;
  gap:7px;
  width:100%;
  margin-top:5px;
}
html.lmx-noirbar .noirOrd__btn{
  width:100%;
  padding:10px 12px;
  border:2px solid rgba(216,168,26,.5);
  border-radius:8px;
  font-family:var(--noir-display);
  font-weight:700;
  font-size:10.5px;
  letter-spacing:.12em;
  color:#efe6d2;
  cursor:pointer;
  background-color:#0b0907;
  background-image:
    var(--noir-scratch),
    url("assets/noir_btn.webp");
  background-size:auto, 105px auto;
  background-repeat:repeat, repeat;
  background-blend-mode:overlay, screen;
  text-shadow:0 1px 0 rgba(0,0,0,.85);
}
html.lmx-noirbar .noirOrd__btn:hover{ border-color:var(--yellow); color:#fff; }
html.lmx-noirbar .noirOrd__btn--main{
  border-color:rgba(242,196,0,.75);
  color:var(--yellow);
}

/* ---------- пагинация ---------- */
html.lmx-noirbar .noirOrders__pager{
  display:flex;
  justify-content:center;
  gap:8px;
  margin-top:8px;
}
html.lmx-noirbar .noirOrders__pg{
  min-width:38px;
  padding:9px 10px;
  border:1px solid rgba(240,232,210,.16);
  border-radius:8px;
  background:rgba(0,0,0,.32);
  color:rgba(240,232,210,.6);
  font-family:var(--noir-display);
  font-weight:700;
  font-size:12px;
  cursor:pointer;
}
html.lmx-noirbar .noirOrders__pg:hover:not([disabled]){
  border-color:rgba(242,196,0,.5);
  color:#f5f1e6;
}
html.lmx-noirbar .noirOrders__pg[disabled]{ opacity:.35; cursor:default; }
html.lmx-noirbar .noirOrders__pg.is-on{
  border-color:var(--yellow);
  color:#171008;
  background-color:#e0b100;
  background-image:
    url("assets/noir_wear.webp"),
    linear-gradient(180deg,#eec21a 0%,#d9a900 100%);
  background-size:105px auto, auto;
  background-blend-mode:multiply, normal;
}

/* ---------- правая колонка ---------- */
html.lmx-noirbar .noirOrders__rail{
  display:flex;
  flex-direction:column;
  gap:18px;
  position:sticky;
  top:6px;
}
html.lmx-noirbar .noirOrders__panel{
  padding:20px 22px 22px;
  border-radius:12px;
  background:url("assets/noir_card.webp") no-repeat center;
  background-size:100% 100%;
  box-shadow:0 14px 30px rgba(0,0,0,.45);
}
html.lmx-noirbar .noirOrders__panelTitle{
  display:flex;
  align-items:center;
  gap:9px;
  font-family:var(--noir-display);
  font-weight:700;
  font-size:12.5px;
  letter-spacing:.14em;
  color:var(--yellow);
  margin-bottom:14px;
}
html.lmx-noirbar .noirOrders__titleIco{ width:17px; height:17px; }

html.lmx-noirbar .noirOrders__fRow{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  width:100%;
  padding:10px 12px;
  margin-bottom:4px;
  border:1px solid transparent;
  border-radius:8px;
  background:none;
  color:rgba(240,232,210,.7);
  font-size:12.5px;
  letter-spacing:.03em;
  cursor:pointer;
  text-align:left;
}
html.lmx-noirbar .noirOrders__fRow b{
  font-family:var(--noir-display);
  font-size:12.5px;
  color:rgba(240,232,210,.5);
}
html.lmx-noirbar .noirOrders__fRow:hover{ background:rgba(255,255,255,.04); }
html.lmx-noirbar .noirOrders__fRow.is-on{
  border-color:rgba(242,196,0,.4);
  background:rgba(242,196,0,.08);
  color:#f5f1e6;
}
html.lmx-noirbar .noirOrders__fRow.is-on b{ color:var(--yellow); }

html.lmx-noirbar .noirOrders__help{
  display:flex;
  align-items:flex-start;
  gap:11px;
  margin-bottom:15px;
}
html.lmx-noirbar .noirOrders__helpIco{
  flex:0 0 auto;
  width:20px;
  height:20px;
  margin-top:2px;
  color:rgba(242,196,0,.7);
}
html.lmx-noirbar .noirOrders__help b{
  display:block;
  font-size:12.5px;
  font-weight:700;
  color:#f5f1e6;
  margin-bottom:3px;
}
html.lmx-noirbar .noirOrders__help i{
  font-style:normal;
  font-size:11.5px;
  line-height:1.5;
  color:rgba(240,232,210,.5);
}
html.lmx-noirbar .noirOrders__support{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:9px;
  width:100%;
  margin-top:4px;
  padding:13px 14px;
  border:2px solid rgba(216,168,26,.6);
  border-radius:9px;
  font-family:var(--noir-display);
  font-weight:700;
  font-size:11px;
  letter-spacing:.1em;
  color:#efe6d2;
  cursor:pointer;
  background-color:#0b0907;
  background-image:
    var(--noir-scratch),
    url("assets/noir_btn.webp");
  background-size:auto, 105px auto;
  background-repeat:repeat, repeat;
  background-blend-mode:overlay, screen;
  text-shadow:0 1px 0 rgba(0,0,0,.85);
}
html.lmx-noirbar .noirOrders__support:hover{ border-color:var(--yellow); color:#fff; }
html.lmx-noirbar .noirOrders__support svg{ width:17px; height:17px; }

/* ---------- пусто / ошибка ---------- */
html.lmx-noirbar .noirOrders__empty{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:10px;
  padding:52px 24px;
  border-radius:12px;
  text-align:center;
  background:url("assets/noir_panel.webp") no-repeat center;
  background-size:100% 100%;
  box-shadow:0 14px 30px rgba(0,0,0,.4);
}
html.lmx-noirbar .noirOrders__emptyIco{
  width:44px;
  height:44px;
  color:rgba(242,196,0,.5);
}
html.lmx-noirbar .noirOrders__empty b{
  font-family:var(--noir-display);
  font-weight:700;
  font-size:16px;
  letter-spacing:.08em;
  color:#f5f1e6;
}
html.lmx-noirbar .noirOrders__empty span{
  font-size:13px;
  color:rgba(240,232,210,.5);
  max-width:420px;
  line-height:1.6;
}
html.lmx-noirbar .noirOrders__shopBtn{
  margin-top:8px;
  padding:12px 26px;
  border:2px solid rgba(242,196,0,.7);
  border-radius:9px;
  background:rgba(242,196,0,.1);
  color:var(--yellow);
  font-family:var(--noir-display);
  font-weight:700;
  font-size:11.5px;
  letter-spacing:.12em;
  cursor:pointer;
}

/* ---------- узкий десктоп ---------- */
@media (max-width:1400px){
  html.lmx-noirbar .noirOrdersWrap{ padding:14px 20px 40px; }
  html.lmx-noirbar .noirOrders .noirOrders__h1{ font-size:28px; }
  html.lmx-noirbar .noirOrders__grid{ grid-template-columns:minmax(0,1fr) 270px; gap:16px; }
  html.lmx-noirbar .noirOrd{
    grid-template-columns:92px minmax(0,1fr) 56px 176px;
    gap:14px;
    padding:14px 16px;
  }
  html.lmx-noirbar .noirOrd__thumb{ width:92px; height:78px; }
  html.lmx-noirbar .noirOrd__title{ font-size:13px; }
  html.lmx-noirbar .noirOrd__sum{ font-size:17px; }
  html.lmx-noirbar .noirOrd__btn{ font-size:9.5px; padding:9px 8px; letter-spacing:.08em; }
  html.lmx-noirbar .noirOrders__tab{ padding:9px 11px; font-size:10.5px; letter-spacing:.08em; }
  html.lmx-noirbar .noirOrders__panel{ padding:16px 16px 18px; }
  html.lmx-noirbar .noirOrders__help i{ font-size:11px; }
}

/* v40.1: плашка «САМЫЙ ПОПУЛЯРНЫЙ» — надпись не читалась.
   Причины: тёмный текст лежал поверх фактуры трещин (multiply
   на жёлтом даёт такие же тёмные пятна, как буквы), а рваная
   маска на маленькой плашке подъедала края букв.
   Лечение: фактуру на этой плашке делаем деликатной (только
   зерно), поле вокруг текста больше, буквы крупнее и с лёгкой
   светлой подсветкой. Рваный край остаётся. */
html.lmx-noirbar .noirSub__tape{
  color:#150f06;
  text-shadow:0 1px 0 rgba(255,255,255,.28);
  z-index:3;
}
html.lmx-noirbar .noirSub__tape::before{
  background-color:#e8bb12;
  background-image:
    var(--noir-grain),
    linear-gradient(180deg,#f5cc27 0%,#dcae04 55%,#c99b00 100%) !important;
  background-size:auto, auto !important;
  background-repeat:repeat, no-repeat !important;
  background-blend-mode:normal, normal !important;
  -webkit-mask-size:100% 100%;
  mask-size:100% 100%;
}
html.lmx-noirbar .noirSub__tape--cur::before{
  background-color:#e6e2d6;
  background-image:
    var(--noir-grain),
    linear-gradient(180deg,#f4f1e8 0%,#d3cdbd 100%) !important;
}

/* ============================================================
   v42: «АРХИВ ИГР» — раскладка по референсу.
   Собирается noir_shell.js (v28) внутри #archiveRoot: вкладки
   по форматам, поиск и сортировка, крупные карточки последних
   пройденных, список в две колонки, пагинация. Подложки — из
   арта (noir_card.webp / noir_panel.webp).
   ============================================================ */

html.lmx-noirbar .noirArchSrcHidden{ display:none !important; }

html.lmx-noirbar .noirArch{
  display:flex;
  flex-direction:column;
  gap:18px;
  padding-bottom:10px;
}
html.lmx-noirbar .noirArch .noirArch__h1{
  display:block;
  font-family:var(--noir-display);
  font-weight:700;
  font-size:34px;
  line-height:1;
  letter-spacing:.08em;
  color:#f5f1e6;
  margin:0;
  -webkit-mask-image:var(--noir-wear);
  mask-image:var(--noir-wear);
  -webkit-mask-size:110px 110px;
  mask-size:110px 110px;
}
html.lmx-noirbar .noirArch .noirArch__h1::after{ display:none !important; }

/* ---------- вкладки-плашки ---------- */
html.lmx-noirbar .noirArch__tabs{
  display:grid;
  grid-auto-flow:column;
  grid-auto-columns:minmax(0,1fr);
  gap:12px;
}
html.lmx-noirbar .noirArch__tab{
  padding:13px 12px;
  border:1px solid rgba(240,232,210,.16);
  border-radius:9px;
  background-image:
    var(--noir-grain),
    linear-gradient(180deg, rgba(18,16,13,.7), rgba(10,9,8,.75));
  color:rgba(240,232,210,.62);
  font-family:var(--noir-display);
  font-weight:700;
  font-size:11.5px;
  letter-spacing:.12em;
  cursor:pointer;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
html.lmx-noirbar .noirArch__tab:hover{
  border-color:rgba(242,196,0,.45);
  color:#f5f1e6;
}
html.lmx-noirbar .noirArch__tab.is-on{
  border-color:rgba(242,196,0,.75);
  color:var(--yellow);
  background-image:
    var(--noir-grain),
    linear-gradient(180deg, rgba(242,196,0,.12), rgba(242,196,0,.05));
}

/* ---------- панель поиска ---------- */
html.lmx-noirbar .noirArch__bar{
  display:flex;
  align-items:center;
  gap:16px;
  padding:12px 18px;
  border-radius:11px;
  overflow:hidden;
  background:url("assets/noir_panel.webp") no-repeat center;
  background-size:100% 100%;
  box-shadow:0 12px 28px rgba(0,0,0,.42);
}
html.lmx-noirbar .noirArch__search{
  flex:1 1 auto;
  display:flex;
  align-items:center;
  gap:10px;
  min-width:0;
  padding:9px 14px;
  border:1px solid rgba(240,232,210,.16);
  border-radius:8px;
  background:rgba(0,0,0,.42);
  color:rgba(242,196,0,.7);
}
html.lmx-noirbar .noirArch__search svg{ width:17px; height:17px; flex:0 0 auto; }
html.lmx-noirbar .noirArch__search input{
  flex:1 1 auto;
  min-width:0;
  border:0;
  outline:none;
  background:none;
  color:#f0e8d2;
  font-size:13px;
  letter-spacing:.02em;
}
html.lmx-noirbar .noirArch__search input::placeholder{ color:rgba(240,232,210,.35); }

html.lmx-noirbar .noirArch__sort{
  display:flex;
  align-items:center;
  gap:10px;
  flex:0 0 auto;
}
html.lmx-noirbar .noirArch__sort span{
  font-family:var(--noir-display);
  font-weight:700;
  font-size:10.5px;
  letter-spacing:.14em;
  color:var(--yellow);
}
html.lmx-noirbar .noirArch__sort select{
  padding:9px 12px;
  border:1px solid rgba(240,232,210,.16);
  border-radius:8px;
  background:rgba(0,0,0,.42);
  color:#f0e8d2;
  font-size:12.5px;
  cursor:pointer;
}
html.lmx-noirbar .noirArch__count{
  flex:0 0 auto;
  font-size:11px;
  letter-spacing:.12em;
  color:rgba(240,232,210,.45);
}
html.lmx-noirbar .noirArch__count b{ color:var(--yellow); }

/* ---------- заголовки секций ---------- */
html.lmx-noirbar .noirArch__secTitle{
  display:flex;
  align-items:center;
  gap:16px;
  font-family:var(--noir-display);
  font-weight:700;
  font-size:19px;
  letter-spacing:.1em;
  color:#f5f1e6;
  margin:6px 0 -4px;
}
html.lmx-noirbar .noirArch__secTitle span{
  flex:1 1 auto;
  border-top:2px dashed rgba(242,196,0,.45);
}
html.lmx-noirbar .noirArch__secTitle i{
  font-style:normal;
  font-size:12px;
  letter-spacing:.08em;
  color:rgba(240,232,210,.4);
}

/* ---------- крупные карточки ---------- */
html.lmx-noirbar .noirArch__bigs{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:16px;
}
html.lmx-noirbar .noirArch__big{
  display:flex;
  flex-direction:column;
  padding:12px 12px 14px;
  border-radius:12px;
  overflow:hidden;
  cursor:pointer;
  background:url("assets/noir_card.webp") no-repeat center;
  background-size:100% 100%;
  box-shadow:0 14px 30px rgba(0,0,0,.45);
}
html.lmx-noirbar .noirArch__big.is-off{ cursor:default; opacity:.6; }
html.lmx-noirbar .noirArch__bigCover{
  position:relative;
  height:132px;
  border-radius:8px;
  overflow:hidden;
  background:rgba(0,0,0,.45);
  margin-bottom:11px;
}
html.lmx-noirbar .noirArch__bigCover img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
html.lmx-noirbar .noirArch__done{
  position:absolute;
  top:8px;
  left:8px;
  display:inline-flex;
  align-items:center;
  gap:5px;
  padding:4px 9px;
  border-radius:5px;
  background:rgba(242,196,0,.92);
  color:#171008;
  font-family:var(--noir-display);
  font-weight:700;
  font-size:9px;
  letter-spacing:.1em;
}
html.lmx-noirbar .noirArch__done svg{ width:11px; height:11px; }
html.lmx-noirbar .noirArch__off{
  position:absolute;
  bottom:0;
  left:0;
  right:0;
  padding:3px 0;
  text-align:center;
  background:rgba(0,0,0,.75);
  color:rgba(240,232,210,.55);
  font-size:9px;
  font-weight:700;
  letter-spacing:.12em;
}
html.lmx-noirbar .noirArch__bigTitle{
  font-family:var(--noir-display);
  font-weight:700;
  font-size:14px;
  letter-spacing:.04em;
  color:#f5f1e6;
  line-height:1.25;
  margin-bottom:9px;
  min-height:2.4em;
}

/* ---------- чипы ---------- */
html.lmx-noirbar .noirArch__chips{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
}
html.lmx-noirbar .noirArch__chip{
  padding:4px 9px;
  border:1px solid rgba(240,232,210,.16);
  border-radius:5px;
  background:rgba(0,0,0,.32);
  font-size:10.5px;
  letter-spacing:.04em;
  color:rgba(240,232,210,.6);
  white-space:nowrap;
}
html.lmx-noirbar .noirArch__chip--type{
  border-color:rgba(242,196,0,.35);
  color:rgba(242,196,0,.85);
  background:rgba(242,196,0,.07);
}

/* ---------- список в две колонки ---------- */
html.lmx-noirbar .noirArch__rows{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
}
html.lmx-noirbar .noirArch__row{
  display:grid;
  grid-template-columns:104px minmax(0,1fr) auto;
  gap:14px;
  align-items:center;
  padding:12px 14px;
  border-radius:11px;
  overflow:hidden;
  background:url("assets/noir_panel.webp") no-repeat center;
  background-size:100% 100%;
  box-shadow:0 12px 26px rgba(0,0,0,.42);
}
html.lmx-noirbar .noirArch__row.is-off{ opacity:.6; }
html.lmx-noirbar .noirArch__thumb{
  position:relative;
  width:104px;
  height:64px;
  border-radius:8px;
  overflow:hidden;
  background:rgba(0,0,0,.45);
  display:flex;
  align-items:center;
  justify-content:center;
  color:rgba(242,196,0,.4);
  cursor:pointer;
}
html.lmx-noirbar .noirArch__thumb img{
  width:100%; height:100%; object-fit:cover; display:block;
}
html.lmx-noirbar .noirArch__thumb svg{ width:26px; height:26px; }
html.lmx-noirbar .noirArch__rowBody{ min-width:0; cursor:pointer; }
html.lmx-noirbar .noirArch__rowTitle{
  font-family:var(--noir-display);
  font-weight:700;
  font-size:13.5px;
  letter-spacing:.03em;
  color:#f5f1e6;
  line-height:1.3;
  margin-bottom:8px;
}
html.lmx-noirbar .noirArch__rowTitle i{
  font-style:normal;
  margin-left:8px;
  font-size:11px;
  color:rgba(240,232,210,.35);
}
html.lmx-noirbar .noirArch__rowAct{
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  gap:7px;
  flex:0 0 auto;
}
html.lmx-noirbar .noirArch__open{
  display:flex;
  align-items:center;
  justify-content:center;
  width:34px;
  height:34px;
  border:1px solid rgba(242,196,0,.4);
  border-radius:8px;
  background:rgba(242,196,0,.07);
  color:var(--yellow);
  cursor:pointer;
}
html.lmx-noirbar .noirArch__open svg{ width:17px; height:17px; }
html.lmx-noirbar .noirArch__na{
  font-size:10px;
  line-height:1.4;
  text-align:right;
  color:rgba(240,232,210,.35);
  max-width:78px;
}
/* родная кнопка app.js «Переиграть», перенесённая в карточку */
html.lmx-noirbar .noirArch__replay.btnGhost{
  flex:0 0 auto;
  width:auto;
  margin:0;
  padding:8px 12px !important;
  border:2px solid rgba(216,168,26,.55);
  border-radius:8px;
  font-family:var(--noir-display);
  font-weight:700;
  font-size:10px !important;
  letter-spacing:.08em;
  color:#efe6d2;
  white-space:nowrap;
  background-color:#0b0907;
  background-image:
    var(--noir-scratch),
    url("assets/noir_btn.webp");
  background-size:auto, 105px auto;
  background-repeat:repeat, repeat;
  background-blend-mode:overlay, screen;
  text-shadow:0 1px 0 rgba(0,0,0,.85);
}
html.lmx-noirbar .noirArch__replay.btnGhost:hover{
  border-color:var(--yellow);
  color:#fff;
}

/* ---------- пагинация ---------- */
html.lmx-noirbar .noirArch__pager{
  display:flex;
  justify-content:center;
  gap:8px;
  margin-top:6px;
}
html.lmx-noirbar .noirArch__pg{
  min-width:38px;
  padding:9px 10px;
  border:1px solid rgba(240,232,210,.16);
  border-radius:8px;
  background:rgba(0,0,0,.32);
  color:rgba(240,232,210,.6);
  font-family:var(--noir-display);
  font-weight:700;
  font-size:12px;
  cursor:pointer;
}
html.lmx-noirbar .noirArch__pg:hover:not([disabled]){
  border-color:rgba(242,196,0,.5);
  color:#f5f1e6;
}
html.lmx-noirbar .noirArch__pg[disabled]{ opacity:.35; cursor:default; }
html.lmx-noirbar .noirArch__pg.is-on{
  border-color:var(--yellow);
  color:#171008;
  background-color:#e0b100;
  background-image:
    url("assets/noir_wear.webp"),
    linear-gradient(180deg,#eec21a 0%,#d9a900 100%);
  background-size:105px auto, auto;
  background-blend-mode:multiply, normal;
}

/* ---------- пусто ---------- */
html.lmx-noirbar .noirArch__empty{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:10px;
  padding:52px 24px;
  border-radius:12px;
  text-align:center;
  background:url("assets/noir_panel.webp") no-repeat center;
  background-size:100% 100%;
  box-shadow:0 14px 30px rgba(0,0,0,.4);
}
html.lmx-noirbar .noirArch__emptyIco{ width:44px; height:44px; color:rgba(242,196,0,.5); }
html.lmx-noirbar .noirArch__empty b{
  font-family:var(--noir-display);
  font-weight:700;
  font-size:16px;
  letter-spacing:.08em;
  color:#f5f1e6;
}
html.lmx-noirbar .noirArch__empty span{
  font-size:13px;
  color:rgba(240,232,210,.5);
  max-width:420px;
  line-height:1.6;
}
html.lmx-noirbar .noirArch__shopBtn{
  margin-top:8px;
  padding:12px 26px;
  border:2px solid rgba(242,196,0,.7);
  border-radius:9px;
  background:rgba(242,196,0,.1);
  color:var(--yellow);
  font-family:var(--noir-display);
  font-weight:700;
  font-size:11.5px;
  letter-spacing:.12em;
  cursor:pointer;
}

/* ---------- узкий десктоп ---------- */
@media (max-width:1400px){
  html.lmx-noirbar .noirArch .noirArch__h1{ font-size:28px; }
  html.lmx-noirbar .noirArch__tabs{ gap:8px; }
  html.lmx-noirbar .noirArch__tab{ padding:11px 8px; font-size:10px; letter-spacing:.06em; }
  html.lmx-noirbar .noirArch__bar{ gap:12px; padding:10px 14px; }
  html.lmx-noirbar .noirArch__sort select{ font-size:11.5px; padding:8px 10px; }
  html.lmx-noirbar .noirArch__count{ font-size:10px; }
  html.lmx-noirbar .noirArch__bigs{ gap:12px; }
  html.lmx-noirbar .noirArch__bigCover{ height:112px; }
  html.lmx-noirbar .noirArch__bigTitle{ font-size:13px; }
  html.lmx-noirbar .noirArch__row{ grid-template-columns:84px minmax(0,1fr) auto; gap:11px; padding:10px 12px; }
  html.lmx-noirbar .noirArch__thumb{ width:84px; height:56px; }
  html.lmx-noirbar .noirArch__rowTitle{ font-size:12.5px; }
  html.lmx-noirbar .noirArch__chip{ font-size:9.5px; padding:3px 7px; }
}

/* ============================================================
   v43: верх «Архива игр» строго по референсу — вкладки и строка
   поиска рамочные, без залитых плашек и текстурных подложек.
   ============================================================ */

/* ---------- вкладки: прозрачные, тонкая обводка ---------- */
html.lmx-noirbar .noirArch__tabs{ gap:14px; }
html.lmx-noirbar .noirArch__tab{
  padding:15px 14px;
  border:1px solid rgba(240,232,210,.16);
  border-radius:10px;
  background-image:none;
  background-color:rgba(0,0,0,.22);
  color:rgba(240,232,210,.72);
  font-family:var(--noir-display);
  font-weight:700;
  font-size:13px;
  letter-spacing:.14em;
}
html.lmx-noirbar .noirArch__tab:hover{
  border-color:rgba(242,196,0,.5);
  background-color:rgba(0,0,0,.3);
  color:#f5f1e6;
}
html.lmx-noirbar .noirArch__tab.is-on{
  border-color:var(--yellow);
  background-image:none;
  background-color:rgba(242,196,0,.05);
  color:#fff;
}

/* ---------- строка поиска: одна рамка на всю ширину ---------- */
html.lmx-noirbar .noirArch__bar{
  display:flex;
  align-items:stretch;
  gap:14px;
  padding:0;
  background:none;
  box-shadow:none;
  border-radius:0;
  overflow:visible;
}
html.lmx-noirbar .noirArch__barBox{
  flex:1 1 auto;
  display:flex;
  align-items:center;
  gap:0;
  min-width:0;
  border:1px solid rgba(242,196,0,.35);
  border-radius:10px;
  background:rgba(0,0,0,.22);
}
html.lmx-noirbar .noirArch__search{
  flex:1 1 auto;
  min-width:0;
  gap:12px;
  padding:15px 18px;
  border:0;
  border-radius:0;
  background:none;
  color:rgba(240,232,210,.55);
}
html.lmx-noirbar .noirArch__search svg{ width:18px; height:18px; }
html.lmx-noirbar .noirArch__search input{ font-size:14px; }

html.lmx-noirbar .noirArch__sort{
  flex:0 0 auto;
  gap:14px;
  padding:0 18px 0 20px;
  border-left:1px solid rgba(242,196,0,.28);
  align-self:stretch;
}
html.lmx-noirbar .noirArch__sort span{
  font-size:11.5px;
  letter-spacing:.12em;
}
html.lmx-noirbar .noirArch__sort select{
  -webkit-appearance:none;
  appearance:none;
  padding:9px 34px 9px 2px;
  border:0;
  border-radius:0;
  background-color:transparent;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='9' viewBox='0 0 14 9' fill='none' stroke='%23f0e8d2' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m1 1.5 6 6 6-6'/%3E%3C/svg%3E");
  background-repeat:no-repeat;
  background-position:right 6px center;
  color:#f0e8d2;
  font-size:13.5px;
}
html.lmx-noirbar .noirArch__sort select:focus{ outline:none; }

/* счётчик — своя рамка, как «ФИЛЬТРЫ» на референсе */
html.lmx-noirbar .noirArch__count{
  display:flex;
  align-items:center;
  gap:10px;
  flex:0 0 auto;
  padding:0 22px;
  border:1px solid rgba(242,196,0,.35);
  border-radius:10px;
  background:rgba(0,0,0,.22);
  font-family:var(--noir-display);
  font-weight:700;
  font-size:11.5px;
  letter-spacing:.14em;
  color:rgba(240,232,210,.62);
}
html.lmx-noirbar .noirArch__count b{
  font-size:15px;
  color:var(--yellow);
}

@media (max-width:1400px){
  html.lmx-noirbar .noirArch__tabs{ gap:10px; }
  html.lmx-noirbar .noirArch__tab{ padding:13px 10px; font-size:11.5px; letter-spacing:.1em; }
  html.lmx-noirbar .noirArch__search{ padding:12px 14px; }
  html.lmx-noirbar .noirArch__search input{ font-size:13px; }
  html.lmx-noirbar .noirArch__sort{ padding:0 14px 0 16px; gap:10px; }
  html.lmx-noirbar .noirArch__sort span{ font-size:10.5px; }
  html.lmx-noirbar .noirArch__sort select{ font-size:12.5px; }
  html.lmx-noirbar .noirArch__count{ padding:0 16px; font-size:10.5px; }
  html.lmx-noirbar .noirArch__count b{ font-size:13.5px; }
}


/* ============================================================
   v45: «ДЕЛА / СПЕЦДЕЛА» по референсу — живая карта, досье
   точки справа, карточки точек, кнопки без «рябящей» фактуры
   (текстура трещин осталась только там, где она крупная —
   на подложках блоков).
   ============================================================ */

html.lmx-noirbar .noirCasesSrcHidden{ display:none !important; }

html.lmx-noirbar .noirCases{
  display:flex;
  flex-direction:column;
  gap:18px;
  padding-bottom:10px;
}
html.lmx-noirbar .noirCases .noirCases__h1{
  display:block;
  font-family:var(--noir-display);
  font-weight:700;
  font-size:32px;
  line-height:1;
  letter-spacing:.08em;
  color:#f5f1e6;
  margin:0;
  -webkit-mask-image:var(--noir-wear);
  mask-image:var(--noir-wear);
  -webkit-mask-size:110px 110px;
  mask-size:110px 110px;
}
html.lmx-noirbar .noirCases .noirCases__h1::after{ display:none !important; }

/* ---------- вкладки: как на референсе, с иконками ---------- */
html.lmx-noirbar .noirCases__tabs{
  display:grid;
  grid-auto-flow:column;
  grid-auto-columns:minmax(0,1fr);
  gap:12px;
}
html.lmx-noirbar .noirCases__tab{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  padding:12px 10px;
  border:1px solid rgba(240,232,210,.16);
  border-radius:8px;
  background:rgba(0,0,0,.28);
  color:rgba(240,232,210,.72);
  font-family:var(--noir-display);
  font-weight:700;
  font-size:12px;
  letter-spacing:.12em;
  cursor:pointer;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
html.lmx-noirbar .noirCases__tab:hover{
  border-color:rgba(242,196,0,.45);
  color:#f5f1e6;
}
html.lmx-noirbar .noirCases__tab.is-on{
  border-color:var(--yellow);
  color:var(--yellow);
  background:rgba(242,196,0,.06);
}

/* ---------- подзаголовок секции ---------- */
html.lmx-noirbar .noirCases__sub{
  display:flex;
  align-items:center;
  gap:16px;
  margin:2px 0 -2px;
}
html.lmx-noirbar .noirCases__sub span{
  font-family:var(--noir-display);
  font-weight:700;
  font-size:17px;
  letter-spacing:.1em;
  color:#f5f1e6;
}
html.lmx-noirbar .noirCases__sub i{
  flex:1 1 auto;
  border-top:2px dashed rgba(242,196,0,.4);
}
html.lmx-noirbar .noirCases__sub b{
  flex:0 0 auto;
  padding:5px 12px;
  border:1px solid rgba(242,196,0,.35);
  border-radius:6px;
  background:rgba(242,196,0,.06);
  font-size:10.5px;
  font-weight:700;
  letter-spacing:.08em;
  color:var(--yellow);
}

/* ---------- сетка ---------- */
html.lmx-noirbar .noirCases__grid{
  display:grid;
  grid-template-columns:minmax(0,1fr);
  gap:20px;
  align-items:start;
}
html.lmx-noirbar .noirCases__grid.has-rail{
  grid-template-columns:minmax(0,1fr) 340px;
}
html.lmx-noirbar .noirCases__main{
  display:flex;
  flex-direction:column;
  gap:12px;
  min-width:0;
}

/* выбор города */
html.lmx-noirbar .noirCases__main #cityFilter{
  width:100% !important;
  box-sizing:border-box;
  padding:14px 44px 14px 18px !important;
  border-radius:9px !important;
  border:1px solid rgba(242,196,0,.4) !important;
  background:rgba(0,0,0,.35) !important;
  font-family:var(--noir-display) !important;
  letter-spacing:.1em !important;
}
html.lmx-noirbar .noirCases__main > div:has(> #cityFilter){ width:100%; margin:0 !important; }

/* ---------- живая карта ---------- */
html.lmx-noirbar .noirSpec__map{
  position:relative;
  height:360px;
  border-radius:10px;
  overflow:hidden;
  border:1px solid rgba(242,196,0,.3);
  background:#0d0d0f;
  z-index:0;
}
html.lmx-noirbar .noirSpec__mapEmpty{
  position:absolute;
  inset:0;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:20px;
  text-align:center;
  font-size:13px;
  color:rgba(240,232,210,.45);
}
html.lmx-noirbar .noirSpec__map .leaflet-container{ background:#0d0d0f; font-family:inherit; }
html.lmx-noirbar .noirSpec__map .leaflet-control-zoom a{
  background:#181818 !important;
  color:var(--yellow) !important;
  border-color:rgba(242,196,0,.3) !important;
}
html.lmx-noirbar .noirSpec__map .leaflet-control-attribution{
  background:rgba(0,0,0,.55) !important;
  color:rgba(255,255,255,.4) !important;
  font-size:9px !important;
}
html.lmx-noirbar .noirPin{
  display:flex;
  align-items:center;
  justify-content:center;
  width:34px;
  height:34px;
  border-radius:50% 50% 50% 4px;
  transform:rotate(-45deg);
  border:2px solid rgba(0,0,0,.55);
  box-shadow:0 3px 10px rgba(0,0,0,.6);
  cursor:pointer;
}
html.lmx-noirbar .noirPin span{ transform:rotate(45deg); font-size:16px; }
html.lmx-noirbar .noirPin.is-on{
  box-shadow:0 0 0 6px rgba(242,196,0,.28), 0 3px 10px rgba(0,0,0,.6);
  border-color:#fff;
}

/* кнопка «Карта города» — ровная, без фактуры */
html.lmx-noirbar .noirCases__mapBtn{
  width:100% !important;
  margin:0 !important;
  padding:13px 16px !important;
  border:1px solid rgba(242,196,0,.35) !important;
  border-radius:9px !important;
  background:rgba(0,0,0,.28) !important;
  font-family:var(--noir-display);
  font-weight:700;
  font-size:11.5px !important;
  letter-spacing:.12em;
  color:var(--yellow) !important;
}
html.lmx-noirbar .noirCases__mapBtn:hover{
  border-color:var(--yellow) !important;
  background:rgba(242,196,0,.07) !important;
}

/* ---------- карточки точек/дел ---------- */
html.lmx-noirbar .noirSpec__cards{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
  margin-top:2px;
}
html.lmx-noirbar .noirSpec__card{
  position:relative;
  display:flex;
  flex-direction:column;
  gap:10px;
  padding:14px;
  border:1px solid rgba(240,232,210,.14);
  border-radius:11px;
  background-image:
    var(--noir-grain),
    linear-gradient(180deg, rgba(18,16,13,.8), rgba(10,9,8,.85));
  box-shadow:0 12px 26px rgba(0,0,0,.42);
  cursor:pointer;
}
html.lmx-noirbar .noirSpec__card.is-on{
  border-color:rgba(242,196,0,.65);
  box-shadow:0 12px 26px rgba(0,0,0,.5), 0 0 22px rgba(242,196,0,.08);
}
html.lmx-noirbar .noirSpec__type{
  align-self:flex-start;
  display:inline-block;
  padding:5px 12px;
  border:1px solid rgba(242,196,0,.4);
  border-radius:100px;
  background:rgba(242,196,0,.08);
  font-family:var(--noir-display);
  font-weight:700;
  font-size:10px;
  letter-spacing:.12em;
  color:var(--yellow);
}
html.lmx-noirbar .noirSpec__cardMain{
  display:flex;
  align-items:flex-start;
  gap:12px;
  min-height:86px;
}
html.lmx-noirbar .noirSpec__cardText{ flex:1 1 auto; min-width:0; }
html.lmx-noirbar .noirSpec__cardTitle{
  font-family:var(--noir-display);
  font-weight:700;
  font-size:15px;
  letter-spacing:.03em;
  color:#f5f1e6;
  line-height:1.25;
  margin-bottom:7px;
}
html.lmx-noirbar .noirSpec__cardSub{
  font-size:12px;
  line-height:1.5;
  color:rgba(240,232,210,.5);
}
html.lmx-noirbar .noirSpec__cardSub b{
  display:block;
  color:var(--yellow);
  font-weight:600;
  margin-bottom:2px;
}
html.lmx-noirbar .noirSpec__cardSub span{ display:block; }
/* часы работы точки — чтобы не приходили к закрытой двери */
html.lmx-noirbar .noirSpec__cardSub span.noirSpec__hours{
  margin-top:4px; color:rgba(242,196,0,.75); font-weight:600;
}
html.lmx-noirbar .noirSpec__row--hours b{ color:rgba(242,196,0,.95); text-align:right; }
html.lmx-noirbar .noirSpec__cardPic{
  flex:0 0 auto;
  width:124px;
  height:86px;
  border-radius:8px;
  overflow:hidden;
  background:rgba(0,0,0,.4);
}
html.lmx-noirbar .noirSpec__cardPic img{
  width:100%; height:100%; object-fit:cover; display:block;
}
html.lmx-noirbar .noirSpec__cardChips{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
}
html.lmx-noirbar .noirSpec__cardChips span{
  padding:4px 9px;
  border:1px solid rgba(240,232,210,.16);
  border-radius:5px;
  background:rgba(0,0,0,.32);
  font-size:10px;
  letter-spacing:.06em;
  color:rgba(240,232,210,.6);
  white-space:nowrap;
}

/* ---------- кнопки: ровные, без фактуры ---------- */
html.lmx-noirbar .noirSpec__cta{
  width:100%;
  padding:12px 14px;
  border:1px solid rgba(242,196,0,.45);
  border-radius:8px;
  background:rgba(0,0,0,.3);
  color:var(--yellow);
  font-family:var(--noir-display);
  font-weight:700;
  font-size:11.5px;
  letter-spacing:.12em;
  cursor:pointer;
}
html.lmx-noirbar .noirSpec__cta:hover{
  border-color:var(--yellow);
  background:rgba(242,196,0,.08);
}
html.lmx-noirbar .noirSpec__cta--main{
  border-color:transparent;
  color:#171008;
  background:linear-gradient(180deg,#f3c81c 0%,#dfae05 100%);
}
html.lmx-noirbar .noirSpec__cta--main:hover{
  background:linear-gradient(180deg,#ffd530 0%,#e8b706 100%);
}
html.lmx-noirbar .noirSpec__card .noirSpec__cta{ margin-top:auto; }

/* ---------- досье точки ---------- */
html.lmx-noirbar .noirSpec__rail{ position:sticky; top:6px; }
html.lmx-noirbar .noirSpec__dossier{
  display:flex;
  flex-direction:column;
  gap:12px;
  padding:20px 22px 22px;
  border:1px solid rgba(242,196,0,.35);
  border-radius:12px;
  background-image:
    var(--noir-grain),
    linear-gradient(180deg, rgba(20,18,14,.9), rgba(11,10,9,.92));
  box-shadow:0 14px 30px rgba(0,0,0,.45);
}
html.lmx-noirbar .noirSpec__dossier--empty{ border-color:rgba(240,232,210,.14); }
html.lmx-noirbar .noirSpec__dTitle{
  font-family:var(--noir-display);
  font-weight:700;
  font-size:19px;
  letter-spacing:.03em;
  color:#f5f1e6;
  line-height:1.25;
}
html.lmx-noirbar .noirSpec__dPhoto{
  border-radius:9px;
  overflow:hidden;
}
html.lmx-noirbar .noirSpec__dPhoto img{
  width:100%;
  max-height:170px;
  object-fit:cover;
  display:block;
  cursor:zoom-in;
}
html.lmx-noirbar .noirSpec__dText{
  font-size:13px;
  line-height:1.6;
  color:rgba(240,232,210,.62);
}
html.lmx-noirbar .noirSpec__dAddr{
  font-size:12.5px;
  line-height:1.5;
  color:rgba(240,232,210,.5);
}
html.lmx-noirbar .noirSpec__dAddr b{
  display:block;
  color:var(--yellow);
  font-weight:600;
  margin-bottom:3px;
}
html.lmx-noirbar .noirSpec__dAddr span{ display:block; }

html.lmx-noirbar .noirSpec__rows{
  border:1px solid rgba(240,232,210,.14);
  border-radius:9px;
  overflow:hidden;
}
html.lmx-noirbar .noirSpec__row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:11px 14px;
  border-bottom:1px solid rgba(240,232,210,.08);
  font-size:12px;
}
html.lmx-noirbar .noirSpec__row:last-child{ border-bottom:0; }
html.lmx-noirbar .noirSpec__row i{
  font-style:normal;
  letter-spacing:.1em;
  color:rgba(240,232,210,.45);
}
html.lmx-noirbar .noirSpec__row b{
  font-weight:700;
  color:#f5f1e6;
}
html.lmx-noirbar .noirSpec__stamp{
  padding:12px 14px;
  border:1px solid rgba(242,196,0,.5);
  border-radius:9px;
  background:rgba(242,196,0,.06);
  text-align:center;
}
html.lmx-noirbar .noirSpec__stamp b{
  display:block;
  font-family:var(--noir-display);
  font-weight:700;
  font-size:10.5px;
  letter-spacing:.14em;
  color:var(--yellow);
  margin-bottom:6px;
}
html.lmx-noirbar .noirSpec__stamp span{
  font-size:12.5px;
  line-height:1.55;
  color:rgba(240,232,210,.75);
}
html.lmx-noirbar .noirSpec__more{
  text-align:center;
  font-size:12px;
  color:rgba(240,232,210,.45);
  text-decoration:underline;
}

/* ---------- карточки на остальных вкладках ---------- */
html.lmx-noirbar .noirCases__cards{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
}
html.lmx-noirbar .noirCases__cards .caseCard{
  display:flex !important;
  flex-direction:column;
  align-items:stretch;
  gap:0;
  padding:12px 12px 14px !important;
  border:1px solid rgba(240,232,210,.14) !important;
  border-radius:11px;
  overflow:hidden;
  background-image:
    var(--noir-grain),
    linear-gradient(180deg, rgba(18,16,13,.8), rgba(10,9,8,.85)) !important;
  box-shadow:0 12px 26px rgba(0,0,0,.42);
  cursor:pointer;
}
html.lmx-noirbar .noirCases__cards .caseCard__thumb{
  width:100% !important;
  height:auto !important;
  border:0 !important;
  border-radius:8px;
  overflow:hidden;
  box-shadow:none !important;
  transform:none !important;
  margin:0 0 11px !important;
  flex:0 0 auto;
}
html.lmx-noirbar .noirCases__cards .caseCard__thumb::before,
html.lmx-noirbar .noirCases__cards .caseCard__thumb::after{ display:none !important; }
html.lmx-noirbar .noirCases__cards .caseCard__body{ padding:0 !important; }
html.lmx-noirbar .noirCases__cards .caseCard__title{
  font-family:var(--noir-display);
  font-weight:700;
  font-size:14px;
  letter-spacing:.03em;
  line-height:1.25;
  color:#f5f1e6;
  margin-bottom:9px;
}
html.lmx-noirbar .noirCases__cards .caseCard__meta{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  align-items:center;
}
html.lmx-noirbar .noirCases__cards .caseCard__meta > *{
  padding:4px 9px;
  border:1px solid rgba(240,232,210,.16);
  border-radius:5px;
  background:rgba(0,0,0,.32);
  font-size:10px;
  letter-spacing:.04em;
  color:rgba(240,232,210,.6);
  white-space:nowrap;
}

/* ---------- нижняя подпись ---------- */
html.lmx-noirbar .noirCases__info{
  display:flex;
  align-items:center;
  gap:12px;
  padding:13px 20px;
  border:1px solid rgba(240,232,210,.14);
  border-radius:9px;
  background:rgba(0,0,0,.25);
  font-size:12.5px;
  color:rgba(240,232,210,.5);
}
html.lmx-noirbar .noirCases__info > span{ color:var(--yellow); font-size:15px; }
html.lmx-noirbar .noirCases__info a{
  margin-left:auto;
  color:var(--yellow);
  font-size:12px;
  cursor:pointer;
  white-space:nowrap;
}

/* ---------- узкий десктоп ---------- */
@media (max-width:1400px){
  html.lmx-noirbar .noirCases .noirCases__h1{ font-size:27px; }
  html.lmx-noirbar .noirCases__tabs{ gap:9px; }
  html.lmx-noirbar .noirCases__tab{ padding:11px 8px; font-size:10.5px; letter-spacing:.08em; }
  html.lmx-noirbar .noirCases__grid.has-rail{ grid-template-columns:minmax(0,1fr) 290px; gap:15px; }
  html.lmx-noirbar .noirSpec__map{ height:300px; }
  html.lmx-noirbar .noirSpec__cardPic{ width:100px; height:74px; }
  html.lmx-noirbar .noirSpec__cardTitle{ font-size:14px; }
  html.lmx-noirbar .noirSpec__dossier{ padding:16px 16px 18px; }
  html.lmx-noirbar .noirSpec__dTitle{ font-size:17px; }
  html.lmx-noirbar .noirCases__cards{ grid-template-columns:repeat(2,minmax(0,1fr)); }
}

/* ============================================================
   v46: приглашение офлайн-бизнесу «Попади на карту» — в правой
   колонке под досье точки. В сетке карточек оно утонет, когда
   точек в городе станет два-три десятка.
   ============================================================ */
html.lmx-noirbar .noirSpec__join{
  display:flex;
  flex-direction:column;
  gap:10px;
  margin-top:14px;
  padding:18px 20px 20px;
  border:1px dashed rgba(242,196,0,.5);
  border-radius:12px;
  background-image:
    var(--noir-grain),
    linear-gradient(180deg, rgba(242,196,0,.08), rgba(10,9,8,.85));
  box-shadow:0 12px 26px rgba(0,0,0,.4);
}
html.lmx-noirbar .noirSpec__joinHead{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
}
html.lmx-noirbar .noirSpec__type--join{
  border-color:rgba(242,196,0,.6);
  background:rgba(242,196,0,.12);
}
html.lmx-noirbar .noirSpec__joinPin{
  font-size:20px;
  opacity:.85;
}
html.lmx-noirbar .noirSpec__joinTitle{
  font-family:var(--noir-display);
  font-weight:700;
  font-size:16px;
  letter-spacing:.03em;
  line-height:1.25;
  color:#f5f1e6;
}
html.lmx-noirbar .noirSpec__joinText{
  font-size:12.5px;
  line-height:1.55;
  color:rgba(240,232,210,.6);
}
html.lmx-noirbar .noirSpec__cta--join{
  display:block;
  margin-top:2px;
  text-align:center;
  text-decoration:none;
  border-color:transparent;
  color:#171008;
  background:linear-gradient(180deg,#f3c81c 0%,#dfae05 100%);
}
html.lmx-noirbar .noirSpec__cta--join:hover{
  background:linear-gradient(180deg,#ffd530 0%,#e8b706 100%);
  color:#171008;
}
@media (max-width:1400px){
  html.lmx-noirbar .noirSpec__join{ padding:14px 16px 16px; }
  html.lmx-noirbar .noirSpec__joinTitle{ font-size:15px; }
  html.lmx-noirbar .noirSpec__joinText{ font-size:11.5px; }
}


/* ============================================================
   v48: «МАГАЗИН» (#shop) — раскладка по референсу.
   Собирается noir_shell.js (v34) внутри #shopRoot: плитки
   категорий, секция «ПОПУЛЯРНОЕ», сетка карточек товаров,
   нижняя плашка о защите покупок. Родные секции app.js
   скрыты классом .noirShopSrcHidden.
   ============================================================ */

html.lmx-noirbar .noirShopSrcHidden{ display:none !important; }

html.lmx-noirbar .noirShop{
  display:flex;
  flex-direction:column;
  gap:18px;
  padding-bottom:10px;
}

/* ---------- шапка ---------- */
html.lmx-noirbar .noirShop .noirShop__h1{
  display:block;
  font-family:var(--noir-display);
  font-weight:700;
  font-size:38px;
  line-height:1;
  letter-spacing:.07em;
  color:#f5f1e6;
  margin:0;
  -webkit-mask-image:var(--noir-wear);
  mask-image:var(--noir-wear);
  -webkit-mask-size:110px 110px;
  mask-size:110px 110px;
}
html.lmx-noirbar .noirShop .noirShop__h1::after{ display:none !important; }

html.lmx-noirbar .noirShop__crumbs{
  margin-top:-10px;
  font-size:12px;
  letter-spacing:.06em;
  color:rgba(242,196,0,.75);
}
html.lmx-noirbar .noirShop__crumbs a{
  color:rgba(242,196,0,.75);
  text-decoration:none;
  cursor:pointer;
}
html.lmx-noirbar .noirShop__crumbs a:hover{
  color:var(--yellow);
  text-decoration:underline;
}

/* ---------- плитки категорий ---------- */
html.lmx-noirbar .noirShop__cats{
  display:grid;
  grid-auto-flow:column;
  grid-auto-columns:minmax(0,1fr);
  gap:14px;
}
html.lmx-noirbar .noirShop__cat{
  position:relative;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:9px;
  padding:22px 12px 18px;
  border:0;
  border-radius:9px;
  /* подложка — твой арт: потёртая карточка с золотой кромкой */
  background:url("assets/noir_card.webp") no-repeat center;
  background-size:100% 100%;
  cursor:pointer;
  text-align:center;
  box-shadow:0 10px 26px rgba(0,0,0,.5);
  transition:filter .15s, transform .15s;
}
html.lmx-noirbar .noirShop__cat::after{
  content:"";
  position:absolute;
  inset:0;
  border-radius:9px;
  border:1px solid rgba(242,196,0,.22);
  pointer-events:none;
}
html.lmx-noirbar .noirShop__cat:hover{
  filter:brightness(1.22);
  transform:translateY(-2px);
}
html.lmx-noirbar .noirShop__cat.is-on{ filter:brightness(1.3); }
html.lmx-noirbar .noirShop__cat.is-on::after{
  border-color:rgba(242,196,0,.7);
  box-shadow:inset 0 0 22px rgba(242,196,0,.12);
}
html.lmx-noirbar .noirShop__cat.is-on .noirShop__catTitle{ color:var(--yellow); }
/* Иконка не должна быть чистым вектором: поверх золота кладём
   ту же светлую фактуру трещин, что и на жёлтых плашках, режимом
   multiply. Прямоугольник перекрытия не мешает — на чёрной
   подложке multiply почти ничего не меняет, а по золоту даёт
   реальные сколы. */
html.lmx-noirbar .noirShop__catIco{
  position:relative;
  display:block;
  color:var(--yellow);
}
html.lmx-noirbar .noirShop__catIco::after{
  content:"";
  position:absolute;
  inset:-3px;
  background:url("assets/noir_wear.webp") repeat;
  background-size:34px auto;   /* подобрано на 1x, без зума */
  filter:contrast(1.5);
  mix-blend-mode:multiply;
  pointer-events:none;
}
/* drop-shadow нельзя вешать на .noirShop__catIco — filter создаёт
   свой контекст наложения, и multiply у ::after перестаёт видеть
   подложку плитки (текстура рисуется белым квадратом). */
html.lmx-noirbar .noirShop__catIco svg{
  display:block;
  width:54px;
  height:54px;
  filter:drop-shadow(0 2px 5px rgba(0,0,0,.6));
}
html.lmx-noirbar .noirShop__catTitle{
  font-family:var(--noir-display);
  font-weight:700;
  font-size:13.5px;
  letter-spacing:.1em;
  color:#f5f1e6;
  -webkit-mask-image:var(--noir-wear);
  mask-image:var(--noir-wear);
  -webkit-mask-size:120px 120px;
  mask-size:120px 120px;
}
html.lmx-noirbar .noirShop__catSub{
  font-size:11.5px;
  line-height:1.45;
  color:rgba(240,232,210,.48);
  max-width:16em;
}

/* ---------- заголовок секции ---------- */
html.lmx-noirbar .noirShop__secTitle{
  display:flex;
  align-items:center;
  gap:14px;
  margin-top:4px;
}
html.lmx-noirbar .noirShop__secTitle b{
  font-family:var(--noir-display);
  font-weight:700;
  font-size:19px;
  letter-spacing:.09em;
  color:var(--yellow);
  -webkit-mask-image:var(--noir-wear);
  mask-image:var(--noir-wear);
  -webkit-mask-size:90px 90px;
  mask-size:90px 90px;
}
html.lmx-noirbar .noirShop__secTitle span{
  flex:1 1 auto;
  height:1px;
  border-top:1px dashed rgba(242,196,0,.4);
}
html.lmx-noirbar .noirShop__more{
  display:inline-flex;
  align-items:center;
  gap:6px;
  font-size:12px;
  letter-spacing:.06em;
  color:rgba(242,196,0,.8);
  cursor:pointer;
  text-decoration:none;
  white-space:nowrap;
}
html.lmx-noirbar .noirShop__more:hover{ color:var(--yellow); }
html.lmx-noirbar .noirShop__more svg{ width:16px; height:16px; }

/* ---------- сетка товаров ---------- */
html.lmx-noirbar .noirShop__grid{
  display:grid;
  grid-template-columns:repeat(3, minmax(0,1fr));
  gap:14px;
}
html.lmx-noirbar .noirShop__card{
  position:relative;
  display:flex;
  align-items:stretch;
  gap:14px;
  padding:14px;
  border:0;
  border-radius:9px;
  /* тот же арт, что и на плитках */
  background:url("assets/noir_card.webp") no-repeat center;
  background-size:100% 100%;
  cursor:pointer;
  box-shadow:0 10px 26px rgba(0,0,0,.5);
  transition:filter .15s, transform .15s;
}
html.lmx-noirbar .noirShop__card::after{
  content:"";
  position:absolute;
  inset:0;
  border-radius:9px;
  border:1px solid rgba(242,196,0,.2);
  pointer-events:none;
}
html.lmx-noirbar .noirShop__card:hover{
  filter:brightness(1.18);
  transform:translateY(-2px);
}
html.lmx-noirbar .noirShop__card:hover::after{ border-color:rgba(242,196,0,.5); }
/* Товар лежит прямо на подложке — без своей рамки, как на референсе */
html.lmx-noirbar .noirShop__thumb{
  position:relative;
  flex:0 0 108px;
  width:108px;
  height:108px;
  display:flex;
  align-items:center;
  justify-content:center;
}
html.lmx-noirbar .noirShop__thumb img{
  width:100%;
  height:100%;
  object-fit:contain;
  display:block;
  filter:drop-shadow(0 6px 14px rgba(0,0,0,.65));
}
html.lmx-noirbar .noirShop__noimg{ color:rgba(240,232,210,.18); }
html.lmx-noirbar .noirShop__noimg svg{ width:38px; height:38px; }
html.lmx-noirbar .noirShop__tick{
  position:absolute;
  top:5px;
  right:5px;
  width:18px;
  height:18px;
  border-radius:50%;
  background:var(--yellow);
  color:#0b0a09;
  font-size:11px;
  font-weight:900;
  display:flex;
  align-items:center;
  justify-content:center;
}
html.lmx-noirbar .noirShop__cardBody{
  flex:1 1 auto;
  min-width:0;
  display:flex;
  flex-direction:column;
  gap:3px;
  padding-top:2px;
}
html.lmx-noirbar .noirShop__cardTitle{
  font-family:var(--noir-display);
  font-weight:700;
  font-size:16px;
  line-height:1.2;
  letter-spacing:.02em;
  color:#f5f1e6;
}
html.lmx-noirbar .noirShop__cardKind{
  font-size:11.5px;
  color:rgba(240,232,210,.45);
}
html.lmx-noirbar .noirShop__cardMeta{
  display:flex;
  align-items:center;
  gap:5px;
  font-size:11px;
  color:rgba(240,232,210,.32);
}
html.lmx-noirbar .noirShop__metaIco{
  width:13px;
  height:13px;
  color:rgba(242,196,0,.5);
  flex:0 0 auto;
}
html.lmx-noirbar .noirShop__prices{
  display:flex;
  flex-wrap:wrap;
  gap:7px;
  margin-top:auto;
  padding-top:8px;
}
html.lmx-noirbar .noirShop__price{
  padding:5px 10px;
  border-radius:6px;
  font-size:11.5px;
  letter-spacing:.03em;
  white-space:nowrap;
}
html.lmx-noirbar .noirShop__price b{ font-weight:800; }
html.lmx-noirbar .noirShop__price--pts{
  border:1px solid rgba(120,200,120,.45);
  color:rgba(150,225,150,.92);
  background:rgba(120,200,120,.07);
}
html.lmx-noirbar .noirShop__price--rub{
  border:1px solid rgba(242,196,0,.5);
  color:var(--yellow);
  background:rgba(242,196,0,.07);
}
html.lmx-noirbar .noirShop__price--free{
  border:1px solid rgba(240,232,210,.18);
  color:rgba(240,232,210,.4);
}
html.lmx-noirbar .noirShop__owned{
  margin-top:auto;
  padding-top:8px;
  font-size:11.5px;
  font-weight:700;
  letter-spacing:.08em;
  color:rgba(150,225,150,.9);
}

/* ---------- пусто ---------- */
html.lmx-noirbar .noirShop__empty{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:8px;
  padding:46px 20px;
  border:1px dashed rgba(240,232,210,.16);
  border-radius:11px;
  text-align:center;
}
html.lmx-noirbar .noirShop__emptyIco{
  width:40px;
  height:40px;
  color:rgba(240,232,210,.16);
}
html.lmx-noirbar .noirShop__empty b{
  font-family:var(--noir-display);
  font-size:15px;
  letter-spacing:.08em;
  color:rgba(240,232,210,.75);
}
html.lmx-noirbar .noirShop__empty span{
  font-size:12.5px;
  color:rgba(240,232,210,.4);
}

/* ---------- нижняя плашка ---------- */
html.lmx-noirbar .noirShop__note{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  margin-top:6px;
  padding-top:16px;
  border-top:1px solid rgba(240,232,210,.08);
  font-size:12px;
  color:rgba(240,232,210,.38);
}
html.lmx-noirbar .noirShop__noteIco{
  width:15px;
  height:15px;
  color:rgba(242,196,0,.55);
  flex:0 0 auto;
}

/* ---------- иконка корзины вместо сумки в верхнем меню ---------- */
html.lmx-noirbar .topbar__right .iconbtn[data-nav="#shop"] > .ico{ display:none; }
.topbar__right .iconbtn[data-nav="#shop"] > .noirCartIco{ display:none; }
html.lmx-noirbar .topbar__right .iconbtn[data-nav="#shop"] > .noirCartIco{
  display:block;
  width:22px;
  height:22px;
  stroke:#e9e0cc;
  fill:none;
  stroke-width:1.7;
  stroke-linecap:round;
  stroke-linejoin:round;
}

/* На ≤1400 отступ .screen уходил на 202px, а сайдбар остаётся
   232px — контент ВСЕХ экранов на 30px залезал под меню (у
   «МАГАЗИНА» срезалась первая буква заголовка). Ровняем отступ
   по фактической ширине меню, а не сужаем меню: иначе длинные
   пункты вроде «МЕССЕНДЖЕРЫ» обрезаются многоточием. */
@media (max-width:1400px){
  html.lmx-noirbar .screen{ inset:66px 0 0 232px; }
}

@media (max-width:1400px){
  html.lmx-noirbar .noirShop .noirShop__h1{ font-size:31px; }
  html.lmx-noirbar .noirShop__grid{ grid-template-columns:repeat(2, minmax(0,1fr)); }
  html.lmx-noirbar .noirShop__cat{ padding:16px 8px 13px; }
  html.lmx-noirbar .noirShop__catIco svg{ width:38px; height:38px; }
  html.lmx-noirbar .noirShop__catTitle{ font-size:12px; letter-spacing:.07em; }
  html.lmx-noirbar .noirShop__catSub{ font-size:10.5px; }
}


/* ============================================================
   v50: ОКНО ПИТОМЦА по референсу.
   app.js открывает своё #shopDetailOverlay, noir_shell.js (v35)
   прячет его коробку и строит внутри оверлея широкую раскладку:
   слева описание и стадия роста, по центру медиа стадии (видео
   или картинка), справа цены и покупка, снизу лента стадий.
   ============================================================ */

/* Инлайновый style у оверлея ставит app.js — перебиваем !important */
html.lmx-noirbar #shopDetailOverlay.noirPetOv{
  align-items:center !important;
  justify-content:center !important;
  padding:24px !important;
  background:rgba(0,0,0,.82) !important;
}

html.lmx-noirbar .noirPet{
  position:relative;
  width:min(1180px, 94vw);
  max-height:92vh;
  overflow-y:auto;
  padding:22px 26px 20px;
  border-radius:14px;
  background:url("assets/noir_card.webp") no-repeat center;
  background-size:100% 100%;
  box-shadow:0 30px 80px rgba(0,0,0,.7);
  animation:noirPetIn .22s cubic-bezier(.34,1.2,.64,1);
}
@keyframes noirPetIn{
  from{ transform:translateY(24px); opacity:0 }
  to{ transform:none; opacity:1 }
}
html.lmx-noirbar .noirPet::-webkit-scrollbar{ display:none; }

/* ---------- верхние кнопки ---------- */
html.lmx-noirbar .noirPet__back{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:0;
  border:0;
  background:none;
  color:rgba(240,232,210,.6);
  font-size:12px;
  letter-spacing:.09em;
  font-family:var(--noir-display);
  cursor:pointer;
}
html.lmx-noirbar .noirPet__back:hover{ color:var(--yellow); }
html.lmx-noirbar .noirPet__back svg{ width:16px; height:16px; }
html.lmx-noirbar .noirPet__x{
  position:absolute;
  top:16px;
  right:18px;
  width:34px;
  height:34px;
  border-radius:50%;
  border:1px solid rgba(240,232,210,.16);
  background:rgba(0,0,0,.45);
  color:rgba(240,232,210,.7);
  font-size:14px;
  cursor:pointer;
}
html.lmx-noirbar .noirPet__x:hover{
  border-color:rgba(242,196,0,.6);
  color:var(--yellow);
}

/* ---------- три колонки ---------- */
html.lmx-noirbar .noirPet__grid{
  display:grid;
  grid-template-columns:300px minmax(0,1fr) 272px;
  gap:26px;
  align-items:center;
  margin-top:14px;
}

html.lmx-noirbar .noirPet__kind{
  font-family:var(--noir-display);
  font-weight:700;
  font-size:11px;
  letter-spacing:.18em;
  color:var(--yellow);
}
html.lmx-noirbar .noirPet__name{
  font-family:var(--noir-display);
  font-weight:700;
  font-size:36px;
  line-height:1.05;
  letter-spacing:.05em;
  color:#f5f1e6;
  margin:4px 0 10px;
  -webkit-mask-image:var(--noir-wear);
  mask-image:var(--noir-wear);
  -webkit-mask-size:120px 120px;
  mask-size:120px 120px;
}
html.lmx-noirbar .noirPet__desc{
  font-size:12.5px;
  line-height:1.6;
  color:rgba(240,232,210,.55);
  margin-bottom:16px;
}

html.lmx-noirbar .noirPet__box{
  padding:14px 16px 15px;
  border:1px solid rgba(240,232,210,.12);
  border-radius:10px;
  background-image:
    var(--noir-grain),
    linear-gradient(180deg, rgba(0,0,0,.5), rgba(0,0,0,.32));
  margin-bottom:12px;
}
html.lmx-noirbar .noirPet__boxTitle{
  font-family:var(--noir-display);
  font-weight:700;
  font-size:10px;
  letter-spacing:.16em;
  color:rgba(240,232,210,.4);
  margin-bottom:10px;
}
html.lmx-noirbar .noirPet__paws{
  display:flex;
  gap:9px;
  margin-bottom:9px;
}
html.lmx-noirbar .noirPet__paw{
  position:relative;
  display:block;
  color:rgba(240,232,210,.16);
}
html.lmx-noirbar .noirPet__paw.is-on{ color:var(--yellow); }
html.lmx-noirbar .noirPet__paw.is-on::after{
  content:"";
  position:absolute;
  inset:-2px;
  background:url("assets/noir_wear.webp") repeat;
  background-size:30px auto;
  filter:contrast(1.5);
  mix-blend-mode:multiply;
  pointer-events:none;
}
html.lmx-noirbar .noirPet__paw svg{ display:block; width:26px; height:26px; }
html.lmx-noirbar .noirPet__stageLine{
  font-size:13px;
  font-weight:700;
  color:#f5f1e6;
}
html.lmx-noirbar .noirPet__xp{
  display:flex;
  align-items:center;
  gap:6px;
  margin-top:4px;
  font-size:11.5px;
  color:rgba(240,232,210,.4);
}
html.lmx-noirbar .noirPet__xpIco{
  width:13px;
  height:13px;
  color:rgba(242,196,0,.7);
  flex:0 0 auto;
}
html.lmx-noirbar .noirPet__bonus{
  display:flex;
  align-items:center;
  gap:8px;
  font-size:12.5px;
  color:rgba(150,225,150,.9);
}
html.lmx-noirbar .noirPet__bonusIco{
  width:16px;
  height:16px;
  color:rgba(150,225,150,.75);
  flex:0 0 auto;
}

/* ---------- центр: медиа стадии ---------- */
html.lmx-noirbar .noirPet__stage{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:340px;
  background:radial-gradient(ellipse at 50% 58%, rgba(242,196,0,.08) 0%, transparent 66%);
}
html.lmx-noirbar .noirPet__media{
  max-width:100%;
  max-height:400px;
  object-fit:contain;
  display:block;
  filter:drop-shadow(0 18px 34px rgba(0,0,0,.75));
}
/* Видео питомца лежит на чёрном фоне и накладывается режимом
   screen (так же, как в app.js). На текстурной подложке чёрный
   фон ролика высветлял бы её серым прямоугольником — поэтому под
   видео подкладываем чёрную «лужу» с мягким краем: ролик ложится
   на чёрное, а границы прямоугольника растворяются. */
html.lmx-noirbar .noirPet__media--vid{
  mix-blend-mode:screen;
  /* края ролика растворяем: если фон видео не идеально чёрный,
     на подложке проступал бы его прямоугольник */
  -webkit-mask-image:radial-gradient(ellipse 76% 78% at 50% 50%, #000 62%, transparent 100%);
  mask-image:radial-gradient(ellipse 76% 78% at 50% 50%, #000 62%, transparent 100%);
}
html.lmx-noirbar .noirPet__stage.has-vid{
  background:
    radial-gradient(ellipse at 50% 52%, rgba(242,196,0,.1) 0%, transparent 60%),
    radial-gradient(ellipse 82% 84% at 50% 50%, #060505 0%, #060505 74%, rgba(6,5,5,0) 100%);
}
html.lmx-noirbar .noirPet__media--none{
  color:rgba(240,232,210,.12);
}
html.lmx-noirbar .noirPet__media--none svg{ width:120px; height:120px; }

/* ---------- правая колонка ---------- */
html.lmx-noirbar .noirPet__buyCol{
  display:flex;
  flex-direction:column;
  gap:11px;
}
html.lmx-noirbar .noirPet__prices{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  margin-bottom:3px;
}
html.lmx-noirbar .noirPet__buy{
  position:relative;
  z-index:0;
  padding:15px 14px;
  border:0;
  background:none;
  color:#171308;
  font-family:var(--noir-display);
  font-weight:700;
  font-size:14px;
  letter-spacing:.1em;
  cursor:pointer;
}
/* рваная жёлтая плашка — тот же рецепт, что у кнопок подписки */
html.lmx-noirbar .noirPet__buy::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  background-color:#e0b100;
  background-image:
    url("assets/noir_wear.webp"),
    var(--noir-grain),
    linear-gradient(180deg,#eec21a 0%,#d9a900 100%);
  background-size:105px auto, auto, auto;
  background-repeat:repeat, repeat, no-repeat;
  background-blend-mode:multiply, normal, normal;
  -webkit-mask-image:url("assets/noir_plate_mask.webp");
  mask-image:url("assets/noir_plate_mask.webp");
  -webkit-mask-size:100% 100%;
  mask-size:100% 100%;
  -webkit-mask-repeat:no-repeat;
  mask-repeat:no-repeat;
}
html.lmx-noirbar .noirPet__buy:hover::before{ filter:brightness(1.08); }
/* вторая кнопка (рубли) — тёмная с золотой обводкой */
html.lmx-noirbar .noirPet__buy--alt{
  color:var(--yellow);
  border:1px solid rgba(242,196,0,.5);
  border-radius:9px;
  background:rgba(0,0,0,.4);
  padding:13px 14px;
  font-size:12.5px;
}
html.lmx-noirbar .noirPet__buy--alt::before{ display:none; }
html.lmx-noirbar .noirPet__buy--alt:hover{ border-color:var(--yellow); }

/* живая кнопка подарка, перенесённая из окна app.js */
html.lmx-noirbar .noirPet__gift{
  width:100%;
  padding:13px 14px;
  border:1px solid rgba(240,232,210,.18);
  border-radius:9px;
  background:rgba(0,0,0,.4);
  color:#f5f1e6;
  font-family:var(--noir-display);
  font-weight:700;
  font-size:12.5px;
  letter-spacing:.1em;
  cursor:pointer;
}
html.lmx-noirbar .noirPet__gift:hover{
  border-color:rgba(242,196,0,.6);
  color:var(--yellow);
}
html.lmx-noirbar .noirPet__owned{
  padding:14px;
  border:1px solid rgba(150,225,150,.35);
  border-radius:9px;
  text-align:center;
  font-family:var(--noir-display);
  font-weight:700;
  font-size:12.5px;
  letter-spacing:.1em;
  color:rgba(150,225,150,.9);
}
html.lmx-noirbar .noirPet__note{
  display:flex;
  align-items:flex-start;
  gap:8px;
  margin-top:2px;
  font-size:11px;
  line-height:1.45;
  color:rgba(240,232,210,.35);
}
html.lmx-noirbar .noirPet__noteIco{
  width:14px;
  height:14px;
  color:rgba(242,196,0,.5);
  flex:0 0 auto;
  margin-top:1px;
}

/* ---------- лента стадий ---------- */
html.lmx-noirbar .noirPet__strip{
  display:flex;
  align-items:center;
  gap:14px;
  margin-top:18px;
  padding:12px 16px;
  border:1px solid rgba(240,232,210,.1);
  border-radius:11px;
  background:rgba(0,0,0,.35);
}
html.lmx-noirbar .noirPet__arrow{
  flex:0 0 auto;
  width:34px;
  height:34px;
  border:1px solid rgba(240,232,210,.14);
  border-radius:8px;
  background:rgba(0,0,0,.4);
  color:rgba(242,196,0,.8);
  font-size:18px;
  line-height:1;
  cursor:pointer;
}
html.lmx-noirbar .noirPet__arrow:hover{ border-color:rgba(242,196,0,.6); }
html.lmx-noirbar .noirPet__thumbs{
  flex:1 1 auto;
  display:flex;
  gap:12px;
  justify-content:center;
  overflow-x:auto;
}
html.lmx-noirbar .noirPet__thumbs::-webkit-scrollbar{ display:none; }
html.lmx-noirbar .noirPet__thumb{
  flex:0 0 auto;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:6px;
  padding:8px 10px 7px;
  border:1px solid rgba(240,232,210,.12);
  border-radius:9px;
  background:rgba(0,0,0,.45);
  cursor:pointer;
}
html.lmx-noirbar .noirPet__thumb.is-on{
  border-color:rgba(242,196,0,.8);
  background:rgba(242,196,0,.06);
}
html.lmx-noirbar .noirPet__thumbPic{
  position:relative;
  display:flex;
  align-items:center;
  justify-content:center;
  width:64px;
  height:64px;
}
html.lmx-noirbar .noirPet__thumbPic img,
html.lmx-noirbar .noirPet__thumbPic video{
  width:100%;
  height:100%;
  object-fit:contain;
  display:block;
}
html.lmx-noirbar .noirPet__play{
  position:absolute;
  right:0;
  bottom:0;
  padding:1px 4px;
  border-radius:4px;
  background:rgba(242,196,0,.85);
  color:#0b0a09;
  font-size:8px;
  font-style:normal;
  font-weight:900;
}
html.lmx-noirbar .noirPet__thumbLbl{
  font-size:10.5px;
  letter-spacing:.05em;
  color:rgba(240,232,210,.45);
  white-space:nowrap;
}
html.lmx-noirbar .noirPet__thumb.is-on .noirPet__thumbLbl{ color:var(--yellow); }

@media (max-width:1400px){
  html.lmx-noirbar .noirPet__grid{ grid-template-columns:264px minmax(0,1fr) 244px; gap:20px; }
  html.lmx-noirbar .noirPet__name{ font-size:30px; }
  html.lmx-noirbar .noirPet__stage{ min-height:280px; }
  html.lmx-noirbar .noirPet__media{ max-height:320px; }
}

/* ---------- окно обычного товара / аксессуара / физтовара ---------- */
/* У товара нет блока стадий, поэтому левая колонка уже, а место
   отдаём картинке. */
html.lmx-noirbar .noirPet--item .noirPet__grid{
  grid-template-columns:320px minmax(0,1fr) 272px;
}
html.lmx-noirbar .noirPet__bonus--gold{ color:rgba(242,196,0,.85); }
html.lmx-noirbar .noirPet__bonus--gold .noirPet__bonusIco{ color:rgba(242,196,0,.7); }

/* количество для физического товара; значение читает app.js
   по id="qty-<itemId>" — менять id нельзя */
html.lmx-noirbar .noirPet__qty{
  display:flex;
  align-items:center;
  gap:8px;
  padding:9px 12px;
  border:1px solid rgba(240,232,210,.14);
  border-radius:9px;
  background:rgba(0,0,0,.4);
}
html.lmx-noirbar .noirPet__qtyLbl{
  flex:1 1 auto;
  font-size:11.5px;
  letter-spacing:.06em;
  color:rgba(240,232,210,.45);
}
html.lmx-noirbar .noirPet__qtyBtn{
  width:28px;
  height:28px;
  flex:0 0 auto;
  border:1px solid rgba(242,196,0,.35);
  border-radius:7px;
  background:rgba(0,0,0,.4);
  color:var(--yellow);
  font-size:15px;
  line-height:1;
  cursor:pointer;
}
html.lmx-noirbar .noirPet__qtyBtn:hover{ border-color:var(--yellow); }
html.lmx-noirbar .noirPet__qtyVal{
  width:38px;
  flex:0 0 auto;
  padding:5px 0;
  border:0;
  background:none;
  color:#f5f1e6;
  font-family:var(--noir-display);
  font-weight:700;
  font-size:14px;
  text-align:center;
}
html.lmx-noirbar .noirPet__qtyVal:focus{ outline:none; }


/* ============================================================
   v52: «РЕЙТИНГ» (#rating) + модалка «КОЛЛЕКЦИЯ ПИТОМЦЕВ».
   Собирается noir_shell.js (v37): строки читаются из разметки
   app.js, живые узлы переносятся, родные скрыты классом
   .noirRatSrcHidden. Подложка модалки — assets/noir_modal.webp.
   ============================================================ */

html.lmx-noirbar .noirRatSrcHidden{ display:none !important; }

html.lmx-noirbar .noirRat{
  display:flex;
  flex-direction:column;
  gap:14px;
}
html.lmx-noirbar .noirRat .noirRat__h1{
  display:flex;
  align-items:center;
  gap:16px;
  font-family:var(--noir-display);
  font-weight:700;
  font-size:34px;
  line-height:1;
  letter-spacing:.07em;
  color:#f5f1e6;
  margin:0;
  -webkit-mask-image:var(--noir-wear);
  mask-image:var(--noir-wear);
  -webkit-mask-size:110px 110px;
  mask-size:110px 110px;
}
html.lmx-noirbar .noirRat .noirRat__h1::after{
  content:"";
  display:block;
  flex:1 1 auto;
  height:1px;
  border-top:1px dashed rgba(242,196,0,.45);
}

/* ---------- вкладки ---------- */
html.lmx-noirbar .noirRat__tabs{
  display:grid;
  grid-template-columns:repeat(2, minmax(0,1fr));
  gap:12px;
  max-width:600px;
}
html.lmx-noirbar .noirRat__tab{
  padding:12px 14px;
  border:1px solid rgba(240,232,210,.16);
  border-radius:8px;
  background:rgba(0,0,0,.35);
  color:rgba(240,232,210,.6);
  font-family:var(--noir-display);
  font-weight:700;
  font-size:12.5px;
  letter-spacing:.12em;
  cursor:pointer;
  transition:border-color .15s, color .15s;
}
html.lmx-noirbar .noirRat__tab:hover{ border-color:rgba(242,196,0,.45); color:rgba(242,196,0,.85); }
html.lmx-noirbar .noirRat__tab.is-on{
  border-color:var(--yellow);
  color:#f5f1e6;
  background:rgba(242,196,0,.05);
}

/* ---------- жёлтая рваная плашка «ТОП» ---------- */
html.lmx-noirbar .noirRat__top{
  position:relative;
  z-index:0;
  display:flex;
  align-items:center;
  gap:14px;
  padding:13px 22px;
  margin-top:4px;
}
/* Подложка полосы — отдельный арт (assets/noir_bar.webp): мазок
   нарисован уже вытянутым по горизонтали, поэтому растягивается
   на любую ширину без дыр по краям, в отличие от маски кнопки. */
html.lmx-noirbar .noirRat__top::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  background:url("assets/noir_bar.webp") no-repeat center;
  background-size:100% 100%;
}
html.lmx-noirbar .noirRat__topLbl{
  font-family:var(--noir-display);
  font-weight:700;
  font-size:17px;
  letter-spacing:.14em;
  color:#171308;
}
html.lmx-noirbar .noirRat__topRight{
  display:flex;
  align-items:center;
  gap:10px;
  margin-left:auto;
}
html.lmx-noirbar .noirRat__chip{
  padding:5px 11px;
  border-radius:5px;
  background:rgba(20,16,6,.82);
  font-size:11px;
  letter-spacing:.04em;
  color:rgba(242,196,0,.95);
}
html.lmx-noirbar .noirRat__count{
  padding:5px 11px;
  border-radius:5px;
  background:rgba(20,16,6,.82);
  font-family:var(--noir-display);
  font-weight:700;
  font-size:11.5px;
  letter-spacing:.1em;
  color:rgba(242,196,0,.95);
}

/* ---------- пагинатор app.js ---------- */
html.lmx-noirbar .noirRat__pagerSlot{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  flex-wrap:wrap;
}
html.lmx-noirbar .noirRat .rating-pager{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  margin:0;
}
html.lmx-noirbar .noirRat .rating-pager__btn{
  min-width:36px;
  height:36px;
  padding:0 10px;
  border:1px solid rgba(240,232,210,.16);
  border-radius:8px;
  background:rgba(0,0,0,.4);
  color:rgba(240,232,210,.6);
  font-family:var(--noir-display);
  font-weight:700;
  font-size:13px;
}
html.lmx-noirbar .noirRat .rating-pager__btn--cur{
  border-color:var(--yellow);
  background:rgba(242,196,0,.12);
  color:var(--yellow);
}
html.lmx-noirbar .noirRat__notes:empty{ display:none; }

/* ---------- строки ---------- */
html.lmx-noirbar .noirRat__list{
  display:flex;
  flex-direction:column;
  gap:10px;
}
/* каждая строка — на той же арт-подложке, что карточки магазина */
html.lmx-noirbar .noirRat__row{
  position:relative;
  display:grid;
  grid-template-columns:46px 56px minmax(0,1fr) 236px 200px auto;
  align-items:center;
  gap:16px;
  padding:14px 22px 14px 14px;
  border:0;
  border-radius:9px;
  background:url("assets/noir_card.webp") no-repeat center;
  background-size:100% 100%;
  box-shadow:0 8px 22px rgba(0,0,0,.45);
  transition:filter .15s, transform .15s;
}
html.lmx-noirbar .noirRat__row::after{
  content:"";
  position:absolute;
  inset:0;
  border-radius:9px;
  border:1px solid rgba(242,196,0,.18);
  pointer-events:none;
}
html.lmx-noirbar .noirRat__row.isClickable{ cursor:pointer; }
html.lmx-noirbar .noirRat__row.isClickable:hover{ filter:brightness(1.16); }
html.lmx-noirbar .noirRat__row.isClickable:hover::after{ border-color:rgba(242,196,0,.5); }
html.lmx-noirbar .noirRat__row.is-me::after{
  border-color:rgba(242,196,0,.6);
  box-shadow:inset 0 0 26px rgba(242,196,0,.08);
}
html.lmx-noirbar .noirRat__rank{
  display:flex;
  align-items:center;
  justify-content:center;
  width:46px;
  height:46px;
  border:1px solid rgba(240,232,210,.18);
  border-radius:9px;
  background:rgba(0,0,0,.45);
  font-family:var(--noir-display);
  font-weight:700;
  font-size:17px;
  color:rgba(240,232,210,.75);
}
html.lmx-noirbar .noirRat__rank--gold{
  border-color:var(--yellow);
  color:var(--yellow);
  background:rgba(242,196,0,.1);
}
html.lmx-noirbar .noirRat__rank--silver{ border-color:rgba(220,220,225,.5); color:#dcdce1; }
html.lmx-noirbar .noirRat__rank--bronze{ border-color:rgba(205,127,50,.6); color:#cd7f32; }

html.lmx-noirbar .noirRat__ava{
  display:flex;
  align-items:center;
  justify-content:center;
  width:56px;
  height:56px;
  border:1px solid rgba(240,232,210,.14);
  border-radius:9px;
  overflow:hidden;
  background:#0b0a09;
}
html.lmx-noirbar .noirRat__ava img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
html.lmx-noirbar .noirRat__avaNone{ color:rgba(240,232,210,.2); }
html.lmx-noirbar .noirRat__avaNone svg{ width:26px; height:26px; display:block; }

html.lmx-noirbar .noirRat__who{
  display:flex;
  flex-direction:column;
  gap:3px;
  min-width:0;
}
html.lmx-noirbar .noirRat__name{
  display:flex;
  align-items:center;
  gap:8px;
  font-family:var(--noir-display);
  font-weight:700;
  font-size:17px;
  letter-spacing:.02em;
  color:#f5f1e6;
}
html.lmx-noirbar .noirRat__you{
  padding:2px 7px;
  border:1px solid rgba(242,196,0,.5);
  border-radius:4px;
  font-size:9.5px;
  font-style:normal;
  letter-spacing:.1em;
  color:var(--yellow);
}
html.lmx-noirbar .noirRat__sub{
  font-size:12px;
  color:rgba(240,232,210,.4);
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

/* карточка питомца (узел app.js) */
/* ячейки сетки не прячем даже пустыми: display:none у грид-элемента
   сдвигает все следующие колонки (у строки без питомца счёт уезжал
   в колонку питомца) */
html.lmx-noirbar .noirRat__pet .pet-rating-card__inner{
  position:relative;
  display:flex;
  align-items:center;
  gap:10px;
  padding:9px 12px;
  border:0;
  border-radius:9px;
  background:url("assets/noir_card.webp") no-repeat center;
  background-size:100% 100%;
  box-shadow:inset 0 0 0 1px rgba(242,196,0,.2);
}
html.lmx-noirbar .noirRat__pet .pet-rating-card__media{
  flex:0 0 auto;
  display:flex;
  align-items:center;
  justify-content:center;
}
html.lmx-noirbar .noirRat__pet .pet-rating-card__info{ flex:1 1 auto; min-width:0; }
html.lmx-noirbar .noirRat__pet .pet-rating-card__name{
  font-size:13px;
  font-weight:700;
  color:#f5f1e6;
}
html.lmx-noirbar .noirRat__pet .pet-rating-card__stage{
  margin-top:1px;
  font-size:10.5px;
  color:rgba(242,196,0,.75);
}
html.lmx-noirbar .noirRat__pet .pet-rating-card__bar{
  margin-top:5px;
  height:4px;
  border-radius:3px;
  background:rgba(240,232,210,.12);
  overflow:hidden;
}
html.lmx-noirbar .noirRat__pet .pet-rating-card__bar-fill{
  height:100%;
  background:linear-gradient(90deg,#d98a00,#f2c400);
}

/* кнопка коллекции (узел app.js) */
html.lmx-noirbar .noirRat__collBtn{
  display:flex !important;
  align-items:center;
  gap:10px;
  width:100%;
  padding:11px 14px !important;
  border:0 !important;
  border-radius:9px !important;
  background:url("assets/noir_card.webp") no-repeat center !important;
  background-size:100% 100% !important;
  box-shadow:inset 0 0 0 1px rgba(242,196,0,.2);
  cursor:pointer;
  font-family:inherit;
  text-align:left;
}
html.lmx-noirbar .noirRat__collBtn:hover{ box-shadow:inset 0 0 0 1px rgba(242,196,0,.6); }
html.lmx-noirbar .noirRat__collIco{
  flex:0 0 auto;
  color:rgba(242,196,0,.75);
}
html.lmx-noirbar .noirRat__collIco svg{ width:22px; height:22px; display:block; }
html.lmx-noirbar .noirRat__collTxt{
  display:flex;
  flex-direction:column;
  gap:2px;
  min-width:0;
}
html.lmx-noirbar .noirRat__collTxt b{
  font-family:var(--noir-display);
  font-weight:700;
  font-size:11px;
  letter-spacing:.09em;
  color:var(--yellow);
}
html.lmx-noirbar .noirRat__collTxt i{
  font-style:normal;
  font-size:11.5px;
  color:rgba(240,232,210,.45);
}

html.lmx-noirbar .noirRat__score{
  font-family:var(--noir-display);
  font-weight:700;
  font-size:27px;
  letter-spacing:.03em;
  color:var(--yellow);
  text-align:right;
  min-width:92px;
}

/* ---------- модалка «Коллекция питомцев» ---------- */
/* инлайновый style у оверлея ставит app.js — перебиваем */
html.lmx-noirbar #petsCollectionOverlay.noirCollOv{
  align-items:center !important;
  justify-content:center !important;
  padding:24px !important;
  background:rgba(0,0,0,.82) !important;
}
html.lmx-noirbar .noirColl{
  width:min(940px, 92vw);
  max-height:88vh;
  overflow-y:auto;
  padding:34px 40px 38px;
  /* подложка-арт: рамка и «предупреждающие» углы уже в картинке */
  background:url("assets/noir_modal.webp") no-repeat center;
  background-size:100% 100%;
  animation:noirCollIn .2s cubic-bezier(.34,1.2,.64,1);
}
@keyframes noirCollIn{
  from{ transform:translateY(20px); opacity:0 }
  to{ transform:none; opacity:1 }
}
html.lmx-noirbar .noirColl::-webkit-scrollbar{ display:none; }
html.lmx-noirbar .noirColl__head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:20px;
  margin-bottom:24px;
}
html.lmx-noirbar .noirColl__title{
  font-family:var(--noir-display);
  font-weight:700;
  font-size:30px;
  letter-spacing:.05em;
  color:#f5f1e6;
  -webkit-mask-image:var(--noir-wear);
  mask-image:var(--noir-wear);
  -webkit-mask-size:120px 120px;
  mask-size:120px 120px;
}
html.lmx-noirbar .noirColl__agent{
  margin-top:4px;
  font-family:var(--noir-display);
  font-weight:700;
  font-size:22px;
  letter-spacing:.03em;
  color:var(--yellow);
}
html.lmx-noirbar .noirColl__x{
  flex:0 0 auto;
  width:44px;
  height:44px;
  border:1px solid rgba(242,196,0,.6);
  border-radius:9px;
  background:rgba(0,0,0,.35);
  color:var(--yellow);
  font-size:17px;
  cursor:pointer;
}
html.lmx-noirbar .noirColl__x:hover{ background:rgba(242,196,0,.12); }
html.lmx-noirbar .noirColl__grid{
  display:grid;
  grid-template-columns:repeat(3, minmax(0,1fr));
  gap:16px;
}
/* карточки — живые узлы app.js, их инлайновые стили сняты в JS */
html.lmx-noirbar .noirColl__card{
  position:relative;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:7px;
  padding:20px 14px 16px;
  border:1px solid rgba(242,196,0,.3);
  border-radius:11px;
  background-image:
    var(--noir-grain),
    linear-gradient(180deg, rgba(0,0,0,.5), rgba(0,0,0,.3));
  cursor:pointer;
  transition:border-color .15s, transform .15s;
}
html.lmx-noirbar .noirColl__card:hover{
  border-color:rgba(242,196,0,.75);
  transform:translateY(-2px);
}
html.lmx-noirbar .noirColl__pic{
  display:flex;
  align-items:center;
  justify-content:center;
  width:118px;
  height:118px;
  font-size:52px;
}
html.lmx-noirbar .noirColl__pic img{
  width:100%;
  height:100%;
  object-fit:contain;
  filter:drop-shadow(0 8px 16px rgba(0,0,0,.7));
}
html.lmx-noirbar .noirColl__nm{
  font-family:var(--noir-display);
  font-weight:700;
  font-size:17px;
  letter-spacing:.02em;
  color:#f5f1e6;
  text-align:center;
}
html.lmx-noirbar .noirColl__st{
  font-size:13px;
  color:var(--yellow);
}
html.lmx-noirbar .noirColl__act{
  position:absolute;
  top:9px;
  right:9px;
  padding:2px 8px;
  border-radius:4px;
  background:var(--yellow);
  color:#0b0a09;
  font-family:var(--noir-display);
  font-weight:700;
  font-size:10px;
  letter-spacing:.1em;
}
html.lmx-noirbar .noirColl__empty{
  grid-column:1/-1;
  padding:40px;
  text-align:center;
  color:rgba(240,232,210,.4);
  font-size:13px;
}

@media (max-width:1400px){
  html.lmx-noirbar .noirRat__row{
    grid-template-columns:42px 50px minmax(0,1fr) 208px 176px auto;
    gap:12px;
  }
  html.lmx-noirbar .noirRat__score{ font-size:23px; min-width:78px; }
  html.lmx-noirbar .noirRat .noirRat__h1{ font-size:29px; }
  html.lmx-noirbar .noirColl{ padding:26px 30px 30px; }
  html.lmx-noirbar .noirColl__card img{ width:92px !important; height:92px !important; }
}

/* ---------- окно питомца из коллекции (#petDetailOverlay) ---------- */
html.lmx-noirbar #petDetailOverlay.noirPetDetOv{
  padding:24px !important;
  background:rgba(0,0,0,.85) !important;
}
html.lmx-noirbar .noirPetDet{
  width:min(560px, 92vw);
  max-height:92vh;
  overflow-y:auto;
  /* поля с запасом: рамка и «предупреждающие» углы нарисованы
     внутри самой подложки, текст не должен на них наезжать */
  padding:40px 44px 34px;
  background:url("assets/noir_modal.webp") no-repeat center;
  background-size:100% 100%;
  animation:noirCollIn .2s cubic-bezier(.34,1.2,.64,1);
}
html.lmx-noirbar .noirPetDet::-webkit-scrollbar{ display:none; }
html.lmx-noirbar .noirPetDet__head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:18px;
  margin-bottom:16px;
}
html.lmx-noirbar .noirPetDet__stage{
  font-size:11px;
  letter-spacing:.16em;
  color:rgba(240,232,210,.4);
  text-transform:uppercase;
}
html.lmx-noirbar .noirPetDet__name{
  margin-top:5px;
  font-family:var(--noir-display);
  font-weight:700;
  font-size:30px;
  letter-spacing:.04em;
  color:var(--yellow);
  -webkit-mask-image:var(--noir-wear);
  mask-image:var(--noir-wear);
  -webkit-mask-size:120px 120px;
  mask-size:120px 120px;
}
html.lmx-noirbar .noirPetDet__x{
  flex:0 0 auto;
  width:40px;
  height:40px;
  border:1px solid rgba(242,196,0,.6);
  border-radius:9px;
  background:rgba(0,0,0,.35);
  color:var(--yellow);
  font-size:16px;
  cursor:pointer;
}
html.lmx-noirbar .noirPetDet__x:hover{ background:rgba(242,196,0,.12); }
html.lmx-noirbar .noirPetDet__media{
  display:flex;
  align-items:center;
  justify-content:center;
  border:1px solid rgba(242,196,0,.14);
  border-radius:11px;
  background:radial-gradient(ellipse at 50% 58%, rgba(242,196,0,.1) 0%, transparent 66%);
  overflow:hidden;
}
/* под видео — чёрная «лужа»: ролик наложен режимом screen */
html.lmx-noirbar .noirPetDet__media.has-vid{
  background:
    radial-gradient(ellipse at 50% 52%, rgba(242,196,0,.1) 0%, transparent 60%),
    radial-gradient(ellipse 86% 88% at 50% 50%, #060505 0%, #060505 76%, rgba(6,5,5,0) 100%);
}
html.lmx-noirbar .noirPetDet__mediaInner{
  display:flex;
  align-items:center;
  justify-content:center;
  width:100%;
  aspect-ratio:1/1;
  max-height:44vh;
}
html.lmx-noirbar .noirPetDet__mediaInner img,
html.lmx-noirbar .noirPetDet__mediaInner video{
  width:100%;
  height:100%;
  object-fit:contain;
  display:block;
}
html.lmx-noirbar .noirPetDet__mediaInner video{
  mix-blend-mode:screen;
  -webkit-mask-image:radial-gradient(ellipse 78% 80% at 50% 50%, #000 64%, transparent 100%);
  mask-image:radial-gradient(ellipse 78% 80% at 50% 50%, #000 64%, transparent 100%);
}
html.lmx-noirbar .noirPetDet__owner{
  margin-top:16px;
  text-align:center;
  font-size:12.5px;
  letter-spacing:.08em;
  color:rgba(240,232,210,.4);
}


/* ============================================================
   v55: АНОНС / ПРЕВЬЮ ИГРЫ (#caseRoot, #messengerGameRoot).
   Собирается noir_shell.js (v39): крошки, слева обложка,
   справа панель на арт-подложке. Родные узлы app.js скрыты
   классом .noirGameSrcHidden, кнопки и блоки перенесены живыми.
   ============================================================ */

html.lmx-noirbar .noirGameSrcHidden{ display:none !important; }

/* Вьюха мессенджера в styles.css намертво зафиксирована под чат:
   `#view-messengergame{ overflow:hidden !important; padding:0 }`
   и корень внутри неё растянут absolute — прокрутку в анонсе это
   убивало. Пока на экране наша раскладка (класс .noirGameView),
   возвращаем обычное поведение страницы; режим чата не трогаем. */
/* селектор с id: правило в styles.css тоже на id и с !important,
   у более слабого селектора шансов нет */
html.lmx-noirbar #view-messengergame.noirGameView{
  overflow-y:auto !important;
  padding:16px 28px 44px !important;
}
html.lmx-noirbar #view-messengergame.noirGameView #messengerGameRoot{
  position:static !important;
  inset:auto !important;
}
html.lmx-noirbar .view.noirGameView{
  overflow-y:auto !important;
}


html.lmx-noirbar .noirGame{
  display:flex;
  flex-direction:column;
  gap:16px;
}

/* ---------- крошки ---------- */
html.lmx-noirbar .noirGame__crumbs{
  display:flex;
  align-items:center;
  gap:12px;
  font-size:13px;
  color:rgba(240,232,210,.45);
}
html.lmx-noirbar .noirGame__backSlot{ display:flex; }
html.lmx-noirbar .noirGame__back{
  display:flex !important;
  align-items:center;
  justify-content:center;
  width:40px;
  height:40px;
  padding:0 !important;
  border:1px solid rgba(240,232,210,.16) !important;
  border-radius:9px !important;
  background:rgba(0,0,0,.4) !important;
  color:rgba(240,232,210,.7) !important;
  cursor:pointer;
  font-size:12px;
}
html.lmx-noirbar .noirGame__back:hover{
  border-color:rgba(242,196,0,.6) !important;
  color:var(--yellow) !important;
}
html.lmx-noirbar .noirGame__back svg{ width:18px; height:18px; }
/* кнопка «назад» с текстом («← Квизы») — не квадрат, а пилюля */
html.lmx-noirbar .noirGame__back--text{
  width:auto;
  padding:0 16px !important;
  font-family:var(--noir-display);
  font-weight:700;
  font-size:12px;
  letter-spacing:.08em;
}
html.lmx-noirbar .noirGame__crumb{ color:rgba(240,232,210,.45); }
html.lmx-noirbar .noirGame__sep{ color:rgba(240,232,210,.25); }
html.lmx-noirbar .noirGame__crumbCur{ color:#f5f1e6; }

/* ---------- две колонки ---------- */
html.lmx-noirbar .noirGame__grid{
  display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);
  gap:20px;
  /* колонки одной высоты: в панели снова всё описание */
  align-items:stretch;
}
html.lmx-noirbar .noirGame__cover{
  position:relative;
  padding:10px;
  border-radius:11px;
  background:url("assets/noir_card.webp") no-repeat center;
  background-size:100% 100%;
  box-shadow:0 12px 30px rgba(0,0,0,.5);
}
html.lmx-noirbar .noirGame__cover::after{
  content:"";
  position:absolute;
  inset:0;
  border-radius:11px;
  border:1px solid rgba(242,196,0,.28);
  pointer-events:none;
}
html.lmx-noirbar .noirGame__cover img{
  display:block;
  width:100%;
  height:100%;
  min-height:320px;
  max-height:70vh;
  object-fit:cover;
  border-radius:7px;
}
html.lmx-noirbar .noirGame__coverNone{
  height:320px;
  border-radius:7px;
  background:rgba(0,0,0,.5);
}

/* ---------- правая панель ---------- */
html.lmx-noirbar .noirGame__panel{
  position:relative;
  padding:26px 28px 24px;
  border-radius:11px;
  background:url("assets/noir_card.webp") no-repeat center;
  background-size:100% 100%;
  box-shadow:0 12px 30px rgba(0,0,0,.5);
}
html.lmx-noirbar .noirGame__panel::after{
  content:"";
  position:absolute;
  inset:0;
  border-radius:11px;
  border:1px solid rgba(242,196,0,.28);
  pointer-events:none;
}
html.lmx-noirbar .noirGame__kind{
  font-family:var(--noir-display);
  font-weight:700;
  font-size:11px;
  letter-spacing:.18em;
  color:rgba(240,232,210,.5);
}
html.lmx-noirbar .noirGame__title{
  margin:6px 0 14px;
  font-family:var(--noir-display);
  font-weight:700;
  font-size:34px;
  line-height:1.08;
  letter-spacing:.05em;
  color:#f5f1e6;
  -webkit-mask-image:var(--noir-wear);
  mask-image:var(--noir-wear);
  -webkit-mask-size:130px 130px;
  mask-size:130px 130px;
}
html.lmx-noirbar .noirGame__chips{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:8px;
  margin-bottom:16px;
}
html.lmx-noirbar .noirGame__chip{
  padding:6px 12px;
  border:1px solid rgba(240,232,210,.16);
  border-radius:7px;
  background:rgba(0,0,0,.4);
  font-size:11.5px;
  letter-spacing:.04em;
  color:rgba(240,232,210,.7);
  white-space:nowrap;
}
html.lmx-noirbar .noirGame__chip--gold{
  border-color:rgba(242,196,0,.5);
  color:var(--yellow);
  background:rgba(242,196,0,.07);
}
html.lmx-noirbar .noirGame__chip--free{
  border-color:rgba(120,200,120,.45);
  color:rgba(150,225,150,.92);
  background:rgba(120,200,120,.07);
}
html.lmx-noirbar .noirGame__chip--soon{
  border-color:rgba(120,180,255,.4);
  color:#9cf;
  background:rgba(120,180,255,.08);
}
html.lmx-noirbar .noirGame__stars{
  display:inline-flex;
  gap:2px;
  font-size:14px;
  line-height:1;
  color:rgba(240,232,210,.2);
}
html.lmx-noirbar .noirGame__star.is-on{ color:var(--yellow); }
/* подпись у звёзд — иначе их принимают за оценку/отзывы */
html.lmx-noirbar .noirGame__stars{ align-items:center; }
html.lmx-noirbar .noirGame__starsLbl{
  font-style:normal; font-size:10px; font-weight:700; letter-spacing:.1em;
  color:rgba(240,232,210,.5); margin-right:6px; white-space:nowrap;
}
/* та же подпись внутри «родных» карточек app.js на десктопе */
html.lmx-noirbar .caseCard__meta .mini > span:first-child{ letter-spacing:.08em; }

html.lmx-noirbar .noirGame__desc{
  font-size:13.5px;
  line-height:1.65;
  color:rgba(240,232,210,.62);
}
html.lmx-noirbar .noirGame__desc p{ margin:0 0 10px; }
html.lmx-noirbar .noirGame__desc p:last-child{ margin-bottom:0; }

/* ---------- перенесённые блоки app.js ---------- */
html.lmx-noirbar .noirGame__extra:empty,
html.lmx-noirbar .noirGame__cta:empty{ display:none; }
html.lmx-noirbar .noirGame__extra{
  display:flex;
  flex-direction:column;
  gap:12px;
  margin-top:18px;
}
html.lmx-noirbar .noirGame__block{
  margin:0 !important;
  padding:16px 18px !important;
  border:1px solid rgba(240,232,210,.14) !important;
  border-radius:10px !important;
  background:rgba(0,0,0,.42) !important;
  font-size:13px;
}
html.lmx-noirbar .noirGame__block .cardTitle{
  font-family:var(--noir-display);
  font-weight:700;
  letter-spacing:.12em;
  color:rgba(242,196,0,.85);
}

/* ---------- кнопки ---------- */
html.lmx-noirbar .noirGame__cta{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:18px;
}
html.lmx-noirbar .noirGame__btn{
  flex:1 1 auto;
  min-width:180px;
  margin:0 !important;
  padding:15px 18px !important;
  border-radius:9px !important;
  font-family:var(--noir-display);
  font-weight:700;
  font-size:13px;
  letter-spacing:.1em;
  cursor:pointer;
}
/* .cta оставляем как есть — это фирменная рваная жёлтая плашка
   из общей темы; перекрашиваем только второстепенные кнопки */
html.lmx-noirbar .noirGame__btn.btnGhost,
html.lmx-noirbar .noirGame__btn:not(.cta){
  border:1px solid rgba(242,196,0,.45) !important;
  background:rgba(0,0,0,.4) !important;
  color:var(--yellow) !important;
}
html.lmx-noirbar .noirGame__btn:not(.cta):hover{ border-color:var(--yellow) !important; }
/* кнопки внутри перенесённых блоков остаются на всю ширину блока */
html.lmx-noirbar .noirGame__block .noirGame__btn{ width:100%; }

/* ---------- обложка: трейлер и лента кадров ---------- */
html.lmx-noirbar .noirGame__coverCol{
  display:flex;
  flex-direction:column;
  gap:12px;
  height:100%;
}
/* обложка тянется по высоте правой панели — иначе колонки
   расходятся и страница выглядит кривой */
html.lmx-noirbar .noirGame__coverCol > .noirGame__cover{
  flex:1 1 auto;
  display:flex;
}
html.lmx-noirbar .noirGame__cover{ overflow:hidden; }
html.lmx-noirbar .noirGame__vid{
  display:block;
  width:100%;
  max-height:62vh;
  border-radius:7px;
  background:#000;
}
html.lmx-noirbar .noirGame__trailer{
  position:absolute;
  left:22px;
  bottom:22px;
  z-index:2;
  display:flex;
  align-items:center;
  gap:8px;
  padding:9px 15px;
  border:1px solid rgba(242,196,0,.5);
  border-radius:8px;
  background:rgba(8,7,6,.8);
  color:var(--yellow);
  font-family:var(--noir-display);
  font-weight:700;
  font-size:11.5px;
  letter-spacing:.12em;
  cursor:pointer;
  backdrop-filter:blur(3px);
}
html.lmx-noirbar .noirGame__trailer:hover{ background:rgba(242,196,0,.16); }
html.lmx-noirbar .noirGame__trailer span{ font-size:10px; }
html.lmx-noirbar .noirGame__trailer.is-soon{
  border-color:rgba(240,232,210,.2);
  color:rgba(240,232,210,.45);
  cursor:default;
}
html.lmx-noirbar .noirGame__shots{
  display:grid;
  grid-template-columns:repeat(4, minmax(0,1fr));
  gap:12px;
}
html.lmx-noirbar .noirGame__shot{
  padding:0;
  border:1px solid rgba(240,232,210,.14);
  border-radius:8px;
  background:#0b0a09;
  overflow:hidden;
  cursor:pointer;
  aspect-ratio:16/10;
}
html.lmx-noirbar .noirGame__shot img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
html.lmx-noirbar .noirGame__shot:hover{ border-color:rgba(242,196,0,.55); }
html.lmx-noirbar .noirGame__shot.is-on{ border-color:var(--yellow); }

/* ---------- окошко «Доступные чаты» ---------- */
html.lmx-noirbar .noirGame__boxes.has-chats{
  grid-template-columns:repeat(3, minmax(0,1fr)) minmax(280px, 1.15fr);
}
html.lmx-noirbar .noirGame__box--chats{
  display:flex;
  flex-direction:column;
}
html.lmx-noirbar .noirGame__chats{
  display:flex;
  flex-direction:column;
  gap:8px;
  margin-bottom:14px;
}
/* Блок «Доступные чаты» не должен растягивать весь нижний ряд:
   фиксируем высоту, длинный список скроллится внутри. */
html.lmx-noirbar .noirGame__bottom.has-chats .noirGame__box--chats{
  display:flex;
  flex-direction:column;
  max-height:340px;
}
html.lmx-noirbar .noirGame__bottom.has-chats .noirGame__box--chats .noirGame__chats{
  flex:1 1 auto;
  min-height:0;
  overflow-y:auto;
  padding-right:4px;
  scrollbar-width:thin;
  scrollbar-color:rgba(242,196,0,.35) transparent;
}
html.lmx-noirbar .noirGame__chat--locked{ opacity:.55; }
html.lmx-noirbar .noirGame__chat{
  display:flex;
  align-items:center;
  gap:11px;
  padding:10px 12px;
  border:1px solid rgba(240,232,210,.1);
  border-radius:9px;
  background:rgba(0,0,0,.4);
}
html.lmx-noirbar .noirGame__chatAva{
  flex:0 0 auto;
  display:flex;
  align-items:center;
  justify-content:center;
  width:38px;
  height:38px;
  border-radius:50%;
  overflow:hidden;
  background:rgba(240,232,210,.08);
  font-size:17px;
  font-style:normal;
}
html.lmx-noirbar .noirGame__chatAva img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
html.lmx-noirbar .noirGame__chatTxt{
  display:flex;
  flex-direction:column;
  gap:2px;
  min-width:0;
}
html.lmx-noirbar .noirGame__chatTxt b{
  font-size:13.5px;
  font-weight:700;
  color:#f5f1e6;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
html.lmx-noirbar .noirGame__chatTxt i{
  font-style:normal;
  font-size:11.5px;
  color:rgba(240,232,210,.42);
}
html.lmx-noirbar .noirGame__chatsBtn{
  margin-top:auto;
  padding:12px 14px;
  border:1px solid rgba(242,196,0,.45);
  border-radius:9px;
  background:rgba(0,0,0,.4);
  color:var(--yellow);
  font-family:var(--noir-display);
  font-weight:700;
  font-size:12px;
  letter-spacing:.1em;
  cursor:pointer;
}
html.lmx-noirbar .noirGame__chatsBtn:hover{ border-color:var(--yellow); }

/* ---------- нижний ряд действий ---------- */
html.lmx-noirbar .noirGame__actions{
  display:flex;
  align-items:stretch;
  gap:14px;
}
html.lmx-noirbar .noirGame__actions .noirGame__cta{
  flex:1 1 auto;
  margin-top:0;
}
html.lmx-noirbar .noirGame__fav{
  flex:0 0 auto;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  padding:15px 26px;
  border:1px solid rgba(240,232,210,.22);
  border-radius:9px;
  background:rgba(0,0,0,.4);
  color:rgba(240,232,210,.75);
  font-family:var(--noir-display);
  font-weight:700;
  font-size:12.5px;
  letter-spacing:.1em;
  cursor:pointer;
}
html.lmx-noirbar .noirGame__fav svg{ width:17px; height:17px; }
html.lmx-noirbar .noirGame__fav.is-soon{ color:rgba(240,232,210,.45); cursor:default; }
html.lmx-noirbar .noirGame__fav:hover{ border-color:rgba(242,196,0,.45); }

@media (max-width:1400px){
  html.lmx-noirbar .noirGame__bottom.has-chats{
    grid-template-columns:repeat(2, minmax(0,1fr));
    grid-template-rows:auto auto auto;
  }
  html.lmx-noirbar .noirGame__bottom.has-chats .noirGame__box--chats{
    grid-column:2;
    grid-row:2;
  }
  html.lmx-noirbar .noirGame__bottom.has-chats .noirGame__actions{
    grid-column:1 / -1;
    grid-row:3;
  }
  html.lmx-noirbar .noirGame__grid{ gap:16px; }
  html.lmx-noirbar .noirGame__title{ font-size:28px; }
  html.lmx-noirbar .noirGame__panel{ padding:22px 22px 20px; }
}

/* ---------- нижние окошки анонса ---------- */
/* Низ страницы как на референсе: три окошка в ряд, под ними
   кнопки, а «ДОСТУПНЫЕ ЧАТЫ» — колонка справа во всю высоту. */
html.lmx-noirbar .noirGame__bottom{
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(260px, 1fr));
  gap:16px;
}
html.lmx-noirbar .noirGame__bottom.has-chats{
  grid-template-columns:repeat(3, minmax(0,1fr)) minmax(280px, 1.12fr);
  grid-template-rows:auto;
}
/* ряд кнопок теперь отдельным блоком под окошками */
html.lmx-noirbar .noirGame__actions{ margin-top:2px; }
html.lmx-noirbar .noirGame__box{
  position:relative;
  padding:20px 22px 20px;
  border-radius:11px;
  background:url("assets/noir_card.webp") no-repeat center;
  background-size:100% 100%;
  box-shadow:0 10px 26px rgba(0,0,0,.45);
}
html.lmx-noirbar .noirGame__box::after{
  content:"";
  position:absolute;
  inset:0;
  border-radius:11px;
  border:1px solid rgba(242,196,0,.22);
  pointer-events:none;
}
html.lmx-noirbar .noirGame__boxHead{
  display:flex;
  align-items:center;
  gap:10px;
  margin-bottom:12px;
  font-family:var(--noir-display);
  font-weight:700;
  font-size:14px;
  letter-spacing:.12em;
  color:#f5f1e6;
}
html.lmx-noirbar .noirGame__boxIco{
  width:20px;
  height:20px;
  flex:0 0 auto;
  color:var(--yellow);
}
html.lmx-noirbar .noirGame__boxText{
  font-size:13px;
  line-height:1.6;
  color:rgba(240,232,210,.6);
}
html.lmx-noirbar .noirGame__boxText p{ margin:0 0 9px; }
html.lmx-noirbar .noirGame__boxText p:last-child{ margin-bottom:0; }
html.lmx-noirbar .noirGame__bullets{
  margin:0;
  padding:0;
  list-style:none;
  display:flex;
  flex-direction:column;
  gap:7px;
}
html.lmx-noirbar .noirGame__bullets li{
  position:relative;
  padding-left:16px;
  font-size:13px;
  line-height:1.5;
  color:rgba(240,232,210,.62);
}
html.lmx-noirbar .noirGame__bullets li::before{
  content:"";
  position:absolute;
  left:0;
  top:8px;
  width:5px;
  height:5px;
  border-radius:50%;
  background:rgba(242,196,0,.75);
}

/* ---------- играбельные страницы игр (перенос живых узлов) ---------- */
html.lmx-noirbar .noirGame--dom .noirGame__panel{
  display:flex;
  flex-direction:column;
  gap:12px;
}
html.lmx-noirbar .noirGame__crumbLine{
  display:flex;
  align-items:center;
  gap:10px;
  margin:0 !important;
  font-size:12.5px;
  letter-spacing:.06em;
  color:rgba(240,232,210,.5);
}
html.lmx-noirbar .noirGame__crumbLine .titleCenter,
html.lmx-noirbar .noirGame__crumbLine .caseLine{
  margin:0 !important;
  text-align:left !important;
}
html.lmx-noirbar .noirGame__domBlock{
  margin:0 !important;
}
/* заголовок игры внутри перенесённого блока */
html.lmx-noirbar .noirGame--dom .h1,
html.lmx-noirbar .noirGame--dom h2{
  margin:0 !important;
  font-family:var(--noir-display);
  font-weight:700;
  font-size:32px !important;
  line-height:1.08;
  letter-spacing:.04em;
  color:#f5f1e6;
}
html.lmx-noirbar .noirGame--dom .h1::after{ display:none !important; }
/* ряды чипов приводим к виду анонса */
html.lmx-noirbar .noirGame--dom .caseCard__meta,
html.lmx-noirbar .noirGame--dom .row.wrap,
html.lmx-noirbar .noirGame--dom .tags{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  align-items:center;
}
html.lmx-noirbar .noirGame--dom .caseCard__meta > *{
  padding:6px 12px;
  border:1px solid rgba(240,232,210,.16);
  border-radius:7px;
  background:rgba(0,0,0,.4);
  font-size:11.5px;
  letter-spacing:.04em;
  color:rgba(240,232,210,.7);
  white-space:nowrap;
}
html.lmx-noirbar .noirGame--dom .notice{
  margin:0 !important;
  padding:14px 18px !important;
  border:1px solid rgba(240,232,210,.14) !important;
  border-radius:10px !important;
  background:rgba(0,0,0,.42) !important;
  font-size:13px;
  line-height:1.6;
  color:rgba(240,232,210,.62);
}
html.lmx-noirbar .noirGame--dom .card{
  margin:0 !important;
  border-radius:10px !important;
}
html.lmx-noirbar .noirGame--dom .noirGame__cover{ min-height:0; }

/* ---------- карточки дел на странице «Дела» (в т.ч. нераскрытые) ---------- */
html.lmx-noirbar #casesRoot .lmxCards{
  display:grid;
  grid-template-columns:repeat(3, minmax(0,1fr));
  gap:14px;
}
/* Настоящая причина растянутой третьей карточки: в wide_mode.css
   есть «featured»-разворот последней НЕЧЁТНОЙ карточки серии —
   `.lmxCards > .caseCard:last-child:nth-child(odd){grid-column:1/-1}`.
   При трёх нераскрытых делах третья попадала под это правило и
   ложилась на всю ширину. Для дашборда такое отключение уже есть,
   добавляем его и для страницы «Дела». */
html.lmx-noirbar #casesRoot .lmxCards > .caseCard:last-child:nth-child(odd){
  grid-column:auto;
  flex-direction:column;
  align-items:stretch;
  gap:0;
}
html.lmx-noirbar #casesRoot .lmxCards > .caseCard:last-child:nth-child(odd) .caseCard__thumb,
html.lmx-noirbar #casesRoot .lmxCards > .caseCard:last-child:nth-child(odd) .polaroid{
  width:100% !important;
  height:158px !important;
  flex-shrink:0;
}
html.lmx-noirbar #casesRoot .caseCard{
  display:flex !important;
  flex-direction:column;
  align-items:stretch;
  gap:0;
  padding:12px 12px 14px !important;
  border:1px solid rgba(240,232,210,.14) !important;
  border-radius:11px;
  overflow:hidden;
  background-image:
    var(--noir-grain),
    linear-gradient(180deg, rgba(18,16,13,.8), rgba(10,9,8,.85)) !important;
  box-shadow:0 12px 26px rgba(0,0,0,.42);
  cursor:pointer;
}
html.lmx-noirbar #casesRoot .caseCard:hover{
  border-color:rgba(242,196,0,.5) !important;
}
/* белая рамка «полароида» и жёлтый уголок здесь не нужны */
html.lmx-noirbar #casesRoot .caseCard__thumb{
  width:100% !important;
  height:158px !important;
  border:0 !important;
  border-radius:8px;
  overflow:hidden;
  box-shadow:none !important;
  transform:none !important;
  margin:0 0 11px !important;
  flex:0 0 auto;
}
html.lmx-noirbar #casesRoot .caseCard__thumb::before,
html.lmx-noirbar #casesRoot .caseCard__thumb::after{ display:none !important; }
html.lmx-noirbar #casesRoot .caseCard__thumb img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
html.lmx-noirbar #casesRoot .caseCard__body{ padding:0 !important; }
html.lmx-noirbar #casesRoot .caseCard__title{
  font-family:var(--noir-display);
  font-weight:700;
  font-size:14px;
  letter-spacing:.03em;
  line-height:1.25;
  color:#f5f1e6;
  margin-bottom:9px;
}
html.lmx-noirbar #casesRoot .caseCard__meta{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  align-items:center;
}
html.lmx-noirbar #casesRoot .caseCard__meta > *{
  padding:4px 9px;
  border:1px solid rgba(240,232,210,.16);
  border-radius:5px;
  background:rgba(0,0,0,.32);
  font-size:10px;
  letter-spacing:.04em;
  color:rgba(240,232,210,.6);
  white-space:nowrap;
}

/* ============================================================
   v63: окошки на «Спецделах» — на той же арт-подложке, что и
   окошки страниц игр (assets/noir_card.webp). Раньше это были
   чистые градиенты с тонкой рамкой — на фоне остальных экранов
   выглядело «вылизанно».
   Рамку рисуем псевдоэлементом: у самих блоков border снят,
   иначе поверх арта получалась двойная кромка.
   ============================================================ */
html.lmx-noirbar .noirSpec__dossier,
html.lmx-noirbar .noirSpec__join,
html.lmx-noirbar .noirSpec__card,
html.lmx-noirbar .noirCases__info{
  position:relative;
  border:0 !important;
  background-image:none;
  background:url("assets/noir_card.webp") no-repeat center;
  background-size:100% 100%;
}
html.lmx-noirbar .noirSpec__dossier::after,
html.lmx-noirbar .noirSpec__join::after,
html.lmx-noirbar .noirSpec__card::after,
html.lmx-noirbar .noirCases__info::after{
  content:"";
  position:absolute;
  inset:0;
  border-radius:inherit;
  border:1px solid rgba(242,196,0,.28);
  pointer-events:none;
}
/* «Здесь может быть твоя точка» остаётся пунктирным */
html.lmx-noirbar .noirSpec__join::after{
  border-style:dashed;
  border-color:rgba(242,196,0,.5);
}
html.lmx-noirbar .noirCases__info::after{ border-color:rgba(240,232,210,.16); }

/* активная и наведённая карточка точки */
html.lmx-noirbar .noirSpec__card{ transition:filter .15s, transform .15s; }
html.lmx-noirbar .noirSpec__card:hover{ filter:brightness(1.16); }
html.lmx-noirbar .noirSpec__card:hover::after{ border-color:rgba(242,196,0,.5); }
html.lmx-noirbar .noirSpec__card.is-on{
  filter:brightness(1.22);
  box-shadow:0 12px 26px rgba(0,0,0,.5), 0 0 22px rgba(242,196,0,.08);
}
html.lmx-noirbar .noirSpec__card.is-on::after{
  border-color:rgba(242,196,0,.7);
  box-shadow:inset 0 0 22px rgba(242,196,0,.1);
}
/* карта — тот же арт в рамке вокруг полотна */
html.lmx-noirbar .noirSpec__map{
  border:0;
  padding:8px;
  background:url("assets/noir_card.webp") no-repeat center;
  background-size:100% 100%;
  border-radius:12px;
}
html.lmx-noirbar .noirSpec__map .leaflet-container,
html.lmx-noirbar .noirSpec__map > div{
  border-radius:8px;
}

/* ============================================================
   v64: карточки в каталоге дел — на арт-подложке, как окошки
   на страницах игр и в спецделах. Касается всех вкладок
   («Расследования», «Мессенджеры», «Квизы», «Нераскрытые»):
   карточки везде одни и те же .caseCard внутри #casesRoot.
   Рамку даёт ::after — у самой карточки border снят, иначе
   поверх арта шла двойная кромка. У wide_mode на .caseCard::after
   свой уголок-скрепка, здесь он не нужен.
   ============================================================ */
html.lmx-noirbar #casesRoot .caseCard,
html.lmx-noirbar .noirCases__cards .caseCard{
  position:relative;
  border:0 !important;
  background-image:none !important;
  background:url("assets/noir_card.webp") no-repeat center !important;
  background-size:100% 100% !important;
  transition:filter .15s, transform .15s;
}
html.lmx-noirbar #casesRoot .caseCard::after,
html.lmx-noirbar .noirCases__cards .caseCard::after{
  content:"" !important;
  display:block !important;
  position:absolute;
  inset:0;
  right:auto;
  top:auto;
  width:auto;
  height:auto;
  transform:none;
  opacity:1;
  border-radius:11px;
  border:1px solid rgba(242,196,0,.24);
  background:none;
  pointer-events:none;
}
html.lmx-noirbar #casesRoot .caseCard:hover,
html.lmx-noirbar .noirCases__cards .caseCard:hover{
  filter:brightness(1.16);
  transform:translateY(-2px);
}
html.lmx-noirbar #casesRoot .caseCard:hover::after,
html.lmx-noirbar .noirCases__cards .caseCard:hover::after{
  border-color:rgba(242,196,0,.55);
}

/* ============================================================
   v65: СТРАНИЦА «НОВОСТИ» (#news).
   Собирается noir_shell.js (v47): крупная карточка последней
   новости, фильтры по типу, сетка 2 колонки, пагинация.
   Родная лента app.js скрыта классом .noirNewsSrcHidden.
   ============================================================ */

html.lmx-noirbar .noirNewsSrcHidden{ display:none !important; }

html.lmx-noirbar .noirNews{
  display:flex;
  flex-direction:column;
  gap:16px;
}
html.lmx-noirbar .noirNews .noirNews__h1{
  display:flex;
  align-items:center;
  gap:16px;
  font-family:var(--noir-display);
  font-weight:700;
  font-size:34px;
  line-height:1;
  letter-spacing:.07em;
  color:#f5f1e6;
  margin:0;
  -webkit-mask-image:var(--noir-wear);
  mask-image:var(--noir-wear);
  -webkit-mask-size:110px 110px;
  mask-size:110px 110px;
}
html.lmx-noirbar .noirNews .noirNews__h1::after{
  content:"";
  display:block;
  flex:1 1 auto;
  height:1px;
  border-top:1px dashed rgba(242,196,0,.45);
}

/* ---------- крупная карточка ---------- */
html.lmx-noirbar .noirNews__hero{
  position:relative;
  border-radius:11px;
  overflow:hidden;
  background:url("assets/noir_card.webp") no-repeat center;
  background-size:100% 100%;
  box-shadow:0 14px 30px rgba(0,0,0,.5);
  cursor:pointer;
  transition:filter .15s;
}
html.lmx-noirbar .noirNews__hero:hover{ filter:brightness(1.14); }
html.lmx-noirbar .noirNews__hero::after{
  content:"";
  position:absolute;
  inset:0;
  border-radius:11px;
  border:1px solid rgba(242,196,0,.28);
  pointer-events:none;
}
html.lmx-noirbar .noirNews__heroPic{
  position:relative;
  height:240px;
  margin:10px 10px 0;
  border-radius:8px;
  overflow:hidden;
}
html.lmx-noirbar .noirNews__heroPic img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
html.lmx-noirbar .noirNews__heroTag{
  position:absolute;
  top:12px;
  left:12px;
  padding:5px 12px;
  border-radius:5px;
  background:var(--yellow);
  color:#0b0a09;
  font-family:var(--noir-display);
  font-weight:700;
  font-size:10.5px;
  letter-spacing:.12em;
}
html.lmx-noirbar .noirNews__heroBody{ padding:16px 22px 20px; }
html.lmx-noirbar .noirNews__meta{
  font-size:11px;
  letter-spacing:.08em;
  color:rgba(240,232,210,.4);
}
html.lmx-noirbar .noirNews__heroTitle{
  margin:6px 0 6px;
  font-family:var(--noir-display);
  font-weight:700;
  font-size:24px;
  letter-spacing:.02em;
  color:#f5f1e6;
}
html.lmx-noirbar .noirNews__heroText{
  font-size:13.5px;
  line-height:1.6;
  color:rgba(240,232,210,.6);
  margin-bottom:12px;
}
html.lmx-noirbar .noirNews__open{
  display:inline-block;
  padding:10px 18px;
  border:1px solid rgba(242,196,0,.45);
  border-radius:8px;
  background:rgba(0,0,0,.4);
  color:var(--yellow);
  font-family:var(--noir-display);
  font-weight:700;
  font-size:12px;
  letter-spacing:.08em;
}
html.lmx-noirbar .noirNews__hero:hover .noirNews__open{ border-color:var(--yellow); }

/* ---------- фильтры ---------- */
html.lmx-noirbar .noirNews__chips{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}
html.lmx-noirbar .noirNews__chip{
  padding:9px 18px;
  border:1px solid rgba(240,232,210,.16);
  border-radius:8px;
  background:rgba(0,0,0,.4);
  color:rgba(240,232,210,.6);
  font-family:var(--noir-display);
  font-weight:700;
  font-size:11.5px;
  letter-spacing:.1em;
  cursor:pointer;
  transition:border-color .15s, color .15s;
}
html.lmx-noirbar .noirNews__chip:hover{ border-color:rgba(242,196,0,.45); color:rgba(242,196,0,.85); }
html.lmx-noirbar .noirNews__chip.is-on{
  border-color:var(--yellow);
  color:var(--yellow);
  background:rgba(242,196,0,.07);
}

/* ---------- сетка ---------- */
html.lmx-noirbar .noirNews__grid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0,1fr));
  gap:14px;
}
html.lmx-noirbar .noirNews__card{
  position:relative;
  display:grid;
  grid-template-columns:210px minmax(0,1fr) 26px;
  align-items:center;
  gap:16px;
  padding:12px;
  border-radius:11px;
  background:url("assets/noir_card.webp") no-repeat center;
  background-size:100% 100%;
  box-shadow:0 10px 24px rgba(0,0,0,.45);
  cursor:pointer;
  transition:filter .15s, transform .15s;
}
html.lmx-noirbar .noirNews__card::after{
  content:"";
  position:absolute;
  inset:0;
  border-radius:11px;
  border:1px solid rgba(242,196,0,.22);
  pointer-events:none;
}
html.lmx-noirbar .noirNews__card:hover{ filter:brightness(1.16); transform:translateY(-2px); }
html.lmx-noirbar .noirNews__card:hover::after{ border-color:rgba(242,196,0,.55); }
html.lmx-noirbar .noirNews__pic{
  height:126px;
  border-radius:8px;
  overflow:hidden;
  background:#0b0a09;
}
html.lmx-noirbar .noirNews__pic img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
html.lmx-noirbar .noirNews__body{ min-width:0; }
html.lmx-noirbar .noirNews__row{
  display:flex;
  align-items:center;
  gap:10px;
  margin-bottom:7px;
}
html.lmx-noirbar .noirNews__tag{
  padding:4px 10px;
  border-radius:5px;
  background:rgba(242,196,0,.14);
  border:1px solid rgba(242,196,0,.4);
  color:var(--yellow);
  font-family:var(--noir-display);
  font-weight:700;
  font-size:9.5px;
  letter-spacing:.1em;
  white-space:nowrap;
}
html.lmx-noirbar .noirNews__date{
  font-size:11.5px;
  color:rgba(240,232,210,.4);
  white-space:nowrap;
}
html.lmx-noirbar .noirNews__title{
  font-family:var(--noir-display);
  font-weight:700;
  font-size:16px;
  line-height:1.25;
  color:#f5f1e6;
  margin-bottom:5px;
}
html.lmx-noirbar .noirNews__text{
  font-size:12.5px;
  line-height:1.55;
  color:rgba(240,232,210,.5);
}
html.lmx-noirbar .noirNews__arrow{
  align-self:center;
  color:rgba(242,196,0,.75);
  font-size:18px;
}
html.lmx-noirbar .noirNews__empty{
  padding:40px;
  text-align:center;
  border:1px dashed rgba(240,232,210,.16);
  border-radius:11px;
  color:rgba(240,232,210,.4);
  font-size:13px;
}

/* ---------- пагинация ---------- */
html.lmx-noirbar .noirNews__pager{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  margin-top:4px;
}
html.lmx-noirbar .noirNews__pg{
  min-width:36px;
  height:36px;
  padding:0 10px;
  border:1px solid rgba(240,232,210,.16);
  border-radius:8px;
  background:rgba(0,0,0,.4);
  color:rgba(240,232,210,.6);
  font-family:var(--noir-display);
  font-weight:700;
  font-size:13px;
  cursor:pointer;
}
html.lmx-noirbar .noirNews__pg:hover:not(:disabled){ border-color:rgba(242,196,0,.5); color:var(--yellow); }
html.lmx-noirbar .noirNews__pg.is-on{
  border-color:var(--yellow);
  background:rgba(242,196,0,.12);
  color:var(--yellow);
}
html.lmx-noirbar .noirNews__pg:disabled{ opacity:.35; cursor:default; }
html.lmx-noirbar .noirNews__dots{ color:rgba(240,232,210,.35); padding:0 2px; }

@media (max-width:1400px){
  html.lmx-noirbar .noirNews__card{ grid-template-columns:160px minmax(0,1fr) 22px; gap:12px; }
  html.lmx-noirbar .noirNews__pic{ height:104px; }
  html.lmx-noirbar .noirNews .noirNews__h1{ font-size:29px; }
}

/* ============================================================
   v66: «БАЗА ЗНАНИЙ» (#kb) — витрина.
   Собирается noir_shell.js (v48): поиск, вкладки-фильтры, крупная
   карточка «Рекомендуем», сетка разделов и правая колонка.
   Родной список app.js скрыт классом .noirKbSrcHidden, но остаётся
   в DOM — по клику по карточке кликается его строка.
   ============================================================ */

html.lmx-noirbar .noirKbSrcHidden{ display:none !important; }

html.lmx-noirbar .noirKb{ display:flex; flex-direction:column; gap:16px; }
html.lmx-noirbar .noirKb .noirKb__h1{
  display:flex; align-items:center; gap:16px;
  font-family:var(--noir-display); font-weight:700; font-size:34px;
  line-height:1; letter-spacing:.07em; color:#f5f1e6; margin:0;
  -webkit-mask-image:var(--noir-wear); mask-image:var(--noir-wear);
  -webkit-mask-size:110px 110px; mask-size:110px 110px;
}
html.lmx-noirbar .noirKb .noirKb__h1::after{
  content:""; display:block; flex:1 1 auto; height:1px;
  border-top:1px dashed rgba(242,196,0,.45);
}
html.lmx-noirbar .noirKb__grid{
  display:grid; grid-template-columns:minmax(0,1fr) 320px; gap:18px; align-items:start;
}
html.lmx-noirbar .noirKb__main{ display:flex; flex-direction:column; gap:14px; }

/* поиск */
html.lmx-noirbar .noirKb__search{ position:relative; }
html.lmx-noirbar .noirKb__input{
  width:100%; box-sizing:border-box; padding:15px 46px 15px 18px;
  border:1px solid rgba(240,232,210,.16); border-radius:10px;
  background:rgba(0,0,0,.45); color:#f5f1e6; font-size:14px; font-family:inherit;
}
html.lmx-noirbar .noirKb__input:focus{ outline:none; border-color:rgba(242,196,0,.55); }
html.lmx-noirbar .noirKb__loupe{
  position:absolute; right:16px; top:50%; transform:translateY(-50%);
  color:rgba(240,232,210,.4); pointer-events:none;
}
/* вкладки-фильтры */
html.lmx-noirbar .noirKb__chips{ display:flex; flex-wrap:wrap; gap:9px; }
html.lmx-noirbar .noirKb__chip{
  padding:9px 16px; border:1px solid rgba(240,232,210,.16); border-radius:8px;
  background:rgba(0,0,0,.4); color:rgba(240,232,210,.6);
  font-family:var(--noir-display); font-weight:700; font-size:11.5px;
  letter-spacing:.08em; cursor:pointer;
}
html.lmx-noirbar .noirKb__chip:hover{ border-color:rgba(242,196,0,.45); color:rgba(242,196,0,.85); }
html.lmx-noirbar .noirKb__chip.is-on{
  border-color:var(--yellow); color:var(--yellow); background:rgba(242,196,0,.07);
}

/* крупная карточка */
html.lmx-noirbar .noirKb__hero{
  position:relative; display:grid; grid-template-columns:96px minmax(0,1fr) auto;
  align-items:center; gap:20px; padding:22px 24px; border-radius:11px;
  background:url("assets/noir_card.webp") no-repeat center; background-size:100% 100%;
  box-shadow:0 12px 28px rgba(0,0,0,.5); cursor:pointer; transition:filter .15s;
}
html.lmx-noirbar .noirKb__hero::after{
  content:""; position:absolute; inset:0; border-radius:11px;
  border:1px solid rgba(242,196,0,.3); pointer-events:none;
}
html.lmx-noirbar .noirKb__hero:hover{ filter:brightness(1.14); }

html.lmx-noirbar .noirKb__tag{
  display:inline-block; margin-bottom:8px; padding:4px 10px; border-radius:5px;
  background:rgba(242,196,0,.16); border:1px solid rgba(242,196,0,.45);
  color:var(--yellow); font-family:var(--noir-display); font-weight:700;
  font-size:9.5px; letter-spacing:.14em;
}
html.lmx-noirbar .noirKb__heroTitle{
  font-family:var(--noir-display); font-weight:700; font-size:24px;
  letter-spacing:.05em; color:#f5f1e6; margin-bottom:6px;
}
html.lmx-noirbar .noirKb__heroDesc{
  font-size:13px; line-height:1.6; color:rgba(240,232,210,.6); margin-bottom:10px;
}
html.lmx-noirbar .noirKb__heroBtn{
  padding:13px 26px; border:1px solid rgba(242,196,0,.5); border-radius:9px;
  background:rgba(0,0,0,.4); color:var(--yellow);
  font-family:var(--noir-display); font-weight:700; font-size:12px; letter-spacing:.1em;
  white-space:nowrap;
}

/* сетка разделов */
html.lmx-noirbar .noirKb__cards{
  display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:14px;
}
/* иконка слева, текст справа — как в референсе */
html.lmx-noirbar .noirKb__card{
  position:relative; display:grid; grid-template-columns:auto minmax(0,1fr);
  align-items:stretch; gap:16px;
  padding:18px 18px 16px; border-radius:11px;
  background:url("assets/noir_card.webp") no-repeat center; background-size:100% 100%;
  box-shadow:0 10px 24px rgba(0,0,0,.45); cursor:pointer;
  transition:filter .15s, transform .15s;
}
html.lmx-noirbar .noirKb__card::after{
  content:""; position:absolute; inset:0; border-radius:11px;
  border:1px solid rgba(242,196,0,.22); pointer-events:none;
}
html.lmx-noirbar .noirKb__card:hover{ filter:brightness(1.16); transform:translateY(-2px); }
html.lmx-noirbar .noirKb__card:hover::after{ border-color:rgba(242,196,0,.55); }
html.lmx-noirbar .noirKb__ico{
  display:flex; align-items:center; justify-content:center; align-self:flex-start;
  width:46px; height:46px; flex:0 0 auto;
  border:1px solid rgba(242,196,0,.35); border-radius:10px;
  background:rgba(242,196,0,.06); color:var(--yellow); font-size:24px; line-height:1;
}
html.lmx-noirbar .noirKb__ico svg{ width:26px; height:26px; }
/* в карточке статьи в квадрате лежит её обложка (в админке —
   поле «Обложка»), а если её нет — порядковый номер */
html.lmx-noirbar .noirKb__ico img{
  width:100%; height:100%; object-fit:contain; display:block;
}
html.lmx-noirbar .noirKb__num{
  font-family:var(--noir-display); font-weight:700; font-size:19px; color:var(--yellow);
}
html.lmx-noirbar .noirKb__ico--big{
  width:78px; height:78px; border-radius:14px; font-size:38px;
}
html.lmx-noirbar .noirKb__ico--big svg{ width:42px; height:42px; }
/* картинка-иконка раздела, загруженная в админке: рисунок уже сам по себе
   иконка с рамкой, поэтому никакой подложки, обводки и теней — только картинка */
html.lmx-noirbar .noirKb__ico--img{
  width:54px; height:54px; padding:0;
  border:0; border-radius:0; background:none; box-shadow:none;
}
html.lmx-noirbar .noirKb__ico--img img{
  width:100%; height:100%; object-fit:contain; display:block; filter:none;
}
html.lmx-noirbar .noirKb__ico--img.noirKb__ico--big{
  width:88px; height:88px; padding:0;
  border:0; border-radius:0; background:none;
}
html.lmx-noirbar .noirKb__title{
  font-family:var(--noir-display); font-weight:700; font-size:15px;
  line-height:1.25; letter-spacing:.05em; color:#f5f1e6;
}
html.lmx-noirbar .noirKb__desc{
  font-size:12.5px; line-height:1.55; color:rgba(240,232,210,.5);
}
html.lmx-noirbar .noirKb__body{
  display:flex; flex-direction:column; gap:7px; min-width:0;
}
/* счётчики держим одной строкой, как в референсе */
html.lmx-noirbar .noirKb__metaRow{
  display:flex; flex-wrap:wrap; gap:8px 14px; margin-top:auto; padding-top:6px;
}
html.lmx-noirbar .noirKb__meta{
  display:inline-flex; align-items:center; gap:6px; white-space:nowrap;
  font-size:11.5px; color:rgba(240,232,210,.4);
}
html.lmx-noirbar .noirKb__meta i{ font-style:normal; color:rgba(242,196,0,.6); }
html.lmx-noirbar .noirKb__empty{
  padding:36px; text-align:center; border:1px dashed rgba(240,232,210,.16);
  border-radius:11px; color:rgba(240,232,210,.4); font-size:13px;
}

/* правая колонка */
html.lmx-noirbar .noirKb__side{ display:flex; flex-direction:column; gap:14px; }
html.lmx-noirbar .noirKb__rail{
  position:relative; padding:18px 18px 16px; border-radius:11px;
  background:url("assets/noir_card.webp") no-repeat center; background-size:100% 100%;
  box-shadow:0 10px 24px rgba(0,0,0,.45);
}
html.lmx-noirbar .noirKb__rail::after{
  content:""; position:absolute; inset:0; border-radius:11px;
  border:1px solid rgba(242,196,0,.22); pointer-events:none;
}
html.lmx-noirbar .noirKb__railHead{
  display:flex; align-items:center; gap:9px; margin-bottom:12px;
  font-family:var(--noir-display); font-weight:700; font-size:12.5px;
  letter-spacing:.12em; color:#f5f1e6;
}
html.lmx-noirbar .noirKb__railHead i{ font-style:normal; color:var(--yellow); font-size:15px; }
html.lmx-noirbar .noirKb__pop{
  display:flex; align-items:flex-start; gap:11px; padding:9px 0;
  border-bottom:1px solid rgba(240,232,210,.07); cursor:pointer;
}
html.lmx-noirbar .noirKb__pop:last-child{ border-bottom:0; }
html.lmx-noirbar .noirKb__pop b{
  font-family:var(--noir-display); font-weight:700; font-size:13px;
  color:var(--yellow); min-width:14px;
}
html.lmx-noirbar .noirKb__pop span{ font-size:13px; line-height:1.4; color:rgba(240,232,210,.7); }
html.lmx-noirbar .noirKb__pop:hover span{ color:#f5f1e6; }
html.lmx-noirbar .noirKb__rail--help::after{ border-color:rgba(242,196,0,.4); }
html.lmx-noirbar .noirKb__helpTitle{
  font-family:var(--noir-display); font-weight:700; font-size:14px;
  letter-spacing:.08em; color:#f5f1e6; margin-bottom:6px;
}
html.lmx-noirbar .noirKb__helpText{
  font-size:12.5px; line-height:1.5; color:rgba(240,232,210,.5); margin-bottom:14px;
}
html.lmx-noirbar .noirKb__helpBtn{
  width:100%; padding:13px; border:0; border-radius:9px;
  background:linear-gradient(180deg,#eec21a 0%,#d9a900 100%); color:#171308;
  font-family:var(--noir-display); font-weight:700; font-size:12px;
  letter-spacing:.09em; cursor:pointer;
}
html.lmx-noirbar .noirKb__helpBtn:hover{ filter:brightness(1.08); }

@media (max-width:1400px){
  html.lmx-noirbar .noirKb__grid{ grid-template-columns:minmax(0,1fr) 280px; }
  html.lmx-noirbar .noirKb__cards{ grid-template-columns:repeat(2, minmax(0,1fr)); }
  html.lmx-noirbar .noirKb .noirKb__h1{ font-size:29px; }
}

/* ---------- база знаний: раздел и статья ---------- */
html.lmx-noirbar .noirKb__crumbs{
  display:flex; align-items:center; gap:12px;
  font-size:13px; color:rgba(240,232,210,.45);
}
html.lmx-noirbar .noirKb__back{
  display:flex; align-items:center; justify-content:center;
  width:40px; height:40px; padding:0;
  border:1px solid rgba(240,232,210,.16); border-radius:9px;
  background:rgba(0,0,0,.4); color:rgba(240,232,210,.7); cursor:pointer;
}
html.lmx-noirbar .noirKb__back:hover{ border-color:rgba(242,196,0,.6); color:var(--yellow); }
html.lmx-noirbar .noirKb__back svg{ width:18px; height:18px; }
html.lmx-noirbar .noirKb__crumb{ color:var(--yellow); cursor:pointer; }
html.lmx-noirbar .noirKb__crumb:hover{ text-decoration:underline; }
html.lmx-noirbar .noirKb__sep{ color:rgba(240,232,210,.25); }
html.lmx-noirbar .noirKb__crumbCur{ color:#f5f1e6; }

html.lmx-noirbar .noirKb__secHead{
  display:flex; align-items:center; gap:18px; padding:20px 22px; border-radius:11px;
  background:url("assets/noir_card.webp") no-repeat center; background-size:100% 100%;
  box-shadow:0 12px 28px rgba(0,0,0,.5); position:relative;
}
html.lmx-noirbar .noirKb__secHead::after{
  content:""; position:absolute; inset:0; border-radius:11px;
  border:1px solid rgba(242,196,0,.28); pointer-events:none;
}
html.lmx-noirbar .noirKb__secTitle{
  font-family:var(--noir-display); font-weight:700; font-size:26px;
  letter-spacing:.05em; color:#f5f1e6; margin-bottom:5px;
}
html.lmx-noirbar .noirKb__secDesc{
  font-size:13px; line-height:1.55; color:rgba(240,232,210,.55); margin-bottom:8px;
}

/* статья */
html.lmx-noirbar .noirKb__artHead{ margin-bottom:6px; }
html.lmx-noirbar .noirKb__artTitle{
  font-family:var(--noir-display); font-weight:700; font-size:30px;
  line-height:1.15; letter-spacing:.03em; color:#f5f1e6; margin-bottom:10px;
}
html.lmx-noirbar .noirKb__artMeta{ display:flex; flex-wrap:wrap; align-items:center; gap:14px; }
html.lmx-noirbar .noirKb__artTag{
  padding:5px 12px; border:1px solid rgba(242,196,0,.45); border-radius:6px;
  background:rgba(242,196,0,.1); color:var(--yellow);
  font-family:var(--noir-display); font-weight:700; font-size:10.5px; letter-spacing:.1em;
}
/* у статьи подложки нет — текст читается прямо на фоне,
   как в референсе */
html.lmx-noirbar .noirKb__artBodySlot{ padding:4px 0 8px; }
html.lmx-noirbar .noirKb__artBodySlot #kbArticleBody{
  font-size:14.5px; line-height:1.75; color:rgba(240,232,210,.82);
}
html.lmx-noirbar .noirKb__artBodySlot #kbArticleBody img{
  max-width:100%; border-radius:10px; margin:12px 0; display:block;
}
html.lmx-noirbar .noirKb__artBodySlot h1,
html.lmx-noirbar .noirKb__artBodySlot h2,
html.lmx-noirbar .noirKb__artBodySlot h3,
html.lmx-noirbar .noirKb__artBodySlot h4{
  font-family:var(--noir-display); font-weight:700; letter-spacing:.03em;
  color:#f5f1e6; margin:22px 0 10px; scroll-margin-top:20px;
}
html.lmx-noirbar .noirKb__artBodySlot p b,
html.lmx-noirbar .noirKb__artBodySlot p strong{ color:#f5f1e6; }

/* оглавление */
html.lmx-noirbar .noirKb__tocList{ display:flex; flex-direction:column; gap:2px; }
html.lmx-noirbar .noirKb__tocItem{
  position:relative; padding:8px 0 8px 18px; font-size:13px; line-height:1.4;
  color:rgba(240,232,210,.6); cursor:pointer;
}
html.lmx-noirbar .noirKb__tocItem::before{
  content:""; position:absolute; left:0; top:14px; width:6px; height:6px;
  border-radius:50%; background:rgba(240,232,210,.25);
}
html.lmx-noirbar .noirKb__tocItem:hover{ color:#f5f1e6; }
html.lmx-noirbar .noirKb__tocItem.is-on{ color:var(--yellow); }
html.lmx-noirbar .noirKb__tocItem.is-on::before{ background:var(--yellow); }

/* нижняя навигация по статьям */
html.lmx-noirbar .noirKb__artNav{
  display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:14px; margin-top:4px;
}
html.lmx-noirbar .noirKb__navBtn{
  display:flex; align-items:center; gap:12px; padding:14px 18px;
  border:1px solid rgba(242,196,0,.35); border-radius:10px;
  background:rgba(0,0,0,.4); color:rgba(240,232,210,.7);
  text-align:left; cursor:pointer; font-family:inherit;
}
html.lmx-noirbar .noirKb__navBtn:hover{ border-color:var(--yellow); }
html.lmx-noirbar .noirKb__navBtn i{ font-style:normal; color:var(--yellow); font-size:16px; }
html.lmx-noirbar .noirKb__navBtn span{ display:flex; flex-direction:column; gap:3px; min-width:0; }
html.lmx-noirbar .noirKb__navBtn b{
  font-family:var(--noir-display); font-weight:700; font-size:11px;
  letter-spacing:.1em; color:var(--yellow);
}
html.lmx-noirbar .noirKb__navBtn--mid{ justify-content:center; text-align:center; }
html.lmx-noirbar .noirKb__navBtn--next{ justify-content:flex-end; text-align:right; }
html.lmx-noirbar .noirKb__navBtn--next span{ align-items:flex-end; }

@media (max-width:1400px){
  html.lmx-noirbar .noirKb__arts{ grid-template-columns:1fr; }
}

/* ---------- статья базы знаний: типографика и блоки ---------- */
html.lmx-noirbar .noirKb__artBodySlot #kbArticleBody > p:first-child{
  font-size:16px; color:rgba(240,232,210,.9);
}
html.lmx-noirbar .noirKb__artBodySlot .kb-head{
  font-family:var(--noir-display); font-weight:700; letter-spacing:.03em;
  font-size:19px; color:#f5f1e6; scroll-margin-top:20px;
}
html.lmx-noirbar .noirKb__artBodySlot .kb-head-ico{
  width:30px; height:30px; color:var(--yellow);
}
html.lmx-noirbar .noirKb__artBodySlot .kb-callout{
  font-size:13.5px; color:rgba(240,232,210,.8);
}
html.lmx-noirbar .noirKb__artBodySlot .kb-grid-item img{ height:132px; }
html.lmx-noirbar .noirKb__artBodySlot ol,
html.lmx-noirbar .noirKb__artBodySlot ul{
  margin:8px 0 14px; padding-left:22px;
}
html.lmx-noirbar .noirKb__artBodySlot li{ margin-bottom:5px; }

/* ---------- база знаний: «Быстрые ответы» ---------- */
html.lmx-noirbar .noirKb__rail--quick::after{ border-color:rgba(242,196,0,.4); }
html.lmx-noirbar .noirKb__quick{
  display:flex; align-items:center; gap:10px; padding:10px 0;
  border-bottom:1px solid rgba(240,232,210,.07); cursor:pointer;
}
html.lmx-noirbar .noirKb__quick:last-child{ border-bottom:0; }
html.lmx-noirbar .noirKb__quick span{
  flex:1 1 auto; font-size:13px; line-height:1.4; color:rgba(240,232,210,.7);
}
html.lmx-noirbar .noirKb__quick i{ font-style:normal; color:rgba(242,196,0,.7); font-size:16px; }
html.lmx-noirbar .noirKb__quick:hover span{ color:#f5f1e6; }
html.lmx-noirbar .noirKb__quick:hover i{ color:var(--yellow); }

/* ============================================================
   v72: СТРАНИЦА «КОНТАКТЫ» (#page=contacts).
   Собирается noir_shell.js (v54) из HTML страницы, который
   заводится в админке. Родной вывод скрыт .noirCtSrcHidden.
   ============================================================ */

html.lmx-noirbar .noirCtSrcHidden{ display:none !important; }

html.lmx-noirbar .noirCt{ display:flex; flex-direction:column; gap:14px; }
html.lmx-noirbar .noirCt__backSlot:empty{ display:none; }
html.lmx-noirbar .noirCt__back{
  display:inline-flex; align-items:center; gap:8px; padding:11px 20px;
  border:1px solid rgba(242,196,0,.45) !important; border-radius:9px;
  background:rgba(0,0,0,.4) !important; color:var(--yellow) !important;
  font-family:var(--noir-display); font-weight:700; font-size:12px; letter-spacing:.08em;
}
html.lmx-noirbar .noirCt .noirCt__h1{
  display:flex; align-items:center; gap:16px;
  font-family:var(--noir-display); font-weight:700; font-size:34px; line-height:1;
  letter-spacing:.07em; color:#f5f1e6; margin:0;
  -webkit-mask-image:var(--noir-wear); mask-image:var(--noir-wear);
  -webkit-mask-size:110px 110px; mask-size:110px 110px;
}
html.lmx-noirbar .noirCt .noirCt__h1::after{
  content:""; display:block; flex:1 1 auto; height:1px;
  border-top:1px dashed rgba(242,196,0,.45);
}
html.lmx-noirbar .noirCt__lead{
  font-size:14px; line-height:1.6; color:rgba(240,232,210,.62);
}
html.lmx-noirbar .noirCt__grid{
  display:grid; grid-template-columns:minmax(0,1fr) 320px; gap:18px; align-items:start;
}
html.lmx-noirbar .noirCt__secTitle{
  font-family:var(--noir-display); font-weight:700; font-size:13px;
  letter-spacing:.14em; color:var(--yellow); margin:4px 0 12px;
}
html.lmx-noirbar .noirCt__cards{
  display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); gap:14px;
}
html.lmx-noirbar .noirCt__card{
  position:relative; display:grid; grid-template-columns:auto minmax(0,1fr);
  gap:16px; padding:18px; border-radius:11px; text-decoration:none;
  background:url("assets/noir_card.webp") no-repeat center; background-size:100% 100%;
  box-shadow:0 10px 24px rgba(0,0,0,.45);
  transition:filter .15s, transform .15s;
}
html.lmx-noirbar .noirCt__card::after{
  content:""; position:absolute; inset:0; border-radius:11px;
  border:1px solid rgba(242,196,0,.24); pointer-events:none;
}
html.lmx-noirbar .noirCt__card:hover{ filter:brightness(1.16); transform:translateY(-2px); }
html.lmx-noirbar .noirCt__card:hover::after{ border-color:rgba(242,196,0,.6); }
html.lmx-noirbar .noirCt__ico{
  display:flex; align-items:center; justify-content:center; align-self:flex-start;
  width:58px; height:58px; flex:0 0 auto;
  border:1px solid rgba(242,196,0,.4); border-radius:12px;
  background:rgba(242,196,0,.07); color:var(--yellow);
}
html.lmx-noirbar .noirCt__ico svg{ width:30px; height:30px; }
html.lmx-noirbar .noirCt__body{ display:flex; flex-direction:column; gap:6px; min-width:0; }
html.lmx-noirbar .noirCt__body b{
  font-family:var(--noir-display); font-weight:700; font-size:17px;
  letter-spacing:.06em; color:#f5f1e6;
}
html.lmx-noirbar .noirCt__body i{
  font-style:normal; font-size:12.5px; line-height:1.5; color:rgba(240,232,210,.55);
}
html.lmx-noirbar .noirCt__link{
  display:inline-flex; align-items:center; gap:8px; align-self:flex-start;
  margin-top:6px; padding:8px 12px;
  border:1px solid rgba(242,196,0,.35); border-radius:8px;
  background:rgba(0,0,0,.35); color:var(--yellow); font-size:12px;
}
html.lmx-noirbar .noirCt__link svg{ width:13px; height:13px; }

/* правая колонка */
html.lmx-noirbar .noirCt__side{ display:flex; flex-direction:column; gap:14px; }
html.lmx-noirbar .noirCt__rail{
  position:relative; padding:20px; border-radius:11px;
  background:url("assets/noir_card.webp") no-repeat center; background-size:100% 100%;
  box-shadow:0 10px 24px rgba(0,0,0,.45);
}
/* у «Почты» своя подложка: конверт и штамп нарисованы сверху,
   поэтому даём блоку отступ под них */
html.lmx-noirbar .noirCt__rail--mail{
  background-image:url("assets/noir_mail.webp");
  padding-top:120px;
}
html.lmx-noirbar .noirCt__rail::after{
  content:""; position:absolute; inset:0; border-radius:11px;
  border:1px solid rgba(242,196,0,.3); pointer-events:none;
}
html.lmx-noirbar .noirCt__railTitle{
  font-family:var(--noir-display); font-weight:700; font-size:22px;
  letter-spacing:.06em; color:#f5f1e6; margin-bottom:8px;
}
html.lmx-noirbar .noirCt__railTitle--sm{ font-size:15px; line-height:1.35; }
html.lmx-noirbar .noirCt__mail{
  display:inline-block; font-family:var(--noir-display); font-weight:700;
  font-size:19px; color:var(--yellow); text-decoration:none; word-break:break-all;
}
html.lmx-noirbar .noirCt__mail:hover{ text-decoration:underline; }
html.lmx-noirbar .noirCt__dash{
  height:1px; margin:14px 0; border-top:1px dashed rgba(242,196,0,.4);
}
html.lmx-noirbar .noirCt__railText{
  font-size:13px; line-height:1.6; color:rgba(240,232,210,.6); margin-bottom:16px;
}
html.lmx-noirbar .noirCt__btn{
  display:block; width:100%; box-sizing:border-box; padding:13px; border:0;
  border-radius:9px; text-align:center; text-decoration:none;
  background:linear-gradient(180deg,#eec21a 0%,#d9a900 100%); color:#171308;
  font-family:var(--noir-display); font-weight:700; font-size:12px;
  letter-spacing:.09em; cursor:pointer;
}
html.lmx-noirbar .noirCt__btn:hover{ filter:brightness(1.08); }

/* остаток текста страницы, если он есть */
html.lmx-noirbar .noirCt__rest{ display:none; }
html.lmx-noirbar .noirCt__rest.is-on{
  display:block; position:relative; padding:20px 22px; border-radius:11px;
  background:url("assets/noir_card.webp") no-repeat center; background-size:100% 100%;
  font-size:14px; line-height:1.7; color:rgba(240,232,210,.75);
}
html.lmx-noirbar .noirCt__rest.is-on::after{
  content:""; position:absolute; inset:0; border-radius:11px;
  border:1px solid rgba(242,196,0,.22); pointer-events:none;
}

@media (max-width:1400px){
  html.lmx-noirbar .noirCt__grid{ grid-template-columns:minmax(0,1fr) 280px; }
  html.lmx-noirbar .noirCt .noirCt__h1{ font-size:29px; }
}

/* ---------- контакты: приглашение к сотрудничеству ---------- */
html.lmx-noirbar .noirCt__join{
  position:relative; display:grid; grid-template-columns:auto minmax(0,1fr) auto;
  align-items:center; gap:20px; padding:20px 24px; border-radius:12px;
  background-image:var(--noir-grain), linear-gradient(180deg, rgba(242,196,0,.08), rgba(10,9,8,.85));
  box-shadow:0 12px 26px rgba(0,0,0,.4);
}
html.lmx-noirbar .noirCt__join::after{
  content:""; position:absolute; inset:0; border-radius:12px;
  border:1px dashed rgba(242,196,0,.5); pointer-events:none;
}
html.lmx-noirbar .noirCt__joinIco{
  display:flex; align-items:center; justify-content:center;
  width:58px; height:58px; flex:0 0 auto; font-size:27px;
  border:1px solid rgba(242,196,0,.4); border-radius:12px; background:rgba(0,0,0,.3);
}
html.lmx-noirbar .noirCt__joinBody{ display:flex; flex-direction:column; gap:5px; min-width:0; }
html.lmx-noirbar .noirCt__joinTag{
  align-self:flex-start; padding:4px 11px; border-radius:5px;
  background:rgba(242,196,0,.16); border:1px solid rgba(242,196,0,.45);
  color:var(--yellow); font-family:var(--noir-display); font-weight:700;
  font-size:9.5px; letter-spacing:.14em;
}
html.lmx-noirbar .noirCt__joinTitle{
  font-family:var(--noir-display); font-weight:700; font-size:20px;
  letter-spacing:.04em; color:#f5f1e6;
}
html.lmx-noirbar .noirCt__joinText{
  font-size:13px; line-height:1.55; color:rgba(240,232,210,.6);
}
html.lmx-noirbar .noirCt__joinBtn{
  padding:14px 24px; border-radius:9px; white-space:nowrap; text-decoration:none;
  background:linear-gradient(180deg,#eec21a 0%,#d9a900 100%); color:#171308;
  font-family:var(--noir-display); font-weight:700; font-size:12px; letter-spacing:.09em;
}
html.lmx-noirbar .noirCt__joinBtn:hover{ filter:brightness(1.08); }

@media (max-width:1400px){
  html.lmx-noirbar .noirCt__join{ grid-template-columns:auto minmax(0,1fr); }
  html.lmx-noirbar .noirCt__joinBtn{ grid-column:1 / -1; text-align:center; }
}

/* ---------- контакты: «Почему стоит подписаться» ---------- */
/* подложка с коллажем: сам коллаж нарисован в правой части арта,
   поэтому текстовые колонки прижимаем влево и не даём им заезжать
   на него */
html.lmx-noirbar .noirCt__why{
  position:relative; margin-top:14px; padding:20px 24px 22px; border-radius:11px;
  background:url("assets/noir_why.webp") no-repeat center; background-size:100% 100%;
  box-shadow:0 10px 24px rgba(0,0,0,.45);
}
html.lmx-noirbar .noirCt__whyTitle{
  font-family:var(--noir-display); font-weight:700; font-size:16px;
  letter-spacing:.09em; color:#f5f1e6; margin-bottom:16px;
}
html.lmx-noirbar .noirCt__whyGrid{
  display:grid; grid-template-columns:repeat(3, minmax(0,1fr));
  width:70%;
}
html.lmx-noirbar .noirCt__whyItem{
  display:flex; flex-direction:column; gap:7px; padding:0 18px;
  border-left:1px solid rgba(240,232,210,.1);
}
html.lmx-noirbar .noirCt__whyItem:first-child{ border-left:0; padding-left:0; }
html.lmx-noirbar .noirCt__whyIco{ color:var(--yellow); }
html.lmx-noirbar .noirCt__whyIco svg{ width:28px; height:28px; }
html.lmx-noirbar .noirCt__whyItem b{
  font-family:var(--noir-display); font-weight:700; font-size:14px;
  letter-spacing:.03em; color:#f5f1e6;
}
html.lmx-noirbar .noirCt__whyItem i{
  font-style:normal; font-size:12.5px; line-height:1.55; color:rgba(240,232,210,.55);
}
@media (max-width:1400px){
  html.lmx-noirbar .noirCt__whyGrid{ grid-template-columns:1fr; gap:16px; width:68%; }
  html.lmx-noirbar .noirCt__whyItem{ border-left:0; padding:0; }
}

/* ============================================================
 * v78: СТРАНИЦА «ПРАВИЛА» (.noirRu*) — по референсу + ИЗБРАННОЕ
 *   • шрифты страницы — общие для сайта (var(--noir-display),
 *     Tektur), как на «Контактах» и «Базе знаний»;
 *   • записка «ВАЖНО» — на её арте assets/noir_note.webp
 *     (бумага со скотчем и печатью), свои скотч/печать убраны.
 *   • заголовок и пунктир в одну строку, рейка начинается
 *     на уровне заголовка;
 *   • карточки идут по колонкам (1-4 слева, 5-8 справа) и
 *     лежат на подложке noir_card.webp;
 *   • названия разделов жёлтые, как в референсе, не капсом;
 *   • рейка «РАЗДЕЛЫ» — на подложке, с золотой кнопкой-иглой,
 *     пункты переносятся, а не обрезаются.
 * ============================================================ */

/* спрятанный оригинал статической страницы */
html.lmx-noirbar #homeRoot .noirRuSrcHidden{ display:none !important; }

html.lmx-noirbar .noirRu{
  max-width:1240px; margin:0 auto; padding:10px 8px 70px;
}
html.lmx-noirbar .noirRu__backSlot{ margin-bottom:14px; }
html.lmx-noirbar .noirRu__back{ margin-bottom:0 !important; }

html.lmx-noirbar .noirRu__grid{
  display:grid; grid-template-columns:minmax(0,1fr) 292px;
  gap:34px; align-items:start;
}

/* заголовок + пунктирная линия в одну строку (как на референсе) */
html.lmx-noirbar .noirRu__head{
  display:flex; align-items:center; gap:24px; margin:0 0 20px;
}
html.lmx-noirbar .noirRu__h1{
  font-family:var(--noir-display); font-weight:700;
  font-size:34px; line-height:1; letter-spacing:.07em;
  color:#f5f1e6; text-transform:uppercase;
  margin:0; padding:0; flex-shrink:0;
}
html.lmx-noirbar .noirRu__h1::after{ content:none; }
html.lmx-noirbar .noirRu__rule{
  flex:1 1 auto; min-width:40px; height:0;
  border-bottom:2px dashed rgba(242,196,0,.5);
}

html.lmx-noirbar .noirRu__sub{
  font-family:var(--noir-display); font-weight:700;
  font-size:15px; letter-spacing:.05em;
  color:var(--yellow); margin-bottom:10px;
}
html.lmx-noirbar .noirRu__intro{
  font-size:14px; line-height:1.7; color:rgba(240,232,210,.68);
  margin-bottom:24px; max-width:760px;
}

/* карточки правил: колонками — 1..4 слева, 5..8 справа */
html.lmx-noirbar .noirRu__cards{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  grid-template-rows:repeat(var(--ruRows,4),auto);
  grid-auto-flow:column;
  gap:16px 18px;
}
html.lmx-noirbar .noirRu__card{
  position:relative;
  border:0; border-radius:10px;
  padding:16px 18px 18px;
  background:url("assets/noir_card.webp") no-repeat center;
  background-size:100% 100%;
  box-shadow:0 10px 26px rgba(0,0,0,.45);
  transition:filter .2s, transform .2s;
  scroll-margin:90px;
}
html.lmx-noirbar .noirRu__card::after{
  content:''; position:absolute; inset:0; border-radius:10px;
  border:1px solid rgba(242,196,0,.2); pointer-events:none;
  transition:border-color .2s, box-shadow .25s;
}
html.lmx-noirbar .noirRu__card:hover{ filter:brightness(1.12); transform:translateY(-2px); }
html.lmx-noirbar .noirRu__card:hover::after{ border-color:rgba(242,196,0,.45); }
html.lmx-noirbar .noirRu__card.is-flash::after{
  border-color:rgba(242,196,0,.8);
  box-shadow:0 0 0 3px rgba(242,196,0,.14);
}
html.lmx-noirbar .noirRu__cardTop{
  display:flex; align-items:center; gap:12px; margin-bottom:9px;
}
html.lmx-noirbar .noirRu__num{
  flex-shrink:0; width:28px; height:28px; border-radius:7px;
  display:flex; align-items:center; justify-content:center;
  background:var(--yellow); color:#0d0b08;
  font-family:var(--noir-display); font-weight:700;
  font-size:14px; letter-spacing:.02em;
  box-shadow:0 3px 8px rgba(0,0,0,.4);
}
html.lmx-noirbar .noirRu__cardTitle{
  flex:1; min-width:0;
  font-family:var(--noir-display); font-weight:700;
  font-size:14px; letter-spacing:.04em;
  text-transform:none; color:var(--yellow); line-height:1.3;
}
html.lmx-noirbar .noirRu__cardIco{ flex-shrink:0; color:rgba(242,196,0,.55); }
html.lmx-noirbar .noirRu__cardIco svg{ width:20px; height:20px; display:block; }
html.lmx-noirbar .noirRu__cardText{
  font-size:13px; line-height:1.65; color:rgba(240,232,210,.6);
}

/* кнопки внизу */
html.lmx-noirbar .noirRu__actions{
  display:flex; gap:14px; align-items:center; flex-wrap:wrap;
  margin-top:30px;
}
html.lmx-noirbar .noirRu__pdf{
  display:inline-flex; align-items:center; gap:9px;
  margin:0; width:auto; padding:13px 30px;
  font-family:var(--noir-display); font-weight:700;
  font-size:12px; letter-spacing:.1em; text-decoration:none;
}
html.lmx-noirbar .noirRu__pdf svg{ width:17px; height:17px; }
html.lmx-noirbar .noirRu__pdf.is-soon{
  opacity:.45; cursor:default; pointer-events:none; filter:grayscale(.4);
}
html.lmx-noirbar .noirRu__contacts{
  display:inline-flex; align-items:center; gap:9px;
  background:transparent; cursor:pointer; font-family:inherit;
  border:1px solid rgba(242,196,0,.4); border-radius:12px;
  color:var(--yellow); padding:12px 28px;
  font-family:var(--noir-display); font-weight:700;
  font-size:12px; letter-spacing:.1em;
  transition:border-color .2s, background .2s;
}
html.lmx-noirbar .noirRu__contacts:hover{
  border-color:rgba(242,196,0,.75); background:rgba(242,196,0,.08);
}
html.lmx-noirbar .noirRu__contacts svg{ width:16px; height:16px; }

/* правая рейка «РАЗДЕЛЫ» */
html.lmx-noirbar .noirRu__side{
  display:flex; flex-direction:column; gap:26px;
  position:sticky; top:86px;
}
html.lmx-noirbar .noirRu__rail{
  position:relative; border:0; border-radius:12px;
  background:url("assets/noir_card.webp") no-repeat center;
  background-size:100% 100%;
  padding:20px 16px 14px;
  box-shadow:0 10px 26px rgba(0,0,0,.45);
}
html.lmx-noirbar .noirRu__rail::after{
  content:''; position:absolute; inset:0; border-radius:12px;
  border:1px solid rgba(242,196,0,.2); pointer-events:none;
}
html.lmx-noirbar .noirRu__pin{
  position:absolute; top:10px; right:12px;
  width:20px; height:20px; color:var(--yellow);
  background:none; box-shadow:none; border-radius:0;
}
html.lmx-noirbar .noirRu__pin svg{
  width:100%; height:100%; display:block;
  transform:rotate(6deg);
  filter:drop-shadow(0 2px 3px rgba(0,0,0,.55));
}
html.lmx-noirbar .noirRu__railTitle{
  font-family:var(--noir-display);
  font-size:12px; font-weight:700; letter-spacing:.18em;
  color:rgba(240,232,210,.55); margin:0 0 12px; text-align:left;
}
html.lmx-noirbar .noirRu__railItem{
  display:flex; align-items:flex-start; gap:9px; width:100%;
  background:transparent; border:0; cursor:pointer; text-align:left;
  font-family:inherit; padding:7px 4px; border-radius:8px;
  transition:background .18s;
}
html.lmx-noirbar .noirRu__railItem:hover{ background:rgba(242,196,0,.07); }
html.lmx-noirbar .noirRu__railItem b{
  font-family:var(--noir-display); font-weight:700;
  color:var(--yellow); font-size:13px; flex-shrink:0;
  line-height:1.4;
}
html.lmx-noirbar .noirRu__railItem span{
  font-family:var(--noir-display); font-weight:500;
  font-size:12.5px; letter-spacing:.02em;
  color:rgba(240,232,210,.82); text-transform:none;
  white-space:normal; overflow:visible; text-overflow:clip;
  line-height:1.4;
}
html.lmx-noirbar .noirRu__railItem:hover span{ color:var(--yellow); }

/* записка «ВАЖНО» на светлой бумаге */
html.lmx-noirbar .noirRu__note{
  position:relative;
  /* её арт: бумага со скотчем и печатью «ПОД ПОДОЗРЕНИЕМ» */
  background:url("assets/noir_note.webp") no-repeat center;
  background-size:100% 100%;
  color:#2a2318;
  border:0; border-radius:0; box-shadow:none; transform:none;
  /* отступы = поля бумаги на арте (сверху 9%, слева 6%, справа 9%),
     снизу оставлено место под печать в правом нижнем углу */
  padding:34px 38px 96px 28px;
  min-height:236px;
}
html.lmx-noirbar .noirRu__noteTitle{
  font-family:var(--noir-display); font-weight:700;
  font-size:15px; letter-spacing:.22em; margin-bottom:8px;
  color:#231d13;
}
html.lmx-noirbar .noirRu__noteText{
  font-size:13px; line-height:1.65; color:rgba(35,29,19,.8);
}

@media (max-width:1400px){
  html.lmx-noirbar .noirRu__grid{ grid-template-columns:minmax(0,1fr) 268px; gap:26px; }
}
@media (max-width:1080px){
  html.lmx-noirbar .noirRu__grid{ grid-template-columns:1fr; }
  html.lmx-noirbar .noirRu__side{ position:static; }
}
@media (max-width:760px){
  html.lmx-noirbar .noirRu__cards{
    grid-template-columns:1fr;
    grid-template-rows:none;
    grid-auto-flow:row;
  }
}

/* ---------- ИЗБРАННОЕ: кнопка на странице игры ---------- */
html.lmx-noirbar .noirGame__fav.is-on{
  border-color:rgba(242,196,0,.6) !important;
  color:var(--yellow) !important;
  background:rgba(242,196,0,.08) !important;
}
html.lmx-noirbar .noirGame__fav.is-on svg{ fill:var(--yellow); stroke:var(--yellow); }

/* ---------- ИЗБРАННОЕ: секция в архиве (v79) ----------
   Иконка в заголовке секции не имела размеров — svg без
   width/height растягивается на всю ширину контейнера, из-за
   чего закладка занимала пол-экрана. Карточки приведены к виду
   блока «ПОСЛЕДНИЕ ПРОЙДЕННЫЕ»: та же подложка noir_card.webp,
   тот же шрифт и та же сетка. */
html.lmx-noirbar .noirArch__secTitle svg{
  width:19px; height:19px; flex:0 0 auto; display:block;
  color:var(--yellow); fill:rgba(242,196,0,.16);
}
html.lmx-noirbar .noirArch__secTitle--fav{ margin-top:14px; }

html.lmx-noirbar .noirArch__favs{
  display:grid; grid-template-columns:repeat(4,minmax(0,1fr));
  gap:16px; margin:16px 0 28px;
}
html.lmx-noirbar .noirArch__favCard{
  display:flex; flex-direction:column;
  padding:12px 12px 14px;
  border:0; border-radius:12px; overflow:hidden;
  background:url("assets/noir_card.webp") no-repeat center;
  background-size:100% 100%;
  box-shadow:0 14px 30px rgba(0,0,0,.45);
  transition:filter .2s, transform .2s;
}
html.lmx-noirbar .noirArch__favCard:hover{
  filter:brightness(1.12); transform:translateY(-2px);
}
html.lmx-noirbar .noirArch__favCover{
  position:relative; height:132px; flex:0 0 auto;
  border-radius:8px; overflow:hidden;
  background:rgba(0,0,0,.45); margin-bottom:11px; cursor:pointer;
}
html.lmx-noirbar .noirArch__favCover img{
  width:100%; height:100%; object-fit:cover; display:block;
  transition:transform .3s;
}
html.lmx-noirbar .noirArch__favCard:hover .noirArch__favCover img{
  transform:scale(1.04);
}
html.lmx-noirbar .noirArch__favBody{
  padding:0; display:flex; flex-direction:column; gap:8px; flex:1;
}
/* чип в колоночном флексе иначе растягивается на всю ширину */
html.lmx-noirbar .noirArch__favBody .noirArch__chip{
  align-self:flex-start;
}
html.lmx-noirbar .noirArch__favTitle{
  font-family:var(--noir-display); font-weight:700;
  font-size:13.5px; letter-spacing:.03em; line-height:1.35;
  color:#f5f1e6; cursor:pointer; flex:1;
  display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical;
  overflow:hidden;
}
html.lmx-noirbar .noirArch__favTitle:hover{ color:var(--yellow); }
html.lmx-noirbar .noirArch__favRow{
  display:flex; align-items:center; justify-content:space-between; gap:8px;
  margin-top:2px;
}
html.lmx-noirbar .noirArch__favOpen{
  background:transparent; border:0; cursor:pointer;
  font-family:var(--noir-display); font-weight:700;
  padding:0; font-size:11px; letter-spacing:.1em;
  color:var(--yellow); transition:opacity .2s;
}
html.lmx-noirbar .noirArch__favOpen:hover{ opacity:.75; }
html.lmx-noirbar .noirArch__favRm{
  background:rgba(0,0,0,.35); border:1px solid rgba(240,232,210,.18);
  border-radius:8px; width:26px; height:26px; cursor:pointer;
  color:rgba(240,232,210,.45); font-size:12px; line-height:1;
  display:flex; align-items:center; justify-content:center; flex:0 0 auto;
  transition:border-color .2s, color .2s;
}
html.lmx-noirbar .noirArch__favRm:hover{
  border-color:rgba(220,80,80,.5); color:#e77;
}
@media (max-width:1400px){
  html.lmx-noirbar .noirArch__favs{ gap:12px; }
  html.lmx-noirbar .noirArch__favCover{ height:112px; }
  html.lmx-noirbar .noirArch__favTitle{ font-size:13px; }
}
@media (max-width:1080px){
  html.lmx-noirbar .noirArch__favs{ grid-template-columns:repeat(3,minmax(0,1fr)); }
}

/* ============================================================
 * v80: КОРЗИНА — экран по референсу, счётчики, кнопки «В КОРЗИНУ»
 * ============================================================ */

/* ---------- счётчик в меню ---------- */
html.lmx-noirbar .noirSide__count{
  display:none; margin-left:auto; flex:0 0 auto;
  min-width:20px; height:20px; padding:0 6px; border-radius:10px;
  background:var(--yellow); color:#0d0b08;
  font-family:var(--noir-display); font-weight:700;
  font-size:11px; line-height:20px; text-align:center;
  box-shadow:0 2px 6px rgba(0,0,0,.45);
}
html.lmx-noirbar .noirSide__count.is-on{ display:block; }
html.lmx-noirbar .noirSide__item.is-active .noirSide__count{
  background:#0d0b08; color:var(--yellow);
}

/* ---------- счётчик на иконке корзины в топбаре ---------- */
html.lmx-noirbar .topbar__right .iconbtn{ position:relative; }
html.lmx-noirbar .noirCartCount{
  display:none; position:absolute; top:-5px; right:-5px;
  min-width:18px; height:18px; padding:0 5px; border-radius:9px;
  background:var(--yellow); color:#0d0b08;
  font-family:var(--noir-display); font-weight:700;
  font-size:10px; line-height:18px; text-align:center;
  box-shadow:0 2px 6px rgba(0,0,0,.5);
}
html.lmx-noirbar .noirCartCount.is-on{ display:block; }

/* ---------- кнопка «В КОРЗИНУ» на карточке магазина ---------- */
html.lmx-noirbar .noirShop__cart{
  display:block; width:100%; margin-top:9px; padding:8px 10px;
  border:1px solid rgba(242,196,0,.4); border-radius:8px;
  background:rgba(242,196,0,.08); color:var(--yellow);
  font-family:var(--noir-display); font-weight:700;
  font-size:10.5px; letter-spacing:.1em; cursor:pointer;
  transition:background .18s, border-color .18s;
}
html.lmx-noirbar .noirShop__cart:hover{
  background:rgba(242,196,0,.18); border-color:rgba(242,196,0,.7);
}

/* ---------- кнопка «В КОРЗИНУ» в карточке товара ---------- */
html.lmx-noirbar .noirPet__cart{
  display:block; width:100%; margin-top:8px; padding:12px 14px;
  border:1px solid rgba(242,196,0,.4); border-radius:9px;
  background:rgba(242,196,0,.07); color:var(--yellow);
  font-family:var(--noir-display); font-weight:700;
  font-size:12px; letter-spacing:.1em; cursor:pointer;
  transition:background .18s, border-color .18s;
}
html.lmx-noirbar .noirPet__cart:hover{
  background:rgba(242,196,0,.16); border-color:rgba(242,196,0,.7);
}

/* ---------- всплывающее уведомление ---------- */
.noirCartToast{
  position:fixed; left:50%; bottom:26px; transform:translate(-50%,20px);
  z-index:99999; display:flex; align-items:center; gap:10px;
  padding:12px 20px; border-radius:11px;
  border:1px solid rgba(242,196,0,.45);
  background:rgba(16,14,12,.96); color:var(--yellow, #f2c400);
  font-family:'Tektur', system-ui, sans-serif; font-weight:700;
  font-size:12px; letter-spacing:.06em;
  box-shadow:0 14px 34px rgba(0,0,0,.6);
  opacity:0; transition:opacity .25s, transform .25s; pointer-events:none;
}
.noirCartToast.is-on{ opacity:1; transform:translate(-50%,0); }
.noirCartToast.is-bad{ border-color:rgba(220,80,80,.5); color:#e88; }
.noirCartToast svg{ width:17px; height:17px; flex:0 0 auto; }

/* ---------- экран корзины ---------- */
html.lmx-noirbar .noirCartWrap{
  position:absolute; inset:0; z-index:6; overflow-y:auto;
  padding:16px 28px 44px;
  background:
    var(--noir-grain) repeat,
    linear-gradient(180deg,#131210,#0c0b0a);
}
html.lmx-noirbar .noirCartWrap::-webkit-scrollbar{ width:10px; }

html.lmx-noirbar .noirCart{ max-width:1240px; margin:0 auto; }
html.lmx-noirbar .noirCart__backSlot{ margin-bottom:14px; }
html.lmx-noirbar .noirCart__back{
  display:inline-flex; align-items:center; gap:7px;
  padding:8px 14px 8px 10px;
  border:1px solid rgba(240,232,210,.18); border-radius:8px;
  background:rgba(0,0,0,.3); color:rgba(240,232,210,.75);
  font-family:var(--noir-display); font-weight:700;
  font-size:11px; letter-spacing:.12em; cursor:pointer;
  transition:border-color .2s, color .2s;
}
html.lmx-noirbar .noirCart__back:hover{ border-color:rgba(242,196,0,.5); color:var(--yellow); }
html.lmx-noirbar .noirCart__back svg{ width:15px; height:15px; }

html.lmx-noirbar .noirCart__head{
  display:flex; align-items:center; gap:24px; margin:0 0 10px;
}
html.lmx-noirbar .noirCart__h1{
  font-family:var(--noir-display); font-weight:700;
  font-size:34px; line-height:1; letter-spacing:.07em;
  color:#f5f1e6; text-transform:uppercase; margin:0; flex-shrink:0;
}
html.lmx-noirbar .noirCart__h1::after{ content:none; }
html.lmx-noirbar .noirCart__rule{
  flex:1 1 auto; min-width:40px; height:0;
  border-bottom:2px dashed rgba(242,196,0,.5);
}
html.lmx-noirbar .noirCart__sub{
  display:flex; align-items:center; gap:8px;
  font-size:13px; color:rgba(240,232,210,.6); margin:0 0 22px;
}
html.lmx-noirbar .noirCart__sub b{ color:var(--yellow); }
html.lmx-noirbar .noirCart__subIco{ width:15px; height:15px; color:rgba(242,196,0,.7); }
html.lmx-noirbar .noirCart__load{
  padding:60px 0; text-align:center; color:rgba(240,232,210,.45);
  letter-spacing:.14em; font-size:12px;
}

html.lmx-noirbar .noirCart__grid{
  display:grid; grid-template-columns:minmax(0,1fr) 340px;
  gap:22px; align-items:start;
}

/* строки корзины */
html.lmx-noirbar .noirCart__lines{ display:flex; flex-direction:column; gap:12px; }
html.lmx-noirbar .noirCart__line{
  position:relative; display:grid;
  grid-template-columns:132px minmax(0,1fr) auto;
  gap:16px; align-items:center; padding:12px 16px 12px 12px;
  border:0; border-radius:12px;
  background:url("assets/noir_card.webp") no-repeat center;
  background-size:100% 100%;
  box-shadow:0 12px 26px rgba(0,0,0,.42);
}
html.lmx-noirbar .noirCart__line::after{
  content:''; position:absolute; inset:0; border-radius:12px;
  border:1px solid rgba(242,196,0,.2); pointer-events:none;
}
html.lmx-noirbar .noirCart__pic{
  width:132px; height:110px; border-radius:9px; overflow:hidden;
  background:rgba(0,0,0,.45); display:flex; align-items:center; justify-content:center;
  color:rgba(242,196,0,.4);
}
html.lmx-noirbar .noirCart__pic img{ width:100%; height:100%; object-fit:cover; display:block; }
html.lmx-noirbar .noirCart__pic svg{ width:30px; height:30px; }

html.lmx-noirbar .noirCart__body{ min-width:0; }
html.lmx-noirbar .noirCart__label{
  font-family:var(--noir-display); font-weight:700;
  font-size:10.5px; letter-spacing:.16em; color:rgba(242,196,0,.75);
  margin-bottom:5px;
}
html.lmx-noirbar .noirCart__title{
  font-family:var(--noir-display); font-weight:700;
  font-size:19px; letter-spacing:.02em; color:#f5f1e6; line-height:1.2;
}
html.lmx-noirbar .noirCart__meta{
  display:flex; align-items:center; gap:7px; margin-top:6px;
  font-size:12px; color:rgba(240,232,210,.5);
}
html.lmx-noirbar .noirCart__metaIco{ width:14px; height:14px; color:rgba(242,196,0,.6); }
html.lmx-noirbar .noirCart__prices{ display:flex; gap:8px; margin-top:11px; flex-wrap:wrap; }
html.lmx-noirbar .noirCart__price{
  display:inline-flex; align-items:baseline; gap:4px;
  padding:6px 12px; border-radius:7px; font-size:11px; letter-spacing:.05em;
  border:1px solid rgba(240,232,210,.16); background:rgba(0,0,0,.35);
  color:rgba(240,232,210,.55);
}
html.lmx-noirbar .noirCart__price b{ font-size:13px; font-weight:800; }
html.lmx-noirbar .noirCart__price--pts{
  border-color:rgba(120,200,120,.35); color:rgba(150,220,150,.9);
}
html.lmx-noirbar .noirCart__price--rub{
  border-color:rgba(242,196,0,.4); color:var(--yellow);
}

html.lmx-noirbar .noirCart__ctrl{
  display:flex; flex-direction:column; align-items:flex-end; gap:12px; flex:0 0 auto;
}
html.lmx-noirbar .noirCart__qty{
  display:flex; align-items:center; gap:2px;
  border:1px solid rgba(240,232,210,.18); border-radius:9px;
  background:rgba(0,0,0,.4); overflow:hidden;
}
html.lmx-noirbar .noirCart__qtyBtn{
  width:34px; height:34px; border:0; background:transparent; cursor:pointer;
  color:rgba(240,232,210,.8); font-size:16px; line-height:1;
  transition:background .15s, color .15s;
}
html.lmx-noirbar .noirCart__qtyBtn:hover:not(:disabled){ background:rgba(242,196,0,.14); color:var(--yellow); }
html.lmx-noirbar .noirCart__qtyBtn:disabled{ opacity:.3; cursor:default; }
html.lmx-noirbar .noirCart__qtyVal{
  min-width:32px; text-align:center;
  font-family:var(--noir-display); font-weight:700; font-size:14px; color:#f5f1e6;
}
html.lmx-noirbar .noirCart__qty--one{ padding:0 12px; height:34px; }
html.lmx-noirbar .noirCart__rm{
  display:inline-flex; align-items:center; gap:6px;
  background:transparent; border:0; cursor:pointer; padding:0;
  color:rgba(240,232,210,.45); font-family:inherit; font-size:12px;
  transition:color .18s;
}
html.lmx-noirbar .noirCart__rm:hover{ color:#e77; }
html.lmx-noirbar .noirCart__rmIco{ width:15px; height:15px; }

/* промокод */
html.lmx-noirbar .noirCart__promo{
  position:relative; margin-top:16px; padding:16px 18px;
  border:0; border-radius:12px;
  background:url("assets/noir_card.webp") no-repeat center;
  background-size:100% 100%;
  box-shadow:0 12px 26px rgba(0,0,0,.42);
}
html.lmx-noirbar .noirCart__promo::after{
  content:''; position:absolute; inset:0; border-radius:12px;
  border:1px solid rgba(242,196,0,.2); pointer-events:none;
}
html.lmx-noirbar .noirCart__promoHead{
  display:flex; align-items:center; gap:9px; margin-bottom:11px;
  font-family:var(--noir-display); font-weight:700;
  font-size:12px; letter-spacing:.14em; color:rgba(240,232,210,.75);
}
html.lmx-noirbar .noirCart__promoIco{ width:17px; height:17px; color:rgba(242,196,0,.7); }
html.lmx-noirbar .noirCart__promoRow{ display:flex; gap:10px; }
html.lmx-noirbar .noirCart__promoInp{
  flex:1; min-width:0; padding:12px 14px;
  border:1px solid rgba(240,232,210,.18); border-radius:9px;
  background:rgba(0,0,0,.45); color:#f5f1e6;
  font-family:inherit; font-size:13px; outline:none;
}
html.lmx-noirbar .noirCart__promoInp:focus{ border-color:rgba(242,196,0,.5); }
html.lmx-noirbar .noirCart__promoBtn{
  flex:0 0 auto; padding:12px 22px; border:0; border-radius:9px; cursor:pointer;
  background:var(--yellow); color:#0d0b08;
  font-family:var(--noir-display); font-weight:700;
  font-size:11.5px; letter-spacing:.1em;
}
html.lmx-noirbar .noirCart__promoBtn:hover{ filter:brightness(1.08); }
html.lmx-noirbar .noirCart__promoMsg{ margin-top:9px; font-size:12px; }
html.lmx-noirbar .noirCart__promoMsg.is-ok{ color:#7c7; }
html.lmx-noirbar .noirCart__promoMsg.is-bad{ color:#e77; }

/* правая колонка «ВАШ ЗАКАЗ» */
html.lmx-noirbar .noirCart__rail{
  position:relative; padding:20px 20px 22px;
  border:0; border-radius:12px;
  background:url("assets/noir_card.webp") no-repeat center;
  background-size:100% 100%;
  box-shadow:0 14px 32px rgba(0,0,0,.5);
}
html.lmx-noirbar .noirCart__rail::after{
  content:''; position:absolute; inset:0; border-radius:12px;
  border:1px solid rgba(242,196,0,.28); pointer-events:none;
}
html.lmx-noirbar .noirCart__railTitle{
  font-family:var(--noir-display); font-weight:700;
  font-size:16px; letter-spacing:.14em; color:var(--yellow);
  margin-bottom:16px;
}
html.lmx-noirbar .noirCart__sum{ display:flex; flex-direction:column; gap:9px; }
html.lmx-noirbar .noirCart__sum > div{
  display:flex; align-items:baseline; justify-content:space-between; gap:12px;
  font-size:13px; color:rgba(240,232,210,.6);
}
html.lmx-noirbar .noirCart__sum b{ color:#f5f1e6; font-weight:700; }
html.lmx-noirbar .noirCart__sum b.is-off{ color:#7c7; }
html.lmx-noirbar .noirCart__total{
  display:flex; align-items:center; justify-content:space-between; gap:12px;
  margin:16px 0 4px; padding-top:16px;
  border-top:1px dashed rgba(240,232,210,.2);
}
html.lmx-noirbar .noirCart__total span{
  font-family:var(--noir-display); font-weight:700;
  font-size:15px; letter-spacing:.14em; color:#f5f1e6;
}
html.lmx-noirbar .noirCart__total b{
  font-family:var(--noir-display); font-weight:700;
  font-size:26px; letter-spacing:.02em; color:var(--yellow);
}
html.lmx-noirbar .noirCart__cash{ margin-top:16px; }
html.lmx-noirbar .noirCart__cashTitle{
  font-family:var(--noir-display); font-weight:700;
  font-size:11px; letter-spacing:.16em; color:rgba(242,196,0,.75); margin-bottom:9px;
}
html.lmx-noirbar .noirCart__cashRow{ display:flex; align-items:center; gap:12px; }
html.lmx-noirbar .noirCart__cashChip{
  flex:0 0 auto; padding:8px 13px; border-radius:8px;
  border:1px solid rgba(120,200,120,.35); background:rgba(120,200,120,.08);
  color:rgba(150,220,150,.95); font-size:11px; letter-spacing:.04em;
}
html.lmx-noirbar .noirCart__cashChip b{ font-size:13px; font-weight:800; }
html.lmx-noirbar .noirCart__cashNote{ font-size:11.5px; line-height:1.45; color:rgba(240,232,210,.45); }

/* форма доставки */
html.lmx-noirbar .noirCart__form{
  margin-top:18px; padding-top:16px; border-top:1px dashed rgba(240,232,210,.2);
}
html.lmx-noirbar .noirCart__formHead{
  display:flex; align-items:center; gap:9px; margin-bottom:12px;
  font-family:var(--noir-display); font-weight:700;
  font-size:11.5px; letter-spacing:.14em; color:rgba(240,232,210,.75);
}
html.lmx-noirbar .noirCart__formIco{ width:17px; height:17px; color:rgba(242,196,0,.7); }
html.lmx-noirbar .noirCart__field{ display:block; margin-bottom:11px; }
html.lmx-noirbar .noirCart__field > span{
  display:block; margin-bottom:5px;
  font-size:10px; letter-spacing:.14em; color:rgba(240,232,210,.45);
}
html.lmx-noirbar .noirCart__inp{
  width:100%; box-sizing:border-box; padding:11px 13px;
  border:1px solid rgba(240,232,210,.18); border-radius:9px;
  background:rgba(0,0,0,.45); color:#f5f1e6;
  font-family:inherit; font-size:13px; outline:none;
}
html.lmx-noirbar .noirCart__inp:focus{ border-color:rgba(242,196,0,.5); }
html.lmx-noirbar .noirCart__inp--area{ resize:vertical; min-height:56px; }
html.lmx-noirbar .noirCart__hint{
  margin:-4px 0 11px; font-size:11.5px; line-height:1.45;
  color:rgba(242,196,0,.65);
}

html.lmx-noirbar .noirCart__pay{
  display:block; width:100%; margin:18px 0 0; padding:15px 18px;
  font-size:13px; letter-spacing:.1em; text-align:center;
}
html.lmx-noirbar .noirCart__gift{
  display:flex; align-items:center; justify-content:center; gap:9px;
  width:100%; margin-top:10px; padding:13px 16px;
  border:1px solid rgba(242,196,0,.4); border-radius:10px;
  background:transparent; color:var(--yellow); cursor:pointer;
  font-family:var(--noir-display); font-weight:700;
  font-size:12px; letter-spacing:.1em;
  transition:background .18s, border-color .18s;
}
html.lmx-noirbar .noirCart__gift:hover{ background:rgba(242,196,0,.1); border-color:rgba(242,196,0,.7); }
html.lmx-noirbar .noirCart__giftIco{ width:16px; height:16px; }
html.lmx-noirbar .noirCart__giftHint{
  margin-top:10px; padding:11px 13px; border-radius:9px;
  border:1px solid rgba(240,232,210,.14); background:rgba(0,0,0,.35);
  font-size:12px; line-height:1.5; color:rgba(240,232,210,.6);
}
html.lmx-noirbar .noirCart__safe{
  display:flex; align-items:flex-start; gap:10px; margin-top:16px;
  color:rgba(240,232,210,.5); font-size:11.5px; line-height:1.5;
}
html.lmx-noirbar .noirCart__safe b{
  display:block; font-family:var(--noir-display); font-weight:700;
  font-size:11px; letter-spacing:.12em; color:rgba(240,232,210,.75); margin-bottom:2px;
}
html.lmx-noirbar .noirCart__safeIco{ width:17px; height:17px; color:rgba(242,196,0,.65); flex:0 0 auto; }
html.lmx-noirbar .noirCart__pays{
  display:flex; align-items:center; gap:9px; flex-wrap:wrap;
  margin-top:14px; padding-top:14px; border-top:1px solid rgba(240,232,210,.1);
  font-size:11px; color:rgba(240,232,210,.35);
}
html.lmx-noirbar .noirCart__pays i{
  font-style:normal; padding:4px 9px; border-radius:5px;
  border:1px solid rgba(240,232,210,.16); background:rgba(0,0,0,.35);
  font-family:var(--noir-display); font-weight:700;
  font-size:10px; letter-spacing:.06em; color:rgba(240,232,210,.6);
}

/* нижние боксы доверия */
html.lmx-noirbar .noirCart__trust{
  display:grid; grid-template-columns:repeat(4,minmax(0,1fr));
  gap:0; margin-top:22px; padding:18px 6px;
  position:relative; border-radius:12px;
  background:url("assets/noir_card.webp") no-repeat center;
  background-size:100% 100%;
  box-shadow:0 12px 26px rgba(0,0,0,.42);
}
html.lmx-noirbar .noirCart__trustBox{
  display:flex; align-items:flex-start; gap:12px; padding:4px 18px;
  border-right:1px solid rgba(240,232,210,.1);
}
html.lmx-noirbar .noirCart__trustBox:last-child{ border-right:0; }
html.lmx-noirbar .noirCart__trustIco{ flex:0 0 auto; color:var(--yellow); }
html.lmx-noirbar .noirCart__trustIco svg{ width:26px; height:26px; display:block; }
html.lmx-noirbar .noirCart__trustBox b{
  display:block; font-family:var(--noir-display); font-weight:700;
  font-size:12px; letter-spacing:.12em; color:var(--yellow); margin-bottom:5px;
}
html.lmx-noirbar .noirCart__trustBox span{
  font-size:12px; line-height:1.5; color:rgba(240,232,210,.55);
}

/* пустая корзина / гость */
html.lmx-noirbar .noirCart__empty{
  display:flex; flex-direction:column; align-items:center; gap:14px;
  padding:60px 20px; text-align:center;
}
html.lmx-noirbar .noirCart__emptyIco{ color:rgba(242,196,0,.35); }
html.lmx-noirbar .noirCart__emptyIco svg{ width:52px; height:52px; }
html.lmx-noirbar .noirCart__empty b{
  font-family:var(--noir-display); font-weight:700;
  font-size:17px; letter-spacing:.1em; color:#f5f1e6;
}
html.lmx-noirbar .noirCart__emptyBtn{
  width:auto; margin:0; padding:13px 30px; text-decoration:none;
  font-size:12px; letter-spacing:.1em;
}

/* строки товаров внутри заказа («Мои заказы») */
html.lmx-noirbar .noirOrd__lines{
  margin-top:10px; display:flex; flex-direction:column; gap:7px;
}
html.lmx-noirbar .noirOrd__line{
  display:flex; align-items:center; gap:10px;
  padding:7px 10px; border-radius:8px;
  border:1px solid rgba(240,232,210,.1); background:rgba(0,0,0,.3);
}
html.lmx-noirbar .noirOrd__linePic{
  width:38px; height:30px; border-radius:5px; overflow:hidden; flex:0 0 auto;
  background:rgba(0,0,0,.45); display:flex; align-items:center; justify-content:center;
  color:rgba(242,196,0,.4);
}
html.lmx-noirbar .noirOrd__linePic img{ width:100%; height:100%; object-fit:cover; display:block; }
html.lmx-noirbar .noirOrd__linePic svg{ width:16px; height:16px; }
html.lmx-noirbar .noirOrd__lineBody{
  flex:1; min-width:0; font-size:12.5px; color:rgba(240,232,210,.8);
  overflow:hidden; text-overflow:ellipsis; white-space:nowrap;
}
html.lmx-noirbar .noirOrd__lineBody i{
  display:block; font-style:normal; font-size:9.5px; letter-spacing:.14em;
  color:rgba(242,196,0,.6);
}
html.lmx-noirbar .noirOrd__lineQty{ font-size:12px; color:rgba(240,232,210,.45); flex:0 0 auto; }
html.lmx-noirbar .noirOrd__lineSum{
  font-family:var(--noir-display); font-weight:700;
  font-size:12.5px; color:var(--yellow); flex:0 0 auto; min-width:70px; text-align:right;
}

@media (max-width:1400px){
  html.lmx-noirbar .noirCart__grid{ grid-template-columns:minmax(0,1fr) 310px; gap:18px; }
  html.lmx-noirbar .noirCart__line{ grid-template-columns:110px minmax(0,1fr) auto; }
  html.lmx-noirbar .noirCart__pic{ width:110px; height:92px; }
  html.lmx-noirbar .noirCart__trust{ grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px 0; }
  html.lmx-noirbar .noirCart__trustBox:nth-child(2){ border-right:0; }
}
@media (max-width:1080px){
  html.lmx-noirbar .noirCart__grid{ grid-template-columns:1fr; }
}

/* ============================================================
 * v81: ОКНО «ПОДТВЕРЖДЕНИЕ ПОКУПКИ» (покупка за баллы).
 * Родное окно app.js (#petBuyConfirmOverlay) на десктопе
 * поднимается над карточкой товара, центрируется и получает
 * стиль проекта. Панель товара на это время прячется.
 * ============================================================ */

html.lmx-noirbar .noirPet.is-behind{ opacity:0 !important; pointer-events:none !important; }

html.lmx-noirbar #petBuyConfirmOverlay.noirConfirm{
  z-index:99998 !important;
  align-items:center !important;
  justify-content:center !important;
  padding:24px !important;
  background:rgba(0,0,0,.82) !important;
  backdrop-filter:blur(8px) !important;
  animation:none !important;
}
/* сама коробка окна (у питомцев / аксессуаров id разные — берём любой div) */
html.lmx-noirbar #petBuyConfirmOverlay.noirConfirm > div{
  width:100% !important;
  max-width:460px !important;
  border:0 !important;
  border-radius:16px !important;
  padding:34px 34px 36px !important;
  background:url("assets/noir_modal.webp") no-repeat center !important;
  background-size:100% 100% !important;
  box-shadow:0 26px 60px rgba(0,0,0,.65) !important;
  color:#f5f1e6 !important;
}
/* заголовок */
html.lmx-noirbar #petBuyConfirmOverlay.noirConfirm [class*="title"]{
  font-family:var(--noir-display) !important;
  font-weight:700 !important;
  font-size:13px !important;
  letter-spacing:.2em !important;
  color:var(--yellow) !important;
  text-transform:uppercase !important;
  margin-bottom:18px !important;
}
/* картинка товара */
html.lmx-noirbar #petBuyConfirmOverlay.noirConfirm img{
  width:120px !important; height:120px !important;
  object-fit:contain !important;
  background:transparent !important;
  border-radius:12px !important;
  margin:0 auto 14px !important;
  filter:drop-shadow(0 8px 20px rgba(0,0,0,.6));
}
/* название и подпись */
html.lmx-noirbar #petBuyConfirmOverlay.noirConfirm [class*="name"]{
  font-family:var(--noir-display) !important;
  font-weight:700 !important;
  font-size:22px !important;
  letter-spacing:.03em !important;
  color:#f5f1e6 !important;
  text-align:center !important;
}
html.lmx-noirbar #petBuyConfirmOverlay.noirConfirm [class*="sub"]{
  font-size:12px !important;
  color:rgba(240,232,210,.5) !important;
  text-align:center !important;
  margin-bottom:18px !important;
}
/* строки «стоимость» и «баланс» */
html.lmx-noirbar #petBuyConfirmOverlay.noirConfirm [class*="price-row"],
html.lmx-noirbar #petBuyConfirmOverlay.noirConfirm [class*="cost-row"]{
  border:1px solid rgba(242,196,0,.3) !important;
  border-radius:10px !important;
  background:rgba(0,0,0,.4) !important;
  padding:13px 16px !important;
  margin-bottom:8px !important;
}
html.lmx-noirbar #petBuyConfirmOverlay.noirConfirm [class*="balance-row"]{
  padding:8px 4px 0 !important;
  margin-bottom:20px !important;
}
html.lmx-noirbar #petBuyConfirmOverlay.noirConfirm [class*="row"] span:first-child{
  font-size:12.5px !important;
  letter-spacing:.06em !important;
  color:rgba(240,232,210,.6) !important;
}
html.lmx-noirbar #petBuyConfirmOverlay.noirConfirm [class*="row"] span:last-child{
  font-family:var(--noir-display) !important;
  font-weight:700 !important;
  font-size:16px !important;
}
/* кнопки: первая — жёлтая плашка, последняя — тонкая обводка */
html.lmx-noirbar #petBuyConfirmOverlay.noirConfirm button{
  font-family:var(--noir-display) !important;
  font-weight:700 !important;
  letter-spacing:.1em !important;
  border-radius:10px !important;
  padding:15px 16px !important;
  font-size:12.5px !important;
  cursor:pointer !important;
}
html.lmx-noirbar #petBuyConfirmOverlay.noirConfirm button:not(:last-of-type){
  border:0 !important;
  color:#0d0b08 !important;
  background-image:
    url("assets/noir_wear.webp"),
    var(--noir-grain),
    linear-gradient(180deg,#eec21a 0%,#d9a900 100%) !important;
  background-size:105px auto, auto, auto !important;
  background-repeat:repeat, repeat, no-repeat !important;
  background-blend-mode:multiply, normal, normal !important;
  margin-bottom:10px !important;
}
html.lmx-noirbar #petBuyConfirmOverlay.noirConfirm button:not(:last-of-type):disabled{
  background-image:none !important;
  background:rgba(255,255,255,.08) !important;
  color:rgba(240,232,210,.35) !important;
  cursor:not-allowed !important;
}
html.lmx-noirbar #petBuyConfirmOverlay.noirConfirm button:last-of-type{
  background:transparent !important;
  border:1px solid rgba(242,196,0,.4) !important;
  color:var(--yellow) !important;
}
html.lmx-noirbar #petBuyConfirmOverlay.noirConfirm button:last-of-type:hover{
  background:rgba(242,196,0,.1) !important;
  border-color:rgba(242,196,0,.7) !important;
}

/* ошибка оформления в рейке корзины */
html.lmx-noirbar .noirCart__err{ margin-top:14px; }

/* ============================================================
 * v82: ЕДИНЫЙ СТИЛЬ МОДАЛОК (десктоп, html.lmx-noirbar).
 * Окна рисует app.js (мобильный вид), поэтому мы не трогаем
 * их разметку — только переодеваем: подложка assets/noir_modal.webp,
 * золотая рамка, шрифт сайта, кнопки как на остальных экранах.
 * Мобильная версия не затронута — все правила под .lmx-noirbar.
 *
 * Покрыты: .gameModal (общее окно — ачивки, улики, допросы,
 * «новые материалы», ошибки), #pwModalOverlay (питомец —
 * приветствие и «покупка совершена»), #liminexConfirmOverlay,
 * #achModalOverlay, #traitAwardOverlay, #giftReceivedOverlay,
 * #giftSuccessModal, #shopGiftOverlay, #minigameSuccessOverlay,
 * #birthdayOverlay, #evidenceModalOverlay, #csDetailOverlay,
 * .pedit-overlay (профиль, смена пароля, оплата дела),
 * #deliveryModal, #paymentModal.
 * ============================================================ */

/* ---------- фон-затемнение ---------- */
html.lmx-noirbar .gameModal .gameModal__backdrop,
html.lmx-noirbar #liminexConfirmOverlay,
html.lmx-noirbar #achModalOverlay,
html.lmx-noirbar #traitAwardOverlay,
html.lmx-noirbar #giftReceivedOverlay,
html.lmx-noirbar #giftSuccessModal,
html.lmx-noirbar #shopGiftOverlay,
html.lmx-noirbar #minigameSuccessOverlay,
html.lmx-noirbar #birthdayOverlay,
html.lmx-noirbar #evidenceModalOverlay,
html.lmx-noirbar #csDetailOverlay,
html.lmx-noirbar #deliveryModal,
html.lmx-noirbar #pwModalOverlay,
html.lmx-noirbar .pedit-overlay{
  background:rgba(0,0,0,.82) !important;
  backdrop-filter:blur(8px) !important;
  -webkit-backdrop-filter:blur(8px) !important;
}

/* ---------- сама коробка окна ---------- */
html.lmx-noirbar .gameModal .gameModal__content,
html.lmx-noirbar #liminexConfirmOverlay > div,
html.lmx-noirbar #achModalOverlay > div,
html.lmx-noirbar #traitAwardOverlay > div,
html.lmx-noirbar #giftReceivedOverlay > div,
html.lmx-noirbar #giftSuccessModal > div,
html.lmx-noirbar #shopGiftOverlay > div,
html.lmx-noirbar #minigameSuccessOverlay > div,
html.lmx-noirbar #birthdayOverlay > div,
html.lmx-noirbar #evidenceModalOverlay > div,
html.lmx-noirbar #csDetailOverlay > div,
html.lmx-noirbar #deliveryModal > div,
html.lmx-noirbar #pwModalOverlay .pw-modal,
html.lmx-noirbar .pedit-overlay .pedit-box{
  border:0 !important;
  border-radius:16px !important;
  background:url("assets/noir_modal.webp") no-repeat center !important;
  background-size:100% 100% !important;
  box-shadow:0 26px 60px rgba(0,0,0,.65) !important;
  color:#f5f1e6 !important;
  padding:32px 32px 34px !important;
  max-width:480px !important;
}
/* у окна питомца свои нарисованные уголки — они дублируют рамку арта */
html.lmx-noirbar #pwModalOverlay .pw-modal__corner{ display:none !important; }
html.lmx-noirbar #pwModalOverlay .pw-modal{ overflow:visible !important; }

/* ---------- типографика ---------- */
html.lmx-noirbar .gameModal .gameModal__title,
html.lmx-noirbar #pwModalOverlay .pw-modal__title,
html.lmx-noirbar #pwModalOverlay .pw-modal__petname{
  font-family:var(--noir-display) !important;
  font-weight:700 !important;
  letter-spacing:.05em !important;
}
html.lmx-noirbar .gameModal .gameModal__title{
  font-size:17px !important; text-transform:uppercase !important;
}
html.lmx-noirbar .gameModal .gameModal__icon{ font-size:34px !important; }
html.lmx-noirbar .gameModal .gameModal__message{
  font-size:13.5px !important; line-height:1.65 !important;
  color:rgba(240,232,210,.72) !important;
}
html.lmx-noirbar #pwModalOverlay .pw-modal__label{
  font-family:var(--noir-display) !important; font-weight:700 !important;
  font-size:11.5px !important; letter-spacing:.2em !important;
  color:var(--yellow) !important; text-transform:uppercase !important;
}
html.lmx-noirbar #pwModalOverlay .pw-modal__title{ font-size:24px !important; color:#f5f1e6 !important; }
html.lmx-noirbar #pwModalOverlay .pw-modal__subtitle{
  font-size:13px !important; line-height:1.6 !important;
  color:rgba(240,232,210,.6) !important;
}
html.lmx-noirbar #pwModalOverlay .pw-modal__petname{ font-size:26px !important; color:var(--yellow) !important; }
html.lmx-noirbar #pwModalOverlay .pw-modal__petsub{
  font-family:var(--noir-display) !important; font-weight:500 !important;
  font-size:11.5px !important; letter-spacing:.14em !important;
  color:rgba(240,232,210,.5) !important; text-transform:uppercase !important;
}

/* ---------- кнопки ---------- */
html.lmx-noirbar .gameModal .gameModal__btn,
html.lmx-noirbar #pwModalOverlay .pw-modal__btn,
html.lmx-noirbar #liminexConfirmOverlay button,
html.lmx-noirbar #achModalOverlay button,
html.lmx-noirbar #traitAwardOverlay button,
html.lmx-noirbar #giftReceivedOverlay button,
html.lmx-noirbar #giftSuccessModal button,
html.lmx-noirbar #minigameSuccessOverlay button,
html.lmx-noirbar #birthdayOverlay button,
html.lmx-noirbar #deliveryModal button,
html.lmx-noirbar .pedit-overlay .pedit-box button:not(.iconbtn){
  font-family:var(--noir-display) !important;
  font-weight:700 !important;
  letter-spacing:.1em !important;
  font-size:12.5px !important;
  border-radius:10px !important;
  padding:14px 18px !important;
  cursor:pointer !important;
}
/* основная кнопка — жёлтая плашка с потёртостью */
html.lmx-noirbar .gameModal .gameModal__btn,
html.lmx-noirbar #pwModalOverlay .pw-modal__btn,
html.lmx-noirbar #liminexConfirmOverlay #lmxConfirmOk,
html.lmx-noirbar #achModalOverlay #achModalOk,
html.lmx-noirbar #deliveryModal #dm-submit,
html.lmx-noirbar .pedit-overlay .pedit-box .cta{
  border:0 !important;
  color:#0d0b08 !important;
  background-image:
    url("assets/noir_wear.webp"),
    var(--noir-grain),
    linear-gradient(180deg,#eec21a 0%,#d9a900 100%) !important;
  background-size:105px auto, auto, auto !important;
  background-repeat:repeat, repeat, no-repeat !important;
  background-blend-mode:multiply, normal, normal !important;
}
/* второстепенная — тонкая золотая обводка */
html.lmx-noirbar #liminexConfirmOverlay #lmxConfirmCancel,
html.lmx-noirbar #deliveryModal #dm-cancel,
html.lmx-noirbar .pedit-overlay .pedit-box .btnGhost{
  background:transparent !important;
  border:1px solid rgba(242,196,0,.4) !important;
  color:var(--yellow) !important;
}
html.lmx-noirbar #liminexConfirmOverlay #lmxConfirmCancel:hover,
html.lmx-noirbar #deliveryModal #dm-cancel:hover,
html.lmx-noirbar .pedit-overlay .pedit-box .btnGhost:hover{
  background:rgba(242,196,0,.1) !important;
  border-color:rgba(242,196,0,.7) !important;
}

/* ---------- поля ввода внутри модалок ---------- */
html.lmx-noirbar .pedit-overlay .pedit-box input,
html.lmx-noirbar .pedit-overlay .pedit-box select,
html.lmx-noirbar .pedit-overlay .pedit-box textarea,
html.lmx-noirbar #deliveryModal input,
html.lmx-noirbar #deliveryModal select,
html.lmx-noirbar #deliveryModal textarea{
  background:rgba(0,0,0,.45) !important;
  border:1px solid rgba(240,232,210,.18) !important;
  border-radius:9px !important;
  color:#f5f1e6 !important;
  font-family:inherit !important;
}
html.lmx-noirbar .pedit-overlay .pedit-box input:focus,
html.lmx-noirbar #deliveryModal input:focus,
html.lmx-noirbar #deliveryModal textarea:focus{
  border-color:rgba(242,196,0,.5) !important; outline:none !important;
}

/* ---------- корзина: уже купленные позиции ---------- */
html.lmx-noirbar .noirCart__line.is-owned{ opacity:.55; }
html.lmx-noirbar .noirCart__line.is-owned::after{ border-color:rgba(240,232,210,.18); }
html.lmx-noirbar .noirCart__ownedTag{
  position:absolute; top:10px; right:14px; z-index:2;
  padding:4px 10px; border-radius:6px;
  border:1px solid rgba(120,200,120,.4); background:rgba(120,200,120,.12);
  color:rgba(150,220,150,.95);
  font-family:var(--noir-display); font-weight:700;
  font-size:9.5px; letter-spacing:.14em;
}
html.lmx-noirbar .noirCart__warn{
  display:flex; align-items:center; justify-content:space-between; gap:16px;
  margin-bottom:12px; padding:14px 18px; border-radius:11px;
  border:1px solid rgba(242,196,0,.35); background:rgba(242,196,0,.07);
}
html.lmx-noirbar .noirCart__warn > div{ display:flex; align-items:center; gap:11px; flex-wrap:wrap; }
html.lmx-noirbar .noirCart__warnIco{ width:20px; height:20px; color:var(--yellow); flex:0 0 auto; }
html.lmx-noirbar .noirCart__warn b{
  font-family:var(--noir-display); font-weight:700;
  font-size:12.5px; letter-spacing:.06em; color:var(--yellow);
}
html.lmx-noirbar .noirCart__warn span{ font-size:12.5px; color:rgba(240,232,210,.6); }
html.lmx-noirbar .noirCart__warnBtn{
  flex:0 0 auto; padding:10px 18px; border-radius:9px; cursor:pointer;
  border:1px solid rgba(242,196,0,.45); background:rgba(0,0,0,.35);
  color:var(--yellow); font-family:var(--noir-display); font-weight:700;
  font-size:11px; letter-spacing:.1em;
}
html.lmx-noirbar .noirCart__warnBtn:hover{ background:rgba(242,196,0,.14); }
html.lmx-noirbar .noirCart__pay.is-off{ opacity:.5; filter:grayscale(.4); }

/* ============================================================
 * v80: СТРАНИЦА ЗАДАНИЯ РАССЛЕДОВАНИЯ (#task=) — две колонки:
 * карточка задания слева, досье и информатор справа.
 * ============================================================ */
html.lmx-noirbar .noirTaskSrcHidden{ display:none !important; }

html.lmx-noirbar #taskRoot .noirTask{
  max-width:1320px; margin:0 auto; padding:6px 0 60px;
}
html.lmx-noirbar .noirTask__crumbs{
  display:flex; align-items:center; gap:14px; margin-bottom:14px;
}
html.lmx-noirbar .noirTask__backSlot .iconbtn{
  width:42px; height:42px; border:1px solid rgba(242,196,0,.35);
  border-radius:10px; background:rgba(242,196,0,.05); color:var(--yellow);
}
html.lmx-noirbar .noirTask__h1{
  font-family:var(--noir-display); font-weight:700; font-size:30px;
  letter-spacing:.03em; color:#f5f1e6; line-height:1.1;
}
html.lmx-noirbar .noirTask__sub{
  font-size:11.5px; letter-spacing:.16em; color:rgba(240,232,210,.45);
  margin-top:5px; text-transform:uppercase;
}
/* прогресс дела */
html.lmx-noirbar .noirTask__prog{
  display:flex; align-items:center; gap:14px; margin-bottom:18px;
}
html.lmx-noirbar .noirTask__progLbl{
  font-family:var(--noir-display); font-size:11px; letter-spacing:.16em;
  color:rgba(240,232,210,.5); white-space:nowrap;
}
html.lmx-noirbar .noirTask__progBar{
  flex:1; height:5px; border-radius:3px; background:rgba(240,232,210,.09);
  overflow:hidden;
}
html.lmx-noirbar .noirTask__progBar i{
  display:block; height:100%; border-radius:3px;
  background:linear-gradient(90deg,#a06010,var(--yellow)); transition:width .4s;
}
html.lmx-noirbar .noirTask__progVal{
  font-family:var(--noir-display); font-size:13px; color:var(--yellow);
  white-space:nowrap;
}
/* сетка */
html.lmx-noirbar .noirTask__grid{
  display:grid; grid-template-columns:minmax(0,1fr) 372px; gap:20px; align-items:start;
}
@media (max-width:1400px){
  html.lmx-noirbar .noirTask__grid{ grid-template-columns:minmax(0,1fr) 320px; }
}
/* карточка задания на арт-подложке */
html.lmx-noirbar .noirTask__main{
  position:relative; padding:26px 26px 24px; border-radius:14px;
  background:url("assets/noir_card.webp") center/100% 100% no-repeat, #0d0b08;
}
html.lmx-noirbar .noirTask__main::after{
  content:""; position:absolute; inset:0; border-radius:14px;
  border:1px solid rgba(242,196,0,.22); pointer-events:none;
}
/* плашка «ЗАДАНИЕ N» */
html.lmx-noirbar .noirTask__plate{
  display:inline-block; margin-bottom:18px; padding:9px 26px;
  font-family:var(--noir-display); font-weight:700; font-size:15px;
  letter-spacing:.14em; color:#17130a;
  background:url("assets/noir_bar.webp") center/100% 100% no-repeat, var(--yellow);
}
html.lmx-noirbar .noirTask__textSlot .taskText{
  font-size:14.5px; line-height:1.75; color:rgba(240,232,210,.82);
}
html.lmx-noirbar .noirTask__textSlot .taskText p{ margin:0 0 12px; }
/* прикреплённые материалы */
html.lmx-noirbar .noirTask__mat{ margin-top:20px; }
html.lmx-noirbar .noirTask__matHead{
  display:flex; align-items:center; gap:12px; margin-bottom:12px;
}
html.lmx-noirbar .noirTask__matHead span{
  font-family:var(--noir-display); font-size:11.5px; letter-spacing:.16em;
  color:rgba(240,232,210,.55); white-space:nowrap;
}
html.lmx-noirbar .noirTask__matHead i{
  flex:1; height:1px; border-top:1px dashed rgba(242,196,0,.35);
}
html.lmx-noirbar .noirTask__matSlot .taskMediaStack{ margin-top:0 !important; }
html.lmx-noirbar .noirTask__matSlot .taskGallery{
  grid-template-columns:repeat(auto-fill,minmax(150px,1fr)) !important;
}
/* уведомления (дело пройдено, бонусный код) */
html.lmx-noirbar .noirTask__noticeSlot:empty{ display:none; }
html.lmx-noirbar .noirTask__notice{ margin:16px 0 0 !important; }
/* поле ответа */
html.lmx-noirbar .noirTask__ans{ margin-top:22px; }
html.lmx-noirbar .noirTask__ansHead{
  font-family:var(--noir-display); font-size:11.5px; letter-spacing:.16em;
  color:rgba(240,232,210,.55); margin-bottom:10px;
}
html.lmx-noirbar .noirTask__ansSlot .field{ margin:0; }
html.lmx-noirbar .noirTask__ansSlot .field .label{ display:none; }
html.lmx-noirbar .noirTask__ansSlot .input{
  width:100%; box-sizing:border-box; padding:15px 18px; font-size:14px;
  color:#f5f1e6; background:rgba(0,0,0,.4);
  border:1px solid rgba(242,196,0,.4); border-radius:10px;
}
html.lmx-noirbar .noirTask__ansSlot .input:focus{
  outline:none; border-color:rgba(242,196,0,.75);
}
html.lmx-noirbar .noirTask__ansSlot .taskChoiceBtn{
  border-color:rgba(242,196,0,.35) !important; border-radius:10px;
}
html.lmx-noirbar .noirTask__docLine{
  margin-top:14px; font-size:12px; color:rgba(240,232,210,.45);
}
/* кнопки под заданием */
html.lmx-noirbar .noirTask__actions{
  display:flex; gap:14px; margin-top:18px; flex-wrap:wrap;
}
html.lmx-noirbar .noirTask__btn{
  flex:1; min-width:190px; margin:0 !important; padding:15px 20px;
  font-family:var(--noir-display); font-size:13px; font-weight:700;
  letter-spacing:.1em; border-radius:10px; cursor:pointer;
}
html.lmx-noirbar .noirTask__btn--ghost{
  background:transparent; color:var(--yellow);
  border:1px solid rgba(242,196,0,.45);
}
html.lmx-noirbar .noirTask__btn--ghost small{ display:none; }
html.lmx-noirbar .noirTask__btn--go{
  border:0; color:#17130a;
  background:url("assets/noir_bar.webp") center/100% 100% no-repeat, var(--yellow);
}
html.lmx-noirbar .noirTask__btn--go[disabled]{ opacity:.5; }
/* правая рейка */
html.lmx-noirbar .noirTask__rail{
  display:flex; flex-direction:column; gap:16px; position:sticky; top:18px;
}
html.lmx-noirbar .noirTask__box,
html.lmx-noirbar .noirTask__spike{
  position:relative; padding:18px 18px 20px; border-radius:14px;
  background:url("assets/noir_card.webp") center/100% 100% no-repeat, #0d0b08;
}
html.lmx-noirbar .noirTask__box::after,
html.lmx-noirbar .noirTask__spike::after{
  content:""; position:absolute; inset:0; border-radius:14px;
  border:1px solid rgba(242,196,0,.22); pointer-events:none;
}
html.lmx-noirbar .noirTask__boxHead{
  font-family:var(--noir-display); font-size:13px; letter-spacing:.14em;
  color:#f5f1e6; margin-bottom:14px;
}
html.lmx-noirbar .noirTask__tiles{
  display:grid; grid-template-columns:1fr 1fr; gap:10px;
}
html.lmx-noirbar .noirTask__tile{
  display:flex; align-items:center; gap:9px; padding:13px 12px;
  background:rgba(0,0,0,.32); border:1px solid rgba(242,196,0,.3);
  border-radius:10px; cursor:pointer; text-align:left;
}
html.lmx-noirbar .noirTask__tile:hover{ border-color:rgba(242,196,0,.6); }
html.lmx-noirbar .noirTask__tileIco{ color:var(--yellow); flex:0 0 auto; }
html.lmx-noirbar .noirTask__tileIco svg{ width:19px; height:19px; display:block; }
html.lmx-noirbar .noirTask__tileLbl{
  flex:1; min-width:0; font-family:var(--noir-display); font-size:11px;
  letter-spacing:.08em; color:rgba(240,232,210,.8);
}
html.lmx-noirbar .noirTask__tileVal{
  font-family:var(--noir-display); font-size:12px; font-weight:700;
  color:#17130a; background:var(--yellow); border-radius:5px; padding:2px 7px;
}
html.lmx-noirbar .noirTask__tileVal.is-zero{
  background:rgba(240,232,210,.12); color:rgba(240,232,210,.5);
}
html.lmx-noirbar .noirTask__all{
  width:100%; margin-top:12px; padding:12px; cursor:pointer;
  font-family:var(--noir-display); font-size:12px; letter-spacing:.12em;
  color:var(--yellow); background:transparent;
  border:1px solid rgba(242,196,0,.45); border-radius:10px;
}
html.lmx-noirbar .noirTask__all:hover{ background:rgba(242,196,0,.08); }
/* информатор */
html.lmx-noirbar .noirTask__spikeHead{
  font-family:var(--noir-display); font-size:13px; letter-spacing:.14em;
  color:rgba(240,232,210,.65); margin-bottom:12px;
}
html.lmx-noirbar .noirTask__spikeHead b{ color:var(--yellow); }
html.lmx-noirbar .noirTask__spikeBody{ display:flex; gap:12px; align-items:flex-start; }
html.lmx-noirbar .noirTask__spikePic{ flex:0 0 108px; }
html.lmx-noirbar .noirTask__spikePic img{
  width:100%; display:block; filter:drop-shadow(0 6px 16px rgba(0,0,0,.6));
}
html.lmx-noirbar .noirTask__spikeText{
  font-size:12.5px; line-height:1.6; color:rgba(240,232,210,.62); font-style:italic;
}
html.lmx-noirbar .noirTask__tariff{
  margin-top:14px; font-family:var(--noir-display); font-size:11px;
  letter-spacing:.1em; color:rgba(240,232,210,.55);
}
html.lmx-noirbar .noirTask__tariff b{ color:var(--yellow); }
html.lmx-noirbar .noirTask__hintBox{
  margin-top:12px; padding:12px 14px; border-radius:10px;
  background:rgba(0,0,0,.35); border:1px solid rgba(242,196,0,.25);
}
html.lmx-noirbar .noirTask__hintHead{
  font-family:var(--noir-display); font-size:10px; letter-spacing:.16em;
  color:rgba(240,232,210,.45); margin-bottom:6px;
}
html.lmx-noirbar .noirTask__hintText{
  font-size:12.5px; line-height:1.6; color:rgba(240,232,210,.85);
}
html.lmx-noirbar .noirTask__hintText--locked{ color:rgba(240,232,210,.4); }
html.lmx-noirbar .noirTask__spikeBtn{ margin-top:14px; }
html.lmx-noirbar .noirTask__btn--hint{
  width:100%; flex:none; border:0; color:#17130a;
  background:url("assets/noir_bar.webp") center/100% 100% no-repeat, var(--yellow);
}
html.lmx-noirbar .noirTask__btn--hint[disabled]{
  background:rgba(240,232,210,.1); color:rgba(240,232,210,.45); cursor:default;
}

/* ============================================================
 * v81: УЛИКИ (#clues=) — список слева, карточка улики справа.
 * ============================================================ */
html.lmx-noirbar .noirCluesSrcHidden{ display:none !important; }

html.lmx-noirbar #cluesRoot .noirClues{
  max-width:1400px; margin:0 auto; padding:6px 0 60px;
}
html.lmx-noirbar .noirClues__top{
  display:flex; align-items:center; gap:16px; margin-bottom:18px;
}
html.lmx-noirbar .noirClues__back{
  width:42px; height:42px; border:1px solid rgba(242,196,0,.35);
  border-radius:10px; background:rgba(242,196,0,.05); color:var(--yellow);
}
html.lmx-noirbar .noirClues__h1{
  font-family:var(--noir-display); font-weight:700; font-size:28px;
  letter-spacing:.06em; color:#f5f1e6; line-height:1;
}
html.lmx-noirbar .noirClues__sub{
  font-size:11.5px; letter-spacing:.16em; color:rgba(240,232,210,.45); margin-top:6px;
}
html.lmx-noirbar .noirClues__kpis{ margin-left:auto; display:flex; gap:10px; }
html.lmx-noirbar .noirClues__kpi{
  display:flex; align-items:center; gap:8px; padding:9px 16px;
  border:1px solid rgba(242,196,0,.35); border-radius:10px; background:rgba(0,0,0,.3);
}
html.lmx-noirbar .noirClues__kpi i{
  font-style:normal; font-family:var(--noir-display); font-size:10.5px;
  letter-spacing:.14em; color:rgba(240,232,210,.5);
}
html.lmx-noirbar .noirClues__kpi b{
  font-family:var(--noir-display); font-size:15px; color:var(--yellow);
}
html.lmx-noirbar .noirClues__grid{
  display:grid; grid-template-columns:400px minmax(0,1fr); gap:18px; align-items:start;
}
@media (max-width:1400px){
  html.lmx-noirbar .noirClues__grid{ grid-template-columns:330px minmax(0,1fr); }
}
/* левая колонка */
html.lmx-noirbar .noirClues__list,
html.lmx-noirbar .noirClues__detail{
  position:relative; padding:16px; border-radius:14px;
  background:url("assets/noir_card.webp") center/100% 100% no-repeat, #0d0b08;
}
html.lmx-noirbar .noirClues__list::after,
html.lmx-noirbar .noirClues__detail::after{
  content:""; position:absolute; inset:0; border-radius:14px;
  border:1px solid rgba(242,196,0,.22); pointer-events:none;
}
html.lmx-noirbar .noirClues__search{
  display:flex; align-items:center; gap:10px; padding:11px 14px;
  border:1px solid rgba(242,196,0,.3); border-radius:10px; background:rgba(0,0,0,.35);
}
html.lmx-noirbar .noirClues__search svg{ width:17px; height:17px; color:rgba(242,196,0,.7); flex:0 0 auto; }
html.lmx-noirbar .noirClues__search input{
  flex:1; min-width:0; border:0; outline:none; background:transparent;
  color:#f5f1e6; font-size:13px; font-family:inherit;
}
html.lmx-noirbar .noirClues__chips{
  display:flex; flex-wrap:wrap; gap:7px; margin:12px 0 12px;
}
html.lmx-noirbar .noirClues__chip{
  padding:7px 13px; cursor:pointer; border-radius:8px;
  font-family:var(--noir-display); font-size:10.5px; letter-spacing:.1em;
  color:rgba(240,232,210,.6); background:transparent;
  border:1px solid rgba(240,232,210,.16);
}
html.lmx-noirbar .noirClues__chip.is-on{
  color:#17130a; background:var(--yellow); border-color:var(--yellow);
}
html.lmx-noirbar .noirClues__rows{
  display:flex; flex-direction:column; gap:8px;
  max-height:62vh; overflow-y:auto; padding-right:4px;
}
html.lmx-noirbar .noirClues__row{
  display:flex; align-items:center; gap:11px; width:100%; padding:10px;
  cursor:pointer; text-align:left; border-radius:10px;
  background:rgba(0,0,0,.3); border:1px solid rgba(240,232,210,.1);
}
html.lmx-noirbar .noirClues__row:hover{ border-color:rgba(242,196,0,.45); }
html.lmx-noirbar .noirClues__row.is-on{
  border-color:var(--yellow); background:rgba(242,196,0,.08);
}
html.lmx-noirbar .noirClues__thumb{
  width:52px; height:52px; flex:0 0 auto; border-radius:8px; overflow:hidden;
  background:rgba(240,232,210,.06); display:flex; align-items:center; justify-content:center;
}
html.lmx-noirbar .noirClues__thumb img{ width:100%; height:100%; object-fit:cover; display:block; }
html.lmx-noirbar .noirClues__thumb i{ font-style:normal; font-size:20px; }
html.lmx-noirbar .noirClues__rowBody{ flex:1; min-width:0; display:block; }
html.lmx-noirbar .noirClues__rowTitle{
  display:block; font-family:var(--noir-display); font-size:13px; font-weight:700;
  color:#f5f1e6; line-height:1.25;
}
html.lmx-noirbar .noirClues__rowSub{
  display:block; margin-top:3px; font-size:10.5px; letter-spacing:.12em;
  color:rgba(240,232,210,.45);
}
html.lmx-noirbar .noirClues__key,
html.lmx-noirbar .noirClues__keyBig{
  flex:0 0 auto; padding:4px 9px; border-radius:6px;
  font-family:var(--noir-display); font-size:10px; letter-spacing:.1em;
  color:#17130a; background:var(--yellow);
}
html.lmx-noirbar .noirClues__empty,
html.lmx-noirbar .noirClues__count{
  font-size:11.5px; color:rgba(240,232,210,.4); padding:10px 2px 0;
}
html.lmx-noirbar .noirClues__lockHead{
  margin:14px 0 8px; font-family:var(--noir-display); font-size:10.5px;
  letter-spacing:.16em; color:rgba(240,232,210,.4);
}
html.lmx-noirbar .noirClues__lockSlot .docCard{ margin-bottom:8px; }
/* правая карточка */
html.lmx-noirbar .noirClues__detail{ padding:20px 22px 22px; min-height:420px; }
html.lmx-noirbar .noirClues__dHead{
  display:flex; align-items:flex-start; gap:14px; padding-bottom:14px;
  border-bottom:1px solid rgba(242,196,0,.18);
}
html.lmx-noirbar .noirClues__dTitle{
  font-family:var(--noir-display); font-weight:700; font-size:20px; color:#f5f1e6;
  line-height:1.2;
}
html.lmx-noirbar .noirClues__dKind{
  margin-top:5px; font-size:10.5px; letter-spacing:.16em; color:rgba(240,232,210,.45);
}
html.lmx-noirbar .noirClues__keyBig{ margin-left:auto; }
html.lmx-noirbar .noirClues__dBody{
  display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:22px; margin-top:18px;
}
@media (max-width:1400px){
  html.lmx-noirbar .noirClues__dBody{ grid-template-columns:minmax(0,1fr); }
}
html.lmx-noirbar .noirClues__pic{
  border-radius:12px; overflow:hidden; background:rgba(0,0,0,.45);
  border:1px solid rgba(240,232,210,.1);
}
html.lmx-noirbar .noirClues__pic img,
html.lmx-noirbar .noirClues__pic video{
  width:100%; display:block; max-height:460px; object-fit:contain; cursor:zoom-in;
}
html.lmx-noirbar .noirClues__strip{
  display:flex; gap:8px; margin-top:10px; flex-wrap:wrap;
}
html.lmx-noirbar .noirClues__strip img{
  width:72px; height:72px; object-fit:cover; border-radius:8px; cursor:zoom-in;
  border:1px solid rgba(240,232,210,.12);
}
html.lmx-noirbar .noirClues__audio audio{ width:100%; }
html.lmx-noirbar .noirClues__pdf{
  padding:26px; text-align:center; border-radius:12px; background:rgba(0,0,0,.4);
  border:1px dashed rgba(242,196,0,.3); color:rgba(240,232,210,.6);
}
html.lmx-noirbar .noirClues__dLabel{
  font-family:var(--noir-display); font-size:10.5px; letter-spacing:.16em;
  color:rgba(240,232,210,.45); margin-bottom:8px;
}
html.lmx-noirbar .noirClues__dText{
  font-size:13.5px; line-height:1.7; color:rgba(240,232,210,.82); margin-bottom:18px;
  white-space:pre-line;
}
html.lmx-noirbar .noirClues__tags{
  display:flex; flex-wrap:wrap; gap:7px; margin-bottom:18px;
}
html.lmx-noirbar .noirClues__tags span{
  padding:6px 12px; border-radius:7px; font-size:11.5px;
  color:var(--yellow); background:rgba(242,196,0,.1);
  border:1px solid rgba(242,196,0,.32);
}
html.lmx-noirbar .noirClues__note{
  width:100%; box-sizing:border-box; padding:12px 14px; resize:vertical;
  font-family:inherit; font-size:13px; color:#f5f1e6;
  background:rgba(0,0,0,.4); border:1px solid rgba(242,196,0,.3); border-radius:10px;
}
html.lmx-noirbar .noirClues__note:focus{ outline:none; border-color:rgba(242,196,0,.7); }
html.lmx-noirbar .noirClues__save{
  margin-top:10px; padding:10px 16px; cursor:pointer; border-radius:9px;
  font-family:var(--noir-display); font-size:11px; letter-spacing:.1em;
  color:var(--yellow); background:transparent; border:1px solid rgba(242,196,0,.45);
}
html.lmx-noirbar .noirClues__imp{
  display:flex; align-items:center; gap:12px; margin-top:18px;
  font-family:var(--noir-display); font-size:11px; letter-spacing:.12em;
  color:rgba(240,232,210,.6);
}
html.lmx-noirbar .noirClues__toggle{
  width:46px; height:24px; margin-left:auto; padding:0; cursor:pointer;
  border-radius:100px; background:rgba(240,232,210,.14);
  border:1px solid rgba(240,232,210,.2); position:relative;
}
html.lmx-noirbar .noirClues__toggle i{
  position:absolute; top:2px; left:2px; width:18px; height:18px; border-radius:50%;
  background:rgba(240,232,210,.6); transition:left .18s, background .18s;
}
html.lmx-noirbar .noirClues__toggle.is-on{
  background:rgba(242,196,0,.35); border-color:var(--yellow);
}
html.lmx-noirbar .noirClues__toggle.is-on i{ left:24px; background:var(--yellow); }
html.lmx-noirbar .noirClues__dActions{
  display:flex; gap:12px; margin-top:20px; flex-wrap:wrap;
}
html.lmx-noirbar .noirClues__act{
  flex:1; min-width:170px; padding:14px 18px; cursor:pointer; text-align:center;
  text-decoration:none; border-radius:10px;
  font-family:var(--noir-display); font-size:12.5px; letter-spacing:.1em;
  color:var(--yellow); background:transparent; border:1px solid rgba(242,196,0,.45);
}
html.lmx-noirbar .noirClues__act--go{
  border:0; color:#17130a;
  background:url("assets/noir_bar.webp") center/100% 100% no-repeat, var(--yellow);
}
html.lmx-noirbar .noirClues__ph{
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  gap:12px; min-height:380px; text-align:center;
}
html.lmx-noirbar .noirClues__phIco{ font-size:34px; opacity:.35; }
html.lmx-noirbar .noirClues__phText{
  max-width:280px; font-size:13px; line-height:1.6; color:rgba(240,232,210,.45);
}

/* ============================================================
 * v82: ДОПРОСНАЯ (#interrogations= / #interrogation=).
 * Три колонки: свидетели — диалог с доком вопросов — досье.
 * ============================================================ */
html.lmx-noirbar .noirIntrSrcHidden{ display:none !important; }

html.lmx-noirbar #interrogationsRoot .noirIntr,
html.lmx-noirbar #interrogationRoot .noirIntr{
  max-width:1500px; margin:0 auto; padding:6px 0 60px;
}
html.lmx-noirbar .noirIntr__top{
  display:flex; align-items:center; gap:16px; margin-bottom:18px;
}
html.lmx-noirbar .noirIntr__back{
  width:42px; height:42px; border:1px solid rgba(242,196,0,.35);
  border-radius:10px; background:rgba(242,196,0,.05); color:var(--yellow);
}
html.lmx-noirbar .noirIntr__h1{
  font-family:var(--noir-display); font-weight:700; font-size:28px;
  letter-spacing:.06em; color:#f5f1e6; line-height:1;
}
html.lmx-noirbar .noirIntr__sub{
  font-size:11.5px; letter-spacing:.16em; color:rgba(240,232,210,.45); margin-top:6px;
}
html.lmx-noirbar .noirIntr__kpis{ margin-left:auto; display:flex; gap:10px; }
html.lmx-noirbar .noirIntr__kpi{
  display:flex; align-items:center; gap:8px; padding:9px 16px;
  border:1px solid rgba(242,196,0,.35); border-radius:10px; background:rgba(0,0,0,.3);
}
html.lmx-noirbar .noirIntr__kpi i{
  font-style:normal; font-family:var(--noir-display); font-size:10.5px;
  letter-spacing:.14em; color:rgba(240,232,210,.5);
}
html.lmx-noirbar .noirIntr__kpi b{ font-family:var(--noir-display); font-size:15px; color:var(--yellow); }

html.lmx-noirbar .noirIntr__grid{
  display:grid; grid-template-columns:300px minmax(0,1fr) 330px; gap:16px; align-items:start;
}
@media (max-width:1500px){
  html.lmx-noirbar .noirIntr__grid{ grid-template-columns:250px minmax(0,1fr) 290px; }
}
html.lmx-noirbar .noirIntr__people,
html.lmx-noirbar .noirIntr__chat,
html.lmx-noirbar .noirIntr__box{
  position:relative; border-radius:14px;
  background:url("assets/noir_card.webp") center/100% 100% no-repeat, #0d0b08;
}
html.lmx-noirbar .noirIntr__people::after,
html.lmx-noirbar .noirIntr__chat::after,
html.lmx-noirbar .noirIntr__box::after{
  content:""; position:absolute; inset:0; border-radius:14px;
  border:1px solid rgba(242,196,0,.22); pointer-events:none;
}
/* левая колонка — свидетели */
html.lmx-noirbar .noirIntr__people{ padding:16px 14px; }
html.lmx-noirbar .noirIntr__pplHead,
html.lmx-noirbar .noirIntr__boxHead,
html.lmx-noirbar .noirIntr__dockHead{
  font-family:var(--noir-display); font-size:10.5px; letter-spacing:.16em;
  color:rgba(240,232,210,.5); margin-bottom:12px;
}
html.lmx-noirbar .noirIntr__pplList{ display:flex; flex-direction:column; gap:8px; }
html.lmx-noirbar .noirIntr__ppl{
  display:flex; align-items:center; gap:11px; padding:10px; cursor:pointer;
  border-radius:10px; text-decoration:none;
  background:rgba(0,0,0,.3); border:1px solid rgba(240,232,210,.1);
}
html.lmx-noirbar .noirIntr__ppl:hover{ border-color:rgba(242,196,0,.45); }
html.lmx-noirbar .noirIntr__ppl.is-on{ border-color:var(--yellow); background:rgba(242,196,0,.08); }
html.lmx-noirbar .noirIntr__pplAva{
  width:46px; height:46px; flex:0 0 auto; border-radius:50%; overflow:hidden;
  background:rgba(240,232,210,.08); display:flex; align-items:center; justify-content:center;
}
html.lmx-noirbar .noirIntr__pplAva img{ width:100%; height:100%; object-fit:cover; display:block; }
html.lmx-noirbar .noirIntr__pplAva i{
  font-style:normal; font-family:var(--noir-display); font-size:17px; color:rgba(242,196,0,.75);
}
html.lmx-noirbar .noirIntr__pplBody{ flex:1; min-width:0; }
html.lmx-noirbar .noirIntr__pplName{
  display:block; font-family:var(--noir-display); font-size:13px; font-weight:700; color:#f5f1e6;
}
html.lmx-noirbar .noirIntr__pplRole{
  display:block; margin-top:3px; font-size:10.5px; letter-spacing:.1em;
  color:rgba(240,232,210,.45); text-transform:uppercase;
}
html.lmx-noirbar .noirIntr__pplKey{
  padding:3px 8px; border-radius:6px; font-family:var(--noir-display); font-size:9.5px;
  letter-spacing:.08em; color:#17130a; background:var(--yellow);
}
html.lmx-noirbar .noirIntr__pplCnt{
  font-family:var(--noir-display); font-size:11px; color:rgba(242,196,0,.85);
}
html.lmx-noirbar .noirIntr__empty{ font-size:12px; color:rgba(240,232,210,.4); padding:6px 2px; }
/* центр — допрос */
html.lmx-noirbar .noirIntr__chat{ padding:18px; display:flex; flex-direction:column; }
html.lmx-noirbar .noirIntr__who{
  display:flex; align-items:center; gap:14px; padding-bottom:14px;
  border-bottom:1px solid rgba(242,196,0,.18);
}
html.lmx-noirbar .noirIntr__whoAva{
  width:64px; height:64px; flex:0 0 auto; border-radius:12px; overflow:hidden;
  background:rgba(240,232,210,.08); display:flex; align-items:center; justify-content:center;
  border:1px solid rgba(242,196,0,.3);
}
html.lmx-noirbar .noirIntr__whoAva img{ width:100%; height:100%; object-fit:cover; display:block; }
html.lmx-noirbar .noirIntr__whoAva i{ font-style:normal; font-size:24px; color:rgba(242,196,0,.7); }
html.lmx-noirbar .noirIntr__whoBody{ flex:1; min-width:0; }
html.lmx-noirbar .noirIntr__whoName{
  font-family:var(--noir-display); font-weight:700; font-size:20px; color:#f5f1e6;
}
html.lmx-noirbar .noirIntr__whoRole{
  margin-top:4px; font-size:10.5px; letter-spacing:.16em; color:var(--yellow);
  text-transform:uppercase;
}
html.lmx-noirbar .noirIntr__whoChips{ display:flex; flex-wrap:wrap; gap:6px; margin-top:8px; }
html.lmx-noirbar .noirIntr__whoChips span{
  padding:4px 10px; border-radius:6px; font-size:11px; color:rgba(240,232,210,.7);
  background:rgba(240,232,210,.07); border:1px solid rgba(240,232,210,.15);
}
html.lmx-noirbar .noirIntr__askedBox{
  flex:0 0 auto; text-align:right; padding:8px 14px; border-radius:10px;
  background:rgba(0,0,0,.3); border:1px solid rgba(242,196,0,.28);
}
html.lmx-noirbar .noirIntr__askedBox i{
  display:block; font-style:normal; font-family:var(--noir-display);
  font-size:9.5px; letter-spacing:.14em; color:rgba(240,232,210,.45);
}
html.lmx-noirbar .noirIntr__askedBox b{
  font-family:var(--noir-display); font-size:15px; color:var(--yellow);
}
/* лента диалога */
html.lmx-noirbar .noirIntr__log{
  flex:1; min-height:280px; max-height:56vh; overflow-y:auto;
  padding:16px 4px 4px; margin-top:4px;
}
html.lmx-noirbar .noirIntr__logPh{
  padding:26px 10px; text-align:center; font-size:13px; color:rgba(240,232,210,.4);
}
html.lmx-noirbar .noirIntr__log .intrDialog{ display:flex; flex-direction:column; gap:14px; }
html.lmx-noirbar .noirIntr__log .intrQbubble{
  max-width:76%; margin-left:auto; padding:12px 16px; border-radius:14px 14px 4px 14px;
  font-size:13.5px; line-height:1.55; color:#17130a; background:var(--yellow); border:0;
}
html.lmx-noirbar .noirIntr__log .intrA{ display:flex; gap:10px; align-items:flex-end; }
html.lmx-noirbar .noirIntr__log .intrA__ava{
  width:34px; height:34px; flex:0 0 auto; border-radius:50%;
  background-size:cover; background-position:center;
}
html.lmx-noirbar .noirIntr__log .intrAbubble{
  max-width:80%; padding:12px 16px; border-radius:14px 14px 14px 4px;
  font-size:13.5px; line-height:1.6; color:rgba(240,232,210,.85);
  background:rgba(240,232,210,.06); border:1px solid rgba(240,232,210,.12);
}
/* док вопросов */
html.lmx-noirbar .noirIntr__dock{
  margin-top:14px; padding:14px; border-radius:12px;
  background:rgba(0,0,0,.42); border:1px solid rgba(242,196,0,.25);
}
html.lmx-noirbar .noirIntr__dockList{ display:flex; flex-direction:column; gap:8px; }
html.lmx-noirbar .noirIntr__dockList .intrAsks{ display:flex; flex-direction:column; gap:8px; }
html.lmx-noirbar .noirIntr__dockList .intrAskBtn{
  display:flex; align-items:center; gap:10px; width:100%; padding:12px 14px;
  cursor:pointer; text-align:left; border-radius:10px;
  font-size:13px; color:#f5f1e6;
  background:rgba(240,232,210,.05); border:1px solid rgba(240,232,210,.14);
}
html.lmx-noirbar .noirIntr__dockList .intrAskBtn:hover{
  border-color:var(--yellow); background:rgba(242,196,0,.08);
}
html.lmx-noirbar .noirIntr__dockList .intrAskBtn__ico{ color:var(--yellow); flex:0 0 auto; }
html.lmx-noirbar .noirIntr__dockList .intrAskBtn__ico svg{ width:17px; height:17px; }
html.lmx-noirbar .noirIntr__dockList .intrAskBtn__q{ flex:1; min-width:0; }
html.lmx-noirbar .noirIntr__dockList .intrAskBtn__arrow{ color:rgba(242,196,0,.6); }
html.lmx-noirbar .noirIntr__dockList .intrAskBtn--confront{
  border-color:rgba(242,196,0,.55); background:rgba(242,196,0,.1);
}
html.lmx-noirbar .noirIntr__dockList .intrLocked{
  display:flex; align-items:center; gap:8px; padding:11px 14px; border-radius:10px;
  font-size:12.5px; color:rgba(240,232,210,.4);
  background:rgba(240,232,210,.03); border:1px dashed rgba(240,232,210,.15);
}
/* правая рейка */
html.lmx-noirbar .noirIntr__rail{ display:flex; flex-direction:column; gap:14px; position:sticky; top:18px; }
html.lmx-noirbar .noirIntr__box{ padding:16px; }
html.lmx-noirbar .noirIntr__box .intrSummary{
  font-size:13px; line-height:1.65; color:rgba(240,232,210,.78);
}
html.lmx-noirbar .noirIntr__tips{ margin:0; padding-left:18px; }
html.lmx-noirbar .noirIntr__tips li{
  font-size:12.5px; line-height:1.6; color:rgba(240,232,210,.6); margin-bottom:8px;
}
html.lmx-noirbar .noirIntr__mapSlot:empty{ display:none; }
html.lmx-noirbar .noirIntr__mapSlot .showMapBtn{ width:100%; margin-top:12px; }
html.lmx-noirbar .noirIntr__matSlot .taskMediaStack{ margin-top:0 !important; }
html.lmx-noirbar .noirIntr__matSlot img{ border-radius:10px; }
html.lmx-noirbar .noirIntr__navBtns{ display:flex; flex-direction:column; gap:10px; }
html.lmx-noirbar .noirIntr__navBtn{
  width:100%; margin:0 !important; padding:13px 16px; cursor:pointer; border-radius:10px;
  font-family:var(--noir-display); font-size:12px; letter-spacing:.1em;
}
html.lmx-noirbar .noirIntr__navBtn.btnGhost{
  color:var(--yellow); background:transparent; border:1px solid rgba(242,196,0,.45);
}
html.lmx-noirbar .noirIntr__navBtn.cta{
  border:0; color:#17130a;
  background:url("assets/noir_bar.webp") center/100% 100% no-repeat, var(--yellow);
}
html.lmx-noirbar .noirIntr__ph{
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  gap:12px; min-height:420px; text-align:center; padding:20px;
}
html.lmx-noirbar .noirIntr__phIco{ font-size:34px; opacity:.35; }
html.lmx-noirbar .noirIntr__phText{
  max-width:320px; font-size:13px; line-height:1.6; color:rgba(240,232,210,.45);
}

/* ============================================================
 * v83: ФИГУРАНТЫ — картотека (#persons= / #person=).
 * Слева карточки по ролям, справа досье.
 * ============================================================ */
html.lmx-noirbar .noirPrsSrcHidden{ display:none !important; }

html.lmx-noirbar #personsRoot .noirPrs,
html.lmx-noirbar #personRoot .noirPrs{
  max-width:1400px; margin:0 auto; padding:6px 0 60px;
}
html.lmx-noirbar .noirPrs__top{ display:flex; align-items:center; gap:16px; margin-bottom:18px; }
html.lmx-noirbar .noirPrs__back{
  width:42px; height:42px; border:1px solid rgba(242,196,0,.35);
  border-radius:10px; background:rgba(242,196,0,.05); color:var(--yellow);
}
html.lmx-noirbar .noirPrs__h1{
  font-family:var(--noir-display); font-weight:700; font-size:28px;
  letter-spacing:.06em; color:#f5f1e6; line-height:1;
}
html.lmx-noirbar .noirPrs__sub{
  font-size:11.5px; letter-spacing:.16em; color:rgba(240,232,210,.45); margin-top:6px;
}
html.lmx-noirbar .noirPrs__kpis{ margin-left:auto; display:flex; gap:10px; }
html.lmx-noirbar .noirPrs__kpi{
  display:flex; align-items:center; gap:8px; padding:9px 16px;
  border:1px solid rgba(242,196,0,.35); border-radius:10px; background:rgba(0,0,0,.3);
}
html.lmx-noirbar .noirPrs__kpi i{
  font-style:normal; font-family:var(--noir-display); font-size:10.5px;
  letter-spacing:.14em; color:rgba(240,232,210,.5);
}
html.lmx-noirbar .noirPrs__kpi b{ font-family:var(--noir-display); font-size:15px; color:var(--yellow); }

html.lmx-noirbar .noirPrs__grid{
  display:grid; grid-template-columns:360px minmax(0,1fr); gap:18px; align-items:start;
}
@media (max-width:1400px){
  html.lmx-noirbar .noirPrs__grid{ grid-template-columns:310px minmax(0,1fr); }
}
html.lmx-noirbar .noirPrs__list,
html.lmx-noirbar .noirPrs__dos{
  position:relative; padding:16px; border-radius:14px;
  background:url("assets/noir_card.webp") center/100% 100% no-repeat, #0d0b08;
}
html.lmx-noirbar .noirPrs__list::after,
html.lmx-noirbar .noirPrs__dos::after{
  content:""; position:absolute; inset:0; border-radius:14px;
  border:1px solid rgba(242,196,0,.22); pointer-events:none;
}
/* группы ролей */
html.lmx-noirbar .noirPrs__group{ margin-bottom:16px; }
html.lmx-noirbar .noirPrs__groupHead{
  display:flex; align-items:center; gap:10px; margin-bottom:10px;
}
html.lmx-noirbar .noirPrs__groupHead span{
  font-family:var(--noir-display); font-size:10.5px; letter-spacing:.16em;
  color:rgba(240,232,210,.5); white-space:nowrap;
}
html.lmx-noirbar .noirPrs__groupHead i{ flex:1; height:1px; border-top:1px dashed rgba(242,196,0,.28); }
html.lmx-noirbar .noirPrs__groupHead b{
  font-family:var(--noir-display); font-size:11px; color:rgba(242,196,0,.8);
}
/* карточка человека */
html.lmx-noirbar .noirPrs__card{
  display:flex; align-items:center; gap:12px; padding:10px; margin-bottom:8px;
  cursor:pointer; text-decoration:none; border-radius:10px;
  background:rgba(0,0,0,.3); border:1px solid rgba(240,232,210,.1);
  border-left:3px solid var(--rc,rgba(240,232,210,.3));
}
html.lmx-noirbar .noirPrs__card:hover{ border-color:rgba(242,196,0,.45); border-left-color:var(--rc); }
html.lmx-noirbar .noirPrs__card.is-on{
  border-color:var(--yellow); border-left-color:var(--rc); background:rgba(242,196,0,.08);
}
html.lmx-noirbar .noirPrs__ava{
  width:50px; height:50px; flex:0 0 auto; border-radius:10px; overflow:hidden;
  background:rgba(240,232,210,.08); display:flex; align-items:center; justify-content:center;
}
html.lmx-noirbar .noirPrs__ava img{ width:100%; height:100%; object-fit:cover; display:block; }
html.lmx-noirbar .noirPrs__ava i{
  font-style:normal; font-family:var(--noir-display); font-size:18px; color:rgba(242,196,0,.75);
}
html.lmx-noirbar .noirPrs__cardBody{ flex:1; min-width:0; }
html.lmx-noirbar .noirPrs__name{
  display:block; font-family:var(--noir-display); font-size:13.5px; font-weight:700; color:#f5f1e6;
}
html.lmx-noirbar .noirPrs__role{
  display:block; margin-top:3px; font-size:10px; letter-spacing:.12em; color:var(--rc);
}
html.lmx-noirbar .noirPrs__bar{
  display:block; height:3px; margin-top:8px; border-radius:2px;
  background:rgba(240,232,210,.1); overflow:hidden;
}
html.lmx-noirbar .noirPrs__bar i{ display:block; height:100%; background:var(--yellow); }
html.lmx-noirbar .noirPrs__cnt{
  flex:0 0 auto; padding:4px 8px; border-radius:6px;
  font-family:var(--noir-display); font-size:11px; color:rgba(240,232,210,.6);
  background:rgba(240,232,210,.08);
}
html.lmx-noirbar .noirPrs__cnt.is-full{ color:#17130a; background:var(--yellow); }
html.lmx-noirbar .noirPrs__card.is-done .noirPrs__ava{ box-shadow:0 0 0 2px var(--yellow) inset; }
html.lmx-noirbar .noirPrs__empty{ font-size:12.5px; color:rgba(240,232,210,.4); padding:8px 2px; }
/* досье */
html.lmx-noirbar .noirPrs__dos{ padding:22px; min-height:460px; }
html.lmx-noirbar .noirPrs__dHero{
  display:flex; gap:18px; align-items:flex-start; padding-bottom:18px;
  border-bottom:1px solid rgba(242,196,0,.18);
}
html.lmx-noirbar .noirPrs__dAva{
  width:132px; height:160px; flex:0 0 auto; border-radius:12px; overflow:hidden;
  background:rgba(240,232,210,.07); display:flex; align-items:center; justify-content:center;
  border:1px solid rgba(242,196,0,.3);
}
html.lmx-noirbar .noirPrs__dAva img{ width:100%; height:100%; object-fit:cover; display:block; }
html.lmx-noirbar .noirPrs__dAva i{ font-style:normal; font-size:44px; color:rgba(242,196,0,.6); }
html.lmx-noirbar .noirPrs__dBody{ flex:1; min-width:0; }
html.lmx-noirbar .noirPrs__dName{
  font-family:var(--noir-display); font-weight:700; font-size:24px; color:#f5f1e6; line-height:1.15;
}
html.lmx-noirbar .noirPrs__dRole{
  margin-top:6px; font-size:11px; letter-spacing:.16em; color:rgba(240,232,210,.6);
}
html.lmx-noirbar .noirPrs__dStatus{
  display:inline-block; margin-top:12px; padding:6px 12px; border-radius:7px;
  font-family:var(--noir-display); font-size:10.5px; letter-spacing:.1em;
  color:var(--yellow); background:rgba(242,196,0,.1); border:1px solid rgba(242,196,0,.35);
}
html.lmx-noirbar .noirPrs__dStatus.is-done{ color:#17130a; background:var(--yellow); }
html.lmx-noirbar .noirPrs__dActs{ display:flex; flex-wrap:wrap; gap:10px; margin-top:14px; }
html.lmx-noirbar .noirPrs__act{
  display:inline-flex; align-items:center; gap:8px; margin:0 !important;
  padding:10px 16px; border-radius:9px; cursor:pointer; width:auto;
  font-family:var(--noir-display); font-size:11px; letter-spacing:.1em;
  color:var(--yellow); background:rgba(242,196,0,.08); border:1px solid rgba(242,196,0,.4);
}
html.lmx-noirbar .noirPrs__act.prsAction--off{
  color:rgba(240,232,210,.4); background:rgba(240,232,210,.04);
  border-color:rgba(240,232,210,.15); cursor:default;
}
html.lmx-noirbar .noirPrs__act svg{ width:16px; height:16px; }
html.lmx-noirbar .noirPrs__dLabel{
  font-family:var(--noir-display); font-size:10.5px; letter-spacing:.16em;
  color:rgba(240,232,210,.45); margin:20px 0 10px;
}
html.lmx-noirbar .noirPrs__dPaper .paper{ margin:0; }
html.lmx-noirbar .noirPrs__dPaper .paper b{ display:none; }
html.lmx-noirbar .noirPrs__none{ font-size:13px; color:rgba(240,232,210,.45); }
html.lmx-noirbar .noirPrs__dMatList{ display:flex; flex-direction:column; gap:8px; }
html.lmx-noirbar .noirPrs__mat{
  display:flex; align-items:center; gap:10px; padding:12px 14px; margin:0 !important;
  cursor:pointer; border-radius:10px;
  background:rgba(0,0,0,.32); border:1px solid rgba(240,232,210,.12);
}
html.lmx-noirbar .noirPrs__mat:hover{ border-color:rgba(242,196,0,.5); }
html.lmx-noirbar .noirPrs__mat .listico{ width:18px; height:18px; color:var(--yellow); }
html.lmx-noirbar .noirPrs__mat .listRow__title{
  font-size:13px; color:#f5f1e6; font-family:var(--noir-display); font-weight:700;
}
html.lmx-noirbar .noirPrs__dNav{ display:flex; gap:12px; margin-top:22px; flex-wrap:wrap; }
html.lmx-noirbar .noirPrs__navBtn{
  flex:1; min-width:180px; margin:0 !important; padding:14px 18px; cursor:pointer;
  border-radius:10px; font-family:var(--noir-display); font-size:12px; letter-spacing:.1em;
}
html.lmx-noirbar .noirPrs__navBtn.btnGhost{
  color:var(--yellow); background:transparent; border:1px solid rgba(242,196,0,.45);
}
html.lmx-noirbar .noirPrs__navBtn.cta{
  border:0; color:#17130a;
  background:url("assets/noir_bar.webp") center/100% 100% no-repeat, var(--yellow);
}
html.lmx-noirbar .noirPrs__ph{
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  gap:12px; min-height:420px; text-align:center; padding:20px;
}
html.lmx-noirbar .noirPrs__phIco{ font-size:34px; opacity:.35; }
html.lmx-noirbar .noirPrs__phText{
  max-width:320px; font-size:13px; line-height:1.6; color:rgba(240,232,210,.45);
}

/* ============================================================
 * v84: ВНУТРЕННИЕ ЭКРАНЫ ДЕЛА в общей рамке — досье, связи,
 * события, ход дела, информатор, обвинение, карта, заметки.
 * Родная разметка сохранена (drag&drop доски и хронологии
 * работают), меняется только оформление.
 * ============================================================ */
html.lmx-noirbar .noirCaseSrcHidden{ display:none !important; }

html.lmx-noirbar .noirCase{ max-width:1400px; margin:0 auto; padding:6px 0 60px; }
html.lmx-noirbar .noirCase--board,
html.lmx-noirbar .noirCase--map{ max-width:1600px; }
html.lmx-noirbar .noirCase__top{ display:flex; align-items:center; gap:16px; margin-bottom:18px; }
html.lmx-noirbar .noirCase__back{
  width:42px; height:42px; border:1px solid rgba(242,196,0,.35);
  border-radius:10px; background:rgba(242,196,0,.05); color:var(--yellow);
}
html.lmx-noirbar .noirCase__h1{
  font-family:var(--noir-display); font-weight:700; font-size:28px;
  letter-spacing:.06em; color:#f5f1e6; line-height:1;
}
html.lmx-noirbar .noirCase__sub{
  font-size:11.5px; letter-spacing:.16em; color:rgba(240,232,210,.45); margin-top:6px;
}
html.lmx-noirbar .noirCase__kpis{ margin-left:auto; display:flex; gap:10px; }
html.lmx-noirbar .noirCase__kpi{
  display:flex; align-items:center; gap:8px; padding:9px 16px;
  border:1px solid rgba(242,196,0,.35); border-radius:10px; background:rgba(0,0,0,.3);
}
html.lmx-noirbar .noirCase__kpi i{
  font-style:normal; font-family:var(--noir-display); font-size:10.5px;
  letter-spacing:.14em; color:rgba(240,232,210,.5);
}
html.lmx-noirbar .noirCase__kpi b{ font-family:var(--noir-display); font-size:15px; color:var(--yellow); }
html.lmx-noirbar .noirCase__body{
  position:relative; padding:22px; border-radius:14px;
  background:url("assets/noir_card.webp") center/100% 100% no-repeat, #0d0b08;
}
html.lmx-noirbar .noirCase__body::after{
  content:""; position:absolute; inset:0; border-radius:14px;
  border:1px solid rgba(242,196,0,.22); pointer-events:none;
}
/* общие элементы движка внутри рамки */
html.lmx-noirbar .noirCase__body .sectionTitle,
html.lmx-noirbar .noirCase__body .dosSecLabel{
  font-family:var(--noir-display); font-size:10.5px; letter-spacing:.16em;
  color:rgba(240,232,210,.45); margin:22px 0 12px;
}
html.lmx-noirbar .noirCase__body .subbar{
  display:flex; align-items:center; gap:12px; margin:18px 0 12px; padding:0;
  background:none; border:0;
}
html.lmx-noirbar .noirCase__body .subbar__label{
  font-family:var(--noir-display); font-size:11px; letter-spacing:.16em;
  color:rgba(240,232,210,.55);
}
html.lmx-noirbar .noirCase__body .badge{
  padding:4px 10px; border-radius:7px; font-family:var(--noir-display); font-size:11px;
  color:var(--yellow); background:rgba(242,196,0,.1); border:1px solid rgba(242,196,0,.35);
}
html.lmx-noirbar .noirCase__body .notice{
  padding:14px 16px; border-radius:10px; font-size:13px; line-height:1.6;
  color:rgba(240,232,210,.7); background:rgba(0,0,0,.32);
  border:1px solid rgba(240,232,210,.12);
}
html.lmx-noirbar .noirCase__body .cta,
html.lmx-noirbar .noirCase__body .btnGhost{
  border-radius:10px; font-family:var(--noir-display); font-size:12px; letter-spacing:.1em;
}
html.lmx-noirbar .noirCase__body .btnGhost{
  color:var(--yellow); background:transparent; border:1px solid rgba(242,196,0,.45);
}
html.lmx-noirbar .noirCase__body .rowBtns{ display:flex; gap:12px; margin-top:20px; flex-wrap:wrap; }
html.lmx-noirbar .noirCase__body .rowBtns > *{ flex:1; min-width:170px; margin:0 !important; }
/* ---- ДОСЬЕ: плитки в два столбца, обвинение отдельным блоком ---- */
html.lmx-noirbar .noirCase--dossier .dosProg{
  padding:16px 18px; border-radius:12px; margin-bottom:6px;
  background:rgba(0,0,0,.32); border:1px solid rgba(242,196,0,.25);
}
html.lmx-noirbar .noirCase--dossier .dosProg__label{
  font-family:var(--noir-display); font-size:10.5px; letter-spacing:.16em;
  color:rgba(240,232,210,.5);
}
html.lmx-noirbar .noirCase--dossier .dosProg__val{
  font-family:var(--noir-display); font-size:15px; color:var(--yellow);
}
html.lmx-noirbar .noirCase--dossier .dosProg__bar{
  height:6px; border-radius:3px; background:rgba(240,232,210,.1); margin-top:10px; overflow:hidden;
}
html.lmx-noirbar .noirCase--dossier .dosProg__bar i{
  display:block; height:100%; background:linear-gradient(90deg,#a06010,var(--yellow));
}
html.lmx-noirbar .noirCase--dossier .dosGrid{
  display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px;
}
@media (max-width:1400px){
  html.lmx-noirbar .noirCase--dossier .dosGrid{ grid-template-columns:repeat(2,minmax(0,1fr)); }
}
html.lmx-noirbar .noirCase--dossier .dosTile{
  position:relative; display:flex; flex-direction:column; align-items:flex-start;
  gap:10px; padding:18px 16px; cursor:pointer; border-radius:12px; text-align:left;
  background:rgba(0,0,0,.34); border:1px solid rgba(242,196,0,.28);
}
html.lmx-noirbar .noirCase--dossier .dosTile:hover{
  border-color:var(--yellow); background:rgba(242,196,0,.07);
}
html.lmx-noirbar .noirCase--dossier .dosTile--row{ flex-direction:row; align-items:center; }
html.lmx-noirbar .noirCase--dossier .dosTile__ico{ color:var(--yellow); }
html.lmx-noirbar .noirCase--dossier .dosTile__ico .dosIco{ width:24px; height:24px; }
html.lmx-noirbar .noirCase--dossier .dosTile__label{
  font-family:var(--noir-display); font-size:13px; letter-spacing:.08em; color:#f5f1e6;
}
html.lmx-noirbar .noirCase--dossier .dosTile__count{
  position:absolute; top:14px; right:14px; padding:3px 9px; border-radius:6px;
  font-family:var(--noir-display); font-size:12px; color:#17130a; background:var(--yellow);
}
html.lmx-noirbar .noirCase--dossier .dosTile__count.is-zero{
  color:rgba(240,232,210,.5); background:rgba(240,232,210,.1);
}
html.lmx-noirbar .noirCase--dossier .dosDivider{
  height:1px; margin:22px 0; border-top:1px dashed rgba(242,196,0,.3);
}
html.lmx-noirbar .noirCase--dossier .dosAccuse{
  display:flex; align-items:center; justify-content:center; gap:10px; width:100%;
  padding:18px; cursor:pointer; border-radius:12px;
  font-family:var(--noir-display); font-size:14px; letter-spacing:.12em; color:#17130a;
  background:url("assets/noir_bar.webp") center/100% 100% no-repeat, var(--yellow); border:0;
}
html.lmx-noirbar .noirCase--dossier .dosAccuse .dosIco{ width:20px; height:20px; }
/* ---- ХОД ДЕЛА ---- */
html.lmx-noirbar .noirCase--plan .actCard,
html.lmx-noirbar .noirCase--plan .planAct{
  border-radius:12px; border:1px solid rgba(242,196,0,.25); background:rgba(0,0,0,.3);
  margin-bottom:14px; overflow:hidden;
}
/* ---- ХРОНОЛОГИЯ ---- */
html.lmx-noirbar .noirCase--timeline .noirCase__body{ padding:20px 18px; }
/* ---- ДОСКА СВЯЗЕЙ: холст во всю высоту ---- */
html.lmx-noirbar .noirCase--board .noirCase__body{ padding:14px; }
html.lmx-noirbar .noirCase--board #boardCanvas,
html.lmx-noirbar .noirCase--board .boardCanvas{
  min-height:62vh; border-radius:12px; border:1px solid rgba(240,232,210,.12);
}
/* ---- КАРТА ---- */
html.lmx-noirbar .noirCase--map .noirCase__body{ padding:14px; }
html.lmx-noirbar .noirCase--map img{ border-radius:10px; }
/* ---- ИНФОРМАТОР ---- */
html.lmx-noirbar .noirCase--spike .spikeGrid{
  display:grid; grid-template-columns:minmax(0,1fr) 300px; gap:22px; align-items:start;
}
@media (max-width:1400px){
  html.lmx-noirbar .noirCase--spike .spikeGrid{ grid-template-columns:minmax(0,1fr) 240px; }
}
html.lmx-noirbar .noirCase--spike .spikePortrait img{
  width:100%; border-radius:12px; display:block;
  border:1px solid rgba(242,196,0,.3);
}
html.lmx-noirbar .noirCase--spike .labelBlock{
  padding:14px 16px; margin-bottom:12px; border-radius:12px;
  background:rgba(0,0,0,.32); border:1px solid rgba(242,196,0,.22);
}
html.lmx-noirbar .noirCase--spike .tapeLabel{
  display:inline-block; padding:4px 10px; border-radius:6px;
  font-family:var(--noir-display); font-size:10px; letter-spacing:.14em;
  color:#17130a; background:var(--yellow); margin-bottom:8px;
}
html.lmx-noirbar .noirCase--spike .labelVal{
  font-family:var(--noir-display); font-size:16px; color:#f5f1e6; letter-spacing:.04em;
}
html.lmx-noirbar .noirCase--spike .card,
html.lmx-noirbar .noirCase--accuse .card,
html.lmx-noirbar .noirCase--notes .card{
  padding:18px; border-radius:12px; margin-top:14px;
  background:rgba(0,0,0,.32); border:1px solid rgba(242,196,0,.22);
}
html.lmx-noirbar .noirCase__body .cardTitle{
  font-family:var(--noir-display); font-size:13px; letter-spacing:.1em; color:#f5f1e6;
  margin-bottom:10px;
}
/* ---- ОБВИНЕНИЕ / ЗАМЕТКИ: поля ---- */
html.lmx-noirbar .noirCase__body .input,
html.lmx-noirbar .noirCase__body .textarea,
html.lmx-noirbar .noirCase__body select{
  width:100%; box-sizing:border-box; padding:13px 16px; font-family:inherit; font-size:13.5px;
  color:#f5f1e6; background:rgba(0,0,0,.4);
  border:1px solid rgba(242,196,0,.32); border-radius:10px;
}
html.lmx-noirbar .noirCase__body .input:focus,
html.lmx-noirbar .noirCase__body .textarea:focus{ outline:none; border-color:rgba(242,196,0,.7); }
html.lmx-noirbar .noirCase__body .field{ margin-bottom:14px; }
html.lmx-noirbar .noirCase__body .field .label{
  font-family:var(--noir-display); font-size:10.5px; letter-spacing:.14em;
  color:rgba(240,232,210,.5); margin-bottom:8px;
}
/* бумага (справки, реплики) внутри рамки */
html.lmx-noirbar .noirCase__body .paper{ margin:14px 0; }

/* ============================================================
 * v85: ДОСЬЕ ДЕЛА (#dossier=) — вёрстка по референсу.
 * ============================================================ */
html.lmx-noirbar .noirDosSrcHidden{ display:none !important; }

html.lmx-noirbar #dossierRoot .noirDos{ max-width:1400px; margin:0 auto; padding:6px 0 60px; }
/* шапка с печатью дела */
html.lmx-noirbar .noirDos__top{
  display:flex; align-items:center; gap:18px; margin-bottom:20px;
}
html.lmx-noirbar .noirDos__back{
  width:44px; height:44px; border:1px solid rgba(242,196,0,.4);
  border-radius:10px; background:rgba(242,196,0,.06); color:var(--yellow);
}
html.lmx-noirbar .noirDos__head{ flex:1; text-align:center; }
html.lmx-noirbar .noirDos__h1{
  font-family:var(--noir-display); font-weight:700; font-size:30px;
  letter-spacing:.1em; color:#f5f1e6; line-height:1;
}
html.lmx-noirbar .noirDos__sub{
  margin-top:7px; font-size:11.5px; letter-spacing:.16em; color:rgba(242,196,0,.75);
}
html.lmx-noirbar .noirDos__stamp{
  display:flex; align-items:center; gap:10px; padding:8px 14px 8px 8px;
  border:1px solid rgba(242,196,0,.28); border-radius:10px;
  transform:rotate(-1.5deg); background:rgba(0,0,0,.25);
}
html.lmx-noirbar .noirDos__stampSeal{
  width:38px; height:38px; flex:0 0 auto; display:flex; align-items:center; justify-content:center;
  border:2px solid rgba(242,196,0,.5); border-radius:50%;
  font-family:var(--noir-display); font-size:12px; color:rgba(242,196,0,.8);
}
html.lmx-noirbar .noirDos__stampText b,
html.lmx-noirbar .noirDos__stampText i{
  display:block; font-style:normal; font-family:var(--noir-display); letter-spacing:.12em;
}
html.lmx-noirbar .noirDos__stampText b{ font-size:11px; color:rgba(240,232,210,.8); }
html.lmx-noirbar .noirDos__stampText i{
  font-size:10px; color:rgba(242,196,0,.65); margin-top:3px;
  border-top:1px solid rgba(242,196,0,.25); padding-top:3px;
}
/* прогресс */
html.lmx-noirbar .noirDos__prog{
  padding:16px 20px; border-radius:12px; margin-bottom:14px;
  background:rgba(0,0,0,.34); border:1px solid rgba(242,196,0,.25);
}
html.lmx-noirbar .noirDos__progTop{
  display:flex; align-items:center; gap:10px; margin-bottom:11px;
  font-size:13px; color:rgba(240,232,210,.7);
}
html.lmx-noirbar .noirDos__progTop b{
  margin-left:auto; font-family:var(--noir-display); font-size:15px; color:var(--yellow);
}
html.lmx-noirbar .noirDos__progOk svg{ width:19px; height:19px; color:var(--yellow); display:block; }
html.lmx-noirbar .noirDos__progBar{
  height:6px; border-radius:3px; background:rgba(240,232,210,.1); overflow:hidden;
}
html.lmx-noirbar .noirDos__progBar i{
  display:block; height:100%; background:linear-gradient(90deg,#a06010,var(--yellow));
}
/* комбинации */
html.lmx-noirbar .noirDos__combo{
  display:flex; align-items:center; gap:14px; width:100%; padding:16px 20px; cursor:pointer;
  border-radius:12px; margin-bottom:26px; text-align:left;
  background:rgba(242,196,0,.05); border:1px dashed rgba(242,196,0,.55);
}
html.lmx-noirbar .noirDos__combo:hover{ background:rgba(242,196,0,.1); }
html.lmx-noirbar .noirDos__comboIco svg{ width:22px; height:22px; color:var(--yellow); display:block; }
html.lmx-noirbar .noirDos__comboTitle{
  font-family:var(--noir-display); font-size:14px; letter-spacing:.12em; color:var(--yellow);
}
html.lmx-noirbar .noirDos__comboText{
  flex:1; min-width:0; font-size:12.5px; color:rgba(240,232,210,.55);
}
html.lmx-noirbar .noirDos__comboCnt{
  font-family:var(--noir-display); font-size:14px; color:var(--yellow);
}
html.lmx-noirbar .noirDos__chev{ font-size:20px; color:rgba(242,196,0,.6); line-height:1; }
/* подписи секций */
html.lmx-noirbar .noirDos__label{
  font-family:var(--noir-display); font-size:11px; letter-spacing:.18em;
  color:var(--yellow); margin:0 0 12px;
}
/* карточки материалов */
html.lmx-noirbar .noirDos__mats{
  display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; margin-bottom:26px;
}
@media (max-width:1400px){
  html.lmx-noirbar .noirDos__mats{ grid-template-columns:repeat(2,minmax(0,1fr)); }
}
html.lmx-noirbar .noirDos__mat{
  position:relative; overflow:hidden; display:block; width:100%; padding:18px;
  cursor:pointer; text-align:left; border-radius:12px;
  background:url("assets/noir_card.webp") center/100% 100% no-repeat, #0d0b08;
  border:1px solid rgba(242,196,0,.28);
}
html.lmx-noirbar .noirDos__mat:hover{ border-color:var(--yellow); }
html.lmx-noirbar .noirDos__matGhost{
  position:absolute; right:-18px; bottom:-22px; opacity:.07; pointer-events:none;
}
html.lmx-noirbar .noirDos__matGhost svg{ width:118px; height:118px; color:var(--yellow); }
html.lmx-noirbar .noirDos__matHead{
  display:flex; align-items:center; gap:11px; margin-bottom:14px; position:relative;
}
html.lmx-noirbar .noirDos__matIco{
  width:38px; height:38px; flex:0 0 auto; display:flex; align-items:center; justify-content:center;
  border:1px solid rgba(242,196,0,.5); border-radius:50%; color:var(--yellow);
}
html.lmx-noirbar .noirDos__matIco svg{ width:19px; height:19px; }
html.lmx-noirbar .noirDos__matTitle{
  flex:1; min-width:0; font-family:var(--noir-display); font-size:14px;
  letter-spacing:.1em; color:#f5f1e6;
}
html.lmx-noirbar .noirDos__matCnt{
  flex:0 0 auto; padding:3px 9px; border-radius:6px;
  font-family:var(--noir-display); font-size:12px; color:#17130a; background:var(--yellow);
}
html.lmx-noirbar .noirDos__matCnt.is-zero{ color:rgba(240,232,210,.5); background:rgba(240,232,210,.1); }
html.lmx-noirbar .noirDos__matList{ display:block; position:relative; }
html.lmx-noirbar .noirDos__matLi{
  display:block; position:relative; padding-left:15px; margin-bottom:7px;
  font-size:12px; line-height:1.45; color:rgba(240,232,210,.55);
}
html.lmx-noirbar .noirDos__matLi::before{
  content:""; position:absolute; left:0; top:6px; width:5px; height:5px;
  border-radius:50%; background:var(--yellow);
}
/* широкие карточки */
html.lmx-noirbar .noirDos__wides{
  display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; margin-bottom:26px;
}
@media (max-width:1200px){
  html.lmx-noirbar .noirDos__wides{ grid-template-columns:minmax(0,1fr); }
}
html.lmx-noirbar .noirDos__wide,
html.lmx-noirbar .noirDos__spike,
html.lmx-noirbar .noirDos__accuse,
html.lmx-noirbar .noirDos__notes{
  position:relative; overflow:hidden; display:flex; align-items:center; gap:16px;
  width:100%; padding:18px 20px; cursor:pointer; text-align:left; border-radius:12px;
  background:url("assets/noir_card.webp") center/100% 100% no-repeat, #0d0b08;
  border:1px solid rgba(242,196,0,.28);
}
html.lmx-noirbar .noirDos__wide:hover,
html.lmx-noirbar .noirDos__spike:hover,
html.lmx-noirbar .noirDos__notes:hover{ border-color:var(--yellow); }
html.lmx-noirbar .noirDos__wideGhost{
  position:absolute; right:-14px; bottom:-26px; opacity:.07; pointer-events:none;
}
html.lmx-noirbar .noirDos__wideGhost svg{ width:130px; height:130px; color:var(--yellow); }
html.lmx-noirbar .noirDos__wideIco{
  width:44px; height:44px; flex:0 0 auto; display:flex; align-items:center; justify-content:center;
  border:1px solid rgba(242,196,0,.5); border-radius:50%; color:var(--yellow);
}
html.lmx-noirbar .noirDos__wideIco svg{ width:21px; height:21px; }
html.lmx-noirbar .noirDos__wideBody{ flex:1; min-width:0; }
html.lmx-noirbar .noirDos__wideTitle{
  display:block; font-family:var(--noir-display); font-size:14px;
  letter-spacing:.1em; color:#f5f1e6;
}
html.lmx-noirbar .noirDos__wideText{
  display:block; margin-top:6px; font-size:12.5px; line-height:1.5; color:rgba(240,232,210,.55);
}
/* информатор */
html.lmx-noirbar .noirDos__spike{ margin-bottom:16px; }
html.lmx-noirbar .noirDos__spikeAva{
  width:74px; height:74px; flex:0 0 auto; border-radius:50%; overflow:hidden;
  border:1px solid rgba(242,196,0,.45); background:rgba(0,0,0,.4);
}
html.lmx-noirbar .noirDos__spikeAva img{ width:100%; height:100%; object-fit:cover; display:block; }
html.lmx-noirbar .noirDos__spikeBody{ flex:1; min-width:0; }
html.lmx-noirbar .noirDos__spikeTitle{
  display:block; font-family:var(--noir-display); font-size:14px;
  letter-spacing:.12em; color:#f5f1e6;
}
html.lmx-noirbar .noirDos__spikeText{
  display:block; margin-top:6px; font-size:12.5px; color:rgba(240,232,210,.55);
}
html.lmx-noirbar .noirDos__spikeWarn{
  display:block; margin-top:8px; font-size:11.5px; color:rgba(242,196,0,.7);
}
html.lmx-noirbar .noirDos__spikeMeta{
  flex:0 0 auto; padding:10px 14px; border-radius:10px;
  background:rgba(0,0,0,.34); border:1px solid rgba(242,196,0,.22);
}
html.lmx-noirbar .noirDos__spikeKey{
  display:block; font-family:var(--noir-display); font-size:9.5px;
  letter-spacing:.14em; color:rgba(240,232,210,.45);
}
html.lmx-noirbar .noirDos__spikeVal{
  display:block; margin-top:4px; font-family:var(--noir-display);
  font-size:13px; color:var(--yellow);
}
/* обвинение и заметки */
html.lmx-noirbar .noirDos__accuse{
  margin-bottom:12px; border:1px solid var(--yellow); background:rgba(242,196,0,.06);
}
html.lmx-noirbar .noirDos__accuse:hover{ background:rgba(242,196,0,.12); }
html.lmx-noirbar .noirDos__accIco,
html.lmx-noirbar .noirDos__notesIco{ flex:0 0 auto; color:var(--yellow); }
html.lmx-noirbar .noirDos__accIco svg{ width:30px; height:30px; }
html.lmx-noirbar .noirDos__notesIco svg{ width:24px; height:24px; }
html.lmx-noirbar .noirDos__accBody{ flex:1; min-width:0; }
html.lmx-noirbar .noirDos__accTitle{
  display:block; font-family:var(--noir-display); font-size:16px;
  letter-spacing:.12em; color:var(--yellow);
}
html.lmx-noirbar .noirDos__notesTitle{
  display:block; font-family:var(--noir-display); font-size:14px;
  letter-spacing:.1em; color:#f5f1e6;
}
html.lmx-noirbar .noirDos__accText{
  display:block; margin-top:6px; font-size:12.5px; color:rgba(240,232,210,.55);
}
html.lmx-noirbar .noirDos__notes{ margin-bottom:22px; }
html.lmx-noirbar .noirDos__notesOpen{
  flex:0 0 auto; font-size:12px; color:rgba(240,232,210,.5);
}
/* к заданию */
html.lmx-noirbar .noirDos__go{
  display:block; width:100%; padding:18px; cursor:pointer; border:0;
  font-family:var(--noir-display); font-size:15px; letter-spacing:.14em; color:#17130a;
  background:url("assets/noir_bar.webp") center/100% 100% no-repeat, var(--yellow);
}

/* ============================================================
 * v86: ДОСКА СВЯЗЕЙ (#board=) — холст слева, панель добавления
 * справа, панель работы с выделением снизу.
 * ============================================================ */
html.lmx-noirbar .noirBrdSrcHidden{ display:none !important; }
html.lmx-noirbar .noirBrdHide{ display:none !important; }

html.lmx-noirbar #boardRoot .noirBrd{ max-width:1600px; margin:0 auto; padding:6px 0 40px; }
html.lmx-noirbar .noirBrd__top{ display:flex; align-items:center; gap:16px; margin-bottom:14px; }
html.lmx-noirbar .noirBrd__back{
  width:44px; height:44px; border:1px solid rgba(242,196,0,.4);
  border-radius:10px; background:rgba(242,196,0,.06); color:var(--yellow);
}
html.lmx-noirbar .noirBrd__head{ flex:1; text-align:center; }
html.lmx-noirbar .noirBrd__spacer{ width:44px; }
html.lmx-noirbar .noirBrd__h1{
  font-family:var(--noir-display); font-weight:700; font-size:30px;
  letter-spacing:.1em; color:#f5f1e6; line-height:1;
}
html.lmx-noirbar .noirBrd__sub{
  margin-top:7px; font-size:11.5px; letter-spacing:.16em; color:rgba(242,196,0,.75);
}
/* полосы: комбинации и наводка Спайка */
html.lmx-noirbar .noirBrd__strips{ display:flex; flex-direction:column; gap:10px; margin-bottom:14px; }
html.lmx-noirbar .noirBrd__strips .subbar{
  display:flex; align-items:center; gap:12px; margin:0; padding:12px 18px;
  border-radius:11px; background:rgba(0,0,0,.32); border:1px solid rgba(242,196,0,.3);
}
html.lmx-noirbar .noirBrd__strips .subbar__label{
  font-family:var(--noir-display); font-size:12px; letter-spacing:.16em; color:var(--yellow);
}
html.lmx-noirbar .noirBrd__strips .badge{
  margin-left:auto; padding:4px 12px; border-radius:7px;
  font-family:var(--noir-display); font-size:12px; color:var(--yellow);
  background:rgba(242,196,0,.1); border:1px solid rgba(242,196,0,.4);
}
html.lmx-noirbar .noirBrd__strips .bspike{
  display:flex; align-items:center; gap:12px; padding:13px 18px; cursor:pointer;
  border-radius:11px; background:rgba(242,196,0,.05); border:1px solid rgba(242,196,0,.3);
  font-size:13px; color:rgba(240,232,210,.75);
}
html.lmx-noirbar .noirBrd__strips .bspike:hover{ background:rgba(242,196,0,.1); }
html.lmx-noirbar .noirBrd__strips .bspike b{ color:var(--yellow); }
html.lmx-noirbar .noirBrd__strips .bspike__arr{ margin-left:auto; color:rgba(242,196,0,.7); font-size:20px; }
/* сетка */
html.lmx-noirbar .noirBrd__grid{
  display:grid; grid-template-columns:minmax(0,1fr) 372px; gap:16px; align-items:start;
}
@media (max-width:1500px){
  html.lmx-noirbar .noirBrd__grid{ grid-template-columns:minmax(0,1fr) 310px; }
}
html.lmx-noirbar .noirBrd__canvas,
html.lmx-noirbar .noirBrd__rail{
  position:relative; border-radius:14px;
  background:url("assets/noir_card.webp") center/100% 100% no-repeat, #0d0b08;
}
html.lmx-noirbar .noirBrd__canvas::after,
html.lmx-noirbar .noirBrd__rail::after{
  content:""; position:absolute; inset:0; border-radius:14px;
  border:1px solid rgba(242,196,0,.22); pointer-events:none;
}
html.lmx-noirbar .noirBrd__canvas{ padding:10px; }
html.lmx-noirbar .noirBrd__canvas #boardCanvas{
  min-height:66vh; border-radius:11px; overflow:hidden;
  background:rgba(6,7,9,.72);
  background-image:linear-gradient(rgba(242,196,0,.05) 1px,transparent 1px),
    linear-gradient(90deg,rgba(242,196,0,.05) 1px,transparent 1px);
  background-size:44px 44px;
  border:1px solid rgba(240,232,210,.1);
}
/* панель добавления */
html.lmx-noirbar .noirBrd__rail{ padding:16px; max-height:76vh; display:flex; flex-direction:column; }
html.lmx-noirbar .noirBrd__railHead{
  display:flex; align-items:center; gap:9px; margin-bottom:12px;
  font-family:var(--noir-display); font-size:12px; letter-spacing:.14em; color:var(--yellow);
}
html.lmx-noirbar .noirBrd__railBody{ flex:1; min-height:0; overflow-y:auto; padding-right:4px; }
html.lmx-noirbar .noirBrd__railPh{ font-size:12.5px; color:rgba(240,232,210,.4); }
/* родная панель внутри рейки — снимаем позиционирование модалки */
html.lmx-noirbar .noirBrd__railBody .bpicker{
  position:static !important; inset:auto !important; width:auto !important;
  max-height:none !important; padding:0 !important; border:0 !important;
  background:none !important; box-shadow:none !important; backdrop-filter:none !important;
  z-index:auto !important;
}
html.lmx-noirbar .noirBrd__railBody .bpicker__sub{
  margin:14px 0 8px; font-family:var(--noir-display); font-size:10.5px;
  letter-spacing:.14em; color:var(--yellow);
}
html.lmx-noirbar .noirBrd__railBody .bpicker__sub:first-child{ margin-top:0; }
html.lmx-noirbar .noirBrd__railBody .bpicker__row{
  padding:9px 11px; margin-bottom:7px; border-radius:10px;
  background:rgba(0,0,0,.3); border:1px solid rgba(240,232,210,.1);
}
html.lmx-noirbar .noirBrd__railBody .bpicker__row:hover{
  border-color:var(--yellow); background:rgba(242,196,0,.07);
}
html.lmx-noirbar .noirBrd__railBody .bpicker__name{ font-size:12.5px; }
html.lmx-noirbar .noirBrd__railBody .bpicker__add{ color:var(--yellow); }
/* нижняя панель работы с выделением */
html.lmx-noirbar .noirBrd__bar{ margin-top:14px; }
html.lmx-noirbar .noirBrd__bar .bbar{
  display:flex; align-items:center; gap:10px; flex-wrap:wrap;
  position:static !important; padding:14px 18px; border-radius:12px;
  background:rgba(0,0,0,.42); border:1px solid rgba(242,196,0,.28);
}
html.lmx-noirbar .noirBrd__bar .bbar__n{
  font-family:var(--noir-display); font-size:12px; letter-spacing:.1em;
  color:rgba(240,232,210,.6); margin-right:6px;
}
html.lmx-noirbar .noirBrd__bar .bbar__n b{ color:var(--yellow); }
html.lmx-noirbar .noirBrd__bar .bbar__btn{
  padding:10px 16px; border-radius:9px; cursor:pointer;
  font-family:var(--noir-display); font-size:11.5px; letter-spacing:.08em;
  background:rgba(240,232,210,.05); border:1px solid rgba(240,232,210,.18);
  color:rgba(240,232,210,.8);
}
html.lmx-noirbar .noirBrd__bar .bbar__btn:hover{ background:rgba(242,196,0,.08); }
html.lmx-noirbar .noirBrd__bar .bbar__btn--gold{
  color:#17130a; border:0;
  background:url("assets/noir_bar.webp") center/100% 100% no-repeat, var(--yellow);
}
html.lmx-noirbar .noirBrd__bar .bhint{
  padding:14px 18px; border-radius:12px; font-size:12.5px; line-height:1.55;
  color:rgba(240,232,210,.5); background:rgba(0,0,0,.35);
  border:1px dashed rgba(240,232,210,.16);
}

/* v87: плавающие кнопки холста доски разъезжались — «Подсказка» и
   «Спайк» стояли справа снизу поверх колонки зума. На десктопе
   уводим их в правый верхний угол, зум остаётся снизу справа,
   а «+ Добавить» не нужна: панель добавления открыта в рейке. */
html.lmx-noirbar .noirBrd__canvas .badd:not(.badd--hint){ display:none !important; }
html.lmx-noirbar .noirBrd__canvas .badd--hint{
  top:12px; bottom:auto !important; right:12px; left:auto;
  padding:9px 15px; border-radius:10px;
  font-family:var(--noir-display); font-size:11.5px; letter-spacing:.06em;
  color:#f5f1e6; background:rgba(10,11,14,.9);
  border:1px solid rgba(242,196,0,.45); box-shadow:0 4px 14px rgba(0,0,0,.5);
}
html.lmx-noirbar .noirBrd__canvas .badd--hint:hover{ background:rgba(242,196,0,.16); }
html.lmx-noirbar .noirBrd__canvas .badd--hint[data-nav^="#spike"]{ top:60px; }
html.lmx-noirbar .noirBrd__canvas .bzoom{ right:12px; bottom:12px; gap:8px; }
html.lmx-noirbar .noirBrd__canvas .bzoom__btn{
  width:40px; height:40px; border-radius:10px;
  background:rgba(10,11,14,.9); border:1px solid rgba(242,196,0,.35); color:var(--yellow);
}
html.lmx-noirbar .noirBrd__canvas .bzoom__btn:hover{ background:rgba(242,196,0,.14); }

/* v88: полоса «КОМБИНАЦИИ» на доске — собственная вёрстка вместо
   родной .subbar (у неё жёлтый хвостик слева и пунктир из общей
   темы, из-за чего заголовок выбивался из остальных экранов) */
html.lmx-noirbar .noirBrd__combo{
  display:flex; align-items:center; gap:12px; padding:14px 18px; border-radius:11px;
  background:rgba(0,0,0,.32); border:1px solid rgba(242,196,0,.3);
}
html.lmx-noirbar .noirBrd__comboIco{ display:flex; color:var(--yellow); }
html.lmx-noirbar .noirBrd__comboIco svg{ width:20px; height:20px; display:block; }
html.lmx-noirbar .noirBrd__comboTitle{
  flex:1; min-width:0; font-family:var(--noir-display); font-weight:700;
  font-size:15px; letter-spacing:.16em; color:#f5f1e6;
}
html.lmx-noirbar .noirBrd__comboCnt{
  padding:5px 13px; border-radius:7px; font-family:var(--noir-display); font-size:13px;
  color:var(--yellow); background:rgba(242,196,0,.1); border:1px solid rgba(242,196,0,.4);
}

/* ============================================================
 * v89: СОБЫТИЯ / ХРОНОЛОГИЯ (#timeline=) по референсу.
 * Плоский фон без текстурных подложек, слева лента с узлами,
 * карточка = дата | текст | фото.
 * ============================================================ */
html.lmx-noirbar .noirTlSrcHidden{ display:none !important; }

html.lmx-noirbar #timelineRoot .noirTl{ max-width:1400px; margin:0 auto; padding:6px 0 60px; }
html.lmx-noirbar .noirTl__top{ display:flex; align-items:flex-start; gap:18px; margin-bottom:18px; }
html.lmx-noirbar .noirTl__back{
  width:44px; height:44px; flex:0 0 auto; border:1px solid rgba(242,196,0,.4);
  border-radius:10px; background:rgba(242,196,0,.06); color:var(--yellow);
}
html.lmx-noirbar .noirTl__head{ flex:1; min-width:0; }
html.lmx-noirbar .noirTl__h1{
  font-family:var(--noir-display); font-weight:700; font-size:30px;
  letter-spacing:.08em; color:#f5f1e6; line-height:1;
}
html.lmx-noirbar .noirTl__sub{
  margin-top:7px; font-size:11.5px; letter-spacing:.16em; color:rgba(242,196,0,.75);
}
html.lmx-noirbar .noirTl__note{
  margin-top:8px; font-size:12.5px; color:rgba(240,232,210,.45);
}
/* кнопки «Добавить событие» / «Проверить хронологию» — в шапку справа */
html.lmx-noirbar .noirTl__barSlot .tlbar{
  display:flex; gap:10px; flex-wrap:wrap; justify-content:flex-end; margin:0;
}
html.lmx-noirbar .noirTl__barSlot .tlbtn{
  padding:12px 18px; border-radius:10px; cursor:pointer;
  font-family:var(--noir-display); font-size:11.5px; letter-spacing:.08em;
}
html.lmx-noirbar .noirTl__barSlot .tlbtn--ghost{
  color:var(--yellow); background:transparent; border:1px solid rgba(242,196,0,.45);
}
html.lmx-noirbar .noirTl__barSlot .tlbtn--gold{
  border:0; color:#17130a;
  background:url("assets/noir_bar.webp") center/100% 100% no-repeat, var(--yellow);
}
/* статус */
html.lmx-noirbar .noirTl__status .tlstatus{
  margin:0 0 16px; padding:13px 18px; border-radius:11px; font-size:13px;
  background:rgba(0,0,0,.3); border:1px dashed rgba(240,232,210,.16);
  color:rgba(240,232,210,.6);
}
html.lmx-noirbar .noirTl__status .tlstatus--ok{
  background:rgba(55,211,155,.08); border-color:rgba(55,211,155,.4); color:#8ff0c8;
}
html.lmx-noirbar .noirTl__status .tlstatus--bad{
  background:rgba(255,107,107,.08); border-color:rgba(255,107,107,.4); color:#ffb0b0;
}
/* лента */
html.lmx-noirbar .noirTl__canvas .tlcanvas{ min-height:auto; }
html.lmx-noirbar .noirTl__canvas .tllist{ padding-left:0; gap:12px; }
html.lmx-noirbar .noirTl__canvas .tllist::before{
  left:19px; top:14px; bottom:14px; width:2px;
  background:linear-gradient(180deg,rgba(242,196,0,.55),rgba(242,196,0,.12));
}
html.lmx-noirbar .noirTl__canvas .tlcard{
  margin-left:44px; padding:16px 18px; gap:16px; border-radius:12px;
  background:rgba(16,17,20,.92); border:1px solid rgba(240,232,210,.1);
  box-shadow:0 6px 18px rgba(0,0,0,.45);
}
html.lmx-noirbar .noirTl__canvas .tlcard:hover{ border-color:rgba(242,196,0,.4); }
html.lmx-noirbar .noirTl__canvas .tlcard.dragging{ border-color:var(--yellow); }
html.lmx-noirbar .noirTl__canvas .tlcard--wrong{ border-color:rgba(255,107,107,.5); }
/* узел ленты */
html.lmx-noirbar .noirTl__canvas .tlcard__dot{
  left:-33px; width:18px; height:18px; background:#0d0b08;
  border:3px solid var(--yellow); box-shadow:0 0 0 4px rgba(242,196,0,.12);
}
/* дата слева */
html.lmx-noirbar .noirTl__canvas .tlcard__time{
  min-width:104px; text-align:left; color:inherit; font-weight:400;
  border-right:1px solid rgba(240,232,210,.1); padding-right:16px;
}
html.lmx-noirbar .noirTl__canvas .tlcard__time b{
  display:block; font-family:var(--noir-display); font-size:13px;
  letter-spacing:.06em; color:var(--yellow);
}
html.lmx-noirbar .noirTl__canvas .tlcard__time i{
  display:block; margin-top:4px; font-style:normal; font-size:10.5px;
  letter-spacing:.14em; color:rgba(240,232,210,.45); text-transform:uppercase;
}
/* содержимое */
html.lmx-noirbar .noirTl__canvas .tlcard__main{ gap:16px; }
html.lmx-noirbar .noirTl__canvas .tlcard__thumb{
  width:76px; height:60px; border-radius:9px; order:2;
  border:1px solid rgba(240,232,210,.14);
}
html.lmx-noirbar .noirTl__canvas .tlcard__txt{ flex:1; min-width:0; order:1; }
html.lmx-noirbar .noirTl__canvas .tlcard__title{
  font-family:var(--noir-display); font-size:14.5px; font-weight:700;
  letter-spacing:.04em; color:#f5f1e6; line-height:1.25;
}
html.lmx-noirbar .noirTl__canvas .tlcard__desc{
  margin-top:6px; max-height:none; font-size:12.5px; line-height:1.55;
  color:rgba(240,232,210,.55);
}
html.lmx-noirbar .noirTl__canvas .tlcard__grip{
  color:rgba(242,196,0,.45); font-size:20px;
}
html.lmx-noirbar .noirTl__canvas .tlcard__rm{
  width:28px; height:28px; border-radius:8px;
  background:rgba(240,232,210,.05); border:1px solid rgba(240,232,210,.16);
  color:rgba(240,232,210,.55);
}
html.lmx-noirbar .noirTl__canvas .tlcard__rm:hover{
  color:#ffb0b0; border-color:rgba(255,107,107,.45);
}
html.lmx-noirbar .noirTl__canvas .tlempty{
  padding:28px 20px; text-align:center; font-size:13px; color:rgba(240,232,210,.45);
  border-radius:12px; background:rgba(0,0,0,.28); border:1px dashed rgba(240,232,210,.14);
}
/* панель добавления события */
html.lmx-noirbar .noirTl__canvas .bpicker{
  background:rgba(12,13,16,.98) !important; border-color:rgba(242,196,0,.3) !important;
  border-radius:12px !important;
}
html.lmx-noirbar .noirTl__canvas .bpicker__title{
  font-family:var(--noir-display); letter-spacing:.1em;
}
html.lmx-noirbar .noirTl__canvas .bpicker__row{
  border-radius:10px; background:rgba(0,0,0,.3); border-color:rgba(240,232,210,.1);
}
html.lmx-noirbar .noirTl__canvas .bpicker__row:hover{
  border-color:var(--yellow); background:rgba(242,196,0,.07);
}
/* закрытые события */
html.lmx-noirbar .noirTl__locked{ margin-top:26px; }
html.lmx-noirbar .noirTl__lockedHead{
  font-family:var(--noir-display); font-size:10.5px; letter-spacing:.16em;
  color:rgba(240,232,210,.4); margin-bottom:12px;
}
html.lmx-noirbar .noirTl__locked .docCard{
  margin-bottom:10px; padding:14px 16px; border-radius:12px;
  background:rgba(0,0,0,.28); border:1px dashed rgba(240,232,210,.14);
}

/* v90: события — две колонки: лента слева, «добавить событие»
   и закрытые события в правой колонке */
html.lmx-noirbar .noirTlHide{ display:none !important; }
html.lmx-noirbar .noirTl__grid{
  display:grid; grid-template-columns:minmax(0,1fr) 340px; gap:18px; align-items:start;
}
@media (max-width:1400px){
  html.lmx-noirbar .noirTl__grid{ grid-template-columns:minmax(0,1fr) 290px; }
}
html.lmx-noirbar .noirTl__rail{
  display:flex; flex-direction:column; gap:14px; position:sticky; top:18px;
}
html.lmx-noirbar .noirTl__railBox{
  padding:16px; border-radius:12px;
  background:rgba(16,17,20,.92); border:1px solid rgba(242,196,0,.25);
}
html.lmx-noirbar .noirTl__railBox--locked{ border-style:dashed; border-color:rgba(240,232,210,.18); }
html.lmx-noirbar .noirTl__railHead{
  font-family:var(--noir-display); font-size:10.5px; letter-spacing:.16em;
  color:var(--yellow); margin-bottom:12px;
}
html.lmx-noirbar .noirTl__railBox--locked .noirTl__railHead{ color:rgba(240,232,210,.4); }
html.lmx-noirbar .noirTl__railPh{ font-size:12.5px; color:rgba(240,232,210,.4); }
/* родная панель добавления внутри колонки — без модального позиционирования */
html.lmx-noirbar .noirTl__pickSlot .bpicker{
  position:static !important; inset:auto !important; max-height:52vh !important;
  padding:0 !important; border:0 !important; background:none !important;
  box-shadow:none !important; backdrop-filter:none !important; z-index:auto !important;
}
html.lmx-noirbar .noirTl__pickSlot .bpicker__row{
  display:flex; align-items:center; gap:10px; width:100%; padding:10px 12px; margin-bottom:8px;
  border-radius:10px; background:rgba(0,0,0,.32); border:1px solid rgba(240,232,210,.12);
}
html.lmx-noirbar .noirTl__pickSlot .bpicker__row:hover{
  border-color:var(--yellow); background:rgba(242,196,0,.08);
}
html.lmx-noirbar .noirTl__pickSlot .bpicker__name{ font-size:12.5px; }
html.lmx-noirbar .noirTl__pickSlot .bpicker__add{ color:var(--yellow); }
html.lmx-noirbar .noirTl__pickSlot .bpicker__empty{ font-size:12.5px; color:rgba(240,232,210,.4); }
/* кнопку «Добавить событие» в шапке прячем — панель и так открыта */
html.lmx-noirbar .noirTl__barSlot .tlbtn[data-tl-pick-open]{ display:none !important; }
/* закрытые события в колонке — компактнее */
html.lmx-noirbar .noirTl__locked .docCard{
  margin-bottom:8px; padding:12px; gap:10px; border-radius:10px;
  background:rgba(0,0,0,.28); border:1px dashed rgba(240,232,210,.14);
}
html.lmx-noirbar .noirTl__locked .docCard:last-child{ margin-bottom:0; }
html.lmx-noirbar .noirTl__locked .docCard__thumb{ width:34px; height:34px; font-size:16px; }
html.lmx-noirbar .noirTl__locked .docCard__title{ font-size:12.5px; }

/* ============================================================
 * v91: ИНФОРМАТОР СПАЙК (#spike=) по референсу — карточка
 * информатора слева, справка и история справа.
 * ============================================================ */
html.lmx-noirbar .noirSpkSrcHidden{ display:none !important; }

html.lmx-noirbar #spikeRoot .noirSpk{ max-width:1400px; margin:0 auto; padding:6px 0 60px; }
html.lmx-noirbar .noirSpk__top{ margin-bottom:16px; }
html.lmx-noirbar .noirSpk__back{
  width:auto; min-width:120px; height:44px; padding:0 18px;
  display:inline-flex; align-items:center; justify-content:center; gap:8px;
  border:1px solid rgba(242,196,0,.4); border-radius:10px;
  background:rgba(242,196,0,.06); color:var(--yellow);
}
html.lmx-noirbar .noirSpk__grid{
  display:grid; grid-template-columns:minmax(0,1fr) 360px; gap:18px; align-items:start;
}
@media (max-width:1400px){
  html.lmx-noirbar .noirSpk__grid{ grid-template-columns:minmax(0,1fr) 300px; }
}
html.lmx-noirbar .noirSpk__main,
html.lmx-noirbar .noirSpk__box{
  position:relative; border-radius:14px; padding:22px;
  background:url("assets/noir_card.webp") center/100% 100% no-repeat, #0d0b08;
}
html.lmx-noirbar .noirSpk__main::after,
html.lmx-noirbar .noirSpk__box::after{
  content:""; position:absolute; inset:0; border-radius:14px;
  border:1px solid rgba(242,196,0,.22); pointer-events:none;
}
/* шапка карточки */
html.lmx-noirbar .noirSpk__head{ display:flex; gap:22px; align-items:flex-start; }
html.lmx-noirbar .noirSpk__headBody{ flex:1; min-width:0; }
html.lmx-noirbar .noirSpk__h1{
  font-family:var(--noir-display); font-weight:700; font-size:26px;
  letter-spacing:.06em; color:#f5f1e6; line-height:1.1;
}
html.lmx-noirbar .noirSpk__h1 b{ color:var(--yellow); }
html.lmx-noirbar .noirSpk__sub{
  margin-top:7px; font-size:11.5px; letter-spacing:.14em; color:rgba(240,232,210,.45);
}
html.lmx-noirbar .noirSpk__plates{ margin-top:18px; display:flex; flex-direction:column; gap:10px; }
html.lmx-noirbar .noirSpk__plate{
  padding:12px 16px; border-radius:11px;
  background:rgba(0,0,0,.34); border:1px solid rgba(242,196,0,.22);
}
html.lmx-noirbar .noirSpk__plateKey{
  display:block; font-family:var(--noir-display); font-size:10px;
  letter-spacing:.16em; color:var(--yellow);
}
html.lmx-noirbar .noirSpk__plateVal{
  display:block; margin-top:5px; font-size:14.5px; color:#f5f1e6;
}
html.lmx-noirbar .noirSpk__plateVal .price b{ color:var(--yellow); }
html.lmx-noirbar .noirSpk__portrait{
  flex:0 0 300px; border-radius:12px; overflow:hidden;
  border:1px solid rgba(242,196,0,.35); background:rgba(0,0,0,.4);
}
@media (max-width:1400px){ html.lmx-noirbar .noirSpk__portrait{ flex-basis:220px; } }
html.lmx-noirbar .noirSpk__portrait img{ width:100%; display:block; }
/* реплика */
html.lmx-noirbar .noirSpk__paperSlot .paper{ margin:20px 0 0; }
/* карточки движка внутри */
html.lmx-noirbar .noirSpk__hintSlot .card,
html.lmx-noirbar .noirSpk__comboSlot .card{
  margin-top:18px; padding:18px; border-radius:12px;
  background:rgba(0,0,0,.34); border:1px solid rgba(242,196,0,.22);
}
html.lmx-noirbar .noirSpk__hintSlot .cardTitle,
html.lmx-noirbar .noirSpk__comboSlot .cardTitle,
html.lmx-noirbar .noirSpk__histSlot .cardTitle{
  font-family:var(--noir-display); font-size:11px; letter-spacing:.16em;
  color:var(--yellow); margin-bottom:12px; text-transform:uppercase;
}
html.lmx-noirbar .noirSpk__hintSlot .cardMeta{ display:flex; gap:14px; flex-wrap:wrap; margin-bottom:12px; }
html.lmx-noirbar .noirSpk__hintSlot .mini{
  padding:6px 12px; border-radius:8px; font-size:12px;
  background:rgba(240,232,210,.05); border:1px solid rgba(240,232,210,.14);
  color:rgba(240,232,210,.7);
}
html.lmx-noirbar .noirSpk__hintSlot .notice,
html.lmx-noirbar .noirSpk__comboSlot .notice{
  padding:13px 16px; border-radius:10px; font-size:13px; line-height:1.55;
  background:rgba(0,0,0,.3); border:1px dashed rgba(240,232,210,.16);
  color:rgba(240,232,210,.6);
}
/* баланс */
html.lmx-noirbar .noirSpk__balance{
  display:flex; align-items:center; gap:14px; margin-top:18px; padding:16px 20px;
  border-radius:12px; background:rgba(0,0,0,.34); border:1px solid rgba(242,196,0,.28);
}
html.lmx-noirbar .noirSpk__balIco{
  width:38px; height:38px; display:flex; align-items:center; justify-content:center;
  border:1px solid rgba(242,196,0,.5); border-radius:50%; color:var(--yellow); font-size:17px;
}
html.lmx-noirbar .noirSpk__balBody{ flex:1; min-width:0; color:rgba(240,232,210,.55); font-size:13px; }
html.lmx-noirbar .noirSpk__balBody i{
  display:block; font-style:normal; font-family:var(--noir-display);
  font-size:9.5px; letter-spacing:.16em; color:rgba(240,232,210,.4); margin-bottom:3px;
}
html.lmx-noirbar .noirSpk__balBody b{
  font-family:var(--noir-display); font-size:22px; color:var(--yellow); margin-right:6px;
}
html.lmx-noirbar .noirSpk__balBtn{
  padding:12px 18px; border-radius:10px; cursor:pointer;
  font-family:var(--noir-display); font-size:11px; letter-spacing:.1em;
  color:var(--yellow); background:transparent; border:1px solid rgba(242,196,0,.45);
}
html.lmx-noirbar .noirSpk__balBtn:hover{ background:rgba(242,196,0,.1); }
/* большая кнопка покупки */
html.lmx-noirbar .noirSpk__cta{ margin-top:20px; }
html.lmx-noirbar .noirSpk__go{
  width:100%; margin:0 !important; padding:18px; border:0; cursor:pointer;
  font-family:var(--noir-display); font-size:14px; letter-spacing:.12em; color:#17130a;
  background:url("assets/noir_bar.webp") center/100% 100% no-repeat, var(--yellow);
}
html.lmx-noirbar .noirSpk__go[disabled]{
  background:rgba(240,232,210,.1); color:rgba(240,232,210,.45); cursor:default;
}
/* правая колонка */
html.lmx-noirbar .noirSpk__rail{ display:flex; flex-direction:column; gap:14px; position:sticky; top:18px; }
html.lmx-noirbar .noirSpk__box{ padding:18px; }
html.lmx-noirbar .noirSpk__boxHead{
  font-family:var(--noir-display); font-size:10.5px; letter-spacing:.16em;
  color:var(--yellow); margin-bottom:14px;
}
html.lmx-noirbar .noirSpk__step{ display:flex; gap:12px; margin-bottom:14px; }
html.lmx-noirbar .noirSpk__step:last-child{ margin-bottom:0; }
html.lmx-noirbar .noirSpk__stepIco{
  width:38px; height:38px; flex:0 0 auto; display:flex; align-items:center; justify-content:center;
  border-radius:10px; color:var(--yellow);
  background:rgba(242,196,0,.07); border:1px solid rgba(242,196,0,.3);
}
html.lmx-noirbar .noirSpk__stepIco svg{ width:19px; height:19px; }
html.lmx-noirbar .noirSpk__stepBody b{
  display:block; font-size:13px; font-weight:700; color:#f5f1e6;
}
html.lmx-noirbar .noirSpk__stepBody i{
  display:block; margin-top:4px; font-style:normal; font-size:12px;
  line-height:1.45; color:rgba(240,232,210,.5);
}
html.lmx-noirbar .noirSpk__quote{
  font-size:12.5px; line-height:1.65; color:rgba(240,232,210,.6); font-style:italic;
}
html.lmx-noirbar .noirSpk__histSlot .card{
  margin:0; padding:0; background:none; border:0;
}
html.lmx-noirbar .noirSpk__histSlot .hr{ display:none; }
html.lmx-noirbar .noirSpk__none{ font-size:12.5px; color:rgba(240,232,210,.4); }

/* ============================================================
 * v92: ХОД ДЕЛА (#plan=) по референсу — этапы слева,
 * навигация, текущее задание и открытия справа.
 * ============================================================ */
html.lmx-noirbar .noirPlanSrcHidden{ display:none !important; }

html.lmx-noirbar #planRoot .noirPlan{ max-width:1400px; margin:0 auto; padding:6px 0 60px; }
html.lmx-noirbar .noirPlan__top{ display:flex; align-items:center; gap:16px; margin-bottom:16px; }
html.lmx-noirbar .noirPlan__back{
  width:44px; height:44px; border:1px solid rgba(242,196,0,.4);
  border-radius:10px; background:rgba(242,196,0,.06); color:var(--yellow);
}
html.lmx-noirbar .noirPlan__h1{
  font-family:var(--noir-display); font-weight:700; font-size:28px;
  letter-spacing:.08em; color:#f5f1e6; line-height:1;
}
html.lmx-noirbar .noirPlan__sub{
  margin-top:6px; font-size:11.5px; letter-spacing:.16em; color:rgba(242,196,0,.75);
}
/* прогресс по делу */
html.lmx-noirbar .noirPlan__prog .planhdr{
  margin:0 0 18px; padding:14px 18px; border-radius:12px;
  background:rgba(0,0,0,.32); border:1px solid rgba(242,196,0,.25);
}
html.lmx-noirbar .noirPlan__prog .planhdr__label{
  font-family:var(--noir-display); font-size:10.5px; letter-spacing:.16em;
  color:rgba(240,232,210,.5);
}
html.lmx-noirbar .noirPlan__prog .planhdr__bar{
  height:6px; margin-top:10px; background:rgba(240,232,210,.1);
}
html.lmx-noirbar .noirPlan__grid{
  display:grid; grid-template-columns:minmax(0,1fr) 340px; gap:18px; align-items:start;
}
@media (max-width:1400px){
  html.lmx-noirbar .noirPlan__grid{ grid-template-columns:minmax(0,1fr) 290px; }
}
/* карточка этапа */
html.lmx-noirbar .noirPlan__acts .planact{
  position:relative; margin-bottom:16px; padding:0; overflow:hidden; border-radius:13px;
  background:url("assets/noir_card.webp") center/100% 100% no-repeat, #0d0b08;
  border:1px solid rgba(242,196,0,.28);
}
html.lmx-noirbar .noirPlan__acts .planact--locked{
  border-style:dashed; border-color:rgba(240,232,210,.18); opacity:.75;
}
html.lmx-noirbar .noirPlan__acts .planact__head{
  display:flex; align-items:center; gap:14px; padding:16px 20px;
  border-bottom:1px solid rgba(242,196,0,.18);
}
html.lmx-noirbar .noirPlan__acts .planact__title{
  font-family:var(--noir-display); font-size:15px; letter-spacing:.12em;
  color:#f5f1e6; text-transform:uppercase;
}
html.lmx-noirbar .noirPlan__acts .planact__sub,
html.lmx-noirbar .noirPlan__acts .planact__gate{
  margin-top:5px; font-size:12.5px; color:rgba(240,232,210,.5); text-transform:none;
  letter-spacing:normal;
}
html.lmx-noirbar .noirPlan__acts .planact__count{
  margin-left:auto; padding:5px 12px; border-radius:7px;
  font-family:var(--noir-display); font-size:12.5px;
  color:var(--yellow); background:rgba(242,196,0,.1); border:1px solid rgba(242,196,0,.4);
}
html.lmx-noirbar .noirPlan__acts .planact__bar{
  height:3px; background:rgba(240,232,210,.08);
}
html.lmx-noirbar .noirPlan__acts .planact__bar-fill{
  height:100%; background:linear-gradient(90deg,#a06010,var(--yellow));
}
/* задание */
html.lmx-noirbar .noirPlan__acts .plantask{
  gap:14px; padding:15px 20px;
}
html.lmx-noirbar .noirPlan__acts .plantask + .plantask{
  border-top:1px solid rgba(240,232,210,.07);
}
html.lmx-noirbar .noirPlan__acts .plantask--av:hover,
html.lmx-noirbar .noirPlan__acts .plantask--done:hover{ background:rgba(242,196,0,.06); }
html.lmx-noirbar .noirPlan__acts .plantask__ic{ font-size:17px; width:26px; }
html.lmx-noirbar .noirPlan__acts .plantask__title{
  font-family:var(--noir-display); font-size:13.5px; letter-spacing:.03em; color:#f5f1e6;
}
html.lmx-noirbar .noirPlan__acts .plantask--done .plantask__title{
  color:rgba(240,232,210,.45);
}
html.lmx-noirbar .noirPlan__acts .plantask--av::after{
  content:"›"; margin-left:auto; color:rgba(242,196,0,.7); font-size:20px; line-height:1;
}
html.lmx-noirbar .noirPlan__acts .plantask--done::after{
  content:"ВЫПОЛНЕНО"; margin-left:auto; flex:0 0 auto;
  font-family:var(--noir-display); font-size:10px; letter-spacing:.12em; color:#6ec98a;
}
html.lmx-noirbar .noirPlan__acts .plantask__body{ flex:1; min-width:0; }
/* правая колонка */
html.lmx-noirbar .noirPlan__rail{
  display:flex; flex-direction:column; gap:14px; position:sticky; top:18px;
}
html.lmx-noirbar .noirPlan__box{
  position:relative; padding:16px; border-radius:13px;
  background:url("assets/noir_card.webp") center/100% 100% no-repeat, #0d0b08;
  border:1px solid rgba(242,196,0,.25);
}
html.lmx-noirbar .noirPlan__boxHead{
  font-family:var(--noir-display); font-size:10.5px; letter-spacing:.16em;
  color:var(--yellow); margin-bottom:14px;
}
/* навигация по этапам */
html.lmx-noirbar .noirPlan__nav{ position:relative; }
html.lmx-noirbar .noirPlan__navRow{
  display:flex; align-items:center; gap:11px; width:100%; padding:9px 4px;
  cursor:pointer; text-align:left; background:none; border:0;
}
html.lmx-noirbar .noirPlan__navRow + .noirPlan__navRow{ border-top:1px solid rgba(240,232,210,.07); }
html.lmx-noirbar .noirPlan__navDot{
  width:13px; height:13px; flex:0 0 auto; border-radius:50%;
  background:#0d0b08; border:2px solid rgba(242,196,0,.5);
}
html.lmx-noirbar .noirPlan__navRow.is-done .noirPlan__navDot{ background:var(--yellow); }
html.lmx-noirbar .noirPlan__navRow.is-lock .noirPlan__navDot{ border-color:rgba(240,232,210,.25); }
html.lmx-noirbar .noirPlan__navTitle{
  flex:1; min-width:0; font-size:12.5px; color:rgba(240,232,210,.8);
}
html.lmx-noirbar .noirPlan__navRow.is-lock .noirPlan__navTitle{ color:rgba(240,232,210,.4); }
html.lmx-noirbar .noirPlan__navCnt{
  padding:3px 9px; border-radius:6px; font-family:var(--noir-display); font-size:11px;
  color:var(--yellow); background:rgba(242,196,0,.1);
}
/* текущее задание */
html.lmx-noirbar .noirPlan__cur{ display:flex; gap:12px; align-items:flex-start; }
html.lmx-noirbar .noirPlan__curIco{
  width:40px; height:40px; flex:0 0 auto; display:flex; align-items:center; justify-content:center;
  border-radius:10px; color:var(--yellow);
  background:rgba(242,196,0,.07); border:1px solid rgba(242,196,0,.3);
}
html.lmx-noirbar .noirPlan__curIco svg{ width:19px; height:19px; }
html.lmx-noirbar .noirPlan__curBody b{
  display:block; font-family:var(--noir-display); font-size:13.5px; color:#f5f1e6;
}
html.lmx-noirbar .noirPlan__curBody i{
  display:block; margin-top:5px; font-style:normal; font-size:12px;
  line-height:1.45; color:rgba(240,232,210,.5);
}
html.lmx-noirbar .noirPlan__curBtn,
html.lmx-noirbar .noirPlan__dosBtn{
  width:100%; margin-top:14px; padding:12px; cursor:pointer; border-radius:10px;
  font-family:var(--noir-display); font-size:11.5px; letter-spacing:.1em;
  color:var(--yellow); background:transparent; border:1px solid rgba(242,196,0,.45);
}
html.lmx-noirbar .noirPlan__curBtn:hover,
html.lmx-noirbar .noirPlan__dosBtn:hover{ background:rgba(242,196,0,.1); }
/* ключевые открытия */
html.lmx-noirbar .noirPlan__finds{ display:flex; flex-direction:column; gap:8px; }
html.lmx-noirbar .noirPlan__find{
  display:flex; align-items:center; gap:10px; width:100%; padding:10px 12px;
  cursor:pointer; text-align:left; border-radius:10px;
  background:rgba(0,0,0,.3); border:1px solid rgba(240,232,210,.1);
}
html.lmx-noirbar .noirPlan__find:hover{ border-color:var(--yellow); background:rgba(242,196,0,.07); }
html.lmx-noirbar .noirPlan__findIco{ color:var(--yellow); display:flex; }
html.lmx-noirbar .noirPlan__findIco svg{ width:17px; height:17px; }
html.lmx-noirbar .noirPlan__findLbl{
  flex:1; min-width:0; font-family:var(--noir-display); font-size:11px;
  letter-spacing:.1em; color:rgba(240,232,210,.75);
}
html.lmx-noirbar .noirPlan__findCnt{
  font-family:var(--noir-display); font-size:12.5px; color:var(--yellow);
}
html.lmx-noirbar .noirPlan__note{
  padding:14px 16px; border-radius:11px; font-size:12px; line-height:1.5;
  color:rgba(240,232,210,.45); background:rgba(0,0,0,.28);
  border:1px dashed rgba(240,232,210,.16);
}
html.lmx-noirbar .noirPlan__none{ font-size:12.5px; color:rgba(240,232,210,.4); }

/* ============================================================
 * v93: убираем текстурные подложки (noir_card.webp) со всех
 * внутренних экранов дела — на тёмном фоне они шумят и мешают
 * читать. Панели становятся плоскими: ровный тёмный фон и
 * тонкая золотая рамка. Рваные жёлтые кнопки остаются.
 * ============================================================ */
html.lmx-noirbar .noirTask__main,
html.lmx-noirbar .noirTask__box,
html.lmx-noirbar .noirTask__spike,
html.lmx-noirbar .noirClues__list,
html.lmx-noirbar .noirClues__detail,
html.lmx-noirbar .noirIntr__people,
html.lmx-noirbar .noirIntr__chat,
html.lmx-noirbar .noirIntr__box,
html.lmx-noirbar .noirPrs__list,
html.lmx-noirbar .noirPrs__dos,
html.lmx-noirbar .noirDos__mat,
html.lmx-noirbar .noirDos__wide,
html.lmx-noirbar .noirDos__spike,
html.lmx-noirbar .noirDos__accuse,
html.lmx-noirbar .noirDos__notes,
html.lmx-noirbar .noirBrd__canvas,
html.lmx-noirbar .noirBrd__rail,
html.lmx-noirbar .noirSpk__main,
html.lmx-noirbar .noirSpk__box,
html.lmx-noirbar .noirPlan__box,
html.lmx-noirbar .noirPlan__acts .planact,
html.lmx-noirbar .noirCase__body{
  background:rgba(16,17,20,.92) !important;
}
/* у досье акцентная карточка обвинения остаётся выделенной */
html.lmx-noirbar .noirDos__accuse{ background:rgba(242,196,0,.06) !important; }
html.lmx-noirbar .noirDos__accuse:hover{ background:rgba(242,196,0,.12) !important; }
/* рамки рисуем ровными, без двойных краёв от арта */
html.lmx-noirbar .noirTask__main::after,
html.lmx-noirbar .noirTask__box::after,
html.lmx-noirbar .noirTask__spike::after,
html.lmx-noirbar .noirClues__list::after,
html.lmx-noirbar .noirClues__detail::after,
html.lmx-noirbar .noirIntr__people::after,
html.lmx-noirbar .noirIntr__chat::after,
html.lmx-noirbar .noirIntr__box::after,
html.lmx-noirbar .noirPrs__list::after,
html.lmx-noirbar .noirPrs__dos::after,
html.lmx-noirbar .noirBrd__canvas::after,
html.lmx-noirbar .noirBrd__rail::after,
html.lmx-noirbar .noirSpk__main::after,
html.lmx-noirbar .noirSpk__box::after,
html.lmx-noirbar .noirCase__body::after{
  border-color:rgba(242,196,0,.25);
}
/* «Ход дела»: карточка этапа — плоская, шапка чуть светлее */
html.lmx-noirbar .noirPlan__acts .planact__head{
  background:rgba(242,196,0,.05);
}
html.lmx-noirbar .noirPlan__acts .plantask{ background:transparent; }

/* ============================================================
 * v94: ОБВИНЕНИЕ (#accuse=) по референсу, плоские панели.
 * ============================================================ */
html.lmx-noirbar .noirAccSrcHidden{ display:none !important; }

html.lmx-noirbar #accuseRoot .noirAcc{ max-width:1400px; margin:0 auto; padding:6px 0 60px; }
html.lmx-noirbar .noirAcc__top{ display:flex; align-items:center; gap:16px; margin-bottom:18px; }
html.lmx-noirbar .noirAcc__back{
  width:44px; height:44px; border:1px solid rgba(242,196,0,.4);
  border-radius:10px; background:rgba(242,196,0,.06); color:var(--yellow);
}
html.lmx-noirbar .noirAcc__h1{
  font-family:var(--noir-display); font-weight:700; font-size:28px;
  letter-spacing:.08em; color:#f5f1e6; line-height:1;
}
html.lmx-noirbar .noirAcc__sub{
  margin-top:6px; font-size:11.5px; letter-spacing:.16em; color:rgba(242,196,0,.75);
}
html.lmx-noirbar .noirAcc__grid{
  display:grid; grid-template-columns:minmax(0,1fr) 330px; gap:18px; align-items:start;
}
@media (max-width:1400px){
  html.lmx-noirbar .noirAcc__grid{ grid-template-columns:minmax(0,1fr) 280px; }
}
html.lmx-noirbar .noirAcc__main{
  padding:22px; border-radius:14px;
  background:rgba(16,17,20,.92); border:1px solid rgba(242,196,0,.25);
}
/* вводная */
html.lmx-noirbar .noirAcc__introSlot .acc__intro{
  margin:0 0 22px; padding:16px 20px; border-radius:12px; font-size:13.5px; line-height:1.6;
  color:rgba(240,232,210,.8); background:rgba(242,196,0,.06);
  border:1px solid rgba(242,196,0,.3);
}
/* заголовок шага */
html.lmx-noirbar .noirAcc__secHead{
  display:flex; align-items:center; gap:10px; margin:0 0 12px;
}
html.lmx-noirbar .noirAcc__stepB .noirAcc__secHead,
html.lmx-noirbar .noirAcc__stepC .noirAcc__secHead,
html.lmx-noirbar .noirAcc__stepD .noirAcc__secHead{ margin-top:26px; }
html.lmx-noirbar .noirAcc__secHead b{
  font-family:var(--noir-display); font-size:12px; color:#17130a; background:var(--yellow);
  border-radius:6px; padding:3px 8px;
}
html.lmx-noirbar .noirAcc__secHead span{
  font-family:var(--noir-display); font-size:12.5px; letter-spacing:.16em; color:var(--yellow);
}
html.lmx-noirbar .noirAcc__main .acc__hint{
  margin:0 0 12px; font-size:12.5px; color:rgba(240,232,210,.5);
}
/* подозреваемые */
html.lmx-noirbar .noirAcc__main .acc__susp{
  display:grid; grid-template-columns:repeat(auto-fill,minmax(220px,1fr)); gap:12px;
}
html.lmx-noirbar .noirAcc__main .acc__card{
  display:flex; flex-direction:column; align-items:center; gap:10px; padding:18px 14px;
  cursor:pointer; border-radius:12px; text-align:center;
  background:rgba(0,0,0,.32); border:1px solid rgba(240,232,210,.12);
}
html.lmx-noirbar .noirAcc__main .acc__card:hover{ border-color:rgba(242,196,0,.5); }
html.lmx-noirbar .noirAcc__main .acc__card.sel{
  border-color:var(--yellow); background:rgba(242,196,0,.08);
  box-shadow:0 0 0 1px rgba(242,196,0,.35) inset;
}
html.lmx-noirbar .noirAcc__main .acc__av{
  width:92px; height:92px; border-radius:50%; background-size:cover; background-position:center;
  display:flex; align-items:center; justify-content:center;
  font-family:var(--noir-display); font-size:28px; border-width:2px; border-style:solid;
}
html.lmx-noirbar .noirAcc__main .acc__nm{
  font-family:var(--noir-display); font-size:14px; color:#f5f1e6;
}
html.lmx-noirbar .noirAcc__main .acc__rl{
  margin-top:6px; display:inline-block; padding:3px 10px; border-radius:6px;
  font-size:10px; letter-spacing:.12em; text-transform:uppercase;
  color:#ff8f8f; background:rgba(255,107,107,.12); border:1px solid rgba(255,107,107,.35);
}
/* улики и мотивы */
html.lmx-noirbar .noirAcc__stepB .acc__ev{
  display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px;
}
@media (max-width:1200px){
  html.lmx-noirbar .noirAcc__stepB .acc__ev{ grid-template-columns:minmax(0,1fr); }
}
html.lmx-noirbar .noirAcc__stepC .acc__ev,
html.lmx-noirbar .noirAcc__stepD .acc__ev{
  display:grid; grid-template-columns:repeat(auto-fill,minmax(230px,1fr)); gap:10px;
}
html.lmx-noirbar .noirAcc__main .acc__ck{
  display:flex; align-items:center; gap:11px; padding:12px 14px; cursor:pointer;
  border-radius:10px; font-size:13px; color:rgba(240,232,210,.8);
  background:rgba(0,0,0,.3); border:1px solid rgba(240,232,210,.1);
}
html.lmx-noirbar .noirAcc__main .acc__ck:hover{ border-color:rgba(242,196,0,.45); }
html.lmx-noirbar .noirAcc__main .acc__ck.sel{
  border-color:var(--yellow); background:rgba(242,196,0,.08); color:#f5f1e6;
}
html.lmx-noirbar .noirAcc__main .acc__ckbox{
  width:20px; height:20px; flex:0 0 auto; border-radius:5px;
  display:flex; align-items:center; justify-content:center; font-size:12px;
  color:#17130a; background:transparent; border:1px solid rgba(240,232,210,.3);
}
html.lmx-noirbar .noirAcc__main .acc__ck.sel .acc__ckbox{
  background:var(--yellow); border-color:var(--yellow);
}
/* награда, кнопка, подпись */
html.lmx-noirbar .noirAcc__rew{
  margin-top:24px; text-align:center; font-size:13px; color:rgba(242,196,0,.85);
}
html.lmx-noirbar .noirAcc__submitSlot{ margin-top:14px; }
html.lmx-noirbar .noirAcc__go{
  width:100%; margin:0 !important; padding:20px; cursor:pointer; border-radius:12px;
  font-family:var(--noir-display); font-size:16px; letter-spacing:.14em;
  color:#ffb0b0; background:rgba(255,60,60,.08); border:1px solid rgba(255,80,80,.55);
}
html.lmx-noirbar .noirAcc__go:hover:not([disabled]){
  background:rgba(255,60,60,.16); color:#fff;
}
html.lmx-noirbar .noirAcc__go[disabled]{
  color:rgba(240,232,210,.35); background:rgba(240,232,210,.05);
  border-color:rgba(240,232,210,.15); cursor:default;
}
html.lmx-noirbar .noirAcc__foot{
  margin-top:12px; text-align:center; font-size:12px; color:rgba(240,232,210,.4);
}
html.lmx-noirbar .noirAcc__main .acc__locked{
  padding:26px 20px; text-align:center; border-radius:12px; font-size:14px; line-height:1.7;
  color:rgba(240,232,210,.65); background:rgba(0,0,0,.3);
  border:1px dashed rgba(240,232,210,.16);
}
html.lmx-noirbar .noirAcc__main .acc__verdict{
  padding:22px; border-radius:12px; background:rgba(0,0,0,.32);
  border:1px solid rgba(242,196,0,.3);
}
html.lmx-noirbar .noirAcc__main .acc__vtitle{
  font-family:var(--noir-display); font-size:17px; letter-spacing:.08em; margin-bottom:10px;
  color:var(--yellow);
}
html.lmx-noirbar .noirAcc__main .acc__verdict--bad .acc__vtitle{ color:#ff9f9f; }
html.lmx-noirbar .noirAcc__main .acc__vtext{
  font-size:13.5px; line-height:1.65; color:rgba(240,232,210,.75);
}
/* правая колонка */
html.lmx-noirbar .noirAcc__rail{
  display:flex; flex-direction:column; gap:14px; position:sticky; top:18px;
}
html.lmx-noirbar .noirAcc__box{
  padding:16px; border-radius:13px;
  background:rgba(16,17,20,.92); border:1px solid rgba(242,196,0,.25);
}
html.lmx-noirbar .noirAcc__boxHead{
  font-family:var(--noir-display); font-size:10.5px; letter-spacing:.16em;
  color:var(--yellow); margin-bottom:14px;
}
html.lmx-noirbar .noirAcc__chk{
  display:flex; align-items:center; gap:10px; padding:11px 13px; margin-bottom:9px;
  border-radius:10px; font-size:12.5px; color:rgba(240,232,210,.55);
  background:rgba(0,0,0,.3); border:1px solid rgba(240,232,210,.1);
}
html.lmx-noirbar .noirAcc__chk:last-child{ margin-bottom:0; }
html.lmx-noirbar .noirAcc__chk.is-on{
  color:#f5f1e6; border-color:rgba(242,196,0,.4); background:rgba(242,196,0,.07);
}
html.lmx-noirbar .noirAcc__tick{ display:flex; color:rgba(240,232,210,.3); }
html.lmx-noirbar .noirAcc__tick.is-on{ color:var(--yellow); }
html.lmx-noirbar .noirAcc__tick svg{ width:18px; height:18px; display:block; }
html.lmx-noirbar .noirAcc__step{
  display:flex; gap:11px; margin-bottom:12px; font-size:12.5px; line-height:1.5;
  color:rgba(240,232,210,.6);
}
html.lmx-noirbar .noirAcc__step:last-child{ margin-bottom:0; }
html.lmx-noirbar .noirAcc__step b{
  flex:0 0 auto; width:22px; height:22px; display:flex; align-items:center; justify-content:center;
  border-radius:6px; font-family:var(--noir-display); font-size:11px;
  color:var(--yellow); background:rgba(242,196,0,.1); border:1px solid rgba(242,196,0,.35);
}
html.lmx-noirbar .noirAcc__box--risk{
  border-color:rgba(255,80,80,.45); background:rgba(255,60,60,.06);
}
html.lmx-noirbar .noirAcc__riskHead{
  font-family:var(--noir-display); font-size:11px; letter-spacing:.14em;
  color:#ff9f9f; margin-bottom:10px;
}
html.lmx-noirbar .noirAcc__riskText{
  font-size:12.5px; line-height:1.55; color:rgba(255,190,190,.75);
}
html.lmx-noirbar .noirAcc__box--rew{ text-align:center; }
html.lmx-noirbar .noirAcc__rewBig{
  font-family:var(--noir-display); font-size:36px; color:var(--yellow); line-height:1;
}
html.lmx-noirbar .noirAcc__rewSub{
  margin-top:8px; font-size:12px; color:rgba(240,232,210,.5);
}

/* ============================================================
 * v95: МЕССЕНДЖЕР — экран списка чатов по референсу.
 * Плоские панели, слева чаты и материалы, справа рабочая колонка.
 * ============================================================ */
html.lmx-noirbar .noirMsgSrcHidden{ display:none !important; }

html.lmx-noirbar #messengerGameRoot .noirMsg{
  max-width:1400px; margin:0 auto; padding:6px 0 60px;
}
html.lmx-noirbar .noirMsg__top{ display:flex; align-items:center; gap:18px; margin-bottom:20px; }
html.lmx-noirbar .noirMsg__back{
  width:44px; height:44px; flex:0 0 auto; border:1px solid rgba(242,196,0,.4);
  border-radius:10px; background:rgba(242,196,0,.06); color:var(--yellow);
}
html.lmx-noirbar .noirMsg__head{ flex:1; min-width:0; }
html.lmx-noirbar .noirMsg__h1{
  font-family:var(--noir-display); font-weight:700; font-size:26px;
  letter-spacing:.05em; color:#f5f1e6; line-height:1.15;
}
html.lmx-noirbar .noirMsg__sub{
  margin-top:6px; font-size:12px; color:rgba(240,232,210,.45);
}
html.lmx-noirbar .noirMsg__prog{ flex:0 0 auto; text-align:right; }
html.lmx-noirbar .noirMsg__progLbl{
  display:block; font-family:var(--noir-display); font-size:10px;
  letter-spacing:.16em; color:rgba(240,232,210,.45);
}
html.lmx-noirbar .noirMsg__progVal{
  display:inline-block; margin-top:6px; font-family:var(--noir-display);
  font-size:18px; color:var(--yellow);
}
html.lmx-noirbar .noirMsg__progBars{ display:flex; gap:3px; margin-top:8px; }
html.lmx-noirbar .noirMsg__progBars i{
  width:14px; height:9px; border-radius:2px; background:rgba(240,232,210,.12);
}
html.lmx-noirbar .noirMsg__progBars i.is-on{ background:var(--yellow); }
html.lmx-noirbar .noirMsg__grid{
  display:grid; grid-template-columns:minmax(0,1fr) 330px; gap:18px; align-items:start;
}
@media (max-width:1400px){
  html.lmx-noirbar .noirMsg__grid{ grid-template-columns:minmax(0,1fr) 280px; }
}
/* карточки чатов */
html.lmx-noirbar .noirMsg__list{ display:flex; flex-direction:column; gap:12px; }
html.lmx-noirbar .noirMsg__row,
html.lmx-noirbar .noirMsg__locked,
html.lmx-noirbar .noirMsg__mat{
  display:flex !important; align-items:center; gap:16px !important; width:100%;
  padding:16px 18px !important; border:1px solid rgba(242,196,0,.25) !important;
  border-radius:13px; background:rgba(16,17,20,.92); cursor:pointer; text-align:left;
}
html.lmx-noirbar .noirMsg__row:hover,
html.lmx-noirbar .noirMsg__mat:hover{ border-color:var(--yellow) !important; }
html.lmx-noirbar .noirMsg__row::after,
html.lmx-noirbar .noirMsg__mat .noirMsg__chev{
  content:"›"; margin-left:auto; color:rgba(242,196,0,.6); font-size:22px; line-height:1;
}
html.lmx-noirbar .noirMsg__locked{
  cursor:default; border-style:dashed !important; border-color:rgba(240,232,210,.18) !important;
  opacity:1 !important;
}
html.lmx-noirbar .noirMsg__row img,
html.lmx-noirbar .noirMsg__locked > div:first-child{
  width:56px !important; height:56px !important; border-radius:50%;
}
html.lmx-noirbar .noirMsg__mat{ background:rgba(242,196,0,.05); }
html.lmx-noirbar .noirMsg__matIco{
  width:52px; height:52px; flex:0 0 auto; display:flex; align-items:center; justify-content:center;
  border-radius:12px; font-size:24px;
  background:rgba(242,196,0,.1); border:1px solid rgba(242,196,0,.3);
}
html.lmx-noirbar .noirMsg__matBody{ flex:1; min-width:0; }
html.lmx-noirbar .noirMsg__matBody b{
  display:block; font-family:var(--noir-display); font-size:15px; color:#f5f1e6;
}
html.lmx-noirbar .noirMsg__matSub{
  display:block; margin-top:4px; font-style:normal; font-size:12.5px; color:rgba(240,232,210,.5);
}
html.lmx-noirbar .noirMsg__matCnt{
  flex:0 0 auto; padding:4px 11px; border-radius:7px;
  font-family:var(--noir-display); font-size:13px; color:#17130a; background:var(--yellow);
}
/* правая колонка */
html.lmx-noirbar .noirMsg__rail{
  display:flex; flex-direction:column; gap:14px; position:sticky; top:18px;
}
html.lmx-noirbar .noirMsg__box{
  padding:16px; border-radius:13px;
  background:rgba(16,17,20,.92); border:1px solid rgba(242,196,0,.25);
}
html.lmx-noirbar .noirMsg__boxHead{
  font-family:var(--noir-display); font-size:10.5px; letter-spacing:.16em;
  color:var(--yellow); margin-bottom:12px;
}
html.lmx-noirbar .noirMsg__aboutText{
  font-size:12.5px; line-height:1.6; color:rgba(240,232,210,.65);
}
html.lmx-noirbar .noirMsg__sceneBody b{
  display:block; font-family:var(--noir-display); font-size:14px; color:#f5f1e6;
}
html.lmx-noirbar .noirMsg__sceneBody i{
  display:block; margin-top:5px; font-style:normal; font-size:12.5px;
  line-height:1.5; color:rgba(240,232,210,.5);
}
html.lmx-noirbar .noirMsg__sceneBody ul{ margin:10px 0 0; padding-left:16px; }
html.lmx-noirbar .noirMsg__sceneBody li{
  font-size:12.5px; line-height:1.5; color:rgba(240,232,210,.6); margin-bottom:6px;
}
html.lmx-noirbar .noirMsg__foundRow{
  display:flex; align-items:center; justify-content:space-between; gap:10px;
  padding:9px 12px; margin-bottom:7px; border-radius:9px;
  background:rgba(0,0,0,.3); border:1px solid rgba(240,232,210,.1);
  font-family:var(--noir-display); font-size:11px; letter-spacing:.08em;
  color:rgba(240,232,210,.7);
}
html.lmx-noirbar .noirMsg__foundRow b{ color:var(--yellow); font-size:13px; }
html.lmx-noirbar .noirMsg__act{
  display:block; width:100%; margin-bottom:9px; padding:12px; cursor:pointer;
  border-radius:10px; font-family:var(--noir-display); font-size:11.5px; letter-spacing:.1em;
  color:var(--yellow); background:transparent; border:1px solid rgba(242,196,0,.45);
}
html.lmx-noirbar .noirMsg__act:last-child{ margin-bottom:0; }
html.lmx-noirbar .noirMsg__act:hover{ background:rgba(242,196,0,.1); }
/* состояние героя */
html.lmx-noirbar .noirMsg__stateRow{ margin-bottom:12px; }
html.lmx-noirbar .noirMsg__stateRow i{
  display:block; font-style:normal; font-family:var(--noir-display);
  font-size:9.5px; letter-spacing:.16em; color:rgba(240,232,210,.45); margin-bottom:6px;
}
html.lmx-noirbar .noirMsg__stateRow span{ display:flex; gap:3px; }
html.lmx-noirbar .noirMsg__stateRow span i{
  width:12px; height:14px; margin:0; border-radius:2px; background:rgba(240,232,210,.12);
}
html.lmx-noirbar .noirMsg__stateRow span i.is-stress{ background:#e05c5c; }
html.lmx-noirbar .noirMsg__stateRow span i.is-risk{ background:var(--yellow); }
html.lmx-noirbar .noirMsg__stateNote{
  font-size:12px; color:#ff9f9f;
}
/* окно «материалы дела» */
html.lmx-noirbar .noirMsgMat{
  position:fixed; inset:0; z-index:100060; display:flex; align-items:center; justify-content:center;
  padding:30px; background:rgba(0,0,0,.85); backdrop-filter:blur(6px);
}
html.lmx-noirbar .noirMsgMat__box{
  width:100%; max-width:900px; max-height:82vh; overflow:auto; padding:22px;
  border-radius:14px; background:#101114; border:1px solid rgba(242,196,0,.35);
}
html.lmx-noirbar .noirMsgMat__head{
  display:flex; align-items:center; justify-content:space-between; margin-bottom:16px;
  font-family:var(--noir-display); font-size:13px; letter-spacing:.16em; color:var(--yellow);
}
html.lmx-noirbar .noirMsgMat__close{
  width:32px; height:32px; border-radius:8px; cursor:pointer; color:#f5f1e6;
  background:rgba(240,232,210,.07); border:1px solid rgba(240,232,210,.16);
}
html.lmx-noirbar .noirMsgMat__grid{
  display:grid; grid-template-columns:repeat(auto-fill,minmax(180px,1fr)); gap:12px;
}
html.lmx-noirbar .noirMsgMat__item{
  margin:0; padding:0; border-radius:10px; overflow:hidden;
  background:rgba(0,0,0,.35); border:1px solid rgba(240,232,210,.12);
}
html.lmx-noirbar .noirMsgMat__item--wide{ grid-column:span 2; padding:12px; }
html.lmx-noirbar .noirMsgMat__item--doc{
  display:flex; align-items:center; padding:14px; font-size:13px;
  color:var(--yellow); text-decoration:none;
}
html.lmx-noirbar .noirMsgMat__item img{
  width:100%; height:140px; object-fit:cover; display:block; cursor:zoom-in;
}
html.lmx-noirbar .noirMsgMat__item video,
html.lmx-noirbar .noirMsgMat__item audio{ width:100%; display:block; }
html.lmx-noirbar .noirMsgMat__item figcaption{
  padding:8px 10px; font-size:11.5px; line-height:1.4; color:rgba(240,232,210,.6);
}
html.lmx-noirbar .noirMsgMat__empty{
  grid-column:1/-1; padding:30px; text-align:center; font-size:13px; color:rgba(240,232,210,.45);
}

/* v96: подгонка списка чатов мессенджера — родные инлайн-стили
   строк перебиваем, лишние стрелки и разделители убираем */
html.lmx-noirbar .noirMsg__row{
  position:relative; border-bottom:0 !important;
}
html.lmx-noirbar .noirMsg__row::after{ content:none !important; }
/* аватар и текст */
html.lmx-noirbar .noirMsg__row > div:first-child{ flex:0 0 auto; }
html.lmx-noirbar .noirMsg__row img,
html.lmx-noirbar .noirMsg__row > div:first-child > div{
  width:56px !important; height:56px !important; border-radius:50% !important;
  font-size:26px !important;
}
html.lmx-noirbar .noirMsg__row > div:nth-child(2){ flex:1; min-width:0; padding-right:78px; }
html.lmx-noirbar .noirMsg__row > div:nth-child(2) > div:first-child{
  font-family:var(--noir-display); font-size:15.5px !important; color:#f5f1e6 !important;
}
html.lmx-noirbar .noirMsg__row > div:nth-child(2) > div:nth-child(2){
  margin-top:5px !important; font-size:13px !important; line-height:1.45 !important;
  color:rgba(240,232,210,.5) !important; white-space:normal !important;
}
/* бейдж активного чата */
html.lmx-noirbar .noirMsg__live{
  position:absolute; top:16px; right:18px;
  padding:4px 11px; border-radius:100px;
  font-family:var(--noir-display); font-size:10px; letter-spacing:.1em;
  color:var(--yellow); background:rgba(242,196,0,.1); border:1px solid rgba(242,196,0,.5);
}
/* «Ещё N чатов» */
html.lmx-noirbar .noirMsg__locked > div:first-child{
  width:56px !important; height:56px !important; border-radius:50% !important;
  background:rgba(240,232,210,.06) !important;
}
html.lmx-noirbar .noirMsg__locked > div:nth-child(2) > div:first-child{
  font-family:var(--noir-display); font-size:15px !important; color:rgba(240,232,210,.6) !important;
}
/* прогресс истории: делений не больше 14, значение крупнее */
html.lmx-noirbar .noirMsg__prog{ min-width:220px; }
html.lmx-noirbar .noirMsg__progBars{ justify-content:flex-end; }

/* ============================================================
 * v97: МЕССЕНДЖЕР — экран чата в три колонки.
 * Чат движка вынимаем из «телефонного» полноэкранного режима.
 * ============================================================ */
html.lmx-noirbar #view-messengergame.noirChatView{
  overflow-y:auto !important; -webkit-overflow-scrolling:touch !important;
  padding:22px 26px 40px !important;
}
html.lmx-noirbar #view-messengergame.noirChatView #messengerGameRoot{
  position:static !important; inset:auto !important; overflow:visible !important;
}
html.lmx-noirbar .noirChat{ max-width:1600px; margin:0 auto; }
html.lmx-noirbar .noirChat__grid{
  display:grid; grid-template-columns:300px minmax(0,1fr) 330px; gap:16px; align-items:start;
}
@media (max-width:1500px){
  html.lmx-noirbar .noirChat__grid{ grid-template-columns:250px minmax(0,1fr) 290px; }
}
html.lmx-noirbar .noirChat__side,
html.lmx-noirbar .noirChat__box{
  padding:16px; border-radius:13px;
  background:rgba(16,17,20,.92); border:1px solid rgba(242,196,0,.25);
}
html.lmx-noirbar .noirChat__sideHead{
  font-family:var(--noir-display); font-size:12.5px; letter-spacing:.06em;
  color:#f5f1e6; margin-bottom:14px; line-height:1.3;
}
html.lmx-noirbar .noirChat__chats{ display:flex; flex-direction:column; gap:8px; }
html.lmx-noirbar .noirChat__chat{
  display:flex; align-items:center; gap:11px; padding:10px; cursor:pointer;
  text-decoration:none; border-radius:10px;
  background:rgba(0,0,0,.3); border:1px solid rgba(240,232,210,.1);
}
html.lmx-noirbar .noirChat__chat:hover{ border-color:rgba(242,196,0,.45); }
html.lmx-noirbar .noirChat__chat.is-on{ border-color:var(--yellow); background:rgba(242,196,0,.08); }
html.lmx-noirbar .noirChat__chat.is-lock{ border-style:dashed; cursor:default; opacity:.75; }
html.lmx-noirbar .noirChat__ava{
  width:46px; height:46px; flex:0 0 auto; border-radius:50%; overflow:hidden;
  background:rgba(240,232,210,.08); display:flex; align-items:center; justify-content:center;
}
html.lmx-noirbar .noirChat__ava img{ width:100%; height:100%; object-fit:cover; display:block; }
html.lmx-noirbar .noirChat__ava i{ font-style:normal; font-size:20px; }
html.lmx-noirbar .noirChat__chatBody{ flex:1; min-width:0; }
html.lmx-noirbar .noirChat__chatBody b{
  display:block; font-family:var(--noir-display); font-size:13px; color:#f5f1e6;
}
html.lmx-noirbar .noirChat__chatBody i{
  display:block; margin-top:3px; font-style:normal; font-size:11.5px; color:rgba(240,232,210,.45);
}
html.lmx-noirbar .noirChat__chat.is-on .noirChat__chatBody i{ color:#6ec98a; }
html.lmx-noirbar .noirChat__all{
  width:100%; margin-top:14px; padding:11px; cursor:pointer; border-radius:10px;
  font-family:var(--noir-display); font-size:11px; letter-spacing:.1em;
  color:var(--yellow); background:transparent; border:1px solid rgba(242,196,0,.45);
}
/* центральная колонка — живой чат движка */
html.lmx-noirbar .noirChat__main{ position:relative; height:78vh; }
html.lmx-noirbar .noirChat__main #msgChat{
  position:absolute !important; inset:0 !important; border-radius:14px !important;
  border:1px solid rgba(242,196,0,.25);
}
html.lmx-noirbar .noirChat__main #msgChat > div:first-child{ border-radius:14px 14px 0 0 !important; }
/* правая колонка */
html.lmx-noirbar .noirChat__rail{
  display:flex; flex-direction:column; gap:14px; position:sticky; top:18px;
}
html.lmx-noirbar .noirChat__boxHead{
  font-family:var(--noir-display); font-size:10.5px; letter-spacing:.16em;
  color:var(--yellow); margin-bottom:12px;
}
html.lmx-noirbar .noirChat__goalBody b{
  display:block; font-family:var(--noir-display); font-size:14px; color:#f5f1e6;
}
html.lmx-noirbar .noirChat__goalBody i{
  display:block; margin-top:5px; font-style:normal; font-size:12.5px;
  line-height:1.5; color:rgba(240,232,210,.5);
}
html.lmx-noirbar .noirChat__goalBody ul{ margin:10px 0 0; padding-left:16px; }
html.lmx-noirbar .noirChat__goalBody li{
  font-size:12.5px; line-height:1.5; color:rgba(240,232,210,.65); margin-bottom:6px;
}
html.lmx-noirbar .noirChat__foundRow{
  display:flex; align-items:center; justify-content:space-between; gap:10px;
  padding:9px 12px; margin-bottom:7px; border-radius:9px;
  background:rgba(0,0,0,.3); border:1px solid rgba(240,232,210,.1);
  font-family:var(--noir-display); font-size:11px; letter-spacing:.08em;
  color:rgba(240,232,210,.7);
}
html.lmx-noirbar .noirChat__foundRow b{ color:var(--yellow); font-size:13px; }
html.lmx-noirbar .noirChat__act,
html.lmx-noirbar .noirChat__hintBtn{
  display:block !important; width:100%; margin:0 0 9px !important; padding:12px !important;
  cursor:pointer; border-radius:10px !important;
  font-family:var(--noir-display); font-size:11.5px !important; letter-spacing:.1em;
  color:var(--yellow) !important; background:transparent !important;
  border:1px solid rgba(242,196,0,.45) !important;
}
html.lmx-noirbar .noirChat__act:hover,
html.lmx-noirbar .noirChat__hintBtn:hover{ background:rgba(242,196,0,.1) !important; }
html.lmx-noirbar .noirChat__hintSlot:empty{ display:none; }
html.lmx-noirbar .noirChat__stateRow{ margin-bottom:12px; }
html.lmx-noirbar .noirChat__stateRow i{
  display:block; font-style:normal; font-family:var(--noir-display);
  font-size:9.5px; letter-spacing:.16em; color:rgba(240,232,210,.45); margin-bottom:6px;
}
html.lmx-noirbar .noirChat__stateRow span{ display:flex; gap:3px; }
html.lmx-noirbar .noirChat__stateRow span i{
  width:12px; height:14px; margin:0; border-radius:2px; background:rgba(240,232,210,.12);
}
html.lmx-noirbar .noirChat__stateRow span i.is-stress{ background:#e05c5c; }
html.lmx-noirbar .noirChat__stateRow span i.is-risk{ background:var(--yellow); }
html.lmx-noirbar .noirChat__stateNote{ font-size:12px; color:#ff9f9f; }

/* ============================================================
 * v98: мессенджер — доводка до референса: фактура на панелях,
 * иконки в заголовках, плашка выбора внутри чата.
 * ============================================================ */
/* лёгкая потёртость на панелях мессенджера — «вылизанность» уходит */
html.lmx-noirbar .noirChat__side,
html.lmx-noirbar .noirChat__box,
html.lmx-noirbar .noirMsg__box{
  position:relative; overflow:hidden;
}
html.lmx-noirbar .noirChat__side::after,
html.lmx-noirbar .noirChat__box::after,
html.lmx-noirbar .noirMsg__box::after{
  content:""; position:absolute; inset:0; pointer-events:none; border-radius:inherit;
  background:url("assets/noir_wear.webp") center/220px repeat;
  mix-blend-mode:multiply; opacity:.5;
}
html.lmx-noirbar .noirChat__side > *,
html.lmx-noirbar .noirChat__box > *,
html.lmx-noirbar .noirMsg__box > *{ position:relative; z-index:1; }
/* иконки в заголовках блоков */
html.lmx-noirbar .noirChat__boxHead,
html.lmx-noirbar .noirMsg__boxHead{ display:flex; align-items:center; gap:8px; }
html.lmx-noirbar .noirChat__found .noirChat__boxHead::before,
html.lmx-noirbar .noirMsg__found .noirMsg__boxHead::before{ content:"🗂"; font-size:14px; }
html.lmx-noirbar .noirChat__goal .noirChat__boxHead::before,
html.lmx-noirbar .noirMsg__scene .noirMsg__boxHead::before{ content:"🎯"; font-size:14px; }
html.lmx-noirbar .noirChat__rail > .noirChat__box:nth-child(3) .noirChat__boxHead::before,
html.lmx-noirbar .noirMsg__rail > .noirMsg__box:nth-child(4) .noirMsg__boxHead::before{
  content:"⚡"; font-size:14px;
}
/* нулевые строки в «найдено в чатах» — приглушены */
html.lmx-noirbar .noirChat__foundRow.is-zero{ opacity:.45; }
html.lmx-noirbar .noirChat__foundRow.is-zero b{ color:rgba(240,232,210,.4); }
/* v174: вспышка строки, когда счётчик вырос — улика пришла прямо в чате */
html.lmx-noirbar .noirChat__foundRow.is-new{
  animation: noirFoundNew 1.6s ease-out 1;
}
html.lmx-noirbar .noirChat__foundRow.is-new b{
  animation: noirFoundNewB 1.6s ease-out 1;
}
@keyframes noirFoundNew{
  0%{ background:rgba(242,196,0,.28); box-shadow:0 0 0 1px rgba(242,196,0,.5) inset; }
  100%{ background:transparent; box-shadow:none; }
}
@keyframes noirFoundNewB{
  0%{ transform:scale(1.35); }
  35%{ transform:scale(1.35); }
  100%{ transform:scale(1); }
}
/* состояние: пульс в заголовке и чуть живее шкалы */
html.lmx-noirbar .noirChat__stateHead,
html.lmx-noirbar .noirMsg__stateHead{
  justify-content:space-between; color:#f5f1e6 !important; font-size:12px !important;
}
html.lmx-noirbar .noirChat__stateHead::after,
html.lmx-noirbar .noirMsg__stateHead::after{
  content:""; width:56px; height:14px; flex:0 0 auto;
  background:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 56 14'><path d='M0 7h12l3-5 4 10 4-8 3 3h26' fill='none' stroke='%23e05c5c' stroke-width='1.4'/></svg>") center/contain no-repeat;
  opacity:.85;
}
html.lmx-noirbar .noirChat__stateRow span i,
html.lmx-noirbar .noirMsg__stateRow span i{
  box-shadow:0 1px 0 rgba(0,0,0,.5) inset;
}
html.lmx-noirbar .noirChat__stateNote::before,
html.lmx-noirbar .noirMsg__stateNote::before{ content:"⚠ "; }
/* ---- плашка выбора внутри чата ---- */
html.lmx-noirbar .noirChat__main .noirChat__choicesHead{
  margin:0 0 10px !important; padding:10px 14px; border-radius:10px 10px 0 0;
  font-family:var(--noir-display); font-size:11.5px !important; letter-spacing:.1em;
  color:var(--yellow) !important; text-transform:uppercase;
  background:rgba(242,196,0,.08); border:1px solid rgba(242,196,0,.35); border-bottom:0;
}
html.lmx-noirbar .noirChat__main .noirChat__choices{
  /* v193: варианты идут полосками в один столбец, а не плиткой 2-в-ряд */
  display:grid !important; grid-template-columns:1fr;
  gap:10px !important; padding:12px; border-radius:0 0 10px 10px;
  background:rgba(242,196,0,.04); border:1px solid rgba(242,196,0,.35); border-top:0;
}
/* один вариант ответа — плашки «ЗАДАНИЕ» нет, блок замыкается сам */
html.lmx-noirbar .noirChat__main .noirChat__choices--solo{
  grid-template-columns:1fr; border-top:1px solid rgba(242,196,0,.35);
  border-radius:10px; background:rgba(242,196,0,.03);
}
html.lmx-noirbar .noirChat__main .noirChat__choice{
  display:flex !important; align-items:center; gap:11px; width:100%;
  padding:13px 14px !important; text-align:left !important; border-radius:10px !important;
  background:rgba(0,0,0,.4) !important; border:1px solid rgba(242,196,0,.35) !important;
  color:#f5f1e6 !important; cursor:pointer;
}
html.lmx-noirbar .noirChat__main .noirChat__choice:hover:not([disabled]){
  background:rgba(242,196,0,.12) !important; border-color:var(--yellow) !important;
}
html.lmx-noirbar .noirChat__main .noirChat__choice[disabled]{ opacity:.5; }
html.lmx-noirbar .noirChat__choiceIco{
  width:34px; height:34px; flex:0 0 auto; display:flex; align-items:center; justify-content:center;
  border-radius:9px; font-size:17px;
  background:rgba(242,196,0,.1); border:1px solid rgba(242,196,0,.3);
}
html.lmx-noirbar .noirChat__choiceBody{ flex:1; min-width:0; }
html.lmx-noirbar .noirChat__choiceBody b{
  display:block; font-family:var(--noir-display); font-size:12.5px; letter-spacing:.06em;
  color:var(--yellow); text-transform:uppercase; line-height:1.25;
}
html.lmx-noirbar .noirChat__choiceBody i{
  display:block; margin-top:4px; font-style:normal; font-size:11.5px; line-height:1.4;
  color:rgba(240,232,210,.55);
}
/* подсказка движка в быстрых действиях — с подписью */
html.lmx-noirbar .noirChat__hintBtn::after{ content:" ВЗЯТЬ ПОДСКАЗКУ"; }

/* ============================================================
 * v99: мессенджер, список чатов — поля по краям, «текущий выбор»,
 * нижний ряд кнопок, «найдено в чатах» всегда на месте.
 * ============================================================ */
html.lmx-noirbar #messengerGameRoot .noirMsg{ padding:6px 22px 60px; }
html.lmx-noirbar .noirMsg__col{ display:flex; flex-direction:column; gap:14px; min-width:0; }
html.lmx-noirbar .noirMsg__foundRow.is-zero{ opacity:.45; }
html.lmx-noirbar .noirMsg__foundRow.is-zero b{ color:rgba(240,232,210,.4); }
/* текущий выбор */
html.lmx-noirbar .noirMsg__pick{
  position:relative; overflow:hidden; padding:16px 18px; border-radius:13px;
  background:rgba(242,196,0,.05); border:1px solid rgba(242,196,0,.4);
}
html.lmx-noirbar .noirMsg__pickHead{
  display:flex; align-items:baseline; gap:8px; flex-wrap:wrap; margin-bottom:6px;
}
html.lmx-noirbar .noirMsg__pickHead span{
  font-family:var(--noir-display); font-size:11.5px; letter-spacing:.14em; color:var(--yellow);
}
html.lmx-noirbar .noirMsg__pickHead span::before{ content:"🪧 "; }
html.lmx-noirbar .noirMsg__pickHead b{
  font-family:var(--noir-display); font-size:13px; color:#f5f1e6; text-transform:uppercase;
}
html.lmx-noirbar .noirMsg__pickNote{
  font-size:12.5px; line-height:1.5; color:rgba(240,232,210,.5); margin-bottom:12px;
}
html.lmx-noirbar .noirMsg__pickList{
  display:grid; grid-template-columns:repeat(auto-fit,minmax(190px,1fr)); gap:10px;
}
html.lmx-noirbar .noirMsg__pickBtn{
  display:flex; align-items:center; gap:11px; padding:13px 14px; cursor:pointer;
  text-align:left; border-radius:10px;
  background:rgba(0,0,0,.38); border:1px solid rgba(242,196,0,.35);
}
html.lmx-noirbar .noirMsg__pickBtn:hover{ background:rgba(242,196,0,.12); border-color:var(--yellow); }
html.lmx-noirbar .noirMsg__pickIco{
  width:34px; height:34px; flex:0 0 auto; display:flex; align-items:center; justify-content:center;
  border-radius:9px; font-size:17px;
  background:rgba(242,196,0,.1); border:1px solid rgba(242,196,0,.3);
}
html.lmx-noirbar .noirMsg__pickBody{ flex:1; min-width:0; }
html.lmx-noirbar .noirMsg__pickBody b{
  display:block; font-family:var(--noir-display); font-size:12.5px; letter-spacing:.06em;
  color:var(--yellow); text-transform:uppercase; line-height:1.25;
}
html.lmx-noirbar .noirMsg__pickBody i{
  display:block; margin-top:4px; font-style:normal; font-size:11.5px;
  line-height:1.4; color:rgba(240,232,210,.55);
}
/* нижний ряд кнопок */
html.lmx-noirbar .noirMsg__bottom{
  display:grid; grid-template-columns:1fr 2fr 1fr; gap:12px; margin-top:4px;
}
@media (max-width:1200px){
  html.lmx-noirbar .noirMsg__bottom{ grid-template-columns:1fr; }
}
html.lmx-noirbar .noirMsg__bBtn{
  padding:15px; cursor:pointer; border-radius:11px;
  font-family:var(--noir-display); font-size:12px; letter-spacing:.1em;
  color:var(--yellow); background:transparent; border:1px solid rgba(242,196,0,.45);
}
html.lmx-noirbar .noirMsg__bBtn:hover{ background:rgba(242,196,0,.1); }
html.lmx-noirbar .noirMsg__bGo{
  padding:15px; cursor:pointer; border:0; color:#17130a;
  font-family:var(--noir-display); font-size:14px; letter-spacing:.12em;
  background:url("assets/noir_bar.webp") center/100% 100% no-repeat, var(--yellow);
}

/* v100: экран списка чатов должен листаться — styles.css жёстко
   выключает прокрутку у #view-messengergame (там живёт чат);
   перебиваем селектором по id, иначе правая колонка обрезается */
html.lmx-noirbar #view-messengergame.noirMsgView{
  overflow-y:auto !important; -webkit-overflow-scrolling:touch !important;
  padding:20px 24px 44px !important;
}
html.lmx-noirbar #view-messengergame.noirMsgView #messengerGameRoot{
  position:static !important; inset:auto !important; overflow:visible !important;
}
/* потёртость на панелях мессенджера убрана — читается плохо */
html.lmx-noirbar .noirChat__side::after,
html.lmx-noirbar .noirChat__box::after,
html.lmx-noirbar .noirMsg__box::after{ content:none !important; }

/* ============================================================
 * v103: МЕССЕНДЖЕР — экран чата по референсу.
 * Шапка с действиями, лента с временем сверху, карточка
 * задания, поле ввода, левая колонка с превью и материалами.
 * ============================================================ */

/* ---------- левая колонка ---------- */
html.lmx-noirbar .noirChat__sideHead{ margin-bottom:12px; }
html.lmx-noirbar .noirChat__sideHead b{
  display:block; font-family:var(--noir-display); font-size:12.5px; letter-spacing:.05em;
  color:#f5f1e6; line-height:1.3;
}
html.lmx-noirbar .noirChat__sideHead i{
  display:block; margin-top:5px; font-style:normal; font-size:11px; letter-spacing:.05em;
  color:rgba(240,232,210,.45);
}
html.lmx-noirbar .noirChat__chat{ align-items:flex-start; padding:11px 12px; }
html.lmx-noirbar .noirChat__ava{ position:relative; }
html.lmx-noirbar .noirChat__ava u{
  position:absolute; right:0; bottom:1px; width:11px; height:11px; border-radius:50%;
  background:#5fbf72; border:2px solid #101114; text-decoration:none;
}
html.lmx-noirbar .noirChat__chatBody s{
  display:block; margin-top:5px; text-decoration:none; font-size:11.5px; line-height:1.35;
  color:rgba(240,232,210,.45); overflow:hidden; text-overflow:ellipsis; white-space:nowrap;
}
html.lmx-noirbar .noirChat__chatSide{
  display:flex; flex-direction:column; align-items:flex-end; gap:7px; flex:0 0 auto; padding-top:2px;
}
html.lmx-noirbar .noirChat__chatSide b{
  font-family:var(--noir-display); font-size:10px; letter-spacing:.04em; color:rgba(240,232,210,.4);
}
html.lmx-noirbar .noirChat__chatSide em{ font-style:normal; font-size:12px; opacity:.55; }
html.lmx-noirbar .noirChat__chatSide em.is-dot{
  width:9px; height:9px; border-radius:50%; background:var(--yellow);
  box-shadow:0 0 8px rgba(242,196,0,.5);
}
/* карточка «Материалы» */
html.lmx-noirbar .noirChat__mat{
  display:flex; align-items:center; gap:11px; width:100%; margin-top:10px; padding:12px;
  cursor:pointer; border-radius:10px; text-align:left;
  background:rgba(242,196,0,.05); border:1px dashed rgba(242,196,0,.4);
}
html.lmx-noirbar .noirChat__mat:hover{ background:rgba(242,196,0,.1); }
html.lmx-noirbar .noirChat__matIco{ font-size:19px; flex:0 0 auto; }
html.lmx-noirbar .noirChat__matBody{ flex:1; min-width:0; }
html.lmx-noirbar .noirChat__matBody b{
  display:block; font-family:var(--noir-display); font-size:11.5px; letter-spacing:.09em;
  color:var(--yellow);
}
html.lmx-noirbar .noirChat__matBody i{
  display:block; margin-top:3px; font-style:normal; font-size:11px; color:rgba(240,232,210,.45);
}
html.lmx-noirbar .noirChat__matN{
  font-style:normal; font-family:var(--noir-display); font-size:13px; color:var(--yellow);
  flex:0 0 auto; min-width:26px; padding:3px 0; text-align:center; border-radius:7px;
  background:rgba(242,196,0,.14); border:1px solid rgba(242,196,0,.3);
}
html.lmx-noirbar .noirChat__all{ margin-top:10px; }

/* ---------- центральная колонка: шапка чата ---------- */
html.lmx-noirbar .noirChat__main{ min-height:640px; }
html.lmx-noirbar .noirChat__head{
  padding:12px 16px !important; gap:10px !important;
  background:rgba(13,14,16,.98) !important; border-bottom:1px solid rgba(242,196,0,.2) !important;
}
html.lmx-noirbar .noirChat__head #msgHeaderInfo > svg{ display:none !important; }
html.lmx-noirbar .noirChat__head #msgHeaderInfo > div:nth-child(2) > div:first-child{
  font-family:var(--noir-display); letter-spacing:.04em; font-size:14px !important;
}
html.lmx-noirbar .noirChat__head #msgBackBtn,
html.lmx-noirbar .noirChat__head #msgSoundBtn{
  width:36px; height:36px; border-radius:10px !important; padding:0 !important;
  background:rgba(242,196,0,.07) !important; border:1px solid rgba(242,196,0,.25) !important;
  color:var(--yellow) !important; display:flex; align-items:center; justify-content:center;
}
html.lmx-noirbar .noirChat__headActs{ display:flex; gap:7px; flex:0 0 auto; }
html.lmx-noirbar .noirChat__headActs button{
  width:36px; height:36px; border-radius:10px; cursor:pointer; font-size:15px; line-height:1;
  background:rgba(242,196,0,.07); border:1px solid rgba(242,196,0,.25); color:var(--yellow);
}
html.lmx-noirbar .noirChat__headActs button:hover{ background:rgba(242,196,0,.16); }

/* ---------- лента ---------- */
html.lmx-noirbar .noirChat__feed{ padding:18px 20px 12px !important; gap:9px !important; }
html.lmx-noirbar .noirBub__body{
  display:flex !important; flex-direction:column; max-width:74% !important;
  border-radius:14px 14px 14px 5px !important;
}
html.lmx-noirbar .noirBub.is-in .noirBub__body{
  background:rgba(30,28,25,.96) !important; border:1px solid rgba(240,232,210,.09);
}
html.lmx-noirbar .noirBub.is-out .noirBub__body{
  background:rgba(242,196,0,.93) !important; border:1px solid rgba(242,196,0,.5);
  border-radius:14px 14px 5px 14px !important;
}
html.lmx-noirbar .noirBub__time{
  order:-1; padding:9px 14px 2px !important; text-align:left !important;
  font-size:10.5px !important; letter-spacing:.05em; color:rgba(240,232,210,.38) !important;
}
html.lmx-noirbar .noirBub__ticks{
  align-self:flex-end; padding:0 13px 8px; margin-top:-4px;
  font-size:11px; letter-spacing:-1px; color:rgba(0,0,0,.45);
}
html.lmx-noirbar .noirBub.is-sys{
  margin:6px 0 !important; font-family:var(--noir-display); letter-spacing:.1em !important;
}

/* ---------- низ чата: задание и поле ввода ---------- */
html.lmx-noirbar .noirChat__leadHidden{ display:none !important; }
html.lmx-noirbar .noirChat__taskHead{
  display:flex; align-items:center; gap:10px; margin-bottom:0; padding:11px 14px;
  border-radius:11px 11px 0 0;
  background:rgba(242,196,0,.09); border:1px solid rgba(242,196,0,.35); border-bottom:0;
}
html.lmx-noirbar .noirChat__taskIco{ font-size:13px; color:var(--yellow); flex:0 0 auto; }
html.lmx-noirbar .noirChat__taskHead b{
  flex:1; min-width:0; font-family:var(--noir-display); font-size:11.5px; letter-spacing:.07em;
  color:var(--yellow); text-transform:uppercase; line-height:1.3;
}
html.lmx-noirbar .noirChat__taskHead em{
  font-style:normal; flex:0 0 auto; font-family:var(--noir-display); font-size:10.5px;
  letter-spacing:.1em; color:rgba(240,232,210,.5);
}
html.lmx-noirbar #msgInputArea{
  padding:14px 16px 16px !important;
  background:rgba(13,14,16,.98) !important; border-top:1px solid rgba(242,196,0,.2) !important;
}
html.lmx-noirbar .noirChat__inputRow{ gap:10px !important; }
html.lmx-noirbar .noirChat__inp{
  border-radius:11px !important; padding:14px 16px !important; font-size:13.5px !important;
  background:rgba(0,0,0,.45) !important; border:1px solid rgba(240,232,210,.15) !important;
}
html.lmx-noirbar .noirChat__inp:focus{ border-color:rgba(242,196,0,.5) !important; }
html.lmx-noirbar .noirChat__send{
  width:auto !important; height:auto !important; border-radius:11px !important;
  padding:14px 20px !important; gap:8px; display:flex !important; align-items:center;
  font-family:var(--noir-display); font-size:11.5px !important; letter-spacing:.1em;
  font-weight:400 !important;
}
html.lmx-noirbar .noirChat__send em{ font-style:normal; font-size:13px; }

/* ---------- правая рейка ---------- */
html.lmx-noirbar .noirChat__foundRow span{ display:flex; align-items:center; gap:9px; }
html.lmx-noirbar .noirChat__foundRow span em{ font-style:normal; font-size:13px; }
html.lmx-noirbar .noirChat__act--go{ margin-top:4px !important; margin-bottom:0 !important; }
html.lmx-noirbar .noirChat__quick .noirChat__act:last-of-type{ margin-bottom:9px !important; }
html.lmx-noirbar .noirChat__goalBody ul{ list-style:none; padding-left:0; }
html.lmx-noirbar .noirChat__goalBody li{
  position:relative; padding-left:16px;
}
html.lmx-noirbar .noirChat__goalBody li::before{
  content:"•"; position:absolute; left:2px; top:-1px; color:var(--yellow); font-size:14px;
}

/* ============================================================
 * v104: МЕССЕНДЖЕР — список чатов приведён к виду экрана чата:
 * та же плотность карточек, те же панели, кнопки и строки улик.
 * ============================================================ */
/* шапка экрана */
html.lmx-noirbar .noirMsg__h1{ font-size:22px; }
html.lmx-noirbar .noirMsg__sub{ font-size:11.5px; letter-spacing:.04em; }
html.lmx-noirbar .noirMsg__back{ width:40px; height:40px; }
html.lmx-noirbar .noirMsg__progVal{ font-size:16px; }
html.lmx-noirbar .noirMsg__progBars i{ width:12px; height:8px; }

/* карточки чатов — плотность как в левой колонке чата */
html.lmx-noirbar .noirMsg__list{ gap:9px; }
html.lmx-noirbar .noirMsg__row,
html.lmx-noirbar .noirMsg__locked{
  gap:12px !important; padding:12px 14px !important; border-radius:11px;
  border-color:rgba(240,232,210,.12) !important; background:rgba(0,0,0,.3);
}
html.lmx-noirbar .noirMsg__row img,
html.lmx-noirbar .noirMsg__row > div:first-child > div,
html.lmx-noirbar .noirMsg__locked > div:first-child{
  width:48px !important; height:48px !important; font-size:22px !important;
}
html.lmx-noirbar .noirMsg__row > div:nth-child(2){ padding-right:96px; }
html.lmx-noirbar .noirMsg__row > div:nth-child(2) > div:first-child{ font-size:14px !important; }
html.lmx-noirbar .noirMsg__row > div:nth-child(2) > div:nth-child(2){
  margin-top:4px !important; font-size:12px !important;
}
html.lmx-noirbar .noirMsg__locked > div:nth-child(2) > div:first-child{ font-size:13.5px !important; }
html.lmx-noirbar .noirMsg__live{ top:13px; right:14px; font-size:9.5px; padding:3px 10px; }

/* «Материалы дела» — та же пунктирная карточка, что в чате */
html.lmx-noirbar .noirMsg__mat{
  gap:12px !important; padding:13px 14px !important; border-radius:11px;
  background:rgba(242,196,0,.05); border:1px dashed rgba(242,196,0,.4) !important;
}
html.lmx-noirbar .noirMsg__mat:hover{ background:rgba(242,196,0,.1); }
html.lmx-noirbar .noirMsg__matIco{
  width:auto; height:auto; font-size:19px; border:0; background:none; border-radius:0;
}
html.lmx-noirbar .noirMsg__matBody b{
  font-size:11.5px; letter-spacing:.09em; color:var(--yellow); text-transform:uppercase;
}
html.lmx-noirbar .noirMsg__matSub{ margin-top:3px; font-size:11px; }
html.lmx-noirbar .noirMsg__matCnt{
  min-width:26px; padding:3px 0; text-align:center; border-radius:7px; font-size:13px;
  color:var(--yellow); background:rgba(242,196,0,.14); border:1px solid rgba(242,196,0,.3);
}
html.lmx-noirbar .noirMsg__mat .noirMsg__chev{ display:none; }

/* «текущий выбор» — как карточка задания в чате */
html.lmx-noirbar .noirMsg__pick{ padding:0; background:transparent; border:0; }
html.lmx-noirbar .noirMsg__pickHead{
  align-items:center; gap:10px; margin:0; padding:11px 14px; border-radius:11px 11px 0 0;
  background:rgba(242,196,0,.09); border:1px solid rgba(242,196,0,.35); border-bottom:0;
}
html.lmx-noirbar .noirMsg__pickHead span{ font-size:11.5px; letter-spacing:.07em; }
html.lmx-noirbar .noirMsg__pickHead span::before{ content:"✦ "; }
html.lmx-noirbar .noirMsg__pickHead b{ font-size:11.5px; letter-spacing:.07em; color:var(--yellow); }
html.lmx-noirbar .noirMsg__pickNote{
  margin:0; padding:11px 14px 0; font-size:12px;
  background:rgba(242,196,0,.04); border:1px solid rgba(242,196,0,.35); border-bottom:0;
}
html.lmx-noirbar .noirMsg__pickList{
  padding:12px 14px 14px; border-radius:0 0 11px 11px;
  background:rgba(242,196,0,.04); border:1px solid rgba(242,196,0,.35); border-top:0;
}

/* нижний ряд: главная кнопка плоская, без рваной подложки */
html.lmx-noirbar .noirMsg__bGo{
  border-radius:11px; font-size:12.5px; letter-spacing:.1em;
  background:var(--yellow) !important;
}
html.lmx-noirbar .noirMsg__bGo:hover{ background:#ffd42a !important; }
html.lmx-noirbar .noirMsg__bBtn,
html.lmx-noirbar .noirMsg__bGo{ padding:14px; }

/* правая рейка: строки улик с иконками + кнопка перехода */
html.lmx-noirbar .noirMsg__foundRow span{ display:flex; align-items:center; gap:9px; }
html.lmx-noirbar .noirMsg__foundRow span em{ font-style:normal; font-size:13px; }
html.lmx-noirbar .noirMsg__act--go{ margin-top:4px; margin-bottom:0 !important; }

/* ============================================================
 * v105: НЕРАСКРЫТОЕ ДЕЛО — экран дела по референсу.
 * Материалы дела карточками-папками, задания отдельным блоком,
 * справа рейка: прогресс, цель, что откроется, награда.
 * ============================================================ */
html.lmx-noirbar .noirUnsHidden{ display:none !important; }
html.lmx-noirbar #unsolvedCaseRoot .noirUns{ max-width:1500px; margin:0 auto; padding:6px 10px 60px; }

/* шапка */
html.lmx-noirbar .noirUns__top{ display:flex; gap:20px; align-items:flex-start; margin-bottom:22px; }
html.lmx-noirbar .noirUns__backSlot{ flex:0 0 auto; }
html.lmx-noirbar .noirUns__back{
  margin:0 !important; padding:12px 15px !important; border-radius:10px !important;
  font-family:var(--noir-display); font-size:11px !important; letter-spacing:.08em;
}
html.lmx-noirbar .noirUns__head{ flex:1; min-width:0; }
html.lmx-noirbar .noirUns__eyebrow{
  font-family:var(--noir-display); font-size:10.5px; letter-spacing:.22em;
  color:rgba(240,232,210,.45);
}
html.lmx-noirbar .noirUns__h1{
  margin-top:7px; font-family:var(--noir-display); font-weight:700; font-size:28px;
  letter-spacing:.05em; color:var(--yellow); line-height:1.1;
}
html.lmx-noirbar .noirUns__meta{ display:flex; gap:8px; flex-wrap:wrap; margin-top:9px; }
html.lmx-noirbar .noirUns__metaRow{ margin:0 !important; }
html.lmx-noirbar .noirUns__lead{ margin-top:11px; max-width:780px; }
html.lmx-noirbar .noirUns__lead > div{
  margin:0 0 6px !important; font-size:13px !important; line-height:1.6 !important;
  color:rgba(240,232,210,.6) !important;
}
html.lmx-noirbar .noirUns__cover{ flex:0 0 280px; }
@media (max-width:1200px){ html.lmx-noirbar .noirUns__cover{ display:none; } }
html.lmx-noirbar .noirUns__coverImg{
  width:100% !important; max-height:150px !important; margin:0 !important;
  border-radius:12px !important; border:1px solid rgba(242,196,0,.25);
}

/* сетка */
html.lmx-noirbar .noirUns__grid{
  display:grid; grid-template-columns:minmax(0,1fr) 320px; gap:18px; align-items:start;
}
@media (max-width:1400px){
  html.lmx-noirbar .noirUns__grid{ grid-template-columns:minmax(0,1fr) 280px; }
}
html.lmx-noirbar .noirUns__col{ display:flex; flex-direction:column; gap:14px; min-width:0; }
html.lmx-noirbar .noirUns__secHead{ display:flex; align-items:center; gap:14px; margin-top:4px; }
html.lmx-noirbar .noirUns__secHead b{
  font-family:var(--noir-display); font-size:14px; letter-spacing:.12em; color:#f5f1e6;
}
html.lmx-noirbar .noirUns__secHead::after{
  content:""; order:2; flex:1; height:1px; border-top:1px dashed rgba(242,196,0,.35);
}
html.lmx-noirbar .noirUns__secN{
  order:3; font-style:normal; font-family:var(--noir-display); font-size:10.5px;
  letter-spacing:.12em; color:rgba(240,232,210,.45);
}

/* карточки-папки */
html.lmx-noirbar .noirUns__folders{
  display:grid; grid-template-columns:repeat(auto-fill,minmax(235px,1fr)); gap:10px;
}
html.lmx-noirbar .noirUns__folder{
  align-items:center !important; gap:12px !important; padding:13px 14px !important;
  border-radius:12px !important; border:1px solid rgba(242,196,0,.22) !important;
  background:rgba(16,17,20,.92) !important;
}
html.lmx-noirbar .noirUns__folder:hover{ border-color:var(--yellow) !important; }
html.lmx-noirbar .noirUns__folder.is-lock{
  border-style:dashed !important; border-color:rgba(240,232,210,.16) !important;
}
html.lmx-noirbar .noirUns__folder > div:first-child{ gap:11px !important; }
html.lmx-noirbar .noirUns__folder > div:first-child > span{ font-size:24px !important; }
html.lmx-noirbar .noirUns__folder > div:first-child > div > div:first-child{
  font-family:var(--noir-display); font-size:13px !important; letter-spacing:.03em;
  white-space:normal !important; line-height:1.3 !important;
}
html.lmx-noirbar .noirUns__folder > div:first-child > div > div:nth-child(2){
  font-size:10.5px !important; letter-spacing:.1em !important; margin-top:4px !important;
}
html.lmx-noirbar .noirUns__folder:not(.is-lock) > span{ display:none !important; }
html.lmx-noirbar .noirUns__folderN{
  margin-left:auto; flex:0 0 auto; min-width:28px; padding:3px 6px; text-align:center;
  border-radius:7px; font-style:normal; font-family:var(--noir-display); font-size:12.5px;
  color:#17130a; background:var(--yellow);
}
html.lmx-noirbar .noirUns__folder.is-lock .noirUns__folderN{
  color:rgba(240,232,210,.5); background:rgba(240,232,210,.1);
}

/* задания дела */
html.lmx-noirbar .noirUns__tasks{ display:flex; flex-direction:column; gap:12px; }
html.lmx-noirbar .noirUns__task{
  border-radius:13px; overflow:hidden;
  background:rgba(16,17,20,.92); border:1px solid rgba(242,196,0,.3);
}
html.lmx-noirbar .noirUns__taskHead{
  display:flex; align-items:center; gap:11px; padding:12px 14px;
  background:rgba(242,196,0,.08); border-bottom:1px solid rgba(242,196,0,.25);
}
html.lmx-noirbar .noirUns__taskHead em{
  width:26px; height:26px; flex:0 0 auto; display:flex; align-items:center; justify-content:center;
  border-radius:7px; font-style:normal; font-family:var(--noir-display); font-size:12.5px;
  color:#17130a; background:var(--yellow);
}
html.lmx-noirbar .noirUns__taskHead b{
  font-family:var(--noir-display); font-size:11.5px; letter-spacing:.08em; color:var(--yellow);
  line-height:1.3;
}
html.lmx-noirbar .noirUns__taskBody > div{
  border:0 !important; border-radius:0 !important; background:transparent !important;
  padding:14px 16px !important;
}
html.lmx-noirbar .noirUns__taskBody details{ margin:0 !important; border-radius:0 !important; }

/* финальный блок */
html.lmx-noirbar .noirUns__final:empty{ display:none; }
html.lmx-noirbar .noirUns__final > div{ margin-top:0 !important; border-radius:13px !important; }

/* правая рейка */
html.lmx-noirbar .noirUns__rail{
  display:flex; flex-direction:column; gap:14px; position:sticky; top:18px;
}
html.lmx-noirbar .noirUns__box{
  padding:16px; border-radius:13px;
  background:rgba(16,17,20,.92); border:1px solid rgba(242,196,0,.25);
}
html.lmx-noirbar .noirUns__boxHead{
  display:flex; align-items:center; gap:8px; margin-bottom:12px;
  font-family:var(--noir-display); font-size:10.5px; letter-spacing:.16em; color:var(--yellow);
}
html.lmx-noirbar .noirUns__prog .noirUns__boxHead::before{ content:"🗂"; font-size:14px; }
html.lmx-noirbar .noirUns__goal .noirUns__boxHead::before{ content:"🎯"; font-size:14px; }
html.lmx-noirbar .noirUns__next .noirUns__boxHead::before{ content:"🔑"; font-size:14px; }
html.lmx-noirbar .noirUns__rew .noirUns__boxHead::before{ content:"🏆"; font-size:14px; }
html.lmx-noirbar .noirUns__steps{
  display:flex; align-items:center; gap:6px; flex-wrap:wrap; margin-bottom:14px;
}
html.lmx-noirbar .noirUns__step{
  width:26px; height:26px; flex:0 0 auto; display:flex; align-items:center; justify-content:center;
  border-radius:50%; font-family:var(--noir-display); font-size:11px;
  color:rgba(240,232,210,.45); background:rgba(0,0,0,.35); border:1px solid rgba(240,232,210,.15);
}
html.lmx-noirbar .noirUns__step.is-on{
  color:#17130a; background:var(--yellow); border-color:var(--yellow);
}
html.lmx-noirbar .noirUns__kpis{ display:flex; gap:10px; }
html.lmx-noirbar .noirUns__kpi{
  flex:1; min-width:0; padding:10px 12px; border-radius:10px;
  background:rgba(0,0,0,.3); border:1px solid rgba(240,232,210,.1);
}
html.lmx-noirbar .noirUns__kpi i{
  display:block; font-style:normal; font-family:var(--noir-display); font-size:9px;
  letter-spacing:.13em; color:rgba(240,232,210,.45); line-height:1.3;
}
html.lmx-noirbar .noirUns__kpi b{
  display:block; margin-top:6px; font-family:var(--noir-display); font-size:15px; color:var(--yellow);
}
html.lmx-noirbar .noirUns__goalText{ font-size:12.5px; line-height:1.6; color:rgba(240,232,210,.7); }
html.lmx-noirbar .noirUns__nextList{ list-style:none; margin:0; padding:0; }
html.lmx-noirbar .noirUns__nextList li{
  position:relative; padding-left:15px; margin-bottom:7px;
  font-size:12.5px; line-height:1.5; color:rgba(240,232,210,.65);
}
html.lmx-noirbar .noirUns__nextList li::before{
  content:"•"; position:absolute; left:2px; top:-1px; color:var(--yellow); font-size:14px;
}
html.lmx-noirbar .noirUns__rewBig{
  font-family:var(--noir-display); font-size:32px; color:var(--yellow); line-height:1;
}
html.lmx-noirbar .noirUns__rewSub{ margin-top:7px; font-size:11.5px; color:rgba(240,232,210,.5); }

/* ============================================================
 * v106: НЕРАСКРЫТОЕ ДЕЛО — содержимое папки по референсу.
 * Слева файлы, по центру просмотр, справа сведения и прогресс.
 * ============================================================ */
html.lmx-noirbar .noirFoldHidden{ display:none !important; }
html.lmx-noirbar #unsolvedSectionRoot .noirFold{ max-width:1600px; margin:0 auto; padding:6px 10px 60px; }

/* верх */
html.lmx-noirbar .noirFold__top{ display:flex; align-items:center; gap:16px; margin-bottom:16px; }
html.lmx-noirbar .noirFold__back{
  margin:0 !important; padding:12px 15px !important; border-radius:10px !important;
  font-family:var(--noir-display); font-size:11px !important; letter-spacing:.08em;
}
html.lmx-noirbar .noirFold__crumbs{
  display:flex; align-items:center; gap:9px; flex-wrap:wrap;
  font-size:12px; color:rgba(240,232,210,.45);
}
html.lmx-noirbar .noirFold__crumbs i{ font-style:normal; color:rgba(240,232,210,.25); }
html.lmx-noirbar .noirFold__crumbs b{ color:#f5f1e6; font-weight:400; }
html.lmx-noirbar .noirFold__head{ margin-bottom:18px; }
html.lmx-noirbar .noirFold__h1{ display:flex; align-items:center; gap:12px; }
html.lmx-noirbar .noirFold__h1 span{ font-size:26px; }
html.lmx-noirbar .noirFold__h1 b{
  font-family:var(--noir-display); font-weight:700; font-size:26px; letter-spacing:.05em;
  color:#f5f1e6; line-height:1.1;
}
html.lmx-noirbar .noirFold__h1::after{
  content:""; flex:1; height:1px; border-top:1px dashed rgba(242,196,0,.35);
}
html.lmx-noirbar .noirFold__lead{ margin-top:10px; max-width:820px; }
html.lmx-noirbar .noirFold__descText{
  margin:0 !important; font-size:13px !important; line-height:1.6 !important;
  color:rgba(240,232,210,.6) !important;
}

/* сетка */
html.lmx-noirbar .noirFold__grid{
  display:grid; grid-template-columns:320px minmax(0,1fr) 320px; gap:16px; align-items:start;
}
@media (max-width:1500px){
  html.lmx-noirbar .noirFold__grid{ grid-template-columns:270px minmax(0,1fr) 280px; }
}

/* список файлов */
html.lmx-noirbar .noirFold__side,
html.lmx-noirbar .noirFold__main,
html.lmx-noirbar .noirFold__box{
  padding:16px; border-radius:13px;
  background:rgba(16,17,20,.92); border:1px solid rgba(242,196,0,.25);
}
html.lmx-noirbar .noirFold__sideHead{
  display:flex; align-items:baseline; justify-content:space-between; gap:10px; margin-bottom:12px;
}
html.lmx-noirbar .noirFold__sideHead b{
  font-family:var(--noir-display); font-size:11.5px; letter-spacing:.14em; color:var(--yellow);
}
html.lmx-noirbar .noirFold__sideHead em{
  font-style:normal; font-size:11px; color:rgba(240,232,210,.45);
}
html.lmx-noirbar .noirFold__list{ display:flex; flex-direction:column; gap:8px; }
html.lmx-noirbar .noirFold__file{
  display:flex; align-items:center; gap:11px; width:100%; padding:11px 12px; cursor:pointer;
  text-align:left; border-radius:11px;
  background:rgba(0,0,0,.3); border:1px solid rgba(240,232,210,.1);
}
html.lmx-noirbar .noirFold__file:hover{ border-color:rgba(242,196,0,.45); }
html.lmx-noirbar .noirFold__file.is-on{ border-color:var(--yellow); background:rgba(242,196,0,.07); }
html.lmx-noirbar .noirFold__file em{
  width:26px; height:24px; flex:0 0 auto; display:flex; align-items:center; justify-content:center;
  border-radius:6px; font-style:normal; font-family:var(--noir-display); font-size:11px;
  color:rgba(240,232,210,.5); background:rgba(240,232,210,.07);
}
html.lmx-noirbar .noirFold__file.is-on em{ color:#17130a; background:var(--yellow); }
html.lmx-noirbar .noirFold__fIco{ font-size:19px; flex:0 0 auto; }
html.lmx-noirbar .noirFold__fBody{ flex:1; min-width:0; }
html.lmx-noirbar .noirFold__fBody b{
  display:block; font-size:13px; color:#f5f1e6; line-height:1.3; font-weight:600;
}
html.lmx-noirbar .noirFold__fBody i{
  display:block; margin-top:4px; font-style:normal; font-family:var(--noir-display);
  font-size:9.5px; letter-spacing:.12em; color:rgba(242,196,0,.65);
}
html.lmx-noirbar .noirFold__seen{
  width:9px; height:9px; flex:0 0 auto; border-radius:50%; text-decoration:none;
  background:rgba(240,232,210,.14);
}
html.lmx-noirbar .noirFold__seen.is-on{ background:var(--yellow); box-shadow:0 0 8px rgba(242,196,0,.45); }

/* просмотр файла */
html.lmx-noirbar .noirFold__main{ display:flex; flex-direction:column; gap:14px; }
html.lmx-noirbar .noirFold__view{ min-height:420px; }
html.lmx-noirbar .noirFold__doc{
  margin:0 !important; border:0 !important; border-radius:0 !important; overflow:visible !important;
}
html.lmx-noirbar .noirFold__doc > div:first-child{ display:none !important; }   /* родная плашка с именем */
html.lmx-noirbar .noirFold__doc > a{
  display:none !important;                                                       /* родные ссылки — свои кнопки */
}
html.lmx-noirbar .noirFold__doc img{
  width:100% !important; max-height:none !important; border-radius:11px !important;
  background:rgba(0,0,0,.4) !important;
}
html.lmx-noirbar .noirFold__doc iframe{ height:560px !important; border-radius:11px !important; }
html.lmx-noirbar .noirFold__doc video{ border-radius:11px !important; max-height:520px !important; }
html.lmx-noirbar .noirFold__doc audio{ margin-top:10px; }
html.lmx-noirbar .noirFold__acts{ display:flex; gap:10px; flex-wrap:wrap; }
html.lmx-noirbar .noirFold__acts:empty{ display:none; }
html.lmx-noirbar .noirFold__act{
  flex:1; min-width:150px; padding:13px; text-align:center; cursor:pointer; text-decoration:none;
  border-radius:11px; font-family:var(--noir-display); font-size:11.5px; letter-spacing:.1em;
  color:var(--yellow); background:transparent; border:1px solid rgba(242,196,0,.45);
}
html.lmx-noirbar .noirFold__act:hover{ background:rgba(242,196,0,.1); }
html.lmx-noirbar .noirFold__act--go{
  color:#17130a; background:var(--yellow); border-color:var(--yellow);
}
html.lmx-noirbar .noirFold__act--go:hover{ background:#ffd42a; }

/* правая рейка */
html.lmx-noirbar .noirFold__rail{
  display:flex; flex-direction:column; gap:14px; position:sticky; top:18px;
}
html.lmx-noirbar .noirFold__boxHead{
  display:flex; align-items:center; gap:8px; margin-bottom:12px;
  font-family:var(--noir-display); font-size:10.5px; letter-spacing:.16em; color:var(--yellow);
}
html.lmx-noirbar .noirFold__info .noirFold__boxHead::before{ content:"📄"; font-size:14px; }
html.lmx-noirbar .noirFold__prog .noirFold__boxHead::before{ content:"🗂"; font-size:14px; }
html.lmx-noirbar .noirFold__spike .noirFold__boxHead::before{ content:"🐾"; font-size:14px; }
html.lmx-noirbar .noirFold__infoRow{
  display:flex; align-items:baseline; gap:10px; padding:8px 0;
  border-bottom:1px solid rgba(240,232,210,.07);
}
html.lmx-noirbar .noirFold__infoRow:last-child{ border-bottom:0; }
html.lmx-noirbar .noirFold__infoRow i{
  flex:0 0 92px; font-style:normal; font-family:var(--noir-display); font-size:9.5px;
  letter-spacing:.13em; color:rgba(240,232,210,.45);
}
html.lmx-noirbar .noirFold__infoRow b{
  flex:1; min-width:0; font-size:12.5px; font-weight:400; color:#f5f1e6; word-break:break-word;
}
html.lmx-noirbar .noirFold__progLbl{ font-size:12px; color:rgba(240,232,210,.5); }
html.lmx-noirbar .noirFold__progVal{
  margin-top:5px; font-size:13px; color:rgba(240,232,210,.6);
}
html.lmx-noirbar .noirFold__progVal b{
  font-family:var(--noir-display); font-size:26px; color:var(--yellow); margin-right:4px;
}
html.lmx-noirbar .noirFold__progBar{
  margin-top:11px; height:8px; border-radius:100px; overflow:hidden;
  background:rgba(240,232,210,.1);
}
html.lmx-noirbar .noirFold__progBar i{
  display:block; height:100%; width:0; border-radius:100px; background:var(--yellow);
  transition:width .25s;
}
html.lmx-noirbar .noirFold__spikeRow{
  padding:11px 12px; margin-bottom:8px; border-radius:10px;
  font-size:12.5px; line-height:1.55; color:rgba(240,232,210,.75);
  background:rgba(242,196,0,.06); border:1px solid rgba(242,196,0,.25);
}
html.lmx-noirbar .noirFold__spikeRow:last-child{ margin-bottom:0; }

/* завершение дела в финальной папке */
html.lmx-noirbar .noirFold__final:empty{ display:none; }
html.lmx-noirbar .noirFold__finalBox{ margin-top:16px !important; border-radius:13px !important; }

/* ============================================================
 * v107: папка нераскрытого дела — рейка поднята выше левой
 * колонки, «Сведения о файле» на скрепке с новыми полями
 * (источник, добавлен, связан с, теги).
 * ============================================================ */
html.lmx-noirbar .noirFold__page{
  display:grid; grid-template-columns:minmax(0,1fr) 330px; gap:20px; align-items:start;
}
@media (max-width:1500px){
  html.lmx-noirbar .noirFold__page{ grid-template-columns:minmax(0,1fr) 290px; }
}
html.lmx-noirbar .noirFold__left{ min-width:0; }
html.lmx-noirbar .noirFold__grid{ grid-template-columns:320px minmax(0,1fr); gap:16px; }
@media (max-width:1500px){
  html.lmx-noirbar .noirFold__grid{ grid-template-columns:260px minmax(0,1fr); }
}
/* рейка начинается от самой шапки и стоит чуть выше по сетке */
html.lmx-noirbar .noirFold__rail{ margin-top:-6px; top:14px; }
html.lmx-noirbar .noirFold__rail .noirFold__box{ overflow:visible; }

/* карточка сведений — бумага на скрепке, с лёгким перекосом */
html.lmx-noirbar .noirFold__info{
  position:relative; margin-top:14px; transform:rotate(-.7deg);
  background:rgba(14,15,18,.96);
  border-color:rgba(242,196,0,.4);
  box-shadow:0 10px 26px rgba(0,0,0,.55);
}
html.lmx-noirbar .noirFold__info > *{ position:relative; z-index:2; }
html.lmx-noirbar .noirFold__clip{
  position:absolute; top:-30px; right:16px; width:40px; height:62px; z-index:5;
  background:url("assets/noir_clip.webp") no-repeat center/contain;
  filter:drop-shadow(0 4px 7px rgba(0,0,0,.6)); pointer-events:none;
}
html.lmx-noirbar .noirFold__info .noirFold__boxHead{ font-size:11.5px; }

/* «связан с» и теги */
html.lmx-noirbar .noirFold__rel,
html.lmx-noirbar .noirFold__tags{
  margin-top:14px; padding-top:13px; border-top:1px dashed rgba(242,196,0,.3);
}
html.lmx-noirbar .noirFold__relHead{
  font-family:var(--noir-display); font-size:9.5px; letter-spacing:.14em;
  color:rgba(240,232,210,.45); margin-bottom:9px;
}
html.lmx-noirbar .noirFold__relRow{
  font-size:12.5px; line-height:1.5; color:#f5f1e6; margin-bottom:3px;
}
html.lmx-noirbar .noirFold__tagList{ display:flex; flex-wrap:wrap; gap:7px; }
html.lmx-noirbar .noirFold__tag{
  padding:5px 11px; border-radius:7px; font-size:11.5px; color:var(--yellow);
  background:rgba(242,196,0,.08); border:1px solid rgba(242,196,0,.4);
}
/* прогресс и Спайк — чуть ниже, чтобы ряд не был идеально ровным */
html.lmx-noirbar .noirFold__prog{ margin-top:4px; }

/* ============================================================
 * v124: ДОСЬЕ АГЕНТА — собственный экран по референсу.
 * Родная разметка скрыта, всё рисует оболочка.
 * Карточка агента посажена на линии бумажной подложки:
 * подложка 1938×812, поля и фото позиционируются в процентах
 * от неё и масштабируются вместе с ней (container + cqw).
 * Блок питомца принят — его правила не менялись.
 * ============================================================ */
html.lmx-noirbar .noirDsSrc{ display:none !important; }
html.lmx-noirbar .noirDs{ max-width:1500px; margin:0 auto; padding:6px 10px 60px; }

/* заголовок */
html.lmx-noirbar .noirDs__head{ display:flex; align-items:center; gap:16px; margin-bottom:16px; }
html.lmx-noirbar .noirDs__h1{
  font-family:var(--noir-display); font-weight:700; font-size:32px; letter-spacing:.06em;
  color:#f5f1e6; line-height:1;
}
html.lmx-noirbar .noirDs__stamp{
  padding:7px 14px; border-radius:5px; transform:rotate(-2deg);
  font-family:var(--noir-display); font-size:11px; letter-spacing:.14em;
  color:#e05c5c; border:2px solid rgba(224,92,92,.75);
}

/* верхний ряд: бумага + профиль детектива */
html.lmx-noirbar .noirDs__top{
  display:grid; grid-template-columns:minmax(0,1fr) 400px; gap:16px; align-items:stretch;
  margin-bottom:16px;
}
@media (max-width:1240px){ html.lmx-noirbar .noirDs__top{ grid-template-columns:minmax(0,1fr); } }

/* ---------- карточка агента на бумажной подложке ---------- */
html.lmx-noirbar .noirDs__card{
  min-width:0; max-width:100%; align-self:start; padding:0;
  background:none; border:0; border-radius:0;
}
html.lmx-noirbar .noirDs__card[hidden]{ display:none; }
/* внутри — родные узлы движка: шапка, светлая карточка «ДАННЫЕ»
   и полароид. Оформление оставляем прежним, меняем только размеры
   под широкий экран */
/* шапка досье и жёлтая плашка с ником — во всю ширину экрана */
html.lmx-noirbar .noirDs__topHead{ margin-bottom:16px; }
html.lmx-noirbar .noirDs__topHead[hidden]{ display:none; }
html.lmx-noirbar .noirDs__topHead .dossierTop{ padding:0 !important; }
html.lmx-noirbar .noirDs__topHead .dossierName{
  margin-top:0 !important; padding:10px 16px !important; font-size:17px !important;
}
html.lmx-noirbar .noirDs__nat .dossierTop{ padding:0 !important; }
html.lmx-noirbar .noirDs__nat .dossierName{
  margin-top:0 !important; padding:14px 16px !important; font-size:22px !important;
}
html.lmx-noirbar .noirDs__nat .dossierMain{
  display:grid !important; grid-template-columns:minmax(0,1fr) 300px !important;
  gap:20px !important; align-items:start !important; margin-top:14px !important;
}
@media (max-width:820px){
  html.lmx-noirbar .noirDs__nat .dossierMain{ grid-template-columns:minmax(0,1fr) !important; }
}
html.lmx-noirbar .noirDs__nat .dossierData{
  padding:18px 20px 14px !important; border-radius:16px !important;
}
html.lmx-noirbar .noirDs__nat .dossierData .dossierSectionTitle{ font-size:14px !important; }
html.lmx-noirbar .noirDs__nat .dossierLine{ padding:9px 0 !important; }
html.lmx-noirbar .noirDs__nat .dossierValue{ font-size:15px !important; }
html.lmx-noirbar .noirDs__nat .dossierPhoto{ justify-content:center !important; }
html.lmx-noirbar .noirDs__nat .dossierPhoto .polaroid{
  width:100% !important; max-width:300px !important; height:auto !important;
  aspect-ratio:3/4; border-width:10px !important;
}
html.lmx-noirbar .noirDs__nat .dossierPhoto .polaroid img{ height:100% !important; }

/* ---------- панели ---------- */
html.lmx-noirbar .noirDs__panel{
  min-width:0; padding:16px; border-radius:13px;
  background:rgba(16,17,20,.92); border:1px solid rgba(242,196,0,.25);
}
html.lmx-noirbar .noirDs__panel[hidden]{ display:none; }
html.lmx-noirbar .noirDs__pHead{
  display:flex; align-items:center; justify-content:space-between; gap:10px; margin-bottom:12px;
  font-family:var(--noir-display); font-size:11px; letter-spacing:.14em; color:var(--yellow);
}
html.lmx-noirbar .noirDs__pt{ min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
html.lmx-noirbar .noirDs__all{
  flex:0 0 auto; padding:5px 12px; border-radius:7px; cursor:pointer;
  font-family:var(--noir-display); font-size:10px; letter-spacing:.1em;
  color:var(--yellow); background:transparent; border:1px solid rgba(242,196,0,.45);
}
html.lmx-noirbar .noirDs__all:hover{ background:rgba(242,196,0,.1); }
html.lmx-noirbar .noirDs__body{ min-width:0; }
html.lmx-noirbar .noirDs__body .dossierBlock{
  margin:0 !important; padding:0 !important; background:none !important; border:0 !important;
}
html.lmx-noirbar .noirDs__body .dossierSectionTitleRow{ margin-bottom:8px; }
html.lmx-noirbar .noirDs__body img,
html.lmx-noirbar .noirDs__body video{ max-width:100%; }

/* ряды блоков */
html.lmx-noirbar .noirDs__row{
  display:grid; grid-template-columns:repeat(3,minmax(0,1fr));
  gap:16px; margin-bottom:16px; align-items:stretch;
}
html.lmx-noirbar .noirDs__row > .noirDs__panel{ display:flex; flex-direction:column; }
html.lmx-noirbar .noirDs__row > .noirDs__panel > .noirDs__body{ flex:1; }
@media (max-width:1200px){
  html.lmx-noirbar .noirDs__row{ grid-template-columns:repeat(2,minmax(0,1fr)); }
  /* В ряду три панели. На двух колонках третья остаётся одна во второй
     строке, и рядом с ней зияет пустая половина — на планшете в портрете
     это выглядело как «плашки разбежались». Растягиваем её на всю ширину. */
  html.lmx-noirbar .noirDs__row > .noirDs__panel:last-child:nth-child(odd){
    grid-column:1 / -1;
  }
}
@media (max-width:800px){ html.lmx-noirbar .noirDs__row{ grid-template-columns:minmax(0,1fr); } }

/* ---------- профиль детектива ---------- */
html.lmx-noirbar .noirDs__traits{ position:relative; z-index:2; min-width:0; }
html.lmx-noirbar .noirDs__traits .noirDs__body{
  display:flex; flex-direction:column; justify-content:center; gap:1px;
}
html.lmx-noirbar .noirDs__tr{
  display:grid; grid-template-columns:20px minmax(0,1fr) 40% 26px;
  align-items:center; gap:10px; padding:5px 0;
}
html.lmx-noirbar .noirDs__trIco{ font-size:14px; line-height:1; text-align:center; }
html.lmx-noirbar .noirDs__trName{
  font-size:11.5px; letter-spacing:.04em; text-transform:uppercase;
  color:rgba(240,232,210,.62); white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
}
html.lmx-noirbar .noirDs__trBar{
  height:7px; border-radius:100px; overflow:hidden; background:rgba(240,232,210,.09);
}
html.lmx-noirbar .noirDs__trBar i{
  display:block; height:100%; border-radius:100px; background:var(--yellow);
}
html.lmx-noirbar .noirDs__trVal{
  text-align:right; font-size:13px; font-weight:700; color:rgba(240,232,210,.3);
}
html.lmx-noirbar .noirDs__trVal.is-on{ color:#f5f1e6; }

/* ---------- прогресс агента: подкарточки ---------- */
html.lmx-noirbar .noirDs__sub{
  padding:12px 13px; margin-bottom:10px; border-radius:11px;
  background:rgba(255,255,255,.028); border:1px solid rgba(240,232,210,.075);
}
html.lmx-noirbar .noirDs__sub:last-child{ margin-bottom:0; }
html.lmx-noirbar .noirDs__sub:empty{ display:none; }
html.lmx-noirbar .noirDs__sHead{
  display:flex; align-items:center; gap:8px; margin-bottom:9px;
  font-family:var(--noir-display); font-size:10px; letter-spacing:.14em; color:var(--yellow);
}
html.lmx-noirbar .noirDs__row2{
  display:flex; align-items:center; justify-content:space-between; gap:12px;
  padding:8px 0; border-bottom:1px solid rgba(240,232,210,.07);
  font-size:12.5px; color:rgba(240,232,210,.75);
}
html.lmx-noirbar .noirDs__row2:last-child{ border-bottom:0; padding-bottom:0; }
html.lmx-noirbar .noirDs__row2 b{ color:var(--yellow); font-size:13px; white-space:nowrap; }
html.lmx-noirbar .noirDs__bar{
  height:8px; border-radius:100px; overflow:hidden; background:rgba(240,232,210,.1);
}
html.lmx-noirbar .noirDs__bar i{
  display:block; height:100%; border-radius:100px; background:var(--yellow);
}
html.lmx-noirbar .noirDs__lvlRow{
  display:flex; align-items:baseline; justify-content:space-between; gap:10px; margin-bottom:8px;
}
html.lmx-noirbar .noirDs__lvlRow b{ font-family:var(--noir-display); font-size:16px; color:var(--yellow); }
html.lmx-noirbar .noirDs__lvlRow span{ font-size:12px; color:rgba(240,232,210,.55); }
/* сезон — компактнее */
html.lmx-noirbar .noirDs__season .dossierSectionTitle{
  font-family:var(--noir-display) !important; font-size:10px !important; letter-spacing:.14em !important;
  color:var(--yellow) !important; margin-bottom:8px !important;
}
html.lmx-noirbar .noirDs__season .card,
html.lmx-noirbar .noirDs__season .dossierBlock{
  margin:0 !important; padding:0 !important; background:none !important; border:0 !important;
}

/* ---------- питомец: блок принят, правила не меняем ---------- */
html.lmx-noirbar .noirDs__pet .noirDs__body img,
html.lmx-noirbar .noirDs__pet .noirDs__body video{ max-height:150px; height:auto; object-fit:contain; }
html.lmx-noirbar .noirDs__pet .pc-slots{
  display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:8px;
}
html.lmx-noirbar .noirDs__petHead{ margin-bottom:12px; }
html.lmx-noirbar .noirDs__petName{
  font-family:var(--noir-display); font-size:19px; color:#f5f1e6; line-height:1.1;
}
html.lmx-noirbar .noirDs__petBreed{
  margin-top:4px; font-family:var(--noir-display); font-size:10px; letter-spacing:.14em;
  color:rgba(240,232,210,.45); text-transform:uppercase;
}
html.lmx-noirbar .noirDs__petLvl{
  display:inline-flex; align-items:center; gap:8px; margin-top:8px; padding:5px 11px 5px 6px;
  border-radius:8px; background:rgba(242,196,0,.1); border:1px solid rgba(242,196,0,.35);
  font-family:var(--noir-display); font-size:9.5px; letter-spacing:.12em; color:var(--yellow);
}
html.lmx-noirbar .noirDs__petLvl em{
  width:22px; height:22px; display:flex; align-items:center; justify-content:center;
  border-radius:6px; font-style:normal; font-size:12px; color:#17130a; background:var(--yellow);
}
html.lmx-noirbar .noirDs__petMedia{
  width:100%; height:210px; margin-bottom:14px; border-radius:12px; overflow:hidden;
  display:flex; align-items:center; justify-content:center;
  background:#000; border:1px solid rgba(242,196,0,.22);
}
html.lmx-noirbar .noirDs__petImg{ width:auto; max-width:100%; height:100%; object-fit:contain; }
/* видео питомца снято на чёрном — screen убирает подложку */
html.lmx-noirbar .noirDs__petImg--vid{ mix-blend-mode:screen; }
html.lmx-noirbar .noirDs__petXp{
  display:flex; align-items:baseline; justify-content:space-between; gap:10px; margin-bottom:7px;
}
html.lmx-noirbar .noirDs__petXp span{
  font-family:var(--noir-display); font-size:9.5px; letter-spacing:.13em; color:rgba(240,232,210,.45);
}
html.lmx-noirbar .noirDs__petXp b{ font-size:13px; color:var(--yellow); }
html.lmx-noirbar .noirDs__petAccHead{
  margin:14px 0 8px; font-family:var(--noir-display); font-size:9.5px; letter-spacing:.13em;
  color:rgba(240,232,210,.45);
}
html.lmx-noirbar .noirDs__petAcc{ display:grid; grid-template-columns:repeat(4,1fr); gap:10px; }
html.lmx-noirbar .noirDs__slot{
  display:flex; flex-direction:column; align-items:center; justify-content:center; gap:4px;
  padding:9px 6px 7px; font-size:20px;
  border-radius:10px; background:rgba(0,0,0,.35); border:1px dashed rgba(240,232,210,.16);
  opacity:.45;
}
html.lmx-noirbar .noirDs__slot.is-on{
  opacity:1; border-style:solid; border-color:rgba(242,196,0,.5); background:rgba(242,196,0,.08);
}
html.lmx-noirbar .noirDs__slot img{ width:100%; height:42px; object-fit:contain; display:block; }
html.lmx-noirbar .noirDs__slot u{ text-decoration:none; line-height:42px; }
html.lmx-noirbar .noirDs__slot i{
  font-style:normal; font-family:var(--noir-display); font-size:8.5px; letter-spacing:.1em;
  color:rgba(240,232,210,.5); text-align:center;
}
html.lmx-noirbar .noirDs__slot.is-on i{ color:var(--yellow); }
html.lmx-noirbar .noirDs__petBtns{ display:flex; gap:8px; margin-top:14px; }
html.lmx-noirbar .noirDs__petBtns .noirDs__act{
  flex:1 1 0; min-width:0; font-size:10px !important; padding:11px 8px !important;
}

/* ---------- статистика ---------- */
html.lmx-noirbar .noirDs__stats{
  display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 22px;
}
@media (max-width:520px){ html.lmx-noirbar .noirDs__stats{ grid-template-columns:minmax(0,1fr); } }
html.lmx-noirbar .noirDs__stRow{
  display:grid; grid-template-columns:18px minmax(0,1fr) auto; align-items:center; gap:8px;
  padding:6px 0; border-bottom:1px solid rgba(240,232,210,.06);
  font-size:12.5px; color:rgba(240,232,210,.62);
}
html.lmx-noirbar .noirDs__stIco{ text-align:center; line-height:1; }
html.lmx-noirbar .noirDs__stLbl{ min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
html.lmx-noirbar .noirDs__stVal{ font-size:13px; font-weight:700; color:rgba(240,232,210,.3); }
html.lmx-noirbar .noirDs__stVal.is-on{ color:var(--yellow); }

/* ---------- вещдоки, шпаргалки, значки ---------- */
html.lmx-noirbar .noirDs__ev .noirDs__body > *,
html.lmx-noirbar .noirDs__cs .noirDs__body > *{ width:100%; }
html.lmx-noirbar .noirDs__ev .noirDs__body [style*="grid"],
html.lmx-noirbar .noirDs__cs .noirDs__body [style*="grid"]{
  display:grid !important; width:100%;
  grid-template-columns:repeat(auto-fit,minmax(0,1fr)) !important; gap:10px !important;
}
html.lmx-noirbar .noirDs__ach .badgeRow{
  display:grid !important; grid-template-columns:repeat(auto-fit,minmax(76px,1fr)); gap:10px;
  width:100%;
}
html.lmx-noirbar .noirDs__ach .ach{ width:100%; }

/* ---------- значки наград ---------- */
html.lmx-noirbar .noirDs__ach .noirDs__body{ display:flex; flex-direction:column; }
html.lmx-noirbar .noirDs__achCnt{
  margin-bottom:7px; font-size:11.5px; letter-spacing:.08em; color:rgba(240,232,210,.5);
}
html.lmx-noirbar .noirDs__achCnt b{ color:var(--yellow); font-size:13px; }
html.lmx-noirbar .noirDs__achBar{ margin-bottom:12px; }
html.lmx-noirbar .noirDs__achTabs{ display:flex; gap:6px; margin-bottom:12px; flex-wrap:wrap; }
html.lmx-noirbar .noirDs__chip{
  padding:6px 11px; border-radius:8px; cursor:pointer;
  font-family:var(--noir-display); font-size:9.5px; letter-spacing:.1em;
  color:rgba(240,232,210,.55); background:transparent; border:1px solid rgba(240,232,210,.14);
}
html.lmx-noirbar .noirDs__chip.is-on{
  color:var(--yellow); border-color:rgba(242,196,0,.5); background:rgba(242,196,0,.09);
}
html.lmx-noirbar .noirDs__achGrid{
  --dsAchRow:98px; --dsAchGapY:12px;
  display:grid; grid-template-columns:repeat(4,minmax(0,1fr));
  gap:var(--dsAchGapY) 10px;
  grid-auto-rows:var(--dsAchRow); align-content:start;
  max-height:calc(var(--dsAchRow) * 4 + var(--dsAchGapY) * 3);
  overflow-y:auto; overscroll-behavior:contain;
  padding-right:6px;
  scrollbar-width:thin; scrollbar-color:rgba(242,196,0,.35) transparent;
}
html.lmx-noirbar .noirDs__achGrid::-webkit-scrollbar{ width:6px; }
html.lmx-noirbar .noirDs__achGrid::-webkit-scrollbar-track{ background:transparent; }
html.lmx-noirbar .noirDs__achGrid::-webkit-scrollbar-thumb{
  background:rgba(242,196,0,.3); border-radius:3px;
}
html.lmx-noirbar .noirDs__achGrid::-webkit-scrollbar-thumb:hover{ background:rgba(242,196,0,.5); }
html.lmx-noirbar .noirDs__achGrid.f-open .noirDs__achIt:not(.is-on){ display:none; }
html.lmx-noirbar .noirDs__achGrid.f-lock .noirDs__achIt.is-on{ display:none; }
html.lmx-noirbar .noirDs__achIt{
  min-width:0; min-height:0; align-self:start;
  display:flex; flex-direction:column; align-items:center; gap:6px; cursor:pointer;
}
html.lmx-noirbar .noirDs__achIco{
  position:relative; width:100%; max-width:66px; aspect-ratio:1; border-radius:50%;
  display:flex; align-items:center; justify-content:center; overflow:visible;
  background:rgba(0,0,0,.4); border:1px solid rgba(242,196,0,.35);
}
html.lmx-noirbar .noirDs__achIco img,
html.lmx-noirbar .noirDs__achIco svg{
  width:100%; height:100%; object-fit:cover; border-radius:50%; display:block;
}
html.lmx-noirbar .noirDs__achIco u{ text-decoration:none; font-size:22px; }
/* закрытая награда без своей картинки — силуэт, а не жёлтая медалька */
html.lmx-noirbar .noirDs__achQ{
  display:flex; align-items:center; justify-content:center;
  width:100%; height:100%; border-radius:50%;
  font-family:var(--noir-display); font-size:22px; font-style:normal;
  color:rgba(240,232,210,.22);
  background:
    radial-gradient(circle at 50% 34%, rgba(240,232,210,.07), rgba(0,0,0,0) 62%),
    repeating-linear-gradient(135deg, rgba(240,232,210,.04) 0 3px, rgba(0,0,0,0) 3px 6px);
}
html.lmx-noirbar .noirDs__achIt:not(.is-on) .noirDs__achIco img,
html.lmx-noirbar .noirDs__achIt:not(.is-on) .noirDs__achIco svg{ opacity:.85; }
html.lmx-noirbar .noirDs__achIt:not(.is-on) .noirDs__achIco{
  border-color:rgba(240,232,210,.14);
}
html.lmx-noirbar .noirDs__achIt:not(.is-on) .noirDs__achIco img{ filter:grayscale(1) brightness(.45); }
/* закрытая награда без своей «закрытой» картинки: открытую прячем под вуаль */
html.lmx-noirbar .noirDs__achIt.is-veil .noirDs__achIco img{
  filter:grayscale(1) brightness(.3) contrast(1.15) blur(2px);
}
html.lmx-noirbar .noirDs__achIt.is-veil .noirDs__achIco::after{
  content:'🔒'; position:absolute; inset:0; border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  font-size:20px; color:rgba(240,232,210,.34);
  background:
    radial-gradient(circle at 50% 40%, rgba(0,0,0,.35), rgba(0,0,0,.6) 70%),
    repeating-linear-gradient(135deg, rgba(240,232,210,.05) 0 3px, rgba(0,0,0,0) 3px 6px);
}
html.lmx-noirbar .noirDs__achIt.is-veil .noirDs__achLock{ z-index:2; }
html.lmx-noirbar .noirDs__achOk,
html.lmx-noirbar .noirDs__achLock{
  position:absolute; right:-3px; bottom:-3px; width:19px; height:19px; border-radius:50%;
  display:flex; align-items:center; justify-content:center; font-style:normal; font-size:10px;
  background:#12120f; border:1px solid rgba(242,196,0,.45); color:var(--yellow);
}
html.lmx-noirbar .noirDs__achLock{ border-color:rgba(240,232,210,.16); color:rgba(240,232,210,.5); }
html.lmx-noirbar .noirDs__achIt i{
  font-style:normal; font-family:var(--noir-display); font-size:8.5px; letter-spacing:.06em;
  line-height:1.25; text-align:center; color:rgba(240,232,210,.5);
  display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden;
}
html.lmx-noirbar .noirDs__achIt.is-on i{ color:rgba(240,232,210,.8); }
html.lmx-noirbar .noirDs__next{
  margin-top:auto; padding:12px 13px; border-radius:11px;
  background:rgba(242,196,0,.05); border:1px solid rgba(242,196,0,.22);
}
html.lmx-noirbar .noirDs__nextRow{ display:flex; align-items:center; gap:12px; }
html.lmx-noirbar .noirDs__nextRow .noirDs__achIco{ width:52px; flex:0 0 52px; }
html.lmx-noirbar .noirDs__nextTxt{ min-width:0; }
html.lmx-noirbar .noirDs__nextTxt b{
  display:block; font-family:var(--noir-display); font-size:12px; letter-spacing:.06em; color:#f5f1e6;
}
html.lmx-noirbar .noirDs__nextTxt span{
  display:block; margin-top:4px; font-size:11.5px; line-height:1.4; color:rgba(240,232,210,.5);
}
@media (max-width:1200px){
  html.lmx-noirbar .noirDs__achGrid{ --dsAchRow:92px; }
}
@media (max-width:800px){
  html.lmx-noirbar .noirDs__achGrid{ --dsAchRow:88px; }
}

/* ---------- нижняя лента кнопок ---------- */
html.lmx-noirbar .noirDs__actions{
  display:grid; grid-template-columns:repeat(auto-fit,minmax(150px,1fr)); gap:10px;
}
html.lmx-noirbar .noirDs__act{
  padding:14px 10px; cursor:pointer; border-radius:11px; text-align:center;
  font-family:var(--noir-display); font-size:11px; letter-spacing:.1em;
  color:var(--yellow); background:transparent; border:1px solid rgba(242,196,0,.45);
}
html.lmx-noirbar .noirDs__act:hover{ background:rgba(242,196,0,.1); }
html.lmx-noirbar .noirDs__act[hidden]{ display:none; }
html.lmx-noirbar .noirDs__act--exit{ color:#ff8080; border-color:rgba(255,120,120,.45); }
html.lmx-noirbar .noirDs__act--exit:hover{ background:rgba(255,120,120,.1); }

/* ============================================================
 * v127: КОМАНДА (#team) — собственный экран по референсу.
 * Родная разметка скрыта, живые поля ввода перенесены внутрь.
 * ============================================================ */
html.lmx-noirbar .noirTmSrc{ display:none !important; }
/* wide_mode.css раскладывает #teamRoot в две колонки — на своём экране
   это ломало всю сетку, поэтому возвращаем обычный поток */
html.lmx-noirbar #teamRoot.noirTmHost{
  display:block !important; grid-template-columns:none !important; gap:0 !important;
}
html.lmx-noirbar .noirTm{ max-width:1500px; margin:0 auto; padding:6px 10px 60px; }

/* шапка */
html.lmx-noirbar .noirTm__head{ display:flex; align-items:center; gap:16px; margin-bottom:18px; }
html.lmx-noirbar .noirTm__h1{
  font-family:var(--noir-display); font-weight:700; font-size:32px; letter-spacing:.06em;
  color:#f5f1e6; line-height:1;
}
html.lmx-noirbar .noirTm__line{
  flex:1; height:1px; border-top:1px dashed rgba(242,196,0,.3);
}
html.lmx-noirbar .noirTm__code{
  padding:8px 14px; border-radius:9px; font-family:var(--noir-display); font-size:11px;
  letter-spacing:.12em; color:rgba(240,232,210,.6);
  background:rgba(242,196,0,.06); border:1px solid rgba(242,196,0,.35);
}
html.lmx-noirbar .noirTm__code b{ color:var(--yellow); }

/* колонки */
html.lmx-noirbar .noirTm__grid{
  display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.05fr); gap:16px; align-items:start;
}
@media (max-width:1180px){ html.lmx-noirbar .noirTm__grid{ grid-template-columns:minmax(0,1fr); } }
html.lmx-noirbar .noirTm__col{ min-width:0; display:flex; flex-direction:column; gap:16px; }

/* карточка команды */
html.lmx-noirbar .noirTm__hero{
  display:flex; align-items:center; gap:22px; padding:20px 22px; border-radius:14px;
  background:linear-gradient(90deg,rgba(20,18,14,.94),rgba(16,17,20,.9));
  border:1px solid rgba(242,196,0,.28);
}
html.lmx-noirbar .noirTm__logo{
  position:relative; flex:0 0 auto; width:132px; height:132px; border-radius:50%;
  display:flex; align-items:center; justify-content:center; overflow:hidden;
  background:rgba(0,0,0,.45); border:2px solid rgba(242,196,0,.5);
}
html.lmx-noirbar .noirTm__logoImg{ display:none; width:100%; height:100%; object-fit:cover; }
html.lmx-noirbar .noirTm__logo.is-on .noirTm__logoImg{ display:block; }
html.lmx-noirbar .noirTm__logo.is-on .noirTm__logoNo{ display:none; }
html.lmx-noirbar .noirTm__logoNo{ font-size:40px; opacity:.35; }
html.lmx-noirbar .noirTm__logo--sm{ width:62px; height:62px; border-width:1px; }
html.lmx-noirbar .noirTm__logo--sm .noirTm__logoNo{ font-size:22px; }
html.lmx-noirbar .noirTm__heroTxt{ min-width:0; }
html.lmx-noirbar .noirTm__name{
  font-family:var(--noir-display); font-size:26px; color:#f5f1e6; line-height:1.15;
}
html.lmx-noirbar .noirTm__motto{
  margin-top:6px; font-size:13px; font-style:italic; color:rgba(240,232,210,.5);
}
html.lmx-noirbar .noirTm__motto[hidden]{ display:none; }
html.lmx-noirbar .noirTm__chips{ display:flex; flex-wrap:wrap; gap:8px; margin-top:14px; }
html.lmx-noirbar .noirTm__chip{
  padding:7px 12px; border-radius:8px; font-size:11.5px; color:rgba(240,232,210,.5);
  background:rgba(0,0,0,.35); border:1px solid rgba(240,232,210,.1);
}
html.lmx-noirbar .noirTm__chip b{ color:var(--yellow); }

/* левый средний ряд */
html.lmx-noirbar .noirTm__sub{
  display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:16px; align-items:start;
}
@media (max-width:700px){ html.lmx-noirbar .noirTm__sub{ grid-template-columns:minmax(0,1fr); } }
html.lmx-noirbar .noirTm__subCol{ min-width:0; display:flex; flex-direction:column; gap:16px; }
html.lmx-noirbar .noirTm__two{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0; }
html.lmx-noirbar .noirTm__stat{
  position:relative; padding:18px 16px 16px; overflow:hidden;
  background:rgba(16,17,20,.92); border:1px solid rgba(242,196,0,.25);
}
html.lmx-noirbar .noirTm__stat:first-child{ border-radius:13px 0 0 13px; border-right:0; }
html.lmx-noirbar .noirTm__stat:last-child{ border-radius:0 13px 13px 0; }
html.lmx-noirbar .noirTm__stat b{
  display:block; font-family:var(--noir-display); font-size:30px; line-height:1; color:#f5f1e6;
}
html.lmx-noirbar .noirTm__stat--y b{ color:var(--yellow); }
html.lmx-noirbar .noirTm__stat i{
  display:block; margin-top:8px; font-style:normal; font-family:var(--noir-display);
  font-size:9.5px; letter-spacing:.13em; color:rgba(240,232,210,.45);
}
html.lmx-noirbar .noirTm__stat u{
  position:absolute; right:10px; bottom:6px; text-decoration:none; font-size:26px; opacity:.16;
}

/* панели */
html.lmx-noirbar .noirTm__panel{
  min-width:0; padding:16px; border-radius:13px;
  background:rgba(16,17,20,.92); border:1px solid rgba(242,196,0,.25);
}
html.lmx-noirbar .noirTm__panel[hidden]{ display:none; }
html.lmx-noirbar .noirTm__pHead{
  display:flex; align-items:center; justify-content:space-between; gap:10px; margin-bottom:12px;
  font-family:var(--noir-display); font-size:11px; letter-spacing:.14em; color:var(--yellow);
}
html.lmx-noirbar .noirTm__body{ min-width:0; }
html.lmx-noirbar .noirTm__lbl{
  margin-bottom:7px; font-family:var(--noir-display); font-size:9.5px; letter-spacing:.13em;
  color:rgba(240,232,210,.45);
}
html.lmx-noirbar .noirTm__hint{
  margin-top:9px; font-size:11.5px; line-height:1.45; color:rgba(240,232,210,.4);
}
html.lmx-noirbar .noirTm__note{
  margin-bottom:16px; padding:14px 16px; border-radius:12px; font-size:13px;
  color:rgba(240,232,210,.7); background:rgba(242,196,0,.06); border:1px solid rgba(242,196,0,.22);
}

/* строки «раскрытые дела» */
html.lmx-noirbar .noirTm__row{
  display:grid; grid-template-columns:20px minmax(0,1fr) auto; align-items:center; gap:9px;
  padding:9px 0; border-bottom:1px solid rgba(240,232,210,.06); font-size:12.5px;
  color:rgba(240,232,210,.62);
}
html.lmx-noirbar .noirTm__rIco{ text-align:center; line-height:1; }
html.lmx-noirbar .noirTm__rVal{ font-size:14px; font-weight:700; color:rgba(240,232,210,.3); }
html.lmx-noirbar .noirTm__rVal.is-on{ color:var(--yellow); }
html.lmx-noirbar .noirTm__row--sum{
  grid-template-columns:minmax(0,1fr) auto; border-bottom:0; padding-top:12px;
  font-family:var(--noir-display); font-size:11px; letter-spacing:.12em; color:rgba(240,232,210,.55);
}

/* профиль команды */
html.lmx-noirbar .noirTm__tr{
  display:grid; grid-template-columns:20px minmax(0,1fr) 38% 24px;
  align-items:center; gap:9px; padding:5px 0;
}
html.lmx-noirbar .noirTm__trIco{ font-size:14px; line-height:1; text-align:center; }
html.lmx-noirbar .noirTm__trName{
  font-size:12px; color:rgba(240,232,210,.62);
  white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
}
html.lmx-noirbar .noirTm__trBar{
  height:7px; border-radius:100px; overflow:hidden; background:rgba(240,232,210,.09);
}
html.lmx-noirbar .noirTm__trBar i{ display:block; height:100%; border-radius:100px; background:var(--yellow); }
html.lmx-noirbar .noirTm__trVal{
  text-align:right; font-size:13px; font-weight:700; color:rgba(240,232,210,.3);
}
html.lmx-noirbar .noirTm__trVal.is-on{ color:#f5f1e6; }

/* настройки команды */
html.lmx-noirbar .noirTm__setGrid{
  display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.2fr); gap:18px;
}
@media (max-width:700px){ html.lmx-noirbar .noirTm__setGrid{ grid-template-columns:minmax(0,1fr); } }
html.lmx-noirbar .noirTm__logoRow{ display:flex; align-items:center; gap:12px; }
html.lmx-noirbar .noirTm__upl{
  flex:1; padding:16px 12px; border-radius:11px; cursor:pointer; text-align:center;
  font-family:var(--noir-display); font-size:10px; letter-spacing:.1em; color:rgba(240,232,210,.7);
  background:rgba(255,255,255,.03); border:1px dashed rgba(240,232,210,.2);
}
html.lmx-noirbar .noirTm__upl:hover{ border-color:rgba(242,196,0,.5); color:var(--yellow); }
html.lmx-noirbar .noirTm__upl input{ display:none !important; }
html.lmx-noirbar .noirTm__check{
  display:flex; align-items:center; gap:9px; margin-top:12px; cursor:pointer;
  font-size:12.5px; color:rgba(240,232,210,.7);
}
html.lmx-noirbar .noirTm__check input{ width:17px; height:17px; accent-color:#f2c400; }
html.lmx-noirbar #teamLogoStatus{ margin-top:8px; font-size:11.5px; }

/* поля ввода движка внутри своей вёрстки */
html.lmx-noirbar .noirTm__field{ min-width:0; }
html.lmx-noirbar .noirTm__field input,
html.lmx-noirbar .noirTm .input{
  width:100%; padding:13px 14px !important; border-radius:11px !important;
  font-size:13px !important; color:#f5f1e6 !important;
  background:rgba(0,0,0,.4) !important; border:1px solid rgba(240,232,210,.14) !important;
  margin:0 !important; box-sizing:border-box;
}
html.lmx-noirbar .noirTm__field input:focus{ border-color:rgba(242,196,0,.55) !important; outline:none; }
html.lmx-noirbar .noirTm__redeemRow{ display:flex; gap:10px; align-items:stretch; }
html.lmx-noirbar .noirTm__redeemRow .noirTm__field{ flex:1; }

/* кнопки */
html.lmx-noirbar .noirTm__btn{
  padding:13px 16px; border-radius:11px; cursor:pointer; white-space:nowrap;
  font-family:var(--noir-display); font-size:10.5px; letter-spacing:.1em;
  color:var(--yellow); background:transparent; border:1px solid rgba(242,196,0,.45);
}
html.lmx-noirbar .noirTm__btn:hover{ background:rgba(242,196,0,.1); }
html.lmx-noirbar .noirTm__btn--y{
  color:#17130a; background:var(--yellow); border-color:var(--yellow); font-weight:700;
}
html.lmx-noirbar .noirTm__btn--y:hover{ background:#ffd633; }
html.lmx-noirbar .noirTm__btn--red{ color:#ff8080; border-color:rgba(255,120,120,.45); }
html.lmx-noirbar .noirTm__btn--red:hover{ background:rgba(255,120,120,.1); }
html.lmx-noirbar .noirTm__btn--wide{ width:100%; margin-top:16px; }
html.lmx-noirbar .noirTm__noneGrid{
  display:grid; grid-template-columns:repeat(auto-fit,minmax(280px,1fr)); gap:16px;
}
html.lmx-noirbar .noirTm--none .noirTm__btn{ width:100%; margin-top:12px; }

/* сезон */
html.lmx-noirbar .noirTm__season .subbar{ margin-top:0 !important; }
html.lmx-noirbar .noirTm__season .card{
  margin:0 !important; padding:0 !important; background:none !important; border:0 !important;
}

/* участники */
html.lmx-noirbar .noirTm__mem .noirTm__body{
  display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px;
}
@media (max-width:900px){
  html.lmx-noirbar .noirTm__mem .noirTm__body{ grid-template-columns:minmax(0,1fr); }
}
html.lmx-noirbar .noirTm__m{
  display:flex; align-items:center; gap:10px; min-width:0; padding:10px 12px; border-radius:11px;
  background:rgba(255,255,255,.028); border:1px solid rgba(240,232,210,.08);
}
html.lmx-noirbar .noirTm__m.is-you{ border-color:rgba(242,196,0,.35); background:rgba(242,196,0,.05); }
html.lmx-noirbar .noirTm__mNum{
  flex:0 0 auto; width:24px; height:24px; border-radius:7px;
  display:flex; align-items:center; justify-content:center; font-size:11px; font-weight:700;
  color:var(--yellow); background:rgba(242,196,0,.1); border:1px solid rgba(242,196,0,.3);
}
html.lmx-noirbar .noirTm__mTxt{ flex:1; min-width:0; }
html.lmx-noirbar .noirTm__mTxt b{
  display:block; font-size:13px; color:var(--yellow); cursor:pointer;
  white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
}
html.lmx-noirbar .noirTm__m.is-you .noirTm__mTxt b{ color:#f5f1e6; cursor:default; }
html.lmx-noirbar .noirTm__mTxt span{
  display:block; margin-top:2px; font-size:10.5px; color:rgba(240,232,210,.4);
  white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
}
html.lmx-noirbar .noirTm__pill{
  flex:0 0 auto; padding:4px 8px; border-radius:6px; font-size:9px; font-weight:700;
  letter-spacing:.06em; color:rgba(240,232,210,.35);
  background:rgba(255,255,255,.05); border:1px solid rgba(240,232,210,.12);
}
html.lmx-noirbar .noirTm__pill--sub{
  color:var(--yellow); background:rgba(242,196,0,.08); border-color:rgba(242,196,0,.45);
}
html.lmx-noirbar .noirTm__pill--you{
  color:#17130a; background:var(--yellow); border-color:var(--yellow);
}
html.lmx-noirbar .noirTm__kick{
  flex:0 0 auto; width:26px; height:26px; border-radius:7px; cursor:pointer; font-size:11px;
  color:rgba(231,68,68,.8); background:transparent; border:1px solid rgba(231,68,68,.35);
}
html.lmx-noirbar .noirTm__kick:hover{ background:rgba(231,68,68,.12); }
html.lmx-noirbar .noirTm__memBtns{
  display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; margin-top:14px;
}
@media (max-width:520px){
  html.lmx-noirbar .noirTm__memBtns{ grid-template-columns:minmax(0,1fr); }
}

/* награды команды */
html.lmx-noirbar .noirTm__awards .achList{
  display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px;
}
@media (max-width:900px){
  html.lmx-noirbar .noirTm__awards .achList{ grid-template-columns:minmax(0,1fr); }
}
html.lmx-noirbar .noirTm__awards .achCard{
  display:flex; align-items:center; gap:10px; min-width:0; margin:0 !important;
  padding:9px 11px !important; border-radius:11px !important;
  background:rgba(255,255,255,.028) !important; border:1px solid rgba(240,232,210,.08) !important;
}
html.lmx-noirbar .noirTm__awards .achCard__ico{
  flex:0 0 36px; width:36px; height:36px; border-radius:50%; overflow:hidden;
  display:flex; align-items:center; justify-content:center; background:rgba(0,0,0,.4);
  border:1px solid rgba(242,196,0,.35);
}
html.lmx-noirbar .noirTm__awards .achCard__ico img,
html.lmx-noirbar .noirTm__awards .achCard__ico svg{ width:100%; height:100%; object-fit:cover; }
html.lmx-noirbar .noirTm__awards .achCard__body{ flex:1; min-width:0; }
html.lmx-noirbar .noirTm__awards .achCard__top{
  display:flex; align-items:center; gap:8px; min-width:0;
}
html.lmx-noirbar .noirTm__awards .achCard__title{
  font-size:12.5px; color:#f5f1e6; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
}
html.lmx-noirbar .noirTm__awards .achCard__desc{ display:none; }
html.lmx-noirbar .noirTm__awards .rar{
  flex:0 0 auto; padding:3px 7px; border-radius:5px; font-size:8.5px; font-weight:700;
  letter-spacing:.06em; text-transform:uppercase;
}
html.lmx-noirbar .noirTm__awards .achCard__reward{ flex:0 0 auto; color:var(--yellow); font-size:13px; }

/* ============================================================
 * v129: МОИ ПИТОМЦЫ (#mypets, вкладка «Питомцы») по референсу.
 * ============================================================ */
html.lmx-noirbar .noirPtSrc{ display:none !important; }
html.lmx-noirbar .noirPt{ max-width:1500px; margin:0 auto; padding:6px 10px 60px; }

html.lmx-noirbar .noirPt__head{ display:flex; align-items:center; gap:16px; margin-bottom:16px; }
html.lmx-noirbar .noirPt__h1{
  font-family:var(--noir-display); font-weight:700; font-size:30px; letter-spacing:.06em;
  color:#f5f1e6; line-height:1;
}
html.lmx-noirbar .noirPt__back{
  padding:8px 14px; border-radius:9px; cursor:pointer;
  font-family:var(--noir-display); font-size:10px; letter-spacing:.12em;
  color:rgba(240,232,210,.6); background:transparent; border:1px solid rgba(240,232,210,.18);
}
html.lmx-noirbar .noirPt__back:hover{ color:var(--yellow); border-color:rgba(242,196,0,.5); }

/* вкладки */
html.lmx-noirbar .noirPt__tabs{
  display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; margin-bottom:18px;
  padding:8px; border-radius:14px;
  background:rgba(16,17,20,.92); border:1px solid rgba(242,196,0,.22);
}
html.lmx-noirbar .noirPt__tab{
  padding:13px 10px; border-radius:9px; cursor:pointer;
  font-family:var(--noir-display); font-size:11px; letter-spacing:.12em;
  color:rgba(240,232,210,.6); background:transparent; border:0;
}
html.lmx-noirbar .noirPt__tab:hover{ color:var(--yellow); }
html.lmx-noirbar .noirPt__tab.is-on{
  color:#17130a; font-weight:700;
  background:url("assets/noir_bar.webp") center/100% 100% no-repeat, var(--yellow);
}

/* сетка экрана */
html.lmx-noirbar .noirPt__grid{
  display:grid; grid-template-columns:minmax(0,1fr) 330px; gap:16px; align-items:start;
}
@media (max-width:1180px){ html.lmx-noirbar .noirPt__grid{ grid-template-columns:minmax(0,1fr); } }
html.lmx-noirbar .noirPt__main{ min-width:0; display:flex; flex-direction:column; gap:16px; }
html.lmx-noirbar .noirPt__rail{ min-width:0; display:flex; flex-direction:column; gap:16px; }

/* карточка активного питомца */
html.lmx-noirbar .noirPt__hero{
  position:relative; padding:18px; border-radius:14px;
  background:rgba(16,17,20,.92); border:1px solid rgba(242,196,0,.3);
}
html.lmx-noirbar .noirPt__hero[hidden]{ display:none; }
html.lmx-noirbar .noirPt__heroTag{
  margin-bottom:12px; font-family:var(--noir-display); font-size:9.5px; letter-spacing:.14em;
  color:rgba(240,232,210,.45);
}
html.lmx-noirbar .noirPt__heroRow{ display:flex; gap:20px; align-items:flex-start; }
@media (max-width:640px){ html.lmx-noirbar .noirPt__heroRow{ flex-direction:column; } }
html.lmx-noirbar .noirPt__heroMedia{
  flex:0 0 220px; width:220px; height:220px; border-radius:12px; overflow:hidden;
  display:flex; align-items:center; justify-content:center;
  background:#000; border:1px solid rgba(242,196,0,.22);
}
html.lmx-noirbar .noirPt__heroImg{ max-width:100%; max-height:100%; object-fit:contain; }
html.lmx-noirbar .noirPt__vid{ mix-blend-mode:screen; }
html.lmx-noirbar .noirPt__noimg{ font-size:52px; opacity:.3; }
html.lmx-noirbar .noirPt__heroTxt{ flex:1; min-width:0; }
html.lmx-noirbar .noirPt__nameRow{ display:flex; align-items:center; gap:10px; min-width:0; }
html.lmx-noirbar .noirPt__name{
  font-family:var(--noir-display); font-size:26px; color:#f5f1e6; line-height:1.1;
  white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
}
html.lmx-noirbar .noirPt__badge{
  flex:0 0 auto; padding:4px 9px; border-radius:6px; font-size:9px; font-weight:700;
  letter-spacing:.1em; color:var(--yellow);
  background:rgba(242,196,0,.12); border:1px solid rgba(242,196,0,.4);
}
html.lmx-noirbar .noirPt__chips{ display:flex; flex-wrap:wrap; gap:7px; margin-top:11px; }
html.lmx-noirbar .noirPt__chip{
  padding:5px 10px; border-radius:7px; font-size:11px; color:rgba(240,232,210,.55);
  background:rgba(0,0,0,.35); border:1px solid rgba(240,232,210,.1);
}
html.lmx-noirbar .noirPt__xpRow{
  margin:16px 0 7px; font-size:12.5px; color:rgba(240,232,210,.6);
}
/* полоса прогресса с числами внутри */
html.lmx-noirbar .noirPt__bar{
  position:relative; height:22px; border-radius:8px; overflow:hidden;
  background:rgba(240,232,210,.07); border:1px solid rgba(240,232,210,.08);
}
html.lmx-noirbar .noirPt__bar i{
  display:block; height:100%; border-radius:7px 0 0 7px; background:var(--yellow);
}
html.lmx-noirbar .noirPt__bar u{
  position:absolute; right:9px; top:0; line-height:20px; text-decoration:none;
  font-size:10.5px; color:rgba(240,232,210,.6);
}
html.lmx-noirbar .noirPt__heroBottom{
  display:flex; align-items:center; justify-content:space-between; gap:16px; margin-top:14px;
  flex-wrap:wrap;
}
html.lmx-noirbar .noirPt__bons{
  flex:1; min-width:220px; padding:11px 13px; border-radius:11px;
  background:rgba(255,255,255,.028); border:1px solid rgba(240,232,210,.08);
}
html.lmx-noirbar .noirPt__bonHead{
  margin-bottom:6px; font-family:var(--noir-display); font-size:9.5px; letter-spacing:.13em;
  color:rgba(240,232,210,.45);
}
html.lmx-noirbar .noirPt__bon{
  display:flex; align-items:baseline; gap:8px; font-size:12.5px; color:rgba(240,232,210,.6);
  padding:2px 0;
}
html.lmx-noirbar .noirPt__bon b{ color:var(--yellow); font-size:13px; }
html.lmx-noirbar .noirPt__bon i{ font-style:normal; min-width:0; }
html.lmx-noirbar .noirPt__more{
  flex:0 0 auto; padding:13px 20px; border-radius:11px; cursor:pointer;
  font-family:var(--noir-display); font-size:10.5px; letter-spacing:.1em;
  color:var(--yellow); background:transparent; border:1px solid rgba(242,196,0,.45);
}
html.lmx-noirbar .noirPt__more:hover{ background:rgba(242,196,0,.1); }
/* раскрывающиеся подробности */
html.lmx-noirbar .noirPt__det{ margin-top:14px; }
html.lmx-noirbar .noirPt__det[hidden]{ display:none; }
html.lmx-noirbar .noirPt__desc{
  margin-bottom:12px; font-size:12.5px; line-height:1.55; color:rgba(240,232,210,.55);
}
html.lmx-noirbar .noirPt__stages{ display:grid; gap:6px; }
html.lmx-noirbar .noirPt__stage{
  display:grid; grid-template-columns:24px minmax(0,1fr) auto; align-items:center; gap:10px;
  padding:8px 11px; border-radius:9px; font-size:12px; color:rgba(240,232,210,.4);
  background:rgba(255,255,255,.02); border:1px solid rgba(240,232,210,.07);
}
html.lmx-noirbar .noirPt__stage em{
  width:22px; height:22px; display:flex; align-items:center; justify-content:center;
  border-radius:6px; font-style:normal; font-size:11px; font-weight:700;
  color:rgba(240,232,210,.4); background:rgba(255,255,255,.05);
}
html.lmx-noirbar .noirPt__stage.is-on{ color:rgba(240,232,210,.8); border-color:rgba(242,196,0,.3); }
html.lmx-noirbar .noirPt__stage.is-on em{ color:#17130a; background:var(--yellow); }
html.lmx-noirbar .noirPt__stage span{ font-size:11px; color:rgba(240,232,210,.35); }

/* сетка карточек питомцев */
html.lmx-noirbar .noirPt__list{
  display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px;
}
@media (max-width:820px){ html.lmx-noirbar .noirPt__list{ grid-template-columns:minmax(0,1fr); } }
html.lmx-noirbar .noirPt__card{
  display:flex; gap:14px; min-width:0; padding:14px; border-radius:14px;
  background:rgba(16,17,20,.92); border:1px solid rgba(240,232,210,.09);
}
html.lmx-noirbar .noirPt__card.is-on{ border-color:rgba(242,196,0,.4); background:rgba(242,196,0,.05); }
html.lmx-noirbar .noirPt__cardMedia{
  flex:0 0 132px; width:132px; height:132px; border-radius:11px; overflow:hidden;
  display:flex; align-items:center; justify-content:center;
  background:#000; border:1px solid rgba(242,196,0,.18);
}
html.lmx-noirbar .noirPt__cardImg{ max-width:100%; max-height:100%; object-fit:contain; }
html.lmx-noirbar .noirPt__cardTxt{ flex:1; min-width:0; display:flex; flex-direction:column; }
html.lmx-noirbar .noirPt__cardName{
  font-family:var(--noir-display); font-size:17px; color:#f5f1e6; line-height:1.1;
  white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
}
html.lmx-noirbar .noirPt__cardSt{
  margin-top:4px; font-size:11px; letter-spacing:.06em; color:var(--yellow);
}
html.lmx-noirbar .noirPt__cardXp{
  margin:12px 0 6px; font-size:11.5px; color:rgba(240,232,210,.5);
}
html.lmx-noirbar .noirPt__card .noirPt__bar{ height:18px; }
html.lmx-noirbar .noirPt__card .noirPt__bar u{ line-height:16px; font-size:10px; }
html.lmx-noirbar .noirPt__btn{
  margin-top:12px; padding:11px 14px; border-radius:10px; cursor:pointer;
  font-family:var(--noir-display); font-size:10px; letter-spacing:.1em;
  color:var(--yellow); background:transparent; border:1px solid rgba(242,196,0,.45);
}
html.lmx-noirbar .noirPt__btn:hover{ background:rgba(242,196,0,.1); }
html.lmx-noirbar .noirPt__btn[disabled]{
  cursor:default; color:rgba(240,232,210,.35); border-color:rgba(240,232,210,.12);
  background:transparent;
}
html.lmx-noirbar .noirPt__btn--y{
  color:#17130a; background:var(--yellow); border-color:var(--yellow); font-weight:700;
}
html.lmx-noirbar .noirPt__btn--y:hover{ background:#ffd633; }
html.lmx-noirbar .noirPt__btn--wide{ width:100%; margin-top:14px; }
html.lmx-noirbar .noirPt__wide{
  width:100%; padding:16px; border-radius:12px; cursor:pointer;
  font-family:var(--noir-display); font-size:11px; letter-spacing:.12em;
  color:var(--yellow); background:rgba(242,196,0,.05); border:1px solid rgba(242,196,0,.4);
}
html.lmx-noirbar .noirPt__wide:hover{ background:rgba(242,196,0,.12); }
html.lmx-noirbar .noirPt__empty{
  padding:44px 20px; text-align:center; border-radius:14px;
  background:rgba(16,17,20,.92); border:1px solid rgba(240,232,210,.09);
}
html.lmx-noirbar .noirPt__empty div{ font-size:46px; margin-bottom:12px; }
html.lmx-noirbar .noirPt__empty b{
  display:block; font-family:var(--noir-display); font-size:15px; color:#f5f1e6; margin-bottom:8px;
}
html.lmx-noirbar .noirPt__empty span{ font-size:12.5px; color:rgba(240,232,210,.45); line-height:1.6; }

/* правая рейка */
html.lmx-noirbar .noirPt__panel{
  min-width:0; padding:16px; border-radius:13px;
  background:rgba(16,17,20,.92); border:1px solid rgba(242,196,0,.25);
}
html.lmx-noirbar .noirPt__pHead{
  margin-bottom:12px; font-family:var(--noir-display); font-size:11px; letter-spacing:.14em;
  color:var(--yellow);
}
html.lmx-noirbar .noirPt__cLbl{ font-size:11.5px; color:rgba(240,232,210,.45); }
html.lmx-noirbar .noirPt__cNum{
  margin:4px 0 10px; font-family:var(--noir-display); font-size:15px; color:rgba(240,232,210,.45);
}
html.lmx-noirbar .noirPt__cNum b{ font-size:30px; color:var(--yellow); }
html.lmx-noirbar .noirPt__rail .noirPt__bar{ height:8px; border-radius:100px; }
html.lmx-noirbar .noirPt__rail .noirPt__bar i{ border-radius:100px; }
html.lmx-noirbar .noirPt__cTxt{
  margin-top:10px; font-size:11.5px; line-height:1.5; color:rgba(240,232,210,.45);
}
html.lmx-noirbar .noirPt__how{
  display:flex; align-items:flex-start; gap:10px; padding:7px 0;
  font-size:11.5px; line-height:1.5; color:rgba(240,232,210,.55);
}
html.lmx-noirbar .noirPt__how span{ flex:0 0 auto; }
html.lmx-noirbar .noirPt__how i{ font-style:normal; min-width:0; }
html.lmx-noirbar .noirPt__link{
  margin-top:10px; padding:0; cursor:pointer; font-size:11.5px;
  color:var(--yellow); background:none; border:0; text-align:left;
}
html.lmx-noirbar .noirPt__link:hover{ text-decoration:underline; }

/* ============================================================
 * v130: АКСЕССУАРЫ (#mypets, вкладка «Аксессуары») по референсу.
 * ============================================================ */
html.lmx-noirbar .noirAcSrc{ display:none !important; }
html.lmx-noirbar .noirAc{ max-width:1500px; margin:0 auto; padding:6px 10px 60px; }

html.lmx-noirbar .noirAc__head{ display:flex; align-items:center; gap:16px; margin-bottom:16px; }
html.lmx-noirbar .noirAc__h1{
  font-family:var(--noir-display); font-weight:700; font-size:30px; letter-spacing:.06em;
  color:#f5f1e6; line-height:1;
}
html.lmx-noirbar .noirAc__back{
  padding:8px 14px; border-radius:9px; cursor:pointer;
  font-family:var(--noir-display); font-size:10px; letter-spacing:.12em;
  color:rgba(240,232,210,.6); background:transparent; border:1px solid rgba(240,232,210,.18);
}
html.lmx-noirbar .noirAc__back:hover{ color:var(--yellow); border-color:rgba(242,196,0,.5); }
html.lmx-noirbar .noirAc__tabs{
  display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; margin-bottom:16px;
  padding:8px; border-radius:14px;
  background:rgba(16,17,20,.92); border:1px solid rgba(242,196,0,.22);
}
html.lmx-noirbar .noirAc__tab{
  padding:13px 10px; border-radius:9px; cursor:pointer;
  font-family:var(--noir-display); font-size:11px; letter-spacing:.12em;
  color:rgba(240,232,210,.6); background:transparent; border:0;
}
html.lmx-noirbar .noirAc__tab:hover{ color:var(--yellow); }
html.lmx-noirbar .noirAc__tab.is-on{
  color:#17130a; font-weight:700;
  background:url("assets/noir_bar.webp") center/100% 100% no-repeat, var(--yellow);
}

/* активный питомец + надетые слоты */
html.lmx-noirbar .noirAc__pet{
  padding:16px 18px; margin-bottom:16px; border-radius:14px;
  background:rgba(16,17,20,.92); border:1px solid rgba(242,196,0,.3);
}
html.lmx-noirbar .noirAc__pet[hidden]{ display:none; }
html.lmx-noirbar .noirAc__petTag{
  margin-bottom:12px; font-family:var(--noir-display); font-size:9.5px; letter-spacing:.14em;
  color:rgba(240,232,210,.45);
}
html.lmx-noirbar .noirAc__petRow{
  display:grid; grid-template-columns:minmax(260px,1fr) minmax(0,1.5fr); gap:18px; align-items:center;
}
@media (max-width:1000px){ html.lmx-noirbar .noirAc__petRow{ grid-template-columns:minmax(0,1fr); } }
html.lmx-noirbar .noirAc__petCol{ display:flex; align-items:center; gap:16px; min-width:0; }
html.lmx-noirbar .noirAc__petMedia{
  flex:0 0 104px; width:104px; height:104px; border-radius:50%; overflow:hidden;
  display:flex; align-items:center; justify-content:center;
  background:#000; border:1px solid rgba(242,196,0,.35);
}
html.lmx-noirbar .noirAc__petMedia img,
html.lmx-noirbar .noirAc__petVid{ max-width:100%; max-height:100%; object-fit:contain; }
html.lmx-noirbar .noirAc__petVid{ mix-blend-mode:screen; }
html.lmx-noirbar .noirAc__no{ font-size:30px; opacity:.3; }
html.lmx-noirbar .noirAc__petTxt{ flex:1; min-width:0; }
html.lmx-noirbar .noirAc__petName{
  display:flex; align-items:center; gap:10px; min-width:0;
  font-family:var(--noir-display); font-size:21px; color:#f5f1e6;
}
html.lmx-noirbar .noirAc__badge{
  flex:0 0 auto; padding:4px 9px; border-radius:6px; font-family:inherit; font-size:9px;
  font-weight:700; letter-spacing:.1em; color:var(--yellow);
  background:rgba(242,196,0,.12); border:1px solid rgba(242,196,0,.4);
}
html.lmx-noirbar .noirAc__petSt{ margin-top:7px; font-size:12px; color:rgba(240,232,210,.5); }
html.lmx-noirbar .noirAc__petSt b{ color:var(--yellow); }
html.lmx-noirbar .noirAc__petXp{ margin:9px 0 6px; font-size:11.5px; color:rgba(240,232,210,.5); }
html.lmx-noirbar .noirAc__bar{
  position:relative; height:18px; border-radius:8px; overflow:hidden;
  background:rgba(240,232,210,.07); border:1px solid rgba(240,232,210,.08);
}
html.lmx-noirbar .noirAc__bar i{ display:block; height:100%; border-radius:7px 0 0 7px; background:var(--yellow); }
html.lmx-noirbar .noirAc__bar u{
  position:absolute; right:9px; top:0; line-height:16px; text-decoration:none;
  font-size:10px; color:rgba(240,232,210,.6);
}
/* четыре слота */
html.lmx-noirbar .noirAc__slots{
  display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px;
}
@media (max-width:620px){ html.lmx-noirbar .noirAc__slots{ grid-template-columns:repeat(2,minmax(0,1fr)); } }
html.lmx-noirbar .noirAc__slot{
  min-width:0; border-radius:11px; overflow:hidden; text-align:center;
  background:rgba(0,0,0,.35); border:1px dashed rgba(240,232,210,.14);
}
html.lmx-noirbar .noirAc__slot.is-on{ border-style:solid; border-color:rgba(242,196,0,.45); }
html.lmx-noirbar .noirAc__slotHead{
  padding:7px 6px; font-family:var(--noir-display); font-size:8.5px; letter-spacing:.12em;
  color:rgba(240,232,210,.45); border-bottom:1px solid rgba(240,232,210,.08);
}
html.lmx-noirbar .noirAc__slot.is-on .noirAc__slotHead{ color:var(--yellow); }
html.lmx-noirbar .noirAc__slotName{
  padding:8px 8px 0; font-size:11.5px; color:#f5f1e6; line-height:1.3;
  display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden;
}
html.lmx-noirbar .noirAc__slotName--off{ color:rgba(240,232,210,.35); }
html.lmx-noirbar .noirAc__slotPic{
  height:74px; display:flex; align-items:center; justify-content:center; padding:6px;
}
html.lmx-noirbar .noirAc__slotPic img{ max-width:100%; max-height:100%; object-fit:contain; }
html.lmx-noirbar .noirAc__slotBon{
  padding:7px 6px; border-top:1px solid rgba(240,232,210,.08);
  font-size:10px; color:rgba(240,232,210,.45);
}
html.lmx-noirbar .noirAc__slotBon i{ font-style:normal; opacity:.6; }
html.lmx-noirbar .noirAc__slotBon .noirAc__bon{ font-size:10px; }

/* фильтры */
html.lmx-noirbar .noirAc__chips{ display:flex; flex-wrap:wrap; gap:8px; margin-bottom:14px; }
html.lmx-noirbar .noirAc__chip{
  padding:9px 15px; border-radius:9px; cursor:pointer;
  font-family:var(--noir-display); font-size:10px; letter-spacing:.1em;
  color:rgba(240,232,210,.55); background:rgba(16,17,20,.92);
  border:1px solid rgba(240,232,210,.14);
}
html.lmx-noirbar .noirAc__chip:hover{ color:var(--yellow); }
html.lmx-noirbar .noirAc__chip.is-on{
  color:var(--yellow); background:rgba(242,196,0,.09); border-color:rgba(242,196,0,.5);
}

/* карточки аксессуаров */
html.lmx-noirbar .noirAc__list{
  display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px;
}
@media (max-width:900px){ html.lmx-noirbar .noirAc__list{ grid-template-columns:minmax(0,1fr); } }
html.lmx-noirbar .noirAc__card{
  position:relative; display:flex; gap:14px; min-width:0; padding:14px 16px; border-radius:14px;
  background:rgba(16,17,20,.92); border:1px solid rgba(240,232,210,.09);
}
html.lmx-noirbar .noirAc__card[hidden]{ display:none; }
html.lmx-noirbar .noirAc__card.is-on{ border-color:rgba(242,196,0,.45); background:rgba(242,196,0,.05); }
html.lmx-noirbar .noirAc__card:not(.is-own){ opacity:.9; }
html.lmx-noirbar .noirAc__ok{
  position:absolute; right:12px; top:12px; width:24px; height:24px; border-radius:50%;
  display:flex; align-items:center; justify-content:center; font-size:12px; font-weight:700;
  color:#0d2a12; background:#4fbe62;
}
html.lmx-noirbar .noirAc__cardTxt{ flex:1; min-width:0; display:flex; flex-direction:column; }
html.lmx-noirbar .noirAc__cardSlot{
  font-family:var(--noir-display); font-size:8.5px; letter-spacing:.14em; color:rgba(240,232,210,.4);
}
html.lmx-noirbar .noirAc__cardName{
  margin-top:6px; font-size:15px; font-weight:700; color:#f5f1e6; line-height:1.25;
}
html.lmx-noirbar .noirAc__bon{
  margin-top:7px; font-size:11.5px; color:rgba(240,232,210,.55);
}
html.lmx-noirbar .noirAc__bon b{ color:var(--yellow); }
html.lmx-noirbar .noirAc__warn{ margin-top:7px; font-size:11px; color:rgba(255,110,110,.75); }
html.lmx-noirbar .noirAc__notown{
  margin-top:7px; font-family:var(--noir-display); font-size:9px; letter-spacing:.12em;
  color:rgba(240,232,210,.3);
}
html.lmx-noirbar .noirAc__cardBottom{
  display:flex; align-items:center; flex-wrap:wrap; gap:8px; margin-top:auto; padding-top:12px;
}
html.lmx-noirbar .noirAc__price{
  padding:6px 11px; border-radius:8px; font-size:11px; font-weight:700;
  color:#7fdc96; background:rgba(79,190,98,.1); border:1px solid rgba(79,190,98,.35);
}
html.lmx-noirbar .noirAc__price--rub{
  color:rgba(240,232,210,.6); background:rgba(255,255,255,.04);
  border-color:rgba(240,232,210,.16);
}
html.lmx-noirbar .noirAc__btn{
  margin-left:auto; padding:10px 16px; border-radius:9px; cursor:pointer; white-space:nowrap;
  font-family:var(--noir-display); font-size:10px; letter-spacing:.1em;
  color:var(--yellow); background:transparent; border:1px solid rgba(242,196,0,.45);
}
html.lmx-noirbar .noirAc__btn:hover{ background:rgba(242,196,0,.1); }
html.lmx-noirbar .noirAc__btn--y{
  color:#17130a; background:var(--yellow); border-color:var(--yellow); font-weight:700;
}
html.lmx-noirbar .noirAc__btn--y:hover{ background:#ffd633; }
html.lmx-noirbar .noirAc__btn + .noirAc__btn{ margin-left:8px; }
html.lmx-noirbar .noirAc__na{
  margin-left:auto; padding:10px 16px; border-radius:9px; white-space:nowrap;
  font-family:var(--noir-display); font-size:10px; letter-spacing:.1em;
  color:rgba(240,232,210,.35); background:rgba(255,255,255,.03);
  border:1px solid rgba(240,232,210,.12);
}
html.lmx-noirbar .noirAc__cardPic{
  flex:0 0 150px; width:150px; height:130px; display:flex; align-items:center; justify-content:center;
}
@media (max-width:520px){
  html.lmx-noirbar .noirAc__cardPic{ flex-basis:96px; width:96px; height:96px; }
}
html.lmx-noirbar .noirAc__cardPic img{ max-width:100%; max-height:100%; object-fit:contain; }
html.lmx-noirbar .noirAc__empty{
  padding:44px 20px; text-align:center; border-radius:14px;
  background:rgba(16,17,20,.92); border:1px solid rgba(240,232,210,.09);
}
html.lmx-noirbar .noirAc__empty div{ font-size:46px; margin-bottom:12px; }
html.lmx-noirbar .noirAc__empty b{
  display:block; font-family:var(--noir-display); font-size:15px; color:#f5f1e6; margin-bottom:8px;
}
html.lmx-noirbar .noirAc__empty span{ font-size:12.5px; color:rgba(240,232,210,.45); }

/* ============================================================
 * v131: КАТАЛОГ (#mypets, вкладка «Каталог») по референсу.
 * ============================================================ */
html.lmx-noirbar .noirCtSrc{ display:none !important; }
html.lmx-noirbar .noirCt{ max-width:1500px; margin:0 auto; padding:6px 10px 60px; }

html.lmx-noirbar .noirCt__head{ display:flex; align-items:center; gap:16px; margin-bottom:16px; }
html.lmx-noirbar .noirCt__h1{
  font-family:var(--noir-display); font-weight:700; font-size:30px; letter-spacing:.06em;
  color:#f5f1e6; line-height:1;
}
html.lmx-noirbar .noirCt__back{
  padding:8px 14px; border-radius:9px; cursor:pointer;
  font-family:var(--noir-display); font-size:10px; letter-spacing:.12em;
  color:rgba(240,232,210,.6); background:transparent; border:1px solid rgba(240,232,210,.18);
}
html.lmx-noirbar .noirCt__back:hover{ color:var(--yellow); border-color:rgba(242,196,0,.5); }
html.lmx-noirbar .noirCt__tabs{
  display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; margin-bottom:16px;
  padding:8px; border-radius:14px;
  background:rgba(16,17,20,.92); border:1px solid rgba(242,196,0,.22);
}
html.lmx-noirbar .noirCt__tab{
  padding:13px 10px; border-radius:9px; cursor:pointer;
  font-family:var(--noir-display); font-size:11px; letter-spacing:.12em;
  color:rgba(240,232,210,.6); background:transparent; border:0;
}
html.lmx-noirbar .noirCt__tab:hover{ color:var(--yellow); }
html.lmx-noirbar .noirCt__tab.is-on{
  color:#17130a; font-weight:700;
  background:url("assets/noir_bar.webp") center/100% 100% no-repeat, var(--yellow);
}

/* карточки каталога */
html.lmx-noirbar .noirCt__list{
  display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px;
}
@media (max-width:900px){ html.lmx-noirbar .noirCt__list{ grid-template-columns:minmax(0,1fr); } }
html.lmx-noirbar .noirCt__card{
  display:flex; gap:16px; min-width:0; padding:14px 16px; border-radius:14px; cursor:pointer;
  background:rgba(16,17,20,.92); border:1px solid rgba(240,232,210,.09);
}
html.lmx-noirbar .noirCt__card:hover{ border-color:rgba(242,196,0,.4); }
html.lmx-noirbar .noirCt__card.is-own{ border-color:rgba(79,190,98,.28); }
html.lmx-noirbar .noirCt__pic{
  position:relative; flex:0 0 172px; width:172px; height:172px; border-radius:12px;
  display:flex; align-items:center; justify-content:center; overflow:hidden;
  background:#0b0b0d; border:1px solid rgba(242,196,0,.18);
}
@media (max-width:520px){
  html.lmx-noirbar .noirCt__pic{ flex-basis:110px; width:110px; height:110px; }
}
html.lmx-noirbar .noirCt__pic img{ max-width:100%; max-height:100%; object-fit:contain; }
html.lmx-noirbar .noirCt__no{ font-size:38px; opacity:.3; }
html.lmx-noirbar .noirCt__ok{
  position:absolute; right:8px; top:8px; width:22px; height:22px; border-radius:50%;
  display:flex; align-items:center; justify-content:center; font-size:11px; font-weight:700;
  color:#0d2a12; background:#4fbe62;
}
html.lmx-noirbar .noirCt__txt{ flex:1; min-width:0; display:flex; flex-direction:column; }
html.lmx-noirbar .noirCt__name{
  font-family:var(--noir-display); font-size:19px; color:#f5f1e6; line-height:1.15;
}
html.lmx-noirbar .noirCt__desc{
  margin-top:9px; font-size:12px; line-height:1.5; color:rgba(240,232,210,.5);
  display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden;
}
html.lmx-noirbar .noirCt__st{
  margin-top:10px; font-size:11px; color:rgba(240,232,210,.35);
}
html.lmx-noirbar .noirCt__own{
  margin-top:auto; padding-top:12px; font-family:var(--noir-display); font-size:11px;
  letter-spacing:.1em; color:#7fdc96;
}
html.lmx-noirbar .noirCt__lock{
  margin-top:auto; padding:10px 12px; border-radius:10px;
  font-family:var(--noir-display); font-size:9.5px; letter-spacing:.08em; line-height:1.5;
  color:var(--yellow); background:rgba(242,196,0,.06); border:1px solid rgba(242,196,0,.3);
}
html.lmx-noirbar .noirCt__buy{
  display:flex; align-items:center; flex-wrap:wrap; gap:8px; margin-top:auto; padding-top:12px;
}
html.lmx-noirbar .noirCt__price{
  padding:6px 11px; border-radius:8px; font-size:11px; font-weight:700;
  color:#7fdc96; background:rgba(79,190,98,.1); border:1px solid rgba(79,190,98,.35);
}
html.lmx-noirbar .noirCt__price--rub{
  color:rgba(240,232,210,.6); background:rgba(255,255,255,.04);
  border-color:rgba(240,232,210,.16);
}
html.lmx-noirbar .noirCt__go{
  margin-left:auto; font-family:var(--noir-display); font-size:10px; letter-spacing:.1em;
  color:var(--yellow);
}
html.lmx-noirbar .noirCt__empty{
  padding:44px 20px; text-align:center; border-radius:14px;
  background:rgba(16,17,20,.92); border:1px solid rgba(240,232,210,.09);
}
html.lmx-noirbar .noirCt__empty div{ font-size:46px; margin-bottom:12px; }
html.lmx-noirbar .noirCt__empty b{
  display:block; font-family:var(--noir-display); font-size:15px; color:#f5f1e6; margin-bottom:8px;
}
html.lmx-noirbar .noirCt__empty span{ font-size:12.5px; color:rgba(240,232,210,.45); }

/* ============================================================
 * v132: НАГРАДЫ (#achievements) по референсу.
 * ============================================================ */
html.lmx-noirbar .noirAwSrc{ display:none !important; }
html.lmx-noirbar .noirAw{
  max-width:1500px; margin:0 auto; padding:6px 10px 60px;
  --awr-common:#c9a227; --awr-rare:#4aa8ff; --awr-epic:#b06cff;
  --awr-legendary:#ff9d2e; --awr-event:#4fbe62;
}

/* шапка */
html.lmx-noirbar .noirAw__head{
  display:flex; align-items:center; gap:24px; flex-wrap:wrap; margin-bottom:18px;
}
html.lmx-noirbar .noirAw__h1{
  font-family:var(--noir-display); font-weight:700; font-size:34px; letter-spacing:.06em;
  color:#f5f1e6; line-height:1;
}
html.lmx-noirbar .noirAw__sub{ margin-top:6px; font-size:12.5px; color:rgba(240,232,210,.45); }
html.lmx-noirbar .noirAw__prog{ flex:1; min-width:260px; }
html.lmx-noirbar .noirAw__progTop{ font-size:13px; color:rgba(240,232,210,.55); }
html.lmx-noirbar .noirAw__progTop b{ color:var(--yellow); font-size:15px; }
html.lmx-noirbar .noirAw__progRow{ display:flex; align-items:center; gap:12px; margin-top:8px; }
html.lmx-noirbar .noirAw__bar{
  flex:1; height:12px; border-radius:100px; overflow:hidden;
  background:rgba(240,232,210,.08); border:1px solid rgba(240,232,210,.08);
}
html.lmx-noirbar .noirAw__bar i{ display:block; height:100%; width:0; background:var(--yellow); }
html.lmx-noirbar .noirAw__pct{
  font-family:var(--noir-display); font-size:14px; color:var(--yellow);
}
html.lmx-noirbar .noirAw__back{
  padding:9px 15px; border-radius:9px; cursor:pointer;
  font-family:var(--noir-display); font-size:10px; letter-spacing:.12em;
  color:rgba(240,232,210,.6); background:transparent; border:1px solid rgba(240,232,210,.18);
}
html.lmx-noirbar .noirAw__back:hover{ color:var(--yellow); border-color:rgba(242,196,0,.5); }

/* сетка экрана */
html.lmx-noirbar .noirAw__grid2{
  display:grid; grid-template-columns:minmax(0,1fr) 330px; gap:16px; align-items:start;
}
@media (max-width:1180px){ html.lmx-noirbar .noirAw__grid2{ grid-template-columns:minmax(0,1fr); } }
html.lmx-noirbar .noirAw__main{ min-width:0; display:flex; flex-direction:column; gap:16px; }
html.lmx-noirbar .noirAw__rail{ min-width:0; display:flex; flex-direction:column; gap:16px; }

/* плашки категорий */
html.lmx-noirbar .noirAw__cats{
  display:grid; grid-template-columns:repeat(auto-fit,minmax(170px,1fr)); gap:12px;
}
html.lmx-noirbar .noirAw__cat{
  display:flex; align-items:center; gap:12px; padding:14px 16px; border-radius:12px;
  background:rgba(16,17,20,.92); border:1px solid rgba(242,196,0,.22);
}
html.lmx-noirbar .noirAw__cat span{ font-size:20px; opacity:.85; }
html.lmx-noirbar .noirAw__cat b{
  display:block; font-family:var(--noir-display); font-size:11px; letter-spacing:.12em;
  color:var(--yellow);
}
html.lmx-noirbar .noirAw__cat i{
  display:block; margin-top:5px; font-style:normal; font-size:13px; color:rgba(240,232,210,.55);
}

/* фильтры и код */
html.lmx-noirbar .noirAw__tools{
  display:flex; align-items:center; justify-content:space-between; gap:14px; flex-wrap:wrap;
}
html.lmx-noirbar .noirAw__chips{ display:flex; flex-wrap:wrap; gap:8px; }
html.lmx-noirbar .noirAw__chip{
  padding:10px 15px; border-radius:9px; cursor:pointer;
  font-family:var(--noir-display); font-size:10px; letter-spacing:.1em;
  color:rgba(240,232,210,.55); background:rgba(16,17,20,.92);
  border:1px solid rgba(240,232,210,.14);
}
html.lmx-noirbar .noirAw__chip:hover{ color:var(--yellow); }
html.lmx-noirbar .noirAw__chip.is-on{
  color:#17130a; font-weight:700; background:var(--yellow); border-color:var(--yellow);
}
html.lmx-noirbar .noirAw__code{ display:flex; gap:10px; align-items:stretch; min-width:320px; flex:1; }
html.lmx-noirbar .noirAw__code[hidden]{ display:none; }
html.lmx-noirbar .noirAw__field{ flex:1; min-width:0; }
html.lmx-noirbar .noirAw__field input{
  width:100%; padding:12px 14px !important; border-radius:10px !important; margin:0 !important;
  font-size:13px !important; color:#f5f1e6 !important; box-sizing:border-box;
  background:rgba(0,0,0,.4) !important; border:1px solid rgba(240,232,210,.14) !important;
}
html.lmx-noirbar .noirAw__field input:focus{ border-color:rgba(242,196,0,.55) !important; outline:none; }
html.lmx-noirbar .noirAw__btn{
  padding:12px 18px; border-radius:10px; cursor:pointer; white-space:nowrap;
  font-family:var(--noir-display); font-size:10px; letter-spacing:.1em;
  color:var(--yellow); background:transparent; border:1px solid rgba(242,196,0,.45);
}
html.lmx-noirbar .noirAw__btn--y{
  color:#17130a; background:var(--yellow); border-color:var(--yellow); font-weight:700;
}
html.lmx-noirbar .noirAw__btn--y:hover{ background:#ffd633; }

/* секции наград */
html.lmx-noirbar .noirAw__sec{ margin-bottom:6px; }
html.lmx-noirbar .noirAw__secHead{
  display:flex; align-items:center; gap:14px; margin-bottom:12px;
  font-family:var(--noir-display); font-size:13px; letter-spacing:.1em; color:#f5f1e6;
}
html.lmx-noirbar .noirAw__secHead i{ flex:1; height:1px; background:rgba(242,196,0,.22); }
html.lmx-noirbar .noirAw__secHead b{ font-size:12px; color:rgba(240,232,210,.45); }
html.lmx-noirbar .noirAw__grid{
  display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:12px;
}
@media (max-width:1400px){ html.lmx-noirbar .noirAw__grid{ grid-template-columns:repeat(4,minmax(0,1fr)); } }
@media (max-width:820px){ html.lmx-noirbar .noirAw__grid{ grid-template-columns:repeat(2,minmax(0,1fr)); } }
/* по умолчанию показываем первый ряд с небольшим запасом */
html.lmx-noirbar .noirAw__secs:not(.is-open) .noirAw__grid > *:nth-child(n+7){ display:none; }
@media (max-width:1400px){
  html.lmx-noirbar .noirAw__secs:not(.is-open) .noirAw__grid > *:nth-child(n+5){ display:none; }
}
@media (max-width:820px){
  html.lmx-noirbar .noirAw__secs:not(.is-open) .noirAw__grid > *:nth-child(n+3){ display:none; }
}
html.lmx-noirbar .noirAw__it{
  position:relative; min-width:0; padding:14px 12px 12px; border-radius:13px; cursor:pointer;
  text-align:center; background:rgba(16,17,20,.92); border:1px solid rgba(240,232,210,.09);
  display:flex; flex-direction:column; align-items:center;
}
html.lmx-noirbar .noirAw__it.is-on{ border-color:rgba(242,196,0,.4); background:rgba(242,196,0,.05); }
html.lmx-noirbar .noirAw__it:hover{ border-color:rgba(242,196,0,.55); }
html.lmx-noirbar .noirAw__flag{
  position:absolute; right:9px; top:9px; font-size:11px; color:rgba(240,232,210,.3);
}
html.lmx-noirbar .noirAw__it.is-on .noirAw__flag{ color:var(--yellow); }
html.lmx-noirbar .noirAw__ico{
  width:72px; height:72px; border-radius:50%; overflow:hidden; margin-bottom:10px;
  display:flex; align-items:center; justify-content:center;
  background:rgba(0,0,0,.4); border:1px solid rgba(242,196,0,.3);
}
html.lmx-noirbar .noirAw__it:not(.is-on) .noirAw__ico{ border-color:rgba(240,232,210,.12); }
html.lmx-noirbar .noirAw__ico img,
html.lmx-noirbar .noirAw__ico svg{ width:100%; height:100%; object-fit:cover; }
html.lmx-noirbar .noirAw__ico u{ text-decoration:none; font-size:26px; }
html.lmx-noirbar .noirAw__it:not(.is-on) .noirAw__ico img{ filter:grayscale(1) brightness(.5); }
/* закрытая награда без своей «закрытой» картинки — открытую под вуаль */
html.lmx-noirbar .noirAw__it.is-veil .noirAw__ico{ position:relative; }
html.lmx-noirbar .noirAw__it.is-veil .noirAw__ico img{
  filter:grayscale(1) brightness(.3) contrast(1.15) blur(2px);
}
html.lmx-noirbar .noirAw__it.is-veil .noirAw__ico::after{
  content:'🔒'; position:absolute; inset:0; border-radius:inherit;
  display:flex; align-items:center; justify-content:center;
  font-size:22px; color:rgba(240,232,210,.34);
  background:
    radial-gradient(circle at 50% 40%, rgba(0,0,0,.35), rgba(0,0,0,.6) 70%),
    repeating-linear-gradient(135deg, rgba(240,232,210,.05) 0 3px, rgba(0,0,0,0) 3px 6px);
}
html.lmx-noirbar .noirAw__name{
  font-size:12.5px; font-weight:700; color:#f5f1e6; line-height:1.3;
}
html.lmx-noirbar .noirAw__it:not(.is-on) .noirAw__name{ color:rgba(240,232,210,.45); }
html.lmx-noirbar .noirAw__desc{
  margin-top:6px; font-size:10.5px; line-height:1.45; color:rgba(240,232,210,.4);
  display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden;
}
html.lmx-noirbar .noirAw__rar{
  margin-top:auto; padding-top:10px; font-family:var(--noir-display);
  font-size:8.5px; letter-spacing:.1em;
}
html.lmx-noirbar .noirAw__rar--common{ color:var(--awr-common); }
html.lmx-noirbar .noirAw__rar--rare{ color:var(--awr-rare); }
html.lmx-noirbar .noirAw__rar--epic{ color:var(--awr-epic); }
html.lmx-noirbar .noirAw__rar--legendary{ color:var(--awr-legendary); }
html.lmx-noirbar .noirAw__rar--event{ color:var(--awr-event); }
html.lmx-noirbar .noirAw__more{
  width:100%; padding:15px; border-radius:12px; cursor:pointer;
  font-family:var(--noir-display); font-size:11px; letter-spacing:.12em;
  color:var(--yellow); background:rgba(242,196,0,.05); border:1px solid rgba(242,196,0,.35);
}
html.lmx-noirbar .noirAw__more:hover{ background:rgba(242,196,0,.12); }
html.lmx-noirbar .noirAw__more[hidden]{ display:none; }
html.lmx-noirbar .noirAw__empty{
  padding:36px 20px; text-align:center; border-radius:13px; font-size:13px;
  color:rgba(240,232,210,.45); background:rgba(16,17,20,.92);
  border:1px solid rgba(240,232,210,.09);
}

/* правая рейка */
html.lmx-noirbar .noirAw__panel{
  min-width:0; padding:16px; border-radius:13px;
  background:rgba(16,17,20,.92); border:1px solid rgba(242,196,0,.25);
}
html.lmx-noirbar .noirAw__panel[hidden]{ display:none; }
html.lmx-noirbar .noirAw__pHead{
  margin-bottom:12px; font-family:var(--noir-display); font-size:11px; letter-spacing:.14em;
  color:var(--yellow);
}
html.lmx-noirbar .noirAw__ring{ display:flex; align-items:center; gap:16px; }
html.lmx-noirbar .noirAw__donut{
  position:relative; flex:0 0 112px; width:112px; height:112px; border-radius:50%;
  display:flex; align-items:center; justify-content:center;
}
html.lmx-noirbar .noirAw__donut::after{
  content:''; position:absolute; inset:16px; border-radius:50%; background:#121316;
}
html.lmx-noirbar .noirAw__donut span{
  position:relative; z-index:1; text-align:center; line-height:1.1;
}
html.lmx-noirbar .noirAw__donut b{
  display:block; font-family:var(--noir-display); font-size:22px; color:#f5f1e6;
}
html.lmx-noirbar .noirAw__donut i{ font-style:normal; font-size:9.5px; color:rgba(240,232,210,.45); }
html.lmx-noirbar .noirAw__leg{ flex:1; min-width:0; }
html.lmx-noirbar .noirAw__legRow{
  display:flex; align-items:center; gap:8px; padding:4px 0; font-size:11.5px;
  color:rgba(240,232,210,.55);
}
html.lmx-noirbar .noirAw__legRow span{ flex:1; min-width:0; }
html.lmx-noirbar .noirAw__legRow b{ color:rgba(240,232,210,.75); font-size:11.5px; }
html.lmx-noirbar .noirAw__dot{ width:9px; height:9px; border-radius:50%; flex:0 0 auto; }
html.lmx-noirbar .noirAw__dot--common{ background:var(--awr-common); }
html.lmx-noirbar .noirAw__dot--rare{ background:var(--awr-rare); }
html.lmx-noirbar .noirAw__dot--epic{ background:var(--awr-epic); }
html.lmx-noirbar .noirAw__dot--legendary{ background:var(--awr-legendary); }
html.lmx-noirbar .noirAw__dot--event{ background:var(--awr-event); }
html.lmx-noirbar .noirAw__statTxt{
  margin-top:14px; font-size:11.5px; color:rgba(240,232,210,.45);
}
html.lmx-noirbar .noirAw__statTxt b{ color:var(--yellow); font-size:14px; }
html.lmx-noirbar .noirAw__how{
  display:flex; align-items:flex-start; gap:10px; padding:7px 0;
  font-size:11.5px; line-height:1.5; color:rgba(240,232,210,.55);
}
html.lmx-noirbar .noirAw__how i{ font-style:normal; min-width:0; }
html.lmx-noirbar .noirAw__nextRow{ display:flex; align-items:center; gap:12px; }
html.lmx-noirbar .noirAw__nextRow .noirAw__ico{ flex:0 0 58px; width:58px; height:58px; margin:0; }
html.lmx-noirbar .noirAw__nextTxt{ min-width:0; }
html.lmx-noirbar .noirAw__nextTxt b{
  display:block; font-size:13px; color:#f5f1e6; line-height:1.25;
}
html.lmx-noirbar .noirAw__nextTxt .noirAw__rar{ display:block; margin:5px 0 0; padding:0; }
html.lmx-noirbar .noirAw__nextTxt i{
  display:block; margin-top:6px; font-style:normal; font-size:11px; line-height:1.45;
  color:rgba(240,232,210,.45);
}
html.lmx-noirbar .noirAw__spikeRow{ display:flex; align-items:flex-start; gap:12px; }
html.lmx-noirbar .noirAw__spikeImg{
  flex:0 0 58px; width:58px; height:58px; border-radius:50%; object-fit:cover;
  border:1px solid rgba(242,196,0,.3);
}
html.lmx-noirbar .noirAw__quote{
  min-width:0; font-size:11.5px; line-height:1.55; font-style:italic;
  color:rgba(240,232,210,.55);
}

/* ============================================================
 * v133: ШПАРГАЛКИ ДЕТЕКТИВА — окно коллекции по референсу.
 * Инлайновые стили оверлея ставит app.js — перебиваем !important.
 * ============================================================ */
html.lmx-noirbar #csCollOverlay.noirCsOv{
  align-items:center !important; justify-content:center !important;
  padding:24px !important; background:rgba(0,0,0,.86) !important;
}
html.lmx-noirbar .noirCsHide{ display:none !important; }
html.lmx-noirbar .noirCs{
  position:relative; width:min(1500px,96vw); max-height:92vh; overflow-y:auto;
  padding:22px 24px 26px; border-radius:16px;
  background:url("assets/noir_card.webp") no-repeat center; background-size:100% 100%;
  box-shadow:0 30px 80px rgba(0,0,0,.7);
  animation:noirPetIn .22s cubic-bezier(.34,1.2,.64,1);
}
html.lmx-noirbar .noirCs::-webkit-scrollbar{ display:none; }
html.lmx-noirbar .noirCs__x{
  position:absolute; right:16px; top:16px; z-index:2; width:34px; height:34px; border-radius:50%;
  cursor:pointer; font-size:15px; color:#f5f1e6;
  background:rgba(0,0,0,.5); border:1px solid rgba(240,232,210,.18);
}
html.lmx-noirbar .noirCs__x:hover{ border-color:rgba(242,196,0,.5); color:var(--yellow); }
html.lmx-noirbar .noirCs__grid2{
  display:grid; grid-template-columns:minmax(0,1fr) 320px; gap:16px; align-items:start;
}
@media (max-width:1180px){ html.lmx-noirbar .noirCs__grid2{ grid-template-columns:minmax(0,1fr); } }
html.lmx-noirbar .noirCs__main{ min-width:0; display:flex; flex-direction:column; gap:14px; }
html.lmx-noirbar .noirCs__rail{ min-width:0; display:flex; flex-direction:column; gap:14px; }

/* шапка */
html.lmx-noirbar .noirCs__hero{ display:flex; align-items:flex-start; gap:16px; padding-right:44px; }
html.lmx-noirbar .noirCs__heroIco{
  flex:0 0 auto; width:58px; height:58px; border-radius:12px;
  display:flex; align-items:center; justify-content:center; font-size:26px;
  background:rgba(0,0,0,.4); border:1px solid rgba(242,196,0,.3);
}
html.lmx-noirbar .noirCs__heroTxt{ min-width:0; flex:1; }
html.lmx-noirbar .noirCs__h1{
  font-family:var(--noir-display); font-weight:700; font-size:30px; letter-spacing:.05em;
  color:#f5f1e6; line-height:1.05;
}
html.lmx-noirbar .noirCs__sub{ margin-top:7px; font-size:12.5px; color:rgba(240,232,210,.5); }
html.lmx-noirbar .noirCs__progRow{
  display:flex; align-items:center; gap:12px; margin-top:12px; flex-wrap:wrap;
  font-size:12.5px; color:rgba(240,232,210,.55);
}
html.lmx-noirbar .noirCs__progRow b{ color:var(--yellow); }
html.lmx-noirbar .noirCs__bar{
  flex:1; min-width:160px; height:10px; border-radius:100px; overflow:hidden;
  background:rgba(240,232,210,.08); border:1px solid rgba(240,232,210,.08);
}
html.lmx-noirbar .noirCs__bar i{ display:block; height:100%; width:0; background:var(--yellow); }
html.lmx-noirbar .noirCs__pct{ font-family:var(--noir-display); color:var(--yellow); }

/* код */
html.lmx-noirbar .noirCs__code{
  padding:16px 18px; border-radius:13px;
  background:rgba(242,196,0,.05); border:1px solid rgba(242,196,0,.32);
}
html.lmx-noirbar .noirCs__codeHead{
  margin-bottom:10px; font-family:var(--noir-display); font-size:11px; letter-spacing:.13em;
  color:var(--yellow);
}
html.lmx-noirbar .noirCs__codeRow{ display:flex; gap:12px; align-items:stretch; }
html.lmx-noirbar .noirCs__field{ flex:1; min-width:0; }
html.lmx-noirbar .noirCs__field input{
  width:100%; box-sizing:border-box;
  padding:14px 16px !important; border-radius:11px !important; font-size:13px !important;
  background:rgba(0,0,0,.45) !important; border:1px solid rgba(240,232,210,.16) !important;
  color:#f5f1e6 !important;
}
html.lmx-noirbar .noirCs__field input:focus{ border-color:rgba(242,196,0,.6) !important; }
html.lmx-noirbar .noirCs__btnSlot button{
  padding:14px 26px !important; border-radius:11px !important;
  font-family:var(--noir-display) !important; font-size:11px !important; letter-spacing:.1em !important;
  background:var(--yellow) !important; color:#17130a !important; border:0 !important;
  cursor:pointer;
}
html.lmx-noirbar .noirCs__statusSlot{ min-height:0; }
html.lmx-noirbar .noirCs__statusSlot > div{ margin-top:8px !important; font-size:12px !important; }
html.lmx-noirbar .noirCs__hint{
  margin-top:10px; font-size:11.5px; color:rgba(240,232,210,.4);
}

/* фильтры и поиск */
html.lmx-noirbar .noirCs__tools{
  display:flex; align-items:center; justify-content:space-between; gap:12px; flex-wrap:wrap;
}
html.lmx-noirbar .noirCs__chips{ display:flex; flex-wrap:wrap; gap:8px; }
html.lmx-noirbar .noirCs__chip{
  padding:9px 15px; border-radius:9px; cursor:pointer;
  font-family:var(--noir-display); font-size:10px; letter-spacing:.1em;
  color:rgba(240,232,210,.55); background:rgba(0,0,0,.35);
  border:1px solid rgba(240,232,210,.14);
}
html.lmx-noirbar .noirCs__chip:hover{ color:var(--yellow); }
html.lmx-noirbar .noirCs__chip.is-on{
  color:var(--yellow); background:rgba(242,196,0,.09); border-color:rgba(242,196,0,.5);
}
html.lmx-noirbar .noirCs__search{
  display:flex; align-items:center; gap:8px; min-width:240px; flex:0 1 300px;
  padding:0 12px; border-radius:9px; font-size:12px; color:rgba(240,232,210,.4);
  background:rgba(0,0,0,.35); border:1px solid rgba(240,232,210,.14);
}
html.lmx-noirbar .noirCs__search input{
  flex:1; min-width:0; padding:10px 0; font-size:12.5px; color:#f5f1e6;
  background:none; border:0; outline:none;
}

/* карточки */
html.lmx-noirbar .noirCs__list{
  display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px;
}
@media (max-width:1100px){ html.lmx-noirbar .noirCs__list{ grid-template-columns:repeat(3,minmax(0,1fr)); } }
@media (max-width:760px){ html.lmx-noirbar .noirCs__list{ grid-template-columns:repeat(2,minmax(0,1fr)); } }
html.lmx-noirbar .noirCs__card{
  position:relative; min-width:0; display:flex; flex-direction:column; overflow:hidden;
  border-radius:12px; background:rgba(10,10,12,.9); border:1px solid rgba(240,232,210,.1);
}
html.lmx-noirbar .noirCs__card.is-on{ border-color:rgba(242,196,0,.45); cursor:pointer; }
html.lmx-noirbar .noirCs__card.is-on:hover{ border-color:var(--yellow); }
html.lmx-noirbar .noirCs__cardTop{
  display:flex; align-items:flex-start; justify-content:space-between; gap:8px;
  padding:11px 12px 0;
}
html.lmx-noirbar .noirCs__ttl{
  font-family:var(--noir-display); font-size:12px; letter-spacing:.06em; line-height:1.3;
  color:rgba(240,232,210,.55);
  display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden;
}
html.lmx-noirbar .noirCs__card.is-on .noirCs__ttl{ color:#f5f1e6; }
html.lmx-noirbar .noirCs__eye{
  flex:0 0 auto; width:22px; height:22px; border-radius:50%; font-size:11px;
  display:flex; align-items:center; justify-content:center;
  background:rgba(242,196,0,.15); border:1px solid rgba(242,196,0,.5);
}
html.lmx-noirbar .noirCs__pic{
  height:132px; margin:10px 0 0; display:flex; align-items:center; justify-content:center;
  overflow:hidden;
}
html.lmx-noirbar .noirCs__pic img{ width:100%; height:100%; object-fit:cover; display:block; }
html.lmx-noirbar .noirCs__card:not(.is-on) .noirCs__pic img{ filter:grayscale(1) brightness(.5); }
html.lmx-noirbar .noirCs__no{ font-size:34px; opacity:.2; }
html.lmx-noirbar .noirCs__st{
  padding:9px 12px; font-family:var(--noir-display); font-size:8.5px; letter-spacing:.1em;
  color:rgba(240,232,210,.4); border-top:1px solid rgba(240,232,210,.07);
  background:rgba(0,0,0,.4);
}
html.lmx-noirbar .noirCs__st b{ color:var(--yellow); font-weight:400; }
html.lmx-noirbar .noirCs__empty{
  grid-column:1 / -1; padding:34px 20px; text-align:center; font-size:13px;
  color:rgba(240,232,210,.45); border-radius:12px;
  background:rgba(0,0,0,.35); border:1px solid rgba(240,232,210,.08);
}

/* правая рейка */
html.lmx-noirbar .noirCs__panel{
  min-width:0; padding:16px; border-radius:13px;
  background:rgba(10,10,12,.86); border:1px solid rgba(242,196,0,.28);
}
html.lmx-noirbar .noirCs__pHead{
  margin-bottom:12px; font-family:var(--noir-display); font-size:11px; letter-spacing:.14em;
  color:var(--yellow);
}
html.lmx-noirbar .noirCs__body p{
  margin:0; font-size:12px; line-height:1.55; color:rgba(240,232,210,.55);
}
html.lmx-noirbar .noirCs__railLbl{
  margin-top:14px; font-size:11px; color:rgba(240,232,210,.4);
}
html.lmx-noirbar .noirCs__railGot{
  margin-top:4px; font-family:var(--noir-display); font-size:22px; color:var(--yellow);
}
html.lmx-noirbar .noirCs__how{
  display:flex; align-items:flex-start; gap:10px; padding:7px 0;
  font-size:11.5px; line-height:1.5; color:rgba(240,232,210,.55);
}
html.lmx-noirbar .noirCs__how i{ font-style:normal; min-width:0; }
html.lmx-noirbar .noirCs__spikeRow{ display:flex; align-items:flex-start; gap:12px; }
html.lmx-noirbar .noirCs__spikeImg{
  flex:0 0 56px; width:56px; height:56px; border-radius:50%; object-fit:cover;
  border:1px solid rgba(242,196,0,.3);
}
html.lmx-noirbar .noirCs__quote{
  min-width:0; font-size:11.5px; line-height:1.55; font-style:italic; color:rgba(240,232,210,.55);
}

/* ---------- карточка одной шпаргалки ---------- */
html.lmx-noirbar #csCollOverlay.noirCsOv,
html.lmx-noirbar #csDetailOverlay.noirCsDOv{
  position:fixed !important; inset:0 !important; z-index:9800 !important;
}
html.lmx-noirbar #csDetailOverlay.noirCsDOv{
  display:flex !important; align-items:center !important; justify-content:center !important;
  padding:24px !important; background:rgba(0,0,0,.88) !important;
}
html.lmx-noirbar .noirCsD{
  display:flex; flex-direction:column; width:min(900px,94vw); max-height:92vh; overflow:hidden;
  border-radius:16px;
  background:url("assets/noir_card.webp") no-repeat center; background-size:100% 100%;
  box-shadow:0 30px 80px rgba(0,0,0,.7);
  animation:noirPetIn .22s cubic-bezier(.34,1.2,.64,1);
}
html.lmx-noirbar .noirCsD__head{
  flex:0 0 auto; padding:16px 20px !important;
  border-bottom:1px solid rgba(242,196,0,.2) !important;
}
html.lmx-noirbar .noirCsD__head > div > div:first-child{
  font-family:var(--noir-display); letter-spacing:.16em !important; color:var(--yellow) !important;
}
html.lmx-noirbar .noirCsD__head > div > div:last-child{
  font-family:var(--noir-display); font-size:20px !important; color:#f5f1e6;
}
html.lmx-noirbar .noirCsD__head button{
  border-radius:50% !important; background:rgba(0,0,0,.5) !important;
  border:1px solid rgba(240,232,210,.18) !important;
}
html.lmx-noirbar .noirCsD__head button:hover{
  border-color:rgba(242,196,0,.5) !important; color:var(--yellow) !important;
}
html.lmx-noirbar .noirCsD__body{
  flex:1 1 auto; min-height:0; overflow-y:auto; padding:20px !important; text-align:center;
}
html.lmx-noirbar .noirCsD__body::-webkit-scrollbar{ width:8px; }
html.lmx-noirbar .noirCsD__body img{
  width:auto !important; max-width:100% !important; max-height:64vh !important;
  margin:0 auto 8px !important; object-fit:contain;
}
html.lmx-noirbar .noirCsD__body > div{ text-align:left; }

/* ============================================================
 * v135: ВЕЩДОКИ — окно коллекции по референсу.
 * ============================================================ */
html.lmx-noirbar #evCollOverlay.noirEvOv{
  position:fixed !important; inset:0 !important; z-index:9800 !important;
  display:flex !important; align-items:center !important; justify-content:center !important;
  padding:24px !important; background:rgba(0,0,0,.88) !important;
}
html.lmx-noirbar .noirEvHide{ display:none !important; }
html.lmx-noirbar .noirEv{
  position:relative; width:min(1180px,95vw); max-height:92vh; overflow-y:auto;
  padding:24px 28px 22px; border-radius:16px;
  background:url("assets/noir_card.webp") no-repeat center; background-size:100% 100%;
  box-shadow:0 30px 80px rgba(0,0,0,.7);
  animation:noirPetIn .22s cubic-bezier(.34,1.2,.64,1);
}
html.lmx-noirbar .noirEv::-webkit-scrollbar{ display:none; }
html.lmx-noirbar .noirEv__x{
  position:absolute; right:18px; top:18px; width:36px; height:36px; border-radius:50%;
  cursor:pointer; font-size:16px; color:#f5f1e6;
  background:rgba(0,0,0,.5); border:1px solid rgba(240,232,210,.18);
}
html.lmx-noirbar .noirEv__x:hover{ color:var(--yellow); border-color:rgba(242,196,0,.5); }
html.lmx-noirbar .noirEv__lbl{
  font-family:var(--noir-display); font-size:10px; letter-spacing:.18em; color:var(--yellow);
}
html.lmx-noirbar .noirEv__h1{
  margin-top:8px; font-family:var(--noir-display); font-weight:700; font-size:30px;
  letter-spacing:.05em; color:#f5f1e6; line-height:1.05; padding-right:50px;
}
html.lmx-noirbar .noirEv__got{ margin-top:10px; font-size:16px; color:rgba(240,232,210,.6); }
html.lmx-noirbar .noirEv__got b{ color:var(--yellow); }
html.lmx-noirbar .noirEv__bonus{
  display:flex; align-items:center; gap:14px; margin:16px 0 18px; padding:13px 16px;
  border-radius:11px; background:rgba(255,255,255,.02); border:1px solid rgba(242,196,0,.28);
}
html.lmx-noirbar .noirEv__bonus span{
  flex:0 0 auto; padding:5px 11px; border-radius:7px;
  font-family:var(--noir-display); font-size:9.5px; letter-spacing:.12em;
  color:var(--yellow); border:1px solid rgba(242,196,0,.45);
}
html.lmx-noirbar .noirEv__bonus i{ font-style:normal; font-size:13px; color:rgba(240,232,210,.6); }
html.lmx-noirbar .noirEv__grid2{
  display:grid; grid-template-columns:minmax(0,1fr) 300px; gap:16px; align-items:start;
}
@media (max-width:1000px){ html.lmx-noirbar .noirEv__grid2{ grid-template-columns:minmax(0,1fr); } }
html.lmx-noirbar .noirEv__slots{
  display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px;
}
@media (max-width:700px){ html.lmx-noirbar .noirEv__slots{ grid-template-columns:repeat(2,minmax(0,1fr)); } }
html.lmx-noirbar .noirEv__slot{
  position:relative; min-width:0; padding:14px; border-radius:13px; text-align:center;
  background:rgba(8,6,1,.75); border:1px solid rgba(240,232,210,.1);
}
html.lmx-noirbar .noirEv__slot.is-on{
  cursor:pointer; border-color:rgba(242,196,0,.5); box-shadow:0 0 0 1px rgba(242,196,0,.12) inset;
}
html.lmx-noirbar .noirEv__slot.is-on:hover{ border-color:var(--yellow); }
html.lmx-noirbar .noirEv__pic{
  height:180px; display:flex; align-items:center; justify-content:center; overflow:hidden;
  border-radius:10px;
}
html.lmx-noirbar .noirEv__pic img{ width:100%; height:100%; object-fit:cover; display:block; }
html.lmx-noirbar .noirEv__mag{ font-size:44px; opacity:.18; }
html.lmx-noirbar .noirEv__num{
  margin-top:12px; font-family:var(--noir-display); font-size:15px; color:rgba(240,232,210,.5);
}
html.lmx-noirbar .noirEv__slot.is-on .noirEv__num{ color:var(--yellow); }
html.lmx-noirbar .noirEv__miss{ margin-top:5px; font-size:11.5px; color:rgba(240,232,210,.28); }
html.lmx-noirbar .noirEv__ttl{
  margin-top:5px; font-size:12px; color:rgba(240,232,210,.7);
  white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
}
html.lmx-noirbar .noirEv__ok{
  position:absolute; right:10px; top:10px; width:22px; height:22px; border-radius:50%;
  display:flex; align-items:center; justify-content:center; font-size:11px; font-weight:700;
  color:#17130a; background:var(--yellow);
}
html.lmx-noirbar .noirEv__rail{ min-width:0; display:flex; flex-direction:column; gap:14px; }
html.lmx-noirbar .noirEv__panel{
  padding:15px; border-radius:12px;
  background:rgba(8,6,1,.7); border:1px solid rgba(242,196,0,.28);
}
html.lmx-noirbar .noirEv__pHead{
  margin-bottom:12px; font-family:var(--noir-display); font-size:11px; letter-spacing:.13em;
  color:var(--yellow);
}
html.lmx-noirbar .noirEv__step{
  display:flex; align-items:flex-start; gap:11px; padding:7px 0;
}
html.lmx-noirbar .noirEv__step em{
  flex:0 0 auto; width:24px; height:24px; border-radius:50%; font-style:normal;
  display:flex; align-items:center; justify-content:center; font-size:11px; font-weight:700;
  color:var(--yellow); background:rgba(242,196,0,.1); border:1px solid rgba(242,196,0,.4);
}
html.lmx-noirbar .noirEv__step b{ display:block; font-size:12.5px; color:#f5f1e6; }
html.lmx-noirbar .noirEv__step span{
  display:block; margin-top:3px; font-size:11px; line-height:1.45; color:rgba(240,232,210,.45);
}
html.lmx-noirbar .noirEv__prize{ display:flex; align-items:flex-start; gap:12px; }
html.lmx-noirbar .noirEv__prizeIco{
  flex:0 0 auto; width:52px; height:52px; border-radius:50%; font-size:24px;
  display:flex; align-items:center; justify-content:center;
  background:rgba(242,196,0,.08); border:1px solid rgba(242,196,0,.35);
}
html.lmx-noirbar .noirEv__prize b{ display:block; font-size:12.5px; color:#f5f1e6; }
html.lmx-noirbar .noirEv__prize span{
  display:block; margin-top:5px; font-size:11px; line-height:1.45; color:rgba(240,232,210,.45);
}
html.lmx-noirbar .noirEv__btns{
  display:flex; justify-content:center; gap:14px; margin-top:20px; padding-top:18px;
  border-top:1px solid rgba(242,196,0,.18);
}
html.lmx-noirbar .noirEv__btn{
  min-width:220px; padding:15px 20px; border-radius:11px; cursor:pointer;
  font-family:var(--noir-display); font-size:11px; letter-spacing:.12em;
  color:var(--yellow); background:transparent; border:1px solid rgba(242,196,0,.45);
}
html.lmx-noirbar .noirEv__btn:hover{ background:rgba(242,196,0,.1); }
html.lmx-noirbar .noirEv__btn--y{
  color:#17130a; background:var(--yellow); border-color:var(--yellow); font-weight:700;
}
html.lmx-noirbar .noirEv__btn--y:hover{ background:#ffd633; }
/* карточка одного вещдока — прибиваем к экрану целиком */
html.lmx-noirbar #evidenceModalOverlay{
  position:fixed !important; inset:0 !important; z-index:9900 !important;
}

/* ============================================================
 * v140: ЧУЖОЕ ДОСЬЕ (#agentview) — шапка и данные во всю ширину,
 * остальные блоки движка укладываются колоночным потоком.
 * ============================================================ */
html.lmx-noirbar .noirAgSrc{ display:none !important; }
html.lmx-noirbar .noirAg{ max-width:1500px; margin:0 auto; padding:6px 10px 60px; }

html.lmx-noirbar .noirAg__head{ margin-bottom:16px; }
html.lmx-noirbar .noirAg__head[hidden]{ display:none; }
html.lmx-noirbar .noirAg__head .dossierTop{ padding:0 !important; }
html.lmx-noirbar .noirAg__head .dossierName{
  margin-top:10px !important; padding:10px 16px !important; font-size:17px !important;
}
html.lmx-noirbar .noirAg__head .dossierTopRow{ margin-top:12px !important; }

/* карточка данных с полароидом — обычная панель потока */
html.lmx-noirbar .noirAg__card[hidden]{ display:none; }
html.lmx-noirbar .noirAg__card .dossierMain{
  display:grid !important; grid-template-columns:minmax(0,1fr) 132px !important;
  gap:14px !important; align-items:start !important; margin-top:0 !important;
}
html.lmx-noirbar .noirAg__card .dossierData{
  padding:14px 15px 12px !important; border-radius:14px !important;
}
html.lmx-noirbar .noirAg__card .dossierData .dossierSectionTitle{
  font-family:inherit !important; font-size:13px !important; color:#151515 !important;
  letter-spacing:.06em !important;
}
html.lmx-noirbar .noirAg__card .dossierValue{ font-size:13px !important; }
html.lmx-noirbar .noirAg__card .dossierPhoto{ justify-content:center !important; }
html.lmx-noirbar .noirAg__card .dossierPhoto .polaroid{
  width:132px !important; max-width:132px !important; height:auto !important;
  aspect-ratio:3/4; border-width:7px !important;
}
html.lmx-noirbar .noirAg__card .dossierPhoto .polaroid img{ height:100% !important; }
@media (max-width:520px){
  html.lmx-noirbar .noirAg__card .dossierMain{ grid-template-columns:minmax(0,1fr) !important; }
  html.lmx-noirbar .noirAg__card .dossierPhoto .polaroid{ margin:0 auto; }
}

/* поток панелей: колонки сами укладывают блоки без дыр */
html.lmx-noirbar .noirAg__flow{ columns:3; column-gap:16px; margin-bottom:4px; }
@media (max-width:1200px){ html.lmx-noirbar .noirAg__flow{ columns:2; } }
@media (max-width:800px){ html.lmx-noirbar .noirAg__flow{ columns:1; } }
html.lmx-noirbar .noirAg__flow[hidden]{ display:none; }
html.lmx-noirbar .noirAg__panel{
  display:block; width:100%; break-inside:avoid; -webkit-column-break-inside:avoid;
  page-break-inside:avoid; margin:0 0 16px; padding:16px; border-radius:13px;
  background:rgba(16,17,20,.92); border:1px solid rgba(242,196,0,.25);
}
html.lmx-noirbar .noirAg__panel .dossierBlock,
html.lmx-noirbar .noirAg__panel .card{
  margin:0 !important; padding:0 !important; background:none !important; border:0 !important;
}
html.lmx-noirbar .noirAg__panel .dossierSectionTitle,
html.lmx-noirbar .noirAg__panel .cardTitle{
  font-family:var(--noir-display) !important; font-size:11px !important;
  letter-spacing:.13em !important; color:var(--yellow) !important;
}
html.lmx-noirbar .noirAg__panel img,
html.lmx-noirbar .noirAg__panel video{ max-width:100%; }
html.lmx-noirbar .noirAg__panel .agent-pet-media,
html.lmx-noirbar .noirAg__panel .pc-media img,
html.lmx-noirbar .noirAg__panel .pc-media video{ max-height:200px !important; }
html.lmx-noirbar .noirAg__panel [style*="grid-template-columns"]{
  grid-template-columns:repeat(auto-fit,minmax(0,1fr)) !important; gap:10px !important;
}
html.lmx-noirbar .noirAg__panel .achCard{ margin:0 0 8px !important; }
html.lmx-noirbar .noirAg__panel .achCard:last-child{ margin-bottom:0 !important; }

/* нижние кнопки */
html.lmx-noirbar .noirAg__btns[hidden]{ display:none; }
html.lmx-noirbar .noirAg__btns .rowBtns{
  display:grid !important; grid-template-columns:repeat(auto-fit,minmax(180px,1fr)) !important;
  gap:12px !important; margin:0 !important;
}
html.lmx-noirbar .noirAg__btns .rowBtns > *{ width:100% !important; }

/* ============================================================
 * v142: ЧУЖАЯ КОМАНДА (#teamview) — шапка во всю ширину,
 * карточки движка укладываются колоночным потоком.
 * ============================================================ */
html.lmx-noirbar .noirTvSrc{ display:none !important; }
/* wide_mode.css делает из .pad сетку в две колонки — гасим её */
html.lmx-noirbar #teamProfileRoot.noirTvHost .pad{
  display:block !important; grid-template-columns:none !important;
}
html.lmx-noirbar .noirTv{ max-width:1500px; margin:0 auto; padding:6px 10px 60px; }

html.lmx-noirbar .noirTv__head{ margin-bottom:16px; }
html.lmx-noirbar .noirTv__head[hidden]{ display:none; }
html.lmx-noirbar .noirTv__head .pageHead{
  display:flex !important; align-items:center; justify-content:space-between; gap:16px;
  margin:0 !important;
}
html.lmx-noirbar .noirTv__head .pageTitle{
  font-family:var(--noir-display); font-size:28px !important; letter-spacing:.06em;
  color:#f5f1e6;
}
html.lmx-noirbar .noirTv__head .pageMeta{ margin-top:5px !important; }

html.lmx-noirbar .noirTv__cols{
  display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:16px; align-items:start;
}
html.lmx-noirbar .noirTv__cols.is-solo{ grid-template-columns:minmax(0,1fr); }
@media (max-width:900px){ html.lmx-noirbar .noirTv__cols{ grid-template-columns:minmax(0,1fr); } }
html.lmx-noirbar .noirTv__col{ min-width:0; display:flex; flex-direction:column; gap:16px; }
html.lmx-noirbar .noirTv__col[hidden]{ display:none; }
html.lmx-noirbar .noirTv__panel{
  display:block; width:100%; margin:0; padding:16px; border-radius:13px;
  background:rgba(16,17,20,.92); border:1px solid rgba(242,196,0,.25);
}
html.lmx-noirbar .noirTv__panel .card,
html.lmx-noirbar .noirTv__panel .dossierBlock{
  margin:0 !important; padding:0 !important; background:none !important; border:0 !important;
}
html.lmx-noirbar .noirTv__panel .cardTitle,
html.lmx-noirbar .noirTv__panel .dossierSectionTitle{
  font-family:var(--noir-display) !important; font-size:11px !important;
  letter-spacing:.13em !important; color:var(--yellow) !important;
}
html.lmx-noirbar .noirTv__panel img,
html.lmx-noirbar .noirTv__panel video{ max-width:100%; }
html.lmx-noirbar .noirTv__panel .teamStats{
  display:grid !important; grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:10px !important;
}
html.lmx-noirbar .noirTv__panel .achList{ display:grid; gap:10px; }
html.lmx-noirbar .noirTv__panel .achCard{ margin:0 !important; }
html.lmx-noirbar .noirTv__btns[hidden]{ display:none; }
html.lmx-noirbar .noirTv__btns .rowBtns{
  display:grid !important; grid-template-columns:repeat(auto-fit,minmax(180px,1fr)) !important;
  gap:12px !important; margin:0 !important;
}
html.lmx-noirbar .noirTv__btns .rowBtns > *{ width:100% !important; }

/* v143: чужая команда — награды в один столбец, как строки */
html.lmx-noirbar #teamProfileRoot.noirTvHost .noirTv__panel .achList,
html.lmx-noirbar .noirTv__panel .achList{
  display:grid !important; grid-template-columns:minmax(0,1fr) !important; gap:10px !important;
}
html.lmx-noirbar #teamProfileRoot.noirTvHost .noirTv__panel .achCard,
html.lmx-noirbar .noirTv__panel .achCard{
  display:grid !important; grid-template-columns:46px minmax(0,1fr) auto !important;
  align-items:center !important; gap:12px !important; padding:10px 12px !important;
  margin:0 !important; border-radius:12px !important;
  background:rgba(255,255,255,.028) !important; border:1px solid rgba(240,232,210,.09) !important;
}
html.lmx-noirbar .noirTv__panel .achCard__ico{
  width:46px !important; height:46px !important; border-radius:50% !important;
  display:flex !important; align-items:center; justify-content:center; overflow:hidden;
  background:rgba(0,0,0,.4); border:1px solid rgba(242,196,0,.35);
}
html.lmx-noirbar .noirTv__panel .achCard__ico img,
html.lmx-noirbar .noirTv__panel .achCard__ico svg{
  width:100% !important; height:100% !important; object-fit:cover;
}
html.lmx-noirbar .noirTv__panel .achCard__body{ min-width:0; }
html.lmx-noirbar .noirTv__panel .achCard__top{
  display:flex !important; align-items:center; gap:8px; min-width:0; flex-wrap:wrap;
}
html.lmx-noirbar .noirTv__panel .achCard__title{
  font-size:13px !important; color:#f5f1e6; line-height:1.25;
}
html.lmx-noirbar .noirTv__panel .achCard__desc{
  margin-top:4px !important; font-size:11px !important; line-height:1.45;
  color:rgba(240,232,210,.45);
  display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden;
}
html.lmx-noirbar .noirTv__panel .achCard__reward{
  color:var(--yellow) !important; font-size:14px !important;
}
html.lmx-noirbar .noirTv__panel .rar{
  flex:0 0 auto; padding:3px 8px !important; border-radius:6px !important;
  font-size:8.5px !important; letter-spacing:.06em;
}
/* тот же порядок в чужом досье */
html.lmx-noirbar .noirAg__panel .achList{
  display:grid !important; grid-template-columns:minmax(0,1fr) !important; gap:10px !important;
}
html.lmx-noirbar .noirAg__panel .achCard{
  grid-template-columns:46px minmax(0,1fr) auto !important; gap:12px !important;
  padding:10px 12px !important;
}
html.lmx-noirbar .noirAg__panel .achCard__ico{
  width:46px !important; height:46px !important; border-radius:50% !important; overflow:hidden;
}
html.lmx-noirbar .noirAg__panel .achCard__ico img,
html.lmx-noirbar .noirAg__panel .achCard__ico svg{
  width:100% !important; height:100% !important; object-fit:cover;
}

/* v145: иконка категории магазина, загруженная в админке */
html.lmx-noirbar .noirShop__catImg{
  display:block; width:54px; height:54px; object-fit:contain;
  filter:drop-shadow(0 2px 5px rgba(0,0,0,.6));
}
/* у своей картинки фактуру трещин не накладываем — она уже готовая */
html.lmx-noirbar .noirShop__catIco.is-img::after{ display:none; }

/* ============================================================
 * v146: КАРТА ГОРОДА — карточка точки всплывает НАД картой,
 * а не выезжает нижней шторкой. Инлайновые стили ставит app.js,
 * поэтому перебиваем !important.
 * ============================================================ */
html.lmx-noirbar #cityMapOverlay{
  position:fixed !important; inset:0 !important; z-index:9500 !important;
}
html.lmx-noirbar #cityMapOverlay #cityMapSheet{
  position:absolute !important; right:22px !important; top:96px !important; left:auto !important;
  width:min(400px, calc(100vw - 44px)) !important;
  max-height:calc(100% - 132px) !important; overflow-y:auto !important;
  flex:0 0 auto !important; z-index:1200 !important;
  border-radius:16px !important; border:1px solid rgba(242,196,0,.45) !important;
  background:rgba(14,13,11,.97) !important;
  box-shadow:0 24px 60px rgba(0,0,0,.75) !important;
  animation:noirPetIn .2s cubic-bezier(.34,1.2,.64,1);
}
@media (max-width:760px){
  html.lmx-noirbar #cityMapOverlay #cityMapSheet{
    right:12px !important; left:12px !important; width:auto !important;
    top:auto !important; bottom:12px !important; max-height:72% !important;
  }
}
html.lmx-noirbar #cityMapOverlay #cityMapSheet::-webkit-scrollbar{ width:8px; }
html.lmx-noirbar #cityMapOverlay #cityMapSheet > div{ padding:18px 18px 20px !important; }
/* фото точки — крупнее и выше по карточке, как в макете */
html.lmx-noirbar #cityMapOverlay #cityMapSheet img{
  max-height:200px !important; border-radius:12px !important;
}
/* кнопки */
html.lmx-noirbar #cityMapOverlay #geoHereBtn{
  padding:15px !important; border-radius:12px !important; font-size:12px !important;
  letter-spacing:.1em !important; font-family:var(--noir-display) !important;
}
html.lmx-noirbar #cityMapOverlay #geoOpenCase{
  padding:13px !important; border-radius:12px !important; font-size:11px !important;
  letter-spacing:.1em !important; font-family:var(--noir-display) !important;
}
html.lmx-noirbar #cityMapOverlay #geoSheetClose{
  width:30px !important; height:30px !important; top:14px !important; right:14px !important;
  background:rgba(0,0,0,.55) !important; border-color:rgba(240,232,210,.2) !important;
}

/* v147: подвал с документами на всех экранах */
html.lmx-noirbar .noirFoot--all{
  max-width:1500px; margin:24px auto 0; padding:18px 10px 30px;
}


/* ============================================================
   v148: АДАПТИВ, ЭТАП 1 — планшет-альбом (900–1199px).
   Классы ставит noir_shell.js: lmx-noirtab (режим планшета),
   lmx-noirdrawer (шторка открыта). Правила ниже перебивают
   десктопную раскладку только в этом режиме.
   ============================================================ */

/* Полотно во всю ширину, сайдбар больше не занимает место.
   v149: НЕ зажимаем до 880 — дашборд остаётся двухколоночным,
   просто чуть ужимаем правую рейку. */
html.lmx-noirtab .stage{ gap:0; }
html.lmx-noirtab .phone{ width:96vw; }
html.lmx-noirtab .noirDash{ grid-template-columns:minmax(0,1fr) 290px; gap:16px; }
@media (max-width:1000px){
  html.lmx-noirtab .noirDash{ grid-template-columns:minmax(0,1fr) 260px; gap:14px; }
}

/* Штамп в шапке на планшете лишний — тесно */
html.lmx-noirtab .noirTop__stamp{ display:none; }

/* Бургер: виден только в планшетном режиме */
.noirBurger{ display:none; }
html.lmx-noirtab .noirBurger{
  display:grid;
  place-items:center;
  flex:0 0 auto;
  width:40px;
  height:40px;
  margin-right:10px;
  border:1px solid rgba(242,196,0,.4);
  border-radius:8px;
  background:transparent;
  color:var(--yellow);
  cursor:pointer;
}
html.lmx-noirtab .noirBurger svg{ width:22px; height:22px; display:block; }
html.lmx-noirtab .noirBurger:hover{ background:rgba(242,196,0,.08); }

/* Сайдбар уезжает за левый край и выезжает шторкой */
html.lmx-noirtab .noirSide{
  position:fixed;
  left:0; top:0; bottom:0;
  z-index:220;
  height:100dvh;
  max-height:none;
  width:264px;
  border-radius:0 10px 10px 0;
  transform:translateX(-110%);
  transition:transform .25s ease;
  box-shadow:0 0 0 1px rgba(0,0,0,.85), 24px 0 60px rgba(0,0,0,.6);
}
html.lmx-noirtab.lmx-noirdrawer .noirSide{ transform:none; }

/* Затемнение под шторкой */
.noirDim{ display:none; }
html.lmx-noirtab.lmx-noirdrawer .noirDim{
  display:block;
  position:fixed;
  inset:0;
  z-index:210;
  background:rgba(0,0,0,.6);
  backdrop-filter:blur(2px);
}

/* «МОИ ДЕЛА»: в узкой основной колонке 3 карточки в ряд, на самом узком — 2 */
html.lmx-noirtab .noirDash > .noirSec.noirMyCases{
  grid-template-columns:repeat(3, minmax(0,1fr)) !important;
}
@media (max-width:1000px){
  html.lmx-noirtab .noirDash > .noirSec.noirMyCases{
    grid-template-columns:repeat(2, minmax(0,1fr)) !important;
  }
}


/* ============================================================
   v150: ПЛАНШЕТ — ДОРАБОТКА ЭТАПА 1.
   1) Контент больше не отступает слева: .screen резервировал
      202/232px под старый сайдбар — в планшетном режиме сайдбар
      за краем, место не нужно.
   2) Шторка перенесена скриптом в <body> (см. noir_shell.js v133),
      поэтому теперь честно поверх затемнения и на всю высоту окна.
   3) «МОИ ДЕЛА»: карусель ставит ширины карточек инлайном
      (4 в ряд) — на планшете перебиваем на 3 (2 на узком).
   ============================================================ */

html.lmx-noirtab .screen{ left:0 !important; }

html.lmx-noirtab .noirSide{
  top:0 !important;
  height:100dvh;
  padding-top:22px;
  background:
    var(--noir-grain),
    linear-gradient(180deg,#131210,#0b0a09) !important;
  background-color:#0d0c0a !important;
  border-right:1px solid rgba(242,196,0,.35);
}

/* Карточки «МОИ ДЕЛА» в карусели: 3 в ряд (перебиваем инлайн-ширины) */
html.lmx-noirtab .noirCar__track > .caseCard{
  flex:0 0 calc((100% - 36px) / 3) !important;
  max-width:calc((100% - 36px) / 3) !important;
}
@media (max-width:1000px){
  html.lmx-noirtab .noirCar__track > .caseCard{
    flex:0 0 calc((100% - 18px) / 2) !important;
    max-width:calc((100% - 18px) / 2) !important;
  }
}


/* ============================================================
   v151: АНОНСЫ ИГР — «4-е окошко убегает вниз».
   Каскадный баг: медиа-правило (≤1400px: коробки 2×2) стоит в
   файле РАНЬШЕ базового (4 в ряд), поэтому базовое всегда
   побеждало, а 4-я коробка, прибитая к «2-й строке», выпадала
   из ряда с дырой справа. Повторяем медиа-правило в конце
   файла — теперь на узких экранах честные 2×2.
   ============================================================ */
@media (max-width:1400px){
  html.lmx-noirbar .noirGame__bottom.has-chats{
    grid-template-columns:repeat(2, minmax(0,1fr));
    grid-template-rows:auto auto auto;
  }
}


/* ============================================================
   v152: СТРАНИЦА ЗАДАНИЯ — плитки «Досье по делу» съезжали.
   Колонки 1fr 1fr не сжимаются уже min-content содержимого,
   и в узкой правой панели (320px на ≤1400px) плитки вылезали
   за рамку. minmax(0,1fr) разрешает колонкам ужиматься,
   подпись при нехватке места обрезается многоточием.
   ============================================================ */
html.lmx-noirbar .noirTask__tiles{
  grid-template-columns:repeat(2, minmax(0,1fr));
}
html.lmx-noirbar .noirTask__tile{ min-width:0; }
html.lmx-noirbar .noirTask__tileLbl{
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}


/* ============================================================
   v155: ТЕЛЕФОН, РАУНД 2 — нуарный дашборд хаба.
   noir_shell.js v136 включает html.lmx-noirbar и на телефоне,
   чтобы заработал дашборд (герой, профиль агента, «Мои дела»,
   рейтинг сезона, секретный файл). Ниже — сброс десктопной
   геометрии: всё в одну колонку, сайдбара нет, топбар родной.
   ============================================================ */

/* --- геометрия: полотно как было в мобильной версии --- */
html.lmx-noirmob .stage{ display:block; padding:0; min-height:100dvh; }
html.lmx-noirmob.lmx-noirbar .screen{ inset:64px 0 0 0 !important; padding:12px !important; }
/* v157: шторка на телефоне включена (см. блок ниже) */

/* родной мобильный топбар: десктопные логотип/штамп/чипы не нужны */
html.lmx-noirmob .noirTop__logo,
html.lmx-noirmob .noirTop__stamp,
html.lmx-noirmob .noirTop__chips{ display:none !important; }
html.lmx-noirmob .topbar{ min-height:0 !important; padding:10px 12px !important; }
html.lmx-noirmob .noirCartIco{ display:none !important; }

/* --- дашборд в одну колонку --- */
html.lmx-noirmob .noirDash{
  display:block !important;
  gap:0 !important;
}
html.lmx-noirmob .noirDash__top,
html.lmx-noirmob .noirDash__bottom{
  display:grid !important;
  grid-template-columns:1fr !important;
  gap:14px !important;
}
html.lmx-noirmob .noirDash > *{ margin-bottom:14px; }
html.lmx-noirmob .noirDash__lead > .h1{
  font-size:26px !important;
  margin:0 0 10px !important;
}

/* герой: обложка сверху, текст снизу */
html.lmx-noirmob .noirHero,
html.lmx-noirmob .noirDash__main .noirSec.noirHero,
html.lmx-noirmob .noirDash__lead .noirSec.noirHero{
  grid-template-columns:1fr !important;
  gap:14px !important;
  padding:14px !important;
}
html.lmx-noirmob .noirHero__cover img{ height:180px !important; }
html.lmx-noirmob .noirHero__title{ font-size:21px !important; }
html.lmx-noirmob .noirHero__desc{ font-size:13px !important; }
html.lmx-noirmob .noirHero__cta{ width:100%; }

/* профиль агента */
html.lmx-noirmob .noirProfile{ padding:12px !important; }
html.lmx-noirmob .noirProfile__id{
  grid-template-columns:106px minmax(0,1fr) !important;
  gap:12px !important;
}
html.lmx-noirmob .noirProfile__avaFrame{ width:100px !important; height:110px !important; }

/* «МОИ ДЕЛА»: карусель по одной карточке со свайпом */
html.lmx-noirmob .noirDash > .noirSec.noirMyCases{
  display:block !important;
}
html.lmx-noirmob .noirCar__track > .caseCard{
  flex:0 0 78% !important;
  max-width:78% !important;
}
html.lmx-noirmob .noirCar__nav{ display:none !important; }
html.lmx-noirmob .noirMyCases .caseCard__thumb.polaroid img{ height:140px !important; }

/* нижние виджеты */
html.lmx-noirmob .noirSeason,
html.lmx-noirmob .noirFile{ height:auto !important; }
html.lmx-noirmob .noirFile__links{ grid-template-columns:1fr 1fr !important; }


/* ============================================================
   v156: ТЕЛЕФОН, РАУНД 3 — правки после проверки.
   1) Экраны накладывались: noirbar даёт .view{padding:16px 28px}
      и убирает мобильные отступы .screen — на телефоне возвращаем
      мобильную геометрию с !important, чтобы .view не выпадали.
   2) В шапке пропали домик и «ПОД ПОДОЗРЕНИЕМ»: noirbar их прячет
      ради своего логотипа, который на телефоне мы не показываем.
      Возвращаем родные.
   3) Карусель «Мои дела» и жёлтые плашки: поля по краям,
      кнопка героя видима.
   ============================================================ */

/* --- 1. экраны: v160 — своих правил больше нет, работает родная
   мобильная вёрстка (мои !important резервировали место под
   таббар и подрезали контент на части экранов) --- */

/* --- 2. родная шапка --- */
html.lmx-noirmob .topbar > .iconbtn[data-nav="#home"]{ display:grid !important; }
html.lmx-noirmob .topbar .brand{ display:block !important; }
html.lmx-noirmob .topbar__right .iconbtn[data-nav="#shop"] > .ico{ display:block !important; }

/* --- 3. карусель и плашки --- */
html.lmx-noirmob .noirCar__track{
  padding-right:12px !important;
  scroll-padding-left:0;
}
html.lmx-noirmob .noirMyCases > .subbar{
  display:flex !important;
  align-items:center;
  justify-content:space-between;
  gap:10px;
}
html.lmx-noirmob .noirMyCases > .subbar .subbar__label{ font-size:17px !important; }
html.lmx-noirmob .noirCases__all{ white-space:nowrap; font-size:10px !important; }

/* кнопка героя: на мобиле маска-подложка съедала контраст */
html.lmx-noirmob .noirHero__cta{
  background:linear-gradient(180deg,#f2c400,#dcae00) !important;
  color:#17130a !important;
  -webkit-text-fill-color:#17130a !important;
  opacity:1 !important;
  padding:13px 16px !important;
  font-size:12px !important;
}

/* рейтинг: строки не должны вылезать за край */
html.lmx-noirmob .noirRate__row,
html.lmx-noirmob .ratingRow{ min-width:0; overflow:hidden; }


/* ============================================================
   v157: ТЕЛЕФОН, РАУНД 4.
   1) Выдвижное меню — тот же модуль, что на планшете
      (lmx-noirtab + lmx-noirdrawer), только уже и на всю высоту.
   2) Нуарная типографика: на телефоне wide_mode не включается,
      поэтому шрифт заголовков и стиль плашек не применялись —
      дублируем ключевые правила под lmx-noirmob.
   ============================================================ */

/* --- 1. шторка --- */
html.lmx-noirmob .noirBurger{
  display:grid !important;
  width:38px; height:38px;
  margin-right:8px;
}
/* v159: позиционирование шторки задаём здесь целиком — на экранах
   без оболочки правила noirbar не применялись, и меню разворачивалось
   прямо в контенте поверх страницы */
html.lmx-noirmob .noirSide{
  display:flex !important;
  position:fixed !important;
  left:0 !important;
  top:0 !important;
  bottom:auto !important;
  height:100dvh !important;
  max-height:none !important;
  width:min(84vw, 300px) !important;
  padding:18px 12px !important;
  overflow-y:auto !important;
  transform:translateX(-110%) !important;
  transition:transform .25s ease !important;
  z-index:520 !important;
  border-radius:0 10px 10px 0 !important;
  border:0 !important;
  border-right:1px solid rgba(242,196,0,.35) !important;
  box-shadow:24px 0 60px rgba(0,0,0,.6) !important;
}
html.lmx-noirmob.lmx-noirdrawer .noirSide{ transform:none !important; }
html.lmx-noirmob.lmx-noirdrawer .noirDim{ display:block !important; z-index:510 !important; }
html.lmx-noirmob .noirSide__promo{ margin-top:14px; }
html.lmx-noirmob .noirSide__item{ padding:13px 12px; font-size:13px; }

/* --- 2. типографика как в вебе --- */
html.lmx-noirmob{ --noir-display:'Tektur', var(--sans); }

html.lmx-noirmob .brand{
  font-family:var(--noir-display);
  font-weight:700;
  letter-spacing:.16em;
  text-shadow:0 2px 0 rgba(0,0,0,.7);
}
html.lmx-noirmob .h1{
  font-family:var(--noir-display);
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.1em;
  display:flex;
  align-items:center;
  gap:12px;
  text-shadow:0 3px 0 rgba(0,0,0,.6);
}
html.lmx-noirmob .h1::after{
  content:"";
  flex:1;
  min-width:24px;
  border-top:2px dashed rgba(242,196,0,.5);
  transform:translateY(2px);
}
html.lmx-noirmob .sectionTitle,
html.lmx-noirmob .dossierSectionTitle,
html.lmx-noirmob .shop-cat-title,
html.lmx-noirmob .subbar__label,
html.lmx-noirmob .cardTitle,
html.lmx-noirmob .pageTitle{
  font-family:var(--noir-display);
  font-weight:700;
  letter-spacing:.12em;
  text-transform:uppercase;
}
html.lmx-noirmob .caseCard__title,
html.lmx-noirmob .archiveCard__title{
  font-family:var(--noir-display);
  font-weight:700;
  letter-spacing:.04em;
}
html.lmx-noirmob .cta,
html.lmx-noirmob .btnGhost,
html.lmx-noirmob .chip,
html.lmx-noirmob .miniBtn{
  font-family:var(--noir-display);
  font-weight:700;
  letter-spacing:.1em;
}
html.lmx-noirmob .kpi__label,
html.lmx-noirmob .kpi__val,
html.lmx-noirmob .badge,
html.lmx-noirmob .tag,
html.lmx-noirmob .pill{
  font-family:var(--noir-display);
  letter-spacing:.08em;
}
html.lmx-noirmob .iconbtn{
  border-radius:6px;
  border:1px solid rgba(242,196,0,.22);
  background:rgba(0,0,0,.35);
}


/* ============================================================
   v158: ТЕЛЕФОН — оболочка только на хабе + правки хаба.
   noir_shell.js v138 включает html.lmx-noirbar на телефоне лишь
   на #home, поэтому остальные экраны (архив, заказы, подписка,
   рефералка, магазин, питомцы, рейтинг, досье, команды) снова
   идут прежней мобильной вёрсткой — без десктопных правил.
   ============================================================ */

/* «МОИ ДЕЛА»: на жёлтой плашке текст был нечитаем */
html.lmx-noirmob .noirMyCases > .subbar{
  background:none !important;
  padding:0 !important;
  margin-bottom:12px !important;
  border:0 !important;
}
html.lmx-noirmob .noirMyCases > .subbar::before,
html.lmx-noirmob .noirMyCases > .subbar::after{ display:none !important; }
html.lmx-noirmob .noirMyCases > .subbar .subbar__label{
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
  background:none !important;
  font-size:19px !important;
  letter-spacing:.1em !important;
}
html.lmx-noirmob .noirCases__all{
  color:var(--yellow) !important;
  background:transparent !important;
  border:1px solid rgba(242,196,0,.5);
  border-radius:8px;
  padding:7px 10px !important;
}

/* «РЕЙТИНГ СЕЗОНА»: кнопка слипалась с плашками зачётов */
html.lmx-noirmob .noirSeason__cta,
html.lmx-noirmob .noirSeason .cta,
html.lmx-noirmob .noirSeason button{ margin-top:14px !important; }
html.lmx-noirmob .noirSeason__grid,
html.lmx-noirmob .noirSeason__cols{ gap:12px !important; }

/* воздух между блоками дашборда — на референсе он есть */
html.lmx-noirmob .noirDash > *{ margin-bottom:18px !important; }
html.lmx-noirmob .noirDash__lead > .h1{ margin-bottom:14px !important; }


/* ============================================================
   v160: ТЕЛЕФОН — таббар убран, шторка доведена.
   Меню было полупрозрачным и с большим плакатом внизу —
   делаем плотный фон и убираем промо на телефоне.
   ============================================================ */
html.lmx-noirmob .noirSide{
  background:
    var(--noir-grain),
    linear-gradient(180deg,#141311,#0a0908) !important;
  background-color:#0c0b0a !important;
  gap:2px;
}
html.lmx-noirmob .noirSide__promo{ display:none !important; }
html.lmx-noirmob .noirSide::before{ display:none !important; }
html.lmx-noirmob .noirSide__item{
  border-radius:8px;
  padding:14px 12px !important;
  font-size:13px !important;
  letter-spacing:.1em;
}
html.lmx-noirmob .noirSide__ico svg{ width:20px; height:20px; }
html.lmx-noirmob.lmx-noirdrawer .noirDim{ background:rgba(0,0,0,.68) !important; }


/* ============================================================
   v161: ТЕЛЕФОН — три правки.
   1) Геометрия: включённый на телефоне планшетный режим
      (lmx-noirtab) задавал .phone{width:96vw} — полотно съезжало
      влево, а .screen не доходил до низа, из-за чего списки
      обрезались. Возвращаем полноэкранную мобильную геометрию.
   2) Счётчик корзины в шапке: стили пилюли живут только под
      оболочкой, вне её цифра падала под иконку — стилизуем
      счётчик и на телефоне.
   ============================================================ */

/* --- 1. геометрия --- */
html.lmx-noirmob .stage{
  display:block !important;
  padding:0 !important;
  gap:0 !important;
  min-height:100dvh;
}
html.lmx-noirmob .phone{
  width:100% !important;
  max-width:none !important;
  margin:0 !important;
  height:100dvh !important;
  min-height:100dvh !important;
  border-radius:0 !important;
  border:0 !important;
  box-shadow:none !important;
}
html.lmx-noirmob .screen{
  inset:64px 0 0 0 !important;
  padding:12px !important;
}

/* --- 2. счётчик корзины --- */
html.lmx-noirmob .topbar__right .iconbtn{ position:relative; }
html.lmx-noirmob .noirCartCount{
  display:none;
  position:absolute; top:-5px; right:-5px;
  min-width:18px; height:18px; padding:0 5px;
  border-radius:9px;
  background:var(--yellow); color:#0d0b08;
  font-family:var(--noir-display); font-weight:700;
  font-size:10px; line-height:18px; text-align:center;
  box-shadow:0 2px 6px rgba(0,0,0,.5);
}
html.lmx-noirmob .noirCartCount.is-on{ display:block; }
html.lmx-noirmob .noirCartIco{ display:none !important; }


/* ============================================================
   v162: ТЕЛЕФОН — ХАБ ПО РЕФЕРЕНСУ.
   Раскладка мокапа: плашки БАЛЛЫ/АГЕНТ строкой под шапкой,
   герой «обложка слева — текст справа» с широкой жёлтой кнопкой,
   «Профиль агента» в жёлтой ленте-рамке с полароидом.
   ============================================================ */

/* заголовок «ХАБ» на мокапе не нужен — сразу дело */
html.lmx-noirmob .noirDash__lead > .h1{ display:none !important; }

/* --- плашки БАЛЛЫ / АГЕНТ строкой сверху --- */
html.lmx-noirmob .noirProfile .kpiRow{
  display:grid !important;
  grid-template-columns:1fr 1fr !important;
  gap:10px !important;
  margin:0 0 4px !important;
}
html.lmx-noirmob .noirProfile .kpi{
  border:1px solid rgba(242,196,0,.35) !important;
  border-radius:9px !important;
  background:rgba(0,0,0,.34) !important;
  padding:9px 10px !important;
  text-align:center;
}
html.lmx-noirmob .noirProfile .kpi__label{
  font-size:9px !important;
  letter-spacing:.16em !important;
  color:rgba(240,232,210,.55) !important;
}
html.lmx-noirmob .noirProfile .kpi__val{
  font-size:17px !important;
  color:var(--yellow) !important;
}

/* --- герой: обложка слева, текст справа --- */
html.lmx-noirmob .noirHero,
html.lmx-noirmob .noirDash__lead .noirSec.noirHero{
  grid-template-columns:40% minmax(0,1fr) !important;
  gap:12px !important;
  padding:12px !important;
  align-items:start !important;
  border:1px solid rgba(242,196,0,.5) !important;
  border-radius:12px !important;
}
html.lmx-noirmob .noirHero__cover img{
  height:150px !important;
  width:100% !important;
  object-fit:cover !important;
  border-radius:8px !important;
}
html.lmx-noirmob .noirHero__title{
  font-size:22px !important;
  line-height:1.05 !important;
  letter-spacing:.03em !important;
  margin-bottom:8px !important;
}
html.lmx-noirmob .noirHero__desc{
  font-size:12.5px !important;
  line-height:1.45 !important;
}
/* кнопка — во всю ширину под обеими колонками, как в мокапе */
html.lmx-noirmob .noirHero__cta{
  grid-column:1 / -1 !important;
  width:100% !important;
  margin-top:12px !important;
  text-align:center;
  border-radius:8px !important;
}

/* --- профиль агента: жёлтая лента-рамка + полароид --- */
/* v163: лента-рамка через border-image (как на десктопе) —
   мой прежний двухслойный фон заливал полосами всю карточку */
html.lmx-noirmob .noirProfile{
  border:9px solid transparent !important;
  border-image:repeating-linear-gradient(-45deg,
      #d8a900 0 11px, #17150f 11px 22px) 9 !important;
  border-radius:0 !important;
  background-image:
    var(--noir-grain),
    linear-gradient(180deg,#15130f,#0d0c0a) !important;
  background-color:#0d0c0a !important;
  padding:14px !important;
}
html.lmx-noirmob .noirProfile__title{
  font-size:15px !important;
  letter-spacing:.14em !important;
  margin-bottom:12px !important;
}
html.lmx-noirmob .noirProfile__id{
  grid-template-columns:112px minmax(0,1fr) !important;
  gap:14px !important;
  align-items:start !important;
}
html.lmx-noirmob .noirProfile__avaFrame{
  width:108px !important;
  height:124px !important;
}
html.lmx-noirmob .noirProfile__btn{
  width:100% !important;
  margin-top:12px !important;
  border-radius:8px !important;
}


/* v163: кнопки на хабе — сплошной жёлтый, без затемняющей текстуры,
   на телефоне она гасила «Играть бесплатно» почти в фон */
html.lmx-noirmob .noirDash .noirHero a.cta.noirHero__cta,
html.lmx-noirmob .noirDash .cta,
html.lmx-noirmob .noirHero__cta,
html.lmx-noirmob .noirProfile__btn{
  background-image:none !important;
  background:linear-gradient(180deg,#f2c400,#dcae00) !important;
  color:#17130a !important;
  -webkit-text-fill-color:#17130a !important;
  border:1px solid rgba(0,0,0,.5) !important;
  box-shadow:0 6px 16px rgba(0,0,0,.45) !important;
  opacity:1 !important;
}


/* ============================================================
   v164: ТЕЛЕФОН, ХАБ — три правки.
   1) Кнопка героя во всю ширину блока: она лежит внутри правой
      колонки (.noirHero__body), поэтому раскрываем body через
      display:contents и раскладываем детей по сетке сами.
   2) «Рейтинг сезона»: кнопка отлипает от плашек зачётов.
   3) «Секретный файл» → рефералка: подписи налезали друг на друга.
   ============================================================ */

/* --- 1. герой --- */
html.lmx-noirmob .noirHero,
html.lmx-noirmob .noirDash__lead .noirSec.noirHero{
  grid-template-columns:40% minmax(0,1fr) !important;
  grid-template-rows:auto 1fr auto !important;
  column-gap:12px !important;
  row-gap:6px !important;
}
html.lmx-noirmob .noirHero__body{ display:contents !important; }
html.lmx-noirmob .noirHero__cover{
  grid-column:1 !important;
  grid-row:1 / 3 !important;
}
html.lmx-noirmob .noirHero__title{
  grid-column:2 !important;
  grid-row:1 !important;
}
html.lmx-noirmob .noirHero__desc{
  grid-column:2 !important;
  grid-row:2 !important;
}
html.lmx-noirmob .noirHero__cta{
  grid-column:1 / -1 !important;
  grid-row:3 !important;
  width:100% !important;
  margin-top:12px !important;
}

/* --- 2. рейтинг сезона --- */
html.lmx-noirmob .noirSeason__btn{
  display:block !important;
  margin-top:14px !important;
  text-align:center;
}
html.lmx-noirmob .noirSeason__row{ gap:12px !important; margin-bottom:2px !important; }

/* --- 3. рефералка в секретном файле --- */
html.lmx-noirmob .noirFile__ref{
  display:grid !important;
  grid-template-columns:repeat(3, minmax(0,1fr)) !important;
  gap:8px !important;
}
html.lmx-noirmob .noirFile__refCell{
  display:flex !important;
  flex-direction:column;
  align-items:center;
  gap:2px;
  min-width:0;
  padding:8px 4px !important;
  text-align:center;
}
html.lmx-noirmob .noirFile__refCell b{ font-size:20px !important; line-height:1; }
html.lmx-noirmob .noirFile__refCell i{
  font-size:9px !important;
  line-height:1.15;
  font-style:normal;
  letter-spacing:.02em;
  white-space:normal !important;
  overflow-wrap:anywhere;
  position:static !important;
}


/* ============================================================
   v165: ТЕЛЕФОН — «Секретный файл агента»: кнопка «ВСЕ».
   Подпись счётчика («Собрано вещдоков: 0») на узком экране
   переносится в 2–3 строки, и кнопка, стоявшая с ней в одной
   строке, наезжала на текст. Ставим кнопку под подписью.
   ============================================================ */
html.lmx-noirmob .noirFile__row{
  display:flex !important;
  flex-direction:column !important;
  align-items:flex-start !important;
  gap:8px !important;
  margin-bottom:10px !important;
}
html.lmx-noirmob .noirFile__label{
  max-width:100% !important;
  line-height:1.25 !important;
}
html.lmx-noirmob .noirFile__all{
  position:static !important;
  align-self:flex-start !important;
  white-space:nowrap !important;
  margin:0 !important;
}


/* ============================================================
   v166: ПЛАНШЕТ-ПОРТРЕТ (600–899px) — этап 2.
   Оболочка включается с 600px (noir_shell.js v140). Раскладка
   как на альбоме, но уже: дашборд в одну колонку и карточки
   «Мои дела» по две в ряд.
   ============================================================ */
@media (max-width:899px){
  html.lmx-noirtab .noirDash{ grid-template-columns:1fr !important; }
  html.lmx-noirtab .noirDash__top,
  html.lmx-noirtab .noirDash__bottom{
    grid-template-columns:1fr !important;
    gap:16px !important;
  }
  html.lmx-noirtab .noirCar__track > .caseCard{
    flex:0 0 calc((100% - 18px) / 2) !important;
    max-width:calc((100% - 18px) / 2) !important;
  }
  html.lmx-noirtab .noirHero{
    grid-template-columns:minmax(220px,40%) minmax(0,1fr) !important;
  }
  html.lmx-noirtab .noirGame__bottom.has-chats{
    grid-template-columns:repeat(2, minmax(0,1fr)) !important;
  }
  html.lmx-noirtab .noirTask__grid{ grid-template-columns:1fr !important; }
}


/* ============================================================
   v167: ПЛАНШЕТ-ПОРТРЕТ — «Досье агента».
   На 820px карточка ломалась: дублировался заголовок, жёлтая
   плашка с ником и блок данных растягивались во всю ширину,
   а полароид уезжал вниз огромным. Собираем компактно.
   ============================================================ */
@media (max-width:899px){
  /* заголовок один: крупный слева, штамп рядом; внутренний дубль скрыт */
  html.lmx-noirtab .noirDs__nat .dossierHeader{ display:none !important; }

  /* имя и статусы — компактнее */
  html.lmx-noirtab .noirDs__nat .dossierName{
    font-size:17px !important;
    padding:10px 14px !important;
  }
  html.lmx-noirtab .noirDs__stamp{ font-size:10px !important; padding:6px 10px !important; }
  html.lmx-noirtab .noirDs__h1{ font-size:22px !important; }

  /* данные + фото рядом: фото слева узкой колонкой */
  html.lmx-noirtab .noirDs__nat .dossierMain{
    grid-template-columns:190px minmax(0,1fr) !important;
    gap:16px !important;
  }
  html.lmx-noirtab .noirDs__nat .dossierPhoto{
    order:-1;
    justify-content:flex-start !important;
  }
  html.lmx-noirtab .noirDs__nat .dossierPhoto .polaroid{
    max-width:190px !important;
    border-width:8px !important;
  }
  html.lmx-noirtab .noirDs__nat .dossierData{
    padding:14px 16px 10px !important;
    border-radius:12px !important;
  }
  html.lmx-noirtab .noirDs__nat .dossierValue{ font-size:13.5px !important; }
  html.lmx-noirtab .noirDs__nat .dossierLine{ padding:7px 0 !important; }
}
@media (max-width:660px){
  html.lmx-noirtab .noirDs__nat .dossierMain{
    grid-template-columns:minmax(0,1fr) !important;
  }
  html.lmx-noirtab .noirDs__nat .dossierPhoto .polaroid{ max-width:240px !important; }
}


/* ============================================================
   v168: ПЛАНШЕТ-ПОРТРЕТ — низ досье.
   Панели («Значки наград», «Статистика», «Вещдоки», «Шпаргалки»)
   стояли в две колонки разной высоты, из-за чего справа зияли
   дыры. Ставим в одну колонку; кнопки — по две в ряд.
   ============================================================ */
@media (max-width:899px){
  html.lmx-noirtab .noirDs__row{
    grid-template-columns:minmax(0,1fr) !important;
    gap:14px !important;
  }
  html.lmx-noirtab .noirDs__actions{
    display:grid !important;
    grid-template-columns:repeat(2, minmax(0,1fr)) !important;
    gap:10px !important;
  }
  html.lmx-noirtab .noirDs__act{
    width:100% !important;
    justify-content:center;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
  }
  /* сетки внутри панелей: без пустот */
  html.lmx-noirtab .noirDs__achList{ justify-content:flex-start !important; }
}


/* ============================================================
   v169: МОБИЛЬНЫЙ ЧАТ — материалы дела.
   Чат-модуль теперь работает и на телефоне: сам чат во весь
   экран, а рейка (улики из чата, быстрые действия, состояние
   героя) прячется в нижнюю шторку по кнопке «МАТЕРИАЛЫ».
   ============================================================ */

html.lmx-noirmob .noirChat__grid{
  display:block !important;
}
html.lmx-noirmob .noirChat__side{ display:none !important; }
html.lmx-noirmob .noirChat__main{
  display:block !important;
  width:100% !important;
  height:100% !important;
}

/* --- кнопка «МАТЕРИАЛЫ» --- */
.noirChatFab{ display:none; }
html.lmx-noirmob .noirChatFab{
  display:flex;
  align-items:center;
  gap:8px;
  position:absolute;
  right:12px;
  bottom:calc(76px + env(safe-area-inset-bottom, 0px));
  z-index:340;
  padding:10px 14px;
  border:1px solid rgba(242,196,0,.55);
  border-radius:22px;
  background:
    var(--noir-grain),
    linear-gradient(180deg, rgba(20,19,17,.96), #0b0a09);
  color:var(--yellow);
  font-family:var(--noir-display);
  font-size:11px;
  letter-spacing:.1em;
  box-shadow:0 10px 26px rgba(0,0,0,.6);
  cursor:pointer;
}
html.lmx-noirmob .noirChatFab__ico{ font-size:15px; }
html.lmx-noirmob .noirChatFab__n{
  min-width:20px;
  height:20px;
  line-height:20px;
  padding:0 6px;
  border-radius:10px;
  background:rgba(242,196,0,.18);
  color:rgba(240,232,210,.75);
  font-style:normal;
  font-size:11px;
  text-align:center;
}
html.lmx-noirmob .noirChatFab__n.is-on{
  background:var(--yellow);
  color:#17130a;
}

/* --- шторка с рейкой --- */
html.lmx-noirmob .noirChat__rail{
  position:fixed !important;
  left:0; right:0; bottom:0;
  z-index:360;
  max-height:78dvh;
  overflow-y:auto;
  display:flex !important;
  flex-direction:column;
  gap:12px;
  padding:16px 14px calc(20px + env(safe-area-inset-bottom, 0px));
  border-top:1px solid rgba(242,196,0,.45);
  border-radius:16px 16px 0 0;
  background:
    var(--noir-grain),
    linear-gradient(180deg,#141311,#0a0908);
  background-color:#0c0b0a;
  box-shadow:0 -20px 44px rgba(0,0,0,.7);
  transform:translateY(102%);
  transition:transform .25s ease;
}
html.lmx-chatsheet.lmx-noirmob .noirChat__rail{ transform:none !important; }
html.lmx-noirmob .noirChat__box{ width:100% !important; }
html.lmx-noirmob .noirChatSheet__close{
  align-self:flex-end;
  width:34px; height:34px;
  margin:-4px -2px 2px 0;
  border:1px solid rgba(242,196,0,.35);
  border-radius:50%;
  background:rgba(0,0,0,.4);
  color:var(--yellow);
  font-size:15px;
  cursor:pointer;
}
/* затемнение под шторкой */
html.lmx-chatsheet.lmx-noirmob .noirChat::after{
  content:"";
  position:fixed;
  inset:0;
  z-index:350;
  background:rgba(0,0,0,.6);
}


/* ============================================================
   v170: МОБИЛЬНЫЙ ЧАТ — оформление панелей в шторке.
   Стили панелей живут только в десктопном режиме, поэтому в
   мобильной шторке был голый текст. Переносим оформление.
   ============================================================ */

html.lmx-noirmob .noirChat__box{
  padding:14px !important;
  border-radius:12px;
  background:rgba(16,17,20,.92);
  border:1px solid rgba(242,196,0,.25);
}
html.lmx-noirmob .noirChat__boxHead{
  font-family:var(--noir-display);
  font-size:10.5px;
  letter-spacing:.16em;
  color:var(--yellow);
  margin-bottom:12px;
}
/* цель сцены */
html.lmx-noirmob .noirChat__goalBody b{
  display:block; font-family:var(--noir-display); font-size:14px; color:#f5f1e6;
}
html.lmx-noirmob .noirChat__goalBody i{
  display:block; margin-top:5px; font-style:normal; font-size:12.5px;
  line-height:1.5; color:rgba(240,232,210,.5);
}
html.lmx-noirmob .noirChat__goalBody ul{ margin:10px 0 0; padding-left:16px; }
html.lmx-noirmob .noirChat__goalBody li{
  font-size:12.5px; line-height:1.5; color:rgba(240,232,210,.65); margin-bottom:6px;
}
/* улики из чата */
html.lmx-noirmob .noirChat__foundRow{
  display:flex; align-items:center; justify-content:space-between; gap:10px;
  padding:10px 12px; margin-bottom:7px; border-radius:9px;
  background:rgba(0,0,0,.3); border:1px solid rgba(240,232,210,.1);
  font-family:var(--noir-display); font-size:11px; letter-spacing:.08em;
  color:rgba(240,232,210,.7);
}
html.lmx-noirmob .noirChat__foundRow b{ color:var(--yellow); font-size:13px; }
html.lmx-noirmob .noirChat__foundRow.is-zero{ opacity:.45; }
html.lmx-noirmob .noirChat__foundRow.is-zero b{ color:rgba(240,232,210,.4); }
/* кнопки действий */
html.lmx-noirmob .noirChat__act,
html.lmx-noirmob .noirChat__hintBtn{
  display:block !important; width:100% !important;
  margin:0 0 9px !important; padding:13px !important;
  cursor:pointer; border-radius:10px !important;
  font-family:var(--noir-display); font-size:11.5px !important; letter-spacing:.1em;
  color:var(--yellow) !important; background:transparent !important;
  border:1px solid rgba(242,196,0,.45) !important;
}
html.lmx-noirmob .noirChat__hintSlot:empty{ display:none; }
/* состояние героя */
html.lmx-noirmob .noirChat__stateRow{ margin-bottom:12px; }
html.lmx-noirmob .noirChat__stateRow > i{
  display:block; font-style:normal; font-family:var(--noir-display);
  font-size:9.5px; letter-spacing:.16em; color:rgba(240,232,210,.45); margin-bottom:6px;
}
html.lmx-noirmob .noirChat__stateRow span{ display:flex !important; gap:3px; }
html.lmx-noirmob .noirChat__stateRow span i{
  width:12px; height:14px; margin:0; border-radius:2px;
  background:rgba(240,232,210,.12);
}
html.lmx-noirmob .noirChat__stateRow span i.is-stress{ background:#e05c5c; }
html.lmx-noirmob .noirChat__stateRow span i.is-risk{ background:var(--yellow); }
html.lmx-noirmob .noirChat__stateNote{ font-size:12px; color:#ff9f9f; }

/* кнопка «МАТЕРИАЛЫ» наезжала на поле ввода — поднимаем и ужимаем */
html.lmx-noirmob .noirChatFab{
  bottom:auto !important;
  top:calc(64px + 62px) !important;
  right:10px !important;
  padding:8px 12px !important;
  font-size:10px !important;
}
html.lmx-noirmob .noirChatFab__lbl{ letter-spacing:.08em; }


/* ============================================================
   v171: ПЛАШКА COOKIE — на вебе и планшете.
   Баннер выводится всегда, но на широких экранах он был
   ограничен мобильной шириной (390px по центру у нижнего края)
   и терялся под полотном. Даём ему полную ширину, приоритет
   поверх оболочки и нуарное оформление.
   ============================================================ */
html.lmx-wide #cookie-banner{
  width:100% !important;
  max-width:none !important;
  left:0 !important;
  right:0 !important;
  transform:none !important;
  z-index:100000 !important;
  padding:16px 26px 18px !important;
  background:
    var(--noir-grain),
    linear-gradient(180deg, rgba(15,14,12,.97), rgba(10,9,8,.98)) !important;
  background-color:rgba(11,10,9,.98) !important;
  border-top:2px solid rgba(242,196,0,.6) !important;
}
html.lmx-wide #cookie-banner.visible{ display:flex !important; }
html.lmx-wide #cookie-banner{
  align-items:center;
  gap:22px;
  flex-wrap:wrap;
}
html.lmx-wide #cookie-banner .cb-title{
  font-family:var(--noir-display);
  letter-spacing:.12em;
  width:100%;
}
html.lmx-wide #cookie-banner .cb-text{
  flex:1 1 420px;
  min-width:260px;
  margin:0 !important;
}
html.lmx-wide #cookie-banner .cb-actions{
  flex:0 0 auto;
  display:flex;
  gap:10px;
  margin:0 !important;
}
html.lmx-wide #cookie-banner .cb-actions button{
  width:auto !important;
  min-width:150px;
  margin:0 !important;
  font-family:var(--noir-display);
  letter-spacing:.1em;
}
@media (max-width:899px){
  html.lmx-wide #cookie-banner{ padding:14px 16px 16px !important; gap:12px; }
  html.lmx-wide #cookie-banner .cb-actions{ width:100%; }
  html.lmx-wide #cookie-banner .cb-actions button{ flex:1 1 0; min-width:0; }
}


/* ============================================================
   v172: МОБИЛЬНЫЙ ЧАТ — две правки.
   1) Поле ввода уезжало под адресную строку: чат-модуль снимает
      мобильную геометрию с #msgChat, а взамен даёт десктопную,
      которой на телефоне нет. Прибиваем чат к своему экрану.
   2) Окно «Документы из чата» шло без оформления и лезло поверх
      всего — переносим стили и кладём выше шторки.
   ============================================================ */

/* --- 1. геометрия чата --- */
html.lmx-noirmob .noirChat{
  position:absolute !important;
  inset:0 !important;
  display:block !important;
}
html.lmx-noirmob .noirChat__grid{ height:100% !important; }
html.lmx-noirmob .noirChat__main{
  position:relative !important;
  height:100% !important;
}
html.lmx-noirmob .noirChat__main #msgChat{
  position:absolute !important;
  inset:0 !important;
  border-radius:0 !important;
  border:0 !important;
}

/* --- 2. окно материалов --- */
html.lmx-noirmob .noirMsgMat{
  position:fixed; inset:0; z-index:100060;
  display:flex; align-items:flex-end; justify-content:center;
  padding:0;
  background:rgba(0,0,0,.85);
  backdrop-filter:blur(6px);
}
html.lmx-noirmob .noirMsgMat__box{
  width:100%;
  max-height:86dvh;
  overflow:auto;
  padding:16px 14px calc(20px + env(safe-area-inset-bottom, 0px));
  border-radius:16px 16px 0 0;
  background:#101114;
  border:1px solid rgba(242,196,0,.35);
}
html.lmx-noirmob .noirMsgMat__head{
  display:flex; align-items:center; justify-content:space-between;
  gap:12px; margin-bottom:14px;
  font-family:var(--noir-display); font-size:12px;
  letter-spacing:.14em; color:var(--yellow);
}
html.lmx-noirmob .noirMsgMat__close{
  flex:0 0 auto;
  width:34px; height:34px; border-radius:8px; cursor:pointer; color:#f5f1e6;
  background:rgba(240,232,210,.07); border:1px solid rgba(240,232,210,.16);
}
html.lmx-noirmob .noirMsgMat__grid{
  display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); gap:10px;
}
html.lmx-noirmob .noirMsgMat__item{
  margin:0; padding:0; border-radius:10px; overflow:hidden;
  background:rgba(0,0,0,.35); border:1px solid rgba(240,232,210,.12);
}
html.lmx-noirmob .noirMsgMat__item--wide{ grid-column:1 / -1; padding:12px; }
html.lmx-noirmob .noirMsgMat__item--doc{
  display:flex; align-items:center; padding:14px; font-size:13px;
  color:var(--yellow); text-decoration:none;
}
html.lmx-noirmob .noirMsgMat__item img{
  width:100%; height:120px; object-fit:cover; display:block;
}
html.lmx-noirmob .noirMsgMat__item video,
html.lmx-noirmob .noirMsgMat__item audio{ width:100%; display:block; }
html.lmx-noirmob .noirMsgMat__item figcaption{
  padding:8px 10px; font-size:11.5px; line-height:1.4; color:rgba(240,232,210,.6);
}
html.lmx-noirmob .noirMsgMat__empty{
  grid-column:1/-1; padding:26px 16px; text-align:center;
  font-size:13px; color:rgba(240,232,210,.45);
}


/* ============================================================
   v173: ОТКАТ мобильной панели материалов в чате.
   Чат-модуль снова не работает на телефоне (см. noir_shell v142),
   поэтому кнопку и шторку прячем — мессенджер идёт родной
   мобильной вёрсткой: круглая кнопка отправки, поле ввода на месте.
   ============================================================ */
/* v174: панели снова включены — см. блок ниже */


/* ============================================================
   v174: МОБИЛЬНЫЙ ЧАТ — шторка материалов (чат не трогаем).
   Каркас чат-модуля скрыт скриптом, живой чат остался родным,
   а рейка с панелями вынесена в <body> как .noirChatSheet.
   ============================================================ */
html.lmx-noirmob .noirChatFab{
  display:flex !important;
  align-items:center;
  gap:8px;
  position:fixed;
  right:12px;
  top:calc(64px + 70px);
  z-index:340;
  padding:9px 13px;
  border:1px solid rgba(242,196,0,.55);
  border-radius:22px;
  background:
    var(--noir-grain),
    linear-gradient(180deg, rgba(20,19,17,.96), #0b0a09);
  color:var(--yellow);
  font-family:var(--noir-display);
  font-size:10.5px;
  letter-spacing:.1em;
  box-shadow:0 10px 26px rgba(0,0,0,.6);
  cursor:pointer;
}
html.lmx-noirmob .noirChatFab__ico{ font-size:15px; }

html.lmx-noirmob .noirChatSheet{
  display:flex !important;
  flex-direction:column;
  gap:12px;
  position:fixed;
  left:0; right:0; bottom:0;
  z-index:100050;
  max-height:80dvh;
  overflow-y:auto;
  padding:16px 14px calc(20px + env(safe-area-inset-bottom, 0px));
  border-top:1px solid rgba(242,196,0,.45);
  border-radius:16px 16px 0 0;
  background:
    var(--noir-grain),
    linear-gradient(180deg,#141311,#0a0908);
  background-color:#0c0b0a;
  box-shadow:0 -20px 44px rgba(0,0,0,.7);
  transform:translateY(102%);
  transition:transform .25s ease;
}
html.lmx-chatsheet.lmx-noirmob .noirChatSheet{ transform:none !important; }
html.lmx-noirmob .noirChatSheet__close{
  align-self:flex-end;
  width:34px; height:34px;
  border:1px solid rgba(242,196,0,.35);
  border-radius:50%;
  background:rgba(0,0,0,.4);
  color:var(--yellow);
  font-size:15px;
  cursor:pointer;
}


/* v175: мобильная шторка материалов отключена вместе с модулем (v144) */
html.lmx-noirmob .noirChatFab{ display:none !important; }
html.lmx-noirmob .noirChatSheet,
html.lmx-noirmob .noirChat__rail{ display:none !important; }
html.lmx-noirmob .noirChat{ display:none !important; }


/* ============================================================
   v176: МОБИЛЬНЫЙ МЕССЕНДЖЕР — панель «ДЕЛО» (#noirMobMat).
   Автономный модуль поверх родного чата: кнопка под шапкой,
   нижняя шторка с целью сцены, уликами и состоянием героя,
   отдельное окно материалов (#noirMobWin). Старые
   .noirChatFab/.noirChatSheet остаются погашенными (v175).
   ============================================================ */
html:not(.lmx-noirmob) #noirMobMat,
html:not(.lmx-noirmob) #noirMobWin{ display:none !important; }

/* --- кнопка вызова --- */
html.lmx-noirmob .noirMobMat__fab{
  display:flex;
  align-items:center;
  gap:7px;
  position:fixed;
  right:10px;
  top:calc(64px + 64px);
  z-index:340;
  padding:8px 12px;
  border:1px solid rgba(242,196,0,.55);
  border-radius:22px;
  background:
    var(--noir-grain),
    linear-gradient(180deg, rgba(20,19,17,.96), #0b0a09);
  background-color:#0c0b0a;
  color:var(--yellow);
  font-family:var(--noir-display);
  font-size:10px;
  letter-spacing:.1em;
  box-shadow:0 10px 26px rgba(0,0,0,.6);
  cursor:pointer;
}
html.lmx-noirmob .noirMobMat__fabIco{ font-size:14px; }
html.lmx-noirmob .noirMobMat__fabN{
  min-width:18px;
  height:18px;
  padding:0 5px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:9px;
  background:var(--yellow);
  color:#111;
  font-style:normal;
  font-size:10px;
  font-weight:700;
}

/* --- затемнение и шторка --- */
html.lmx-noirmob .noirMobMat__dim{
  position:fixed;
  inset:0;
  z-index:100040;
  background:rgba(0,0,0,.55);
  opacity:0;
  pointer-events:none;
  transition:opacity .2s ease;
}
html.lmx-noirmob #noirMobMat.is-open .noirMobMat__dim{
  opacity:1;
  pointer-events:auto;
}
html.lmx-noirmob .noirMobMat__sheet{
  display:flex;
  flex-direction:column;
  gap:12px;
  position:fixed;
  left:0; right:0; bottom:0;
  z-index:100050;
  max-height:80dvh;
  overflow-y:auto;
  -webkit-overflow-scrolling:touch;
  padding:14px 14px calc(20px + env(safe-area-inset-bottom, 0px));
  border-top:1px solid rgba(242,196,0,.45);
  border-radius:16px 16px 0 0;
  background:
    var(--noir-grain),
    linear-gradient(180deg,#141311,#0a0908);
  background-color:#0c0b0a;
  box-shadow:0 -20px 44px rgba(0,0,0,.7);
  transform:translateY(103%);
  transition:transform .25s ease;
}
html.lmx-noirmob #noirMobMat.is-open .noirMobMat__sheet{ transform:none; }
html.lmx-noirmob .noirMobMat__head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
}
html.lmx-noirmob .noirMobMat__head b{
  font-family:var(--noir-display);
  font-size:12px;
  letter-spacing:.18em;
  color:var(--yellow);
}
html.lmx-noirmob .noirMobMat__close{
  width:34px; height:34px;
  border:1px solid rgba(242,196,0,.35);
  border-radius:50%;
  background:rgba(0,0,0,.4);
  color:var(--yellow);
  font-size:15px;
  cursor:pointer;
}

/* --- панели внутри шторки --- */
html.lmx-noirmob .noirMobMat__box{
  padding:14px;
  border-radius:12px;
  background:rgba(16,17,20,.92);
  border:1px solid rgba(242,196,0,.25);
}
html.lmx-noirmob .noirMobMat__bh{
  font-family:var(--noir-display);
  font-size:10.5px;
  letter-spacing:.16em;
  color:var(--yellow);
  margin-bottom:12px;
}
html.lmx-noirmob .noirMobMat__goalBody b{
  display:block; font-family:var(--noir-display); font-size:14px; color:#f5f1e6;
}
html.lmx-noirmob .noirMobMat__goalBody i{
  display:block; margin-top:5px; font-style:normal; font-size:12.5px;
  line-height:1.5; color:rgba(240,232,210,.5);
}
html.lmx-noirmob .noirMobMat__goalBody ul{ margin:10px 0 0; padding-left:16px; }
html.lmx-noirmob .noirMobMat__goalBody li{
  font-size:12.5px; line-height:1.5; color:rgba(240,232,210,.65); margin-bottom:6px;
}
html.lmx-noirmob .noirMobMat__row{
  display:flex; align-items:center; justify-content:space-between; gap:10px;
  padding:10px 12px; margin-bottom:7px; border-radius:9px;
  background:rgba(0,0,0,.3); border:1px solid rgba(240,232,210,.1);
  font-family:var(--noir-display); font-size:11px; letter-spacing:.08em;
  color:rgba(240,232,210,.7);
}
html.lmx-noirmob .noirMobMat__row em{ font-style:normal; margin-right:8px; }
html.lmx-noirmob .noirMobMat__row b{ color:var(--yellow); font-size:13px; }
html.lmx-noirmob .noirMobMat__row.is-zero{ opacity:.45; }
html.lmx-noirmob .noirMobMat__row.is-zero b{ color:rgba(240,232,210,.4); }
html.lmx-noirmob .noirMobMat__btn{
  display:block; width:100%;
  margin:4px 0 0; padding:13px;
  cursor:pointer; border-radius:10px;
  font-family:var(--noir-display); font-size:11.5px; letter-spacing:.1em;
  color:var(--yellow); background:transparent;
  border:1px solid rgba(242,196,0,.45);
}
html.lmx-noirmob .noirMobMat__stateRow{ margin-bottom:12px; }
html.lmx-noirmob .noirMobMat__stateRow > i{
  display:block; font-style:normal; font-family:var(--noir-display);
  font-size:9.5px; letter-spacing:.16em; color:rgba(240,232,210,.45); margin-bottom:6px;
}
html.lmx-noirmob .noirMobMat__stateRow span{ display:flex; gap:3px; flex-wrap:wrap; }
html.lmx-noirmob .noirMobMat__stateRow span i{
  width:12px; height:14px; margin:0; border-radius:2px;
  background:rgba(240,232,210,.12);
}
html.lmx-noirmob .noirMobMat__stateRow span i.is-stress{ background:#e05c5c; }
html.lmx-noirmob .noirMobMat__stateRow span i.is-risk{ background:var(--yellow); }
html.lmx-noirmob .noirMobMat__note{ font-size:12px; color:#ff9f9f; }

/* --- окно материалов --- */
html.lmx-noirmob #noirMobWin{
  position:fixed;
  inset:0;
  z-index:100060;
  background:rgba(0,0,0,.6);
  display:flex;
  align-items:flex-end;
}
html.lmx-noirmob .noirMobWin__box{
  width:100%;
  max-height:84dvh;
  display:flex;
  flex-direction:column;
  border-top:1px solid rgba(242,196,0,.45);
  border-radius:16px 16px 0 0;
  background:
    var(--noir-grain),
    linear-gradient(180deg,#141311,#0a0908);
  background-color:#0c0b0a;
  box-shadow:0 -20px 44px rgba(0,0,0,.7);
}
html.lmx-noirmob .noirMobWin__head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding:14px 14px 10px;
  font-family:var(--noir-display);
  font-size:12px;
  letter-spacing:.18em;
  color:var(--yellow);
}
html.lmx-noirmob .noirMobWin__close{
  width:34px; height:34px;
  border:1px solid rgba(242,196,0,.35);
  border-radius:50%;
  background:rgba(0,0,0,.4);
  color:var(--yellow);
  font-size:15px;
  cursor:pointer;
}
html.lmx-noirmob .noirMobWin__grid{
  overflow-y:auto;
  -webkit-overflow-scrolling:touch;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
  padding:4px 14px calc(20px + env(safe-area-inset-bottom, 0px));
}
html.lmx-noirmob .noirMobWin__item{
  margin:0;
  padding:8px;
  border-radius:10px;
  background:rgba(16,17,20,.92);
  border:1px solid rgba(242,196,0,.22);
}
html.lmx-noirmob .noirMobWin__item--wide{ grid-column:span 2; padding:12px; }
html.lmx-noirmob .noirMobWin__item img{
  width:100%; display:block; border-radius:7px;
}
html.lmx-noirmob .noirMobWin__item video,
html.lmx-noirmob .noirMobWin__item audio{ width:100%; display:block; }
html.lmx-noirmob .noirMobWin__item figcaption{
  margin-top:7px; font-size:11px; line-height:1.4; color:rgba(240,232,210,.6);
}
html.lmx-noirmob .noirMobWin__item--doc{
  grid-column:span 2;
  display:block;
  padding:13px;
  font-size:12.5px;
  color:var(--yellow);
  text-decoration:none;
}
html.lmx-noirmob .noirMobWin__empty{
  grid-column:span 2;
  padding:18px 6px;
  font-size:12.5px;
  line-height:1.5;
  color:rgba(240,232,210,.5);
}


/* ============================================================
   v177: SAFARI/iPad — обложки «по высоте соседней колонки».
   Приём «img{height:100%} внутри растянутого grid-ряда» —
   циклическая зависимость (высота ряда ← контент ← 100% от
   ряда). Blink сжимает картинку до текстовой колонки, WebKit
   отдаёт ей натуральную высоту — на живом iPad обложки хаба и
   страниц игр вырастали на всю картинку и ложились поверх
   остальных блоков. Лечение: картинка absolute-заливкой
   ВЫВОДИТСЯ из расчёта высоты, ряд меряется только по тексту —
   одинаково в обоих движках. На телефоне (lmx-noirmob) у героя
   своя фикс-высота — там ничего не меняем.
   ============================================================ */

/* --- хаб: баннер-герой --- */
html.lmx-noirbar:not(.lmx-noirmob) .noirHero__cover{
  position:relative;
  height:auto !important;
  align-self:stretch;
  min-height:196px;
  overflow:hidden;
}
html.lmx-noirbar:not(.lmx-noirmob) .noirHero__cover img{
  position:absolute !important;
  inset:0;
  width:100% !important;
  height:100% !important;
  min-height:0;
  max-height:none;
  object-fit:cover;
}

/* --- страница игры: обложка слева от панели описания --- */
html.lmx-noirbar:not(.lmx-noirmob) .noirGame__coverCol > .noirGame__cover{
  position:relative;
  min-height:320px;
  overflow:hidden;
}
html.lmx-noirbar:not(.lmx-noirmob) .noirGame__coverCol > .noirGame__cover img{
  position:absolute;
  inset:10px;              /* паспарту обложки — прежний внутренний отступ */
  width:auto;
  height:auto;
  min-height:0;
  max-height:none;
  object-fit:cover;
  border-radius:7px;
}
/* вариант --dom и раньше жил без минимальной высоты — сохраняем */
html.lmx-noirbar:not(.lmx-noirmob) .noirGame--dom .noirGame__coverCol > .noirGame__cover{
  min-height:0;
}


/* ============================================================
   v178: добивка WebKit-циклов height:100% (продолжение v177).
   1) Страница игры: цикл сидел на обёртке .noirGame__coverCol
      {height:100%} — v177 чинил картинку, а раздувалась обёртка.
   2) Низ хаба: .noirSeason/.noirFile{height:100%} в растянутом
      гриде — крафтовая бумага уезжала в бесконечность на iPad.
   Равнение колонок по высоте и так делает grid через
   align-items:stretch — процентные высоты здесь лишние.
   ============================================================ */

/* --- страница игры: обложка --- */
html.lmx-noirbar:not(.lmx-noirmob) .noirGame__coverCol{
  height:auto !important;
  align-self:stretch;
}
html.lmx-noirbar:not(.lmx-noirmob) .noirGame__cover{
  position:relative;
  overflow:hidden;
  min-height:320px;
}
html.lmx-noirbar:not(.lmx-noirmob) .noirGame__cover img{
  position:absolute;
  inset:10px;              /* паспарту обложки */
  width:auto;
  height:auto;
  min-height:0;
  max-height:none;
  object-fit:cover;
  border-radius:7px;
}
html.lmx-noirbar:not(.lmx-noirmob) .noirGame--dom .noirGame__cover{ min-height:0; }

/* --- низ хаба: рейтинг сезона + секретный файл --- */
html.lmx-noirbar:not(.lmx-noirmob) .noirSeason,
html.lmx-noirbar:not(.lmx-noirmob) .noirFile{
  height:auto !important;
  align-self:stretch;
}


/* ============================================================
   v179: обложка страницы игры — честные пропорции 16:9.
   Absolute-заливка (v177/178) чинила высоту, но кадрировала фото
   по форме колонки: на iPad оставался «кусочек» снимка. Даём
   картинке собственную высоту через aspect-ratio — никакой
   зависимости от высоты соседней колонки, кадр как на вебе.
   Бумага-паспарту обнимает фото, а не тянется за колонкой.
   ============================================================ */
html.lmx-noirbar:not(.lmx-noirmob) .noirGame__coverCol{
  align-self:start;
}
html.lmx-noirbar:not(.lmx-noirmob) .noirGame__coverCol > .noirGame__cover{
  flex:0 0 auto;
  display:block;
}
html.lmx-noirbar:not(.lmx-noirmob) .noirGame__cover{
  min-height:0;
}
html.lmx-noirbar:not(.lmx-noirmob) .noirGame__cover img{
  position:static;
  inset:auto;
  width:100%;
  height:auto;
  aspect-ratio:16 / 9;
  min-height:0;
  max-height:70vh;
  object-fit:cover;
  border-radius:7px;
}


/* ============================================================
   v180: обложка страницы игры — РОДНЫЕ пропорции фото.
   Жёсткие 16:9 из v179 были ошибкой: обложки бывают выше
   (например, «Палата 7» ~4:3), и рамка срезала верх и низ
   везде, включая веб. Высота = ширина × натуральные пропорции
   картинки: определённая величина без циклов, кадр целиком.
   Кап 70vh на случай сверхвысоких вертикальных обложек.
   ============================================================ */
html.lmx-noirbar:not(.lmx-noirmob) .noirGame__cover img{
  position:static;
  inset:auto;
  aspect-ratio:auto;
  width:100%;
  height:auto;
  min-height:0;
  max-height:70vh;
  object-fit:cover;
  border-radius:7px;
}


/* ============================================================
   v181: обложка страницы игры — БЕЗ обрезки при любых пропорциях.
   max-height:70vh + object-fit:cover резали портретные обложки
   («Светлая Заводь») в горизонтальную полоску во всех браузерах —
   это и была «обрезанная картинка». contain показывает кадр
   целиком: горизонтальные фото занимают всю ширину как раньше,
   вертикальные встают в полный рост по центру паспарту.
   ============================================================ */
html.lmx-noirbar:not(.lmx-noirmob) .noirGame__cover img{
  object-fit:contain;
  object-position:center;
  background:rgba(0,0,0,.25);
}


/* ============================================================
   v182: обложка страницы игры — ОДНО итоговое правило.
   Отменяет всё, что я наслоила в v177–v181, и задаёт геометрию
   явно, с !important, чтобы ничто из ранних блоков не влияло:
   • колонка обложки не тянется по высоте правой панели
     (.noirGame__coverCol{height:100%} + flex:1 растягивали
      картинку как flex-элемент — отсюда и кроп);
   • рамка обнимает содержимое, содержимое показывается целиком
     в родных пропорциях, без зума и обрезки;
   • то же самое для видео трейлера, если оно стоит в рамке.
   ============================================================ */
html.lmx-noirbar:not(.lmx-noirmob) .noirGame__coverCol{
  display:block !important;
  height:auto !important;
  align-self:start !important;
}
html.lmx-noirbar:not(.lmx-noirmob) .noirGame__coverCol > .noirGame__cover{
  display:block !important;
  flex:0 0 auto !important;
  height:auto !important;
  min-height:0 !important;
  max-height:none !important;
}
html.lmx-noirbar:not(.lmx-noirmob) .noirGame__cover > img,
html.lmx-noirbar:not(.lmx-noirmob) .noirGame__cover > video{
  position:static !important;
  inset:auto !important;
  display:block !important;
  width:100% !important;
  height:auto !important;
  aspect-ratio:auto !important;
  min-height:0 !important;
  max-height:none !important;
  object-fit:contain !important;
  border-radius:7px !important;
}

/* ============================================================
   v183: «ПОДАРИТЬ РАССЛЕДОВАНИЕ» — витрина физических подарочных
   сертификатов (модуль noir_shell.js v149) + вход с «Подписки».
   Своего маршрута у страницы нет: панель .noirGiftWrap кладётся
   поверх .screen, как корзина и «Мои заказы».
   ============================================================ */

/* ---------- вход на страницу с «Подписки» ---------- */
html.lmx-noirbar .noirSubGift{
  display:grid; grid-template-columns:76px minmax(0,1fr) auto;
  align-items:center; gap:20px;
  margin:26px 0 6px; padding:20px 24px;
  border:1px solid rgba(242,196,0,.34); border-radius:12px;
  background:
    var(--noir-grain) repeat,
    linear-gradient(100deg,rgba(242,196,0,.10),rgba(0,0,0,.42) 46%),
    #100e0c;
  box-shadow:0 14px 34px rgba(0,0,0,.4);
}
html.lmx-noirbar .noirSubGift__ico{
  width:76px; height:76px; display:grid; place-items:center;
}
html.lmx-noirbar .noirSubGift__ico img{
  width:100%; height:auto; display:block;
  filter:drop-shadow(0 8px 16px rgba(0,0,0,.55));
  transform:rotate(-4deg);
}
html.lmx-noirbar .noirSubGift:hover .noirSubGift__ico img{
  transform:rotate(-4deg) translateY(-3px) scale(1.04);
}
html.lmx-noirbar .noirSubGift__ico img{ transition:transform .22s ease; }
html.lmx-noirbar .noirSubGift__title{
  font-family:var(--noir-display); font-weight:700; font-size:22px;
  letter-spacing:.08em; color:#f5f1e6; text-transform:uppercase;
}
html.lmx-noirbar .noirSubGift__sub{
  margin:6px 0 0; font-size:13px; color:rgba(240,232,210,.62); max-width:560px;
}
html.lmx-noirbar .noirSubGift__btn{
  padding:16px 30px; border:none; border-radius:10px; cursor:pointer;
  font-family:var(--noir-display); font-weight:700; font-size:14px;
  letter-spacing:.1em; color:#171205; white-space:nowrap;
  background:
    url("assets/noir_wear.webp"),
    var(--noir-grain),
    linear-gradient(180deg,#eec21a 0%,#d9a900 100%);
  background-size:105px auto, auto, auto;
  background-blend-mode:multiply, normal, normal;
  box-shadow:0 10px 24px rgba(0,0,0,.45);
  transition:transform .16s, box-shadow .16s;
}
html.lmx-noirbar .noirSubGift__btn:hover{
  transform:translateY(-2px); box-shadow:0 14px 30px rgba(0,0,0,.55);
}

/* ---------- полотно страницы ---------- */
html.lmx-noirbar .noirGiftWrap{
  position:absolute; inset:0; z-index:6; overflow-y:auto;
  padding:16px 28px 54px;
  background:
    var(--noir-grain) repeat,
    linear-gradient(180deg,#131210,#0c0b0a);
}
html.lmx-noirbar .noirGiftWrap::-webkit-scrollbar{ width:10px; }
html.lmx-noirbar .noirGift{ max-width:1240px; margin:0 auto; }
html.lmx-noirbar .noirGift__load{
  padding:80px 0; text-align:center; color:rgba(240,232,210,.45);
  letter-spacing:.14em; font-size:12px;
}
html.lmx-noirbar .noirGift__backSlot{ margin-bottom:14px; }
html.lmx-noirbar .noirGift__back{
  display:inline-flex; align-items:center; gap:7px;
  padding:8px 14px 8px 10px;
  border:1px solid rgba(240,232,210,.18); border-radius:8px;
  background:rgba(0,0,0,.3); color:rgba(240,232,210,.75);
  font-family:var(--noir-display); font-weight:700;
  font-size:11px; letter-spacing:.12em; cursor:pointer;
  transition:border-color .2s, color .2s;
}
html.lmx-noirbar .noirGift__back:hover{ border-color:rgba(242,196,0,.5); color:var(--yellow); }
html.lmx-noirbar .noirGift__back svg{ width:15px; height:15px; }

/* ---------- шапка: текст слева, сцена с сертификатом справа ---------- */
html.lmx-noirbar .noirGift__hero{
  display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);
  gap:28px; align-items:center; margin-bottom:30px;
}
html.lmx-noirbar .noirGift__h1{
  display:block; font-family:var(--noir-display); font-weight:700;
  font-size:42px; line-height:1.02; letter-spacing:.05em;
  color:#f5f1e6; text-transform:uppercase; margin:0 0 6px;
}
html.lmx-noirbar .noirGift__h1::after{
  content:''; display:block; width:100%; height:0; margin-top:14px;
  border-bottom:2px dashed rgba(242,196,0,.5);
}
html.lmx-noirbar .noirGift__sub{
  margin:0 0 22px; font-size:15px; line-height:1.55;
  color:rgba(240,232,210,.72); max-width:520px;
}
html.lmx-noirbar .noirGift__badges{ display:flex; flex-wrap:wrap; gap:12px; }
html.lmx-noirbar .noirGift__badge{
  display:flex; align-items:center; gap:11px;
  padding:12px 18px; border:1px solid rgba(242,196,0,.42); border-radius:9px;
  background:rgba(0,0,0,.32);
  font-family:var(--noir-display); font-weight:700; font-size:11px;
  letter-spacing:.09em; line-height:1.35; color:#efe7d2; text-transform:uppercase;
}
html.lmx-noirbar .noirGift__badgeIco{ width:22px; height:22px; color:var(--yellow); flex-shrink:0; }

/* сцена: фон + PNG сертификата с прозрачным фоном поверх */
html.lmx-noirbar .noirGift__scene{
  position:relative; width:100%; aspect-ratio:16/10;
  border-radius:14px; overflow:hidden;
  background-size:cover; background-position:center;
  box-shadow:0 18px 44px rgba(0,0,0,.5);
}
html.lmx-noirbar .noirGift__scene.is-plain{
  background:
    var(--noir-scratch) repeat,
    var(--noir-grain) repeat,
    radial-gradient(120% 100% at 30% 20%,#221d17,#0d0c0a 70%);
  border:1px solid rgba(240,232,210,.12);
}
html.lmx-noirbar .noirGift__cert{
  position:absolute; display:block; height:auto;
  transform-origin:center center;
}
html.lmx-noirbar .noirGift__certStub{
  position:absolute; inset:18%; display:grid; place-items:center; gap:12px;
  border:2px dashed rgba(242,196,0,.35); border-radius:12px;
  color:rgba(240,232,210,.45); text-align:center; font-size:12px; line-height:1.5;
}
html.lmx-noirbar .noirGift__certStub svg{ width:38px; height:38px; color:rgba(242,196,0,.5); }
html.lmx-noirbar .noirGift__note{
  position:absolute; right:14px; top:14px; max-width:230px;
  display:flex; align-items:center; gap:9px;
  padding:11px 14px; border:1px dashed rgba(242,196,0,.6); border-radius:10px;
  background:rgba(10,9,8,.82); backdrop-filter:blur(2px);
  font-size:11.5px; line-height:1.35; color:#efe7d2;
}
html.lmx-noirbar .noirGift__noteIco{ width:24px; height:24px; color:var(--yellow); flex-shrink:0; }

/* ---------- заголовки секций ---------- */
html.lmx-noirbar .noirGift__secTitle{
  font-family:var(--noir-display); font-weight:700; font-size:15px;
  letter-spacing:.14em; color:#f0e8d2; text-transform:uppercase;
  margin:34px 0 4px; display:flex; align-items:center; gap:16px;
}
html.lmx-noirbar .noirGift__secTitle::after{
  content:''; flex:1 1 auto; height:0; border-bottom:2px dashed rgba(242,196,0,.4);
}
html.lmx-noirbar .noirGift__secSub{
  margin:0 0 16px; font-size:13px; color:rgba(240,232,210,.55);
}

/* ---------- карточки сроков ---------- */
html.lmx-noirbar .noirGift__plans{
  display:grid; grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px; margin:16px 0 26px;
}
html.lmx-noirbar .noirGift__plan{
  position:relative; padding:26px 22px 22px; cursor:pointer;
  border:1px solid rgba(240,232,210,.14); border-radius:12px;
  background:var(--noir-grain) repeat, #131110;
  text-align:center; transition:border-color .2s, transform .2s, box-shadow .2s;
}
html.lmx-noirbar .noirGift__plan:hover{ transform:translateY(-2px); border-color:rgba(242,196,0,.4); }
html.lmx-noirbar .noirGift__plan.is-on{
  border-color:rgba(242,196,0,.85);
  box-shadow:0 0 0 1px rgba(242,196,0,.35), 0 16px 34px rgba(0,0,0,.45);
}
html.lmx-noirbar .noirGift__planTape{
  position:absolute; top:-11px; left:18px;
  padding:5px 12px; border-radius:5px;
  background:linear-gradient(180deg,#eec21a,#d9a900); color:#171205;
  font-family:var(--noir-display); font-weight:700; font-size:10px; letter-spacing:.1em;
}
html.lmx-noirbar .noirGift__planTick{
  position:absolute; top:-12px; right:16px;
  width:26px; height:26px; border-radius:50%; display:grid; place-items:center;
  background:var(--yellow); color:#171205;
}
html.lmx-noirbar .noirGift__planTick svg{ width:15px; height:15px; }
html.lmx-noirbar .noirGift__planName{
  font-family:var(--noir-display); font-weight:700; font-size:24px;
  letter-spacing:.06em; color:#f5f1e6; text-transform:uppercase;
}
html.lmx-noirbar .noirGift__planDesc{
  margin-top:9px; font-size:12.5px; line-height:1.5; color:rgba(240,232,210,.6);
}
html.lmx-noirbar .noirGift__planPrice{
  margin:16px 0 18px; font-family:var(--noir-display); font-weight:700;
  font-size:32px; letter-spacing:.03em; color:var(--yellow);
}
html.lmx-noirbar .noirGift__planBtn{
  width:100%; padding:13px 10px; cursor:pointer;
  border:1px solid rgba(242,196,0,.55); border-radius:8px;
  background:rgba(0,0,0,.3); color:#f0e8d2;
  font-family:var(--noir-display); font-weight:700; font-size:12px; letter-spacing:.12em;
  transition:background .2s, color .2s;
}
html.lmx-noirbar .noirGift__plan.is-on .noirGift__planBtn,
html.lmx-noirbar .noirGift__planBtn:hover{ background:rgba(242,196,0,.16); color:var(--yellow); }

/* ---------- формы ---------- */
html.lmx-noirbar .noirGift__forms{
  display:grid; grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);
  gap:18px; margin-bottom:22px;
}
html.lmx-noirbar .noirGift__form{
  padding:22px 24px; border:1px solid rgba(240,232,210,.14); border-radius:12px;
  background:var(--noir-grain) repeat, #121110;
}
html.lmx-noirbar .noirGift__formHead{
  position:relative; margin-bottom:16px;
  font-family:var(--noir-display); font-weight:700; font-size:13px;
  letter-spacing:.13em; color:#f0e8d2; text-transform:uppercase;
}
html.lmx-noirbar .noirGift__formHead i{
  font-style:normal; color:rgba(240,232,210,.45); letter-spacing:.1em;
}
html.lmx-noirbar .noirGift__formIco{
  position:absolute; right:0; top:-2px; width:20px; height:20px; color:var(--yellow);
}
html.lmx-noirbar .noirGift__fieldRow{
  display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px;
}
html.lmx-noirbar .noirGift__field{ display:block; }
html.lmx-noirbar .noirGift__field > span{
  display:block; margin-bottom:7px;
  font-size:10.5px; letter-spacing:.13em; color:rgba(240,232,210,.5);
  text-transform:uppercase;
}
html.lmx-noirbar .noirGift__field + .noirGift__field{ margin-top:14px; }
html.lmx-noirbar .noirGift__inp{
  width:100%; padding:13px 14px; box-sizing:border-box;
  border:1px solid rgba(240,232,210,.2); border-radius:8px;
  background:rgba(0,0,0,.35); color:#f0e8d2; font-size:14px;
  font-family:inherit; outline:none; transition:border-color .2s;
}
html.lmx-noirbar .noirGift__inp:focus{ border-color:rgba(242,196,0,.65); }
html.lmx-noirbar .noirGift__inp--area{ resize:vertical; min-height:92px; line-height:1.5; }
html.lmx-noirbar .noirGift__hint,
html.lmx-noirbar .noirGift__count{
  display:block; margin-top:7px; font-style:normal;
  font-size:11px; color:rgba(240,232,210,.42);
}
html.lmx-noirbar .noirGift__count{ text-align:right; }
html.lmx-noirbar .noirGift__hintBox{
  padding:14px; border:1px dashed rgba(240,232,210,.22); border-radius:8px;
  font-size:12.5px; color:rgba(240,232,210,.6);
}

/* ---------- главная кнопка ---------- */
html.lmx-noirbar .noirGift__ctaWrap{ text-align:center; margin:4px 0 10px; }
html.lmx-noirbar .noirGift__cta{
  display:inline-flex; align-items:center; justify-content:center; gap:14px;
  min-width:420px; padding:20px 40px; cursor:pointer; border:none; border-radius:10px;
  font-family:var(--noir-display); font-weight:700; font-size:17px;
  letter-spacing:.1em; color:#171205; text-transform:uppercase;
  background:
    url("assets/noir_wear.webp"),
    var(--noir-grain),
    linear-gradient(180deg,#eec21a 0%,#d9a900 100%);
  background-size:105px auto, auto, auto;
  background-blend-mode:multiply, normal, normal;
  box-shadow:0 14px 32px rgba(0,0,0,.5);
  transition:transform .16s, box-shadow .16s;
}
html.lmx-noirbar .noirGift__cta:hover{ transform:translateY(-2px); box-shadow:0 18px 38px rgba(0,0,0,.6); }
html.lmx-noirbar .noirGift__ctaIco{ width:22px; height:22px; }
html.lmx-noirbar .noirGift__ctaNote{
  display:flex; align-items:center; justify-content:center; gap:8px;
  margin-top:12px; font-size:12px; color:rgba(240,232,210,.45);
}
html.lmx-noirbar .noirGift__lockIco{ width:14px; height:14px; }
html.lmx-noirbar .noirGift__err{
  margin-top:12px; padding:11px 14px;
  border:1px solid rgba(197,55,44,.6); border-radius:8px;
  background:rgba(197,55,44,.12); color:#ffb9b2; font-size:13px;
}

/* ---------- галерея реальных фото ---------- */
html.lmx-noirbar .noirGift__gallery{
  display:flex; flex-direction:column; gap:20px; margin-bottom:8px;
}
html.lmx-noirbar .noirGift__ph{
  display:grid; grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);
  gap:26px; align-items:center;
  padding:18px; border:1px solid rgba(240,232,210,.13); border-radius:12px;
  background:var(--noir-grain) repeat, #121110;
}
html.lmx-noirbar .noirGift__ph.is-left .noirGift__phPic{ order:2; }
html.lmx-noirbar .noirGift__ph.is-left .noirGift__phTxt{ order:1; }
html.lmx-noirbar .noirGift__phPic{
  padding:10px; border:1px solid rgba(240,232,210,.16); border-radius:10px;
  background:rgba(0,0,0,.4);
}
html.lmx-noirbar .noirGift__phPic img{
  display:block; width:100%; height:auto; border-radius:6px; cursor:zoom-in;
}
html.lmx-noirbar .noirGift__phNum{
  display:inline-block; margin-bottom:10px; padding:4px 10px;
  border:1px solid rgba(242,196,0,.5); border-radius:5px;
  font-family:var(--noir-display); font-weight:700; font-size:11px;
  letter-spacing:.12em; color:var(--yellow);
}
html.lmx-noirbar .noirGift__phTitle{
  margin:0 0 10px; font-family:var(--noir-display); font-weight:700;
  font-size:20px; letter-spacing:.05em; color:#f5f1e6; text-transform:uppercase;
}
html.lmx-noirbar .noirGift__phText{
  margin:0; font-size:14px; line-height:1.6; color:rgba(240,232,210,.68);
}

/* ---------- как активировать ---------- */
html.lmx-noirbar .noirGift__how{
  margin-top:26px; padding:24px 26px;
  border:1px solid rgba(242,196,0,.28); border-radius:12px;
  background:
    var(--noir-paper-grain) repeat,
    linear-gradient(160deg,rgba(201,184,150,.12),rgba(0,0,0,.4));
}
html.lmx-noirbar .noirGift__howHead{
  margin-bottom:14px; font-family:var(--noir-display); font-weight:700;
  font-size:14px; letter-spacing:.14em; color:var(--yellow); text-transform:uppercase;
}
html.lmx-noirbar .noirGift__steps{
  margin:0; padding-left:20px; display:grid; gap:9px;
  font-size:14px; line-height:1.5; color:rgba(240,232,210,.78);
}
html.lmx-noirbar .noirGift__steps li::marker{ color:var(--yellow); font-weight:700; }
html.lmx-noirbar .noirGift__valid{
  display:flex; align-items:center; gap:10px; margin-top:16px;
  padding-top:14px; border-top:1px dashed rgba(240,232,210,.2);
  font-size:12.5px; color:rgba(240,232,210,.6);
}
html.lmx-noirbar .noirGift__validIco{ width:18px; height:18px; color:var(--yellow); }

/* ---------- шаг 2: оформление ---------- */
html.lmx-noirbar .noirGift__coGrid{
  display:grid; grid-template-columns:minmax(0,1fr) 360px; gap:20px;
  align-items:start; margin-bottom:10px;
}
html.lmx-noirbar .noirGift__sum{
  padding:22px 24px; border:1px solid rgba(242,196,0,.3); border-radius:12px;
  background:var(--noir-grain) repeat, #14120f; position:sticky; top:8px;
}
html.lmx-noirbar .noirGift__sumTitle{
  margin-bottom:14px; font-family:var(--noir-display); font-weight:700;
  font-size:13px; letter-spacing:.14em; color:#f0e8d2; text-transform:uppercase;
}
html.lmx-noirbar .noirGift__sumLine{
  display:flex; justify-content:space-between; gap:12px; padding:8px 0;
  font-size:13.5px; color:rgba(240,232,210,.7);
}
html.lmx-noirbar .noirGift__sumLine b{ color:#f5f1e6; }
html.lmx-noirbar .noirGift__sumLine--soft b{ font-weight:500; color:rgba(240,232,210,.8); }
html.lmx-noirbar .noirGift__sumWish{
  margin:6px 0 2px; padding:10px 12px; border-left:2px solid rgba(242,196,0,.6);
  background:rgba(0,0,0,.3); font-size:12.5px; font-style:italic;
  color:rgba(240,232,210,.7);
}
html.lmx-noirbar .noirGift__sumTotal{
  display:flex; justify-content:space-between; align-items:baseline;
  margin:14px 0 16px; padding-top:14px;
  border-top:1px dashed rgba(240,232,210,.24);
  font-family:var(--noir-display); font-weight:700; letter-spacing:.1em;
  font-size:13px; color:rgba(240,232,210,.65); text-transform:uppercase;
}
html.lmx-noirbar .noirGift__sumTotal b{ font-size:26px; color:var(--yellow); }
html.lmx-noirbar .noirGift__cta--pay{ min-width:0; width:100%; padding:17px 20px; font-size:15px; }
html.lmx-noirbar .noirGift__backBtn{
  display:flex; align-items:center; justify-content:center; gap:8px;
  width:100%; margin-top:10px; padding:12px; cursor:pointer;
  border:1px solid rgba(240,232,210,.18); border-radius:8px;
  background:rgba(0,0,0,.3); color:rgba(240,232,210,.7);
  font-family:var(--noir-display); font-weight:700; font-size:11px; letter-spacing:.12em;
}
html.lmx-noirbar .noirGift__backBtn:hover{ border-color:rgba(242,196,0,.5); color:var(--yellow); }
html.lmx-noirbar .noirGift__backBtn svg{ width:14px; height:14px; }
html.lmx-noirbar .noirGift__safe{
  display:flex; align-items:flex-start; gap:8px; margin-top:14px;
  font-size:11.5px; line-height:1.45; color:rgba(240,232,210,.45);
}
html.lmx-noirbar .noirGift__safe svg{ width:15px; height:15px; flex-shrink:0; color:rgba(242,196,0,.65); }

/* ---------- заказ оформлен ---------- */
html.lmx-noirbar .noirGift__done{
  max-width:620px; margin:60px auto; padding:40px 34px; text-align:center;
  border:1px solid rgba(242,196,0,.35); border-radius:14px;
  background:var(--noir-grain) repeat, #131110;
}
html.lmx-noirbar .noirGift__doneIco{
  width:64px; height:64px; margin:0 auto 18px; border-radius:50%;
  display:grid; place-items:center; background:var(--yellow); color:#171205;
}
html.lmx-noirbar .noirGift__doneIco svg{ width:34px; height:34px; }
html.lmx-noirbar .noirGift__doneTitle{
  font-family:var(--noir-display); font-weight:700; font-size:26px;
  letter-spacing:.08em; color:#f5f1e6; text-transform:uppercase;
}
html.lmx-noirbar .noirGift__doneText{
  margin:12px 0 24px; font-size:14px; line-height:1.6; color:rgba(240,232,210,.7);
}

/* ---------- узкий десктоп и планшет ---------- */
@media (max-width:1400px){
  html.lmx-noirbar .noirGift__cta{ min-width:340px; font-size:15px; }
  html.lmx-noirbar .noirGift__coGrid{ grid-template-columns:minmax(0,1fr) 320px; }
}
@media (max-width:1099px){
  html.lmx-noirbar .noirGift__hero{ grid-template-columns:minmax(0,1fr); }
  html.lmx-noirbar .noirGift__h1{ font-size:34px; }
  html.lmx-noirbar .noirGift__plans{ grid-template-columns:minmax(0,1fr); }
  html.lmx-noirbar .noirGift__forms{ grid-template-columns:minmax(0,1fr); }
  html.lmx-noirbar .noirGift__fieldRow{ grid-template-columns:minmax(0,1fr); }
  html.lmx-noirbar .noirGift__coGrid{ grid-template-columns:minmax(0,1fr); }
  html.lmx-noirbar .noirGift__sum{ position:static; }
  html.lmx-noirbar .noirGift__ph{ grid-template-columns:minmax(0,1fr); gap:16px; }
  html.lmx-noirbar .noirGift__ph.is-left .noirGift__phPic{ order:0; }
  html.lmx-noirbar .noirGift__ph.is-left .noirGift__phTxt{ order:1; }
  html.lmx-noirbar .noirGift__cta{ min-width:0; width:100%; }
  html.lmx-noirbar .noirSubGift{ grid-template-columns:minmax(0,1fr); text-align:center; }
  html.lmx-noirbar .noirSubGift__ico{ margin:0 auto; }
}

/* окно просмотра фото сертификата (модуль страницы подарков) */
html.lmx-noirbar .noirGiftZoom{
  position:fixed; inset:0; z-index:100050; display:grid; place-items:center;
  padding:40px; background:rgba(6,5,4,.92); cursor:zoom-out;
}
html.lmx-noirbar .noirGiftZoom img{
  max-width:min(1100px,92vw); max-height:88vh; width:auto; height:auto;
  border-radius:10px; box-shadow:0 30px 70px rgba(0,0,0,.7);
}
html.lmx-noirbar .noirGiftZoom__x{
  position:absolute; top:22px; right:28px; width:42px; height:42px;
  border:1px solid rgba(240,232,210,.3); border-radius:50%;
  background:rgba(0,0,0,.5); color:#f0e8d2; font-size:24px; line-height:1; cursor:pointer;
}

/* ---------- «намекнуть о подарке»: баннер + окно ---------- */
html.lmx-noirbar .noirGiftHint{
  display:grid; grid-template-columns:84px minmax(0,1fr) auto;
  align-items:center; gap:22px; margin:26px 0 30px; padding:22px 26px;
  border:1px solid rgba(242,196,0,.34); border-radius:12px;
  background:
    var(--noir-grain) repeat,
    linear-gradient(100deg,rgba(242,196,0,.10),rgba(0,0,0,.42) 46%),
    #100e0c;
  box-shadow:0 14px 34px rgba(0,0,0,.4);
}
html.lmx-noirbar .noirGiftHint__ico{ width:84px; height:84px; display:grid; place-items:center; }
html.lmx-noirbar .noirGiftHint__ico img{
  width:100%; height:auto; display:block; transform:rotate(-4deg);
  filter:drop-shadow(0 8px 16px rgba(0,0,0,.55)); transition:transform .22s ease;
}
html.lmx-noirbar .noirGiftHint:hover .noirGiftHint__ico img{
  transform:rotate(-4deg) translateY(-3px) scale(1.04);
}
html.lmx-noirbar .noirGiftHint__title{
  font-family:var(--noir-display); font-weight:700; font-size:22px;
  letter-spacing:.08em; color:#f5f1e6; text-transform:uppercase;
}
html.lmx-noirbar .noirGiftHint__sub{
  margin:6px 0 0; font-size:13px; line-height:1.55;
  color:rgba(240,232,210,.62); max-width:620px;
}
html.lmx-noirbar .noirGiftHint__btn{
  padding:16px 34px; border:none; border-radius:10px; cursor:pointer;
  font-family:var(--noir-display); font-weight:700; font-size:14px;
  letter-spacing:.1em; color:#171205; white-space:nowrap;
  background:
    url("assets/noir_wear.webp"),
    var(--noir-grain),
    linear-gradient(180deg,#eec21a 0%,#d9a900 100%);
  background-size:105px auto, auto, auto;
  background-blend-mode:multiply, normal, normal;
  box-shadow:0 10px 24px rgba(0,0,0,.45);
  transition:transform .16s, box-shadow .16s;
}
html.lmx-noirbar .noirGiftHint__btn:hover{
  transform:translateY(-2px); box-shadow:0 14px 30px rgba(0,0,0,.55);
}

html.lmx-noirbar .noirGiftHintOv{
  position:fixed; inset:0; z-index:100040; display:grid; place-items:center;
  padding:30px; background:rgba(6,5,4,.86);
}
html.lmx-noirbar .noirGiftHintWin{
  position:relative; width:min(520px,94vw); max-height:88vh; overflow-y:auto;
  padding:28px 30px 26px; border-radius:16px;
  border:1px solid rgba(242,196,0,.4);
  background:var(--noir-grain) repeat, #14120f;
  box-shadow:0 30px 70px rgba(0,0,0,.7);
}
html.lmx-noirbar .noirGiftHintWin__x{
  position:absolute; top:14px; right:16px; width:34px; height:34px;
  border:1px solid rgba(240,232,210,.22); border-radius:50%;
  background:rgba(0,0,0,.4); color:#f0e8d2; font-size:20px; line-height:1; cursor:pointer;
}
html.lmx-noirbar .noirGiftHintWin__x:hover{ border-color:rgba(242,196,0,.6); color:var(--yellow); }
html.lmx-noirbar .noirGiftHintWin__head{
  display:grid; grid-template-columns:64px minmax(0,1fr); gap:16px;
  align-items:center; margin-bottom:22px; padding-right:36px;
}
html.lmx-noirbar .noirGiftHintWin__head img{
  width:64px; height:auto; display:block; transform:rotate(-4deg);
  filter:drop-shadow(0 6px 12px rgba(0,0,0,.5));
}
html.lmx-noirbar .noirGiftHintWin__title{
  font-family:var(--noir-display); font-weight:700; font-size:19px;
  letter-spacing:.08em; color:#f5f1e6; text-transform:uppercase;
}
html.lmx-noirbar .noirGiftHintWin__sub{
  margin-top:5px; font-size:12.5px; line-height:1.45; color:rgba(240,232,210,.55);
}
html.lmx-noirbar .noirGiftHint__form .noirGift__field + .noirGift__field{ margin-top:14px; }
html.lmx-noirbar .noirGiftHint__form .noirGift__field i{ font-style:normal; color:rgba(240,232,210,.35); }
html.lmx-noirbar .noirGiftHint__send{
  width:100%; margin-top:18px; padding:16px 20px; border:none; border-radius:10px; cursor:pointer;
  font-family:var(--noir-display); font-weight:700; font-size:14px;
  letter-spacing:.1em; color:#171205;
  background:
    url("assets/noir_wear.webp"),
    var(--noir-grain),
    linear-gradient(180deg,#eec21a 0%,#d9a900 100%);
  background-size:105px auto, auto, auto;
  background-blend-mode:multiply, normal, normal;
  box-shadow:0 10px 24px rgba(0,0,0,.45);
}
html.lmx-noirbar .noirGiftHint__send:hover{ transform:translateY(-1px); }
html.lmx-noirbar .noirGiftHint__note{
  margin-top:12px; text-align:center; font-size:11.5px; color:rgba(240,232,210,.4);
}
html.lmx-noirbar .noirGiftHint__done{ text-align:center; padding:6px 0 4px; }
html.lmx-noirbar .noirGiftHint__doneIco{
  width:56px; height:56px; margin:0 auto 14px; padding:14px; box-sizing:border-box;
  border-radius:50%; background:var(--yellow); color:#171205;
}
html.lmx-noirbar .noirGiftHint__doneTitle{
  font-family:var(--noir-display); font-weight:700; font-size:20px;
  letter-spacing:.08em; color:#f5f1e6; text-transform:uppercase;
}
html.lmx-noirbar .noirGiftHint__done p{
  margin:10px 0 0; font-size:13.5px; line-height:1.6; color:rgba(240,232,210,.7);
}
html.lmx-noirbar .noirGiftHint__done b{ color:var(--yellow); }
@media (max-width:1099px){
  html.lmx-noirbar .noirGiftHint{ grid-template-columns:minmax(0,1fr); text-align:center; }
  html.lmx-noirbar .noirGiftHint__ico{ margin:0 auto; }
  html.lmx-noirbar .noirGiftHint__sub{ margin-left:auto; margin-right:auto; }
}

/* ============================================================
   v186: «ПАРТНЁРСКАЯ СЕТЬ» — страница сотрудничества
   (модуль noir_shell.js v152). Панель поверх .screen.
   ============================================================ */

/* блоки-приглашения теперь кнопки, а не ссылки */
html.lmx-noirbar button.noirSpec__cta--join,
html.lmx-noirbar button.noirCt__joinBtn{
  border:none; cursor:pointer; font-family:var(--noir-display);
}
html.lmx-noirbar button.noirSpec__cta--join{ width:100%; }

html.lmx-noirbar .noirPartWrap{
  position:absolute; inset:0; z-index:6; overflow-y:auto;
  padding:16px 28px 54px;
  background:
    var(--noir-grain) repeat,
    linear-gradient(180deg,#131210,#0c0b0a);
}
html.lmx-noirbar .noirPartWrap::-webkit-scrollbar{ width:10px; }
html.lmx-noirbar .noirPart{ max-width:1240px; margin:0 auto; }
html.lmx-noirbar .noirPart__backSlot{ margin-bottom:12px; }
html.lmx-noirbar .noirPart__back{
  display:inline-flex; align-items:center; gap:7px;
  padding:8px 14px 8px 10px;
  border:1px solid rgba(240,232,210,.18); border-radius:8px;
  background:rgba(0,0,0,.3); color:rgba(240,232,210,.75);
  font-family:var(--noir-display); font-weight:700;
  font-size:11px; letter-spacing:.12em; cursor:pointer;
}
html.lmx-noirbar .noirPart__back:hover{ border-color:rgba(242,196,0,.5); color:var(--yellow); }
html.lmx-noirbar .noirPart__back svg{ width:15px; height:15px; }

html.lmx-noirbar .noirPart__crumbs{
  font-size:10.5px; letter-spacing:.18em; color:rgba(240,232,210,.42);
  text-transform:uppercase; margin-bottom:8px;
}
html.lmx-noirbar .noirPart__head{
  display:flex; align-items:center; gap:20px; margin-bottom:22px;
}
html.lmx-noirbar .noirPart__h1{
  display:block; margin:0; font-family:var(--noir-display); font-weight:700;
  font-size:40px; line-height:1; letter-spacing:.06em;
  color:#f5f1e6; text-transform:uppercase;
}
html.lmx-noirbar .noirPart__h1::after{ content:none; }
html.lmx-noirbar .noirPart__secret{
  padding:7px 14px; border:2px solid rgba(197,55,44,.75); border-radius:4px;
  transform:rotate(-3deg); color:#d8493c;
  font-family:var(--noir-display); font-weight:700; font-size:11px; letter-spacing:.14em;
}

/* шапка: текст слева, карта справа */
html.lmx-noirbar .noirPart__hero{
  display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);
  gap:20px; align-items:stretch; margin-bottom:12px;
}
html.lmx-noirbar .noirPart__intro{
  padding:24px 26px; border:1px solid rgba(242,196,0,.28); border-radius:12px;
  background:var(--noir-grain) repeat, #121110;
}
html.lmx-noirbar .noirPart__caseNo{
  font-family:var(--noir-display); font-weight:700; font-size:11px;
  letter-spacing:.16em; color:var(--yellow); text-transform:uppercase; margin-bottom:12px;
}
html.lmx-noirbar .noirPart__h2{
  margin:0 0 14px; font-family:var(--noir-display); font-weight:700;
  font-size:30px; line-height:1.16; letter-spacing:.03em;
  color:#f5f1e6; text-transform:uppercase;
}
html.lmx-noirbar .noirPart__h2 b{ color:var(--yellow); font-weight:700; }
html.lmx-noirbar .noirPart__text{
  margin:0 0 20px; font-size:14px; line-height:1.6; color:rgba(240,232,210,.68);
}
html.lmx-noirbar .noirPart__btns{ display:flex; flex-wrap:wrap; gap:12px; margin-bottom:22px; }
html.lmx-noirbar .noirPart__cta{
  padding:15px 26px; border:none; border-radius:9px; cursor:pointer;
  font-family:var(--noir-display); font-weight:700; font-size:13px;
  letter-spacing:.09em; color:#171205;
  background:
    url("assets/noir_wear.webp"),
    var(--noir-grain),
    linear-gradient(180deg,#eec21a 0%,#d9a900 100%);
  background-size:105px auto, auto, auto;
  background-blend-mode:multiply, normal, normal;
  box-shadow:0 10px 22px rgba(0,0,0,.42);
  transition:transform .16s, box-shadow .16s;
}
html.lmx-noirbar .noirPart__cta:hover{ transform:translateY(-2px); box-shadow:0 14px 28px rgba(0,0,0,.5); }
html.lmx-noirbar .noirPart__cta--wide{ width:100%; margin-top:18px; padding:17px 20px; font-size:14px; }
html.lmx-noirbar .noirPart__ghost{
  padding:15px 24px; border:1px solid rgba(242,196,0,.5); border-radius:9px; cursor:pointer;
  background:rgba(0,0,0,.3); color:#f0e8d2;
  font-family:var(--noir-display); font-weight:700; font-size:13px; letter-spacing:.09em;
}
html.lmx-noirbar .noirPart__ghost:hover{ background:rgba(242,196,0,.14); color:var(--yellow); }
html.lmx-noirbar .noirPart__facts{
  display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px;
  padding-top:18px; border-top:1px dashed rgba(240,232,210,.2);
}
html.lmx-noirbar .noirPart__fact b{
  display:block; font-family:var(--noir-display); font-weight:700;
  font-size:24px; color:var(--yellow); margin-bottom:6px;
}
html.lmx-noirbar .noirPart__fact span{
  font-size:10.5px; letter-spacing:.1em; line-height:1.45;
  color:rgba(240,232,210,.5); text-transform:uppercase;
}

/* карта */
html.lmx-noirbar .noirPart__mapBox{
  position:relative; border:1px solid rgba(240,232,210,.14); border-radius:12px;
  overflow:hidden; min-height:340px; background:#0d0d0f;
}
html.lmx-noirbar .noirPart__mapTag{
  position:absolute; left:14px; top:14px; z-index:600;
  display:flex; align-items:center; gap:8px;
  padding:9px 14px; border:1px solid rgba(242,196,0,.5); border-radius:8px;
  background:rgba(10,9,8,.86);
  font-family:var(--noir-display); font-weight:700; font-size:11px;
  letter-spacing:.1em; color:#f0e8d2;
}
html.lmx-noirbar .noirPart__mapTag i{
  font-style:normal; font-family:var(--sans); font-weight:400;
  letter-spacing:0; color:rgba(240,232,210,.55); font-size:11.5px;
}
html.lmx-noirbar .noirPart__mapIco{ width:15px; height:15px; color:var(--yellow); }
html.lmx-noirbar .noirPart__map{ position:absolute; inset:0; }
html.lmx-noirbar .noirPart__mapEmpty{
  height:100%; display:grid; place-items:center; padding:40px;
  text-align:center; font-size:12.5px; line-height:1.6; color:rgba(240,232,210,.45);
}

/* шаги */
html.lmx-noirbar .noirPart__secTitle{
  display:flex; align-items:center; gap:16px; margin:30px 0 14px;
  font-family:var(--noir-display); font-weight:700; font-size:15px;
  letter-spacing:.13em; color:#f0e8d2; text-transform:uppercase;
}
html.lmx-noirbar .noirPart__secTitle i{
  font-style:normal; font-size:10.5px; letter-spacing:.14em; color:rgba(240,232,210,.45);
}
html.lmx-noirbar .noirPart__secTitle::after{
  content:''; flex:1 1 auto; height:0; border-bottom:2px dashed rgba(242,196,0,.4);
}
html.lmx-noirbar .noirPart__secTitle--in{ margin-top:0; }
html.lmx-noirbar .noirPart__steps{
  display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px;
}
html.lmx-noirbar .noirPart__step{
  padding:18px 18px 20px; border:1px solid rgba(240,232,210,.13); border-radius:12px;
  background:var(--noir-grain) repeat, #121110;
}
html.lmx-noirbar .noirPart__stepHead{
  display:flex; align-items:center; justify-content:space-between;
  font-family:var(--noir-display); font-weight:700; font-size:10.5px;
  letter-spacing:.16em; color:var(--yellow); margin-bottom:12px;
}
html.lmx-noirbar .noirPart__stepArr svg{ width:16px; height:16px; color:rgba(242,196,0,.55); }
html.lmx-noirbar .noirPart__stepTitle{
  font-family:var(--noir-display); font-weight:700; font-size:15px;
  letter-spacing:.05em; color:#f5f1e6; text-transform:uppercase; margin-bottom:8px;
}
html.lmx-noirbar .noirPart__stepText{
  margin:0; font-size:12.5px; line-height:1.55; color:rgba(240,232,210,.6);
}

/* низ: что получает партнёр + заявка */
html.lmx-noirbar .noirPart__bottom{
  display:grid; grid-template-columns:minmax(0,1fr) minmax(0,.85fr);
  gap:18px; align-items:start; margin-top:28px;
}
html.lmx-noirbar .noirPart__gains,
html.lmx-noirbar .noirPart__form{
  padding:22px 24px; border:1px solid rgba(240,232,210,.14); border-radius:12px;
  background:var(--noir-grain) repeat, #121110;
}
html.lmx-noirbar .noirPart__form{ border-color:rgba(242,196,0,.32); }
html.lmx-noirbar .noirPart__gainGrid{
  display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px;
}
html.lmx-noirbar .noirPart__gain{
  padding:16px; border:1px solid rgba(240,232,210,.1); border-radius:10px;
  background:rgba(0,0,0,.28);
}
html.lmx-noirbar .noirPart__gainIco{ width:22px; height:22px; color:var(--yellow); margin-bottom:10px; }
html.lmx-noirbar .noirPart__gainTitle{
  font-family:var(--noir-display); font-weight:700; font-size:12px;
  letter-spacing:.1em; color:var(--yellow); text-transform:uppercase; margin-bottom:7px;
}
html.lmx-noirbar .noirPart__gainText{
  margin:0; font-size:12px; line-height:1.5; color:rgba(240,232,210,.6);
}
html.lmx-noirbar .noirPart__formats{
  display:flex; flex-wrap:wrap; gap:8px; margin-top:16px;
}
html.lmx-noirbar .noirPart__fmt{
  padding:7px 13px; border:1px solid rgba(240,232,210,.18); border-radius:999px;
  background:rgba(0,0,0,.3); font-size:11px; letter-spacing:.06em; color:rgba(240,232,210,.7);
}

html.lmx-noirbar .noirPart__formHead{
  display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:14px;
}
html.lmx-noirbar .noirPart__tag{
  padding:6px 12px; border-radius:5px; background:rgba(242,196,0,.16);
  border:1px solid rgba(242,196,0,.4); color:var(--yellow);
  font-family:var(--noir-display); font-weight:700; font-size:10px; letter-spacing:.14em;
}
html.lmx-noirbar .noirPart__stamp{
  padding:6px 12px; border:2px solid rgba(197,55,44,.7); border-radius:4px;
  transform:rotate(-4deg); color:#d8493c;
  font-family:var(--noir-display); font-weight:700; font-size:10px; letter-spacing:.12em;
}
html.lmx-noirbar .noirPart__formTitle{
  font-family:var(--noir-display); font-weight:700; font-size:24px;
  letter-spacing:.05em; color:#f5f1e6; text-transform:uppercase; margin-bottom:10px;
}
html.lmx-noirbar .noirPart__formText{
  margin:0 0 18px; font-size:13px; line-height:1.55; color:rgba(240,232,210,.64);
}
html.lmx-noirbar .noirPart__fields{
  display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px;
}
html.lmx-noirbar .noirPart__field{ display:block; }
html.lmx-noirbar .noirPart__field--wide{ grid-column:1 / -1; }
html.lmx-noirbar .noirPart__field > span{
  display:block; margin-bottom:7px;
  font-size:10.5px; letter-spacing:.12em; color:rgba(240,232,210,.5); text-transform:uppercase;
}
html.lmx-noirbar .noirPart__field > span i{ font-style:normal; color:rgba(240,232,210,.32); }
html.lmx-noirbar .noirPart__field input,
html.lmx-noirbar .noirPart__field select,
html.lmx-noirbar .noirPart__field textarea{
  width:100%; padding:12px 14px; box-sizing:border-box;
  border:1px solid rgba(240,232,210,.2); border-radius:8px;
  background:rgba(0,0,0,.35); color:#f0e8d2; font-size:14px;
  font-family:inherit; outline:none; transition:border-color .2s;
}
html.lmx-noirbar .noirPart__field textarea{ resize:vertical; min-height:80px; line-height:1.5; }
html.lmx-noirbar .noirPart__field input:focus,
html.lmx-noirbar .noirPart__field select:focus,
html.lmx-noirbar .noirPart__field textarea:focus{ border-color:rgba(242,196,0,.65); }
html.lmx-noirbar .noirPart__err{
  margin-top:14px; padding:11px 14px;
  border:1px solid rgba(197,55,44,.6); border-radius:8px;
  background:rgba(197,55,44,.12); color:#ffb9b2; font-size:13px;
}
html.lmx-noirbar .noirPart__note{
  margin-top:12px; text-align:center; font-size:11.5px; color:rgba(240,232,210,.42);
}
html.lmx-noirbar .noirPart__done{ text-align:center; padding:26px 10px; }
html.lmx-noirbar .noirPart__doneIco{
  width:56px; height:56px; margin:0 auto 14px; padding:14px; box-sizing:border-box;
  border-radius:50%; background:var(--yellow); color:#171205; display:block;
}
html.lmx-noirbar .noirPart__doneTitle{
  font-family:var(--noir-display); font-weight:700; font-size:22px;
  letter-spacing:.08em; color:#f5f1e6; text-transform:uppercase;
}
html.lmx-noirbar .noirPart__done p{
  margin:10px auto 0; max-width:420px; font-size:13.5px; line-height:1.6;
  color:rgba(240,232,210,.68);
}

@media (max-width:1400px){
  html.lmx-noirbar .noirPart__h2{ font-size:26px; }
  html.lmx-noirbar .noirPart__steps{ grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:1099px){
  html.lmx-noirbar .noirPart__hero{ grid-template-columns:minmax(0,1fr); }
  html.lmx-noirbar .noirPart__mapBox{ min-height:280px; }
  html.lmx-noirbar .noirPart__bottom{ grid-template-columns:minmax(0,1fr); }
  html.lmx-noirbar .noirPart__fields{ grid-template-columns:minmax(0,1fr); }
  html.lmx-noirbar .noirPart__gainGrid{ grid-template-columns:minmax(0,1fr); }
  html.lmx-noirbar .noirPart__h1{ font-size:32px; }
}


/* v88: плашка «общая доска команды» (#board=). Живой узел .bteam из app.js;
   на десктопе noir_shell переносит его в строку рядом с «КОМБИНАЦИЯМИ». */
.bteam{
  display:flex; align-items:center; gap:8px;
  margin:0 0 10px; padding:10px 14px; border-radius:12px;
  font-size:11px; font-weight:800; letter-spacing:.12em;
  color:#f2c400; background:rgba(242,196,0,.08);
  border:1px solid rgba(242,196,0,.32);
}
.noirBrd__strips .bteam{ margin:0; }


/* ============================================================
   v194: лайтбокс поверх нуар-окон.
   Глобальный просмотрщик фото (#imgLightboxOverlay, app.js) имеет
   инлайновый z-index:99999, а окна «Материалы дела» и прочие
   нуар-оверлеи живут на 100040–100070 — фото открывалось ПОЗАДИ
   окна. !important в CSS перебивает инлайн-стиль. 100200 — выше
   любого нашего слоя, лайтбокс всегда последний сверху.
   ============================================================ */
#imgLightboxOverlay{ z-index:100200 !important; }


/* ============================================================
   v195: живые шкалы состояния в чате — плашки-дельты и вспышка.
   ============================================================ */
html.lmx-noirbar .noirChat__state{ position:relative; }
html.lmx-noirbar .noirChat__deltaWrap{
  position:absolute; top:8px; right:10px; display:flex; flex-direction:column;
  gap:5px; align-items:flex-end; pointer-events:none; z-index:2;
}
html.lmx-noirbar .noirChat__delta{
  font-family:var(--noir-display); font-size:10.5px; letter-spacing:.1em;
  padding:4px 9px; border-radius:8px; white-space:nowrap;
  background:rgba(229,87,87,.16); border:1px solid rgba(229,87,87,.55); color:#e57;
  opacity:0; transform:translateY(-4px);
  animation:noirDeltaIn .25s ease forwards;
  transition:opacity .45s ease, transform .45s ease;
}
html.lmx-noirbar .noirChat__delta.is-risk{
  background:rgba(242,196,0,.14); border-color:rgba(242,196,0,.55); color:var(--yellow);
}
html.lmx-noirbar .noirChat__delta.is-down{
  background:rgba(110,205,140,.14); border-color:rgba(110,205,140,.55); color:#7deba0;
}
html.lmx-noirbar .noirChat__delta.is-out{ opacity:0 !important; transform:translateY(-8px); }
@keyframes noirDeltaIn{ from{opacity:0; transform:translateY(-4px)} to{opacity:1; transform:translateY(0)} }
html.lmx-noirbar .noirChat__stress.is-flash i,
html.lmx-noirbar .noirChat__risk.is-flash i{
  animation:noirBarFlash .7s ease;
}
@keyframes noirBarFlash{
  0%{ filter:brightness(1) }
  30%{ filter:brightness(2.1) }
  100%{ filter:brightness(1) }
}


/* v71: кнопка «К ЗАДАНИЮ» в досье (над «Работа с делом»), уликах, допросах и у информатора */
html.lmx-noirbar .noirDos__go--mid{ margin:0 0 26px; }
html.lmx-noirbar .noirClues__goWrap{ margin-top:14px; }
html.lmx-noirbar .noirSpk__goWrap{ margin-top:2px; }

/* ============================================================
   АРХИВ ДЕЛ ДНЯ (#dailyarchive) — сетку и вид карточек даёт общий
   класс noirCases__cards (тот же, что на странице «Дела»).
   Здесь только выравнивание высоты обложек: у дел дня они разных
   пропорций (баннеры и квадраты), поэтому фиксируем и кадрируем.
   ============================================================ */
html.lmx-noirbar #dailyArchiveRoot .noirCases__cards{ margin-top:12px; }
html.lmx-noirbar #dailyArchiveRoot .noirCases__cards .caseCard__thumb{
  height:158px !important;
}
html.lmx-noirbar #dailyArchiveRoot .noirCases__cards .caseCard__thumb img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

/* v198 — бейджи «новые вопросы» в допросной */
.noirIntr__pplNew{
  padding:3px 7px; border-radius:6px; font-family:var(--noir-display); font-size:9.5px;
  letter-spacing:.06em; color:var(--yellow);
  background:rgba(242,196,0,.14); border:1px solid rgba(242,196,0,.5);
  white-space:nowrap; flex-shrink:0;
}
.noirIntr__kpi--new{ border-color:var(--yellow); background:rgba(242,196,0,.1); }
.noirIntr__kpi--new i{ color:rgba(242,196,0,.75); }

/* === OSM tiles -> noir dark (CARTO закрыл бесплатные тайлы) === */
img.leaflet-tile{filter:invert(1) grayscale(1) brightness(.85) contrast(1.08);}


/* ============================================================
 * v201: КОРЗИНА НА ТЕЛЕФОНЕ — фикс «панель открывается поверх хаба».
 *
 * Причина: нуарные токены (--noir-display, --noir-grain) объявлены
 * на html.lmx-wide, а телефон работает в режиме html.lmx-noirmob.
 * На хабе телефон получает и класс lmx-noirbar, поэтому панель
 * корзины строилась, но её фон `var(--noir-grain), linear-gradient(...)`
 * оказывался невалидным целиком — свойство отбрасывалось, панель
 * получалась прозрачной и ложилась на контент хаба.
 *
 * Здесь: токены объявлены ЛОКАЛЬНО на самой панели (на остальную
 * мобильную вёрстку это не влияет) плюс телефонная геометрия —
 * панель на весь экран, одна колонка, компактные карточки.
 * app.js и noir_shell.js не трогаются.
 * ============================================================ */
@media (max-width:899px){
  html.lmx-noirbar .noirCartWrap{
    --noir-display:'Tektur', var(--sans);
    position:fixed; inset:0; z-index:600;
    padding:14px 14px 40px;
    background:linear-gradient(180deg,#131210,#0c0b0a);
    -webkit-overflow-scrolling:touch;
    overscroll-behavior:contain;
  }
  html.lmx-noirbar .noirCart{ max-width:100%; }

  html.lmx-noirbar .noirCart__head{ gap:12px; margin-bottom:8px; }
  html.lmx-noirbar .noirCart__h1{ font-size:23px; letter-spacing:.05em; }
  html.lmx-noirbar .noirCart__sub{ margin-bottom:16px; font-size:12px; }

  html.lmx-noirbar .noirCart__grid{ grid-template-columns:1fr; gap:14px; }

  /* карточка позиции: фото слева, кнопки уходят под текст */
  html.lmx-noirbar .noirCart__line{
    grid-template-columns:84px minmax(0,1fr);
    gap:12px; padding:10px;
  }
  html.lmx-noirbar .noirCart__pic{ width:84px; height:74px; }
  html.lmx-noirbar .noirCart__title{ font-size:14px; }
  html.lmx-noirbar .noirCart__prices{ margin-top:8px; gap:6px; }
  html.lmx-noirbar .noirCart__price{ padding:5px 9px; }
  html.lmx-noirbar .noirCart__ctrl{
    grid-column:1 / -1; flex-direction:row;
    align-items:center; justify-content:space-between;
  }

  /* правая рейка и блок гарантий — в одну колонку */
  html.lmx-noirbar .noirCart__rail{ padding:16px 16px 18px; }
  html.lmx-noirbar .noirCart__trust{
    grid-template-columns:1fr 1fr; gap:14px 0; padding:16px 4px;
  }
  html.lmx-noirbar .noirCart__trustBox:nth-child(2){ border-right:0; }
  html.lmx-noirbar .noirCart__empty{ padding:44px 12px; }
}


/* ============================================================
 * v202: «ЛУЧШИЕ КОМАНДЫ / ДЕТЕКТИВЫ ДЕЛА» на карточке дела.
 * Панель наполняется асинхронно из /api/games/{id}/case-top;
 * пока данных нет — блока не существует визуально (is-on).
 * Оформление повторяет .noirGame__box, чтобы витрина читалась
 * как ещё одна карточка досье под боксами.
 * ============================================================ */
html.lmx-noirbar .noirTop3{ display:none; }
html.lmx-noirbar .noirTop3.is-on{
  display:block; position:relative;
  margin-top:16px; padding:18px 22px 16px;
  border-radius:11px;
  background:url("assets/noir_card.webp") no-repeat center;
  background-size:100% 100%;
  box-shadow:0 10px 26px rgba(0,0,0,.45);
}
html.lmx-noirbar .noirTop3.is-on::after{
  content:""; position:absolute; inset:0; border-radius:11px;
  border:1px solid rgba(242,196,0,.22); pointer-events:none;
}
html.lmx-noirbar .noirTop3__head{
  font-family:var(--noir-display); font-weight:700;
  font-size:13px; letter-spacing:.1em; color:var(--yellow);
  margin-bottom:12px;
}
html.lmx-noirbar .noirTop3__row{
  display:flex; align-items:center; gap:10px;
  padding:9px 0; font-size:14px; color:rgba(240,232,210,.88);
}
html.lmx-noirbar .noirTop3__row + .noirTop3__row{
  border-top:1px solid rgba(240,232,210,.09);
}
html.lmx-noirbar .noirTop3__medal{ font-size:16px; width:24px; text-align:center; flex:0 0 auto; }
html.lmx-noirbar .noirTop3__logo{
  width:22px; height:22px; border-radius:50%; object-fit:cover; flex:0 0 auto;
}
html.lmx-noirbar .noirTop3__name{
  flex:1 1 auto; min-width:0; overflow:hidden;
  text-overflow:ellipsis; white-space:nowrap;
}
html.lmx-noirbar .noirTop3__date{
  font-size:12px; color:rgba(240,232,210,.4); flex:0 0 auto;
}
html.lmx-noirbar .noirTop3__pts{
  font-family:var(--noir-display); font-weight:700;
  color:var(--yellow); flex:0 0 auto; min-width:56px; text-align:right;
}
@media (max-width:899px){
  html.lmx-noirbar .noirTop3.is-on{ padding:14px 16px 12px; }
  html.lmx-noirbar .noirTop3__row{ font-size:13px; gap:8px; }
}


/* ============================================================
   v203: БАННЕР «ЗАКРЫТЫЙ КАНАЛ АГЕНТСТВА» НА ХАБЕ.
   Правая колонка верхнего ряда стала контейнером
   .noirDash__side: сверху досье агента, снизу — приглашение
   в телеграм-канал (как на референсе). Селекторы вида
   .noirDash__top .noirProfile не ломаются — профиль остался
   тем же узлом, просто на уровень глубже.
   ============================================================ */

html.lmx-noirbar .noirDash__side{
  min-width:0;
  height:100%;
  display:flex;
  flex-direction:column;
  gap:18px;
}
html.lmx-noirbar .noirDash__side > .noirProfile{ flex:0 1 auto; margin-top:0; }
html.lmx-noirbar .noirDash__side > .noirChan{ flex:0 0 auto; }

/* ---------- сам баннер ---------- */
html.lmx-noirbar .noirChan{
  position:relative;
  overflow:hidden;
  border-radius:8px;
  border:1px solid rgba(242,196,0,.4);
  background-image:
    var(--noir-grain),
    linear-gradient(180deg, rgba(18,17,14,.75), rgba(11,10,8,.85));
  box-shadow:0 16px 34px rgba(0,0,0,.45);
  padding:18px 20px 16px;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
}
html.lmx-noirbar .noirChan__art{
  position:absolute;
  right:10px;
  bottom:6px;
  width:132px;
  height:132px;
  color:rgba(242,196,0,.5);
  pointer-events:none;
}
html.lmx-noirbar .noirChan__art svg{ width:100%; height:100%; display:block; }
html.lmx-noirbar .noirChan__title{
  position:relative;
  color:#f0ece0;
  text-shadow:0 2px 0 rgba(0,0,0,.6);
  margin:0 0 10px;
  max-width:74%;
  line-height:1.15;
}
html.lmx-noirbar .noirChan__desc{
  position:relative;
  font-size:13px;
  line-height:1.5;
  color:rgba(240,232,210,.66);
  margin:0 0 16px;
  max-width:70%;
}
html.lmx-noirbar .noirChan__btn{
  position:relative;
  display:inline-block;
  text-decoration:none;
  padding:12px 22px;
  font-size:12px;
  letter-spacing:.1em;
  width:auto;
  align-self:flex-start;
}
html.lmx-noirbar .noirChan__meta{
  position:relative;
  margin-top:12px;
  font-size:12px;
  letter-spacing:.06em;
  color:rgba(240,232,210,.42);
}
html.lmx-noirbar .noirChan__meta b{
  color:rgba(240,232,210,.72);
  font-weight:600;
}

/* ---------- планшет ---------- */
@media (max-width:1199px){
  html.lmx-noirbar .noirChan{ padding:16px 18px 14px; }
  html.lmx-noirbar .noirChan__art{ width:112px; height:112px; }
  html.lmx-noirbar .noirChan__desc{ font-size:12.5px; max-width:74%; }
}
@media (max-width:899px){
  html.lmx-noirbar .noirDash__side{ gap:14px; }
}

/* ---------- телефон ---------- */
html.lmx-noirmob .noirDash__side{
  display:flex !important;
  flex-direction:column !important;
  gap:14px !important;
  height:auto !important;
}
html.lmx-noirmob .noirChan{ padding:14px 14px 12px !important; }
html.lmx-noirmob .noirChan__art{
  width:92px !important; height:92px !important;
  right:4px !important; bottom:2px !important;
  opacity:.7;
}
html.lmx-noirmob .noirChan__title{ font-size:15px !important; max-width:78% !important; }
html.lmx-noirmob .noirChan__desc{
  font-size:12.5px !important;
  max-width:78% !important;
  margin-bottom:14px !important;
}
html.lmx-noirmob .noirChan__desc br{ display:none; }
html.lmx-noirmob .noirChan__btn{ width:100%; text-align:center; }


/* ============================================================
   v204: ФИКС ВЫСОТЫ ВЕРХНЕГО РЯДА ХАБА.
   С появлением баннера канала правая колонка стала выше
   баннера-героя, а из-за align-items:stretch (v-блок выше)
   ряд мерился по ней — обложка «Квартиры на Лесной»
   растягивалась на всю высоту. Теперь колонки живут своей
   высотой: герой меряется по тексту, досье+канал — по себе.
   ============================================================ */
html.lmx-noirbar .noirDash__top{ align-items:start; }
html.lmx-noirbar .noirDash__lead{ height:auto; }
html.lmx-noirbar .noirDash__side{ height:auto; }


/* ============================================================
   v205: БАННЕР КАНАЛА — ДОВОДКА ПОД РЕФЕРЕНС.
   - карточка ниже: убрана строка «Telegram • @ppdoz»,
     отступ текст→кнопка вдвое меньше, паддинги плотнее;
   - жёлтая обводка жирнее;
   - кнопка ровная (без рваной маски .cta), как на макете;
   - вышка связи — картинка assets/noir_tg_tower.webp.
   За счёт этого правая колонка короче и «МОИ ДЕЛА»
   поднимаются, как на референсе.
   ============================================================ */
html.lmx-noirbar .noirDash__side{ gap:14px; }

html.lmx-noirbar .noirChan{
  border:2px solid rgba(242,196,0,.55);
  padding:15px 18px 14px;
}
html.lmx-noirbar .noirChan__title{ margin:0 0 8px; max-width:70%; }
html.lmx-noirbar .noirChan__desc{
  font-size:12.5px;
  line-height:1.5;
  margin:0 0 8px;
  max-width:66%;
}
html.lmx-noirbar .noirChan__meta{ display:none !important; }

/* Кнопка: сплошная жёлтая плашка со скруглением, без рваной
   маски и царапин (маска и фон приходят из общего .cta) */
html.lmx-noirbar .noirChan__btn{
  -webkit-mask-image:none !important;
  mask-image:none !important;
  background:linear-gradient(180deg,#f3c81b 0%,#e0ac00 100%) !important;
  border-radius:5px;
  padding:11px 20px;
  font-size:12px;
  letter-spacing:.1em;
  color:#100e0a;
  box-shadow:0 8px 18px rgba(0,0,0,.45);
}

/* Вышка связи */
html.lmx-noirbar .noirChan__art{
  position:absolute;
  right:16px;
  bottom:14px;
  width:auto;
  height:112px;
  opacity:.9;
  pointer-events:none;
  user-select:none;
}

/* ---------- планшет ---------- */
@media (max-width:1199px){
  html.lmx-noirbar .noirChan{ padding:14px 16px 12px; }
  html.lmx-noirbar .noirChan__art{ height:96px; right:12px; bottom:12px; }
}

/* ---------- телефон ---------- */
html.lmx-noirmob .noirChan__art{
  height:84px !important;
  width:auto !important;
  right:8px !important;
  bottom:10px !important;
  opacity:.8;
}
html.lmx-noirmob .noirChan__btn{ width:100%; text-align:center; }


/* ============================================================
   v206: БАННЕР КАНАЛА — КНОПКА И ВЫСОТА ПРАВОЙ КОЛОНКИ.
   1) Кнопка «ПОЛУЧИТЬ ДОСТУП» больше НЕ наследует .cta
      (класс снят в noir_shell.js) — рваная маска и царапины
      к ней не приезжают, это ровная жёлтая плашка как на макете.
   2) Правая колонка ужата ещё: плотнее баннер, меньше зазор
      между досье и баннером, чуть компактнее само досье —
      «МОИ ДЕЛА» поднимаются примерно на 55px.
   ============================================================ */

/* ---------- кнопка ---------- */
html.lmx-noirbar .noirChan__btn,
html.lmx-noirbar .noirDash .noirChan__btn{
  display:inline-block;
  align-self:flex-start;
  width:auto;
  text-decoration:none;
  font-family:var(--noir-display);
  font-weight:700;
  font-size:12px;
  letter-spacing:.1em;
  text-transform:uppercase;
  color:#100e0a;
  background:linear-gradient(180deg,#f7cf22 0%,#e5b100 100%);
  background-image:linear-gradient(180deg,#f7cf22 0%,#e5b100 100%);
  border:0;
  border-radius:5px;
  padding:10px 18px;
  box-shadow:0 8px 18px rgba(0,0,0,.45);
  text-shadow:none;
  cursor:pointer;
  -webkit-mask-image:none;
  mask-image:none;
  transition:filter .15s ease;
}
html.lmx-noirbar .noirChan__btn:hover{ filter:brightness(1.08); }

/* ---------- баннер плотнее ---------- */
html.lmx-noirbar .noirDash__side{ gap:10px; }
html.lmx-noirbar .noirChan{ padding:13px 16px 13px; }
html.lmx-noirbar .noirChan__title{ font-size:16px; margin:0 0 6px; }
html.lmx-noirbar .noirChan__desc{
  font-size:12px;
  line-height:1.45;
  margin:0 0 7px;
}
html.lmx-noirbar .noirChan__art{ height:96px; right:14px; bottom:10px; }

/* ---------- досье агента чуть компактнее (только десктоп) ---------- */
@media (min-width:900px){
  html.lmx-noirbar:not(.lmx-noirmob) .noirProfile{ padding:10px 16px 11px; }
  html.lmx-noirbar:not(.lmx-noirmob) .noirProfile__title{ margin:0 0 8px; }
  html.lmx-noirbar:not(.lmx-noirmob) .noirProfile__id{
    grid-template-columns:150px minmax(0,1fr);
    gap:16px;
  }
}
@media (min-width:900px) and (max-width:1400px){
  html.lmx-noirbar:not(.lmx-noirmob) .noirProfile__id{
    grid-template-columns:112px minmax(0,1fr);
    gap:14px;
  }
}


/* ============================================================
   v207: «МОИ ДЕЛА» — В ЛЕВУЮ КОЛОНКУ, КАК НА РЕФЕРЕНСЕ.
   Заголовок с пунктиром и «ВСЕ ДЕЛА →» переехал в
   .noirDash__lead (перенос в noir_shell.js) и прижат к низу
   колонки — пунктир кончается там же, где начинается досье
   агента, а пустота под «Лесной» закрыта. Сам ряд снова
   выравнивается по высоте, но герой при этом НЕ растягивается.
   ============================================================ */
html.lmx-noirbar .noirDash__top{ align-items:stretch; }
html.lmx-noirbar .noirDash__lead{ height:auto; }
html.lmx-noirbar .noirDash__lead .noirSec.noirHero{ flex:0 0 auto; }

html.lmx-noirbar .noirDash__lead > .noirMyCases--head{
  display:block;
  margin-top:auto;      /* прижать к низу колонки */
  padding-top:26px;
  width:100%;
}
html.lmx-noirbar .noirDash__lead > .noirMyCases--head > .subbar{
  margin:0 !important;
}
/* карточки идут сразу под верхним рядом — заголовок уже выше */
html.lmx-noirbar .noirDash > .noirSec.noirMyCases{ margin-top:0; }
