/* Only plugin spans are affected. No changes to theme typography or layout. */
span.srm-marker-1,span.srm-marker-2,span.srm-marker-3,span.srm-marker-4,span.srm-marker-5,span.srm-marker-6,
span.srm-curtain-1,span.srm-curtain-2,span.srm-curtain-3,span.srm-curtain-4,span.srm-curtain-5,span.srm-curtain-6,
span.srm-soft-1,span.srm-soft-2,span.srm-soft-3,span.srm-soft-4,span.srm-soft-5,span.srm-soft-6,
span.srm-line-1,span.srm-line-2,span.srm-line-3,span.srm-line-4,span.srm-line-5,span.srm-line-6 {
 background-image:var(--srm-ink,linear-gradient(#ffe58f,#ffe58f));
 background-position:0 100%;background-repeat:no-repeat;
 background-size:100% var(--srm-height,0.52em);
 -webkit-box-decoration-break:clone;box-decoration-break:clone;
}
span.srm-pending{background-size:0% var(--srm-height,0.52em)}
span.srm-revealed{background-size:100% var(--srm-height,0.52em);transition:background-size 700ms cubic-bezier(.22,.61,.36,1)}
@media(prefers-reduced-motion:reduce){span.srm-pending,span.srm-revealed{background-size:100% var(--srm-height,0.52em);transition:none}}
@media print{span.srm-pending,span.srm-revealed{background-size:100% var(--srm-height,0.52em);transition:none}}
/* Covers exist only during playback, outside document flow. */
.srm-curtain-cover{position:fixed!important;display:block!important;margin:0!important;padding:0!important;border:0!important;pointer-events:none!important;z-index:2147483647;clip-path:inset(0 100% 0 0)}
@media(prefers-reduced-motion:reduce){.srm-curtain-cover{display:none!important}}
@media print{.srm-curtain-cover{display:none!important}}

/* Final curtain decoration is a normal inline background, including without JS. */
span.srm-curtain-pending{background-size:0% var(--srm-height,0.52em)}
@media(prefers-reduced-motion:reduce){span.srm-curtain-pending{background-size:100% var(--srm-height,0.52em)}}
@media print{span.srm-curtain-pending{background-size:100% var(--srm-height,0.52em)}}

/* Phase two: draw the final marker from left to right after the curtain exits. */
@keyframes srm-curtain-marker-draw{from{background-size:0% var(--srm-height,0.52em)}to{background-size:100% var(--srm-height,0.52em)}}
span.srm-curtain-finished{animation:srm-curtain-marker-draw 450ms cubic-bezier(.22,.61,.36,1) both}
@media(prefers-reduced-motion:reduce){span.srm-curtain-finished{animation:none}}
@media print{span.srm-curtain-finished{animation:none}}

/* Transparent, non-interactive top layer; fallback works without Popover API. */
.srm-curtain-layer{position:fixed!important;inset:0!important;width:100%!important;height:100%!important;max-width:none!important;max-height:none!important;margin:0!important;padding:0!important;border:0!important;background:transparent!important;overflow:visible!important;pointer-events:none!important;z-index:2147483647!important;transform:none!important}
.srm-curtain-layer::backdrop{background:transparent!important;pointer-events:none!important}
@media print{.srm-curtain-layer{display:none!important}}

/* Optional effects keep the original inline layout and markup. */
span.srm-extra-pending{background-size:0% var(--srm-height,0.52em)}
@keyframes srm-soft-reveal{
 0%{filter:blur(4px);opacity:.35;background-size:0% var(--srm-height,0.52em)}
 55%{filter:blur(0);opacity:1;background-size:0% var(--srm-height,0.52em)}
 100%{filter:blur(0);opacity:1;background-size:100% var(--srm-height,0.52em)}
}
@keyframes srm-line-reveal{
 0%{background-size:0% 0.14em}
 55%{background-size:100% 0.14em}
 100%{background-size:100% var(--srm-height,0.52em)}
}
span.srm-soft-running{animation:srm-soft-reveal 1000ms ease-out both}
span.srm-line-running{animation:srm-line-reveal 900ms ease-out both}
@media(prefers-reduced-motion:reduce){span.srm-extra-pending{background-size:100% var(--srm-height,0.52em)}span.srm-soft-running,span.srm-line-running{animation:none}}
@media print{span.srm-extra-pending{background-size:100% var(--srm-height,0.52em)}span.srm-soft-running,span.srm-line-running{animation:none}}
/* New text accents: never change the inline box dimensions. */
span.srm-outline-1,span.srm-outline-2,span.srm-outline-3,span.srm-outline-4,span.srm-outline-5,span.srm-outline-6{background-image:none;background-size:100% 100%;background-repeat:no-repeat;-webkit-box-decoration-break:clone;box-decoration-break:clone}
span.srm-outline-pending{background-image:none}
.srm-outline-stroke{position:fixed!important;display:block!important;margin:0!important;padding:0!important;border:0!important;pointer-events:none!important;overflow:visible!important}
span.srm-tint-1,span.srm-tint-2,span.srm-tint-3,span.srm-tint-4,span.srm-tint-5,span.srm-tint-6{color:var(--srm-accent,#6975dc)}
span.srm-tint-pending{color:var(--srm-original-color,inherit)}
@keyframes srm-tint-sweep{from{background-position:100% 0}to{background-position:0% 0}}
span.srm-tint-running{background-image:linear-gradient(90deg,var(--srm-accent) 50%,var(--srm-original-color,#333) 50%);background-size:200% 100%;background-repeat:no-repeat;background-clip:text;-webkit-background-clip:text;color:transparent;-webkit-text-fill-color:transparent;animation:srm-tint-sweep 650ms ease-out both;-webkit-box-decoration-break:clone;box-decoration-break:clone}
span.srm-note{text-decoration-line:underline;text-decoration-style:dotted;text-decoration-color:currentColor;text-underline-offset:.2em;cursor:help}
span.srm-note:focus-visible{outline:2px solid currentColor;outline-offset:3px;border-radius:2px}
.srm-note-card{position:fixed;inset:auto;margin:0;width:320px;max-width:calc(100vw - 24px);max-height:calc(100vh - 24px);overflow:auto;box-sizing:border-box;padding:18px 20px;background:#fff;color:#1d1d1f;border:1px solid #e6e6e9;border-radius:16px;box-shadow:0 10px 38px #0002;font:15px/1.7 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;z-index:2147483647}
.srm-note-card::backdrop{background:transparent;pointer-events:none}
.srm-note-card p{margin:0 0 12px;white-space:pre-wrap;overflow-wrap:anywhere}
.srm-note-card button{display:block;margin:0 0 0 auto;border:0;border-radius:8px;background:#f1f1f4;color:#222;padding:8px 14px;font:inherit;cursor:pointer}
.srm-note-card button:focus-visible{outline:2px solid #007aff;outline-offset:2px}
@media(prefers-reduced-motion:reduce){span.srm-outline-pending{background-image:var(--srm-outline)}span.srm-tint-pending,span.srm-tint-running{animation:none;background:none;color:var(--srm-accent);-webkit-text-fill-color:currentColor}}
@media print{.srm-note-card{display:none!important}span.srm-outline-pending{background-image:var(--srm-outline)}span.srm-tint-pending,span.srm-tint-running{animation:none;background:none;color:var(--srm-accent);-webkit-text-fill-color:currentColor}}

/* Live ovals extend beyond the text without padding or layout changes. */
span.srm-outline-live{background-image:none!important}
@media print{.srm-oval-layer{display:none!important}span.srm-outline-live{background-image:var(--srm-outline)!important}}

span.srm-outline-pending{background-image:none!important}

/* Never flash a complete oval before delayed front-end scripts initialize. */
.editor-styles-wrapper :is(.srm-outline-1,.srm-outline-2,.srm-outline-3,.srm-outline-4,.srm-outline-5,.srm-outline-6){background-image:var(--srm-outline)}
@media print{span:is(.srm-outline-1,.srm-outline-2,.srm-outline-3,.srm-outline-4,.srm-outline-5,.srm-outline-6){background-image:var(--srm-outline)!important}}
