/* #3108 ⚔️ Турнир по шашкам — входы: лист вызова, плашка-приглашение, кнопки, строка профиля, экран поверх приложения */
.du-ov { position: fixed; inset: 0; z-index: 1450; display: flex; align-items: flex-end; justify-content: center; background: rgba(20,3,6,.72); }
@media (min-width: 600px) { .du-ov { align-items: center; } }
.du-card { width: 100%; max-width: 440px; padding: 20px 16px calc(18px + env(safe-area-inset-bottom, 0px)); border-radius: 22px 22px 0 0; background: #2a0810; border: 1.5px solid #c9a24f; border-bottom: 0; color: #fbf1de; font: 16px/1.45 system-ui, -apple-system, "Segoe UI", sans-serif; }
@media (min-width: 600px) { .du-card { border-radius: 22px; border-bottom: 1.5px solid #c9a24f; } }
.du-card h3 { margin: 0 0 10px; font: 700 22px/1.25 Georgia, "Times New Roman", serif; color: #f2c46d; }
.du-who { display: flex; justify-content: space-between; gap: 10px; margin: 0 0 10px; font-size: 17px; }
.du-who span { color: #d9c5ae; }
.du-p { margin: 0 0 10px; }
.du-dim { font-size: 15px; color: #d9c5ae; }
.du-inv { text-align: center; }
.du-big { font-size: 52px; line-height: 1; margin-bottom: 6px; }
.du-tmr { display: inline-block; margin: 0 0 8px; padding: 4px 12px; border-radius: 999px; background: rgba(255,255,255,.08); font-size: 14px; }
.du-btn { display: flex; align-items: center; justify-content: center; width: 100%; min-height: 50px; margin-top: 10px; border-radius: 16px; font: 800 17px/1.2 system-ui, -apple-system, "Segoe UI", sans-serif; cursor: pointer; padding: 0 12px; text-align: center; }
.du-gold { border: 0; background: linear-gradient(180deg, #ffd877, #e0a43a); color: #3a1405; }
.du-gold.du-armed { background: #7a1d2a; color: #fff; border: 1.5px solid #f2c46d; }
.du-out { border: 1.5px solid rgba(242,196,109,.55); background: transparent; color: #fbf1de; }
.du-link { display: block; margin: 10px auto 0; min-height: 44px; padding: 0 12px; border: 0; background: none; color: #e9d9bf; font: 15px system-ui, -apple-system, "Segoe UI", sans-serif; text-decoration: underline; cursor: pointer; }
.du-btn:focus-visible, .du-link:focus-visible, .du-fbtn:focus-visible, .du-prof:focus-visible { outline: 3px solid #ffd76a; outline-offset: 2px; }
.du-fbtn { display: inline-flex; align-items: center; min-height: 44px; padding: 0 14px; border-radius: 22px; border: 1.5px solid rgba(242,196,109,.6); background: rgba(36,17,20,.75); color: #ffe9b0; font: 700 14px/1 system-ui, -apple-system, "Segoe UI", sans-serif; cursor: pointer; }
.du-fbtn[hidden], .du-pbtn[hidden] { display: none !important; }
.du-prof { display: grid; grid-template-columns: 1fr auto; gap: 2px 10px; width: 100%; margin: 12px 0; padding: 12px 16px; min-height: 56px; border-radius: 18px; border: 1.5px solid rgba(242,196,109,.4); background: rgba(36,17,20,.92); color: #fbf1de; text-align: left; font: 15px/1.35 system-ui, -apple-system, "Segoe UI", sans-serif; cursor: pointer; }
.du-prof span { font-weight: 700; color: #f2c46d; }
.du-prof b { text-align: right; }
.du-prof small { grid-column: 1 / -1; color: #d9c5ae; font-size: 14px; }
.du-game-ov { position: fixed; inset: 0; z-index: 1350; background: #1c0508; }
.du-game-ov iframe { border: 0; width: 100%; height: 100%; display: block; }
.games-duel .games-cov { background: radial-gradient(70% 60% at 50% 45%, rgba(247,213,140,.3), transparent 70%), linear-gradient(160deg, #4a2a10, #1a0b0f); }
/* #3185: круглая ⚔ в столбике ленты под аватаркой — золото на бордо, 46 px (≥44) */
.du-rail { display: flex; align-items: center; justify-content: center; width: var(--fd-d, 46px); height: var(--fd-d, 46px); min-width: 44px; min-height: 44px; margin-top: -10px; padding: 0;
  border-radius: 50%; border: 2px solid #f2c46d; background: radial-gradient(circle at 35% 30%, #7a1c2c, #4a0e1a); box-shadow: 0 4px 12px rgba(0,0,0,.45), inset 0 0 0 1px rgba(255,233,176,.25); cursor: pointer; }
.du-rail span { font-size: 22px; line-height: 1; filter: drop-shadow(0 1px 1px rgba(0,0,0,.6)); }
.du-rail[hidden] { display: none !important; }
/* #3185: ⚔ на карточке «Лучшие ученики» — правый нижний угол обложки; в дуэли — красная, мягко мигает, подпись «В дуэли» */
.du-cbtn { position: absolute; right: 6px; bottom: 6px; z-index: 3; display: flex; align-items: center; justify-content: center; width: 44px; height: 44px; padding: 0;
  border-radius: 50%; border: 2px solid #f2c46d; background: radial-gradient(circle at 35% 30%, #7a1c2c, #4a0e1a); box-shadow: 0 3px 10px rgba(0,0,0,.5); cursor: pointer; }
.du-cbtn span { font-size: 20px; line-height: 1; }
.du-cbtn[hidden] { display: none !important; }
.du-cbtn.is-live { border-color: #ff8a8a; background: radial-gradient(circle at 35% 30%, #ff4d4d, #a3121c); animation: duPulse 1.8s ease-in-out infinite; }
.du-live { position: absolute; right: 0; bottom: 48px; padding: 3px 8px; border-radius: 10px; background: #c0392b; color: #fff; font: 700 14px/1.2 system-ui, -apple-system, "Segoe UI", sans-serif; font-style: normal; white-space: nowrap; box-shadow: 0 2px 6px rgba(0,0,0,.4); }
@keyframes duPulse { 0%, 100% { box-shadow: 0 0 0 0 rgba(255,77,77,.55), 0 3px 10px rgba(0,0,0,.5); } 50% { box-shadow: 0 0 0 8px rgba(255,77,77,0), 0 3px 10px rgba(0,0,0,.5); } }
@media (prefers-reduced-motion: reduce) { .du-cbtn.is-live { animation: none; } }
/* #3227: 🔔 входящие вызовы в шапке главной */
.du-bell { position: relative; display: inline-flex; align-items: center; justify-content: center; min-width: 44px; min-height: 44px; padding: 0 8px; border-radius: 14px; border: 1.5px solid #f2c46d; background: radial-gradient(circle at 35% 30%, #7a1c2c, #4a0e1a); color: #fff; font-size: 16px; cursor: pointer; animation: duPulse 1.8s ease-in-out infinite; }
.du-bell i { position: absolute; top: -6px; right: -6px; min-width: 20px; height: 20px; padding: 0 5px; border-radius: 10px; background: #e5484d; color: #fff; font: 700 13px/20px system-ui, sans-serif; font-style: normal; text-align: center; }
.du-pbtn.is-live { background: radial-gradient(circle at 35% 30%, #ff4d4d, #a3121c); color: #fff; animation: duPulse 1.8s ease-in-out infinite; }
@media (prefers-reduced-motion: reduce) { .du-bell, .du-pbtn.is-live { animation: none; } }
/* #3236: обложка «⚔ Дуэль» в «Играх» — ковбои на закате; в медальоны (центры 18.5% и 81.5%, высота 27.5%) — моё фото и «?» */
.games-duel .dg-cov { position: relative; overflow: hidden; aspect-ratio: 16 / 9; background: #3a0c12; }
.dg-art { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.dg-pc { position: absolute; top: 27.5%; width: 15%; aspect-ratio: 1; transform: translate(-50%, -50%); border-radius: 50%; display: flex; align-items: center; justify-content: center; overflow: hidden; font: 700 clamp(18px, 6vw, 30px)/1 Georgia, serif; }
.dg-pc img { width: 100%; height: 100%; object-fit: cover; }
.dg-me { left: 18.5%; background: linear-gradient(145deg, #f2c46d, #e0a43a); color: #2a1a12; }
.dg-op { left: 81.5%; background: #4a0e1a; color: #f2c46d; }
.dg-title { position: absolute; left: 0; right: 0; bottom: 6%; text-align: center; font: 700 clamp(20px, 6vw, 28px)/1.15 Georgia, serif; color: #f2c46d; text-shadow: 0 2px 8px rgba(0,0,0,.85); }
/* #3234 «⚔ Топ дуэлей» на главной — заголовок-кнопка без фона браузера */
.dt .dt-head { display: flex; flex-direction: column; align-items: flex-start; width: 100%; min-height: 44px; padding: 0; border: 0; background: none; color: inherit; text-align: left; cursor: pointer; font: inherit; }
.dt .dt-all { width: 100%; min-height: 44px; }
/* #3257: пустой топ «Лучшие стрелки» — приглашение */
.dt-empty { display: flex; flex-direction: column; align-items: center; gap: 12px; padding: 14px 8px 6px; text-align: center; }
.dt-empty-t { margin: 0; font: 700 18px/1.3 Georgia, serif; color: #fbf1de; }
.dt-call { min-height: 48px; padding: 0 22px; border-radius: 16px; border: 0; background: linear-gradient(180deg, #ffd877, #e0a43a); color: #3a1405; font: 800 17px/1 system-ui, sans-serif; cursor: pointer; }

/* #3267: «🔴 Сейчас идут партии» в блоке «Лучшие стрелки» */
.dt-live { display: flex; flex-direction: column; gap: 6px; margin: 10px 0 4px; padding: 10px; border-radius: 16px; background: rgba(190,18,60,.14); border: 1px solid rgba(255,107,107,.35); }
.dt-live-t { margin: 0 0 2px; font: 700 16px/1.3 system-ui, -apple-system, "Segoe UI", sans-serif; color: #fbf1de; }
.dt-lrow { display: flex; align-items: center; gap: 10px; width: 100%; min-height: 48px; padding: 4px 6px; border: 0; border-radius: 12px; background: rgba(0,0,0,.18); color: #fbf1de; font: 15px/1.25 system-ui, -apple-system, "Segoe UI", sans-serif; text-align: left; cursor: pointer; }
.dt-lpair { flex: none; display: flex; }
.dt-lpair .t10-ava { width: 34px; height: 34px; border: 2px solid #2a0e14; }
.dt-lpair .t10-ava + .t10-ava { margin-left: -10px; }
.dt-lnames { flex: 1; min-width: 0; overflow: hidden; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow-wrap: anywhere; font-weight: 700; }
.dt-lwatch { flex: none; font-size: 14px; font-weight: 700; color: #f2c46d; }
