/* Кастомные стили поверх Webflow (gai-new.css). Сюда — только правки кода, не экспорт. */

/* POST-обёртки ACL: кнопка остаётся flex/grid-ребёнком родителя */
.form-acl {
  display: contents;
}

/* === Auth (/auth/, /register/, NEED_AUTH на /vic2/) === */
/* Короткие viewport: форма тянется, под футером нет пустоты; отступ формы до футера. */

body:has(.screen.mod--first.mod--auth-page) {
  display: flex;
  flex-direction: column;
  min-height: 100vh;
  min-height: 100dvh;
  width: 100%;
}

body:has(.screen.mod--first.mod--auth-page) #main-content {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  width: 100%;
}

body:has(.screen.mod--first.mod--auth-page) .screen.mod--first.mod--auth-page {
  flex: 1 1 auto;
  justify-content: flex-start;
  margin-bottom: 0;
  width: 100%;
}

body:has(.screen.mod--first.mod--auth-page) .screen.mod--footer {
  flex-shrink: 0;
  margin-top: 48px;
  width: 100%;
}


/* === Викторина (/vic2/) === */

:root {
  --orange-dark: #cd8129;
}

.visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  border: 0;
}

.content.mod--footer.mod--vic {
  grid-column-gap:16px;
  grid-row-gap:16px;
  flex-flow:row;
  justify-content:space-between;
  align-items:center;
  display:flex;
}

.text-h2.mod--vic-modal {
  text-align:center;
  width:100%;
}

.text-h2.mod--vic-modal.mod--answer {
  color:var(--grey-dark);
}

.vic-modal-media {
  width:100%;
  margin:0 0 12px;
}

.vic-modal-media img,
.vic-modal-richtext img {
  display:block;
  width:auto;
  max-width:100%;
  height:auto;
  max-height:320px;
  object-fit:contain;
  object-position:center;
  margin:0 auto;
  border-radius:8px;
}

@media screen and (max-width:991px) {
  .vic-modal-media img,
  .vic-modal-richtext img {
    max-height:240px;
  }
}

@media screen and (max-width:479px) {
  .vic-modal-media img,
  .vic-modal-richtext img {
    max-height:160px;
  }
}

.vic-modal-richtext {
  width:100%;
}

.vic-modal-richtext p {
  margin:0 0 .5em;
}

.vic-modal-richtext p:last-child {
  margin-bottom:0;
}

.vic-en-chrome-warn-actions {
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:10px;
  width:100%;
}

.text-md-bold.mod--link {
  color:var(--green-100);
}

.text-md-bold.mod--link:hover {
  color:var(--green-dark);
}

.text-md-bold.mod--link.mod--vic-en-chrome-warn-dismiss {
  text-align:center;
}

.text-h3.mod--g-list-team-name {
  transition:all .2s cubic-bezier(.35,0,0,1);
}

.text-h3.mod--g-list-team-name.mod--team-1 {
  color:var(--orange-100);
}

.text-h3.mod--g-list-team-name.mod--team-2 {
  color:var(--green-dark);
}

.text-h3.mod--g-list-team-name.mod--team-3 {
  color:var(--blue-100);
}

.text-h3.mod--g-list-team-name.mod--team-4 {
  color:var(--red-100);
}

.text-h3.mod--g-list-team-name.mod--team-5 {
  color:#7b2d8e;
}

.text-h3.mod--g-list-team-name.mod--team-6 {
  color:#0d9488;
}

.text-h3.mod--g-list-team-name.mod--team-7 {
  color:#c2410c;
}

.text-h3.mod--g-list-team-name.mod--team-8 {
  color:#4338ca;
}

.text-h3.mod--g-list-team-name.mod--team-9 {
  color:#be185d;
}

.text-h3.mod--g-list-team-name.mod--team-10 {
  color:#0369a1;
}

.text-h4.mod--g-list-row-header.mod--vic {
  color:var(--white-100);
}

.text-h1.mod--g-list-team-score {
  font-family:Junegull,Trebuchet MS,sans-serif;
  font-size:28px;
  line-height:100%;
}

.text-h1.mod--g-list-team-score.mod--team-1 {
  color:var(--orange-100);
}

.text-h1.mod--g-list-team-score.mod--team-2 {
  color:var(--green-dark);
}

.text-h1.mod--g-list-team-score.mod--team-3 {
  color:var(--blue-100);
}

.text-h1.mod--g-list-team-score.mod--team-4 {
  color:var(--red-100);
}

.text-h1.mod--g-list-team-score.mod--team-5 {
  color:#7b2d8e;
}

.text-h1.mod--g-list-team-score.mod--team-6 {
  color:#0d9488;
}

.text-h1.mod--g-list-team-score.mod--team-7 {
  color:#c2410c;
}

.text-h1.mod--g-list-team-score.mod--team-8 {
  color:#4338ca;
}

