fix: move component CSS files to source/components so they are tracked and built
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
parent
f8723c87ff
commit
3a9b9580a1
|
|
@ -0,0 +1,70 @@
|
||||||
|
app-nav {
|
||||||
|
display: block;
|
||||||
|
}
|
||||||
|
|
||||||
|
app-nav nav {
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
gap: 1rem;
|
||||||
|
padding: 0.75rem 1.5rem;
|
||||||
|
background: #222;
|
||||||
|
color: #fff;
|
||||||
|
}
|
||||||
|
|
||||||
|
app-nav .nav-brand {
|
||||||
|
font-weight: bold;
|
||||||
|
font-size: 1.1rem;
|
||||||
|
margin-right: auto;
|
||||||
|
}
|
||||||
|
|
||||||
|
app-nav .nav-links {
|
||||||
|
display: flex;
|
||||||
|
gap: 1rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
app-nav .nav-links a {
|
||||||
|
color: #ccc;
|
||||||
|
text-decoration: none;
|
||||||
|
font-size: 0.9rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
app-nav .nav-links a:hover {
|
||||||
|
color: #fff;
|
||||||
|
}
|
||||||
|
|
||||||
|
app-nav .nav-user {
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
gap: 0.75rem;
|
||||||
|
margin-left: 1rem;
|
||||||
|
font-size: 0.85rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
app-nav .nav-user span {
|
||||||
|
color: #aaa;
|
||||||
|
}
|
||||||
|
|
||||||
|
app-nav button {
|
||||||
|
padding: 0.3rem 0.75rem;
|
||||||
|
border: 1px solid #555;
|
||||||
|
background: transparent;
|
||||||
|
color: #ccc;
|
||||||
|
border-radius: 4px;
|
||||||
|
cursor: pointer;
|
||||||
|
font-size: 0.8rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
app-nav button:hover {
|
||||||
|
background: #333;
|
||||||
|
color: #fff;
|
||||||
|
}
|
||||||
|
|
||||||
|
app-nav .btn-delete {
|
||||||
|
border-color: #733;
|
||||||
|
color: #f99;
|
||||||
|
}
|
||||||
|
|
||||||
|
app-nav .btn-delete:hover {
|
||||||
|
background: #500;
|
||||||
|
color: #fcc;
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,77 @@
|
||||||
|
code-panel {
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
height: 100%;
|
||||||
|
background: #0f1117;
|
||||||
|
}
|
||||||
|
|
||||||
|
.cp-toolbar {
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
gap: 4px;
|
||||||
|
padding: 6px 8px;
|
||||||
|
background: #13151f;
|
||||||
|
border-bottom: 1px solid #2a2d3a;
|
||||||
|
flex-shrink: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.cp-toolbar button {
|
||||||
|
padding: 2px 8px;
|
||||||
|
background: transparent;
|
||||||
|
border: 1px solid #2a2d3a;
|
||||||
|
border-radius: 3px;
|
||||||
|
color: #666;
|
||||||
|
cursor: pointer;
|
||||||
|
font-size: 0.75rem;
|
||||||
|
font-family: inherit;
|
||||||
|
}
|
||||||
|
|
||||||
|
.cp-toolbar button:hover:not(:disabled) { color: #aaa; background: #1a1d27; border-color: #444; }
|
||||||
|
.cp-toolbar button:disabled { opacity: 0.35; cursor: default; }
|
||||||
|
.cp-toolbar button.pinned { color: #7c8cff; border-color: #7c8cff; }
|
||||||
|
|
||||||
|
.cp-empty {
|
||||||
|
padding: 20px;
|
||||||
|
color: #555;
|
||||||
|
font-style: italic;
|
||||||
|
font-size: 0.85rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.cp-editor {
|
||||||
|
flex: 1;
|
||||||
|
overflow: hidden;
|
||||||
|
position: relative;
|
||||||
|
}
|
||||||
|
|
||||||
|
.cp-editor .CodeMirror {
|
||||||
|
height: 100%;
|
||||||
|
font-family: "Cascadia Code", "Fira Code", "Consolas", monospace;
|
||||||
|
font-size: 0.875rem;
|
||||||
|
line-height: 1.55;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* cp-dark theme */
|
||||||
|
.cm-s-cp-dark.CodeMirror { background: #0f1117; color: #c8cbde; }
|
||||||
|
.cm-s-cp-dark .CodeMirror-gutters { background: #13151f; border-right: 1px solid #2a2d3a; }
|
||||||
|
.cm-s-cp-dark .CodeMirror-linenumber { color: #3d4166; }
|
||||||
|
.cm-s-cp-dark .CodeMirror-cursor { border-left: 2px solid #7c8cff; }
|
||||||
|
.cm-s-cp-dark .CodeMirror-selected { background: #1e2235; }
|
||||||
|
.cm-s-cp-dark .CodeMirror-focused .CodeMirror-selected { background: #252a47; }
|
||||||
|
.cm-s-cp-dark .CodeMirror-activeline-background { background: #14161f; }
|
||||||
|
|
||||||
|
.cm-s-cp-dark .cm-keyword { color: #c792ea; }
|
||||||
|
.cm-s-cp-dark .cm-def { color: #82aaff; }
|
||||||
|
.cm-s-cp-dark .cm-variable { color: #c8cbde; }
|
||||||
|
.cm-s-cp-dark .cm-variable-2{ color: #c8cbde; }
|
||||||
|
.cm-s-cp-dark .cm-property { color: #80cbc4; }
|
||||||
|
.cm-s-cp-dark .cm-operator { color: #89ddff; }
|
||||||
|
.cm-s-cp-dark .cm-string { color: #c3e88d; }
|
||||||
|
.cm-s-cp-dark .cm-string-2 { color: #c3e88d; }
|
||||||
|
.cm-s-cp-dark .cm-number { color: #f78c6c; }
|
||||||
|
.cm-s-cp-dark .cm-atom { color: #f78c6c; }
|
||||||
|
.cm-s-cp-dark .cm-comment { color: #546e7a; font-style: italic; }
|
||||||
|
.cm-s-cp-dark .cm-tag { color: #f07178; }
|
||||||
|
.cm-s-cp-dark .cm-attribute { color: #ffcb6b; }
|
||||||
|
.cm-s-cp-dark .cm-builtin { color: #82aaff; }
|
||||||
|
.cm-s-cp-dark .cm-bracket { color: #89ddff; }
|
||||||
|
.cm-s-cp-dark .cm-error { color: #f07178; }
|
||||||
|
|
@ -0,0 +1,120 @@
|
||||||
|
confirm-dialog {
|
||||||
|
display: flex;
|
||||||
|
position: fixed;
|
||||||
|
inset: 0;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: center;
|
||||||
|
z-index: 1000;
|
||||||
|
}
|
||||||
|
|
||||||
|
.cd-backdrop {
|
||||||
|
position: absolute;
|
||||||
|
inset: 0;
|
||||||
|
background: rgba(0, 0, 0, 0.55);
|
||||||
|
}
|
||||||
|
|
||||||
|
.cd-box {
|
||||||
|
position: relative;
|
||||||
|
background: #1a1d27;
|
||||||
|
border: 1px solid #2a2d3a;
|
||||||
|
border-radius: 8px;
|
||||||
|
width: min(420px, 90vw);
|
||||||
|
box-shadow: 0 12px 40px rgba(0, 0, 0, 0.6);
|
||||||
|
overflow: hidden;
|
||||||
|
}
|
||||||
|
|
||||||
|
.cd-titlebar {
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
gap: 8px;
|
||||||
|
padding: 12px 16px;
|
||||||
|
background: #13151f;
|
||||||
|
border-bottom: 1px solid #2a2d3a;
|
||||||
|
}
|
||||||
|
|
||||||
|
.cd-icon {
|
||||||
|
font-size: 1rem;
|
||||||
|
flex-shrink: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.cd-title {
|
||||||
|
flex: 1;
|
||||||
|
font-size: 0.95rem;
|
||||||
|
font-weight: 600;
|
||||||
|
color: #e2e4ed;
|
||||||
|
}
|
||||||
|
|
||||||
|
.cd-close {
|
||||||
|
background: none;
|
||||||
|
border: none;
|
||||||
|
color: #555;
|
||||||
|
cursor: pointer;
|
||||||
|
font-size: 0.85rem;
|
||||||
|
padding: 3px 7px;
|
||||||
|
border-radius: 4px;
|
||||||
|
line-height: 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
.cd-close:hover {
|
||||||
|
color: #e2e4ed;
|
||||||
|
background: #2a2d3a;
|
||||||
|
}
|
||||||
|
|
||||||
|
.cd-body {
|
||||||
|
padding: 20px 20px 16px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.cd-message {
|
||||||
|
color: #c8cbde;
|
||||||
|
font-size: 0.9rem;
|
||||||
|
line-height: 1.6;
|
||||||
|
}
|
||||||
|
|
||||||
|
.cd-footer {
|
||||||
|
display: flex;
|
||||||
|
justify-content: flex-end;
|
||||||
|
gap: 8px;
|
||||||
|
padding: 12px 16px;
|
||||||
|
border-top: 1px solid #2a2d3a;
|
||||||
|
}
|
||||||
|
|
||||||
|
.cd-btn {
|
||||||
|
padding: 6px 18px;
|
||||||
|
border-radius: 4px;
|
||||||
|
font-size: 0.85rem;
|
||||||
|
cursor: pointer;
|
||||||
|
border: 1px solid transparent;
|
||||||
|
font-family: inherit;
|
||||||
|
}
|
||||||
|
|
||||||
|
.cd-btn-cancel {
|
||||||
|
background: transparent;
|
||||||
|
border-color: #2a2d3a;
|
||||||
|
color: #9ba4c7;
|
||||||
|
}
|
||||||
|
|
||||||
|
.cd-btn-cancel:hover {
|
||||||
|
background: #2a2d3a;
|
||||||
|
color: #e2e4ed;
|
||||||
|
}
|
||||||
|
|
||||||
|
.cd-btn-confirm {
|
||||||
|
background: #7c8cff;
|
||||||
|
border-color: #7c8cff;
|
||||||
|
color: #fff;
|
||||||
|
}
|
||||||
|
|
||||||
|
.cd-btn-confirm:hover {
|
||||||
|
background: #6070ee;
|
||||||
|
border-color: #6070ee;
|
||||||
|
}
|
||||||
|
|
||||||
|
.cd-btn-confirm.cd-btn-danger {
|
||||||
|
background: #c0392b;
|
||||||
|
border-color: #c0392b;
|
||||||
|
}
|
||||||
|
|
||||||
|
.cd-btn-confirm.cd-btn-danger:hover {
|
||||||
|
background: #e74c3c;
|
||||||
|
border-color: #e74c3c;
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,57 @@
|
||||||
|
.ctx-menu {
|
||||||
|
display: block;
|
||||||
|
position: fixed;
|
||||||
|
background: #1e1e1e;
|
||||||
|
border: 1px solid #3a3a3a;
|
||||||
|
border-radius: 4px;
|
||||||
|
padding: 4px 0;
|
||||||
|
min-width: 160px;
|
||||||
|
box-shadow: 0 4px 16px rgba(0,0,0,0.5);
|
||||||
|
z-index: 9999;
|
||||||
|
font-size: 13px;
|
||||||
|
font-family: inherit;
|
||||||
|
color: #d4d4d4;
|
||||||
|
user-select: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
.ctx-entry {
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
padding: 5px 12px;
|
||||||
|
cursor: pointer;
|
||||||
|
gap: 8px;
|
||||||
|
white-space: nowrap;
|
||||||
|
}
|
||||||
|
|
||||||
|
.ctx-entry:hover {
|
||||||
|
background: #2a4a7f;
|
||||||
|
}
|
||||||
|
|
||||||
|
.ctx-entry-dir {
|
||||||
|
justify-content: space-between;
|
||||||
|
}
|
||||||
|
|
||||||
|
.ctx-label {
|
||||||
|
flex: 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
.ctx-arrow {
|
||||||
|
font-size: 9px;
|
||||||
|
opacity: 0.6;
|
||||||
|
}
|
||||||
|
|
||||||
|
.ctx-readonly {
|
||||||
|
display: block;
|
||||||
|
padding: 5px 12px;
|
||||||
|
color: #888;
|
||||||
|
font-style: italic;
|
||||||
|
white-space: nowrap;
|
||||||
|
cursor: default;
|
||||||
|
}
|
||||||
|
|
||||||
|
.ctx-separator {
|
||||||
|
display: block;
|
||||||
|
height: 1px;
|
||||||
|
background: #3a3a3a;
|
||||||
|
margin: 4px 0;
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,145 @@
|
||||||
|
editor-shell {
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
height: 100vh;
|
||||||
|
overflow: hidden;
|
||||||
|
background: #0f1117;
|
||||||
|
color: #e2e4ed;
|
||||||
|
font-family: 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: 600;
|
||||||
|
color: #c8cbde;
|
||||||
|
}
|
||||||
|
|
||||||
|
.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;
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,130 @@
|
||||||
|
file-tree-panel {
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
height: 100%;
|
||||||
|
background: #0f1117;
|
||||||
|
color: #c8cbde;
|
||||||
|
font-size: 0.85rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.ftp-header {
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
gap: 4px;
|
||||||
|
padding: 4px 8px;
|
||||||
|
border-bottom: 1px solid #2a2d3a;
|
||||||
|
flex-shrink: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.ftp-btn {
|
||||||
|
padding: 2px 6px;
|
||||||
|
background: transparent;
|
||||||
|
border: 1px solid #2a2d3a;
|
||||||
|
border-radius: 3px;
|
||||||
|
color: #666;
|
||||||
|
cursor: pointer;
|
||||||
|
font-size: 0.7rem;
|
||||||
|
font-family: inherit;
|
||||||
|
}
|
||||||
|
|
||||||
|
.ftp-btn:hover { color: #aaa; background: #1a1d27; border-color: #444; }
|
||||||
|
|
||||||
|
.ftp-inline-create {
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
gap: 4px;
|
||||||
|
padding: 8px;
|
||||||
|
background: #13151f;
|
||||||
|
border-bottom: 1px solid #2a2d3a;
|
||||||
|
}
|
||||||
|
|
||||||
|
.ftp-inline-label {
|
||||||
|
font-size: 0.75rem;
|
||||||
|
color: #666;
|
||||||
|
font-style: italic;
|
||||||
|
}
|
||||||
|
|
||||||
|
.ftp-rename-input {
|
||||||
|
width: 100%;
|
||||||
|
padding: 4px 6px;
|
||||||
|
background: #0f1117;
|
||||||
|
border: 1px solid #7c8cff;
|
||||||
|
border-radius: 3px;
|
||||||
|
color: #e2e4ed;
|
||||||
|
font-size: 0.85rem;
|
||||||
|
font-family: inherit;
|
||||||
|
outline: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
.ftp-inline-create .ftp-btn {
|
||||||
|
align-self: flex-start;
|
||||||
|
display: inline-block;
|
||||||
|
margin-right: 4px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.ftp-tree {
|
||||||
|
flex: 1;
|
||||||
|
overflow-y: auto;
|
||||||
|
padding: 4px 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.ftp-list {
|
||||||
|
list-style: none;
|
||||||
|
padding: 0;
|
||||||
|
margin: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.ftp-list .ftp-list {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
.ftp-dir.open > .ftp-list {
|
||||||
|
display: block;
|
||||||
|
}
|
||||||
|
|
||||||
|
.ftp-dir-label {
|
||||||
|
display: block;
|
||||||
|
padding: 3px 8px 3px calc(8px + var(--depth, 0) * 12px);
|
||||||
|
cursor: pointer;
|
||||||
|
color: #7b7f96;
|
||||||
|
}
|
||||||
|
|
||||||
|
.ftp-dir-label:hover { color: #c8cbde; }
|
||||||
|
|
||||||
|
.ftp-dir.open > .ftp-dir-label { color: #c8cbde; }
|
||||||
|
|
||||||
|
.ftp-file {
|
||||||
|
padding: 3px 8px 3px calc(20px + var(--depth, 0) * 12px);
|
||||||
|
cursor: pointer;
|
||||||
|
color: #9ba4c7;
|
||||||
|
}
|
||||||
|
|
||||||
|
.ftp-file:hover { background: #1a1d27; color: #e2e4ed; }
|
||||||
|
.ftp-file.active { background: #1e2235; color: #7c8cff; }
|
||||||
|
.ftp-dir-label.active { background: #1e2235; color: #c8cbde; }
|
||||||
|
|
||||||
|
.ftp-type-error {
|
||||||
|
padding: 6px 10px;
|
||||||
|
color: #e07070;
|
||||||
|
font-size: 0.8rem;
|
||||||
|
background: #1e1520;
|
||||||
|
border-bottom: 1px solid #3a2a2a;
|
||||||
|
}
|
||||||
|
|
||||||
|
.ftp-empty {
|
||||||
|
display: block;
|
||||||
|
padding: 12px;
|
||||||
|
color: #555;
|
||||||
|
font-style: italic;
|
||||||
|
}
|
||||||
|
|
||||||
|
.ftp-up {
|
||||||
|
padding: 4px 8px;
|
||||||
|
cursor: pointer;
|
||||||
|
color: #666;
|
||||||
|
font-size: 0.8rem;
|
||||||
|
font-style: italic;
|
||||||
|
border-bottom: 1px solid #1e2030;
|
||||||
|
}
|
||||||
|
|
||||||
|
.ftp-up:hover { color: #c8cbde; background: #1a1d27; }
|
||||||
|
|
@ -0,0 +1,109 @@
|
||||||
|
group-editor {
|
||||||
|
display: block;
|
||||||
|
max-width: 700px;
|
||||||
|
margin: 2rem auto;
|
||||||
|
padding: 0 1rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
group-editor h2 {
|
||||||
|
margin-bottom: 1rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
group-editor .create-form {
|
||||||
|
display: flex;
|
||||||
|
gap: 0.5rem;
|
||||||
|
margin-bottom: 1.5rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
group-editor .create-form input {
|
||||||
|
flex: 1;
|
||||||
|
padding: 0.5rem;
|
||||||
|
border: 1px solid #ccc;
|
||||||
|
border-radius: 4px;
|
||||||
|
font-size: 1rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
group-editor .group-list {
|
||||||
|
list-style: none;
|
||||||
|
padding: 0;
|
||||||
|
margin: 0;
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
gap: 0.75rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
group-editor .group-list li {
|
||||||
|
border: 1px solid #ddd;
|
||||||
|
border-radius: 6px;
|
||||||
|
overflow: hidden;
|
||||||
|
}
|
||||||
|
|
||||||
|
group-editor .group-header {
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
gap: 0.5rem;
|
||||||
|
padding: 0.75rem 1rem;
|
||||||
|
background: #f8f8f8;
|
||||||
|
}
|
||||||
|
|
||||||
|
group-editor .group-header strong {
|
||||||
|
flex: 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
group-editor .members-panel {
|
||||||
|
padding: 1rem;
|
||||||
|
border-top: 1px solid #eee;
|
||||||
|
}
|
||||||
|
|
||||||
|
group-editor .member-list {
|
||||||
|
list-style: none;
|
||||||
|
padding: 0;
|
||||||
|
margin: 0 0 1rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
group-editor .member-list li {
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
gap: 0.5rem;
|
||||||
|
padding: 0.4rem 0;
|
||||||
|
border-bottom: 1px solid #f0f0f0;
|
||||||
|
}
|
||||||
|
|
||||||
|
group-editor .empty {
|
||||||
|
color: #999;
|
||||||
|
font-size: 0.9rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
group-editor .add-member-form {
|
||||||
|
display: flex;
|
||||||
|
gap: 0.5rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
group-editor .add-member-form input {
|
||||||
|
width: 80px;
|
||||||
|
padding: 0.4rem;
|
||||||
|
border: 1px solid #ccc;
|
||||||
|
border-radius: 4px;
|
||||||
|
}
|
||||||
|
|
||||||
|
group-editor button {
|
||||||
|
padding: 0.4rem 0.8rem;
|
||||||
|
border: 1px solid #999;
|
||||||
|
background: #fff;
|
||||||
|
border-radius: 4px;
|
||||||
|
cursor: pointer;
|
||||||
|
font-size: 0.85rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
group-editor button:hover {
|
||||||
|
background: #f0f0f0;
|
||||||
|
}
|
||||||
|
|
||||||
|
group-editor .btn-delete {
|
||||||
|
border-color: #c00;
|
||||||
|
color: #c00;
|
||||||
|
}
|
||||||
|
|
||||||
|
group-editor .btn-delete:hover {
|
||||||
|
background: #fee;
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,52 @@
|
||||||
|
html-editor-panel {
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
height: 100%;
|
||||||
|
background: #0f1117;
|
||||||
|
}
|
||||||
|
|
||||||
|
.hep-toolbar {
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
gap: 4px;
|
||||||
|
padding: 4px 8px;
|
||||||
|
background: #13151f;
|
||||||
|
border-bottom: 1px solid #2a2d3a;
|
||||||
|
flex-shrink: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.hep-toolbar button {
|
||||||
|
padding: 3px 10px;
|
||||||
|
background: transparent;
|
||||||
|
border: 1px solid #2a2d3a;
|
||||||
|
border-radius: 4px;
|
||||||
|
color: #9ba4c7;
|
||||||
|
cursor: pointer;
|
||||||
|
font-size: 0.8rem;
|
||||||
|
font-family: inherit;
|
||||||
|
}
|
||||||
|
|
||||||
|
.hep-toolbar button:hover:not(:disabled) { background: #1a1d27; color: #e2e4ed; }
|
||||||
|
.hep-toolbar button:disabled { opacity: 0.3; cursor: default; }
|
||||||
|
|
||||||
|
.hep-save:not(:disabled) { border-color: #7c8cff; color: #7c8cff; }
|
||||||
|
.hep-save:not(:disabled):hover { background: #1e2235; }
|
||||||
|
|
||||||
|
.hep-pin.pinned { border-color: #f0a050; color: #f0a050; }
|
||||||
|
.hep-pin.pinned:hover { background: #1e1a10; }
|
||||||
|
|
||||||
|
.hep-empty {
|
||||||
|
flex: 1;
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: center;
|
||||||
|
color: #555;
|
||||||
|
font-size: 0.9rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.hep-frame {
|
||||||
|
flex: 1;
|
||||||
|
border: none;
|
||||||
|
background: #fff;
|
||||||
|
width: 100%;
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,58 @@
|
||||||
|
login-form {
|
||||||
|
display: block;
|
||||||
|
max-width: 360px;
|
||||||
|
margin: 80px auto;
|
||||||
|
padding: 2rem;
|
||||||
|
border: 1px solid #ddd;
|
||||||
|
border-radius: 6px;
|
||||||
|
}
|
||||||
|
|
||||||
|
login-form form {
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
gap: 1rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
login-form h2 {
|
||||||
|
margin: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
login-form label {
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
gap: 4px;
|
||||||
|
font-size: 0.9rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
login-form input {
|
||||||
|
padding: 0.5rem;
|
||||||
|
border: 1px solid #ccc;
|
||||||
|
border-radius: 4px;
|
||||||
|
font-size: 1rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
login-form button {
|
||||||
|
padding: 0.6rem;
|
||||||
|
background: #222;
|
||||||
|
color: #fff;
|
||||||
|
border: none;
|
||||||
|
border-radius: 4px;
|
||||||
|
cursor: pointer;
|
||||||
|
font-size: 1rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
login-form button:hover {
|
||||||
|
background: #444;
|
||||||
|
}
|
||||||
|
|
||||||
|
login-form .error {
|
||||||
|
color: #c00;
|
||||||
|
font-size: 0.85rem;
|
||||||
|
min-height: 1em;
|
||||||
|
}
|
||||||
|
|
||||||
|
login-form a {
|
||||||
|
text-align: center;
|
||||||
|
font-size: 0.9rem;
|
||||||
|
color: #555;
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,130 @@
|
||||||
|
project-editor {
|
||||||
|
display: block;
|
||||||
|
max-width: 700px;
|
||||||
|
margin: 2rem auto;
|
||||||
|
padding: 0 1rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
project-editor h2 {
|
||||||
|
margin-bottom: 1rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
project-editor .create-form {
|
||||||
|
display: flex;
|
||||||
|
gap: 0.5rem;
|
||||||
|
margin-bottom: 1.5rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
project-editor .create-form input {
|
||||||
|
flex: 1;
|
||||||
|
padding: 0.5rem;
|
||||||
|
border: 1px solid #ccc;
|
||||||
|
border-radius: 4px;
|
||||||
|
font-size: 1rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
project-editor .project-list {
|
||||||
|
list-style: none;
|
||||||
|
padding: 0;
|
||||||
|
margin: 0;
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
gap: 0.75rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
project-editor .project-list li {
|
||||||
|
border: 1px solid #ddd;
|
||||||
|
border-radius: 6px;
|
||||||
|
overflow: hidden;
|
||||||
|
}
|
||||||
|
|
||||||
|
project-editor .project-header {
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
gap: 0.5rem;
|
||||||
|
padding: 0.75rem 1rem;
|
||||||
|
background: #f8f8f8;
|
||||||
|
}
|
||||||
|
|
||||||
|
project-editor .project-header strong {
|
||||||
|
flex: 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
project-editor .members-panel {
|
||||||
|
padding: 1rem;
|
||||||
|
border-top: 1px solid #eee;
|
||||||
|
}
|
||||||
|
|
||||||
|
project-editor .member-list {
|
||||||
|
list-style: none;
|
||||||
|
padding: 0;
|
||||||
|
margin: 0 0 1rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
project-editor .member-list li {
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
gap: 0.5rem;
|
||||||
|
padding: 0.4rem 0;
|
||||||
|
border-bottom: 1px solid #f0f0f0;
|
||||||
|
}
|
||||||
|
|
||||||
|
project-editor .empty {
|
||||||
|
color: #999;
|
||||||
|
font-size: 0.9rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
project-editor .add-member-form {
|
||||||
|
display: flex;
|
||||||
|
gap: 0.5rem;
|
||||||
|
flex-wrap: wrap;
|
||||||
|
}
|
||||||
|
|
||||||
|
project-editor .add-member-form input {
|
||||||
|
width: 80px;
|
||||||
|
padding: 0.4rem;
|
||||||
|
border: 1px solid #ccc;
|
||||||
|
border-radius: 4px;
|
||||||
|
}
|
||||||
|
|
||||||
|
project-editor select {
|
||||||
|
padding: 0.4rem;
|
||||||
|
border: 1px solid #ccc;
|
||||||
|
border-radius: 4px;
|
||||||
|
font-size: 0.85rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
project-editor button {
|
||||||
|
padding: 0.4rem 0.8rem;
|
||||||
|
border: 1px solid #999;
|
||||||
|
background: #fff;
|
||||||
|
border-radius: 4px;
|
||||||
|
cursor: pointer;
|
||||||
|
font-size: 0.85rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
project-editor button:hover {
|
||||||
|
background: #f0f0f0;
|
||||||
|
}
|
||||||
|
|
||||||
|
project-editor .btn-edit {
|
||||||
|
padding: 0.4rem 0.8rem;
|
||||||
|
border: 1px solid #7c8cff;
|
||||||
|
border-radius: 4px;
|
||||||
|
font-size: 0.85rem;
|
||||||
|
color: #7c8cff;
|
||||||
|
text-decoration: none;
|
||||||
|
display: inline-flex;
|
||||||
|
align-items: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
project-editor .btn-edit:hover { background: #f0f0ff; }
|
||||||
|
|
||||||
|
project-editor .btn-delete {
|
||||||
|
border-color: #c00;
|
||||||
|
color: #c00;
|
||||||
|
}
|
||||||
|
|
||||||
|
project-editor .btn-delete:hover {
|
||||||
|
background: #fee;
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,58 @@
|
||||||
|
register-form {
|
||||||
|
display: block;
|
||||||
|
max-width: 360px;
|
||||||
|
margin: 80px auto;
|
||||||
|
padding: 2rem;
|
||||||
|
border: 1px solid #ddd;
|
||||||
|
border-radius: 6px;
|
||||||
|
}
|
||||||
|
|
||||||
|
register-form form {
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
gap: 1rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
register-form h2 {
|
||||||
|
margin: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
register-form label {
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
gap: 4px;
|
||||||
|
font-size: 0.9rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
register-form input {
|
||||||
|
padding: 0.5rem;
|
||||||
|
border: 1px solid #ccc;
|
||||||
|
border-radius: 4px;
|
||||||
|
font-size: 1rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
register-form button {
|
||||||
|
padding: 0.6rem;
|
||||||
|
background: #222;
|
||||||
|
color: #fff;
|
||||||
|
border: none;
|
||||||
|
border-radius: 4px;
|
||||||
|
cursor: pointer;
|
||||||
|
font-size: 1rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
register-form button:hover {
|
||||||
|
background: #444;
|
||||||
|
}
|
||||||
|
|
||||||
|
register-form .error {
|
||||||
|
color: #c00;
|
||||||
|
font-size: 0.85rem;
|
||||||
|
min-height: 1em;
|
||||||
|
}
|
||||||
|
|
||||||
|
register-form a {
|
||||||
|
text-align: center;
|
||||||
|
font-size: 0.9rem;
|
||||||
|
color: #555;
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,170 @@
|
||||||
|
rojo-chat-panel {
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
height: 100%;
|
||||||
|
background: #0f1117;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* ── Toolbar ─────────────────────────────────────────────── */
|
||||||
|
|
||||||
|
.rcp-toolbar {
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
gap: 8px;
|
||||||
|
padding: 6px 8px;
|
||||||
|
background: #13151f;
|
||||||
|
border-bottom: 1px solid #2a2d3a;
|
||||||
|
flex-shrink: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.rcp-toolbar-icon {
|
||||||
|
width: 32px;
|
||||||
|
height: 32px;
|
||||||
|
background: #1a5fd4;
|
||||||
|
border-radius: 6px;
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: center;
|
||||||
|
font-size: 1.1rem;
|
||||||
|
flex-shrink: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.rcp-toolbar-name {
|
||||||
|
flex: 1;
|
||||||
|
color: #e2e4ed;
|
||||||
|
font-size: 0.95rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.rcp-toolbar-btn {
|
||||||
|
width: 32px;
|
||||||
|
height: 32px;
|
||||||
|
background: #1a5fd4;
|
||||||
|
border: none;
|
||||||
|
border-radius: 6px;
|
||||||
|
color: #fff;
|
||||||
|
cursor: pointer;
|
||||||
|
font-size: 1rem;
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: center;
|
||||||
|
flex-shrink: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.rcp-toolbar-btn:hover { background: #1450b0; }
|
||||||
|
|
||||||
|
/* ── Chat history ────────────────────────────────────────── */
|
||||||
|
|
||||||
|
.rcp-history {
|
||||||
|
flex: 1;
|
||||||
|
overflow-y: auto;
|
||||||
|
padding: 14px 12px;
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
gap: 14px;
|
||||||
|
background: #08090e;
|
||||||
|
}
|
||||||
|
|
||||||
|
.rcp-user-bubble {
|
||||||
|
align-self: flex-end;
|
||||||
|
background: #1e2235;
|
||||||
|
color: #dde0f0;
|
||||||
|
padding: 10px 14px;
|
||||||
|
border-radius: 10px;
|
||||||
|
max-width: 80%;
|
||||||
|
white-space: pre-wrap;
|
||||||
|
word-break: break-word;
|
||||||
|
font-size: 0.9rem;
|
||||||
|
line-height: 1.5;
|
||||||
|
}
|
||||||
|
|
||||||
|
.rcp-assistant-bubble {
|
||||||
|
align-self: flex-start;
|
||||||
|
background: #13151f;
|
||||||
|
color: #c8ccde;
|
||||||
|
padding: 10px 14px;
|
||||||
|
border-radius: 10px;
|
||||||
|
max-width: 85%;
|
||||||
|
font-size: 0.9rem;
|
||||||
|
line-height: 1.6;
|
||||||
|
word-break: break-word;
|
||||||
|
}
|
||||||
|
|
||||||
|
.rcp-assistant-bubble p { margin: 0 0 0.5em; }
|
||||||
|
.rcp-assistant-bubble p:last-child { margin-bottom: 0; }
|
||||||
|
.rcp-assistant-bubble ul,
|
||||||
|
.rcp-assistant-bubble ol { padding-left: 1.4em; margin: 0 0 0.5em; }
|
||||||
|
.rcp-assistant-bubble li { margin: 0.15em 0; }
|
||||||
|
.rcp-assistant-bubble strong { color: #e2e4ed; }
|
||||||
|
.rcp-assistant-bubble code {
|
||||||
|
background: #1a1d27;
|
||||||
|
padding: 0.1em 0.35em;
|
||||||
|
border-radius: 3px;
|
||||||
|
font-size: 0.85em;
|
||||||
|
font-family: ui-monospace, "Cascadia Code", monospace;
|
||||||
|
}
|
||||||
|
.rcp-assistant-bubble pre {
|
||||||
|
background: #1a1d27;
|
||||||
|
padding: 10px 12px;
|
||||||
|
border-radius: 6px;
|
||||||
|
overflow-x: auto;
|
||||||
|
margin: 0.5em 0;
|
||||||
|
}
|
||||||
|
.rcp-assistant-bubble pre code { background: none; padding: 0; }
|
||||||
|
|
||||||
|
/* ── Input area ──────────────────────────────────────────── */
|
||||||
|
|
||||||
|
.rcp-input-area {
|
||||||
|
display: flex;
|
||||||
|
gap: 8px;
|
||||||
|
align-items: flex-end;
|
||||||
|
padding: 10px;
|
||||||
|
background: #3a1010;
|
||||||
|
border-top: 1px solid #2a2d3a;
|
||||||
|
flex-shrink: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.rcp-input-text {
|
||||||
|
flex: 1;
|
||||||
|
min-height: 4.5em;
|
||||||
|
max-height: 4.5em;
|
||||||
|
overflow-y: auto;
|
||||||
|
background: #1a1520;
|
||||||
|
color: #dde0f0;
|
||||||
|
padding: 8px 10px;
|
||||||
|
border-radius: 8px;
|
||||||
|
font-size: 0.9rem;
|
||||||
|
font-family: inherit;
|
||||||
|
line-height: 1.5;
|
||||||
|
outline: none;
|
||||||
|
word-break: break-word;
|
||||||
|
}
|
||||||
|
|
||||||
|
.rcp-input-text:empty::before {
|
||||||
|
content: 'Type message…';
|
||||||
|
color: #555;
|
||||||
|
pointer-events: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
.rcp-input-buttons {
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
gap: 6px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.rcp-input-btn {
|
||||||
|
width: 36px;
|
||||||
|
height: 36px;
|
||||||
|
background: #555;
|
||||||
|
border: none;
|
||||||
|
border-radius: 50%;
|
||||||
|
color: #fff;
|
||||||
|
cursor: pointer;
|
||||||
|
font-size: 1rem;
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: center;
|
||||||
|
flex-shrink: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.rcp-input-btn:hover:not(:disabled) { background: #6a6a6a; }
|
||||||
|
.rcp-input-btn:disabled { opacity: 0.35; cursor: default; }
|
||||||
|
|
@ -0,0 +1,78 @@
|
||||||
|
tab-container {
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
flex: 1;
|
||||||
|
min-height: 0;
|
||||||
|
overflow: hidden;
|
||||||
|
background: #0f1117;
|
||||||
|
}
|
||||||
|
|
||||||
|
tab-container.tc-drop-target {
|
||||||
|
outline: 2px solid #7c8cff;
|
||||||
|
outline-offset: -2px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.tc-bar {
|
||||||
|
display: flex;
|
||||||
|
align-items: stretch;
|
||||||
|
background: #13151f;
|
||||||
|
border-bottom: 1px solid #2a2d3a;
|
||||||
|
flex-shrink: 0;
|
||||||
|
min-height: 32px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.tc-tabs {
|
||||||
|
display: flex;
|
||||||
|
align-items: stretch;
|
||||||
|
flex: 1;
|
||||||
|
overflow-x: auto;
|
||||||
|
scrollbar-width: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
.tc-tabs::-webkit-scrollbar { display: none; }
|
||||||
|
|
||||||
|
.tc-tab {
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
gap: 4px;
|
||||||
|
padding: 0 12px;
|
||||||
|
font-size: 0.8rem;
|
||||||
|
color: #7b7f96;
|
||||||
|
cursor: pointer;
|
||||||
|
white-space: nowrap;
|
||||||
|
border-right: 1px solid #2a2d3a;
|
||||||
|
user-select: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
.tc-tab:hover { color: #c8cbde; background: #1a1d27; }
|
||||||
|
.tc-tab.active { color: #e2e4ed; background: #0f1117; border-bottom: 2px solid #7c8cff; }
|
||||||
|
.tc-tab[draggable="true"] { cursor: grab; }
|
||||||
|
.tc-tab[draggable="true"]:active { cursor: grabbing; }
|
||||||
|
|
||||||
|
.dirty-dot { color: #f59e0b; font-size: 0.6rem; }
|
||||||
|
|
||||||
|
.tc-menu {
|
||||||
|
padding: 0 10px;
|
||||||
|
background: transparent;
|
||||||
|
border: none;
|
||||||
|
border-left: 1px solid #2a2d3a;
|
||||||
|
color: #555;
|
||||||
|
cursor: pointer;
|
||||||
|
font-size: 1rem;
|
||||||
|
letter-spacing: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.tc-menu:hover { color: #aaa; background: #1a1d27; }
|
||||||
|
|
||||||
|
.tc-content {
|
||||||
|
flex: 1;
|
||||||
|
min-height: 0;
|
||||||
|
overflow: hidden;
|
||||||
|
position: relative;
|
||||||
|
}
|
||||||
|
|
||||||
|
.tc-content > * {
|
||||||
|
position: absolute;
|
||||||
|
inset: 0;
|
||||||
|
overflow: auto;
|
||||||
|
}
|
||||||
Loading…
Reference in New Issue