#editorTools { display: grid; gap: 0; padding: 0; background: #f4f7f5; color: #203b30; border-bottom: 1px solid #ccd8cf; }
#editorTools[hidden], #editorTools [hidden], #restoreExplorer[hidden], #projectExplorer[hidden] { display: none !important; }
.ed-toolbar,.ed-replace { display: flex; flex-wrap: wrap; align-items: center; gap: 4px; padding: 5px 8px; }
.ed-toolbar #openSnippets { margin-inline-start: auto; }
#editorTools input, #editorTools select, #editorTools button { min-height: 29px; padding: 3px 7px; font: 550 12px/1.35 var(--sans, system-ui); color: #294637; background: white; border: 1px solid #c5d3ca; border-radius: 5px; }
#editorTools input { flex: 1 1 105px; min-width: 70px; max-width: 240px; font-family: var(--mono,monospace); }
#editorTools input::placeholder { color: #62756a; }
#editorTools button:hover:enabled, #editorTools button[aria-pressed="true"], #editorTools button[aria-expanded="true"] { color: #114c34; border-color: #65967d; background: #e5f0e8; }
#editorTools button:disabled { color: #819088; opacity: .67; }
#editorTools :focus-visible,#snippetDialog :focus-visible { outline: 2px solid var(--ui-accent); outline-offset: 1px; }
#editorTools #findResultsToggle { font-variant-numeric: tabular-nums; }
.ed-replace { padding-block-start: 0; }
.ed-matches { border-top: 1px solid #d1ddd5; }
.ed-result-list { max-height: min(22vh, 170px); overflow: auto; overscroll-behavior: contain; scrollbar-width: thin; }
#editorTools .ed-result-list button { display: grid; grid-template-columns: minmax(104px,26%) 1fr; align-items: baseline; gap: 8px; width: 100%; text-align: start; color: #273e32; background: #fff; border: 0; border-block-end: 1px solid #e2e9e4; border-radius: 0; }
.ed-result-list span,.ed-result-list code { overflow:hidden; white-space:pre; text-overflow:ellipsis; font: 11.5px/1.5 var(--mono,monospace); }
.ed-result-list span { color:#496654; }
.ed-result-list mark { background:#f7e2a5; color:#422d08; }
.ed-result-list p { font:12px/1.5 var(--sans,system-ui); margin:8px 12px; }
.ed-pages { display:flex; justify-content:flex-end; gap:8px; align-items:center; padding:4px 8px; font:11px var(--mono,monospace); }
#snippetDialog { width: min(92vw, 540px); box-sizing:border-box; }
#snippetDialog form { display:grid; gap:12px; }
#snippetDialog h3 { margin:0; }
#snippetDialog select { min-height: 34px; width: 100%; }
#snippetCode { max-height: 40vh; overflow: auto; padding: 12px; margin:0; background:var(--ui-wash); border:1px solid var(--ui-line); border-radius:5px; color:var(--ui-ink); font:12px/1.5 var(--mono,monospace); }
.ed-dialog-actions { display:flex; gap:6px; justify-content:flex-end; }
#projectExplorer .tree-row .tree-remove { opacity:0; color:#8a3a31; }
#projectExplorer .tree-row:is(:hover,:focus-within) .tree-remove { opacity:1; }
#projectExplorer .tree-row .tree-remove:hover:enabled { color:#872b22; background:#f8e5e2; }
#fileDialogHelp { overflow-wrap:anywhere; max-height:24vh; overflow:auto; }
@media (hover:none) { #projectExplorer .tree-row .tree-remove { opacity:1; } }
@media (max-width:640px) { #editorTools input { flex-basis:90px; } .ed-result-list span,.ed-result-list code { font-size:11px; } }

::highlight(lab-editor-matches) { background-color:#fae495; color:#20291d; }
