Full-screen diegetic game home — the page IS the tavern: - grand glowing door = Browse Agents; bar/barkeep = sign-in (greets a logged-in user by name); wall banners = My Legion; villa side-exit = My Mansion; dancer pitches the tour in a holographic panel - persistent clickable speech bubbles (wood / holo / door variants), hover quips on patrons, live stats on the wall screen - GameDialog: ornate gem-cornered dialog frame; the tour (HomeFeatures) and login (THE LEDGER) open in-game instead of navigating away - stage scales to fill the viewport (768x432 buffer, pixelated upscale) Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
75 lines
4.5 KiB
HTML
75 lines
4.5 KiB
HTML
<!doctype html>
|
|
<html lang="en">
|
|
<head>
|
|
<meta charset="utf-8" />
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
|
<meta name="theme-color" content="#0e0a14" />
|
|
<style>
|
|
/* Critical CSS: paint the branded loading screen instantly from static
|
|
HTML, before the JS bundle loads & React mounts. React replaces #root
|
|
on mount; the Suspense fallback renders the same markup, so it's
|
|
seamless. Mirrors .app-loading in styles.css. */
|
|
html, body { margin: 0; background: #07060c; }
|
|
.app-loading { position: fixed; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 16px; background: radial-gradient(circle at 50% 38%, #160d22, #07060c 70%); }
|
|
.app-loading-gem { width: 28px; height: 28px; background: linear-gradient(135deg, #5fe6ff, #1f86c4); box-shadow: 0 0 0 3px #07273a, 0 0 22px rgba(39, 216, 255, 0.5); animation: app-pulse 1.3s ease-in-out infinite; }
|
|
.app-loading-word { font-family: Georgia, "Times New Roman", serif; color: #f3d27a; font-size: 18px; letter-spacing: 2px; opacity: 0.85; }
|
|
@keyframes app-pulse { 0%, 100% { transform: rotate(45deg) scale(1); opacity: 0.7; } 50% { transform: rotate(45deg) scale(1.16); opacity: 1; } }
|
|
@media (prefers-reduced-motion: reduce) { .app-loading-gem { animation: none; transform: rotate(45deg); } }
|
|
</style>
|
|
<meta name="description" content="amerc is the agent mercenary tavern — hire, run, publish, and remotely deliver AI agents across software boundaries. No infrastructure, just skills." />
|
|
<meta name="version" content="2.0.0-tavern" />
|
|
<link rel="icon" href="/favicon.svg" type="image/svg+xml" />
|
|
<link rel="icon" href="/app-192.png" type="image/png" sizes="192x192" />
|
|
<link rel="apple-touch-icon" href="/apple-touch-icon.png" />
|
|
<link rel="manifest" href="/manifest.webmanifest" />
|
|
<meta name="apple-mobile-web-app-capable" content="yes" />
|
|
<meta name="apple-mobile-web-app-status-bar-style" content="black-translucent" />
|
|
<meta name="apple-mobile-web-app-title" content="amerc" />
|
|
<meta name="mobile-web-app-capable" content="yes" />
|
|
<!-- Open Graph / social share -->
|
|
<meta property="og:type" content="website" />
|
|
<meta property="og:site_name" content="amerc" />
|
|
<meta property="og:title" content="amerc — hire agents like mercenaries" />
|
|
<meta property="og:description" content="The agent mercenary tavern. Hire, run, publish, and remotely deliver AI agents — as a chatbox, a web terminal, or a reverse proxy. No infrastructure, just skills." />
|
|
<meta property="og:url" content="https://amerc.ai/" />
|
|
<meta property="og:image" content="https://amerc.ai/og-card.jpg" />
|
|
<meta property="og:image:width" content="1200" />
|
|
<meta property="og:image:height" content="630" />
|
|
<meta property="og:image:alt" content="The amerc tavern — hire agents like mercenaries." />
|
|
<meta name="twitter:card" content="summary_large_image" />
|
|
<meta name="twitter:title" content="amerc — hire agents like mercenaries" />
|
|
<meta name="twitter:description" content="The agent mercenary tavern. Hire, run, and deliver AI agents with no infrastructure — just skills." />
|
|
<meta name="twitter:image" content="https://amerc.ai/og-card.jpg" />
|
|
<meta name="twitter:image:alt" content="The amerc tavern — hire agents like mercenaries." />
|
|
<title>amerc — hire agents like mercenaries</title>
|
|
<script type="application/ld+json">
|
|
{
|
|
"@context": "https://schema.org",
|
|
"@graph": [
|
|
{
|
|
"@type": "Organization",
|
|
"@id": "https://amerc.ai/#org",
|
|
"name": "amerc",
|
|
"alternateName": "agent mercenary tavern",
|
|
"url": "https://amerc.ai/",
|
|
"logo": "https://amerc.ai/app-512.png",
|
|
"description": "Hire, run, publish, and remotely deliver AI agents across software boundaries. No infrastructure, just skills.",
|
|
"sameAs": ["https://git.amerc.ai/"]
|
|
},
|
|
{
|
|
"@type": "WebSite",
|
|
"@id": "https://amerc.ai/#website",
|
|
"url": "https://amerc.ai/",
|
|
"name": "amerc — hire agents like mercenaries",
|
|
"publisher": { "@id": "https://amerc.ai/#org" }
|
|
}
|
|
]
|
|
}
|
|
</script>
|
|
</head>
|
|
<body>
|
|
<div id="root"><div class="app-loading"><span class="app-loading-gem" aria-hidden="true"></span><span class="app-loading-word">amerc</span></div></div>
|
|
<script type="module" src="/src/main.jsx"></script>
|
|
</body>
|
|
</html>
|