
/* ═══ Единый вид окон на ПК ═══
   1) все диалоги и шторки: одинаковое затемнение и блюр, по центру;
   2) все «страницы» (профиль, инфо группы, секретный чат, редактор историй, код, превью поста)
      открываются окном по центру, а не на весь экран;
   3) на весь экран остаются только просмотрщики (фото, видео, истории, звонок, карта) и экраны блокировки. */
@media (min-width:900px){
  .pm-back,.mback,.prof-modal,.ustats-back,.nmback,.grade-share-back,.wifi-share-back,.stk-ov,
  .share-modal-back,.pc-ov,.seen-pick-bg,.plus-ov,.rxl-ov,.fld-ov,.sa-ov,.pin-ov{
    background:rgba(0,0,0,.55);
    -webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);
  }
  /* шторки снизу -> по центру */
  .grade-share-back,.wifi-share-back,.plus-ov,.sa-ov,.pc-ov,.seen-pick-bg,.rxl-ov,.fld-ov{align-items:center}
  .grade-share-sheet,.wifi-share-sheet,.sa-sheet{border-radius:20px;padding-bottom:22px}
  .grade-share-sheet,.wifi-share-sheet{box-shadow:0 24px 60px rgba(0,0,0,.25)}
  .sa-sheet{max-height:86vh}

  /* редактор историй - окно по центру */
  #storyCreate{
    inset:0;margin:auto;
    width:min(600px,calc(100vw - 48px));
    height:min(900px,calc(100vh - 32px));
    border-radius:20px;border:1px solid var(--border);
    box-shadow:0 24px 70px rgba(0,0,0,.35);
    overflow:hidden;
  }

  /* общая подложка под страницы-окна */
  #uiDim{
    position:fixed;inset:0;z-index:0;display:block;pointer-events:none;opacity:0;visibility:hidden;
    background:rgba(0,0,0,.55);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);
    transition:opacity .18s ease,visibility 0s linear .18s;
  }
  #uiDim.on{opacity:1;visibility:visible;pointer-events:auto;transition:opacity .18s ease}
}
@media (max-width:899px){
  #uiDim{display:none}
}
/* страницы (профиль, инфо группы, код, превью поста, комментарии) открываются как раньше на всю область,
   но боковая панель слева остаётся видна (--sb-w выставляет скрипт) */
