/* «Академия Вити» (/obuchenie/): плеер курса — как видео. Подключается только на этой странице (engine/vita/site/Academy.php).
   Сцена — тёмно-зелёный «экран» с анимациями урока; снизу Витя с субтитрами; сверху полоски уроков как в сторис.
   На паузе все анимации замирают (.is-paused). */
.acad { display: flex; flex-direction: column; gap: 18px; min-width: 0; }
.acad-player, .acad-stage, .acad-vita, .acad-say { min-width: 0; }
.acad-hero { display: flex; flex-direction: column; gap: 8px; max-width: 760px; }
.acad-hero__tag { align-self: flex-start; display: inline-flex; align-items: center; gap: 6px; padding: 6px 12px; border-radius: 999px; background: #FFD23F; color: #1F1A05; font-size: 13px; font-weight: 800; }
.acad-hero h1 { margin: 0; font-family: var(--font-display); font-size: clamp(28px, 4vw, 44px); line-height: 1.05; letter-spacing: -0.03em; }
.acad-hero p { margin: 0; color: var(--muted); font-size: 16px; line-height: 1.5; }

.acad-player { position: relative; display: grid; grid-template-columns: minmax(0, 1fr); grid-template-rows: auto 1fr auto auto; overflow: hidden; border-radius: 30px; outline: 0;
	background: radial-gradient(120% 90% at 20% 0%, #1B7A45 0%, #0D3B24 55%, #071E13 100%); color: #fff; box-shadow: 0 30px 70px -36px rgba(0, 60, 30, .9); min-height: 540px; }
.acad-player::before { content: ""; position: absolute; inset: 0; pointer-events: none; background: radial-gradient(40% 40% at 85% 20%, rgba(255, 210, 63, .18), transparent 70%), radial-gradient(30% 30% at 10% 90%, rgba(124, 92, 255, .2), transparent 70%); }
.acad-bars { position: relative; z-index: 2; display: flex; gap: 6px; padding: 16px 18px 0; }
.acad-bars button { flex: 1; height: 5px; padding: 0; border: 0; border-radius: 3px; background: rgba(255, 255, 255, .22); cursor: pointer; overflow: hidden; }
.acad-bars i { display: block; height: 100%; width: 0; border-radius: inherit; background: #FFD23F; }
.acad-stage { position: relative; z-index: 1; display: grid; place-items: center; min-height: 300px; padding: 18px; }
.acad-vita { position: relative; z-index: 2; display: flex; align-items: flex-end; gap: 14px; margin: 0 18px; padding: 12px 16px; border-radius: 22px; background: rgba(255, 255, 255, .1); -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); border: 1px solid rgba(255, 255, 255, .12); }
.acad-vita__m { flex: none; width: 70px; height: 82px; margin-top: -40px; filter: drop-shadow(0 10px 14px rgba(0, 0, 0, .35)); }
.acad-vita__m svg { width: 100%; height: 100%; overflow: visible; }
.acad-vita__m .vm-body { transform-box: fill-box; transform-origin: 50% 100%; animation: acad-float 3.2s ease-in-out infinite; }
.acad-vita__m.is-wave .vm-hand { transform-box: fill-box; transform-origin: 0% 100%; animation: acad-wave .9s ease-in-out 2; }
.acad-player.is-playing .acad-mouth { transform-box: fill-box; transform-origin: center; animation: acad-talk .28s ease-in-out infinite alternate; }
@keyframes acad-float { 50% { transform: translateY(-5px) rotate(-3deg); } }
@keyframes acad-wave { 25% { transform: rotate(-25deg); } 75% { transform: rotate(18deg); } }
@keyframes acad-talk { to { transform: scaleY(1.9) translateY(1px); } }
.acad-say { flex: 1; min-height: 66px; margin: 0; font-size: 16px; font-weight: 600; line-height: 1.5; }
.acad-say.is-typing::after { content: "▍"; margin-left: 2px; color: #FFD23F; animation: acad-caret .8s steps(1) infinite; }
@keyframes acad-caret { 50% { opacity: 0; } }
.acad-ctl { position: relative; z-index: 2; display: flex; align-items: center; gap: 8px; padding: 12px 18px 16px; }
.acad-btn { display: inline-grid; place-items: center; flex: none; width: 42px; height: 42px; padding: 0; border: 0; border-radius: 14px; background: rgba(255, 255, 255, .12); color: #fff; font-size: 16px; cursor: pointer; transition: background .2s, transform .2s; }
.acad-btn:hover { background: rgba(255, 255, 255, .22); }
.acad-btn:active { transform: scale(.92); }
.acad-btn--play { width: 52px; height: 52px; border-radius: 50%; background: #FFD23F; color: #1F1A05; font-size: 20px; }
.acad-btn--play:hover { background: #FFE07A; }
.acad-btn--voice { margin-left: auto; }
.acad-btn.is-nope { animation: acad-nope .4s; }
@keyframes acad-nope { 25%, 75% { transform: translateX(-4px); } 50% { transform: translateX(4px); } }
.acad-ctl__t { flex: 1; min-width: 0; overflow: hidden; color: rgba(255, 255, 255, .85); font-size: 14px; font-weight: 700; white-space: nowrap; text-overflow: ellipsis; }
.acad-start { position: absolute; z-index: 5; left: 50%; top: 42%; display: inline-flex; align-items: center; gap: 12px; height: 64px; padding: 0 28px 0 10px; border: 0; border-radius: 999px;
	background: #FFD23F; color: #1F1A05; font: 800 18px var(--font); cursor: pointer; transform: translate(-50%, -50%); box-shadow: 0 0 0 0 rgba(255, 210, 63, .6); animation: acad-pulse 2s infinite; }
.acad-start span { display: grid; place-items: center; width: 46px; height: 46px; border-radius: 50%; background: #1F1A05; color: #FFD23F; font-size: 18px; }
@keyframes acad-pulse { 0% { box-shadow: 0 0 0 0 rgba(255, 210, 63, .55); } 100% { box-shadow: 0 0 0 26px rgba(255, 210, 63, 0); } }
.acad-player.is-started .acad-start { display: none; }
.acad-player:not(.is-started) .acad-stage { filter: blur(1.5px) brightness(.8); }

.acad-h2 { margin: 10px 0 0; font-family: var(--font-display); font-size: 24px; }
.acad-h2 small { color: var(--brand-strong); font-family: var(--font); font-size: 14px; font-weight: 700; }
.acad-list { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 10px; margin: 0; padding: 0; list-style: none; }
.acad-ch { position: relative; display: flex; gap: 12px; padding: 14px; border: 1px solid var(--line); border-radius: 20px; background: var(--surface); cursor: pointer; transition: transform .25s, border-color .25s, box-shadow .25s; }
.acad-ch:hover { transform: translateY(-2px); border-color: color-mix(in srgb, var(--brand) 40%, var(--line)); box-shadow: 0 14px 26px -22px rgba(15, 26, 20, .6); }
.acad-ch.is-on { border-color: var(--brand); box-shadow: 0 0 0 3px color-mix(in srgb, var(--brand) 18%, transparent); }
.acad-ch__ico { flex: none; display: grid; place-items: center; width: 44px; height: 44px; border-radius: 14px; background: var(--surface-2); font-size: 22px; }
.acad-ch__tx { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.acad-ch__tx b { font-size: 15px; }
.acad-ch__tx small { display: -webkit-box; overflow: hidden; color: var(--muted); font-size: 13px; line-height: 1.45; -webkit-line-clamp: 3; -webkit-box-orient: vertical; }
.acad-ch__ok { position: absolute; top: 10px; right: 10px; display: none; place-items: center; width: 24px; height: 24px; border-radius: 50%; background: var(--brand-strong); color: #fff; font-size: 13px; font-style: normal; font-weight: 900; }
.acad-ch.is-done .acad-ch__ok { display: grid; animation: acad-pop .4s cubic-bezier(.2, 1.6, .4, 1); }

/* ---------- Сцены ---------- */
.acs { position: relative; display: flex; flex-direction: column; align-items: center; gap: 16px; width: min(560px, 100%); }
.acs .acs-pop, .acs .acs-row, .acs .acs-goal, .acs .acs-opt, .acs .acs-note { opacity: 0; }
.acs.is-run .acs-pop { animation: acad-pop .5s cubic-bezier(.2, 1.6, .4, 1) calc(.4s + var(--i, 0) * .25s) forwards; }
@keyframes acad-pop { from { opacity: 0; transform: scale(.5); } to { opacity: 1; transform: none; } }
@keyframes acad-rise { from { opacity: 0; transform: translateY(16px); } to { opacity: 1; transform: none; } }
.acs span[class] { display: inline-flex; align-items: center; gap: 6px; }

.acs-logo { font-family: var(--font-display); font-size: clamp(40px, 7vw, 72px); letter-spacing: -0.04em; animation: acad-rise .7s cubic-bezier(.2, 1.3, .4, 1) both; }
.acs-logo b { color: #FFD23F; }
.acs-badges { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; }
.acs-badges span, .acs-pay span, .acs-club span, .acs-tabs span { padding: 10px 14px; border-radius: 16px; background: rgba(255, 255, 255, .12); border: 1px solid rgba(255, 255, 255, .16); font-weight: 700; font-size: 14px; }
.acs-sparks { position: absolute; inset: -20px; pointer-events: none; }
.acs-sparks span { position: absolute; color: #FFD23F; opacity: 0; animation: acad-spark 2.4s ease-in-out calc(var(--i) * .45s) infinite; }
.acs-sparks span:nth-child(1) { left: 6%; top: 20%; } .acs-sparks span:nth-child(2) { right: 8%; top: 10%; } .acs-sparks span:nth-child(3) { left: 14%; bottom: 10%; }
.acs-sparks span:nth-child(4) { right: 14%; bottom: 22%; } .acs-sparks span:nth-child(5) { left: 50%; top: 0; }
@keyframes acad-spark { 0%, 100% { opacity: 0; transform: scale(.4); } 50% { opacity: 1; transform: scale(1.3) rotate(45deg); } }

.acs-bar { display: flex; align-items: center; gap: 10px; width: 100%; height: 56px; padding: 0 18px; border-radius: 18px; background: #fff; color: #1C2833; font-size: 18px; font-weight: 600; }
.acs-type { display: inline-block; overflow: hidden; white-space: nowrap; width: 0; }
.acs.is-run .acs-type { animation: acad-typing 1.4s steps(10) .5s forwards; }
@keyframes acad-typing { to { width: 10ch; } }
.acs-caret { width: 2px; height: 24px; background: #00A848; animation: acad-caret .8s steps(1) infinite; }
.acs-res { display: flex; flex-direction: column; gap: 6px; width: 100%; }
.acs-res .acs-row { padding: 10px 14px; border-radius: 14px; background: rgba(255, 255, 255, .1); font-weight: 600; }
.acs.is-run .acs-row { animation: acad-rise .45s ease calc(2s + var(--i) * .2s) forwards; }
.acs-goals { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; }
.acs-goals .acs-goal { padding: 9px 14px; border-radius: 999px; background: rgba(255, 255, 255, .12); font-weight: 700; }
.acs.is-run .acs-goal { animation: acad-pop .45s cubic-bezier(.2, 1.6, .4, 1) calc(3s + var(--i) * .15s) forwards; }
.acs.is-run .acs-goal:first-child { animation: acad-pop .45s cubic-bezier(.2, 1.6, .4, 1) 3s forwards, acad-pick .5s ease 4.6s forwards; }
@keyframes acad-pick { to { background: #FFD23F; color: #1F1A05; transform: scale(1.08); } }
.acs-cursor { position: absolute; right: 10%; bottom: -10px; font-size: 30px; font-style: normal; opacity: 0; }
.acs.is-run .acs-cursor { animation: acad-cursor 1.6s ease 3.6s forwards; }
@keyframes acad-cursor { 0% { opacity: 0; transform: translate(60px, 40px); } 60% { opacity: 1; transform: translate(-150px, -10px); } 80% { transform: translate(-150px, -10px) scale(.85); } 100% { opacity: 1; transform: translate(-150px, -10px); } }

.acs-q { display: flex; flex-direction: column; gap: 10px; width: 100%; padding: 18px; border-radius: 22px; background: #fff; color: #1C2833; }
.acs-q > b { font-size: 18px; }
.acs-opts { display: flex; flex-direction: column; gap: 6px; }
.acs-opt { padding: 10px 12px; border: 1.5px solid #E3EBE6; border-radius: 14px; font-weight: 600; }
.acs.is-run .acs-opt { animation: acad-rise .4s ease calc(.4s + var(--i) * .15s) forwards; }
.acs.is-run .acs-opt:first-child { animation: acad-rise .4s ease .4s forwards, acad-chosen .3s ease 2s forwards; }
@keyframes acad-chosen { to { border-color: #00A848; background: #E3F5EA; } }
.acs-prog { height: 6px; border-radius: 3px; background: #E3EBE6; overflow: hidden; }
.acs-prog i { display: block; height: 100%; width: 0; background: #00A848; }
.acs.is-run .acs-prog i { animation: acad-fill 2.2s ease 2.4s forwards; }
@keyframes acad-fill { to { width: 100%; } }
.acs-plan { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; opacity: 0; }
.acs-plan > b { width: 100%; text-align: center; color: #FFD23F; font-size: 18px; }
.acs.is-run .acs-plan { animation: acad-rise .5s ease 4.8s forwards; }
.acs-plan .acs-pill { opacity: 1; padding: 8px 12px; border-radius: 12px; background: rgba(255, 255, 255, .14); font-weight: 700; font-size: 14px; }
.acs-chat { display: flex; align-items: center; gap: 8px; padding: 10px 14px; border-radius: 16px 16px 16px 4px; background: #fff; color: #1C2833; font-weight: 700; opacity: 0; }
.acs.is-run .acs-chat { animation: acad-pop .5s cubic-bezier(.2, 1.6, .4, 1) 6.4s forwards; }

.acs-cart { gap: 18px; }
.acs-cart-ico { position: absolute; right: 0; top: -6px; font-size: 34px; }
.acs-badge { position: absolute; top: -4px; right: -8px; display: grid; place-items: center; min-width: 22px; height: 22px; padding: 0 6px; border-radius: 11px; background: #E5484D; color: #fff; font-size: 13px; opacity: 0; transform: scale(0); }
.acs.is-run .acs-cart-ico .acs-badge { animation: acad-pop .45s cubic-bezier(.2, 1.8, .4, 1) 2.2s forwards; }
.acs-prod { position: relative; display: flex; align-items: center; gap: 12px; width: 100%; padding: 12px; border-radius: 20px; background: #fff; color: #1C2833; }
.acs-prod__img { display: grid; place-items: center; width: 56px; height: 56px; border-radius: 14px; background: #FFF4D6; font-size: 28px; opacity: 1 !important; }
.acs-prod > span:nth-child(2) { display: flex; flex: 1; min-width: 0; flex-direction: column; gap: 2px; align-items: flex-start !important; opacity: 1 !important; }
.acs-prod small { color: #00843A; font-weight: 800; }
.acs-add { padding: 10px 14px; border-radius: 12px; background: #00843A; color: #fff; font-weight: 800; opacity: 1 !important; }
.acs.is-run .acs-add { animation: acad-press .3s ease 1.2s; }
@keyframes acad-press { 50% { transform: scale(.88); background: #00A848; } }
.acs-fly { position: absolute; right: 40px; top: 20px; width: 14px; height: 14px; border-radius: 50%; background: #FFD23F; opacity: 0; }
.acs.is-run .acs-fly { animation: acad-fly .8s cubic-bezier(.3, .6, .4, 1) 1.4s forwards; }
@keyframes acad-fly { 0% { opacity: 1; transform: none; } 100% { opacity: 0; transform: translate(40px, -90px) scale(.4); } }
.acs-flow { display: flex; align-items: center; justify-content: center; }
.acs-flow i { display: grid; place-items: center; width: 56px; height: 56px; border-radius: 18px; background: rgba(255, 255, 255, .12); font-size: 28px; font-style: normal; opacity: .35; }
.acs.is-run .acs-flow i { animation: acad-light .5s ease calc(3s + var(--i) * .7s) forwards; }
@keyframes acad-light { to { opacity: 1; background: rgba(255, 210, 63, .25); transform: translateY(-4px); } }
.acs-flow b { width: 26px; height: 2px; margin: 0 4px; background: repeating-linear-gradient(90deg, #FFD23F 0 5px, transparent 5px 9px); opacity: .6; }
.acs-pay { display: flex; gap: 8px; }

.acs-jar { position: relative; width: 150px; height: 160px; }
.acs-jar__glass { position: absolute; inset: 30px 10px 0; border: 3px solid rgba(255, 255, 255, .5); border-top: 0; border-radius: 0 0 36px 36px; background: linear-gradient(transparent 40%, rgba(255, 210, 63, .25)); opacity: 1 !important; }
.acs-jar i { position: absolute; left: 50%; top: -30px; margin-left: -16px; font-size: 32px; font-style: normal; opacity: 0; }
.acs.is-run .acs-jar i { animation: acad-drop .9s cubic-bezier(.5, 0, .7, 1.4) calc(.4s + var(--i) * .5s) forwards; }
.acs-jar i:nth-child(2) { margin-left: -36px; } .acs-jar i:nth-child(3) { margin-left: 4px; } .acs-jar i:nth-child(4) { margin-left: -14px; }
@keyframes acad-drop { 0% { opacity: 1; transform: translateY(-40px) rotate(0); } 100% { opacity: 1; transform: translateY(150px) rotate(200deg); } }
.acs-jar i:nth-child(4) { animation-name: acad-drop2 !important; }
@keyframes acad-drop2 { 0% { opacity: 1; transform: translateY(-40px); } 100% { opacity: 1; transform: translateY(120px) rotate(-120deg); } }
.acs-cash { display: flex; flex-direction: column; align-items: center; opacity: 0; }
.acs.is-run .acs-cash { animation: acad-pop .5s cubic-bezier(.2, 1.6, .4, 1) 2.6s forwards; }
.acs-cash b { color: #FFD23F; font-family: var(--font-display); font-size: 40px; line-height: 1; }
.acs-use { padding: 10px 14px; border-radius: 16px; background: #fff; color: #1C2833; font-weight: 700; opacity: 0; }
.acs.is-run .acs-use { animation: acad-rise .5s ease 3.6s forwards; }

.acs-stars { display: flex; gap: 6px; font-size: 44px; }
.acs-star { color: rgba(255, 255, 255, .25); opacity: 1 !important; }
.acs.is-run .acs-star { animation: acad-star .4s cubic-bezier(.2, 1.8, .4, 1) calc(.4s + var(--i) * .25s) forwards; }
@keyframes acad-star { 0% { transform: scale(.6); } 100% { color: #FFC93C; transform: scale(1); filter: drop-shadow(0 0 10px rgba(255, 201, 60, .6)); } }
.acs-xp { font-family: var(--font-display); font-size: 46px; line-height: 1; color: #FFD23F; opacity: 0; }
.acs-xp small { font-size: 18px; color: #fff; }
.acs.is-run .acs-xp { animation: acad-pop .5s cubic-bezier(.2, 1.8, .4, 1) 1.9s forwards; }
.acs-rank { display: flex; align-items: center; gap: 10px; width: 100%; padding: 12px 14px; border-radius: 18px; background: rgba(255, 255, 255, .1); font-weight: 800; opacity: 0; }
.acs-rank span { opacity: 1 !important; }
.acs.is-run .acs-rank { animation: acad-rise .5s ease 2.6s forwards; }
.acs-rank__bar { flex: 1; height: 10px; border-radius: 5px; background: rgba(255, 255, 255, .15); overflow: hidden; }
.acs-rank__bar i { display: block; height: 100%; width: 10%; border-radius: inherit; background: linear-gradient(90deg, #00A848, #FFD23F); }
.acs.is-run .acs-rank__bar i { animation: acad-fill 1.8s ease 3s forwards; }
.acs.is-run .acs-lock { animation: acad-unlock .5s ease 4.8s forwards; }
@keyframes acad-unlock { 50% { transform: scale(1.4) rotate(-15deg); } 100% { transform: scale(1); filter: hue-rotate(80deg) saturate(2); } }
.acs-club { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; }
.acs.is-run .acs-club .acs-pop { animation-delay: calc(5.2s + var(--i) * .2s); }

.acs-bell { position: relative; font-size: 56px; transform-origin: 50% 10%; }
.acs.is-run .acs-bell { animation: acad-ring .8s ease .4s 3; }
@keyframes acad-ring { 20% { transform: rotate(18deg); } 40% { transform: rotate(-16deg); } 60% { transform: rotate(10deg); } 80% { transform: rotate(-6deg); } }
.acs.is-run .acs-bell .acs-badge { animation: acad-pop .4s cubic-bezier(.2, 1.8, .4, 1) .6s forwards; }
.acs-notes { display: flex; flex-direction: column; gap: 8px; width: 100%; }
.acs-note { padding: 12px 14px; border-radius: 16px; background: #fff; color: #1C2833; font-weight: 700; }
.acs.is-run .acs-note { animation: acad-slide .5s cubic-bezier(.2, 1.3, .4, 1) calc(1.4s + var(--i) * .8s) forwards; }
@keyframes acad-slide { from { opacity: 0; transform: translateX(40px); } to { opacity: 1; transform: none; } }
.acs-tabs { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; }
.acs.is-run .acs-tabs .acs-pop { animation-delay: calc(4.2s + var(--i) * .2s); }

.acs-final { gap: 12px; text-align: center; }
.acs-final > b { font-family: var(--font-display); font-size: clamp(30px, 5vw, 46px); animation: acad-pop .6s cubic-bezier(.2, 1.6, .4, 1) both; }
.acs-final > small { color: rgba(255, 255, 255, .8); font-size: 16px; }
.acs-confetti { position: absolute; inset: -40px 0 auto; height: 10px; }
.acs-confetti span { position: absolute; top: 0; font-size: 26px; opacity: 1 !important; animation: acad-confetti 2.6s ease-in calc(var(--i) * .15s) infinite; }
.acs-confetti span:nth-child(odd) { animation-duration: 3.2s; }
.acs-confetti span:nth-child(1) { left: 5%; } .acs-confetti span:nth-child(2) { left: 18%; } .acs-confetti span:nth-child(3) { left: 32%; } .acs-confetti span:nth-child(4) { left: 46%; }
.acs-confetti span:nth-child(5) { left: 60%; } .acs-confetti span:nth-child(6) { left: 72%; } .acs-confetti span:nth-child(7) { left: 84%; } .acs-confetti span:nth-child(8) { left: 95%; }
@keyframes acad-confetti { 0% { transform: translateY(-20px) rotate(0); opacity: 0; } 15% { opacity: 1; } 100% { transform: translateY(380px) rotate(540deg); opacity: 0; } }
.acs-final__acts { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; margin-top: 10px; }
.acad-cta { display: inline-flex; align-items: center; gap: 8px; height: 48px; padding: 0 20px; border: 0; border-radius: 16px; background: #FFD23F; color: #1F1A05; font: 800 15px var(--font); text-decoration: none; cursor: pointer; }
.acad-cta--ghost { background: rgba(255, 255, 255, .14); color: #fff; }

/* ---------- Значки вместо эмодзи (Ico / vita-ico.js): цвет и посадка в сценах ---------- */
.acad-start span .ico { margin-left: 3px; }
.acad-ch__ok .ico { stroke-width: 3; }
.acs-mag { display: inline-flex; color: #00A848; }
.acs-badges .ico, .acs-goals .ico, .acs-res .ico, .acs-plan .acs-pill .ico, .acs-club .ico, .acs-tabs .ico { color: #FFD23F; }
.acs-goals .acs-goal:first-child .ico { color: inherit; }
.acs-opt .ico, .acs-note .ico, .acs-chat .ico, .acs-use .ico { color: #00A848; }
.acs-chat > span, .acs-use { display: inline-flex; align-items: center; gap: 8px; }
.acs-cursor .ico { fill: #fff; color: #0F1A14; stroke-width: 1.6; filter: drop-shadow(0 4px 6px rgba(0, 0, 0, .35)); }
.acs-plan > b { display: inline-flex; align-items: center; justify-content: center; gap: 6px; }
.acs-cart-ico { top: -48px; z-index: 2; color: #FFD23F; }
.acs-prod__img { color: #D99A00; }
.acs-flow i { color: #fff; }
.acs-jar i { color: #FFD23F; }
.acs-jar i .ico { fill: rgba(255, 210, 63, .22); }
.acs-rank > span { display: inline-flex; align-items: center; gap: 6px; }
.acs-rank > span:first-child, .acs-rank > span:last-child { color: #7EE2A8; }
.acs-lock { color: #FFD23F; }
.acs-bell { display: inline-flex; color: #FFD23F; }
.acs-confetti span:nth-child(4n+1) { color: #FFD23F; } .acs-confetti span:nth-child(4n+2) { color: #7EE2A8; } .acs-confetti span:nth-child(4n+3) { color: #FF8FA3; } .acs-confetti span:nth-child(4n) { color: #9DB8FF; }
.acs-final > b { display: inline-flex; align-items: center; justify-content: center; gap: 12px; }
.acs-final > b .ico { color: #FFD23F; }
.acs-sparks .ico { display: block; }

/* пауза — сцена и Витя замирают */
.acad-player.is-paused .acad-stage *, .acad-player.is-paused .acad-vita__m * { animation-play-state: paused !important; }

@media (max-width: 768px) {
	.acad-player { min-height: 600px; border-radius: 24px; }
	.acs { width: 100%; }
	.acs-prod { flex-wrap: wrap; }
	.acs-prod .acs-add { width: 100%; text-align: center; justify-content: center; }
	.acad-stage { min-height: 330px; padding: 14px; }
	.acad-vita { margin: 0 10px; padding: 10px 12px; }
	.acad-vita__m { width: 56px; height: 66px; margin-top: -30px; }
	.acad-say { font-size: 14.5px; min-height: 88px; }
	.acad-ctl { padding: 10px 12px 14px; }
	.acad-ctl__t { font-size: 12.5px; }
	.acs-logo { font-size: 44px; }
	.acs-badges span, .acs-pay span, .acs-club span, .acs-tabs span { padding: 8px 10px; font-size: 13px; }
	.acs-flow i { width: 46px; height: 46px; font-size: 22px; }
	.acs-flow i .ico { width: 22px; height: 22px; }
	.acs-bell .ico { width: 48px; height: 48px; }
	.acs-flow b { width: 14px; }
}
@media (prefers-reduced-motion: reduce) { .acad *, .acad *::after { animation-duration: .01s !important; animation-delay: 0s !important; animation-iteration-count: 1 !important; } }
