.bubo-highlighter-yellow {
    background-color: rgba(255, 255, 0, 0.33);
}
.bubo-highlighter-magenta {
    background-color: #FF50FF;
}
.bubo-highlighter-cyan {
    background-color: #00FFFF;
}
.bubo-highlighter-lightred {
    background-color: #FFA0A0;
}
.bubo-highlighter-green {
    background-color: rgba(0, 255, 0, 0.33);
}

/* PDF text layer: the visible glyphs live in the rendered page image BELOW
   the (invisible, selection-only) text layer, so a translucent highlight
   painted on top washes the ink out. Multiply blending makes highlights
   behave as if painted BEHIND the ink — white paper turns yellow, dark
   glyphs stay dark.

   The blend MUST sit on .textLayer itself, NOT on the highlighter spans:
   the text-layer item spans carry transforms and .textLayer is z-indexed,
   and each creates an isolated stacking context, so a span-level
   mix-blend-mode (and backdrop-filter) never reaches the canvas — verified
   by pixel-sampling (span-level rule was a no-op). At the layer level the
   whole layer (transparent text contributes nothing per-pixel) multiplies
   onto the sibling canvas below. Side effects: text selection and the
   opaque marker colors (magenta/cyan/lightred) also multiply in PDF text
   layers — ink shows through them now.
   The annotation-View iframe is unaffected (its spans wrap real text, the
   background already paints behind the glyphs). */
.textLayer {
    mix-blend-mode: multiply;
}

* {
  overflow-anchor: none;
}

.vh100 {
    height: 100vh;
}

/* from green-900 */
.bubo-focusable-border-green-900:focus-visible {
    border: 2px solid #14532d !important;
    border-radius: 0.75rem !important;
    outline: none !important;
}

.bubo-active-green:active {
    color: #00ff00 !important;
}

.bubo-text-base {
    font-size: 1rem !important;
    line-height: 1.5rem !important;
}
