:root {
  --ink:#172d40;
  --muted:#4e6070;
  --paper:#f4f6f8;
  --surface:#fff;
  --line:#c9d3dc;
  --accent:#14566e;
  --danger:#963421;
  --focus:#a04d00;
  font-family:system-ui,sans-serif;
  color:var(--ink);
  background:var(--paper);
  line-height:1.6;
}
* {
  box-sizing:border-box;
}
body {
  margin:0;
}
a {
  color:var(--accent);
  text-underline-offset:.2em;
}
header {
  background:var(--surface);
  border-bottom:1px solid var(--line);
  padding:1rem 2rem;
  display:flex;
  gap:1rem;
  justify-content:space-between;
  align-items:center;
  flex-wrap:wrap;
}
.brand {
  font-weight:700;
  text-decoration:none;
}
nav {
  display:flex;
  align-items:center;
  gap:1rem;
  flex-wrap:wrap;
}
nav form {
  margin:0;
}
main {
  max-width:90rem;
  margin:auto;
  padding:1.5rem 2rem 3rem;
}
h1 {
  font-size:1.75rem;
  line-height:1.3;
}
h2 {
  font-size:1.25rem;
}
section {
  background:var(--surface);
  border:1px solid var(--line);
  border-radius:.25rem;
  padding:1.5rem;
  margin:1.5rem 0;
}
.narrow {
  max-width:30rem;
}
form {
  max-width:44rem;
  margin:1rem 0;
}
label {
  display:block;
  margin:.75rem 0;
  font-weight:600;
}
input,textarea,select {
  display:block;
  width:100%;
  font:inherit;
  color:var(--ink);
  background:var(--surface);
  border:1px solid #758795;
  border-radius:.2rem;
  padding:.5rem;
  margin-top:.25rem;
}
textarea {
  resize:vertical;
}
button,.button {
  display:inline-block;
  font:inherit;
  font-weight:600;
  background:var(--accent);
  color:white;
  padding:.5rem 1rem;
  border:1px solid var(--accent);
  border-radius:.2rem;
  cursor:pointer;
  text-decoration:none;
  min-height:2.75rem;
}
.danger {
  background:var(--danger);
  border-color:var(--danger);
}
:focus-visible {
  outline:3px solid var(--focus);
  outline-offset:3px;
}
.filters {
  display:flex;
  gap:1rem;
  align-items:end;
  flex-wrap:wrap;
  max-width:none;
}
.filters label {
  flex:1;
  min-width:12rem;
}
.filters button {
  margin-bottom:.75rem;
}
.table {
  overflow-x:auto;
  border:1px solid var(--line);
  background:var(--surface);
  margin:1rem 0;
}
table {
  border-collapse:collapse;
  min-width:40rem;
  width:100%;
  font-size:.95rem;
}
caption {
  text-align:left;
  padding:.75rem;
  font-weight:600;
}
th,td {
  text-align:left;
  padding:.75rem;
  border-bottom:1px solid var(--line);
  vertical-align:top;
}
th {
  background:#e7edf2;
}
.hash {
  font-family:monospace;
  overflow-wrap:anywhere;
  min-width:12rem;
  max-width:18rem;
}
dl {
  display:grid;
  grid-template-columns:minmax(7rem,1fr) 3fr;
  gap:.5rem;
}
dt {
  font-weight:600;
}
dd {
  margin:0;
  overflow-wrap:anywhere;
}
.comparison {
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(min(100%,24rem),1fr));
  gap:1rem;
}
.error {
  padding:1rem;
  border-left:.25rem solid var(--danger);
  background:#fff1ed;
  color:#762612;
}
footer {
  padding:1rem 2rem;
  color:var(--muted);
  border-top:1px solid var(--line);
  font-size:.875rem;
}
.skip {
  position:absolute;
  top:-5rem;
  left:1rem;
  background:white;
  padding:.5rem;
  z-index:2;
}
.skip:focus {
  top:1rem;
}
@media(max-width:600px) {
  header,main,footer {
    padding-left:1rem;
    padding-right:1rem;
  }
  section {
    padding:1rem;
  }
  h1 {
    font-size:1.5rem;
  }
  dl {
    grid-template-columns:1fr;
  }
  dd {
    margin-bottom:.5rem;
  }
  nav {
    gap:.75rem;
  }
  input,textarea,select {
    max-width:100%;
  }
}
h1 {
  overflow-wrap:anywhere;
}
