/* Placeholder Calc до lazy-load (?var=py) */
.hf-dual-trainer-calc-mount-wrap {
  flex: 1 1 auto;
  min-height: 0;
  display: flex;
  flex-direction: column;
}

.hf-dual-trainer-calc-mount--pending {
  flex: 1 1 auto;
  min-height: 120px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1rem;
  box-sizing: border-box;
  border: 1px dashed rgba(255, 255, 255, 0.12);
  border-radius: 0.35rem;
  background: rgba(12, 16, 20, 0.35);
}

.hf-dual-trainer-calc-mount__hint {
  margin: 0;
  font-size: 0.82rem;
  color: rgba(255, 255, 255, 0.55);
  text-align: center;
  max-width: 22rem;
}

[data-theme="light"] .hf-dual-trainer-calc-mount--pending {
  border-color: rgba(15, 23, 42, 0.15);
  background: rgba(248, 250, 252, 0.85);
}

[data-theme="light"] .hf-dual-trainer-calc-mount__hint {
  color: rgba(15, 23, 42, 0.55);
}

/*
 * HF task 9/26: переопределяем task_2/task_9|26 solve.css (2-колоночная сетка, grid-row:2 у .task-solve__right).
 * Нужно при ?var=calc|py и при SPA-переключении Calc|Python без перезагрузки.
 */
body.libreoffice-page-hf-task-list.libreoffice-page-task9 .libreoffice-task9-page.calc-trainer-page.task-solve-page,
body.libreoffice-page-hf-task-list.libreoffice-page-task26 .libreoffice-task9-page.calc-trainer-page.task-solve-page {
  display: grid;
  grid-template-rows: minmax(0, 1fr);
  column-gap: 0;
  min-height: 0;
  height: 100%;
  box-sizing: border-box;
}

body.libreoffice-page-hf-task-list.libreoffice-page-task9 .libreoffice-task9-page.calc-trainer-page .task-solve-main,
body.libreoffice-page-hf-task-list.libreoffice-page-task26 .libreoffice-task9-page.calc-trainer-page .task-solve-main {
  grid-column: 3;
  grid-row: 1;
  min-height: 0;
  height: 100%;
  align-self: stretch;
}

body.libreoffice-page-hf-task-list.libreoffice-page-task9
  .libreoffice-task9-page.calc-trainer-page
  .task-solve__left--dual,
body.libreoffice-page-hf-task-list.libreoffice-page-task26
  .libreoffice-task9-page.calc-trainer-page
  .task-solve__left--dual {
  flex: 1 1 auto;
  min-height: 0;
  height: 100%;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}

body.libreoffice-page-hf-task-list.libreoffice-page-task9 .libreoffice-task9-page.calc-trainer-page .task-solve__right,
body.libreoffice-page-hf-task-list.libreoffice-page-task26 .libreoffice-task9-page.calc-trainer-page .task-solve__right {
  grid-column: 1;
  grid-row: 1;
  align-self: stretch;
  min-height: 0;
  min-width: 0;
  margin-top: 0;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  gap: 0;
}

body.libreoffice-page-hf-task-list.libreoffice-page-task9
  .libreoffice-task9-page.calc-trainer-page
  #libreoffice-task9-statement-wrap.task-solve__statement,
body.libreoffice-page-hf-task-list.libreoffice-page-task26
  .libreoffice-task9-page.calc-trainer-page
  #libreoffice-task9-statement-wrap.task-solve__statement {
  flex: 1 1 0;
  min-height: 0;
  overflow-x: hidden;
  overflow-y: auto;
}

body.libreoffice-page-hf-task-list.libreoffice-page-task9
  .libreoffice-task9-page.calc-trainer-page
  .task-solve__right
  > #libreoffice-task9-answer,
body.libreoffice-page-hf-task-list.libreoffice-page-task26
  .libreoffice-task9-page.calc-trainer-page
  .task-solve__right
  > #libreoffice-task9-answer {
  flex: 0 0 auto;
}

body.neuroege-python-task26-page.hf-sheet-engine--calc.libreoffice-page-hf-task-list:not(
    .libreoffice-task9-sheet-maximized
  )
  .libreoffice-task3-page.libreoffice-task9-page.calc-trainer-page.task-solve-page,
body.neuroege-python-task9-page.hf-sheet-engine--calc.libreoffice-page-hf-task-list:not(
    .libreoffice-task9-sheet-maximized
  )
  .libreoffice-task3-page.libreoffice-task9-page.calc-trainer-page.task-solve-page,
