/* Lucky Mafia Club поверх стиля «Чертёж» с tomgoldman.pl: акцент красный вместо оранжевого */
:root { --dg-accent: #E5232A; --dg-accent-soft: #EF4A50; --o: #E5232A }
.lg-logo { font-weight: 600; font-size: 17px; letter-spacing: -.02em; text-transform: uppercase; display: inline-flex; align-items: center; gap: 10px; white-space: nowrap }
.lg-logo i { width: 10px; height: 10px; background: var(--dg-accent); display: inline-block }
.lg-seats { display: grid; grid-template-columns: repeat(10, 1fr); border: 1px solid var(--dg-line); margin-top: 6px }
.lg-seats i { aspect-ratio: 1; display: grid; place-items: center; font: 500 10px var(--dg-mono); font-style: normal; color: var(--dg-ink-3); border-right: 1px solid var(--dg-line) }
.lg-seats i:last-child { border-right: 0 }
.lg-seats i.t { background: var(--dg-ink-2); color: var(--dg-paper, #131313); opacity: .55 }
.lg-tag { border: 1px dashed currentColor; padding: 2px 6px; opacity: .7 }
.lg-ex { color: var(--dg-ink-3) }
.lg-evph { aspect-ratio: 4/3; margin: 0 0 22px }
.lg-easy { list-style: none; display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; margin: 28px 0 0; padding: 0 }
.lg-easy li { display: flex; align-items: center; gap: 8px; padding: 10px 16px; border: 1px solid var(--dg-line-2); font: 600 14px var(--dg-sans); color: var(--dg-ink) }
.lg-easy li::before { content: "✓"; display: grid; place-items: center; width: 20px; height: 20px; background: var(--dg-accent); color: #fff; font-size: 12px }
.lg-evfoot { margin-top: auto; padding-top: 22px; display: grid; gap: 10px }
.lg-evcount { font: 500 11px var(--dg-mono); text-transform: uppercase; letter-spacing: .05em; color: var(--dg-ink-2) }
.dg .lg-evbtn { width: 100%; height: 60px; justify-content: space-between; font-size: 15px }
.dg .lg-evbtn:not(.dg-btn--accent) { border-color: var(--dg-ink-2) }
.lg-evd { display: flex; align-items: flex-end; gap: 14px; margin-bottom: 14px }
.lg-evd b { font: 700 clamp(56px, 5vw, 84px)/.8 var(--dg-sans); letter-spacing: -.04em; color: var(--dg-ink) }
.lg-evd span:not(.lg-tag) { font: 600 14px/1.25 var(--dg-mono); text-transform: uppercase; letter-spacing: .03em; color: var(--dg-accent) }
.lg-evd .lg-tag { margin-left: auto; align-self: flex-start; font: 500 10px var(--dg-mono); text-transform: uppercase; padding: 3px 6px }
.lg-evd span:not(.lg-tag) { white-space: nowrap }

/* ── декоративные фото: слоты-заглушки. Чтобы заменить: style="--img:url(путь)" на .lg-bg__img ── */
.lg-bg { position: relative; isolation: isolate; overflow: hidden }
.lg-bg__img { position: absolute; inset: -12% 0; z-index: -1; background: var(--img, none) center / cover no-repeat; will-change: transform }
.lg-bg__img:not([style*="url("]) { background-color: #1b1919; background-image: repeating-linear-gradient(-45deg, transparent 0 14px, rgba(255,255,255,.035) 14px 15px), radial-gradient(120% 80% at 30% 20%, rgba(229,35,42,.18), transparent 60%) }
.lg-bg__shade { position: absolute; inset: 0; z-index: -1; background: linear-gradient(180deg, rgba(19,19,19,.35), rgba(19,19,19,.85)) }
.lg-slot { position: absolute; z-index: 3; left: 12px; top: 12px; display: inline-flex; gap: 8px; align-items: center; max-width: calc(100% - 24px); padding: 5px 8px; border: 1px dashed rgba(255,255,255,.45); background: rgba(19,19,19,.7); color: rgba(255,255,255,.85); font: 500 10px var(--dg-mono); text-transform: uppercase; letter-spacing: .04em; pointer-events: none }
.lg-slot b { color: var(--dg-accent); font-weight: 500 }
.lg-slot--br { left: auto; right: 12px; top: auto; bottom: 12px }
html.lg-noslots .lg-slot { display: none }
/* фон первого экрана: фото под красным градиентом */
.dg-hero--glow .lg-bg__img { inset: 0; mix-blend-mode: luminosity; opacity: .35; z-index: 0 }
.dg-hero--glow .dg-hero__inner, .dg-hero--glow .dg-hero__flow { position: relative; z-index: 1 }
/* широкая полоса-кадр между блоками */
.lg-band { height: clamp(220px, 32vw, 520px) }
.lg-band .lg-bg__shade { background: linear-gradient(180deg, #131313 0%, transparent 25%, transparent 70%, #131313 100%) }
/* арт роли в карточке */
.lg-role__art { position: relative; aspect-ratio: 16 / 10; margin: 0 0 4px; border: 1px solid var(--dg-line); overflow: hidden }
.lg-role__art .lg-bg__img { inset: 0 }
.lg-role__art .lg-slot { left: 8px; top: 8px }
/* цифры: один размер, подпись отдельной строкой */
.lg-stat { display: flex; flex-direction: column }
.lg-stat__num { margin: clamp(28px,3vw,44px) 0 10px; font-size: clamp(56px,6vw,96px); line-height: .9; font-weight: 700; letter-spacing: -.04em; color: var(--dg-ink); white-space: nowrap; font-variant-numeric: tabular-nums }
.lg-stat__unit { font: 500 12px var(--dg-mono); text-transform: uppercase; letter-spacing: .05em; color: var(--dg-accent); margin-bottom: 18px }
.lg-stat .dg-small { margin: 0; max-width: 34ch }
/* первый вечер по шагам */
.lg-path { display: grid; grid-template-columns: minmax(260px, .8fr) 2fr }
.lg-path__nav { display: flex; flex-direction: column; border-right: 1px solid var(--dg-line) }
.lg-path__step { position: relative; display: grid; grid-template-columns: 34px 1fr; grid-template-areas: "n t" "n w"; gap: 2px 10px; align-items: baseline; text-align: left; padding: 18px var(--dg-pad); background: none; border: 0; border-bottom: 1px solid var(--dg-line); color: var(--dg-ink-3); cursor: pointer; transition: background .25s, color .25s }
.lg-path__step:last-child { border-bottom: 0 }
.lg-path__step > span { grid-area: n; font-size: 12px }
.lg-path__step b { grid-area: t; font: 500 clamp(18px,1.4vw,22px)/1.2 var(--dg-sans); letter-spacing: -.02em; color: var(--dg-ink-2) }
.lg-path__step em { grid-area: w; font-style: normal; font-size: 11px; text-transform: uppercase; letter-spacing: .04em }
.lg-path__step:hover b { color: var(--dg-ink) }
.lg-path__step[aria-selected="true"] { background: var(--dg-surface); color: var(--dg-accent) }
.lg-path__step[aria-selected="true"] b { color: var(--dg-ink) }
.lg-path__step.done > span::after { content: " ✓"; color: var(--dg-accent) }
.lg-path__bar { position: absolute; left: 0; right: 0; bottom: -1px; height: 2px; background: transparent; overflow: hidden }
.lg-path__bar i { display: block; height: 100%; width: 0; background: var(--dg-accent) }
.lg-path__step[aria-selected="true"] .lg-path__bar i { animation: lgBar var(--lg-path-t, 7s) linear forwards }
.lg-path.paused .lg-path__step[aria-selected="true"] .lg-path__bar i, .lg-path__step.done .lg-path__bar i { animation: none; width: 100% }
@keyframes lgBar { to { width: 100% } }
.lg-path__panel { padding: clamp(24px,3vw,48px) var(--dg-pad); display: flex; flex-direction: column; gap: 22px; min-height: 520px }
.lg-path__panel.swap > * { animation: lgIn .45s var(--dg-ease) both }
@keyframes lgIn { from { opacity: 0; transform: translateY(10px) } }
.lg-path__head { display: flex; gap: clamp(16px,2vw,32px); align-items: flex-end }
.lg-path__n { font-size: clamp(72px,8vw,128px); line-height: .8; letter-spacing: -.05em; color: var(--dg-accent) }
.lg-path__title { margin: 6px 0 0; font-size: clamp(32px,3.4vw,56px); line-height: 1; letter-spacing: -.04em; font-weight: 500 }
.lg-path__lead { margin: 0; font-size: clamp(17px,1.3vw,21px); line-height: 1.45; color: var(--dg-ink); max-width: 58ch }
.lg-path__list { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); border-top: 1px solid var(--dg-line) }
.lg-path__list li { padding: 16px 16px 16px 0; color: var(--dg-ink-2); font-size: 14px; line-height: 1.45; display: flex; gap: 10px }
.lg-path__list li + li { padding-left: 16px; border-left: 1px solid var(--dg-line) }
.lg-path__list li::before { content: "✓"; color: var(--dg-accent); flex: none }
.lg-path__tip { border: 1px dashed var(--dg-line-2); padding: 14px 16px; max-width: 640px }
.lg-path__tip .dg-mono { font-size: 10px; text-transform: uppercase; letter-spacing: .04em; color: var(--dg-accent) }
.lg-path__tip p { margin: 6px 0 0; color: var(--dg-ink-2); font-size: 15px; line-height: 1.5 }
.lg-path__foot { margin-top: auto; display: flex; justify-content: space-between; gap: 12px; flex-wrap: wrap }
@media (max-width: 980px) {
  .lg-path { grid-template-columns: 1fr }
  .lg-path__nav { flex-direction: row; overflow-x: auto; border-right: 0; border-bottom: 1px solid var(--dg-line); scrollbar-width: none }
  .lg-path__step { flex: 0 0 auto; min-width: 180px; border-bottom: 0; border-right: 1px solid var(--dg-line) }
  .lg-path__list { grid-template-columns: 1fr }
  .lg-path__list li + li { padding-left: 0; border-left: 0; border-top: 1px solid var(--dg-line) }
  .lg-path__panel { min-height: 0 }
}
/* компактный первый экран */
.dg .dg-hero--glow .dg-hero__inner { gap: 16px; padding-top: clamp(40px,5vw,72px); padding-bottom: clamp(28px,3vw,40px) }
.dg .dg-hero--glow .dg-h1 { font-size: clamp(36px,4.2vw,64px); max-width: 22ch }
.dg .dg-hero--glow .dg-hero__lead { font-size: clamp(15px,1.15vw,17px) }
.dg .dg-hero--glow .dg-hero__flow { padding-bottom: clamp(28px,3vw,44px) }
.dg .dg-hero--glow .sc-step { padding: 10px 14px }
/* шире колонка страницы */
:root { --dg-col: 1600px }
/* места: кликабельные */
.lg-seats button { aspect-ratio: 1; display: grid; place-items: center; font: 500 11px var(--dg-mono); color: var(--dg-ink-2); background: none; border: 0; border-right: 1px solid var(--dg-line); cursor: pointer; transition: background .2s, color .2s }
.lg-seats button:last-child { border-right: 0 }
.lg-seats button:hover:not(:disabled) { background: rgba(229,35,42,.18); color: var(--dg-ink) }
.lg-seats button:disabled { background: var(--dg-ink-2); color: #131313; opacity: .4; cursor: not-allowed }
.lg-seats button.on { background: var(--dg-accent); color: #fff; opacity: 1 }
.lg-ev { display: flex; flex-direction: column }
.lg-ev .dg-goal__foot { margin-top: auto }
.lg-take { font: inherit; color: inherit; background: none; border: 0; padding: 0; cursor: pointer; display: flex; justify-content: space-between; width: 100%; align-items: center }
.lg-take[aria-disabled="true"] { opacity: .5; cursor: default }
.lg-take.ready { color: var(--dg-accent) }
/* переключатель режимов */
.lg-switch { display: inline-flex; border: 1px solid var(--dg-line-2); border-radius: 999px; padding: 4px; gap: 4px; background: var(--dg-surface) }
.lg-switch button { height: 40px; padding: 0 20px; border-radius: 999px; border: 0; background: none; color: var(--dg-ink-2); font: 500 14px var(--dg-sans); cursor: pointer; transition: background .25s, color .25s }
.lg-switch button[aria-pressed="true"] { background: var(--dg-accent); color: #fff }
.lg-modebar { display: flex; flex-wrap: wrap; gap: 16px 32px; align-items: center; justify-content: space-between }
.lg-modebar p { max-width: 560px; margin: 0 }
[data-lg-mode="sport"] [data-mode="city"], [data-lg-mode="city"] [data-mode="sport"] { display: none !important }
/* карточки ролей */
.lg-role { display: flex; flex-direction: column; gap: 12px }
.lg-role .dg-card__title { margin: 6px 0 0; font-size: clamp(40px,3.6vw,60px); line-height: .95; letter-spacing: -.04em; font-weight: 500 }
#lg-roles-city .lg-role .dg-card__title { font-size: clamp(36px,3.2vw,52px) }
@media (max-width:640px) { .lg-role .dg-card__title, #lg-roles-city .lg-role .dg-card__title { font-size: 44px } }
.lg-role__short { margin: 0; font-size: clamp(16px,1.15vw,18px); line-height: 1.4; color: var(--dg-ink) }
.lg-role .dg-small { margin: 0 }
.lg-role__dn { padding-top: 12px; border-top: 1px dashed var(--dg-line-2) }
.lg-role__dn .dg-mono, .lg-modal dt { display: flex; align-items: center; gap: 8px; font-size: 11px; text-transform: uppercase; letter-spacing: .04em; color: var(--dg-ink-2); margin-bottom: 6px }
.lg-role__dn svg { color: #F2B544; flex: none }
.lg-role__night svg, .lg-modal dl > div:nth-child(2) dt svg { color: #9DB2FF }
.lg-modal dl > div:first-child dt svg { color: #F2B544 }
.lg-role__more { margin-top: auto; align-self: flex-start; display: inline-flex; align-items: center; gap: 10px; height: 42px; padding: 0 18px; border-radius: 999px; border: 1px solid var(--dg-line-2); color: var(--dg-ink); font: 500 14px var(--dg-sans); transition: background .25s, border-color .25s, color .25s }
.lg-role__more i { font-style: normal; transition: transform .3s var(--dg-ease) }
.lg-role__more:hover { background: var(--dg-accent); border-color: var(--dg-accent); color: #fff }
.lg-role__more:hover i { transform: translateX(4px) }
.lg-role { padding-bottom: calc(var(--dg-pad) + 4px) }
.lg-role .lg-role__more { margin-top: auto }
.lg-team { display: inline-flex; align-items: center; gap: 6px }
.lg-team::before { content: ""; width: 8px; height: 8px; background: var(--dg-ink-3) }
.lg-team.r::before { background: var(--dg-accent) }
.lg-team.b::before { background: #EEE7E4 }
.lg-team.n::before { background: transparent; border: 1px solid var(--dg-ink-2) }
/* окно роли */
.lg-modal, .lg-toast { font-family: var(--dg-sans) }
.lg-modal { position: fixed; inset: 0; z-index: 2000; display: grid; place-items: center; padding: 16px; background: rgba(0,0,0,.6); backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(6px); opacity: 0; visibility: hidden; transition: opacity .3s, visibility 0s .3s }
.lg-modal.open { opacity: 1; visibility: visible; transition: opacity .3s }
.lg-modal__box { width: min(720px, 100%); max-height: calc(100dvh - 32px); overflow: auto; background: #131313; border: 1px solid var(--dg-line-2); transform: translateY(16px); transition: transform .45s var(--dg-ease) }
.lg-modal.open .lg-modal__box { transform: none }
.lg-modal__top { display: flex; justify-content: space-between; align-items: center; padding: 14px var(--dg-pad); border-bottom: 1px solid var(--dg-line) }
.lg-modal__top button { background: none; border: 0; color: var(--dg-ink); font: 500 20px var(--dg-sans); cursor: pointer; width: 36px; height: 36px }
.lg-modal__body { padding: var(--dg-pad) }
.lg-modal__body h3 { font-size: clamp(40px, 6vw, 72px); line-height: .95; letter-spacing: -.04em; font-weight: 500; margin: 8px 0 18px }
.lg-modal dl { display: grid; grid-template-columns: 1fr; margin: 24px 0 0; border-top: 1px solid var(--dg-line) }
.lg-modal dl > div { display: grid; grid-template-columns: 160px 1fr; gap: 16px; padding: 14px 0; border-bottom: 1px solid var(--dg-line) }
.lg-modal dt { font: 500 11px var(--dg-mono); text-transform: uppercase; letter-spacing: .04em; color: var(--dg-ink-3); padding-top: 3px }
.lg-modal dd { margin: 0; color: var(--dg-ink-2); font-size: 15px; line-height: 1.5 }
.lg-modal__foot { display: flex; justify-content: space-between; gap: 12px; flex-wrap: wrap; padding: 14px var(--dg-pad); border-top: 1px solid var(--dg-line) }
.lg-modal__nav { display: flex; gap: 8px }
@media (max-width: 640px) { .lg-modal dl > div { grid-template-columns: 1fr; gap: 4px } .lg-switch button { padding: 0 14px } }
/* всплывашка */
.lg-toast { position: fixed; left: 50%; bottom: 24px; z-index: 2100; transform: translate(-50%, 20px); background: var(--dg-ink); color: #131313; padding: 12px 18px; font: 500 14px var(--dg-sans); opacity: 0; pointer-events: none; transition: opacity .3s, transform .4s var(--dg-ease); max-width: calc(100vw - 32px) }
.lg-toast.on { opacity: 1; transform: translate(-50%, 0) }
/* иконки меню */
.dg-nav__top { display: inline-flex; align-items: center; gap: 7px }
.lg-ico { flex: none; opacity: .65; transition: opacity .25s, color .25s }
.dg-nav__top:hover .lg-ico, .dg-macc__link:hover .lg-ico { opacity: 1; color: var(--dg-accent) }
.dg-macc__link { display: flex; align-items: center; gap: 12px }
.dg-macc__link .lg-ico { width: 22px; height: 22px }
/* больше воздуха */
:root { --dg-pad: clamp(24px, 2.4vw, 40px) }
.dg .dg-sec--pad { padding: clamp(88px, 9vw, 160px) var(--dg-pad) clamp(40px, 4.5vw, 72px) }
.dg .dg-hero--glow .dg-hero__inner { gap: 24px; padding-top: clamp(64px, 7vw, 112px); padding-bottom: clamp(44px, 4.5vw, 72px) }
.dg .dg-hero--glow .dg-hero__lead { margin: 4px 0 8px; line-height: 1.6 }
.dg .dg-hero--glow .dg-hero__flow { padding-bottom: clamp(48px, 5vw, 80px) }
.dg .dg-hero--glow .sc-step { padding: 14px 18px }
.dg .dg-cols > *, .dg .dg-goals > * { padding-top: clamp(28px, 3vw, 48px); padding-bottom: clamp(28px, 3vw, 48px) }
.lg-modebar { padding-top: 28px; padding-bottom: 28px }
@media (max-width: 640px) { :root { --dg-pad: 20px } .dg .dg-sec--pad { padding: 72px var(--dg-pad) 32px } }
@media (max-width: 1320px) and (min-width: 981px) { .dg .dg-nav { gap: 0; margin: 0 8px } .dg .dg-nav__top { padding: 0 7px; font-size: 13px; gap: 5px } .dg-nav .lg-ico { width: 14px; height: 14px } }
@media (max-width: 1100px) and (min-width: 981px) { .dg-nav .lg-ico { display: none } }
/* первый экран: текст слева, шаги вертикально справа */
@media (min-width: 981px) {
  .dg .dg-hero--glow { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(380px, 1fr); align-items: center; text-align: left }
  .dg .dg-hero--glow .dg-hero__inner { align-items: flex-start; text-align: left; max-width: none; margin: 0; padding-left: clamp(32px, 4vw, 72px); padding-right: 0; padding-top: clamp(72px, 8vw, 128px); padding-bottom: clamp(72px, 8vw, 128px) }
  .dg .dg-hero--glow .dg-h1 { max-width: 16ch; font-size: clamp(48px, 5.4vw, 92px); line-height: .92 }
  .dg .dg-hero--glow .dg-hero__lead { max-width: 52ch }
  .dg .dg-hero--glow .dg-hero__btns { justify-content: flex-start }
  .dg .dg-hero--glow .dg-hero__flow { padding: clamp(40px, 5vw, 80px) clamp(32px, 4vw, 72px) clamp(40px, 5vw, 80px) 0 }
  .dg .dg-hero--glow .dg-hero__flow .dg-scene { width: 100%; max-width: 600px; margin: 0 0 0 auto }
  .dg .dg-hero--glow .dg-hero__flow .sc-flow { flex-direction: column; gap: 10px; padding: 12px }
  .dg .dg-hero--glow .dg-hero__flow .sc-step { padding: 18px 18px }
  .dg .dg-hero--glow .dg-hero__flow .sc-step b { font-size: 17px }
  .dg .dg-hero--glow .dg-hero__flow .sc-step em { font-size: 14.5px; line-height: 1.4; display: block; margin-top: 3px }
  .dg .dg-hero--glow .dg-hero__flow .sc-step { gap: 18px; padding: 20px 22px }
  .dg .dg-hero--glow .dg-hero__flow .sc-step b { font-size: 19px }
}
@media (max-width: 980px) {
  .dg .dg-hero--glow, .dg .dg-hero--glow .dg-hero__inner { text-align: left; align-items: flex-start }
  .dg .dg-hero--glow .dg-hero__btns { justify-content: flex-start }
}
.dg .dg-hero--glow .dg-hero__btns { gap: 14px }
.dg .dg-hero--glow .dg-hero__btns .dg-btn { height: 60px; padding: 0 30px; font-size: 17px; gap: 14px }
@media (max-width: 640px) { .dg .dg-hero--glow .dg-hero__btns .dg-btn { height: 56px; width: 100%; justify-content: space-between } }
/* минимальное закругление везде (Том 31.10: 2–5 px) */
*, *::before, *::after { border-radius: 3px !important }
html::after, .dg-sec, .dg-header, .dg-foot, .dg-sheet, main, section.dg-sec { border-radius: 0 !important }
/* брутальнее: жирнее заголовки, кнопки капсом с толстой рамкой */
.dg .dg-h1, .dg .dg-h2, .lg-path__title, .lg-role .dg-card__title, .lg-modal__body h3 { font-weight: 600; letter-spacing: -.045em }
.dg .dg-btn, .lg-role__more, .lg-switch button, .dg-header__cta, .dg-drawer__btn { text-transform: uppercase; letter-spacing: .03em; font-weight: 600; border-width: 2px }
.dg .dg-hero--glow .dg-hero__btns .dg-btn { font-size: 15px }
.dg .dg-btn, .dg .dg-btn > span { text-transform: uppercase !important }
.lg-switch { padding: 0; gap: 0; border-width: 2px }
.lg-switch button { height: 46px }

/* ════ страницы сайта ════ */
.dg-nav__top[aria-current="page"] { color: var(--dg-accent) !important }
.dg-nav__top[aria-current="page"] .lg-ico { opacity: 1 }
.dg-macc__link[aria-current="page"] { color: var(--dg-accent) }
.lg-acc-link { display: grid; place-items: center; width: 44px; height: 44px; margin-right: 8px; color: var(--dg-ink-2); border: 1px solid var(--dg-line-2); flex: none; transition: color .25s, border-color .25s }
.lg-acc-link:hover { color: var(--dg-accent); border-color: var(--dg-accent) }
.lg-acc-link .lg-ico { opacity: 1 }
.lg-soc { display: flex; gap: 4px; margin-right: 6px; flex: none }
.lg-soc__a { position: relative; display: grid; place-items: center; width: 44px; height: 44px; border: 1px solid var(--dg-line-2); color: var(--dg-ink-2); overflow: hidden; isolation: isolate; transition: color .25s, border-color .25s, transform .25s }
.lg-soc__a::before { content: ''; position: absolute; inset: 0; z-index: -1; transform: translateY(101%); transition: transform .35s cubic-bezier(.2,.8,.2,1) }
.lg-soc__a.tg::before { background: #229ED9 } .lg-soc__a.ig::before { background: linear-gradient(45deg, #F9A23B, #E1306C 45%, #833AB4) }
.lg-soc__a::after { content: ''; position: absolute; left: 50%; bottom: -10px; width: 6px; height: 10px; margin-left: -3px; border-radius: 0 0 50% 50%; background: inherit; opacity: 0 }
.lg-soc__a:hover, .lg-soc__a:focus-visible { color: #fff; border-color: transparent; transform: translateY(-2px) }
.lg-soc__a:hover::before, .lg-soc__a:focus-visible::before { transform: translateY(0) }
.lg-soc__a:hover svg { animation: lgSoc .55s cubic-bezier(.3,1.6,.5,1) }
.lg-soc__a.tg:hover svg { animation-name: lgSocTg }
@keyframes lgSoc { 0% { transform: scale(1) rotate(0) } 40% { transform: scale(1.25) rotate(-10deg) } 100% { transform: scale(1) rotate(0) } }
@keyframes lgSocTg { 0% { transform: translate(0, 0) } 35% { transform: translate(7px, -7px); opacity: 0 } 36% { transform: translate(-7px, 7px); opacity: 0 } 100% { transform: translate(0, 0); opacity: 1 } }
@media (prefers-reduced-motion: reduce) { .lg-soc__a:hover svg { animation: none } }
@media (max-width: 1439px) { .lg-soc { display: none } }
@media (max-width: 1180px) { .lg-acc-link { display: none } }
.lg-mbar { display: none }
@media (max-width: 640px) {
  .lg-mbar { position: fixed; left: 0; right: 0; bottom: 0; z-index: 900; display: flex; justify-content: space-between; align-items: center; height: 56px; padding: 0 20px; background: var(--dg-accent); color: #fff; font: 600 15px var(--dg-sans); text-transform: uppercase; letter-spacing: .03em }
  .dg-foot { padding-bottom: 56px }
}

/* шапка страницы */
.lg-ph { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr); gap: clamp(24px, 4vw, 64px); align-items: end; padding: clamp(72px, 8vw, 140px) var(--dg-pad) clamp(40px, 4.5vw, 72px) }
.lg-ph__main { display: flex; flex-direction: column; align-items: flex-start; gap: 20px }
.lg-ph .dg-h1 { font-size: clamp(44px, 5.6vw, 96px); line-height: .92; max-width: 14ch }
.lg-ph__lead { margin: 0; max-width: 56ch; font-size: clamp(17px, 1.3vw, 21px); line-height: 1.5; color: var(--dg-ink-2) }
.lg-ph__side { justify-self: stretch }
.lg-ph.lg-bg { min-height: clamp(420px, 56vh, 640px) }
@media (max-width: 900px) { .lg-ph { grid-template-columns: 1fr } }

/* блок-призыв */
.lg-cta { display: flex; justify-content: space-between; align-items: flex-end; gap: 32px; flex-wrap: wrap; padding: clamp(64px, 7vw, 120px) var(--dg-pad); background: linear-gradient(120deg, #7a0f13, #2a0c0d 55%, #131313) }
.lg-cta .dg-h2 { max-width: 18ch }
.lg-cta .dg-small { max-width: 52ch; margin-top: 14px; color: rgba(255,255,255,.8) }
.lg-cta__btns { display: flex; gap: 12px; flex-wrap: wrap }
.lg-cta .dg-btn--accent { background: #fff; border-color: #fff; color: #141414 }

/* чипы-фильтры и вкладки */
.lg-chips { display: flex; flex-wrap: wrap; gap: 8px; padding: 20px var(--dg-pad) }
.lg-chip { height: 40px; padding: 0 16px; border: 1px solid var(--dg-line-2); background: none; color: var(--dg-ink-2); font: 600 13px var(--dg-sans); text-transform: uppercase; letter-spacing: .03em; cursor: pointer; transition: background .2s, color .2s, border-color .2s }
.lg-chip:hover { color: var(--dg-ink); border-color: var(--dg-ink-3) }
.lg-chip[aria-pressed="true"], .lg-chip[aria-selected="true"] { background: var(--dg-accent); border-color: var(--dg-accent); color: #fff }
[hidden] { display: none !important }

/* список мероприятий */
.lg-evlist > a { display: grid; grid-template-columns: 150px minmax(0, 1.4fr) minmax(220px, 1fr) 230px; gap: 24px; align-items: center; padding: 24px var(--dg-pad); border-top: 1px solid var(--dg-line); transition: background .25s }
.lg-evlist > a:hover { background: var(--dg-surface) }
.lg-evlist > a[hidden] { display: none }
.lg-evlist__date b { display: block; font-size: clamp(30px, 2.6vw, 44px); line-height: .95; letter-spacing: -.04em; font-weight: 600 }
.lg-evlist__date span { font: 500 11px var(--dg-mono); text-transform: uppercase; letter-spacing: .05em; color: var(--dg-ink-3) }
.lg-evlist__t b { display: block; font-size: clamp(20px, 1.6vw, 26px); font-weight: 600; letter-spacing: -.02em }
.lg-evlist__t p { margin: 6px 0 0; color: var(--dg-ink-2); font-size: 14px; line-height: 1.45; max-width: 56ch }
.dg .lg-evlist__go { justify-self: stretch; height: 58px; justify-content: space-between; font-size: 14px }
.dg .lg-evlist__go:not(.dg-btn--accent) { border-color: var(--dg-ink-2) }
.lg-evlist__seats > span { font: 500 11px var(--dg-mono) !important; text-transform: uppercase; letter-spacing: .05em; color: var(--dg-ink-2) }
.lg-mini { display: grid; grid-template-columns: repeat(10, 1fr); gap: 3px }
.lg-mini i { height: 14px; border: 1px solid var(--dg-line-2) }
.lg-mini i.t { background: var(--dg-ink-3); border-color: var(--dg-ink-3) }
.lg-mini + span { display: block; margin-top: 8px; font: 500 11px var(--dg-mono); text-transform: uppercase; color: var(--dg-ink-3) }
.lg-tagm { display: inline-block; margin-top: 8px; padding: 2px 6px; border: 1px solid var(--dg-line-2); font: 500 10px var(--dg-mono); text-transform: uppercase; color: var(--dg-ink-2) }
.lg-tagm.r { border-color: var(--dg-accent); color: var(--dg-accent) }
@media (max-width: 900px) { .lg-evlist > a { grid-template-columns: 110px 1fr; } .lg-evlist__seats, .lg-evlist__go { grid-column: 2 } .dg .lg-evlist__go { justify-self: stretch } }

/* страница вечера: стол */
.lg-event { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(320px, .8fr) }
.lg-event > div { padding: clamp(28px, 3vw, 48px) var(--dg-pad) }
.lg-event > div + div { border-left: 1px solid var(--dg-line) }
.lg-table { position: relative; width: min(100%, 560px); aspect-ratio: 1.25; margin: 24px auto }
.lg-table__oval { position: absolute; inset: 17% 15%; border: 2px solid var(--dg-line-2); background: radial-gradient(closest-side, rgba(229,35,42,.12), transparent); display: grid; place-items: center; text-align: center }
.lg-table__oval span { font: 500 11px var(--dg-mono); text-transform: uppercase; letter-spacing: .05em; color: var(--dg-ink-3) }
.lg-table__oval b { display: block; font-size: 22px; font-weight: 600; margin-top: 6px }
.lg-seat { position: absolute; width: 56px; height: 56px; margin: -28px 0 0 -28px; border: 2px solid var(--dg-line-2); background: #181818; color: var(--dg-ink); font: 600 18px var(--dg-sans); cursor: pointer; transition: background .2s, border-color .2s, transform .2s }
.lg-seat:hover:not(:disabled) { border-color: var(--dg-accent); transform: scale(1.08) }
.lg-seat:disabled { background: #2a2a2a; color: #555; cursor: not-allowed; text-decoration: line-through }
.lg-seat.on { background: var(--dg-accent); border-color: var(--dg-accent); color: #fff }
.lg-legend { display: flex; gap: 18px; flex-wrap: wrap; justify-content: center; font: 500 11px var(--dg-mono); text-transform: uppercase; color: var(--dg-ink-3) }
.lg-legend i { display: inline-block; width: 12px; height: 12px; border: 2px solid var(--dg-line-2); margin-right: 6px; vertical-align: -2px }
.lg-legend i.t { background: #2a2a2a } .lg-legend i.on { background: var(--dg-accent); border-color: var(--dg-accent) }
.lg-info { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); border-top: 1px solid var(--dg-line); margin: 0 0 24px }
.lg-info > div { padding: 14px 0; border-bottom: 1px solid var(--dg-line) }
.lg-info > div:nth-child(odd) { padding-right: 14px }
.lg-info small { display: block; font: 500 10px var(--dg-mono); text-transform: uppercase; letter-spacing: .05em; color: var(--dg-ink-3); margin-bottom: 4px }
.lg-info b { font-weight: 600; font-size: 16px }
@media (max-width: 900px) { .lg-event { grid-template-columns: 1fr } .lg-event > div + div { border-left: 0; border-top: 1px solid var(--dg-line) } .lg-seat { width: 44px; height: 44px; margin: -22px 0 0 -22px; font-size: 15px } }

/* формы */
.lg-form { display: grid; gap: 14px }
.lg-form label { display: grid; gap: 6px; font: 500 11px var(--dg-mono); text-transform: uppercase; letter-spacing: .05em; color: var(--dg-ink-3) }
.lg-form input, .lg-form select, .lg-form textarea { width: 100%; height: 50px; padding: 0 14px; border: 1px solid var(--dg-line-2); background: #181818; color: var(--dg-ink); font: 400 16px var(--dg-sans); text-transform: none; letter-spacing: 0 }
.lg-form textarea { height: 120px; padding: 12px 14px; resize: vertical }
.lg-form input:focus, .lg-form select:focus, .lg-form textarea:focus { outline: 0; border-color: var(--dg-accent) }
.lg-form .dg-btn { height: 56px; justify-content: space-between; width: 100% }
.lg-form .dg-btn:disabled { opacity: .45; cursor: not-allowed }
.lg-check { display: flex !important; align-items: flex-start; gap: 10px; text-transform: none !important; font: 400 13px var(--dg-sans) !important; letter-spacing: 0 !important; color: var(--dg-ink-2) !important }
.lg-check input { width: 18px; height: 18px; flex: none; accent-color: #E5232A; margin-top: 1px }
.lg-note { font-size: 13px; color: var(--dg-ink-3); line-height: 1.5 }

/* правила: ход игры */
.lg-cycle { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)) }
.lg-cycle > div { padding: clamp(28px, 3vw, 48px) var(--dg-pad); border-right: 1px solid var(--dg-line) }
.lg-cycle > div:last-child { border-right: 0 }
.lg-cycle__ico { display: grid; place-items: center; width: 56px; height: 56px; border: 2px solid var(--dg-line-2); margin-bottom: 22px }
.lg-cycle__ico svg { width: 26px; height: 26px }
.lg-cycle h3 { margin: 0 0 12px; font-size: clamp(28px, 2.6vw, 42px); font-weight: 600; letter-spacing: -.04em; line-height: 1 }
.lg-cycle ol, .lg-cycle ul { margin: 14px 0 0; padding-left: 1.2em; color: var(--dg-ink-2); font-size: 15px; line-height: 1.6 }
.lg-cycle p { color: var(--dg-ink-2); font-size: 15px; line-height: 1.55; margin: 0 }
@media (max-width: 900px) { .lg-cycle { grid-template-columns: 1fr } .lg-cycle > div { border-right: 0; border-bottom: 1px solid var(--dg-line) } }
.sun { color: #F2B544 } .moon { color: #9DB2FF } .vote { color: var(--dg-accent) }

/* страница роли */
.lg-rhero { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); border-bottom: 1px solid var(--dg-line) }
.lg-rhero__txt { padding: clamp(56px, 7vw, 120px) var(--dg-pad) clamp(40px, 4vw, 64px); display: flex; flex-direction: column; gap: 18px; align-items: flex-start }
.lg-rhero__txt h1 { margin: 0; font-size: clamp(64px, 9vw, 160px); line-height: .85; letter-spacing: -.06em; font-weight: 700 }
.lg-rhero__txt .lg-ph__lead { color: var(--dg-ink) }
.lg-rhero__art { position: relative; min-height: 420px; border-left: 1px solid var(--dg-line) }
.lg-rhero__art .lg-bg__img { inset: 0 }
.lg-facts { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); border-bottom: 1px solid var(--dg-line) }
.lg-facts > div { padding: 22px var(--dg-pad); border-right: 1px solid var(--dg-line) }
.lg-facts > div:last-child { border-right: 0 }
.lg-facts small { display: flex; align-items: center; gap: 8px; font: 500 11px var(--dg-mono); text-transform: uppercase; letter-spacing: .05em; color: var(--dg-ink-3); margin-bottom: 8px }
.lg-facts b { font-size: clamp(17px, 1.3vw, 20px); font-weight: 600; line-height: 1.3 }
.lg-dn2 { display: grid; grid-template-columns: 1fr 1fr }
.lg-dn2 > div { padding: clamp(32px, 3.5vw, 56px) var(--dg-pad); border-right: 1px solid var(--dg-line) }
.lg-dn2 > div:last-child { border-right: 0 }
.lg-dn2 h3 { display: flex; align-items: center; gap: 12px; margin: 0 0 14px; font-size: clamp(26px, 2.4vw, 38px); font-weight: 600; letter-spacing: -.04em }
.lg-dn2 h3 svg { width: 28px; height: 28px }
.lg-dn2 p { margin: 0; font-size: 17px; line-height: 1.55; color: var(--dg-ink-2); max-width: 52ch }
.lg-bullets { list-style: none; margin: 0; padding: 0 }
.lg-bullets li { display: flex; gap: 14px; padding: 16px var(--dg-pad); border-top: 1px solid var(--dg-line); font-size: 16px; line-height: 1.5; color: var(--dg-ink-2) }
.lg-bullets li b { font: 500 12px var(--dg-mono); color: var(--dg-accent); flex: none; padding-top: 3px }
.lg-bullets.x li b { color: var(--dg-ink-3) }
.lg-2col { display: grid; grid-template-columns: 1fr 1fr }
.lg-2col > div { border-right: 1px solid var(--dg-line) }
.lg-2col > div:last-child { border-right: 0 }
.lg-2col h3 { margin: 0; padding: 28px var(--dg-pad) 18px; font-size: clamp(22px, 2vw, 30px); font-weight: 600; letter-spacing: -.03em }
.lg-empty { padding: clamp(40px, 5vw, 80px) var(--dg-pad); display: flex; flex-direction: column; gap: 14px; align-items: flex-start; background: repeating-linear-gradient(-45deg, transparent 0 14px, rgba(255,255,255,.025) 14px 15px) }
.lg-empty b { font-size: clamp(24px, 2.4vw, 38px); font-weight: 600; letter-spacing: -.03em; max-width: 24ch; line-height: 1.1 }
.lg-empty p { margin: 0; color: var(--dg-ink-2); max-width: 56ch; line-height: 1.55 }
.lg-pn { display: grid; grid-template-columns: 1fr 1fr }
.lg-pn a { padding: 28px var(--dg-pad); display: flex; flex-direction: column; gap: 6px; transition: background .25s }
.lg-pn a + a { border-left: 1px solid var(--dg-line); text-align: right; align-items: flex-end }
.lg-pn a:hover { background: var(--dg-surface) }
.lg-pn small { font: 500 11px var(--dg-mono); text-transform: uppercase; color: var(--dg-ink-3) }
.lg-pn b { font-size: clamp(26px, 2.6vw, 44px); font-weight: 700; letter-spacing: -.04em }
@media (max-width: 900px) { .lg-rhero, .lg-dn2, .lg-2col { grid-template-columns: 1fr } .lg-rhero__art { min-height: 260px; border-left: 0; border-top: 1px solid var(--dg-line) } .lg-dn2 > div, .lg-2col > div { border-right: 0; border-bottom: 1px solid var(--dg-line) } .lg-facts { grid-template-columns: 1fr 1fr } .lg-facts > div:nth-child(2) { border-right: 0 } .lg-facts > div:nth-child(n+3) { border-top: 1px solid var(--dg-line) } }

/* таблицы */
.lg-tbl { width: 100%; border-collapse: collapse; font-size: 15px }
.lg-tbl th { text-align: left; padding: 12px var(--dg-pad); font: 500 11px var(--dg-mono); text-transform: uppercase; letter-spacing: .05em; color: var(--dg-ink-3); border-bottom: 1px solid var(--dg-line); background: var(--dg-surface) }
.lg-tbl td { padding: 14px var(--dg-pad); border-bottom: 1px solid var(--dg-line); color: var(--dg-ink-2); vertical-align: middle }
.lg-tbl td b { color: var(--dg-ink); font-weight: 600 }
.lg-tbl tr.lg-sk td { color: var(--dg-ink-3) }
.lg-tblwrap { overflow-x: auto }
@media (max-width: 640px) { .lg-tbl th, .lg-tbl td { padding-left: 12px; padding-right: 12px } }

/* галерея */
.lg-gal { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)) }
.lg-gal > a { padding: var(--dg-pad); border-right: 1px solid var(--dg-line); border-bottom: 1px solid var(--dg-line); display: flex; flex-direction: column; gap: 14px; transition: background .25s }
.lg-gal > a:nth-child(3n) { border-right: 0 }
.lg-gal > a:hover { background: var(--dg-surface) }
.lg-gal > a[hidden] { display: none }
.lg-gal b { font-size: 19px; font-weight: 600; letter-spacing: -.02em; line-height: 1.25 }
.lg-photos { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0 }
.lg-photos > figure { margin: 0; padding: 10px; border-right: 1px solid var(--dg-line); border-bottom: 1px solid var(--dg-line) }
.lg-photos > figure:nth-child(4n) { border-right: 0 }
.lg-photos > figure.w2 { grid-column: span 2 }
@media (max-width: 900px) { .lg-gal { grid-template-columns: 1fr 1fr } .lg-gal > a:nth-child(3n) { border-right: 1px solid var(--dg-line) } .lg-gal > a:nth-child(2n) { border-right: 0 } .lg-photos { grid-template-columns: 1fr 1fr } .lg-photos > figure:nth-child(2n) { border-right: 0 } }
@media (max-width: 560px) { .lg-gal { grid-template-columns: 1fr } .lg-gal > a { border-right: 0 !important } }

/* профиль, кабинет */
.lg-prof { display: grid; grid-template-columns: 220px minmax(0, 1fr); gap: 32px; align-items: center; padding: clamp(48px, 6vw, 96px) var(--dg-pad) 40px }
.lg-ava { width: 220px; aspect-ratio: 1; border: 2px solid var(--dg-line-2); display: grid; place-items: center; font-size: 72px; font-weight: 700; color: var(--dg-accent); background: #181818 }
@media (max-width: 640px) { .lg-prof { grid-template-columns: 1fr } .lg-ava { width: 140px; font-size: 48px } }
.lg-dash { display: grid; grid-template-columns: 260px minmax(0, 1fr); min-height: 70vh }
.lg-dash__nav { border-right: 1px solid var(--dg-line); display: flex; flex-direction: column }
.lg-dash__nav button { display: flex; align-items: center; gap: 12px; text-align: left; padding: 18px var(--dg-pad); border: 0; border-bottom: 1px solid var(--dg-line); background: none; color: var(--dg-ink-2); font: 600 15px var(--dg-sans); text-transform: uppercase; letter-spacing: .02em; cursor: pointer }
.lg-dash__nav button[aria-selected="true"] { background: var(--dg-surface); color: var(--dg-ink); box-shadow: inset 3px 0 0 var(--dg-accent) }
.lg-dash__nav button .n { margin-left: auto; font: 500 11px var(--dg-mono); color: var(--dg-accent) }
.lg-dash__body { min-width: 0 }
.lg-dash__body .lg-form:not(.lg-adform) { grid-template-columns: minmax(0, 1fr) }
.lg-pstep { min-width: 0 }
.lg-seatpick button { position: relative }
.lg-seatpick button[data-o]::after { content: attr(data-o); position: absolute; top: -7px; right: -7px; min-width: 17px; height: 17px; padding: 0 3px; display: grid; place-items: center; background: #fff; color: #111; font: 700 10px var(--dg-mono); border: 1px solid var(--dg-accent) }
.lg-nomord { margin: 8px 0 12px; font: 600 14px var(--dg-sans); color: var(--dg-ink) }
.lg-nomord span { display: block; margin-top: 2px; font: 400 12px var(--dg-sans); color: var(--dg-ink-3) }
.lg-pstep > .lg-note { margin: 0 0 18px }
.lg-dash__body h2 { margin: 0; padding: 28px var(--dg-pad) 8px; font-size: clamp(28px, 2.6vw, 42px); font-weight: 700; letter-spacing: -.04em }
.lg-dash__body > div > p.lg-note { padding: 0 var(--dg-pad) 18px; margin: 0 }
.lg-pad { padding: 24px var(--dg-pad) }
.lg-book { display: grid; grid-template-columns: 120px 1fr auto; gap: 20px; align-items: center; padding: 20px var(--dg-pad); border-top: 1px solid var(--dg-line) }
.lg-book .seat { font-size: 44px; font-weight: 700; color: var(--dg-accent); letter-spacing: -.04em; line-height: 1 }
.lg-book .seat small { display: block; font: 500 10px var(--dg-mono); text-transform: uppercase; color: var(--dg-ink-3); letter-spacing: .05em }
.lg-btn-s { height: 40px; padding: 0 14px; border: 1px solid var(--dg-line-2); background: none; color: var(--dg-ink); font: 600 12px var(--dg-sans); text-transform: uppercase; letter-spacing: .03em; cursor: pointer }
.lg-btn-s:hover { border-color: var(--dg-accent); color: var(--dg-accent) }
.lg-btn-s.r { background: var(--dg-accent); border-color: var(--dg-accent); color: #fff }
.lg-toggle { display: flex; justify-content: space-between; align-items: center; gap: 16px; padding: 18px var(--dg-pad); border-top: 1px solid var(--dg-line); cursor: pointer }
.lg-toggle span { color: var(--dg-ink-2); font-size: 15px }
.lg-toggle input { appearance: none; width: 48px; height: 26px; border: 2px solid var(--dg-line-2); background: #181818; position: relative; cursor: pointer; flex: none }
.lg-toggle input::after { content: ""; position: absolute; left: 3px; top: 3px; width: 16px; height: 16px; background: var(--dg-ink-3); transition: left .2s, background .2s }
.lg-toggle input:checked { border-color: var(--dg-accent) }
.lg-toggle input:checked::after { left: 25px; background: var(--dg-accent) }
@media (max-width: 900px) { .lg-dash { grid-template-columns: 1fr } .lg-dash__nav { flex-direction: row; overflow-x: auto; border-right: 0; border-bottom: 1px solid var(--dg-line) } .lg-dash__nav button { flex: none; border-bottom: 0; border-right: 1px solid var(--dg-line) } .lg-book { grid-template-columns: 80px 1fr } .lg-book > :last-child { grid-column: 1 / -1 } }

/* админка: протокол */
.lg-proto td select, .lg-proto td input { height: 38px; padding: 0 8px; border: 1px solid var(--dg-line-2); background: #181818; color: var(--dg-ink); font: 400 14px var(--dg-sans); width: 100% }
.lg-fouls { display: flex; gap: 4px }
.lg-fouls button { width: 30px; height: 30px; border: 1px solid var(--dg-line-2); background: none; color: var(--dg-ink-3); font: 600 12px var(--dg-sans); cursor: pointer }
.lg-fouls button.on { background: var(--dg-accent); border-color: var(--dg-accent); color: #fff }
.lg-seatgrid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 8px; padding: 0 var(--dg-pad) 24px }
.lg-seatgrid > div { border: 1px solid var(--dg-line-2); padding: 12px; min-height: 84px; display: flex; flex-direction: column; gap: 4px }
.lg-seatgrid > div b { font-size: 24px; font-weight: 700; color: var(--dg-accent) }
.lg-seatgrid > div span { font-size: 14px; color: var(--dg-ink-2) }
.lg-seatgrid > div.free { border-style: dashed }
.lg-seatgrid > div.free span { color: var(--dg-ink-3) }
@media (max-width: 640px) { .lg-seatgrid { grid-template-columns: repeat(2, minmax(0, 1fr)) } }
.lg-badge { display: inline-block; padding: 3px 8px; font: 500 10px var(--dg-mono); text-transform: uppercase; letter-spacing: .04em; border: 1px solid var(--dg-line-2); color: var(--dg-ink-2) }
.lg-badge.ok { border-color: #3DD68C; color: #3DD68C } .lg-badge.w { border-color: #F2B544; color: #F2B544 } .lg-badge.r { border-color: var(--dg-accent); color: var(--dg-accent) }
.lg-demo { padding: 10px var(--dg-pad); background: #2a1a0a; color: #F2B544; font: 500 12px var(--dg-mono); text-transform: uppercase; letter-spacing: .04em; border-bottom: 1px solid #4a3010 }

/* билет на странице «спасибо» */
.lg-ticket { display: grid; grid-template-columns: minmax(0, 1fr) 220px; border: 2px solid var(--dg-ink); max-width: 860px; margin: 0 var(--dg-pad) }
.lg-ticket > div { padding: 28px }
.lg-ticket > div + div { border-left: 2px dashed var(--dg-ink-3); display: flex; flex-direction: column; justify-content: center; align-items: center; text-align: center; background: var(--dg-accent); color: #fff }
.lg-ticket .num { font-size: 110px; font-weight: 700; line-height: .85; letter-spacing: -.06em }
.lg-ticket .lg-info { margin: 18px 0 0 }
@media (max-width: 640px) { .lg-ticket { grid-template-columns: 1fr } .lg-ticket > div + div { border-left: 0; border-top: 2px dashed var(--dg-ink-3) } }

/* о клубе: таймлайн */
.lg-tl > div { display: grid; grid-template-columns: 200px 1fr; gap: 24px; padding: 22px var(--dg-pad); border-top: 1px solid var(--dg-line) }
.lg-tl b { font-size: clamp(22px, 2vw, 30px); font-weight: 700; letter-spacing: -.03em; color: var(--dg-accent) }
.lg-tl p { margin: 0; color: var(--dg-ink-2); font-size: 16px; line-height: 1.55 }
@media (max-width: 640px) { .lg-tl > div { grid-template-columns: 1fr; gap: 6px } }
.lg-map { position: relative; aspect-ratio: 16 / 9; border-bottom: 1px solid var(--dg-line) }
.lg-map .lg-bg__img { inset: 0 }
.lg-map__pin { position: absolute; left: 50%; top: 50%; transform: translate(-50%, -100%); display: flex; flex-direction: column; align-items: center; gap: 8px; z-index: 2 }
.lg-map__pin i { width: 22px; height: 22px; background: var(--dg-accent); box-shadow: 0 0 0 10px rgba(229,35,42,.25) }
.lg-map__pin span { padding: 8px 12px; background: #131313; border: 1px solid var(--dg-line-2); font: 600 13px var(--dg-sans); white-space: nowrap }
.lg-login { display: grid; grid-template-columns: 1fr minmax(320px, 480px); min-height: 72vh }
.lg-login > div { padding: clamp(40px, 5vw, 80px) var(--dg-pad) }
.lg-login > div + div { border-left: 1px solid var(--dg-line); background: var(--dg-surface) }
.lg-tg { display: flex; align-items: center; justify-content: center; gap: 10px; height: 56px; width: 100%; background: #2AABEE; color: #fff; border: 0; font: 600 15px var(--dg-sans); text-transform: uppercase; letter-spacing: .03em; cursor: pointer }
.lg-or { display: flex; align-items: center; gap: 12px; margin: 22px 0; font: 500 11px var(--dg-mono); text-transform: uppercase; color: var(--dg-ink-3) }
.lg-or::before, .lg-or::after { content: ""; flex: 1; height: 1px; background: var(--dg-line) }
@media (max-width: 900px) { .lg-login { grid-template-columns: 1fr } .lg-login > div + div { border-left: 0; border-top: 1px solid var(--dg-line) } }
.lg-stat3 { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)) }
.lg-stat3 > div { padding: 24px var(--dg-pad); border-right: 1px solid var(--dg-line); border-top: 1px solid var(--dg-line) }
.lg-stat3 > div:last-child { border-right: 0 }
.lg-stat3 b { display: block; font-size: clamp(36px, 3.4vw, 56px); font-weight: 600; letter-spacing: -.04em; line-height: 1 }
.lg-stat3 small { font: 500 11px var(--dg-mono); text-transform: uppercase; color: var(--dg-ink-3); letter-spacing: .05em }
@media (max-width: 640px) { .lg-stat3 { grid-template-columns: 1fr 1fr } .lg-stat3 > div:nth-child(2) { border-right: 0 } }
.dg-split .dg-prose { max-width: 76ch }
.dg-prose p, .dg-prose li { color: var(--dg-ink-2) }

/* ── запись: 13 мест на вечер, 10 за столом ── */
.lg-q { display: grid; grid-template-columns: repeat(13, 1fr); gap: 3px; margin-top: 6px }
.lg-q i { height: 18px; border: 1px solid var(--dg-line-2) }
.lg-q i.res { border-style: dashed }
.lg-q i.t { background: var(--dg-ink-2); border-color: var(--dg-ink-2) }
.lg-q i.t.res { background: var(--dg-ink-3); border-color: var(--dg-ink-3) }
.lg-q i.me { background: var(--dg-accent); border-color: var(--dg-accent) }
.lg-mini.lg-q i { height: 14px }
.lg-ev .lg-take { text-decoration: none }
.lg-qlab { display: flex; justify-content: space-between; margin-top: 8px; font: 500 10px var(--dg-mono); text-transform: uppercase; letter-spacing: .04em; color: var(--dg-ink-3) }
.lg-reg { list-style: none; margin: 18px 0 0; padding: 0; border-top: 2px solid var(--dg-ink) }
.lg-reg li { display: grid; grid-template-columns: 48px 44px minmax(0, 1fr) auto; gap: 14px; align-items: center; padding: 10px 0; border-bottom: 1px solid var(--dg-line) }
.lg-reg li > b:first-child { font: 700 22px var(--dg-sans); color: var(--dg-ink-3) }
.lg-reg li.g1 > b:first-child { color: var(--dg-ink) }
.lg-reg .av { width: 44px; height: 44px; display: grid; place-items: center; background: #1d1d1d; border: 1px solid var(--dg-line-2); font: 700 15px var(--dg-sans); color: var(--dg-accent); text-decoration: none }
.lg-reg a.nm { font: 700 18px var(--dg-sans); color: var(--dg-ink); text-decoration: none }
.lg-reg a.nm:hover { color: var(--dg-accent) }
.lg-reg small { display: block; font: 500 10px var(--dg-mono); text-transform: uppercase; color: var(--dg-ink-3); margin-top: 3px }
.lg-reg li.free { opacity: .45 }
.lg-reg li.free .av { border-style: dashed; color: var(--dg-ink-3) }
.lg-reg li.me { background: rgba(229,35,42,.08); box-shadow: inset 3px 0 0 var(--dg-accent) }
.lg-reg li.sep { display: block; padding: 14px 0 8px; border-bottom: 0; font: 500 11px var(--dg-mono); text-transform: uppercase; letter-spacing: .05em; color: var(--dg-accent) }
.lg-rules3 { display: grid; gap: 0; margin-top: 22px; border: 1px solid var(--dg-line) }
.lg-rules3 > div { display: grid; grid-template-columns: 56px 1fr; gap: 14px; padding: 16px 18px; border-bottom: 1px solid var(--dg-line) }
.lg-rules3 > div:last-child { border-bottom: 0 }
.lg-rules3 b { font: 700 28px var(--dg-sans); color: var(--dg-accent); line-height: 1 }
.lg-rules3 p { margin: 0; color: var(--dg-ink-2); font-size: 15px; line-height: 1.45 }
.lg-rules3 p strong { color: var(--dg-ink) }
.lg-mystate { border: 2px solid var(--dg-accent); padding: 20px; margin-bottom: 18px }
.lg-mystate b { display: block; font: 700 clamp(28px, 3vw, 40px)/1 var(--dg-sans); margin: 8px 0 }
/* анкета */
.lg-opts { display: flex; flex-wrap: wrap; gap: 6px }
.lg-opts label { display: block !important; position: relative; cursor: pointer }
.lg-opts input { position: absolute; opacity: 0; pointer-events: none; width: 1px !important; height: 1px !important }
.lg-opts span { display: inline-block; padding: 10px 14px; border: 1px solid var(--dg-line-2); font: 600 13px var(--dg-sans); text-transform: none; letter-spacing: 0; color: var(--dg-ink-2) }
.lg-opts input:checked + span { background: var(--dg-accent); border-color: var(--dg-accent); color: #fff }
.lg-opts input:focus-visible + span { outline: 2px solid var(--dg-ink) }
.lg-fs { border: 0; margin: 0; padding: 0; display: grid; gap: 8px }
.lg-fs legend { padding: 0 0 8px; font: 500 11px var(--dg-mono); text-transform: uppercase; letter-spacing: .05em; color: var(--dg-ink-3) }
.lg-me { display: flex; gap: 14px; align-items: center; padding: 14px; border: 1px solid var(--dg-line); margin-bottom: 18px }
.lg-me .av { width: 56px; height: 56px; display: grid; place-items: center; background: #1d1d1d; border: 1px solid var(--dg-line-2); font: 700 20px var(--dg-sans); color: var(--dg-accent) }
.lg-me small { display: block; font: 500 10px var(--dg-mono); text-transform: uppercase; color: var(--dg-ink-3) }
/* ротация в админке */
.lg-rot td.p, .lg-rot td.o { text-align: center; font: 600 12px var(--dg-mono) }
.lg-rot td.p { color: var(--dg-ink) }
.lg-rot td.o { color: var(--dg-accent); background: rgba(229,35,42,.08) }
/* профиль игрока */
.lg-roles4 { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); border-top: 1px solid var(--dg-line) }
.lg-roles4 > div { padding: 24px var(--dg-pad); border-right: 1px solid var(--dg-line); border-bottom: 1px solid var(--dg-line) }
.lg-roles4 > div:last-child { border-right: 0 }
.lg-roles4 small { font: 500 11px var(--dg-mono); text-transform: uppercase; color: var(--dg-ink-3) }
.lg-roles4 b { display: block; font: 700 22px var(--dg-sans); margin: 8px 0 14px }
.lg-roles4 .bar { height: 6px; background: #222; margin-top: 10px } .lg-roles4 .bar i { display: block; height: 100%; background: var(--dg-accent) }
.lg-roles4 p { margin: 0; font: 500 12px var(--dg-mono); color: var(--dg-ink-2) }
.lg-res.w { color: #3DD68C } .lg-res.l { color: var(--dg-ink-3) }
@media (max-width: 900px) { .lg-roles4 { grid-template-columns: 1fr 1fr } .lg-roles4 > div:nth-child(2) { border-right: 0 } }
@media (max-width: 640px) { .lg-reg li { grid-template-columns: 36px 40px minmax(0, 1fr); } .lg-reg li > :last-child { grid-column: 3; justify-self: start } .lg-reg .av { width: 40px; height: 40px } }

/* подсказка «почему 13»: сообщение от администратора */
.lg-qw { position: relative; cursor: help; outline: 0 }
.lg-qw__tip { position: absolute; left: 0; right: 0; max-width: 440px; bottom: calc(100% + 12px); z-index: 30; padding: 14px 16px 16px; background: #F2F2EF; color: #131313; font: 400 14px/1.45 var(--dg-sans); text-transform: none; letter-spacing: 0; text-align: left; opacity: 0; visibility: hidden; transform: translateY(6px); transition: opacity .2s, transform .2s, visibility .2s; pointer-events: none; box-shadow: 0 12px 40px rgba(0,0,0,.5); border-left: 4px solid var(--dg-accent) }
.lg-qw__from { display: flex; align-items: center; gap: 8px; margin-bottom: 10px; font: 600 10px var(--dg-mono); text-transform: uppercase; letter-spacing: .05em; color: #6b6b6b }
.lg-qw__from i { display: grid; place-items: center; width: 20px; height: 20px; background: var(--dg-accent); color: #fff; font: 800 13px var(--dg-sans); font-style: normal }
.lg-qw__tip b { display: block; margin-bottom: 6px; font: 700 16px var(--dg-sans); color: #131313 }
.lg-qw__tip::after { content: ""; position: absolute; left: 24px; top: 100%; border: 8px solid transparent; border-top-color: #F2F2EF }
.lg-qw:hover .lg-qw__tip, .lg-qw:focus .lg-qw__tip, .lg-qw:focus-within .lg-qw__tip { opacity: 1; visibility: visible; transform: none }
.lg-qw:focus-visible { box-shadow: 0 0 0 2px var(--dg-accent) }
.lg-qi { display: inline-grid; place-items: center; width: 18px; height: 18px; margin-left: 6px; background: var(--dg-accent); color: #fff; font: 800 12px var(--dg-sans); font-style: normal; vertical-align: -3px }
.lg-qi--abs { position: absolute; right: -26px; top: -2px; margin: 0 }
.lg-evlist__seats .lg-qw { margin-right: 26px }
.lg-evlist__seats .lg-qw__tip { left: auto; right: -26px; width: 320px }
.lg-evlist__seats .lg-qw__tip::after { left: auto; right: 26px }

/* минимум 10 человек: красная черта после 10-го места */
.lg-q i { position: relative }
.lg-q i:nth-child(10)::after { content: ""; position: absolute; right: -3px; top: -6px; bottom: -6px; width: 2px; background: var(--dg-accent) }
.lg-min { font: 600 11px var(--dg-mono); text-transform: uppercase; letter-spacing: .04em; color: var(--dg-accent) }
.lg-min.ok { color: #3DD68C }
.lg-evlist__seats .lg-min { display: block; margin-top: 6px }
.lg-qw__tip em { display: block; margin-top: 8px; font-style: normal; font-weight: 700; color: var(--dg-accent) }

/* типографика: ровные переносы, без висячих слов */
.dg h1, .dg h2, .dg h3, .dg .dg-h1, .dg .dg-h2, .dg .dg-h3, .dg .dg-goal__title, .dg .dg-card__title, .lg-ph__lead, .dg-head2 > p { text-wrap: balance }
.dg p, .dg li, .dg .dg-small, .dg dd, .dg td { text-wrap: pretty }
.dg .dg-head2 > p { max-width: 50ch }

/* правки вёрстки */
.dg .dg-foot__big { font-weight: 700; letter-spacing: -.04em; line-height: 1 }
.dg .dg-foot__cards > :last-child:nth-child(odd) { grid-column: 1 / -1 }
@media (max-width: 700px) {
  .dg .dg-goals { grid-template-columns: 1fr }
  .dg .dg-goal { border-right: 0 !important }
  .lg-evph { aspect-ratio: 16/9 }
}
.lg-rules3 > div { grid-template-columns: 84px 1fr }
.lg-rules3 b { font-size: 26px; white-space: nowrap }
@media (max-width: 640px) { .lg-rules3 > div { grid-template-columns: 1fr; gap: 6px } }

/* ── анимации ── */
@media (prefers-reduced-motion: no-preference) {
  .lg-progress { position: fixed; top: 0; left: 0; z-index: 300; width: 100%; height: 3px; background: var(--dg-accent); transform-origin: 0 50%; transform: scaleX(0); pointer-events: none }
  body { animation: lgFade .45s ease both }
  body.lg-leave { opacity: 0; transition: opacity .22s }
  @keyframes lgFade { from { opacity: 0 } to { opacity: 1 } }

  .lg-q.lg-anim i { transition: background .35s, border-color .35s, transform .35s cubic-bezier(.2,.8,.2,1); transition-delay: calc(var(--i, 0) * 50ms) }
  .lg-q.lg-anim:not(.lg-on) i.t, .lg-q.lg-anim:not(.lg-on) i.me { background: transparent; border-color: var(--dg-line-2); transform: scaleY(.35) }
  .lg-q.lg-anim i:nth-child(10)::after { transition: transform .5s .75s; transform-origin: 50% 0 }
  .lg-q.lg-anim:not(.lg-on) i:nth-child(10)::after { transform: scaleY(0) }

  .lg-qi { animation: lgPulse 2.4s ease-out infinite }
  @keyframes lgPulse { 0% { box-shadow: 0 0 0 0 rgba(229,35,42,.7) } 70%, 100% { box-shadow: 0 0 0 8px rgba(229,35,42,0) } }

  .dg .dg-btn--accent, .dg .lg-tg { position: relative; overflow: hidden }
  .dg .dg-btn--accent::after, .dg .lg-tg::after { content: ""; position: absolute; inset: 0; background: linear-gradient(110deg, transparent 30%, rgba(255,255,255,.35) 50%, transparent 70%); transform: translateX(-120%); transition: transform .75s; pointer-events: none }
  .dg .dg-btn--accent:hover::after, .dg .lg-tg:hover::after { transform: translateX(120%) }
  .dg .lg-evbtn.dg-btn--accent::after, .dg .lg-evlist__go.dg-btn--accent::after { animation: lgShine 4.5s 1.5s infinite }
  @keyframes lgShine { 0%, 80% { transform: translateX(-120%) } 100% { transform: translateX(120%) } }
  .dg .dg-btn > span:last-child { transition: transform .25s }
  .dg .dg-btn:hover > span:last-child, .lg-ev:hover .lg-evbtn > span:last-child, .lg-evlist > a:hover .lg-evlist__go > span:last-child { transform: translateX(6px) }
  .dg .dg-btn:active { transform: scale(.97) }

  .dg .dg-header__cta { position: relative; overflow: visible }
  .dg .dg-header__cta::before { content: ""; position: absolute; inset: 0; border: 2px solid var(--dg-accent); animation: lgPing 3.2s 2s infinite; pointer-events: none }
  @keyframes lgPing { 0% { opacity: .9; transform: scale(1) } 60%, 100% { opacity: 0; transform: scale(1.18, 1.5) } }

  .lg-ev, .dg-goal--quiz, .lg-role, .lg-roles4 > div { transition: transform .25s ease-out, box-shadow .3s, background .25s; will-change: transform }
  .lg-tilting { box-shadow: inset 0 0 0 1px var(--dg-accent), 0 30px 60px -30px rgba(229,35,42,.45); z-index: 2; background-image: radial-gradient(420px circle at var(--gx) var(--gy), rgba(229,35,42,.12), transparent 60%) }
  .lg-evph { transition: border-color .3s } .lg-ev:hover .lg-evph { border-color: var(--dg-accent) }
  .lg-evd b { transition: color .3s } .lg-ev:hover .lg-evd b { color: var(--dg-accent) }

  .lg-evlist > a { position: relative }
  .lg-evlist > a::before { content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: 4px; background: var(--dg-accent); transform: scaleY(0); transform-origin: 50% 0; transition: transform .3s }
  .lg-evlist > a:hover::before { transform: scaleY(1) }
  .lg-evlist > a:hover .lg-evlist__date b { color: var(--dg-accent) }

  .lg-js .lg-deal { opacity: 0; transform: translateY(36px) rotate(-2.5deg) }
  .lg-js .lg-deal.lg-on { opacity: 1; transform: none; transition: opacity .55s, transform .7s cubic-bezier(.2,.8,.2,1); transition-delay: calc(var(--i, 0) * 80ms) }

  .lg-js .lg-reg li { opacity: 0; transform: translateX(-18px) }
  .lg-js .lg-reg.lg-on li { opacity: 1; transform: none; transition: opacity .4s, transform .45s cubic-bezier(.2,.8,.2,1); transition-delay: calc(var(--i, 0) * 45ms) }
  .lg-js .lg-reg.lg-on li.free { opacity: .45 }
  .lg-reg li.me { animation: lgMe 1.4s 1s 3 }
  @keyframes lgMe { 50% { background: rgba(229,35,42,.25) } }
  .lg-reg li:not(.free):not(.sep):hover .av { border-color: var(--dg-accent); transform: rotate(-6deg) scale(1.08) }
  .lg-reg .av { transition: transform .25s, border-color .25s }

  .dg-kicker.lg-typed::after { content: ""; display: inline-block; width: .5em; height: 1em; margin-left: 2px; vertical-align: -2px; background: currentColor; animation: lgCaret 1s steps(1) 3 forwards }
  @keyframes lgCaret { 50% { opacity: 0 } 100% { opacity: 0 } }

  .dg-hero.lg-lit::after { content: ""; position: absolute; inset: 0; pointer-events: none; z-index: 1; background: radial-gradient(520px circle at var(--mx) var(--my), rgba(255,255,255,.1), transparent 45%) }
  .dg-hero { position: relative }

  .dg-acc details > *:not(summary) { animation: lgDrop .35s ease }
  @keyframes lgDrop { from { opacity: 0; transform: translateY(-8px) } to { opacity: 1; transform: none } }
  .lg-mystate { animation: lgPop .5s cubic-bezier(.2,1.4,.4,1) }
  @keyframes lgPop { from { transform: scale(.92); opacity: 0 } to { transform: none; opacity: 1 } }
  .lg-ticket .num { animation: lgPop .7s .2s cubic-bezier(.2,1.4,.4,1) both }
}

/* ── админка: мероприятия, протокол, баллы ── */
.lg-adform { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)) 1.4fr; gap: 14px; align-items: end; margin-bottom: 22px }
#ad-evform { grid-template-columns: 1fr 140px 1.2fr }
#ad-evform .w { grid-column: 1 / 3 } #ad-evform .dg-btn { grid-column: 3 }
.lg-adform--4 { grid-template-columns: 2fr 1fr 1fr 1fr }
#ad-pts { grid-template-columns: repeat(4, 1fr) } #ad-pts .dg-btn { grid-column: 1 / -1; max-width: 320px }
#pr-form > .lg-adform:last-of-type { grid-template-columns: 1fr 1fr 2fr }
.lg-guess { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px }
.lg-acts { white-space: nowrap; text-align: right } .lg-acts > * { margin-left: 6px; display: inline-grid; place-items: center; vertical-align: middle }
.lg-adbtns { display: flex; flex-wrap: wrap; gap: 10px } .lg-adbtns .dg-btn { width: auto; min-width: 220px }
.lg-proto td { vertical-align: middle } .lg-proto td:first-child b { font: 700 18px var(--dg-sans) }
.lg-proto tr.maf td:first-child { box-shadow: inset 3px 0 0 var(--dg-accent) }
.lg-proto tr.out td:not(:last-child) { opacity: .55 }
.lg-proto [name=nm] { min-width: 130px } .lg-proto [name=role], .lg-proto [name=out] { min-width: 130px }
.lg-step { display: inline-flex; align-items: stretch } .lg-step input { width: 64px !important; text-align: center; border-left: 0 !important; border-right: 0 !important }
.lg-step button { width: 32px; border: 1px solid var(--dg-line-2); background: none; color: var(--dg-ink-2); font: 600 16px var(--dg-sans); cursor: pointer } .lg-step button:hover { color: var(--dg-accent); border-color: var(--dg-accent) }
.pr-tot { white-space: nowrap } .pr-tot b { font: 700 18px var(--dg-sans) } .pr-tot small { display: block; font: 500 10px var(--dg-mono); text-transform: uppercase; color: #3DD68C }
.pr-tot.up b { color: #3DD68C } .pr-tot.dn b { color: var(--dg-accent) }
.lg-proto__more { display: flex; gap: 8px; margin: -8px 0 22px }
.lg-prmsg { margin: 0 0 16px; padding: 12px 14px; border: 1px solid var(--dg-accent); color: var(--dg-ink); font: 400 14px/1.45 var(--dg-sans); text-transform: none; letter-spacing: 0 }
.lg-prmsg.ok { border-color: #3DD68C; color: #3DD68C }
.lg-new td:first-child { box-shadow: inset 3px 0 0 #3DD68C }
.lg-pl { display: inline-flex; align-items: center; gap: 10px } .lg-pl:hover b { color: var(--dg-accent) }
.lg-pl .av { width: 30px; height: 30px; display: grid; place-items: center; background: #222; border: 1px solid var(--dg-line-2); font: 600 11px var(--dg-sans) }
@media (max-width: 900px) {
  .lg-adform, .lg-adform--4, #ad-evform, #ad-pts, #pr-form > .lg-adform:last-of-type { grid-template-columns: 1fr 1fr }
  #ad-evform .w, #ad-evform .dg-btn, .lg-adform .w { grid-column: 1 / -1 }
  .lg-adbtns .dg-btn { width: 100%; min-width: 0 }
}

/* ── вход: зачем Telegram ── */
.lg-why { margin-top: 34px }
.lg-why__grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 18px; margin-top: 14px; align-items: stretch }
.lg-why__tabs { display: grid; border-top: 1px solid var(--dg-line) }
.lg-why__tabs button { position: relative; display: grid; grid-template-columns: 34px 1fr; gap: 10px; align-items: start; padding: 14px 12px 14px 0; border: 0; border-bottom: 1px solid var(--dg-line); background: none; color: var(--dg-ink-3); text-align: left; cursor: pointer; transition: color .2s, padding .25s }
.lg-why__tabs button b { font: 700 13px var(--dg-mono); color: var(--dg-ink-3); padding-top: 3px }
.lg-why__tabs button span { font: 700 17px/1.2 var(--dg-sans) } .lg-why__tabs button small { display: block; margin-top: 3px; font: 400 13px var(--dg-sans); color: var(--dg-ink-3) }
.lg-why__tabs button:hover, .lg-why__tabs button[aria-selected=true] { color: var(--dg-ink) }
.lg-why__tabs button[aria-selected=true] { padding-left: 12px; background: linear-gradient(90deg, rgba(229,57,53,.12), transparent) }
.lg-why__tabs button[aria-selected=true] b { color: var(--dg-accent) }
.lg-why__tabs .bar { position: absolute; left: 0; bottom: -1px; height: 2px; width: 0; background: var(--dg-accent) }
.lg-why__tabs button[aria-selected=true] .bar { width: 100% }
.lg-tgchat { display: flex; flex-direction: column; min-height: 300px; border: 1px solid var(--dg-line-2); background: #0e1621 }
.lg-tgchat__top { display: flex; gap: 12px; align-items: center; padding: 12px 14px; background: #17212b; border-bottom: 1px solid #0b1118 }
.lg-tgchat__top .av { width: 38px; height: 38px; display: grid; place-items: center; background: var(--dg-accent); color: #fff; font: 700 13px var(--dg-sans) }
.lg-tgchat__top b { display: block; font: 600 15px var(--dg-sans); color: #fff } .lg-tgchat__top small { font: 400 12px var(--dg-sans); color: #6c9fd3 }
.lg-tgchat__body { flex: 1; display: flex; flex-direction: column; justify-content: flex-end; gap: 6px; padding: 18px 14px }
.lg-msg { max-width: 92%; padding: 10px 12px 6px; background: #182533; color: #e9edf1; font: 400 15px/1.45 var(--dg-sans) }
.lg-msg p { margin: 0 } .lg-msg time { display: block; text-align: right; font: 400 11px var(--dg-sans); color: #6d8399; margin-top: 2px }
.lg-msg__btn { max-width: 92%; padding: 10px; text-align: center; background: #2b5278; color: #fff; font: 600 14px var(--dg-sans) }
.lg-typing { display: inline-flex; gap: 4px; padding: 12px 14px; background: #182533; align-self: flex-start }
.lg-typing i { width: 7px; height: 7px; border-radius: 50%; background: #6d8399 }
@media (max-width: 1100px) { .lg-why__grid { grid-template-columns: 1fr } .lg-tgchat { min-height: 230px } }
@media (prefers-reduced-motion: no-preference) {
  .lg-why__tabs button.run .bar { animation: lgWhyBar 5.2s linear both }
  @keyframes lgWhyBar { from { width: 0 } to { width: 100% } }
  .lg-msg, .lg-msg__btn { animation: lgMsg .35s cubic-bezier(.2,1.2,.4,1) both; transform-origin: left bottom } .lg-msg__btn { animation-delay: .15s }
  @keyframes lgMsg { from { opacity: 0; transform: translateY(10px) scale(.96) } to { opacity: 1; transform: none } }
  .lg-typing i { animation: lgDot 1s infinite } .lg-typing i:nth-child(2) { animation-delay: .15s } .lg-typing i:nth-child(3) { animation-delay: .3s }
  @keyframes lgDot { 0%, 60%, 100% { transform: none; opacity: .5 } 30% { transform: translateY(-4px); opacity: 1 } }
}

/* ── протокол по шагам ── */
.lg-pstep { padding: 26px 0 30px; border-top: 1px solid var(--dg-line) }
.lg-pstep:first-child { border-top: 0; padding-top: 6px }
.lg-pstep > h3 { display: flex; align-items: center; gap: 12px; margin: 0 0 16px; font: 700 22px var(--dg-sans) }
.lg-pstep > h3 b { width: 34px; height: 34px; display: grid; place-items: center; background: var(--dg-accent); color: #fff; font: 700 15px var(--dg-mono) }
.lg-proto__more[hidden] { display: none }
.lg-adform--2 { grid-template-columns: 1fr 1.4fr; align-items: center }
.lg-auto { font: 400 15px var(--dg-sans); color: var(--dg-ink-2) } .lg-auto .lg-badge { margin-right: 8px }
.lg-pool { display: grid; grid-template-columns: 1fr 1fr; gap: 24px }
.lg-pool small { display: block; margin-bottom: 10px; font: 500 11px var(--dg-mono); text-transform: uppercase; letter-spacing: .05em; color: var(--dg-ink-3) }
.lg-pool input { margin-bottom: 10px }
.lg-chips2 { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 12px }
.lg-pchip { display: inline-flex; align-items: center; gap: 8px; height: 36px; padding: 0 12px 0 0; border: 1px solid var(--dg-line-2); background: #181818; color: var(--dg-ink); font: 600 14px var(--dg-sans); cursor: pointer; transition: border-color .15s, background .15s }
.lg-pchip i { display: grid; place-items: center; min-width: 30px; height: 100%; border-right: 1px solid var(--dg-line-2); font: 600 11px var(--dg-mono); font-style: normal; color: var(--dg-ink-3) }
.lg-pchip:hover { border-color: var(--dg-accent) }
.lg-pchip.res i { color: #F2B544 }
.lg-pchip.on { background: rgba(61,214,140,.12); border-color: #3DD68C; color: #3DD68C } .lg-pchip.on i { color: #3DD68C; border-color: #3DD68C }
.lg-pchip.on i::before { content: '✓'; } .lg-pchip.on i { font-size: 0 } .lg-pchip.on i::before { font-size: 13px }
.lg-proto [name=nm] { min-width: 170px }
.lg-rounds { display: grid; gap: 14px; margin-bottom: 16px }
.lg-round { border: 1px solid var(--dg-line-2); background: #151515 }
.lg-round__h { display: flex; justify-content: space-between; align-items: center; padding: 10px 14px; border-bottom: 1px solid var(--dg-line) }
.lg-round__h b { font: 700 16px var(--dg-sans); text-transform: uppercase; letter-spacing: .03em }
.lg-round__h .lg-btn-s { height: 30px; width: 30px; padding: 0 }
.lg-round__g { display: grid; grid-template-columns: 1fr 1fr }
.lg-round__g > div { padding: 16px; display: grid; gap: 12px; align-content: start }
.lg-round__g > .night { border-left: 1px solid var(--dg-line); background: #111622 }
.lg-round__g h4 { margin: 0; display: flex; align-items: center; gap: 8px; font: 700 15px var(--dg-sans); text-transform: uppercase }
.lg-round__g h4 .sun { color: #F2B544 } .lg-round__g h4 .moon { color: #6c9fd3 }
.lg-round__g small { font: 500 11px var(--dg-mono); text-transform: uppercase; letter-spacing: .05em; color: var(--dg-ink-3) }
.lg-round__g select { height: 42px }
.lg-seatpick { display: flex; flex-wrap: wrap; gap: 5px }
.lg-seatpick button { width: 38px; height: 38px; border: 1px solid var(--dg-line-2); background: none; color: var(--dg-ink-2); font: 700 14px var(--dg-sans); cursor: pointer }
.lg-seatpick button:hover { border-color: var(--dg-accent); color: var(--dg-ink) }
.lg-seatpick button.on { background: var(--dg-accent); border-color: var(--dg-accent); color: #fff }
.lg-chk { display: flex; gap: 10px; align-items: end } .lg-chk label { flex: 1 } .lg-chk .lg-badge { margin-bottom: 12px }
.lg-best { padding: 12px; border: 1px dashed #3DD68C; display: grid; gap: 10px } .lg-best p { margin: 0; font: 600 14px var(--dg-sans); color: #3DD68C }
.lg-best .lg-seatpick button.on { background: #3DD68C; border-color: #3DD68C; color: #111 }
@media (max-width: 900px) { .lg-pool, .lg-round__g, .lg-adform--2 { grid-template-columns: 1fr } .lg-round__g > .night { border-left: 0; border-top: 1px solid var(--dg-line) } }

#pr-form { padding: 0 var(--dg-pad) 40px }
#ad-games > .lg-adbtns, #ad-games > h3 { padding-inline: var(--dg-pad) }

/* ── кровь: потёки, брызги, капли ── */
::selection { background: #a3120f; color: #fff }
.lg-blood { position: relative; isolation: isolate; overflow: hidden }
.lg-drips { position: absolute; top: 0; left: 0; width: 100%; height: auto; z-index: 0; pointer-events: none; opacity: .95 }
.lg-dr__gl { fill: none; stroke: rgba(255,190,190,.22); stroke-width: 1; stroke-linecap: round }
.lg-dr__fall { opacity: 0 }
.lg-splat { position: absolute; z-index: 0; pointer-events: none; transform: rotate(var(--rot, 0deg)) scaleX(var(--sx, 1)) }
.lg-sp__gloss { fill: rgba(255,210,210,.18) }
.lg-blood > :not(.lg-drips):not(.lg-splat):not(.lg-bg__img):not(.lg-bg__shade):not(.lg-slot) { position: relative; z-index: 1 }
.lg-sp--hero { width: min(720px, 70vw); right: -10%; top: 2%; opacity: .5 }
.lg-sp--ph { width: min(460px, 60vw); right: -5%; top: -6%; opacity: .55 }
.lg-sp--cta { width: min(420px, 60vw); left: -6%; bottom: -26%; opacity: .5; filter: brightness(.45) }
.lg-sp--sm { width: 240px; right: -50px; bottom: -70px; opacity: .4 }
.lg-cta .lg-drips { filter: brightness(.5) }
.lg-dropk::before { content: ''; display: inline-block; width: 8px; height: 8px; margin-right: 10px; vertical-align: 0; background: var(--dg-accent); border-radius: 50% 0 50% 50%; transform: rotate(-45deg) }
.lg-burst { position: fixed; z-index: 400; width: 0; height: 0; pointer-events: none }
.lg-burst i { position: absolute; left: 0; top: 0; width: calc(var(--s) * 1.6); height: var(--s); margin: calc(var(--s) / -2) 0 0 calc(var(--s) * -.8); border-radius: 50% 40% 40% 50% / 50%; background: radial-gradient(circle at 65% 35%, #d8323a, #8e0b11 70%); transform: rotate(var(--r)); animation: lgBurst var(--t) cubic-bezier(.15,.75,.35,1) forwards }
.lg-burst b { position: absolute; left: 0; top: 0; width: var(--s); height: calc(var(--s) * .8); margin: calc(var(--s) / -2.5) 0 0 calc(var(--s) / -2); background: radial-gradient(circle at 40% 35%, #a5121a, #5c0609); animation: lgStain 2.4s ease-out forwards }
@keyframes lgBurst { 0% { transform: translate(0, 0) rotate(var(--r)) scale(.3, .6) } 60% { opacity: 1 } 100% { transform: translate(var(--x), calc(var(--y) + var(--g))) rotate(var(--r)) scale(.5, .7); opacity: 0 } }
@keyframes lgStain { 0% { transform: scale(.2); opacity: .95 } 15% { transform: scale(1.05) } 25% { transform: scale(1) } 100% { transform: scale(1); opacity: 0 } }
@media (max-width: 700px) { .lg-sp--hero { width: 120vw; right: -50%; top: 10% } .lg-sp--ph { right: -30% } }
@media (prefers-reduced-motion: no-preference) {
  .lg-dr { transform: translateY(calc(var(--L) * -1 - 16px)); transition: transform var(--t) cubic-bezier(.5,.02,.2,1) var(--d) }
  .lg-drips.lg-bl-on .lg-dr { transform: none }
  .lg-drips.lg-bl-on .lg-dr__fall { animation: lgFall var(--ft) cubic-bezier(.55,0,1,.45) calc(var(--d) + var(--t) + var(--fd)) infinite }
  @keyframes lgFall { 0%, 70% { opacity: 0; transform: none } 72% { opacity: 1; transform: none } 100% { opacity: 0; transform: translateY(var(--fy)) scaleY(1.4) } }
  .lg-splat .lg-sp__core { transform-box: fill-box; transform-origin: center; transform: scale(.15); opacity: 0; transition: transform .45s cubic-bezier(.2,1.6,.4,1), opacity .15s }
  .lg-splat .lg-sp__ray { opacity: 0; transition: opacity .25s calc(.1s + var(--d, 0s)) }
  .lg-splat .lg-sp__run { transform-box: fill-box; transform-origin: top; transform: scaleY(0); transition: transform 2.4s cubic-bezier(.5,0,.2,1) var(--d), opacity .2s var(--d) }
  .lg-splat .lg-sp__drop { transform: translate(var(--dx), var(--dy)) scale(0); transition: transform .65s cubic-bezier(.1,.9,.3,1) calc(.05s + var(--d)) }
  .lg-splat .lg-sp__gloss { opacity: 0; transition: opacity .6s .5s }
  .lg-splat.lg-bl-on .lg-sp__core, .lg-splat.lg-bl-on .lg-sp__ray, .lg-splat.lg-bl-on .lg-sp__drop, .lg-splat.lg-bl-on .lg-sp__run, .lg-splat.lg-bl-on .lg-sp__gloss { transform: none; opacity: 1 }
  .lg-progress--drop::after { content: ''; position: absolute; right: -3px; top: 1px; width: 6px; height: 9px; background: var(--dg-accent); border-radius: 50% 50% 50% 50% / 40% 40% 60% 60%; transform-origin: top; animation: lgHang 1.8s ease-in infinite }
  @keyframes lgHang { 0% { transform: scale(.4, .3) } 70% { transform: scale(1, 1.2) } 100% { transform: translateY(14px) scale(.8); opacity: 0 } }
  .lg-ev, .lg-role, .lg-evlist > a { position: relative }
  .lg-ev::after, .lg-role::after, .lg-evlist > a::after { content: ''; position: absolute; left: 0; right: 0; top: 0; height: 46px; pointer-events: none; z-index: 2; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 300 46' preserveAspectRatio='none'%3E%3Cpath fill='%23a3121a' d='M0 0h300v3c-8 0-10 2-12 4-2 3-2 12-5 12s-3-9-5-12c-2-2-6-3-20-3-10 0-12 1-13 5-1 5-1 26-5 26s-4-21-5-26c-1-4-4-5-30-5-12 0-14 1-15 4s-1 8-4 8-3-5-4-8c-1-3-4-4-50-4-14 0-16 1-17 6-1 6-1 30-5 30s-4-24-5-30c-1-5-3-6-25-6-8 0-10 1-11 3-1 3-1 7-3 7s-2-4-3-7C38 4 35 3 20 3 10 3 8 4 7 7c-1 3-1 6-3 6S2 10 1 7L0 3z'/%3E%3C/svg%3E") top / 100% 100% no-repeat; transform: scaleY(0); transform-origin: top; transition: transform .45s cubic-bezier(.4,0,.2,1) }
  .lg-ev:hover::after, .lg-role:hover::after, .lg-evlist > a:hover::after { transform: scaleY(1); transition-duration: 2.6s; transition-timing-function: cubic-bezier(.3,0,.2,1) }
  .lg-ev:nth-child(2n)::after, .lg-role:nth-child(2n)::after, .lg-evlist > a:nth-child(2n)::after { transform: scaleY(0) scaleX(-1) }
  .lg-ev:nth-child(2n):hover::after, .lg-role:nth-child(2n):hover::after, .lg-evlist > a:nth-child(2n):hover::after { transform: scaleY(1) scaleX(-1) }
}
.lg-blood-calm .lg-dr, .lg-blood-calm .lg-splat * { transform: none !important; opacity: 1 !important }

/* ── «Первый раз»: пять шагов в линию ── */
.lg-steps { padding: 0 var(--dg-pad) clamp(48px, 6vw, 96px) }
.dg #school.dg-sec { border-bottom: 0 }
.lg-steps__row { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); counter-reset: s; position: relative }
.lg-steps__row::before { content: ''; position: absolute; left: 0; right: 0; top: 27px; height: 2px; background: var(--dg-line-2) }
.lg-steps__row::after { content: ''; position: absolute; left: 0; top: 27px; height: 2px; width: 100%; background: var(--dg-accent); transform: scaleX(var(--p, 1)); transform-origin: left; transition: transform 1.6s cubic-bezier(.6,0,.2,1) }
.lg-steps__row li { position: relative; z-index: 1; padding-right: clamp(14px, 2vw, 32px) }
.lg-steps__n { display: grid; place-items: center; width: 56px; height: 56px; margin-bottom: 22px; background: #131313; border: 2px solid var(--dg-accent); color: var(--dg-accent); font: 700 18px var(--dg-mono); transition: background .25s, color .25s, transform .25s }
.lg-steps__row li:hover .lg-steps__n { background: var(--dg-accent); color: #fff; transform: translateY(-3px) }
.lg-steps__row b { display: block; font: 700 clamp(20px, 1.6vw, 26px)/1.1 var(--dg-sans); letter-spacing: -.02em }
.lg-steps__row small { display: block; margin: 6px 0 12px; font: 500 11px var(--dg-mono); text-transform: uppercase; letter-spacing: .05em; color: var(--dg-accent) }
.lg-steps__row p { margin: 0; color: var(--dg-ink-2); font-size: 15px; line-height: 1.5; max-width: 26ch }
.lg-steps__foot { display: flex; justify-content: space-between; align-items: center; gap: 20px; flex-wrap: wrap; margin-top: clamp(32px, 4vw, 56px); padding-top: 0; border-top: 0 }
.lg-steps__foot .lg-easy { margin: 0; justify-content: flex-start }
@media (max-width: 900px) {
  .lg-steps__row { grid-template-columns: 1fr; gap: 0 }
  .lg-steps__row::before, .lg-steps__row::after { left: 27px; right: auto; top: 0; bottom: 0; width: 2px; height: auto; transform: scaleY(var(--p, 1)); transform-origin: top }
  .lg-steps__row li { display: grid; grid-template-columns: 56px 1fr; column-gap: 18px; padding: 0 0 26px }
  .lg-steps__n { grid-row: span 3; margin: 0 }
  .lg-steps__row small { margin: 4px 0 8px }
  .lg-steps__foot .dg-btn { width: 100%; justify-content: space-between }
}

/* ── правила: ссылки на роли ── */
.lg-rolelinks { display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: 0; padding: 0 var(--dg-pad) clamp(40px, 5vw, 72px) }
.lg-rolelinks a { display: grid; gap: 6px; padding: 18px 16px; border: 1px solid var(--dg-line); margin: 0 -1px -1px 0; transition: background .2s, border-color .2s }
.lg-rolelinks a b { font: 700 20px var(--dg-sans); letter-spacing: -.02em }
.lg-rolelinks a:hover { background: var(--dg-surface); border-color: var(--dg-accent); position: relative; z-index: 1 }
.lg-rolelinks .lg-team { justify-self: start }

/* ── вход в админку ── */
.lg-gate { position: fixed; inset: 0; z-index: 600; display: grid; place-items: center; padding: 24px; background: rgba(12,10,10,.96) }
.lg-gate__box { width: min(420px, 100%); padding: 32px; background: #161414; border: 1px solid var(--dg-line-2); box-shadow: 0 0 0 1px rgba(229,35,42,.25) }
.lg-evlist .lg-closed { opacity: .72 }
.lg-evlist .lg-closed:hover { opacity: 1 }
.lg-soon { display: inline-block; padding: 6px 10px; border: 1px dashed var(--dg-line-2); font: 500 11px var(--dg-mono); text-transform: uppercase; letter-spacing: .04em; color: var(--dg-ink-3); line-height: 1.4 }
.lg-gate__box * { box-sizing: border-box }
.lg-gate__box .dg-btn { width: 100% }
html.lg-locked body { overflow: hidden }
.lg-adm-link { color: var(--dg-ink-3); text-decoration: underline; text-underline-offset: 3px } .lg-adm-link:hover { color: var(--dg-accent) }
.lg-sep td { font: 500 11px var(--dg-mono); text-transform: uppercase; letter-spacing: .05em; color: var(--dg-ink-3); padding-top: 22px }
.lg-unr td { opacity: .7 }
.lg-step--m input { color: #ff8a8a }

/* ── админка: вечер, за столом, итоги, бот ── */
.lg-pr-top { margin: 0 0 6px; padding: 0 var(--dg-pad) }
.lg-nt__ev { display: grid; max-width: 420px; margin-bottom: 8px }
.lg-nt .lg-pstep > .lg-note { max-width: 760px }
.lg-nt__count { margin: 0 0 12px; font: 400 14px var(--dg-sans); color: var(--dg-ink-2) } .lg-nt__count b { color: var(--dg-ink) } .lg-nt__count .w { color: #F2B544 }
.lg-att { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 8px }
.lg-attb { display: grid; grid-template-columns: 34px 1fr; grid-template-rows: auto auto; align-items: center; min-height: 58px; padding: 8px 10px 8px 0; border: 1px solid var(--dg-line-2); background: #181818; color: var(--dg-ink); text-align: left; cursor: pointer; transition: background .15s, border-color .15s }
.lg-attb i { grid-row: span 2; display: grid; place-items: center; height: 100%; font: 600 12px var(--dg-mono); font-style: normal; color: var(--dg-ink-3); border-right: 1px solid var(--dg-line-2); margin-right: 10px }
.lg-attb b { padding-left: 10px; font: 600 15px var(--dg-sans) } .lg-attb small { padding-left: 10px; font: 500 10px var(--dg-mono); text-transform: uppercase; letter-spacing: .04em; color: var(--dg-ink-3) }
.lg-attb:hover { border-color: var(--dg-accent) }
.lg-attb.on { background: rgba(61,214,140,.1); border-color: #3DD68C } .lg-attb.on small, .lg-attb.on i { color: #3DD68C; border-color: rgba(61,214,140,.5) }
.lg-attb.walk small { color: #F2B544 }
.lg-seatcard { margin-top: 18px; border: 1px solid var(--dg-line-2); background: #151515; padding: 18px }
.lg-seatcard__h { display: flex; flex-wrap: wrap; align-items: baseline; gap: 6px 14px; margin-bottom: 12px } .lg-seatcard__h b { font: 700 20px var(--dg-sans) } .lg-seatcard__h span { color: var(--dg-ink-3); font-size: 14px }
.lg-seatlist { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: 6px }
.lg-seatlist li { display: flex; align-items: center; gap: 10px; height: 44px; padding-right: 10px; border: 1px solid var(--dg-line) }
.lg-seatlist i { display: grid; place-items: center; width: 40px; height: 100%; background: #1f1f1f; font: 700 15px var(--dg-mono); font-style: normal }
.lg-seatlist b { flex: 1; font: 600 15px var(--dg-sans) }
.lg-rolek { padding: 2px 6px; font: 600 10px var(--dg-mono); text-transform: uppercase; background: var(--dg-accent); color: #fff; visibility: hidden } .lg-rolek.maf { background: #000; box-shadow: inset 0 0 0 1px #666 }
#nt-draw.show .lg-rolek { visibility: visible }
.lg-btn-s[disabled], .dg-btn[disabled] { opacity: .4; pointer-events: none }
.lg-hints { display: grid; gap: 6px; margin: 0 0 14px }
.lg-hints p { margin: 0; padding: 10px 12px; border-left: 3px solid var(--dg-line-2); background: #181818; font: 400 14px/1.45 var(--dg-sans); color: var(--dg-ink-2) }
.lg-hints p.w { border-color: #F2B544 } .lg-hints p.r { border-color: var(--dg-accent); color: #ffb3b3 } .lg-hints p.ok { border-color: #3DD68C; color: #c8f5df }
.lg-hints .lg-btn-s { justify-self: start; margin-top: 4px }

/* раздача ролей */
.lg-dealer, .lg-live { opacity: 1 !important; transform: none !important; animation: none !important; translate: none !important }
.lg-dealer { position: fixed; inset: 0; z-index: 100001; display: grid; place-items: center; padding: 20px; background: #0b0a0a }
.lg-dealer[hidden] { display: none !important }
.lg-dealer__x { position: absolute; top: 14px; right: 14px; height: 40px; padding: 0 14px; border: 1px solid var(--dg-line-2); background: none; color: var(--dg-ink-2); font: 600 14px var(--dg-sans); cursor: pointer }
.lg-dealer__c { width: min(440px, 100%); display: grid; gap: 14px; justify-items: center; text-align: center; padding: 34px 24px; border: 1px solid var(--dg-line-2); background: #151414 }
.lg-dealer__c small { font: 500 12px var(--dg-mono); text-transform: uppercase; letter-spacing: .06em; color: var(--dg-ink-3) }
.lg-dealer__c .big { font: 700 clamp(38px, 11vw, 60px)/1 var(--dg-sans); letter-spacing: -.04em; color: var(--dg-ink) }
.lg-dealer__c p { margin: 0; color: var(--dg-ink-2); font-size: 15px; line-height: 1.5 }
.lg-dealer__c .dg-btn { width: 100%; justify-content: space-between; height: 58px }
.lg-dealer__c.role { border-color: var(--dg-accent); background: linear-gradient(180deg, rgba(229,35,42,.3), #151414 65%) } .lg-dealer__c.role .big { color: #ff4a50 } .lg-dealer__c.role.maf { border-color: #fff; background: #000 } .lg-dealer__c.role.maf .big { color: #fff }

/* режим за столом */
.lg-live { position: fixed; inset: 0; z-index: 100000; overflow-y: auto; background: #0e0d0d; padding: 0 0 20px; display: flex; flex-direction: column }
.lg-live[hidden] { display: none !important }
.lg-live > * { flex: none }
.lg-live__top { position: sticky; top: 0; z-index: 2; display: flex; align-items: center; justify-content: space-between; gap: 8px; padding: 10px 12px; background: #0e0d0d; border-bottom: 1px solid var(--dg-line) }
.lg-live__top b { font: 700 16px var(--dg-sans); text-align: center }
.lg-live__b { height: 38px; padding: 0 12px; border: 1px solid var(--dg-line-2); background: none; color: var(--dg-ink-2); font: 600 13px var(--dg-sans); cursor: pointer; white-space: nowrap } .lg-live__b[disabled] { opacity: .35 }
.lg-live__timer { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 8px; padding: 12px }
.lg-tm__face { position: relative; grid-row: span 2; display: grid; align-content: center; gap: 2px; min-height: 108px; padding: 10px 14px 14px; border: 1px solid var(--dg-line-2); background: #151515; color: var(--dg-ink); text-align: left; cursor: pointer; overflow: hidden; -webkit-tap-highlight-color: transparent }
.lg-tm__face b { font: 700 clamp(48px, 13vw, 72px)/1 var(--dg-mono); letter-spacing: -.03em }
.lg-tm__face small { font: 500 11px var(--dg-mono); text-transform: uppercase; letter-spacing: .04em; color: var(--dg-ink-3) }
.lg-tm__face i { position: absolute; left: 0; bottom: 0; height: 5px; background: #3DD68C; transition: width .95s linear }
.lg-tm__face.run { border-color: #3DD68C } .lg-tm__face.hot { border-color: #F2B544 } .lg-tm__face.hot b { color: #F2B544 } .lg-tm__face.hot i { background: #F2B544 }
.lg-tm__face.end { border-color: var(--dg-accent); background: #2a0d0e } .lg-tm__face.end b { color: var(--dg-accent); animation: lgBlink .6s steps(2) 4 }
.lg-tm__face.pause b { opacity: .6 }
.lg-tm__btns, .lg-tm__pre { display: grid; grid-auto-flow: column; gap: 6px }
.lg-tm__btns button, .lg-tm__pre button { height: 50px; padding: 0 14px; border: 1px solid var(--dg-line-2); background: #181818; color: var(--dg-ink); font: 600 14px var(--dg-sans); cursor: pointer; white-space: nowrap }
.lg-tm__btns .go { min-width: 110px; background: var(--dg-accent); border-color: var(--dg-accent); color: #fff }
.lg-tm__pre button { height: 46px; color: var(--dg-ink-2) } .lg-tm__pre button.on { border-color: #fff; color: #fff }
@media (max-width: 700px) { .lg-live__timer { grid-template-columns: 1fr } .lg-tm__face { grid-row: auto; min-height: 96px } .lg-tm__btns { grid-template-columns: 1fr 1fr 1fr; grid-auto-flow: row } .lg-tm__pre { grid-template-columns: repeat(4, 1fr); grid-auto-flow: row } .lg-tm__btns button { padding: 0 6px } }
.lg-live__hints { padding: 0 12px; margin: 0 0 10px }
.lg-live__acts { display: flex; flex-wrap: wrap; gap: 6px; padding: 0 12px 10px }
.lg-live__acts button { flex: none; height: 42px; padding: 0 14px; border: 1px solid var(--dg-line-2); background: #181818; color: var(--dg-ink-2); font: 600 14px var(--dg-sans); cursor: pointer }
.lg-live__acts button.on { background: #fff; border-color: #fff; color: #111 }
.lg-live__acts button[data-lv-act=plus] { color: #3DD68C } .lg-live__acts button[data-lv-act=minus] { color: #ff8a8a } .lg-live__acts button.on[data-lv-act=plus], .lg-live__acts button.on[data-lv-act=minus] { color: #111 }
.lg-live__acts button.rm { border-color: rgba(229,35,42,.6); color: #ff8a8a } .lg-live__acts button.rm.on { background: var(--dg-accent); border-color: var(--dg-accent); color: #fff }
@media (max-width: 700px) { .lg-live__acts { display: grid; grid-template-columns: repeat(3, 1fr) } .lg-live__acts button { padding: 0 4px; font-size: 13px } }
.lg-live__grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 6px; padding: 0 12px }
@media (min-width: 700px) { .lg-live__grid { grid-template-columns: repeat(5, 1fr) } .lg-live { padding-bottom: 30px } }
.lg-tile { position: relative; display: grid; gap: 3px; align-content: start; min-height: 92px; padding: 10px 10px 10px 50px; border: 1px solid var(--dg-line-2); background: #181818; color: var(--dg-ink); text-align: left; cursor: pointer; -webkit-tap-highlight-color: transparent }
.lg-tile:active { transform: scale(.98) }
.lg-tile i { position: absolute; left: 0; top: 0; bottom: 0; width: 40px; display: grid; place-items: center; background: #222; font: 700 20px var(--dg-mono); font-style: normal }
.lg-tile b { font: 600 15px var(--dg-sans); overflow: hidden; text-overflow: ellipsis; white-space: nowrap }
.lg-tile small { font: 500 10px var(--dg-mono); text-transform: uppercase; color: var(--dg-ink-3) } .lg-tile.maf i { background: #000; color: #fff } .lg-tile.civ i { background: #8f1418; color: #fff }
.lg-tile__role { justify-self: start; padding: 3px 8px; font: 700 11px var(--dg-mono); text-transform: uppercase; letter-spacing: .05em; background: var(--dg-accent); color: #fff }
.lg-tile__role.maf { background: #000; color: #fff; box-shadow: inset 0 0 0 1px #555 } .lg-tile__role.don { background: #000; color: #fff; box-shadow: inset 0 0 0 2px #fff }
.lg-tile__role.sher { background: var(--dg-accent); color: #fff; box-shadow: inset 0 0 0 2px #F2B544 } .lg-tile__role.doc, .lg-tile__role.lov { background: var(--dg-accent); color: #fff; box-shadow: inset 0 0 0 2px #fff }
.lg-tile .pm { display: flex; gap: 4px } .lg-tile .pm em { padding: 1px 5px } .lg-tile .pm em.up { background: #3DD68C; color: #111 } .lg-tile .pm em.dn { background: #ff8a8a; color: #111 } .lg-tile .pm em.nt { background: #fff; color: #111 }
.lg-sheet { position: fixed; inset: 0; z-index: 3; display: grid; align-items: end; justify-items: center; background: rgba(0,0,0,.6) }
.lg-sheet__box { width: min(560px, 100%); display: grid; gap: 12px; padding: 18px 16px 20px; background: #161515; border: 1px solid var(--dg-line-2) }
.lg-sheet__box > b { font: 700 18px var(--dg-sans) }
.lg-sheet__tags { display: flex; flex-wrap: wrap; gap: 6px } .lg-sheet__tags button { height: 34px; padding: 0 10px; border: 1px solid var(--dg-line-2); background: #1c1c1c; color: var(--dg-ink-2); font: 500 13px var(--dg-sans); cursor: pointer }
.lg-sheet__box textarea { width: 100%; padding: 12px; border: 1px solid var(--dg-line-2); background: #0f0f0f; color: var(--dg-ink); font: 400 16px/1.45 var(--dg-sans); resize: vertical }
.lg-sheet__btns { display: grid; grid-template-columns: 1fr 1fr; gap: 8px } .lg-sheet__btns .dg-btn { justify-content: space-between; height: 52px }
.lg-pnote { display: block; max-width: 240px; margin-top: 4px; padding: 0; border: 0; background: none; color: var(--dg-ink-3); font: 400 12px/1.35 var(--dg-sans); text-align: left; cursor: pointer; white-space: normal }
.lg-tile .f { display: flex; gap: 3px } .lg-tile .f u { width: 14px; height: 5px; background: #333 } .lg-tile .f u.on { background: #F2B544 } .lg-tile .f u.on:nth-child(4) { background: var(--dg-accent) }
.lg-tile em { justify-self: start; padding: 2px 6px; font: 600 10px var(--dg-mono); font-style: normal; text-transform: uppercase; background: #2a2a2a; color: var(--dg-ink-2) }
.lg-tile em.nom { background: #fff; color: #111 } .lg-tile em.r { background: var(--dg-accent); color: #fff }
.lg-tile.dead { opacity: .4; background: #121212 }
.dg .lg-live__line { margin: 0; padding: 12px 12px 0; font: 600 14px var(--dg-sans); color: var(--dg-ink-2) }
.lg-live__bot { position: sticky; bottom: 0; margin-top: auto; display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 12px; background: #0e0d0d; border-top: 1px solid var(--dg-line) }
.lg-live__bot .dg-btn { flex: 1; max-width: 360px; justify-content: space-between; height: 54px }

/* итоги вечера */
.dg .lg-sm__st { margin: 10px 0 4px; display: flex; flex-wrap: wrap; align-items: center; gap: 8px; color: var(--dg-ink-2); font-size: 14px }
.dg .lg-sm__h { margin: 30px 0 12px; font: 700 18px var(--dg-sans) }
.lg-smsend.off { opacity: .45 }
.lg-smmsg { max-width: 520px; margin-bottom: 12px; padding: 12px 14px; border: 1px solid var(--dg-line-2); background: #17212b } .lg-smmsg small { font: 500 10px var(--dg-mono); text-transform: uppercase; color: #8fb3d9 } .lg-smmsg p { margin: 6px 0 0; font-size: 14px; line-height: 1.5; color: #e8eef5 }
.lg-smpost { width: 100%; max-width: 640px; padding: 14px; border: 1px solid var(--dg-line-2); background: #181818; color: var(--dg-ink); font: 400 14px/1.5 var(--dg-sans); resize: vertical }
.lg-smsend .dg-btn svg { width: 18px; height: 18px }

/* бот */
.lg-bot { display: grid; gap: 8px }
.lg-botrow { display: grid; grid-template-columns: auto 1fr auto; gap: 14px; align-items: start; padding: 14px; border: 1px solid var(--dg-line-2); background: #161616 } .lg-botrow.off { opacity: .55 }
.lg-botrow b { font: 600 16px var(--dg-sans) } .lg-botrow small { display: block; font: 500 10px var(--dg-mono); text-transform: uppercase; color: var(--dg-ink-3); margin-top: 2px } .lg-botrow p { margin: 8px 0 0; max-width: 560px; padding: 8px 10px; background: #17212b; color: #e8eef5; font-size: 13px; line-height: 1.45 }
.lg-tgl { position: relative; width: 42px; height: 24px; flex: none; cursor: pointer } .lg-tgl input { position: absolute; opacity: 0 }
.lg-tgl span { position: absolute; inset: 0; background: #333; transition: background .15s } .lg-tgl span::after { content: ''; position: absolute; top: 3px; left: 3px; width: 18px; height: 18px; background: #fff; transition: transform .15s }
.lg-tgl input:checked + span { background: #3DD68C } .lg-tgl input:checked + span::after { transform: translateX(18px) }
.lg-tgl input:focus-visible + span { outline: 2px solid var(--dg-accent); outline-offset: 2px }
@media (max-width: 600px) { .lg-botrow { grid-template-columns: auto 1fr } .lg-botrow > .lg-badge { display: none } }

/* видеоразборы ведущей: заглушка, пока видео нет */
.lg-vid { display: grid; grid-template-columns: 168px 1fr; gap: 14px; align-items: center; margin-bottom: 18px; padding: 10px; border: 1px solid var(--dg-line-2); background: rgba(16,15,15,.85) }
.lg-vid__scr { position: relative; aspect-ratio: 16/9; display: grid; place-items: center; overflow: hidden; background: repeating-linear-gradient(135deg, #1b1a1a 0 6px, #171616 6px 12px); border: 1px solid var(--dg-line) }
.lg-vid__scr::after { content: ''; position: absolute; inset: 0; background: radial-gradient(circle at 50% 50%, rgba(229,35,42,.22), transparent 65%); animation: lgVidGlow 2.6s ease-in-out infinite }
@keyframes lgVidGlow { 50% { opacity: .35 } }
.lg-vid__play { position: relative; z-index: 1; display: grid; place-items: center; width: 44px; height: 44px; border-radius: 50%; background: var(--dg-accent); color: #fff; box-shadow: 0 0 0 0 rgba(229,35,42,.5); animation: lgVidPulse 2s infinite }
.lg-vid__play svg { margin-left: 3px }
@keyframes lgVidPulse { 0% { box-shadow: 0 0 0 0 rgba(229,35,42,.55) } 70% { box-shadow: 0 0 0 14px rgba(229,35,42,0) } 100% { box-shadow: 0 0 0 0 rgba(229,35,42,0) } }
.lg-vid__soon { position: absolute; z-index: 1; left: 6px; bottom: 6px; padding: 2px 6px; background: #fff; color: #111; font-size: 10px; text-transform: uppercase; letter-spacing: .06em }
.lg-vid__rec { position: absolute; z-index: 1; right: 6px; top: 6px; display: flex; align-items: center; gap: 4px; font-size: 9px; color: var(--dg-ink-3) } .lg-vid__rec i { width: 6px; height: 6px; border-radius: 50%; background: var(--dg-accent); animation: lgBlink 1.2s steps(2) infinite }
.lg-vid__txt small { display: block; font-size: 10px; text-transform: uppercase; letter-spacing: .06em; color: var(--dg-accent) }
.lg-vid__txt b { display: block; margin-top: 4px; font: 600 15px/1.3 var(--dg-sans); color: var(--dg-ink) }
.dg .lg-vid__txt p { margin: 4px 0 0; font-size: 13px; color: var(--dg-ink-3) }
.lg-vidsec { padding: 0 var(--dg-pad) 8px }
.lg-vid--big { grid-template-columns: minmax(0, 520px) 1fr; gap: 28px; padding: 16px; margin: 0 }
.lg-vid--big .lg-vid__play { width: 72px; height: 72px } .lg-vid--big .lg-vid__play svg { width: 32px; height: 32px }
.lg-vid--big .lg-vid__soon { font-size: 12px; left: 10px; bottom: 10px; padding: 4px 8px }
.lg-vid--big .lg-vid__txt b { font-size: clamp(22px, 2.2vw, 32px); letter-spacing: -.03em }
.dg .lg-vid--big .lg-vid__txt p { font-size: 15px; max-width: 40ch }
@media (max-width: 700px) { .lg-vid--big { grid-template-columns: 1fr; gap: 14px } .lg-vid { grid-template-columns: 120px 1fr } .lg-vid--big .lg-vid__play { width: 56px; height: 56px } }

/* логотип в шапке: кубик и надпись */
.dg-header__logo { flex: none !important; min-width: max-content; padding-right: 6px !important }
.lg-logo2 img { flex: none; max-width: none !important }
.lg-logo2 { display: inline-flex; align-items: center; gap: 4px; height: 100% }
.dg .lg-logo2__d { height: 42px; width: auto; transform-origin: 46% 45%; transition: transform .5s cubic-bezier(.3,1.5,.5,1); filter: drop-shadow(0 3px 8px rgba(229,35,42,.25)) }
.dg .lg-logo2__w { height: 27px; width: auto; margin-top: 4px }
.dg-header__logo:hover .lg-logo2__d { animation: lgDice .9s cubic-bezier(.3,1.3,.5,1) }
@keyframes lgDice { 0% { transform: rotate(0) scale(1) } 30% { transform: rotate(-18deg) scale(1.12) translateY(-3px) } 60% { transform: rotate(12deg) scale(1.05) } 100% { transform: rotate(0) scale(1) } }
@media (max-width: 600px) { .dg .lg-logo2__d { height: 36px } .dg .lg-logo2__w { height: 23px } }
@media (max-width: 440px) { .dg .lg-logo2__w { display: none } }
@media (prefers-reduced-motion: reduce) { .dg-header__logo:hover .lg-logo2__d { animation: none } }

/* ── кабинет: большая кнопка «Начать вечер» ── */
.lg-startbar { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 24px; padding: clamp(20px, 3vw, 36px) var(--dg-pad); border: 1px solid var(--dg-accent); background: linear-gradient(120deg, rgba(229,35,42,.22), rgba(229,35,42,0) 60%), #151313; position: relative; overflow: hidden }
.lg-startbar small { display: block; font: 500 12px var(--dg-mono); text-transform: uppercase; letter-spacing: .08em; color: var(--dg-accent) }
.dg .lg-startbar b { display: block; margin: 6px 0 4px; font: 700 clamp(24px, 3.2vw, 38px)/1.05 var(--dg-sans); letter-spacing: -.03em; color: #fff }
.dg .lg-startbar p { margin: 0; color: var(--dg-ink-2); font-size: 16px; line-height: 1.45 }
.lg-bigstart { position: relative; display: inline-flex; align-items: center; gap: 22px; min-height: 92px; padding: 0 34px 0 38px; border: 0; background: var(--dg-accent); color: #fff; font: 700 clamp(22px, 2.4vw, 30px) var(--dg-sans); letter-spacing: -.02em; cursor: pointer; overflow: hidden; touch-action: manipulation; -webkit-tap-highlight-color: transparent; animation: lgPulse 2.2s infinite; transition: transform .25s var(--dg-ease), background .25s }
.lg-bigstart span + span { display: grid; place-items: center; width: 54px; height: 54px; border: 2px solid rgba(255,255,255,.55); font-size: 20px; transition: transform .35s var(--dg-ease) }
.lg-bigstart::after { content: ''; position: absolute; inset: 0; background: linear-gradient(100deg, transparent 30%, rgba(255,255,255,.28) 50%, transparent 70%); animation: lgShine 3.4s infinite }
.lg-bigstart:hover span + span { transform: translateX(6px) } .lg-bigstart:active { transform: scale(.97) }
@media (max-width: 700px) { .lg-startbar { grid-template-columns: 1fr } .lg-bigstart { width: 100%; justify-content: space-between; min-height: 76px } }

/* ── мастер вечера ── */
.lg-wiz { position: fixed; inset: 0; z-index: 100000; display: flex; flex-direction: column; overflow-y: auto; overscroll-behavior: contain; background: radial-gradient(1200px 500px at 50% -10%, rgba(229,35,42,.16), transparent 70%), #0e0d0d; color: #fff; opacity: 1 !important; transform: none !important; translate: none !important; animation: lgWizIn .45s var(--dg-ease) both !important; -webkit-tap-highlight-color: transparent }
.lg-wiz[hidden] { display: none !important }
.lg-wiz > * { flex: none }
.lg-wiz.busy { pointer-events: none }
.lg-wiz button { touch-action: manipulation }
@keyframes lgWizIn { from { clip-path: inset(0 0 100% 0) } to { clip-path: inset(0) } }
.lg-wiz__top { position: sticky; top: 0; z-index: 3; display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 12px; padding: 12px clamp(12px, 2.4vw, 28px); background: rgba(14,13,13,.92); backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px) }
.lg-wiz__top b { font: 700 17px var(--dg-sans); text-align: center }
.lg-wiz__top .lg-live__b { height: 48px; padding: 0 18px; font-size: 15px }
.lg-wiz__steps { display: grid; grid-template-columns: repeat(5, 1fr); gap: 6px; margin: 0; padding: 14px clamp(12px, 2.4vw, 28px) 10px; list-style: none }
.lg-wiz__steps li { display: flex; align-items: center; gap: 10px; min-width: 0; color: var(--dg-ink-3); font: 600 15px var(--dg-sans); transition: color .4s }
.lg-wiz__steps li span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap }
.lg-wiz__steps i { flex: none; display: grid; place-items: center; width: 36px; height: 36px; border: 1px solid var(--dg-line-2); font: 700 15px var(--dg-mono); font-style: normal; transition: background .4s, border-color .4s, transform .4s var(--dg-ease) }
.lg-wiz__steps li.done { color: var(--dg-ink-2) } .lg-wiz__steps li.done i { background: #fff; border-color: #fff; color: #111 }
.lg-wiz__steps li.on { color: #fff } .lg-wiz__steps li.on i { background: var(--dg-accent); border-color: var(--dg-accent); color: #fff; transform: scale(1.12); animation: lgPulse 2s infinite }
.lg-wiz__bar { height: 3px; margin: 0 clamp(12px, 2.4vw, 28px); background: #222 }
.lg-wiz__bar i, .lg-wiz__prog i { display: block; height: 100%; background: var(--dg-accent); transition: width .6s var(--dg-ease) }
.lg-wiz__body { flex: 1 0 auto; display: flex; flex-direction: column; width: min(1240px, 100%); margin: 0 auto; padding: clamp(18px, 3vw, 36px) clamp(12px, 2.4vw, 28px) 0 }
.lg-wiz__body.in.fw > * { animation: lgWizFw .5s var(--dg-ease) both } .lg-wiz__body.in.bk > * { animation: lgWizBk .5s var(--dg-ease) both }
.lg-wiz__body.in > :nth-child(2) { animation-delay: .05s } .lg-wiz__body.in > :nth-child(3) { animation-delay: .1s } .lg-wiz__body.in > :nth-child(n+4) { animation-delay: .15s }
.lg-wiz__body.in > .lg-wiz__nav { animation: none }
@keyframes lgWizFw { from { opacity: 0; transform: translateX(40px) } to { opacity: 1; transform: none } }
@keyframes lgWizBk { from { opacity: 0; transform: translateX(-40px) } to { opacity: 1; transform: none } }
.dg .lg-wiz h2 { margin: 0 0 10px; font: 700 clamp(30px, 4vw, 48px)/1.02 var(--dg-sans); letter-spacing: -.035em; color: #fff }
.dg .lg-wiz__lead { margin: 0 0 22px; max-width: 760px; color: var(--dg-ink-2); font-size: 18px; line-height: 1.5 } .lg-wiz__lead b { color: #fff }
.lg-wiz__nav { position: sticky; bottom: 0; z-index: 2; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 2fr); gap: 10px; margin: auto calc(-1 * clamp(12px, 2.4vw, 28px)) 0; padding: 14px clamp(12px, 2.4vw, 28px) max(14px, env(safe-area-inset-bottom)); background: linear-gradient(transparent, #0e0d0d 22%) }
.lg-wiz__nav .dg-btn { height: 72px; justify-content: space-between; font-size: 15px }
.lg-wiz__nav .dg-btn--accent { font-size: 17px; font-weight: 700 }
.lg-wiz__nav .dg-btn[disabled] { opacity: .35; cursor: default; background: #333; border-color: #333 }
.lg-wiz__nav .dg-btn--accent:not([disabled]) > span + span { animation: lgNudge 1.6s var(--dg-ease) infinite }
@keyframes lgNudge { 0%, 60%, 100% { transform: none } 30% { transform: translateX(5px) } }
.lg-wiz .dg-btn { touch-action: manipulation }
.lg-wiz .dg-btn:active { transform: scale(.98) }

/* шаг 1 */
.lg-wiz__body > :not(.lg-wiz__nav) { flex: none }
.lg-wiz__nav { margin-top: auto; padding-top: 26px }
.lg-wiz__evs { display: grid; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); gap: 10px }
.lg-wiz__ev { display: grid; gap: 6px; min-height: 120px; align-content: start; padding: 18px; border: 1px solid var(--dg-line-2); background: #161515; color: #fff; text-align: left; cursor: pointer; transition: border-color .25s, background .25s, transform .25s var(--dg-ease) }
.lg-wiz__ev b { font: 700 24px var(--dg-sans); letter-spacing: -.02em } .lg-wiz__ev span { color: var(--dg-ink-2); font-size: 15px } .lg-wiz__ev small { font: 500 12px var(--dg-mono); text-transform: uppercase; color: var(--dg-ink-3) }
.lg-wiz__ev:hover { border-color: #fff } .lg-wiz__ev:active { transform: scale(.98) }
.lg-wiz__ev.on { border-color: var(--dg-accent); background: linear-gradient(160deg, rgba(229,35,42,.35), #161515 70%); box-shadow: inset 0 0 0 1px var(--dg-accent) }

/* шаг 2 */
.lg-att--big { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 10px }
.lg-att--big .lg-attb { grid-template-columns: 52px 1fr; min-height: 84px; cursor: pointer; transition: background .3s, border-color .3s, transform .2s var(--dg-ease) }
.lg-att--big .lg-attb i { font-size: 16px }
.lg-att--big .lg-attb b { font-size: 19px } .lg-att--big .lg-attb small { font-size: 11px }
.lg-att--big .lg-attb:active { transform: scale(.96) }
.lg-wiz__body.in .lg-att--big .lg-attb { animation: lgPop .4s var(--dg-ease) both; animation-delay: calc(var(--k, 0) * 25ms + .1s) }
.lg-att--big .lg-attb.pop { animation: lgWizPop .45s var(--dg-ease) }
@keyframes lgWizPop { 0% { transform: scale(.9) } 55% { transform: scale(1.05) } 100% { transform: none } }
.lg-wiz__find { margin-top: 18px; max-width: 560px } .lg-wiz__find input { height: 60px; font-size: 18px }
.lg-wiz .lg-chips2 { margin-top: 10px } .lg-wiz .lg-pchip { height: 52px; font-size: 17px } .lg-wiz .lg-pchip i { min-width: 46px }

/* шаг 3 */
.lg-seatlist--big { display: grid; grid-template-columns: repeat(5, 1fr); gap: 10px; margin: 0; padding: 0; list-style: none }
.lg-seatlist--big li { position: relative; display: grid; gap: 8px; min-height: 120px; align-content: space-between; padding: 14px; border: 1px solid var(--dg-line-2); background: #161515 }
.lg-seatlist--big li i { font: 700 34px/1 var(--dg-mono); font-style: normal; color: var(--dg-accent) }
.lg-seatlist--big li b { font: 700 20px var(--dg-sans); overflow: hidden; text-overflow: ellipsis; white-space: nowrap }
.lg-seatlist--big.deal li { animation: lgWizDeal .55s var(--dg-ease) both; animation-delay: calc(var(--k) * 60ms) }
@keyframes lgWizDeal { from { opacity: 0; transform: translateY(-30px) rotate(-6deg) scale(.9) } to { opacity: 1; transform: none } }
.lg-wiz [data-wz-reseat] { height: 60px; font-size: 14px }
.lg-wiz [data-wz-reseat] span + span { transition: transform .5s var(--dg-ease) } .lg-wiz [data-wz-reseat]:active span + span { transform: rotate(-180deg) }

/* шаг 4: роли по очереди */
.lg-wiz__prog { height: 6px; margin-bottom: 12px; background: #222 }
.lg-wiz__dots { display: grid; grid-template-columns: repeat(10, 1fr); gap: 6px; margin-bottom: 18px }
.lg-wiz__dots button { height: 56px; border: 1px solid var(--dg-line-2); background: #161515; color: var(--dg-ink-2); font: 700 18px var(--dg-mono); cursor: pointer; transition: background .3s, border-color .3s, transform .3s var(--dg-ease) }
.lg-wiz__dots button.civ { background: #8f1418; border-color: #8f1418; color: #fff } .lg-wiz__dots button.maf { background: #000; border-color: #666; color: #fff }
.lg-wiz__dots button.on { border-color: #fff; box-shadow: 0 0 0 2px #fff; transform: translateY(-3px); color: #fff }
.lg-wiz__dots button.pop { animation: lgWizPop .45s var(--dg-ease) }
.lg-wiz__play { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: 14px; align-items: stretch }
.lg-wiz__card { display: grid; align-content: center; gap: 10px; min-height: 260px; padding: 28px; border: 1px solid var(--dg-line-2); background: linear-gradient(160deg, #1d1b1b, #121111); perspective: 800px }
.lg-wiz__card small { font: 600 14px var(--dg-mono); text-transform: uppercase; letter-spacing: .06em; color: var(--dg-accent) }
.lg-wiz__card b { font: 700 clamp(40px, 6vw, 72px)/1 var(--dg-sans); letter-spacing: -.04em; overflow-wrap: anywhere }
.dg .lg-wiz__card p { margin: 0; color: var(--dg-ink-2); font-size: 17px }
.lg-wiz__card.flip { animation: lgWizFlip .5s var(--dg-ease) both }
@keyframes lgWizFlip { from { opacity: 0; transform: rotateY(-70deg) translateX(-30px) } to { opacity: 1; transform: none } }
.lg-wiz__roles { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px }
.lg-wiz__roles button { position: relative; display: grid; align-content: center; gap: 6px; min-height: 120px; padding: 16px 20px; border: 2px solid transparent; color: #fff; text-align: left; cursor: pointer; overflow: hidden; transition: transform .2s var(--dg-ease), box-shadow .25s, opacity .25s }
.lg-wiz__roles button b { font: 700 clamp(24px, 3vw, 32px) var(--dg-sans); letter-spacing: -.02em } .lg-wiz__roles button small { font: 500 12px var(--dg-mono); text-transform: uppercase; letter-spacing: .05em; opacity: .75 }
.lg-wiz__roles button.civ { background: linear-gradient(150deg, #e5232a, #a3151a) } .lg-wiz__roles button.maf { background: linear-gradient(150deg, #1d1d1d, #000); border-color: #444 }
.lg-wiz__roles button[data-wz-role="Шериф"] { border-color: #F2B544 } .lg-wiz__roles button[data-wz-role="Дон"] { border-color: #fff }
.lg-wiz__roles button.on { box-shadow: 0 0 0 4px #fff }
.lg-wiz__roles button:active, .lg-wiz__roles button.hit { transform: scale(.95) }
.lg-wiz__roles button.hit::after { content: ''; position: absolute; inset: 0; background: rgba(255,255,255,.35); animation: lgFade .22s reverse both }
.lg-wiz__roles button[disabled] { opacity: .22; cursor: default; filter: grayscale(1) }

/* шаг 5–6 */
.lg-wiz__sum { display: grid; grid-template-columns: repeat(5, 1fr); gap: 10px }
.lg-wiz__sum div { display: grid; gap: 6px; min-height: 120px; align-content: space-between; padding: 14px; border: 1px solid var(--dg-line-2) }
.lg-wiz__sum div.civ { background: linear-gradient(160deg, rgba(229,35,42,.45), #1a1212 80%); border-color: #8f1418 } .lg-wiz__sum div.maf { background: #000; border-color: #555 }
.lg-wiz__sum i { font: 700 26px/1 var(--dg-mono); font-style: normal } .lg-wiz__sum b { font: 700 18px var(--dg-sans); overflow: hidden; text-overflow: ellipsis; white-space: nowrap } .lg-wiz__sum span { font: 600 12px var(--dg-mono); text-transform: uppercase; letter-spacing: .05em; color: var(--dg-ink-2) }
.lg-wiz__body.in .lg-wiz__sum div { animation: lgWizDeal .5s var(--dg-ease) both; animation-delay: calc(var(--k) * 50ms + .1s) }
.lg-wiz__done { display: grid; justify-items: center; text-align: center; padding: clamp(20px, 5vh, 60px) 0 10px }
.lg-wiz__done i { display: grid; place-items: center; width: 120px; height: 120px; margin-bottom: 20px; background: var(--dg-accent); animation: lgWizPop .6s var(--dg-ease) both }
.lg-wiz__done svg { width: 72px; height: 72px; fill: none; stroke: #fff; stroke-width: 5; stroke-dasharray: 40; stroke-dashoffset: 40; animation: lgWizCheck .5s .3s var(--dg-ease) forwards }
@keyframes lgWizCheck { to { stroke-dashoffset: 0 } }
.lg-wiz__next { display: grid; grid-template-columns: 2fr 1fr 1fr; gap: 10px; margin-top: 20px }
.lg-wiz__next .dg-btn { height: 84px; justify-content: space-between; font-size: 14px }
.lg-wiz__next .dg-btn--accent { font-size: 18px; font-weight: 700; animation: lgPulse 2.2s infinite }
.lg-burst { position: fixed; left: 50%; top: 34%; z-index: 5; pointer-events: none }
.lg-burst i { position: absolute; width: 12px; height: 18px; background: var(--c); animation: lgBurst 1.2s cubic-bezier(.2,.7,.3,1) both }
@keyframes lgBurst { 0% { transform: translate(0, 0) rotate(0); opacity: 1 } 100% { transform: translate(var(--x), calc(var(--y) + 260px)) rotate(var(--r)); opacity: 0 } }
.lg-wiz__win { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px }
.lg-wiz__win button { height: 84px; border: 2px solid var(--dg-line-2); background: #1a1a1a; color: #fff; font: 700 20px var(--dg-sans); cursor: pointer; transition: transform .2s var(--dg-ease), box-shadow .2s }
.lg-wiz__win button.civ { background: #8f1418; border-color: #8f1418 } .lg-wiz__win button.maf { background: #000; border-color: #555 }
.lg-wiz__win button.on { box-shadow: 0 0 0 4px #fff; transform: scale(1.03) }
.lg-live__fin { border-color: rgba(229,35,42,.6) !important; color: #ff8a8a !important; height: 54px !important }
.lg-live .lg-sheet__box { animation: lgWizUp .35s var(--dg-ease) both }
@keyframes lgWizUp { from { transform: translateY(40px); opacity: 0 } to { transform: none; opacity: 1 } }

/* планшет: iPad Pro 13 портрет 1032, ландшафт 1376 */
@media (max-width: 1100px) { .lg-wiz__play { grid-template-columns: 1fr } .lg-wiz__card { min-height: 220px } .lg-wiz__roles button { min-height: 150px } .lg-wiz__dots button { height: 64px } }
@media (min-width: 1101px) and (min-height: 900px) { .lg-wiz__card, .lg-wiz__roles button { min-height: 170px } .lg-wiz__card { min-height: 100% } }
@media (min-width: 1101px) { .lg-wiz__roles button { min-height: 128px } }
@media (min-width: 1101px) and (min-height: 900px) { .lg-wiz__roles button { min-height: 190px } .lg-wiz__dots button { height: 70px } }
@media (max-width: 760px) {
  .lg-wiz__steps span { display: none } .lg-wiz__steps li { justify-content: center }
  .lg-seatlist--big, .lg-wiz__sum { grid-template-columns: repeat(2, 1fr) }
  .lg-wiz__dots { grid-template-columns: repeat(5, 1fr) }
  .lg-wiz__next { grid-template-columns: 1fr } .lg-wiz__nav .dg-btn { height: 62px }
  .lg-att--big { grid-template-columns: 1fr 1fr } .lg-att--big .lg-attb b { font-size: 16px }
  .lg-wiz__card { min-height: 160px; padding: 20px } .lg-wiz__roles button { min-height: 92px }
}
@media (prefers-reduced-motion: reduce) { .lg-wiz *, .lg-wiz, .lg-bigstart, .lg-bigstart::after { animation: none !important; transition: none !important } }

/* «за столом» на планшете: крупнее под палец */
@media (min-width: 900px) and (min-height: 800px) {
  .lg-live__top { padding: 12px 20px } .lg-live__top b { font-size: 20px } .lg-live__b { height: 50px; padding: 0 18px; font-size: 15px }
  .lg-live__timer, .lg-live__acts, .lg-live__grid, .lg-live__hints { padding-left: 20px; padding-right: 20px }
  .lg-tm__face { min-height: 150px } .lg-tm__face b { font-size: 92px } .lg-tm__btns button { height: 70px; font-size: 17px } .lg-tm__pre button { height: 64px; font-size: 16px }
  .lg-live__acts { gap: 8px } .lg-live__acts button { height: 60px; padding: 0 20px; font-size: 16px }
  .lg-live__grid { gap: 10px } .lg-tile { min-height: 150px; padding: 14px 14px 14px 70px; gap: 6px } .lg-tile i { width: 58px; font-size: 30px }
  .lg-tile b { font-size: 20px } .lg-tile__role { font-size: 13px; padding: 4px 10px } .lg-tile .f u { width: 20px; height: 7px } .lg-tile em { font-size: 12px }
  .dg .lg-live__line { padding: 16px 20px 0; font-size: 16px }
  .lg-live__bot { padding: 14px 20px } .lg-live__bot .dg-btn { height: 66px; font-size: 15px } .lg-live__fin { height: 66px !important; font-size: 15px !important }
  .lg-live .lg-sheet { align-items: center } .lg-live .lg-sheet__box { width: min(680px, 92%); padding: 26px; gap: 16px } .lg-live .lg-sheet__btns .dg-btn { height: 66px }
  .lg-wiz__win button { height: 110px; font-size: 24px }
}
@media (min-width: 900px) and (min-height: 1200px) { .lg-tile { min-height: 190px } }

/* причина допа во время игры */
.lg-why .lg-sheet__box { animation: lgWizUp .3s var(--dg-ease) both }
.lg-why__h { display: flex; align-items: baseline; gap: 12px } .lg-why__h b { font: 700 22px var(--dg-sans) } .lg-why__h small { margin-left: auto; font: 500 12px var(--dg-mono); color: var(--dg-ink-3); text-transform: uppercase }
.lg-why__h em { padding: 4px 10px; font: 700 18px var(--dg-mono); font-style: normal } .lg-why__h em.up { background: #3DD68C; color: #111 } .lg-why__h em.dn { background: #ff8a8a; color: #111 }
.lg-why__tags { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px }
.lg-why__tags button { min-height: 60px; padding: 8px 14px; border: 1px solid var(--dg-line-2); background: #1c1c1c; color: #fff; font: 600 16px var(--dg-sans); text-align: left; cursor: pointer; transition: background .15s, transform .15s var(--dg-ease) }
.lg-why__tags button:active, .lg-why__tags button.on { background: #fff; color: #111; transform: scale(.97) }
.lg-why__own { display: grid; grid-template-columns: 1fr auto; gap: 8px } .lg-why__own input { height: 56px; padding: 0 14px; border: 1px solid var(--dg-line-2); background: #0f0f0f; color: #fff; font: 400 17px var(--dg-sans) } .lg-why__own .dg-btn { height: 56px; padding: 0 22px }
.lg-why__skip { height: 52px; border: 0; background: none; color: var(--dg-ink-3); font: 600 15px var(--dg-sans); text-decoration: underline; cursor: pointer }
@media (min-width: 900px) { .lg-why__tags { grid-template-columns: repeat(3, minmax(0, 1fr)) } .lg-why__tags button { min-height: 72px; font-size: 17px } }

/* отчёт после игры */
.lg-wiz__done--row { grid-template-columns: auto minmax(0, 1fr) auto; justify-items: start; align-items: center; gap: 22px; text-align: left; padding: 0 0 6px }
.lg-wiz__done--row i { width: 84px; height: 84px; margin: 0 } .lg-wiz__done--row svg { width: 52px; height: 52px } .dg .lg-wiz__done--row .lg-wiz__lead { margin: 0 }
.lg-pause { position: relative; display: grid; justify-items: end; gap: 2px; min-width: 190px; padding: 12px 18px 16px; border: 1px solid var(--dg-line-2); background: #151515; overflow: hidden }
.lg-pause small { font: 600 12px var(--dg-mono); text-transform: uppercase; letter-spacing: .06em; color: var(--dg-ink-3) }
.lg-pause b { font: 700 54px/1 var(--dg-mono); letter-spacing: -.03em } .lg-pause b.hot { color: #F2B544 } .lg-pause b.end { color: var(--dg-accent); animation: lgBlink .6s steps(2) 6 }
.lg-pause i { position: absolute; left: 0; bottom: 0; height: 5px; background: #3DD68C; transition: width 1s linear }
.lg-rep { margin-top: 22px; border: 1px solid var(--dg-line-2); background: #131212; animation: lgWizFw .5s .15s var(--dg-ease) both; transition: border-color .4s }
.lg-rep.ok { border-color: #3DD68C }
.lg-rep__h { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 8px; padding: 16px 18px; border-bottom: 1px solid var(--dg-line-2) }
.lg-rep__h b { font: 700 22px var(--dg-sans) } .lg-rep__h span { font: 600 12px var(--dg-mono); text-transform: uppercase; letter-spacing: .05em; color: #F2B544 } .lg-rep.ok .lg-rep__h span { color: #3DD68C }
.lg-rep__row { display: grid; grid-template-columns: 52px minmax(120px, 1.2fr) auto auto minmax(140px, 2fr) 70px; align-items: center; gap: 12px; min-height: 76px; padding: 8px 18px 8px 0; border-bottom: 1px solid #222; transition: background .3s }
.lg-rep__row.has { background: rgba(61,214,140,.06) }
.lg-rep__row > i { align-self: stretch; display: grid; place-items: center; font: 700 22px var(--dg-mono); font-style: normal; color: #fff } .lg-rep__row.civ > i { background: #8f1418 } .lg-rep__row.maf > i { background: #000 }
.lg-rep__who b { display: block; font: 700 18px var(--dg-sans); overflow: hidden; text-overflow: ellipsis; white-space: nowrap } .lg-rep__who small { font: 500 11px var(--dg-mono); text-transform: uppercase; color: var(--dg-ink-3) }
.lg-rep__st { display: grid; grid-template-columns: 52px 62px 52px; align-items: center; height: 52px; border: 1px solid var(--dg-line-2) }
.lg-rep__st button { height: 100%; border: 0; background: #1c1c1c; color: #fff; font: 700 22px var(--dg-sans); cursor: pointer } .lg-rep__st button:active { background: #fff; color: #111 }
.lg-rep__st span { text-align: center; font: 700 17px var(--dg-mono) } .lg-rep__st.up span { color: #3DD68C } .lg-rep__st.dn span { color: #ff8a8a }
.lg-rep__why { height: 52px; min-width: 0; padding: 0 12px; border: 1px solid var(--dg-line-2); background: #0f0f0f; color: #fff; font: 400 15px var(--dg-sans) }
.lg-rep__tot { text-align: right; font: 700 20px var(--dg-mono) }
.lg-rep__btns { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; padding: 16px 18px }
.lg-rep__btns .dg-btn { height: 72px; justify-content: space-between; font-size: 15px } .lg-rep__btns .dg-btn[disabled] { opacity: .45; cursor: default }
.lg-rep.ok .lg-rep__btns [data-rep-ok] { background: rgba(61,214,140,.12); border-color: #3DD68C; color: #3DD68C; opacity: 1 }
.lg-rep__tg:not([disabled]) { background: #229ED9; border-color: #229ED9; color: #fff; animation: lgWizPop .5s var(--dg-ease) }
.lg-rep__msg { margin: 0 18px 16px; padding: 16px; background: #0b0b0b; border-left: 3px solid #229ED9; color: var(--dg-ink-2); font: 400 15px/1.5 var(--dg-sans); white-space: pre-wrap; animation: lgWizUp .4s var(--dg-ease) both }
.lg-rep .lg-note { margin: -6px 18px 16px }
@media (max-width: 1100px) { .lg-rep__row { grid-template-columns: 52px minmax(0, 1fr) auto auto 64px; row-gap: 8px; padding-top: 10px; padding-bottom: 10px } .lg-rep__row > i { grid-row: 1 / 3 } .lg-rep__tot { grid-row: 1; grid-column: 5 } .lg-rep__why { grid-row: 2; grid-column: 2 / -1 } }
@media (max-width: 760px) {
  .lg-wiz__done--row { grid-template-columns: auto 1fr } .lg-pause { grid-column: 1 / -1; justify-items: start }
  .lg-rep__row { grid-template-columns: 44px minmax(0, 1fr) 60px } .lg-rep__row > i { grid-row: 1 / 5 } .lg-rep__who { grid-row: 1; grid-column: 2 } .lg-rep__tot { grid-row: 1; grid-column: 3 } .lg-rep__st.up { grid-row: 2; grid-column: 2 / -1; grid-template-columns: 52px 1fr 52px } .lg-rep__st.dn { grid-row: 3; grid-column: 2 / -1; grid-template-columns: 52px 1fr 52px } .lg-rep__why { grid-row: 4; grid-column: 2 / -1 }
  .lg-rep__btns { grid-template-columns: 1fr }
}

/* ближайший вечер в списке: крупно и заметно */
.dg .lg-evlist > a.lg-next { grid-template-columns: minmax(170px, 230px) minmax(0, 1.5fr) minmax(240px, 1fr) minmax(240px, 320px); gap: 32px; padding: clamp(40px, 4.5vw, 72px) var(--dg-pad); border: 2px solid var(--dg-accent); background: radial-gradient(900px 300px at 0% 0%, rgba(229,35,42,.28), transparent 70%), #171313; opacity: 1 }
.dg .lg-evlist > a.lg-next:hover { background: radial-gradient(900px 300px at 0% 0%, rgba(229,35,42,.38), transparent 70%), #1b1515 }
.lg-next .lg-evlist__date b { font-size: clamp(64px, 7vw, 120px); line-height: .85; color: #fff }
.lg-next .lg-evlist__date span { display: block; margin-top: 12px; font-size: 14px; color: var(--dg-ink-2) }
.lg-next .lg-evlist__t b { font-size: clamp(30px, 3vw, 46px); line-height: 1.05; letter-spacing: -.03em }
.lg-next .lg-evlist__t p { margin-top: 12px; font-size: clamp(16px, 1.25vw, 19px); line-height: 1.5 }
.lg-next .lg-evlist__t .lg-tagm { margin-top: 14px }
.lg-next__tag { display: inline-flex; align-items: center; gap: 10px; margin-bottom: 16px; padding: 8px 14px; background: var(--dg-accent); color: #fff; font: 700 13px var(--dg-mono); text-transform: uppercase; letter-spacing: .06em }
.lg-next__tag i { width: 9px; height: 9px; border-radius: 50%; background: #fff; animation: lgBlink 1.2s steps(2) infinite }
.lg-next .lg-evlist__seats > span { font-size: 13px !important }
.lg-next .lg-q { transform: scale(1.25); transform-origin: left center; margin-bottom: 10px }
.dg .lg-next .lg-evlist__go { height: 84px; font-size: 18px; font-weight: 700 }
.dg .lg-next .lg-evlist__go > span:first-child { padding: 0 28px }
.dg .lg-next .lg-evlist__go > span + span { width: 84px; font-size: 22px }
@media (min-width: 641px) and (max-width: 1280px) {
  .dg .lg-evlist > a.lg-next { grid-template-columns: minmax(200px, 280px) minmax(0, 1fr); gap: 28px 40px; align-items: center }
  .lg-next .lg-evlist__seats { grid-column: 1 } .lg-next .lg-evlist__go { grid-column: 2 }
}
@media (max-width: 900px) {
  .dg .lg-evlist > a.lg-next { grid-template-columns: 1fr; gap: 18px; padding: 32px 20px }
  .lg-next .lg-evlist__seats, .lg-next .lg-evlist__go { grid-column: 1 }
  .lg-next .lg-evlist__date b { font-size: 76px } .lg-next .lg-q { transform: none }
  .dg .lg-next .lg-evlist__go { height: 72px }
}

/* кнопка первого экрана */
.dg .dg-hero--glow .lg-herobtn { height: 84px !important; padding: 0 !important; gap: 0 !important; max-width: 100%; box-sizing: border-box; box-shadow: 0 18px 50px -12px rgba(0,0,0,.55); animation: lgHeroGlow 2.4s infinite }
.dg .lg-herobtn > span:first-child { flex-direction: column; align-items: flex-start; justify-content: center; gap: 4px }
.dg .lg-herobtn b { font: 700 19px var(--dg-sans); letter-spacing: -.01em; text-transform: none }
.dg .lg-herobtn small { font: 600 11px var(--dg-mono); letter-spacing: .05em; color: var(--dg-accent) } .dg .lg-herobtn small:empty { display: none }
@keyframes lgHeroGlow { 0% { box-shadow: 0 0 0 0 rgba(255,255,255,.55), 0 18px 50px -12px rgba(0,0,0,.55) } 70%, 100% { box-shadow: 0 0 0 14px rgba(255,255,255,0), 0 18px 50px -12px rgba(0,0,0,.55) } }
.dg .dg-hero--glow .lg-herobtn + .dg-btn { height: 84px !important }
.dg .lg-herobtn > span:first-child { padding: 0 26px 0 28px; white-space: nowrap }
.dg .lg-herobtn > span + span { width: 72px; font-size: 24px }
@media (max-width: 640px) { .dg .dg-hero--glow .lg-herobtn { height: 78px !important; width: 100% } .dg .lg-herobtn > span:first-child { flex: 1 } .dg .lg-herobtn small { font-size: 10px; letter-spacing: 0 } .dg .dg-hero--glow .lg-herobtn + .dg-btn { height: 60px !important } .dg .lg-herobtn > span + span { width: 70px } .dg .lg-herobtn > span:first-child { padding: 0 22px } }

.lg-demo--reset { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap }
.lg-demo--reset button { height: 36px; padding: 0 14px; border: 1px solid currentColor; background: none; color: inherit; font: 600 12px var(--dg-mono); text-transform: uppercase; letter-spacing: .04em; cursor: pointer }
.lg-demo--reset button:hover { background: #F2B544; color: #111; border-color: #F2B544 }

/* шериф: золотой */
.lg-tile.sher i { background: linear-gradient(160deg, #F6CF6A, #B8862B); color: #1a1205 }
.lg-tile.sher { border-color: rgba(242,181,68,.55) }
.lg-tile__role.sher { background: linear-gradient(160deg, #F6CF6A, #C99634); color: #1a1205; box-shadow: none }
.lg-wiz__roles button.sher { background: linear-gradient(150deg, #F6CF6A, #B8862B); color: #1a1205; border-color: #F6CF6A }
.lg-wiz__dots button.sher { background: #C99634; border-color: #C99634; color: #1a1205 }
.lg-wiz__sum div.sher { background: linear-gradient(160deg, rgba(242,181,68,.5), #1a1610 80%); border-color: #C99634 }
.lg-rep__row.sher > i { background: linear-gradient(160deg, #F6CF6A, #B8862B); color: #1a1205 }

/* попил */
.lg-popil { margin: 10px 12px 0; padding: 14px; border: 1px solid #F2B544; background: #17140d; display: grid; gap: 12px; animation: lgWizUp .3s var(--dg-ease) both }
.lg-popil--bar { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; padding: 0; border: 0; background: none; animation: none }
.lg-popil--bar button { height: 46px; padding: 0 16px; border: 1px solid #F2B544; background: none; color: #F2B544; font: 700 15px var(--dg-sans); cursor: pointer } .lg-popil--bar button:active { background: #F2B544; color: #111 }
.lg-popil--bar span, .lg-ppnote { color: #F2B544 !important; font-size: 14px }
.lg-popil__h { display: flex; align-items: center; gap: 14px; flex-wrap: wrap } .lg-popil__h b { font: 700 20px var(--dg-sans); color: #F2B544 } .lg-popil__h .lg-live__b { margin-left: auto }
.lg-popil__h ol { display: flex; gap: 6px; margin: 0; padding: 0; list-style: none; flex-wrap: wrap } .lg-popil__h li { padding: 4px 10px; border: 1px solid #3a3322; font: 600 11px var(--dg-mono); text-transform: uppercase; color: var(--dg-ink-3) } .lg-popil__h li.done { color: #F2B544; border-color: #6b5626 } .lg-popil__h li.on { background: #F2B544; border-color: #F2B544; color: #111 }
.dg .lg-popil p { margin: 0; color: var(--dg-ink-2); font-size: 16px; line-height: 1.45 } .lg-popil p b { color: #fff }
.lg-popil__chips { display: flex; flex-wrap: wrap; gap: 8px }
.lg-popil__chips button { display: inline-flex; align-items: center; gap: 10px; height: 58px; padding: 0 16px 0 0; border: 1px solid var(--dg-line-2); background: #1c1c1c; color: #fff; font: 600 16px var(--dg-sans); cursor: pointer; transition: transform .15s var(--dg-ease) }
.lg-popil__chips button i { display: grid; place-items: center; width: 50px; height: 100%; background: #2a2a2a; font: 700 18px var(--dg-mono); font-style: normal }
.lg-popil__chips button.on { border-color: #F2B544; background: #2b2412 } .lg-popil__chips button.on i { background: #F2B544; color: #111 } .lg-popil__chips button:active { transform: scale(.96) }
.lg-popil__vote { display: flex; flex-wrap: wrap; align-items: center; gap: 10px } .lg-popil__vote span { font: 600 15px var(--dg-sans) }
.lg-popil__vote button { width: 64px; height: 64px; border: 1px solid var(--dg-line-2); background: #1c1c1c; color: #fff; font: 700 28px var(--dg-sans); cursor: pointer } .lg-popil__vote button:active { background: #fff; color: #111 }
.lg-popil__vote b { min-width: 64px; text-align: center; font: 700 44px var(--dg-mono) } .lg-popil__vote small { flex-basis: 100%; font: 500 12px var(--dg-mono); text-transform: uppercase; color: var(--dg-ink-3) }
.lg-popil__btns { display: flex; flex-wrap: wrap; gap: 8px }
.lg-popil__btns button { flex: 1 1 240px; height: 62px; padding: 0 18px; border: 1px solid var(--dg-line-2); background: #1c1c1c; color: #fff; font: 700 16px var(--dg-sans); cursor: pointer }
.lg-popil__btns button.go { background: #F2B544; border-color: #F2B544; color: #111 } .lg-popil__btns button[disabled] { opacity: .35; cursor: default }
@media (min-width: 900px) and (min-height: 800px) { .lg-popil { margin: 12px 20px 0; padding: 18px } .lg-popil__chips button { height: 66px; font-size: 18px } }

.lg-rep__void { display: block; margin: 0 18px 16px; height: 52px; padding: 0 16px; border: 1px dashed rgba(229,35,42,.6); background: none; color: #ff8a8a; font: 600 15px var(--dg-sans); cursor: pointer; width: calc(100% - 36px) } .lg-rep__void:active { background: rgba(229,35,42,.15) }
.lg-rep--void { border-color: var(--dg-accent); background: repeating-linear-gradient(135deg, #1a1111 0 14px, #161010 14px 28px) } .lg-rep--void .lg-rep__h span { color: #ff8a8a }
.dg .lg-rep__vtxt { margin: 0; padding: 16px 18px 0; color: var(--dg-ink-2); font-size: 16px }
/* настоящие фото на месте заглушек */
.ph.ph-img{background:#1b1919}
.ph.ph-img img{width:100%;height:100%;object-fit:cover;display:block;animation:lgImgIn .6s ease both}
@keyframes lgImgIn{from{opacity:0;transform:scale(1.03)}to{opacity:1;transform:none}}
/* главный экран темнее (просьба Тома) */
.dg .dg-hero--glow { background: #131313 }
.dg .dg-hero--glow .lg-bg__img { mix-blend-mode: normal !important; opacity: 1 !important }
.dg .dg-hero--glow .dg-hero__flow .sc-flow { background: rgba(19,19,19,.55); border-color: rgba(255,255,255,.14) }
.dg .dg-hero--glow .dg-hero__flow .sc-step { animation-name: lgStepRed }
@keyframes lgStepRed { 0%, 25% { background: #E5232A; border-color: #E5232A; box-shadow: 0 14px 40px -12px rgba(229,35,42,.7) } 30%, 100% { background: #222120; border-color: rgba(255,255,255,.12); box-shadow: none } }
.dg .dg-hero--glow::after { content: ""; position: absolute; inset: 0; z-index: 0; pointer-events: none; background: linear-gradient(90deg, rgba(19,19,19,.92), rgba(19,19,19,.55)) }
/* лёгкая плёночная зернистость поверх фото и фона, на всех страницах */
html::after { content: ""; position: fixed; inset: -50%; z-index: 2147483000; pointer-events: none; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .5 0 0 0 0 .5 0 0 0 0 .5 0 0 0 1.6 -.3'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E"); background-size: 220px 220px; opacity: .12; mix-blend-mode: overlay; animation: lgGrain 1s steps(6) infinite }
.lg-bg__img::after, .ph.ph-img::after { content: ""; position: absolute; inset: 0; pointer-events: none; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .5 0 0 0 0 .5 0 0 0 0 .5 0 0 0 1.6 -.3'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E"); background-size: 180px 180px; opacity: .2; mix-blend-mode: overlay }
.ph.ph-img { position: relative }
@keyframes lgGrain { 0% { transform: translate(0,0) } 17% { transform: translate(-3%,2%) } 33% { transform: translate(2%,-4%) } 50% { transform: translate(-4%,-1%) } 67% { transform: translate(3%,3%) } 83% { transform: translate(-1%,4%) } 100% { transform: translate(0,0) } }
@media (prefers-reduced-motion: reduce) { html::after { animation: none } }
@media print { html::after { display: none } }
/* подписи под полосой мест: не наезжают друг на друга */
.lg-qlab { flex-wrap: wrap; gap: 6px 14px; align-items: center }
.lg-qlab > span:last-child { margin-left: auto; white-space: nowrap }
/* «Игры бесплатные» на главном экране */
.lg-free { display: inline-flex; flex-wrap: wrap; align-items: center; gap: 8px 12px; margin: 0; padding: 10px 16px; border: 1px dashed rgba(229,35,42,.7); background: rgba(229,35,42,.1); font-size: 15px; color: rgba(255,255,255,.85) }
.lg-free b { color: #fff; font-weight: 700; text-transform: uppercase; letter-spacing: .02em }
.lg-free b::before { content: ""; display: inline-block; width: 8px; height: 8px; margin-right: 10px; background: var(--dg-accent); vertical-align: middle }
/* галерея: старт сезона */
.lg-gal--start { grid-template-columns: minmax(0, 1fr) minmax(0, 2fr) }
.lg-gal--start > a { border-right: 1px solid var(--dg-line) !important }
.lg-season { display: flex; flex-direction: column; align-items: flex-start; justify-content: center; gap: 18px; padding: clamp(28px, 4vw, 64px); border-bottom: 1px solid var(--dg-line); background: radial-gradient(600px 260px at 0% 0%, rgba(229,35,42,.14), transparent 70%) }
.lg-season .dg-h2 { margin: 0 }
.lg-season p { margin: 0; max-width: 52ch }
@media (max-width: 760px) { .lg-gal--start { grid-template-columns: 1fr } .lg-gal--start > a { border-right: 0 !important } }
.lg-photos--album > figure .ph { aspect-ratio: 2 / 3 }
.lg-photos--album > figure.w2 .ph { aspect-ratio: 4 / 3 }
@media (max-width: 900px) { .lg-photos--album > figure.w2 { grid-column: 1 / -1 } }
/* мобильная: полосы-кадры не ставим вплотную к фото блоков */
@media (max-width: 760px) { .lg-band { display: none !important } }
/* телефоны и планшеты: кровь на карточках появляется при прокрутке, а не по нажатию */
@media (hover: none) and (prefers-reduced-motion: no-preference) {
  .lg-ev:hover::after, .lg-role:hover::after, .lg-evlist > a:hover::after { transform: scaleY(0) }
  .lg-ev:nth-child(2n):hover::after, .lg-role:nth-child(2n):hover::after, .lg-evlist > a:nth-child(2n):hover::after { transform: scaleY(0) scaleX(-1) }
  .lg-ev.lg-hov::after, .lg-role.lg-hov::after, .lg-evlist > a.lg-hov::after { transform: scaleY(1); transition-duration: 2.6s; transition-timing-function: cubic-bezier(.3,0,.2,1) }
  .lg-ev.lg-hov:nth-child(2n)::after, .lg-role.lg-hov:nth-child(2n)::after, .lg-evlist > a.lg-hov:nth-child(2n)::after { transform: scaleY(1) scaleX(-1) }
  .lg-ev:hover .lg-evd b, .lg-evlist > a:hover .lg-evlist__date b { color: inherit }
  .lg-ev.lg-hov .lg-evd b, .lg-evlist > a.lg-hov .lg-evlist__date b { color: var(--dg-accent) }
  .lg-ev .lg-evd b, .lg-evlist__date b { transition: color .6s }
}
/* мобильная шапка и меню */
@media (max-width: 1180px) {
  .dg .dg-header .lg-acc-link { display: grid; margin-left: auto; margin-right: 8px; width: 40px; height: 40px }
  .dg .dg-header .dg-header__burger { margin-left: 4px }
}
@media (max-width: 760px) {
  .dg .dg-header__cta::before { display: none }
  .dg .dg-header .lg-acc-link { width: 38px; height: 38px; margin-right: 6px }
  .dg .dg-macc__link { padding: 13px 16px; font-size: 18px }
}
.dg-menu-open .lg-mbar { display: none !important }
.dg-drawer__cta { padding-bottom: max(20px, env(safe-area-inset-bottom)) }
.lg-dsoc { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; margin-top: 12px }
.lg-dsoc__a { display: flex; align-items: center; justify-content: center; gap: 8px; height: 46px; padding: 0 8px; border: 1px solid var(--dg-line-2); color: var(--dg-ink); font-size: 14px; font-weight: 500; transition: border-color .2s, color .2s }
.lg-dsoc__a:hover, .lg-dsoc__a:active { border-color: var(--dg-accent); color: var(--dg-accent) }
.lg-dsoc__a svg { flex: none; width: 18px; height: 18px; opacity: 1 }
/* главный экран на телефоне: показываем все 4 шага */
.dg .dg-hero__flow .sc-step:nth-child(n+3) { display: flex !important }
/* главный экран на телефоне: фото во всю ширину, заголовок крупнее */
@media (max-width: 640px) {
  .dg .dg-hero--glow { margin: 0 !important; border-radius: 0 !important }
  .dg .dg-hero--glow .dg-h1 { font-size: clamp(42px, 12.3vw, 56px) !important; line-height: .95 }
}

/* hero: иконки вместо галочек */
.dg .dg-hero__flow .sc-ico { width: 38px; height: 38px; flex: none; border-radius: 3px; border: 1px solid rgba(255,255,255,.22); background: rgba(255,255,255,.04); color: rgba(255,255,255,.85); animation-name: lgIco }
.dg .dg-hero__flow .sc-ico svg { width: 20px; height: 20px }
@keyframes lgIco { 0%, 25% { background: #fff; border-color: #fff; color: #E5232A; transform: scale(1.06) } 30%, 100% { background: rgba(255,255,255,.04); border-color: rgba(255,255,255,.22); color: rgba(255,255,255,.85); transform: none } }
@media (max-width: 640px) { .dg .dg-hero__flow .sc-ico { width: 32px; height: 32px } .dg .dg-hero__flow .sc-ico svg { width: 17px; height: 17px } }

/* городская мафия: доктор зелёный, любовница розовая */
.lg-tile.doc i, .lg-rep__row.doc > i { background: linear-gradient(160deg, #5FD3A5, #23855F); color: #04140d }
.lg-tile.doc { border-color: rgba(63,182,139,.55) }
.lg-tile.lov i, .lg-rep__row.lov > i { background: linear-gradient(160deg, #F07AB7, #A8326F); color: #fff }
.lg-tile.lov { border-color: rgba(217,70,143,.55) }
.lg-tile__role.doc { background: linear-gradient(160deg, #5FD3A5, #2E9C70); color: #04140d; box-shadow: none }
.lg-tile__role.lov { background: linear-gradient(160deg, #F07AB7, #B83A7C); color: #fff; box-shadow: none }
.lg-wiz__roles button.doc { background: linear-gradient(150deg, #5FD3A5, #23855F); color: #04140d; border-color: #5FD3A5 }
.lg-wiz__roles button.lov { background: linear-gradient(150deg, #F07AB7, #A8326F); color: #fff; border-color: #F07AB7 }
.lg-wiz__dots button.doc { background: #2E9C70; border-color: #2E9C70; color: #04140d }
.lg-wiz__dots button.lov { background: #B83A7C; border-color: #B83A7C; color: #fff }
.lg-wiz__sum div.doc { background: linear-gradient(160deg, rgba(63,182,139,.45), #0f1714 80%); border-color: #2E9C70 }
.lg-wiz__sum div.lov { background: linear-gradient(160deg, rgba(217,70,143,.45), #1a0f15 80%); border-color: #B83A7C }
.lg-rolek.doc { background: #2E9C70; color: #04140d } .lg-rolek.lov { background: #B83A7C } .lg-rolek.sher { background: #C99634; color: #1a1205 }
.lg-tile em.doc { background: #2E9C70; color: #04140d } .lg-tile em.lov { background: #B83A7C; color: #fff }
.lg-nres { margin: 10px 0 0; padding: 10px 12px; background: #1d1d1d; border-left: 3px solid var(--dg-accent); font-size: 14px; color: var(--dg-ink-1, #fff) }
.lg-nres:empty { display: none }

/* выбор формата: в мастере и в рейтинге */
.lg-wiz__h3 { margin: 26px 0 10px; font: 600 12px var(--dg-mono); text-transform: uppercase; letter-spacing: .06em; color: var(--dg-ink-3) }
.lg-wiz__mode, .lg-rmode { display: grid; grid-template-columns: 1fr 1fr; gap: 10px }
.lg-wiz__mode button, .lg-rmode button { display: flex; flex-direction: column; align-items: flex-start; gap: 4px; padding: 16px 18px; background: #1a1a1a; border: 1px solid var(--dg-line-2); color: var(--dg-ink-2); text-align: left; cursor: pointer; transition: border-color .2s, background .2s }
.lg-wiz__mode b, .lg-rmode b { font: 700 18px var(--dg-sans); color: #fff }
.lg-wiz__mode small, .lg-rmode small { font: 500 12px var(--dg-mono); color: var(--dg-ink-3) }
.lg-wiz__mode button.on, .lg-rmode button[aria-selected="true"] { border-color: var(--dg-accent); background: linear-gradient(160deg, rgba(229,35,42,.28), #1a1a1a 75%) }
.lg-wiz__mode button.on small, .lg-rmode button[aria-selected="true"] small { color: #f3c2c4 }
.dg .lg-rmode { padding-top: 26px; padding-bottom: 6px }
@media (max-width: 640px) { .lg-wiz__mode, .lg-rmode { grid-template-columns: 1fr } .lg-wiz__mode b, .lg-rmode b { font-size: 16px } }

/* вкладка «Городская мафия» */
.lg-ct { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.2fr); gap: 28px; align-items: start }
.lg-ct h3 { margin: 4px 0 10px; font: 700 18px var(--dg-sans) } .lg-ct h3:not(:first-child) { margin-top: 26px }
.lg-ct .lg-toggle { padding: 14px 0 }
.lg-ct .lg-toggle span { display: flex; flex-direction: column; gap: 3px; color: #fff }
.lg-ct .lg-toggle small { color: var(--dg-ink-3); font-size: 13px; line-height: 1.35 }
.lg-ct__from { padding: 12px 0 0; border-top: 1px solid var(--dg-line) }
.lg-ct__st { display: inline-flex; align-items: center; gap: 8px } .lg-ct__st b { min-width: 18px; text-align: center; font-size: 16px }
.lg-ct__st .lg-btn-s { width: 32px; height: 32px; padding: 0; font-size: 16px }
.lg-ct__tbl td { padding-top: 8px; padding-bottom: 8px; font-size: 14px }
.lg-ct__order { margin-top: 24px }
@media (max-width: 1240px) { .lg-ct { grid-template-columns: 1fr } }

/* мобильная: фото херо плавно уходит в цвет фона */
@media (max-width: 760px) {
  .dg .dg-hero--glow .lg-bg__img { -webkit-mask-image: linear-gradient(180deg, #000 0%, #000 55%, transparent 100%); mask-image: linear-gradient(180deg, #000 0%, #000 55%, transparent 100%) }
  .dg .dg-hero--glow::after { background: linear-gradient(180deg, rgba(19,19,19,.78) 0%, rgba(19,19,19,.5) 35%, rgba(19,19,19,.7) 75%, #131313 100%) }
  .dg .dg-hero--glow { border-bottom-color: transparent !important }
}

/* событие: крупный блок записи в шапке */
.lg-sign { border: 1px solid var(--dg-line, rgba(255,255,255,.14)); background: rgba(255,255,255,.03); padding: clamp(18px, 2.4vw, 28px); margin-bottom: 18px }
.lg-sign__when { display: grid; gap: 6px; margin: 12px 0 18px }
.lg-sign__when b { font: 600 clamp(40px, 4.6vw, 64px)/.95 var(--dg-sans); letter-spacing: -.02em }
.lg-sign__when span { font: 500 clamp(20px, 2vw, 26px)/1.2 var(--dg-sans); opacity: .85 }
.lg-sign .lg-tg { height: 72px; font-size: 18px; gap: 12px }
.lg-sign .lg-tg svg { width: 24px; height: 24px }
.lg-sign #ev-state > .dg-btn, .lg-sign #ev-state > a.dg-btn { height: 64px !important }

.lg-ph--ev { align-items: start }
.lg-ph--ev .lg-ph__main { padding-top: clamp(0px, 3vw, 48px) }
.lg-ph__main .lg-sign { max-width: 640px; margin: clamp(24px, 3vw, 40px) 0 0 }
.lg-bottxt { display: block; width: 100%; max-width: 560px; margin: 8px 0 0; padding: 8px 10px; background: #17212b; color: #e8eef5; border: 1px solid transparent; font: 13px/1.45 var(--dg-sans); resize: vertical } .lg-bottxt:focus { outline: none; border-color: #2AABEE }
.lg-botbtns { display: flex; gap: 8px; flex-wrap: wrap; margin-top: 8px }
.lg-evnames { display: flex; flex-wrap: wrap; gap: 6px; margin: 4px 0 2px } .lg-evnames span { font: 500 12px/1 var(--dg-sans); padding: 6px 8px; border: 1px solid var(--dg-line-2, rgba(255,255,255,.14)); background: rgba(255,255,255,.04); color: var(--dg-ink, #eee) } .lg-evnames span.me { border-color: #e5312f; color: #fff } .lg-evnames span.wait { opacity: .55; border-style: dashed }
.lg-evlist__t .lg-evnames { margin-top: 10px }
/* херо главной: фото от края до края, внизу плавно уходит в цвет фона (и на компьютере) */
.dg .dg-hero--glow.lg-bg { margin: 0 !important; border-radius: 0 }
.dg .dg-hero--glow .lg-bg__img { -webkit-mask-image: linear-gradient(180deg, #000 0%, #000 60%, transparent 100%); mask-image: linear-gradient(180deg, #000 0%, #000 60%, transparent 100%) }
@media (min-width: 761px) { .dg .dg-hero--glow::after { background: linear-gradient(180deg, transparent 55%, #131313 100%), linear-gradient(90deg, rgba(19,19,19,.92), rgba(19,19,19,.55)) } }
.dg .dg-hero--glow { border-bottom-color: transparent !important }
/* главная: меньше пустоты между первым экраном и блоком «Первый раз» */
@media (min-width: 761px) {
  .dg .dg-hero--glow .dg-hero__inner { padding-bottom: clamp(40px, 4.5vw, 72px) }
  .dg .dg-hero--glow + .dg-sec--pad { padding-top: clamp(40px, 4.5vw, 72px) }
}