@media (min-width:861px){
  .upage-back,.gi-back,.ppv-full,.cv-ov,#postViewModal{left:var(--sb-w,0px);top:var(--hdr-h,54px)}
  #postViewModal .pm-head-in,#postViewModal .pm-cover,#postViewModal .pm-inner,#postViewModal .pm-cmt-form-in{margin-left:auto;margin-right:auto}
}
/* секретный чат на ПК открывается в области чата (справа от списка), как обычный чат */
@media (min-width:641px){
  #secretChatPanel.sc-pane{inset:auto;margin:0;border:none;border-radius:0;box-shadow:none;z-index:50}
  #secretChatPanel.sc-pane{justify-content:flex-start}
  #secretChatPanel.sc-pane .sc-wrap{max-width:none;width:100%;margin:0}
  #secretChatPanel.sc-hide{display:none!important}
  /* на ПК из секретного чата выходят выбором другого чата, кнопки «назад» нет */
  #secretChatPanel .sc-top>.sc-ib:first-child{display:none}
  #secretChatPanel .sc-top{padding-left:16px}
  /* всплывающее меню (три точки, удержание сообщения): отдельная карточка с рамкой и тенью */
  #secretChatPanel .sc-sheet-back{align-items:center;background:rgba(0,0,0,.4);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
  #secretChatPanel .sc-sheet{
    max-width:360px;max-height:80%;
    background:var(--surface);border:1px solid var(--border);border-radius:18px;
    box-shadow:0 24px 60px rgba(0,0,0,.35);padding:14px 12px;
  }
}
/* редактор истории: класс .sc-note совпадал с секретным чатом и подтягивал его плашку - сбрасываем */
#storyCreate .sc-note{align-self:auto;max-width:none;margin:0;padding:0;border-radius:0;background:none;font-size:11.5px;font-weight:500;line-height:1.4;color:var(--text3);text-align:center}
@media (min-width:900px){
  #storyCreate .sc-box{max-width:none;width:100%;height:100%;padding:0}
  #storyCreate .sc-head{padding:14px 16px 8px}
  #storyCreate .sc-head span{flex:1;text-align:center;font-size:16px;font-weight:800}
  #storyCreate .sc-tabs{margin:4px auto 12px}
  #storyCreate .sc-stage{padding:0 24px}
  #storyCreate .sc-prev{width:100%;height:100%;max-width:none;aspect-ratio:auto}
  #storyCreate .sc-bgs{margin:12px 20px 0}
  #storyCreate .sc-bar{padding:14px 20px 18px;gap:10px 12px}
}
/* поиск: вкладки «Все / Люди / Каналы...» - пилюли */
.sf-tab{border-radius:999px;padding:0 14px}
/* единый вид шторок на телефоне */
@media (max-width:899px){
  .pc-box,.seen-pick,.fld-box,.rxl-sheet,.plus-sheet,.sa-sheet,.grade-share-sheet,.wifi-share-sheet,.sv-sheet{border-radius:22px 22px 0 0}
}
/* единый вид коробок окон на ПК */
@media (min-width:900px){
  .pc-box,.seen-pick,.rxl-sheet,.plus-sheet,.sa-sheet,.grade-share-sheet,.wifi-share-sheet,.pin-sheet,
  .ustats-box,.pm-box,.mbox,.prof-box,.nmbox,.share-modal{
    background:var(--surface);
    border:1px solid var(--border);
    border-radius:18px;
    box-shadow:0 24px 60px rgba(0,0,0,.3);
  }
  /* окна, которые собираются скриптом: планирование отправки и шторка вложений */
  #dmSchedBack{
    align-items:center!important;
    background:rgba(0,0,0,.55)!important;
    -webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);
  }
  #dmSchedBox{
    border:1px solid var(--border);border-radius:18px!important;
    box-shadow:0 24px 60px rgba(0,0,0,.3);
  }
  body .das-ov{
    background:rgba(0,0,0,.55);
    -webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);
  }
  body .das-sheet{
    bottom:auto;top:50%;max-width:440px;
    border:1px solid var(--border);border-radius:18px;
    box-shadow:0 24px 60px rgba(0,0,0,.3);
    transform:translateY(-46%);opacity:0;
    transition:transform .22s cubic-bezier(.2,.8,.2,1),opacity .22s;
  }
  body .das-sheet.show{transform:translateY(-50%);opacity:1}
}
/* ── ЕДИНАЯ ШКАЛА СЛОЁВ ──
   Базовые окна и страницы: до 100050 (создание группы/канала и папок 100010, секретный чат, просмотр кода 100050).
   Всё, что открывается ПОВЕРХ них (платная подписка при лимите, загрузка фото, выбор из списка, подтверждения,
   шторки) - выше 100050, а тост - выше всего. Раньше Plus-окно (10050) и загрузка фото (10000) уходили под окно
   создания канала (100010), а список выбора (700) - под страницы ботов (600, позже в DOM). */
