enprot 0.4.0

Engyon Protected Text (EPT) โ€” confidentiality processor and capability ledger
---
import "../styles/global.css";

const navItems = [
  { href: "/", label: "Home" },
  { href: "/docs/architecture", label: "Architecture" },
  { href: "/docs/capability-model", label: "Capability Model" },
  { href: "/docs/merge-semantics", label: "Distributed Merge" },
  { href: "/docs/chain-dag", label: "Chain DAG" },
  { href: "/docs/stages", label: "Stages" },
  { href: "/docs/examples", label: "Examples" },
];

const { title = "enprot", description = "Engyon Protected Text โ€” confidentiality processor and capability ledger." } = Astro.props;
---

<!doctype html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <meta name="description" content={description} />
    <title>{title}</title>
  </head>
  <body class="min-h-screen flex flex-col">
    <header class="border-b border-enprot-ink/10">
      <nav class="max-w-5xl mx-auto px-4 py-3 flex items-baseline gap-6">
        <a href="/" class="font-mono font-bold text-enprot-ink">enprot</a>
        <ul class="flex gap-4 text-sm flex-wrap">
          {navItems.map((item) => (
            <li>
              <a href={item.href} class="text-enprot-muted hover:text-enprot-accent transition-colors">
                {item.label}
              </a>
            </li>
          ))}
        </ul>
      </nav>
    </header>

    <main class="flex-1 max-w-5xl mx-auto px-4 py-8 w-full">
      <slot />
    </main>

    <footer class="border-t border-enprot-ink/10 mt-12">
      <div class="max-w-5xl mx-auto px-4 py-6 text-sm text-enprot-muted flex flex-wrap justify-between gap-4">
        <span>BSD-2-Clause ยท <a href="https://github.com/engyon/enprot" class="underline hover:text-enprot-accent">github.com/engyon/enprot</a></span>
        <span>v0.4.0</span>
      </div>
    </footer>
  </body>
</html>