/* Мягкие мультяшные материалы, в стиле Сменыча. */
img.toy-icon { display:inline-block; object-fit:contain; flex-shrink:0; vertical-align:middle; }
/* Навигация: иконки всегда цветные; выбранный раздел обозначают фон и aria-current. */
img.toy-nav { width:28px; height:28px; transform-origin:50% 75%; transition:transform 180ms cubic-bezier(.16,1,.3,1); }
.cab-nav-link img.toy-nav { width:28px; height:28px; }
@media (hover:hover) and (pointer:fine) {
  :is(button:not(:disabled),a[href]):is(:hover,:focus-visible) img.toy-nav { transform:translateY(-2px) rotate(-4deg) scale(1.06); }
  .bottom-nav button:not(:disabled):focus-visible img.toy-icon { transform:translateY(-2px) scale(1.06); }
}
:is(button:not(:disabled),a[href]):active img.toy-nav { transform:translateY(1px) scale(.9); transition-duration:80ms; }
img.toy-profile { width:28px; height:28px; transform-origin:50% 80%; transition:transform 180ms cubic-bezier(.16,1,.3,1); }
.bottom-nav img.toy-profile { width:28px; height:28px; }
img:is(.toy-trophy,.toy-geo,.toy-search) { width:28px; height:28px; transform-origin:50% 75%; transition:transform 180ms cubic-bezier(.16,1,.3,1); }
.bottom-nav img.toy-search { width:28px; height:28px; }
.toy-rating { display:inline-flex; align-items:center; gap:1px; vertical-align:middle; line-height:1; }
.toy-rating .toy-star { width:22px; height:22px; }
.cabinet-stars .toy-star, .cab-actions .toy-star { width:25px; height:25px; }
.cabinet-stars { display:flex; flex-wrap:wrap; gap:8px; margin-block:12px; }
.cabinet-stars .outline, .cab-actions .outline:has(.toy-star) { gap:0; padding-inline:8px; }
img.toy-heart { width:28px; height:28px; transform-origin:50% 55%; transition:transform 200ms cubic-bezier(.16,1,.3,1),filter 180ms ease; }
.save-icon .toy-heart { width:32px; height:32px; }
[data-save-id][aria-pressed=false] .toy-heart { filter:grayscale(1) brightness(1.08); }
[data-save-id][aria-pressed=true] .toy-heart { filter:saturate(3) brightness(1.08); }
@media (hover:hover) and (pointer:fine) {
  button:not(:disabled):hover .toy-heart { transform:scale(1.04); }
  button:not(:disabled):has(.toy-star):hover .toy-rating { transform:translateY(-1px); }
  :is(button:not(:disabled),a[href]):hover .toy-profile { transform:translateY(-2px) rotate(-4deg) scale(1.06); }
  :is(button:not(:disabled),a[href]):hover .toy-trophy { transform:translateY(-2px) rotate(-4deg) scale(1.06); }
  :is(button:not(:disabled),a[href]):hover .toy-search { transform:translateY(-1px) rotate(6deg) scale(1.06); }
}
/* Прожатие перебивает наведение; возврат начинается с текущего положения. */
:is(button:not(:disabled),a[href]):active .toy-profile { transform:translateY(1px) scale(.9); transition-duration:80ms; }
:is(button:not(:disabled),a[href]):active :is(.toy-trophy,.toy-search) { transform:translateY(1px) scale(.9); transition-duration:80ms; }
button:not(:disabled):active .toy-heart { transform:scale(.86,.82); transition-duration:80ms; }
button:disabled img.toy-icon { opacity:.5; }
.cabinet-stars .outline, .cab-actions .outline:has(.toy-star) { min-width:44px; min-height:48px; }
.cab-actions:has(.toy-star) { justify-content:flex-start; gap:8px; }
@media (max-width:799px) { .cab-actions > .outline:has(.toy-star) { flex:0 0 44px; } }

/* Полузвезда использует тот же объёмный рисунок: золотая левая половина. */
.toy-star-shell { position:relative; display:inline-block; flex:none; width:22px; height:22px; }
.toy-rating .toy-star-shell .toy-star { position:absolute; inset:0; width:100%; height:100%; }
.toy-star-empty { filter:grayscale(1); opacity:.35; }
.toy-star-half { clip-path:inset(0 50% 0 0); }
.cabinet-stars .toy-star-shell, .cab-actions .toy-star-shell { width:25px; height:25px; }

img.toy-bookmark { width:28px; height:28px; transition:transform 220ms cubic-bezier(.16,1,.3,1); }
.cab-nav-link .toy-bookmark { width:24px; height:28px; }
.cab-list-icon .toy-bookmark { width:30px; height:30px; }
@media (hover:hover) and (pointer:fine) { :is(button:not(:disabled),a[href]):hover .toy-bookmark { transform:translateY(-2px) rotate(-5deg); } }
:is(button:not(:disabled),a[href]):active .toy-bookmark { transform:translateY(1px) scale(.9); transition-duration:80ms; }

.report-action { display:inline-flex; align-items:center; justify-content:center; gap:8px; }
.report-action img.toy-report { width:30px; height:30px; transition:transform 220ms cubic-bezier(.16,1,.3,1); }
@media (hover:hover) and (pointer:fine) { .report-action:not(:disabled):hover .toy-report { transform:rotate(-5deg) translateY(-1px); } }
.report-action:not(:disabled):active .toy-report { transform:translateY(1px) scale(.9); transition-duration:80ms; }
@media (prefers-reduced-motion:reduce) {
  img.toy-icon, .report-action img.toy-report, .toy-rating { transition:none; transform:none!important; }
}

/* Информация и переход к первоисточнику: объёмные значки в скруглённых квадратах. */
.trust img.toy-info { width: 36px; height: 36px; flex: none; }
.detail-note img.toy-info { width: 30px; height: 30px; flex: none; }
img.toy-external { width: 22px; height: 22px; vertical-align: -.25em; margin-left: 3px; }
.story-source img.toy-external { width: 22px; height: 22px; }
.toy-source-link { display: inline-flex; align-items: center; gap: 6px; max-width: 100%; }
.toy-source-link img.toy-external { margin-left: 0; }
#channel-link { gap: 5px; }
