1685 lines
27 KiB
CSS
1685 lines
27 KiB
CSS
.sage-button {
|
|
color: white;
|
|
border: none;
|
|
border-radius: 4px;
|
|
cursor: pointer;
|
|
transition: opacity 0.2s;
|
|
display: inline-flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
gap: 0.35em;
|
|
margin-top: var(--sage-button-margin-top, 8px);
|
|
}
|
|
|
|
.sage-button--no-margin {
|
|
margin-top: 0;
|
|
}
|
|
|
|
.sage-button--custom {
|
|
background: var(--sage-button-bg, #2196F3);
|
|
}
|
|
|
|
.sage-button:disabled {
|
|
cursor: not-allowed;
|
|
opacity: 0.6;
|
|
}
|
|
|
|
.sage-button:not(.sage-button--no-hover):not(:disabled):hover {
|
|
opacity: 0.8;
|
|
}
|
|
|
|
.sage-button--small {
|
|
padding: 4px 8px;
|
|
font-size: 11px;
|
|
}
|
|
|
|
.sage-button--medium {
|
|
padding: 6px 12px;
|
|
font-size: 12px;
|
|
}
|
|
|
|
.sage-button--large {
|
|
padding: 8px 16px;
|
|
font-size: 14px;
|
|
}
|
|
|
|
.sage-button--primary {
|
|
background: #2196F3;
|
|
}
|
|
|
|
.sage-button--secondary {
|
|
background: #757575;
|
|
}
|
|
|
|
.sage-button--success {
|
|
background: #4CAF50;
|
|
}
|
|
|
|
.sage-button--warning {
|
|
background: #FF9800;
|
|
}
|
|
|
|
.sage-button--danger {
|
|
background: #f44336;
|
|
}
|
|
|
|
.sage-button--info {
|
|
background: #00BCD4;
|
|
}
|
|
|
|
.sage-button--icon {
|
|
min-width: 32px;
|
|
padding: 6px;
|
|
}
|
|
|
|
.sage-button-group {
|
|
display: flex;
|
|
gap: var(--sage-button-group-gap, 4px);
|
|
margin-top: var(--sage-button-group-margin-top, 8px);
|
|
flex-wrap: wrap;
|
|
}
|
|
|
|
.sage-button-group--nowrap {
|
|
flex-wrap: nowrap;
|
|
}
|
|
|
|
.sage-nav-container {
|
|
display: flex;
|
|
gap: 10px;
|
|
align-items: center;
|
|
}
|
|
|
|
.sage-nav-button {
|
|
padding: 8px 12px;
|
|
font-weight: 500;
|
|
transition: all 0.2s ease;
|
|
min-width: 40px;
|
|
border-radius: 6px;
|
|
}
|
|
|
|
.sage-nav-button--gradient {
|
|
background: linear-gradient(145deg, #404040, #303030);
|
|
border: 1px solid #555;
|
|
box-shadow: 0 2px 4px rgba(0,0,0,0.3);
|
|
color: #fff;
|
|
}
|
|
|
|
.sage-nav-button--flat {
|
|
background: #555;
|
|
border: none;
|
|
box-shadow: none;
|
|
color: #fff;
|
|
}
|
|
|
|
.sage-nav-button:hover:not(:disabled) {
|
|
background: linear-gradient(145deg, #505050, #404040);
|
|
border-color: #666;
|
|
}
|
|
|
|
.sage-nav-button--flat:hover:not(:disabled) {
|
|
background: #666;
|
|
border-color: transparent;
|
|
}
|
|
|
|
.sage-nav-button:disabled {
|
|
background: #333;
|
|
color: #666;
|
|
cursor: not-allowed;
|
|
box-shadow: none;
|
|
}
|
|
|
|
.sage-nav-button--small {
|
|
padding: 4px 8px;
|
|
font-size: 12px;
|
|
border-radius: 3px;
|
|
min-width: 30px;
|
|
}
|
|
|
|
.sage-nav-button--medium {
|
|
padding: 8px 12px;
|
|
font-size: 13px;
|
|
border-radius: 6px;
|
|
min-width: 40px;
|
|
}
|
|
|
|
.sage-nav-button--large {
|
|
padding: 10px 16px;
|
|
font-size: 14px;
|
|
border-radius: 8px;
|
|
min-width: 50px;
|
|
}
|
|
|
|
.sage-nav-counter {
|
|
color: #ccc;
|
|
margin: 0 10px;
|
|
min-width: 50px;
|
|
text-align: center;
|
|
}
|
|
|
|
.sage-nav-counter--small {
|
|
font-size: 11px;
|
|
}
|
|
|
|
.sage-nav-counter--medium,
|
|
.sage-nav-counter--large {
|
|
font-size: 12px;
|
|
}
|
|
|
|
.sage-collapsible-panel {
|
|
display: block;
|
|
}
|
|
|
|
.sage-collapsible-header {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 8px;
|
|
cursor: pointer;
|
|
user-select: none;
|
|
}
|
|
|
|
.sage-collapsible-caret {
|
|
display: inline-block;
|
|
width: 14px;
|
|
color: #fff;
|
|
}
|
|
|
|
.sage-collapsible-title {
|
|
color: #fff;
|
|
margin: 0;
|
|
font-size: 14px;
|
|
flex: 1;
|
|
}
|
|
|
|
.sage-collapsible-content {
|
|
margin-top: 10px;
|
|
}
|
|
|
|
.sage-collapsible-content--collapsed {
|
|
display: none;
|
|
}
|
|
|
|
.sage-labeled-container {
|
|
margin-bottom: var(--sage-label-margin-bottom, 10px);
|
|
}
|
|
|
|
.sage-label {
|
|
display: block;
|
|
margin-bottom: 5px;
|
|
color: #ffffff;
|
|
font-size: 13px;
|
|
font-weight: bold;
|
|
}
|
|
|
|
.sage-select,
|
|
.sage-input,
|
|
.sage-textarea {
|
|
width: 100%;
|
|
padding: 8px;
|
|
min-height: 32px;
|
|
line-height: 1.4;
|
|
background: #333;
|
|
color: #fff;
|
|
border: 1px solid #555;
|
|
border-radius: 4px;
|
|
font-size: 12px;
|
|
margin-bottom: 10px;
|
|
box-sizing: border-box;
|
|
}
|
|
|
|
.sage-textarea {
|
|
min-height: 150px;
|
|
}
|
|
|
|
.sage-textarea--monospace {
|
|
font-family: monospace;
|
|
}
|
|
|
|
.sage-textarea--inherit {
|
|
font-family: inherit;
|
|
}
|
|
|
|
.sage-textarea--resize-vertical {
|
|
resize: vertical;
|
|
}
|
|
|
|
.sage-textarea--resize-horizontal {
|
|
resize: horizontal;
|
|
}
|
|
|
|
.sage-textarea--resize-both {
|
|
resize: both;
|
|
}
|
|
|
|
.sage-textarea--resize-none {
|
|
resize: none;
|
|
}
|
|
|
|
.sage-hidden-copy-textarea {
|
|
position: fixed;
|
|
left: -9999px;
|
|
top: 0;
|
|
opacity: 0 !important;
|
|
pointer-events: none;
|
|
}
|
|
|
|
.sage-text-output-widget {
|
|
opacity: 0.6;
|
|
font-size: 9pt;
|
|
}
|
|
|
|
.sage-hidden-input {
|
|
opacity: 0 !important;
|
|
}
|
|
|
|
.sage-checkbox-row {
|
|
display: flex;
|
|
align-items: center;
|
|
margin-bottom: 8px;
|
|
}
|
|
|
|
.sage-checkbox-input {
|
|
margin-right: 8px;
|
|
cursor: pointer;
|
|
}
|
|
|
|
.sage-checkbox-label {
|
|
cursor: pointer;
|
|
user-select: none;
|
|
}
|
|
|
|
.sage-checkbox-label.sage-disabled,
|
|
.sage-radio-label.sage-disabled {
|
|
color: #888;
|
|
}
|
|
|
|
.sage-slider-row {
|
|
margin-bottom: 12px;
|
|
}
|
|
|
|
.sage-slider-header {
|
|
display: flex;
|
|
justify-content: space-between;
|
|
align-items: center;
|
|
margin-bottom: 4px;
|
|
}
|
|
|
|
.sage-slider-label,
|
|
.sage-form-label,
|
|
.sage-radio-label,
|
|
.sage-checkbox-label {
|
|
font-size: 12px;
|
|
color: #fff;
|
|
}
|
|
|
|
.sage-slider-value {
|
|
color: #fff;
|
|
font-size: 12px;
|
|
font-weight: 500;
|
|
min-width: 40px;
|
|
text-align: right;
|
|
}
|
|
|
|
.sage-slider {
|
|
width: 100%;
|
|
margin: 5px 0;
|
|
}
|
|
|
|
.sage-radio-group {
|
|
display: flex;
|
|
gap: 8px;
|
|
}
|
|
|
|
.sage-radio-group--vertical {
|
|
flex-direction: column;
|
|
}
|
|
|
|
.sage-radio-group--horizontal {
|
|
flex-direction: row;
|
|
}
|
|
|
|
.sage-radio-item {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 6px;
|
|
}
|
|
|
|
.sage-radio-input {
|
|
margin-right: 6px;
|
|
cursor: pointer;
|
|
}
|
|
|
|
.sage-form-row {
|
|
margin-bottom: 16px;
|
|
}
|
|
|
|
.sage-form-row--horizontal {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 12px;
|
|
}
|
|
|
|
.sage-form-row--horizontal .sage-form-label {
|
|
min-width: 120px;
|
|
margin-bottom: 0;
|
|
}
|
|
|
|
.sage-form-row-element {
|
|
flex: 1;
|
|
}
|
|
|
|
.sage-form-label {
|
|
display: block;
|
|
margin-bottom: 4px;
|
|
color: #fff;
|
|
font-size: 12px;
|
|
font-weight: 500;
|
|
}
|
|
|
|
.sage-form-help-text {
|
|
font-size: 11px;
|
|
color: #999;
|
|
margin-top: 4px;
|
|
font-style: italic;
|
|
}
|
|
|
|
.sage-form-group {
|
|
margin-bottom: 24px;
|
|
}
|
|
|
|
.sage-form-group-title {
|
|
color: #fff;
|
|
font-size: 14px;
|
|
font-weight: 600;
|
|
margin-bottom: 12px;
|
|
margin-top: 0;
|
|
}
|
|
|
|
.sage-toggle-row {
|
|
margin-bottom: 10px;
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 8px;
|
|
}
|
|
|
|
.sage-checkbox {
|
|
margin: 0;
|
|
transform: scale(1.2);
|
|
}
|
|
|
|
.sage-toggle-label {
|
|
color: #ffffff;
|
|
font-size: 13px;
|
|
font-weight: bold;
|
|
cursor: pointer;
|
|
user-select: none;
|
|
}
|
|
|
|
.sage-dropdown-container {
|
|
position: relative;
|
|
width: 100%;
|
|
}
|
|
|
|
.sage-dropdown-button {
|
|
width: 100%;
|
|
padding: 8px;
|
|
background: #333;
|
|
color: #fff;
|
|
border: 1px solid #555;
|
|
border-radius: 4px;
|
|
font-size: 12px;
|
|
cursor: pointer;
|
|
display: flex;
|
|
justify-content: space-between;
|
|
align-items: center;
|
|
user-select: none;
|
|
}
|
|
|
|
.sage-dropdown-menu,
|
|
.cache-dropdown-submenu {
|
|
position: fixed;
|
|
left: var(--cache-dropdown-left, 0);
|
|
top: var(--cache-dropdown-top, 0);
|
|
width: var(--cache-dropdown-width, auto);
|
|
min-width: 240px;
|
|
max-width: calc(100vw - 20px);
|
|
background: #333;
|
|
border: 1px solid #555;
|
|
border-top: none;
|
|
border-radius: 0 0 4px 4px;
|
|
max-height: 600px;
|
|
overflow-y: auto;
|
|
z-index: 1000;
|
|
display: none;
|
|
box-shadow: 2px 2px 8px rgba(0,0,0,0.3);
|
|
box-sizing: border-box;
|
|
}
|
|
|
|
.sage-dropdown-menu.open,
|
|
.cache-dropdown-submenu.open {
|
|
display: block;
|
|
}
|
|
|
|
.sage-file-selector-container {
|
|
margin-bottom: 15px;
|
|
}
|
|
|
|
.cache-dropdown-item.uncached {
|
|
font-style: italic;
|
|
color: #999;
|
|
}
|
|
|
|
.cache-dropdown-item.cache-dropdown-empty {
|
|
color: #888;
|
|
cursor: default;
|
|
}
|
|
|
|
.cache-dropdown-item.cache-dropdown-error {
|
|
color: #f44336;
|
|
}
|
|
|
|
.sage-info-message {
|
|
text-align: center;
|
|
padding: 20px;
|
|
color: #888;
|
|
font-style: italic;
|
|
}
|
|
|
|
.sage-info-box {
|
|
padding: 15px;
|
|
margin: 10px 0;
|
|
border-radius: 8px;
|
|
background: #2a2a2a;
|
|
}
|
|
|
|
.sage-info-box.sage-info-success {
|
|
background: #2d4a2d;
|
|
border: 1px solid #4CAF50;
|
|
}
|
|
|
|
.sage-info-box.sage-info-error {
|
|
background: #4a2d2d;
|
|
border: 1px solid #F44336;
|
|
}
|
|
|
|
.sage-info-box.sage-info-warning {
|
|
background: #2a2a2a;
|
|
border: 1px solid #569cd6;
|
|
}
|
|
|
|
.sage-info-heading {
|
|
margin: 0 0 10px 0;
|
|
color: #fff;
|
|
}
|
|
|
|
.sage-info-box.sage-info-success .sage-info-heading {
|
|
color: #4CAF50;
|
|
}
|
|
|
|
.sage-info-box.sage-info-error .sage-info-heading {
|
|
color: #F44336;
|
|
}
|
|
|
|
.sage-info-box.sage-info-warning .sage-info-heading {
|
|
color: #569cd6;
|
|
}
|
|
|
|
.sage-info-message.sage-info-success {
|
|
color: #4CAF50;
|
|
}
|
|
|
|
.sage-info-message.sage-info-error {
|
|
color: #F44336;
|
|
}
|
|
|
|
.sage-info-message.sage-info-warning {
|
|
color: #569cd6;
|
|
}
|
|
|
|
.sage-info-text {
|
|
margin: 0 0 8px 0;
|
|
}
|
|
|
|
.sage-info-panel {
|
|
padding: 15px;
|
|
background: #2a2a2a;
|
|
border-radius: 8px;
|
|
margin-top: 10px;
|
|
font-family: monospace;
|
|
font-size: 12px;
|
|
line-height: 1.4;
|
|
color: #e0e0e0;
|
|
}
|
|
|
|
.sage-info-empty {
|
|
color: #888;
|
|
text-align: center;
|
|
padding: 20px;
|
|
}
|
|
|
|
.sage-info-header {
|
|
margin-bottom: 15px;
|
|
padding-bottom: 10px;
|
|
border-bottom: 2px solid #444;
|
|
}
|
|
|
|
.sage-info-title {
|
|
margin: 0 0 5px 0;
|
|
color: #569cd6;
|
|
font-size: 16px;
|
|
}
|
|
|
|
.sage-info-version {
|
|
color: #4CAF50;
|
|
font-size: 14px;
|
|
margin-bottom: 5px;
|
|
}
|
|
|
|
.sage-info-chip-row {
|
|
color: #FF9800;
|
|
font-size: 12px;
|
|
}
|
|
|
|
.sage-info-chip {
|
|
display: inline-block;
|
|
background: #333;
|
|
padding: 2px 6px;
|
|
border-radius: 3px;
|
|
}
|
|
|
|
.sage-info-chip + .sage-info-chip {
|
|
margin-left: 5px;
|
|
}
|
|
|
|
.sage-description-text {
|
|
color: #B0BEC5;
|
|
font-style: italic;
|
|
padding: 8px;
|
|
background: #1a1a1a;
|
|
border-radius: 4px;
|
|
margin-top: 5px;
|
|
}
|
|
|
|
.sage-info-block {
|
|
margin-bottom: 12px;
|
|
}
|
|
|
|
.sage-info-label {
|
|
font-weight: bold;
|
|
}
|
|
|
|
.sage-info-label--blue {
|
|
color: #2196F3;
|
|
}
|
|
|
|
.sage-info-label--magenta {
|
|
color: #E91E63;
|
|
}
|
|
|
|
.sage-info-label--purple {
|
|
color: #9C27B0;
|
|
}
|
|
|
|
.sage-info-label--green {
|
|
color: #4CAF50;
|
|
}
|
|
|
|
.sage-info-label--orange {
|
|
color: #FF9800;
|
|
}
|
|
|
|
.sage-info-label--gray {
|
|
color: #607D8B;
|
|
}
|
|
|
|
.sage-info-label--teal {
|
|
color: #00BCD4;
|
|
}
|
|
|
|
.sage-info-label--brown {
|
|
color: #795548;
|
|
}
|
|
|
|
.sage-info-key {
|
|
color: #64B5F6;
|
|
}
|
|
|
|
.sage-info-value {
|
|
color: #e0e0e0;
|
|
}
|
|
|
|
.sage-info-value--break {
|
|
word-break: break-all;
|
|
}
|
|
|
|
.sage-info-value--success {
|
|
color: #81C784;
|
|
}
|
|
|
|
.sage-info-value--small {
|
|
font-size: 11px;
|
|
color: #B0BEC5;
|
|
}
|
|
|
|
.sage-info-link {
|
|
color: #CE93D8;
|
|
text-decoration: none;
|
|
}
|
|
|
|
.sage-info-link:hover {
|
|
text-decoration: underline;
|
|
}
|
|
|
|
.sage-info-link--warning {
|
|
color: #FFB74D;
|
|
}
|
|
|
|
.sage-trigger-words-block {
|
|
margin-bottom: 12px;
|
|
}
|
|
|
|
.sage-trigger-words-row {
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: space-between;
|
|
gap: 8px;
|
|
}
|
|
|
|
.sage-trigger-words-actions {
|
|
display: flex;
|
|
gap: 6px;
|
|
}
|
|
|
|
.sage-trigger-btn {
|
|
padding: 2px 6px;
|
|
font-size: 11px;
|
|
border: 1px solid #555;
|
|
background: #2a2a2a;
|
|
color: #ddd;
|
|
border-radius: 3px;
|
|
cursor: pointer;
|
|
}
|
|
|
|
.sage-trigger-words-text {
|
|
color: #F8BBD9;
|
|
background: #2a1a2a;
|
|
padding: 6px;
|
|
border-radius: 4px;
|
|
margin-top: 5px;
|
|
font-family: monospace;
|
|
}
|
|
|
|
.sage-stats-grid {
|
|
display: grid;
|
|
grid-template-columns: 1fr 1fr;
|
|
gap: 8px;
|
|
margin-top: 5px;
|
|
}
|
|
|
|
.sage-version-card {
|
|
margin: 4px 0;
|
|
padding: 6px;
|
|
background: #1a1a1a;
|
|
border-left: 3px solid transparent;
|
|
border-radius: 3px;
|
|
}
|
|
|
|
.sage-version-card--current {
|
|
background: #333;
|
|
border-left-color: #00BCD4;
|
|
}
|
|
|
|
.sage-version-card--downloaded {
|
|
background: #1a2a1a;
|
|
border-left-color: #4CAF50;
|
|
}
|
|
|
|
.sage-version-card--available {
|
|
background: #2a1a1a;
|
|
border-left-color: #FF9800;
|
|
}
|
|
|
|
.sage-version-card-status {
|
|
display: inline-block;
|
|
margin-top: 4px;
|
|
font-size: 10px;
|
|
font-weight: bold;
|
|
}
|
|
|
|
.sage-version-card-status--current {
|
|
color: #00E676;
|
|
}
|
|
|
|
.sage-version-card-status--downloaded {
|
|
color: #4CAF50;
|
|
}
|
|
|
|
.sage-version-card-status--available {
|
|
color: #FF9800;
|
|
}
|
|
|
|
.sage-gallery-container {
|
|
margin-top: 15px;
|
|
padding-top: 15px;
|
|
border-top: 1px solid #444;
|
|
}
|
|
|
|
.sage-gallery-header {
|
|
margin-bottom: 10px;
|
|
display: flex;
|
|
justify-content: space-between;
|
|
align-items: center;
|
|
}
|
|
|
|
.sage-gallery-title {
|
|
color: #E91E63;
|
|
}
|
|
|
|
.sage-gallery-grid {
|
|
display: grid;
|
|
grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
|
|
gap: 10px;
|
|
max-height: 500px;
|
|
overflow-y: auto;
|
|
}
|
|
|
|
.sage-gallery-item {
|
|
position: relative;
|
|
border-radius: 4px;
|
|
overflow: hidden;
|
|
background: #1a1a1a;
|
|
width: 150px;
|
|
height: 100px;
|
|
}
|
|
|
|
.sage-gallery-image {
|
|
width: 150px;
|
|
height: 100px;
|
|
object-fit: cover;
|
|
border-radius: 4px;
|
|
cursor: pointer;
|
|
transition: all 0.3s ease;
|
|
}
|
|
|
|
.sage-gallery-no-image {
|
|
color: #999;
|
|
font-size: 11px;
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
height: 100px;
|
|
}
|
|
|
|
.sage-nsfw-indicator {
|
|
position: absolute;
|
|
top: 4px;
|
|
right: 4px;
|
|
background: #F44336;
|
|
color: white;
|
|
padding: 2px 6px;
|
|
border-radius: 3px;
|
|
font-size: 10px;
|
|
font-weight: bold;
|
|
}
|
|
|
|
.sage-backdrop {
|
|
position: fixed;
|
|
top: 0;
|
|
left: 0;
|
|
width: 100%;
|
|
height: 100%;
|
|
background: rgba(0,0,0,0.9);
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
z-index: 10000;
|
|
cursor: pointer;
|
|
}
|
|
|
|
.sage-backdrop-image {
|
|
max-width: 90%;
|
|
max-height: 90%;
|
|
object-fit: contain;
|
|
border-radius: 8px;
|
|
}
|
|
|
|
.sage-main-container {
|
|
padding: 10px;
|
|
height: 100%;
|
|
overflow-y: auto;
|
|
background: #1e1e1e;
|
|
color: #ffffff;
|
|
}
|
|
|
|
.sage-header {
|
|
margin-bottom: 15px;
|
|
padding-bottom: 10px;
|
|
border-bottom: 1px solid #444;
|
|
}
|
|
|
|
.sage-header-title {
|
|
margin: 0;
|
|
color: #ffffff;
|
|
font-size: 16px;
|
|
}
|
|
|
|
.sage-header-subtitle {
|
|
margin: 5px 0 0 0;
|
|
color: #aaa;
|
|
font-size: 12px;
|
|
}
|
|
|
|
.sage-loading-indicator {
|
|
text-align: center;
|
|
padding: 20px;
|
|
color: #888;
|
|
font-style: italic;
|
|
}
|
|
|
|
.cache-dropdown-item {
|
|
padding: 6px 10px;
|
|
cursor: pointer;
|
|
position: relative;
|
|
border-bottom: 1px solid #444;
|
|
font-size: 11px;
|
|
}
|
|
|
|
.cache-dropdown-item:hover {
|
|
background: #444;
|
|
}
|
|
|
|
.cache-dropdown-item.folder {
|
|
background: #383838;
|
|
font-weight: bold;
|
|
}
|
|
|
|
.cache-dropdown-item.folder:hover {
|
|
background: #484848;
|
|
}
|
|
|
|
.cache-dropdown-item.folder::after {
|
|
content: "▶";
|
|
float: right;
|
|
}
|
|
|
|
.cache-dropdown-item.file {
|
|
color: #e0e0e0;
|
|
}
|
|
|
|
.cache-dropdown-item.selected {
|
|
background: #4CAF50;
|
|
}
|
|
|
|
.sage-progress-container {
|
|
margin-top: 10px;
|
|
display: none;
|
|
}
|
|
|
|
.sage-progress-container.open {
|
|
display: block;
|
|
}
|
|
|
|
.sage-progress-label,
|
|
.sage-progress-dialog-msg,
|
|
.sage-inline-progress-message {
|
|
color: #fff;
|
|
font-size: 12px;
|
|
}
|
|
|
|
.sage-progress-label {
|
|
margin-bottom: 5px;
|
|
}
|
|
|
|
.sage-progress-bar-outer,
|
|
.sage-progress-dialog-bar,
|
|
.sage-inline-progress-bar {
|
|
width: 100%;
|
|
background: #333;
|
|
border-radius: 4px;
|
|
overflow: hidden;
|
|
}
|
|
|
|
.sage-progress-bar-outer {
|
|
height: 20px;
|
|
border: 1px solid #555;
|
|
}
|
|
|
|
.sage-progress-dialog-bar,
|
|
.sage-inline-progress-bar {
|
|
height: 16px;
|
|
background: #444;
|
|
margin-bottom: 15px;
|
|
position: relative;
|
|
}
|
|
|
|
.sage-progress-bar-inner,
|
|
.sage-progress-dialog-fill,
|
|
.sage-inline-progress-fill {
|
|
height: 100%;
|
|
width: var(--sage-progress-width, 0%);
|
|
transition: width 0.3s ease;
|
|
border-radius: 4px;
|
|
position: relative;
|
|
}
|
|
|
|
.sage-progress-bar-inner {
|
|
background: linear-gradient(90deg, #9C27B0, #E91E63);
|
|
}
|
|
|
|
.sage-progress-dialog-fill,
|
|
.sage-inline-progress-fill {
|
|
background: linear-gradient(90deg, #4CAF50, #66BB6A);
|
|
}
|
|
|
|
.sage-progress-text,
|
|
.sage-progress-dialog-text,
|
|
.sage-inline-progress-text {
|
|
position: absolute;
|
|
top: 50%;
|
|
left: 50%;
|
|
transform: translate(-50%, -50%);
|
|
color: #fff;
|
|
font-weight: bold;
|
|
text-shadow: 1px 1px 2px rgba(0,0,0,0.7);
|
|
pointer-events: none;
|
|
}
|
|
|
|
.sage-progress-dialog-text {
|
|
font-size: 12px;
|
|
}
|
|
|
|
.sage-inline-progress-text {
|
|
font-size: 10px;
|
|
}
|
|
|
|
.sage-inline-progress-container {
|
|
background: #2a2a2a;
|
|
border: 1px solid #555;
|
|
border-radius: 8px;
|
|
padding: 15px;
|
|
margin: 10px 0;
|
|
display: none;
|
|
transition: all 0.3s ease;
|
|
}
|
|
|
|
.sage-inline-progress-container.open {
|
|
display: block;
|
|
}
|
|
|
|
.sage-inline-progress-title {
|
|
color: #fff;
|
|
font-weight: bold;
|
|
margin-bottom: 8px;
|
|
font-size: 13px;
|
|
}
|
|
|
|
.sage-inline-progress-message {
|
|
color: #ccc;
|
|
font-size: 12px;
|
|
margin-bottom: 12px;
|
|
min-height: 16px;
|
|
}
|
|
|
|
.sage-progress-overlay {
|
|
position: fixed;
|
|
top: 0;
|
|
left: 0;
|
|
width: 100%;
|
|
height: 100%;
|
|
background: rgba(0, 0, 0, 0.8);
|
|
z-index: 10001;
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
}
|
|
|
|
.sage-progress-dialog {
|
|
background: #2d2d2d;
|
|
border-radius: 8px;
|
|
padding: 20px;
|
|
min-width: 500px;
|
|
max-width: 700px;
|
|
border: 1px solid #555;
|
|
box-shadow: 0 4px 20px rgba(0, 0, 0, 0.5);
|
|
}
|
|
|
|
.sage-progress-title {
|
|
color: #fff;
|
|
margin: 0 0 15px 0;
|
|
font-size: 16px;
|
|
}
|
|
|
|
.sage-progress-dialog-msg {
|
|
margin-bottom: 20px;
|
|
min-height: 20px;
|
|
}
|
|
|
|
.sage-progress-dialog-msg--success {
|
|
color: #4CAF50;
|
|
}
|
|
|
|
.sage-progress-dialog-body {
|
|
padding: 30px;
|
|
min-width: 400px;
|
|
text-align: center;
|
|
}
|
|
|
|
.sage-progress-status-text {
|
|
color: #aaa;
|
|
font-size: 12px;
|
|
margin-bottom: 15px;
|
|
font-family: monospace;
|
|
}
|
|
|
|
.sage-preview-container {
|
|
background: #1a1a1a;
|
|
border-radius: 4px;
|
|
padding: 10px;
|
|
margin-bottom: 15px;
|
|
max-height: 300px;
|
|
overflow-y: auto;
|
|
}
|
|
|
|
.sage-preview-label {
|
|
color: #888;
|
|
font-size: 11px;
|
|
margin-bottom: 8px;
|
|
text-transform: uppercase;
|
|
}
|
|
|
|
.sage-image-preview {
|
|
max-width: 100%;
|
|
max-height: 150px;
|
|
object-fit: contain;
|
|
display: block;
|
|
margin-bottom: 10px;
|
|
border-radius: 4px;
|
|
}
|
|
|
|
.sage-text-preview {
|
|
color: #ccc;
|
|
font-size: 12px;
|
|
line-height: 1.5;
|
|
word-wrap: break-word;
|
|
}
|
|
|
|
.sage-progress-cancel-btn {
|
|
background: #f44336;
|
|
color: white;
|
|
border: none;
|
|
padding: 8px 16px;
|
|
border-radius: 4px;
|
|
cursor: pointer;
|
|
font-size: 13px;
|
|
width: 100%;
|
|
}
|
|
|
|
.sage-inline-progress-html-title {
|
|
font-size: 24px;
|
|
margin-bottom: 15px;
|
|
}
|
|
|
|
.sage-inline-progress-html-message {
|
|
margin-bottom: 10px;
|
|
}
|
|
|
|
.sage-inline-progress-html-summary {
|
|
color: #ccc;
|
|
font-size: 13px;
|
|
margin-bottom: 15px;
|
|
}
|
|
|
|
.sage-inline-progress-html-bar {
|
|
width: 100%;
|
|
max-width: 400px;
|
|
height: 24px;
|
|
background: #333;
|
|
border-radius: 12px;
|
|
overflow: hidden;
|
|
margin: 0 auto;
|
|
border: 1px solid #555;
|
|
}
|
|
|
|
.sage-inline-progress-html-fill {
|
|
width: var(--sage-inline-progress-width, 0%);
|
|
height: 100%;
|
|
background: linear-gradient(90deg, #4CAF50, #66BB6A);
|
|
transition: width 0.3s ease;
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
color: white;
|
|
font-weight: bold;
|
|
font-size: 12px;
|
|
}
|
|
|
|
.sage-batch-progress-fill {
|
|
width: var(--sage-batch-progress-width, 0%);
|
|
height: 100%;
|
|
background: linear-gradient(90deg, #4CAF50, #66BB6A);
|
|
transition: width 0.3s ease;
|
|
}
|
|
|
|
.sage-batch-progress-container {
|
|
grid-column: 1 / -1;
|
|
text-align: center;
|
|
padding: 20px;
|
|
background: #2a2a2a;
|
|
border-radius: 6px;
|
|
margin-bottom: 15px;
|
|
}
|
|
|
|
.sage-batch-progress-summary {
|
|
color: #4CAF50;
|
|
margin-bottom: 10px;
|
|
}
|
|
|
|
.sage-batch-progress-track {
|
|
width: 100%;
|
|
height: 8px;
|
|
background: #333;
|
|
border-radius: 4px;
|
|
overflow: hidden;
|
|
}
|
|
|
|
|
|
.sage-flex-container {
|
|
display: flex;
|
|
flex-direction: var(--sage-flex-direction, row);
|
|
justify-content: var(--sage-flex-justify, flex-start);
|
|
align-items: var(--sage-flex-align, stretch);
|
|
gap: var(--sage-flex-gap, 0);
|
|
flex-wrap: var(--sage-flex-wrap, nowrap);
|
|
padding: var(--sage-flex-padding, 0);
|
|
background: var(--sage-flex-background, transparent);
|
|
}
|
|
|
|
.sage-grid-container {
|
|
display: grid;
|
|
grid-template-columns: var(--sage-grid-columns, repeat(1, 1fr));
|
|
grid-template-rows: var(--sage-grid-rows, none);
|
|
gap: var(--sage-grid-gap, 16px);
|
|
column-gap: var(--sage-grid-column-gap, unset);
|
|
row-gap: var(--sage-grid-row-gap, unset);
|
|
padding: var(--sage-grid-padding, 0);
|
|
background: var(--sage-grid-background, transparent);
|
|
}
|
|
|
|
.sage-card {
|
|
overflow: hidden;
|
|
background: var(--sage-card-background, #2a2a2a);
|
|
border: var(--sage-card-border, 1px solid #444);
|
|
border-radius: var(--sage-card-border-radius, 8px);
|
|
}
|
|
|
|
.sage-card-header {
|
|
display: flex;
|
|
justify-content: space-between;
|
|
align-items: center;
|
|
background: rgba(0, 0, 0, 0.2);
|
|
padding: var(--sage-card-header-padding, 12px 16px);
|
|
border-bottom: 1px solid var(--sage-card-header-border-color, #444);
|
|
}
|
|
|
|
.sage-card-title {
|
|
margin: 0;
|
|
color: #ccc;
|
|
font-size: 14px;
|
|
font-weight: bold;
|
|
}
|
|
|
|
.sage-card-actions {
|
|
display: flex;
|
|
gap: 8px;
|
|
align-items: center;
|
|
}
|
|
|
|
.sage-card-actions .sage-button,
|
|
.sage-card-actions .sage-button-group {
|
|
margin-top: 0;
|
|
}
|
|
|
|
.sage-card-content {
|
|
padding: var(--sage-card-content-padding, 16px);
|
|
}
|
|
|
|
.sage-section {
|
|
margin-top: var(--sage-section-margin-top, 16px);
|
|
background: var(--sage-section-background, transparent);
|
|
}
|
|
|
|
.sage-section-title {
|
|
font-weight: bold;
|
|
padding-bottom: 8px;
|
|
border-bottom: 2px solid var(--sage-section-border-color, #4CAF50);
|
|
margin-bottom: 12px;
|
|
font-size: var(--sage-section-title-size, 16px);
|
|
color: var(--sage-section-title-color, #569cd6);
|
|
}
|
|
|
|
.sage-section-title--collapsible {
|
|
cursor: pointer;
|
|
user-select: none;
|
|
}
|
|
|
|
.sage-section-title-arrow {
|
|
display: inline-block;
|
|
transition: transform 0.2s;
|
|
}
|
|
|
|
.sage-section-content {
|
|
padding: var(--sage-section-content-padding, 16px);
|
|
}
|
|
|
|
.sage-section-content--collapsed {
|
|
display: none;
|
|
}
|
|
|
|
.sage-scroll-container {
|
|
max-height: var(--sage-scroll-max-height, 400px);
|
|
max-width: var(--sage-scroll-max-width, 100%);
|
|
padding: var(--sage-scroll-padding, 0);
|
|
background: var(--sage-scroll-background, transparent);
|
|
overflow-y: auto;
|
|
overflow-x: auto;
|
|
}
|
|
|
|
.sage-scroll-container--hidden-scrollbar {
|
|
scrollbar-width: none;
|
|
-ms-overflow-style: none;
|
|
}
|
|
|
|
.sage-scroll-container--hidden-scrollbar::-webkit-scrollbar {
|
|
display: none;
|
|
}
|
|
|
|
.sage-split-pane {
|
|
display: flex;
|
|
width: 100%;
|
|
gap: var(--sage-split-gap, 8px);
|
|
}
|
|
|
|
.sage-split-pane-left {
|
|
overflow: auto;
|
|
flex: var(--sage-split-left-flex, 0 0 50%);
|
|
min-width: var(--sage-split-left-min-width, 200px);
|
|
}
|
|
|
|
.sage-split-pane-right {
|
|
overflow: auto;
|
|
flex: var(--sage-split-right-flex, 0 0 50%);
|
|
min-width: var(--sage-split-right-min-width, 200px);
|
|
}
|
|
|
|
.sage-split-pane-handle {
|
|
width: 4px;
|
|
background: #444;
|
|
cursor: col-resize;
|
|
flex-shrink: 0;
|
|
transition: background 0.2s;
|
|
}
|
|
|
|
.sage-split-pane-handle-active {
|
|
background: #4CAF50;
|
|
}
|
|
|
|
.sage-resizing {
|
|
cursor: col-resize !important;
|
|
}
|
|
|
|
.sage-centered-container {
|
|
margin-left: auto;
|
|
margin-right: auto;
|
|
max-width: var(--sage-centered-max-width, 800px);
|
|
margin: var(--sage-centered-margin, 0 auto 0 auto);
|
|
padding: var(--sage-centered-padding, 16px);
|
|
background: var(--sage-centered-background, transparent);
|
|
}
|
|
|
|
.sage-tabs-header {
|
|
display: flex;
|
|
background: #1e1e1e;
|
|
border-bottom: 2px solid #333;
|
|
padding: 0 10px;
|
|
gap: 2px;
|
|
overflow-x: auto;
|
|
min-height: 50px;
|
|
position: relative;
|
|
}
|
|
|
|
.sage-tabs-content-area {
|
|
flex: 1;
|
|
overflow: auto;
|
|
}
|
|
|
|
.sage-tab-button {
|
|
padding: 10px 20px;
|
|
border: none;
|
|
background: #2a2a2a;
|
|
color: #ccc;
|
|
cursor: pointer;
|
|
border-radius: 6px 6px 0 0;
|
|
font-size: 13px;
|
|
font-weight: normal;
|
|
transition: all 0.2s ease;
|
|
border-bottom: 2px solid transparent;
|
|
position: relative;
|
|
top: 2px;
|
|
flex-shrink: 0;
|
|
transform: translateY(0);
|
|
}
|
|
|
|
.sage-tab-button:hover:not(.active) {
|
|
background: #3a3a3a;
|
|
color: white;
|
|
transform: translateY(-1px);
|
|
}
|
|
|
|
.sage-tab-button.active {
|
|
background: #4CAF50;
|
|
color: white;
|
|
font-weight: bold;
|
|
border-bottom: 2px solid #4CAF50;
|
|
transform: translateY(-1px);
|
|
}
|
|
|
|
.sage-tab-container {
|
|
display: none;
|
|
height: 100%;
|
|
overflow: auto;
|
|
}
|
|
|
|
.sage-tab-container.active {
|
|
display: block;
|
|
}
|
|
|
|
.sage-tab-hidden {
|
|
display: none !important;
|
|
}
|
|
|
|
.sage-tab-loading {
|
|
text-align: center;
|
|
padding: 40px;
|
|
color: #888;
|
|
}
|
|
|
|
.sage-tab-loading-heading {
|
|
font-size: 16px;
|
|
margin-bottom: 10px;
|
|
}
|
|
|
|
.sage-tab-loading-message {
|
|
font-size: 12px;
|
|
}
|
|
|
|
.sage-tab-error {
|
|
color: #f44336;
|
|
padding: 20px;
|
|
text-align: center;
|
|
}
|
|
|
|
.sage-tab-error-heading {
|
|
font-size: 16px;
|
|
margin-bottom: 10px;
|
|
}
|
|
|
|
.sage-tab-error-text {
|
|
font-size: 14px;
|
|
opacity: 0.8;
|
|
}
|
|
|
|
.dialog-overlay {
|
|
position: fixed;
|
|
top: 0;
|
|
left: 0;
|
|
width: 100%;
|
|
height: 100%;
|
|
background: rgba(0, 0, 0, 0.5);
|
|
z-index: 10000;
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
backdrop-filter: blur(3px);
|
|
}
|
|
|
|
.dialog-overlay.closing {
|
|
animation: dialogFadeOut 0.2s ease-in;
|
|
}
|
|
|
|
.sage-overlay-parent {
|
|
position: relative;
|
|
}
|
|
|
|
.dialog-container {
|
|
background: #2a2a2a;
|
|
border: 1px solid #555;
|
|
border-radius: 8px;
|
|
box-shadow: 0 4px 20px rgba(0, 0, 0, 0.7);
|
|
width: var(--dialog-width, auto);
|
|
height: var(--dialog-height, auto);
|
|
max-width: 90%;
|
|
max-height: 90%;
|
|
overflow: auto;
|
|
animation: dialogFadeIn 0.2s ease-out;
|
|
}
|
|
|
|
.dialog-header {
|
|
padding: 15px 20px;
|
|
border-bottom: 1px solid #444;
|
|
display: flex;
|
|
justify-content: space-between;
|
|
align-items: center;
|
|
background: #353535;
|
|
border-radius: 8px 8px 0 0;
|
|
}
|
|
|
|
.dialog-title {
|
|
color: #fff;
|
|
font-size: 16px;
|
|
font-weight: bold;
|
|
margin: 0;
|
|
}
|
|
|
|
.dialog-close {
|
|
background: none;
|
|
border: none;
|
|
color: #999;
|
|
font-size: 20px;
|
|
cursor: pointer;
|
|
padding: 0;
|
|
width: 24px;
|
|
height: 24px;
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
border-radius: 4px;
|
|
}
|
|
|
|
.dialog-close:hover {
|
|
background: #555;
|
|
color: #fff;
|
|
}
|
|
|
|
.dialog-content {
|
|
padding: 20px;
|
|
color: #fff;
|
|
}
|
|
|
|
.dialog-footer {
|
|
padding: 15px 20px;
|
|
border-top: 1px solid #444;
|
|
display: flex;
|
|
justify-content: flex-end;
|
|
gap: 10px;
|
|
background: #353535;
|
|
border-radius: 0 0 8px 8px;
|
|
}
|
|
|
|
.dialog-footer-button {
|
|
padding: 8px 16px;
|
|
background: var(--dialog-footer-button-bg, #007acc);
|
|
color: var(--dialog-footer-button-color, white);
|
|
border: none;
|
|
border-radius: 4px;
|
|
cursor: pointer;
|
|
font-size: 14px;
|
|
}
|
|
|
|
.dialog-footer-button--secondary {
|
|
--dialog-footer-button-bg: #666;
|
|
}
|
|
|
|
.dialog-footer-button--danger {
|
|
background: #d32f2f;
|
|
}
|
|
|
|
.dialog-footer-button--success {
|
|
background: #4CAF50;
|
|
}
|
|
|
|
.dialog-footer-button:hover {
|
|
background: #005a9e;
|
|
}
|
|
|
|
.dialog-message {
|
|
margin: 0;
|
|
font-size: 14px;
|
|
line-height: 1.5;
|
|
}
|
|
|
|
.dialog-input {
|
|
width: 100%;
|
|
padding: 8px;
|
|
margin-top: 10px;
|
|
background: #333;
|
|
color: #fff;
|
|
border: 1px solid #555;
|
|
border-radius: 4px;
|
|
font-size: 14px;
|
|
box-sizing: border-box;
|
|
}
|
|
|
|
.dialog-image-preview {
|
|
max-width: 100%;
|
|
max-height: 70vh;
|
|
object-fit: contain;
|
|
display: block;
|
|
margin: 0 auto;
|
|
}
|
|
|
|
.markdown-overlay,
|
|
.image-overlay,
|
|
.video-overlay {
|
|
position: absolute;
|
|
top: 0;
|
|
left: 0;
|
|
right: 0;
|
|
bottom: 0;
|
|
background: #1e1e1e;
|
|
border: 1px solid #3e3e3e;
|
|
border-radius: 6px;
|
|
padding: 8px;
|
|
box-sizing: border-box;
|
|
z-index: 1;
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
overflow: auto;
|
|
}
|
|
|
|
.markdown-overlay {
|
|
display: block;
|
|
align-items: flex-start;
|
|
justify-content: flex-start;
|
|
}
|
|
|
|
.display-overlay-media {
|
|
max-width: 100%;
|
|
max-height: 100%;
|
|
width: auto;
|
|
height: auto;
|
|
object-fit: contain;
|
|
display: block;
|
|
margin: auto;
|
|
}
|
|
|
|
.display-error-container {
|
|
color: #ff6b6b;
|
|
text-align: center;
|
|
padding: 20px;
|
|
}
|
|
|
|
.display-error-heading {
|
|
margin-bottom: 16px;
|
|
font-size: 18px;
|
|
color: #ff6b6b;
|
|
}
|
|
|
|
.display-error-text {
|
|
font-size: 14px;
|
|
margin-bottom: 12px;
|
|
opacity: 0.85;
|
|
}
|
|
|
|
.display-error-box {
|
|
background: #2d2d2d;
|
|
border-radius: 8px;
|
|
padding: 16px;
|
|
margin: 16px 0;
|
|
text-align: left;
|
|
}
|
|
|
|
.display-error-item {
|
|
margin: 4px 0;
|
|
color: #ccc;
|
|
}
|
|
|
|
.display-error-success {
|
|
color: #4fc3f7;
|
|
font-weight: bold;
|
|
}
|
|
|
|
.display-error-warning {
|
|
color: #ff6b6b;
|
|
font-weight: bold;
|
|
}
|
|
|
|
.dialog-metadata-content {
|
|
font-family: monospace;
|
|
font-size: 12px;
|
|
line-height: 1.4;
|
|
white-space: pre-wrap;
|
|
max-height: 60vh;
|
|
overflow-y: auto;
|
|
background: #1e1e1e;
|
|
padding: 15px;
|
|
border-radius: 4px;
|
|
border: 1px solid #444;
|
|
}
|
|
|
|
.dialog-feedback-button-success {
|
|
background: #4CAF50;
|
|
}
|
|
|
|
.sage-inline-progress-active {
|
|
animation: inlineProgressPulse 2s ease-in-out infinite;
|
|
}
|
|
|
|
.sage-inline-progress-complete {
|
|
background: #4CAF50 !important;
|
|
animation: none !important;
|
|
}
|
|
|
|
.sage-progress-pulse {
|
|
animation: progressPulse 2s ease-in-out infinite;
|
|
}
|
|
|
|
@keyframes progressPulse {
|
|
0%, 100% { opacity: 1; }
|
|
50% { opacity: 0.7; }
|
|
}
|
|
|
|
@keyframes inlineProgressPulse {
|
|
0%, 100% { opacity: 1; }
|
|
50% { opacity: 0.8; }
|
|
}
|