body.neuroege-python-task26-page.libreoffice-page-hf-task-list:not(.hf-sheet-engine--python):not(
    .libreoffice-task9-sheet-maximized
  )
  .libreoffice-task3-page.libreoffice-task9-page.calc-trainer-page.task-solve-page,
body.neuroege-python-task9-page.libreoffice-page-hf-task-list:not(.hf-sheet-engine--python):not(
    .libreoffice-task9-sheet-maximized
  )
  .libreoffice-task3-page.libreoffice-task9-page.calc-trainer-page.task-solve-page {
  grid-template-columns: minmax(0, 1fr) 6px minmax(0, 2fr);
}

/* Calc | Python на /hyperformula/task26/<slug>/ — панели в стеке (без display:none), чтобы HOT сохранял viewport */
.hf-sheet-dual-trainer {
  position: relative;
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  min-height: 0;
  height: 100%;
}

/* Полоска над тренажёром: Calc | Python */
.hf-sheet-dual-trainer__toolbar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 0.5rem 0.75rem;
  flex: 0 0 auto;
  width: 100%;
  padding: 0.4rem 0.55rem;
  box-sizing: border-box;
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
  background: rgba(12, 16, 20, 0.55);
}

.hf-sheet-dual-trainer__toolbar-label {
  font-family: var(--font-body, inherit);
  font-size: 0.78rem;
  font-weight: 600;
  letter-spacing: 0.02em;
  color: rgba(255, 255, 255, 0.62);
  white-space: nowrap;
}

[data-theme="light"] .hf-sheet-dual-trainer__toolbar {
  border-bottom-color: rgba(15, 23, 42, 0.12);
  background: rgba(248, 250, 252, 0.92);
}

[data-theme="light"] .hf-sheet-dual-trainer__toolbar-label {
  color: rgba(15, 23, 42, 0.55);
}

.hf-sheet-dual-trainer__toolbar .variant-exam__trainer-engine-toggle {
  flex: 0 0 auto;
}

/* Calc | Python pill-toggle (как task_9_py/solve.css, для хедера и dual-trainer) */
.hf-sheet-dual-trainer__toolbar .task-9-mode-toggle {
  display: inline-flex;
  align-items: stretch;
  border-radius: 9999px;
  background: rgba(255, 255, 255, 0.06);
  border: 1px solid rgba(255, 255, 255, 0.32);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.08),
    0 1px 2px rgba(0, 0, 0, 0.18);
  overflow: hidden;
}

.hf-sheet-dual-trainer__toolbar .task-9-mode-toggle > * + * {
  border-left: 1px solid rgba(255, 255, 255, 0.28);
}

.hf-sheet-dual-trainer__toolbar .task-9-mode-toggle__item {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  padding: 0.35rem 0.65rem;
  font-size: 0.8125rem;
  font-weight: 500;
  white-space: nowrap;
  color: rgba(255, 255, 255, 0.7);
  text-decoration: none;
  transition: background 0.2s ease, color 0.2s ease;
}

.hf-sheet-dual-trainer__toolbar .task-9-mode-toggle__item--active {
  background: rgba(5, 184, 125, 0.24);
  color: var(--green, #05b87d);
  cursor: default;
  font-weight: 700;
  box-shadow: inset 0 0 0 1px rgba(5, 184, 125, 0.45);
}

.hf-sheet-dual-trainer__toolbar a.task-9-mode-toggle__item:hover {
  background: rgba(255, 255, 255, 0.08);
  color: inherit;
}

[data-theme="light"] .hf-sheet-dual-trainer__toolbar .task-9-mode-toggle {
  background: rgba(0, 0, 0, 0.04);
  border-color: rgba(15, 23, 42, 0.22);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.92),
    0 1px 2px rgba(15, 23, 42, 0.08);
}

[data-theme="light"] .hf-sheet-dual-trainer__toolbar .task-9-mode-toggle > * + * {
  border-left-color: rgba(15, 23, 42, 0.16);
}

[data-theme="light"] .hf-sheet-dual-trainer__toolbar .task-9-mode-toggle__item {
  color: rgba(0, 0, 0, 0.7);
}

