@charset "UTF-8";:root {
  --toastify-color-light: #fff;
  --toastify-color-dark: #121212;
  --toastify-color-info: #3498db;
  --toastify-color-success: #07bc0c;
  --toastify-color-warning: #f1c40f;
  --toastify-color-error: hsl(6, 78%, 57%);
  --toastify-color-transparent: rgba(255, 255, 255, 0.7);

  --toastify-icon-color-info: var(--toastify-color-info);
  --toastify-icon-color-success: var(--toastify-color-success);
  --toastify-icon-color-warning: var(--toastify-color-warning);
  --toastify-icon-color-error: var(--toastify-color-error);

  --toastify-container-width: fit-content;
  --toastify-toast-width: 320px;
  --toastify-toast-offset: 16px;
  --toastify-toast-top: max(var(--toastify-toast-offset), env(safe-area-inset-top));
  --toastify-toast-right: max(var(--toastify-toast-offset), env(safe-area-inset-right));
  --toastify-toast-left: max(var(--toastify-toast-offset), env(safe-area-inset-left));
  --toastify-toast-bottom: max(var(--toastify-toast-offset), env(safe-area-inset-bottom));
  --toastify-toast-background: #fff;
  --toastify-toast-padding: 14px;
  --toastify-toast-min-height: 64px;
  --toastify-toast-max-height: 800px;
  --toastify-toast-bd-radius: 6px;
  --toastify-toast-shadow: 0px 4px 12px rgba(0, 0, 0, 0.1);
  --toastify-font-family: sans-serif;
  --toastify-z-index: 9999;
  --toastify-text-color-light: #757575;
  --toastify-text-color-dark: #fff;

  /* Used only for colored theme */
  --toastify-text-color-info: #fff;
  --toastify-text-color-success: #fff;
  --toastify-text-color-warning: #fff;
  --toastify-text-color-error: #fff;

  --toastify-spinner-color: #616161;
  --toastify-spinner-color-empty-area: #e0e0e0;
  --toastify-color-progress-light: linear-gradient(to right, #4cd964, #5ac8fa, #007aff, #34aadc, #5856d6, #ff2d55);
  --toastify-color-progress-dark: #bb86fc;
  --toastify-color-progress-info: var(--toastify-color-info);
  --toastify-color-progress-success: var(--toastify-color-success);
  --toastify-color-progress-warning: var(--toastify-color-warning);
  --toastify-color-progress-error: var(--toastify-color-error);
  /* used to control the opacity of the progress trail */
  --toastify-color-progress-bgo: 0.2;
}

.Toastify__toast-container {
  z-index: var(--toastify-z-index);
  -webkit-transform: translate3d(0, 0, var(--toastify-z-index));
  position: fixed;
  width: var(--toastify-container-width);
  box-sizing: border-box;
  color: #fff;
  display: flex;
  flex-direction: column;
}

.Toastify__toast-container--top-left {
  top: var(--toastify-toast-top);
  left: var(--toastify-toast-left);
}
.Toastify__toast-container--top-center {
  top: var(--toastify-toast-top);
  left: 50%;
  transform: translateX(-50%);
  align-items: center;
}
.Toastify__toast-container--top-right {
  top: var(--toastify-toast-top);
  right: var(--toastify-toast-right);
  align-items: end;
}
.Toastify__toast-container--bottom-left {
  bottom: var(--toastify-toast-bottom);
  left: var(--toastify-toast-left);
}
.Toastify__toast-container--bottom-center {
  bottom: var(--toastify-toast-bottom);
  left: 50%;
  transform: translateX(-50%);
  align-items: center;
}
.Toastify__toast-container--bottom-right {
  bottom: var(--toastify-toast-bottom);
  right: var(--toastify-toast-right);
  align-items: end;
}

.Toastify__toast {
  --y: 0px;
  position: relative;
  touch-action: none;
  width: var(--toastify-toast-width);
  min-height: var(--toastify-toast-min-height);
  box-sizing: border-box;
  margin-bottom: 1rem;
  padding: var(--toastify-toast-padding);
  border-radius: var(--toastify-toast-bd-radius);
  box-shadow: var(--toastify-toast-shadow);
  max-height: var(--toastify-toast-max-height);
  font-family: var(--toastify-font-family);
  /* webkit only issue #791 */
  z-index: 0;
  /* inner swag */
  display: flex;
  flex: 1 auto;
  align-items: center;
  word-break: break-word;
}

@media only screen and (max-width: 480px) {
  .Toastify__toast-container {
    width: 100vw;
    left: env(safe-area-inset-left);
    margin: 0;
  }
  .Toastify__toast-container--top-left,
  .Toastify__toast-container--top-center,
  .Toastify__toast-container--top-right {
    top: env(safe-area-inset-top);
    transform: translateX(0);
  }
  .Toastify__toast-container--bottom-left,
  .Toastify__toast-container--bottom-center,
  .Toastify__toast-container--bottom-right {
    bottom: env(safe-area-inset-bottom);
    transform: translateX(0);
  }
  .Toastify__toast-container--rtl {
    right: env(safe-area-inset-right);
    left: initial;
  }
  .Toastify__toast {
    --toastify-toast-width: 100%;
    margin-bottom: 0;
    border-radius: 0;
  }
}

.Toastify__toast-container[data-stacked='true'] {
  width: var(--toastify-toast-width);
}

@media only screen and (max-width: 480px) {
  .Toastify__toast-container[data-stacked='true'] {
    width: 100vw;
  }
}

.Toastify__toast--stacked {
  position: absolute;
  width: 100%;
  transform: translate3d(0, var(--y), 0) scale(var(--s));
  transition: transform 0.3s;
}

.Toastify__toast--stacked[data-collapsed] .Toastify__toast-body,
.Toastify__toast--stacked[data-collapsed] .Toastify__close-button {
  transition: opacity 0.1s;
}

.Toastify__toast--stacked[data-collapsed='false'] {
  overflow: visible;
}

.Toastify__toast--stacked[data-collapsed='true']:not(:last-child) > * {
  opacity: 0;
}

.Toastify__toast--stacked:after {
  content: '';
  position: absolute;
  left: 0;
  right: 0;
  height: calc(var(--g) * 1px);
  bottom: 100%;
}

.Toastify__toast--stacked[data-pos='top'] {
  top: 0;
}

.Toastify__toast--stacked[data-pos='bot'] {
  bottom: 0;
}

.Toastify__toast--stacked[data-pos='bot'].Toastify__toast--stacked:before {
  transform-origin: top;
}

.Toastify__toast--stacked[data-pos='top'].Toastify__toast--stacked:before {
  transform-origin: bottom;
}

.Toastify__toast--stacked:before {
  content: '';
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 100%;
  transform: scaleY(3);
  z-index: -1;
}

.Toastify__toast--rtl {
  direction: rtl;
}

.Toastify__toast--close-on-click {
  cursor: pointer;
}

.Toastify__toast-icon {
  margin-inline-end: 10px;
  width: 22px;
  flex-shrink: 0;
  display: flex;
}

.Toastify--animate {
  animation-fill-mode: both;
  animation-duration: 0.5s;
}

.Toastify--animate-icon {
  animation-fill-mode: both;
  animation-duration: 0.3s;
}

.Toastify__toast-theme--dark {
  background: var(--toastify-color-dark);
  color: var(--toastify-text-color-dark);
}

.Toastify__toast-theme--light {
  background: var(--toastify-color-light);
  color: var(--toastify-text-color-light);
}

.Toastify__toast-theme--colored.Toastify__toast--default {
  background: var(--toastify-color-light);
  color: var(--toastify-text-color-light);
}

.Toastify__toast-theme--colored.Toastify__toast--info {
  color: var(--toastify-text-color-info);
  background: var(--toastify-color-info);
}

.Toastify__toast-theme--colored.Toastify__toast--success {
  color: var(--toastify-text-color-success);
  background: var(--toastify-color-success);
}

.Toastify__toast-theme--colored.Toastify__toast--warning {
  color: var(--toastify-text-color-warning);
  background: var(--toastify-color-warning);
}

.Toastify__toast-theme--colored.Toastify__toast--error {
  color: var(--toastify-text-color-error);
  background: var(--toastify-color-error);
}

.Toastify__progress-bar-theme--light {
  background: var(--toastify-color-progress-light);
}

.Toastify__progress-bar-theme--dark {
  background: var(--toastify-color-progress-dark);
}

.Toastify__progress-bar--info {
  background: var(--toastify-color-progress-info);
}

.Toastify__progress-bar--success {
  background: var(--toastify-color-progress-success);
}

.Toastify__progress-bar--warning {
  background: var(--toastify-color-progress-warning);
}

.Toastify__progress-bar--error {
  background: var(--toastify-color-progress-error);
}

.Toastify__progress-bar-theme--colored.Toastify__progress-bar--info,
.Toastify__progress-bar-theme--colored.Toastify__progress-bar--success,
.Toastify__progress-bar-theme--colored.Toastify__progress-bar--warning,
.Toastify__progress-bar-theme--colored.Toastify__progress-bar--error {
  background: var(--toastify-color-transparent);
}

.Toastify__close-button {
  color: #fff;
  position: absolute;
  top: 6px;
  right: 6px;
  background: transparent;
  outline: none;
  border: none;
  padding: 0;
  cursor: pointer;
  opacity: 0.7;
  transition: 0.3s ease;
  z-index: 1;
}

.Toastify__toast--rtl .Toastify__close-button {
  left: 6px;
  right: unset;
}

.Toastify__close-button--light {
  color: #000;
  opacity: 0.3;
}

.Toastify__close-button > svg {
  fill: currentColor;
  height: 16px;
  width: 14px;
}

.Toastify__close-button:hover,
.Toastify__close-button:focus {
  opacity: 1;
}

@keyframes Toastify__trackProgress {
  0% {
    transform: scaleX(1);
  }
  100% {
    transform: scaleX(0);
  }
}

.Toastify__progress-bar {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
  opacity: 0.7;
  transform-origin: left;
}

.Toastify__progress-bar--animated {
  animation: Toastify__trackProgress linear 1 forwards;
}

.Toastify__progress-bar--controlled {
  transition: transform 0.2s;
}

.Toastify__progress-bar--rtl {
  right: 0;
  left: initial;
  transform-origin: right;
  border-bottom-left-radius: initial;
}

.Toastify__progress-bar--wrp {
  position: absolute;
  overflow: hidden;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 5px;
  border-bottom-left-radius: var(--toastify-toast-bd-radius);
  border-bottom-right-radius: var(--toastify-toast-bd-radius);
}

.Toastify__progress-bar--wrp[data-hidden='true'] {
  opacity: 0;
}

.Toastify__progress-bar--bg {
  opacity: var(--toastify-color-progress-bgo);
  width: 100%;
  height: 100%;
}

.Toastify__spinner {
  width: 20px;
  height: 20px;
  box-sizing: border-box;
  border: 2px solid;
  border-radius: 100%;
  border-color: var(--toastify-spinner-color-empty-area);
  border-right-color: var(--toastify-spinner-color);
  animation: Toastify__spin 0.65s linear infinite;
}

@keyframes Toastify__bounceInRight {
  from,
  60%,
  75%,
  90%,
  to {
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  }
  from {
    opacity: 0;
    transform: translate3d(3000px, 0, 0);
  }
  60% {
    opacity: 1;
    transform: translate3d(-25px, 0, 0);
  }
  75% {
    transform: translate3d(10px, 0, 0);
  }
  90% {
    transform: translate3d(-5px, 0, 0);
  }
  to {
    transform: none;
  }
}

@keyframes Toastify__bounceOutRight {
  20% {
    opacity: 1;
    transform: translate3d(-20px, var(--y), 0);
  }
  to {
    opacity: 0;
    transform: translate3d(2000px, var(--y), 0);
  }
}

@keyframes Toastify__bounceInLeft {
  from,
  60%,
  75%,
  90%,
  to {
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  }
  0% {
    opacity: 0;
    transform: translate3d(-3000px, 0, 0);
  }
  60% {
    opacity: 1;
    transform: translate3d(25px, 0, 0);
  }
  75% {
    transform: translate3d(-10px, 0, 0);
  }
  90% {
    transform: translate3d(5px, 0, 0);
  }
  to {
    transform: none;
  }
}

@keyframes Toastify__bounceOutLeft {
  20% {
    opacity: 1;
    transform: translate3d(20px, var(--y), 0);
  }
  to {
    opacity: 0;
    transform: translate3d(-2000px, var(--y), 0);
  }
}

@keyframes Toastify__bounceInUp {
  from,
  60%,
  75%,
  90%,
  to {
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  }
  from {
    opacity: 0;
    transform: translate3d(0, 3000px, 0);
  }
  60% {
    opacity: 1;
    transform: translate3d(0, -20px, 0);
  }
  75% {
    transform: translate3d(0, 10px, 0);
  }
  90% {
    transform: translate3d(0, -5px, 0);
  }
  to {
    transform: translate3d(0, 0, 0);
  }
}

@keyframes Toastify__bounceOutUp {
  20% {
    transform: translate3d(0, calc(var(--y) - 10px), 0);
  }
  40%,
  45% {
    opacity: 1;
    transform: translate3d(0, calc(var(--y) + 20px), 0);
  }
  to {
    opacity: 0;
    transform: translate3d(0, -2000px, 0);
  }
}

@keyframes Toastify__bounceInDown {
  from,
  60%,
  75%,
  90%,
  to {
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  }
  0% {
    opacity: 0;
    transform: translate3d(0, -3000px, 0);
  }
  60% {
    opacity: 1;
    transform: translate3d(0, 25px, 0);
  }
  75% {
    transform: translate3d(0, -10px, 0);
  }
  90% {
    transform: translate3d(0, 5px, 0);
  }
  to {
    transform: none;
  }
}

@keyframes Toastify__bounceOutDown {
  20% {
    transform: translate3d(0, calc(var(--y) - 10px), 0);
  }
  40%,
  45% {
    opacity: 1;
    transform: translate3d(0, calc(var(--y) + 20px), 0);
  }
  to {
    opacity: 0;
    transform: translate3d(0, 2000px, 0);
  }
}

.Toastify__bounce-enter--top-left,
.Toastify__bounce-enter--bottom-left {
  animation-name: Toastify__bounceInLeft;
}

.Toastify__bounce-enter--top-right,
.Toastify__bounce-enter--bottom-right {
  animation-name: Toastify__bounceInRight;
}

.Toastify__bounce-enter--top-center {
  animation-name: Toastify__bounceInDown;
}

.Toastify__bounce-enter--bottom-center {
  animation-name: Toastify__bounceInUp;
}

.Toastify__bounce-exit--top-left,
.Toastify__bounce-exit--bottom-left {
  animation-name: Toastify__bounceOutLeft;
}

.Toastify__bounce-exit--top-right,
.Toastify__bounce-exit--bottom-right {
  animation-name: Toastify__bounceOutRight;
}

.Toastify__bounce-exit--top-center {
  animation-name: Toastify__bounceOutUp;
}

.Toastify__bounce-exit--bottom-center {
  animation-name: Toastify__bounceOutDown;
}

@keyframes Toastify__zoomIn {
  from {
    opacity: 0;
    transform: scale3d(0.3, 0.3, 0.3);
  }
  50% {
    opacity: 1;
  }
}

@keyframes Toastify__zoomOut {
  from {
    opacity: 1;
  }
  50% {
    opacity: 0;
    transform: translate3d(0, var(--y), 0) scale3d(0.3, 0.3, 0.3);
  }
  to {
    opacity: 0;
  }
}

.Toastify__zoom-enter {
  animation-name: Toastify__zoomIn;
}

.Toastify__zoom-exit {
  animation-name: Toastify__zoomOut;
}

@keyframes Toastify__flipIn {
  from {
    transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    animation-timing-function: ease-in;
    opacity: 0;
  }
  40% {
    transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    animation-timing-function: ease-in;
  }
  60% {
    transform: perspective(400px) rotate3d(1, 0, 0, 10deg);
    opacity: 1;
  }
  80% {
    transform: perspective(400px) rotate3d(1, 0, 0, -5deg);
  }
  to {
    transform: perspective(400px);
  }
}

@keyframes Toastify__flipOut {
  from {
    transform: translate3d(0, var(--y), 0) perspective(400px);
  }
  30% {
    transform: translate3d(0, var(--y), 0) perspective(400px) rotate3d(1, 0, 0, -20deg);
    opacity: 1;
  }
  to {
    transform: translate3d(0, var(--y), 0) perspective(400px) rotate3d(1, 0, 0, 90deg);
    opacity: 0;
  }
}

.Toastify__flip-enter {
  animation-name: Toastify__flipIn;
}

.Toastify__flip-exit {
  animation-name: Toastify__flipOut;
}

@keyframes Toastify__slideInRight {
  from {
    transform: translate3d(110%, 0, 0);
    visibility: visible;
  }
  to {
    transform: translate3d(0, var(--y), 0);
  }
}

@keyframes Toastify__slideInLeft {
  from {
    transform: translate3d(-110%, 0, 0);
    visibility: visible;
  }
  to {
    transform: translate3d(0, var(--y), 0);
  }
}

@keyframes Toastify__slideInUp {
  from {
    transform: translate3d(0, 110%, 0);
    visibility: visible;
  }
  to {
    transform: translate3d(0, var(--y), 0);
  }
}

@keyframes Toastify__slideInDown {
  from {
    transform: translate3d(0, -110%, 0);
    visibility: visible;
  }
  to {
    transform: translate3d(0, var(--y), 0);
  }
}

@keyframes Toastify__slideOutRight {
  from {
    transform: translate3d(0, var(--y), 0);
  }
  to {
    visibility: hidden;
    transform: translate3d(110%, var(--y), 0);
  }
}

@keyframes Toastify__slideOutLeft {
  from {
    transform: translate3d(0, var(--y), 0);
  }
  to {
    visibility: hidden;
    transform: translate3d(-110%, var(--y), 0);
  }
}

@keyframes Toastify__slideOutDown {
  from {
    transform: translate3d(0, var(--y), 0);
  }
  to {
    visibility: hidden;
    transform: translate3d(0, 500px, 0);
  }
}

@keyframes Toastify__slideOutUp {
  from {
    transform: translate3d(0, var(--y), 0);
  }
  to {
    visibility: hidden;
    transform: translate3d(0, -500px, 0);
  }
}

.Toastify__slide-enter--top-left,
.Toastify__slide-enter--bottom-left {
  animation-name: Toastify__slideInLeft;
}

.Toastify__slide-enter--top-right,
.Toastify__slide-enter--bottom-right {
  animation-name: Toastify__slideInRight;
}

.Toastify__slide-enter--top-center {
  animation-name: Toastify__slideInDown;
}

.Toastify__slide-enter--bottom-center {
  animation-name: Toastify__slideInUp;
}

.Toastify__slide-exit--top-left,
.Toastify__slide-exit--bottom-left {
  animation-name: Toastify__slideOutLeft;
  animation-timing-function: ease-in;
  animation-duration: 0.3s;
}

.Toastify__slide-exit--top-right,
.Toastify__slide-exit--bottom-right {
  animation-name: Toastify__slideOutRight;
  animation-timing-function: ease-in;
  animation-duration: 0.3s;
}

.Toastify__slide-exit--top-center {
  animation-name: Toastify__slideOutUp;
  animation-timing-function: ease-in;
  animation-duration: 0.3s;
}

.Toastify__slide-exit--bottom-center {
  animation-name: Toastify__slideOutDown;
  animation-timing-function: ease-in;
  animation-duration: 0.3s;
}

@keyframes Toastify__spin {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(360deg);
  }
}
.rc-slider {
    position: relative;
    height: 14px;
    padding: 5px 0;
    width: 100%;
    border-radius: 6px;
    box-sizing: border-box;
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  }
  .rc-slider * {
    box-sizing: border-box;
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  }
  .rc-slider-rail {
    position: absolute;
    width: 100%;
    background-color: #e9e9e9;
    height: 4px;
    border-radius: 6px;
  }
  .rc-slider-track {
    position: absolute;
    left: 0;
    height: 4px;
    border-radius: 6px;
    background-color: #abe2fb;
  }
  .rc-slider-handle {
    position: absolute;
    margin-left: -7px;
    margin-top: -5px;
    width: 14px;
    height: 14px;
    cursor: pointer;
    cursor: grab;
    border-radius: 50%;
    border: solid 2px #96dbfa;
    background-color: #fff;
  }
  .rc-slider-handle:hover {
    border-color: #57c5f7;
  }
  .rc-slider-handle:active {
    border-color: #57c5f7;
    box-shadow: 0 0 5px #57c5f7;
    cursor: grabbing;
  }
  .rc-slider-mark {
    position: absolute;
    top: 18px;
    left: 0;
    width: 100%;
    font-size: 12px;
  }
  .rc-slider-mark-text {
    position: absolute;
    display: inline-block;
    vertical-align: middle;
    text-align: center;
    cursor: pointer;
    color: #999;
  }
  .rc-slider-mark-text-active {
    color: #666;
  }
  .rc-slider-step {
    position: absolute;
    width: 100%;
    height: 4px;
    background: transparent;
  }
  .rc-slider-dot {
    position: absolute;
    bottom: -2px;
    margin-left: -4px;
    width: 8px;
    height: 8px;
    border: 2px solid #e9e9e9;
    background-color: #fff;
    cursor: pointer;
    border-radius: 50%;
    vertical-align: middle;
  }
  .rc-slider-dot:first-child {
    margin-left: -4px;
  }
  .rc-slider-dot:last-child {
    margin-left: -4px;
  }
  .rc-slider-dot-active {
    border-color: #96dbfa;
  }
  .rc-slider-disabled {
    background-color: #e9e9e9;
  }
  .rc-slider-disabled .rc-slider-track {
    background-color: #ccc;
  }
  .rc-slider-disabled .rc-slider-handle,
  .rc-slider-disabled .rc-slider-dot {
    border-color: #ccc;
    box-shadow: none;
    background-color: #fff;
    cursor: not-allowed;
  }
  .rc-slider-disabled .rc-slider-mark-text,
  .rc-slider-disabled .rc-slider-dot {
    cursor: not-allowed !important;
  }
  .rc-slider-vertical {
    width: 14px;
    height: 100%;
    padding: 0 5px;
  }
  .rc-slider-vertical .rc-slider-rail {
    height: 100%;
    width: 4px;
  }
  .rc-slider-vertical .rc-slider-track {
    left: 5px;
    bottom: 0;
    width: 4px;
  }
  .rc-slider-vertical .rc-slider-handle {
    margin-left: -5px;
    margin-bottom: -7px;
  }
  .rc-slider-vertical .rc-slider-mark {
    top: 0;
    left: 18px;
    height: 100%;
  }
  .rc-slider-vertical .rc-slider-step {
    height: 100%;
    width: 4px;
  }
  .rc-slider-vertical .rc-slider-dot {
    left: 2px;
    margin-bottom: -4px;
  }
  .rc-slider-vertical .rc-slider-dot:first-child {
    margin-bottom: -4px;
  }
  .rc-slider-vertical .rc-slider-dot:last-child {
    margin-bottom: -4px;
  }
  .rc-slider-tooltip-zoom-down-enter,
  .rc-slider-tooltip-zoom-down-appear {
    animation-duration: .3s;
    animation-fill-mode: both;
    display: block !important;
    animation-play-state: paused;
  }
  .rc-slider-tooltip-zoom-down-leave {
    animation-duration: .3s;
    animation-fill-mode: both;
    display: block !important;
    animation-play-state: paused;
  }
  .rc-slider-tooltip-zoom-down-enter.rc-slider-tooltip-zoom-down-enter-active,
  .rc-slider-tooltip-zoom-down-appear.rc-slider-tooltip-zoom-down-appear-active {
    animation-name: rcSliderTooltipZoomDownIn;
    animation-play-state: running;
  }
  .rc-slider-tooltip-zoom-down-leave.rc-slider-tooltip-zoom-down-leave-active {
    animation-name: rcSliderTooltipZoomDownOut;
    animation-play-state: running;
  }
  .rc-slider-tooltip-zoom-down-enter,
  .rc-slider-tooltip-zoom-down-appear {
    transform: scale(0, 0);
    animation-timing-function: cubic-bezier(0.23, 1, 0.32, 1);
  }
  .rc-slider-tooltip-zoom-down-leave {
    animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
  }
  @keyframes rcSliderTooltipZoomDownIn {
    0% {
      opacity: 0;
      transform-origin: 50% 100%;
      transform: scale(0, 0);
    }
    100% {
      transform-origin: 50% 100%;
      transform: scale(1, 1);
    }
  }
  @keyframes rcSliderTooltipZoomDownOut {
    0% {
      transform-origin: 50% 100%;
      transform: scale(1, 1);
    }
    100% {
      opacity: 0;
      transform-origin: 50% 100%;
      transform: scale(0, 0);
    }
  }
  .rc-slider-tooltip {
    position: absolute;
    left: -9999px;
    top: -9999px;
    visibility: visible;
    box-sizing: border-box;
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  }
  .rc-slider-tooltip * {
    box-sizing: border-box;
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  }
  .rc-slider-tooltip-hidden {
    display: none;
  }
  .rc-slider-tooltip-placement-top {
    padding: 4px 0 8px 0;
  }
  .rc-slider-tooltip-inner {
    padding: 6px 2px;
    min-width: 24px;
    height: 24px;
    font-size: 12px;
    line-height: 1;
    color: #fff;
    text-align: center;
    text-decoration: none;
    background-color: #6c6c6c;
    border-radius: 6px;
    box-shadow: 0 0 4px #d9d9d9;
  }
  .rc-slider-tooltip-arrow {
    position: absolute;
    width: 0;
    height: 0;
    border-color: transparent;
    border-style: solid;
  }
  .rc-slider-tooltip-placement-top .rc-slider-tooltip-arrow {
    bottom: 4px;
    left: 50%;
    margin-left: -4px;
    border-width: 4px 4px 0;
    border-top-color: #6c6c6c;
  }
  *,
