/* 全局样式 */
:root {
  --primary: #333333; /* 主色调 - 深灰色 */
  --primary-hover: #555555; /* 主色调悬停状态 - 中灰色 */
  --background: #000000; /* 背景色 - 纯黑色 */
  --card: rgba(0, 0, 0, 0.24); /* 卡片背景 - 黑色透明 */
  --text: #e2e8f0; /* 主要文字颜色 - 浅色 */
  --text-secondary: #cdd5df; /* 次要文字颜色 - 灰色 */
  --border: #2d2d3f; /* 边框颜色 - 深色 */
  --border-hover: #6366f1; /* 边框悬停颜色 - 靛蓝色 */
  --success: #10b981; /* 成功状态 - 绿色 */
  --error: #ef4444; /* 错误状态 - 红色 */
  --warning: #f59e0b; /* 警告状态 - 橙色 */
  --radius: 12px; /* 圆角 */
}

/* 全局重置 */
* {
  margin: 0; /* 外边距重置 */
  padding: 0; /* 内边距重置 */
  box-sizing: border-box; /* 盒模型设置为 border-box */
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif; /* 字体设置 */
}

body {
  background-color: var(--background); /* 使用深色背景 */
  color: var(--text); /* 使用浅色文字 */
}

/* 标题样式 */
h1 {
  text-align: center; /* 文字居中 */
  color: var(--text); /* 文字颜色 */
  margin-bottom: 0.75rem; /* 下边距 */
  font-size: 1.75rem; /* 字体大小 */
  font-weight: 700; /* 字体粗细 */
}

/* 描述文字样式 */
.description {
  text-align: center; /* 文字居中 */
  color: var(--text-secondary); /* 文字颜色 */
  margin-bottom: 2rem; /* 下边距 */
  font-size: 1rem; /* 字体大小 */
  max-width: 600px; /* 最大宽度 */
  margin-left: auto; /* 左外边距 */
  margin-right: auto; /* 右外边距 */
}

/* 选项卡样式 */
.tabs {
  margin-bottom: 2rem; /* 下边距 */
}

/* 选项卡头部样式 */
.tab-header {
  display: flex; /* 弹性布局 */
  justify-content: center; /* 水平居中 */
  border-bottom: 1px solid var(--border); /* 底部边框 */
  margin-bottom: 1.5rem; /* 下边距 */
  gap: 0.5rem; /* 间距 */
}

/* 选项卡按钮样式 */
.tab-btn {
  padding: 0.75rem 1.25rem; /* 内边距 */
  background: none; /* 背景透明 */
  border: none; /* 无边框 */
  cursor: pointer; /* 鼠标指针 */
  font-size: 1rem; /* 字体大小 */
  color: var(--text-secondary); /* 文字颜色 */
  position: relative; /* 相对定位 */
  transition: all 0.2s ease; /* 过渡效果 */
  border-radius: var(--radius) var(--radius) 0 0; /* 圆角 */
  flex: 1; /* 弹性布局 */
  max-width: 200px; /* 最大宽度 */
}

/* 桌面端选项卡按钮样式 */
@media (min-width: 768px) {
  .container {
    max-width: 768px; /* 最大宽度 */
    margin: 2rem auto; /* 外边距 */
    padding: 2rem; /* 内边距 */
    border-radius: var(--radius); /* 圆角 */
    background-color: #0000006e; /* 黑色透明背景 */
    box-shadow: 0 8px 16px rgba(0, 0, 0, 0.4); /* 阴影效果 */
  }
  color: var(--primary); /* 文字颜色 */
  background-color: rgba(59, 130, 246, 0.05); /* 背景颜色 */
}

/* 激活状态的选项卡按钮样式 */

.tab-btn.active {
  color: rgb(54, 175, 231); /* 文字颜色改为白色，更加醒目 */
  font-weight: 700; /* 字体加粗 */
  background-color: var(--primary); /* 背景色改为主色调 */
  transform: scale(1.05); /* 轻微放大效果 */
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.5); /* 添加阴影效果 */
}