body .das-ov{z-index:100052}
body .das-sheet{z-index:100053}
body .aved-ov,body .pc-ov,body .rxl-ov,body .seen-pick-bg,body #dmSchedBack{z-index:100054!important}
body #shareModal,body #forwardModal,body #repostModal,body #reportModal,body #addGroupMembersModal,
body #paidMsgModal,body #ratingModal,body #friendsModal{z-index:100055}
body .sa-ov{z-index:100056}
body .sa-ov.up-ov{z-index:100057}
body .plus-ov{z-index:100060}
body #confirmModal,body #textInputModal{z-index:100062}
body .share-modal-back.cs-back,body #csModal{z-index:100064}
body #notifAsk{z-index:100070!important}
body .toast{z-index:2147483100}
/* ── настройка жеста смахивания: превью + барабан выбора ── */
.swg-title{font-size:15px;font-weight:800;color:var(--accent);margin:0 0 10px}
.swg-card{display:flex;align-items:center;gap:6px;padding:8px 10px;border-radius:16px;background:var(--surface);overflow:hidden;box-sizing:border-box;max-width:100%}
.swg-prev{flex:0 1 38%;min-width:0;position:relative;height:50px;border-radius:14px;overflow:hidden}
.swg-act{position:absolute;top:0;bottom:0;right:0;width:46px;display:flex;align-items:center;justify-content:center;color:#fff;border-radius:0 12px 12px 0;transition:background .25s}
.swg-act svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.swg-row{position:absolute;inset:0;border-radius:12px;background:var(--bg);border:1px solid var(--border);display:flex;align-items:center;gap:7px;padding:0 8px;animation:swgSlide 3s ease-in-out infinite}
.swg-ava{width:26px;height:26px;border-radius:50%;background:var(--surface2);flex-shrink:0}
.swg-ln{flex:1;display:flex;flex-direction:column;gap:6px}
.swg-ln i{display:block;height:6px;border-radius:4px;background:var(--surface2)}
.swg-ln i:first-child{width:55%}
@keyframes swgSlide{0%,14%{transform:translateX(0)}38%,68%{transform:translateX(-46px)}92%,100%{transform:translateX(0)}}
.swg-wheelwrap{flex:1 1 62%;min-width:0;position:relative;height:120px}
.swg-wheel{height:100%;overflow-y:auto;scroll-snap-type:y mandatory;overscroll-behavior:contain;scrollbar-width:none;-webkit-overflow-scrolling:touch;padding:40px 0;box-sizing:border-box;touch-action:pan-y}
.swg-wheel::-webkit-scrollbar{display:none}
.swg-opt{height:40px;display:flex;align-items:center;justify-content:center;scroll-snap-align:center;font-size:14px;font-weight:600;color:var(--text3);opacity:.55;text-align:center;white-space:nowrap;cursor:pointer;-webkit-user-select:none;user-select:none;transition:color .15s,opacity .15s}
.swg-opt.on{color:var(--text);opacity:1;font-weight:700}
.swg-ln1,.swg-ln2{position:absolute;left:4%;right:4%;height:2px;border-radius:2px;background:var(--accent);pointer-events:none}
.swg-ln1{top:39px}.swg-ln2{top:78px}
.swg-note{font-size:13px;color:var(--text3);line-height:1.45;margin:12px 2px 18px}
/* ── смахивание в списке чатов ── */
#dmConvList,#dmConvList .dm-item{touch-action:pan-y}
.dm-swp{overflow-x:clip!important}
.dm-pg-peer{position:absolute;left:0;overflow:hidden;pointer-events:none;will-change:transform}
#dmConvList,.dm-conv-scroll{overscroll-behavior-y:contain}
.dm-item.sw-on{position:relative;will-change:transform}
.dm-sw-bg{position:absolute;top:0;bottom:0;left:100%;width:100%;display:flex;align-items:center;gap:8px;padding-left:20px;color:#fff;font-size:13px;font-weight:700;pointer-events:none;opacity:.88;transition:opacity .15s}
.dm-sw-bg.ok{opacity:1}
.dm-sw-bg svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}
.dm-sw-bg span{white-space:nowrap}
/* ── архив: вытягивание вниз, шапка, строка для ПК ── */
.dm-arc-pull{height:0;overflow:hidden;display:flex;align-items:center;justify-content:center;background:var(--bg);color:var(--text);flex-shrink:0}
.dm-arc-in{display:flex;align-items:center;gap:12px;height:64px;white-space:nowrap}
.dm-arc-ic{width:38px;height:38px;border-radius:50%;background:var(--surface2);display:flex;align-items:center;justify-content:center;transition:transform .28s cubic-bezier(.3,1.6,.5,1),opacity .3s}
.dm-arc-ic svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.dm-arc-pull.ready .dm-arc-ic{transform:scale(1.18) translateY(2px)}
.dm-arc-tx{display:flex;flex-direction:column;line-height:1.25;transition:opacity .15s}
.dm-arc-tx b{font-size:15px;font-weight:800}
.dm-arc-tx span{font-size:12px;font-weight:600;color:var(--text3)}
.dm-arc-pull.open .dm-arc-tx{opacity:0}
.dm-arc-pull.open .dm-arc-ic{transform:scale(1.6);opacity:0}
.dm-folders.arc-open{display:none!important}
.dm-arc-head{display:flex;align-items:center;gap:8px;padding:8px 14px 8px 8px;position:sticky;top:0;z-index:3;background:var(--bg);border-bottom:none}
.dm-arc-back{width:38px;height:38px;border:none;background:none;color:var(--text);display:flex;align-items:center;justify-content:center;border-radius:50%;cursor:pointer;padding:0}
.dm-arc-back:active{background:var(--surface2)}
.dm-arc-back svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.dm-arc-ht{display:flex;flex-direction:column;line-height:1.25}
.dm-arc-ht b{font-size:16px;font-weight:800}
.dm-arc-ht span{font-size:12px;color:var(--text3);font-weight:600}
.dm-arc-row{display:none}
@media (pointer:fine){
  .dm-arc-row{display:flex;align-items:center;gap:12px;padding:10px 16px;cursor:pointer;font-size:14px;font-weight:700;color:var(--text2)}
  .dm-arc-row:hover{background:var(--surface2)}
  .dm-arc-row svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
  .dm-arc-row span{flex:1}
  .dm-arc-row b{font-size:12px;color:var(--text3)}
}
/* ── длинный запрос в чате с ИИ ── */
.ai-clamp-body.clamped{overflow:hidden;-webkit-mask-image:linear-gradient(to bottom,#000 calc(100% - 64px),transparent);mask-image:linear-gradient(to bottom,#000 calc(100% - 64px),transparent)}
.ai-more{display:flex;align-items:center;gap:4px;margin-top:6px;padding:2px 0;border:none;background:none;color:inherit;opacity:.92;font-size:14px;font-weight:700;cursor:pointer;font-family:inherit;-webkit-user-select:none;user-select:none}
.ai-more svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round;transition:transform .2s}
.ai-more.open svg{transform:rotate(180deg)}
/* ═══ Настройки: единый стиль (группы-карточки, один набор контролов) ═══ */
.set-tabs{gap:8px}
.set-tab{height:36px;padding:0 15px;border-radius:18px;border:none;background:var(--surface2);color:var(--text2);font-size:13px;font-weight:700}
.set-tab.active{background:var(--accent);color:var(--accent-inv)}
.set-sec{padding:2px 0 16px}
.st-h{font-size:13px;font-weight:800;color:var(--accent);margin:22px 4px 8px;letter-spacing:.1px}
.set-sec>.st-h:first-child{margin-top:4px}
.st-note{font-size:12.5px;color:var(--text3);line-height:1.45;margin:2px 4px 10px}
.set-sec .set-row,.set-sec .prof-notif,.set-sec .prof-bio-row,.set-sec .prof-lowmail,.set-sec .prof-stat,.set-sec .dev-item,.set-sec .srv-item{background:var(--surface2);border:none;border-radius:18px;padding:14px 16px;margin:0 0 10px;box-sizing:border-box}
.set-sec .set-row,.set-sec .prof-notif{display:flex;align-items:center;justify-content:space-between;gap:12px}
.set-sec .set-row.col{flex-direction:column;align-items:stretch;gap:0}
.set-sec .prof-stats{display:block;margin:0}
.set-sec .dev-item{gap:12px}
#devicesList .dev-item{margin:0}
.set-sec .prof-notif-t{font-size:14.5px;font-weight:700;color:var(--text)}
.set-sec .prof-notif-t .ts-val{float:right}
.set-sec .prof-notif-s{font-size:12.5px;font-weight:500;color:var(--text3);line-height:1.45;margin-top:2px}
.set-sec .prof-bio-lbl,.set-sec .prof-lowmail-lbl,.set-sec .prof-stat-lbl{font-size:14.5px;font-weight:700;color:var(--text);text-transform:none;letter-spacing:0;margin-bottom:8px}
.set-sec .prof-edit-err{min-height:0;margin:0}
.set-sec .prof-edit-err:not(:empty){margin-top:6px}
.set-sec .prof-edit-inp{height:44px;border:1.5px solid transparent;border-radius:12px;background-color:var(--surface);font-size:14px;font-weight:600}
.set-sec .prof-edit-inp:focus{border-color:var(--text3)}
.set-sec .prof-bio-ta{border:1.5px solid transparent;border-radius:12px;background:var(--surface);padding:11px 12px;font-size:14px}
.set-sec .prof-bio-ta:focus{border-color:var(--text3);background:var(--surface)}
.set-sec .prof-edit-row{margin-bottom:0}
.set-sec .prof-lowmail-val{font-size:14px}
.set-sec .prof-edit-btn{height:44px;padding:0 16px;border-radius:12px;font-size:14px}
.st-btn{display:flex;align-items:center;justify-content:center;width:100%;height:44px;margin-top:10px;border:none;border-radius:12px;background:var(--surface);color:var(--text);font-family:inherit;font-size:14px;font-weight:700;cursor:pointer;transition:opacity .15s}
.st-btn:active{opacity:.6}
.set-sec .prof-view-pub-btn,.set-sec .track-add-btn{height:50px;margin:0 0 10px;padding:0 16px;border:none;border-radius:18px;background:var(--surface2);color:var(--text);justify-content:flex-start;gap:12px;font-size:14.5px;font-weight:700}
.set-sec .prof-view-pub-btn:hover,.set-sec .track-add-btn:hover{background:var(--surface2);color:var(--text);opacity:.85}
.set-sec .prof-logout{height:50px;border:none;border-radius:18px;background:var(--surface2);font-size:14.5px;font-weight:700;color:var(--red);margin-top:0}
.set-sec .dev-kill{border:none;background:var(--surface);border-radius:12px;padding:9px 13px}
.set-sec .dev-ren{border:none;background:var(--surface)}
.st-seg{display:flex;gap:4px;padding:4px;margin-top:10px;border-radius:14px;background:var(--surface)}
.st-seg .set-tab{flex:1 1 0;min-width:0;height:36px;padding:0 6px;border-radius:10px;background:transparent;color:var(--text2);font-size:13px;line-height:1.15;white-space:normal}
.st-seg .set-tab.active{background:var(--accent);color:var(--accent-inv)}
.set-sec .sw{width:50px;height:30px;border-radius:15px;background:var(--surface);box-shadow:none}
.set-sec .sw::after{top:3px;left:3px;width:24px;height:24px}
.set-sec .sw.on{background:var(--accent)}
.set-sec .sw.on::after{transform:translateX(20px)}
.set-sec .ct-grid,.set-sec .cb-grid,.set-sec .bs-grid,.set-sec .qr-grid{margin-top:12px}
.set-sec .qr-btn{background:var(--surface);border-radius:12px}
.set-sec .ct-card,.set-sec .cb-card,.set-sec .bs-card{border-radius:16px}
/* настройки: без серых подложек у строк, карточек и кнопок-плашек */
.set-sec .set-row,.set-sec .prof-notif,.set-sec .prof-bio-row,.set-sec .prof-lowmail,.set-sec .prof-stat,.set-sec .dev-item,.set-sec .srv-item,.set-sec .track-card{background:transparent!important;padding-left:2px;padding-right:2px}
.set-sec .prof-view-pub-btn,.set-sec .track-add-btn,.set-sec .prof-view-pub-btn:hover,.set-sec .track-add-btn:hover,.set-sec .prof-logout{background:transparent!important;padding-left:2px;padding-right:2px}
.set-sec .prof-logout:hover{background:var(--red)!important;color:#fff}
.set-sec .set-row.plus-locked button{background:transparent}
/* настройки: серый фон только у полей ввода и кнопок (включая переключатели) */
.set-sec .prof-edit-inp,.set-sec select.prof-edit-inp,.set-sec .prof-bio-ta,.set-sec .prof-edit-inp:focus,.set-sec .prof-bio-ta:focus{background-color:var(--surface2)}
.set-sec .prof-bio-ta,.set-sec .prof-bio-ta:focus{background:var(--surface2)}
#tab-settings button.cs-btn,#tab-settings button.cs-btn.open{background:var(--surface2)!important}
.set-sec .st-btn,.set-sec .qr-btn,.set-sec .dev-kill,.set-sec .dev-ren{background:var(--surface2)}
.set-sec .st-seg{background:var(--surface2)}
.set-sec .st-seg .set-tab{background:transparent}
.set-sec .st-seg .set-tab.active{background:var(--accent)}
.set-sec .sw:not(.on){background:var(--surface2)}
.set-sec .sw.on{background:var(--accent)}
.set-sec .prof-view-pub-btn,.set-sec .track-add-btn,.set-sec .prof-logout{background:var(--surface2)!important;padding-left:16px;padding-right:16px;border-radius:12px}
.set-sec .prof-view-pub-btn:hover,.set-sec .track-add-btn:hover{background:var(--surface2)!important}
.set-sec .prof-logout:hover{background:var(--red)!important;color:#fff}
/* карточки с иконкой/кнопкой слева (сервер, трек, устройство): вернуть боковые отступы, чтобы не прилипало к краю */
.set-sec .srv-item,.set-sec .track-card,.set-sec .dev-item{padding-left:14px!important;padding-right:14px!important}
/* настройки: шрифты как на остальном сайте (13-13.5px) */
.set-sec .prof-notif-t,.set-sec .prof-bio-lbl,.set-sec .prof-lowmail-lbl,.set-sec .prof-stat-lbl{font-size:13.5px}
.set-sec .prof-notif-s{font-size:12px}
.set-sec .prof-lowmail-val{font-size:13px}
.set-sec .prof-edit-inp,.set-sec select.prof-edit-inp{font-size:13.5px;height:40px}
.set-sec .prof-bio-ta{font-size:13.5px}
#tab-settings button.cs-btn{font-size:13.5px!important;height:40px!important;min-height:40px!important}
.set-sec .prof-edit-btn{font-size:13px;height:40px}
.st-btn{font-size:13.5px;height:40px}
.set-sec .prof-view-pub-btn,.set-sec .track-add-btn,.set-sec .prof-logout{font-size:13.5px;height:42px}
.st-h{font-size:12.5px}
.st-seg .set-tab{font-size:13px}
.set-sec .seen-chip{background:var(--surface);border:none}
.set-sec .ts-prev{background:var(--surface);border:none;margin:10px 0}
.set-sec .ts-range{margin:12px 0 2px}
.set-sec .srv-item{display:flex;align-items:center;gap:12px;width:100%;box-shadow:inset 0 0 0 2px transparent;transition:box-shadow .15s}
.set-sec .srv-item.sel{box-shadow:inset 0 0 0 2px var(--accent)}
.set-legal{background:var(--surface2);border-radius:18px;padding:2px 16px}
.set-legal a{padding:13px 0}
