/* Source: legacy style2.css, games-item / games__tickets-ticket /
   game-component. Keep local dimensions: desktop density is 80%, mobile
   follows the source breakpoints, without zooming the page or its dialogs. */
.legacy-home-v1 {
  --legacy-component-scale: 1;
}


.legacy-home-v1 .legacy-ticket,
.legacy-home-v1 .legacy-type,
.legacy-home-v1 .legacy-game-detail {
  font-size: calc(16px * var(--legacy-component-scale));
  line-height: 1.15;
}

.legacy-home-v1 .legacy-tickets {
  gap: calc(16px * var(--legacy-component-scale));
  padding-bottom: calc(15px * var(--legacy-component-scale));
}

.legacy-home-v1 .legacy-ticket {
  /* Source ordinary/selected sizes are 144/164. Allow long content to grow
     while keeping the body and white aside stretched together. */
  height: auto;
  min-height: calc(144px * var(--legacy-component-scale));
  align-items: stretch;
  align-self: flex-start;
  opacity: .8;
  transform: scale(.95);
  transition: opacity .3s ease, transform .3s ease, min-height .3s ease;
  transition-delay: 0s;
}

.legacy-home-v1 .legacy-ticket:hover,
.legacy-home-v1 .legacy-ticket:focus-within,
.legacy-home-v1 .legacy-ticket.is-selected {
  opacity: 1;
  transform: scale(1);
}

.legacy-home-v1 .legacy-ticket.is-selected {
  min-height: calc(164px * var(--legacy-component-scale));
}

