/* Common imports for all CSS modules */
/*
 * This source is generated by bin/gen/licon.py. Run licon.py after changing public/font/lichess.sfd
 *
 * Constant names and values are pulled from private use characters defined in the sfd file.
 *
 * Character names can be edited in fontforge's "glyph info" dialog, or by editing the StartChar: line that
 * begins each character chunk in lichess.sfd
 *
 * To make these characters visible in your editor, install the lichess.ttf font (which is also generated by
 * licon.py) and then add it to your editor's font list.
 */
/* Uniboard: keep the same page layout across pages */
.piece-letter kwdb {
  font-family: "Noto Sans", sans-serif;
}

i5z, .material score, .rclock .time, .game__tournament .clock, .mchat__messages a:not(.user-link), .mchat__tab, kwdb draw {
  font-family: Roboto, sans-serif;
  font-weight: 300;
}

kwdb {
  font-family: "Noto Chess", "Noto Sans";
}

kwdb draw {
  margin-inline-start: 1ch;
  font-weight: normal;
}

/* text printed directly on the page background deserves special treatment (transp theme) */
.round__now-playing .now-playing, .rclock .tour-rank, .chat__members {
  color: var(--c-font-page);
}

.round__now-playing .now-playing, .rclock .tour-rank, .chat__members {
  text-shadow: 0 1px 0 var(--c-font-shadow);
}

#powerTip .forecast-info .title, .cmn-toggle input:disabled + label::before, .cmn-toggle input:disabled + label::after, .crosstable__users, .crosstable__score {
  box-shadow: inset 0 2px 3px -2px hsl(0, 0%, 45%), inset 0 -4px 6px -3px var(--m-body-gradient--lighten-3);
}
html.light #powerTip .forecast-info .title, #powerTip .forecast-info html.light .title, html.light .cmn-toggle input:disabled + label::before, .cmn-toggle html.light input:disabled + label::before, html.light .cmn-toggle input:disabled + label::after, .cmn-toggle html.light input:disabled + label::after, html.light .crosstable__users, html.light .crosstable__score {
  box-shadow: inset 0 3px 3px -2px #fff, inset 0 -4px 6px -3px var(--m-body-gradient--lighten-5);
}
#powerTip .forecast-info .title, .cmn-toggle input:disabled + label::before, .cmn-toggle input:disabled + label::after, .crosstable__users, .crosstable__score {
  background-image: linear-gradient(to bottom, var(--c-metal-top), var(--c-metal-bottom));
}

.rcontrols .rematch.fbt, .cmn-toggle label::after, .crosstable povs:hover {
  box-shadow: inset 0 2px 3px -2px hsl(0, 0%, 45%), inset 0 -4px 6px -3px var(--m-body-gradient--lighten-3), 0 1px 3px 0 hsla(0, 0%, 0%, 0.2);
}
html.light .rcontrols .rematch.fbt, .rcontrols html.light .rematch.fbt, html.light .cmn-toggle label::after, .cmn-toggle html.light label::after, html.light .crosstable povs:hover, .crosstable html.light povs:hover {
  box-shadow: inset 0 3px 3px -2px #fff, inset 0 -4px 6px -3px var(--m-body-gradient--lighten-5), 0 1px 3px 0 hsla(0, 0%, 0%, 0.18);
}
.rcontrols .rematch.fbt, .cmn-toggle label::after, .crosstable povs:hover {
  background: linear-gradient(to bottom, var(--c-metal-top), var(--c-metal-bottom));
  text-shadow: 0.5px 0.5px 0 var(--m-dimmer--fade-20) !important;
}
.rcontrols .rematch.fbt:hover:not(.disabled, :disabled, [disabled]), .cmn-toggle label:hover:not(.disabled, :disabled, [disabled])::after, .crosstable povs:hover:not(.disabled, :disabled, [disabled]) {
  box-shadow: inset 0 3px 3px -2px var(--c-border-light), inset 0 -5px 8px -3px var(--m-body-gradient--lighten-5), 0 2px 4px 0 hsla(0, 0%, 0%, 0.24);
}
html.light .rcontrols .rematch.fbt:hover:not(.disabled, :disabled, [disabled]), .rcontrols html.light .rematch.fbt:hover:not(.disabled, :disabled, [disabled]), html.light .cmn-toggle label:hover:not(.disabled, :disabled, [disabled])::after, .cmn-toggle html.light label:hover:not(.disabled, :disabled, [disabled])::after, html.light .crosstable povs:hover:not(.disabled, :disabled, [disabled]), .crosstable html.light povs:hover:not(.disabled, :disabled, [disabled]) {
  box-shadow: inset 0 4px 3px -2px #fff, inset 0 -5px 8px -3px var(--m-body-gradient--lighten-7), 0 2px 4px 0 hsla(0, 0%, 0%, 0.21);
}
.rcontrols .rematch.fbt:hover:not(.disabled, :disabled, [disabled]), .cmn-toggle label:hover:not(.disabled, :disabled, [disabled])::after, .crosstable povs:hover:not(.disabled, :disabled, [disabled]) {
  background: linear-gradient(to bottom, var(--c-metal-top-hover), var(--c-metal-bottom-hover));
}

html.transp .board-menu::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: -1;
  backdrop-filter: blur(6px);
}
.board-menu {
  box-shadow: -1px 5px 6px rgba(0, 0, 0, 0.3);
}

.mchat__tab, .context-streamer {
  white-space: nowrap;
  overflow: hidden;
}

.game__meta .user-tv, .mchat__tab span {
  white-space: nowrap;
}

.mchat__messages {
  overflow-wrap: break-word;
  word-break: normal;
}

.ruser a, .crosstable__users, .game__meta .user-tv, .mchat__tab span {
  overflow: hidden;
  text-overflow: ellipsis;
}

.cmn-toggle label::before {
  font-size: 1.2em;
  vertical-align: middle;
  font-family: lichess;
  font-style: normal;
  font-weight: normal;
  text-transform: none;
  speak: none;
  content: attr(data-icon);
  opacity: 0.9;
  unicode-bidi: isolate;
}

rm6, .cmn-toggle input {
  touch-action: manipulation;
}

.cmn-toggle input {
  position: absolute;
  inset-inline-start: -99999px;
}

.rcontrols .suggestion, .rclock .tour-rank,
.rclock .moretime,
.rclock .berserked {
  /* extends %flex-wrap */
  display: flex;
  flex-flow: row wrap;
  align-items: center;
}

.rcontrols .rematch-decline, .rcontrols .question, .rcontrols .pending, .material, .ruser .line, .game__meta__infos, .chat__members__number, #blindfoldzone, .context-streamer, .board-menu .setting {
  display: flex;
  flex-flow: row nowrap;
  align-items: center;
}

.expiration {
  /* extends %flex-center */
  display: flex;
  flex-flow: row wrap;
  align-items: center;
  justify-content: center;
}

.round__now-playing h3 {
  /* extends %flex-center */
  display: flex;
  flex-flow: row wrap;
  align-items: center;
  justify-content: space-between;
}

.rcontrols .follow-up, rm6, .round__side, .mchat__content, .mchat, .crosstable povs, .crosstable__users, .crosstable__score, .crosstable__matchup, .board-menu section, .board-menu > div, .board-menu {
  display: flex;
  flex-flow: column;
}

#blindfoldtog, #zentog, .context-streamer, .game__meta, .mchat, .crosstable {
  border-radius: 7px;
}

/* helps with clipping background into border-radius */
.game__meta, .mchat, .crosstable {
  overflow: hidden;
}

.crosstable .sep {
  border-radius: 7px 0 0 7px;
}

.rcontrols .rematch-decline, .round__app__table {
  border-radius: 0 7px 7px 0;
}

.rclock-top .time, .mchat__tab {
  border-radius: 7px 7px 0 0;
}

.rclock-bottom .time {
  border-radius: 0 0 7px 7px;
}

