/* The parts every screen shares: text, lists, typed items, timelines, key and value tables, the side panel's parts and
   disclosures. */

/* ============ Text ============ */
.lblh {
  margin: 36px 0 10px;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--muted);
}
#view p a:not(.titem):not(:where(.rotor-document *)),
.note a,
.refgo a,
.usedby a,
#side > a:not(.close) {
  color: var(--accent);
  text-decoration-color: color-mix(in srgb, var(--accent) 30%, transparent);
}
#view p a:not(.titem):not(:where(.rotor-document *)):hover,
.note a:hover,
.refgo a:hover {
  color: var(--accent-hover);
  text-decoration-color: currentColor;
}
.sub a,
#view .sub a {
  color: inherit;
  text-decoration-color: var(--field);
}
.sub a:hover,
#view .sub a:hover {
  color: var(--fg);
}
h1.m {
  font-size: 19px;
  letter-spacing: -0.01em;
  overflow-wrap: anywhere;
}
.tlt {
  font-size: 13px;
  color: var(--muted);
}
.schema {
  margin: 32px 0 4px;
  font-size: 13px;
  font-weight: 500;
  color: var(--muted);
  letter-spacing: 0;
}
h1 + .schema {
  margin-top: 20px;
}
.back2 {
  display: block;
  max-width: 100%;
  margin: 0 0 14px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 14px;
  line-height: 1.5;
  color: var(--muted);
  text-decoration: none;
}
#view a.back2 {
  color: var(--muted);
}
.back2 .m {
  font-size: 14px;
}
#view a.back2:hover {
  color: var(--fg);
}

.note .m {
  font-size: 12.5px;
}

/* ============ Lists ============ */
ul.list {
  list-style: none;
  padding: 0;
  margin: 8px 0 0;
}
ul.list > li {
  padding: 16px 0;
  border-bottom: 1px solid var(--rule);
}
ul.list > li:first-child {
  padding-top: 4px;
}
ul.list > li:last-child {
  border-bottom: 0;
}
ul.list > li > div + div,
ul.list > li > .lt + div {
  margin-top: 2px;
}
.lt {
  color: var(--fg);
  font-weight: 600;
  text-decoration: none;
}
a.lt:hover {
  color: var(--accent);
}
.lt.m {
  font-weight: 600;
  font-size: 14px;
}
h2 + ul.list > li:first-child {
  padding-top: 8px;
}

/* ============ Typed items: a kind, then a name that links ============ */
.titem {
  display: flex;
  gap: 10px;
  align-items: baseline;
  color: var(--fg);
  text-decoration: none;
  padding: 4px 0;
  margin: 0;
}
.titem > span:last-child {
  min-width: 0;
  overflow-wrap: anywhere;
}
.titem .kind {
  flex: 0 0 46px;
  font-size: 11px;
  color: var(--muted);
  font-family: var(--mono);
  letter-spacing: 0.01em;
}
a.titem:hover {
  color: var(--fg);
}
a.titem:hover span:last-child {
  color: var(--accent);
}
.older {
  font-size: 12px;
  color: var(--muted);
  border: 1px solid var(--rule-strong);
  border-radius: 4px;
  padding: 0 5px;
  margin-left: 4px;
  white-space: nowrap;
}

/* ============ A timeline beside a row, a table or a page ============ */
ol.tl {
  list-style: none;
  margin: 20px 0 0 4px;
  padding: 0 0 0 20px;
  border-left: 1px solid var(--rule-strong);
}
ol.tl > li {
  position: relative;
  padding: 0 0 18px;
}
ol.tl > li::before {
  content: "";
  box-sizing: border-box;
  position: absolute;
  left: -25px;
  top: 5px;
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: var(--card);
  border: 1.5px solid var(--rule-strong);
}
ol.tl > li.own::before {
  background: var(--fg);
  border-color: var(--fg);
}
.chd {
  font-size: 14px;
  margin-top: 6px;
}
.chd .item {
  margin: 0 0 10px;
  overflow-wrap: anywhere;
}
.chd .item > div + div {
  margin-top: 2px;
}
.chd .src {
  font-size: 13px;
  color: var(--muted);
}
.chd .lbl {
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--muted);
  margin: 10px 0 2px;
}
.chd .foot {
  margin-top: 8px;
  font-size: 13px;
  color: var(--muted);
}
.chd .foot a {
  color: inherit;
}
.chd .more {
  font-size: 13px;
  color: var(--muted);
  padding: 3px 0 0 56px;
}
.was {
  color: var(--muted);
  text-decoration: line-through;
}
.usedby {
  margin: 14px 0 0 24px;
}

