/* 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 */
.sub-ratings h3 {
  font-family: Roboto, sans-serif;
  font-weight: 300;
}

/* text printed directly on the page background deserves special treatment (transp theme) */
.sub-ratings a {
  color: var(--c-font-page);
}

.sub-ratings a {
  text-shadow: 0 1px 0 var(--c-font-shadow);
}

.perf-stat .resultStreak .streak,
.perf-stat .playStreak .streak {
  white-space: nowrap;
}

.perf-stat .resultStreak .streak,
.perf-stat .playStreak .streak {
  overflow: hidden;
  text-overflow: ellipsis;
}

.perf-stat .split {
  display: flex;
  flex-flow: row wrap;
}

.perf-stat .box__top__title, .sub-ratings a {
  display: flex;
  flex-flow: row nowrap;
  align-items: center;
}

.sub-ratings a > span {
  display: flex;
  flex-flow: column;
}

/* helps with clipping background into border-radius */
.sub-ratings a {
  border-radius: 7px 0 0 7px;
}

.sub-ratings a.active {
  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);
}

.sub-ratings a {
  padding-inline-start: 0.4em;
  padding-inline-end: var(---block-gap);
  padding-top: 0.7em;
  padding-bottom: 0.7em;
  transition: background 150ms ease;
  white-space: nowrap;
}
.sub-ratings a.empty {
  opacity: 0.5;
}
.sub-ratings a::before {
  font-size: 3em;
  opacity: 0.5;
  margin-inline-end: 0.2em;
  transition: opacity 150ms ease, color 150ms ease;
}
.sub-ratings a[href=""] {
  pointer-events: none;
}
.sub-ratings a[href]:hover {
  background: var(--m-bg-page_bg--mix-50);
}
.sub-ratings a[href]:hover::before {
  color: var(--c-link);
  opacity: 0.7;
}
.sub-ratings a.active {
  background: var(--c-bg-box);
}
.sub-ratings a.active::before {
  color: var(--c-accent);
  opacity: 0.7;
}
.sub-ratings a > span {
  flex: 1 1 100%;
  margin-inline-end: 0.5em;
}
.sub-ratings a rating span,
.sub-ratings a .rank {
  font-size: 0.9em;
}
.sub-ratings a i {
  font-size: 0.75em;
  opacity: 0.2;
  color: var(--c-font-dim);
  transition: all 150ms ease;
}
.sub-ratings a:hover i {
  color: var(--c-link);
  opacity: 0.7;
}
.sub-ratings a.active i {
  display: none;
}
.sub-ratings a .shy {
  font-size: 0.8em;
  opacity: 0.6;
  line-height: 1em;
}
.sub-ratings hr {
  margin: var(---block-gap) auto;
  width: 80%;
}
.sub-ratings h3 {
  font-size: 1.1em;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  margin: 0;
  display: inline-block;
}
.sub-ratings strong {
  color: var(--c-font-dim);
  font-weight: bold;
  font-size: 1.2em;
}
@media (max-width: 1019.29px) {
  .sub-ratings a {
    padding: 0.3em;
  }
  .sub-ratings a > i,
  .sub-ratings h3,
  .sub-ratings hr,
  .sub-ratings rating .rp,
  .sub-ratings rating span {
    display: none;
  }
}
@media (max-width: 799.29px) {
  .sub-ratings {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(9ch, 1fr));
  }
  .sub-ratings hr,
  .sub-ratings .rank {
    display: none;
  }
  .sub-ratings a {
    display: flex;
    justify-content: center;
  }
  .sub-ratings a::before {
    opacity: 0.8;
    font-size: 1.5em;
  }
  .sub-ratings a > span {
    flex: 0 0 auto;
    margin-inline-end: 0;
  }
  .sub-ratings a strong {
    font-weight: normal;
  }
}