.rcontrols .rematch-decline, rm6 rb1, .rclock .time, .round__app__table, .game__meta, .mchat, .crosstable {
  box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.08), 0 3px 1px -2px rgba(0, 0, 0, 0.18), 0 1px 5px 0 rgba(0, 0, 0, 0.1);
}

html.transp .game__meta, html.transp .mchat, html.transp .crosstable {
  backdrop-filter: blur(6px);
}

coords {
  font-size: 8px;
}
@media (min-width: 300px) {
  coords {
    font-size: calc(8px + 4 * (100vw - 300px) / 900);
  }
}
@media (min-width: 1200px) {
  coords {
    font-size: 12px;
  }
}
coords {
  user-select: none;
  /* handle inner coords */
  position: absolute;
  display: flex;
  pointer-events: none;
  color: #fff;
  text-shadow: 0 1px 2px #000;
  font-weight: bold;
  /* handle hidden coords */
}
.coords-no coords {
  display: none;
}
coords.ranks {
  flex-flow: column-reverse;
  top: 1px;
  right: 0;
  height: 100%;
  width: 0.8em;
}
coords.ranks.black {
  flex-flow: column;
}
coords.files {
  bottom: 0;
  left: 0;
  text-align: left;
  flex-flow: row;
  width: 100%;
  height: 1.4em;
}
coords.files.black {
  flex-flow: row-reverse;
}
coords.files coord {
  padding-left: 4px;
}
coords coord {
  flex: 1 1 auto;
}
coords {
  /* negate inner coords colors */
}
coords .is3d .cg-wrap coords coord {
  color: #fff !important;
  text-shadow: 0 1px 2px #000 !important;
}
coords .is3d .cg-wrap coords.files {
  bottom: calc(1px - 2.5%);
}
coords .is3d .cg-wrap coords.files coord {
  padding-left: 3px;
}

coords {
  text-shadow: var(---cg-cs, 0 1px 2px #000);
}

/** Alternating colors in rank/file/square labels */
coords .coord-light {
  color: var(---cg-ccb, #fff);
}

coords .coord-dark {
  color: var(---cg-ccw, #fff);
}

/* handle outer coords */
@media (min-width: 799.3px), (orientation: landscape) {
  .coords-out coords {
    text-shadow: none;
  }
  .coords-out coords.ranks {
    right: -15px;
    top: 0;
    width: 12px;
  }
  .coords-out coords.ranks coord {
    transform: translateY(42%);
  }
  .coords-out coords.files {
    bottom: -15px;
    left: 0;
    text-align: center;
  }
  .coords-out coords.ranks coord,
  .coords-out .is2d coords.files coord {
    color: var(--c-font-page) !important;
  }
}
body {
  ---board-scale: 1;
}
@media (min-width: 799.3px) and (min-height: 499.3px) {
  body {
    ---board-scale: calc((var(---zoom) / 100) * 0.75 + 0.25);
  }
}
body {
  ---col2-uniboard-width: calc(min(calc(100vw - var(---block-gap) - 240px - 2 * var(---main-margin, 0px) - 20px), calc(100vh - calc(var(---site-header-height) + var(---site-header-margin) + var(---sticky-gap)) - 1rem)) * var(---board-scale));
  ---col3-uniboard-width: calc(min(calc(100vw - var(---col3-uniboard-side-min, 250px) - var(---block-gap) - 240px - 2 * var(---main-margin, 0px) - 20px), calc(100vh - calc(var(---site-header-height) + var(---site-header-margin) + var(---sticky-gap)) - 1rem)) * var(---board-scale));
}

@media (max-width: 799.29px) and (orientation: portrait) {
  .main-board cg-board {
    border-radius: 0;
  }
}
.board-menu {
  user-select: none;
  background: var(--c-bg-popup);
  padding: 0.5em 1.5em;
}
@media (min-width: 799.3px) {
  .board-menu {
    position: absolute;
    right: 0;
    min-width: 100%;
    z-index: 4;
  }
}
@media (max-width: 799.29px) {
  .board-menu {
    border-radius: 7px;
    position: fixed;
    top: 50% !important;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 108;
    min-width: 80%;
  }
}
.board-menu > div {
  gap: 2em;
  text-align: start;
}
.board-menu section {
  gap: 1.5em;
  padding: 1.2em 0;
}
.board-menu section:not(:last-child) {
  border-bottom: 1px solid var(--c-border);
}
.board-menu .setting {
  flex: 0 0 auto;
}
.board-menu .setting label {
  flex: 4 1 auto;
  cursor: pointer;
}

body.resizing {
  user-select: none;
}

cg-resize {
  display: none;
}
@media (min-width: 799.3px) {
  cg-resize {
    display: block;
    position: absolute;
    right: -9px;
    bottom: -9px;
    width: 22px;
    height: 22px;
    cursor: nwse-resize;
    z-index: 10;
  }
  cg-resize::before, cg-resize::after {
    background: #000;
    content: "";
    position: absolute;
    width: 12px;
    height: 1px;
    left: 0;
  }
  cg-resize::before {
    width: 5px;
    transform: translate(7px, 8px) rotate(-45deg);
  }
  cg-resize::after {
    transform: translate(1px, 6px) rotate(-45deg);
  }
  cg-resize:hover {
    border-radius: 50%;
    background: var(--m-accent--fade-50);
  }
  .resizing cg-resize {
    border-radius: 50%;
    background: var(--m-secondary--fade-50);
  }
}

.color-icon.white::before {
  content: "\e028";
}
.color-icon.black::before {
  content: "\e029";
}
html.light .color-icon.white::before {
  content: "\e029";
}
html.light .color-icon.black::before {
  content: "\e028";
}
.color-icon.random::before {
  content: "\e04a";
}

.crosstable__users {
  flex: 1 1 auto;
}

.crosstable {
  width: 100%;
  line-height: 1.9em;
  display: flex;
}
.crosstable fill,
.crosstable povs {
  background: var(--c-bg-box);
  flex: 1 1 auto;
}
.crosstable povs, .crosstable__users, .crosstable__score, .crosstable__matchup {
  text-align: center;
}
.crosstable__users {
  max-width: 40vw;
  text-align: left;
}
.crosstable__users a {
  padding-inline-start: var(---block-gap);
}
.crosstable__score {
  flex: 0 0 auto;
  font-weight: bold;
}
.crosstable__score span {
  padding: 0 var(---block-gap);
}
.crosstable__matchup {
  flex: 1 1 auto;
  font-weight: bold;
  background: var(--m-primary_bg--mix-20);
}
.crosstable povs a {
  color: var(--c-font-dim);
  flex: 0 0 50%;
}
.crosstable povs:hover a {
  opacity: 1 !important;
}
.crosstable povs a.loss {
  opacity: 0.2;
}
.crosstable povs.current a {
  background: var(--m-accent_bg--mix-70);
  color: #fff;
  opacity: 1 !important;
}
.crosstable povs.new {
  border: var(--c-border);
}
@media (max-width: 649.29px) {
  .crosstable povs {
    display: none;
  }
  .crosstable povs:nth-last-child(-n+12) {
    display: flex;
  }
}
.crosstable .sep {
  border-inline-start: 1px solid var(--c-border);
  margin-inline-start: 0.3em;
}
.crosstable .win {
  font-weight: bold;
  color: var(--c-good);
}
.crosstable .loss {
  color: var(--c-bad);
}

.fbt {
  color: var(--c-font);
  text-transform: uppercase;
  line-height: 1.5;
  transition: all 150ms ease;
}
@media (hover: hover) {
  .fbt:hover:not(.disabled, [disabled]) {
    background: var(--m-secondary_bg--mix-75);
    color: #fff;
  }
}
.fbt.active {
  background: var(--c-secondary) !important;
  color: var(--c-over);
}
.fbt.disabled, .fbt[disabled] {
  opacity: 0.5;
  cursor: default;
}

@keyframes glowing {
  42% {
    background: none;
  }
  50% {
    background: var(--m-primary_bg--mix-20);
  }
  58% {
    background: none;
  }
}
.glowing {
  animation: glowing 2s ease-in-out infinite;
}

@keyframes bar-glider-anim {
  0% {
    transform: translateX(-1300px);
  }
  100% {
    transform: translateX(2100px);
  }
}
.bar-glider {
  position: relative;
  overflow: hidden;
}
html:not([dir=rtl]) .bar-glider::after {
  left: 0;
}
html[dir=rtl] .bar-glider::after {
  right: 0;
}
.bar-glider::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  width: 70px;
  background: linear-gradient(to right, rgba(255, 255, 255, 0), rgba(255, 255, 255, 0.3));
  animation: bar-glider-anim 3s linear infinite;
}
html[dir=rtl] .bar-glider::after {
  background: linear-gradient(to left, rgba(255, 255, 255, 0), rgba(255, 255, 255, 0.3));
}
@media (prefers-reduced-motion: reduce) {
  .bar-glider::after {
    display: none;
  }
}

.now-playing {
  display: grid;
  ---np-min-width: 200px;
}
@media (max-width: 499.29px) {
  .now-playing {
    ---np-min-width: 50%;
  }
}
.now-playing {
  grid-template-columns: repeat(auto-fill, minmax(var(---np-min-width), 1fr));
}
.now-playing > a {
  color: var(--c-font);
  padding: 0.3em;
}
.now-playing > a:focus-visible {
  outline-offset: -2px;
}
.now-playing .indicator {
  color: var(--c-accent);
  margin-top: -3px;
  display: block;
}
.now-playing cg-board {
  box-shadow: none;
}

.context-streamers {
  max-height: 20vh;
  overflow-y: auto;
}

.context-streamer {
  transition: all 150ms ease;
  height: 2em;
  padding-inline-start: 0.2em;
  background: var(--c-bg-box);
  color: var(--c-font-dim);
  margin-top: 2px;
}
.context-streamer strong {
  color: var(--c-brag);
  font-weight: normal;
  padding-inline-end: 0.7ch;
}
.context-streamer::before {
  font-size: 1.3em;
  color: var(--c-brag);
}
.context-streamer:hover {
  color: var(--c-font-dim);
  background: var(--c-bg-zebra);
}

#zenzone {
  position: absolute;
  display: none;
  flex-flow: row nowrap;
  align-items: center;
  z-index: 111;
}
body.zenable.zen #zenzone {
  display: flex;
}
#zenzone .zen-home {
  flex: 0 0 4em;
  height: 4em;
  padding: 1em 1em;
  background: center no-repeat url("../logo/lichess-white.svg");
}
html.light #zenzone .zen-home {
  background-image: url("../logo/lichess.svg");
}
#zenzone .zen-home {
  background-size: 2em;
  opacity: 0.5;
}
#zenzone .zen-home:hover {
  opacity: 1;
}

