/* NRCO ACTION — динамика интерфейса (общая) */

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

@keyframes nrcoUp   { from { opacity: 0; transform: translateY(12px); } to { opacity: 1; transform: none; } }
@keyframes nrcoPop  { from { opacity: 0; transform: scale(.85); }       to { opacity: 1; transform: scale(1); } }
@keyframes nrcoPulse{ 0%, 100% { box-shadow: 0 0 0 0 rgba(255,102,0,.45); } 50% { box-shadow: 0 0 0 7px rgba(255,102,0,0); } }

/* Появление контейнеров */
.card, .admin-card, .item-row, .task-detail, .form-box, .panel,
.reg-box, .reward-box, .me-line, .doc, .hero {
    animation: nrcoUp .45s ease both;
}

/* Списочные элементы — лёгкий каскад */
.row, .stat { animation: nrcoUp .4s ease both; }
.row:nth-child(2) { animation-delay: .04s; }
.row:nth-child(3) { animation-delay: .08s; }
.row:nth-child(4) { animation-delay: .12s; }
.row:nth-child(5) { animation-delay: .16s; }
.row:nth-child(6) { animation-delay: .20s; }

/* Отклик интерактивных элементов */
button, .btn-submit, .btn-take, .action-button, .tab-item, .c-btn, .btn-go,
.btn-add, .btn-approve, .btn-reject, .login-cta, .btn-guest, .reveal > summary,
.back, .back-btn, .video-link, .btn-edit, .btn-del {
    transition: transform .12s ease, filter .15s ease,
                background-color .18s ease, color .18s ease, border-color .18s ease;
}
button:active, .btn-submit:active, .btn-take:active, .action-button:active,
.tab-item:active, .c-btn:active, .btn-go:active, .btn-add:active,
.btn-approve:active, .btn-reject:active, .login-cta:active, .btn-guest:active,
.reveal > summary:active {
    transform: scale(.96);
}

/* Ховер (только устройства с указателем) */
@media (hover: hover) {
    .item-row, .admin-card, .stat { transition: transform .16s ease, border-color .16s ease; }
    .item-row:hover, .admin-card:hover, .stat:hover { transform: translateY(-3px); }
    .btn-go:hover, .action-button:hover, .btn-submit:hover, .btn-take:hover { filter: brightness(1.08); }
    .tab-item:hover { filter: brightness(1.18); }
}

/* Пульс на ближайшей награде в треке профиля */
.circ.next { animation: nrcoPulse 1.8s ease-in-out infinite; }

/* Активные задания «В работе» — живая подсветка-тень */
@keyframes nrcoGlow {
    0%, 100% { box-shadow: 0 0 0 0 rgba(255,102,0,0);    border-color: rgba(255,102,0,.35); }
    50%      { box-shadow: 0 0 20px 2px rgba(255,102,0,.30); border-color: rgba(255,102,0,.70); }
}
.task-live {
    border-color: rgba(255,102,0,.4);
    animation: nrcoGlow 2.4s ease-in-out infinite;
    transition: transform .16s ease, box-shadow .2s ease, border-color .2s ease;
}
@media (hover: hover) {
    .task-live:hover {
        transform: translateY(-3px);
        box-shadow: 0 10px 28px rgba(255,102,0,.40);
        border-color: #ff6600;
        animation-play-state: paused;
    }
}

/* Карточка игрового профиля — та же живая подсветка, чуть медленнее */
.profile-glow {
    animation: nrcoGlow 2.8s ease-in-out infinite;
    transition: transform .16s ease, box-shadow .2s ease, border-color .2s ease;
}
@media (hover: hover) {
    .profile-glow:hover {
        transform: translateY(-3px);
        box-shadow: 0 10px 28px rgba(255,102,0,.40);
        border-color: #ff6600;
        animation-play-state: paused;
    }
}

/* Кнопка «Вывести средства» — пульсирующее свечение (заливка → через тень) */
@keyframes nrcoBtnGlow {
    0%, 100% { box-shadow: 0 8px 18px rgba(255,102,0,.25); }
    50%      { box-shadow: 0 10px 30px rgba(255,102,0,.55); }
}
.withdraw-glow {
    animation: nrcoBtnGlow 2.2s ease-in-out infinite;
    transition: transform .14s ease, box-shadow .2s ease, filter .15s ease;
}
.withdraw-glow:active { transform: scale(.97); }
@media (hover: hover) {
    .withdraw-glow:hover {
        filter: brightness(1.06);
        box-shadow: 0 12px 34px rgba(255,102,0,.60);
        animation-play-state: paused;
    }
}

/* Плавное заполнение полосок */
.xp-fill   { transition: width 1.1s cubic-bezier(.2,.8,.2,1); }
.line-fill { transition: width 1.1s ease; }

/* Пустое состояние ленты — радар, ловящий новые задания */
@keyframes nrcoSonar { 0% { transform: scale(.4); opacity: .5; } 100% { transform: scale(1.4); opacity: 0; } }
@keyframes nrcoBob   { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-6px); } }
@keyframes nrcoDots  { 0%, 80%, 100% { opacity: .25; } 40% { opacity: 1; } }
.nrco-ring {
    position: absolute; left: 50%; top: 50%;
    width: 140px; height: 140px; margin: -70px 0 0 -70px;
    border: 1.5px solid rgba(255,102,0,.35); border-radius: 50%;
    animation: nrcoSonar 3.2s ease-out infinite;
}
.nrco-core { animation: nrcoBob 2.6s ease-in-out infinite; }
.nrco-dots span { animation: nrcoDots 1.4s ease-in-out infinite; }
.nrco-cta { animation: nrcoBtnGlow 2.4s ease-in-out infinite; }