.text-h1.mod--g-list-team-score.mod--team-9 {
  color:#be185d;
}

.text-h1.mod--g-list-team-score.mod--team-10 {
  color:#0369a1;
}

.text-sm-bold.mod--btn.mod--100.mod--vic-team {
  font-family:Junegull,Trebuchet MS,sans-serif;
  line-height:100%;
}

.text-sm-bold.mod--btn.mod--vic-team {
  font-family:Junegull,Trebuchet MS,sans-serif;
  font-weight:700;
  line-height:100%;
}

.text-sm-bold.mod--vic-footer-partner {
  color:var(--grey-dark);
  line-height:130%;
}

.text-sm-bold.mod--vic-footer-info {
  color:var(--grey-dark);
  text-align:right;
}

.screen.mod--footer.mod--vic {
  background-color:var(--white-100);
  margin-top:0;
  padding-top:32px;
}

.screen.mod--first.mod--g-list.mod--vic {
  background-color:var(--green-100);
  margin-bottom:0;
  padding-bottom:96px;
  width:100%;
  align-items:center;
  overflow:hidden;
}

.screen.mod--first.mod--g-list.mod--vic > .content.mod--g-list {
  margin-left:auto;
  margin-right:auto;
}

@media screen and (min-width: 992px) {
  body:has(.screen.mod--first.mod--g-list.mod--vic) {
    display: flex;
    flex-direction: column;
    min-height: 100vh;
    width: 100%;
  }

  body:has(.screen.mod--first.mod--g-list.mod--vic) #main-content {
    display: flex;
    flex-direction: column;
    flex: 1 0 auto;
    width: 100%;
    max-width: none;
    align-self: stretch;
  }

  body:has(.screen.mod--first.mod--g-list.mod--vic) .screen.mod--first.mod--g-list.mod--vic {
    flex: 1 0 auto;
    width: 100%;
    max-width: none;
    align-self: stretch;
    align-items: center;
  }

  body:has(.screen.mod--first.mod--g-list.mod--vic) .screen.mod--footer.mod--vic {
    flex-shrink: 0;
    width: 100%;
    align-self: stretch;
  }
}

.g-list-team-actions {
  grid-column-gap:10px;
  grid-row-gap:10px;
  flex-flow:column;
  align-items:stretch;
  width:100%;
  display:flex;
}

.btn.mod--e-banner.mod--g-list-team-add {
  background-color:var(--orange-100);
  width:100%;
  color:var(--white-100);
}

.btn.mod--e-banner.mod--g-list-team-add:hover {
  background-color:var(--orange-dark);
}

#vic-team-add[hidden] {
  display:none !important;
}

.g-list-roster-mode,
.g-list-vic-fullscreen {
  border:0;
  background:none;
  box-shadow:none;
  width:100%;
  margin:0;
  padding:0;
  color:var(--white-100);
  cursor:pointer;
  font:inherit;
  text-align:center;
  white-space:nowrap;
  transition:color .2s cubic-bezier(.35,0,0,1);
  display:block;
}

.g-list-roster-mode .text-sm-bold,
.g-list-vic-fullscreen .text-sm-bold {
  color:inherit;
}

.g-list-roster-mode:hover,
.g-list-vic-fullscreen:hover {
  background:none;
  color:var(--white-75);
}

@media screen and (max-width:991px) {
  .g-list-vic-fullscreen {
    display:none !important;
  }
}

/* Fullscreen (documentElement): hide chrome, drop content max-width, enlarge matrix + teams */
body.mod--vic-fs .screen.mod--nav,
body.mod--vic-fs .screen.mod--footer {
  display:none !important;
}

body.mod--vic-fs {
  overflow:hidden;
}

body.mod--vic-fs .screen.mod--first.mod--g-list.mod--vic {
  box-sizing:border-box;
  width:100%;
  max-width:none;
  height:100vh;
  height:100dvh;
  max-height:100vh;
  max-height:100dvh;
  min-height:0;
  margin:0;
  padding-top:24px;
  padding-bottom:32px;
  align-items:stretch;
  overflow:hidden;
}

body.mod--vic-fs .screen.mod--first.mod--g-list.mod--vic > .content.mod--g-list {
  width:90%;
  max-width:none;
  margin-left:5%;
  margin-right:5%;
  align-self:stretch;
  flex:1 1 auto;
  min-height:0;
}

body.mod--vic-fs .g-list-wrapper {
  flex:1 1 auto;
  min-height:0;
  overflow:auto;
  grid-column-gap:40px;
  align-items:flex-start;
}

body.mod--vic-fs .g-list-content.mod--vic {
  flex:1 1 60%;
  width:auto;
  min-width:0;
  max-width:none;
}

body.mod--vic-fs .g-list-aside {
  flex:1 1 40%;
  width:auto;
  min-width:0;
  max-width:none;
  max-height:calc(100dvh - 56px);
  overflow:hidden;
  align-self:flex-start;
}