[data-theme="light"] .hf-sheet-dual-trainer__toolbar .task-9-mode-toggle__item--active {
  background: rgba(5, 184, 125, 0.18);
  color: var(--green, #05b87d);
  font-weight: 700;
  box-shadow: inset 0 0 0 1px rgba(5, 150, 105, 0.42);
}

[data-theme="light"] .hf-sheet-dual-trainer__toolbar a.task-9-mode-toggle__item:hover {
  background: rgba(0, 0, 0, 0.08);
}

.hf-sheet-dual-trainer__toolbar button.task-9-mode-toggle__item {
  border: none;
  background: transparent;
  cursor: pointer;
  font-family: inherit;
}

.hf-sheet-dual-trainer__toolbar button.task-9-mode-toggle__item:hover {
  background: rgba(255, 255, 255, 0.08);
}

[data-theme="light"] .hf-sheet-dual-trainer__toolbar button.task-9-mode-toggle__item:hover {
  background: rgba(0, 0, 0, 0.08);
}

.hf-sheet-dual-trainer__toolbar button.task-9-mode-toggle__item--active {
  cursor: default;
}

.hf-sheet-dual-trainer__toolbar .task-9-mode-toggle__item--disabled,
.hf-sheet-dual-trainer__toolbar button.task-9-mode-toggle__item:disabled {
  opacity: 0.42;
  cursor: default;
  pointer-events: none;
}

.hf-sheet-dual-trainer__toolbar button.task-9-mode-toggle__item--disabled.task-9-mode-toggle__item--active,
.hf-sheet-dual-trainer__toolbar button.task-9-mode-toggle__item:disabled.task-9-mode-toggle__item--active {
  opacity: 1;
}

.hf-task-header-engine-toggle--single .task-9-mode-toggle__item {
  cursor: default;
  pointer-events: none;
}

.hf-sheet-dual-trainer__toolbar--header-toggle-only {
  justify-content: center;
  gap: 0;
  flex-wrap: nowrap;
}

.task-9-mode-toggle.hf-task-header-trainer-kind-toggle--with-annotate > .hf-toolbar-screen-annotate-slot {
  display: inline-flex;
  align-items: stretch;
  flex: 0 0 auto;
  position: relative;
  box-shadow: 1px 0 0 rgba(255, 255, 255, 0.22);
}

.task-9-mode-toggle.hf-task-header-trainer-kind-toggle--with-annotate > .hf-toolbar-screen-annotate-slot + .task-9-mode-toggle__item {
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
  border-left: none;
}

[data-theme="light"] .task-9-mode-toggle.hf-task-header-trainer-kind-toggle--with-annotate > .hf-toolbar-screen-annotate-slot {
  box-shadow: 1px 0 0 rgba(15, 23, 42, 0.14);
}

.task-9-mode-toggle.hf-task-header-trainer-kind-toggle--with-annotate .neuroege-screen-annotate__chrome--toolbar .neuroege-screen-annotate__activator {
  width: 2.25rem;
  height: 100%;
  min-height: 2.25rem;
  min-width: 2.25rem;
  padding: 0;
  margin: 0;
  border: none;
  border-radius: 9px 0 0 9px;
  background: transparent;
  color: #ecfdf5;
  box-shadow: none;
}

.task-9-mode-toggle.hf-task-header-trainer-kind-toggle--with-annotate .neuroege-screen-annotate__chrome--toolbar .neuroege-screen-annotate__activator--labeled {
  width: auto;
  min-width: 0;
  padding: 0.32rem 0.52rem;
  gap: 0.35rem;
  font-size: 0.78rem;
  font-weight: 500;
  white-space: nowrap;
}

.task-9-mode-toggle.hf-task-header-trainer-kind-toggle--with-annotate .neuroege-screen-annotate__chrome--toolbar .neuroege-screen-annotate__activator-label {
  line-height: 1;
}

.task-9-mode-toggle.hf-task-header-trainer-kind-toggle--with-annotate .neuroege-screen-annotate__chrome--toolbar .neuroege-screen-annotate__activator:hover {
  background: rgba(5, 184, 125, 0.1);
  transform: none;
}

.task-9-mode-toggle.hf-task-header-trainer-kind-toggle--with-annotate .neuroege-screen-annotate__chrome--toolbar.neuroege-screen-annotate__chrome--open .neuroege-screen-annotate__activator {
  background: rgba(5, 184, 125, 0.22);
  pointer-events: none;
}

[data-theme="light"] .task-9-mode-toggle.hf-task-header-trainer-kind-toggle--with-annotate .neuroege-screen-annotate__chrome--toolbar .neuroege-screen-annotate__activator {
  color: #047857;
}

[data-theme="light"] .task-9-mode-toggle.hf-task-header-trainer-kind-toggle--with-annotate .neuroege-screen-annotate__chrome--toolbar .neuroege-screen-annotate__activator:hover {
  background: rgba(245, 252, 249, 0.98);
}

[data-theme="light"] .task-9-mode-toggle.hf-task-header-trainer-kind-toggle--with-annotate .neuroege-screen-annotate__chrome--toolbar.neuroege-screen-annotate__chrome--open .neuroege-screen-annotate__activator {
  background: rgba(5, 184, 125, 0.14);
}

.hf-header-util-toggle:not(:has(.hf-header-screen-annotate-slot)) .theme-toggle {
  border-left: none;
  border-radius: 9px;
}

.hf-task-header-trainer-kind-toggle {
  max-width: 100%;
  flex-wrap: nowrap;
  overflow-x: auto;
  scrollbar-width: none;
}

.hf-task-header-trainer-kind-toggle::-webkit-scrollbar {
  display: none;
}

.hf-task-header-trainer-kind-toggle .task-9-mode-toggle__item {
  flex: 0 0 auto;
  padding: 0.32rem 0.52rem;
  font-size: 0.78rem;
}

.hf-task-header-trainer-kind-toggle .task-9-mode-toggle__item img {
  width: 14px;
  height: 14px;
}

.hf-task-header-trainer-kind-toggle .task-9-mode-toggle__item--active:not([data-engine]) {
  cursor: default;
  pointer-events: none;
}

.hf-sheet-dual-trainer__workspace {
  position: relative;
  flex: 1 1 auto;
  min-height: 0;
  display: flex;
  flex-direction: column;
}

body.libreoffice-page-hf-task-list .task-solve__left--engine-toolbar {
  display: flex;
  flex-direction: column;
  min-height: 0;
  height: 100%;
}

body.libreoffice-page-hf-task-list .task-solve__left--engine-toolbar > .calc-widget--libreoffice-sheet {
  flex: 1 1 auto;
  min-height: 0;
  height: 100%;
}

/* task3/18/22 (только Calc, без dual-trainer): лист на всю высоту левой колонки */
body.libreoffice-page-hf-task-list.libreoffice-page-task9
  .libreoffice-task3-page.calc-trainer-page
  .task-solve__left:not(.task-solve__left--dual) {
  flex: 1 1 0;
  min-height: 0;
  height: 100%;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}

body.libreoffice-page-hf-task-list.libreoffice-page-task9
  .libreoffice-task3-page.calc-trainer-page
  .task-solve__left:not(.task-solve__left--dual)
  > #sandbox-view,
body.libreoffice-page-hf-task-list.libreoffice-page-task9
  .libreoffice-task3-page.calc-trainer-page
  .task-solve__left:not(.task-solve__left--dual)
  > .calc-widget--libreoffice-sheet {
  flex: 1 1 0;
  min-height: 0 !important;
  height: auto;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  align-self: stretch;
  width: 100%;
  box-sizing: border-box;
}

body.libreoffice-page-hf-task-list.libreoffice-page-task9
  .libreoffice-task3-page.calc-trainer-page
  .calc-widget--libreoffice-sheet
  > .libreoffice-sheet-calc-container.univer-calc--restored {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  align-self: stretch !important;
  flex: 1 1 auto;
  min-height: 0;
  height: 100%;
}

.hf-sheet-dual-trainer__panel {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  min-height: 0;
  min-width: 0;
}

.hf-sheet-dual-trainer__panel--calc {
  z-index: 1;
}

.hf-sheet-dual-trainer__panel--python {
  z-index: 2;
  background: var(--bg, #23282d);
}

body.hf-sheet-engine--python .hf-sheet-dual-trainer__panel--calc {
  visibility: hidden;
  pointer-events: none;
}

body.hf-sheet-engine--calc .hf-sheet-dual-trainer__panel--python {
  visibility: hidden;
  pointer-events: none;
}

.hf-sheet-dual-trainer__panel--calc .calc-widget--libreoffice-sheet {
  flex: 1 1 auto;
  min-height: 0;
  height: 100%;
}

body.libreoffice-page-hf-task-list .hf-sheet-dual-trainer__panel--calc #sandbox-view,
body.libreoffice-page-hf-task-list .hf-sheet-dual-trainer__panel--calc #video-view {
  flex: 1 1 auto;
  min-height: 0;
  display: flex;
  flex-direction: column;
}

body.libreoffice-page-hf-task-list .hf-sheet-dual-trainer__panel--calc {
  display: flex;
  flex-direction: column;
  min-height: 0;
}

body.libreoffice-page-hf-task-list .task-solve__left > #sandbox-view,
body.libreoffice-page-hf-task-list .task-solve__left > #video-view {
  flex: 1 1 auto;
  min-height: 0;
  display: flex;
  flex-direction: column;
}

