header:has(.page-toolbar) { padding-block-end: 6px; }
.page-toolbar [hidden] { display: none !important; }
.public-page-toolbar {
  width: min(100% - 2 * clamp(18px, 4vw, 64px), 1240px);
  margin: 0 auto;
  padding-top: 6px;
  border-bottom: 1px solid var(--line);
}
.public-page-toolbar .page-toolbar { justify-content: end; }

.page-toolbar {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 13px;
}
.page-toolbar-copy, .page-toolbar-save {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  min-height: 32px;
  padding: 3px 0;
  border: 0;
  background: transparent;
  color: #244be8;
  font: inherit;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.25;
  white-space: nowrap;
  cursor: pointer;
}
.page-toolbar-copy svg, .page-toolbar-save svg { stroke-width: 2.1; }
.page-toolbar-save svg { fill: #e8edff; }
.page-toolbar-save[aria-pressed=true] svg { fill: #244be8; stroke: #244be8; }
.page-toolbar-pdf, .page-toolbar-social {
  display: inline-flex;
  align-items: center;
  min-height: 32px;
  position: relative;
}
.page-toolbar-pdf { gap: 2px; padding-left: 9px; color: #6543a3; }
.page-toolbar-pdf > span { margin-right: 2px; font-size: 11px; font-weight: 800; letter-spacing: .04em; }
.page-toolbar-pdf button, .page-toolbar-rating button {
  display: grid;
  place-items: center;
  height: 32px;
  padding: 0;
  border: 0;
  background: transparent;
  color: inherit;
  cursor: pointer;
}
.page-toolbar-pdf button { width: 25px; }
.page-toolbar-pdf button svg { padding: 3px; border-radius: 4px; background: #eee9f8; box-sizing: content-box; }
.page-toolbar-social { gap: 3px; padding-left: 10px; }
.page-toolbar-pdf::before, .page-toolbar-social::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  width: 1px;
  height: 24px;
  background: #aeb6c5;
  transform: translateY(-50%);
}
.page-toolbar-social a { display: grid; place-items: center; width: 30px; height: 32px; }
.page-toolbar-social img { display: block; width: 20px; height: 20px; }
.page-toolbar-social a:hover img { opacity: .68; }
.page-toolbar :is(a, button):focus-visible { outline: 3px solid #244be8; outline-offset: 3px; }
.page-toolbar-rating { display: flex; align-items: center; flex-wrap: wrap; gap: 1px; min-height: 32px; }
.page-toolbar-rating button { width: 27px; color: #aa6817; }
.page-toolbar-rating button:disabled { cursor: default; }
.page-toolbar.is-rating-busy .page-toolbar-rating button:disabled { cursor: wait; }
.page-toolbar-rating button svg { fill: #fff3dc; stroke-width: 1.9; }
.page-toolbar-rating button:not(:disabled):hover, .page-toolbar-rating button.is-filled { color: #a85a0e; }
.page-toolbar-rating button.is-filled svg { fill: #d68b26; }
.page-toolbar-rating output { margin-left: 7px; color: #454b59; font-size: 13px; font-weight: 700; white-space: nowrap; }
.page-toolbar-sign-in { margin-inline-start: 7px; color: #244be8; font-size: 13px; font-weight: 700; text-decoration: underline; white-space: nowrap; }
@media (max-width: 800px) {
  .page-toolbar { reading-flow: flex-visual; }
  .page-toolbar-social {
    order: 1;
    flex: 1 0 100%;
    justify-content: flex-end;
    min-height: 44px;
    padding-left: 0;
  }
  .page-toolbar-social::before { display: none; }
}
@media (max-width: 600px) {
  .page-toolbar { gap: 8px; }
  .page-toolbar-pdf { padding-left: 6px; }
  .page-toolbar-pdf button { width: 22px; }
  .page-toolbar-social { gap: 1px; }
  .page-toolbar-social a { width: 27px; }
}
@media print {
  .page-toolbar, .public-page-toolbar { display: none; }
}
