mindpm 1.2.37 → 1.2.39

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -262,7 +262,9 @@ You have access to mindpm, a persistent project memory tool. Use it proactively
262
262
  ## Session lifecycle
263
263
 
264
264
  **At the start of every conversation:**
265
- Call \`start_session\` immediately. It returns your project context: last session summary, active tasks, blockers, and recent decisions. Always show the kanban_url to the user as a clickable link.
265
+ Call \`start_session\` with the project name. It returns your project context: last session summary, active tasks, blockers, and recent decisions. Always show the kanban_url to the user as a clickable link.
266
+
267
+ If working across **multiple projects** in one conversation, call \`start_session\` once for each project. After that, all tools will require an explicit \`project\` argument \u2014 pass it on every call to avoid ambiguity.
266
268
 
267
269
  **During the conversation:**
268
270
  - When work is identified \u2192 call \`create_task\`
@@ -271,7 +273,7 @@ Call \`start_session\` immediately. It returns your project context: last sessio
271
273
  - When task status changes \u2192 call \`update_task\`
272
274
 
273
275
  **At the end of the conversation:**
274
- Call \`end_session\` with a summary of what was accomplished and clear next_steps for the following session.
276
+ Call \`end_session\` for each project you worked on, with a summary and clear next_steps.
275
277
 
276
278
  ## Principles
277
279
 
@@ -352,6 +354,15 @@ function closeDb() {
352
354
  }
353
355
  }
354
356
 
357
+ // src/utils/session-state.ts
358
+ var autoStartedProjects = /* @__PURE__ */ new Set();
359
+ function markSessionStarted(projectId) {
360
+ autoStartedProjects.add(projectId);
361
+ }
362
+ function getSessionStartedProjects() {
363
+ return [...autoStartedProjects];
364
+ }
365
+
355
366
  // src/db/queries.ts
356
367
  function resolveProjectId(projectRef) {
357
368
  const db2 = getDb();
@@ -363,10 +374,27 @@ function resolveProjectId(projectRef) {
363
374
  }
364
375
  function getMostRecentProject() {
365
376
  const db2 = getDb();
366
- const row = db2.prepare(
367
- `SELECT id, name FROM projects WHERE status = 'active' ORDER BY updated_at DESC LIMIT 1`
368
- ).get();
369
- return row ?? null;
377
+ const rows = db2.prepare(
378
+ `SELECT id, name FROM projects WHERE status = 'active' ORDER BY updated_at DESC LIMIT 2`
379
+ ).all();
380
+ return rows.length === 1 ? rows[0] : null;
381
+ }
382
+ function resolveProjectError(projectRef) {
383
+ if (projectRef) return `Project "${projectRef}" not found.`;
384
+ const sessionProjects = getSessionStartedProjects();
385
+ if (sessionProjects.length > 1) {
386
+ const db3 = getDb();
387
+ const names = db3.prepare(
388
+ `SELECT name FROM projects WHERE id IN (${sessionProjects.map(() => "?").join(",")}) ORDER BY name`
389
+ ).all(...sessionProjects).map((p) => p.name);
390
+ return `Working across multiple projects this session. Please specify a project: ${names.join(", ")}`;
391
+ }
392
+ const db2 = getDb();
393
+ const active = db2.prepare(
394
+ `SELECT name FROM projects WHERE status = 'active' ORDER BY name`
395
+ ).all();
396
+ if (active.length === 0) return "No active projects found. Create a project first.";
397
+ return `Multiple active projects found. Please specify a project: ${active.map((p) => p.name).join(", ")}`;
370
398
  }
371
399
  function resolveProjectOrDefault(projectRef) {
372
400
  const db2 = getDb();
@@ -376,6 +404,12 @@ function resolveProjectOrDefault(projectRef) {
376
404
  const row = db2.prepare("SELECT id, name FROM projects WHERE id = ?").get(id);
377
405
  return row ?? null;
378
406
  }
407
+ const sessionProjects = getSessionStartedProjects();
408
+ if (sessionProjects.length === 1) {
409
+ const row = db2.prepare("SELECT id, name FROM projects WHERE id = ?").get(sessionProjects[0]);
410
+ if (row) return row;
411
+ }
412
+ if (sessionProjects.length > 1) return null;
379
413
  return getMostRecentProject();
380
414
  }
381
415
  function recordTaskHistory(taskId, event, oldValue, newValue) {
@@ -891,10 +925,6 @@ function startHttpServer(port) {
891
925
  }
892
926
 
893
927
  // src/tools/auto-session.ts
894
- var autoStartedProjects = /* @__PURE__ */ new Set();
895
- function markSessionStarted(projectId) {
896
- autoStartedProjects.add(projectId);
897
- }
898
928
  function getActivitySince(db2, projectId, cutoffTime) {
899
929
  return db2.prepare(`
900
930
  SELECT 'task_created' as type, id, title, created_at as timestamp
@@ -978,8 +1008,8 @@ function buildSessionText(projectId) {
978
1008
  ${JSON.stringify(result, null, 2)}`;
979
1009
  }
980
1010
  function maybeAutoSession(projectId) {
981
- if (autoStartedProjects.has(projectId)) return null;
982
- autoStartedProjects.add(projectId);
1011
+ if (getSessionStartedProjects().includes(projectId)) return null;
1012
+ markSessionStarted(projectId);
983
1013
  return buildSessionText(projectId);
984
1014
  }
985
1015
 
@@ -1106,7 +1136,7 @@ function registerTaskTools(server2) {
1106
1136
  async ({ project, title, description, priority, tags, parent_task_id }) => {
1107
1137
  const resolved = resolveProjectOrDefault(project);
1108
1138
  if (!resolved) {
1109
- return { content: [{ type: "text", text: project ? `Project "${project}" not found.` : "No active projects found. Create a project first." }], isError: true };
1139
+ return { content: [{ type: "text", text: resolveProjectError(project) }], isError: true };
1110
1140
  }
1111
1141
  const db2 = getDb();
1112
1142
  const id = generateId();
@@ -1232,7 +1262,7 @@ function registerTaskTools(server2) {
1232
1262
  async ({ project, status, priority, tag, include_done, limit = 50, offset = 0 }) => {
1233
1263
  const resolved = resolveProjectOrDefault(project);
1234
1264
  if (!resolved) {
1235
- return { content: [{ type: "text", text: project ? `Project "${project}" not found.` : "No active projects found." }], isError: true };
1265
+ return { content: [{ type: "text", text: resolveProjectError(project) }], isError: true };
1236
1266
  }
1237
1267
  const db2 = getDb();
1238
1268
  const conditions = ["t.project_id = @projectId"];
@@ -1307,7 +1337,7 @@ ${resultText}` : resultText }]
1307
1337
  async ({ project, limit }) => {
1308
1338
  const resolved = resolveProjectOrDefault(project);
1309
1339
  if (!resolved) {
1310
- return { content: [{ type: "text", text: project ? `Project "${project}" not found.` : "No active projects found." }], isError: true };
1340
+ return { content: [{ type: "text", text: resolveProjectError(project) }], isError: true };
1311
1341
  }
1312
1342
  const sessionPreamble = maybeAutoSession(resolved.id);
1313
1343
  const db2 = getDb();
@@ -1354,7 +1384,7 @@ function registerDecisionTools(server2) {
1354
1384
  async ({ project, task_id, title, decision, reasoning, alternatives, tags }) => {
1355
1385
  const resolved = resolveProjectOrDefault(project);
1356
1386
  if (!resolved) {
1357
- return { content: [{ type: "text", text: project ? `Project "${project}" not found.` : "No active projects found. Create a project first." }], isError: true };
1387
+ return { content: [{ type: "text", text: resolveProjectError(project) }], isError: true };
1358
1388
  }
1359
1389
  const db2 = getDb();
1360
1390
  const id = generateId();
@@ -1393,7 +1423,7 @@ function registerDecisionTools(server2) {
1393
1423
  async ({ project, tag, limit }) => {
1394
1424
  const resolved = resolveProjectOrDefault(project);
1395
1425
  if (!resolved) {
1396
- return { content: [{ type: "text", text: project ? `Project "${project}" not found.` : "No active projects found." }], isError: true };
1426
+ return { content: [{ type: "text", text: resolveProjectError(project) }], isError: true };
1397
1427
  }
1398
1428
  const sessionPreamble = maybeAutoSession(resolved.id);
1399
1429
  const db2 = getDb();
@@ -1438,7 +1468,7 @@ function registerNoteTools(server2) {
1438
1468
  async ({ project, content, category, task_id, tags }) => {
1439
1469
  const resolved = resolveProjectOrDefault(project);
1440
1470
  if (!resolved) {
1441
- return { content: [{ type: "text", text: project ? `Project "${project}" not found.` : "No active projects found. Create a project first." }], isError: true };
1471
+ return { content: [{ type: "text", text: resolveProjectError(project) }], isError: true };
1442
1472
  }
1443
1473
  const db2 = getDb();
1444
1474
  const id = generateId();
@@ -1474,7 +1504,7 @@ function registerNoteTools(server2) {
1474
1504
  async ({ project, query, category }) => {
1475
1505
  const resolved = resolveProjectOrDefault(project);
1476
1506
  if (!resolved) {
1477
- return { content: [{ type: "text", text: project ? `Project "${project}" not found.` : "No active projects found." }], isError: true };
1507
+ return { content: [{ type: "text", text: resolveProjectError(project) }], isError: true };
1478
1508
  }
1479
1509
  const sessionPreamble = maybeAutoSession(resolved.id);
1480
1510
  const db2 = getDb();
@@ -1513,7 +1543,7 @@ ${resultText}` : resultText }]
1513
1543
  async ({ project, key, value, category }) => {
1514
1544
  const resolved = resolveProjectOrDefault(project);
1515
1545
  if (!resolved) {
1516
- return { content: [{ type: "text", text: project ? `Project "${project}" not found.` : "No active projects found. Create a project first." }], isError: true };
1546
+ return { content: [{ type: "text", text: resolveProjectError(project) }], isError: true };
1517
1547
  }
1518
1548
  const db2 = getDb();
1519
1549
  const id = generateId();
@@ -1543,7 +1573,7 @@ ${resultText}` : resultText }]
1543
1573
  async ({ project, key }) => {
1544
1574
  const resolved = resolveProjectOrDefault(project);
1545
1575
  if (!resolved) {
1546
- return { content: [{ type: "text", text: project ? `Project "${project}" not found.` : "No active projects found." }], isError: true };
1576
+ return { content: [{ type: "text", text: resolveProjectError(project) }], isError: true };
1547
1577
  }
1548
1578
  const sessionPreamble = maybeAutoSession(resolved.id);
1549
1579
  const db2 = getDb();
@@ -1572,7 +1602,7 @@ function registerSessionTools(server2) {
1572
1602
  "start_session",
1573
1603
  {
1574
1604
  title: "Start Session",
1575
- description: "Begin a work session for a project. Returns the full project overview including last session's next_steps, active tasks, blockers, and recent decisions. Call this at the start of every conversation. IMPORTANT: Always show the kanban_url to the user as a clickable link so they can open the Kanban board.",
1605
+ description: "Begin a work session for a project. Returns the full project overview including last session's next_steps, active tasks, blockers, and recent decisions. Call this at the start of every conversation. For multi-project conversations, call once per project \u2014 after that, pass `project` explicitly on every tool call. IMPORTANT: Always show the kanban_url to the user as a clickable link so they can open the Kanban board.",
1576
1606
  inputSchema: {
1577
1607
  project: z5.string().optional().describe("Project name or ID")
1578
1608
  }
@@ -1580,7 +1610,7 @@ function registerSessionTools(server2) {
1580
1610
  async ({ project }) => {
1581
1611
  const resolved = resolveProjectOrDefault(project);
1582
1612
  if (!resolved) {
1583
- return { content: [{ type: "text", text: project ? `Project "${project}" not found.` : "No active projects found. Create a project first." }], isError: true };
1613
+ return { content: [{ type: "text", text: resolveProjectError(project) }], isError: true };
1584
1614
  }
1585
1615
  markSessionStarted(resolved.id);
1586
1616
  return {
@@ -1604,7 +1634,7 @@ function registerSessionTools(server2) {
1604
1634
  async ({ project, summary, tasks_worked_on, decisions_made, next_steps }) => {
1605
1635
  const resolved = resolveProjectOrDefault(project);
1606
1636
  if (!resolved) {
1607
- return { content: [{ type: "text", text: project ? `Project "${project}" not found.` : "No active projects found." }], isError: true };
1637
+ return { content: [{ type: "text", text: resolveProjectError(project) }], isError: true };
1608
1638
  }
1609
1639
  const db2 = getDb();
1610
1640
  const id = generateId();
@@ -1672,7 +1702,7 @@ function registerQueryTools(server2) {
1672
1702
  async ({ project }) => {
1673
1703
  const resolved = resolveProjectOrDefault(project);
1674
1704
  if (!resolved) {
1675
- return { content: [{ type: "text", text: project ? `Project "${project}" not found.` : "No active projects found." }], isError: true };
1705
+ return { content: [{ type: "text", text: resolveProjectError(project) }], isError: true };
1676
1706
  }
1677
1707
  const sessionPreamble = maybeAutoSession(resolved.id);
1678
1708
  const db2 = getDb();
@@ -1732,7 +1762,7 @@ ${resultText}` : resultText
1732
1762
  async ({ project }) => {
1733
1763
  const resolved = resolveProjectOrDefault(project);
1734
1764
  if (!resolved) {
1735
- return { content: [{ type: "text", text: project ? `Project "${project}" not found.` : "No active projects found." }], isError: true };
1765
+ return { content: [{ type: "text", text: resolveProjectError(project) }], isError: true };
1736
1766
  }
1737
1767
  const sessionPreamble = maybeAutoSession(resolved.id);
1738
1768
  const db2 = getDb();
@@ -1774,7 +1804,7 @@ ${resultText}` : resultText }]
1774
1804
  async ({ project, query }) => {
1775
1805
  const resolved = resolveProjectOrDefault(project);
1776
1806
  if (!resolved) {
1777
- return { content: [{ type: "text", text: project ? `Project "${project}" not found.` : "No active projects found." }], isError: true };
1807
+ return { content: [{ type: "text", text: resolveProjectError(project) }], isError: true };
1778
1808
  }
1779
1809
  const sessionPreamble = maybeAutoSession(resolved.id);
1780
1810
  const db2 = getDb();
@@ -1823,7 +1853,7 @@ function registerDeliveryMetricsTools(server2) {
1823
1853
  const resolved = resolveProjectOrDefault(project);
1824
1854
  if (!resolved) {
1825
1855
  return {
1826
- content: [{ type: "text", text: project ? `Project "${project}" not found.` : "No active projects found." }],
1856
+ content: [{ type: "text", text: resolveProjectError(project) }],
1827
1857
  isError: true
1828
1858
  };
1829
1859
  }
@@ -1 +1 @@
1
- .toolbar.svelte-1kanzy0{display:flex;align-items:center;padding:7px 14px;background:var(--surface);border-bottom:1px solid var(--border);flex-shrink:0;min-height:37px}.project-area.svelte-1kanzy0{display:flex;align-items:center;gap:8px}.project-name.svelte-1kanzy0{font-size:.82rem;font-weight:700;color:var(--text)}.project-slug.svelte-1kanzy0{font-size:.7rem;color:var(--text-muted)}.rename-btn.svelte-1kanzy0{background:none;border:1px solid var(--border);color:var(--text-muted);border-radius:var(--radius-sm);padding:1px 6px;font-size:.8rem;line-height:1.5}.rename-btn.svelte-1kanzy0:hover{border-color:var(--primary);color:var(--primary)}.rename-input.svelte-1kanzy0{padding:3px 8px;border-radius:var(--radius-sm);border:1px solid var(--primary);background:var(--surface-2);color:var(--text);width:180px;outline:none;box-shadow:0 0 0 2px var(--primary-dim)}.sidebar.svelte-rig7vt{width:200px;min-width:200px;background:var(--surface);border-right:1px solid var(--border);display:flex;flex-direction:column;flex-shrink:0;transition:width .2s,min-width .2s;overflow:hidden}.sidebar.collapsed.svelte-rig7vt{width:90px;min-width:90px}.sidebar-header.svelte-rig7vt{display:flex;align-items:center;justify-content:space-between;padding:10px 8px;border-bottom:1px solid var(--border);flex-shrink:0;gap:8px}.brand.svelte-rig7vt{font-size:.85rem;font-weight:700;color:var(--primary);white-space:nowrap;overflow:hidden}.prompt.svelte-rig7vt{color:var(--text-dim)}.collapse-btn.svelte-rig7vt{background:none;border:1px solid var(--border);color:var(--text-muted);border-radius:var(--radius-sm);font-size:.7rem;padding:2px 6px;flex-shrink:0;line-height:1.4}.collapse-btn.svelte-rig7vt:hover{border-color:var(--primary);color:var(--primary)}.project-list.svelte-rig7vt{flex:1;overflow-y:auto;padding:6px 0}.project-item.svelte-rig7vt{display:flex;align-items:center;gap:8px;width:100%;padding:6px 10px 6px 12px;background:none;border:none;border-left:2px solid transparent;color:var(--text-dim);font-size:.75rem;text-align:left;cursor:pointer;transition:background .1s,color .1s,border-color .1s;white-space:nowrap;overflow:hidden}.project-item.svelte-rig7vt:hover{background:var(--surface-2);color:var(--text)}.project-item.active.svelte-rig7vt{border-left-color:var(--primary);color:var(--primary);background:var(--primary-dim)}.status-dot.svelte-rig7vt{width:6px;height:6px;border-radius:50%;flex-shrink:0}.project-name.svelte-rig7vt{flex:1;overflow:hidden;text-overflow:ellipsis}.task-count.svelte-rig7vt{font-size:.62rem;color:var(--text-dim);background:var(--surface-2);border:1px solid var(--border);border-radius:2px;padding:0 4px;flex-shrink:0;line-height:1.6}.project-item.active.svelte-rig7vt .task-count:where(.svelte-rig7vt){border-color:var(--primary);color:var(--primary);background:none}.project-slug-collapsed.svelte-rig7vt{font-size:.65rem;color:var(--text-dim);line-height:1;overflow:hidden;text-overflow:ellipsis;flex:1;min-width:0}.project-item.active.svelte-rig7vt .project-slug-collapsed:where(.svelte-rig7vt){color:var(--primary)}.sidebar-footer.svelte-rig7vt{padding:8px 12px;border-top:1px solid var(--border);flex-shrink:0}.footer-hint.svelte-rig7vt{font-size:.62rem;color:var(--text-muted)}.card.svelte-35ep21{background:var(--surface);border:1px solid var(--border);border-left-width:3px;border-radius:var(--radius);padding:8px 10px;cursor:grab;transition:border-color .15s,background .15s;position:relative}.card.priority-critical.svelte-35ep21{border-left-color:var(--priority-critical)}.card.priority-high.svelte-35ep21{border-left-color:var(--priority-high)}.card.priority-medium.svelte-35ep21{border-left-color:var(--priority-medium)}.card.priority-low.svelte-35ep21{border-left-color:var(--border-bright)}.card.svelte-35ep21:hover{background:var(--surface-2);border-color:var(--border-bright);border-left-color:inherit}.card.dragging.svelte-35ep21{opacity:.4}.card-header.svelte-35ep21{display:flex;justify-content:space-between;align-items:center;margin-bottom:5px}.card-header-right.svelte-35ep21{display:flex;align-items:center;gap:6px}.task-id.svelte-35ep21{font-size:.65rem;color:var(--text-muted)}.priority-badge.svelte-35ep21{font-size:.6rem;font-weight:700;text-transform:uppercase;letter-spacing:.8px;color:var(--text-muted)}.priority-badge.priority-critical.svelte-35ep21{color:var(--priority-critical)}.priority-badge.priority-high.svelte-35ep21{color:var(--priority-high)}.priority-badge.priority-medium.svelte-35ep21{color:var(--priority-medium)}.priority-badge.priority-low.svelte-35ep21{color:var(--text-muted)}.delete-btn.svelte-35ep21{background:none;border:none;color:var(--text-muted);font-size:1rem;line-height:1;padding:0 2px;opacity:0;transition:opacity .1s}.card.svelte-35ep21:hover .delete-btn:where(.svelte-35ep21){opacity:1}.delete-btn.svelte-35ep21:hover{color:var(--danger)}.card-title.svelte-35ep21{font-size:.8rem;font-weight:500;word-break:break-word;color:var(--text);line-height:1.4}.card-desc.svelte-35ep21{font-size:.72rem;color:var(--text-muted);margin-top:4px;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;line-height:1.4}.card-tags.svelte-35ep21{display:flex;flex-wrap:wrap;gap:4px;margin-top:6px}.tag.svelte-35ep21{font-size:.62rem;background:var(--bg);color:var(--text-muted);border:1px solid var(--border);padding:1px 5px;border-radius:2px}.card-footer.svelte-35ep21{display:flex;gap:6px;margin-top:6px;flex-wrap:wrap}.badge.svelte-35ep21{font-size:.6rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;padding:1px 5px;border-radius:2px;border:1px solid}.badge-blocked.svelte-35ep21{color:var(--priority-critical);border-color:var(--priority-critical);background:color-mix(in srgb,var(--priority-critical) 10%,transparent)}.badge-subtasks.svelte-35ep21{color:var(--text-muted);border-color:var(--border-bright);background:none}.column.svelte-zswfgn{background:var(--column-bg);border:1px solid var(--border);border-radius:var(--radius);width:270px;min-width:270px;max-height:calc(100vh - 60px);display:flex;flex-direction:column;transition:border-color .15s,width .2s,min-width .2s;flex-shrink:0}.column.collapsed.svelte-zswfgn{width:40px;min-width:40px}.column.drag-over.svelte-zswfgn{border-color:var(--primary);box-shadow:0 0 0 1px var(--primary-dim)}.column.wip-warning.svelte-zswfgn{border-color:var(--priority-high)}.column-collapsed.svelte-zswfgn{display:flex;flex-direction:column;align-items:center;padding:8px 0 12px;gap:10px;flex:1;overflow:hidden}.expand-btn.svelte-zswfgn{background:none;border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-muted);font-size:.65rem;padding:2px 5px;line-height:1.4}.expand-btn.svelte-zswfgn:hover{border-color:var(--primary);color:var(--primary)}.collapsed-label.svelte-zswfgn{display:flex;flex-direction:column;align-items:center;gap:6px;writing-mode:vertical-rl;transform:rotate(180deg);flex:1;justify-content:center}.collapsed-count.svelte-zswfgn{font-size:.6rem;color:var(--text-muted);font-weight:700}.collapsed-count.wip.svelte-zswfgn{color:var(--priority-high)}.collapsed-text.svelte-zswfgn{font-size:.62rem;font-weight:700;text-transform:uppercase;letter-spacing:1px;color:var(--text-muted);white-space:nowrap}.column-header.svelte-zswfgn{padding:8px 8px 8px 10px;display:flex;align-items:center;justify-content:space-between;flex-shrink:0;border-bottom:1px solid var(--border);gap:6px}.column-header.svelte-zswfgn h3:where(.svelte-zswfgn){font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:1px;color:var(--text-dim);white-space:nowrap;overflow:hidden}.chevron.svelte-zswfgn{color:var(--primary);margin-right:4px}.count.svelte-zswfgn{font-weight:400;color:var(--text-muted);margin-left:4px;font-size:.68rem}.count.wip.svelte-zswfgn{color:var(--priority-high);font-weight:700}.header-actions.svelte-zswfgn{display:flex;align-items:center;gap:4px;flex-shrink:0}.add-btn.svelte-zswfgn,.collapse-btn.svelte-zswfgn{background:none;border:1px solid var(--border);border-radius:var(--radius-sm);width:22px;height:22px;font-size:.75rem;color:var(--text-muted);display:flex;align-items:center;justify-content:center;line-height:1}.add-btn.svelte-zswfgn:hover,.collapse-btn.svelte-zswfgn:hover{border-color:var(--primary);color:var(--primary)}.wip-banner.svelte-zswfgn{font-size:.6rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--priority-high);background:color-mix(in srgb,var(--priority-high) 10%,transparent);border-bottom:1px solid color-mix(in srgb,var(--priority-high) 25%,transparent);padding:3px 10px;flex-shrink:0}.card-list.svelte-zswfgn{padding:6px;display:flex;flex-direction:column;gap:6px;overflow-y:auto;flex:1}.modal-backdrop.svelte-1gmf2hi{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:100}.modal.svelte-1gmf2hi{background:var(--surface);border:1px solid var(--border-bright);border-radius:var(--radius);width:520px;max-width:95vw;max-height:90vh;overflow-y:auto;padding:20px}.modal-title.svelte-1gmf2hi{display:flex;align-items:baseline;gap:10px}.modal-task-id.svelte-1gmf2hi{font-size:.7rem;color:var(--text-muted)}.modal-header.svelte-1gmf2hi{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px;padding-bottom:12px;border-bottom:1px solid var(--border)}.modal-header.svelte-1gmf2hi h2:where(.svelte-1gmf2hi){font-size:.9rem;font-weight:700;color:var(--primary);text-transform:uppercase;letter-spacing:1px}.close-btn.svelte-1gmf2hi{background:none;border:none;font-size:1.2rem;color:var(--text-muted);padding:0 4px;line-height:1}.close-btn.svelte-1gmf2hi:hover{color:var(--danger)}.field.svelte-1gmf2hi{margin-bottom:14px;flex:1}label.svelte-1gmf2hi{display:block;font-size:.68rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.8px;margin-bottom:4px}.hint.svelte-1gmf2hi{font-weight:400;text-transform:none;letter-spacing:0}input.svelte-1gmf2hi,textarea.svelte-1gmf2hi,select.svelte-1gmf2hi{width:100%;padding:7px 9px;border:1px solid var(--border-bright);border-radius:var(--radius-sm);background:var(--bg);color:var(--text)}input.svelte-1gmf2hi:focus,textarea.svelte-1gmf2hi:focus,select.svelte-1gmf2hi:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 2px var(--primary-dim)}textarea.svelte-1gmf2hi{resize:vertical}.row.svelte-1gmf2hi{display:flex;gap:12px}.actions.svelte-1gmf2hi{display:flex;justify-content:flex-end;gap:8px;margin-top:18px;padding-top:14px;border-top:1px solid var(--border)}.btn-cancel.svelte-1gmf2hi,.btn-save.svelte-1gmf2hi{padding:6px 14px;border-radius:var(--radius-sm);font-weight:600;font-size:.78rem;text-transform:uppercase;letter-spacing:.5px}.btn-cancel.svelte-1gmf2hi{background:none;border:1px solid var(--border-bright);color:var(--text-muted)}.btn-cancel.svelte-1gmf2hi:hover{border-color:var(--text-muted);color:var(--text)}.btn-save.svelte-1gmf2hi{background:var(--primary);border:1px solid var(--primary);color:#0d0d0d;font-weight:700}.btn-save.svelte-1gmf2hi:hover{background:var(--primary-hover);border-color:var(--primary-hover)}.blocked-section.svelte-1gmf2hi{margin-top:18px;border-top:1px solid var(--border);padding-top:14px}.section-heading.svelte-1gmf2hi{font-size:.65rem;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:1px;margin-bottom:8px}.blocked-list.svelte-1gmf2hi{display:flex;flex-direction:column;gap:4px}.blocked-item.svelte-1gmf2hi{display:flex;align-items:center;gap:8px;padding:5px 8px;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm)}.blocker-id.svelte-1gmf2hi{font-size:.62rem;color:var(--text-muted);flex-shrink:0}.blocker-title.svelte-1gmf2hi{font-size:.78rem;color:var(--text);flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.blocker-status.svelte-1gmf2hi{font-size:.6rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;padding:1px 5px;border-radius:2px;border:1px solid;flex-shrink:0}.blocker-status-todo.svelte-1gmf2hi{color:var(--text-muted);border-color:var(--border-bright)}.blocker-status-in_progress.svelte-1gmf2hi{color:var(--primary);border-color:var(--primary)}.blocker-status-blocked.svelte-1gmf2hi{color:var(--priority-critical);border-color:var(--priority-critical)}.blocker-status-in_review.svelte-1gmf2hi{color:var(--priority-medium, #ff9800);border-color:currentColor}.blocker-status-done.svelte-1gmf2hi{color:var(--priority-low, #4caf50);border-color:currentColor}.blocker-status-cancelled.svelte-1gmf2hi{color:var(--text-muted);border-color:var(--border)}.history-section.svelte-1gmf2hi{margin-top:18px;border-top:1px solid var(--border);padding-top:14px}.history-heading.svelte-1gmf2hi{font-size:.65rem;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:1px;margin-bottom:10px}.history-list.svelte-1gmf2hi{display:flex;flex-direction:column;gap:0;max-height:180px;overflow-y:auto}.history-item.svelte-1gmf2hi{display:flex;align-items:flex-start;gap:10px;padding:4px 0;position:relative}.history-item.svelte-1gmf2hi:not(:last-child):before{content:"";position:absolute;left:4px;top:14px;bottom:-4px;width:1px;background:var(--border)}.history-dot.svelte-1gmf2hi{width:9px;height:9px;border-radius:50%;background:var(--border-bright);border:1px solid var(--surface);flex-shrink:0;margin-top:3px}.history-item.svelte-1gmf2hi:first-child .history-dot:where(.svelte-1gmf2hi){background:var(--primary)}.history-body.svelte-1gmf2hi{display:flex;flex-direction:column;gap:1px;flex:1}.history-event.svelte-1gmf2hi{font-size:.72rem;color:var(--text-dim);line-height:1.4}.history-event.svelte-1gmf2hi b{color:var(--text);font-weight:600}.history-time.svelte-1gmf2hi{font-size:.62rem;color:var(--text-muted)}.modal-backdrop.svelte-1efofyg{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:200}.dialog.svelte-1efofyg{background:var(--surface);border:1px solid var(--border-bright);border-top:3px solid var(--danger);border-radius:var(--radius);padding:20px;width:340px;max-width:90vw}h3.svelte-1efofyg{font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:1px;color:var(--danger);margin-bottom:10px}p.svelte-1efofyg{color:var(--text-dim);font-size:.78rem;margin-bottom:18px;line-height:1.5}.actions.svelte-1efofyg{display:flex;justify-content:flex-end;gap:8px}.btn-cancel.svelte-1efofyg,.btn-confirm.svelte-1efofyg{padding:5px 14px;border-radius:var(--radius-sm);font-weight:700;font-size:.72rem;text-transform:uppercase;letter-spacing:.5px}.btn-cancel.svelte-1efofyg{background:none;border:1px solid var(--border-bright);color:var(--text-muted)}.btn-cancel.svelte-1efofyg:hover{color:var(--text);border-color:var(--text-muted)}.btn-confirm.svelte-1efofyg{background:var(--danger);border:1px solid var(--danger);color:#fff}.btn-confirm.svelte-1efofyg:hover{background:var(--danger-hover);border-color:var(--danger-hover)}.filter-bar.svelte-dhotvj{display:flex;align-items:center;gap:16px;padding:6px 16px;background:var(--surface);border-bottom:1px solid var(--border);flex-wrap:wrap;flex-shrink:0}.filter-search.svelte-dhotvj{position:relative;display:flex;align-items:center}.search-icon.svelte-dhotvj{position:absolute;left:8px;color:var(--primary);font-weight:700;font-size:.85rem;pointer-events:none}.filter-search.svelte-dhotvj input:where(.svelte-dhotvj){background:var(--bg);border:1px solid var(--border-bright);border-radius:var(--radius-sm);color:var(--text);padding:4px 26px 4px 22px;width:180px;font-size:.75rem}.filter-search.svelte-dhotvj input:where(.svelte-dhotvj):focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 2px var(--primary-dim)}.filter-search.svelte-dhotvj input:where(.svelte-dhotvj)::placeholder{color:var(--text-muted)}.clear-input.svelte-dhotvj{position:absolute;right:6px;background:none;border:none;color:var(--text-muted);font-size:.9rem;line-height:1;padding:0}.clear-input.svelte-dhotvj:hover{color:var(--text)}.filter-section.svelte-dhotvj{display:flex;align-items:center;gap:6px}.filter-label.svelte-dhotvj{font-size:.65rem;color:var(--text-dim);white-space:nowrap}.chip-group.svelte-dhotvj{display:flex;gap:4px;flex-wrap:wrap}.chip.svelte-dhotvj{font-size:.62rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;padding:2px 7px;border-radius:2px;border:1px solid var(--border-bright);background:none;color:var(--text-dim);transition:border-color .1s,color .1s,background .1s}.chip.svelte-dhotvj:hover{border-color:var(--chip-color, var(--text-dim));color:var(--chip-color, var(--text))}.chip.active.svelte-dhotvj{border-color:var(--chip-color, var(--primary));color:var(--chip-color, var(--primary));background:color-mix(in srgb,var(--chip-color, var(--primary)) 12%,transparent)}.tag-dropdown-wrapper.svelte-dhotvj{position:relative}.dropdown-trigger.svelte-dhotvj{font-size:.62rem;font-weight:700;padding:2px 8px;border-radius:2px;border:1px solid var(--border-bright);background:none;color:var(--text-dim);transition:border-color .1s,color .1s;letter-spacing:.5px}.dropdown-trigger.svelte-dhotvj:hover{border-color:var(--primary);color:var(--primary)}.dropdown-trigger.active.svelte-dhotvj{border-color:var(--primary);color:var(--primary);background:var(--primary-dim)}.tag-dropdown.svelte-dhotvj{position:absolute;top:calc(100% + 4px);left:0;background:var(--surface);border:1px solid var(--border-bright);border-radius:var(--radius);min-width:140px;z-index:50;overflow:hidden}.tag-option.svelte-dhotvj{display:flex;align-items:center;gap:8px;width:100%;padding:6px 10px;background:none;border:none;color:var(--text-dim);font-size:.72rem;text-align:left;transition:background .1s,color .1s}.tag-option.svelte-dhotvj:hover{background:var(--surface-2);color:var(--text)}.tag-option.selected.svelte-dhotvj{color:var(--primary)}.tag-checkbox.svelte-dhotvj{font-size:.65rem;color:var(--primary);width:10px;text-align:center;flex-shrink:0}.tag-option.svelte-dhotvj:not(.selected) .tag-checkbox:where(.svelte-dhotvj){color:var(--border-bright)}.tag-name.svelte-dhotvj{flex:1}.tag-clear.svelte-dhotvj{display:block;width:100%;padding:5px 10px;background:none;border:none;border-top:1px solid var(--border);color:var(--danger);font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;text-align:left;transition:background .1s}.tag-clear.svelte-dhotvj:hover{background:var(--surface-2)}.clear-all.svelte-dhotvj{background:none;border:none;color:var(--danger);font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;padding:2px 0;margin-left:auto}.clear-all.svelte-dhotvj:hover{color:var(--danger-hover)}.shortcuts-hint.svelte-dhotvj{display:flex;gap:10px;margin-left:auto}.shortcuts-hint.svelte-dhotvj span:where(.svelte-dhotvj){font-size:.6rem;color:var(--text-muted);display:flex;align-items:center;gap:3px}kbd.svelte-dhotvj{font-family:var(--font-mono);font-size:.58rem;background:var(--surface-2);border:1px solid var(--border-bright);border-radius:2px;padding:1px 4px;color:var(--text-dim)}.board-wrapper.svelte-x7v2jt{flex:1;overflow-x:auto;overflow-y:hidden;padding:12px;min-height:0}.board.svelte-x7v2jt{display:flex;gap:10px;align-items:flex-start;height:100%}.board-message.svelte-x7v2jt{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;min-height:200px;color:var(--text-muted);font-size:1rem}.board-message.error.svelte-x7v2jt{color:var(--danger)}.board-message.svelte-x7v2jt button:where(.svelte-x7v2jt){padding:5px 14px;background:none;color:var(--primary);border:1px solid var(--primary);border-radius:var(--radius-sm);font-weight:600;font-size:.75rem;text-transform:uppercase;letter-spacing:.5px}.board-message.svelte-x7v2jt button:where(.svelte-x7v2jt):hover{background:var(--primary-dim)}.view.svelte-mwtig8{flex:1;overflow-y:auto;padding:16px 20px}.state-msg.svelte-mwtig8{color:var(--text-dim);font-size:.8rem;padding:40px 0;text-align:center}.state-msg.err.svelte-mwtig8{color:var(--danger)}.state-msg.muted.svelte-mwtig8{color:var(--text-muted)}.prompt.svelte-mwtig8{color:var(--primary)}.list.svelte-mwtig8{display:flex;flex-direction:column;gap:8px;max-width:760px}.card.svelte-mwtig8{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:12px 14px;display:flex;flex-direction:column;gap:6px}.card-header.svelte-mwtig8{display:flex;align-items:center;justify-content:space-between}.category.svelte-mwtig8{font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.8px}.date.svelte-mwtig8{font-size:.62rem;color:var(--text-muted)}.content.svelte-mwtig8{font-size:.78rem;color:var(--text);line-height:1.55;white-space:pre-wrap}.card-footer.svelte-mwtig8{display:flex;align-items:center;flex-wrap:wrap;gap:6px;margin-top:2px}.tags.svelte-mwtig8{display:flex;flex-wrap:wrap;gap:4px}.tag.svelte-mwtig8{font-size:.62rem;color:var(--text-muted);background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm);padding:1px 6px}.task-link.svelte-mwtig8{font-size:.68rem;color:var(--primary);cursor:pointer;border:1px solid var(--primary-dim);border-radius:var(--radius-sm);padding:1px 7px;background:var(--primary-dim);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:300px}.task-link.svelte-mwtig8:hover{background:#39d35340}.view.svelte-1nwykvu{flex:1;overflow-y:auto;padding:16px 20px}.state-msg.svelte-1nwykvu{color:var(--text-dim);font-size:.8rem;padding:40px 0;text-align:center}.state-msg.err.svelte-1nwykvu{color:var(--danger)}.state-msg.muted.svelte-1nwykvu{color:var(--text-muted)}.prompt.svelte-1nwykvu{color:var(--primary)}.list.svelte-1nwykvu{display:flex;flex-direction:column;gap:8px;max-width:760px}.card.svelte-1nwykvu{background:var(--surface);border:1px solid var(--border);border-left:3px solid var(--border-bright);border-radius:var(--radius);padding:12px 14px;display:flex;flex-direction:column;gap:5px}.card-header.svelte-1nwykvu{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.title.svelte-1nwykvu{font-size:.82rem;font-weight:700;color:var(--text)}.date.svelte-1nwykvu{font-size:.62rem;color:var(--text-muted);flex-shrink:0}.decision-text.svelte-1nwykvu{font-size:.78rem;color:var(--text-dim);line-height:1.5}.reasoning.svelte-1nwykvu{font-size:.72rem;color:var(--text-muted);font-style:italic;line-height:1.4}.alts.svelte-1nwykvu{font-size:.68rem;color:var(--text-muted)}.card-footer.svelte-1nwykvu{display:flex;align-items:center;flex-wrap:wrap;gap:6px;margin-top:2px}.tags.svelte-1nwykvu{display:flex;flex-wrap:wrap;gap:4px}.tag.svelte-1nwykvu{font-size:.62rem;color:var(--text-muted);background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm);padding:1px 6px}.task-link.svelte-1nwykvu{font-size:.68rem;color:var(--primary);cursor:pointer;border:1px solid var(--primary-dim);border-radius:var(--radius-sm);padding:1px 7px;background:var(--primary-dim);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:300px}.task-link.svelte-1nwykvu:hover{background:#39d35340}.palette-backdrop.svelte-1bm0yy4{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000bf;display:flex;align-items:flex-start;justify-content:center;padding-top:15vh;z-index:300}.palette.svelte-1bm0yy4{background:var(--surface);border:1px solid var(--border-bright);border-radius:var(--radius);width:480px;max-width:95vw;overflow:hidden}.palette-input-row.svelte-1bm0yy4{display:flex;align-items:center;gap:8px;padding:12px 14px;border-bottom:1px solid var(--border)}.palette-prompt.svelte-1bm0yy4{color:var(--primary);font-weight:700;font-size:.9rem;flex-shrink:0}.palette-input-row.svelte-1bm0yy4 input:where(.svelte-1bm0yy4){flex:1;background:none;border:none;color:var(--text);font-size:.85rem;outline:none}.palette-input-row.svelte-1bm0yy4 input:where(.svelte-1bm0yy4)::placeholder{color:var(--text-muted)}.palette-list.svelte-1bm0yy4{max-height:260px;overflow-y:auto}.palette-item.svelte-1bm0yy4{display:flex;justify-content:space-between;align-items:center;padding:8px 14px;cursor:pointer;gap:12px}.palette-item.active.svelte-1bm0yy4{background:var(--surface-2);border-left:2px solid var(--primary);padding-left:12px}.item-label.svelte-1bm0yy4{font-size:.8rem;color:var(--text)}.item-hint.svelte-1bm0yy4{font-size:.68rem;color:var(--text-muted);white-space:nowrap}.palette-empty.svelte-1bm0yy4{padding:16px 14px;font-size:.75rem;color:var(--text-muted)}.palette-footer.svelte-1bm0yy4{display:flex;gap:16px;padding:6px 14px;border-top:1px solid var(--border);background:var(--bg)}.palette-footer.svelte-1bm0yy4 span:where(.svelte-1bm0yy4){font-size:.62rem;color:var(--text-muted);display:flex;align-items:center;gap:4px}kbd.svelte-1bm0yy4{font-family:var(--font-mono);font-size:.6rem;background:var(--surface-2);border:1px solid var(--border-bright);border-radius:2px;padding:1px 4px;color:var(--text-dim)}.view.svelte-37wipk{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:16px}.toolbar.svelte-37wipk{display:flex;align-items:center;gap:6px}.toolbar-label.svelte-37wipk{font-size:.7rem;color:var(--text-muted);margin-right:4px}.window-btn.svelte-37wipk{background:none;border:1px solid var(--border);color:var(--text-muted);font-size:.72rem;font-family:inherit;padding:3px 10px;border-radius:3px;cursor:pointer;transition:color .1s,border-color .1s}.window-btn.svelte-37wipk:hover{color:var(--text-dim);border-color:var(--text-muted)}.window-btn.active.svelte-37wipk{color:var(--primary);border-color:var(--primary)}.grid.svelte-37wipk{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px}.card.svelte-37wipk{background:var(--surface);border:1px solid var(--border);border-radius:4px;padding:14px 16px;display:flex;flex-direction:column;gap:4px}.card-label.svelte-37wipk{font-size:.67rem;font-weight:600;text-transform:uppercase;letter-spacing:.8px;color:var(--text-muted)}.card-value.svelte-37wipk{font-size:2rem;font-weight:700;color:var(--text);line-height:1.1}.card-value--empty.svelte-37wipk{color:var(--text-muted)}.val-danger.svelte-37wipk{color:var(--danger)}.card-sub.svelte-37wipk{font-size:.72rem;color:var(--text-dim)}.card-sub.muted.svelte-37wipk{color:var(--text-muted)}.card-detail.svelte-37wipk{font-size:.7rem;color:var(--text-muted);margin-top:2px}.trend.svelte-37wipk{font-size:.68rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;margin-top:6px}.trend-up.svelte-37wipk{color:var(--success, #4caf50)}.trend-down.svelte-37wipk{color:var(--danger)}.trend-stable.svelte-37wipk{color:var(--text-muted)}.badge.svelte-37wipk{display:inline-block;font-size:.65rem;font-weight:600;padding:2px 7px;border-radius:3px;margin-top:6px;width:fit-content}.badge-blocked.svelte-37wipk{background:color-mix(in srgb,var(--danger) 15%,transparent);color:var(--danger);border:1px solid color-mix(in srgb,var(--danger) 30%,transparent)}.card--tier.svelte-37wipk{align-items:flex-start}.tier-badge.svelte-37wipk{font-size:1.6rem;font-weight:800;letter-spacing:-.5px;margin:4px 0}.tier-elite.svelte-37wipk{color:#4caf50}.tier-high.svelte-37wipk{color:var(--primary)}.tier-medium.svelte-37wipk{color:#f59e0b}.tier-low.svelte-37wipk{color:var(--danger)}.tier-unknown.svelte-37wipk{color:var(--text-muted)}.tier-legend.svelte-37wipk{font-size:.65rem;color:var(--text-muted);margin-top:2px}.insights.svelte-37wipk{border:1px solid var(--border);border-radius:4px;padding:12px 16px;display:flex;flex-direction:column;gap:6px}.insights-label.svelte-37wipk{font-size:.67rem;font-weight:600;text-transform:uppercase;letter-spacing:.8px;color:var(--text-muted);margin-bottom:2px}.insight-row.svelte-37wipk{font-size:.78rem;color:var(--text-dim);display:flex;gap:8px}.insight-bullet.svelte-37wipk{color:var(--primary);flex-shrink:0}.state-msg.svelte-37wipk{font-size:.82rem;color:var(--text-muted);padding:32px 0}.err.svelte-37wipk{color:var(--danger)}.app-layout.svelte-1n46o8q{display:flex;flex:1;overflow:hidden;min-height:0}.main.svelte-1n46o8q{flex:1;display:flex;flex-direction:column;overflow:hidden;min-width:0}.tabs.svelte-1n46o8q{display:flex;gap:0;border-bottom:1px solid var(--border);padding:0 16px;flex-shrink:0}.tab.svelte-1n46o8q{background:none;border:none;border-bottom:2px solid transparent;color:var(--text-dim);font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.8px;padding:8px 14px;margin-bottom:-1px;transition:color .1s,border-color .1s}.tab.svelte-1n46o8q:hover{color:var(--text)}.tab.active.svelte-1n46o8q{color:var(--primary);border-bottom-color:var(--primary)}.loading.svelte-1n46o8q,.error.svelte-1n46o8q,.empty.svelte-1n46o8q{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;gap:8px;font-size:.85rem}.prompt.svelte-1n46o8q{color:var(--primary)}.loading.svelte-1n46o8q{color:var(--text-dim)}.error.svelte-1n46o8q{color:var(--danger)}.err-prefix.svelte-1n46o8q{margin-right:6px}.empty-prompt.svelte-1n46o8q{color:var(--text)}.empty-hint.svelte-1n46o8q{color:var(--text-muted);font-size:.75rem}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--bg: #0d0d0d;--surface: #141414;--surface-2: #1a1a1a;--border: #252525;--border-bright: #333333;--text: #d4d4d4;--text-muted: #555555;--text-dim: #888888;--primary: #39d353;--primary-hover: #2fb844;--primary-dim: rgba(57, 211, 83, .15);--danger: #f85149;--danger-hover: #da3633;--priority-critical: #f85149;--priority-high: #d29922;--priority-medium: #39d353;--priority-low: #3d444d;--column-bg: #111111;--card-shadow: none;--card-shadow-hover: 0 0 0 1px var(--border-bright);--radius: 4px;--radius-sm: 3px;--font-mono: "JetBrains Mono", "Fira Code", "Cascadia Code", "Consolas", "Courier New", monospace}body{font-family:var(--font-mono);background:var(--bg);color:var(--text);line-height:1.5;min-height:100vh;font-size:13px}button{cursor:pointer;font-family:inherit;font-size:inherit}input,textarea,select{font-family:inherit;font-size:inherit}#app{height:100vh;display:flex;flex-direction:column;overflow:hidden}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:var(--bg)}::-webkit-scrollbar-thumb{background:var(--border-bright);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#444}
1
+ .toolbar.svelte-1kanzy0{display:flex;align-items:center;padding:7px 14px;background:var(--surface);border-bottom:1px solid var(--border);flex-shrink:0;min-height:37px}.project-area.svelte-1kanzy0{display:flex;align-items:center;gap:8px}.project-name.svelte-1kanzy0{font-size:.82rem;font-weight:700;color:var(--text)}.project-slug.svelte-1kanzy0{font-size:.7rem;color:var(--text-muted)}.rename-btn.svelte-1kanzy0{background:none;border:1px solid var(--border);color:var(--text-muted);border-radius:var(--radius-sm);padding:1px 6px;font-size:.8rem;line-height:1.5}.rename-btn.svelte-1kanzy0:hover{border-color:var(--primary);color:var(--primary)}.rename-input.svelte-1kanzy0{padding:3px 8px;border-radius:var(--radius-sm);border:1px solid var(--primary);background:var(--surface-2);color:var(--text);width:180px;outline:none;box-shadow:0 0 0 2px var(--primary-dim)}.sidebar.svelte-rig7vt{width:200px;min-width:200px;background:var(--surface);border-right:1px solid var(--border);display:flex;flex-direction:column;flex-shrink:0;transition:width .2s,min-width .2s;overflow:hidden}.sidebar.collapsed.svelte-rig7vt{width:90px;min-width:90px}.sidebar-header.svelte-rig7vt{display:flex;align-items:center;justify-content:space-between;padding:10px 8px;border-bottom:1px solid var(--border);flex-shrink:0;gap:8px}.brand.svelte-rig7vt{font-size:.85rem;font-weight:700;color:var(--primary);white-space:nowrap;overflow:hidden}.prompt.svelte-rig7vt{color:var(--text-dim)}.collapse-btn.svelte-rig7vt{background:none;border:1px solid var(--border);color:var(--text-muted);border-radius:var(--radius-sm);font-size:.7rem;padding:2px 6px;flex-shrink:0;line-height:1.4}.collapse-btn.svelte-rig7vt:hover{border-color:var(--primary);color:var(--primary)}.project-list.svelte-rig7vt{flex:1;overflow-y:auto;padding:6px 0}.project-item.svelte-rig7vt{display:flex;align-items:center;gap:8px;width:100%;padding:6px 10px 6px 12px;background:none;border:none;border-left:2px solid transparent;color:var(--text-dim);font-size:.75rem;text-align:left;cursor:pointer;transition:background .1s,color .1s,border-color .1s;white-space:nowrap;overflow:hidden}.project-item.svelte-rig7vt:hover{background:var(--surface-2);color:var(--text)}.project-item.active.svelte-rig7vt{border-left-color:var(--primary);color:var(--primary);background:var(--primary-dim)}.status-dot.svelte-rig7vt{width:6px;height:6px;border-radius:50%;flex-shrink:0}.project-name.svelte-rig7vt{flex:1;overflow:hidden;text-overflow:ellipsis}.task-count.svelte-rig7vt{font-size:.62rem;color:var(--text-dim);background:var(--surface-2);border:1px solid var(--border);border-radius:2px;padding:0 4px;flex-shrink:0;line-height:1.6}.project-item.active.svelte-rig7vt .task-count:where(.svelte-rig7vt){border-color:var(--primary);color:var(--primary);background:none}.project-slug-collapsed.svelte-rig7vt{font-size:.65rem;color:var(--text-dim);line-height:1;overflow:hidden;text-overflow:ellipsis;flex:1;min-width:0}.project-item.active.svelte-rig7vt .project-slug-collapsed:where(.svelte-rig7vt){color:var(--primary)}.sidebar-footer.svelte-rig7vt{padding:8px 12px;border-top:1px solid var(--border);flex-shrink:0}.footer-hint.svelte-rig7vt{font-size:.62rem;color:var(--text-muted)}.card.svelte-35ep21{background:var(--surface);border:1px solid var(--border);border-left-width:3px;border-radius:var(--radius);padding:8px 10px;cursor:grab;transition:border-color .15s,background .15s;position:relative}.card.priority-critical.svelte-35ep21{border-left-color:var(--priority-critical)}.card.priority-high.svelte-35ep21{border-left-color:var(--priority-high)}.card.priority-medium.svelte-35ep21{border-left-color:var(--priority-medium)}.card.priority-low.svelte-35ep21{border-left-color:var(--border-bright)}.card.svelte-35ep21:hover{background:var(--surface-2);border-color:var(--border-bright);border-left-color:inherit}.card.dragging.svelte-35ep21{opacity:.4}.card-header.svelte-35ep21{display:flex;justify-content:space-between;align-items:center;margin-bottom:5px}.card-header-right.svelte-35ep21{display:flex;align-items:center;gap:6px}.task-id.svelte-35ep21{font-size:.65rem;color:var(--text-muted)}.priority-badge.svelte-35ep21{font-size:.6rem;font-weight:700;text-transform:uppercase;letter-spacing:.8px;color:var(--text-muted)}.priority-badge.priority-critical.svelte-35ep21{color:var(--priority-critical)}.priority-badge.priority-high.svelte-35ep21{color:var(--priority-high)}.priority-badge.priority-medium.svelte-35ep21{color:var(--priority-medium)}.priority-badge.priority-low.svelte-35ep21{color:var(--text-muted)}.delete-btn.svelte-35ep21{background:none;border:none;color:var(--text-muted);font-size:1rem;line-height:1;padding:0 2px;opacity:0;transition:opacity .1s}.card.svelte-35ep21:hover .delete-btn:where(.svelte-35ep21){opacity:1}.delete-btn.svelte-35ep21:hover{color:var(--danger)}.card-title.svelte-35ep21{font-size:.8rem;font-weight:500;word-break:break-word;color:var(--text);line-height:1.4}.card-desc.svelte-35ep21{font-size:.72rem;color:var(--text-muted);margin-top:4px;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;line-height:1.4}.card-tags.svelte-35ep21{display:flex;flex-wrap:wrap;gap:4px;margin-top:6px}.tag.svelte-35ep21{font-size:.62rem;background:var(--bg);color:var(--text-muted);border:1px solid var(--border);padding:1px 5px;border-radius:2px}.card-footer.svelte-35ep21{display:flex;gap:6px;margin-top:6px;flex-wrap:wrap}.badge.svelte-35ep21{font-size:.6rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;padding:1px 5px;border-radius:2px;border:1px solid}.badge-blocked.svelte-35ep21{color:var(--priority-critical);border-color:var(--priority-critical);background:color-mix(in srgb,var(--priority-critical) 10%,transparent)}.badge-subtasks.svelte-35ep21{color:var(--text-muted);border-color:var(--border-bright);background:none}.column.svelte-zswfgn{background:var(--column-bg);border:1px solid var(--border);border-radius:var(--radius);width:270px;min-width:270px;max-height:calc(100vh - 60px);display:flex;flex-direction:column;transition:border-color .15s,width .2s,min-width .2s;flex-shrink:0}.column.collapsed.svelte-zswfgn{width:40px;min-width:40px}.column.drag-over.svelte-zswfgn{border-color:var(--primary);box-shadow:0 0 0 1px var(--primary-dim)}.column.wip-warning.svelte-zswfgn{border-color:var(--priority-high)}.column-collapsed.svelte-zswfgn{display:flex;flex-direction:column;align-items:center;padding:8px 0 12px;gap:10px;flex:1;overflow:hidden}.expand-btn.svelte-zswfgn{background:none;border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-muted);font-size:.65rem;padding:2px 5px;line-height:1.4}.expand-btn.svelte-zswfgn:hover{border-color:var(--primary);color:var(--primary)}.collapsed-label.svelte-zswfgn{display:flex;flex-direction:column;align-items:center;gap:6px;writing-mode:vertical-rl;transform:rotate(180deg);flex:1;justify-content:center}.collapsed-count.svelte-zswfgn{font-size:.6rem;color:var(--text-muted);font-weight:700}.collapsed-count.wip.svelte-zswfgn{color:var(--priority-high)}.collapsed-text.svelte-zswfgn{font-size:.62rem;font-weight:700;text-transform:uppercase;letter-spacing:1px;color:var(--text-muted);white-space:nowrap}.column-header.svelte-zswfgn{padding:8px 8px 8px 10px;display:flex;align-items:center;justify-content:space-between;flex-shrink:0;border-bottom:1px solid var(--border);gap:6px}.column-header.svelte-zswfgn h3:where(.svelte-zswfgn){font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:1px;color:var(--text-dim);white-space:nowrap;overflow:hidden}.chevron.svelte-zswfgn{color:var(--primary);margin-right:4px}.count.svelte-zswfgn{font-weight:400;color:var(--text-muted);margin-left:4px;font-size:.68rem}.count.wip.svelte-zswfgn{color:var(--priority-high);font-weight:700}.header-actions.svelte-zswfgn{display:flex;align-items:center;gap:4px;flex-shrink:0}.add-btn.svelte-zswfgn,.collapse-btn.svelte-zswfgn{background:none;border:1px solid var(--border);border-radius:var(--radius-sm);width:22px;height:22px;font-size:.75rem;color:var(--text-muted);display:flex;align-items:center;justify-content:center;line-height:1}.add-btn.svelte-zswfgn:hover,.collapse-btn.svelte-zswfgn:hover{border-color:var(--primary);color:var(--primary)}.wip-banner.svelte-zswfgn{font-size:.6rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--priority-high);background:color-mix(in srgb,var(--priority-high) 10%,transparent);border-bottom:1px solid color-mix(in srgb,var(--priority-high) 25%,transparent);padding:3px 10px;flex-shrink:0}.card-list.svelte-zswfgn{padding:6px;display:flex;flex-direction:column;gap:6px;overflow-y:auto;flex:1}.modal-backdrop.svelte-1gmf2hi{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:100}.modal.svelte-1gmf2hi{background:var(--surface);border:1px solid var(--border-bright);border-radius:var(--radius);width:520px;max-width:95vw;max-height:90vh;overflow-y:auto;padding:20px}.modal-title.svelte-1gmf2hi{display:flex;align-items:baseline;gap:10px}.modal-task-id.svelte-1gmf2hi{font-size:.7rem;color:var(--text-muted)}.modal-header.svelte-1gmf2hi{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px;padding-bottom:12px;border-bottom:1px solid var(--border)}.modal-header.svelte-1gmf2hi h2:where(.svelte-1gmf2hi){font-size:.9rem;font-weight:700;color:var(--primary);text-transform:uppercase;letter-spacing:1px}.close-btn.svelte-1gmf2hi{background:none;border:none;font-size:1.2rem;color:var(--text-muted);padding:0 4px;line-height:1}.close-btn.svelte-1gmf2hi:hover{color:var(--danger)}.field.svelte-1gmf2hi{margin-bottom:14px;flex:1}label.svelte-1gmf2hi{display:block;font-size:.68rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.8px;margin-bottom:4px}.hint.svelte-1gmf2hi{font-weight:400;text-transform:none;letter-spacing:0}input.svelte-1gmf2hi,textarea.svelte-1gmf2hi,select.svelte-1gmf2hi{width:100%;padding:7px 9px;border:1px solid var(--border-bright);border-radius:var(--radius-sm);background:var(--bg);color:var(--text)}input.svelte-1gmf2hi:focus,textarea.svelte-1gmf2hi:focus,select.svelte-1gmf2hi:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 2px var(--primary-dim)}textarea.svelte-1gmf2hi{resize:vertical}.row.svelte-1gmf2hi{display:flex;gap:12px}.actions.svelte-1gmf2hi{display:flex;justify-content:flex-end;gap:8px;margin-top:18px;padding-top:14px;border-top:1px solid var(--border)}.btn-cancel.svelte-1gmf2hi,.btn-save.svelte-1gmf2hi{padding:6px 14px;border-radius:var(--radius-sm);font-weight:600;font-size:.78rem;text-transform:uppercase;letter-spacing:.5px}.btn-cancel.svelte-1gmf2hi{background:none;border:1px solid var(--border-bright);color:var(--text-muted)}.btn-cancel.svelte-1gmf2hi:hover{border-color:var(--text-muted);color:var(--text)}.btn-save.svelte-1gmf2hi{background:var(--primary);border:1px solid var(--primary);color:#0d0d0d;font-weight:700}.btn-save.svelte-1gmf2hi:hover{background:var(--primary-hover);border-color:var(--primary-hover)}.blocked-section.svelte-1gmf2hi{margin-top:18px;border-top:1px solid var(--border);padding-top:14px}.section-heading.svelte-1gmf2hi{font-size:.65rem;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:1px;margin-bottom:8px}.blocked-list.svelte-1gmf2hi{display:flex;flex-direction:column;gap:4px}.blocked-item.svelte-1gmf2hi{display:flex;align-items:center;gap:8px;padding:5px 8px;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm)}.blocker-id.svelte-1gmf2hi{font-size:.62rem;color:var(--text-muted);flex-shrink:0}.blocker-title.svelte-1gmf2hi{font-size:.78rem;color:var(--text);flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.blocker-status.svelte-1gmf2hi{font-size:.6rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;padding:1px 5px;border-radius:2px;border:1px solid;flex-shrink:0}.blocker-status-todo.svelte-1gmf2hi{color:var(--text-muted);border-color:var(--border-bright)}.blocker-status-in_progress.svelte-1gmf2hi{color:var(--primary);border-color:var(--primary)}.blocker-status-blocked.svelte-1gmf2hi{color:var(--priority-critical);border-color:var(--priority-critical)}.blocker-status-in_review.svelte-1gmf2hi{color:var(--priority-medium, #ff9800);border-color:currentColor}.blocker-status-done.svelte-1gmf2hi{color:var(--priority-low, #4caf50);border-color:currentColor}.blocker-status-cancelled.svelte-1gmf2hi{color:var(--text-muted);border-color:var(--border)}.history-section.svelte-1gmf2hi{margin-top:18px;border-top:1px solid var(--border);padding-top:14px}.history-heading.svelte-1gmf2hi{font-size:.65rem;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:1px;margin-bottom:10px}.history-list.svelte-1gmf2hi{display:flex;flex-direction:column;gap:0;max-height:180px;overflow-y:auto}.history-item.svelte-1gmf2hi{display:flex;align-items:flex-start;gap:10px;padding:4px 0;position:relative}.history-item.svelte-1gmf2hi:not(:last-child):before{content:"";position:absolute;left:4px;top:14px;bottom:-4px;width:1px;background:var(--border)}.history-dot.svelte-1gmf2hi{width:9px;height:9px;border-radius:50%;background:var(--border-bright);border:1px solid var(--surface);flex-shrink:0;margin-top:3px}.history-item.svelte-1gmf2hi:first-child .history-dot:where(.svelte-1gmf2hi){background:var(--primary)}.history-body.svelte-1gmf2hi{display:flex;flex-direction:column;gap:1px;flex:1}.history-event.svelte-1gmf2hi{font-size:.72rem;color:var(--text-dim);line-height:1.4}.history-event.svelte-1gmf2hi b{color:var(--text);font-weight:600}.history-time.svelte-1gmf2hi{font-size:.62rem;color:var(--text-muted)}.modal-backdrop.svelte-1efofyg{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:200}.dialog.svelte-1efofyg{background:var(--surface);border:1px solid var(--border-bright);border-top:3px solid var(--danger);border-radius:var(--radius);padding:20px;width:340px;max-width:90vw}h3.svelte-1efofyg{font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:1px;color:var(--danger);margin-bottom:10px}p.svelte-1efofyg{color:var(--text-dim);font-size:.78rem;margin-bottom:18px;line-height:1.5}.actions.svelte-1efofyg{display:flex;justify-content:flex-end;gap:8px}.btn-cancel.svelte-1efofyg,.btn-confirm.svelte-1efofyg{padding:5px 14px;border-radius:var(--radius-sm);font-weight:700;font-size:.72rem;text-transform:uppercase;letter-spacing:.5px}.btn-cancel.svelte-1efofyg{background:none;border:1px solid var(--border-bright);color:var(--text-muted)}.btn-cancel.svelte-1efofyg:hover{color:var(--text);border-color:var(--text-muted)}.btn-confirm.svelte-1efofyg{background:var(--danger);border:1px solid var(--danger);color:#fff}.btn-confirm.svelte-1efofyg:hover{background:var(--danger-hover);border-color:var(--danger-hover)}.filter-bar.svelte-dhotvj{display:flex;align-items:center;gap:16px;padding:6px 16px;background:var(--surface);border-bottom:1px solid var(--border);flex-wrap:wrap;flex-shrink:0}.filter-search.svelte-dhotvj{position:relative;display:flex;align-items:center}.search-icon.svelte-dhotvj{position:absolute;left:8px;color:var(--primary);font-weight:700;font-size:.85rem;pointer-events:none}.filter-search.svelte-dhotvj input:where(.svelte-dhotvj){background:var(--bg);border:1px solid var(--border-bright);border-radius:var(--radius-sm);color:var(--text);padding:4px 26px 4px 22px;width:180px;font-size:.75rem}.filter-search.svelte-dhotvj input:where(.svelte-dhotvj):focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 2px var(--primary-dim)}.filter-search.svelte-dhotvj input:where(.svelte-dhotvj)::placeholder{color:var(--text-muted)}.clear-input.svelte-dhotvj{position:absolute;right:6px;background:none;border:none;color:var(--text-muted);font-size:.9rem;line-height:1;padding:0}.clear-input.svelte-dhotvj:hover{color:var(--text)}.filter-section.svelte-dhotvj{display:flex;align-items:center;gap:6px}.filter-label.svelte-dhotvj{font-size:.65rem;color:var(--text-dim);white-space:nowrap}.chip-group.svelte-dhotvj{display:flex;gap:4px;flex-wrap:wrap}.chip.svelte-dhotvj{font-size:.62rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;padding:2px 7px;border-radius:2px;border:1px solid var(--border-bright);background:none;color:var(--text-dim);transition:border-color .1s,color .1s,background .1s}.chip.svelte-dhotvj:hover{border-color:var(--chip-color, var(--text-dim));color:var(--chip-color, var(--text))}.chip.active.svelte-dhotvj{border-color:var(--chip-color, var(--primary));color:var(--chip-color, var(--primary));background:color-mix(in srgb,var(--chip-color, var(--primary)) 12%,transparent)}.tag-dropdown-wrapper.svelte-dhotvj{position:relative}.dropdown-trigger.svelte-dhotvj{font-size:.62rem;font-weight:700;padding:2px 8px;border-radius:2px;border:1px solid var(--border-bright);background:none;color:var(--text-dim);transition:border-color .1s,color .1s;letter-spacing:.5px}.dropdown-trigger.svelte-dhotvj:hover{border-color:var(--primary);color:var(--primary)}.dropdown-trigger.active.svelte-dhotvj{border-color:var(--primary);color:var(--primary);background:var(--primary-dim)}.tag-dropdown.svelte-dhotvj{position:absolute;top:calc(100% + 4px);left:0;background:var(--surface);border:1px solid var(--border-bright);border-radius:var(--radius);min-width:140px;z-index:50;overflow:hidden}.tag-option.svelte-dhotvj{display:flex;align-items:center;gap:8px;width:100%;padding:6px 10px;background:none;border:none;color:var(--text-dim);font-size:.72rem;text-align:left;transition:background .1s,color .1s}.tag-option.svelte-dhotvj:hover{background:var(--surface-2);color:var(--text)}.tag-option.selected.svelte-dhotvj{color:var(--primary)}.tag-checkbox.svelte-dhotvj{font-size:.65rem;color:var(--primary);width:10px;text-align:center;flex-shrink:0}.tag-option.svelte-dhotvj:not(.selected) .tag-checkbox:where(.svelte-dhotvj){color:var(--border-bright)}.tag-name.svelte-dhotvj{flex:1}.tag-clear.svelte-dhotvj{display:block;width:100%;padding:5px 10px;background:none;border:none;border-top:1px solid var(--border);color:var(--danger);font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;text-align:left;transition:background .1s}.tag-clear.svelte-dhotvj:hover{background:var(--surface-2)}.clear-all.svelte-dhotvj{background:none;border:none;color:var(--danger);font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;padding:2px 0;margin-left:auto}.clear-all.svelte-dhotvj:hover{color:var(--danger-hover)}.shortcuts-hint.svelte-dhotvj{display:flex;gap:10px;margin-left:auto}.shortcuts-hint.svelte-dhotvj span:where(.svelte-dhotvj){font-size:.6rem;color:var(--text-muted);display:flex;align-items:center;gap:3px}kbd.svelte-dhotvj{font-family:var(--font-mono);font-size:.58rem;background:var(--surface-2);border:1px solid var(--border-bright);border-radius:2px;padding:1px 4px;color:var(--text-dim)}.board-wrapper.svelte-x7v2jt{flex:1;overflow-x:auto;overflow-y:hidden;padding:12px;min-height:0}.board.svelte-x7v2jt{display:flex;gap:10px;align-items:flex-start;height:100%}.board-message.svelte-x7v2jt{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;min-height:200px;color:var(--text-muted);font-size:1rem}.board-message.error.svelte-x7v2jt{color:var(--danger)}.board-message.svelte-x7v2jt button:where(.svelte-x7v2jt){padding:5px 14px;background:none;color:var(--primary);border:1px solid var(--primary);border-radius:var(--radius-sm);font-weight:600;font-size:.75rem;text-transform:uppercase;letter-spacing:.5px}.board-message.svelte-x7v2jt button:where(.svelte-x7v2jt):hover{background:var(--primary-dim)}.view.svelte-mwtig8{flex:1;overflow-y:auto;display:flex;flex-direction:column}.search-bar.svelte-mwtig8{display:flex;align-items:center;gap:12px;padding:6px 16px;background:var(--surface);border-bottom:1px solid var(--border);flex-shrink:0;flex-wrap:wrap}.search-input-wrap.svelte-mwtig8{position:relative;display:flex;align-items:center}.search-icon.svelte-mwtig8{position:absolute;left:8px;color:var(--primary);font-weight:700;font-size:.85rem;pointer-events:none}.search-input-wrap.svelte-mwtig8 input:where(.svelte-mwtig8){background:var(--bg);border:1px solid var(--border-bright);border-radius:var(--radius-sm);color:var(--text);padding:4px 26px 4px 22px;width:180px;font-size:.75rem;font-family:var(--font-mono)}.search-input-wrap.svelte-mwtig8 input:where(.svelte-mwtig8):focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 2px var(--primary-dim)}.search-input-wrap.svelte-mwtig8 input:where(.svelte-mwtig8)::placeholder{color:var(--text-muted)}.clear-input.svelte-mwtig8{position:absolute;right:6px;background:none;border:none;color:var(--text-muted);font-size:.9rem;line-height:1;padding:0;cursor:pointer}.clear-input.svelte-mwtig8:hover{color:var(--text)}.category-chips.svelte-mwtig8{display:flex;gap:4px;flex-wrap:wrap}.chip.svelte-mwtig8{font-size:.62rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;padding:2px 7px;border-radius:2px;border:1px solid var(--border-bright);background:none;color:var(--text-dim);cursor:pointer;transition:border-color .1s,color .1s,background .1s}.chip.svelte-mwtig8:hover{border-color:var(--chip-color, var(--text-dim));color:var(--chip-color, var(--text))}.chip.active.svelte-mwtig8{border-color:var(--chip-color, var(--primary));color:var(--chip-color, var(--primary));background:color-mix(in srgb,var(--chip-color, var(--primary)) 12%,transparent)}.result-count.svelte-mwtig8{font-size:.65rem;color:var(--text-muted);font-family:var(--font-mono)}.clear-all.svelte-mwtig8{background:none;border:none;color:var(--danger);font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;padding:2px 0;cursor:pointer}.clear-all.svelte-mwtig8:hover{color:var(--danger-hover, var(--danger))}.shortcuts-hint.svelte-mwtig8{display:flex;gap:10px;margin-left:auto}.shortcuts-hint.svelte-mwtig8 span:where(.svelte-mwtig8){font-size:.6rem;color:var(--text-muted);display:flex;align-items:center;gap:3px}kbd.svelte-mwtig8{font-family:var(--font-mono);font-size:.58rem;background:var(--surface-2);border:1px solid var(--border-bright);border-radius:2px;padding:1px 4px;color:var(--text-dim)}.list.svelte-mwtig8{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:8px;padding:16px 20px;max-width:760px}.state-msg.svelte-mwtig8{color:var(--text-dim);font-size:.8rem;padding:40px 20px;text-align:center}.state-msg.err.svelte-mwtig8{color:var(--danger)}.state-msg.muted.svelte-mwtig8{color:var(--text-muted)}.prompt.svelte-mwtig8{color:var(--primary)}.card.svelte-mwtig8{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:12px 14px;display:flex;flex-direction:column;gap:6px;flex-shrink:0}.card-header.svelte-mwtig8{display:flex;align-items:center;justify-content:space-between}.category.svelte-mwtig8{font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.8px}.date.svelte-mwtig8{font-size:.62rem;color:var(--text-muted)}.content.svelte-mwtig8{font-size:.78rem;color:var(--text);line-height:1.55;white-space:pre-wrap}.content mark{background:color-mix(in srgb,var(--priority-high) 30%,transparent);color:var(--text);border-radius:2px;padding:0 1px}.card-footer.svelte-mwtig8{display:flex;align-items:center;flex-wrap:wrap;gap:6px;margin-top:2px}.tags.svelte-mwtig8{display:flex;flex-wrap:wrap;gap:4px}.tag.svelte-mwtig8{font-size:.62rem;color:var(--text-muted);background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm);padding:1px 6px;cursor:pointer;transition:border-color .1s,color .1s}.tag.svelte-mwtig8:hover{border-color:var(--primary);color:var(--primary)}.tag.active.svelte-mwtig8{border-color:var(--primary);color:var(--primary);background:var(--primary-dim)}.task-link.svelte-mwtig8{font-size:.68rem;color:var(--primary);cursor:pointer;border:1px solid var(--primary-dim);border-radius:var(--radius-sm);padding:1px 7px;background:var(--primary-dim);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:300px}.task-link.svelte-mwtig8:hover{background:#39d35340}.view.svelte-1nwykvu{flex:1;overflow-y:auto;padding:16px 20px}.state-msg.svelte-1nwykvu{color:var(--text-dim);font-size:.8rem;padding:40px 0;text-align:center}.state-msg.err.svelte-1nwykvu{color:var(--danger)}.state-msg.muted.svelte-1nwykvu{color:var(--text-muted)}.prompt.svelte-1nwykvu{color:var(--primary)}.list.svelte-1nwykvu{display:flex;flex-direction:column;gap:8px;max-width:760px}.card.svelte-1nwykvu{background:var(--surface);border:1px solid var(--border);border-left:3px solid var(--border-bright);border-radius:var(--radius);padding:12px 14px;display:flex;flex-direction:column;gap:5px}.card-header.svelte-1nwykvu{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.title.svelte-1nwykvu{font-size:.82rem;font-weight:700;color:var(--text)}.date.svelte-1nwykvu{font-size:.62rem;color:var(--text-muted);flex-shrink:0}.decision-text.svelte-1nwykvu{font-size:.78rem;color:var(--text-dim);line-height:1.5}.reasoning.svelte-1nwykvu{font-size:.72rem;color:var(--text-muted);font-style:italic;line-height:1.4}.alts.svelte-1nwykvu{font-size:.68rem;color:var(--text-muted)}.card-footer.svelte-1nwykvu{display:flex;align-items:center;flex-wrap:wrap;gap:6px;margin-top:2px}.tags.svelte-1nwykvu{display:flex;flex-wrap:wrap;gap:4px}.tag.svelte-1nwykvu{font-size:.62rem;color:var(--text-muted);background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm);padding:1px 6px}.task-link.svelte-1nwykvu{font-size:.68rem;color:var(--primary);cursor:pointer;border:1px solid var(--primary-dim);border-radius:var(--radius-sm);padding:1px 7px;background:var(--primary-dim);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:300px}.task-link.svelte-1nwykvu:hover{background:#39d35340}.palette-backdrop.svelte-1bm0yy4{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000bf;display:flex;align-items:flex-start;justify-content:center;padding-top:15vh;z-index:300}.palette.svelte-1bm0yy4{background:var(--surface);border:1px solid var(--border-bright);border-radius:var(--radius);width:480px;max-width:95vw;overflow:hidden}.palette-input-row.svelte-1bm0yy4{display:flex;align-items:center;gap:8px;padding:12px 14px;border-bottom:1px solid var(--border)}.palette-prompt.svelte-1bm0yy4{color:var(--primary);font-weight:700;font-size:.9rem;flex-shrink:0}.palette-input-row.svelte-1bm0yy4 input:where(.svelte-1bm0yy4){flex:1;background:none;border:none;color:var(--text);font-size:.85rem;outline:none}.palette-input-row.svelte-1bm0yy4 input:where(.svelte-1bm0yy4)::placeholder{color:var(--text-muted)}.palette-list.svelte-1bm0yy4{max-height:260px;overflow-y:auto}.palette-item.svelte-1bm0yy4{display:flex;justify-content:space-between;align-items:center;padding:8px 14px;cursor:pointer;gap:12px}.palette-item.active.svelte-1bm0yy4{background:var(--surface-2);border-left:2px solid var(--primary);padding-left:12px}.item-label.svelte-1bm0yy4{font-size:.8rem;color:var(--text)}.item-hint.svelte-1bm0yy4{font-size:.68rem;color:var(--text-muted);white-space:nowrap}.palette-empty.svelte-1bm0yy4{padding:16px 14px;font-size:.75rem;color:var(--text-muted)}.palette-footer.svelte-1bm0yy4{display:flex;gap:16px;padding:6px 14px;border-top:1px solid var(--border);background:var(--bg)}.palette-footer.svelte-1bm0yy4 span:where(.svelte-1bm0yy4){font-size:.62rem;color:var(--text-muted);display:flex;align-items:center;gap:4px}kbd.svelte-1bm0yy4{font-family:var(--font-mono);font-size:.6rem;background:var(--surface-2);border:1px solid var(--border-bright);border-radius:2px;padding:1px 4px;color:var(--text-dim)}.view.svelte-37wipk{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:16px}.toolbar.svelte-37wipk{display:flex;align-items:center;gap:6px}.toolbar-label.svelte-37wipk{font-size:.7rem;color:var(--text-dim);margin-right:4px}.window-btn.svelte-37wipk{background:none;border:1px solid var(--border);color:var(--text-dim);font-size:.72rem;font-family:inherit;padding:3px 10px;border-radius:3px;cursor:pointer;transition:color .1s,border-color .1s}.window-btn.svelte-37wipk:hover{color:var(--text);border-color:var(--text-dim)}.window-btn.active.svelte-37wipk{color:var(--primary);border-color:var(--primary)}.grid.svelte-37wipk{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px}.card.svelte-37wipk{background:var(--surface);border:1px solid var(--border);border-radius:4px;padding:14px 16px;display:flex;flex-direction:column;gap:4px}.card-label.svelte-37wipk{font-size:.67rem;font-weight:600;text-transform:uppercase;letter-spacing:.8px;color:var(--text-dim)}.card-value.svelte-37wipk{font-size:2rem;font-weight:700;color:var(--text);line-height:1.1}.card-value--empty.svelte-37wipk{color:var(--text-muted)}.val-danger.svelte-37wipk{color:var(--danger)}.card-sub.svelte-37wipk{font-size:.72rem;color:var(--text-dim)}.card-sub.muted.svelte-37wipk{color:var(--text-muted)}.card-detail.svelte-37wipk{font-size:.7rem;color:var(--text-muted);margin-top:2px}.trend.svelte-37wipk{font-size:.68rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;margin-top:6px}.trend-up.svelte-37wipk{color:var(--success, #4caf50)}.trend-down.svelte-37wipk{color:var(--danger)}.trend-stable.svelte-37wipk{color:var(--text-muted)}.badge.svelte-37wipk{display:inline-block;font-size:.65rem;font-weight:600;padding:2px 7px;border-radius:3px;margin-top:6px;width:fit-content}.badge-blocked.svelte-37wipk{background:color-mix(in srgb,var(--danger) 15%,transparent);color:var(--danger);border:1px solid color-mix(in srgb,var(--danger) 30%,transparent)}.card--tier.svelte-37wipk{align-items:flex-start}.tier-badge.svelte-37wipk{font-size:1.6rem;font-weight:800;letter-spacing:-.5px;margin:4px 0}.tier-elite.svelte-37wipk{color:#4caf50}.tier-high.svelte-37wipk{color:var(--primary)}.tier-medium.svelte-37wipk{color:#f59e0b}.tier-low.svelte-37wipk{color:var(--danger)}.tier-unknown.svelte-37wipk{color:var(--text-muted)}.tier-legend.svelte-37wipk{font-size:.65rem;color:var(--text-muted);margin-top:2px}.insights.svelte-37wipk{border:1px solid var(--border);border-radius:4px;padding:12px 16px;display:flex;flex-direction:column;gap:6px}.insights-label.svelte-37wipk{font-size:.67rem;font-weight:600;text-transform:uppercase;letter-spacing:.8px;color:var(--text-dim);margin-bottom:2px}.insight-row.svelte-37wipk{font-size:.78rem;color:var(--text-dim);display:flex;gap:8px}.insight-bullet.svelte-37wipk{color:var(--primary);flex-shrink:0}.state-msg.svelte-37wipk{font-size:.82rem;color:var(--text-muted);padding:32px 0}.err.svelte-37wipk{color:var(--danger)}.app-layout.svelte-1n46o8q{display:flex;flex:1;overflow:hidden;min-height:0}.main.svelte-1n46o8q{flex:1;display:flex;flex-direction:column;overflow:hidden;min-width:0}.tabs.svelte-1n46o8q{display:flex;gap:0;border-bottom:1px solid var(--border);padding:0 16px;flex-shrink:0}.tab.svelte-1n46o8q{background:none;border:none;border-bottom:2px solid transparent;color:var(--text-dim);font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.8px;padding:8px 14px;margin-bottom:-1px;transition:color .1s,border-color .1s}.tab.svelte-1n46o8q:hover{color:var(--text)}.tab.active.svelte-1n46o8q{color:var(--primary);border-bottom-color:var(--primary)}.loading.svelte-1n46o8q,.error.svelte-1n46o8q,.empty.svelte-1n46o8q{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;gap:8px;font-size:.85rem}.prompt.svelte-1n46o8q{color:var(--primary)}.loading.svelte-1n46o8q{color:var(--text-dim)}.error.svelte-1n46o8q{color:var(--danger)}.err-prefix.svelte-1n46o8q{margin-right:6px}.empty-prompt.svelte-1n46o8q{color:var(--text)}.empty-hint.svelte-1n46o8q{color:var(--text-muted);font-size:.75rem}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--bg: #0d0d0d;--surface: #141414;--surface-2: #1a1a1a;--border: #252525;--border-bright: #333333;--text: #d4d4d4;--text-muted: #555555;--text-dim: #888888;--primary: #39d353;--primary-hover: #2fb844;--primary-dim: rgba(57, 211, 83, .15);--danger: #f85149;--danger-hover: #da3633;--priority-critical: #f85149;--priority-high: #d29922;--priority-medium: #39d353;--priority-low: #3d444d;--column-bg: #111111;--card-shadow: none;--card-shadow-hover: 0 0 0 1px var(--border-bright);--radius: 4px;--radius-sm: 3px;--font-mono: "JetBrains Mono", "Fira Code", "Cascadia Code", "Consolas", "Courier New", monospace}body{font-family:var(--font-mono);background:var(--bg);color:var(--text);line-height:1.5;min-height:100vh;font-size:13px}button{cursor:pointer;font-family:inherit;font-size:inherit}input,textarea,select{font-family:inherit;font-size:inherit}#app{height:100vh;display:flex;flex-direction:column;overflow:hidden}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:var(--bg)}::-webkit-scrollbar-thumb{background:var(--border-bright);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#444}
@@ -0,0 +1,2 @@
1
+ var Ba=Object.defineProperty;var Cn=e=>{throw TypeError(e)};var Ha=(e,t,r)=>t in e?Ba(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r;var Xe=(e,t,r)=>Ha(e,typeof t!="symbol"?t+"":t,r),Jr=(e,t,r)=>t.has(e)||Cn("Cannot "+r);var h=(e,t,r)=>(Jr(e,t,"read from private field"),r?r.call(e):t.get(e)),re=(e,t,r)=>t.has(e)?Cn("Cannot add the same private member more than once"):t instanceof WeakSet?t.add(e):t.set(e,r),$=(e,t,r,n)=>(Jr(e,t,"write to private field"),n?n.call(e,r):t.set(e,r),r),we=(e,t,r)=>(Jr(e,t,"access private method"),r);(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const s of document.querySelectorAll('link[rel="modulepreload"]'))n(s);new MutationObserver(s=>{for(const i of s)if(i.type==="childList")for(const o of i.addedNodes)o.tagName==="LINK"&&o.rel==="modulepreload"&&n(o)}).observe(document,{childList:!0,subtree:!0});function r(s){const i={};return s.integrity&&(i.integrity=s.integrity),s.referrerPolicy&&(i.referrerPolicy=s.referrerPolicy),s.crossOrigin==="use-credentials"?i.credentials="include":s.crossOrigin==="anonymous"?i.credentials="omit":i.credentials="same-origin",i}function n(s){if(s.ep)return;s.ep=!0;const i=r(s);fetch(s.href,i)}})();const Ka=!1;var _n=Array.isArray,Ua=Array.prototype.indexOf,or=Array.prototype.includes,qr=Array.from,Va=Object.defineProperty,Zt=Object.getOwnPropertyDescriptor,Ya=Object.getOwnPropertyDescriptors,Ja=Object.prototype,Ga=Array.prototype,Jn=Object.getPrototypeOf,jn=Object.isExtensible;const Wa=()=>{};function Qa(e){for(var t=0;t<e.length;t++)e[t]()}function Gn(){var e,t,r=new Promise((n,s)=>{e=n,t=s});return{promise:r,resolve:e,reject:t}}const ke=2,vr=4,Br=8,Wn=1<<24,Dt=16,st=32,Kt=64,Xr=128,Je=512,ye=1024,xe=2048,it=4096,qe=8192,Ge=16384,Gt=32768,$r=1<<25,ur=65536,Pn=1<<17,Za=1<<18,_r=1<<19,Xa=1<<20,ct=1<<25,Ut=65536,en=1<<21,hn=1<<22,Ct=1<<23,qt=Symbol("$state"),$a=Symbol("legacy props"),ht=new class extends Error{constructor(){super(...arguments);Xe(this,"name","StaleReactionError");Xe(this,"message","The reaction that called `getAbortSignal()` was re-run or destroyed")}};var Un;const es=!!((Un=globalThis.document)!=null&&Un.contentType)&&globalThis.document.contentType.includes("xml");function ts(){throw new Error("https://svelte.dev/e/async_derived_orphan")}function rs(e,t,r){throw new Error("https://svelte.dev/e/each_key_duplicate")}function ns(e){throw new Error("https://svelte.dev/e/effect_in_teardown")}function as(){throw new Error("https://svelte.dev/e/effect_in_unowned_derived")}function ss(e){throw new Error("https://svelte.dev/e/effect_orphan")}function is(){throw new Error("https://svelte.dev/e/effect_update_depth_exceeded")}function ls(e){throw new Error("https://svelte.dev/e/props_invalid_value")}function os(){throw new Error("https://svelte.dev/e/state_descriptors_fixed")}function vs(){throw new Error("https://svelte.dev/e/state_prototype_fixed")}function us(){throw new Error("https://svelte.dev/e/state_unsafe_mutation")}function cs(){throw new Error("https://svelte.dev/e/svelte_boundary_reset_onerror")}const fs=1,ds=2,Qn=4,_s=8,hs=16,gs=1,ps=4,ms=8,ws=16,bs=1,ys=2,Te=Symbol(),Zn="http://www.w3.org/1999/xhtml",ks="http://www.w3.org/2000/svg",Ts="http://www.w3.org/1998/Math/MathML";function Es(){console.warn("https://svelte.dev/e/select_multiple_invalid_value")}function Ss(){console.warn("https://svelte.dev/e/svelte_boundary_reset_noop")}function Xn(e){return e===this.v}function xs(e,t){return e!=e?t==t:e!==t||e!==null&&typeof e=="object"||typeof e=="function"}function $n(e){return!xs(e,this.v)}let Cs=!1,Be=null;function cr(e){Be=e}function Ie(e,t=!1,r){Be={p:Be,i:!1,c:null,e:null,s:e,x:null,r:se,l:null}}function Me(e){var t=Be,r=t.e;if(r!==null){t.e=null;for(var n of r)ya(n)}return t.i=!0,Be=t.p,{}}function ea(){return!0}let It=[];function ta(){var e=It;It=[],Qa(e)}function mt(e){if(It.length===0&&!mr){var t=It;queueMicrotask(()=>{t===It&&ta()})}It.push(e)}function js(){for(;It.length>0;)ta()}function ra(e){var t=se;if(t===null)return ee.f|=Ct,e;if((t.f&Gt)===0&&(t.f&vr)===0)throw e;St(e,t)}function St(e,t){for(;t!==null;){if((t.f&Xr)!==0){if((t.f&Gt)===0)throw e;try{t.b.error(e);return}catch(r){e=r}}t=t.parent}throw e}const Ps=-7169;function pe(e,t){e.f=e.f&Ps|t}function gn(e){(e.f&Je)!==0||e.deps===null?pe(e,ye):pe(e,it)}function na(e){if(e!==null)for(const t of e)(t.f&ke)===0||(t.f&Ut)===0||(t.f^=Ut,na(t.deps))}function aa(e,t,r){(e.f&xe)!==0?t.add(e):(e.f&it)!==0&&r.add(e),na(e.deps),pe(e,ye)}let jr=!1;function As(e){var t=jr;try{return jr=!1,[e(),jr]}finally{jr=t}}const hr=new Set;let G=null,Ee=null,tn=null,mr=!1,Gr=!1,Qt=null,Ar=null;var An=0;let Ds=1;var $t,er,tr,rr,Tr,kt,nr,Tt,lt,ar,je,rn,nn,an,sn,sa;const Rr=class Rr{constructor(){re(this,je);Xe(this,"id",Ds++);Xe(this,"current",new Map);Xe(this,"previous",new Map);re(this,$t,new Set);re(this,er,new Set);re(this,tr,0);re(this,rr,0);re(this,Tr,null);re(this,kt,[]);re(this,nr,new Set);re(this,Tt,new Set);re(this,lt,new Map);Xe(this,"is_fork",!1);re(this,ar,!1)}skip_effect(t){h(this,lt).has(t)||h(this,lt).set(t,{d:[],m:[]})}unskip_effect(t){var r=h(this,lt).get(t);if(r){h(this,lt).delete(t);for(var n of r.d)pe(n,xe),this.schedule(n);for(n of r.m)pe(n,it),this.schedule(n)}}capture(t,r){r!==Te&&!this.previous.has(t)&&this.previous.set(t,r),(t.f&Ct)===0&&(this.current.set(t,t.v),Ee==null||Ee.set(t,t.v))}activate(){G=this}deactivate(){G=null,Ee=null}flush(){try{if(Gr=!0,G=this,!we(this,je,rn).call(this)){for(const t of h(this,nr))h(this,Tt).delete(t),pe(t,xe),this.schedule(t);for(const t of h(this,Tt))pe(t,it),this.schedule(t)}we(this,je,nn).call(this)}finally{An=0,tn=null,Qt=null,Ar=null,Gr=!1,G=null,Ee=null,jt.clear()}}discard(){for(const t of h(this,er))t(this);h(this,er).clear()}increment(t){$(this,tr,h(this,tr)+1),t&&$(this,rr,h(this,rr)+1)}decrement(t,r){$(this,tr,h(this,tr)-1),t&&$(this,rr,h(this,rr)-1),!(h(this,ar)||r)&&($(this,ar,!0),mt(()=>{$(this,ar,!1),this.flush()}))}oncommit(t){h(this,$t).add(t)}ondiscard(t){h(this,er).add(t)}settled(){return(h(this,Tr)??$(this,Tr,Gn())).promise}static ensure(){if(G===null){const t=G=new Rr;Gr||(hr.add(G),mr||mt(()=>{G===t&&t.flush()}))}return G}apply(){}schedule(t){var s;if(tn=t,(s=t.b)!=null&&s.is_pending&&(t.f&(vr|Br|Wn))!==0&&(t.f&Gt)===0){t.b.defer_effect(t);return}for(var r=t;r.parent!==null;){r=r.parent;var n=r.f;if(Qt!==null&&r===se&&(ee===null||(ee.f&ke)===0))return;if((n&(Kt|st))!==0){if((n&ye)===0)return;r.f^=ye}}h(this,kt).push(r)}};$t=new WeakMap,er=new WeakMap,tr=new WeakMap,rr=new WeakMap,Tr=new WeakMap,kt=new WeakMap,nr=new WeakMap,Tt=new WeakMap,lt=new WeakMap,ar=new WeakMap,je=new WeakSet,rn=function(){return this.is_fork||h(this,rr)>0},nn=function(){var v,l;An++>1e3&&Os();const t=h(this,kt);$(this,kt,[]),this.apply();var r=Qt=[],n=[],s=Ar=[];for(const u of t)we(this,je,an).call(this,u,r,n);if(G=null,s.length>0){var i=Rr.ensure();for(const u of s)i.schedule(u)}if(Qt=null,Ar=null,we(this,je,rn).call(this)){we(this,je,sn).call(this,n),we(this,je,sn).call(this,r);for(const[u,f]of h(this,lt))oa(u,f)}else{h(this,nr).clear(),h(this,Tt).clear();for(const u of h(this,$t))u(this);h(this,$t).clear(),Dn(n),Dn(r),h(this,tr)===0&&we(this,je,sa).call(this),(v=h(this,Tr))==null||v.resolve()}var o=G;o!==null&&(hr.add(o),we(l=o,je,nn).call(l))},an=function(t,r,n){t.f^=ye;for(var s=t.first;s!==null;){var i=s.f,o=(i&(st|Kt))!==0,v=o&&(i&ye)!==0,l=v||(i&qe)!==0||h(this,lt).has(s);if(!l&&s.fn!==null){o?s.f^=ye:(i&vr)!==0?r.push(s):Cr(s)&&((i&Dt)!==0&&h(this,Tt).add(s),dr(s));var u=s.first;if(u!==null){s=u;continue}}for(;s!==null;){var f=s.next;if(f!==null){s=f;break}s=s.parent}}},sn=function(t){for(var r=0;r<t.length;r+=1)aa(t[r],h(this,nr),h(this,Tt))},sa=function(){var s;if(hr.size>1){this.previous.clear();var t=G,r=Ee,n=!0;for(const i of hr){if(i===this){n=!1;continue}const o=[];for(const[l,u]of this.current){if(i.current.has(l))if(n&&u!==i.current.get(l))i.current.set(l,u);else continue;o.push(l)}if(o.length===0)continue;const v=[...i.current.keys()].filter(l=>!this.current.has(l));if(v.length>0){i.activate();const l=new Set,u=new Map;for(const f of o)ia(f,v,l,u);if(h(i,kt).length>0){i.apply();for(const f of h(i,kt))we(s=i,je,an).call(s,f,[],[])}i.deactivate()}}G=t,Ee=r}h(this,lt).clear(),hr.delete(this)};let Vt=Rr;function Ns(e){var t=mr;mr=!0;try{for(var r;;){if(js(),G===null)return r;G.flush()}}finally{mr=t}}function Os(){try{is()}catch(e){St(e,tn)}}let et=null;function Dn(e){var t=e.length;if(t!==0){for(var r=0;r<t;){var n=e[r++];if((n.f&(Ge|qe))===0&&Cr(n)&&(et=new Set,dr(n),n.deps===null&&n.first===null&&n.nodes===null&&n.teardown===null&&n.ac===null&&Sa(n),(et==null?void 0:et.size)>0)){jt.clear();for(const s of et){if((s.f&(Ge|qe))!==0)continue;const i=[s];let o=s.parent;for(;o!==null;)et.has(o)&&(et.delete(o),i.push(o)),o=o.parent;for(let v=i.length-1;v>=0;v--){const l=i[v];(l.f&(Ge|qe))===0&&dr(l)}}et.clear()}}et=null}}function ia(e,t,r,n){if(!r.has(e)&&(r.add(e),e.reactions!==null))for(const s of e.reactions){const i=s.f;(i&ke)!==0?ia(s,t,r,n):(i&(hn|Dt))!==0&&(i&xe)===0&&la(s,t,n)&&(pe(s,xe),pn(s))}}function la(e,t,r){const n=r.get(e);if(n!==void 0)return n;if(e.deps!==null)for(const s of e.deps){if(or.call(t,s))return!0;if((s.f&ke)!==0&&la(s,t,r))return r.set(s,!0),!0}return r.set(e,!1),!1}function pn(e){G.schedule(e)}function oa(e,t){if(!((e.f&st)!==0&&(e.f&ye)!==0)){(e.f&xe)!==0?t.d.push(e):(e.f&it)!==0&&t.m.push(e),pe(e,ye);for(var r=e.first;r!==null;)oa(r,t),r=r.next}}function Is(e){let t=0,r=Yt(0),n;return()=>{bn()&&(a(r),kn(()=>(t===0&&(n=Ur(()=>e(()=>wr(r)))),t+=1,()=>{mt(()=>{t-=1,t===0&&(n==null||n(),n=void 0,wr(r))})})))}}var Ms=ur|_r;function Ls(e,t,r,n){new Rs(e,t,r,n)}var Ue,dn,ot,Rt,De,vt,Re,tt,gt,zt,Et,sr,ir,lr,pt,zr,be,zs,Fs,qs,ln,Dr,Nr,on;class Rs{constructor(t,r,n,s){re(this,be);Xe(this,"parent");Xe(this,"is_pending",!1);Xe(this,"transform_error");re(this,Ue);re(this,dn,null);re(this,ot);re(this,Rt);re(this,De);re(this,vt,null);re(this,Re,null);re(this,tt,null);re(this,gt,null);re(this,zt,0);re(this,Et,0);re(this,sr,!1);re(this,ir,new Set);re(this,lr,new Set);re(this,pt,null);re(this,zr,Is(()=>($(this,pt,Yt(h(this,zt))),()=>{$(this,pt,null)})));var i;$(this,Ue,t),$(this,ot,r),$(this,Rt,o=>{var v=se;v.b=this,v.f|=Xr,n(o)}),this.parent=se.b,this.transform_error=s??((i=this.parent)==null?void 0:i.transform_error)??(o=>o),$(this,De,Tn(()=>{we(this,be,ln).call(this)},Ms))}defer_effect(t){aa(t,h(this,ir),h(this,lr))}is_rendered(){return!this.is_pending&&(!this.parent||this.parent.is_rendered())}has_pending_snippet(){return!!h(this,ot).pending}update_pending_count(t,r){we(this,be,on).call(this,t,r),$(this,zt,h(this,zt)+t),!(!h(this,pt)||h(this,sr))&&($(this,sr,!0),mt(()=>{$(this,sr,!1),h(this,pt)&&fr(h(this,pt),h(this,zt))}))}get_effect_pending(){return h(this,zr).call(this),a(h(this,pt))}error(t){var r=h(this,ot).onerror;let n=h(this,ot).failed;if(!r&&!n)throw t;h(this,vt)&&(Oe(h(this,vt)),$(this,vt,null)),h(this,Re)&&(Oe(h(this,Re)),$(this,Re,null)),h(this,tt)&&(Oe(h(this,tt)),$(this,tt,null));var s=!1,i=!1;const o=()=>{if(s){Ss();return}s=!0,i&&cs(),h(this,tt)!==null&&Bt(h(this,tt),()=>{$(this,tt,null)}),we(this,be,Nr).call(this,()=>{we(this,be,ln).call(this)})},v=l=>{try{i=!0,r==null||r(l,o),i=!1}catch(u){St(u,h(this,De)&&h(this,De).parent)}n&&$(this,tt,we(this,be,Nr).call(this,()=>{try{return Ve(()=>{var u=se;u.b=this,u.f|=Xr,n(h(this,Ue),()=>l,()=>o)})}catch(u){return St(u,h(this,De).parent),null}}))};mt(()=>{var l;try{l=this.transform_error(t)}catch(u){St(u,h(this,De)&&h(this,De).parent);return}l!==null&&typeof l=="object"&&typeof l.then=="function"?l.then(v,u=>St(u,h(this,De)&&h(this,De).parent)):v(l)})}}Ue=new WeakMap,dn=new WeakMap,ot=new WeakMap,Rt=new WeakMap,De=new WeakMap,vt=new WeakMap,Re=new WeakMap,tt=new WeakMap,gt=new WeakMap,zt=new WeakMap,Et=new WeakMap,sr=new WeakMap,ir=new WeakMap,lr=new WeakMap,pt=new WeakMap,zr=new WeakMap,be=new WeakSet,zs=function(){try{$(this,vt,Ve(()=>h(this,Rt).call(this,h(this,Ue))))}catch(t){this.error(t)}},Fs=function(t){const r=h(this,ot).failed;r&&$(this,tt,Ve(()=>{r(h(this,Ue),()=>t,()=>()=>{})}))},qs=function(){const t=h(this,ot).pending;if(t){this.is_pending=!0,$(this,Re,Ve(()=>t(h(this,Ue))));var r=G;mt(()=>{var n=$(this,gt,document.createDocumentFragment()),s=Pt();n.append(s),$(this,vt,we(this,be,Nr).call(this,()=>Ve(()=>h(this,Rt).call(this,s)))),h(this,Et)===0&&(h(this,Ue).before(n),$(this,gt,null),Bt(h(this,Re),()=>{$(this,Re,null)}),we(this,be,Dr).call(this,r))})}},ln=function(){var t=G;try{if(this.is_pending=this.has_pending_snippet(),$(this,Et,0),$(this,zt,0),$(this,vt,Ve(()=>{h(this,Rt).call(this,h(this,Ue))})),h(this,Et)>0){var r=$(this,gt,document.createDocumentFragment());xn(h(this,vt),r);const n=h(this,ot).pending;$(this,Re,Ve(()=>n(h(this,Ue))))}else we(this,be,Dr).call(this,t)}catch(n){this.error(n)}},Dr=function(t){this.is_pending=!1;for(const r of h(this,ir))pe(r,xe),t.schedule(r);for(const r of h(this,lr))pe(r,it),t.schedule(r);h(this,ir).clear(),h(this,lr).clear()},Nr=function(t){var r=se,n=ee,s=Be;ft(h(this,De)),Qe(h(this,De)),cr(h(this,De).ctx);try{return Vt.ensure(),t()}catch(i){return ra(i),null}finally{ft(r),Qe(n),cr(s)}},on=function(t,r){var n;if(!this.has_pending_snippet()){this.parent&&we(n=this.parent,be,on).call(n,t,r);return}$(this,Et,h(this,Et)+t),h(this,Et)===0&&(we(this,be,Dr).call(this,r),h(this,Re)&&Bt(h(this,Re),()=>{$(this,Re,null)}),h(this,gt)&&(h(this,Ue).before(h(this,gt)),$(this,gt,null)))};function Bs(e,t,r,n){const s=Hr;var i=e.filter(g=>!g.settled);if(r.length===0&&i.length===0){n(t.map(s));return}var o=se,v=Hs(),l=i.length===1?i[0].promise:i.length>1?Promise.all(i.map(g=>g.promise)):null;function u(g){v();try{n(g)}catch(P){(o.f&Ge)===0&&St(P,o)}Ir()}if(r.length===0){l.then(()=>u(t.map(s)));return}var f=va();function m(){Promise.all(r.map(g=>Ks(g))).then(g=>u([...t.map(s),...g])).catch(g=>St(g,o)).finally(()=>f())}l?l.then(()=>{v(),m(),Ir()}):m()}function Hs(){var e=se,t=ee,r=Be,n=G;return function(i=!0){ft(e),Qe(t),cr(r),i&&(e.f&Ge)===0&&(n==null||n.activate(),n==null||n.apply())}}function Ir(e=!0){ft(null),Qe(null),cr(null),e&&(G==null||G.deactivate())}function va(){var e=se.b,t=G,r=e.is_rendered();return e.update_pending_count(1,t),t.increment(r),(n=!1)=>{e.update_pending_count(-1,t),t.decrement(r,n)}}function Hr(e){var t=ke|xe,r=ee!==null&&(ee.f&ke)!==0?ee:null;return se!==null&&(se.f|=_r),{ctx:Be,deps:null,effects:null,equals:Xn,f:t,fn:e,reactions:null,rv:0,v:Te,wv:0,parent:r??se,ac:null}}function Ks(e,t,r){let n=se;n===null&&ts();var s=void 0,i=Yt(Te),o=!ee,v=new Map;return ri(()=>{var P;var l=se,u=Gn();s=u.promise;try{Promise.resolve(e()).then(u.resolve,u.reject).finally(Ir)}catch(p){u.reject(p),Ir()}var f=G;if(o){if((l.f&Gt)!==0)var m=va();if(n.b.is_rendered())(P=v.get(f))==null||P.reject(ht),v.delete(f);else{for(const p of v.values())p.reject(ht);v.clear()}v.set(f,u)}const g=(p,D=void 0)=>{if(m){var c=D===ht;m(c)}if(!(D===ht||(l.f&Ge)!==0)){if(f.activate(),D)i.f|=Ct,fr(i,D);else{(i.f&Ct)!==0&&(i.f^=Ct),fr(i,p);for(const[k,j]of v){if(v.delete(k),k===f)break;j.reject(ht)}}f.deactivate()}};u.promise.then(g,p=>g(null,p||"unknown"))}),yn(()=>{for(const l of v.values())l.reject(ht)}),new Promise(l=>{function u(f){function m(){f===s?l(i):u(s)}f.then(m,m)}u(s)})}function le(e){const t=Hr(e);return ja(t),t}function ua(e){const t=Hr(e);return t.equals=$n,t}function Us(e){var t=e.effects;if(t!==null){e.effects=null;for(var r=0;r<t.length;r+=1)Oe(t[r])}}function Vs(e){for(var t=e.parent;t!==null;){if((t.f&ke)===0)return(t.f&Ge)===0?t:null;t=t.parent}return null}function mn(e){var t,r=se;ft(Vs(e));try{e.f&=~Ut,Us(e),t=Na(e)}finally{ft(r)}return t}function ca(e){var t=mn(e);if(!e.equals(t)&&(e.wv=Aa(),(!(G!=null&&G.is_fork)||e.deps===null)&&(e.v=t,e.deps===null))){pe(e,ye);return}At||(Ee!==null?(bn()||G!=null&&G.is_fork)&&Ee.set(e,t):gn(e))}function Ys(e){var t,r;if(e.effects!==null)for(const n of e.effects)(n.teardown||n.ac)&&((t=n.teardown)==null||t.call(n),(r=n.ac)==null||r.abort(ht),n.teardown=Wa,n.ac=null,yr(n,0),En(n))}function fa(e){if(e.effects!==null)for(const t of e.effects)t.teardown&&dr(t)}let vn=new Set;const jt=new Map;let da=!1;function Yt(e,t){var r={f:0,v:e,reactions:null,equals:Xn,rv:0,wv:0};return r}function F(e,t){const r=Yt(e);return ja(r),r}function Js(e,t=!1,r=!0){const n=Yt(e);return t||(n.equals=$n),n}function _(e,t,r=!1){ee!==null&&(!nt||(ee.f&Pn)!==0)&&ea()&&(ee.f&(ke|Dt|hn|Pn))!==0&&(We===null||!or.call(We,e))&&us();let n=r?Ce(t):t;return fr(e,n,Ar)}function fr(e,t,r=null){if(!e.equals(t)){var n=e.v;At?jt.set(e,t):jt.set(e,n),e.v=t;var s=Vt.ensure();if(s.capture(e,n),(e.f&ke)!==0){const i=e;(e.f&xe)!==0&&mn(i),gn(i)}e.wv=Aa(),_a(e,xe,r),se!==null&&(se.f&ye)!==0&&(se.f&(st|Kt))===0&&(Ke===null?ai([e]):Ke.push(e)),!s.is_fork&&vn.size>0&&!da&&Gs()}return t}function Gs(){da=!1;for(const e of vn)(e.f&ye)!==0&&pe(e,it),Cr(e)&&dr(e);vn.clear()}function wr(e){_(e,e.v+1)}function _a(e,t,r){var n=e.reactions;if(n!==null)for(var s=n.length,i=0;i<s;i++){var o=n[i],v=o.f,l=(v&xe)===0;if(l&&pe(o,t),(v&ke)!==0){var u=o;Ee==null||Ee.delete(u),(v&Ut)===0&&(v&Je&&(o.f|=Ut),_a(u,it,r))}else if(l){var f=o;(v&Dt)!==0&&et!==null&&et.add(f),r!==null?r.push(f):pn(f)}}}function Ce(e){if(typeof e!="object"||e===null||qt in e)return e;const t=Jn(e);if(t!==Ja&&t!==Ga)return e;var r=new Map,n=_n(e),s=F(0),i=Ht,o=v=>{if(Ht===i)return v();var l=ee,u=Ht;Qe(null),Mn(i);var f=v();return Qe(l),Mn(u),f};return n&&r.set("length",F(e.length)),new Proxy(e,{defineProperty(v,l,u){(!("value"in u)||u.configurable===!1||u.enumerable===!1||u.writable===!1)&&os();var f=r.get(l);return f===void 0?o(()=>{var m=F(u.value);return r.set(l,m),m}):_(f,u.value,!0),!0},deleteProperty(v,l){var u=r.get(l);if(u===void 0){if(l in v){const f=o(()=>F(Te));r.set(l,f),wr(s)}}else _(u,Te),wr(s);return!0},get(v,l,u){var P;if(l===qt)return e;var f=r.get(l),m=l in v;if(f===void 0&&(!m||(P=Zt(v,l))!=null&&P.writable)&&(f=o(()=>{var p=Ce(m?v[l]:Te),D=F(p);return D}),r.set(l,f)),f!==void 0){var g=a(f);return g===Te?void 0:g}return Reflect.get(v,l,u)},getOwnPropertyDescriptor(v,l){var u=Reflect.getOwnPropertyDescriptor(v,l);if(u&&"value"in u){var f=r.get(l);f&&(u.value=a(f))}else if(u===void 0){var m=r.get(l),g=m==null?void 0:m.v;if(m!==void 0&&g!==Te)return{enumerable:!0,configurable:!0,value:g,writable:!0}}return u},has(v,l){var g;if(l===qt)return!0;var u=r.get(l),f=u!==void 0&&u.v!==Te||Reflect.has(v,l);if(u!==void 0||se!==null&&(!f||(g=Zt(v,l))!=null&&g.writable)){u===void 0&&(u=o(()=>{var P=f?Ce(v[l]):Te,p=F(P);return p}),r.set(l,u));var m=a(u);if(m===Te)return!1}return f},set(v,l,u,f){var C;var m=r.get(l),g=l in v;if(n&&l==="length")for(var P=u;P<m.v;P+=1){var p=r.get(P+"");p!==void 0?_(p,Te):P in v&&(p=o(()=>F(Te)),r.set(P+"",p))}if(m===void 0)(!g||(C=Zt(v,l))!=null&&C.writable)&&(m=o(()=>F(void 0)),_(m,Ce(u)),r.set(l,m));else{g=m.v!==Te;var D=o(()=>Ce(u));_(m,D)}var c=Reflect.getOwnPropertyDescriptor(v,l);if(c!=null&&c.set&&c.set.call(f,u),!g){if(n&&typeof l=="string"){var k=r.get("length"),j=Number(l);Number.isInteger(j)&&j>=k.v&&_(k,j+1)}wr(s)}return!0},ownKeys(v){a(s);var l=Reflect.ownKeys(v).filter(m=>{var g=r.get(m);return g===void 0||g.v!==Te});for(var[u,f]of r)f.v!==Te&&!(u in v)&&l.push(u);return l},setPrototypeOf(){vs()}})}function Nn(e){try{if(e!==null&&typeof e=="object"&&qt in e)return e[qt]}catch{}return e}function Ws(e,t){return Object.is(Nn(e),Nn(t))}var wt,ha,ga,pa;function Qs(){if(wt===void 0){wt=window,ha=/Firefox/.test(navigator.userAgent);var e=Element.prototype,t=Node.prototype,r=Text.prototype;ga=Zt(t,"firstChild").get,pa=Zt(t,"nextSibling").get,jn(e)&&(e.__click=void 0,e.__className=void 0,e.__attributes=null,e.__style=void 0,e.__e=void 0),jn(r)&&(r.__t=void 0)}}function Pt(e=""){return document.createTextNode(e)}function xt(e){return ga.call(e)}function xr(e){return pa.call(e)}function d(e,t){return xt(e)}function Ye(e,t=!1){{var r=xt(e);return r instanceof Comment&&r.data===""?xr(r):r}}function w(e,t=1,r=!1){let n=e;for(;t--;)n=xr(n);return n}function Zs(e){e.textContent=""}function ma(){return!1}function wa(e,t,r){return document.createElementNS(t??Zn,e,void 0)}function wn(e,t){{const r=document.body;e.autofocus=!0,mt(()=>{document.activeElement===r&&e.focus()})}}let On=!1;function Xs(){On||(On=!0,document.addEventListener("reset",e=>{Promise.resolve().then(()=>{var t;if(!e.defaultPrevented)for(const r of e.target.elements)(t=r.__on_r)==null||t.call(r)})},{capture:!0}))}function Kr(e){var t=ee,r=se;Qe(null),ft(null);try{return e()}finally{Qe(t),ft(r)}}function ba(e,t,r,n=r){e.addEventListener(t,()=>Kr(r));const s=e.__on_r;s?e.__on_r=()=>{s(),n(!0)}:e.__on_r=()=>n(!0),Xs()}function $s(e){se===null&&(ee===null&&ss(),as()),At&&ns()}function ei(e,t){var r=t.last;r===null?t.last=t.first=e:(r.next=e,e.prev=r,t.last=e)}function bt(e,t){var r=se;r!==null&&(r.f&qe)!==0&&(e|=qe);var n={ctx:Be,deps:null,nodes:null,f:e|xe|Je,first:null,fn:t,last:null,next:null,parent:r,b:r&&r.b,prev:null,teardown:null,wv:0,ac:null},s=n;if((e&vr)!==0)Qt!==null?Qt.push(n):Vt.ensure().schedule(n);else if(t!==null){try{dr(n)}catch(o){throw Oe(n),o}s.deps===null&&s.teardown===null&&s.nodes===null&&s.first===s.last&&(s.f&_r)===0&&(s=s.first,(e&Dt)!==0&&(e&ur)!==0&&s!==null&&(s.f|=ur))}if(s!==null&&(s.parent=r,r!==null&&ei(s,r),ee!==null&&(ee.f&ke)!==0&&(e&Kt)===0)){var i=ee;(i.effects??(i.effects=[])).push(s)}return n}function bn(){return ee!==null&&!nt}function yn(e){const t=bt(Br,null);return pe(t,ye),t.teardown=e,t}function at(e){$s();var t=se.f,r=!ee&&(t&st)!==0&&(t&Gt)===0;if(r){var n=Be;(n.e??(n.e=[])).push(e)}else return ya(e)}function ya(e){return bt(vr|Xa,e)}function ti(e){Vt.ensure();const t=bt(Kt|_r,e);return(r={})=>new Promise(n=>{r.outro?Bt(t,()=>{Oe(t),n(void 0)}):(Oe(t),n(void 0))})}function ka(e){return bt(vr,e)}function ri(e){return bt(hn|_r,e)}function kn(e,t=0){return bt(Br|t,e)}function q(e,t=[],r=[],n=[]){Bs(n,t,r,s=>{bt(Br,()=>e(...s.map(a)))})}function Tn(e,t=0){var r=bt(Dt|t,e);return r}function Ve(e){return bt(st|_r,e)}function Ta(e){var t=e.teardown;if(t!==null){const r=At,n=ee;In(!0),Qe(null);try{t.call(null)}finally{In(r),Qe(n)}}}function En(e,t=!1){var r=e.first;for(e.first=e.last=null;r!==null;){const s=r.ac;s!==null&&Kr(()=>{s.abort(ht)});var n=r.next;(r.f&Kt)!==0?r.parent=null:Oe(r,t),r=n}}function ni(e){for(var t=e.first;t!==null;){var r=t.next;(t.f&st)===0&&Oe(t),t=r}}function Oe(e,t=!0){var r=!1;(t||(e.f&Za)!==0)&&e.nodes!==null&&e.nodes.end!==null&&(Ea(e.nodes.start,e.nodes.end),r=!0),pe(e,$r),En(e,t&&!r),yr(e,0);var n=e.nodes&&e.nodes.t;if(n!==null)for(const i of n)i.stop();Ta(e),e.f^=$r,e.f|=Ge;var s=e.parent;s!==null&&s.first!==null&&Sa(e),e.next=e.prev=e.teardown=e.ctx=e.deps=e.fn=e.nodes=e.ac=null}function Ea(e,t){for(;e!==null;){var r=e===t?null:xr(e);e.remove(),e=r}}function Sa(e){var t=e.parent,r=e.prev,n=e.next;r!==null&&(r.next=n),n!==null&&(n.prev=r),t!==null&&(t.first===e&&(t.first=n),t.last===e&&(t.last=r))}function Bt(e,t,r=!0){var n=[];xa(e,n,!0);var s=()=>{r&&Oe(e),t&&t()},i=n.length;if(i>0){var o=()=>--i||s();for(var v of n)v.out(o)}else s()}function xa(e,t,r){if((e.f&qe)===0){e.f^=qe;var n=e.nodes&&e.nodes.t;if(n!==null)for(const v of n)(v.is_global||r)&&t.push(v);for(var s=e.first;s!==null;){var i=s.next,o=(s.f&ur)!==0||(s.f&st)!==0&&(e.f&Dt)!==0;xa(s,t,o?r:!1),s=i}}}function Sn(e){Ca(e,!0)}function Ca(e,t){if((e.f&qe)!==0){e.f^=qe,(e.f&ye)===0&&(pe(e,xe),Vt.ensure().schedule(e));for(var r=e.first;r!==null;){var n=r.next,s=(r.f&ur)!==0||(r.f&st)!==0;Ca(r,s?t:!1),r=n}var i=e.nodes&&e.nodes.t;if(i!==null)for(const o of i)(o.is_global||t)&&o.in()}}function xn(e,t){if(e.nodes)for(var r=e.nodes.start,n=e.nodes.end;r!==null;){var s=r===n?null:xr(r);t.append(r),r=s}}let Or=!1,At=!1;function In(e){At=e}let ee=null,nt=!1;function Qe(e){ee=e}let se=null;function ft(e){se=e}let We=null;function ja(e){ee!==null&&(We===null?We=[e]:We.push(e))}let Ne=null,Le=0,Ke=null;function ai(e){Ke=e}let Pa=1,Mt=0,Ht=Mt;function Mn(e){Ht=e}function Aa(){return++Pa}function Cr(e){var t=e.f;if((t&xe)!==0)return!0;if(t&ke&&(e.f&=~Ut),(t&it)!==0){for(var r=e.deps,n=r.length,s=0;s<n;s++){var i=r[s];if(Cr(i)&&ca(i),i.wv>e.wv)return!0}(t&Je)!==0&&Ee===null&&pe(e,ye)}return!1}function Da(e,t,r=!0){var n=e.reactions;if(n!==null&&!(We!==null&&or.call(We,e)))for(var s=0;s<n.length;s++){var i=n[s];(i.f&ke)!==0?Da(i,t,!1):t===i&&(r?pe(i,xe):(i.f&ye)!==0&&pe(i,it),pn(i))}}function Na(e){var D;var t=Ne,r=Le,n=Ke,s=ee,i=We,o=Be,v=nt,l=Ht,u=e.f;Ne=null,Le=0,Ke=null,ee=(u&(st|Kt))===0?e:null,We=null,cr(e.ctx),nt=!1,Ht=++Mt,e.ac!==null&&(Kr(()=>{e.ac.abort(ht)}),e.ac=null);try{e.f|=en;var f=e.fn,m=f();e.f|=Gt;var g=e.deps,P=G==null?void 0:G.is_fork;if(Ne!==null){var p;if(P||yr(e,Le),g!==null&&Le>0)for(g.length=Le+Ne.length,p=0;p<Ne.length;p++)g[Le+p]=Ne[p];else e.deps=g=Ne;if(bn()&&(e.f&Je)!==0)for(p=Le;p<g.length;p++)((D=g[p]).reactions??(D.reactions=[])).push(e)}else!P&&g!==null&&Le<g.length&&(yr(e,Le),g.length=Le);if(ea()&&Ke!==null&&!nt&&g!==null&&(e.f&(ke|it|xe))===0)for(p=0;p<Ke.length;p++)Da(Ke[p],e);if(s!==null&&s!==e){if(Mt++,s.deps!==null)for(let c=0;c<r;c+=1)s.deps[c].rv=Mt;if(t!==null)for(const c of t)c.rv=Mt;Ke!==null&&(n===null?n=Ke:n.push(...Ke))}return(e.f&Ct)!==0&&(e.f^=Ct),m}catch(c){return ra(c)}finally{e.f^=en,Ne=t,Le=r,Ke=n,ee=s,We=i,cr(o),nt=v,Ht=l}}function si(e,t){let r=t.reactions;if(r!==null){var n=Ua.call(r,e);if(n!==-1){var s=r.length-1;s===0?r=t.reactions=null:(r[n]=r[s],r.pop())}}if(r===null&&(t.f&ke)!==0&&(Ne===null||!or.call(Ne,t))){var i=t;(i.f&Je)!==0&&(i.f^=Je,i.f&=~Ut),gn(i),Ys(i),yr(i,0)}}function yr(e,t){var r=e.deps;if(r!==null)for(var n=t;n<r.length;n++)si(e,r[n])}function dr(e){var t=e.f;if((t&Ge)===0){pe(e,ye);var r=se,n=Or;se=e,Or=!0;try{(t&(Dt|Wn))!==0?ni(e):En(e),Ta(e);var s=Na(e);e.teardown=typeof s=="function"?s:null,e.wv=Pa;var i;Ka&&Cs&&(e.f&xe)!==0&&e.deps}finally{Or=n,se=r}}}async function ii(){await Promise.resolve(),Ns()}function a(e){var t=e.f,r=(t&ke)!==0;if(ee!==null&&!nt){var n=se!==null&&(se.f&Ge)!==0;if(!n&&(We===null||!or.call(We,e))){var s=ee.deps;if((ee.f&en)!==0)e.rv<Mt&&(e.rv=Mt,Ne===null&&s!==null&&s[Le]===e?Le++:Ne===null?Ne=[e]:Ne.push(e));else{(ee.deps??(ee.deps=[])).push(e);var i=e.reactions;i===null?e.reactions=[ee]:or.call(i,ee)||i.push(ee)}}}if(At&&jt.has(e))return jt.get(e);if(r){var o=e;if(At){var v=o.v;return((o.f&ye)===0&&o.reactions!==null||Ia(o))&&(v=mn(o)),jt.set(o,v),v}var l=(o.f&Je)===0&&!nt&&ee!==null&&(Or||(ee.f&Je)!==0),u=(o.f&Gt)===0;Cr(o)&&(l&&(o.f|=Je),ca(o)),l&&!u&&(fa(o),Oa(o))}if(Ee!=null&&Ee.has(e))return Ee.get(e);if((e.f&Ct)!==0)throw e.v;return e.v}function Oa(e){if(e.f|=Je,e.deps!==null)for(const t of e.deps)(t.reactions??(t.reactions=[])).push(e),(t.f&ke)!==0&&(t.f&Je)===0&&(fa(t),Oa(t))}function Ia(e){if(e.v===Te)return!0;if(e.deps===null)return!1;for(const t of e.deps)if(jt.has(t)||(t.f&ke)!==0&&Ia(t))return!0;return!1}function Ur(e){var t=nt;try{return nt=!0,e()}finally{nt=t}}const li=["touchstart","touchmove"];function oi(e){return li.includes(e)}const Lt=Symbol("events"),Ma=new Set,un=new Set;function vi(e,t,r,n={}){function s(i){if(n.capture||cn.call(t,i),!i.cancelBubble)return Kr(()=>r==null?void 0:r.call(this,i))}return e.startsWith("pointer")||e.startsWith("touch")||e==="wheel"?mt(()=>{t.addEventListener(e,s,n)}):t.addEventListener(e,s,n),s}function Ae(e,t,r,n,s){var i={capture:n,passive:s},o=vi(e,t,r,i);(t===document.body||t===window||t===document||t instanceof HTMLMediaElement)&&yn(()=>{t.removeEventListener(e,o,i)})}function te(e,t,r){(t[Lt]??(t[Lt]={}))[e]=r}function He(e){for(var t=0;t<e.length;t++)Ma.add(e[t]);for(var r of un)r(e)}let Ln=null;function cn(e){var c,k;var t=this,r=t.ownerDocument,n=e.type,s=((c=e.composedPath)==null?void 0:c.call(e))||[],i=s[0]||e.target;Ln=e;var o=0,v=Ln===e&&e[Lt];if(v){var l=s.indexOf(v);if(l!==-1&&(t===document||t===window)){e[Lt]=t;return}var u=s.indexOf(t);if(u===-1)return;l<=u&&(o=l)}if(i=s[o]||e.target,i!==t){Va(e,"currentTarget",{configurable:!0,get(){return i||r}});var f=ee,m=se;Qe(null),ft(null);try{for(var g,P=[];i!==null;){var p=i.assignedSlot||i.parentNode||i.host||null;try{var D=(k=i[Lt])==null?void 0:k[n];D!=null&&(!i.disabled||e.target===i)&&D.call(i,e)}catch(j){g?P.push(j):g=j}if(e.cancelBubble||p===t||p===null)break;i=p}if(g){for(let j of P)queueMicrotask(()=>{throw j});throw g}}finally{e[Lt]=t,delete e.currentTarget,Qe(f),ft(m)}}}var Vn;const Wr=((Vn=globalThis==null?void 0:globalThis.window)==null?void 0:Vn.trustedTypes)&&globalThis.window.trustedTypes.createPolicy("svelte-trusted-html",{createHTML:e=>e});function ui(e){return(Wr==null?void 0:Wr.createHTML(e))??e}function ci(e){var t=wa("template");return t.innerHTML=ui(e.replaceAll("<!>","<!---->")),t.content}function kr(e,t){var r=se;r.nodes===null&&(r.nodes={start:e,end:t,a:null,t:null})}function S(e,t){var r=(t&bs)!==0,n=(t&ys)!==0,s,i=!e.startsWith("<!>");return()=>{s===void 0&&(s=ci(i?e:"<!>"+e),r||(s=xt(s)));var o=n||ha?document.importNode(s,!0):s.cloneNode(!0);if(r){var v=xt(o),l=o.lastChild;kr(v,l)}else kr(o,o);return o}}function Rn(e=""){{var t=Pt(e+"");return kr(t,t),t}}function E(e,t){e!==null&&e.before(t)}function I(e,t){var r=t==null?"":typeof t=="object"?`${t}`:t;r!==(e.__t??(e.__t=e.nodeValue))&&(e.__t=r,e.nodeValue=`${r}`)}function fi(e,t){return di(e,t)}const Pr=new Map;function di(e,{target:t,anchor:r,props:n={},events:s,context:i,intro:o=!0,transformError:v}){Qs();var l=void 0,u=ti(()=>{var f=r??t.appendChild(Pt());Ls(f,{pending:()=>{}},P=>{Ie({});var p=Be;i&&(p.c=i),s&&(n.$$events=s),l=e(P,n)||{},Me()},v);var m=new Set,g=P=>{for(var p=0;p<P.length;p++){var D=P[p];if(!m.has(D)){m.add(D);var c=oi(D);for(const C of[t,document]){var k=Pr.get(C);k===void 0&&(k=new Map,Pr.set(C,k));var j=k.get(D);j===void 0?(C.addEventListener(D,cn,{passive:c}),k.set(D,1)):k.set(D,j+1)}}}};return g(qr(Ma)),un.add(g),()=>{var c;for(var P of m)for(const k of[t,document]){var p=Pr.get(k),D=p.get(P);--D==0?(k.removeEventListener(P,cn),p.delete(P),p.size===0&&Pr.delete(k)):p.set(P,D)}un.delete(g),f!==r&&((c=f.parentNode)==null||c.removeChild(f))}});return _i.set(l,u),l}let _i=new WeakMap;var rt,ut,ze,Ft,Er,Sr,Fr;class hi{constructor(t,r=!0){Xe(this,"anchor");re(this,rt,new Map);re(this,ut,new Map);re(this,ze,new Map);re(this,Ft,new Set);re(this,Er,!0);re(this,Sr,t=>{if(h(this,rt).has(t)){var r=h(this,rt).get(t),n=h(this,ut).get(r);if(n)Sn(n),h(this,Ft).delete(r);else{var s=h(this,ze).get(r);s&&(h(this,ut).set(r,s.effect),h(this,ze).delete(r),s.fragment.lastChild.remove(),this.anchor.before(s.fragment),n=s.effect)}for(const[i,o]of h(this,rt)){if(h(this,rt).delete(i),i===t)break;const v=h(this,ze).get(o);v&&(Oe(v.effect),h(this,ze).delete(o))}for(const[i,o]of h(this,ut)){if(i===r||h(this,Ft).has(i))continue;const v=()=>{if(Array.from(h(this,rt).values()).includes(i)){var u=document.createDocumentFragment();xn(o,u),u.append(Pt()),h(this,ze).set(i,{effect:o,fragment:u})}else Oe(o);h(this,Ft).delete(i),h(this,ut).delete(i)};h(this,Er)||!n?(h(this,Ft).add(i),Bt(o,v,!1)):v()}}});re(this,Fr,t=>{h(this,rt).delete(t);const r=Array.from(h(this,rt).values());for(const[n,s]of h(this,ze))r.includes(n)||(Oe(s.effect),h(this,ze).delete(n))});this.anchor=t,$(this,Er,r)}ensure(t,r){var n=G,s=ma();if(r&&!h(this,ut).has(t)&&!h(this,ze).has(t))if(s){var i=document.createDocumentFragment(),o=Pt();i.append(o),h(this,ze).set(t,{effect:Ve(()=>r(o)),fragment:i})}else h(this,ut).set(t,Ve(()=>r(this.anchor)));if(h(this,rt).set(n,t),s){for(const[v,l]of h(this,ut))v===t?n.unskip_effect(l):n.skip_effect(l);for(const[v,l]of h(this,ze))v===t?n.unskip_effect(l.effect):n.skip_effect(l.effect);n.oncommit(h(this,Sr)),n.ondiscard(h(this,Fr))}else h(this,Sr).call(this,n)}}rt=new WeakMap,ut=new WeakMap,ze=new WeakMap,Ft=new WeakMap,Er=new WeakMap,Sr=new WeakMap,Fr=new WeakMap;function H(e,t,r=!1){var n=new hi(e),s=r?ur:0;function i(o,v){n.ensure(o,v)}Tn(()=>{var o=!1;t((v,l=0)=>{o=!0,i(l,v)}),o||i(-1,null)},s)}function dt(e,t){return t}function gi(e,t,r){for(var n=[],s=t.length,i,o=t.length,v=0;v<s;v++){let m=t[v];Bt(m,()=>{if(i){if(i.pending.delete(m),i.done.add(m),i.pending.size===0){var g=e.outrogroups;fn(e,qr(i.done)),g.delete(i),g.size===0&&(e.outrogroups=null)}}else o-=1},!1)}if(o===0){var l=n.length===0&&r!==null;if(l){var u=r,f=u.parentNode;Zs(f),f.append(u),e.items.clear()}fn(e,t,!l)}else i={pending:new Set(t),done:new Set},(e.outrogroups??(e.outrogroups=new Set)).add(i)}function fn(e,t,r=!0){var n;if(e.pending.size>0){n=new Set;for(const o of e.pending.values())for(const v of o)n.add(e.items.get(v).e)}for(var s=0;s<t.length;s++){var i=t[s];if(n!=null&&n.has(i)){i.f|=ct;const o=document.createDocumentFragment();xn(i,o)}else Oe(t[s],r)}}var zn;function Se(e,t,r,n,s,i=null){var o=e,v=new Map,l=(t&Qn)!==0;if(l){var u=e;o=u.appendChild(Pt())}var f=null,m=ua(()=>{var C=r();return _n(C)?C:C==null?[]:qr(C)}),g,P=new Map,p=!0;function D(C){(j.effect.f&Ge)===0&&(j.pending.delete(C),j.fallback=f,pi(j,g,o,t,n),f!==null&&(g.length===0?(f.f&ct)===0?Sn(f):(f.f^=ct,pr(f,null,o)):Bt(f,()=>{f=null})))}function c(C){j.pending.delete(C)}var k=Tn(()=>{g=a(m);for(var C=g.length,L=new Set,O=G,B=ma(),A=0;A<C;A+=1){var M=g[A],K=n(M,A),Y=p?null:v.get(K);Y?(Y.v&&fr(Y.v,M),Y.i&&fr(Y.i,A),B&&O.unskip_effect(Y.e)):(Y=mi(v,p?o:zn??(zn=Pt()),M,K,A,s,t,r),p||(Y.e.f|=ct),v.set(K,Y)),L.add(K)}if(C===0&&i&&!f&&(p?f=Ve(()=>i(o)):(f=Ve(()=>i(zn??(zn=Pt()))),f.f|=ct)),C>L.size&&rs(),!p)if(P.set(O,L),B){for(const[ve,x]of v)L.has(ve)||O.skip_effect(x.e);O.oncommit(D),O.ondiscard(c)}else D(O);a(m)}),j={effect:k,items:v,pending:P,outrogroups:null,fallback:f};p=!1}function gr(e){for(;e!==null&&(e.f&st)===0;)e=e.next;return e}function pi(e,t,r,n,s){var Y,ve,x,R,z,U,Z,Q,ie;var i=(n&_s)!==0,o=t.length,v=e.items,l=gr(e.effect.first),u,f=null,m,g=[],P=[],p,D,c,k;if(i)for(k=0;k<o;k+=1)p=t[k],D=s(p,k),c=v.get(D).e,(c.f&ct)===0&&((ve=(Y=c.nodes)==null?void 0:Y.a)==null||ve.measure(),(m??(m=new Set)).add(c));for(k=0;k<o;k+=1){if(p=t[k],D=s(p,k),c=v.get(D).e,e.outrogroups!==null)for(const J of e.outrogroups)J.pending.delete(c),J.done.delete(c);if((c.f&ct)!==0)if(c.f^=ct,c===l)pr(c,null,r);else{var j=f?f.next:l;c===e.effect.last&&(e.effect.last=c.prev),c.prev&&(c.prev.next=c.next),c.next&&(c.next.prev=c.prev),yt(e,f,c),yt(e,c,j),pr(c,j,r),f=c,g=[],P=[],l=gr(f.next);continue}if((c.f&qe)!==0&&(Sn(c),i&&((R=(x=c.nodes)==null?void 0:x.a)==null||R.unfix(),(m??(m=new Set)).delete(c))),c!==l){if(u!==void 0&&u.has(c)){if(g.length<P.length){var C=P[0],L;f=C.prev;var O=g[0],B=g[g.length-1];for(L=0;L<g.length;L+=1)pr(g[L],C,r);for(L=0;L<P.length;L+=1)u.delete(P[L]);yt(e,O.prev,B.next),yt(e,f,O),yt(e,B,C),l=C,f=B,k-=1,g=[],P=[]}else u.delete(c),pr(c,l,r),yt(e,c.prev,c.next),yt(e,c,f===null?e.effect.first:f.next),yt(e,f,c),f=c;continue}for(g=[],P=[];l!==null&&l!==c;)(u??(u=new Set)).add(l),P.push(l),l=gr(l.next);if(l===null)continue}(c.f&ct)===0&&g.push(c),f=c,l=gr(c.next)}if(e.outrogroups!==null){for(const J of e.outrogroups)J.pending.size===0&&(fn(e,qr(J.done)),(z=e.outrogroups)==null||z.delete(J));e.outrogroups.size===0&&(e.outrogroups=null)}if(l!==null||u!==void 0){var A=[];if(u!==void 0)for(c of u)(c.f&qe)===0&&A.push(c);for(;l!==null;)(l.f&qe)===0&&l!==e.fallback&&A.push(l),l=gr(l.next);var M=A.length;if(M>0){var K=(n&Qn)!==0&&o===0?r:null;if(i){for(k=0;k<M;k+=1)(Z=(U=A[k].nodes)==null?void 0:U.a)==null||Z.measure();for(k=0;k<M;k+=1)(ie=(Q=A[k].nodes)==null?void 0:Q.a)==null||ie.fix()}gi(e,A,K)}}i&&mt(()=>{var J,ne;if(m!==void 0)for(c of m)(ne=(J=c.nodes)==null?void 0:J.a)==null||ne.apply()})}function mi(e,t,r,n,s,i,o,v){var l=(o&fs)!==0?(o&hs)===0?Js(r,!1,!1):Yt(r):null,u=(o&ds)!==0?Yt(s):null;return{v:l,i:u,e:Ve(()=>(i(t,l??r,u??s,v),()=>{e.delete(n)}))}}function pr(e,t,r){if(e.nodes)for(var n=e.nodes.start,s=e.nodes.end,i=t&&(t.f&ct)===0?t.nodes.start:r;n!==null;){var o=xr(n);if(i.before(n),n===s)return;n=o}}function yt(e,t,r){t===null?e.effect.first=r:t.next=r,r===null?e.effect.last=t:r.prev=t}function La(e,t,r=!1,n=!1,s=!1,i=!1){var o=e,v="";if(r)var l=e;q(()=>{var u=se;if(v!==(v=t()??"")){if(r){u.nodes=null,l.innerHTML=v,v!==""&&kr(xt(l),l.lastChild);return}if(u.nodes!==null&&(Ea(u.nodes.start,u.nodes.end),u.nodes=null),v!==""){var f=n?ks:s?Ts:void 0,m=wa(n?"svg":s?"math":"template",f);m.innerHTML=v;var g=n||s?m:m.content;if(kr(xt(g),g.lastChild),n||s)for(;xt(g);)o.before(xt(g));else o.before(g)}}})}const Fn=[...`
2
+ \r\f \v\uFEFF`];function wi(e,t,r){var n=e==null?"":""+e;if(t&&(n=n?n+" "+t:t),r){for(var s of Object.keys(r))if(r[s])n=n?n+" "+s:s;else if(n.length)for(var i=s.length,o=0;(o=n.indexOf(s,o))>=0;){var v=o+i;(o===0||Fn.includes(n[o-1]))&&(v===n.length||Fn.includes(n[v]))?n=(o===0?"":n.substring(0,o))+n.substring(v+1):o=v}}return n===""?null:n}function bi(e,t){return e==null?null:String(e)}function de(e,t,r,n,s,i){var o=e.__className;if(o!==r||o===void 0){var v=wi(r,n,i);v==null?e.removeAttribute("class"):e.className=v,e.__className=r}else if(i&&s!==i)for(var l in i){var u=!!i[l];(s==null||u!==!!s[l])&&e.classList.toggle(l,u)}return i}function Mr(e,t,r,n){var s=e.__style;if(s!==t){var i=bi(t);i==null?e.removeAttribute("style"):e.style.cssText=i,e.__style=t}return n}function Ra(e,t,r=!1){if(e.multiple){if(t==null)return;if(!_n(t))return Es();for(var n of e.options)n.selected=t.includes(br(n));return}for(n of e.options){var s=br(n);if(Ws(s,t)){n.selected=!0;return}}(!r||t!==void 0)&&(e.selectedIndex=-1)}function yi(e){var t=new MutationObserver(()=>{Ra(e,e.__value)});t.observe(e,{childList:!0,subtree:!0,attributes:!0,attributeFilter:["value"]}),yn(()=>{t.disconnect()})}function qn(e,t,r=t){var n=new WeakSet,s=!0;ba(e,"change",i=>{var o=i?"[selected]":":checked",v;if(e.multiple)v=[].map.call(e.querySelectorAll(o),br);else{var l=e.querySelector(o)??e.querySelector("option:not([disabled])");v=l&&br(l)}r(v),G!==null&&n.add(G)}),ka(()=>{var i=t();if(e===document.activeElement){var o=G;if(n.has(o))return}if(Ra(e,i,s),s&&i===void 0){var v=e.querySelector(":checked");v!==null&&(i=br(v),r(i))}e.__value=i,s=!1}),yi(e)}function br(e){return"__value"in e?e.__value:e.value}const ki=Symbol("is custom element"),Ti=Symbol("is html"),Ei=es?"progress":"PROGRESS";function Si(e,t){var r=za(e);r.value===(r.value=t??void 0)||e.value===t&&(t!==0||e.nodeName!==Ei)||(e.value=t??"")}function Bn(e,t,r,n){var s=za(e);s[t]!==(s[t]=r)&&(r==null?e.removeAttribute(t):typeof r!="string"&&xi(e).includes(t)?e[t]=r:e.setAttribute(t,r))}function za(e){return e.__attributes??(e.__attributes={[ki]:e.nodeName.includes("-"),[Ti]:e.namespaceURI===Zn})}var Hn=new Map;function xi(e){var t=e.getAttribute("is")||e.nodeName,r=Hn.get(t);if(r)return r;Hn.set(t,r=[]);for(var n,s=e,i=Element.prototype;i!==s;){n=Ya(s);for(var o in n)n[o].set&&r.push(o);s=Jn(s)}return r}function Xt(e,t,r=t){var n=new WeakSet;ba(e,"input",async s=>{var i=s?e.defaultValue:e.value;if(i=Qr(e)?Zr(i):i,r(i),G!==null&&n.add(G),await ii(),i!==(i=t())){var o=e.selectionStart,v=e.selectionEnd,l=e.value.length;if(e.value=i??"",v!==null){var u=e.value.length;o===v&&v===l&&u>l?(e.selectionStart=u,e.selectionEnd=u):(e.selectionStart=o,e.selectionEnd=Math.min(v,u))}}}),Ur(t)==null&&e.value&&(r(Qr(e)?Zr(e.value):e.value),G!==null&&n.add(G)),kn(()=>{var s=t();if(e===document.activeElement){var i=G;if(n.has(i))return}Qr(e)&&s===Zr(e.value)||e.type==="date"&&!s&&!e.value||s!==e.value&&(e.value=s??"")})}function Qr(e){var t=e.type;return t==="number"||t==="range"}function Zr(e){return e===""?null:+e}function Kn(e,t){return e===t||(e==null?void 0:e[qt])===t}function Lr(e={},t,r,n){var s=Be.r,i=se;return ka(()=>{var o,v;return kn(()=>{o=v,v=[],Ur(()=>{e!==r(...v)&&(t(e,...v),o&&Kn(r(...o),e)&&t(null,...o))})}),()=>{let l=i;for(;l!==s&&l.parent!==null&&l.parent.f&$r;)l=l.parent;const u=()=>{v&&Kn(r(...v),e)&&t(null,...v)},f=l.teardown;l.teardown=()=>{u(),f==null||f()}}}),e}function Jt(e,t,r,n){var j;var s=(r&ms)!==0,i=(r&ws)!==0,o=n,v=!0,l=()=>(v&&(v=!1,o=i?Ur(n):n),o);let u;if(s){var f=qt in e||$a in e;u=((j=Zt(e,t))==null?void 0:j.set)??(f&&t in e?C=>e[t]=C:void 0)}var m,g=!1;s?[m,g]=As(()=>e[t]):m=e[t],m===void 0&&n!==void 0&&(m=l(),u&&(ls(),u(m)));var P;if(P=()=>{var C=e[t];return C===void 0?l():(v=!0,C)},(r&ps)===0)return P;if(u){var p=e.$$legacy;return(function(C,L){return arguments.length>0?((!L||p||g)&&u(L?P():C),C):P()})}var D=!1,c=((r&gs)!==0?Hr:ua)(()=>(D=!1,P()));s&&a(c);var k=se;return(function(C,L){if(arguments.length>0){const O=L?a(c):s?Ce(C):C;return _(c,O),D=!0,o!==void 0&&(o=O),C}return At&&D||(k.f&Ge)!==0?c.v:a(c)})}const Ci="5";var Yn;typeof window<"u"&&((Yn=window.__svelte??(window.__svelte={})).v??(Yn.v=new Set)).add(Ci);async function $e(e,t){const r=await fetch(`/api${e}`,{headers:{"Content-Type":"application/json"},...t});if(!r.ok){const n=await r.json().catch(()=>({error:r.statusText}));throw new Error(n.error||"Request failed")}return r.json()}const Fe={getProjects:()=>$e("/projects"),getProject:e=>$e(`/projects/${e}`),updateProject:(e,t)=>$e(`/projects/${e}`,{method:"PATCH",body:JSON.stringify(t)}),getTasks:e=>$e(`/projects/${e}/tasks?include_done=true`),createTask:(e,t)=>$e(`/projects/${e}/tasks`,{method:"POST",body:JSON.stringify(t)}),updateTask:(e,t)=>$e(`/tasks/${e}`,{method:"PATCH",body:JSON.stringify(t)}),deleteTask:e=>$e(`/tasks/${e}`,{method:"DELETE"}),getNotes:e=>$e(`/projects/${e}/notes`),getDecisions:e=>$e(`/projects/${e}/decisions`),getTaskHistory:e=>$e(`/tasks/${e}/history`),getMetrics:(e,t)=>$e(`/projects/${e}/metrics${t?`?days=${t}`:""}`)};var ji=S('<input class="rename-input svelte-1kanzy0" type="text"/>'),Pi=S('<span class="project-slug svelte-1kanzy0"> </span>'),Ai=S('<span class="project-name svelte-1kanzy0"> </span> <!> <button class="rename-btn svelte-1kanzy0" title="Rename project">✎</button>',1),Di=S('<div class="project-area svelte-1kanzy0"><!></div>'),Ni=S('<header class="toolbar svelte-1kanzy0"><!></header>');function Oi(e,t){Ie(t,!0);let r=F(!1),n=F("");const s=le(()=>t.projects.find(m=>m.id===t.selectedId));function i(){a(s)&&(_(n,a(s).name,!0),_(r,!0))}function o(){if(!a(s)||!a(r))return;const m=a(n).trim();m&&m!==a(s).name&&t.onRenamed(a(s).id,m),_(r,!1)}function v(m){m.key==="Enter"&&o(),m.key==="Escape"&&_(r,!1)}var l=Ni(),u=d(l);{var f=m=>{var g=Di(),P=d(g);{var p=c=>{var k=ji();wn(k),Ae("blur",k,o),te("keydown",k,v),Xt(k,()=>a(n),j=>_(n,j)),E(c,k)},D=c=>{var k=Ai(),j=Ye(k),C=d(j),L=w(j,2);{var O=A=>{var M=Pi(),K=d(M);q(()=>I(K,`[${a(s).slug??""}]`)),E(A,M)};H(L,A=>{a(s).slug&&A(O)})}var B=w(L,2);q(()=>I(C,a(s).name)),te("click",B,i),E(c,k)};H(P,c=>{a(r)?c(p):c(D,-1)})}E(m,g)};H(u,m=>{a(s)&&m(f)})}E(e,l),Me()}He(["keydown","click"]);var Ii=S('<span class="brand svelte-rig7vt"><span class="prompt svelte-rig7vt">&gt;</span> mindpm</span>'),Mi=S('<span class="task-count svelte-rig7vt"> </span>'),Li=S('<span class="project-name svelte-rig7vt"> </span> <!>',1),Ri=S('<span class="task-count svelte-rig7vt"> </span>'),zi=S('<span class="project-slug-collapsed svelte-rig7vt"> </span> <!>',1),Fi=S('<button><span class="status-dot svelte-rig7vt"></span> <!></button>'),qi=S('<div class="sidebar-footer svelte-rig7vt"><span class="footer-hint svelte-rig7vt"> </span></div>'),Bi=S('<aside><div class="sidebar-header svelte-rig7vt"><!> <button class="collapse-btn svelte-rig7vt"> </button></div> <nav class="project-list svelte-rig7vt"></nav> <!></aside>');function Hi(e,t){Ie(t,!0);const r="mindpm_sidebar_collapsed";let n=F(localStorage.getItem(r)==="true");function s(){_(n,!a(n)),localStorage.setItem(r,String(a(n)))}const i={active:"var(--primary)",paused:"#d29922",completed:"var(--text-muted)",archived:"var(--border-bright)"};var o=Bi();let v;var l=d(o),u=d(l);{var f=c=>{var k=Ii();E(c,k)};H(u,c=>{a(n)||c(f)})}var m=w(u,2),g=d(m),P=w(l,2);Se(P,21,()=>t.projects,c=>c.id,(c,k)=>{var j=Fi();let C;var L=d(j),O=w(L,2);{var B=M=>{var K=Li(),Y=Ye(K),ve=d(Y),x=w(Y,2);{var R=z=>{var U=Mi(),Z=d(U);q(()=>I(Z,a(k).active_task_count)),E(z,U)};H(x,z=>{(a(k).active_task_count??0)>0&&z(R)})}q(()=>I(ve,a(k).name)),E(M,K)},A=M=>{var K=zi(),Y=Ye(K),ve=d(Y),x=w(Y,2);{var R=z=>{var U=Ri(),Z=d(U);q(()=>I(Z,a(k).active_task_count)),E(z,U)};H(x,z=>{(a(k).active_task_count??0)>0&&z(R)})}q(()=>I(ve,a(k).slug??a(k).id)),E(M,K)};H(O,M=>{a(n)?M(A,-1):M(B)})}q(()=>{C=de(j,1,"project-item svelte-rig7vt",null,C,{active:a(k).id===t.selectedId}),Bn(j,"title",a(n)?a(k).name:void 0),Mr(L,`background: ${i[a(k).status]??"var(--text-muted)"??""}`)}),te("click",j,()=>t.onSelect(a(k).id)),E(c,j)});var p=w(P,2);{var D=c=>{var k=qi(),j=d(k),C=d(j);q(()=>I(C,`// ${t.projects.length??""} project${t.projects.length!==1?"s":""}`)),E(c,k)};H(p,c=>{a(n)||c(D)})}q(()=>{v=de(o,1,"sidebar svelte-rig7vt",null,v,{collapsed:a(n)}),Bn(m,"title",a(n)?"Expand sidebar":"Collapse sidebar"),I(g,a(n)?"»":"«")}),te("click",m,s),E(e,o),Me()}He(["click"]);const Ki=[{status:"todo",label:"Todo"},{status:"in_progress",label:"In Progress"},{status:"blocked",label:"Blocked"},{status:"in_review",label:"In Review"},{status:"done",label:"Done"},{status:"cancelled",label:"Cancelled"}],Fa=["critical","high","medium","low"];var Ui=S('<span class="task-id svelte-35ep21"> </span>'),Vi=S('<div class="card-desc svelte-35ep21"> </div>'),Yi=S('<span class="tag svelte-35ep21"> </span>'),Ji=S('<div class="card-tags svelte-35ep21"></div>'),Gi=S('<span class="badge badge-blocked svelte-35ep21"> </span>'),Wi=S('<span class="badge badge-subtasks svelte-35ep21"> </span>'),Qi=S('<div class="card-footer svelte-35ep21"><!> <!></div>'),Zi=S('<div draggable="true" role="button" tabindex="0"><div class="card-header svelte-35ep21"><span> </span> <div class="card-header-right svelte-35ep21"><!> <button class="delete-btn svelte-35ep21" title="Delete task">&times;</button></div></div> <div class="card-title svelte-35ep21"> </div> <!> <!> <!></div>');function Xi(e,t){Ie(t,!0);let r=Jt(t,"subtaskCount",3,0),n=F(!1);function s(x){if(!x)return[];try{return JSON.parse(x)}catch{return[]}}const i=le(()=>s(t.task.tags)),o=le(()=>`priority-${t.task.priority}`),v=le(()=>()=>{if(!t.task.blocked_by)return 0;try{const x=JSON.parse(t.task.blocked_by);return Array.isArray(x)?x.length:0}catch{return 0}});function l(x){_(n,!0),t.onDragStart(x,t.task)}function u(){_(n,!1)}var f=Zi();let m;var g=d(f),P=d(g),p=d(P),D=w(P,2),c=d(D);{var k=x=>{var R=Ui(),z=d(R);q(()=>I(z,t.task.short_id)),E(x,R)};H(c,x=>{t.task.short_id&&x(k)})}var j=w(c,2),C=w(g,2),L=d(C),O=w(C,2);{var B=x=>{var R=Vi(),z=d(R);q(()=>I(z,t.task.description)),E(x,R)};H(O,x=>{t.task.description&&x(B)})}var A=w(O,2);{var M=x=>{var R=Ji();Se(R,21,()=>a(i),dt,(z,U)=>{var Z=Yi(),Q=d(Z);q(()=>I(Q,a(U))),E(z,Z)}),E(x,R)};H(A,x=>{a(i).length>0&&x(M)})}var K=w(A,2);{var Y=x=>{var R=Qi(),z=d(R);{var U=J=>{var ne=Gi(),X=d(ne);q(W=>I(X,`⊘ blocked by ${W??""}`),[()=>a(v)()]),E(J,ne)},Z=le(()=>a(v)()>0);H(z,J=>{a(Z)&&J(U)})}var Q=w(z,2);{var ie=J=>{var ne=Wi(),X=d(ne);q(()=>I(X,`⑂ ${r()??""}`)),E(J,ne)};H(Q,J=>{r()>0&&J(ie)})}E(x,R)},ve=le(()=>a(v)()>0||r()>0);H(K,x=>{a(ve)&&x(Y)})}q(()=>{m=de(f,1,`card ${a(o)??""}`,"svelte-35ep21",m,{dragging:a(n)}),de(P,1,`priority-badge ${a(o)??""}`,"svelte-35ep21"),I(p,t.task.priority),I(L,t.task.title)}),Ae("dragstart",f,l),Ae("dragend",f,u),te("click",f,()=>t.onEdit(t.task)),te("keydown",f,x=>{x.key==="Enter"&&t.onEdit(t.task)}),te("click",j,x=>{x.stopPropagation(),t.onDelete(t.task)}),E(e,f),Me()}He(["click","keydown"]);var $i=S('<div class="column-collapsed svelte-zswfgn"><button class="expand-btn svelte-zswfgn" title="Expand column">»</button> <div class="collapsed-label svelte-zswfgn"><span> </span> <span class="collapsed-text svelte-zswfgn"> </span></div></div>'),el=S('<button class="add-btn svelte-zswfgn" title="Add task">+</button>'),tl=S('<div class="wip-banner svelte-zswfgn"> </div>'),rl=S('<div class="column-header svelte-zswfgn"><h3 class="svelte-zswfgn"><span class="chevron svelte-zswfgn">▸</span> <span> </span></h3> <div class="header-actions svelte-zswfgn"><!> <button class="collapse-btn svelte-zswfgn" title="Collapse column">«</button></div></div> <!> <div class="card-list svelte-zswfgn"></div>',1),nl=S('<div role="list"><!></div>');function al(e,t){Ie(t,!0);const r=5,n="mindpm_collapsed_cols";let s=F(!1);function i(){try{const j=localStorage.getItem(n);return(j?JSON.parse(j):[]).includes(t.status)}catch{return!1}}function o(j){try{const C=localStorage.getItem(n),L=C?JSON.parse(C):[],O=j?[...new Set([...L,t.status])]:L.filter(B=>B!==t.status);localStorage.setItem(n,JSON.stringify(O))}catch{}}let v=F(Ce(i()));function l(){_(v,!a(v)),o(a(v))}const u=le(()=>t.status==="in_progress"&&t.tasks.length>r);function f(j){j.preventDefault(),j.dataTransfer&&(j.dataTransfer.dropEffect="move"),_(s,!0)}function m(){_(s,!1)}function g(j){j.preventDefault(),_(s,!1),t.onDrop(t.status)}var P=nl();let p;var D=d(P);{var c=j=>{var C=$i(),L=d(C),O=w(L,2),B=d(O);let A;var M=d(B),K=w(B,2),Y=d(K);q(()=>{A=de(B,1,"collapsed-count svelte-zswfgn",null,A,{wip:a(u)}),I(M,`[${t.tasks.length??""}]`),I(Y,t.label)}),te("click",L,l),E(j,C)},k=j=>{var C=rl(),L=Ye(C),O=d(L),B=w(d(O)),A=w(B);let M;var K=d(A),Y=w(O,2),ve=d(Y);{var x=Q=>{var ie=el();te("click",ie,()=>t.onAddTask(t.status)),E(Q,ie)};H(ve,Q=>{t.status==="todo"&&Q(x)})}var R=w(ve,2),z=w(L,2);{var U=Q=>{var ie=tl(),J=d(ie);q(()=>I(J,`WIP limit exceeded (${t.tasks.length??""}/5)`)),E(Q,ie)};H(z,Q=>{a(u)&&Q(U)})}var Z=w(z,2);Se(Z,21,()=>t.tasks,Q=>Q.id,(Q,ie)=>{{let J=le(()=>t.subtaskCounts.get(a(ie).id)??0);Xi(Q,{get task(){return a(ie)},get subtaskCount(){return a(J)},get onEdit(){return t.onEdit},get onDelete(){return t.onDelete},get onDragStart(){return t.onDragStart}})}}),q(()=>{I(B,` ${t.label??""} `),M=de(A,1,"count svelte-zswfgn",null,M,{wip:a(u)}),I(K,`[${t.tasks.length??""}${a(u)?" ⚠":""}]`)}),te("click",R,l),E(j,C)};H(D,j=>{a(v)?j(c):j(k,-1)})}q(()=>p=de(P,1,"column svelte-zswfgn",null,p,{"drag-over":a(s),collapsed:a(v),"wip-warning":a(u)})),Ae("dragover",P,f),Ae("dragleave",P,m),Ae("drop",P,g),E(e,P),Me()}He(["click"]);var sl=S('<span class="modal-task-id svelte-1gmf2hi"> </span>'),il=S("<option> </option>"),ll=S('<div class="field svelte-1gmf2hi"><label for="status" class="svelte-1gmf2hi">Status</label> <select id="status" class="svelte-1gmf2hi"><option>Todo</option><option>In Progress</option><option>Blocked</option><option>In Review</option><option>Done</option><option>Cancelled</option></select></div>'),ol=S('<span class="blocker-id svelte-1gmf2hi"> </span>'),vl=S("<span> </span>"),ul=S('<div class="blocked-item svelte-1gmf2hi"><!> <span class="blocker-title svelte-1gmf2hi"> </span> <!></div>'),cl=S('<div class="blocked-section svelte-1gmf2hi"><h3 class="section-heading svelte-1gmf2hi">Blocked by</h3> <div class="blocked-list svelte-1gmf2hi"></div></div>'),fl=S('<div class="history-item svelte-1gmf2hi"><span class="history-dot svelte-1gmf2hi"></span> <div class="history-body svelte-1gmf2hi"><span class="history-event svelte-1gmf2hi"></span> <span class="history-time svelte-1gmf2hi"> </span></div></div>'),dl=S('<div class="history-section svelte-1gmf2hi"><h3 class="history-heading svelte-1gmf2hi">History</h3> <div class="history-list svelte-1gmf2hi"></div></div>'),_l=S('<div class="modal-backdrop svelte-1gmf2hi"><div class="modal svelte-1gmf2hi"><div class="modal-header svelte-1gmf2hi"><div class="modal-title svelte-1gmf2hi"><h2 class="svelte-1gmf2hi"> </h2> <!></div> <button class="close-btn svelte-1gmf2hi">&times;</button></div> <form><div class="field svelte-1gmf2hi"><label for="title" class="svelte-1gmf2hi">Title</label> <input id="title" type="text" placeholder="Task title" required="" class="svelte-1gmf2hi"/></div> <div class="field svelte-1gmf2hi"><label for="description" class="svelte-1gmf2hi">Description</label> <textarea id="description" placeholder="Optional description" rows="3" class="svelte-1gmf2hi"></textarea></div> <div class="row svelte-1gmf2hi"><div class="field svelte-1gmf2hi"><label for="priority" class="svelte-1gmf2hi">Priority</label> <select id="priority" class="svelte-1gmf2hi"></select></div> <!></div> <div class="field svelte-1gmf2hi"><label for="tags" class="svelte-1gmf2hi">Tags <span class="hint svelte-1gmf2hi">(comma-separated)</span></label> <input id="tags" type="text" placeholder="e.g. backend, auth, bug" class="svelte-1gmf2hi"/></div> <div class="actions svelte-1gmf2hi"><button type="button" class="btn-cancel svelte-1gmf2hi">Cancel</button> <button type="submit" class="btn-save svelte-1gmf2hi"> </button></div></form> <!> <!></div></div>');function hl(e,t){Ie(t,!0);let r=Jt(t,"allTasks",19,()=>[]),n=Jt(t,"defaultStatus",3,"todo"),s=F(""),i=F(""),o=F("medium"),v=F("todo"),l=F(""),u=F(Ce([]));at(()=>{var b,N,V,ae,ce;if(_(s,((b=t.task)==null?void 0:b.title)??"",!0),_(i,((N=t.task)==null?void 0:N.description)??"",!0),_(o,((V=t.task)==null?void 0:V.priority)??"medium",!0),_(v,((ae=t.task)==null?void 0:ae.status)??n(),!0),(ce=t.task)!=null&&ce.tags)try{_(l,JSON.parse(t.task.tags).join(", "),!0)}catch{_(l,"")}else _(l,"")}),at(()=>{t.task!==null?Fe.getTaskHistory(t.task.id).then(b=>{_(u,b,!0)}).catch(()=>{_(u,[],!0)}):_(u,[],!0)});const f=le(()=>t.task!==null),m=le(()=>()=>{var b;if(!((b=t.task)!=null&&b.blocked_by))return[];try{const N=JSON.parse(t.task.blocked_by);if(!Array.isArray(N)||N.length===0)return[];const V=new Map(r().map(ae=>[ae.id,ae]));return N.map(ae=>V.get(ae)??{id:ae,title:ae,short_id:null,status:null})}catch{return[]}});function g(b){switch(b.event){case"created":return"<b>created</b>";case"status_changed":return`status <b>${b.old_value}</b> → <b>${b.new_value}</b>`;case"priority_changed":return`priority <b>${b.old_value}</b> → <b>${b.new_value}</b>`;case"title_changed":return"title renamed";default:return b.event.replace(/_/g," ")}}function P(b){return new Date(b.replace(" ","T")+"Z").toLocaleString(void 0,{month:"short",day:"numeric",hour:"2-digit",minute:"2-digit"})}function p(b){b.preventDefault();const N=a(s).trim();if(!N)return;const V=a(l).split(",").map(ae=>ae.trim()).filter(Boolean);t.onSave({title:N,description:a(i).trim(),priority:a(o),...a(f)?{status:a(v)}:{},tags:V})}function D(b){b.target.classList.contains("modal-backdrop")&&t.onClose()}function c(b){b.key==="Escape"&&t.onClose()}var k=_l();Ae("keydown",wt,c);var j=d(k),C=d(j),L=d(C),O=d(L),B=d(O),A=w(O,2);{var M=b=>{var N=sl(),V=d(N);q(()=>I(V,t.task.short_id)),E(b,N)};H(A,b=>{var N;(N=t.task)!=null&&N.short_id&&b(M)})}var K=w(L,2),Y=w(C,2),ve=d(Y),x=w(d(ve),2);wn(x);var R=w(ve,2),z=w(d(R),2),U=w(R,2),Z=d(U),Q=w(d(Z),2);Se(Q,21,()=>Fa,dt,(b,N)=>{var V=il(),ae=d(V),ce={};q(()=>{I(ae,a(N)),ce!==(ce=a(N))&&(V.value=(V.__value=a(N))??"")}),E(b,V)});var ie=w(Z,2);{var J=b=>{var N=ll(),V=w(d(N),2),ae=d(V);ae.value=ae.__value="todo";var ce=w(ae);ce.value=ce.__value="in_progress";var me=w(ce);me.value=me.__value="blocked";var Pe=w(me);Pe.value=Pe.__value="in_review";var Ze=w(Pe);Ze.value=Ze.__value="done";var _t=w(Ze);_t.value=_t.__value="cancelled",qn(V,()=>a(v),Nt=>_(v,Nt)),E(b,N)};H(ie,b=>{a(f)&&b(J)})}var ne=w(U,2),X=w(d(ne),2),W=w(ne,2),oe=d(W),_e=w(oe,2),he=d(_e),fe=w(Y,2);{var ue=b=>{var N=cl(),V=w(d(N),2);Se(V,21,()=>a(m)(),dt,(ae,ce)=>{var me=ul(),Pe=d(me);{var Ze=Ot=>{var Wt=ol(),Yr=d(Wt);q(()=>I(Yr,a(ce).short_id)),E(Ot,Wt)};H(Pe,Ot=>{a(ce).short_id&&Ot(Ze)})}var _t=w(Pe,2),Nt=d(_t),Vr=w(_t,2);{var qa=Ot=>{var Wt=vl(),Yr=d(Wt);q(()=>{de(Wt,1,`blocker-status blocker-status-${a(ce).status??""}`,"svelte-1gmf2hi"),I(Yr,a(ce).status)}),E(Ot,Wt)};H(Vr,Ot=>{a(ce).status&&Ot(qa)})}q(()=>I(Nt,a(ce).title)),E(ae,me)}),E(b,N)},ge=le(()=>a(f)&&a(m)().length>0);H(fe,b=>{a(ge)&&b(ue)})}var y=w(fe,2);{var T=b=>{var N=dl(),V=w(d(N),2);Se(V,21,()=>a(u),ae=>ae.id,(ae,ce)=>{var me=fl(),Pe=w(d(me),2),Ze=d(Pe);La(Ze,()=>g(a(ce)),!0);var _t=w(Ze,2),Nt=d(_t);q(Vr=>I(Nt,Vr),[()=>P(a(ce).created_at)]),E(ae,me)}),E(b,N)};H(y,b=>{a(f)&&a(u).length>0&&b(T)})}q(()=>{I(B,a(f)?"Edit Task":"New Task"),I(he,a(f)?"Save":"Create")}),te("click",k,D),te("click",K,function(...b){var N;(N=t.onClose)==null||N.apply(this,b)}),Ae("submit",Y,p),Xt(x,()=>a(s),b=>_(s,b)),Xt(z,()=>a(i),b=>_(i,b)),qn(Q,()=>a(o),b=>_(o,b)),Xt(X,()=>a(l),b=>_(l,b)),te("click",oe,function(...b){var N;(N=t.onClose)==null||N.apply(this,b)}),E(e,k),Me()}He(["click"]);var gl=S('<div class="modal-backdrop svelte-1efofyg"><div class="dialog svelte-1efofyg"><h3 class="svelte-1efofyg"> </h3> <p class="svelte-1efofyg"> </p> <div class="actions svelte-1efofyg"><button class="btn-cancel svelte-1efofyg">Cancel</button> <button class="btn-confirm svelte-1efofyg"> </button></div></div></div>');function pl(e,t){Ie(t,!0);let r=Jt(t,"confirmLabel",3,"Delete");function n(D){D.target.classList.contains("modal-backdrop")&&t.onCancel()}function s(D){D.key==="Escape"&&t.onCancel()}var i=gl();Ae("keydown",wt,s);var o=d(i),v=d(o),l=d(v),u=w(v,2),f=d(u),m=w(u,2),g=d(m),P=w(g,2),p=d(P);q(()=>{I(l,t.title),I(f,t.message),I(p,r())}),te("click",i,n),te("click",g,function(...D){var c;(c=t.onCancel)==null||c.apply(this,D)}),te("click",P,function(...D){var c;(c=t.onConfirm)==null||c.apply(this,D)}),E(e,i),Me()}He(["click"]);var ml=S('<button class="clear-input svelte-dhotvj">&times;</button>'),wl=S("<button> </button>"),bl=S('<button><span class="tag-checkbox svelte-dhotvj"> </span> <span class="tag-name svelte-dhotvj"> </span></button>'),yl=S('<button class="tag-clear svelte-dhotvj">clear tags</button>'),kl=S('<div class="tag-dropdown svelte-dhotvj"><!> <!></div>'),Tl=S('<div class="filter-section tag-dropdown-wrapper svelte-dhotvj"><span class="filter-label svelte-dhotvj">tags:</span> <button><!></button> <!></div>'),El=S('<button class="clear-all svelte-dhotvj"> </button>'),Sl=S('<div class="filter-bar svelte-dhotvj"><div class="filter-search svelte-dhotvj"><span class="search-icon svelte-dhotvj">/</span> <input type="text" placeholder="search tasks..." class="svelte-dhotvj"/> <!></div> <div class="filter-section svelte-dhotvj"><span class="filter-label svelte-dhotvj">priority:</span> <div class="chip-group svelte-dhotvj"></div></div> <!> <!> <div class="shortcuts-hint svelte-dhotvj"><span class="svelte-dhotvj"><kbd class="svelte-dhotvj">N</kbd> new</span> <span class="svelte-dhotvj"><kbd class="svelte-dhotvj">/</kbd> search</span> <span class="svelte-dhotvj"><kbd class="svelte-dhotvj">Ctrl K</kbd> palette</span></div></div>');function xl(e,t){Ie(t,!0);let r=Jt(t,"focusSearch",15,null),n=F(null),s=F(!1),i=F(null);at(()=>{r(()=>{var O;return(O=a(n))==null?void 0:O.focus()})});const o=le(()=>(t.searchQuery.trim()?1:0)+t.selectedPriorities.size+t.selectedTags.size),v={critical:"var(--priority-critical)",high:"var(--priority-high)",medium:"var(--priority-medium)",low:"var(--text-muted)"};function l(O){O.key==="Escape"&&_(s,!1)}function u(O){a(i)&&!a(i).contains(O.target)&&_(s,!1)}var f=Sl();Ae("click",wt,u),Ae("keydown",wt,l);var m=d(f),g=w(d(m),2);Lr(g,O=>_(n,O),()=>a(n));var P=w(g,2);{var p=O=>{var B=ml();te("click",B,()=>t.onSearchChange("")),E(O,B)};H(P,O=>{t.searchQuery&&O(p)})}var D=w(m,2),c=w(d(D),2);Se(c,21,()=>Fa,dt,(O,B)=>{var A=wl();let M;var K=d(A);q(Y=>{M=de(A,1,"chip svelte-dhotvj",null,M,Y),Mr(A,`--chip-color: ${v[a(B)]??""}`),I(K,a(B))},[()=>({active:t.selectedPriorities.has(a(B))})]),te("click",A,()=>t.onPriorityToggle(a(B))),E(O,A)});var k=w(D,2);{var j=O=>{var B=Tl(),A=w(d(B),2);let M;var K=d(A);{var Y=z=>{var U=Rn();q(()=>I(U,`[${t.selectedTags.size??""}] ▾`)),E(z,U)},ve=z=>{var U=Rn("all ▾");E(z,U)};H(K,z=>{t.selectedTags.size>0?z(Y):z(ve,-1)})}var x=w(A,2);{var R=z=>{var U=kl(),Z=d(U);Se(Z,17,()=>t.allTags,dt,(J,ne)=>{var X=bl();let W;var oe=d(X),_e=d(oe),he=w(oe,2),fe=d(he);q((ue,ge)=>{W=de(X,1,"tag-option svelte-dhotvj",null,W,ue),I(_e,ge),I(fe,`#${a(ne)??""}`)},[()=>({selected:t.selectedTags.has(a(ne))}),()=>t.selectedTags.has(a(ne))?"✓":" "]),te("click",X,ue=>{ue.stopPropagation(),t.onTagToggle(a(ne))}),E(J,X)});var Q=w(Z,2);{var ie=J=>{var ne=yl();te("click",ne,X=>{X.stopPropagation(),t.selectedTags.forEach(W=>t.onTagToggle(W))}),E(J,ne)};H(Q,J=>{t.selectedTags.size>0&&J(ie)})}E(z,U)};H(x,z=>{a(s)&&z(R)})}Lr(B,z=>_(i,z),()=>a(i)),q(()=>M=de(A,1,"dropdown-trigger svelte-dhotvj",null,M,{active:t.selectedTags.size>0})),te("click",A,z=>{z.stopPropagation(),_(s,!a(s))}),E(O,B)};H(k,O=>{t.allTags.length>0&&O(j)})}var C=w(k,2);{var L=O=>{var B=El(),A=d(B);q(()=>I(A,`clear [${a(o)??""}]`)),te("click",B,function(...M){var K;(K=t.onClear)==null||K.apply(this,M)}),E(O,B)};H(C,O=>{a(o)>0&&O(L)})}q(()=>Si(g,t.searchQuery)),te("input",g,O=>t.onSearchChange(O.target.value)),E(e,f),Me()}He(["input","click"]);var Cl=S('<div class="board-message svelte-x7v2jt">Loading tasks...</div>'),jl=S('<div class="board-message error svelte-x7v2jt"> <button class="svelte-x7v2jt">Retry</button></div>'),Pl=S('<div class="board svelte-x7v2jt"></div>'),Al=S('<!> <div class="board-wrapper svelte-x7v2jt"><!></div> <!> <!>',1);function Dl(e,t){Ie(t,!0);let r=Jt(t,"triggerNewTask",3,!1),n=Jt(t,"openTask",3,null),s=F(Ce([])),i=F(!0),o=F(null),v=F(!1),l=F(null),u=F("todo"),f=F(!1),m=F(null),g=F(null),P=F(""),p=F(Ce(new Set)),D=F(Ce(new Set));const c=le(()=>()=>{const y=new Map;for(const T of a(s))T.parent_task_id&&y.set(T.parent_task_id,(y.get(T.parent_task_id)??0)+1);return y}),k=le(()=>()=>{const y=new Set;for(const T of a(s))if(T.tags)try{for(const b of JSON.parse(T.tags))y.add(b)}catch{}return[...y].sort()}),j=le(()=>()=>{let y=a(s);const T=a(P).trim().toLowerCase();return T&&(y=y.filter(b=>b.title.toLowerCase().includes(T)||(b.description??"").toLowerCase().includes(T)||(b.short_id??"").toLowerCase().includes(T))),a(p).size>0&&(y=y.filter(b=>a(p).has(b.priority))),a(D).size>0&&(y=y.filter(b=>{if(!b.tags)return!1;try{return JSON.parse(b.tags).some(V=>a(D).has(V))}catch{return!1}})),y}),C={critical:0,high:1,medium:2,low:3},L=le(()=>Ki.map(y=>{const T=a(j)().filter(b=>b.status===y.status);return y.status==="done"||y.status==="cancelled"?T.sort((b,N)=>(N.updated_at??"").localeCompare(b.updated_at??"")):T.sort((b,N)=>{const V=(C[b.priority]??3)-(C[N.priority]??3);return V!==0?V:(N.created_at??"").localeCompare(b.created_at??"")}),{...y,tasks:T}}));function O(y){const T=new Set(a(p));T.has(y)?T.delete(y):T.add(y),_(p,T,!0)}function B(y){const T=new Set(a(D));T.has(y)?T.delete(y):T.add(y),_(D,T,!0)}function A(){_(P,""),_(p,new Set,!0),_(D,new Set,!0)}let M=F(null);function K(y){var N;const T=y.target.tagName;T==="INPUT"||T==="TEXTAREA"||T==="SELECT"||y.ctrlKey||y.metaKey||y.altKey||(y.key==="n"||y.key==="N"?(y.preventDefault(),R("todo")):y.key==="/"&&(y.preventDefault(),(N=a(M))==null||N()))}at(()=>{var y;r()&&(R("todo"),(y=t.onNewTaskTriggered)==null||y.call(t))}),at(()=>{var y;n()&&(_(l,n()),_(v,!0),(y=t.onOpenTaskHandled)==null||y.call(t))});async function Y(){_(i,!0),_(o,null);try{_(s,await Fe.getTasks(t.project.id),!0)}catch(y){_(o,y.message,!0)}finally{_(i,!1)}}at(()=>{t.project.id,Y()});function ve(y,T){_(g,T,!0),y.dataTransfer&&(y.dataTransfer.effectAllowed="move",y.dataTransfer.setData("text/plain",T.id))}async function x(y){if(!a(g)||a(g).status===y){_(g,null);return}const T=a(g),b=T.status;_(g,null);const N=a(s).findIndex(V=>V.id===T.id);N!==-1&&(a(s)[N]={...a(s)[N],status:y});try{await Fe.updateTask(T.id,{status:y})}catch(V){N!==-1&&(a(s)[N]={...a(s)[N],status:b}),_(o,V.message,!0)}}function R(y){_(l,null),_(u,y,!0),_(v,!0)}function z(y){_(l,y,!0),_(v,!0)}async function U(y){try{if(a(l)){const T=await Fe.updateTask(a(l).id,{title:y.title,description:y.description||null,priority:y.priority,status:y.status,tags:y.tags.length>0?y.tags.join(","):null}),b=a(s).findIndex(N=>N.id===a(l).id);b!==-1&&(a(s)[b]=T)}else{const T=await Fe.createTask(t.project.id,{title:y.title,description:y.description||void 0,priority:y.priority,tags:y.tags.length>0?y.tags:void 0});_(s,[T,...a(s)],!0)}_(v,!1),_(l,null)}catch(T){_(o,T.message,!0)}}function Z(y){_(m,y,!0),_(f,!0)}async function Q(){if(a(m))try{await Fe.deleteTask(a(m).id),_(s,a(s).filter(y=>y.id!==a(m).id&&y.parent_task_id!==a(m).id),!0),_(f,!1),_(m,null)}catch(y){_(o,y.message,!0)}}var ie=Al();Ae("keydown",wt,K);var J=Ye(ie);{let y=le(()=>a(k)());xl(J,{get allTags(){return a(y)},get searchQuery(){return a(P)},get selectedPriorities(){return a(p)},get selectedTags(){return a(D)},onSearchChange:T=>{_(P,T,!0)},onPriorityToggle:O,onTagToggle:B,onClear:A,get focusSearch(){return a(M)},set focusSearch(T){_(M,T,!0)}})}var ne=w(J,2),X=d(ne);{var W=y=>{var T=Cl();E(y,T)},oe=y=>{var T=jl(),b=d(T),N=w(b);q(()=>I(b,`${a(o)??""} `)),te("click",N,()=>{_(o,null),Y()}),E(y,T)},_e=y=>{var T=Pl();Se(T,21,()=>a(L),b=>b.status,(b,N)=>{{let V=le(()=>a(c)());al(b,{get status(){return a(N).status},get label(){return a(N).label},get tasks(){return a(N).tasks},get subtaskCounts(){return a(V)},onEdit:z,onDelete:Z,onDragStart:ve,onDrop:x,onAddTask:R})}}),E(y,T)};H(X,y=>{a(i)?y(W):a(o)?y(oe,1):y(_e,-1)})}var he=w(ne,2);{var fe=y=>{hl(y,{get task(){return a(l)},get projectId(){return t.project.id},get allTasks(){return a(s)},get defaultStatus(){return a(u)},onSave:U,onClose:()=>{_(v,!1),_(l,null)}})};H(he,y=>{a(v)&&y(fe)})}var ue=w(he,2);{var ge=y=>{pl(y,{title:"Delete Task",get message(){return`Are you sure you want to delete "${a(m).title??""}"? This cannot be undone.`},onConfirm:Q,onCancel:()=>{_(f,!1),_(m,null)}})};H(ue,y=>{a(f)&&a(m)&&y(ge)})}E(e,ie),Me()}He(["click"]);var Nl=S('<button class="clear-input svelte-mwtig8">&times;</button>'),Ol=S("<button> </button>"),Il=S('<div class="category-chips svelte-mwtig8"></div>'),Ml=S('<span class="result-count svelte-mwtig8"> </span> <button class="clear-all svelte-mwtig8">clear</button>',1),Ll=S('<div class="search-bar svelte-mwtig8"><div class="search-input-wrap svelte-mwtig8"><span class="search-icon svelte-mwtig8">/</span> <input type="text" placeholder="search notes..." class="svelte-mwtig8"/> <!></div> <!> <!> <div class="shortcuts-hint svelte-mwtig8"><span class="svelte-mwtig8"><kbd class="svelte-mwtig8">/</kbd> search</span> <span class="svelte-mwtig8"><kbd class="svelte-mwtig8">Esc</kbd> clear</span></div></div>'),Rl=S('<div class="state-msg svelte-mwtig8"><span class="prompt svelte-mwtig8">&gt;</span> loading notes...</div>'),zl=S('<div class="state-msg err svelte-mwtig8"> </div>'),Fl=S('<div class="state-msg muted svelte-mwtig8">// no notes yet — use add_note via MCP tools</div>'),ql=S('<div class="state-msg muted svelte-mwtig8">// no matches</div>'),Bl=S("<button> </button>"),Hl=S('<div class="tags svelte-mwtig8"></div>'),Kl=S('<span class="task-link svelte-mwtig8"> </span>'),Ul=S('<div class="card-footer svelte-mwtig8"><!> <!></div>'),Vl=S('<div class="card svelte-mwtig8"><div class="card-header svelte-mwtig8"><span class="category svelte-mwtig8"> </span> <span class="date svelte-mwtig8"> </span></div> <div class="content svelte-mwtig8"></div> <!></div>'),Yl=S('<div class="list svelte-mwtig8"></div>'),Jl=S('<div class="view svelte-mwtig8"><!> <!></div>');function Gl(e,t){Ie(t,!0);let r=F(Ce([])),n=F(Ce([])),s=F(!0),i=F(null),o=F(""),v=F(null),l=F(null);at(()=>{_(s,!0),_(i,null),_(o,""),_(v,null),Promise.all([Fe.getNotes(t.projectId),Fe.getTasks(t.projectId)]).then(([x,R])=>{_(r,x,!0),_(n,R,!0)}).catch(x=>{_(i,x.message,!0)}).finally(()=>{_(s,!1)})});const u=le(()=>new Map(a(n).map(x=>[x.id,x]))),f=le(()=>[...new Set(a(r).map(x=>x.category))].sort()),m=le(()=>(()=>{const x=a(o).trim().toLowerCase();return a(r).filter(R=>a(v)&&R.category!==a(v)?!1:!!(!x||R.content.toLowerCase().includes(x)||P(R.tags).some(U=>U.toLowerCase().includes(x))))})()),g={general:"var(--text-muted)",architecture:"#3d98f4",bug:"var(--danger)",idea:"var(--priority-high)",research:"#a371f7",meeting:"var(--text-dim)",review:"var(--primary)"};function P(x){if(!x)return[];try{return JSON.parse(x)}catch{return[]}}function p(x){return new Date(x.replace(" ","T")+"Z").toLocaleDateString(void 0,{month:"short",day:"numeric",year:"numeric"})}function D(x){return x.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;")}function c(x,R){const z=D(x);if(!R.trim())return z;const U=R.trim().replace(/[.*+?^${}()|[\]\\]/g,"\\$&");return z.replace(new RegExp(U,"gi"),Z=>`<mark>${Z}</mark>`)}function k(x){var R;x.key==="Escape"&&(_(o,""),_(v,null)),x.key==="/"&&document.activeElement!==a(l)&&(x.preventDefault(),(R=a(l))==null||R.focus())}const j=le(()=>a(o).trim()!==""||a(v)!==null);var C=Jl();Ae("keydown",wt,k);var L=d(C);{var O=x=>{var R=Ll(),z=d(R),U=w(d(z),2);Lr(U,W=>_(l,W),()=>a(l));var Z=w(U,2);{var Q=W=>{var oe=Nl();te("click",oe,()=>_(o,"")),E(W,oe)};H(Z,W=>{a(o)&&W(Q)})}var ie=w(z,2);{var J=W=>{var oe=Il();Se(oe,21,()=>a(f),dt,(_e,he)=>{var fe=Ol();let ue;var ge=d(fe);q(()=>{ue=de(fe,1,"chip svelte-mwtig8",null,ue,{active:a(v)===a(he)}),Mr(fe,`--chip-color: ${g[a(he)]??"var(--text-muted)"??""}`),I(ge,a(he))}),te("click",fe,()=>_(v,a(v)===a(he)?null:a(he),!0)),E(_e,fe)}),E(W,oe)};H(ie,W=>{a(f).length>1&&W(J)})}var ne=w(ie,2);{var X=W=>{var oe=Ml(),_e=Ye(oe),he=d(_e),fe=w(_e,2);q(()=>I(he,`${a(m).length??""} / ${a(r).length??""}`)),te("click",fe,()=>{_(o,""),_(v,null)}),E(W,oe)};H(ne,W=>{a(j)&&W(X)})}Xt(U,()=>a(o),W=>_(o,W)),E(x,R)};H(L,x=>{!a(s)&&!a(i)&&a(r).length>0&&x(O)})}var B=w(L,2);{var A=x=>{var R=Rl();E(x,R)},M=x=>{var R=zl(),z=d(R);q(()=>I(z,`[error] ${a(i)??""}`)),E(x,R)},K=x=>{var R=Fl();E(x,R)},Y=x=>{var R=ql();E(x,R)},ve=x=>{var R=Yl();Se(R,21,()=>a(m),z=>z.id,(z,U)=>{const Z=le(()=>a(U).task_id?a(u).get(a(U).task_id):null),Q=le(()=>P(a(U).tags));var ie=Vl(),J=d(ie),ne=d(J),X=d(ne),W=w(ne,2),oe=d(W),_e=w(J,2);La(_e,()=>c(a(U).content,a(o)),!0);var he=w(_e,2);{var fe=ue=>{var ge=Ul(),y=d(ge);{var T=V=>{var ae=Hl();Se(ae,21,()=>a(Q),dt,(ce,me)=>{var Pe=Bl();let Ze;var _t=d(Pe);q(Nt=>{Ze=de(Pe,1,"tag svelte-mwtig8",null,Ze,Nt),I(_t,a(me))},[()=>({active:a(o).trim().toLowerCase()===a(me).toLowerCase()})]),te("click",Pe,()=>_(o,a(me),!0)),E(ce,Pe)}),E(V,ae)};H(y,V=>{a(Q).length>0&&V(T)})}var b=w(y,2);{var N=V=>{var ae=Kl(),ce=d(ae);q(me=>I(ce,`→ ${me??""}: ${a(Z).title??""}`),[()=>a(Z).short_id??a(Z).id.slice(0,8)]),te("click",ae,()=>t.onOpenTask(a(Z))),E(V,ae)};H(b,V=>{a(Z)&&V(N)})}E(ue,ge)};H(he,ue=>{(a(Q).length>0||a(Z))&&ue(fe)})}q(ue=>{Mr(ne,`color: ${g[a(U).category]??"var(--text-muted)"??""}`),I(X,a(U).category),I(oe,ue)},[()=>p(a(U).created_at)]),E(z,ie)}),E(x,R)};H(B,x=>{a(s)?x(A):a(i)?x(M,1):a(r).length===0?x(K,2):a(m).length===0?x(Y,3):x(ve,-1)})}E(e,C),Me()}He(["click"]);var Wl=S('<div class="state-msg svelte-1nwykvu"><span class="prompt svelte-1nwykvu">&gt;</span> loading decisions...</div>'),Ql=S('<div class="state-msg err svelte-1nwykvu"> </div>'),Zl=S('<div class="state-msg muted svelte-1nwykvu">// no decisions yet — use log_decision via MCP tools</div>'),Xl=S('<div class="reasoning svelte-1nwykvu"> </div>'),$l=S('<div class="alts svelte-1nwykvu"> </div>'),eo=S('<span class="tag svelte-1nwykvu"> </span>'),to=S('<div class="tags svelte-1nwykvu"></div>'),ro=S('<span class="task-link svelte-1nwykvu"> </span>'),no=S('<div class="card-footer svelte-1nwykvu"><!> <!></div>'),ao=S('<div class="card svelte-1nwykvu"><div class="card-header svelte-1nwykvu"><span class="title svelte-1nwykvu"> </span> <span class="date svelte-1nwykvu"> </span></div> <div class="decision-text svelte-1nwykvu"> </div> <!> <!> <!></div>'),so=S('<div class="list svelte-1nwykvu"></div>'),io=S('<div class="view svelte-1nwykvu"><!></div>');function lo(e,t){Ie(t,!0);let r=F(Ce([])),n=F(Ce([])),s=F(!0),i=F(null);at(()=>{_(s,!0),_(i,null),Promise.all([Fe.getDecisions(t.projectId),Fe.getTasks(t.projectId)]).then(([c,k])=>{_(r,c,!0),_(n,k,!0)}).catch(c=>{_(i,c.message,!0)}).finally(()=>{_(s,!1)})});const o=le(()=>new Map(a(n).map(c=>[c.id,c])));function v(c){if(!c)return[];try{return JSON.parse(c)}catch{return[]}}function l(c){if(!c)return[];try{return JSON.parse(c)}catch{return[]}}function u(c){return new Date(c.replace(" ","T")+"Z").toLocaleDateString(void 0,{month:"short",day:"numeric",year:"numeric"})}var f=io(),m=d(f);{var g=c=>{var k=Wl();E(c,k)},P=c=>{var k=Ql(),j=d(k);q(()=>I(j,`[error] ${a(i)??""}`)),E(c,k)},p=c=>{var k=Zl();E(c,k)},D=c=>{var k=so();Se(k,21,()=>a(r),j=>j.id,(j,C)=>{const L=le(()=>a(C).task_id?a(o).get(a(C).task_id):null),O=le(()=>v(a(C).alternatives)),B=le(()=>l(a(C).tags));var A=ao(),M=d(A),K=d(M),Y=d(K),ve=w(K,2),x=d(ve),R=w(M,2),z=d(R),U=w(R,2);{var Z=X=>{var W=Xl(),oe=d(W);q(()=>I(oe,a(C).reasoning)),E(X,W)};H(U,X=>{a(C).reasoning&&X(Z)})}var Q=w(U,2);{var ie=X=>{var W=$l(),oe=d(W);q(_e=>I(oe,`Alternatives considered: ${_e??""}`),[()=>a(O).join(", ")]),E(X,W)};H(Q,X=>{a(O).length>0&&X(ie)})}var J=w(Q,2);{var ne=X=>{var W=no(),oe=d(W);{var _e=ue=>{var ge=to();Se(ge,21,()=>a(B),dt,(y,T)=>{var b=eo(),N=d(b);q(()=>I(N,a(T))),E(y,b)}),E(ue,ge)};H(oe,ue=>{a(B).length>0&&ue(_e)})}var he=w(oe,2);{var fe=ue=>{var ge=ro(),y=d(ge);q(T=>I(y,`→ ${T??""}: ${a(L).title??""}`),[()=>a(L).short_id??a(L).id.slice(0,8)]),te("click",ge,()=>t.onOpenTask(a(L))),E(ue,ge)};H(he,ue=>{a(L)&&ue(fe)})}E(X,W)};H(J,X=>{(a(B).length>0||a(L))&&X(ne)})}q(X=>{I(Y,a(C).title),I(x,X),I(z,a(C).decision)},[()=>u(a(C).created_at)]),E(j,A)}),E(c,k)};H(m,c=>{a(s)?c(g):a(i)?c(P,1):a(r).length===0?c(p,2):c(D,-1)})}E(e,f),Me()}He(["click"]);var oo=S('<div><span class="item-label svelte-1bm0yy4"> </span> <span class="item-hint svelte-1bm0yy4"> </span></div>'),vo=S('<div class="palette-empty svelte-1bm0yy4">no commands match</div>'),uo=S('<div class="palette-backdrop svelte-1bm0yy4"><div class="palette svelte-1bm0yy4"><div class="palette-input-row svelte-1bm0yy4"><span class="palette-prompt svelte-1bm0yy4">&gt;</span> <input placeholder="type a command..." class="svelte-1bm0yy4"/></div> <div class="palette-list svelte-1bm0yy4"></div> <div class="palette-footer svelte-1bm0yy4"><span class="svelte-1bm0yy4"><kbd class="svelte-1bm0yy4">↑↓</kbd> navigate</span> <span class="svelte-1bm0yy4"><kbd class="svelte-1bm0yy4">↵</kbd> select</span> <span class="svelte-1bm0yy4"><kbd class="svelte-1bm0yy4">esc</kbd> close</span></div></div></div>');function co(e,t){Ie(t,!0);let r=F(""),n=F(0),s=F(null);const i=le(()=>[{id:"new-task",label:"new task",hint:"create",action:()=>{t.onClose(),t.onNewTask()}},...t.projects.map(p=>({id:`project-${p.id}`,label:p.name,hint:p.slug?`switch → ${p.slug}`:"switch",action:()=>{t.onClose(),t.onSelectProject(p.id)}}))]),o=le(()=>()=>{const p=a(r).trim().toLowerCase();return p?a(i).filter(D=>D.label.toLowerCase().includes(p)||D.hint.toLowerCase().includes(p)):a(i)});at(()=>{a(o)(),_(n,0)});function v(p){var c;const D=a(o)();p.key==="ArrowDown"?(p.preventDefault(),_(n,Math.min(a(n)+1,D.length-1),!0)):p.key==="ArrowUp"?(p.preventDefault(),_(n,Math.max(a(n)-1,0),!0)):p.key==="Enter"?(p.preventDefault(),(c=D[a(n)])==null||c.action()):p.key==="Escape"&&t.onClose()}function l(p){p.target.classList.contains("palette-backdrop")&&t.onClose()}var u=uo(),f=d(u),m=d(f),g=w(d(m),2);wn(g),Lr(g,p=>_(s,p),()=>a(s));var P=w(m,2);Se(P,23,()=>a(o)(),p=>p.id,(p,D,c)=>{var k=oo();let j;var C=d(k),L=d(C),O=w(C,2),B=d(O);q(()=>{j=de(k,1,"palette-item svelte-1bm0yy4",null,j,{active:a(c)===a(n)}),I(L,a(D).label),I(B,a(D).hint)}),Ae("mouseenter",k,()=>{_(n,a(c),!0)}),te("click",k,()=>a(D).action()),E(p,k)},p=>{var D=vo();E(p,D)}),te("click",u,l),te("keydown",g,v),Xt(g,()=>a(r),p=>_(r,p)),E(e,u),Me()}He(["click","keydown"]);var fo=S("<button> </button>"),_o=S('<div class="state-msg svelte-37wipk"><span class="prompt">&gt;</span> computing metrics...</div>'),ho=S('<div class="state-msg err svelte-37wipk"> </div>'),go=S('<div class="card-value svelte-37wipk"> </div> <div class="card-sub svelte-37wipk">median</div> <div class="card-detail svelte-37wipk"> </div> <span> </span>',1),po=S('<div class="card-value card-value--empty svelte-37wipk">—</div> <div class="card-sub muted svelte-37wipk"> </div>',1),mo=S('<div> </div> <div class="card-sub svelte-37wipk">of active tasks hit a blocker</div>',1),wo=S('<div class="card-value card-value--empty svelte-37wipk">—</div> <div class="card-sub muted svelte-37wipk">no activity in window</div>',1),bo=S('<div class="card-detail svelte-37wipk"> </div>'),yo=S('<span class="badge badge-blocked svelte-37wipk"> </span>'),ko=S('<div class="insight-row svelte-37wipk"><span class="insight-bullet svelte-37wipk">›</span> </div>'),To=S('<div class="insights svelte-37wipk"><div class="insights-label svelte-37wipk">// insights</div> <!></div>'),Eo=S('<div class="grid svelte-37wipk"><div class="card svelte-37wipk"><div class="card-label svelte-37wipk">Throughput</div> <div class="card-value svelte-37wipk"> </div> <div class="card-sub svelte-37wipk">tasks completed</div> <div class="card-detail svelte-37wipk"> </div> <span> </span></div> <div class="card svelte-37wipk"><div class="card-label svelte-37wipk">Lead Time</div> <!></div> <div class="card svelte-37wipk"><div class="card-label svelte-37wipk">Blocked Rate</div> <!> <!> <!></div> <div class="card card--tier svelte-37wipk"><div class="card-label svelte-37wipk">Performance Tier</div> <div> </div> <div class="card-sub tier-legend svelte-37wipk"><span class="tier-elite svelte-37wipk">Elite</span> &lt;1d · <span class="tier-high svelte-37wipk">High</span> &lt;1wk · <span class="tier-medium svelte-37wipk">Medium</span> &lt;1mo · <span class="tier-low svelte-37wipk">Low</span> 1mo+</div></div></div> <!>',1),So=S('<div class="view svelte-37wipk"><div class="toolbar svelte-37wipk"><span class="toolbar-label svelte-37wipk">// window</span> <!></div> <!></div>');function xo(e,t){Ie(t,!0);let r=F(null),n=F(!0),s=F(null),i=F(30);async function o(){_(n,!0),_(s,null);try{_(r,await Fe.getMetrics(t.projectId,a(i)),!0)}catch(j){_(s,j.message,!0)}finally{_(n,!1)}}at(()=>{t.projectId,a(i),o()});const v={Elite:"tier-elite",High:"tier-high",Medium:"tier-medium",Low:"tier-low",unknown:"tier-unknown"},l={improving:"↑",declining:"↓",stable:"→"},u={improving:"trend-up",declining:"trend-down",stable:"trend-stable"};function f(j){return"median_days"in j}var m=So(),g=d(m),P=w(d(g),2);Se(P,16,()=>[7,30,90],dt,(j,C)=>{var L=fo();let O;var B=d(L);q(()=>{O=de(L,1,"window-btn svelte-37wipk",null,O,{active:a(i)===C}),I(B,`${C??""}d`)}),te("click",L,()=>_(i,C,!0)),E(j,L)});var p=w(g,2);{var D=j=>{var C=_o();E(j,C)},c=j=>{var C=ho(),L=d(C);q(()=>I(L,`[error] ${a(s)??""}`)),E(j,C)},k=j=>{var C=Eo(),L=Ye(C),O=d(L),B=w(d(O),2),A=d(B),M=w(B,4),K=d(M),Y=w(M,2),ve=d(Y),x=w(O,2),R=w(d(x),2);{var z=T=>{var b=go(),N=Ye(b),V=d(N),ae=w(N,4),ce=d(ae),me=w(ae,2),Pe=d(me);q(()=>{I(V,`${a(r).lead_time.median_days??""}d`),I(ce,`p90: ${a(r).lead_time.p90_days??""}d`),de(me,1,`trend ${u[a(r).lead_time.trend]??""}`,"svelte-37wipk"),I(Pe,`${l[a(r).lead_time.trend]??""} ${a(r).lead_time.trend??""}`)}),E(T,b)},U=le(()=>f(a(r).lead_time)),Z=T=>{var b=po(),N=w(Ye(b),2),V=d(N);q(()=>I(V,a(r).lead_time.note)),E(T,b)};H(R,T=>{a(U)?T(z):T(Z,-1)})}var Q=w(x,2),ie=w(d(Q),2);{var J=T=>{var b=mo(),N=Ye(b),V=d(N);q(()=>{de(N,1,`card-value ${a(r).flow_efficiency.blocked_rate_pct>30?"val-danger":""}`,"svelte-37wipk"),I(V,`${a(r).flow_efficiency.blocked_rate_pct??""}%`)}),E(T,b)},ne=T=>{var b=wo();E(T,b)};H(ie,T=>{a(r).flow_efficiency.blocked_rate_pct!==null?T(J):T(ne,-1)})}var X=w(ie,2);{var W=T=>{var b=bo(),N=d(b);q(()=>I(N,`avg blocked: ${a(r).flow_efficiency.avg_blocked_days??""}d`)),E(T,b)};H(X,T=>{a(r).flow_efficiency.avg_blocked_days!==null&&T(W)})}var oe=w(X,2);{var _e=T=>{var b=yo(),N=d(b);q(()=>I(N,`${a(r).flow_efficiency.currently_blocked??""} blocked now`)),E(T,b)};H(oe,T=>{a(r).flow_efficiency.currently_blocked>0&&T(_e)})}var he=w(Q,2),fe=w(d(he),2),ue=d(fe),ge=w(L,2);{var y=T=>{var b=To(),N=w(d(b),2);Se(N,17,()=>a(r).insights,dt,(V,ae)=>{var ce=ko(),me=w(d(ce));q(()=>I(me,` ${a(ae)??""}`)),E(V,ce)}),E(T,b)};H(ge,T=>{a(r).insights.length>0&&T(y)})}q(()=>{I(A,a(r).throughput.tasks_completed),I(K,`${a(r).throughput.per_week_avg??""}/wk avg`),de(Y,1,`trend ${u[a(r).throughput.trend]??""}`,"svelte-37wipk"),I(ve,`${l[a(r).throughput.trend]??""} ${a(r).throughput.trend??""}`),de(fe,1,`tier-badge ${v[a(r).dora_tier]??""}`,"svelte-37wipk"),I(ue,a(r).dora_tier)}),E(j,C)};H(p,j=>{a(n)?j(D):a(s)?j(c,1):a(r)&&j(k,2)})}E(e,m),Me()}He(["click"]);var Co=S('<div class="loading svelte-1n46o8q"><span class="prompt svelte-1n46o8q">&gt;</span> loading projects...</div>'),jo=S('<div class="error svelte-1n46o8q"><span class="err-prefix svelte-1n46o8q">[error]</span> </div>'),Po=S('<div class="empty svelte-1n46o8q"><p class="empty-prompt svelte-1n46o8q">&gt; no projects found</p> <p class="empty-hint svelte-1n46o8q">// create a project using mindpm MCP tools to get started</p></div>'),Ao=S('<div class="tabs svelte-1n46o8q"><button>Kanban</button> <button>Notes</button> <button>Decisions</button> <button>Metrics</button></div> <!>',1),Do=S('<div class="app-layout svelte-1n46o8q"><!> <div class="main svelte-1n46o8q"><!> <!></div></div>'),No=S("<!> <!>",1);function Oo(e,t){Ie(t,!0);let r=F(Ce([])),n=F(null),s=F(!0),i=F(null),o=F(!1),v=F(!1),l=F("kanban"),u=F(null);const f=le(()=>a(r).find(A=>A.id===a(n))??null);async function m(){try{if(_(r,await Fe.getProjects(),!0),a(r).length>0&&!a(n)){const A=new URLSearchParams(window.location.search).get("project"),M=A?a(r).find(K=>K.id===A||K.name===A):null;_(n,M?M.id:a(r)[0].id,!0)}}catch(A){_(i,A.message,!0)}finally{_(s,!1)}}function g(A){_(n,A,!0),_(l,"kanban");const M=new URL(window.location.href);M.searchParams.set("project",A),history.replaceState(null,"",M.toString())}async function P(A,M){try{await Fe.updateProject(A,{name:M});const K=a(r).findIndex(Y=>Y.id===A);K!==-1&&(a(r)[K]={...a(r)[K],name:M})}catch(K){_(i,K.message,!0)}}at(()=>{m()});function p(A){(A.ctrlKey||A.metaKey)&&A.key==="k"&&(A.preventDefault(),_(o,!a(o)))}var D=No();Ae("keydown",wt,p);var c=Ye(D);{var k=A=>{co(A,{get projects(){return a(r)},onSelectProject:M=>{_(n,M,!0)},onNewTask:()=>{_(v,!0)},onClose:()=>{_(o,!1)}})};H(c,A=>{a(o)&&A(k)})}var j=w(c,2);{var C=A=>{var M=Co();E(A,M)},L=A=>{var M=jo(),K=w(d(M));q(()=>I(K,` ${a(i)??""}`)),E(A,M)},O=A=>{var M=Po();E(A,M)},B=A=>{var M=Do(),K=d(M);Hi(K,{get projects(){return a(r)},get selectedId(){return a(n)},onSelect:g});var Y=w(K,2),ve=d(Y);Oi(ve,{get projects(){return a(r)},get selectedId(){return a(n)},onSelect:g,onRenamed:P});var x=w(ve,2);{var R=z=>{var U=Ao(),Z=Ye(U),Q=d(Z);let ie;var J=w(Q,2);let ne;var X=w(J,2);let W;var oe=w(X,2);let _e;var he=w(Z,2);{var fe=T=>{Dl(T,{get project(){return a(f)},get triggerNewTask(){return a(v)},get openTask(){return a(u)},onNewTaskTriggered:()=>{_(v,!1)},onOpenTaskHandled:()=>{_(u,null)}})},ue=T=>{Gl(T,{get projectId(){return a(f).id},onOpenTask:b=>{_(u,b,!0),_(l,"kanban")}})},ge=T=>{lo(T,{get projectId(){return a(f).id},onOpenTask:b=>{_(u,b,!0),_(l,"kanban")}})},y=T=>{xo(T,{get projectId(){return a(f).id}})};H(he,T=>{a(l)==="kanban"?T(fe):a(l)==="notes"?T(ue,1):a(l)==="decisions"?T(ge,2):a(l)==="metrics"&&T(y,3)})}q(()=>{ie=de(Q,1,"tab svelte-1n46o8q",null,ie,{active:a(l)==="kanban"}),ne=de(J,1,"tab svelte-1n46o8q",null,ne,{active:a(l)==="notes"}),W=de(X,1,"tab svelte-1n46o8q",null,W,{active:a(l)==="decisions"}),_e=de(oe,1,"tab svelte-1n46o8q",null,_e,{active:a(l)==="metrics"})}),te("click",Q,()=>_(l,"kanban")),te("click",J,()=>_(l,"notes")),te("click",X,()=>_(l,"decisions")),te("click",oe,()=>_(l,"metrics")),E(z,U)};H(x,z=>{a(f)&&z(R)})}E(A,M)};H(j,A=>{a(s)?A(C):a(i)?A(L,1):a(r).length===0?A(O,2):A(B,-1)})}E(e,D),Me()}He(["click"]);fi(Oo,{target:document.getElementById("app")});
@@ -5,8 +5,8 @@
5
5
  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
6
6
  <link rel="icon" type="image/svg+xml" href="/favicon.svg" />
7
7
  <title>mindpm - Kanban</title>
8
- <script type="module" crossorigin src="/assets/index-C7yguClL.js"></script>
9
- <link rel="stylesheet" crossorigin href="/assets/index-BPn_Np3e.css">
8
+ <script type="module" crossorigin src="/assets/index-rhSpoXg7.js"></script>
9
+ <link rel="stylesheet" crossorigin href="/assets/index-DBeWIe_7.css">
10
10
  </head>
11
11
  <body>
12
12
  <div id="app"></div>
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "mindpm",
3
- "version": "1.2.37",
3
+ "version": "1.2.39",
4
4
  "description": "Persistent project memory for LLMs via MCP. Never re-explain your project again.",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -1,2 +0,0 @@
1
- var qa=Object.defineProperty;var Cn=e=>{throw TypeError(e)};var Ba=(e,t,r)=>t in e?qa(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r;var We=(e,t,r)=>Ba(e,typeof t!="symbol"?t+"":t,r),Vr=(e,t,r)=>t.has(e)||Cn("Cannot "+r);var _=(e,t,r)=>(Vr(e,t,"read from private field"),r?r.call(e):t.get(e)),$=(e,t,r)=>t.has(e)?Cn("Cannot add the same private member more than once"):t instanceof WeakSet?t.add(e):t.set(e,r),J=(e,t,r,n)=>(Vr(e,t,"write to private field"),n?n.call(e,r):t.set(e,r),r),_e=(e,t,r)=>(Vr(e,t,"access private method"),r);(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const a of document.querySelectorAll('link[rel="modulepreload"]'))n(a);new MutationObserver(a=>{for(const i of a)if(i.type==="childList")for(const o of i.addedNodes)o.tagName==="LINK"&&o.rel==="modulepreload"&&n(o)}).observe(document,{childList:!0,subtree:!0});function r(a){const i={};return a.integrity&&(i.integrity=a.integrity),a.referrerPolicy&&(i.referrerPolicy=a.referrerPolicy),a.crossOrigin==="use-credentials"?i.credentials="include":a.crossOrigin==="anonymous"?i.credentials="omit":i.credentials="same-origin",i}function n(a){if(a.ep)return;a.ep=!0;const i=r(a);fetch(a.href,i)}})();const Ha=!1;var dn=Array.isArray,Ka=Array.prototype.indexOf,ir=Array.prototype.includes,zr=Array.from,Ua=Object.defineProperty,Qt=Object.getOwnPropertyDescriptor,Va=Object.getOwnPropertyDescriptors,Ya=Object.prototype,Ja=Array.prototype,Jn=Object.getPrototypeOf,jn=Object.isExtensible;const Ga=()=>{};function Wa(e){for(var t=0;t<e.length;t++)e[t]()}function Gn(){var e,t,r=new Promise((n,a)=>{e=n,t=a});return{promise:r,resolve:e,reject:t}}const me=2,lr=4,Fr=8,Wn=1<<24,At=16,nt=32,Ht=64,Qr=128,Ve=512,pe=1024,ye=2048,at=4096,Fe=8192,Ye=16384,Jt=32768,Zr=1<<25,or=65536,Pn=1<<17,Qa=1<<18,fr=1<<19,Za=1<<20,ut=1<<25,Kt=65536,Xr=1<<21,_n=1<<22,St=1<<23,Ft=Symbol("$state"),Xa=Symbol("legacy props"),ft=new class extends Error{constructor(){super(...arguments);We(this,"name","StaleReactionError");We(this,"message","The reaction that called `getAbortSignal()` was re-run or destroyed")}};var Un;const $a=!!((Un=globalThis.document)!=null&&Un.contentType)&&globalThis.document.contentType.includes("xml");function es(){throw new Error("https://svelte.dev/e/async_derived_orphan")}function ts(e,t,r){throw new Error("https://svelte.dev/e/each_key_duplicate")}function rs(e){throw new Error("https://svelte.dev/e/effect_in_teardown")}function ns(){throw new Error("https://svelte.dev/e/effect_in_unowned_derived")}function as(e){throw new Error("https://svelte.dev/e/effect_orphan")}function ss(){throw new Error("https://svelte.dev/e/effect_update_depth_exceeded")}function is(e){throw new Error("https://svelte.dev/e/props_invalid_value")}function ls(){throw new Error("https://svelte.dev/e/state_descriptors_fixed")}function os(){throw new Error("https://svelte.dev/e/state_prototype_fixed")}function vs(){throw new Error("https://svelte.dev/e/state_unsafe_mutation")}function us(){throw new Error("https://svelte.dev/e/svelte_boundary_reset_onerror")}const cs=1,fs=2,Qn=4,ds=8,_s=16,hs=1,gs=4,ps=8,ms=16,ws=1,bs=2,we=Symbol(),Zn="http://www.w3.org/1999/xhtml",ys="http://www.w3.org/2000/svg",ks="http://www.w3.org/1998/Math/MathML";function Ts(){console.warn("https://svelte.dev/e/select_multiple_invalid_value")}function Es(){console.warn("https://svelte.dev/e/svelte_boundary_reset_noop")}function Xn(e){return e===this.v}function Ss(e,t){return e!=e?t==t:e!==t||e!==null&&typeof e=="object"||typeof e=="function"}function $n(e){return!Ss(e,this.v)}let xs=!1,qe=null;function vr(e){qe=e}function Ne(e,t=!1,r){qe={p:qe,i:!1,c:null,e:null,s:e,x:null,r:ee,l:null}}function Ie(e){var t=qe,r=t.e;if(r!==null){t.e=null;for(var n of r)ya(n)}return t.i=!0,qe=t.p,{}}function ea(){return!0}let Nt=[];function ta(){var e=Nt;Nt=[],Wa(e)}function ht(e){if(Nt.length===0&&!pr){var t=Nt;queueMicrotask(()=>{t===Nt&&ta()})}Nt.push(e)}function Cs(){for(;Nt.length>0;)ta()}function ra(e){var t=ee;if(t===null)return Q.f|=St,e;if((t.f&Jt)===0&&(t.f&lr)===0)throw e;Tt(e,t)}function Tt(e,t){for(;t!==null;){if((t.f&Qr)!==0){if((t.f&Jt)===0)throw e;try{t.b.error(e);return}catch(r){e=r}}t=t.parent}throw e}const js=-7169;function de(e,t){e.f=e.f&js|t}function hn(e){(e.f&Ve)!==0||e.deps===null?de(e,pe):de(e,at)}function na(e){if(e!==null)for(const t of e)(t.f&me)===0||(t.f&Kt)===0||(t.f^=Kt,na(t.deps))}function aa(e,t,r){(e.f&ye)!==0?t.add(e):(e.f&at)!==0&&r.add(e),na(e.deps),de(e,pe)}let jr=!1;function Ps(e){var t=jr;try{return jr=!1,[e(),jr]}finally{jr=t}}const _r=new Set;let U=null,be=null,$r=null,pr=!1,Yr=!1,Wt=null,Ar=null;var An=0;let As=1;var Zt,Xt,$t,er,Tr,bt,tr,yt,it,rr,Ce,en,tn,rn,nn,sa;const Mr=class Mr{constructor(){$(this,Ce);We(this,"id",As++);We(this,"current",new Map);We(this,"previous",new Map);$(this,Zt,new Set);$(this,Xt,new Set);$(this,$t,0);$(this,er,0);$(this,Tr,null);$(this,bt,[]);$(this,tr,new Set);$(this,yt,new Set);$(this,it,new Map);We(this,"is_fork",!1);$(this,rr,!1)}skip_effect(t){_(this,it).has(t)||_(this,it).set(t,{d:[],m:[]})}unskip_effect(t){var r=_(this,it).get(t);if(r){_(this,it).delete(t);for(var n of r.d)de(n,ye),this.schedule(n);for(n of r.m)de(n,at),this.schedule(n)}}capture(t,r){r!==we&&!this.previous.has(t)&&this.previous.set(t,r),(t.f&St)===0&&(this.current.set(t,t.v),be==null||be.set(t,t.v))}activate(){U=this}deactivate(){U=null,be=null}flush(){try{if(Yr=!0,U=this,!_e(this,Ce,en).call(this)){for(const t of _(this,tr))_(this,yt).delete(t),de(t,ye),this.schedule(t);for(const t of _(this,yt))de(t,at),this.schedule(t)}_e(this,Ce,tn).call(this)}finally{An=0,$r=null,Wt=null,Ar=null,Yr=!1,U=null,be=null,xt.clear()}}discard(){for(const t of _(this,Xt))t(this);_(this,Xt).clear()}increment(t){J(this,$t,_(this,$t)+1),t&&J(this,er,_(this,er)+1)}decrement(t,r){J(this,$t,_(this,$t)-1),t&&J(this,er,_(this,er)-1),!(_(this,rr)||r)&&(J(this,rr,!0),ht(()=>{J(this,rr,!1),this.flush()}))}oncommit(t){_(this,Zt).add(t)}ondiscard(t){_(this,Xt).add(t)}settled(){return(_(this,Tr)??J(this,Tr,Gn())).promise}static ensure(){if(U===null){const t=U=new Mr;Yr||(_r.add(U),pr||ht(()=>{U===t&&t.flush()}))}return U}apply(){}schedule(t){var a;if($r=t,(a=t.b)!=null&&a.is_pending&&(t.f&(lr|Fr|Wn))!==0&&(t.f&Jt)===0){t.b.defer_effect(t);return}for(var r=t;r.parent!==null;){r=r.parent;var n=r.f;if(Wt!==null&&r===ee&&(Q===null||(Q.f&me)===0))return;if((n&(Ht|nt))!==0){if((n&pe)===0)return;r.f^=pe}}_(this,bt).push(r)}};Zt=new WeakMap,Xt=new WeakMap,$t=new WeakMap,er=new WeakMap,Tr=new WeakMap,bt=new WeakMap,tr=new WeakMap,yt=new WeakMap,it=new WeakMap,rr=new WeakMap,Ce=new WeakSet,en=function(){return this.is_fork||_(this,er)>0},tn=function(){var v,l;An++>1e3&&Os();const t=_(this,bt);J(this,bt,[]),this.apply();var r=Wt=[],n=[],a=Ar=[];for(const c of t)_e(this,Ce,rn).call(this,c,r,n);if(U=null,a.length>0){var i=Mr.ensure();for(const c of a)i.schedule(c)}if(Wt=null,Ar=null,_e(this,Ce,en).call(this)){_e(this,Ce,nn).call(this,n),_e(this,Ce,nn).call(this,r);for(const[c,f]of _(this,it))oa(c,f)}else{_(this,tr).clear(),_(this,yt).clear();for(const c of _(this,Zt))c(this);_(this,Zt).clear(),Dn(n),Dn(r),_(this,$t)===0&&_e(this,Ce,sa).call(this),(v=_(this,Tr))==null||v.resolve()}var o=U;o!==null&&(_r.add(o),_e(l=o,Ce,tn).call(l))},rn=function(t,r,n){t.f^=pe;for(var a=t.first;a!==null;){var i=a.f,o=(i&(nt|Ht))!==0,v=o&&(i&pe)!==0,l=v||(i&Fe)!==0||_(this,it).has(a);if(!l&&a.fn!==null){o?a.f^=pe:(i&lr)!==0?r.push(a):Cr(a)&&((i&At)!==0&&_(this,yt).add(a),cr(a));var c=a.first;if(c!==null){a=c;continue}}for(;a!==null;){var f=a.next;if(f!==null){a=f;break}a=a.parent}}},nn=function(t){for(var r=0;r<t.length;r+=1)aa(t[r],_(this,tr),_(this,yt))},sa=function(){var a;if(_r.size>1){this.previous.clear();var t=U,r=be,n=!0;for(const i of _r){if(i===this){n=!1;continue}const o=[];for(const[l,c]of this.current){if(i.current.has(l))if(n&&c!==i.current.get(l))i.current.set(l,c);else continue;o.push(l)}if(o.length===0)continue;const v=[...i.current.keys()].filter(l=>!this.current.has(l));if(v.length>0){i.activate();const l=new Set,c=new Map;for(const f of o)ia(f,v,l,c);if(_(i,bt).length>0){i.apply();for(const f of _(i,bt))_e(a=i,Ce,rn).call(a,f,[],[])}i.deactivate()}}U=t,be=r}_(this,it).clear(),_r.delete(this)};let Ut=Mr;function Ds(e){var t=pr;pr=!0;try{for(var r;;){if(Cs(),U===null)return r;U.flush()}}finally{pr=t}}function Os(){try{ss()}catch(e){Tt(e,$r)}}let Ze=null;function Dn(e){var t=e.length;if(t!==0){for(var r=0;r<t;){var n=e[r++];if((n.f&(Ye|Fe))===0&&Cr(n)&&(Ze=new Set,cr(n),n.deps===null&&n.first===null&&n.nodes===null&&n.teardown===null&&n.ac===null&&Sa(n),(Ze==null?void 0:Ze.size)>0)){xt.clear();for(const a of Ze){if((a.f&(Ye|Fe))!==0)continue;const i=[a];let o=a.parent;for(;o!==null;)Ze.has(o)&&(Ze.delete(o),i.push(o)),o=o.parent;for(let v=i.length-1;v>=0;v--){const l=i[v];(l.f&(Ye|Fe))===0&&cr(l)}}Ze.clear()}}Ze=null}}function ia(e,t,r,n){if(!r.has(e)&&(r.add(e),e.reactions!==null))for(const a of e.reactions){const i=a.f;(i&me)!==0?ia(a,t,r,n):(i&(_n|At))!==0&&(i&ye)===0&&la(a,t,n)&&(de(a,ye),gn(a))}}function la(e,t,r){const n=r.get(e);if(n!==void 0)return n;if(e.deps!==null)for(const a of e.deps){if(ir.call(t,a))return!0;if((a.f&me)!==0&&la(a,t,r))return r.set(a,!0),!0}return r.set(e,!1),!1}function gn(e){U.schedule(e)}function oa(e,t){if(!((e.f&nt)!==0&&(e.f&pe)!==0)){(e.f&ye)!==0?t.d.push(e):(e.f&at)!==0&&t.m.push(e),de(e,pe);for(var r=e.first;r!==null;)oa(r,t),r=r.next}}function Ns(e){let t=0,r=Vt(0),n;return()=>{wn()&&(s(r),yn(()=>(t===0&&(n=Hr(()=>e(()=>mr(r)))),t+=1,()=>{ht(()=>{t-=1,t===0&&(n==null||n(),n=void 0,mr(r))})})))}}var Is=or|fr;function Ms(e,t,r,n){new Rs(e,t,r,n)}var Ke,fn,lt,Rt,Pe,ot,Re,Xe,dt,Lt,kt,nr,ar,sr,_t,Rr,he,Ls,zs,Fs,an,Dr,Or,sn;class Rs{constructor(t,r,n,a){$(this,he);We(this,"parent");We(this,"is_pending",!1);We(this,"transform_error");$(this,Ke);$(this,fn,null);$(this,lt);$(this,Rt);$(this,Pe);$(this,ot,null);$(this,Re,null);$(this,Xe,null);$(this,dt,null);$(this,Lt,0);$(this,kt,0);$(this,nr,!1);$(this,ar,new Set);$(this,sr,new Set);$(this,_t,null);$(this,Rr,Ns(()=>(J(this,_t,Vt(_(this,Lt))),()=>{J(this,_t,null)})));var i;J(this,Ke,t),J(this,lt,r),J(this,Rt,o=>{var v=ee;v.b=this,v.f|=Qr,n(o)}),this.parent=ee.b,this.transform_error=a??((i=this.parent)==null?void 0:i.transform_error)??(o=>o),J(this,Pe,kn(()=>{_e(this,he,an).call(this)},Is))}defer_effect(t){aa(t,_(this,ar),_(this,sr))}is_rendered(){return!this.is_pending&&(!this.parent||this.parent.is_rendered())}has_pending_snippet(){return!!_(this,lt).pending}update_pending_count(t,r){_e(this,he,sn).call(this,t,r),J(this,Lt,_(this,Lt)+t),!(!_(this,_t)||_(this,nr))&&(J(this,nr,!0),ht(()=>{J(this,nr,!1),_(this,_t)&&ur(_(this,_t),_(this,Lt))}))}get_effect_pending(){return _(this,Rr).call(this),s(_(this,_t))}error(t){var r=_(this,lt).onerror;let n=_(this,lt).failed;if(!r&&!n)throw t;_(this,ot)&&(De(_(this,ot)),J(this,ot,null)),_(this,Re)&&(De(_(this,Re)),J(this,Re,null)),_(this,Xe)&&(De(_(this,Xe)),J(this,Xe,null));var a=!1,i=!1;const o=()=>{if(a){Es();return}a=!0,i&&us(),_(this,Xe)!==null&&qt(_(this,Xe),()=>{J(this,Xe,null)}),_e(this,he,Or).call(this,()=>{_e(this,he,an).call(this)})},v=l=>{try{i=!0,r==null||r(l,o),i=!1}catch(c){Tt(c,_(this,Pe)&&_(this,Pe).parent)}n&&J(this,Xe,_e(this,he,Or).call(this,()=>{try{return Ue(()=>{var c=ee;c.b=this,c.f|=Qr,n(_(this,Ke),()=>l,()=>o)})}catch(c){return Tt(c,_(this,Pe).parent),null}}))};ht(()=>{var l;try{l=this.transform_error(t)}catch(c){Tt(c,_(this,Pe)&&_(this,Pe).parent);return}l!==null&&typeof l=="object"&&typeof l.then=="function"?l.then(v,c=>Tt(c,_(this,Pe)&&_(this,Pe).parent)):v(l)})}}Ke=new WeakMap,fn=new WeakMap,lt=new WeakMap,Rt=new WeakMap,Pe=new WeakMap,ot=new WeakMap,Re=new WeakMap,Xe=new WeakMap,dt=new WeakMap,Lt=new WeakMap,kt=new WeakMap,nr=new WeakMap,ar=new WeakMap,sr=new WeakMap,_t=new WeakMap,Rr=new WeakMap,he=new WeakSet,Ls=function(){try{J(this,ot,Ue(()=>_(this,Rt).call(this,_(this,Ke))))}catch(t){this.error(t)}},zs=function(t){const r=_(this,lt).failed;r&&J(this,Xe,Ue(()=>{r(_(this,Ke),()=>t,()=>()=>{})}))},Fs=function(){const t=_(this,lt).pending;if(t){this.is_pending=!0,J(this,Re,Ue(()=>t(_(this,Ke))));var r=U;ht(()=>{var n=J(this,dt,document.createDocumentFragment()),a=Ct();n.append(a),J(this,ot,_e(this,he,Or).call(this,()=>Ue(()=>_(this,Rt).call(this,a)))),_(this,kt)===0&&(_(this,Ke).before(n),J(this,dt,null),qt(_(this,Re),()=>{J(this,Re,null)}),_e(this,he,Dr).call(this,r))})}},an=function(){var t=U;try{if(this.is_pending=this.has_pending_snippet(),J(this,kt,0),J(this,Lt,0),J(this,ot,Ue(()=>{_(this,Rt).call(this,_(this,Ke))})),_(this,kt)>0){var r=J(this,dt,document.createDocumentFragment());Sn(_(this,ot),r);const n=_(this,lt).pending;J(this,Re,Ue(()=>n(_(this,Ke))))}else _e(this,he,Dr).call(this,t)}catch(n){this.error(n)}},Dr=function(t){this.is_pending=!1;for(const r of _(this,ar))de(r,ye),t.schedule(r);for(const r of _(this,sr))de(r,at),t.schedule(r);_(this,ar).clear(),_(this,sr).clear()},Or=function(t){var r=ee,n=Q,a=qe;ct(_(this,Pe)),Ge(_(this,Pe)),vr(_(this,Pe).ctx);try{return Ut.ensure(),t()}catch(i){return ra(i),null}finally{ct(r),Ge(n),vr(a)}},sn=function(t,r){var n;if(!this.has_pending_snippet()){this.parent&&_e(n=this.parent,he,sn).call(n,t,r);return}J(this,kt,_(this,kt)+t),_(this,kt)===0&&(_e(this,he,Dr).call(this,r),_(this,Re)&&qt(_(this,Re),()=>{J(this,Re,null)}),_(this,dt)&&(_(this,Ke).before(_(this,dt)),J(this,dt,null)))};function qs(e,t,r,n){const a=qr;var i=e.filter(g=>!g.settled);if(r.length===0&&i.length===0){n(t.map(a));return}var o=ee,v=Bs(),l=i.length===1?i[0].promise:i.length>1?Promise.all(i.map(g=>g.promise)):null;function c(g){v();try{n(g)}catch(P){(o.f&Ye)===0&&Tt(P,o)}Ir()}if(r.length===0){l.then(()=>c(t.map(a)));return}var f=va();function w(){Promise.all(r.map(g=>Hs(g))).then(g=>c([...t.map(a),...g])).catch(g=>Tt(g,o)).finally(()=>f())}l?l.then(()=>{v(),w(),Ir()}):w()}function Bs(){var e=ee,t=Q,r=qe,n=U;return function(i=!0){ct(e),Ge(t),vr(r),i&&(e.f&Ye)===0&&(n==null||n.activate(),n==null||n.apply())}}function Ir(e=!0){ct(null),Ge(null),vr(null),e&&(U==null||U.deactivate())}function va(){var e=ee.b,t=U,r=e.is_rendered();return e.update_pending_count(1,t),t.increment(r),(n=!1)=>{e.update_pending_count(-1,t),t.decrement(r,n)}}function qr(e){var t=me|ye,r=Q!==null&&(Q.f&me)!==0?Q:null;return ee!==null&&(ee.f|=fr),{ctx:qe,deps:null,effects:null,equals:Xn,f:t,fn:e,reactions:null,rv:0,v:we,wv:0,parent:r??ee,ac:null}}function Hs(e,t,r){let n=ee;n===null&&es();var a=void 0,i=Vt(we),o=!Q,v=new Map;return ti(()=>{var P;var l=ee,c=Gn();a=c.promise;try{Promise.resolve(e()).then(c.resolve,c.reject).finally(Ir)}catch(p){c.reject(p),Ir()}var f=U;if(o){if((l.f&Jt)!==0)var w=va();if(n.b.is_rendered())(P=v.get(f))==null||P.reject(ft),v.delete(f);else{for(const p of v.values())p.reject(ft);v.clear()}v.set(f,c)}const g=(p,A=void 0)=>{if(w){var u=A===ft;w(u)}if(!(A===ft||(l.f&Ye)!==0)){if(f.activate(),A)i.f|=St,ur(i,A);else{(i.f&St)!==0&&(i.f^=St),ur(i,p);for(const[m,S]of v){if(v.delete(m),m===f)break;S.reject(ft)}}f.deactivate()}};c.promise.then(g,p=>g(null,p||"unknown"))}),bn(()=>{for(const l of v.values())l.reject(ft)}),new Promise(l=>{function c(f){function w(){f===a?l(i):c(a)}f.then(w,w)}c(a)})}function le(e){const t=qr(e);return ja(t),t}function ua(e){const t=qr(e);return t.equals=$n,t}function Ks(e){var t=e.effects;if(t!==null){e.effects=null;for(var r=0;r<t.length;r+=1)De(t[r])}}function Us(e){for(var t=e.parent;t!==null;){if((t.f&me)===0)return(t.f&Ye)===0?t:null;t=t.parent}return null}function pn(e){var t,r=ee;ct(Us(e));try{e.f&=~Kt,Ks(e),t=Oa(e)}finally{ct(r)}return t}function ca(e){var t=pn(e);if(!e.equals(t)&&(e.wv=Aa(),(!(U!=null&&U.is_fork)||e.deps===null)&&(e.v=t,e.deps===null))){de(e,pe);return}Pt||(be!==null?(wn()||U!=null&&U.is_fork)&&be.set(e,t):hn(e))}function Vs(e){var t,r;if(e.effects!==null)for(const n of e.effects)(n.teardown||n.ac)&&((t=n.teardown)==null||t.call(n),(r=n.ac)==null||r.abort(ft),n.teardown=Ga,n.ac=null,yr(n,0),Tn(n))}function fa(e){if(e.effects!==null)for(const t of e.effects)t.teardown&&cr(t)}let ln=new Set;const xt=new Map;let da=!1;function Vt(e,t){var r={f:0,v:e,reactions:null,equals:Xn,rv:0,wv:0};return r}function R(e,t){const r=Vt(e);return ja(r),r}function Ys(e,t=!1,r=!0){const n=Vt(e);return t||(n.equals=$n),n}function h(e,t,r=!1){Q!==null&&(!tt||(Q.f&Pn)!==0)&&ea()&&(Q.f&(me|At|_n|Pn))!==0&&(Je===null||!ir.call(Je,e))&&vs();let n=r?Se(t):t;return ur(e,n,Ar)}function ur(e,t,r=null){if(!e.equals(t)){var n=e.v;Pt?xt.set(e,t):xt.set(e,n),e.v=t;var a=Ut.ensure();if(a.capture(e,n),(e.f&me)!==0){const i=e;(e.f&ye)!==0&&pn(i),hn(i)}e.wv=Aa(),_a(e,ye,r),ee!==null&&(ee.f&pe)!==0&&(ee.f&(nt|Ht))===0&&(He===null?ni([e]):He.push(e)),!a.is_fork&&ln.size>0&&!da&&Js()}return t}function Js(){da=!1;for(const e of ln)(e.f&pe)!==0&&de(e,at),Cr(e)&&cr(e);ln.clear()}function mr(e){h(e,e.v+1)}function _a(e,t,r){var n=e.reactions;if(n!==null)for(var a=n.length,i=0;i<a;i++){var o=n[i],v=o.f,l=(v&ye)===0;if(l&&de(o,t),(v&me)!==0){var c=o;be==null||be.delete(c),(v&Kt)===0&&(v&Ve&&(o.f|=Kt),_a(c,at,r))}else if(l){var f=o;(v&At)!==0&&Ze!==null&&Ze.add(f),r!==null?r.push(f):gn(f)}}}function Se(e){if(typeof e!="object"||e===null||Ft in e)return e;const t=Jn(e);if(t!==Ya&&t!==Ja)return e;var r=new Map,n=dn(e),a=R(0),i=Bt,o=v=>{if(Bt===i)return v();var l=Q,c=Bt;Ge(null),Mn(i);var f=v();return Ge(l),Mn(c),f};return n&&r.set("length",R(e.length)),new Proxy(e,{defineProperty(v,l,c){(!("value"in c)||c.configurable===!1||c.enumerable===!1||c.writable===!1)&&ls();var f=r.get(l);return f===void 0?o(()=>{var w=R(c.value);return r.set(l,w),w}):h(f,c.value,!0),!0},deleteProperty(v,l){var c=r.get(l);if(c===void 0){if(l in v){const f=o(()=>R(we));r.set(l,f),mr(a)}}else h(c,we),mr(a);return!0},get(v,l,c){var P;if(l===Ft)return e;var f=r.get(l),w=l in v;if(f===void 0&&(!w||(P=Qt(v,l))!=null&&P.writable)&&(f=o(()=>{var p=Se(w?v[l]:we),A=R(p);return A}),r.set(l,f)),f!==void 0){var g=s(f);return g===we?void 0:g}return Reflect.get(v,l,c)},getOwnPropertyDescriptor(v,l){var c=Reflect.getOwnPropertyDescriptor(v,l);if(c&&"value"in c){var f=r.get(l);f&&(c.value=s(f))}else if(c===void 0){var w=r.get(l),g=w==null?void 0:w.v;if(w!==void 0&&g!==we)return{enumerable:!0,configurable:!0,value:g,writable:!0}}return c},has(v,l){var g;if(l===Ft)return!0;var c=r.get(l),f=c!==void 0&&c.v!==we||Reflect.has(v,l);if(c!==void 0||ee!==null&&(!f||(g=Qt(v,l))!=null&&g.writable)){c===void 0&&(c=o(()=>{var P=f?Se(v[l]):we,p=R(P);return p}),r.set(l,c));var w=s(c);if(w===we)return!1}return f},set(v,l,c,f){var T;var w=r.get(l),g=l in v;if(n&&l==="length")for(var P=c;P<w.v;P+=1){var p=r.get(P+"");p!==void 0?h(p,we):P in v&&(p=o(()=>R(we)),r.set(P+"",p))}if(w===void 0)(!g||(T=Qt(v,l))!=null&&T.writable)&&(w=o(()=>R(void 0)),h(w,Se(c)),r.set(l,w));else{g=w.v!==we;var A=o(()=>Se(c));h(w,A)}var u=Reflect.getOwnPropertyDescriptor(v,l);if(u!=null&&u.set&&u.set.call(f,c),!g){if(n&&typeof l=="string"){var m=r.get("length"),S=Number(l);Number.isInteger(S)&&S>=m.v&&h(m,S+1)}mr(a)}return!0},ownKeys(v){s(a);var l=Reflect.ownKeys(v).filter(w=>{var g=r.get(w);return g===void 0||g.v!==we});for(var[c,f]of r)f.v!==we&&!(c in v)&&l.push(c);return l},setPrototypeOf(){os()}})}function On(e){try{if(e!==null&&typeof e=="object"&&Ft in e)return e[Ft]}catch{}return e}function Gs(e,t){return Object.is(On(e),On(t))}var jt,ha,ga,pa;function Ws(){if(jt===void 0){jt=window,ha=/Firefox/.test(navigator.userAgent);var e=Element.prototype,t=Node.prototype,r=Text.prototype;ga=Qt(t,"firstChild").get,pa=Qt(t,"nextSibling").get,jn(e)&&(e.__click=void 0,e.__className=void 0,e.__attributes=null,e.__style=void 0,e.__e=void 0),jn(r)&&(r.__t=void 0)}}function Ct(e=""){return document.createTextNode(e)}function Et(e){return ga.call(e)}function xr(e){return pa.call(e)}function d(e,t){return Et(e)}function et(e,t=!1){{var r=Et(e);return r instanceof Comment&&r.data===""?xr(r):r}}function y(e,t=1,r=!1){let n=e;for(;t--;)n=xr(n);return n}function Qs(e){e.textContent=""}function ma(){return!1}function wa(e,t,r){return document.createElementNS(t??Zn,e,void 0)}function mn(e,t){{const r=document.body;e.autofocus=!0,ht(()=>{document.activeElement===r&&e.focus()})}}let Nn=!1;function Zs(){Nn||(Nn=!0,document.addEventListener("reset",e=>{Promise.resolve().then(()=>{var t;if(!e.defaultPrevented)for(const r of e.target.elements)(t=r.__on_r)==null||t.call(r)})},{capture:!0}))}function Br(e){var t=Q,r=ee;Ge(null),ct(null);try{return e()}finally{Ge(t),ct(r)}}function ba(e,t,r,n=r){e.addEventListener(t,()=>Br(r));const a=e.__on_r;a?e.__on_r=()=>{a(),n(!0)}:e.__on_r=()=>n(!0),Zs()}function Xs(e){ee===null&&(Q===null&&as(),ns()),Pt&&rs()}function $s(e,t){var r=t.last;r===null?t.last=t.first=e:(r.next=e,e.prev=r,t.last=e)}function pt(e,t){var r=ee;r!==null&&(r.f&Fe)!==0&&(e|=Fe);var n={ctx:qe,deps:null,nodes:null,f:e|ye|Ve,first:null,fn:t,last:null,next:null,parent:r,b:r&&r.b,prev:null,teardown:null,wv:0,ac:null},a=n;if((e&lr)!==0)Wt!==null?Wt.push(n):Ut.ensure().schedule(n);else if(t!==null){try{cr(n)}catch(o){throw De(n),o}a.deps===null&&a.teardown===null&&a.nodes===null&&a.first===a.last&&(a.f&fr)===0&&(a=a.first,(e&At)!==0&&(e&or)!==0&&a!==null&&(a.f|=or))}if(a!==null&&(a.parent=r,r!==null&&$s(a,r),Q!==null&&(Q.f&me)!==0&&(e&Ht)===0)){var i=Q;(i.effects??(i.effects=[])).push(a)}return n}function wn(){return Q!==null&&!tt}function bn(e){const t=pt(Fr,null);return de(t,pe),t.teardown=e,t}function rt(e){Xs();var t=ee.f,r=!Q&&(t&nt)!==0&&(t&Jt)===0;if(r){var n=qe;(n.e??(n.e=[])).push(e)}else return ya(e)}function ya(e){return pt(lr|Za,e)}function ei(e){Ut.ensure();const t=pt(Ht|fr,e);return(r={})=>new Promise(n=>{r.outro?qt(t,()=>{De(t),n(void 0)}):(De(t),n(void 0))})}function ka(e){return pt(lr,e)}function ti(e){return pt(_n|fr,e)}function yn(e,t=0){return pt(Fr|t,e)}function z(e,t=[],r=[],n=[]){qs(n,t,r,a=>{pt(Fr,()=>e(...a.map(s)))})}function kn(e,t=0){var r=pt(At|t,e);return r}function Ue(e){return pt(nt|fr,e)}function Ta(e){var t=e.teardown;if(t!==null){const r=Pt,n=Q;In(!0),Ge(null);try{t.call(null)}finally{In(r),Ge(n)}}}function Tn(e,t=!1){var r=e.first;for(e.first=e.last=null;r!==null;){const a=r.ac;a!==null&&Br(()=>{a.abort(ft)});var n=r.next;(r.f&Ht)!==0?r.parent=null:De(r,t),r=n}}function ri(e){for(var t=e.first;t!==null;){var r=t.next;(t.f&nt)===0&&De(t),t=r}}function De(e,t=!0){var r=!1;(t||(e.f&Qa)!==0)&&e.nodes!==null&&e.nodes.end!==null&&(Ea(e.nodes.start,e.nodes.end),r=!0),de(e,Zr),Tn(e,t&&!r),yr(e,0);var n=e.nodes&&e.nodes.t;if(n!==null)for(const i of n)i.stop();Ta(e),e.f^=Zr,e.f|=Ye;var a=e.parent;a!==null&&a.first!==null&&Sa(e),e.next=e.prev=e.teardown=e.ctx=e.deps=e.fn=e.nodes=e.ac=null}function Ea(e,t){for(;e!==null;){var r=e===t?null:xr(e);e.remove(),e=r}}function Sa(e){var t=e.parent,r=e.prev,n=e.next;r!==null&&(r.next=n),n!==null&&(n.prev=r),t!==null&&(t.first===e&&(t.first=n),t.last===e&&(t.last=r))}function qt(e,t,r=!0){var n=[];xa(e,n,!0);var a=()=>{r&&De(e),t&&t()},i=n.length;if(i>0){var o=()=>--i||a();for(var v of n)v.out(o)}else a()}function xa(e,t,r){if((e.f&Fe)===0){e.f^=Fe;var n=e.nodes&&e.nodes.t;if(n!==null)for(const v of n)(v.is_global||r)&&t.push(v);for(var a=e.first;a!==null;){var i=a.next,o=(a.f&or)!==0||(a.f&nt)!==0&&(e.f&At)!==0;xa(a,t,o?r:!1),a=i}}}function En(e){Ca(e,!0)}function Ca(e,t){if((e.f&Fe)!==0){e.f^=Fe,(e.f&pe)===0&&(de(e,ye),Ut.ensure().schedule(e));for(var r=e.first;r!==null;){var n=r.next,a=(r.f&or)!==0||(r.f&nt)!==0;Ca(r,a?t:!1),r=n}var i=e.nodes&&e.nodes.t;if(i!==null)for(const o of i)(o.is_global||t)&&o.in()}}function Sn(e,t){if(e.nodes)for(var r=e.nodes.start,n=e.nodes.end;r!==null;){var a=r===n?null:xr(r);t.append(r),r=a}}let Nr=!1,Pt=!1;function In(e){Pt=e}let Q=null,tt=!1;function Ge(e){Q=e}let ee=null;function ct(e){ee=e}let Je=null;function ja(e){Q!==null&&(Je===null?Je=[e]:Je.push(e))}let Ae=null,Me=0,He=null;function ni(e){He=e}let Pa=1,It=0,Bt=It;function Mn(e){Bt=e}function Aa(){return++Pa}function Cr(e){var t=e.f;if((t&ye)!==0)return!0;if(t&me&&(e.f&=~Kt),(t&at)!==0){for(var r=e.deps,n=r.length,a=0;a<n;a++){var i=r[a];if(Cr(i)&&ca(i),i.wv>e.wv)return!0}(t&Ve)!==0&&be===null&&de(e,pe)}return!1}function Da(e,t,r=!0){var n=e.reactions;if(n!==null&&!(Je!==null&&ir.call(Je,e)))for(var a=0;a<n.length;a++){var i=n[a];(i.f&me)!==0?Da(i,t,!1):t===i&&(r?de(i,ye):(i.f&pe)!==0&&de(i,at),gn(i))}}function Oa(e){var A;var t=Ae,r=Me,n=He,a=Q,i=Je,o=qe,v=tt,l=Bt,c=e.f;Ae=null,Me=0,He=null,Q=(c&(nt|Ht))===0?e:null,Je=null,vr(e.ctx),tt=!1,Bt=++It,e.ac!==null&&(Br(()=>{e.ac.abort(ft)}),e.ac=null);try{e.f|=Xr;var f=e.fn,w=f();e.f|=Jt;var g=e.deps,P=U==null?void 0:U.is_fork;if(Ae!==null){var p;if(P||yr(e,Me),g!==null&&Me>0)for(g.length=Me+Ae.length,p=0;p<Ae.length;p++)g[Me+p]=Ae[p];else e.deps=g=Ae;if(wn()&&(e.f&Ve)!==0)for(p=Me;p<g.length;p++)((A=g[p]).reactions??(A.reactions=[])).push(e)}else!P&&g!==null&&Me<g.length&&(yr(e,Me),g.length=Me);if(ea()&&He!==null&&!tt&&g!==null&&(e.f&(me|at|ye))===0)for(p=0;p<He.length;p++)Da(He[p],e);if(a!==null&&a!==e){if(It++,a.deps!==null)for(let u=0;u<r;u+=1)a.deps[u].rv=It;if(t!==null)for(const u of t)u.rv=It;He!==null&&(n===null?n=He:n.push(...He))}return(e.f&St)!==0&&(e.f^=St),w}catch(u){return ra(u)}finally{e.f^=Xr,Ae=t,Me=r,He=n,Q=a,Je=i,vr(o),tt=v,Bt=l}}function ai(e,t){let r=t.reactions;if(r!==null){var n=Ka.call(r,e);if(n!==-1){var a=r.length-1;a===0?r=t.reactions=null:(r[n]=r[a],r.pop())}}if(r===null&&(t.f&me)!==0&&(Ae===null||!ir.call(Ae,t))){var i=t;(i.f&Ve)!==0&&(i.f^=Ve,i.f&=~Kt),hn(i),Vs(i),yr(i,0)}}function yr(e,t){var r=e.deps;if(r!==null)for(var n=t;n<r.length;n++)ai(e,r[n])}function cr(e){var t=e.f;if((t&Ye)===0){de(e,pe);var r=ee,n=Nr;ee=e,Nr=!0;try{(t&(At|Wn))!==0?ri(e):Tn(e),Ta(e);var a=Oa(e);e.teardown=typeof a=="function"?a:null,e.wv=Pa;var i;Ha&&xs&&(e.f&ye)!==0&&e.deps}finally{Nr=n,ee=r}}}async function si(){await Promise.resolve(),Ds()}function s(e){var t=e.f,r=(t&me)!==0;if(Q!==null&&!tt){var n=ee!==null&&(ee.f&Ye)!==0;if(!n&&(Je===null||!ir.call(Je,e))){var a=Q.deps;if((Q.f&Xr)!==0)e.rv<It&&(e.rv=It,Ae===null&&a!==null&&a[Me]===e?Me++:Ae===null?Ae=[e]:Ae.push(e));else{(Q.deps??(Q.deps=[])).push(e);var i=e.reactions;i===null?e.reactions=[Q]:ir.call(i,Q)||i.push(Q)}}}if(Pt&&xt.has(e))return xt.get(e);if(r){var o=e;if(Pt){var v=o.v;return((o.f&pe)===0&&o.reactions!==null||Ia(o))&&(v=pn(o)),xt.set(o,v),v}var l=(o.f&Ve)===0&&!tt&&Q!==null&&(Nr||(Q.f&Ve)!==0),c=(o.f&Jt)===0;Cr(o)&&(l&&(o.f|=Ve),ca(o)),l&&!c&&(fa(o),Na(o))}if(be!=null&&be.has(e))return be.get(e);if((e.f&St)!==0)throw e.v;return e.v}function Na(e){if(e.f|=Ve,e.deps!==null)for(const t of e.deps)(t.reactions??(t.reactions=[])).push(e),(t.f&me)!==0&&(t.f&Ve)===0&&(fa(t),Na(t))}function Ia(e){if(e.v===we)return!0;if(e.deps===null)return!1;for(const t of e.deps)if(xt.has(t)||(t.f&me)!==0&&Ia(t))return!0;return!1}function Hr(e){var t=tt;try{return tt=!0,e()}finally{tt=t}}const ii=["touchstart","touchmove"];function li(e){return ii.includes(e)}const Mt=Symbol("events"),Ma=new Set,on=new Set;function oi(e,t,r,n={}){function a(i){if(n.capture||vn.call(t,i),!i.cancelBubble)return Br(()=>r==null?void 0:r.call(this,i))}return e.startsWith("pointer")||e.startsWith("touch")||e==="wheel"?ht(()=>{t.addEventListener(e,a,n)}):t.addEventListener(e,a,n),a}function Oe(e,t,r,n,a){var i={capture:n,passive:a},o=oi(e,t,r,i);(t===document.body||t===window||t===document||t instanceof HTMLMediaElement)&&bn(()=>{t.removeEventListener(e,o,i)})}function re(e,t,r){(t[Mt]??(t[Mt]={}))[e]=r}function Be(e){for(var t=0;t<e.length;t++)Ma.add(e[t]);for(var r of on)r(e)}let Rn=null;function vn(e){var u,m;var t=this,r=t.ownerDocument,n=e.type,a=((u=e.composedPath)==null?void 0:u.call(e))||[],i=a[0]||e.target;Rn=e;var o=0,v=Rn===e&&e[Mt];if(v){var l=a.indexOf(v);if(l!==-1&&(t===document||t===window)){e[Mt]=t;return}var c=a.indexOf(t);if(c===-1)return;l<=c&&(o=l)}if(i=a[o]||e.target,i!==t){Ua(e,"currentTarget",{configurable:!0,get(){return i||r}});var f=Q,w=ee;Ge(null),ct(null);try{for(var g,P=[];i!==null;){var p=i.assignedSlot||i.parentNode||i.host||null;try{var A=(m=i[Mt])==null?void 0:m[n];A!=null&&(!i.disabled||e.target===i)&&A.call(i,e)}catch(S){g?P.push(S):g=S}if(e.cancelBubble||p===t||p===null)break;i=p}if(g){for(let S of P)queueMicrotask(()=>{throw S});throw g}}finally{e[Mt]=t,delete e.currentTarget,Ge(f),ct(w)}}}var Vn;const Jr=((Vn=globalThis==null?void 0:globalThis.window)==null?void 0:Vn.trustedTypes)&&globalThis.window.trustedTypes.createPolicy("svelte-trusted-html",{createHTML:e=>e});function vi(e){return(Jr==null?void 0:Jr.createHTML(e))??e}function ui(e){var t=wa("template");return t.innerHTML=vi(e.replaceAll("<!>","<!---->")),t.content}function kr(e,t){var r=ee;r.nodes===null&&(r.nodes={start:e,end:t,a:null,t:null})}function C(e,t){var r=(t&ws)!==0,n=(t&bs)!==0,a,i=!e.startsWith("<!>");return()=>{a===void 0&&(a=ui(i?e:"<!>"+e),r||(a=Et(a)));var o=n||ha?document.importNode(a,!0):a.cloneNode(!0);if(r){var v=Et(o),l=o.lastChild;kr(v,l)}else kr(o,o);return o}}function Ln(e=""){{var t=Ct(e+"");return kr(t,t),t}}function x(e,t){e!==null&&e.before(t)}function M(e,t){var r=t==null?"":typeof t=="object"?`${t}`:t;r!==(e.__t??(e.__t=e.nodeValue))&&(e.__t=r,e.nodeValue=`${r}`)}function ci(e,t){return fi(e,t)}const Pr=new Map;function fi(e,{target:t,anchor:r,props:n={},events:a,context:i,intro:o=!0,transformError:v}){Ws();var l=void 0,c=ei(()=>{var f=r??t.appendChild(Ct());Ms(f,{pending:()=>{}},P=>{Ne({});var p=qe;i&&(p.c=i),a&&(n.$$events=a),l=e(P,n)||{},Ie()},v);var w=new Set,g=P=>{for(var p=0;p<P.length;p++){var A=P[p];if(!w.has(A)){w.add(A);var u=li(A);for(const T of[t,document]){var m=Pr.get(T);m===void 0&&(m=new Map,Pr.set(T,m));var S=m.get(A);S===void 0?(T.addEventListener(A,vn,{passive:u}),m.set(A,1)):m.set(A,S+1)}}}};return g(zr(Ma)),on.add(g),()=>{var u;for(var P of w)for(const m of[t,document]){var p=Pr.get(m),A=p.get(P);--A==0?(m.removeEventListener(P,vn),p.delete(P),p.size===0&&Pr.delete(m)):p.set(P,A)}on.delete(g),f!==r&&((u=f.parentNode)==null||u.removeChild(f))}});return di.set(l,c),l}let di=new WeakMap;var $e,vt,Le,zt,Er,Sr,Lr;class _i{constructor(t,r=!0){We(this,"anchor");$(this,$e,new Map);$(this,vt,new Map);$(this,Le,new Map);$(this,zt,new Set);$(this,Er,!0);$(this,Sr,t=>{if(_(this,$e).has(t)){var r=_(this,$e).get(t),n=_(this,vt).get(r);if(n)En(n),_(this,zt).delete(r);else{var a=_(this,Le).get(r);a&&(_(this,vt).set(r,a.effect),_(this,Le).delete(r),a.fragment.lastChild.remove(),this.anchor.before(a.fragment),n=a.effect)}for(const[i,o]of _(this,$e)){if(_(this,$e).delete(i),i===t)break;const v=_(this,Le).get(o);v&&(De(v.effect),_(this,Le).delete(o))}for(const[i,o]of _(this,vt)){if(i===r||_(this,zt).has(i))continue;const v=()=>{if(Array.from(_(this,$e).values()).includes(i)){var c=document.createDocumentFragment();Sn(o,c),c.append(Ct()),_(this,Le).set(i,{effect:o,fragment:c})}else De(o);_(this,zt).delete(i),_(this,vt).delete(i)};_(this,Er)||!n?(_(this,zt).add(i),qt(o,v,!1)):v()}}});$(this,Lr,t=>{_(this,$e).delete(t);const r=Array.from(_(this,$e).values());for(const[n,a]of _(this,Le))r.includes(n)||(De(a.effect),_(this,Le).delete(n))});this.anchor=t,J(this,Er,r)}ensure(t,r){var n=U,a=ma();if(r&&!_(this,vt).has(t)&&!_(this,Le).has(t))if(a){var i=document.createDocumentFragment(),o=Ct();i.append(o),_(this,Le).set(t,{effect:Ue(()=>r(o)),fragment:i})}else _(this,vt).set(t,Ue(()=>r(this.anchor)));if(_(this,$e).set(n,t),a){for(const[v,l]of _(this,vt))v===t?n.unskip_effect(l):n.skip_effect(l);for(const[v,l]of _(this,Le))v===t?n.unskip_effect(l.effect):n.skip_effect(l.effect);n.oncommit(_(this,Sr)),n.ondiscard(_(this,Lr))}else _(this,Sr).call(this,n)}}$e=new WeakMap,vt=new WeakMap,Le=new WeakMap,zt=new WeakMap,Er=new WeakMap,Sr=new WeakMap,Lr=new WeakMap;function B(e,t,r=!1){var n=new _i(e),a=r?or:0;function i(o,v){n.ensure(o,v)}kn(()=>{var o=!1;t((v,l=0)=>{o=!0,i(l,v)}),o||i(-1,null)},a)}function gt(e,t){return t}function hi(e,t,r){for(var n=[],a=t.length,i,o=t.length,v=0;v<a;v++){let w=t[v];qt(w,()=>{if(i){if(i.pending.delete(w),i.done.add(w),i.pending.size===0){var g=e.outrogroups;un(e,zr(i.done)),g.delete(i),g.size===0&&(e.outrogroups=null)}}else o-=1},!1)}if(o===0){var l=n.length===0&&r!==null;if(l){var c=r,f=c.parentNode;Qs(f),f.append(c),e.items.clear()}un(e,t,!l)}else i={pending:new Set(t),done:new Set},(e.outrogroups??(e.outrogroups=new Set)).add(i)}function un(e,t,r=!0){var n;if(e.pending.size>0){n=new Set;for(const o of e.pending.values())for(const v of o)n.add(e.items.get(v).e)}for(var a=0;a<t.length;a++){var i=t[a];if(n!=null&&n.has(i)){i.f|=ut;const o=document.createDocumentFragment();Sn(i,o)}else De(t[a],r)}}var zn;function xe(e,t,r,n,a,i=null){var o=e,v=new Map,l=(t&Qn)!==0;if(l){var c=e;o=c.appendChild(Ct())}var f=null,w=ua(()=>{var T=r();return dn(T)?T:T==null?[]:zr(T)}),g,P=new Map,p=!0;function A(T){(S.effect.f&Ye)===0&&(S.pending.delete(T),S.fallback=f,gi(S,g,o,t,n),f!==null&&(g.length===0?(f.f&ut)===0?En(f):(f.f^=ut,gr(f,null,o)):qt(f,()=>{f=null})))}function u(T){S.pending.delete(T)}var m=kn(()=>{g=s(w);for(var T=g.length,N=new Set,O=U,L=ma(),j=0;j<T;j+=1){var I=g[j],q=n(I,j),K=p?null:v.get(q);K?(K.v&&ur(K.v,I),K.i&&ur(K.i,j),L&&O.unskip_effect(K.e)):(K=pi(v,p?o:zn??(zn=Ct()),I,q,j,a,t,r),p||(K.e.f|=ut),v.set(q,K)),N.add(q)}if(T===0&&i&&!f&&(p?f=Ue(()=>i(o)):(f=Ue(()=>i(zn??(zn=Ct()))),f.f|=ut)),T>N.size&&ts(),!p)if(P.set(O,N),L){for(const[ie,F]of v)N.has(ie)||O.skip_effect(F.e);O.oncommit(A),O.ondiscard(u)}else A(O);s(w)}),S={effect:m,items:v,pending:P,outrogroups:null,fallback:f};p=!1}function hr(e){for(;e!==null&&(e.f&nt)===0;)e=e.next;return e}function gi(e,t,r,n,a){var K,ie,F,G,H,Z,te,W,ae;var i=(n&ds)!==0,o=t.length,v=e.items,l=hr(e.effect.first),c,f=null,w,g=[],P=[],p,A,u,m;if(i)for(m=0;m<o;m+=1)p=t[m],A=a(p,m),u=v.get(A).e,(u.f&ut)===0&&((ie=(K=u.nodes)==null?void 0:K.a)==null||ie.measure(),(w??(w=new Set)).add(u));for(m=0;m<o;m+=1){if(p=t[m],A=a(p,m),u=v.get(A).e,e.outrogroups!==null)for(const V of e.outrogroups)V.pending.delete(u),V.done.delete(u);if((u.f&ut)!==0)if(u.f^=ut,u===l)gr(u,null,r);else{var S=f?f.next:l;u===e.effect.last&&(e.effect.last=u.prev),u.prev&&(u.prev.next=u.next),u.next&&(u.next.prev=u.prev),wt(e,f,u),wt(e,u,S),gr(u,S,r),f=u,g=[],P=[],l=hr(f.next);continue}if((u.f&Fe)!==0&&(En(u),i&&((G=(F=u.nodes)==null?void 0:F.a)==null||G.unfix(),(w??(w=new Set)).delete(u))),u!==l){if(c!==void 0&&c.has(u)){if(g.length<P.length){var T=P[0],N;f=T.prev;var O=g[0],L=g[g.length-1];for(N=0;N<g.length;N+=1)gr(g[N],T,r);for(N=0;N<P.length;N+=1)c.delete(P[N]);wt(e,O.prev,L.next),wt(e,f,O),wt(e,L,T),l=T,f=L,m-=1,g=[],P=[]}else c.delete(u),gr(u,l,r),wt(e,u.prev,u.next),wt(e,u,f===null?e.effect.first:f.next),wt(e,f,u),f=u;continue}for(g=[],P=[];l!==null&&l!==u;)(c??(c=new Set)).add(l),P.push(l),l=hr(l.next);if(l===null)continue}(u.f&ut)===0&&g.push(u),f=u,l=hr(u.next)}if(e.outrogroups!==null){for(const V of e.outrogroups)V.pending.size===0&&(un(e,zr(V.done)),(H=e.outrogroups)==null||H.delete(V));e.outrogroups.size===0&&(e.outrogroups=null)}if(l!==null||c!==void 0){var j=[];if(c!==void 0)for(u of c)(u.f&Fe)===0&&j.push(u);for(;l!==null;)(l.f&Fe)===0&&l!==e.fallback&&j.push(l),l=hr(l.next);var I=j.length;if(I>0){var q=(n&Qn)!==0&&o===0?r:null;if(i){for(m=0;m<I;m+=1)(te=(Z=j[m].nodes)==null?void 0:Z.a)==null||te.measure();for(m=0;m<I;m+=1)(ae=(W=j[m].nodes)==null?void 0:W.a)==null||ae.fix()}hi(e,j,q)}}i&&ht(()=>{var V,se;if(w!==void 0)for(u of w)(se=(V=u.nodes)==null?void 0:V.a)==null||se.apply()})}function pi(e,t,r,n,a,i,o,v){var l=(o&cs)!==0?(o&_s)===0?Ys(r,!1,!1):Vt(r):null,c=(o&fs)!==0?Vt(a):null;return{v:l,i:c,e:Ue(()=>(i(t,l??r,c??a,v),()=>{e.delete(n)}))}}function gr(e,t,r){if(e.nodes)for(var n=e.nodes.start,a=e.nodes.end,i=t&&(t.f&ut)===0?t.nodes.start:r;n!==null;){var o=xr(n);if(i.before(n),n===a)return;n=o}}function wt(e,t,r){t===null?e.effect.first=r:t.next=r,r===null?e.effect.last=t:r.prev=t}function mi(e,t,r=!1,n=!1,a=!1,i=!1){var o=e,v="";if(r)var l=e;z(()=>{var c=ee;if(v!==(v=t()??"")){if(r){c.nodes=null,l.innerHTML=v,v!==""&&kr(Et(l),l.lastChild);return}if(c.nodes!==null&&(Ea(c.nodes.start,c.nodes.end),c.nodes=null),v!==""){var f=n?ys:a?ks:void 0,w=wa(n?"svg":a?"math":"template",f);w.innerHTML=v;var g=n||a?w:w.content;if(kr(Et(g),g.lastChild),n||a)for(;Et(g);)o.before(Et(g));else o.before(g)}}})}const Fn=[...`
2
- \r\f \v\uFEFF`];function wi(e,t,r){var n=e==null?"":""+e;if(t&&(n=n?n+" "+t:t),r){for(var a of Object.keys(r))if(r[a])n=n?n+" "+a:a;else if(n.length)for(var i=a.length,o=0;(o=n.indexOf(a,o))>=0;){var v=o+i;(o===0||Fn.includes(n[o-1]))&&(v===n.length||Fn.includes(n[v]))?n=(o===0?"":n.substring(0,o))+n.substring(v+1):o=v}}return n===""?null:n}function bi(e,t){return e==null?null:String(e)}function fe(e,t,r,n,a,i){var o=e.__className;if(o!==r||o===void 0){var v=wi(r,n,i);v==null?e.removeAttribute("class"):e.className=v,e.__className=r}else if(i&&a!==i)for(var l in i){var c=!!i[l];(a==null||c!==!!a[l])&&e.classList.toggle(l,c)}return i}function xn(e,t,r,n){var a=e.__style;if(a!==t){var i=bi(t);i==null?e.removeAttribute("style"):e.style.cssText=i,e.__style=t}return n}function Ra(e,t,r=!1){if(e.multiple){if(t==null)return;if(!dn(t))return Ts();for(var n of e.options)n.selected=t.includes(wr(n));return}for(n of e.options){var a=wr(n);if(Gs(a,t)){n.selected=!0;return}}(!r||t!==void 0)&&(e.selectedIndex=-1)}function yi(e){var t=new MutationObserver(()=>{Ra(e,e.__value)});t.observe(e,{childList:!0,subtree:!0,attributes:!0,attributeFilter:["value"]}),bn(()=>{t.disconnect()})}function qn(e,t,r=t){var n=new WeakSet,a=!0;ba(e,"change",i=>{var o=i?"[selected]":":checked",v;if(e.multiple)v=[].map.call(e.querySelectorAll(o),wr);else{var l=e.querySelector(o)??e.querySelector("option:not([disabled])");v=l&&wr(l)}r(v),U!==null&&n.add(U)}),ka(()=>{var i=t();if(e===document.activeElement){var o=U;if(n.has(o))return}if(Ra(e,i,a),a&&i===void 0){var v=e.querySelector(":checked");v!==null&&(i=wr(v),r(i))}e.__value=i,a=!1}),yi(e)}function wr(e){return"__value"in e?e.__value:e.value}const ki=Symbol("is custom element"),Ti=Symbol("is html"),Ei=$a?"progress":"PROGRESS";function Si(e,t){var r=La(e);r.value===(r.value=t??void 0)||e.value===t&&(t!==0||e.nodeName!==Ei)||(e.value=t??"")}function Bn(e,t,r,n){var a=La(e);a[t]!==(a[t]=r)&&(r==null?e.removeAttribute(t):typeof r!="string"&&xi(e).includes(t)?e[t]=r:e.setAttribute(t,r))}function La(e){return e.__attributes??(e.__attributes={[ki]:e.nodeName.includes("-"),[Ti]:e.namespaceURI===Zn})}var Hn=new Map;function xi(e){var t=e.getAttribute("is")||e.nodeName,r=Hn.get(t);if(r)return r;Hn.set(t,r=[]);for(var n,a=e,i=Element.prototype;i!==a;){n=Va(a);for(var o in n)n[o].set&&r.push(o);a=Jn(a)}return r}function br(e,t,r=t){var n=new WeakSet;ba(e,"input",async a=>{var i=a?e.defaultValue:e.value;if(i=Gr(e)?Wr(i):i,r(i),U!==null&&n.add(U),await si(),i!==(i=t())){var o=e.selectionStart,v=e.selectionEnd,l=e.value.length;if(e.value=i??"",v!==null){var c=e.value.length;o===v&&v===l&&c>l?(e.selectionStart=c,e.selectionEnd=c):(e.selectionStart=o,e.selectionEnd=Math.min(v,c))}}}),Hr(t)==null&&e.value&&(r(Gr(e)?Wr(e.value):e.value),U!==null&&n.add(U)),yn(()=>{var a=t();if(e===document.activeElement){var i=U;if(n.has(i))return}Gr(e)&&a===Wr(e.value)||e.type==="date"&&!a&&!e.value||a!==e.value&&(e.value=a??"")})}function Gr(e){var t=e.type;return t==="number"||t==="range"}function Wr(e){return e===""?null:+e}function Kn(e,t){return e===t||(e==null?void 0:e[Ft])===t}function cn(e={},t,r,n){var a=qe.r,i=ee;return ka(()=>{var o,v;return yn(()=>{o=v,v=[],Hr(()=>{e!==r(...v)&&(t(e,...v),o&&Kn(r(...o),e)&&t(null,...o))})}),()=>{let l=i;for(;l!==a&&l.parent!==null&&l.parent.f&Zr;)l=l.parent;const c=()=>{v&&Kn(r(...v),e)&&t(null,...v)},f=l.teardown;l.teardown=()=>{c(),f==null||f()}}}),e}function Yt(e,t,r,n){var S;var a=(r&ps)!==0,i=(r&ms)!==0,o=n,v=!0,l=()=>(v&&(v=!1,o=i?Hr(n):n),o);let c;if(a){var f=Ft in e||Xa in e;c=((S=Qt(e,t))==null?void 0:S.set)??(f&&t in e?T=>e[t]=T:void 0)}var w,g=!1;a?[w,g]=Ps(()=>e[t]):w=e[t],w===void 0&&n!==void 0&&(w=l(),c&&(is(),c(w)));var P;if(P=()=>{var T=e[t];return T===void 0?l():(v=!0,T)},(r&gs)===0)return P;if(c){var p=e.$$legacy;return(function(T,N){return arguments.length>0?((!N||p||g)&&c(N?P():T),T):P()})}var A=!1,u=((r&hs)!==0?qr:ua)(()=>(A=!1,P()));a&&s(u);var m=ee;return(function(T,N){if(arguments.length>0){const O=N?s(u):a?Se(T):T;return h(u,O),A=!0,o!==void 0&&(o=O),T}return Pt&&A||(m.f&Ye)!==0?u.v:s(u)})}const Ci="5";var Yn;typeof window<"u"&&((Yn=window.__svelte??(window.__svelte={})).v??(Yn.v=new Set)).add(Ci);async function Qe(e,t){const r=await fetch(`/api${e}`,{headers:{"Content-Type":"application/json"},...t});if(!r.ok){const n=await r.json().catch(()=>({error:r.statusText}));throw new Error(n.error||"Request failed")}return r.json()}const ze={getProjects:()=>Qe("/projects"),getProject:e=>Qe(`/projects/${e}`),updateProject:(e,t)=>Qe(`/projects/${e}`,{method:"PATCH",body:JSON.stringify(t)}),getTasks:e=>Qe(`/projects/${e}/tasks?include_done=true`),createTask:(e,t)=>Qe(`/projects/${e}/tasks`,{method:"POST",body:JSON.stringify(t)}),updateTask:(e,t)=>Qe(`/tasks/${e}`,{method:"PATCH",body:JSON.stringify(t)}),deleteTask:e=>Qe(`/tasks/${e}`,{method:"DELETE"}),getNotes:e=>Qe(`/projects/${e}/notes`),getDecisions:e=>Qe(`/projects/${e}/decisions`),getTaskHistory:e=>Qe(`/tasks/${e}/history`),getMetrics:(e,t)=>Qe(`/projects/${e}/metrics${t?`?days=${t}`:""}`)};var ji=C('<input class="rename-input svelte-1kanzy0" type="text"/>'),Pi=C('<span class="project-slug svelte-1kanzy0"> </span>'),Ai=C('<span class="project-name svelte-1kanzy0"> </span> <!> <button class="rename-btn svelte-1kanzy0" title="Rename project">✎</button>',1),Di=C('<div class="project-area svelte-1kanzy0"><!></div>'),Oi=C('<header class="toolbar svelte-1kanzy0"><!></header>');function Ni(e,t){Ne(t,!0);let r=R(!1),n=R("");const a=le(()=>t.projects.find(w=>w.id===t.selectedId));function i(){s(a)&&(h(n,s(a).name,!0),h(r,!0))}function o(){if(!s(a)||!s(r))return;const w=s(n).trim();w&&w!==s(a).name&&t.onRenamed(s(a).id,w),h(r,!1)}function v(w){w.key==="Enter"&&o(),w.key==="Escape"&&h(r,!1)}var l=Oi(),c=d(l);{var f=w=>{var g=Di(),P=d(g);{var p=u=>{var m=ji();mn(m),Oe("blur",m,o),re("keydown",m,v),br(m,()=>s(n),S=>h(n,S)),x(u,m)},A=u=>{var m=Ai(),S=et(m),T=d(S),N=y(S,2);{var O=j=>{var I=Pi(),q=d(I);z(()=>M(q,`[${s(a).slug??""}]`)),x(j,I)};B(N,j=>{s(a).slug&&j(O)})}var L=y(N,2);z(()=>M(T,s(a).name)),re("click",L,i),x(u,m)};B(P,u=>{s(r)?u(p):u(A,-1)})}x(w,g)};B(c,w=>{s(a)&&w(f)})}x(e,l),Ie()}Be(["keydown","click"]);var Ii=C('<span class="brand svelte-rig7vt"><span class="prompt svelte-rig7vt">&gt;</span> mindpm</span>'),Mi=C('<span class="task-count svelte-rig7vt"> </span>'),Ri=C('<span class="project-name svelte-rig7vt"> </span> <!>',1),Li=C('<span class="task-count svelte-rig7vt"> </span>'),zi=C('<span class="project-slug-collapsed svelte-rig7vt"> </span> <!>',1),Fi=C('<button><span class="status-dot svelte-rig7vt"></span> <!></button>'),qi=C('<div class="sidebar-footer svelte-rig7vt"><span class="footer-hint svelte-rig7vt"> </span></div>'),Bi=C('<aside><div class="sidebar-header svelte-rig7vt"><!> <button class="collapse-btn svelte-rig7vt"> </button></div> <nav class="project-list svelte-rig7vt"></nav> <!></aside>');function Hi(e,t){Ne(t,!0);const r="mindpm_sidebar_collapsed";let n=R(localStorage.getItem(r)==="true");function a(){h(n,!s(n)),localStorage.setItem(r,String(s(n)))}const i={active:"var(--primary)",paused:"#d29922",completed:"var(--text-muted)",archived:"var(--border-bright)"};var o=Bi();let v;var l=d(o),c=d(l);{var f=u=>{var m=Ii();x(u,m)};B(c,u=>{s(n)||u(f)})}var w=y(c,2),g=d(w),P=y(l,2);xe(P,21,()=>t.projects,u=>u.id,(u,m)=>{var S=Fi();let T;var N=d(S),O=y(N,2);{var L=I=>{var q=Ri(),K=et(q),ie=d(K),F=y(K,2);{var G=H=>{var Z=Mi(),te=d(Z);z(()=>M(te,s(m).active_task_count)),x(H,Z)};B(F,H=>{(s(m).active_task_count??0)>0&&H(G)})}z(()=>M(ie,s(m).name)),x(I,q)},j=I=>{var q=zi(),K=et(q),ie=d(K),F=y(K,2);{var G=H=>{var Z=Li(),te=d(Z);z(()=>M(te,s(m).active_task_count)),x(H,Z)};B(F,H=>{(s(m).active_task_count??0)>0&&H(G)})}z(()=>M(ie,s(m).slug??s(m).id)),x(I,q)};B(O,I=>{s(n)?I(j,-1):I(L)})}z(()=>{T=fe(S,1,"project-item svelte-rig7vt",null,T,{active:s(m).id===t.selectedId}),Bn(S,"title",s(n)?s(m).name:void 0),xn(N,`background: ${i[s(m).status]??"var(--text-muted)"??""}`)}),re("click",S,()=>t.onSelect(s(m).id)),x(u,S)});var p=y(P,2);{var A=u=>{var m=qi(),S=d(m),T=d(S);z(()=>M(T,`// ${t.projects.length??""} project${t.projects.length!==1?"s":""}`)),x(u,m)};B(p,u=>{s(n)||u(A)})}z(()=>{v=fe(o,1,"sidebar svelte-rig7vt",null,v,{collapsed:s(n)}),Bn(w,"title",s(n)?"Expand sidebar":"Collapse sidebar"),M(g,s(n)?"»":"«")}),re("click",w,a),x(e,o),Ie()}Be(["click"]);const Ki=[{status:"todo",label:"Todo"},{status:"in_progress",label:"In Progress"},{status:"blocked",label:"Blocked"},{status:"in_review",label:"In Review"},{status:"done",label:"Done"},{status:"cancelled",label:"Cancelled"}],za=["critical","high","medium","low"];var Ui=C('<span class="task-id svelte-35ep21"> </span>'),Vi=C('<div class="card-desc svelte-35ep21"> </div>'),Yi=C('<span class="tag svelte-35ep21"> </span>'),Ji=C('<div class="card-tags svelte-35ep21"></div>'),Gi=C('<span class="badge badge-blocked svelte-35ep21"> </span>'),Wi=C('<span class="badge badge-subtasks svelte-35ep21"> </span>'),Qi=C('<div class="card-footer svelte-35ep21"><!> <!></div>'),Zi=C('<div draggable="true" role="button" tabindex="0"><div class="card-header svelte-35ep21"><span> </span> <div class="card-header-right svelte-35ep21"><!> <button class="delete-btn svelte-35ep21" title="Delete task">&times;</button></div></div> <div class="card-title svelte-35ep21"> </div> <!> <!> <!></div>');function Xi(e,t){Ne(t,!0);let r=Yt(t,"subtaskCount",3,0),n=R(!1);function a(F){if(!F)return[];try{return JSON.parse(F)}catch{return[]}}const i=le(()=>a(t.task.tags)),o=le(()=>`priority-${t.task.priority}`),v=le(()=>()=>{if(!t.task.blocked_by)return 0;try{const F=JSON.parse(t.task.blocked_by);return Array.isArray(F)?F.length:0}catch{return 0}});function l(F){h(n,!0),t.onDragStart(F,t.task)}function c(){h(n,!1)}var f=Zi();let w;var g=d(f),P=d(g),p=d(P),A=y(P,2),u=d(A);{var m=F=>{var G=Ui(),H=d(G);z(()=>M(H,t.task.short_id)),x(F,G)};B(u,F=>{t.task.short_id&&F(m)})}var S=y(u,2),T=y(g,2),N=d(T),O=y(T,2);{var L=F=>{var G=Vi(),H=d(G);z(()=>M(H,t.task.description)),x(F,G)};B(O,F=>{t.task.description&&F(L)})}var j=y(O,2);{var I=F=>{var G=Ji();xe(G,21,()=>s(i),gt,(H,Z)=>{var te=Yi(),W=d(te);z(()=>M(W,s(Z))),x(H,te)}),x(F,G)};B(j,F=>{s(i).length>0&&F(I)})}var q=y(j,2);{var K=F=>{var G=Qi(),H=d(G);{var Z=V=>{var se=Gi(),X=d(se);z(ne=>M(X,`⊘ blocked by ${ne??""}`),[()=>s(v)()]),x(V,se)},te=le(()=>s(v)()>0);B(H,V=>{s(te)&&V(Z)})}var W=y(H,2);{var ae=V=>{var se=Wi(),X=d(se);z(()=>M(X,`⑂ ${r()??""}`)),x(V,se)};B(W,V=>{r()>0&&V(ae)})}x(F,G)},ie=le(()=>s(v)()>0||r()>0);B(q,F=>{s(ie)&&F(K)})}z(()=>{w=fe(f,1,`card ${s(o)??""}`,"svelte-35ep21",w,{dragging:s(n)}),fe(P,1,`priority-badge ${s(o)??""}`,"svelte-35ep21"),M(p,t.task.priority),M(N,t.task.title)}),Oe("dragstart",f,l),Oe("dragend",f,c),re("click",f,()=>t.onEdit(t.task)),re("keydown",f,F=>{F.key==="Enter"&&t.onEdit(t.task)}),re("click",S,F=>{F.stopPropagation(),t.onDelete(t.task)}),x(e,f),Ie()}Be(["click","keydown"]);var $i=C('<div class="column-collapsed svelte-zswfgn"><button class="expand-btn svelte-zswfgn" title="Expand column">»</button> <div class="collapsed-label svelte-zswfgn"><span> </span> <span class="collapsed-text svelte-zswfgn"> </span></div></div>'),el=C('<button class="add-btn svelte-zswfgn" title="Add task">+</button>'),tl=C('<div class="wip-banner svelte-zswfgn"> </div>'),rl=C('<div class="column-header svelte-zswfgn"><h3 class="svelte-zswfgn"><span class="chevron svelte-zswfgn">▸</span> <span> </span></h3> <div class="header-actions svelte-zswfgn"><!> <button class="collapse-btn svelte-zswfgn" title="Collapse column">«</button></div></div> <!> <div class="card-list svelte-zswfgn"></div>',1),nl=C('<div role="list"><!></div>');function al(e,t){Ne(t,!0);const r=5,n="mindpm_collapsed_cols";let a=R(!1);function i(){try{const S=localStorage.getItem(n);return(S?JSON.parse(S):[]).includes(t.status)}catch{return!1}}function o(S){try{const T=localStorage.getItem(n),N=T?JSON.parse(T):[],O=S?[...new Set([...N,t.status])]:N.filter(L=>L!==t.status);localStorage.setItem(n,JSON.stringify(O))}catch{}}let v=R(Se(i()));function l(){h(v,!s(v)),o(s(v))}const c=le(()=>t.status==="in_progress"&&t.tasks.length>r);function f(S){S.preventDefault(),S.dataTransfer&&(S.dataTransfer.dropEffect="move"),h(a,!0)}function w(){h(a,!1)}function g(S){S.preventDefault(),h(a,!1),t.onDrop(t.status)}var P=nl();let p;var A=d(P);{var u=S=>{var T=$i(),N=d(T),O=y(N,2),L=d(O);let j;var I=d(L),q=y(L,2),K=d(q);z(()=>{j=fe(L,1,"collapsed-count svelte-zswfgn",null,j,{wip:s(c)}),M(I,`[${t.tasks.length??""}]`),M(K,t.label)}),re("click",N,l),x(S,T)},m=S=>{var T=rl(),N=et(T),O=d(N),L=y(d(O)),j=y(L);let I;var q=d(j),K=y(O,2),ie=d(K);{var F=W=>{var ae=el();re("click",ae,()=>t.onAddTask(t.status)),x(W,ae)};B(ie,W=>{t.status==="todo"&&W(F)})}var G=y(ie,2),H=y(N,2);{var Z=W=>{var ae=tl(),V=d(ae);z(()=>M(V,`WIP limit exceeded (${t.tasks.length??""}/5)`)),x(W,ae)};B(H,W=>{s(c)&&W(Z)})}var te=y(H,2);xe(te,21,()=>t.tasks,W=>W.id,(W,ae)=>{{let V=le(()=>t.subtaskCounts.get(s(ae).id)??0);Xi(W,{get task(){return s(ae)},get subtaskCount(){return s(V)},get onEdit(){return t.onEdit},get onDelete(){return t.onDelete},get onDragStart(){return t.onDragStart}})}}),z(()=>{M(L,` ${t.label??""} `),I=fe(j,1,"count svelte-zswfgn",null,I,{wip:s(c)}),M(q,`[${t.tasks.length??""}${s(c)?" ⚠":""}]`)}),re("click",G,l),x(S,T)};B(A,S=>{s(v)?S(u):S(m,-1)})}z(()=>p=fe(P,1,"column svelte-zswfgn",null,p,{"drag-over":s(a),collapsed:s(v),"wip-warning":s(c)})),Oe("dragover",P,f),Oe("dragleave",P,w),Oe("drop",P,g),x(e,P),Ie()}Be(["click"]);var sl=C('<span class="modal-task-id svelte-1gmf2hi"> </span>'),il=C("<option> </option>"),ll=C('<div class="field svelte-1gmf2hi"><label for="status" class="svelte-1gmf2hi">Status</label> <select id="status" class="svelte-1gmf2hi"><option>Todo</option><option>In Progress</option><option>Blocked</option><option>In Review</option><option>Done</option><option>Cancelled</option></select></div>'),ol=C('<span class="blocker-id svelte-1gmf2hi"> </span>'),vl=C("<span> </span>"),ul=C('<div class="blocked-item svelte-1gmf2hi"><!> <span class="blocker-title svelte-1gmf2hi"> </span> <!></div>'),cl=C('<div class="blocked-section svelte-1gmf2hi"><h3 class="section-heading svelte-1gmf2hi">Blocked by</h3> <div class="blocked-list svelte-1gmf2hi"></div></div>'),fl=C('<div class="history-item svelte-1gmf2hi"><span class="history-dot svelte-1gmf2hi"></span> <div class="history-body svelte-1gmf2hi"><span class="history-event svelte-1gmf2hi"></span> <span class="history-time svelte-1gmf2hi"> </span></div></div>'),dl=C('<div class="history-section svelte-1gmf2hi"><h3 class="history-heading svelte-1gmf2hi">History</h3> <div class="history-list svelte-1gmf2hi"></div></div>'),_l=C('<div class="modal-backdrop svelte-1gmf2hi"><div class="modal svelte-1gmf2hi"><div class="modal-header svelte-1gmf2hi"><div class="modal-title svelte-1gmf2hi"><h2 class="svelte-1gmf2hi"> </h2> <!></div> <button class="close-btn svelte-1gmf2hi">&times;</button></div> <form><div class="field svelte-1gmf2hi"><label for="title" class="svelte-1gmf2hi">Title</label> <input id="title" type="text" placeholder="Task title" required="" class="svelte-1gmf2hi"/></div> <div class="field svelte-1gmf2hi"><label for="description" class="svelte-1gmf2hi">Description</label> <textarea id="description" placeholder="Optional description" rows="3" class="svelte-1gmf2hi"></textarea></div> <div class="row svelte-1gmf2hi"><div class="field svelte-1gmf2hi"><label for="priority" class="svelte-1gmf2hi">Priority</label> <select id="priority" class="svelte-1gmf2hi"></select></div> <!></div> <div class="field svelte-1gmf2hi"><label for="tags" class="svelte-1gmf2hi">Tags <span class="hint svelte-1gmf2hi">(comma-separated)</span></label> <input id="tags" type="text" placeholder="e.g. backend, auth, bug" class="svelte-1gmf2hi"/></div> <div class="actions svelte-1gmf2hi"><button type="button" class="btn-cancel svelte-1gmf2hi">Cancel</button> <button type="submit" class="btn-save svelte-1gmf2hi"> </button></div></form> <!> <!></div></div>');function hl(e,t){Ne(t,!0);let r=Yt(t,"allTasks",19,()=>[]),n=Yt(t,"defaultStatus",3,"todo"),a=R(""),i=R(""),o=R("medium"),v=R("todo"),l=R(""),c=R(Se([]));rt(()=>{var b,D,Y,oe,ue;if(h(a,((b=t.task)==null?void 0:b.title)??"",!0),h(i,((D=t.task)==null?void 0:D.description)??"",!0),h(o,((Y=t.task)==null?void 0:Y.priority)??"medium",!0),h(v,((oe=t.task)==null?void 0:oe.status)??n(),!0),(ue=t.task)!=null&&ue.tags)try{h(l,JSON.parse(t.task.tags).join(", "),!0)}catch{h(l,"")}else h(l,"")}),rt(()=>{t.task!==null?ze.getTaskHistory(t.task.id).then(b=>{h(c,b,!0)}).catch(()=>{h(c,[],!0)}):h(c,[],!0)});const f=le(()=>t.task!==null),w=le(()=>()=>{var b;if(!((b=t.task)!=null&&b.blocked_by))return[];try{const D=JSON.parse(t.task.blocked_by);if(!Array.isArray(D)||D.length===0)return[];const Y=new Map(r().map(oe=>[oe.id,oe]));return D.map(oe=>Y.get(oe)??{id:oe,title:oe,short_id:null,status:null})}catch{return[]}});function g(b){switch(b.event){case"created":return"<b>created</b>";case"status_changed":return`status <b>${b.old_value}</b> → <b>${b.new_value}</b>`;case"priority_changed":return`priority <b>${b.old_value}</b> → <b>${b.new_value}</b>`;case"title_changed":return"title renamed";default:return b.event.replace(/_/g," ")}}function P(b){return new Date(b.replace(" ","T")+"Z").toLocaleString(void 0,{month:"short",day:"numeric",hour:"2-digit",minute:"2-digit"})}function p(b){b.preventDefault();const D=s(a).trim();if(!D)return;const Y=s(l).split(",").map(oe=>oe.trim()).filter(Boolean);t.onSave({title:D,description:s(i).trim(),priority:s(o),...s(f)?{status:s(v)}:{},tags:Y})}function A(b){b.target.classList.contains("modal-backdrop")&&t.onClose()}function u(b){b.key==="Escape"&&t.onClose()}var m=_l();Oe("keydown",jt,u);var S=d(m),T=d(S),N=d(T),O=d(N),L=d(O),j=y(O,2);{var I=b=>{var D=sl(),Y=d(D);z(()=>M(Y,t.task.short_id)),x(b,D)};B(j,b=>{var D;(D=t.task)!=null&&D.short_id&&b(I)})}var q=y(N,2),K=y(T,2),ie=d(K),F=y(d(ie),2);mn(F);var G=y(ie,2),H=y(d(G),2),Z=y(G,2),te=d(Z),W=y(d(te),2);xe(W,21,()=>za,gt,(b,D)=>{var Y=il(),oe=d(Y),ue={};z(()=>{M(oe,s(D)),ue!==(ue=s(D))&&(Y.value=(Y.__value=s(D))??"")}),x(b,Y)});var ae=y(te,2);{var V=b=>{var D=ll(),Y=y(d(D),2),oe=d(Y);oe.value=oe.__value="todo";var ue=y(oe);ue.value=ue.__value="in_progress";var je=y(ue);je.value=je.__value="blocked";var st=y(je);st.value=st.__value="in_review";var mt=y(st);mt.value=mt.__value="done";var Dt=y(mt);Dt.value=Dt.__value="cancelled",qn(Y,()=>s(v),dr=>h(v,dr)),x(b,D)};B(ae,b=>{s(f)&&b(V)})}var se=y(Z,2),X=y(d(se),2),ne=y(se,2),ve=d(ne),ge=y(ve,2),ke=d(ge),Te=y(K,2);{var ce=b=>{var D=cl(),Y=y(d(D),2);xe(Y,21,()=>s(w)(),gt,(oe,ue)=>{var je=ul(),st=d(je);{var mt=Ot=>{var Gt=ol(),Ur=d(Gt);z(()=>M(Ur,s(ue).short_id)),x(Ot,Gt)};B(st,Ot=>{s(ue).short_id&&Ot(mt)})}var Dt=y(st,2),dr=d(Dt),Kr=y(Dt,2);{var Fa=Ot=>{var Gt=vl(),Ur=d(Gt);z(()=>{fe(Gt,1,`blocker-status blocker-status-${s(ue).status??""}`,"svelte-1gmf2hi"),M(Ur,s(ue).status)}),x(Ot,Gt)};B(Kr,Ot=>{s(ue).status&&Ot(Fa)})}z(()=>M(dr,s(ue).title)),x(oe,je)}),x(b,D)},Ee=le(()=>s(f)&&s(w)().length>0);B(Te,b=>{s(Ee)&&b(ce)})}var k=y(Te,2);{var E=b=>{var D=dl(),Y=y(d(D),2);xe(Y,21,()=>s(c),oe=>oe.id,(oe,ue)=>{var je=fl(),st=y(d(je),2),mt=d(st);mi(mt,()=>g(s(ue)),!0);var Dt=y(mt,2),dr=d(Dt);z(Kr=>M(dr,Kr),[()=>P(s(ue).created_at)]),x(oe,je)}),x(b,D)};B(k,b=>{s(f)&&s(c).length>0&&b(E)})}z(()=>{M(L,s(f)?"Edit Task":"New Task"),M(ke,s(f)?"Save":"Create")}),re("click",m,A),re("click",q,function(...b){var D;(D=t.onClose)==null||D.apply(this,b)}),Oe("submit",K,p),br(F,()=>s(a),b=>h(a,b)),br(H,()=>s(i),b=>h(i,b)),qn(W,()=>s(o),b=>h(o,b)),br(X,()=>s(l),b=>h(l,b)),re("click",ve,function(...b){var D;(D=t.onClose)==null||D.apply(this,b)}),x(e,m),Ie()}Be(["click"]);var gl=C('<div class="modal-backdrop svelte-1efofyg"><div class="dialog svelte-1efofyg"><h3 class="svelte-1efofyg"> </h3> <p class="svelte-1efofyg"> </p> <div class="actions svelte-1efofyg"><button class="btn-cancel svelte-1efofyg">Cancel</button> <button class="btn-confirm svelte-1efofyg"> </button></div></div></div>');function pl(e,t){Ne(t,!0);let r=Yt(t,"confirmLabel",3,"Delete");function n(A){A.target.classList.contains("modal-backdrop")&&t.onCancel()}function a(A){A.key==="Escape"&&t.onCancel()}var i=gl();Oe("keydown",jt,a);var o=d(i),v=d(o),l=d(v),c=y(v,2),f=d(c),w=y(c,2),g=d(w),P=y(g,2),p=d(P);z(()=>{M(l,t.title),M(f,t.message),M(p,r())}),re("click",i,n),re("click",g,function(...A){var u;(u=t.onCancel)==null||u.apply(this,A)}),re("click",P,function(...A){var u;(u=t.onConfirm)==null||u.apply(this,A)}),x(e,i),Ie()}Be(["click"]);var ml=C('<button class="clear-input svelte-dhotvj">&times;</button>'),wl=C("<button> </button>"),bl=C('<button><span class="tag-checkbox svelte-dhotvj"> </span> <span class="tag-name svelte-dhotvj"> </span></button>'),yl=C('<button class="tag-clear svelte-dhotvj">clear tags</button>'),kl=C('<div class="tag-dropdown svelte-dhotvj"><!> <!></div>'),Tl=C('<div class="filter-section tag-dropdown-wrapper svelte-dhotvj"><span class="filter-label svelte-dhotvj">tags:</span> <button><!></button> <!></div>'),El=C('<button class="clear-all svelte-dhotvj"> </button>'),Sl=C('<div class="filter-bar svelte-dhotvj"><div class="filter-search svelte-dhotvj"><span class="search-icon svelte-dhotvj">/</span> <input type="text" placeholder="search tasks..." class="svelte-dhotvj"/> <!></div> <div class="filter-section svelte-dhotvj"><span class="filter-label svelte-dhotvj">priority:</span> <div class="chip-group svelte-dhotvj"></div></div> <!> <!> <div class="shortcuts-hint svelte-dhotvj"><span class="svelte-dhotvj"><kbd class="svelte-dhotvj">N</kbd> new</span> <span class="svelte-dhotvj"><kbd class="svelte-dhotvj">/</kbd> search</span> <span class="svelte-dhotvj"><kbd class="svelte-dhotvj">Ctrl K</kbd> palette</span></div></div>');function xl(e,t){Ne(t,!0);let r=Yt(t,"focusSearch",15,null),n=R(null),a=R(!1),i=R(null);rt(()=>{r(()=>{var O;return(O=s(n))==null?void 0:O.focus()})});const o=le(()=>(t.searchQuery.trim()?1:0)+t.selectedPriorities.size+t.selectedTags.size),v={critical:"var(--priority-critical)",high:"var(--priority-high)",medium:"var(--priority-medium)",low:"var(--text-muted)"};function l(O){O.key==="Escape"&&h(a,!1)}function c(O){s(i)&&!s(i).contains(O.target)&&h(a,!1)}var f=Sl();Oe("click",jt,c),Oe("keydown",jt,l);var w=d(f),g=y(d(w),2);cn(g,O=>h(n,O),()=>s(n));var P=y(g,2);{var p=O=>{var L=ml();re("click",L,()=>t.onSearchChange("")),x(O,L)};B(P,O=>{t.searchQuery&&O(p)})}var A=y(w,2),u=y(d(A),2);xe(u,21,()=>za,gt,(O,L)=>{var j=wl();let I;var q=d(j);z(K=>{I=fe(j,1,"chip svelte-dhotvj",null,I,K),xn(j,`--chip-color: ${v[s(L)]??""}`),M(q,s(L))},[()=>({active:t.selectedPriorities.has(s(L))})]),re("click",j,()=>t.onPriorityToggle(s(L))),x(O,j)});var m=y(A,2);{var S=O=>{var L=Tl(),j=y(d(L),2);let I;var q=d(j);{var K=H=>{var Z=Ln();z(()=>M(Z,`[${t.selectedTags.size??""}] ▾`)),x(H,Z)},ie=H=>{var Z=Ln("all ▾");x(H,Z)};B(q,H=>{t.selectedTags.size>0?H(K):H(ie,-1)})}var F=y(j,2);{var G=H=>{var Z=kl(),te=d(Z);xe(te,17,()=>t.allTags,gt,(V,se)=>{var X=bl();let ne;var ve=d(X),ge=d(ve),ke=y(ve,2),Te=d(ke);z((ce,Ee)=>{ne=fe(X,1,"tag-option svelte-dhotvj",null,ne,ce),M(ge,Ee),M(Te,`#${s(se)??""}`)},[()=>({selected:t.selectedTags.has(s(se))}),()=>t.selectedTags.has(s(se))?"✓":" "]),re("click",X,ce=>{ce.stopPropagation(),t.onTagToggle(s(se))}),x(V,X)});var W=y(te,2);{var ae=V=>{var se=yl();re("click",se,X=>{X.stopPropagation(),t.selectedTags.forEach(ne=>t.onTagToggle(ne))}),x(V,se)};B(W,V=>{t.selectedTags.size>0&&V(ae)})}x(H,Z)};B(F,H=>{s(a)&&H(G)})}cn(L,H=>h(i,H),()=>s(i)),z(()=>I=fe(j,1,"dropdown-trigger svelte-dhotvj",null,I,{active:t.selectedTags.size>0})),re("click",j,H=>{H.stopPropagation(),h(a,!s(a))}),x(O,L)};B(m,O=>{t.allTags.length>0&&O(S)})}var T=y(m,2);{var N=O=>{var L=El(),j=d(L);z(()=>M(j,`clear [${s(o)??""}]`)),re("click",L,function(...I){var q;(q=t.onClear)==null||q.apply(this,I)}),x(O,L)};B(T,O=>{s(o)>0&&O(N)})}z(()=>Si(g,t.searchQuery)),re("input",g,O=>t.onSearchChange(O.target.value)),x(e,f),Ie()}Be(["input","click"]);var Cl=C('<div class="board-message svelte-x7v2jt">Loading tasks...</div>'),jl=C('<div class="board-message error svelte-x7v2jt"> <button class="svelte-x7v2jt">Retry</button></div>'),Pl=C('<div class="board svelte-x7v2jt"></div>'),Al=C('<!> <div class="board-wrapper svelte-x7v2jt"><!></div> <!> <!>',1);function Dl(e,t){Ne(t,!0);let r=Yt(t,"triggerNewTask",3,!1),n=Yt(t,"openTask",3,null),a=R(Se([])),i=R(!0),o=R(null),v=R(!1),l=R(null),c=R("todo"),f=R(!1),w=R(null),g=R(null),P=R(""),p=R(Se(new Set)),A=R(Se(new Set));const u=le(()=>()=>{const k=new Map;for(const E of s(a))E.parent_task_id&&k.set(E.parent_task_id,(k.get(E.parent_task_id)??0)+1);return k}),m=le(()=>()=>{const k=new Set;for(const E of s(a))if(E.tags)try{for(const b of JSON.parse(E.tags))k.add(b)}catch{}return[...k].sort()}),S=le(()=>()=>{let k=s(a);const E=s(P).trim().toLowerCase();return E&&(k=k.filter(b=>b.title.toLowerCase().includes(E)||(b.description??"").toLowerCase().includes(E)||(b.short_id??"").toLowerCase().includes(E))),s(p).size>0&&(k=k.filter(b=>s(p).has(b.priority))),s(A).size>0&&(k=k.filter(b=>{if(!b.tags)return!1;try{return JSON.parse(b.tags).some(Y=>s(A).has(Y))}catch{return!1}})),k}),T={critical:0,high:1,medium:2,low:3},N=le(()=>Ki.map(k=>{const E=s(S)().filter(b=>b.status===k.status);return k.status==="done"||k.status==="cancelled"?E.sort((b,D)=>(D.updated_at??"").localeCompare(b.updated_at??"")):E.sort((b,D)=>{const Y=(T[b.priority]??3)-(T[D.priority]??3);return Y!==0?Y:(D.created_at??"").localeCompare(b.created_at??"")}),{...k,tasks:E}}));function O(k){const E=new Set(s(p));E.has(k)?E.delete(k):E.add(k),h(p,E,!0)}function L(k){const E=new Set(s(A));E.has(k)?E.delete(k):E.add(k),h(A,E,!0)}function j(){h(P,""),h(p,new Set,!0),h(A,new Set,!0)}let I=R(null);function q(k){var D;const E=k.target.tagName;E==="INPUT"||E==="TEXTAREA"||E==="SELECT"||k.ctrlKey||k.metaKey||k.altKey||(k.key==="n"||k.key==="N"?(k.preventDefault(),G("todo")):k.key==="/"&&(k.preventDefault(),(D=s(I))==null||D()))}rt(()=>{var k;r()&&(G("todo"),(k=t.onNewTaskTriggered)==null||k.call(t))}),rt(()=>{var k;n()&&(h(l,n()),h(v,!0),(k=t.onOpenTaskHandled)==null||k.call(t))});async function K(){h(i,!0),h(o,null);try{h(a,await ze.getTasks(t.project.id),!0)}catch(k){h(o,k.message,!0)}finally{h(i,!1)}}rt(()=>{t.project.id,K()});function ie(k,E){h(g,E,!0),k.dataTransfer&&(k.dataTransfer.effectAllowed="move",k.dataTransfer.setData("text/plain",E.id))}async function F(k){if(!s(g)||s(g).status===k){h(g,null);return}const E=s(g),b=E.status;h(g,null);const D=s(a).findIndex(Y=>Y.id===E.id);D!==-1&&(s(a)[D]={...s(a)[D],status:k});try{await ze.updateTask(E.id,{status:k})}catch(Y){D!==-1&&(s(a)[D]={...s(a)[D],status:b}),h(o,Y.message,!0)}}function G(k){h(l,null),h(c,k,!0),h(v,!0)}function H(k){h(l,k,!0),h(v,!0)}async function Z(k){try{if(s(l)){const E=await ze.updateTask(s(l).id,{title:k.title,description:k.description||null,priority:k.priority,status:k.status,tags:k.tags.length>0?k.tags.join(","):null}),b=s(a).findIndex(D=>D.id===s(l).id);b!==-1&&(s(a)[b]=E)}else{const E=await ze.createTask(t.project.id,{title:k.title,description:k.description||void 0,priority:k.priority,tags:k.tags.length>0?k.tags:void 0});h(a,[E,...s(a)],!0)}h(v,!1),h(l,null)}catch(E){h(o,E.message,!0)}}function te(k){h(w,k,!0),h(f,!0)}async function W(){if(s(w))try{await ze.deleteTask(s(w).id),h(a,s(a).filter(k=>k.id!==s(w).id&&k.parent_task_id!==s(w).id),!0),h(f,!1),h(w,null)}catch(k){h(o,k.message,!0)}}var ae=Al();Oe("keydown",jt,q);var V=et(ae);{let k=le(()=>s(m)());xl(V,{get allTags(){return s(k)},get searchQuery(){return s(P)},get selectedPriorities(){return s(p)},get selectedTags(){return s(A)},onSearchChange:E=>{h(P,E,!0)},onPriorityToggle:O,onTagToggle:L,onClear:j,get focusSearch(){return s(I)},set focusSearch(E){h(I,E,!0)}})}var se=y(V,2),X=d(se);{var ne=k=>{var E=Cl();x(k,E)},ve=k=>{var E=jl(),b=d(E),D=y(b);z(()=>M(b,`${s(o)??""} `)),re("click",D,()=>{h(o,null),K()}),x(k,E)},ge=k=>{var E=Pl();xe(E,21,()=>s(N),b=>b.status,(b,D)=>{{let Y=le(()=>s(u)());al(b,{get status(){return s(D).status},get label(){return s(D).label},get tasks(){return s(D).tasks},get subtaskCounts(){return s(Y)},onEdit:H,onDelete:te,onDragStart:ie,onDrop:F,onAddTask:G})}}),x(k,E)};B(X,k=>{s(i)?k(ne):s(o)?k(ve,1):k(ge,-1)})}var ke=y(se,2);{var Te=k=>{hl(k,{get task(){return s(l)},get projectId(){return t.project.id},get allTasks(){return s(a)},get defaultStatus(){return s(c)},onSave:Z,onClose:()=>{h(v,!1),h(l,null)}})};B(ke,k=>{s(v)&&k(Te)})}var ce=y(ke,2);{var Ee=k=>{pl(k,{title:"Delete Task",get message(){return`Are you sure you want to delete "${s(w).title??""}"? This cannot be undone.`},onConfirm:W,onCancel:()=>{h(f,!1),h(w,null)}})};B(ce,k=>{s(f)&&s(w)&&k(Ee)})}x(e,ae),Ie()}Be(["click"]);var Ol=C('<div class="state-msg svelte-mwtig8"><span class="prompt svelte-mwtig8">&gt;</span> loading notes...</div>'),Nl=C('<div class="state-msg err svelte-mwtig8"> </div>'),Il=C('<div class="state-msg muted svelte-mwtig8">// no notes yet — use add_note via MCP tools</div>'),Ml=C('<span class="tag svelte-mwtig8"> </span>'),Rl=C('<div class="tags svelte-mwtig8"></div>'),Ll=C('<span class="task-link svelte-mwtig8"> </span>'),zl=C('<div class="card-footer svelte-mwtig8"><!> <!></div>'),Fl=C('<div class="card svelte-mwtig8"><div class="card-header svelte-mwtig8"><span class="category svelte-mwtig8"> </span> <span class="date svelte-mwtig8"> </span></div> <div class="content svelte-mwtig8"> </div> <!></div>'),ql=C('<div class="list svelte-mwtig8"></div>'),Bl=C('<div class="view svelte-mwtig8"><!></div>');function Hl(e,t){Ne(t,!0);let r=R(Se([])),n=R(Se([])),a=R(!0),i=R(null);rt(()=>{h(a,!0),h(i,null),Promise.all([ze.getNotes(t.projectId),ze.getTasks(t.projectId)]).then(([u,m])=>{h(r,u,!0),h(n,m,!0)}).catch(u=>{h(i,u.message,!0)}).finally(()=>{h(a,!1)})});const o=le(()=>new Map(s(n).map(u=>[u.id,u]))),v={general:"var(--text-muted)",architecture:"#3d98f4",bug:"var(--danger)",idea:"var(--priority-high)",research:"#a371f7",meeting:"var(--text-dim)",review:"var(--primary)"};function l(u){if(!u)return[];try{return JSON.parse(u)}catch{return[]}}function c(u){return new Date(u.replace(" ","T")+"Z").toLocaleDateString(void 0,{month:"short",day:"numeric",year:"numeric"})}var f=Bl(),w=d(f);{var g=u=>{var m=Ol();x(u,m)},P=u=>{var m=Nl(),S=d(m);z(()=>M(S,`[error] ${s(i)??""}`)),x(u,m)},p=u=>{var m=Il();x(u,m)},A=u=>{var m=ql();xe(m,21,()=>s(r),S=>S.id,(S,T)=>{const N=le(()=>s(T).task_id?s(o).get(s(T).task_id):null),O=le(()=>l(s(T).tags));var L=Fl(),j=d(L),I=d(j),q=d(I),K=y(I,2),ie=d(K),F=y(j,2),G=d(F),H=y(F,2);{var Z=te=>{var W=zl(),ae=d(W);{var V=ne=>{var ve=Rl();xe(ve,21,()=>s(O),gt,(ge,ke)=>{var Te=Ml(),ce=d(Te);z(()=>M(ce,s(ke))),x(ge,Te)}),x(ne,ve)};B(ae,ne=>{s(O).length>0&&ne(V)})}var se=y(ae,2);{var X=ne=>{var ve=Ll(),ge=d(ve);z(ke=>M(ge,`→ ${ke??""}: ${s(N).title??""}`),[()=>s(N).short_id??s(N).id.slice(0,8)]),re("click",ve,()=>t.onOpenTask(s(N))),x(ne,ve)};B(se,ne=>{s(N)&&ne(X)})}x(te,W)};B(H,te=>{(s(O).length>0||s(N))&&te(Z)})}z(te=>{xn(I,`color: ${v[s(T).category]??"var(--text-muted)"??""}`),M(q,s(T).category),M(ie,te),M(G,s(T).content)},[()=>c(s(T).created_at)]),x(S,L)}),x(u,m)};B(w,u=>{s(a)?u(g):s(i)?u(P,1):s(r).length===0?u(p,2):u(A,-1)})}x(e,f),Ie()}Be(["click"]);var Kl=C('<div class="state-msg svelte-1nwykvu"><span class="prompt svelte-1nwykvu">&gt;</span> loading decisions...</div>'),Ul=C('<div class="state-msg err svelte-1nwykvu"> </div>'),Vl=C('<div class="state-msg muted svelte-1nwykvu">// no decisions yet — use log_decision via MCP tools</div>'),Yl=C('<div class="reasoning svelte-1nwykvu"> </div>'),Jl=C('<div class="alts svelte-1nwykvu"> </div>'),Gl=C('<span class="tag svelte-1nwykvu"> </span>'),Wl=C('<div class="tags svelte-1nwykvu"></div>'),Ql=C('<span class="task-link svelte-1nwykvu"> </span>'),Zl=C('<div class="card-footer svelte-1nwykvu"><!> <!></div>'),Xl=C('<div class="card svelte-1nwykvu"><div class="card-header svelte-1nwykvu"><span class="title svelte-1nwykvu"> </span> <span class="date svelte-1nwykvu"> </span></div> <div class="decision-text svelte-1nwykvu"> </div> <!> <!> <!></div>'),$l=C('<div class="list svelte-1nwykvu"></div>'),eo=C('<div class="view svelte-1nwykvu"><!></div>');function to(e,t){Ne(t,!0);let r=R(Se([])),n=R(Se([])),a=R(!0),i=R(null);rt(()=>{h(a,!0),h(i,null),Promise.all([ze.getDecisions(t.projectId),ze.getTasks(t.projectId)]).then(([u,m])=>{h(r,u,!0),h(n,m,!0)}).catch(u=>{h(i,u.message,!0)}).finally(()=>{h(a,!1)})});const o=le(()=>new Map(s(n).map(u=>[u.id,u])));function v(u){if(!u)return[];try{return JSON.parse(u)}catch{return[]}}function l(u){if(!u)return[];try{return JSON.parse(u)}catch{return[]}}function c(u){return new Date(u.replace(" ","T")+"Z").toLocaleDateString(void 0,{month:"short",day:"numeric",year:"numeric"})}var f=eo(),w=d(f);{var g=u=>{var m=Kl();x(u,m)},P=u=>{var m=Ul(),S=d(m);z(()=>M(S,`[error] ${s(i)??""}`)),x(u,m)},p=u=>{var m=Vl();x(u,m)},A=u=>{var m=$l();xe(m,21,()=>s(r),S=>S.id,(S,T)=>{const N=le(()=>s(T).task_id?s(o).get(s(T).task_id):null),O=le(()=>v(s(T).alternatives)),L=le(()=>l(s(T).tags));var j=Xl(),I=d(j),q=d(I),K=d(q),ie=y(q,2),F=d(ie),G=y(I,2),H=d(G),Z=y(G,2);{var te=X=>{var ne=Yl(),ve=d(ne);z(()=>M(ve,s(T).reasoning)),x(X,ne)};B(Z,X=>{s(T).reasoning&&X(te)})}var W=y(Z,2);{var ae=X=>{var ne=Jl(),ve=d(ne);z(ge=>M(ve,`Alternatives considered: ${ge??""}`),[()=>s(O).join(", ")]),x(X,ne)};B(W,X=>{s(O).length>0&&X(ae)})}var V=y(W,2);{var se=X=>{var ne=Zl(),ve=d(ne);{var ge=ce=>{var Ee=Wl();xe(Ee,21,()=>s(L),gt,(k,E)=>{var b=Gl(),D=d(b);z(()=>M(D,s(E))),x(k,b)}),x(ce,Ee)};B(ve,ce=>{s(L).length>0&&ce(ge)})}var ke=y(ve,2);{var Te=ce=>{var Ee=Ql(),k=d(Ee);z(E=>M(k,`→ ${E??""}: ${s(N).title??""}`),[()=>s(N).short_id??s(N).id.slice(0,8)]),re("click",Ee,()=>t.onOpenTask(s(N))),x(ce,Ee)};B(ke,ce=>{s(N)&&ce(Te)})}x(X,ne)};B(V,X=>{(s(L).length>0||s(N))&&X(se)})}z(X=>{M(K,s(T).title),M(F,X),M(H,s(T).decision)},[()=>c(s(T).created_at)]),x(S,j)}),x(u,m)};B(w,u=>{s(a)?u(g):s(i)?u(P,1):s(r).length===0?u(p,2):u(A,-1)})}x(e,f),Ie()}Be(["click"]);var ro=C('<div><span class="item-label svelte-1bm0yy4"> </span> <span class="item-hint svelte-1bm0yy4"> </span></div>'),no=C('<div class="palette-empty svelte-1bm0yy4">no commands match</div>'),ao=C('<div class="palette-backdrop svelte-1bm0yy4"><div class="palette svelte-1bm0yy4"><div class="palette-input-row svelte-1bm0yy4"><span class="palette-prompt svelte-1bm0yy4">&gt;</span> <input placeholder="type a command..." class="svelte-1bm0yy4"/></div> <div class="palette-list svelte-1bm0yy4"></div> <div class="palette-footer svelte-1bm0yy4"><span class="svelte-1bm0yy4"><kbd class="svelte-1bm0yy4">↑↓</kbd> navigate</span> <span class="svelte-1bm0yy4"><kbd class="svelte-1bm0yy4">↵</kbd> select</span> <span class="svelte-1bm0yy4"><kbd class="svelte-1bm0yy4">esc</kbd> close</span></div></div></div>');function so(e,t){Ne(t,!0);let r=R(""),n=R(0),a=R(null);const i=le(()=>[{id:"new-task",label:"new task",hint:"create",action:()=>{t.onClose(),t.onNewTask()}},...t.projects.map(p=>({id:`project-${p.id}`,label:p.name,hint:p.slug?`switch → ${p.slug}`:"switch",action:()=>{t.onClose(),t.onSelectProject(p.id)}}))]),o=le(()=>()=>{const p=s(r).trim().toLowerCase();return p?s(i).filter(A=>A.label.toLowerCase().includes(p)||A.hint.toLowerCase().includes(p)):s(i)});rt(()=>{s(o)(),h(n,0)});function v(p){var u;const A=s(o)();p.key==="ArrowDown"?(p.preventDefault(),h(n,Math.min(s(n)+1,A.length-1),!0)):p.key==="ArrowUp"?(p.preventDefault(),h(n,Math.max(s(n)-1,0),!0)):p.key==="Enter"?(p.preventDefault(),(u=A[s(n)])==null||u.action()):p.key==="Escape"&&t.onClose()}function l(p){p.target.classList.contains("palette-backdrop")&&t.onClose()}var c=ao(),f=d(c),w=d(f),g=y(d(w),2);mn(g),cn(g,p=>h(a,p),()=>s(a));var P=y(w,2);xe(P,23,()=>s(o)(),p=>p.id,(p,A,u)=>{var m=ro();let S;var T=d(m),N=d(T),O=y(T,2),L=d(O);z(()=>{S=fe(m,1,"palette-item svelte-1bm0yy4",null,S,{active:s(u)===s(n)}),M(N,s(A).label),M(L,s(A).hint)}),Oe("mouseenter",m,()=>{h(n,s(u),!0)}),re("click",m,()=>s(A).action()),x(p,m)},p=>{var A=no();x(p,A)}),re("click",c,l),re("keydown",g,v),br(g,()=>s(r),p=>h(r,p)),x(e,c),Ie()}Be(["click","keydown"]);var io=C("<button> </button>"),lo=C('<div class="state-msg svelte-37wipk"><span class="prompt">&gt;</span> computing metrics...</div>'),oo=C('<div class="state-msg err svelte-37wipk"> </div>'),vo=C('<div class="card-value svelte-37wipk"> </div> <div class="card-sub svelte-37wipk">median</div> <div class="card-detail svelte-37wipk"> </div> <span> </span>',1),uo=C('<div class="card-value card-value--empty svelte-37wipk">—</div> <div class="card-sub muted svelte-37wipk"> </div>',1),co=C('<div> </div> <div class="card-sub svelte-37wipk">of active tasks hit a blocker</div>',1),fo=C('<div class="card-value card-value--empty svelte-37wipk">—</div> <div class="card-sub muted svelte-37wipk">no activity in window</div>',1),_o=C('<div class="card-detail svelte-37wipk"> </div>'),ho=C('<span class="badge badge-blocked svelte-37wipk"> </span>'),go=C('<div class="insight-row svelte-37wipk"><span class="insight-bullet svelte-37wipk">›</span> </div>'),po=C('<div class="insights svelte-37wipk"><div class="insights-label svelte-37wipk">// insights</div> <!></div>'),mo=C('<div class="grid svelte-37wipk"><div class="card svelte-37wipk"><div class="card-label svelte-37wipk">Throughput</div> <div class="card-value svelte-37wipk"> </div> <div class="card-sub svelte-37wipk">tasks completed</div> <div class="card-detail svelte-37wipk"> </div> <span> </span></div> <div class="card svelte-37wipk"><div class="card-label svelte-37wipk">Lead Time</div> <!></div> <div class="card svelte-37wipk"><div class="card-label svelte-37wipk">Blocked Rate</div> <!> <!> <!></div> <div class="card card--tier svelte-37wipk"><div class="card-label svelte-37wipk">Performance Tier</div> <div> </div> <div class="card-sub tier-legend svelte-37wipk"><span class="tier-elite svelte-37wipk">Elite</span> &lt;1d · <span class="tier-high svelte-37wipk">High</span> &lt;1wk · <span class="tier-medium svelte-37wipk">Medium</span> &lt;1mo · <span class="tier-low svelte-37wipk">Low</span> 1mo+</div></div></div> <!>',1),wo=C('<div class="view svelte-37wipk"><div class="toolbar svelte-37wipk"><span class="toolbar-label svelte-37wipk">// window</span> <!></div> <!></div>');function bo(e,t){Ne(t,!0);let r=R(null),n=R(!0),a=R(null),i=R(30);async function o(){h(n,!0),h(a,null);try{h(r,await ze.getMetrics(t.projectId,s(i)),!0)}catch(S){h(a,S.message,!0)}finally{h(n,!1)}}rt(()=>{t.projectId,s(i),o()});const v={Elite:"tier-elite",High:"tier-high",Medium:"tier-medium",Low:"tier-low",unknown:"tier-unknown"},l={improving:"↑",declining:"↓",stable:"→"},c={improving:"trend-up",declining:"trend-down",stable:"trend-stable"};function f(S){return"median_days"in S}var w=wo(),g=d(w),P=y(d(g),2);xe(P,16,()=>[7,30,90],gt,(S,T)=>{var N=io();let O;var L=d(N);z(()=>{O=fe(N,1,"window-btn svelte-37wipk",null,O,{active:s(i)===T}),M(L,`${T??""}d`)}),re("click",N,()=>h(i,T,!0)),x(S,N)});var p=y(g,2);{var A=S=>{var T=lo();x(S,T)},u=S=>{var T=oo(),N=d(T);z(()=>M(N,`[error] ${s(a)??""}`)),x(S,T)},m=S=>{var T=mo(),N=et(T),O=d(N),L=y(d(O),2),j=d(L),I=y(L,4),q=d(I),K=y(I,2),ie=d(K),F=y(O,2),G=y(d(F),2);{var H=E=>{var b=vo(),D=et(b),Y=d(D),oe=y(D,4),ue=d(oe),je=y(oe,2),st=d(je);z(()=>{M(Y,`${s(r).lead_time.median_days??""}d`),M(ue,`p90: ${s(r).lead_time.p90_days??""}d`),fe(je,1,`trend ${c[s(r).lead_time.trend]??""}`,"svelte-37wipk"),M(st,`${l[s(r).lead_time.trend]??""} ${s(r).lead_time.trend??""}`)}),x(E,b)},Z=le(()=>f(s(r).lead_time)),te=E=>{var b=uo(),D=y(et(b),2),Y=d(D);z(()=>M(Y,s(r).lead_time.note)),x(E,b)};B(G,E=>{s(Z)?E(H):E(te,-1)})}var W=y(F,2),ae=y(d(W),2);{var V=E=>{var b=co(),D=et(b),Y=d(D);z(()=>{fe(D,1,`card-value ${s(r).flow_efficiency.blocked_rate_pct>30?"val-danger":""}`,"svelte-37wipk"),M(Y,`${s(r).flow_efficiency.blocked_rate_pct??""}%`)}),x(E,b)},se=E=>{var b=fo();x(E,b)};B(ae,E=>{s(r).flow_efficiency.blocked_rate_pct!==null?E(V):E(se,-1)})}var X=y(ae,2);{var ne=E=>{var b=_o(),D=d(b);z(()=>M(D,`avg blocked: ${s(r).flow_efficiency.avg_blocked_days??""}d`)),x(E,b)};B(X,E=>{s(r).flow_efficiency.avg_blocked_days!==null&&E(ne)})}var ve=y(X,2);{var ge=E=>{var b=ho(),D=d(b);z(()=>M(D,`${s(r).flow_efficiency.currently_blocked??""} blocked now`)),x(E,b)};B(ve,E=>{s(r).flow_efficiency.currently_blocked>0&&E(ge)})}var ke=y(W,2),Te=y(d(ke),2),ce=d(Te),Ee=y(N,2);{var k=E=>{var b=po(),D=y(d(b),2);xe(D,17,()=>s(r).insights,gt,(Y,oe)=>{var ue=go(),je=y(d(ue));z(()=>M(je,` ${s(oe)??""}`)),x(Y,ue)}),x(E,b)};B(Ee,E=>{s(r).insights.length>0&&E(k)})}z(()=>{M(j,s(r).throughput.tasks_completed),M(q,`${s(r).throughput.per_week_avg??""}/wk avg`),fe(K,1,`trend ${c[s(r).throughput.trend]??""}`,"svelte-37wipk"),M(ie,`${l[s(r).throughput.trend]??""} ${s(r).throughput.trend??""}`),fe(Te,1,`tier-badge ${v[s(r).dora_tier]??""}`,"svelte-37wipk"),M(ce,s(r).dora_tier)}),x(S,T)};B(p,S=>{s(n)?S(A):s(a)?S(u,1):s(r)&&S(m,2)})}x(e,w),Ie()}Be(["click"]);var yo=C('<div class="loading svelte-1n46o8q"><span class="prompt svelte-1n46o8q">&gt;</span> loading projects...</div>'),ko=C('<div class="error svelte-1n46o8q"><span class="err-prefix svelte-1n46o8q">[error]</span> </div>'),To=C('<div class="empty svelte-1n46o8q"><p class="empty-prompt svelte-1n46o8q">&gt; no projects found</p> <p class="empty-hint svelte-1n46o8q">// create a project using mindpm MCP tools to get started</p></div>'),Eo=C('<div class="tabs svelte-1n46o8q"><button>Kanban</button> <button>Notes</button> <button>Decisions</button> <button>Metrics</button></div> <!>',1),So=C('<div class="app-layout svelte-1n46o8q"><!> <div class="main svelte-1n46o8q"><!> <!></div></div>'),xo=C("<!> <!>",1);function Co(e,t){Ne(t,!0);let r=R(Se([])),n=R(null),a=R(!0),i=R(null),o=R(!1),v=R(!1),l=R("kanban"),c=R(null);const f=le(()=>s(r).find(j=>j.id===s(n))??null);async function w(){try{if(h(r,await ze.getProjects(),!0),s(r).length>0&&!s(n)){const j=new URLSearchParams(window.location.search).get("project"),I=j?s(r).find(q=>q.id===j||q.name===j):null;h(n,I?I.id:s(r)[0].id,!0)}}catch(j){h(i,j.message,!0)}finally{h(a,!1)}}function g(j){h(n,j,!0),h(l,"kanban");const I=new URL(window.location.href);I.searchParams.set("project",j),history.replaceState(null,"",I.toString())}async function P(j,I){try{await ze.updateProject(j,{name:I});const q=s(r).findIndex(K=>K.id===j);q!==-1&&(s(r)[q]={...s(r)[q],name:I})}catch(q){h(i,q.message,!0)}}rt(()=>{w()});function p(j){(j.ctrlKey||j.metaKey)&&j.key==="k"&&(j.preventDefault(),h(o,!s(o)))}var A=xo();Oe("keydown",jt,p);var u=et(A);{var m=j=>{so(j,{get projects(){return s(r)},onSelectProject:I=>{h(n,I,!0)},onNewTask:()=>{h(v,!0)},onClose:()=>{h(o,!1)}})};B(u,j=>{s(o)&&j(m)})}var S=y(u,2);{var T=j=>{var I=yo();x(j,I)},N=j=>{var I=ko(),q=y(d(I));z(()=>M(q,` ${s(i)??""}`)),x(j,I)},O=j=>{var I=To();x(j,I)},L=j=>{var I=So(),q=d(I);Hi(q,{get projects(){return s(r)},get selectedId(){return s(n)},onSelect:g});var K=y(q,2),ie=d(K);Ni(ie,{get projects(){return s(r)},get selectedId(){return s(n)},onSelect:g,onRenamed:P});var F=y(ie,2);{var G=H=>{var Z=Eo(),te=et(Z),W=d(te);let ae;var V=y(W,2);let se;var X=y(V,2);let ne;var ve=y(X,2);let ge;var ke=y(te,2);{var Te=E=>{Dl(E,{get project(){return s(f)},get triggerNewTask(){return s(v)},get openTask(){return s(c)},onNewTaskTriggered:()=>{h(v,!1)},onOpenTaskHandled:()=>{h(c,null)}})},ce=E=>{Hl(E,{get projectId(){return s(f).id},onOpenTask:b=>{h(c,b,!0),h(l,"kanban")}})},Ee=E=>{to(E,{get projectId(){return s(f).id},onOpenTask:b=>{h(c,b,!0),h(l,"kanban")}})},k=E=>{bo(E,{get projectId(){return s(f).id}})};B(ke,E=>{s(l)==="kanban"?E(Te):s(l)==="notes"?E(ce,1):s(l)==="decisions"?E(Ee,2):s(l)==="metrics"&&E(k,3)})}z(()=>{ae=fe(W,1,"tab svelte-1n46o8q",null,ae,{active:s(l)==="kanban"}),se=fe(V,1,"tab svelte-1n46o8q",null,se,{active:s(l)==="notes"}),ne=fe(X,1,"tab svelte-1n46o8q",null,ne,{active:s(l)==="decisions"}),ge=fe(ve,1,"tab svelte-1n46o8q",null,ge,{active:s(l)==="metrics"})}),re("click",W,()=>h(l,"kanban")),re("click",V,()=>h(l,"notes")),re("click",X,()=>h(l,"decisions")),re("click",ve,()=>h(l,"metrics")),x(H,Z)};B(F,H=>{s(f)&&H(G)})}x(j,I)};B(S,j=>{s(a)?j(T):s(i)?j(N,1):s(r).length===0?j(O,2):j(L,-1)})}x(e,A),Ie()}Be(["click"]);ci(Co,{target:document.getElementById("app")});