.hf-sheet-python-panel {
  flex: 1 1 auto;
  min-height: 0;
  height: 100%;
  display: flex;
  flex-direction: column;
}

.hf-sheet-python-panel #sandbox-view,
.hf-sheet-python-panel #video-view {
  flex: 1 1 auto;
  min-height: 0;
  display: flex;
  flex-direction: column;
}

/* Pyodide IDLE: titlebar (развернуть/свернуть/окно), menubar (Run, 🔍±) — не обрезать overflow */
body.libreoffice-page-hf-task-list .task-solve__left--dual .hf-sheet-dual-trainer {
  flex: 1 1 auto;
  min-height: 0;
  height: 100%;
}

body.libreoffice-page-hf-task-list .hf-sheet-python-panel .task-view--sandbox,
body.libreoffice-page-hf-task-list .hf-sheet-python-panel #sandbox-view,
body.libreoffice-page-hf-task-list .hf-sheet-python-panel #video-view,
body.libreoffice-page-hf-task-list .hf-sheet-python-panel #python-sandbox-win-container {
  flex: 1 1 auto;
  min-height: 0;
  display: flex;
  flex-direction: column;
}

body.libreoffice-page-hf-task-list .hf-sheet-python-panel .python-sandbox {
  flex: 1 1 auto;
  min-height: 0;
  min-width: 0;
}

