/* ─── Скелетоны загрузки + плейсхолдер аватара + докраска сплэша ───
   (js/skeleton.js; критикал сплэша инлайнится в <head> index.html).
   Пульс — ТОЛЬКО opacity (§1 перф-контракта: никакого layout/filter);
   слабое железо (body.light-fx) и prefers-reduced-motion — статичная плашка. */

.skel{
  border-radius:14px;
  background:var(--skel, rgba(60,55,45,.09));
  animation:skel-pulse 1.3s ease-in-out infinite;
}
@keyframes skel-pulse{50%{opacity:.45}}
body.light-fx .skel{animation:none;}

/* формы плашек: строка-карточка, чип фильтра, заголовок группы, ящик шкафа,
   плитка/полоса/строка профиля */
.skel-row{height:54px; margin:9px 0;}
.skel-chip{display:inline-block; width:96px; height:30px; border-radius:15px;
  margin-right:8px; vertical-align:middle;}
.skel-ghead{height:16px; width:130px; margin:14px 0 8px; border-radius:8px;}
.skel-drawer{height:64px; margin:10px 0;}
.skel-tile{height:74px; border-radius:16px;}
.skel-bar{height:26px; margin:10px 0; border-radius:10px;}
.skel-line{height:14px; border-radius:7px; margin:8px 0; max-width:220px;}

/* Плейсхолдер фото: пока <img class="ava"> не покрасился — нейтральный
   карандашный тон вместо яркой var(--ink-blue) подложки из .ava (та самая
   «синяя вспышка» при подгрузке аватара). Тёмная тема флипает токен сама. */
img.ava{background:var(--pencil-faint, #C9C3B4);}

:root[data-theme="dark"]{ --skel:rgba(232,226,210,.075); }

/* ─── сплэш: некритичная докраска (размер и пульс марки) ─── */
#splash .sp-mark svg{width:72px; height:auto; animation:sp-pulse 1.4s ease-in-out infinite;}
#splash .sp-mark .sp-under{width:126px; height:8px;}
@keyframes sp-pulse{50%{opacity:.55}}
body.light-fx #splash .sp-mark svg{animation:none;}

@media (prefers-reduced-motion:reduce){
  .skel, #splash .sp-mark svg{animation:none;}
}
