@font-face {
  font-family: ToxigenesisRg-Bold;
  src: url(ToxigenesisRg-Bold.6f7d00ef.woff2);
  src: url(ToxigenesisRg-Bold.6f7d00ef.woff2) format("woff2"),
    url(ToxigenesisRg-Bold.eb8dc605.ttf) format("truetype");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: SVBasicManual-Bold;
  src: url(SVBasicManual-Bold.90c2a6eb.woff2);
  src: url(SVBasicManual-Bold.90c2a6eb.woff2) format("woff2"),
    url(SVBasicManual-Bold.a637c2ef.ttf) format("truetype");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: fonticon;
  src: url(fonticon.107ef13f.woff2) format("woff2");
  src: url(fonticon.107ef13f.woff2) format("woff2"),
    url(fonticon.01c90841.ttf) format("truetype");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}
* {
  -webkit-tap-highlight-color: transparent;
}
body,
html {
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  user-select: none;
  touch-action: none;
  width: 100%;
  height: 100%;
  margin: 0;
  padding: 0;
  overflow: hidden;
}
body {
  --font-family-primary: "ToxigenesisRg-Bold";
  --font-family-secondary: "SVBasicManual-Bold";
  font-family: var(--font-family-primary);
  font-smooth: "always";
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
}
.number-value {
  font-family: var(--font-family-secondary);
}
body * {
  box-sizing: border-box;
  outline: none !important;
}
.debugger {
  z-index: 1000;
  pointer-events: none;
  background-color: #faa;
  display: none;
  position: fixed;
  top: 0;
  left: 0;
}
.hidden {
  opacity: 0;
  visibility: hidden;
  height: 0;
  overflow: hidden;
  display: none !important;
}
.trn-hidden {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  height: 0;
  overflow: hidden;
}
.ads-hidden,
.device-hidden {
  opacity: 0;
  visibility: hidden;
  height: 0;
  display: none;
  overflow: hidden;
}
.visually-hidden {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  z-index: -1;
}
#app {
  width: 100%;
  height: 100%;
}
.app-wrapper {
  --size-factor: 1;
  --main-axes: 1vh;
  --opaque-bg: #000000b3;
  --color-text-dark: #333;
  --color-text-light: #666;
  --color-green-ulight: #c7efbd;
  --color-green-light: #7dd06c;
  --color-green-default: #5e9e51;
  --color-green-dark: #406d37;
  --color-red-light: #f27a7a;
  --color-red-default: #d45656;
  --color-red-dark: #a33d3d;
  --color-gray-light: #d0d0d0;
  --color-gray-default: #9e9e9e;
  --color-gray-dark: #6d6d6d;
  --color-purple-light: #b36cd0;
  --color-purple-default: #98519e;
  --color-purple-dark: #6b376d;
  --color-gold-light: #f9c854;
  --color-gold-default: #f9b304;
  --color-blue-dark: #b7e7fa;
  --color-blue-default: #cfeffc;
  --color-blue-light: #def5ff;
  --color-d-blue-dark: #3f8da7;
  --color-d-blue-default: #75b3d1;
  --color-d-blue-light: #89bedc;
  --color-yellow-default: #f7f074;
  --color-brown-default: #2d1700;
  --color-discord-dark: #6577c4;
  --color-discord-default: #7289da;
  --color-discord-light: #96a4e3;
  --room-info-width: calc(17 * var(--main-axes) * var(--size-factor));
  --line-width: calc(1px * var(--size-factor));
  --emotify-top: calc(13 * var(--main-axes) * var(--size-factor));
  --emotify-width: calc(30 * var(--main-axes) * var(--size-factor));
  --emotify-animation-speed: 0.1s;
  --rb-radius-small: calc(0.5 * var(--main-axes) * var(--size-factor));
  --rb-radius-default: calc(1 * var(--main-axes) * var(--size-factor));
  --rb-gap-xsmall: calc(0.5 * var(--main-axes) * var(--size-factor));
  --rb-gap-small: calc(1 * var(--main-axes) * var(--size-factor));
  --rb-gap-default: calc(1.5 * var(--main-axes) * var(--size-factor));
  --rb-gap-big: calc(2 * var(--main-axes) * var(--size-factor));
  --rb-gap-huge: calc(2.5 * var(--main-axes) * var(--size-factor));
  --rb-border: calc(1.5 * var(--main-axes) * var(--size-factor));
  --rb-line: calc(0.5 * var(--main-axes) * var(--size-factor));
  --rb-modal-width: calc(50vw * var(--size-factor));
  --rb-modal-min-width: calc(30vw * var(--size-factor));
  --rb-map-block-width: calc(20 * var(--main-axes) * var(--size-factor));
  --rb-timerewards-width: calc(90 * var(--main-axes) * var(--size-factor));
  --rb-font-tiny: calc(1 * var(--main-axes) * var(--size-factor));
  --rb-font-xsmall: calc(1.5 * var(--main-axes) * var(--size-factor));
  --rb-font-small: calc(2 * var(--main-axes) * var(--size-factor));
  --rb-font-normal: calc(2.5 * var(--main-axes) * var(--size-factor));
  --rb-font-medium: calc(3 * var(--main-axes) * var(--size-factor));
  --rb-font-default: calc(4 * var(--main-axes) * var(--size-factor));
  --rb-font-large: calc(5 * var(--main-axes) * var(--size-factor));
  --rb-font-big: calc(6 * var(--main-axes) * var(--size-factor));
  --rb-font-huge: calc(10 * var(--main-axes) * var(--size-factor));
  --rb-button-xsmall-height: calc(3 * var(--main-axes) * var(--size-factor));
  --rb-button-small-height: calc(4 * var(--main-axes) * var(--size-factor));
  --rb-button-default-height: calc(6 * var(--main-axes) * var(--size-factor));
  --rb-button-big-height: calc(8 * var(--main-axes) * var(--size-factor));
  --rb-button-large-height: calc(10 * var(--main-axes) * var(--size-factor));
  --rb-button-huge-height: calc(12 * var(--main-axes) * var(--size-factor));
  --rb-button-xlarge-height: calc(14 * var(--main-axes) * var(--size-factor));
  --rb-button-mega-height: calc(40 * var(--main-axes) * var(--size-factor));
  --rb-button-xxlarge-height: calc(60 * var(--main-axes) * var(--size-factor));
  --rb-button-small-text: calc(1.5 * var(--main-axes) * var(--size-factor));
  --rb-button-default-text: calc(3 * var(--main-axes) * var(--size-factor));
  --rb-button-big-text: calc(4 * var(--main-axes) * var(--size-factor));
  --rb-gift-position: calc(20 * var(--main-axes) * var(--size-factor));
  --rb-gift-size: calc(10 * var(--main-axes) * var(--size-factor));
  --rb-splash-size: calc(30vw * var(--size-factor));
  --z-index-notify: 1000;
  --z-index-modal: 1100;
  --z-index-emotify: 1200;
  --z-index-map-modal: 1500;
  --z-index-notice: 2000;
  --z-index-splash: 50000;
}
.splash-area {
  z-index: var(--z-index-splash);
  opacity: 0;
  pointer-events: none;
  background-color: #000;
  justify-content: center;
  align-items: center;
  transition: opacity 1s;
  display: flex;
  position: fixed;
  inset: 0;
}
.splash-area.in {
  opacity: 1;
}
.splash-image {
  opacity: 0;
  transition: opacity 1s;
  position: absolute;
}
.splash-image.in {
  opacity: 1;
}
.top-hud-area {
  justify-content: space-between;
  align-items: flex-start;
  display: flex;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
}
.switch {
  width: calc(var(--rb-button-default-height) * 3);
  height: calc(var(--rb-button-default-height));
  display: inline-block;
  position: relative;
}
.switch.lite {
  width: calc(var(--rb-button-default-height) * 1.5);
}
.switch input {
  opacity: 0;
  width: 0;
  height: 0;
}
.slider {
  cursor: pointer;
  background-color: var(--color-gray-default);
  border-radius: calc(var(--rb-button-default-height) * 3);
  transition: all 0.4s;
  position: absolute;
  inset: 0;
}
.slider:before {
  content: "";
  height: calc(var(--rb-button-default-height) - (var(--rb-gap-small) * 2));
  width: calc(var(--rb-button-default-height) - (var(--rb-gap-small) * 2));
  left: var(--rb-gap-small);
  top: var(--rb-gap-small);
  background-color: #fff;
  border-radius: 50%;
  transition: all 0.4s;
  position: absolute;
}
input:checked + .slider {
  background-color: var(--color-green-default);
}
input:checked + .slider:before {
  transform: translateX(calc(var(--rb-button-default-height) * 2));
}
.switch.lite input:checked + .slider:before {
  transform: translateX(calc(var(--rb-button-default-height) * 0.5));
}
.slider i {
  color: #fff;
  font-size: var(--rb-font-default);
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.input-container {
  margin-bottom: calc(var(--rb-gap-xsmall) * 4);
  opacity: 1;
  visibility: visible;
  justify-content: center;
  max-width: 100%;
  height: auto;
  transition: opacity 0.3s, visibility 0.3s, height 0.3s;
  display: flex;
}
.input-container input {
  width: 60vh;
  max-width: 90%;
  padding: var(--rb-gap-xsmall);
  font-size: var(--rb-font-big);
  border: 1px solid var(--color-gray-default);
  border-radius: var(--rb-radius-default);
  text-align: center;
  outline: none;
}
.bottom-hud-area {
  pointer-events: none;
  bottom: var(--rb-gap-small);
  left: var(--rb-gap-small);
  right: var(--rb-gap-small);
  color: #fff;
  font-size: var(--rb-font-small);
  justify-content: space-between;
  align-items: center;
  display: flex;
  position: fixed;
}
.bottom-hud-item {
  align-items: center;
  gap: var(--rb-gap-small);
  font-size: var(--rb-font-medium);
  background: var(--opaque-bg);
  padding: var(--rb-gap-small);
  border-radius: var(--rb-gap-small);
  display: flex;
}
.bottom-hud-item i {
  color: #ccc;
}
.buttom-hud-font-ex {
  font-size: var(--rb-font-small);
}
.room-info {
  background: var(--opaque-bg);
  border-bottom-right-radius: var(--rb-radius-default);
  color: #fff;
  padding: var(--rb-gap-xsmall) var(--rb-gap-small);
  width: var(--room-info-width);
  flex-direction: column;
  display: flex;
}
.room-info-item {
  padding: var(--rb-gap-small) 0;
  justify-content: space-between;
  align-items: center;
  gap: var(--rb-gap-small);
  height: calc(var(--room-info-width) / 3);
  flex-shrink: 0;
  display: flex;
}
.room-info-item:not(:first-child) {
  border-top: var(--line-width) solid #999;
}
.room-info-item.red .room-info-key,
.room-info-item.red .room-info-value {
  color: var(--color-red-light);
}
.room-info-item.green .room-info-key,
.room-info-item.green .room-info-value {
  color: var(--color-green-light);
}
.room-info-key {
  font-size: var(--rb-font-medium);
  color: #ccc;
  width: var(--rb-button-small-height);
  justify-content: center;
  align-items: center;
  height: 100%;
  display: flex;
}
.room-info-key img {
  height: 100%;
}
.room-info-key.hover {
  cursor: pointer;
}
.desktop-app .room-info-key.hover:hover {
  color: #fff;
}
.room-info-value {
  font-family: var(--font-family-secondary);
  font-size: var(--rb-font-medium);
  color: #fff;
  text-shadow: var(--line-width) var(--line-width) 0px var(--color-text-dark),
    -var(--line-width)-var(--line-width) 0px #666;
}
.control-panel {
  gap: var(--rb-gap-small);
  display: flex;
}
.control-info {
  justify-content: flex-end;
  gap: var(--rb-gap-small);
  margin-top: var(--rb-gap-small);
  flex-direction: row;
  display: flex;
}
.contol-info-item {
  padding: var(--rb-gap-small);
  background: var(--opaque-bg);
  border-radius: var(--rb-radius-default);
  align-items: center;
  gap: var(--rb-gap-small);
  color: #fff;
  height: var(--rb-button-big-height);
  font-size: var(--rb-font-medium);
  display: flex;
}
.contol-info-item.gold {
  color: var(--color-gold-light);
}
.contol-info-item-image {
  justify-content: center;
  align-items: center;
  height: 100%;
  display: flex;
}
.coin-collect-anim {
  transition: transform;
  transform: scale(1);
}
.coin-collect-anim.in {
  transition: transform 0.1s;
  transform: scale(1.2);
}
.contol-info-item-image img {
  height: 100%;
}
.control-buttons {
  gap: var(--rb-gap-small);
  background-color: var(--color-blue-light);
  padding: var(--rb-gap-big);
  border-bottom-left-radius: var(--rb-gap-big);
  border-bottom: var(--rb-gap-small) solid var(--color-blue-dark);
  border-left: var(--rb-gap-small) solid var(--color-blue-dark);
  flex-direction: row-reverse;
  display: flex;
}
.button {
  border-radius: var(--rb-radius-default);
  border-top: calc(var(--rb-radius-default) / 2) solid transparent;
  gap: var(--rb-gap-small);
  cursor: pointer;
  color: #fff;
  font-size: var(--rb-font-large);
  padding: 0 var(--rb-gap-big);
  height: var(--rb-button-default-height);
  font-size: var(--rb-button-default-text);
  justify-content: center;
  align-items: center;
  transition: background 0.3s;
  display: inline-flex;
  position: relative;
}
.button-big {
  padding: 0 calc(var(--rb-gap-big) * 2);
  height: var(--rb-button-big-height);
  font-size: var(--rb-button-big-text);
}
.button-control {
  width: var(--rb-button-big-height);
  height: var(--rb-button-big-height);
}
.button-green {
  border-bottom: calc(var(--rb-radius-default) / 2) solid
    var(--color-green-dark);
  background: var(--color-green-default);
}
.desktop-app .button-green:hover {
  background: var(--color-green-light);
}
.button-blue {
  border-bottom: calc(var(--rb-radius-default) / 2) solid
    var(--color-d-blue-dark);
  background: var(--color-d-blue-default);
}
.desktop-app .button-blue:hover {
  background: var(--color-d-blue-light);
}
.button-red {
  border-bottom: calc(var(--rb-radius-default) / 2) solid var(--color-red-dark);
  background: var(--color-red-default);
}
.desktop-app .button-red:hover {
  background: var(--color-red-light);
}
.button-purple {
  border-bottom: calc(var(--rb-radius-default) / 2) solid
    var(--color-purple-dark);
  background: var(--color-purple-default);
}
.desktop-app .button-purple:hover {
  background: var(--color-purple-light);
}
.button-gray {
  border-bottom: calc(var(--rb-radius-default) / 2) solid var(--color-gray-dark);
  background: var(--color-gray-default);
}
.desktop-app .button-gray:hover {
  background: var(--color-gray-light);
}
.button.disabled {
  border-bottom: calc(var(--rb-radius-default) / 2) solid var(--color-gray-dark);
  background: var(--color-gray-default);
  cursor: not-allowed;
  pointer-events: none;
}
.button.timeout {
  border-bottom: calc(var(--rb-radius-default) / 2) solid var(--color-gray-dark);
  cursor: not-allowed;
  pointer-events: none;
  background: var(--color-gray-default) !important;
}
.button.timeout img {
  display: none;
}
.desktop-app .button.disabled:hover {
  background: var(--color-gray-light);
}
.button-key {
  width: var(--rb-button-small-height);
  height: var(--rb-button-small-height);
  color: var(--color-text-dark);
  border-bottom: var(--rb-radius-small) solid var(--color-gray-light);
  border-radius: var(--rb-radius-default);
  font-size: var(--rb-font-small);
  z-index: 1;
  pointer-events: none;
  background-color: #fff;
  justify-content: center;
  align-items: center;
  display: flex;
  position: absolute;
  top: 80%;
  right: 60%;
}
.button-key.smaller-text {
  font-size: var(--rb-font-xsmall);
}
.button[cd] {
  color: #0000;
}
.button[cd]:after {
  content: "Wait " attr(cd) "s...";
  top: calc(var(--rb-radius-default) / -2);
  left: 0;
  bottom: calc(var(--rb-radius-default) / -2);
  border-radius: var(--rb-radius-default);
  z-index: 20;
  color: #fff;
  justify-content: center;
  align-items: center;
  display: flex;
  position: absolute;
  right: 0;
}
.button[cd]:before {
  background-color: var(--color-green-default);
  content: "";
  left: 0;
  bottom: calc(var(--rb-radius-default) / -3);
  top: calc(var(--rb-radius-default) / -3);
  border-radius: var(--rb-radius-default);
  border-radius: var(--rb-radius-default);
  z-index: 10;
  border-top: calc(var(--rb-radius-default) / 2) solid transparent;
  border-bottom: calc(var(--rb-radius-default) / 2) solid
    var(--color-green-dark);
  justify-content: center;
  align-items: center;
  transition: right 3s linear;
  display: flex;
  position: absolute;
  right: 100%;
}
.button[cd].cd-animation:before {
  right: 0;
}
.button img {
  height: 100%;
  max-height: 100%;
}
.button-image-label {
  padding-left: var(--rb-gap-default);
}
@keyframes scaleUp {
  0% {
    opacity: 0;
    height: 0%;
  }
  50% {
    opacity: 1;
  }
  to {
    opacity: 0;
    height: 200%;
  }
}
.highlighter:before {
  content: "";
  opacity: 0;
  aspect-ratio: 1;
  border: var(--rb-button-small-height) solid var(--color-yellow-default);
  border-radius: 50%;
  height: 0%;
  animation: 0.75s ease-in-out infinite combinedScaleUp;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
@keyframes combinedScaleUp {
  0% {
    opacity: 0;
    height: 0%;
  }
  50% {
    opacity: 1;
    height: 150%;
  }
  to {
    opacity: 0;
    height: 150%;
  }
}
.highlighter-hand:after {
  content: "";
  pointer-events: none;
  z-index: 2;
  background-image: url(highlight.16a6e4c9.png);
  background-position: 50%;
  background-repeat: no-repeat;
  background-size: contain;
  width: 300%;
  height: 300%;
  animation: 2s ease-in-out infinite moveUpDown;
  position: absolute;
  top: 100%;
  left: 100%;
  transform: translate(-50%);
}
.highlighter-focus:after {
  content: "";
  aspect-ratio: 1;
  z-index: 1;
  border-radius: 50%;
  outline: 2000px solid #000000b3;
  position: absolute;
  inset: -25%;
}
@keyframes moveUpDown {
  0%,
  to {
    transform: translate(-50%) translateY(0);
  }
  50% {
    transform: translate(-50%) translateY(20%);
  }
}
.loading-spinner {
  color: var(--color-purple-default);
  font-size: 3rem;
}
.animated {
  animation-duration: 0.4s;
  animation-fill-mode: both;
}
.slider-container {
  -webkit-overflow-scrolling: touch;
  -ms-overflow-style: none;
  scrollbar-width: none;
  -webkit-overflow-scrolling: touch;
  justify-content: center;
  gap: 10px;
  margin-bottom: 20px;
  display: flex;
  overflow-x: auto;
}
.slider-container::-webkit-scrollbar {
  display: none;
}
.slider-container {
  -ms-overflow-style: none;
  scrollbar-width: none;
}
.slider-container-inner {
  gap: 10px;
  display: flex;
}
.slider-square {
  background-color: #ccc;
  border: 5px solid #fff;
  width: 150px;
  height: 150px;
}
.slider-square.selected {
  border: 5px solid #2ecc71;
}
.modal-wrapper {
  z-index: var(--z-index-modal);
  opacity: 0;
  background-color: #000000b3;
  justify-content: center;
  align-items: center;
  transition: opacity 0.2s;
  display: flex;
  position: fixed;
  inset: 0;
}
.modal-wrapper.in {
  opacity: 1;
}
.modal-inner {
  background: radial-gradient(
    circle at top center,
    var(--color-blue-light),
    var(--color-blue-default),
    var(--color-blue-dark)
  );
  border-radius: calc(var(--rb-border) * 2);
  border: var(--rb-border) solid var(--color-brown-default);
  box-shadow: 0 var(--rb-border) calc(var(--rb-border) * 4) #000000b3;
  width: var(--rb-modal-width);
  min-width: var(--rb-modal-min-width);
  flex-direction: column;
  max-height: 90vh;
  padding: 10px;
  transition: transform 0.2s;
  display: flex;
  position: relative;
  transform: scale(0.8);
}
.modal-inner.width-auto {
  width: auto;
}
.modal-inner.in {
  transform: scale(1);
}
.modal-ribbon {
  height: var(--rb-button-huge-height);
  width: var(--rb-button-huge-height);
  background-position: 50%;
  background-repeat: no-repeat;
  background-size: contain;
  position: absolute;
  top: 0;
  right: 0;
  transform: translate(50%, -40%) rotate(-15deg);
}
.modal-ribbon:before {
  content: "NEW HIGH!";
  font-size: var(--rb-font-xsmall);
  text-align: center;
  position: absolute;
  top: 15%;
  left: 50%;
  transform: translate(-50%);
}
.modal-title {
  text-align: center;
  font-size: var(--rb-font-large);
  color: var(--color-text-dark);
  margin-bottom: var(--rb-border);
}
.modal-header {
  font-size: var(--rb-font-medium);
  margin-bottom: var(--rb-gap-small);
  justify-content: center;
  align-items: center;
  gap: var(--rb-gap-xsmall);
  color: var(--color-text-dark);
  display: flex;
}
.modal-header .multi-line {
  text-align: center;
}
.modal-header .multi-line .green {
  color: var(--color-green-default);
}
.modal-header .multi-line .sub {
  color: var(--color-text-dark);
  font-size: var(--rb-font-normal);
}
.modal-header img {
  height: var(--rb-font-medium);
}
.modal-progress {
  width: 100%;
  height: var(--rb-button-xsmall-height);
  background-color: var(--color-green-light);
  border-radius: var(--rb-radius-default);
  margin-bottom: var(--rb-gap-default);
  font-size: var(--rb-font-small);
  position: relative;
  overflow: hidden;
}
.modal-progress.big {
  height: var(--rb-button-small-height);
  font-size: var(--rb-font-medium);
}
.modal-progress-bar {
  background-color: var(--color-green-dark);
  height: 100%;
  position: absolute;
  left: 0;
}
.modal-progress-text {
  color: #fff;
  justify-content: center;
  align-items: center;
  display: flex;
  position: absolute;
  inset: 0;
}
.modal-subtitle {
  text-align: center;
  font-size: var(--rb-font-medium);
  color: var(--color-text-light);
  margin-bottom: var(--rb-gap-default);
}
.modal-subtitle-focus {
  font-size: var(--rb-font-default);
}
.modal-top {
  flex-shrink: 0;
}
.modal-tabs {
  margin-bottom: var(--rb-border);
  justify-content: center;
  display: flex;
}
.modal-tab-selection {
  height: var(--rb-button-small-height);
  border-radius: calc(var(--rb-button-small-height) / 2);
  padding: 0 calc(var(--rb-border) / 4);
  border: 0.3vh solid var(--color-text-dark);
  font-size: var(--rb-button-small-text);
  align-items: center;
  display: inline-flex;
}
.modal-tab {
  height: calc(var(--rb-button-small-height) * 0.8);
  border-radius: calc(var(--rb-button-small-height) / 0.45);
  padding: 0 var(--rb-border);
  cursor: pointer;
  justify-content: center;
  align-items: center;
  display: flex;
}
.modal-tab.selected {
  background: var(--color-green-default);
  color: #fff;
}
.modal-custom {
  flex-shrink: 1;
  min-width: 0;
  min-height: 0;
  overflow: visible;
}
.modal-custom.scrollable {
  overflow: auto;
}
.modal-actions,
.modal-actions-top {
  margin-top: var(--rb-border);
  justify-content: center;
  align-items: center;
  gap: var(--rb-border);
  display: flex;
}
.modal-bottom {
  flex-shrink: 0;
}
@keyframes spin {
  to {
    transform: rotate(360deg);
  }
}
.modal-spinner img {
  height: var(--rb-font-huge);
  width: var(--rb-font-huge);
  animation: 1s linear infinite spin;
}
.modal-spinner {
  height: var(--rb-font-huge);
  justify-content: center;
  display: flex;
}
.modal-input-area {
  justify-content: center;
  display: flex;
}
.modal-input-wrapper {
  position: relative;
}
.modal-input-area input {
  text-align: center;
  height: var(--rb-button-default-height);
  font-size: var(--rb-button-default-text);
  border-radius: var(--rb-border);
  border: 0.3vh solid var(--color-gray-light);
  padding-right: var(--rb-border);
  outline: none;
}
.modal-input-area .invite-copy {
  text-align: center;
  padding: 0 var(--rb-gap-small);
  border-radius: var(--rb-border);
  border: var(--rb-line) solid var(--color-gray-dark);
  cursor: pointer;
  background-color: #fff;
  justify-content: center;
  align-items: center;
  display: flex;
  position: absolute;
  top: 3px;
  bottom: 3px;
  right: 3px;
}
.modal-generic {
  margin-top: var(--rb-gap-default);
  justify-content: center;
  display: flex;
}
.modal-skin-image {
  justify-content: center;
  align-items: center;
  gap: var(--rb-gap-big);
  font-size: var(--rb-font-big);
  color: var(--color-green-default);
  margin-bottom: var(--rb-gap-huge);
  display: flex;
}
.modal-skin-old {
  height: var(--rb-button-large-height);
  background-color: var(--color-gray-light);
  padding: var(--rb-gap-small);
  border-radius: var(--rb-gap-small);
  border: var(--rb-gap-xsmall) solid var(--color-gray-dark);
  aspect-ratio: 1;
}
.modal-skin-old img {
  height: 100%;
}
.modal-skin-new {
  height: var(--rb-button-huge-height);
  background-color: var(--color-green-light);
  padding: var(--rb-gap-small);
  border-radius: var(--rb-gap-small);
  border: var(--rb-gap-xsmall) solid var(--color-green-dark);
  aspect-ratio: 1;
  image-rendering: pixelated;
  position: relative;
}
.modal-skin-new img {
  height: 100%;
}
.modal-skin-amount {
  z-index: 10;
  font-size: var(--rb-font-small);
  border-radius: var(--rb-gap-xsmall);
  padding: var(--rb-gap-xsmall);
  border: var(--rb-gap-xsmall) solid var(--color-green-default);
  background-color: #fff;
  position: absolute;
  bottom: -25%;
  right: -15%;
}
.modal-skin-desc {
  margin-top: var(--rb-gap-small);
  text-align: center;
}
.sound-switches {
  gap: var(--rb-gap-default);
  justify-content: center;
  align-items: center;
  display: flex;
}
.discord-link {
  color: #fff;
  line-height: var(--rb-font-big);
  font-size: var(--rb-font-default);
  cursor: pointer;
  align-items: center;
  gap: var(--rb-gap-small);
  right: var(--rb-gap-big);
  bottom: var(--rb-gap-big);
  padding: var(--rb-gap-big);
  background-color: var(--color-gray-default);
  border-radius: var(--rb-radius-default);
  border-bottom: calc(var(--line-width) * 4) solid var(--color-gray-dark);
  text-decoration: none;
  transition: all 0.1s;
  display: inline-flex;
  position: absolute;
  box-shadow: -2px 0 4px #00000080;
}
.discord-link:hover {
  background-color: var(--color-discord-default);
  border-bottom-color: var(--color-discord-dark);
  box-shadow: -1px 0 2px #00000080;
}
.modal-toggle-area {
  align-items: center;
  gap: var(--rb-gap-small);
  padding: var(--rb-gap-xsmall);
  margin-top: var(--rb-gap-small);
  font-size: var(--rb-font-small);
  color: var(--color-text-light);
  border: var(--rb-line) solid var(--color-gray-dark);
  border-radius: var(--rb-border);
  display: flex;
}
.modal-toggle-area-title {
  color: var(--color-text-dark);
}
@keyframes scalePulse {
  0% {
    transform: rotate(0) scale(1);
  }
  50% {
    transform: rotate(180deg) scale(1.4);
  }
  to {
    transform: rotate(360deg) scale(1);
  }
}
.discord-link:hover i {
  animation: 0.3s linear forwards scalePulse;
}
.map-blocks-wrapper {
  justify-content: center;
  width: 100%;
  display: flex;
}
.map-blocks {
  gap: var(--rb-border);
  width: calc((var(--rb-map-block-width) * 4) + (var(--rb-border) * 3));
  flex-wrap: wrap;
  justify-content: center;
  display: flex;
}
.map-blocks.three {
  width: calc((var(--rb-map-block-width) * 3) + (var(--rb-border) * 2));
}
.map-unlock {
  z-index: 30;
  color: var(--color-red-light);
  text-align: center;
  padding: var(--rb-gap-small);
  font-size: var(--rb-font-medium);
  background-color: #000000b3;
  justify-content: center;
  align-items: center;
  display: flex;
  position: absolute;
  inset: 0;
}
.map-unlock i {
  display: inline;
}
.map-block {
  aspect-ratio: 1;
  width: var(--rb-map-block-width);
  border: var(--rb-line) solid var(--color-gray-dark);
  border-radius: var(--rb-line);
  cursor: pointer;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  display: flex;
  position: relative;
}
.map-block.disabled {
  pointer-events: none;
  opacity: 0.7;
}
.map-block.new-badge:before {
  content: "NEW";
  background: var(--color-gold-light);
  z-index: 10000;
  padding: 0 var(--rb-gap-small);
  border-top-left-radius: var(--rb-radius-default);
  border-bottom-left-radius: var(--rb-radius-default);
  position: absolute;
  top: 0;
  right: -5%;
}
.map-block .gold-text {
  text-align: center;
  font-size: var(--rb-font-small);
  justify-content: center;
  align-items: center;
  gap: var(--rb-gap-xsmall);
  color: var(--color-green-dark);
  padding: var(--rb-gap-xsmall);
  background-color: #0000001a;
  display: flex;
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
}
.map-block .gold-video {
  white-space: nowrap;
  font-size: var(--rb-font-default);
  padding: var(--rb-gap-xsmall);
  background-color: var(--color-purple-light);
  border-bottom-left-radius: var(--rb-radius-default);
  color: #fff;
  position: absolute;
  top: 0;
  right: 0;
}
.map-block .gold-text img {
  height: var(--rb-font-normal);
  width: var(--rb-font-normal);
  aspect-ratio: 1;
}
.map-block img {
  width: 60%;
  height: 60%;
}
.map-block.selected {
  border: var(--rb-line) solid var(--color-green-dark);
  background-color: var(--color-green-ulight);
}
.map-block:not(.selected).owned {
  border: var(--rb-line) solid var(--color-d-blue-dark);
  background: radial-gradient(
      circle at top center,
      var(--color-blue-light),
      var(--color-blue-default),
      var(--color-blue-dark)
    )
    var(--color-blue-dark);
}
.map-block.disabled {
  pointer-events: none;
}
.map-block.disabled img {
  opacity: 0.5;
}
.map-block.disabled:before {
  content: "";
  z-index: 2;
  opacity: 0.15;
  background-color: #000;
  position: absolute;
  inset: 0;
}
.map-block.na .gold-value {
  color: var(--color-red-dark);
  z-index: 10;
}
.map-block.more {
  text-align: center;
  font-size: var(--rb-font-medium);
  color: var(--color-gray-dark);
  border: var(--rb-line) solid var(--color-gray-dark);
  justify-content: center;
  align-items: center;
  display: flex;
}
.map-image {
  image-rendering: pixelated;
  background-size: cover;
  position: absolute;
  inset: 0;
}
.map-block .prop {
  z-index: 1;
  position: absolute;
}
.map-block .sprite {
  z-index: 2;
  position: relative;
}
.map-text {
  z-index: 20;
  color: #fff;
  font-size: var(--rb-font-small);
  padding: var(--rb-line);
  text-align: center;
  background-color: #000000b3;
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
}
.map-stars {
  z-index: 20;
  color: #fff;
  font-size: var(--rb-font-xsmall);
  padding: var(--rb-line);
  text-align: center;
  background-color: #000000b3;
  position: absolute;
  bottom: 40%;
  left: 0;
  right: 0;
}
.map-diff {
  z-index: 20;
  color: #fff;
  font-size: var(--rb-font-small);
  padding: var(--rb-line);
  text-align: center;
  background-color: #000000b3;
  position: absolute;
  bottom: 20%;
  left: 0;
  right: 0;
}
.map-diff.beginner {
  color: var(--color-green-ulight);
}
.map-diff.easy {
  color: var(--color-green-light);
}
.map-diff.medium {
  color: var(--color-yellow-default);
}
.map-diff.hard {
  color: var(--color-red-light);
}
.map-ccu {
  z-index: 20;
  color: #fff;
  font-size: var(--rb-font-xsmall);
  padding: var(--rb-line);
  text-align: center;
  background-color: #000000b3;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
}
.join-header {
  text-align: center;
  color: var(--color-text-dark);
  font-size: var(--rb-font-xsmall);
  margin-bottom: var(--rb-gap-small);
}
.stars {
  justify-content: center;
  align-items: center;
  gap: var(--rb-gap-big);
  display: flex;
}
.star {
  padding-top: var(--rb-gap-huge);
  margin-bottom: var(--rb-gap-huge);
  position: relative;
}
.star-image {
  opacity: 0;
  transition: transform 0.3s, opacity 0.3s;
  transform: translateY(10%) scale(0.5);
}
.star-image svg {
  width: var(--rb-button-huge-height);
  height: var(--rb-button-huge-height);
}
.star.in .star-image {
  opacity: 1;
  transform: translateY(0) scale(1);
}
.star.fill.in #star-inner {
  animation: 0.3s ease-in-out 0.3s forwards fillAnimation;
}
.star #star-outline {
  stroke: var(--color-text-light);
}
.star.fill.in #star-outline {
  stroke: var(--color-text-dark);
}
.star-case {
  font-size: var(--rb-font-xsmall);
  text-align: center;
  color: var(--color-text-light);
  opacity: 0;
  transition: opacity 0.3s;
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
}
.star.in .star-case {
  opacity: 0.7;
}
.star.fill.in .star-case {
  color: var(--color-text-dark);
  opacity: 1;
}
.star-reward {
  font-size: var(--rb-font-xsmall);
  color: var(--color-text-light);
  opacity: 0;
  -webkit-text-stroke: var(--line-width) #fff;
  text-stroke: var(--line-width) #fff;
  justify-content: center;
  align-items: center;
  transition: font-size 0.3s, opacity 0.3s;
  display: flex;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
}
.star-reward img {
  width: var(--rb-font-xsmall);
  height: var(--rb-font-xsmall);
}
.star.in .star-reward {
  opacity: 0.6;
  font-size: var(--rb-font-medium);
}
.star.fill.in .star-reward {
  opacity: 1;
  color: var(--color-text-dark);
}
.star.in .star-reward img {
  width: var(--rb-font-medium);
  height: var(--rb-font-medium);
}
@keyframes fillAnimation {
  0% {
    fill: #fff;
  }
  to {
    fill: var(--color-yellow-default);
  }
}
.finish-earn {
  font-size: var(--rb-font-medium);
  text-align: center;
  opacity: 0;
  transition: opacity 0.3s;
}
.finish-earn.in {
  opacity: 1;
}
.notify-area {
  pointer-events: none;
  z-index: var(--z-index-notify);
  position: fixed;
  top: 0;
  left: 50%;
  transform: translate(-50%);
}
.notify-area.left {
  left: 0;
  transform: translate(0);
}
.notify-box {
  padding: var(--rb-gap-big);
  background: radial-gradient(
      circle at top center,
      var(--color-blue-light),
      var(--color-blue-default),
      var(--color-blue-dark)
    )
    var(--color-blue-dark);
  font-size: var(--rb-font-medium);
  border-bottom-left-radius: calc(var(--rb-border));
  border-bottom-right-radius: calc(var(--rb-border));
  border-left: var(--rb-border) solid var(--color-brown-default);
  border-right: var(--rb-border) solid var(--color-brown-default);
  border-bottom: var(--rb-border) solid var(--color-brown-default);
  box-shadow: 0 var(--rb-border) calc(var(--rb-border) * 2) #000000b3;
  text-align: center;
  align-items: center;
  gap: var(--rb-gap-small);
  flex-direction: column;
  max-width: 35vw;
  transition: transform 0.3s;
  display: flex;
  transform: translateY(-200%);
}
.notify-box.error {
  background: radial-gradient(
      circle at top center,
      var(--color-red-light),
      var(--color-red-default),
      var(--color-red-dark)
    )
    var(--color-red-dark);
  border-left: var(--rb-border) solid var(--color-red-default);
  border-right: var(--rb-border) solid var(--color-red-default);
  border-bottom: var(--rb-border) solid var(--color-red-default);
  color: #fff;
}
.notify-box.in {
  transform: translateY(0);
}
.notify-image {
  width: 80%;
}
.notify-title {
  font-size: var(--rb-font-medium);
  color: var(--color-text-dark);
}
.notify-subtext {
  font-size: var(--rb-font-small);
  color: var(--color-text-light);
}
.notify-subtext span {
  color: var(--color-red-dark);
}
.emote-area {
  bottom: var(--rb-gap-default);
  width: var(--rb-button-large-height);
  height: var(--rb-button-large-height);
  border-radius: 50%;
  position: fixed;
  left: 50%;
  transform: translate(-50%);
}
.emote-button {
  z-index: 10;
  width: 100%;
  height: 100%;
  position: relative;
}
.emote-button-image {
  pointer-events: none;
  width: 60%;
  transition: opacity 0.3s;
  position: absolute;
  bottom: 0%;
  left: 50%;
  transform: translate(-50%);
}
.emote-area.in .emote-button-image {
  opacity: 1;
}
.emote-button-image img {
  opacity: 0.9;
  width: 100%;
  height: 100%;
}
.emote-shortcut {
  color: var(--color-text-dark);
  font-size: var(--rb-font-small);
  width: var(--rb-button-small-height);
  height: var(--rb-button-small-height);
  border-bottom: var(--rb-radius-small) solid var(--color-gray-light);
  border-radius: var(--rb-radius-default);
  background-color: #fff;
  justify-content: center;
  align-items: center;
  display: flex;
  position: absolute;
  top: 70%;
  right: 60%;
}
.emote-action {
  z-index: 1000;
  pointer-events: none;
  width: 75%;
  height: 200%;
  position: absolute;
  bottom: 0;
  left: 0;
  transform: translateZ(0);
}
.emote-action-inner {
  aspect-ratio: 1;
  opacity: 0;
  width: 100%;
  transition: all 0.2s;
  position: relative;
  top: 40%;
}
.emote-area.in .emote-action-inner {
  opacity: 1;
  top: 0;
}
.emote-action.hover .emote-action-inner {
  transform: scale(1.5);
}
.emote-action img {
  width: 100%;
  position: absolute;
}
.emote-action:nth-of-type(2) {
  z-index: 1000;
  z-index: 9;
  position: absolute;
  bottom: -60%;
  left: -50%;
  transform: rotate(-90deg);
}
.emote-action:nth-of-type(2) img {
  transform: rotate(90deg);
}
.emote-action:nth-of-type(2) .emote-shortcut {
  top: -20%;
  left: 60%;
  transform: rotate(90deg);
}
.emote-action:nth-of-type(3) {
  z-index: 1000;
  z-index: 8;
  position: absolute;
  bottom: 0;
  left: -30%;
  transform: rotate(-30deg);
}
.emote-action:nth-of-type(3) img {
  transform: rotate(30deg);
}
.emote-action:nth-of-type(3) .emote-shortcut {
  top: -40%;
  left: 10%;
  transform: rotate(30deg);
}
.emote-action:nth-of-type(4) {
  z-index: 1000;
  z-index: 7;
  position: absolute;
  bottom: 0;
  left: 55%;
  transform: rotate(30deg);
}
.emote-action:nth-of-type(4) img {
  transform: rotate(-30deg);
}
.emote-action:nth-of-type(4) .emote-shortcut {
  top: -40%;
  left: 35%;
  transform: rotate(-30deg);
}
.emote-action:nth-of-type(5) {
  z-index: 1000;
  z-index: 6;
  position: absolute;
  bottom: -60%;
  left: 70%;
  transform: rotate(90deg);
}
.emote-action:nth-of-type(5) img {
  transform: rotate(-90deg);
}
.emote-action:nth-of-type(5) .emote-shortcut {
  top: -25%;
  left: -10%;
  transform: rotate(-90deg);
}
.emote-overlay {
  width: var(--rb-button-mega-height);
  aspect-ratio: 1;
  opacity: 0;
  background-color: #00000080;
  border-radius: 50%;
  transition: opacity 0.1s;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.emote-area.in .emote-overlay {
  opacity: 1;
}
.emotify {
  z-index: var(--z-index-emotify);
  top: var(--emotify-top);
  left: var(--rb-gap-default);
  width: calc(var(--emotify-width));
  height: calc(var(--rb-button-default-height) * 3);
  pointer-events: none;
  position: fixed;
  overflow: hidden;
}
.emotify-inner {
  width: calc(var(--emotify-width));
}
.emotify-row {
  height: 0;
  transition: height var(--emotify-animation-speed);
  flex-direction: column;
  display: flex;
  position: relative;
  overflow: hidden;
}
.emotify-row.in {
  height: var(--rb-button-default-height);
}
.emotify-slide {
  opacity: 0;
  width: 100%;
  transition: right var(--emotify-animation-speed),
    opacity calc(var(--emotify-animation-speed) * 2);
  padding: var(--rb-gap-xsmall) 0;
  position: absolute;
  top: 0;
  bottom: 0;
  right: 100%;
}
.emotify-slide.in {
  opacity: 1;
  right: 0;
}
.emotify-slide-inner {
  justify-content: flex-end;
  align-items: center;
  gap: var(--rb-gap-default);
  width: 100%;
  height: 100%;
  padding: var(--rb-gap-xsmall) var(--rb-gap-xsmall);
  border-radius: var(--rb-gap-xsmall);
  background-color: #00000080;
  display: flex;
}
.emotify-name {
  text-align: left;
  color: var(--color-red-light);
  font-size: var(--rb-font-small);
  white-space: nowrap;
  text-overflow: ellipsis;
  flex-grow: 1;
  overflow: hidden;
}
.emotify-name.green {
  text-align: left;
  color: var(--color-green-light);
  flex-grow: 1;
}
.emotify-name.purple {
  text-align: left;
  color: var(--color-purple-light);
  flex-grow: 1;
}
.emotify-ball {
  aspect-ratio: 1;
  flex-grow: 0;
  flex-shrink: 0;
  align-items: center;
  height: 80%;
  display: flex;
}
.emotify-ball img {
  height: var(--rb-button-small-height);
  aspect-ratio: 1;
}
.emotify-emote {
  flex-grow: 0;
  flex-shrink: 0;
  align-items: center;
  height: 100%;
  display: flex;
}
.emotify-emote img {
  height: var(--rb-button-small-height);
}
.timerewards {
  width: var(--rb-timerewards-width);
  gap: var(--rb-gap-small);
  box-sizing: border-box;
  grid-template-columns: repeat(5, 1fr);
  display: grid;
}
.timereward {
  border: var(--rb-radius-default) solid var(--color-gray-light);
  border-radius: var(--rb-radius-default);
  background: radial-gradient(
      circle at top center,
      var(--color-blue-light),
      var(--color-blue-default),
      var(--color-blue-dark)
    )
    var(--color-blue-dark);
  padding-top: var(--rb-button-default-height);
  box-sizing: border-box;
  position: relative;
}
.timereward.claimed {
  border: var(--rb-radius-default) solid var(--color-blue-dark);
  opacity: 0.5;
}
.timereward.claimable {
  border: var(--rb-radius-default) solid var(--color-green-light);
}
.timereward-frame {
  aspect-ratio: 1;
  justify-content: center;
  align-items: center;
  gap: var(--rb-gap-xsmall);
  flex-direction: column;
  display: flex;
}
.timereward-ball {
  width: var(--rb-button-big-height);
  aspect-ratio: 1;
  background-position: 50%;
  background-repeat: no-repeat;
  background-size: contain;
}
.timereward-plus {
  font-size: var(--rb-font-small);
}
.timereward-gold {
  image-rendering: pixelated;
  font-size: var(--rb-font-medium);
  flex-direction: column;
  justify-content: center;
  align-items: center;
  display: flex;
}
.timereward-frame.with-ball .timereward-gold {
  font-size: var(--rb-font-small);
  flex-direction: row;
}
.timereward-image {
  height: var(--rb-button-big-height);
  aspect-ratio: 1;
}
.timereward-frame.with-ball .timereward-image {
  height: var(--rb-button-small-height);
}
.timereward-duration {
  font-size: var(--rb-font-small);
  padding: var(--rb-gap-xsmall);
  text-align: center;
  justify-content: center;
  align-items: center;
  display: flex;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
}
.reward-area {
  z-index: 1000;
  top: 0;
  left: var(--rb-gift-position);
  position: fixed;
}
.reward-box {
  background-color: var(--color-red-light);
  width: var(--rb-gift-size);
  height: var(--rb-gift-size);
  border-bottom-left-radius: var(--rb-radius-small);
  border-bottom-right-radius: var(--rb-radius-small);
  border: var(--rb-radius-default) solid var(--color-red-default);
  box-sizing: border-box;
  cursor: pointer;
  border-top: none;
}
.reward-image {
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
  display: flex;
}
.reward-image img {
  aspect-ratio: 1;
  width: 70%;
}
.reward-number {
  font-size: var(--rb-button-default-text);
  width: var(--rb-button-small-height);
  aspect-ratio: 1;
  background-color: var(--color-red-dark);
  color: #fff;
  border-radius: 50%;
  justify-content: center;
  align-items: center;
  display: flex;
  position: absolute;
  top: 90%;
  left: 90%;
  transform: translate(-50%, -50%);
}
.config {
  margin-top: var(--rb-gap-default);
  gap: var(--rb-gap-small);
  flex-direction: column;
  display: flex;
}
.config-row {
  justify-content: center;
  align-items: center;
  gap: var(--rb-gap-xsmall);
  flex-direction: column;
  display: flex;
}
.players {
  z-index: var(--z-index-emotify);
  top: var(--emotify-top);
  left: var(--rb-gap-default);
  width: calc(var(--emotify-width));
  height: calc(var(--rb-button-default-height) * 5);
  pointer-events: none;
  position: fixed;
  overflow: hidden;
}
.players-inner {
  width: calc(var(--emotify-width));
  gap: var(--rb-gap-xsmall);
  flex-direction: column;
  display: flex;
}
.player {
  height: 0;
  transition: height var(--emotify-animation-speed);
  justify-content: flex-end;
  align-items: center;
  gap: var(--rb-gap-default);
  width: 100%;
  height: 100%;
  padding: var(--rb-gap-xsmall) var(--rb-gap-xsmall);
  border-radius: var(--rb-gap-xsmall);
  border: var(--rb-gap-xsmall) solid transparent;
  background-color: #00000080;
  transition: all 0.3s;
  display: flex;
  position: relative;
  overflow: hidden;
}
.player.finished {
  border: var(--rb-gap-xsmall) solid var(--color-gold-light);
}
.player.me.finished {
  border: var(--rb-gap-xsmall) solid var(--color-green-light);
}
.player.in {
  height: var(--rb-button-default-height);
}
.player-name {
  text-align: left;
  color: var(--color-red-light);
  font-size: var(--rb-font-small);
  white-space: nowrap;
  text-overflow: ellipsis;
  flex-grow: 1;
  transition: all 0.3s;
  overflow: hidden;
}
.player.me .player-name {
  text-align: left;
  color: var(--color-green-light);
  flex-grow: 1;
}
.player-ball {
  aspect-ratio: 1;
  border-radius: var(--rb-gap-xsmall);
  flex-grow: 0;
  flex-shrink: 0;
  align-items: center;
  height: 80%;
  display: flex;
}
.player-ball img {
  height: var(--rb-button-small-height);
  aspect-ratio: 1;
}
.player-place {
  aspect-ratio: 1;
  color: var(--color-red-light);
  font-size: var(--rb-font-small);
  height: var(--rb-button-small-height);
  flex-grow: 0;
  flex-shrink: 0;
  justify-content: center;
  align-items: center;
  transition: all 0.3s;
  display: flex;
}
.player.me .player-place {
  color: var(--color-green-light);
}
.lite .player {
  background: 0 0;
}
.lite .player-name,
.lite .player-place {
  opacity: 0;
}
.lite .player.me .player-ball {
  background-color: var(--color-green-light);
}
.trn {
  align-items: center;
  gap: var(--rb-gap-default);
  flex-direction: column;
  display: flex;
  position: relative;
}
.trn_info {
  align-items: center;
  gap: var(--rb-gap-default);
  display: flex;
}
.trn_map-box {
  height: var(--rb-button-xlarge-height);
  aspect-ratio: 1;
  padding: var(--rb-gap-default);
  font-size: var(--rb-font-small);
  border: var(--rb-radius-small) solid var(--color-green-default);
  border-radius: var(--rb-radius-small);
  background: #666;
  position: relative;
}
.trn_map-box.yellow {
  border: var(--rb-radius-small) solid var(--color-yellow-default);
}
.trn_map-box.red {
  border: var(--rb-radius-small) solid var(--color-red-default);
}
.trn_map-box_image {
  width: 100%;
  height: 100%;
  image-rendering: pixelated;
  background-position: 50%;
  background-size: contain;
}
.trn_map-box_diff {
  padding: var(--rb-gap-xsmall);
  color: #fff;
  text-align: center;
  z-index: 2;
  background-color: #000000b3;
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
}
.trn_map-box_diff.green {
  color: var(--color-green-light);
}
.trn_map-box_diff.yellow {
  color: var(--color-yellow-default);
}
.trn_map-box_diff.red {
  color: var(--color-red-light);
}
.trn_map-box_title {
  color: #fff;
  text-align: center;
  background-color: #0006;
  align-items: center;
  display: flex;
  position: absolute;
  inset: 0;
}
.trn_info_text {
  font-size: var(--rb-font-normal);
  width: var(--rb-button-mega-height);
}
.trn_reward_title {
  text-align: center;
  font-size: var(--rb-font-normal);
}
.trn_reward_detail {
  font-size: var(--rb-font-default);
  justify-content: center;
  align-items: center;
  gap: var(--rb-gap-default);
  margin-bottom: var(--rb-gap-default);
  display: flex;
}
.trn_note {
  font-size: var(--rb-font-small);
  color: var(--color-text-light);
  align-items: center;
  display: flex;
}
.trn_note span {
  color: var(--color-text-dark);
}
.trn_note img {
  height: var(--rb-font-small);
  display: inline-block;
}
.trn_warning {
  text-align: center;
  padding: var(--rb-gap-default);
  font-size: var(--rb-font-large);
  color: var(--color-red-light);
  z-index: 100;
  background-color: #000000b3;
  justify-content: center;
  align-items: center;
  display: flex;
  position: absolute;
  inset: 0;
}
.notice {
  justify-content: center;
  align-items: center;
  gap: var(--rb-gap-default);
  z-index: var(--z-index-notice);
  pointer-events: none;
  font-size: var(--rb-font-large);
  color: #fff;
  -webkit-text-stroke: 2px #000;
  text-shadow: 0 0 10px #000;
  flex-direction: column;
  display: flex;
  position: fixed;
  inset: 0;
}
.notice .big-text {
  font-size: var(--rb-font-huge);
}
.notice .green {
  color: var(--color-green-light);
}
.notice .red {
  color: var(--color-red-light);
}
@media (width<=920px) and (aspect-ratio<=1.1) {
  .control-buttons {
    flex-wrap: wrap;
    width: 22vw;
  }
}
@media (aspect-ratio<=1) {
  .contol-info-item {
    height: var(--rb-button-default-height);
  }
}
@media (aspect-ratio<=1.2) {
  .app-wrapper {
    --rb-timerewards-width: calc(50 * var(--main-axes) * var(--size-factor));
  }
  .timerewards {
    grid-template-columns: repeat(3, 1fr);
  }
  .control-info {
    flex-direction: column-reverse;
    justify-content: flex-end;
  }
}
@media (width<=1000px) {
  .app-wrapper {
    --modal-width: 100vw;
  }
  .map-unlock {
    padding: var(--rb-gap-xsmall);
    font-size: var(--rb-font-small);
  }
}
@media (width<=800px) and (aspect-ratio<=1) {
  .app-wrapper {
    --size-factor: 1.2;
  }
  .control-buttons {
    width: 15vw;
  }
}
@media (width<=600px) and (aspect-ratio<=1) {
  .app-wrapper {
    --size-factor: 1.4;
  }
  .control-buttons {
    width: 17vw;
  }
}
@media (width<=1000px) and (aspect-ratio>=1.5) {
  .app-wrapper {
    --size-factor: 1.2;
  }
}
@media (aspect-ratio>=1.5) and (aspect-ratio<=1.7) {
  .control-buttons {
    flex-wrap: wrap;
  }
}
@media (aspect-ratio<=1) {
  .app-wrapper {
    --modal-width: 100vw;
    --main-axes: 1vw;
    --line-width: calc(1px * var(--size-factor));
  }
}