*:before,
*:after {
  box-sizing: inherit;
}
  html {
  box-sizing: border-box;
}
  input[type=text],
input[type=email],
input[type=search],
input[type=password] {
  -webkit-appearance: none;
  -moz-appearance: none;
}
  html {
  line-height: 1.15;
  -webkit-text-size-adjust: 100%;
}
  body {
  margin: 0;
}
  article,
aside,
footer,
header,
nav,
section {
  display: block;
}
  h1 {
  font-size: 2em;
  margin: 0.67em 0;
}
  figcaption,
figure,
main {
  display: block;
}
  figure {
  margin: 1em 40px;
}
  hr {
  box-sizing: content-box;
  height: 0;
  overflow: visible;
}
  pre {
  font-family: monospace, monospace;
  font-size: 1em;
}
  a {
  background-color: transparent;
  -webkit-text-decoration-skip: objects;
}
  abbr[title] {
  border-bottom: none;
  text-decoration: underline;
  -webkit-text-decoration: underline dotted;
  text-decoration: underline dotted;
}
  b,
strong {
  font-weight: inherit;
}
  b,
strong {
  font-weight: bolder;
}
  code,
kbd,
samp {
  font-family: monospace, monospace;
  font-size: 1em;
}
  dfn {
  font-style: italic;
}
  mark {
  background-color: #ff0;
  color: #000;
}
  small {
  font-size: 80%;
}
  sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}
  sub {
  bottom: -0.25em;
}
  sup {
  top: -0.5em;
}
  audio:not([controls]) {
  display: none;
  height: 0;
}
  img {
  border-style: none;
}
  button,
input,
optgroup,
select,
textarea {
  font-family: inherit;
  font-size: 100%;
  line-height: 1.15;
  margin: 0;
}
  button,
input {
  overflow: visible;
}
  button,
select {
  text-transform: none;
}
  html [type=button],
[type=reset],
[type=submit],
button {
  -webkit-appearance: button;
}
  button::-moz-focus-inner,
[type=button]::-moz-focus-inner,
[type=reset]::-moz-focus-inner,
[type=submit]::-moz-focus-inner {
  border-style: none;
  padding: 0;
}
  button:-moz-focusring,
[type=button]:-moz-focusring,
[type=reset]:-moz-focusring,
[type=submit]:-moz-focusring {
  outline: 1px dotted ButtonText;
}
  fieldset {
  padding: 0.35em 0.75em 0.625em;
}
  legend {
  box-sizing: border-box;
  color: inherit;
  display: table;
  max-width: 100%;
  padding: 0;
  white-space: normal;
}
  progress {
  display: inline-block;
  vertical-align: baseline;
}
  textarea {
  overflow: auto;
}
  [type=checkbox],
[type=radio] {
  box-sizing: border-box;
  padding: 0;
}
  [type=number]::-webkit-inner-spin-button,
[type=number]::-webkit-outer-spin-button {
  height: auto;
}
  [type=search] {
  -webkit-appearance: textfield;
  outline-offset: -2px;
}
  [type=search]::-webkit-search-cancel-button,
[type=search]::-webkit-search-decoration {
  -webkit-appearance: none;
}
  ::-webkit-file-upload-button {
  -webkit-appearance: button;
  font: inherit;
}
  details,
menu {
  display: block;
}
  summary {
  display: list-item;
}
  canvas {
  display: inline-block;
}
  [hidden] {
  display: none;
}
  html,
body {
  height: 100%;
}
  html {
  font-size: 14px;
}
  body {
  margin: 0;
  padding: 0;
  overflow-x: hidden;
  min-width: 320px;
  background: #fff;
  font-size: 14px;
  line-height: 1.4285em;
  color: rgba(0, 0, 0, 0.87);
  font-smoothing: antialiased;
}
  h1,
h2,
h3,
h4,
h5 {
  line-height: 1.28571429em;
  margin: calc(2rem - 0.14285714em) 0 1rem;
  font-weight: 700;
  padding: 0;
}
  h1 {
  min-height: 1rem;
  font-size: 2rem;
}
  h2 {
  font-size: 1.71428571rem;
}
  h3 {
  font-size: 1.28571429rem;
}
  h4 {
  font-size: 1.07142857rem;
}
  h5 {
  font-size: 1rem;
}
  h1:first-child,
h2:first-child,
h3:first-child,
h4:first-child,
h5:first-child {
  margin-top: 0;
}
  h1:last-child,
h2:last-child,
h3:last-child,
h4:last-child,
h5:last-child {
  margin-bottom: 0;
}
  p {
  margin: 0 0 1em;
  line-height: 1.4285em;
}
  p:first-child {
  margin-top: 0;
}
  p:last-child {
  margin-bottom: 0;
}
  a {
  color: #4183c4;
  text-decoration: none;
}
  a:hover {
  color: #1e70bf;
  text-decoration: none;
}
  ::-webkit-selection {
  background-color: #cce2ff;
  color: rgba(0, 0, 0, 0.87);
}
  ::-moz-selection {
  background-color: #cce2ff;
  color: rgba(0, 0, 0, 0.87);
}
  ::selection {
  background-color: #cce2ff;
  color: rgba(0, 0, 0, 0.87);
}
  input::-webkit-selection,
textarea::-webkit-selection {
  background-color: rgba(100, 100, 100, 0.4);
  color: rgba(0, 0, 0, 0.87);
}
  input::-moz-selection,
textarea::-moz-selection {
  background-color: rgba(100, 100, 100, 0.4);
  color: rgba(0, 0, 0, 0.87);
}
  input::-moz-selection, textarea::-moz-selection {
  background-color: rgba(100, 100, 100, 0.4);
  color: rgba(0, 0, 0, 0.87);
}
  input::selection,
textarea::selection {
  background-color: rgba(100, 100, 100, 0.4);
  color: rgba(0, 0, 0, 0.87);
}
  body ::-webkit-scrollbar {
  -webkit-appearance: none;
  width: 10px;
  height: 10px;
}
  body ::-webkit-scrollbar-track {
  background: rgba(0, 0, 0, 0.1);
  border-radius: 0;
}
  body ::-webkit-scrollbar-thumb {
  cursor: pointer;
  border-radius: 5px;
  background: rgba(0, 0, 0, 0.25);
  -webkit-transition: color 0.2s ease;
  transition: color 0.2s ease;
}
  body ::-webkit-scrollbar-thumb:window-inactive {
  background: rgba(0, 0, 0, 0.15);
}
  body ::-webkit-scrollbar-thumb:hover {
  background: rgba(128, 135, 139, 0.8);
}
  @font-face {
  font-family: "NotoSansSyriacEastern";
  src: local("Noto Sans Syriac Eastern"), url("/assets/Cs-49tpf.ttf") format("truetype");
  font-display: swap;
  font-weight: normal;
  font-style: normal;
}
  :root {
  --universal-bg-color: #77c8d4;
}
  :root {
  --app-bg-color: #c1dce6;
}
  :root {
  --font-ui: "Geologica", sans-serif;
  --font-content: "Rubik", sans-serif;
}
  body {
  font-family: var(--font-ui), Apple Color Emoji, Segoe UI Emoji;
  background-color: var(--app-bg-color);
}
  button:focus {
  outline: none;
}
  html,