/* min-width: 0 — иначе flex/grid не сужает колонку; 60vw снимается правилом ниже */

body.libreoffice-page-hf-task-list .hf-sheet-python-panel .python-sandbox__split-root,
body.libreoffice-page-hf-task-list .hf-sheet-python-panel .python-sandbox__editor-pane,
body.libreoffice-page-hf-task-list .hf-sheet-python-panel .python-sandbox__editor-wrap {
  flex: 1 1 auto;
  min-height: 0;
}

body.libreoffice-page-hf-task-list .hf-sheet-python-panel .python-sandbox-idle-titlebar,
body.libreoffice-page-hf-task-list .hf-sheet-python-panel .python-sandbox-idle-menubar {
  flex-shrink: 0;
  position: relative;
  z-index: 2;
}

/* Menubar: Run / 🔍± / ▶ всегда справа; File/Edit — горизонтальный скролл */
body.libreoffice-page-hf-task-list .hf-sheet-python-panel .python-sandbox-idle-menubar {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 0.35rem;
  flex-wrap: nowrap;
  overflow: visible;
}

body.libreoffice-page-hf-task-list .hf-sheet-python-panel .python-sandbox-idle-menubar__left {
  min-width: 0;
  overflow-x: auto;
  overflow-y: hidden;
  flex-wrap: nowrap;
  scrollbar-width: thin;
}

