:root {
  --md-primary-fg-color: #111111;
  --md-accent-fg-color: #22d3c5;
  --nob-doc-accent: #22d3c5;
  --nob-doc-accent-strong: #0d6efd;
  --nob-doc-accent-soft: rgba(34, 211, 197, 0.16);
  --nob-doc-border: rgba(110, 168, 254, 0.18);
  --nob-doc-surface: rgba(255, 255, 255, 0.035);
  --nob-doc-surface-strong: rgba(255, 255, 255, 0.05);
  --nob-doc-shadow: 0 1rem 2rem rgba(0, 0, 0, 0.16);
  --nob-doc-lead: rgba(230, 237, 243, 0.88);
  --md-admonition-icon--screenshot: url("data:image/svg+xml;charset=utf-8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M20 5h-3.17L15 3H9L7.17 5H4c-1.1 0-2 .9-2 2v12c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2zm-8 13c-2.76 0-5-2.24-5-5s2.24-5 5-5 5 2.24 5 5-2.24 5-5 5zm0-8c-1.66 0-3 1.34-3 3s1.34 3 3 3 3-1.34 3-3-1.34-3-3-3z'/></svg>");
}

.md-header {
  border-bottom: 1px solid rgba(110, 168, 254, 0.16);
  background:
    radial-gradient(circle at top right, rgba(13, 110, 253, 0.16), transparent 34%),
    linear-gradient(90deg, rgba(17, 17, 17, 0.98), rgba(17, 17, 17, 0.92));
  backdrop-filter: blur(12px);
}

.md-main {
  background:
    radial-gradient(circle at top right, rgba(13, 110, 253, 0.08), transparent 28%),
    radial-gradient(circle at left 18%, rgba(34, 211, 197, 0.08), transparent 24%);
}

.md-typeset {
  font-size: 0.8rem;
}

.md-typeset h1 {
  position: relative;
  display: flex;
  align-items: center;
  min-height: 3.5rem;
  margin-bottom: 1rem;
  padding-left: 4.2rem;
  letter-spacing: -0.03em;
  color: #f8fbff;
}

.md-typeset h1::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  width: 3rem;
  height: 3rem;
  transform: translateY(-50%);
  background: url("assets/logo.svg") center / contain no-repeat;
  filter: drop-shadow(0 0.7rem 1.2rem rgba(0, 0, 0, 0.22));
}

.md-typeset h1::after {
  content: none;
}

.md-typeset h1 + p {
  max-width: 60rem;
  margin-top: 0.35rem;
  font-size: 1.08rem;
  line-height: 1.75;
  color: var(--nob-doc-lead);
}

.md-typeset h1 + p:has(.doc-kicker) {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.55rem;
  max-width: none;
  margin-bottom: 0.4rem;
  font-size: inherit;
  line-height: inherit;
  color: inherit;
}

.md-typeset h1 + p:has(.module-badge) {
  margin-bottom: 0.4rem;
  font-size: inherit;
  line-height: inherit;
  color: inherit;
}

.md-typeset h1 + p:has(.doc-kicker) + p,
.md-typeset h1 + p:has(.module-badge) + p {
  margin-top: 0;
  font-size: 1.08rem;
  line-height: 1.75;
  color: var(--nob-doc-lead);
}

.md-typeset h2 {
  margin-top: 2.4rem;
  padding-top: 1rem;
  border-top: 1px solid var(--nob-doc-border);
  letter-spacing: -0.02em;
}

.md-typeset h2::before {
  content: "";
  display: inline-block;
  width: 0.56rem;
  height: 0.56rem;
  margin-right: 0.65rem;
  border-radius: 50%;
  vertical-align: 0.08em;
  background: linear-gradient(135deg, var(--nob-doc-accent), var(--nob-doc-accent-strong));
  box-shadow: 0 0 0 0.18rem rgba(34, 211, 197, 0.08);
}

.md-typeset h3,
.md-typeset h4 {
  letter-spacing: -0.01em;
}

.md-typeset hr {
  border-bottom-color: var(--nob-doc-border);
}

.md-typeset a {
  text-decoration-thickness: 0.08em;
  text-underline-offset: 0.14em;
}

.nob-dot {
  display: inline-block;
  width: 0.7rem;
  height: 0.7rem;
  margin-right: 0.5rem;
  border-radius: 50%;
  vertical-align: middle;
  flex-shrink: 0;
  background: linear-gradient(135deg, var(--nob-doc-accent), var(--nob-doc-accent-strong));
  box-shadow: 0 0 0 0.22rem rgba(34, 211, 197, 0.08);
}

.nob-circle {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 3.25rem;
  height: 3.25rem;
  border-radius: 50%;
  border: 3px solid var(--nob-doc-accent);
  color: var(--nob-doc-accent);
  background:
    radial-gradient(circle at 30% 30%, rgba(13, 110, 253, 0.35), transparent 62%),
    rgba(13, 110, 253, 0.08);
  box-shadow: 0 0 0 0.4rem rgba(13, 110, 253, 0.08);
  font-weight: 700;
  font-size: 1.1rem;
  line-height: 1;
}

