/* Лист Calc внутри правой панели курса: на всю высоту iframe, без «оконного» режима. */
.calc-course-sheet-body {
  margin: 0;
  height: 100vh;
  max-height: 100vh;
  overflow: hidden;
  background: var(--bg, #23282d);
}

.calc-course-sheet-body .variant-trainer-embed-root {
  height: 100%;
  min-height: 0;
  display: flex;
  flex-direction: column;
  box-sizing: border-box;
}

.calc-course-sheet-body .task-solve__left,
.calc-course-sheet-body .calc-widget--libreoffice-sheet,
.calc-course-sheet-body .libreoffice-sheet-calc-container.univer-calc-container {
  flex: 1 1 auto;
  min-height: 0;
  height: 100%;
  display: flex;
  flex-direction: column;
}

.calc-course-sheet-body .libreoffice-sheet-calc-container,
.calc-course-sheet-body .libreoffice-sheet-calc-container.univer-calc--restored {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0;
  margin-left: 0 !important;
  margin-right: 0 !important;
  align-self: stretch;
  box-sizing: border-box;
}

/*
 * Подсветка ячейки, на которую указывает Нейрошка или проверка.
 * Отдельный слой поверх сетки: классы на <td> Handsontable стирает при перерисовке.
 */
.calc-course-mark {
  position: fixed;
  z-index: 11000;
  pointer-events: none;
  box-sizing: border-box;
  border-radius: 2px;
  transition: opacity 0.6s ease;
  animation: calc-course-mark-pulse 0.9s ease-out 2;
}

.calc-course-mark--bad {
  border: 2px solid #ff6b6b;
  background: rgba(255, 107, 107, 0.16);
}

.calc-course-mark--ok {
  border: 2px solid #05b87d;
  background: rgba(5, 184, 125, 0.14);
}

.calc-course-mark--fade {
  opacity: 0;
}

@keyframes calc-course-mark-pulse {
  from {
    transform: scale(1.12);
  }
  to {
    transform: scale(1);
  }
}
