AeThex-Bot-Master/aethex-bot/public/index.html
sirpiglr c2a34f398e Add server mode configuration and dynamic status updates
Introduces a new server mode configuration system (Federation/Standalone) with associated command changes, dynamic status rotation for the bot, and adds new commands and features.

Replit-Commit-Author: Agent
Replit-Commit-Session-Id: aed2e46d-25bb-4b73-81a1-bb9e8437c261
Replit-Commit-Checkpoint-Type: intermediate_checkpoint
Replit-Commit-Event-Id: b08e6ba5-7498-4b9f-b1c9-7dc11b362ddd
Replit-Commit-Screenshot-Url: https://storage.googleapis.com/screenshot-production-us-central1/3bdfff67-975a-46ad-9845-fbb6b4a4c4b5/aed2e46d-25bb-4b73-81a1-bb9e8437c261/R9PkDi8
Replit-Helium-Checkpoint-Created: true
2025-12-09 23:26:33 +00:00

2104 lines
68 KiB
HTML

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>AeThex | Warden - Guardian of the AeThex Ecosystem</title>
<meta name="description" content="Warden is the unified Discord bot that connects the entire AeThex ecosystem. Cross-server XP, unified profiles, federation sync, and enterprise security. Free forever.">
<style>
:root {
--background: #030712;
--foreground: #f8fafc;
--card: rgba(15, 23, 42, 0.6);
--card-border: rgba(99, 102, 241, 0.15);
--card-border-hover: rgba(99, 102, 241, 0.4);
--primary: #6366f1;
--primary-light: #818cf8;
--secondary: rgba(30, 41, 59, 0.5);
--muted: #64748b;
--border: rgba(51, 65, 85, 0.5);
--gradient-1: #6366f1;
--gradient-2: #3b82f6;
--gradient-3: #06b6d4;
--gradient-gold: #f59e0b;
--gradient-rose: #f43f5e;
--success: #10b981;
--warning: #f59e0b;
}
* { margin: 0; padding: 0; box-sizing: border-box; }
body {
font-family: 'Courier New', Courier, monospace;
background: var(--background);
color: var(--foreground);
min-height: 100vh;
overflow-x: hidden;
line-height: 1.6;
}
.bg-grid {
position: fixed;
inset: 0;
background-image:
linear-gradient(rgba(99, 102, 241, 0.03) 1px, transparent 1px),
linear-gradient(90deg, rgba(99, 102, 241, 0.03) 1px, transparent 1px);
background-size: 64px 64px;
pointer-events: none;
z-index: -2;
}
.bg-glow {
position: fixed;
top: -50%;
left: 50%;
transform: translateX(-50%);
width: 150%;
height: 100%;
background: radial-gradient(ellipse at center, rgba(99, 102, 241, 0.15) 0%, transparent 60%);
pointer-events: none;
z-index: -1;
}
.container {
max-width: 1200px;
margin: 0 auto;
padding: 0 1.5rem;
}
.container-wide {
max-width: 1400px;
margin: 0 auto;
padding: 0 1.5rem;
}
header {
position: sticky;
top: 0;
z-index: 100;
background: rgba(3, 7, 18, 0.8);
backdrop-filter: blur(20px);
border-bottom: 1px solid var(--border);
}
.header-content {
display: flex;
align-items: center;
justify-content: space-between;
padding: 1rem 0;
}
.logo {
display: flex;
align-items: center;
gap: 0.75rem;
text-decoration: none;
color: var(--foreground);
}
.logo-icon {
width: 40px;
height: 40px;
border-radius: 8px;
object-fit: contain;
}
.logo-text {
font-size: 1.25rem;
font-weight: 700;
background: linear-gradient(135deg, var(--foreground), var(--muted));
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
}
.nav-links {
display: flex;
gap: 2rem;
align-items: center;
}
.nav-links a {
color: var(--muted);
text-decoration: none;
font-weight: 500;
font-size: 0.9rem;
transition: color 0.2s;
}
.nav-links a:hover {
color: var(--foreground);
}
.header-buttons {
display: flex;
gap: 0.75rem;
align-items: center;
}
.btn {
display: inline-flex;
align-items: center;
gap: 0.5rem;
padding: 0.625rem 1.25rem;
border-radius: 8px;
font-weight: 600;
text-decoration: none;
transition: all 0.2s;
border: none;
cursor: pointer;
font-size: 0.875rem;
font-family: inherit;
}
.btn-primary {
background: linear-gradient(135deg, var(--gradient-1), var(--gradient-2));
color: white;
}
.btn-primary:hover {
transform: translateY(-1px);
box-shadow: 0 8px 24px rgba(99, 102, 241, 0.4);
}
.btn-secondary {
background: var(--secondary);
border: 1px solid var(--border);
color: var(--foreground);
}
.btn-secondary:hover {
background: rgba(51, 65, 85, 0.5);
border-color: var(--primary);
}
.btn-donate {
background: linear-gradient(135deg, var(--gradient-gold), var(--gradient-rose));
color: white;
}
.btn-donate:hover {
transform: translateY(-1px);
box-shadow: 0 8px 24px rgba(245, 158, 11, 0.4);
}
.btn-outline {
background: transparent;
border: 1px solid var(--primary);
color: var(--primary-light);
}
.btn-outline:hover {
background: rgba(99, 102, 241, 0.1);
}
.btn-lg {
padding: 0.875rem 1.75rem;
font-size: 1rem;
}
/* Hero Section */
.hero {
padding: 6rem 0 4rem;
text-align: center;
position: relative;
}
.hero-badge {
display: inline-flex;
align-items: center;
gap: 0.5rem;
padding: 0.5rem 1rem;
background: rgba(99, 102, 241, 0.1);
border: 1px solid rgba(99, 102, 241, 0.3);
border-radius: 9999px;
font-size: 0.8rem;
color: var(--primary-light);
margin-bottom: 2rem;
}
.hero-badge-ecosystem {
background: linear-gradient(135deg, rgba(99, 102, 241, 0.15), rgba(6, 182, 212, 0.1));
border-color: rgba(6, 182, 212, 0.3);
}
.hero h1 {
font-size: clamp(2.5rem, 6vw, 4rem);
font-weight: 800;
margin-bottom: 1.5rem;
line-height: 1.15;
letter-spacing: -0.02em;
}
.hero h1 .subtitle-line {
display: block;
font-size: 0.5em;
font-weight: 500;
color: var(--muted);
margin-top: 0.5rem;
letter-spacing: 0.02em;
}
.text-gradient {
background: linear-gradient(135deg, var(--gradient-1), var(--gradient-2), var(--gradient-3));
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
background-size: 200% 200%;
animation: gradient-shift 4s ease-in-out infinite;
}
.text-gradient-gold {
background: linear-gradient(135deg, var(--gradient-gold), #fbbf24, var(--gradient-rose));
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
}
@keyframes gradient-shift {
0%, 100% { background-position: 0% 50%; }
50% { background-position: 100% 50%; }
}
.hero-subtitle {
font-size: 1.15rem;
color: var(--muted);
max-width: 700px;
margin: 0 auto 1rem;
font-weight: 400;
}
.hero-tagline {
font-size: 0.95rem;
color: var(--success);
margin-bottom: 2.5rem;
font-weight: 500;
}
.hero-buttons {
display: flex;
gap: 1rem;
justify-content: center;
flex-wrap: wrap;
margin-bottom: 3rem;
}
/* Ecosystem Visual */
.ecosystem-visual {
max-width: 900px;
margin: 0 auto;
padding: 2rem;
}
.ecosystem-diagram {
display: grid;
grid-template-columns: 1fr auto 1fr;
gap: 2rem;
align-items: center;
}
.ecosystem-node {
background: var(--card);
border: 1px solid var(--card-border);
border-radius: 16px;
padding: 1.5rem;
text-align: center;
backdrop-filter: blur(10px);
transition: all 0.3s;
}
.ecosystem-node:hover {
border-color: var(--card-border-hover);
transform: translateY(-2px);
}
.ecosystem-node-icon {
font-size: 2rem;
margin-bottom: 0.75rem;
}
.ecosystem-node h4 {
font-size: 1rem;
margin-bottom: 0.25rem;
}
.ecosystem-node p {
font-size: 0.8rem;
color: var(--muted);
}
.ecosystem-center {
position: relative;
}
.warden-hub {
width: 180px;
height: 180px;
background: linear-gradient(135deg, rgba(99, 102, 241, 0.2), rgba(59, 130, 246, 0.1));
border: 2px solid var(--primary);
border-radius: 50%;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
position: relative;
box-shadow: 0 0 60px rgba(99, 102, 241, 0.3);
}
.warden-hub img {
width: 60px;
height: 60px;
margin-bottom: 0.5rem;
}
.warden-hub span {
font-weight: 700;
font-size: 1rem;
}
.warden-hub::before {
content: '';
position: absolute;
inset: -4px;
border-radius: 50%;
border: 1px solid rgba(99, 102, 241, 0.3);
animation: pulse-ring 2s ease-out infinite;
}
@keyframes pulse-ring {
0% { transform: scale(1); opacity: 1; }
100% { transform: scale(1.3); opacity: 0; }
}
.connection-lines {
position: absolute;
width: 100%;
height: 2px;
background: linear-gradient(90deg, var(--primary), transparent);
top: 50%;
left: 100%;
}
.ecosystem-nodes-left, .ecosystem-nodes-right {
display: flex;
flex-direction: column;
gap: 1rem;
}
/* Stats Bar */
.stats-bar {
display: grid;
grid-template-columns: repeat(4, 1fr);
gap: 1rem;
max-width: 800px;
margin: 3rem auto 0;
}
.stat-item {
text-align: center;
padding: 1rem;
background: var(--card);
border: 1px solid var(--card-border);
border-radius: 12px;
backdrop-filter: blur(10px);
}
.stat-value {
font-size: 1.75rem;
font-weight: 700;
background: linear-gradient(135deg, var(--gradient-1), var(--gradient-2));
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
}
.stat-label {
font-size: 0.8rem;
color: var(--muted);
margin-top: 0.25rem;
}
/* Section Styles */
.section {
padding: 6rem 0;
}
.section-header {
text-align: center;
margin-bottom: 4rem;
}
.section-eyebrow {
font-size: 0.8rem;
color: var(--primary-light);
text-transform: uppercase;
letter-spacing: 0.1em;
margin-bottom: 0.75rem;
font-weight: 600;
}
.section-title {
font-size: 2.5rem;
font-weight: 700;
margin-bottom: 1rem;
letter-spacing: -0.02em;
}
.section-subtitle {
color: var(--muted);
font-size: 1.1rem;
max-width: 650px;
margin: 0 auto;
}
/* Ecosystem Section */
.ecosystem-section {
background: linear-gradient(180deg, transparent, rgba(99, 102, 241, 0.03), transparent);
}
.ecosystem-grid {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 2rem;
}
.ecosystem-card {
background: var(--card);
border: 1px solid var(--card-border);
border-radius: 20px;
padding: 2.5rem;
text-align: center;
transition: all 0.3s;
backdrop-filter: blur(10px);
position: relative;
overflow: hidden;
}
.ecosystem-card::before {
content: '';
position: absolute;
top: 0;
left: 0;
right: 0;
height: 3px;
background: linear-gradient(90deg, var(--gradient-1), var(--gradient-2));
opacity: 0;
transition: opacity 0.3s;
}
.ecosystem-card:hover {
border-color: var(--card-border-hover);
transform: translateY(-4px);
}
.ecosystem-card:hover::before {
opacity: 1;
}
.ecosystem-card-icon {
width: 72px;
height: 72px;
background: linear-gradient(135deg, rgba(99, 102, 241, 0.2), rgba(59, 130, 246, 0.1));
border: 1px solid rgba(99, 102, 241, 0.3);
border-radius: 16px;
display: flex;
align-items: center;
justify-content: center;
font-size: 2rem;
margin: 0 auto 1.5rem;
}
.ecosystem-card h3 {
font-size: 1.25rem;
margin-bottom: 0.75rem;
}
.ecosystem-card p {
color: var(--muted);
font-size: 0.95rem;
margin-bottom: 1.5rem;
line-height: 1.7;
}
.ecosystem-card-link {
color: var(--primary-light);
text-decoration: none;
font-size: 0.9rem;
font-weight: 500;
display: inline-flex;
align-items: center;
gap: 0.375rem;
transition: gap 0.2s;
}
.ecosystem-card-link:hover {
gap: 0.625rem;
}
/* Federation Section */
.federation-section {
background: linear-gradient(180deg, rgba(6, 182, 212, 0.02), transparent);
}
.federation-content {
display: grid;
grid-template-columns: 1fr 1.2fr;
gap: 4rem;
align-items: center;
}
.federation-text h3 {
font-size: 1.75rem;
margin-bottom: 1rem;
}
.federation-text p {
color: var(--muted);
margin-bottom: 1.5rem;
font-size: 1.05rem;
line-height: 1.7;
}
.federation-features {
display: flex;
flex-direction: column;
gap: 1rem;
}
.federation-feature {
display: flex;
gap: 1rem;
align-items: flex-start;
}
.federation-feature-icon {
width: 36px;
height: 36px;
background: linear-gradient(135deg, rgba(6, 182, 212, 0.2), rgba(99, 102, 241, 0.1));
border: 1px solid rgba(6, 182, 212, 0.3);
border-radius: 8px;
display: flex;
align-items: center;
justify-content: center;
font-size: 1.1rem;
flex-shrink: 0;
}
.federation-feature-text h4 {
font-size: 1rem;
margin-bottom: 0.25rem;
}
.federation-feature-text p {
font-size: 0.9rem;
color: var(--muted);
margin: 0;
}
.federation-visual {
background: var(--card);
border: 1px solid var(--card-border);
border-radius: 20px;
padding: 2rem;
position: relative;
}
.realm-diagram {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 1rem;
}
.realm-node {
background: rgba(99, 102, 241, 0.1);
border: 1px solid rgba(99, 102, 241, 0.2);
border-radius: 12px;
padding: 1.25rem;
text-align: center;
transition: all 0.3s;
}
.realm-node:hover {
border-color: var(--primary);
background: rgba(99, 102, 241, 0.15);
}
.realm-node.active {
border-color: var(--success);
background: rgba(16, 185, 129, 0.1);
}
.realm-node-icon {
font-size: 1.5rem;
margin-bottom: 0.5rem;
}
.realm-node h5 {
font-size: 0.85rem;
margin-bottom: 0.25rem;
}
.realm-node p {
font-size: 0.75rem;
color: var(--muted);
}
.realm-sync-indicator {
position: absolute;
bottom: 1rem;
left: 50%;
transform: translateX(-50%);
display: flex;
align-items: center;
gap: 0.5rem;
font-size: 0.8rem;
color: var(--success);
}
.sync-dot {
width: 8px;
height: 8px;
background: var(--success);
border-radius: 50%;
animation: pulse 1.5s ease-in-out infinite;
}
@keyframes pulse {
0%, 100% { opacity: 1; transform: scale(1); }
50% { opacity: 0.5; transform: scale(1.2); }
}
/* Features Section */
.features-grid {
display: grid;
grid-template-columns: repeat(4, 1fr);
gap: 1.25rem;
}
.feature-card {
background: var(--card);
border: 1px solid var(--card-border);
border-radius: 16px;
padding: 1.75rem;
transition: all 0.3s;
backdrop-filter: blur(10px);
position: relative;
overflow: hidden;
}
.feature-card::before {
content: '';
position: absolute;
top: 0;
left: 0;
right: 0;
height: 2px;
background: linear-gradient(90deg, transparent, var(--primary), transparent);
opacity: 0;
transition: opacity 0.3s;
}
.feature-card:hover {
border-color: var(--card-border-hover);
transform: translateY(-3px);
}
.feature-card:hover::before {
opacity: 1;
}
.feature-icon {
width: 44px;
height: 44px;
background: linear-gradient(135deg, rgba(99, 102, 241, 0.2), rgba(59, 130, 246, 0.1));
border: 1px solid rgba(99, 102, 241, 0.3);
border-radius: 10px;
display: flex;
align-items: center;
justify-content: center;
font-size: 1.25rem;
margin-bottom: 1rem;
}
.feature-card h3 {
font-size: 1rem;
font-weight: 600;
margin-bottom: 0.5rem;
}
.feature-card p {
color: var(--muted);
font-size: 0.85rem;
line-height: 1.6;
}
.feature-category {
margin-bottom: 3rem;
}
.feature-category:last-child {
margin-bottom: 0;
}
.category-header {
display: flex;
align-items: center;
gap: 0.75rem;
margin-bottom: 1.5rem;
}
.category-icon {
width: 32px;
height: 32px;
background: linear-gradient(135deg, var(--gradient-1), var(--gradient-2));
border-radius: 8px;
display: flex;
align-items: center;
justify-content: center;
font-size: 1rem;
}
.category-header h3 {
font-size: 1.25rem;
font-weight: 600;
}
/* Add Warden Section */
.add-warden-section {
background: linear-gradient(180deg, transparent, rgba(99, 102, 241, 0.03), transparent);
}
.add-warden-intro {
text-align: center;
max-width: 800px;
margin: 0 auto 4rem;
}
.add-warden-intro p {
color: var(--muted);
font-size: 1.1rem;
line-height: 1.7;
}
.invite-steps {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 2rem;
margin-bottom: 4rem;
}
.invite-step {
text-align: center;
position: relative;
}
.invite-step:not(:last-child)::after {
content: '';
position: absolute;
top: 2rem;
right: -1rem;
width: 2rem;
height: 2px;
background: linear-gradient(90deg, var(--gradient-1), var(--gradient-2));
}
.step-number {
width: 64px;
height: 64px;
background: linear-gradient(135deg, var(--gradient-1), var(--gradient-2));
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
font-size: 1.5rem;
font-weight: 700;
margin: 0 auto 1.25rem;
box-shadow: 0 4px 20px rgba(99, 102, 241, 0.3);
}
.invite-step h3 {
font-size: 1.25rem;
margin-bottom: 0.5rem;
}
.invite-step p {
color: var(--muted);
font-size: 0.9rem;
line-height: 1.6;
}
.modes-grid {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 2rem;
margin-bottom: 3rem;
}
.mode-card {
background: var(--card);
border: 1px solid var(--card-border);
border-radius: 16px;
padding: 2rem;
transition: all 0.3s;
}
.mode-card:hover {
border-color: var(--card-border-hover);
transform: translateY(-4px);
}
.mode-header {
display: flex;
align-items: center;
gap: 1rem;
margin-bottom: 1.25rem;
}
.mode-icon {
width: 48px;
height: 48px;
background: linear-gradient(135deg, var(--gradient-1), var(--gradient-2));
border-radius: 12px;
display: flex;
align-items: center;
justify-content: center;
font-size: 1.5rem;
}
.mode-card.federated .mode-icon {
background: linear-gradient(135deg, var(--gradient-gold), var(--gradient-rose));
}
.mode-header h3 {
font-size: 1.35rem;
}
.mode-card > p {
color: var(--muted);
margin-bottom: 1.5rem;
line-height: 1.6;
}
.mode-features {
display: flex;
flex-direction: column;
gap: 0.75rem;
}
.mode-feature {
display: flex;
align-items: center;
gap: 0.75rem;
font-size: 0.9rem;
}
.mode-feature svg {
color: var(--success);
flex-shrink: 0;
}
.invite-cta {
text-align: center;
padding: 3rem;
background: linear-gradient(135deg, rgba(99, 102, 241, 0.1), rgba(59, 130, 246, 0.05));
border: 1px solid rgba(99, 102, 241, 0.2);
border-radius: 20px;
}
.invite-cta h3 {
font-size: 1.75rem;
margin-bottom: 0.75rem;
}
.invite-cta > p {
color: var(--muted);
margin-bottom: 2rem;
font-size: 1.05rem;
}
.invite-buttons {
display: flex;
gap: 1rem;
justify-content: center;
flex-wrap: wrap;
}
@media (max-width: 768px) {
.invite-steps {
grid-template-columns: 1fr;
gap: 2rem;
}
.invite-step:not(:last-child)::after {
display: none;
}
.modes-grid {
grid-template-columns: 1fr;
}
.invite-buttons {
flex-direction: column;
align-items: center;
}
}
/* Free Forever Section */
.free-section {
background: linear-gradient(180deg, transparent, rgba(16, 185, 129, 0.03), transparent);
}
.free-content {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 4rem;
align-items: center;
}
.free-text h3 {
font-size: 2rem;
margin-bottom: 1rem;
}
.free-text > p {
color: var(--muted);
font-size: 1.1rem;
margin-bottom: 2rem;
line-height: 1.7;
}
.free-features {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 1rem;
}
.free-feature {
display: flex;
align-items: center;
gap: 0.75rem;
padding: 0.75rem 1rem;
background: rgba(16, 185, 129, 0.05);
border: 1px solid rgba(16, 185, 129, 0.15);
border-radius: 10px;
}
.free-feature svg {
color: var(--success);
flex-shrink: 0;
}
.free-feature span {
font-size: 0.9rem;
}
.donation-card {
background: linear-gradient(135deg, rgba(245, 158, 11, 0.1), rgba(244, 63, 94, 0.05));
border: 1px solid rgba(245, 158, 11, 0.2);
border-radius: 20px;
padding: 2.5rem;
text-align: center;
}
.donation-card h4 {
font-size: 1.5rem;
margin-bottom: 0.75rem;
}
.donation-card > p {
color: var(--muted);
margin-bottom: 2rem;
font-size: 1rem;
}
.donation-tiers {
display: flex;
gap: 1rem;
justify-content: center;
margin-bottom: 1.5rem;
}
.donation-tier {
padding: 1rem 1.5rem;
background: rgba(255, 255, 255, 0.05);
border: 1px solid rgba(255, 255, 255, 0.1);
border-radius: 12px;
text-align: center;
transition: all 0.3s;
cursor: pointer;
text-decoration: none;
color: var(--foreground);
}
.donation-tier:hover {
border-color: var(--gradient-gold);
background: rgba(245, 158, 11, 0.1);
}
.donation-tier .amount {
font-size: 1.25rem;
font-weight: 700;
color: var(--gradient-gold);
}
.donation-tier .label {
font-size: 0.8rem;
color: var(--muted);
}
.donation-note {
font-size: 0.85rem;
color: var(--muted);
}
.donation-links {
display: flex;
gap: 1rem;
justify-content: center;
margin-top: 1.5rem;
}
/* Hub Section */
.hub-grid {
display: grid;
grid-template-columns: repeat(4, 1fr);
gap: 1.5rem;
}
.hub-card {
background: var(--card);
border: 1px solid var(--card-border);
border-radius: 16px;
padding: 1.75rem;
transition: all 0.3s;
backdrop-filter: blur(10px);
text-decoration: none;
color: var(--foreground);
}
.hub-card:hover {
border-color: var(--card-border-hover);
transform: translateY(-4px);
}
.hub-card h3 {
font-size: 1rem;
font-weight: 600;
margin-bottom: 0.5rem;
}
.hub-card-tags {
display: flex;
gap: 0.5rem;
margin-bottom: 0.75rem;
}
.hub-tag {
padding: 0.25rem 0.5rem;
background: rgba(99, 102, 241, 0.1);
border-radius: 4px;
font-size: 0.7rem;
color: var(--primary-light);
font-weight: 500;
}
.hub-card p {
color: var(--muted);
font-size: 0.85rem;
margin-bottom: 1rem;
}
.hub-card-link {
color: var(--primary-light);
font-size: 0.85rem;
font-weight: 500;
display: flex;
align-items: center;
gap: 0.375rem;
}
/* CTA Section */
.cta-section {
padding: 6rem 0;
}
.cta-box {
background: linear-gradient(135deg, rgba(99, 102, 241, 0.1), rgba(59, 130, 246, 0.05));
border: 1px solid rgba(99, 102, 241, 0.2);
border-radius: 24px;
padding: 4rem;
text-align: center;
position: relative;
overflow: hidden;
}
.cta-box::before {
content: '';
position: absolute;
top: 0;
left: 0;
right: 0;
height: 1px;
background: linear-gradient(90deg, transparent, var(--primary), transparent);
}
.cta-box h2 {
font-size: 2rem;
font-weight: 700;
margin-bottom: 1rem;
letter-spacing: -0.02em;
}
.cta-box p {
color: var(--muted);
font-size: 1.1rem;
margin-bottom: 2rem;
max-width: 550px;
margin-left: auto;
margin-right: auto;
}
.cta-buttons {
display: flex;
gap: 1rem;
justify-content: center;
flex-wrap: wrap;
}
/* Footer */
footer {
border-top: 1px solid var(--border);
padding: 4rem 0 2rem;
}
.footer-grid {
display: grid;
grid-template-columns: 2fr repeat(3, 1fr);
gap: 3rem;
margin-bottom: 3rem;
}
.footer-brand p {
color: var(--muted);
font-size: 0.9rem;
margin-top: 1rem;
max-width: 280px;
}
.footer-column h4 {
font-size: 0.9rem;
font-weight: 600;
margin-bottom: 1rem;
color: var(--foreground);
}
.footer-column a {
display: block;
color: var(--muted);
text-decoration: none;
font-size: 0.85rem;
padding: 0.375rem 0;
transition: color 0.2s;
}
.footer-column a:hover {
color: var(--foreground);
}
.footer-bottom {
display: flex;
justify-content: space-between;
align-items: center;
padding-top: 2rem;
border-top: 1px solid var(--border);
}
.footer-copy {
color: var(--muted);
font-size: 0.85rem;
}
.footer-social {
display: flex;
gap: 1rem;
}
.footer-social a {
color: var(--muted);
transition: color 0.2s;
}
.footer-social a:hover {
color: var(--foreground);
}
/* Responsive */
@media (max-width: 1024px) {
.features-grid { grid-template-columns: repeat(2, 1fr); }
.ecosystem-grid { grid-template-columns: repeat(2, 1fr); }
.hub-grid { grid-template-columns: repeat(2, 1fr); }
.federation-content { grid-template-columns: 1fr; }
.free-content { grid-template-columns: 1fr; }
.ecosystem-diagram { grid-template-columns: 1fr; gap: 1rem; }
.ecosystem-nodes-left, .ecosystem-nodes-right { flex-direction: row; flex-wrap: wrap; justify-content: center; }
.ecosystem-center { order: -1; margin-bottom: 1rem; }
.footer-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 768px) {
.nav-links { display: none; }
.features-grid { grid-template-columns: 1fr; }
.ecosystem-grid { grid-template-columns: 1fr; }
.hub-grid { grid-template-columns: 1fr; }
.stats-bar { grid-template-columns: repeat(2, 1fr); }
.free-features { grid-template-columns: 1fr; }
.donation-tiers { flex-direction: column; }
.realm-diagram { grid-template-columns: 1fr; }
.cta-box { padding: 2.5rem 1.5rem; }
.footer-grid { grid-template-columns: 1fr; text-align: center; }
.footer-brand p { margin: 1rem auto 0; }
.footer-bottom { flex-direction: column; gap: 1rem; text-align: center; }
}
</style>
</head>
<body>
<div class="bg-grid"></div>
<div class="bg-glow"></div>
<header>
<div class="container header-content">
<a href="/" class="logo">
<img src="/logo.png" alt="AeThex" class="logo-icon">
<span class="logo-text">AeThex | Warden</span>
</a>
<nav class="nav-links">
<a href="#ecosystem">Ecosystem</a>
<a href="#federation">Federation</a>
<a href="#features">Features</a>
<a href="#invite">Add to Server</a>
<a href="#support">Support Us</a>
<a href="https://discord.gg/athx" target="_blank">Discord</a>
</nav>
<div class="header-buttons">
<a href="/dashboard" class="btn btn-secondary">Dashboard</a>
<a href="/auth/discord" class="btn btn-primary" id="loginBtn">Sign In</a>
</div>
</div>
</header>
<main>
<!-- Hero Section -->
<section class="hero">
<div class="container">
<div class="hero-badge hero-badge-ecosystem">
<svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><circle cx="12" cy="12" r="10"/><path d="M12 2a15.3 15.3 0 0 1 4 10 15.3 15.3 0 0 1-4 10 15.3 15.3 0 0 1-4-10 15.3 15.3 0 0 1 4-10z"/><path d="M2 12h20"/></svg>
Guardian of the AeThex Ecosystem
</div>
<h1>
<span class="text-gradient">Warden</span>
<span class="subtitle-line">One Identity. Every Server. Infinite Possibilities.</span>
</h1>
<p class="hero-subtitle">
Warden is the unified Discord bot that connects the entire AeThex network. Your XP, achievements, and reputation travel with you across AeThex.studio, AeThex.foundation, and all federated partner servers.
</p>
<p class="hero-tagline">Free forever. Community powered.</p>
<div class="hero-buttons">
<a href="https://discord.com/api/oauth2/authorize?client_id=578971245454950421&permissions=8&scope=bot%20applications.commands" class="btn btn-primary btn-lg" target="_blank">
<svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M12 5v14M5 12h14"/></svg>
Add Warden to Your Server
</a>
<a href="#ecosystem" class="btn btn-secondary btn-lg">
Explore the Ecosystem
</a>
</div>
<div class="stats-bar" id="statsBar">
<div class="stat-item">
<div class="stat-value" id="serverCount">-</div>
<div class="stat-label">Linked Servers</div>
</div>
<div class="stat-item">
<div class="stat-value" id="userCount">-</div>
<div class="stat-label">Unified Profiles</div>
</div>
<div class="stat-item">
<div class="stat-value" id="commandCount">60+</div>
<div class="stat-label">Commands</div>
</div>
<div class="stat-item">
<div class="stat-value" id="uptimeValue">99.9%</div>
<div class="stat-label">Uptime</div>
</div>
</div>
</div>
</section>
<!-- Ecosystem Section -->
<section class="section ecosystem-section" id="ecosystem">
<div class="container">
<div class="section-header">
<p class="section-eyebrow">The AeThex Network</p>
<h2 class="section-title">One Ecosystem, <span class="text-gradient">Endless Connections</span></h2>
<p class="section-subtitle">Warden isn't just a bot - it's the bridge that connects every part of the AeThex universe. Your identity, progress, and reputation sync seamlessly.</p>
</div>
<div class="ecosystem-grid">
<div class="ecosystem-card">
<div class="ecosystem-card-icon">🎨</div>
<h3>AeThex.studio</h3>
<p>The creative platform for artists, developers, and creators. Your Discord activity contributes to your studio reputation. Showcase projects, earn recognition, and connect with collaborators.</p>
<a href="https://aethex.studio" target="_blank" class="ecosystem-card-link">
Visit Studio
<svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M5 12h14M12 5l7 7-7 7"/></svg>
</a>
</div>
<div class="ecosystem-card">
<div class="ecosystem-card-icon">🏛️</div>
<h3>AeThex.foundation</h3>
<p>The philanthropic arm supporting open-source projects and community initiatives. Top contributors in Discord earn Foundation recognition. Donate, volunteer, and make an impact.</p>
<a href="https://aethex.foundation" target="_blank" class="ecosystem-card-link">
Visit Foundation
<svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M5 12h14M12 5l7 7-7 7"/></svg>
</a>
</div>
<div class="ecosystem-card">
<div class="ecosystem-card-icon">🌐</div>
<h3>Federation Network</h3>
<p>A mesh of 5+ linked Discord servers sharing XP, roles, and achievements. Join any federated server and your progress travels with you. One community, many homes.</p>
<a href="#federation" class="ecosystem-card-link">
Learn About Federation
<svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M5 12h14M12 5l7 7-7 7"/></svg>
</a>
</div>
</div>
</div>
</section>
<!-- Federation Section -->
<section class="section federation-section" id="federation">
<div class="container">
<div class="section-header">
<p class="section-eyebrow">Cross-Server Sync</p>
<h2 class="section-title">The <span class="text-gradient">Realm System</span></h2>
<p class="section-subtitle">Choose your home realm and carry your identity across the entire federation. Your XP, achievements, and roles sync in real-time.</p>
</div>
<div class="federation-content">
<div class="federation-text">
<h3>How Federation Works</h3>
<p>When you join any AeThex-federated server, Warden recognizes you instantly. Your unified profile, XP balance, and earned achievements are always with you - no setup required.</p>
<div class="federation-features">
<div class="federation-feature">
<div class="federation-feature-icon">🔗</div>
<div class="federation-feature-text">
<h4>Unified Profile</h4>
<p>One identity across all federated servers. Link once, recognized everywhere.</p>
</div>
</div>
<div class="federation-feature">
<div class="federation-feature-icon"></div>
<div class="federation-feature-text">
<h4>Global XP Pool</h4>
<p>XP earned anywhere counts toward your total. Level up faster by being active across the network.</p>
</div>
</div>
<div class="federation-feature">
<div class="federation-feature-icon">🎖️</div>
<div class="federation-feature-text">
<h4>Shared Achievements</h4>
<p>Unlock achievements in one server, display them in all. Your accomplishments follow you.</p>
</div>
</div>
<div class="federation-feature">
<div class="federation-feature-icon">👑</div>
<div class="federation-feature-text">
<h4>Role Synchronization</h4>
<p>Mapped roles sync automatically. Earn a rank in your home realm, get recognized everywhere.</p>
</div>
</div>
</div>
</div>
<div class="federation-visual">
<div class="realm-diagram">
<div class="realm-node">
<div class="realm-node-icon">🏰</div>
<h5>AeThex Main</h5>
<p>Official Hub</p>
</div>
<div class="realm-node active">
<div class="realm-node-icon">🎮</div>
<h5>GameForge</h5>
<p>Gaming Community</p>
</div>
<div class="realm-node">
<div class="realm-node-icon">💻</div>
<h5>DevLink</h5>
<p>Developer Network</p>
</div>
<div class="realm-node">
<div class="realm-node-icon">🎨</div>
<h5>CreativeArts</h5>
<p>Art & Design</p>
</div>
<div class="realm-node">
<div class="realm-node-icon">📚</div>
<h5>StudyHall</h5>
<p>Learning & Education</p>
</div>
<div class="realm-node">
<div class="realm-node-icon">🌟</div>
<h5>Your Server?</h5>
<p>Join the Federation</p>
</div>
</div>
<div class="realm-sync-indicator">
<span class="sync-dot"></span>
All realms synced in real-time
</div>
</div>
</div>
</div>
</section>
<!-- Features Section -->
<section class="section" id="features">
<div class="container">
<div class="section-header">
<p class="section-eyebrow">Powerful Capabilities</p>
<h2 class="section-title">Everything You Need to <span class="text-gradient">Build Community</span></h2>
<p class="section-subtitle">Enterprise-grade features designed for engagement, rewards, security, and growth. All included. All free.</p>
</div>
<!-- Engagement Features -->
<div class="feature-category">
<div class="category-header">
<div class="category-icon">💬</div>
<h3>Engagement & Progression</h3>
</div>
<div class="features-grid">
<div class="feature-card">
<div class="feature-icon">📈</div>
<h3>XP & Leveling</h3>
<p>Earn XP from messages, reactions, voice chat. Configurable curves, cooldowns, and multipliers.</p>
</div>
<div class="feature-card">
<div class="feature-icon"></div>
<h3>Prestige System</h3>
<p>Reset at max level for permanent XP bonuses. Up to 15% bonus per prestige tier.</p>
</div>
<div class="feature-card">
<div class="feature-icon">🏆</div>
<h3>Leaderboards</h3>
<p>Weekly, monthly, and all-time rankings. Server-specific and global federation boards.</p>
</div>
<div class="feature-card">
<div class="feature-icon">📅</div>
<h3>Daily Claims</h3>
<p>Reward daily activity with streak bonuses. Configurable rewards and multipliers.</p>
</div>
</div>
</div>
<!-- Rewards Features -->
<div class="feature-category">
<div class="category-header">
<div class="category-icon">🎁</div>
<h3>Rewards & Economy</h3>
</div>
<div class="features-grid">
<div class="feature-card">
<div class="feature-icon">🎯</div>
<h3>Quest System</h3>
<p>Daily and weekly challenges with custom objectives. Reward XP, roles, and perks.</p>
</div>
<div class="feature-card">
<div class="feature-icon">🎖️</div>
<h3>Achievements</h3>
<p>50+ triggers including levels, messages, voice time, and custom events. Unlock badges.</p>
</div>
<div class="feature-card">
<div class="feature-icon">🛒</div>
<h3>XP Shop</h3>
<p>Let members spend XP on roles, badges, and custom items. Full inventory system.</p>
</div>
<div class="feature-card">
<div class="feature-icon">🎉</div>
<h3>Giveaways</h3>
<p>Automated giveaways with requirements, rerolls, and winner announcements.</p>
</div>
</div>
</div>
<!-- Security Features -->
<div class="feature-category">
<div class="category-header">
<div class="category-icon">🛡️</div>
<h3>Security & Moderation</h3>
</div>
<div class="features-grid">
<div class="feature-card">
<div class="feature-icon">🔥</div>
<h3>Sentinel Anti-Nuke</h3>
<p>RAM-based heat tracking detects mass bans, kicks, and deletions. Automatic lockdown.</p>
</div>
<div class="feature-card">
<div class="feature-icon">🤖</div>
<h3>Auto-Moderation</h3>
<p>Configurable filters for links, spam, bad words, invites, and mass mentions.</p>
</div>
<div class="feature-card">
<div class="feature-icon">📋</div>
<h3>Mod Tools</h3>
<p>Warn, kick, ban, timeout with full logging. View history and audit trails.</p>
</div>
<div class="feature-card">
<div class="feature-icon"></div>
<h3>Verification</h3>
<p>Link Discord to AeThex platform accounts. Verified badges and role assignments.</p>
</div>
</div>
</div>
<!-- Community Features -->
<div class="feature-category">
<div class="category-header">
<div class="category-icon">👥</div>
<h3>Community Tools</h3>
</div>
<div class="features-grid">
<div class="feature-card">
<div class="feature-icon">🎭</div>
<h3>Role Panels</h3>
<p>Interactive button-based role selection. Create multiple panels with requirements.</p>
</div>
<div class="feature-card">
<div class="feature-icon">👋</div>
<h3>Welcome System</h3>
<p>Rich embed messages for joins and leaves. Dynamic variables and custom designs.</p>
</div>
<div class="feature-card">
<div class="feature-icon">📢</div>
<h3>Announcements</h3>
<p>Schedule messages with embeds. Recurring daily, weekly, or monthly posts.</p>
</div>
<div class="feature-card">
<div class="feature-icon">🔗</div>
<h3>Federation Sync</h3>
<p>Map roles between servers. Automatic sync across the entire AeThex network.</p>
</div>
</div>
</div>
<!-- Fun & Games Features -->
<div class="feature-category">
<div class="category-header">
<div class="category-icon">🎮</div>
<h3>Fun & Games</h3>
</div>
<div class="features-grid">
<div class="feature-card">
<div class="feature-icon">🎱</div>
<h3>8-Ball & Fortune</h3>
<p>Ask the magic 8-ball questions, flip coins, and roll dice with custom notation.</p>
</div>
<div class="feature-card">
<div class="feature-icon">🧠</div>
<h3>Trivia</h3>
<p>Multiple categories, earn XP for correct answers. Test your knowledge daily.</p>
</div>
<div class="feature-card">
<div class="feature-icon">⚔️</div>
<h3>Duels</h3>
<p>Challenge others to 1v1 battles. Bet XP on the outcome for extra rewards.</p>
</div>
<div class="feature-card">
<div class="feature-icon">🎰</div>
<h3>Slot Machine</h3>
<p>Try your luck at slots. Match symbols for XP jackpots and winning streaks.</p>
</div>
</div>
</div>
<!-- Social Features -->
<div class="feature-category">
<div class="category-header">
<div class="category-icon">❤️</div>
<h3>Social & Interaction</h3>
</div>
<div class="features-grid">
<div class="feature-card">
<div class="feature-icon"></div>
<h3>Reputation</h3>
<p>Give and receive rep points. Build your community standing over time.</p>
</div>
<div class="feature-card">
<div class="feature-icon">🤗</div>
<h3>Social Actions</h3>
<p>Hugs, high-fives, and more with animated GIFs. Express yourself!</p>
</div>
<div class="feature-card">
<div class="feature-icon">🎂</div>
<h3>Birthdays</h3>
<p>Set your birthday, view upcoming celebrations, get special recognition.</p>
</div>
<div class="feature-card">
<div class="feature-icon"></div>
<h3>Reminders</h3>
<p>Set personal reminders. Never forget important events or tasks.</p>
</div>
</div>
</div>
<!-- Economy Features -->
<div class="feature-category">
<div class="category-header">
<div class="category-icon">💰</div>
<h3>Economy & Trading</h3>
</div>
<div class="features-grid">
<div class="feature-card">
<div class="feature-icon">💼</div>
<h3>Work System</h3>
<p>Work hourly for XP rewards. Different jobs with varying payouts.</p>
</div>
<div class="feature-card">
<div class="feature-icon">🏦</div>
<h3>Heists</h3>
<p>Team up for group heists. Higher risk, higher rewards. Strategy matters.</p>
</div>
<div class="feature-card">
<div class="feature-icon">🎁</div>
<h3>Gifting</h3>
<p>Gift XP to friends and community members. Spread the wealth.</p>
</div>
<div class="feature-card">
<div class="feature-icon">🔄</div>
<h3>Trading</h3>
<p>Trade items between users. Full inventory system with secure trades.</p>
</div>
</div>
</div>
<!-- Utility Features -->
<div class="feature-category">
<div class="category-header">
<div class="category-icon">🔧</div>
<h3>Utility Tools</h3>
</div>
<div class="features-grid">
<div class="feature-card">
<div class="feature-icon">🌐</div>
<h3>Translation</h3>
<p>Translate text between 100+ languages instantly. Break language barriers.</p>
</div>
<div class="feature-card">
<div class="feature-icon">📖</div>
<h3>Definitions</h3>
<p>Look up word definitions, synonyms, and usage examples.</p>
</div>
<div class="feature-card">
<div class="feature-icon">🔢</div>
<h3>Calculator</h3>
<p>Safe math expression evaluator. Complex calculations made easy.</p>
</div>
<div class="feature-card">
<div class="feature-icon">📱</div>
<h3>QR Codes</h3>
<p>Generate QR codes for any text or URL. Share links instantly.</p>
</div>
</div>
</div>
</div>
</section>
<!-- Hub Section -->
<section class="section" id="hub">
<div class="container">
<div class="section-header">
<p class="section-eyebrow">Web Dashboard</p>
<h2 class="section-title">Your <span class="text-gradient">Command Center</span></h2>
<p class="section-subtitle">Manage everything from a sleek web interface. View stats, configure settings, and track progress.</p>
</div>
<div class="hub-grid">
<a href="/dashboard" class="hub-card">
<h3>Profile & Stats</h3>
<div class="hub-card-tags">
<span class="hub-tag">XP</span>
<span class="hub-tag">Level</span>
<span class="hub-tag">Badges</span>
</div>
<p>View your unified profile, XP history, and achievements across all servers</p>
<span class="hub-card-link">
View Profile
<svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M5 12h14M12 5l7 7-7 7"/></svg>
</span>
</a>
<a href="/dashboard" class="hub-card">
<h3>Leaderboards</h3>
<div class="hub-card-tags">
<span class="hub-tag">Weekly</span>
<span class="hub-tag">Global</span>
</div>
<p>See top members across servers and compete for federation rankings</p>
<span class="hub-card-link">
View Rankings
<svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M5 12h14M12 5l7 7-7 7"/></svg>
</span>
</a>
<a href="/dashboard" class="hub-card">
<h3>Quest Board</h3>
<div class="hub-card-tags">
<span class="hub-tag">Daily</span>
<span class="hub-tag">Weekly</span>
</div>
<p>Track active quests, view progress, and claim rewards</p>
<span class="hub-card-link">
View Quests
<svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M5 12h14M12 5l7 7-7 7"/></svg>
</span>
</a>
<a href="/dashboard" class="hub-card">
<h3>XP Shop</h3>
<div class="hub-card-tags">
<span class="hub-tag">Roles</span>
<span class="hub-tag">Items</span>
</div>
<p>Spend your earned XP on exclusive roles, badges, and perks</p>
<span class="hub-card-link">
Browse Shop
<svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M5 12h14M12 5l7 7-7 7"/></svg>
</span>
</a>
</div>
</div>
</section>
<!-- Add Warden to Your Server Section -->
<section class="section add-warden-section" id="invite">
<div class="container">
<div class="section-header">
<p class="section-eyebrow">For Server Owners</p>
<h2 class="section-title">Add <span class="text-gradient">Warden</span> to Your Server</h2>
<p class="section-subtitle">Whether you're part of the AeThex ecosystem or running an independent community, Warden provides powerful tools for your server.</p>
</div>
<div class="add-warden-intro">
<p>Warden works great as a standalone bot for any Discord server, but it truly shines when connected to the AeThex network. You choose how much integration you want - from zero to full federation.</p>
</div>
<!-- 3-Step Invite Flow -->
<div class="invite-steps">
<div class="invite-step">
<div class="step-number">1</div>
<h3>Invite Warden</h3>
<p>Add the bot to your server with a single click. No complicated setup required.</p>
</div>
<div class="invite-step">
<div class="step-number">2</div>
<h3>Configure</h3>
<p>Use /config to customize features. Sensible defaults mean you can skip this step.</p>
</div>
<div class="invite-step">
<div class="step-number">3</div>
<h3>Go Live</h3>
<p>Your server is ready! Members can start earning XP and using features immediately.</p>
</div>
</div>
<!-- Two Modes -->
<div class="modes-grid">
<div class="mode-card standalone">
<div class="mode-header">
<div class="mode-icon">🏠</div>
<h3>Standalone Mode</h3>
</div>
<p>Perfect for independent communities. All features work without any external connections. Your server, your rules.</p>
<div class="mode-features">
<div class="mode-feature">
<svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M20 6L9 17l-5-5"/></svg>
<span>Full XP, leveling, and prestige system</span>
</div>
<div class="mode-feature">
<svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M20 6L9 17l-5-5"/></svg>
<span>Quests, achievements, and shop</span>
</div>
<div class="mode-feature">
<svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M20 6L9 17l-5-5"/></svg>
<span>Sentinel security and auto-mod</span>
</div>
<div class="mode-feature">
<svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M20 6L9 17l-5-5"/></svg>
<span>Server-specific leaderboards</span>
</div>
<div class="mode-feature">
<svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M20 6L9 17l-5-5"/></svg>
<span>No external dependencies</span>
</div>
</div>
</div>
<div class="mode-card federated">
<div class="mode-header">
<div class="mode-icon">🌐</div>
<h3>Federated Mode</h3>
</div>
<p>Join the AeThex network. Your members' progress syncs across 5+ linked servers. Optional and admin-controlled.</p>
<div class="mode-features">
<div class="mode-feature">
<svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M20 6L9 17l-5-5"/></svg>
<span>All standalone features included</span>
</div>
<div class="mode-feature">
<svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M20 6L9 17l-5-5"/></svg>
<span>Cross-server XP pooling</span>
</div>
<div class="mode-feature">
<svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M20 6L9 17l-5-5"/></svg>
<span>Global leaderboards and rankings</span>
</div>
<div class="mode-feature">
<svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M20 6L9 17l-5-5"/></svg>
<span>Role sync between servers</span>
</div>
<div class="mode-feature">
<svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M20 6L9 17l-5-5"/></svg>
<span>Connect to AeThex Studio & Foundation</span>
</div>
</div>
</div>
</div>
<!-- CTA -->
<div class="invite-cta">
<h3>Ready to Level Up Your Server?</h3>
<p>Join hundreds of communities already using Warden. Free forever, no strings attached.</p>
<div class="invite-buttons">
<a href="https://discord.com/api/oauth2/authorize?client_id=578971245454950421&permissions=8&scope=bot%20applications.commands" class="btn btn-primary btn-lg" target="_blank">
<svg width="20" height="20" viewBox="0 0 24 24" fill="currentColor"><path d="M20.317 4.37a19.791 19.791 0 0 0-4.885-1.515.074.074 0 0 0-.079.037c-.21.375-.444.864-.608 1.25a18.27 18.27 0 0 0-5.487 0 12.64 12.64 0 0 0-.617-1.25.077.077 0 0 0-.079-.037A19.736 19.736 0 0 0 3.677 4.37a.07.07 0 0 0-.032.027C.533 9.046-.32 13.58.099 18.057a.082.082 0 0 0 .031.057 19.9 19.9 0 0 0 5.993 3.03.078.078 0 0 0 .084-.028c.462-.63.874-1.295 1.226-1.994a.076.076 0 0 0-.041-.106 13.107 13.107 0 0 1-1.872-.892.077.077 0 0 1-.008-.128 10.2 10.2 0 0 0 .372-.292.074.074 0 0 1 .077-.01c3.928 1.793 8.18 1.793 12.062 0a.074.074 0 0 1 .078.01c.12.098.246.198.373.292a.077.077 0 0 1-.006.127 12.299 12.299 0 0 1-1.873.892.077.077 0 0 0-.041.107c.36.698.772 1.362 1.225 1.993a.076.076 0 0 0 .084.028 19.839 19.839 0 0 0 6.002-3.03.077.077 0 0 0 .032-.054c.5-5.177-.838-9.674-3.549-13.66a.061.061 0 0 0-.031-.03z"/></svg>
Invite Warden
</a>
<a href="https://discord.gg/athx" class="btn btn-secondary btn-lg" target="_blank">
<svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><circle cx="12" cy="12" r="10"/><path d="M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3"/><path d="M12 17h.01"/></svg>
Join Support Server
</a>
</div>
</div>
</div>
</section>
<!-- Free Forever Section -->
<section class="section free-section" id="support">
<div class="container">
<div class="section-header">
<p class="section-eyebrow">Our Promise</p>
<h2 class="section-title"><span class="text-gradient-gold">Free Forever</span>, Community Powered</h2>
<p class="section-subtitle">Warden will always be free. No premium tiers, no paywalled features. Just a community-supported project built with love.</p>
</div>
<div class="free-content">
<div class="free-text">
<h3>Every Feature. Zero Cost.</h3>
<p>We believe community tools should be accessible to everyone. Warden includes all features at no cost - XP systems, quests, achievements, shops, security, federation sync, and more. No artificial limits. No "premium" upsells.</p>
<div class="free-features">
<div class="free-feature">
<svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M20 6L9 17l-5-5"/></svg>
<span>Unlimited servers</span>
</div>
<div class="free-feature">
<svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M20 6L9 17l-5-5"/></svg>
<span>All 44+ commands</span>
</div>
<div class="free-feature">
<svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M20 6L9 17l-5-5"/></svg>
<span>Full XP system</span>
</div>
<div class="free-feature">
<svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M20 6L9 17l-5-5"/></svg>
<span>Federation sync</span>
</div>
<div class="free-feature">
<svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M20 6L9 17l-5-5"/></svg>
<span>Sentinel security</span>
</div>
<div class="free-feature">
<svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M20 6L9 17l-5-5"/></svg>
<span>Web dashboard</span>
</div>
<div class="free-feature">
<svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M20 6L9 17l-5-5"/></svg>
<span>24/7 uptime</span>
</div>
<div class="free-feature">
<svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M20 6L9 17l-5-5"/></svg>
<span>Priority support</span>
</div>
</div>
</div>
<div class="donation-card">
<h4>Support the Project</h4>
<p>Love Warden? Your donations help cover hosting costs and fund new features. Every contribution makes a difference.</p>
<div class="donation-tiers">
<a href="https://ko-fi.com/aethex" target="_blank" class="donation-tier">
<div class="amount">$3</div>
<div class="label">Coffee</div>
</a>
<a href="https://ko-fi.com/aethex" target="_blank" class="donation-tier">
<div class="amount">$10</div>
<div class="label">Supporter</div>
</a>
<a href="https://ko-fi.com/aethex" target="_blank" class="donation-tier">
<div class="amount">$25</div>
<div class="label">Champion</div>
</a>
</div>
<p class="donation-note">Donors receive a special badge on their profile and our eternal gratitude.</p>
<div class="donation-links">
<a href="https://ko-fi.com/aethex" target="_blank" class="btn btn-donate">
<svg width="18" height="18" viewBox="0 0 24 24" fill="currentColor"><path d="M12 21.35l-1.45-1.32C5.4 15.36 2 12.28 2 8.5 2 5.42 4.42 3 7.5 3c1.74 0 3.41.81 4.5 2.09C13.09 3.81 14.76 3 16.5 3 19.58 3 22 5.42 22 8.5c0 3.78-3.4 6.86-8.55 11.54L12 21.35z"/></svg>
Donate via Ko-fi
</a>
<a href="https://aethex.foundation/donate" target="_blank" class="btn btn-outline">
AeThex Foundation
</a>
</div>
</div>
</div>
</div>
</section>
<!-- CTA Section -->
<section class="cta-section">
<div class="container">
<div class="cta-box">
<h2>Ready to Join the <span class="text-gradient">AeThex Network</span>?</h2>
<p>Add Warden to your server and connect to an ecosystem of engaged communities. Setup takes less than 2 minutes.</p>
<div class="cta-buttons">
<a href="https://discord.com/api/oauth2/authorize?client_id=578971245454950421&permissions=8&scope=bot%20applications.commands" class="btn btn-primary btn-lg" target="_blank">
<svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M12 5v14M5 12h14"/></svg>
Add Warden to Your Server
</a>
<a href="https://discord.gg/athx" target="_blank" class="btn btn-secondary btn-lg">
Join Our Discord
</a>
</div>
</div>
</div>
</section>
</main>
<footer>
<div class="container">
<div class="footer-grid">
<div class="footer-brand">
<a href="/" class="logo">
<img src="/logo.png" alt="AeThex" class="logo-icon">
<span class="logo-text">AeThex | Warden</span>
</a>
<p>The unified Discord bot connecting the entire AeThex ecosystem. Free forever, community powered.</p>
</div>
<div class="footer-column">
<h4>Ecosystem</h4>
<a href="https://aethex.studio" target="_blank">AeThex.studio</a>
<a href="https://aethex.foundation" target="_blank">AeThex.foundation</a>
<a href="https://discord.gg/athx" target="_blank">Discord Community</a>
</div>
<div class="footer-column">
<h4>Bot</h4>
<a href="/dashboard">Dashboard</a>
<a href="#features">Features</a>
<a href="#federation">Federation</a>
<a href="https://discord.com/api/oauth2/authorize?client_id=578971245454950421&permissions=8&scope=bot%20applications.commands" target="_blank">Add to Server</a>
</div>
<div class="footer-column">
<h4>Support</h4>
<a href="https://discord.gg/athx" target="_blank">Get Help</a>
<a href="https://ko-fi.com/aethex" target="_blank">Donate</a>
<a href="https://aethex.foundation/donate" target="_blank">Foundation</a>
</div>
</div>
<div class="footer-bottom">
<p class="footer-copy">&copy; 2025 AeThex. Free forever. Community powered.</p>
<div class="footer-social">
<a href="https://discord.gg/athx" target="_blank" title="Discord">
<svg width="20" height="20" viewBox="0 0 24 24" fill="currentColor"><path d="M20.317 4.37a19.791 19.791 0 0 0-4.885-1.515.074.074 0 0 0-.079.037c-.21.375-.444.864-.608 1.25a18.27 18.27 0 0 0-5.487 0 12.64 12.64 0 0 0-.617-1.25.077.077 0 0 0-.079-.037A19.736 19.736 0 0 0 3.677 4.37a.07.07 0 0 0-.032.027C.533 9.046-.32 13.58.099 18.057a.082.082 0 0 0 .031.057 19.9 19.9 0 0 0 5.993 3.03.078.078 0 0 0 .084-.028 14.09 14.09 0 0 0 1.226-1.994.076.076 0 0 0-.041-.106 13.107 13.107 0 0 1-1.872-.892.077.077 0 0 1-.008-.128 10.2 10.2 0 0 0 .372-.292.074.074 0 0 1 .077-.01c3.928 1.793 8.18 1.793 12.062 0a.074.074 0 0 1 .078.01c.12.098.246.198.373.292a.077.077 0 0 1-.006.127 12.299 12.299 0 0 1-1.873.892.077.077 0 0 0-.041.107c.36.698.772 1.362 1.225 1.993a.076.076 0 0 0 .084.028 19.839 19.839 0 0 0 6.002-3.03.077.077 0 0 0 .032-.054c.5-5.177-.838-9.674-3.549-13.66a.061.061 0 0 0-.031-.03zM8.02 15.33c-1.183 0-2.157-1.085-2.157-2.419 0-1.333.956-2.419 2.157-2.419 1.21 0 2.176 1.096 2.157 2.42 0 1.333-.956 2.418-2.157 2.418zm7.975 0c-1.183 0-2.157-1.085-2.157-2.419 0-1.333.955-2.419 2.157-2.419 1.21 0 2.176 1.096 2.157 2.42 0 1.333-.946 2.418-2.157 2.418z"/></svg>
</a>
<a href="https://github.com/aethex" target="_blank" title="GitHub">
<svg width="20" height="20" viewBox="0 0 24 24" fill="currentColor"><path d="M12 0c-6.626 0-12 5.373-12 12 0 5.302 3.438 9.8 8.207 11.387.599.111.793-.261.793-.577v-2.234c-3.338.726-4.033-1.416-4.033-1.416-.546-1.387-1.333-1.756-1.333-1.756-1.089-.745.083-.729.083-.729 1.205.084 1.839 1.237 1.839 1.237 1.07 1.834 2.807 1.304 3.492.997.107-.775.418-1.305.762-1.604-2.665-.305-5.467-1.334-5.467-5.931 0-1.311.469-2.381 1.236-3.221-.124-.303-.535-1.524.117-3.176 0 0 1.008-.322 3.301 1.23.957-.266 1.983-.399 3.003-.404 1.02.005 2.047.138 3.006.404 2.291-1.552 3.297-1.23 3.297-1.23.653 1.653.242 2.874.118 3.176.77.84 1.235 1.911 1.235 3.221 0 4.609-2.807 5.624-5.479 5.921.43.372.823 1.102.823 2.222v3.293c0 .319.192.694.801.576 4.765-1.589 8.199-6.086 8.199-11.386 0-6.627-5.373-12-12-12z"/></svg>
</a>
</div>
</div>
</div>
</footer>
<script>
async function loadStats() {
try {
const res = await fetch('/api/bot-stats');
const data = await res.json();
document.getElementById('serverCount').textContent = data.guilds.toLocaleString();
document.getElementById('userCount').textContent = data.users.toLocaleString();
const hours = Math.floor(data.uptime / 3600);
const days = Math.floor(hours / 24);
if (days > 0) {
document.getElementById('uptimeValue').textContent = '99.9%';
}
} catch (e) {
document.getElementById('serverCount').textContent = '5+';
document.getElementById('userCount').textContent = '1,000+';
}
}
async function checkAuth() {
try {
const res = await fetch('/api/me');
if (res.ok) {
const user = await res.json();
const btn = document.getElementById('loginBtn');
btn.innerHTML = `<img src="${user.avatarUrl}" style="width:20px;height:20px;border-radius:50%;margin-right:6px"> ${user.globalName || user.username}`;
btn.href = '/dashboard';
}
} catch (e) {}
}
loadStats();
checkAuth();
setInterval(loadStats, 60000);
// Smooth scroll for anchor links
document.querySelectorAll('a[href^="#"]').forEach(anchor => {
anchor.addEventListener('click', function (e) {
e.preventDefault();
const target = document.querySelector(this.getAttribute('href'));
if (target) {
target.scrollIntoView({ behavior: 'smooth', block: 'start' });
}
});
});
</script>
</body>
</html>