/* Diagnostics drawer: anchored under the top bar on the right, a sheet on phones. */
.diagnostics-drawer {
  position: fixed;
  z-index: var(--z-drawer);
  top: calc(var(--topbar-height) + var(--space-4));
  right: var(--space-4);
  width: min(520px, calc(100vw - 16px));
  max-height: min(70dvh, 600px);
  display: flex;
  flex-direction: column;
  border: 1px solid var(--color-border);
  border-radius: var(--radius-lg);
  background: var(--color-surface);
  box-shadow: var(--shadow-menu);
  font-size: var(--font-size-sm);
}
.drawer-head {
  flex: none;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-4);
  padding: var(--space-3) var(--space-3) var(--space-3) var(--space-7);
  border-bottom: 1px solid var(--color-border);
}
.drawer-head h2 {
  font: 700 var(--font-size-xl) var(--font-serif);
}
.drawer-head h2:focus {
  outline: none;
}
.drawer-head h2:focus-visible {
  outline: 2px solid var(--color-accent);
  outline-offset: 2px;
}
.diagnostics-content {
  flex: 1;
  min-height: 0;
  overflow: auto;
}
.issue-item {
  display: flex;
  gap: var(--space-5);
  padding: var(--space-6) var(--space-7);
  border-bottom: 1px solid var(--color-divider);
}
.issue-item > .icon {
  width: 16px;
  height: 16px;
  margin-top: 2px;
  color: var(--color-attention);
}
.issue-item > div {
  min-width: 0;
}
.issue-item strong {
  display: block;
  overflow-wrap: anywhere;
  font-weight: 700;
}
.issue-item.error strong {
  color: var(--color-attention);
}
.issue-item span {
  display: block;
  overflow-wrap: anywhere;
}
.diagnostics-content .empty.ok {
  display: flex;
  gap: var(--space-5);
}
.diagnostics-content .empty.ok > .icon {
  width: 18px;
  height: 18px;
  color: var(--color-positive);
}
