/* =========================================================
   AniLog — адаптивность: телефоны
   ========================================================= */

@media (max-width: 540px) {
  .hero__title {
    font-size: clamp(2.65rem, 12vw, 3.5rem);
  }

  .eyebrow {
    margin-bottom: 16px;
    font-size: 9.5px;
  }

  .stat-card {
    min-height: 145px;
    flex-direction: column;
    gap: 13px;
    padding: 16px;
  }

  .stat-card__icon {
    width: 37px;
    height: 37px;
    border-radius: 11px;
  }

  .stat-card__icon .icon {
    width: 17px;
    height: 17px;
  }

  .stat-card__value {
    margin-top: 5px;
    font-size: 1.7rem;
  }

  .stat-card__hint {
    display: none;
  }

  .section-head {
    flex-wrap: wrap;
    gap: 10px;
  }

  .sort-control {
    padding-top: 0;
    margin-left: auto;
  }

  .filter-tab {
    padding: 0 11px;
    font-size: 11.5px;
  }

  .filter-tab__count {
    display: none;
  }

  .anime-card {
    padding: 7px 7px 0;
    border-radius: 19px;
  }

  .anime-card__cover,
  .cover-clip {
    border-radius: 14px;
  }

  .status-wrap {
    top: 9px;
    left: 9px;
  }

  .status-pill {
    height: 27px;
    gap: 6px;
    padding: 0 8px;
    font-size: 9px;
  }

  .status-pill__chevron {
    display: none;
  }

  .status-menu {
    width: min(160px, 44vw);
  }

  .status-menu button {
    gap: 7px;
    padding: 0 7px;
    font-size: 10.5px;
  }

  .card-actions {
    top: 9px;
    right: 9px;
    gap: 5px;
    opacity: 1;
    transform: none;
  }

  .card-actions .icon-button {
    width: 29px;
    height: 29px;
    border-radius: 9px;
  }

  .card-actions .icon-button .icon {
    width: 13px;
    height: 13px;
  }

  .cover-meta {
    right: 9px;
    bottom: 9px;
    left: 9px;
  }

  .cover-meta__row {
    margin-bottom: 6px;
    font-size: 8.5px;
  }

  .anime-card__body {
    padding: 11px 5px 13px;
  }

  .anime-card__title {
    min-height: 2.7em;
    font-size: 12.5px;
  }

  .card-rating {
    margin-top: 8px;
  }

  .star {
    width: 8px;
    height: 8px;
  }

  .card-score {
    font-size: 10px;
  }

  .card-score__of {
    display: none;
  }

  .anime-card__note {
    margin-top: 7px;
    font-size: 9.5px;
  }

  .empty-state {
    padding: 38px 20px;
  }

  .empty-state__actions .button {
    flex: 1;
  }

  .modal__main {
    padding: 26px 16px 22px;
  }

  .modal__title {
    font-size: 1.55rem;
  }

  .form-row {
    gap: 9px;
  }

  .rating-star-label {
    width: 22px;
    height: 22px;
  }

  .rating-stars {
    gap: 3px;
  }

  .form-actions {
    flex-wrap: wrap-reverse;
  }

  .form-actions .button {
    flex: 1;
    padding: 0 12px;
  }

  .toast__text {
    display: none;
  }
}

@media (max-width: 380px) {
  .container {
    width: calc(100% - 24px);
  }

  .brand__caption {
    display: none;
  }

  .brand__name {
    font-size: 17px;
  }

  .stats {
    gap: 10px;
  }

  .stat-card {
    min-height: 136px;
    padding: 14px;
  }

  .stat-card__label {
    font-size: 10.5px;
  }

  .anime-grid {
    gap: 9px;
  }

  .filter-tab {
    gap: 6px;
    padding: 0 10px;
  }

  .add-button {
    width: 41px;
    height: 41px;
  }

  .form-row {
    grid-template-columns: 1fr;
  }

  .rating-clear {
    margin-left: auto;
  }
}

@media (hover: none) {
  .card-actions {
    opacity: 1;
    transform: none;
  }

  .anime-card:hover {
    transform: none;
  }
}

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    scroll-behavior: auto !important;
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
}

/* =========================================================
   Mobile Phase 2 (план): гигиена тяжёлой графики.
   backdrop-filter — главная статья TBT на мобильных GPU: blur стоит
   на статус-пилле КАЖДОЙ карточки, шапке, меню, оверлеях и панелях.
   На тач-экранах размытие малозаметно — выключаем (полупрозрачный
   фон элементов остаётся). Триггер: узкий экран ИЛИ тач-ввод.
   ========================================================= */
@media (max-width: 540px), (hover: none) {
  .auth-overlay,
  .account-menu,
  .icon-button,
  .status-pill,
  .sort-dropdown__panel,
  .site-header,
  .stat-card,
  .status-menu,
  .toast,
  .suggest,
  .modal__backdrop,
  .import-badge,
  .account-tabs,
  .hero-art__core {
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
  }

  /* Декоративное сияние: blur(110px) на 46vw-элементах с бесконечными
     drift-анимациями — самое дорогое на мобильном GPU. Цветные пятна
     остаются, но рисуются один раз без фильтра и без перерисовок. */
  .ambient__glow {
    filter: none;
    animation: none;
    will-change: auto;
  }

  /* Карточки вне вьюпорта не рендерятся и не пейнтятся: при 100+ записях
     скролл перестаёт линейно нагружать layout/paint. */
  .anime-card {
    content-visibility: auto;
    contain-intrinsic-size: auto 320px;
  }
}