body.mod--vic-fs .g-list-team-content {
  padding:24px;
  grid-column-gap:12px;
  grid-row-gap:12px;
}

body.mod--vic-fs .g-list-team-img-wrapper {
  width:128px;
  min-width:128px;
}

body.mod--vic-fs .text-h1.mod--g-list-team-score {
  font-size:48px;
}

body.mod--vic-fs .g-list-team .vic-team-point {
  font-size:48px;
}

body.mod--vic-fs .g-list-team .vic-team-point.mod--out {
  top:-50px;
}

body.mod--vic-fs .text-h3.mod--g-list-team-name {
  font-size:28px;
  line-height:120%;
}

body.mod--vic-fs .g-list-team {
  border-left-width:6px;
}

body.mod--vic-fs .g-list-row-round-btn.mod--remove {
  width:32px;
  min-width:32px;
  height:32px;
  min-height:32px;
  font-size:22px;
  inset:auto 0 0 auto;
}

body.mod--vic-fs .g-list-row-round-btn.mod--recalculate {
  top:0;
  right:0;
  font-size:14px;
  padding:12px 8px;
}

body.mod--vic-fs .screen.mod--first.mod--g-list.mod--vic .g-list-team-list {
  max-height:none;
  flex:1 1 auto;
  min-height:0;
  grid-row-gap:20px;
  gap:20px;
  padding:0 4px 0 0;
}

body.mod--vic-fs .screen.mod--first.mod--g-list.mod--vic .g-list-team-list.mod--scroll {
  padding-right:12px;
}

body.mod--vic-fs .screen.mod--first.mod--g-list.mod--vic .g-list-team-actions {
  padding-right:4px;
}

body.mod--vic-fs .screen.mod--first.mod--g-list.mod--vic .g-list-aside.mod--scroll .g-list-team-actions {
  padding-right:12px;
}

body.mod--vic-fs .g-list-row-vic {
  grid-column-gap:16px;
  grid-row-gap:16px;
  grid-template:"title tasks tasks tasks tasks" minmax(104px,104px) / 1fr;
  grid-auto-columns:minmax(104px,104px);
}

body.mod--vic-fs .g-list-row-game.mod--vic {
  font-size:22px;
}

body.mod--vic-fs .text-h4.mod--g-list-row-header.mod--vic {
  font-size:18px;
}

.btn.mod--e-banner.mod--vic-modal-timer {
  background-color:var(--orange-100);
  width:auto;
  padding:8px 16px;
}

.btn.mod--e-banner.mod--vic-modal-timer:hover {
  background-color:var(--orange-dark);
}

.btn.mod--e-banner.mod--vic-modal-sound {
  grid-column-gap:0px;
  grid-row-gap:0px;
  background-color:var(--orange-100);
  padding:4px;
}

.btn.mod--e-banner.mod--vic-modal-sound:hover {
  background-color:var(--orange-dark);
}

.btn.mod--vic-modal {
  background-color:var(--green-100);
  width:100%;
  color:var(--white-100);
  border-color:#0000;
  border-radius:4px;
  padding:12px;
  font-family:Junegull,Trebuchet MS,sans-serif;
  line-height:100%;
}

.btn.mod--vic-modal:hover {
  background-color:var(--green-dark);
}

.btn.mod--vic-modal-timer {
  background-color:var(--orange-100);
  width:auto;
  color:var(--white-100);
  letter-spacing:.01ch;
  border-color:#0000;
  border-radius:4px;
  padding:12px 24px;
  font-family:Golos,sans-serif;
  font-weight:500;
  line-height:100%;
}

.btn.mod--vic-modal-timer:hover {
  background-color:var(--orange-dark);
}

.tabs-menu.mod--g-list-section {
  grid-column-gap:8px;
  grid-row-gap:8px;
  background-color:var(--transparent);
  border-radius:0;
  justify-content:space-between;
  margin-bottom:0;
  display:flex;
}

.tabs-menu-link.mod--g-list-section {
  border-bottom-width:0;
  border-bottom-color:var(--transparent);
  background-color:var(--white-100);
  width:100%;
  color:var(--green-100);
  cursor:pointer;
  border-radius:8px;
  padding-top:20px;
  padding-bottom:17px;
  font-family:Junegull,Trebuchet MS,sans-serif;
  line-height:100%;
}

.tabs-menu-link.mod--g-list-section:hover {
  background-color:var(--white-75);
  color:var(--green-100);
}

.tabs-menu-link.mod--g-list-section.mod--active {
  border-bottom-color:var(--green-100);
  background-color:var(--green-dark);
  color:var(--white-100);
  cursor:default;
}

.tabs-menu-link.mod--g-list-section.mod--blue {
  border-bottom-color:var(--blue-15);
  color:var(--blue-100);
}

