:root {
  color-scheme: dark;
  font-family: system-ui, sans-serif;
  background: #111827;
  color: #e5e7eb;
}
body { margin: 0; }
.topbar { display: flex; gap: 1rem; align-items: center; padding: .8rem 1.2rem; background: #1f2937; }
.brand { color: #f9fafb; font-weight: 700; text-decoration: none; }
.nav { display: flex; gap: .8rem; }
.nav a { color: #bfdbfe; text-decoration: none; }
.account { margin-left: auto; color: #cbd5e1; }
main { max-width: 80rem; margin: 2rem auto; padding: 0 1rem; }
.card { background: #1f2937; border: 1px solid #374151; border-radius: .6rem; padding: 1.2rem; margin-bottom: 1rem; }
.narrow { max-width: 34rem; margin-inline: auto; }
label { display: grid; gap: .35rem; margin: 1rem 0; }
input, button, select, textarea { font: inherit; border-radius: .35rem; border: 1px solid #4b5563; padding: .55rem .7rem; }
input, select, textarea { background: #111827; color: #f9fafb; }
button { background: #2563eb; color: white; cursor: pointer; }
.inline-form { display: inline; }
.error { color: #fca5a5; }
.warning { color: #fde68a; }
.success { color: #86efac; }
.danger { background: #991b1b; }
.inline-actions { display: inline-block; margin: .3rem .5rem .3rem 0; }
hr { border: 0; border-top: 1px solid #374151; margin: 1.2rem 0; }
code { background: #111827; padding: .1rem .3rem; border-radius: .25rem; }
.metrics { display: flex; flex-wrap: wrap; gap: .8rem; }
.metrics span { background: #111827; padding: .45rem .7rem; border-radius: .35rem; }
.health-loading { display: flex; align-items: center; gap: .75rem; min-height: 1.5rem; }
.health-spinner {
  width: 1.1rem;
  height: 1.1rem;
  flex: 0 0 auto;
  border: .18rem solid #4b5563;
  border-top-color: #93c5fd;
  border-radius: 50%;
  animation: health-spin .8s linear infinite;
}
@keyframes health-spin { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) {
  .health-spinner { animation: none; border-color: #93c5fd; }
}
.grid-list { display: grid; grid-template-columns: max-content 1fr; gap: .45rem 1rem; }
.grid-list dt { color: #9ca3af; }
.grid-list dd { margin: 0; }
.table-scroll { overflow-x: auto; }
table { border-collapse: collapse; width: 100%; }
th, td { text-align: left; vertical-align: top; border-bottom: 1px solid #374151; padding: .55rem; }
a { color: #93c5fd; }
.attempt { border-top: 1px solid #374151; padding-top: .8rem; margin-top: .8rem; }
.review-report { margin-left: 1rem; }
.markdown { overflow-wrap: anywhere; }
.markdown pre { overflow: auto; background: #111827; padding: .8rem; }
.terminal-card { max-width: none; }
#terminal { height: 70vh; min-height: 24rem; background: #030712; padding: .5rem; }
