diff --git a/.github/workflows/static.yml b/.github/workflows/static.yml
index 2f78a2d..01a62e1 100644
--- a/.github/workflows/static.yml
+++ b/.github/workflows/static.yml
@@ -1,46 +1,47 @@
-# Simple workflow for deploying static content to GitHub Pages
-name: Deploy static content to Pages
-
-on:
-  # Runs on pushes targeting the default branch
-  push:
-    branches: ["main"]
-
-  # Allows you to run this workflow manually from the Actions tab
-  workflow_dispatch:
-
-# Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages
-permissions:
-  contents: read
-  pages: write
-  id-token: write
-
-# Allow only one concurrent deployment, skipping runs queued between the run in-progress and latest queued.
-# However, do NOT cancel in-progress runs as we want to allow these production deployments to complete.
-concurrency:
-  group: "pages"
-  cancel-in-progress: false
-
-jobs:
-  # Single deploy job since we're just deploying
-  deploy:
-    environment:
-      name: github-pages
-      url: ${{ steps.deployment.outputs.page_url }}
-    runs-on: ubuntu-latest
-    steps:
-      - name: Checkout
-        uses: actions/checkout@v4
-      - name: Setup Pages
-        uses: actions/configure-pages@v5
-      - name: Build index-final.html
-        run: |
-          python build.py
-      - name: Upload artifact
-        uses: actions/upload-pages-artifact@v3
-        with:
-          # Upload entire repository
-          path: '.'
-      - name: Deploy to GitHub Pages
-        id: deployment
-        uses: actions/deploy-pages@v4
+# Simple workflow for deploying static content to GitHub Pages
+name: Deploy static content to Pages
+
+on:
+  # Runs on pushes targeting the default branch
+  push:
+    branches: ["main"]
+
+  # Allows you to run this workflow manually from the Actions tab
+  workflow_dispatch:
+
+# Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages
+permissions:
+  contents: read
+  pages: write
+  id-token: write
+
+# Allow only one concurrent deployment, skipping runs queued between the run in-progress and latest queued.
+# However, do NOT cancel in-progress runs as we want to allow these production deployments to complete.
+concurrency:
+  group: "pages"
+  cancel-in-progress: false
+
+jobs:
+  # Single deploy job since we're just deploying
+  deploy:
+    environment:
+      name: github-pages
+      url: ${{ steps.deployment.outputs.page_url }}
+    runs-on: ubuntu-latest
+    steps:
+      - name: Checkout
+        uses: actions/checkout@v4
+      - name: Build index.html
+        run: |
+          python build.py
+          mkdir output
+          cp index.html output/
+      - name: Setup Pages
+        uses: actions/configure-pages@v5
+      - name: Upload artifact
+        uses: actions/upload-pages-artifact@v3
+        with:
+          path: 'output/'
+      - name: Deploy to GitHub Pages
+        id: deployment
+        uses: actions/deploy-pages@v4
diff --git a/.gitignore b/.gitignore
index 8176212..4cc7203 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,2 +1,6 @@
-todo.md
-.vs/
\ No newline at end of file
+.vs/
+.vscode/
+*~*
+*.code-workspace
+
+ignore-*
\ No newline at end of file
diff --git a/README.md b/README.md
index 257d42d..204e281 100644
--- a/README.md
+++ b/README.md
@@ -1,6 +1,60 @@
-# SQLMap Command Builder
-
-## Project website: https://vizzdoom.github.io/sqlmap-command-builder/
-
-Interactive command line generator for conducting advanced SQLMap pentests.
-This project works locally with pure HTML/JS/CSS (no data exchanged to any server).
\ No newline at end of file
+### LIVE VERSION: <https://vizzdoom.github.io/sqlmap-command-builder/>
+
+![Example](docs/example.png)
+
+---
+
+<p align="center">
+  <picture>
+    <source media="(prefers-color-scheme: dark)" srcset="./docs/logo-dark.png">
+    <img height=225 alt="SQLMAP COMMAND BUILDER" src="./docs/logo-light.png">
+  </picture>
+</p>
+
+***SQLMAP COMMAND BUILDER*** helps you craft advanced SQLMap commands without memorizing dozens of switches.
+
+Transform your SQLMap workflow into a **point-and-click experience** through a clean, modern web interface that simplifies complex penetration testing.
+
+Whether you're an experienced penetration tester, security enthusiast, or just starting out with SQL injection vulnerabilities, this tool helps you generate sophisticated SQLMap commands without diving into documentation.
+
+- **REAL-TIME COMMAND GENERATION** → Master SQLMap's switches and fine-tune your SQL Injection scans.
+
+- **WEB USER INTERFACE** → Designed with organized categories, accessible directly through any modern browser you can select particular sqlmap options.
+
+- **NO INSTALLATION NEEDED** → Built with vanilla HTML/JS/CSS, accessible by [a single HTML file](https://vizzdoom.github.io/sqlmap-command-builder/).
+
+- **FULLY CLIENT-SIDE ARCHITECTURE** → No server-side processing, no dependencies, no trackers. Because you want to keep your data secure.
+
+- **COMPATIBLE WITH A NEWEST SQLMAP VERSION** → Implementing all SqlMap switches, including the newest, and even undocumented parameters.
+
+## 🌐 HOW TO USE
+Every commit deploys freshly compiled *index.html* file into the Github Pages:
+
+***https://vizzdoom.github.io/sqlmap-command-builder/***
+
+Feel free to save this URL in your browser bookmarks.
+
+## ⚒️ HOW TO BUILD
+
+The following Python script compilies JS and CSS into a single, easily-distributable `index.html` file. 
+
+
+```bash
+python3 build.py
+```
+
+The resulting `index.html` file can be opened directly in your browser or served from a web server. 
+
+## 🛡️ USE RESPONSIBLY
+
+_This software is exclusively designed for educational purposes._
+
+_The developer is not liable for any damages or misuse that may result from using this tool._
+
+_You have to accept this term to use or distribute this software._
+
+## 🗯️ GET INVOLVED
+
+Found a bug? Have a feature idea? 
+
+[→ Submit an issue](https://github.com/vizzdoom/sqlmap-command-builder/issues/new)
\ No newline at end of file
diff --git a/app.js b/app.js
index c6d6f1d..1131f04 100644
--- a/app.js
+++ b/app.js
@@ -1,925 +1,910 @@
-class SQLMapGenerator {
-    constructor() {
-        this.config = {};
-        this.tamperScriptList = [
-            "0eunion",
-            "apostrophemask",
-            "apostrophenullencode",
-            "appendnullbyte",
-            "base64encode",
-            "between",
-            "binary",
-            "bluecoat",
-            "chardoubleencode",
-            "charencode",
-            "charunicodeencode",
-            "charunicodeescape",
-            "commalesslimit",
-            "commalessmid",
-            "commentbeforeparentheses",
-            "concat2concatws",
-            "decentities",
-            "dunion",
-            "equaltolike",
-            "equaltorlike",
-            "escapequotes",
-            "greatest",
-            "halfversionedmorekeywords",
-            "hex2char",
-            "hexentities",
-            "htmlencode",
-            "if2case",
-            "ifnull2casewhenisnull",
-            "ifnull2ifisnull",
-            "informationschemacomment",
-            "least",
-            "lowercase",
-            "luanginx",
-            "luanginxmore",
-            "misunion",
-            "modsecurityversioned",
-            "modsecurityzeroversioned",
-            "multiplespaces",
-            "ord2ascii",
-            "overlongutf8",
-            "overlongutf8more",
-            "percentage",
-            "plus2concat",
-            "plus2fnconcat",
-            "randomcase",
-            "randomcomments",
-            "schemasplit",
-            "scientific",
-            "sleep2getlock",
-            "sp_password",
-            "space2comment",
-            "space2dash",
-            "space2hash",
-            "space2morecomment",
-            "space2morehash",
-            "space2mssqlblank",
-            "space2mssqlhash",
-            "space2mysqlblank",
-            "space2mysqldash",
-            "space2plus",
-            "space2randomblank",
-            "substring2leftright",
-            "symboliclogical",
-            "unionalltounion",
-            "unmagicquotes",
-            "uppercase",
-            "varnish",
-            "versionedkeywords",
-            "versionedmorekeywords",
-            "xforwardedfor"
-        ];
-
-        this.templates = {
-            basic_get: {
-                name: "tbd",
-                description: "tbd",
-                options: {url: "", batch: true, dbs: true}
-            },
-            post_form: {
-                name: "tbd", 
-                description: "tbd",
-                options: {url: "", data: "", batch: true}
-            },
-            burp_request: {
-                name: "Burp Request",
-                description: "tbd",
-                options: {requestFile: "", batch: true}
-            },
-            advanced: {
-                name: "tbd",
-                description: "tbd",
-                options: {url: "", level: 3, risk: 2, randomAgent: true, batch: true}
-            }
-        };
-        
-        this.init();
-    }
-
-    init() {
-        this.setupEventListeners();
-        this.setupTabs();
-        this.setupSliders();
-        this.handleHashtag();
-        this.updateCommand();
-    }
-
-    setupEventListeners() {
-        // Copy button
-        document.getElementById('copyBtn').addEventListener('click', () => this.copyCommand());
-        document.getElementById('copyUrlBtn').addEventListener('click', () => this.copyUrl());
-        
-        // Template buttons
-        document.querySelectorAll('.template-btn').forEach(btn => {
-            btn.addEventListener('click', (e) => this.loadTemplate(e.target.dataset.template));
-        });
-        
-        // Configuration buttons
-        document.getElementById('saveConfig').addEventListener('click', () => this.saveConfiguration());
-        document.getElementById('loadConfig').addEventListener('click', () => this.loadConfiguration());
-        document.getElementById('resetConfig').addEventListener('click', () => this.resetConfiguration());
-        
-        // All form inputs
-        document.querySelectorAll('input, select, textarea').forEach(input => {
-            input.addEventListener('input', () => this.updateCommand());
-            input.addEventListener('change', () => this.updateCommand());
-        });
-
-        // HTTP method custom field toggle
-        document.getElementById('method').addEventListener('change', (e) => {
-            const customHttpGroup = document.getElementById('customHttpMethodGroup');
-            if (e.target.value === 'custom') {
-                customHttpGroup.style.display = 'block';
-            } else {
-                customHttpGroup.style.display = 'none';
-            }
-        });
-        
-        // User-Agent custom field toggle
-        document.getElementById('userAgent').addEventListener('change', (e) => {
-            const customUserAgentGroup = document.getElementById('customUserAgentGroup');
-            if (e.target.value === 'custom') {
-                customUserAgentGroup.style.display = 'block';
-            } else {
-                customUserAgentGroup.style.display = 'none';
-            }
-        });
-
-        // CSRF method custom field toggle
-        document.getElementById('csrfMethod').addEventListener('change', (e) => {
-            const customCsrfMethodGroup = document.getElementById('customCsrfMethodGroup');
-            if (e.target.value === 'custom') {
-                customCsrfMethodGroup.style.display = 'block';
-            } else {
-                customCsrfMethodGroup.style.display = 'none';
-            }
-        });
-    }
-
-    setupTabs() {
-        document.querySelectorAll('.tab-btn').forEach(btn => {
-            btn.addEventListener('click', (e) => {
-                // Remove active class from all tabs and content
-                document.querySelectorAll('.tab-btn').forEach(b => b.classList.remove('active'));
-                document.querySelectorAll('.tab-content').forEach(c => c.classList.remove('active'));
-                
-                // Add active class to clicked tab and corresponding content
-                e.target.classList.add('active');
-                document.getElementById(e.target.dataset.tab).classList.add('active');
-            });
-        });
-    }
-
-    setupSliders() {
-        // Level slider
-        const levelSlider = document.getElementById('level');
-        const levelValue = document.getElementById('levelValue');
-        levelSlider.addEventListener('input', (e) => {
-            levelValue.textContent = e.target.value;
-            let levelHelp = "";
-            switch (levelSlider.value) {
-                case "1": levelHelp = "1: Fastest and least intrusive testing of GET and POST parameters (default)."; break;
-                case "2": levelHelp = "2: Additionally test injections in the Cookie header."; break;
-                case "3": levelHelp = "3: Additionally test injections in User-Agent and Referer headers ."; break;
-                case "4": levelHelp = "4: Additionally perform more advanced tests, such as null values and some extra payloads."; break;
-                case "5": levelHelp = "5: Additionally test Host header, using all possible payloads."; break;
-            }
-            document.getElementById('level-help').textContent = levelHelp;
-        });
-
-        // Risk slider
-        const riskSlider = document.getElementById('risk');
-        const riskValue = document.getElementById('riskValue');
-        riskSlider.addEventListener('input', (e) => {
-            riskValue.textContent = e.target.value;
-            let riskHelp = "";
-            switch (riskSlider.value) {
-                case "1": riskHelp = "1: Innocuous test for the majority of SQL injection points (default)."; break;
-                case "2": riskHelp = "2: Adds also time-based SQL injections."; break;
-                case "3": riskHelp = "3: Adds also OR-based SQL injection tests."; break;
-            }
-            document.getElementById('risk-help').textContent = riskHelp;
-        });
-
-        // Verbose slider
-        const verboseSlider = document.getElementById('verbose');
-        const verboseValue = document.getElementById('verboseValue');
-        verboseSlider.addEventListener('input', (e) => {
-            verboseValue.textContent = e.target.value;
-            let verboseHelp = "";
-            switch (verboseSlider.value) {
-                case "0": verboseHelp = "0: Show only Python tracebacks, error and critical messages."; break;
-                case "1": verboseHelp = "1: Show also information and warning messages (default)."; break;
-                case "2": verboseHelp = "2: Show also debug messages."; break;
-                case "3": verboseHelp = "3: Show also payloads injected."; break;
-                case "4": verboseHelp = "4: Show also HTTP requests."; break;
-                case "5": verboseHelp = "5: Show also HTTP responses' headers."; break;
-                case "6": verboseHelp = "6: Show also HTTP responses' page content."; break;
-            }
-            document.getElementById('verbose-help').textContent = verboseHelp;
-        });
-    }
-
-    getCurrentConfig() {
-        const config = {};
-        
-        // Target options
-        const url = document.getElementById('url').value.trim();
-        if (url) config['-u'] = url;
-
-        const directDb = document.getElementById('directDb').value.trim();
-        if (directDb) config['-d'] = directDb;
-        
-        const requestFile = document.getElementById('requestFile').value.trim();
-        if (requestFile) config['-r'] = requestFile;
-        
-        const targetsFile = document.getElementById('targetsFile').value.trim();
-        if (targetsFile) config['-m'] = targetsFile;
-
-        const burpFile = document.getElementById('burpFile').value.trim();
-        if (burpFile) config['-l'] = burpFile;
-
-        const burpFileScope = document.getElementById('burpFileScope').value.trim();
-        if (burpFileScope) config['--scope'] = burpFileScope;
-        if (burpFileScope && !burpFile) document.getElementById('burpFile').value = "burp.txt";
-        
-        const googleDork = document.getElementById('googleDork').value.trim();
-        if (googleDork) config['-g'] = googleDork;
-
-        // Connection options
-        const timeout = document.getElementById('timeout').value;
-        if (timeout && timeout != 30) config['--timeout'] = timeout;
-
-        const delay = document.getElementById('delay').value;
-        if (delay && delay > 0) config['--delay'] = delay;
-
-        const threads = document.getElementById('threads').value;
-        if (threads && threads > 1) config['--threads'] = threads;
-
-        const forceSsl = document.getElementById('forceSsl').checked;
-        if (forceSsl) config['--force-ssl'] = forceSsl;
-
-        const keepAlive = document.getElementById('keepAlive').checked;
-        if (keepAlive) config['--keep-alive'] = keepAlive;
-
-        const nullConnection = document.getElementById('nullConnection').checked;
-        if (nullConnection) config['--null-connection'] = nullConnection;
-
-        const http2 = document.getElementById('http2').checked;
-        if (http2) config['--http2'] = http2;
-
-        const proxy = document.getElementById('proxy').value.trim();
-        if (proxy) config['--proxy'] = proxy;
-
-        const proxyCred = document.getElementById('proxyCred').value.trim();
-        if (proxyCred) config['--proxy-cred'] = proxyCred;
-        
-        const proxyFile = document.getElementById('proxyFile').value.trim();
-        if (proxyFile) config['--proxy-file'] = proxyFile;
-        
-        const proxyFreq = document.getElementById('proxyFreq').value.trim();
-        if (proxyFreq && proxyFreq >= 1) config['--proxy-freq'] = proxyFreq;
-        
-        const proxyIgnore = document.getElementById('proxyIgnore').checked
-        if (proxyIgnore) config['--ignore-proxy'] = proxyIgnore;
-
-        const tor = document.getElementById('tor').checked;
-        if (tor) config['--tor'] = tor;        
-
-        const checTor = document.getElementById('checkTor').checked;
-        if (checTor) config['--check-tor'] = checTor;  
-
-        const torPort = document.getElementById('torPort').value.trim();
-        if (torPort) config['--tor-port'] = torPort;        
-
-        const torType = document.getElementById('torType').value.trim();;
-        if (torType && torType !== "SOCKS5") config['--tor-type'] = torType;        
-
-        // Request options
-        const method = document.getElementById('method').value;
-        if (method && method !== 'custom') {
-            config['--method'] = method;
-        } else if (method === 'custom') {
-            const customHttpMethod = document.getElementById('customHttpMethod').value.trim();
-            if (customHttpMethod) config['--method'] = customHttpMethod;
-        }
-        
-        const data = document.getElementById('data').value.trim().replaceAll("\n", "\\\n");
-        if (data) config['--data'] = data;
-
-        const paramDel = document.getElementById('paramDel').value.trim();
-        if (paramDel && paramDel !== "&") config['--param-del'] = paramDel;
-  
-        const host = document.getElementById('host').value.trim();
-        if (host) config['--host'] = host;
-        
-        const userAgent = document.getElementById('userAgent').value;
-        if (userAgent && userAgent === 'random') {
-            config['--random-agent'] = true;
-        }
-        else if (userAgent && userAgent === 'mobile') {
-            config['--mobile'] = true;
-        }
-        else if (userAgent && userAgent === 'custom') {
-            const customUserAgent = document.getElementById('customUserAgent').value;
-            if (customUserAgent) config['-A'] = customUserAgent;
-        }
-        else if (userAgent) {
-            config['-A'] = userAgent;
-        }
-
-        const referer = document.getElementById('referer').value.trim();
-        if (referer) config['--referer'] = referer;
-
-        const headers = document.getElementById('headers').value.trim().replaceAll("\n", "\\\n");
-        if (headers) config['-H'] = headers;
-        
-        const cookie = document.getElementById('cookie').value.trim();
-        if (cookie) config['--cookie'] = cookie;
-        
-        const cookieDel = document.getElementById('cookieDel').value.trim();
-        if (cookieDel) config['--cookie-del'] = cookieDel;
-        
-        const cookieLive = document.getElementById('cookieLive').value.trim();
-        if (cookieLive) config['--live-cookies'] = cookieLive;
-        
-        const cookieLoad = document.getElementById('cookieLoad').value.trim();
-        if (cookieLoad) config['--load-cookies'] = cookieLoad;
-
-        const cookieDrop = document.getElementById('cookieDrop').checked;
-        if (cookieDrop) config['--drop-set-cookie'] = cookieDrop;
-        
-        const authType = document.getElementById('authType').value;
-        const authCred = document.getElementById('authCred').value.trim();
-        if (authType && authCred) {
-            config['--auth-type'] = authType;
-            config['--auth-cred'] = authCred;
-        }
-        
-        const authFile = document.getElementById('authFile').value.trim();
-        if (authFile) config['--auth-file'] = authFile;
-        
-        const csrfToken = document.getElementById('csrfToken').value.trim();
-        if (csrfToken) config['--csrf-token'] = csrfToken;
-
-        const csrfMethod = document.getElementById('csrfMethod').value;
-        if (csrfMethod && csrfMethod !== 'custom') {
-            config['--csrf-method'] = csrfMethod;
-        } else if (csrfMethod === 'custom') {
-            const customCsrfMethod = document.getElementById('customCsrfMethod').value;
-            if (customCsrfMethod) config['--csrf-method'] = customCsrfMethod;
-        }
-        
-        const csrfUrl = document.getElementById('csrfUrl').value.trim();
-        if (csrfUrl) config['--csrf-url'] = csrfUrl;
-
-        const csrfRetries = document.getElementById('csrfRetries').value.trim();
-        if (csrfRetries && csrfRetries > 0) config['--csrf-retries'] = csrfRetries;
-        
-        // Injection options
-        const paramTest = document.getElementById('paramTest').value.trim();
-        if (paramTest) config['-p'] = paramTest;
-        
-        const paramSkip = document.getElementById('paramSkip').value.trim(); 
-        if (paramSkip) config['--skip'] = paramSkip;
-        
-        const paramExclude = document.getElementById('paramExclude').value.trim();
-        if (paramExclude) config['--param-exclude'] = paramExclude;
-        
-        const paramFilter = document.getElementById('paramFilter').value.trim();
-        if (paramFilter) config['--param-filter'] = paramFilter;
-        
-        const level = document.getElementById('level').value;
-        if (level > 1) config['--level'] = level;
-        
-        const risk = document.getElementById('risk').value;
-        if (risk > 1) config['--risk'] = risk;
-        
-        const dbms = document.getElementById('dbms').value;
-        if (dbms) config['--dbms'] = dbms;
-        
-        const os = document.getElementById('os').value;
-        if (os) config['--os'] = os;
-
-        const prefix = document.getElementById('prefix').value.trim();
-        if (prefix) config['--prefix'] = prefix;
-
-        const suffix = document.getElementById('suffix').value.trim();
-        if (suffix) config['--suffix'] = suffix;
-
-        const secondUrl = document.getElementById('secondUrl').value.trim();
-        if (secondUrl) config['--second-url'] = secondUrl;
-        
-        // Techniques
-        const techniques = [];
-        if (document.getElementById('techB').checked) techniques.push('B');
-        if (document.getElementById('techE').checked) techniques.push('E');
-        if (document.getElementById('techU').checked) techniques.push('U');
-        if (document.getElementById('techS').checked) techniques.push('S');
-        if (document.getElementById('techT').checked) techniques.push('T');
-        if (document.getElementById('techQ').checked) techniques.push('Q');
-        if (techniques.length > 0) config['--technique'] = techniques.join('');
-
-        const tamperScripts = [];
-        this.tamperScriptList.forEach(s => {
-            if (document.getElementById('tamperscript-'+s).checked) tamperScripts.push(s);
-        });
-        const tamper = document.getElementById('tamper');
-        tamper.value = tamperScripts.join(',');
-        if (tamper.value.trim()) config['--tamper'] = tamper.value.trim();
-        
-        const invalidBignum = document.getElementById('invalidBignum').checked;
-        if (invalidBignum) config['--invalid-bignum'] = invalidBignum;
-        
-        const invalidLogical = document.getElementById('invalidLogical').checked;
-        if (invalidLogical) config['--invalid-logical'] = invalidLogical;
-
-        const invalidString = document.getElementById('invalidString').checked;
-        if (invalidString) config['--invalid-string'] = invalidString;
-        
-        const noCast = document.getElementById('noCast').checked;
-        if (noCast) config['--no-cast'] = noCast;
-
-        const noEscape = document.getElementById('noEscape').checked;
-        if (noEscape) config['--no-escape'] = noEscape;
-
-        const predictOutput = document.getElementById('predictOutput').checked;
-        if (predictOutput) config['--predict-output'] = predictOutput;
-        
-        // SQLMAP options
-        if (document.getElementById('batch').checked) config['--batch'] = true;
-        
-        const verbose = document.getElementById('verbose').value;
-        if (verbose != 1) config['-v'] = verbose;
-        
-        const trafficFile = document.getElementById('trafficFile').value.trim();
-        if (trafficFile) config['-t'] = trafficFile;
-        
-        if (document.getElementById('parseErrors').checked) config['--parse-errors'] = true;
-        
-        // Post-exploitation options
-        if (document.getElementById('currentUser').checked) config['--current-user'] = true;
-        if (document.getElementById('currentDb').checked) config['--current-db'] = true;
-        if (document.getElementById('dbs').checked) config['--dbs'] = true;
-        if (document.getElementById('tables').checked) config['--tables'] = true;
-        if (document.getElementById('columns').checked) config['--columns'] = true;
-        if (document.getElementById('schema').checked) config['--schema'] = true;
-        if (document.getElementById('dumpAll').checked) config['--dump-all'] = true;
-        
-        const database = document.getElementById('database').value.trim();
-        if (database) config['-D'] = database;
-        
-        const table = document.getElementById('table').value.trim();
-        if (table) config['-T'] = table;
-        
-        const column = document.getElementById('column').value.trim();
-        if (column) config['-C'] = column;
-        
-        return config;
-    }
-
-    generateCommand() {
-        const config = this.getCurrentConfig();
-        let command = 'sqlmap';
-        
-        // Order of parameters for better readability
-        const paramOrder = [
-            '-u', '-d', '-r', '-m', '-l', '--scope', '-g',
-             '--timeout', '--delay', '--threads',
-            '--proxy', '--proxy-cred', '--proxy-file', '--proxy-freq', '--ignore-proxy',
-            '--tor', '--check-tor', '--tor-port', '--tor-type',
-            '--force-ssl', '--keep-alive', '--null-connection', '--http2',
-            '--method', '--data', '--param-del',
-            '--host', '-A', '--mobile', '--random-agent', "--referer", "-H",
-            '--cookie', '--cookie-del', '--live-cookies', '--load-cookies', '--drop-set-cookie',
-            '--auth-type', '--auth-cred', '--auth-file',
-            '--csrf-token', '--csrf-url', '--csrf-method', '--csrf-retries',
-            '-p', '--skip', '--param-exclude', '--param-filter', '--level', '--risk', '--dbms', '--os',
-            '--technique', '--invalid-bignum', '--invalid-logical', '--invalid-string', '--no-cast', '--no-escape', '--predict-output',
-            '--batch', '-v', '-t', '--parse-errors', '--test-filter',
-            '--current-user', '--current-db', '--dbs', '--tables', '--columns', '--schema', '--dump-all',
-            '-D', '-T', '-C', '-o',
-            '--tamper', '--prefix', '--suffix', '--csrf-token', '--csrf-url', '--second-url'
-        ];
-        
-        // Add parameters in order
-        paramOrder.forEach(param => {
-            if (config.hasOwnProperty(param)) {
-                if (config[param] === true) {
-                    command += ` ${param}`;
-                } else {
-                    // Quote values that contain spaces or special characters
-                    const value = config[param].toString();
-                    if (value.includes(' ') || value.includes('&') || value.includes(';') || value.includes('=') || value.includes('\n')) {
-                        command += ` ${param} "${value}"`;
-                    }
-                    else if (value.includes('"')) {
-                        command += ` ${param} ` + value.replaceAll('"', '\\"');
-                    }
-                    else {
-                        command += ` ${param} ${value}`;
-                    }
-                }
-            }
-        });
-        
-        return command;
-    }
-
-    handleHashtag() {
-        // Check if we have hashtag with proper config and load it if so
-        try {
-            let hashtag = location.hash.substr(1);
-            if (hashtag.length > 0) {
-                let hashtagCmd = JSON.parse(atob(hashtag));
-                this.applyConfiguration(hashtagCmd);
-            }
-        } catch (ex) {
-            console.log(ex);
-        } 
-    }
-
-    updateCommand() {
-            const command = this.generateCommand();
-            const commandOutput = document.getElementById('commandOutput');
-            commandOutput.textContent = command;
-
-            // Add syntax highlighting
-            this.applySyntaxHighlighting(commandOutput);
-    }
-
-    applySyntaxHighlighting(element) {
-        
-        let html = element.textContent;
-        
-        // Highlight options (starting with -)
-        html = html.replace(/(--?[\w-]+)/g, "<span class='option'>$1</span>");
-        
-        // Highlight quoted values
-        html = html.replace(/"([^"]+)"/g, "<span class='value'>\"$1\"</span>");
-        
-        // Highlight sqlmap command
-        html = html.replace(/^sqlmap/, "<span class='flag'>sqlmap</span>");
-        
-        element.innerHTML = html;
-        
-    }
-
-    async copyCommand() {
-        const command = this.generateCommand();
-        const copyBtn = document.getElementById('copyBtn');
-        const copyText = document.getElementById('copyText');
-        const txt_command_copy_clipboard = 'COPY COMMAND TO CLIPBOARD';
-        const txt_command_copy_coppied = 'COMMAND COPIED!';
-        
-        try {
-            await navigator.clipboard.writeText(command);
-            copyBtn.classList.add('copying');
-            copyText.textContent = txt_command_copy_coppied;
-            
-            setTimeout(() => {
-                copyBtn.classList.remove('copying');
-                copyText.textContent = txt_command_copy_clipboard;
-            }, 3000);
-        } catch (err) {
-            // Fallback for older browsers
-            const textArea = document.createElement('textarea');
-            textArea.value = command;
-            document.body.appendChild(textArea);
-            textArea.select();
-            document.execCommand('copy');
-            document.body.removeChild(textArea);
-            
-            copyText.textContent = txt_command_copy_coppied;
-            setTimeout(() => {
-                copyText.textContent = txt_command_copy_clipboard;
-            }, 3000);
-        }
-    }
-
-    async copyUrl() {
-        const serializedCommand = btoa(JSON.stringify(this.getCurrentConfig()));
-        const command = location.href.replace(location.hash, "") + "#" + serializedCommand;
-        const copyUrlBtn = document.getElementById('copyUrlBtn');
-        const copyUrlText = document.getElementById('copyUrlText');
-        const txt_command_url_clipboard = 'COPY CONFIG URL';
-        const txt_command_url_coppied = 'URL COPIED!';
-
-        try {
-            await navigator.clipboard.writeText(command);
-            copyUrlBtn.classList.add('copying');
-            copyUrlText.textContent = txt_command_url_coppied;
-
-            setTimeout(() => {
-                copyUrlBtn.classList.remove('copying');
-                copyUrlText.textContent = txt_command_url_clipboard;
-            }, 3000);
-            location.replace("#" + serializedCommand);
-
-        } catch (err) {
-            // Fallback for older browsers
-            const textArea = document.createElement('textarea');
-            textArea.value = command;
-            document.body.appendChild(textArea);
-            textArea.select();
-            document.execCommand('copy');
-            document.body.removeChild(textArea);
-
-            copyUrlText.textContent = txt_command_url_coppied;
-            setTimeout(() => {
-                copyUrlText.textContent = txt_command_url_clipboard;
-            }, 3000);
-            location.replace("#" + serializedCommand);
-        }
-    }
-
-    loadTemplate(templateName) {
-        const template = this.templates[templateName];
-        if (!template) return;
-        
-        // Reset all form fields first
-        this.resetConfiguration();
-        
-        // Apply template options
-        Object.entries(template.options).forEach(([key, value]) => {
-            let elementId = key;
-            
-            // Map template keys to form element IDs
-            const keyMapping = {
-                'url': 'url',
-                'data': 'data',
-                'requestFile': 'requestFile',
-                'requestFileScope': 'requestFileScope',
-                'burpFile': 'burpFile',
-                'level': 'level',
-                'risk': 'risk',
-                'randomAgent': 'randomAgent',
-                'batch': 'batch',
-                'dbs': 'dbs'
-            };
-            
-            if (keyMapping[key]) {
-                elementId = keyMapping[key];
-            }
-            
-            const element = document.getElementById(elementId);
-            if (element) {
-                if (element.type === 'checkbox') {
-                    element.checked = value;
-                } else if (element.type === 'range') {
-                    element.value = value;
-                    // Update slider display
-                    const displayElement = document.getElementById(elementId + 'Value');
-                    if (displayElement) {
-                        displayElement.textContent = value;
-                    }
-                } else {
-                    element.value = value;
-                }
-            }
-        });
-        
-        // Update command after loading template
-        this.updateCommand();
-        
-        // Show success message
-        this.showMessage(`Template "${template.name}" loaded`, 'success');
-    }
-
-    saveConfiguration() {
-        const config = this.getCurrentConfig();
-        const configStr = JSON.stringify(config, null, 2);
-        
-        // Create downloadable file
-        const blob = new Blob([configStr], { type: 'application/json' });
-        const url = URL.createObjectURL(blob);
-        const a = document.createElement('a');
-        a.href = url;
-        a.download = 'sqlmap-config.json';
-        document.body.appendChild(a);
-        a.click();
-        document.body.removeChild(a);
-        URL.revokeObjectURL(url);
-        
-        this.showMessage('Configuration saved', 'success');
-    }
-
-    loadConfiguration() {
-        const input = document.createElement('input');
-        input.type = 'file';
-        input.accept = '.json';
-        
-        input.onchange = (e) => {
-            const file = e.target.files[0];
-            if (!file) return;
-            
-            const reader = new FileReader();
-            reader.onload = (e) => {
-                try {
-                    const config = JSON.parse(e.target.result);
-                    this.applyConfiguration(config);
-                    this.showMessage('Configuration loaded', 'success');
-                } catch (err) {
-                    this.showMessage('Error during loading the config', 'error');
-                }
-            };
-            reader.readAsText(file);
-        };
-        
-        input.click();
-    }
-
-    applyConfiguration(config) {
-        // Reset form first
-        this.resetConfiguration();
-        
-        // Apply configuration
-        Object.entries(config).forEach(([param, value]) => {
-            // Map parameters to form element IDs
-            const paramMapping = {
-                '-u': 'url',
-                '-d': 'directDb',
-                '-r': 'requestFile',
-                '-m': 'targetsFile',
-                '-l': 'burpFile',
-                '--scope': 'burpFileScope',
-                '-g': 'googleDork',
-                '--force-ssl': 'forceSsl',
-                '--timeout': 'timeout',
-                '--delay': 'delay',
-                '--threads': 'threads',
-                '--proxy': 'proxy',
-                '--proxy-cred': 'proxyCred',
-                '--proxy-file': 'proxyFile',
-                '--proxy-freq': 'proxyFreq',
-                '--ignore-proxy': 'proxyIgnore',
-                '--tor': 'tor',
-                '--check-tor': 'checkTor',
-                '--tor-port': 'torPort',
-                '--tor-type': 'torType',
-                '--method': 'method',
-                '--data': 'data',
-                '--param-del': 'paramDel',
-                '--host': 'host',
-                '-A': 'userAgent',
-                '--mobile': 'mobileUserAgent',
-                '--random-agent': 'randomAgent',
-                '--referer': 'referer',
-                '-H': 'headers',
-                '--cookie': 'cookie',
-                '--cookie-del': 'cookieDel',
-                '--live-cookies': 'cookieLive',
-                '--drop-set-cookie': 'cookieDrop',
-                '--load-cookies': 'cookieLoad',
-                '--auth-type': 'authType',
-                '--auth-cred': 'authCred',
-                '--auth-file': 'authFile',
-                '--csrf-token': 'csrfToken',
-                '--csrf-url': 'csrfUrl',
-                '--csrf-method': 'csrfMethod',
-                '--csrf-retries': 'csrfRetries',
-                '-p': 'paramTest',
-                '--skip': 'paramSkip',
-                '--param-exclude': 'paramExclude',
-                '--param-filter': 'paramFilter',
-                '--level': 'level',
-                '--risk': 'risk',
-                '--dbms': 'dbms',
-                '--os': 'os',
-                '--technique': 'technique',
-                '--invalid-bignum': 'invalidBignum',
-                '--invalid-logical': 'invalidLogical', 
-                '--invalid-string': 'invalidString',
-                '--no-cast': 'noCast',
-                '--no-escape': 'noEscape',
-                '--predict-output':'predictOutput',
-                '--keep-alive': 'keepAlive',
-                '--batch': 'batch',
-                '-v': 'verbose',
-                '-t': 'trafficFile',
-                '--parse-errors': 'parseErrors',
-                '--test-filter': 'testFilter',
-                '--current-user': 'currentUser',
-                '--current-db': 'currentDb',
-                '--dbs': 'dbs',
-                '--tables': 'tables',
-                '--columns': 'columns',
-                '--schema': 'schema',
-                '--dump-all': 'dumpAll',
-                '-D': 'database',
-                '-T': 'table',
-                '-C': 'column',
-                '--null-connection': 'nullConnection',
-                '-o': 'optimize',
-                '--tamper': 'tamper',
-                '--prefix': 'prefix',
-                '--suffix': 'suffix',
-                '--second-url': 'secondUrl'
-            };
-            
-            const elementId = paramMapping[param];
-            if (elementId) {
-                const element = document.getElementById(elementId);
-                if (element) {
-                    if (element.type === 'checkbox') {
-                        element.checked = value === true;
-                    }
-                    else if (param === '--technique') {
-                        // Handle technique checkboxes
-                        ['B', 'E', 'U', 'S', 'T'].forEach(tech => {
-                            const techElement = document.getElementById('tech' + tech);
-                            if (techElement) {
-                                techElement.checked = value.includes(tech);
-                            }
-                        });
-                    }
-                    else if (param === '--tamper') {
-                        // Handle tamperscripts checkboxes
-                        this.tamperScriptList.forEach(s => {
-                            const sElement = document.getElementById('tamperscript-' + s);
-                            if (sElement) {
-                                sElement.checked = value.includes(s);
-                            }
-                        });
-                    }
-                    else {
-                        element.value = value;
-                        
-                        // Update slider displays
-                        if (element.type === 'range') {
-                            const displayElement = document.getElementById(elementId + 'Value');
-                            if (displayElement) {
-                                displayElement.textContent = value;
-                            }
-                        }
-                    }
-                }
-            }
-        });
-        
-        this.updateCommand();
-    }
-
-    resetConfiguration() {
-        // Reset all form fields
-        document.querySelectorAll('input, select, textarea').forEach(element => {
-            if (element.type === 'checkbox') {
-                element.checked = false;
-            } else if (element.type === 'range') {
-                element.value = element.min || 1;
-                // Update slider displays
-                const displayElement = document.getElementById(element.id + 'Value');
-                if (displayElement) {
-                    displayElement.textContent = element.value;
-                }
-            } else {
-                element.value = '';
-            }
-        });
-        
-        // Reset verbose to default
-        document.getElementById('verbose').value = 1; 
-        document.getElementById('verboseValue').textContent = "1"; 
-        document.getElementById('verbose-help').textContent = "1: Show also information and warning messages (default).";
-        // Hide custom user agent field
-        document.getElementById('customHttpMethodGroup').style.display = 'none';
-        document.getElementById('customUserAgentGroup').style.display = 'none';
-        document.getElementById('customCsrfMethodGroup').style.display = 'none';
-        
-        this.updateCommand();
-        this.showMessage('Configuration deleted', 'info');
-    }
-
-    showMessage(message, type = 'info') {
-        // Create message element
-        const messageEl = document.createElement('div');
-        messageEl.className = `status status--${type}`;
-        messageEl.textContent = message;
-        messageEl.style.position = 'fixed';
-        messageEl.style.top = '20px';
-        messageEl.style.right = '20px';
-        messageEl.style.zIndex = '1000';
-        messageEl.style.minWidth = '300px';
-        messageEl.style.padding = '12px 16px';
-        
-        document.body.appendChild(messageEl);
-        
-        // Remove after 10 seconds
-        setTimeout(() => {
-            if (messageEl.parentNode) {
-                messageEl.parentNode.removeChild(messageEl);
-            }
-        }, 10000);
-    }
-}
-
-// Initialize the application when DOM is loaded
-let sqlgen = null;
-document.addEventListener('DOMContentLoaded', () => {
-    sqlgen = new SQLMapGenerator();
-    document.querySelectorAll('input[type=text], textarea').forEach(field => field.spellcheck = false);
-});
+class SQLMapGenerator {
+    constructor() {
+        this.config = {};
+
+        this.paramMapping = {
+            '-u': 'url',
+            '-d': 'directDb',
+            '-g': 'googleDork',
+            '-m': 'targetsFile',
+            '-l': 'burpFile',
+            '--scope': 'burpFileScope',
+
+            '--timeout': 'timeout',
+            '--delay': 'delay',
+            '--threads': 'threads',
+            '--force-ssl': 'forceSsl',
+            '--keep-alive': 'keepAlive',
+            '--null-connection': 'nullConnection',
+            '--http2': 'http2',
+
+            '--proxy': 'proxy',
+            '--proxy-cred': 'proxyCred',
+            '--proxy-file': 'proxyFile',
+            '--proxy-freq': 'proxyFreq',
+            '--ignore-proxy': 'proxyIgnore',
+            '--tor': 'tor',
+            '--check-tor': 'checkTor',
+            '--tor-port': 'torPort',
+            '--tor-type': 'torType',
+
+            '--method': 'method',
+            '--param-del': 'paramDel',
+            '-r': 'requestFile',
+            '--eval': 'eval',
+            '--data': 'data',
+            
+            '--host': 'host',
+            '-A': 'userAgent',
+            '--random-agent': 'userAgent',
+            '--mobile': 'mobileUserAgent',
+            '--referer': 'referer',
+            '--headers': 'headers',
+
+            '--cookie': 'cookie',
+            '--cookie-del': 'cookieDel',
+            '--live-cookies': 'cookieLive',
+            '--load-cookies': 'cookieLoad',
+            '--drop-set-cookie': 'cookieDrop',
+            '--auth-type': 'authType',
+            '--auth-cred': 'authCred',
+            '--auth-file': 'authFile',
+
+            '--csrf-url': 'csrfUrl',
+            '--csrf-method': 'csrfMethod',
+            '--csrf-data': 'csrfData',
+            '--csrf-token': 'csrfToken',
+            '--csrf-retries': 'csrfRetries',
+
+            '--safe-url': 'safeUrl',
+            '--safe-post': 'safePost',
+            '--safe-req': 'safeReq',
+            '--safe-freq': 'safeFreq',
+
+            
+            '-p': 'paramTest',
+            '--skip': 'paramSkip',
+            '--param-exclude': 'paramExclude',
+            '--param-filter': 'paramFilter',
+            '--prefix': 'prefix',
+            '--suffix': 'suffix',
+            '--randomize': 'randomize',
+            
+            '--titles': 'titles',
+            '--text-only': 'textOnly',
+            '--ignore-redirects': 'ignoreRedirects',
+            '--ignore-timeouts': 'ignoreTimeouts',
+            '--string': 'string',
+            '--regexp': 'regexp',
+            '--not-string': 'notString',
+            '--code': 'code',
+            '--abort-code': 'abortCode',
+            '--ignore-code': 'ignoreCode',
+            '--retries': 'retries',
+            '--retry-on': 'retryOn',
+
+            '--level': 'level',
+            '--risk': 'risk',
+            '--dbms': 'dbms',
+            '--os': 'os',
+            '--second-url': 'secondUrl',
+            '--second-req': 'secondReq',
+            '--technique': 'technique',
+            '--invalid-bignum': 'invalidBignum',
+            '--invalid-logical': 'invalidLogical', 
+            '--invalid-string': 'invalidString',
+            '--no-cast': 'noCast',
+            '--no-escape': 'noEscape',
+            '--predict-output':'predictOutput',
+            '--skip-urlencode':'skipUrlencode',
+            '--chunked':'chunked',
+            '--hpp':'hpp',
+
+            '--all': 'all',
+            '--banner': 'banner',
+            '--columns': 'columns',
+            '--comments': 'comments',
+            '--count': 'count',
+            '--current-user': 'currentUser',
+            '--current-db': 'currentDb',
+            '--dbs': 'dbs',
+            '--dump': 'dump',
+            '--dump-all': 'dumpAll',
+            '--exclude-sysdbs': 'excludeSysdbs',
+            '--hostname': 'hostname',
+            '--is-dba': 'isDba',
+            '--passwords': 'passwords',
+            '--privileges': 'privileges',
+            '--roles': 'roles',
+            '--schema': 'schema',
+            '--search': 'search',
+            '--statements': 'statements',
+            '--tables': 'tables',
+            '--users': 'users',
+            
+            '-D': 'database',
+            '-T': 'table',
+            '-C': 'column',
+            '-X': 'exclude',
+            '-U': 'user',
+            '--pivot-column': 'pivotColumn',
+            '--where': 'where',
+            '--start': 'start',
+            '--stop': 'stop',
+            '--first': 'first',
+            '--last': 'last',
+            '--sql-query': 'sqlQuery',
+            '--sql-file': 'sqlFile',
+
+            '--tamper': 'tamper',
+
+            '-v': 'verbose',
+            '-t': 'trafficFile',
+            '-c': 'configFile',
+            '--batch': 'batch',
+            '--parse-errors': 'parseErrors'
+        };
+
+        this.tamperScriptList = [
+            "0eunion",
+            "apostrophemask",
+            "apostrophenullencode",
+            "appendnullbyte",
+            "base64encode",
+            "between",
+            "binary",
+            "bluecoat",
+            "chardoubleencode",
+            "charencode",
+            "charunicodeencode",
+            "charunicodeescape",
+            "commalesslimit",
+            "commalessmid",
+            "commentbeforeparentheses",
+            "concat2concatws",
+            "decentities",
+            "dunion",
+            "equaltolike",
+            "equaltorlike",
+            "escapequotes",
+            "greatest",
+            "halfversionedmorekeywords",
+            "hex2char",
+            "hexentities",
+            "htmlencode",
+            "if2case",
+            "ifnull2casewhenisnull",
+            "ifnull2ifisnull",
+            "informationschemacomment",
+            "least",
+            "lowercase",
+            "luanginx",
+            "luanginxmore",
+            "misunion",
+            "modsecurityversioned",
+            "modsecurityzeroversioned",
+            "multiplespaces",
+            "ord2ascii",
+            "overlongutf8",
+            "overlongutf8more",
+            "percentage",
+            "plus2concat",
+            "plus2fnconcat",
+            "randomcase",
+            "randomcomments",
+            "schemasplit",
+            "scientific",
+            "sleep2getlock",
+            "sp_password",
+            "space2comment",
+            "space2dash",
+            "space2hash",
+            "space2morecomment",
+            "space2morehash",
+            "space2mssqlblank",
+            "space2mssqlhash",
+            "space2mysqlblank",
+            "space2mysqldash",
+            "space2plus",
+            "space2randomblank",
+            "substring2leftright",
+            "symboliclogical",
+            "unionalltounion",
+            "unmagicquotes",
+            "uppercase",
+            "varnish",
+            "versionedkeywords",
+            "versionedmorekeywords",
+            "xforwardedfor"
+        ];
+        
+        this.init();
+    }
+
+    init() {
+        this.setupEventListeners();
+        this.setupTabs();
+        this.setupSliders();
+        this.handleHashtag();
+        this.updateCommand();
+    }
+
+    setStandardConfigItem(config, confkey) {
+        var id = this.paramMapping[confkey];
+        var elem = document.getElementById(id);
+        var value = null;
+        try {
+
+        
+            if (elem.type === 'checkbox') {
+                value = elem.checked;
+            } 
+            else if (elem.type === 'text' || elem.type === 'number' || elem.type === 'url' || elem.type === 'select-one') {
+                value = elem.value.trim();
+            }        
+            else if (elem.type === 'textarea') {
+                value = elem.value.trim().replaceAll("\n", "\\\n");
+            }
+
+            if (value) {
+                config[confkey] = value;
+            }
+
+        } catch (e) {
+            console.log(confkey, e);
+        }
+    }
+
+    getCurrentConfig() {
+        const config = {};
+        
+        // # TARGET TAB
+        this.setStandardConfigItem(config, '-u');
+        this.setStandardConfigItem(config, '-d');
+        this.setStandardConfigItem(config, '-g');
+        this.setStandardConfigItem(config, '-m');
+        this.setStandardConfigItem(config, '-l');
+        
+        const burpFileScope = document.getElementById('burpFileScope').value.trim();
+        if (burpFileScope) config['--scope'] = burpFileScope;
+        if (burpFileScope && !burpFile) document.getElementById('burpFile').value = "burp.txt";
+        
+        // # CONNECECTION TAB
+        // ## Connection Control
+        const timeout = document.getElementById('timeout').value;
+        if (timeout && timeout != 30) config['--timeout'] = timeout;
+
+        const delay = document.getElementById('delay').value;
+        if (delay && delay > 0) config['--delay'] = delay;
+
+        const threads = document.getElementById('threads').value;
+        if (threads && threads > 1) config['--threads'] = threads;
+
+        this.setStandardConfigItem(config, '--force-ssl');
+        this.setStandardConfigItem(config, '--keep-alive');
+        this.setStandardConfigItem(config, '--null-connection');
+        this.setStandardConfigItem(config, '--http2');
+
+        // ## Proxy Options
+        this.setStandardConfigItem(config, '--proxy');
+        this.setStandardConfigItem(config, '--proxy-cred');
+        this.setStandardConfigItem(config, '--proxy-file');
+        
+        const proxyFreq = document.getElementById('proxyFreq').value.trim();
+        if (proxyFreq && proxyFreq >= 1) config['--proxy-freq'] = proxyFreq;
+        
+        this.setStandardConfigItem(config, '--http2');
+        this.setStandardConfigItem(config, '--ignore-proxy');
+        this.setStandardConfigItem(config, '--tor');
+        this.setStandardConfigItem(config, '--check-tor');  
+        this.setStandardConfigItem(config, '--tor-port');   
+
+        const torType = document.getElementById('torType').value.trim();
+        if (torType && torType !== "SOCKS5") config['--tor-type'] = torType;        
+
+        // # REQUEST TAB
+        // ## Request Data
+        const method = document.getElementById('method').value;
+        if (method && method !== 'custom') {
+            config['--method'] = method;
+        } else if (method === 'custom') {
+            const customHttpMethod = document.getElementById('customHttpMethod').value.trim();
+            if (customHttpMethod) config['--method'] = customHttpMethod;
+        }
+
+        const paramDel = document.getElementById('paramDel').value.trim();
+        if (paramDel && paramDel !== "&") config['--param-del'] = paramDel;
+
+        this.setStandardConfigItem(config, '-r');   
+        this.setStandardConfigItem(config, '--eval');   
+        this.setStandardConfigItem(config, '--data');   
+
+        // ## Request Headers
+        this.setStandardConfigItem(config, '--host');   
+        
+        const userAgent = document.getElementById('userAgent').value;
+        if (userAgent && userAgent === 'random') {
+            config['--random-agent'] = true;
+        }
+        else if (userAgent && userAgent === 'mobile') {
+            config['--mobile'] = true;
+        }
+        else if (userAgent && userAgent === 'custom') {
+            const customUserAgent = document.getElementById('customUserAgent').value;
+            if (customUserAgent) config['-A'] = customUserAgent;
+        }
+        else if (userAgent) {
+            config['-A'] = userAgent;
+        }
+
+        this.setStandardConfigItem(config, '--referer');  
+        this.setStandardConfigItem(config, '--headers');  
+
+        // ## Authentication
+        this.setStandardConfigItem(config, '--cookie'); 
+        this.setStandardConfigItem(config, '--cookie-del'); 
+        this.setStandardConfigItem(config, '--live-cookies'); 
+        this.setStandardConfigItem(config, '--load-cookies'); 
+
+        this.setStandardConfigItem(config, '--drop-set-cookie');   
+        
+        const authType = document.getElementById('authType').value;
+        const authCred = document.getElementById('authCred').value.trim();
+        if (authType && authCred) {
+            config['--auth-type'] = authType;
+            config['--auth-cred'] = authCred;
+        }
+        
+        this.setStandardConfigItem(config, '--auth-file'); 
+
+        // ## CSRF Tokens Control
+        this.setStandardConfigItem(config, '--csrf-url'); 
+        
+        const csrfMethod = document.getElementById('csrfMethod').value;
+        if (csrfMethod && csrfMethod !== 'custom') {
+            config['--csrf-method'] = csrfMethod;
+        } else if (csrfMethod === 'custom') {
+            const customCsrfMethod = document.getElementById('customCsrfMethod').value;
+            if (customCsrfMethod) config['--csrf-method'] = customCsrfMethod;
+        }
+        
+        this.setStandardConfigItem(config, '--csrf-data'); 
+        this.setStandardConfigItem(config, '--csrf-token'); 
+        
+        const csrfRetries = document.getElementById('csrfRetries').value.trim();
+        if (csrfRetries && csrfRetries > 0) config['--csrf-retries'] = csrfRetries;
+
+        // ## Safe Requests
+        this.setStandardConfigItem(config, '--safe-url'); 
+        this.setStandardConfigItem(config, '--safe-post'); 
+        this.setStandardConfigItem(config, '--safe-req'); 
+        this.setStandardConfigItem(config, '--safe-freq'); 
+     
+        // # INJECTION TAB
+        // ## Parameters
+        this.setStandardConfigItem(config, '-p'); 
+        this.setStandardConfigItem(config, '--skip'); 
+        this.setStandardConfigItem(config, '--param-exclude'); 
+        this.setStandardConfigItem(config, '--param-filter'); 
+        this.setStandardConfigItem(config, '--prefix'); 
+        this.setStandardConfigItem(config, '--suffix'); 
+        this.setStandardConfigItem(config, '--randomize');  
+
+        // ## Detection
+        this.setStandardConfigItem(config, '--text-only');  
+        this.setStandardConfigItem(config, '--titles');  
+        this.setStandardConfigItem(config, '--ignore-redirects');  
+        this.setStandardConfigItem(config, '--ignore-timeouts');  
+        this.setStandardConfigItem(config, '--string');
+        this.setStandardConfigItem(config, '--regexp');    
+        this.setStandardConfigItem(config, '--not-string');
+       
+        const code = document.getElementById('code').value.trim();
+        if (code && code >= 100 && code <= 599) config['--code'] = code;
+        
+        this.setStandardConfigItem(config, '--abort-code');  
+        this.setStandardConfigItem(config, '--ignore-code');  
+
+        const retries = document.getElementById('retries').value.trim();
+        if (retries && retries >= 0) config['--retries'] = csrfRetries;
+
+        this.setStandardConfigItem(config, '--retry-on');  
+        
+        // ## Attack Optimalization
+        const level = document.getElementById('level').value;
+        if (level > 1) config['--level'] = level;
+        
+        const risk = document.getElementById('risk').value;
+        if (risk > 1) config['--risk'] = risk;
+
+        this.setStandardConfigItem(config, '--dbms'); 
+        this.setStandardConfigItem(config, '--os'); 
+        this.setStandardConfigItem(config, '--second-url');
+        this.setStandardConfigItem(config, '--second-req');
+        
+        const techniques = [];
+        if (document.getElementById('techB').checked) techniques.push('B');
+        if (document.getElementById('techE').checked) techniques.push('E');
+        if (document.getElementById('techU').checked) techniques.push('U');
+        if (document.getElementById('techS').checked) techniques.push('S');
+        if (document.getElementById('techT').checked) techniques.push('T');
+        if (document.getElementById('techQ').checked) techniques.push('Q');
+        if (techniques.length > 0) config['--technique'] = techniques.join('');
+
+        this.setStandardConfigItem(config, '--invalid-bignum');
+        this.setStandardConfigItem(config, '--invalid-logical');
+        this.setStandardConfigItem(config, '--invalid-string');
+        this.setStandardConfigItem(config, '--no-cast');
+        this.setStandardConfigItem(config, '--no-escape');
+        this.setStandardConfigItem(config, '--predict-output');
+        this.setStandardConfigItem(config, '--skip-urlencode');
+        this.setStandardConfigItem(config, '--chunked');
+        this.setStandardConfigItem(config, '--hpp');
+
+        // # EXPLOITATION TAB
+        // ## Enumeration and Data Exfiltraion
+        this.setStandardConfigItem(config, '--all');
+        this.setStandardConfigItem(config, '--banner');
+        this.setStandardConfigItem(config, '--columns');
+        this.setStandardConfigItem(config, '--comments');
+        this.setStandardConfigItem(config, '--count');
+        this.setStandardConfigItem(config, '--current-user');
+        this.setStandardConfigItem(config, '--current-db');
+        this.setStandardConfigItem(config, '--dbs');
+        this.setStandardConfigItem(config, '--dump');
+        this.setStandardConfigItem(config, '--dump-all');
+        this.setStandardConfigItem(config, '--hostname');
+        this.setStandardConfigItem(config, '--is-dba');
+        this.setStandardConfigItem(config, '--exclude-sysdbs');
+        this.setStandardConfigItem(config, '--passwords');
+        this.setStandardConfigItem(config, '--privileges');
+        this.setStandardConfigItem(config, '--roles');
+        this.setStandardConfigItem(config, '--schema');
+        this.setStandardConfigItem(config, '--search');
+        this.setStandardConfigItem(config, '--statements');
+        this.setStandardConfigItem(config, '--tables');
+        this.setStandardConfigItem(config, '--users');
+
+        // ## Other Exploitation Options
+        this.setStandardConfigItem(config, '-D');
+        this.setStandardConfigItem(config, '-T');
+        this.setStandardConfigItem(config, '-C');
+        this.setStandardConfigItem(config, '-X');
+        this.setStandardConfigItem(config, '-U');
+        this.setStandardConfigItem(config, '--pivot-column');
+        this.setStandardConfigItem(config, '--where');
+        this.setStandardConfigItem(config, '--start');
+        this.setStandardConfigItem(config, '--stop');
+        this.setStandardConfigItem(config, '--first');
+        this.setStandardConfigItem(config, '--last');
+        this.setStandardConfigItem(config, '--sql-query');
+        this.setStandardConfigItem(config, '--sql-file');
+
+        // # TAMPERING TAB
+        const tamperScripts = [];
+        this.tamperScriptList.forEach(s => {
+            if (document.getElementById('tamperscript-'+s).checked) tamperScripts.push(s);
+        });
+        const tamper = document.getElementById('tamper');
+        tamper.value = tamperScripts.join(',');
+        if (tamper.value.trim()) config['--tamper'] = tamper.value.trim();
+        
+        
+        // SQLMAP TAB
+        const verbose = document.getElementById('verbose').value;
+        if (verbose != 1) config['-v'] = verbose;
+
+        this.setStandardConfigItem(config, '-t');
+        this.setStandardConfigItem(config, '-c');
+        this.setStandardConfigItem(config, '--batch');
+        this.setStandardConfigItem(config, '--parse-errors');
+        
+        return config;
+    }
+
+    setupEventListeners() {
+        // Copy button
+        document.getElementById('copyBtn').addEventListener('click', () => this.copyCommand());
+        document.getElementById('copyUrlBtn').addEventListener('click', () => this.copyUrl());
+        
+        // Template buttons
+        document.querySelectorAll('.template-btn').forEach(btn => {
+            btn.addEventListener('click', (e) => this.loadTemplate(e.target.dataset.template));
+        });
+        
+        // Configuration buttons
+        document.getElementById('saveConfig').addEventListener('click', () => this.saveConfiguration());
+        document.getElementById('loadConfig').addEventListener('click', () => this.loadConfiguration());
+        document.getElementById('resetConfig').addEventListener('click', () => this.resetConfiguration());
+        
+        // All form inputs
+        document.querySelectorAll('input, select, textarea').forEach(input => {
+            input.addEventListener('input', () => this.updateCommand());
+            input.addEventListener('change', () => this.updateCommand());
+        });
+
+        // HTTP method custom field toggle
+        document.getElementById('method').addEventListener('change', (e) => {
+            const customHttpGroup = document.getElementById('customHttpMethodGroup');
+            if (e.target.value === 'custom') {
+                customHttpGroup.style.display = 'block';
+            } else {
+                customHttpGroup.style.display = 'none';
+            }
+        });
+        
+        // User-Agent custom field toggle
+        document.getElementById('userAgent').addEventListener('change', (e) => {
+            const customUserAgentGroup = document.getElementById('customUserAgentGroup');
+            if (e.target.value === 'custom') {
+                customUserAgentGroup.style.display = 'block';
+            } else {
+                customUserAgentGroup.style.display = 'none';
+            }
+        });
+
+        // CSRF method custom field toggle
+        document.getElementById('csrfMethod').addEventListener('change', (e) => {
+            const customCsrfMethodGroup = document.getElementById('customCsrfMethodGroup');
+            if (e.target.value === 'custom') {
+                customCsrfMethodGroup.style.display = 'block';
+            } else {
+                customCsrfMethodGroup.style.display = 'none';
+            }
+        });
+    }
+
+    setupTabs() {
+        document.querySelectorAll('.tab-btn').forEach(btn => {
+            btn.addEventListener('click', (e) => {
+                // Remove active class from all tabs and content
+                document.querySelectorAll('.tab-btn').forEach(b => b.classList.remove('active'));
+                document.querySelectorAll('.tab-content').forEach(c => c.classList.remove('active'));
+                
+                // Add active class to clicked tab and corresponding content
+                e.target.classList.add('active');
+                document.getElementById(e.target.dataset.tab).classList.add('active');
+            });
+        });
+    }
+
+    setupSliders() {
+        // Level slider
+        const levelSlider = document.getElementById('level');
+        const levelValue = document.getElementById('levelValue');
+        levelSlider.addEventListener('input', (e) => {
+            levelValue.textContent = e.target.value;
+            let levelHelp = "";
+            switch (levelSlider.value) {
+                case "1": levelHelp = "1: Fastest and least intrusive testing of GET and POST parameters (default)."; break;
+                case "2": levelHelp = "2: Additionally test injections in the Cookie header."; break;
+                case "3": levelHelp = "3: Additionally test injections in User-Agent and Referer headers."; break;
+                case "4": levelHelp = "4: Additionally perform more advanced tests, such as null values and some extra payloads."; break;
+                case "5": levelHelp = "5: Additionally test Host header, using all possible payloads."; break;
+            }
+            document.getElementById('level-help').textContent = levelHelp;
+        });
+
+        // Risk slider
+        const riskSlider = document.getElementById('risk');
+        const riskValue = document.getElementById('riskValue');
+        riskSlider.addEventListener('input', (e) => {
+            riskValue.textContent = e.target.value;
+            let riskHelp = "";
+            switch (riskSlider.value) {
+                case "1": riskHelp = "1: Innocuous test for the majority of SQL injection points (default)."; break;
+                case "2": riskHelp = "2: Adds also time-based SQL injections."; break;
+                case "3": riskHelp = "3: Adds also OR-based SQL injection tests."; break;
+            }
+            document.getElementById('risk-help').textContent = riskHelp;
+        });
+
+        // Verbose slider
+        const verboseSlider = document.getElementById('verbose');
+        const verboseValue = document.getElementById('verboseValue');
+        verboseSlider.addEventListener('input', (e) => {
+            verboseValue.textContent = e.target.value;
+            let verboseHelp = "";
+            switch (verboseSlider.value) {
+                case "0": verboseHelp = "0: Show only Python tracebacks, error and critical messages."; break;
+                case "1": verboseHelp = "1: Show also information and warning messages (default)."; break;
+                case "2": verboseHelp = "2: Show also debug messages."; break;
+                case "3": verboseHelp = "3: Show also payloads injected."; break;
+                case "4": verboseHelp = "4: Show also HTTP requests."; break;
+                case "5": verboseHelp = "5: Show also HTTP responses' headers."; break;
+                case "6": verboseHelp = "6: Show also HTTP responses' page content."; break;
+            }
+            document.getElementById('verbose-help').textContent = verboseHelp;
+        });
+    }
+
+    generateCommand() {
+        const config = this.getCurrentConfig();
+        let command = 'sqlmap';
+        
+        // Order of parameters for better readability
+        const paramOrder = Object.keys(this.paramMapping);
+        
+        // Add parameters in order
+        paramOrder.forEach(param => {
+            if (config.hasOwnProperty(param)) {
+                if (config[param] === true) {
+                    command += ` ${param}`;
+                } else {
+                    // Quote values that contain spaces or special characters
+                    const value = config[param].toString();
+                    if (value.includes(' ') || value.includes('&') || value.includes(';') || value.includes('=') || value.includes('\n')) {
+                        command += ` ${param} "${value}"`;
+                    }
+                    else if (value.includes('"')) {
+                        command += ` ${param} ` + value.replaceAll('"', '\\"');
+                    }
+                    else {
+                        command += ` ${param} ${value}`;
+                    }
+                }
+            }
+        });
+        
+        return command;
+    }
+
+    handleHashtag() {
+        // Check if we have hashtag with proper config and load it if so
+        try {
+            let hashtag = location.hash.substr(1);
+            if (hashtag.length > 0 && hashtag !== "e30=") {
+                let hashtagCmd = JSON.parse(atob(hashtag));
+                this.applyConfiguration(hashtagCmd);
+                this.showMessage("Configuration loaded from the URL", 'success');
+            }
+        } catch (ex) {
+            this.showMessage("Cannot load a configuration", 'error');
+            console.log(ex);
+        } 
+    }
+
+    updateCommand() {
+            const command = this.generateCommand();
+            const commandOutput = document.getElementById('commandOutput');
+            commandOutput.textContent = command;
+
+            // Add syntax highlighting
+            this.applySyntaxHighlighting(commandOutput);
+    }
+
+    applySyntaxHighlighting(element) {
+        
+        let html = element.textContent;
+        
+        // Highlight options (starting with -)
+        html = html.replace(/(--?[\w-]+)/g, "<span class='option'>$1</span>");
+        
+        // Highlight quoted values
+        html = html.replace(/"([^"]+)"/g, "<span class='value'>\"$1\"</span>");
+        
+        // Highlight sqlmap command
+        html = html.replace(/^sqlmap/, "<span class='flag'>sqlmap</span>");
+        
+        element.innerHTML = html;
+        
+    }
+
+    async copyCommand() {
+        const command = this.generateCommand();
+        const copyBtn = document.getElementById('copyBtn');
+        const successMessage = "SQLMap command has been copied to your clipboard";
+
+        try 
+        {
+            copyBtn.classList.add('copying');
+            await navigator.clipboard.writeText(command);
+            this.showMessage(successMessage, "success");
+        } 
+        catch (err) 
+        {
+            // Fallback for older browsers
+            const textArea = document.createElement('textarea');
+            textArea.value = command;
+            document.body.appendChild(textArea);
+            textArea.select();
+            document.execCommand('copy');
+            document.body.removeChild(textArea);
+            this.showMessage(successMessage, "success");
+        }
+        finally 
+        {
+            setTimeout(() => {
+                copyBtn.classList.remove('copying');
+            }, 1000);
+        }
+    }
+
+    async copyUrl() {
+        const serializedCommand = btoa(JSON.stringify(this.getCurrentConfig()));
+        const copyUrlBtn = document.getElementById('copyUrlBtn');
+        const successMessage = "URL with configuration has been copied to your clipboard";
+        if (serializedCommand == "e30=") {
+            location.replace("#");
+        }
+        else {
+            location.replace("#" + serializedCommand);
+        }
+
+        try 
+        {
+            copyUrlBtn.classList.add('copying');
+            await navigator.clipboard.writeText(location.href);
+            this.showMessage(successMessage, "success");
+        } 
+        catch (err) {
+            // Fallback for older browsers
+            const textArea = document.createElement('textarea');
+            textArea.value = location.href;
+            document.body.appendChild(textArea);
+            textArea.select();
+            document.execCommand('copy');
+            document.body.removeChild(textArea);
+            this.showMessage(successMessage, "success");
+        } 
+        finally {
+            setTimeout(() => {
+                copyUrlBtn.classList.remove('copying');
+            }, 1000);
+        }
+    }
+
+    saveConfiguration() {
+        const config = this.getCurrentConfig();
+        const configStr = JSON.stringify(config, null, 2);
+        
+        // Create downloadable file
+        const blob = new Blob([configStr], { type: 'application/json' });
+        const url = URL.createObjectURL(blob);
+        const a = document.createElement('a');
+        a.href = url;
+        a.download = 'sqlmap-config.json';
+        document.body.appendChild(a);
+        a.click();
+        document.body.removeChild(a);
+        URL.revokeObjectURL(url);
+        
+        this.showMessage('Configuration saved', 'success');
+    }
+
+    loadConfiguration() {
+        const input = document.createElement('input');
+        input.type = 'file';
+        input.accept = '.json';
+        
+        input.onchange = (e) => {
+            const file = e.target.files[0];
+            if (!file) return;
+            
+            const reader = new FileReader();
+            reader.onload = (e) => {
+                try {
+                    const config = JSON.parse(e.target.result);
+                    this.applyConfiguration(config);
+                    this.showMessage('Configuration loaded', 'success');
+                } catch (err) {
+                    this.showMessage('Error during loading the config', 'error');
+                }
+            };
+            reader.readAsText(file);
+        };
+        
+        input.click();
+    }
+
+    applyConfiguration(config) {
+        // Reset form first
+        this.resetConfiguration(true);
+        
+        // Apply configuration
+        Object.entries(config).forEach(([param, value]) => {
+            
+            const elementId = this.paramMapping[param];
+            if (elementId) {
+                const element = document.getElementById(elementId);
+                if (element) {
+                    if (element.type === 'checkbox') {
+                        element.checked = value === true;
+                    }
+                    else if (param === '--technique') {
+                        // Handle technique checkboxes
+                        ['B', 'E', 'U', 'S', 'T'].forEach(tech => {
+                            const techElement = document.getElementById('tech' + tech);
+                            if (techElement) {
+                                techElement.checked = value.includes(tech);
+                            }
+                        });
+                    }
+                    else if (param === '--tamper') {
+                        // Handle tamperscripts checkboxes
+                        this.tamperScriptList.forEach(s => {
+                            const sElement = document.getElementById('tamperscript-' + s);
+                            if (sElement) {
+                                sElement.checked = value.includes(s);
+                            }
+                        });
+                    }
+                    else {
+                        element.value = value;
+                        
+                        // Update slider displays
+                        if (element.type === 'range') {
+                            const displayElement = document.getElementById(elementId + 'Value');
+                            if (displayElement) {
+                                displayElement.textContent = value;
+                            }
+                        }
+                    }
+                }
+            }
+        });
+        
+        this.updateCommand();
+    }
+
+    resetConfiguration(skipResetAlert = false) {
+        // Reset all form fields
+        document.querySelectorAll('input, select, textarea').forEach(element => {
+            if (element.type === 'checkbox') {
+                element.checked = false;
+            } else if (element.type === 'range') {
+                element.value = element.min || 1;
+                // Update slider displays
+                const displayElement = document.getElementById(element.id + 'Value');
+                if (displayElement) {
+                    displayElement.textContent = element.value;
+                }
+            } else {
+                element.value = '';
+            }
+        });
+        
+        // Reset verbose to default
+        document.getElementById('verbose').value = 1; 
+        document.getElementById('verboseValue').textContent = "1"; 
+        document.getElementById('verbose-help').textContent = "1: Show also information and warning messages (default).";
+        // Hide custom user agent field
+        document.getElementById('customHttpMethodGroup').style.display = 'none';
+        document.getElementById('customUserAgentGroup').style.display = 'none';
+        document.getElementById('customCsrfMethodGroup').style.display = 'none';
+        
+        this.updateCommand();
+        if (!skipResetAlert) {
+            this.showMessage('The configuration has been cleared', 'success');
+        }
+    }
+
+    showMessage(message, type = 'info') {
+        // Create message element
+        const messageEl = document.createElement('div');
+        messageEl.className = `status status--${type}`;
+        messageEl.textContent = message;
+        
+        document.getElementById("status-container").appendChild(messageEl);
+        
+        // Remove after 6 seconds
+        setTimeout(() => {
+            if (messageEl.parentNode) {
+                messageEl.parentNode.removeChild(messageEl);
+            }
+        }, 6000);
+    }
+}
+
+// Initialize the application when DOM is loaded
+let sqlgen = null;
+document.addEventListener('DOMContentLoaded', () => {
+    sqlgen = new SQLMapGenerator();
+    document.querySelectorAll('input[type=text], textarea').forEach(field => field.spellcheck = false);
+
+    // document.querySelectorAll('em.tooltip').forEach(el => {
+    //     const text = el.textContent;
+    //     el.textContent = '';
+    //     el.dataset.tooltip = text;
+    // });
+});
diff --git a/background.jpg b/background.jpg
index 113538d..45f496a 100644
Binary files a/background.jpg and b/background.jpg differ
diff --git a/build.py b/build.py
index 71b7b4d..29532f5 100644
--- a/build.py
+++ b/build.py
@@ -1,22 +1,30 @@
-# build.py
-html = open('index.html').read()
-css = open('style.css').read()
-js = open('app.js').read()
-
-# Zakładam, że index.html ma <head>...</head> i </body>
-# Dodaj CSS do <head>
-html = html.replace('<link rel="stylesheet" href="style.css">', '');
-
-html = html.replace(
-    '</head>',
-    f'<style>\n{css}\n</style>\n</head>'
-)
-# Dodaj JS na końcu przed </body>
-html = html.replace('<script src="app.js"></script>','');
-html = html.replace(
-    '</body>',
-    f'<script>\n{js}\n</script>\n</body>'
-)
-
-with open('index.html', 'w') as f:
-    f.write(html)
+import datetime
+import pytz
+import base64
+
+
+def read_text(path):
+    with open(path) as file:
+        return file.read()
+
+
+def compile_assets(html, css, js):
+    compilation_time = datetime.datetime.now().astimezone(pytz.timezone('Europe/Warsaw')).strftime("%Y-%m-%d_%H:%M")
+    img_background = f'url("data:image/jpeg;base64,{base64.b64encode(open("background.jpg", "rb").read()).decode()}");'
+    css = css.replace(f"url('background.jpg');", img_background)
+    html = html.replace(f'<span id="tool-version"></span>', f'<span id="tool-version"> <strong>v.{compilation_time}</strong></span>')
+    html = html.replace(f'<link rel="stylesheet" href="style.css">', f'')
+    html = html.replace(f'</head>', f'<style>\n{css}\n</style>\n</head>')
+    html = html.replace(f'<script src="app.js"></script>', f'')
+    html = html.replace(f'</body>', f'<script>\n{js}\n</script>\n</body>')
+    return html
+
+
+if __name__ == "__main__":
+    html = read_text('sql-command-builder.html')
+    css = read_text('style.css')
+    js = read_text('app.js')
+    html_final = 'index.html'
+
+    with open('index.html', 'w') as output:
+        output.write(compile_assets(html, css, js))
diff --git a/docs/example-small.jpg b/docs/example-small.jpg
new file mode 100644
index 0000000..60650a2
Binary files /dev/null and b/docs/example-small.jpg differ
diff --git a/docs/example.png b/docs/example.png
new file mode 100644
index 0000000..8349fa5
Binary files /dev/null and b/docs/example.png differ
diff --git a/docs/logo-dark.png b/docs/logo-dark.png
new file mode 100644
index 0000000..866e966
Binary files /dev/null and b/docs/logo-dark.png differ
diff --git a/docs/logo-light.png b/docs/logo-light.png
new file mode 100644
index 0000000..973c921
Binary files /dev/null and b/docs/logo-light.png differ
diff --git a/docs/logo.kra b/docs/logo.kra
new file mode 100644
index 0000000..f46ef21
Binary files /dev/null and b/docs/logo.kra differ
diff --git a/index.html b/index.html
deleted file mode 100644
index 6b899a9..0000000
--- a/index.html
+++ /dev/null
@@ -1,1281 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
-<head>
-    <meta charset="UTF-8">
-    <meta name="viewport" content="width=device-width, initial-scale=1.0">
-    <title>SQLMap Command Generator</title>
-    <link rel="stylesheet" href="style.css">
-</head>
-<body style="background: url('background.jpg') no-repeat center center fixed; background-size: cover;">
-    <div class="container">
-        <header class="header">
-            <h1><a href="?">SQLMap Command Builder</a></h1>
-            <p>
-                Interactive command line generator for conducting advanced SQLMap pentests.<br />
-                This builder works locally with pure HTML/JS/CSS (no data exchanged to any server).
-            </p>
-
-            <p>
-                <a href="https://github.com/vizzdoom/sqlmap-command-builder" target="_blank">Github Repository v.20250617</a> for <a target="_blank" href="https://github.com/sqlmapproject/sqlmap/releases">SQLMap 1.9.4</a><br />
-                vizzdoom/at/gmail/dot/com
-            </p>
-        </header>
-
-        <!-- Command Output Area -->
-        <section class="command-section">
-            <div class="command-header">
-                <button id="copyBtn" class="btn btn--primary">
-                    <span id="copyText">COPY COMMAND TO CLIPBOARD</span>
-                </button>
-                <button id="copyUrlBtn" class="btn btn--primary">
-                    <span id="copyUrlText">COPY CONFIG URL</span>
-                </button>
-            </div>
-            <div class="command-output">
-                <pre id="commandOutput" spellcheck="false" contenteditable="true">sqlmap</pre>
-            </div>
-        </section>
-
-        <!-- Templates Section -->
-        <!-- TODO
-    <section class="templates-section">
-        <h3>Templates</h3>
-        <div class="templates-grid">
-            <button class="template-btn" data-template="basic_get">
-                <strong>Basic GET Test</strong>
-                <span>Basic http request</span>
-            </button>
-            <button class="template-btn" data-template="post_form">
-                <strong>POST Form Test</strong>
-                <span>Basic http request</span>
-            </button>
-            <button class="template-btn" data-template="burp_request">
-                <strong>Burp Request</strong>
-                <span>Use request saved into file (i.e. via Burp)</span>
-            </button>
-            <button class="template-btn" data-template="advanced">
-                <strong>Advanced Test</strong>
-                <span>Advanced test with high risk</span>
-            </button>
-        </div>
-    </section>
-    -->
-        <!-- Options Tabs -->
-        <section class="options-section">
-            <div class="tabs">
-                <button class="tab-btn active" data-tab="target">TARGET</button>
-                <button class="tab-btn" data-tab="connection">CONNECTION</button>
-                <button class="tab-btn" data-tab="request">REQUEST</button>
-                <button class="tab-btn" data-tab="injection">INJECTION</button>
-                <button class="tab-btn" data-tab="exploitation">EXPLOITATION</button>
-                <button class="tab-btn" data-tab="tampering">TAMPERING</button>
-                <button class="tab-btn" data-tab="sqlmap">SQLMAP</button>
-                <button class="tab-btn" data-tab="config">CONFIG</button>
-            </div>
-
-            <!-- TARGET Tab -->
-            <div class="tab-content active" id="target">
-                <div class="card">
-                    <div class="card__body">
-                        <div class="form-grid">
-                            <!-- -u -->
-                            <div class="form-group" title="Target URL (e.g. http://127.0.0.1/vuln.php?id=1)">
-                                <label class="form-label" for="url">TARGET URL<br/><span>-u</span></label>
-                                <input type="url" id="url" class="form-control" placeholder="https://127.0.0.1/page?id=1">
-                            </div>
-                            <!-- -d -->
-                            <div class="form-group" title="Connection string for direct database connection">
-                                <label class="form-label" for="directDb">DATABASE CONNECTION STRING<br/><span>-d</span></label>
-                                <input type="text" id="directDb" class="form-control" placeholder="mysql://user:pass@host/db">
-                            </div>
-                            <!-- -g -->
-                            <div class="form-group" title="Process Google dork results as target URLs" for="googleDork">
-                                <label class="form-label">GOOGLE DORK FOR TARGETS<br/><span>-g</label></span>
-                                <input type="text" id="googleDork" class="form-control" placeholder="inurl:php?id=">
-                            </div>
-                            <!-- -m -->
-                            <div class="form-group" title="Scan multiple targets given in a textual file">
-                                <label class="form-label" for="targetsFile">FILE WITH TARGETS<br/><span>-m</span></label>
-                                <input type="text" id="targetsFile" class="form-control" placeholder="targets.txt">
-                            </div>
-                            <!-- -l -->
-                            <div class="form-group" title="Rather than providing a single target URL, it is possible to test and inject against HTTP requests proxied through Burp proxy.">
-                                <label class="form-label" for="burpFile">BURP FILE WITH HTTP REQUESTS<br/><span>-l</span></label>
-                                <input type="text" id="burpFile" class="form-control" placeholder="burp.txt">
-                            </div>
-                            <!-- --scope -->
-                            <div class="form-group" title="Rather than using all hosts parsed from provided logs with option -l, you can specify valid Python regular expression to be used for filtering desired ones.">
-                                <label class="form-label" for="burpFileScope">SCOPE FOR BURP PROXY FILE<br/><span>--scope</span></label>
-                                <input type="text" id="burpFileScope" class="form-control" placeholder="(www)?\.target\.(com|net|org)">
-                            </div>
-                        </div>
-                    </div>
-                </div>
-            </div>
-
-            <!-- CONNECTION Tab -->
-            <div class="tab-content" id="connection">
-                <div class="card">
-                    <div class="card__body">
-                        <div class="form-grid">
-                            <h3>Connection Control</h3>
-                            <!-- --timeout -->
-                            <div class="form-group" title="Seconds to wait before timeout connection (default 30)">
-                                <label class="form-label" for="timeout">REQUEST TIMEOUT<br/><span>--timeout</span></label>
-                                <input type="number" id="timeout" class="form-control" min="1" max="300" placeholder="10 (seconds)">
-                            </div>
-                            <!-- --delay -->
-                            <div class="form-group" title="Delay (in seconds) between each HTTP request">
-                                <label class="form-label" for="delay">DELAY BETWEEN REQUEST<br/><span>--delay</span></label>
-                                <input type="number" id="delay" class="form-control" min="0.01" step="0.01" placeholder="2.25 (seconds)">
-                            </div>
-                            <!-- --threads -->
-                            <div class="form-group" title="Max number of concurrent HTTP(s) requests (default 1, max 10)">
-                                <label class="form-label" for="threads">NUMBER OF CONCURRENT REQUESTS<br/><span>--threads</span></label>
-                                <input type="number" id="threads" class="form-control" min="1" max="10" placeholder="1">
-                            </div>
-                            <!-- SPACER -->
-                            <div></div>
-                            <!-- force-ssl -->
-                            <div class="form-group" title="In case that user wants to force usage of SSL/HTTPS requests toward the target, he can use this switch.
-This can be useful in cases when urls are being collected by using option --crawl or when Burp log is being provided with option -l.">
-                                <label class="form-label">FORCE USAGE OF HTTPS REQUESTS</label>
-                                <label class="checkbox-label">
-                                    <input type="checkbox" id="forceSsl">
-                                    <span class="checkmark"></span>
-                                    <span class="checkbox-label__text">--force-ssl</span>
-                                </label>
-                            </div>
-                            <!-- --keep-alive -->
-                            <div class="form-group" title="Connection optimization - using persistent HTTP(s) connections">
-                                <label class="form-label">PERSISTENT CONNECTIONS OPTIMIZATION</label>
-                                <label class="checkbox-label">
-                                    <input type="checkbox" id="keepAlive">
-                                    <span class="checkmark"></span>
-                                    <span>--keep-alive</span>
-                                </label>
-                            </div>
-                            <!-- --null-connection -->
-                            <div class="form-group" title="Connection optimization - Retrieve page length without actual HTTP response body.
-There are special HTTP request types which can be used to retrieve HTTP response's size without getting the HTTP body. This knowledge can be used in blind injection technique to distinguish True from False responses. When this switch is provided, sqlmap will try to test and exploit two different NULL connection techniques: Range and HEAD. If any of these is supported by the target web server, speed up will come from the obvious saving of used bandwidth.
-Note that this switch is incompatible with switch --text-only.">
-                                <label class="form-label">HTTP NULL CONNECTIONS OPTIMIZATION</label>
-                                <label class="checkbox-label">
-                                    <input type="checkbox" id="nullConnection">
-                                    <span class="checkmark"></span>
-                                    <span>--null-connection</span>
-                                </label>
-                            </div>
-                            <!-- --http2 -->
-                            <div class="form-group" title="Connection optimization - Use HTTP version 2 (experimental).">
-                                <label class="form-label">USE HTTP2 CONNECTIONS</label>
-                                <label class="checkbox-label">
-                                    <input type="checkbox" id="http2">
-                                    <span class="checkmark"></span>
-                                    <span>--http2</span>
-                                </label>
-                            </div>
-                            <h3>Proxy Options</h3>
-                            <!-- --proxy -->
-                            <div class="form-group" title="Use a proxy to connect to the target URL">
-                                <label class="form-label" for="proxy">HTTP(S) PROXY<br/><span>--proxy</span></label>
-                                <input type="text" id="proxy" class="form-control" placeholder="http://127.0.0.1:8080">
-                            </div>
-                            <!-- --proxy-cred -->
-                            <div class="form-group" title="Use a proxy to connect to the target URL">
-                                <label class="form-label" for="proxyCred">HTTP(S) PROXY CREDENTIALS<br/><span>--proxy-creed</span></label>
-                                <input type="text" id="proxyCred" class="form-control" placeholder="username:password">
-                            </div>
-                            <!-- --proxy-file -->
-                            <div class="form-group" title="Use a proxy to connect to the target URL">
-                                <label class="form-label" for="proxyFile">HTTP(S) PROXY FILE<br/><span>--proxy-file</span></label>
-                                <input type="text" id="proxyFile" class="form-control" placeholder="proxy-file.txt">
-                            </div>
-                            <!-- --proxy-freq -->
-                            <div class="form-group" title="Requests between change of proxy from a given --proxy-file list">
-                                <label class="form-label" for="proxyFreq">PROXY ROTATION NUMBER<br/><span>--proxy-freq</span></label>
-                                <input type="number" id="proxyFreq" class="form-control" min="1" step="1" placeholder="3">
-                            </div>
-                            <!-- --ignore-proxy -->
-                            <div class="form-group row-expand" title="Run sqlmap against a target part of a local area network by ignoring the system-wide set HTTP(S) proxy server setting.">
-                                <label class="form-label">IGNORE SYSTEM PROXY SETTINGS</label>
-                                <label class="checkbox-label">
-                                    <input type="checkbox" id="proxyIgnore">
-                                    <span class="checkmark"></span>
-                                    <span class="checkbox-label__text">--ignore-proxy</span>
-                                </label>
-                            </div>
-                            <div class="form-group" title="If, for any reason, you need to stay anonymous, instead of passing by a single predefined HTTP(S) proxy server, you can configure a Tor client together with Privoxy (or similar) on your machine as explained in Tor installation guides. 
-Then you can use a switch --tor and sqlmap will try to automatically set Tor proxy connection settings.
-You are strongly advised to use --check-tor occasionally to be sure that everything was set up properly - sqlmap will check that everything works as expected by sending a single request to an official Are you using Tor? page before any target requests.">
-                                <!-- --tor -->
-                                <div class="checkbox-grid">
-                                    <label class="form-label">TOR ANONYMITY NETWORK SETTINGS</label>
-                                    <label class="checkbox-label">
-                                        <input type="checkbox" id="tor">
-                                        <span class="checkmark"></span>
-                                        <span class="checkbox-label__text">--tor</span>
-                                    </label>
-                                    <!-- --check-tor -->
-                                    <label class="checkbox-label">
-                                        <input type="checkbox" id="checkTor">
-                                        <span class="checkmark"></span>
-                                        <span class="checkbox-label__text">--check-tor</span>
-                                    </label>
-                                </div>  
-                            </div>
-                            <!-- --tor-port -->
-                            <div class="form-group" title="In case that you want to manually set the port of used Tor proxy">
-                                <label class="form-label" for="torPort">TOR PROXY PORT<br/><span>--tor-port</span></label>
-                                <input type="number" id="torPort" class="form-control" min="1" max="65535" placeholder="9050">
-                            </div>
-                            <!-- --tor-type -->
-                            <div class="form-group" title="In case that you want to manually set the type of used Tor proxy.">
-                                <label class="form-label" for="torType">TOR PROXY TYPE<br/><span>--tor-type</span></label>
-                                <select id="torType" class="form-control">
-                                    <option value="">-- Choose Type --</option>
-                                    <option value="SOCKS5">SOCKS5 (default)</option>
-                                    <option value="SOCKS4">SOCKS4</option>
-                                    <option value="HTTP">HTTP</option>
-                                </select>
-                            </div>
-
-                        </div>
-                    </div>
-                </div>
-            </div>
-
-            <!-- REQUEST Tab -->
-            <div class="tab-content" id="request">
-                <div class="card">
-                    <div class="card__body">
-                        <div class="form-grid">
-                            <h3>Request Data</h3>
-                            <!-- --method -->
-                            <div class="form-group" title="Force usage of given HTTP method (e.g. PUT)">
-                                <label class="form-label" for="method">HTTP REQUEST METHOD<br/><span>--method</span></label>
-                                <select id="method" class="form-control">
-                                    <option value="">-- Choose HTTP Method --</option>
-                                    <option value="GET">GET</option>
-                                    <option value="POST">POST</option>
-                                    <option value="PUT">PUT</option>
-                                    <option value="DELETE">DELETE</option>
-                                    <option value="HEAD">HEAD</option>
-                                    <option value="OPTIONS">OPTIONS</option>
-                                    <option value="PATCH">PATCH</option>
-                                    <option value="custom">--Custom--</option>
-                                </select>
-                                <div class="form-group" id="customHttpMethodGroup" style="display: none">
-                                    <input type="text" id="customHttpMethod" class="form-control" placeholder="Custom HTTP method value">
-                                </div>
-                            </div>
-                            <!-- --param-del -->
-                            <div class="form-group" title="There are cases when default parameter delimiter (&) needs to be overwritten for sqlmap to be able to properly split and process each parameter separately (e.g. query=foobar;id=1 instead query=foobar&id=1).">
-                                <label class="form-label" for="paramDel">PARAMETER DELIMITER<br/><span>--param-del</span></label>
-                                <input type="text" id="paramDel" class="form-control" placeholder="&">
-                            </div>
-                            <!-- -r -->
-                            <div class="form-group" title="Load HTTP request from a file">
-                                <label class="form-label" for="requestFile">FILE WITH AN HTTP REQUEST<br/><span>-r</span></label>
-                                <input type="text" id="requestFile" class="form-control" placeholder="request.txt">
-                            </div>
-                            <!-- --data -->
-                            <div class="form-group" title="By default the HTTP method used to perform HTTP requests is GET, but you can implicitly change it to POST by providing the data to be sent in the POST requests.
-Such data, being those parameters, are tested for SQL injection as well as any provided GET parameters.">
-                                <label class="form-label" for="data">HTTP BODY DATA<br/><span>--data</span></label>
-                                <textarea id="data" class="form-control" rows="4" placeholder="param1=value1&param2=value2"></textarea>
-                            </div>
-                            <h3>Request Headers</h3>
-                            <!-- --host -->
-                            <div class="form-group" title="You can manually set HTTP Host header value. By default HTTP Host header is parsed from a provided target URL.
-Note that also the HTTP Host header is tested against SQL injection if the --level is set to 5.">
-                                <label class="form-label" for="host">CUSTOM HTTP HOST HEADER<br/><span>--host</span></label>
-                                <input type="text" id="host" class="form-control" placeholder="example.com">
-                            </div>
-                            <!-- -A / --random-agent / --mobile -->
-                            <div class="form-group" title="By default sqlmap performs HTTP requests with the &quot;sqlmap/1.0-dev-x (http://sqlmap.org)&quot; User-Agent header, but it can changed with the option -A.
-Moreover, by providing the switch --random-agent, sqlmap will randomly select a User-Agent from the ./txt/user-agents.txt textual file and use it for all HTTP requests within the session.
-Some sites perform a server-side check of HTTP User-Agent header value and fail the HTTP response if a valid User-Agent is not provided, its value is not expected or is blacklisted by a web application firewall or similar intrusion prevention system.
-Sometimes web servers expose different interfaces toward mobile phones than to desktop computers. In such cases you can enforce usage of one of predetermined smartphone HTTP User-Agent header values by using a --mobile switch (sqlmap will ask you to pick one of popular smartphones which it will imitate in current run).
-Note that also the HTTP User-Agent header is tested against SQL injection if the --level is set to 3 or above.">
-                                <label class="form-label" for="userAgent">USER-AGENT HEADER VALUE<br/><span>-A / --random-agent / --mobile</span></label>
-                                <select id="userAgent" class="form-control">
-                                    <option value="">Default: sqlmap/1.0-dev-x (http://sqlmap.org)</option>
-                                    <option value="mobile">--mobile</option>
-                                    <option value="random">--random-agent</option>
-                                    <option value="custom">--Custom--</option>
-                                    <option value="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36">Google Chrome 137 for Windows</option>
-                                    <option value="Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36">Google Chrome 137 for macOS</option>
-                                    <option value="Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36">Google Chrome 137 for Linux</option>
-                                    <option value="Mozilla/5.0 (iPhone; CPU iPhone OS 17_7 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) CriOS/137.0.7151.79 Mobile/15E148 Safari/604.1">Google Chrome 137 for iOS/iPhone</option>
-                                    <option value="Mozilla/5.0 (iPad; CPU OS 17_7 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) CriOS/137.0.7151.79 Mobile/15E148 Safari/604.1">Google Chrome 137 for iOS/iPad</option>
-                                    <option value="Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.7151.73 Mobile Safari/537.36">Google Chrome 137 for Android</option>
-                                    <option value="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36">Microsoft Edge 137 for Windows</option>
-                                    <option value="Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36 Edg/137.0.3296.68">Microsoft Edge 137 macOS</option>
-                                    <option value="Mozilla/5.0 (iPhone; CPU iPhone OS 17_7_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.0 EdgiOS/137.3296.65 Mobile/15E148 Safari/605.1.15">Microsoft Edge 137 for iOS</option>
-                                    <option value="Mozilla/5.0 (Linux; Android 10; HD1913) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.7151.73 Mobile Safari/537.36 EdgA/137.0.3296.53">Microsoft Edge 137 for Android</option>
-                                    <option value="Mozilla/5.0 (Macintosh; Intel Mac OS X 14_7_6) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.4 Safari/605.1.15">Apple Safari 18.4 for macOS</option>
-                                    <option value="Mozilla/5.0 (iPhone; CPU iPhone OS 17_7_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.4 Mobile/15E148 Safari/604.1">Apple Safari 18.4 for iOS/iPhone</option>
-                                    <option value="Mozilla/5.0 (iPad; CPU OS 17_7_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.4 Mobile/15E148 Safari/604.1">Apple Safari 18.4 for iOS/iPad</option>
-                                    <option value="Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:139.0) Gecko/20100101 Firefox/139.0">Firefox 139 for Windows</option>
-                                    <option value="Mozilla/5.0 (Macintosh; Intel Mac OS X 14.7; rv:139.0) Gecko/20100101 Firefox/139.0">Firefox 139 for macOS</option>
-                                    <option value="Mozilla/5.0 (X11; Linux i686; rv:139.0) Gecko/20100101 Firefox/139.0">Firefox 139 for Linux</option>
-                                    <option value="Mozilla/5.0 (iPhone; CPU iPhone OS 14_7_6 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) FxiOS/139.0 Mobile/15E148 Safari/605.1.15">Firefox 139 for iOS/iPhone</option>
-                                    <option value="Mozilla/5.0 (iPad; CPU OS 14_7_6 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) FxiOS/139.0 Mobile/15E148 Safari/605.1.15">Firefox 139 for iOS/iPad</option>
-                                    <option value="Mozilla/5.0 (Android 15; Mobile; rv:139.0) Gecko/139.0 Firefox/139.0">Firefox 139 for Android</option>
-                                    <option value="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36 OPR/119.0.0.0">Opera for Windows</option>
-                                    <option value="Mozilla/5.0 (Linux; Android 15; Pixel 8 Pro Build/AP4A.250205.002; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/134.0.6998.39 Mobile Safari/537.36 THDConsumer/7.45 (Android 15; Pixel 8 Pro) DID:84d0d3e3907e6ea1">Android 15 WebView for Pixel 8 Pro</option>
-                                    <option value="Mozilla/5.0 (iPhone; CPU iPhone OS 18_3_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/22D82 [FBAN/FBIOS;FBAV/507.0.0.58.94;FBBV/716584418;FBDV/iPhone17,4;FBMD/iPhone;FBSN/iOS;FBSV/18.3.2;FBSS/3;FBID/phone;FBLC/en_US;FBOP/5;FBRV/719878764;IABMV/1]">Facebook App for iOS 18.3.2</option>
-                                    <option value="Mozilla/5.0 (Linux; Android 14; SM-A137F Build/UP1A.231005.007; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/134.0.6998.135 Mobile Safari/537.36 [FBAN/EMA;FBLC/sk_SK;FBAV/451.0.0.9.108;FB_FW/1;FBDM/DisplayMetrics{density=2.8125, width=1080, height=2301,2.8125, xdpi=403.411, ydpi=399.759};]">Facebook App for Android 14</option>
-                                    <option value="Mozilla/5.0 (iPhone; CPU iPhone OS 18_3_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/22D82 Instagram 344.0.9.27.90 (iPhone15,4; iOS 18_3_2; en_US; en; scale=3.00; 1179x2556; 631222391) NW/3">Instagram App for iOS 18.3.2</option>
-                                    <option value="Mozilla/5.0 (Linux; Android 14; SM-S906U Build/UP1A.231005.007; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/135.0.7049.38 Mobile Safari/537.36 Instagram 374.0.0.43.67 Android (34/14; 480dpi; 1080x2122; samsung; SM-S906U; g0q; qcom; en_US; 715888958; IABMV/1)">Instagram App for Android 14</option>
-                                </select>
-                                <div class="form-group" id="customUserAgentGroup" style="display: none;">
-                                    <input type="text" id="customUserAgent" class="form-control" placeholder="Custom User Agent value">
-                                </div>
-                            </div>
-                            <!-- --referer -->
-                            <div class="form-group" title="By default no HTTP Referer header is sent in HTTP requests if not explicitly set by the --referer switch.
-Note that also the HTTP Referer header is tested against SQL injection if the --level is set to 3 or above.">
-                                <label class="form-label" title="HTTP Referer header value" for="referer">HTTP REFERER HEADER<br/><span>--referer</span></label>
-                                <input type="url" id="referer" class="form-control" placeholder="https://127.0.0.1/login">
-                            </div>
-                            <!-- -H -->
-                            <div class="form-group" title="Extra HTTP headers separated by a newline.">
-                                <label class="form-label" title="Additional HTTP Headers" for="headers">EXTRA HTTP HEADERS<br/><span>-H</span></label>
-                                <textarea id="headers" class="form-control" rows="4" placeholder="X-Forwarded-For: 127.0.0.1&#10;Authorization: Bearer token"></textarea>
-                            </div>
-                            <h3>Authentication</h3>
-                            <!-- --cookie -->
-                            <div class="form-group" title="HTTP Cookie header value for authentication (and for exploitation if the --level is set to 2 or above).
-If you provide a HTTP Cookie header with option --cookie and the target URL sends an HTTP Set-Cookie header at any time, sqlmap will ask you which set of cookies to use for the following HTTP requests (see also a --drop-set-cookie switch).">
-                                <label class="form-label" title="HTTP Cookie header value" for="cookie">COOKIE HEADER VALUE<br/><span>--cookie</span></label>
-                                <input id="cookie" class="form-control" placeholder="PHPSESSID=abc123; userid=1"></input>
-                            </div>
-                            <!-- --cookie-del -->
-                            <div class="form-group" title="the HTTP Cookie header values are usually separated by a ; character, not by an &. Sqlmap can recognize these as separate sets of parameter=value too, as well as GET and POST parameters. In case that the separation character is other than ; it can be specified by using option --cookie-del">
-                                <label class="form-label" title="HTTP Cookie header value" for="cookieDel">COOKIE DELIMITER<br/><span>--cookie-del</span></label>
-                                <input type="text" id="cookieDel" class="form-control" placeholder=";">
-                            </div>
-                            <!-- --live-cookies -->
-                            <div class="form-group" title="Option --live-cookies can be used to provide a cookies file which will be used for loading of up-to-date values. This means that that same file will be read prior to each request to get the latest value for HTTP Cookie header.
-It should point to a file with fresh/up-to-date cookie values. Trick is that once you delete its content, sqlmap immediately will stop and wait for the update of its content. Same applies if you just modify its content in-place. You can do this indefinitely number of times during a run. In your case, you can just run sqlmap in one terminal, with --live-cookies pointing to a file containing starting cookie value, while in another terminal you can do a periodic deletion and filling of that same file.">
-                                <label class="form-label" title="HTTP Cookie header value" for="cookieLive">LIVE COOKIES FILE<br/><span>--live-cookies</span></label>
-                                <input type="text" id="cookieLive" class="form-control" placeholder="live-cookies.txt">
-                            </div>
-                            <!-- --load-cookies -->
-                            <div class="form-group" title="An option --load-cookies can be used to provide a special file containing Netscape/wget formatted cookies. This format includes not only cookie names and values but also their domains, paths, expiry, and security attributes.
-Unlike the --cookie or -H options which requires to manually enter raw cookie strings, --load-cookies reads structures cookie data, which can help fully replicate a browser session.">
-                                <label class="form-label" title="HTTP Cookie header value" for="cookieLoad">RAW COOKIE FILE<br/><span>--load-cookies</span></label>
-                                <input type="text" id="cookieLoad" class="form-control" placeholder="load-cookies.txt">
-                            </div>
-                            <!-- --drop-set-cookie -->
-                            <div class="form-group" title="If the web application responds with Set-Cookie headers, sqlmap will automatically use its value in all further HTTP requests as the Cookie header. Sqlmap will also automatically test those values for SQL injection.
-This can be avoided by providing the switch --drop-set-cookie. Therefore, an sqlmap will ignore any coming Set-Cookie header.">
-                                <label class="form-label">IGNORE Set-Cookie HEADER</label>
-                                <label class="checkbox-label">
-                                    <input type="checkbox" id="cookieDrop">
-                                    <span class="checkmark"></span>
-                                    <span class="checkbox-label__text">--drop-set-cookie</span>
-                                </label>
-                            </div>
-                            <div></div>
-                            <!-- --auth-type/--auth-cred -->
-                            <div class="form-group" title="These options can be used to specify which HTTP protocol authentication back-end web server implements and the valid credentials to be used to perform all HTTP requests to the target application.">
-                                <label class="form-label" for="authType">HTTP PROTOCOL AUTHENTICATION<br/><span>--auth-type / --auth-cred</span></label>
-                                <select id="authType" class="form-control">
-                                    <option value="">-- Choose auth method --</option>
-                                    <option value="Basic">Basic</option>
-                                    <option value="Digest">Digest</option>
-                                    <option value="NTLM">NTLM</option>
-                                </select>
-                                <div class="form-group">
-                                    <input type="text" id="authCred" class="form-control" placeholder="username:password">
-                                </div>
-                            </div>
-                            <!-- --auth-file -->
-                            <div class="form-group" title="This option should be used in cases when the web server requires proper client-side certificate and a private key for authentication.
-Supplied value should be a PEM formatted key_file that contains your certificate and a private key.">
-                                <label class="form-label" for="authFile">PRIVATE KEY AUTHENTICATION<br/><span>--auth-file</span></label>
-                                <input type="text" id="authFile" class="form-control" placeholder="auth_file.key">
-                            </div>
-                            <h3>CSRF Tokens Control</h3>
-                            <!-- --csrf-token -->
-                            <div class="form-group" title="Option --csrf-token can be used to set the name of the hidden value that contains the randomized token. This is useful in cases when web sites use non-standard names for such fields.">
-                                <label class="form-label" for="csrfToken">ANTI-CSRF TOKEN FIELD<br/><span>--csrf-token</span></label>
-                                <input type="text" id="csrfToken" class="form-control" placeholder="anti-csrf">
-                            </div>
-                            <!-- --csrf-url -->
-                            <div class="form-group" title="Option --csrf-url can be used for retrieval of the token value from arbitrary URL address. This is useful if the vulnerable target URL doesn't contain the necessary token value in the first place, but it is required to extract it from some other location.">
-                                <label class="form-label" for="csrfUrl">TOKEN EXTRACTION URL<br/><span>--csrf-url</span></label>
-                                <input type="url" id="csrfUrl" class="form-control" placeholder="https://example.com/profile/">
-                            </div>
-                            <!-- --csrf-method -->
-                            <div class="form-group" title="Force usage of given HTTP method (e.g. PUT) during anti-CSRF token page visit https://vocus.cc/article/641c1527fd89780001447d2e">
-                                <label class="form-label" for="csrfMethod">HTTP METHOD FOR TOKEN RETRIEVAL<br/><span>--csrf-method</span></label>
-                                <select id="csrfMethod" class="form-control">
-                                    <option value="">-- Choose HTTP method --</option>
-                                    <option value="GET">GET</option>
-                                    <option value="POST">POST</option>
-                                    <option value="PUT">PUT</option>
-                                    <option value="DELETE">DELETE</option>
-                                    <option value="HEAD">HEAD</option>
-                                    <option value="OPTIONS">OPTIONS</option>
-                                    <option value="PATCH">PATCH</option>
-                                    <option value="custom">--Custom--</option>
-                                </select>
-                                <div class="form-group" id="customCsrfMethodGroup">
-                                    <input type="text" id="customCsrfMethod" class="form-control" placeholder="HTTP method for token extraction">
-                                </div>
-                            </div>
-                            <!-- --csrf-retries -->
-                            <div class="form-group" title="Retries for anti-CSRF token retrieval (default 0)">
-                                <label class="form-label" for="csrfRetries">RETRIES DURING TOKEN RETRIEVAL<br/><span>--csrf-retries</span></label>
-                                <input type="number" id="csrfRetries" class="form-control" placeholder="0" min="0" step="1">
-                            </div>
-                        </div>
-                    </div>
-                </div>
-            </div>
-
-            <!-- INJECTION Tab -->
-            <div class="tab-content" id="injection">
-                <div class="card">
-                    <div class="card__body">
-                        <div class="form-grid">
-
-                            <h3>Parameters</h3>
-                            <!-- -p -->
-                            <div class="form-group" title="Comma separated parameters for testing. By default sqlmap tests all GET parameters and POST parameters.
-When the value of --level is &gt;= 2 it tests also HTTP Cookie header values. When this value is &gt;= 3 it tests also HTTP User-Agent and HTTP Referer header value for SQL injections.
-It is however possible to manually specify a comma-separated list of parameter(s) that you want sqlmap to test. This will bypass the dependence on value of --level too.
-For instance, to test for GET parameter id and for HTTP User-Agent only, provide -p &quot;id,user-agent&quot;.">
-                                <label class="form-label" for="paramTest">TESTABLE PARAMETERS<br/><span>-p</span></label>
-                                <input type="text" id="paramTest" class="form-control" placeholder="id,user-agent">
-                            </div>
-                            <!-- --skip -->
-                            <div class="form-group" title="Skip testing for given parameter(s). That is especially useful in cases when you want to use higher value for --level and test all available parameters excluding some of HTTP headers normally being tested.
-For instance, to skip testing for HTTP header User-Agent and HTTP header Referer at --level=5, provide --skip=&quot;user-agent,referer&quot;.">
-                                <label class="form-label" for="paramSkip">FORBIDDEN PARAMETERS<br/><span>--skip</span></label>
-                                <input type="text" id="paramSkip" class="form-control" placeholder="csrf_token,session_id">
-                            </div>
-                            <!-- --param-exclude -->
-                            <div class="form-group" title="Skip testing for given parameter(s). This is the same as --skip, but this switch is based on a regular expressions.
-For instance, to skip testing for parameters which contain string token or session in their names, provide --param-exclude=&quot;token|session&quot;">
-                                <label class="form-label" for="paramExclude">FORBIDDEN PARAMETERS REGEX<br/><span>--param-exclude</span></label>
-                                <input type="text" id="paramExclude" class="form-control" placeholder="token|session">
-                            </div>
-                            <!-- --param-filter -->
-                            <div class="form-group" title="The --param-filter parameter restrict scans to specific components of HTTP requests, improving efficiency and reducing noise. Accepted comma-separated values include GET (URL parameters), POST (request body), COOKIE, HOST, USER-AGENT, and REFERER.
-This switch can isolate high-risk areas like API endpoints (test only POST body parameters) or speed-up headers injection testing (specifying COOKIE,HOST,USER-AGENT,REFERER filter with --level=5 focuses scans on headers, ignoring GET/POST parameters).
-The filter reduces scan times by 30-40% in header-rich environments and minimizes false positives from unnecessary parameters.">
-                                <label class="form-label" title="Skip testing for given parameter(s)" for="paramFilter">PARAMETERS SCAN CATEGORY ALLOWLIST<br/><span>--param-filter</span></label>
-                                <input type="text" id="paramFilter" class="form-control" placeholder="GET,POST,COOKIE,USER-AGENT...">
-                            </div>
-                            <!-- --prefix -->
-                            <div class="form-group" title="The --prefix parameter allows you to prepend a custom string to every SQL injection payload before it is sent to the target application.
-                                 This parameter is essential when applications require specific SQL syntax or characters before the actual injection payload to construct a valid query.
-                                 It is particularly useful when dealing with applications that embed parameters within complex SQL queries requiring specific opening syntax, such as closing quotes or parentheses before the injection point.">
-                                <label class="form-label" title="Injection payload prefix string" for="prefix">Prefix<br/><span>--prefix</span></label>
-                                <input type="text" id="prefix" class="form-control" placeholder="')">
-                            </div>
-                            <!-- --suffix -->
-                            <div class="form-group" title="The --suffix parameter enables you to append a custom string to every SQL injection payload after the main injection code.
-It is crucial when applications require specific closing characters or comments to prevent SQL syntax errors, such as SQL comments (--) or closing parentheses to maintain query validity.">
-                                <label class="form-label" title="Injection payload suffix string" for="suffix">Suffix<br/><span>--suffix</span></label>
-                                <input type="text" id="suffix" class="form-control" placeholder="-- -">
-                            </div>
-
-                            <h3>Attack Optimalization</h3>
-                            <!-- --level -->
-                            <div class="form-group" title="Level of tests to perform (default: 1)">
-                                <label class="form-label" for="level">ATTACK <span>--level</span> <span id="levelValue">1</span></label>
-                                <input type="range" id="level" class="slider" min="1" max="5" value="1">
-                                <div class="additional-help" id="level-help">1: Show also information and warning messages (default).</div>
-                            </div>
-                            <!-- --risk -->
-                            <div class="form-group" title="Risk of tests to perform (default: 1)">
-                                <label class="form-label" for="risk">ATTACK <span>--risk</span> <span id="riskValue">1</span></label>
-                                <input type="range" id="risk" class="slider" min="1" max="3" value="1">
-                                <div class="additional-help" id="risk-help">1: Innocuous test for the majority of SQL injection points (default).</div>
-                            </div>
-                            <!-- --dbms -->
-                            <div class="form-group" title="Force back-end database engine">
-                                <label class="form-label" for="dbms">FORCE TARGET DATABASE ENGINE<br/><span>--dbms</span></label>
-                                <select id="dbms" class="form-control">
-                                    <option value="">Auto-detect</option>
-                                    <option value="MySQL">MySQL</option>
-                                    <option value="Oracle">Oracle</option>
-                                    <option value="PostgreSQL">PostgreSQL</option>
-                                    <option value="Microsoft SQL Server">Microsoft SQL Server</option>
-                                    <option value="Microsoft Access">Microsoft Access</option>
-                                    <option value="IBM DB2">IBM DB2</option>
-                                    <option value="SQLite">SQLite</option>
-                                    <option value="Firebird">Firebird</option>
-                                    <option value="Sybase">Sybase</option>
-                                    <option value="SAP MaxDB">SAP MaxDB</option>
-                                    <option value="Informix">Informix</option>
-                                    <option value="MariaDB">MariaDB</option>
-                                    <option value="Percona">Percona</option>
-                                    <option value="MemSQL">MemSQL</option>
-                                    <option value="TiDB">TiDB</option>
-                                    <option value="CockroachDB">CockroachDB</option>
-                                    <option value="HSQLDB">HSQLDB</option>
-                                    <option value="H2">H2</option>
-                                    <option value="MonetDB">MonetDB</option>
-                                    <option value="Apache Derby">Apache Derby</option>
-                                    <option value="Amazon Redshift">Amazon Redshift</option>
-                                    <option value="Vertica">Vertica</option>
-                                    <option value="Mckoi">Mckoi</option>
-                                    <option value="Presto">Presto</option>
-                                    <option value="Altibase">Altibase</option>
-                                    <option value="MimerSQL">MimerSQL</option>
-                                    <option value="CrateDB">CrateDB</option>
-                                    <option value="Greenplum">Greenplum</option>
-                                    <option value="Drizzle">Drizzle</option>
-                                    <option value="Apache Ignite">Apache Ignite</option>
-                                    <option value="Cubrid">Cubrid</option>
-                                    <option value="InterSystems Cache">InterSystems Cache</option>
-                                    <option value="IRIS">IRIS</option>
-                                    <option value="eXtremeDB">eXtremeDB</option>
-                                    <option value="FrontBase">FrontBase</option>
-                                </select>
-                            </div>
-                            <!-- --os -->
-                            <div class="form-group" title="By default sqlmap automatically detects the web application's back-end database management system underlying operating system when this information is a dependence of any other provided switch or option. It is possible to force the operating system name if you already know it so that sqlmap will avoid doing it itself. Note that this option is not mandatory and it is strongly recommended to use it only if you are absolutely sure about the back-end database management system underlying operating system. If you do not know it, let sqlmap automatically identify it for you.">
-                                <label class="form-label" for="os">FORCE TARGET OS<br/><span>--os</span></label>
-                                <select id="os" class="form-control">
-                                    <option value="">Auto-detect</option>
-                                    <option value="Linux">Linux</option>
-                                    <option value="Windows">Windows</option>
-                                </select>
-                            </div>
-                            <!-- --second-url -->
-                            <div class="form-group" title="Second-order SQL injection attack is an attack where result(s) of an injected payload in one vulnerable page is reflected at the other (e.g. frame).
-You can point sqlmap a resulting page URL searched for second-order response to test for this type of SQL injection by using option --second-order.">
-                                <label class="form-label" for="secondUrl">SECOND ORDER PAGE URL<br/><span>--second-url</span></label>
-                                <input type="url" id="secondUrl" class="form-control" placeholder="https://example.com/profile">
-                            </div>
-                            <!-- --second-req -->
-                            <div class="form-group" title="Second-order SQL injection attack is an attack where result(s) of an injected payload in one vulnerable page is reflected at the other (e.g. frame).
-You can point sqlmap a request file for sending to the server where results are being shown to test by using option --second-req.">
-                                <label class="form-label" for="secondUrl">SECOND ORDER REQUEST FILE<br/><span>--second-req</span></label>
-                                <input type="text" id="secondReq" class="form-control" placeholder="second-order-request.txt">
-                            </div>
-                            <!-- Attack techniques -->
-                            <div class="form-group">
-                                <label class="form-label" title="">ATTACK TECHNIQUES<br/><span>--technique</span></label>
-                                <div class="checkbox-grid">
-                                    <label class="checkbox-label">
-                                        <input type="checkbox" id="techB" value="B">
-                                        <span class="checkmark"></span>
-                                        Boolean-based blind
-                                    </label>
-                                    <label class="checkbox-label">
-                                        <input type="checkbox" id="techE" value="E">
-                                        <span class="checkmark"></span>
-                                        Error-based
-                                    </label>
-                                    <label class="checkbox-label">
-                                        <input type="checkbox" id="techU" value="U">
-                                        <span class="checkmark"></span>
-                                        Union query-based
-                                    </label>
-                                    <label class="checkbox-label">
-                                        <input type="checkbox" id="techS" value="S">
-                                        <span class="checkmark"></span>
-                                        Stacked queries
-                                    </label>
-                                    <label class="checkbox-label">
-                                        <input type="checkbox" id="techT" value="T">
-                                        <span class="checkmark"></span>
-                                        Time-based blind
-                                    </label>
-                                    <label class="checkbox-label">
-                                        <input type="checkbox" id="techQ" value="Q">
-                                        <span class="checkmark"></span>
-                                        Inline queries
-                                    </label>
-                                </div>
-                            </div>
-                            <!-- Attack tuning -->
-                            <div class="form-group" title="Connection optimization - using persistent HTTP(s) connections">
-                                <label class="form-label">ATTACK TUNING</label>
-                                <div class="checkbox-grid">
-                                    <!-- --invalid-bignum -->
-                                    <label class="checkbox-label" title="This parameter forces sqlmap to use large integer numbers for invalidating original parameter values during SQL injection tests.
-Instead of standard invalidation methods (e.g., negative values), sqlmap replaces original values with very large numbers, which can bypass application filters that block typical techniques.
-It is particularly useful when applications filter standard parameter invalidation methods but may not properly handle extremely large numeric values.">
-                                        <input type="checkbox" id="invalidBignum">
-                                        <span class="checkmark"></span>
-                                        <span>--invalid-bignum</span>
-                                    </label>
-                                    <!-- --invalid-logical -->
-                                    <label class="checkbox-label" title="The switch enables the use of logical operations to invalidate parameter values.
-Sqlmap replaces original values with logical expressions that always return false (e.g., id=(1=0)).
-This method is effective when applications expect logical values or block other invalidation techniques. The parameter serves as an alternative for standard invalidation methods in environments with advanced filtering mechanisms.">
-                                        <input type="checkbox" id="invalidLogical">
-                                        <span class="checkmark"></span>
-                                        <span>--invalid-logical</span>
-                                    </label>
-                                    <!-- --invalid-string -->
-                                    <label class="checkbox-label" title="This parameter causes sqlmap to use random character strings for parameter value invalidation. Sqlmap generates random strings instead of original values, bypassing application filters focused on numeric values.
-It is useful when applications have special validation mechanisms for numbers but do not check string inputs.
-The parameter automatically replaces parameters with random strings during boolean-based injection tests.">
-                                        <input type="checkbox" id="invalidString">
-                                        <span class="checkmark"></span>
-                                        <span>--invalid-string</span>
-                                    </label>
-                                    <!-- --no-cast -->
-                                    <label class="checkbox-label" title="The switch disables sqlmap's automatic payload casting mechanism.
-Normally sqlmap adds CAST() functions to payloads for handling different DBMS data types.
-Using --no-cast is necessary when applications have payload length restrictions or when casting functions are blocked by WAF. It significantly reduces the size of generated payloads, which is critical in environments with character limits.
-It is often combined with --no-escape in environments with query length restrictions where every character matters.">
-                                        <input type="checkbox" id="noCast">
-                                        <span class="checkmark"></span>
-                                        <span>--no-cast</span>
-                                    </label>
-                                    <!-- --no-escape -->
-                                    <label class="checkbox-label" title="This parameter disables sqlmap's built-in string escaping mechanism.
-By default sqlmap automatically escapes special characters in payloads (adds backslash before apostrophes). This switch is useful when applications have their own escaping mechanisms or when automatic escaping breaks payloads.
-It is often combined with --no-cast in environments with query length restrictions where every character matters.">
-                                        <input type="checkbox" id="noEscape">
-                                        <span class="checkmark"></span>
-                                        <span>--no-escape</span>
-                                    </label>
-                                    <!-- --predict-output -->
-                                    <label class="checkbox-label" title="The switch enables a statistical algorithm for predicting query results in inference techniques.
-Sqlmap builds statistical tables of most probable character values based on the txt/common-outputs.txt file and current enumeration knowledge. It significantly speeds up data retrieval when values belong to common patterns (system table names, privileges).
-The parameter is not compatible with --threads and works best when retrieving standard DBMS entities.">
-                                        <input type="checkbox" id="predictOutput">
-                                        <span class="checkmark"></span>
-                                        <span>--predict-output</span>
-                                    </label>
-                                </div>
-                            </div>
-                        </div>
-                    </div>
-                </div>
-            </div>
-
-            <!-- Exploitation Tab -->
-            <div class="tab-content" id="exploitation">
-                <div class="card">
-                    <div class="card__body">
-                        <div class="form-grid">
-                            <div class="checkbox-grid" title="These options can be used to enumerate the back-end database management system information, structure and data contained in the tables">
-                                <label class="form-label">ENUMERATION AND DATA EXFILTRATION</label>
-                                <label class="checkbox-label" title="Retrieve DBMS current user">
-                                    <input type="checkbox" id="currentUser">
-                                    <span class="checkmark"></span>
-                                    <span>--current-user</span>
-                                </label>
-                                <label class="checkbox-label" title="Retrieve DBMS current database">
-                                    <input type="checkbox" id="currentDb">
-                                    <span class="checkmark"></span>
-                                    <span>--current-db</span>
-                                </label>
-                                <label class="checkbox-label" title="Enumerate DBMS databases">
-                                    <input type="checkbox" id="dbs">
-                                    <span class="checkmark"></span>
-                                    <span>--dbs</span>
-                                </label>
-                                <label class="checkbox-label" title="Enumerate DBMS database tables">
-                                    <input type="checkbox" id="tables">
-                                    <span class="checkmark"></span>
-                                    <span>--tables</span>
-                                </label>
-                                <label class="checkbox-label" title="Enumerate DBMS database table columns">
-                                    <input type="checkbox" id="columns">
-                                    <span class="checkmark"></span>
-                                    <span>--columns</span>
-                                </label>
-                                <label class="checkbox-label" title="Enumerate DBMS schema">
-                                    <input type="checkbox" id="schema">
-                                    <span class="checkmark"></span>
-                                    <span>--schema</span>
-                                </label>
-                                <label class="checkbox-label" title="Dump all DBMS databases tables entries">
-                                    <input type="checkbox" id="dumpAll">
-                                    <span class="checkmark"></span>
-                                    <span>--dump-all</span>
-                                </label>
-                            </div>
-                            <div class="form-group">
-                                <label class="form-label" title="DBMS database to enumerate" for="database">DATABASE(S) NAME FOR ENUMERATION<br/><span>-D</span></label>
-                                <input type="text" id="database" class="form-control" placeholder="database_name1,database_name2">
-                            </div>
-                            <div class="form-group">
-                                <label class="form-label" title="DBMS database table(s) to enumerate" for="table">TABLE(S) NAME FOR ENUMERATION<br/><span>-T</span></label>
-                                <input type="text" id="table" class="form-control" placeholder="table_name1,table_name2">
-                            </div>
-                            <div class="form-group">
-                                <label class="form-label" title="DBMS database table column(s) to enumerate" for="column">COLUMN(S) NAME FOR ENUMERATION<br/><span>-C</span></label>
-                                <input type="text" id="column" class="form-control" placeholder="column_name1,column_name2">
-                            </div>
-                        </div>
-                    </div>
-                </div>
-            </div>
-
-        <!-- TAMPERING Tab -->
-        <div class="tab-content" id="tampering">
-            <div class="card">
-                <div class="card__body">
-                    <div class="form-grid form-grid-tamper">
-
-                                <!-- <label class="form-label" title="Use given script(s) for tampering injection data" for="tamper">TAMPER SCRIPTS</label> -->
-                                <input type="text" id="tamper" class="form-control" placeholder="between,randomcase,space2comment" style="display: none;">
-
-                        <label class="checkbox-label checkbox-label-tamper">
-                            <input type="checkbox" id="tamperscript-0eunion">
-                            <span class="checkmark"></span>
-                            <span class="checkbox-label-tamper__title">0eunion.py
-                                <br/><span class="checkbox-label-tamper__subtitle">Replaces instances of UNION with e0UNION to bypass certain filters
-                                </span></span>
-                        </label>
-                        
-                        <label class="checkbox-label checkbox-label-tamper">
-                            <input type="checkbox" id="tamperscript-apostrophemask">
-                            <span class="checkmark"></span>
-                            <span class="checkbox-label-tamper__title">apostrophemask.py
-                                <br/><span class="checkbox-label-tamper__subtitle">Replaces apostrophe character with its UTF-8 full width counterpart</span></span>
-                        </label>
-                        
-                        <label class="checkbox-label checkbox-label-tamper">
-                            <input type="checkbox" id="tamperscript-apostrophenullencode">
-                            <span class="checkmark"></span>
-                            <span class="checkbox-label-tamper__title">apostrophenullencode.py
-                                <br/><span class="checkbox-label-tamper__subtitle">Replaces apostrophe character with its illegal double unicode counterpart</span></span>
-                        </label>
-                        
-                        <label class="checkbox-label checkbox-label-tamper">
-                            <input type="checkbox" id="tamperscript-appendnullbyte">
-                            <span class="checkmark"></span>
-                            <span class="checkbox-label-tamper__title">appendnullbyte.py
-                                <br/><span class="checkbox-label-tamper__subtitle">Appends encoded NULL byte character at the end of payload</span></span>
-                        </label>
-                        
-                        <label class="checkbox-label checkbox-label-tamper">
-                            <input type="checkbox" id="tamperscript-base64encode">
-                            <span class="checkmark"></span>
-                            <span class="checkbox-label-tamper__title">base64encode.py
-                                <br/><span class="checkbox-label-tamper__subtitle">Base64 encodes all characters in a given payload</span></span>
-                        </label>
-                        
-                        <label class="checkbox-label checkbox-label-tamper">
-                            <input type="checkbox" id="tamperscript-between">
-                            <span class="checkmark"></span>
-                            <span class="checkbox-label-tamper__title">between.py
-                                <br/><span class="checkbox-label-tamper__subtitle">Replaces greater than operator ('>') with 'NOT BETWEEN 0 AND #' and equals with 'BETWEEN # AND #'</span></span>
-                        </label>
-                        
-                        <label class="checkbox-label checkbox-label-tamper">
-                            <input type="checkbox" id="tamperscript-binary">
-                            <span class="checkmark"></span>
-                            <span class="checkbox-label-tamper__title">binary.py
-                                <br/><span class="checkbox-label-tamper__subtitle">Converts string values to their binary representation for payload obfuscation</span></span>
-                        </label>
-                        
-                        <label class="checkbox-label checkbox-label-tamper">
-                            <input type="checkbox" id="tamperscript-bluecoat">
-                            <span class="checkmark"></span>
-                            <span class="checkbox-label-tamper__title">bluecoat.py
-                                <br/><span class="checkbox-label-tamper__subtitle">Replaces space character after SQL statement with a valid random blank character and = with LIKE operator</span></span>
-                        </label>
-                        
-                        <label class="checkbox-label checkbox-label-tamper">
-                            <input type="checkbox" id="tamperscript-chardoubleencode">
-                            <span class="checkmark"></span>
-                            <span class="checkbox-label-tamper__title">chardoubleencode.py
-                                <br/><span class="checkbox-label-tamper__subtitle">Double URL-encodes all characters in a given payload (not processing already encoded)</span></span>
-                        </label>
-                        
-                        <label class="checkbox-label checkbox-label-tamper">
-                            <input type="checkbox" id="tamperscript-charencode">
-                            <span class="checkmark"></span>
-                            <span class="checkbox-label-tamper__title">charencode.py
-                                <br/><span class="checkbox-label-tamper__subtitle">URL-encodes all characters in a given payload (not processing already encoded)</span></span>
-                        </label>
-                        
-                        <label class="checkbox-label checkbox-label-tamper">
-                            <input type="checkbox" id="tamperscript-charunicodeencode">
-                            <span class="checkmark"></span>
-                            <span class="checkbox-label-tamper__title">charunicodeencode.py
-                                <br/><span class="checkbox-label-tamper__subtitle">Unicode-URL-encodes non-encoded characters in a given payload</span></span>
-                        </label>
-                        
-                        <label class="checkbox-label checkbox-label-tamper">
-                            <input type="checkbox" id="tamperscript-charunicodeescape">
-                            <span class="checkmark"></span>
-                            <span class="checkbox-label-tamper__title">charunicodeescape.py
-                                <br/><span class="checkbox-label-tamper__subtitle">Unicode-escapes non-encoded characters in a given payload using \\uXXXX format</span></span>
-                        </label>
-                        
-                        <label class="checkbox-label checkbox-label-tamper">
-                            <input type="checkbox" id="tamperscript-commalesslimit">
-                            <span class="checkmark"></span>
-                            <span class="checkbox-label-tamper__title">commalesslimit.py
-                                <br/><span class="checkbox-label-tamper__subtitle">Replaces instances like 'LIMIT M, N' with 'LIMIT N OFFSET M' counterpart</span></span>
-                        </label>
-                        
-                        <label class="checkbox-label checkbox-label-tamper">
-                            <input type="checkbox" id="tamperscript-commalessmid">
-                            <span class="checkmark"></span>
-                            <span class="checkbox-label-tamper__title">commalessmid.py
-                                <br/><span class="checkbox-label-tamper__subtitle">Replaces instances like 'MID(A, B, C)' with 'MID(A FROM B FOR C)' counterpart</span></span>
-                        </label>
-                        
-                        <label class="checkbox-label checkbox-label-tamper">
-                            <input type="checkbox" id="tamperscript-commentbeforeparentheses">
-                            <span class="checkmark"></span>
-                            <span class="checkbox-label-tamper__title">commentbeforeparentheses.py
-                                <br/><span class="checkbox-label-tamper__subtitle">Adds comments before opening parentheses to bypass certain filters</span></span>
-                        </label>
-                        
-                        <label class="checkbox-label checkbox-label-tamper">
-                            <input type="checkbox" id="tamperscript-concat2concatws">
-                            <span class="checkmark"></span>
-                            <span class="checkbox-label-tamper__title">concat2concatws.py
-                                <br/><span class="checkbox-label-tamper__subtitle">Replaces instances like 'CONCAT(A, B)' with 'CONCAT_WS(MID(CHAR(0), 0, 0), A, B)' counterpart</span></span>
-                        </label>
-                        
-                        <label class="checkbox-label checkbox-label-tamper">
-                            <input type="checkbox" id="tamperscript-decentities">
-                            <span class="checkmark"></span>
-                            <span class="checkbox-label-tamper__title">decentities.py
-                                <br/><span class="checkbox-label-tamper__subtitle">HTML decimal-encodes all non-alphanumeric characters</span></span>
-                        </label>
-                        
-                        <label class="checkbox-label checkbox-label-tamper">
-                            <input type="checkbox" id="tamperscript-dunion">
-                            <span class="checkmark"></span>
-                            <span class="checkbox-label-tamper__title">dunion.py
-                                <br/><span class="checkbox-label-tamper__subtitle">Replaces instances of UNION with DISTINCTROW UNION to bypass certain filters</span></span>
-                        </label>
-                        
-                        <label class="checkbox-label checkbox-label-tamper">
-                            <input type="checkbox" id="tamperscript-equaltolike">
-                            <span class="checkmark"></span>
-                            <span class="checkbox-label-tamper__title">equaltolike.py
-                                <br/><span class="checkbox-label-tamper__subtitle">Replaces all occurrences of operator equal ('=') with 'LIKE' counterpart</span></span>
-                        </label>
-                        
-                        <label class="checkbox-label checkbox-label-tamper">
-                            <input type="checkbox" id="tamperscript-equaltorlike">
-                            <span class="checkmark"></span>
-                            <span class="checkbox-label-tamper__title">equaltorlike.py
-                                <br/><span class="checkbox-label-tamper__subtitle">Replaces all occurrences of operator equal ('=') with 'RLIKE' counterpart</span></span>
-                        </label>
-                        
-                        <label class="checkbox-label checkbox-label-tamper">
-                            <input type="checkbox" id="tamperscript-escapequotes">
-                            <span class="checkmark"></span>
-                            <span class="checkbox-label-tamper__title">escapequotes.py
-                                <br/><span class="checkbox-label-tamper__subtitle">Slash escape quotes (' and ") in payload</span></span>
-                        </label>
-                        
-                        <label class="checkbox-label checkbox-label-tamper">
-                            <input type="checkbox" id="tamperscript-greatest">
-                            <span class="checkmark"></span>
-                            <span class="checkbox-label-tamper__title">greatest.py
-                                <br/><span class="checkbox-label-tamper__subtitle">Replaces greater than operator ('>') with 'GREATEST' counterpart</span></span>
-                        </label>
-                        
-                        <label class="checkbox-label checkbox-label-tamper">
-                            <input type="checkbox" id="tamperscript-halfversionedmorekeywords">
-                            <span class="checkmark"></span>
-                            <span class="checkbox-label-tamper__title">halfversionedmorekeywords.py
-                                <br/><span class="checkbox-label-tamper__subtitle">Adds MySQL versioned comment before each keyword</span></span>
-                        </label>
-                        
-                        <label class="checkbox-label checkbox-label-tamper">
-                            <input type="checkbox" id="tamperscript-hex2char">
-                            <span class="checkmark"></span>
-                            <span class="checkbox-label-tamper__title">hex2char.py
-                                <br/><span class="checkbox-label-tamper__subtitle">Replaces each (MySQL) 0x encoded string with equivalent CHAR() counterpart</span></span>
-                        </label>
-                        
-                        <label class="checkbox-label checkbox-label-tamper">
-                            <input type="checkbox" id="tamperscript-hexentities">
-                            <span class="checkmark"></span>
-                            <span class="checkbox-label-tamper__title">hexentities.py
-                                <br/><span class="checkbox-label-tamper__subtitle">HTML hex-encodes all non-alphanumeric characters</span></span>
-                        </label>
-                        
-                        <label class="checkbox-label checkbox-label-tamper">
-                            <input type="checkbox" id="tamperscript-htmlencode">
-                            <span class="checkmark"></span>
-                            <span class="checkbox-label-tamper__title">htmlencode.py
-                                <br/><span class="checkbox-label-tamper__subtitle">HTML-encodes all non-alphanumeric characters</span></span>
-                        </label>
-                        
-                        <label class="checkbox-label checkbox-label-tamper">
-                            <input type="checkbox" id="tamperscript-if2case">
-                            <span class="checkmark"></span>
-                            <span class="checkbox-label-tamper__title">if2case.py
-                                <br/><span class="checkbox-label-tamper__subtitle">Replaces instances like 'IF(A, B, C)' with 'CASE WHEN (A) THEN (B) ELSE (C) END' counterpart</span></span>
-                        </label>
-                        
-                        <label class="checkbox-label checkbox-label-tamper">
-                            <input type="checkbox" id="tamperscript-ifnull2casewhenisnull">
-                            <span class="checkmark"></span>
-                            <span class="checkbox-label-tamper__title">ifnull2casewhenisnull.py
-                                <br/><span class="checkbox-label-tamper__subtitle">Replaces instances like 'IFNULL(A, B)' with 'CASE WHEN ISNULL(A) THEN (B) ELSE (A) END' counterpart</span></span>
-                        </label>
-                        
-                        <label class="checkbox-label checkbox-label-tamper">
-                            <input type="checkbox" id="tamperscript-ifnull2ifisnull">
-                            <span class="checkmark"></span>
-                            <span class="checkbox-label-tamper__title">ifnull2ifisnull.py
-                                <br/><span class="checkbox-label-tamper__subtitle">Replaces instances like 'IFNULL(A, B)' with 'IF(ISNULL(A), B, A)' counterpart</span></span>
-                        </label>
-                        
-                        <label class="checkbox-label checkbox-label-tamper">
-                            <input type="checkbox" id="tamperscript-informationschemacomment">
-                            <span class="checkmark"></span>
-                            <span class="checkbox-label-tamper__title">informationschemacomment.py
-                                <br/><span class="checkbox-label-tamper__subtitle">Adds MySQL comment to INFORMATION_SCHEMA for bypassing certain filters</span></span>
-                        </label>
-                        
-                        <label class="checkbox-label checkbox-label-tamper">
-                            <input type="checkbox" id="tamperscript-least">
-                            <span class="checkmark"></span>
-                            <span class="checkbox-label-tamper__title">least.py
-                                <br/><span class="checkbox-label-tamper__subtitle">Replaces greater than operator ('>') with 'LEAST' counterpart</span></span>
-                        </label>
-                        
-                        <label class="checkbox-label checkbox-label-tamper">
-                            <input type="checkbox" id="tamperscript-lowercase">
-                            <span class="checkmark"></span>
-                            <span class="checkbox-label-tamper__title">lowercase.py
-                                <br/><span class="checkbox-label-tamper__subtitle">Replaces each keyword character with lowercase value</span></span>
-                        </label>
-                        
-                        <label class="checkbox-label checkbox-label-tamper">
-                            <input type="checkbox" id="tamperscript-luanginx">
-                            <span class="checkmark"></span>
-                            <span class="checkbox-label-tamper__title">luanginx.py
-                                <br/><span class="checkbox-label-tamper__subtitle">Bypasses LUA/Nginx web application firewall using specific encoding techniques</span></span>
-                        </label>
-                        
-                        <label class="checkbox-label checkbox-label-tamper">
-                            <input type="checkbox" id="tamperscript-luanginxmore">
-                            <span class="checkmark"></span>
-                            <span class="checkbox-label-tamper__title">luanginxmore.py
-                                <br/><span class="checkbox-label-tamper__subtitle">Advanced bypassing for LUA/Nginx web application firewall with extended techniques</span></span>
-                        </label>
-                        
-                        <label class="checkbox-label checkbox-label-tamper">
-                            <input type="checkbox" id="tamperscript-misunion">
-                            <span class="checkmark"></span>
-                            <span class="checkbox-label-tamper__title">misunion.py
-                                <br/><span class="checkbox-label-tamper__subtitle">Replaces instances of UNION with /*!UNION*/ to bypass certain filters</span></span>
-                        </label>
-                        
-                        <label class="checkbox-label checkbox-label-tamper">
-                            <input type="checkbox" id="tamperscript-modsecurityversioned">
-                            <span class="checkmark"></span>
-                            <span class="checkbox-label-tamper__title">modsecurityversioned.py
-                                <br/><span class="checkbox-label-tamper__subtitle">Embraces complete query with MySQL versioned comment to bypass ModSecurity WAF</span></span>
-                        </label>
-                        
-                        <label class="checkbox-label checkbox-label-tamper">
-                            <input type="checkbox" id="tamperscript-modsecurityzeroversioned">
-                            <span class="checkmark"></span>
-                            <span class="checkbox-label-tamper__title">modsecurityzeroversioned.py
-                                <br/><span class="checkbox-label-tamper__subtitle">Embraces complete query with MySQL zero-versioned comment to bypass ModSecurity WAF</span></span>
-                        </label>
-                        
-                        <label class="checkbox-label checkbox-label-tamper">
-                            <input type="checkbox" id="tamperscript-multiplespaces">
-                            <span class="checkmark"></span>
-                            <span class="checkbox-label-tamper__title">multiplespaces.py
-                                <br/><span class="checkbox-label-tamper__subtitle">Adds multiple spaces around SQL keywords to bypass filters</span></span>
-                        </label>
-                        
-                        <label class="checkbox-label checkbox-label-tamper">
-                            <input type="checkbox" id="tamperscript-ord2ascii">
-                            <span class="checkmark"></span>
-                            <span class="checkbox-label-tamper__title">ord2ascii.py
-                                <br/><span class="checkbox-label-tamper__subtitle">Replaces ORD(x) with ASCII(x) function calls</span></span>
-                        </label>
-                        
-                        <label class="checkbox-label checkbox-label-tamper">
-                            <input type="checkbox" id="tamperscript-overlongutf8">
-                            <span class="checkmark"></span>
-                            <span class="checkbox-label-tamper__title">overlongutf8.py
-                                <br/><span class="checkbox-label-tamper__subtitle">Converts all characters in a given payload to overlong UTF8 (not processing already encoded)</span></span>
-                        </label>
-                        
-                        <label class="checkbox-label checkbox-label-tamper">
-                            <input type="checkbox" id="tamperscript-overlongutf8more">
-                            <span class="checkmark"></span>
-                            <span class="checkbox-label-tamper__title">overlongutf8more.py
-                                <br/><span class="checkbox-label-tamper__subtitle">Advanced overlong UTF8 encoding for bypassing additional security filters</span></span>
-                        </label>
-                        
-                        <label class="checkbox-label checkbox-label-tamper">
-                            <input type="checkbox" id="tamperscript-percentage">
-                            <span class="checkmark"></span>
-                            <span class="checkbox-label-tamper__title">percentage.py
-                                <br/><span class="checkbox-label-tamper__subtitle">Adds a percentage sign (%) in front of each character</span></span>
-                        </label>
-                        
-                        <label class="checkbox-label checkbox-label-tamper">
-                            <input type="checkbox" id="tamperscript-plus2concat">
-                            <span class="checkmark"></span>
-                            <span class="checkbox-label-tamper__title">plus2concat.py
-                                <br/><span class="checkbox-label-tamper__subtitle">Replaces plus operator ('+') with MsSQL function CONCAT() counterpart</span></span>
-                        </label>
-                        
-                        <label class="checkbox-label checkbox-label-tamper">
-                            <input type="checkbox" id="tamperscript-plus2fnconcat">
-                            <span class="checkmark"></span>
-                            <span class="checkbox-label-tamper__title">plus2fnconcat.py
-                                <br/><span class="checkbox-label-tamper__subtitle">Replaces plus operator ('+') with MsSQL function fn_concat() counterpart</span></span>
-                        </label>
-                        
-                        <label class="checkbox-label checkbox-label-tamper">
-                            <input type="checkbox" id="tamperscript-randomcase">
-                            <span class="checkmark"></span>
-                            <span class="checkbox-label-tamper__title">randomcase.py
-                                <br/><span class="checkbox-label-tamper__subtitle">Replaces each keyword character with random case value (e.g. SELECT -> SEleCt)</span></span>
-                        </label>
-                        
-                        <label class="checkbox-label checkbox-label-tamper">
-                            <input type="checkbox" id="tamperscript-randomcomments">
-                            <span class="checkmark"></span>
-                            <span class="checkbox-label-tamper__title">randomcomments.py
-                                <br/><span class="checkbox-label-tamper__subtitle">Adds random comments inside SQL keywords to bypass filters</span></span>
-                        </label>
-                        
-                        <label class="checkbox-label checkbox-label-tamper">
-                            <input type="checkbox" id="tamperscript-schemasplit">
-                            <span class="checkmark"></span>
-                            <span class="checkbox-label-tamper__title">schemasplit.py
-                                <br/><span class="checkbox-label-tamper__subtitle">Splits database schema and table names to bypass certain filters</span></span>
-                        </label>
-                        
-                        <label class="checkbox-label checkbox-label-tamper">
-                            <input type="checkbox" id="tamperscript-scientific">
-                            <span class="checkmark"></span>
-                            <span class="checkbox-label-tamper__title">scientific.py
-                                <br/><span class="checkbox-label-tamper__subtitle">Converts integer values to scientific notation (e.g. 1 -> 1e0)</span></span>
-                        </label>
-                        
-                        <label class="checkbox-label checkbox-label-tamper">
-                            <input type="checkbox" id="tamperscript-sleep2getlock">
-                            <span class="checkmark"></span>
-                            <span class="checkbox-label-tamper__title">sleep2getlock.py
-                                <br/><span class="checkbox-label-tamper__subtitle">Replaces instances of SLEEP with GET_LOCK for time-based injections</span></span>
-                        </label>
-                        
-                        <label class="checkbox-label checkbox-label-tamper">
-                            <input type="checkbox" id="tamperscript-sp_password">
-                            <span class="checkmark"></span>
-                            <span class="checkbox-label-tamper__title">sp_password.py
-                                <br/><span class="checkbox-label-tamper__subtitle">Appends 'sp_password' to the end of payload to avoid logging in SQL Server</span></span>
-                        </label>
-                        
-                        <label class="checkbox-label checkbox-label-tamper">
-                            <input type="checkbox" id="tamperscript-space2comment">
-                            <span class="checkmark"></span>
-                            <span class="checkbox-label-tamper__title">space2comment.py
-                                <br/><span class="checkbox-label-tamper__subtitle">Replaces space character (' ') with comments '/**/'</span></span>
-                        </label>
-                        
-                        <label class="checkbox-label checkbox-label-tamper">
-                            <input type="checkbox" id="tamperscript-space2dash">
-                            <span class="checkmark"></span>
-                            <span class="checkbox-label-tamper__title">space2dash.py
-                                <br/><span class="checkbox-label-tamper__subtitle">Replaces space character (' ') with dash comments ('-- ') followed by random string and new line</span></span>
-                        </label>
-                        
-                        <label class="checkbox-label checkbox-label-tamper">
-                            <input type="checkbox" id="tamperscript-space2hash">
-                            <span class="checkmark"></span>
-                            <span class="checkbox-label-tamper__title">space2hash.py
-                                <br/><span class="checkbox-label-tamper__subtitle">Replaces space character (' ') with hash character ('#') followed by random string and new line</span></span>
-                        </label>
-                        
-                        <label class="checkbox-label checkbox-label-tamper">
-                            <input type="checkbox" id="tamperscript-space2morecomment">
-                            <span class="checkmark"></span>
-                            <span class="checkbox-label-tamper__title">space2morecomment.py
-                                <br/><span class="checkbox-label-tamper__subtitle">Replaces space character (' ') with comments '/**_**/' (with random underscore variations)</span></span>
-                        </label>
-                        
-                        <label class="checkbox-label checkbox-label-tamper">
-                            <input type="checkbox" id="tamperscript-space2morehash">
-                            <span class="checkmark"></span>
-                            <span class="checkbox-label-tamper__title">space2morehash.py
-                                <br/><span class="checkbox-label-tamper__subtitle">Replaces space character (' ') with hash character ('#') followed by random string and new line</span></span>
-                        </label>
-                        
-                        <label class="checkbox-label checkbox-label-tamper">
-                            <input type="checkbox" id="tamperscript-space2mssqlblank">
-                            <span class="checkmark"></span>
-                            <span class="checkbox-label-tamper__title">space2mssqlblank.py
-                                <br/><span class="checkbox-label-tamper__subtitle">Replaces space character (' ') with random blank character from valid alternate character set for MSSQL</span></span>
-                        </label>
-                        
-                        <label class="checkbox-label checkbox-label-tamper">
-                            <input type="checkbox" id="tamperscript-space2mssqlhash">
-                            <span class="checkmark"></span>
-                            <span class="checkbox-label-tamper__title">space2mssqlhash.py
-                                <br/><span class="checkbox-label-tamper__subtitle">Replaces space character (' ') with hash character ('#') followed by new line for MSSQL</span></span>
-                        </label>
-                        
-                        <label class="checkbox-label checkbox-label-tamper">
-                            <input type="checkbox" id="tamperscript-space2mysqlblank">
-                            <span class="checkmark"></span>
-                            <span class="checkbox-label-tamper__title">space2mysqlblank.py
-                                <br/><span class="checkbox-label-tamper__subtitle">Replaces space character (' ') with random blank character from valid alternate character set for MySQL</span></span>
-                        </label>
-                        
-                        <label class="checkbox-label checkbox-label-tamper">
-                            <input type="checkbox" id="tamperscript-space2mysqldash">
-                            <span class="checkmark"></span>
-                            <span class="checkbox-label-tamper__title">space2mysqldash.py
-                                <br/><span class="checkbox-label-tamper__subtitle">Replaces space character (' ') with dash comments ('-- ') followed by new line for MySQL</span></span>
-                        </label>
-                        
-                        <label class="checkbox-label checkbox-label-tamper">
-                            <input type="checkbox" id="tamperscript-space2plus">
-                            <span class="checkmark"></span>
-                            <span class="checkbox-label-tamper__title">space2plus.py
-                                <br/><span class="checkbox-label-tamper__subtitle">Replaces space character (' ') with plus sign ('+') for URL encoding</span></span>
-                        </label>
-                        
-                        <label class="checkbox-label checkbox-label-tamper">
-                            <input type="checkbox" id="tamperscript-space2randomblank">
-                            <span class="checkmark"></span>
-                            <span class="checkbox-label-tamper__title">space2randomblank.py
-                                <br/><span class="checkbox-label-tamper__subtitle">Replaces space character (' ') with random blank character from valid alternate character set</span></span>
-                        </label>
-                        
-                        <label class="checkbox-label checkbox-label-tamper">
-                            <input type="checkbox" id="tamperscript-substring2leftright">
-                            <span class="checkmark"></span>
-                            <span class="checkbox-label-tamper__title">substring2leftright.py
-                                <br/><span class="checkbox-label-tamper__subtitle">Replaces PostgreSQL SUBSTRING with LEFT and RIGHT functions</span></span>
-                        </label>
-                        
-                        <label class="checkbox-label checkbox-label-tamper">
-                            <input type="checkbox" id="tamperscript-symboliclogical">
-                            <span class="checkmark"></span>
-                            <span class="checkbox-label-tamper__title">symboliclogical.py
-                                <br/><span class="checkbox-label-tamper__subtitle">Replaces AND and OR logical operators with symbolic equivalents (&& and ||)</span></span>
-                        </label>
-                        
-                        <label class="checkbox-label checkbox-label-tamper">
-                            <input type="checkbox" id="tamperscript-unionalltounion">
-                            <span class="checkmark"></span>
-                            <span class="checkbox-label-tamper__title">unionalltounion.py
-                                <br/><span class="checkbox-label-tamper__subtitle">Replaces UNION ALL SELECT with UNION SELECT counterpart</span></span>
-                        </label>
-                        
-                        <label class="checkbox-label checkbox-label-tamper">
-                            <input type="checkbox" id="tamperscript-unmagicquotes">
-                            <span class="checkmark"></span>
-                            <span class="checkbox-label-tamper__title">unmagicquotes.py
-                                <br/><span class="checkbox-label-tamper__subtitle">Replaces quote character (') with multibyte combo %bf%27 (valid for GBK charset)</span></span>
-                        </label>
-                        
-                        <label class="checkbox-label checkbox-label-tamper">
-                            <input type="checkbox" id="tamperscript-uppercase">
-                            <span class="checkmark"></span>
-                            <span class="checkbox-label-tamper__title">uppercase.py
-                                <br/><span class="checkbox-label-tamper__subtitle">Replaces each keyword character with uppercase value</span></span>
-                        </label>
-                        
-                        <label class="checkbox-label checkbox-label-tamper">
-                            <input type="checkbox" id="tamperscript-varnish">
-                            <span class="checkmark"></span>
-                            <span class="checkbox-label-tamper__title">varnish.py
-                                <br/><span class="checkbox-label-tamper__subtitle">Appends HTTP header 'X-originating-IP' for bypassing Varnish firewalls</span></span>
-                        </label>
-                        
-                        <label class="checkbox-label checkbox-label-tamper">
-                            <input type="checkbox" id="tamperscript-versionedkeywords">
-                            <span class="checkmark"></span>
-                            <span class="checkbox-label-tamper__title">versionedkeywords.py
-                                <br/><span class="checkbox-label-tamper__subtitle">Encloses each non-function keyword with MySQL versioned comment</span></span>
-                        </label>
-                        
-                        <label class="checkbox-label checkbox-label-tamper">
-                            <input type="checkbox" id="tamperscript-versionedmorekeywords">
-                            <span class="checkmark"></span>
-                            <span class="checkbox-label-tamper__title">versionedmorekeywords.py
-                                <br/><span class="checkbox-label-tamper__subtitle">Encloses each keyword with MySQL versioned comment (extended version)</span></span>
-                        </label>
-                        
-                        <label class="checkbox-label checkbox-label-tamper">
-                            <input type="checkbox" id="tamperscript-xforwardedfor">
-                            <span class="checkmark"></span>
-                            <span class="checkbox-label-tamper__title">xforwardedfor.py
-                                <br/><span class="checkbox-label-tamper__subtitle">Appends a fake HTTP header 'X-Forwarded-For' to bypass IP restrictions</span></span>
-                        </label>
-                        
-
-                    </div>
-                </div>
-            </div>
-        </div>
-
-        <!-- SQLMAP Tab -->
-        <div class="tab-content" id="sqlmap">
-            <div class="card">
-                <div class="card__body">
-                    <div class="form-grid">
-                        <!-- -v -->
-                        <div class="form-group" title="Set the verbosity level of output messages">
-                            <label class="form-label" for="verbose">Verbose level: <span>-v</span> <span id="verboseValue">1</span<br/></label>
-                            <input type="range" id="verbose" class="slider" min="0" max="6" value="1">
-                            <div class="additional-help" id="verbose-help">1: Show also information and warning messages (default).</div>
-                        </div>
-                        <!-- -t -->
-                        <div class="form-group" title="This option requires an argument that specified the textual file to write all HTTP(s) traffic generated by sqlmap - HTTP(S) requests and HTTP(S) responses.">
-                            <label class="form-label" for="trafficFile">Traffic log file<br/><span>-t</span></label>
-                            <input type="text" id="trafficFile" class="form-control" placeholder="traffic.log">
-                        </div>
-                        <!-- --batch -->
-                        <div class="form-group" title="Never ask for user input, use the default behavior (useful when using sqlmap in scripts).">
-                            <label class="form-label">BATCH MODE</label>
-                            <label class="checkbox-label">
-                                <input type="checkbox" id="batch">
-                                <span class="checkmark"></span>
-                                <span class="checkbox-label__text">--batch</span>
-                            </label>
-                        </div>
-                        <!-- --parse-errors -->
-                        <div class="form-group" title="Parse and display DBMS error messages from responses.">
-                            <label class="form-label">PARSE ERRORS</label>
-                            <label class="checkbox-label">
-                                <input type="checkbox" id="parseErrors">
-                                <span class="checkmark"></span>
-                                <span class="checkbox-label__text">--parse-errors</span>
-                            </label>
-                        </div>
-                    </div>
-                </div>
-            </div>
-        </div>
-
-        <!-- Configuration Management -->
-        <div class="tab-content" id="config">
-            <div class="card">
-                <div class="card__body">
-                    <div class="config-buttons">
-                        <button id="saveConfig" class="btn btn--primary">Save configuration</button>
-                        <button id="loadConfig" class="btn btn--primary">Load configuration</button>
-                        <button id="resetConfig" class="btn btn--outline">Reset everything</button>
-                    </div>
-                </div>
-            </div>
-        </div>
-
-        <script src="app.js"></script>
-    </body>
-    </html>
\ No newline at end of file
diff --git a/sql-command-builder.html b/sql-command-builder.html
new file mode 100644
index 0000000..9f62869
--- /dev/null
+++ b/sql-command-builder.html
@@ -0,0 +1,1851 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+    <meta charset="UTF-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+    <title>SQLMap Command Generator</title>
+    <link rel="stylesheet" href="style.css">
+</head>
+<body>
+    <div class="container">
+        <header class="header">
+            <h1><a href="?">SQLMap Command Builder</a></h1>
+            <p>
+                <em>Interactive command line generator for conducting advanced SQLMap pentests.<br />
+                This builder works locally with pure HTML/JS/CSS (no data exchanged to any server).</em>
+            </p>
+            <p>
+                <strong><a href="https://github.com/vizzdoom/sqlmap-command-builder" target="_blank">SQLMap Command Builder <span id="tool-version"></span></a></strong> | Compatible with <strong><a target="_blank" href="https://github.com/sqlmapproject/sqlmap/releases">SQLMap 1.9.6.10</a></strong> | vizzdoom/at/gmail/dot/com
+            </p>
+        </header>
+
+        <!-- Command Output Area -->
+        <div class="command-header">
+            <button id="copyBtn" class="btn btn--primary">
+                <svg clip-rule="evenodd" fill-rule="evenodd" stroke-linejoin="round" stroke-miterlimit="2" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="m6 19v2c0 .621.52 1 1 1h2v-1.5h-1.5v-1.5zm7.5 3h-3.5v-1.5h3.5zm4.5 0h-3.5v-1.5h3.5zm4-3h-1.5v1.5h-1.5v1.5h2c.478 0 1-.379 1-1zm-1.5-1v-3.363h1.5v3.363zm0-4.363v-3.637h1.5v3.637zm-13-3.637v3.637h-1.5v-3.637zm11.5-4v1.5h1.5v1.5h1.5v-2c0-.478-.379-1-1-1zm-10 0h-2c-.62 0-1 .519-1 1v2h1.5v-1.5h1.5zm4.5 1.5h-3.5v-1.5h3.5zm3-1.5v-2.5h-13v13h2.5v-1.863h1.5v3.363h-4.5c-.48 0-1-.379-1-1v-14c0-.481.38-1 1-1h14c.621 0 1 .522 1 1v4.5h-3.5v-1.5z" fill-rule="nonzero"/></svg>
+                    COPY TO A CLIPBOARD
+            </button>
+            <button id="copyUrlBtn" class="btn btn--primary">
+                <svg viewBox="0 0 24 24" id="Layer_1" data-name="Layer 1" xmlns="http://www.w3.org/2000/svg"><defs><style>.cls-1{fill:none;stroke:#020202;stroke-miterlimit:10;stroke-width:1.92px;}</style></defs><path class="cls-1" d="M10.56,5.77l2.72-2.72a5.43,5.43,0,0,1,3.84-1.59,5.43,5.43,0,0,1,5.42,5.42A5.43,5.43,0,0,1,21,10.72l-2.72,2.72"/><path class="cls-1" d="M5.77,10.56,3.05,13.28A5.42,5.42,0,1,0,10.72,21l2.72-2.72"/><line class="cls-1" x1="16.79" y1="7.21" x2="7.21" y2="16.79"/><line class="cls-1" x1="20.63" y1="15.83" x2="23.5" y2="15.83"/><line class="cls-1" x1="15.83" y1="20.63" x2="15.83" y2="23.5"/><line class="cls-1" x1="19.19" y1="19.19" x2="21.1" y2="21.1"/><line class="cls-1" x1="3.38" y1="8.17" x2="0.5" y2="8.17"/><line class="cls-1" x1="8.17" y1="3.38" x2="8.17" y2="0.5"/><line class="cls-1" x1="4.81" y1="4.81" x2="2.9" y2="2.9"/></svg>
+                    COPY CONFIG URL
+            </button>
+        </div>
+        <section class="command-section">
+            <div class="command-output">
+                <pre id="commandOutput" spellcheck="false" contenteditable="true">sqlmap</pre>
+            </div>
+        </section>
+
+        <!-- Options Tabs -->
+        <section class="options-section">
+            <div class="tabs">
+                <button class="tab-btn active" data-tab="target">TARGET</button>
+                <button class="tab-btn" data-tab="connection">CONNECTION</button>
+                <button class="tab-btn" data-tab="request">REQUEST</button>
+                <button class="tab-btn" data-tab="injection">INJECTION</button>
+                <button class="tab-btn" data-tab="exploitation">EXPLOITATION</button>
+                <button class="tab-btn" data-tab="tampering">TAMPERING</button>
+                <button class="tab-btn" data-tab="sqlmap">SQLMAP</button>
+                <button class="tab-btn" data-tab="config">CONFIG</button>
+            </div>
+
+            <!-- TARGET Tab -->
+            <div class="tab-content active" id="target">
+                <div class="card">
+                    <div class="card__body">
+                        <div class="form-grid">
+                            <!-- -u -->
+                            <label class="form-group" for="url">
+                                <div class="form-label">TARGET URL<i tooltip="Specify the target URL to scan for SQL injection vulnerabilities, including any query parameters.">ⁱ</i></div>
+                                <div class="form-label"><u>-u</u></div>
+                                <input type="url" id="url" class="form-control" placeholder="https://127.0.0.1/page?id=1">
+                            </label>
+                            <!-- -d -->
+                            <label class="form-group" for="directDb">
+                                <div class="form-label">DATABASE CONNECTION STRING<i tooltip="Connection string for direct database connection.">ⁱ</i></div>
+                                <div class="form-label"><u>-d</u></div>
+                                <input type="text" id="directDb" class="form-control" placeholder="mysql://user:pass@host/db">
+                            </label>
+                            <!-- -g -->
+                            <label class="form-group" for="googleDork">
+                                <div class="form-label">GOOGLE DORK FOR TARGETS<i tooltip="Process Google dork results as target URLs.">ⁱ</i></div>
+                                <div class="form-label"><u>-g</u></div>
+                                <input type="text" id="googleDork" class="form-control" placeholder="inurl:php?id=">
+                            </label>
+                            <!-- -m -->
+                            <label class="form-group" for="targetsFile">
+                                <div class="form-label">FILE WITH TARGETS<i tooltip="Scan multiple targets given in a textual file.">ⁱ</i></div>
+                                <div class="form-label"><u>-m</u></div>
+                                <input type="text" id="targetsFile" class="form-control" placeholder="targets.txt">
+                            </label>
+                            <!-- -l -->
+                            <label class="form-group" for="burpFile">
+                                <div class="form-label">BURP FILE WITH HTTP REQUESTS<i tooltip="Rather than providing a single target URL, it is possible to test and inject against HTTP requests proxied through Burp proxy.">ⁱ</i></div>
+                                <div class="form-label"><u>-l</u></div>
+                                <input type="text" id="burpFile" class="form-control" placeholder="burp.txt">
+                            </label>
+                            <!-- --scope -->
+                            <label class="form-group" for="burpFileScope">
+                                <div class="form-label">SCOPE FOR BURP PROXY FILE<i tooltip="Rather than using all hosts parsed from provided logs with option -l, you can specify valid Python regular expression to be used for filtering desired ones.">ⁱ</i></div>
+                                <div class="form-label"><u>--scope</u></div>
+                                <input type="text" id="burpFileScope" class="form-control" placeholder="(www)?\.target\.(com|net|org)">
+                            </label>
+                        </div>
+                    </div>
+                </div>
+            </div>
+
+            <!-- CONNECTION Tab -->
+            <div class="tab-content" id="connection">
+                <div class="card">
+                    <div class="card__body">
+                        <div class="form-grid">
+                            <h3>Connection Control</h3>
+                            <!-- --timeout -->
+                            <label class="form-group" for="timeout">
+                                <div class="form-label">REQUEST TIMEOUT<i tooltip="Seconds to wait before timeout connection.
+                                    
+                                    Default: 30 seconds">ⁱ</i></div>
+                                <div class="form-label"><u>--timeout</u></div>
+                                <input type="number" id="timeout" class="form-control" min="1" max="300" placeholder="10 (seconds)">
+                            </label>
+                            <!-- --delay -->
+                            <label class="form-group" for="delay">
+                                <div class="form-label">DELAY BETWEEN REQUEST<i tooltip="Delay (in seconds) between each HTTP request">ⁱ</i></div>
+                                <div class="form-label"><u>--delay</u></div>
+                                <input type="number" id="delay" class="form-control" min="0.01" step="0.01" placeholder="2.25 (seconds)">
+                            </label>
+                            <!-- --threads -->
+                            <label class="form-group" for="threads">
+                                <div class="form-label">NUMBER OF CONCURRENT REQUESTS<i tooltip="Max number of concurrent HTTP(s) requests.
+                                    
+                                    Default: 1 | Maximum: 10"> ⁱ </i></div>
+                                <div class="form-label"><u>--threads</u></div>
+                                <input type="number" id="threads" class="form-control" min="1" max="10" placeholder="1">
+                            </label>
+                            <!-- SPACER -->
+                            <div></div>
+                            <!-- force-ssl -->
+                            <label class="form-group" for="forceSsl">
+                                <div class="checkbox-label" >
+                                    <input type="checkbox" id="forceSsl">
+                                    <b>FORCE USAGE OF HTTPS REQUESTS</b>
+                                    <u>--force-ssl</u><i tooltip="In case that user wants to force usage of SSL/HTTPS requests toward the target, he can use this switch.
+                                    This can be alse useful in cases when urls are being collected by --crawl or when Burp log is being provided with option -l.">ⁱ</i>
+                                    <span class="checkmark"></span>
+                                </div>
+                            </label>
+                            <!-- --keep-alive -->
+                            <label class="form-group" for="keepAlive">
+                                <div class="checkbox-label">
+                                    <input type="checkbox" id="keepAlive">
+                                    <b>PERSISTENT CONNECTIONS OPTIMIZATION</b>
+                                    <u>--keep-alive</u><i tooltip="Connection optimization - using persistent HTTP(s) connections">ⁱ</i>
+                                    <span class="checkmark"></span>
+                                </div>
+                            </label>
+                            <!-- --null-connection -->
+                            <label class="form-group" for="nullConnection">
+                                <div class="checkbox-label">
+                                    <input type="checkbox" id="nullConnection">
+                                    <b>HTTP NULL CONNECTIONS OPTIMIZATION</b>
+                                    <u>--null-connection</u><i tooltip="Connection optimization - Retrieve page length without actual HTTP response body.
+                                    There are special HTTP request types which can be used to retrieve HTTP response's size without getting the HTTP body. 
+                                    This knowledge can be used in blind injection technique to distinguish True from False responses. 
+                                    When this switch is provided, sqlmap will try to test and exploit two different NULL connection techniques: Range and HEAD. 
+                                    If any of these is supported by the target web server, speed up will come from the obvious saving of used bandwidth.
+                                    Remark: incompatible with --text-only.">ⁱ</i>
+                                    <span class="checkmark"></span>
+                                </div>
+                            </label>
+                            <!-- --http2 -->
+                            <label class="form-group" for="http2">
+                                <div class="checkbox-label">
+                                    <input type="checkbox" id="http2">
+                                    <b>USE HTTP2 CONNECTIONS</b>
+                                    <u>--http2</u><i tooltip="Connection optimization - Use HTTP version 2 (experimental).">ⁱ</i>
+                                    <span class="checkmark"></span>
+                                </div>
+                            </label>
+
+                            <h3>Proxy Options</h3>
+                            <!-- --proxy -->
+                            <label class="form-group" for="proxy">
+                                <div class="form-label">HTTP(S) PROXY<i tooltip="Use a proxy to connect to the target URL.">ⁱ</i></div>
+                                <div class="form-label"><u>--proxy</u></div>
+                                <input type="text" id="proxy" class="form-control" placeholder="http://127.0.0.1:8080">
+                            </label>
+                            <!-- --proxy-cred -->
+                            <label class="form-group" for="proxyCred">
+                                <div class="form-label">HTTP(S) PROXY CREDENTIAL<i tooltip="If the HTTP(S) proxy requires authentication, you can provide the credentials in the format username:password to the option --proxy-cred.">ⁱ</i></div>
+                                <div class="form-label"><u>--proxy-cred</u></div>
+                                <input type="text" id="proxyCred" class="form-control" placeholder="username:password">
+                            </label>
+                            <!-- --proxy-file -->
+                            <label class="form-group" for="proxyFile">
+                                <div class="form-label">HTTP(S) PROXY FILE<i tooltip="Use a proxy to connect to the target URL.">ⁱ</i></div>
+                                <div class="form-label"><u>--proxy-file</u></div>
+                                <input type="text" id="proxyFile" class="form-control" placeholder="proxy-file.txt">
+                            </label>
+                            <!-- --proxy-freq -->
+                            <label class="form-group" for="proxyFreq">
+                                <div class="form-label">PROXY ROTATION NUMBER<i tooltip="Requests between change of proxy from a given --proxy-file list.">ⁱ</i></div>
+                                <div class="form-label"><u>--proxy-freq</u></div>
+                                <input type="number" id="proxyFreq" class="form-control" min="1" step="1" placeholder="3">
+                            </label>
+                            <!-- --ignore-proxy -->
+                            <label class="form-group">
+                                <div class="checkbox-label" for="proxyIgnore">
+                                    <input type="checkbox" id="proxyIgnore">
+                                    <b>IGNORE SYSTEM PROXY SETTINGS</b>
+                                    <u>--ignore-proxy</u><i tooltip="Run sqlmap against a target part of a local area network by ignoring the system-wide set HTTP(S) proxy server setting.">ⁱ</i>
+                                    <span class="checkmark"></span>
+                                </div>
+                            </label>
+
+                            <div class="form-group">
+                                <span class="form-label checkbox-grid">TOR ANONYMITY NETWORK SETTINGS</span>
+                                <div class="checkbox-grid">
+                                    <!-- --tor -->
+                                    <label class="checkbox-label" for="tor">
+                                        <input type="checkbox" id="tor">
+                                        <u>--tor</u><i tooltip="If, for any reason, you need to stay anonymous, instead of passing by a single predefined HTTP(S) proxy server, you can configure a Tor client together with Privoxy (or similar) on your machine as explained in Tor installation guides. 
+                                        Then you can use a switch --tor and sqlmap will try to automatically set Tor proxy connection settings.">ⁱ</i>
+                                        <span class="checkmark"></span>
+                                    </label>
+
+                                    <!-- --check-tor -->
+                                    <label class="checkbox-label" for="checkTor">
+                                        <input type="checkbox" id="checkTor">
+                                        <b></b>
+                                        <u>--check-tor</u><i tooltip="You are strongly advised to use --check-tor occasionally to be sure that everything was set up properly.
+                                        With --check-tor sqlmap will check if everything works as expected by sending a single request to an official 'Are you using Tor?' page before any target requests.">ⁱ</i>
+                                        <span class="checkmark"></span>
+                                    </label>
+                                </div>
+                            </div>  
+                            
+                            <!-- --tor-port -->
+                            <label class="form-group" for="torPort">
+                                <div class="form-label">TOR PROXY PORT<i tooltip="In case that you want to manually set the port of used Tor proxy.">ⁱ</i></div>
+                                <div class="form-label"><u>--tor-port</u></div>
+                                <input type="number" id="torPort" class="form-control" min="1" max="65535" placeholder="9050">
+                            </label>
+                            <!-- --tor-type -->
+                            <label class="form-group" for="torType">
+                                <div class="form-label">TOR PROXY TYPE<i tooltip="In case that you want to manually set the type of used Tor proxy.">ⁱ</i></div>
+                                <div class="form-label"><u>--tor-type</u></div>
+                                <select id="torType" class="form-control">
+                                    <option value="">-- Choose Type --</option>
+                                    <option value="SOCKS5">SOCKS5 (default)</option>
+                                    <option value="SOCKS4">SOCKS4</option>
+                                    <option value="HTTP">HTTP</option>
+                                </select>
+                            </label>
+                        </div>
+                    </div>
+                </div>
+            </div>
+
+            <!-- REQUEST Tab -->
+            <div class="tab-content" id="request">
+                <div class="card">
+                    <div class="card__body">
+                        <div class="form-grid">
+                            <h3>Request Data</h3>
+                            <!-- --method -->
+                            <label class="form-group" for="method">
+                                <div class="form-label">HTTP REQUEST METHOD<i tooltip="Force usage of given HTTP method (e.g. PUT).">ⁱ</i></div>
+                                <div class="form-label"><u>--method</u></div>
+                                <select id="method" class="form-control">
+                                    <option value="">-- Choose HTTP Method --</option>
+                                    <option value="GET">GET</option>
+                                    <option value="POST">POST</option>
+                                    <option value="PUT">PUT</option>
+                                    <option value="DELETE">DELETE</option>
+                                    <option value="HEAD">HEAD</option>
+                                    <option value="OPTIONS">OPTIONS</option>
+                                    <option value="PATCH">PATCH</option>
+                                    <option value="custom">--Custom--</option>
+                                </select>
+                                <div class="form-group" id="customHttpMethodGroup" style="display: none">
+                                    <input type="text" id="customHttpMethod" class="form-control" placeholder="Custom HTTP method value">
+                                </div>
+                            </label>
+                            <!-- --param-del -->
+                            <label class="form-group" for="paramDel">
+                                <div class="form-label">PARAMETER DELIMITER<i tooltip="There are cases when default parameter delimiter (&) needs to be overwritten for sqlmap to be able to properly split and process each parameter separately, e.g.:
+                                     query=foobar;id=1 instead query=foobar&id=1">ⁱ</i></div>
+                                <div class="form-label"><u>--param-del</u></div>
+                                <input type="text" id="paramDel" class="form-control" placeholder="&">
+                            </label>
+                            <!-- -r -->
+                            <label class="form-group" for="requestFile">
+                                <div class="form-label">FILE WITH AN HTTP REQUEST<i tooltip="Load HTTP request from a file">ⁱ</i></div>
+                                <div class="form-label"><u>-r</u></div>
+                                <input type="text" id="requestFile" class="form-control" placeholder="request.txt">
+                            </label>
+                            <!-- --eval -->
+                            <label class="form-group" for="eval">
+                                <div class="form-label">PYTHON CODE TO EVALUATE<i tooltip="Evaluate custom Python code before each request and use its output to modify parameters or payloads.
+
+                                    Perfect for dynamic payload generation, custom hashing, encoding, or manipulating request data on the fly.
+                                    ">ⁱ</i></div>
+                                <div class="form-label"><u>-r</u></div>
+                                <input type="text" id="eval" class="form-control" placeholder="from flask_unsign import session as s; session = s.sign({'uid': session}, secret='SecretExfilratedFromTheMachine')">
+                            </label>
+                            <!-- --data -->
+                            <label class="form-group" for="data">
+                                <div class="form-label">HTTP BODY DATA<i tooltip="By default the HTTP method used to perform HTTP requests is GET, but you can implicitly change it to POST by providing the data to be sent in the POST requests.
+                                    
+                                    Such data, being those parameters, are tested for SQL injection as well as any provided GET parameters.">ⁱ</i></div>
+                                    <div class="form-label"><u>--data</u></div>
+                                    <textarea id="data" class="form-control" rows="4" placeholder="param1=value1&param2=value2"></textarea>
+                                </label>
+                            </label>
+                                    
+                            <h3>Request Headers</h3>
+                            <!-- --host -->
+                            <label class="form-group" for="host">
+                                <div class="form-label">CUSTOM HTTP HOST HEADER<i tooltip="You can manually set HTTP Host header value. 
+                                    By default HTTP Host header is parsed from a provided target URL.
+                                    
+                                    Note that also the HTTP Host header is tested against SQL injection if the --level is set to 5.">ⁱ</i></div>
+                                <div class="form-label"><u>--host</u></div>
+                                <input type="text" id="host" class="form-control" placeholder="example.com">
+                            </label>
+                            <!-- -A / --random-agent / --mobile -->
+                            <label class="form-group" for="userAgent">
+                                <div class="form-label">USER-AGENT HEADER VALUE<i tooltip="By default sqlmap performs HTTP requests with the &quot;sqlmap/1.0-dev-x (http://sqlmap.org)&quot; User-Agent header, but it can changed with the option -A.
+                                    
+                                    Moreover, by providing the switch --random-agent, sqlmap will randomly select a User-Agent from the ./txt/user-agents.txt textual file and use it for all HTTP requests within the session.
+                                    
+                                    Some sites perform a server-side check of HTTP User-Agent header value and fail the HTTP response if a valid User-Agent is not provided, its value is not expected or is blacklisted by a web application firewall or similar intrusion prevention system.
+                                    
+                                    Sometimes web servers expose different interfaces toward mobile phones than to desktop computers. 
+                                    
+                                    In such cases you can enforce usage of one of predetermined smartphone HTTP User-Agent header values by using a --mobile switch (sqlmap will ask you to pick one of popular smartphones which it will imitate in current run).
+                                    
+                                    Note that also the HTTP User-Agent header is tested against SQL injection if the --level is set to 3 or above.">ⁱ</i></div>
+                                <div class="form-label"><u>--mobile / --random-agent / -A</u></div>
+                                <select id="userAgent" class="form-control">
+                                    <option value="">Default: sqlmap/1.0-dev-x (http://sqlmap.org)</option>
+                                    <option value="mobile">--mobile</option>
+                                    <option value="random">--random-agent</option>
+                                    <option value="custom">--Custom--</option>
+                                    <option value="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36">Google Chrome 137 for Windows</option>
+                                    <option value="Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36">Google Chrome 137 for macOS</option>
+                                    <option value="Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36">Google Chrome 137 for Linux</option>
+                                    <option value="Mozilla/5.0 (iPhone; CPU iPhone OS 17_7 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) CriOS/137.0.7151.79 Mobile/15E148 Safari/604.1">Google Chrome 137 for iOS/iPhone</option>
+                                    <option value="Mozilla/5.0 (iPad; CPU OS 17_7 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) CriOS/137.0.7151.79 Mobile/15E148 Safari/604.1">Google Chrome 137 for iOS/iPad</option>
+                                    <option value="Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.7151.73 Mobile Safari/537.36">Google Chrome 137 for Android</option>
+                                    <option value="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36">Microsoft Edge 137 for Windows</option>
+                                    <option value="Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36 Edg/137.0.3296.68">Microsoft Edge 137 macOS</option>
+                                    <option value="Mozilla/5.0 (iPhone; CPU iPhone OS 17_7_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.0 EdgiOS/137.3296.65 Mobile/15E148 Safari/605.1.15">Microsoft Edge 137 for iOS</option>
+                                    <option value="Mozilla/5.0 (Linux; Android 10; HD1913) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.7151.73 Mobile Safari/537.36 EdgA/137.0.3296.53">Microsoft Edge 137 for Android</option>
+                                    <option value="Mozilla/5.0 (Macintosh; Intel Mac OS X 14_7_6) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.4 Safari/605.1.15">Apple Safari 18.4 for macOS</option>
+                                    <option value="Mozilla/5.0 (iPhone; CPU iPhone OS 17_7_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.4 Mobile/15E148 Safari/604.1">Apple Safari 18.4 for iOS/iPhone</option>
+                                    <option value="Mozilla/5.0 (iPad; CPU OS 17_7_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.4 Mobile/15E148 Safari/604.1">Apple Safari 18.4 for iOS/iPad</option>
+                                    <option value="Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:139.0) Gecko/20100101 Firefox/139.0">Firefox 139 for Windows</option>
+                                    <option value="Mozilla/5.0 (Macintosh; Intel Mac OS X 14.7; rv:139.0) Gecko/20100101 Firefox/139.0">Firefox 139 for macOS</option>
+                                    <option value="Mozilla/5.0 (X11; Linux i686; rv:139.0) Gecko/20100101 Firefox/139.0">Firefox 139 for Linux</option>
+                                    <option value="Mozilla/5.0 (iPhone; CPU iPhone OS 14_7_6 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) FxiOS/139.0 Mobile/15E148 Safari/605.1.15">Firefox 139 for iOS/iPhone</option>
+                                    <option value="Mozilla/5.0 (iPad; CPU OS 14_7_6 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) FxiOS/139.0 Mobile/15E148 Safari/605.1.15">Firefox 139 for iOS/iPad</option>
+                                    <option value="Mozilla/5.0 (Android 15; Mobile; rv:139.0) Gecko/139.0 Firefox/139.0">Firefox 139 for Android</option>
+                                    <option value="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36 OPR/119.0.0.0">Opera for Windows</option>
+                                    <option value="Mozilla/5.0 (Linux; Android 15; Pixel 8 Pro Build/AP4A.250205.002; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/134.0.6998.39 Mobile Safari/537.36 THDConsumer/7.45 (Android 15; Pixel 8 Pro) DID:84d0d3e3907e6ea1">Android 15 WebView for Pixel 8 Pro</option>
+                                    <option value="Mozilla/5.0 (iPhone; CPU iPhone OS 18_3_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/22D82 [FBAN/FBIOS;FBAV/507.0.0.58.94;FBBV/716584418;FBDV/iPhone17,4;FBMD/iPhone;FBSN/iOS;FBSV/18.3.2;FBSS/3;FBID/phone;FBLC/en_US;FBOP/5;FBRV/719878764;IABMV/1]">Facebook App for iOS 18.3.2</option>
+                                    <option value="Mozilla/5.0 (Linux; Android 14; SM-A137F Build/UP1A.231005.007; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/134.0.6998.135 Mobile Safari/537.36 [FBAN/EMA;FBLC/sk_SK;FBAV/451.0.0.9.108;FB_FW/1;FBDM/DisplayMetrics{density=2.8125, width=1080, height=2301,2.8125, xdpi=403.411, ydpi=399.759};]">Facebook App for Android 14</option>
+                                    <option value="Mozilla/5.0 (iPhone; CPU iPhone OS 18_3_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/22D82 Instagram 344.0.9.27.90 (iPhone15,4; iOS 18_3_2; en_US; en; scale=3.00; 1179x2556; 631222391) NW/3">Instagram App for iOS 18.3.2</option>
+                                    <option value="Mozilla/5.0 (Linux; Android 14; SM-S906U Build/UP1A.231005.007; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/135.0.7049.38 Mobile Safari/537.36 Instagram 374.0.0.43.67 Android (34/14; 480dpi; 1080x2122; samsung; SM-S906U; g0q; qcom; en_US; 715888958; IABMV/1)">Instagram App for Android 14</option>
+                                </select>
+                                <div class="form-group" id="customUserAgentGroup" style="display: none;">
+                                    <input type="text" id="customUserAgent" class="form-control" placeholder="Custom User Agent value">
+                                </div>
+                            </label>
+                            <!-- --referer -->
+                            <label class="form-group" for="referer">
+                                <div class="form-label">HTTP REFERER HEADER<i tooltip="By default no HTTP Referer header is sent in HTTP requests if not explicitly set by the --referer switch.
+                                    
+                                    Note that also the HTTP Referer header is tested against SQL injection if the --level is set to 3 or above.">ⁱ</i></div>
+                                <div class="form-label"><u>--referer</u></div>
+                                <input type="url" id="referer" class="form-control" placeholder="https://127.0.0.1/login">
+                            </label>
+                            <!-- -headers -->
+                            <label class="form-group" for="headers">
+                                <div class="form-label">EXTRA HTTP HEADERS<i tooltip="Extra HTTP headers separated by a newline.">ⁱ</i></div>
+                                <div class="form-label"><u>--headers</u></div>
+                                <textarea id="headers" class="form-control" rows="4" placeholder="X-Forwarded-For: 127.0.0.1&#10;Authorization: Bearer token"></textarea>
+                            </label>
+
+                            <h3>Authentication</h3>
+                            <!-- --cookie -->
+                            <label class="form-group" for="cookie">
+                                <div class="form-label">COOKIE VALUE<i tooltip="HTTP Cookie header value for authentication (and for exploitation if the --level is set to 2 or above).
+                                    
+                                    If you provide a HTTP Cookie header with option --cookie and the target URL sends an HTTP Set-Cookie header at any time, sqlmap will ask you which set of cookies to use for the following HTTP requests.
+                                    
+                                    See also: --drop-set-cookie">ⁱ</i></div>
+                                <div class="form-label"><u>--cookie</u></div>
+                                <input id="cookie" class="form-control" placeholder="PHPSESSID=abc123; userid=1"></input>
+                            </label>
+                            <!-- --cookie-del -->
+                            <label class="form-group" for="cookieDel">
+                                <div class="form-label">COOKIE DELIMITER<i tooltip="The HTTP Cookie header values are usually separated by a ; character, not by an &. 
+                                    
+                                    Sqlmap can recognize these as separate sets of parameter=value too, as well as GET and POST parameters. 
+                                    In case that the separation character is other than ; it can be specified by using option --cookie-del">ⁱ</i></div>
+                                <div class="form-label"><u>--cookie-del</u></div>
+                                <input type="text" id="cookieDel" class="form-control" placeholder=";">
+                            </label>
+                            <!-- --live-cookies -->
+                            <label class="form-group" for="cookieLive">
+                                <div class="form-label">LIVE COOKIES FILE<i tooltip="Option --live-cookies can be used to provide a cookies file which will be used for loading of up-to-date values. 
+                                    This means that that same file will be read prior to each request to get the latest value for HTTP Cookie header. It should point to a file with fresh/up-to-date cookie values. 
+                                    
+                                    Trick is that once you delete its content, sqlmap immediately will stop and wait for the update of its content. Same applies if you just modify its content in-place.You can do this indefinitely number of times during a run. 
+                                    
+                                    In your case, you can just run sqlmap in one terminal with --live-cookies pointing to a file containing starting cookie value, while in another terminal you can do a periodic deletion and filling of that same file.">ⁱ</i></div>
+                                <div class="form-label"><u>--live-cookies</u></div>
+                                <input type="text" id="cookieLive" class="form-control" placeholder="live-cookies.txt">
+                            </label>
+                            <!-- --load-cookies -->
+                            <label class="form-group" for="cookieLoad">
+                                <div class="form-label">RAW COOKIE FILE<i tooltip="An option --load-cookies can be used to provide a special file containing Netscape/wget formatted cookies. 
+                                    
+                                    This format includes not only cookie names and values but also their domains, paths, expiry, and security attributes.
+
+                                    Unlike the --cookie or -H options which requires to manually enter raw cookie strings, the --load-cookies reads structures cookie data, which can help fully replicate a browser session.">ⁱ</i></div>
+                                <div class="form-label"><u>--load-cookies</u></div>
+                                <input type="text" id="cookieLoad" class="form-control" placeholder="load-cookies.txt">
+                            </label>
+                            <!-- --drop-set-cookie -->
+                            <label class="form-group">
+                                <div class="checkbox-label" for="cookieDrop">
+                                    <input type="checkbox" id="cookieDrop">
+                                    <b>IGNORE Set-Cookie HEADER</b>
+                                    <u>--drop-set-cookie</u><i tooltip="If the web application responds with Set-Cookie headers, sqlmap will automatically use its value in all further HTTP requests as the Cookie header. Sqlmap will also automatically test those values for SQL injection.
+                                    
+                                    This can be avoided by providing the switch --drop-set-cookie. 
+                                    Therefore, an sqlmap will ignore any coming Set-Cookie header.">ⁱ</i>
+                                    <span class="checkmark"></span>
+                                </div>
+                            </label>
+                            <div></div>
+                            <!-- --auth-type/--auth-cred -->
+                            <label class="form-group" for="authType">
+                                <div class="form-label">HTTP PROTOCOL AUTHENTICATION<i tooltip="These options can be used to specify which HTTP protocol authentication back-end web server implements and the valid credentials to be used to perform all HTTP requests to the target application.">ⁱ</i></div>
+                                <div class="form-label"><u>--auth-type / --auth-cred</u></div>
+                                <select id="authType" class="form-control">
+                                    <option value="">-- Choose auth method --</option>
+                                    <option value="Basic">Basic</option>
+                                    <option value="Digest">Digest</option>
+                                    <option value="NTLM">NTLM</option>
+                                </select>
+                                <div class="form-group">
+                                    <input type="text" id="authCred" class="form-control" placeholder="username:password">
+                                </div>
+                            </label>
+                            <!-- --auth-file -->
+                            <label class="form-group" for="authFile">
+                                <div class="form-label">PRIVATE KEY AUTHENTICATION<i tooltip="This option should be used in cases when the web server requires proper client-side certificate and a private key for authentication.
+                                    
+                                    Supplied value should be a PEM formatted key_file that contains your certificate and a private key.">ⁱ</i></div>
+                                <div class="form-label"><u>--auth-file</u></div>
+                                <input type="text" id="authFile" class="form-control" placeholder="auth_file.key">
+                            </label>
+
+                            <h3>CSRF Tokens Control</h3>
+                            <!-- --csrf-url -->
+                            <label class="form-group" for="csrfUrl">
+                                <div class="form-label">TOKEN EXTRACTION URL<i tooltip="Option --csrf-url can be used for retrieval of the token value from arbitrary URL address. 
+                                    
+                                    This is useful if the vulnerable target URL doesn't contain the necessary token value in the first place, but it is required to extract it from some other location.">ⁱ</i></div>
+                                    <div class="form-label"><u>--csrf-url</u></div>
+                                    <input type="url" id="csrfUrl" class="form-control" placeholder="https://example.com/profile/">
+                            </label>                            
+                            <!-- --csrf-method -->
+                            <label class="form-group" for="csrfMethod">
+                                <div class="form-label">HTTP METHOD FOR TOKEN RETRIEVAL<i tooltip="HTTP method for token extraction.">ⁱ</i></div>
+                                <div class="form-label"><u>--csrf-method</u></div>
+                                <select id="csrfMethod" class="form-control">
+                                    <option value="">-- Choose HTTP method --</option>
+                                    <option value="GET">GET</option>
+                                    <option value="POST">POST</option>
+                                    <option value="PUT">PUT</option>
+                                    <option value="DELETE">DELETE</option>
+                                    <option value="HEAD">HEAD</option>
+                                    <option value="OPTIONS">OPTIONS</option>
+                                    <option value="PATCH">PATCH</option>
+                                    <option value="custom">--Custom--</option>
+                                </select>
+                                <div class="form-group" id="customCsrfMethodGroup">
+                                    <input type="text" id="customCsrfMethod" class="form-control" placeholder="">
+                                </div>
+                            </label>
+                            <!-- --csrf-data -->
+                            <label class="form-group" for="csrfData">
+                                <div class="form-label">TOKEN EXTRACTION DATA<i tooltip="Send this POST data when sqlmap visits the anti-CSRF token URL to retrieve a new token.
+                                    
+                                    Use together with --csrf-url for applications that require a POST request to generate or refresh the CSRF token, ensuring your scans stay authenticated and valid.
+                                    ">ⁱ</i></div>
+                                    <div class="form-label"><u>--csrf-data</u></div>
+                                    <input type="text" id="csrfData" class="form-control" placeholder="anticsrf=KvWS8aJQ&action=show">
+                                </label>
+                            <!-- --csrf-token -->
+                            <label class="form-group" for="csrfToken">
+                                <div class="form-label">ANTI-CSRF TOKEN FIELD<i tooltip="Option --csrf-token can be used to set the name of the hidden value that contains the randomized token. 
+                                    
+                                    This is useful in cases when web sites use non-standard names for such fields.">ⁱ</i></div>
+                                <div class="form-label"><u>--csrf-token</u></div>
+                                <input type="text" id="csrfToken" class="form-control" placeholder="anti-csrf">
+                            </label>
+                            <!-- --csrf-retries -->
+                            <label class="form-group" for="csrfRetries">
+                                <div class="form-label" >RETRIES DURING TOKEN RETRIEVAL<i tooltip="Retries for anti-CSRF token retrieval.
+                                    
+                                    Default: 0">ⁱ</i></div>
+                                <div class="form-label"><u>--csrf-retries</u></div>
+                                <input type="number" id="csrfRetries" class="form-control" placeholder="0" min="0" step="1">
+                            </label>
+
+                            <h3>Safe Requests</h3>
+                            <!-- safe-url -->
+                            <label class="form-group" for="safeUrl">
+                                <div class="form-label">SAFE REQUEST URL<i tooltip="Visit the specified URL regularly during scanning to keep your session alive or prevent automatic logouts.
+
+                                    Sqlmap will visit this safe URL between requests to maintain access while testing.
+
+                                    Useful for applications with aggressive session timeouts or login expirations.
+
+                                    You can send specific data to this request with --safe-post.
+                                    ">ⁱ</i></div>
+                                <div class="form-label"><u>--safe-url</u></div>
+                                <input type="url" id="safeUrl" class="form-control" placeholder="https://example.com/login">
+                            </label>
+                            <!-- --safe-post -->
+                            <label class="form-group" for="safePost">
+                                <div class="form-label">SAFE REQUEST DATA<i tooltip="Send this custom POST data to the safe URL during session keep-alive requests.
+
+                                    Ideal when your application requires a specific POST body to refresh a session or simulate a real user action while maintaining authentication during a scan.
+
+                                    You should specify a URL using the --safe-url switch.
+                                    ">ⁱ</i></div>
+                                <div class="form-label"><u>--safe-post</u></div>
+                                <input type="text" id="safePost" class="form-control" placeholder="login=admin&password=letmein">
+                            </label>
+                            <!-- --safe-req -->
+                            <label class="form-group" for="safeReq">
+                                <div class="form-label">FILE WITH A SAFE REQUEST<i tooltip="Use a complete HTTP request from a file as the safe URL visit to keep your session active.
+
+                                    Great for complex authentication flows or when you need to replay a real request with headers, cookies, or big chunk of POST data to prevent timeouts and maintain access while scanning.
+                                    ">ⁱ</i></div>
+                                <div class="form-label"><u>--safe-req</u></div>
+                                <input type="text" id="safeReq" class="form-control" placeholder="safe-request-file.txt">
+                            </label>
+                            <!-- --safe-freq -->
+                            <label class="form-group" for="safeFreq">
+                                <div class="form-label">SAFE REQUEST FREQUENCY<i tooltip="Set how many injection requests sqlmap sends before each visit to the safe URL.
+
+                                    For example, --safe-freq=5 means send 5 attack requests, then automatically hit your safe URL once to refresh session state. 
+                                    
+                                    Adjust this number based on session timeout: smaller values for fast-expiring sessions, larger for more speed-focused scans. 
+                                    
+                                    Use it together with --safe-url, --safe-post or --safe-req to balance attack speed and session maintenance.  
+                                    
+                                    ">ⁱ</i></div>
+                                <div class="form-label"><u>--safe-freq</u></div>
+                                <input type="number" id="safeFreq" class="form-control" placeholder="5">
+                            </label>
+                            
+                        </div>
+                    </div>
+                </div>
+            </div>
+
+            <!-- INJECTION Tab -->
+            <div class="tab-content" id="injection">
+                <div class="card">
+                    <div class="card__body">
+                        <div class="form-grid">
+
+                            <h3>Parameters</h3>
+                            <!-- -p -->
+                            <label class="form-group" for="paramTest">
+                                <div class="form-label" >TESTABLE PARAMETERS<i tooltip="Comma separated parameters for testing. By default sqlmap tests all GET parameters and POST parameters.
+                                    
+                                    When the value of --level is &gt;= 2 it tests also HTTP Cookie header values. When this value is &gt;= 3 it tests also HTTP User-Agent and HTTP Referer header value for SQL injections.
+                                    
+                                    It is however possible to manually specify a comma-separated list of parameter(s) that you want sqlmap to test. This will bypass the dependence on value of --level too.
+                                    
+                                    For instance, to test for GET parameter id and for HTTP User-Agent only, provide -p &quot;id,user-agent&quot;.">ⁱ</i></div>
+                                <div class="form-label" for="paramTest"><u>-p</u></div>
+                                <input type="text" id="paramTest" class="form-control" placeholder="id,user-agent">
+                            </label>
+
+                            <!-- --skip -->
+                            <label class="form-group" for="paramSkip">
+                                <div class="form-label" >FORBIDDEN PARAMETERS<i tooltip="Skip testing for given parameter(s). That is especially useful in cases when you want to use higher value for --level and test all available parameters excluding some of HTTP headers normally being tested.
+                                    
+                                    For instance, to skip testing for HTTP header User-Agent and HTTP header Referer at --level=5, provide --skip=&quot;user-agent,referer&quot;.">ⁱ</i></div>
+                                <div class="form-label" for="paramSkip"><u>--skip</u></div>
+                                <input type="text" id="paramSkip" class="form-control" placeholder="csrf_token,session_id">
+                            </label>
+                            <!-- --param-exclude -->
+                            <label class="form-group" for="paramExclude">
+                                <div class="form-label">FORBIDDEN PARAMETERS REGEX<i tooltip="Skip testing for given parameter(s). This is the same as --skip, but this switch is based on a regular expressions.
+
+                                    For instance, to skip testing for parameters which contain string token or session in their names, provide --param-exclude=&quot;token|session&quot;">ⁱ</i></div>
+                                <div class="form-label"><u>--param-exclude</u></div>
+                                <input type="text" id="paramExclude" class="form-control" placeholder="token|session">
+                            </label>
+                            <!-- --param-filter -->
+                            <label class="form-group" for="paramFilter">
+                                <div class="form-label">PARAMETERS SCAN CATEGORY ALLOWLIST<i tooltip="The --param-filter parameter restrict scans to specific components of HTTP requests, improving efficiency and reducing noise. 
+                                    
+                                    Accepted comma-separated values include GET (URL parameters), POST (request body), COOKIE, HOST, USER-AGENT, and REFERER.
+
+                                    This switch can isolate high-risk areas like API endpoints (test only POST body parameters) or speed-up headers injection testing (specifying COOKIE,HOST,USER-AGENT,REFERER filter with --level=5 focuses scans on headers, ignoring GET/POST parameters).
+
+                                    The filter reduces scan times by 30-40% in header-rich environments and minimizes false positives from unnecessary parameters.">ⁱ</i></div>
+                                <div class="form-label"><u>--param-filter</u></div>
+                                <input type="text" id="paramFilter" class="form-control" placeholder="GET,POST,COOKIE,USER-AGENT...">
+                            </label>
+                            <!-- --prefix -->
+                            <label class="form-group" for="prefix">
+                                <div class="form-label">PREFIX TO PREPEND<i tooltip="The --prefix parameter allows you to prepend a custom string to every SQL injection payload before it is sent to the target application.
+                                    
+                                    This parameter is essential when applications require specific SQL syntax or characters before the actual injection payload to construct a valid query.
+                                    
+                                    It is particularly useful when dealing with applications that embed parameters within complex SQL queries requiring specific opening syntax, such as closing quotes or parentheses before the injection point.">ⁱ</i></div>
+                                <div class="form-label"><u>--prefix</u></div>
+                                <input type="text" id="prefix" class="form-control" placeholder="')">
+                            </label>
+                            <!-- --suffix -->
+                            <label class="form-group" for="suffix">
+                                <div class="form-label">SUFFIX TO APPEND<i tooltip="The --suffix parameter enables you to append a custom string to every SQL injection payload after the main injection code.
+                                    
+                                    It is crucial when applications require specific closing characters or comments to prevent SQL syntax errors, such as SQL comments (--) or closing parentheses to maintain query validity.">ⁱ</i></div>
+                                <div class="form-label"><u>--suffix</u></div>
+                                <input type="text" id="suffix" class="form-control" placeholder="-- -">
+                            </label>
+
+                            <!-- --randomize -->
+                            <label class="form-group" for="randomize">
+                                <div class="form-label">PARAMETER(S) WITH RANDOM VALUE(S)<i tooltip="Randomly change the value of the specified parameter(s) on each request.
+
+                                    Great for avoiding caching, WAF tracking, or when you want each request to look unique. Useful for scanning parameters that the app or security device ignores unless they change on every request.
+                                    ">ⁱ</i></div>
+                                <div class="form-label"><u>--randomize</u></div>
+                                <input type="number" id="randomize" class="form-control" placeholder="tracking">
+                            </label>    
+
+                            <h3>Detection</h3>
+                            <div class="form-group grid-row-span-3">
+                                <span class="form-label checkbox-grid">DETECTION TECHNIQUES</span>
+                                <div class="checkbox-grid">
+
+                                    <!-- --titles -->
+                                    <label class="checkbox-label" for="titles">
+                                        <input type="checkbox" id="titles">
+                                        <u>--titles</u><i tooltip="Compare only the &lt;title&gt; tag of each page when checking for SQL injection differences, instead of analyzing the full page content.
+
+                                        Great for web apps where the page content changes a lot but the title reflects the true application state—useful for noisy apps, dynamic pages, or when other detection methods are unreliable.
+                                        
+                                        Turn on when you knows that the distinction of a True query from a False one can be done using HTML title (e.g. &quot;Welcome&quot; for True and &quot;Forbidden&quot; for False).
+                                        ">ⁱ</i>
+                                        <span class="checkmark"></span>
+                                    </label>
+
+                                    <!-- --text-only -->
+                                    <label class="checkbox-label" for="textOnly">
+                                        <input type="checkbox" id="textOnly">
+                                        <u>--text-only</u><i tooltip="Compare only the textual content of each page (stripped of HTML tags) to detect SQL injection, ignoring markup and scripts.
+
+                                        Useful when HTML layout or scripts change on every request, but the actual text on the page is what matters for detection—helps reduce false positives on dynamic sites.
+                                        
+                                        This way, in a good number of cases, you can automatically tune the detection engine.">ⁱ</i>
+                                        <span class="checkmark"></span>
+                                    </label>
+                        
+                                    <!-- --ignore-redirects -->
+                                    <label class="checkbox-label" for="ignoreRedirects">
+                                        <input type="checkbox" id="ignoreRedirects">
+                                        <u>--ignore-redirects</u><i tooltip="Ignore HTTP redirects and treat redirection responses as normal results, without following them.
+
+                                        Useful for endpoints that always redirect, when redirects interfere with scanning, or if you want sqlmap to process only the original response without chasing further URLs.
+                                        ">ⁱ</i>
+                                        <span class="checkmark"></span>
+                                    </label>
+                                                
+                                    <!-- --ignore-timeouts -->
+                                    <label class="checkbox-label" for="ignoreTimeouts">
+                                        <input type="checkbox" id="ignoreTimeouts">
+                                        <u>--ignore-timeouts</u><i tooltip="Ignore time out requests and continue scanning as if nothing happened.
+
+                                        Perfect for unstable or slow targets, letting sqlmap complete scans without interruption from occasional network issues or delayed server responses.
+                                        ">ⁱ</i>
+                                        <span class="checkmark"></span>
+                                    </label>
+                            
+                                </div>
+                            </div>
+
+                            <!-- --string -->
+                            <label class="form-group" for="string">
+                                <div class="form-label">TRUE DETECTION STRING<i tooltip="By default the distinction of a True query from a False is done by comparing the injected requests page content with the original not injected page content. 
+                            
+                                    Not always this concept works because sometimes the page content changes at each refresh even not injecting anything, for instance when the page has a counter, a dynamic advertisement banner or any other part of the HTML which is rendered dynamically and might change in time not only consequently to user's input. 
+        
+                                    The user can provide a string (--string option) which should be present on original page (though it is not a requirement) and on all True injected query pages, but that it is not on the False ones.
+                                    
+                                    Instead of --string, the user can use a --regexp.
+                                    
+                                    Alternatively, user can provide a --not-string option which should not present on original page and not on all True injected query pages, but appears always on False ones.">ⁱ</i></div>
+                                <div class="form-label"><u>--string</u></div>
+                                <input type="text" id="string" class="form-control" placeholder="">
+                            </label>
+                            
+                            <!-- --regexp-->
+                            <label class="form-group" for="regexp">
+                                <div class="form-label">TRUE DETECTION REGEXP<i tooltip="By default the distinction of a True query from a False  is done by comparing the injected requests page content with the original not injected page content. 
+                                    
+                                    Not always this concept works because sometimes the page content changes at each refresh even not injecting anything, for instance when the page has a counter, a dynamic advertisement banner or any other part of the HTML which is rendered dynamically and might change in time not only consequently to user's input. 
+                                    
+                                    The user can provide a string (--string option) which should be present on original page (though it is not a requirement) and on all True injected query pages, but that it is not on the False ones.
+                                    
+                                    Instead of --string, the user can use a --regexp.
+                                    
+                                    Alternatively, user can provide a --not-string option which should not present on original page and not on all True injected query pages, but appears always on False ones.">ⁱ</i></div>
+                                <div class="form-label"><u>--regexp</u></div>
+                                <input type="text" id="regexp" class="form-control" placeholder="">
+                            </label>
+
+                            <!-- --not-string -->
+                            <label class="form-group" for="notString">
+                                <div class="form-label">FALSE DETECTION STRING<i tooltip="By default the distinction of a True query from a False is done by comparing the injected requests page content with the original not injected page content. 
+                            
+                                    Not always this concept works because sometimes the page content changes at each refresh even not injecting anything, for instance when the page has a counter, a dynamic advertisement banner or any other part of the HTML which is rendered dynamically and might change in time not only consequently to user's input. 
+        
+                                    The user can provide a string (--string option) which should be present on original page (though it is not a requirement) and on all True injected query pages, but that it is not on the False ones.
+                                    
+                                    Instead of --string, the user can use a --regexp.
+                                    
+                                    Alternatively, user can provide a --not-string option which should not present on original page and not on all True injected query pages, but appears always on False ones.">ⁱ</i></div>
+                                <div class="form-label"><u>--not-string</u></div>
+                                <input type="text" id="notString" class="form-control" placeholder="">
+                            </label>
+
+                            <!-- --code -->
+                            <label class="form-group" for="code">
+                                <div class="form-label">EXPECTED HTTP CODE<i tooltip="Use this in cases when you know that the distinction of a True query from a False one can be done using HTTP code.">ⁱ</i></div>
+                                <div class="form-label"><u>--code</u></div>
+                                <input type="number" id="code" class="form-control" min="100", max="599", step="1" placeholder="201">
+                            </label>
+     
+                            <!-- --abort-code -->
+                            <label class="form-group" for="abortCode">
+                                <div class="form-label">STOP SCAN ON THIS HTTP STATUS CODE<i tooltip="Abort testing when the specified HTTP status code (like 403 or 500) appears in the response.
+
+                                    Use this to stop scans automatically if you trigger a block, web application firewall or major server error. Great for avoiding account lockouts or when you want fast feedback if the application changes its behavior during the scan.">ⁱ</i></div>
+                                <div class="form-label"><u>--abort-code</u></div>
+                                <input type="number" id="abortCode" min="100" max="599" class="form-control" placeholder="500">
+                            </label>       
+     
+                            <!-- --ignore-code -->
+                            <label class="form-group" for="ignoreCode">
+                                <div class="form-label">STOP SCAN ON THIS HTTP STATUS CODE<i tooltip="Ignore HTTP responses with the specified status code(s), like 401, 404, or 500.
+                                    
+                                    Use this to skip over noisy or irrelevant errors so your scan focuses on valuable responses.
+                                    
+                                    Remark: what the help suggests, wildcards like * or 4* are not supported—only a comma-separated list of integer codes will work. 
+                                    ">ⁱ</i></div>
+                                <div class="form-label"><u>--ignore-code</u></div>
+                                <input type="number" id="ignoreCode" min="100" max="599" class="form-control" placeholder="500">
+                            </label>       
+
+                            <!-- --retries -->
+                            <label class="form-group" for="retries">
+                                <div class="form-label">MAX NUMBER OF RETRIES<i tooltip="Set how many times sqlmap should retry a request after a connection timeout.
+
+                                    Increase for unstable or slow networks to improve scan reliability, or decrease for faster scans if connection issues are rare.
+
+                                    Default: 3.
+                                    ">ⁱ</i></div>
+                                <div class="form-label"><u>--retries</u></div>
+                                <input type="number" id="retries" class="form-control" placeholder="3">
+                            </label>      
+
+                            <!-- --retry-on -->
+                            <label class="form-group" for="retryOn">
+                                <div class="form-label">RETRY ON CONTENT REGEXP<i tooltip="Retry the request if the response body matches the given regular expression.
+
+                                    Perfect for skipping over temporary issues, like 'Service Unavailable' or anti-bot messages—use this to keep your scan going if you hit intermittent errors or protections that show specific content in their response.
+                                    ">ⁱ</i></div>
+                                <div class="form-label"><u>--retry-on</u></div>
+                                <input type="number" id="retryOn" class="form-control" placeholder="(?i)error|unavailable">
+                            </label>                                                
+
+                            <h3>Attack Optimalization</h3>
+                            <!-- --level -->
+                            <label class="form-group grid-column-span-2" for="level">
+                                <div class="form-label">ATTACK <u>--level</u> <span id="levelValue">1</span></div>
+                                <input type="range" id="level" class="slider" min="1" max="5" value="1">
+                                <div class="additional-help" id="level-help">1: Show also information and warning messages (default).</div>
+                            </label>
+                            <!-- --risk -->
+                            <label class="form-group grid-column-span-2" for="risk">
+                                <div class="form-label">ATTACK <u>--risk</u> <span id="riskValue">1</span></div>
+                                <input type="range" id="risk" class="slider" min="1" max="3" value="1">
+                                <div class="additional-help" id="risk-help">1: Innocuous test for the majority of SQL injection points (default).</div>
+                            </label>
+
+                            <!-- Attack techniques -->
+                            <div class="form-group grid-row-span-2">
+                                <span class="form-label checkbox-grid">ATTACK TECHNIQUES</span>
+                                <div class="checkbox-grid">
+
+                                    <label class="checkbox-label" for="techB">
+                                        <input type="checkbox" id="techB" value="B">
+                                        <u>Boolean-based blind (B)</u>
+                                        <span class="checkmark"></span>
+                                    </label>
+                            
+                                    <label class="checkbox-label" for="techE">
+                                        <input type="checkbox" id="techE" value="E">
+                                        <u>Error-based (E)</u>
+                                        <span class="checkmark"></span>
+                                    </label>
+                            
+                                    <label class="checkbox-label" for="techU">
+                                        <input type="checkbox" id="techU" value="U">
+                                        <u>Union query-based (U)</u>
+                                        <span class="checkmark"></span>
+                                    </label>
+                            
+                                    <label class="checkbox-label" for="techS">
+                                        <input type="checkbox" id="techS" value="S">
+                                        <u>Stacked queries (S)</u>
+                                        <span class="checkmark"></span>
+                                    </label>
+                            
+                                    <label class="checkbox-label" for="techT">
+                                        <input type="checkbox" id="techT" value="T">
+                                        <u>Time-based blind (T)</u>
+                                        <span class="checkmark"></span>
+                                    </label>                                    
+                                    
+                                    <label class="checkbox-label" for="techQ">
+                                        <input type="checkbox" id="techQ" value="Q">
+                                        <u>Inline queries (Q)</u>
+                                        <span class="checkmark"></span>
+                                    </label>
+                            
+                                </div>
+                            </div>  
+
+                            <!-- Attack tuning -->
+                            <div class="form-group grid-row-span-2">
+                                <span class="form-label checkbox-grid">ATTACK TUNING</span>
+                                <div class="checkbox-grid">
+                            
+                                    <!-- --invalid-bignum -->
+                                    <label class="checkbox-label" for="invalidBignum">
+                                        <input type="checkbox" id="invalidBignum">
+                                        <u>--invalid-bignum</u><i tooltip="This parameter forces sqlmap to use large integer numbers for invalidating original parameter values during SQL injection tests.
+                                        
+                                        Instead of standard invalidation methods (e.g., negative values), sqlmap replaces original values with very large numbers, which can bypass application filters that block typical techniques.
+                                        
+                                        It is particularly useful when applications filter standard parameter invalidation methods but may not properly handle extremely large numeric values.">ⁱ</i>
+                                        <span class="checkmark"></span>
+                                    </label>
+                            
+                                    <!-- --invalid-logical -->
+                                    <label class="checkbox-label" for="invalidLogical">
+                                        <input type="checkbox" id="invalidLogical">
+                                        <u>--invalid-logical</u><i tooltip="The switch enables the use of logical operations to invalidate parameter values.
+                                       
+                                        Sqlmap replaces original values with logical expressions that always return false (e.g., id=(1=0)).
+                                        
+                                        This method is effective when applications expect logical values or block other invalidation techniques. 
+                                        
+                                        The parameter serves as an alternative for standard invalidation methods in environments with advanced filtering mechanisms.">ⁱ</i>
+                                        <span class="checkmark"></span>
+                                    </label>
+                            
+                                    <!-- --invalid-string -->
+                                    <label class="checkbox-label" for="invalidString">
+                                        <input type="checkbox" id="invalidString">
+                                        <u>--invalid-string</u><i tooltip="This parameter causes sqlmap to use random character strings for parameter value invalidation. Sqlmap generates random strings instead of original values, bypassing application filters focused on numeric values.
+                                        
+                                        It is useful when applications have special validation mechanisms for numbers but do not check string inputs.
+                                        
+                                        The parameter automatically replaces parameters with random strings during boolean-based injection tests.">ⁱ</i>
+                                        <span class="checkmark"></span>
+                                    </label>
+                            
+                                    <!-- --no-cast -->
+                                    <label class="checkbox-label" for="noCast">
+                                        <input type="checkbox" id="noCast">
+                                        <u>--no-cast</u><i tooltip="The switch disables sqlmap's automatic payload casting mechanism. 
+                                        
+                                        Normally sqlmap adds CAST() functions to payloads for handling different DBMS data types. 
+                                        
+                                        Using --no-cast is necessary when applications have payload length restrictions or when casting functions are blocked by WAF. 
+                                        
+                                        It significantly reduces the size of generated payloads, which is critical in environments with character limits. 
+                                        
+                                        It is often combined with --no-escape in environments with query length restrictions where every character matters.">ⁱ</i>
+                                        <span class="checkmark"></span>
+                                    </label>
+                            
+                                    <!-- --no-escape -->
+                                    <label class="checkbox-label" for="noEscape">
+                                        <input type="checkbox" id="noEscape">
+                                        <u>--no-escape</u><i tooltip="This parameter disables sqlmap's built-in string escaping mechanism.
+                                        
+                                        By default sqlmap automatically escapes special characters in payloads (adds backslash before apostrophes). This switch is useful when applications have their own escaping mechanisms or when automatic escaping breaks payloads.
+                                        
+                                        It is often combined with --no-cast in environments with query length restrictions where every character matters.">ⁱ</i>
+                                        <span class="checkmark"></span>
+                                    </label>
+                            
+                                    <!-- --predict-output -->
+                                    <label class="checkbox-label" for="predictOutput">
+                                        <input type="checkbox" id="predictOutput">
+                                        <u>--predict-output</u><i tooltip="The switch enables a statistical algorithm for predicting query results in inference techniques.
+                                        
+                                        Sqlmap builds statistical tables of most probable character values based on the txt/common-outputs.txt file and current enumeration knowledge. 
+                                        
+                                        It significantly speeds up data retrieval when values belong to common patterns (system table names, privileges).
+                                        
+                                        The parameter is not compatible with --threads and works best when retrieving standard DBMS entities.">ⁱ</i>
+                                        <span class="checkmark"></span>
+                                    </label>
+
+                                    <!-- --skip-urlencode -->
+                                    <label class="checkbox-label" for="skipUrlencode">
+                                        <input type="checkbox" id="skipUrlencode">
+                                        <u>--skip-urlencode</u><i tooltip="Send payload data without URL encoding.
+
+                                        Useful for debugging, custom encoding schemes, or when the target expects raw input. 
+                                        
+                                        Use with caution — most apps require URL-encoded data, so skipping encoding can cause requests to fail or be misinterpreted.
+                                        ">ⁱ</i>
+                                        <span class="checkmark"></span>
+                                    </label>                                    
+                                    
+                                    <!-- --chunked -->
+                                    <label class="checkbox-label" for="chunked">
+                                        <input type="checkbox" id="chunked">
+                                        <u>--chunked</u><i tooltip="Use HTTP Parameter Pollution (HPP) by sending multiple instances of the same parameter in requests.
+
+                                        Great for testing if the web app or backend handles duplicate parameters insecurely—can help bypass filters, trigger edge-case bugs, or discover hidden vulnerabilities that appear only when parameters are polluted.
+                                        ">ⁱ</i>
+                                        <span class="checkmark"></span>
+                                    </label>
+                                    
+                                    <!-- --hpp -->
+                                    <label class="checkbox-label" for="hpp">
+                                        <input type="checkbox" id="hpp">
+                                        <u>--hpp</u><i tooltip="Send POST requests using HTTP chunked transfer encoding instead of a standard Content-Length.
+
+                                        Useful for bypassing WAFs, filters, or edge devices that mishandle or ignore chunked requests.
+                                        
+                                        Try this if standard POSTs are blocked or behave differently.
+                                        ">ⁱ</i>
+                                        <span class="checkmark"></span>
+                                    </label>
+
+                                </div>
+                            </div>  
+
+                            <!-- --dbms -->
+                            <label class="form-group" for="dbms">
+                                <div class="form-label">FORCE TARGET DATABASE ENGINE<i tooltip="Greatly reduces scan time by minimalizing number of requests, using payloads appropriate only for the selected database engine.">ⁱ</i></div>
+                                <div class="form-label"><u>--dbms</u></div>
+                                <select id="dbms" class="form-control">
+                                    <option value="">Auto-detect</option>
+                                    <option value="MySQL">MySQL</option>
+                                    <option value="Oracle">Oracle</option>
+                                    <option value="PostgreSQL">PostgreSQL</option>
+                                    <option value="Microsoft SQL Server">Microsoft SQL Server</option>
+                                    <option value="Microsoft Access">Microsoft Access</option>
+                                    <option value="IBM DB2">IBM DB2</option>
+                                    <option value="SQLite">SQLite</option>
+                                    <option value="Firebird">Firebird</option>
+                                    <option value="Sybase">Sybase</option>
+                                    <option value="SAP MaxDB">SAP MaxDB</option>
+                                    <option value="Informix">Informix</option>
+                                    <option value="MariaDB">MariaDB</option>
+                                    <option value="Percona">Percona</option>
+                                    <option value="MemSQL">MemSQL</option>
+                                    <option value="TiDB">TiDB</option>
+                                    <option value="CockroachDB">CockroachDB</option>
+                                    <option value="HSQLDB">HSQLDB</option>
+                                    <option value="H2">H2</option>
+                                    <option value="MonetDB">MonetDB</option>
+                                    <option value="Apache Derby">Apache Derby</option>
+                                    <option value="Amazon Redshift">Amazon Redshift</option>
+                                    <option value="Vertica">Vertica</option>
+                                    <option value="Mckoi">Mckoi</option>
+                                    <option value="Presto">Presto</option>
+                                    <option value="Altibase">Altibase</option>
+                                    <option value="MimerSQL">MimerSQL</option>
+                                    <option value="CrateDB">CrateDB</option>
+                                    <option value="Greenplum">Greenplum</option>
+                                    <option value="Drizzle">Drizzle</option>
+                                    <option value="Apache Ignite">Apache Ignite</option>
+                                    <option value="Cubrid">Cubrid</option>
+                                    <option value="InterSystems Cache">InterSystems Cache</option>
+                                    <option value="IRIS">IRIS</option>
+                                    <option value="eXtremeDB">eXtremeDB</option>
+                                    <option value="FrontBase">FrontBase</option>
+                                </select>
+                            </label>
+                            <!-- --os -->
+                            <label class="form-group" for="os">
+                                <div class="form-label">FORCE TARGET OS<i tooltip="By default sqlmap automatically detects the web application's back-end database management system underlying operating system when this information is a dependence of any other provided switch or option. 
+                                    
+                                    It is possible to force the operating system name by --os switch, if you already know it so that sqlmap will avoid doing it itself. 
+                                    
+                                    Note that this option is not mandatory and it is strongly recommended to use it only if you are absolutely sure about the back-end database management system underlying operating system. 
+                                    
+                                    If you do not know it, let sqlmap automatically identify it for you.">ⁱ</i></div>
+                                <div class="form-label"><u>--os</u></div>
+                                <select id="os" class="form-control">
+                                    <option value="">Auto-detect</option>
+                                    <option value="Linux">Linux</option>
+                                    <option value="Windows">Windows</option>
+                                </select>
+                            </label>
+                            <!-- --second-url -->
+                            <label class="form-group" for="secondUrl">
+                                <div class="form-label">SECOND ORDER PAGE URL<i tooltip="Second-order SQL injection attack is an attack where result(s) of an injected payload in one vulnerable page is reflected at the other (e.g. frame).
+
+                                    You can point sqlmap a resulting page URL searched for second-order response to test for this type of SQL injection by using option --second-order.">ⁱ</i></div>
+                                <div class="form-label"><u>--second-url</u></div>
+                                <input type="url" id="secondUrl" class="form-control" placeholder="https://example.com/profile">
+                            </label>
+                            <!-- --second-req -->
+                            <label class="form-group" for="secondReq">
+                                <div class="form-label">SECOND ORDER REQUEST FILE<i tooltip="Second-order SQL injection attack is an attack where result(s) of an injected payload in one vulnerable page is reflected at the other (e.g. frame).
+
+                                    You can point sqlmap a request file for sending to the server where results are being shown to test by using option --second-req.">ⁱ</i></div>
+                                <div class="form-label"><u>--second-req</u></div>
+                                <input type="text" id="secondReq" class="form-control" placeholder="second-order-request.txt">
+                            </label>
+                        </div>
+                    </div>
+                </div>
+            </div>
+
+            <!-- Exploitation Tab -->
+            <div class="tab-content" id="exploitation">
+                <div class="card">
+                    <div class="card__body">
+                        <div class="form-grid">
+
+                            <!-- -D -->
+                            <label class="form-group" for="database">
+                                <div class="form-label">DATABASE(S) NAME FOR ENUMERATION<i tooltip="DBMS database to enumerate.">ⁱ</i></div>
+                                <div class="form-label"><u>-D</u></div>
+                                <input type="text" id="database" class="form-control" placeholder="database_name1,database_name2">
+                            </label>
+                            <!-- -T -->
+                            <label class="form-group" for="table">
+                                <div class="form-label">TABLE(S) NAME FOR ENUMERATION<i tooltip="DBMS database table(s) to enumerate.">ⁱ</i></div>
+                                <div class="form-label"><u>-T</u></div>
+                                <input type="text" id="table" class="form-control" placeholder="table_name1,table_name2">
+                            </label>
+                            <!-- -C -->
+                            <label class="form-group" for="column">
+                                <div class="form-label">COLUMN(S) NAME FOR ENUMERATION<i tooltip="DBMS database table column(s) to enumerate.">ⁱ</i></div>
+                                <div class="form-label"><u>-C</u></div>
+                                <input type="text" id="column" class="form-control" placeholder="column_name1,column_name2">
+                            </label>                         
+                            <!-- -X -->
+                            <label class="form-group" for="exclude">
+                                <div class="form-label">DBMS(S) TO NOT ENUMARATE<i tooltip="DBMS database identifier(s) to not enumerate.">ⁱ</i></div>
+                                <div class="form-label"><u>-X</u></div>
+                                <input type="text" id="exclude" class="form-control" placeholder="dbname">
+                            </label>
+                            <!-- -U -->
+                            <label class="form-group" for="user">
+                                <div class="form-label">USER NAME FOR ENUMERATION<i tooltip="DBMS user to enumerate (can be used with --roles and --passwords).">ⁱ</i></div>
+                                <div class="form-label"><u>-U</u></div>
+                                <input type="text" id="user" class="form-control" placeholder="username">
+                            </label>                           
+                            <!-- --pivot-column -->
+                            <label class="form-group" for="pivotColumn">
+                                <div class="form-label">PIVOT COLUMN NAME<i tooltip="Sometimes (e.g. for Microsoft SQL Server) it is not possible to dump the table rows straightforward by using OFFSET m, n mechanism because of lack of similar. 
+                                    
+                                    In such cases sqlmap dumps the content by determining the most suitable pivot column (the one with most unique values) whose values are used later on for retrieval of other column values. 
+                                    
+                                    If it is necessary to enforce the usage of particular pivot column because the automatically chosen one is not suitable (e.g. because of lack of table dump results) you can use option --pivot-column (e.g. --pivot-column=id).">ⁱ</i></div>
+                                <div class="form-label"><u>--pivot</u></div>
+                                <input type="text" id="pivotColumn" class="form-control" placeholder="column_name">
+                            </label>                      
+                            <!-- --where -->
+                            <label class="form-group" for="where">
+                                <div class="form-label">DUMP FILTER CONDITION<i tooltip="In case that you want to constraint the --dump to specific column values (or ranges) you can use option --where. Provided logical operation will be automatically used inside the WHERE clause. 
+                                    
+                                    For example, if you use --where=id>3 only table rows having value of column id greater than 3 will be retrieved (by appending WHERE id>3 to used dumping queries).">ⁱ</i></div>
+                                <div class="form-label"><u>--where</u></div>
+                                <input type="text" id="where" class="form-control" placeholder="SQL CONDITION">
+                            </label>
+                            <!-- --start -->
+                            <label class="form-group" for="start">
+                                <div class="form-label">DUMP STARTING ENTRY NUMBER<i tooltip="If you want to dump only a range of entries, then you can provide options --start and/or --stop to respectively start to dump from a certain entry and stop the dump at a certain entry. 
+                                    
+                                    For instance, if you want to dump only the first entry, provide --stop 1 in your command line. Vice versa if, for instance, you want to dump only the second and third entry, provide --start 1 --stop 3.">ⁱ</i></div>
+                                <div class="form-label"><u>--start</u></div>
+                                <input type="number" id="start" class="form-control" placeholder="1">
+                            </label>
+                            <!-- --stop -->
+                            <label class="form-group" for="stop">
+                                <div class="form-label">DUMP STOP ENTRY NUMBER<i tooltip="If you want to dump only a range of entries, then you can provide options --start and/or --stop to respectively start to dump from a certain entry and stop the dump at a certain entry. 
+                                    
+                                    For instance, if you want to dump only the first entry, provide --stop 1 in your command line. Vice versa if, for instance, you want to dump only the second and third entry, provide --start 1 --stop 3.">ⁱ</i></div>
+                                <div class="form-label"><u>--stop</u></div>
+                                <input type="number" id="stop" class="form-control" placeholder="3">
+                            </label>
+                            <!-- --first -->
+                            <label class="form-group" for="first">
+                                <div class="form-label">DUMP STARTING FROM THE N-TH CHARACTER<i tooltip="It is possible to specify which single character or range of characters to dump with options --first and --last. 
+                                    
+                                    For instance, if you want to dump columns' entries from the third to the fifth character, provide --first 3 --last 5. This feature only applies to the blind SQL injection techniques because for error-based and UNION query SQL injection techniques the number of requests is exactly the same, regardless of the length of the column's entry output to dump.">ⁱ</i></div>
+                                <div class="form-label"><u>--first</u></div>
+                                <input type="number" id="first" class="form-control" placeholder="3">
+                            </label>
+                            <!-- --last -->
+                            <label class="form-group" for="last">
+                                <div class="form-label">DUMP ENDING AT THE N-TH CHARACTER<i tooltip="It is possible to specify which single character or range of characters to dump with options --first and --last. 
+                                    
+                                    For instance, if you want to dump columns' entries from the third to the fifth character, provide --first 3 --last 5. 
+                                    
+                                    This feature only applies to the blind SQL injection techniques because for error-based and UNION query SQL injection techniques the number of requests is exactly the same, regardless of the length of the column's entry output to dump.">ⁱ</i></div>
+                                <div class="form-label"><u>--last</u></div>
+                                <input type="number" id="last" class="form-control" placeholder="5">
+                            </label>                 
+                            <!-- --sql-query -->
+                            <label class="form-group" for="sqlQuery">
+                                <div class="form-label">SQL STATEMENT FOR EXECUTION<i tooltip="SQL statement to be executed.">ⁱ</i></div>
+                                <div class="form-label"><u>--sql-query</u></div>
+                                <input type="text" id="sqlQuery" class="form-control" placeholder="SELECT 1 FROM DUAL">
+                            </label>                           
+                            <!-- --sql-file -->
+                            <label class="form-group" for="sqlFile">
+                                <div class="form-label">FILE WITH SQL STATEMENTS<i tooltip="SQL statement to be executed.">ⁱ</i></div>
+                                <div class="form-label"><u>--sql-file</u></div>
+                                <input type="text" id="sqlFile" class="form-control" placeholder="statements.sql">
+                            </label>
+
+                            <!-- ENUMERATION -->
+                            <div class="form-group" style="grid-row-start: 1; grid-row-end: 6;">
+                                <span class="form-label checkbox-grid">ENUMERATION AND DATA EXFILTRATION</span>
+                                <div class="checkbox-grid">
+                            
+                                    <!-- --all -->
+                                    <label class="checkbox-label" for="all">
+                                        <input type="checkbox" id="all">
+                                        <u>--all</u><i tooltip="Retrieve everything.">ⁱ</i>
+                                        <span class="checkmark"></span>
+                                    </label>
+                                    <!-- --banner -->
+                                    <label class="checkbox-label" for="banner">
+                                        <input type="checkbox" id="banner">
+                                        <u>--banner</u><i tooltip="Retrieve DBMS banner.">ⁱ</i>
+                                        <span class="checkmark"></span>
+                                    </label>
+                                    <!-- --columns -->
+                                    <label class="checkbox-label" for="columns">
+                                        <input type="checkbox" id="columns">
+                                        <u>--columns</u><i tooltip="Enumerate DBMS database table columns.">ⁱ</i>
+                                        <span class="checkmark"></span>
+                                    </label>
+                                    <!-- --comments -->
+                                    <label class="checkbox-label" for="comments">
+                                        <input type="checkbox" id="comments">
+                                        <u>--comments</u><i tooltip="Check for DBMS comments during enumeration.">ⁱ</i>
+                                        <span class="checkmark"></span>
+                                    </label>
+                                    <!-- --count -->
+                                    <label class="checkbox-label" for="count">
+                                        <input type="checkbox" id="count">
+                                        <u>--count</u><i tooltip="Retrieve number of entries for table(s).">ⁱ</i>
+                                        <span class="checkmark"></span>
+                                    </label>
+                                    <!-- --currentUser -->
+                                    <label class="checkbox-label" for="currentUser">
+                                        <input type="checkbox" id="currentUser">
+                                        <u>--current-user</u><i tooltip="Retrieve DBMS current user.">ⁱ</i>
+                                        <span class="checkmark"></span>
+                                    </label>
+                                    <!-- --currentDb -->
+                                    <label class="checkbox-label" for="currentDb">
+                                        <input type="checkbox" id="currentDb">
+                                        <u>--current-db</u><i tooltip="Retrieve DBMS current database.">ⁱ</i>
+                                        <span class="checkmark"></span>
+                                    </label>
+                                    <!-- --dbs -->
+                                    <label class="checkbox-label" for="dbs">
+                                        <input type="checkbox" id="dbs">
+                                        <u>--dbs</u><i tooltip="Enumerate DBMS databases.">ⁱ</i>
+                                        <span class="checkmark"></span>
+                                    </label>
+                                    <!-- --dump -->
+                                    <label class="checkbox-label" for="dump">
+                                        <input type="checkbox" id="dump">
+                                        <u>--dump</u><i tooltip="Dump all DBMS databases tables entries.">ⁱ</i>
+                                        <span class="checkmark"></span>
+                                    </label>
+                                    <!-- --dumpAll -->
+                                    <label class="checkbox-label" for="dumpAll">
+                                        <input type="checkbox" id="dumpAll">
+                                        <u>--dump-all</u><i tooltip="Dump all DBMS databases tables entries.">ⁱ</i>
+                                        <span class="checkmark"></span>
+                                    </label>
+                                    <!-- --exclude-sysdbs -->
+                                    <label class="checkbox-label" for="excludeSysdbs">
+                                        <input type="checkbox" id="excludeSysdbs">
+                                        <u>--exclude-sysdbs</u><i tooltip="Exclude system databases from enumeration.">ⁱ</i>
+                                        <span class="checkmark"></span>
+                                    </label>
+                                    <!-- --hostname -->
+                                    <label class="checkbox-label" for="hostname">
+                                        <input type="checkbox" id="hostname">
+                                        <u>--hostname</u><i tooltip="Retrieve DBMS server hostname.">ⁱ</i>
+                                        <span class="checkmark"></span>
+                                    </label>
+                                    <!-- --is-dba -->
+                                    <label class="checkbox-label" for="isDba">
+                                        <input type="checkbox" id="isDba">
+                                        <u>--is-dba</u><i tooltip="Detect if the DBMS current user is DBA.">ⁱ</i>
+                                        <span class="checkmark"></span>
+                                    </label>
+                                    <!-- --passwords -->
+                                    <label class="checkbox-label" for="passwords">
+                                        <input type="checkbox" id="passwords">
+                                        <u>--passwords</u><i tooltip="Enumerate DBMS users password hashes.">ⁱ</i>
+                                        <span class="checkmark"></span>
+                                    </label>
+                                    <!-- --privileges -->
+                                    <label class="checkbox-label" for="privileges">
+                                        <input type="checkbox" id="privileges">
+                                        <u>--privileges</u><i tooltip="Enumerate DBMS users privileges.">ⁱ</i>
+                                        <span class="checkmark"></span>
+                                    </label>
+                                    <!-- --roles -->
+                                    <label class="checkbox-label" for="roles">
+                                        <input type="checkbox" id="roles">
+                                        <u>--roles</u><i tooltip="Enumerate DBMS users roles.">ⁱ</i>
+                                        <span class="checkmark"></span>
+                                    </label>
+                                    <!-- --schema -->
+                                    <label class="checkbox-label" for="schema">
+                                        <input type="checkbox" id="schema">
+                                        <u>--schema</u><i tooltip="Enumerate DBMS schema.">ⁱ</i>
+                                        <span class="checkmark"></span>
+                                    </label>
+                                    <!-- --search -->
+                                    <label class="checkbox-label" for="search">
+                                        <input type="checkbox" id="search">
+                                        <u>--search</u><i tooltip="Search column(s), table(s) and/or database name(s).">ⁱ</i>
+                                        <span class="checkmark"></span>
+                                    </label>
+                                    <!-- --statements -->
+                                    <label class="checkbox-label" for="statements">
+                                        <input type="checkbox" id="statements">
+                                        <u>--statements</u><i tooltip="Retrieve SQL statements being run on DBMS.">ⁱ</i>
+                                        <span class="checkmark"></span>
+                                    </label>
+                                    <!-- --tables -->
+                                    <label class="checkbox-label" for="tables">
+                                        <input type="checkbox" id="tables">
+                                        <u>--tables</u><i tooltip="Retrieve SQL statements being run on DBMS.">ⁱ</i>
+                                        <span class="checkmark"></span>
+                                    </label>
+                                    <!-- --users -->
+                                    <label class="checkbox-label" for="users">
+                                        <input type="checkbox" id="users">
+                                        <u>--users</u><i tooltip="Enumerate DBMS users.">ⁱ</i>
+                                        <span class="checkmark"></span>
+                                    </label>
+                            
+                                </div>
+                            </div>  
+                        </div>
+                    </div>
+                </div>
+            </div>
+
+        <!-- TAMPERING Tab -->
+        <div class="tab-content" id="tampering">
+            <div class="card">
+                <div class="card__body">
+                    <div class="form-group form-grid-tamper">
+
+                        <input type="text" id="tamper" class="form-control" placeholder="between,randomcase,space2comment" style="display: none;">
+
+                        <label class="checkbox-label" for="tamperscript-0eunion">
+                            <input type="checkbox" id="tamperscript-0eunion">
+                            <b>0eunion.py</b>
+                            <u>Replaces instances of UNION with e0UNION to bypass certain filters</u>
+                            <span class="checkmark"></span>
+                        </label>
+                        
+                        <label class="checkbox-label" for="tamperscript-apostrophemask">
+                            <input type="checkbox" id="tamperscript-apostrophemask">
+                            <b>apostrophemask.py</b>
+                            <u>Replaces apostrophe character with its UTF-8 full width counterpart</u>
+                            <span class="checkmark"></span>
+                        </label>
+                        
+                        <label class="checkbox-label" for="tamperscript-apostrophenullencode">
+                            <input type="checkbox" id="tamperscript-apostrophenullencode">
+                            <b>apostrophenullencode.py</b>
+                            <u>Replaces apostrophe character with its illegal double unicode counterpart</u>
+                            <span class="checkmark"></span>
+                        </label>
+                        
+                        <label class="checkbox-label" for="tamperscript-appendnullbyte">
+                            <input type="checkbox" id="tamperscript-appendnullbyte">
+                            <b>appendnullbyte.py</b>
+                            <u>Appends encoded NULL byte character at the end of payload</u>
+                            <span class="checkmark"></span>
+                        </label>
+                        
+                        <label class="checkbox-label" for="tamperscript-base64encode">
+                            <input type="checkbox" id="tamperscript-base64encode">
+                            <b>base64encode.py</b>
+                            <u>Base64 encodes all characters in a given payload</u>
+                            <span class="checkmark"></span>
+                        </label>
+                        
+                        <label class="checkbox-label" for="tamperscript-between">
+                            <input type="checkbox" id="tamperscript-between">
+                            <b>between.py</b>
+                            <u>Replaces greater than operator ('>') with 'NOT BETWEEN 0 AND #' and equals with 'BETWEEN # AND #'</u>
+                            <span class="checkmark"></span>
+                        </label>
+                        
+                        <label class="checkbox-label" for="tamperscript-binary">
+                            <input type="checkbox" id="tamperscript-binary">
+                            <b>binary.py</b>
+                            <u>Converts string values to their binary representation for payload obfuscation</u>
+                            <span class="checkmark"></span>
+                        </label>
+                        
+                        <label class="checkbox-label" for="tamperscript-bluecoat">
+                            <input type="checkbox" id="tamperscript-bluecoat">
+                            <b>bluecoat.py</b>
+                            <u>Replaces space character after SQL statement with a valid random blank character and = with LIKE operator</u>
+                            <span class="checkmark"></span>
+                        </label>
+                        
+                        <label class="checkbox-label" for="tamperscript-chardoubleencode">
+                            <input type="checkbox" id="tamperscript-chardoubleencode">
+                            <b>chardoubleencode.py</b>
+                            <u>Double URL-encodes all characters in a given payload (not processing already encoded)</u>
+                            <span class="checkmark"></span>
+                        </label>
+                        
+                        <label class="checkbox-label" for="tamperscript-charencode">
+                            <input type="checkbox" id="tamperscript-charencode">
+                            <b>charencode.py</b>
+                            <u>URL-encodes all characters in a given payload (not processing already encoded)</u>
+                            <span class="checkmark"></span>
+                        </label>
+                        
+                        <label class="checkbox-label" for="tamperscript-charunicodeencode">
+                            <input type="checkbox" id="tamperscript-charunicodeencode">
+                            <b>charunicodeencode.py</b>
+                            <u>Unicode-URL-encodes non-encoded characters in a given payload</u>
+                            <span class="checkmark"></span>
+                        </label>
+                        
+                        <label class="checkbox-label" for="tamperscript-charunicodeescape">
+                            <input type="checkbox" id="tamperscript-charunicodeescape">
+                            <b>charunicodeescape.py</b>
+                            <u>Unicode-escapes non-encoded characters in a given payload using \uXXXX format</u>
+                            <span class="checkmark"></span>
+                        </label>
+                        
+                        <label class="checkbox-label" for="tamperscript-commalesslimit">
+                            <input type="checkbox" id="tamperscript-commalesslimit">
+                            <b>commalesslimit.py</b>
+                            <u>Replaces instances like 'LIMIT M, N' with 'LIMIT N OFFSET M' counterpart</u>
+                            <span class="checkmark"></span>
+                        </label>
+                        
+                        <label class="checkbox-label" for="tamperscript-commalessmid">
+                            <input type="checkbox" id="tamperscript-commalessmid">
+                            <b>commalessmid.py</b>
+                            <u>Replaces instances like 'MID(A, B, C)' with 'MID(A FROM B FOR C)' counterpart</u>
+                            <span class="checkmark"></span>
+                        </label>
+                        
+                        <label class="checkbox-label" for="tamperscript-commentbeforeparentheses">
+                            <input type="checkbox" id="tamperscript-commentbeforeparentheses">
+                            <b>commentbeforeparentheses.py</b>
+                            <u>Adds comments before opening parentheses to bypass certain filters</u>
+                            <span class="checkmark"></span>
+                        </label>
+                        
+                        <label class="checkbox-label" for="tamperscript-concat2concatws">
+                            <input type="checkbox" id="tamperscript-concat2concatws">
+                            <b>concat2concatws.py</b>
+                            <u>Replaces instances like 'CONCAT(A, B)' with 'CONCAT_WS(MID(CHAR(0), 0, 0), A, B)' counterpart</u>
+                            <span class="checkmark"></span>
+                        </label>
+                        
+                        <label class="checkbox-label" for="tamperscript-decentities">
+                            <input type="checkbox" id="tamperscript-decentities">
+                            <b>decentities.py</b>
+                            <u>HTML decimal-encodes all non-alphanumeric characters</u>
+                            <span class="checkmark"></span>
+                        </label>
+                        
+                        <label class="checkbox-label" for="tamperscript-dunion">
+                            <input type="checkbox" id="tamperscript-dunion">
+                            <b>dunion.py</b>
+                            <u>Replaces instances of UNION with DISTINCTROW UNION to bypass certain filters</u>
+                            <span class="checkmark"></span>
+                        </label>
+                        
+                        <label class="checkbox-label" for="tamperscript-equaltolike">
+                            <input type="checkbox" id="tamperscript-equaltolike">
+                            <b>equaltolike.py</b>
+                            <u>Replaces all occurrences of operator equal ('=') with 'LIKE' counterpart</u>
+                            <span class="checkmark"></span>
+                        </label>
+                        
+                        <label class="checkbox-label" for="tamperscript-equaltorlike">
+                            <input type="checkbox" id="tamperscript-equaltorlike">
+                            <b>equaltorlike.py</b>
+                            <u>Replaces all occurrences of operator equal ('=') with 'RLIKE' counterpart</u>
+                            <span class="checkmark"></span>
+                        </label>
+                        
+                        <label class="checkbox-label" for="tamperscript-escapequotes">
+                            <input type="checkbox" id="tamperscript-escapequotes">
+                            <b>escapequotes.py</b>
+                            <u>Slash escapes quotes (' and ") in payload</u>
+                            <span class="checkmark"></span>
+                        </label>
+                        
+                        <label class="checkbox-label" for="tamperscript-greatest">
+                            <input type="checkbox" id="tamperscript-greatest">
+                            <b>greatest.py</b>
+                            <u>Replaces greater than operator ('>') with 'GREATEST' counterpart</u>
+                            <span class="checkmark"></span>
+                        </label>
+                        
+                        <label class="checkbox-label" for="tamperscript-halfversionedmorekeywords">
+                            <input type="checkbox" id="tamperscript-halfversionedmorekeywords">
+                            <b>halfversionedmorekeywords.py</b>
+                            <u>Adds MySQL versioned comment before each keyword</u>
+                            <span class="checkmark"></span>
+                        </label>
+                        
+                        <label class="checkbox-label" for="tamperscript-hex2char">
+                            <input type="checkbox" id="tamperscript-hex2char">
+                            <b>hex2char.py</b>
+                            <u>Replaces each (MySQL) 0x encoded string with equivalent CHAR() counterpart</u>
+                            <span class="checkmark"></span>
+                        </label>
+                        
+                        <label class="checkbox-label" for="tamperscript-hexentities">
+                            <input type="checkbox" id="tamperscript-hexentities">
+                            <b>hexentities.py</b>
+                            <u>HTML hex-encodes all non-alphanumeric characters</u>
+                            <span class="checkmark"></span>
+                        </label>
+                        
+                        <label class="checkbox-label" for="tamperscript-htmlencode">
+                            <input type="checkbox" id="tamperscript-htmlencode">
+                            <b>htmlencode.py</b>
+                            <u>HTML-encodes all non-alphanumeric characters</u>
+                            <span class="checkmark"></span>
+                        </label>
+                        
+                        <label class="checkbox-label" for="tamperscript-if2case">
+                            <input type="checkbox" id="tamperscript-if2case">
+                            <b>if2case.py</b>
+                            <u>Replaces instances like 'IF(A, B, C)' with 'CASE WHEN (A) THEN (B) ELSE (C) END' counterpart</u>
+                            <span class="checkmark"></span>
+                        </label>
+                        
+                        <label class="checkbox-label" for="tamperscript-ifnull2casewhenisnull">
+                            <input type="checkbox" id="tamperscript-ifnull2casewhenisnull">
+                            <b>ifnull2casewhenisnull.py</b>
+                            <u>Replaces instances like 'IFNULL(A, B)' with 'CASE WHEN ISNULL(A) THEN (B) ELSE (A) END' counterpart</u>
+                            <span class="checkmark"></span>
+                        </label>
+                        
+                        <label class="checkbox-label" for="tamperscript-ifnull2ifisnull">
+                            <input type="checkbox" id="tamperscript-ifnull2ifisnull">
+                            <b>ifnull2ifisnull.py</b>
+                            <u>Replaces instances like 'IFNULL(A, B)' with 'IF(ISNULL(A), B, A)' counterpart</u>
+                            <span class="checkmark"></span>
+                        </label>
+                        
+                        <label class="checkbox-label" for="tamperscript-informationschemacomment">
+                            <input type="checkbox" id="tamperscript-informationschemacomment">
+                            <b>informationschemacomment.py</b>
+                            <u>Adds MySQL comment to INFORMATION_SCHEMA for bypassing certain filters</u>
+                            <span class="checkmark"></span>
+                        </label>
+                        
+                        <label class="checkbox-label" for="tamperscript-least">
+                            <input type="checkbox" id="tamperscript-least">
+                            <b>least.py</b>
+                            <u>Replaces greater than operator ('>') with 'LEAST' counterpart</u>
+                            <span class="checkmark"></span>
+                        </label>
+                        
+                        <label class="checkbox-label" for="tamperscript-lowercase">
+                            <input type="checkbox" id="tamperscript-lowercase">
+                            <b>lowercase.py</b>
+                            <u>Replaces each keyword character with lowercase value</u>
+                            <span class="checkmark"></span>
+                        </label>
+                        
+                        <label class="checkbox-label" for="tamperscript-luanginx">
+                            <input type="checkbox" id="tamperscript-luanginx">
+                            <b>luanginx.py</b>
+                            <u>Bypasses LUA/Nginx web application firewall using specific encoding techniques</u>
+                            <span class="checkmark"></span>
+                        </label>
+                        
+                        <label class="checkbox-label" for="tamperscript-luanginxmore">
+                            <input type="checkbox" id="tamperscript-luanginxmore">
+                            <b>luanginxmore.py</b>
+                            <u>Advanced bypassing for LUA/Nginx web application firewall with extended techniques</u>
+                            <span class="checkmark"></span>
+                        </label>
+                        
+                        <label class="checkbox-label" for="tamperscript-misunion">
+                            <input type="checkbox" id="tamperscript-misunion">
+                            <b>misunion.py</b>
+                            <u>Replaces instances of UNION with /*!UNION*/ to bypass certain filters</u>
+                            <span class="checkmark"></span>
+                        </label>
+                        
+                        <label class="checkbox-label" for="tamperscript-modsecurityversioned">
+                            <input type="checkbox" id="tamperscript-modsecurityversioned">
+                            <b>modsecurityversioned.py</b>
+                            <u>Embraces complete query with MySQL versioned comment to bypass ModSecurity WAF</u>
+                            <span class="checkmark"></span>
+                        </label>
+                        
+                        <label class="checkbox-label" for="tamperscript-modsecurityzeroversioned">
+                            <input type="checkbox" id="tamperscript-modsecurityzeroversioned">
+                            <b>modsecurityzeroversioned.py</b>
+                            <u>Embraces complete query with MySQL zero-versioned comment to bypass ModSecurity WAF</u>
+                            <span class="checkmark"></span>
+                        </label>
+                        
+                        <label class="checkbox-label" for="tamperscript-multiplespaces">
+                            <input type="checkbox" id="tamperscript-multiplespaces">
+                            <b>multiplespaces.py</b>
+                            <u>Adds multiple spaces around SQL keywords to bypass filters</u>
+                            <span class="checkmark"></span>
+                        </label>
+                        
+                        <label class="checkbox-label" for="tamperscript-ord2ascii">
+                            <input type="checkbox" id="tamperscript-ord2ascii">
+                            <b>ord2ascii.py</b>
+                            <u>Replaces ORD(x) with ASCII(x) function calls</u>
+                            <span class="checkmark"></span>
+                        </label>
+                        
+                        <label class="checkbox-label" for="tamperscript-overlongutf8">
+                            <input type="checkbox" id="tamperscript-overlongutf8">
+                            <b>overlongutf8.py</b>
+                            <u>Converts all characters in a given payload to overlong UTF8 (not processing already encoded)</u>
+                            <span class="checkmark"></span>
+                        </label>
+                        
+                        <label class="checkbox-label" for="tamperscript-overlongutf8more">
+                            <input type="checkbox" id="tamperscript-overlongutf8more">
+                            <b>overlongutf8more.py</b>
+                            <u>Advanced overlong UTF8 encoding for bypassing additional security filters</u>
+                            <span class="checkmark"></span>
+                        </label>
+                        
+                        <label class="checkbox-label" for="tamperscript-percentage">
+                            <input type="checkbox" id="tamperscript-percentage">
+                            <b>percentage.py</b>
+                            <u>Adds a percentage sign (%) in front of each character</u>
+                            <span class="checkmark"></span>
+                        </label>
+                        
+                        <label class="checkbox-label" for="tamperscript-plus2concat">
+                            <input type="checkbox" id="tamperscript-plus2concat">
+                            <b>plus2concat.py</b>
+                            <u>Replaces plus operator ('+') with MsSQL function CONCAT() counterpart</u>
+                            <span class="checkmark"></span>
+                        </label>
+                        
+                        <label class="checkbox-label" for="tamperscript-plus2fnconcat">
+                            <input type="checkbox" id="tamperscript-plus2fnconcat">
+                            <b>plus2fnconcat.py</b>
+                            <u>Replaces plus operator ('+') with MsSQL function fn_concat() counterpart</u>
+                            <span class="checkmark"></span>
+                        </label>
+                        
+                        <label class="checkbox-label" for="tamperscript-randomcase">
+                            <input type="checkbox" id="tamperscript-randomcase">
+                            <b>randomcase.py</b>
+                            <u>Replaces each keyword character with random case value (e.g. SELECT -> SEleCt)</u>
+                            <span class="checkmark"></span>
+                        </label>
+                        
+                        <label class="checkbox-label" for="tamperscript-randomcomments">
+                            <input type="checkbox" id="tamperscript-randomcomments">
+                            <b>randomcomments.py</b>
+                            <u>Adds random comments inside SQL keywords to bypass filters</u>
+                            <span class="checkmark"></span>
+                        </label>
+                        
+                        <label class="checkbox-label" for="tamperscript-schemasplit">
+                            <input type="checkbox" id="tamperscript-schemasplit">
+                            <b>schemasplit.py</b>
+                            <u>Splits database schema and table names to bypass certain filters</u>
+                            <span class="checkmark"></span>
+                        </label>
+                        
+                        <label class="checkbox-label" for="tamperscript-scientific">
+                            <input type="checkbox" id="tamperscript-scientific">
+                            <b>scientific.py</b>
+                            <u>Converts integer values to scientific notation (e.g. 1 -> 1e0)</u>
+                            <span class="checkmark"></span>
+                        </label>
+                        
+                        <label class="checkbox-label" for="tamperscript-sleep2getlock">
+                            <input type="checkbox" id="tamperscript-sleep2getlock">
+                            <b>sleep2getlock.py</b>
+                            <u>Replaces instances of SLEEP with GET_LOCK for time-based injections</u>
+                            <span class="checkmark"></span>
+                        </label>
+                        
+                        <label class="checkbox-label" for="tamperscript-sp_password">
+                            <input type="checkbox" id="tamperscript-sp_password">
+                            <b>sp_password.py</b>
+                            <u>Appends 'sp_password' to the end of payload to avoid logging in SQL Server</u>
+                            <span class="checkmark"></span>
+                        </label>
+                        
+                        <label class="checkbox-label" for="tamperscript-space2comment">
+                            <input type="checkbox" id="tamperscript-space2comment">
+                            <b>space2comment.py</b>
+                            <u>Replaces space character (' ') with comments '/**/'</u>
+                            <span class="checkmark"></span>
+                        </label>
+                        
+                        <label class="checkbox-label" for="tamperscript-space2dash">
+                            <input type="checkbox" id="tamperscript-space2dash">
+                            <b>space2dash.py</b>
+                            <u>Replaces space character (' ') with dash comments ('-- ') followed by random string and new line</u>
+                            <span class="checkmark"></span>
+                        </label>
+                        
+                        <label class="checkbox-label" for="tamperscript-space2hash">
+                            <input type="checkbox" id="tamperscript-space2hash">
+                            <b>space2hash.py</b>
+                            <u>Replaces space character (' ') with hash character ('#') followed by random string and new line</u>
+                            <span class="checkmark"></span>
+                        </label>
+                        
+                        <label class="checkbox-label" for="tamperscript-space2morecomment">
+                            <input type="checkbox" id="tamperscript-space2morecomment">
+                            <b>space2morecomment.py</b>
+                            <u>Replaces space character (' ') with comments '/**_**/' (with random underscore variations)</u>
+                            <span class="checkmark"></span>
+                        </label>
+                        
+                        <label class="checkbox-label" for="tamperscript-space2morehash">
+                            <input type="checkbox" id="tamperscript-space2morehash">
+                            <b>space2morehash.py</b>
+                            <u>Replaces space character (' ') with hash character ('#') followed by random string and new line</u>
+                            <span class="checkmark"></span>
+                        </label>
+                        
+                        <label class="checkbox-label" for="tamperscript-space2mssqlblank">
+                            <input type="checkbox" id="tamperscript-space2mssqlblank">
+                            <b>space2mssqlblank.py</b>
+                            <u>Replaces space character (' ') with random blank character from valid alternate character set for MSSQL</u>
+                            <span class="checkmark"></span>
+                        </label>
+                        
+                        <label class="checkbox-label" for="tamperscript-space2mssqlhash">
+                            <input type="checkbox" id="tamperscript-space2mssqlhash">
+                            <b>space2mssqlhash.py</b>
+                            <u>Replaces space character (' ') with hash character ('#') followed by new line for MSSQL</u>
+                            <span class="checkmark"></span>
+                        </label>
+                        
+                        <label class="checkbox-label" for="tamperscript-space2mysqlblank">
+                            <input type="checkbox" id="tamperscript-space2mysqlblank">
+                            <b>space2mysqlblank.py</b>
+                            <u>Replaces space character (' ') with random blank character from valid alternate character set for MySQL</u>
+                            <span class="checkmark"></span>
+                        </label>
+                        
+                        <label class="checkbox-label" for="tamperscript-space2mysqldash">
+                            <input type="checkbox" id="tamperscript-space2mysqldash">
+                            <b>space2mysqldash.py</b>
+                            <u>Replaces space character (' ') with dash comments ('-- ') followed by new line for MySQL</u>
+                            <span class="checkmark"></span>
+                        </label>
+                        
+                        <label class="checkbox-label" for="tamperscript-space2plus">
+                            <input type="checkbox" id="tamperscript-space2plus">
+                            <b>space2plus.py</b>
+                            <u>Replaces space character (' ') with plus sign ('+') for URL encoding</u>
+                            <span class="checkmark"></span>
+                        </label>
+                        
+                        <label class="checkbox-label" for="tamperscript-space2randomblank">
+                            <input type="checkbox" id="tamperscript-space2randomblank">
+                            <b>space2randomblank.py</b>
+                            <u>Replaces space character (' ') with random blank character from valid alternate character set</u>
+                            <span class="checkmark"></span>
+                        </label>
+                        
+                        <label class="checkbox-label" for="tamperscript-substring2leftright">
+                            <input type="checkbox" id="tamperscript-substring2leftright">
+                            <b>substring2leftright.py</b>
+                            <u>Replaces PostgreSQL SUBSTRING with LEFT and RIGHT functions</u>
+                            <span class="checkmark"></span>
+                        </label>
+                        
+                        <label class="checkbox-label" for="tamperscript-symboliclogical">
+                            <input type="checkbox" id="tamperscript-symboliclogical">
+                            <b>symboliclogical.py</b>
+                            <u>Replaces AND and OR logical operators with symbolic equivalents (&& and ||)</u>
+                            <span class="checkmark"></span>
+                        </label>
+                        
+                        <label class="checkbox-label" for="tamperscript-unionalltounion">
+                            <input type="checkbox" id="tamperscript-unionalltounion">
+                            <b>unionalltounion.py</b>
+                            <u>Replaces UNION ALL SELECT with UNION SELECT counterpart</u>
+                            <span class="checkmark"></span>
+                        </label>
+                        
+                        <label class="checkbox-label" for="tamperscript-unmagicquotes">
+                            <input type="checkbox" id="tamperscript-unmagicquotes">
+                            <b>unmagicquotes.py</b>
+                            <u>Replaces quote character (') with multibyte combo %bf%27 (valid for GBK charset)</u>
+                            <span class="checkmark"></span>
+                        </label>
+                        
+                        <label class="checkbox-label" for="tamperscript-uppercase">
+                            <input type="checkbox" id="tamperscript-uppercase">
+                            <b>uppercase.py</b>
+                            <u>Replaces each keyword character with uppercase value</u>
+                            <span class="checkmark"></span>
+                        </label>
+                        
+                        <label class="checkbox-label" for="tamperscript-varnish">
+                            <input type="checkbox" id="tamperscript-varnish">
+                            <b>varnish.py</b>
+                            <u>Appends HTTP header 'X-originating-IP' for bypassing Varnish firewalls</u>
+                            <span class="checkmark"></span>
+                        </label>
+                        
+                        <label class="checkbox-label" for="tamperscript-versionedkeywords">
+                            <input type="checkbox" id="tamperscript-versionedkeywords">
+                            <b>versionedkeywords.py</b>
+                            <u>Encloses each non-function keyword with MySQL versioned comment</u>
+                            <span class="checkmark"></span>
+                        </label>
+                        
+                        <label class="checkbox-label" for="tamperscript-versionedmorekeywords">
+                            <input type="checkbox" id="tamperscript-versionedmorekeywords">
+                            <b>versionedmorekeywords.py</b>
+                            <u>Encloses each keyword with MySQL versioned comment (extended version)</u>
+                            <span class="checkmark"></span>
+                        </label>
+                        
+                        <label class="checkbox-label" for="tamperscript-xforwardedfor">
+                            <input type="checkbox" id="tamperscript-xforwardedfor">
+                            <b>xforwardedfor.py</b>
+                            <u>Appends a fake HTTP header 'X-Forwarded-For' to bypass IP restrictions</u>
+                            <span class="checkmark"></span>
+                        </label>
+                        
+                    </div>
+                </div>
+            </div>
+        </div>
+
+        <!-- SQLMAP Tab -->
+        <div class="tab-content" id="sqlmap">
+            <div class="card">
+                <div class="card__body">
+                    <div class="form-grid">
+                        <!-- -v -->
+                        <label class="form-group grid-column-span-2" for="verbose">
+                            <div class="form-label">VERBOSE LEVEL: <u>-v</u> <span id="verboseValue">1</span<br/></div>
+                            <input type="range" id="verbose" class="slider" min="0" max="6" value="1">
+                            <div class="additional-help" id="verbose-help">1: Show also information and warning messages (default).</div>
+                        </label>
+                        <!-- -t -->
+                        <label class="form-group" for="trafficFile">
+                            <div class="form-label">TRAFFIC LOG FILE<i tooltip="This option requires an argument that specified the textual file to write all HTTP(s) traffic generated by sqlmap - HTTP(S) requests and HTTP(S) responses.">ⁱ</i></div>
+                            <div class="form-label"><u>-t</u></div>
+                            <input type="text" id="trafficFile" class="form-control" placeholder="traffic.log">
+                        </label>
+                        <!-- -c -->
+                        <label class="form-group" for="configFile">
+                            <div class="form-label">SQLMAP CONFIG FILE<i tooltip="It is possible to save the command line options to a configuration INI file using --save switch. 
+                                
+                                This option requires an argument that specified the textual ini file used to load sqlmap options.">ⁱ</i></div>
+                            <div class="form-label"><u>-c</u></div>
+                            <input type="text" id="configFile" class="form-control" placeholder="sqlmap-config.ini">
+                        </label>
+                        <!-- --batch -->
+                        <div class="form-group">
+                            <label class="checkbox-label" for="batch">
+                                <input type="checkbox" id="batch">
+                                <b>RUN IN A BATCH MODE</b>
+                                <u>--batch</u><i tooltip="Never ask for user input, use the default behavior (useful when using sqlmap in scripts).">ⁱ</i>
+                                <span class="checkmark"></span>
+                            </label>
+                        </div>
+                        <!-- --parse-errors -->
+                        <div class="form-group">
+                            <label class="checkbox-label" for="parseErrors">
+                                <input type="checkbox" id="parseErrors">
+                                <b>PARSE ERRORS</b>
+                                <u>--parse-errors</u><i tooltip="Parse and display DBMS error messages from responses.">ⁱ</i>
+                                <span class="checkmark"></span>
+                            </label>
+                        </div>
+                    </div>
+                </div>
+            </div>
+        </div>
+
+        <!-- Configuration Management -->
+        <div class="tab-content" id="config">
+            <div class="card">
+                <div class="card__body">
+                    <div class="config-buttons">
+                        <button id="saveConfig" class="btn btn--primary">Save configuration</button>
+                        <button id="loadConfig" class="btn btn--primary">Load configuration</button>
+                        <button id="resetConfig" class="btn btn--outline">Reset configuration</button>
+                    </div>
+                </div>
+            </div>
+        </div>
+
+        <div id="status-container"></div>
+
+        <script src="app.js"></script>
+    </body>
+    </html>
\ No newline at end of file
diff --git a/style.css b/style.css
index 8584ee9..87c3d25 100644
--- a/style.css
+++ b/style.css
@@ -1,1153 +1,1087 @@
-:root {
-  /* Colors */
-  --color-background: #0a0a0a;
-  --color-surface: #1a1a1a;
-  --color-text: #00ff41;
-  --color-text-secondary: #00cc33;
-  --color-primary: #00ff41;
-  --color-primary-hover: #00cc33;
-  --color-primary-active: #009926;
-  --color-secondary: rgba(0, 255, 65, 0.1);
-  --color-secondary-hover: rgba(0, 255, 65, 0.2);
-  --color-secondary-active: rgba(0, 255, 65, 0.3);
-  --color-btn-primary-text: #0a0a0a;
-  --color-border: rgba(0, 255, 65, 0.5);
-  --color-card-border: rgba(0, 255, 65, 0.2);
-  --color-card-border-inner: rgba(0, 255, 65, 0.15);
-  --color-error: rgba(255, 84, 89, 1);
-  --color-success: rgba(50, 184, 198, 1);
-  --color-warning: rgba(230, 129, 97, 1);
-  --color-info: rgba(167, 169, 169, 1);
-  --color-select-caret: rgba(245, 245, 245, 0.8);
-  --shadow-inset-s: inset 0 1px 0 rgba(255, 255, 255, 0.1),
-  inset 0 -1px 0 rgba(0, 0, 0, 0.15);
-  --button-border-secondary: rgba(119, 124, 124, 0.2);
-  --hacker-primary: #00f83e;
-  --hacker-secondary: #9bffaafa;
-  --hacker-bg-dark: #0d1117;
-  --hacker-surface: #161b22;
-  --hacker-border: #2f3832;
-
-
-  /* Common style patterns - updated for dark mode */
-  --focus-ring: 0 0 0 3px var(--color-card-border);
-  --focus-outline: 2px solid var(--color-primary);
-  --status-bg-opacity: 0.15;
-  --status-border-opacity: 0.25;
-  --select-caret-light: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23134252' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");
-  --select-caret-dark: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23f5f5f5' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");
-
-  /* RGB versions for opacity control */
-  --color-success-rgb: 50, 184, 198;
-  --color-error-rgb: 255, 84, 89;
-  --color-warning-rgb: 230, 129, 97;
-  --color-info-rgb: 167, 169, 169;
-
-  /* Typography */
-  --font-family-base: "Geist", "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
-  --font-family-mono: "Berkeley Mono", ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
-  --font-size-xs: 11px;
-  --font-size-s: 12px;
-  --font-size-base: 13px;
-  --font-size-m: 13px;
-  --font-size-l: 16px;
-  --font-size-xl: 18px;
-  --font-size-2xl: 20px;
-  --font-size-3xl: 24px;
-  --font-size-4xl: 30px;
-  --font-weight-normal: 400;
-  --font-weight-medium: 500;
-  --font-weight-semibold: 550;
-  --font-weight-bold: 600;
-  --line-height-tight: 1.2;
-  --line-height-normal: 1.5;
-  --letter-spacing-tight: -0.01em;
-
-  /* Spacing */
-  --space-0:    0;
-  --space-xs:   4px;
-  --space-s:    8px;
-  --space-m:    12px;
-  --space-l:    16px;
-  --space-xl:   20px;
-  --space-2xl:  24px;
-  --space-3xl:  32px;
-
-  /* Border Radius */
-  --radius-s: 6px;
-  --radius-base: 8px;
-  --radius-m: 10px;
-  --radius-l: 12px;
-  --radius-full: 9999px;
-
-  /* Shadows */
-  --shadow-xs: 0 1px 2px rgba(0, 0, 0, 0.02);
-  --shadow-s: 0 1px 3px rgba(0, 0, 0, 0.04), 0 1px 2px rgba(0, 0, 0, 0.02);
-  --shadow-m: 0 4px 6px -1px rgba(0, 0, 0, 0.04),
-    0 2px 4px -1px rgba(0, 0, 0, 0.02);
-  --shadow-l: 0 10px 15px -3px rgba(0, 0, 0, 0.04),
-    0 4px 6px -2px rgba(0, 0, 0, 0.02);
-  --shadow-inset-s: inset 0 1px 0 rgba(255, 255, 255, 0.15),
-    inset 0 -1px 0 rgba(0, 0, 0, 0.03);
-
-  /* Animation */
-  --duration-fast: 150ms;
-  --duration-normal: 250ms;
-  --ease-standard: cubic-bezier(0.16, 1, 0.3, 1);
-
-  /* Layout */
- 
-  --container-s: 375px;
-  --container-m: 900px;
-  --container-l: 1200px;
-}
-
- /*****************\
-  Responsive Design 
- \*****************/
-
-/* Container layout */
-.container {
-  width: 100%;
-  margin: 0 auto;
-  padding: var(--space-s);
-  min-width: var(--container-s);
-}
-@media (min-width: 600px) {
-  .container {
-    max-width: var(--container-m);
-    padding: var(--space-xl);
-  }
-}
-@media (min-width: 1100px) {
-  .container {
-    max-width: var(--container-l);
-    padding: var(--space-2xl);
-  }
-}
-
-
-
-.tabs {
-  display: grid;
-  grid-template-columns: 1fr 1fr 1fr;
-  border-bottom: 1px solid var(--hacker-border);
-  margin-bottom: var(--space-2xl);
-  gap: var(--space-xs);
-  background-color: rgba(15, 15, 15, 1);
-}
-@media (min-width: 600px) {
-  .tabs {
-    grid-template-columns: 1fr 1fr 1fr 1fr;
-  }
-}
-@media (min-width: 1100px) {
-  .tabs {
-    grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr;
-  }
-}
-
-
-.btn {
-  display: inline-flex;
-  align-items: center;
-  justify-content: center;
-  padding: var(--space-s) var(--space-s);
-  font-size: var(--font-size-xs);
-  width: 135px;
-  max-width: 135px;
-  height: 55px;
-  border-radius: var(--radius-base);
-  line-height: 1.4;
-  cursor: pointer;
-  transition: all var(--duration-normal) var(--ease-standard);
-  border: none;
-  text-decoration: none;
-  position: relative;
-}
-@media (min-width: 600px) {
-  .btn {
-    padding: var(--space-m) var(--space-l);
-    width: 240px;
-    max-width: 240px;
-    height: 40px;
-  }
-}
-
-
-/* FORM GRID */
-.form-grid {
-  display: grid;
-  grid-template-columns: 1fr;
-  gap: var(--space-xl);
-}
-@media (min-width: 600px) {
-  .form-grid {
-    grid-template-columns: 1fr 1fr;
-    gap: var(--space-xl);
-  }
-}
-@media (min-width: 1100px) {
-  .form-grid {
-    grid-template-columns: 1fr 1fr 1fr 1fr;
-    gap: var(--space-l);
-  }
-}
-
-/********************************** */
-
-.tab-btn:hover {
-  color: var(--hacker-primary);
-}
-
-.tab-btn.active {
-  color: var(--hacker-primary);
-  border-bottom-color: var(--hacker-primary);
-  box-shadow: 0 0 10px rgba(0, 255, 65, 0.3);
-}
-
-.tab-content {
-  display: none;
-}
-
-.tab-content.active {
-  display: block;
-}
-.tab-btn {
-  background: transparent;
-  border: none;
-  padding: var(--space-m) var(--space-m);
-  color: var(--color-text-secondary);
-  cursor: pointer;
-  transition: all 0.3s ease;
-  font-weight: bold;
-  text-transform: uppercase;
-  letter-spacing: 1px;
-  border-bottom: 2px solid transparent;
-}
-
-
-
-
-/* FORM GRID TAMPERING TAB */
-.form-grid-tamper {
-  display: grid;
-  grid-template-columns: 1fr;
-  gap: var(--space-m);
-}
-
-.form-grid-tamper label.checkbox-label-tamper  { 
-  font-size: var(--font-size-sm) !important;
-}
-
-
-/* @media (min-width: 625px) {
-  #tampering .form-grid {
-    grid-template-columns: 1fr 1fr;
-    gap: var(--space-xl);
-  }
-}
-@media (min-width: 950px) {
-  #tampering .form-grid {
-    grid-template-columns: 1fr 2fr;
-    gap: var(--space-xl);
-  }
-} */
-
-.checkbox-label-tamper {
-  line-height: 16px;
-}
-label span.checkbox-label-tamper__title {
-  font-size: var(--font-size-s);
-  font-weight: bold;
-  padding-left: var(--space-xs);
-  color: var(--hacker-primary) !important;
-}
-
-.checkbox-label-tamper__subtitle {
-  font-size: var(--font-size-xs);
-  font-weight: normal;
-}
-.checkbox-label-tamper .checkmark {
-  height: 26px;
-  width: 26px;
-}
-
-.checkbox-label-tamper .checkmark::after{
-  height: 11px;
-  width: 11px;
-}
-
-/* Base styles */
-html {
-  font-size: var(--font-size-base);
-  font-family: var(--font-family-base);
-  line-height: var(--line-height-normal);
-  color: var(--color-text);
-  background-color: var(--color-background);
-  -webkit-font-smoothing: antialiased;
-  box-sizing: border-box;
-}
-
-body {
-  margin: 0;
-  padding: 0;
-}
-
-*,
-*::before,
-*::after {
-  box-sizing: inherit;
-}
-
-/* Typography */
-h1,h2,h3,h4,h5,h6 {
-  margin: 0;
-  font-weight: var(--font-weight-semibold);
-  line-height: var(--line-height-tight);
-  color: var(--color-text);
-  letter-spacing: var(--letter-spacing-tight);
-  text-shadow: 0 0 10px rgba(0, 255, 65, 0.5);
-}
-
-h1 {
-  font-size: var(--font-size-4xl);
-  margin-bottom: var(--space-l);
-  color: var(--hacker-primary);
-  text-shadow: 0 0 20px var(--color-border);
-  font-family: 'Courier New', monospace;
-}
-h2 {
-  font-size: var(--font-size-3xl);
-}
-h3 {
-  font-size: var(--font-size-2xl);
-}
-h4 {
-  font-size: var(--font-size-xl);
-}
-h5 {
-  font-size: var(--font-size-l);
-}
-h6 {
-  font-size: var(--font-size-m);
-}
-
-p {
-  margin: 0 0 var(--space-l) 0;
-}
-
-a {
-  color: var(--color-primary);
-  text-decoration: none;
-  transition: color var(--duration-fast) var(--ease-standard);
-}
-
-a:hover {
-  color: var(--color-primary-hover);
-}
-
-code,
-pre {
-  font-family: var(--font-family-mono);
-  font-size: calc(var(--font-size-base) * 0.95);
-  background-color: var(--color-secondary);
-  border-radius: var(--radius-s);
-}
-
-code {
-  padding: var(--space-1) var(--space-xs);
-}
-
-pre {
-  padding: var(--space-l);
-  margin: var(--space-l) 0;
-  overflow: auto;
-  border: 1px solid var(--color-border);
-}
-
-pre code {
-  background: none;
-  padding: 0;
-}
-
-/* Buttons */
-.btn:focus-visible {
-  outline: none;
-  box-shadow: var(--focus-ring);
-}
-
-.btn--primary {
-  background: var(--color-primary);
-  color: var(--color-btn-primary-text);
-}
-
-.btn--primary:hover {
-  background: var(--color-primary-hover);
-}
-
-.btn--primary:active {
-  background: var(--color-primary-active);
-}
-
-.btn--secondary {
-  background: var(--color-secondary);
-  color: var(--color-text);
-}
-
-.btn--secondary:hover {
-  background: var(--color-secondary-hover);
-}
-
-.btn--secondary:active {
-  background: var(--color-secondary-active);
-}
-
-.btn--outline {
-  background: transparent;
-  border: 1px solid var(--color-border);
-  color: var(--color-text);
-}
-
-.btn--outline:hover {
-  background: var(--color-secondary);
-}
-
-.btn:disabled {
-  opacity: 0.5;
-  cursor: not-allowed;
-}
-
-/* Form elements */
-.form-control {
-  display: block;
-  width: 100%;
-  padding: var(--space-s) var(--space-m);
-  font-size: var(--font-size-m);
-  line-height: 1.5;
-  color: var(--color-text);
-  background-color: var(--color-surface);
-  border: 1px solid var(--color-border);
-  border-radius: var(--radius-base);
-  transition: border-color var(--duration-fast) var(--ease-standard),
-    box-shadow var(--duration-fast) var(--ease-standard);
-}
-
-textarea.form-control {
-  font-family: var(--font-family-base);
-  font-size: var(--font-size-base);
-  resize: vertical;
-  min-height: 39px;
-}
-
-select.form-control {
-  padding: var(--space-s) var(--space-m);
-  -webkit-appearance: none;
-  -moz-appearance: none;
-  appearance: none;
-  background-image: var(--select-caret-light);
-  background-repeat: no-repeat;
-  background-position: right var(--space-m) center;
-  background-size: 16px;
-  padding-right: var(--space-3xl);
-}
-
-/* Add a dark mode specific caret */
-@media (prefers-color-scheme: dark) {
-  select.form-control {
-    background-image: var(--select-caret-dark);
-  }
-}
-
-/* Also handle data-color-scheme */
-[data-color-scheme="dark"] select.form-control {
-  background-image: var(--select-caret-dark);
-}
-
-[data-color-scheme="light"] select.form-control {
-  background-image: var(--select-caret-light);
-}
-
-.form-control:focus {
-  border-color: var(--color-primary);
-  outline: var(--focus-outline);
-}
-
-/* Card component */
-.card {
-  background-color: var(--color-surface);
-  border-radius: var(--radius-l);
-  border: 1px solid var(--color-card-border);
-  box-shadow: var(--shadow-s);
-  overflow: hidden;
-  transition: box-shadow var(--duration-normal) var(--ease-standard);
-}
-
-.card:hover {
-  box-shadow: var(--shadow-m);
-}
-
-.card__body {
-  padding: var(--space-l);
-}
-
-.card__header,
-.card__footer {
-  padding: var(--space-l);
-  border-bottom: 1px solid var(--color-card-border-inner);
-}
-
-/* Status indicators - simplified with CSS variables */
-.status {
-  display: inline-flex;
-  align-items: center;
-  padding: var(--space-s) var(--space-m);
-  border-radius: var(--radius-full);
-  font-weight: var(--font-weight-medium);
-  font-size: var(--font-size-s);
-}
-
-.status--success {
-  background-color: rgba(
-    var(--color-success-rgb, 33, 128, 141),
-    var(--status-bg-opacity)
-  );
-  color: var(--color-success);
-  border: 1px solid
-    rgba(var(--color-success-rgb, 33, 128, 141), var(--status-border-opacity));
-}
-
-.status--error {
-  background-color: rgba(
-    var(--color-error-rgb, 192, 21, 47),
-    var(--status-bg-opacity)
-  );
-  color: var(--color-error);
-  border: 1px solid
-    rgba(var(--color-error-rgb, 192, 21, 47), var(--status-border-opacity));
-}
-
-.status--warning {
-  background-color: rgba(
-    var(--color-warning-rgb, 168, 75, 47),
-    var(--status-bg-opacity)
-  );
-  color: var(--color-warning);
-  border: 1px solid
-    rgba(var(--color-warning-rgb, 168, 75, 47), var(--status-border-opacity));
-}
-
-.status--info {
-  background-color: rgba(
-    var(--color-info-rgb, 98, 108, 113),
-    var(--status-bg-opacity)
-  );
-  color: var(--color-info);
-  border: 1px solid
-    rgba(var(--color-info-rgb, 98, 108, 113), var(--status-border-opacity));
-}
-
-
-
-/* Utility classes */
-.flex {
-  display: flex;
-}
-.flex-col {
-  flex-direction: column;
-}
-.items-center {
-  align-items: center;
-}
-.justify-center {
-  justify-content: center;
-}
-.justify-between {
-  justify-content: space-between;
-}
-.gap-4 {
-  gap: var(--space-xs);
-}
-.gap-8 {
-  gap: var(--space-s);
-}
-.gap-16 {
-  gap: var(--space-l);
-}
-
-.m-0 {
-  margin: 0;
-}
-.mt-8 {
-  margin-top: var(--space-s);
-}
-.mb-8 {
-  margin-bottom: var(--space-s);
-}
-.mx-8 {
-  margin-left: var(--space-s);
-  margin-right: var(--space-s);
-}
-.my-8 {
-  margin-top: var(--space-s);
-  margin-bottom: var(--space-s);
-}
-
-.p-0 {
-  padding: 0;
-}
-.py-8 {
-  padding-top: var(--space-s);
-  padding-bottom: var(--space-s);
-}
-.px-8 {
-  padding-left: var(--space-s);
-  padding-right: var(--space-s);
-}
-.py-16 {
-  padding-top: var(--space-l);
-  padding-bottom: var(--space-l);
-}
-.px-16 {
-  padding-left: var(--space-l);
-  padding-right: var(--space-l);
-}
-
-.block {
-  display: block;
-}
-.hidden {
-  display: none;
-}
-
-/* Accessibility */
-.sr-only {
-  position: absolute;
-  width: 1px;
-  height: 1px;
-  padding: 0;
-  margin: -1px;
-  overflow: hidden;
-  clip: rect(0, 0, 0, 0);
-  white-space: nowrap;
-  border-width: 0;
-}
-
-:focus-visible {
-  outline: var(--focus-outline);
-  outline-offset: 2px;
-}
-
-body {
-  background: linear-gradient(135deg, #0a0a0a 0%, #1a1a1a 100%);
-  min-height: 100vh;
-  font-family: 'Courier New', monospace;
-}
-
-
-
-/* Header */
-.header {
-  text-align: center;
-  margin-bottom: var(--space-3xl);
-  padding: var(--space-3xl) 0;
-  border-bottom: 1px solid var(--color-border);
-  color: var(--color-text-secondary);
-  font-size: var(--font-size-m);
-}
-
-/* Command Section */
-.command-section {
-  margin-bottom: var(--space-3xl);
-}
-
-.command-header {
-  display: flex;
-  justify-content: space-between;
-  align-items: center;
-  margin-bottom: var(--space-l);
-}
-
-.command-header h2 {
-  color: var(--hacker-primary);
-  font-size: var(--font-size-2xl);
-}
-
-.command-output {
-  background: var(--hacker-bg-dark);
-  border: 1px solid var(--hacker-border);
-  border-radius: var(--radius-l);
-  padding: var(--space-xl);
-  position: relative;
-  overflow-x: auto;
-}
-
-.command-output::before {
-  content: '$ ';
-  color: var(--hacker-primary);
-  font-weight: bold;
-}
-
-.command-output pre {
-  margin: 0;
-  padding: 0;
-  background: none;
-  border: none;
-  color: var(--color-text);
-  font-family: 'Courier New', monospace;
-  font-size: var(--font-size-m);
-  white-space: pre-wrap;
-  word-break: break-all;
-}
-
-/* Copy button animation */
-.btn {
-  position: relative;
-  overflow: hidden;
-  transition: all 0.3s ease;
-}
-
-.btn::before {
-  content: '';
-  position: absolute;
-  top: 0;
-  left: -100%;
-  width: 100%;
-  height: 100%;
-  background: linear-gradient(90deg, transparent, rgba(0, 255, 65, 0.4), transparent);
-  transition: left 0.5s;
-}
-
-.btn:hover::before {
-  left: 100%;
-}
-
-.btn--primary {
-  background: var(--hacker-primary);
-  color: var(--color-btn-primary-text);
-  border: 1px solid var(--hacker-primary);
-  font-weight: bold;
-  text-transform: uppercase;
-  letter-spacing: 1px;
-}
-
-.btn--primary:hover {
-  background: var(--hacker-secondary);
-  box-shadow: 0 0 20px rgba(0, 255, 65, 0.5);
-}
-
-.btn--secondary {
-  background: var(--color-secondary);
-  color: var(--hacker-primary);
-  border: 1px solid var(--color-border);
-}
-
-.btn--secondary:hover {
-  background: var(--color-secondary-hover);
-  box-shadow: 0 0 15px rgba(0, 255, 65, 0.3);
-}
-
-.btn--outline {
-  background: transparent;
-  color: var(--hacker-primary);
-  border: 1px solid var(--color-border);
-}
-
-.btn--outline:hover {
-  background: var(--color-secondary);
-  box-shadow: 0 0 15px rgba(0, 255, 65, 0.3);
-}
-
-/* Templates Section */
-.templates-section {
-  margin-bottom: var(--space-3xl);
-}
-
-.templates-section h3 {
-  color: var(--hacker-primary);
-  margin-bottom: var(--space-l);
-  font-size: var(--font-size-xl);
-}
-
-.templates-grid {
-  display: grid;
-  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
-  gap: var(--space-l);
-}
-
-.template-btn {
-  background: var(--hacker-surface);
-  border: 1px solid var(--hacker-border);
-  border-radius: var(--radius-l);
-  padding: var(--space-l);
-  text-align: left;
-  cursor: pointer;
-  transition: all 0.3s ease;
-  display: flex;
-  flex-direction: column;
-}
-
-.template-btn:hover {
-  border-color: var(--hacker-primary);
-  box-shadow: 0 0 20px rgba(0, 255, 65, 0.2);
-  transform: translateY(-2px);
-}
-
-.template-btn strong {
-  color: var(--hacker-primary);
-  font-size: var(--font-size-l);
-  margin-bottom: var(--space-s);
-}
-
-.template-btn span {
-  color: var(--color-text-secondary);
-  font-size: var(--font-size-s);
-}
-
-/* Cards */
-.card {
-  background: var(--hacker-surface);
-  border: 1px solid var(--hacker-border);
-  border-radius: var(--radius-l);
-  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.3);
-}
-
-.card__body {
-  padding: var(--space-xl);
-}
-
-.card h3 {
-    grid-column: 1 / -1;
-    color: var(--hacker-secondary);
-    font-size: var(--font-size-2xl);
-    border-bottom-color: var(--hacker-primary);
-    border-bottom-style: dashed;
-    border-bottom-width: 1px;
-    padding: var(--space-m) 0;
-}
-
-.form-group {
-  display: flex;
-  flex-direction: column;
-  margin-bottom: var(--space-l);
-}
-
-.form-label {
-  color: var(--hacker-primary);
-  font-weight: bold;
-  margin-bottom: var(--space-s);
-  font-size: var(--font-size-xs);
-  letter-spacing: 0.7px;
-}
-
-.form-label span, .checkbox-label span {
-  font-weight: normal;;
-  color: var(--hacker-secondary);
-}
-
-.form-control {
-  background: var(--hacker-bg-dark);
-  border: 1px solid var(--hacker-border);
-  color: var(--color-text);
-  font-family: 'Courier New', monospace;
-  transition: all 0.3s ease;
-}
-
-.form-control:focus {
-  border-color: var(--hacker-primary);
-  box-shadow: 0 0 10px rgba(0, 255, 65, 0.3);
-  outline: none;
-}
-
-.form-control::placeholder {
-  color: rgba(0, 255, 65, 0.5);
-}
-
-/* Sliders */
-.slider {
-  -webkit-appearance: none;
-  appearance: none;
-  width: 100%;
-  height: 6px;
-  border-radius: 3px;
-  background: var(--hacker-border);
-  outline: none;
-  transition: all 0.3s ease;
-}
-
-.slider::-webkit-slider-thumb {
-  -webkit-appearance: none;
-  appearance: none;
-  width: 20px;
-  height: 20px;
-  border-radius: 50%;
-  background: var(--hacker-primary);
-  cursor: pointer;
-  box-shadow: 0 0 10px rgba(0, 255, 65, 0.5);
-  transition: all 0.3s ease;
-}
-
-.slider::-webkit-slider-thumb:hover {
-  transform: scale(1.2);
-  box-shadow: 0 0 20px rgba(0, 255, 65, 0.8);
-}
-
-.slider::-moz-range-thumb {
-  width: 20px;
-  height: 20px;
-  border-radius: 50%;
-  background: var(--hacker-primary);
-  cursor: pointer;
-  border: none;
-  box-shadow: 0 0 10px rgba(0, 255, 65, 0.5);
-}
-
-/* Checkboxes */
-.checkbox-group {
-  flex-direction: row !important;
-  align-items: center;
-}
-
-.checkbox-grid {
-  display: grid;
-  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
-  gap: var(--space-s);
-}
-/*
-.checkbox-grid {
-  display: grid;
-  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
-  gap: var(--space-m);
-}*/
-
-.checkbox-label {
-  display: flex;
-  align-items: center;
-  cursor: pointer;
-  color: var(--color-text);
-  font-size: var(--font-size-s);
-  position: relative;
-  padding-left: var(--space-3xl);
-  -webkit-user-select: none; /* Safari */
-  user-select: none;
-}
-/*.checkbox-label__text {
-    margin: 0px 0 0 4px;
-}*/
-/*.checkbox-label {
-  display: flex;
-  align-items: center;
-  cursor: pointer;
-  color: var(--color-text);
-  font-size: var(--font-size-s);
-  position: relative;
-  padding-left: var(--space-3xl);
-}*/
-
-.checkbox-label input[type="checkbox"], .checkbox-label-tamper input[type="checkbox"] {
-  position: absolute;
-  opacity: 0;
-  cursor: pointer;
-}
-
-.checkmark {
-    position: absolute;
-    left: 0;
-    top: 50%;
-    transform: translateY(-50%);
-    height: 22px;
-    width: 22px;
-    background-color: var(--hacker-bg-dark);
-    border: 2px solid var(--hacker-border);
-    border-radius: 3px;
-    transition: all 0.3s ease;
-}
-/*.checkmark {
-  position: absolute;
-  left: 0;
-  top: 50%;
-  transform: translateY(-50%);
-  height: 18px;
-  width: 18px;
-  background-color: var(--hacker-bg-dark);
-  border: 2px solid var(--hacker-border);
-  border-radius: 3px;
-  transition: all 0.3s ease;
-}*/
-
-.checkbox-label:hover .checkmark {
-  border-color: var(--hacker-primary);
-  box-shadow: 0 0 10px rgba(0, 255, 65, 0.3);
-}
-
-.checkbox-label input:checked ~ .checkmark {
-  background-color: var(--hacker-primary);
-  border-color: var(--hacker-primary);
-  box-shadow: 0 0 15px rgba(0, 255, 65, 0.5);
-}
-
-.checkmark:after {
-  content: "";
-  position: absolute;
-  display: none;
-  left: 5px;
-  top: 2px;
-  width: 8px;
-  height: 12px;
-  border: solid var(--color-btn-primary-text);
-  border-width: 0 2px 2px 0;
-  transform: rotate(45deg);
-}
-/*.checkmark:after {
-  content: "";
-  position: absolute;
-  display: none;
-  left: 5px;
-  top: 2px;
-  width: 4px;
-  height: 8px;
-  border: solid var(--color-btn-primary-text);
-  border-width: 0 2px 2px 0;
-  transform: rotate(45deg);
-}*/
-
-.checkbox-label input:checked ~ .checkmark:after {
-  display: block;
-}
-
-/* Configuration Section */
-.config-section {
-  margin-top: var(--space-3xl);
-}
-
-.config-buttons {
-  display: flex;
-  gap: var(--space-l);
-  flex-wrap: wrap;
-}
-
-
-
-
-/* Custom scrollbar */
-::-webkit-scrollbar {
-  width: 8px;
-  height: 8px;
-}
-
-::-webkit-scrollbar-track {
-  background: var(--hacker-bg-dark);
-}
-
-::-webkit-scrollbar-thumb {
-  background: var(--hacker-primary);
-  border-radius: 4px;
-}
-
-::-webkit-scrollbar-thumb:hover {
-  background: var(--hacker-secondary);
-}
-
-/* Loading animation for buttons */
-@keyframes pulse {
-  0% {
-    box-shadow: 0 0 0 0 rgba(0, 255, 65, 0.7);
-  }
-  70% {
-    box-shadow: 0 0 0 10px rgba(0, 255, 65, 0);
-  }
-  100% {
-    box-shadow: 0 0 0 0 rgba(0, 255, 65, 0);
-  }
-}
-
-.btn.copying {
-  animation: pulse 1s infinite;
-}
-
-/* Glitch effect for title */
-@keyframes glitch {
-  0% {
-    text-shadow: 0 0 10px rgba(0, 255, 65, 0.5);
-  }
-  25% {
-    text-shadow: -2px 0 rgba(0, 255, 65, 0.5), 2px 0 rgba(255, 0, 255, 0.5);
-  }
-  50% {
-    text-shadow: 0 0 10px rgba(0, 255, 65, 0.5);
-  }
-  75% {
-    text-shadow: 2px 0 rgba(0, 255, 65, 0.5), -2px 0 rgba(255, 255, 0, 0.5);
-  }
-  100% {
-    text-shadow: 0 0 10px rgba(0, 255, 65, 0.5);
-  }
-}
-
-.header h1:hover {
-  animation: glitch 0.5s ease-in-out;
-}
-
-/* Command output syntax highlighting */
-.command-output pre .option {
-  color: #ff6b6b;
-}
-
-.command-output pre .value {
-  color: #4ecdc4;
-}
-
-.command-output pre .flag {
-  color: #ffe66d;
-}
-
-/* Tooltip styles */
-.tooltip {
-  position: relative;
-  display: inline-block;
-}
-
-.tooltip::after {
-  content: attr(data-tooltip);
-  position: absolute;
-  bottom: 125%;
-  left: 50%;
-  transform: translateX(-50%);
-  background: var(--hacker-bg-dark);
-  color: var(--hacker-primary);
-  padding: var(--space-s);
-  border-radius: var(--radius-base);
-  font-size: var(--font-size-xs);
-  white-space: nowrap;
-  opacity: 0;
-  visibility: hidden;
-  transition: all 0.3s ease;
-  border: 1px solid var(--hacker-border);
-  z-index: 1000;
-}
-
-.tooltip:hover::after {
-  opacity: 1;
-  visibility: visible;
-}
-
-.additional-help {
-  font-size: var(--font-size-s);
-  color: var(--color-text-secondary);
-  margin-top: var(--space-l);
-  line-height: 1.5;
-  height: 3em;
-  user-select: none;
-}
-
-.tamper--script {
-    font-weight: bold;
-}
-
-.tamper--help {
-    padding-left: 20px;
-}
-
-.row-expand {
-  grid-column: 1 / -1;
+:root {
+  /* Colors */
+  --color-background: #0a0a0a;
+  --color-surface: #181818;
+  --color-text: #00ff41;
+  --color-text-secondary: #00cc33;
+  --color-primary: #00ff41;
+  --color-primary-hover: #10af38;
+  --color-primary-active: #047f73;
+  --color-secondary: rgba(255, 0, 0, 0.1);
+  --color-secondary-hover: rgba(255, 0, 0, 0.2);
+  --color-secondary-active: rgba(255, 0, 0, 0.3);
+  --color-btn-primary-text: #0a0a0a;
+  --color-border: rgba(0, 255, 65, 0.5);
+  --color-card-border: rgba(0, 255, 65, 0.2);
+  --color-card-border-inner: rgba(0, 255, 65, 0.15);
+  --color-error: rgb(232, 201, 203);
+  --color-success: rgb(139, 214, 222);
+  --color-warning: rgba(230, 129, 97, 1);
+  --color-info: rgba(167, 169, 169, 1);
+  --color-select-caret: rgba(245, 245, 245, 0.8);
+  --shadow-inset-s: inset 0 1px 0 rgba(255, 255, 255, 0.1),
+  inset 0 -1px 0 rgba(0, 0, 0, 0.15);
+  --button-border-secondary: rgba(119, 124, 124, 0.2);
+  --hacker-primary: #00f83e;
+  --hacker-secondary: #9bffaafa;
+  --hacker-bg-dark: #0d1117;
+  --hacker-bg-dark-opacity: #0a0c14ee;
+  /* --hacker-surface: #141a23f8; */
+  --hacker-surface: #141d23;
+  --hacker-border: #223d2b;
+
+  /* Common style patterns - updated for dark mode */
+  --focus-ring: 0 0 0 3px var(--color-card-border);
+  --focus-outline: 2px solid var(--color-primary);
+  --status-bg-opacity: 0.4;
+  --status-border-opacity: 0.5;
+  --select-caret: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2310af38' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");
+
+  /* RGB versions for opacity control */
+  --color-success-rgb: 50, 184, 198;
+  --color-error-rgb: 255, 84, 89;
+  --color-warning-rgb: 230, 129, 97;
+  --color-info-rgb: 167, 169, 169;
+
+  /* Typography */
+  --font-family-base: "Geist", "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
+  --font-family-mono: 'Courier New', monospace;
+  --font-size-xxs: 10px;
+  --font-size-xs: 11px;
+  --font-size-s: 12px;
+  --font-size-m: 14px;
+  --font-size-l: 16px;
+  --font-size-xl: 20px;
+  --font-size-2xl: 22px;
+  --font-size-3xl: 26px;
+  --font-size-4xl: 30px;
+  --font-weight-normal: 400;
+  --font-weight-medium: 500;
+  --font-weight-semibold: 550;
+  --font-weight-bold: 600;
+  --line-height-tight: 1.2;
+  --line-height-normal: 1.5;
+  --letter-spacing-tight: -0.01em;
+
+  /* Spacing */
+  --space-0:    0;
+  --space-xxs:  3px;
+  --space-xs:   6px;
+  --space-s:    12px;
+  --space-m:    14px;
+  --space-l:    16px;
+  --space-xl:   22px;
+  --space-2xl:  28px;
+  --space-3xl:  36px;
+
+  /* Border Radius */
+  --radius-s: 6px;
+  --radius-m: 9px;
+  --radius-l: 12px;
+  --radius-full: 9999px;
+
+  /* Shadows */
+  --shadow-xs: 0 1px 2px rgba(0, 0, 0, 0.02);
+  --shadow-s: 0 1px 3px rgba(0, 0, 0, 0.04), 0 1px 2px rgba(0, 0, 0, 0.02);
+  --shadow-m: 0 4px 6px -1px rgba(0, 0, 0, 0.04),
+    0 2px 4px -1px rgba(0, 0, 0, 0.02);
+  --shadow-l: 0 10px 15px -3px rgba(0, 0, 0, 0.04),
+    0 4px 6px -2px rgba(0, 0, 0, 0.02);
+  --shadow-inset-s: inset 0 1px 0 rgba(255, 255, 255, 0.15),
+    inset 0 -1px 0 rgba(0, 0, 0, 0.03);
+
+  /* Animation */
+  --duration-fast: 200ms;
+  --duration-normal: 500ms;
+  --ease-standard: cubic-bezier(0.16, 1, 0.3, 1);
+
+  /* Layout */
+  --container-s: 350px;
+  --container-m: 900px;
+  --container-l: 1500px;
+}
+
+/* Container layout */
+.container {
+  width: 100%;
+  margin: 0 auto;
+  padding: var(--space-s);
+  min-width: var(--container-s);
+}
+@media (min-width: 600px) {
+  .container {
+    max-width: var(--container-m);
+    padding: var(--space-xl);
+  }
+}
+@media (min-width: 1100px) {
+  .container {
+    max-width: var(--container-l);
+    padding: var(--space-2xl);
+  }
+}
+
+
+.tabs {
+  display: grid;
+  grid-template-columns: 1fr 1fr 1fr;
+  gap: 0 var(--space-xs);
+  transition: all var(--duration-normal) var(--ease-standard);
+  margin: 0 var(--space-xs);
+}
+@media (min-width: 600px) {
+  .tabs {
+    grid-template-columns: 1fr 1fr 1fr 1fr;
+    margin: 0 var(--space-2xl);
+  }
+}
+@media (min-width: 1100px) {
+  .tabs {
+    grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr;
+    margin: 0 var(--space-s);
+  }
+}
+
+
+.btn {
+  display: inline-flex;
+  align-items: center;
+  justify-content: center;
+  font-size: var(--font-size-xs);
+  width: 200px;
+  height: 50px;
+  border-radius: var(--radius-m);
+  line-height: 1.4;
+  cursor: pointer;
+  transition: all var(--duration-normal) var(--ease-standard);
+  border: none;
+  text-decoration: none;
+  position: relative;
+  overflow: hidden;
+  margin-left: var(--space-xs);
+  margin-right: var(--space-xs);
+}
+.btn svg {
+  height: var(--font-size-m); 
+  width: var(--font-size-m);
+
+  margin-left: var(--space-xs);
+  margin-right: var(--space-xs);
+  position: relative;
+}
+@media (min-width: 600px) {
+  .btn {
+    padding: var(--space-m) var(--space-l);
+    font-size: var(--font-size-xs);
+    width: 230px;
+    max-width: 250px;
+    height: 45px;
+  }
+}
+
+/* FORM GRID */
+.form-grid {
+  display: grid;
+  grid-template-columns: 1fr;
+  gap: var(--space-xl);
+}
+@media (min-width: 600px) {
+  .form-grid {
+    grid-template-columns: 1fr 1fr;
+    gap: var(--space-xl);
+  }
+}
+@media (min-width: 1100px) {
+  .form-grid {
+    grid-template-columns: 1fr 1fr 1fr 1fr;
+    gap: var(--space-l);
+  }
+}
+
+
+/* FORM GRID TAMPERING TAB */
+.form-grid-tamper {
+  display: grid;
+  grid-template-columns: 1fr;
+  gap: 0;
+}
+
+.checkbox-label-tamper {
+  line-height: 16px;
+}
+
+label span.checkbox-label-tamper__title {
+  font-size: var(--font-size-s);
+  font-weight: bold;
+  padding-left: var(--space-xs);
+  color: var(--hacker-primary) !important;
+}
+
+.checkbox-label-tamper__subtitle {
+  font-size: var(--font-size-xs);
+  font-weight: normal;
+}
+.checkbox-label-tamper .checkmark {
+  height: 26px;
+  width: 26px;
+}
+
+.checkbox-label-tamper .checkmark::after{
+  height: 11px;
+  width: 11px;
+}
+
+/* Base styles */
+html {
+  font-size: var(--font-size-m);
+  font-family: var(--font-family-base);
+  line-height: var(--line-height-normal);
+  color: var(--color-text);
+  background-color: var(--color-background);
+  -webkit-font-smoothing: antialiased;
+  box-sizing: border-box;
+  scrollbar-gutter: stable;
+
+}
+
+body {
+  margin: 		0;
+  padding: 		0;
+  min-height: 	100vh;
+  font-family: 	var(--font-family-mono);
+  background-size: cover !important;
+  background-attachment: fixed !important;
+  background-position: center center !important;
+  background-repeat: no-repeat !important;
+  background: linear-gradient(to bottom, rgba(0, 0, 0, 0.7), rgba(0, 0, 0, 0.4)), url('background.jpg');
+}
+
+
+*,
+*::before,
+*::after {
+  box-sizing: inherit;
+}
+
+/* Typography */
+h1,h2,h3,h4,h5,h6 {
+  margin: 0;
+  font-weight: var(--font-weight-semibold);
+  line-height: var(--line-height-tight);
+  color: var(--color-text);
+  letter-spacing: var(--letter-spacing-tight);
+  text-shadow: 0 0 10px rgba(0, 255, 65, 0.5);
+}
+
+h1 {
+  font-size: var(--font-size-4xl);
+  margin-bottom: var(--space-l);
+  color: var(--hacker-primary);
+  text-shadow: 0 0 20px var(--color-border);
+  font-family: var(--font-family-mono);
+}
+h2 {
+  font-size: var(--font-size-3xl);
+}
+h3 {
+  font-size: var(--font-size-2xl);
+}
+h4 {
+  font-size: var(--font-size-xl);
+}
+h5 {
+  font-size: var(--font-size-l);
+}
+h6 {
+  font-size: var(--font-size-m);
+}
+
+p {
+  margin: 0 0 var(--space-l) 0;
+}
+
+a {
+  color: var(--color-primary);
+  text-decoration: none;
+  transition: color var(--duration-fast) var(--ease-standard);
+}
+
+a:hover {
+  color: var(--hacker-secondary);
+}
+
+code,
+pre {
+  font-family: var(--font-family-mono);
+  font-size: calc(var(--font-size-m) * 0.95);
+  background-color: var(--color-secondary);
+  border-radius: var(--radius-s);
+}
+
+code {
+  padding: var(--space-1) var(--space-xs);
+}
+
+pre {
+  padding: var(--space-l);
+  margin: var(--space-l) 0;
+  overflow: auto;
+  border: 1px solid var(--color-border);
+}
+
+pre code {
+  background: none;
+  padding: 0;
+}
+
+/* Buttons */
+.btn::before {
+  content: '';
+  position: absolute;
+  top: 0;
+  left: -100%;
+  width: 100%;
+  height: 100%;
+  background: linear-gradient(90deg, transparent, var(--hacker-primary), transparent);
+  transition: left 0.5s;
+}
+
+/* Buttons */
+.btn--outline::before {
+  background: linear-gradient(90deg, transparent, rgba(205, 11, 11, 0.4), transparent);
+  transition: left 0.5s;
+}
+
+.btn:hover::before {
+  left: 100%;
+}
+
+.btn:disabled {
+  opacity: 0.5;
+  cursor: not-allowed;
+}
+
+.btn--primary {
+  background: var(--hacker-primary);
+  color: var(--color-btn-primary-text);
+  border: 1px solid var(--hacker-primary);
+  font-weight: bold;
+  text-transform: uppercase;
+  letter-spacing: 1px;
+}
+
+.btn--primary:active {
+  background: var(--color-primary-active);
+}
+
+.btn--primary:hover {
+  box-shadow: 0 0 15px rgba(0, 255, 65, 0.5);
+}
+
+.btn--secondary {
+  background: var(--color-secondary);
+  color: var(--hacker-primary);
+  border: 1px solid var(--color-border);
+}
+
+.btn--secondary:active {
+  background: var(--color-secondary-active);
+}
+
+.btn--secondary:hover {
+  background: var(--color-secondary-hover);
+  box-shadow: 0 0 15px rgba(0, 255, 65, 0.3);
+}
+
+.btn--outline {
+  background: var(--color-secondary);
+  color: #ffb1b1;
+  border: 0px none;
+  font-weight: bold;
+  text-transform: uppercase;
+  letter-spacing: 1px;
+}
+
+.btn--outline:hover {
+  background: var(--color-secondary);
+}
+
+.btn.copying {
+  animation: pulse 1s infinite;
+}
+
+.btn:focus-visible {
+  outline: none;
+  box-shadow: var(--focus-ring);
+}
+
+/* Form elements */
+.form-control {
+  display: block;
+  width: 100%;
+  padding: var(--space-s) var(--space-m);
+  font-size: var(--font-size-s);
+  line-height: 1.3;
+  color: var(--color-text);
+  background-color: var(--color-surface);
+  border: 1px solid var(--hacker-border);
+  border-radius: var(--radius-m);
+  background: var(--hacker-bg-dark);
+  font-family: var(--font-family-mono);
+  transition: all var(--duration-fast) var(--ease-standard);
+}
+
+.form-group {
+  display: flex;
+  flex-direction: column;
+  margin-bottom: var(--space-l);
+}
+
+.form-label {
+  user-select: none;
+  color: var(--hacker-primary);
+  font-weight: bold;
+  margin-bottom: var(--space-xs);
+  font-size: var(--font-size-s);
+  letter-spacing: 0.5px;
+  line-height: 1.1;
+}
+
+.form-label u {
+  font-weight: normal;;
+  color: var(--hacker-secondary);
+  text-decoration: none;
+}
+
+/*** ⁱ TOOLTIP  */
+.form-label i,
+.checkbox-label i {
+  min-width: 18px;
+  position: relative;
+  display: inline-block;
+  margin-left: var(--space-xs);
+  cursor: pointer;
+  font-style: normal;
+  color: var(--hacker-secondary);
+}
+
+.form-label i:hover,
+.checkbox-label i:hover {
+  color: var(--color-primary)
+}
+
+.form-label i:hover::after,
+.checkbox-label i:hover::after {
+  color: var(--hacker-primary);
+}
+
+.form-label i::before,
+.checkbox-label i::before {
+  font-size: var(--font-size-s);
+  font-weight: var(--font-weight-normal);
+  color: var(--hacker-secondary);
+  padding: var(--space-s);
+  margin: var(--space-m) 0;
+  border: 2px solid var(--hacker-secondary);
+  background: var(--hacker-bg-dark);
+
+  line-height: 1.15;
+  position: absolute;
+  bottom: calc(100% + var(--space-2xl));
+  left: 50%;
+  transform: translateX(-50%);
+  border-radius: var(--radius-m);
+  white-space: normal;
+  overflow-wrap: break-word;
+  width: max-content;
+  max-width: min(30rem, calc(100vw - 2rem));
+  box-sizing: border-box;
+  visibility: hidden;
+  display: none;
+  opacity: 0;
+  transition: opacity 0.3s ease;
+  z-index: 1000;
+}
+
+.form-label i:hover::before,
+.checkbox-label i:hover::before { 
+  display: block;
+  opacity: 1;
+  visibility: visible;
+}
+
+.form-label [tooltip]::before,
+.checkbox-label [tooltip]::before {
+  content: attr(tooltip);
+  white-space: pre-line;
+}
+
+.form-label i:hover::before,
+.checkbox-label i:hover::before {
+  display: block;
+  opacity: 1;
+  visibility: visible;
+}
+/* ⁱ TOOLTIP ***/
+
+/*** CHECKBOXES */
+.checkbox-group {
+  flex-direction: row !important;
+  align-items: center;
+}
+
+.checkbox-grid {
+  display: grid;
+  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
+  gap: 0;
+}
+
+.checkbox-label {
+  line-height: 1.15;
+  align-items: center;
+  cursor: pointer;
+  position: relative;
+  padding-left: var(--space-3xl);
+  padding-top: var(--space-xs);
+  user-select: none;
+  -webkit-user-select: none;
+}
+
+.form-grid-tamper .checkbox-label { 
+  line-height: 1.0;
+  padding-top: var(--space-xs);
+  padding-bottom: var(--space-xs);
+}
+
+.form-grid-tamper .checkbox-label b {
+  font-size: var(--font-size-s);
+}
+
+.form-grid-tamper .checkbox-label u {
+  font-size: var(--font-size-s);
+  line-height: 1.0;
+}
+
+.checkbox-label b {
+  font-size: var(--font-size-s);
+  display: flex;
+  font-weight: bold;
+  color: var(--hacker-secondary);
+  text-decoration: none;
+  color: var(--color-text);
+}
+
+.checkbox-label u {
+  font-size: var(--font-size-s);
+  font-weight: normal;;
+  color: var(--hacker-secondary);
+  text-decoration: none;
+  line-height: 2.0;
+}
+
+.checkbox-grid .checkbox-label u {
+  font-size: var(--font-size-s);
+}
+
+.checkbox-label input[type="checkbox"], .checkbox-label-tamper input[type="checkbox"] {
+  position: absolute;
+  opacity: 0;
+  cursor: pointer;
+}
+
+input[type="range"] {
+  margin-top: var(--space-m);
+  max-width: 80%;
+}
+
+input[type="range"]#level {
+  max-width: 80%;
+}
+
+input[type="range"]#risk {
+  max-width: 60%;
+}
+
+input[type="range"]#verbose {
+  max-width: 80%;
+}
+
+
+.checkbox-grid .checkbox-label .checkmark {
+  transform: none;
+}
+
+.form-label.checkbox-grid {
+  margin-bottom: var(--space-xs);
+}
+
+ /* FORCE USAGE OF HTTPS REQUESTS:hover -->> check */
+.checkbox-label:hover .checkmark {
+  border-color: var(--hacker-primary);
+  box-shadow: 0 0 10px rgba(0, 255, 65, 0.3);
+}
+
+input[type="checkbox"]:checked ~ .checkmark {
+  background-color: var(--hacker-primary);
+  border-color: var(--hacker-primary);
+  box-shadow: 0 0 15px rgba(0, 255, 65, 0.5);
+}
+
+.checkmark {
+    position: absolute;
+    left: 0;
+    transform: translateY(-50%);
+    height: 28px;
+    width: 28px;
+    background-color: var(--hacker-bg-dark);
+    border: 2px solid var(--hacker-border);
+    border-radius: 3px;
+    transition: all 0.3s ease;
+}
+
+.checkbox-grid .checkmark {
+    position: absolute;
+    left: 0;
+    transform: translateY(-50%);
+    height: 24px;
+    width: 24px;
+    background-color: var(--hacker-bg-dark);
+    border: 2px solid var(--hacker-border);
+    border-radius: 3px;
+    transition: all 0.3s ease;
+}
+
+.checkmark:after {
+  content: "";
+  position: absolute;
+  display: none;
+  left: 7px;
+  top: 2px;
+  width: 10px;
+  height: 14px;
+  border: solid var(--color-btn-primary-text);
+  border-width: 0 2px 2px 0;
+  transform: rotate(45deg);
+}
+
+.checkbox-grid .checkmark:after {
+  left: 6px;
+  top: 3px;
+  width: 8px;
+  height: 10px;
+}
+
+input[type="checkbox"]:checked ~ .checkmark:after {
+  display: block;
+}
+
+/* Checkboxes ***/
+
+.form-control:focus {
+  border-color: var(--hacker-primary);
+  box-shadow: 0 0 10px rgba(0, 255, 65, 0.3);
+  outline: none;
+}
+
+.form-control::placeholder {
+  color: rgba(0, 255, 65, 0.5);
+}
+
+textarea.form-control {
+  font-family: var(--font-family-mono);
+  font-size: var(--font-size-s);
+  resize: vertical;
+  min-height: 39px;
+}
+
+select.form-control {
+  padding: var(--space-s) var(--space-m);
+  -webkit-appearance: none;
+  -moz-appearance: none;
+  appearance: none;
+  background-image: var(--select-caret);
+  background-repeat: no-repeat;
+  background-position: right var(--space-m) center;
+  background-size: 16px;
+  padding-right: var(--space-3xl);
+}
+
+.form-control:hover {
+  border-color: var(--hacker-primary);
+  box-shadow: 0 0 10px rgba(0, 255, 65, 0.3);
+}
+
+.form-control:focus {
+  border-color: var(--color-primary);
+  outline: var(--focus-outline);
+}
+
+
+
+/* Status indicators - simplified with CSS variables */
+#status-container {
+  display: grid;
+  grid-column-start: 1;
+  grid-column-end: 1;
+  position: fixed;
+  top: 20px;
+  right: 30px;
+}
+
+.status {
+  display: inline-flex;
+  align-items: center;
+  padding: var(--space-m) var(--space-m);
+  margin: var(--space-xs) 0;
+  border-radius: var(--radius-l);
+  font-weight: var(--font-weight-bold);
+  font-size: var(--font-size-s);
+  width: 275px;
+  height: 60px;
+  text-align: center;
+}
+
+.status--success {
+  background-color: rgba(
+    var(--color-success-rgb, 33, 128, 141),
+    var(--status-bg-opacity)
+  );
+  color: var(--color-success);
+  border: 1px solid
+    rgba(var(--color-success-rgb, 33, 128, 141), var(--status-border-opacity));
+}
+
+.status--error {
+  background-color: rgba(
+    var(--color-error-rgb, 192, 21, 47),
+    var(--status-bg-opacity)
+  );
+  color: var(--color-error);
+  border: 1px solid
+    rgba(var(--color-error-rgb, 192, 21, 47), var(--status-border-opacity));
+}
+
+.status--warning {
+  background-color: rgba(
+    var(--color-warning-rgb, 168, 75, 47),
+    var(--status-bg-opacity)
+  );
+  color: var(--color-warning);
+  border: 1px solid
+    rgba(var(--color-warning-rgb, 168, 75, 47), var(--status-border-opacity));
+}
+
+.status--info {
+  background-color: rgba(
+    var(--color-info-rgb, 98, 108, 113),
+    var(--status-bg-opacity)
+  );
+  color: var(--color-info);
+  border: 1px solid
+    rgba(var(--color-info-rgb, 98, 108, 113), var(--status-border-opacity));
+}
+
+:focus-visible {
+  outline: var(--focus-outline);
+  outline-offset: 2px;
+}
+
+/* Header */
+.header {
+  text-align: center;
+  margin-bottom: var(--space-l);
+  padding: var(--space-3xl) var(--space-s) var(--space-s) var(--space-s);
+  color: var(--color-text-secondary);
+  font-size: var(--font-size-m);
+}
+
+/* Command Section */
+.command-section {
+  margin-bottom: var(--space-3xl);
+  position: sticky;
+  top: 8px;
+  z-index: 900;
+}
+
+.command-header {
+  display: flex;
+  justify-content: space-between;
+  align-items: center;
+  margin-bottom: var(--space-l);
+}
+
+.command-header h2 {
+  color: var(--hacker-primary);
+  font-size: var(--font-size-2xl);
+}
+
+.command-output {
+  background: var(--hacker-bg-dark);
+  border: 1px solid var(--color-primary-hover);
+  border-radius: var(--radius-l);
+  padding: var(--space-xl);
+  position: relative;
+  overflow-x: auto;
+  box-shadow: 0px 15px 20px 5px rgba(0, 0, 0, 0.4);
+  margin-left: var(--space-xs);
+  margin-right: var(--space-xs);
+}
+
+.command-output::before {
+  content: '$ ';
+  color: var(--hacker-primary);
+  font-weight: bold;
+}
+
+.command-output pre {
+  margin: 0;
+  padding: 0;
+  background: none;
+  border: none;
+  color: var(--color-text);
+  font-family: var(--font-family-mono);
+  font-size: var(--font-size-m);
+  white-space: pre-wrap;
+  word-break: break-all;
+}
+
+
+/** NAV TABS */
+.tab-btn.active {
+  color: var(--hacker-primary);
+  border-bottom-color: var(--hacker-primary);
+  box-shadow: 0 0 10px rgba(0, 255, 65, 0.3);
+  background-color: var(--hacker-surface);
+}
+
+.tab-content {
+  display: none;
+}
+
+.tab-content.active {
+  display: block;
+}
+.tab-btn {
+  background-color: var(--hacker-bg-dark);
+  border: none;
+  padding: var(--space-m) var(--space-m);
+  color: var(--color-text-secondary);
+  cursor: pointer;
+  transition: all 0.3s ease;
+  font-weight: bold;
+  text-transform: uppercase;
+  letter-spacing: 0.25px;
+  border-bottom: 2px solid transparent;
+  margin-top: var(--space-xs);
+  border-radius: var(--radius-s) var(--radius-s) 0 0;
+}
+
+
+/* Card component */
+.card {
+  background: var(--hacker-surface);
+  border: 1px solid var(--hacker-border);
+  border-radius: var(--radius-s) var(--radius-s) var(--radius-m) var(--radius-m);
+  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.3);
+}
+
+.card:hover {
+  box-shadow: var(--shadow-m);
+}
+
+.card__body {
+  padding: var(--space-2xl);
+}
+
+.card h3 {
+    grid-column: 1 / -1;
+    color: var(--hacker-secondary);
+    font-size: var(--font-size-xl);
+    border-bottom-color: var(--hacker-secondary);
+    border-bottom-style: dotted;
+    border-bottom-width: 1px;
+    padding: var(--space-xs) 0 var(--space-s) 0;
+}
+
+/* Sliders */
+.slider {
+  -webkit-appearance: none;
+  appearance: none;
+  width: 100%;
+  height: 6px;
+  border-radius: 3px;
+  background: var(--hacker-border);
+  outline: none;
+  transition: all 0.3s ease;
+}
+
+.slider::-webkit-slider-thumb {
+  -webkit-appearance: none;
+  appearance: none;
+  width: 20px;
+  height: 20px;
+  border-radius: 50%;
+  background: var(--hacker-primary);
+  cursor: pointer;
+  box-shadow: 0 0 10px rgba(0, 255, 65, 0.5);
+  transition: all 0.3s ease;
+}
+
+.slider::-webkit-slider-thumb:hover {
+  transform: scale(1.2);
+  box-shadow: 0 0 20px rgba(0, 255, 65, 0.8);
+}
+
+.slider::-moz-range-thumb {
+  width: 20px;
+  height: 20px;
+  border-radius: 50%;
+  background: var(--hacker-primary);
+  cursor: pointer;
+  border: none;
+  box-shadow: 0 0 10px rgba(0, 255, 65, 0.5);
+}
+
+/* Configuration Section */
+.config-section {
+  margin-top: var(--space-3xl);
+}
+
+.config-buttons {
+  display: flex;
+  gap: var(--space-l);
+  flex-wrap: wrap;
+}
+
+/* Custom scrollbar */
+::-webkit-scrollbar {
+  width: 8px;
+  height: 8px;
+}
+
+::-webkit-scrollbar-track {
+  background: var(--hacker-bg-dark);
+}
+
+::-webkit-scrollbar-thumb {
+  background: var(--hacker-primary);
+  border-radius: 4px;
+}
+
+::-webkit-scrollbar-thumb:hover {
+  background: var(--hacker-secondary);
+}
+
+/* Loading animation for buttons */
+@keyframes pulse {
+  0% {
+    box-shadow: 0 0 0 0 rgba(0, 255, 65, 0.7);
+  }
+  70% {
+    box-shadow: 0 0 0 10px rgba(0, 255, 65, 0);
+  }
+  100% {
+    box-shadow: 0 0 0 0 rgba(0, 255, 65, 0);
+  }
+}
+
+/* Glitch effect for title */
+@keyframes glitch {
+  0% {
+    text-shadow: 0 0 10px rgba(0, 255, 65, 0.5);
+  }
+  25% {
+    text-shadow: -2px 0 rgba(0, 255, 65, 0.5), 2px 0 rgba(255, 0, 255, 0.5);
+  }
+  50% {
+    text-shadow: 0 0 10px rgba(0, 255, 65, 0.5);
+  }
+  75% {
+    text-shadow: 2px 0 rgba(0, 255, 65, 0.5), -2px 0 rgba(255, 255, 0, 0.5);
+  }
+  100% {
+    text-shadow: 0 0 10px rgba(0, 255, 65, 0.5);
+  }
+}
+
+.header h1:hover {
+  animation: glitch 0.5s ease-in-out;
+}
+
+/* Command output syntax highlighting */
+.command-output pre .option {
+  color: #ff6b6b;
+}
+
+.command-output pre .value {
+  color: #4ecdc4;
+}
+
+.command-output pre .flag {
+  color: #ffe66d;
+}
+
+.additional-help {
+  font-size: var(--font-size-s);
+  color: var(--hacker-secondary);
+  margin-top: var(--space-l);
+  line-height: 1.5;
+  height: 3em;
+  user-select: none;
+}
+
+.grid-column-span-2 {
+  grid-column: span 2;
+}
+
+.grid-column-span-3 {
+  grid-column: span 3;
+}
+
+.grid-column-span-4 {
+  grid-column: span 4;
+}
+
+.grid-column-span-5 {
+  grid-column: span 5;
+}
+
+.grid-row-span-2 {
+  grid-row: span 2;
+}
+
+.grid-row-span-3 {
+  grid-row: span 3;
+}
+
+.grid-row-span-4 {
+  grid-row: span 4;
+}
+
+.grid-row-span-5 {
+  grid-row: span 5;
+}
+
+/* Hide unstylled arrows from input type number */
+input[type=number] { 
+  -moz-appearance: textfield;
+  appearance: textfield;
+}
+input[type=number]::-webkit-inner-spin-button,
+input[type=number]::-webkit-outer-spin-button { 
+      -webkit-appearance: none; 
+}
+
+.tamper--script {
+    font-weight: bold;
+
+}
+
+input, select, textarea {
+  margin-top: var(--space-xs);
+}
+
+#levelValue, #riskValue {
+  color: var(--hacker-secondary);
+  font-weight: var(--font-weight-bold);
 }
\ No newline at end of file