/* 激活状态的选项卡按钮下划线样式 */
.tab-btn.active::after {
  content: ""; /* 内容为空 */
  position: absolute; /* 绝对定位 */
  bottom: -1px; /* 底部位置 */
  left: 0; /* 左侧位置 */
  width: 100%; /* 宽度 */
  height: 3px; /* 高度 */
  background-color: white; /* 背景颜色改为白色 */
}

/* 选项卡内容样式 */
.tab-content {
  padding: 0.5rem; /* 内边距 */
}

/* 选项卡面板样式 */
.tab-pane {
  display: none; /* 默认隐藏 */
}

/* 激活状态的选项卡面板样式 */
.tab-pane.active {
  display: block; /* 显示 */
  animation: fadeIn 0.3s ease; /* 淡入动画 */
}

/* 淡入动画 */
@keyframes fadeIn {
  from {
    opacity: 0; /* 透明度 */
    transform: translateY(5px); /* 位移 */
  }
  to {
    opacity: 1; /* 透明度 */
    transform: translateY(0); /* 位移 */
  }
}

/* 上传区域样式 */
.upload-area {
  margin-bottom: 1.5rem; /* 下边距 */
}

/* 上传框样式 */
.upload-box {
  border: 2px dashed var(--border-hover); /* 边框 */
  border-radius: var(--radius); /* 圆角 */
  padding: 2.5rem 1.5rem; /* 内边距 */
  text-align: center; /* 文字居中 */
  cursor: pointer; /* 鼠标指针 */
  transition: all 0.2s ease; /* 过渡效果 */
  background-color: rgba(0, 0, 0, 0.6); /* 黑色透明背景 */
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1); /* 阴影效果 */
}

/* 上传框悬停样式 */
.upload-box:hover {
  border-color: var(--primary); /* 边框颜色 */
  background-color: rgba(59, 130, 246, 0.05); /* 背景颜色 */
}

/* 上传框文字样式 */
.upload-box p {
  margin-bottom: 1rem; /* 下边距 */
  color: var(--text-secondary); /* 文字颜色 */
}

/* 文件选择按钮样式 */
.file-select-btn {
  background-color: var(--primary); /* 背景颜色 */
  color: white; /* 文字颜色 */
  border: none; /* 无边框 */
  padding: 0.625rem 1.25rem; /* 内边距 */
  border-radius: var(--radius); /* 圆角 */
  cursor: pointer; /* 鼠标指针 */
  font-size: 0.875rem; /* 字体大小 */
  font-weight: 500; /* 字体粗细 */
  transition: background-color 0.2s ease; /* 过渡效果 */
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05); /* 阴影 */
}

/* 文件选择按钮悬停样式 */
.file-select-btn:hover {
  background-color: var(--primary-hover); /* 背景颜色 */
}

/* 密码输入区域样式 */
.password-input {
  margin-bottom: 1.5rem; /* 下边距 */
}

/* 密码输入标签样式 */
.password-input label {
  display: block; /* 块级元素 */
  margin-bottom: 0.5rem; /* 下边距 */
  color: var(--text); /* 文字颜色 */
  font-size: 0.875rem; /* 字体大小 */
  font-weight: 500; /* 字体粗细 */
}

/* 密码输入框样式 */
.password-input input {
  width: 100%; /* 宽度 */
  padding: 0.75rem 1rem; /* 内边距 */
  border: 1px solid var(--border); /* 边框 */
  border-radius: var(--radius); /* 圆角 */
  font-size: 0.875rem; /* 字体大小 */
  transition: all 0.2s ease; /* 过渡效果 */
  background-color: rgba(30, 30, 46, 0.4); /* 透明背景 */
  color: var(--text); /* 文字颜色 */
}