#zentog {
  flex: 0 0 auto;
  padding: 0.2em 1em;
  opacity: 0.5;
}
#zentog:hover {
  opacity: 1;
}

#blindfoldzone {
  position: fixed;
  bottom: 20px;
  inset-inline-end: 6px;
  height: 4em;
  z-index: 3;
}
@media (max-width: 1019.29px) {
  #blindfoldzone {
    bottom: auto;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    justify-content: center;
    z-index: 111;
  }
}
@media (max-width: 499.29px) {
  #blindfoldzone {
    bottom: 10px;
    top: auto;
  }
}

#blindfoldtog {
  flex: 0 0 auto;
  padding: 0.2em 1em;
  opacity: 0.9;
  background: var(--c-bad);
  color: var(--c-over);
  font-weight: bold;
  text-transform: uppercase;
  line-height: 1.2;
}
#blindfoldtog:hover {
  opacity: 1;
}

.cmn-toggle-wrap {
  display: inline-flex;
  align-items: center;
  gap: 0.8ch;
  cursor: pointer;
  user-select: none;
}

.cmn-toggle label {
  user-select: none;
  transition: background 150ms ease, box-shadow 150ms ease;
  display: block;
  position: relative;
  cursor: pointer;
  outline: none;
  padding: 1px;
  width: 40px;
  height: 24px;
  border: 1px solid var(--c-border);
  border-radius: 24px;
  background-clip: padding-box;
  background-color: var(--c-font-dimmer);
}
.cmn-toggle label::before, .cmn-toggle label::after {
  display: block;
  position: absolute;
  content: "";
  width: 22px;
  height: 22px;
  bottom: 0;
}
html:not([dir=rtl]) .cmn-toggle label::before, html:not([dir=rtl]) .cmn-toggle label::after {
  left: 0;
}
html[dir=rtl] .cmn-toggle label::before, html[dir=rtl] .cmn-toggle label::after {
  right: 0;
}
.cmn-toggle label::before {
  transition: margin 150ms ease, color 150ms ease;
  font-size: 1em;
  z-index: 1;
  text-align: center;
  line-height: 22px;
  content: "\e02a";
  color: var(--c-font-dimmer);
  border-radius: 100%;
}
.cmn-toggle label::after {
  transition: margin 150ms ease, box-shadow 150ms ease;
  border-radius: 100%;
}
html.transp .cmn-toggle label::after {
  background: linear-gradient(to bottom, hsl(37, 7%, 22%), hsl(37, 5%, 19%) 100%);
}

.cmn-toggle input:checked + label {
  background-color: var(--c-good);
}
.cmn-toggle input:checked + label::before, .cmn-toggle input:checked + label::after {
  margin-inline-start: 16px;
}
.cmn-toggle input:checked + label::before {
  content: "\e023";
  color: var(--c-good);
}

.cmn-toggle input:disabled + label {
  opacity: 0.6;
  cursor: not-allowed !important;
}
.cmn-toggle input:disabled + label::before, .cmn-toggle input:disabled + label::after {
  box-shadow: none;
}

.cmn-toggle input:focus-visible:not(:disabled) + label {
  box-shadow: 0 0 12px var(--c-font-dimmer);
  border-color: var(--c-primary);
}

html:not([dir=rtl]) .variant-racingKings .cg-wrap.cg-wrap cg-container::before {
  left: 0;
}
html[dir=rtl] .variant-racingKings .cg-wrap.cg-wrap cg-container::before {
  right: 0;
}
.variant-racingKings .cg-wrap.cg-wrap cg-container::before {
  box-shadow: 0 14px 28px rgba(0, 0, 0, 0.25), 0 10px 10px rgba(0, 0, 0, 0.22);
  background: hsla(0, 0%, 90%, 0.2);
  width: 100%;
  height: 12.5%;
  content: "";
  position: absolute;
  z-index: 1;
  pointer-events: none;
}
.variant-racingKings .cg-wrap.orientation-white cg-container::before {
  top: 0;
}
.variant-racingKings .cg-wrap.orientation-black cg-container::before {
  bottom: 0;
}

html:not([dir=rtl]) .variant-kingOfTheHill cg-container::before {
  left: 37.5%;
}
html[dir=rtl] .variant-kingOfTheHill cg-container::before {
  right: 37.5%;
}
.variant-kingOfTheHill cg-container::before {
  width: 25%;
  height: 25%;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.7);
  background: hsla(0, 0%, 90%, 0.2);
  content: "";
  position: absolute;
  top: 37.5%;
  z-index: 1;
  pointer-events: none;
}

#promotion-choice {
  background: var(--m-bg--fade-30);
  z-index: 205;
  position: absolute;
  width: var(---cg-width, 100%);
  height: var(---cg-height, 100%);
}
html:not([dir=rtl]) #promotion-choice {
  right: 0;
}
html[dir=rtl] #promotion-choice {
  left: 0;
}
#promotion-choice square {
  cursor: pointer;
  border-radius: 50%;
  background-color: #b0b0b0;
  box-shadow: inset 0 0 25px 3px #808080;
  pointer-events: all;
  transition: all 150ms ease;
}
#promotion-choice piece {
  pointer-events: none;
  opacity: 1;
}
.is2d #promotion-choice piece {
  transition: all 150ms ease;
  width: 100%;
  height: 100%;
  transform: scale(0.8);
}
#promotion-choice square:hover {
  box-shadow: inset 0 0 48px 8px var(--c-accent);
  border-radius: 0;
}
.is2d #promotion-choice square:hover piece {
  transform: none;
}

