/* ============================================================================
   ОКНО «ПОДЕЛИТЬСЯ» (assets/pub-share.js) — один слой на все поверхности.

   РЕЕСТР СЛОЁВ (fixed; 16.10.2026) — значения сверены с файлами владельцев:
     5000 нижняя капсула .pnav (pub-bottom-nav.css)
     5002 шапка (dc-app-header.css)
     6000/6001 подложка и шторка композера (pub-feed.css)
     6100 панель комментариев
     6200 полноэкранный просмотрщик (pub-viewer.css)
     6300 ЭТО окно — над просмотрщиком: «Поделиться» открывается ПОВЕРХ него,
          а не под ним (дефект владельца 16.10). Монтируется в body.
   Левый край — общий сдвиг рабочей области (--pub-work-left), как у остальных слоёв.

   ТЕМА. Токены --pub-* по умолчанию тёмные (объявлены в pub-feed.css); светлые
   переопределения у соседей стоят под body.pub-feed-open/.pub-sheet — наш узел в
   body их не получает, поэтому светлый блок дублируется ЗДЕСЬ под html[data-theme=
   "light"] .pshare. Переключение темы без перезагрузки: только CSS-переменные.

   МОБИЛЬНЫЙ КРАЙ. Снизу — safe-area iPhone + зарезервированная высота открытой
   экранной клавиатуры (--dc-keyboard-inset, тот же источник, что у шторки
   композера): окно целиком в видимой области, «Отправить» и крестик доступны
   с клавиатурой и без. Список результатов прокручивается ВНУТРИ окна.
   ============================================================================ */