/* 密码输入框聚焦样式 */
.password-input input:focus {
  outline: none; /* 无轮廓 */
  border-color: var(--primary); /* 边框颜色 */
  box-shadow: 0 0 0 2px rgba(59, 130, 246, 0.2); /* 阴影 */
}

.check-btn {
  display: block;
  width: 100%;
  padding: 0.875rem;
  background-color: var(--primary);
  color: white;
  border: none;
  border-radius: var(--radius);
  font-size: 1rem;
  font-weight: 500;
  cursor: pointer;
  transition: all 0.3s ease;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.5); /* 发光阴影 */
  margin: 0 auto; /* 按钮居中 */
  position: relative; /* 相对定位 */
  overflow: hidden; /* 溢出隐藏 */
}

/* 检测按钮悬停样式 */
.check-btn:hover {
  background-color: var(--primary-hover); /* 背景颜色 */
  transform: translateY(-2px); /* 上移效果 */
  box-shadow: 0 6px 15px rgba(0, 0, 0, 0.6); /* 增强阴影 */
}

/* 检测按钮点击样式 */
.check-btn:active {
  transform: translateY(1px); /* 下移效果 */
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.4); /* 减弱阴影 */
}

/* 禁用状态的检测按钮样式 */
.check-btn:disabled {
  background-color: var(--border-hover); /* 背景颜色 */
  cursor: not-allowed; /* 鼠标指针 */
}



/* 结果区域标题样式 */
.result-area h3 {
  margin-bottom: 1rem; /* 下边距 */
  color: var(--text); /* 文字颜色 */
  font-size: 1.25rem; /* 字体大小 */
  font-weight: 600; /* 字体粗细 */
}

/* 加载中样式 */
.loading {
  text-align: center; /* 文字居中 */
  padding: 1rem; /* 内边距 */
  color: var(--text-secondary); /* 文字颜色 */
}

/* 权限部分样式 */
.permissions-section {
  margin-top: 1.25rem; /* 上边距 */
  border-top: 1px solid var(--border); /* 顶部边框 */
  padding-top: 1.25rem; /* 内边距 */
}

/* 权限预览样式 */
.permissions-preview {
  color: var(--text-secondary); /* 文字颜色 */
}

/* 权限数量样式 */
.permissions-count {
  color: var(--text-secondary); /* 文字颜色 */
  margin-left: 0.25rem; /* 左外边距 */
  font-size: 0.875rem; /* 字体大小 */
}

/* 显示所有权限按钮样式 */
.show-all-permissions,
.show-all-devices {
  background: transparent; /* 背景透明 */
  border: 1px solid var(--border); /* 边框 */
  border-radius: var(--radius); /* 圆角 */
  padding: 0.25rem 0.75rem; /* 内边距 */
  margin-left: 0.5rem; /* 左外边距 */
  cursor: pointer; /* 鼠标指针 */
  font-size: 0.75rem; /* 字体大小 */
  color: var(--text-secondary); /* 文字颜色 */
  transition: all 0.2s ease; /* 过渡效果 */
}

/* 显示所有权限按钮悬停样式 */
.show-all-permissions:hover,
.show-all-devices:hover {
  background: var(--border); /* 背景颜色 */
  color: var(--text); /* 文字颜色 */
}

/* 权限完整列表样式 */
.permissions-full,
.devices-full {
  margin-top: 0.75rem; /* 上边距 */
  padding: 0.75rem; /* 内边距 */
  background: rgba(226, 232, 240, 0.3); /* 背景颜色 */
  border-radius: var(--radius); /* 圆角 */
}

/* 权限项样式 */
.permission-item,
.device-item {
  padding: 0.5rem 0; /* 内边距 */
  color: var(--text-secondary); /* 文字颜色 */
  border-bottom: 1px dashed var(--border); /* 底部边框 */
  font-size: 0.875rem; /* 字体大小 */
}

