/* Медали: плашка «Новая медаль», карточка игрока, сетка, три медали в рейтинге, множитель серии. Цвета только токенами (обе темы, оба бренда). */
.acm { display: inline-flex; line-height: 0; flex: none; }
.acm svg { display: block; }
.acm.lock { filter: grayscale(1); opacity: .32; }
.acstrip { display: flex; gap: 4px; align-items: flex-end; margin: 3px 0 1px; min-height: 24px; }
.rank li.hasmd { cursor: pointer; }
.rank li.hasmd:focus-visible { outline: 2px solid var(--gold); outline-offset: 2px; }

.acover { position: fixed; inset: 0; z-index: 200; display: grid; place-items: center; padding: 16px; background: color-mix(in srgb, var(--bg) 82%, transparent); backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(6px); animation: acFade .22s ease-out; }
.acover.out { opacity: 0; transition: opacity .2s; }
.acbox { width: min(320px, 100%); text-align: center; padding: 22px 18px 18px; border-radius: 18px; background: var(--surface); box-shadow: inset 0 0 0 1px var(--line), var(--shadow); }
.acnew { display: block; font-weight: 800; font-size: 17px; color: var(--muted); }
.acn2 { display: block; font-size: 30px; line-height: 1.1; color: var(--gold); }
:root[data-theme="light"] .acn2 { color: var(--red); }
.acbig { margin: 12px 0 6px; animation: acMedal .65s cubic-bezier(.2, 1.3, .4, 1) both; }
.acname { margin: 4px 0 8px; font-size: 26px; line-height: 1.15; font-weight: 800; color: var(--text); }
.acdesc { margin: 0 0 16px; font-size: 15px; line-height: 1.4; color: var(--muted); }
.acok { min-height: 48px; width: 100%; border: 0; border-radius: 12px; font: 800 17px/1 inherit; font-family: inherit; color: var(--gold-ink); background: var(--gold); cursor: pointer; }
.acok:focus-visible, .acx:focus-visible { outline: 3px solid var(--text); outline-offset: 2px; }

.acsheet { align-items: end; padding: 0; }
.accardbox { width: 100%; max-width: 480px; max-height: 86vh; display: flex; flex-direction: column; border-radius: 18px 18px 0 0; background: var(--surface); box-shadow: inset 0 0 0 1px var(--line), var(--shadow); animation: acUp .25s ease-out; }
.achead { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 14px 16px 8px; }
.acpname { margin: 0; font-size: 20px; font-weight: 800; color: var(--text); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.acx { min-height: 44px; padding: 0 14px; border: 0; border-radius: 10px; font: 700 15px/1 inherit; font-family: inherit; color: var(--text); background: var(--surface2); cursor: pointer; }
.acbody { padding: 0 16px 20px; overflow-y: auto; }
.acsub { margin: 0 0 10px; font-size: 14px; color: var(--muted); font-weight: 600; }
.acgrid { display: grid; grid-template-columns: 1fr; gap: 8px; }
.accell { display: flex; align-items: center; gap: 12px; padding: 8px 10px; border-radius: 12px; background: var(--surface2); box-shadow: inset 0 0 0 1px var(--line); }
.accell.lock .acct b { color: var(--muted); }
.acct { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.acct b { font-size: 16px; font-weight: 800; color: var(--text); }
.acct span { font-size: 13.5px; color: var(--muted); line-height: 1.3; }
.acmine { margin-top: 12px; }
.br-profile .acmine { padding: 14px; border-radius: 14px; background: var(--surface); box-shadow: inset 0 0 0 1px var(--line); margin: 12px 0; }
.br-profile .acmine h3 { margin: 0 0 4px; font-size: 18px; color: var(--text); }

/* множитель серии на экране раунда: «Серия 7 · ×1,5» */
.streak.boost { color: var(--gold); }
:root[data-theme="light"] .streak.boost { color: var(--red); }
.streak.grew { animation: acGrow .8s cubic-bezier(.2, 1.2, .4, 1) 1; }

@keyframes acFade { from { opacity: 0; } to { opacity: 1; } }
@keyframes acUp { from { transform: translateY(30px); opacity: 0; } to { transform: none; opacity: 1; } }
@keyframes acMedal { 0% { transform: scale(.2) rotate(-18deg); opacity: 0; } 70% { transform: scale(1.1) rotate(4deg); opacity: 1; } 100% { transform: none; } }
@keyframes acGrow { 0% { transform: scale(1); box-shadow: 0 0 0 0 color-mix(in srgb, var(--gold) 70%, transparent); } 35% { transform: scale(1.16); box-shadow: 0 0 0 8px color-mix(in srgb, var(--gold) 0%, transparent); } 100% { transform: scale(1); box-shadow: 0 0 0 0 transparent; } }
@media (prefers-reduced-motion: reduce) { .acover, .accardbox, .acbig, .streak.grew { animation: none; } }

/* таблица рейтинга: все строки одной высоты, медали в строке с именем после него */
.rank .nmrow .acstrip { flex: none; min-height: 0; margin: 0 0 0 6px; align-items: center; }
.rank.mel li { height: 60px; }
.rank.mel .nm { padding: 0; overflow: hidden; }
