/* «Рабочее место» → Редактор (15.10.2026): свой редактор «как Brackets» Виталия.
   Тема кода — Brackets Dark Theme (extensions/default/DarkTheme/main.less) один в один, шрифт SourceCodePro-Medium 14px/1.25,
   обвязка (сайдбар, вкладки CustomWork, панели) — по его скриншотам. Цвета редактора не зависят от темы доски. */
@font-face{font-family:'SourceCodePro-Medium';src:url(/assets/fonts/SourceCodePro-Medium.ttf) format('truetype');font-weight:500;font-display:swap}
@font-face{font-family:'SourceCodePro-Regular';src:url(/assets/fonts/SourceCodePro-Regular.ttf) format('truetype');font-weight:400;font-display:swap}
@font-face{font-family:'SourceSansPro';src:url(/assets/fonts/SourceSansPro-Regular.ttf) format('truetype');font-weight:400;font-display:swap}
@font-face{font-family:'SourceSansPro';src:url(/assets/fonts/SourceSansPro-Semibold.ttf) format('truetype');font-weight:600;font-display:swap}

.ed{--ed-bg:#1d1f21;--ed-fg:#ddd;--ed-side:#1f2224;--ed-side-fg:#b9bcc0;--ed-side-dim:#7d8186;--ed-tabbar:#26292c;--ed-tab:#2b2e31;--ed-tab-on:#1d1f21;
  --ed-line:#2c2f33;--ed-sel:#2f3337;--ed-accent:#6c9ef8;--ed-panel:#202326;--ed-status:#1a1c1e;
  flex:1;min-height:0;display:flex;background:var(--ed-bg);color:var(--ed-fg);font-family:'Golos Text',system-ui,sans-serif;font-size:13px;user-select:none}
.ed *{box-sizing:border-box}
.ed button{font:inherit;color:inherit;background:none;border:0;cursor:pointer;padding:0}

