Spaces:
Paused
Paused
| <html lang="en"> | |
| <head> | |
| <meta charset="UTF-8" /> | |
| <meta name="viewport" content="width=device-width, initial-scale=1.0" /> | |
| <title>404 Page Not Found — Opticparse</title> | |
| <meta name="description" content="The page you are looking for does not exist." /> | |
| <meta name="theme-color" content="#0a0a12" /> | |
| <link rel="preconnect" href="https://fonts.googleapis.com" /> | |
| <link href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800;900&family=JetBrains+Mono:wght@400;500&display=swap" rel="stylesheet" /> | |
| <style> | |
| *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; } | |
| :root { | |
| --bg: #0a0a12; --bg2: #0f0f1a; --bg3: #13131f; | |
| --border: rgba(255,255,255,0.07); --text: #e8e8f0; --muted: #7c7c9a; | |
| --purple: #8b5cf6; --purple2: #6d28d9; --cyan: #06b6d4; --cyan2: #0891b2; | |
| } | |
| html { scroll-behavior: smooth; } | |
| body { font-family: 'Inter', sans-serif; background: var(--bg); color: var(--text); line-height: 1.6; overflow-x: hidden; display: flex; flex-direction: column; min-height: 100vh; } | |
| /* NAV */ | |
| nav { | |
| position: fixed; top: 0; left: 0; right: 0; z-index: 100; | |
| display: flex; align-items: center; justify-content: space-between; | |
| padding: 1rem 2rem; | |
| background: rgba(10,10,18,0.85); backdrop-filter: blur(16px); | |
| border-bottom: 1px solid var(--border); | |
| } | |
| .nav-logo { font-weight: 800; font-size: 1.1rem; letter-spacing: -0.5px; text-decoration: none; } | |
| .nav-logo span { background: linear-gradient(135deg, var(--purple), var(--cyan)); -webkit-background-clip: text; -webkit-text-fill-color: transparent; } | |
| .nav-links { display: flex; gap: 2rem; } | |
| .nav-links a { color: var(--muted); text-decoration: none; font-size: 0.9rem; font-weight: 500; transition: color .2s; } | |
| .nav-links a:hover { color: var(--text); } | |
| .nav-cta { background: linear-gradient(135deg, var(--purple), var(--cyan)); color: #fff; border: none; padding: .5rem 1.2rem; border-radius: 8px; font-weight: 600; font-size: .85rem; cursor: pointer; text-decoration: none; transition: opacity .2s; } | |
| .nav-cta:hover { opacity: .85; } | |
| /* HERO */ | |
| .hero { flex: 1; display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 8rem 2rem 4rem; text-align: center; position: relative; overflow: hidden; } | |
| .hero::before { content: ''; position: absolute; inset: 0; background: radial-gradient(ellipse 80% 60% at 50% 0%, rgba(139,92,246,.15), transparent), radial-gradient(ellipse 60% 50% at 80% 80%, rgba(6,182,212,.1), transparent); pointer-events: none; } | |
| .hero h1 { font-size: clamp(4rem, 10vw, 8rem); font-weight: 900; line-height: 1.05; letter-spacing: -2px; margin-bottom: 1rem; animation: fadeUp .7s .1s ease both; background: linear-gradient(135deg, var(--purple), var(--cyan)); -webkit-background-clip: text; -webkit-text-fill-color: transparent; } | |
| .hero h2 { font-size: 2rem; font-weight: 700; margin-bottom: 1rem; animation: fadeUp .7s .2s ease both; } | |
| .hero p { font-size: 1.15rem; color: var(--muted); max-width: 600px; margin: 0 auto 2.5rem; animation: fadeUp .7s .3s ease both; } | |
| .hero-btns { display: flex; gap: 1rem; justify-content: center; flex-wrap: wrap; animation: fadeUp .7s .4s ease both; } | |
| .btn-primary { background: linear-gradient(135deg, var(--purple), var(--cyan)); color: #fff; padding: .8rem 1.8rem; border-radius: 10px; text-decoration: none; font-weight: 700; font-size: .95rem; transition: transform .2s, opacity .2s; } | |
| .btn-primary:hover { transform: translateY(-2px); opacity: .9; } | |
| .btn-outline { border: 1px solid var(--border); color: var(--text); padding: .8rem 1.8rem; border-radius: 10px; text-decoration: none; font-weight: 600; font-size: .95rem; transition: background .2s; } | |
| .btn-outline:hover { background: rgba(255,255,255,.05); } | |
| /* FOOTER */ | |
| footer { border-top: 1px solid var(--border); padding: 2.5rem 2rem; text-align: center; color: var(--muted); font-size: .85rem; background: var(--bg); position: relative; z-index: 10;} | |
| footer a { color: var(--muted); text-decoration: none; } | |
| footer a:hover { color: var(--text); } | |
| .footer-links { display: flex; gap: 2rem; justify-content: center; flex-wrap: wrap; margin-bottom: 1rem; } | |
| /* ANIMATIONS */ | |
| @keyframes fadeUp { from { opacity: 0; transform: translateY(20px); } to { opacity: 1; transform: translateY(0); } } | |
| @media (max-width: 768px) { | |
| .nav-links { display: none; } | |
| } | |
| </style> | |
| </head> | |
| <body> | |
| <nav> | |
| <a href="/" class="nav-logo"><span>Opticparse</span> & PhishVision</a> | |
| <div class="nav-links"> | |
| <a href="https://github.com/parastejpal987-cmyk/opticparse" target="_blank">GitHub</a> | |
| </div> | |
| <a href="https://dashboard.opticparse.com" target="_blank" class="nav-cta">Try Free →</a> | |
| </nav> | |
| <div class="hero"> | |
| <h1>404</h1> | |
| <h2>Page Not Found</h2> | |
| <p>The page you're looking for doesn't exist or has been moved.</p> | |
| <div class="hero-btns"> | |
| <a href="https://opticparse.com" class="btn-primary">Go to Homepage</a> | |
| <a href="https://dashboard.opticparse.com" class="btn-outline">Open Dashboard</a> | |
| </div> | |
| </div> | |
| <footer> | |
| <div class="footer-links"> | |
| <a href="https://dashboard.opticparse.com" target="_blank">Opticparse Dashboard</a> | |
| <a href="https://dashboard.opticparse.com" target="_blank">PhishVision Dashboard</a> | |
| <a href="https://github.com/parastejpal987-cmyk/opticparse" target="_blank">GitHub (MIT)</a> | |
| <a href="https://dev.to/parastejpal987cmyk" target="_blank">Dev.to Articles</a> | |
| </div> | |
| <p>Built with Playwright, FastAPI, Groq & Gemini Vision. Deployed on Render (Singapore). © 2026<br> | |
| <a href="/privacy.html">Privacy Policy</a> · <a href="/terms.html">Terms of Service</a></p> | |
| </footer> | |
| </body> | |
| </html> | |