/* ============ Key and value tables: JSON values, calls' bodies ============ */
table.jt {
  border-collapse: collapse;
  width: 100%;
  font-size: 14px;
}
table.jt td {
  padding: 7px 16px 7px 0;
  border-top: 1px solid var(--rule);
  border-bottom: 0;
  vertical-align: top;
}
table.jt tr:first-child > td {
  border-top: 0;
}
table.jt td.jkey {
  white-space: nowrap;
  width: 1%;
  color: var(--muted);
}
table.jt td.jkey .m {
  color: var(--muted);
}
table.jt table.jt {
  margin: -7px 0;
}
@media (max-width: 860px) {
  table.jt table.jt td {
    display: block;
    width: auto;
    padding: 0 0 6px;
    border-top: 0;
  }
  table.jt table.jt td.jkey {
    padding-top: 8px;
    padding-bottom: 0;
    white-space: normal;
    overflow-wrap: anywhere;
  }
}
.jstr {
  white-space: pre-wrap;
  overflow-wrap: anywhere;
}
.jtog {
  cursor: pointer;
  color: var(--muted);
  user-select: none;
}
.jtog .chev {
  display: inline-block;
  width: 6px;
  height: 6px;
  border-right: 1.5px solid currentColor;
  border-bottom: 1.5px solid currentColor;
  transform: rotate(-45deg);
  margin: 0 9px 1px 1px;
  transition: transform 0.12s;
}
.jtog.open .chev {
  transform: rotate(45deg);
  margin-bottom: 3px;
}
.jtog:hover {
  color: var(--fg);
}
pre {
  white-space: pre-wrap;
  overflow-wrap: anywhere;
  background: var(--hi);
  border-radius: var(--radius);
  padding: 14px 16px;
  margin: 0;
  font-size: 13px;
  line-height: 1.6;
}

/* ============ The side panel's parts ============ */
.close {
  float: right;
  display: grid;
  place-items: center;
  width: 28px;
  height: 28px;
  margin: -4px -6px 0 0;
  border-radius: 6px;
  text-decoration: none;
  color: var(--muted);
  font-size: 20px;
  line-height: 1;
}
.close:hover {
  background: var(--hi);
  color: var(--fg);
}
.rowh {
  font-size: 17px;
  line-height: 1.4;
  font-weight: 600;
  letter-spacing: -0.005em;
  margin: 0 32px 2px 0;
  overflow-wrap: anywhere;
}
.rowh + .sub {
  margin-bottom: 18px;
}
.cell {
  background: var(--hi);
  border-radius: var(--radius);
  padding: 10px 14px;
  margin: 0 0 16px;
}
.cell > .m {
  font-size: 13px;
  color: var(--muted);
}
.cell > .lastl {
  font-size: 13px;
  color: var(--muted);
}
.cellval {
  font-size: 15px;
  line-height: 1.5;
  margin-top: 2px;
  white-space: pre-wrap;
  word-break: break-word;
}
.cellval .m {
  font-size: 14px;
}
.cellval table.jt {
  white-space: normal;
}
.refgo {
  margin-top: 6px;
  font-size: 15px;
  font-weight: 400;
}
.sans {
  font-family: var(--sans);
  font-size: 13px;
  margin-left: 6px;
}

/* ============ Disclosures ============ */
details.hdrs {
  margin-top: 10px;
  font-size: 13px;
}
details.hdrs > summary {
  cursor: pointer;
  color: var(--muted);
  list-style: none;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 2px 0;
}
details.hdrs > summary::-webkit-details-marker {
  display: none;
}
details.hdrs > summary::before {
  content: "";
  width: 5px;
  height: 5px;
  border-right: 1.5px solid currentColor;
  border-bottom: 1.5px solid currentColor;
  transform: rotate(-45deg);
  transition: transform 0.12s;
}
details.hdrs[open] > summary::before {
  transform: rotate(45deg);
}
details.hdrs > summary:hover {
  color: var(--fg);
}
details.hdrs[open] > summary {
  margin-bottom: 10px;
}
button.link {
  cursor: pointer;
  font-size: inherit;
}

/* ============ Bodies with views to switch between, and JSON values that show more as they're asked ============ */
.body {
  position: relative;
}
.body .views {
  position: absolute;
  right: 0;
  top: -28px;
  font-size: 13px;
}
.body .views button.link {
  text-decoration: none;
  color: var(--muted);
  padding: 2px 0;
}
.body .views button.link:hover {
  color: var(--fg);
}
.body .views button.link.on {
  color: var(--fg);
  font-weight: 500;
  box-shadow: inset 0 -2px 0 var(--accent);
}
tr.jmore td {
  border-top: 1px solid var(--rule);
}
.jmorebtn {
  color: var(--muted);
  font-size: 13px;
}
.jmorebtn:hover {
  color: var(--fg);
}
