amerc/index.html
artheru e5e79d75aa docs: collapsible doc nav on mobile (0.91.0)
a mobile audit (no overflow anywhere; agent modal + on-this-page TOC both fine)
turned up one weak spot: on phones the doc tree was a cramped 210px scroll area
pinned above every page, and it never scrolled the active doc into view — so
you couldn't tell which doc you were reading or reach half of them easily.

- the sidebar now collapses to a compact bar showing the CURRENT doc + a
  chevron; tap to reveal the full tree (active doc highlighted), tap a doc to
  navigate and auto-collapse
- desktop is byte-for-byte unchanged: the collapsible wrapper is display:contents
  off-mobile, so the tree stays a normal flex child (sidebar still 280px)
- verified live: mobile collapsed shows 'API reference', expands to 8 docs,
  selecting Quickstart navigates + collapses + relabels; desktop toggle hidden,
  tree intact
2026-06-10 13:35:07 +08:00

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="0.91.0-docsnav" />
<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>