.editor { background: #0f0f1a; color: #e0e0e0; display: flex; flex-direction: column; flex: 1; min-width: 0; overflow: hidden; } .editor__placeholder { display: flex; flex-direction: column; align-items: center; justify-content: center; height: 100%; text-align: center; color: #444; gap: 8px; } .editor__placeholder p { margin: 0; font-size: 15px; } .editor__placeholder-hint { font-size: 12px; color: #383858; } /* Tab bar */ .editor__tab-bar { display: flex; background: #16162a; border-bottom: 1px solid #2a2a4a; overflow-x: auto; flex-shrink: 0; } .editor__tab-bar::-webkit-scrollbar { height: 0; } .editor__tab { display: flex; align-items: center; gap: 6px; padding: 7px 14px; font-size: 12px; color: #777; cursor: pointer; border-right: 1px solid #2a2a4a; white-space: nowrap; max-width: 180px; flex-shrink: 0; transition: all 0.1s; } .editor__tab:hover { background: #1a1a35; color: #bbb; } .editor__tab--active { background: #0f0f1a; color: #e0e0e0; border-bottom: 2px solid #4a9eff; } .editor__tab-title { overflow: hidden; text-overflow: ellipsis; } .editor__tab-close { background: none; border: none; color: #666; cursor: pointer; font-size: 14px; padding: 0 2px; line-height: 1; border-radius: 3px; opacity: 0; transition: opacity 0.1s; } .editor__tab:hover .editor__tab-close, .editor__tab--active .editor__tab-close { opacity: 1; } .editor__tab-close:hover { background: #3a3a5a; color: #e0e0e0; } /* CodeMirror container */ .editor__cm-container { flex: 1; overflow: auto; } .editor__cm-container .cm-editor { height: 100%; }