.blindfold.main-board piece,
.blindfold .now-playing piece {
  opacity: 0 !important;
}
.blindfold.main-board .check {
  background-image: none;
}

#promotion-choice piece {
  opacity: 1 !important;
}

.cmn-toggle-wrap {
  display: inline-flex;
  align-items: center;
  gap: 0.8ch;
  cursor: pointer;
  user-select: none;
}

.cmn-toggle label {
  user-select: none;
  transition: background 150ms ease, box-shadow 150ms ease;
  display: block;
  position: relative;
  cursor: pointer;
  outline: none;
  padding: 1px;
  width: 40px;
  height: 24px;
  border: 1px solid var(--c-border);
  border-radius: 24px;
  background-clip: padding-box;
  background-color: var(--c-font-dimmer);
}
.cmn-toggle label::before, .cmn-toggle label::after {
  display: block;
  position: absolute;
  content: "";
  width: 22px;
  height: 22px;
  bottom: 0;
}
html:not([dir=rtl]) .cmn-toggle label::before, html:not([dir=rtl]) .cmn-toggle label::after {
  left: 0;
}
html[dir=rtl] .cmn-toggle label::before, html[dir=rtl] .cmn-toggle label::after {
  right: 0;
}
.cmn-toggle label::before {
  transition: margin 150ms ease, color 150ms ease;
  font-size: 1em;
  z-index: 1;
  text-align: center;
  line-height: 22px;
  content: "\e02a";
  color: var(--c-font-dimmer);
  border-radius: 100%;
}
.cmn-toggle label::after {
  transition: margin 150ms ease, box-shadow 150ms ease;
  border-radius: 100%;
}
html.transp .cmn-toggle label::after {
  background: linear-gradient(to bottom, hsl(37, 7%, 22%), hsl(37, 5%, 19%) 100%);
}

.cmn-toggle input:checked + label {
  background-color: var(--c-good);
}
.cmn-toggle input:checked + label::before, .cmn-toggle input:checked + label::after {
  margin-inline-start: 16px;
}
.cmn-toggle input:checked + label::before {
  content: "\e023";
  color: var(--c-good);
}

.cmn-toggle input:disabled + label {
  opacity: 0.6;
  cursor: not-allowed !important;
}
.cmn-toggle input:disabled + label::before, .cmn-toggle input:disabled + label::after {
  box-shadow: none;
}

.cmn-toggle input:focus-visible:not(:disabled) + label {
  box-shadow: 0 0 12px var(--c-font-dimmer);
  border-color: var(--c-primary);
}

.mchat__tabs {
  flex: 0 0 auto;
  display: flex;
}
.mchat__tab {
  flex: 1 1 auto;
  text-align: center;
  padding: 0.4em 10px;
  cursor: pointer;
  color: var(--c-font-page);
  transition: all 150ms ease;
}
.mchat__tab:hover {
  background: var(--m-accent_bg--mix-15);
}
.mchat__tab-active {
  color: var(--c-font);
  background: var(--c-bg-box) !important;
}
.mchat__tab:last-child {
  border-inline-end: none;
}
.mchat-optional .mchat__tab.discussion {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.chat__members {
  font-size: 0.9em;
  height: 100%;
  overflow: hidden;
}
.chat__members__inner {
  display: flex;
  align-items: flex-start;
}
.chat__members__number {
  margin-inline-end: 1ch;
}
.chat__members__number::before {
  font-size: 1em;
  color: var(--c-font-dim);
  margin-inline-end: 0.2ch;
}

.mchat__messages {
  flex: 1 1 auto;
  max-height: 50vh;
}
@media (min-width: 1259.3px) {
  .mchat__messages {
    max-height: none;
  }
}
.mchat__messages {
  overflow-y: auto;
  overflow-x: hidden;
  cursor: initial;
  font-size: 0.9em;
}
.mchat__messages li {
  padding-inline-start: 10px;
  padding-inline-end: 5px;
  padding-top: 0.5em;
  padding-bottom: 0.5em;
  position: relative;
  line-height: 1.2em;
  overflow-y: hidden;
  user-select: text;
  overflow-wrap: anywhere;
}
.mchat__messages li.me {
  border-inline-start: 3px solid var(--c-secondary-dim);
  padding-inline-start: 7px;
}
.mchat__messages li.host {
  background-color: var(--c-chat-host-bg);
}
.mchat__messages li.mentioned {
  background-color: var(--c-chat-mention-bg);
}
.mchat__messages .deleted {
  opacity: 0.5;
}
.mchat__messages .system {
  display: block;
  opacity: 0.8;
  font-style: italic;
  font-size: 0.9em;
  margin-inline-start: 0;
  text-align: center;
}
.mchat__messages .color,
.mchat__messages .user-link {
  display: inline-block;
  font-weight: bold;
  padding: 0;
  color: var(--c-font-dim);
  letter-spacing: -1px;
  padding-inline-end: 0.4em;
  text-overflow: ellipsis;
  vertical-align: bottom;
}
.mchat__messages .patron {
  font-size: 1.1em;
  width: 1.2em;
  text-align: left;
}
.mchat__messages .utitle {
  margin-right: 3px;
}
html:not([dir=rtl]) .mchat__messages action {
  right: 0;
}
html[dir=rtl] .mchat__messages action {
  left: 0;
}
.mchat__messages action {
  display: none;
  position: absolute;
  top: 5px;
  cursor: pointer;
  margin-inline-end: 3px;
  padding: 1px 5px;
  opacity: 0.7;
  color: var(--c-accent);
}
.mchat__messages action:hover {
  opacity: 1;
}
html:not([dir=rtl]) .mchat__messages action.reply {
  right: 25px;
}
html[dir=rtl] .mchat__messages action.reply {
  left: 25px;
}
.mchat__messages li:hover action {
  display: block;
  text-shadow: 0 0 2px var(--c-bg-box), 0 0 5px var(--c-bg-box), 0 0 10px var(--c-bg-box);
}
.mchat__messages li.me action {
  display: none !important;
}
.mchat__messages.as-mod li:hover {
  background: var(--m-accent_bg--mix-10);
}
.mchat__messages::-webkit-scrollbar, .mchat__messages::-webkit-scrollbar-corner {
  background: unset;
}
.mchat__say {
  padding-inline-start: 4px;
  padding-inline-end: 20px;
  padding-top: 3px;
  padding-bottom: 3px;
  flex: 0 0 auto;
  border: 0;
  border-top: 1px solid var(--c-border);
  border-radius: 0;
}
.mchat__say:focus {
  outline: 1px solid var(--c-primary);
}
.mchat__say.whisper {
  color: var(--c-good);
  font-weight: bold;
  font-style: italic;
}

@keyframes voicechat-glowing {
  40% {
    background: none;
  }
  50% {
    background: var(--m-secondary_bg--mix-30);
  }
  60% {
    background: var(--m-primary_bg--mix-30);
  }
  70% {
    background: none;
  }
}
.voicechat {
  flex: 0 1 auto;
  animation: voicechat-glowing 1.5s ease-in-out infinite;
}
.voicechat-slot {
  animation: none;
  opacity: 0.6;
}
.voicechat-slot:hover {
  opacity: 1;
}
.voicechat-off {
  animation: none;
}
.voicechat-on {
  background: var(--c-good);
  color: var(--c-over);
  animation: none;
}
.voicechat-on:hover {
  background: var(--c-bad) !important;
  color: var(--c-over) !important;
}
html:not([dir=rtl]) .voicechat::after {
  left: 0;
}
html[dir=rtl] .voicechat::after {
  right: 0;
}
html:not([dir=rtl]) .voicechat::after {
  right: auto;
}
html[dir=rtl] .voicechat::after {
  left: auto;
}
.voicechat::after {
  top: 1px;
  background: none;
  box-shadow: none;
}

.mchat {
  grid-area: chat;
  justify-content: stretch;
}
.mchat__content {
  background: var(--c-bg-box);
  flex: 1 1 auto;
  overflow: hidden;
}
.mchat__content.note textarea {
  font-size: 0.9em;
  flex-grow: 1;
  border: 1px solid transparent;
  background-color: transparent;
  line-height: 1.7em;
  outline: none;
  resize: none;
}
.mchat__content.note textarea:focus {
  border-color: var(--c-primary);
}
.mchat {
  min-height: 15em;
}

.mchat__presets {
  user-select: none;
  display: flex;
  flex: 0 0 auto;
  align-items: center;
  flex-flow: row nowrap;
  line-height: 1.4em;
}
.mchat__presets span {
  flex: 1 1 auto;
  text-align: center;
  display: block;
  opacity: 0.8;
  border: 1px solid var(--c-border);
  border-width: 1px 1px 0 0;
  font-size: 0.9em;
  text-transform: uppercase;
  cursor: pointer;
  transition: all 150ms ease;
}
.mchat__presets span.disabled {
  background: var(--m-accent_bg--mix-15);
  color: transparent;
  cursor: default;
}
.mchat__presets span:not(.disabled):hover {
  background: var(--c-accent);
  color: var(--c-over);
  opacity: 1;
}

#main-wrap {
  ---main-max-width: auto;
}
@media (max-width: 799.29px) and (orientation: portrait) {
  #main-wrap {
    ---main-max-width: calc(
      100vh - calc(var(---site-header-height) + var(---site-header-margin) + var(---sticky-gap)) - 100px - 4em
    );
  }
}

