/* Material Symbols 配置 */
.material-symbols-outlined {
    font-variation-settings: 'FILL' 0, 'wght' 400, 'GRAD' 0, 'opsz' 24;
}

.material-symbols-outlined.filled {
    font-variation-settings: 'FILL' 1, 'wght' 400, 'GRAD' 0, 'opsz' 24;
}

/* 毛玻璃效果 */
.glass-panel {
    background: rgba(45, 52, 73, 0.4);
    backdrop-filter: blur(12px);
}

/* 滚动条美化 */
::-webkit-scrollbar {
    width: 4px;
}

::-webkit-scrollbar-track {
    background: transparent;
}

::-webkit-scrollbar-thumb {
    background: #464554;
    border-radius: 10px;
}

::-webkit-scrollbar-thumb:hover {
    background: #c0c1ff;
}

/* 呼吸灯动画 */
@keyframes pulse-glow {
    0%,
    100% {
        box-shadow: 0 0 8px rgba(192, 193, 255, 0.3);
    }

    50% {
        box-shadow: 0 0 20px rgba(192, 193, 255, 0.6);
    }
}

.pulse-glow {
    animation: pulse-glow 2s ease-in-out infinite;
}

/* 闪烁加载动画 */
@keyframes shimmer {
    0% {
        background-position: -200% 0;
    }

    100% {
        background-position: 200% 0;
    }
}

.shimmer {
    background: linear-gradient(90deg, transparent 35%, rgba(192, 193, 255, 0.15) 50%, transparent 65%);
    background-size: 200% 100%;
    animation: shimmer 1.5s infinite;
}

@keyframes shimmer-ltr {
    0% {
        background-position: 200% 0;
    }

    100% {
        background-position: -200% 0;
    }
}

.shimmer-ltr {
    background-size: 200% 100%;
    animation: shimmer-ltr 1.5s linear infinite;
}

/* 浮动进入动画 */
@keyframes fade-in-up {
    from {
        opacity: 0;
        transform: translateY(12px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.fade-in-up {
    animation: fade-in-up 0.35s ease-out both;
}

/* 拖拽上传样式 */
.drag-over {
    border-color: #c0c1ff !important;
    background: rgba(192, 193, 255, 0.08) !important;
}

/* 视频弹窗进入动画 */
@keyframes modal-in {
    from {
        opacity: 0;
        transform: scale(0.9) translateY(20px);
    }
    to {
        opacity: 1;
        transform: scale(1) translateY(0);
    }
}

.modal-in {
    animation: modal-in 0.3s ease-out both;
}

/* 对话列表滚动区域 */
.conversation-list::-webkit-scrollbar {
    width: 2px;
}

.switch-row {
    display: flex;
    align-items: center;
    gap: 0.875rem;
    min-height: 3.25rem;
    padding: 0.75rem 0.875rem;
    border: 1px solid rgba(255, 255, 255, 0.06);
    border-radius: 0.75rem;
    background: rgba(6, 14, 32, 0.72);
    cursor: pointer;
    transition: border-color 0.2s ease, background-color 0.2s ease, transform 0.2s ease;
}

.switch-row:hover {
    border-color: rgba(192, 193, 255, 0.22);
    background: rgba(19, 27, 46, 0.96);
}

.switch-row:has(.peer:focus-visible) {
    border-color: rgba(192, 193, 255, 0.4);
    box-shadow: 0 0 0 1px rgba(192, 193, 255, 0.2);
}

.switch-ui {
    position: relative;
    flex-shrink: 0;
    width: 2.75rem;
    height: 1.6rem;
    border-radius: 999px;
    background: rgba(70, 69, 84, 0.95);
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.05);
    transition: background-color 0.2s ease, box-shadow 0.2s ease;
}

.switch-thumb {
    position: absolute;
    top: 0.175rem;
    left: 0.175rem;
    width: 1.25rem;
    height: 1.25rem;
    border-radius: 999px;
    background: #f6f7ff;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.25);
    transition: transform 0.2s ease;
}

.peer:checked + .switch-ui {
    background: linear-gradient(135deg, rgba(128, 131, 255, 0.95), rgba(192, 193, 255, 0.95));
    box-shadow: 0 0 0 1px rgba(192, 193, 255, 0.2), 0 0 18px rgba(128, 131, 255, 0.18);
}

.peer:checked + .switch-ui .switch-thumb {
    transform: translateX(1.15rem);
}

.switch-copy {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    width: 100%;
    min-width: 0;
}

.switch-title {
    color: #dae2fd;
    font-size: 0.9rem;
    font-weight: 600;
}

.switch-state {
    color: #7f8aa3;
    font-size: 0.72rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    white-space: nowrap;
}

.conversation-delete-button .material-symbols-outlined {
    transition: transform 0.2s ease;
}

.conversation-delete-button:hover .material-symbols-outlined {
    transform: scale(0.95);
}

