Update style.css

This commit is contained in:
2025-09-12 12:25:26 +08:00
committed by GitHub
parent 79cab90080
commit 813073a7ac

View File

@@ -1,62 +1,295 @@
:root {
--amily2-bg-color: #2C2C2C;
--amily2-button-color: #4A4A4A;
--amily2-text-color: #E0E0E0;
--amily2-bg-image: url('https://cdn.jsdelivr.net/gh/Wx-2025/ST-Amily2-images@main/images2/guigubahuang_2024-09-27_11-20-00_v2.png');
--amily2-bg-opacity: 0.85;
}
#amily2_drawer_content .flex-container {
width: 100%; height: 100%; display: flex; flex-direction: column;
}
#amily2_chat_optimiser {
position: relative;
background: var(--amily2-bg-image) no-repeat center center !important;
background-size: cover !important;
z-index: 0;
width: 100%;
flex-grow: 1;
overflow-y: auto;
padding: 15px 20px;
box-sizing: border-box;
color: var(--amily2-text-color) !important;
}
#auth_panel { background: linear-gradient(135deg, #1a237e, #4a148c); padding: 20px; border-radius: 12px; margin-bottom: 20px; }
#amily2_chat_optimiser::before {
content: '';
position: absolute;
top: 0; left: 0; right: 0; bottom: 0;
background-color: var(--amily2-bg-color);
opacity: var(--amily2-bg-opacity);
z-index: -1;
pointer-events: none;
}
#auth_panel {
position: relative;
background: transparent !important;
z-index: 0;
padding: 20px;
border-radius: 12px;
margin-bottom: 20px;
backdrop-filter: blur(5px);
}
#auth_panel .auth-header { text-align: center; margin-bottom: 20px; }
#auth_panel .auth-title { font-size: 1.8rem; background: linear-gradient(to right, #ff9800, #ff5722); -webkit-background-clip: text; background-clip: text; color: transparent; }
#auth_panel .auth-subtitle { color: #ccc; margin-top: 5px; }
#auth_panel .auth-title {
font-size: 1.8rem;
background: linear-gradient(to right, #ff9800, #ff5722);
-webkit-background-clip: text;
background-clip: text;
color: transparent;
}
#auth_panel .auth-subtitle { color: var(--amily2-text-color); margin-top: 5px; }
#auth_panel .auth-code-input { display: flex; margin-bottom: 15px; }
#auth_panel #amily2_auth_code { flex: 1; padding: 10px; border-radius: 8px 0 0 8px; border: 1px solid #7e57c2; background: rgba(0,0,0,0.2); color: white; }
#auth_panel #auth_submit { padding: 10px 15px; border: none; background: #7e57c2; color: white; border-radius: 0 8px 8px 0; cursor: pointer; }
#auth_panel .auth-footer { text-align: center; font-size: 0.8em; color: #999; }
#auth_panel #amily2_auth_code {
flex: 1; padding: 10px; border-radius: 8px 0 0 8px;
border: 1px solid #7e57c2;
background: rgba(0,0,0,0.3);
color: var(--amily2-text-color);
}
#auth_panel #auth_submit {
padding: 10px 15px; border: none;
background: var(--amily2-button-color);
color: var(--amily2-text-color);
border-radius: 0 8px 8px 0;
cursor: pointer;
}
#auth_panel .auth-footer { text-align: center; font-size: 0.8em; color: var(--amily2-text-color); }
.auth-status { padding: 10px; border-radius: 8px; text-align: center; margin-top: 15px; }
.auth-status.valid { background-color: rgba(76, 175, 80, 0.2); border: 1px solid #4CAF50; }
.auth-status.expired { background-color: rgba(244, 67, 54, 0.2); border: 1px solid #f44336; }
.amily2_settings_block {
position: relative;
background: transparent !important;
z-index: 0;
border: 1px solid rgba(255, 255, 255, 0.2);
padding: 8px;
margin: 0;
border-radius: 8px;
backdrop-filter: blur(3px);
}
.amily2_settings_block label {
color: var(--amily2-text-color) !important;
margin-right: 10px;
font-weight: bold;
}
.amily2_settings_block input[type="color"] {
width: 50px;
height: 30px;
border: none;
border-radius: 4px;
margin-right: 15px;
cursor: pointer;
}
.amily2_settings_block .menu_button {
margin-top: 10px;
background: var(--amily2-button-color) !important;
color: var(--amily2-text-color) !important;
border: 1px solid rgba(255, 255, 255, 0.2) !important;
}
.amily2_settings_block .menu_button:hover {
background: rgba(74, 74, 74, 0.8) !important;
border-color: rgba(255, 255, 255, 0.4) !important;
}
.main-toggle { margin: 0; }
.main-toggle label { font-size: 1.2em; }
.main-toggle label { font-size: 1.2em; color: var(--amily2-text-color) !important; }
.update-section {
position: relative;
display: flex; /* 使用flex布局来垂直居中 */
display: flex;
align-items: center;
min-height: 50px; /* 设置一个最小高度,与左侧开关区域对齐 */
min-height: 50px;
}
#amily2_update_button { background: none; border: 1px solid rgba(255,255,255,0.2); padding: 5px 8px; }
#amily2_update_button:hover { background: rgba(255,255,255,0.1); }
#amily2_update_button {
background: var(--amily2-button-color) !important;
border: 1px solid rgba(255,255,255,0.2);
padding: 5px 8px;
color: var(--amily2-text-color) !important;
}
#amily2_update_button:hover {
background: rgba(74, 74, 74, 0.8) !important;
}
.update-indicator {
position: absolute; top: -3px; right: -3px; width: 10px; height: 10px;
background-color: #ff4d4d; border-radius: 50%; border: 1px solid #1e1e1e;
background-color: #ff4d4d; border-radius: 50%; border: 1px solid var(--amily2-bg-color);
}
hr.header-divider {
border: none;
border-top: 1px solid rgba(255,255,255,0.1);
margin: 0 0 10px 0;
}
hr.header-divider { border: none; border-top: 1px solid rgba(255,255,255,0.1); margin: 0 0 10px 0; }
.settings-group {
border: 1px solid rgba(255, 255, 255, 0.2); border-radius: 8px;
padding: 15px; margin: 0; display: flex; flex-direction: column; gap: 15px;
position: relative;
background: transparent !important;
z-index: 0;
border: 1px solid rgba(255, 255, 255, 0.2);
border-radius: 8px;
padding: 8px 12px;
margin: 0;
display: flex;
flex-direction: column;
gap: 5px;
backdrop-filter: blur(3px);
}
.settings-group legend {
font-size: 1.1em; font-weight: bold; color: #eee; padding: 0 10px; margin-left: 10px;
font-size: 1.1em;
font-weight: bold;
color: var(--amily2-text-color) !important;
padding: 0 10px;
margin-left: 10px;
}
.settings-group legend > i { margin-right: 8px; color: #7e57c2; }
.settings-group legend > i {
margin-right: 8px;
color: #7e57c2;
}
.settings-group legend > i.fa-palette {
color: #ff9800;
}
#amily2_chat_optimiser .settings-group {
margin-bottom: 20px;
.color-controls-container {
flex-direction: row !important;
align-items: center !important;
justify-content: space-between !important;
gap: 15px !important;
}
.color-picker-group {
display: flex;
align-items: center;
gap: 15px;
flex-grow: 1;
}
.color-picker-item {
display: flex;
align-items: center;
gap: 5px;
}
/* === 可变透明度容器背景 === */
.settings-group::before,
.amily2_settings_block::before,
#auth_panel::before,
.extension_block::before,
.plugin-features::before,
.amily2_extension_frame::before {
content: '';
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
background-color: var(--amily2-bg-color);
opacity: var(--amily2-bg-opacity);
z-index: -1;
pointer-events: none;
}
.settings-group::before,
.amily2_settings_block::before,
.extension_block::before,
.plugin-features::before,
.amily2_extension_frame::before {
border-radius: 8px;
}
#auth_panel::before {
border-radius: 12px;
}
#amily2_chat_optimiser .settings-group {
margin-bottom: 5px;
}
#amily2_chat_optimiser .settings-group:last-child {
margin-bottom: 0;
}
/* === 扩展卡片和面板样式 === */
.extension_settings {
background: var(--amily2-bg-color) !important;
color: var(--amily2-text-color) !important;
}
#extensions_settings2,
.extension_block,
.plugin-features,
.amily2_extension_frame {
position: relative;
background: transparent !important;
z-index: 0;
color: var(--amily2-text-color) !important;
}
/* === 按钮统一样式 (已限定作用域) === */
.amily2_extension_frame .menu_button,
.extension_block .menu_button,
#amily2_drawer_content .menu_button {
background: var(--amily2-button-color) !important;
color: var(--amily2-text-color) !important;
border: 1px solid rgba(255, 255, 255, 0.2) !important;
}
.amily2_extension_frame .menu_button:hover,
.extension_block .menu_button:hover,
#amily2_drawer_content .menu_button:hover {
background: rgba(74, 74, 74, 0.8) !important;
border-color: rgba(255, 255, 255, 0.4) !important;
}
/* === 输入框样式 (已限定作用域) === */
.amily2_extension_frame input,
.amily2_extension_frame textarea,
.amily2_extension_frame select,
#amily2_drawer_content input,
#amily2_drawer_content textarea,
#amily2_drawer_content select {
background: rgba(74, 74, 74, 0.6) !important;
color: var(--amily2-text-color) !important;
border: 1px solid rgba(255, 255, 255, 0.2) !important;
}
/* === 抽屉容器样式 === */
#amily2_main_drawer {
/* 顶栏的父容器应保持透明,不应有背景或边框 */
background: transparent !important;
border: none !important;
}
#amily2_drawer_content {
/* 父容器应保持透明,让子元素的背景得以显示 */
background: transparent !important;
color: var(--amily2-text-color) !important;
}
/* === 开关样式 === */
.toggle-switch {
position: relative;
display: inline-block;
@@ -76,7 +309,7 @@ hr.header-divider { border: none; border-top: 1px solid rgba(255,255,255,0.1); m
left: 0;
right: 0;
bottom: 0;
background-color: #333;
background-color: var(--amily2-bg-color);
border-radius: 26px;
transition: .4s;
border: 1px solid #555;
@@ -88,7 +321,7 @@ hr.header-divider { border: none; border-top: 1px solid rgba(255,255,255,0.1); m
width: 20px;
left: 2px;
bottom: 2px;
background-color: white;
background-color: var(--amily2-text-color);
border-radius: 50%;
transition: .4s;
}
@@ -100,44 +333,78 @@ hr.header-divider { border: none; border-top: 1px solid rgba(255,255,255,0.1); m
transform: translateX(24px);
}
/* === 单选按钮组样式 === */
.radio-toggle-group {
display: flex; border: 1px solid #555; border-radius: 8px; overflow: hidden;
display: flex;
border: 1px solid #555;
border-radius: 8px;
overflow: hidden;
}
.radio-toggle-group input[type="radio"] {
display: none;
}
.radio-toggle-group input[type="radio"] { display: none; }
.radio-toggle-group label {
flex: 1; text-align: center; padding: 8px 10px; cursor: pointer;
background-color: #333; color: #ccc; transition: all 0.3s ease;
border-left: 1px solid #555; margin: 0 !important;
flex: 1;
text-align: center;
padding: 8px 10px;
cursor: pointer;
background-color: var(--amily2-bg-color);
color: var(--amily2-text-color);
transition: all 0.3s ease;
border-left: 1px solid #555;
margin: 0 !important;
}
.radio-toggle-group label:first-of-type {
border-left: none;
}
.radio-toggle-group label:first-of-type { border-left: none; }
.radio-toggle-group input[type="radio"]:checked + label {
background-color: #7e57c2; color: white; font-weight: bold;
background-color: #7e57c2;
color: var(--amily2-text-color);
font-weight: bold;
}
/* === 控制对容器样式 === */
.control-pair-container {
display: flex; justify-content: space-around; align-items: center; gap: 20px;
display: flex;
justify-content: space-around;
align-items: center;
gap: 10px;
}
.control-pair-container .amily2_settings_block {
flex: 1; display: flex; flex-direction: column; align-items: center; gap: 10px;
flex: 1;
display: flex;
flex-direction: column;
align-items: center;
gap: 5px;
}
.control-pair-container .amily2_settings_block label:first-of-type {
margin-bottom: 0;
}
.control-pair-container .amily2_settings_block label:first-of-type { margin-bottom: 0; }
.amily2_settings_block { display: flex; flex-direction: column; gap: 8px; }
.amily2_settings_block label { font-weight: bold; color: #ddd; }
.amily2_settings_block .notes {
font-size: 0.8em; color: #aaa; opacity: 0.9; font-style: italic;
align-self: flex-start; padding-left: 5px;
.amily2_settings_block label {
font-weight: bold;
color: var(--amily2-text-color) !important;
}
.amily2_settings_block .notes {
font-size: 0.8em;
color: var(--amily2-text-color);
opacity: 0.9;
font-style: italic;
align-self: flex-start;
padding-left: 5px;
}
.control-pair-container .amily2_settings_block .notes {
align-self: center;
}
.control-pair-container .amily2_settings_block .notes { align-self: center; }
.label-with-button {
display: flex;
justify-content: space-between;
align-items: center;
}
/* === Lore配置样式 === */
.amily2_lore_config_wrapper {
display: flex;
gap: 15px;
@@ -158,15 +425,15 @@ hr.header-divider { border: none; border-top: 1px solid rgba(255,255,255,0.1); m
#amily2_save_lore_settings {
width: 100%;
background: linear-gradient(135deg, #7e57c2, #5e35b1);
border: 1px solid #4527a0;
background: linear-gradient(135deg, #7e57c2, #5e35b1) !important;
border: 1px solid #4527a0 !important;
color: var(--amily2-text-color) !important;
}
#amily2_save_lore_settings:hover {
background: linear-gradient(135deg, #5e35b1, #7e57c2);
background: linear-gradient(135deg, #5e35b1, #7e57c2) !important;
box-shadow: 0 0 8px rgba(126, 87, 194, 0.6);
}
#amily2_lore_save_status {
color: #66bb6a;
font-weight: bold;
@@ -175,46 +442,67 @@ hr.header-divider { border: none; border-top: 1px solid rgba(255,255,255,0.1); m
padding-top: 5px;
}
/* === 通用样式 === */
hr {
border: none;
border-top: 1px solid rgba(255,255,255,0.1);
margin: 0;
}
.text_pole, select {
width: 100%;
box-sizing: border-box;
}
hr { border: none; border-top: 1px solid rgba(255,255,255,0.1); margin: 0; }
.text_pole, select { width: 100%; box-sizing: border-box; }
.button-pair { flex-direction: row; justify-content: space-between; gap: 15px; }
.button-pair .menu_button { flex-grow: 1; }
.flex-container .primary { background-color: #2196F3; }
.flex-container .accent { background-color: #FF5722; }
.button-pair {
flex-direction: row;
justify-content: space-between;
gap: 15px;
}
.button-pair .menu_button {
flex-grow: 1;
}
.flex-container .primary {
background-color: #2196F3 !important;
}
.flex-container .accent {
background-color: #FF5722 !important;
}
/* === 抽屉图标状态 === */
#amily2_drawer_icon.closedIcon { opacity: 0.5; }
#amily2_drawer_icon.openIcon { opacity: 1; }
#amily2_drawer_icon.interactable:hover { opacity: 1; }
/* 强制保护顶栏图标不受主题颜色影响 */
#amily2_drawer_icon {
background: none !important;
color: inherit !important;
}
/* === 特殊功能开关样式 === */
#amily2_optimization_enabled:checked + .slider {
background: linear-gradient(to right, #28a745, #20c997);
background: linear-gradient(to right, #28a745, #20c997) !important;
box-shadow: 0 0 10px rgba(40, 167, 69, 0.7);
}
#amily2_summarization_enabled:checked + .slider {
background: linear-gradient(to right, #007bff, #17a2b8);
background: linear-gradient(to right, #007bff, #17a2b8) !important;
box-shadow: 0 0 10px rgba(0, 123, 255, 0.7);
}
/* === 位置选择按钮样式 === */
#amily2_icon_location_topbar:checked + label {
background: linear-gradient(135deg, #0d6efd, #0dcaf0);
color: white;
background: linear-gradient(135deg, #0d6efd, #0dcaf0) !important;
color: white !important;
font-weight: bold;
box-shadow: inset 0 0 8px rgba(255, 255, 255, 0.5), 0 0 12px rgba(13, 110, 253, 0.6);
transform: translateY(-2px);
border-color: #0dcaf0;
}
#amily2_icon_location_extensions:checked + label {
background: linear-gradient(135deg, #ffc107, #fd7e14);
color: #492000;
background: linear-gradient(135deg, #ffc107, #fd7e14) !important;
color: #492000 !important;
font-weight: bold;
text-shadow: 0 0 1px rgba(255,255,255,0.7);
box-shadow: inset 0 0 8px rgba(255, 255, 255, 0.6), 0 0 12px rgba(255, 193, 7, 0.6);
@@ -222,69 +510,70 @@ hr { border: none; border-top: 1px solid rgba(255,255,255,0.1); margin: 0; }
border-color: #ffc107;
}
.radio-toggle-group label {
transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
}
#amily2_mode_intercept:checked + label {
background: linear-gradient(135deg, #00bfa5, #00acc1);
color: white;
background: linear-gradient(135deg, #00bfa5, #00acc1) !important;
color: white !important;
text-shadow: 0 0 3px rgba(0,0,0,0.4);
box-shadow: inset 0 0 8px rgba(255, 255, 255, 0.4), 0 0 10px rgba(0, 191, 165, 0.6);
transform: translateY(-2px);
}
#amily2_mode_refresh:checked + label {
background: linear-gradient(135deg, #3f51b5, #2196f3);
color: white;
background: linear-gradient(135deg, #3f51b5, #2196f3) !important;
color: white !important;
text-shadow: 0 0 3px rgba(0,0,0,0.4);
box-shadow: inset 0 0 8px rgba(255, 255, 255, 0.4), 0 0 10px rgba(63, 81, 181, 0.6);
transform: translateY(-2px);
}
/* === 特殊按钮样式 === */
#amily2_refresh_models {
background: linear-gradient(to right, #2196F3, #1976D2);
border: 1px solid #1565C0;
background: linear-gradient(to right, #2196F3, #1976D2) !important;
border: 1px solid #1565C0 !important;
transition: all 0.3s ease;
}
#amily2_refresh_models:hover {
background: linear-gradient(to right, #1976D2, #2196F3);
background: linear-gradient(to right, #1976D2, #2196F3) !important;
box-shadow: 0 0 8px rgba(33, 150, 243, 0.7);
transform: scale(1.03);
}
#amily2_unified_restore_button.secondary {
background: linear-gradient(to right, #ffb300, #fb8c00);
border: 1px solid #f57c00;
color: #4d2c00;
background: linear-gradient(to right, #ffb300, #fb8c00) !important;
border: 1px solid #f57c00 !important;
color: #4d2c00 !important;
transition: all 0.3s ease;
}
#amily2_unified_restore_button.secondary:hover {
background: linear-gradient(to right, #fb8c00, #ffb300);
background: linear-gradient(to right, #fb8c00, #ffb300) !important;
box-shadow: 0 0 8px rgba(255, 179, 0, 0.7);
transform: scale(1.03);
}
/* === 头部动作组 === */
.header-actions-group {
display: flex;
flex-direction: column;
align-items: flex-end; /* 保持右对齐 */
gap: 10px; /* 增加间距以匹配左侧 */
align-items: flex-end;
gap: 10px;
}
/* === 密室按钮 === */
.secret-chamber-button {
display: flex;
align-items: center;
justify-content: center;
justify-content: center;
width: 100%;
padding: 6px 10px;
font-size: 14px;
font-weight: bold;
color: var(--text_color);
background-color: var(--background_secondary);
border: 1px solid var(--border_color);
color: var(--amily2-text-color) !important;
background-color: var(--amily2-bg-color) !important;
border: 1px solid var(--border_color) !important;
border-radius: 8px;
cursor: pointer;
transition: all 0.2s ease-in-out;
@@ -295,18 +584,17 @@ hr { border: none; border-top: 1px solid rgba(255,255,255,0.1); margin: 0; }
}
.secret-chamber-button:hover {
background-color: var(--background_tertiary);
border-color: var(--text_color_half);
color: var(--primary_color);
background-color: var(--background_tertiary) !important;
border-color: var(--text_color_half) !important;
color: var(--primary_color) !important;
}
/* 新增扩展按钮组响应式布局 */
/* === 响应式按钮组 === */
.button-group {
display: flex;
gap: 8px;
}
/* 移动端5个按钮水平排列文字正常显示 */
@media (max-width: 768px) {
.button-group {
flex-direction: row;
@@ -336,7 +624,6 @@ hr { border: none; border-top: 1px solid rgba(255,255,255,0.1); margin: 0; }
}
}
/* PC端横排布局按钮水平排列 */
@media (min-width: 769px) {
.button-group {
flex-direction: row;
@@ -350,22 +637,23 @@ hr { border: none; border-top: 1px solid rgba(255,255,255,0.1); margin: 0; }
}
}
/* === 面板可见性 === */
.amily2-panel-visible {
display: flex !important;
flex-direction: column;
flex-grow: 1;
gap: 15px;
}
/* 左侧容器:垂直布局 */
.header-left-panel {
display: flex; /* 弹性布局 */
flex-direction: column; /* 垂直排列 */
align-items: flex-start;/* 左对齐 */
gap: 10px; /* 内部元素间距 */
display: flex;
flex-direction: column;
align-items: flex-start;
gap: 10px;
}
.rag-palace-entry-container {
width: auto; /* 自适应宽度 */
width: auto;
}
#rag_palace_panel {