.tabs-menu-link.mod--g-list-section.mod--blue.mod--active {
  border-bottom-color:var(--blue-100);
  background-color:var(--blue-100);
  color:var(--white-100);
}

.tabs-menu-link.mod--g-list-section.mod--orange {
  border-bottom-color:var(--orange-10);
  color:var(--orange-100);
}

.tabs-menu-link.mod--g-list-section.mod--orange.mod--active {
  border-bottom-color:var(--orange-100);
  background-color:var(--orange-100);
  color:var(--white-100);
}

.tabs-menu-link.mod--g-list-section.mod--red {
  border-bottom-color:var(--red-10);
  color:var(--red-100);
}

.tabs-menu-link.mod--g-list-section.mod--red.mod--active {
  border-bottom-color:var(--red-100);
  background-color:var(--red-100);
  color:var(--white-100);
}

.tabs-menu-link.mod--g-list-section.mod--grey {
  border-bottom-color:var(--black-5);
  color:var(--grey-dark);
}

.tabs-menu-link.mod--g-list-section.mod--grey.mod--active {
  border-bottom-color:var(--grey-dark);
  background-color:var(--grey-dark);
  color:var(--white-100);
}

.modal-body.mod--vic-modal {
  grid-column-gap:32px;
  grid-row-gap:32px;
  justify-content:flex-start;
  align-items:center;
}

.vic-modal-timer-wrap {
  grid-column-gap:32px;
  grid-row-gap:32px;
  flex-flow:column;
  justify-content:flex-start;
  align-items:center;
  width:100%;
  display:flex;
}

.vic-modal-timer-wrap[hidden] {
  display:none !important;
}

.modal-header-text.mod--vic-modal {
  grid-column-gap:8px;
  grid-row-gap:8px;
  justify-content:flex-start;
  align-items:center;
  margin-right:0;
}

.g-list.mod--vic {
  background-color:var(--transparent);
  border-radius:0;
  padding:0;
}

.g-list-row-header.mod--vic {
  background-color:var(--green-dark);
}

.g-list-row-game.mod--result.mod--mask.mod--vic {
  background-color:var(--green-dark);
  color:var(--white-100);
}

.g-list-row-game.mod--vic {
  background-color:var(--white-100);
}

.g-list-row-game.mod--vic:hover {
  background-color:var(--white-75);
  color:var(--green-100);
}

.g-separator.mod--hor.mod--vic {
  background-color:var(--green-dark);
}

.g-list-row-rounds {
  grid-column-gap:8px;
  grid-row-gap:8px;
  flex-flow:wrap;
  width:100%;
  display:flex;
  position:relative;
}

#vic-rounds {
  grid-column-gap:8px;
  grid-row-gap:8px;
  flex-flow:wrap;
  display:flex;
}

.g-list-row-round-btn {
  border:0px none var(--transparent);
  background-color:var(--white-100);
  width:40px;
  min-width:40px;
  height:40px;
  min-height:40px;
  color:var(--green-100);
  text-align:center;
  cursor:pointer;
  border-radius:8px;
  justify-content:center;
  align-items:center;
  padding:0;
  font-family:Junegull,Trebuchet MS,sans-serif;
  font-size:18px;
  line-height:100%;
  text-decoration:none;
  transition:all .2s cubic-bezier(.35,0,0,1);
  display:flex;
}

.g-list-row-round-btn:hover {
  background-color:var(--white-75);
  color:var(--green-100);
}

.g-list-row-round-btn.mod--current {
  background-color:var(--green-dark);
  color:var(--white-100);
  cursor:default;
  border-color:#0000;
}

.g-list-row-round-btn.mod--current:hover {
  background-color:var(--green-dark);
  color:var(--white-100);
}

.g-list-row-round-btn.mod--round-new {
  background-color:var(--orange-100);
  width:auto;
  min-width:auto;
  color:var(--white-100);
  border-color:#0000;
  padding-left:12px;
  padding-right:12px;
}

.g-list-row-round-btn.mod--round-new:hover {
  background-color:var(--orange-dark);
  color:var(--white-100);
}

.g-list-row-round-btn.mod--special {
  background-color:var(--orange-100);
  color:var(--white-100);
}

.g-list-row-round-btn.mod--special:hover {
  background-color:var(--orange-dark);
}

.g-list-row-round-btn.mod--special.mod--current,
.g-list-row-round-btn.mod--special.mod--current:hover {
  background-color:var(--orange-dark);
  color:var(--white-100);
}

.g-list-row-round-btn.mod--recalculate {
  z-index:2;
  background-color:var(--orange-100);
  width:auto;
  min-width:auto;
  height:auto;
  min-height:auto;
  color:var(--white-100);
  letter-spacing:.25px;
  text-transform:uppercase;
  border-color:#0000;
  border-radius:0 8px 0 8px;
  padding:8px 4px;
  font-family:Golos,sans-serif;
  font-size:10px;
  font-weight:500;
  position:absolute;
  top:0;
  left:auto;
  right:0;
}

