214 lines
6.7 KiB
CSS
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); }
|
|
}
|