.round {
  grid-area: main;
  display: grid;
  gap: var(---block-gap);
}
@media (max-width: 799.29px) and (orientation: portrait) {
  .round {
    gap: 0;
  }
  .round .game__meta__players {
    display: none;
  }
}
.round__app {
  grid-area: app;
}
.round__side {
  grid-area: side;
}
.round__underboard {
  grid-area: under;
}
.round__underchat {
  grid-area: uchat;
}
.round {
  grid-template-areas: "app" "under" "side" "uchat";
}
@media (min-width: 799.3px), (orientation: landscape) {
  .round {
    grid-template-columns: 1fr 1fr;
    grid-template-rows: auto fit-content(0) fit-content(0);
    grid-template-areas: "app   app" "under side" "under uchat";
  }
  .round__app {
    justify-self: center;
  }
}
@media (min-width: 1259.3px) {
  .round {
    grid-template-columns: minmax(var(---col3-uniboard-side-min, 250px), 350px) var(---col3-uniboard-width) minmax(240px, 400px);
    grid-template-rows: fit-content(0);
    grid-template-areas: "side  app   app" "uchat under .";
  }
  .round .crosstable__users {
    flex: 7 1 auto;
  }
}
@media (max-width: 799.29px) and (orientation: landscape) {
  .round .crosstable {
    display: none;
  }
}

.rcontrols {
  grid-area: controls;
}

.material-top {
  grid-area: mat-top;
}

.material-bottom {
  grid-area: mat-bot;
}

.expiration-top {
  grid-area: expi-top;
}

.expiration-bottom {
  grid-area: expi-bot;
}

.ruser-top {
  grid-area: user-top;
}

.ruser-bottom {
  grid-area: user-bot;
}

.rclock-top {
  grid-area: clock-top;
}

.rclock-bottom {
  grid-area: clock-bot;
}

rm6,
.col1-rmoves-preload {
  grid-area: moves;
}

.keyboard-move {
  grid-area: kb-move;
}

.round__app {
  display: grid;
}
@media (max-width: 799.29px) and (orientation: portrait) {
  .round__app {
    grid-template-rows: auto 30px 20px auto auto 20px 30px auto auto auto auto 0;
    grid-template-areas: "pocket-top" "user-top" "mat-top" "board" "expi-bot" "mat-bot" "user-bot" "pocket-bot" "controls" "moves" "voice" "kb-move";
  }
  .round__app .rclock-top {
    grid-area: 2/1/4/2;
  }
  .round__app .rclock-bottom {
    grid-area: 6/1/8/2;
  }
  .round__app cg-board {
    box-shadow: none;
  }
  .round__app.swap-clock .ruser {
    justify-content: end;
  }
  .round__app.swap-clock .rclock {
    justify-self: start;
  }
  .round__app.swap-clock .material {
    justify-self: end;
    margin-inline-end: 6px;
  }
  .round__app .ricons {
    margin: 0.5em 0;
  }
  .round__app .ricons.empty {
    margin-bottom: 0;
  }
  .round__app__table,
  .round__app .expiration-top,
  .round__app .keyboard-move {
    display: none;
  }
}
@media (min-width: 799.3px), (orientation: landscape) {
  .round__app {
    grid-template-areas: "board voice" "board ." "board mat-top" "board clock-top" "board expi-top" "board user-top" "board moves" "board controls" "board user-bot" "board expi-bot" "board clock-bot" "board mat-bot" "board ." "kb-move .";
    grid-template-columns: var(---col2-uniboard-width) minmax(240px, 400px);
    grid-template-rows: 0 auto;
    column-gap: var(---block-gap);
  }
  .round__app__table {
    grid-area: 5/2/11/3;
  }
  .round__app .expiration-top {
    display: flex;
  }
  .round__app rm6 {
    margin-bottom: 1px;
  }
  .round__app l4x {
    display: none;
    background: none;
  }
  .round__app .keyboard-move {
    margin-top: var(---block-gap);
  }
}
@media (min-width: 799.3px) and (min-height: 499.3px), (orientation: landscape) and (min-height: 499.3px) {
  .round__app l4x {
    display: flex;
  }
}
@media (min-width: 1259.3px) {
  .round__app {
    grid-template-columns: var(---col3-uniboard-width) minmax(240px, 400px);
  }
}
@media (max-width: 799.29px) and (orientation: landscape) {
  .round__app {
    grid-template-columns: minmax(55vmin, calc(100vh - calc(var(---site-header-height) + var(---site-header-margin) + var(---sticky-gap)) - var(---block-gap))) minmax(200px, 240px);
  }
}
.round__app__board {
  grid-area: board;
}

body.zenable.zen kwdb, body.zenable.zen i5z, body.zenable.zen .rclock .tour-rank, .rclock body.zenable.zen .tour-rank,
body.zenable.zen .rclock .moretime,
.rclock body.zenable.zen .moretime,
body.zenable.zen .rclock .berserked,
.rclock body.zenable.zen .berserked, body.zenable.zen .ruser, body.zenable.zen .mchat, body.zenable.zen .round__side, body.zenable.zen #friend_box,
body.zenable.zen .site-title-nav,
body.zenable.zen .site-buttons,
body.zenable.zen .opponent-left-counter, body.zenable.zen .round__underboard, body.zenable.zen .round__underchat {
  display: none;
}

body.zenable.zen .ricons {
  margin: 0.5em 0 1em 0;
}
body.zenable.zen #top {
  justify-content: center;
}

.round__side .game__meta {
  flex: 0 0 auto;
}
.round__side .game__meta__players .team {
  margin-inline-start: 1.7em;
}

.mchat {
  flex: 1 1 0;
  margin-top: var(---block-gap);
}

/* shared with analysis */
.game__meta {
  background: var(--c-bg-box);
  padding: 1.5em;
}
.game__meta section:not(:last-child) {
  border-bottom: 1px solid var(--c-border);
  margin-bottom: 0.8rem;
  padding-bottom: 0.8rem;
}
.game__meta__infos {
  position: relative;
  /* for bookmark */
}
.game__meta__infos::before {
  font-size: 3rem;
  margin-inline-end: 4%;
}
.game__meta__infos p {
  margin: 0;
}
.game__meta__infos time {
  opacity: 1;
}
.game__meta__infos form.delete button {
  color: var(--c-bad);
}
.game__meta .status {
  text-align: center;
}
.game__meta__players {
  margin-top: 0.3rem;
  font-size: 90%;
}
.game__meta__players abbr {
  text-decoration: none;
  color: var(--m-primary_font--mix-50);
}
html:not([dir=rtl]) .game__meta .bookmark {
  right: 0;
}
html[dir=rtl] .game__meta .bookmark {
  left: 0;
}
.game__meta .bookmark {
  position: absolute;
  z-index: 2;
  color: var(--c-font-dim);
}
.game__meta .bookmark:not(.bookmarked) .on, .game__meta .bookmark.bookmarked .off {
  display: none;
}
.game__meta .user-tv {
  font-size: 1.2em;
}

