:root {
  color-scheme:light;
  --ink:#192a35;
  --muted:#586a76;
  --line:#d8e0e4;
  --blue:#175873;
  --back:#f2f5f6;
  --warn:#8d421b;
  --bad:#9c2635
}
* {
  box-sizing:border-box
}
body {
  margin:0;
  background:var(--back);
  color:var(--ink);
  font:16px/1.6 system-ui,-apple-system,sans-serif
}
header,main,footer {
  max-width:1220px;
  margin:auto;
  padding:24px
}
header {
  display:flex;
  justify-content:space-between;
  gap:20px;
  align-items:center;
  border-bottom:1px solid var(--line)
}
h1 {
  margin:5px 0;
  font-size:30px;
  letter-spacing:-.02em
}
h2 {
  font-size:21px;
  margin:0 0 12px
}
h3 {
  font-size:17px;
  margin:0
}
p {
  margin:8px 0 16px
}
.eyebrow {
  font-size:11px;
  letter-spacing:.16em;
  color:var(--blue);
  font-weight:700
}
.muted,footer {
  color:var(--muted);
  font-size:13px
}
.badge {
  padding:5px 12px;
  border-radius:20px;
  background:#e0edf2;
  font-size:13px;
  white-space:nowrap
}
.panel,.browser {
  background:white;
  border:1px solid var(--line);
  border-radius:12px;
  padding:24px;
  margin:20px 0;
  box-shadow:0 2px 5px #13212e04
}
.narrow {
  max-width:460px;
  margin:40px auto
}
nav {
  display:flex;
  flex-wrap:wrap;
  gap:10px
}
button {
  background:var(--blue);
  color:white;
  padding:10px 16px;
  border:0;
  border-radius:6px;
  font:inherit;
  font-size:14px;
  cursor:pointer
}
button.secondary {
  color:var(--blue);
  background:#e4edf1
}
button:disabled {
  opacity:.5;
  cursor:wait
}
input,select,textarea {
  display:block;
  width:100%;
  font:inherit;
  padding:9px;
  border:1px solid #a7b8c3;
  border-radius:6px;
  background:white;
  color:var(--ink)
}
label {
  display:block;
  font-size:14px;
  margin-bottom:12px
}
textarea {
  min-height:70px
}
button:focus-visible,input:focus,select:focus,textarea:focus {
  outline:3px solid #8bc1d8;
  outline-offset:2px
}
#notice:not(:empty) {
  margin:16px 0;
  padding:12px 16px;
  background:#fff1e8;
  border-left:4px solid var(--warn);
  white-space:pre-wrap
}
#notice.error {
  color:var(--bad);
  border-color:var(--bad);
  background:#fff0f1
}
.browser-title {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px
}
.metrics {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
  margin:18px 0
}
.metric {
  background:var(--back);
  padding:13px;
  border-radius:8px
}
.metric strong {
  display:block;
  font-size:26px;
  line-height:1.3
}
.metric span {
  font-size:12px;
  color:var(--muted)
}
.warning {
  color:var(--warn);
  background:#fff6ed;
  border-radius:6px;
  padding:10px
}
.table-wrap {
  overflow:auto
}
table {
  border-collapse:collapse;
  width:100%;
  font-size:13px;
  text-align:left
}
th,td {
  padding:10px;
  border-bottom:1px solid var(--line);
  vertical-align:top
}
th {
  color:var(--muted);
  font-weight:500;
  white-space:nowrap
}
td small {
  display:block;
  color:var(--muted);
  max-width:270px;
  overflow-wrap:anywhere
}
details {
  border:1px solid var(--line);
  border-radius:8px;
  padding:13px;
  margin:12px 0
}
summary {
  cursor:pointer;
  font-weight:600
}
details>form,details>pre {
  margin-top:16px
}
.forms {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:0 18px;
  align-items:start
}
pre {
  font-size:12px;
  white-space:pre-wrap;
  overflow-wrap:anywhere;
  max-height:520px;
  overflow:auto;
  background:#f4f6f7;
  border-radius:6px;
  padding:15px
}
a {
  color:var(--blue)
}
[hidden] {
  display:none!important
}
@media(max-width:720px) {
  header,main,footer {
    padding:16px
  }
  header {
    align-items:flex-start
  }
  h1 {
    font-size:25px
  }
  .panel,.browser {
    padding:17px
  }
  .metrics {
    grid-template-columns:repeat(2,minmax(0,1fr))
  }
  .forms {
    grid-template-columns:1fr
  }
  .badge {
    white-space:normal
  }
  th,td {
    padding:8px
  }
}
