PageSourceSearch

https://www.adawatai.dev/

html adawatai.dev collected 2026-10-04 14:06:38 UTC 97,965 bytes, 2,197 lines download raw bytes

1<!DOCTYPE html>
2<html lang="en" dir="ltr">
3
4<head>
5    
5<script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-6458463561472933"
6        crossorigin="anonymous" nonce="secure123"></script>
6
7
8    <meta http-equiv="Content-Security-Policy" content="
9    object-src 'none';
10    base-uri 'self';
11    script-src 'nonce-secure123' 'strict-dynamic' 'unsafe-inline' https:;
12    report-uri https://csp.withgoogle.com/csp/adwords-api;
13">
14
15    <!-- Favicon Configuration -->
16    <link rel="icon" type="image/svg+xml" href="/favicon.svg?v=3">
17    <link rel="icon" type="image/png" sizes="16x16" href="/favicon-16x16.png?v=3">
18    <link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png?v=3">
19    <link rel="icon" type="image/png" sizes="96x96" href="/favicon-96x96.png?v=3">
20    <link rel="shortcut icon" href="/favicon.ico?v=3">
21    <link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png?v=3">
22    <meta name="apple-mobile-web-app-title" content="My Tools">
23    <link rel="manifest" href="/site.webmanifest?v=3">
24
25    <!-- Google Analytics -->
vendor: 69 bytes, lines 25-26
25
26    <script async src="https://www.googletagmanager.com/gtag/js?id=
26G-ZCBG56HS6D
vendor: 35 bytes, lines 26-27
26" nonce="secure123"></script>
27    
27<script nonce="secure123">
28        
vendor: 157 bytes, lines 28-31
28window.dataLayer = window.dataLayer || [];
29        function gtag() { dataLayer.push(arguments); }
30        gtag('js', new Date());
31        gtag('config', '
31G-ZCBG56HS6D
vendor: 9 bytes, lines 31-32
31');
32    
32</script>
32
33
34    <!-- Security Headers -->
35    <meta http-equiv="X-Content-Type-Options" content="nosniff">
36    <meta http-equiv="X-XSS-Protection" content="1; mode=block">
37    <meta http-equiv="Referrer-Policy" content="strict-origin-when-cross-origin">
38    <meta http-equiv="Permissions-Policy" content="geolocation=(), microphone=(), camera=()">
39
40    <meta charset="UTF-8">
41    <meta name="viewport" content="width=device-width, initial-scale=1.0">
42
43    <!-- ======================= START: SEO ENHANCEMENTS FOR ENGLISH VERSION ======================= -->
44    <!-- Primary Meta Tags -->
45    <title>AI Tools Hub - Discover the Best AI Tools of 2025</title>
46    <meta name="title" content="AI Tools Hub - Discover the Best AI Tools of 2025">
47    <meta name="description"
48        content="Your comprehensive guide to the best AI tools in 2025. Discover AI tools for images, writing, coding, video, and audio, with detailed tutorials for each tool.">
49    <meta name="keywords"
50        content="AI tools, artificial intelligence, ChatGPT, DALL-E, Midjourney, free AI tools, AI tools 2025, Stable Diffusion">
51    <meta name="author" content="AI Tools Hub">
52    <meta name="robots" content="index, follow, max-image-preview:large, max-snippet:-1, max-video-preview:-1">
53
54    <!-- Language and Region -->
55    <meta name="language" content="English">
56    <meta name="geo.region" content="US">
57
58    <!-- Canonical URL -->
59    <link rel="canonical" href="https://www.adawatai.dev/">
60
61    <!-- Hreflang Tags for Multilingual SEO -->
62    <link rel="alternate" hreflang="en" href="https://www.adawatai.dev/">
63    <link rel="alternate" hreflang="ar" href="https://www.adawatai.dev/index-ar.html">
64    <link rel="alternate" hreflang="x-default" href="https://www.adawatai.dev/">
65
66    <!-- Open Graph / Facebook -->
67    <meta property="og:type" content="website">
68    <meta property="og:url" content="https://www.adawatai.dev/">
69    <meta property="og:title" content="AI Tools Hub - The Ultimate Guide to AI Tools">
70    <meta property="og:description"
71        content="Discover the best AI tools of 2025. A comprehensive directory of 500+ AI tools for images, writing, coding, and more. Detailed reviews and free tools.">
72    <meta property="og:image" content="https://adawatai.dev/blog/img/adawatai.jpg">
73    <meta property="og:site_name" content="AI Tools Hub">
74    <meta property="og:locale" content="en_US">
75
76    <!-- Twitter Card -->
77    <meta name="twitter:card" content="summary_large_image">
78    <meta name="twitter:title" content="AI Tools Hub - The Ultimate Guide to AI Tools">
79    <meta name="twitter:description"
80        content="Discover the best AI tools of 2025. A comprehensive directory of 500+ AI tools with detailed reviews.">
81
82    <!-- Theme and Icons -->
83    <meta name="theme-color" content="#5D5CDE">
84
85    <!-- Preconnect for Performance -->
86    <link rel="preconnect" href="https://fonts.googleapis.com">
87    <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin="">
88    <link rel="preconnect" href="https://cdnjs.cloudflare.com">
89    <link rel="preconnect" href="https://cdn.jsdelivr.net">
90    <link rel="preconnect" href="https://cdn.tailwindcss.com">
91
92    <!-- Critical: Immediate Theme Initialization to prevent FOUC -->
93    
93<script nonce="secure123">
94        const SecureStorageForTheme = {
95            prefix: 'aitools_',
96            getItem(key) {
97                try {
98                    const item = localStorage.getItem(this.prefix + key);
99                    return item ? JSON.parse(item) : null;
100                } catch (e) { return null; }
101            },
102        };
103        const initTheme = () => {
104            const savedTheme = SecureStorageForTheme.getItem('darkMode');
105            const systemPrefersDark = window.matchMedia('(prefers-color-scheme: dark)').matches;
106            if (savedTheme === 'dark' || (!savedTheme && systemPrefersDark)) {
107                document.documentElement.classList.add('dark');
108            }
109        };
110        initTheme();
111    </script>
111
112
113    <!-- Tailwind CSS -->
114    
114<script nonce="secure123" src="https://cdn.tailwindcss.com"></script>
114
115    
115<script nonce="secure123">
116        tailwind.config = {
117            darkMode: 'class',
118            theme: {
119                extend: {
120                    colors: {
121                        primary: '#7e22ce', secondary: '#5D5CDE', dark: '#1a1a2e',
122                        darker: '#0f0f1a', modalBg: '#151834', modalHeader: '#151834'
123                    }
124                }
125            }
126        }
127    </script>
127
128
129    <!-- Stylesheets and Scripts -->
130    <link rel="stylesheet" nonce="secure123"
131        href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css">
132    
132<script nonce="secure123" src="https://cdn.jsdelivr.net/npm/[email protected]/marked.min.js" defer></script>
132
133
134    <!-- Fonts -->
135    <!-- Performance Note: The 'Tajawal' font is for Arabic. It can be removed from this English version for a minor loading speed improvement. -->
136    <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Tajawal:wght@400;500;700&display=swap">
137    <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Outfit:wght@400;500;700&display=swap">
138
139    <!-- Structured Data (SEO) -->
140    <!-- === SEO Structured Data (The Ultimate Homepage Schema) === -->
141    
141<script type="application/ld+json" nonce="secure123">
142    {
143        "@context": "https://schema.org",
144        "@graph": [
145            {
146                "@type": "Organization",
147                "@id": "https://www.adawatai.dev/#organization",
148                "name": "AI Tools Hub",
149                "url": "https://www.adawatai.dev",
150                "logo": {
151                    "@type": "ImageObject",
152                    "url": "https://www.adawatai.dev/favicon.png",
153                    "width": 512,
154                    "height": 512
155                },
156                "sameAs": [
157                    "https://twitter.com/adawatai",
158                    "https://www.facebook.com/adawatai",
159                    "https://www.linkedin.com/company/adawatai"
160                ],
161                "contactPoint": {
162                    "@type": "ContactPoint",
163                    "contactType": "customer support",
164                    "email": "[email protected]"
165                }
166            },
167            {
168                "@type": "WebSite",
169                "@id": "https://www.adawatai.dev/#website",
170                "url": "https://www.adawatai.dev",
171                "name": "AI Tools Hub",
172                "alternateName": "Best AI Tools Directory 2025",
173                "description": "Your comprehensive guide to the best AI tools in 2025. Discover free and paid AI tools for writing, coding, image generation, and video editing.",
174                "publisher": {
175                    "@id": "https://www.adawatai.dev/#organization"
176                },
177                "inLanguage": "en",
178                "potentialAction": {
179                    "@type": "SearchAction",
180                    "target": {
181                        "@type": "EntryPoint",
182                        "urlTemplate": "https://www.adawatai.dev/#tools-section?q={search_term_string}"
183                    },
184                    "query-input": "required name=search_term_string"
185                }
186            },
187            {
188                "@type": "CollectionPage",
189                "@id": "https://www.adawatai.dev/#webpage",
190                "url": "https://www.adawatai.dev",
191                "name": "AI Tools Hub - Discover Top Artificial Intelligence Software",
192                "description": "Explore 500+ curated AI tools tailored for developers, marketers, and creators. Filter by category: Text, Image, Video, Audio, and Coding.",
193                "isPartOf": {
194                    "@id": "https://www.adawatai.dev/#website"
195                },
196                "about": {
197                    "@type": "Thing",
198                    "name": "Artificial Intelligence Software Directory"
199                },
200                "isAccessibleForFree": true,
201                "audience": {
202                    "@type": "Audience",
203                    "audienceType": "Content Creators, Developers, Marketers"
204                }
205            }
206           
207        ]
208    }
209    </script>
209
210    
210<script id="faq-structured-data" type="application/ld+json" nonce="secure123"></script>
210
211    
211<script id="itemlist-structured-data" type="application/ld+json" nonce="secure123"></script>
211
212    <!-- ======================= END: SEO ENHANCEMENTS ======================= -->
213
214    
214<script nonce="secure123">
215        const SecurityConfig = {
216            csrfToken: null,
217            rateLimits: {
218                login: { attempts: 3, window: 300000 }, contact: { attempts: 5, window: 600000 },
219                search: { attempts: 50, window: 60000 }
220            },
221            generateCSRFToken() { return 'csrf_' + Math.random().toString(36).substr(2, 9) + Date.now().toString(36); },
222            init() { this.csrfToken = this.generateCSRFToken(); this.preventClickjacking(); },
223            preventClickjacking() { if (window.top !== window.self) { window.top.location = window.self.location; } }
224        };
225        document.addEventListener('DOMContentLoaded', SecurityConfig.init.bind(SecurityConfig));
226    </script>
226
227
228    <style>
229        /* Production Note: For best performance, this CSS should be moved to an external, minified stylesheet. */
230        html[lang="ar"] {
231            font-family: 'Tajawal', sans-serif;
232        }
233
234        html[lang="en"] {
235            font-family: 'Outfit', sans-serif;
236        }
237
238        body {
239            overflow-x: hidden;
240            scroll-behavior: smooth;
241        }
242
243        #newsletter-modal-overlay {
244            display: none;
245            opacity: 0;
246            transition: opacity 0.3s ease-in-out;
247        }
248
249        #newsletter-modal-overlay.active {
250            display: flex;
251        }
252
253        #newsletter-modal-content {
254            transform: scale(0.95);
255            opacity: 0;
256            transition: all 0.3s ease-in-out;
257        }
258
259        #newsletter-modal-overlay.active #newsletter-modal-content {
260            transform: scale(1);
261            opacity: 1;
262        }
263
264        body.modal-open {
265            overflow: hidden;
266        }
267
268        html {
269            overflow-y: scroll;
270        }
271
272        .dark {
273            color-scheme: dark;
274        }
275
276        .hero-bg {
277            padding-top: 100px;
278            background: linear-gradient(45deg, #5D5CDE, #7e22ce);
279            position: relative;
280        }
281
282        .tool-card {
283            background: white;
284            border-radius: 16px;
285            box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
286            overflow: hidden;
287            transition: all 0.3s ease;
288            will-change: transform;
289            border: 1px solid rgba(0, 0, 0, 0.05);
290        }
291
292        .dark .tool-card {
293            background: #1f2937;
294            border-color: rgba(255, 255, 255, 0.1);
295            box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.3);
296        }
297
298        .tool-card:hover {
299            transform: translateY(-8px);
300            box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
301        }
302
303        .dark .tool-card:hover {
304            box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.4);
305        }
306
307        .tool-card-content {
308            padding: 20px;
309            height: 100%;
310            display: flex;
311            flex-direction: column;
312        }
313
314        .tool-card-header {
315            display: flex;
316            justify-content: space-between;
317            align-items: center;
318            margin-bottom: 16px;
319            gap: 16px;
320        }
321
322        .favorites-badge {
323            position: static;
324            flex-shrink: 0;
325            background: rgba(0, 0, 0, 0.05);
326            color: #6b7280;
327            border-radius: 50%;
328            width: 36px;
329            height: 36px;
330            display: flex;
331            align-items: center;
332            justify-content: center;
333            cursor: pointer;
334            transition: all 0.3s ease;
335        }
336
337        .dark .favorites-badge {
338            background: rgba(255, 255, 255, 0.1);
339            color: #9ca3af;
340        }
341
342        .favorites-badge:hover {
343            transform: scale(1.1);
344            color: #ef4444;
345        }
346
347        .favorites-badge.active {
348            color: #ef4444;
349            background: rgba(239, 68, 68, 0.1);
350        }
351
352        .dark .favorites-badge.active {
353            background: rgba(239, 68, 68, 0.2);
354        }
355
356        .tool-card-title {
357            font-size: 1.25rem;
358            font-weight: 700;
359            color: #1f2937;
360            line-height: 1.3;
361            margin: 0;
362            flex-grow: 1;
363            text-align: left;
364        }
365
366        .dark .tool-card-title {
367            color: #f9fafb;
368        }
369
370        .tool-card-description {
371            color: #6b7280;
372            line-height: 1.6;
373            margin-bottom: 16px;
374            flex-grow: 1;
375            font-size: 0.95rem;
376        }
377
378        .dark .tool-card-description {
379            color: #9ca3af;
380        }
381
382        .tool-card-tags-container {
383            display: flex;
384            justify-content: space-between;
385            align-items: center;
386            gap: 8px;
387            margin-bottom: 20px;
388            flex-wrap: wrap;
389        }
390
391        .pricing-tags {
392            display: flex;
393            gap: 6px;
394            flex-wrap: wrap;
395        }
396
397        .pricing-tag {
398            font-size: 0.75rem;
399            padding: 4px 8px;
400            border-radius: 12px;
401            font-weight: 500;
402            white-space: nowrap;
403        }
404
405        .tag-free {
406            background-color: #22c55e;
407            color: white;
408        }
409
410        .tag-paid {
411            background-color: #ef4444;
412            color: white;
413        }
414
415        .tag-freemium {
416            background-color: #f59e0b;
417            color: white;
418        }
419
420        .tool-card-categories {
421            display: flex;
422            flex-wrap: wrap;
423            gap: 6px;
424        }
425
426        .category-badge {
427            display: inline-flex;
428            align-items: center;
429            padding: 4px 8px;
430            border-radius: 16px;
431            font-size: 0.75rem;
432            background-color: rgba(93, 92, 222, 0.1);
433            color: #5D5CDE;
434            font-weight: 500;
435            transition: background-color 0.2s ease;
436        }
437
438        .dark .category-badge {
439            background-color: rgba(93, 92, 222, 0.2);
440            color: #a78bfa;
441        }
442
443        .category-badge:hover {
444            background-color: rgba(93, 92, 222, 0.2);
445        }
446
447        .dark .category-badge:hover {
448            background-color: rgba(93, 92, 222, 0.3);
449        }
450
451        .tool-card-actions {
452            display: flex;
453            gap: 8px;
454            margin-top: auto;
455        }
456
457        .tool-action-btn {
458            flex: 1;
459            padding: 10px 16px;
460            border-radius: 8px;
461            font-weight: 500;
462            text-align: center;
463            transition: all 0.3s ease;
464            text-decoration: none;
465            border: none;
466            cursor: pointer;
467            font-size: 0.875rem;
468        }
469
470        .tool-action-btn:hover {
471            transform: translateY(-2px);
472            box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
473        }
474
475        .btn-primary {
476            background: linear-gradient(45deg, #5D5CDE, #7e22ce);
477            color: white;
478        }
479
480        .btn-primary:hover {
481            background: linear-gradient(45deg, #4a49b0, #6b21a8);
482        }
483
484        .btn-secondary {
485            background: rgba(93, 92, 222, 0.1);
486            color: #5D5CDE;
487            border: 1px solid rgba(93, 92, 222, 0.2);
488        }
489
490        .dark .btn-secondary {
491            background: rgba(93, 92, 222, 0.2);
492            color: #a78bfa;
493            border-color: rgba(93, 92, 222, 0.3);
494        }
495
496        .btn-secondary:hover {
497            background: rgba(93, 92, 222, 0.2);
498            color: #4a49b0;
499        }
500
501        .dark .btn-secondary:hover {
502            background: rgba(93, 92, 222, 0.3);
503        }
504
505        #advanced-search-options {
506            background: rgba(0, 0, 0, 0.2);
507            backdrop-filter: blur(15px);
508            border: 1px solid rgba(255, 255, 255, 0.1);
509            transition: all 0.4s ease-in-out;
510            max-height: 0;
511            overflow: hidden;
512            padding: 0;
513            border-radius: 12px;
514        }
515
516        #advanced-search-options.open {
517            max-height: 500px;
518            padding: 1.5rem;
519            margin-top: 1rem;
520        }
521
522        #advanced-search-options legend {
523            display: flex;
524            align-items: center;
525            gap: 0.5rem;
526            color: #d1d5db;
527        }
528
529        .custom-checkbox {
530            display: flex;
531            align-items: center;
532            cursor: pointer;
533            font-size: 0.9rem;
534            transition: color 0.2s;
535            padding: 0.25rem 0;
536        }
537
538        .custom-checkbox:hover {
539            color: white;
540        }
541
542        .custom-checkbox input {
543            display: none;
544        }
545
546        .custom-checkbox .checkmark {
547            width: 18px;
548            height: 18px;
549            border: 2px solid rgba(255, 255, 255, 0.4);
550            border-radius: 4px;
551            margin-inline-end: 10px;
552            display: flex;
553            align-items: center;
554            justify-content: center;
555            transition: all 0.2s;
556            flex-shrink: 0;
557        }
558
559        .custom-checkbox input:checked+.checkmark {
560            background-color: #5D5CDE;
561            border-color: #5D5CDE;
562        }
563
564        .custom-checkbox .checkmark::after {
565            content: '\f00c';
566            font-family: 'Font Awesome 6 Free';
567            font-weight: 900;
568            font-size: 12px;
569            color: white;
570            opacity: 0;
571            transform: scale(0.5);
572            transition: all 0.2s;
573        }
574
575        .custom-checkbox input:checked+.checkmark::after {
576            opacity: 1;
577            transform: scale(1);
578        }
579
580        #advanced-search-options #sort-select {
581            background-color: rgba(255, 255, 255, 0.1);
582            border: 1px solid rgba(255, 255, 255, 0.2);
583        }
584
585        #advanced-search-options .btn-adv-reset {
586            background-color: rgba(255, 255, 255, 0.1);
587            color: white;
588        }
589
590        #advanced-search-options .btn-adv-reset:hover {
591            background-color: rgba(255, 255, 255, 0.2);
592        }
593
594        #advanced-search-options .btn-adv-apply {
595            background: #5D5CDE;
596            color: white;
597        }
598
599        #advanced-search-options .btn-adv-apply:hover {
600            background: #4a49b0;
601        }
602
603        .modal .modal-content {
604            position: relative;
605        }
606
607        .favorites-badge-modal {
608            position: absolute;
609            top: 20px;
610            z-index: 5;
611            width: 40px;
612            height: 40px;
613            background: rgba(255, 255, 255, 0.1);
614            color: #e5e7eb;
615            border-radius: 50%;
616            display: flex;
617            align-items: center;
618            justify-content: center;
619            cursor: pointer;
620            transition: all 0.3s ease;
621            right: 70px;
622        }
623
624        .favorites-badge-modal:hover {
625            background: rgba(255, 255, 255, 0.2);
626            transform: scale(1.1);
627        }
628
629        .favorites-badge-modal.active {
630            color: #ef4444;
631            background: rgba(239, 68, 68, 0.2);
632        }
633
634        #favorites-modal .modal-content {
635            background-color: #1a1a2e;
636            display: flex;
637            flex-direction: column;
638            overflow: hidden;
639        }
640
641        #favorites-modal .modal-header {
642            position: sticky;
643            top: 0;
644            z-index: 10;
645            background-color: #1a1a2e;
646            flex-shrink: 0;
647            padding: 1.5rem;
648            border-bottom: 1px solid #374151;
649            display: flex;
650            align-items: center;
651            justify-content: space-between;
652        }
653
654        #favorites-modal .modal-title {
655            font-size: 1.25rem;
656            font-weight: 700;
657        }
658
659        #favorites-list {
660            flex-grow: 1;
661            overflow-y: auto;
662            padding: 1.5rem;
663            display: flex;
664            flex-direction: column;
665            gap: 1rem;
666        }
667
668        #close-favorites-modal {
669            background: none;
670            border: none;
671            color: #9ca3af;
672            font-size: 1.5rem;
673            cursor: pointer;
674            padding: 0.5rem;
675            line-height: 1;
676            transition: color 0.2s, transform 0.2s;
677        }
678
679        #close-favorites-modal:hover {
680            color: white;
681            transform: rotate(90deg);
682        }
683
684        .favorite-item {
685            display: flex;
686            align-items: center;
687            gap: 1rem;
688            padding: 1rem;
689            background-color: #1f2937;
690            border-radius: 0.75rem;
691            border: 1px solid #374151;
692            transition: background-color 0.2s ease, transform 0.2s ease;
693        }
694
695        .favorite-item:hover {
696            background-color: #374151;
697            transform: translateY(-2px);
698        }
699
700        .favorite-item-icon {
701            flex-shrink: 0;
702            width: 48px;
703            height: 48px;
704            background: #4c1d95;
705            color: white;
706            border-radius: 0.5rem;
707            display: flex;
708            align-items: center;
709            justify-content: center;
710            font-size: 1.5rem;
711        }
712
713        .favorite-item-details {
714            flex-grow: 1;
715            min-width: 0;
716            text-align: left;
717        }
718
719        .favorite-item-title {
720            font-weight: 700;
721            color: #f9fafb;
722            margin: 0;
723            white-space: nowrap;
724            overflow: hidden;
725            text-overflow: ellipsis;
726        }
727
728        .favorite-item-description {
729            font-size: 0.875rem;
730            color: #9ca3af;
731            margin-top: 0.25rem;
732            white-space: nowrap;
733            overflow: hidden;
734            text-overflow: ellipsis;
735        }
736
737        .favorite-item-actions {
738            display: flex;
739            align-items: center;
740            gap: 0.75rem;
741        }
742
743        .favorite-action-button {
744            background: none;
745            border: none;
746            cursor: pointer;
747            padding: 0.25rem;
748            transition: transform 0.2s ease, opacity 0.2s ease;
749            font-size: 1.25rem;
750        }
751
752        .favorite-action-button:hover {
753            transform: scale(1.15);
754            opacity: 0.9;
755        }
756
757        .favorite-action-view {
758            color: #a78bfa;
759        }
760
761        .favorite-action-delete {
762            color: #ef4444;
763        }
764
765        @media (max-width: 640px) {
766            .favorite-item-description {
767                display: none;
768            }
769
770            .favorite-item {
771                padding: 0.75rem 1rem;
772            }
773
774            .favorite-item-icon {
775                width: 40px;
776                height: 40px;
777                font-size: 1.25rem;
778            }
779        }
780
781        #tools-section .tab-button {
782            color: #9ca3af;
783        }
784
785        #tools-section .tab-button.active {
786            color: white;
787        }
788
789        #tools-section .quick-filter-btn {
790            background-color: #374151;
791            color: #d1d5db;
792            border-radius: 9999px;
793            transition: all 0.2s ease-in-out;
794        }
795
796        #tools-section .quick-filter-btn:hover {
797            background-color: #4b5563;
798        }
799
800        #tools-section .quick-filter-btn.active {
801            background-color: #5D5CDE;
802            color: white;
803            font-weight: 500;
804        }
805
806        #tools-section #quick-sort {
807            background-color: #374151;
808            color: #d1d5db;
809            border-color: #4b5563;
810        }
811
812        .search-container {
813            position: relative;
814            z-index: 200;
815        }
816
817        .search-input-wrapper {
818            position: relative;
819            background: rgba(255, 255, 255, 0.2);
820            backdrop-filter: blur(10px);
821            border-radius: 1rem;
822            padding: 0.5rem;
823            border: 2px solid transparent;
824            transition: all 0.3s ease;
825        }
826
827        .search-input-wrapper:focus-within {
828            border-color: rgba(255, 255, 255, 0.3);
829            background: rgba(255, 255, 255, 0.25);
830            transform: translateY(-2px);
831            box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.1);
832        }
833
834        #search-icon-container {
835            position: absolute;
836            top: 50%;
837            transform: translateY(-50%);
838            inset-inline-start: 0.75rem;
839            display: flex;
840            align-items: center;
841            justify-content: center;
842            height: 40px;
843            width: 40px;
844            pointer-events: none;
845        }
846
847        #search-icon {
848            color: white;
849            height: 1.25rem;
850            width: 1.25rem;
851        }
852
853        #search-loading {
854            position: absolute;
855            width: 20px;
856            height: 20px;
857            border: 2px solid rgba(255, 255, 255, 0.3);
858            border-top: 2px solid white;
859            border-radius: 50%;
860            animation: spin-loader 1s linear infinite;
861        }
862
863        @keyframes spin-loader {
864            100% {
865                transform: rotate(360deg);
866            }
867        }
868
869        #search-input {
870            width: 100%;
871            background: transparent;
872            border: none;
873            outline: none;
874            color: white;
875            font-size: 1rem;
876            padding-block: 0.5rem;
877            padding-inline-start: 3.5rem;
878            padding-inline-end: 1rem;
879        }
880
881        #search-input::placeholder {
882            color: rgba(255, 255, 255, 0.7);
883        }
884
885        :focus-visible {
886            outline: 3px solid #a78bfa;
887            outline-offset: 2px;
888            box-shadow: 0 0 0 5px rgba(167, 139, 250, 0.3);
889            border-radius: 4px;
890        }
891
892        :focus:not(:focus-visible) {
893            outline: none;
894        }
895
896        .search-suggestions {
897            position: absolute;
898            left: 0;
899            right: 0;
900            top: 100%;
901            margin-top: 4px;
902            background: rgba(255, 255, 255, 0.95);
903            backdrop-filter: blur(10px);
904            border: 1px solid rgba(255, 255, 255, 0.2);
905            border-radius: 12px;
906            box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
907            max-height: 320px;
908            overflow-y: auto;
909            z-index: 999;
910            opacity: 0;
911            transform: translateY(-10px);
912            transition: opacity 0.3s ease, transform 0.3s ease;
913            scrollbar-width: thin;
914            scrollbar-color: rgba(93, 92, 222, 0.3) transparent;
915        }
916
917        .search-suggestions.visible {
918            opacity: 1;
919            transform: translateY(0);
920        }
921
922        .dark .search-suggestions {
923            background: rgba(26, 26, 46, 0.95);
924            border-color: rgba(255, 255, 255, 0.1);
925            box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.4);
926        }
927
928        .suggestion-item {
929            padding: 12px 16px;
930            cursor: pointer;
931            border-bottom: 1px solid rgba(255, 255, 255, 0.1);
932            transition: all 0.2s ease;
933            display: flex;
934            align-items: center;
935            gap: 12px;
936        }
937
938        .dark .suggestion-item {
939            border-bottom: 1px solid rgba(255, 255, 255, 0.05);
940        }
941
942        .suggestion-item:last-child {
943            border-bottom: none;
944        }
945
946        .suggestion-item:hover,
947        .suggestion-item.selected {
948            background: rgba(93, 92, 222, 0.1);
949            transform: translateX(2px);
950        }
951
952        .dark .suggestion-item:hover,
953        .dark .suggestion-item.selected {
954            background: rgba(93, 92, 222, 0.15);
955        }
956
957        .suggestion-icon {
958            width: 32px;
959            height: 32px;
960            border-radius: 8px;
961            background: linear-gradient(45deg, #5D5CDE, #7e22ce);
962            display: flex;
963            align-items: center;
964            justify-content: center;
965            color: white;
966            font-size: 14px;
967            flex-shrink: 0;
968        }
969
970        .suggestion-content {
971            flex: 1;
972            min-width: 0;
973        }
974
975        .suggestion-title {
976            font-weight: 600;
977            font-size: 14px;
978            margin-bottom: 2px;
979            color: #1f2937;
980            line-height: 1.3;
981        }
982
983        .dark .suggestion-title {
984            color: #f9fafb;
985        }
986
987        .suggestion-highlight {
988            color: #5D5CDE;
989            background: rgba(93, 92, 222, 0.1);
990            padding: 1px 3px;
991            border-radius: 3px;
992            font-weight: 700;
993        }
994
995        .dark .suggestion-highlight {
996            color: #a78bfa;
997            background: rgba(167, 139, 250, 0.2);
998        }
999
1000        .suggestion-description {
1001            font-size: 12px;
1002            color: #6b7280;
1003            line-height: 1.3;
1004            overflow: hidden;
1005            text-overflow: ellipsis;
1006            white-space: nowrap;
1007        }
1008
1009        .dark .suggestion-description {
1010            color: #9ca3af;
1011        }
1012
1013        .suggestion-category {
1014            font-size: 11px;
1015            color: #9ca3af;
1016            background: rgba(156, 163, 175, 0.1);
1017            padding: 2px 6px;
1018            border-radius: 10px;
1019            margin-top: 4px;
1020            display: inline-block;
1021        }
1022
1023        .dark .suggestion-category {
1024            color: #6b7280;
1025            background: rgba(107, 114, 128, 0.2);
1026        }
1027
1028        .suggestion-empty {
1029            padding: 20px;
1030            text-align: center;
1031            color: #6b7280;
1032            font-size: 14px;
1033        }
1034
1035        .dark .suggestion-empty {
1036            color: #9ca3af;
1037        }
1038
1039        .suggestion-empty i {
1040            font-size: 24px;
1041            margin-bottom: 8px;
1042            display: block;
1043            opacity: 0.5;
1044        }
1045
1046        .loading-spinner {
1047            width: 20px;
1048            height: 20px;
1049            border: 3px solid rgba(255, 255, 255, .3);
1050            border-radius: 50%;
1051            border-top-color: white;
1052            animation: spin 1s ease-in-out infinite;
1053        }
1054
1055        .notification {
1056            animation: slideIn 0.3s ease-out forwards, fadeOut 0.5s ease-in 2.5s forwards;
1057            pointer-events: none;
1058        }
1059
1060        @keyframes slideIn {
1061            from {
1062                transform: translateY(-20px);
1063                opacity: 0;
1064            }
1065
1066            to {
1067                transform: translateY(0);
1068                opacity: 1;
1069            }
1070        }
1071
1072        @keyframes fadeOut {
1073            from {
1074                opacity: 1;
1075            }
1076
1077            to {
1078                opacity: 0;
1079            }
1080        }
1081
1082        .theme-toggle-btn {
1083            transition: transform 0.3s;
1084        }
1085
1086        .theme-toggle-btn:hover {
1087            transform: rotate(45deg);
1088        }
1089
1090        .tab-button {
1091            position: relative;
1092            transition: all 0.3s ease;
1093        }
1094
1095        .tab-button::after {
1096            content: '';
1097            position: absolute;
1098            bottom: -2px;
1099            left: 0;
1100            width: 0;
1101            height: 2px;
1102            background-color: #5D5CDE;
1103            transition: width 0.3s ease;
1104        }
1105
1106        .tab-button.active::after {
1107            width: 100%;
1108        }
1109
1110        .filter-btn.active {
1111            background-color: rgba(93, 92, 222, 0.8);
1112            color: white;
1113        }
1114
1115        .scroll-indicator {
1116            position: relative;
1117            width: 30px;
1118            height: 50px;
1119            border: 2px solid rgba(255, 255, 255, 0.5);
1120            border-radius: 25px;
1121            margin: 0 auto;
1122        }
1123
1124        .scroll-indicator::before {
1125            content: '';
1126            position: absolute;
1127            top: 6px;
1128            left: 50%;
1129            width: 6px;
1130            height: 6px;
1131            margin-left: -3px;
1132            background-color: white;
1133            border-radius: 50%;
1134            animation: scrollAnimation 2s infinite;
1135        }
1136
1137        @keyframes scrollAnimation {
1138            0% {
1139                transform: translateY(0);
1140                opacity: 1;
1141            }
1142
1143            100% {
1144                transform: translateY(24px);
1145                opacity: 0;
1146            }
1147        }
1148
1149        .back-to-top {
1150            position: fixed;
1151            bottom: 30px;
1152            right: 30px;
1153            background: linear-gradient(45deg, #5D5CDE, #7e22ce);
1154            color: white;
1155            width: 50px;
1156            height: 50px;
1157            border-radius: 50%;
1158            display: flex;
1159            align-items: center;
1160            justify-content: center;
1161            cursor: pointer;
1162            opacity: 0;
1163            visibility: hidden;
1164            transition: all 0.3s ease;
1165            box-shadow: 0 4px 10px rgba(0, 0, 0, 0.2);
1166            z-index: 990;
1167            border: none;
1168        }
1169
1170        .back-to-top.visible {
1171            opacity: 1;
1172            visibility: visible;
1173        }
1174
1175        .back-to-top:hover {
1176            transform: translateY(-5px);
1177            box-shadow: 0 6px 15px rgba(0, 0, 0, 0.3);
1178        }
1179
1180        .fade-in {
1181            opacity: 0;
1182            transform: translateY(20px);
1183            transition: opacity 0.6s ease-out, transform 0.6s ease-out;
1184        }
1185
1186        .fade-in.appear {
1187            opacity: 1;
1188            transform: translateY(0);
1189        }
1190
1191        .modal,
1192        .auth-modal,
1193        #favorites-modal,
1194        #newsletter-modal-overlay {
1195            display: none;
1196            position: fixed;
1197            inset: 0;
1198            background-color: rgba(0, 0, 0, 0.7);
1199            z-index: 2000;
1200            overflow-y: auto;
1201            padding: 20px;
1202            transition: opacity 0.3s ease;
1203            align-items: center;
1204            justify-content: center;
1205        }
1206
1207        #favorites-modal.active,
1208        .modal.active,
1209        .auth-modal.active,
1210        #newsletter-modal-overlay.active {
1211            display: flex;
1212        }
1213
1214        .modal-content,
1215        .auth-modal-content {
1216            background-color: white;
1217            border-radius: 12px;
1218            width: 100%;
1219            max-width: 900px;
1220            max-height: 90vh;
1221            overflow-y: auto;
1222            position: relative;
1223            transform: translateY(20px);
1224            opacity: 0;
1225            transition: all 0.3s ease;
1226        }
1227
1228        .modal.active .modal-content,
1229        .auth-modal.active .auth-modal-content,
1230        #favorites-modal.active .modal-content {
1231            transform: translateY(0);
1232            opacity: 1;
1233        }
1234
1235        .modal .modal-content {
1236            background-color: #151834;
1237            color: white;
1238        }
1239
1240        #favorites-modal .modal-content {
1241            background-color: #1f2937;
1242            max-width: 48rem;
1243            max-height: 80vh;
1244        }
1245
1246        .close-modal,
1247        .auth-close-btn {
1248            position: absolute;
1249            font-size: 24px;
1250            cursor: pointer;
1251            z-index: 10;
1252            width: 40px;
1253            height: 40px;
1254            display: flex;
1255            align-items: center;
1256            justify-content: center;
1257            border-radius: 50%;
1258            transition: background-color 0.3s ease;
1259            border: none;
1260        }
1261
1262        .close-modal {
1263            top: 15px;
1264            right: 15px;
1265            background-color: rgba(255, 255, 255, 0.1);
1266            color: white;
1267        }
1268
1269        .close-modal:hover {
1270            background-color: rgba(255, 255, 255, 0.2);
1271        }
1272
1273        #breaking-news {
1274            background: linear-gradient(45deg, #5D5CDE, #7e22ce);
1275            box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2);
1276        }
1277
1278        #breaking-news-label {
1279            background-color: rgba(0, 0, 0, 0.15);
1280        }
1281
1282        .news-ticker {
1283            animation: scroll-right 120s linear infinite;
1284            display: flex;
1285            align-items: center;
1286        }
1287
1288        .ticker-container-faded {
1289            position: relative;
1290        }
1291
1292        .ticker-container-faded::before,
1293        .ticker-container-faded::after {
1294            content: '';
1295            position: absolute;
1296            top: 0;
1297            bottom: 0;
1298            width: 70px;
1299            z-index: 2;
1300            pointer-events: none;
1301        }
1302
1303        .ticker-container-faded::before {
1304            left: 0;
1305            background: linear-gradient(to right, #5D5CDE, transparent);
1306        }
1307
1308        .ticker-container-faded::after {
1309            right: 0;
1310            background: linear-gradient(to left, #7e22ce, transparent);
1311        }
1312
1313        .news-ticker-item {
1314            padding-inline-end: 3rem;
1315            position: relative;
1316            text-decoration: none;
1317            transition: opacity 0.2s;
1318            color: white;
1319            white-space: nowrap;
1320            flex-shrink: 0;
1321        }
1322
1323        .news-ticker-item:hover {
1324            opacity: 0.8;
1325        }
1326
1327        .news-ticker-item::after {
1328            content: "•";
1329            position: absolute;
1330            inset-inline-end: 1.5rem;
1331            color: rgba(255, 255, 255, 0.7);
1332        }
1333
1334        .news-ticker-item:last-child::after {
1335            display: none;
1336        }
1337
1338        #breaking-news:not(.paused):hover .news-ticker {
1339            animation-play-state: paused;
1340        }
1341
1342        @keyframes scroll-right {
1343            0% {
1344                transform: translateX(-50%);
1345            }
1346
1347            100% {
1348                transform: translateX(0%);
1349            }
1350        }
1351
1352        .hero-bg {
1353            overflow: hidden;
1354        }
1355
1356        .hero-bg .container {
1357            padding-top: 50px;
1358        }
1359
1360        @media (max-width: 768px) {
1361            .search-suggestions {
1362                left: -8px;
1363                right: -8px;
1364                max-height: 280px;
1365            }
1366
1367            .suggestion-item {
1368                padding: 10px 12px;
1369                gap: 10px;
1370            }
1371
1372            .suggestion-icon {
1373                width: 28px;
1374                height: 28px;
1375                font-size: 12px;
1376            }
1377
1378            .suggestion-title {
1379                font-size: 13px;
1380            }
1381
1382            .suggestion-description {
1383                font-size: 11px;
1384            }
1385
1386            .back-to-top {
1387                bottom: 20px;
1388                right: 20px;
1389                width: 45px;
1390                height: 45px;
1391            }
1392
1393            .modal-content {
1394                width: 95%;
1395                margin: 0 auto;
1396            }
1397
1398            .tool-card-content {
1399                padding: 16px;
1400            }
1401        }
1402
1403        .container {
1404            max-width: 1200px;
1405            margin: 0 auto;
1406            padding: 0 1rem;
1407        }
1408
1409        .new-badge {
1410            display: inline-block;
1411            background-color: #22c55e;
1412            color: white;
1413            font-size: 0.65rem;
1414            font-weight: 700;
1415            padding: 2px 8px;
1416            border-radius: 10px;
1417            margin-inline-start: 8px;
1418            vertical-align: middle;
1419            text-transform: uppercase;
1420            animation: fadeInBadge 0.5s ease-out;
1421        }
1422
1423        .dark .new-badge {
1424            background-color: #4ade80;
1425        }
1426
1427        @keyframes fadeInBadge {
1428            from {
1429                opacity: 0;
1430                transform: scale(0.8);
1431            }
1432
1433            to {
1434                opacity: 1;
1435                transform: scale(1);
1436            }
1437        }
1438    </style>
1439    
1439<script data-cfasync="false" src="https://cmp.gatekeeperconsent.com/min.js"></script>
1439
1440    
1440<script data-cfasync="false" src="https://cmp.gatekeeperconsent.com/cmp.min.js"></script>
1440
1441
1442    <!-- 2. Header Script -->
1443    
1443<script async src="//www.ezojs.com/ezoic/sa.min.js"></script>
1443
1444    
1444<script>
1445        window.ezstandalone = window.ezstandalone || {};
1446        ezstandalone.cmd = ezstandalone.cmd || [];
1447    </script>
1447
1448</head>
1449
1450<body class="dark:bg-darker text-gray-800 dark:text-gray-200">
1451    <header class="bg-white dark:bg-dark shadow-sm sticky top-0 z-50">
1452        <div class="container mx-auto px-4 py-3 flex items-center justify-between gap-4">
1453            <div class="flex items-center gap-x-6 min-w-0">
1454                <h1 class="text-xl font-bold text-primary flex-shrink-0">
1455                    <a href="#" aria-label="AI Tools Hub - Homepage">AI Tools Hub</a>
1456                </h1>
1457                <nav class="hidden lg:flex" role="navigation" aria-label="Main Menu">
1458                    <ul class="flex gap-x-6">
1459                        <li><a href="#" class="hover:text-primary nav-link active" aria-label="Homepage">Home</a>
1460                        </li>
1461                       
1462                        <!-- <li><a href="blog/index.html" class="hover:text-primary nav-link"
1463                                aria-label="AI Tools Blog">Blog</a></li>-->
1464                        <li><a href="library.html" class="hover:text-primary nav-link"
1465                                aria-label="AI Tools Articles">library prompts</a></li>
1466                        <li><a href="contact.html" class="hover:text-primary nav-link" aria-label="Contact Us">Contact
1467                                Us</a></li>
1468                    </ul>
1469                </nav>
1470            </div>
1471            <div class="flex items-center gap-x-3">
1472                <button id="newsletter-btn"
1473                    class="hidden lg:inline-flex items-center gap-x-2 bg-secondary text-white text-sm font-semibold px-3 py-1.5 rounded-lg hover:bg-secondary/80 transition-colors duration-300">
1474                    <i class="fas fa-envelope"></i>
1475                    <span>Join Us</span>
1476                </button>
1477                <a href="index-ar.html" id="language-switcher" class="text-sm hover:underline flex-shrink-0"
1478                    aria-label="التبديل إلى العربية">العربية</a>
1479                <button id="theme-toggle"
1480                    class="theme-toggle-btn p-2 rounded-full hover:bg-gray-100 dark:hover:bg-gray-800"
1481                    aria-label="Toggle dark and light mode">
1482                    <svg id="light-icon" xmlns="http://www.w3.org/2000/svg"
1483                        class="h-6 w-6 hidden dark:block text-yellow-400" fill="none" viewBox="0 0 24 24"
1484                        stroke="currentColor" aria-hidden="true">
1485                        <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2"
1486                            d="M12 3v1m0 16v1m9-9h-1M4 12H3m15.364 6.364l-.707-.707M6.343 6.343l-.707-.707m12.728 0l-.707.707M6.343 17.657l-.707.707M16 12a4 4 0 11-8 0 4 4 0 018 0z">
1487                        </path>
1488                    </svg>
1489                    <svg id="dark-icon" xmlns="http://www.w3.org/2000/svg"
1490                        class="h-6 w-6 block dark:hidden text-gray-700" fill="none" viewBox="0 0 24 24"
1491                        stroke="currentColor" aria-hidden="true">
1492                        <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2"
1493                            d="M20.354 15.354A9 9 0 018.646 3.646 9.003 9.003 0 0012 21a9.003 9.003 0 008.354-5.646z">
1494                        </path>
1495                    </svg>
1496                </button>
1497                <button id="mobile-menu-toggle"
1498                    class="lg:hidden p-2 rounded-full hover:bg-gray-100 dark:hover:bg-gray-800" aria-label="Open Menu"
1499                    aria-expanded="false">
1500                    <svg xmlns="http://www.w3.org/2000/svg" class="h-6 w-6" fill="none" viewBox="0 0 24 24"
1501                        stroke="currentColor" aria-hidden="true">
1502                        <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2"
1503                            d="M4 6h16M4 12h16M4 18h16"></path>
1504                    </svg>
1505                </button>
1506                <button id="favorites-btn"
1507                    class="relative p-2 rounded-full hover:bg-gray-100 dark:hover:bg-gray-800 hidden md:inline-flex"
1508                    title="Favorite Tools" aria-label="View Favorite Tools">
1509                    <svg xmlns="http://www.w3.org/2000/svg" class="h-6 w-6" fill="none" viewBox="0 0 24 24"
1510                        stroke="currentColor">
1511                        <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2"
1512                            d="M4.318 6.318a4.5 4.5 0 000 6.364L12 20.364l7.682-7.682a4.5 4.5 0 00-6.364-6.364L12 7.636l-1.318-1.318a4.5 4.5 0 00-6.364 0z">
1513                        </path>
1514                    </svg>
1515                    <span id="favorites-count"
1516                        class="absolute -top-1 -right-1 bg-red-500 text-white text-xs rounded-full h-5 w-5 flex items-center justify-center hidden">0</span>
1517                </button>
1518            </div>
1519        </div>
1520        <div id="mobile-menu"
1521            class="hidden px-4 py-2 lg:hidden bg-white dark:bg-dark border-t border-gray-100 dark:border-gray-800">
1522            <nav role="navigation" aria-label="Mobile Menu">
1523                <ul class="space-y-2">
1524                    <li><a href="#" class="block hover:text-primary nav-link">Home</a></li>
1525
1526                    <!-- <li><a href="blog/index.html" class="block hover:text-primary nav-link">Blog</a></li> -->
1527                    <li><a href="library.html" class="block hover:text-primary nav-link">library
1528                            prompts</a></li>
1529                    <li><a href="contact.html" class="block hover:text-primary nav-link">Contact Us</a></li>
1530                    <li><a href="#" class="block hover:text-primary" id="favorites-mobile">Favorites</a></li>
1531                    <li><button id="newsletter-btn-mobile"
1532                            class="w-full text-left py-2 text-secondary font-semibold">Join Us</button></li>
1533                </ul>
1534            </nav>
1535        </div>
1536        <section id="breaking-news" class="text-white overflow-hidden relative z-40">
1537            <div class="flex items-center h-12">
1538                <div id="breaking-news-label"
1539                    class="py-3 font-bold text-sm whitespace-nowrap flex-shrink-0 flex items-center px-3 md:px-4">
1540                    <i class="fas fa-bolt me-2 text-yellow-300"></i>
1541                    <span class="hidden md:inline">Top Stories</span>
1542                    <button id="ticker-pause-btn" class="ms-2 text-white/80 hover:text-white" aria-label="Pause Ticker">
1543                        <i class="fas fa-pause text-xs"></i>
1544                    </button>
1545                </div>
1546                <div class="flex-1 overflow-hidden relative ticker-container-faded">
1547                    <div id="news-ticker" class="news-ticker flex items-center">
1548                        <!-- News items will be injected here by JavaScript -->
1549                    </div>
1550                </div>
1551            </div>
1552        </section>
1553    </header>
1554
1555    <div id="notification-container" class="fixed top-4 left-1/2 transform -translate-x-1/2 z-[2001]"
1556        aria-live="polite"></div>
1557
1558    <button type="button" class="back-to-top" id="backToTopBtn" aria-label="Back to top">
1559        <svg xmlns="http://www.w3.org/2000/svg" class="h-6 w-6" fill="none" viewBox="0 0 24 24" stroke="currentColor"
1560            aria-hidden="true">
1561            <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M5 10l7-7m0 0l7 7m-7-7v18"></path>
1562        </svg>
1563    </button>
1564
1565    <div id="favorites-modal" role="dialog" aria-modal="true" aria-labelledby="favorites-modal-title">
1566        <div class="modal-content">
1567            <div class="modal-header">
1568                <h3 id="favorites-modal-title" class="modal-title">Favorite Tools</h3>
1569                <button id="close-favorites-modal" aria-label="Close">
1570                    <svg xmlns="http://www.w3.org/2000/svg" class="h-6 w-6 pointer-events-none" fill="none"
1571                        viewBox="0 0 24 24" stroke="currentColor" aria-hidden="true">
1572                        <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M6 18L18 6M6 6l12 12">
1573                        </path>
1574                    </svg>
1575                </button>
1576            </div>
1577            <div id="favorites-list">
1578                <!-- Favorite items will be injected here -->
1579            </div>
1580        </div>
1581    </div>
1582
1583    <main>
1584        <section class="hero-bg py-12 px-4 text-white">
1585                <!-- === START: Viral Video Prompts Ad Box === -->
1586    <div class="max-w-3xl mx-auto mb-8 fade-in px-4" dir="ltr">
1587        <div class="relative overflow-visible bg-gradient-to-r from-red-600/10 via-orange-500/10 to-red-600/5 border border-red-500/30 rounded-2xl p-4 md:p-5 flex flex-col md:flex-row items-center justify-between gap-4 shadow-lg group">
1588
1589            <!-- New / Trending Badge -->
1590            <div class="absolute -top-3 -left-3 z-20">
1591                <span class="flex items-center gap-1 bg-gradient-to-r from-red-600 to-orange-500 text-white text-[10px] font-black px-3 py-1 rounded-full shadow-xl animate-bounce">
1592                    TRENDING! 🔥
1593                </span>
1594            </div>
1595
1596            <div class="flex items-center gap-4 text-center md:text-left relative z-10 w-full md:w-auto">
1597                <!-- Large Icon (Video / Play Icon) -->
1598                <div class="hidden md:flex w-12 h-12 bg-gradient-to-br from-red-600 to-orange-500 text-white rounded-xl items-center justify-center text-xl shadow-[0_0_15px_rgba(239,68,68,0.4)] transform rotate-3 group-hover:rotate-0 transition-transform duration-300 flex-shrink-0">
1599                    <i class="fas fa-play-circle"></i>
1600                </div>
1601
1602                <div class="flex flex-col items-center md:items-start w-full">
1603                    <h2 class="text-lg font-black text-gray-900 dark:text-white leading-tight">
1604                        Free Trending Video Prompts | <span class="text-red-500 underline decoration-wavy decoration-2 underline-offset-4">Create Your Videos Now!</span>
1605                    </h2>
1606                    <p class="text-gray-500 dark:text-gray-400 text-xs md:text-sm mt-1 mb-2">
1607                        Turn your ideas and images into stunning cinematic videos that go viral on TikTok and Instagram.
1608                    </p>
1609                </div>
1610            </div>
1611
1612            <!-- Action Button -->
1613            <a href="prompt/viral-video-prompts.html" class="relative z-10 whitespace-nowrap bg-gradient-to-r from-red-600 to-orange-500 text-white text-sm font-bold px-6 py-2.5 rounded-xl hover:from-red-500 hover:to-orange-400 transition-all shadow-[0_4px_15px_rgba(239,68,68,0.3)] hover:scale-105 active:scale-95 flex items-center gap-2 overflow-hidden self-center md:self-auto mt-2 md:mt-0">
1614                <span class="absolute inset-0 bg-white/20 skew-x-12 translate-x-[-150%] group-hover:translate-x-[150%] transition-transform duration-700"></span>
1615                <span>Viral Prompts</span>
1616                <i class="fas fa-video text-xs"></i>
1617            </a>
1618        </div>
1619    </div>
1620    <!-- === END: Viral Video Prompts Ad Box === -->
1621<!--
1622<a href="https://tinyurl.com/ydjw4m6v" target="_blank" rel="noopener noreferrer" 
1623   class="max-w-4xl mx-auto mb-8 fade-in px-4 relative z-30 block hover:no-underline group">
1624    
1625    <div class="relative overflow-hidden bg-[#151834] border border-white/10 rounded-[2rem] p-5 md:p-8 shadow-2xl transition-all duration-300 group-hover:border-white/20">
1626
1627        <div class="absolute top-4 right-6 z-30">
1628            <span class="bg-yellow-400 text-black text-[8px] font-black px-3 py-1 rounded-full shadow-lg uppercase tracking-tighter flex items-center gap-1">
1629                <i class="fas fa-crown text-[7px]"></i> Pinned Featured
1630            </span>
1631        </div>
1632
1633        <div class="flex flex-col lg:flex-row items-center justify-between gap-6 lg:gap-4 relative z-10">
1634
1635            <div class="flex-grow flex flex-col items-center lg:items-start text-center lg:text-left max-w-md">
1636
1637                <div class="flex items-center gap-4 mb-3">
1638                    <div class="flex-shrink-0 w-10 h-10 md:w-12 md:h-12 bg-white rounded-full p-0 overflow-hidden shadow-2xl flex items-center justify-center border-2 border-white/20">
1639                        <img src="img/atoms-logo.png" alt="Atoms Logo" class="w-full h-full object-contain transform scale-150">
1640                    </div>
1641                    <div>
1642                        <h2 class="text-xl md:text-2xl font-black text-white leading-none">
1643                            Atoms <span class="text-blue-400">AI Team</span>
1644                        </h2>
1645                        <p class="hidden sm:block text-white/20 text-[9px] uppercase tracking-widest mt-1 font-bold">
1646                            Official Partner 2026</p>
1647                    </div>
1648                </div>
1649
1650                <p class="text-white/60 text-xs md:text-sm leading-relaxed mb-4">
1651                    Turns your ideas into business. <span class="hidden md:inline">Researches, designs, and builds your full-stack app with <span class="text-white font-medium">Auth & Payments solved.</span></span>
1652                </p>
1653
1654                <div class="hidden sm:flex flex-wrap justify-center lg:justify-start gap-x-4 gap-y-2 mb-6">
1655                    <div class="flex items-center gap-1.5">
1656                        <i class="fas fa-check-circle text-blue-500 text-[10px]"></i>
1657                        <span class="text-white/70 text-[10px] font-medium">Multi-Agent</span>
1658                    </div>
1659                    <div class="flex items-center gap-1.5 border-l border-white/10 pl-4">
1660                        <i class="fas fa-check-circle text-indigo-400 text-[10px]"></i>
1661                        <span class="text-white/70 text-[10px] font-medium">Deep Research</span>
1662                    </div>
1663                    <div class="flex items-center gap-1.5 border-l border-white/10 pl-4">
1664                        <i class="fas fa-check-circle text-purple-400 text-[10px]"></i>
1665                        <span class="text-white/70 text-[10px] font-medium">Race Mode</span>
1666                    </div>
1667                </div>
1668
1669                <div class="flex items-center gap-4">
1670                    <div class="bg-white text-black font-black px-8 py-2.5 rounded-xl transition-all shadow-xl flex items-center gap-2 text-xs group-hover:bg-yellow-400">
1671                        <span>Launch Idea</span>
1672                        <i class="fas fa-rocket text-[10px]"></i>
1673                    </div>
1674                    <span class="hidden sm:block text-white/20 text-[9px] font-bold uppercase tracking-widest">Free trial</span>
1675                </div>
1676            </div>
1677
1678            <div class="w-full lg:w-[380px] h-48 md:h-56 relative group mt-4 lg:mt-0">
1679                <div id="atoms-slideshow-en" class="relative w-full h-full rounded-[1.5rem] overflow-hidden border border-white/10 shadow-2xl">
1680                    <img src="img/Multi-Agent (2).png" class="absolute inset-0 w-full h-full object-cover transition-opacity duration-1000 opacity-100 slide-item-en" alt="Slide 1">
1681                    <img src="img/Deep Research (2).png" class="absolute inset-0 w-full h-full object-cover transition-opacity duration-1000 opacity-0 slide-item-en" alt="Slide 2">
1682                    <img src="img/Race Mode (2).png" class="absolute inset-0 w-full h-full object-cover transition-opacity duration-1000 opacity-0 slide-item-en" alt="Slide 3">
1683                    <img src="img/Data Analytics.png" class="absolute inset-0 w-full h-full object-cover transition-opacity duration-1000 opacity-0 slide-item-en" alt="Slide 3">
1684                    <img src="img/Atoms Backend.png" class="absolute inset-0 w-full h-full object-cover transition-opacity duration-1000 opacity-0 slide-item-en" alt="Slide 3">
1685                </div>
1686
1687                <div id="slide-caption-en" class="absolute -bottom-2 left-1/2 -translate-x-1/2 bg-blue-600 text-[9px] text-white px-4 py-1 rounded-full font-bold shadow-lg z-20 whitespace-nowrap uppercase border border-white/20">
1688                    Multi-Agent Build
1689                </div>
1690            </div>
1691
1692        </div>
1693    </div>
1694</a>-->
1695            <!-- === END: PREMIUM FEATURED BANNER === -->
1696
1697            <div class="container mx-auto text-center">
1698                <h2 class="text-3xl md:text-4xl font-bold mb-3 fade-in">Discover the Most Powerful AI Tools</h2>
1699                <p class="text-lg mb-8 fade-in">The largest collection of AI tools, categorized by their use cases and
1700                    the fields they serve.</p>
1701                <div class="max-w-2xl mx-auto mb-8 fade-in relative z-20">
1702                    <div class="search-container">
1703                        <div class="search-input-wrapper">
1704                            <div id="search-icon-container">
1705                                <svg id="search-icon" xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24"
1706                                    stroke-width="1.5" stroke="currentColor">
1707                                    <path stroke-linecap="round" stroke-linejoin="round"
1708                                        d="M21 21l-5.197-5.197m0 0A7.5 7.5 0 105.196 5.196a7.5 7.5 0 0010.607 10.607z" />
1709                                </svg>
1710                                <div id="search-loading" class="hidden"></div>
1711                            </div>
1712                            <input type="text" id="search-input"
1713                                placeholder="Search for a tool or function (e.g., content writing)..."
1714                                class="placeholder:text-white" maxlength="100" role="searchbox"
1715                                aria-label="Search AI Tools" autocomplete="off">
1716                        </div>
1717                        <div id="search-suggestions" class="search-suggestions hidden" role="listbox"
1718                            aria-label="Search suggestions"></div>
1719                    </div>
1720                    <div class="flex flex-wrap justify-center gap-2 mt-4" role="group" aria-label="Quick Filters">
1721                        <button class="px-3 py-1 rounded-full bg-white/20 hover:bg-white/30 text-sm filter-btn active"
1722                            data-category="all" aria-pressed="true">All</button>
1723                        <button class="px-3 py-1 rounded-full bg-white/20 hover:bg-white/30 text-sm filter-btn"
1724                            data-category="image" aria-pressed="false">Images</button>
1725                        <button class="px-3 py-1 rounded-full bg-white/20 hover:bg-white/30 text-sm filter-btn"
1726                            data-category="text" aria-pressed="false">Writing</button>
1727                        <button class="px-3 py-1 rounded-full bg-white/20 hover:bg-white/30 text-sm filter-btn"
1728                            data-category="code" aria-pressed="false">Coding</button>
1729                        <button class="px-3 py-1 rounded-full bg-white/20 hover:bg-white/30 text-sm filter-btn"
1730                            data-category="video" aria-pressed="false">Video</button>
1731                        <button class="px-3 py-1 rounded-full bg-white/20 hover:bg-white/30 text-sm filter-btn"
1732                            data-category="audio" aria-pressed="false">Audio</button>
1733                        <button class="px-3 py-1 rounded-full bg-white/20 hover:bg-white/30 text-sm filter-btn"
1734                            data-category="music" aria-pressed="false">Music</button>
1735                        <button class="px-3 py-1 rounded-full bg-white/20 hover:bg-white/30 text-sm filter-btn"
1736                            data-category="design" aria-pressed="false">Design</button>
1737                        <button class="px-3 py-1 rounded-full bg-white/20 hover:bg-white/30 text-sm filter-btn"
1738                            data-category="marketing" aria-pressed="false">Marketing</button>
1739                        <button class="px-3 py-1 rounded-full bg-white/20 hover:bg-white/30 text-sm filter-btn"
1740                            data-category="productivity" aria-pressed="false">Productivity</button>
1741                        <button class="px-3 py-1 rounded-full bg-white/20 hover:bg-white/30 text-sm filter-btn"
1742                            data-category="translation" aria-pressed="false">Translation</button>
1743                        <button class="px-3 py-1 rounded-full bg-white/20 hover:bg-white/30 text-sm filter-btn"
1744                            data-category="3d" aria-pressed="false">3D</button>
1745                    </div>
1746                    <button id="advanced-search-toggle" class="mt-4 text-sm flex items-center mx-auto"
1747                        aria-expanded="false">
1748                        <span>Advanced Search Options</span>
1749                        <svg id="chevron-down" xmlns="http://www.w3.org/2000/svg" class="h-4 w-4 ml-1" fill="none"
1750                            viewBox="0 0 24 24" stroke="currentColor" aria-hidden="true">
1751                            <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M19 9l-7 7-7-7">
1752                            </path>
1753                        </svg>
1754                        <svg id="chevron-up" xmlns="http://www.w3.org/2000/svg" class="h-4 w-4 ml-1 hidden" fill="none"
1755                            viewBox="0 0 24 24" stroke="currentColor" aria-hidden="true">
1756                            <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M5 15l7-7 7 7">
1757                            </path>
1758                        </svg>
1759                    </button>
1760                    <div id="advanced-search-options" class="rounded-lg">
1761                        <div class="grid grid-cols-1 md:grid-cols-3 gap-6">
1762                            <div>
1763                                <legend class="font-medium mb-3 text-lg"><i
1764                                        class="fas fa-dollar-sign fa-fw mr-2 opacity-70"></i><span>Subscription
1765                                        Type</span></legend>
1766                                <div class="space-y-3">
1767                                    <label class="custom-checkbox" for="sub-filter-free"><input type="checkbox"
1768                                            class="subscription-filter" value="free" id="sub-filter-free"><span
1769                                            class="checkmark"></span><span>Free</span></label>
1770                                    <label class="custom-checkbox" for="sub-filter-paid"><input type="checkbox"
1771                                            class="subscription-filter" value="paid" id="sub-filter-paid"><span
1772                                            class="checkmark"></span><span>Paid</span></label>
1773                                    <label class="custom-checkbox" for="sub-filter-freemium"><input type="checkbox"
1774                                            class="subscription-filter" value="freemium" id="sub-filter-freemium"><span
1775                                            class="checkmark"></span><span>Freemium</span></label>
1776                                </div>
1777                            </div>
1778                            <div>
1779                                <legend class="font-medium mb-3 text-lg"><i
1780                                        class="fas fa-folder-open fa-fw mr-2 opacity-70"></i><span>Category</span>
1781                                </legend>
1782                                <div class="space-y-3">
1783                                    <label class="custom-checkbox" for="cat-filter-text"><input type="checkbox"
1784                                            class="category-filter" value="text" id="cat-filter-text"><span
1785                                            class="checkmark"></span><span>Text</span></label>
1786                                    <label class="custom-checkbox" for="cat-filter-image"><input type="checkbox"
1787                                            class="category-filter" value="image" id="cat-filter-image"><span
1788                                            class="checkmark"></span><span>Image</span></label>
1789                                    <label class="custom-checkbox" for="cat-filter-audio"><input type="checkbox"
1790                                            class="category-filter" value="audio" id="cat-filter-audio"><span
1791                                            class="checkmark"></span><span>Audio</span></label>
1792                                    <label class="custom-checkbox" for="cat-filter-video"><input type="checkbox"
1793                                            class="category-filter" value="video" id="cat-filter-video"><span
1794                                            class="checkmark"></span><span>Video</span></label>
1795                                    <label class="custom-checkbox" for="cat-filter-code"><input type="checkbox"
1796                                            class="category-filter" value="code" id="cat-filter-code"><span
1797                                            class="checkmark"></span><span>Coding</span></label>
1798                                </div>
1799                            </div>
1800                            <div class="space-y-6">
1801                                <div>
1802                                    <label for="sort-select" class="font-medium mb-2 block text-lg"><i
1803                                            class="fas fa-sort-amount-down fa-fw mr-2 opacity-70"></i><span>Sort
1804                                            Results</span></label>
1805                                    <select id="sort-select" class="w-full rounded-lg p-2 text-white">
1806                                        <option value="popular">Most Popular</option>
1807                                        <option value="newest">Newest</option>
1808                                        <option value="oldest">Oldest</option>
1809                                        <option value="name-asc">Alphabetical (A-Z)</option>
1810                                        <option value="name-desc">Alphabetical (Z-A)</option>
1811                                        <option value="rating">Top Rated</option>
1812                                    </select>
1813                                </div>
1814                                <div>
1815                                    <legend class="font-medium mb-3 text-lg"><i
1816                                            class="fas fa-star fa-fw mr-2 opacity-70"></i><span>Additional
1817                                            Options</span></legend>
1818                                    <div class="space-y-3">
1819                                        <label class="custom-checkbox" for="feat-filter-api"><input type="checkbox"
1820                                                class="feature-filter" value="api" id="feat-filter-api"><span
1821                                                class="checkmark"></span><span>API Support</span></label>
1822                                        <label class="custom-checkbox" for="feat-filter-mobile"><input type="checkbox"
1823                                                class="feature-filter" value="mobile" id="feat-filter-mobile"><span
1824                                                class="checkmark"></span><span>Mobile App Support</span></label>
1825                                    </div>
1826                                </div>
1827                            </div>
1828                        </div>
1829                        <div class="flex justify-center mt-6 gap-4 border-t border-white/10 pt-4">
1830                            <button id="reset-filters"
1831                                class="px-6 py-2 rounded-lg font-medium btn-adv-reset">Reset</button>
1832                            <button id="apply-filters" class="px-6 py-2 rounded-lg font-medium btn-adv-apply">Apply
1833                                Filters</button>
1834                        </div>
1835                    </div>
1836                </div>
1837                <div class="mt-8 text-center fade-in">
1838                    <div class="scroll-indicator" aria-hidden="true"></div>
1839                    <p class="mt-2 text-sm opacity-80">Scroll down to explore tools</p>
1840                </div>
1841            </div>
1842        </section>
1843
1844        <section id="tools-section" class="py-12 px-4 bg-dark text-gray-300">
1845            <div class="container mx-auto">
1846                <div class="mb-8 text-center fade-in">
1847                    <h2 class="text-2xl font-bold mb-3 text-white">AI Tools Directory</h2>
1848                    <p class="text-gray-400 mb-4 max-w-3xl mx-auto">Explore a comprehensive collection of AI tools,
1849                        organized by category and popularity. Filter the results to find the perfect tool for your
1850                        needs.</p>
1851                    <div id="total-tools-display" class="text-sm text-gray-500 mb-8"></div>
1852                </div>
1853                <div class="border-b border-gray-700 mb-8 fade-in" id="tabs-container">
1854                    <div class="flex flex-wrap -mb-px justify-center" role="tablist" aria-label="Tool Sections">
1855                        <button class="tab-button px-4 py-3 text-sm font-medium border-b-2 border-transparent active"
1856                            data-tab="all" role="tab" aria-selected="true">All Tools</button>
1857                        <button class="tab-button px-4 py-3 text-sm font-medium border-b-2 border-transparent"
1858                            data-tab="newest" role="tab" aria-selected="false">Newest Tools</button>
1859                        <button class="tab-button px-4 py-3 text-sm font-medium border-b-2 border-transparent"
1860                            data-tab="free" role="tab" aria-selected="false">Free Tools</button>
1861                        <button class="tab-button px-4 py-3 text-sm font-medium border-b-2 border-transparent"
1862                            data-tab="favorites" role="tab" aria-selected="false">Favorites</button>
1863                        <button class="tab-button px-4 py-3 text-sm font-medium border-b-2 border-transparent"
1864                            data-tab="popular" role="tab" aria-selected="false">Popular Tools</button>
1865                    </div>
1866                </div>
1867                <div class="flex flex-wrap justify-center gap-3 text-center mb-8 fade-in" role="group"
1868                    aria-label="Category Filters">
1869                    <button class="quick-filter-btn px-4 py-2 text-sm active" data-category="all"
1870                        aria-pressed="true">All</button>
1871                    <button class="quick-filter-btn px-4 py-2 text-sm" data-category="image"
1872                        aria-pressed="false">Images</button>
1873                    <button class="quick-filter-btn px-4 py-2 text-sm" data-category="text"
1874                        aria-pressed="false">Writing</button>
1875                    <button class="quick-filter-btn px-4 py-2 text-sm" data-category="code"
1876                        aria-pressed="false">Coding</button>
1877                    <button class="quick-filter-btn px-4 py-2 text-sm" data-category="video"
1878                        aria-pressed="false">Video</button>
1879                    <button class="quick-filter-btn px-4 py-2 text-sm" data-category="audio"
1880                        aria-pressed="false">Audio</button>
1881                    <button class="quick-filter-btn px-4 py-2 text-sm" data-category="music"
1882                        aria-pressed="false">Music</button>
1883                    <button class="quick-filter-btn px-4 py-2 text-sm" data-category="design"
1884                        aria-pressed="false">Design</button>
1885                    <button class="quick-filter-btn px-4 py-2 text-sm" data-category="marketing"
1886                        aria-pressed="false">Marketing</button>
1887                    <button class="quick-filter-btn px-4 py-2 text-sm" data-category="productivity"
1888                        aria-pressed="false">Productivity</button>
1889                    <button class="quick-filter-btn px-4 py-2 text-sm" data-category="translation"
1890                        aria-pressed="false">Translation Tools</button>
1891                    <button class="quick-filter-btn px-4 py-2 text-sm" data-category="3d"
1892                        aria-pressed="false">3D</button>
1893                </div>
1894                <div class="flex justify-between items-center mb-6 fade-in">
1895                    <p id="results-count" class="text-sm text-gray-400">
1895Showing <span
1896                            class="font-medium text-white">9</span> tools</p>
1897                    <div class="flex items-center">
1898                        <label for="quick-sort" class="text-sm text-gray-400 mr-2">Sort by:</label>
1899                        <select id="quick-sort" class="text-sm rounded px-2 py-1">
1900                            <option value="popular">Most Popular</option>
1901                            <option value="newest">Newest</option>
1902                            <option value="name-asc">Alphabetical (A-Z)</option>
1903                            <option value="rating">Top Rated</option>
1904                        </select>
1905                    </div>
1906                </div>
1907                <div id="tools-container" class="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-6"></div>
1908                <div class="text-center mt-8 fade-in">
1909                    <button id="load-more-tools"
1910                        class="px-6 py-3 bg-primary text-white rounded-lg hover:bg-primary/90 transition flex items-center mx-auto">
1911                        <span>Load More</span>
1912                        <svg xmlns="http://www.w3.org/2000/svg" class="h-4 w-4" fill="none" viewBox="0 0 24 24"
1913                            stroke="currentColor" aria-hidden="true">
1914                            <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M19 9l-7 7-7-7">
1915                            </path>
1916                        </svg>
1917                    </button>
1918                </div>
1919            </div>
1920        </section>
1921
1922        <section class="py-12 px-4 bg-white dark:bg-darker fade-in">
1923            <div class="container mx-auto text-center">
1924                <h2 class="text-2xl font-bold mb-4">About the AI Tools Directory</h2>
1925                <p class="text-gray-600 dark:text-gray-300 mb-8 max-w-3xl mx-auto">We bring you the latest and greatest
1926                    AI tools, complete with comprehensive information. Choose the right tool for your needs by browsing
1927                    our extensive directory.</p>
1928                <div class="grid grid-cols-2 md:grid-cols-4 gap-8 max-w-3xl mx-auto">
1929                    <div class="bg-white dark:bg-dark rounded-lg p-6 shadow-sm fade-in" data-delay="100">
1930                        <div class="text-primary text-3xl font-bold counter" data-target="25">0</div>
1931                        <div class="text-gray-600 dark:text-gray-300">Different Categories</div>
1932                    </div>
1933                    <div class="bg-white dark:bg-dark rounded-lg p-6 shadow-sm fade-in" data-delay="200">
1934                        <div class="text-primary text-3xl font-bold counter" data-target="100">0</div>
1935                        <div class="text-gray-600 dark:text-gray-300">Free Services</div>
1936                    </div>
1937                    <div class="bg-white dark:bg-dark rounded-lg p-6 shadow-sm fade-in" data-delay="300">
1938                        <div class="text-primary text-3xl font-bold counter" data-target="10000">0</div>
1939                        <div class="text-gray-600 dark:text-gray-300">Registered Users</div>
1940                    </div>
1941                    <div class="bg-white dark:bg-dark rounded-lg p-6 shadow-sm fade-in" data-delay="400">
1942                        <div class="text-primary text-3xl font-bold counter" data-target="500">0</div>
1943                        <div class="text-gray-600 dark:text-gray-300">AI Tools</div>
1944                    </div>
1945                </div>
1946            </div>
1947        </section>
1948
1949        <section id="contact-section" class="py-12 px-4 bg-gray-50 dark:bg-dark fade-in">
1950            <div class="container mx-auto">
1951                <h2 class="text-2xl font-bold mb-8 text-center">Contact Us</h2>
1952                <div class="grid grid-cols-1 md:grid-cols-2 gap-8">
1953                    <div class="bg-white dark:bg-darker rounded-lg shadow-sm p-6 fade-in" data-delay="100">
1954                        <h3 class="font-bold text-xl mb-4">Contact Information</h3>
1955                        <div class="space-y-4">
1956                            <div>
1957                                <h4 class="font-medium">Address</h4>
1958                                <p class="text-gray-600 dark:text-gray-300">Rabat, Kingdom of Morocco</p>
1959                            </div>
1960                            <div>
1961                                <h4 class="font-medium">Email Address</h4>
1962                                <p class="text-gray-600 dark:text-gray-300"><a href="mailto:[email protected]"
1963                                        class="hover:text-primary">[email protected]</a></p>
1964                            </div>
1965                            <div>
1966                                <h4 class="font-medium">Phone Number</h4>
1967                                <p class="text-gray-600 dark:text-gray-300"><a href="tel:+212 626952174"
1968                                        class="hover:text-primary" dir="ltr">+212 626 952 171</a></p>
1969                            </div>
1970                            <!--<div>
1971                                <h4 class="font-medium">Social Media</h4>
1972                                <div class="flex gap-x-3 mt-2">
1973                                    <a href="#" class="text-gray-600 dark:text-gray-300 hover:text-primary"
1974                                        aria-label="Follow us on LinkedIn"><svg xmlns="http://www.w3.org/2000/svg"
1975                                            width="20" height="20" fill="currentColor" class="bi bi-linkedin"
1976                                            viewBox="0 0 16 16" aria-hidden="true">
1977                                            <path
1978                                                d="M0 1.146C0 .513.526 0 1.175 0h13.65C15.474 0 16 .513 16 1.146v13.708c0 .633-.526 1.146-1.175 1.146H1.175C.526 16 0 15.487 0 14.854V1.146zm4.943 12.248V6.169H2.542v7.225h2.401zm-1.2-8.212c.837 0 1.358-.554 1.358-1.248-.015-.709-.52-1.248-1.342-1.248-.822 0-1.359.54-1.359 1.248 0 .694.521 1.248 1.327 1.248h.016zm4.908 8.212V9.359c0-.216.016-.432.08-.586.173-.431.568-.878 1.232-.878.869 0 1.216.662 1.216 1.634v3.865h2.401V9.25c0-2.22-1.184-3.252-2.764-3.252-1.274 0-1.845.7-2.165 1.193v.025h-.016a5.54 5.54 0 0 1 .016-.025V6.169h-2.4c.03.678 0 7.225 0 7.225h2.4z">
1979                                            </path>
1980                                        </svg></a>
1981                                    <a href="mailto:[email protected]"
1982                                        class="text-gray-600 dark:text-gray-300 hover:text-primary"
1983                                        aria-label="Email us"><svg xmlns="http://www.w3.org/2000/svg" width="20"
1984                                            height="20" fill="currentColor" class="bi bi-envelope" viewBox="0 0 16 16"
1985                                            aria-hidden="true">
1986                                            <path
1987                                                d="M0 4a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V4Zm2-1a1 1 0 0 0-1 1v.217l7 4.2 7-4.2V4a1 1 0 0 0-1-1H2Zm13 2.383-4.708 2.825L15 11.105V5.383Zm-.034 6.876-5.64-3.471L8 9.583l-1.326-.795-5.64 3.47A1 1 0 0 0 2 13h12a1 1 0 0 0 .966-.741ZM1 11.105l4.708-2.897L1 5.383v5.722Z">
1988                                            </path>
1989                                        </svg></a>
1990                                    <a href="#" class="text-gray-600 dark:text-gray-300 hover:text-primary"
1991                                        aria-label="Follow us on Facebook"><svg xmlns="http://www.w3.org/2000/svg"
1992                                            width="20" height="20" fill="currentColor" class="bi bi-facebook"
1993                                            viewBox="0 0 16 16" aria-hidden="true">
1994                                            <path
1995                                                d="M16 8.049c0-4.446-3.582-8.05-8-8.05C3.58 0-.002 3.603-.002 8.05c0 4.017 2.926 7.347 6.75 7.951v-5.625h-2.03V8.05H6.75V6.275c0-2.017 1.195-3.131 3.022-3.131.876 0 1.791.157 1.791.157v1.98h-1.009c-.993 0-1.303.621-1.303 1.258v1.51h2.218l-.354 2.326H9.25V16c3.824-.604 6.75-3.934 6.75-7.951z">
1996                                            </path>
1997                                        </svg></a>
1998                                    <a href="#" class="text-gray-600 dark:text-gray-300 hover:text-primary"
1999                                        aria-label="Follow us on Twitter"><svg xmlns="http://www.w3.org/2000/svg"
2000                                            width="20" height="20" fill="currentColor" class="bi bi-twitter"
2001                                            viewBox="0 0 16 16" aria-hidden="true">
2002                                            <path
2003                                                d="M5.026 15c6.038 0 9.341-5.003 9.341-9.334 0-.14 0-.282-.006-.422A6.685 6.685 0 0 0 16 3.542a6.658 6.658 0 0 1-1.889.518 3.301 3.301 0 0 0 1.447-1.817 6.533 6.533 0 0 1-2.087.793A3.286 3.286 0 0 0 7.875 6.03a9.325 9.325 0 0 1-6.767-3.429 3.289 3.289 0 0 0 1.018 4.382A3.323 3.323 0 0 1 .64 6.575v.045a3.288 3.288 0 0 0 2.632 3.218 3.203 3.203 0 0 1-.865.115 3.23 3.23 0 0 1-.614-.057 3.283 3.283 0 0 0 3.067 2.277A6.588 6.588 0 0 1 .78 13.58a6.32 6.32 0 0 1-.78-.045A9.344 9.344 0 0 0 5.026 15z">
2004                                            </path>
2005                                        </svg></a>
2006                                </div>
2007                            </div>-->
2008                        </div>
2009                    </div>
2010                    <div class="bg-white dark:bg-darker rounded-lg shadow-sm p-6 fade-in" data-delay="200">
2011                        <form id="contact-form" action="https://formspree.io/f/xnnvgkrb" method="POST">
2012                            <div class="mb-4">
2013                                <label for="name" class="block mb-2">Name</label>
2014                                <input type="text" id="name" name="name"
2015                                    class="w-full bg-gray-50 dark:bg-dark border border-gray-300 dark:border-gray-700 rounded-lg px-4 py-2 text-base"
2016                                    required="" maxlength="50" aria-describedby="name-error">
2017                                <div id="name-error" class="text-red-500 text-xs mt-1 hidden" role="alert"></div>
2018                            </div>
2019                            <div class="mb-4">
2020                                <label for="email" class="block mb-2">Email</label>
2021                                <input type="email" id="email" name="email"
2022                                    class="w-full bg-gray-50 dark:bg-dark border border-gray-300 dark:border-gray-700 rounded-lg px-4 py-2 text-base"
2023                                    required="" maxlength="254" aria-describedby="email-error">
2024                                <div id="email-error" class="text-red-500 text-xs mt-1 hidden" role="alert"></div>
2025                            </div>
2026                            <div class="mb-4">
2027                                <label for="subject" class="block mb-2">Subject</label>
2028                                <input type="text" id="subject" name="subject"
2029                                    class="w-full bg-gray-50 dark:bg-dark border border-gray-300 dark:border-gray-700 rounded-lg px-4 py-2 text-base"
2030                                    required="" maxlength="100" aria-describedby="subject-error">
2031                                <div id="subject-error" class="text-red-500 text-xs mt-1 hidden" role="alert"></div>
2032                            </div>
2033                            <div class="mb-4">
2034                                <label for="message" class="block mb-2">Message</label>
2035                                <textarea id="message" name="message" rows="4"
2036                                    class="w-full bg-gray-50 dark:bg-dark border border-gray-300 dark:border-gray-700 rounded-lg px-4 py-2 text-base"
2037                                    required="" maxlength="1000" aria-describedby="message-error"></textarea>
2038                                <div id="message-error" class="text-red-500 text-xs mt-1 hidden" role="alert"></div>
2039                            </div>
2040                            <button type="submit" id="send-message"
2041                                class="w-full bg-primary text-white py-2 rounded-lg hover:bg-primary/90 transition">Send
2042                                Message</button>
2043                        </form>
2044                    </div>
2045                </div>
2046            </div>
2047        </section>
2048
2049        <section class="py-12 px-4 bg-primary text-white fade-in">
2050            <div class="container mx-auto text-center">
2051                <h2 class="text-2xl font-bold mb-3">Subscribe to Our Newsletter</h2>
2052                <p class="mb-6">Get the latest AI tool updates delivered directly to your inbox.</p>
2053                <button type="button" id="open-newsletter-modal-btn"
2054                    class="bg-white text-primary font-medium px-8 py-3 rounded-lg hover:bg-gray-100 transition text-lg">Subscribe
2055                    Now</button>
2056            </div>
2057        </section>
2058    </main>
2059
2060    <footer class="bg-white dark:bg-dark border-t border-gray-200 dark:border-gray-700">
2061        <div class="container mx-auto px-4 py-8">
2062            <div class="grid grid-cols-1 md:grid-cols-4 gap-8">
2063                <div class="md:col-span-2">
2064                    <h3 class="text-xl font-bold text-primary mb-4">AI Tools Hub</h3>
2065                    <p class="text-gray-600 dark:text-gray-400 mb-4">We provide you with the latest and best AI tools,
2066                        featuring practical guides and comprehensive reviews. Discover how to leverage modern technology
2067                        to grow your business and projects.</p>
2068                </div>
2069                <div>
2070                    <h4 class="font-bold mb-4 text-gray-800 dark:text-white">Quick Links</h4>
2071                    <ul class="space-y-2">
2072                        <li>
2073                            <a href="/ads/advertise.html" class="hover:text-primary transition-colors">
2074                                Advertise with us <span class="text-[10px] text-yellow-500">★</span>
2075                            </a>
2076                        </li>
2077                        <li><a href="index.html"
2078                                class="text-gray-600 dark:text-gray-400 hover:text-primary transition-colors">Home</a>
2079                        </li>
2080                        <!-- <li><a href="blog/index.html"
2081                                class="text-gray-600 dark:text-gray-400 hover:text-primary transition-colors">Blog</a>
2082                        </li> -->
2083                        <li><a href="library.html"
2084                                class="text-gray-600 dark:text-gray-400 hover:text-primary transition-colors">Tools</a>
2085                        </li>
2086                        <li><a href="prompt/image-editing-prompts.html"
2087                                class="text-gray-600 dark:text-gray-400 hover:text-primary transition-colors">Library
2088                                Prompts</a>
2089                        </li>
2090                    </ul>
2091                </div>
2092                <div>
2093                    <h4 class="font-bold mb-4 text-gray-800 dark:text-white">Content Categories</h4>
2094                    <ul class="space-y-2">
2095                        <li><a href="#tools-section"
2096                                class="text-gray-600 dark:text-gray-400 hover:text-primary transition-colors category-footer-link"
2097                                data-category="audio">Audio Generation</a></li>
2098                        <li><a href="#tools-section"
2099                                class="text-gray-600 dark:text-gray-400 hover:text-primary transition-colors category-footer-link"
2100                                data-category="video">Video Generation</a></li>
2101                        <li><a href="#tools-section"
2102                                class="text-gray-600 dark:text-gray-400 hover:text-primary transition-colors category-footer-link"
2103                                data-category="text">Text Generation</a></li>
2104                        <li><a href="#tools-section"
2105                                class="text-gray-600 dark:text-gray-400 hover:text-primary transition-colors category-footer-link"
2106                                data-category="design">Design Tools</a></li>
2107                    </ul>
2108                </div>
2109            </div>
2110            <hr class="my-8 border-gray-200 dark:border-gray-700">
2111            <div
2112                class="flex flex-col md:flex-row justify-between items-center text-sm text-gray-500 dark:text-gray-400">
2113                <div class="mb-4 md:mb-0">
2114                    <p>© 2025 AI Tools Hub. All rights reserved.</p>
2115                </div>
2116                <div class="flex flex-wrap gap-x-6 gap-y-2 justify-center">
2117                    <a href="privacy-policy.html" class="hover:text-primary transition-colors">Privacy Policy</a>
2118                    <a href="terms-of-use.html" class="hover:text-primary transition-colors">Terms of Use</a>
2119                    <a href="disclaimer.html" class="hover:text-primary transition-colors">Disclaimer</a>
2120                    <a href="about-us.html" class="hover:text-primary transition-colors">About Us</a>
2121                    <a href="contact.html" class="hover:text-primary transition-colors footer-link"
2122                        data-target="contact">Contact Us</a>
2123                </div>
2124            </div>
2125        </div>
2126    </footer>
2127
2128    <div id="newsletter-modal-overlay"
2129        class="fixed inset-0 bg-black bg-opacity-60 z-[2002] hidden items-center justify-center p-4" role="dialog"
2130        aria-modal="true" aria-labelledby="newsletter-modal-title">
2131        <div id="newsletter-modal-content" class="bg-white dark:bg-dark w-full max-w-md rounded-xl shadow-2xl">
2132            <div class="flex justify-between items-center p-5 border-b border-gray-200 dark:border-gray-700">
2133                <h3 id="newsletter-modal-title" class="text-xl font-bold text-secondary">Join Our Newsletter!</h3>
2134                <button id="modal-close-btn"
2135                    class="text-gray-400 hover:text-gray-800 dark:hover:text-white transition-colors"
2136                    aria-label="Close">
2137                    <i class="fas fa-times text-2xl"></i>
2138                </button>
2139            </div>
2140            <div class="p-6">
2141                <p class="mb-5 text-gray-600 dark:text-gray-300">Be the first to get the latest guides and reviews in
2142                    the world of AI.</p>
2143                <form id="newsletter-modal-form" action="https://formspree.io/f/xpwryvwa" method="POST">
2144                    <div class="mb-4">
2145                        <label for="modal-email-input"
2146                            class="block text-sm font-medium text-gray-700 dark:text-gray-200 mb-2">Your Email</label>
2147                        <div class="relative">
2148                            <i class="fas fa-at absolute top-1/2 -translate-y-1/2 left-3 text-gray-400"></i>
2149                            <input type="email" id="modal-email-input" name="email" required
2150                                class="w-full pl-10 pr-4 py-2 border border-gray-300 dark:border-gray-600 rounded-lg bg-gray-50 dark:bg-gray-700 focus:ring-2 focus:ring-secondary focus:border-secondary transition"
2151                                placeholder="[email protected]">
2152                        </div>
2153                    </div>
2154                    <div class="mb-6">
2155                        <label for="modal-feedback-input"
2156                            class="block text-sm font-medium text-gray-700 dark:text-gray-200 mb-2">Your Feedback
2157                            Matters (Optional)</label>
2158                        <textarea id="modal-feedback-input" name="feedback" rows="3"
2159                            class="w-full px-4 py-2 border border-gray-300 dark:border-gray-600 rounded-lg bg-gray-50 dark:bg-gray-700 focus:ring-2 focus:ring-secondary focus:border-secondary transition"
2160                            placeholder="Suggestions, constructive criticism, or just a thank you..."></textarea>
2161                    </div>
2162                    <button type="submit" id="modal-submit-btn"
2163                        class="w-full bg-secondary text-white font-bold py-3 px-4 rounded-lg hover:bg-secondary/80 focus:outline-none focus:ring-4 focus:ring-indigo-300 transition-all duration-300 flex items-center justify-center">
2164                        <span>Subscribe Now</span>
2165                    </button>
2166                </form>
2167                <p class="text-xs text-gray-500 mt-4 text-center">We respect your privacy. No spam.</p>
2168            </div>
2169        </div>
2170    </div>
2171  
2172     
2172<script nonce="secure123">
2173    (function() {
2174        const slides = document.querySelectorAll('.slide-item-en');
2175        const caption = document.getElementById('slide-caption-en');
2176        const captions = ["Multi-Agent Build", "Deep Research", "Race Mode Parallel", "Data Analytics", "Atoms Backend"];
2177        let currentSlide = 0;
2178
2179        function nextSlide() {
2180            if(!slides.length) return;
2181            slides[currentSlide].classList.remove('opacity-100');
2182            slides[currentSlide].classList.add('opacity-0');
2183            currentSlide = (currentSlide + 1) % slides.length;
2184            slides[currentSlide].classList.remove('opacity-0');
2185            slides[currentSlide].classList.add('opacity-100');
2186            caption.textContent = captions[currentSlide];
2187        }
2188        setInterval(nextSlide, 3500);
2189    })();
2190</script>
2190
2191    <!-- === END: COMPACT PREMIUM BANNER === -->
2192
2193    
2193<script src="tools-data.js" nonce="secure123"></script>
2193
2194    
2194<script src="main-tools-script.js" nonce="secure123" defer></script>
2194
2195</body>
2196
2197</html>

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.