.game__tournament .clock {
  font-size: 2em;
  text-align: center;
  margin-top: 0.2em;
}

@media (hover: hover) {
  .game__meta .bookmark {
    display: none;
  }
  .game__meta:hover .bookmark {
    display: block;
  }
}
.round__app__table {
  background: var(--c-bg-box);
}

.expiration {
  font-size: 0.9rem;
  line-height: 2;
  background: var(--c-good);
  color: #fff;
}
.expiration-top {
  border-top-right-radius: 7px;
}
.expiration-bottom {
  border-bottom-right-radius: 7px;
}
.expiration.emerg {
  background: var(--c-bad);
}
.expiration strong {
  font-size: 1rem;
  margin-inline-end: 0.3em;
}

.ruser {
  user-select: none;
  display: flex;
  justify-content: start;
  align-items: center;
  font-size: 1.2em;
  padding: 0 0.3em;
}
.ruser:hover {
  color: var(--c-font);
}
.ruser a {
  color: var(--c-font);
}
.ruser.long a {
  letter-spacing: -0.5px;
}
.ruser rating {
  flex: 0 0 auto;
  margin: 0 0.25em 0 0.3em;
  color: var(--c-font-dim);
  letter-spacing: -0.5px;
}
body.no-rating .ruser rating {
  display: none;
}
.ruser .line {
  justify-content: center;
}
.ruser signal {
  font-size: 0.8em;
  margin-left: 0.3em;
}
@keyframes connecting {
  0% {
    opacity: 0.1;
  }
  50% {
    opacity: 0.3;
  }
  100% {
    opacity: 0.1;
  }
}
.ruser.connecting .line {
  animation: connecting 0.9s ease-in-out infinite;
}
.ruser .rp {
  margin-inline-end: 0.2em;
}
@media (min-width: 799.3px), (orientation: landscape) {
  .ruser {
    padding: 0.5em 0.5em 0.5em 0.3em;
    line-height: inherit;
  }
  .ruser a {
    flex: 1 1 auto;
  }
}
@media (max-width: 799.29px) and (orientation: portrait) {
  .ruser-top {
    align-self: flex-end;
  }
  .ruser-bottom {
    align-self: flex-start;
  }
}

.rclock {
  user-select: none;
  position: relative;
  display: flex;
  justify-content: flex-end;
}
@media (max-width: 799.29px) and (orientation: portrait) {
  .rclock {
    /* that weird shit is required so the clock goes above the player since they share the same grid cell */
    justify-self: flex-end;
    z-index: 1;
  }
}
.rclock {
  /* overflow: hidden; is not possible because of clock bars and shadows */
}
@media (min-width: 799.3px), (orientation: landscape) {
  .rclock {
    justify-content: space-between;
  }
  .rclock-bottom {
    /* over the table shadow */
    z-index: 0;
  }
}
.rclock-turn {
  align-self: center;
  line-height: 50px;
}
@media (max-width: 799.29px) and (orientation: portrait) {
  .rclock-turn__text {
    background: var(--c-bg-box);
    padding: 0 var(---block-gap);
    font-weight: bold;
    white-space: nowrap;
  }
}
@media (min-width: 799.3px), (orientation: landscape) {
  .rclock-turn {
    height: 2.2em;
    line-height: 2.2em;
  }
}
.rclock .bar {
  display: none;
}
.rclock .bar.berserk {
  background: var(--c-bad);
}
@media (min-width: 799.3px), (orientation: landscape) {
  .rclock .bar {
    display: block;
    position: absolute;
    width: 100%;
    height: 4px;
    background: var(--c-good);
    transform-origin: left;
  }
  .with-expiration .rclock .bar {
    display: none;
  }
  .rclock-top .bar {
    bottom: -4px;
  }
  .rclock-bottom .bar {
    top: -4px;
  }
}
.rclock .time {
  background: var(--c-bg-box);
  min-width: 3em;
  font-size: 2.8em;
  line-height: 50px;
  font-weight: normal;
  padding: 0 var(---block-gap);
  white-space: nowrap;
  /* ensure updates don't redraw other parts of the document */
  will-change: transform;
  z-index: -1;
  display: flex;
  direction: ltr;
}
.rclock .time.hour {
  font-size: 2.3em;
}
@media (max-width: 799.29px) and (orientation: portrait) {
  .rclock .time {
    border-radius: 0;
    box-shadow: none;
    overflow: hidden;
  }
}
@media (min-width: 799.3px), (orientation: landscape) {
  .rclock .time {
    align-items: flex-end;
    line-height: 1.2em;
  }
}
@media (min-width: 499.3px) and (min-height: 599.3px) {
  .rclock .time {
    font-size: 3.6em;
    letter-spacing: 0.12em;
  }
  .rclock .time.hour {
    font-size: 2.9em;
    letter-spacing: 0.1em;
  }
}
.rclock-correspondence .time {
  font-size: 1.6em;
  letter-spacing: inherit;
  direction: unset;
}
@media (min-width: 799.3px), (orientation: landscape) {
  .rclock-correspondence .time {
    line-height: 1.5em;
  }
}
@media (min-width: 499.3px) {
  .rclock-correspondence .time {
    font-size: 1.9em;
  }
}
.rclock tenths {
  font-size: 70%;
  margin-bottom: -0.18em;
}
.rclock huns {
  font-size: 80%;
}
@media (max-width: 799.29px) and (orientation: portrait) {
  .rclock huns {
    display: none;
    /* since clock is right-aligned, huns shift it left on every move */
  }
}
.rclock sep {
  opacity: 0.5;
  font-size: 0.8em;
}
.rclock sep.low {
  opacity: 0.15;
}
@media (prefers-reduced-motion: reduce) {
  .rclock sep.low {
    opacity: 0.5;
  }
}
.rclock.running .time {
  background: var(--m-secondary_bg--mix-30);
  color: var(--c-font-clearer);
}
.rclock.emerg .time, .rclock.outoftime .time {
  background-color: var(--m-bad_bg--mix-25);
}
.rclock.emerg.running .time {
  background-color: var(--m-bad_bg--mix-50);
  color: var(--c-font-clearer);
}
.rclock .go-berserk {
  font-size: 2.2em;
  padding: 0 0.3em;
}
.rclock .go-berserk:hover {
  color: var(--c-accent) !important;
  background: none !important;
}
.rclock .tour-rank,
.rclock .moretime,
.rclock .berserked {
  display: none;
}
@media (min-width: 419.3px) {
  .rclock .tour-rank,
  .rclock .moretime,
  .rclock .berserked {
    order: -1;
    display: flex;
    flex: 0 1 auto;
    font-size: 1.7em;
    padding: 0 0.3em;
  }
}
@media (min-width: 799.3px), (orientation: landscape) {
  .rclock .tour-rank,
  .rclock .moretime,
  .rclock .berserked {
    order: inherit;
  }
}
.rclock .tour-rank {
  opacity: 0.65;
}
.rclock .moretime {
  opacity: 0.4;
}
.rclock .moretime:hover {
  opacity: 1;
}
.rclock .berserked {
  font-size: 2.2em;
  color: var(--c-accent);
}

.rclock-correspondence .time {
  font-size: 1.6em;
  letter-spacing: inherit;
  direction: unset;
}
@media (min-width: 799.3px), (orientation: landscape) {
  .rclock-correspondence .time {
    line-height: 1.5em;
  }
}
@media (min-width: 499.3px) {
  .rclock-correspondence .time {
    font-size: 1.9em;
  }
}
.rclock .go-berserk {
  font-size: 2.2em;
  padding: 0 0.3em;
}
.rclock .go-berserk:hover {
  color: var(--c-accent) !important;
  background: none !important;
}
.rclock .tour-rank,
.rclock .moretime,
.rclock .berserked {
  display: none;
}
@media (min-width: 419.3px) {
  .rclock .tour-rank,
  .rclock .moretime,
  .rclock .berserked {
    order: -1;
    display: flex;
    flex: 0 1 auto;
    font-size: 1.7em;
    padding: 0 0.3em;
  }
}
@media (min-width: 799.3px), (orientation: landscape) {
  .rclock .tour-rank,
  .rclock .moretime,
  .rclock .berserked {
    order: inherit;
  }
}
.rclock .tour-rank {
  opacity: 0.65;
}
.rclock .moretime {
  opacity: 0.4;
}
.rclock .moretime:hover {
  opacity: 1;
}
.rclock .berserked {
  font-size: 2.2em;
  color: var(--c-accent);
}

.material div {
  display: inline-block;
  margin-inline-start: 10px;
}
.material mpiece {
  margin-inline-start: -10px;
  background-size: cover;
  display: inline-block;
}
.material mpiece.pawn {
  background-image: url("../hashed/P.cac5d269.svg");
}
.material mpiece.bishop {
  background-image: url("../hashed/B.ee21cafb.svg");
}
.material mpiece.knight {
  background-image: url("../hashed/N.a9af3b45.svg");
}
.material mpiece.rook {
  background-image: url("../hashed/R.49e9b3ca.svg");
}
.material mpiece.queen {
  background-image: url("../hashed/Q.b1cb605d.svg");
}
.material mpiece.king {
  background-image: url("../hashed/K.f31af407.svg");
}
html.transp .material mpiece {
  filter: brightness(1.3) drop-shadow(0 1px 1px #000);
}
.material {
  align-self: center;
  height: 40px;
  line-height: 0;
  white-space: nowrap;
}
.material div {
  display: inline-block;
  margin-inline-start: 10px;
}
.material mpiece {
  margin-inline-start: -10px;
  width: 32px;
  height: 32px;
  background-size: cover;
  display: inline-block;
}
.material mpiece.pawn {
  margin-inline-start: -15px;
}
.material score {
  line-height: 32px;
  vertical-align: top;
}
@media (max-width: 799.29px) and (orientation: portrait) {
  .material {
    height: 20px;
    margin-inline-start: 3vmin;
  }
  .material div {
    margin-inline-start: 8px;
  }
  .material mpiece {
    width: 15px;
    height: 15px;
    margin-inline-start: -8px !important;
  }
}

rm6 {
  position: relative;
}
rm6 rb1 {
  flex: 0 0 2.5rem;
  display: flex;
  justify-content: stretch;
  background: var(--c-bg-zebra);
  font-size: 0.9em;
  order: 2;
}
@media (min-width: 799.3px), (orientation: landscape) {
  rm6 rb1 {
    order: 0;
  }
}
rm6 .fbt,
rm6 .noop {
  user-select: none;
  -webkit-callout-touch: none;
  flex: 0 0 16.6666666667%;
  text-align: center;
}
rm6 l4x,
rm6 .message {
  flex: 0 0 7.4rem;
}
rm6 {
  /* context: .rmoves */
}
@media (max-width: 799.29px) and (orientation: portrait) {
  rm6 {
    overflow: hidden;
  }
  rm6 .col1-moves {
    flex: 0 0 4em;
    display: flex;
    justify-content: space-between;
  }
  rm6 .col1-moves .fbt {
    flex: 0 0 auto;
    padding: 0 1.3em;
  }
  body.zenable.zen rm6 .col1-moves {
    visibility: hidden;
  }
  rm6 l4x {
    flex: 1 1 100%;
    display: flex;
    align-items: stretch;
    white-space: nowrap;
    overflow-x: scroll;
    color: var(--c-font-page);
    box-shadow: 0 4px 12px #000 inset;
  }
  html.light rm6 l4x {
    box-shadow: 0 4px 4px #aaa inset;
  }
  rm6 l4x::-webkit-scrollbar {
    height: 0;
  }
  rm6 l4x > :first-child {
    margin-inline-start: auto !important;
  }
  rm6 i5z,
  rm6 kwdb,
  rm6 .result-wrap {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0 0.3rem;
  }
  rm6 i5z {
    padding-inline-end: 0.15em;
  }
  rm6 kwdb {
    font-size: 1.1em;
    cursor: pointer;
  }
  rm6 kwdb.a1t, rm6 kwdb:hover {
    background: var(--c-bg-zebra);
  }
  html.light rm6 kwdb.a1t, html.light rm6 kwdb:hover {
    background: hsl(37, 20%, 85%);
  }
  rm6 kwdb.a1t {
    color: var(--c-font-clearer);
  }
  rm6 rb1 {
    display: none;
  }
  rm6 .result {
    margin: 0;
    font-weight: bold;
    font-size: 1.1em;
  }
  rm6 .message {
    flex: 0 0 4em;
    display: flex;
    align-items: center;
    justify-content: center;
    line-height: 1.2;
  }
  rm6 .message br {
    display: none;
  }
  rm6 .message strong {
    margin-inline-start: 0.5em;
  }
  rm6 .message::before {
    margin-inline-end: 0.3em;
  }
  body.zenable.zen rm6 .message {
    visibility: hidden;
  }
  rm6 .status {
    display: none;
  }
}
rm6 {
  /* context: rm6 */
}
@media (min-width: 799.3px), (orientation: landscape) {
  rm6 {
    background: var(--c-bg-box);
  }
  rm6 .fbt,
  rm6 .noop {
    height: 2.5rem;
    line-height: 2.4rem;
  }
  rm6 l4x {
    user-select: none;
    display: flex;
    flex-flow: row wrap;
    align-items: center;
    position: relative;
    /* required by autoScroll */
    overflow-y: auto;
    align-content: flex-start;
    will-change: scroll-position;
    line-height: 1.7;
    font-size: 1.1em;
  }
  rm6 i5z {
    /* Edge 18: flex: 0 0 calc(100% / 6); causes wrap */
    flex: 0 0 16.666%;
    display: flex;
    justify-content: center;
    align-items: flex-end;
    background: var(--c-bg-zebra);
  }
  rm6 kwdb {
    /* Edge 18: flex: 0 0 calc(100% * 5 / 12); causes wrap */
    flex: 0 0 41.666%;
    padding-inline-start: 0.7em;
    cursor: pointer;
  }
  rm6 kwdb:hover {
    background: var(--c-primary);
    color: #fff;
  }
  rm6 kwdb.a1t {
    font-weight: bold;
    background: var(--m-primary_bg--mix-20);
    color: var(--c-font-clear);
  }
  rm6 .message {
    display: flex;
    align-items: center;
    margin: 1em;
  }
  rm6 .message::before {
    color: var(--c-font-dim);
    font-size: 3em;
    margin-inline-end: 12px;
  }
  rm6 .result-wrap {
    width: 100%;
    text-align: center;
  }
  rm6 .result {
    border-top: 1px solid var(--c-border);
    font-weight: bold;
    font-size: 1.2em;
    padding: 5px 0 3px 0;
    margin: 0;
  }
  rm6 .status {
    font-style: italic;
    margin-bottom: 0.5em;
  }
  rm6 .board-menu {
    border-radius: 0 0 7px 7px;
    top: 2.5rem;
    border-top: 2px solid var(--c-secondary);
  }
}

@media (max-width: 799.29px) and (orientation: portrait) {
  .col1-rmoves-preload {
    height: 2.5em;
  }
}
.rcontrols {
  text-align: center;
  width: 100%;
}
.rcontrols p {
  margin: 0;
}
.rcontrols .disabled {
  opacity: 0.5;
  cursor: not-allowed;
}
.rcontrols .ddloader {
  margin: 20px auto 10px auto;
}
.rcontrols .suggestion,
.rcontrols .pending,
.rcontrols .question {
  padding: 0.5em 3%;
  background: var(--c-bg-zebra);
  border: 1px solid var(--c-border);
  border-width: 0 1px;
}
.rcontrols .suggestion {
  justify-content: space-around;
}
.rcontrols .suggestion p {
  width: 100%;
}
.rcontrols .suggestion .button {
  margin: 0.5em 0 0 0;
}
.rcontrols .pending p {
  flex: 3 1;
  margin-inline-end: 7px;
}
.rcontrols .pending .button {
  flex: 1 1;
}
@keyframes flash-once {
  from {
    background: var(--c-accent);
    color: var(--c-over);
  }
  to {
    background: var(--c-bg-zebra);
    color: var(--c-font);
  }
}
.rcontrols .question {
  animation: flash-once 1s ease-in;
  border: none;
  padding: 1px;
}
.rcontrols .question p {
  flex: 3 1 auto;
  padding: 0.5em 0;
}
.rcontrols .question a {
  flex: 1 0 3rem;
  font-size: 1.5em;
  line-height: 3em;
  background: var(--c-bg-box);
}
.rcontrols .question .yes {
  color: var(--c-good);
}
.rcontrols .question .no {
  color: var(--c-bad);
}
.rcontrols .question a:hover {
  color: #fff;
  background: var(--c-good);
}
.rcontrols .question a.no:hover {
  background: var(--c-bad);
}
@media (max-width: 799.29px) and (orientation: portrait) {
  .rcontrols .question a {
    line-height: 1.6em;
    flex: 0 0 2.5rem;
    padding: 0 1.2em;
  }
  .rcontrols .question {
    padding: 3px;
  }
}
.rcontrols .glowing:hover {
  animation: none;
}
.rcontrols .follow-up {
  border-bottom: 1px solid var(--c-border);
  position: relative;
  /* for rematch-decline */
}
.rcontrols .follow-up .fbt {
  padding: 12px 0;
  margin: 1px 1px 0 1px;
}
.rcontrols .follow-up > .fbt:first-child {
  margin-top: 0;
}
.rcontrols .follow-up .fbt.strong {
  padding: 2em 0;
  font-size: 1.2em;
}
.rcontrols .follow-up .weak {
  font-weight: normal;
  padding: 6px 0;
}
.rcontrols .follow-up .weak::before {
  opacity: 0.7;
}
.rcontrols .follow-up form .fbt {
  width: 100%;
}
.rcontrols .follow-up .spinner {
  width: 40px;
  height: 40px;
}
@media (max-width: 799.29px) and (orientation: portrait) {
  .rcontrols .follow-up {
    margin-top: var(---block-gap);
  }
}
.rcontrols .analysis,
.rcontrols .board-menu-toggle-btn {
  display: none;
}
@media (max-width: 799.29px) and (orientation: portrait) {
  .rcontrols .analysis,
  .rcontrols .board-menu-toggle-btn {
    display: block;
    margin-inline-start: 2em;
  }
}
@media (width <= 400px) {
  .rcontrols .analysis,
  .rcontrols .board-menu-toggle-btn {
    margin-inline-start: 0;
  }
}
.rcontrols .rematch.fbt {
  font-size: 1.2em;
  height: 6rem;
  transition: all 150ms ease;
}
.rcontrols .rematch.me {
  background: var(--m-primary_bg--mix-80);
}
@keyframes rubber-band {
  0% {
    transform: scale3d(1, 1, 1);
  }
  6% {
    transform: scale3d(1.25, 0.75, 1);
  }
  8% {
    transform: scale3d(0.75, 1.25, 1);
  }
  10% {
    transform: scale3d(1.15, 0.85, 1);
  }
  13% {
    transform: scale3d(0.95, 1.05, 1);
  }
  15% {
    transform: scale3d(1.05, 0.95, 1);
  }
  20% {
    transform: scale3d(1, 1, 1);
  }
}
@keyframes button-glowing {
  0% {
    opacity: 0;
  }
  60% {
    opacity: 0.2;
  }
  85% {
    opacity: 0;
  }
}
.rcontrols .rematch.glowing {
  position: relative;
  animation: none;
  color: var(--c-font-clear);
}
.rcontrols .rematch.glowing::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: var(--c-primary);
  opacity: 0;
  animation: button-glowing 2s ease-in-out infinite;
}
.rcontrols .rematch.glowing span {
  display: block;
}
@media (min-width: 799.3px), (orientation: landscape) {
  .rcontrols .rematch.glowing span {
    animation: rubber-band 5s infinite;
  }
}
.rcontrols .rematch.fbt:not(.disabled):hover {
  background: var(--m-primary_bg--mix-70);
  color: #fff;
  animation: none;
}
.rcontrols .rematch-decline {
  justify-content: center;
  position: absolute;
  top: 0;
}
html:not([dir=rtl]) .rcontrols .rematch-decline {
  right: -25px;
}
html[dir=rtl] .rcontrols .rematch-decline {
  left: -25px;
}
.rcontrols .rematch-decline {
  width: 25px;
  height: 6rem;
  border: 0;
  opacity: 0.7;
  background: var(--m-bad_bg--mix-50);
  transition: all 150ms ease;
  display: none;
}
@media (min-width: 799.3px), (orientation: landscape) {
  .rcontrols .rematch-decline {
    display: block;
  }
}
.rcontrols .rematch-decline:hover {
  background: var(--c-bad);
  color: var(--c-over);
}
html:not([dir=rtl]) .rcontrols .rematch-decline:hover {
  right: -36px;
}
html[dir=rtl] .rcontrols .rematch-decline:hover {
  left: -36px;
}
.rcontrols .rematch-decline:hover {
  width: 35px;
}

.ricons {
  display: flex;
  justify-content: center;
}
.ricons .fbt {
  font-size: 1.4em;
  padding: 0.1em 1em;
}
.ricons.confirm > button {
  visibility: hidden;
}
.ricons .act-confirm {
  visibility: visible;
  position: relative;
  width: 60px;
}
html:not([dir=rtl]) .ricons .act-confirm .fbt.no {
  right: -34px;
}
html[dir=rtl] .ricons .act-confirm .fbt.no {
  left: -34px;
}
.ricons .act-confirm .fbt.no {
  padding: 0.1em 0;
  width: 30px;
  text-align: center;
  position: absolute;
  top: 0;
}
html:not([dir=rtl]) .ricons .act-confirm .fbt.yes {
  right: 0;
}
html[dir=rtl] .ricons .act-confirm .fbt.yes {
  left: 0;
}
.ricons .act-confirm .fbt.yes {
  position: absolute;
  top: -3px;
  border-radius: 8px;
  color: #fff;
  text-decoration: none;
  background: var(--c-accent);
  border-bottom: 5px solid var(--m-accent_black--mix-70);
  text-shadow: 0 -1px var(--m-accent_black--mix-70);
  transition: all 150ms ease;
  transform: translate(0, 0);
}
.ricons .act-confirm .fbt.yes:hover {
  filter: brightness(1.07);
}
.ricons .act-confirm .fbt.yes:active {
  transform: translate(0, 5px);
  border-bottom-width: 1px;
  text-shadow: 0 0 var(--m-accent_black--mix-70);
  filter: brightness(1);
}

.round__now-playing h3 {
  margin: 1em 0 0.5em 0;
}
@media (max-width: 799.29px) and (orientation: portrait) {
  .round__now-playing h3 {
    margin: 1em var(---block-gap) 0.5em var(---block-gap);
  }
}
.round__now-playing .simul span {
  font-weight: bold;
  margin: 0 0.5em;
}
.round__now-playing .simul .win {
  color: var(--c-good);
}
.round__now-playing .simul .draw {
  color: var(--c-brag);
}
.round__now-playing .simul .loss {
  color: var(--c-bad);
}
#powerTip .forecast-info .title {
  display: block;
  padding: 0.7em;
  border-bottom: 1px solid var(--c-border);
  text-align: center;
}
#powerTip .forecast-info .content {
  display: block;
  padding: 1em;
}

/*# sourceMappingURL=round.css.map */