.rating-history-container {
  flex: 1 1 58%;
  height: 350px;
}
.rating-history-container .chart-container {
  height: 80%;
}
.rating-history-container .chart-container .panning {
  cursor: move;
}
.rating-history-container .spinner {
  width: 90px;
  height: 90px;
  margin: 120px auto 0 auto;
}
.rating-history-container .time-selector-buttons {
  margin: 4px 0 -4px 4px;
}
.rating-history-container .time-selector-buttons button {
  display: inline-flex;
  text-transform: uppercase;
  border: 1px solid var(--c-border);
  border-right: 0;
  box-shadow: none;
}
.rating-history-container .time-selector-buttons button:hover:not(.disabled, :disabled, [disabled]) {
  box-shadow: none;
}
.rating-history-container .time-selector-buttons button:last-child {
  border-right: 1px solid var(--c-border);
}
.rating-history-container .time-selector-buttons button.active {
  background-color: #262421;
  color: var(--c-font);
  text-shadow: none !important;
}
html.light .rating-history-container .time-selector-buttons button.active {
  background-color: #dbebfc;
}
.rating-history-container .time-selector-buttons button.active:hover:not(.disabled, :disabled, [disabled]) {
  background-color: var(--c-bg-input);
}
html.light .rating-history-container .time-selector-buttons button.active:hover:not(.disabled, :disabled, [disabled]) {
  background-color: #e6f1fb;
}
.rating-history-container {
  /* Functional styling;
   * These styles are required for noUiSlider to function.
   * You don't need to change these rules to apply your design.
   */
}
.rating-history-container .noUi-target,
.rating-history-container .noUi-target * {
  user-select: none;
  -webkit-touch-callout: none;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  touch-action: none;
  box-sizing: border-box;
}
.rating-history-container .noUi-target {
  position: relative;
}
.rating-history-container .noUi-base,
.rating-history-container .noUi-connects {
  width: 100%;
  height: 100%;
  position: relative;
  z-index: 1;
}
.rating-history-container {
  /* Wrapper for all connect elements. */
}
.rating-history-container .noUi-connects {
  overflow: hidden;
  z-index: 0;
}
.rating-history-container .noUi-connect,
.rating-history-container .noUi-origin {
  will-change: transform;
  position: absolute;
  z-index: 1;
  top: 0;
  right: 0;
  height: 100%;
  width: 100%;
  transform-origin: 0 0;
  transform-style: preserve-3d;
}
.rating-history-container {
  /* Offset direction */
}
.rating-history-container .noUi-txt-dir-rtl.noUi-horizontal .noUi-origin {
  left: 0;
  right: auto;
}
.rating-history-container {
  /* Give origins 0 height/width so they don't interfere with clicking the
     * connect elements.
     */
}
.rating-history-container .noUi-horizontal .noUi-origin {
  height: 0;
}
.rating-history-container .noUi-handle {
  backface-visibility: hidden;
  position: absolute;
}
.rating-history-container .noUi-touch-area {
  cursor: ew-resize;
  height: 100%;
  width: 100%;
}
.rating-history-container .noUi-state-tap .noUi-connect,
.rating-history-container .noUi-state-tap .noUi-origin {
  transition: transform 0.3s;
}
.rating-history-container .noUi-state-drag * {
  cursor: grabbing !important;
}
.rating-history-container {
  /* Slider size and handle placement;
     */
}
.rating-history-container .noUi-horizontal {
  height: 7px;
  margin-top: 5px;
  margin-left: 32px;
  margin-right: 36px;
}
.rating-history-container .noUi-horizontal .noUi-handle {
  width: 5px;
  height: 21px;
  right: 0;
  top: -6px;
}
.rating-history-container .noUi-txt-dir-rtl.noUi-horizontal .noUi-handle {
  left: 0;
  right: auto;
}
.rating-history-container {
  /* Styling;
     * Giving the connect element a border radius causes issues with using transform: scale
     */
}
.rating-history-container .noUi-target {
  background: rgba(255, 255, 255, 0);
  border-radius: 4px;
  border: 1px solid var(--c-font);
}
.rating-history-container .noUi-connects {
  border-radius: 3px;
}
.rating-history-container .noUi-connect {
  background: rgb(118, 197, 243);
  cursor: grab;
}
.rating-history-container {
  /* Handles and cursors;
     */
}
.rating-history-container .noUi-handle {
  border: 1px solid #d9d9d9;
  border-radius: 3px;
  background: #fff;
  cursor: ew-resize;
  box-shadow: inset 0 0 1px #fff, inset 0 1px 7px #ebebeb, 0 3px 6px -3px #bbb;
}
.rating-history-container .noUi-active {
  box-shadow: inset 0 0 1px #fff, inset 0 1px 7px #ddd, 0 3px 6px -3px #bbb;
}
.rating-history-container {
  /* Handle stripes;
     */
}
.rating-history-container .noUi-handle::before,
.rating-history-container .noUi-handle::after {
  left: 17px;
}
.rating-history-container {
  /* Base;
     *
     */
}
.rating-history-container .noUi-pips,
.rating-history-container .noUi-pips * {
  box-sizing: border-box;
}
.rating-history-container .noUi-pips {
  position: absolute;
  color: var(--c-font);
}
.rating-history-container {
  /* Values;
     *
     */
}
.rating-history-container .noUi-value {
  position: absolute;
  white-space: nowrap;
  text-align: center;
}
.rating-history-container .noUi-value-sub {
  color: #ccc;
  font-size: 10px;
}
.rating-history-container {
  /* Markings;
     *
     */
}
.rating-history-container .noUi-marker {
  position: absolute;
  background: var(--c-font);
}
.rating-history-container .noUi-marker-sub {
  background: #aaa;
}
.rating-history-container .noUi-marker-large {
  background: #aaa;
}
.rating-history-container {
  /* Horizontal layout;
     *
     */
}
.rating-history-container .noUi-pips-horizontal {
  height: 100%;
  top: 100%;
  left: 0;
  width: 100%;
}
.rating-history-container .noUi-value-horizontal {
  transform: translate(-50%, 50%);
}
.rating-history-container .noUi-rtl .noUi-value-horizontal {
  transform: translate(50%, 50%);
}
.rating-history-container .noUi-marker-horizontal.noUi-marker {
  margin-left: -1px;
  width: 2px;
  height: 5px;
}
.rating-history-container .noUi-marker-horizontal.noUi-marker-sub {
  height: 10px;
}
.rating-history-container .noUi-marker-horizontal.noUi-marker-large {
  height: 15px;
}

