:where(.proofreading-anchor) { position:relative; isolation:isolate; }
.proofreading-decorations { position:absolute; inset:0; z-index:1; pointer-events:none; overflow:hidden; }
.proofreading-underline { position:absolute; height:3px; pointer-events:none; background-repeat:repeat-x; background-size:6px 3px; background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='6' height='3'%3E%3Cpath d='M0 2L1.5 0.5 4.5 2.5 6 1' fill='none' stroke='%23c83c40' stroke-width='1.2'/%3E%3C/svg%3E"); }
.proofreading-underline.grammar { background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='6' height='3'%3E%3Cpath d='M0 2L1.5 0.5 4.5 2.5 6 1' fill='none' stroke='%231264d0' stroke-width='1.2'/%3E%3C/svg%3E"); }
.proofreading-mirror { position:fixed; z-index:66; box-sizing:border-box; border-style:solid; border-color:transparent; color:transparent; pointer-events:none; overflow:hidden; align-items:center; }
.proofreading-mirror>span { display:block; flex:none; width:100%; min-width:0; overflow-wrap:break-word; }
::highlight(lsnn-proofreading-active) { background:#fce0e2; color:inherit; }
::highlight(lsnn-proofreading-active-grammar) { background:#e0edfa; color:inherit; }
.proofreading-mirror::highlight(lsnn-proofreading-active),.proofreading-mirror *::highlight(lsnn-proofreading-active) { color:var(--proofreading-text-color); }
.proofreading-mirror::highlight(lsnn-proofreading-active-grammar),.proofreading-mirror *::highlight(lsnn-proofreading-active-grammar) { color:var(--proofreading-text-color); }
.proofreading-popup { position:fixed; z-index:100; display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:start; gap:7px; width:max-content; max-width:min(420px,calc(100vw - 24px)); padding:9px; border:1px solid #b8cce4; border-radius:6px; background:#fff; color:#173351; box-shadow:0 6px 24px #09244630; font:400 12px/1.4 var(--sans,Arial,sans-serif); }
.proofreading-popup[hidden] { display:none; }
.proofreading-suggestions { display:flex; flex-wrap:wrap; gap:5px; max-width:350px; }
:root .proofreading-popup button { display:inline-flex; align-items:center; justify-content:center; min-height:30px; padding:6px 9px; font-size:12px; line-height:1.3; }
:root .proofreading-suggestions button { font-weight:500; }
:root .proofreading-popup .proofreading-ignore { width:30px; height:30px; padding:3px; font-size:20px; line-height:1; }
.proofreading-explanation { grid-column:1/-1; margin:0; padding:5px 2px 0; border-top:1px solid #e0e8f1; font-size:11px; color:#607895; }
.proofreading-status { position:absolute; width:1px; height:1px; padding:0; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
@media(forced-colors:active) { .proofreading-underline { background:none; border-bottom:2px dotted Mark; } }
