feat: standalone landing page — true blacks, multi-section corporate homepage

- Standalone HTML landing page overrides Docusaurus root
- Hero with logo, product cards, stats bar, CRM banner, network grid
- Docusaurus handles /about, /products, /build inner pages
- True black (#030303) palette, neon green (#00FF88) accent
- Mobile-first responsive
This commit is contained in:
Crypto Rug Munch 2026-07-09 20:51:27 +07:00
parent 7aada32692
commit 3219898fdd
6 changed files with 283 additions and 233 deletions

View file

@ -81,7 +81,7 @@ const config: Config = {
href: 'https://git.rugmunch.io/RugMunchMedia',
label: 'Our Code',
position: 'right',
className: 'navbar-forgejo-link',
className: 'navbar-our-git-link',
},
],
},

View file

@ -1,256 +1,106 @@
/* ── Rug Munch Media — $100K Dark Design System ──────────── */
/* Palette sampled from actual logos: deep indigo-black + neon green */
/* ── Rug Munch Media — True Black + Neon Green ───────────── */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800;900&family=JetBrains+Mono:wght@400;500;700&display=swap');
:root {
--rmi-bg-deepest: #060510;
--rmi-bg-primary: #08081A;
--rmi-bg-secondary: #0C0A1E;
--rmi-bg-card: #0F0D24;
--rmi-bg-elevated: #12102C;
--rmi-bg-glass: rgba(8, 8, 26, 0.85);
--rmi-border: #1A1738;
--rmi-border-light: #221F44;
--rmi-text-primary: #F0EEFA;
--rmi-text-secondary: #8A86A8;
--rmi-text-muted: #4E4A6E;
--rmi-accent: #00FF88;
--rmi-accent-alt: #0DFA84;
--rmi-accent-glow: rgba(0, 255, 136, 0.15);
--rmi-accent-subtle: rgba(0, 255, 136, 0.04);
--rmi-purple-glow: rgba(100, 60, 255, 0.08);
--rmi-red: #FF4466;
--rmi-font-body: 'Inter', system-ui, sans-serif;
--rmi-font-mono: 'JetBrains Mono', 'Fira Code', monospace;
--rmi-radius: 14px;
--rmi-radius-sm: 8px;
--rmi-shadow: 0 4px 24px rgba(0,0,0,0.5);
--rmi-shadow-lg: 0 12px 48px rgba(0,0,0,0.7);
--rmi-shadow-glow: 0 0 40px rgba(0,255,136,0.06);
--rmi-transition: 0.22s cubic-bezier(0.4, 0, 0.2, 1);
--bg-deepest: #030303;
--bg-primary: #060606;
--bg-secondary: #0A0A0A;
--bg-card: #0E0E0E;
--bg-elevated: #141414;
--bg-glass: rgba(6,6,6,0.92);
--border: #1C1C1C;
--border-light: #262626;
--text-primary: #F5F5F5;
--text-secondary: #8A8A8A;
--text-muted: #4A4A4A;
--accent: #00FF88;
--accent-glow: rgba(0,255,136,0.16);
--accent-subtle: rgba(0,255,136,0.05);
--red: #FF4466;
--font-body: Inter, system-ui, sans-serif;
--font-mono: 'JetBrains Mono', 'Fira Code', monospace;
--radius: 12px;
--radius-sm: 7px;
--shadow: 0 4px 20px rgba(0,0,0,0.6);
--shadow-lg: 0 12px 48px rgba(0,0,0,0.8);
--transition: 0.2s cubic-bezier(0.4, 0, 0.2, 1);
}
/* ── Base ────────────────────────────────────────────────── */
html {
background: var(--rmi-bg-deepest);
scroll-behavior: smooth;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
}
body {
background: var(--rmi-bg-deepest);
color: var(--rmi-text-primary);
font-family: var(--rmi-font-body);
font-size: 15px;
line-height: 1.7;
letter-spacing: -0.005em;
}
html { background: var(--bg-deepest); scroll-behavior: smooth; -webkit-font-smoothing: antialiased; }
body { background: var(--bg-deepest); color: var(--text-primary); font-family: var(--font-body); font-size: 15px; line-height: 1.7; }
/* ── Navbar — Deep Glass ────────────────────────────────── */
.navbar {
background: var(--rmi-bg-glass);
backdrop-filter: blur(28px) saturate(200%);
-webkit-backdrop-filter: blur(28px) saturate(200%);
border-bottom: 1px solid rgba(0, 255, 136, 0.04);
height: 58px;
box-shadow: 0 1px 0 rgba(0,0,0,0.4);
}
/* Navbar — true black glass */
.navbar { background: rgba(3,3,3,0.92); backdrop-filter: blur(32px); -webkit-backdrop-filter: blur(32px); border-bottom: 1px solid rgba(255,255,255,0.04); height: 56px; }
.navbar__brand { font-weight: 700; letter-spacing: -0.02em; }
.navbar__title { font-weight: 700; letter-spacing: -0.02em; font-size: 1.05rem; }
.navbar__link {
font-weight: 500; font-size: 0.84rem; color: var(--rmi-text-secondary) !important;
padding: 8px 14px; border-radius: 6px; transition: all var(--rmi-transition);
}
.navbar__link:hover, .navbar__link--active {
color: var(--rmi-accent) !important;
background: var(--rmi-accent-subtle);
}
.navbar__link { font-weight: 500; font-size: 0.84rem; color: var(--text-secondary) !important; padding: 8px 14px; border-radius: 6px; transition: all var(--transition); }
.navbar__link:hover, .navbar__link--active { color: var(--accent) !important; background: var(--accent-subtle); }
/* ── Typography — Bold, Modern ──────────────────────────── */
h1, h2, h3, h4, h5, h6 {
font-family: var(--rmi-font-body);
font-weight: 700;
letter-spacing: -0.025em;
color: var(--rmi-text-primary);
line-height: 1.12;
}
h1 { font-size: 3rem; font-weight: 900; letter-spacing: -0.04em; }
/* Typography — bold, sharp */
h1, h2, h3, h4, h5, h6 { font-family: var(--font-body); font-weight: 700; letter-spacing: -0.03em; color: var(--text-primary); line-height: 1.1; }
h1 { font-size: 3rem; font-weight: 900; }
h2 { font-size: 2rem; font-weight: 800; }
h3 { font-size: 1.35rem; font-weight: 700; }
h4 { font-size: 1.1rem; font-weight: 600; }
p { color: var(--rmi-text-secondary); line-height: 1.7; }
h3 { font-size: 1.35rem; }
p { color: var(--text-secondary); line-height: 1.7; }
/* ── Links ─────────────────────────────────────────────── */
a { color: var(--rmi-accent); text-decoration: none; transition: all var(--rmi-transition); }
a:hover { color: var(--rmi-accent-alt); text-decoration: underline; text-underline-offset: 4px; }
a { color: var(--accent); text-decoration: none; transition: all var(--transition); }
a:hover { color: var(--accent); text-decoration: underline; text-underline-offset: 4px; }
/* ── Code ──────────────────────────────────────────────── */
code {
font-family: var(--rmi-font-mono) !important;
background: var(--rmi-bg-elevated);
border: 1px solid var(--rmi-border);
border-radius: 5px; padding: 2px 8px;
font-size: 0.85em; color: var(--rmi-accent);
}
pre {
background: var(--rmi-bg-elevated) !important;
border: 1px solid var(--rmi-border);
border-radius: var(--rmi-radius);
box-shadow: var(--rmi-shadow);
}
pre code { background: none; border: none; padding: 0; color: var(--rmi-text-primary); }
code { font-family: var(--font-mono) !important; background: var(--bg-elevated); border: 1px solid var(--border); border-radius: 4px; padding: 2px 7px; font-size: 0.85em; color: var(--accent); }
pre { background: var(--bg-elevated) !important; border: 1px solid var(--border); border-radius: var(--radius); box-shadow: var(--shadow); }
pre code { background: none; border: none; padding: 0; color: var(--text-primary); }
/* ── Cards — Glass Elevated ────────────────────────────── */
.article-card {
background: var(--rmi-bg-card);
border: 1px solid var(--rmi-border);
border-radius: var(--rmi-radius);
transition: all var(--rmi-transition);
box-shadow: var(--rmi-shadow);
}
.article-card:hover {
border-color: var(--rmi-accent);
box-shadow: var(--rmi-shadow-lg), var(--rmi-shadow-glow);
transform: translateY(-2px);
}
/* ── Tables ────────────────────────────────────────────── */
table {
border-collapse: separate; border-spacing: 0; width: 100%;
border: 1px solid var(--rmi-border); border-radius: var(--rmi-radius); overflow: hidden;
}
thead th {
background: var(--rmi-bg-elevated); color: var(--rmi-text-primary);
font-weight: 600; font-size: 0.78rem; text-transform: uppercase;
letter-spacing: 0.07em; padding: 14px 20px; border-bottom: 1px solid var(--rmi-border);
}
tbody td {
background: var(--rmi-bg-card); color: var(--rmi-text-secondary);
padding: 13px 20px; border-bottom: 1px solid rgba(26,23,56,0.4); font-size: 0.88rem;
}
table { border-collapse: separate; border-spacing: 0; width: 100%; border: 1px solid var(--border); border-radius: var(--radius); overflow: hidden; }
thead th { background: var(--bg-elevated); color: var(--text-primary); font-weight: 600; font-size: 0.78rem; text-transform: uppercase; letter-spacing: 0.07em; padding: 14px 20px; border-bottom: 1px solid var(--border); }
tbody td { background: var(--bg-card); color: var(--text-secondary); padding: 12px 20px; border-bottom: 1px solid rgba(28,28,28,0.5); font-size: 0.88rem; }
tbody tr:last-child td { border-bottom: none; }
tbody tr:hover td { background: var(--rmi-bg-elevated); }
tbody tr:hover td { background: var(--bg-elevated); }
/* ── Footer ────────────────────────────────────────────── */
.footer {
background: var(--rmi-bg-secondary) !important;
border-top: 1px solid rgba(0,255,136,0.03);
padding: 60px 0 40px;
}
.footer__title {
font-weight: 700; font-size: 0.78rem; text-transform: uppercase;
letter-spacing: 0.09em; color: var(--rmi-text-primary); margin-bottom: 18px;
}
.footer { background: var(--bg-secondary) !important; border-top: 1px solid rgba(255,255,255,0.03); padding: 60px 0 40px; }
.footer__title { font-weight: 700; font-size: 0.78rem; text-transform: uppercase; letter-spacing: 0.09em; color: var(--text-primary); margin-bottom: 18px; }
.footer__item { margin-bottom: 8px; }
.footer__link-item {
color: var(--rmi-text-secondary); font-size: 0.82rem; transition: color var(--rmi-transition);
}
.footer__link-item:hover { color: var(--rmi-accent); text-decoration: none; }
.footer__copyright {
color: var(--rmi-text-muted); font-size: 0.76rem;
margin-top: 36px; padding-top: 24px; border-top: 1px solid var(--rmi-border);
}
.footer__link-item { color: var(--text-secondary); font-size: 0.82rem; }
.footer__link-item:hover { color: var(--accent); text-decoration: none; }
.footer__copyright { color: var(--text-muted); font-size: 0.76rem; margin-top: 36px; padding-top: 24px; border-top: 1px solid var(--border); }
/* ── Scrollbar ──────────────────────────────────────────── */
::-webkit-scrollbar { width: 5px; }
::-webkit-scrollbar-track { background: var(--rmi-bg-deepest); }
::-webkit-scrollbar-thumb { background: var(--rmi-border); border-radius: 3px; }
::-webkit-scrollbar-thumb:hover { background: var(--rmi-accent); }
::-webkit-scrollbar-track { background: var(--bg-deepest); }
::-webkit-scrollbar-thumb { background: var(--border); border-radius: 3px; }
::-webkit-scrollbar-thumb:hover { background: var(--accent); }
/* ── Selection / Focus ──────────────────────────────────── */
::selection { background: rgba(0,255,136,0.22); color: #fff; }
:focus-visible { outline: 2px solid var(--rmi-accent); outline-offset: 4px; border-radius: 4px; }
::selection { background: rgba(0,255,136,0.22); color: #000; }
:focus-visible { outline: 2px solid var(--accent); outline-offset: 4px; border-radius: 4px; }
/* ── Reduced Motion ─────────────────────────────────────── */
@media (prefers-reduced-motion: reduce) {
*, *::before, *::after { animation-duration: 0.01ms !important; transition-duration: 0.01ms !important; }
}
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { animation-duration:0.01ms !important; transition-duration:0.01ms !important; } }
/* ── Sidebar ────────────────────────────────────────────── */
.menu__link {
color: var(--rmi-text-secondary); font-size: 0.85rem; border-radius: 6px;
transition: all var(--rmi-transition);
}
.menu__link:hover { color: var(--rmi-text-primary); background: var(--rmi-bg-elevated); }
.menu__link--active { color: var(--rmi-accent) !important; background: var(--rmi-accent-subtle); }
.theme-doc-sidebar-container { border-right: 1px solid var(--rmi-border) !important; }
.menu__link { color: var(--text-secondary); font-size: 0.85rem; border-radius: 6px; transition: all var(--transition); }
.menu__link:hover { color: var(--text-primary); background: var(--bg-elevated); }
.menu__link--active { color: var(--accent) !important; background: var(--accent-subtle); }
.theme-doc-sidebar-container { border-right: 1px solid var(--border) !important; }
/* ── Buttons — Premium Feel ─────────────────────────────── */
.rmi-btn {
display: inline-flex; align-items: center; gap: 8px;
font-weight: 600; font-size: 0.88rem;
padding: 14px 32px; border-radius: var(--rmi-radius-sm);
cursor: pointer; transition: all var(--rmi-transition);
text-decoration: none !important; font-family: var(--rmi-font-body);
letter-spacing: -0.01em; position: relative; overflow: hidden;
}
.rmi-btn--primary {
background: var(--rmi-accent); color: #000 !important; border: none;
box-shadow: 0 0 0 0 rgba(0,255,136,0);
}
.rmi-btn--primary:hover {
background: #1aff94; transform: translateY(-2px);
box-shadow: 0 8px 32px rgba(0,255,136,0.28);
}
.rmi-btn--primary:active { transform: translateY(0); box-shadow: 0 2px 12px rgba(0,255,136,0.2); }
.rmi-btn--secondary {
background: transparent; color: var(--rmi-text-primary);
border: 1px solid var(--rmi-border-light);
}
.rmi-btn--secondary:hover {
border-color: var(--rmi-accent); color: var(--rmi-accent);
box-shadow: 0 0 20px rgba(0,255,136,0.06);
}
.rmi-btn--ghost {
background: transparent; color: var(--rmi-text-secondary);
border: none; padding: 8px 16px;
}
.rmi-btn--ghost:hover { color: var(--rmi-accent); }
.article-card { background: var(--bg-card); border: 1px solid var(--border); border-radius: var(--radius); transition: all var(--transition); box-shadow: var(--shadow); }
.article-card:hover { border-color: var(--accent); box-shadow: var(--shadow-lg); transform: translateY(-2px); }
/* ── Badges ──────────────────────────────────────────────── */
.rmi-badge {
display: inline-flex; align-items: center; gap: 6px;
font-size: 0.66rem; font-weight: 700; text-transform: uppercase;
letter-spacing: 0.09em; padding: 5px 12px; border-radius: 5px;
}
.rmi-badge--live {
background: rgba(0,255,136,0.06); color: var(--rmi-accent);
border: 1px solid rgba(0,255,136,0.15);
}
.rmi-badge--coming {
background: rgba(0,255,136,0.03); color: var(--rmi-accent);
border: 1px solid rgba(0,255,136,0.10);
}
/* Buttons */
.rmi-btn { display: inline-flex; align-items: center; gap: 8px; font-weight: 600; font-size: 0.88rem; padding: 14px 32px; border-radius: var(--radius-sm); cursor: pointer; transition: all var(--transition); text-decoration: none !important; font-family: var(--font-body); }
.rmi-btn--primary { background: var(--accent); color: #000 !important; border: none; }
.rmi-btn--primary:hover { background: #1aff94; transform: translateY(-2px); box-shadow: 0 8px 32px rgba(0,255,136,0.28); }
.rmi-btn--primary:active { transform: translateY(0); }
.rmi-btn--secondary { background: transparent; color: var(--text-primary); border: 1px solid var(--border-light); }
.rmi-btn--secondary:hover { border-color: var(--accent); color: var(--accent); box-shadow: 0 0 20px rgba(0,255,136,0.06); }
.rmi-btn--ghost { background: transparent; color: var(--text-secondary); border: none; padding: 8px 16px; }
.rmi-btn--ghost:hover { color: var(--accent); }
/* ── Live Dot ───────────────────────────────────────────── */
@keyframes pulse {
0%, 100% { opacity: 1; transform: scale(1); }
50% { opacity: 0.3; transform: scale(0.75); }
}
.rmi-status-live {
display: inline-block; width: 6px; height: 6px;
background: var(--rmi-accent); border-radius: 50%;
box-shadow: 0 0 10px var(--rmi-accent);
animation: pulse 2.2s ease-in-out infinite;
}
.rmi-badge { display: inline-flex; align-items: center; gap: 6px; font-size: 0.66rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.09em; padding: 5px 12px; border-radius: 5px; }
.rmi-badge--live { background: rgba(0,255,136,0.06); color: var(--accent); border: 1px solid rgba(0,255,136,0.14); }
.rmi-badge--coming { background: rgba(0,255,136,0.03); color: var(--accent); border: 1px solid rgba(0,255,136,0.10); }
/* ── Nav Icon ────────────────────────────────────────────── */
.navbar-forgejo-link::before { content: '⊞'; margin-right: 5px; font-weight: 700; }
@keyframes pulse { 0%,100% { opacity:1; transform:scale(1) } 50% { opacity:0.3; transform:scale(0.75) } }
.rmi-status-live { display: inline-block; width: 6px; height: 6px; background: var(--accent); border-radius: 50%; box-shadow: 0 0 10px var(--accent); animation: pulse 2.2s ease-in-out infinite; }
/* ── Responsive ──────────────────────────────────────────── */
@media (max-width: 996px) {
h1 { font-size: 2.2rem; } h2 { font-size: 1.6rem; }
.navbar { height: 52px; } .footer { padding: 44px 0 32px; }
}
@media (max-width: 480px) {
h1 { font-size: 1.7rem; } h2 { font-size: 1.3rem; }
body { font-size: 14px; }
.rmi-btn { padding: 11px 22px; font-size: 0.82rem; }
}
@media (max-width:996px) { h1{font-size:2.2rem} h2{font-size:1.6rem} .footer{padding:44px 0 32px} }
@media (max-width:480px) { h1{font-size:1.7rem} h2{font-size:1.3rem} body{font-size:14px} .rmi-btn{padding:11px 22px;font-size:0.82rem} }
@media print { .navbar,.footer,.theme-doc-sidebar-container{display:none} body{background:#fff;color:#000} }
/* ── Print ──────────────────────────────────────────────── */
@media print {
.navbar, .footer, .theme-doc-sidebar-container { display: none; }
body { background: #fff; color: #000; }
}
/* ── Navbar our-git icon ──────────────────────────────────── */
.navbar-our-git-link::before { content: '⊞'; margin-right: 5px; font-weight: 700; }

View file

@ -11,4 +11,4 @@ Find us everywhere. No single platform controls our community.
- [Telegram](https://t.me/rugmunchbot)
- [Farcaster](https://warpcast.com/cryptorugmunch)
- [Nostr](https://primal.net/p/npub1cryptorugmunch)
- [Forgejo](https://git.rugmunch.io/RugMunchMedia)
- [Our Git](https://git.rugmunch.io/RugMunchMedia)

View file

@ -58,7 +58,7 @@ We use these service providers for infrastructure:
| Provider | Purpose | Data Accessed |
|----------|---------|---------------|
| Cloudflare | DNS, CDN, DDoS protection | IP address, user agent |
| Forgejo (self-hosted) | Git hosting and code collaboration | Username, email, IP |
| Our Git (self-hosted) | Git hosting and code collaboration | Username, email, IP |
| Telegram | Bot hosting | Scan queries |
| Gmail | Email communications | Email content |
| Netcup / Contabo | Server hosting | Server logs |

View file

@ -55,7 +55,7 @@ The full web dashboard and API are delivering soon.
Open @rugmunchbot on Telegram →
</a>
<a href="https://git.rugmunch.io/RugMunchMedia/rmi-backend" target="_blank" rel="noopener" className="rmi-btn rmi-btn--secondary">
View Source on Forgejo
View Source on Our Git
</a>
</div>

200
static/index.html Normal file
View file

@ -0,0 +1,200 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Rug Munch Media</title>
<meta name="description" content="Wyoming-built open-source AI + Web3 tools protecting retail crypto investors.">
<link rel="icon" href="/img/favicon.ico">
<meta property="og:image" content="https://cryptorugmunch.com/img/og-image.png">
<meta name="twitter:card" content="summary_large_image">
<meta name="twitter:site" content="@cryptorugmunch">
<style>
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800;900&family=JetBrains+Mono:wght@400;700&display=swap');
body{background:#030303;color:#F5F5F5;font-family:Inter,system-ui,sans-serif;-webkit-font-smoothing:antialiased}
a{color:#00FF88;text-decoration:none;transition:all .2s}
a:hover{text-decoration:underline;text-underline-offset:4px}
nav{position:fixed;top:0;left:0;right:0;z-index:100;background:rgba(3,3,3,.92);backdrop-filter:blur(32px);-webkit-backdrop-filter:blur(32px);border-bottom:1px solid rgba(255,255,255,.04);height:56px;display:flex;align-items:center;padding:0 24px}
nav .logo{font-weight:800;font-size:1.05rem;letter-spacing:-.02em;color:#F5F5F5;display:flex;align-items:center;gap:10px}
nav .logo img{height:28px}
nav .links{margin-left:auto;display:flex;align-items:center;gap:4px}
nav .links a{color:#8A8A8A;font-size:.84rem;font-weight:500;padding:8px 14px;border-radius:6px;transition:all .2s}
nav .links a:hover{color:#00FF88;background:rgba(0,255,136,.05);text-decoration:none}
nav .links a.primary{color:#00FF88}
.hero{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:80px 24px 120px;position:relative;overflow:hidden}
.hero::before{content:'';position:absolute;top:0;left:0;right:0;bottom:0;background:radial-gradient(ellipse 60% 50% at 50% 30%,rgba(0,255,136,.06) 0%,transparent 70%);pointer-events:none}
.hero .grid-bg{position:absolute;top:0;left:0;right:0;bottom:0;opacity:.015;pointer-events:none;background-image:linear-gradient(rgba(0,255,136,.5) 1px,transparent 1px),linear-gradient(90deg,rgba(0,255,136,.5) 1px,transparent 1px);background-size:60px 60px}
.hero img.logo-main{max-width:480px;width:90%;height:auto;margin-bottom:28px;position:relative;z-index:1}
.hero h1{font-size:1.1rem;font-weight:500;color:#00FF88;margin-bottom:16px;position:relative;z-index:1;letter-spacing:-.01em}
.hero p.sub{font-size:.95rem;color:#8A8A8A;max-width:520px;line-height:1.7;margin-bottom:44px;position:relative;z-index:1}
.hero .ctas{display:flex;gap:14px;flex-wrap:wrap;justify-content:center;position:relative;z-index:1}
.hero .ctas a{font-weight:600;font-size:.88rem;padding:14px 32px;border-radius:7px;transition:all .2s;font-family:Inter,sans-serif;letter-spacing:-.01em;display:inline-block}
.hero .ctas a.pri{background:#00FF88;color:#000;box-shadow:0 0 0 0 rgba(0,255,136,0)}
.hero .ctas a.pri:hover{background:#1aff94;transform:translateY(-2px);box-shadow:0 8px 32px rgba(0,255,136,.28);text-decoration:none}
.hero .ctas a.sec{background:transparent;color:#F5F5F5;border:1px solid #262626}
.hero .ctas a.sec:hover{border-color:#00FF88;color:#00FF88;text-decoration:none}
.stats{border-top:1px solid rgba(255,255,255,.03);border-bottom:1px solid rgba(255,255,255,.03);padding:44px 0}
.stats .grid{max-width:800px;margin:0 auto;display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:20px;padding:0 24px;text-align:center}
.stats .grid div .num{font-size:2rem;font-weight:800;color:#00FF88;letter-spacing:-.02em}
.stats .grid div .lbl{font-size:.76rem;color:#8A8A8A;margin-top:4px}
.products{max-width:1100px;margin:0 auto;padding:80px 24px}
.products h2{font-size:1.8rem;font-weight:800;text-align:center;margin-bottom:8px;letter-spacing:-.02em}
.products .subtitle{text-align:center;color:#8A8A8A;font-size:.95rem;max-width:520px;margin:0 auto 52px;line-height:1.6}
.products .grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px}
.products .card{background:#0E0E0E;border:1px solid #1C1C1C;border-radius:14px;padding:28px;transition:all .25s;position:relative;overflow:hidden}
.products .card:hover{border-color:#00FF88;transform:translateY(-2px);box-shadow:0 8px 40px rgba(0,0,0,.5)}
.products .card .glow{position:absolute;top:-20px;right:-20px;width:120px;height:120px;background:radial-gradient(circle,rgba(0,255,136,.06) 0%,transparent 70%);border-radius:50%;pointer-events:none}
.products .card img.card-logo{height:28px;margin-bottom:16px;position:relative}
.products .card .badge{display:inline-flex;align-items:center;gap:6px;font-size:.64rem;font-weight:700;text-transform:uppercase;letter-spacing:.09em;padding:4px 12px;border-radius:5px;margin-bottom:12px}
.products .card .badge.live{background:rgba(0,255,136,.06);color:#00FF88;border:1px solid rgba(0,255,136,.14)}
.products .card .badge.coming{background:rgba(0,255,136,.03);color:#00FF88;border:1px solid rgba(0,255,136,.10)}
.products .card .badge .dot{display:inline-block;width:6px;height:6px;background:#00FF88;border-radius:50%;box-shadow:0 0 10px #00FF88;animation:pulse 2.2s ease-in-out infinite}
.products .card p.desc{font-size:.86rem;color:#8A8A8A;line-height:1.65;margin:14px 0 0;position:relative}
.products .card p.link{font-size:.78rem;color:#00FF88;margin-top:14px;font-weight:600;position:relative}
@keyframes pulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.3;transform:scale(.75)}}
.sites{max-width:1100px;margin:0 auto;padding:0 24px 80px}
.sites h2{font-size:1.8rem;font-weight:800;text-align:center;margin-bottom:44px}
.sites .grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px}
.sites .card{background:#0E0E0E;border:1px solid #1C1C1C;border-radius:12px;padding:22px;text-align:center;transition:all .2s}
.sites .card:hover{border-color:#00FF88}
.sites .card .name{font-size:.88rem;font-weight:700;color:#F5F5F5;margin-bottom:4px}
.sites .card .url{font-size:.7rem;color:#4A4A4A}
.crm-banner{max-width:1100px;margin:0 auto 80px;padding:0 24px}
.crm-banner .inner{background:linear-gradient(135deg,rgba(0,255,136,.04),rgba(0,0,0,.3));border:1px solid rgba(0,255,136,.1);border-radius:16px;padding:48px;text-align:center}
.crm-banner .label{font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.14em;color:#00FF88;margin-bottom:10px}
.crm-banner h3{font-size:1.5rem;font-weight:800;margin-bottom:12px}
.crm-banner p{color:#8A8A8A;max-width:560px;margin:0 auto 20px;line-height:1.7;font-size:.9rem}
.crm-banner a{color:#00FF88;font-size:.85rem;font-weight:600}
footer{text-align:center;padding:36px 24px;border-top:1px solid rgba(255,255,255,.03);color:#4A4A4A;font-size:.74rem}
footer .links{display:flex;gap:18px;justify-content:center;flex-wrap:wrap;margin-bottom:14px}
footer .links a{color:#4A4A4A;font-size:.74rem}
footer .links a:hover{color:#00FF88}
@media(max-width:768px){.hero{padding:60px 20px 80px}.hero img.logo-main{max-width:340px}.hero h1{font-size:1rem}.products .grid{grid-template-columns:1fr}.crm-banner .inner{padding:32px 20px}}
@media(max-width:480px){nav{padding:0 16px}nav .links a{font-size:.76rem;padding:6px 10px}.hero img.logo-main{max-width:280px}}
</style>
</head>
<body>
<nav>
<div class="logo"><img src="/img/logo.png" alt="RMM">Rug Munch Media</div>
<div class="links">
<a href="/about">About</a>
<a href="/products">Products</a>
<a href="/build">Build</a>
<a href="https://blog.cryptorugmunch.com">Blog</a>
<a href="https://git.rugmunch.io/RugMunchMedia" class="primary">Our Git</a>
</div>
</nav>
<section class="hero">
<div class="grid-bg"></div>
<img src="/img/logo.png" alt="Rug Munch Media" class="logo-main">
<h1>Open-source tools that protect retail crypto investors.</h1>
<p class="sub">Wyoming-built. Self-funded. No VC. We build the scanner that catches rug pulls, the feed that unifies every social protocol, and the wallet engine that works across 55 chains — and we give it all away.</p>
<div class="ctas">
<a href="/products/rmi" class="pri">Rug Munch Intelligence →</a>
<a href="/about" class="sec">Read Our Story</a>
</div>
</section>
<div class="stats">
<div class="grid">
<div><div class="num">6</div><div class="lbl">Products Shipping</div></div>
<div><div class="num">17</div><div class="lbl">Public Repos</div></div>
<div><div class="num">55</div><div class="lbl">Chains Supported</div></div>
<div><div class="num">3</div><div class="lbl">Months Building</div></div>
</div>
</div>
<section class="products">
<h2>Products</h2>
<p class="subtitle">Every product protects retail investors. Open-source. Self-hostable. No vendor lock-in.</p>
<div class="grid">
<a href="/products/rmi" style="text-decoration:none;color:inherit">
<div class="card" style="border-color:rgba(0,255,136,.15)">
<div class="glow"></div>
<img src="/img/rmi-logo.png" alt="RMI" class="card-logo">
<br><span class="badge coming">Delivering Soon</span>
<p class="desc">Token scanner and wallet forensics. Honeypot detection, liquidity analysis, holder concentration, MEV alerts. Scan before you ape. Free. Forever.</p>
<p class="link">Explore RMI →</p>
</div>
</a>
<a href="https://degenfeed.xyz" target="_blank" rel="noopener" style="text-decoration:none;color:inherit">
<div class="card">
<div class="glow"></div>
<img src="/img/degenfeed-logo.png" alt="DegenFeed" class="card-logo">
<br><span class="badge live"><span class="dot"></span>Live ↗</span>
<p class="desc">One feed for every social protocol. Nostr, Farcaster, Bluesky, Mastodon, Lens, Threads, RSS. Post once, reach everyone. Your keys. No algorithm.</p>
<p class="link">degenfeed.xyz ↗</p>
</div>
</a>
<a href="https://pryscraper.com" target="_blank" rel="noopener" style="text-decoration:none;color:inherit">
<div class="card">
<div class="glow"></div>
<img src="/img/pry-logo.png" alt="Pry" class="card-logo">
<br><span class="badge live"><span class="dot"></span>Live ↗</span>
<p class="desc">Open-source web scraping and browser automation. Cloudflare bypass. 190+ endpoints. MCP server. One docker run. Self-hosted.</p>
<p class="link">pryscraper.com ↗</p>
</div>
</a>
<a href="https://walletpress.cc" target="_blank" rel="noopener" style="text-decoration:none;color:inherit">
<div class="card">
<div class="glow"></div>
<img src="/img/walletpress-logo.png" alt="WalletPress" class="card-logo">
<br><span class="badge live"><span class="dot"></span>Live ↗</span>
<p class="desc">Multi-chain wallet generation across 55 blockchains. BIP39 standard. AES-256 vault. MCP tools for AI agents. WordPress plugin.</p>
<p class="link">walletpress.cc ↗</p>
</div>
</a>
</div>
</section>
<div class="crm-banner">
<div class="inner">
<div class="label">In Development</div>
<h3>$CRM v2 — The DAO</h3>
<p>1:1 airdrop for v1 holders. Anti-manipulation protections built into the contract. True community governance. Wyoming DAO LLC. $CRM on Solana and $cryptorugmunch on Zora — matched at time of collapse.</p>
<a href="/products/crm">Learn more →</a>
</div>
</div>
<section class="sites">
<h2>Network</h2>
<div class="grid">
<a href="https://git.rugmunch.io/RugMunchMedia" target="_blank" rel="noopener" style="text-decoration:none;color:inherit"><div class="card" style="border-color:rgba(0,255,136,.2)"><div class="name">Our Git</div><div class="url">git.rugmunch.io</div></div></a>
<a href="https://degenfeed.xyz" target="_blank" rel="noopener" style="text-decoration:none;color:inherit"><div class="card"><div class="name">DegenFeed</div><div class="url">degenfeed.xyz</div></div></a>
<a href="https://pryscraper.com" target="_blank" rel="noopener" style="text-decoration:none;color:inherit"><div class="card"><div class="name">Pry</div><div class="url">pryscraper.com</div></div></a>
<a href="https://walletpress.cc" target="_blank" rel="noopener" style="text-decoration:none;color:inherit"><div class="card"><div class="name">WalletPress</div><div class="url">walletpress.cc</div></div></a>
<a href="https://gitlab.com/cryptorugmuncher" target="_blank" rel="noopener" style="text-decoration:none;color:inherit"><div class="card"><div class="name">GitLab</div><div class="url">gitlab.com</div></div></a>
<a href="https://codeberg.org/cryptorugmunch" target="_blank" rel="noopener" style="text-decoration:none;color:inherit"><div class="card"><div class="name">Codeberg</div><div class="url">codeberg.org</div></div></a>
<a href="https://radicle.network" target="_blank" rel="noopener" style="text-decoration:none;color:inherit"><div class="card"><div class="name">Radicle</div><div class="url">radicle.network</div></div></a>
<a href="https://t.me/rugmunchbot" target="_blank" rel="noopener" style="text-decoration:none;color:inherit"><div class="card"><div class="name">Telegram Bot</div><div class="url">t.me/rugmunchbot</div></div></a>
</div>
</section>
<footer>
<div class="links">
<a href="/terms">Terms</a>
<a href="/privacy">Privacy</a>
<a href="/legal">Legal</a>
<a href="/security">Security</a>
<a href="https://x.com/cryptorugmunch">X</a>
</div>
<div>Rug Munch Media LLC · Cheyenne, Wyoming · cryptorugmunch.com</div>
</footer>
</body>
</html>