editor-shell { display: flex; flex-direction: column; height: 100vh; overflow: hidden; background: #0f1117; color: #e2e4ed; font-family: Barlow, ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif; } .es-header { display: flex; align-items: center; gap: 12px; padding: 0 16px; height: 40px; background: #13151f; border-bottom: 1px solid #2a2d3a; flex-shrink: 0; } .es-back { color: #7b7f96; text-decoration: none; font-size: 0.8rem; } .es-back:hover { color: #e2e4ed; } .es-title { flex: 1; font-size: 0.9rem; font-weight: 900; color: #fff; font-style: italic; letter-spacing: 0.05em; text-transform: uppercase; } .es-info { max-width: 300px; font-size: 0.78rem; color: #9ba4c7; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; opacity: 0; transition: opacity 0.2s; flex-shrink: 1; } .es-info.es-info-visible { opacity: 1; } .es-info.es-info-error { color: #e07070; } .es-info.es-info-hint { color: #7b7f96; } editor-shell.portrait .es-info { display: none; } editor-shell.portrait .es-info.es-info-visible { display: block; position: fixed; bottom: 0; left: 0; right: 0; max-width: none; padding: 8px 16px; background: #13151f; border-top: 1px solid #2a2d3a; z-index: 100; opacity: 1; } .es-portrait-btns { display: none; gap: 2px; } editor-shell.portrait .es-portrait-btns { display: flex; } .es-pb-btn { padding: 4px 10px; background: transparent; border: 1px solid #2a2d3a; border-radius: 4px; color: #7b7f96; cursor: pointer; font-size: 0.9rem; font-family: inherit; } .es-pb-btn:hover { background: #1a1d27; color: #c8cbde; } .es-pb-btn.active { color: #7c8cff; border-color: #7c8cff; } /* Workspace */ .es-workspace { display: flex; flex: 1; min-height: 0; overflow: hidden; } /* Panels */ .es-panel { display: flex; flex-direction: column; flex: 1; min-width: 0; overflow: hidden; } .es-panel[data-panel="left"] { flex: 0 0 240px; } .es-panel[data-panel="center"] { flex: 1; } .es-panel[data-panel="right"] { flex: 0 0 280px; } .es-panel-empty { flex: 1; display: flex; align-items: center; justify-content: center; color: #333; font-size: 0.85rem; border: 2px dashed #222; margin: 8px; border-radius: 6px; } .es-panel.es-panel-drop .es-panel-empty { border-color: #7c8cff; color: #7c8cff; } /* Sections within a panel — arranged horizontally */ .es-sections { display: flex; flex-direction: row; flex: 1; min-height: 0; overflow: hidden; } .es-section { display: flex; flex-direction: column; flex: 1; min-width: 0; min-height: 0; overflow: hidden; } /* Resize handles */ .es-v-handle { width: 4px; background: #2a2d3a; cursor: col-resize; flex-shrink: 0; transition: background 0.15s; } .es-v-handle:hover { background: #7c8cff; } .es-h-handle { height: 4px; background: #2a2d3a; cursor: row-resize; flex-shrink: 0; transition: background 0.15s; } .es-h-handle:hover { background: #7c8cff; } /* Portrait overrides */ editor-shell.portrait .es-workspace { flex-direction: column; } editor-shell.portrait .es-panel { flex: 1 !important; width: 100% !important; } editor-shell.portrait .es-v-handle { display: none; }