/* 文件哈希计算器 */
.fh-opts{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem 1rem}
.fh-opts-label{font-size:.8125rem;color:#8a94a3}
.fh-opt{display:inline-flex;align-items:center;gap:.35rem;margin:0;font-size:.875rem;color:#3f4a5a}
.fh-list{display:flex;flex-direction:column;gap:.75rem}
.fh-card{border:1px solid #eef1f5;border-radius:.625rem;background:#fff;overflow:hidden}
.fh-card-head{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;padding:.5rem .75rem;background:#f7f9fb}
.fh-name{font-size:.875rem;color:#334155;word-break:break-all}
.fh-size{font-size:.75rem;color:#8a94a3}
.fh-state{margin-left:auto;font-size:.75rem;color:#8a94a3}
.fh-state.is-done{color:#166534}
.fh-state.is-err{color:#dc2626}
.fh-badge{display:inline-flex;align-items:center;gap:.2rem;padding:.05rem .35rem;border-radius:.25rem;font-size:.75rem}
.fh-badge-ok{background:#e7f7ee;color:#166534}
.fh-badge-no{background:#fdecec;color:#c92a2a}
.fh-rows{padding:.25rem 0}
.fh-row{display:flex;align-items:center;gap:.5rem;padding:.4rem .75rem}
.fh-row .btn{flex:none;white-space:nowrap}
.fh-row + .fh-row{border-top:1px dashed #f1f4f8}
.fh-alg{flex:none;width:5rem;font-size:.75rem;color:#8a94a3}
.fh-hex{flex:1 1 auto;min-width:0;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  font-size:.8125rem;color:#2b3441;word-break:break-all}
.fh-hex.is-empty{color:#b6bfca}
.fh-progress{padding:0 .75rem .6rem}
.fh-bar{height:.25rem;background:#eef1f5;border-radius:.125rem;overflow:hidden}
.fh-bar > i{display:block;height:100%;width:0;background:#1c7ed6;transition:width .15s linear}

@media (max-width:575.98px){
  .fh-alg{width:4rem}
  .fh-hex{font-size:.75rem}
}
