.oj-submission-detail-row > td {
  background: var(--oj-panel-muted);
}

.oj-recent-submissions-user-col {
  min-width: 110px;
  width: 110px;
}

.oj-submission-id-actions {
  align-items: flex-start;
  display: inline-flex;
  flex-direction: column;
  gap: 0.15rem;
  white-space: nowrap;
}

.oj-submission-submitted-actions {
  align-items: center;
  display: inline-flex;
  flex-direction: column;
  white-space: nowrap;
}

.oj-submission-inline-detail {
  background: var(--oj-panel-muted);
  border-left: 2px solid var(--oj-primary);
}

.oj-code-pre,
.oj-pre {
  border-radius: var(--oj-radius);
}

.oj-code-pre {
  background: var(--oj-code-bg);
  color: var(--oj-code-text);
  overflow-x: auto;
  white-space: pre;
}

/* When highlight.js takes over, its theme owns the code background. */
.oj-code-pre:has(> code) {
  background: transparent;
  overflow: hidden;
  padding: 0;
}

.oj-code-pre > code {
  border-radius: inherit;
  display: block;
  overflow-x: auto;
  padding: 15px;
}

.oj-inline-toggle {
  color: var(--oj-link);
  font-weight: 600;
  padding: 0;
  text-decoration: underline;
  text-underline-offset: 3px;
}

.oj-submission-metric-strip {
  grid-template-columns: repeat(5, minmax(0, 1fr));
}

.oj-status-guide {
  margin: 0 auto;
  max-width: 920px;
}

.oj-editorial-heading {
  padding: 20px 0 26px;
}

.oj-editorial-heading h1 {
  font-size: clamp(30px, 4.5vw, 44px);
  font-weight: 700;
  letter-spacing: -0.03em;
  line-height: 1.1;
  margin-bottom: 14px;
}

.oj-editorial-heading p {
  color: var(--oj-muted);
  font-size: 16px;
  line-height: 1.75;
  margin: 0;
  max-width: 700px;
}

.oj-status-index {
  backdrop-filter: blur(8px);
  background: var(--oj-navbar-bg);
  border-bottom: 1px solid var(--oj-border);
  display: flex;
  flex-wrap: wrap;
  gap: 2px 24px;
  /* 水平 bleed 不可超過 .container 的 12px padding，否則窄視窗會出現水平捲動 */
  margin-inline: -12px;
  padding: 10px 12px;
  position: sticky;
  top: 64px;
  z-index: 10;
}

.oj-status-index a {
  align-items: center;
  color: var(--oj-heading);
  display: inline-flex;
  font-family: var(--oj-font-mono);
  font-size: 13px;
  font-weight: 600;
  min-height: 44px;
  text-decoration-color: transparent;
}

.oj-status-index a:hover,
.oj-status-index a:focus {
  text-decoration-color: currentColor;
}

.oj-status-guide-group {
  display: grid;
  gap: 32px;
  grid-template-columns: minmax(180px, 0.35fr) minmax(0, 0.65fr);
  padding: 38px 0;
}

.oj-status-guide-group + .oj-status-guide-group {
  border-top: 1px solid var(--oj-border);
}

.oj-status-guide-group > header h2 {
  font-size: 21px;
  font-weight: 600;
}

.oj-status-guide-group > header p {
  color: var(--oj-muted);
  font-size: 13px;
  line-height: 1.65;
}

.oj-status-guide-item {
  display: grid;
  gap: 26px;
  grid-template-columns: 88px minmax(0, 1fr);
  padding: 4px 0 28px;
  scroll-margin-top: 140px;
}

.oj-status-guide-item + .oj-status-guide-item {
  border-top: 1px solid var(--oj-border-faint);
  padding-top: 28px;
}

.oj-status-guide-code {
  color: var(--oj-heading);
  font-family: var(--oj-font-mono);
  font-size: 16px;
  font-weight: 700;
}

.oj-status-guide-copy h3 {
  font-size: 19px;
  font-weight: 600;
  margin-bottom: 8px;
}

.oj-status-guide-copy h4 {
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.08em;
  margin: 20px 0 8px;
  text-transform: uppercase;
}

.oj-status-guide-copy p,
.oj-status-guide-copy li {
  color: var(--oj-muted);
  line-height: 1.72;
}

.oj-status-guide-copy ul {
  margin-bottom: 0;
  padding-left: 20px;
}

@media (min-width: 1600px) {
  .oj-submissions-layout {
    left: 50%;
    position: relative;
    transform: translateX(-50%);
    width: min(1500px, calc(100vw - 48px));
  }

  .oj-submissions-layout .oj-table-scroll-lg {
    max-height: min(800px, calc(100vh - 180px));
  }

  .oj-recent-submissions-user-col {
    min-width: 180px;
    width: 180px;
  }
}

@media (max-width: 767.98px) {
  .oj-submission-metric-strip {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .oj-submission-metric-strip .oj-metric:last-child {
    grid-column: 1 / -1;
  }

  .oj-editorial-heading {
    padding: 12px 0 18px;
  }

  /* 手機改單行橫滑，避免 sticky 索引列疊多排吃掉版面 */
  .oj-status-index {
    flex-wrap: nowrap;
    overflow-x: auto;
    scrollbar-width: none;
  }

  .oj-status-index a {
    flex: 0 0 auto;
  }

  .oj-status-guide-group {
    gap: 24px;
    grid-template-columns: 1fr;
    padding: 30px 0;
  }

  .oj-status-guide-item {
    gap: 12px;
    grid-template-columns: 1fr;
  }
}
