:root{--bg:#15161a;--side:#1c1f26;--bar:#16181d;--line:#2a2e38;--txt:#c9d1e0;--mut:#7a8398;--acc:#7f9ee6;--ok:#3ecf8e}
*{box-sizing:border-box}html,body{height:100%;margin:0}body{display:flex;background:var(--bg);color:var(--txt);font:14px Inter,system-ui,sans-serif;overflow:hidden}
button,select,input,textarea{font:inherit;color:var(--txt);background:#23272f;border:1px solid var(--line);border-radius:6px;padding:5px 9px}button{cursor:pointer}button:hover{border-color:var(--acc)}.pri{background:#2b3a5e;border-color:var(--acc);color:#dbe6ff}
#act{width:48px;background:var(--bar);border-right:1px solid var(--line);display:flex;flex-direction:column;gap:6px;padding:8px 5px}#act button{border:0;background:none;font-size:18px;padding:8px}#act button.on{background:#262c3b}.sp{flex:1}
#side{width:230px;background:var(--side);border-right:1px solid var(--line);display:flex;flex-direction:column}#side.off{display:none}.sh{display:flex;gap:6px;align-items:center;padding:8px;justify-content:space-between}.sh select{flex:1;min-width:0}.sh button{padding:4px 7px}
#tree{flex:1;overflow:auto;padding:4px}.fr{display:flex;align-items:center;padding:5px 8px;border-radius:6px;cursor:pointer;gap:6px}.fr:hover,.fr.on{background:#262c3b}.fr.on{color:var(--acc)}.fr span{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fr i{font-style:normal;opacity:0;font-size:12px}.fr:hover i{opacity:1}.dir{color:var(--mut);padding:5px 8px;font-size:12px}
#stat{padding:8px;color:var(--mut);font-size:12px;border-top:1px solid var(--line)}
#main{flex:1;min-width:0;display:flex;flex-direction:column}#tabs{display:flex;background:var(--bar);border-bottom:1px solid var(--line);overflow-x:auto;min-height:38px}.tb{padding:9px 12px;border-right:1px solid var(--line);white-space:nowrap;cursor:pointer;color:var(--mut)}.tb.on{color:var(--txt);background:var(--bg);box-shadow:inset 0 -2px var(--acc)}.tb b{margin-left:8px;font-weight:400}
#work{flex:1;display:flex;min-height:0}#ed{flex:1;min-width:0}#prev{flex:1;border-left:1px solid var(--line);background:#fff}#prev iframe{width:100%;height:100%;border:0}
.CodeMirror{height:100%;background:var(--bg);color:var(--txt);font:13.5px 'JetBrains Mono',Consolas,monospace}.CodeMirror-gutters{background:var(--bg);border:0}.CodeMirror-linenumber{color:#4a5163}.CodeMirror-cursor{border-left:2px solid var(--acc)}.CodeMirror-selected{background:#2a3350!important}.CodeMirror-activeline-background{background:#1a1d24}
.cm-tag{color:#e06c75}.cm-attribute{color:#d19a66}.cm-string{color:#98c379}.cm-keyword{color:#c678dd}.cm-number{color:#d19a66}.cm-comment{color:#5c6370}.cm-def,.cm-variable-2{color:#61afef}.cm-property{color:#56b6c2}.cm-atom{color:#d19a66}.cm-meta{color:#7a8398}.cm-header{color:var(--acc)}.cm-matchingbracket{color:var(--ok)!important}
#ai{width:400px;background:var(--side);border-left:1px solid var(--line);display:flex;flex-direction:column}#ai.off{display:none}#panels{flex:1;display:flex;flex-direction:column;min-height:0}
.pn{flex:1;min-height:0;display:flex;flex-direction:column;border-bottom:1px solid var(--line)}.pc{display:flex;gap:4px;padding:6px}.pc select,.pc input{min-width:0;padding:3px 5px;font-size:12px}.pc input{flex:1}.lg{flex:1;overflow:auto;padding:6px 8px}.m{margin:0 0 8px;white-space:pre-wrap;word-break:break-word}.m.u{color:var(--acc)}.m.e{color:#e06c75}pre.cd{background:#101216;border:1px solid var(--line);border-radius:6px;padding:8px;overflow:auto;white-space:pre;margin:6px 0}
#send{padding:8px;display:flex;flex-direction:column;gap:6px}#send textarea{resize:none}#send div{display:flex;gap:6px}#send button{flex:1}.mut{color:var(--mut);font-size:12px}
dialog{background:var(--side);color:var(--txt);border:1px solid var(--line);border-radius:10px;width:min(440px,92vw)}dialog::backdrop{background:#000a}dialog label{display:block;margin:8px 0;font-size:12px;color:var(--mut)}dialog input{width:100%;display:block;margin-top:3px}.row{display:flex;gap:6px;flex-wrap:wrap;margin-top:10px}
