:root {
  --font-size: 14px;
  --line-height: 1.4;
  --half-line-height: calc(var(--line-height) * var(--font-size) / 2);
  --half-line-height: round(calc(var(--line-height) * var(--font-size) / 2), 1px);

  --primary-bg-color: hsl(0 0% 98.8%);
  --secondary-bg-color: hsl(0 0% 99.6%);
  --font-color: hsl(0 0% 7%);
  --subtitle-color: hsl(0 1% 32%);
  --accent-color: hsl(221 93% 47%);
  --link-visited-color: hsl(271 68% 32%);

  --passed-color: hsl(120 100% 16%);
  --failed-color: hsl(0 100% 31%);
  --unknown-color: hsl(300 100% 27%);
  --skipped-color: hsl(0 0% 30%);
  --broken-color: hsl(39 100% 21%);
  --manual-color: hsl(80 100% 17%);

  --transparent-color: hsl(0 0% 0% / 0%);
  --color-cell-color: hsl(0 0% 95%);
  --button-disabled-color: hsl(0 0% 5% / 0.3);

  --header-height: 70px;
  --retry-padding: 10px;
  --test-details-padding: 10px;
  --main-radius: 3px;
  --item-bg-color: hsl(0 0% 63% / 0.07);
  --failed-status-bg-color: hsl(0 100% 63% / 0.07);
  --step-panel-bg-color: hsl(0 0% 89%);
  --item-hover-bg-color: hsl(215 98% 61% /0.15);

  --drag-container-width: 8px;
  --drag-container-color: hsl(0 0% 60%);
  --drag-container-bg-color: hsl(0 0% 83%);

  --main-params-color: hsl(0 0% 30%);
  --tests-counters-by-status-cell-bg-color: var(--primary-bg-color);
  --failed-line-color: hsl(0 100% 35%);
  --failed-text-color: hsl(4, 64%, 23%);
}

