/* ===== 哈希工具专用样式 ===== */
.tools-screen{
  min-height:calc(100vh / var(--z,1));min-height:calc(100dvh / var(--z,1));
  display:flex;flex-direction:column;align-items:center;
  justify-content:flex-start; /* 内容超高时可正常滚动（center 会导致顶部溢出不可达） */
  padding:80px 24px 60px;box-sizing:border-box;
}
.tools-card{margin:auto 0} /* 内容少时垂直居中；内容多时自然顶部排列 */
.hash-list{margin-top:20px;display:flex;flex-direction:column;gap:12px;width:100%;max-width:680px}
/* 电脑端：左侧校验卡片 + 右侧文件列表 */
@media (min-width: 900px){
  .tools-screen{
    flex-direction:row;align-items:flex-start;justify-content:center;
    gap:28px;padding:96px 32px 60px;
  }
  .tools-card{
    width:440px;max-width:440px;flex-shrink:0;
    margin:0; /* row 布局不居中 */
  }
  .hash-list{flex:1;max-width:none;margin-top:0}
}
.tools-card{
  width:100%;max-width:680px;
  background:var(--card,#fff);border:1px solid var(--line,#e5e7eb);
  border-radius:20px;padding:28px;
  box-shadow:0 8px 30px rgba(0,0,0,.06);
  position:relative; /* 光晕容器 */
}
.tools-card::before{
  content:'';position:absolute;
  top:-1px;right:-1px;bottom:-1px;left:-1px; /* 负 inset 覆盖到边框 */
  border-radius:inherit; /* 贴合父级圆角 */
  pointer-events:none;z-index:0;
  background:radial-gradient(
    circle at var(--mx,50%) var(--my,50%),
    rgba(255,255,255,0.14) 0%,
    rgba(255,255,255,0.05) 40%,
    transparent 65%
  );
  opacity:0;
  transition:opacity .35s;
}
.tools-card:hover::before{opacity:1}
.tools-card > *{position:relative;z-index:1}
.dark .tools-card{background:#101014;border-color:#26262e}
.tools-title{
  font-size:22px;font-weight:700;color:var(--text,#1e293b);
  letter-spacing:1px;margin:0 0 6px;
}
.tools-desc{font-size:13px;color:var(--muted,#64748b);margin:0 0 20px;line-height:1.6}
.drop-zone{
  border:2px dashed var(--poem-c1,#60a5fa);border-radius:14px;
  padding:36px 20px;text-align:center;cursor:pointer;
  transition:background .2s,border-color .2s;
  background:var(--poem-c2,rgba(96,165,250,.06));
  position:relative; /* 光晕容器（不用 overflow:hidden，光晕用负 inset 盖到边框） */
}
.drop-zone::before{
  content:'';position:absolute;
  top:-2px;right:-2px;bottom:-2px;left:-2px; /* 负 inset 覆盖到虚线边框 */
  border-radius:inherit; /* 贴合父级圆角 */
  pointer-events:none;z-index:0;
  background:radial-gradient(
    circle at var(--mx,50%) var(--my,50%),
    rgba(255,255,255,0.14) 0%,
    rgba(255,255,255,0.05) 40%,
    transparent 65%
  );
  opacity:0;
  transition:opacity .35s;
}
.drop-zone:hover::before{opacity:1}
.drop-zone > *{position:relative;z-index:1}
.drop-zone:hover,.drop-zone.drag{background:var(--poem-c2,rgba(96,165,250,.12));border-color:var(--poem-c1)}
.drop-zone .dz-icon{font-size:34px;line-height:1;margin-bottom:10px}
.drop-zone .dz-main{font-size:15px;color:var(--text);font-weight:600}
.drop-zone .dz-sub{font-size:12px;color:var(--muted);margin-top:6px}
#fileInput{display:none}
.hash-item{
  border:1px solid var(--line,#e5e7eb);border-radius:12px;padding:14px 16px;
  background:var(--card,#fff);
  position:relative; /* 光晕容器 */
}
.hash-item::before{
  content:'';position:absolute;
  top:-1px;right:-1px;bottom:-1px;left:-1px; /* 负 inset 覆盖到边框 */
  border-radius:inherit; /* 贴合父级圆角 */
  pointer-events:none;z-index:0;
  background:radial-gradient(
    circle at var(--mx,50%) var(--my,50%),
    rgba(255,255,255,0.14) 0%,
    rgba(255,255,255,0.05) 40%,
    transparent 65%
  );
  opacity:0;
  transition:opacity .35s;
}
.hash-item:hover::before{opacity:1}
.hash-item > *{position:relative;z-index:1}
.dark .hash-item{background:#101014;border-color:#26262e}
.hash-item .hi-name{font-size:14px;font-weight:600;color:var(--text);word-break:break-all}
.hash-item .hi-size{font-size:11px;color:var(--muted);margin-top:2px}
.hash-item .hi-rows{margin-top:10px;display:flex;flex-direction:column;gap:6px}
.hash-item .hi-row{
  display:flex;align-items:flex-start;gap:8px;font-size:12px;
  font-family:"SF Mono","Consolas","Menlo",monospace;
}
.hash-item .hi-algo{
  flex-shrink:0;width:74px;font-weight:700;color:var(--poem-c1);
  font-family:"SF Pro","PingFang SC",sans-serif;
}
.hash-item .hi-val{
  flex:1;word-break:break-all;color:var(--text);
  user-select:all;line-height:1.5;
}
.hash-item .hi-copy{
  flex-shrink:0;font-size:11px;border-radius:6px;
  border:1px solid var(--poem-c1);color:var(--poem-c1);background:transparent;
  cursor:pointer;transition:all .2s;
  min-width:64px;height:22px;padding:0 10px;
  display:inline-flex;align-items:center;justify-content:center;
  white-space:nowrap;box-sizing:border-box;
}
.hash-item .hi-copy:hover{background:var(--poem-c1);color:var(--bg)}
.hash-item .hi-copy.done{border-color:#22c55e;color:#22c55e;background:rgba(34,197,94,.08)}
.hash-item .hi-status{font-size:12px;color:var(--muted);margin-top:8px;min-height:18px;line-height:18px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.hash-item .hi-status.err{color:#ef4444}
/* 进度条 */
.hash-item .hi-progress{height:4px;border-radius:2px;background:var(--line,#e5e7eb);margin-top:10px;overflow:hidden}
.dark .hash-item .hi-progress{background:#26262e}
.hash-item .hi-progress-bar{height:100%;width:0;border-radius:2px;background:var(--poem-c1,#60a5fa);transition:width .2s ease;opacity:1}
.hash-item[data-status="done"] .hi-progress-bar{background:#22c55e}
.hash-item[data-status="err"] .hi-progress-bar{background:#ef4444}
/* 页面顶部说明小字 */

.hash-tips{
  margin-top:16px;font-size:12px;color:var(--muted);line-height:1.9;
  background:var(--poem-c2,rgba(96,165,250,.06));
  border:1px solid var(--line,#e5e7eb);border-radius:10px;padding:10px 14px;
}
.hash-tips p{margin:0}
.hash-tips [data-lang]{display:none}
.hash-tips [data-lang].show{display:inline}
/* 中英切换：只显示当前语言（与全站一致） */
.tools-card [data-lang]{display:none}
.tools-card [data-lang].show{display:inline}
.tools-card .dz-main[data-lang].show,.tools-card .dz-sub[data-lang].show{display:block}
.tools-card .dz-main[data-lang].show{font-weight:600}
