/* 代码块和复制按钮的专用样式 */

/* 隐藏所有其他复制按钮 */
button[class*="copy"]:not(.halunhaku-copy-btn),
button[title*="复制"]:not(.halunhaku-copy-btn),
button[title*="copy"]:not(.halunhaku-copy-btn),
button[title*="Copy"]:not(.halunhaku-copy-btn),
.copy-btn:not(.halunhaku-copy-btn),
.copy-button:not(.halunhaku-copy-btn),
.hljs-copy:not(.halunhaku-copy-btn),
.code-copy:not(.halunhaku-copy-btn),
[data-clipboard-text]:not(.halunhaku-copy-btn),
.clipboard-btn:not(.halunhaku-copy-btn) {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

/* 主题专用复制按钮样式 */
.halunhaku-copy-btn {
  position: absolute !important;
  top: 8px !important;
  right: 12px !important;
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.9) 0%, rgba(255, 255, 255, 0.8) 100%) !important;
  border: 1px solid rgba(12, 127, 242, 0.15) !important;
  border-radius: 6px !important;
  width: 32px !important;
  height: 32px !important;
  cursor: pointer !important;
  opacity: 0.7 !important;
  transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1) !important;
  z-index: 20 !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08) !important;
  backdrop-filter: blur(8px) !important;
  -webkit-backdrop-filter: blur(8px) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 14px !important;
  user-select: none !important;
  -webkit-user-select: none !important;
  -moz-user-select: none !important;
  transform: translateY(-2px) scale(0.95) !important;
  visibility: visible !important;
  pointer-events: auto !important;
}

.halunhaku-copy-btn:hover {
  opacity: 1 !important;
  background: linear-gradient(135deg, rgba(255, 255, 255, 1) 0%, rgba(255, 255, 255, 0.95) 100%) !important;
  border-color: var(--primary-color) !important;
  transform: translateY(0) scale(1.02) !important;
  box-shadow: 0 4px 12px rgba(12, 127, 242, 0.15) !important;
}

.halunhaku-copy-btn:active {
  transform: translateY(-1px) scale(1.02) !important;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.12) !important;
}

.halunhaku-copy-btn.success {
  background: linear-gradient(135deg, #10b981 0%, #059669 100%) !important;
  border-color: #10b981 !important;
  color: white !important;
  transform: translateY(-2px) scale(1.05) !important;
}

.halunhaku-copy-btn.error {
  background: linear-gradient(135deg, #ef4444 0%, #dc2626 100%) !important;
  border-color: #ef4444 !important;
  color: white !important;
  transform: translateY(-2px) scale(1.05) !important;
}

/* 桌面端悬停显示复制按钮 */
.prose pre:hover .halunhaku-copy-btn,
.prose-lg pre:hover .halunhaku-copy-btn {
  opacity: 0.8 !important;
  transform: translateY(0) scale(1) !important;
}

.prose pre:hover .halunhaku-copy-btn:hover,
.prose-lg pre:hover .halunhaku-copy-btn:hover {
  opacity: 1 !important;
  transform: translateY(-2px) scale(1.05) !important;
}

/* 移动端和平板始终显示复制按钮 */
@media (max-width: 1024px) {
  .prose pre .halunhaku-copy-btn,
  .prose-lg pre .halunhaku-copy-btn {
    opacity: 0.8 !important;
    transform: translateY(0) scale(1) !important;
  }
}

@media (max-width: 768px) {
  .halunhaku-copy-btn {
    top: 6px !important;
    right: 8px !important;
    width: 28px !important;
    height: 28px !important;
    font-size: 12px !important;
    border-radius: 4px !important;
  }
}

@media (max-width: 480px) {
  .halunhaku-copy-btn {
    top: 4px !important;
    right: 6px !important;
    width: 24px !important;
    height: 24px !important;
    font-size: 10px !important;
    border-radius: 3px !important;
  }
}

/* 深色模式调整 */
@media (prefers-color-scheme: dark) {
  .halunhaku-copy-btn {
    background: linear-gradient(135deg, rgba(0, 0, 0, 0.8) 0%, rgba(0, 0, 0, 0.7) 100%) !important;
    border-color: rgba(12, 127, 242, 0.3) !important;
    color: rgba(255, 255, 255, 0.9) !important;
  }
  
  .halunhaku-copy-btn:hover {
    background: linear-gradient(135deg, rgba(0, 0, 0, 0.9) 0%, rgba(0, 0, 0, 0.8) 100%) !important;
    border-color: var(--primary-color) !important;
    box-shadow: 0 8px 24px rgba(12, 127, 242, 0.3) !important;
  }
}

/* 防止文本选择 */
.halunhaku-copy-btn::selection {
  background: transparent !important;
}

.halunhaku-copy-btn::-moz-selection {
  background: transparent !important;
}

/* 动画效果 */
@keyframes shake {
  0%, 100% { transform: translateX(0) scale(1.1) !important; }
  10%, 30%, 50%, 70%, 90% { transform: translateX(-2px) scale(1.1) !important; }
  20%, 40%, 60%, 80% { transform: translateX(2px) scale(1.1) !important; }
}

@keyframes rotate {
  from { transform: scale(1.1) rotate(0deg) !important; }
  to { transform: scale(1.1) rotate(360deg) !important; }
}