/* 全站操作提示:图标、结果说明及批量结果明细。 */ /* 导入方:app/components/OperationToasts.vue、nuxt.config.ts。 */ .operation-toasts.p-toast { width: min(380px, 100% - 24px); top: calc(var(--console-top-offset, 56px) + 20px) !important; right: 20px !important; } .operation-toasts .p-toast-message { background: var(--p-content-background); color: var(--p-text-color); border: 1px solid var(--p-content-border-color); -webkit-backdrop-filter: none; backdrop-filter: none; border-radius: var(--radius-lg); box-shadow: 0 8px 28px #0f172a1f; } .operation-toasts .p-toast-message-content { align-items: flex-start; gap: 10px; padding: 14px; } .operation-toast-icon { flex-shrink: 0; margin-top: 3px; font-size: 1.125rem; } .operation-toast-icon.notice-success { color: var(--p-green-500); } .operation-toast-icon.notice-error { color: var(--p-red-500); } .operation-toast-icon.notice-warn { color: var(--p-orange-500); } .operation-toast-icon.notice-info { color: var(--p-primary-color); } /* 允许连续长文本换行,防止IP、密钥或用户输入撑破当前容器;不会修改原始数据。 */ .operation-toast-copy { overflow-wrap: anywhere; flex: 1; min-width: 0; font-size: 0.9375rem; line-height: 1.6; } .operation-toast-results { margin-top: 8px; font-size: 0.875rem; } .operation-toast-results summary { cursor: pointer; color: var(--p-primary-color); } .operation-toast-results ul { max-height: min(240px, 40vh); margin: 8px 0 0; padding-left: 18px; overflow: auto; } .operation-toast-results li + li { margin-top: 6px; } /* 视口条件 (width<=640px) 下的响应式覆盖;保留相对基础规则的层叠顺序。 */ @media (width<=640px) { .operation-toasts.p-toast { top: calc(var(--console-top-offset, 56px) + 12px) !important; right: 12px !important; } } /* 尊重减少动态效果偏好:保留状态信息,降低或取消非必要动画。 */ @media (prefers-reduced-motion: reduce) { .operation-toasts .p-toast-message { transition: none !important; } }