:root {
	--table-border:#ddd;
	--table-hover:#eee;
	--text-primary: var(--text1);
}

@media(prefers-color-scheme:dark) {
	:root {
		--table-border:#4b4c4f;
		--table-hover:#313234;
	}
}

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

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

.legal a {
	color:var(--link);
	cursor:pointer;
	font-weight:400;
}
.legal a[href^="#"] {
	color:var(--text-primary);
	text-decoration:none;
	border-bottom:1px solid var(--link);
}
.legal a[href^="mail"],
.legal a.url-link {word-break:break-all;}

.legal a:hover {
	color:var(--link);
	border-bottom-color:transparent;
}
.legal a::after {
	color:var(--link);
	font:var(--fa-font-regular);
}
.legal a[href^="#"]::after {content:' \f06e';display:none;}
.legal a[href^="#"]:hover::after {display:unset;}
.legal a[href^="http"]::after {content:' \f35d';}
.legal a[href^="mail"]::after {content:' \f0e0';}
.legal a[href^="tel"]::after {content:' \f095';}

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

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

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

.legal #change-log time {font-weight:bold;}

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


.legal .table-wrapper {
	max-width:100%;
	overflow-x:auto;
}
.legal table {border-collapse:collapse;text-align:left;cursor:default;}
.legal table i.fa-check {color:green;}
.legal table i.fa-times {color:red;}
.legal th, .legal tr {border-bottom: 1px solid var(--table-border);}
.legal tr:hover {background-color:var(--table-hover);}
.legal th, .legal td {
	padding:12px 12px 12px 0;
	margin:0;
	vertical-align:top;
}
.legal td.status {text-align:center;}
.legal td.data-category {
	font-weight:600;
	min-width:min(calc(50vw - var(--container-padding) * 2), 300px);
}
.legal 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: var(--bg3a9);
  backdrop-filter: blur(1.5px);
  border: 1px solid var(--border);
  border-radius: 5px;
  color: var(--text1);
  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);
}
