rojects/source/components/editor-shell/editor-shell.css

182 lines
3.2 KiB
CSS

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;
}