@media (prefers-color-scheme: dark) {
  :root {
    --primary-bg-color: hsl(240 8.77% 11.18%);
    --secondary-bg-color: hsl(240 5.56% 14.12%);
    --font-color: hsl(0 0% 100% / 0.75);
    --subtitle-color: hsl(0 0% 66%);
    --accent-color: hsl(221 91% 75%);
    --drag-container-color: hsl(0 0% 75%);
    --drag-container-bg-color: hsl(0 0% 32%);
    --step-panel-bg-color: hsl(210 12% 16%);
    --button-disabled-color: hsl(0 0% 60% / 0.3);
    --link-visited-color: hsl(271 69% 76%);

    --passed-color: hsl(120 100% 41%);
    --failed-color: hsl(0 100% 76%);
    --unknown-color: hsl(300 100% 80%);
    --skipped-color: hsl(0 0% 70%);
    --broken-color: hsl(39 100% 50%);
    --manual-color: hsl(80 100% 36%);

    --main-params-color: hsl(0 0% 65%);
    --failed-line-color: hsl(0 100% 74%);
    --failed-text-color: var(--font-color);
    --color-cell-color: hsl(0 0% 7%);
  }

  .logo > svg *[fill='#084EE8'] {
    fill: hsl(220 93% 56%);
  }
  .logo > svg *[fill='#000'] {
    fill: hsl(0 0% 65%);
  }
}
body {
  display: grid;
  grid-template-areas: 'header' 'column-1' 'main';
  grid-template-rows: auto auto 1fr;
  grid-template-columns: 1fr;
  margin: 0;
  padding: 0;
  width: 100%;
  min-height: 100vh;
  font-family: system-ui;
  font-size: var(--font-size);
  line-height: var(--line-height);
  color: var(--font-color);
  background-color: var(--primary-bg-color);
}
body:has(dialog[open]) {
  overflow: hidden;
}
button,
button:focus,
button:active,
button:hover {
  box-sizing: border-box;
  border: none;
  font-family: system-ui;
  cursor: pointer;
  background-color: transparent;
  background: none;
  user-select: text;
}
button:disabled {
  color: var(--button-disabled-color);
  cursor: not-allowed;
}
a,
a:hover,
a:active,
a:focus {
  color: var(--accent-color);
}
a:visited {
  color: var(--link-visited-color);
}
.errors,
.warnings {
  padding: 2px var(--retry-padding);
  overflow-wrap: break-word;
}
.errors__error {
  margin: 4px 0;
  color: var(--failed-color);
}
.warnings__error {
  margin: 4px 0;
  color: var(--broken-color);
}
.header {
  grid-area: header;
  display: flex;
  justify-content: flex-start;
  margin: 0;
  padding: 4px 14px;
  box-sizing: border-box;
}
.logo {
  display: block;
  width: 100px;
  height: auto;
}
.column-1 {
  grid-area: column-1;
  width: 100vw;
}
.header,
.column-1 {
  border-bottom: 1px solid var(--drag-container-bg-color);
}
.retry-links {
  display: flex;
  flex-direction: row;
  max-width: 100vw;
  overflow-x: scroll;
}
.retry-link {
  padding: 14px;
  box-sizing: border-box;
  flex-shrink: 0;
  font-size: 16px;
  color: var(--font-color);
  text-align: left;
  transition: all 0.3s ease;
  white-space: nowrap;
  text-decoration: none;
  border: none;
}
.retry-link[aria-current='true'] {
  box-shadow: 0 -3px 0 0 var(--accent-color) inset;
  border-radius: inherit;
  background: var(--item-bg-color);
}
.main {
  overflow: hidden;
  contain: layout;
  container-type: inline-size;
  grid-area: main;
  min-width: 0;
  display: flex;
  flex-direction: column;
}
.column-1 {
  width: 100%;
}
.column-2 {
  flex-basis: auto;
}
.column-2,
.column-3 {
  min-width: 180px;
  padding-bottom: 25px;
}
.column-1,
.column-2 {
  contain: layout paint;
}
.column-1,
.column-2,
.column-3 {
  height: auto;
  box-sizing: border-box;
}
.retry__title {
  margin: 0;
  padding: 14px var(--retry-padding) 10px;
  font-size: 22px;
  font-weight: normal;
}
.retry__date {
  margin: 0 0 15px 0;
  padding: 0 var(--retry-padding);
  color: var(--subtitle-color);
}
.color-cell {
  padding: 2px 4px;
  border-radius: var(--main-radius);
  white-space: nowrap;
  font-size: 14px;
  color: var(--color-cell-color);
}
.color-cell_type_tag {
  background-color: var(--accent-color);
}
.tests-counters-by-status {
  display: flex;
  gap: 2px;
  flex-grow: 1;
  flex-shrink: 0;
  justify-content: flex-end;
  align-items: flex-start;
}
.tests-counters-by-status__cell {
  padding: 2px;
  display: flex;
  gap: 2px;
  border-radius: 20px;
  white-space: nowrap;
  align-items: center;
  transition: transform 0.15s ease-in;
  font-size: 11px;
  line-height: 11px;
  color: var(--font-color);
}
.step__head::before,
.tests-directory__title::before,
.test-link::before,
.tests-counters-by-status__cell::before {
  --offset: 0px;
  --icon-size-without-offset: calc(var(--icon-size) - 2 * var(--offset) - 2 * var(--border-width));

  content: '';
  width: var(--icon-size-without-offset);
  height: var(--icon-size-without-offset);
  margin: 0 calc(var(--offset) + var(--border-width));
  flex-shrink: 0;
  display: block;
  box-sizing: border-box;
  border-radius: 50%;
  outline: var(--border-width) solid;
  outline-offset: var(--offset);
  background-clip: content-box;
  background-position: 50% 50%;
  background-repeat: no-repeat;
  overflow: hidden;
}
.step__head::before,
.test-link::before {
  --border-width: 0px;
  --icon-size: 12px;
  --icon-line-width: 2px;

  font-weight: bold;
  transition: transform 0.15s ease-in;
}
.tests-counters-by-status__cell::before {
  --icon-size: 12px;
  --offset: 2px;
  --border-width: 1px;
  --icon-line-width: 1px;

  margin: calc(var(--offset) + var(--border-width));
  opacity: 0.7;
}
.tests-counters-by-status__cell:hover {
  position: relative;
  background-color: var(--tests-counters-by-status-cell-bg-color);
  transform: translate(-25%, 0px) scale(1.75);
  z-index: 12;
}
.retry-link,
.test-link,
.tests-directory__title,
.step__head {
  border-radius: var(--main-radius);
}
.test-link[data-status='passed']::before,
.tests-counters-by-status__cell[data-status='passed']::before,
.step[data-status='passed'] > .step__details > .step__head::before,
.step[data-status='passed'] > .step__head::before {
  color: var(--passed-color);
  background-image:
    linear-gradient(var(--transparent-color) calc(100% - var(--icon-line-width)), currentColor 0),
    linear-gradient(
      90deg,
      var(--transparent-color) calc(100% - var(--icon-line-width)),
      currentColor 0
    );
  background-size: 37% 70%;
  rotate: 45deg;
}
.test-link[data-status='passed']::before,
.step[data-status='passed'] > .step__details > .step__head::before,
.step[data-status='passed'] > .step__head::before {
  border-bottom-right-radius: 0px;
  background-size: 56% 100%;
  translate: 0 -15%;
}
.test-link[data-status='failed']::before,
.tests-counters-by-status__cell[data-status='failed']::before,
.step[data-status='failed'] > .step__details > .step__head::before,
.step[data-status='failed'] > .step__head::before {
  color: var(--failed-color);
  background-image:
    linear-gradient(
      45deg,
      var(--transparent-color) calc(50% - var(--icon-line-width) / 2),
      currentColor 0 calc(50% + var(--icon-line-width) / 2),
      var(--transparent-color) 0
    ),
    linear-gradient(
      135deg,
      var(--transparent-color) calc(50% - var(--icon-line-width) / 2),
      currentColor 0 calc(50% + var(--icon-line-width) / 2),
      var(--transparent-color) 0
    );
}
.test-link[data-status='broken']::before,
.tests-counters-by-status__cell[data-status='broken']::before {
  --border-width: 1px;
  --offset: 0px;

  border-radius: 50%;
  color: var(--broken-color);
  background-image: linear-gradient(
    135deg,
    var(--transparent-color) calc(50% - var(--icon-line-width) / 2),
    currentColor 0 calc(50% + var(--icon-line-width) / 2),
    var(--transparent-color) 0
  );
}
.test-link[data-status='skipped']::before,
.tests-counters-by-status__cell[data-status='skipped']::before {
  color: var(--skipped-color);
}
.test-link[data-status='skipped']::before,
.tests-counters-by-status__cell[data-status='skipped']::before,
.tests-directory[open] > .tests-directory__title::before {
  background-image: linear-gradient(
    var(--transparent-color) calc(50% - var(--icon-line-width) / 2),
    currentColor 0 calc(50% + var(--icon-line-width) / 2),
    var(--transparent-color) 0
  );
}
.test-link[data-status='unknown']::before,
.tests-counters-by-status__cell[data-status='unknown']::before {
  content: '?';
  display: flex;
  justify-content: center;
  align-items: center;
  color: var(--unknown-color);
}
.test-link[data-status='manual']::before {
  --offset: 0px;
}
.tests-counters-by-status__cell[data-status='passed']::before,
.tests-counters-by-status__cell[data-status='unknown']::before,
.tests-counters-by-status__cell[data-status='manual']::before {
  --offset: 1px;
}
.test-link[data-status='manual']::before,
.tests-counters-by-status__cell[data-status='manual']::before {
  color: var(--manual-color);
  background:
    linear-gradient(
      var(--transparent-color) calc(50% - var(--icon-line-width) / 2),
      currentColor 0 calc(50% + var(--icon-line-width) / 2),
      var(--transparent-color) 0
    ),
    linear-gradient(
      90deg,
      var(--transparent-color) calc(50% - var(--icon-line-width) / 2),
      currentColor 0 calc(50% + var(--icon-line-width) / 2),
      var(--transparent-color) 0
    ),
    linear-gradient(
        90deg,
        currentColor calc(var(--icon-line-width) + 8%),
        var(--transparent-color) 0
      )
      0px 60% / 100% 46%,
    linear-gradient(currentColor calc(var(--icon-line-width) + 8%), var(--transparent-color) 0) 60%
      0px / 46% 100%;
  background-repeat: no-repeat;
  rotate: 45deg;
}
.tests-counters-by-status__cell:hover::before {
  opacity: 1;
}
.color-cell[data-status='passed'] {
  background-color: var(--passed-color);
}
.color-cell[data-status='manual'] {
  background-color: var(--manual-color);
}
.color-cell[data-status='skipped'] {
  background-color: var(--skipped-color);
}
.color-cell[data-status='failed'] {
  background-color: var(--failed-color);
}
.color-cell[data-status='broken'] {
  background-color: var(--broken-color);
}
.color-cell[data-status='unknown'] {
  background-color: var(--unknown-color);
}
.retry-link,
.test-link,
.test-tabs__button {
  min-height: 42px;
}
.test-details__path {
  margin: 0;
  padding: var(--test-details-padding);
  font-size: 18px;
  color: var(--subtitle-color);
  overflow-wrap: break-word;
}
.test-details__title {
  margin: 0;
  padding: var(--test-details-padding);
  font-size: 18px;
  line-height: 24px;
  font-weight: 400;
  overflow-wrap: break-word;
}
.test-details__title .color-cell {
  margin-right: 10px;
  position: relative;
  font-size: 16px;
}
.test-tabs {
  position: relative;
  display: flex;
  background-color: var(--secondary-bg-color);
  white-space: nowrap;
  scroll-snap-type: x mandatory;
  overflow-x: auto;
}
.test-tabs__button {
  position: relative;
  padding: 11px calc(var(--test-details-padding) + 4px) 14px;
  width: 100px;
  border: none;
  font-size: 16px;
  color: var(--font-color);
  transition: all 0.3s ease;
  text-transform: uppercase;
  scroll-snap-align: start;
}
.test-tabs__button[aria-selected='true']::after {
  content: '';
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  width: 100px;
  height: 3px;
  background-color: var(--accent-color);
  transition: transform 0.2s ease 0s;
  transform-origin: 0px 0px;
}
.test-tabs__button,
.test-tabs__button:focus,
.test-tabs__button:active,
.test-tabs__button:hover {
  background-color: var(--secondary-bg-color);
}
.test-tabs__button:not(:disabled):hover::before,
.test-tabs__button:not(:disabled):focus::before,
.test-tabs__button:not(:disabled):active::before {
  content: '';
  position: absolute;
  top: 7px;
  left: var(--test-details-padding);
  right: var(--test-details-padding);
  bottom: 10px;
  border: 2px solid var(--accent-color);
  border-radius: var(--main-radius);
}
.test-tabs__button[aria-selected='true'],
.test-tabs__button[aria-selected='true']:hover,
.test-tabs__button[aria-selected='true']:active,
.test-tabs__button[aria-selected='true']:focus {
  position: relative;
  color: var(--accent-color);
  cursor: default;
}
.drag-container {
  display: none;
}
.test-error {
  box-sizing: border-box;
  margin: 0 var(--test-details-padding);
  padding: var(--test-details-padding);
  border: 1px solid hsl(0 100% 35% / 0.3);
  border-left: 4px solid var(--failed-line-color);
  border-radius: var(--main-radius);
  font-family: ui-monospace, SFMono-Regular, Consolas, monospace;
  color: var(--failed-text-color);
  background-color: var(--failed-status-bg-color);
}
.test-error__content {
  overflow: auto;
  scrollbar-gutter: stable;
  white-space: pre;
  max-width: 100%;
  max-height: 800px;
}
.empty-state {
  padding: var(--test-details-padding);
}
.test-details__retry-title + .empty-state {
  padding-top: 0;
}
.test-details__retry-title {
  margin: 0 0 10px 0;
  padding: 15px var(--test-details-padding) 0;
  font-size: 20px;
  font-weight: normal;
}
.test-details__retry-title + .test-description {
  padding-top: 0;
}
.test-description {
  margin: 0 0 15px 0;
  padding: 15px var(--test-details-padding) 0;
}
.test-description__term {
  display: inline-block;
  color: var(--subtitle-color);
}
.test-description__term::after {
  content: ':';
}
.test-description__definition {
  margin: 0;
  display: inline;
  overflow-wrap: break-word;
}
.test-description__definition::after {
  margin: 0 0 7px 0;
  display: block;
  content: '';
}
.test-description__definition .color-cell {
  font-size: 12px;
  font-weight: normal;
}
.test-description__definition .color-cell:not(:last-child) {
  margin: 0 5px 0 0;
}
.steps-group {
  --horizontal-level-offset: clamp(14px, 2.5cqw, 25px);
  --vertical-level-offset: 10px;
  --popover-button-width: 30px;
  --timeline-width: 3px;
  --timeline-point-diameter: 9px;
  --timeline-border-radius: 7px;
  --timeline-top-offset: calc(var(--step-head-padding-top-bottom) + var(--half-line-height));
  --timeline-left-offset: 15px;
  --timeline-color: hsl(0 0% 45%);
  --focus-line-color: hsl(0 0% 64%);
  --icon-size: 13px;
  --step-head-margin-right: var(--test-link-margin-left-right, 3px);
  --step-head-padding-top-bottom: var(--test-link-padding-top-bottom, 8px);
  --step-head-padding-left-right: var(--test-link-padding-left-right, 10px);
  --timeline-horizontal-line-width: 20px;
  --details-open-summary-margin-bottom: 15px;
  --timeline-border-bottom-left-radius: var(--timeline-border-radius);
  --timeline-bend-top-left-border-width: 0 0 var(--timeline-width) var(--timeline-width);
  --timeline-bend-top-right-border-width: var(--timeline-width) var(--timeline-width) 0 0;
  --timeline-before-box-shadow: 0 calc(-1 * var(--timeline-border-radius)) 0 0
    var(--primary-bg-color);

  position: relative;
  padding-left: 0;
  contain: layout paint;
  overflow: hidden;
  background: var(--primary-bg-color);
}
.steps-group:not(.steps-group .steps-group) {
  container-type: inline-size;
}
.step {
  --level: 0;
  --icon-margin-right: 7px;
  --arrow-color: hsl(0 0% 32%);

  position: relative;
  box-sizing: border-box;
  min-height: 38px;
  padding-left: var(--popover-button-width);
  padding-bottom: 1px;
  list-style-type: none;
}
.step__head {
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: 5px;
  box-sizing: border-box;
  min-width: 0;
  min-height: 38px;
  margin: 0 var(--step-head-margin-right) 0 0;
  padding: var(--step-head-padding-top-bottom) var(--step-head-padding-left-right);
  font-size: var(--font-size);
  line-height: var(--line-height);
}
.step__head,
.test-link,
.test-link:focus,
.test-link:active,
.test-link:hover,
.tests-directory__title {
  background-color: var(--item-bg-color);
}
.step__details > .step__head > .step__name::before {
  content: '';
  position: absolute;
  border-width: 6px 0 6px var(--arrow-width);
  border-style: solid;
  border-color: transparent;
  border-left-color: var(--arrow-color);
  background: none;
  transform: translate(
    calc(-1 * calc(var(--arrow-width) + 5px)),
    calc(var(--half-line-height) - 50%)
  );
  transition: transform 0.3s ease;

  left: 0;
  top: var(--half-line-height);
  transform: translate(50%, -50%);
}
.step__details[open] > .step__head > .step__name::before {
  transform: rotate(90deg) translate(-75%, -25%);
}
.tests-directory__title::-webkit-details-marker,
.step__details > .step__head::-webkit-details-marker,
.step-attachment__title::-webkit-details-marker {
  display: none;
}
.step-attachment {
  translate: 0px -10px;
}
.step-attachment[open]:not(:last-child) {
  margin-bottom: 10px;
}
.step-attachment[open]:has(+ .steps-group) {
  margin-bottom: 0;
}
.step-attachment__title {
  padding: 3px 7px;
  display: inline-flex;
  gap: 5px;
  align-items: center;
  border-radius: var(--main-radius);
  font-size: 12px;
  cursor: pointer;
}
.step-attachment__title::before {
  content: '';
  display: block;
  width: 7px;
  height: 7px;
  flex-shrink: 0;
  border-right: 1px solid var(--font-color);
  border-top: 1px solid var(--font-color);
  background: none;
  scale: 0.8;
  transform: rotate(45deg);
  transition: transform 0.3s ease;
}
.step-attachment[open] > .step-attachment__title::before {
  transform: rotate(135deg) translateX(-50%);
}
.step__code {
  margin: 0 var(--step-head-margin-right) 0 0;
  padding: 10px var(--test-details-padding);
  box-sizing: border-box;
  border-radius: var(--main-radius);
  background-color: var(--step-panel-bg-color);
  overflow: auto;
}
.tests-directory__name,
.step__name {
  overflow-wrap: break-word;
  overflow: hidden;
}
.step__name {
  --arrow-width: 7px;

  position: relative;
  margin: 0;
  grid-column: 1/-1;
  grid-row: 2;
  font-weight: normal;
  text-align: left;
}
.step__details > .step__head > .step__name {
  padding-left: calc(var(--arrow-width) + 8px);
}
.step__duration {
  text-align: right;
  color: var(--subtitle-color);
}
.steps-group .steps-group {
  box-sizing: border-box;
  margin-left: calc(-1 * var(--popover-button-width));
  padding: calc(var(--vertical-level-offset) + var(--timeline-border-radius)) 0
    calc(
      var(--timeline-top-offset) + var(--vertical-level-offset) +
        var(--details-open-summary-margin-bottom) + var(--timeline-border-radius)
    )
    calc(var(--horizontal-level-offset));
}
.step:last-child {
  --level: 1;
}
.step:last-child > .step__details > .steps-group > .step:last-child {
  --level: 2;
}
.step:last-child
  > .step__details
  > .steps-group
  > .step:last-child
  > .step__details
  > .steps-group
  > .step:last-child {
  --level: 3;
}
.step:last-child
  > .step__details
  > .steps-group
  > .step:last-child
  > .step__details
  > .steps-group
  > .step:last-child
  > .step__details
  > .steps-group
  > .step:last-child {
  --level: 4;
}
.step:last-child
  > .step__details
  > .steps-group
  > .step:last-child
  > .step__details
  > .steps-group
  > .step:last-child
  > .step__details
  > .steps-group
  > .step:last-child
  > .step__details
  > .steps-group
  > .step:last-child {
  --level: 5;
}
.step:last-child
  > .step__details
  > .steps-group
  > .step:last-child
  > .step__details
  > .steps-group
  > .step:last-child
  > .step__details
  > .steps-group
  > .step:last-child
  > .step__details
  > .steps-group
  > .step:last-child
  > .step__details
  > .steps-group
  > .step:last-child {
  --level: 6;
}
.step:last-child
  > .step__details
  > .steps-group
  > .step:last-child
  > .step__details
  > .steps-group
  > .step:last-child
  > .step__details
  > .steps-group
  > .step:last-child
  > .step__details
  > .steps-group
  > .step:last-child
  > .step__details
  > .steps-group
  > .step:last-child
  > .step__details
  > .steps-group
  > .step:last-child {
  --level: 7;
}
.step:last-child
  > .step__details
  > .steps-group
  > .step:last-child
  > .step__details
  > .steps-group
  > .step:last-child
  > .step__details
  > .steps-group
  > .step:last-child
  > .step__details
  > .steps-group
  > .step:last-child
  > .step__details
  > .steps-group
  > .step:last-child
  > .step__details
  > .steps-group
  > .step:last-child
  > .step__details
  > .steps-group
  > .step:last-child
  > .step__details
  > .steps-group {
  --timeline-bend-top-left-border-width: 0 var(--timeline-width) 0 0;
  --timeline-bend-top-right-border-width: 0 var(--timeline-width) 0 0;
  --timeline-border-bottom-left-radius: 0;
  --timeline-before-box-shadow: none;

  margin-left: calc(
    -1 * var(--horizontal-level-offset) * (var(--level) + 1) - var(--popover-button-width)
  );
}
.steps-group > .step:last-child > .step__details > .steps-group {
  margin-left: calc(
    -1 * var(--horizontal-level-offset) * var(--level) - var(--popover-button-width)
  );
  padding-left: calc(
    var(--horizontal-level-offset) * (var(--level) + 1) + 0 * var(--popover-button-width)
  );
}
.step:last-child {
  padding-bottom: 0;
}
.steps-group .steps-group > .step:last-child > .step__details > .step__head::after,
.steps-group .steps-group > .step:last-child > .step__head::after,
.steps-group .steps-group > .step:first-child::before {
  box-sizing: content-box;
  width: var(--timeline-border-radius);
  margin-left: calc(-1 * var(--timeline-border-radius));
}
.step__head::after {
  bottom: calc(-1 * var(--vertical-level-offset));
  z-index: 2;
  height: var(--timeline-border-radius);
  border-width: 0 var(--timeline-width) var(--timeline-width) 0;
  border-bottom-right-radius: var(--timeline-border-radius);
  box-shadow: 0 var(--timeline-border-radius) 0 0 var(--primary-bg-color);
}
.steps-group .steps-group > .step:first-child::before {
  top: calc(-1 * var(--vertical-level-offset));
  height: calc(var(--timeline-top-offset) + var(--vertical-level-offset) - var(--timeline-width));
  border-width: var(--timeline-bend-top-right-border-width);
  border-top-right-radius: var(--timeline-border-bottom-left-radius);
  box-shadow: var(--timeline-before-box-shadow);
}
.steps-group:has(> .step:last-child > .step__details[open] > .steps-group) {
  padding-bottom: 0;
}
.steps-group .steps-group::before,
.steps-group .steps-group::after,
.step::after,
.steps-group .steps-group > .step:last-child > .step__details > .step__head::after,
.steps-group .steps-group > .step:last-child > .step__head::after,
.steps-group .steps-group > .step:first-child::before,
.step__popover-button::after {
  content: '';
  position: absolute;
  border-style: solid;
}
.steps-group::before,
.steps-group::after,
.step::before,
.step::after,
.step__head::after,
.step__popover-button::after {
  border-color: var(--timeline-color);
}
.steps-group .steps-group::before {
  top: 0;
  left: calc(var(--timeline-left-offset) + var(--horizontal-level-offset) * var(--level));
  width: var(--horizontal-level-offset);
  height: var(--timeline-border-radius);
  border-width: var(--timeline-bend-top-left-border-width);
  border-bottom-left-radius: var(--timeline-border-bottom-left-radius);
}
.steps-group .steps-group::after {
  width: calc(var(--horizontal-level-offset) * (var(--level) + 1));
  height: calc(
    var(--details-open-summary-margin-bottom) + var(--timeline-top-offset) +
      var(--timeline-border-radius)
  );
  border-width: var(--timeline-width) 0 0 var(--timeline-width);
  border-top-left-radius: var(--timeline-border-radius);
  left: var(--timeline-left-offset);
  bottom: 0;
}
.step__details[open] > .step__head {
  margin-bottom: var(--details-open-summary-margin-bottom);
}
.step__popover-button::after {
  top: var(--timeline-top-offset);
  display: flex;
  box-sizing: border-box;
  aspect-ratio: 1;
  width: var(--timeline-point-diameter);
  border-width: 1px;
  border-radius: 50%;
  background-color: var(--primary-bg-color);
  transform: translate(calc(var(--timeline-left-offset) + (var(--timeline-width) / 2) - 50%), -50%);
}
.step::after,
.step::before,
.step__head::after {
  left: var(--timeline-left-offset);
}
.step::after {
  top: var(--timeline-top-offset);
  bottom: calc(-1 * var(--timeline-top-offset));
  z-index: -1;
  box-sizing: border-box;
  width: calc(var(--timeline-horizontal-line-width) + var(--timeline-width));
  margin-top: 0;
  margin-right: 0;
  border-width: 1px 0 0 var(--timeline-width);
}
.steps-group .steps-group > .step:last-child::after {
  bottom: calc(-1 * var(--vertical-level-offset) + var(--timeline-border-radius));
}
.step:last-child:not(.steps-group .steps-group > .step)::after,
.steps-group:has(> .step:last-child > .step__details[open] > .steps-group)::after {
  display: none;
}
.tests-directory[data-status='failed']::before,
.test-link[data-status='failed']::after,
.test-link[data-status='unknown']::after,
.step[data-status='failed']::after,
.step[data-status='failed'] > .step__details > .step__head::after,
.step[data-status='failed'] + .step::before,
.step[data-status='failed'] > .step__popover-button::after,
.steps-group:has(> .step:last-child[data-status='failed'])::after,
.step[data-status='failed'] > .step__details > .steps-group > .step:first-child::before,
.step[data-status='failed'] > .step__details > .steps-group::before {
  border-color: var(--failed-line-color);
}
.step__popover-button:hover,
.step:has(> .step__popover-button:hover)::after,
.step:has(> .step__popover-button:hover) .steps-group,
.step:has(> .step__popover-button:hover) > .step__details,
.steps-group:has(> .step:last-child > .step__popover-button:hover)::after {
  --timeline-color: hsl(120 100% 30%);
  --failed-line-color: hsl(0 100% 46%);
}
.tests-group {
  --test-link-margin-left-right: 3px;
  --test-link-padding-top-bottom: 8px;
  --test-link-padding-left-right: var(--retry-padding, 10px);
  --icon-margin-right: 7px;
  --icon-size: 15px;
  --line-width: 1px;
  --test-link-half-icon-width: calc((var(--icon-size) - var(--line-width)) / 2);
  --test-link-half-icon-width: round(calc((var(--icon-size) - var(--line-width)) / 2), 1px);
  --tests-group-line-color: hsl(0 0% 64%);
  --horizontal-line-to-icon-width: calc(
    var(--test-link-padding-left-right) + var(--test-link-margin-left-right) + var(--line-width)
  );
  --tests-group-open-margin-bottom: 5px;

  position: relative;
  overflow: hidden;
  container-type: inline-size;
  display: flex;
  flex-direction: column;
  margin-left: calc(var(--horizontal-line-to-icon-width) + var(--test-link-half-icon-width));
}
.tests-group:not(.tests-group .tests-group) {
  margin-left: var(--retry-padding);
}
.tests-directory[open] {
  margin-bottom: var(--tests-group-open-margin-bottom);
}
.tests-group::after,
.tests-directory::before,
.tests-group > .test-link::after {
  content: '';
  display: block;
  position: absolute;
  left: 0;
  width: var(--horizontal-line-to-icon-width);
}
.tests-group::after {
  top: 0;
  bottom: 0;
  z-index: 100;
}
.tests-directory::before {
  --translate-y: calc(100% - var(--test-link-padding-top-bottom) - var(--half-line-height) - 1px);
}
.tests-group > .test-link::after {
  --translate-y: calc(100% - var(--half-line-height));
  width: calc(var(--horizontal-line-to-icon-width) - 2px);
}
.tests-directory::before,
.test-link::after {
  height: 100%;
  box-sizing: border-box;
  border-width: 1px var(--line-width) 0 0;
  border-style: solid;
  border-color: var(--tests-group-line-color);
  transform: rotate(180deg) translate(0, var(--translate-y));
  z-index: 3;
}
.tests-directory:last-child::before,
.test-link:last-child::after {
  border-top-right-radius: var(--main-radius);
}
.tests-directory[data-status='failed']::before,
.test-link[data-status='failed']::after,
.test-link[data-status='unknown']::after {
  z-index: 50;
}
.test-link,
.tests-directory__title {
  margin: 0 var(--test-link-margin-left-right) 0
    calc(var(--test-link-margin-left-right) + var(--line-width));
  padding: var(--test-link-padding-top-bottom, 8px) var(--test-link-padding-left-right, 10px);
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: 5px;
  font-size: var(--font-size);
  line-height: var(--line-height);
  align-items: flex-start;
  color: var(--font-color);
  box-sizing: border-box;
  text-decoration: none;
}
.test-link {
  margin-bottom: 1px;
  text-align: left;
}
.test-link:visited {
  color: currentColor;
}
.test-link[aria-current='true'] {
  --box-shadow-width: 1px;
  --box-shadow-color: var(--passed-color);

  box-shadow: 0 0 0 var(--box-shadow-width) var(--box-shadow-color) inset;
  cursor: default;
}
.test-link[aria-current='true'][data-status='failed'] {
  --box-shadow-color: var(--failed-color);
}
.test-link[data-status='failed'],
.test-link[data-status='unknown'],
.step[data-status='failed'] > .step__head,
.step[data-status='failed'] > .step__details > .step__head {
  background-color: var(--failed-status-bg-color);
}
.step > .step__details > .step__head:hover,
.step-attachment__title:hover,
.test-link:hover:not([aria-current='true']),
.tests-directory > .tests-directory__title:hover {
  background-color: var(--item-hover-bg-color);
}
.tests-directory__title,
.step__details > .step__head {
  cursor: pointer;
}
.tests-directory__title {
  margin-bottom: 1px;
  position: relative;
}
.step__screenshot-button,
.screenshot-dialog__close {
  --transition-outline-offset: outline-offset 0.05s linear, box-shadow 0.15s ease-in;
}
.step__screenshot-button {
  all: unset;
  display: inline-block;
  max-width: 100%;
  margin: 0 2px;
  padding: 2px;
  overflow: hidden;
  border-radius: var(--main-radius);
  line-height: 0;
  color: var(--font-color);
  outline: 2px solid transparent;
  cursor: pointer;
}
.step__screenshot-button > img {
  display: block;
  max-width: 100%;
}
.step__screenshot-button:hover,
.screenshot-dialog__close:hover {
  box-shadow: 0 0 0 1px currentColor;
}
.tests-directory[open] > .tests-directory__title,
.step-attachment[open] > .step-attachment__title {
  margin-bottom: var(--margin-bottom);
}
.step__head::before,
.tests-directory__title::before,
.test-link::before {
  margin-right: var(--icon-margin-right);
  position: relative;
  top: calc(var(--half-line-height) - var(--icon-size-without-offset) / 2);
}
.tests-directory__title::before {
  --border-width: 1px;
  --offset: 3px;
  --icon-line-width: 1px;

  color: var(--tests-group-line-color);
  border-radius: 1px;
  background-image:
    linear-gradient(
      var(--transparent-color) calc(50% - var(--icon-line-width) / 2),
      currentColor 0 calc(50% + var(--icon-line-width) / 2),
      var(--transparent-color) 0
    ),
    linear-gradient(
      90deg,
      var(--transparent-color) calc(50% - var(--icon-line-width) / 2),
      currentColor 0 calc(50% + var(--icon-line-width) / 2),
      var(--transparent-color) 0
    );
}
.tests-directory[open] > .tests-directory__title::after {
  content: '';
  position: absolute;
  top: calc(var(--half-line-height) + var(--test-link-padding-top-bottom) + var(--icon-size) / 2);
  left: calc(var(--test-link-padding-left-right) + var(--test-link-half-icon-width));
  bottom: calc(-1 * var(--margin-bottom));
  display: block;
  width: 0;
  border-left: var(--line-width) solid var(--tests-group-line-color);
  z-index: 10;
}
.test-link:hover::before,
.step__details > .step__head:hover::before,
.screenshot-dialog__close:hover::before {
  transform: scale(1.25);
}
.test-link__duration {
  text-align: right;
  color: var(--subtitle-color);
  overflow: hidden;
  overflow-wrap: break-word;
}
.test-link__name {
  grid-row: 2;
  grid-column: 1/-1;
  overflow-wrap: break-word;
  overflow: hidden;
  text-align: left;
}
.tests-directory[data-status='failed'] > .tests-directory__title::before,
.tests-directory[data-status='failed'] > .tests-directory__title::after {
  color: var(--failed-line-color);
  border-color: currentColor;
}
.test-link__main-params {
  font-family: monospace;
  overflow-wrap: initial;
  color: var(--main-params-color);
}
.test-link__main-params::after {
  content: '  ';
  white-space: pre;
}
.screenshot-dialog {
  --padding: 10px;
  --close-button-width: 38px;

  max-width: 90vw;
  max-height: 90vh;
  padding: 0;
  border: none;
  overflow: hidden;
  border-radius: var(--main-radius);
  background: var(--secondary-bg-color);
  box-shadow: 0 0 10px rgb(0, 0, 0, 0.3);
}
.screenshot-dialog[open] {
  display: flex;
  flex-direction: column;
}
.screenshot-dialog > h2 {
  min-height: var(--close-button-width);
  margin: 0;
  padding: var(--padding) calc(var(--close-button-width) + 2 * var(--padding)) var(--padding)
    var(--padding);
  border-bottom: 1px solid var(--drag-container-bg-color);
  white-space: nowrap;
  overflow: hidden;
  color: var(--font-color);
  font-weight: normal;
  line-height: var(--close-button-width);
  text-overflow: ellipsis;
}
.screenshot-dialog::backdrop {
  background: rgb(0, 0, 0, 0.5);
}
.screenshot-dialog__main {
  padding: var(--padding);
  overflow-y: auto;
  text-align: center;
}
.screenshot-dialog__close {
  position: absolute;
  top: var(--padding);
  right: var(--padding);
  border: none;
  width: var(--close-button-width);
  aspect-ratio: 1;
  border-radius: 3px;
  color: var(--font-color);
}
.screenshot-dialog__close::before {
  transition: transform 0.15s ease-in;
}
.step__screenshot-button:hover,
.screenshot-dialog__close:hover {
  box-shadow: 0 0 0 1px currentColor;
}
.screenshot-dialog__close::before {
  --icon-line-width: 2px;

  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  width: 18px;
  aspect-ratio: 1;
  background-image:
    linear-gradient(
      45deg,
      var(--transparent-color) calc(50% - var(--icon-line-width) / 2),
      currentColor 0 calc(50% + var(--icon-line-width) / 2),
      var(--transparent-color) 0
    ),
    linear-gradient(
      135deg,
      var(--transparent-color) calc(50% - var(--icon-line-width) / 2),
      currentColor 0 calc(50% + var(--icon-line-width) / 2),
      var(--transparent-color) 0
    );
  translate: -50% -50%;
}
dialog > img {
  width: auto;
  height: auto;
  display: block;
}
[popover] {
  border: none;
  margin-inline: auto;
  inset-inline: 0;
  inset-block-start: 50%;
  transform: translateY(-200%);
  padding: 10px 40px;
  background-color: #ffffff;
  color: #000000;
}
.step__popover-button {
  position: absolute;
  top: 0;
  bottom: 0;
  z-index: 5;
  width: var(--popover-button-width);
  padding: 0;
  border: none;
  border-radius: var(--main-radius);
  background: none;
  translate: -100% 0;
}
.steps-group > .step:not(:last-child):has(> .step__details[open] > .steps-group) {
  margin-bottom: calc(-1 * var(--timeline-top-offset));
  padding-bottom: 0;
}
.steps-group > .step:not(:last-child):has(> .step__details[open] > .steps-group)::after {
  bottom: 0;
}
.step__popover-button:focus,
.step__popover-button:active,
.step__popover-button:hover {
  box-sizing: border-box;
  cursor: pointer;
  background-color: transparent;
  background: none;
  outline: none;
}
button,
.retry-link,
.test-link,
.tests-directory__title,
.step__details > .step__head,
.step-attachment__title,
.step__popover-button:focus-visible {
  --transition-outline-offset: outline-offset 0.05s linear;

  outline: 2px solid transparent;
  transition: var(--transition-outline-offset);
}
.tests-directory__title,
.step__details > .step__head,
.step-attachment__title {
  --margin-bottom: 5px;

  transition:
    margin-bottom 0.1s ease-in,
    var(--transition-outline-offset);
}
button:focus-visible,
.retry-link:focus-visible,
.test-link:focus-visible,
.tests-directory__title:focus-visible,
.step__details > .step__head:focus-visible,
.step-attachment__title:focus-visible,
.step__popover-button:focus-visible {
  outline-color: var(--accent-color);
  outline-offset: -2px;
}
@container (min-width: 350px) {
  .test-link__name,
  .step__name {
    grid-column: 2;
    grid-row: 1;
  }
}