body.libreoffice-page-hf-task-list .hf-sheet-python-panel .python-sandbox-idle-menubar__right {
  grid-column: 2;
  margin-left: 0;
  flex-shrink: 0;
  background: var(--idle-chrome-bg, #2b2b2b);
  padding-left: 0.15rem;
}

/* В узкой колонке HF — без декоративных пунктов и дубля Run слева */
body.libreoffice-page-hf-task-list .hf-sheet-python-panel .python-sandbox-idle-menuitem[role="none"],
body.libreoffice-page-hf-task-list .hf-sheet-python-panel .python-sandbox-idle-menuitem--run {
  display: none;
}

/*
 * /task9|26/<slug>/?var=py — сетка до JS colsplit: левая колонка шире (Pyodide chrome).
 * После загрузки libreoffice_univer_shell.js подставляет px из localStorage.
 */
body.neuroege-python-task26-page.hf-sheet-engine--python.libreoffice-page-hf-task-list:not(
    .libreoffice-task9-sheet-maximized
  )
  .libreoffice-task3-page.libreoffice-task9-page.calc-trainer-page.task-solve-page,
body.neuroege-python-task9-page.hf-sheet-engine--python.libreoffice-page-hf-task-list:not(
    .libreoffice-task9-sheet-maximized
  )
  .libreoffice-task3-page.libreoffice-task9-page.calc-trainer-page.task-solve-page {
  grid-template-columns: minmax(200px, 1fr) 6px minmax(440px, 2.2fr);
}

/* /task9|26/<slug>/?var=py — Pyodide на всю левую колонку */
body.neuroege-python-task26-page.hf-sheet-engine--python.libreoffice-page-hf-task-list,
body.neuroege-python-task9-page.hf-sheet-engine--python.libreoffice-page-hf-task-list
  .libreoffice-task3-page.task-solve-page
  .task-solve__left--dual {
  flex: 1 1 auto;
  min-height: 0;
  height: 100%;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}

body.neuroege-python-task26-page.hf-sheet-engine--python.libreoffice-page-hf-task-list
  .hf-sheet-dual-trainer,
body.neuroege-python-task9-page.hf-sheet-engine--python.libreoffice-page-hf-task-list
  .hf-sheet-dual-trainer,
body.neuroege-python-task26-page.hf-sheet-engine--python.libreoffice-page-hf-task-list
  .hf-sheet-dual-trainer__panel--python,
body.neuroege-python-task9-page.hf-sheet-engine--python.libreoffice-page-hf-task-list
  .hf-sheet-dual-trainer__panel--python,
body.neuroege-python-task26-page.hf-sheet-engine--python.libreoffice-page-hf-task-list
  .hf-sheet-python-panel,
body.neuroege-python-task9-page.hf-sheet-engine--python.libreoffice-page-hf-task-list
  .hf-sheet-python-panel {
  flex: 1 1 auto;
  min-height: 0;
  height: 100%;
}

body.neuroege-python-task26-page.hf-sheet-engine--python.libreoffice-page-hf-task-list
  .hf-sheet-python-panel
  #python-sandbox-win-container,
body.neuroege-python-task9-page.hf-sheet-engine--python.libreoffice-page-hf-task-list
  .hf-sheet-python-panel
  #python-sandbox-win-container {
  flex: 1 1 auto;
  min-height: 0;
  height: 100%;
  max-height: none;
}

/*
 * Pyodide: .univer-calc-container.univer-calc--restored → 60vw в univer_calc.css.
 * В колонке task9|26/?var=py ширина = 100% ячейки grid (ресайз разделителя).
 */
body.hf-sheet-engine--python.libreoffice-page-hf-task-list
  .libreoffice-task3-page.task-solve-page
  .task-solve-main,
body.hf-sheet-engine--python.libreoffice-page-hf-task-list
  .libreoffice-task3-page.task-solve-page
  .task-solve__left--dual,
body.hf-sheet-engine--python.libreoffice-page-hf-task-list
  .hf-sheet-dual-trainer,
body.hf-sheet-engine--python.libreoffice-page-hf-task-list
  .hf-sheet-dual-trainer__workspace,
body.hf-sheet-engine--python.libreoffice-page-hf-task-list
  .hf-sheet-dual-trainer__panel--python,
body.hf-sheet-engine--python.libreoffice-page-hf-task-list
  .hf-sheet-python-panel,
body.hf-sheet-engine--python.libreoffice-page-hf-task-list
  .hf-sheet-python-panel
  #sandbox-view {
  min-width: 0;
  max-width: 100%;
  overflow: hidden;
  box-sizing: border-box;
}

body.hf-sheet-engine--python.libreoffice-page-hf-task-list
  .hf-sheet-dual-trainer__panel--calc {
  overflow: hidden;
  clip-path: inset(0);
}

body.hf-sheet-engine--python.libreoffice-page-hf-task-list
  #python-sandbox-win-container.univer-calc-container {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  align-self: stretch !important;
  box-sizing: border-box;
}

body.hf-sheet-engine--python.libreoffice-page-hf-task-list
  .libreoffice-task3-page.task-solve-page
  .task-solve-main {
  position: relative;
  z-index: 1;
  isolation: isolate;
}

body.hf-sheet-engine--python.libreoffice-page-hf-task-list
  .libreoffice-task3-page.task-solve-page
  .task-solve__right {
  z-index: 2;
  min-width: 0;
}