.perf-stat {
  padding-bottom: 2em;
}
.perf-stat .box__top__title {
  gap: 0.4em;
}
.perf-stat h1 span {
  margin-inline-start: 0.4em;
}
.perf-stat .trophy {
  margin-top: -1rem;
  margin-inline-end: 0.2em;
  margin-inline-start: -0.6em;
}
.perf-stat .trophy.top1 {
  filter: drop-shadow(0 0 6px var(--c-brag));
}
.perf-stat .trophy.top50 img {
  transform: translateY(-12px);
}
.perf-stat .trophy.top100 img {
  transform: translateY(-15px);
}
.perf-stat .trophy img {
  height: 8rem;
}
.perf-stat h2 {
  font-size: 2em;
}
.perf-stat h2 .details {
  opacity: 0.8;
}
.perf-stat h3 {
  font-size: 1.3em;
}
.perf-stat time {
  display: inline;
}
.perf-stat green {
  color: var(--c-good);
}
.perf-stat red {
  color: var(--c-bad);
}
.perf-stat__content [title] {
  border-bottom: 1px dashed var(--c-link);
  cursor: help;
}
.perf-stat section {
  margin-top: 4em;
}
.perf-stat .split > div {
  flex: 1 0 49%;
}
.perf-stat .split > div:first-child {
  margin-inline-end: 2%;
}
.perf-stat .split > div {
  margin-bottom: 1em;
}
.perf-stat table {
  width: 100%;
}
.perf-stat .glicko h2 {
  margin-bottom: 1em;
}
.perf-stat .counter th {
  padding-inline-start: 1.5em;
}
.perf-stat .counter td {
  text-align: right;
  padding: 0.8em 1.2em;
  font-weight: bold;
  font-size: 1.2em;
}
.perf-stat .counter tr.full td:last-child {
  background: var(--c-bg-zebra);
}
.perf-stat .counter tr:first-child {
  border-bottom: 1px solid var(--c-border);
}
.perf-stat .highlow a,
.perf-stat .highlow span {
  text-indent: 20px;
  display: inline-block;
}
.perf-stat .result th,
.perf-stat .result td {
  padding: 0.8em 0;
}
.perf-stat .result td:first-child {
  padding-inline-start: 20px;
  white-space: nowrap;
}
.perf-stat .result td:last-child {
  text-align: right;
}
.perf-stat .result thead tr {
  border-bottom: 1px solid var(--c-border);
}
.perf-stat .resultStreak .streak,
.perf-stat .playStreak .streak {
  margin: 1em 0 1em 1.5em;
}
.perf-stat .playStreak {
  white-space: nowrap;
}

/*# sourceMappingURL=user.perf.stat.css.map */