/* 最后一个权限项样式 */
.permission-item:last-child,
.device-item:last-child {
  border-bottom: none; /* 无底部边框 */
}

/* 设备列表样式 */
.devices-section {
  margin: 1.25rem 0; /* 外边距 */
  padding-bottom: 1.25rem; /* 内边距 */
  border-bottom: 1px solid var(--border); /* 底部边框 */
}

/* 设备数量框样式 */
.device-count-box {
  display: inline-block; /* 行内块元素 */
  background: rgba(59, 130, 246, 0.1); /* 背景颜色 */
  border: 1px solid rgba(59, 130, 246, 0.2); /* 边框 */
  border-radius: var(--radius); /* 圆角 */
  padding: 0.25rem 0.75rem; /* 内边距 */
  color: var(--primary); /* 文字颜色 */
  font-size: 0.875rem; /* 字体大小 */
  font-weight: 500; /* 字体粗细 */
}

/* 设备ID样式 */
.device-id {
  font-family: monospace; /* 字体 */
  color: var(--text-secondary); /* 文字颜色 */
  background: rgba(226, 232, 240, 0.5); /* 背景颜色 */
  padding: 0.25rem 0.5rem; /* 内边距 */
  border-radius: var(--radius); /* 圆角 */
  font-size: 0.875rem; /* 字体大小 */
}

/* 结果项通用样式 */
.result-item p {
  margin: 0.75rem 0; /* 外边距 */
  line-height: 1.6; /* 行高 */
  display: flex; /* 弹性布局 */
  flex-wrap: wrap; /* 换行 */
  gap: 0.5rem; /* 间距 */
}

/* 结果项中的强调文字样式 */
.result-item strong {
  color: var(--text); /* 文字颜色 */
  min-width: 120px; /* 最小宽度 */
  font-weight: 500; /* 字体粗细 */
  font-size: 0.875rem; /* 字体大小 */
}

/* 错误信息样式 */
.error-message {
  padding: 1rem; /* 内边距 */
  background-color: rgba(239, 68, 68, 0.1); /* 背景颜色 */
  border-radius: var(--radius); /* 圆角 */
  border-left: 3px solid var(--error); /* 左侧边框 */
}

/* 错误信息标题样式 */
.error-message h3 {
  color: var(--error); /* 文字颜色 */
  margin-bottom: 0.5rem; /* 下边距 */
}

/* 页脚样式 */
footer {
  text-align: center; /* 文字居中 */
  margin-top: 2rem; /* 上边距 */
  color: var(--text-secondary); /* 文字颜色 */
  font-size: 0.875rem; /* 字体大小 */
}

/* 悬浮按钮样式 */
.floating-button {
  position: fixed; /* 固定定位 */
  bottom: 30px; /* 底部位置 */
  right: 30px; /* 右侧位置 */
  width: 60px; /* 宽度 */
  height: 60px; /* 高度 */
  background-color: var(--primary); /* 背景颜色 */
  color: white; /* 文字颜色 */
  border-radius: 50%; /* 圆形 */
  display: flex; /* 弹性布局 */
  align-items: center; /* 垂直居中 */
  justify-content: center; /* 水平居中 */
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.2); /* 阴影 */
  cursor: pointer; /* 鼠标指针 */
  z-index: 1000; /* 层级 */
  transition: all 0.3s ease; /* 过渡效果 */
  text-decoration: none; /* 无文本装饰 */
  font-size: 1.5rem; /* 字体大小 */
}

/* 悬浮按钮悬停样式 */
.floating-button:hover {
  background-color: rgb(4 4 4 / 32%); /* 黑色透明背景 */
  transform: translateY(-5px); /* 位移 */
  box-shadow: 0 6px 15px rgba(0, 0, 0, 0.25); /* 阴影 */
}

/* 悬浮按钮图标样式 */
.floating-button i {
  font-size: 1.5rem; /* 字体大小 */
}