/* В Python-режиме menubar — не скрывать Run слева (task9/26) */
body.neuroege-python-task26-page.hf-sheet-engine--python.libreoffice-page-hf-task-list
  .hf-sheet-python-panel
  .python-sandbox-idle-menuitem--run,
body.neuroege-python-task9-page.hf-sheet-engine--python.libreoffice-page-hf-task-list
  .hf-sheet-python-panel
  .python-sandbox-idle-menuitem--run {
  display: inline-flex;
}

/* Видеоразбор в левой колонке */
body.neuroege-python-task26-page .hf-sheet-python-panel .task-view,
body.neuroege-python-task9-page .hf-sheet-python-panel .task-view {
  display: flex;
  flex-direction: column;
}

body.neuroege-python-task26-page .hf-sheet-python-panel .task-view--sandbox,
body.neuroege-python-task9-page .hf-sheet-python-panel .task-view--sandbox {
  min-height: 0;
}

body.neuroege-python-task26-page .hf-sheet-python-panel .task-view--video,
body.neuroege-python-task9-page .hf-sheet-python-panel .task-view--video {
  min-height: min(55vh, 500px);
  background: #1e2228;
  border-radius: 8px;
  border: 1px solid rgba(255, 255, 255, 0.1);
  overflow: hidden;
}

body.neuroege-python-task26-page .hf-sheet-python-panel .task-view--sandbox[hidden],
body.neuroege-python-task26-page .hf-sheet-python-panel .task-view--video[hidden],
body.neuroege-python-task9-page .hf-sheet-python-panel .task-view--sandbox[hidden],
body.neuroege-python-task9-page .hf-sheet-python-panel .task-view--video[hidden] {
  display: none !important;
}

/* Видеоразбор (task9/26 ?var=py): шапка video-view__actions как на task5 */
body.neuroege-python-task9-page .hf-sheet-python-panel #video-view.task-view--video:not([hidden]),
body.neuroege-python-task26-page .hf-sheet-python-panel #video-view.task-view--video:not([hidden]),
body.libreoffice-page-hf-task-list
  .hf-sheet-dual-trainer__panel--calc
  #video-view.task-view--video:not([hidden]) {
  flex: 1 1 auto;
  min-height: min(55vh, 500px);
  max-height: 100%;
}

body.neuroege-python-task9-page .hf-sheet-python-panel #video-view.task-view--video .video-view__header,
body.neuroege-python-task26-page .hf-sheet-python-panel #video-view.task-view--video .video-view__header,
body.libreoffice-page-hf-task-list
  .hf-sheet-dual-trainer__panel--calc
  #video-view.task-view--video
  .video-view__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  padding: 0.75rem 1rem;
  flex: 0 0 auto;
  flex-shrink: 0;
  position: relative;
  z-index: 2;
  background: rgba(0, 0, 0, 0.45);
  border-bottom: 1px solid rgba(255, 255, 255, 0.12);
}

[data-theme="light"] body.neuroege-python-task9-page .hf-sheet-python-panel .task-view--video,
[data-theme="light"] body.neuroege-python-task26-page .hf-sheet-python-panel .task-view--video,
[data-theme="light"]
  body.libreoffice-page-hf-task-list
  .hf-sheet-dual-trainer__panel--calc
  .task-view--video {
  background: #e8e8ed;
  border-color: rgba(0, 0, 0, 0.1);
}

[data-theme="light"]
  body.neuroege-python-task9-page
  .hf-sheet-python-panel
  #video-view.task-view--video
  .video-view__header,
[data-theme="light"]
  body.neuroege-python-task26-page
  .hf-sheet-python-panel
  #video-view.task-view--video
  .video-view__header,
[data-theme="light"]
  body.libreoffice-page-hf-task-list
  .hf-sheet-dual-trainer__panel--calc
  #video-view.task-view--video
  .video-view__header {
  background: rgba(0, 0, 0, 0.06);
  border-bottom-color: rgba(0, 0, 0, 0.08);
}