/* ---- сайдбар: проект, ветка, иконки, дерево ---- */
.ed-side{flex:none;width:270px;min-width:160px;max-width:560px;display:flex;flex-direction:column;background:var(--ed-side);color:var(--ed-side-fg);border-right:1px solid #111}
.ed-side-head{padding:9px 12px 6px;display:flex;flex-direction:column;gap:3px}
.ed-proj{font-weight:600;font-size:13.5px;color:#d7dadd;display:flex;align-items:center;gap:6px}
.ed-proj .ed-base{margin-left:auto;font-family:'SourceCodePro-Regular',monospace;font-size:11px;color:var(--ed-side-dim)}
.ed-branch{font-size:12px;color:var(--ed-side-dim);display:flex;align-items:center;gap:6px}
.ed-branch b{color:#c9ccd0;font-weight:500}
.ed-branch .ed-chg{margin-left:auto;background:#3b4b2a;color:#b6e07e;border-radius:9px;padding:0 7px;font-size:11px;line-height:17px}
.ed-branch .ed-chg.z{background:#2c2f33;color:var(--ed-side-dim)}
.ed-tools{display:flex;align-items:center;gap:6px;padding:7px 10px;border-top:1px solid #16181a;background:#1a1d1f}   /* внизу сайдбара, как тулбар CustomWork; значки монотонные */
.ed-tools button{width:30px;height:28px;border-radius:5px;color:#8d9298;display:flex;align-items:center;justify-content:center}
.ed-tools button svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.ed-tools button:hover{background:#2b2f33;color:#e3e6e9}
.ed-tools button.on{background:#30353a;color:#fff}
.ed-tree{flex:1;overflow:auto;padding:4px 0 24px;font-size:12.5px;line-height:22px}
.ed-tree .n{display:flex;align-items:center;gap:5px;padding:0 6px 0 var(--ind,8px);white-space:nowrap;cursor:default;color:var(--ed-side-fg)}
.ed-tree .n:hover{background:#2a2e32}
.ed-tree .n.on{background:#33383d;color:#fff}
.ed-tree .n.d{color:#c3c7cb}
.ed-tree .n .ar{width:10px;flex:none;font-size:9px;color:var(--ed-side-dim);text-align:center}
.ed-tree .n .fo{flex:none;width:15px;height:13px;display:inline-block}
.ed-tree .n .fo svg{width:15px;height:13px;display:block;fill:none;stroke:#9aa3ad;stroke-width:1.4}
.ed-tree .n .fo.open svg{stroke:#c3c7cb}
.ed-tree .n .nm{overflow:hidden;text-overflow:ellipsis}
.ed-tree .n.mod .nm{color:#e2c46a}
.ed-tree .n.add .nm{color:#9fd36a}
.ed-tree .n.ign{color:#5f6367;font-style:italic}
/* значки по типу файла — шрифт Custom Work (cw-icons.css); бирки .ed-ico остались на случай отсутствия шрифта */
.ed-ico{flex:none;display:inline-block;min-width:26px;height:14px;line-height:14px;border-radius:3px;font:600 8.5px/14px 'SourceCodePro-Regular',monospace;text-align:center;padding:0 3px;letter-spacing:.02em;color:#fff;background:#4b5056;text-transform:lowercase}
.ed-ico.php{background:#5b5fa8}.ed-ico.js{background:#b59a2a;color:#1d1f21}.ed-ico.css{background:#2e7bb6}.ed-ico.scss{background:#b8559d}.ed-ico.sass{background:#b8559d}
.ed-ico.html,.ed-ico.htm{background:#d2622e}.ed-ico.json{background:#5e9c48}.ed-ico.xml,.ed-ico.svg{background:#6f8a3f}.ed-ico.md,.ed-ico.txt{background:#5f6a75}.ed-ico.sql{background:#3f8a8a}.ed-ico.sh{background:#44784a}

/* ---- основная часть: вкладки, код, статус ---- */
.ed-main{flex:1;min-width:0;display:flex;flex-direction:column}
.ed-tabbar{flex:none;display:flex;align-items:stretch;background:var(--ed-tabbar);border-bottom:1px solid #121416;height:34px;overflow-x:auto;overflow-y:hidden;scrollbar-width:none}
.ed-tabbar::-webkit-scrollbar{display:none}
.ed-tab{flex:none;display:flex;align-items:center;gap:7px;padding:0 10px 0 12px;max-width:260px;background:var(--ed-tab);color:#a9adb2;border-right:1px solid #1a1c1e;font-size:12.5px;cursor:default;position:relative}
.ed-tab:hover{color:#e3e6e9;background:#303337}
.ed-tab.on{background:var(--ed-tab-on);color:#f0f0f0;box-shadow:inset 0 2px 0 var(--ed-accent)}
.ed-tab .nm{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ed-tab .x{width:16px;height:16px;border-radius:3px;font-size:13px;line-height:16px;text-align:center;color:#8a8e93;opacity:0;flex:none}
.ed-tab:hover .x,.ed-tab.on .x{opacity:1}
.ed-tab .x:hover{background:#44484d;color:#fff}
.ed-tab.dirty .x{opacity:1;color:#e2c46a}
.ed-tab.dirty .x::before{content:'●'}
.ed-tab.dirty .x:hover::before{content:'×'}
.ed-tab:not(.dirty) .x::before{content:'×'}
.ed-tabbar .ed-tab-fill{flex:1}
.ed-empty{flex:1;display:flex;align-items:center;justify-content:center;color:#55595e;flex-direction:column;gap:8px;font-size:14px}
.ed-empty kbd{font:11.5px 'SourceCodePro-Regular',monospace;background:#2a2d31;border-radius:4px;padding:1px 6px;color:#9a9ea3}
.ed-cm{flex:1;min-height:0;position:relative;user-select:text}
.ed-cm .CodeMirror{position:absolute;inset:0;height:100%;font-family:'SourceCodePro-Medium','ＭＳ ゴシック','MS Gothic',monospace;font-size:14px;line-height:1.25;color:#ccc}
.ed-cm .CodeMirror pre{padding:0 15px 0 0}
.ed-cm .CodeMirror-linenumber{color:#767676;min-width:2.5em;padding:0 5px 0 10px}
.ed-status{flex:none;height:24px;display:flex;align-items:center;gap:18px;padding:0 12px;background:var(--ed-status);border-top:1px solid #121416;color:#8a8e93;font-size:11.5px;white-space:nowrap;overflow:hidden}
.ed-status .sp{flex:1}
.ed-status .err{color:#ff7b72}
.ed-status .ok{color:#9fd36a}
.ed-status button{color:#8a8e93;padding:2px 6px;border-radius:4px}
.ed-status button:hover{background:#2a2d31;color:#e3e6e9}

/* ---- тема кода: Brackets Dark Theme (main.less) ---- */
.ed .cm-s-brackets.CodeMirror,.ed .cm-s-brackets .CodeMirror-scroll{background-color:#1d1f21;color:#ddd}
.ed .cm-s-brackets.CodeMirror-focused .CodeMirror-activeline-background{background:#2f2f2f}
.ed .CodeMirror-focused .CodeMirror-activeline .CodeMirror-gutter-elt{background:rgba(0,0,0,.2);color:#fff}
.ed .cm-s-brackets .cm-atom,.ed .cm-s-brackets .cm-string,.ed .cm-s-brackets .cm-string-2,.ed .cm-s-brackets .cm-hr{color:#d89333}
.ed .cm-s-brackets .cm-number,.ed .cm-s-brackets .cm-attribute,.ed .cm-s-brackets .cm-plus{color:#85a300}
.ed .cm-s-brackets .cm-def,.ed .cm-s-brackets .cm-property{color:#b77fdb}
.ed .cm-s-brackets .cm-variable,.ed .cm-s-brackets .cm-variable-2,.ed .cm-s-brackets .cm-variable-3,.ed .cm-s-brackets .cm-operator,.ed .cm-s-brackets .cm-meta,.ed .cm-s-brackets .cm-bracket{color:#ddd}
.ed .cm-s-brackets .cm-comment{color:#767676}
.ed .cm-s-brackets .cm-minus{color:#dc322f}
.ed .cm-s-brackets .cm-header{color:#d85896}
.ed .cm-s-brackets .cm-link{color:#b77fdb;text-decoration:none}
.ed .cm-s-brackets .cm-rangeinfo{color:#6c71c4}
.ed .cm-s-brackets .cm-keyword,.ed .cm-s-brackets .cm-qualifier,.ed .cm-s-brackets .cm-builtin,.ed .cm-s-brackets .cm-tag,.ed .cm-s-brackets .cm-quote{color:#6c9ef8}
.ed .cm-s-brackets .cm-error{color:#dc322f}
.ed .cm-s-brackets .cm-mydef{color:#53ea0f !important}   /* правка Виталия в brackets.min.css: свои функции из php.js */
.ed .CodeMirror-searching{background-color:#d3cd69;color:#1d1f21}
.ed .CodeMirror-searching.searching-current-match{background-color:#f6a644}
.ed .CodeMirror-cursor{border-left:1px solid #c5c8c6 !important}
.ed .cm-s-brackets .CodeMirror-gutters{background-color:#1d1f21;border-right:none}
.ed .cm-s-brackets .CodeMirror-selected{background:#333f48}
.ed .cm-s-brackets.CodeMirror-focused .CodeMirror-selected{background:#0050a0}
.ed .CodeMirror-selectedtext{color:inherit}
.ed .CodeMirror-matchingbracket,.ed .CodeMirror-matchingtag{background-color:#2e5c00;color:#ddd !important}
.ed .CodeMirror-overwrite .CodeMirror-cursor{border-left:none !important;border-bottom:1px solid #fff}
.ed .CodeMirror-foldgutter{width:20px}   /* стрелки свёртки как в Brackets: крупные ▼/▶, с воздухом от номера и от кода */
.ed .CodeMirror-foldgutter-open,.ed .CodeMirror-foldgutter-folded{cursor:pointer;padding:0 0 0 1px;line-height:1.25}
.ed .cm-s-brackets .CodeMirror-foldgutter-open:after{content:"▼";font-size:13px;color:#666}
.ed .cm-s-brackets .CodeMirror-foldgutter-folded:after{content:"▶";font-size:13px;color:#aaa}
.ed .cm-s-brackets .CodeMirror-foldgutter-open:hover:after{color:#aaa}
.ed .cm-s-brackets .CodeMirror-lines{padding-left:9px}
.ed .CodeMirror-activeline .CodeMirror-foldgutter-open:after{color:#888}
.ed .CodeMirror-foldmarker{border-color:#000;color:#ccc;background-color:#444;font-family:inherit}
.ed .cm-s-brackets .cm-matchhighlight{background:#d3cd69;color:#1d1f21}   /* QuickSearch: все вхождения выделенного слова */
.ed .CodeMirror-selection-highlight-scrollbar{background:#e2c46a}
.ed .CodeMirror-search-match{background:#d3cd69;border-top:0;opacity:.6}
.ed .cm-s-brackets .cm-trailingspace{background:rgba(220,50,47,.18)}
.ed .ed-bm-gutter{width:10px}
.ed .ed-bm{color:#e2c46a;font-size:10px;line-height:1;position:relative;top:3px}
.ed .ed-line-hl{background:#2e3a2b}
/* диалоги поиска CodeMirror (Ctrl+F, Ctrl+H, Ctrl+G) в цветах темы */
.ed .CodeMirror-dialog{background:#2a2d31;color:#ddd;border-bottom:1px solid #111;padding:4px 12px;font:12.5px 'Golos Text',system-ui,sans-serif}
.ed .CodeMirror-dialog input{background:#1d1f21;color:#eee;border:1px solid #3a3e43;border-radius:3px;padding:2px 6px;font:13px 'SourceCodePro-Regular',monospace;width:22em}
.ed .CodeMirror-dialog button{background:#3a3e43;color:#ddd;border-radius:3px;padding:2px 8px;margin-left:4px}

/* ---- нижняя панель: поиск по файлам, Todo, изменения, закладки ---- */
.ed-panel{flex:none;height:230px;min-height:80px;max-height:70vh;display:none;flex-direction:column;background:var(--ed-panel);border-top:1px solid #0f1113;user-select:text}
.ed-panel.on{display:flex}
.ed-panel-head{flex:none;display:flex;align-items:center;gap:4px;padding:3px 8px;background:#26292c;border-bottom:1px solid #141618;cursor:row-resize}
.ed-panel-head button{padding:3px 10px;border-radius:4px;color:#9a9ea3;font-size:12px}
.ed-panel-head button.on{background:#33373c;color:#fff}
.ed-panel-head .sp{flex:1}
.ed-panel-head input{background:#1d1f21;color:#eee;border:1px solid #3a3e43;border-radius:3px;padding:3px 8px;font:12.5px 'SourceCodePro-Regular',monospace;width:28em}
.ed-panel-head label{font-size:11.5px;color:#9a9ea3;display:flex;align-items:center;gap:4px}
.ed-panel-body{flex:1;overflow:auto;font-size:12.5px}
.ed-rf{padding:4px 12px;color:#c9ccd0;background:#24272a;border-top:1px solid #1a1c1e;display:flex;gap:8px;align-items:center;cursor:pointer;position:sticky;top:0}
.ed-rf:hover{background:#2b2f33}
.ed-rf .cnt{color:#7d8186;font-size:11px}
.ed-rf .k{font-family:'SourceCodePro-Regular',monospace;font-size:11px;width:14px;text-align:center;border-radius:3px}
.ed-rf .k.M{color:#e2c46a}.ed-rf .k.A{color:#9fd36a}.ed-rf .k.D{color:#ff7b72}
.ed-rl{display:flex;gap:10px;padding:1px 12px 1px 24px;cursor:pointer;color:#b9bcc0;font-family:'SourceCodePro-Regular',monospace;font-size:12px;white-space:pre;overflow:hidden;text-overflow:ellipsis}
.ed-rl:hover{background:#2b2f33;color:#fff}
.ed-rl .ln{color:#6f737a;width:4.5em;text-align:right;flex:none}
.ed-rl .tag{flex:none;font-weight:600;border-radius:3px;padding:0 5px;font-size:10.5px;line-height:17px}
.ed-rl .tag.TODO{background:#2e7bb6;color:#fff}.ed-rl .tag.NOTE{background:#5e9c48;color:#fff}.ed-rl .tag.FIXME{background:#c0392b;color:#fff}.ed-rl .tag.CHANGES{background:#8e44ad;color:#fff}.ed-rl .tag.FUTURE{background:#7f8c8d;color:#fff}
.ed-rl mark{background:#d3cd69;color:#1d1f21;border-radius:2px}
.ed-note{padding:18px;color:#6f737a}
.ed-diff{font:12px/1.4 'SourceCodePro-Regular',monospace;white-space:pre;padding:6px 12px;color:#c9ccd0}
.ed-diff .a{color:#9fd36a;background:rgba(133,163,0,.1)}.ed-diff .r{color:#ff7b72;background:rgba(220,50,47,.12)}.ed-diff .h{color:#6c9ef8}.ed-diff .m{color:#7d8186}
.ed-chg-bar{display:flex;gap:8px;align-items:center;padding:6px 12px;border-bottom:1px solid #1a1c1e}
.ed-chg-bar button{padding:4px 12px;border-radius:5px;background:#33373c;color:#ddd;font-size:12px}
.ed-chg-bar button.go{background:#3b6e2a;color:#fff}
.ed-chg-bar button:hover{filter:brightness(1.15)}

/* ---- разделители (перетаскивание ширины/высоты) ---- */
.ed-vsplit{flex:none;width:5px;cursor:col-resize;background:transparent;margin-left:-3px;z-index:2}
.ed-vsplit:hover{background:rgba(108,158,248,.35)}

/* ---- всплывающие окна: быстрое открытие (Ctrl+Shift+O), оформление, меню дерева ---- */
.ed-pop{position:fixed;inset:0;z-index:60;display:flex;align-items:flex-start;justify-content:center;padding-top:12vh;background:rgba(0,0,0,.35)}
.ed-pop .box{width:min(620px,92vw);background:#26292c;color:#ddd;border:1px solid #3a3e43;border-radius:8px;box-shadow:0 18px 50px rgba(0,0,0,.6);overflow:hidden;font-size:13px}
.ed-pop .box input,.ed-pop .box textarea{width:100%;background:#1d1f21;color:#eee;border:1px solid #3a3e43;border-radius:4px;padding:7px 10px;font:13.5px 'Golos Text',system-ui,sans-serif}
.ed-pop .box input.mono{font-family:'SourceCodePro-Regular',monospace}
.ed-pop .qo-list{max-height:50vh;overflow:auto;border-top:1px solid #1a1c1e}
.ed-pop .qo{display:flex;align-items:center;gap:8px;padding:5px 12px;cursor:pointer;color:#b9bcc0}
.ed-pop .qo.on,.ed-pop .qo:hover{background:#33383d;color:#fff}
.ed-pop .qo .dir{color:#6f737a;font-size:11.5px;margin-left:auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:50%}
.ed-pop .qo mark{background:none;color:#e2c46a;font-weight:600}
.ed-pop .fin{padding:14px 16px;display:flex;flex-direction:column;gap:10px}
.ed-pop .fin h3{margin:0;font-size:15px;color:#f0f0f0}
.ed-pop .fin .files{max-height:28vh;overflow:auto;font:12px 'SourceCodePro-Regular',monospace;color:#b9bcc0;background:#1d1f21;border-radius:4px;padding:6px 10px}
.ed-pop .fin .row{display:flex;gap:8px;justify-content:flex-end}
.ed-pop .fin .row button{padding:7px 16px;border-radius:5px;background:#33373c;color:#ddd}
.ed-pop .fin .row button.go{background:#3b6e2a;color:#fff}
.ed-pop .fin .row button[disabled]{opacity:.5;cursor:default}
.ed-menu{position:fixed;z-index:70;background:#26292c;border:1px solid #3a3e43;border-radius:6px;box-shadow:0 8px 24px rgba(0,0,0,.5);padding:4px 0;min-width:180px;font-size:12.5px;color:#ddd}
.ed-menu button{display:block;width:100%;text-align:left;padding:5px 14px}
.ed-menu button:hover{background:#33383d;color:#fff}
.ed-menu hr{border:0;border-top:1px solid #3a3e43;margin:4px 0}

/* ---- значки Custom Work во вкладках и дереве ---- */
.ed .cwi{font-size:15px;line-height:1;min-width:18px;padding-right:0;text-align:center;flex:none;display:inline-block}
.ed-tab .cwi{font-size:15px}
.ed-tree .cwi{font-size:14px;color:#9aa3ad}
.ed-tree .cw-fo:before{content:""}
.ed-tree .cw-fo.open:before{content:""}
.ed-tree .n.d .cwi{color:#8fa3b8}
.ed-rf .cwi,.ed-pop .cwi{font-size:14px}

/* ---- «Найти в файлах» как в Brackets: строка над кодом и шапка результата ---- */
.ed-findbar{flex:none;display:flex;align-items:center;gap:6px;padding:5px 10px;background:#2a2d31;border-bottom:1px solid #121416;color:#b9bcc0;font-size:12.5px}
.ed-findbar input{width:32em;max-width:45%;background:#1d1f21;color:#eee;border:1px solid #3a3e43;border-radius:3px;padding:4px 8px;font:13px 'SourceCodePro-Regular',monospace}
.ed-findbar input:focus{outline:none;border-color:#4b84d8;box-shadow:0 0 0 2px rgba(75,132,216,.35)}
.ed-findbar button{padding:3px 7px;border-radius:3px;border:1px solid #3a3e43;background:#1d1f21;color:#b9bcc0;font:12px 'SourceCodePro-Regular',monospace}
.ed-findbar button.on{background:#3b4f6b;border-color:#4b84d8;color:#fff}
.ed-findbar button:hover{color:#fff}
.ed-findbar .lbl{margin-left:6px;color:#9a9ea3}
.ed-findbar select{background:#1d1f21;color:#b9bcc0;border:1px solid #3a3e43;border-radius:3px;padding:3px 6px;font:12px 'Golos Text',system-ui,sans-serif;max-width:26em}
.ed-findbar .sp{flex:1}
.ed-find-sum{color:#d7dadd;font-size:13px;padding:0 6px}
.ed-find-sum b{color:#fff;font-weight:600}
.ed-pager{display:flex;align-items:center;gap:2px;color:#9a9ea3;font-size:12px}
.ed-pager button{padding:2px 6px;color:#9a9ea3}
.ed-pager button[disabled]{opacity:.35;cursor:default}
.ed-pager span{padding:0 6px;color:#d7dadd}
.ed-rf .ar{width:10px;font-size:9px;color:#9a9ea3;text-align:center}
.ed-rl mark{background:#d3cd69;color:#1d1f21;border-radius:2px}
.ed-panel-head .ed-pclose{width:24px;height:22px;padding:0;font-size:17px;line-height:22px;color:#9a9ea3;border-radius:4px}
.ed-panel-head .ed-pclose:hover{background:#44484d;color:#fff}

/* ---- нижняя панель в цветах Brackets (просьба Виталия 15.10: «чтоб привычней»): серые полосы, обычный шрифт, совпадение тёмной плашкой ---- */
.ed-panel{background:#2f2f2f}
.ed-panel-head{background:#2c2c2c;border-bottom:1px solid #1f1f1f}
.ed-panel-head button{color:#b4b4b4}
.ed-panel-head button.on{background:#444;color:#fff}
.ed-find-sum{font-size:14px;color:#e8e8e8}
.ed-pager,.ed-pager span{color:#cfcfcf}
.ed-rf{background:#252525;color:#f0f0f0;font-weight:600;font-size:13px;padding:6px 12px;border-top:1px solid #1c1c1c;border-bottom:1px solid #1c1c1c}
.ed-rf:hover{background:#2a2a2a}
.ed-rf .cnt{color:#8f8f8f;font-weight:400}
.ed-rf .ar{color:#cfcfcf}
.ed-rl{font:13px 'Golos Text',system-ui,sans-serif;color:#e0e0e0;padding:5px 12px 5px 24px;background:#363636;white-space:pre-wrap}
.ed-rl.alt{background:#2f2f2f}
.ed-rl:hover{background:#404040;color:#fff}
.ed-rl .ln{color:#a0a0a0;font:12px 'SourceCodePro-Regular',monospace;padding-top:1px}
.ed-rl mark{background:#1b1b1b;color:#fff;border-radius:2px;padding:0 1px}
.ed-note{color:#9a9a9a}

/* ---- сайдбар в цветах Brackets (просьба Виталия 15.10): серый #3c3f41, файлы белые, папки серее, игнорируемое бледным курсивом ---- */
.ed{--ed-side:#3c3f41;--ed-side-fg:#dcdde0;--ed-side-dim:#9ea2a6}
.ed-side{border-right:1px solid #2a2c2e}
.ed-proj{color:#f2f3f4}
.ed-proj .ed-base{color:#a7abaf}
.ed-branch{color:#b5b9bd}
.ed-branch b{color:#e4e6e8}
.ed-branch .ed-chg.z{background:#4a4d50;color:#b5b9bd}
.ed-tree .n{color:#e3e5e7}
.ed-tree .n.d{color:#c3c6c9}
.ed-tree .n:hover{background:#474a4d}
.ed-tree .n.on{background:#2d2f31;color:#fff}
.ed-tree .n .ar{color:#a7abaf}
.ed-tree .cwi{color:#b5b9bd}
.ed-tree .n.d .cwi{color:#b5b9bd}
.ed-tree .n.ign,.ed-tree .n.ign .cwi,.ed-tree .n.ign .ar{color:#8e9296;font-style:italic}
.ed-tree .n.ign.x{cursor:default}
.ed-tree .n.ign.x:hover{background:none}
.ed-tree .n.ign .cwi.cw-fo{color:#8e9296}
.ed-tree .n.mod .nm{color:#f0d070}
.ed-tree .n.add .nm{color:#b4e07a}
.ed-tree::-webkit-scrollbar{width:10px}
.ed-tree::-webkit-scrollbar-thumb{background:#5a5d60;border-radius:5px}
.ed-tools{background:#333537;border-top:1px solid #2a2c2e}
.ed-tools button{color:#aeb2b6}
.ed-tools button:hover{background:#474a4d;color:#fff}
.ed-tools button.on{background:#2d2f31;color:#fff}
.ed-vsplit:hover{background:rgba(255,255,255,.12)}

/* ---- шрифт интерфейса Brackets (Source Sans Pro) для сайдбара, вкладок и панелей; расширение файла бледнее ---- */
.ed{font-family:'SourceSansPro','Golos Text',system-ui,sans-serif}
.ed-tree{font-size:13.5px;line-height:23px}
.ed-tree .n .nm .ext,.ed-tab .nm .ext{color:#adb9bd}
.ed-tree .n.on .nm .ext{color:#dfe3e5}
.ed-tree .n.ign .nm .ext{color:inherit}
.ed-tab{font-size:13.5px}
.ed-tab.on .nm .ext{color:#c9ced1}
.ed-proj{font-size:14px}
.ed-branch{font-size:12.5px}
.ed-rl{font-family:'SourceSansPro','Golos Text',system-ui,sans-serif;font-size:13.5px}
.ed-rf{font-size:13.5px}
.ed-find-sum{font-size:14.5px}
.ed-findbar,.ed-findbar select,.ed-panel-head button,.ed-status{font-family:'SourceSansPro','Golos Text',system-ui,sans-serif}
.ed-status{font-size:12.5px}

/* ---- дерево как в Brackets: мельче, но полужирным (просьба Виталия 15.10) ---- */
.ed-tree{font-size:12.5px;line-height:22px;font-weight:600}
.ed-tree .n .nm .ext{font-weight:600}
.ed-tree .n.ign{font-weight:400}
.ed-tab{font-size:13px;font-weight:600}
.ed-proj{font-size:13.5px;font-weight:600}
.ed-tools button svg{fill:currentColor;stroke:none;width:18px;height:18px}
.ed-tools button{color:#b8bcc0}
.ed-tools button svg .cut{stroke:#333537}
.ed-tools button:hover svg .cut{stroke:#474a4d}
.ed-tools button.on svg .cut{stroke:#2d2f31}
/* тулбар крупнее, как в Brackets (просьба 15.10) */
.ed-tools{gap:4px;padding:6px 8px}
.ed-tools button{width:36px;height:34px}
.ed-tools button svg{width:24px;height:24px}
.ed-tools{background:var(--ed-side);border-top:0}   /* без тёмной заливки — как в Brackets (15.10) */
.ed-tools button svg .cut{stroke:#3c3f41}
/* диалог поиска CodeMirror: постоянный (Enter — дальше, Shift+Enter — назад), крестик справа */
.ed .CodeMirror-dialog{display:flex;align-items:center;gap:8px;padding:5px 12px}
.ed .CodeMirror-dialog .CodeMirror-search-label{color:#b9bcc0}
.ed .CodeMirror-dialog input{width:28em;max-width:50%}
.ed .CodeMirror-dialog .ed-dlg-x{margin-left:auto;background:none;border:0;color:#9a9ea3;font-size:17px;line-height:22px;width:24px;height:22px;padding:0;border-radius:4px;cursor:pointer}
.ed .CodeMirror-dialog .ed-dlg-x:hover{background:#44484d;color:#fff}

/* ---- сессии (участки проекта) и режим без границ (15.10) ---- */
.ed-sess-repo{color:#8e9296;font-size:11.5px;margin-right:4px;font-family:'SourceCodePro-Regular',monospace}
.ed-sess-list{display:flex;flex-direction:column;gap:6px;max-height:50vh;overflow:auto}
.ed-sess-row{display:grid;grid-template-columns:1fr auto;gap:2px 12px;align-items:center;padding:8px 12px;border-radius:6px;background:#1f2225;cursor:pointer;border:1px solid transparent}
.ed-sess-row:hover{background:#2a2e32}
.ed-sess-row.on{border-color:#4b84d8;background:#23282e}
.ed-sess-row .nm{display:flex;align-items:center;gap:8px;font-size:14px;color:#f0f0f0}
.ed-sess-row .nm .rp{color:#8e9296;font:12px 'SourceCodePro-Regular',monospace}
.ed-sess-row .nm .cur{color:#9fd36a;font-size:11px;background:#2f3b25;border-radius:9px;padding:0 7px;line-height:17px}
.ed-sess-row .meta{grid-column:1;color:#9a9ea3;font-size:12px}
.ed-sess-row .meta .dirty{color:#e2c46a}
.ed-sess-row .del{grid-column:2;grid-row:1/3;padding:5px 10px;border-radius:5px;background:#3a2b2b;color:#f0a0a0;font-size:12px;border:1px solid #553535}
.ed-sess-row .del:hover{background:#5a3030;color:#fff}
#ovl.ed-borderless .ovl-head,#ovl.ed-borderless .ws-nav{display:none}

/* ---- предпросмотр Markdown справа от кода (15.10) ---- */
.ed-body{flex:1;min-height:0;display:flex;position:relative}
.ed-body .ed-cm{flex:1;min-width:0}
.ed-mdsplit{flex:none;width:5px;cursor:col-resize;display:none;background:#111;margin-right:-1px;z-index:2}
.ed-mdsplit.on{display:block}
.ed-mdsplit:hover{background:rgba(108,158,248,.45)}
.ed-mdprev{flex:none;width:50%;min-width:200px;display:none;background:#1d1f21;border-left:1px solid #111;user-select:text;min-height:0}
.ed-mdprev.on{display:flex;flex-direction:column}
.ed-mdprev .ws-mdv{flex:1;overflow:auto;padding:18px 28px;max-width:none;color:#ddd}
.ed-mdprev .md{color:#ddd;font-family:'Golos Text',system-ui,sans-serif;font-size:14px}
.ed-mdprev .md h1,.ed-mdprev .md h2,.ed-mdprev .md h3{color:#f0f0f0}
.ed-mdprev .md code{background:#2a2d31;color:#e6c07b}
.ed-mdprev .md pre{background:#17191b;border:1px solid #2a2d31}
.ed-mdprev .md pre code{background:none;color:#ddd}
.ed-mdprev .md table{border-collapse:collapse}
.ed-mdprev .md th,.ed-mdprev .md td{border:1px solid #3a3e43;padding:4px 10px}
.ed-mdprev .md th{background:#26292c}
.ed-mdprev .md a{color:#6c9ef8}
.ed-mdprev .md blockquote{border-left:3px solid #4b84d8;color:#b9bcc0;margin:0 0 8px;padding:2px 12px}
.ed-mdprev .md hr{border:0;border-top:1px solid #3a3e43;margin:12px 0}
.ed-status button.on{color:#e3e6e9}

/* ---- стрелка скрытия сайдбара в полосе вкладок (как в CustomWork) ---- */
.ed-tabrow{flex:none;display:flex;align-items:stretch;background:var(--ed-tabbar);border-bottom:1px solid #121416;height:34px}
.ed-tabrow .ed-tabbar{flex:1;min-width:0;border-bottom:0;height:auto}
.ed-sidebtn{flex:none;width:34px;color:#8a8e93;font-size:16px;border-right:1px solid #1a1c1e}
.ed-sidebtn:hover{color:#fff;background:#303337}
.ed.ed-nosidebar .ed-side,.ed.ed-nosidebar .ed-vsplit{display:none}

/* ---- подсказки Ctrl+Space: маленький список под курсором в цветах темы ---- */
html body ul.CodeMirror-hints{background:#26292c;border:1px solid #3a3e43;border-radius:4px;box-shadow:0 8px 24px rgba(0,0,0,.55);padding:2px 0;font:13px/1.35 'SourceCodePro-Medium',monospace;max-height:14em;min-width:12em;z-index:9000 !important}   /* show-hint.css грузится позже и ставил z-index 10 — список прятался за окном рабочего места (.ovl 45) */
html body ul.CodeMirror-hints li.CodeMirror-hint{color:#d7dadd;padding:1px 10px;border-radius:0;max-width:40em}
html body ul.CodeMirror-hints li.CodeMirror-hint-active{background:#0050a0;color:#fff}