@media (min-width: 390px) {
  body {
    height: 100vh;
  }
  .main {
    flex-direction: row;
  }
  .column-2 {
    overflow-y: auto;
    width: calc(40% - var(--drag-container-width));
  }
  .column-3 {
    overflow-y: auto;
    will-change: transform;
    flex: 1 0 180px;
  }
  .drag-container {
    position: relative;
    display: block;
    width: var(--drag-container-width);
    height: 100%;
    cursor: ew-resize;
    background-color: var(--drag-container-bg-color);
    border-radius: var(--main-radius);
    flex-shrink: 0;
  }
  .drag-container::after {
    content: '';
    width: 2px;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 50%;
    translate: -50% 0;
  }
  .drag-container:hover::after {
    background-color: var(--font-color);
  }
  .test-details__title {
    font-size: 24px;
    line-height: 32px;
  }
  .test-details__title .color-cell {
    font-size: 21px;
  }
  .test-link[aria-current='true'] {
    --offset: calc(-1 * (var(--box-shadow-width) + 1px));

    margin-right: var(--offset);
    padding-right: calc(
      var(--test-link-padding-left-right) + var(--test-link-margin-left-right) - var(--offset)
    );
    border-bottom-right-radius: 0;
    border-top-right-radius: 0;
  }
}
@media (min-width: 769px) {
  body {
    grid-template-areas: 'header header' 'column-1 main';
    grid-template-columns: auto 1fr;
    grid-template-rows: auto 1fr;
  }
  .header {
    padding: 15px;
    grid-column-start: 1;
    grid-column-end: 3;
    height: var(--header-height);
  }
  .column-1 {
    position: sticky;
    top: 0px;
    padding-bottom: 25px;
    width: 120px;
    max-height: 100vh;
    overflow-y: scroll;
  }
  .retry-links,
  .test-details {
    margin-bottom: var(--header-height);
  }
  .retry-links {
    max-width: 100%;
    flex-direction: column;
    overflow-x: hidden;
  }
  .retry-link[aria-current] {
    box-shadow: 3px 0 0 0 var(--accent-color) inset;
  }
}
@media (min-width: 1367px) {
  .retry-link,
  .test-link,
  .tests-directory__title,
  .test-tabs__button {
    min-height: auto;
  }
}