body.neuroege-python-task9-page .hf-sheet-python-panel #video-view.task-view--video .video-view__title,
body.neuroege-python-task26-page .hf-sheet-python-panel #video-view.task-view--video .video-view__title,
body.libreoffice-page-hf-task-list
  .hf-sheet-dual-trainer__panel--calc
  #video-view.task-view--video
  .video-view__title {
  font-size: 0.875rem;
  font-weight: 600;
  color: var(--white, #fff);
  margin: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  flex: 1 1 auto;
  min-width: 0;
}

body.neuroege-python-task9-page .hf-sheet-python-panel #video-view.task-view--video .video-view__actions,
body.neuroege-python-task26-page .hf-sheet-python-panel #video-view.task-view--video .video-view__actions,
body.libreoffice-page-hf-task-list
  .hf-sheet-dual-trainer__panel--calc
  #video-view.task-view--video
  .video-view__actions {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  flex-shrink: 0;
}

body.neuroege-python-task9-page .hf-sheet-python-panel #video-view.task-view--video .video-view__btn,
body.neuroege-python-task26-page .hf-sheet-python-panel #video-view.task-view--video .video-view__btn,
body.libreoffice-page-hf-task-list
  .hf-sheet-dual-trainer__panel--calc
  #video-view.task-view--video
  .video-view__btn {
  padding: 0.4rem 0.75rem;
  font-size: 0.8125rem;
  color: rgba(255, 255, 255, 0.88);
  background: transparent;
  border: 1px solid rgba(255, 255, 255, 0.28);
  border-radius: 6px;
  cursor: pointer;
}

body.neuroege-python-task9-page .hf-sheet-python-panel #video-view.task-view--video .video-view__btn:hover,
body.neuroege-python-task26-page .hf-sheet-python-panel #video-view.task-view--video .video-view__btn:hover,
body.libreoffice-page-hf-task-list
  .hf-sheet-dual-trainer__panel--calc
  #video-view.task-view--video
  .video-view__btn:hover {
  color: var(--white, #fff);
  border-color: var(--green, #05b87d);
}

[data-theme="light"]
  body.neuroege-python-task9-page
  .hf-sheet-python-panel
  #video-view.task-view--video
  .video-view__title,
[data-theme="light"]
  body.neuroege-python-task26-page
  .hf-sheet-python-panel
  #video-view.task-view--video
  .video-view__title,
[data-theme="light"]
  body.libreoffice-page-hf-task-list
  .hf-sheet-dual-trainer__panel--calc
  #video-view.task-view--video
  .video-view__title {
  color: #1d1d1f;
}

[data-theme="light"]
  body.neuroege-python-task9-page
  .hf-sheet-python-panel
  #video-view.task-view--video
  .video-view__btn,
[data-theme="light"]
  body.neuroege-python-task26-page
  .hf-sheet-python-panel
  #video-view.task-view--video
  .video-view__btn,
[data-theme="light"]
  body.libreoffice-page-hf-task-list
  .hf-sheet-dual-trainer__panel--calc
  #video-view.task-view--video
  .video-view__btn {
  color: rgba(0, 0, 0, 0.6);
  border-color: rgba(0, 0, 0, 0.2);
}

[data-theme="light"]
  body.neuroege-python-task9-page
  .hf-sheet-python-panel
  #video-view.task-view--video
  .video-view__btn:hover,
[data-theme="light"]
  body.neuroege-python-task26-page
  .hf-sheet-python-panel
  #video-view.task-view--video
  .video-view__btn:hover,
[data-theme="light"]
  body.libreoffice-page-hf-task-list
  .hf-sheet-dual-trainer__panel--calc
  #video-view.task-view--video
  .video-view__btn:hover {
  color: #1d1d1f;
  border-color: var(--green, #05b87d);
}

body.neuroege-python-task9-page .hf-sheet-python-panel #video-view.task-view--video .video-view__player,
body.neuroege-python-task26-page .hf-sheet-python-panel #video-view.task-view--video .video-view__player,
body.libreoffice-page-hf-task-list
  .hf-sheet-dual-trainer__panel--calc
  #video-view.task-view--video
  .video-view__player {
  flex: 1 1 auto;
  min-height: 0;
  width: 100%;
  aspect-ratio: unset;
  background: #000;
}

body.neuroege-python-task9-page .hf-sheet-python-panel #video-view.task-view--video .video-view__iframe,
body.neuroege-python-task26-page .hf-sheet-python-panel #video-view.task-view--video .video-view__iframe,
body.libreoffice-page-hf-task-list
  .hf-sheet-dual-trainer__panel--calc
  #video-view.task-view--video
  .video-view__iframe {
  display: block;
  width: 100%;
  height: 100%;
  border: none;
}