.legacy-home-v1 .legacy-ticket__content {
  padding: 0;
  background: linear-gradient(90deg, var(--legacy-ticket-color, #3b3953), var(--legacy-ticket-color-2, #2d2c40));
}

.legacy-home-v1 .legacy-ticket__content::after {
  right: calc(3px * var(--legacy-component-scale));
  width: calc(3px * var(--legacy-component-scale));
  background: linear-gradient(#fff 70%, transparent 0) 100% 0 /
    calc(3px * var(--legacy-component-scale)) calc(25px * var(--legacy-component-scale)) repeat-y;
}

.legacy-home-v1 .legacy-ticket header { gap: 0; }
.legacy-home-v1 .legacy-ticket__heading {
  padding: calc(15px * var(--legacy-component-scale)) calc(5px * var(--legacy-component-scale)) 0 calc(15px * var(--legacy-component-scale));
}
.legacy-home-v1 .legacy-ticket h3 {
  margin: 0 0 calc(3px * var(--legacy-component-scale));
  font-size: 1.35em;
  font-weight: 400;
  line-height: .9em;
  text-transform: none;
}
.legacy-home-v1 .legacy-ticket p {
  color: #fff;
  opacity: .8;
  font-size: 1.1em;
  font-weight: 200;
  line-height: 1.15;
}
.legacy-home-v1 .legacy-ticket--compact h3,
.legacy-home-v1 .legacy-ticket--compact p { font-size: 1em; }
.legacy-home-v1 .legacy-ticket__icon {
  width: auto;
  height: calc(35px * var(--legacy-component-scale));
  margin: calc(10px * var(--legacy-component-scale)) calc(15px * var(--legacy-component-scale)) 0 0;
}
/* Keep the footer in flow so current long titles can grow the selected
   ticket. Its spacing and 60/40 date/time split follow the source. */
.legacy-home-v1 .legacy-ticket footer {
  gap: 0;
  margin: auto calc(15px * var(--legacy-component-scale)) calc(15px * var(--legacy-component-scale));
  padding-top: calc(10px * var(--legacy-component-scale));
  border-top-width: calc(2px * var(--legacy-component-scale));
  font-size: 1em;
}
.legacy-home-v1 .legacy-ticket__date {
  flex: 0 0 60%;
  padding-right: 0;
  border-right-width: calc(2px * var(--legacy-component-scale));
  font-weight: 600;
}
.legacy-home-v1 .legacy-ticket__date > span {
  margin-bottom: calc(2px * var(--legacy-component-scale));
  font-weight: 200;
}
.legacy-home-v1 .legacy-ticket__time {
  flex: 0 0 40%;
  min-width: 0;
  font-size: 1.2em;
  font-weight: 100;
}
.legacy-home-v1 .legacy-ticket__aside,
.legacy-home-v1 .legacy-ticket.is-selected .legacy-ticket__aside {
  width: calc(40px * var(--legacy-component-scale));
  flex: 0 0 calc(40px * var(--legacy-component-scale));
  color: var(--legacy-ticket-color, #3b3953);
  background: transparent;
}
/* Use the aside's resolved edges for the wave; a percentage height inside
   the flex item can stretch its white strip independently in Safari. */
.legacy-home-v1 .legacy-ticket__aside::before {
  top: 0;
  right: 0;
  bottom: 0;
  left: auto;
  width: 100%;
  height: auto;
  aspect-ratio: auto;
  /* An auto-height title can exceed the source's fixed 164px. Keep the
     wider SVG inside the aside so it cannot cover the title or perforation. */
  clip-path: inset(0 0 0 max(0px, calc(100% - 40px * var(--legacy-component-scale))));
  background: url('/static/site-assets/legacy-ticket-aside-wave.svg') right / auto 100% no-repeat;
}

.legacy-home-v1 .legacy-ticket__aside span {
  position: absolute;
  inset: 0;
  max-height: none;
  color: var(--legacy-ticket-color, #3b3953);
  font-size: .8em;
  font-weight: 600;
  line-height: calc(33px * var(--legacy-component-scale));
  text-overflow: clip;
}
.legacy-home-v1 .legacy-ticket__aside span[data-reg_type='invite'] {
  line-height: calc(18px * var(--legacy-component-scale));
}
.legacy-home-v1 .legacy-ticket__aside:focus-visible {
  outline: 2px solid var(--legacy-yellow);
  outline-offset: 2px;
}
.legacy-home-v1 .legacy-ticket.is-selected .legacy-ticket__aside::after {
  bottom: calc(-15px * var(--legacy-component-scale));
  left: 45%;
  right: auto;
  width: 0;
  height: 0;
  margin-left: calc(-17px * var(--legacy-component-scale));
  border: 0;
  border-top: calc(15px * var(--legacy-component-scale)) solid #fff;
  border-right: calc(15px * var(--legacy-component-scale)) solid transparent;
  border-left: calc(15px * var(--legacy-component-scale)) solid transparent;
  transform: none;
}

.legacy-home-v1 .legacy-type {
  display: flex;
  flex-direction: column;
  min-height: 144px;
  padding: 0;
}
.legacy-home-v1 .legacy-type__filter {
  position: relative;
  inset: auto;
  min-height: 0;
  margin-bottom: 0;
  gap: calc(12px * var(--legacy-component-scale));
  padding: calc(20px * var(--legacy-component-scale)) calc(5px * var(--legacy-component-scale)) 0;
}
.legacy-home-v1 .legacy-type--all .legacy-type__filter { margin-bottom: 0; }
.legacy-home-v1 .legacy-type img {
  height: calc(60px * var(--legacy-component-scale));
  transition: transform .3s ease;
}
.legacy-home-v1 .legacy-type--all img { height: calc(100px * var(--legacy-component-scale)); }
.legacy-home-v1 .legacy-type:hover { background: #333248; }
.legacy-home-v1 .legacy-type:hover img { transform: scale(1.2); }
.legacy-home-v1 .legacy-type.is-active { background: #3a3851; }
.legacy-home-v1 .legacy-type strong { font-size: .9em; font-weight: 400; }
.legacy-home-v1 .legacy-type__more {
  position:relative;
  left:auto;
  transform:none;
  align-self:center;
  margin:8px auto 14px;
  z-index: 1;
  bottom: auto;
  min-width: calc(100px * var(--legacy-component-scale));
  padding: calc(7px * var(--legacy-component-scale)) calc(15px * var(--legacy-component-scale));
  border-radius: calc(15px * var(--legacy-component-scale));
  font-size: .6em;
  font-weight: 400;
  opacity: .8;
}
.legacy-home-v1 .legacy-type__more:hover,
.legacy-home-v1 .legacy-type__more:focus-visible {
  background: var(--legacy-type, var(--legacy-yellow));
  opacity: 1;
}
/* Preserve the source visual size with an independent 44px hit area.
   The filter above reserves its own, non-overlapping lower boundary. */
.legacy-home-v1 .legacy-type__more::before {
  position: absolute;
  top: 50%;
  left: 0;
  width: 100%;
  height: max(100%, 44px);
  content: '';
  transform: translateY(-50%);
}

.legacy-home-v1 .legacy-game-detail { font-family: 'Myriad Pro', Arial, sans-serif; }
.legacy-home-v1 .legacy-game-detail__main {
  padding: calc(40px * var(--legacy-component-scale)) calc(30px * var(--legacy-component-scale)) calc(35px * var(--legacy-component-scale));
}
.legacy-home-v1 .legacy-game-detail__icon {
  width: calc(200px * var(--legacy-component-scale));
  height: calc(200px * var(--legacy-component-scale));
  opacity: .05;
}
.legacy-home-v1 .legacy-game-detail__title { gap: calc(20px * var(--legacy-component-scale)); }
.legacy-home-v1 .legacy-game-detail__title > div { min-width: 0; }
.legacy-home-v1 .legacy-game-detail__title p { font-size: calc(12px * var(--legacy-component-scale)); }
.legacy-home-v1 .legacy-game-detail__title h3 { font-size: calc(26px * var(--legacy-component-scale)); }
.legacy-home-v1 .legacy-game-detail__status { font-size: calc(14px * var(--legacy-component-scale)); }
.legacy-home-v1 .legacy-game-detail__description {
  margin-bottom: calc(20px * var(--legacy-component-scale));
  color: #444360;
  font-size: calc(18px * var(--legacy-component-scale));
  line-height: 1.15;
  overflow-wrap: anywhere;
}
.legacy-home-v1 .legacy-game-detail__addons {
  min-height: calc(35px * var(--legacy-component-scale));
  margin-bottom: calc(20px * var(--legacy-component-scale));
}
.legacy-home-v1 .legacy-game-detail__facts strong {
  margin-bottom: calc(5px * var(--legacy-component-scale));
  font-size: calc(20px * var(--legacy-component-scale));
  font-weight: 700;
  line-height: 1.15;
}
.legacy-home-v1 .legacy-game-detail__place-info details > div strong {
  text-transform: none;
}
.legacy-home-v1 .legacy-game-detail__facts > div > span { font-size: calc(16px * var(--legacy-component-scale)); }
.legacy-home-v1 .legacy-game-detail__facts small { font-size: calc(12px * var(--legacy-component-scale)); }
.legacy-home-v1 .legacy-game-detail__footer { gap: 16px; }
.legacy-home-v1 .legacy-game-detail__actions { display: flex; flex-wrap: nowrap; width: auto; gap: 0; }
.legacy-home-v1 .legacy-game-detail__register,
.legacy-home-v1 .legacy-game-detail__alone,
.legacy-home-v1 .legacy-game-detail__closed {
  position: relative;
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
  width: auto;
  height: calc(40px * var(--legacy-component-scale));
  min-height: 0;
  padding: 0 calc(20px * var(--legacy-component-scale));
  font-family: inherit;
  font-size: 1em;
  font-weight: 600;
  line-height: 1.15;
  white-space: nowrap;
  transition: background-color .3s ease;
}
.legacy-home-v1 .legacy-game-detail__register { min-width: calc(148px * var(--legacy-component-scale)); border-radius: calc(25px * var(--legacy-component-scale)) 0 0 calc(25px * var(--legacy-component-scale)); }
.legacy-home-v1 .legacy-game-detail__alone { border-radius: 0 calc(25px * var(--legacy-component-scale)) calc(25px * var(--legacy-component-scale)) 0; }
.legacy-home-v1 .legacy-game-detail__register--single,
.legacy-home-v1 .legacy-game-detail__closed { border-radius: calc(25px * var(--legacy-component-scale)); }
.legacy-home-v1 .legacy-game-detail__register:hover { background: #fdf168; }
.legacy-home-v1 .legacy-game-detail__alone:hover { background: #4f4d6f; }
.legacy-home-v1 .legacy-game-detail__register::before,
.legacy-home-v1 .legacy-game-detail__alone::before {
  position: absolute;
  top: 50%;
  left: 0;
  width: 100%;
  height: max(100%, 44px);
  content: '';
  transform: translateY(-50%);
}
.legacy-home-v1 .legacy-game-detail__secondary-actions > button {
  position: relative;
  margin: calc(5px * var(--legacy-component-scale)) 0;
  padding: calc(10px * var(--legacy-component-scale));
  border-width: calc(2px * var(--legacy-component-scale));
  border-radius: calc(3px * var(--legacy-component-scale));
  font-family: inherit;
  font-size: calc(14px * var(--legacy-component-scale));
  line-height: 1.15;
}
.legacy-home-v1 .legacy-game-detail__secondary-actions > button[data-legacy-home-rules-open]::before {
  position: absolute;
  top: 50%;
  left: 0;
  width: 100%;
  height: max(100%, 44px);
  content: '';
  transform: translateY(-50%);
}
.legacy-home-v1 .legacy-game-detail__secondary-actions > .legacy-game-detail__share-trigger {
  min-width: 44px;
  min-height: 44px;
  justify-content: center;
  gap: calc(10px * var(--legacy-component-scale));
}
.legacy-home-v1 .legacy-game-detail__secondary-actions > button[data-legacy-home-rules-open]:hover,
.legacy-home-v1 .legacy-game-detail__secondary-actions > button[data-legacy-home-rules-open]:focus-visible {
  color: #050401;
  background: #fdf168;
}
.legacy-home-v1 .legacy-game-detail__share-trigger::before {
  width: calc(40px * var(--legacy-component-scale));
  height: calc(40px * var(--legacy-component-scale));
  background-size: calc(18px * var(--legacy-component-scale));
}
.legacy-home-v1 .legacy-game-detail__share-trigger::after { font-size: calc(12.8px * var(--legacy-component-scale)); }

@media (max-width: 1260px) {
  .legacy-home-v1 .legacy-ticket p { font-size: 1em; }
  .legacy-home-v1 .legacy-game-detail__share-trigger::after { display: none; }
}
@media (max-width: 767px) {
  /* Reserve the entire 44px more-button area below a two-line type label. */
  .legacy-home-v1 .legacy-type { min-height: 164px; }
  .legacy-home-v1 .legacy-type strong { font-size: 12px; }
  .legacy-home-v1 .legacy-type__filter { gap: 10px; padding-right: 8px; padding-left: 8px; }
}
@media (max-width: 760px) {
  .legacy-home-v1 .legacy-ticket { flex: 0 0 100%; min-width: 100%; max-width: 100%; margin: 0; }
  .legacy-home-v1 .legacy-game-detail__main { padding: 30px 15px 35px; }
  .legacy-home-v1 .legacy-game-detail__title { flex-wrap: wrap; }
  .legacy-home-v1 .legacy-game-detail__title h3 { font-size: 22px; }
}
@media (max-width: 479px) {
  .legacy-home-v1 .legacy-game-detail__facts strong { font-size: 18px; }
  .legacy-home-v1 .legacy-game-detail__register,
  .legacy-home-v1 .legacy-game-detail__alone,
  .legacy-home-v1 .legacy-game-detail__closed { padding: 0 15px; font-size: 14px; }
}
@media (max-width: 374px) {
  .legacy-home-v1 .legacy-game-detail__facts strong { font-size: 16px; }
  .legacy-home-v1 .legacy-game-detail__register,
  .legacy-home-v1 .legacy-game-detail__alone,
  .legacy-home-v1 .legacy-game-detail__closed { padding: 0 11px; font-size: 12px; }
}
@media (min-width: 1011px) {
  .legacy-home-v1 { --legacy-component-scale: var(--public-followup-density, .8); }
  .legacy-home-v1 .legacy-types > .legacy-wrap,
  .legacy-home-v1 .legacy-afisha > .legacy-wrap {
    width: min(calc(1360px * var(--legacy-component-scale)), calc(100% - 30px * var(--legacy-component-scale)));
    max-width: none;
  }
  /* Keep the source 300/1360 card/container ratio as the shared axis grows.
     A viewport-only clamp would expose a fourth whole card at 1280px. */
  .legacy-home-v1 .legacy-ticket {
    flex-basis: clamp(calc(260px * var(--legacy-component-scale)), calc((100vw - 30px * var(--legacy-component-scale)) * 300 / 1360), calc(300px * var(--legacy-component-scale)));
    min-width: clamp(calc(260px * var(--legacy-component-scale)), calc((100vw - 30px * var(--legacy-component-scale)) * 300 / 1360), calc(300px * var(--legacy-component-scale)));
  }
  .legacy-home-v1 .legacy-tickets__schedule {
    align-self: start;
    height: calc(180px * var(--legacy-component-scale));
  }
  .legacy-home-v1 .legacy-game-detail { width: 100%; margin-left: 0; transform: none; }
}
@media (prefers-reduced-motion: reduce) {
  .legacy-home-v1 .legacy-ticket,
  .legacy-home-v1 .legacy-type img,
  .legacy-home-v1 .legacy-game-detail__register,
  .legacy-home-v1 .legacy-game-detail__alone { transition: none; }
}

/* The difficulty belongs to the expanded ticket's header. */
.legacy-home-v1 .legacy-ticket__aside,
.legacy-home-v1 .legacy-ticket.is-selected .legacy-ticket__aside { align-self:stretch; height:auto; min-height:0; }
.legacy-home-v1 .legacy-game-detail__title { display:flex; flex-wrap:wrap; align-items:start; }
.legacy-home-v1 .legacy-game-detail__title > div:first-child { flex:1 1 240px; overflow-wrap:anywhere; }
.legacy-home-v1 .legacy-game-detail__title > .legacy-game-detail__difficulty { flex:0 1 180px; max-width:180px; gap:5px; }
.legacy-home-v1 .legacy-game-detail__title > .legacy-game-detail__status { margin-left:auto; }
.legacy-home-v1 .legacy-game-detail__difficulty > small { flex-basis:100%; font-size:12px; line-height:1.25; overflow-wrap:anywhere; }
.legacy-home-v1 .legacy-ticket__aside span { color:#2f2e42; }
.legacy-home-v1 .legacy-game-detail { grid-template-columns:minmax(0,1.3fr) minmax(0,1fr); }
.legacy-home-v1 .legacy-game-detail:not(:has(> .legacy-game-detail__map)) { grid-template-columns:1fr; }
.legacy-home-v1 .legacy-game-detail__place-info summary { white-space:nowrap; }
.legacy-home-v1 .legacy-game-detail__footer { flex-wrap:nowrap; align-items:center; }
.legacy-home-v1 .legacy-game-detail__secondary-actions { display:flex; align-items:center; }
.legacy-home-v1 .legacy-game-detail__main { min-width:0; }
.legacy-home-v1 .legacy-tickets__more[hidden] { display:none; }
.legacy-home-v1 .legacy-tickets__more { min-height:44px; padding:10px 18px; border:1px solid #fcea1c; border-radius:4px; color:#fcea1c; background:transparent; font-family:inherit; font-size:14px; font-weight:600; line-height:1.2; cursor:pointer; }
@media (max-width:760px) {
  .legacy-home-v1 .legacy-game-detail { grid-template-columns:1fr; }
  .legacy-home-v1 .legacy-game-detail__footer { flex-wrap:wrap; }
}
@media (max-width:640px) {
  .legacy-home-v1 .legacy-ticket { transform:none; opacity:1; }
  .legacy-home-v1 .legacy-tickets__schedule { display:flex; min-height:44px; width:100%; padding:14px 18px; margin:10px 0; align-items:center; justify-content:center; writing-mode:horizontal-tb; }
  .legacy-home-v1 .legacy-types__schedule-mobile { display:none; }
}