.pshare{
  /* dialog: сброс UA-стилей. Панель — прозрачная рамка на весь экран, затемнение
     живёт в ::backdrop (тop layer рисует backdrop поверх страницы автоматически). */
  position:fixed;
  inset:0;
  left:var(--pub-work-left,0px);
  width:auto;
  max-width:none;
  height:auto;
  max-height:none;
  margin:0;
  padding:0;
  border:0;
  background:transparent;
  display:flex;
  align-items:flex-end;
  justify-content:center;
}
.pshare::backdrop{
  background:rgba(4,8,14,.6);
}
html[data-theme="light"] .pshare::backdrop{background:rgba(16,22,32,.45);}
@media (min-width:641px){
  .pshare{align-items:center;}
}
.pshare__sheet{
  width:100%;
  max-width:420px;
  /* Высота — от контейнера (= видимой области; контейнер позиционируется от
     visualViewport в pub-share.js). Колонка: шапка/поиск/«Отправить» фиксированы,
     прокручивается ТОЛЬКО список результатов (.pshare__results). */
  max-height:calc(100% - env(safe-area-inset-bottom,0px));
  display:flex;
  flex-direction:column;
  overflow:hidden;
  background:var(--pub-panel,rgba(18,26,36,.97));
  border:1px solid var(--pub-bd,rgba(255,255,255,.07));
  border-radius:var(--pub-radius,16px) var(--pub-radius,16px) 0 0;
  box-shadow:var(--pub-shadow,0 4px 22px rgba(0,0,0,.32));
  padding:14px 16px calc(16px + env(safe-area-inset-bottom,0px));
  color:var(--pub-ink,rgba(255,255,255,.96));
  box-sizing:border-box;
}
.pshare__head,.pshare__link,.pshare__sep,.pshare__chosen,.pshare__q,.pshare__send,.pshare__status{flex:none;}
@media (min-width:641px){
  .pshare__sheet{border-radius:var(--pub-radius,16px);margin-bottom:0;}
}
.pshare__head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  margin-bottom:10px;
}
.pshare__title{
  margin:0;
  font-size:15px;
  font-weight:600;
  color:var(--pub-ink,rgba(255,255,255,.96));
}
.pshare__x{
  appearance:none;
  -webkit-appearance:none;
  border:0;
  background:transparent;
  color:var(--pub-muted,rgba(148,163,184,.72));
  font-size:22px;
  line-height:1;
  min-width:40px;
  min-height:40px;
  margin:-6px -10px 0 0;
  cursor:pointer;
}
.pshare__link{
  display:flex;
  align-items:center;
  gap:10px;
  width:100%;
  appearance:none;
  -webkit-appearance:none;
  border:1px solid var(--pub-line,#1f2a3a);
  background:var(--pub-surface,#0c121c);
  color:var(--pub-ink,rgba(255,255,255,.96));
  border-radius:12px;
  padding:11px 12px;
  font-size:14px;
  cursor:pointer;
  min-height:44px;
}
.pshare__link svg{
  width:18px;
  height:18px;
  fill:none;
  stroke:currentColor;
  stroke-width:2;
  stroke-linecap:round;
  stroke-linejoin:round;
  color:var(--pub-accent,#6ab3f3);
}
.pshare__sep{
  margin:14px 0 8px;
  font-size:var(--pub-meta-size,10.5px);
  text-transform:uppercase;
  letter-spacing:.06em;
  color:var(--pub-muted,rgba(148,163,184,.72));
}
.pshare__chosen{
  font-size:13px;
  color:var(--pub-accent,#6ab3f3);
  padding:2px 0 8px;
}
/* Поле поиска: appearance снят ЯВНО в обе стороны — иначе iOS/Safari рисуют
   собственный белый фон поверх токенов (дефект владельца 16.10). */
.pshare__q{
  width:100%;
  appearance:none;
  -webkit-appearance:none;
  border:1px solid var(--pub-line,#1f2a3a);
  background:var(--pub-ground,#070707);
  color:var(--pub-ink,rgba(255,255,255,.96));
  caret-color:var(--pub-accent,#6ab3f3);
  border-radius:12px;
  padding:10px 12px;
  font-size:14px;
  min-height:44px;
  box-sizing:border-box;
}
.pshare__q:focus{
  outline:none;
  border-color:var(--pub-accent,#6ab3f3);
  box-shadow:0 0 0 2px color-mix(in srgb,var(--pub-accent,#6ab3f3) 30%, transparent);
}
.pshare__q::placeholder{color:var(--pub-faint,#5a6578);opacity:1;}
.pshare__q::-webkit-search-cancel-button{-webkit-appearance:none;appearance:none;}
.pshare__results{
  margin-top:6px;
  border:1px solid var(--pub-line,#1f2a3a);
  border-radius:12px;
  overflow:hidden;
  /* При нехватке высоты прокручивается ТОЛЬКО список — поиск и «Отправить»
     остаются на месте (контейнер окна уже позиционирован над клавиатурой). */
  flex:1;
  min-height:0;
  max-height:220px;
  overflow-y:auto;
  -webkit-overflow-scrolling:touch;
}
.pshare__row{
  display:flex;
  align-items:center;
  gap:10px;
  width:100%;
  appearance:none;
  -webkit-appearance:none;
  border:0;
  background:var(--pub-surface,#0c121c);
  padding:8px 10px;
  cursor:pointer;
  text-align:left;
  min-height:48px;
}
.pshare__row + .pshare__row{border-top:1px solid var(--pub-line,#1f2a3a);}
.pshare__row:active{background:var(--pub-line,#1f2a3a);}
.pshare__row-ava{
  width:32px;
  height:32px;
  border-radius:50%;
  object-fit:cover;
  flex:none;
}
.pshare__row-meta{display:flex;flex-direction:column;min-width:0;}
.pshare__row-name{
  font-size:14px;
  color:var(--pub-ink,rgba(255,255,255,.96));
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.pshare__row-login{
  font-size:var(--pub-meta-size,10.5px);
  color:var(--pub-muted,rgba(148,163,184,.72));
}
.pshare__send{
  width:100%;
  appearance:none;
  -webkit-appearance:none;
  border:0;
  border-radius:12px;
  padding:12px;
  margin-top:12px;
  min-height:44px;
  font-size:14px;
  font-weight:600;
  cursor:pointer;
  background:var(--pub-brand,#e8651c);
  color:#fff;
}
.pshare__send:disabled{
  background:var(--pub-line,#1f2a3a);
  color:var(--pub-muted,rgba(148,163,184,.72));
  cursor:default;
}
.pshare__status{
  margin-top:10px;
  font-size:13px;
  color:var(--pub-muted,rgba(148,163,184,.72));
  min-height:1em;
}

/* СВЕТЛАЯ ТЕМА. Те же значения, что у соседнего блока в pub-feed.css, но под
   наш узел: переключение темы работает без перезагрузки (только переменные). */
html[data-theme="light"] .pshare{
  --pub-panel:#ffffff;
  --pub-scrim-solid:#e9edf2;
  --pub-bd:rgba(16,22,32,.09);
  --pub-shadow:0 4px 18px rgba(16,22,32,.10);
  --pub-ink:#12161c;
  --pub-muted:rgba(70,80,92,.72);
  --pub-faint:#9aa4b0;
  --pub-line:#dde3ea;
  --pub-surface:#ffffff;
  --pub-ground:#f2f5f8;
  --pub-accent:#2b8ad6;
}