body,
#root {
  height: 100%;
  background-color: var(--app-bg-color);
}
  .pt-xs {
  padding-top: 0.2rem;
}
  .pt-sm {
  padding-top: 0.5rem;
}
  .pt-nm {
  padding-top: 1rem;
}
  .pt-lg {
  padding-top: 2rem;
}
  .pt-xl {
  padding-top: 3rem;
}
  .pb-xs {
  padding-bottom: 0.2rem;
}
  .pb-sm {
  padding-bottom: 0.5rem;
}
  .pb-nm {
  padding-bottom: 1rem;
}
  .pb-lg {
  padding-bottom: 2rem;
}
  .pb-xl {
  padding-bottom: 3rem;
}
  .pr-xs {
  padding-right: 0.2rem;
}
  .pr-sm {
  padding-right: 0.5rem;
}
  .pr-nm {
  padding-right: 1rem;
}
  .pr-lg {
  padding-right: 2rem;
}
  .pr-xl {
  padding-right: 3rem;
}
  .pl-xs {
  padding-left: 0.2rem;
}
  .pl-sm {
  padding-left: 0.5rem;
}
  .pl-nm {
  padding-left: 1rem;
}
  .pl-lg {
  padding-left: 2rem;
}
  .pl-xl {
  padding-left: 3rem;
}
  .ps-xs {
  padding-left: 0.2rem;
  padding-right: 0.2rem;
}
  .ps-sm {
  padding-left: 0.5rem;
  padding-right: 0.5rem;
}
  .ps-nm {
  padding-left: 1rem;
  padding-right: 1rem;
}
  .ps-lg {
  padding-left: 2rem;
  padding-right: 2rem;
}
  .ps-xl {
  padding-left: 3rem;
  padding-right: 3rem;
}
  .mt-xs {
  margin-top: 0.2rem;
}
  .mt-sm {
  margin-top: 0.5rem;
}
  .mt-nm {
  margin-top: 1rem;
}
  .mt-lg {
  margin-top: 2rem;
}
  .mt-xl {
  margin-top: 3rem;
}
  .mb-xs {
  margin-bottom: 0.2rem;
}
  .mb-sm {
  margin-bottom: 0.5rem;
}
  .mb-nm {
  margin-bottom: 1rem;
}
  .mb-lg {
  margin-bottom: 2rem;
}
  .mb-xl {
  margin-bottom: 3rem;
}
  .mr-xs {
  margin-right: 0.2rem;
}
  .mr-sm {
  margin-right: 0.5rem;
}
  .mr-nm {
  margin-right: 1rem;
}
  .mr-lg {
  margin-right: 2rem;
}
  .mr-xl {
  margin-right: 3rem;
}
  .ml-xs {
  margin-left: 0.2rem;
}
  .ml-sm {
  margin-left: 0.5rem;
}
  .ml-nm {
  margin-left: 1rem;
}
  .ml-lg {
  margin-left: 2rem;
}
  .ml-xl {
  margin-left: 3rem;
}
  .my-xs {
  margin-top: 0.2rem;
  margin-bottom: 0.2rem;
}
  .my-sm {
  margin-top: 0.5rem;
  margin-bottom: 0.5rem;
}
  .my-nm {
  margin-top: 1rem;
  margin-bottom: 1rem;
}
  .my-lg {
  margin-top: 2rem;
  margin-bottom: 2rem;
}
  .my-xl {
  margin-top: 3rem;
  margin-bottom: 3rem;
}
  .universal-background {
  background: var(--universal-bg-color);
  border-radius: 0 0 12px 12px;
  padding: 12px;
  border-left: 2px solid #000;
  border-right: 2px solid #000;
  border-bottom: 2px solid #000;
  border-top: 0;
  overflow: hidden;
  margin-bottom: 8px;
}
  .universal-background-full {
  background: var(--universal-bg-color);
  border-radius: 12px 12px 12px 12px;
  border-left: 2px solid #000;
  border-right: 2px solid #000;
  border-bottom: 2px solid #000;
  border-top: 2px solid #000;
  overflow: hidden;
}
  .universal-background-sides {
  background: var(--universal-bg-color);
  padding: 12px;
  border-left: 2px solid #000;
  border-right: 2px solid #000;
  border-bottom: 0;
  border-top: 0;
  overflow: hidden;
}
  .disabled-text {
  color: grey;
}
  .auto {
  margin: auto;
}
  .auto-right {
  margin-right: auto;
}
  .auto-left {
  margin-left: auto;
}
  .auto-top {
  margin-top: auto;
}
  .gap-row-xs > :not(:last-child) {
  margin-bottom: 0.2rem;
}
  .gap-row-sm > :not(:last-child) {
  margin-bottom: 0.5rem;
}
  .gap-row-nm > :not(:last-child) {
  margin-bottom: 1rem;
}
  .gap-row-lg > :not(:last-child) {
  margin-bottom: 2rem;
}
  .gap-row-xl > :not(:last-child) {
  margin-bottom: 3rem;
}
  .gap-col-xs > :not(:last-child) {
  margin-right: 0.2rem;
}
  .gap-col-sm > :not(:last-child) {
  margin-right: 0.5rem;
}
  .gap-col-nm > :not(:last-child) {
  margin-right: 1rem;
}
  .gap-col-lg > :not(:last-child) {
  margin-right: 2rem;
}
  .gap-col-xl > :not(:last-child) {
  margin-right: 3rem;
}
  .flex {
  display: flex;
}
  .flex-col {
  display: flex;
  flex-direction: column;
}
  .align-end {
  align-items: flex-end;
}
  .align-self-end {
  align-self: flex-end;
}
  .flex-reverse {
  display: flex;
  flex-direction: row-reverse;
}
  .flex-column-reverse {
  display: flex;
  flex-direction: column-reverse;
}
  .align-right {
  text-align: right;
}
  .space-between {
  display: flex;
  justify-content: space-between;
}
  .space-evenly {
  display: flex;
  justify-content: space-evenly;
}
  .justify-center, .practice-timer-btns-cont, .practice-timer, .practice-timer-value, .practice-timer-pause-btn, .competition-pause-btn, .test-controls, .test-paused-text-cont {
  display: flex;
  justify-content: center;
}
  .justify-end {
  display: flex;
  justify-content: flex-end;
}
  .wrap {
  flex-wrap: wrap;
}
  .grow {
  flex-grow: 1;
}
  .grow-children > * {
  flex-basis: 0;
  flex-grow: 1;
}
  .flex-static-size {
  flex: 0 0 auto;
}
  .align-start {
  align-items: flex-start;
}
  .align-center, .practice-timer-btns-cont, .practice-timer, .practice-timer-value, .practice-timer-pause-btn, .competition-pause-btn, .test-controls {
  align-items: center;
}
  .header-2, .story-title {
  font-size: 22px;
}
  .header-3 {
  font-size: 20px;
}
  .header-4 {
  font-size: 22px;
  text-align: center;
}
  .content-text {
  font-family: var(--font-content);
}
  .bold-italics {
  font-size: 14px;
  font-weight: 600;
  font-style: italic;
}
  .practice-text {
  font-family: var(--font-language, var(--font-content));
  font-size: 1.3rem;
}
  .story-title {
  font-size: 1.857rem;
  display: flex;
  align-items: center;
}
  .clickable {
  cursor: pointer;
}
  .bold {
  font-weight: 600;
}
  .italics {
  font-style: italic;
}
  .auto-overflow {
  overflow: auto;
}
  .full-width {
  width: 100%;
}
  .Toastify__toast {
  --toastify-color-light: #faf8ed;
  --toastify-text-color-light: #2d2c2a;
  --toastify-toast-bd-radius: 16px;
  --toastify-toast-shadow: 0 8px 24px rgba(45, 44, 42, 0.14);
  --toastify-toast-padding: 14px 16px;
  --toastify-font-family: var(--font-ui);
  border: 1px solid #b1d3c2;
  text-align: left;
  font-weight: 500;
}
  .Toastify__toast .Toastify__close-button {
  color: #2d2c2a;
  opacity: 0.6;
}
  .Toastify__toast .Toastify__close-button:hover {
  opacity: 1;
}
  .Toastify__toast .Toastify__progress-bar {
  background: #b1d3c2;
}
  .reading-choice-correct {
  background-color: lightgreen !important;
}
  .reading-choice-incorrect {
  background-color: lightcoral !important;
}
  .card {
  border: 1px solid rgb(112, 114, 120);
  border-radius: 10px !important;
  margin-bottom: 10px;
  margin-top: 10px;
  height: -moz-max-content;
  height: max-content;
}
  .card-controlled-story {
  background: rgb(255, 239, 213) !important;
}
  .story-card-title-cont {
  padding: 15px 15px 5px 15px !important;
}
  .annotation-list-item {
  max-width: 10%;
}
  .story-card-actions-cont {
  padding: 10px 15px 10px 15px !important;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
  .react-datepicker__input-container > input {
  width: 120px;
  border: 1px solid rgba(34, 36, 38, 0.15);
  border-radius: 0.25em;
  padding-left: 0.5em;
}
  body .react-datepicker,
body .hg-theme-default {
  font-family: var(--font-ui);
}
  .ReactVirtualized__Grid__innerScrollContainer {
  overflow: initial !important;
}
  .ReactVirtualized__Grid {
  overflow: initial !important;
}
  [type=file] {
  border: 0;
  clip: rect(0, 0, 0, 0);
  height: 1px;
  overflow: hidden;
  padding: 0;
  position: absolute !important;
  white-space: nowrap;
  width: 1px;
}
  [type=file] + label {
  background-color: #17a2b8;
  border-radius: 0.25rem;
  color: #fff;
  cursor: pointer;
  display: flex;
  padding: 1em;
  margin: 0;
  min-width: 10em;
  justify-content: center;
}
  [type=file]:focus + label,
[type=file] + label:hover {
  background-color: #138496;
}
  [type=file]:focus + label {
  outline: 1px dotted #000;
}
  .application-content {
  min-height: calc(100vh - 3em - 50px);
  width: 100%;
  padding-right: 0.2rem;
  padding-left: 0.2rem;
  padding-top: 0;
  background-color: var(--app-bg-color);
}
  .blue-bg {
  background-color: var(--app-bg-color) !important;
}
  .cont {
  width: 100%;
  max-width: 1024px;
}
  @media (min-width: 700px) {
  .cont {
    min-width: 650px;
  }
}
  .cont-tall {
  min-height: calc(100vh - 3em - 0.5rem - 50px);
}
  .cont-narrow {
  width: 100%;
  max-width: 720px;
}
  .headroom {
  z-index: 99 !important;
}
  .tour-mobile-message {
  font-size: 1rem;
}
  .homeview-btns-cont {
  width: 100%;
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-template-rows: 0.4fr 1.3fr 1.3fr 1.3fr;
  gap: 15px 15px;
  grid-auto-flow: row;
  grid-template-columns: 100%;
  grid-template-rows: 0.6fr;
}
  @media (min-width: 900px) {
  .homeview-btns-cont {
    width: 100%;
  }
}
  .homeview-btns-cont-student {
  grid-template-areas: "continue-activity" "exhaustive-test" "practice" "library" "lesson" "flashcards" "adaptive-test" "reading-test" ".";
}
  .homeview-btns-cont-teacher {
  grid-template-areas: "add-new-stories" "groups" "library" "lesson" ".";
}
  .borders-light-grey {
  border: 2px solid lightgrey;
  border-radius: 12px;
  background: #FFF;
  padding: 1rem;
}
  .continue-activity-btn-cont {
  grid-area: continue-activity;
}
  .add-new-stories-btn-cont {
  grid-area: add-new-stories;
}
  .groups-btn-cont {
  grid-area: groups;
}
  .practice-btn-cont {
  grid-area: practice;
}
  .library-btn-cont {
  grid-area: library;
}
  .flashcards-btn-cont {
  grid-area: flashcards;
}
  .lesson-btn-cont {
  grid-area: lesson;
}
  .test-btn-cont {
  grid-area: exhaustive-test;
}
  .reading-test-btn-cont {
  grid-area: reading-test;
}
  .adaptive-test-btn-cont {
  grid-area: adaptive-test;
}
  .notes-library-btn-cont {
  grid-area: notes;
}
  .encouragement {
  border: 2px solid lightgrey;
  border-radius: 12px;
  background: #FFF;
  color: #000000;
}
  .enc-picture {
  display: block;
  max-width: 112px;
  max-height: 112px;
  width: auto;
  height: auto;
  margin-bottom: 0.5em;
  margin-left: auto;
}
  .enc-picture-mobile {
  display: block;
  max-width: 86px;
  max-height: 86px;
  width: auto;
  height: auto;
  margin-bottom: 0.5em;
  margin-left: auto;
}
  .encouragement-button {
  background-color: transparent;
  border: 2px solid !important;
  border-radius: 12px !important;
  margin-left: 0.5rem;
  padding: 0.1rem;
  border-color: black !important;
  animation-name: flashButton !important;
  animation-duration: 3s !important;
}
  @keyframes flashButton {
  0% {
    background-color: rgb(255, 209, 80);
  }
  33% {
    background-color: transparent;
  }
  66% {
    background-color: rgb(255, 209, 80);
  }
  100% {
    background-color: transparent;
  }
}
  .draggable-modal {
  border: 2px solid lightgrey;
  border-radius: 12px;
  padding: 20px;
  position: absolute;
  background: #FFF;
  z-index: 103;
}
  .draggable-ex-encouragement {
  border: 2px solid lightgrey;
  border-radius: 12px;
  padding: 20px;
  position: absolute;
  top: 50%;
  left: 50%;
  margin-left: -226px;
  background: #FFF;
  z-index: 103;
  width: 452px;
  color: #000000;
}
  .draggable-ex-encouragement-mobile {
  border: 2px solid lightgrey;
  border-radius: 12px;
  padding: 20px;
  position: absolute;
  top: 50%;
  left: 50%;
  margin-left: -176px;
  background: #FFF;
  z-index: 103;
  width: 352px;
  color: #000000;
}
  .draggable-encouragement {
  border: 2px solid lightgrey;
  border-radius: 12px;
  padding: 20px;
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  box-shadow: 2.5em 2.5em 1.6em #6e6c6c;
  background: #FFF;
  z-index: 1103;
  width: 600px;
  color: #000000;
}
  .draggable-encouragement-mobile {
  border: 2px solid lightgrey;
  border-radius: 12px;
  padding: 20px;
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background: #FFF;
  z-index: 1103;
  width: 352px;
  color: #000000;
}
  .row-flex {
  display: flex;
  flex-direction: row;
  align-items: center;
}
  .col-flex {
  display: flex;
  flex-direction: column;
}
  .encouragement-picture {
  display: flex;
  align-items: center;
  justify-content: center;
  padding-top: 0.75rem;
  flex-direction: row;
}
  .approve {
  color: green;
  margin-top: 0.5rem;
  margin-right: 1.5rem;
}
  .decline {
  color: #FF0000;
  margin-top: 0.5rem;
}
  .welcome-picture {
  padding-top: 1.5rem;
}
  .homeview-item {
  border: 2px solid #000;
  border-radius: 12px;
  background: #FFF;
}
  .annotation-name-input {
  width: 330px !important;
}
  .multi-choice-long-input {
  width: 220px !important;
  margin-right: 0.5rem !important;
}
  .multi-choice-input {
  width: 150px !important;
  margin-right: 0.5rem !important;
}
  .multi-choice-input-mobile {
  width: 70px !important;
  margin-right: 0.25rem !important;
}
  .homeview-btn {
  background: #32aaf8;
  height: 100%;
  width: 100%;
  border: 2px solid #000;
  border-radius: 12px;
}
  .homeview-btn-narrow {
  padding: 15px 5px 20px 25px;
}
  .homeview-btn-wide {
  padding: 10px !important;
  background: rgb(50, 170, 248);
}
  .homeview-btn-text {
  font-size: 1.5em !important;
  font-weight: 500;
}
  .attempt-bar {
  background: #b1d3c2;
}
  .homeview-btn:hover,
.practice-now-modal-btn:hover {
  background-color: rgb(255, 209, 80) !important;
}
  .practice-now-modal-group-cont {
  display: flex;
  justify-content: space-evenly;
  flex-wrap: wrap;
  padding: 5px;
}
  .practice-now-modal-label {
  font-weight: 500;
  font-size: 1.5em;
  margin-bottom: 1em;
}
  @media (max-width: 800px) {
  .practice-now-modal-label {
    font-size: 1.2em;
  }
}
  .practice-now-modal-btn {
  padding: 10px 5px 15px 5px;
  border: 2px solid #000;
  border-radius: 12px;
  width: calc(25% - 14px);
  font-size: 1.2em;
  font-weight: 500;
  margin: 7px;
  position: relative;
  background: white;
}
  @media (max-width: 800px) {
  .practice-now-modal-btn {
    width: calc(50% - 8px);
    margin: 4px;
  }
}
  .navbar {
  background-color: var(--app-bg-color);
  align-items: center;
  display: flex;
  justify-content: space-between;
  height: 3em;
  z-index: 100;
  position: sticky;
  width: 100%;
  top: 0;
}
  .navbar-container {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
  .navbar-level {
  color: black;
  width: 25px;
  height: 25px;
  border: 2px solid #000;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
}
  .navbar-revita-logo {
  color: black !important;
  margin-left: 1.5em;
  margin-right: 3em;
}
  @media (max-width: 850px) {
  .navbar-revita-logo {
    margin-left: 0.5em;
    margin-right: 1em;
  }
}
  @media (max-width: 1050px) {
  .navbar-revita-logo {
    margin-left: 0.3em;
    margin-right: 0.5em;
  }
}
  .navbar-basic-icon {
  margin-left: 11px !important;
  margin-right: 11px !important;
  cursor: pointer;
}
  @media (max-width: 755px) {
  .navbar-basic-icon {
    margin-left: 0.2em;
    margin-right: 0.2em;
  }
}
  .navbar-text-item {
  margin-top: 0.4em;
  font-weight: 400;
  color: black !important;
  margin-right: 2em;
}
  @media (max-width: 850px) {
  .navbar-text-item {
    margin-right: 1em;
  }
}
  .navbar-dropdown-text {
  margin-left: -0.4em;
  margin-top: 0.4em;
  color: black !important;
  margin-right: 0em;
}
  .navbar-dropdown-icon-cont {
  margin-left: 10px;
  margin-right: 3px;
}
  @media (max-width: 850px) {
  .navbar-dropdown-icon-cont {
    margin-left: 0.2em;
    margin-right: 0.2em;
  }
}
  .navbar-dropdown-icon {
  color: black;
  margin-right: -0.15em !important;
}
  .navbar-text-item:hover, .navbar-dropdown-text:hover {
  text-decoration: underline;
}
  .navbar-external-link:visited {
  color: #212529;
  background-color: #FFFFFF;
}
  .navbar-external-link:hover {
  color: #212529;
  background-color: #f8f9fa;
}
  .navbar-flag {
  border-radius: 4px;
  height: 21px;
  border: 2px solid black;
}
  .navbar-flag:hover {
  border: 2px solid rgb(255, 209, 80);
}
  .navbar-news-label {
  font-size: 0.7em !important;
}
  .story-title {
  font-family: var(--font-language, var(--font-content));
  font-weight: 600;
  line-height: 1.3;
  padding-right: 1em;
  margin-bottom: 0.75em;
  min-height: 1.5em;
  height: auto;
}
  .word-interactive {
  cursor: pointer;
}
  .word-interactive--exercise {
  background-color: lightblue;
  border-radius: 1em;
  padding-left: 1em;
  padding-right: 1em;
  padding-top: 0.2em;
  padding-bottom: 0.2em;
}
  .non-recognized-word {
  cursor: pointer;
}
  .exercise {
  font-family: var(--font-language, var(--font-content));
  border-style: solid;
  border-color: lightgrey;
  border-radius: 4px;
  border-width: thin;
  padding-left: 4px;
}
  .exercise:-moz-read-only {
  opacity: 0.45;
  cursor: pointer;
}
  .exercise:read-only {
  opacity: 0.45;
  cursor: pointer;
}
  .exercise-multiple {
  font-family: var(--font-language, var(--font-content));
  min-height: 0 !important;
  height: 1.5em !important;
  padding: 2px 0 1px 4px !important;
  border-radius: 4px !important;
  border-style: solid !important;
  border-color: lightgrey !important;
  border-width: thin !important;
}
  .exercise-multiple.wrong {
  background-color: #FFDADA !important;
}
  .exercise-multiple.correct {
  background-color: #d3ffd8 !important;
}
  .exercise-multiple.untouched {
  background-color: #fbfbb5 !important;
}
  .exercise-multiple.touched {
  background-color: lightyellow !important;
}
  .cloze-untouched {
  background-color: #fbfbb5;
}
  .cloze-touched {
  background-color: lightyellow;
}
  .exercise.control-mode:-moz-read-only, .exercise-multiple:-moz-read-only {
  opacity: 1;
  color: rgb(49, 49, 49);
}
  .exercise.control-mode:read-only,
.exercise-multiple:read-only {
  opacity: 1;
  color: rgb(49, 49, 49);
}
  .control-mode-chosen {
  background-color: rgb(164, 240, 209) !important;
}
  .control-mode-unchosen {
  background-color: #fabbbb !important;
}
  .control-mode > .default.text {
  color: rgb(49, 49, 49) !important;
}
  .hearing-untouched {
  background-color: #DCF6FF;
}
  .hearing-touched {
  background-color: #cdf3ff;
}
  .wrong {
  background-color: #FFDADA;
}
  .correct {
  background-color: #d3ffd8;
}
  .wrong-text {
  color: #0000FF;
}
  .wrong-text-background {
  background-color: #ff0000;
}
  .right-text {
  color: green;
  font-weight: 500;
}
  .preview-text {
  color: rgb(107, 6, 153);
  font-weight: 400;
}
  .preview-text-no-concepts {
  color: rgb(0, 141, 129);
  font-weight: 500;
}
  .sidebar-hamburger {
  z-index: 102;
  cursor: pointer;
}
  .sidebar-swipeable {
  width: 1em;
  left: 0;
  top: 0;
  z-index: 102;
  position: fixed;
  height: 100vh;
}
  .sidebar-content {
  display: flex;
  flex-direction: column;
  height: 100%;
}
  .sidebar-action-button {
  min-height: 44px;
  padding-top: 0.5rem !important;
  padding-bottom: 0.5rem !important;
}
  .sidebar-profile-summary-link {
  text-decoration: none;
  margin-top: 16px;
}
  /* Sidebar compact mode for small mobile widths/heights */
  @media (max-width: 480px), (max-height: 760px) {
  .sidebar-panel {
    width: 320px !important;
    min-width: 320px !important;
    max-width: 320px !important;
  }
  .sidebar-panel .sidebar-content {
    overflow-y: auto;
  }
  .sidebar-panel .sidebar-actions-wrap {
    padding: 12px 10px !important;
  }
  .sidebar-panel .sidebar-footer-inner {
    padding: 12px !important;
  }
  .sidebar-panel .sidebar-action-button {
    margin-top: 6px !important;
    padding: 0.28rem 0.55rem !important;
    min-height: 36px !important;
    font-size: 0.95rem !important;
    line-height: 1.25 !important;
  }
  .sidebar-panel .sidebar-action-button svg {
    margin-right: 0.3em !important;
    font-size: 1rem !important;
  }
  .sidebar-panel .sidebar-register-button {
    padding: 0.3rem 0.55rem !important;
    font-size: 0.9rem !important;
  }
  .sidebar-panel .sidebar-more-section {
    margin-top: 0.35em !important;
  }
  .sidebar-panel .sidebar-more-trigger {
    margin-top: 6px !important;
    padding: 0.28rem 0.55rem !important;
    font-size: 1rem !important;
    line-height: 1.25 !important;
  }
}
  @media (max-height: 680px) {
  .sidebar-panel .sidebar-action-button {
    margin-top: 4px !important;
    padding: 0.22rem 0.5rem !important;
    min-height: 32px !important;
    font-size: 0.9rem !important;
  }
  .sidebar-panel .sidebar-more-trigger {
    margin-top: 4px !important;
    padding: 0.22rem 0.5rem !important;
    font-size: 0.95rem !important;
  }
  .sidebar-panel .sidebar-footer-inner {
    padding: 10px !important;
  }
}
  .practice-container {
  margin-bottom: 2em;
  word-spacing: 1px;
  line-height: 2em;
  font-family: var(--font-language, var(--font-content));
}
  .check-answers-button {
  letter-spacing: 0;
  font-family: var(--font-ui);
  font-weight: 600;
  font-size: 16px;
  color: #2d2c2a;
  width: 100%;
  padding: 0;
  border-radius: 999px;
  border: 1px solid #b1d3c2;
  background: #faf8ed;
  margin-bottom: 0.5rem;
  position: relative;
  outline: 0;
  text-align: center;
  overflow: hidden;
}
  .check-answers-button:hover {
  border: 1px solid #9cc6b2;
}
  .check-answers-button:hover > div {
  background-color: #9cc6b2;
}
  .check-answers-button:focus {
  outline: 0;
}
  .check-answers-button:focus > div {
  background-color: #9cc6b2;
}
  .check-answers-button > div {
  height: 2.5rem;
  border-radius: 999px;
  transition: width 500ms ease-in-out;
}
  .check-answers-button > span {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translateX(-50%) translateY(-50%);
}
  .check-answers-button:disabled {
  opacity: 0.6;
}
  .check-answers-button:disabled > div {
  background-color: #c9ded2;
}
  .virtual-keyboard-ctrl-alt {
  flex-grow: 0 !important;
  padding-left: 2rem !important;
  padding-right: 2rem !important;
}
  .virtual-keyboard-active-key {
  background-color: rgb(50, 170, 248) !important;
  color: white !important;
}
  .dictionary-button {
  position: fixed;
  height: 43px;
  right: 3px;
  bottom: 10px;
  background-color: #fafafa;
  z-index: 1;
}
  @media (min-width: 695px) {
  .dictionary-button {
    bottom: 3em;
  }
}
  .logout-button {
  position: fixed;
  right: 0;
  color: rgb(50, 170, 248);
  font-size: 13px;
  font-style: italic;
  background-color: white;
  border: none;
}
  .logout-button:hover {
  color: #777;
}
  .dictionary-and-annotations-cont {
  display: flex;
  flex-direction: column;
  gap: 1em;
  position: sticky;
  top: 4em;
  align-self: flex-start;
}
  .dictionary-help {
  width: 350px;
  margin-left: 1em;
  height: auto;
}
  .dictionary-help-overlay {
  position: fixed;
  top: auto;
  right: 1em;
  bottom: 3em;
  width: calc(100vw - 2em);
}
  @media (max-width: 639px) {
  .dictionary-help {
    bottom: 1%;
    width: 95%;
    margin-bottom: 1em;
  }
}
  .save-edited-story-box,
.story-topics-box,
.annotations-box,
.lesson-topic-box {
  width: 350px;
  margin-left: 1em;
  height: auto;
}
  @media (max-width: 639px) {
  .save-edited-story-box,
  .story-topics-box,
  .annotations-box,
  .lesson-topic-box {
    margin-left: 0;
    margin-bottom: 1em;
  }
}
  .listening-highlighted-word {
  background-color: rgba(255, 152, 0, 0.71) !important;
}
  .concept-highlighted-word {
  background-color: rgba(132, 194, 247, 0.71) !important;
}
  .notes-highlighted-word {
  background-color: rgba(255, 195, 59, 0.692) !important;
}
  .notes-superscript {
  color: green;
  font-size: 0.8rem;
}
  .notes-info-text {
  color: darkslategrey;
  font-style: italic;
}
  .annotation-item {
  border-radius: 0.2rem;
  padding: 0.3em;
}
  .annotation-item-editing {
  background-color: white;
  margin: 0rem;
}
  .annotation-item-listed {
  background-color: #f5f5f5;
  margin: 0.5rem 0rem;
}
  .annotation-item-listed-reply {
  margin-left: 1rem;
}
  .annotation-text-content {
  white-space: pre-line;
  word-wrap: break-word;
  font-style: italic;
  background-color: lightyellow;
  padding: 0.25rem;
}
  .dictionary-translations > * {
  padding-top: 1rem;
}
  .dictionary-translations-overlay {
  display: flex;
  flex-wrap: wrap;
  margin-left: -2rem;
}
  .dictionary-translations-overlay > * {
  margin-left: 2rem;
}
  .source-word {
  cursor: pointer;
  padding-top: 0.5rem;
  color: slategray;
}
  .source-word:hover {
  color: rgb(81, 138, 248);
}
  .story-actions {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  gap: 0.5em;
}
  .story-description {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  display: block;
}
  .library-control {
  display: flex;
  flex-direction: column;
  padding: 0 0.5em 0 0.5em;
  gap: 0.5em;
}
  .library-selection {
  display: flex;
  flex-wrap: wrap;
}
  @media (max-width: 520px) {
  .library-selection {
    flex-direction: column;
  }
}
  .library-tabs {
  display: flex;
  min-width: 50%;
}
  .library-tabs button {
  height: 48px;
}
  .library-tabs button:focus {
  box-shadow: none;
}
  @media (max-width: 520px) {
  .library-tabs button {
    height: 52px;
  }
  .library-tabs button:focus {
    box-shadow: none;
  }
}
  .library-tab {
  flex: 1;
}
  .library-search-cancel {
  position: absolute;
  right: 2em;
  top: 10px;
  margin: 0;
}
  .library-search-cancel:hover {
  cursor: pointer;
}
  .library-tabs-white-bg .library-toggle-button {
  background-color: #ffffff !important;
}
  .library-tabs-white-bg .library-toggle-button-chosen {
  background-color: #ffffff !important;
}
  .practice-now-overlay-icon {
  position: absolute;
  top: -10%;
  left: 55%;
}
  @media (max-width: 700px) {
  .practice-now-overlay-icon {
    left: 65%;
  }
}
  .checkbox-group {
  display: flex;
  min-width: 50%;
}
  .checkbox-group button {
  height: 70px;
}
  .checkbox-group button:focus {
  box-shadow: none;
}
  .competition-results-cont {
  display: flex;
  flex-direction: row;
  justify-content: space-around;
}
  .competition-player-results {
  display: flex;
  flex-direction: column;
  justify-content: space-around;
  align-items: center;
  gap: 1.75em;
}
  .competition-results-buttons-cont {
  display: flex;
  flex-direction: column;
  justify-content: center;
  margin-top: 2.5em;
  align-items: center;
}
  .competition-bar-label {
  transition: width 0.6s ease;
  display: flex;
  justify-content: space-between;
}
  .add-story-accordion-item {
  margin: 1rem;
}
  .add-story-accordion-item-title {
  font-size: 1.2rem !important;
  padding-left: 1em;
}
  .add-story-accordion-item-title-focused {
  font-weight: 500;
  font-size: 1.3rem !important;
  padding-left: 0.75em;
}
  .add-story-accordion-item-content {
  padding-left: 1em !important;
}
  .upload-instructions {
  line-height: 1.5rem;
}
  label.file-upload-btn {
  background: rgb(239, 239, 239);
  color: black;
  border: 1px solid rgb(112, 114, 120);
  border-radius: 10px;
}
  label.file-upload-btn:hover,
label.file-upload-btn :active {
  background: rgb(189, 202, 212);
  border-color: black;
}
  .library-toggle-button-chosen {
  color: black;
  font-weight: 500;
  font-size: medium;
  background-color: var(--universal-bg-color);
  border-radius: 6px 6px 0px 0px;
  border-width: 2px 2px 0px 2px;
  border-style: solid;
  border-color: black;
  width: 100%;
}
  .library-toggle-button-chosen:focus {
  outline: none;
}
  .bg-settings {
  background-color: #faf8ed;
  padding-top: 1em;
  padding-bottom: 1em;
}
  .bg-settings .add-story-accordion-item {
  margin: 0.5rem 0 !important;
  background-color: transparent;
  box-shadow: none;
}
  .bg-settings .add-story-accordion-item::before {
  display: none;
}
  .library-toggle-button {
  color: rgb(119, 119, 119);
  background-color: var(--app-bg-color);
  border-width: 0px 0px 2px 0px;
  border-style: solid;
  border-color: black;
  width: 100%;
}
  .library-toggle-button:hover {
  color: black;
}
  .library-toggle-button:active {
  outline: none;
}
  .story-item-dropdown > a {
  color: rgba(0, 0, 0, 0.87) !important;
}
  .annotation-item-text {
  font-weight: 500;
  white-space: nowrap;
  width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
}
  @media (min-width: 640px) {
  .annotation-item-text {
    margin-left: 1rem;
  }
  .annotation-item-text:hover {
    cursor: pointer;
  }
}
  .story-item-title {
  font-weight: 500;
  white-space: nowrap;
  color: black;
  width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
}
  @media (min-width: 640px) {
  .story-item-title {
    margin-left: 1rem;
    margin-right: 1rem;
  }
  .story-item-title:hover {
    cursor: pointer;
    color: rgb(81, 138, 248);
  }
}
  @media (min-width: 640px) {
  .story-item-dots:hover {
    cursor: pointer;
  }
}
  .disabled-link {
  pointer-events: none;
}
  .group-container {
  max-width: 1024px;
  margin: auto;
  padding-left: 1em;
  padding-right: 1em;
  padding-bottom: 1em;
}
  .group-container.nogroups {
  margin-top: 2em;
  display: flex;
  flex-direction: column;
}
  .group-container.nogroups #title {
  padding-bottom: 1em;
}
  .group-form {
  margin-top: 1.5em;
}
  .group-form > .form-control {
  margin-top: 0.5em;
  margin-bottom: 1.5em;
}
  .label {
  font-size: 1.1em;
  font-weight: 600;
}
  .sm-label {
  font-weight: 700;
  font-size: 0.92857143em;
}
  .additional-info {
  font-style: italic;
  color: gray;
  padding: 0.2em;
}
  .vertical-line {
  width: 1px;
  background-color: lightgray;
  min-height: 100%;
  margin-left: 1em;
  margin-right: 1em;
  display: inline-block;
  opacity: 0.5;
}
  .enc-message-body {
  border: 2px solid cyan;
  border-radius: 12px;
  padding: 15px;
  margin-bottom: 0.5em;
  margin-right: 0.5em;
  margin-top: 0.5em;
}
  .blue-flashcard-intro {
  background-color: white;
  margin-bottom: 2em;
  border-color: aqua;
  /* border-style: outset; */
  border-radius: 10px;
  padding: 10px;
  color: darkslategray;
  box-shadow: 0.5em 0.5em 0.6em grey;
}
  .flashcard-story-info-body {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  max-width: 250px;
  max-height: 300px;
  border-radius: 12px;
  box-shadow: 0.5em 0.5em 0.6em grey;
  padding: 20px;
  background: #FFF;
  color: #000000;
  margin-top: 12px;
}
  .flashcard-side-column {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  align-self: stretch;
  min-height: 100%;
  margin-left: 12px;
}
  .flashcard {
  display: flex;
  flex-direction: column;
  width: 21em;
  height: 35em;
  margin: 0 auto 40px auto;
  padding: 1em 1.5em 1.5em 1em;
  border-radius: 0.8em;
  background-color: #f1eede;
  color: #2d2c2a;
}
  .flashcard:focus {
  outline: none;
}
  .flashcard--placeholder {
  align-items: center;
  justify-content: center;
  text-align: center;
  gap: 1.25em;
}
  .flashcard-no-cards {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 0 0.5em;
  line-height: 1.5;
}
  .flashcard-body {
  position: relative;
  display: flex;
  justify-content: space-between;
  align-items: stretch;
  min-height: 100%;
  flex: 1 1 auto;
  min-height: 0;
  margin: 0 7px 0 7px;
  padding: 24px 8px 8px 8px;
}
  .flashcard-main {
  flex: 1 1 auto;
  display: flex;
  justify-content: center;
  align-items: center;
  min-width: 0;
}
  .flashcard-content {
  display: flex;
  flex-direction: column;
  height: 31em;
}
  .flashcard-list-view {
  display: flex;
  flex-direction: column;
  width: 75%;
  margin-top: -0.5rem;
  padding: 2px 12px 36px 12px;
}
  @media (max-width: 900px) {
  .flashcard-list-view {
    width: 85%;
  }
}
  @media (max-width: 839px) {
  .flashcard-list-view {
    width: 90%;
  }
}
  @media (max-width: 640px) {
  .flashcard-list-view {
    width: 100%;
  }
}
  .flashcard-header {
  height: 2em;
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-weight: 600;
}
  .flashcard-text-container {
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  overflow: auto;
  padding: 4em 2em;
  box-sizing: border-box;
}
  .flashcard-title {
  display: flex;
  justify-content: center;
  align-content: flex-end;
  position: sticky;
}
  .flashcard-title-small {
  font-size: 18px;
  display: flex;
  justify-content: center;
  align-content: flex-end;
  position: sticky;
}
  .flashcard-phonetics {
  height: 1.5em;
  display: flex;
  justify-content: center;
  align-content: flex-end;
  position: sticky;
}
  .flashcard-hint {
  display: flex;
  justify-content: center;
}
  .flashcard-translations {
  width: 100%;
  height: 100%;
  font-size: 1em;
  display: flex;
  justify-content: center;
  align-items: center;
  padding-top: 1rem;
}
  .flashcard-translations > ul {
  max-height: 16em;
  padding-left: 0;
}
  .flashcard-no-cards {
  flex: 1;
  font-size: 1em;
  font-weight: 600;
  display: flex;
  align-items: center;
  overflow: auto;
}
  .flashcard-input-and-result-container {
  height: 25%;
  display: flex;
  padding-top: 0.2em;
  margin-bottom: 3em;
}
  .flashcard-input {
  flex-grow: 1;
  padding-left: 1em;
  padding-right: 1em;
}
  .flashcard-button {
  margin-top: 1em;
  background-color: white;
}
  .flashcard-result {
  margin: auto;
}
  .flashcard-hint-button {
  font-weight: 600;
  font-size: 1.1em;
  color: white;
}
  .flashcard-blended-input {
  background-color: inherit;
  border: none;
}
  .flashcard-blended-input:focus {
  outline: none;
}
  .flashcard-footer {
  margin-top: auto;
  height: 2em;
  display: flex;
  flex-direction: row;
}
  .flashcard-footer > button {
  color: white;
  font-weight: 600;
  padding-right: 0;
}
  .flashcard-footer > select {
  background-color: inherit;
  border: none;
  color: white;
  font-weight: 600;
  width: 7em;
}
  .flashcard-footer > select:focus {
  outline: none;
}
  .flashcard-footer > select > option {
  color: black;
}
  .flashcard-arrow-button {
  display: flex;
  align-items: center;
  margin-left: 0;
  margin-right: 36px;
  padding: 0;
  border: none;
  background: transparent;
  color: rgb(50, 170, 248);
}
  .flashcard-arrow-button:focus {
  outline: none;
}
  .flashcard-arrow-button:hover {
  color: rgb(255, 209, 80);
}
  .flashcard-arrow-button:disabled {
  color: grey;
}
  @media (max-width: 900px) {
  .flashcard-arrow-button {
    margin-right: 24px;
  }
}
  @media (max-width: 590px) {
  .flashcard-arrow-button {
    margin-right: 0;
  }
}
  @media (max-width: 430px) {
  .flashcard-arrow-button {
    display: none;
  }
}
  .flashcard-menu {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  flex-shrink: 0;
  width: 220px;
  padding: 0 4px 42px 0;
  margin: 0 auto 32px auto;
}
  .flashcard-menu-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 200px;
  align-self: stretch;
  box-sizing: border-box;
  padding: 1em;
}
  .flashcard-menu-item:focus {
  outline: 0;
}
  .flashcard-menu-items-boxshadow {
  border: none;
  border-radius: 1em;
  box-shadow: 0.5em 0.5em 0.6em grey;
}
  .flashcard-mobile-template {
  height: auto;
  width: 90%;
  max-width: 25em;
}
  .flashcard-fab-menu {
  position: fixed;
  bottom: 1em;
  left: 1em;
  display: flex;
  flex-direction: column-reverse;
  pointer-events: none;
  z-index: 1000;
}
  .flashcard-fab {
  align-self: flex-start;
  background-color: #00AFDC;
  border-radius: 500px;
  border: none;
  width: 3.5em;
  height: 3.5em;
  box-shadow: 0 6px 10px 0 #666;
  pointer-events: auto;
}
  .flashcard-fab:focus {
  outline: 0;
}
  .flashcard-fab-option {
  align-self: flex-start;
  display: flex;
  padding-left: 0;
  border: none;
  background-color: transparent;
  color: #777;
  align-items: center;
  pointer-events: auto;
}
  .flashcard-fab-icon {
  background-color: white;
  border-radius: 500px;
  width: 2.8em;
  height: 2.8em;
  box-shadow: 0 6px 10px 0 #666;
  display: flex;
  align-items: center;
  border: 1px solid #777;
}
  .flashcard-fab-text {
  background-color: white;
  padding: 0.5em 1em;
  border-radius: 0.5em;
  font-size: 12px;
  box-shadow: 0 6px 10px 0 #666;
  border: 1px solid #777;
}
  .flashcard-template-button {
  background-color: #76c8d4;
  border-color: #76c8d4;
  color: white;
}
  .flashcard-template-button-clear {
  background-color: #ffb449;
  border-color: #ffb449;
  color: white;
}
  .flashcard-template-button-clear:hover, .flashcard-template-button-clear:focus {
  background-color: #f7a32c;
  border-color: #e09d3e;
  color: white;
}
  .flashcard-template-button-clear:active {
  background-color: #fc9f1d;
  border-color: #fc9f1d;
  color: white;
}
  .flashcard-template-button-save {
  background-color: #63a9b4;
  border-color: #529c52;
  color: white;
}
  .flashcard-template-button-save:hover, .flashcard-template-button-save:focus {
  background-color: #478993;
  border-color: #478993;
  color: white;
}
  .flashcard-template-button-save:active {
  background-color: #3f7f89;
  border-color: #3f7f89;
  color: white;
}
  .flashcard-story-info-icon-slot {
  position: absolute;
  top: 8px;
  left: 8px;
  z-index: 2;
  width: 28px;
  height: 28px;
}
  .flashcard-settings-menu {
  min-width: 200px;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
  .flashcard-settings-menu__label {
  display: inline-flex;
  align-items: center;
  font-weight: 600;
}
  .flashcard-settings-trigger {
  padding: 0 !important;
  background: transparent !important;
  min-width: 0;
  min-height: 0;
  line-height: 1;
  margin: 12px 12px 0 0;
  position: absolute;
  top: 12px;
  right: 12px;
  z-index: 5;
  box-shadow: none !important;
  transform-origin: center;
  transition: transform 0.15s ease;
}
  @media (max-width: 839px) {
  .flashcard-settings-trigger {
    display: none !important;
  }
}
  .flashcard-settings-trigger:hover,
.flashcard-settings-trigger:focus {
  background: transparent !important;
  box-shadow: none !important;
  transform: scale(1.15);
}
  .test-container {
  display: flex;
  margin-top: 3em;
  width: 500px;
  flex-direction: column;
}
  .test-question-container {
  min-width: 100%;
  min-height: 500px;
  height: auto;
  padding-top: 1em;
}
  .test-question-spinner-container {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 500px;
  height: 500px;
}
  .test-info {
  font-style: italic;
}
  .test-paused-text-cont {
  font-size: 1.5em;
  color: rgb(112, 114, 120);
  margin-top: 3em;
  text-align: center;
}
  .test-top-info {
  font-size: 22px;
}
  .test-counter {
  font-size: 2.5em;
  border-radius: 7px;
  background: #FFD970;
  height: 65px;
  width: 65px;
  display: flex;
  align-items: center;
  justify-content: center;
}
  .test-prephrase {
  font-weight: 400;
  color: rgb(81, 138, 248);
  font-size: 18px;
  padding-bottom: 1em;
}
  .test-question {
  padding-top: 0.5em;
  font-size: 22px;
  margin: 1.5em 0 1em 0;
}
  .test-choice-button {
  width: 100%;
  min-width: 100%;
  margin-bottom: 1em;
  font-size: 22px;
}
  .test-controls {
  background: rgb(239, 239, 239);
  height: 65px;
  width: 100px;
  border-radius: 0.5em;
  gap: 0.75em;
}
  .blurring.dimmed.dimmable > :not(.dimmer).popup {
  filter: none;
}
  .review-view-tooltip {
  text-align: center !important;
  color: white !important;
  background-color: #0b869a !important;
  padding: 0.25rem 0.5rem 0.75rem 0.5rem !important;
}
  .white-tooltip .tooltip-inner {
  background-color: #fff !important;
  color: #000 !important;
  border: 1px solid #d9d9d9;
}
  .tooltip-container {
  padding: 0.3em !important;
  z-index: 102;
}
  .tooltip-container.clickable:hover {
  cursor: pointer;
}
  .tooltip-diff {
  text-align: center;
  color: black;
  padding: 0.3em;
}
  .tooltip-blue {
  text-align: center;
  background-color: #cde3ff;
  color: rgb(0, 0, 0) !important;
  font-size: 0.8em !important;
  padding: 0.1em 10px 0.1em 30px !important;
  border: none !important;
  margin: 0 !important;
  border-color: #cde3ff !important;
}
  .tooltip-green {
  text-align: center;
  background-color: #0b869a;
  color: white;
  padding: 0.3em;
  font-size: 0.9em;
}
  .tooltip-hint {
  background-color: #0b869a;
  color: white;
  padding: 0.5em;
  text-align: "left";
  margin: 0;
}
  .tooltip-blue {
  background-color: #cde3ff;
  color: white;
  padding: 0.5em;
  text-align: "left";
  margin: 0;
}
  .story-item-dropdown .delete-button {
  color: white !important;
}
  .offline-notification {
  position: absolute;
  z-index: 1000;
  margin: 0 auto;
  width: 100%;
  text-align: center;
  height: 100%;
  background-color: aliceblue;
  display: flex;
  justify-content: space-around;
  align-items: center;
  opacity: 0.8;
}
  .offline-notification h3 {
  margin: 1em;
}
  .concept-setting-cont {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 1em;
  border: 1px solid black;
  border-color: #DEE2E6;
  background-color: #F9FAFB;
  border-radius: 7.5px;
}
  .concept {
  padding-left: 2em;
}
  .concept input {
  margin-right: 0.5em;
}
  .concept-row {
  display: flex;
  justify-content: space-between;
  font-size: 18px;
}
  .concept-row:focus {
  outline: none;
}
  .concept-disabled {
  color: gray;
}
  .concept-title {
  font-size: 24px;
  padding-left: 0.5em;
  padding-top: 0.2em;
  padding-bottom: 0.5em;
}
  .concept-enable-all {
  padding: 0.1em 0 0 0.8em;
  font-size: 18px;
  display: flex;
}
  .concept-toggles {
  margin-top: 0.5em;
  padding-left: 0.9em;
  margin-left: -1em;
  display: flex;
}
  .concept-toggle {
  margin-left: 1em;
}
  .concept-level {
  color: gray;
}
  .concept-caret {
  width: 1.5em;
}
  .wordnest-modal-header {
  display: flex !important;
  justify-content: space-between;
  align-items: center;
}
  .wordnest-modal-header-items {
  display: flex;
  justify-content: start;
  align-items: center;
  gap: 1em;
}
  .wordnest-cont {
  overflow-y: auto;
  padding: 1em 6em 1em 1em;
  width: 100%;
}
  .wordnest {
  padding-left: 3.5em;
}
  .wordnest-row {
  display: flex;
  justify-content: space-between;
  font-size: 16px;
}
  .wordnest-word {
  margin-right: 0.5em;
}
  .wordnest-word:hover {
  color: black !important;
}
  .wordnest-word:focus {
  color: black;
}
  .wordnest-chosen-word {
  color: #388A3D;
  padding: 0.15em;
  border: 1.8px solid #388A3D;
  border-radius: 10px;
  background-color: #E6FCE7;
}
  .wordnest-additional-info {
  color: #3b3b3b;
  font-size: 0.85em;
  background-color: #f1f1f1;
  border-radius: 0.5em;
  padding: 0em 0.15em;
  margin: 0.075em;
}
  .wordnest-link {
  color: #3b3b3b;
  font-size: 0.85em;
  background-color: #e6effa;
  border-radius: 0.5em;
  padding: 0em 0.15em;
  margin: 0.075em;
}
  .wordnest-link:hover {
  background-color: #c2ddfc;
}
  .wordnest-link:focus {
  transition-delay: 1.5s;
  color: rgb(247, 62, 62);
  background-color: #c2ddfc;
}
  @media (max-width: 760px) {
  .wordnest {
    padding-left: 2em;
  }
  .wordnest-row {
    display: flex;
    justify-content: space-between;
    font-size: 14px;
  }
}
  .spinner-container {
  margin: auto;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
}
  .suggestedSources-container {
  padding-top: 1em;
}
  .suggestedSources-row {
  display: flex;
  align-items: baseline;
  flex-direction: row;
  justify-content: space-between;
  padding: 0.5em 0;
}
  .profile-page-setting-header {
  margin-bottom: 1em;
  font-size: 22px;
  font-weight: 500;
}
  .profile-page-radio-button-group {
  display: flex;
  margin-top: 0.75em;
  gap: 1em;
}
  @media (max-width: 720px) {
  .profile-page-radio-button-group {
    flex-direction: column;
    gap: 0.5em;
  }
}
  .progress-page-header {
  font-size: 20px;
  font-weight: 500;
}
  .progress-page-graph-cont {
  border-radius: 7.5px;
  background: white;
  padding: 2em 0.5em 0.5em 0.5em;
}
  .learning-settings-radio-button-cont {
  display: flex;
  justify-content: space-between;
  gap: 1em;
  margin-top: 1em;
}
  @media (max-width: 700px) {
  .learning-settings-radio-button-cont {
    display: flex;
    flex-direction: column;
  }
}
  .learning-settings-radio-button-item {
  flex-basis: 150px;
  flex-grow: 1;
  min-width: 200px;
}
  @media (max-width: 700px) {
  .learning-settings-radio-button-item {
    flex-basis: 15px;
  }
}
  .table-progress-bar {
  height: 1.5em;
  border-radius: 1rem;
  width: 100%;
}
  .progress-bar {
  border-radius: 1rem;
  height: 1.5em;
}
  .progress-bar-cont {
  position: static;
  margin-bottom: 1em;
  background-color: transparent;
  padding: 0.15em;
  border-radius: 1em;
}
  .competition-pause-btn {
  height: 40px;
  width: 40px;
  border-radius: 7px;
  background: rgb(239, 239, 239);
  margin-left: 1em;
}
  .competition-pause-btn > .unclicked:hover {
  cursor: pointer;
}
  .competition-pause-btn > .clicked:hover {
  cursor: auto;
}
  .practice-timer, .practice-timer-value, .practice-timer-pause-btn {
  border-radius: 7px;
  height: 2em;
  width: 2em;
  font-size: 1.5em;
}
  .practice-timer-cont {
  display: flex;
  position: sticky;
  z-index: 1;
  top: 5.25em;
}
  @media (max-width: 700px) {
  .practice-timer-cont {
    top: 2.25em;
  }
}
  .practice-timer-btns-cont {
  font-size: 1.5em;
  position: absolute;
  right: 0.2em;
  font-weight: 700;
  gap: 0.5em;
}
  .practice-timer-pause-btn {
  background: rgb(239, 239, 239);
}
  .practice-timer-pause-btn > .unclicked:hover {
  cursor: pointer;
}
  .practice-timer-pause-btn > .clicked:hover {
  cursor: auto;
}
  .practice-timer-value {
  background: #FFD970;
}
  .competition-progress {
  position: sticky;
  background-color: #FFF;
  z-index: 98;
}
  .stat {
  display: flex;
  flex-direction: column;
  align-items: center;
  margin-top: auto;
  margin-bottom: auto;
}
  .stat span:first-child {
  text-align: center;
}
  .stat span:nth-child(2) {
  margin-bottom: 0;
  font-size: 34px;
  font-weight: 500;
  color: rgb(112, 114, 120);
}
  .level {
  margin-bottom: 0;
  font-size: 34px;
  font-weight: 500;
  color: rgb(112, 114, 120);
}
  .date-pickers-container {
  padding: 1em;
  border: 1px solid rgb(189, 202, 212);
  background: rgb(255, 239, 213);
  border-radius: 7.5px;
  margin-top: 1.5em;
}
  .date-pickers {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
}
  .medal-info {
  border: 2px solid #ccc;
  border-radius: 1rem;
  padding: 0.5rem;
  display: flex;
  align-items: center;
}
  .medal-amount {
  font-size: 20px;
  font-weight: 700;
}
  .medal-name {
  font-size: 13px;
  margin: "2px";
  color: #777;
}
  .achievements {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  grid-gap: 1.5rem;
}
  .achievement-medals {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
}
  .achievement-wrapper {
  border: 2px solid #ccc;
  border-radius: 1rem;
}
  .medal-wrapper {
  border: 1px solid #ccc;
  border-radius: 1rem;
  color: #777;
}
  .achievement-container {
  margin-top: -0.8em;
}
  .achievement-title {
  background: white none repeat scroll 0 0;
  display: inline-block;
  padding: 0 2px;
  margin-left: 1.5rem;
  font-weight: 600;
}
  .medal-title {
  background: white none repeat scroll 0 0;
  display: inline-block;
  padding: 0 2px;
  font-weight: 600;
}
  .achievement-content {
  padding: 1rem 1.5rem;
}
  .achievement-progress {
  height: 2rem;
  border-radius: 0.5rem;
  position: relative;
}
  .achievement-progress > div {
  border-radius: 0.5rem;
}
  .achievement-progress span {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  font-weight: 700;
  color: #232b2b;
}
  .achievement-toast {
  border-radius: 5px;
  margin: 1rem;
  background-color: rgb(131, 214, 126);
}
  .leaderboard-item-container {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-weight: bold;
  padding: 0.75em 1em;
  border-bottom: 1px solid rgba(177, 211, 194, 0.5);
}
  .leaderboard-item-container:last-of-type {
  border-bottom: none;
}
  .leaderboard-reward {
  height: 1.45rem;
  width: 1.45rem;
  margin-left: 0.5rem;
  border-radius: 50%;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 0.72rem;
  font-weight: 600;
  line-height: 1;
  color: #2d2c2a;
  align-self: center;
}
  .position-gold {
  background-color: #f2ce4b;
}
  .position-silver {
  background-color: #cfd4da;
}
  .position-bronze {
  background-color: #dfab6e;
}
  .leaderboard-winner-container {
  padding: 1rem 0;
  display: flex;
  justify-content: space-evenly;
  max-width: 512px;
  margin: auto;
}
  .leaderboard-winner-container > * {
  flex: 1 1 0px;
}
  .leaderboard-winner-graphic {
  height: 68px;
  width: 68px;
  border-radius: 50%;
  display: flex;
  justify-content: center;
  align-items: center;
  border: 1px solid;
  position: relative;
}
  .leaderboard-winner-graphic.first {
  height: 84px;
  width: 84px;
  border-color: gold;
}
  .leaderboard-winner-graphic.second {
  border-color: lightgray;
}
  .leaderboard-winner-graphic.third {
  border-color: #F3A960;
}
  .leaderboard-winner {
  display: flex;
  flex-direction: column;
  align-items: center;
  min-width: 0;
}
  .leaderboard-winner-rewards {
  display: flex;
  justify-content: center;
  gap: 0.4rem;
  margin-top: 0.5rem;
}
  .leaderboard-winner-rewards .leaderboard-reward {
  margin-left: 0;
}
  .leaderboard-winner-name {
  text-align: center;
  padding: 0.5rem 0.25rem 0;
  max-width: 100%;
  overflow-wrap: break-word;
  word-break: break-word;
  font-weight: 500;
  font-size: 13px;
  color: #2d2c2a;
}
  .leaderboard-winner-record {
  font-size: 12px;
  font-weight: 700;
  color: #6f8f7f;
}
  .leaderboard-wreadth {
  position: absolute;
}
  .leaderboard-wreadth.first-wreadth {
  filter: invert(11%) sepia(13%) saturate(113%) hue-rotate(10deg) brightness(126%) contrast(150%);
}
  .leaderboard-wreadth.second-wreadth {
  top: 2px;
  filter: invert(94%) sepia(8%) saturate(19%) hue-rotate(314deg) brightness(90%) contrast(91%);
}
  .leaderboard-wreadth.third-wreadth {
  top: 2px;
  filter: invert(89%) sepia(8%) saturate(6025%) hue-rotate(316deg) brightness(103%) contrast(91%);
}
  .crosswords-clue {
  white-space: nowrap;
  border: 1px solid #ccc;
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
  padding: 0.1em;
  border-radius: 0.3em;
  cursor: pointer;
}
  .crosswords-clue:hover {
  background-color: rgb(255, 255, 204);
}
  .account-info-item {
  color: #777;
  font-style: italic;
  font-weight: 500;
  font-size: 1.3rem;
}
  .note-grammar {
  color: #000000;
  background-color: #C1E1C1;
  padding: 0.2em;
  border: 2px solid #C1E1C1;
  border-radius: 9px;
}
  .note-vocabulary {
  color: #000000;
  background-color: #A7C7E7;
  padding: 0.2em;
  border: 2px solid #A7C7E7;
  border-radius: 9px;
}
  .note-phrases {
  color: #000000;
  background-color: #FDFD96;
  padding: 0.2em;
  border: 2px solid #FDFD96;
  border-radius: 9px;
}
  .footer {
  font-size: 0.9rem;
  width: 100%;
  min-height: 50px;
  box-sizing: border-box;
  background-color: #f7f7f7;
  border-radius: 5px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  color: rgb(112, 114, 120);
  flex-wrap: wrap;
  padding-left: 2.5rem;
  padding-right: 2.5rem;
}
  .footer-wrapper {
  width: 100%;
}
  .footer-item {
  margin: 0.375rem 1rem;
}
  .footer-button {
  margin: 0.375rem 1rem;
  color: inherit;
  background-color: inherit;
  border: none;
  padding: 0;
}
  .footer-button:hover {
  color: #000;
}
  .footer a {
  color: rgb(50, 170, 248);
}
  .footer div:nth-child(2) {
  text-align: "right";
  padding-left: 0.5em;
}
  .lang-select {
  font-family: "Geologica", sans-serif;
  color: #2d2c2a;
}
  .lang-select-major {
  display: flex;
  flex-wrap: wrap;
  gap: 4px 2.5em;
  margin-bottom: 4px;
}
  .lang-select-divider {
  height: 1px;
  background: #e4e1d3;
  margin: 12px 0 20px;
}
  .lang-select-columns {
  display: flex;
  flex-wrap: wrap;
  gap: 1.5em 3em;
}
  .lang-select-section {
  flex: 1 1 300px;
  min-width: 0;
}
  .lang-select-heading {
  font-size: 1.25rem;
  font-weight: 600;
  color: #9d9b92;
  margin-bottom: 10px;
}
  .lang-select-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  -moz-column-gap: 1.5em;
       column-gap: 1.5em;
  row-gap: 2px;
}
  .lang-option {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 8px 10px;
  border-radius: 10px;
  cursor: pointer;
  transition: background-color 0.15s ease;
}
  .lang-option:hover {
  background-color: #ece3be;
}
  .lang-option-flag {
  width: 34px;
  height: 24px;
  flex-shrink: 0;
  border-radius: 4px;
  -o-object-fit: cover;
     object-fit: cover;
  border: 1px solid rgba(45, 44, 42, 0.12);
}
  .lang-option-name {
  font-size: 1.05rem;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
  .language {
  width: 7em;
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 1em;
  cursor: pointer;
}
  .language-group {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  width: 100%;
}
  .language-image {
  height: 40px;
  width: 60px;
  border-radius: 8px;
  margin-bottom: 8px;
  transition: transform 0.2s;
  border: 2px solid black;
}
  .language-image:hover {
  border: 2px solid rgb(255, 209, 80);
  transform: scale(1.3);
}
  .language-name {
  color: black;
}
  .language b {
  font-size: small;
  color: red;
}
  .banner {
  background-color: #cce5ff;
  color: #004085;
  border: 1px solid #b8daff;
  border-radius: 0.25em;
  padding: 0.75em 0.75em 0.75em 1.25em;
  display: flex;
  justify-content: space-between;
  transform: translateX(-100%);
  animation: slide-in 0.5s forwards;
}
  @keyframes slide-in {
  100% {
    transform: translateX(0%);
  }
}
  .iframe-container {
  position: relative;
  overflow: hidden;
  width: 100%;
  padding-top: 56.25%;
  /* 16:9 Aspect Ratio (divide 9 by 16 = 0.5625) */
}
  .iframe {
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  width: 100%;
  height: 100%;
}
  .landing-page:before {
  content: "";
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  backdrop-filter: blur(3px);
  z-index: -1;
}
  .landing-page {
  background-image: linear-gradient(rgba(0, 0, 0, 0.45), rgba(0, 0, 0, 0.45)), url("/assets/D7uPG41n.jpg");
  background-size: cover;
  height: 100%;
  min-height: 100vh;
  width: 100vw;
  z-index: 0;
  padding: 14em 1em 3em 1em;
  overflow: hidden;
}
  @media (max-width: 700px) {
  .landing-page {
    padding: 3em 1em;
    overflow: scroll;
  }
}
  .landing-page-menu-button-cont {
  position: fixed;
  color: whitesmoke;
  top: 1.5em;
  right: 1em;
  display: flex;
  width: 425px;
  justify-content: space-between;
  align-items: flex-start;
}
  .landing-page-button {
  border-radius: 1em;
  padding: 0.8em 2em;
  background-color: #4c91cd;
  color: white;
  font-weight: 700;
  border: none;
  text-transform: uppercase;
}
  .landing-page-button:disabled {
  background-color: #a9cbe6;
  opacity: 0.6;
}
  .login-form {
  background-color: white;
  border-radius: 0.5em;
  padding: 1em 2em;
  margin-bottom: 1em;
}
  .report-button {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  margin-top: 1em;
  border-radius: 999px;
  padding: 0.45rem 1.1rem;
  background-color: transparent;
  color: #9d9b92;
  font-weight: 600;
  border: 1px solid #9d9b92;
  cursor: pointer;
  transition: background-color 0.15s ease, color 0.15s ease, border-color 0.15s ease;
}
  .report-button:hover {
  background-color: #f1eeda;
  color: #2d2c2a;
  border-color: #b1d3c2;
}
  .group-management-buttons {
  display: flex;
  flex-wrap: wrap;
  gap: 2px;
}
  @media (max-width: 700px) {
  .group-management-buttons {
    flex-direction: column;
  }
  .group-management-buttons > button {
    margin-bottom: 0.5rem;
  }
  .group-management-buttons > :not(:last-child) {
    margin-right: 0;
  }
}
  .group-buttons > button {
  align-self: flex-start;
}
  @media (max-width: 400px) {
  .group-buttons {
    flex-direction: column;
  }
  .group-buttons > button {
    align-self: stretch;
    margin-top: 0.5em;
    margin-left: 0;
  }
}
  .group-analytics-top {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
  @media (max-width: 640px) {
  .group-analytics-top {
    flex-direction: column;
    margin-top: -0.5em;
  }
  .group-analytics-top > * {
    flex-grow: 1;
    margin-top: 0.5em;
  }
}
  .group-analytics-student-dropdown {
  display: flex;
  margin-top: 1em;
  margin-bottom: 2em;
  font-weight: bold;
  text-align: bottom;
  padding-left: 0.2rem;
  align-items: center;
  gap: 2em;
}
  .group-analytics-no-results {
  padding-top: 5rem;
  font-size: 1.3rem;
  font-style: italic;
  display: flex;
  justify-content: center;
  color: #777;
}
  .tab-text {
  font-size: 14px;
}
  @media (max-width: 450px) {
  .tab-text {
    font-size: 13px;
  }
}
  @media (max-width: 380px) {
  .tab-text {
    font-size: 12px;
  }
}
  @media (max-width: 355px) {
  .tab-text {
    font-size: 11px;
  }
}
  @media (max-width: 330px) {
  .tab-text {
    font-size: 10px;
  }
}
  .wrap-and-grow {
  display: flex;
  flex-wrap: wrap;
}
  .wrap-and-grow button {
  flex-grow: 1;
}
  .exercise-density-slider,
.exercise-density-slider-label-cont {
  width: 100%;
  max-width: 500px;
  height: 3em;
  margin: auto;
}
  .story-generation-controls .exercise-density-slider,
.story-generation-controls .exercise-density-slider-label-cont {
  max-width: none;
}
  .exercise-density-slider-thumb,
.exercise-density-slider-label-cont-thumb {
  cursor: pointer;
  position: absolute;
  z-index: 100;
  width: 1.5em;
  height: 1.5em;
  background: #faf8ed;
  border: 2px solid #8fbba6;
  border-radius: 100%;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.15);
  top: 11px;
  outline: none;
}
  .exercise-density-slider-track,
.exercise-density-slider-label-cont-track {
  position: relative;
  background: #e5ede4;
  top: 20px;
  height: 6px;
  border-radius: 999px;
}
  .exercise-density-slider-track-0,
.exercise-density-slider-label-cont-track-0 {
  background: #a6cdb4;
  border-radius: 999px;
}
  .disabled-track {
  position: relative;
  background: #ddd;
  top: 20px;
  height: 4px;
}
  .slide-from-left {
  transform: translateX(-100%);
  animation: slide-in 0.5s forwards;
}
  @keyframes slide-in {
  100% {
    transform: translateX(0%);
  }
}
  .slide-from-bottom {
  transform: translateY(100%);
  animation: slide-in 0.4s forwards;
}
  @keyframes slide-in {
  100% {
    transform: translateY(0%);
  }
}
  .scroll-to-top {
  color: rgb(50, 170, 248);
  position: fixed;
  width: 1em;
  bottom: 20px;
  align-items: center;
  height: 1em;
  justify-content: center;
  z-index: 1000;
  cursor: pointer;
  animation: fadeIn 0.3s;
  transition: opacity 0.1s;
  opacity: 0.2;
}
  .scroll-to-top:hover {
  opacity: 1;
}
  @keyframes fadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 0.5;
  }
}
  .pop-in-word-nest {
  opacity: 0;
  animation: popInWordNest 0s steps(1, end) forwards;
  animation-delay: 1s;
}
  @keyframes popInWordNest {
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
  .xp-bar {
  width: 300px;
}
  .xp-gathered {
  display: flex;
  justify-content: center;
}
  .spinner-container {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  --spinner-color: currentColor;
}
  .spinner-container .lds-roller div:after {
  background: var(--spinner-color) !important;
}
  .spinner-container--inline {
  margin: 0 !important;
}
  .spinner-container.spinner-container--inline {
  display: inline-flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: center !important;
  width: auto !important;
  height: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  line-height: 0 !important;
  vertical-align: middle !important;
}
  .spinner-container.spinner-container--inline .spinner-roller-box {
  margin: 0 !important;
  padding: 0 !important;
  line-height: 0 !important;
}
  .spinner-container.spinner-container--inline .spinner-text {
  margin-left: 8px;
  line-height: 1.2;
}
  .spinner-text {
  font-size: 14px;
  line-height: 1.2;
  opacity: 0.8;
}
  .spinner--primary {
  color: var(--bs-primary, #017bff);
}
  .spinner--secondary {
  color: var(--bs-secondary, #6c757d);
}
  .spinner--success {
  color: var(--bs-success, #28a745);
}
  .spinner--danger {
  color: var(--bs-danger, #dc3444);
}
  .spinner--warning {
  color: var(--bs-warning, #ffc106);
}
  .spinner--info {
  color: var(--bs-info, #18a2b8);
}
  .spinner--light {
  color: var(--bs-light, #f8f9fa);
}
  .spinner--dark {
  color: var(--bs-dark, #343a40);
}
  .spinner--white {
  color: var(--bs-white, #fefefe);
}
  .spinner--universal {
  color: var(--bs-universal, #77c8d4);
}
  .lds-roller,
.lds-roller div,
.lds-roller div:after {
  box-sizing: border-box;
}
  .lds-roller {
  display: inline-block;
  position: relative;
  width: 80px;
  height: 80px;
}
  .lds-roller div {
  animation: lds-roller 1.2s cubic-bezier(0.5, 0, 0.5, 1) infinite;
  transform-origin: 40px 40px;
}
  .lds-roller div:after {
  content: " ";
  display: block;
  position: absolute;
  width: 7.2px;
  height: 7.2px;
  border-radius: 50%;
  background: currentColor;
  margin: -3.6px 0 0 -3.6px;
}
  .lds-roller div:nth-child(1) {
  animation-delay: -0.036s;
}
  .lds-roller div:nth-child(1):after {
  top: 62.62742px;
  left: 62.62742px;
}
  .lds-roller div:nth-child(2) {
  animation-delay: -0.072s;
}
  .lds-roller div:nth-child(2):after {
  top: 67.71281px;
  left: 56px;
}
  .lds-roller div:nth-child(3) {
  animation-delay: -0.108s;
}
  .lds-roller div:nth-child(3):after {
  top: 70.90963px;
  left: 48.28221px;
}
  .lds-roller div:nth-child(4) {
  animation-delay: -0.144s;
}
  .lds-roller div:nth-child(4):after {
  top: 72px;
  left: 40px;
}
  .lds-roller div:nth-child(5) {
  animation-delay: -0.18s;
}
  .lds-roller div:nth-child(5):after {
  top: 70.90963px;
  left: 31.71779px;
}
  .lds-roller div:nth-child(6) {
  animation-delay: -0.216s;
}
  .lds-roller div:nth-child(6):after {
  top: 67.71281px;
  left: 24px;
}
  .lds-roller div:nth-child(7) {
  animation-delay: -0.252s;
}
  .lds-roller div:nth-child(7):after {
  top: 62.62742px;
  left: 17.37258px;
}
  .lds-roller div:nth-child(8) {
  animation-delay: -0.288s;
}
  .lds-roller div:nth-child(8):after {
  top: 56px;
  left: 12.28719px;
}
  @keyframes lds-roller {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
  :root {
  --story-detail-modal-button-bg: #f9f9f9;
}
  .story-detail-modal-action-button {
  width: 100%;
}
  .story-detail-modal-action-button-long {
  width: 200px;
  padding: 4px 0;
  text-align: center;
}
  .story-detail-modal-manage-button {
  min-width: 110px;
  padding: 4px 10px;
  text-align: center;
  background: var(--story-detail-modal-button-bg);
}
  .story-detail-modal-manage-button-delete {
  min-width: 110px;
  padding: 4px 10px;
  text-align: center;
}
  .story-detail-modal-manage-button-release-hide {
  background: var(--story-detail-modal-button-bg);
}
  .story-detail-modal-manage-button-long {
  min-width: 200px;
  padding: 4px 0;
  text-align: center;
  margin-bottom: 12px !important;
  background: var(--story-detail-modal-button-bg);
}
  .cont.sidebar-pushed {
  margin-right: 400px !important;
  width: auto !important;
  transition: margin-right 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  max-width: 100%;
  box-sizing: border-box;
}
  @media (max-width: 768px) {
  .cont.sidebar-pushed {
    margin-right: 0 !important;
    min-height: 0;
    max-height: 60vh;
    overflow-y: auto;
    transition: max-height 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  }
  .cont.sidebar-pushed > * {
    flex-shrink: 0;
  }
}
  @media (min-width: 1856px) {
  .cont.sidebar-pushed {
    margin-right: 0 !important;
    max-width: 1024px;
  }
  .cont-tall.cont.sidebar-pushed {
    margin-right: auto !important;
  }
}
  .reading-comp.sidebar-pushed {
  margin-left: 0 !important;
  margin-right: 400px !important;
  width: auto !important;
  box-sizing: border-box;
  transition: margin-right 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}
  @media (max-width: 768px) {
  .reading-comp:not(.sidebar-pushed) {
    padding-bottom: 60px;
  }
  .reading-comp.sidebar-pushed {
    margin-right: 0 !important;
    max-height: 60vh;
    overflow-y: auto;
    padding-bottom: 50px;
  }
}
  @media (min-width: 1856px) {
  .reading-comp.sidebar-pushed {
    margin-left: auto !important;
    margin-right: auto !important;
    width: 100% !important;
    max-width: 1024px !important;
  }
}
  .service-cards {
  width: 100%;
  max-width: 650px;
  margin: 0 auto;
}.chatbot {
  display: flex;
  flex-direction: column;
  height: 100%;
  background: #fff;
  border-radius: 8px;
  overflow: hidden;
}
.chatbot .ai-assistant-header {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-around;
  padding: 1.2rem;
  background: #f1f1f1;
  color: rgb(0, 0, 0);
  border-bottom: 1px solid #e0e0e0;
}
.chatbot .essay-chatbot-back {
  position: absolute;
  left: calc(0.6rem - 6px);
  top: 50%;
  transform: translateY(-50%);
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  padding: 0.25rem 0.4rem;
  border: none;
  border-radius: 4px;
  background: none;
  color: #0d6efd;
  font-size: 0.9rem;
  cursor: pointer;
}
.chatbot .essay-chatbot-back:hover {
  background: rgba(0, 0, 0, 0.06);
}
@media (max-width: 480px) {
  .chatbot .essay-chatbot-back .essay-chatbot-back-label {
    display: none;
  }
}
.chatbot .essay-chatbot-focused-suggestion {
  flex-shrink: 0;
  padding: 12px 15px 4px;
  background: #fafafa;
  border-bottom: 1px solid #e0e0e0;
}
.chatbot .robot-icon {
  margin-right: 1rem;
  font-size: 1.4rem;
  color: rgb(0, 0, 0);
}
.chatbot .ai-header-title {
  margin: 0;
  font-size: 1.2rem;
  font-weight: 600;
  letter-spacing: 0.5px;
}
.chatbot .settings-icon {
  color: #666;
  cursor: pointer;
  transition: color 0.15s ease, transform 0.15s ease;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transform-origin: center;
  margin-left: auto;
}
.chatbot .settings-icon:hover {
  color: #333;
  transform: scale(1.18);
}
@media (max-width: 900px) {
  .chatbot {
    max-height: 50%;
    width: 80%;
  }
}

@media (max-width: 900px) {
  .practice-chatbot {
    left: 3px;
    bottom: 10px;
  }
}

.chatbot-toggle {
  cursor: pointer;
  border-bottom: 1px solid #eee;
  padding: 10px;
}

.chatbot-toggle div {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.chatbot-context-info {
  background-color: #17a2b8;
  padding-left: 0.6em;
  color: white;
}

.chatbot-context-item {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 15em;
  font-size: 1.15rem;
}

.essay-chatbot-flip {
  flex: 1;
  min-height: 0;
  width: 100%;
}

.essay-chatbot-face {
  display: flex;
  flex-direction: column;
  height: 100%;
  overflow: hidden;
  background: #fff;
}

.essay-chatbot .ai-assistant-header {
  transition: background-color 0.3s ease;
}

.essay-chatbot.vita-chatbot .ai-assistant-header {
  justify-content: flex-start;
  gap: 8px;
}

.chatbot-messages {
  flex: 1;
  padding: 15px 0;
  min-height: 0;
  overflow-y: auto;
}

.message {
  position: relative;
  display: flex;
  padding: 10px 14px;
  border-radius: 8px;
  max-width: 80%;
  margin-bottom: 10px;
}
@media (max-width: 900px) {
  .message {
    max-width: 90%;
  }
}

.dialogue-remove {
  position: absolute;
  top: 4px;
  right: 4px;
  margin: 0 !important;
  font-size: 0.75em;
  line-height: 1;
  cursor: pointer;
  opacity: 0.35;
  text-shadow: none !important;
  transition: opacity 0.15s ease;
}
.dialogue-remove:hover {
  opacity: 0.85;
}

.message-user {
  justify-content: flex-end;
  margin-left: auto;
  background-color: #d4eef1;
  border-style: solid;
  border-width: thin;
  border-color: #d5dee1;
}

.message-bot {
  justify-content: flex-start;
  margin-right: auto;
  background-color: white;
  border-style: solid;
  border-width: thin;
  border-color: #dfecef;
}

.chatbot-input-form {
  background-color: floralwhite;
  display: grid;
  grid-template-columns: 1fr auto;
  grid-template-rows: auto auto;
  gap: 0.5em;
  padding-left: 0.5em;
}

.chatbot-input-form input {
  height: 40px;
  border-radius: 5px;
  border-width: thin;
  border-color: steelblue;
}

.chatbot-input-form button {
  height: 40px;
}

.vita-chatbot {
  background: #faf8ed;
}
.vita-chatbot .ai-assistant-header {
  justify-content: space-between;
  background: transparent;
  border-bottom: 1px solid rgba(45, 44, 42, 0.12);
  padding: 1.1rem 1.4rem;
}
.vita-chatbot .ai-header-title {
  font-size: 1.4rem;
  font-weight: 600;
  letter-spacing: 0;
  color: #2d2c2a;
}
.vita-chatbot .chatbot-messages {
  display: flex;
  flex-direction: column;
  gap: 12px;
  padding: 16px 0;
}
.vita-chatbot .chatbot-footer {
  flex-shrink: 0;
  padding: 12px 16px 16px;
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.vita-chatbot .chatbot-intro {
  margin: 0;
  color: #2d2c2a;
  font-size: 0.95rem;
  line-height: 1.5;
}
.vita-chatbot .chatbot-suggestions {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 10px;
}
.vita-chatbot .chatbot-input-area {
  flex-shrink: 0;
  padding: 12px 16px 16px;
  background: transparent;
  border-top: 1px solid rgba(45, 44, 42, 0.12);
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 10px;
}

.chatbot-input-area {
  flex-shrink: 0;
  padding: 15px 15px 0 15px;
  background: white;
  border-top: 1px solid #e0e0e0;
  z-index: 5;
  display: flex;
  align-items: center;
  min-height: 67px;
}
.chatbot-input-area .chatbot-input-form {
  width: 100%;
  display: grid;
  grid-template-columns: 1fr auto;
  grid-template-rows: auto auto;
  gap: 0.5em;
  background-color: white;
  padding: 0;
}
.chatbot-input-area .chatbot-input-form input {
  height: 40px;
  border-radius: 5px;
  border: 1px solid steelblue;
  padding: 0 10px;
  font-size: 0.95rem;
}
.chatbot-input-area .chatbot-input-form button {
  height: 40px;
  margin: 0;
}
.chatbot-input-area .show-hint-btn {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
}.add-story-options {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 8px;
  width: 100%;
  padding: 4px 0;
  background: transparent;
}

.chatbot-add-story-dock {
  display: flex;
  flex-shrink: 0;
  padding: 8px 12px 0;
}

.add-story-options-lead-row {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 8px;
  align-self: stretch;
}

.add-story-options-lead {
  flex: 1;
  margin: 0;
  font-size: 22px;
  font-weight: 500;
  line-height: 22px;
  color: #2d2c2a;
}

.add-story-options-close {
  flex-shrink: 0;
  color: #2d2c2a !important;
}

.add-story-options-back {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 0;
  border: 0;
  background: transparent;
  cursor: pointer;
  font-size: 14px;
  font-weight: 500;
  color: #2d2c2a;
}

.story-input-options-root {
  display: flex;
  flex-direction: column;
  gap: 10px;
  width: 100%;
}

.story-input-options-anon-warning {
  color: #c0392b;
  font-size: 0.9em;
}

.story-input-options-stack {
  display: flex;
  flex-direction: column;
  gap: 10px;
  width: 100%;
}

.story-option-icon {
  flex-shrink: 0;
  width: 24px;
  height: 24px;
  -o-object-fit: contain;
     object-fit: contain;
}.helper-sidebar {
  position: fixed;
  right: 0;
  top: 4.5em;
  bottom: 0;
  width: 380px;
  background: #faf8ed;
  border-top-left-radius: 30px;
  border-bottom-left-radius: 30px;
  transition: transform 0.3s ease;
  z-index: 100;
  display: flex;
  flex-direction: column;
}
.helper-sidebar.collapsed {
  transform: translateX(calc(100% - 10px));
}
.helper-sidebar .sidebar-toggle {
  position: absolute;
  left: -28px;
  top: 50%;
  transform: translateY(-50%);
  width: 28px;
  height: 56px;
  background: #faf8ed;
  color: #2d2c2a;
  border: none;
  border-radius: 14px 0 0 14px;
  box-shadow: -4px 0 12px rgba(0, 0, 0, 0.08);
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 101;
  transition: background 0.15s ease;
}
.helper-sidebar .sidebar-toggle svg {
  font-size: 22px;
}
.helper-sidebar .sidebar-toggle:hover {
  background: #f1eeda;
}
.helper-sidebar .helper-sidebar-content {
  flex: 1;
  overflow-y: auto;
  padding: 1em;
  display: flex;
  flex-direction: column;
  gap: 1em;
}
.helper-sidebar .helper-sidebar-content .story-topics-box, .helper-sidebar .helper-sidebar-content .lesson-topic-box {
  margin: 0;
}
.helper-sidebar .helper-sidebar-content .story-topics-box > .MuiPaper-root, .helper-sidebar .helper-sidebar-content .lesson-topic-box > .MuiPaper-root {
  box-shadow: none;
}
.helper-sidebar .helper-sidebar-content .story-topics-box ul > li:nth-child(even) {
  background-color: #f5f7fa;
  transition: background-color 0.2s ease;
}
.helper-sidebar .helper-sidebar-content .story-topics-box ul > li:hover {
  background-color: #e2e6ea;
}
.helper-sidebar .helper-sidebar-content .dictionary-help {
  width: 100%;
  margin-left: 0;
  height: auto;
}
.helper-sidebar .helper-sidebar-content .dictionary-help > .MuiPaper-root {
  width: 100%;
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
}
.helper-sidebar .helper-sidebar-content .dictionary-help-overlay {
  position: relative;
  width: 100%;
  top: auto;
  right: auto;
  bottom: auto;
}
.helper-sidebar .helper-sidebar-content .annotations-box {
  width: 100%;
  margin-left: 0;
}
.helper-sidebar .helper-sidebar-content .annotations-box > .MuiPaper-root {
  width: 100%;
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
}
.helper-sidebar .helper-sidebar-content .practice-chatbot {
  position: relative;
  width: 100%;
  right: auto;
  bottom: auto;
  max-width: none;
}
.helper-sidebar .helper-sidebar-content .chatbot {
  position: relative;
  width: 100%;
  max-width: none;
  max-height: none;
  height: 100%;
}

.practice-main-content {
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  transition: margin-right 0.3s ease;
}
.practice-main-content.sidebar-open {
  width: calc(100% - 400px);
}
@media (max-width: 768px) {
  .practice-main-content {
    margin-right: 30px;
  }
  .practice-main-content.sidebar-open {
    margin-right: 0;
    width: 100%;
  }
}

@media (max-width: 768px) {
  .helper-sidebar {
    top: auto;
    bottom: 30px;
    right: 0;
    width: 100%;
    height: 40vh;
    max-width: 100%;
    box-shadow: 0 -2px 8px rgba(0, 0, 0, 0.1);
    border-top-left-radius: 8px;
    border-top-right-radius: 8px;
    transform: translateY(calc(100% - 30px));
  }
  .helper-sidebar.open {
    transform: translateY(0);
    bottom: 0;
  }
  .helper-sidebar.collapsed {
    transform: translateY(calc(100% - 30px));
  }
  .helper-sidebar .sidebar-toggle {
    position: absolute;
    left: 50%;
    top: 0;
    transform: translateX(-50%);
    width: 60px;
    height: 30px;
    border-radius: 14px 14px 0 0;
    border: none;
    outline: none;
    background: #faf8ed;
    border-bottom: none;
    z-index: 1100;
  }
  .helper-sidebar .sidebar-toggle svg {
    font-size: 22px;
    transition: transform 0.2s ease, font-size 0.15s ease;
  }
  .helper-sidebar .sidebar-toggle:hover {
    background: #f1eeda;
  }
  .helper-sidebar .sidebar-toggle:hover svg {
    font-size: 26px;
  }
  .helper-sidebar {
    /* Rotate chevron for the horizontal (bottom-sheet) handle */
  }
  .helper-sidebar .sidebar-toggle svg {
    transform: rotate(90deg);
  }
  .helper-sidebar .helper-sidebar.open .sidebar-toggle svg {
    transform: rotate(-90deg);
  }
  .helper-sidebar-content {
    height: 100%;
    flex: none;
    overflow-y: auto;
    padding-top: 30px;
  }
}.library-dashboard {
  width: 100%;
  max-width: 838px;
  margin: 0 auto;
  display: flow-root;
}

.library-dashboard.sidebar-pushed {
  margin-right: 400px;
  transition: margin-right 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

@media (max-width: 768px) {
  .library-dashboard.sidebar-pushed {
    margin-right: 0;
  }
}
@media (min-width: 1638px) {
  .library-dashboard.sidebar-pushed {
    margin-right: auto;
  }
}
.library-story-grid {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
@media (max-width: 699px) {
  .library-story-grid {
    margin-bottom: 5.5em;
  }
}

.library-folder-breadcrumbs {
  margin: 0;
  padding: 0.35rem 0;
}

.library-folder-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
}

.library-folder-grid {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px;
  width: 100%;
}

.library-folder-breadcrumb {
  border: 0;
  background: transparent;
  color: rgba(0, 0, 0, 0.75);
  cursor: pointer;
  font-size: 1rem;
  font-weight: 500;
  padding: 0;
  text-decoration: underline;
}

.library-folder-breadcrumb-current {
  color: rgba(0, 0, 0, 0.55);
  font-size: 1rem !important;
  font-weight: 600 !important;
}

.library-item-card.library-story-card-dragging {
  opacity: 0.55;
}

.library-folder-card-dragging {
  opacity: 0.55;
}

.library-folder-card {
  position: relative;
  box-sizing: border-box;
  display: flex;
  flex: 1 1 300px;
  max-width: 393px;
  align-items: center;
  gap: 12px;
  height: 40px;
  padding: 2px 12px;
  border: none;
  border-radius: 360px;
  cursor: pointer;
  text-align: left;
  transition: background 0.12s ease, transform 0.12s ease;
}
.library-folder-card:hover {
  background: #ece3be;
}
.library-folder-card .library-folder-menu {
  position: static !important;
  top: auto;
  right: auto;
  flex-shrink: 0;
  display: none;
}
.library-folder-card:hover .library-folder-menu {
  display: inline-flex;
}

.library-folder-card-selected,
.library-folder-card-selected:hover {
  background: #b1d3c2;
}

.library-folder-card-selected .library-folder-menu {
  display: inline-flex;
}

.library-folder-menu-wrap {
  display: inline-flex;
  flex-shrink: 0;
  align-items: center;
}

.library-folder-tab {
  display: none;
}

.library-folder-card-drop-target {
  background: #cfe6d6;
  transform: translateY(-1px);
}

.library-folder-card-empty {
  background: #f1f0f0;
}
.library-folder-card-empty:hover {
  background: #ece3be;
}

.library-folder-content {
  display: flex;
  flex: 1;
  align-items: center;
  gap: 12px;
  min-width: 0;
}

.library-folder-icon {
  flex-shrink: 0;
  width: 30px;
  height: 27px;
  -o-object-fit: contain;
     object-fit: contain;
  transition: filter 0.12s ease, transform 0.12s ease;
}

.library-folder-card-drop-target .library-folder-icon {
  filter: drop-shadow(0 2px 3px rgba(80, 140, 110, 0.35)) saturate(1.1);
}

.library-folder-name {
  flex: 1;
  min-width: 0;
  font-size: 16px;
  font-weight: 700;
  line-height: 18px;
  color: #2d2c2a;
  padding: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.library-folder-menu {
  position: absolute !important;
  top: 14px;
  right: 14px;
}

.library-sort-add-row {
  display: flex;
  align-items: center;
  gap: 20px;
  max-width: 798px;
}

.library-sort-select {
  flex: 1;
  min-width: 0;
}

.library-sort-direction {
  flex-shrink: 0;
}

.library-add-story-button {
  width: 250px;
  height: 36px;
  flex-shrink: 0;
  gap: 10px !important;
  padding: 8px 10px 8px 12px !important;
}

.library-search-field .MuiOutlinedInput-root {
  background-color: #fff !important;
}

.library-menu .app-menu-row:hover {
  background-color: #ece3be !important;
}
.library-menu .app-menu-row-selected,
.library-menu .app-menu-row-selected:hover {
  background-color: #b1d3c2 !important;
}

.library-item-card {
  box-sizing: border-box;
  width: 100%;
  background: #fff !important;
  border: 4px solid #c6e0d7 !important;
  border-radius: 30px !important;
  box-shadow: none !important;
  padding: 16px 20px;
  cursor: pointer;
  overflow: hidden;
}

.library-item-body {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  width: 100%;
}

.library-item-icon {
  flex-shrink: 0;
  width: 24px;
  height: 24px;
  -o-object-fit: contain;
     object-fit: contain;
}

.library-item-main {
  display: flex;
  flex-direction: column;
  gap: 6px;
  flex: 1;
  min-width: 0;
}

.library-item-toprow {
  display: flex;
  align-items: center;
  gap: 12px;
  width: 100%;
}

.library-item-title {
  flex: 1;
  min-width: 0;
  font-size: 16px;
  font-weight: 500;
  line-height: 18px;
  color: #2d2c2a;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.library-item-badges {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-shrink: 0;
  color: #2d2c2a;
}

.library-item-bulb {
  flex-shrink: 0;
  width: 24px;
  height: 24px;
}

.library-item-progress {
  display: flex;
  flex-direction: column;
  gap: 4px;
  width: 100%;
}

.library-item-progress-label {
  font-size: 12px;
  font-weight: 500;
  line-height: 15px;
  color: #9d9b92;
}

.library-group-dropdown-container {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  max-width: 225px;
  max-height: 36px;
  margin-left: auto;
}
.library-group-dropdown-container button > span {
  flex: 1;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.react-datepicker__navigation-icon::before, .react-datepicker__year-read-view--down-arrow,
.react-datepicker__month-read-view--down-arrow,
.react-datepicker__month-year-read-view--down-arrow {
  border-color: #ccc;
  border-style: solid;
  border-width: 3px 3px 0 0;
  content: "";
  display: block;
  height: 9px;
  position: absolute;
  top: 6px;
  width: 9px;
}
.react-datepicker__sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
  border: 0;
}

.react-datepicker-wrapper {
  display: inline-block;
  padding: 0;
  border: 0;
}

.react-datepicker {
  font-family: "Helvetica Neue", helvetica, arial, sans-serif;
  font-size: 0.8rem;
  background-color: #fff;
  color: #000;
  border: 1px solid #aeaeae;
  border-radius: 0.3rem;
  display: inline-block;
  position: relative;
  line-height: initial;
}

.react-datepicker--time-only .react-datepicker__time-container {
  border-left: 0;
}
.react-datepicker--time-only .react-datepicker__time,
.react-datepicker--time-only .react-datepicker__time-box {
  border-bottom-left-radius: 0.375em;
  border-bottom-right-radius: 0.375em;
}

.react-datepicker-popper {
  z-index: 1;
  line-height: 0;
}
.react-datepicker-popper .react-datepicker__triangle {
  stroke: #aeaeae;
}
.react-datepicker-popper[data-placement^=bottom] .react-datepicker__triangle {
  fill: #f0f0f0;
  color: #f0f0f0;
}
.react-datepicker-popper[data-placement^=top] .react-datepicker__triangle {
  fill: #fff;
  color: #fff;
}
.react-datepicker-popper--header-middle[data-placement^=bottom] .react-datepicker__triangle, .react-datepicker-popper--header-bottom[data-placement^=bottom] .react-datepicker__triangle {
  fill: #fff;
  color: #fff;
}
.react-datepicker-popper--header-bottom[data-placement^=top] .react-datepicker__triangle {
  fill: #f0f0f0;
  color: #f0f0f0;
}

.react-datepicker__header {
  text-align: center;
  background-color: #f0f0f0;
  border-bottom: 1px solid #aeaeae;
  border-top-left-radius: 0.3rem;
  padding: 8px 0;
  position: relative;
}
.react-datepicker__header--time {
  padding-bottom: 8px;
  padding-left: 5px;
  padding-right: 5px;
}
.react-datepicker__header--time:not(.react-datepicker__header--time--only) {
  border-top-left-radius: 0;
}
.react-datepicker__header:not(.react-datepicker__header--has-time-select, .react-datepicker__header--middle, .react-datepicker__header--bottom) {
  border-top-right-radius: 0.3rem;
}
.react-datepicker__header--middle {
  border-top: 1px solid #aeaeae;
  border-radius: 0;
  margin-top: 4px;
}
.react-datepicker__header--bottom {
  border-bottom: none;
  border-top: 1px solid #aeaeae;
  border-radius: 0 0 0.3rem 0.3rem;
}

.react-datepicker__header-wrapper {
  position: relative;
}
.react-datepicker__header-wrapper .react-datepicker__navigation--next--with-time:not(.react-datepicker__navigation--next--with-today-button) {
  right: 2px;
}

.react-datepicker__year-dropdown-container--select,
.react-datepicker__month-dropdown-container--select,
.react-datepicker__month-year-dropdown-container--select,
.react-datepicker__year-dropdown-container--scroll,
.react-datepicker__month-dropdown-container--scroll,
.react-datepicker__month-year-dropdown-container--scroll {
  display: inline-block;
  margin: 0 15px;
}

.react-datepicker__month-select,
.react-datepicker__year-select,
.react-datepicker__month-year-select {
  background-color: transparent;
  border: 1px solid #aeaeae;
  border-radius: 0.3rem;
  color: inherit;
  cursor: pointer;
  font-family: inherit;
  font-size: inherit;
  margin-top: 5px;
  padding: 2px 5px;
}
.react-datepicker__month-select:focus-visible,
.react-datepicker__year-select:focus-visible,
.react-datepicker__month-year-select:focus-visible {
  outline: auto 1px;
}

.react-datepicker__current-month,
.react-datepicker-time__header,
.react-datepicker-year-header {
  margin-top: 0;
  color: #000;
  font-weight: bold;
  font-size: 0.944rem;
}

h2.react-datepicker__current-month {
  padding: 0;
  margin: 0;
}

.react-datepicker-time__header {
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden;
}

.react-datepicker__navigation {
  align-items: center;
  background: none;
  display: flex;
  justify-content: center;
  text-align: center;
  cursor: pointer;
  position: absolute;
  top: 2px;
  padding: 0;
  border: none;
  z-index: 1;
  height: 32px;
  width: 32px;
  text-indent: -999em;
  overflow: hidden;
}
.react-datepicker__navigation--previous {
  left: 2px;
}
.react-datepicker__navigation--next {
  right: 2px;
}
.react-datepicker__navigation--next--with-time:not(.react-datepicker__navigation--next--with-today-button) {
  right: 85px;
}
.react-datepicker__navigation--years {
  position: relative;
  top: 0;
  display: block;
  margin-left: auto;
  margin-right: auto;
}
.react-datepicker__navigation--years-previous {
  top: 4px;
}
.react-datepicker__navigation--years-upcoming {
  top: -4px;
}
.react-datepicker__navigation:hover *::before {
  border-color: rgb(165.75, 165.75, 165.75);
}

.react-datepicker__navigation-icon {
  position: relative;
  top: -1px;
  font-size: 20px;
  width: 0;
}
.react-datepicker__navigation-icon--next {
  left: -2px;
}
.react-datepicker__navigation-icon--next::before {
  transform: rotate(45deg);
  left: -7px;
}
.react-datepicker__navigation-icon--previous {
  right: -2px;
}
.react-datepicker__navigation-icon--previous::before {
  transform: rotate(225deg);
  right: -7px;
}

.react-datepicker__month-container {
  float: left;
}

.react-datepicker__year {
  margin: 0.5em;
  text-align: center;
}
.react-datepicker__year-wrapper {
  display: flex;
  flex-wrap: wrap;
  max-width: 180px;
}
.react-datepicker__year .react-datepicker__year-text {
  display: inline-block;
  width: 5em;
  margin: 2px;
}

.react-datepicker__month {
  margin: 0.5em;
  text-align: center;
}
.react-datepicker__month .react-datepicker__month-text,
.react-datepicker__month .react-datepicker__quarter-text {
  display: inline-block;
  width: 5em;
  margin: 2px;
}

.react-datepicker__input-time-container {
  clear: both;
  width: 100%;
  float: left;
  margin: 5px 0 10px 15px;
  text-align: left;
}
.react-datepicker__input-time-container .react-datepicker-time__caption {
  display: inline-block;
}
.react-datepicker__input-time-container .react-datepicker-time__input-container {
  display: inline-block;
}
.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input {
  display: inline-block;
  margin-left: 10px;
}
.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input input {
  width: auto;
}
.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input input[type=time]::-webkit-inner-spin-button,
.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input input[type=time]::-webkit-outer-spin-button {
  -webkit-appearance: none;
  margin: 0;
}
.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input input[type=time] {
  -moz-appearance: textfield;
}
.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__delimiter {
  margin-left: 5px;
  display: inline-block;
}

.react-datepicker__time-container {
  float: right;
  border-left: 1px solid #aeaeae;
  width: 85px;
}
.react-datepicker__time-container--with-today-button {
  display: inline;
  border: 1px solid #aeaeae;
  border-radius: 0.375em;
  position: absolute;
  right: -87px;
  top: 0;
}
.react-datepicker__time-container .react-datepicker__time {
  position: relative;
  background: white;
  border-bottom-right-radius: 0.375em;
}
.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box {
  width: 85px;
  overflow-x: hidden;
  margin: 0 auto;
  text-align: center;
  border-bottom-right-radius: 0.375em;
}
.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list {
  list-style: none;
  margin: 0;
  height: calc(195px + 2.125em / 2);
  overflow-y: scroll;
  padding-right: 0;
  padding-left: 0;
  width: 100%;
  box-sizing: content-box;
}
.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item {
  height: 30px;
  padding: 5px 10px;
  white-space: nowrap;
}
.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item:hover {
  cursor: pointer;
  background-color: #f0f0f0;
}
.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item--selected {
  background-color: #216ba5;
  color: white;
  font-weight: bold;
}
.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item--selected:hover {
  background-color: #216ba5;
}
.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item--disabled {
  color: #ccc;
}
.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item--disabled:hover {
  cursor: default;
  background-color: transparent;
}

.react-datepicker__week-number {
  color: #ccc;
  display: inline-block;
  width: 2.125em;
  line-height: 2.125em;
  text-align: center;
  margin: 0.208em;
}
.react-datepicker__week-number.react-datepicker__week-number--clickable {
  cursor: pointer;
}
.react-datepicker__week-number.react-datepicker__week-number--clickable:not(.react-datepicker__week-number--selected):hover {
  border-radius: 0.3rem;
  background-color: #f0f0f0;
}
.react-datepicker__week-number--selected {
  border-radius: 0.3rem;
  background-color: #216ba5;
  color: #fff;
}
.react-datepicker__week-number--selected:hover {
  background-color: rgb(28.75, 93.2196969697, 143.75);
}

.react-datepicker__day-names {
  text-align: center;
  white-space: nowrap;
  margin-bottom: -8px;
}

.react-datepicker__week {
  white-space: nowrap;
}

.react-datepicker__day-name,
.react-datepicker__day,
.react-datepicker__time-name {
  color: #000;
  display: inline-block;
  width: 2.125em;
  line-height: 2.125em;
  text-align: center;
  margin: 0.208em;
}
.react-datepicker__day-name--disabled,
.react-datepicker__day--disabled,
.react-datepicker__time-name--disabled {
  cursor: default;
  color: #ccc;
}

.react-datepicker__day,
.react-datepicker__month-text,
.react-datepicker__quarter-text,
.react-datepicker__year-text {
  cursor: pointer;
}
.react-datepicker__day:not([aria-disabled=true]):hover,
.react-datepicker__month-text:not([aria-disabled=true]):hover,
.react-datepicker__quarter-text:not([aria-disabled=true]):hover,
.react-datepicker__year-text:not([aria-disabled=true]):hover {
  border-radius: 0.3rem;
  background-color: #f0f0f0;
}
.react-datepicker__day--today,
.react-datepicker__month-text--today,
.react-datepicker__quarter-text--today,
.react-datepicker__year-text--today {
  font-weight: bold;
}
.react-datepicker__day--highlighted,
.react-datepicker__month-text--highlighted,
.react-datepicker__quarter-text--highlighted,
.react-datepicker__year-text--highlighted {
  border-radius: 0.3rem;
  background-color: #3dcc4a;
  color: #fff;
}
.react-datepicker__day--highlighted:not([aria-disabled=true]):hover,
.react-datepicker__month-text--highlighted:not([aria-disabled=true]):hover,
.react-datepicker__quarter-text--highlighted:not([aria-disabled=true]):hover,
.react-datepicker__year-text--highlighted:not([aria-disabled=true]):hover {
  background-color: rgb(49.8551020408, 189.6448979592, 62.5632653061);
}
.react-datepicker__day--highlighted-custom-1,
.react-datepicker__month-text--highlighted-custom-1,
.react-datepicker__quarter-text--highlighted-custom-1,
.react-datepicker__year-text--highlighted-custom-1 {
  color: magenta;
}
.react-datepicker__day--highlighted-custom-2,
.react-datepicker__month-text--highlighted-custom-2,
.react-datepicker__quarter-text--highlighted-custom-2,
.react-datepicker__year-text--highlighted-custom-2 {
  color: green;
}
.react-datepicker__day--holidays,
.react-datepicker__month-text--holidays,
.react-datepicker__quarter-text--holidays,
.react-datepicker__year-text--holidays {
  position: relative;
  border-radius: 0.3rem;
  background-color: #ff6803;
  color: #fff;
}
.react-datepicker__day--holidays .overlay,
.react-datepicker__month-text--holidays .overlay,
.react-datepicker__quarter-text--holidays .overlay,
.react-datepicker__year-text--holidays .overlay {
  position: absolute;
  bottom: 100%;
  left: 50%;
  transform: translateX(-50%);
  background-color: #333;
  color: #fff;
  padding: 4px;
  border-radius: 4px;
  white-space: nowrap;
  visibility: hidden;
  opacity: 0;
  transition: visibility 0s, opacity 0.3s ease-in-out;
}
.react-datepicker__day--holidays:not([aria-disabled=true]):hover,
.react-datepicker__month-text--holidays:not([aria-disabled=true]):hover,
.react-datepicker__quarter-text--holidays:not([aria-disabled=true]):hover,
.react-datepicker__year-text--holidays:not([aria-disabled=true]):hover {
  background-color: rgb(207, 82.9642857143, 0);
}
.react-datepicker__day--holidays:hover .overlay,
.react-datepicker__month-text--holidays:hover .overlay,
.react-datepicker__quarter-text--holidays:hover .overlay,
.react-datepicker__year-text--holidays:hover .overlay {
  visibility: visible;
  opacity: 1;
}
.react-datepicker__day--selected, .react-datepicker__day--in-selecting-range, .react-datepicker__day--in-range,
.react-datepicker__month-text--selected,
.react-datepicker__month-text--in-selecting-range,
.react-datepicker__month-text--in-range,
.react-datepicker__quarter-text--selected,
.react-datepicker__quarter-text--in-selecting-range,
.react-datepicker__quarter-text--in-range,
.react-datepicker__year-text--selected,
.react-datepicker__year-text--in-selecting-range,
.react-datepicker__year-text--in-range {
  border-radius: 0.3rem;
  background-color: #216ba5;
  color: #fff;
}
.react-datepicker__day--selected:not([aria-disabled=true]):hover, .react-datepicker__day--in-selecting-range:not([aria-disabled=true]):hover, .react-datepicker__day--in-range:not([aria-disabled=true]):hover,
.react-datepicker__month-text--selected:not([aria-disabled=true]):hover,
.react-datepicker__month-text--in-selecting-range:not([aria-disabled=true]):hover,
.react-datepicker__month-text--in-range:not([aria-disabled=true]):hover,
.react-datepicker__quarter-text--selected:not([aria-disabled=true]):hover,
.react-datepicker__quarter-text--in-selecting-range:not([aria-disabled=true]):hover,
.react-datepicker__quarter-text--in-range:not([aria-disabled=true]):hover,
.react-datepicker__year-text--selected:not([aria-disabled=true]):hover,
.react-datepicker__year-text--in-selecting-range:not([aria-disabled=true]):hover,
.react-datepicker__year-text--in-range:not([aria-disabled=true]):hover {
  background-color: rgb(28.75, 93.2196969697, 143.75);
}
.react-datepicker__day--keyboard-selected,
.react-datepicker__month-text--keyboard-selected,
.react-datepicker__quarter-text--keyboard-selected,
.react-datepicker__year-text--keyboard-selected {
  border-radius: 0.3rem;
  background-color: rgb(186.25, 217.0833333333, 241.25);
  color: rgb(0, 0, 0);
}
.react-datepicker__day--keyboard-selected:not([aria-disabled=true]):hover,
.react-datepicker__month-text--keyboard-selected:not([aria-disabled=true]):hover,
.react-datepicker__quarter-text--keyboard-selected:not([aria-disabled=true]):hover,
.react-datepicker__year-text--keyboard-selected:not([aria-disabled=true]):hover {
  background-color: rgb(28.75, 93.2196969697, 143.75);
  color: #fff;
}
.react-datepicker__day--in-selecting-range:not(.react-datepicker__day--in-range,
.react-datepicker__month-text--in-range,
.react-datepicker__quarter-text--in-range,
.react-datepicker__year-text--in-range),
.react-datepicker__month-text--in-selecting-range:not(.react-datepicker__day--in-range,
.react-datepicker__month-text--in-range,
.react-datepicker__quarter-text--in-range,
.react-datepicker__year-text--in-range),
.react-datepicker__quarter-text--in-selecting-range:not(.react-datepicker__day--in-range,
.react-datepicker__month-text--in-range,
.react-datepicker__quarter-text--in-range,
.react-datepicker__year-text--in-range),
.react-datepicker__year-text--in-selecting-range:not(.react-datepicker__day--in-range,
.react-datepicker__month-text--in-range,
.react-datepicker__quarter-text--in-range,
.react-datepicker__year-text--in-range) {
  background-color: rgba(33, 107, 165, 0.5);
}
.react-datepicker__month--selecting-range .react-datepicker__day--in-range:not(.react-datepicker__day--in-selecting-range,
.react-datepicker__month-text--in-selecting-range,
.react-datepicker__quarter-text--in-selecting-range,
.react-datepicker__year-text--in-selecting-range), .react-datepicker__year--selecting-range .react-datepicker__day--in-range:not(.react-datepicker__day--in-selecting-range,
.react-datepicker__month-text--in-selecting-range,
.react-datepicker__quarter-text--in-selecting-range,
.react-datepicker__year-text--in-selecting-range),
.react-datepicker__month--selecting-range .react-datepicker__month-text--in-range:not(.react-datepicker__day--in-selecting-range,
.react-datepicker__month-text--in-selecting-range,
.react-datepicker__quarter-text--in-selecting-range,
.react-datepicker__year-text--in-selecting-range),
.react-datepicker__year--selecting-range .react-datepicker__month-text--in-range:not(.react-datepicker__day--in-selecting-range,
.react-datepicker__month-text--in-selecting-range,
.react-datepicker__quarter-text--in-selecting-range,
.react-datepicker__year-text--in-selecting-range),
.react-datepicker__month--selecting-range .react-datepicker__quarter-text--in-range:not(.react-datepicker__day--in-selecting-range,
.react-datepicker__month-text--in-selecting-range,
.react-datepicker__quarter-text--in-selecting-range,
.react-datepicker__year-text--in-selecting-range),
.react-datepicker__year--selecting-range .react-datepicker__quarter-text--in-range:not(.react-datepicker__day--in-selecting-range,
.react-datepicker__month-text--in-selecting-range,
.react-datepicker__quarter-text--in-selecting-range,
.react-datepicker__year-text--in-selecting-range),
.react-datepicker__month--selecting-range .react-datepicker__year-text--in-range:not(.react-datepicker__day--in-selecting-range,
.react-datepicker__month-text--in-selecting-range,
.react-datepicker__quarter-text--in-selecting-range,
.react-datepicker__year-text--in-selecting-range),
.react-datepicker__year--selecting-range .react-datepicker__year-text--in-range:not(.react-datepicker__day--in-selecting-range,
.react-datepicker__month-text--in-selecting-range,
.react-datepicker__quarter-text--in-selecting-range,
.react-datepicker__year-text--in-selecting-range) {
  background-color: #f0f0f0;
  color: #000;
}
.react-datepicker__day--disabled,
.react-datepicker__month-text--disabled,
.react-datepicker__quarter-text--disabled,
.react-datepicker__year-text--disabled {
  cursor: default;
  color: #ccc;
}
.react-datepicker__day--disabled .overlay,
.react-datepicker__month-text--disabled .overlay,
.react-datepicker__quarter-text--disabled .overlay,
.react-datepicker__year-text--disabled .overlay {
  position: absolute;
  bottom: 70%;
  left: 50%;
  transform: translateX(-50%);
  background-color: #333;
  color: #fff;
  padding: 4px;
  border-radius: 4px;
  white-space: nowrap;
  visibility: hidden;
  opacity: 0;
  transition: visibility 0s, opacity 0.3s ease-in-out;
}

.react-datepicker__input-container {
  position: relative;
  display: inline-block;
  width: 100%;
}
.react-datepicker__input-container .react-datepicker__calendar-icon {
  position: absolute;
  padding: 0.625em;
  box-sizing: content-box;
}

.react-datepicker__view-calendar-icon input {
  padding: 6px 10px 5px 25px;
}

.react-datepicker__year-read-view,
.react-datepicker__month-read-view,
.react-datepicker__month-year-read-view {
  border: 1px solid transparent;
  border-radius: 0.3rem;
  position: relative;
}
.react-datepicker__year-read-view:hover,
.react-datepicker__month-read-view:hover,
.react-datepicker__month-year-read-view:hover {
  cursor: pointer;
}
.react-datepicker__year-read-view:hover .react-datepicker__year-read-view--down-arrow,
.react-datepicker__year-read-view:hover .react-datepicker__month-read-view--down-arrow,
.react-datepicker__month-read-view:hover .react-datepicker__year-read-view--down-arrow,
.react-datepicker__month-read-view:hover .react-datepicker__month-read-view--down-arrow,
.react-datepicker__month-year-read-view:hover .react-datepicker__year-read-view--down-arrow,
.react-datepicker__month-year-read-view:hover .react-datepicker__month-read-view--down-arrow {
  border-top-color: rgb(178.5, 178.5, 178.5);
}
.react-datepicker__year-read-view--down-arrow,
.react-datepicker__month-read-view--down-arrow,
.react-datepicker__month-year-read-view--down-arrow {
  transform: rotate(135deg);
  right: -16px;
  top: 0;
}

.react-datepicker__year-dropdown,
.react-datepicker__month-dropdown,
.react-datepicker__month-year-dropdown {
  background-color: #f0f0f0;
  position: absolute;
  width: 50%;
  left: 25%;
  top: 30px;
  z-index: 1;
  text-align: center;
  border-radius: 0.3rem;
  border: 1px solid #aeaeae;
}
.react-datepicker__year-dropdown:hover,
.react-datepicker__month-dropdown:hover,
.react-datepicker__month-year-dropdown:hover {
  cursor: pointer;
}
.react-datepicker__year-dropdown--scrollable,
.react-datepicker__month-dropdown--scrollable,
.react-datepicker__month-year-dropdown--scrollable {
  height: 150px;
  overflow-y: scroll;
}

.react-datepicker__year-option,
.react-datepicker__month-option,
.react-datepicker__month-year-option {
  line-height: 20px;
  width: 100%;
  display: block;
  margin-left: auto;
  margin-right: auto;
}
.react-datepicker__year-option:first-of-type,
.react-datepicker__month-option:first-of-type,
.react-datepicker__month-year-option:first-of-type {
  border-top-left-radius: 0.3rem;
  border-top-right-radius: 0.3rem;
}
.react-datepicker__year-option:last-of-type,
.react-datepicker__month-option:last-of-type,
.react-datepicker__month-year-option:last-of-type {
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
  border-bottom-left-radius: 0.3rem;
  border-bottom-right-radius: 0.3rem;
}
.react-datepicker__year-option:hover,
.react-datepicker__month-option:hover,
.react-datepicker__month-year-option:hover {
  background-color: #ccc;
}
.react-datepicker__year-option:hover .react-datepicker__navigation--years-upcoming,
.react-datepicker__month-option:hover .react-datepicker__navigation--years-upcoming,
.react-datepicker__month-year-option:hover .react-datepicker__navigation--years-upcoming {
  border-bottom-color: rgb(178.5, 178.5, 178.5);
}
.react-datepicker__year-option:hover .react-datepicker__navigation--years-previous,
.react-datepicker__month-option:hover .react-datepicker__navigation--years-previous,
.react-datepicker__month-year-option:hover .react-datepicker__navigation--years-previous {
  border-top-color: rgb(178.5, 178.5, 178.5);
}
.react-datepicker__year-option--selected,
.react-datepicker__month-option--selected,
.react-datepicker__month-year-option--selected {
  position: absolute;
  left: 15px;
}

.react-datepicker__close-icon {
  cursor: pointer;
  background-color: transparent;
  border: 0;
  outline: 0;
  padding: 0 6px 0 0;
  position: absolute;
  top: 0;
  right: 0;
  height: 100%;
  display: table-cell;
  vertical-align: middle;
}
.react-datepicker__close-icon::after {
  cursor: pointer;
  background-color: #216ba5;
  color: #fff;
  border-radius: 50%;
  height: 16px;
  width: 16px;
  padding: 2px;
  font-size: 12px;
  line-height: 1;
  text-align: center;
  display: table-cell;
  vertical-align: middle;
  content: "×";
}
.react-datepicker__close-icon--disabled {
  cursor: default;
}
.react-datepicker__close-icon--disabled::after {
  cursor: default;
  background-color: #ccc;
}

.react-datepicker__today-button {
  background: #f0f0f0;
  border-top: 1px solid #aeaeae;
  cursor: pointer;
  text-align: center;
  font-weight: bold;
  padding: 5px 0;
  clear: left;
}

.react-datepicker__portal {
  position: fixed;
  width: 100vw;
  height: 100vh;
  background-color: rgba(0, 0, 0, 0.8);
  left: 0;
  top: 0;
  justify-content: center;
  align-items: center;
  display: flex;
  z-index: 2147483647;
}

.react-datepicker__children-container {
  width: 17.25em;
  margin: 0.5em;
  padding-right: 0.25em;
  padding-left: 0.25em;
  height: auto;
}

.react-datepicker__aria-live {
  position: absolute;
  clip-path: circle(0);
  border: 0;
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  width: 1px;
  white-space: nowrap;
}

.react-datepicker__calendar-icon {
  width: 1em;
  height: 1em;
  vertical-align: -0.125em;
}

.react-datepicker-popper-offset {
  margin-top: -0.7em;
}
.tooltip-container {
  --tooltipBackground: #fff;
  --tooltipBorder: #c0c0c0;
  --tooltipColor: #000;

  background-color: var(--tooltipBackground);
  border-radius: 3px;
  border: 1px solid var(--tooltipBorder);
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.18);
  color: var(--tooltipColor);
  display: flex;
  flex-direction: column;
  padding: 0.4rem;
  transition: opacity 0.3s;
  z-index: 9999;
}

.tooltip-container[data-popper-interactive='false'] {
  pointer-events: none;
}

.tooltip-arrow {
  height: 1rem;
  position: absolute;
  width: 1rem;
  pointer-events: none;
}

.tooltip-arrow::before {
  border-style: solid;
  content: '';
  display: block;
  height: 0;
  margin: auto;
  width: 0;
}

.tooltip-arrow::after {
  border-style: solid;
  content: '';
  display: block;
  height: 0;
  margin: auto;
  position: absolute;
  width: 0;
}

.tooltip-container[data-popper-placement*='bottom'] .tooltip-arrow {
  left: 0;
  margin-top: -0.4rem;
  top: 0;
}

.tooltip-container[data-popper-placement*='bottom'] .tooltip-arrow::before {
  border-color: transparent transparent var(--tooltipBorder) transparent;
  border-width: 0 0.5rem 0.4rem 0.5rem;
  position: absolute;
  top: -1px;
}

.tooltip-container[data-popper-placement*='bottom'] .tooltip-arrow::after {
  border-color: transparent transparent var(--tooltipBackground) transparent;
  border-width: 0 0.5rem 0.4rem 0.5rem;
}

.tooltip-container[data-popper-placement*='top'] .tooltip-arrow {
  bottom: 0;
  left: 0;
  margin-bottom: -1rem;
}

.tooltip-container[data-popper-placement*='top'] .tooltip-arrow::before {
  border-color: var(--tooltipBorder) transparent transparent transparent;
  border-width: 0.4rem 0.5rem 0 0.5rem;
  position: absolute;
  top: 1px;
}

.tooltip-container[data-popper-placement*='top'] .tooltip-arrow::after {
  border-color: var(--tooltipBackground) transparent transparent transparent;
  border-width: 0.4rem 0.5rem 0 0.5rem;
}

.tooltip-container[data-popper-placement*='right'] .tooltip-arrow {
  left: 0;
  margin-left: -0.7rem;
}

.tooltip-container[data-popper-placement*='right'] .tooltip-arrow::before {
  border-color: transparent var(--tooltipBorder) transparent transparent;
  border-width: 0.5rem 0.4rem 0.5rem 0;
}

.tooltip-container[data-popper-placement*='right'] .tooltip-arrow::after {
  border-color: transparent var(--tooltipBackground) transparent transparent;
  border-width: 0.5rem 0.4rem 0.5rem 0;
  left: 6px;
  top: 0;
}

.tooltip-container[data-popper-placement*='left'] .tooltip-arrow {
  margin-right: -0.7rem;
  right: 0;
}

.tooltip-container[data-popper-placement*='left'] .tooltip-arrow::before {
  border-color: transparent transparent transparent var(--tooltipBorder);
  border-width: 0.5rem 0 0.5rem 0.4em;
}

.tooltip-container[data-popper-placement*='left'] .tooltip-arrow::after {
  border-color: transparent transparent transparent var(--tooltipBackground);
  border-width: 0.5rem 0 0.5rem 0.4em;
  left: 3px;
  top: 0;
}
.grammar-buttons-container {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  width: 100%;
  max-width: 480px;
  /* top space gives the recommended-level pointer headroom above the first row */
  margin: 24px auto 0;
  gap: 16px;
}

.grammar-level-button-group {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  /* wider row gap so the pointer has room when the recommended level is in a lower row */
  row-gap: 28px;
  -moz-column-gap: 12px;
       column-gap: 12px;
  width: 100%;
}

.button-with-marker {
  position: relative;
}
.combined-chatbot {
  display: flex;
  flex-direction: column;
  height: 100%;
  background: #faf8ed;
  border-radius: 8px;
  overflow: hidden;
}

.ai-assistant-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 1.1rem 1.4rem;
  background: transparent;
  color: #2d2c2a;
  border-bottom: 1px solid rgba(45, 44, 42, 0.12);
}

.robot-icon {
  margin-right: 1rem;
  font-size: 1.4rem;
  color: rgb(0, 0, 0);
}

.ai-header-title {
  margin: 0;
  font-size: 1.4rem;
  font-weight: 600;
  letter-spacing: 0;
  color: #2d2c2a;
}

.settings-icon {
  color: #666;
  cursor: pointer;
  transition: color 0.15s ease, transform 0.15s ease;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transform-origin: center;
  margin-left: auto;
}
.settings-icon:hover {
  color: #333;
  transform: scale(1.18);
}

.first-message {
  margin: 20px;
}
.first-message .message {
  max-width: 100%;
}

.chatbot-content {
  display: flex;
  flex-direction: column;
  flex: 1;
  overflow: hidden;
  overflow-y: auto;
  position: relative;
}

.dictionary-content {
  display: flex;
  flex-direction: column;
  flex: 1;
  overflow: hidden;
  overflow-y: auto;
  position: relative;
}

.chatbot-header,
.inline-translation,
.context-translation-box {
  flex-shrink: 0;
}

.inline-translation {
  width: 100%;
  margin-left: 0;
  padding: 10px;
}

.chatbot-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  border-radius: 8px;
  padding: 12px 15px;
  margin-bottom: 1rem;
  position: relative;
}

.bulbs-container {
  position: relative;
  display: flex;
  align-items: center;
  gap: 4px;
}
.bulbs-container .MuiSvgIcon-root {
  margin: 0;
}

.current-word {
  margin: 0;
  font-family: var(--font-language, var(--font-content));
  text-align: left;
  width: 100%;
  font-size: 1.2rem;
  color: #333;
  font-weight: 600;
  padding: 0 10px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.chat-action-menu {
  position: relative;
}
.chat-action-menu .chat-action-trigger {
  background: none;
  width: 38px;
  height: 38px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  color: #2d2c2a;
  transition: transform 0.15s ease;
  transform-origin: center;
  border: none;
}
.chat-action-menu .chat-action-trigger:hover {
  transform: scale(1.18);
}
.chat-action-menu .chat-action-trigger svg {
  width: 22px;
  height: 22px;
}
.chat-action-menu .chat-action-options {
  position: absolute;
  top: calc(100% + 10px);
  right: 0;
  background: #faf8ed;
  border-radius: 18px;
  padding: 10px;
  box-shadow: 0 12px 40px rgba(0, 0, 0, 0.18);
  display: flex;
  flex-direction: column;
  gap: 4px;
  min-width: 210px;
  z-index: 1000;
}
.chat-action-menu .chat-action-options .chat-action-item {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 10px 14px;
  border: none;
  background: transparent;
  border-radius: 999px;
  cursor: pointer;
  transition: background 0.15s;
  text-align: left;
}
.chat-action-menu .chat-action-options .chat-action-item:hover {
  background: #ece3be;
}
.chat-action-menu .chat-action-options .chat-action-item .chat-action-icon {
  width: 28px;
  height: 28px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.chat-action-menu .chat-action-options .chat-action-item .chat-action-icon .MuiSvgIcon-root {
  margin: 0;
  padding: 0;
  display: flex;
  height: auto;
}
.chat-action-menu .chat-action-options .chat-action-item .chat-action-text {
  font-size: 15px;
  font-weight: 500;
  color: #2d2c2a;
  white-space: nowrap;
}

.chatbot-messages-container {
  flex: 1;
  padding: 10px 0;
  background: transparent;
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.chatbot-messages-container .app-lemma {
  align-self: stretch;
  width: 100%;
}

.chatbot-input-area {
  flex-shrink: 0;
  padding: 12px 15px;
  background: transparent;
  border-top: 1px solid rgba(45, 44, 42, 0.12);
  z-index: 5;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 10px;
  min-height: 67px;
}
.chatbot-input-area .chatbot-input-form {
  width: 100%;
  display: grid;
  grid-template-columns: 1fr auto;
  grid-template-rows: auto auto;
  gap: 0.5em;
  background-color: white;
  padding: 0;
}
.chatbot-input-area .chatbot-input-form input {
  height: 40px;
  border-radius: 5px;
  border: 1px solid steelblue;
  padding: 0 10px;
  font-size: 0.95rem;
}
.chatbot-input-area .chatbot-input-form button {
  height: 40px;
  margin: 0;
}
.chatbot-input-area .show-hint-btn {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
}

.message-translation {
  background-color: #f0f7ff !important;
  border-color: #cce5ff !important;
  width: 100%;
  max-width: 100%;
  display: block;
  padding: 12px;
}
.message-translation .translation-glosses {
  list-style: disc;
  padding-left: 1.2em;
  margin: 8px 0;
  color: #555;
  font-size: 0.9rem;
  word-wrap: break-word;
}
.message-translation .translation-glosses li {
  margin: 0 !important;
  padding: 0 !important;
}
.message-translation .no-translation-text, .message-translation .loading-text {
  /* font-style removed */
  color: #666;
  font-size: 0.9rem;
  display: block;
}

.context-translation-box {
  position: relative;
  background: rgba(126, 222, 249, 0.3);
  border-radius: 8px;
  padding: 1em;
  margin: 0;
}
.context-translation-box .context-translation-title {
  margin: 0 0 0.5em 0;
  color: #17a2b8;
  font-size: 1rem;
}
.context-translation-box .context-translation-content {
  color: #555;
  line-height: 1.6;
}
.context-translation-box .context-translation-content b {
  color: #1890ff;
  font-weight: bold;
}
.context-translation-box .close-context-btn {
  position: absolute;
  top: 8px;
  right: 8px;
  background: none;
  border: none;
  color: #888;
  cursor: pointer;
  padding: 4px;
}
.context-translation-box .close-context-btn:hover {
  color: #333;
}

.translation-glosses {
  font-family: var(--font-content);
  font-weight: 400;
  line-height: 1.5;
  text-align: left;
  box-sizing: border-box;
  list-style-type: disc;
  margin: 1em 0;
  padding: 0;
  font-size: 1em;
  margin-bottom: 0;
  padding-bottom: 0;
  margin-left: 1.25rem;
  color: slategrey;
  font-style: italic;
  margin-top: 0.5rem;
}
.translation-glosses li {
  font-weight: 400;
  text-align: left;
  font-size: 1em;
  color: slategrey;
  font-style: italic;
  box-sizing: border-box;
  display: list-item;
  table-layout: fixed;
  list-style-position: outside;
  padding: 0;
  line-height: 1.5em;
  padding-top: 0;
  position: relative;
  margin: 0;
  word-wrap: break-word;
}

/* Translation Lemma Card styles moved to DictionaryHelp/Lemma.scss. */
.message {
  display: flex;
  padding: 10px 14px;
  border-radius: 8px;
  max-width: 85%;
  font-size: 0.95rem;
  line-height: 1.5;
}

.message-bot {
  align-self: flex-start;
  background-color: #ffffff;
  border: none;
  border-radius: 18px;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.06);
}
.message-bot ul {
  margin-bottom: 0;
  padding-left: 1.2em;
}

.message-user {
  align-self: flex-end;
  background-color: #b1d3c2;
  border: none;
  border-radius: 18px;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.06);
  margin-left: auto;
}

.message-hint {
  border-color: rgb(223, 223, 223) !important;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.message-hint .hint-item {
  display: flex;
  align-items: flex-start;
  gap: 8px;
}
.message-hint .hint-item > span {
  flex: 1;
  min-width: 0;
}
.message-hint .hint-item .hint-bulb {
  margin-top: 2px;
  flex-shrink: 0;
}
.message-hint .hint-item .hint-info-icon {
  color: #2d2c2a;
  cursor: pointer;
  flex-shrink: 0;
  margin-left: 4px;
}

.message-notes {
  align-self: flex-start;
  background-color: #c7ecff;
  border: 1px solid #8faaca;
}
.message-notes::-moz-selection, .message-notes ::-moz-selection {
  background: #2563eb;
  color: #fff;
}
.message-notes::selection,
.message-notes ::selection {
  background: #2563eb;
  color: #fff;
}
.message-notes .hint-info-icon {
  color: #17a2b8;
}
.message-notes ul {
  margin-bottom: 0;
  padding-left: 1.2em;
}

.message-user-note {
  position: relative;
  flex-direction: column;
  align-items: stretch;
  gap: 4px;
  background-color: #fff6da;
  border: 1px solid #e3c878;
}
.message-user-note .note-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem;
}
.message-user-note .note-author {
  font-weight: 500;
  font-size: 0.8rem;
  color: #6b6b6b;
}
.message-user-note .note-actions {
  display: flex;
  gap: 0.25rem;
  margin-left: auto;
}
.message-user-note .note-actions .note-action-icon {
  margin: 0 !important;
  font-size: 0.95em;
  cursor: pointer;
  opacity: 0.5;
  text-shadow: none !important;
  transition: opacity 0.15s ease, color 0.15s ease;
}
.message-user-note .note-actions .note-action-icon:hover {
  opacity: 0.95;
}
.message-user-note .note-actions .note-action-icon.trash:hover {
  color: #db2828;
}
.message-user-note .note-body {
  display: flex;
  align-items: flex-start;
  gap: 0.4rem;
}
.message-user-note .user-note-text {
  flex: 1;
  min-width: 0;
  white-space: pre-wrap;
  word-break: break-word;
}
.message-user-note .note-public-icon {
  flex-shrink: 0;
  margin-left: 0.4rem;
  font-size: 1em;
  color: #9b9b9b;
  cursor: default;
}

.translation-button {
  cursor: pointer;
  font-size: 1.8rem;
  border: none;
  padding: 0;
  margin: 0;
  background: none;
  transition: transform 0.15s ease;
  transform-origin: center;
}
.translation-button:hover {
  transform: scale(1.18);
}

.hint-request-container {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1em;
}
.hint-request-container .chat-action-text {
  transition: opacity 0.15s ease;
}
.hint-request-container .chat-action-text:hover {
  opacity: 0.6;
}.story-not-processed {
  display: flex;
  justify-content: center;
  width: 100%;
  box-sizing: border-box;
}

.story-not-processed-text {
  background: #fdea3b;
  padding: 8px 12px;
  width: 40%;
  max-width: 60%;
  text-align: center;
  margin: 0 auto;
  font-weight: 600;
  color: black;
  line-height: 1.35;
  white-space: pre-line;
  overflow-wrap: anywhere;
  word-break: break-word;
}

.header-text {
  display: flex;
  justify-content: space-between;
  padding-top: 4px;
}

.cefr-level {
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  color: #000000a8;
  font-size: large;
  font-weight: 500;
  white-space: nowrap;
  margin: 0;
  padding: 0 6px;
  height: 30px;
}/*!
 * 
 *   react-simple-keyboard v3.8.196
 *   https://github.com/hodgef/react-simple-keyboard
 *
 *   Copyright (c) Francisco Hodge (https://github.com/hodgef) and project contributors.
 *
 *   This source code is licensed under the MIT license found in the
 *   LICENSE file in the root directory of this source tree.
 *
 */
/*!
 * 
 *   simple-keyboard v3.8.134
 *   https://github.com/hodgef/simple-keyboard
 *
 *   Copyright (c) Francisco Hodge (https://github.com/hodgef) and project contributors.
 *
 *   This source code is licensed under the MIT license found in the
 *   LICENSE file in the root directory of this source tree.
 *
 */.hg-theme-default{background-color:#ececec;border-radius:5px;box-sizing:border-box;font-family:HelveticaNeue-Light,Helvetica Neue Light,Helvetica Neue,Helvetica,Arial,Lucida Grande,sans-serif;overflow:hidden;padding:5px;touch-action:manipulation;-webkit-user-select:none;-moz-user-select:none;user-select:none;width:100%}.hg-theme-default .hg-button span,.hg-theme-default .hg-button span svg{pointer-events:none}.hg-theme-default button.hg-button{border-width:0;font-size:inherit}.hg-theme-default .hg-button{display:inline-block;flex-grow:1}.hg-theme-default .hg-row{display:flex}.hg-theme-default .hg-row:not(:last-child){margin-bottom:5px}.hg-theme-default .hg-row .hg-button-container,.hg-theme-default .hg-row .hg-button:not(:last-child){margin-right:5px}.hg-theme-default .hg-row>div:last-child{margin-right:0}.hg-theme-default .hg-row .hg-button-container{display:flex}.hg-theme-default .hg-button{align-items:center;background:#fff;border-bottom:1px solid #b5b5b5;border-radius:5px;box-shadow:0 0 3px -1px rgba(0,0,0,.3);box-sizing:border-box;cursor:pointer;display:flex;height:40px;justify-content:center;padding:5px;-webkit-tap-highlight-color:rgba(0,0,0,0)}.hg-theme-default .hg-button.hg-standardBtn{width:20px}.hg-theme-default .hg-button.hg-activeButton{background:#efefef}.hg-theme-default.hg-layout-numeric .hg-button{align-items:center;display:flex;height:60px;justify-content:center;width:33.3%}.hg-theme-default .hg-button.hg-button-numpadadd,.hg-theme-default .hg-button.hg-button-numpadenter{height:85px}.hg-theme-default .hg-button.hg-button-numpad0{width:105px}.hg-theme-default .hg-button.hg-button-com{max-width:85px}.hg-theme-default .hg-button.hg-standardBtn.hg-button-at{max-width:45px}.hg-theme-default .hg-button.hg-selectedButton{background:rgba(5,25,70,.53);color:#fff}.hg-theme-default .hg-button.hg-standardBtn[data-skbtn=".com"]{max-width:82px}.hg-theme-default .hg-button.hg-standardBtn[data-skbtn="@"]{max-width:60px}.hg-candidate-box{background:#ececec;border-bottom:2px solid #b5b5b5;border-radius:5px;display:inline-flex;margin-top:-10px;position:absolute;transform:translateY(-100%);-webkit-user-select:none;-moz-user-select:none;user-select:none}ul.hg-candidate-box-list{display:flex;flex:1;list-style:none;margin:0;padding:0}li.hg-candidate-box-list-item{align-items:center;display:flex;height:40px;justify-content:center;width:40px}li.hg-candidate-box-list-item:hover{background:rgba(0,0,0,.03);cursor:pointer}li.hg-candidate-box-list-item:active{background:rgba(0,0,0,.1)}.hg-candidate-box-prev:before{content:"◄"}.hg-candidate-box-next:before{content:"►"}.hg-candidate-box-next,.hg-candidate-box-prev{align-items:center;color:#969696;cursor:pointer;display:flex;padding:0 10px}.hg-candidate-box-next{border-bottom-right-radius:5px;border-top-right-radius:5px}.hg-candidate-box-prev{border-bottom-left-radius:5px;border-top-left-radius:5px}.hg-candidate-box-btn-active{color:#444}.encouragement-container {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  height: 350px;
  margin: 26.25px;
}

.encouragement-message-container {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  height: 90%;
}

.encouragement-container h5 {
  margin-top: 20px;
  margin-bottom: 50px;
  color: grey;
}

.encouragement-container img {
  max-width: 30%;
  max-height: 30%;
  margin-bottom: 30px;
}

.encouragement-button-group {
  display: flex;
  gap: 30px;
  justify-content: center;
  height: 10%;
}

.encouragement-button-group button {
  width: 150px;
}

 


/* svg g:hover {
  fill: #7be3f6;
  fill-opacity: 0.7;
} */

/* svg g:hover text {
  fill-opacity: 1;
} */

/* svg g.hexagon {
  fill: #FFF; */
  /* fill-opacity: 0.6; */
/* } */

svg g.hexagon {
  fill: #f8f8f8;
  /* fill-opacity: 0.6; */
}

svg g.hexagon-general g.hexagon {
    /* fill: #add8e6; */
    fill: cyan;
}

svg g.hexagon-root g.hexagon {
  fill: #7eaaf1;
  /*fill: #7eaaf1;*/ 
  /* fill-opacity: 0.6; */
 }

svg g.hexagon polygon {
  stroke: #909090;
  stroke-width: 0.1;
  /* transition: fill-opacity .5s; */
}
svg.grid g path {
  fill: none;
  stroke: #b1b1b1;
  stroke-width: 0.0.5em;
  stroke-opacity: 0.7;
  stroke-linecap: round;
  stroke-linejoin: round;
}

text.hexagon-text {
  font-size: 0.22em;
  font-weight: 400;
  fill: rgb(42, 42, 42);
}

text.hexagon-root {
  font-size: 0.35em;
  font-weight: 400;
  fill: rgb(42, 42, 42);
}

g.scoreNone g { fill: white }
g.score0 g { fill: #fc6c85 }
g.score1 g { fill: #fb6e86 }
g.score2 g { fill: #fb7188 }
g.score3 g { fill: #fb748a }
g.score4 g { fill: #fb778c }
g.score5 g { fill: #fb798d }
g.score6 g { fill: #fb7c8f }
g.score7 g { fill: #fb7f91 }
g.score8 g { fill: #fb8293 }
g.score9 g { fill: #fa8594 }
g.score10 g { fill: #fa8796 }
g.score11 g { fill: #fa8a98 }
g.score12 g { fill: #fa8d9a }
g.score13 g { fill: #fa909b }
g.score14 g { fill: #fa929d }
g.score15 g { fill: #fa959f }
g.score16 g { fill: #fa98a1 }
g.score17 g { fill: #f99ba2 }
g.score18 g { fill: #f99ea4 }
g.score19 g { fill: #f9a0a6 }
g.score20 g { fill: #f9a3a8 }
g.score21 g { fill: #f9a6a9 }
g.score22 g { fill: #f9a9ab }
g.score23 g { fill: #f9abad }
g.score24 g { fill: #f9aeaf }
g.score25 g { fill: #f9b1b1 }
g.score26 g { fill: #f8b4b2 }
g.score27 g { fill: #f8b7b4 }
g.score28 g { fill: #f8b9b6 }
g.score29 g { fill: #f8bcb8 }
g.score30 g { fill: #f8bfb9 }
g.score31 g { fill: #f8c2bb }
g.score32 g { fill: #f8c4bd }
g.score33 g { fill: #f8c7bf }
g.score34 g { fill: #f7cac0 }
g.score35 g { fill: #f7cdc2 }
g.score36 g { fill: #f7d0c4 }
g.score37 g { fill: #f7d2c6 }
g.score38 g { fill: #f7d5c7 }
g.score39 g { fill: #f7d8c9 }
g.score40 g { fill: #f7dbcb }
g.score41 g { fill: #f7ddcd }
g.score42 g { fill: #f6e0ce }
g.score43 g { fill: #f6e3d0 }
g.score44 g { fill: #f6e6d2 }
g.score45 g { fill: #f6e9d4 }
g.score46 g { fill: #f6ebd5 }
g.score47 g { fill: #f6eed7 }
g.score48 g { fill: #f6f1d9 }
g.score49 g { fill: #f6f4db }
g.score50 g { fill: #f6f7dd }
g.score51 g { fill: #f3f6db }
g.score52 g { fill: #f1f6d9 }
g.score53 g { fill: #eff6d8 }
g.score54 g { fill: #edf6d6 }
g.score55 g { fill: #ebf6d5 }
g.score56 g { fill: #e9f6d3 }
g.score57 g { fill: #e7f5d2 }
g.score58 g { fill: #e5f5d0 }
g.score59 g { fill: #e3f5cf }
g.score60 g { fill: #e1f5cd }
g.score61 g { fill: #dff5cc }
g.score62 g { fill: #ddf5ca }
g.score63 g { fill: #dbf4c8 }
g.score64 g { fill: #d9f4c7 }
g.score65 g { fill: #d7f4c5 }
g.score66 g { fill: #d5f4c4 }
g.score67 g { fill: #d3f4c2 }
g.score68 g { fill: #d1f4c1 }
g.score69 g { fill: #cff3bf }
g.score70 g { fill: #cdf3be }
g.score71 g { fill: #cbf3bc }
g.score72 g { fill: #c9f3bb }
g.score73 g { fill: #c7f3b9 }
g.score74 g { fill: #c5f3b8 }
g.score75 g { fill: #c3f3b6 }
g.score76 g { fill: #c0f2b4 }
g.score77 g { fill: #bef2b3 }
g.score78 g { fill: #bcf2b1 }
g.score79 g { fill: #baf2b0 }
g.score80 g { fill: #b8f2ae }
g.score81 g { fill: #b6f2ad }
g.score82 g { fill: #b4f1ab }
g.score83 g { fill: #b2f1aa }
g.score84 g { fill: #b0f1a8 }
g.score85 g { fill: #aef1a7 }
g.score86 g { fill: #acf1a5 }
g.score87 g { fill: #aaf1a4 }
g.score88 g { fill: #a8f0a2 }
g.score89 g { fill: #a6f0a0 }
g.score90 g { fill: #a4f09f }
g.score91 g { fill: #a2f09d }
g.score92 g { fill: #a0f09c }
g.score93 g { fill: #9ef09a }
g.score94 g { fill: #9cef99 }
g.score95 g { fill: #9aef97 }
g.score96 g { fill: #98ef96 }
g.score97 g { fill: #96ef94 }
g.score98 g { fill: #94ef93 }
g.score99 g { fill: #92ef91 }
g.score100 g { fill: #90ef90 }
.slider {
    /* display: flex; */
    align-items: center;
}

.slider-content {
    display: flex;
    align-items: center;
}

.slide-container {
    flex-grow: 1;
    /* margin: 0 10px;  */
    padding: 10px
}

.left-arrow {
    background: linear-gradient(to right, transparent 0%, transparent 50%, white 50%, white 100%);
    border: none;
    outline: none;
    cursor: pointer;
    padding: 10px 10px;
    margin-right: 10px;
    transition: background 0.3s;
    color: black;
}

.left-arrow:hover {
    background: transparent;
}

.right-arrow {
    background: linear-gradient(to left, transparent 0%, transparent 50%, white 50%, white 100%);
    border: none;
    outline: none;
    cursor: pointer;
    padding: 10px 10px;
    /* margin-left: 10px; */
    transition: background 0.3s;
    color: black;
}

.right-arrow:hover {
    background: transparent;
}

.slide {
    opacity: 0;
    transition-duration: 1s ease;
}

.slide.active {
    height: 100%;
    opacity: 1;
    transition-duration: 1s;
    transform: scale(1.08);
}

.pagination {
    display: flex;
    justify-content: center;
    margin-top: 10px;
}

/* Pagination Dot */
.dot {
    width: 10px;
    height: 10px;
    background-color: #ccc;
    border-radius: 50%;
    display: inline-block;
    margin: 0 5px;
    cursor: pointer;
    transition: background-color 0.3s ease;
}

/* Active Dot */
.dot.active {
    background-color: #555;
}/**
 * Swiper 12.1.4
 * Most modern mobile touch slider and framework with hardware accelerated transitions
 * https://swiperjs.com
 *
 * Copyright 2014-2026 Vladimir Kharlampidi
 *
 * Released under the MIT License
 *
 * Released on: April 29, 2026
 */

:root {
  --swiper-theme-color: #007aff;
  /*
  --swiper-preloader-color: var(--swiper-theme-color);
  --swiper-wrapper-transition-timing-function: initial;
  */
}
:host {
  position: relative;
  display: block;
  margin-left: auto;
  margin-right: auto;
  z-index: 1;
}
.swiper {
  margin-left: auto;
  margin-right: auto;
  position: relative;
  overflow: hidden;
  list-style: none;
  padding: 0;
  /* Fix of Webkit flickering */
  z-index: 1;
  display: block;
}
.swiper-vertical > .swiper-wrapper {
  flex-direction: column;
}
.swiper-wrapper {
  position: relative;
  width: 100%;
  height: 100%;
  z-index: 1;
  display: flex;
  transition-property: transform;
  transition-timing-function: var(--swiper-wrapper-transition-timing-function, initial);
  box-sizing: content-box;
}
.swiper-android .swiper-slide,
.swiper-ios .swiper-slide,
.swiper-wrapper {
  transform: translate3d(0px, 0, 0);
}
.swiper-horizontal {
  touch-action: pan-y;
}
.swiper-vertical {
  touch-action: pan-x;
}
.swiper-slide {
  flex-shrink: 0;
  width: 100%;
  height: 100%;
  position: relative;
  transition-property: transform;
  display: block;
}
.swiper-slide-invisible-blank {
  visibility: hidden;
}
/* Auto Height */
.swiper-autoheight,
.swiper-autoheight .swiper-slide {
  height: auto;
}
.swiper-autoheight .swiper-wrapper {
  align-items: flex-start;
  transition-property: transform, height;
}
.swiper-backface-hidden .swiper-slide {
  transform: translateZ(0);
  backface-visibility: hidden;
}
/* 3D Effects */
.swiper-3d.swiper-css-mode .swiper-wrapper {
  perspective: 1200px;
}
.swiper-3d .swiper-wrapper {
  transform-style: preserve-3d;
}
.swiper-3d {
  perspective: 1200px;
  .swiper-slide,
  .swiper-cube-shadow {
    transform-style: preserve-3d;
  }
}

/* CSS Mode */
.swiper-css-mode {
  > .swiper-wrapper {
    overflow: auto;
    scrollbar-width: none; /* For Firefox */
    -ms-overflow-style: none; /* For Internet Explorer and Edge */
    &::-webkit-scrollbar {
      display: none;
    }
  }
  > .swiper-wrapper > .swiper-slide {
    scroll-snap-align: start start;
  }
  &.swiper-horizontal {
    > .swiper-wrapper {
      scroll-snap-type: x mandatory;
    }
    > .swiper-wrapper > .swiper-slide:first-child {
      margin-inline-start: var(--swiper-slides-offset-before);
      scroll-margin-inline-start: var(--swiper-slides-offset-before);
    }
    > .swiper-wrapper > .swiper-slide:last-child {
      margin-inline-end: var(--swiper-slides-offset-after);
    }
  }
  &.swiper-vertical {
    > .swiper-wrapper {
      scroll-snap-type: y mandatory;
    }
    > .swiper-wrapper > .swiper-slide:first-child {
      margin-block-start: var(--swiper-slides-offset-before);
      scroll-margin-block-start: var(--swiper-slides-offset-before);
    }
    > .swiper-wrapper > .swiper-slide:last-child {
      margin-block-end: var(--swiper-slides-offset-after);
    }
  }
  &.swiper-free-mode {
    > .swiper-wrapper {
      scroll-snap-type: none;
    }
    > .swiper-wrapper > .swiper-slide {
      scroll-snap-align: none;
    }
  }
  &.swiper-centered {
    > .swiper-wrapper::before {
      content: '';
      flex-shrink: 0;
      order: 9999;
    }
    > .swiper-wrapper > .swiper-slide {
      scroll-snap-align: center center;
      scroll-snap-stop: always;
    }
  }
  &.swiper-centered.swiper-horizontal {
    > .swiper-wrapper > .swiper-slide:first-child {
      margin-inline-start: var(--swiper-centered-offset-before);
    }
    > .swiper-wrapper::before {
      height: 100%;
      min-height: 1px;
      width: var(--swiper-centered-offset-after);
    }
  }
  &.swiper-centered.swiper-vertical {
    > .swiper-wrapper > .swiper-slide:first-child {
      margin-block-start: var(--swiper-centered-offset-before);
    }
    > .swiper-wrapper::before {
      width: 100%;
      min-width: 1px;
      height: var(--swiper-centered-offset-after);
    }
  }
}

/* Slide styles start */
/* 3D Shadows */
.swiper-3d {
  .swiper-slide-shadow,
  .swiper-slide-shadow-left,
  .swiper-slide-shadow-right,
  .swiper-slide-shadow-top,
  .swiper-slide-shadow-bottom,
  .swiper-slide-shadow,
  .swiper-slide-shadow-left,
  .swiper-slide-shadow-right,
  .swiper-slide-shadow-top,
  .swiper-slide-shadow-bottom {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    z-index: 10;
  }
  .swiper-slide-shadow {
    background: rgba(0, 0, 0, 0.15);
  }
  .swiper-slide-shadow-left {
    background-image: linear-gradient(to left, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
  }
  .swiper-slide-shadow-right {
    background-image: linear-gradient(to right, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
  }
  .swiper-slide-shadow-top {
    background-image: linear-gradient(to top, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
  }
  .swiper-slide-shadow-bottom {
    background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
  }
}
.swiper-lazy-preloader {
  width: 42px;
  height: 42px;
  position: absolute;
  left: 50%;
  top: 50%;
  margin-left: -21px;
  margin-top: -21px;
  z-index: 10;
  transform-origin: 50%;
  box-sizing: border-box;
  border: 4px solid var(--swiper-preloader-color, var(--swiper-theme-color));
  border-radius: 50%;
  border-top-color: transparent;
}
.swiper:not(.swiper-watch-progress),
.swiper-watch-progress .swiper-slide-visible {
  .swiper-lazy-preloader {
    animation: swiper-preloader-spin 1s infinite linear;
  }
}
.swiper-lazy-preloader-white {
  --swiper-preloader-color: #fff;
}
.swiper-lazy-preloader-black {
  --swiper-preloader-color: #000;
}
@keyframes swiper-preloader-spin {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
/* Slide styles end */
.swiper.swiper-flip {
  overflow: visible;
}
.swiper-flip {
  .swiper-slide {
    pointer-events: none;
    backface-visibility: hidden;
    z-index: 1;
    .swiper-slide {
      pointer-events: none;
    }
  }
  .swiper-slide-active {
    &,
    & .swiper-slide-active {
      pointer-events: auto;
    }
  }
}
/* Flip slide shadows start */
.swiper-flip {
  .swiper-slide-shadow-flip.swiper-slide-shadow-top,
  .swiper-slide-shadow-flip.swiper-slide-shadow-bottom,
  .swiper-slide-shadow-flip.swiper-slide-shadow-left,
  .swiper-slide-shadow-flip.swiper-slide-shadow-right {
    z-index: 0;
    backface-visibility: hidden;
  }
}
/* Flip slide shadows end */
.flashcard-title,
.flashcard-title-small {
  font-family: var(--font-language, var(--font-content));
}

.flashcard-phonetics {
  font-family: var(--font-content);
}

.flashcard-body {
  display: flex;
  flex-direction: column;
  padding: 0;
  margin: 0;
}

.flashcard-top-bar {
  display: flex;
  align-items: center;
  gap: 1em;
  padding: 1.25em 1.5em 0;
}
.flashcard-top-bar-menu {
  flex: 1;
  min-width: 0;
}

.flashcard-menu {
  width: 100%;
  padding: 0;
  margin: 0;
}

.flashcard-main-row {
  position: relative;
  flex: 1;
  min-height: 0;
  display: flex;
  align-items: center;
  justify-content: center;
}

.flashcard-arrow-button {
  position: absolute;
  top: 50%;
  left: calc(50% + 11em);
  transform: translateY(-50%);
  display: flex;
  align-items: center;
  z-index: 10;
}
@media (max-width: 800px) {
  .flashcard-arrow-button {
    left: calc(50% + 11em - 50px);
  }
}

.flashcard-list-view {
  padding-top: 1.25em;
}

.flashcard-list-header {
  display: flex;
  align-items: center;
  gap: 1em;
  padding: 0 0.5rem 0.75rem;
}
.flashcard-list-header-pages {
  flex-shrink: 0;
}
.flashcard-list-header .flashcard-list-count,
.flashcard-list-header .flashcard-list-header-settings {
  flex: 1;
}
.flashcard-list-header-settings {
  display: flex;
  justify-content: flex-end;
  align-items: center;
}

.flashcard-list-count {
  font-weight: 600;
  color: #2d2c2a;
  white-space: nowrap;
}

.flashcard-list-footer {
  display: flex;
  justify-content: center;
  padding-top: 1rem;
}

.flashcard-template {
  display: flex;
}

.flashcard.flashcard-template-card {
  border-radius: 30px;
  color: #2d2c2a;
}

.flashcard.flashcard-template-card--word {
  background-color: #dad9ef;
  border: 8px solid #dad9ef;
}

.flashcard.flashcard-template-card--translations {
  margin-left: 1em;
  background-color: #f6efcf;
  border: 8px solid #dad9ef;
}

.flashcard.flashcard-template-card--mobile {
  background-color: #f6efcf;
}

.flashcard-template-section {
  display: flex;
  flex-direction: column;
  overflow: auto;
}

.flashcard-word-field {
  padding-top: 0;
  padding-bottom: 2rem;
}

.flashcard-form-title,
.flashcard-word {
  display: flex;
  justify-content: center;
  font-weight: 700;
  color: #2d2c2a;
}

.flashcard-form-title {
  font-size: 22px;
  margin: 1rem 0 0.5rem 0;
}

.flashcard-word {
  font-family: var(--font-language, var(--font-content));
  font-size: 20px;
}

.flashcard-form-list {
  overflow: auto;
  margin-bottom: 1rem;
}

.flashcard-template-input {
  flex: 0 0 auto;
  margin-top: 0.5rem;
}

.flashcard-template-card .flashcard-form-button {
  width: 100%;
  margin-top: 0.75em;
}

.flashcard-template-actions {
  display: flex;
  gap: 0.75rem;
  margin-top: 1.5em;
}

.flashcard-template-action {
  flex: 1 1 0;
}

.flashcard-template-list-item {
  padding-bottom: 0.5rem;
}

.flashcard-template-list-text {
  width: 100%;
  padding-right: 0.5rem;
}

.flashcard-template-card--word .flashcard-template-section,
.flashcard-template-card--translations .flashcard-template-section {
  flex: 1 1 auto;
  min-height: 0;
}

.flashcard-template-card--word .flashcard-template-input,
.flashcard-template-card--translations .flashcard-template-input {
  margin-top: auto;
}

.flashcard-template-card--word .flashcard-form-button {
  margin-bottom: 3.6em;
}/* Shared slider thumb color styles.
   Used by sliders that color the thumb based on value (see sliderThumbColor.js). */
.green3-slider.exercise-density-slider-thumb {
  background-color: #4dff4d;
}

.green2-slider.exercise-density-slider-thumb {
  background-color: #72ff3d;
}

.green1-slider.exercise-density-slider-thumb {
  background-color: #9eff2d;
}

.yellowgreen-slider.exercise-density-slider-thumb {
  background-color: #caf811;
}

.yellow-slider.exercise-density-slider-thumb {
  background-color: #fdfd0d;
}

.yellowred-slider.exercise-density-slider-thumb {
  background-color: #effe1d;
}

.red1-slider.exercise-density-slider-thumb {
  background-color: #ffba2d;
}

.red2-slider.exercise-density-slider-thumb {
  background-color: #ff863d;
}

.red3-slider.exercise-density-slider-thumb {
  background-color: #ff4d4d;
}.lesson-start-menu-container {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 16px;
  min-height: 437px;
  margin: 0;
}

@media (max-width: 1100px) {
  .lesson-start-menu-container {
    min-height: 524px;
  }
}/* FONTS: this is a plain .css file, so it cannot see the `$font-ui` / `$font-content` SCSS
   variables vite injects into every .scss file — only the `--font-ui` / `--font-content` custom
   properties custom.scss publishes on `:root`. Nothing here needs either: every string on this
   screen is interface copy (headings, section titles, translated topic names), so it inherits
   --font-ui from <body>. A reading surface added here opts in with `var(--font-content)`. */

.lesson-setup-body {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  height: 100%;
}

/* "Lesson Ready!" card (group lesson library) */
.lesson-ready-card {
  width: 100%;
  max-width: 640px;
  margin: 0 auto;
}

.lesson-ready-title {
  font-weight: 700;
  font-size: 30px;
  line-height: 1.2;
  color: #2d2c2a;
  margin: 4px 0 20px;
}

.lesson-ready-section {
  background: #ffffff;
  border: 1px solid #e4e1d3;
  border-radius: 16px;
  padding: 14px 20px;
  margin-bottom: 16px;
}

.lesson-ready-section-title {
  font-weight: 700;
  font-size: 20px;
  color: #2d2c2a;
  margin-bottom: 6px;
}

.lesson-ready-list {
  margin: 0;
  padding-left: 1.3em;
  color: #2d2c2a;
}

.lesson-ready-list li {
  font-size: 15px;
  line-height: 1.5;
  margin-bottom: 2px;
}

/* Topics can be many — keep the block short and scroll inside it. */
.lesson-ready-list--scroll {
  max-height: 232px;
  overflow-y: auto;
  padding-right: 4px;
}

/* Name on the left, performance % on the right of each topic row. */
.lesson-ready-list-row {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 12px;
  padding: 6px 10px;
  border-radius: 12px;
  transition: background-color 0.15s ease;
}

/* Same hover pill as the lesson-practice "All topics" list. */
.lesson-ready-list-row:hover {
  background-color: #ece3be;
}

.lesson-ready-list-pct {
  flex-shrink: 0;
  font-weight: 600;
  font-size: 13px;
}

.lesson-ready-list:empty::after {
  content: '—';
  color: #9d9b92;
}

.lesson-ready-cta {
  display: block;
  margin-top: 8px;
}

.lesson-setup-header {
  width: 100%;
  max-width: 480px;
  margin: 24px auto 16px;
  text-align: left;
}

.lesson-setup-title {
  font-weight: 700;
  font-size: 30px;
  line-height: 1.2;
  color: #2d2c2a;
  margin: 0;
}

.lesson-setup-subtitle {
  font-size: 15px;
  color: #2d2c2a;
  margin: 4px 0 0;
}

.lesson-setup-btn-container {
  display: flex;
  align-items: center;
  width: 100%;
  max-width: 480px;
  margin: 0 auto 24px;
  gap: 16px;
}

.lesson-group-row {
  display: flex;
  width: 100%;
  justify-content: space-between;
  align-items: flex-start;
  gap: 24px;
}

.lesson-group-col {
  flex: 1 1 0;
  min-width: 0;
}

.lesson-group-col-theme {
  display: flex;
  justify-content: flex-start;
}

.lesson-group-col-topics {
  display: flex;
  justify-content: flex-end;
}

@media (max-width: 1040px) {
  /* .lesson-setup-body {
    gap: 40px;
  } */

  .lesson-setup-title {
    font-size: 30px !important;
  }
}

@media (max-width: 1100px) {
  .lesson-group-row {
    flex-direction: column;
    gap: 16px;
    justify-content: center;
    align-items: center;
  }

  .lesson-group-col {
    width: 100%;
    display: flex;
    justify-content: center;
    flex: 0 0 auto;
  }

  .lesson-group-col-theme,
  .lesson-group-col-topics {
    justify-content: center;
  }

  .lesson-group-topic-box,
  .lesson-group-theme-box {
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
}.reading-comp {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 16px;
  width: 100%;
  align-items: start;
  max-width: 2048px;
}

.reading-comp__story,
.reading-comp__questions {
  min-width: 0;
}

.reading-comp__story {
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  overflow-wrap: anywhere; /* prevents long tokens forcing overlap */
}

.rc-question {
  cursor: pointer;
  transition: background-color 120ms ease, border-color 120ms ease, box-shadow 120ms ease;
}

.rc-question--selected {
  border: 1px solid #21ba45;
  background: rgba(33, 186, 69, 0.08);
  box-shadow: 0 0 0 1px rgba(33, 186, 69, 0.15);
}

.rc-question__options {
  margin: 0;
  padding-left: 1.25rem;
  list-style-type: none;
}

.rc-question__options li {
  margin: 0.35rem 0;
}

.rc-question__header {
  display: flex;
  align-items: stretch;
  gap: 8px;
}

.rc-question__title {
  flex: 1;
  min-width: 0;
  margin-bottom: 0.5em;
}

.rc-question__titleText {
  font-weight: 500;
}

.rc-question__right {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 6px;
  flex: 0 0 auto;

  align-self: stretch;
}

.rc-question__actions {
  display: flex;
  align-items: center;
  gap: 6px;
  flex-shrink: 0;
  margin-top: auto;
  margin-bottom: 4px;

}

.rc-question__cefr {
  color: #00000080;
  margin: 0;
  padding: 4px 10px 0 0;
  font-weight: 500;
  white-space: nowrap;
}

.rc-question__toggle {
  background: transparent;
  border: 0;
  padding: 0;
  cursor: pointer;
}

.rc-question__body {
  border-top: 0 !important;
  padding-top: 0.25em;
}

.rc-loading-overlay {
  position: fixed;
  inset: 0;
  z-index: 2000;

  display: flex;
  align-items: center;
  justify-content: center;

  pointer-events: all;

  background: rgba(255, 255, 255, 0.88);
  cursor: progress;
}

.rc-loading-overlay__spinner {
  color: #3495e0;
}

.rc-tabs {
  display: flex !important;
  justify-content: center !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

.essay-writing-page {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: space-between;
  min-height: calc(100vh - 3em - 0.5rem - 80px);
  margin: 0 12px;
}
@media (max-width: 768px) {
  .essay-writing-page {
    margin: 0 8px;
  }
}

.essay-writing-main {
  display: flex;
  flex: 1;
  justify-content: center;
  width: 100%;
  min-height: 0;
  margin-bottom: 1rem;
}

.essay-writing-container {
  display: flex;
  flex-direction: column;
  flex: 1;
  box-sizing: border-box;
  width: 100%;
  max-width: 1024px;
  min-height: 0;
}
@media (min-width: 700px) {
  .essay-writing-container {
    min-width: 650px;
  }
}

.essay-writing-container-sidebar-pushed {
  box-sizing: border-box;
  max-width: 100%;
  margin-right: 380px !important;
  transition: margin-right 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.essay-writing-panel {
  display: flex;
  flex-direction: column;
  flex: 1;
  box-sizing: border-box;
  width: 100%;
  max-width: 1024px;
  height: calc(100vh - 3em - 0.5rem - 40px);
  min-height: calc(100vh - 3em - 0.5rem - 40px);
  margin-top: 1.5em;
  padding: 1.5rem;
  background: #faf8ed !important;
  border-radius: 30px !important;
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.06) !important;
}
@media (min-width: 700px) {
  .essay-writing-panel {
    min-width: 650px;
  }
}

.essay-writing-title {
  display: flex;
  align-items: center;
  height: auto;
  font-style: normal;
  font-weight: 500;
  line-height: 27px;
  color: #2d2c2a;
  padding-right: 1em;
  font-size: 26px;
}

.essay-teacher-split {
  display: flex;
  flex-direction: row;
  flex: 1;
  gap: 1rem;
  box-sizing: border-box;
  width: 100%;
  max-width: 1400px;
  min-height: 0;
}
@media (max-width: 768px) {
  .essay-teacher-split {
    flex-direction: column;
    max-width: 100%;
  }
}

.essay-teacher-panel {
  display: flex;
  flex-direction: column;
  flex: 1 1 0;
  min-width: 0;
  box-sizing: border-box;
  height: calc(100vh - 3em - 0.5rem - 40px);
  min-height: calc(100vh - 3em - 0.5rem - 40px);
  margin-top: 1.5em;
  padding: 1.5rem;
  background: #faf8ed !important;
  border-radius: 30px !important;
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.06) !important;
}
@media (max-width: 768px) {
  .essay-teacher-panel {
    height: auto;
    min-height: 40vh;
  }
}

.essay-teacher-text {
  flex: 1;
  min-height: 0;
  margin-top: 1rem;
  padding: 0.75rem;
  overflow-y: auto;
  white-space: pre-wrap;
  overflow-wrap: anywhere;
  background: #faf8ed;
  border: 1px solid #b1d3c2;
  border-radius: 18px;
  font-family: var(--font-content);
  color: #2d2c2a;
  line-height: 1.5;
}

.essay-sentence {
  border-radius: 3px;
  transition: background 0.15s ease;
}

.essay-sentence-highlighted {
  background: rgba(253, 234, 59, 0.85);
}

.essay-word {
  cursor: pointer;
  border-radius: 3px;
  transition: background 0.15s ease;
}
.essay-word:hover {
  background: rgba(253, 234, 59, 0.75);
}

.essay-word-highlighted,
.essay-word-highlighted:hover {
  background: rgba(253, 234, 59, 0.75);
}

.essay-writing-input-area {
  --essay-writing-selection-bg-color: #88cefb;
  position: relative;
  flex: 1;
  min-height: 0;
  margin-top: 1rem;
  overflow-x: hidden;
  overflow-y: auto;
  background: #faf8ed;
  border: 1px solid #b1d3c2;
  border-radius: 18px;
  isolation: isolate;
}

.essay-writing-scroll-content {
  position: relative;
  display: flex;
  flex-direction: column;
  min-height: 100%;
}

.essay-writing-input-area-deletion {
  --essay-writing-selection-bg-color: #f6b3b3;
}

.essay-writing-highlight-layer {
  position: absolute;
  inset: 0;
  pointer-events: none;
}

.essay-writing-word-highlight {
  position: absolute;
  z-index: 2;
  border-radius: 2px;
  pointer-events: none;
  mix-blend-mode: multiply;
}

.essay-writing-word-highlight-replacement,
.essay-writing-word-highlight-multi {
  background-color: #88cefb;
}

.essay-writing-word-highlight-insertion {
  background-color: #92f294;
}

.essay-writing-word-highlight-deletion {
  background-color: #f6b3b3;
}

.essay-writing-word-highlight-selected {
  filter: brightness(1.1);
}

.essay-writing-insertion-underline {
  position: absolute;
  z-index: 2;
  height: 0;
  pointer-events: none;
  border-bottom: 3px double #000000;
}

.essay-writing-input {
  display: flex;
  flex-direction: column;
  flex: 1 0 auto;
  width: 100%;
  background: #faf8ed;
}
.essay-writing-input .MuiInputBase-root {
  display: flex;
  flex-direction: column;
  flex: 1 0 auto;
  align-items: stretch;
}
.essay-writing-input .MuiOutlinedInput-notchedOutline {
  border: 0 !important;
}
.essay-writing-input textarea,
.essay-writing-input .MuiInputBase-inputMultiline {
  flex: 1 0 auto;
  box-sizing: border-box;
  overflow: hidden !important;
  padding-bottom: 1.75rem;
  resize: none;
  font-family: var(--font-content);
  font-style: normal;
  font-weight: 400;
  font-size: 18px;
  line-height: 32px;
  color: #2d2c2a;
}
.essay-writing-input textarea::-moz-selection, .essay-writing-input .MuiInputBase-inputMultiline::-moz-selection {
  background-color: var(--essay-writing-selection-bg-color) !important;
  color: inherit !important;
}
.essay-writing-input textarea::selection,
.essay-writing-input .MuiInputBase-inputMultiline::selection {
  background-color: var(--essay-writing-selection-bg-color) !important;
  color: inherit !important;
}
.essay-writing-input textarea::-moz-selection,
.essay-writing-input .MuiInputBase-inputMultiline::-moz-selection {
  background-color: var(--essay-writing-selection-bg-color) !important;
  color: inherit !important;
}

.essay-writing-correction-bubble {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  z-index: 1300;
  box-sizing: border-box;
  width: 100%;
  max-width: min(520px, 100vw - 32px);
  margin-bottom: 8px;
  padding: 0.75rem 1rem;
  border: 1px solid #b1d3c2;
  border-radius: 16px;
  background: #faf8ed;
  transition: filter 0.2s;
}
.essay-writing-correction-bubble:hover {
  transform: scale(1.02);
  filter: brightness(1.05);
}
.essay-writing-correction-bubble.essay-writing-correction-bubble-active {
  transform: scale(1.03);
  filter: brightness(1.1);
}

.essay-writing-correction-bubble-multi {
  background: #88cefb !important;
}

.essay-writing-correction-bubble-replacement {
  background: #88cefb !important;
}

.essay-writing-correction-bubble-insertion {
  background: #92f294 !important;
}

.essay-writing-correction-bubble-deletion {
  background: #f6b3b3 !important;
}

.essay-writing-correction-content {
  display: flex;
  flex: 1 1 auto;
  flex-wrap: wrap;
  align-items: center;
  min-width: 220px;
  min-height: 32px;
  gap: 0.35rem;
  font-size: 0.95rem;
  line-height: 1.4;
}

.essay-writing-correction-hint {
  flex: 1 1 auto;
  min-width: 0;
  font-size: 0.95rem;
  line-height: 1.4;
}

.essay-writing-corrected-word {
  font-family: var(--font-content);
  font-size: large;
}

.essay-writing-corrected-word-deletion {
  padding: 0 3px;
  border-radius: 3px;
  background-color: #f6b3b3;
  color: #9f1d17;
  text-decoration: line-through;
  text-decoration-color: #9f1d17;
  text-decoration-thickness: 2px;
}

.essay-writing-corrected-word-deleted-punctuation {
  font-weight: 700;
  text-decoration: none;
}

.essay-writing-corrected-word-replacement {
  background-color: #88cefb;
}

.essay-writing-corrected-word-insertion {
  text-decoration: underline;
  background-color: #92f294;
}

.essay-writing-corrected-word-correct {
  padding: 0 3px;
  border-radius: 3px;
  background-color: #fff;
}

.essay-writing-corrected-word-dev-correction {
  opacity: 0.6;
  font-size: 0.85em;
  font-style: italic;
}

.essay-writing-correction-feedback-button {
  flex: 0 0 auto;
  margin-left: auto !important;
}

.essay-writing-correction-loading {
  display: flex;
  flex: 1 1 auto;
  align-items: center;
  justify-content: center;
  min-width: 220px;
  min-height: 32px;
}

.essay-writing-correction-error-tag {
  padding: 2px 6px;
  border-radius: 4px;
  background: #d32f2f;
  color: #fff;
  font-size: 0.75rem;
  font-weight: 600;
}

@media (max-width: 768px) {
  .essay-writing-container-sidebar-pushed {
    max-height: 60vh;
    min-height: 0;
    margin-right: 0 !important;
    overflow-y: auto;
    transition: max-height 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  }
  .essay-writing-container-sidebar-pushed > * {
    flex-shrink: 0;
  }
}
@media (min-width: 1856px) {
  .essay-writing-container-sidebar-pushed {
    max-width: 1024px;
  }
}/*$vite$:1*/