.hash-tool{display:flex;flex-direction:column;gap:1rem}.hash-editor-card{border:1px solid #e2e8f0;border-radius:16px;box-shadow:0 1px 3px #0000000a;overflow:hidden}.hash-editor-header{display:flex;justify-content:space-between;align-items:center;font-family:var(--font-sans);font-size:14px;font-weight:600;color:#94a3b8;padding:10px 16px;letter-spacing:.5px}.hash-counter{font-family:var(--font-mono);font-size:11px;color:#94a3b8;font-weight:400}.hash-file-badge{font-family:var(--font-sans);font-size:12px;font-weight:500;padding:4px 12px;margin:0 16px 4px;border-radius:20px;background:#3b82f61a;color:#2563eb;display:inline-block;max-width:calc(100% - 32px);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hash-editor-body{display:flex;position:relative}.hash-textarea{flex:1;min-height:120px;padding:1rem;font-family:var(--font-mono);font-size:14px;line-height:1.5;border:none;outline:none;resize:vertical;background:#fff;color:#0f172a;box-sizing:border-box;width:100%}.hash-textarea::placeholder{color:#94a3b8}.hash-algo-filter{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.hash-algo-filter-label{font-family:var(--font-sans);font-size:13px;font-weight:600;color:#64748b}.hash-algo-checks{display:flex;gap:.5rem;flex-wrap:wrap}.hash-algo-check{display:flex;align-items:center;gap:6px;cursor:pointer;user-select:none;font-family:var(--font-mono);font-size:12px;font-weight:500;color:#334155;padding:4px 10px;border:1px solid #e2e8f0;border-radius:8px;transition:all .15s ease}.hash-algo-check:has(input:checked){border-color:#e07203;background:#fdf3e7;color:#e07203}.hash-algo-check input[type=checkbox]{width:14px;height:14px;accent-color:#e07203;cursor:pointer}.hash-verify-section{display:flex;flex-direction:column;gap:.5rem}.hash-verify-label{font-family:var(--font-sans);font-size:13px;font-weight:600;color:#64748b}.hash-verify-input{font-family:var(--font-mono);font-size:13px;padding:8px 12px;border:1px solid #e2e8f0;border-radius:8px;background:#fff;color:#0f172a;outline:none;transition:border-color .15s ease}.hash-verify-input:focus{border-color:#e07203}.hash-verify-input::placeholder{color:#94a3b8}.hash-verify-result{font-family:var(--font-mono);font-size:12px;font-weight:700;padding:6px 12px;border-radius:8px;letter-spacing:.3px}.hash-verify-result.match{background:#dcfce7;color:#166534}.hash-verify-result.no-match{background:#fef2f2;color:#991b1b}.hash-actions{display:flex;gap:.5rem;flex-wrap:wrap}.hash-file-label{cursor:pointer}.hash-validation{font-family:var(--font-sans);font-size:.8rem;font-weight:700;padding:.75rem 1rem;border:1px solid #e2e8f0;border-radius:8px;letter-spacing:.5px}.hash-validation.valid{background:#dcfce7;color:#166534}.hash-validation.invalid{background:#fef2f2;color:#991b1b}.hash-stats{font-family:var(--font-mono);font-size:12px;font-weight:500;padding:8px 14px;border-radius:8px;background:#10b98114;color:#059669;letter-spacing:.3px}.hash-list{padding:1rem}.hash-row{display:flex;align-items:center;gap:.75rem;border-bottom:1px solid #f1f5f9;flex-wrap:wrap;border-left:3px solid transparent;padding:.625rem 0 .625rem .5rem;transition:all .2s ease}.hash-row:last-child{border-bottom:none}.hash-row.hash-match{border-left-color:#16a34a;background:#16a34a0f}.hash-algo{font-family:var(--font-sans);font-size:.7rem;font-weight:700;min-width:64px;color:#e07203;letter-spacing:.3px}.hash-value{font-family:var(--font-mono);font-size:.7rem;word-break:break-all;flex:1;color:#334155;line-height:1.4}.hash-copy-btn{font-size:.65rem!important;padding:.2rem .5rem!important;flex-shrink:0}.hash-output-actions{padding:.75rem 1rem;display:flex;gap:.5rem;border-top:1px solid #e2e8f0}html[data-theme=dark] .hash-editor-card{border-color:#3f3f46;box-shadow:0 1px 3px #0003}html[data-theme=dark] .hash-editor-header,html[data-theme=dark] .hash-counter{color:#71717a}html[data-theme=dark] .hash-file-badge{background:#3b82f626;color:#60a5fa}html[data-theme=dark] .hash-textarea{background:#1a1a1a;color:#d4d4d8}html[data-theme=dark] .hash-textarea::placeholder{color:#52525b}html[data-theme=dark] .hash-algo-filter-label{color:#a1a1aa}html[data-theme=dark] .hash-algo-check{border-color:#3f3f46;color:#d4d4d8}html[data-theme=dark] .hash-algo-check:has(input:checked){border-color:#e07203;background:#e0720326;color:#fb923c}html[data-theme=dark] .hash-verify-label{color:#a1a1aa}html[data-theme=dark] .hash-verify-input{background:#1a1a1a;border-color:#3f3f46;color:#d4d4d8}html[data-theme=dark] .hash-verify-input:focus{border-color:#e07203}html[data-theme=dark] .hash-verify-input::placeholder{color:#52525b}html[data-theme=dark] .hash-verify-result.match{background:#052e16;color:#86efac}html[data-theme=dark] .hash-verify-result.no-match{background:#450a0a;color:#fca5a5}html[data-theme=dark] .hash-validation{border-color:#3f3f46}html[data-theme=dark] .hash-validation.valid{background:#052e16;color:#86efac}html[data-theme=dark] .hash-validation.invalid{background:#450a0a;color:#fca5a5}html[data-theme=dark] .hash-stats{background:#10b9811f;color:#34d399}html[data-theme=dark] .hash-list{background:#1a1a1a}html[data-theme=dark] .hash-row{border-bottom-color:#27272a}html[data-theme=dark] .hash-row.hash-match{background:#16a34a1a}html[data-theme=dark] .hash-algo{color:#fb923c}html[data-theme=dark] .hash-value{color:#d4d4d8}html[data-theme=dark] .hash-output-actions{border-top-color:#3f3f46}@media(max-width:640px){.hash-actions{gap:.375rem}.hash-actions .tool-btn{font-size:12px;padding:6px 10px}.hash-textarea{min-height:100px;font-size:13px}.hash-row{gap:.5rem}.hash-output-actions{flex-wrap:wrap}.hash-output-actions .tool-btn{flex:1 1 auto;min-height:44px}.hash-algo{min-width:52px;font-size:.65rem}.hash-value{font-size:.6rem}.hash-algo-checks{gap:.375rem}.hash-algo-check{font-size:11px;padding:3px 8px}}
