:root {
  --link:color(display-p3 0 0.425 1);
  --table-border:#ddd;
  --table-hover:#eee;
}

@media(prefers-color-scheme:dark) {
  :root {
    --link:color(display-p3 1 0.808 0);
    --table-border:#4b4c4f;
    --table-hover:#313234;
  }
}

h2 {
  margin-bottom:8px;
  line-height:1.1em;
}
h3 {
  font-size:1.2em;
  line-height:1.2em;
  margin-top:1.8em;
  margin-bottom:4px;
}
h4 {
  line-height:1.2em;
  margin-top:1.8em;
  margin-bottom:4px;
}
h2+h3, h2+h4, h3+h4 {margin-top:.5em;}

ol, ul {
  margin-top:0;
  margin-bottom:2em;
}
ul {padding-left:1em;}
ol ul, ul ul {padding-left:1.5em;}
li {
  margin-top:0;
  margin-bottom:.4em;
}
p, li {line-height:1.35em;}


article a {
  color:var(--link);
  cursor:pointer;
  font-weight:400;
}
article a[href^="#"] {
  color:var(--text-primary);
  text-decoration:none;
  border-bottom:1px solid var(--link);
}

article a:hover {
  color:var(--link);
  border-bottom-color:transparent;
}
article a::after {
  color:var(--link);
  font:var(--fa-font-regular);
}

#toc a {border:none;}
#toc a::after {display:none;}
#toc li {margin-bottom:0;}

article a[href^="#"]::after {content:' \f06e';display:none;}
article a[href^="#"]:hover::after {display:unset;}
article a[href^="http"]::after {content:' \f35d';}
article a[href^="mail"]::after {content:' \f0e0';}
article a[href^="tel"]::after {content:' \f095';}

article a.perma-link {
  color:var(--text-primary);
  text-decoration:none;
}
article a.perma-link::after {
  content:' \f0c1';
  display:none;
  font:var(--fa-font-solid);
}
article a.perma-link:hover::after {display:unset;}

address {margin-top:1em;word-break:break-all;}
address.inline {display:inline;}

.short-summary {font-style:italic;}
.short-summary::before {
  content:'\f890';
  color:var(--link);
  font:var(--fa-font-solid);
  margin-right:.5em;
}



.table-wrapper {
  max-width:100%;
  overflow-x:auto;
}
table {border-collapse:collapse;text-align:left;cursor:default;}
table i.fa-check {color:green;}
table i.fa-times {color:red;}
th, tr {border-bottom: 1px solid var(--table-border);}
tr:hover {background-color:var(--table-hover);}
th, td {
  padding:12px 12px 12px 0;
  margin:0;
  vertical-align:top;
}
td.status {text-align:center;}
td.data-category {
  font-weight:600;
  min-width:min(calc(50vw - var(--container-padding) * 2), 300px);
}
td.details {min-width:min(calc(100vw - var(--container-padding) * 2), 500px);}

.copy-link {
  cursor: pointer;
  position: relative;
  display: inline-block;
  align-items: center;
}
.copy-bubble {
  background-color: #4caf50;
  border-radius: 5px;
  color: white;
  padding: 5px 10px;
  margin: 0 auto;

  white-space: nowrap;
  transition: opacity 0.2s ease, transform 0.2s ease;
  opacity: 0;
  pointer-events: none;

  width: fit-content;
  position: absolute;
  bottom: 100%;
  left: 0;
  right: 0;
  transform: translateY(14px);
  z-index: 1000;
}
.copy-bubble.show {
  opacity: 1;
  transform: translateY(0);
}