.g-list-row-round-btn.mod--recalculate:hover {
  background-color:var(--orange-dark);
  color:var(--white-100);
}

.g-list-row-round-btn.mod--remove {
  z-index:2;
  background-color:var(--red-100);
  width:24px;
  min-width:24px;
  height:24px;
  min-height:24px;
  color:var(--white-100);
  letter-spacing:.25px;
  text-transform:uppercase;
  border-color:#0000;
  border-radius:8px 0 8px 0;
  font-family:Golos,sans-serif;
  font-size:18px;
  font-weight:500;
  position:absolute;
  inset:auto 0 0 auto;
}

.g-list-row-round-btn.mod--remove:hover {
  opacity:.75;
  color:var(--white-100);
}

.tabs-menu-hint-scroll {
  background-color:var(--white-100);
  border-radius:4px;
  justify-content:center;
  align-items:center;
  width:20px;
  min-width:20px;
  height:20px;
  min-height:20px;
  padding:2px;
  display:none;
  position:absolute;
  inset:-10px -10px auto auto;
  box-shadow:1px 1px 10px 1px #00000008;
  z-index:2;
  pointer-events:none;
}

.tabs-menu-g-list-wrapper {
  width:100%;
  position:relative;
  overflow:visible;
}

.g-list-wrapper {
  grid-column-gap:32px;
  grid-row-gap:32px;
  justify-content:space-between;
  align-items:flex-start;
  width:100%;
  display:flex;
  position:relative;
}

.g-list-content {
  flex-flow:column;
  width:100%;
  display:flex;
  position:relative;
}

.g-list-content.mod--vic {
  grid-column-gap:16px;
  grid-row-gap:16px;
}

.g-list-aside {
  grid-column-gap:16px;
  grid-row-gap:16px;
  flex-flow:column;
  width:320px;
  min-width:320px;
  max-width:320px;
  display:flex;
}

.g-list-row-vic {
  grid-column-gap:12px;
  grid-row-gap:12px;
  grid-template:"title tasks tasks tasks tasks"minmax(80px,80px)/1fr;
  grid-auto-columns:minmax(80px,80px);
  grid-auto-flow:column;
  justify-content:stretch;
  align-items:stretch;
  width:100%;
  display:grid;
  position:relative;
}

.g-list-team {
  grid-column-gap:0px;
  grid-row-gap:0px;
  background-color:var(--white-100);
  border-left:4px solid #000;
  border-radius:0 8px 8px 0;
  transition:all .2s cubic-bezier(.35,0,0,1);
  display:flex;
  position:relative;
  flex-shrink:0;
}

.g-list-team.mod--team-1 {
  border-left-color:var(--orange-100);
}

.g-list-team.mod--team-2 {
  border-left-color:var(--green-dark);
}

.g-list-team.mod--team-3 {
  border-left-color:var(--blue-100);
}

.g-list-team.mod--team-4 {
  border-left-color:var(--red-100);
}

.g-list-team.mod--team-5 {
  border-left-color:#7b2d8e;
}

.g-list-team.mod--team-6 {
  border-left-color:#0d9488;
}

.g-list-team.mod--team-7 {
  border-left-color:#c2410c;
}

.g-list-team.mod--team-8 {
  border-left-color:#4338ca;
}

.g-list-team.mod--team-9 {
  border-left-color:#be185d;
}

.g-list-team.mod--team-10 {
  border-left-color:#0369a1;
}

.g-list-team.mod--choose {
  opacity:.9;
  filter:drop-shadow(5px 5px 10px var(--black-10));
  cursor:pointer;
}

.g-list-team.mod--choose:hover {
  opacity:1;
}

.g-list-team-content {
  grid-column-gap:8px;
  grid-row-gap:8px;
  flex-flow:column;
  justify-content:center;
  align-items:flex-start;
  width:100%;
  padding:16px;
  display:flex;
}

.g-list-team-img {
  object-fit:contain;
  width:100%;
  height:auto;
}

.g-list-team-name-box {
  width:100%;
}

.g-list-team-img-wrapper {
  border-right:1px solid var(--black-5);
  justify-content:center;
  align-items:center;
  width:100px;
  min-width:100px;
  display:flex;
}

.g-list-team-list {
  grid-column-gap:16px;
  grid-row-gap:16px;
  gap:16px;
  flex-flow:column;
  width:100%;
  display:flex;
}

.g-list-row-rounds-wrapper {
  width:100%;
  position:relative;
}

.vic-footer-partner {
  grid-column-gap:12px;
  grid-row-gap:12px;
  flex-flow:column;
  align-items:flex-start;
  display:flex;
}

.vic-footer-partner-img {
  object-fit:contain;
  max-width:160px;
  height:60px;
}

