Files
matrix-screen-controller/核桃派软件源代码/app/ui_copy_editor/static/editor.css
T

214 lines
6.7 KiB
CSS

#ui-copy-editor-toggle {
position: fixed;
z-index: 1400;
right: max(16px, env(safe-area-inset-right));
bottom: max(16px, env(safe-area-inset-bottom));
min-width: 104px;
min-height: 48px;
border: 1px solid #61d6b4;
border-radius: 999px;
background: #0f5f50;
color: #fff;
box-shadow: 0 12px 32px rgb(0 0 0 / 45%);
font-weight: 800;
}
#ui-copy-editor-panel {
position: fixed;
z-index: 1390;
inset: 0 0 0 auto;
width: min(420px, calc(100vw - 24px));
overflow: auto;
padding: 18px 18px calc(84px + env(safe-area-inset-bottom));
border-left: 1px solid #374151;
background: #0d1118;
color: #f5f7fb;
box-shadow: -16px 0 48px rgb(0 0 0 / 55%);
font: 14px/1.45 system-ui, sans-serif;
}
#ui-copy-editor-panel[hidden] { display: none; }
.ui-copy-editor-header,
.ui-copy-editor-modes,
.ui-copy-editor-tools,
.ui-copy-list-heading {
display: flex;
align-items: center;
justify-content: space-between;
gap: 8px;
}
.ui-copy-editor-header { margin-bottom: 12px; }
.ui-copy-editor-header strong { display: block; font-size: 18px; }
.ui-copy-editor-header span { color: #9ca3af; font-size: 12px; }
.ui-copy-editor-header button { min-width: 44px; min-height: 44px; font-size: 24px; }
.ui-copy-editor-modes { margin-bottom: 10px; }
.ui-copy-editor-modes button { flex: 1; min-height: 42px; }
.ui-copy-editor-modes button.active { border-color: #61d6b4; background: #173b35; color: #8ff2d6; }
.ui-copy-save-status {
min-height: 38px;
margin: 8px 0;
padding: 9px 10px;
border-radius: 8px;
background: #171d27;
color: #b9c2d0;
}
.ui-copy-save-status[data-state="saved"] { color: #72e4c4; }
.ui-copy-save-status[data-state="pending"] { color: #ffd27a; }
.ui-copy-save-status[data-state="error"],
.ui-copy-save-status[data-state="conflict"] { color: #ff9b9b; }
.ui-copy-editor-tools { margin-bottom: 12px; }
.ui-copy-editor-tools button,
.ui-copy-editor-tools a {
min-height: 40px;
padding: 9px 12px;
border: 1px solid #394252;
border-radius: 8px;
background: #171d27;
color: #f5f7fb;
text-decoration: none;
}
.ui-copy-search,
.ui-copy-selected-form label { display: grid; gap: 6px; margin: 10px 0; }
.ui-copy-search input,
.ui-copy-selected-form input,
.ui-copy-selected-form textarea,
.ui-copy-selected-form select {
width: 100%;
min-height: 42px;
box-sizing: border-box;
border: 1px solid #3b4658;
border-radius: 8px;
background: #111722;
color: #fff;
padding: 9px 10px;
font: inherit;
}
.ui-copy-selected-form textarea { resize: vertical; }
.ui-copy-list-heading { margin: 14px 0 8px; color: #cdd5e1; }
.ui-copy-list { display: grid; gap: 6px; max-height: 40vh; overflow: auto; padding-right: 4px; }
.ui-copy-list-item {
display: grid;
gap: 3px;
width: 100%;
min-height: 48px;
padding: 9px 10px;
border: 1px solid #293242;
border-radius: 8px;
background: #141a24;
color: #f5f7fb;
text-align: left;
}
.ui-copy-list-item.active { border-color: #61d6b4; background: #17332f; }
.ui-copy-list-text { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ui-copy-list-meta { color: #8e9aab; font-size: 11px; }
.ui-copy-selected-form {
margin-top: 14px;
padding: 14px;
border: 1px solid #344054;
border-radius: 10px;
background: #141a24;
}
.ui-copy-selected-form h3 { margin: 0 0 4px; font-size: 16px; overflow-wrap: anywhere; }
.ui-copy-selected-form > p { margin: 4px 0 8px; color: #9ca8b8; overflow-wrap: anywhere; }
.ui-copy-form-actions { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 10px; }
.ui-copy-form-actions > button { flex: 1; min-height: 44px; }
.ui-copy-confirm-button {
min-height: 46px;
border-color: #61d6b4 !important;
background: #0f5f50 !important;
color: #fff !important;
font-weight: 800;
}
.ui-copy-danger-button {
width: 100%;
min-height: 44px;
margin-top: 10px;
border: 1px solid #ff7777 !important;
background: #552126 !important;
color: #ffd6d6 !important;
font-weight: 800;
}
.ui-copy-danger-button:disabled { opacity: .6; }
.ui-copy-delete-confirmation {
margin-top: 10px;
padding: 12px;
border: 1px solid #ff7777;
border-radius: 8px;
background: #30171b;
}
.ui-copy-delete-confirmation[hidden] { display: none; }
.ui-copy-delete-confirmation p { margin: 6px 0; color: #ffd6d6; }
.ui-copy-form-error {
margin: 8px 0 !important;
padding: 9px 10px;
border-left: 3px solid #ff7777;
border-radius: 5px;
background: #30171b;
color: #ffb2b2 !important;
}
.ui-copy-form-error[hidden] { display: none; }
.ui-copy-checkbox { grid-template-columns: auto 1fr !important; align-items: center; }
.ui-copy-checkbox input { width: 22px; min-height: 22px; }
.ui-copy-placeholder-note { color: #ffd27a !important; }
[data-ui-copy-editor-mode="select"] [data-ui-copy-id] { cursor: crosshair !important; }
[data-ui-copy-editor-mode="select"] [data-ui-copy-id]:hover,
.ui-copy-selected {
outline: 3px solid #61d6b4 !important;
outline-offset: 3px;
border-radius: 3px;
}
.ui-copy-anchor-candidate { outline: 2px dashed #d8a8ff !important; outline-offset: 3px; cursor: crosshair !important; }
.ui-copy-anchor-candidate:hover { outline-style: solid !important; background-image: linear-gradient(rgb(126 71 177 / 10%), rgb(126 71 177 / 10%)); }
.ui-copy-custom-insertion {
box-sizing: border-box;
max-width: min(100%, 58rem);
margin: 10px auto;
padding: 10px 12px;
border-left: 3px solid #61d6b4;
border-radius: 6px;
background: #151c26;
color: #e7edf6;
overflow-wrap: anywhere;
white-space: pre-wrap;
}
@media (max-width: 40rem) {
#ui-copy-editor-panel {
inset: auto 0 0 0;
width: auto;
max-height: min(78vh, 720px);
padding: 14px 14px calc(78px + env(safe-area-inset-bottom));
border-top: 1px solid #374151;
border-left: 0;
border-radius: 18px 18px 0 0;
box-shadow: 0 -16px 48px rgb(0 0 0 / 55%);
}
.ui-copy-list { max-height: 24vh; }
html[data-ui-copy-editor-selection="false"][data-ui-copy-editor-mode="select"] #ui-copy-editor-panel,
html[data-ui-copy-editor-selection="false"][data-ui-copy-editor-mode="insert"] #ui-copy-editor-panel {
max-height: 172px;
padding-bottom: calc(12px + env(safe-area-inset-bottom));
overflow: hidden;
}
html[data-ui-copy-editor-selection="false"][data-ui-copy-editor-mode="select"] #ui-copy-editor-panel :is(.ui-copy-editor-tools, .ui-copy-search, .ui-copy-list-heading, .ui-copy-list, .ui-copy-selected-form),
html[data-ui-copy-editor-selection="false"][data-ui-copy-editor-mode="insert"] #ui-copy-editor-panel :is(.ui-copy-editor-tools, .ui-copy-search, .ui-copy-list-heading, .ui-copy-list, .ui-copy-selected-form) {
display: none !important;
}
}
@media (prefers-reduced-motion: no-preference) {
#ui-copy-editor-toggle { transition: transform 120ms ease; }
#ui-copy-editor-toggle:active { transform: scale(.97); }
}