opticparse-python / docs /404.html
Nanny7's picture
initial deploy
bcf46c3
Raw
History Blame Contribute Delete
5.83 kB
<!DOCTYPE html>
<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>