/* styles.css — 全局样式表,用于渲染及导出样式。 */ /* =========================================================== */ /* UI 样式 */ /* =========================================================== */ .note-preview { min-height: 100%; width: 100%; height: 100%; background-color: #fff; display: flex; flex-direction: column; } .render-div { flex: 1; overflow-y: auto; padding: 10px; } .preview-toolbar { position: relative; min-height: 100px; padding: 4px 0; border-bottom: 1px solid #e8eaed; background: linear-gradient(135deg, #f8f9fa 0%, #ffffff 100%); box-shadow: 0 2px 4px rgba(0,0,0,0.04); } .copy-button { margin-right: 10px; padding: 6px 14px; background: linear-gradient(135deg, #1e88e5 0%, #1565c0 100%); color: white; border: none; border-radius: 6px; cursor: pointer; font-size: 13px; font-weight: 500; transition: all 0.2s ease; box-shadow: 0 2px 6px rgba(30, 136, 229, 0.3); } .copy-button:hover { transform: translateY(-1px); box-shadow: 0 4px 8px rgba(30, 136, 229, 0.4); } .refresh-button { margin-right: 10px; padding: 6px 14px; background: linear-gradient(135deg, #667eea 0%, #764ba2 100%); color: white; border: none; border-radius: 6px; cursor: pointer; font-size: 13px; font-weight: 500; transition: all 0.2s ease; box-shadow: 0 2px 6px rgba(102, 126, 234, 0.3); } .refresh-button:hover { transform: translateY(-1px); box-shadow: 0 4px 8px rgba(102, 126, 234, 0.4); } .upload-input { margin-left: 10px; padding: 6px 10px; border: 1px solid #dadce0; border-radius: 6px; font-size: 13px; transition: all 0.2s ease; } .upload-input[type="file"] { cursor: pointer; } .upload-input:focus { outline: none; border-color: #1e88e5; box-shadow: 0 0 0 3px rgba(30, 136, 229, 0.1); } /* 单选按钮样式 */ .input-style[type="radio"] { width: 16px; height: 16px; margin: 0 6px 0 0; cursor: pointer; accent-color: #1e88e5; } /* Label 标签样式 */ label { font-size: 13px; color: #5f6368; cursor: pointer; user-select: none; transition: color 0.2s ease; } label:hover { color: #1e88e5; } .style-label { margin-right: 10px; font-size: 13px; color: #5f6368; font-weight: 500; white-space: nowrap; } .style-select { margin-right: 10px; width: 120px; padding: 6px 10px; border: 1px solid #dadce0; border-radius: 6px; background: white; font-size: 13px; cursor: pointer; transition: all 0.2s ease; box-shadow: 0 1px 3px rgba(0,0,0,0.1); } .style-select:hover { border-color: #1e88e5; box-shadow: 0 2px 6px rgba(30, 136, 229, 0.2); } .style-select:focus { outline: none; border-color: #1e88e5; box-shadow: 0 0 0 3px rgba(30, 136, 229, 0.1); } .msg-view { position: absolute; top: 0; left: 0; width: 100%; height: 100%; background-color: var(--background-primary); display: flex; flex-direction: column; justify-content: center; align-items: center; font-size: 18px; z-index: 9999; display: none; } .msg-title { margin-bottom: 20px; max-width: 90%; } .msg-ok-btn { padding: 10px 24px; margin: 0 8px; background: linear-gradient(135deg, #1e88e5 0%, #1565c0 100%); color: white; border: none; border-radius: 6px; cursor: pointer; font-size: 14px; font-weight: 500; transition: all 0.2s ease; box-shadow: 0 2px 6px rgba(30, 136, 229, 0.3); min-width: 80px; } .msg-ok-btn:hover { transform: translateY(-1px); box-shadow: 0 4px 8px rgba(30, 136, 229, 0.4); } .msg-ok-btn:active { transform: translateY(0); } .note-mpcard-wrapper { margin: 20px 20px; background-color: rgb(250, 250, 250); padding: 10px 20px; border-radius: 10px; } .note-mpcard-content { display: flex; } .note-mpcard-headimg { border: none !important; border-radius: 27px !important; box-shadow: none !important; width: 54px !important; height: 54px !important; margin: 0 !important; } .note-mpcard-info { margin-left: 10px; } .note-mpcard-nickname { font-size: 17px; font-weight: 500; color: rgba(0, 0, 0, 0.9); } .note-mpcard-signature { font-size: 14px; color: rgba(0, 0, 0, 0.55); } .note-mpcard-foot { margin-top: 20px; padding-top: 10px; border-top: 1px solid #ececec; font-size: 14px; color: rgba(0, 0, 0, 0.3); } .loading-wrapper { display: flex; width: 100%; height: 100%; align-items: center; justify-content: center; } .loading-spinner { width: 50px; /* 可调整大小 */ height: 50px; border: 4px solid #fcd6ff; /* 底色,浅灰 */ border-top: 4px solid #bb0cdf; /* 主色,蓝色顶部产生旋转感 */ border-radius: 50%; /* 圆形 */ animation: spin 1s linear infinite; /* 旋转动画 */ } @keyframes spin { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } }