<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>AI Tool</title>
<!-- Sources and assets referenced only as strings in JS are lifted here so the
     bundler can find them; at runtime window.__resources holds the blob URLs. -->
<meta name="ext-resource-dependency" content="./lib/contracts.js" data-resource-id="f0"><meta name="ext-resource-dependency" content="./enums.js" data-resource-id="f1"><meta name="ext-resource-dependency" content="./nav.js" data-resource-id="f2"><meta name="ext-resource-dependency" content="./metrics.js" data-resource-id="f3"><meta name="ext-resource-dependency" content="./fixtures.js" data-resource-id="f4"><meta name="ext-resource-dependency" content="./lib/ui-runtime.js" data-resource-id="f5"><meta name="ext-resource-dependency" content="./lib/command-palette.js" data-resource-id="f6"><meta name="ext-resource-dependency" content="./lib/template-menu.js" data-resource-id="f7"><meta name="ext-resource-dependency" content="./ParleyParts.jsx" data-resource-id="f8"><meta name="ext-resource-dependency" content="./ParleyShell.jsx" data-resource-id="f9"><meta name="ext-resource-dependency" content="./ChatScreen.jsx" data-resource-id="f10"><meta name="ext-resource-dependency" content="./WorkScreens.jsx" data-resource-id="f11"><meta name="ext-resource-dependency" content="./UsageScreen.jsx" data-resource-id="f12"><meta name="ext-resource-dependency" content="./ParleyAccountScreens.jsx" data-resource-id="f13"><meta name="ext-resource-dependency" content="./WorkspaceScreens.jsx" data-resource-id="f14"><meta name="ext-resource-dependency" content="./DiscoveryScreens.jsx" data-resource-id="f15"><meta name="ext-resource-dependency" content="./App.jsx" data-resource-id="f16">
<meta name="ext-resource-dependency" content="../../assets/templates/logos/08-logo-demo.svg" data-resource-id="brand"><meta name="ext-resource-dependency" content="./assets/avatar-nils.jpg" data-resource-id="avatarNils">
<link rel="stylesheet" href="../../tokens/fonts.css"><link rel="stylesheet" href="../../tokens/colors.css"><link rel="stylesheet" href="../../tokens/typography.css"><link rel="stylesheet" href="../../tokens/spacing.css"><link rel="stylesheet" href="../../tokens/radius.css"><link rel="stylesheet" href="../../tokens/elevation.css"><link rel="stylesheet" href="../../tokens/motion.css"><link rel="stylesheet" href="../../css/base.css"><link rel="stylesheet" href="../../css/controls.css"><link rel="stylesheet" href="../../css/surfaces.css"><link rel="stylesheet" href="../../css/overlays.css"><link rel="stylesheet" href="../../css/navigation.css"><link rel="stylesheet" href="../../css/data.css"><link rel="stylesheet" href="./kit.css">
<style>html,body{margin:0;padding:0;height:100%}#root{height:100%}</style>
<template id="__bundler_thumbnail" data-bg-color="#12100f">
<svg viewBox="0 0 1200 800" xmlns="http://www.w3.org/2000/svg"><rect width="1200" height="800" fill="#12100f"/><rect x="140" y="180" width="620" height="120" rx="60" fill="#e9e4dd"/><rect x="440" y="340" width="620" height="120" rx="60" fill="#e2603f"/><rect x="140" y="500" width="920" height="160" rx="48" fill="#2a2624"/></svg>
</template>
<script src="https://unpkg.com/react@18.3.1/umd/react.development.js" crossorigin="anonymous"></script>
<script src="https://unpkg.com/react-dom@18.3.1/umd/react-dom.development.js" crossorigin="anonymous"></script>
<script src="https://unpkg.com/@babel/standalone@7.29.0/babel.min.js" crossorigin="anonymous"></script>
<script src="https://unpkg.com/lucide@0.544.0/dist/umd/lucide.min.js" crossorigin="anonymous"></script>
<script src="../../_ds_bundle.js"></script>
</head>
<body>
<div id="root"></div>
<script>
/* Standalone boot: the same file list boot.js loads, in the same order, but
   every source and asset is read through window.__resources so the bundled
   file needs no network. */
(() => {
  const FILES = ["lib/contracts.js","enums.js","nav.js","metrics.js","fixtures.js","lib/ui-runtime.js","lib/command-palette.js","lib/template-menu.js","ParleyParts.jsx","ParleyShell.jsx","ChatScreen.jsx","WorkScreens.jsx","UsageScreen.jsx","ParleyAccountScreens.jsx","WorkspaceScreens.jsx","DiscoveryScreens.jsx","App.jsx"];
  const ASSETS = {"brand":"../../assets/templates/logos/08-logo-demo.svg","avatarNils":"assets/avatar-nils.jpg"};
  const res = (id, fallback) => (window.__resources && window.__resources[id]) || fallback;
  const swap = (src) => { let out = src; for (const id in ASSETS) out = out.split(ASSETS[id]).join(res(id, ASSETS[id])); return out; };
  (async () => {
    const sources = await Promise.all(FILES.map((f, i) => fetch(res("f" + i, "./" + f)).then((r) => r.text())));
    for (let i = 0; i < FILES.length; i++) {
      const out = window.Babel.transform(swap(sources[i]), { presets: ["react"], filename: FILES[i] }).code;
      try { new Function(out)(); } catch (e) { console.error("standalone: " + FILES[i], e); throw e; }
    }
    window.ReactDOM.createRoot(document.getElementById("root")).render(window.React.createElement(window.__parleyReal));
  })().catch((e) => console.error("standalone:", e));
})();
</script>
</body>
</html>