.doc-kicker {
  display: inline-flex;
  align-items: center;
  gap: 0.42rem;
  padding: 0.28rem 0.82rem;
  border-radius: 999px;
  border: 1px solid var(--nob-doc-border);
  background:
    linear-gradient(135deg, rgba(13, 110, 253, 0.12), rgba(34, 211, 197, 0.08)),
    var(--nob-doc-surface);
  color: #d8efff;
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  line-height: 1.2;
  text-transform: uppercase;
  white-space: nowrap;
}

.doc-kicker .nob-dot {
  width: 0.52rem;
  height: 0.52rem;
  margin-right: 0;
}

.module-badge {
  display: inline-flex;
  align-items: center;
  padding: 0.25em 0.74em;
  border-radius: 999px;
  font-size: 0.72em;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  vertical-align: middle;
  color: #fff;
  line-height: 1.4;
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.14);
}

.module-badge.ct {
  background: linear-gradient(135deg, #1565c0, #0d47a1);
}

.module-badge.dns {
  background: linear-gradient(135deg, #2e7d32, #1b5e20);
}

.module-badge.rdap {
  background: linear-gradient(135deg, #7b1fa2, #4a148c);
}

.module-badge.cert {
  background: linear-gradient(135deg, #ef6c00, #bf360c);
}

.module-badge.reports {
  background: linear-gradient(135deg, #455a64, #263238);
}

.md-typeset dl {
  margin: 1.4rem 0 1.8rem;
}

.md-typeset dl dt {
  display: flex;
  align-items: center;
  gap: 0.45rem;
  margin-top: 1.05rem;
  color: #f8fbff;
  font-weight: 700;
}

.md-typeset dl dd {
  margin: 0.4rem 0 0 1.25rem;
  padding: 0 0 1rem 1.15rem;
  border-left: 1px solid rgba(34, 211, 197, 0.16);
  color: var(--md-default-fg-color--light);
}

.md-typeset dl dd:last-child {
  padding-bottom: 0.2rem;
}

.md-typeset table:not([class]) {
  border: 1px solid var(--nob-doc-border);
  border-radius: 1rem;
  overflow: hidden;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.035), rgba(255, 255, 255, 0.015));
  box-shadow: var(--nob-doc-shadow);
}

.md-typeset table:not([class]) th {
  background: rgba(13, 110, 253, 0.14);
  color: #f8fbff;
  font-weight: 700;
}

.md-typeset table:not([class]) tr:hover {
  background: rgba(34, 211, 197, 0.04);
}

.md-typeset code {
  border-radius: 0.45rem;
  background-color: rgba(13, 110, 253, 0.12);
}

.md-typeset pre > code {
  background-color: transparent;
}

.md-typeset .admonition,
.md-typeset details {
  border-radius: 1rem;
  box-shadow: var(--nob-doc-shadow);
}

.md-typeset .admonition.screenshot,
.md-typeset details.screenshot {
  border-color: #546e7a;
}

.md-typeset .screenshot > .admonition-title,
.md-typeset .screenshot > summary {
  background-color: rgba(84, 110, 122, 0.12);
  color: #90a4ae;
}

.md-typeset .screenshot > .admonition-title::before,
.md-typeset .screenshot > summary::before {
  background-color: #78909c;
  -webkit-mask-image: var(--md-admonition-icon--screenshot);
  mask-image: var(--md-admonition-icon--screenshot);
}

.md-typeset .screenshot p em {
  color: #78909c;
  font-size: 0.88em;
}

.md-typeset .cel-example {
  border-left: 3px solid var(--nob-doc-accent);
  background: linear-gradient(90deg, rgba(34, 211, 197, 0.08), rgba(13, 110, 253, 0.05));
  padding: 0.4em 0.8em;
  border-radius: 0 0.5rem 0.5rem 0;
  margin: 0.75em 0;
}

.md-typeset .cel-example > p {
  margin: 0;
}

.md-typeset .quota-table th:first-child,
.md-typeset .quota-table td:first-child {
  font-weight: 600;
  white-space: nowrap;
}

.md-typeset td.perm-yes {
  color: #4caf50;
  font-weight: 700;
  text-align: center;
}

.md-typeset td.perm-no {
  color: #777;
  text-align: center;
}

@media screen and (max-width: 44.9375em) {
  .md-typeset h1 {
    min-height: 2.9rem;
    padding-left: 3.4rem;
  }

  .md-typeset h1 + p:has(.doc-kicker) {
    gap: 0.4rem;
  }

  .md-typeset h1::before {
    width: 2.3rem;
    height: 2.3rem;
  }
}
