@font-face{font-family:'Garamond';src:local('EB Garamond'),local('Georgia');}
  :root{ --menu-font:"Times New Roman",Georgia,serif; }
  *{margin:0;padding:0;box-sizing:border-box;}
  .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0;}
  html{background:#0a0a0a;}            /* тёмный фолбэк в самом низу, позади #bg */
  html,body{min-height:100%;}
  body{overflow-x:hidden;}

  /* фон страницы */
  /* Фон 562 КБ качается только там, где его видно целиком. На телефоне он всё равно
     обрезан до полоски, а preload и так ограничен десктопом — раньше правило висело
     на всех ширинах, и мобильные тянули картинку впустую. */
  #bg{position:fixed;inset:0;z-index:-1;background:#0a0a0a;}
  @media (min-width:900px){
    #bg{background:url("../page_bg.webp") center top no-repeat;background-size:cover;}
  }

  /* ===== ВЕРХНЕЕ МЕНЮ ===== */
  /* топ-бар: фикс. сверху, обрезает 1920-сцену (нет горизонт. скролла) */
  #topbar{position:fixed;top:0;left:0;width:100%;overflow:hidden;z-index:20;}
  #stage{position:absolute;top:0;left:0;width:1920px;height:130px;transform-origin:top left;}
  .abs{position:absolute;}
  #bg_header{left:-64px;top:-4px;width:2048px;height:95px;}     /* полоса (исходник 2048x128, сжат до 95) */
  /* вкладки: flex-центр внутри сцены 1920 → центрируются кроссбраузерно; сцена масштабирует */
  /* «Сейчас в игре» слева в шапке: левый угол пустовал, справа стоит язык —
     так шапка уравновешена. Высота и top совпадают с #tabs, а justify-content:center
     ставит блок ровно по центру строки меню. Цифру обновляет крон (bin/steam_online.php) */
  /* height совпадает с высотой ТЕКСТА пункта меню (20 px), а не контейнера #tabs (46 px):
     иначе блок центрируется по контейнеру и визуально висит ниже строки меню */
  .hdr-online{position:absolute;left:66px;top:26px;height:20px;z-index:6;
    display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:2px;
    font-family:var(--menu-font);white-space:nowrap;line-height:1;}
  .hdr-online .ho-row{display:flex;align-items:center;gap:7px;}
  .hdr-online .ho-num{color:#d9b777;font-size:20px;letter-spacing:.06em;}
  .hdr-online .ho-cap{font-size:10.5px;letter-spacing:.17em;color:#837e72;text-transform:uppercase;
    padding-left:14px;}
  .hdr-online .ho-dot{width:7px;height:7px;border-radius:50%;flex:0 0 auto;
    background:#7fbf6a;box-shadow:0 0 7px rgba(127,191,106,.8);
    animation:hopulse 2.4s ease-in-out infinite;}
  #tabs{position:absolute;left:0;top:26px;width:1920px;height:46px;
        display:flex;justify-content:center;align-items:flex-start;gap:64px;font-family:var(--menu-font);}
  .tab{position:relative;cursor:pointer;user-select:none;text-decoration:none;
       text-transform:uppercase;letter-spacing:1px;font-size:17px;
       color:#8f8f8f;transition:color .12s;white-space:nowrap;}
  .tab:hover{color:#adadad;}
  .tab.active{color:#ffffff;}
  #langsw{position:absolute;right:40px;top:22px;z-index:21;background:#15171a;color:#cfcabe;
       border:1px solid #3a3e41;border-radius:5px;padding:5px 24px 5px 10px;font-size:15px;line-height:1.1;
       font-family:var(--menu-font);cursor:pointer;}
  #langsw-m{display:none;background:#15171a;color:#cfcabe;border:1px solid #3a3e41;border-radius:5px;
       padding:5px 8px;font-size:13px;cursor:pointer;}
  .tab:focus-visible{color:#adadad;outline:1px solid #6b6b6b;outline-offset:3px;}
  .tab.active::after{content:"";position:absolute;left:-4px;right:-4px;bottom:-9px;height:4px;
       background:url("../tab_underline.webp") center/100% 100% no-repeat;}

  /* мобильные элементы меню */
  #mobilebar{display:none;}

  @media (max-width:899px){
    #stage{display:none;}
    #mobilebar{display:flex;align-items:center;position:fixed;top:0;left:0;right:0;z-index:30;
      width:100%;height:56px;background:url("../bg_header.webp") center/cover no-repeat,#0a0a0a;
      box-shadow:0 1px 0 rgba(0,0,0,.6);}
    #hamburger{width:46px;height:46px;margin-left:8px;display:flex;flex-direction:column;
      justify-content:center;align-items:center;gap:5px;background:transparent;border:0;cursor:pointer;flex:0 0 auto;}
    #hamburger span{display:block;width:24px;height:2px;background:#cfcfcf;transition:transform .2s,opacity .2s;}
    #hamburger:focus-visible{outline:1px solid #6b6b6b;outline-offset:2px;}
    #mobilebar.open #hamburger span:nth-child(1){transform:translateY(7px) rotate(45deg);}
    #mobilebar.open #hamburger span:nth-child(2){opacity:0;}
    #mobilebar.open #hamburger span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}
    /* длинные названия («Обратная связь») ужимаются многоточием: рядом стоят
       счётчик и выпадашка языка, иначе она вылезала за правый край */
    #currentlabel{font-family:var(--menu-font);color:#fff;text-transform:uppercase;letter-spacing:1px;
      font-size:18px;margin-left:6px;white-space:nowrap;user-select:none;
      min-width:0;overflow:hidden;text-overflow:ellipsis;}
    #langsw-m{display:block;margin-left:auto;margin-right:10px;flex:0 0 auto;}
    #mobilemenu{display:none;position:fixed;top:56px;left:0;right:0;z-index:29;
      background:rgba(12,12,12,.97);border-top:1px solid #2a2a2a;box-shadow:0 8px 24px rgba(0,0,0,.6);}
    #mobilebar.open ~ #mobilemenu{display:block;}
    .mtab{display:block;width:100%;height:46px;line-height:46px;padding:0 20px;font-family:var(--menu-font);
      text-transform:uppercase;letter-spacing:1px;font-size:18px;color:#8a8a8a;border:0;background:transparent;
      text-align:left;cursor:pointer;border-bottom:1px solid #1c1c1c;}
    .mtab:last-child{border-bottom:0;}
    .mtab.active{color:#fff;}
    .mtab:hover{background:#171717;}
    .mtab:focus-visible{background:#171717;outline:2px solid #6b6b6b;outline-offset:-2px;}
  }

  /* ===== КОНТЕНТ / ВИДЫ ===== */
  #content{position:relative;z-index:10;padding:120px 16px 48px;}
  .view{display:none;}
  .view.active{display:block;}
  /* ---- ГЛАВНАЯ ---- */
  .home-hero{max-width:920px;margin:0 auto;padding:0 22px 64px;text-align:center;}
  .home-emblem{margin-bottom:16px;}
  .home-emblem img{filter:drop-shadow(0 2px 6px rgba(0,0,0,.6));opacity:.92;}
  .home-title{font-family:var(--menu-font);font-size:clamp(30px,5vw,52px);letter-spacing:1px;color:#e7e1d3;
    text-transform:uppercase;line-height:1.06;margin-bottom:14px;text-shadow:0 2px 10px rgba(0,0,0,.55);}
  .home-lead{font-size:clamp(15px,2vw,19px);color:#a8a394;max-width:640px;margin:0 auto 38px;line-height:1.5;}
  /* живая цифра «сейчас в игре» — данные кладёт крон, см. bin/steam_online.php */
  .home-online{display:inline-flex;align-items:center;gap:7px;margin:-18px auto 34px;
    font-size:15px;color:#9b9689;letter-spacing:.01em;}
  .home-online b{color:#d9b777;font-weight:600;font-size:17px;}
  .ho-dot{width:7px;height:7px;border-radius:50%;background:#7fbf6a;box-shadow:0 0 6px rgba(127,191,106,.8);
    animation:hopulse 2.4s ease-in-out infinite;}
  .ho-src{font-size:12.5px;}
  @keyframes hopulse{0%,100%{opacity:1}50%{opacity:.35}}
  @media (prefers-reduced-motion:reduce){ .ho-dot{animation:none} }
  /* в мобильном баре места мало: точка и число, подпись — в title */
  .mb-online{display:flex;align-items:center;gap:6px;margin-left:auto;margin-right:8px;flex:0 0 auto;
    font-family:var(--menu-font);font-size:15px;color:#d9b777;white-space:nowrap;}
  .mb-online .ho-dot{width:7px;height:7px;border-radius:50%;background:#7fbf6a;
    box-shadow:0 0 6px rgba(127,191,106,.8);animation:hopulse 2.4s ease-in-out infinite;}
  @media (max-width:360px){ .mb-online{display:none;} }   /* совсем узкие — не теснимся */
  .home-news{max-width:700px;margin:0 auto 40px;text-align:left;border-top:1px solid #232220;padding-top:26px;}
  .hn-head{font-family:var(--menu-font);font-size:15px;letter-spacing:2px;text-transform:uppercase;color:#c9a063;margin:0 0 16px;}
  .hn-item{margin-bottom:18px;}
  .hn-date{display:block;font-size:12.5px;letter-spacing:1px;color:#6f6a5e;margin-bottom:4px;}
  .hn-title{font-size:17px;color:#ddd6c6;margin:0 0 8px;font-weight:600;}
  .hn-list{margin:0;padding-left:18px;color:#9b9689;font-size:15px;line-height:1.55;}
  .hn-list li{margin-bottom:4px;}
  .home-disclaimer{font-size:15.5px;color:#7c776a;max-width:700px;margin:0 auto;line-height:1.6;border-top:1px solid #232220;padding-top:22px;}
  @media(max-width:760px){ .home-hero{padding:0 16px 48px;} }

  /* ---------- РАНДОМАЙЗЕР: экран снаряжения по центру ---------- */
  #view-rand{display:none;}
  #view-rand.active{display:flex;}
  .loadwrap{position:relative;overflow:hidden;}     /* обрезает layout-свес масштабированного экрана */
  .screen{position:relative;width:437px;height:648px;overflow:hidden;
          transform-origin:top left;font-family:"Georgia","Times New Roman",serif;}
  #view-rand .inner{position:absolute;left:-52px;top:-8px;width:624px;height:667px;}  /* сдвиг группы; исходные размеры — чтобы подписи не переносились; лишнее обрежет .screen */
  .screen img{position:absolute;display:block;}
  #view-rand .label{position:absolute;z-index:5;color:#d8d2c4;font-size:23px;font-weight:400;letter-spacing:.3px;}
  #view-rand .reel-host.copyable{cursor:pointer;}
  #view-rand .reel-host.copyable:hover{filter:brightness(1.25);}
  .rz-copytoast{position:fixed;z-index:9999;transform:translate(-50%,-100%);background:#1c1812;color:#e8d6a8;border:1px solid #c9a063;border-radius:6px;padding:5px 11px;font-size:13px;font-weight:600;white-space:nowrap;pointer-events:none;box-shadow:0 4px 16px rgba(0,0,0,.55);animation:rzcopy 1s ease-out forwards;}
  @keyframes rzcopy{0%{opacity:0;transform:translate(-50%,-55%);}18%{opacity:1;transform:translate(-50%,-100%);}100%{opacity:0;transform:translate(-50%,-165%);}}
  .rz-modal-ov{position:fixed;inset:0;z-index:10000;background:rgba(0,0,0,.66);display:flex;align-items:center;justify-content:center;padding:20px;animation:rzfade .2s ease-out;}
  @keyframes rzfade{from{opacity:0}to{opacity:1}}
  .rz-modal{background:#15120d;border:1px solid #c9a063;border-radius:10px;max-width:430px;padding:26px 26px 22px;box-shadow:0 12px 44px rgba(0,0,0,.6);text-align:center;}
  .rz-modal h3{margin:0 0 12px;color:#c9a063;font-size:21px;font-weight:700;}
  .rz-modal p{margin:0 0 22px;color:#e2dccd;font-size:15px;line-height:1.55;}
  .rz-modal .rz-btn{display:inline-block;width:auto;padding:11px 22px;font-size:15px;}
  #view-rand .slot{position:absolute;z-index:3;}
  #view-rand .slot img.fill{position:absolute;left:0;top:0;width:100%;height:100%;z-index:1;}
  #view-rand .icon{position:absolute;z-index:10;object-fit:contain;}
  #view-rand .plus{position:absolute;z-index:10;object-fit:contain;}
  #view-rand .pip{position:absolute;z-index:11;}
  #view-rand .qty{position:absolute;z-index:12;color:#e8e2d4;font-size:16px;font-family:Arial,sans-serif;}
  /* ---- рандомайзер: крутилка в ячейках ---- */
  #view-rand.active{flex-direction:row;align-items:flex-start;justify-content:center;gap:22px;}
  .rz-main{display:flex;flex-direction:column;align-items:center;}
  /* левая колонка: настройки + история */
  .rz-left{margin-top:8px;flex:0 0 auto;display:flex;flex-direction:column;gap:16px;}
  /* панель фильтров слева — холодный стиль игры (UI 3.0, charcoal-grey) */
  .rz-filters{width:248px;
    background:linear-gradient(180deg,#202223,#171819);border:1px solid #34383b;border-radius:6px;
    padding:18px 18px 20px;box-shadow:0 4px 16px rgba(0,0,0,.55);}
  .rz-filters h3{font-family:"Trebuchet MS","Segoe UI",sans-serif;text-transform:uppercase;letter-spacing:.16em;
    font-size:16px;color:#e9e6df;margin-bottom:14px;border-bottom:1px solid #34383b;padding-bottom:10px;}
  .rz-opt{display:flex;align-items:flex-start;gap:11px;cursor:pointer;user-select:none;padding:10px 0;
    font-size:16px;color:#d7d4cd;line-height:1.3;}
  .rz-opt input{accent-color:#c9a063;width:19px;height:19px;margin-top:1px;cursor:pointer;flex:0 0 auto;}
  .rz-opt small{display:block;color:#8b8e90;font-size:12.5px;margin-top:3px;}
  @media (max-width:899px){
    #view-rand.active{flex-direction:column;align-items:center;}
    .rz-left{width:min(92vw,360px);order:2;margin-top:20px;}
    .rz-filters{width:100%;}
    .rz-history{width:100%;}
  }
  #view-rand .akimbo{position:absolute;z-index:12;object-fit:contain;filter:drop-shadow(0 2px 5px rgba(0,0,0,.85));}
  #view-rand .akbadge{position:absolute;z-index:13;font-size:9px;font-weight:800;color:#1c1304;background:#f5c869;padding:1px 5px;border-radius:3px;font-family:"Segoe UI",sans-serif;}
  #view-rand .acap{position:absolute;z-index:12;color:#cdbf9f;font-size:8px;font-family:Arial,sans-serif;text-align:center;line-height:1.05;text-shadow:0 1px 2px #000;width:44px;}
  #view-rand .reel-host{position:absolute;z-index:10;overflow:hidden;}
  #view-rand .spin-strip{display:flex;flex-direction:column;will-change:transform;}
  #view-rand .spin-cell{display:flex;align-items:center;justify-content:center;flex:0 0 auto;}
  #view-rand .spin-cell img{max-width:100%;max-height:100%;object-fit:contain;filter:drop-shadow(0 3px 7px rgba(0,0,0,.7));}
  #view-rand .reel-host.spinning .spin-cell img{filter:blur(2.4px) brightness(.92);}
  #view-rand .reel-host.locked{animation:rzlock .5s ease-out;}
  @keyframes rzlock{0%{filter:drop-shadow(0 0 9px rgba(245,200,105,.9))}100%{filter:none}}
  .rz-controls{display:flex;flex-direction:column;align-items:center;margin-top:18px;}
  .rz-btn{font-family:"Trebuchet MS",sans-serif;font-weight:800;font-size:22px;letter-spacing:.16em;text-transform:uppercase;color:#1c1304;
    padding:14px 56px;border:none;border-radius:8px;cursor:pointer;
    background:linear-gradient(180deg,#f5c869,#d9a441 55%,#a9781f);
    box-shadow:0 0 0 1px #6e4e12,0 4px 0 #6e4e12,0 10px 26px rgba(217,164,65,.4),inset 0 1px 0 rgba(255,255,255,.5);
    transition:transform .08s,filter .2s;text-shadow:0 1px 0 rgba(255,255,255,.35)}
  .rz-btn:hover{filter:brightness(1.08)}
  .rz-btn:active{transform:translateY(3px)}
  .rz-btn:disabled{cursor:default;filter:grayscale(.5) brightness(.7);transform:none}
  .rz-hint{margin-top:9px;font-size:12px;color:#8a7d66;letter-spacing:.06em}
  .rz-anim{margin-top:10px;font-size:13px;color:#b3a98f;letter-spacing:.04em;display:flex;align-items:center;gap:7px;cursor:pointer;user-select:none}
  .rz-anim input{accent-color:#d9a441;width:15px;height:15px;cursor:pointer}
  /* действия под кнопкой: закрепить / поделиться */
  .rz-actions{display:flex;gap:10px;margin-top:14px}
  .rz-mini{font-family:"Trebuchet MS",sans-serif;font-size:13px;letter-spacing:.04em;color:#d7d4cd;cursor:pointer;
    background:linear-gradient(180deg,#26282a,#1a1c1d);border:1px solid #3a3e41;border-radius:5px;padding:8px 14px;
    transition:filter .15s,border-color .15s,color .15s}
  .rz-mini:hover{filter:brightness(1.15);border-color:#5a5f63}
  .rz-mini.on{color:#1c1304;background:linear-gradient(180deg,#f5c869,#d9a441);border-color:#6e4e12;font-weight:700}
  /* стоимость набора — внутри экрана, вверху справа (правее вместимости) */
  #view-rand .capcost{position:absolute;z-index:14;top:24px;left:300px;width:182px;
    display:flex;flex-direction:column;align-items:flex-end;text-align:right;
    opacity:0;transition:opacity .25s;pointer-events:none}
  #view-rand .capcost.show{opacity:1}
  #view-rand .capcost .cc-val{display:flex;align-items:center;gap:6px}
  #view-rand .capcost .cc-val img{position:static;width:20px;height:20px;object-fit:contain}
  #view-rand .capcost .cc-val b{font-family:"Cabin Condensed","Arial Narrow",sans-serif;font-weight:700;
    font-size:23px;color:#fff;text-shadow:0 1px 3px #000;letter-spacing:.02em}
  /* история последних наборов — панель в левой колонке под настройками */
  .rz-history{width:248px;background:linear-gradient(180deg,#202223,#171819);
    border:1px solid #34383b;border-radius:6px;padding:14px 14px 16px;box-shadow:0 4px 16px rgba(0,0,0,.55);}
  .rz-history:empty{display:none}
  .rzh-title{font-family:"Trebuchet MS","Segoe UI",sans-serif;text-transform:uppercase;letter-spacing:.16em;
    font-size:14px;color:#e9e6df;margin-bottom:12px;border-bottom:1px solid #34383b;padding-bottom:9px}
  .rzh-row{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-start}
  .rzh-item{width:65px;height:42px;padding:4px;cursor:pointer;background:linear-gradient(180deg,#1d1f20,#141516);
    border:1px solid #34383b;border-radius:5px;display:flex;align-items:center;justify-content:center;
    transition:border-color .15s,filter .15s}
  .rzh-item:hover{border-color:#c9a063;filter:brightness(1.12)}
  .rzh-item img{max-width:100%;max-height:100%;object-fit:contain;filter:drop-shadow(0 2px 4px rgba(0,0,0,.7))}
  /* лёгкая тряска экрана на фиксацию набора (джус) */
  @keyframes rzshake{0%,100%{transform:translate(0,0)}25%{transform:translate(-2px,1px)}50%{transform:translate(2px,-1px)}75%{transform:translate(-1px,2px)}}
  .loadwrap.shake{animation:rzshake .26s ease-out}

  /* ---------- АРСЕНАЛ: грид карточек ---------- */
  /* ---- фильтры арсенала (вариант B «фактура карточки»): тот же материал, что у карточки —
         текстура bg_common + гранж + блик, тонкий кант как у карточки.
         Группы уложены по две в «полосу» (.af-band) — панель вдвое ниже, ничего не спрятано. ---- */
  .afilters{--af-edge:#463a26;--af-gold:#c8a45b;--af-gold2:#e6c277;
    position:relative;max-width:1230px;margin:0 auto 18px;box-sizing:border-box;
    padding:13px 18px 14px;border:0;
    background:#100e0b url("../arsenal/bg/bg_common.webp") center/cover;
    box-shadow:0 6px 28px rgba(0,0,0,.45);}
  /* гранж карточки + игровой блик — ровно те же слои, что на .card */
  .afilters::before{content:"";position:absolute;inset:0;pointer-events:none;z-index:0;
    background:url("../arsenal/card_grunge_bar.webp") center/cover,
               url("../arsenal/overlay_384_200.webp") center/100% 100%;
    background-blend-mode:multiply;mix-blend-mode:multiply;opacity:.30;}
  /* тонкий кант — как у карточек оружия: волосяная линия, без «толстой» игровой рамки */
  .afilters::after{content:"";position:absolute;inset:0;pointer-events:none;z-index:2;
    border:1px solid #4a3f2c;box-shadow:inset 0 0 0 1px rgba(232,214,178,.045);}
  .afilters > *{position:relative;z-index:1;}
  /* шапка: поиск + сортировка + счётчик + сброс, одна линия высотой 30px */
  .af-top{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding-bottom:9px;}
  .af-search{flex:1 1 200px;min-width:150px;max-width:430px;height:30px;box-sizing:border-box;padding:0 10px;
    font-family:'Garamond',Georgia,serif;font-size:15px;line-height:28px;color:#e8e2d4;
    background:rgba(10,8,6,.66);border:1px solid var(--af-edge);border-radius:2px;
    box-shadow:inset 0 1px 3px rgba(0,0,0,.55);}
  .af-search::placeholder{color:#7d7361;font-style:italic;}
  .af-search:focus{outline:none;border-color:var(--af-gold);background:rgba(10,8,6,.85);}
  .af-sortwrap{display:flex;align-items:center;gap:7px;}
  .af-sort{height:30px;box-sizing:border-box;padding:0 26px 0 9px;appearance:none;-webkit-appearance:none;
    font-family:'Garamond',Georgia,serif;font-size:14px;color:#d8cdb8;cursor:pointer;
    background:rgba(40,32,22,.72) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 6'%3E%3Cpath d='M0 0h10L5 6z' fill='%23c8a45b'/%3E%3C/svg%3E") no-repeat right 9px center/9px 6px;
    border:1px solid var(--af-edge);border-radius:2px;}
  .af-sort option{background:#171310;color:#d8cdb8;}
  .af-sort:focus{outline:none;border-color:var(--af-gold);}
  .af-count{margin-left:auto;font-family:'Cabin Condensed','Arial Narrow',sans-serif;font-size:16px;
    color:#8c8068;letter-spacing:.4px;text-shadow:0 1px 2px #000;white-space:nowrap;}
  .af-count b{color:var(--af-gold2);font-weight:600;font-size:20px;}
  .af-reset{height:30px;box-sizing:border-box;padding:0 13px;cursor:pointer;border-radius:2px;
    background:rgba(40,32,22,.45);border:1px solid var(--af-edge);
    font-family:'Garamond',Georgia,serif;font-size:13px;letter-spacing:.1em;text-transform:uppercase;color:#8c8068;
    transition:border-color .12s,color .12s,background .12s;}
  .af-reset:hover{border-color:var(--af-gold);color:var(--af-gold2);background:rgba(200,164,91,.12);}
  .afilters.has-filters .af-reset{border-color:#7b6538;color:#d9c08a;}
  /* полоса групп: разделители — ровные волосяные линии в 1px, без скруглений */
  .af-band{display:flex;flex-wrap:wrap;align-items:flex-start;gap:4px 20px;
    padding:7px 0;border-top:1px solid rgba(200,164,91,.15);}
  .af-band:last-of-type{padding-bottom:1px;}
  .af-grp{display:flex;align-items:flex-start;gap:9px;min-width:0;}
  /* вертикальный разделитель — только там, где пара групп гарантированно в одну строку
     (иначе при переносе от него остаётся «висящий» огрызок линии) */
  @media(min-width:1001px){
    .af-band{gap:4px 16px;}
    .af-grp + .af-grp{padding-left:16px;border-left:1px solid rgba(200,164,91,.13);align-self:stretch;}
  }
  /* на полной ширине панели вторые группы начинаются с одной вертикали — колонки не «пляшут» */
  @media(min-width:1240px){ .af-band > .af-grp:first-child{min-width:400px;} }
  .af-lbl{flex:0 0 auto;padding-top:10px;font-family:'Garamond',Georgia,serif;font-size:11px;line-height:1;
    letter-spacing:.16em;text-transform:uppercase;color:var(--af-gold);text-shadow:0 1px 2px #000;white-space:nowrap;}
  .af-lbl-s{padding-top:0;}
  .af-chips{display:flex;flex-wrap:wrap;align-items:center;gap:5px;min-width:0;}
  /* чип = маленькая игровая плашка: ровная рамка 1px, одна высота 30px для всех видов */
  .af-chip{height:30px;box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;
    padding:0 11px;cursor:pointer;border-radius:2px;border:1px solid #453a27;
    background:linear-gradient(180deg,rgba(74,62,43,.55),rgba(24,20,14,.62));
    box-shadow:inset 0 1px 0 rgba(255,238,200,.055),0 1px 0 rgba(0,0,0,.4);
    font-family:'Garamond',Georgia,serif;font-size:14px;line-height:1;white-space:nowrap;
    color:#cfc4ad;text-shadow:0 1px 2px #000;
    transition:border-color .12s,color .12s,background .12s,box-shadow .12s;}
  .af-chip:hover{border-color:#8a7340;color:#f4f0e6;
    background:linear-gradient(180deg,rgba(104,86,56,.6),rgba(34,28,19,.66));}
  .af-chip.on{border-color:var(--af-gold);color:#f8edd4;
    background:linear-gradient(180deg,rgba(200,164,91,.32),rgba(122,90,38,.2));
    box-shadow:inset 0 10px 14px -10px rgba(255,226,166,.5),inset 0 -1px 0 rgba(0,0,0,.35),0 0 9px rgba(200,164,91,.22);}
  .af-chip:active{box-shadow:inset 0 2px 5px rgba(0,0,0,.55);}
  .af-chip:focus-visible{outline:1px solid var(--af-gold2);outline-offset:1px;}
  /* вариант, который при текущих фильтрах ничего не найдёт: виден, но недоступен —
     так сразу понятно, что кровотечения у дробовиков не бывает, а не «фильтр сломался» */
  .af-chip.af-off{opacity:.28;cursor:not-allowed;filter:grayscale(1);}
  .af-chip.af-off:hover{border-color:var(--af-edge);color:inherit;background:inherit;box-shadow:none;}
  .af-empty{margin:12px 0 4px;text-align:center;color:#8c8068;font-family:'Garamond',Georgia,serif;font-size:15px;}
  #view-ars .grid .card.af-hide{display:none;}
  /* чипы-иконки: гильза из игры (калибр и тип патрона), подпись — во всплывашке */
  .af-chip.af-ic{padding:0 8px;}
  .af-chip.af-ic img{height:34px;width:auto;display:block;opacity:.72;
    filter:drop-shadow(0 1px 2px rgba(0,0,0,.65));transition:opacity .12s;}
  .af-chip.af-ic:hover img,.af-chip.af-ic.on img{opacity:1;}
  .af-sep{flex:0 0 1px;width:1px;height:20px;margin:0 4px;background:rgba(200,164,91,.22);}
  /* векторные иконки фильтров из игры (пипсы слотов) */
  .af-chip.af-svg{padding:0 10px;}
  .af-chip.af-svg img{height:22px;width:auto;display:block;opacity:.7;transition:opacity .12s;}
  .af-chip.af-svg[data-g="size"] img{height:11px;}
  .af-chip.af-svg:hover img,.af-chip.af-svg.on img{opacity:1;}
  @media(max-width:700px){
    .afilters{padding:11px 12px 12px;}
    .af-top{gap:6px;padding-bottom:7px;}
    .af-count{margin-left:0;}
    .af-band{flex-direction:column;gap:0;padding:5px 0;}
    .af-grp + .af-grp{padding:6px 0 0;margin-top:6px;border-left:0;border-top:1px solid rgba(200,164,91,.10);}
    .af-grp{align-self:stretch;}
    .af-chip{height:28px;font-size:13px;padding:0 9px;}
    .af-chip.af-ic img{height:29px;}
  }
  #view-ars .grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));
                  gap:14px;max-width:1230px;margin:0 auto;}
  /* Карточка: весь декор — CSS-фонами, в разметке остаётся одна картинка (само оружие).
     Фон редкости выбирается по data-rar, гранж и блик — псевдоэлементами. */
  #view-ars .card{position:relative;aspect-ratio:384/200;overflow:hidden;cursor:pointer;
    background:#070707 var(--card-bg, url("../arsenal/bg/bg_common.webp")) center/100% 100% no-repeat;}
  #view-ars .card[data-rar="common"]   {--card-bg:url("../arsenal/bg/bg_common.webp");}
  #view-ars .card[data-rar="uncommon"] {--card-bg:url("../arsenal/bg/bg_uncommon.webp");}
  #view-ars .card[data-rar="rare"]     {--card-bg:url("../arsenal/bg/bg_rare.webp");}
  #view-ars .card[data-rar="epic"]     {--card-bg:url("../arsenal/bg/bg_epic.webp");}
  #view-ars .card[data-rar="legendary"]{--card-bg:url("../arsenal/legendary_bg_large.webp");}
  #view-ars .card[data-rar="event"]    {--card-bg:url("../arsenal/event_exclusive_bg_large.webp");}
  /* гранж поверх фона */
  #view-ars .card::before{content:"";position:absolute;inset:0;pointer-events:none;z-index:1;
    background:url("../arsenal/card_grunge_bar.webp") center/cover;mix-blend-mode:multiply;opacity:.22;}
  /* блик, а при наведении ещё и подсветка */
  #view-ars .card::after{content:"";position:absolute;inset:0;pointer-events:none;z-index:4;
    background:url("../arsenal/overlay_384_200.webp") center/100% 100% no-repeat;
    mix-blend-mode:screen;opacity:.10;}
  /* На hover — только подсветка и без screen: overlay почти белый, и на opacity:1
     со screen он забеливал карточку целиком (фон редкости, гранж и подписи пропадали).
     hover:hover — чтобы на тач-экранах подсветка не залипала после тапа. */
  @media (hover:hover){
    #view-ars .card:hover::after{
      background:url("../arsenal/highlight_384_200.webp") center/100% 100% no-repeat;
      mix-blend-mode:normal;opacity:1;transition:opacity .12s;}
  }
  #view-ars .card .disabled{position:absolute;inset:0;width:100%;height:100%;object-fit:fill;pointer-events:none;opacity:0;}
  #view-ars .card.locked .disabled{opacity:1;}
  #view-ars .card .weapon{position:absolute;left:6%;top:24%;width:88%;height:64%;z-index:2;
    object-fit:contain;object-position:center;filter:drop-shadow(0 4px 8px rgba(0,0,0,.6));}
  #view-ars .card.locked .weapon{opacity:.22;filter:grayscale(1) brightness(.5);}
  #view-ars .star{position:absolute;left:14px;top:13px;width:22px;height:22px;z-index:5;
    background:url("../arsenal/button_favourite_off.webp") center/contain no-repeat;}
  #view-ars .name{position:absolute;left:44px;top:11px;right:14px;z-index:5;line-height:1.05;}
  #view-ars .name .t{font-family:'Garamond',serif;font-size:19px;color:#f2efe6;letter-spacing:.2px;text-shadow:0 1px 2px #000;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
  #view-ars .name .s{font-family:'Garamond',serif;font-size:14px;color:#b8b09a;text-shadow:0 1px 2px #000;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
  #view-ars .name.tinted .t{color:#d2cc97;}
  #view-ars .pips{position:absolute;left:14px;bottom:12px;display:flex;gap:5px;z-index:5;}
  #view-ars .pips i{width:16px;height:16px;display:block;
    background:url("../arsenal/pip_filled.webp") center/contain no-repeat;}
  #view-ars .price{position:absolute;right:14px;bottom:9px;display:flex;align-items:center;gap:8px;z-index:5;}
  #view-ars .price::before{content:"";width:25px;height:25px;flex:0 0 auto;
    background:url("../arsenal/hunt_dollar.webp") center/contain no-repeat;}
  #view-ars .price span{font-family:'Cabin Condensed','Arial Narrow',sans-serif;font-weight:600;font-size:23px;color:#fff;text-shadow:0 1px 2px #000;}
  #view-ars .ammo{position:absolute;right:14px;bottom:10px;display:flex;align-items:center;gap:6px;z-index:5;}
  #view-ars .ammo span{font-family:'Cabin Condensed','Arial Narrow',sans-serif;font-weight:600;font-size:22px;color:#fff;text-shadow:0 1px 2px #000;}
  #view-ars .ammo img{width:26px;height:30px;object-fit:contain;}
  #view-ars .lock{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:46px;height:46px;z-index:6;opacity:.9;}
  #view-ars .card{display:block;text-decoration:none;}

  /* ===================== СТРАНИЦА ДЕТАЛЕЙ ПРЕДМЕТА ===================== */
  /* Вариант B — «журнальный разворот»: слева герой + лор, справа колонка фактов, ниже витрина скинов. */
  :root{
    --i-bg:#0d0b08; --i-panel:#16120c; --i-panel2:#1d1812; --i-edge:#3a2f20;
    --i-gold:#c8a45b; --i-gold2:#e6c277; --i-txt:#d8cdb8; --i-dim:#8c8068;
    --i-boss:#b5482f; --i-ok:#7a8a4a;
    --r-common:#8c8068; --r-uncommon:#5f7a53; --r-rare:#3f6fa0; --r-epic:#7b4ea0;
    --r-legendary:#a06a2f; --r-mythic:#b5482f; --r-event:#b58a2f;
  }
  .idetail{max-width:1100px;margin:0 auto;color:var(--i-txt);
    font-family:"Trebuchet MS","Segoe UI",sans-serif;}
  .iback{display:inline-block;margin-bottom:14px;color:var(--i-dim);text-decoration:none;
    font-family:'Garamond',serif;letter-spacing:.06em;text-transform:uppercase;font-size:14px;
    transition:color .12s;}
  .iback:hover{color:var(--i-gold2);}

  /* ---- разворот ---- */
  .ispread{display:grid;grid-template-columns:minmax(250px,340px) minmax(0,1fr);gap:16px;align-items:start;}
  .icol-hero,.icol-facts{display:flex;flex-direction:column;gap:14px;min-width:0;}

  /* ---- панели ---- */
  .ipanel{background:linear-gradient(180deg,var(--i-panel),var(--i-panel2));
    border:1px solid var(--i-edge);border-radius:4px;padding:14px 16px;box-shadow:0 4px 18px rgba(0,0,0,.35);}
  .idetail > .ipanel.ishow{margin-top:14px;}
  .ihead{font-family:'Garamond',"Georgia",serif;font-weight:400;text-transform:uppercase;letter-spacing:.11em;
    font-size:16px;color:var(--i-gold);margin:0 0 11px;padding-bottom:7px;border-bottom:1px solid var(--i-edge);
    display:flex;align-items:baseline;gap:8px;}
  .izones-cap{margin-top:8px;line-height:1.35;}

  /* ---- герой ---- */
  .ihero{position:relative;overflow:hidden;border:1px solid var(--i-edge);border-radius:4px;
    background:linear-gradient(180deg,var(--i-panel),var(--i-panel2));box-shadow:0 6px 28px rgba(0,0,0,.45);}
  .ihero::before{content:"";position:absolute;inset:0;
    background:url("../arsenal/card_grunge_bar.webp") center/cover;mix-blend-mode:multiply;opacity:.2;pointer-events:none;}
  .iherofig{position:relative;z-index:1;display:flex;align-items:center;justify-content:center;
    min-height:168px;padding:20px 20px 12px;
    background:radial-gradient(ellipse 72% 78% at 50% 48%,rgba(200,164,91,.14),transparent 72%);}
  .iheroimg{width:100%;max-height:186px;object-fit:contain;filter:drop-shadow(0 8px 18px rgba(0,0,0,.75));}
  .iherometa{position:relative;z-index:1;padding:2px 20px 18px;}
  .iherometa::before{content:"";display:block;height:1px;margin:0 0 13px;
    background:linear-gradient(90deg,var(--i-gold),rgba(200,164,91,.05));}
  .ikicker{font-family:'Garamond',serif;text-transform:uppercase;letter-spacing:.2em;font-size:12px;color:var(--i-gold);}
  .ititle{font-family:'Garamond',"Georgia",serif;font-weight:400;font-size:33px;line-height:1.07;color:#f2efe6;
    margin:5px 0 2px;text-shadow:0 2px 4px #000;}
  .isub{font-family:'Garamond',serif;font-size:16px;color:var(--i-dim);font-style:italic;}
  .iprice{display:inline-flex;align-items:center;gap:8px;margin-top:11px;}
  .iprice img{width:26px;height:26px;}
  .iprice span{font-weight:700;font-size:25px;color:#fff;text-shadow:0 1px 2px #000;}
  .ibadges{display:flex;flex-wrap:wrap;gap:7px;margin-top:12px;}
  .ibadge{display:inline-flex;align-items:center;gap:5px;font-size:12.5px;color:var(--i-txt);
    background:rgba(58,47,32,.5);border:1px solid var(--i-edge);border-radius:3px;padding:4px 9px;}
  .ibadge b{color:var(--i-gold2);}
  .ibadge-gold{border-color:var(--i-gold);color:var(--i-gold2);background:rgba(200,164,91,.1);}
  .ibadge-rar{text-transform:uppercase;letter-spacing:.07em;font-size:11px;}
  .ibadge-rar[data-rar]{border-color:var(--r-common);color:var(--r-common);}
  .ibadge-rar[data-rar="uncommon"]{border-color:var(--r-uncommon);color:#9cba8c;}
  .ibadge-rar[data-rar="rare"]{border-color:var(--r-rare);color:#79a8d4;}
  .ibadge-rar[data-rar="epic"]{border-color:var(--r-epic);color:#b185d6;}
  .ibadge-rar[data-rar="legendary"]{border-color:var(--r-legendary);color:#d9a058;}
  .ibadge-rar[data-rar="mythic"]{border-color:var(--r-mythic);color:#e07a5f;}
  .ipip{width:12px;height:12px;vertical-align:middle;}

  /* ---- статы (две колонки) ---- */
  /* витрина скинов лежит внутри .ispread — на десктопе растягиваем на обе колонки */
  .ispread > .ishow{grid-column:1 / -1;}
  /* таблица патронов на узком экране прокручивается вбок, а не обрезается */
  .itbl-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;}
  .istats{display:grid;grid-template-columns:repeat(auto-fit,minmax(252px,1fr));gap:0 24px;}
  .istat{display:flex;justify-content:space-between;align-items:baseline;gap:10px;padding:6px 1px;
    border-bottom:1px dotted rgba(58,47,32,.7);}
  .ilabel{color:var(--i-dim);font-size:13.5px;}
  .ival{font-size:15px;color:var(--i-txt);text-align:right;white-space:nowrap;}
  .ival b{font-size:18px;color:var(--i-gold2);}
  .ival b.dmg{color:#f0d28a;}
  .ival small{color:var(--i-dim);font-size:11.5px;}

  /* ---- урон на дистанции: график + таблица рядом ---- */
  .ifall{display:grid;grid-template-columns:minmax(240px,1.1fr) minmax(230px,1fr);gap:14px;align-items:start;}
  .ichart{width:100%;height:auto;display:block;background:rgba(0,0,0,.2);border:1px solid rgba(58,47,32,.55);border-radius:3px;}
  .ichart .cline{fill:none;stroke:var(--i-gold2);stroke-width:2;}
  .ichart .carea{fill:rgba(200,164,91,.13);stroke:none;}
  .ichart .cg{stroke:rgba(58,47,32,.75);stroke-width:1;}
  .ichart .cax{fill:var(--i-dim);font-size:9px;font-family:"Trebuchet MS",sans-serif;}
  .ichart .cax2{fill:var(--i-gold);font-size:9px;text-transform:uppercase;letter-spacing:.08em;}
  .itbl{width:100%;border-collapse:collapse;font-size:13.5px;}
  .itbl th{font-family:'Garamond',serif;text-transform:uppercase;letter-spacing:.03em;font-size:11px;
    color:var(--i-gold);text-align:right;padding:4px 5px;border-bottom:1px solid var(--i-edge);font-weight:400;}
  .itbl th:first-child{text-align:left;}
  .itbl td{padding:5px;text-align:right;border-bottom:1px dotted rgba(58,47,32,.5);color:var(--i-txt);}
  .itbl td:first-child{text-align:left;color:var(--i-dim);}
  .itbl tbody tr:last-child td{border-bottom:0;}
  .itbl tbody tr:hover{background:rgba(200,164,91,.05);}

  /* ---- зоны ---- */
  .izones{display:grid;grid-template-columns:repeat(auto-fit,minmax(96px,1fr));gap:6px;}
  .izone{display:flex;flex-direction:column;gap:2px;background:rgba(58,47,32,.35);border:1px solid var(--i-edge);
    border-radius:3px;padding:6px 9px;}
  .izone .iz-l{color:var(--i-dim);font-size:11.5px;text-transform:uppercase;letter-spacing:.05em;}
  .izone .iz-v{font-size:15px;color:var(--i-gold2);}
  .izone b.ok{color:var(--i-ok);font-size:13px;}
  .izone small{color:var(--i-dim);font-size:11px;}

  /* ---- боеприпасы ---- */
  .iammo{display:grid;grid-template-columns:repeat(auto-fill,minmax(168px,1fr));gap:8px;}
  .iammo-card{display:flex;gap:8px;align-items:center;background:rgba(58,47,32,.3);border:1px solid var(--i-edge);
    border-radius:3px;padding:8px 10px;}
  .iammo-ic{width:36px;height:36px;object-fit:contain;flex:0 0 auto;filter:drop-shadow(0 2px 4px rgba(0,0,0,.6));}
  .iammo-meta{min-width:0;flex:1;}
  .iammo-name{font-size:13.5px;color:var(--i-txt);line-height:1.15;}
  .iammo-en{font-size:11px;font-style:italic;}
  .iammo-foot{display:flex;align-items:center;gap:7px;margin-top:3px;}
  .iammo-price{display:inline-flex;align-items:center;gap:4px;font-size:12.5px;color:var(--i-gold2);font-weight:600;}
  .iammo-price img{width:15px;height:15px;}
  .itag{font-size:10px;text-transform:uppercase;letter-spacing:.05em;color:var(--i-boss);
    border:1px solid var(--i-boss);border-radius:2px;padding:1px 5px;}

  /* ---- перки ---- */
  .ichips{display:flex;flex-wrap:wrap;gap:7px;}
  .ichip{position:relative;display:inline-flex;align-items:center;gap:4px;cursor:default;
    background:rgba(200,164,91,.1);border:1px solid var(--i-gold);color:var(--i-gold2);
    border-radius:3px;padding:5px 10px;font-size:12.5px;}
  .ichip.imaybe{border-color:var(--i-edge);color:var(--i-txt);background:rgba(58,47,32,.4);}
  .ichip i{font-style:normal;color:var(--i-dim);}
  .ichip-tip{position:absolute;left:50%;bottom:calc(100% + 8px);transform:translateX(-50%);
    width:max-content;max-width:260px;background:#0a0806;border:1px solid var(--i-gold);color:var(--i-txt);
    font-size:12px;line-height:1.3;padding:8px 10px;border-radius:3px;box-shadow:0 6px 18px rgba(0,0,0,.6);
    opacity:0;visibility:hidden;transition:opacity .12s;z-index:30;pointer-events:none;text-transform:none;letter-spacing:0;}
  .ichip:hover .ichip-tip{opacity:1;visibility:visible;}
  .itnote{margin-top:8px;}

  /* ---- лор: выдержка-цитата ---- */
  .ipanel-lore .iquote{position:relative;font-family:'Garamond',"Georgia",serif;font-style:italic;
    font-size:16px;line-height:1.55;color:var(--i-txt);margin:0 0 12px;padding:0 0 0 26px;}
  .ipanel-lore .iquote::before{content:"\201C";position:absolute;left:-2px;top:-6px;
    font-family:'Garamond',"Georgia",serif;font-size:44px;line-height:1;color:var(--i-gold);opacity:.55;}
  .ipanel-lore .iquote:last-child{margin-bottom:0;}

  /* ---- витрина скинов / похожие ---- */
  .iskins{display:grid;grid-template-columns:repeat(auto-fill,minmax(164px,1fr));gap:10px;}
  .iskin{position:relative;display:flex;flex-direction:column;align-items:stretch;gap:0;
    text-decoration:none;color:inherit;text-align:left;font:inherit;cursor:pointer;
    background:rgba(58,47,32,.3);border:1px solid var(--i-edge);border-radius:3px;padding:9px 10px 10px;
    transition:border-color .12s,transform .08s,background .12s;}
  .iskin:hover,.iskin:focus-visible{border-color:var(--i-gold);transform:translateY(-2px);background:rgba(200,164,91,.07);}
  .iskin:focus-visible{outline:2px solid var(--i-gold2);outline-offset:2px;}
  .iskin[data-rar="uncommon"]{border-left:3px solid var(--r-uncommon);}
  .iskin[data-rar="rare"]{border-left:3px solid var(--r-rare);}
  .iskin[data-rar="epic"]{border-left:3px solid var(--r-epic);}
  .iskin[data-rar="legendary"]{border-left:3px solid var(--r-legendary);}
  .iskin[data-rar="mythic"]{border-left:3px solid var(--r-mythic);}
  .iskin-fig{height:62px;display:flex;align-items:center;justify-content:center;margin-bottom:7px;}
  .iskin-fig img{width:100%;max-height:62px;object-fit:contain;filter:drop-shadow(0 3px 6px rgba(0,0,0,.6));}
  .iskin-name{font-size:13px;color:#e9e1cf;line-height:1.2;}
  .iskin-rar{font-size:10.5px;text-transform:uppercase;letter-spacing:.06em;margin-top:3px;color:var(--r-common);}
  .iskin-rar[data-rar="uncommon"],.ilb-rar[data-rar="uncommon"]{color:#9cba8c;}
  .iskin-rar[data-rar="rare"],.ilb-rar[data-rar="rare"]{color:#79a8d4;}
  .iskin-rar[data-rar="epic"],.ilb-rar[data-rar="epic"]{color:#b185d6;}
  .iskin-rar[data-rar="legendary"],.ilb-rar[data-rar="legendary"]{color:#d9a058;}
  .iskin-rar[data-rar="mythic"],.ilb-rar[data-rar="mythic"]{color:#e07a5f;}
  .iskin-zoom{position:absolute;right:6px;top:6px;color:var(--i-dim);opacity:0;transition:opacity .12s;}
  .iskin:hover .iskin-zoom,.iskin:focus-visible .iskin-zoom{opacity:1;color:var(--i-gold2);}
  .iskins-hint{margin-top:9px;}

  /* ---- бейджи источника скина ---- */
  .isrcs{display:flex;flex-wrap:wrap;gap:4px;margin-top:6px;}
  .isrc{display:inline-flex;align-items:center;gap:3px;font-size:10px;line-height:1.5;
    text-transform:uppercase;letter-spacing:.04em;border:1px solid var(--i-edge);border-radius:2px;
    padding:1px 5px;color:var(--i-dim);white-space:nowrap;max-width:100%;overflow:hidden;text-overflow:ellipsis;}
  .isrc-dlc{border-color:var(--i-gold);color:var(--i-gold2);background:rgba(200,164,91,.1);text-transform:none;letter-spacing:0;font-size:10.5px;}
  .isrc-event{border-color:var(--i-boss);color:#e08a70;}
  .isrc-launch{border-color:#5a6b7a;color:#93a6b5;}
  .isrc-gold{border-color:var(--i-gold);color:var(--i-gold2);}
  .isrc-gold img{width:13px;height:13px;}

  /* ---- лайтбокс скинов ---- */
  body.ilb-on{overflow:hidden;}
  .ilb{position:fixed;inset:0;z-index:9000;display:flex;align-items:center;justify-content:center;padding:18px;}
  .ilb[hidden]{display:none;}
  .ilb-veil{position:absolute;inset:0;background:rgba(6,5,4,.91);backdrop-filter:blur(2px);}
  .ilb-box{position:relative;z-index:1;width:min(780px,96vw);max-height:94vh;overflow:auto;
    background:linear-gradient(180deg,var(--i-panel),var(--i-panel2));border:1px solid var(--i-gold);
    border-radius:4px;box-shadow:0 18px 60px rgba(0,0,0,.8);}
  .ilb-x{position:absolute;right:6px;top:4px;z-index:3;background:none;border:0;color:var(--i-dim);
    font-size:30px;line-height:1;padding:2px 10px;cursor:pointer;font-family:inherit;}
  .ilb-x:hover,.ilb-x:focus-visible{color:var(--i-gold2);}
  .ilb-stage{position:relative;display:flex;align-items:center;justify-content:center;
    min-height:190px;padding:34px 56px 20px;
    background:radial-gradient(ellipse 70% 70% at 50% 50%,rgba(200,164,91,.13),transparent 72%);}
  .ilb-img{max-width:100%;max-height:54vh;object-fit:contain;filter:drop-shadow(0 10px 22px rgba(0,0,0,.8));}
  .ilb-nav{position:absolute;top:50%;transform:translateY(-50%);z-index:2;width:40px;height:52px;
    background:rgba(13,11,8,.6);border:1px solid var(--i-edge);border-radius:3px;color:var(--i-gold);
    font-size:26px;line-height:1;cursor:pointer;font-family:inherit;padding:0;}
  .ilb-nav:hover,.ilb-nav:focus-visible{color:var(--i-gold2);border-color:var(--i-gold);background:rgba(200,164,91,.14);}
  .ilb-prev{left:8px;} .ilb-next{right:8px;}
  .ilb-cap{padding:12px 18px 14px;border-top:1px solid var(--i-edge);background:rgba(0,0,0,.25);}
  .ilb-name{font-family:'Garamond',"Georgia",serif;font-size:23px;color:#f2efe6;line-height:1.15;}
  .ilb-meta{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:7px;}
  .ilb-meta .isrcs{margin-top:0;}
  .ilb-rar{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--r-common);}
  .ilb-foot{display:flex;justify-content:space-between;gap:12px;margin-top:9px;
    font-size:11px;color:var(--i-dim);letter-spacing:.04em;}

  .idim{color:var(--i-dim);}
  .ismall{font-size:12px;}

  @media (max-width:860px){
    /* одна колонка: панели выстраиваем в читаемом порядке (лор — в конце) */
    /* align-items:start из десктопной сетки сжимал панели по контенту — на узком экране тянем на всю ширину */
    .ispread{display:flex;flex-direction:column;align-items:stretch;}
    .icol-hero,.icol-facts{display:contents;}
    .ipanel,.ihero{width:100%;max-width:none;box-sizing:border-box;}
    /* Порядок в одну колонку. ВАЖНО: панель без своего order получает 0 и уезжает ВЫШЕ
       героя — так характеристики снаряжения и витрина скинов оказывались перед
       названием предмета. Новую панель обязательно вносить в этот список. */
    .ihero{order:1;}
    .ipanel-ball{order:2;} .ipanel-gstats{order:2;}   /* характеристики: оружие / снаряжение */
    .ipanel-props{order:3;}
    .ipanel-ammo{order:4;} .ipanel-fall{order:5;} .ipanel-zones{order:6;} .ipanel-traits{order:7;}
    .ishow{order:8;}                                  /* скины — после фактов */
    .ipanel-lore{order:9;}                            /* лор длинный, ему место в конце */
    .ichip-tip{display:none;}            /* на узком экране подсказка — в title, иначе вылезает за вьюпорт */
    .ifall{grid-template-columns:1fr;}
    .ititle{font-size:27px;}
    .iherofig{min-height:132px;padding:16px 16px 10px;}
    .iheroimg{max-height:150px;}
  }
  @media (max-width:520px){

    .iskins{grid-template-columns:repeat(auto-fill,minmax(132px,1fr));gap:8px;}
    .ipanel{padding:12px 13px;}
    .iherometa{padding:2px 14px 15px;}
    .ilb{padding:8px;}
    .ilb-stage{padding:30px 44px 14px;min-height:150px;}
    .ilb-img{max-height:40vh;}
    .ilb-nav{width:34px;height:46px;font-size:22px;}
    .ilb-prev{left:4px;} .ilb-next{right:4px;}
    .ilb-cap{padding:10px 12px 12px;}
    .ilb-name{font-size:19px;}
  }

  /* ===================== ОБРАТНАЯ СВЯЗЬ ===================== */
  .fb{max-width:700px;margin:0 auto;padding:18px 20px 20px;box-sizing:border-box;
    background:#100e0b url("../arsenal/bg/bg_common.webp") center/cover;
    border:1px solid #4a3f2c;border-radius:4px;position:relative;overflow:hidden;
    box-shadow:0 6px 28px rgba(0,0,0,.45);}
  .fb::before{content:"";position:absolute;inset:0;pointer-events:none;
    background:url("../arsenal/card_grunge_bar.webp") center/cover;mix-blend-mode:multiply;opacity:.3;}
  .fb > *{position:relative;z-index:1;}
  .fb-title{font-family:'Garamond',Georgia,serif;font-size:26px;color:#f2efe6;margin:0 0 6px;font-weight:400;}
  .fb-lead{color:#a79d88;font-size:15px;line-height:1.5;margin:0 0 16px;}
  .fb-form{display:flex;flex-direction:column;gap:6px;}
  .fb-lab{font-family:'Garamond',Georgia,serif;font-size:13px;letter-spacing:.14em;text-transform:uppercase;
    color:#c8a45b;margin-top:8px;}
  .fb-opt{color:#7d7361;letter-spacing:.06em;text-transform:none;font-size:13px;}
  .fb-area,.fb-input{width:100%;box-sizing:border-box;padding:10px 12px;font:inherit;font-size:15px;
    font-family:'Garamond',Georgia,serif;color:#e8e2d4;background:rgba(12,10,8,.62);
    border:1px solid #3a2f20;border-radius:3px;}
  .fb-area{resize:vertical;min-height:150px;line-height:1.5;}
  .fb-area:focus,.fb-input:focus{outline:none;border-color:#c8a45b;background:rgba(12,10,8,.8);}
  .fb-area::placeholder,.fb-input::placeholder{color:#6f6558;font-style:italic;}
  .fb-hint{color:#7d7361;font-size:13px;margin:4px 0 0;}
  .fb-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden;}
  .fb-send{align-self:flex-start;margin-top:14px;padding:9px 22px;cursor:pointer;
    font-family:'Garamond',Georgia,serif;font-size:15px;letter-spacing:.1em;text-transform:uppercase;
    color:#e6c277;background:rgba(200,164,91,.14);border:1px solid #c8a45b;border-radius:3px;transition:.12s;}
  .fb-send:hover{background:rgba(200,164,91,.26);color:#f7ecd2;}
  .fb-note{margin:0 0 14px;padding:10px 13px;border-radius:3px;font-size:15px;line-height:1.45;}
  .fb-ok{color:#d7e0b8;background:rgba(122,138,74,.16);border:1px solid #7a8a4a;}
  .fb-bad{color:#f0cfc4;background:rgba(181,72,47,.14);border:1px solid #b5482f;}
  .fb-privacy{margin:16px 0 0;padding-top:12px;border-top:1px solid rgba(58,47,32,.7);
    color:#7d7361;font-size:13px;line-height:1.5;}
  @media (max-width:520px){ .fb{padding:14px 14px 16px;} .fb-title{font-size:22px;} }

  /* ===================== КАРТЫ (интерактивная карта объектов) ===================== */
  #view-maps{display:none;}
  #view-maps.active{display:flex;flex-direction:row;gap:16px;align-items:stretch;height:calc(100vh - 150px);min-height:520px;}
  .mp-side{width:268px;flex:0 0 auto;display:flex;flex-direction:column;
    background:linear-gradient(180deg,#202223,#171819);border:1px solid #34383b;border-radius:6px;
    padding:14px 14px 8px;box-shadow:0 4px 16px rgba(0,0,0,.55);}
  .mp-side h3{font-family:"Trebuchet MS","Segoe UI",sans-serif;text-transform:uppercase;letter-spacing:.16em;
    font-size:14px;color:#e9e6df;margin-bottom:10px;}
  .mp-select{width:100%;background:#15171a;color:#e9e6df;border:1px solid #3a3e41;border-radius:5px;
    padding:8px 10px;font-size:15px;cursor:pointer;font-family:"Trebuchet MS",sans-serif;}
  .mp-search{margin:10px 0 6px;}
  .mp-search input{width:100%;background:#15171a;color:#d7d4cd;border:1px solid #3a3e41;border-radius:5px;
    padding:7px 9px;font-size:13px;}
  .mp-actions{display:flex;gap:8px;margin-bottom:8px;}
  .mp-actions button{flex:1;background:linear-gradient(180deg,#26282a,#1a1c1d);border:1px solid #3a3e41;
    border-radius:5px;color:#d7d4cd;font-size:12px;padding:6px;cursor:pointer;font-family:"Trebuchet MS",sans-serif;}
  .mp-actions button:hover{filter:brightness(1.2);}
  .mp-layers{overflow-y:auto;flex:1;margin-right:-6px;padding-right:6px;}
  .mp-cat{font-family:"Trebuchet MS",sans-serif;text-transform:uppercase;letter-spacing:.12em;font-size:11px;
    color:#8a8f76;margin:12px 0 5px;border-bottom:1px solid #2c2f31;padding-bottom:3px;}
  .mp-opt{display:flex;align-items:center;gap:9px;cursor:pointer;user-select:none;padding:5px 2px;font-size:13.5px;color:#d7d4cd;}
  .mp-opt input{accent-color:#c9a063;width:16px;height:16px;cursor:pointer;flex:0 0 auto;}
  .mp-dot{width:11px;height:11px;border-radius:50%;flex:0 0 auto;box-shadow:0 0 0 1px rgba(0,0,0,.6);}
  .mp-opt .mp-n{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
  .mp-opt .mp-c{color:#8b8e90;font-size:11px;}
  .mp-main{flex:1;position:relative;border:1px solid #34383b;border-radius:6px;overflow:hidden;background:#0a0a0a;}
  #mpMapEl{position:absolute;inset:0;background:#0a0a0a;}
  .mp-hint{position:absolute;left:10px;bottom:8px;z-index:500;font-size:11px;color:#9a8f76;
    background:rgba(0,0,0,.5);padding:3px 8px;border-radius:4px;pointer-events:none;}
  .leaflet-container{background:#0a0a0a;}
  .leaflet-tooltip.mp-tt{background:#15171a;border:1px solid #4a4e51;color:#e9e6df;font-size:12px;box-shadow:0 2px 6px rgba(0,0,0,.6);}
  .leaflet-tooltip.mp-tt::before{display:none;}
  .leaflet-tooltip.mp-comp{background:none;border:none;box-shadow:none;color:#f2ede1;font-family:Georgia,'Times New Roman',serif;font-size:13px;font-weight:600;letter-spacing:.3px;text-align:center;white-space:nowrap;text-shadow:0 0 4px #000,0 0 4px #000,0 1px 2px #000;pointer-events:none;}
  .leaflet-tooltip.mp-comp::before{display:none;}
  @media (max-width:899px){
    #view-maps.active{flex-direction:column;height:auto;}
    .mp-side{width:min(94vw,360px);order:2;}
    .mp-main{order:1;height:62vh;min-height:380px;}
  }

/* таблица патронов: иконка + короткое имя + то, что у патрона своё */
.iammo-tbl td{vertical-align:middle;}
.iammo-tbl .iat-ic{width:58px;padding:6px 10px 6px 0;text-align:center;}
.iammo-tbl .iat-ic img{width:48px;height:54px;object-fit:contain;
  filter:drop-shadow(0 2px 4px rgba(0,0,0,.6));vertical-align:middle;}
.iammo-tbl .iat-nm{text-align:left;color:var(--i-txt);line-height:1.2;}
.iammo-tbl th:nth-child(2){text-align:left;}
.iammo-tbl .iat-grp td{padding:7px 5px 3px;text-align:left;color:var(--i-gold2);
  font-family:'Garamond',serif;text-transform:uppercase;letter-spacing:.04em;font-size:11px;
  border-bottom:1px solid var(--i-edge);}
.iammo-tbl .iat-grp:hover{background:none;}
   /* «Патрон» — над именами, а не справа */
.iammo-tbl .itag{margin-left:5px;}
@media (max-width:560px){
  /* шесть колонок в 390 px влезают только ужатыми — иначе таблица уходит
     в горизонтальную прокрутку и правый столбец не виден */
  .iammo-tbl{font-size:12px;}
  .iammo-tbl .iat-ic{width:30px;padding:5px 4px 5px 0;} .iammo-tbl .iat-ic img{width:22px;height:26px;}
  .iammo-tbl th{font-size:10px;padding:5px 3px;}
  .iammo-tbl td{padding:5px 3px;}
  .iammo-tbl .iat-nm{font-size:11.5px;line-height:1.15;}
  .iammo-tbl td .idim{font-size:10.5px;white-space:normal;}   /* «бесплатно» переносится */
}

/* ===== Сравнение оружия: числа + мини-шкалы ===== */
.cmp{max-width:1180px;margin:0 auto;padding:4px 0 32px;}
.cmp-title{font-family:var(--menu-font);font-size:26px;color:var(--i-gold2);margin:0 0 6px;text-transform:uppercase;letter-spacing:.06em;}
.cmp-lead{margin:0 0 18px;font-size:15px;}
.cmp-slots{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:22px;}
/* слот = поле поиска с подсказками (как фильтр арсенала, но с выбором одного ствола) */
.cmp-slot{position:relative;flex:1 1 220px;min-width:0;}
.cmp-inp{width:100%;box-sizing:border-box;padding:9px 30px 9px 10px;background:rgba(10,8,6,.8);
  color:var(--i-txt);border:1px solid var(--i-edge);border-radius:3px;font-size:15px;font-family:inherit;}
.cmp-inp::-webkit-search-cancel-button{display:none;}
.cmp-inp:focus{outline:1px solid var(--i-gold2);outline-offset:1px;}
.cmp-slot.filled .cmp-inp{color:var(--i-gold2);}
.cmp-clear{position:absolute;right:4px;top:50%;transform:translateY(-50%);width:24px;height:24px;
  border:0;background:none;color:var(--i-dim);font-size:18px;line-height:1;cursor:pointer;display:none;}
.cmp-slot.filled .cmp-clear{display:block;}
.cmp-clear:hover{color:var(--i-gold2);}
.cmp-drop{display:none;position:absolute;left:0;right:0;top:calc(100% + 3px);z-index:12;
  max-height:280px;overflow-y:auto;background:rgba(14,12,10,.98);border:1px solid var(--i-edge);
  border-radius:3px;box-shadow:0 10px 26px rgba(0,0,0,.6);}
.cmp-slot.open .cmp-drop{display:block;}
.cmp-opt{display:block;width:100%;text-align:left;padding:8px 10px;border:0;background:none;
  color:var(--i-txt);font-size:14.5px;font-family:inherit;cursor:pointer;}
.cmp-opt:hover,.cmp-opt:focus{background:rgba(200,164,91,.12);color:var(--i-gold2);outline:none;}
.cmp-none{padding:10px;color:var(--i-dim);font-size:14px;}
.cmp-empty{padding:26px 0;font-size:15px;}
.cmp-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;}
.cmp-tbl{width:100%;border-collapse:collapse;}
.cmp-tbl th,.cmp-tbl td{padding:9px 10px;vertical-align:middle;}
.cmp-tbl thead th{border-bottom:1px solid var(--i-edge);}
.cmp-head{display:flex;flex-direction:column;align-items:center;gap:5px;text-decoration:none;color:var(--i-txt);}
.cmp-head img{height:46px;width:auto;max-width:120px;object-fit:contain;}
.cmp-head span{font-family:'Garamond',serif;font-size:15px;line-height:1.15;text-align:center;}
.cmp-head:hover{color:var(--i-gold2);}
.cmp-lbl{text-align:left;font-weight:400;color:var(--i-dim);font-size:13.5px;white-space:nowrap;}
.cmp-down{color:#7f7a6c;}
.cmp-tbl tbody tr{border-bottom:1px dotted rgba(58,47,32,.45);}
.cmp-tbl tbody tr:last-child{border-bottom:0;}
.cmp-tbl tr.cmp-sep th{padding-top:20px;color:var(--i-gold2);font-family:var(--menu-font);
  font-size:13px;letter-spacing:.1em;text-transform:uppercase;}
.cmp-tbl tr.cmp-sep{border-bottom:1px solid var(--i-edge);}
.cmp-note{max-width:760px;margin:14px 0 0;line-height:1.5;}
.cmp-tbl td{text-align:center;min-width:110px;}
.cmp-num{display:block;font-size:16px;color:var(--i-txt);}
.cmp-num small{font-size:11px;color:var(--i-dim);}
.cmp-best .cmp-num{color:var(--i-gold2);font-weight:600;}
.cmp-bar{display:block;height:4px;margin:5px auto 0;max-width:120px;background:rgba(255,255,255,.07);border-radius:2px;overflow:hidden;}
.cmp-bar i{display:block;height:100%;background:#6f6653;}
.cmp-best .cmp-bar i{background:var(--i-gold);}
@media (max-width:760px){
  /* крестик очистки — под палец, а не под курсор */
  .cmp-clear{width:34px;height:34px;font-size:20px;}
  .cmp-inp{padding-right:36px;}
  .cmp-tbl td{min-width:92px;}
  .cmp-head img{height:34px;}
  .cmp-head span{font-size:13px;}
  .cmp-lbl{font-size:12px;white-space:normal;}
}

/* ===== DLC: список наборов и страница набора ===== */
.dlc-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:14px;padding:4px 0 24px;}
.dlc-card{display:flex;flex-direction:column;background:rgba(26,22,17,.82);border:1px solid var(--i-edge);
  border-radius:3px;overflow:hidden;text-decoration:none;transition:border-color .12s,transform .12s;}
.dlc-card:hover{border-color:var(--i-gold2);transform:translateY(-2px);}
.dlc-img{width:100%;aspect-ratio:460/215;object-fit:cover;display:block;background:#15120e;}
.dlc-card.noimg .dlc-img{display:none;}
.dlc-meta{padding:9px 11px 11px;}
.dlc-name{font-family:'Garamond',serif;font-size:16px;color:var(--i-txt);line-height:1.2;}
/* версия игры, в которой вышел набор — только на странице набора:
   в списке карточка несёт одно название, без счётчиков и версий */
.dlc-ver{display:inline-block;margin-left:6px;padding:1px 5px;border-radius:3px;
  border:1px solid var(--i-edge);font-size:11px;letter-spacing:.02em;opacity:.75;}

.dlc-page{max-width:1180px;margin:0 auto;}
.dlc-hero{display:grid;grid-template-columns:minmax(0,460px) 1fr;gap:20px;align-items:start;margin:10px 0 22px;}
.dlc-hero-img{width:100%;border:1px solid var(--i-edge);border-radius:3px;display:block;}
.dlc-title{font-family:'Garamond',serif;font-size:31px;color:var(--i-txt);margin:0 0 10px;line-height:1.1;}
.dlc-desc{font-size:14px;line-height:1.5;white-space:pre-line;}
.dlc-steam{display:inline-block;margin-top:14px;padding:8px 16px;border:1px solid var(--i-gold2);
  border-radius:2px;color:var(--i-gold2);text-decoration:none;font-size:14px;letter-spacing:.02em;}
.dlc-steam:hover{background:rgba(200,164,91,.12);}
.dlc-h2{font-family:'Garamond',serif;text-transform:uppercase;letter-spacing:.05em;font-size:14px;
  color:var(--i-gold2);margin:22px 0 10px;}
.dlc-skins{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:10px;}
.dlc-skin{display:flex;flex-direction:column;gap:3px;padding:9px 11px;background:rgba(58,47,32,.3);
  border:1px solid var(--i-edge);border-radius:3px;text-decoration:none;}
.dlc-skin:hover{border-color:var(--i-gold2);}
.dlc-skin img{width:100%;height:52px;object-fit:contain;filter:drop-shadow(0 2px 4px rgba(0,0,0,.6));}
.dlc-skin-n{font-size:13.5px;color:var(--i-txt);line-height:1.15;}
.dlc-skin-w{font-size:11.5px;}
.dlc-hunters{display:flex;flex-wrap:wrap;gap:6px;}
@media (max-width:900px){
  .dlc-hero{grid-template-columns:1fr;}
  .dlc-title{font-size:25px;}
}
.isrc-link{text-decoration:none;cursor:pointer;}
.isrc-link:hover{border-color:var(--i-gold2);color:var(--i-gold2);}