/* 响应式设计 */
@media (max-width: 768px) {
  .container {
    margin: 1rem; /* 外边距 */
    padding: 1.5rem; /* 内边距 */
    border-radius: var(--radius); /* 圆角 */
    background-color: rgb(4 4 4 / 32%); /* 黑色透明背景 */
    box-shadow: 0 8px 16px rgba(0, 0, 0, 0.4); /* 阴影效果 */
  }

  h1 {
    font-size: 1.5rem; /* 字体大小 */
  }

  .description {
    font-size: 0.875rem; /* 字体大小 */
  }
}
/* 权限项样式 */
.permission-item {
    padding: 8px 12px;
    margin: 5px 0;
    background: rgba(30, 30, 46, 0.3);
    border-radius: 4px;
    font-size: 0.9em;
    transition: background 0.2s;
    color: var(--text-secondary);
}

.permission-item:hover {
    background: #e9ecef;
}

/* 查看全部按钮 */
.show-all-permissions {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 8px 16px;
    background: var(--primary);
    color: white;
    border: none;
    border-radius: 20px;
    cursor: pointer;
    transition: all 0.3s ease;
    box-shadow: 0 2px 8px rgba(99, 102, 241, 0.3); /* 发光阴影 */
}

.show-all-permissions:hover {
    opacity: 0.9;
}

/* 权限列表容器 */
.permissions-full {
    margin-top: 15px;
    border-top: 1px solid #dee2e6;
    padding-top: 15px;
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
    gap: 8px;
}
/* 添加在css文件中 */
.permission-item[data-translated] {
    position: relative;
    padding-left: 24px;
}

.permission-item[data-translated]::before {
    content: "";
    display: inline-block;
    width: 12px; /* 圆点宽度 */
    height: 12px; /* 圆点高度 */
    background-color: #23DB0F; /* 圆点颜色 */
    font-size: 50px; /* 调整大小，根据需要修改值 */
    border-radius: 50%; /* 使元素变为圆形 */
    position: absolute;
    left: 0; /* 圆点位于左侧 */
    top: 50%; /* 垂直居中 */
    transform: translateY(-50%); /* 微调垂直居中 */
}
/* 新增在style.css中 */
/* 双上传容器布局 */
.upload-area.combined {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 30px;
    margin: 20px 0;
}

.upload-box {
    border: 2px dashed var(--border-hover);
    padding: 30px;
    text-align: center;
    transition: all 0.3s ease;
    background-color: rgba(0, 0, 0, 0.6); /* 黑色透明背景 */
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1); /* 阴影效果 */
}

.upload-box:hover {
    border-color: #007bff;
}

.upload-box i {
    font-size: 2rem;
    color: #007bff;
    margin-bottom: 1rem;
}

.file-select-btn {
    background: var(--primary);
    color: white;
    border: none;
    padding: 8px 20px;
    border-radius: 20px;
    cursor: pointer;
    transition: all 0.3s ease;
    box-shadow: 0 2px 8px rgba(99, 102, 241, 0.3); /* 发光阴影 */
}

.file-select-btn:hover {
    opacity: 0.9;
}

.password-input {
    margin: 25px 0;
    max-width: 768px;
}

.password-input label {
    display: block;
    margin-bottom: 8px;
    font-weight: 500;
}

.password-input input {
    width: 100%;
    padding: 15px;
    border: 1px solid var(--border);
    border-radius: 4px;
    background-color: rgba(30, 30, 46, 0.4); /* 透明背景 */
    color: var(--text); /* 文字颜色 */
}

.check-btn {
    background: var(--primary);
    color: white;
    padding: 12px 35px;
    border: none;
    border-radius: 30px;
    font-size: 1.1rem;
    cursor: pointer;
    transition: all 0.3s ease;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.5); /* 发光阴影 */
}

.check-btn:hover {
    transform: translateY(-2px);
}