.mod--vic-modal-score {
  background-color:var(--black-10);
  color:var(--grey-dark);
  border-radius:4px;
  padding:8px 12px;
  font-family:Junegull,Trebuchet MS,sans-serif;
  font-size:14px;
  font-weight:700;
  line-height:100%;
  display:inline-flex;
}

.vic-modal-timeline {
  grid-column-gap:8px;
  grid-row-gap:8px;
  justify-content:space-between;
  align-items:center;
  width:100%;
  display:flex;
}

.vic-modal-timeline-el {
  background-color:var(--orange-100);
  border-radius:8px;
  width:100%;
  height:8px;
  min-height:8px;
  margin-bottom:0;
}

.vic-modal-timeline-el.mod--innactive {
  opacity:.3;
}


@media screen and (max-width:991px) {
  .text-h3.mod--g-list-team-name {
    font-size:14px;
  }

  .text-h1.mod--g-list-team-score {
    font-size:20px;
  }

  .btn.mod--vic-modal {
    font-size:14px;
  }

  .tabs-menu.mod--g-list-section {
    justify-content:flex-start;
    overflow-x:auto;
  }

  .tabs-menu.mod--g-list-section.mod--scroll {
    padding-bottom:4px;
  }

  .tabs-menu-link.mod--g-list-section {
    flex:1 0 auto;
    width:auto;
    min-width:100px;
    padding:16px 16px 13px;
    font-size:14px;
  }

  .tabs-menu.mod--g-list-section.mod--scroll ~ .tabs-menu-hint-scroll,
  .g-list-row-rounds.mod--scroll ~ .tabs-menu-hint-scroll {
    display:flex;
  }

  .tabs-menu.mod--g-list-section.mod--scroll::-webkit-scrollbar,
  .g-list-row-rounds.mod--scroll::-webkit-scrollbar {
    height:4px;
    cursor:pointer;
  }

  .tabs-menu.mod--g-list-section.mod--scroll::-webkit-scrollbar-track,
  .g-list-row-rounds.mod--scroll::-webkit-scrollbar-track {
    background:rgba(255,255,255,.05);
    border-radius:4px;
    cursor:pointer;
  }

  .tabs-menu.mod--g-list-section.mod--scroll::-webkit-scrollbar-thumb,
  .g-list-row-rounds.mod--scroll::-webkit-scrollbar-thumb {
    border-width:1px;
    border-style:solid;
    border-radius:4px;
    background:rgba(255,255,255,.8);
    border-color:rgba(255,255,255,.05);
    transition:all .2s cubic-bezier(.35,0,0,1);
    cursor:grab;
    cursor:-moz-grab;
    cursor:-webkit-grab;
  }

  .tabs-menu.mod--g-list-section.mod--scroll::-webkit-scrollbar-thumb:hover,
  .g-list-row-rounds.mod--scroll::-webkit-scrollbar-thumb:hover {
    background:rgba(255,255,255,.9);
    cursor:grab;
    cursor:-moz-grab;
    cursor:-webkit-grab;
  }

  .tabs-menu.mod--g-list-section.mod--scroll::-webkit-scrollbar-thumb:active,
  .g-list-row-rounds.mod--scroll::-webkit-scrollbar-thumb:active {
    background:rgba(255,255,255,1);
    cursor:grabbing;
    cursor:-moz-grabbing;
    cursor:-webkit-grabbing;
  }

  .modal-body.mod--vic-modal {
    grid-column-gap:24px;
    grid-row-gap:24px;
  }

  .vic-modal-timer-wrap {
    grid-column-gap:24px;
    grid-row-gap:24px;
  }

  .vic-modal-timeline {
    grid-column-gap:4px;
    grid-row-gap:4px;
  }

  .g-list-row-rounds {
    flex-flow:row;
    overflow-x:auto;
  }

  #vic-rounds {
    display:flex;
    flex-flow:row;
    grid-column-gap:8px;
    grid-row-gap:8px;
  }

  .g-list-row-rounds.mod--scroll {
    padding-bottom:4px;
  }

  .g-list-row-round-btn {
    width:40px;
    min-width:40px;
    height:40px;
    min-height:40px;
    font-size:14px;
  }

  .g-list-row-round-btn.mod--remove {
    width:20px;
  }

  .g-list-wrapper {
    grid-column-gap:16px;
    grid-row-gap:16px;
    flex-flow:column-reverse;
  }

  .g-list-aside {
    width:100%;
    min-width:auto;
    max-width:none;
  }

  .g-list-row-vic {
    grid-column-gap:8px;
    grid-row-gap:8px;
    grid-template:none;
    grid-template-columns:repeat(4, minmax(0, 1fr));
    grid-auto-columns:minmax(0, 1fr);
    grid-auto-rows:minmax(64px, 64px);
    grid-auto-flow:row;
  }

  .g-list-row-vic > .g-list-row-header.mod--vic {
    grid-column:1 / -1;
    grid-row:1;
    min-height:64px;
    height:auto;
  }

  .g-list-team {
    border-left-width:3px;
  }

  .g-list-team-content {
    padding:8px;
  }

  .g-list-team-img-wrapper {
    width:75px;
    min-width:75px;
    padding:5px;
  }

  .g-list-team-list {
    grid-column-gap:16px;
    grid-row-gap:16px;
    grid-template-rows:auto;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr);
    grid-auto-columns:minmax(0,1fr);
    display:grid;
  }

  .vic-footer-partner-img {
    max-width:120px;
    height:40px;
  }

}

