.sub-drop {
  padding: 24px 12px;
  border: 1px dashed #aebbdc;
  border-radius: 12px;
  margin-bottom: 20px;
}
.sub-paste {
  margin: 24px auto 0;
  text-align: left;
}
.sub-paste summary {
  cursor: pointer;
  font-size: 14px;
  color: #5068cb;
}
.sub-paste label {
  display: block;
  margin-top: 16px;
  font-weight: 600;
}
.sub-paste textarea {
  width: 100%;
  max-width: 100%;
  padding: 12px;
  margin: 8px 0 12px;
  border: 1px solid #cbd3e4;
  border-radius: 8px;
  font:
    14px/1.6 Consolas,
    monospace;
  resize: vertical;
}
#sub-workspace {
  max-width: 1360px;
  margin: auto;
}
#sub-name {
  overflow-wrap: anywhere;
}
.sub-timeline th {
  padding: 12px 14px;
  background: #eef1fb;
  font:
    600 13px/1.5 Arial,
    sans-serif;
  text-align: left;
  position: sticky;
  top: 0;
}
.sub-timeline table {
  width: 100%;
}
.sub-timeline td:first-child {
  min-width: 45px;
}
.sub-timeline td:nth-child(2),
.sub-timeline td:nth-child(3) {
  white-space: nowrap;
}
.sub-timeline td:last-child {
  min-width: 230px;
}
.sub-output {
  min-height: 320px;
  max-height: 520px;
  overflow: auto;
  white-space: pre;
  padding: 16px;
  border: 1px solid #e5e8f0;
  border-radius: 8px;
  background: #f7f8fb;
  font:
    14px/1.7 Consolas,
    monospace;
}
.sub-loss {
  padding: 12px;
  border: 1px solid #e3ca94;
  background: #fff8e9;
  border-radius: 8px;
  line-height: 1.6;
}
.sub-loss input {
  margin-right: 6px;
}
#sub-result {
  font-size: 14px;
  color: #345d49;
  line-height: 1.6;
}
#sub-status {
  margin-top: 24px;
  font-size: 14px;
}
@media (max-width: 600px) {
  .sub-timeline {
    min-height: 0;
    max-height: 460px;
  }
  .sub-timeline thead {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip-path: inset(50%);
  }
  .sub-timeline tbody {
    display: block;
  }
  .sub-timeline tr {
    display: grid;
    grid-template-columns: 24px minmax(0, 1fr) minmax(0, 1fr);
    margin-bottom: 12px;
    border: 1px solid #dde3ee;
    border-radius: 8px;
    overflow: hidden;
  }
  .sub-timeline td,
  .sub-timeline td:first-child,
  .sub-timeline td:last-child {
    min-width: 0;
    max-width: none;
    padding: 8px 5px;
    border: 0;
  }
  .sub-timeline td:nth-child(2),
  .sub-timeline td:nth-child(3) {
    font-size: 10px;
  }
  .sub-timeline td:nth-child(2)::before,
  .sub-timeline td:nth-child(3)::before {
    display: block;
    color: #606a7d;
    font:
      11px/1.5 Arial,
      sans-serif;
  }
  .sub-timeline td:nth-child(2)::before {
    content: 'Start';
  }
  .sub-timeline td:nth-child(3)::before {
    content: 'End';
  }
  .sub-timeline td:last-child {
    grid-column: 1 / -1;
    padding: 12px;
    border-top: 1px solid #dde3ee;
    font-size: 14px;
  }
}
