/* AivanCrate — Голосования сообщества в стиле V2 */
.cvx .av2-stat .cvx-yes { color: #86efac; }
.cvx .av2-stat .cvx-no { color: #fca5a5; }
.cvx-create { background: linear-gradient(180deg, #22c55e, #15803d) !important; color: #fff !important; box-shadow: 0 0 0 2px #000; }
.cvx-filters { display: flex; flex-direction: column; gap: .55rem; padding: .8rem .9rem; margin: 0 auto 1.1rem; }
.cvx-filter-row { display: flex; flex-wrap: wrap; align-items: center; gap: .6rem; }
.cvx-filter-row .av2-label { min-width: 5.5rem; }
.cvx-reset { margin-left: auto; }

.cvx-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 25rem), 1fr)); gap: 1rem; }
.cvx-card {
    --fr: var(--av2-sky);
    display: flex; flex-direction: column; border-radius: 1.1rem; overflow: hidden; background: var(--av2-card);
    border: 1px solid color-mix(in srgb, var(--fr) 40%, transparent); box-shadow: 0 0 0 1px #000;
    transition: transform .2s ease, box-shadow .2s ease; animation: av2Rise .35s ease both; animation-delay: var(--d, 0ms);
}
.cvx-card:hover { transform: translateY(-4px); box-shadow: 0 0 0 1px #000, 0 18px 40px -18px color-mix(in srgb, var(--fr) 90%, transparent); }
.cvx-card.is-green_soft { --fr: #4ade80; }
.cvx-card.is-green { --fr: #22c55e; }
.cvx-card.is-red { --fr: #ef4444; }
.cvx-card.is-yellow { --fr: #facc15; }
.cvx-card.is-neutral { --fr: #8fa0ff; }
.cvx-card.is-live { box-shadow: 0 0 0 1px #000, 0 0 0 1px color-mix(in srgb, var(--fr) 40%, transparent) inset; }

.cvx-head { display: flex; justify-content: space-between; align-items: center; gap: .5rem; padding: .6rem .8rem; background: linear-gradient(90deg, color-mix(in srgb, var(--fr) 18%, transparent), transparent 70%); border-bottom: 1px solid rgba(143, 160, 255, .12); }
.cvx-type { display: inline-flex; align-items: center; gap: .45rem; font-size: .72rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; color: var(--av2-sky); }
.cvx-type i { font-style: normal; display: grid; place-items: center; width: 1.7rem; height: 1.7rem; border-radius: .5rem; background: rgba(2, 3, 20, .7); box-shadow: 0 0 0 1px #000; font-size: .9rem; }
.cvx-status { display: inline-flex; align-items: center; gap: .35rem; padding: .2rem .6rem; border-radius: 999px; font-size: .72rem; font-weight: 800; color: #fff; background: color-mix(in srgb, var(--fr) 35%, rgba(2, 3, 20, .6)); border: 1px solid color-mix(in srgb, var(--fr) 60%, transparent); }
.cvx-dot { width: .5rem; height: .5rem; border-radius: 50%; background: #4ade80; box-shadow: 0 0 0 0 rgba(74, 222, 128, .7); animation: cvxPulse 1.6s infinite; }
@keyframes cvxPulse { 70% { box-shadow: 0 0 0 8px rgba(74, 222, 128, 0); } 100% { box-shadow: 0 0 0 0 rgba(74, 222, 128, 0); } }

.cvx-body { display: grid; grid-template-columns: 9.5rem minmax(0, 1fr); gap: .8rem; padding: .8rem; text-decoration: none; color: var(--av2-ink) !important; }
.cvx-art { position: relative; display: block; aspect-ratio: 16 / 9; border-radius: .7rem; overflow: hidden; background: radial-gradient(circle, #1d27c9, #03041a 75%); box-shadow: 0 0 0 2px #000; }
.cvx-art-bg, .cvx-art-img { position: absolute; inset: 0; width: 100%; height: 100%; }
.cvx-art-bg { object-fit: cover; filter: blur(12px) brightness(.5); transform: scale(1.2); }
.cvx-art-img { object-fit: contain; transition: transform .3s; }
.cvx-card:hover .cvx-art-img { transform: scale(1.06); }
.cvx-art-diff { position: absolute; left: .3rem; top: .3rem; width: 30px; height: 30px; object-fit: contain; filter: drop-shadow(0 1px 0 #000); }
.cvx-art-player { position: absolute; right: .3rem; bottom: .3rem; width: 34px; height: 34px; border-radius: .4rem; box-shadow: 0 0 0 2px #000; background: #070a33; }
.cvx-diffswap { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; gap: .3rem; background: rgba(3, 4, 26, .55); }
.cvx-diffswap img { width: 40px; height: 40px; object-fit: contain; filter: drop-shadow(0 2px 0 #000); }
.cvx-diffswap b { color: var(--av2-gold); font-size: 1.2rem; text-shadow: 0 2px 0 #000; animation: cvxNudge 1.4s ease-in-out infinite; }
@keyframes cvxNudge { 50% { transform: translateX(4px); } }
.cvx-info { display: flex; flex-direction: column; gap: .25rem; min-width: 0; }
.cvx-level { font-size: 1.05rem; line-height: 1.15; color: #fff; overflow-wrap: anywhere; }
.cvx-sub { font-size: .82rem; color: var(--av2-muted); }
.cvx-sub strong { color: #fff; }
.cvx-reason { font-size: .78rem; color: #c9d1ff; font-style: italic; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }

.cvx-tally { padding: 0 .8rem .7rem; }
.cvx-bar { position: relative; display: flex; height: 12px; border-radius: 999px; overflow: hidden; background: rgba(255, 255, 255, .06); box-shadow: 0 0 0 1px #000; }
.cvx-bar i { display: block; width: 0; transition: width .9s cubic-bezier(.2, .9, .3, 1); }
.cvx-bar.is-in i { width: var(--w); }
.cvx-bar .is-yes { background: linear-gradient(90deg, #15803d, #4ade80); }
.cvx-bar .is-no { background: linear-gradient(90deg, #f87171, #b91c1c); }
.cvx-bar em { position: absolute; inset: 0; display: grid; place-items: center; font-style: normal; font-size: .62rem; font-weight: 800; color: #fff; text-shadow: 0 1px 0 #000; background: rgba(3, 4, 26, .6); }
.cvx-tally-nums { display: flex; justify-content: space-between; align-items: center; gap: .4rem; margin-top: .35rem; font-size: .8rem; }
.cvx-yes { color: #86efac; } .cvx-no { color: #fca5a5; }
.cvx-tally-nums b { color: #fff; }
.cvx-mine { padding: .1rem .5rem; border-radius: 999px; font-size: .68rem; font-weight: 800; color: #fff; box-shadow: 0 0 0 1px #000; }
.cvx-mine.is-yes { background: #15803d; } .cvx-mine.is-no { background: #b91c1c; }

.cvx-foot { margin-top: auto; display: flex; align-items: center; gap: .6rem; padding: .55rem .8rem; border-top: 1px solid rgba(143, 160, 255, .12); background: rgba(0, 0, 0, .2); }
.cvx-author { display: inline-flex; align-items: center; gap: .4rem; min-width: 0; font-size: .82rem; font-weight: 700; color: var(--av2-muted); }
.cvx-author img { width: 24px; height: 24px; border-radius: 5px; box-shadow: 0 0 0 1px #000; }
.cvx-author a { color: #fff !important; text-decoration: none; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.cvx-timer { margin-left: auto; font-size: .78rem; font-weight: 800; color: var(--av2-sky); font-variant-numeric: tabular-nums; white-space: nowrap; }
.cvx-timer.is-soon { color: var(--av2-gold); }
.cvx-timer.is-done { color: var(--av2-muted); }
.cvx-pager { margin-top: 1.2rem; color: var(--av2-muted); }
@media (max-width: 575.98px) { .cvx-body { grid-template-columns: 7rem minmax(0, 1fr); } .cvx-reset { margin-left: 0; } }