@media screen and (max-width:767px) {
  .content.mod--footer.mod--vic {
    grid-column-gap:32px;
    grid-row-gap:32px;
    flex-flow:column;
  }

  .text-sm-bold.mod--vic-footer-partner,.text-sm-bold.mod--vic-footer-info {
    text-align:center;
  }

  .g-list-row-round-btn.mod--round-new {
    min-width:120px;
  }

  .vic-footer-partner {
    grid-column-gap:8px;
    grid-row-gap:8px;
    justify-content:flex-start;
    align-items:center;
  }

}

@media screen and (max-width:479px) {
  .g-list-aside {
    grid-column-gap:8px;
    grid-row-gap:8px;
  }

  .g-list-team-list {
    grid-column-gap:8px;
    grid-row-gap:8px;
    grid-template-columns:minmax(0,1fr);
  }

}

.mod--edit {
  color: var(--green-dark);
  cursor: pointer;
  border: none;
  background: none;
  padding: 0;
  margin-left: 4px;
  font: inherit;
  line-height: 1;
  vertical-align: middle;
}

.mod--edit:hover {
  opacity: .75;
}

.mod--cancel {
  color: var(--red-100);
  cursor: pointer;
  border: none;
  background: none;
  padding: 0;
  margin-left: 4px;
  font: inherit;
  line-height: 1;
  vertical-align: middle;
}

.mod--cancel:hover {
  opacity: .75;
}

.g-list-team-name-text {
  outline: none;
  word-break: break-word;
}

.g-list-team-name-box.mod--editing .g-list-team-name-text {
  border-bottom: 1px dashed currentColor;
}

.modal-wrapper.mod--vic-modal {
  display: none;
  z-index: 30;
}

.modal-wrapper.mod--vic-modal.mod--open {
  display: flex;
  align-items: flex-start;
  justify-content: center;
  padding-top: max(24px, env(safe-area-inset-top, 0px));
  padding-right: max(16px, env(safe-area-inset-right, 0px));
  padding-bottom: max(24px, env(safe-area-inset-bottom, 0px));
  padding-left: max(16px, env(safe-area-inset-left, 0px));
  -webkit-overflow-scrolling: touch;
}

.modal-mask.mod--vic-modal {
  opacity: 1;
}

.modal-content.mod--vic-modal {
  max-width: 720px;
  width: 90%;
  margin-top: auto;
  margin-bottom: auto;
  flex-shrink: 0;
}

.modal-header.mod--vic-modal {
  position: relative;
  width: 100%;
}

.btn-img.mod--vic-modal {
  width: 24px;
  height: 24px;
}

.text-h2.mod--vic-modal.mod--answer.mod--hidden {
  display: none;
}

.g-list-row-game.mod--result.mod--vic-done {
  pointer-events: none;
  cursor: default;
}

.vic-loading {
  padding: 48px 32px;
  text-align: center;
  color: var(--white-100);
}

.vic-skeleton {
  width: 100%;
}

#vic-content[hidden] {
  display: none !important;
}

.vic-skeleton.mod--error .vic-skeleton__layout {
  display: none;
}

.vic-skeleton__error {
  margin: 0;
  padding: 48px 32px;
  text-align: center;
  color: var(--white-100);
}

.vic-skeleton__bone {
  --vic-sk: 0;
  display: block;
  background-color: var(--green-dark);
  background-image: linear-gradient(
    105deg,
    var(--green-dark) 0%,
    var(--green-dark) 38%,
    #1d9a60 50%,
    var(--green-dark) 62%,
    var(--green-dark) 100%
  );
  background-size: 220% 100%;
  background-position: 100% 0;
  border-radius: 8px;
  animation: vic-skeleton-shine 1.7s ease-in-out infinite;
  animation-delay: calc(var(--vic-sk) * 45ms);
}

.vic-skeleton__tabs {
  width: 100%;
}

.vic-skeleton__tab {
  flex: 1 1 0;
  height: 54px;
  min-height: 54px;
  min-width: 0;
}

.vic-skeleton__rounds {
  width: 100%;
}

.vic-skeleton__round {
  width: 40px;
  min-width: 40px;
  height: 40px;
  min-height: 40px;
}

.vic-skeleton__round-new {
  width: 120px;
  min-width: 120px;
  height: 40px;
  min-height: 40px;
}

