/* Copyright 2014 Mozilla Foundation
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

.messageBar {
  --closing-button-icon: url(images/messageBar_closingButton.svg);
  --message-bar-close-button-color: var(--text-primary-color);
  --message-bar-close-button-color-hover: var(--text-primary-color);
  --message-bar-close-button-border-radius: 4px;
  --message-bar-close-button-border: none;
  --message-bar-close-button-hover-bg-color: light-dark(
    rgb(21 20 26 / 0.14),
    rgb(251 251 254 / 0.14)
  );
  --message-bar-close-button-active-bg-color: light-dark(
    rgb(21 20 26 / 0.21),
    rgb(251 251 254 / 0.21)
  );
  --message-bar-close-button-focus-bg-color: light-dark(
    rgb(21 20 26 / 0.07),
    rgb(251 251 254 / 0.07)
  );

  @media screen and (forced-colors: active) {
    --message-bar-close-button-color: ButtonText;
    --message-bar-close-button-border: 1px solid ButtonText;
    --message-bar-close-button-hover-bg-color: ButtonText;
    --message-bar-close-button-active-bg-color: ButtonText;
    --message-bar-close-button-focus-bg-color: ButtonText;
    --message-bar-close-button-color-hover: HighlightText;
  }

  display: flex;
  position: relative;
  padding: 8px 8px 8px 16px;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 8px;
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;

  border-radius: 4px;

  border: 1px solid var(--message-bar-border-color);
  background: var(--message-bar-bg-color);
  color: var(--message-bar-fg-color);

  > div {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    align-self: stretch;

    &::before {
      content: "";
      display: inline-block;
      width: 16px;
      height: 16px;
      -webkit-mask-image: var(--message-bar-icon);
      mask-image: var(--message-bar-icon);
      -webkit-mask-size: cover;
      mask-size: cover;
      background-color: var(--message-bar-icon-color);
      flex-shrink: 0;
    }
  }

  button {
    cursor: pointer;

    &:focus-visible {
      outline: var(--focus-ring-outline);
      outline-offset: 2px;
    }
  }

  .closeButton {
    width: 32px;
    height: 32px;
    background: none;
    border-radius: var(--message-bar-close-button-border-radius);
    border: var(--message-bar-close-button-border);

    display: flex;
    align-items: center;
    justify-content: center;

    &::before {
      content: "";
      display: inline-block;
      width: 16px;
      height: 16px;
      -webkit-mask-image: var(--closing-button-icon);
      mask-image: var(--closing-button-icon);
      -webkit-mask-size: cover;
      mask-size: cover;
      background-color: var(--message-bar-close-button-color);
    }

    &:is(:hover, :active, :focus)::before {
      background-color: var(--message-bar-close-button-color-hover);
    }

    &:hover {
      background-color: var(--message-bar-close-button-hover-bg-color);
    }

    &:active {
      background-color: var(--message-bar-close-button-active-bg-color);
    }

    &:focus {
      background-color: var(--message-bar-close-button-focus-bg-color);
    }

    > span {
      display: inline-block;
      width: 0;
      height: 0;
      overflow: hidden;
    }
  }
}

#editorUndoBar {
  --text-primary-color: light-dark(#15141a, #fbfbfe);

  --message-bar-icon: url(images/messageBar_info.svg);
  --message-bar-icon-color: light-dark(#0060df, #73a7f3);
  --message-bar-bg-color: light-dark(#deeafc, #003070);
  --message-bar-fg-color: var(--text-primary-color);
  --message-bar-border-color: light-dark(
    rgb(0 0 0 / 0.08),
    rgb(255 255 255 / 0.08)
  );

  --undo-button-bg-color: light-dark(
    rgb(21 20 26 / 0.07),
    rgb(255 255 255 / 0.08)
  );
  --undo-button-bg-color-hover: light-dark(
    rgb(21 20 26 / 0.14),
    rgb(255 255 255 / 0.14)
  );
  --undo-button-bg-color-active: light-dark(
    rgb(21 20 26 / 0.21),
    rgb(255 255 255 / 0.21)
  );

  --undo-button-border: 1px solid light-dark(#0060df, #0df);

  --undo-button-fg-color: var(--message-bar-fg-color);
  --undo-button-fg-color-hover: var(--undo-button-fg-color);
  --undo-button-fg-color-active: var(--undo-button-fg-color);

  @media screen and (forced-colors: active) {
    --text-primary-color: CanvasText;

    --message-bar-icon-color: CanvasText;
    --message-bar-bg-color: Canvas;
    --message-bar-border-color: CanvasText;

    --undo-button-bg-color: ButtonText;
    --undo-button-bg-color-hover: SelectedItem;
    --undo-button-bg-color-active: SelectedItem;

    --undo-button-fg-color: ButtonFace;
    --undo-button-fg-color-hover: SelectedItemText;
    --undo-button-fg-color-active: SelectedItemText;

    --undo-button-border: none;
  }

  position: fixed;
  top: 50px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 10;

  padding-block: 8px;
  padding-inline: 16px 8px;

  font: menu;
  font-size: 15px;

  cursor: default;

  button {
    cursor: pointer;
  }

  #editorUndoBarUndoButton {
    border-radius: 4px;
    font-weight: 590;
    line-height: 19.5px;
    color: var(--undo-button-fg-color);
    border: var(--undo-button-border);
    padding: 4px 16px;
    margin-inline-start: 8px;
    height: 32px;

    background-color: var(--undo-button-bg-color);

    &:hover {
      background-color: var(--undo-button-bg-color-hover);
      color: var(--undo-button-fg-color-hover);
    }

    &:active {
      background-color: var(--undo-button-bg-color-active);
      color: var(--undo-button-fg-color-active);
    }
  }

  > div {
    align-items: center;
  }
}

.dialog {
  --dialog-bg-color: light-dark(white, #1c1b22);
  --dialog-border-color: light-dark(white, #1c1b22);
  --dialog-shadow: 0 2px 14px 0 light-dark(rgb(58 57 68 / 0.2), #15141a);
  --text-primary-color: light-dark(#15141a, #fbfbfe);
  --text-secondary-color: light-dark(#5b5b66, #cfcfd8);
  --hover-filter: brightness(0.9);
  --link-fg-color: light-dark(#0060df, #0df);
  --link-hover-fg-color: light-dark(#0250bb, #80ebff);
  --separator-color: light-dark(#f0f0f4, #52525e);

  --textarea-border-color: #8f8f9d;
  --textarea-bg-color: light-dark(white, #42414d);
  --textarea-fg-color: var(--text-secondary-color);

  --radio-bg-color: light-dark(#f0f0f4, #2b2a33);
  --radio-checked-bg-color: light-dark(#fbfbfe, #15141a);
  --radio-border-color: #8f8f9d;
  --radio-checked-border-color: light-dark(#0060df, #0df);

  --button-secondary-bg-color: light-dark(
    rgb(21 20 26 / 0.07),
    rgb(251 251 254 / 0.07)
  );
  --button-secondary-fg-color: var(--text-primary-color);
  --button-secondary-border-color: var(--button-secondary-bg-color);
  --button-secondary-active-bg-color: light-dark(
    rgb(21 20 26 / 0.21),
    rgb(251 251 254 / 0.21)
  );
  --button-secondary-active-fg-color: var(--button-secondary-fg-color);
  --button-secondary-active-border-color: var(--button-secondary-bg-color);
  --button-secondary-hover-bg-color: light-dark(
    rgb(21 20 26 / 0.14),
    rgb(251 251 254 / 0.14)
  );
  --button-secondary-hover-fg-color: var(--button-secondary-fg-color);
  --button-secondary-hover-border-color: var(--button-secondary-hover-bg-color);
  --button-secondary-disabled-bg-color: var(--button-secondary-bg-color);
  --button-secondary-disabled-border-color: var(
    --button-secondary-border-color
  );
  --button-secondary-disabled-fg-color: var(--button-secondary-fg-color);

  --button-primary-bg-color: light-dark(#0060df, #0df);
  --button-primary-fg-color: light-dark(#fbfbfe, #15141a);
  --button-primary-border-color: var(--button-primary-bg-color);
  --button-primary-active-bg-color: light-dark(#054096, #aaf2ff);
  --button-primary-active-fg-color: var(--button-primary-fg-color);
  --button-primary-active-border-color: var(--button-primary-active-bg-color);
  --button-primary-hover-bg-color: light-dark(#0250bb, #80ebff);
  --button-primary-hover-fg-color: var(--button-primary-fg-color);
  --button-primary-hover-border-color: var(--button-primary-hover-bg-color);
  --button-primary-disabled-bg-color: var(--button-primary-bg-color);
  --button-primary-disabled-border-color: var(--button-primary-border-color);
  --button-primary-disabled-fg-color: var(--button-primary-fg-color);
  --button-disabled-opacity: 0.4;

  --input-text-bg-color: light-dark(white, #42414d);
  --input-text-fg-color: var(--text-primary-color);

  @media (prefers-color-scheme: dark) {
    --hover-filter: brightness(1.4);
    --button-disabled-opacity: 0.6;
  }

  @media screen and (forced-colors: active) {
    --dialog-bg-color: Canvas;
    --dialog-border-color: CanvasText;
    --dialog-shadow: none;
    --text-primary-color: CanvasText;
    --text-secondary-color: CanvasText;
    --hover-filter: none;
    --link-fg-color: LinkText;
    --link-hover-fg-color: LinkText;
    --separator-color: CanvasText;

    --textarea-border-color: ButtonBorder;
    --textarea-bg-color: Field;
    --textarea-fg-color: ButtonText;

    --radio-bg-color: ButtonFace;
    --radio-checked-bg-color: ButtonFace;
    --radio-border-color: ButtonText;
    --radio-checked-border-color: ButtonText;

    --button-secondary-bg-color: ButtonFace;
    --button-secondary-fg-color: ButtonText;
    --button-secondary-border-color: ButtonText;
    --button-secondary-active-bg-color: HighlightText;
    --button-secondary-active-fg-color: SelectedItem;
    --button-secondary-active-border-color: ButtonText;
    --button-secondary-hover-bg-color: HighlightText;
    --button-secondary-hover-fg-color: SelectedItem;
    --button-secondary-hover-border-color: SelectedItem;
    --button-secondary-disabled-fg-color: GrayText;
    --button-secondary-disabled-border-color: GrayText;

    --button-primary-bg-color: ButtonText;
    --button-primary-fg-color: ButtonFace;
    --button-primary-border-color: ButtonText;
    --button-primary-active-bg-color: SelectedItem;
    --button-primary-active-fg-color: HighlightText;
    --button-primary-active-border-color: ButtonText;
    --button-primary-hover-bg-color: SelectedItem;
    --button-primary-hover-fg-color: HighlightText;
    --button-primary-hover-border-color: SelectedItem;
    --button-primary-disabled-bg-color: GrayText;
    --button-primary-disabled-fg-color: ButtonFace;
    --button-primary-disabled-border-color: GrayText;
    --button-disabled-opacity: 1;

    --input-text-bg-color: Field;
    --input-text-fg-color: FieldText;
  }

  font: message-box;
  font-size: 13px;
  font-weight: 400;
  line-height: 150%;
  border-radius: 4px;
  padding: 12px 16px;
  border: 1px solid var(--dialog-border-color);
  background: var(--dialog-bg-color);
  color: var(--text-primary-color);
  box-shadow: var(--dialog-shadow);

  .mainContainer {
    *:focus-visible {
      outline: var(--focus-ring-outline);
      outline-offset: 2px;
    }

    .title {
      display: flex;
      width: auto;
      flex-direction: column;
      justify-content: flex-end;
      align-items: flex-start;
      gap: 12px;

      > span {
        font-size: 13px;
        font-style: normal;
        font-weight: 590;
        line-height: 150%;
      }
    }

    .dialogSeparator {
      width: 100%;
      height: 0;
      margin-block: 4px;
      border-top: 1px solid var(--separator-color);
      border-bottom: none;
    }

    .dialogButtonsGroup {
      display: flex;
      gap: 12px;
      align-self: flex-end;
    }

    .radio {
      display: flex;
      flex-direction: column;
      align-items: flex-start;
      gap: 4px;

      > .radioButton {
        display: flex;
        gap: 8px;
        align-self: stretch;
        align-items: center;

        input {
          -webkit-appearance: none;
          -moz-appearance: none;
          appearance: none;
          box-sizing: border-box;
          width: 16px;
          height: 16px;
          border-radius: 50%;
          background-color: var(--radio-bg-color);
          border: 1px solid var(--radio-border-color);

          &:hover {
            filter: var(--hover-filter);
          }

          &:checked {
            background-color: var(--radio-checked-bg-color);
            border: 4px solid var(--radio-checked-border-color);
          }
        }
      }

      > .radioLabel {
        display: flex;
        padding-inline-start: 24px;
        align-items: flex-start;
        gap: 10px;
        align-self: stretch;

        > span {
          flex: 1 0 0;
          font-size: 11px;
          color: var(--text-secondary-color);
        }
      }
    }

    button:not(:is(.toggle-button, .closeButton, .clearInputButton)) {
      border-radius: 4px;
      border: 1px solid;
      font: menu;
      font-weight: 590;
      font-size: 13px;
      padding: 4px 16px;
      width: auto;
      height: 32px;

      &:hover {
        cursor: pointer;
        filter: var(--hover-filter);
      }

      > span {
        color: inherit;
        font: inherit;
      }

      &.secondaryButton {
        color: var(--button-secondary-fg-color);
        background-color: var(--button-secondary-bg-color);
        border-color: var(--button-secondary-border-color);

        &:hover {
          color: var(--button-secondary-hover-fg-color);
          background-color: var(--button-secondary-hover-bg-color);
          border-color: var(--button-secondary-hover-border-color);
        }

        &:active {
          color: var(--button-secondary-active-fg-color);
          background-color: var(--button-secondary-active-bg-color);
          border-color: var(--button-secondary-active-border-color);
        }

        &:disabled {
          background-color: var(--button-secondary-disabled-bg-color);
          border-color: var(--button-secondary-disabled-border-color);
          color: var(--button-secondary-disabled-fg-color);
          opacity: var(--button-disabled-opacity);
        }
      }

      &.primaryButton {
        color: var(--button-primary-fg-color);
        background-color: var(--button-primary-bg-color);
        border-color: var(--button-primary-border-color);
        opacity: 1;

        &:hover {
          color: var(--button-primary-hover-fg-color);
          background-color: var(--button-primary-hover-bg-color);
          border-color: var(--button-primary-hover-border-color);
        }

        &:active {
          color: var(--button-primary-active-fg-color);
          background-color: var(--button-primary-active-bg-color);
          border-color: var(--button-primary-active-border-color);
        }

        &:disabled {
          background-color: var(--button-primary-disabled-bg-color);
          border-color: var(--button-primary-disabled-border-color);
          color: var(--button-primary-disabled-fg-color);
          opacity: var(--button-disabled-opacity);
        }
      }

      &:disabled {
        pointer-events: none;
      }
    }

    a {
      color: var(--link-fg-color);

      &:hover {
        color: var(--link-hover-fg-color);
      }
    }

    textarea {
      font: inherit;
      padding: 8px;
      resize: none;
      margin: 0;
      box-sizing: border-box;
      border-radius: 4px;
      border: 1px solid var(--textarea-border-color);
      background: var(--textarea-bg-color);
      color: var(--textarea-fg-color);

      &:focus {
        outline-offset: 0;
        border-color: transparent;
      }

      &:disabled {
        pointer-events: none;
        opacity: 0.4;
      }
    }

    input[type="text"] {
      background-color: var(--input-text-bg-color);
      color: var(--input-text-fg-color);
    }

    .messageBar {
      --message-bar-bg-color: light-dark(#ffebcd, #5a3100);
      --message-bar-fg-color: light-dark(#15141a, #fbfbfe);
      --message-bar-border-color: light-dark(
        rgb(0 0 0 / 0.08),
        rgb(255 255 255 / 0.08)
      );
      --message-bar-icon: url(images/messageBar_warning.svg);
      --message-bar-icon-color: light-dark(#cd411e, #e49c49);

      @media screen and (forced-colors: active) {
        --message-bar-bg-color: HighlightText;
        --message-bar-fg-color: CanvasText;
        --message-bar-border-color: CanvasText;
        --message-bar-icon-color: CanvasText;
      }

      align-self: stretch;

      > div {
        &::before,
        > div {
          margin-block: 4px;
        }

        > div {
          display: flex;
          flex-direction: column;
          align-items: flex-start;
          gap: 8px;
          flex: 1 0 0;

          .title {
            font-size: 13px;
            font-weight: 590;
          }

          .description {
            font-size: 13px;
          }
        }
      }
    }

    .toggler {
      display: flex;
      align-items: center;
      gap: 8px;
      align-self: stretch;

      > .togglerLabel {
        -webkit-user-select: none;
        -moz-user-select: none;
        user-select: none;
      }
    }
  }
}

.textLayer {
  color-scheme: only light;

  position: absolute;
  text-align: initial;
  inset: 0;
  overflow: clip;
  opacity: 1;
  line-height: 1;
  letter-spacing: normal;
  word-spacing: normal;
  -webkit-text-size-adjust: none;
  -moz-text-size-adjust: none;
  text-size-adjust: none;
  forced-color-adjust: none;
  transform-origin: 0 0;
  caret-color: CanvasText;
  z-index: 0;

  &.highlighting {
    touch-action: none;
  }

  :is(span, br) {
    color: transparent;
    position: absolute;
    white-space: pre;
    cursor: text;
    transform-origin: 0% 0%;
    -webkit-user-select: text;
    -moz-user-select: text;
    user-select: text;
  }
  --min-font-size: 1;
  --text-scale-factor: calc(var(--total-scale-factor) * var(--min-font-size));
  --min-font-size-inv: calc(1 / var(--min-font-size));

  > :not(.markedContent),
  .markedContent span:not(.markedContent) {
    z-index: 1;

    --font-height: 0;
    font-size: calc(var(--text-scale-factor) * var(--font-height));

    --scale-x: 1;
    --rotate: 0deg;
    transform: rotate(var(--rotate)) scaleX(var(--scale-x))
      scale(var(--min-font-size-inv));
  }

  .markedContent {
    display: contents;
  }

  span[role="img"] {
    -webkit-user-select: none;
    -moz-user-select: none;
    user-select: none;
    cursor: default;
  }

  .highlight {
    --highlight-bg-color: rgb(180 0 170 / 0.25);
    --highlight-selected-bg-color: rgb(0 100 0 / 0.25);
    --highlight-backdrop-filter: none;
    --highlight-selected-backdrop-filter: none;

    @media screen and (forced-colors: active) {
      --highlight-bg-color: transparent;
      --highlight-selected-bg-color: transparent;
      --highlight-backdrop-filter: var(--hcm-highlight-filter);
      --highlight-selected-backdrop-filter: var(
        --hcm-highlight-selected-filter
      );
    }

    margin: -1px;
    padding: 1px;
    background-color: var(--highlight-bg-color);
    backdrop-filter: var(--highlight-backdrop-filter);
    border-radius: 4px;

    &.appended {
      position: initial;
    }

    &.begin {
      border-radius: 4px 0 0 4px;
    }

    &.end {
      border-radius: 0 4px 4px 0;
    }

    &.middle {
      border-radius: 0;
    }

    &.selected {
      background-color: var(--highlight-selected-bg-color);
      backdrop-filter: var(--highlight-selected-backdrop-filter);
      scroll-margin-top: 50px;
    }
  }

  ::-moz-selection {
    background: rgba(0 0 255 / 0.25);
    background: color-mix(in srgb, AccentColor, transparent 50%);
    color: transparent;
  }

  ::selection {
    background: rgba(0 0 255 / 0.25);
    background: color-mix(in srgb, AccentColor, transparent 50%);
    color: transparent;
  }

  &.selectionRendering {
    ::-moz-selection {
      background: transparent;
      color: transparent;
    }
    ::selection {
      background: transparent;
      color: transparent;
    }
  }
  br::-moz-selection {
    background: transparent;
  }
  br::selection {
    background: transparent;
  }

  .endOfContent {
    display: block;
    position: absolute;
    inset: 100% 0 0;
    z-index: 0;
    cursor: default;
    -webkit-user-select: none;
    -moz-user-select: none;
    user-select: none;
  }

  &.selecting .endOfContent {
    top: 0;
  }
}

.textLayerImages {
  position: absolute;
  inset: 0;
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;

  canvas {
    position: absolute;
    transform-origin: 0% 0%;
  }
}

.annotationLayer {
  color-scheme: only light;

  --annotation-unfocused-field-background: url("data:image/svg+xml;charset=UTF-8,<svg width='1px' height='1px' xmlns='http://www.w3.org/2000/svg'><rect width='100%' height='100%' style='fill:rgba(0, 54, 255, 0.13);'/></svg>");
  --annotation-unfocused-field-filter: url("data:image/svg+xml;charset=UTF-8,<svg xmlns='http://www.w3.org/2000/svg'><filter id='pdfjsFillableField' x='0%' y='0%' width='100%' height='100%' color-interpolation-filters='sRGB'><feFlood flood-color='rgb(0,54,255)' flood-opacity='0.13' result='f'/><feComposite in='f' in2='SourceGraphic' operator='over'/></filter></svg>#pdfjsFillableField");
  --input-focus-border-color: Highlight;
  --input-focus-outline: 1px solid Canvas;
  --input-unfocused-border-color: transparent;
  --input-disabled-border-color: transparent;
  --input-hover-border-color: black;
  --link-outline: none;

  @media screen and (forced-colors: active) {
    --input-focus-border-color: CanvasText;
    --input-unfocused-border-color: ActiveText;
    --input-disabled-border-color: GrayText;
    --input-hover-border-color: Highlight;
    --link-outline: 1.5px solid LinkText;

    .textWidgetAnnotation :is(input, textarea):required,
    .choiceWidgetAnnotation select:required,
    .buttonWidgetAnnotation:is(.checkBox, .radioButton) input:required {
      outline: 1.5px solid selectedItem;
    }

    .linkAnnotation {
      outline: var(--link-outline);

      &:hover {
        backdrop-filter: var(--hcm-highlight-filter);
      }

      & > a:hover {
        opacity: 0 !important;
        background: none !important;
        box-shadow: none;
      }
    }

    .popupAnnotation .popup {
      outline: calc(1.5px * var(--total-scale-factor)) solid CanvasText !important;
      background-color: ButtonFace !important;
      color: ButtonText !important;
    }

    .highlightArea:hover::after {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      backdrop-filter: var(--hcm-highlight-filter);
      content: "";
      pointer-events: none;
    }

    .popupAnnotation.focused .popup {
      outline: calc(3px * var(--total-scale-factor)) solid Highlight !important;
    }
  }

  position: absolute;
  top: 0;
  left: 0;
  pointer-events: none;
  transform-origin: 0 0;

  &[data-main-rotation="90"] .norotate {
    transform: rotate(270deg) translateX(-100%);
  }
  &[data-main-rotation="180"] .norotate {
    transform: rotate(180deg) translate(-100%, -100%);
  }
  &[data-main-rotation="270"] .norotate {
    transform: rotate(90deg) translateY(-100%);
  }

  &.disabled {
    section,
    .popup {
      pointer-events: none;
    }
  }

  .annotationContent {
    position: absolute;
    width: 100%;
    height: 100%;
    pointer-events: none;

    &.freetext {
      background: transparent;
      border: none;
      inset: 0;
      overflow: visible;
      white-space: nowrap;
      font: 10px sans-serif;
      line-height: 1.35;
    }
  }

  section {
    position: absolute;
    text-align: initial;
    pointer-events: auto;
    box-sizing: border-box;
    transform-origin: 0 0;
    -webkit-user-select: none;
    -moz-user-select: none;
    user-select: none;

    &:has(div.annotationContent) {
      canvas.annotationContent {
        display: none;
      }
    }

    .overlaidText {
      position: absolute;
      top: 0;
      left: 0;
      width: 0;
      height: 0;
      display: inline-block;
      overflow: hidden;
    }
  }
  .hasOwnCanvas:not(.sandboxModified) :is(input, textarea) {
    display: none;
  }

  .hasOwnCanvas.sandboxModified canvas.annotationContent {
    display: none;
  }

  .textLayer.selecting ~ & section {
    pointer-events: none;
  }

  :is(.linkAnnotation, .buttonWidgetAnnotation.pushButton) > a {
    position: absolute;
    font-size: 1em;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
  }

  :is(.linkAnnotation, .buttonWidgetAnnotation.pushButton):not(.hasBorder)
    > a:hover {
    opacity: 0.2;
    background-color: rgb(255 255 0);
  }

  .linkAnnotation.hasBorder:hover {
    background-color: rgb(255 255 0 / 0.2);
  }

  .hasBorder {
    background-size: 100% 100%;
  }

  .textAnnotation img {
    position: absolute;
    cursor: pointer;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
  }

  .textWidgetAnnotation :is(input, textarea),
  .choiceWidgetAnnotation select,
  .buttonWidgetAnnotation:is(.checkBox, .radioButton) input {
    background-image: var(--annotation-unfocused-field-background);
    border: 2px solid var(--input-unfocused-border-color);
    box-sizing: border-box;
    font: calc(9px * var(--total-scale-factor)) sans-serif;
    height: 100%;
    margin: 0;
    vertical-align: top;
    width: 100%;
  }

  .textWidgetAnnotation :is(input, textarea):required,
  .choiceWidgetAnnotation select:required,
  .buttonWidgetAnnotation:is(.checkBox, .radioButton) input:required {
    outline: 1.5px solid red;
  }

  .choiceWidgetAnnotation select option {
    padding: 0;
  }

  .textWidgetAnnotation textarea {
    resize: none;
  }

  .textWidgetAnnotation :is(input, textarea)[disabled],
  .choiceWidgetAnnotation select[disabled],
  .buttonWidgetAnnotation:is(.checkBox, .radioButton) input[disabled] {
    background: none;
    border: 2px solid var(--input-disabled-border-color);
    cursor: not-allowed;
  }

  .textWidgetAnnotation :is(input, textarea):hover,
  .choiceWidgetAnnotation select:hover,
  .buttonWidgetAnnotation:is(.checkBox, .radioButton) input:hover {
    border: 2px solid var(--input-hover-border-color);
  }
  .textWidgetAnnotation :is(input, textarea):hover,
  .choiceWidgetAnnotation select:hover,
  .buttonWidgetAnnotation.checkBox input:hover {
    border-radius: 2px;
  }

  .textWidgetAnnotation :is(input, textarea):focus,
  .choiceWidgetAnnotation select:focus {
    background: none;
    border: 2px solid var(--input-focus-border-color);
    border-radius: 2px;
    outline: var(--input-focus-outline);
  }

  .buttonWidgetAnnotation:is(.checkBox, .radioButton) :focus {
    background-image: none;
    background-color: transparent;
  }

  .buttonWidgetAnnotation.checkBox :focus {
    border: 2px solid var(--input-focus-border-color);
    border-radius: 2px;
    outline: var(--input-focus-outline);
  }

  .buttonWidgetAnnotation.radioButton :focus {
    border: 2px solid var(--input-focus-border-color);
    outline: var(--input-focus-outline);
  }

  .buttonWidgetAnnotation:is(.checkBox, .radioButton) {
    [data-canvas-name] {
      filter: var(--annotation-unfocused-field-filter);
    }

    &:focus-within [data-canvas-name] {
      filter: none;
    }

    [data-canvas-name="checked"] {
      &:has(~ input:checked) {
        display: block;
      }

      &:has(~ input:not(:checked)) {
        display: none;
      }
    }

    [data-canvas-name="unchecked"] {
      &:has(~ input:checked) {
        display: none;
      }

      &:has(~ input:not(:checked)) {
        display: block;
      }
    }
  }

  .textWidgetAnnotation input.comb {
    --comb-width: 0px;
    --comb-letter-spacing: calc(var(--comb-width) - 1ch);

    font-family: monospace;
    letter-spacing: var(--comb-letter-spacing);
    overflow-x: hidden;
    padding: 0;
    text-indent: calc(
      var(--comb-offset, 0) * var(--comb-width) + var(--comb-letter-spacing) / 2
    );
  }

  .textWidgetAnnotation input.comb:focus {
    background-image: repeating-linear-gradient(
      to right,
      transparent 0 calc(var(--comb-width) - 1px),
      var(--input-focus-border-color) calc(var(--comb-width) - 1px)
        var(--comb-width)
    );
  }

  .buttonWidgetAnnotation:is(.checkBox, .radioButton) input {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
  }

  .buttonWidgetAnnotation:is(.checkBox, .radioButton):has(
      [data-canvas-name="checked"]
    )
    input:checked,
  .buttonWidgetAnnotation:is(.checkBox, .radioButton):has(
      [data-canvas-name="unchecked"]
    )
    input:not(:checked) {
    background-image: none;
  }

  .fileAttachmentAnnotation .popupTriggerArea {
    height: 100%;
    width: 100%;
  }

  .mediaAnnotation {
    pointer-events: auto;

    .mediaContent {
      width: 100%;
    }

    video.mediaContent {
      height: 100%;
      -o-object-fit: contain;
      object-fit: contain;
    }

    audio.mediaContent {
      position: absolute;
      bottom: 0;
    }

    .mediaPlayButton {
      height: 100%;
      width: 100%;
      margin: 0;
      padding: 0;
      border: none;
      cursor: pointer;
      background-color: transparent;
      background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Ccircle cx='50' cy='50' r='40' fill='rgba(0,0,0,0.55)'/%3E%3Cpath d='M40 32 L70 50 L40 68 Z' fill='white'/%3E%3C/svg%3E");
      background-position: center;
      background-repeat: no-repeat;
      background-size: calc(48px * var(--total-scale-factor));

      &:hover {
        background-color: rgba(255 255 255 / 0.1);
      }
    }
  }

  .popupAnnotation {
    position: absolute;
    font-size: calc(9px * var(--total-scale-factor));
    pointer-events: none;
    width: -moz-max-content;
    width: max-content;
    max-width: 45%;
    height: auto;
  }

  .popup {
    background-color: rgb(255 255 153);
    color: black;
    box-shadow: 0 calc(2px * var(--total-scale-factor))
      calc(5px * var(--total-scale-factor)) rgb(136 136 136);
    border-radius: calc(2px * var(--total-scale-factor));
    outline: 1.5px solid rgb(255 255 74);
    padding: calc(6px * var(--total-scale-factor));
    cursor: pointer;
    font: message-box;
    white-space: normal;
    word-wrap: break-word;
    pointer-events: auto;
    -webkit-user-select: text;
    -moz-user-select: text;
    user-select: text;
  }

  .popupAnnotation.focused .popup {
    outline-width: 3px;
  }

  .popup * {
    font-size: calc(9px * var(--total-scale-factor));
  }

  .popup > .header {
    display: inline-block;
  }

  .popup > .header > .title {
    display: inline;
    font-weight: bold;
  }

  .popup > .header .popupDate {
    display: inline-block;
    margin-left: calc(5px * var(--total-scale-factor));
    width: -moz-fit-content;
    width: fit-content;
  }

  .popupContent {
    border-top: 1px solid rgb(51 51 51);
    margin-top: calc(2px * var(--total-scale-factor));
    padding-top: calc(2px * var(--total-scale-factor));
  }

  .richText > * {
    white-space: pre-wrap;
    font-size: calc(9px * var(--total-scale-factor));
  }

  .popupTriggerArea {
    cursor: pointer;

    &:hover {
      backdrop-filter: var(--hcm-highlight-filter);
    }
  }

  section svg {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
  }

  .annotationTextContent {
    position: absolute;
    width: 100%;
    height: 100%;
    opacity: 0;
    color: transparent;
    -webkit-user-select: none;
    -moz-user-select: none;
    user-select: none;
    pointer-events: none;

    span {
      width: 100%;
      display: inline-block;
    }
  }

  svg.quadrilateralsContainer {
    contain: strict;
    width: 0;
    height: 0;
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
  }
}

:root {
  --xfa-unfocused-field-background: url("data:image/svg+xml;charset=UTF-8,<svg width='1px' height='1px' xmlns='http://www.w3.org/2000/svg'><rect width='100%' height='100%' style='fill:rgba(0, 54, 255, 0.13);'/></svg>");
  --xfa-focus-outline: auto;
}

@media screen and (forced-colors: active) {
  :root {
    --xfa-focus-outline: 2px solid CanvasText;
  }
  .xfaLayer *:required {
    outline: 1.5px solid selectedItem;
  }
}

.xfaLayer {
  color-scheme: only light;

  background-color: transparent;
}

.xfaLayer .highlight {
  margin: -1px;
  padding: 1px;
  background-color: rgb(239 203 237);
  border-radius: 4px;
}

.xfaLayer .highlight.appended {
  position: initial;
}

.xfaLayer .highlight.begin {
  border-radius: 4px 0 0 4px;
}

.xfaLayer .highlight.end {
  border-radius: 0 4px 4px 0;
}

.xfaLayer .highlight.middle {
  border-radius: 0;
}

.xfaLayer .highlight.selected {
  background-color: rgb(203 223 203);
}

.xfaPage {
  overflow: hidden;
  position: relative;
}

.xfaContentarea {
  position: absolute;
}

.xfaPrintOnly {
  display: none;
}

.xfaLayer {
  position: absolute;
  text-align: initial;
  top: 0;
  left: 0;
  transform-origin: 0 0;
  line-height: 1.2;
}

.xfaLayer * {
  color: inherit;
  font: inherit;
  font-style: inherit;
  font-weight: inherit;
  font-kerning: inherit;
  letter-spacing: -0.01px;
  text-align: inherit;
  text-decoration: inherit;
  box-sizing: border-box;
  background-color: transparent;
  padding: 0;
  margin: 0;
  pointer-events: auto;
  line-height: inherit;
}

.xfaLayer *:required {
  outline: 1.5px solid red;
}

.xfaLayer div,
.xfaLayer svg,
.xfaLayer svg * {
  pointer-events: none;
}

.xfaLayer a {
  color: blue;
}

.xfaRich li {
  margin-left: 3em;
}

.xfaFont {
  color: black;
  font-weight: normal;
  font-kerning: none;
  font-size: 10px;
  font-style: normal;
  letter-spacing: 0;
  text-decoration: none;
  vertical-align: 0;
}

.xfaCaption {
  overflow: hidden;
  flex: 0 0 auto;
}

.xfaCaptionForCheckButton {
  overflow: hidden;
  flex: 1 1 auto;
}

.xfaLabel {
  height: 100%;
  width: 100%;
}

.xfaLeft {
  display: flex;
  flex-direction: row;
  align-items: center;
}

.xfaRight {
  display: flex;
  flex-direction: row-reverse;
  align-items: center;
}

:is(.xfaLeft, .xfaRight) > :is(.xfaCaption, .xfaCaptionForCheckButton) {
  max-height: 100%;
}

.xfaTop {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

.xfaBottom {
  display: flex;
  flex-direction: column-reverse;
  align-items: flex-start;
}

:is(.xfaTop, .xfaBottom) > :is(.xfaCaption, .xfaCaptionForCheckButton) {
  width: 100%;
}

.xfaBorder {
  background-color: transparent;
  position: absolute;
  pointer-events: none;
}

.xfaWrapped {
  width: 100%;
  height: 100%;
}

:is(.xfaTextfield, .xfaSelect):focus {
  background-image: none;
  background-color: transparent;
  outline: var(--xfa-focus-outline);
  outline-offset: -1px;
}

:is(.xfaCheckbox, .xfaRadio):focus {
  outline: var(--xfa-focus-outline);
}

.xfaTextfield,
.xfaSelect {
  height: 100%;
  width: 100%;
  flex: 1 1 auto;
  border: none;
  resize: none;
  background-image: var(--xfa-unfocused-field-background);
}

.xfaSelect {
  padding-inline: 2px;
}

:is(.xfaTop, .xfaBottom) > :is(.xfaTextfield, .xfaSelect) {
  flex: 0 1 auto;
}

.xfaButton {
  cursor: pointer;
  width: 100%;
  height: 100%;
  border: none;
  text-align: center;
}

.xfaLink {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}

.xfaCheckbox,
.xfaRadio {
  width: 100%;
  height: 100%;
  flex: 0 0 auto;
  border: none;
}

.xfaRich {
  white-space: pre-wrap;
  width: 100%;
  height: 100%;
}

.xfaImage {
  -o-object-position: left top;
  object-position: left top;
  -o-object-fit: contain;
  object-fit: contain;
  width: 100%;
  height: 100%;
}

.xfaLrTb,
.xfaRlTb,
.xfaTb {
  display: flex;
  flex-direction: column;
  align-items: stretch;
}

.xfaLr {
  display: flex;
  flex-direction: row;
  align-items: stretch;
}

.xfaRl {
  display: flex;
  flex-direction: row-reverse;
  align-items: stretch;
}

.xfaTb > div {
  justify-content: left;
}

.xfaPosition {
  position: relative;
}

.xfaArea {
  position: relative;
}

.xfaValignMiddle {
  display: flex;
  align-items: center;
}

.xfaTable {
  display: flex;
  flex-direction: column;
  align-items: stretch;
}

.xfaTable .xfaRow {
  display: flex;
  flex-direction: row;
  align-items: stretch;
}

.xfaTable .xfaRlRow {
  display: flex;
  flex-direction: row-reverse;
  align-items: stretch;
  flex: 1;
}

.xfaTable .xfaRlRow > div {
  flex: 1;
}

:is(.xfaNonInteractive, .xfaDisabled, .xfaReadOnly) :is(input, textarea) {
  background: initial;
}

@media print {
  .xfaTextfield,
  .xfaSelect {
    background: transparent;
  }

  .xfaSelect {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    text-indent: 1px;
    text-overflow: "";
  }
}

.canvasWrapper {
  svg {
    transform: none;

    &.moving {
      z-index: 100000;
    }

    &.highlight,
    &.highlightOutline {
      &[data-main-rotation="90"] {
        mask,
        use:not(.clip, .mask) {
          transform: matrix(0, 1, -1, 0, 1, 0);
        }
      }

      &[data-main-rotation="180"] {
        mask,
        use:not(.clip, .mask) {
          transform: matrix(-1, 0, 0, -1, 1, 1);
        }
      }

      &[data-main-rotation="270"] {
        mask,
        use:not(.clip, .mask) {
          transform: matrix(0, -1, 1, 0, 0, 1);
        }
      }
    }

    &.draw {
      position: absolute;
      mix-blend-mode: normal;

      &[data-draw-rotation="90"] {
        transform: rotate(90deg);
      }

      &[data-draw-rotation="180"] {
        transform: rotate(180deg);
      }

      &[data-draw-rotation="270"] {
        transform: rotate(270deg);
      }
    }

    &.highlight {
      --blend-mode: multiply;

      @media screen and (forced-colors: active) {
        --blend-mode: difference;
      }

      position: absolute;
      mix-blend-mode: var(--blend-mode);

      &:not(.free) {
        fill-rule: evenodd;
      }
    }

    &.highlightOutline {
      position: absolute;
      mix-blend-mode: normal;
      fill-rule: evenodd;
      fill: none;

      &:not(.free) {
        &.hovered:not(.selected) {
          stroke: var(--hover-outline-color);
          stroke-width: var(--outline-width);
        }

        &.selected {
          .mainOutline {
            stroke: var(--outline-around-color);
            stroke-width: calc(
              var(--outline-width) + 2 * var(--outline-around-width)
            );
          }

          .secondaryOutline {
            stroke: var(--outline-color);
            stroke-width: var(--outline-width);
          }
        }
      }

      &.free {
        &.hovered:not(.selected) {
          stroke: var(--hover-outline-color);
          stroke-width: calc(2 * var(--outline-width));
        }

        &.selected {
          .mainOutline {
            stroke: var(--outline-around-color);
            stroke-width: calc(
              2 * (var(--outline-width) + var(--outline-around-width))
            );
          }

          .secondaryOutline {
            stroke: var(--outline-color);
            stroke-width: calc(2 * var(--outline-width));
          }
        }
      }
    }
  }
}

.toggle-button {
  --button-background-color: color-mix(in srgb, currentColor 7%, transparent);
  --button-background-color-hover: color-mix(
    in srgb,
    currentColor 14%,
    transparent
  );
  --button-background-color-active: color-mix(
    in srgb,
    currentColor 21%,
    transparent
  );
  --color-accent-primary: light-dark(#0060df, #0df);
  --color-accent-primary-hover: light-dark(#0250bb, #80ebff);
  --color-accent-primary-active: light-dark(#054096, #aaf2ff);
  --border-radius-circle: 9999px;
  --border-width: 1px;
  --size-item-small: 16px;
  --size-item-large: 32px;
  --color-canvas: light-dark(white, #1c1b22);
  --background-color-canvas: var(--color-canvas);
  --border-color-interactive: light-dark(#8f8f9d, #f9f9fa);
  --border-color-interactive-hover: var(--border-color-interactive);
  --border-color-interactive-active: var(--border-color-interactive);
  --focus-outline-offset: 2px;

  @media (forced-colors: active) {
    --color-accent-primary: ButtonText;
    --color-accent-primary-hover: SelectedItem;
    --color-accent-primary-active: SelectedItem;
    --button-background-color: ButtonFace;
    --border-color-interactive: ButtonText;
    --border-color-interactive-hover: SelectedItem;
    --border-color-interactive-active: ButtonText;
    --color-canvas: ButtonText;
    --background-color-canvas: Canvas;
  }
}

.toggle-button {
  --toggle-background-color: var(--button-background-color);
  --toggle-background-color-hover: var(--button-background-color-hover);
  --toggle-background-color-active: var(--button-background-color-active);
  --toggle-background-color-pressed: var(--color-accent-primary);
  --toggle-background-color-pressed-hover: var(--color-accent-primary-hover);
  --toggle-background-color-pressed-active: var(--color-accent-primary-active);
  --toggle-border-color: var(--border-color-interactive);
  --toggle-border-color-hover: var(--toggle-border-color);
  --toggle-border-color-active: var(--toggle-border-color);
  --toggle-border-radius: var(--border-radius-circle);
  --toggle-border-width: var(--border-width);
  --toggle-height: var(--size-item-small);
  --toggle-width: var(--size-item-large);
  --toggle-dot-background-color: var(--toggle-border-color);
  --toggle-dot-background-color-hover: var(--toggle-dot-background-color);
  --toggle-dot-background-color-active: var(--toggle-dot-background-color);
  --toggle-dot-background-color-on-pressed: var(--background-color-canvas);
  --toggle-dot-margin: 1px;
  --toggle-dot-height: calc(
    var(--toggle-height) - 2 * var(--toggle-dot-margin) - 2 *
      var(--toggle-border-width)
  );
  --toggle-dot-width: var(--toggle-dot-height);
  --toggle-dot-transform-x: calc(
    var(--toggle-width) - 4 * var(--toggle-dot-margin) - var(--toggle-dot-width)
  );
  --input-width: var(--toggle-width);

  -webkit-appearance: none;

  -moz-appearance: none;

  appearance: none;
  padding: 0;
  border: var(--toggle-border-width) solid var(--toggle-border-color);
  height: var(--toggle-height);
  width: var(--toggle-width);
  border-radius: var(--toggle-border-radius);
  background-color: var(--toggle-background-color);
  box-sizing: border-box;

  &:focus-visible {
    outline: var(--focus-outline);
    outline-offset: var(--focus-outline-offset);
  }

  &:enabled:hover {
    background-color: var(--toggle-background-color-hover);
    border-color: var(--toggle-border-color);
  }

  &:enabled:hover:active {
    background-color: var(--toggle-background-color-active);
    border-color: var(--toggle-border-color);
  }

  &::before {
    display: block;
    content: "";
    background-color: var(--toggle-dot-background-color);
    height: var(--toggle-dot-height);
    width: var(--toggle-dot-width);
    margin: var(--toggle-dot-margin);
    border-radius: var(--toggle-border-radius);
    translate: 0;
  }
}

.toggle-button[aria-pressed="true"] {
  background-color: var(--toggle-background-color-pressed);
  border-color: transparent;

  &:enabled:hover {
    background-color: var(--toggle-background-color-pressed-hover);
    border-color: transparent;
  }

  &:enabled:hover:active {
    background-color: var(--toggle-background-color-pressed-active);
    border-color: transparent;
  }

  &::before {
    translate: var(--toggle-dot-transform-x);
    background-color: var(--toggle-dot-background-color-on-pressed);
  }

  &:enabled:hover::before,
  &:enabled:hover:active::before {
    background-color: var(--toggle-dot-background-color-on-pressed);
  }

  &:-moz-locale-dir(rtl)::before,
  &:dir(rtl)::before {
    translate: calc(-1 * var(--toggle-dot-transform-x));
  }
}

@media (prefers-reduced-motion: no-preference) {
  .toggle-button::before {
    transition: translate 100ms;
  }
}

@media (prefers-contrast) {
  .toggle-button:enabled:hover {
    border-color: var(--toggle-border-color-hover);
  }

  .toggle-button:enabled:hover:active {
    border-color: var(--toggle-border-color-active);
  }

  .toggle-button[aria-pressed="true"]:enabled {
    border-color: var(--toggle-border-color);
    position: relative;

    &:hover {
      border-color: var(--toggle-border-color-hover);

      &:active {
        background-color: var(--toggle-dot-background-color-active);
        border-color: var(--toggle-dot-background-color-hover);
      }
    }
  }

  .toggle-button:enabled:hover::before,
  .toggle-button:enabled:hover:active::before {
    background-color: var(--toggle-dot-background-color-hover);
  }
}

@media (forced-colors) {
  .toggle-button {
    --toggle-dot-background-color: var(--color-accent-primary);
    --toggle-dot-background-color-hover: var(--color-accent-primary-hover);
    --toggle-dot-background-color-active: var(--color-accent-primary-active);
    --toggle-dot-background-color-on-pressed: var(--button-background-color);
    --toggle-border-color-hover: var(--border-color-interactive-hover);
    --toggle-border-color-active: var(--border-color-interactive-active);
  }

  .toggle-button[aria-pressed="true"]:enabled::after {
    border: 1px solid var(--button-background-color);
    content: "";
    position: absolute;
    height: var(--toggle-height);
    width: var(--toggle-width);
    display: block;
    border-radius: var(--toggle-border-radius);
    inset: -2px;
  }

  .toggle-button[aria-pressed="true"]:enabled:hover:active::after {
    border-color: var(--toggle-border-color-active);
  }
}

:root {
  --clear-signature-button-icon: url(images/editor-toolbar-delete.svg);
  --signature-bg: light-dark(#f9f9fb, #2b2a33);
  --signature-hover-bg: light-dark(#f0f0f4, var(--signature-bg));
  --button-signature-bg: transparent;
  --button-signature-color: var(--main-color);
  --button-signature-active-bg: light-dark(#cfcfd8, #5b5b66);
  --button-signature-active-border: none;
  --button-signature-active-color: var(--button-signature-color);
  --button-signature-border: none;
  --button-signature-hover-bg: light-dark(#e0e0e6, #52525e);
  --button-signature-hover-color: var(--button-signature-color);

  @media screen and (forced-colors: active) {
    --signature-bg: HighlightText;
    --signature-hover-bg: var(--signature-bg);
    --button-signature-bg: HighlightText;
    --button-signature-color: ButtonText;
    --button-signature-active-bg: ButtonText;
    --button-signature-active-color: HighlightText;
    --button-signature-border: 1px solid ButtonText;
    --button-signature-hover-bg: Highlight;
    --button-signature-hover-color: HighlightText;
  }
}

.signatureDialog {
  --primary-color: var(--text-primary-color);
  --border-color: #8f8f9d;
  --open-link-fg: var(--link-fg-color);
  --open-link-hover-fg: var(--link-hover-fg-color);

  @media screen and (forced-colors: active) {
    --primary-color: ButtonText;
    --border-color: ButtonText;
    --open-link-fg: ButtonText;
    --open-link-hover-fg: ButtonText;
  }

  width: 570px;
  max-width: 100%;
  min-width: 300px;
  padding: 16px 0;

  .mainContainer {
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 12px;

    span:not([role="sectionhead"]) {
      font-size: 13px;
      font-style: normal;
      font-weight: 400;
      line-height: normal;
    }

    .title {
      margin-inline-start: 16px;
    }
  }

  .inputWithClearButton {
    --button-dimension: 24px;
    --clear-button-icon: url(images/messageBar_closingButton.svg);

    width: 100%;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;

    > input {
      width: 100%;
      height: 32px;
      padding-inline: 8px calc(4px + var(--button-dimension));
      box-sizing: border-box;
      border-radius: 4px;
      border: 1px solid var(--border-color);
    }

    .clearInputButton {
      position: absolute;
      inset-block-start: 4px;
      inset-inline-end: 4px;
      display: inline-block;
      width: var(--button-dimension);
      height: var(--button-dimension);
      background-color: var(--input-text-fg-color);
      -webkit-mask-size: cover;
      mask-size: cover;
      -webkit-mask-image: var(--clear-button-icon);
      mask-image: var(--clear-button-icon);
      padding: 0;
      border: 0;
    }
  }
}

#addSignatureDialog {
  --secondary-color: var(--text-secondary-color);
  --bg-hover: #e0e0e6;
  --tab-top-line-active-color: #0060df;
  --tab-top-line-active-hover-color: var(--tab-text-hover-color);
  --tab-top-line-hover-color: #8f8f9d;
  --tab-top-line-inactive-color: #cfcfd8;
  --tab-bottom-line-active-color: var(--tab-top-line-inactive-color);
  --tab-bottom-line-hover-color: var(--tab-top-line-inactive-color);
  --tab-bottom-line-inactive-color: var(--tab-top-line-inactive-color);
  --tab-bg: var(--dialog-bg-color);
  --tab-bg-active-color: var(--tab-bg);
  --tab-bg-active-hover-color: var(--bg-hover);
  --tab-bg-hover: var(--bg-hover);
  --tab-panel-border: none;
  --tab-panel-border-radius: 4px;
  --tab-text-color: var(--primary-color);
  --tab-text-active-color: var(--tab-top-line-active-color);
  --tab-text-active-hover-color: var(--tab-text-hover-color);
  --tab-text-hover-color: var(--tab-text-color);
  --signature-placeholder-color: var(--secondary-color);
  --signature-draw-placeholder-color: var(--primary-color);
  --signature-color: var(--primary-color);
  --clear-signature-button-border-width: 0;
  --clear-signature-button-border-style: solid;
  --clear-signature-button-border-color: transparent;
  --clear-signature-button-border-disabled-color: transparent;
  --clear-signature-button-color: var(--primary-color);
  --clear-signature-button-hover-color: var(--clear-signature-button-color);
  --clear-signature-button-active-color: var(--clear-signature-button-color);
  --clear-signature-button-disabled-color: var(--clear-signature-button-color);
  --clear-signature-button-focus-color: var(--clear-signature-button-color);
  --clear-signature-button-bg: var(--dialog-bg-color);
  --clear-signature-button-bg-hover: var(--bg-hover);
  --clear-signature-button-bg-active: #cfcfd8;
  --clear-signature-button-bg-focus: #f0f0f4;
  --clear-signature-button-bg-disabled: color-mix(
    in srgb,
    #f0f0f4,
    transparent 40%
  );
  --save-warning-color: var(--secondary-color);
  --thickness-bg: var(--dialog-bg-color);
  --thickness-label-color: var(--primary-color);
  --thickness-slider-color: var(--primary-color);
  --thickness-border: none;
  --draw-cursor: url(images/cursor-editorInk.svg) 0 16, pointer;

  @media (prefers-color-scheme: dark) {
    --dialog-bg-color: #42414d;
    --bg-hover: #52525e;
    --primary-color: #fbfbfe;
    --secondary-color: #cfcfd8;
    --tab-top-line-active-color: #0df;
    --tab-top-line-inactive-color: #8f8f9d;
    --clear-signature-button-bg-active: #5b5b66;
    --clear-signature-button-bg-focus: #2b2a33;
    --clear-signature-button-bg-disabled: color-mix(
      in srgb,
      #2b2a33,
      transparent 40%
    );
  }

  @media screen and (forced-colors: active) {
    --secondary-color: ButtonText;
    --bg: HighlightText;
    --bg-hover: var(--bg);
    --tab-top-line-active-color: ButtonText;
    --tab-top-line-active-hover-color: HighlightText;
    --tab-top-line-hover-color: SelectedItem;
    --tab-top-line-inactive-color: ButtonText;
    --tab-bottom-line-active-color: var(--tab-top-line-active-color);
    --tab-bottom-line-hover-color: var(--tab-top-line-hover-color);
    --tab-bg: var(--bg);
    --tab-bg-active-color: SelectedItem;
    --tab-bg-active-hover-color: SelectedItem;
    --tab-panel-border: 1px solid ButtonText;
    --tab-panel-border-radius: 8px;
    --tab-text-color: ButtonText;
    --tab-text-active-color: HighlightText;
    --tab-text-active-hover-color: HighlightText;
    --tab-text-hover-color: SelectedItem;
    --signature-color: ButtonText;
    --clear-signature-button-border-width: 1px;
    --clear-signature-button-border-style: solid;
    --clear-signature-button-border-color: ButtonText;
    --clear-signature-button-border-disabled-color: GrayText;
    --clear-signature-button-color: ButtonText;
    --clear-signature-button-hover-color: HighlightText;
    --clear-signature-button-active-color: SelectedItem;
    --clear-signature-button-focus-color: CanvasText;
    --clear-signature-button-disabled-color: GrayText;
    --clear-signature-button-bg: var(--bg);
    --clear-signature-button-bg-hover: SelectedItem;
    --clear-signature-button-bg-active: var(--bg);
    --clear-signature-button-bg-focus: var(--bg);
    --clear-signature-button-bg-disabled: var(--bg);
    --thickness-bg: Canvas;
    --thickness-label-color: CanvasText;
    --thickness-slider-color: ButtonText;
    --thickness-border: 1px solid var(--border-color);
  }

  #addSignatureDialogLabel {
    overflow: hidden;
    position: absolute;
    inset: 0;
    width: 0;
    height: 0;
  }

  &.waiting::after {
    content: "";
    cursor: wait;
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
  }

  .mainContainer {
    [role="tablist"] {
      width: 100%;
      display: flex;
      align-items: flex-start;
      gap: 0;

      > [role="tab"] {
        flex: 1 0 0;
        align-self: stretch;
        background-color: var(--tab-bg);
        padding-inline: 0;
        cursor: default;

        border-inline: 0;
        border-block-width: 1px;
        border-block-style: solid;
        border-block-start-color: var(--tab-top-line-inactive-color);
        border-block-end-color: var(--tab-bottom-line-inactive-color);
        border-radius: 0;

        font: menu;
        font-size: 13px;
        font-style: normal;
        line-height: normal;
        font-weight: 400;
        color: var(--tab-text-color);

        &:hover {
          border-block-start-width: 2px;
          border-block-start-color: var(--tab-top-line-hover-color);
          border-block-end-color: var(--tab-bottom-line-hover-color);
          background-color: var(--tab-bg-hover);
          color: var(--tab-text-hover-color);
        }

        &:focus-visible {
          outline: 2px solid var(--tab-top-line-active-color);
          outline-offset: -2px;
        }

        &[aria-selected="true"] {
          border-block-start-width: 2px;
          border-block-start-color: var(--tab-top-line-active-color);
          border-block-end-color: var(--tab-bottom-line-active-color);
          background-color: var(--tab-bg-active-color);
          font-weight: 590;
          color: var(--tab-text-active-color);

          &:hover {
            border-block-start-color: var(--tab-top-line-active-hover-color);
            background-color: var(--tab-bg-active-hover-color);
            color: var(--tab-text-active-hover-color);
          }
        }
      }
    }

    #addSignatureActionContainer {
      width: 100%;
      height: auto;
      display: flex;
      flex-direction: column;
      align-items: flex-end;
      align-self: stretch;
      gap: 12px;
      padding-inline: 16px;
      box-sizing: border-box;

      > [role="tabpanel"] {
        position: relative;
        width: 100%;
        height: 220px;
        background-color: var(--signature-bg);
        border: var(--tab-panel-border);
        border-radius: var(--tab-panel-border-radius);

        > svg {
          position: absolute;
          inset: 0;
          width: 100%;
          height: 100%;
          background-color: transparent;
        }

        &#addSignatureTypeContainer {
          display: none;

          #addSignatureTypeInput {
            position: absolute;
            inset: 0;
            width: 100%;
            height: 100%;
            border: 0;
            padding: 0;
            text-align: center;
            color: var(--signature-color);
            background-color: transparent;
            border-radius: var(--tab-panel-border-radius);

            font-family:
              "Brush script", "Apple Chancery", "Segoe script",
              "Freestyle Script", "Palace Script MT", "Brush Script MT", TK,
              cursive, serif;
            font-size: 44px;
            font-style: italic;
            font-weight: 400;

            &::-moz-placeholder {
              color: var(--signature-placeholder-color);
              text-align: center;

              font: menu;
              font-style: normal;
              font-weight: 274;
              font-size: 44px;
              line-height: normal;
            }

            &::placeholder {
              color: var(--signature-placeholder-color);
              text-align: center;

              font: menu;
              font-style: normal;
              font-weight: 274;
              font-size: 44px;
              line-height: normal;
            }
          }
        }

        &#addSignatureDrawContainer {
          display: none;

          > span {
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            display: grid;
            align-items: center;
            justify-content: center;

            background-color: transparent;
            color: var(--signature-placeholder-color);
            -webkit-user-select: none;
            -moz-user-select: none;
            user-select: none;
          }

          > svg {
            stroke: var(--signature-color);
            fill: none;
            stroke-opacity: 1;
            stroke-linecap: round;
            stroke-linejoin: round;
            stroke-miterlimit: 10;

            &:hover {
              cursor: var(--draw-cursor);
            }
          }

          #thickness {
            position: absolute;
            width: 100%;
            inset-block-end: 0;
            display: grid;
            align-items: center;
            justify-content: center;
            pointer-events: none;

            > span {
              color: var(--signature-draw-placeholder-color);
            }

            > div {
              width: auto;
              height: auto;
              display: flex;
              align-items: center;
              justify-content: center;
              gap: 8px;
              padding: 6px 8px 7px;
              margin: 0;
              background-color: var(--thickness-bg);
              border-radius: 4px 4px 0 0;
              border-inline: var(--thickness-border);
              border-top: var(--thickness-border);
              pointer-events: auto;
              position: relative;
              top: 1px;

              > label {
                color: var(--thickness-label-color);
              }

              > input {
                width: 100px;
                height: 14px;
                background-color: transparent;

                &::-webkit-slider-runnable-track,
                &::-moz-range-track,
                &::-moz-range-progress {
                  background-color: var(--thickness-slider-color);
                }

                &::-webkit-slider-thumb,
                &::-moz-range-thumb {
                  background-color: var(--thickness-bg);
                }

                border-radius: 4.5px;
                border: 0;
                color: var(--signature-color);
              }
            }
          }
        }

        &#addSignatureImageContainer {
          display: none;

          > svg {
            stroke: none;
            stroke-width: 0;
            fill: var(--signature-color);
            fill-opacity: 1;
          }

          #addSignatureImagePlaceholder {
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            background-color: transparent;
            display: flex;
            flex-direction: column;
            align-items: center;
            justify-content: center;

            span {
              color: var(--signature-placeholder-color);
            }

            a {
              color: var(--open-link-fg);
              text-decoration: underline;
              cursor: pointer;

              &:hover {
                color: var(--open-link-hover-fg);
              }
            }
          }

          #addSignatureFilePicker {
            visibility: hidden;
            position: relative;
            width: 0;
            height: 0;
          }
        }
      }

      &[data-selected="type"] > #addSignatureTypeContainer,
      &[data-selected="draw"] > #addSignatureDrawContainer,
      &[data-selected="image"] > #addSignatureImageContainer {
        display: block;
      }

      #addSignatureControls {
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: flex-start;
        gap: 12px;
        align-self: stretch;

        #horizontalContainer {
          display: flex;
          align-items: flex-end;
          gap: 16px;
          align-self: stretch;

          #addSignatureDescriptionContainer {
            display: flex;
            flex-direction: column;
            align-items: flex-start;
            gap: 4px;
            flex: 1 0 0;

            &:has(input:disabled) > label {
              opacity: 0.4;
            }

            > label {
              width: auto;
            }
          }

          #clearSignatureButton {
            display: flex;
            height: 32px;
            padding: 4px 8px;
            align-items: center;
            background-color: var(--clear-signature-button-bg);
            border-width: var(--clear-signature-button-border-width);
            border-style: var(--clear-signature-button-border-style);
            border-color: var(--clear-signature-button-border-color);
            border-radius: 4px;

            > span {
              display: flex;
              height: 24px;
              align-items: center;
              gap: 4px;
              flex-shrink: 0;

              color: var(--clear-signature-button-color);

              &::after {
                content: "";
                display: inline-block;
                width: 16px;
                height: 16px;
                -webkit-mask-image: var(--clear-signature-button-icon);
                mask-image: var(--clear-signature-button-icon);
                -webkit-mask-size: cover;
                mask-size: cover;
                background-color: var(--clear-signature-button-color);
                flex-shrink: 0;
              }
            }

            &:hover {
              background-color: var(--clear-signature-button-bg-hover);

              > span {
                color: var(--clear-signature-button-hover-color);
                &::after {
                  background-color: var(--clear-signature-button-hover-color);
                }
              }
            }

            &:active {
              background-color: var(--clear-signature-button-bg-active);

              > span {
                color: var(--clear-signature-button-active-color);
                &::after {
                  background-color: var(--clear-signature-button-active-color);
                }
              }
            }

            &:focus-visible {
              background-color: var(--clear-signature-button-bg-focus);

              > span {
                color: var(--clear-signature-button-focus-color);
                &::after {
                  background-color: var(--clear-signature-button-focus-color);
                }
              }
            }

            &:disabled {
              background-color: var(--clear-signature-button-bg-disabled);
              border-color: var(--clear-signature-button-border-disabled-color);

              > span {
                color: var(--clear-signature-button-disabled-color);
                &::after {
                  background-color: var(
                    --clear-signature-button-disabled-color
                  );
                }
              }
            }
          }
        }

        #addSignatureSaveContainer {
          display: grid;
          grid-template-columns: max-content auto;
          gap: 4px;
          width: 100%;

          > input {
            margin: 0;

            &:disabled + label {
              opacity: 0.4;
            }
          }

          > label {
            -webkit-user-select: none;
            -moz-user-select: none;
            user-select: none;
          }

          &:not(.fullStorage) #addSignatureSaveWarning {
            display: none;
          }

          &.fullStorage #addSignatureSaveWarning {
            display: block;
            opacity: 1;
            color: var(--save-warning-color);
            font-size: 11px;
          }
        }
      }
    }
  }
}

#editSignatureDescriptionDialog {
  .mainContainer {
    padding-inline: 16px;
    box-sizing: border-box;

    .title {
      margin-inline-start: 0;
    }

    #editSignatureDescriptionAndView {
      width: auto;
      display: flex;
      justify-content: flex-end;
      align-items: flex-start;
      gap: 12px;
      align-self: stretch;

      #editSignatureDescriptionContainer {
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        gap: 4px;
        flex: 1 1 auto;
      }

      > svg {
        width: 210px;
        height: 180px;
        padding: 8px;
        background-color: var(--signature-bg);

        > path {
          stroke: var(--button-signature-color);
          stroke-width: 1px;
          stroke-linecap: round;
          stroke-linejoin: round;
          stroke-miterlimit: 10;
          vector-effect: non-scaling-stroke;
          fill: none;

          &.contours {
            fill: var(--button-signature-color);
            stroke-width: 0.5px;
          }
        }
      }
    }
  }
}

#editorSignatureParamsToolbar {
  padding: 8px;

  #addSignatureDoorHanger {
    gap: 8px;
    padding: 2px;

    .toolbarAddSignatureButtonContainer {
      height: 32px;
      display: flex;
      justify-content: space-between;
      align-items: center;
      align-self: stretch;
      gap: 8px;

      button {
        border: var(--button-signature-border);
        border-radius: 4px;
        background-color: var(--button-signature-bg);
        color: var(--button-signature-color);

        &:hover {
          background-color: var(--button-signature-hover-bg);
        }

        &:active {
          border: var(--button-signature-active-border);
          background-color: var(--button-signature-active-bg);
          color: var(--button-signature-active-color);

          &::before {
            background-color: var(--button-signature-active-color);
          }
        }

        &:focus-visible {
          outline: var(--focus-ring-outline);

          &::before {
            background-color: var(--button-signature-color);
          }
        }
      }

      .deleteButton {
        &::before {
          -webkit-mask-image: var(--clear-signature-button-icon);
          mask-image: var(--clear-signature-button-icon);
        }
      }

      .toolbarAddSignatureButton {
        width: calc(0.8 * var(--editor-toolbar-min-width));
        height: 100%;
        min-height: var(--menuitem-height);
        aspect-ratio: unset;
        display: flex;
        align-items: center;
        justify-content: flex-start;
        outline: none;
        border-radius: 4px;
        box-sizing: border-box;
        font: message-box;
        position: relative;
        flex: 1 1 auto;
        padding: 0;
        gap: 8px;
        text-align: start;
        white-space: normal;
        cursor: default;
        overflow: hidden;

        > svg {
          display: inline-block;
          height: 100%;
          aspect-ratio: 1;
          background-color: var(--signature-bg);
          flex: none;
          padding: 4px;
          box-sizing: border-box;
          border: none;
          border-radius: 4px;

          > path {
            stroke: var(--button-signature-color);
            stroke-width: 1px;
            stroke-linecap: round;
            stroke-linejoin: round;
            stroke-miterlimit: 10;
            vector-effect: non-scaling-stroke;
            fill: none;

            &.contours {
              fill: var(--button-signature-color);
              stroke-width: 0.5px;
            }
          }
        }

        &:is(:hover, :active) > svg {
          border-radius: 4px 0 0 4px;
          background-color: var(--signature-hover-bg);
        }

        &:hover {
          > span {
            color: var(--button-signature-hover-color);
          }
        }

        &:active {
          background-color: var(--button-signature-active-bg);
        }

        &:is([disabled="disabled"], [disabled]) {
          opacity: 0.5;
          pointer-events: none;
        }

        > span {
          height: auto;
          text-overflow: ellipsis;
          white-space: nowrap;
          flex: 1 1 auto;
          font: menu;
          font-size: 13px;
          font-style: normal;
          font-weight: 400;
          line-height: normal;
          overflow: hidden;
        }
      }
    }
  }
}

.editDescription.altText {
  --alt-text-add-image: url(images/editor-toolbar-edit.svg) !important;

  &::before {
    width: 16px !important;
    height: 16px !important;
  }
}

.commentPopup,
#commentManagerDialog {
  width: 360px;
  max-width: 100%;
  min-width: 200px;
  position: absolute;
  padding: 8px 16px 16px;
  margin-left: 0;
  margin-top: 0;
  box-sizing: border-box;

  border-radius: 8px;
}

#commentManagerDialog {
  --comment-close-button-icon: url(images/comment-closeButton.svg);

  .mainContainer {
    width: 100%;
    height: auto;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 4px;

    #commentManagerToolbar {
      width: 100%;
      height: 32px;
      display: flex;
      justify-content: flex-start;
      align-items: flex-start;
      gap: 8px;
      align-self: stretch;

      cursor: move;
    }

    #commentManagerTextInput {
      width: 100%;
      min-height: 132px;
      margin-bottom: 12px;
    }
  }
}

.annotationLayer.disabled :is(.annotationCommentButton) {
  display: none;
}

:is(.annotationLayer, .annotationEditorLayer) {
  .annotationCommentButton {
    color-scheme: light dark;
    --comment-button-bg: light-dark(white, #1c1b22);
    --comment-button-fg: light-dark(#5b5b66, #fbfbfe);
    --comment-button-active-bg: light-dark(#0041a4, #a6ecf4);
    --comment-button-active-fg: light-dark(white, #15141a);
    --comment-button-hover-bg: light-dark(#0053cb, #61dce9);
    --comment-button-hover-fg: light-dark(white, #15141a);
    --comment-button-selected-bg: light-dark(#0062fa, #00cadb);
    --comment-button-border-color: light-dark(#8f8f9d, #bfbfc9);
    --comment-button-active-border-color: var(--comment-button-active-bg);
    --comment-button-focus-border-color: light-dark(#cfcfd8, #3a3944);
    --comment-button-hover-border-color: var(--comment-button-hover-bg);
    --comment-button-selected-border-color: var(--comment-button-selected-bg);
    --comment-button-selected-fg: light-dark(white, #15141a);
    --comment-button-dim: 24px;
    --comment-button-box-shadow:
      0 0.25px 0.75px 0 light-dark(rgb(0 0 0 / 0.05), rgb(0 0 0 / 0.2)),
      0 2px 6px 0 light-dark(rgb(0 0 0 / 0.1), rgb(0 0 0 / 0.4));
    --comment-button-focus-outline-color: light-dark(#0062fa, #00cadb);

    @media screen and (forced-colors: active) {
      --comment-button-bg: ButtonFace;
      --comment-button-fg: ButtonText;
      --comment-button-hover-bg: SelectedItemText;
      --comment-button-hover-fg: SelectedItem;
      --comment-button-active-bg: SelectedItemText;
      --comment-button-active-fg: SelectedItem;
      --comment-button-border-color: ButtonBorder;
      --comment-button-active-border-color: ButtonBorder;
      --comment-button-hover-border-color: SelectedItem;
      --comment-button-box-shadow: none;
      --comment-button-focus-outline-color: CanvasText;
      --comment-button-selected-bg: ButtonBorder;
      --comment-button-selected-fg: ButtonFace;
    }

    position: absolute;
    width: var(--comment-button-dim);
    height: var(--comment-button-dim);
    background-color: var(--comment-button-bg);
    border-radius: 6px 6px 6px 0;
    border: 1px solid var(--comment-button-border-color);
    box-shadow: var(--comment-button-box-shadow);
    cursor: auto;
    z-index: 1;
    padding: 4px;
    margin: 0;
    box-sizing: border-box;
    pointer-events: auto;

    &:dir(rtl) {
      border-radius: 6px 6px 0;
    }

    &::before {
      content: "";
      display: inline-block;
      width: 100%;
      height: 100%;
      -webkit-mask-repeat: no-repeat;
      mask-repeat: no-repeat;
      -webkit-mask-size: cover;
      mask-size: cover;
      -webkit-mask-image: var(--comment-edit-button-icon);
      mask-image: var(--comment-edit-button-icon);
      background-color: var(--comment-button-fg);
      margin: 0;
      padding: 0;
      transform: scaleX(var(--dir-factor));
    }

    &:focus-visible {
      outline: 2px solid var(--comment-button-focus-outline-color);
      outline-offset: 1px;
      border-color: var(--comment-button-focus-border-color);
    }

    &:hover {
      background-color: var(--comment-button-hover-bg) !important;
      border-color: var(--comment-button-hover-border-color);

      &::before {
        background-color: var(--comment-button-hover-fg);
      }
    }

    &:active {
      background-color: var(--comment-button-active-bg) !important;
      border-color: var(--comment-button-active-border-color);

      &::before {
        background-color: var(--comment-button-active-fg);
      }
    }

    &.selected {
      background-color: var(--comment-button-selected-bg) !important;
      border-color: var(--comment-button-selected-border-color);

      &::before {
        background-color: var(--comment-button-selected-fg);
      }
    }
  }
}

#editorCommentsSidebar,
.commentPopup {
  --comment-close-button-icon: url(images/comment-closeButton.svg);
  --comment-popup-edit-button-icon: url(images/comment-popup-editButton.svg);
  --comment-popup-delete-button-icon: url(images/editor-toolbar-delete.svg);

  --comment-date-fg-color: light-dark(
    rgb(21 20 26 / 0.69),
    rgb(251 251 254 / 0.69)
  );
  --comment-bg-color: light-dark(#f9f9fb, #1c1b22);
  --comment-hover-bg-color: light-dark(#e0e0e6, #2c2b33);
  --comment-active-bg-color: light-dark(#d1d1d9, #3a3944);
  --comment-hover-brightness: 0.89;
  --comment-hover-filter: brightness(var(--comment-hover-brightness));
  --comment-active-brightness: 0.825;
  --comment-active-filter: brightness(var(--comment-active-brightness));
  --comment-border-color: light-dark(#f0f0f4, #52525e);
  --comment-focus-outline-color: light-dark(#0062fa, #00cadb);
  --comment-fg-color: light-dark(#15141a, #fbfbfe);
  --comment-count-bg-color: light-dark(#e2f7ff, #00317e);
  --comment-indicator-active-fg-color: light-dark(#0041a4, #a6ecf4);
  --comment-indicator-active-filter: brightness(
    calc(1 / var(--comment-active-brightness))
  );
  --comment-indicator-focus-fg-color: light-dark(#5b5b66, #fbfbfe);
  --comment-indicator-hover-fg-color: light-dark(#0053cb, #61dce9);
  --comment-indicator-hover-filter: brightness(
    calc(1 / var(--comment-hover-brightness))
  );
  --comment-indicator-selected-fg-color: light-dark(#0062fa, #00cadb);

  --button-comment-bg: transparent;
  --button-comment-color: var(--main-color);
  --button-comment-active-bg: light-dark(#cfcfd8, #5b5b66);
  --button-comment-active-border: none;
  --button-comment-active-color: var(--button-comment-color);
  --button-comment-border: none;
  --button-comment-hover-bg: light-dark(#e0e0e6, #52525e);
  --button-comment-hover-color: var(--button-comment-color);

  --link-fg-color: light-dark(#0060df, #0df);
  --link-hover-fg-color: light-dark(#0250bb, #80ebff);

  @media screen and (forced-colors: active) {
    --comment-date-fg-color: CanvasText;
    --comment-bg-color: Canvas;
    --comment-hover-bg-color: Canvas;
    --comment-hover-filter: none;
    --comment-active-bg-color: Canvas;
    --comment-active-filter: none;
    --comment-border-color: CanvasText;
    --comment-fg-color: CanvasText;
    --comment-count-bg-color: Canvas;
    --comment-indicator-active-fg-color: SelectedItem;
    --comment-indicator-focus-fg-color: CanvasText;
    --comment-indicator-hover-fg-color: CanvasText;
    --comment-indicator-selected-fg-color: SelectedItem;
    --button-comment-bg: ButtonFace;
    --button-comment-color: ButtonText;
    --button-comment-active-bg: Highlight;
    --button-comment-active-color: HighlightText;
    --button-comment-border: 1px solid ButtonText;
    --button-comment-hover-bg: Highlight;
    --button-comment-hover-color: HighlightText;
    --link-fg-color: LinkText;
    --link-hover-fg-color: LinkText;
  }
}

#editorCommentsSidebar {
  display: flex;
  height: auto;
  padding-bottom: 16px;
  flex-direction: column;
  align-items: flex-start;
  overflow-y: visible;

  #editorCommentsSidebarHeader {
    width: 100%;
    box-sizing: border-box;
    padding: 16px;
    display: flex;
    align-items: center;
    justify-content: space-between;

    .commentCount {
      display: flex;
      align-items: baseline;
      gap: 6px;
      -webkit-user-select: none;
      -moz-user-select: none;
      user-select: none;

      #editorCommentsSidebarTitle {
        font: menu;
        font-style: normal;
        font-weight: 590;
        line-height: normal;
        font-size: 17px;
        color: var(--comment-fg-color);
      }

      #editorCommentsSidebarCount {
        padding: 0 4px;
        border-radius: 4px;
        background-color: var(--comment-count-bg-color);

        color: var(--comment-fg-color);
        text-align: center;

        font: menu;
        font-size: 13px;
        font-style: normal;
        font-weight: 400;
        line-height: normal;
      }
    }

    #editorCommentsSidebarCloseButton {
      width: 32px;
      height: 32px;
      padding: 8px;
      border-radius: 4px;
      border: var(--button-comment-border);
      background-color: var(--button-comment-bg);
      cursor: pointer;

      &::before {
        content: "";
        display: inline-block;
        width: 100%;
        height: 100%;
        -webkit-mask-repeat: no-repeat;
        mask-repeat: no-repeat;
        -webkit-mask-position: center;
        mask-position: center;
        -webkit-mask-image: var(--comment-close-button-icon);
        mask-image: var(--comment-close-button-icon);
        background-color: var(--button-comment-color);
      }

      &:hover {
        background-color: var(--button-comment-hover-bg);

        &::before {
          background-color: var(--button-comment-hover-color);
        }
      }

      &:active {
        border: var(--button-comment-active-border);
        background-color: var(--button-comment-active-bg);

        &::before {
          background-color: var(--button-comment-active-color);
        }
      }

      &:focus-visible {
        outline: var(--focus-ring-outline);
      }

      > span {
        display: inline-block;
        width: 0;
        height: 0;
        overflow: hidden;
      }
    }
  }

  #editorCommentsSidebarListContainer {
    overflow: auto;
    width: 100%;

    #editorCommentsSidebarList {
      display: flex;
      width: auto;
      padding: 4px 16px;
      gap: 10px;
      align-items: flex-start;
      flex-direction: column;
      list-style-type: none;

      .sidebarComment {
        display: flex;
        width: auto;
        padding: 8px 16px 16px;
        flex-direction: column;
        align-items: flex-start;
        align-self: stretch;
        gap: 4px;

        border-radius: 8px;
        border: 0.5px solid var(--comment-border-color);
        background-color: var(--comment-bg-color);

        &:not(.noComments) {
          &:hover {
            @media screen and (forced-colors: active) {
              background-color: var(--comment-hover-bg-color);
            }
            filter: var(--comment-hover-filter);

            time::after {
              display: inline-block;
              background-color: var(--comment-indicator-hover-fg-color);
              filter: var(--comment-indicator-hover-filter);
            }
          }

          &:active {
            @media screen and (forced-colors: active) {
              background-color: var(--comment-active-bg-color);
            }
            filter: var(--comment-active-filter);

            time::after {
              display: inline-block;
              background-color: var(--comment-indicator-active-fg-color);
              filter: var(--comment-indicator-active-filter);
            }
          }

          &:is(:focus, :focus-visible) time::after {
            display: inline-block;
            background-color: var(--comment-indicator-focus-fg-color);
          }

          &:focus-visible {
            outline: 2px solid var(--comment-focus-outline-color);
            outline-offset: 2px;
          }

          &.selected {
            .sidebarCommentText {
              max-height: -moz-fit-content;
              max-height: fit-content;
              -webkit-line-clamp: unset;
            }

            time::after {
              display: inline-block;
              background-color: var(--comment-indicator-selected-fg-color);
            }
          }
        }

        .sidebarCommentText {
          font: menu;
          font-style: normal;
          font-weight: 400;
          line-height: normal;
          font-size: 15px;
          width: 100%;
          height: -moz-fit-content;
          height: fit-content;
          max-height: 80px;
          display: -webkit-box;
          -webkit-box-orient: vertical;
          -webkit-line-clamp: 2;
          overflow: hidden;
          overflow-wrap: break-word;

          .richText {
            --total-scale-factor: 1.5;
          }
        }

        &.noComments {
          .sidebarCommentText {
            max-height: -moz-fit-content;
            max-height: fit-content;
            -webkit-line-clamp: unset;
            -webkit-user-select: none;
            -moz-user-select: none;
            user-select: none;
          }

          a {
            font: menu;
            font-style: normal;
            font-weight: 400;
            line-height: normal;
            font-size: 15px;
            width: 100%;
            height: auto;
            overflow-wrap: break-word;
            margin-block-start: 15px;
            color: var(--link-fg-color);

            &:focus-visible {
              outline: var(--focus-ring-outline);
            }

            &:hover {
              color: var(--link-hover-fg-color);
            }
          }
        }

        time {
          width: 100%;
          display: inline-flex;
          align-items: center;
          justify-content: space-between;

          font: menu;
          font-style: normal;
          font-weight: 400;
          line-height: normal;
          font-size: 13px;

          &::after {
            content: "";
            display: none;
            width: 16px;
            height: 16px;
            -webkit-mask-repeat: no-repeat;
            mask-repeat: no-repeat;
            -webkit-mask-position: center;
            mask-position: center;
            -webkit-mask-image: var(--comment-edit-button-icon);
            mask-image: var(--comment-edit-button-icon);
            transform: scaleX(var(--dir-factor));
          }
        }
      }
    }
  }
}

.commentPopup {
  color-scheme: light dark;

  --divider-color: light-dark(#cfcfd8, #3a3944);
  --comment-shadow:
    0 0.5px 2px 0 light-dark(rgb(0 0 0 / 0.05), rgb(0 0 0 / 0.2)),
    0 4px 16px 0 light-dark(rgb(0 0 0 / 0.1), rgb(0 0 0 / 0.4));

  @media screen and (forced-colors: active) {
    --divider-color: CanvasText;
    --comment-shadow: none;
  }

  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 12px;
  z-index: 100001;
  pointer-events: auto;
  margin-top: 2px;

  border: 0.5px solid var(--comment-border-color);
  background: var(--comment-bg-color);
  box-shadow: var(--comment-shadow);

  &:focus-visible {
    outline: none;
  }

  &.dragging {
    cursor: move !important;

    * {
      cursor: move !important;
    }

    button {
      pointer-events: none !important;
    }
  }

  &:not(.selected) .commentPopupButtons {
    visibility: hidden !important;
  }

  hr {
    width: 100%;
    height: 1px;
    border: none;
    border-top: 1px solid var(--divider-color);
    margin: 0;
    padding: 0;
  }

  .commentPopupTop {
    display: flex;
    width: 100%;
    height: auto;
    padding-bottom: 4px;
    justify-content: space-between;
    align-items: center;
    align-self: stretch;
    cursor: move;
    -webkit-user-select: none;
    -moz-user-select: none;
    user-select: none;

    .commentPopupTime {
      font: menu;
      font-style: normal;
      font-weight: 400;
      line-height: normal;
      font-size: 13px;
      color: var(--comment-date-fg-color);
    }

    .commentPopupButtons {
      display: flex;
      align-items: center;
      gap: 2px;
      cursor: default;

      > button {
        width: 32px;
        height: 32px;
        padding: 8px;
        border: var(--button-comment-border);
        border-radius: 4px;
        background-color: var(--button-comment-bg);
        color: var(--button-comment-color);

        &:hover {
          background-color: var(--button-comment-hover-bg);

          &::before {
            background-color: var(--button-comment-hover-color);
          }
        }

        &:active {
          border: var(--button-comment-active-border);
          background-color: var(--button-comment-active-bg);
          color: var(--button-comment-active-color);

          &::before {
            background-color: var(--button-comment-active-color);
          }
        }

        &:focus-visible {
          background-color: var(--button-comment-hover-bg);
          outline: 2px solid var(--comment-focus-outline-color);
          outline-offset: 0;
        }

        &::before {
          content: "";
          display: inline-block;
          width: 100%;
          height: 100%;
          -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
          -webkit-mask-position: center;
          mask-position: center;
        }

        &.commentPopupEdit::before {
          -webkit-mask-image: var(--comment-popup-edit-button-icon);
          mask-image: var(--comment-popup-edit-button-icon);
        }

        &.commentPopupDelete::before {
          -webkit-mask-image: var(--comment-popup-delete-button-icon);
          mask-image: var(--comment-popup-delete-button-icon);
        }
      }
    }
  }

  .commentPopupText {
    width: 100%;
    height: auto;

    font: menu;
    font-style: normal;
    font-weight: 400;
    line-height: normal;
    font-size: 15px;
    color: var(--comment-fg-color);
  }
}

.commentPopupText,
.sidebarCommentText .richText {
  margin-block: 0;

  p:first-of-type {
    margin-block: 0;
  }

  > * {
    white-space: pre-wrap;
    font-size: max(15px, calc(10px * var(--total-scale-factor)));
    overflow-wrap: break-word;
  }

  span {
    color: var(--comment-fg-color) !important;
  }
}

:root {
  --editor-toolbar-vert-offset: 6px;
  --outline-width: 2px;
  --outline-color: #0060df;
  --outline-around-width: 1px;
  --outline-around-color: #f0f0f4;
  --hover-outline-around-color: var(--outline-around-color);
  --focus-outline: solid var(--outline-width) var(--outline-color);
  --unfocus-outline: solid var(--outline-width) transparent;
  --focus-outline-around: solid var(--outline-around-width)
    var(--outline-around-color);
  --hover-outline-color: #8f8f9d;
  --hover-outline: solid var(--outline-width) var(--hover-outline-color);
  --hover-outline-around: solid var(--outline-around-width)
    var(--hover-outline-around-color);
  --freetext-line-height: 1.35;
  --freetext-padding: 2px;
  --resizer-bg-color: var(--outline-color);
  --resizer-size: 6px;
  --resizer-shift: calc(
    0px - (var(--outline-width) + var(--resizer-size)) / 2 -
      var(--outline-around-width)
  );
  --editorFreeText-editing-cursor: text;
  --editorInk-editing-cursor: url(images/cursor-editorInk.svg) 0 16, pointer;
  --editorHighlight-editing-cursor:
    url(images/cursor-editorTextHighlight.svg) 24 24, text;
  --editorFreeHighlight-editing-cursor:
    url(images/cursor-editorFreeHighlight.svg) 1 18, pointer;

  --new-alt-text-warning-image: url(images/altText_warning.svg);
}

.textLayer {
  &.highlighting {
    cursor: var(--editorFreeHighlight-editing-cursor);

    &:not(.free) span {
      cursor: var(--editorHighlight-editing-cursor);

      &[role="img"] {
        cursor: var(--editorFreeHighlight-editing-cursor);
      }
    }

    &.free span {
      cursor: var(--editorFreeHighlight-editing-cursor);
    }
  }
}

.page:has(.annotationEditorLayer.nonEditing)
  .annotationLayer
  .editorAnnotation {
  position: absolute;
  pointer-events: none;
}

#viewerContainer.pdfPresentationMode:fullscreen,
.annotationEditorLayer.disabled {
  .noAltTextBadge {
    display: none !important;
  }
}

@media (min-resolution: 1.1dppx) {
  :root {
    --editorFreeText-editing-cursor:
      url(images/cursor-editorFreeText.svg) 0 16, text;
  }
}

@media screen and (forced-colors: active) {
  :root {
    --outline-color: CanvasText;
    --outline-around-color: ButtonFace;
    --resizer-bg-color: ButtonText;
    --hover-outline-color: Highlight;
    --hover-outline-around-color: SelectedItemText;
  }
}

[data-editor-rotation="90"] {
  transform: rotate(90deg);
}

[data-editor-rotation="180"] {
  transform: rotate(180deg);
}

[data-editor-rotation="270"] {
  transform: rotate(270deg);
}

.annotationEditorLayer {
  background: transparent;
  position: absolute;
  inset: 0;
  font-size: calc(100px * var(--total-scale-factor));
  transform-origin: 0 0;
  cursor: auto;

  .selectedEditor {
    z-index: 100000 !important;
  }

  &.drawing * {
    pointer-events: none !important;
  }

  &.getElements {
    pointer-events: auto !important;
    > div {
      pointer-events: auto !important;
    }
  }
}

.annotationEditorLayer.waiting {
  content: "";
  cursor: wait;
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}

.annotationEditorLayer.disabled {
  pointer-events: none;

  &.highlightEditing
    :is(
      .freeTextEditor,
      .inkEditor,
      .stampEditor,
      .signatureEditor,
      .commentPopup
    ) {
    pointer-events: auto;
  }
}

.annotationEditorLayer.freetextEditing {
  cursor: var(--editorFreeText-editing-cursor);
}

.annotationEditorLayer.inkEditing {
  cursor: var(--editorInk-editing-cursor);
}

.annotationEditorLayer .draw {
  box-sizing: border-box;
}

.annotationEditorLayer
  :is(.freeTextEditor, .inkEditor, .stampEditor, .signatureEditor) {
  position: absolute;
  background: transparent;
  z-index: 1;
  transform-origin: 0 0;
  cursor: auto;
  max-width: 100%;
  max-height: 100%;
  border: var(--unfocus-outline);

  &.draggable.selectedEditor {
    cursor: move;
  }

  &.selectedEditor {
    border: var(--focus-outline);
    outline: var(--focus-outline-around);

    &::before {
      content: "";
      position: absolute;
      inset: 0;
      border: var(--focus-outline-around);
      pointer-events: none;
    }
  }

  &:hover:not(.selectedEditor) {
    border: var(--hover-outline);
    outline: var(--hover-outline-around);

    &::before {
      content: "";
      position: absolute;
      inset: 0;
      border: var(--focus-outline-around);
    }
  }
}

.annotationEditorLayer
  :is(
    .freeTextEditor,
    .inkEditor,
    .stampEditor,
    .highlightEditor,
    .signatureEditor
  ),
.textLayer {
  .editToolbar {
    --editor-toolbar-delete-image: url(images/editor-toolbar-delete.svg);
    --editor-toolbar-bg-color: light-dark(#f0f0f4, #2b2a33);
    --editor-toolbar-highlight-image: url(images/toolbarButton-editorHighlight.svg);
    --editor-toolbar-fg-color: light-dark(#2e2e56, #fbfbfe);
    --editor-toolbar-border-color: #8f8f9d;
    --editor-toolbar-hover-border-color: var(--editor-toolbar-border-color);
    --editor-toolbar-hover-bg-color: light-dark(#e0e0e6, #52525e);
    --editor-toolbar-hover-fg-color: var(--editor-toolbar-fg-color);
    --editor-toolbar-hover-outline: none;
    --editor-toolbar-focus-outline-color: light-dark(#0060df, #0df);
    --editor-toolbar-shadow: 0 2px 6px 0 rgb(58 57 68 / 0.2);
    --editor-toolbar-height: 28px;
    --editor-toolbar-padding: 2px;
    --alt-text-done-color: light-dark(#2ac3a2, #54ffbd);
    --alt-text-warning-color: light-dark(#0090ed, #80ebff);
    --alt-text-hover-done-color: var(--alt-text-done-color);
    --alt-text-hover-warning-color: var(--alt-text-warning-color);

    @media screen and (forced-colors: active) {
      --editor-toolbar-bg-color: ButtonFace;
      --editor-toolbar-fg-color: ButtonText;
      --editor-toolbar-border-color: ButtonText;
      --editor-toolbar-hover-border-color: AccentColor;
      --editor-toolbar-hover-bg-color: ButtonFace;
      --editor-toolbar-hover-fg-color: AccentColor;
      --editor-toolbar-hover-outline: 2px solid
        var(--editor-toolbar-hover-border-color);
      --editor-toolbar-focus-outline-color: ButtonBorder;
      --editor-toolbar-shadow: none;
      --alt-text-done-color: var(--editor-toolbar-fg-color);
      --alt-text-warning-color: var(--editor-toolbar-fg-color);
      --alt-text-hover-done-color: var(--editor-toolbar-hover-fg-color);
      --alt-text-hover-warning-color: var(--editor-toolbar-hover-fg-color);
    }

    display: flex;
    width: -moz-fit-content;
    width: fit-content;
    height: var(--editor-toolbar-height);
    flex-direction: column;
    justify-content: center;
    align-items: center;
    cursor: default;
    pointer-events: auto;
    box-sizing: content-box;
    padding: var(--editor-toolbar-padding);
    -webkit-user-select: none;
    -moz-user-select: none;
    user-select: none;

    position: absolute;
    inset-inline-end: 0;
    inset-block-start: calc(100% + var(--editor-toolbar-vert-offset));

    border-radius: 6px;
    background-color: var(--editor-toolbar-bg-color);
    border: 1px solid var(--editor-toolbar-border-color);
    box-shadow: var(--editor-toolbar-shadow);

    &.hidden {
      display: none;
    }

    &:has(:focus-visible) {
      border-color: transparent;
    }

    &:dir(ltr) {
      transform-origin: 100% 0;
    }

    &:dir(rtl) {
      transform-origin: 0 0;
    }

    .buttons {
      display: flex;
      justify-content: center;
      align-items: center;
      gap: 0;
      height: 100%;

      button {
        padding: 0;
      }

      .divider {
        width: 0;
        height: calc(
          2 * var(--editor-toolbar-padding) + var(--editor-toolbar-height)
        );
        border-left: 1px solid var(--editor-toolbar-border-color);
        border-right: none;
        display: inline-block;
        margin-inline: 2px;
      }

      .basic {
        width: var(--editor-toolbar-height);

        &::before {
          content: "";
          -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
          -webkit-mask-position: center;
          mask-position: center;
          display: inline-block;
          background-color: var(--editor-toolbar-fg-color);
          width: 100%;
          height: 100%;
        }

        &:hover::before {
          background-color: var(--editor-toolbar-hover-fg-color);
        }

        &.highlightButton::before {
          -webkit-mask-image: var(--editor-toolbar-highlight-image);
          mask-image: var(--editor-toolbar-highlight-image);
        }

        &.commentButton::before {
          -webkit-mask-image: var(--comment-edit-button-icon);
          mask-image: var(--comment-edit-button-icon);
        }

        &.deleteButton::before {
          -webkit-mask-image: var(--editor-toolbar-delete-image);
          mask-image: var(--editor-toolbar-delete-image);
        }
      }

      > * {
        height: var(--editor-toolbar-height);
      }

      > :not(.divider) {
        border: none;
        background-color: transparent;
        cursor: pointer;

        &:hover {
          border-radius: 2px;
          background-color: var(--editor-toolbar-hover-bg-color);
          color: var(--editor-toolbar-hover-fg-color);
          outline: var(--editor-toolbar-hover-outline);
          outline-offset: 1px;

          &:active {
            outline: none;
          }
        }

        &:focus-visible {
          border-radius: 2px;
          outline: 2px solid var(--editor-toolbar-focus-outline-color);
        }
      }

      .altText {
        --alt-text-add-image: url(images/altText_add.svg);
        --alt-text-done-image: url(images/altText_done.svg);

        display: flex;
        align-items: center;
        justify-content: center;
        width: -moz-max-content;
        width: max-content;
        padding-inline: 8px;
        pointer-events: all;
        font: menu;
        font-weight: 590;
        font-size: 12px;
        color: var(--editor-toolbar-fg-color);

        &:disabled {
          pointer-events: none;
        }

        &::before {
          content: "";
          -webkit-mask-image: var(--alt-text-add-image);
          mask-image: var(--alt-text-add-image);
          -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
          -webkit-mask-position: center;
          mask-position: center;
          display: inline-block;
          width: 12px;
          height: 13px;
          background-color: var(--editor-toolbar-fg-color);
          margin-inline-end: 4px;
        }

        &:hover::before {
          background-color: var(--editor-toolbar-hover-fg-color);
        }

        &.done::before {
          -webkit-mask-image: var(--alt-text-done-image);
          mask-image: var(--alt-text-done-image);
        }

        &.new {
          &::before {
            width: 16px;
            height: 16px;
            -webkit-mask-image: var(--new-alt-text-warning-image);
            mask-image: var(--new-alt-text-warning-image);
            background-color: var(--alt-text-warning-color);
            -webkit-mask-size: cover;
            mask-size: cover;
          }

          &:hover::before {
            background-color: var(--alt-text-hover-warning-color);
          }

          &.done {
            &::before {
              -webkit-mask-image: var(--alt-text-done-image);
              mask-image: var(--alt-text-done-image);
              background-color: var(--alt-text-done-color);
            }

            &:hover::before {
              background-color: var(--alt-text-hover-done-color);
            }
          }
        }

        .tooltip {
          display: none;
          word-wrap: anywhere;

          &.show {
            --alt-text-tooltip-bg: light-dark(#f0f0f4, #1c1b22);
            --alt-text-tooltip-fg: light-dark(#15141a, #fbfbfe);
            --alt-text-tooltip-border: #8f8f9d;
            --alt-text-tooltip-shadow: 0 2px 6px 0
              light-dark(rgb(58 57 68 / 0.2), #15141a);

            @media screen and (forced-colors: active) {
              --alt-text-tooltip-bg: Canvas;
              --alt-text-tooltip-fg: CanvasText;
              --alt-text-tooltip-border: CanvasText;
              --alt-text-tooltip-shadow: none;
            }

            display: inline-flex;
            flex-direction: column;
            align-items: center;
            justify-content: center;
            position: absolute;
            top: calc(100% + 2px);
            inset-inline-start: 0;
            padding-block: 2px 3px;
            padding-inline: 3px;
            max-width: 300px;
            width: -moz-max-content;
            width: max-content;
            height: auto;
            font-size: 12px;

            border: 0.5px solid var(--alt-text-tooltip-border);
            background: var(--alt-text-tooltip-bg);
            box-shadow: var(--alt-text-tooltip-shadow);
            color: var(--alt-text-tooltip-fg);

            pointer-events: none;
          }
        }
      }

      .comment {
        width: var(--editor-toolbar-height);

        &::before {
          content: "";
          -webkit-mask-image: var(--comment-edit-button-icon);
          mask-image: var(--comment-edit-button-icon);
          -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
          -webkit-mask-position: center;
          mask-position: center;
          display: inline-block;
          background-color: var(--editor-toolbar-fg-color);
          width: 100%;
          height: 100%;
        }
      }
    }
  }
}

.annotationEditorLayer .freeTextEditor {
  padding: calc(var(--freetext-padding) * var(--total-scale-factor));
  width: auto;
  height: auto;
  touch-action: none;
}

.annotationEditorLayer .freeTextEditor .internal {
  background: transparent;
  border: none;
  inset: 0;
  overflow: visible;
  white-space: nowrap;
  font: 10px sans-serif;
  line-height: var(--freetext-line-height);
  text-align: start;
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
}

.annotationEditorLayer .freeTextEditor .overlay {
  position: absolute;
  display: none;
  background: transparent;
  inset: 0;
  width: 100%;
  height: 100%;
}

.annotationEditorLayer freeTextEditor .overlay.enabled {
  display: block;
}

.annotationEditorLayer .freeTextEditor .internal:empty::before {
  content: attr(default-content);
  color: gray;
}

.annotationEditorLayer .freeTextEditor .internal:focus {
  outline: none;
  -webkit-user-select: auto;
  -moz-user-select: auto;
  user-select: auto;
}

.annotationEditorLayer .inkEditor {
  width: 100%;
  height: 100%;
}

.annotationEditorLayer .inkEditor.editing {
  cursor: inherit;
}

.annotationEditorLayer .inkEditor .inkEditorCanvas {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  touch-action: none;
}

.annotationEditorLayer .stampEditor {
  width: auto;
  height: auto;

  canvas {
    position: absolute;
    width: 100%;
    height: 100%;
    margin: 0;
    top: 0;
    left: 0;
  }

  .noAltTextBadge {
    --no-alt-text-badge-border-color: light-dark(#f0f0f4, #52525e);
    --no-alt-text-badge-bg-color: light-dark(#cfcfd8, #fbfbfe);
    --no-alt-text-badge-fg-color: light-dark(#5b5b66, #15141a);

    @media screen and (forced-colors: active) {
      --no-alt-text-badge-border-color: ButtonText;
      --no-alt-text-badge-bg-color: ButtonFace;
      --no-alt-text-badge-fg-color: ButtonText;
    }

    position: absolute;
    inset-inline-end: 5px;
    inset-block-end: 5px;
    display: inline-flex;
    width: 32px;
    height: 32px;
    padding: 3px;
    justify-content: center;
    align-items: center;
    pointer-events: none;
    z-index: 1;

    border-radius: 2px;
    border: 1px solid var(--no-alt-text-badge-border-color);
    background: var(--no-alt-text-badge-bg-color);

    &::before {
      content: "";
      display: inline-block;
      width: 16px;
      height: 16px;
      -webkit-mask-image: var(--new-alt-text-warning-image);
      mask-image: var(--new-alt-text-warning-image);
      -webkit-mask-size: cover;
      mask-size: cover;
      background-color: var(--no-alt-text-badge-fg-color);
    }
  }
}

.annotationEditorLayer {
  :is(.freeTextEditor, .inkEditor, .stampEditor, .signatureEditor) {
    & > .resizers {
      position: absolute;
      inset: 0;
      z-index: 1;

      &.hidden {
        display: none;
      }

      & > .resizer {
        width: var(--resizer-size);
        height: var(--resizer-size);
        background: content-box var(--resizer-bg-color);
        border: var(--focus-outline-around);
        border-radius: 2px;
        position: absolute;

        &.topLeft {
          top: var(--resizer-shift);
          left: var(--resizer-shift);
        }

        &.topMiddle {
          top: var(--resizer-shift);
          left: calc(50% + var(--resizer-shift));
        }

        &.topRight {
          top: var(--resizer-shift);
          right: var(--resizer-shift);
        }

        &.middleRight {
          top: calc(50% + var(--resizer-shift));
          right: var(--resizer-shift);
        }

        &.bottomRight {
          bottom: var(--resizer-shift);
          right: var(--resizer-shift);
        }

        &.bottomMiddle {
          bottom: var(--resizer-shift);
          left: calc(50% + var(--resizer-shift));
        }

        &.bottomLeft {
          bottom: var(--resizer-shift);
          left: var(--resizer-shift);
        }

        &.middleLeft {
          top: calc(50% + var(--resizer-shift));
          left: var(--resizer-shift);
        }
      }
    }
  }

  &[data-main-rotation="0"]
    :is([data-editor-rotation="0"], [data-editor-rotation="180"]),
  &[data-main-rotation="90"]
    :is([data-editor-rotation="270"], [data-editor-rotation="90"]),
  &[data-main-rotation="180"]
    :is([data-editor-rotation="180"], [data-editor-rotation="0"]),
  &[data-main-rotation="270"]
    :is([data-editor-rotation="90"], [data-editor-rotation="270"]) {
    & > .resizers > .resizer {
      &.topLeft,
      &.bottomRight {
        cursor: nwse-resize;
      }

      &.topMiddle,
      &.bottomMiddle {
        cursor: ns-resize;
      }

      &.topRight,
      &.bottomLeft {
        cursor: nesw-resize;
      }

      &.middleRight,
      &.middleLeft {
        cursor: ew-resize;
      }
    }
  }

  &[data-main-rotation="0"]
    :is([data-editor-rotation="90"], [data-editor-rotation="270"]),
  &[data-main-rotation="90"]
    :is([data-editor-rotation="0"], [data-editor-rotation="180"]),
  &[data-main-rotation="180"]
    :is([data-editor-rotation="270"], [data-editor-rotation="90"]),
  &[data-main-rotation="270"]
    :is([data-editor-rotation="180"], [data-editor-rotation="0"]) {
    & > .resizers > .resizer {
      &.topLeft,
      &.bottomRight {
        cursor: nesw-resize;
      }

      &.topMiddle,
      &.bottomMiddle {
        cursor: ew-resize;
      }

      &.topRight,
      &.bottomLeft {
        cursor: nwse-resize;
      }

      &.middleRight,
      &.middleLeft {
        cursor: ns-resize;
      }
    }
  }

  &
    :is(
      [data-main-rotation="0"] [data-editor-rotation="90"],
      [data-main-rotation="90"] [data-editor-rotation="0"],
      [data-main-rotation="180"] [data-editor-rotation="270"],
      [data-main-rotation="270"] [data-editor-rotation="180"]
    ) {
    .editToolbar {
      rotate: 270deg;

      &:dir(ltr) {
        inset-inline-end: calc(0px - var(--editor-toolbar-vert-offset));
        inset-block-start: 0;
      }

      &:dir(rtl) {
        inset-inline-end: calc(100% + var(--editor-toolbar-vert-offset));
        inset-block-start: 0;
      }
    }
  }

  &
    :is(
      [data-main-rotation="0"] [data-editor-rotation="180"],
      [data-main-rotation="90"] [data-editor-rotation="90"],
      [data-main-rotation="180"] [data-editor-rotation="0"],
      [data-main-rotation="270"] [data-editor-rotation="270"]
    ) {
    .editToolbar {
      rotate: 180deg;
      inset-inline-end: 100%;
      inset-block-start: calc(0px - var(--editor-toolbar-vert-offset));
    }
  }

  &
    :is(
      [data-main-rotation="0"] [data-editor-rotation="270"],
      [data-main-rotation="90"] [data-editor-rotation="180"],
      [data-main-rotation="180"] [data-editor-rotation="90"],
      [data-main-rotation="270"] [data-editor-rotation="0"]
    ) {
    .editToolbar {
      rotate: 90deg;

      &:dir(ltr) {
        inset-inline-end: calc(100% + var(--editor-toolbar-vert-offset));
        inset-block-start: 100%;
      }

      &:dir(rtl) {
        inset-inline-start: calc(0px - var(--editor-toolbar-vert-offset));
        inset-block-start: 0;
      }
    }
  }
}

.dialog.altText {
  &::backdrop {
    -webkit-mask: url(#alttext-manager-mask);
    mask: url(#alttext-manager-mask);
  }
  &.positioned {
    margin: 0;
  }

  & #altTextContainer {
    width: 300px;
    height: -moz-fit-content;
    height: fit-content;
    display: inline-flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 16px;

    & #overallDescription {
      display: flex;
      flex-direction: column;
      align-items: flex-start;
      gap: 4px;
      align-self: stretch;

      & span {
        align-self: stretch;
      }

      & .title {
        font-size: 13px;
        font-style: normal;
        font-weight: 590;
      }
    }

    & #addDescription {
      display: flex;
      flex-direction: column;
      align-items: stretch;
      gap: 8px;

      & .descriptionArea {
        flex: 1;
        padding-inline: 24px 10px;

        textarea {
          width: 100%;
          min-height: 75px;
        }
      }
    }

    & #buttons {
      display: flex;
      justify-content: flex-end;
      align-items: flex-start;
      gap: 8px;
      align-self: stretch;
    }
  }
}

.dialog.newAltText {
  --new-alt-text-ai-disclaimer-icon: url(images/altText_disclaimer.svg);
  --new-alt-text-spinner-icon: url(images/altText_spinner.svg);
  --preview-image-bg-color: light-dark(#f0f0f4, #2b2a33);
  --preview-image-border: none;

  @media screen and (forced-colors: active) {
    --preview-image-bg-color: ButtonFace;
    --preview-image-border: 1px solid ButtonText;
  }

  width: 80%;
  max-width: 570px;
  min-width: 300px;
  padding: 0;

  &.noAi {
    #newAltTextDisclaimer,
    #newAltTextCreateAutomatically {
      display: none !important;
    }
  }

  &.aiInstalling {
    #newAltTextCreateAutomatically {
      display: none !important;
    }
    #newAltTextDownloadModel {
      display: flex !important;
    }
  }

  &.error {
    #newAltTextNotNow {
      display: none !important;
    }

    #newAltTextCancel {
      display: inline-block !important;
    }
  }

  &:not(.error) #newAltTextError {
    display: none !important;
  }

  #newAltTextContainer {
    display: flex;
    width: auto;
    padding: 16px;
    flex-direction: column;
    justify-content: flex-end;
    align-items: flex-start;
    gap: 12px;
    flex: 0 1 auto;
    line-height: normal;

    #mainContent {
      display: flex;
      justify-content: flex-end;
      align-items: flex-start;
      gap: 12px;
      align-self: stretch;
      flex: 1 1 auto;

      #descriptionAndSettings {
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        gap: 16px;
        flex: 1 0 0;
        align-self: stretch;
      }

      #descriptionInstruction {
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        gap: 8px;
        align-self: stretch;
        flex: 1 1 auto;

        #newAltTextDescriptionContainer {
          width: 100%;
          height: 70px;
          position: relative;

          textarea {
            width: 100%;
            height: 100%;
            padding: 8px;

            &::-moz-placeholder {
              color: var(--text-secondary-color);
            }

            &::placeholder {
              color: var(--text-secondary-color);
            }
          }

          .altTextSpinner {
            display: none;
            position: absolute;
            width: 16px;
            height: 16px;
            inset-inline-start: 8px;
            inset-block-start: 8px;
            -webkit-mask-size: cover;
            mask-size: cover;
            background-color: var(--text-secondary-color);
            pointer-events: none;
          }

          &.loading {
            textarea::-moz-placeholder {
              color: transparent;
            }
            textarea::placeholder {
              color: transparent;
            }

            .altTextSpinner {
              display: inline-block;
              -webkit-mask-image: var(--new-alt-text-spinner-icon);
              mask-image: var(--new-alt-text-spinner-icon);
            }
          }
        }

        #newAltTextDescription {
          font-size: 11px;
        }

        #newAltTextDisclaimer {
          display: flex;
          flex-direction: row;
          align-items: flex-start;
          gap: 4px;
          font-size: 11px;

          &::before {
            content: "";
            display: inline-block;
            width: 17px;
            height: 16px;
            -webkit-mask-image: var(--new-alt-text-ai-disclaimer-icon);
            mask-image: var(--new-alt-text-ai-disclaimer-icon);
            -webkit-mask-size: cover;
            mask-size: cover;
            background-color: var(--text-secondary-color);
            flex: 1 0 auto;
          }
        }
      }

      #newAltTextDownloadModel {
        display: flex;
        align-items: center;
        gap: 4px;
        align-self: stretch;

        &::before {
          content: "";
          display: inline-block;
          width: 16px;
          height: 16px;
          -webkit-mask-image: var(--new-alt-text-spinner-icon);
          mask-image: var(--new-alt-text-spinner-icon);
          -webkit-mask-size: cover;
          mask-size: cover;
          background-color: var(--text-secondary-color);
        }
      }

      #newAltTextImagePreview {
        width: 180px;
        aspect-ratio: 1;
        display: flex;
        justify-content: center;
        align-items: center;
        flex: 0 0 auto;
        background-color: var(--preview-image-bg-color);
        border: var(--preview-image-border);

        > canvas {
          max-width: 100%;
          max-height: 100%;
        }
      }
    }
  }
}

.colorPicker {
  --hover-outline-color: light-dark(#0250bb, #80ebff);
  --selected-outline-color: light-dark(#0060df, #aaf2ff);
  --swatch-border-color: light-dark(#cfcfd8, #52525e);

  @media screen and (forced-colors: active) {
    --hover-outline-color: Highlight;
    --selected-outline-color: var(--hover-outline-color);
    --swatch-border-color: ButtonText;
  }

  .swatch {
    width: 16px;
    height: 16px;
    border: 1px solid var(--swatch-border-color);
    border-radius: 100%;
    outline-offset: 2px;
    box-sizing: border-box;
    forced-color-adjust: none;
  }

  button:is(:hover, .selected) > .swatch {
    border: none;
  }
}

.basicColorPicker {
  width: 28px;

  &::-moz-color-swatch {
    border-radius: 100%;
    margin: 0;
  }

  &::-webkit-color-swatch {
    border-radius: 100%;
    margin: 0;
  }
}

.annotationEditorLayer {
  &[data-main-rotation="0"] {
    .highlightEditor:not(.free) > .editToolbar {
      rotate: 0deg;
    }
  }

  &[data-main-rotation="90"] {
    .highlightEditor:not(.free) > .editToolbar {
      rotate: 270deg;
    }
  }

  &[data-main-rotation="180"] {
    .highlightEditor:not(.free) > .editToolbar {
      rotate: 180deg;
    }
  }

  &[data-main-rotation="270"] {
    .highlightEditor:not(.free) > .editToolbar {
      rotate: 90deg;
    }
  }

  .highlightEditor {
    position: absolute;
    background: transparent;
    z-index: 1;
    cursor: auto;
    max-width: 100%;
    max-height: 100%;
    border: none;
    outline: none;
    pointer-events: none;
    transform-origin: 0 0;

    &:not(.free) {
      transform: none;
    }

    .internal {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      pointer-events: auto;
    }

    &.disabled .internal {
      pointer-events: none;
    }

    &.selectedEditor {
      .internal {
        cursor: pointer;
      }
    }

    .editToolbar {
      --editor-toolbar-colorpicker-arrow-image: url(images/toolbarButton-menuArrow.svg);

      transform-origin: center !important;

      .buttons {
        .colorPicker {
          position: relative;
          width: auto;
          display: flex;
          justify-content: center;
          align-items: center;
          gap: 4px;
          padding: 4px;

          &::after {
            content: "";
            -webkit-mask-image: var(--editor-toolbar-colorpicker-arrow-image);
            mask-image: var(--editor-toolbar-colorpicker-arrow-image);
            -webkit-mask-repeat: no-repeat;
            mask-repeat: no-repeat;
            -webkit-mask-position: center;
            mask-position: center;
            display: inline-block;
            background-color: var(--editor-toolbar-fg-color);
            width: 12px;
            height: 12px;
          }

          &:hover::after {
            background-color: var(--editor-toolbar-hover-fg-color);
          }

          &:has(.dropdown:not(.hidden)) {
            background-color: var(--editor-toolbar-hover-bg-color);

            &::after {
              scale: -1;
            }
          }

          .dropdown {
            position: absolute;
            display: flex;
            justify-content: center;
            align-items: center;
            flex-direction: column;
            gap: 11px;
            padding-block: 8px;
            border-radius: 6px;
            background-color: var(--editor-toolbar-bg-color);
            border: 1px solid var(--editor-toolbar-border-color);
            box-shadow: var(--editor-toolbar-shadow);
            inset-block-start: calc(100% + 4px);
            width: calc(100% + 2 * var(--editor-toolbar-padding));

            button {
              width: 100%;
              height: auto;
              border: none;
              cursor: pointer;
              display: flex;
              justify-content: center;
              align-items: center;
              background: none;

              &:is(:active, :focus-visible) {
                outline: none;
              }

              > .swatch {
                outline-offset: 2px;
              }

              &[aria-selected="true"] > .swatch {
                outline: 2px solid var(--selected-outline-color);
              }

              &:is(:hover, :active, :focus-visible) > .swatch {
                outline: 2px solid var(--hover-outline-color);
              }
            }
          }
        }
      }
    }
  }
}

.editorParamsToolbar:has(#highlightParamsToolbarContainer) {
  padding: unset;
}

#highlightParamsToolbarContainer {
  gap: 16px;
  padding-inline: 10px;
  padding-block-end: 12px;

  .colorPicker {
    display: flex;
    flex-direction: column;
    gap: 8px;

    .dropdown {
      display: flex;
      justify-content: space-between;
      align-items: center;
      flex-direction: row;
      height: auto;

      button {
        width: auto;
        height: auto;
        border: none;
        cursor: pointer;
        display: flex;
        justify-content: center;
        align-items: center;
        background: none;
        flex: 0 0 auto;
        padding: 0;

        .swatch {
          width: 24px;
          height: 24px;
        }

        &:is(:active, :focus-visible) {
          outline: none;
        }

        &[aria-selected="true"] > .swatch {
          outline: 2px solid var(--selected-outline-color);
        }

        &:is(:hover, :active, :focus-visible) > .swatch {
          outline: 2px solid var(--hover-outline-color);
        }
      }
    }
  }

  #editorHighlightThickness {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 4px;
    align-self: stretch;

    .editorParamsLabel {
      height: auto;
      align-self: stretch;
    }

    .thicknessPicker {
      display: flex;
      justify-content: space-between;
      align-items: center;
      align-self: stretch;

      --example-color: light-dark(#bfbfc9, #80808e);

      @media screen and (forced-colors: active) {
        --example-color: CanvasText;
      }

      :is(& > .editorParamsSlider[disabled]) {
        opacity: 0.4;
      }

      &::before,
      &::after {
        content: "";
        width: 8px;
        aspect-ratio: 1;
        display: block;
        border-radius: 100%;
        background-color: var(--example-color);
      }
      &::after {
        width: 24px;
      }

      .editorParamsSlider {
        width: unset;
        height: 14px;
      }
    }
  }

  #editorHighlightVisibility {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
    align-self: stretch;

    .divider {
      --divider-color: light-dark(#d7d7db, #8f8f9d);

      @media screen and (forced-colors: active) {
        --divider-color: CanvasText;
      }

      margin-block: 4px;
      width: 100%;
      height: 1px;
      background-color: var(--divider-color);
    }

    .toggler {
      display: flex;
      justify-content: space-between;
      align-items: center;
      align-self: stretch;
    }
  }
}

#altTextSettingsDialog {
  padding: 16px;

  #altTextSettingsContainer {
    display: flex;
    width: 573px;
    flex-direction: column;
    gap: 16px;

    .mainContainer {
      gap: 16px;
    }

    .description {
      color: var(--text-secondary-color);
    }

    #aiModelSettings {
      display: flex;
      flex-direction: column;
      gap: 12px;
    }

    #automaticAltText,
    #altTextEditor {
      display: flex;
      flex-direction: column;
      gap: 8px;
    }

    #createModelDescription,
    #aiModelSettings,
    #showAltTextDialogDescription {
      padding-inline-start: 40px;
    }

    #automaticSettings {
      display: flex;
      flex-direction: column;
      gap: 16px;
    }
  }
}

button.hasPopupMenu {
  &[aria-expanded="true"] + menu {
    visibility: visible;
  }

  &[aria-expanded="false"] + menu {
    visibility: hidden;
  }
}

.popupMenu {
  --menuitem-checkmark-icon: url(images/checkmark.svg);
  --menu-mark-icon-size: 0;
  --menu-icon-size: 16px;
  --menuitem-gap: 5px;
  --menuitem-border-color: transparent;
  --menuitem-active-bg: color-mix(
    in srgb,
    var(--menu-text-color),
    transparent 79%
  );
  --menuitem-text-active-fg: var(--menu-text-color);
  --menuitem-active-border-color: var(--menuitem-border-color);
  --menuitem-focus-bg: color-mix(
    in srgb,
    var(--menu-text-color),
    transparent 93%
  );
  --menuitem-focus-outline-color: light-dark(#0062fa, #00cadb);
  --menuitem-focus-border-color: light-dark(white, black);

  --menu-bg: light-dark(white, #23222b);
  --menu-background-blend-mode: normal;
  --menu-box-shadow:
    0 0.375px 1.5px 0 light-dark(rgb(0 0 0 / 0.05), rgb(0 0 0 / 0.2)),
    0 3px 12px 0 light-dark(rgb(0 0 0 / 0.1), rgb(0 0 0 / 0.4));
  --menu-border-color: light-dark(rgb(21 20 26 / 0.1), rgb(251 251 254 / 0.1));
  --menuitem-border-radius: 8px;
  --menu-backdrop-filter: none;
  --menu-text-color: light-dark(#15141a, #fbfbfe);
  --menu-text-disabled-color: var(--menu-text-color);
  --menuitem-text-hover-fg: var(--menu-text-color);
  --menuitem-hover-bg: color-mix(
    in srgb,
    var(--menu-text-color),
    transparent 86%
  );
  --menuitem-hover-background-blend-mode: normal;
  --disabled-opacity: 0.62;

  @media screen and (forced-colors: active) {
    --menu-bg: Canvas;
    --menu-background-blend-mode: normal;
    --menu-box-shadow: none;
    --menu-backdrop-filter: none;
    --menu-text-color: ButtonText;
    --menu-text-disabled-color: GrayText;
    --menu-border-color: CanvasText;
    --menuitem-border-color: none;
    --menuitem-hover-bg: SelectedItemText;
    --menuitem-text-hover-fg: SelectedItem;
    --menuitem-active-bg: SelectedItemText;
    --menuitem-active-border-color: ButtonText;
    --menuitem-text-active-fg: SelectedItem;
    --menuitem-focus-bg: ButtonFace;
    --menuitem-focus-outline-color: CanvasText;
    --menuitem-focus-border-color: none;
    --disabled-opacity: 1;
  }

  display: flex;
  flex-direction: column;
  width: -moz-max-content;
  width: max-content;
  height: auto;
  position: relative;
  left: 0;
  top: 1px;
  margin: 0;
  padding: 5px;
  box-sizing: border-box;

  background: var(--menu-bg);
  background-blend-mode: var(--menu-background-blend-mode);
  box-shadow: var(--menu-box-shadow);
  border-radius: 6px;
  border: 1px solid var(--menu-border-color);
  backdrop-filter: var(--menu-backdrop-filter);

  &.withMark {
    --menu-mark-icon-size: 16px;
  }

  > button {
    display: flex;
    align-items: center;
    position: relative;
    width: 100%;
    height: 26px;
    padding-inline: calc(var(--menu-mark-icon-size) + var(--menuitem-gap))
      var(--menuitem-gap);
    gap: var(--menuitem-gap);
    box-sizing: border-box;
    border-radius: var(--menuitem-border-radius);
    border: 1px solid var(--menuitem-border-color);
    background: transparent;

    &.selected::after {
      content: "";
      display: inline-block;
      width: 11px;
      height: 11px;
      -webkit-mask-repeat: no-repeat;
      mask-repeat: no-repeat;
      -webkit-mask-position: center;
      mask-position: center;
      -webkit-mask-image: var(--menuitem-checkmark-icon);
      mask-image: var(--menuitem-checkmark-icon);
      background-color: var(--menu-text-color);
      position: absolute;
      inset-inline-start: var(--menuitem-gap);
      top: 50%;
      transform: translateY(-50%);
    }

    &:disabled {
      opacity: var(--disabled-opacity);

      &.selected::after {
        background-color: var(--menu-text-disabled-color);
      }

      &:not(.noIcon)::before {
        background-color: var(--menu-text-disabled-color);
      }

      > span {
        color: var(--menu-text-disabled-color);
      }
    }

    &:not(:disabled) {
      &:hover {
        background: var(--menuitem-hover-bg);
        background-blend-mode: var(--menuitem-hover-background-blend-mode);

        &:not(.noIcon)::before {
          background-color: var(--menuitem-text-hover-fg);
        }

        > span {
          color: var(--menuitem-text-hover-fg);
        }

        &.selected::after {
          background-color: var(--menuitem-text-hover-fg);
        }
      }

      &:active {
        background-color: var(--menuitem-active-bg);
        border-color: var(--menuitem-active-border-color);

        > span {
          color: var(--menuitem-text-active-fg);
        }
      }

      &:focus-visible {
        border-color: var(--menuitem-focus-border-color);
        background-color: var(--menuitem-focus-bg);
        outline: 2px solid var(--menuitem-focus-outline-color);
        outline-offset: 2px;
      }
    }

    &:not(.noIcon)::before {
      display: inline-block;
      width: var(--menu-icon-size);
      height: var(--menu-icon-size);
      content: "";
      -webkit-mask-size: cover;
      mask-size: cover;
      -webkit-mask-position: center;
      mask-position: center;
      background-color: var(--menu-text-color);
    }

    > span {
      display: flex;
      align-items: center;
      align-self: stretch;
      width: 100%;
      min-width: -moz-max-content;
      min-width: max-content;
      text-align: start;
      color: var(--menu-text-color);
      -webkit-user-select: none;
      -moz-user-select: none;
      user-select: none;
      padding-inline-start: 6px;

      font: menu;
      font-size: 13px;
      font-style: normal;
      font-weight: 510;
      line-height: normal;
    }
  }
}

.treeView {
  --treeitem-color: light-dark(rgb(0 0 0 / 0.8), rgb(255 255 255 / 0.8));
  --treeitem-bg-color: light-dark(rgb(0 0 0 / 0.15), rgb(255 255 255 / 0.15));
  --treeitem-hover-color: light-dark(rgb(0 0 0 / 0.9), rgb(255 255 255 / 0.9));
  --treeitem-selected-color: light-dark(
    rgb(0 0 0 / 0.9),
    rgb(255 255 255 / 0.9)
  );
  --treeitem-selected-bg-color: light-dark(
    rgb(0 0 0 / 0.25),
    rgb(255 255 255 / 0.25)
  );
  --treeitem-expanded-icon: url(images/treeitem-expanded.svg);
  --treeitem-collapsed-icon: url(images/treeitem-collapsed.svg);

  &.withNesting {
    .treeItemToggler {
      &::before {
        position: absolute;
        display: inline-block;
        width: 16px;
        height: 16px;
        inset-inline-end: 4px;

        content: "";
        background-color: var(--toolbar-icon-bg-color);
        -webkit-mask-image: var(--treeitem-expanded-icon);
        mask-image: var(--treeitem-expanded-icon);
        -webkit-mask-size: cover;
        mask-size: cover;
      }

      position: relative;
      float: inline-start;
      height: 0;
      width: 0;
      color: rgb(255 255 255 / 0.5);

      &.treeItemsHidden {
        &::before {
          -webkit-mask-image: var(--treeitem-collapsed-icon);
          mask-image: var(--treeitem-collapsed-icon);
          transform: scaleX(var(--dir-factor));
        }

        ~ .treeItems {
          display: none;
        }
      }

      &:hover + a,
      &:hover ~ .treeItems {
        background-color: var(--treeitem-bg-color);
        background-clip: padding-box;
        border-radius: 2px;
        color: var(--treeitem-hover-color);
      }
    }

    > .treeItem,
    .treeItem > .treeItems {
      margin-inline-start: 20px;
    }
  }

  &#layersView .treeItem > a {
    * {
      cursor: pointer;
    }

    > label {
      display: flex;
      align-items: center;
      padding-inline-start: 4px;
      > input {
        margin-top: 1px;
      }
    }
  }

  .treeItem {
    > a {
      text-decoration: none;
      display: inline-block;
      min-width: calc(100% - 4px);
      height: auto;
      margin-bottom: 1px;
      padding: 2px 0 5px;
      padding-inline-start: 4px;
      border-radius: 2px;
      color: var(--treeitem-color);
      font-size: 13px;
      line-height: 15px;
      -webkit-user-select: none;
      -moz-user-select: none;
      user-select: none;
      white-space: normal;
      cursor: default;

      &:hover {
        background-color: var(--treeitem-bg-color);
        background-clip: padding-box;
        border-radius: 2px;
        color: var(--treeitem-hover-color);
      }
    }

    &.selected > a {
      background-color: var(--treeitem-selected-bg-color);
      color: var(--treeitem-selected-color);
    }
  }
}

#outerContainer {
  &.viewsManagerMoving {
    #viewsManager {
      visibility: visible;
    }
  }

  &.viewsManagerOpen {
    #viewsManager {
      visibility: visible;
      inset-inline-start: 8px;
    }

    #viewerContainer:not(.pdfPresentationMode) {
      inset-inline-start: var(--viewsManager-width, 0);
      transition-property: inset-inline-start;
    }
  }

  &.viewsManagerResizing :is(#sidebarContainer, #viewerContainer, #loadingBar) {
    transition-duration: 0s;
  }
}

#viewsManager {
  --views-manager-button-icon: url(images/pages_viewButton.svg);
  --views-manager-button-arrow-icon: url(images/pages_viewArrow.svg);
  --views-manager-add-file-button-icon: url(images/toolbarButton-zoomIn.svg);
  --current-outline-button-icon: url(images/toolbarButton-currentOutlineItem.svg);
  --menuitem-thumbnailsView-icon: url(images/pages_viewButton.svg);
  --menuitem-outlinesView-icon: url(images/toolbarButton-viewOutline.svg);
  --menuitem-attachmentsView-icon: url(images/toolbarButton-viewAttachments.svg);
  --menuitem-layersView-icon: url(images/toolbarButton-viewLayers.svg);
  --manage-button-icon: url(images/toolbarButton-pageDown.svg);
  --close-button-icon: url(images/pages_closeButton.svg);
  --undo-label-icon: url(images/altText_done.svg);
  --pages-selected-icon: url(images/pages_selected.svg);
  --spinner-icon: url(images/altText_spinner.svg);

  --sidebar-bg-color: light-dark(rgb(255 255 255 / 0.92), rgb(66 65 77 / 0.92));
  --sidebar-backdrop-filter: blur(7px);
  --sidebar-width: 230px;
  --sidebar-min-width: min-content;
  --sidebar-max-width: 50vw;
  --sidebar-block-padding: 8px;

  --text-color: light-dark(#15141a, #fbfbfe);
  --button-fg: var(--text-color);
  --button-no-bg: transparent;
  --button-bg: light-dark(rgb(21 20 26 / 0.07), rgb(251 251 254 / 0.07));
  --button-border-color: transparent;
  --button-hover-bg: light-dark(rgb(21 20 26 / 0.14), rgb(251 251 254 / 0.14));
  --button-hover-fg: var(--text-color);
  --button-hover-border-color: var(--button-border-color);
  --button-active-bg: light-dark(rgb(21 20 26 / 0.21), rgb(251 251 254 / 0.21));
  --button-active-fg: var(--text-color);
  --button-active-border-color: var(--button-border-color);
  --button-focus-no-bg: color-mix(in srgb, var(--text-color), transparent 93%);
  --button-focus-outline-color: light-dark(#0062fa, #00cadb);
  --button-focus-border-color: light-dark(white, black);
  --status-border-color: transparent;
  --status-actions-bg: light-dark(
    rgb(21 20 26 / 0.03),
    rgb(251 251 254 / 0.03)
  );
  --status-undo-bg: light-dark(rgb(0 98 250 / 0.08), rgb(0 202 219 / 0.08));
  --status-waiting-bg: var(--status-undo-bg);
  --indicator-color: light-dark(#0062fa, #00cadb);
  --status-warning-bg: light-dark(#ffe8ea, #6e001f);
  --indicator-warning-color: light-dark(#b20037, #ffa0aa);
  --header-shadow:
    0 0.25px 0.75px -0.75px light-dark(rgb(0 0 0 / 0.05), rgb(0 0 0 / 0.2)),
    0 2px 6px -6px light-dark(rgb(0 0 0 / 0.1), rgb(0 0 0 / 0.4));
  --header-bg: light-dark(rgb(255 255 255 / 0.92), #42414e);
  --image-outline: none;
  --image-border-width: 6px;
  --image-border-color: light-dark(#cfcfd8, #3a3944);
  --image-hover-border-color: #bfbfc9;
  --image-current-border-color: var(--button-focus-outline-color);
  --image-current-focused-outline-color: var(--image-hover-border-color);
  --image-page-number-bg: light-dark(#f0f0f4, #42414d);
  --image-page-number-fg: var(--text-color);
  --image-page-number-border-color: transparent;
  --image-hover-page-number-bg: var(--image-page-number-bg);
  --image-hover-page-number-fg: var(--image-page-number-fg);
  --image-current-page-number-bg: var(--image-current-border-color);
  --image-current-page-number-fg: light-dark(#fff, #15141a);
  --image-current-hover-page-number-bg: var(--image-current-page-number-bg);
  --image-current-hover-page-number-fg: var(--image-current-page-number-fg);
  --image-shadow:
    0 0.375px 1.5px 0 light-dark(rgb(0 0 0 / 0.05), rgb(0 0 0 / 0.2)),
    0 0 0 1px var(--image-border-color),
    0 3px 12px 0 light-dark(rgb(0 0 0 / 0.1), rgb(0 0 0 / 0.4));
  --image-hover-shadow:
    0 0.375px 1.5px 0 light-dark(rgb(0 0 0 / 0.05), rgb(0 0 0 / 0.2)),
    0 0 0 1px light-dark(rgb(21 20 26 / 0.1), rgb(251 251 254 / 0.1)),
    0 0 0 var(--image-border-width) var(--image-hover-border-color),
    0 3px 12px 0 light-dark(rgb(0 0 0 / 0.1), rgb(0 0 0 / 0.4));
  --image-current-shadow:
    0 0.375px 1.5px 0 light-dark(rgb(0 0 0 / 0.05), rgb(0 0 0 / 0.2)),
    0 0 0 var(--image-border-width) var(--image-current-border-color),
    0 3px 12px 0 light-dark(rgb(0 0 0 / 0.1), rgb(0 0 0 / 0.4));
  --image-dragging-placeholder-bg: light-dark(
    rgb(0 98 250 / 0.08),
    rgb(0 202 219 / 0.08)
  );
  --image-dragging-placeholder-border: var(--image-outline);
  --multiple-dragging-bg: white;
  --image-multiple-dragging-shadow:
    0 0 0 var(--image-border-width) var(--image-current-border-color),
    var(--image-border-width) var(--image-border-width) 0
      calc(var(--image-border-width) / 2) var(--multiple-dragging-bg),
    var(--image-border-width) var(--image-border-width) 0
      calc(3 * var(--image-border-width) / 2) var(--image-current-border-color);
  --image-dragging-shadow: 0 0 0 var(--image-border-width)
    var(--image-current-border-color);
  --multiple-dragging-indicator-bg: var(--indicator-color);
  --multiple-dragging-text-color: light-dark(#fbfbfe, #15141a);

  @media screen and (forced-colors: active) {
    --text-color: CanvasText;
    --button-fg: ButtonText;
    --button-bg: ButtonFace;
    --button-no-bg: ButtonFace;
    --button-border-color: ButtonText;
    --button-hover-bg: SelectedItemText;
    --button-hover-fg: SelectedItem;
    --button-hover-border-color: SelectedItem;
    --button-active-bg: SelectedItemText;
    --button-active-fg: SelectedItem;
    --button-active-border-color: ButtonText;
    --button-focus-no-bg: ButtonFace;
    --button-focus-outline-color: CanvasText;
    --button-focus-border-color: none;
    --status-border-color: CanvasText;
    --status-undo-bg: none;
    --indicator-color: CanvasText;
    --status-warning-bg: none;
    --indicator-warning-color: CanvasText;
    --header-shadow: none;
    --image-shadow: none;
    --image-outline: 1px solid ButtonText;
    --image-focus-outline-color: CanvasText;
    --image-hover-border-color: SelectedItem;
    --image-hover-page-number-bg: SelectedItemText;
    --image-hover-page-number-fg: SelectedItem;
    --image-current-page-number-bg: ButtonText;
    --image-current-page-number-fg: ButtonFace;
    --image-current-border-color: ButtonText;
    --image-current-focused-outline-color: var(--image-hover-border-color);
    --image-current-hover-page-number-bg: SelectedItem;
    --image-current-hover-page-number-fg: SelectedItemText;
    --image-page-number-bg: ButtonFace;
    --image-page-number-fg: ButtonText;
    --image-page-number-border-color: var(--image-page-number-fg);
    --multiple-dragging-bg: Canvas;
    --multiple-dragging-indicator-bg: ButtonBorder;
    --multiple-dragging-text-color: Canvas;
    --image-dragging-placeholder-bg: Canvas;
    --image-dragging-placeholder-border: 1px GrayText solid;
  }

  display: flex;
  padding-bottom: 16px;
  flex-direction: column;
  align-items: flex-start;
  inset-block-start: calc(100% + var(--sidebar-block-padding));
  height: calc(
    var(--viewer-container-height) - 2 * var(--sidebar-block-padding)
  );
  position: absolute;

  inset-inline-start: calc(
    -1 * var(--viewsManager-width, --sidebar-width) - 1px
  );
  transition-property: inset-inline-start;
  transition-duration: var(--sidebar-transition-duration);
  transition-timing-function: var(--sidebar-transition-timing-function);

  .sidebarResizer {
    inset-inline-start: calc(100% + 4px);
  }

  .viewsManagerButton {
    width: auto;
    color: var(--button-fg);
    border-radius: 8px;
    border: 1px solid var(--button-border-color);
    background: var(--button-bg);

    &:hover {
      background-color: var(--button-hover-bg) !important;
      color: var(--button-hover-fg) !important;
      border-color: var(--button-hover-border-color) !important;

      &::before {
        background-color: var(--button-hover-fg) !important;
      }
    }
    &:active {
      background: var(--button-active-bg) !important;
      color: var(--button-active-fg) !important;
      border-color: var(--button-active-border-color) !important;

      &::before {
        background-color: var(--button-active-fg) !important;
      }
    }
    &:focus-visible {
      outline: 2px solid var(--button-focus-outline-color);
      outline-offset: 2px;
      border-color: var(--button-focus-border-color);
    }

    &.viewsCloseButton {
      width: 26px;
      height: 26px;
      padding: 4px;
      border-radius: 8px;
      background: none;

      &::before {
        -webkit-mask-image: var(--close-button-icon);
        mask-image: var(--close-button-icon);
      }
    }
  }

  #viewsManagerHeader {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    align-self: stretch;
    width: 100%;
    box-shadow: var(--header-shadow);
    flex: 0 0 auto;
    background-color: var(--header-bg);

    .viewsManagerLabel {
      flex: 1 1 auto;
      color: var(--text-color);
      text-align: center;
      height: -moz-fit-content;
      height: fit-content;
      width: -moz-fit-content;
      width: fit-content;
      -webkit-user-select: none;
      -moz-user-select: none;
      user-select: none;

      font: menu;
      font-size: 15px;
      font-style: normal;
      font-weight: 400;
      line-height: normal;
    }

    #viewsManagerTitle {
      display: flex;
      flex-direction: row;
      align-items: center;
      align-self: stretch;
      justify-content: space-between;
      width: auto;
      padding: 12px 16px 12px 8px;

      &:not(:has(#viewsManagerHeaderLabel ~ button:not([hidden])))::after {
        content: "";
        flex: 0 0 auto;
        width: 32px;
        height: 32px;
        pointer-events: none;
      }

      #viewsManagerSelector {
        width: 48px;
        height: 32px;
        display: block;

        > button {
          background: var(--button-no-bg);
          width: 100%;
          height: 100%;

          &:focus-visible {
            background-color: var(--button-focus-no-bg);
          }

          &::before {
            -webkit-mask-repeat: no-repeat;
            mask-repeat: no-repeat;
            -webkit-mask-image: var(--views-manager-button-icon);
            mask-image: var(--views-manager-button-icon);
            background-color: var(--button-fg);
          }

          &::after {
            content: "";
            display: inline-block;
            width: 12px;
            height: 12px;
            margin-left: 8px;
            -webkit-mask-repeat: no-repeat;
            mask-repeat: no-repeat;
            -webkit-mask-position: center;
            mask-position: center;
            -webkit-mask-image: var(--views-manager-button-arrow-icon);
            mask-image: var(--views-manager-button-arrow-icon);
            background-color: var(--button-fg);
          }

          &:hover {
            &::before,
            &::after {
              background-color: var(--button-hover-fg) !important;
            }
          }

          &:active {
            &::before,
            &::after {
              background-color: var(--button-active-fg) !important;
            }
          }
        }

        > .popupMenu {
          min-width: 182px;
          z-index: 1;

          > button {
            &#thumbnailsViewMenu::before {
              -webkit-mask-image: var(--menuitem-thumbnailsView-icon);
              mask-image: var(--menuitem-thumbnailsView-icon);
            }
            &#outlinesViewMenu::before {
              -webkit-mask-image: var(--menuitem-outlinesView-icon);
              mask-image: var(--menuitem-outlinesView-icon);
            }
            &#attachmentsViewMenu::before {
              -webkit-mask-image: var(--menuitem-attachmentsView-icon);
              mask-image: var(--menuitem-attachmentsView-icon);
            }
            &#layersViewMenu::before {
              -webkit-mask-image: var(--menuitem-layersView-icon);
              mask-image: var(--menuitem-layersView-icon);
            }
          }
        }
      }

      #viewsManagerAddFileButton {
        background: var(--button-no-bg);
        width: 32px;
        height: 32px;

        &:focus-visible {
          background-color: var(--button-focus-no-bg);
        }

        &::before {
          -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
          -webkit-mask-image: var(--views-manager-add-file-button-icon);
          mask-image: var(--views-manager-add-file-button-icon);
          background-color: var(--button-fg);
        }

        > input {
          display: none;
        }
      }

      #viewsManagerCurrentOutlineButton {
        background: var(--button-no-bg);
        width: 32px;
        height: 32px;

        &:focus-visible {
          background-color: var(--button-focus-no-bg);
        }

        &::before {
          -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
          -webkit-mask-image: var(--current-outline-button-icon);
          mask-image: var(--current-outline-button-icon);
          background-color: var(--button-fg);
        }
      }
    }

    #viewsManagerStatus {
      display: grid;
      width: 100%;
      border: 1px solid var(--status-border-color);

      > div {
        min-height: 64px;
        width: 100%;
        padding-inline: 16px;
        grid-area: 1 / 1;
        box-sizing: border-box;

        &.hidden {
          visibility: hidden;
          display: unset !important;
        }
      }

      .viewsManagerStatusLabel {
        display: flex;
        align-items: center;
        gap: 8px;

        font: menu;
        font-size: 13px;
      }

      #viewsManagerStatusAction {
        display: flex;
        justify-content: space-between;
        align-items: center;
        align-self: stretch;
        background-color: var(--status-actions-bg);

        #viewsManagerStatusActionLabelContainer > button {
          position: relative;
          width: var(--icon-size);
          height: var(--icon-size);
          border: none;
          padding: 0;
          flex: 0 0 auto;

          &::before {
            content: "";
            position: absolute;
            inset: 0;
            -webkit-mask-repeat: no-repeat;
            mask-repeat: no-repeat;
            -webkit-mask-position: center;
            mask-position: center;
            background-color: var(--indicator-color);
            -webkit-mask-image: var(--pages-selected-icon);
            mask-image: var(--pages-selected-icon);
          }

          @media screen and (forced-colors: active) {
            border-radius: 2px;
            background-color: var(--button-bg);

            &::before {
              background-color: var(--button-fg);
            }
            &:hover {
              background-color: var(--button-hover-bg);

              &::before {
                background-color: var(--button-hover-fg);
              }
            }
            &:active {
              background-color: var(--button-active-bg);

              &::before {
                background-color: var(--button-active-fg);
              }
            }
          }

          &#viewsManagerStatusActionDeselectButton:focus-visible {
            outline: 2px solid var(--button-focus-outline-color);
            border: 1px solid var(--button-focus-border-color);
            border-radius: 2px;
            outline-offset: 1px;
          }
        }

        #actionSelector {
          height: 32px;
          min-width: 115px;
          width: auto;
          display: block;

          #viewsManagerStatusActionButton {
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 8px;
            width: 100%;
            height: 100%;
            padding: 4px 16px;

            &::after {
              content: "";
              display: inline-block;
              width: var(--icon-size);
              height: var(--icon-size);
              -webkit-mask-repeat: no-repeat;
              mask-repeat: no-repeat;
              -webkit-mask-position: center;
              mask-position: center;
              -webkit-mask-image: var(--manage-button-icon);
              mask-image: var(--manage-button-icon);
              background-color: var(--button-fg);
            }

            &:hover::after {
              background-color: var(--button-hover-fg) !important;
            }

            &:active::after {
              background-color: var(--button-active-fg) !important;
            }
          }

          > .popupMenu {
            width: 100%;
            min-width: -moz-fit-content;
            min-width: fit-content;
            z-index: 1;
          }
        }
      }

      #viewsManagerStatusUndo {
        display: flex;
        justify-content: space-between;
        align-items: center;
        align-self: stretch;
        background-color: var(--status-undo-bg);

        > span::before {
          content: "";
          display: inline-block;
          width: var(--icon-size);
          height: var(--icon-size);
          -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
          -webkit-mask-position: center;
          mask-position: center;
          -webkit-mask-image: var(--undo-label-icon);
          mask-image: var(--undo-label-icon);
          background-color: var(--indicator-color);
        }

        > div {
          display: flex;
          align-items: center;
          gap: 8px;
          width: auto;

          #viewsManagerStatusUndoButton {
            width: auto;
            min-height: 24px;
            padding: 4px 8px;
          }
        }
      }

      #viewsManagerStatusWarning {
        display: flex;
        align-items: center;
        justify-content: space-between;
        background-color: var(--status-warning-bg);

        > span {
          align-items: flex-start;

          &::before {
            content: "";
            display: inline-block;
            width: var(--icon-size);
            height: var(--icon-size);
            -webkit-mask-repeat: no-repeat;
            mask-repeat: no-repeat;
            -webkit-mask-position: center;
            mask-position: center;
            background-color: var(--indicator-warning-color);
            -webkit-mask-image: var(--undo-label-icon);
            mask-image: var(--undo-label-icon);
            flex: 0 0 auto;
          }
        }
      }

      #viewsManagerStatusWaiting {
        display: flex;
        align-items: center;
        justify-content: space-between;
        background-color: var(--status-waiting-bg);

        > span::before {
          content: "";
          display: inline-block;
          width: var(--icon-size);
          height: var(--icon-size);
          -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
          -webkit-mask-position: center;
          mask-position: center;
          background-color: var(--indicator-color);
          -webkit-mask-image: var(--spinner-icon);
          mask-image: var(--spinner-icon);
          flex: 0 0 auto;
        }
      }
    }
  }

  #viewsManagerContent {
    width: 100%;
    flex: 1 1 0%;
    overflow: auto;

    &:has(#thumbnailsView.isDragging) {
      overflow-x: hidden;
    }

    #thumbnailsView {
      --thumbnail-width: 126px;
      --gap-between-input-and-thumbnail: 16px;

      display: flex;
      flex-flow: row wrap;
      align-items: center;
      justify-content: space-evenly;
      padding: 20px 32px;
      gap: 44px;
      width: 100%;
      box-sizing: border-box;
      position: relative;

      &.isDragging {
        cursor: grabbing;

        > .thumbnail {
          > .thumbnailImageContainer:hover {
            cursor: grabbing;

            &:not([aria-current="page"]) {
              box-shadow: var(--image-shadow);
            }
          }

          > input {
            pointer-events: none;
          }
        }
      }

      &.isDragging > .dragMarker,
      &.isDraggingFile > .dragMarker {
        position: absolute;
        top: 0;
        left: 0;
        border: 2px solid var(--indicator-color);
        contain: strict;
      }

      &.pasteMode {
        gap: var(--gap-between-input-and-thumbnail);

        > .thumbnail {
          flex-direction: column;

          > input {
            display: none;
          }

          > .thumbnailPasteButton {
            display: flex;
            justify-content: center;
            align-items: center;
            border-radius: 16px;
            min-height: 24px;
            padding: 4px 16px;

            font: menu;
            font-size: 13px;
            font-style: normal;
            font-weight: 400;
            line-height: normal;
          }
        }
      }

      &:not(.pasteMode) > .thumbnail > .thumbnailPasteButton {
        display: none;
      }

      > .thumbnail {
        --input-dim: 16px;

        &:not(&:has(input)) {
          --input-dim: 0px;
          --gap-between-input-and-thumbnail: 0px;
        }

        display: inline-flex;
        justify-content: flex-end;
        align-items: center;
        flex-direction: row-reverse;
        gap: var(--gap-between-input-and-thumbnail);
        width: calc(
          var(--thumbnail-width) + 2 *
            (var(--input-dim) + var(--gap-between-input-and-thumbnail))
        );
        height: auto;
        position: relative;
        scroll-margin-top: 20px;

        .thumbnailPasteButton {
          padding: 8px 0;
          text-align: center;
        }

        &:not(.isDragging) > .thumbnailImageContainer::after {
          content: attr(page-number);
          border-radius: 8px;
          border: 1px solid var(--image-page-number-border-color);
          background-color: var(--image-page-number-bg);
          color: var(--image-page-number-fg);
          position: absolute;
          bottom: 5px;
          inset-inline-end: 50%;
          min-width: 32px;
          height: 16px;
          text-align: center;
          box-sizing: content-box;
          translate: calc(var(--dir-factor) * 50%);

          font: menu;
          font-size: 12px;
          font-style: normal;
          font-weight: 400;
          line-height: normal;

          pointer-events: none;
          -webkit-user-select: none;
          -moz-user-select: none;
          user-select: none;
        }

        &:has([aria-current="page"]):not(.isDragging)
          > .thumbnailImageContainer::after {
          background-color: var(--image-current-page-number-bg);
          color: var(--image-current-page-number-fg);
          outline: 1px solid var(--image-current-border-color);
        }

        &.isDragging > input {
          visibility: hidden;
        }

        > input {
          margin: 0;
          width: var(--input-dim);
          height: var(--input-dim);
          accent-color: var(--indicator-color);
        }

        > .thumbnailImageContainer {
          --thumbnail-dragging-scale: 1.4;

          width: var(--thumbnail-width);
          border: none;
          border-radius: 8px;
          box-shadow: var(--image-shadow);
          box-sizing: content-box;
          outline: var(--image-outline);
          -webkit-user-select: none;
          -moz-user-select: none;
          user-select: none;
          position: relative;

          img {
            width: 100%;
            height: 100%;
            border: none;
            border-radius: 8px;
            outline: none;
            -webkit-user-select: none;
            -moz-user-select: none;
            user-select: none;
            pointer-events: none;
          }

          &.missingThumbnailImage {
            content-visibility: hidden;
          }

          &:hover {
            cursor: pointer;
            box-shadow: var(--image-hover-shadow);

            &::after {
              background-color: var(--image-hover-page-number-bg);
              color: var(--image-hover-page-number-fg);
            }

            @media screen and (forced-colors: active) {
              box-shadow: none;
              outline: var(--image-border-width) var(--image-hover-border-color)
                solid;
            }
          }

          &:focus-visible {
            &:not([aria-current="page"]) {
              box-shadow: var(--image-hover-shadow);
              outline: none;

              @media screen and (forced-colors: active) {
                box-shadow: none;
                outline: var(--image-border-width)
                  var(--image-focus-outline-color) solid;
              }
            }

            &[aria-current="page"] {
              outline: var(--image-border-width) solid
                var(--image-current-focused-outline-color);
              outline-offset: var(--image-border-width);

              @media screen and (forced-colors: active) {
                box-shadow: none;
                outline: var(--image-border-width)
                  var(--image-current-border-color) solid;
                outline-offset: 0;

                > img {
                  outline: var(--image-border-width)
                    var(--image-focus-outline-color) solid;
                  outline-offset: var(--image-border-width);
                }
              }
            }

            @media screen and (forced-colors: active) {
              box-shadow: none;
              outline: var(--image-border-width)
                var(--image-current-border-color) solid;

              &:hover > img {
                outline: var(--image-border-width)
                  var(--image-hover-border-color) solid;
                outline-offset: var(--image-border-width);
              }
            }
          }

          &[aria-current="page"] {
            box-shadow: var(--image-current-shadow);

            &:hover::after {
              background-color: var(--image-current-hover-page-number-bg);
              color: var(--image-current-hover-page-number-fg);
            }

            @media screen and (forced-colors: active) {
              box-shadow: none;
              outline: var(--image-border-width)
                var(--image-current-border-color) solid;

              &:hover > img {
                outline: var(--image-border-width)
                  var(--image-hover-border-color) solid;
                outline-offset: var(--image-border-width);
              }
            }
          }

          &.placeholder {
            background-color: var(--image-dragging-placeholder-bg);
            box-shadow: none !important;
            outline: var(--image-dragging-placeholder-border);
          }

          &.draggingThumbnail {
            position: absolute;
            left: 0;
            top: 0;
            z-index: 1;
            transform-origin: 0 0 0;
            scale: calc(1 / var(--thumbnail-dragging-scale));
            pointer-events: none;
            box-shadow: var(--image-dragging-shadow);

            &.multiple {
              box-shadow: var(--image-multiple-dragging-shadow);

              @media screen and (forced-colors: active) {
                forced-color-adjust: none;
                box-shadow: var(--image-multiple-dragging-shadow);
              }

              > .thumbnailImageContainer {
                position: absolute;
                top: 0;
                left: 0;

                width: var(--thumbnail-width);
                border: none;
                border-radius: 8px;
                box-sizing: content-box;
                outline: none;
                -webkit-user-select: none;
                -moz-user-select: none;
                user-select: none;
              }

              &::after {
                content: attr(data-multiple-count);
                border-radius: calc(8px * var(--thumbnail-dragging-scale));
                background-color: var(--multiple-dragging-indicator-bg);
                color: var(--multiple-dragging-text-color);
                position: absolute;
                inset-block-end: calc(4px * var(--thumbnail-dragging-scale));
                inset-inline-start: calc(4px * var(--thumbnail-dragging-scale));
                min-width: calc(32px * var(--thumbnail-dragging-scale));
                height: calc(16px * var(--thumbnail-dragging-scale));
                text-align: center;
                font: menu;
                font-size: calc(13px * var(--thumbnail-dragging-scale));
                font-style: normal;
                font-weight: 400;
                line-height: normal;
                contain: strict;
              }
            }
          }
        }
      }
    }

    #attachmentsView {
      --attachment-color: light-dark(rgb(0 0 0 / 0.8), rgb(255 255 255 / 0.8));
      --attachment-bg-color: light-dark(
        rgb(0 0 0 / 0.15),
        rgb(255 255 255 / 0.15)
      );
      --attachment-hover-color: light-dark(
        rgb(0 0 0 / 0.9),
        rgb(255 255 255 / 0.9)
      );

      > ul {
        list-style-type: none;
        padding: 0;

        > li > a {
          text-decoration: none;
          display: inline-block;
          min-width: calc(100% - 4px);
          height: auto;
          margin-bottom: 1px;
          padding: 2px 0 5px;
          padding-inline-start: 4px;
          border-radius: 2px;
          color: var(--attachment-color);
          font-size: 13px;
          line-height: 15px;
          -webkit-user-select: none;
          -moz-user-select: none;
          user-select: none;
          white-space: normal;
          cursor: pointer;

          &:hover {
            background-color: var(--attachment-bg-color);
            background-clip: padding-box;
            border-radius: 2px;
            color: var(--attachment-hover-color);
          }
        }
      }
    }
  }
}

.sidebar {
  --sidebar-bg-color: light-dark(#fff, #23222b);
  --sidebar-border-color: light-dark(
    rgb(21 20 26 / 0.1),
    rgb(251 251 254 / 0.1)
  );
  --sidebar-box-shadow:
    0 0.25px 0.75px light-dark(rgb(0 0 0 / 0.05), rgb(0 0 0 / 0.2)),
    0 2px 6px 0 light-dark(rgb(0 0 0 / 0.1), rgb(0 0 0 / 0.4));
  --sidebar-backdrop-filter: none;
  --sidebar-border-radius: 8px;
  --sidebar-padding: 5px;
  --sidebar-min-width: 180px;
  --sidebar-max-width: 632px;
  --sidebar-width: 239px;
  --resizer-width: 4px;
  --resizer-shift: calc(0px - var(--resizer-width) - 2px);
  --resizer-hover-bg-color: light-dark(#0062fa, #00cadb);

  @media screen and (forced-colors: active) {
    --sidebar-bg-color: Canvas;
    --sidebar-border-color: CanvasText;
    --sidebar-box-shadow: none;
    --resizer-hover-bg-color: CanvasText;
  }

  border-radius: var(--sidebar-border-radius);
  box-shadow: var(--sidebar-box-shadow);
  border: 1px solid var(--sidebar-border-color);
  background-color: var(--sidebar-bg-color);
  inset-block-start: calc(100% + var(--doorhanger-height) - 2px);
  padding-block: var(--sidebar-padding);
  width: var(--sidebar-width);
  min-width: var(--sidebar-min-width);
  max-width: var(--sidebar-max-width);
  backdrop-filter: var(--sidebar-backdrop-filter);
  box-sizing: border-box;
  position: relative;

  .sidebarResizer {
    width: var(--resizer-width);
    background-color: transparent;
    forced-color-adjust: none;
    cursor: ew-resize;
    position: absolute;
    inset-block: 0;
    inset-inline-start: var(--resizer-shift);
    transition:
      background-color 0.5s ease-in-out,
      border-color 0.5s ease-in-out;
    box-sizing: border-box;
    border: 1px solid transparent;
    border-block-width: 0;
    background-clip: content-box;

    &:hover {
      background-color: var(--resizer-hover-bg-color);
      border-color: white;
    }
    &:focus-visible {
      background-color: var(--resizer-hover-bg-color);
      outline: none;
    }
  }

  &.resizing {
    cursor: ew-resize;
    -webkit-user-select: none;
    -moz-user-select: none;
    user-select: none;

    :not(.sidebarResizer) {
      pointer-events: none;
    }

    .sidebarResizer {
      background-color: var(--resizer-hover-bg-color);
    }
  }
}

:root {
  color-scheme: light dark;

  --viewer-container-height: 0;
  --pdfViewer-padding-bottom: 0;
  --page-margin: 1px auto -8px;
  --page-border: 9px solid transparent;
  --spreadHorizontalWrapped-margin-LR: -3.5px;
  --loading-icon-delay: 400ms;
  --focus-ring-color: light-dark(#0060df, #0df);
  --focus-ring-outline: 2px solid var(--focus-ring-color);
  --new-badge-bg: light-dark(#070, #37b847);
  --new-badge-color: light-dark(#fff, #15141a);
  --new-badge-border-color: light-dark(#fbfbfe / 40%, #15141a / 40%);

  @media screen and (forced-colors: active) {
    --pdfViewer-padding-bottom: 9px;
    --page-margin: 8px auto -1px;
    --page-border: 1px solid CanvasText;
    --spreadHorizontalWrapped-margin-LR: 3.5px;
    --focus-ring-color: CanvasText;
    --new-badge-bg: AccentColor;
    --new-badge-color: ButtonFace;
    --new-badge-border-color: CanvasText;
  }
}

.newBadge {
  background-color: var(--new-badge-bg);
  color: var(--new-badge-color);
  border-radius: 4px;
  border: 1px solid var(--new-badge-border-color);
  padding-inline: 4px;
  margin-inline: 4px;
  font: menu;
  font-size: 12px;
  font-style: normal;
  font-weight: 400;
  line-height: normal;
  flex: 0 0 fit-content;
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
}

[data-main-rotation="90"] {
  transform: rotate(90deg) translateY(-100%);
}
[data-main-rotation="180"] {
  transform: rotate(180deg) translate(-100%, -100%);
}
[data-main-rotation="270"] {
  transform: rotate(270deg) translateX(-100%);
}

.pdfViewer {
  --scale-factor: 1;
  --page-bg-color: unset;

  padding-bottom: var(--pdfViewer-padding-bottom);

  --hcm-highlight-filter: none;
  --hcm-highlight-selected-filter: none;

  @media screen and (forced-colors: active) {
    --hcm-highlight-filter: invert(100%);
  }

  &.copyAll {
    cursor: wait;
  }

  .canvasWrapper {
    overflow: hidden;
    width: 100%;
    height: 100%;

    canvas {
      position: absolute;
      top: 0;
      left: 0;
      margin: 0;
      display: block;
      width: 100%;
      height: 100%;
      contain: content;

      .structTree {
        contain: strict;
      }

      &.detailView {
        image-rendering: pixelated;
      }
    }
    .selection {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      pointer-events: none;
      background: rgb(0 90 255 / 0.22);
    }
  }
}

.pdfViewer .page {
  --user-unit: 1;
  --total-scale-factor: calc(var(--scale-factor) * var(--user-unit));
  --scale-round-x: 1px;
  --scale-round-y: 1px;

  direction: ltr;
  width: 816px;
  height: 1056px;
  margin: var(--page-margin);
  position: relative;
  overflow: visible;
  border: var(--page-border);
  background-clip: content-box;
  background-color: var(--page-bg-color, rgb(255 255 255));
}

.pdfViewer .dummyPage {
  position: relative;
  width: 0;
  height: var(--viewer-container-height);
}

.pdfViewer.noUserSelect {
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
}

.pdfViewer.removePageBorders .page {
  margin: 0 auto 10px;
  border: none;
}

.pdfViewer:is(.scrollHorizontal, .scrollWrapped),
.spread {
  margin-inline: 3.5px;
  text-align: center;
}

.pdfViewer.scrollHorizontal,
.spread {
  white-space: nowrap;
}

.pdfViewer.removePageBorders,
.pdfViewer:is(.scrollHorizontal, .scrollWrapped) .spread {
  margin-inline: 0;
}

.spread :is(.page, .dummyPage),
.pdfViewer:is(.scrollHorizontal, .scrollWrapped) :is(.page, .spread) {
  display: inline-block;
  vertical-align: middle;
}

.spread .page,
.pdfViewer:is(.scrollHorizontal, .scrollWrapped) .page {
  margin-inline: var(--spreadHorizontalWrapped-margin-LR);
}

.pdfViewer.removePageBorders .spread .page,
.pdfViewer.removePageBorders:is(.scrollHorizontal, .scrollWrapped) .page {
  margin-inline: 5px;
}

.pdfViewer .page.loadingIcon::after {
  position: absolute;
  top: 0;
  left: 0;
  content: "";
  width: 100%;
  height: 100%;
  background: url("images/loading-icon.gif") center no-repeat;
  display: none;
  transition-property: display;
  transition-delay: var(--loading-icon-delay);
  z-index: 5;
  contain: strict;
}

.pdfViewer .page.loading::after {
  display: block;
}

.pdfViewer .page:not(.loading)::after {
  transition-property: none;
  display: none;
}

.pdfPresentationMode .pdfViewer {
  padding-bottom: 0;
}

.pdfPresentationMode .spread {
  margin: 0;
}

.pdfPresentationMode .pdfViewer .page {
  margin: 0 auto;
  border: 2px solid transparent;
}

:root {
  --dir-factor: 1;

  --sidebar-width: 200px;
  --sidebar-transition-duration: 200ms;
  --sidebar-transition-timing-function: ease;

  --toolbar-height: 32px;
  --toolbar-horizontal-padding: 1px;
  --toolbar-vertical-padding: 2px;
  --icon-size: 16px;

  --toolbar-icon-opacity: 0.7;
  --doorhanger-icon-opacity: 0.9;
  --doorhanger-height: 8px;

  --main-color: light-dark(rgb(12 12 13), rgb(249 249 250));
  --body-bg-color: light-dark(rgb(212 212 215), rgb(42 42 46));
  --progressBar-color: light-dark(rgb(10 132 255), rgb(0 96 223));
  --progressBar-bg-color: light-dark(rgb(221 221 222), rgb(40 40 43));
  --progressBar-blend-color: light-dark(rgb(116 177 239), rgb(20 68 133));
  --scrollbar-color: light-dark(auto, rgb(121 121 123));
  --scrollbar-bg-color: light-dark(auto, rgb(35 35 39));
  --toolbar-icon-bg-color: light-dark(rgb(0 0 0), rgb(255 255 255));
  --toolbar-icon-hover-bg-color: light-dark(rgb(0 0 0), rgb(255 255 255));

  --sidebar-narrow-bg-color: light-dark(
    rgb(212 212 215 / 0.9),
    rgb(42 42 46 / 0.9)
  );
  --sidebar-toolbar-bg-color: light-dark(rgb(245 246 247), rgb(50 50 52));
  --toolbar-bg-color: light-dark(rgb(249 249 250), rgb(56 56 61));
  --toolbar-border-color: light-dark(rgb(184 184 184), rgb(12 12 13));
  --toolbar-box-shadow: 0 1px 0 var(--toolbar-border-color);
  --toolbar-border-bottom: none;
  --toolbarSidebar-box-shadow:
    inset calc(-1px * var(--dir-factor)) 0 0 rgb(0 0 0 / 0.25),
    0 1px 0 rgb(0 0 0 / 0.15), 0 0 1px rgb(0 0 0 / 0.1);
  --toolbarSidebar-border-bottom: none;
  --button-hover-color: color-mix(in srgb, currentColor 17%, transparent);
  --toggled-btn-color: light-dark(rgb(0 0 0), rgb(255 255 255));
  --toggled-btn-bg-color: rgb(0 0 0 / 0.3);
  --toggled-hover-active-btn-color: rgb(0 0 0 / 0.4);
  --toggled-hover-btn-outline: none;
  --dropdown-btn-bg-color: light-dark(rgb(215 215 219), rgb(74 74 79));
  --dropdown-btn-border: none;
  --separator-color: rgb(0 0 0 / 0.3);
  --field-color: light-dark(rgb(6 6 6), rgb(250 250 250));
  --field-bg-color: light-dark(rgb(255 255 255), rgb(64 64 68));
  --field-border-color: light-dark(rgb(187 187 188), rgb(115 115 115));
  --doorhanger-bg-color: light-dark(rgb(255 255 255), #42414d);
  --doorhanger-border-color: light-dark(rgb(12 12 13 / 0.2), rgb(39 39 43));
  --doorhanger-hover-color: light-dark(rgb(12 12 13), rgb(249 249 250));
  --doorhanger-separator-color: light-dark(rgb(222 222 222), rgb(92 92 97));
  --dialog-button-border: none;
  --dialog-button-bg-color: light-dark(rgb(12 12 13 / 0.1), rgb(92 92 97));
  --dialog-button-hover-bg-color: light-dark(
    rgb(12 12 13 / 0.3),
    rgb(115 115 115)
  );

  --loading-icon: url(images/loading.svg);
  --toolbarButton-editorComment-icon: url(images/comment-editButton.svg);
  --toolbarButton-editorFreeText-icon: url(images/toolbarButton-editorFreeText.svg);
  --toolbarButton-editorHighlight-icon: url(images/toolbarButton-editorHighlight.svg);
  --toolbarButton-editorInk-icon: url(images/toolbarButton-editorInk.svg);
  --toolbarButton-editorStamp-icon: url(images/toolbarButton-editorStamp.svg);
  --toolbarButton-editorSignature-icon: url(images/toolbarButton-editorSignature.svg);
  --toolbarButton-menuArrow-icon: url(images/toolbarButton-menuArrow.svg);
  --toolbarButton-viewsManagerToggle-icon: url(images/toolbarButton-viewsManagerToggle.svg);
  --toolbarButton-secondaryToolbarToggle-icon: url(images/toolbarButton-secondaryToolbarToggle.svg);
  --toolbarButton-pageUp-icon: url(images/toolbarButton-pageUp.svg);
  --toolbarButton-pageDown-icon: url(images/toolbarButton-pageDown.svg);
  --toolbarButton-zoomOut-icon: url(images/toolbarButton-zoomOut.svg);
  --toolbarButton-zoomIn-icon: url(images/toolbarButton-zoomIn.svg);
  --toolbarButton-presentationMode-icon: url(images/toolbarButton-presentationMode.svg);
  --toolbarButton-print-icon: url(images/toolbarButton-print.svg);
  --toolbarButton-openFile-icon: url(images/toolbarButton-openFile.svg);
  --toolbarButton-download-icon: url(images/toolbarButton-download.svg);
  --toolbarButton-bookmark-icon: url(images/toolbarButton-bookmark.svg);
  --toolbarButton-viewThumbnail-icon: url(images/toolbarButton-viewThumbnail.svg);
  --toolbarButton-viewOutline-icon: url(images/toolbarButton-viewOutline.svg);
  --toolbarButton-viewAttachments-icon: url(images/toolbarButton-viewAttachments.svg);
  --toolbarButton-viewLayers-icon: url(images/toolbarButton-viewLayers.svg);
  --toolbarButton-currentOutlineItem-icon: url(images/toolbarButton-currentOutlineItem.svg);
  --toolbarButton-search-icon: url(images/toolbarButton-search.svg);
  --findbarButton-previous-icon: url(images/findbarButton-previous.svg);
  --findbarButton-next-icon: url(images/findbarButton-next.svg);
  --secondaryToolbarButton-firstPage-icon: url(images/secondaryToolbarButton-firstPage.svg);
  --secondaryToolbarButton-lastPage-icon: url(images/secondaryToolbarButton-lastPage.svg);
  --secondaryToolbarButton-rotateCcw-icon: url(images/secondaryToolbarButton-rotateCcw.svg);
  --secondaryToolbarButton-rotateCw-icon: url(images/secondaryToolbarButton-rotateCw.svg);
  --secondaryToolbarButton-selectTool-icon: url(images/secondaryToolbarButton-selectTool.svg);
  --secondaryToolbarButton-handTool-icon: url(images/secondaryToolbarButton-handTool.svg);
  --secondaryToolbarButton-scrollPage-icon: url(images/secondaryToolbarButton-scrollPage.svg);
  --secondaryToolbarButton-scrollVertical-icon: url(images/secondaryToolbarButton-scrollVertical.svg);
  --secondaryToolbarButton-scrollHorizontal-icon: url(images/secondaryToolbarButton-scrollHorizontal.svg);
  --secondaryToolbarButton-scrollWrapped-icon: url(images/secondaryToolbarButton-scrollWrapped.svg);
  --secondaryToolbarButton-spreadNone-icon: url(images/secondaryToolbarButton-spreadNone.svg);
  --secondaryToolbarButton-spreadOdd-icon: url(images/secondaryToolbarButton-spreadOdd.svg);
  --secondaryToolbarButton-spreadEven-icon: url(images/secondaryToolbarButton-spreadEven.svg);
  --secondaryToolbarButton-imageAltTextSettings-icon: var(
    --toolbarButton-editorStamp-icon
  );
  --secondaryToolbarButton-documentProperties-icon: url(images/secondaryToolbarButton-documentProperties.svg);
  --editorParams-stampAddImage-icon: url(images/toolbarButton-zoomIn.svg);
  --comment-edit-button-icon: url(images/comment-editButton.svg);
}

:root:dir(rtl) {
  --dir-factor: -1;
}

@media screen and (forced-colors: active) {
  :root {
    --button-hover-color: Highlight;
    --toolbar-icon-opacity: 1;
    --toolbar-icon-bg-color: ButtonText;
    --toolbar-icon-hover-bg-color: ButtonFace;
    --toggled-hover-active-btn-color: ButtonText;
    --toggled-hover-btn-outline: 2px solid ButtonBorder;
    --toolbar-border-color: CanvasText;
    --toolbar-border-bottom: 1px solid var(--toolbar-border-color);
    --toolbar-box-shadow: none;
    --toggled-btn-color: HighlightText;
    --toggled-btn-bg-color: LinkText;
    --doorhanger-hover-color: ButtonFace;
    --doorhanger-border-color-whcm: 1px solid ButtonText;
    --doorhanger-triangle-opacity-whcm: 0;
    --dialog-button-border: 1px solid Highlight;
    --dialog-button-hover-bg-color: Highlight;
    --dialog-button-hover-color: ButtonFace;
    --dropdown-btn-border: 1px solid ButtonText;
    --field-border-color: ButtonText;
    --main-color: CanvasText;
    --separator-color: GrayText;
    --doorhanger-separator-color: GrayText;
    --toolbarSidebar-box-shadow: none;
    --toolbarSidebar-border-bottom: 1px solid var(--toolbar-border-color);
  }
}

@media screen and (prefers-reduced-motion: reduce) {
  :root {
    --sidebar-transition-duration: 0;
  }
}

@keyframes progressIndeterminate {
  0% {
    transform: translateX(calc(-142px * var(--dir-factor)));
  }

  100% {
    transform: translateX(0);
  }
}

html {
  &[data-toolbar-density="compact"] {
    --toolbar-height: 30px;
  }
  &[data-toolbar-density="touch"] {
    --toolbar-height: 44px;
  }
}

html,
body {
  height: 100%;
  width: 100%;
}

body {
  margin: 0;
  background-color: var(--body-bg-color);
  scrollbar-color: var(--scrollbar-color) var(--scrollbar-bg-color);

  &.wait::before {
    content: "";
    position: fixed;
    width: 100%;
    height: 100%;
    z-index: 100000;
    cursor: wait;
  }
}
.visuallyHidden {
  position: absolute;
  top: 0;
  left: 0;
  border: 0;
  margin: 0;
  padding: 0;
  width: 0;
  height: 0;
  overflow: hidden;
  white-space: nowrap;
  font-size: 0;
}

.hidden,
[hidden] {
  display: none !important;
}

#viewerContainer.pdfPresentationMode:fullscreen {
  top: 0;
  background-color: rgb(0 0 0);
  width: 100%;
  height: 100%;
  overflow: hidden;
  cursor: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
}

.pdfPresentationMode:fullscreen
  section:not([data-internal-link], .mediaAnnotation) {
  pointer-events: none;
}

.pdfPresentationMode:fullscreen .textLayer span {
  cursor: none;
}

.pdfPresentationMode.pdfPresentationModeControls > *,
.pdfPresentationMode.pdfPresentationModeControls .textLayer span {
  cursor: default;
}

#outerContainer {
  width: 100%;
  height: 100%;
  position: relative;
  margin: 0;
}

#mainContainer {
  position: absolute;
  inset: 0;
  min-width: 350px;
  margin: 0;
  display: flex;
  flex-direction: column;
}

#sidebarContent {
  inset-block: var(--toolbar-height) 0;
  inset-inline-start: 0;
  overflow: auto;
  position: absolute;
  width: 100%;
  box-shadow: inset calc(-1px * var(--dir-factor)) 0 0 rgb(0 0 0 / 0.25);
}

#viewerContainer {
  overflow: auto;
  position: absolute;
  inset: var(--toolbar-height) 0 0;
  outline: none;
  z-index: 0;
}

#viewerContainer:not(.pdfPresentationMode) {
  transition-duration: var(--sidebar-transition-duration);
  transition-timing-function: var(--sidebar-transition-timing-function);
}

#sidebarContainer :is(input, button, select) {
  font: message-box;
}

.toolbar {
  z-index: 2;
}

#toolbarSidebar {
  width: 100%;
  height: var(--toolbar-height);
  background-color: var(--sidebar-toolbar-bg-color);
  box-shadow: var(--toolbarSidebar-box-shadow);
  border-bottom: var(--toolbarSidebar-border-bottom);
  padding: var(--toolbar-vertical-padding) var(--toolbar-horizontal-padding);
  justify-content: space-between;

  #toolbarSidebarLeft {
    width: auto;
    height: 100%;

    #viewThumbnail::before {
      -webkit-mask-image: var(--toolbarButton-viewThumbnail-icon);
      mask-image: var(--toolbarButton-viewThumbnail-icon);
    }

    #viewOutline::before {
      -webkit-mask-image: var(--toolbarButton-viewOutline-icon);
      mask-image: var(--toolbarButton-viewOutline-icon);
      transform: scaleX(var(--dir-factor));
    }

    #viewAttachments::before {
      -webkit-mask-image: var(--toolbarButton-viewAttachments-icon);
      mask-image: var(--toolbarButton-viewAttachments-icon);
    }

    #viewLayers::before {
      -webkit-mask-image: var(--toolbarButton-viewLayers-icon);
      mask-image: var(--toolbarButton-viewLayers-icon);
    }
  }

  #toolbarSidebarRight {
    width: auto;
    height: 100%;
    padding-inline-end: 2px;
  }
}

.doorHanger,
.doorHangerRight {
  border-radius: 2px;
  box-shadow:
    0 1px 5px var(--doorhanger-border-color),
    0 0 0 1px var(--doorhanger-border-color);
  border: var(--doorhanger-border-color-whcm);
  background-color: var(--doorhanger-bg-color);
  inset-block-start: calc(100% + var(--doorhanger-height) - 2px);

  &::after,
  &::before {
    bottom: 100%;
    border-style: solid;
    border-color: transparent;
    content: "";
    height: 0;
    width: 0;
    position: absolute;
    pointer-events: none;
    opacity: var(--doorhanger-triangle-opacity-whcm);
  }

  &::before {
    border-width: calc(var(--doorhanger-height) + 2px);
    border-bottom-color: var(--doorhanger-border-color);
  }

  &::after {
    border-width: var(--doorhanger-height);
  }
}

.doorHangerRight {
  inset-inline-end: calc(50% - var(--doorhanger-height) - 1px);

  &::before {
    inset-inline-end: -1px;
  }

  &::after {
    border-bottom-color: var(--doorhanger-bg-color);
    inset-inline-end: 1px;
  }
}

.doorHanger {
  inset-inline-start: calc(50% - var(--doorhanger-height) - 1px);

  &::before {
    inset-inline-start: -1px;
  }

  &::after {
    border-bottom-color: var(--toolbar-bg-color);
    inset-inline-start: 1px;
  }
}

.dialogButton {
  border: none;
  background: none;
  width: 28px;
  height: 28px;
  outline: none;
}

.dialogButton:is(:hover, :focus-visible) {
  background-color: var(--dialog-button-hover-bg-color);
}

.dialogButton:is(:hover, :focus-visible) > span {
  color: var(--dialog-button-hover-color);
}

.splitToolbarButtonSeparator {
  float: inline-start;
  width: 0;
  height: 62%;
  border-left: 1px solid var(--separator-color);
  border-right: none;
}

.dialogButton {
  min-width: 16px;
  margin: 2px 1px;
  padding: 2px 6px 0;
  border: none;
  border-radius: 2px;
  color: var(--main-color);
  font-size: 12px;
  line-height: 14px;
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
  cursor: default;
  box-sizing: border-box;
}

#viewsManagerToggleButton::before {
  -webkit-mask-image: var(--toolbarButton-viewsManagerToggle-icon);
  mask-image: var(--toolbarButton-viewsManagerToggle-icon);
  transform: scaleX(var(--dir-factor));
}

#secondaryToolbarToggleButton::before {
  -webkit-mask-image: var(--toolbarButton-secondaryToolbarToggle-icon);
  mask-image: var(--toolbarButton-secondaryToolbarToggle-icon);
  transform: scaleX(var(--dir-factor));
}

#previous::before {
  -webkit-mask-image: var(--toolbarButton-pageUp-icon);
  mask-image: var(--toolbarButton-pageUp-icon);
}

#next::before {
  -webkit-mask-image: var(--toolbarButton-pageDown-icon);
  mask-image: var(--toolbarButton-pageDown-icon);
}

#zoomOutButton::before {
  -webkit-mask-image: var(--toolbarButton-zoomOut-icon);
  mask-image: var(--toolbarButton-zoomOut-icon);
}

#zoomInButton::before {
  -webkit-mask-image: var(--toolbarButton-zoomIn-icon);
  mask-image: var(--toolbarButton-zoomIn-icon);
}

#editorCommentButton::before {
  -webkit-mask-image: var(--toolbarButton-editorComment-icon);
  mask-image: var(--toolbarButton-editorComment-icon);
  transform: scaleX(var(--dir-factor));
}

#editorFreeTextButton::before {
  -webkit-mask-image: var(--toolbarButton-editorFreeText-icon);
  mask-image: var(--toolbarButton-editorFreeText-icon);
}

#editorHighlightButton::before {
  -webkit-mask-image: var(--toolbarButton-editorHighlight-icon);
  mask-image: var(--toolbarButton-editorHighlight-icon);
}

#editorInkButton::before {
  -webkit-mask-image: var(--toolbarButton-editorInk-icon);
  mask-image: var(--toolbarButton-editorInk-icon);
}

#editorStampButton::before {
  -webkit-mask-image: var(--toolbarButton-editorStamp-icon);
  mask-image: var(--toolbarButton-editorStamp-icon);
}

#editorSignatureButton::before {
  -webkit-mask-image: var(--toolbarButton-editorSignature-icon);
  mask-image: var(--toolbarButton-editorSignature-icon);
}

#printButton::before {
  -webkit-mask-image: var(--toolbarButton-print-icon);
  mask-image: var(--toolbarButton-print-icon);
}

#downloadButton::before {
  -webkit-mask-image: var(--toolbarButton-download-icon);
  mask-image: var(--toolbarButton-download-icon);
}

#currentOutlineItem::before {
  -webkit-mask-image: var(--toolbarButton-currentOutlineItem-icon);
  mask-image: var(--toolbarButton-currentOutlineItem-icon);
  transform: scaleX(var(--dir-factor));
}

#viewFindButton::before {
  -webkit-mask-image: var(--toolbarButton-search-icon);
  mask-image: var(--toolbarButton-search-icon);
}

.pdfSidebarNotification::after {
  position: absolute;
  display: inline-block;
  top: 2px;
  inset-inline-end: 2px;
  content: "";
  background-color: rgb(112 219 85);
  height: 9px;
  width: 9px;
  border-radius: 50%;
}

.verticalToolbarSeparator {
  display: block;
  margin-inline: 2px;
  width: 0;
  height: 80%;
  border-left: 1px solid var(--separator-color);
  border-right: none;
  box-sizing: border-box;
}

.horizontalToolbarSeparator {
  display: block;
  margin: 6px 0;
  border-top: 1px solid var(--doorhanger-separator-color);
  border-bottom: none;
  height: 0;
  width: 100%;
}

.toggleButton {
  display: inline;

  &:has(> input:checked) {
    color: var(--toggled-btn-color);
    background-color: var(--toggled-btn-bg-color);
  }

  &:is(:hover, :has(> input:focus-visible)) {
    color: var(--toggled-btn-color);
    background-color: var(--button-hover-color);
  }

  & > input {
    position: absolute;
    top: 50%;
    left: 50%;
    opacity: 0;
    width: 0;
    height: 0;
  }
}

.toolbarField {
  padding: 4px 7px;
  margin: 3px 0;
  border-radius: 2px;
  background-color: var(--field-bg-color);
  background-clip: padding-box;
  border: 1px solid var(--field-border-color);
  box-shadow: none;
  color: var(--field-color);
  font-size: 12px;
  line-height: 16px;
  outline: none;

  &:focus {
    border-color: #0a84ff;
  }
}

#pageNumber {
  -moz-appearance: textfield;
  text-align: end;
  width: 40px;
  background-size: 0 0;
  transition-property: none;

  &::-webkit-inner-spin-button {
    -webkit-appearance: none;
  }

  .loadingInput:has(> &.loading)::after {
    display: inline;
    visibility: visible;

    transition-property: visibility;
    transition-delay: var(--loading-icon-delay);
  }
}

.loadingInput {
  position: relative;

  &::after {
    position: absolute;
    visibility: hidden;
    display: none;
    width: var(--icon-size);
    height: var(--icon-size);

    content: "";
    background-color: var(--toolbar-icon-bg-color);
    -webkit-mask-size: cover;
    mask-size: cover;
    -webkit-mask-image: var(--loading-icon);
    mask-image: var(--loading-icon);
  }

  &.start::after {
    inset-inline-start: 4px;
  }

  &.end::after {
    inset-inline-end: 4px;
  }
}
#outlineOptionsContainer {
  display: none;

  #sidebarContainer:has(#outlineView:not(.hidden)) & {
    display: inline flex;
  }
}

.dialogButton {
  width: auto;
  margin: 3px 4px 2px !important;
  padding: 2px 11px;
  color: var(--main-color);
  background-color: var(--dialog-button-bg-color);
  border: var(--dialog-button-border) !important;
}

dialog {
  margin: auto;
  padding: 15px;
  border-spacing: 4px;
  color: var(--main-color);
  font: message-box;
  font-size: 12px;
  line-height: 14px;
  background-color: var(--doorhanger-bg-color);
  border: 1px solid rgb(0 0 0 / 0.5);
  border-radius: 4px;
  box-shadow: 0 1px 4px rgb(0 0 0 / 0.3);
}

dialog::backdrop {
  background-color: rgb(0 0 0 / 0.2);
}

dialog > .row {
  display: table-row;
}

dialog > .row > * {
  display: table-cell;
}

dialog .toolbarField {
  margin: 5px 0;
}

dialog .separator {
  display: block;
  margin: 4px 0;
  height: 0;
  width: 100%;
  border-top: 1px solid var(--separator-color);
  border-bottom: none;
}

dialog .buttonRow {
  text-align: center;
  vertical-align: middle;
}

dialog :link {
  color: rgb(255 255 255);
}

#passwordDialog {
  text-align: center;
}

#passwordDialog .toolbarField {
  width: 200px;
}

#documentPropertiesDialog {
  text-align: left;
}

#documentPropertiesDialog .row > * {
  min-width: 100px;
  text-align: start;
}

#documentPropertiesDialog .row > span {
  width: 125px;
  word-wrap: break-word;
}

#documentPropertiesDialog .row > p {
  max-width: 225px;
  word-wrap: break-word;
}

#documentPropertiesDialog .buttonRow {
  margin-top: 10px;
}

#printServiceDialog {
  min-width: 200px;
}

.grab-to-pan-grab {
  cursor: grab !important;
}

.grab-to-pan-grab
  *:not(input):not(textarea):not(button):not(select):not(:link) {
  cursor: inherit !important;
}

.grab-to-pan-grab:active,
.grab-to-pan-grabbing {
  cursor: grabbing !important;
}

.grab-to-pan-grabbing {
  position: fixed;
  background: rgb(0 0 0 / 0);
  display: block;
  inset: 0;
  overflow: hidden;
  z-index: 50000;
}

.toolbarButton {
  height: 100%;
  aspect-ratio: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  background: none;
  border: none;
  color: var(--main-color);
  outline: none;
  border-radius: 2px;
  box-sizing: border-box;
  font: message-box;
  flex: none;
  position: relative;
  padding: 0;

  > span {
    display: inline-block;
    width: 0;
    height: 0;
    overflow: hidden;
  }

  &::before {
    opacity: var(--toolbar-icon-opacity);
    display: inline-block;
    width: var(--icon-size);
    height: var(--icon-size);
    content: "";
    background-color: var(--toolbar-icon-bg-color);
    -webkit-mask-size: cover;
    mask-size: cover;
    -webkit-mask-position: center;
    mask-position: center;
  }

  &.toggled {
    background-color: var(--toggled-btn-bg-color);
    color: var(--toggled-btn-color);

    &::before {
      background-color: var(--toggled-btn-color);
    }

    &:hover {
      outline: var(--toggled-hover-btn-outline) !important;

      &:active {
        background-color: var(--toggled-hover-active-btn-color);
      }
    }
  }

  &:is(:hover, :focus-visible) {
    background-color: var(--button-hover-color);

    &::before {
      background-color: var(--toolbar-icon-hover-bg-color);
    }
  }

  &:is([disabled="disabled"], [disabled]) {
    opacity: 0.5;
    pointer-events: none;
  }

  &.labeled {
    width: 100%;
    min-height: var(--menuitem-height);
    justify-content: flex-start;
    gap: 8px;
    padding-inline-start: 12px;
    aspect-ratio: unset;
    text-align: start;
    white-space: normal;
    cursor: default;

    &:is(a) {
      text-decoration: none;

      &[href="#"] {
        opacity: 0.5;
        pointer-events: none;
      }
    }

    &::before {
      opacity: var(--doorhanger-icon-opacity);
    }

    &:is(:hover, :focus-visible) {
      color: var(--doorhanger-hover-color);
    }

    > span {
      display: inline-block;
      width: -moz-max-content;
      width: max-content;
      height: auto;
    }
  }
}

.toolbarButtonWithContainer {
  height: 100%;
  aspect-ratio: 1;
  display: inline-block;
  position: relative;
  flex: none;

  > .toolbarButton {
    width: 100%;
    height: 100%;
  }

  .menu {
    padding-block: 5px;
  }

  .menuContainer {
    height: auto;
    max-height: calc(
      var(--viewer-container-height) - var(--toolbar-height) -
        var(--doorhanger-height)
    );
    display: flex;
    flex-direction: column;
    box-sizing: border-box;
    overflow-y: auto;
  }

  .editorParamsToolbar {
    --editor-toolbar-min-width: 220px;

    height: auto;
    min-width: var(--editor-toolbar-min-width);
    width: -moz-max-content;
    width: max-content;
    position: absolute;
    z-index: 30000;
    cursor: default;

    :is(#editorStampAddImage, #editorSignatureAddSignature)::before {
      -webkit-mask-image: var(--editorParams-stampAddImage-icon);
      mask-image: var(--editorParams-stampAddImage-icon);
    }

    .editorParamsLabel {
      flex: none;
      font: menu;
      font-size: 13px;
      font-style: normal;
      font-weight: 400;
      line-height: 150%;
      width: -moz-fit-content;
      width: fit-content;
      inset-inline-start: 0;
      color: var(--main-color);
    }

    button:is(:hover, :focus-visible) .editorParamsLabel {
      color: var(--doorhanger-hover-color);
    }

    .editorParamsToolbarContainer {
      width: 100%;
      height: auto;
      display: flex;
      flex-direction: column;
      box-sizing: border-box;
      padding-inline: 10px;
      padding-block: 10px;

      > .editorParamsSetter {
        min-height: 26px;
        display: flex;
        align-items: center;
        justify-content: space-between;
      }

      .editorParamsColor {
        width: 32px;
        height: 32px;
        flex: none;
        padding: 0;
      }

      .editorParamsSlider {
        background-color: transparent;
        width: 90px;
        flex: 0 1 0;
        font: message-box;

        &::-moz-range-progress {
          background-color: black;
        }

        &::-webkit-slider-runnable-track,
        &::-moz-range-track {
          background-color: black;
        }

        &::-webkit-slider-thumb,
        &::-moz-range-thumb {
          background-color: white;
        }
      }
    }
  }
}

#secondaryToolbar {
  height: auto;
  width: 220px;
  position: absolute;
  z-index: 30000;
  cursor: default;
  min-height: 26px;
  max-height: calc(var(--viewer-container-height) - 40px);

  #secondaryToolbarButtonContainer {
    #secondaryOpenFile::before {
      -webkit-mask-image: var(--toolbarButton-openFile-icon);
      mask-image: var(--toolbarButton-openFile-icon);
    }

    #secondaryPrint::before {
      -webkit-mask-image: var(--toolbarButton-print-icon);
      mask-image: var(--toolbarButton-print-icon);
    }

    #secondaryDownload::before {
      -webkit-mask-image: var(--toolbarButton-download-icon);
      mask-image: var(--toolbarButton-download-icon);
    }

    #presentationMode::before {
      -webkit-mask-image: var(--toolbarButton-presentationMode-icon);
      mask-image: var(--toolbarButton-presentationMode-icon);
    }

    #viewBookmark::before {
      -webkit-mask-image: var(--toolbarButton-bookmark-icon);
      mask-image: var(--toolbarButton-bookmark-icon);
    }

    #firstPage::before {
      -webkit-mask-image: var(--secondaryToolbarButton-firstPage-icon);
      mask-image: var(--secondaryToolbarButton-firstPage-icon);
    }

    #lastPage::before {
      -webkit-mask-image: var(--secondaryToolbarButton-lastPage-icon);
      mask-image: var(--secondaryToolbarButton-lastPage-icon);
    }

    #pageRotateCcw::before {
      -webkit-mask-image: var(--secondaryToolbarButton-rotateCcw-icon);
      mask-image: var(--secondaryToolbarButton-rotateCcw-icon);
    }

    #pageRotateCw::before {
      -webkit-mask-image: var(--secondaryToolbarButton-rotateCw-icon);
      mask-image: var(--secondaryToolbarButton-rotateCw-icon);
    }

    #cursorSelectTool::before {
      -webkit-mask-image: var(--secondaryToolbarButton-selectTool-icon);
      mask-image: var(--secondaryToolbarButton-selectTool-icon);
    }

    #cursorHandTool::before {
      -webkit-mask-image: var(--secondaryToolbarButton-handTool-icon);
      mask-image: var(--secondaryToolbarButton-handTool-icon);
    }

    #scrollPage::before {
      -webkit-mask-image: var(--secondaryToolbarButton-scrollPage-icon);
      mask-image: var(--secondaryToolbarButton-scrollPage-icon);
    }

    #scrollVertical::before {
      -webkit-mask-image: var(--secondaryToolbarButton-scrollVertical-icon);
      mask-image: var(--secondaryToolbarButton-scrollVertical-icon);
    }

    #scrollHorizontal::before {
      -webkit-mask-image: var(--secondaryToolbarButton-scrollHorizontal-icon);
      mask-image: var(--secondaryToolbarButton-scrollHorizontal-icon);
    }

    #scrollWrapped::before {
      -webkit-mask-image: var(--secondaryToolbarButton-scrollWrapped-icon);
      mask-image: var(--secondaryToolbarButton-scrollWrapped-icon);
    }

    #spreadNone::before {
      -webkit-mask-image: var(--secondaryToolbarButton-spreadNone-icon);
      mask-image: var(--secondaryToolbarButton-spreadNone-icon);
    }

    #spreadOdd::before {
      -webkit-mask-image: var(--secondaryToolbarButton-spreadOdd-icon);
      mask-image: var(--secondaryToolbarButton-spreadOdd-icon);
    }

    #spreadEven::before {
      -webkit-mask-image: var(--secondaryToolbarButton-spreadEven-icon);
      mask-image: var(--secondaryToolbarButton-spreadEven-icon);
    }

    #imageAltTextSettings::before {
      -webkit-mask-image: var(
        --secondaryToolbarButton-imageAltTextSettings-icon
      );
      mask-image: var(--secondaryToolbarButton-imageAltTextSettings-icon);
    }

    #documentProperties::before {
      -webkit-mask-image: var(--secondaryToolbarButton-documentProperties-icon);
      mask-image: var(--secondaryToolbarButton-documentProperties-icon);
    }
  }
}

#findbar {
  --input-horizontal-padding: 4px;
  --findbar-padding: 2px;

  width: -moz-max-content;

  width: max-content;
  max-width: 90vw;
  min-height: var(--toolbar-height);
  height: auto;
  position: absolute;
  z-index: 30000;
  cursor: default;
  padding: 0;
  min-width: 300px;
  background-color: var(--toolbar-bg-color);
  box-sizing: border-box;
  flex-wrap: wrap;
  justify-content: flex-start;

  > * {
    height: var(--toolbar-height);
    padding: var(--findbar-padding);
  }

  #findInputContainer {
    margin-inline-start: 2px;

    #findPreviousButton::before {
      -webkit-mask-image: var(--findbarButton-previous-icon);
      mask-image: var(--findbarButton-previous-icon);
    }

    #findNextButton::before {
      -webkit-mask-image: var(--findbarButton-next-icon);
      mask-image: var(--findbarButton-next-icon);
    }

    #findInput {
      width: 200px;
      padding: 5px var(--input-horizontal-padding);
      &::-moz-placeholder {
        font-style: normal;
      }
      &::placeholder {
        font-style: normal;
      }

      .loadingInput:has(> &[data-status="pending"])::after {
        display: inline;
        visibility: visible;
        inset-inline-end: calc(var(--input-horizontal-padding) + 1px);
      }

      &[data-status="notFound"] {
        background-color: rgb(255 102 102);
      }
    }
  }

  #findbarMessageContainer {
    display: none;
    gap: 4px;

    &:has(> :is(#findResultsCount, #findMsg):not(:empty)) {
      display: inline flex;
    }

    #findResultsCount {
      background-color: rgb(217 217 217);
      color: rgb(82 82 82);
      padding-block: 4px;

      &:empty {
        display: none;
      }
    }

    #findMsg {
      &[data-status="notFound"] {
        font-weight: bold;
      }

      &:empty {
        display: none;
      }
    }
  }

  &.wrapContainers {
    flex-direction: column;
    align-items: flex-start;
    height: -moz-max-content;
    height: max-content;

    .toolbarLabel {
      margin: 0 4px;
    }

    #findbarMessageContainer {
      flex-wrap: wrap;
      flex-flow: column nowrap;
      align-items: flex-start;
      height: -moz-max-content;
      height: max-content;

      #findResultsCount {
        height: calc(var(--toolbar-height) - 2 * var(--findbar-padding));
      }

      #findMsg {
        min-height: var(--toolbar-height);
      }
    }
  }
}

@page {
  margin: 0;
}

#printContainer {
  display: none;
}

@media print {
  body {
    background: rgb(0 0 0 / 0) none;
  }

  body[data-pdfjsprinting] #outerContainer {
    display: none;
  }

  body[data-pdfjsprinting] #printContainer {
    display: block;
  }

  #printContainer {
    height: 100%;
  }
  #printContainer > .printedPage {
    page-break-after: always;
    page-break-inside: avoid;
    height: 100%;
    width: 100%;

    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
  }

  #printContainer > .xfaPrintedPage .xfaPage {
    position: absolute;
  }

  #printContainer > .xfaPrintedPage {
    page-break-after: always;
    page-break-inside: avoid;
    width: 100%;
    height: 100%;
    position: relative;
  }

  #printContainer > .printedPage :is(canvas, img) {
    max-width: 100%;
    max-height: 100%;

    direction: ltr;
    display: block;
  }
}

.visibleMediumView {
  display: none !important;
}

.toolbarLabel {
  width: -moz-max-content;
  width: max-content;
  min-width: 16px;
  height: 100%;
  padding-inline: 4px;
  margin: 2px;
  border-radius: 2px;
  color: var(--main-color);
  font-size: 12px;
  line-height: 14px;
  text-align: left;
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
  cursor: default;
  box-sizing: border-box;

  display: inline flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;

  > label {
    width: 100%;
  }
}

.toolbarHorizontalGroup {
  height: 100%;
  display: inline flex;
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
  gap: 1px;
  box-sizing: border-box;
}

.dropdownToolbarButton {
  display: inline flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  position: relative;

  width: -moz-fit-content;

  width: fit-content;
  min-width: 140px;
  padding: 0;
  background-color: var(--dropdown-btn-bg-color);
  border: var(--dropdown-btn-border);
  border-radius: 2px;
  color: var(--main-color);
  font-size: 12px;
  line-height: 14px;
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
  cursor: default;
  box-sizing: border-box;
  outline: none;

  &:hover {
    background-color: var(--button-hover-color);
  }

  > select {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    width: inherit;
    min-width: inherit;
    height: 28px;
    font: message-box;
    font-size: 12px;
    color: var(--main-color);
    margin: 0;
    padding-block: 1px 2px;
    padding-inline: 6px 38px;
    border: none;
    outline: none;
    background-color: var(--dropdown-btn-bg-color);

    > option {
      background: var(--doorhanger-bg-color);
      color: var(--main-color);
    }

    &:is(:hover, :focus-visible) {
      background-color: var(--button-hover-color);
      color: var(--toggled-btn-color);
    }
  }

  &::after {
    position: absolute;
    display: inline;
    width: var(--icon-size);
    height: var(--icon-size);

    content: "";
    background-color: var(--toolbar-icon-bg-color);
    -webkit-mask-size: cover;
    mask-size: cover;

    inset-inline-end: 4px;
    pointer-events: none;
    -webkit-mask-image: var(--toolbarButton-menuArrow-icon);
    mask-image: var(--toolbarButton-menuArrow-icon);
  }

  &:is(:hover, :focus-visible, :active)::after {
    background-color: var(--toolbar-icon-hover-bg-color);
  }
}

#toolbarContainer {
  --menuitem-height: calc(var(--toolbar-height) - 6px);

  width: 100%;
  height: var(--toolbar-height);
  padding: var(--toolbar-vertical-padding) var(--toolbar-horizontal-padding);
  position: relative;
  box-sizing: border-box;
  font: message-box;
  background-color: var(--toolbar-bg-color);
  box-shadow: var(--toolbar-box-shadow);
  border-bottom: var(--toolbar-border-bottom);

  #toolbarViewer {
    width: 100%;
    height: 100%;
    justify-content: space-between;

    > * {
      flex: none;
    }

    input {
      font: message-box;
    }

    .toolbarButtonSpacer {
      width: 30px;
      display: block;
      height: 1px;
    }

    #toolbarViewerLeft {
      margin-inline-start: 8px;

      #numPages.toolbarLabel {
        padding-inline-start: 3px;
        flex: none;
      }
    }
  }

  #loadingBar {
    --progressBar-percent: 0%;
    --progressBar-end-offset: 0;

    position: absolute;
    top: var(--toolbar-height);
    inset-inline: 0 var(--progressBar-end-offset);
    height: 4px;
    background-color: var(--progressBar-bg-color);
    border-bottom: 1px solid var(--toolbar-border-color);
    transition-property: inset-inline-start;
    transition-duration: var(--sidebar-transition-duration);
    transition-timing-function: var(--sidebar-transition-timing-function);

    .progress {
      position: absolute;
      top: 0;
      inset-inline-start: 0;
      width: 100%;
      transform: scaleX(var(--progressBar-percent));
      transform-origin: calc(50% - 50% * var(--dir-factor)) 0;
      height: 100%;
      background-color: var(--progressBar-color);
      overflow: hidden;
      transition: transform 200ms;
    }

    &.indeterminate .progress {
      transform: none;
      background-color: var(--progressBar-bg-color);
      transition: none;

      .glimmer {
        position: absolute;
        top: 0;
        inset-inline-start: 0;
        height: 100%;
        width: calc(100% + 150px);
        background: repeating-linear-gradient(
          135deg,
          var(--progressBar-blend-color) 0,
          var(--progressBar-bg-color) 5px,
          var(--progressBar-bg-color) 45px,
          var(--progressBar-color) 55px,
          var(--progressBar-color) 95px,
          var(--progressBar-blend-color) 100px
        );
        animation: progressIndeterminate 1s linear infinite;
      }
    }
  }
}

@media all and (max-width: 840px) {
  #sidebarContainer {
    background-color: var(--sidebar-narrow-bg-color);
  }
  #outerContainer.viewsManagerOpen #viewerContainer {
    inset-inline-start: 0 !important;
  }
}

@media all and (max-width: 750px) {
  #outerContainer .hiddenMediumView {
    display: none !important;
  }
  #outerContainer .visibleMediumView:not(.hidden, [hidden]) {
    display: inline-block !important;
  }
}

@media all and (max-width: 690px) {
  .hiddenSmallView,
  .hiddenSmallView * {
    display: none !important;
  }

  #toolbarContainer #toolbarViewer .toolbarButtonSpacer {
    width: 0;
  }
}

@media all and (max-width: 560px) {
  #scaleSelectContainer {
    display: none;
  }
}