.vic-skeleton__matrix {
  width: 100%;
}

.vic-skeleton__topic {
  width: 100%;
  height: 100%;
  min-height: 80px;
}

.vic-skeleton__cell {
  width: 100%;
  height: 100%;
  min-height: 80px;
}

.vic-skeleton__team {
  width: 100%;
  height: 100px;
  min-height: 100px;
  border-radius: 0 8px 8px 0;
}

@keyframes vic-skeleton-shine {
  0% {
    background-position: 100% 0;
  }
  100% {
    background-position: -120% 0;
  }
}

@media (prefers-reduced-motion: reduce) {
  .vic-skeleton__bone {
    animation: none;
    background-image: none;
    opacity: .85;
  }
}

@media screen and (max-width:991px) {
  .vic-skeleton__tab {
    flex: 1 0 auto;
    width: auto;
    min-width: 100px;
    height: 45px;
    min-height: 45px;
  }

  .vic-skeleton__row > .vic-skeleton__topic {
    grid-column: 1 / -1;
    grid-row: 1;
    min-height: 64px;
    height: auto;
  }

  .vic-skeleton__cell {
    min-height: 64px;
  }

  .vic-skeleton__team {
    height: 86px;
    min-height: 86px;
  }

  .vic-skeleton__round-new {
    min-width: 120px;
  }
}

@media screen and (max-width:479px) {
  .vic-skeleton__teams {
    grid-template-columns: minmax(0, 1fr);
  }
}

.text-h3.mod--vic-modal {
  margin: 0;
  flex: 1;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
}

.g-list-aside {
  overflow: visible;
}

/* visible: +points float past edge; button corners use own border-radius */
.g-list-team {
  overflow:visible;
}

/* Desktop: teams list scrolls from 50svh; reserve scrollbar width; +8px pad only when scrolling */
@media screen and (min-width:992px) {
  .screen.mod--first.mod--g-list.mod--vic .g-list-aside {
    align-self:flex-start;
  }

  .screen.mod--first.mod--g-list.mod--vic .g-list-team-actions {
    flex-shrink:0;
    box-sizing:border-box;
    padding-right:4px;
  }

  .screen.mod--first.mod--g-list.mod--vic .g-list-aside.mod--scroll .g-list-team-actions {
    padding-right:12px;
  }

  .screen.mod--first.mod--g-list.mod--vic .g-list-team-list {
    max-height:50vh;
    max-height:50svh;
    overflow-x:hidden;
    overflow-y:auto;
    box-sizing:border-box;
    padding:0 4px 0 0;
    gap:16px;
  }

  .screen.mod--first.mod--g-list.mod--vic .g-list-team-list > .g-list-team {
    flex-shrink:0;
  }

  .screen.mod--first.mod--g-list.mod--vic .g-list-team-list.mod--scroll {
    padding-right:12px;
  }

  .screen.mod--first.mod--g-list.mod--vic .g-list-team-list::-webkit-scrollbar {
    width:4px;
    cursor:pointer;
  }

  .screen.mod--first.mod--g-list.mod--vic .g-list-team-list::-webkit-scrollbar-track {
    background:rgba(255,255,255,.05);
    border-radius:4px;
    cursor:pointer;
  }

  .screen.mod--first.mod--g-list.mod--vic .g-list-team-list::-webkit-scrollbar-thumb {
    border-width:1px;
    border-style:solid;
    border-radius:4px;
    background:rgba(255,255,255,.8);
    border-color:rgba(255,255,255,.05);
    transition:all .2s cubic-bezier(.35,0,0,1);
    cursor:grab;
    cursor:-moz-grab;
    cursor:-webkit-grab;
  }

  .screen.mod--first.mod--g-list.mod--vic .g-list-team-list::-webkit-scrollbar-thumb:hover {
    background:rgba(255,255,255,.9);
    cursor:grab;
    cursor:-moz-grab;
    cursor:-webkit-grab;
  }

  .screen.mod--first.mod--g-list.mod--vic .g-list-team-list::-webkit-scrollbar-thumb:active {
    background:rgba(255,255,255,1);
    cursor:grabbing;
    cursor:-moz-grabbing;
    cursor:-webkit-grabbing;
  }
}

.g-list-team .vic-team-point {
  position: absolute;
  top: 40%;
  left: 0;
  width: 100%;
  text-align: center;
  font-family: Junegull, Trebuchet MS, sans-serif;
  font-size: 28px;
  font-weight: 700;
  line-height: 100%;
  color: var(--orange-100);
  pointer-events: none;
  z-index: 5;
  opacity: 1;
  transition: top 2s linear, opacity 2s linear;
}

.g-list-team .vic-team-point.mod--out {
  top: -30px;
  opacity: 0;
}

@media screen and (max-width: 991px) {
  .g-list-team .vic-team-point {
    font-size: 20px;
  }
}
