mindpm 1.2.31 → 1.2.33

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
@@ -52,7 +52,7 @@ function createSchema(db2) {
52
52
  seq INTEGER,
53
53
  title TEXT NOT NULL,
54
54
  description TEXT,
55
- status TEXT DEFAULT 'todo' CHECK(status IN ('todo', 'in_progress', 'blocked', 'done', 'cancelled')),
55
+ status TEXT DEFAULT 'todo' CHECK(status IN ('todo', 'in_progress', 'blocked', 'in_review', 'done', 'cancelled')),
56
56
  priority TEXT DEFAULT 'medium' CHECK(priority IN ('critical', 'high', 'medium', 'low')),
57
57
  tags TEXT,
58
58
  parent_task_id TEXT REFERENCES tasks(id),
@@ -199,6 +199,48 @@ function runMigrations(db2) {
199
199
  if (!decisionCols.includes("task_id")) {
200
200
  db2.exec("ALTER TABLE decisions ADD COLUMN task_id TEXT REFERENCES tasks(id)");
201
201
  }
202
+ const tasksSchemaSql = db2.prepare("SELECT sql FROM sqlite_master WHERE type='table' AND name='tasks'").get()?.sql ?? "";
203
+ if (!tasksSchemaSql.includes("in_review")) {
204
+ db2.pragma("foreign_keys = OFF");
205
+ db2.transaction(() => {
206
+ db2.exec(`
207
+ CREATE TABLE tasks_new (
208
+ id TEXT PRIMARY KEY,
209
+ project_id TEXT NOT NULL REFERENCES projects(id),
210
+ seq INTEGER,
211
+ title TEXT NOT NULL,
212
+ description TEXT,
213
+ status TEXT DEFAULT 'todo' CHECK(status IN ('todo', 'in_progress', 'blocked', 'in_review', 'done', 'cancelled')),
214
+ priority TEXT DEFAULT 'medium' CHECK(priority IN ('critical', 'high', 'medium', 'low')),
215
+ tags TEXT,
216
+ parent_task_id TEXT REFERENCES tasks(id),
217
+ blocked_by TEXT,
218
+ created_at DATETIME DEFAULT CURRENT_TIMESTAMP,
219
+ updated_at DATETIME DEFAULT CURRENT_TIMESTAMP,
220
+ completed_at DATETIME
221
+ );
222
+ INSERT INTO tasks_new (id, project_id, seq, title, description, status, priority, tags, parent_task_id, blocked_by, created_at, updated_at, completed_at)
223
+ SELECT id, project_id, seq, title, description, status, priority, tags, parent_task_id, blocked_by, created_at, updated_at, completed_at FROM tasks;
224
+ DROP TABLE tasks;
225
+ ALTER TABLE tasks_new RENAME TO tasks;
226
+ `);
227
+ })();
228
+ db2.pragma("foreign_keys = ON");
229
+ db2.exec(`
230
+ CREATE TRIGGER IF NOT EXISTS trg_tasks_updated_at
231
+ AFTER UPDATE ON tasks
232
+ FOR EACH ROW
233
+ WHEN NEW.updated_at = OLD.updated_at
234
+ BEGIN
235
+ UPDATE tasks SET updated_at = CURRENT_TIMESTAMP WHERE id = NEW.id;
236
+ END;
237
+ CREATE INDEX IF NOT EXISTS idx_tasks_project_id ON tasks(project_id);
238
+ CREATE INDEX IF NOT EXISTS idx_tasks_status ON tasks(status);
239
+ CREATE INDEX IF NOT EXISTS idx_tasks_priority ON tasks(priority);
240
+ CREATE INDEX IF NOT EXISTS idx_tasks_created_at ON tasks(created_at);
241
+ CREATE INDEX IF NOT EXISTS idx_tasks_seq ON tasks(project_id, seq);
242
+ `);
243
+ }
202
244
  const historyCount = db2.prepare("SELECT COUNT(*) as n FROM task_history").get().n;
203
245
  if (historyCount === 0) {
204
246
  const tasks = db2.prepare("SELECT id, status, priority, created_at FROM tasks").all();
@@ -993,7 +1035,7 @@ function registerTaskTools(server2) {
993
1035
  task_id: z2.string().describe("Task ID to update"),
994
1036
  title: z2.string().optional().describe("New title"),
995
1037
  description: z2.string().optional().describe("New description"),
996
- status: z2.enum(["todo", "in_progress", "blocked", "done", "cancelled"]).optional().describe("New status"),
1038
+ status: z2.enum(["todo", "in_progress", "blocked", "in_review", "done", "cancelled"]).optional().describe("New status"),
997
1039
  priority: z2.enum(["critical", "high", "medium", "low"]).optional().describe("New priority"),
998
1040
  tags: z2.array(z2.string()).optional().describe("New tags (replaces existing)"),
999
1041
  blocked_by: z2.array(z2.string()).optional().describe("Task IDs that block this task (replaces existing list)"),
@@ -1064,7 +1106,7 @@ function registerTaskTools(server2) {
1064
1106
  description: "List tasks with filters. Defaults to showing non-completed tasks for the most recent active project.",
1065
1107
  inputSchema: {
1066
1108
  project: z2.string().optional().describe("Project name or ID"),
1067
- status: z2.enum(["todo", "in_progress", "blocked", "done", "cancelled"]).optional().describe("Filter by status"),
1109
+ status: z2.enum(["todo", "in_progress", "blocked", "in_review", "done", "cancelled"]).optional().describe("Filter by status"),
1068
1110
  priority: z2.enum(["critical", "high", "medium", "low"]).optional().describe("Filter by priority"),
1069
1111
  tag: z2.string().optional().describe("Filter by tag"),
1070
1112
  include_done: z2.boolean().optional().describe("Include completed tasks (default: false)")
@@ -0,0 +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-muted);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-muted);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-muted);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-muted);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-muted);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)}.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-muted);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-dim)}.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 za=Object.defineProperty;var Sn=e=>{throw TypeError(e)};var qa=(e,t,r)=>t in e?za(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r;var tt=(e,t,r)=>qa(e,typeof t!="symbol"?t+"":t,r),Vr=(e,t,r)=>t.has(e)||Sn("Cannot "+r);var d=(e,t,r)=>(Vr(e,t,"read from private field"),r?r.call(e):t.get(e)),Z=(e,t,r)=>t.has(e)?Sn("Cannot add the same private member more than once"):t instanceof WeakSet?t.add(e):t.set(e,r),V=(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 s of a)if(s.type==="childList")for(const o of s.addedNodes)o.tagName==="LINK"&&o.rel==="modulepreload"&&n(o)}).observe(document,{childList:!0,subtree:!0});function r(a){const s={};return a.integrity&&(s.integrity=a.integrity),a.referrerPolicy&&(s.referrerPolicy=a.referrerPolicy),a.crossOrigin==="use-credentials"?s.credentials="include":a.crossOrigin==="anonymous"?s.credentials="omit":s.credentials="same-origin",s}function n(a){if(a.ep)return;a.ep=!0;const s=r(a);fetch(a.href,s)}})();const Wr=!1;var cn=Array.isArray,Fa=Array.prototype.indexOf,sr=Array.prototype.includes,Rr=Array.from,Ba=Object.defineProperty,Zt=Object.getOwnPropertyDescriptor,Ka=Object.getOwnPropertyDescriptors,Ha=Object.prototype,Ua=Array.prototype,Un=Object.getPrototypeOf,xn=Object.isExtensible;const Va=()=>{};function Ja(e){for(var t=0;t<e.length;t++)e[t]()}function Vn(){var e,t,r=new Promise((n,a)=>{e=n,t=a});return{promise:r,resolve:e,reject:t}}const me=2,Tr=4,Lr=8,Jn=1<<24,ht=16,et=32,Wt=64,Qr=128,He=512,he=1024,ye=2048,$e=4096,Me=8192,_t=16384,Ht=32768,ir=65536,Cn=1<<17,Yn=1<<18,fr=1<<19,Ya=1<<20,dt=1<<25,Ut=65536,Zr=1<<21,dn=1<<22,kt=1<<23,qt=Symbol("$state"),Ga=Symbol("legacy props"),At=new class extends Error{constructor(){super(...arguments);tt(this,"name","StaleReactionError");tt(this,"message","The reaction that called `getAbortSignal()` was re-run or destroyed")}};var Bn;const Wa=!!((Bn=globalThis.document)!=null&&Bn.contentType)&&globalThis.document.contentType.includes("xml");function Qa(){throw new Error("https://svelte.dev/e/async_derived_orphan")}function Za(e,t,r){throw new Error("https://svelte.dev/e/each_key_duplicate")}function Xa(e){throw new Error("https://svelte.dev/e/effect_in_teardown")}function $a(){throw new Error("https://svelte.dev/e/effect_in_unowned_derived")}function es(e){throw new Error("https://svelte.dev/e/effect_orphan")}function ts(){throw new Error("https://svelte.dev/e/effect_update_depth_exceeded")}function rs(e){throw new Error("https://svelte.dev/e/props_invalid_value")}function ns(){throw new Error("https://svelte.dev/e/state_descriptors_fixed")}function as(){throw new Error("https://svelte.dev/e/state_prototype_fixed")}function ss(){throw new Error("https://svelte.dev/e/state_unsafe_mutation")}function is(){throw new Error("https://svelte.dev/e/svelte_boundary_reset_onerror")}const ls=1,os=2,Gn=4,us=8,fs=16,vs=1,cs=4,ds=8,_s=16,hs=1,gs=2,ge=Symbol(),Wn="http://www.w3.org/1999/xhtml",ps="http://www.w3.org/2000/svg",ms="http://www.w3.org/1998/Math/MathML";function ys(){console.warn("https://svelte.dev/e/select_multiple_invalid_value")}function bs(){console.warn("https://svelte.dev/e/svelte_boundary_reset_noop")}function Qn(e){return e===this.v}function ws(e,t){return e!=e?t==t:e!==t||e!==null&&typeof e=="object"||typeof e=="function"}function Zn(e){return!ws(e,this.v)}let ks=!1,Ve=null;function lr(e){Ve=e}function Le(e,t=!1,r){Ve={p:Ve,i:!1,c:null,e:null,s:e,x:null,l:null}}function ze(e){var t=Ve,r=t.e;if(r!==null){t.e=null;for(var n of r)ya(n)}return t.i=!0,Ve=t.p,{}}function Xn(){return!0}let Dt=[];function $n(){var e=Dt;Dt=[],Ja(e)}function it(e){if(Dt.length===0&&!_r){var t=Dt;queueMicrotask(()=>{t===Dt&&$n()})}Dt.push(e)}function Ts(){for(;Dt.length>0;)$n()}function ea(e){var t=te;if(t===null)return Y.f|=kt,e;if((t.f&Ht)===0&&(t.f&Tr)===0)throw e;wt(e,t)}function wt(e,t){for(;t!==null;){if((t.f&Qr)!==0){if((t.f&Ht)===0)throw e;try{t.b.error(e);return}catch(r){e=r}}t=t.parent}throw e}const Es=-7169;function ve(e,t){e.f=e.f&Es|t}function _n(e){(e.f&He)!==0||e.deps===null?ve(e,he):ve(e,$e)}function ta(e){if(e!==null)for(const t of e)(t.f&me)===0||(t.f&Ut)===0||(t.f^=Ut,ta(t.deps))}function ra(e,t,r){(e.f&ye)!==0?t.add(e):(e.f&$e)!==0&&r.add(e),ta(e.deps),ve(e,he)}const xr=new Set;let H=null,Or=null,pe=null,xe=[],zr=null,Xr=!1,_r=!1;var Xt,$t,It,er,yr,br,Mt,ft,tr,Re,$r,en,tn,na;const En=class En{constructor(){Z(this,Re);tt(this,"current",new Map);tt(this,"previous",new Map);Z(this,Xt,new Set);Z(this,$t,new Set);Z(this,It,0);Z(this,er,0);Z(this,yr,null);Z(this,br,new Set);Z(this,Mt,new Set);Z(this,ft,new Map);tt(this,"is_fork",!1);Z(this,tr,!1)}skip_effect(t){d(this,ft).has(t)||d(this,ft).set(t,{d:[],m:[]})}unskip_effect(t){var r=d(this,ft).get(t);if(r){d(this,ft).delete(t);for(var n of r.d)ve(n,ye),Ze(n);for(n of r.m)ve(n,$e),Ze(n)}}process(t){var a;xe=[],this.apply();var r=[],n=[];for(const s of t)_e(this,Re,en).call(this,s,r,n);if(_e(this,Re,$r).call(this)){_e(this,Re,tn).call(this,n),_e(this,Re,tn).call(this,r);for(const[s,o]of d(this,ft))la(s,o)}else{for(const s of d(this,Xt))s();d(this,Xt).clear(),d(this,It)===0&&_e(this,Re,na).call(this),Or=this,H=null,jn(n),jn(r),Or=null,(a=d(this,yr))==null||a.resolve()}pe=null}capture(t,r){r!==ge&&!this.previous.has(t)&&this.previous.set(t,r),(t.f&kt)===0&&(this.current.set(t,t.v),pe==null||pe.set(t,t.v))}activate(){H=this,this.apply()}deactivate(){H===this&&(H=null,pe=null)}flush(){if(this.activate(),xe.length>0){if(aa(),H!==null&&H!==this)return}else d(this,It)===0&&this.process([]);this.deactivate()}discard(){for(const t of d(this,$t))t(this);d(this,$t).clear()}increment(t){V(this,It,d(this,It)+1),t&&V(this,er,d(this,er)+1)}decrement(t){V(this,It,d(this,It)-1),t&&V(this,er,d(this,er)-1),!d(this,tr)&&(V(this,tr,!0),it(()=>{V(this,tr,!1),_e(this,Re,$r).call(this)?xe.length>0&&this.flush():this.revive()}))}revive(){for(const t of d(this,br))d(this,Mt).delete(t),ve(t,ye),Ze(t);for(const t of d(this,Mt))ve(t,$e),Ze(t);this.flush()}oncommit(t){d(this,Xt).add(t)}ondiscard(t){d(this,$t).add(t)}settled(){return(d(this,yr)??V(this,yr,Vn())).promise}static ensure(){if(H===null){const t=H=new En;xr.add(H),_r||it(()=>{H===t&&t.flush()})}return H}apply(){}};Xt=new WeakMap,$t=new WeakMap,It=new WeakMap,er=new WeakMap,yr=new WeakMap,br=new WeakMap,Mt=new WeakMap,ft=new WeakMap,tr=new WeakMap,Re=new WeakSet,$r=function(){return this.is_fork||d(this,er)>0},en=function(t,r,n){t.f^=he;for(var a=t.first;a!==null;){var s=a.f,o=(s&(et|Wt))!==0,f=o&&(s&he)!==0,l=f||(s&Me)!==0||d(this,ft).has(a);if(!l&&a.fn!==null){o?a.f^=he:(s&Tr)!==0?r.push(a):Sr(a)&&((s&ht)!==0&&d(this,Mt).add(a),ur(a));var v=a.first;if(v!==null){a=v;continue}}for(;a!==null;){var c=a.next;if(c!==null){a=c;break}a=a.parent}}},tn=function(t){for(var r=0;r<t.length;r+=1)ra(t[r],d(this,br),d(this,Mt))},na=function(){var a;if(xr.size>1){this.previous.clear();var t=pe,r=!0;for(const s of xr){if(s===this){r=!1;continue}const o=[];for(const[l,v]of this.current){if(s.current.has(l))if(r&&v!==s.current.get(l))s.current.set(l,v);else continue;o.push(l)}if(o.length===0)continue;const f=[...s.current.keys()].filter(l=>!this.current.has(l));if(f.length>0){var n=xe;xe=[];const l=new Set,v=new Map;for(const c of o)sa(c,f,l,v);if(xe.length>0){H=s,s.apply();for(const c of xe)_e(a=s,Re,en).call(a,c,[],[]);s.deactivate()}xe=n}}H=null,pe=t}xr.delete(this)};let Tt=En;function Ss(e){var t=_r;_r=!0;try{for(var r;;){if(Ts(),xe.length===0&&(H==null||H.flush(),xe.length===0))return zr=null,r;aa()}}finally{_r=t}}function aa(){Xr=!0;var e=null;try{for(var t=0;xe.length>0;){var r=Tt.ensure();if(t++>1e3){var n,a;xs()}r.process(xe),Et.clear()}}finally{xe=[],Xr=!1,zr=null}}function xs(){try{ts()}catch(e){wt(e,zr)}}let Ge=null;function jn(e){var t=e.length;if(t!==0){for(var r=0;r<t;){var n=e[r++];if((n.f&(_t|Me))===0&&Sr(n)&&(Ge=new Set,ur(n),n.deps===null&&n.first===null&&n.nodes===null&&n.teardown===null&&n.ac===null&&Ta(n),(Ge==null?void 0:Ge.size)>0)){Et.clear();for(const a of Ge){if((a.f&(_t|Me))!==0)continue;const s=[a];let o=a.parent;for(;o!==null;)Ge.has(o)&&(Ge.delete(o),s.push(o)),o=o.parent;for(let f=s.length-1;f>=0;f--){const l=s[f];(l.f&(_t|Me))===0&&ur(l)}}Ge.clear()}}Ge=null}}function sa(e,t,r,n){if(!r.has(e)&&(r.add(e),e.reactions!==null))for(const a of e.reactions){const s=a.f;(s&me)!==0?sa(a,t,r,n):(s&(dn|ht))!==0&&(s&ye)===0&&ia(a,t,n)&&(ve(a,ye),Ze(a))}}function ia(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(sr.call(t,a))return!0;if((a.f&me)!==0&&ia(a,t,r))return r.set(a,!0),!0}return r.set(e,!1),!1}function Ze(e){var t=zr=e,r=t.b;if(r!=null&&r.is_pending&&(e.f&(Tr|Lr|Jn))!==0&&(e.f&Ht)===0){r.defer_effect(e);return}for(;t.parent!==null;){t=t.parent;var n=t.f;if(Xr&&t===te&&(n&ht)!==0&&(n&Yn)===0&&(n&Ht)!==0)return;if((n&(Wt|et))!==0){if((n&he)===0)return;t.f^=he}}xe.push(t)}function la(e,t){if(!((e.f&et)!==0&&(e.f&he)!==0)){(e.f&ye)!==0?t.d.push(e):(e.f&$e)!==0&&t.m.push(e),ve(e,he);for(var r=e.first;r!==null;)la(r,t),r=r.next}}function Cs(e){let t=0,r=Vt(0),n;return()=>{pn()&&(i(r),yn(()=>(t===0&&(n=Br(()=>e(()=>hr(r)))),t+=1,()=>{it(()=>{t-=1,t===0&&(n==null||n(),n=void 0,hr(r))})})))}}var js=ir|fr;function Ps(e,t,r,n){new As(e,t,r,n)}var Fe,vn,nt,Rt,Se,at,Ne,We,vt,Lt,bt,rr,nr,ar,ct,Ir,de,Ds,Os,Ns,rn,Pr,Ar,nn;class As{constructor(t,r,n,a){Z(this,de);tt(this,"parent");tt(this,"is_pending",!1);tt(this,"transform_error");Z(this,Fe);Z(this,vn,null);Z(this,nt);Z(this,Rt);Z(this,Se);Z(this,at,null);Z(this,Ne,null);Z(this,We,null);Z(this,vt,null);Z(this,Lt,0);Z(this,bt,0);Z(this,rr,!1);Z(this,nr,new Set);Z(this,ar,new Set);Z(this,ct,null);Z(this,Ir,Cs(()=>(V(this,ct,Vt(d(this,Lt))),()=>{V(this,ct,null)})));var s;V(this,Fe,t),V(this,nt,r),V(this,Rt,o=>{var f=te;f.b=this,f.f|=Qr,n(o)}),this.parent=te.b,this.transform_error=a??((s=this.parent)==null?void 0:s.transform_error)??(o=>o),V(this,Se,bn(()=>{_e(this,de,rn).call(this)},js))}defer_effect(t){ra(t,d(this,nr),d(this,ar))}is_rendered(){return!this.is_pending&&(!this.parent||this.parent.is_rendered())}has_pending_snippet(){return!!d(this,nt).pending}update_pending_count(t){_e(this,de,nn).call(this,t),V(this,Lt,d(this,Lt)+t),!(!d(this,ct)||d(this,rr))&&(V(this,rr,!0),it(()=>{V(this,rr,!1),d(this,ct)&&or(d(this,ct),d(this,Lt))}))}get_effect_pending(){return d(this,Ir).call(this),i(d(this,ct))}error(t){var r=d(this,nt).onerror;let n=d(this,nt).failed;if(!r&&!n)throw t;d(this,at)&&(je(d(this,at)),V(this,at,null)),d(this,Ne)&&(je(d(this,Ne)),V(this,Ne,null)),d(this,We)&&(je(d(this,We)),V(this,We,null));var a=!1,s=!1;const o=()=>{if(a){bs();return}a=!0,s&&is(),d(this,We)!==null&&Bt(d(this,We),()=>{V(this,We,null)}),_e(this,de,Ar).call(this,()=>{Tt.ensure(),_e(this,de,rn).call(this)})},f=l=>{try{s=!0,r==null||r(l,o),s=!1}catch(v){wt(v,d(this,Se)&&d(this,Se).parent)}n&&V(this,We,_e(this,de,Ar).call(this,()=>{Tt.ensure();try{return Be(()=>{var v=te;v.b=this,v.f|=Qr,n(d(this,Fe),()=>l,()=>o)})}catch(v){return wt(v,d(this,Se).parent),null}}))};it(()=>{var l;try{l=this.transform_error(t)}catch(v){wt(v,d(this,Se)&&d(this,Se).parent);return}l!==null&&typeof l=="object"&&typeof l.then=="function"?l.then(f,v=>wt(v,d(this,Se)&&d(this,Se).parent)):f(l)})}}Fe=new WeakMap,vn=new WeakMap,nt=new WeakMap,Rt=new WeakMap,Se=new WeakMap,at=new WeakMap,Ne=new WeakMap,We=new WeakMap,vt=new WeakMap,Lt=new WeakMap,bt=new WeakMap,rr=new WeakMap,nr=new WeakMap,ar=new WeakMap,ct=new WeakMap,Ir=new WeakMap,de=new WeakSet,Ds=function(){try{V(this,at,Be(()=>d(this,Rt).call(this,d(this,Fe))))}catch(t){this.error(t)}},Os=function(t){const r=d(this,nt).failed;r&&V(this,We,Be(()=>{r(d(this,Fe),()=>t,()=>()=>{})}))},Ns=function(){const t=d(this,nt).pending;t&&(this.is_pending=!0,V(this,Ne,Be(()=>t(d(this,Fe)))),it(()=>{var r=V(this,vt,document.createDocumentFragment()),n=St();r.append(n),V(this,at,_e(this,de,Ar).call(this,()=>(Tt.ensure(),Be(()=>d(this,Rt).call(this,n))))),d(this,bt)===0&&(d(this,Fe).before(r),V(this,vt,null),Bt(d(this,Ne),()=>{V(this,Ne,null)}),_e(this,de,Pr).call(this))}))},rn=function(){try{if(this.is_pending=this.has_pending_snippet(),V(this,bt,0),V(this,Lt,0),V(this,at,Be(()=>{d(this,Rt).call(this,d(this,Fe))})),d(this,bt)>0){var t=V(this,vt,document.createDocumentFragment());xa(d(this,at),t);const r=d(this,nt).pending;V(this,Ne,Be(()=>r(d(this,Fe))))}else _e(this,de,Pr).call(this)}catch(r){this.error(r)}},Pr=function(){this.is_pending=!1;for(const t of d(this,nr))ve(t,ye),Ze(t);for(const t of d(this,ar))ve(t,$e),Ze(t);d(this,nr).clear(),d(this,ar).clear()},Ar=function(t){var r=te,n=Y,a=Ve;ot(d(this,Se)),Je(d(this,Se)),lr(d(this,Se).ctx);try{return t()}catch(s){return ea(s),null}finally{ot(r),Je(n),lr(a)}},nn=function(t){var r;if(!this.has_pending_snippet()){this.parent&&_e(r=this.parent,de,nn).call(r,t);return}V(this,bt,d(this,bt)+t),d(this,bt)===0&&(_e(this,de,Pr).call(this),d(this,Ne)&&Bt(d(this,Ne),()=>{V(this,Ne,null)}),d(this,vt)&&(d(this,Fe).before(d(this,vt)),V(this,vt,null)))};function Is(e,t,r,n){const a=qr;var s=e.filter(g=>!g.settled);if(r.length===0&&s.length===0){n(t.map(a));return}var o=te,f=Ms(),l=s.length===1?s[0].promise:s.length>1?Promise.all(s.map(g=>g.promise)):null;function v(g){f();try{n(g)}catch(y){(o.f&_t)===0&&wt(y,o)}an()}if(r.length===0){l.then(()=>v(t.map(a)));return}function c(){f(),Promise.all(r.map(g=>Ls(g))).then(g=>v([...t.map(a),...g])).catch(g=>wt(g,o))}l?l.then(c):c()}function Ms(){var e=te,t=Y,r=Ve,n=H;return function(s=!0){ot(e),Je(t),lr(r),s&&(n==null||n.activate())}}function an(e=!0){ot(null),Je(null),lr(null),e&&(H==null||H.deactivate())}function Rs(){var e=te.b,t=H,r=e.is_rendered();return e.update_pending_count(1),t.increment(r),()=>{e.update_pending_count(-1),t.decrement(r)}}function qr(e){var t=me|ye,r=Y!==null&&(Y.f&me)!==0?Y:null;return te!==null&&(te.f|=fr),{ctx:Ve,deps:null,effects:null,equals:Qn,f:t,fn:e,reactions:null,rv:0,v:ge,wv:0,parent:r??te,ac:null}}function Ls(e,t,r){te===null&&Qa();var a=void 0,s=Vt(ge),o=!Y,f=new Map;return Qs(()=>{var y;var l=Vn();a=l.promise;try{Promise.resolve(e()).then(l.resolve,l.reject).finally(an)}catch(w){l.reject(w),an()}var v=H;if(o){var c=Rs();(y=f.get(v))==null||y.reject(At),f.delete(v),f.set(v,l)}const g=(w,m=void 0)=>{if(v.activate(),m)m!==At&&(s.f|=kt,or(s,m));else{(s.f&kt)!==0&&(s.f^=kt),or(s,w);for(const[x,u]of f){if(f.delete(x),x===v)break;u.reject(At)}}c&&c()};l.promise.then(g,w=>g(null,w||"unknown"))}),mn(()=>{for(const l of f.values())l.reject(At)}),new Promise(l=>{function v(c){function g(){c===a?l(s):v(a)}c.then(g,g)}v(a)})}function ie(e){const t=qr(e);return Ca(t),t}function oa(e){const t=qr(e);return t.equals=Zn,t}function zs(e){var t=e.effects;if(t!==null){e.effects=null;for(var r=0;r<t.length;r+=1)je(t[r])}}function qs(e){for(var t=e.parent;t!==null;){if((t.f&me)===0)return(t.f&_t)===0?t:null;t=t.parent}return null}function hn(e){var t,r=te;ot(qs(e));try{e.f&=~Ut,zs(e),t=Da(e)}finally{ot(r)}return t}function ua(e){var t=hn(e);if(!e.equals(t)&&(e.wv=Pa(),(!(H!=null&&H.is_fork)||e.deps===null)&&(e.v=t,e.deps===null))){ve(e,he);return}Ct||(pe!==null?(pn()||H!=null&&H.is_fork)&&pe.set(e,t):_n(e))}function Fs(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(At),n.teardown=Va,n.ac=null,mr(n,0),wn(n))}function fa(e){if(e.effects!==null)for(const t of e.effects)t.teardown&&ur(t)}let sn=new Set;const Et=new Map;let va=!1;function Vt(e,t){var r={f:0,v:e,reactions:null,equals:Qn,rv:0,wv:0};return r}function M(e,t){const r=Vt(e);return Ca(r),r}function Bs(e,t=!1,r=!0){const n=Vt(e);return t||(n.equals=Zn),n}function h(e,t,r=!1){Y!==null&&(!Xe||(Y.f&Cn)!==0)&&Xn()&&(Y.f&(me|ht|dn|Cn))!==0&&(Ue===null||!sr.call(Ue,e))&&ss();let n=r?we(t):t;return or(e,n)}function or(e,t){if(!e.equals(t)){var r=e.v;Ct?Et.set(e,t):Et.set(e,r),e.v=t;var n=Tt.ensure();if(n.capture(e,r),(e.f&me)!==0){const a=e;(e.f&ye)!==0&&hn(a),_n(a)}e.wv=Pa(),ca(e,ye),te!==null&&(te.f&he)!==0&&(te.f&(et|Wt))===0&&(qe===null?Xs([e]):qe.push(e)),!n.is_fork&&sn.size>0&&!va&&Ks()}return t}function Ks(){va=!1;for(const e of sn)(e.f&he)!==0&&ve(e,$e),Sr(e)&&ur(e);sn.clear()}function hr(e){h(e,e.v+1)}function ca(e,t){var r=e.reactions;if(r!==null)for(var n=r.length,a=0;a<n;a++){var s=r[a],o=s.f,f=(o&ye)===0;if(f&&ve(s,t),(o&me)!==0){var l=s;pe==null||pe.delete(l),(o&Ut)===0&&(o&He&&(s.f|=Ut),ca(l,$e))}else f&&((o&ht)!==0&&Ge!==null&&Ge.add(s),Ze(s))}}function we(e){if(typeof e!="object"||e===null||qt in e)return e;const t=Un(e);if(t!==Ha&&t!==Ua)return e;var r=new Map,n=cn(e),a=M(0),s=Kt,o=f=>{if(Kt===s)return f();var l=Y,v=Kt;Je(null),On(s);var c=f();return Je(l),On(v),c};return n&&r.set("length",M(e.length)),new Proxy(e,{defineProperty(f,l,v){(!("value"in v)||v.configurable===!1||v.enumerable===!1||v.writable===!1)&&ns();var c=r.get(l);return c===void 0?o(()=>{var g=M(v.value);return r.set(l,g),g}):h(c,v.value,!0),!0},deleteProperty(f,l){var v=r.get(l);if(v===void 0){if(l in f){const c=o(()=>M(ge));r.set(l,c),hr(a)}}else h(v,ge),hr(a);return!0},get(f,l,v){var w;if(l===qt)return e;var c=r.get(l),g=l in f;if(c===void 0&&(!g||(w=Zt(f,l))!=null&&w.writable)&&(c=o(()=>{var m=we(g?f[l]:ge),x=M(m);return x}),r.set(l,c)),c!==void 0){var y=i(c);return y===ge?void 0:y}return Reflect.get(f,l,v)},getOwnPropertyDescriptor(f,l){var v=Reflect.getOwnPropertyDescriptor(f,l);if(v&&"value"in v){var c=r.get(l);c&&(v.value=i(c))}else if(v===void 0){var g=r.get(l),y=g==null?void 0:g.v;if(g!==void 0&&y!==ge)return{enumerable:!0,configurable:!0,value:y,writable:!0}}return v},has(f,l){var y;if(l===qt)return!0;var v=r.get(l),c=v!==void 0&&v.v!==ge||Reflect.has(f,l);if(v!==void 0||te!==null&&(!c||(y=Zt(f,l))!=null&&y.writable)){v===void 0&&(v=o(()=>{var w=c?we(f[l]):ge,m=M(w);return m}),r.set(l,v));var g=i(v);if(g===ge)return!1}return c},set(f,l,v,c){var j;var g=r.get(l),y=l in f;if(n&&l==="length")for(var w=v;w<g.v;w+=1){var m=r.get(w+"");m!==void 0?h(m,ge):w in f&&(m=o(()=>M(ge)),r.set(w+"",m))}if(g===void 0)(!y||(j=Zt(f,l))!=null&&j.writable)&&(g=o(()=>M(void 0)),h(g,we(v)),r.set(l,g));else{y=g.v!==ge;var x=o(()=>we(v));h(g,x)}var u=Reflect.getOwnPropertyDescriptor(f,l);if(u!=null&&u.set&&u.set.call(c,v),!y){if(n&&typeof l=="string"){var _=r.get("length"),P=Number(l);Number.isInteger(P)&&P>=_.v&&h(_,P+1)}hr(a)}return!0},ownKeys(f){i(a);var l=Reflect.ownKeys(f).filter(g=>{var y=r.get(g);return y===void 0||y.v!==ge});for(var[v,c]of r)c.v!==ge&&!(v in f)&&l.push(v);return l},setPrototypeOf(){as()}})}function Pn(e){try{if(e!==null&&typeof e=="object"&&qt in e)return e[qt]}catch{}return e}function Hs(e,t){return Object.is(Pn(e),Pn(t))}var xt,da,_a,ha;function Us(){if(xt===void 0){xt=window,da=/Firefox/.test(navigator.userAgent);var e=Element.prototype,t=Node.prototype,r=Text.prototype;_a=Zt(t,"firstChild").get,ha=Zt(t,"nextSibling").get,xn(e)&&(e.__click=void 0,e.__className=void 0,e.__attributes=null,e.__style=void 0,e.__e=void 0),xn(r)&&(r.__t=void 0)}}function St(e=""){return document.createTextNode(e)}function Ft(e){return _a.call(e)}function Er(e){return ha.call(e)}function p(e,t){return Ft(e)}function Jt(e,t=!1){{var r=Ft(e);return r instanceof Comment&&r.data===""?Er(r):r}}function k(e,t=1,r=!1){let n=e;for(;t--;)n=Er(n);return n}function Vs(e){e.textContent=""}function ga(){return!1}function pa(e,t,r){return document.createElementNS(t??Wn,e,void 0)}function gn(e,t){{const r=document.body;e.autofocus=!0,it(()=>{document.activeElement===r&&e.focus()})}}let An=!1;function Js(){An||(An=!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 Fr(e){var t=Y,r=te;Je(null),ot(null);try{return e()}finally{Je(t),ot(r)}}function ma(e,t,r,n=r){e.addEventListener(t,()=>Fr(r));const a=e.__on_r;a?e.__on_r=()=>{a(),n(!0)}:e.__on_r=()=>n(!0),Js()}function Ys(e){te===null&&(Y===null&&es(),$a()),Ct&&Xa()}function Gs(e,t){var r=t.last;r===null?t.last=t.first=e:(r.next=e,e.prev=r,t.last=e)}function gt(e,t,r){var n=te;n!==null&&(n.f&Me)!==0&&(e|=Me);var a={ctx:Ve,deps:null,nodes:null,f:e|ye|He,first:null,fn:t,last:null,next:null,parent:n,b:n&&n.b,prev:null,teardown:null,wv:0,ac:null};if(r)try{ur(a)}catch(f){throw je(a),f}else t!==null&&Ze(a);var s=a;if(r&&s.deps===null&&s.teardown===null&&s.nodes===null&&s.first===s.last&&(s.f&fr)===0&&(s=s.first,(e&ht)!==0&&(e&ir)!==0&&s!==null&&(s.f|=ir)),s!==null&&(s.parent=n,n!==null&&Gs(s,n),Y!==null&&(Y.f&me)!==0&&(e&Wt)===0)){var o=Y;(o.effects??(o.effects=[])).push(s)}return a}function pn(){return Y!==null&&!Xe}function mn(e){const t=gt(Lr,null,!1);return ve(t,he),t.teardown=e,t}function lt(e){Ys();var t=te.f,r=!Y&&(t&et)!==0&&(t&Ht)===0;if(r){var n=Ve;(n.e??(n.e=[])).push(e)}else return ya(e)}function ya(e){return gt(Tr|Ya,e,!1)}function Ws(e){Tt.ensure();const t=gt(Wt|fr,e,!0);return(r={})=>new Promise(n=>{r.outro?Bt(t,()=>{je(t),n(void 0)}):(je(t),n(void 0))})}function ba(e){return gt(Tr,e,!1)}function Qs(e){return gt(dn|fr,e,!0)}function yn(e,t=0){return gt(Lr|t,e,!0)}function F(e,t=[],r=[],n=[]){Is(n,t,r,a=>{gt(Lr,()=>e(...a.map(i)),!0)})}function bn(e,t=0){var r=gt(ht|t,e,!0);return r}function Be(e){return gt(et|fr,e,!0)}function wa(e){var t=e.teardown;if(t!==null){const r=Ct,n=Y;Dn(!0),Je(null);try{t.call(null)}finally{Dn(r),Je(n)}}}function wn(e,t=!1){var r=e.first;for(e.first=e.last=null;r!==null;){const a=r.ac;a!==null&&Fr(()=>{a.abort(At)});var n=r.next;(r.f&Wt)!==0?r.parent=null:je(r,t),r=n}}function Zs(e){for(var t=e.first;t!==null;){var r=t.next;(t.f&et)===0&&je(t),t=r}}function je(e,t=!0){var r=!1;(t||(e.f&Yn)!==0)&&e.nodes!==null&&e.nodes.end!==null&&(ka(e.nodes.start,e.nodes.end),r=!0),wn(e,t&&!r),mr(e,0),ve(e,_t);var n=e.nodes&&e.nodes.t;if(n!==null)for(const s of n)s.stop();wa(e);var a=e.parent;a!==null&&a.first!==null&&Ta(e),e.next=e.prev=e.teardown=e.ctx=e.deps=e.fn=e.nodes=e.ac=null}function ka(e,t){for(;e!==null;){var r=e===t?null:Er(e);e.remove(),e=r}}function Ta(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=[];Ea(e,n,!0);var a=()=>{r&&je(e),t&&t()},s=n.length;if(s>0){var o=()=>--s||a();for(var f of n)f.out(o)}else a()}function Ea(e,t,r){if((e.f&Me)===0){e.f^=Me;var n=e.nodes&&e.nodes.t;if(n!==null)for(const f of n)(f.is_global||r)&&t.push(f);for(var a=e.first;a!==null;){var s=a.next,o=(a.f&ir)!==0||(a.f&et)!==0&&(e.f&ht)!==0;Ea(a,t,o?r:!1),a=s}}}function kn(e){Sa(e,!0)}function Sa(e,t){if((e.f&Me)!==0){e.f^=Me,(e.f&he)===0&&(ve(e,ye),Ze(e));for(var r=e.first;r!==null;){var n=r.next,a=(r.f&ir)!==0||(r.f&et)!==0;Sa(r,a?t:!1),r=n}var s=e.nodes&&e.nodes.t;if(s!==null)for(const o of s)(o.is_global||t)&&o.in()}}function xa(e,t){if(e.nodes)for(var r=e.nodes.start,n=e.nodes.end;r!==null;){var a=r===n?null:Er(r);t.append(r),r=a}}let Dr=!1,Ct=!1;function Dn(e){Ct=e}let Y=null,Xe=!1;function Je(e){Y=e}let te=null;function ot(e){te=e}let Ue=null;function Ca(e){Y!==null&&(Ue===null?Ue=[e]:Ue.push(e))}let Ce=null,Oe=0,qe=null;function Xs(e){qe=e}let ja=1,Ot=0,Kt=Ot;function On(e){Kt=e}function Pa(){return++ja}function Sr(e){var t=e.f;if((t&ye)!==0)return!0;if(t&me&&(e.f&=~Ut),(t&$e)!==0){for(var r=e.deps,n=r.length,a=0;a<n;a++){var s=r[a];if(Sr(s)&&ua(s),s.wv>e.wv)return!0}(t&He)!==0&&pe===null&&ve(e,he)}return!1}function Aa(e,t,r=!0){var n=e.reactions;if(n!==null&&!(Ue!==null&&sr.call(Ue,e)))for(var a=0;a<n.length;a++){var s=n[a];(s.f&me)!==0?Aa(s,t,!1):t===s&&(r?ve(s,ye):(s.f&he)!==0&&ve(s,$e),Ze(s))}}function Da(e){var x;var t=Ce,r=Oe,n=qe,a=Y,s=Ue,o=Ve,f=Xe,l=Kt,v=e.f;Ce=null,Oe=0,qe=null,Y=(v&(et|Wt))===0?e:null,Ue=null,lr(e.ctx),Xe=!1,Kt=++Ot,e.ac!==null&&(Fr(()=>{e.ac.abort(At)}),e.ac=null);try{e.f|=Zr;var c=e.fn,g=c();e.f|=Ht;var y=e.deps,w=H==null?void 0:H.is_fork;if(Ce!==null){var m;if(w||mr(e,Oe),y!==null&&Oe>0)for(y.length=Oe+Ce.length,m=0;m<Ce.length;m++)y[Oe+m]=Ce[m];else e.deps=y=Ce;if(pn()&&(e.f&He)!==0)for(m=Oe;m<y.length;m++)((x=y[m]).reactions??(x.reactions=[])).push(e)}else!w&&y!==null&&Oe<y.length&&(mr(e,Oe),y.length=Oe);if(Xn()&&qe!==null&&!Xe&&y!==null&&(e.f&(me|$e|ye))===0)for(m=0;m<qe.length;m++)Aa(qe[m],e);if(a!==null&&a!==e){if(Ot++,a.deps!==null)for(let u=0;u<r;u+=1)a.deps[u].rv=Ot;if(t!==null)for(const u of t)u.rv=Ot;qe!==null&&(n===null?n=qe:n.push(...qe))}return(e.f&kt)!==0&&(e.f^=kt),g}catch(u){return ea(u)}finally{e.f^=Zr,Ce=t,Oe=r,qe=n,Y=a,Ue=s,lr(o),Xe=f,Kt=l}}function $s(e,t){let r=t.reactions;if(r!==null){var n=Fa.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&&(Ce===null||!sr.call(Ce,t))){var s=t;(s.f&He)!==0&&(s.f^=He,s.f&=~Ut),_n(s),Fs(s),mr(s,0)}}function mr(e,t){var r=e.deps;if(r!==null)for(var n=t;n<r.length;n++)$s(e,r[n])}function ur(e){var t=e.f;if((t&_t)===0){ve(e,he);var r=te,n=Dr;te=e,Dr=!0;try{(t&(ht|Jn))!==0?Zs(e):wn(e),wa(e);var a=Da(e);e.teardown=typeof a=="function"?a:null,e.wv=ja;var s;Wr&&ks&&(e.f&ye)!==0&&e.deps}finally{Dr=n,te=r}}}async function ei(){await Promise.resolve(),Ss()}function i(e){var t=e.f,r=(t&me)!==0;if(Y!==null&&!Xe){var n=te!==null&&(te.f&_t)!==0;if(!n&&(Ue===null||!sr.call(Ue,e))){var a=Y.deps;if((Y.f&Zr)!==0)e.rv<Ot&&(e.rv=Ot,Ce===null&&a!==null&&a[Oe]===e?Oe++:Ce===null?Ce=[e]:Ce.push(e));else{(Y.deps??(Y.deps=[])).push(e);var s=e.reactions;s===null?e.reactions=[Y]:sr.call(s,Y)||s.push(Y)}}}if(Ct&&Et.has(e))return Et.get(e);if(r){var o=e;if(Ct){var f=o.v;return((o.f&he)===0&&o.reactions!==null||Na(o))&&(f=hn(o)),Et.set(o,f),f}var l=(o.f&He)===0&&!Xe&&Y!==null&&(Dr||(Y.f&He)!==0),v=(o.f&Ht)===0;Sr(o)&&(l&&(o.f|=He),ua(o)),l&&!v&&(fa(o),Oa(o))}if(pe!=null&&pe.has(e))return pe.get(e);if((e.f&kt)!==0)throw e.v;return e.v}function Oa(e){if(e.f|=He,e.deps!==null)for(const t of e.deps)(t.reactions??(t.reactions=[])).push(e),(t.f&me)!==0&&(t.f&He)===0&&(fa(t),Oa(t))}function Na(e){if(e.v===ge)return!0;if(e.deps===null)return!1;for(const t of e.deps)if(Et.has(t)||(t.f&me)!==0&&Na(t))return!0;return!1}function Br(e){var t=Xe;try{return Xe=!0,e()}finally{Xe=t}}const ti=["touchstart","touchmove"];function ri(e){return ti.includes(e)}const Nt=Symbol("events"),Ia=new Set,ln=new Set;function ni(e,t,r,n={}){function a(s){if(n.capture||on.call(t,s),!s.cancelBubble)return Fr(()=>r==null?void 0:r.call(this,s))}return e.startsWith("pointer")||e.startsWith("touch")||e==="wheel"?it(()=>{t.addEventListener(e,a,n)}):t.addEventListener(e,a,n),a}function Pe(e,t,r,n,a){var s={capture:n,passive:a},o=ni(e,t,r,s);(t===document.body||t===window||t===document||t instanceof HTMLMediaElement)&&mn(()=>{t.removeEventListener(e,o,s)})}function ee(e,t,r){(t[Nt]??(t[Nt]={}))[e]=r}function Ye(e){for(var t=0;t<e.length;t++)Ia.add(e[t]);for(var r of ln)r(e)}let Nn=null;function on(e){var u,_;var t=this,r=t.ownerDocument,n=e.type,a=((u=e.composedPath)==null?void 0:u.call(e))||[],s=a[0]||e.target;Nn=e;var o=0,f=Nn===e&&e[Nt];if(f){var l=a.indexOf(f);if(l!==-1&&(t===document||t===window)){e[Nt]=t;return}var v=a.indexOf(t);if(v===-1)return;l<=v&&(o=l)}if(s=a[o]||e.target,s!==t){Ba(e,"currentTarget",{configurable:!0,get(){return s||r}});var c=Y,g=te;Je(null),ot(null);try{for(var y,w=[];s!==null;){var m=s.assignedSlot||s.parentNode||s.host||null;try{var x=(_=s[Nt])==null?void 0:_[n];x!=null&&(!s.disabled||e.target===s)&&x.call(s,e)}catch(P){y?w.push(P):y=P}if(e.cancelBubble||m===t||m===null)break;s=m}if(y){for(let P of w)queueMicrotask(()=>{throw P});throw y}}finally{e[Nt]=t,delete e.currentTarget,Je(c),ot(g)}}}var Kn;const Jr=((Kn=globalThis==null?void 0:globalThis.window)==null?void 0:Kn.trustedTypes)&&globalThis.window.trustedTypes.createPolicy("svelte-trusted-html",{createHTML:e=>e});function ai(e){return(Jr==null?void 0:Jr.createHTML(e))??e}function si(e){var t=pa("template");return t.innerHTML=ai(e.replaceAll("<!>","<!---->")),t.content}function Nr(e,t){var r=te;r.nodes===null&&(r.nodes={start:e,end:t,a:null,t:null})}function C(e,t){var r=(t&hs)!==0,n=(t&gs)!==0,a,s=!e.startsWith("<!>");return()=>{a===void 0&&(a=si(s?e:"<!>"+e),r||(a=Ft(a)));var o=n||da?document.importNode(a,!0):a.cloneNode(!0);if(r){var f=Ft(o),l=o.lastChild;Nr(f,l)}else Nr(o,o);return o}}function In(e=""){{var t=St(e+"");return Nr(t,t),t}}function S(e,t){e!==null&&e.before(t)}function R(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 ii(e,t){return li(e,t)}const Cr=new Map;function li(e,{target:t,anchor:r,props:n={},events:a,context:s,intro:o=!0,transformError:f}){Us();var l=void 0,v=Ws(()=>{var c=r??t.appendChild(St());Ps(c,{pending:()=>{}},w=>{Le({});var m=Ve;s&&(m.c=s),a&&(n.$$events=a),l=e(w,n)||{},ze()},f);var g=new Set,y=w=>{for(var m=0;m<w.length;m++){var x=w[m];if(!g.has(x)){g.add(x);var u=ri(x);for(const j of[t,document]){var _=Cr.get(j);_===void 0&&(_=new Map,Cr.set(j,_));var P=_.get(x);P===void 0?(j.addEventListener(x,on,{passive:u}),_.set(x,1)):_.set(x,P+1)}}}};return y(Rr(Ia)),ln.add(y),()=>{var u;for(var w of g)for(const _ of[t,document]){var m=Cr.get(_),x=m.get(w);--x==0?(_.removeEventListener(w,on),m.delete(w),m.size===0&&Cr.delete(_)):m.set(w,x)}ln.delete(y),c!==r&&((u=c.parentNode)==null||u.removeChild(c))}});return oi.set(l,v),l}let oi=new WeakMap;var Qe,st,Ie,zt,wr,kr,Mr;class ui{constructor(t,r=!0){tt(this,"anchor");Z(this,Qe,new Map);Z(this,st,new Map);Z(this,Ie,new Map);Z(this,zt,new Set);Z(this,wr,!0);Z(this,kr,()=>{var t=H;if(d(this,Qe).has(t)){var r=d(this,Qe).get(t),n=d(this,st).get(r);if(n)kn(n),d(this,zt).delete(r);else{var a=d(this,Ie).get(r);a&&(d(this,st).set(r,a.effect),d(this,Ie).delete(r),a.fragment.lastChild.remove(),this.anchor.before(a.fragment),n=a.effect)}for(const[s,o]of d(this,Qe)){if(d(this,Qe).delete(s),s===t)break;const f=d(this,Ie).get(o);f&&(je(f.effect),d(this,Ie).delete(o))}for(const[s,o]of d(this,st)){if(s===r||d(this,zt).has(s))continue;const f=()=>{if(Array.from(d(this,Qe).values()).includes(s)){var v=document.createDocumentFragment();xa(o,v),v.append(St()),d(this,Ie).set(s,{effect:o,fragment:v})}else je(o);d(this,zt).delete(s),d(this,st).delete(s)};d(this,wr)||!n?(d(this,zt).add(s),Bt(o,f,!1)):f()}}});Z(this,Mr,t=>{d(this,Qe).delete(t);const r=Array.from(d(this,Qe).values());for(const[n,a]of d(this,Ie))r.includes(n)||(je(a.effect),d(this,Ie).delete(n))});this.anchor=t,V(this,wr,r)}ensure(t,r){var n=H,a=ga();if(r&&!d(this,st).has(t)&&!d(this,Ie).has(t))if(a){var s=document.createDocumentFragment(),o=St();s.append(o),d(this,Ie).set(t,{effect:Be(()=>r(o)),fragment:s})}else d(this,st).set(t,Be(()=>r(this.anchor)));if(d(this,Qe).set(n,t),a){for(const[f,l]of d(this,st))f===t?n.unskip_effect(l):n.skip_effect(l);for(const[f,l]of d(this,Ie))f===t?n.unskip_effect(l.effect):n.skip_effect(l.effect);n.oncommit(d(this,kr)),n.ondiscard(d(this,Mr))}else d(this,kr).call(this)}}Qe=new WeakMap,st=new WeakMap,Ie=new WeakMap,zt=new WeakMap,wr=new WeakMap,kr=new WeakMap,Mr=new WeakMap;function K(e,t,r=!1){var n=new ui(e),a=r?ir:0;function s(o,f){n.ensure(o,f)}bn(()=>{var o=!1;t((f,l=0)=>{o=!0,s(l,f)}),o||s(!1,null)},a)}function Yt(e,t){return t}function fi(e,t,r){for(var n=[],a=t.length,s,o=t.length,f=0;f<a;f++){let g=t[f];Bt(g,()=>{if(s){if(s.pending.delete(g),s.done.add(g),s.pending.size===0){var y=e.outrogroups;un(Rr(s.done)),y.delete(s),y.size===0&&(e.outrogroups=null)}}else o-=1},!1)}if(o===0){var l=n.length===0&&r!==null;if(l){var v=r,c=v.parentNode;Vs(c),c.append(v),e.items.clear()}un(t,!l)}else s={pending:new Set(t),done:new Set},(e.outrogroups??(e.outrogroups=new Set)).add(s)}function un(e,t=!0){for(var r=0;r<e.length;r++)je(e[r],t)}var Mn;function Ae(e,t,r,n,a,s=null){var o=e,f=new Map,l=(t&Gn)!==0;if(l){var v=e;o=v.appendChild(St())}var c=null,g=oa(()=>{var _=r();return cn(_)?_:_==null?[]:Rr(_)}),y,w=!0;function m(){u.fallback=c,vi(u,y,o,t,n),c!==null&&(y.length===0?(c.f&dt)===0?kn(c):(c.f^=dt,dr(c,null,o)):Bt(c,()=>{c=null}))}var x=bn(()=>{y=i(g);for(var _=y.length,P=new Set,j=H,I=ga(),D=0;D<_;D+=1){var L=y[D],E=n(L,D),A=w?null:f.get(E);A?(A.v&&or(A.v,L),A.i&&or(A.i,D),I&&j.unskip_effect(A.e)):(A=ci(f,w?o:Mn??(Mn=St()),L,E,D,a,t,r),w||(A.e.f|=dt),f.set(E,A)),P.add(E)}if(_===0&&s&&!c&&(w?c=Be(()=>s(o)):(c=Be(()=>s(Mn??(Mn=St()))),c.f|=dt)),_>P.size&&Za(),!w)if(I){for(const[B,G]of f)P.has(B)||j.skip_effect(G.e);j.oncommit(m),j.ondiscard(()=>{})}else m();i(g)}),u={effect:x,items:f,outrogroups:null,fallback:c};w=!1}function cr(e){for(;e!==null&&(e.f&et)===0;)e=e.next;return e}function vi(e,t,r,n,a){var G,oe,z,J,q,W,$,Q,se;var s=(n&us)!==0,o=t.length,f=e.items,l=cr(e.effect.first),v,c=null,g,y=[],w=[],m,x,u,_;if(s)for(_=0;_<o;_+=1)m=t[_],x=a(m,_),u=f.get(x).e,(u.f&dt)===0&&((oe=(G=u.nodes)==null?void 0:G.a)==null||oe.measure(),(g??(g=new Set)).add(u));for(_=0;_<o;_+=1){if(m=t[_],x=a(m,_),u=f.get(x).e,e.outrogroups!==null)for(const U of e.outrogroups)U.pending.delete(u),U.done.delete(u);if((u.f&dt)!==0)if(u.f^=dt,u===l)dr(u,null,r);else{var P=c?c.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),yt(e,c,u),yt(e,u,P),dr(u,P,r),c=u,y=[],w=[],l=cr(c.next);continue}if((u.f&Me)!==0&&(kn(u),s&&((J=(z=u.nodes)==null?void 0:z.a)==null||J.unfix(),(g??(g=new Set)).delete(u))),u!==l){if(v!==void 0&&v.has(u)){if(y.length<w.length){var j=w[0],I;c=j.prev;var D=y[0],L=y[y.length-1];for(I=0;I<y.length;I+=1)dr(y[I],j,r);for(I=0;I<w.length;I+=1)v.delete(w[I]);yt(e,D.prev,L.next),yt(e,c,D),yt(e,L,j),l=j,c=L,_-=1,y=[],w=[]}else v.delete(u),dr(u,l,r),yt(e,u.prev,u.next),yt(e,u,c===null?e.effect.first:c.next),yt(e,c,u),c=u;continue}for(y=[],w=[];l!==null&&l!==u;)(v??(v=new Set)).add(l),w.push(l),l=cr(l.next);if(l===null)continue}(u.f&dt)===0&&y.push(u),c=u,l=cr(u.next)}if(e.outrogroups!==null){for(const U of e.outrogroups)U.pending.size===0&&(un(Rr(U.done)),(q=e.outrogroups)==null||q.delete(U));e.outrogroups.size===0&&(e.outrogroups=null)}if(l!==null||v!==void 0){var E=[];if(v!==void 0)for(u of v)(u.f&Me)===0&&E.push(u);for(;l!==null;)(l.f&Me)===0&&l!==e.fallback&&E.push(l),l=cr(l.next);var A=E.length;if(A>0){var B=(n&Gn)!==0&&o===0?r:null;if(s){for(_=0;_<A;_+=1)($=(W=E[_].nodes)==null?void 0:W.a)==null||$.measure();for(_=0;_<A;_+=1)(se=(Q=E[_].nodes)==null?void 0:Q.a)==null||se.fix()}fi(e,E,B)}}s&&it(()=>{var U,ae;if(g!==void 0)for(u of g)(ae=(U=u.nodes)==null?void 0:U.a)==null||ae.apply()})}function ci(e,t,r,n,a,s,o,f){var l=(o&ls)!==0?(o&fs)===0?Bs(r,!1,!1):Vt(r):null,v=(o&os)!==0?Vt(a):null;return{v:l,i:v,e:Be(()=>(s(t,l??r,v??a,f),()=>{e.delete(n)}))}}function dr(e,t,r){if(e.nodes)for(var n=e.nodes.start,a=e.nodes.end,s=t&&(t.f&dt)===0?t.nodes.start:r;n!==null;){var o=Er(n);if(s.before(n),n===a)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 di(e,t,r=!1,n=!1,a=!1){var s=e,o="";F(()=>{var f=te;if(o!==(o=t()??"")&&(f.nodes!==null&&(ka(f.nodes.start,f.nodes.end),f.nodes=null),o!=="")){var l=r?ps:n?ms:void 0,v=pa(r?"svg":n?"math":"template",l);v.innerHTML=o;var c=r||n?v:v.content;if(Nr(Ft(c),c.lastChild),r||n)for(;Ft(c);)s.before(Ft(c));else s.before(c)}})}const Rn=[...`
2
+ \r\f \v\uFEFF`];function _i(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 s=a.length,o=0;(o=n.indexOf(a,o))>=0;){var f=o+s;(o===0||Rn.includes(n[o-1]))&&(f===n.length||Rn.includes(n[f]))?n=(o===0?"":n.substring(0,o))+n.substring(f+1):o=f}}return n===""?null:n}function hi(e,t){return e==null?null:String(e)}function Te(e,t,r,n,a,s){var o=e.__className;if(o!==r||o===void 0){var f=_i(r,n,s);f==null?e.removeAttribute("class"):e.className=f,e.__className=r}else if(s&&a!==s)for(var l in s){var v=!!s[l];(a==null||v!==!!a[l])&&e.classList.toggle(l,v)}return s}function Tn(e,t,r,n){var a=e.__style;if(a!==t){var s=hi(t);s==null?e.removeAttribute("style"):e.style.cssText=s,e.__style=t}return n}function Ma(e,t,r=!1){if(e.multiple){if(t==null)return;if(!cn(t))return ys();for(var n of e.options)n.selected=t.includes(gr(n));return}for(n of e.options){var a=gr(n);if(Hs(a,t)){n.selected=!0;return}}(!r||t!==void 0)&&(e.selectedIndex=-1)}function gi(e){var t=new MutationObserver(()=>{Ma(e,e.__value)});t.observe(e,{childList:!0,subtree:!0,attributes:!0,attributeFilter:["value"]}),mn(()=>{t.disconnect()})}function Ln(e,t,r=t){var n=new WeakSet,a=!0;ma(e,"change",s=>{var o=s?"[selected]":":checked",f;if(e.multiple)f=[].map.call(e.querySelectorAll(o),gr);else{var l=e.querySelector(o)??e.querySelector("option:not([disabled])");f=l&&gr(l)}r(f),H!==null&&n.add(H)}),ba(()=>{var s=t();if(e===document.activeElement){var o=Or??H;if(n.has(o))return}if(Ma(e,s,a),a&&s===void 0){var f=e.querySelector(":checked");f!==null&&(s=gr(f),r(s))}e.__value=s,a=!1}),gi(e)}function gr(e){return"__value"in e?e.__value:e.value}const pi=Symbol("is custom element"),mi=Symbol("is html"),yi=Wa?"progress":"PROGRESS";function bi(e,t){var r=Ra(e);r.value===(r.value=t??void 0)||e.value===t&&(t!==0||e.nodeName!==yi)||(e.value=t??"")}function zn(e,t,r,n){var a=Ra(e);a[t]!==(a[t]=r)&&(r==null?e.removeAttribute(t):typeof r!="string"&&wi(e).includes(t)?e[t]=r:e.setAttribute(t,r))}function Ra(e){return e.__attributes??(e.__attributes={[pi]:e.nodeName.includes("-"),[mi]:e.namespaceURI===Wn})}var qn=new Map;function wi(e){var t=e.getAttribute("is")||e.nodeName,r=qn.get(t);if(r)return r;qn.set(t,r=[]);for(var n,a=e,s=Element.prototype;s!==a;){n=Ka(a);for(var o in n)n[o].set&&r.push(o);a=Un(a)}return r}function pr(e,t,r=t){var n=new WeakSet;ma(e,"input",async a=>{var s=a?e.defaultValue:e.value;if(s=Yr(e)?Gr(s):s,r(s),H!==null&&n.add(H),await ei(),s!==(s=t())){var o=e.selectionStart,f=e.selectionEnd,l=e.value.length;if(e.value=s??"",f!==null){var v=e.value.length;o===f&&f===l&&v>l?(e.selectionStart=v,e.selectionEnd=v):(e.selectionStart=o,e.selectionEnd=Math.min(f,v))}}}),Br(t)==null&&e.value&&(r(Yr(e)?Gr(e.value):e.value),H!==null&&n.add(H)),yn(()=>{var a=t();if(e===document.activeElement){var s=Or??H;if(n.has(s))return}Yr(e)&&a===Gr(e.value)||e.type==="date"&&!a&&!e.value||a!==e.value&&(e.value=a??"")})}function Yr(e){var t=e.type;return t==="number"||t==="range"}function Gr(e){return e===""?null:+e}function Fn(e,t){return e===t||(e==null?void 0:e[qt])===t}function fn(e={},t,r,n){return ba(()=>{var a,s;return yn(()=>{a=s,s=[],Br(()=>{e!==r(...s)&&(t(e,...s),a&&Fn(r(...a),e)&&t(null,...a))})}),()=>{it(()=>{s&&Fn(r(...s),e)&&t(null,...s)})}}),e}let jr=!1;function ki(e){var t=jr;try{return jr=!1,[e(),jr]}finally{jr=t}}function Gt(e,t,r,n){var P;var a=(r&ds)!==0,s=(r&_s)!==0,o=n,f=!0,l=()=>(f&&(f=!1,o=s?Br(n):n),o),v;if(a){var c=qt in e||Ga in e;v=((P=Zt(e,t))==null?void 0:P.set)??(c&&t in e?j=>e[t]=j:void 0)}var g,y=!1;a?[g,y]=ki(()=>e[t]):g=e[t],g===void 0&&n!==void 0&&(g=l(),v&&(rs(),v(g)));var w;if(w=()=>{var j=e[t];return j===void 0?l():(f=!0,j)},(r&cs)===0)return w;if(v){var m=e.$$legacy;return(function(j,I){return arguments.length>0?((!I||m||y)&&v(I?w():j),j):w()})}var x=!1,u=((r&vs)!==0?qr:oa)(()=>(x=!1,w()));a&&i(u);var _=te;return(function(j,I){if(arguments.length>0){const D=I?i(u):a?we(j):j;return h(u,D),x=!0,o!==void 0&&(o=D),j}return Ct&&x||(_.f&_t)!==0?u.v:i(u)})}const Ti="5";var Hn;typeof window<"u"&&((Hn=window.__svelte??(window.__svelte={})).v??(Hn.v=new Set)).add(Ti);async function rt(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 Ke={getProjects:()=>rt("/projects"),getProject:e=>rt(`/projects/${e}`),updateProject:(e,t)=>rt(`/projects/${e}`,{method:"PATCH",body:JSON.stringify(t)}),getTasks:e=>rt(`/projects/${e}/tasks?include_done=true`),createTask:(e,t)=>rt(`/projects/${e}/tasks`,{method:"POST",body:JSON.stringify(t)}),updateTask:(e,t)=>rt(`/tasks/${e}`,{method:"PATCH",body:JSON.stringify(t)}),deleteTask:e=>rt(`/tasks/${e}`,{method:"DELETE"}),getNotes:e=>rt(`/projects/${e}/notes`),getDecisions:e=>rt(`/projects/${e}/decisions`),getTaskHistory:e=>rt(`/tasks/${e}/history`)};var Ei=C('<input class="rename-input svelte-1kanzy0" type="text"/>'),Si=C('<span class="project-slug svelte-1kanzy0"> </span>'),xi=C('<span class="project-name svelte-1kanzy0"> </span> <!> <button class="rename-btn svelte-1kanzy0" title="Rename project">✎</button>',1),Ci=C('<div class="project-area svelte-1kanzy0"><!></div>'),ji=C('<header class="toolbar svelte-1kanzy0"><!></header>');function Pi(e,t){Le(t,!0);let r=M(!1),n=M("");const a=ie(()=>t.projects.find(g=>g.id===t.selectedId));function s(){i(a)&&(h(n,i(a).name,!0),h(r,!0))}function o(){if(!i(a)||!i(r))return;const g=i(n).trim();g&&g!==i(a).name&&t.onRenamed(i(a).id,g),h(r,!1)}function f(g){g.key==="Enter"&&o(),g.key==="Escape"&&h(r,!1)}var l=ji(),v=p(l);{var c=g=>{var y=Ci(),w=p(y);{var m=u=>{var _=Ei();gn(_),Pe("blur",_,o),ee("keydown",_,f),pr(_,()=>i(n),P=>h(n,P)),S(u,_)},x=u=>{var _=xi(),P=Jt(_),j=p(P),I=k(P,2);{var D=E=>{var A=Si(),B=p(A);F(()=>R(B,`[${i(a).slug??""}]`)),S(E,A)};K(I,E=>{i(a).slug&&E(D)})}var L=k(I,2);F(()=>R(j,i(a).name)),ee("click",L,s),S(u,_)};K(w,u=>{i(r)?u(m):u(x,!1)})}S(g,y)};K(v,g=>{i(a)&&g(c)})}S(e,l),ze()}Ye(["keydown","click"]);var Ai=C('<span class="brand svelte-rig7vt"><span class="prompt svelte-rig7vt">&gt;</span> mindpm</span>'),Di=C('<span class="task-count svelte-rig7vt"> </span>'),Oi=C('<span class="project-name svelte-rig7vt"> </span> <!>',1),Ni=C('<span class="task-count svelte-rig7vt"> </span>'),Ii=C('<span class="project-slug-collapsed svelte-rig7vt"> </span> <!>',1),Mi=C('<button><span class="status-dot svelte-rig7vt"></span> <!></button>'),Ri=C('<div class="sidebar-footer svelte-rig7vt"><span class="footer-hint svelte-rig7vt"> </span></div>'),Li=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 zi(e,t){Le(t,!0);const r="mindpm_sidebar_collapsed";let n=M(localStorage.getItem(r)==="true");function a(){h(n,!i(n)),localStorage.setItem(r,String(i(n)))}const s={active:"var(--primary)",paused:"#d29922",completed:"var(--text-muted)",archived:"var(--border-bright)"};var o=Li();let f;var l=p(o),v=p(l);{var c=u=>{var _=Ai();S(u,_)};K(v,u=>{i(n)||u(c)})}var g=k(v,2),y=p(g),w=k(l,2);Ae(w,21,()=>t.projects,u=>u.id,(u,_)=>{var P=Mi();let j;var I=p(P),D=k(I,2);{var L=A=>{var B=Oi(),G=Jt(B),oe=p(G),z=k(G,2);{var J=q=>{var W=Di(),$=p(W);F(()=>R($,i(_).active_task_count)),S(q,W)};K(z,q=>{(i(_).active_task_count??0)>0&&q(J)})}F(()=>R(oe,i(_).name)),S(A,B)},E=A=>{var B=Ii(),G=Jt(B),oe=p(G),z=k(G,2);{var J=q=>{var W=Ni(),$=p(W);F(()=>R($,i(_).active_task_count)),S(q,W)};K(z,q=>{(i(_).active_task_count??0)>0&&q(J)})}F(()=>R(oe,i(_).slug??i(_).id)),S(A,B)};K(D,A=>{i(n)?A(E,!1):A(L)})}F(()=>{j=Te(P,1,"project-item svelte-rig7vt",null,j,{active:i(_).id===t.selectedId}),zn(P,"title",i(n)?i(_).name:void 0),Tn(I,`background: ${s[i(_).status]??"var(--text-muted)"??""}`)}),ee("click",P,()=>t.onSelect(i(_).id)),S(u,P)});var m=k(w,2);{var x=u=>{var _=Ri(),P=p(_),j=p(P);F(()=>R(j,`// ${t.projects.length??""} project${t.projects.length!==1?"s":""}`)),S(u,_)};K(m,u=>{i(n)||u(x)})}F(()=>{f=Te(o,1,"sidebar svelte-rig7vt",null,f,{collapsed:i(n)}),zn(g,"title",i(n)?"Expand sidebar":"Collapse sidebar"),R(y,i(n)?"»":"«")}),ee("click",g,a),S(e,o),ze()}Ye(["click"]);const qi=[{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"}],La=["critical","high","medium","low"];var Fi=C('<span class="task-id svelte-35ep21"> </span>'),Bi=C('<div class="card-desc svelte-35ep21"> </div>'),Ki=C('<span class="tag svelte-35ep21"> </span>'),Hi=C('<div class="card-tags svelte-35ep21"></div>'),Ui=C('<span class="badge badge-blocked svelte-35ep21"> </span>'),Vi=C('<span class="badge badge-subtasks svelte-35ep21"> </span>'),Ji=C('<div class="card-footer svelte-35ep21"><!> <!></div>'),Yi=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 Gi(e,t){Le(t,!0);let r=Gt(t,"subtaskCount",3,0),n=M(!1);function a(z){if(!z)return[];try{return JSON.parse(z)}catch{return[]}}const s=ie(()=>a(t.task.tags)),o=ie(()=>`priority-${t.task.priority}`),f=ie(()=>()=>{if(!t.task.blocked_by)return 0;try{const z=JSON.parse(t.task.blocked_by);return Array.isArray(z)?z.length:0}catch{return 0}});function l(z){h(n,!0),t.onDragStart(z,t.task)}function v(){h(n,!1)}var c=Yi();let g;var y=p(c),w=p(y),m=p(w),x=k(w,2),u=p(x);{var _=z=>{var J=Fi(),q=p(J);F(()=>R(q,t.task.short_id)),S(z,J)};K(u,z=>{t.task.short_id&&z(_)})}var P=k(u,2),j=k(y,2),I=p(j),D=k(j,2);{var L=z=>{var J=Bi(),q=p(J);F(()=>R(q,t.task.description)),S(z,J)};K(D,z=>{t.task.description&&z(L)})}var E=k(D,2);{var A=z=>{var J=Hi();Ae(J,21,()=>i(s),Yt,(q,W)=>{var $=Ki(),Q=p($);F(()=>R(Q,i(W))),S(q,$)}),S(z,J)};K(E,z=>{i(s).length>0&&z(A)})}var B=k(E,2);{var G=z=>{var J=Ji(),q=p(J);{var W=U=>{var ae=Ui(),X=p(ae);F(ne=>R(X,`⊘ blocked by ${ne??""}`),[()=>i(f)()]),S(U,ae)},$=ie(()=>i(f)()>0);K(q,U=>{i($)&&U(W)})}var Q=k(q,2);{var se=U=>{var ae=Vi(),X=p(ae);F(()=>R(X,`⑂ ${r()??""}`)),S(U,ae)};K(Q,U=>{r()>0&&U(se)})}S(z,J)},oe=ie(()=>i(f)()>0||r()>0);K(B,z=>{i(oe)&&z(G)})}F(()=>{g=Te(c,1,`card ${i(o)??""}`,"svelte-35ep21",g,{dragging:i(n)}),Te(w,1,`priority-badge ${i(o)??""}`,"svelte-35ep21"),R(m,t.task.priority),R(I,t.task.title)}),Pe("dragstart",c,l),Pe("dragend",c,v),ee("click",c,()=>t.onEdit(t.task)),ee("keydown",c,z=>{z.key==="Enter"&&t.onEdit(t.task)}),ee("click",P,z=>{z.stopPropagation(),t.onDelete(t.task)}),S(e,c),ze()}Ye(["click","keydown"]);var Wi=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>'),Qi=C('<button class="add-btn svelte-zswfgn" title="Add task">+</button>'),Zi=C('<div class="wip-banner svelte-zswfgn"> </div>'),Xi=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),$i=C('<div role="list"><!></div>');function el(e,t){Le(t,!0);const r=5,n="mindpm_collapsed_cols";let a=M(!1);function s(){try{const P=localStorage.getItem(n);return(P?JSON.parse(P):[]).includes(t.status)}catch{return!1}}function o(P){try{const j=localStorage.getItem(n),I=j?JSON.parse(j):[],D=P?[...new Set([...I,t.status])]:I.filter(L=>L!==t.status);localStorage.setItem(n,JSON.stringify(D))}catch{}}let f=M(we(s()));function l(){h(f,!i(f)),o(i(f))}const v=ie(()=>t.status==="in_progress"&&t.tasks.length>r);function c(P){P.preventDefault(),P.dataTransfer&&(P.dataTransfer.dropEffect="move"),h(a,!0)}function g(){h(a,!1)}function y(P){P.preventDefault(),h(a,!1),t.onDrop(t.status)}var w=$i();let m;var x=p(w);{var u=P=>{var j=Wi(),I=p(j),D=k(I,2),L=p(D);let E;var A=p(L),B=k(L,2),G=p(B);F(()=>{E=Te(L,1,"collapsed-count svelte-zswfgn",null,E,{wip:i(v)}),R(A,`[${t.tasks.length??""}]`),R(G,t.label)}),ee("click",I,l),S(P,j)},_=P=>{var j=Xi(),I=Jt(j),D=p(I),L=k(p(D)),E=k(L);let A;var B=p(E),G=k(D,2),oe=p(G);{var z=Q=>{var se=Qi();ee("click",se,()=>t.onAddTask(t.status)),S(Q,se)};K(oe,Q=>{t.status==="todo"&&Q(z)})}var J=k(oe,2),q=k(I,2);{var W=Q=>{var se=Zi(),U=p(se);F(()=>R(U,`WIP limit exceeded (${t.tasks.length??""}/5)`)),S(Q,se)};K(q,Q=>{i(v)&&Q(W)})}var $=k(q,2);Ae($,21,()=>t.tasks,Q=>Q.id,(Q,se)=>{{let U=ie(()=>t.subtaskCounts.get(i(se).id)??0);Gi(Q,{get task(){return i(se)},get subtaskCount(){return i(U)},get onEdit(){return t.onEdit},get onDelete(){return t.onDelete},get onDragStart(){return t.onDragStart}})}}),F(()=>{R(L,` ${t.label??""} `),A=Te(E,1,"count svelte-zswfgn",null,A,{wip:i(v)}),R(B,`[${t.tasks.length??""}${i(v)?" ⚠":""}]`)}),ee("click",J,l),S(P,j)};K(x,P=>{i(f)?P(u):P(_,!1)})}F(()=>m=Te(w,1,"column svelte-zswfgn",null,m,{"drag-over":i(a),collapsed:i(f),"wip-warning":i(v)})),Pe("dragover",w,c),Pe("dragleave",w,g),Pe("drop",w,y),S(e,w),ze()}Ye(["click"]);var tl=C('<span class="modal-task-id svelte-1gmf2hi"> </span>'),rl=C("<option> </option>"),nl=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>'),al=C('<span class="blocker-id svelte-1gmf2hi"> </span>'),sl=C("<span> </span>"),il=C('<div class="blocked-item svelte-1gmf2hi"><!> <span class="blocker-title svelte-1gmf2hi"> </span> <!></div>'),ll=C('<div class="blocked-section svelte-1gmf2hi"><h3 class="section-heading svelte-1gmf2hi">Blocked by</h3> <div class="blocked-list svelte-1gmf2hi"></div></div>'),ol=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>'),ul=C('<div class="history-section svelte-1gmf2hi"><h3 class="history-heading svelte-1gmf2hi">History</h3> <div class="history-list svelte-1gmf2hi"></div></div>'),fl=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 vl(e,t){Le(t,!0);let r=Gt(t,"allTasks",19,()=>[]),n=Gt(t,"defaultStatus",3,"todo"),a=M(""),s=M(""),o=M("medium"),f=M("todo"),l=M(""),v=M(we([]));lt(()=>{var T,O,re,fe,ce;if(h(a,((T=t.task)==null?void 0:T.title)??"",!0),h(s,((O=t.task)==null?void 0:O.description)??"",!0),h(o,((re=t.task)==null?void 0:re.priority)??"medium",!0),h(f,((fe=t.task)==null?void 0:fe.status)??n(),!0),(ce=t.task)!=null&&ce.tags)try{h(l,JSON.parse(t.task.tags).join(", "),!0)}catch{h(l,"")}else h(l,"")}),lt(()=>{t.task!==null?Ke.getTaskHistory(t.task.id).then(T=>{h(v,T,!0)}).catch(()=>{h(v,[],!0)}):h(v,[],!0)});const c=ie(()=>t.task!==null),g=ie(()=>()=>{var T;if(!((T=t.task)!=null&&T.blocked_by))return[];try{const O=JSON.parse(t.task.blocked_by);if(!Array.isArray(O)||O.length===0)return[];const re=new Map(r().map(fe=>[fe.id,fe]));return O.map(fe=>re.get(fe)??{id:fe,title:fe,short_id:null,status:null})}catch{return[]}});function y(T){switch(T.event){case"created":return"<b>created</b>";case"status_changed":return`status <b>${T.old_value}</b> → <b>${T.new_value}</b>`;case"priority_changed":return`priority <b>${T.old_value}</b> → <b>${T.new_value}</b>`;case"title_changed":return"title renamed";default:return T.event.replace(/_/g," ")}}function w(T){return new Date(T.replace(" ","T")+"Z").toLocaleString(void 0,{month:"short",day:"numeric",hour:"2-digit",minute:"2-digit"})}function m(T){T.preventDefault();const O=i(a).trim();if(!O)return;const re=i(l).split(",").map(fe=>fe.trim()).filter(Boolean);t.onSave({title:O,description:i(s).trim(),priority:i(o),...i(c)?{status:i(f)}:{},tags:re})}function x(T){T.target.classList.contains("modal-backdrop")&&t.onClose()}function u(T){T.key==="Escape"&&t.onClose()}var _=fl();Pe("keydown",xt,u);var P=p(_),j=p(P),I=p(j),D=p(I),L=p(D),E=k(D,2);{var A=T=>{var O=tl(),re=p(O);F(()=>R(re,t.task.short_id)),S(T,O)};K(E,T=>{var O;(O=t.task)!=null&&O.short_id&&T(A)})}var B=k(I,2),G=k(j,2),oe=p(G),z=k(p(oe),2);gn(z);var J=k(oe,2),q=k(p(J),2),W=k(J,2),$=p(W),Q=k(p($),2);Ae(Q,21,()=>La,Yt,(T,O)=>{var re=rl(),fe=p(re),ce={};F(()=>{R(fe,i(O)),ce!==(ce=i(O))&&(re.value=(re.__value=i(O))??"")}),S(T,re)});var se=k($,2);{var U=T=>{var O=nl(),re=k(p(O),2),fe=p(re);fe.value=fe.__value="todo";var ce=k(fe);ce.value=ce.__value="in_progress";var ut=k(ce);ut.value=ut.__value="blocked";var pt=k(ut);pt.value=pt.__value="in_review";var mt=k(pt);mt.value=mt.__value="done";var jt=k(mt);jt.value=jt.__value="cancelled",Ln(re,()=>i(f),vr=>h(f,vr)),S(T,O)};K(se,T=>{i(c)&&T(U)})}var ae=k(W,2),X=k(p(ae),2),ne=k(ae,2),ue=p(ne),ke=k(ue,2),Ee=p(ke),De=k(G,2);{var le=T=>{var O=ll(),re=k(p(O),2);Ae(re,21,()=>i(g)(),Yt,(fe,ce)=>{var ut=il(),pt=p(ut);{var mt=Pt=>{var Qt=al(),Ur=p(Qt);F(()=>R(Ur,i(ce).short_id)),S(Pt,Qt)};K(pt,Pt=>{i(ce).short_id&&Pt(mt)})}var jt=k(pt,2),vr=p(jt),Kr=k(jt,2);{var Hr=Pt=>{var Qt=sl(),Ur=p(Qt);F(()=>{Te(Qt,1,`blocker-status blocker-status-${i(ce).status??""}`,"svelte-1gmf2hi"),R(Ur,i(ce).status)}),S(Pt,Qt)};K(Kr,Pt=>{i(ce).status&&Pt(Hr)})}F(()=>R(vr,i(ce).title)),S(fe,ut)}),S(T,O)},be=ie(()=>i(c)&&i(g)().length>0);K(De,T=>{i(be)&&T(le)})}var b=k(De,2);{var N=T=>{var O=ul(),re=k(p(O),2);Ae(re,21,()=>i(v),fe=>fe.id,(fe,ce)=>{var ut=ol(),pt=k(p(ut),2),mt=p(pt),jt=p(mt);di(jt,()=>y(i(ce)));var vr=k(mt,2),Kr=p(vr);F(Hr=>R(Kr,Hr),[()=>w(i(ce).created_at)]),S(fe,ut)}),S(T,O)};K(b,T=>{i(c)&&i(v).length>0&&T(N)})}F(()=>{R(L,i(c)?"Edit Task":"New Task"),R(Ee,i(c)?"Save":"Create")}),ee("click",_,x),ee("click",B,function(...T){var O;(O=t.onClose)==null||O.apply(this,T)}),Pe("submit",G,m),pr(z,()=>i(a),T=>h(a,T)),pr(q,()=>i(s),T=>h(s,T)),Ln(Q,()=>i(o),T=>h(o,T)),pr(X,()=>i(l),T=>h(l,T)),ee("click",ue,function(...T){var O;(O=t.onClose)==null||O.apply(this,T)}),S(e,_),ze()}Ye(["click"]);var cl=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 dl(e,t){Le(t,!0);let r=Gt(t,"confirmLabel",3,"Delete");function n(x){x.target.classList.contains("modal-backdrop")&&t.onCancel()}function a(x){x.key==="Escape"&&t.onCancel()}var s=cl();Pe("keydown",xt,a);var o=p(s),f=p(o),l=p(f),v=k(f,2),c=p(v),g=k(v,2),y=p(g),w=k(y,2),m=p(w);F(()=>{R(l,t.title),R(c,t.message),R(m,r())}),ee("click",s,n),ee("click",y,function(...x){var u;(u=t.onCancel)==null||u.apply(this,x)}),ee("click",w,function(...x){var u;(u=t.onConfirm)==null||u.apply(this,x)}),S(e,s),ze()}Ye(["click"]);var _l=C('<button class="clear-input svelte-dhotvj">&times;</button>'),hl=C("<button> </button>"),gl=C('<button><span class="tag-checkbox svelte-dhotvj"> </span> <span class="tag-name svelte-dhotvj"> </span></button>'),pl=C('<button class="tag-clear svelte-dhotvj">clear tags</button>'),ml=C('<div class="tag-dropdown svelte-dhotvj"><!> <!></div>'),yl=C('<div class="filter-section tag-dropdown-wrapper svelte-dhotvj"><span class="filter-label svelte-dhotvj">tags:</span> <button><!></button> <!></div>'),bl=C('<button class="clear-all svelte-dhotvj"> </button>'),wl=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 kl(e,t){Le(t,!0);let r=Gt(t,"focusSearch",15,null),n=M(null),a=M(!1),s=M(null);lt(()=>{r(()=>{var D;return(D=i(n))==null?void 0:D.focus()})});const o=ie(()=>(t.searchQuery.trim()?1:0)+t.selectedPriorities.size+t.selectedTags.size),f={critical:"var(--priority-critical)",high:"var(--priority-high)",medium:"var(--priority-medium)",low:"var(--text-muted)"};function l(D){D.key==="Escape"&&h(a,!1)}function v(D){i(s)&&!i(s).contains(D.target)&&h(a,!1)}var c=wl();Pe("click",xt,v),Pe("keydown",xt,l);var g=p(c),y=k(p(g),2);fn(y,D=>h(n,D),()=>i(n));var w=k(y,2);{var m=D=>{var L=_l();ee("click",L,()=>t.onSearchChange("")),S(D,L)};K(w,D=>{t.searchQuery&&D(m)})}var x=k(g,2),u=k(p(x),2);Ae(u,21,()=>La,Yt,(D,L)=>{var E=hl();let A;var B=p(E);F(G=>{A=Te(E,1,"chip svelte-dhotvj",null,A,G),Tn(E,`--chip-color: ${f[i(L)]??""}`),R(B,i(L))},[()=>({active:t.selectedPriorities.has(i(L))})]),ee("click",E,()=>t.onPriorityToggle(i(L))),S(D,E)});var _=k(x,2);{var P=D=>{var L=yl(),E=k(p(L),2);let A;var B=p(E);{var G=q=>{var W=In();F(()=>R(W,`[${t.selectedTags.size??""}] ▾`)),S(q,W)},oe=q=>{var W=In("all ▾");S(q,W)};K(B,q=>{t.selectedTags.size>0?q(G):q(oe,!1)})}var z=k(E,2);{var J=q=>{var W=ml(),$=p(W);Ae($,17,()=>t.allTags,Yt,(U,ae)=>{var X=gl();let ne;var ue=p(X),ke=p(ue),Ee=k(ue,2),De=p(Ee);F((le,be)=>{ne=Te(X,1,"tag-option svelte-dhotvj",null,ne,le),R(ke,be),R(De,`#${i(ae)??""}`)},[()=>({selected:t.selectedTags.has(i(ae))}),()=>t.selectedTags.has(i(ae))?"✓":" "]),ee("click",X,le=>{le.stopPropagation(),t.onTagToggle(i(ae))}),S(U,X)});var Q=k($,2);{var se=U=>{var ae=pl();ee("click",ae,X=>{X.stopPropagation(),t.selectedTags.forEach(ne=>t.onTagToggle(ne))}),S(U,ae)};K(Q,U=>{t.selectedTags.size>0&&U(se)})}S(q,W)};K(z,q=>{i(a)&&q(J)})}fn(L,q=>h(s,q),()=>i(s)),F(()=>A=Te(E,1,"dropdown-trigger svelte-dhotvj",null,A,{active:t.selectedTags.size>0})),ee("click",E,q=>{q.stopPropagation(),h(a,!i(a))}),S(D,L)};K(_,D=>{t.allTags.length>0&&D(P)})}var j=k(_,2);{var I=D=>{var L=bl(),E=p(L);F(()=>R(E,`clear [${i(o)??""}]`)),ee("click",L,function(...A){var B;(B=t.onClear)==null||B.apply(this,A)}),S(D,L)};K(j,D=>{i(o)>0&&D(I)})}F(()=>bi(y,t.searchQuery)),ee("input",y,D=>t.onSearchChange(D.target.value)),S(e,c),ze()}Ye(["input","click"]);var Tl=C('<div class="board-message svelte-x7v2jt">Loading tasks...</div>'),El=C('<div class="board-message error svelte-x7v2jt"> <button class="svelte-x7v2jt">Retry</button></div>'),Sl=C('<div class="board svelte-x7v2jt"></div>'),xl=C('<!> <div class="board-wrapper svelte-x7v2jt"><!></div> <!> <!>',1);function Cl(e,t){Le(t,!0);let r=Gt(t,"triggerNewTask",3,!1),n=Gt(t,"openTask",3,null),a=M(we([])),s=M(!0),o=M(null),f=M(!1),l=M(null),v=M("todo"),c=M(!1),g=M(null),y=M(null),w=M(""),m=M(we(new Set)),x=M(we(new Set));const u=ie(()=>()=>{const b=new Map;for(const N of i(a))N.parent_task_id&&b.set(N.parent_task_id,(b.get(N.parent_task_id)??0)+1);return b}),_=ie(()=>()=>{const b=new Set;for(const N of i(a))if(N.tags)try{for(const T of JSON.parse(N.tags))b.add(T)}catch{}return[...b].sort()}),P=ie(()=>()=>{let b=i(a);const N=i(w).trim().toLowerCase();return N&&(b=b.filter(T=>T.title.toLowerCase().includes(N)||(T.description??"").toLowerCase().includes(N)||(T.short_id??"").toLowerCase().includes(N))),i(m).size>0&&(b=b.filter(T=>i(m).has(T.priority))),i(x).size>0&&(b=b.filter(T=>{if(!T.tags)return!1;try{return JSON.parse(T.tags).some(re=>i(x).has(re))}catch{return!1}})),b}),j={critical:0,high:1,medium:2,low:3},I=ie(()=>qi.map(b=>{const N=i(P)().filter(T=>T.status===b.status);return b.status==="done"||b.status==="cancelled"?N.sort((T,O)=>(O.updated_at??"").localeCompare(T.updated_at??"")):N.sort((T,O)=>{const re=(j[T.priority]??3)-(j[O.priority]??3);return re!==0?re:(O.created_at??"").localeCompare(T.created_at??"")}),{...b,tasks:N}}));function D(b){const N=new Set(i(m));N.has(b)?N.delete(b):N.add(b),h(m,N,!0)}function L(b){const N=new Set(i(x));N.has(b)?N.delete(b):N.add(b),h(x,N,!0)}function E(){h(w,""),h(m,new Set,!0),h(x,new Set,!0)}let A=M(null);function B(b){var O;const N=b.target.tagName;N==="INPUT"||N==="TEXTAREA"||N==="SELECT"||b.ctrlKey||b.metaKey||b.altKey||(b.key==="n"||b.key==="N"?(b.preventDefault(),J("todo")):b.key==="/"&&(b.preventDefault(),(O=i(A))==null||O()))}lt(()=>{var b;r()&&(J("todo"),(b=t.onNewTaskTriggered)==null||b.call(t))}),lt(()=>{var b;n()&&(h(l,n()),h(f,!0),(b=t.onOpenTaskHandled)==null||b.call(t))});async function G(){h(s,!0),h(o,null);try{h(a,await Ke.getTasks(t.project.id),!0)}catch(b){h(o,b.message,!0)}finally{h(s,!1)}}lt(()=>{t.project.id,G()});function oe(b,N){h(y,N,!0),b.dataTransfer&&(b.dataTransfer.effectAllowed="move",b.dataTransfer.setData("text/plain",N.id))}async function z(b){if(!i(y)||i(y).status===b){h(y,null);return}const N=i(y),T=N.status;h(y,null);const O=i(a).findIndex(re=>re.id===N.id);O!==-1&&(i(a)[O]={...i(a)[O],status:b});try{await Ke.updateTask(N.id,{status:b})}catch(re){O!==-1&&(i(a)[O]={...i(a)[O],status:T}),h(o,re.message,!0)}}function J(b){h(l,null),h(v,b,!0),h(f,!0)}function q(b){h(l,b,!0),h(f,!0)}async function W(b){try{if(i(l)){const N=await Ke.updateTask(i(l).id,{title:b.title,description:b.description||null,priority:b.priority,status:b.status,tags:b.tags.length>0?b.tags.join(","):null}),T=i(a).findIndex(O=>O.id===i(l).id);T!==-1&&(i(a)[T]=N)}else{const N=await Ke.createTask(t.project.id,{title:b.title,description:b.description||void 0,priority:b.priority,tags:b.tags.length>0?b.tags:void 0});h(a,[N,...i(a)],!0)}h(f,!1),h(l,null)}catch(N){h(o,N.message,!0)}}function $(b){h(g,b,!0),h(c,!0)}async function Q(){if(i(g))try{await Ke.deleteTask(i(g).id),h(a,i(a).filter(b=>b.id!==i(g).id&&b.parent_task_id!==i(g).id),!0),h(c,!1),h(g,null)}catch(b){h(o,b.message,!0)}}var se=xl();Pe("keydown",xt,B);var U=Jt(se);{let b=ie(()=>i(_)());kl(U,{get allTags(){return i(b)},get searchQuery(){return i(w)},get selectedPriorities(){return i(m)},get selectedTags(){return i(x)},onSearchChange:N=>{h(w,N,!0)},onPriorityToggle:D,onTagToggle:L,onClear:E,get focusSearch(){return i(A)},set focusSearch(N){h(A,N,!0)}})}var ae=k(U,2),X=p(ae);{var ne=b=>{var N=Tl();S(b,N)},ue=b=>{var N=El(),T=p(N),O=k(T);F(()=>R(T,`${i(o)??""} `)),ee("click",O,()=>{h(o,null),G()}),S(b,N)},ke=b=>{var N=Sl();Ae(N,21,()=>i(I),T=>T.status,(T,O)=>{{let re=ie(()=>i(u)());el(T,{get status(){return i(O).status},get label(){return i(O).label},get tasks(){return i(O).tasks},get subtaskCounts(){return i(re)},onEdit:q,onDelete:$,onDragStart:oe,onDrop:z,onAddTask:J})}}),S(b,N)};K(X,b=>{i(s)?b(ne):i(o)?b(ue,1):b(ke,!1)})}var Ee=k(ae,2);{var De=b=>{vl(b,{get task(){return i(l)},get projectId(){return t.project.id},get allTasks(){return i(a)},get defaultStatus(){return i(v)},onSave:W,onClose:()=>{h(f,!1),h(l,null)}})};K(Ee,b=>{i(f)&&b(De)})}var le=k(Ee,2);{var be=b=>{dl(b,{title:"Delete Task",get message(){return`Are you sure you want to delete "${i(g).title??""}"? This cannot be undone.`},onConfirm:Q,onCancel:()=>{h(c,!1),h(g,null)}})};K(le,b=>{i(c)&&i(g)&&b(be)})}S(e,se),ze()}Ye(["click"]);var jl=C('<div class="state-msg svelte-mwtig8"><span class="prompt svelte-mwtig8">&gt;</span> loading notes...</div>'),Pl=C('<div class="state-msg err svelte-mwtig8"> </div>'),Al=C('<div class="state-msg muted svelte-mwtig8">// no notes yet — use add_note via MCP tools</div>'),Dl=C('<span class="tag svelte-mwtig8"> </span>'),Ol=C('<div class="tags svelte-mwtig8"></div>'),Nl=C('<span class="task-link svelte-mwtig8"> </span>'),Il=C('<div class="card-footer svelte-mwtig8"><!> <!></div>'),Ml=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>'),Rl=C('<div class="list svelte-mwtig8"></div>'),Ll=C('<div class="view svelte-mwtig8"><!></div>');function zl(e,t){Le(t,!0);let r=M(we([])),n=M(we([])),a=M(!0),s=M(null);lt(()=>{h(a,!0),h(s,null),Promise.all([Ke.getNotes(t.projectId),Ke.getTasks(t.projectId)]).then(([u,_])=>{h(r,u,!0),h(n,_,!0)}).catch(u=>{h(s,u.message,!0)}).finally(()=>{h(a,!1)})});const o=ie(()=>new Map(i(n).map(u=>[u.id,u]))),f={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 v(u){return new Date(u.replace(" ","T")+"Z").toLocaleDateString(void 0,{month:"short",day:"numeric",year:"numeric"})}var c=Ll(),g=p(c);{var y=u=>{var _=jl();S(u,_)},w=u=>{var _=Pl(),P=p(_);F(()=>R(P,`[error] ${i(s)??""}`)),S(u,_)},m=u=>{var _=Al();S(u,_)},x=u=>{var _=Rl();Ae(_,21,()=>i(r),P=>P.id,(P,j)=>{const I=ie(()=>i(j).task_id?i(o).get(i(j).task_id):null),D=ie(()=>l(i(j).tags));var L=Ml(),E=p(L),A=p(E),B=p(A),G=k(A,2),oe=p(G),z=k(E,2),J=p(z),q=k(z,2);{var W=$=>{var Q=Il(),se=p(Q);{var U=ne=>{var ue=Ol();Ae(ue,21,()=>i(D),Yt,(ke,Ee)=>{var De=Dl(),le=p(De);F(()=>R(le,i(Ee))),S(ke,De)}),S(ne,ue)};K(se,ne=>{i(D).length>0&&ne(U)})}var ae=k(se,2);{var X=ne=>{var ue=Nl(),ke=p(ue);F(Ee=>R(ke,`→ ${Ee??""}: ${i(I).title??""}`),[()=>i(I).short_id??i(I).id.slice(0,8)]),ee("click",ue,()=>t.onOpenTask(i(I))),S(ne,ue)};K(ae,ne=>{i(I)&&ne(X)})}S($,Q)};K(q,$=>{(i(D).length>0||i(I))&&$(W)})}F($=>{Tn(A,`color: ${f[i(j).category]??"var(--text-muted)"??""}`),R(B,i(j).category),R(oe,$),R(J,i(j).content)},[()=>v(i(j).created_at)]),S(P,L)}),S(u,_)};K(g,u=>{i(a)?u(y):i(s)?u(w,1):i(r).length===0?u(m,2):u(x,!1)})}S(e,c),ze()}Ye(["click"]);var ql=C('<div class="state-msg svelte-1nwykvu"><span class="prompt svelte-1nwykvu">&gt;</span> loading decisions...</div>'),Fl=C('<div class="state-msg err svelte-1nwykvu"> </div>'),Bl=C('<div class="state-msg muted svelte-1nwykvu">// no decisions yet — use log_decision via MCP tools</div>'),Kl=C('<div class="reasoning svelte-1nwykvu"> </div>'),Hl=C('<div class="alts svelte-1nwykvu"> </div>'),Ul=C('<span class="tag svelte-1nwykvu"> </span>'),Vl=C('<div class="tags svelte-1nwykvu"></div>'),Jl=C('<span class="task-link svelte-1nwykvu"> </span>'),Yl=C('<div class="card-footer svelte-1nwykvu"><!> <!></div>'),Gl=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>'),Wl=C('<div class="list svelte-1nwykvu"></div>'),Ql=C('<div class="view svelte-1nwykvu"><!></div>');function Zl(e,t){Le(t,!0);let r=M(we([])),n=M(we([])),a=M(!0),s=M(null);lt(()=>{h(a,!0),h(s,null),Promise.all([Ke.getDecisions(t.projectId),Ke.getTasks(t.projectId)]).then(([u,_])=>{h(r,u,!0),h(n,_,!0)}).catch(u=>{h(s,u.message,!0)}).finally(()=>{h(a,!1)})});const o=ie(()=>new Map(i(n).map(u=>[u.id,u])));function f(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 v(u){return new Date(u.replace(" ","T")+"Z").toLocaleDateString(void 0,{month:"short",day:"numeric",year:"numeric"})}var c=Ql(),g=p(c);{var y=u=>{var _=ql();S(u,_)},w=u=>{var _=Fl(),P=p(_);F(()=>R(P,`[error] ${i(s)??""}`)),S(u,_)},m=u=>{var _=Bl();S(u,_)},x=u=>{var _=Wl();Ae(_,21,()=>i(r),P=>P.id,(P,j)=>{const I=ie(()=>i(j).task_id?i(o).get(i(j).task_id):null),D=ie(()=>f(i(j).alternatives)),L=ie(()=>l(i(j).tags));var E=Gl(),A=p(E),B=p(A),G=p(B),oe=k(B,2),z=p(oe),J=k(A,2),q=p(J),W=k(J,2);{var $=X=>{var ne=Kl(),ue=p(ne);F(()=>R(ue,i(j).reasoning)),S(X,ne)};K(W,X=>{i(j).reasoning&&X($)})}var Q=k(W,2);{var se=X=>{var ne=Hl(),ue=p(ne);F(ke=>R(ue,`Alternatives considered: ${ke??""}`),[()=>i(D).join(", ")]),S(X,ne)};K(Q,X=>{i(D).length>0&&X(se)})}var U=k(Q,2);{var ae=X=>{var ne=Yl(),ue=p(ne);{var ke=le=>{var be=Vl();Ae(be,21,()=>i(L),Yt,(b,N)=>{var T=Ul(),O=p(T);F(()=>R(O,i(N))),S(b,T)}),S(le,be)};K(ue,le=>{i(L).length>0&&le(ke)})}var Ee=k(ue,2);{var De=le=>{var be=Jl(),b=p(be);F(N=>R(b,`→ ${N??""}: ${i(I).title??""}`),[()=>i(I).short_id??i(I).id.slice(0,8)]),ee("click",be,()=>t.onOpenTask(i(I))),S(le,be)};K(Ee,le=>{i(I)&&le(De)})}S(X,ne)};K(U,X=>{(i(L).length>0||i(I))&&X(ae)})}F(X=>{R(G,i(j).title),R(z,X),R(q,i(j).decision)},[()=>v(i(j).created_at)]),S(P,E)}),S(u,_)};K(g,u=>{i(a)?u(y):i(s)?u(w,1):i(r).length===0?u(m,2):u(x,!1)})}S(e,c),ze()}Ye(["click"]);var Xl=C('<div><span class="item-label svelte-1bm0yy4"> </span> <span class="item-hint svelte-1bm0yy4"> </span></div>'),$l=C('<div class="palette-empty svelte-1bm0yy4">no commands match</div>'),eo=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 to(e,t){Le(t,!0);let r=M(""),n=M(0),a=M(null);const s=ie(()=>[{id:"new-task",label:"new task",hint:"create",action:()=>{t.onClose(),t.onNewTask()}},...t.projects.map(m=>({id:`project-${m.id}`,label:m.name,hint:m.slug?`switch → ${m.slug}`:"switch",action:()=>{t.onClose(),t.onSelectProject(m.id)}}))]),o=ie(()=>()=>{const m=i(r).trim().toLowerCase();return m?i(s).filter(x=>x.label.toLowerCase().includes(m)||x.hint.toLowerCase().includes(m)):i(s)});lt(()=>{i(o)(),h(n,0)});function f(m){var u;const x=i(o)();m.key==="ArrowDown"?(m.preventDefault(),h(n,Math.min(i(n)+1,x.length-1),!0)):m.key==="ArrowUp"?(m.preventDefault(),h(n,Math.max(i(n)-1,0),!0)):m.key==="Enter"?(m.preventDefault(),(u=x[i(n)])==null||u.action()):m.key==="Escape"&&t.onClose()}function l(m){m.target.classList.contains("palette-backdrop")&&t.onClose()}var v=eo(),c=p(v),g=p(c),y=k(p(g),2);gn(y),fn(y,m=>h(a,m),()=>i(a));var w=k(g,2);Ae(w,23,()=>i(o)(),m=>m.id,(m,x,u)=>{var _=Xl();let P;var j=p(_),I=p(j),D=k(j,2),L=p(D);F(()=>{P=Te(_,1,"palette-item svelte-1bm0yy4",null,P,{active:i(u)===i(n)}),R(I,i(x).label),R(L,i(x).hint)}),Pe("mouseenter",_,()=>{h(n,i(u),!0)}),ee("click",_,()=>i(x).action()),S(m,_)},m=>{var x=$l();S(m,x)}),ee("click",v,l),ee("keydown",y,f),pr(y,()=>i(r),m=>h(r,m)),S(e,v),ze()}Ye(["click","keydown"]);var ro=C('<div class="loading svelte-1n46o8q"><span class="prompt svelte-1n46o8q">&gt;</span> loading projects...</div>'),no=C('<div class="error svelte-1n46o8q"><span class="err-prefix svelte-1n46o8q">[error]</span> </div>'),ao=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>'),so=C('<div class="tabs svelte-1n46o8q"><button>Kanban</button> <button>Notes</button> <button>Decisions</button></div> <!>',1),io=C('<div class="app-layout svelte-1n46o8q"><!> <div class="main svelte-1n46o8q"><!> <!></div></div>'),lo=C("<!> <!>",1);function oo(e,t){Le(t,!0);let r=M(we([])),n=M(null),a=M(!0),s=M(null),o=M(!1),f=M(!1),l=M("kanban"),v=M(null);const c=ie(()=>i(r).find(E=>E.id===i(n))??null);async function g(){try{if(h(r,await Ke.getProjects(),!0),i(r).length>0&&!i(n)){const E=new URLSearchParams(window.location.search).get("project"),A=E?i(r).find(B=>B.id===E||B.name===E):null;h(n,A?A.id:i(r)[0].id,!0)}}catch(E){h(s,E.message,!0)}finally{h(a,!1)}}function y(E){h(n,E,!0),h(l,"kanban");const A=new URL(window.location.href);A.searchParams.set("project",E),history.replaceState(null,"",A.toString())}async function w(E,A){try{await Ke.updateProject(E,{name:A});const B=i(r).findIndex(G=>G.id===E);B!==-1&&(i(r)[B]={...i(r)[B],name:A})}catch(B){h(s,B.message,!0)}}lt(()=>{g()});function m(E){(E.ctrlKey||E.metaKey)&&E.key==="k"&&(E.preventDefault(),h(o,!i(o)))}var x=lo();Pe("keydown",xt,m);var u=Jt(x);{var _=E=>{to(E,{get projects(){return i(r)},onSelectProject:A=>{h(n,A,!0)},onNewTask:()=>{h(f,!0)},onClose:()=>{h(o,!1)}})};K(u,E=>{i(o)&&E(_)})}var P=k(u,2);{var j=E=>{var A=ro();S(E,A)},I=E=>{var A=no(),B=k(p(A));F(()=>R(B,` ${i(s)??""}`)),S(E,A)},D=E=>{var A=ao();S(E,A)},L=E=>{var A=io(),B=p(A);zi(B,{get projects(){return i(r)},get selectedId(){return i(n)},onSelect:y});var G=k(B,2),oe=p(G);Pi(oe,{get projects(){return i(r)},get selectedId(){return i(n)},onSelect:y,onRenamed:w});var z=k(oe,2);{var J=q=>{var W=so(),$=Jt(W),Q=p($);let se;var U=k(Q,2);let ae;var X=k(U,2);let ne;var ue=k($,2);{var ke=le=>{Cl(le,{get project(){return i(c)},get triggerNewTask(){return i(f)},get openTask(){return i(v)},onNewTaskTriggered:()=>{h(f,!1)},onOpenTaskHandled:()=>{h(v,null)}})},Ee=le=>{zl(le,{get projectId(){return i(c).id},onOpenTask:be=>{h(v,be,!0),h(l,"kanban")}})},De=le=>{Zl(le,{get projectId(){return i(c).id},onOpenTask:be=>{h(v,be,!0),h(l,"kanban")}})};K(ue,le=>{i(l)==="kanban"?le(ke):i(l)==="notes"?le(Ee,1):i(l)==="decisions"&&le(De,2)})}F(()=>{se=Te(Q,1,"tab svelte-1n46o8q",null,se,{active:i(l)==="kanban"}),ae=Te(U,1,"tab svelte-1n46o8q",null,ae,{active:i(l)==="notes"}),ne=Te(X,1,"tab svelte-1n46o8q",null,ne,{active:i(l)==="decisions"})}),ee("click",Q,()=>h(l,"kanban")),ee("click",U,()=>h(l,"notes")),ee("click",X,()=>h(l,"decisions")),S(q,W)};K(z,q=>{i(c)&&q(J)})}S(E,A)};K(P,E=>{i(a)?E(j):i(s)?E(I,1):i(r).length===0?E(D,2):E(L,!1)})}S(e,x),ze()}Ye(["click"]);ii(oo,{target:document.getElementById("app")});
@@ -4,8 +4,8 @@
4
4
  <meta charset="UTF-8" />
5
5
  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
6
6
  <title>mindpm - Kanban</title>
7
- <script type="module" crossorigin src="/assets/index-D15utoKT.js"></script>
8
- <link rel="stylesheet" crossorigin href="/assets/index-BR4l79e7.css">
7
+ <script type="module" crossorigin src="/assets/index-Cde4lSiv.js"></script>
8
+ <link rel="stylesheet" crossorigin href="/assets/index-CW2NneMF.css">
9
9
  </head>
10
10
  <body>
11
11
  <div id="app"></div>
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "mindpm",
3
- "version": "1.2.31",
3
+ "version": "1.2.33",
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 +0,0 @@
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-muted);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-muted);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-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-muted);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-muted);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-muted);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)}.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-muted);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-dim)}.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,2 +0,0 @@
1
- var za=Object.defineProperty;var Sn=e=>{throw TypeError(e)};var qa=(e,t,r)=>t in e?za(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r;var tt=(e,t,r)=>qa(e,typeof t!="symbol"?t+"":t,r),Vr=(e,t,r)=>t.has(e)||Sn("Cannot "+r);var d=(e,t,r)=>(Vr(e,t,"read from private field"),r?r.call(e):t.get(e)),Z=(e,t,r)=>t.has(e)?Sn("Cannot add the same private member more than once"):t instanceof WeakSet?t.add(e):t.set(e,r),V=(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 s of a)if(s.type==="childList")for(const o of s.addedNodes)o.tagName==="LINK"&&o.rel==="modulepreload"&&n(o)}).observe(document,{childList:!0,subtree:!0});function r(a){const s={};return a.integrity&&(s.integrity=a.integrity),a.referrerPolicy&&(s.referrerPolicy=a.referrerPolicy),a.crossOrigin==="use-credentials"?s.credentials="include":a.crossOrigin==="anonymous"?s.credentials="omit":s.credentials="same-origin",s}function n(a){if(a.ep)return;a.ep=!0;const s=r(a);fetch(a.href,s)}})();const Wr=!1;var vn=Array.isArray,Fa=Array.prototype.indexOf,sr=Array.prototype.includes,Mr=Array.from,Ba=Object.defineProperty,Zt=Object.getOwnPropertyDescriptor,Ka=Object.getOwnPropertyDescriptors,Ha=Object.prototype,Ua=Array.prototype,Un=Object.getPrototypeOf,xn=Object.isExtensible;const Va=()=>{};function Ja(e){for(var t=0;t<e.length;t++)e[t]()}function Vn(){var e,t,r=new Promise((n,a)=>{e=n,t=a});return{promise:r,resolve:e,reject:t}}const me=2,kr=4,Rr=8,Jn=1<<24,ht=16,et=32,Gt=64,Qr=128,He=512,he=1024,ye=2048,$e=4096,Me=8192,_t=16384,Kt=32768,ir=65536,Cn=1<<17,Yn=1<<18,fr=1<<19,Ya=1<<20,dt=1<<25,Ht=65536,Zr=1<<21,dn=1<<22,wt=1<<23,zt=Symbol("$state"),Ga=Symbol("legacy props"),Pt=new class extends Error{constructor(){super(...arguments);tt(this,"name","StaleReactionError");tt(this,"message","The reaction that called `getAbortSignal()` was re-run or destroyed")}};var Bn;const Wa=!!((Bn=globalThis.document)!=null&&Bn.contentType)&&globalThis.document.contentType.includes("xml");function Qa(){throw new Error("https://svelte.dev/e/async_derived_orphan")}function Za(e,t,r){throw new Error("https://svelte.dev/e/each_key_duplicate")}function Xa(e){throw new Error("https://svelte.dev/e/effect_in_teardown")}function $a(){throw new Error("https://svelte.dev/e/effect_in_unowned_derived")}function es(e){throw new Error("https://svelte.dev/e/effect_orphan")}function ts(){throw new Error("https://svelte.dev/e/effect_update_depth_exceeded")}function rs(e){throw new Error("https://svelte.dev/e/props_invalid_value")}function ns(){throw new Error("https://svelte.dev/e/state_descriptors_fixed")}function as(){throw new Error("https://svelte.dev/e/state_prototype_fixed")}function ss(){throw new Error("https://svelte.dev/e/state_unsafe_mutation")}function is(){throw new Error("https://svelte.dev/e/svelte_boundary_reset_onerror")}const ls=1,os=2,Gn=4,us=8,fs=16,cs=1,vs=4,ds=8,_s=16,hs=1,gs=2,ge=Symbol(),Wn="http://www.w3.org/1999/xhtml",ps="http://www.w3.org/2000/svg",ms="http://www.w3.org/1998/Math/MathML";function ys(){console.warn("https://svelte.dev/e/select_multiple_invalid_value")}function bs(){console.warn("https://svelte.dev/e/svelte_boundary_reset_noop")}function Qn(e){return e===this.v}function ws(e,t){return e!=e?t==t:e!==t||e!==null&&typeof e=="object"||typeof e=="function"}function Zn(e){return!ws(e,this.v)}let ks=!1,Ve=null;function lr(e){Ve=e}function Le(e,t=!1,r){Ve={p:Ve,i:!1,c:null,e:null,s:e,x:null,l:null}}function ze(e){var t=Ve,r=t.e;if(r!==null){t.e=null;for(var n of r)ya(n)}return t.i=!0,Ve=t.p,{}}function Xn(){return!0}let At=[];function $n(){var e=At;At=[],Ja(e)}function it(e){if(At.length===0&&!dr){var t=At;queueMicrotask(()=>{t===At&&$n()})}At.push(e)}function Ts(){for(;At.length>0;)$n()}function ea(e){var t=te;if(t===null)return Y.f|=wt,e;if((t.f&Kt)===0&&(t.f&kr)===0)throw e;bt(e,t)}function bt(e,t){for(;t!==null;){if((t.f&Qr)!==0){if((t.f&Kt)===0)throw e;try{t.b.error(e);return}catch(r){e=r}}t=t.parent}throw e}const Es=-7169;function ce(e,t){e.f=e.f&Es|t}function _n(e){(e.f&He)!==0||e.deps===null?ce(e,he):ce(e,$e)}function ta(e){if(e!==null)for(const t of e)(t.f&me)===0||(t.f&Ht)===0||(t.f^=Ht,ta(t.deps))}function ra(e,t,r){(e.f&ye)!==0?t.add(e):(e.f&$e)!==0&&r.add(e),ta(e.deps),ce(e,he)}const Sr=new Set;let H=null,Dr=null,pe=null,xe=[],Lr=null,Xr=!1,dr=!1;var Xt,$t,Nt,er,mr,yr,It,ft,tr,Re,$r,en,tn,na;const En=class En{constructor(){Z(this,Re);tt(this,"current",new Map);tt(this,"previous",new Map);Z(this,Xt,new Set);Z(this,$t,new Set);Z(this,Nt,0);Z(this,er,0);Z(this,mr,null);Z(this,yr,new Set);Z(this,It,new Set);Z(this,ft,new Map);tt(this,"is_fork",!1);Z(this,tr,!1)}skip_effect(t){d(this,ft).has(t)||d(this,ft).set(t,{d:[],m:[]})}unskip_effect(t){var r=d(this,ft).get(t);if(r){d(this,ft).delete(t);for(var n of r.d)ce(n,ye),Ze(n);for(n of r.m)ce(n,$e),Ze(n)}}process(t){var a;xe=[],this.apply();var r=[],n=[];for(const s of t)_e(this,Re,en).call(this,s,r,n);if(_e(this,Re,$r).call(this)){_e(this,Re,tn).call(this,n),_e(this,Re,tn).call(this,r);for(const[s,o]of d(this,ft))la(s,o)}else{for(const s of d(this,Xt))s();d(this,Xt).clear(),d(this,Nt)===0&&_e(this,Re,na).call(this),Dr=this,H=null,jn(n),jn(r),Dr=null,(a=d(this,mr))==null||a.resolve()}pe=null}capture(t,r){r!==ge&&!this.previous.has(t)&&this.previous.set(t,r),(t.f&wt)===0&&(this.current.set(t,t.v),pe==null||pe.set(t,t.v))}activate(){H=this,this.apply()}deactivate(){H===this&&(H=null,pe=null)}flush(){if(this.activate(),xe.length>0){if(aa(),H!==null&&H!==this)return}else d(this,Nt)===0&&this.process([]);this.deactivate()}discard(){for(const t of d(this,$t))t(this);d(this,$t).clear()}increment(t){V(this,Nt,d(this,Nt)+1),t&&V(this,er,d(this,er)+1)}decrement(t){V(this,Nt,d(this,Nt)-1),t&&V(this,er,d(this,er)-1),!d(this,tr)&&(V(this,tr,!0),it(()=>{V(this,tr,!1),_e(this,Re,$r).call(this)?xe.length>0&&this.flush():this.revive()}))}revive(){for(const t of d(this,yr))d(this,It).delete(t),ce(t,ye),Ze(t);for(const t of d(this,It))ce(t,$e),Ze(t);this.flush()}oncommit(t){d(this,Xt).add(t)}ondiscard(t){d(this,$t).add(t)}settled(){return(d(this,mr)??V(this,mr,Vn())).promise}static ensure(){if(H===null){const t=H=new En;Sr.add(H),dr||it(()=>{H===t&&t.flush()})}return H}apply(){}};Xt=new WeakMap,$t=new WeakMap,Nt=new WeakMap,er=new WeakMap,mr=new WeakMap,yr=new WeakMap,It=new WeakMap,ft=new WeakMap,tr=new WeakMap,Re=new WeakSet,$r=function(){return this.is_fork||d(this,er)>0},en=function(t,r,n){t.f^=he;for(var a=t.first;a!==null;){var s=a.f,o=(s&(et|Gt))!==0,f=o&&(s&he)!==0,l=f||(s&Me)!==0||d(this,ft).has(a);if(!l&&a.fn!==null){o?a.f^=he:(s&kr)!==0?r.push(a):Er(a)&&((s&ht)!==0&&d(this,It).add(a),ur(a));var c=a.first;if(c!==null){a=c;continue}}for(;a!==null;){var v=a.next;if(v!==null){a=v;break}a=a.parent}}},tn=function(t){for(var r=0;r<t.length;r+=1)ra(t[r],d(this,yr),d(this,It))},na=function(){var a;if(Sr.size>1){this.previous.clear();var t=pe,r=!0;for(const s of Sr){if(s===this){r=!1;continue}const o=[];for(const[l,c]of this.current){if(s.current.has(l))if(r&&c!==s.current.get(l))s.current.set(l,c);else continue;o.push(l)}if(o.length===0)continue;const f=[...s.current.keys()].filter(l=>!this.current.has(l));if(f.length>0){var n=xe;xe=[];const l=new Set,c=new Map;for(const v of o)sa(v,f,l,c);if(xe.length>0){H=s,s.apply();for(const v of xe)_e(a=s,Re,en).call(a,v,[],[]);s.deactivate()}xe=n}}H=null,pe=t}Sr.delete(this)};let kt=En;function Ss(e){var t=dr;dr=!0;try{for(var r;;){if(Ts(),xe.length===0&&(H==null||H.flush(),xe.length===0))return Lr=null,r;aa()}}finally{dr=t}}function aa(){Xr=!0;var e=null;try{for(var t=0;xe.length>0;){var r=kt.ensure();if(t++>1e3){var n,a;xs()}r.process(xe),Tt.clear()}}finally{xe=[],Xr=!1,Lr=null}}function xs(){try{ts()}catch(e){bt(e,Lr)}}let Ge=null;function jn(e){var t=e.length;if(t!==0){for(var r=0;r<t;){var n=e[r++];if((n.f&(_t|Me))===0&&Er(n)&&(Ge=new Set,ur(n),n.deps===null&&n.first===null&&n.nodes===null&&n.teardown===null&&n.ac===null&&Ta(n),(Ge==null?void 0:Ge.size)>0)){Tt.clear();for(const a of Ge){if((a.f&(_t|Me))!==0)continue;const s=[a];let o=a.parent;for(;o!==null;)Ge.has(o)&&(Ge.delete(o),s.push(o)),o=o.parent;for(let f=s.length-1;f>=0;f--){const l=s[f];(l.f&(_t|Me))===0&&ur(l)}}Ge.clear()}}Ge=null}}function sa(e,t,r,n){if(!r.has(e)&&(r.add(e),e.reactions!==null))for(const a of e.reactions){const s=a.f;(s&me)!==0?sa(a,t,r,n):(s&(dn|ht))!==0&&(s&ye)===0&&ia(a,t,n)&&(ce(a,ye),Ze(a))}}function ia(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(sr.call(t,a))return!0;if((a.f&me)!==0&&ia(a,t,r))return r.set(a,!0),!0}return r.set(e,!1),!1}function Ze(e){var t=Lr=e,r=t.b;if(r!=null&&r.is_pending&&(e.f&(kr|Rr|Jn))!==0&&(e.f&Kt)===0){r.defer_effect(e);return}for(;t.parent!==null;){t=t.parent;var n=t.f;if(Xr&&t===te&&(n&ht)!==0&&(n&Yn)===0&&(n&Kt)!==0)return;if((n&(Gt|et))!==0){if((n&he)===0)return;t.f^=he}}xe.push(t)}function la(e,t){if(!((e.f&et)!==0&&(e.f&he)!==0)){(e.f&ye)!==0?t.d.push(e):(e.f&$e)!==0&&t.m.push(e),ce(e,he);for(var r=e.first;r!==null;)la(r,t),r=r.next}}function Cs(e){let t=0,r=Ut(0),n;return()=>{pn()&&(i(r),yn(()=>(t===0&&(n=Fr(()=>e(()=>_r(r)))),t+=1,()=>{it(()=>{t-=1,t===0&&(n==null||n(),n=void 0,_r(r))})})))}}var js=ir|fr;function Ps(e,t,r,n){new As(e,t,r,n)}var Fe,cn,nt,Mt,Se,at,Ne,We,ct,Rt,yt,rr,nr,ar,vt,Nr,de,Ds,Os,Ns,rn,jr,Pr,nn;class As{constructor(t,r,n,a){Z(this,de);tt(this,"parent");tt(this,"is_pending",!1);tt(this,"transform_error");Z(this,Fe);Z(this,cn,null);Z(this,nt);Z(this,Mt);Z(this,Se);Z(this,at,null);Z(this,Ne,null);Z(this,We,null);Z(this,ct,null);Z(this,Rt,0);Z(this,yt,0);Z(this,rr,!1);Z(this,nr,new Set);Z(this,ar,new Set);Z(this,vt,null);Z(this,Nr,Cs(()=>(V(this,vt,Ut(d(this,Rt))),()=>{V(this,vt,null)})));var s;V(this,Fe,t),V(this,nt,r),V(this,Mt,o=>{var f=te;f.b=this,f.f|=Qr,n(o)}),this.parent=te.b,this.transform_error=a??((s=this.parent)==null?void 0:s.transform_error)??(o=>o),V(this,Se,bn(()=>{_e(this,de,rn).call(this)},js))}defer_effect(t){ra(t,d(this,nr),d(this,ar))}is_rendered(){return!this.is_pending&&(!this.parent||this.parent.is_rendered())}has_pending_snippet(){return!!d(this,nt).pending}update_pending_count(t){_e(this,de,nn).call(this,t),V(this,Rt,d(this,Rt)+t),!(!d(this,vt)||d(this,rr))&&(V(this,rr,!0),it(()=>{V(this,rr,!1),d(this,vt)&&or(d(this,vt),d(this,Rt))}))}get_effect_pending(){return d(this,Nr).call(this),i(d(this,vt))}error(t){var r=d(this,nt).onerror;let n=d(this,nt).failed;if(!r&&!n)throw t;d(this,at)&&(je(d(this,at)),V(this,at,null)),d(this,Ne)&&(je(d(this,Ne)),V(this,Ne,null)),d(this,We)&&(je(d(this,We)),V(this,We,null));var a=!1,s=!1;const o=()=>{if(a){bs();return}a=!0,s&&is(),d(this,We)!==null&&Ft(d(this,We),()=>{V(this,We,null)}),_e(this,de,Pr).call(this,()=>{kt.ensure(),_e(this,de,rn).call(this)})},f=l=>{try{s=!0,r==null||r(l,o),s=!1}catch(c){bt(c,d(this,Se)&&d(this,Se).parent)}n&&V(this,We,_e(this,de,Pr).call(this,()=>{kt.ensure();try{return Be(()=>{var c=te;c.b=this,c.f|=Qr,n(d(this,Fe),()=>l,()=>o)})}catch(c){return bt(c,d(this,Se).parent),null}}))};it(()=>{var l;try{l=this.transform_error(t)}catch(c){bt(c,d(this,Se)&&d(this,Se).parent);return}l!==null&&typeof l=="object"&&typeof l.then=="function"?l.then(f,c=>bt(c,d(this,Se)&&d(this,Se).parent)):f(l)})}}Fe=new WeakMap,cn=new WeakMap,nt=new WeakMap,Mt=new WeakMap,Se=new WeakMap,at=new WeakMap,Ne=new WeakMap,We=new WeakMap,ct=new WeakMap,Rt=new WeakMap,yt=new WeakMap,rr=new WeakMap,nr=new WeakMap,ar=new WeakMap,vt=new WeakMap,Nr=new WeakMap,de=new WeakSet,Ds=function(){try{V(this,at,Be(()=>d(this,Mt).call(this,d(this,Fe))))}catch(t){this.error(t)}},Os=function(t){const r=d(this,nt).failed;r&&V(this,We,Be(()=>{r(d(this,Fe),()=>t,()=>()=>{})}))},Ns=function(){const t=d(this,nt).pending;t&&(this.is_pending=!0,V(this,Ne,Be(()=>t(d(this,Fe)))),it(()=>{var r=V(this,ct,document.createDocumentFragment()),n=Et();r.append(n),V(this,at,_e(this,de,Pr).call(this,()=>(kt.ensure(),Be(()=>d(this,Mt).call(this,n))))),d(this,yt)===0&&(d(this,Fe).before(r),V(this,ct,null),Ft(d(this,Ne),()=>{V(this,Ne,null)}),_e(this,de,jr).call(this))}))},rn=function(){try{if(this.is_pending=this.has_pending_snippet(),V(this,yt,0),V(this,Rt,0),V(this,at,Be(()=>{d(this,Mt).call(this,d(this,Fe))})),d(this,yt)>0){var t=V(this,ct,document.createDocumentFragment());xa(d(this,at),t);const r=d(this,nt).pending;V(this,Ne,Be(()=>r(d(this,Fe))))}else _e(this,de,jr).call(this)}catch(r){this.error(r)}},jr=function(){this.is_pending=!1;for(const t of d(this,nr))ce(t,ye),Ze(t);for(const t of d(this,ar))ce(t,$e),Ze(t);d(this,nr).clear(),d(this,ar).clear()},Pr=function(t){var r=te,n=Y,a=Ve;ot(d(this,Se)),Je(d(this,Se)),lr(d(this,Se).ctx);try{return t()}catch(s){return ea(s),null}finally{ot(r),Je(n),lr(a)}},nn=function(t){var r;if(!this.has_pending_snippet()){this.parent&&_e(r=this.parent,de,nn).call(r,t);return}V(this,yt,d(this,yt)+t),d(this,yt)===0&&(_e(this,de,jr).call(this),d(this,Ne)&&Ft(d(this,Ne),()=>{V(this,Ne,null)}),d(this,ct)&&(d(this,Fe).before(d(this,ct)),V(this,ct,null)))};function Is(e,t,r,n){const a=zr;var s=e.filter(g=>!g.settled);if(r.length===0&&s.length===0){n(t.map(a));return}var o=te,f=Ms(),l=s.length===1?s[0].promise:s.length>1?Promise.all(s.map(g=>g.promise)):null;function c(g){f();try{n(g)}catch(y){(o.f&_t)===0&&bt(y,o)}an()}if(r.length===0){l.then(()=>c(t.map(a)));return}function v(){f(),Promise.all(r.map(g=>Ls(g))).then(g=>c([...t.map(a),...g])).catch(g=>bt(g,o))}l?l.then(v):v()}function Ms(){var e=te,t=Y,r=Ve,n=H;return function(s=!0){ot(e),Je(t),lr(r),s&&(n==null||n.activate())}}function an(e=!0){ot(null),Je(null),lr(null),e&&(H==null||H.deactivate())}function Rs(){var e=te.b,t=H,r=e.is_rendered();return e.update_pending_count(1),t.increment(r),()=>{e.update_pending_count(-1),t.decrement(r)}}function zr(e){var t=me|ye,r=Y!==null&&(Y.f&me)!==0?Y:null;return te!==null&&(te.f|=fr),{ctx:Ve,deps:null,effects:null,equals:Qn,f:t,fn:e,reactions:null,rv:0,v:ge,wv:0,parent:r??te,ac:null}}function Ls(e,t,r){te===null&&Qa();var a=void 0,s=Ut(ge),o=!Y,f=new Map;return Qs(()=>{var y;var l=Vn();a=l.promise;try{Promise.resolve(e()).then(l.resolve,l.reject).finally(an)}catch(w){l.reject(w),an()}var c=H;if(o){var v=Rs();(y=f.get(c))==null||y.reject(Pt),f.delete(c),f.set(c,l)}const g=(w,m=void 0)=>{if(c.activate(),m)m!==Pt&&(s.f|=wt,or(s,m));else{(s.f&wt)!==0&&(s.f^=wt),or(s,w);for(const[x,u]of f){if(f.delete(x),x===c)break;u.reject(Pt)}}v&&v()};l.promise.then(g,w=>g(null,w||"unknown"))}),mn(()=>{for(const l of f.values())l.reject(Pt)}),new Promise(l=>{function c(v){function g(){v===a?l(s):c(a)}v.then(g,g)}c(a)})}function ie(e){const t=zr(e);return Ca(t),t}function oa(e){const t=zr(e);return t.equals=Zn,t}function zs(e){var t=e.effects;if(t!==null){e.effects=null;for(var r=0;r<t.length;r+=1)je(t[r])}}function qs(e){for(var t=e.parent;t!==null;){if((t.f&me)===0)return(t.f&_t)===0?t:null;t=t.parent}return null}function hn(e){var t,r=te;ot(qs(e));try{e.f&=~Ht,zs(e),t=Da(e)}finally{ot(r)}return t}function ua(e){var t=hn(e);if(!e.equals(t)&&(e.wv=Pa(),(!(H!=null&&H.is_fork)||e.deps===null)&&(e.v=t,e.deps===null))){ce(e,he);return}xt||(pe!==null?(pn()||H!=null&&H.is_fork)&&pe.set(e,t):_n(e))}function Fs(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(Pt),n.teardown=Va,n.ac=null,pr(n,0),wn(n))}function fa(e){if(e.effects!==null)for(const t of e.effects)t.teardown&&ur(t)}let sn=new Set;const Tt=new Map;let ca=!1;function Ut(e,t){var r={f:0,v:e,reactions:null,equals:Qn,rv:0,wv:0};return r}function M(e,t){const r=Ut(e);return Ca(r),r}function Bs(e,t=!1,r=!0){const n=Ut(e);return t||(n.equals=Zn),n}function h(e,t,r=!1){Y!==null&&(!Xe||(Y.f&Cn)!==0)&&Xn()&&(Y.f&(me|ht|dn|Cn))!==0&&(Ue===null||!sr.call(Ue,e))&&ss();let n=r?we(t):t;return or(e,n)}function or(e,t){if(!e.equals(t)){var r=e.v;xt?Tt.set(e,t):Tt.set(e,r),e.v=t;var n=kt.ensure();if(n.capture(e,r),(e.f&me)!==0){const a=e;(e.f&ye)!==0&&hn(a),_n(a)}e.wv=Pa(),va(e,ye),te!==null&&(te.f&he)!==0&&(te.f&(et|Gt))===0&&(qe===null?Xs([e]):qe.push(e)),!n.is_fork&&sn.size>0&&!ca&&Ks()}return t}function Ks(){ca=!1;for(const e of sn)(e.f&he)!==0&&ce(e,$e),Er(e)&&ur(e);sn.clear()}function _r(e){h(e,e.v+1)}function va(e,t){var r=e.reactions;if(r!==null)for(var n=r.length,a=0;a<n;a++){var s=r[a],o=s.f,f=(o&ye)===0;if(f&&ce(s,t),(o&me)!==0){var l=s;pe==null||pe.delete(l),(o&Ht)===0&&(o&He&&(s.f|=Ht),va(l,$e))}else f&&((o&ht)!==0&&Ge!==null&&Ge.add(s),Ze(s))}}function we(e){if(typeof e!="object"||e===null||zt in e)return e;const t=Un(e);if(t!==Ha&&t!==Ua)return e;var r=new Map,n=vn(e),a=M(0),s=Bt,o=f=>{if(Bt===s)return f();var l=Y,c=Bt;Je(null),On(s);var v=f();return Je(l),On(c),v};return n&&r.set("length",M(e.length)),new Proxy(e,{defineProperty(f,l,c){(!("value"in c)||c.configurable===!1||c.enumerable===!1||c.writable===!1)&&ns();var v=r.get(l);return v===void 0?o(()=>{var g=M(c.value);return r.set(l,g),g}):h(v,c.value,!0),!0},deleteProperty(f,l){var c=r.get(l);if(c===void 0){if(l in f){const v=o(()=>M(ge));r.set(l,v),_r(a)}}else h(c,ge),_r(a);return!0},get(f,l,c){var w;if(l===zt)return e;var v=r.get(l),g=l in f;if(v===void 0&&(!g||(w=Zt(f,l))!=null&&w.writable)&&(v=o(()=>{var m=we(g?f[l]:ge),x=M(m);return x}),r.set(l,v)),v!==void 0){var y=i(v);return y===ge?void 0:y}return Reflect.get(f,l,c)},getOwnPropertyDescriptor(f,l){var c=Reflect.getOwnPropertyDescriptor(f,l);if(c&&"value"in c){var v=r.get(l);v&&(c.value=i(v))}else if(c===void 0){var g=r.get(l),y=g==null?void 0:g.v;if(g!==void 0&&y!==ge)return{enumerable:!0,configurable:!0,value:y,writable:!0}}return c},has(f,l){var y;if(l===zt)return!0;var c=r.get(l),v=c!==void 0&&c.v!==ge||Reflect.has(f,l);if(c!==void 0||te!==null&&(!v||(y=Zt(f,l))!=null&&y.writable)){c===void 0&&(c=o(()=>{var w=v?we(f[l]):ge,m=M(w);return m}),r.set(l,c));var g=i(c);if(g===ge)return!1}return v},set(f,l,c,v){var j;var g=r.get(l),y=l in f;if(n&&l==="length")for(var w=c;w<g.v;w+=1){var m=r.get(w+"");m!==void 0?h(m,ge):w in f&&(m=o(()=>M(ge)),r.set(w+"",m))}if(g===void 0)(!y||(j=Zt(f,l))!=null&&j.writable)&&(g=o(()=>M(void 0)),h(g,we(c)),r.set(l,g));else{y=g.v!==ge;var x=o(()=>we(c));h(g,x)}var u=Reflect.getOwnPropertyDescriptor(f,l);if(u!=null&&u.set&&u.set.call(v,c),!y){if(n&&typeof l=="string"){var _=r.get("length"),P=Number(l);Number.isInteger(P)&&P>=_.v&&h(_,P+1)}_r(a)}return!0},ownKeys(f){i(a);var l=Reflect.ownKeys(f).filter(g=>{var y=r.get(g);return y===void 0||y.v!==ge});for(var[c,v]of r)v.v!==ge&&!(c in f)&&l.push(c);return l},setPrototypeOf(){as()}})}function Pn(e){try{if(e!==null&&typeof e=="object"&&zt in e)return e[zt]}catch{}return e}function Hs(e,t){return Object.is(Pn(e),Pn(t))}var St,da,_a,ha;function Us(){if(St===void 0){St=window,da=/Firefox/.test(navigator.userAgent);var e=Element.prototype,t=Node.prototype,r=Text.prototype;_a=Zt(t,"firstChild").get,ha=Zt(t,"nextSibling").get,xn(e)&&(e.__click=void 0,e.__className=void 0,e.__attributes=null,e.__style=void 0,e.__e=void 0),xn(r)&&(r.__t=void 0)}}function Et(e=""){return document.createTextNode(e)}function qt(e){return _a.call(e)}function Tr(e){return ha.call(e)}function p(e,t){return qt(e)}function Vt(e,t=!1){{var r=qt(e);return r instanceof Comment&&r.data===""?Tr(r):r}}function T(e,t=1,r=!1){let n=e;for(;t--;)n=Tr(n);return n}function Vs(e){e.textContent=""}function ga(){return!1}function pa(e,t,r){return document.createElementNS(t??Wn,e,void 0)}function gn(e,t){{const r=document.body;e.autofocus=!0,it(()=>{document.activeElement===r&&e.focus()})}}let An=!1;function Js(){An||(An=!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 qr(e){var t=Y,r=te;Je(null),ot(null);try{return e()}finally{Je(t),ot(r)}}function ma(e,t,r,n=r){e.addEventListener(t,()=>qr(r));const a=e.__on_r;a?e.__on_r=()=>{a(),n(!0)}:e.__on_r=()=>n(!0),Js()}function Ys(e){te===null&&(Y===null&&es(),$a()),xt&&Xa()}function Gs(e,t){var r=t.last;r===null?t.last=t.first=e:(r.next=e,e.prev=r,t.last=e)}function gt(e,t,r){var n=te;n!==null&&(n.f&Me)!==0&&(e|=Me);var a={ctx:Ve,deps:null,nodes:null,f:e|ye|He,first:null,fn:t,last:null,next:null,parent:n,b:n&&n.b,prev:null,teardown:null,wv:0,ac:null};if(r)try{ur(a)}catch(f){throw je(a),f}else t!==null&&Ze(a);var s=a;if(r&&s.deps===null&&s.teardown===null&&s.nodes===null&&s.first===s.last&&(s.f&fr)===0&&(s=s.first,(e&ht)!==0&&(e&ir)!==0&&s!==null&&(s.f|=ir)),s!==null&&(s.parent=n,n!==null&&Gs(s,n),Y!==null&&(Y.f&me)!==0&&(e&Gt)===0)){var o=Y;(o.effects??(o.effects=[])).push(s)}return a}function pn(){return Y!==null&&!Xe}function mn(e){const t=gt(Rr,null,!1);return ce(t,he),t.teardown=e,t}function lt(e){Ys();var t=te.f,r=!Y&&(t&et)!==0&&(t&Kt)===0;if(r){var n=Ve;(n.e??(n.e=[])).push(e)}else return ya(e)}function ya(e){return gt(kr|Ya,e,!1)}function Ws(e){kt.ensure();const t=gt(Gt|fr,e,!0);return(r={})=>new Promise(n=>{r.outro?Ft(t,()=>{je(t),n(void 0)}):(je(t),n(void 0))})}function ba(e){return gt(kr,e,!1)}function Qs(e){return gt(dn|fr,e,!0)}function yn(e,t=0){return gt(Rr|t,e,!0)}function F(e,t=[],r=[],n=[]){Is(n,t,r,a=>{gt(Rr,()=>e(...a.map(i)),!0)})}function bn(e,t=0){var r=gt(ht|t,e,!0);return r}function Be(e){return gt(et|fr,e,!0)}function wa(e){var t=e.teardown;if(t!==null){const r=xt,n=Y;Dn(!0),Je(null);try{t.call(null)}finally{Dn(r),Je(n)}}}function wn(e,t=!1){var r=e.first;for(e.first=e.last=null;r!==null;){const a=r.ac;a!==null&&qr(()=>{a.abort(Pt)});var n=r.next;(r.f&Gt)!==0?r.parent=null:je(r,t),r=n}}function Zs(e){for(var t=e.first;t!==null;){var r=t.next;(t.f&et)===0&&je(t),t=r}}function je(e,t=!0){var r=!1;(t||(e.f&Yn)!==0)&&e.nodes!==null&&e.nodes.end!==null&&(ka(e.nodes.start,e.nodes.end),r=!0),wn(e,t&&!r),pr(e,0),ce(e,_t);var n=e.nodes&&e.nodes.t;if(n!==null)for(const s of n)s.stop();wa(e);var a=e.parent;a!==null&&a.first!==null&&Ta(e),e.next=e.prev=e.teardown=e.ctx=e.deps=e.fn=e.nodes=e.ac=null}function ka(e,t){for(;e!==null;){var r=e===t?null:Tr(e);e.remove(),e=r}}function Ta(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 Ft(e,t,r=!0){var n=[];Ea(e,n,!0);var a=()=>{r&&je(e),t&&t()},s=n.length;if(s>0){var o=()=>--s||a();for(var f of n)f.out(o)}else a()}function Ea(e,t,r){if((e.f&Me)===0){e.f^=Me;var n=e.nodes&&e.nodes.t;if(n!==null)for(const f of n)(f.is_global||r)&&t.push(f);for(var a=e.first;a!==null;){var s=a.next,o=(a.f&ir)!==0||(a.f&et)!==0&&(e.f&ht)!==0;Ea(a,t,o?r:!1),a=s}}}function kn(e){Sa(e,!0)}function Sa(e,t){if((e.f&Me)!==0){e.f^=Me,(e.f&he)===0&&(ce(e,ye),Ze(e));for(var r=e.first;r!==null;){var n=r.next,a=(r.f&ir)!==0||(r.f&et)!==0;Sa(r,a?t:!1),r=n}var s=e.nodes&&e.nodes.t;if(s!==null)for(const o of s)(o.is_global||t)&&o.in()}}function xa(e,t){if(e.nodes)for(var r=e.nodes.start,n=e.nodes.end;r!==null;){var a=r===n?null:Tr(r);t.append(r),r=a}}let Ar=!1,xt=!1;function Dn(e){xt=e}let Y=null,Xe=!1;function Je(e){Y=e}let te=null;function ot(e){te=e}let Ue=null;function Ca(e){Y!==null&&(Ue===null?Ue=[e]:Ue.push(e))}let Ce=null,Oe=0,qe=null;function Xs(e){qe=e}let ja=1,Dt=0,Bt=Dt;function On(e){Bt=e}function Pa(){return++ja}function Er(e){var t=e.f;if((t&ye)!==0)return!0;if(t&me&&(e.f&=~Ht),(t&$e)!==0){for(var r=e.deps,n=r.length,a=0;a<n;a++){var s=r[a];if(Er(s)&&ua(s),s.wv>e.wv)return!0}(t&He)!==0&&pe===null&&ce(e,he)}return!1}function Aa(e,t,r=!0){var n=e.reactions;if(n!==null&&!(Ue!==null&&sr.call(Ue,e)))for(var a=0;a<n.length;a++){var s=n[a];(s.f&me)!==0?Aa(s,t,!1):t===s&&(r?ce(s,ye):(s.f&he)!==0&&ce(s,$e),Ze(s))}}function Da(e){var x;var t=Ce,r=Oe,n=qe,a=Y,s=Ue,o=Ve,f=Xe,l=Bt,c=e.f;Ce=null,Oe=0,qe=null,Y=(c&(et|Gt))===0?e:null,Ue=null,lr(e.ctx),Xe=!1,Bt=++Dt,e.ac!==null&&(qr(()=>{e.ac.abort(Pt)}),e.ac=null);try{e.f|=Zr;var v=e.fn,g=v();e.f|=Kt;var y=e.deps,w=H==null?void 0:H.is_fork;if(Ce!==null){var m;if(w||pr(e,Oe),y!==null&&Oe>0)for(y.length=Oe+Ce.length,m=0;m<Ce.length;m++)y[Oe+m]=Ce[m];else e.deps=y=Ce;if(pn()&&(e.f&He)!==0)for(m=Oe;m<y.length;m++)((x=y[m]).reactions??(x.reactions=[])).push(e)}else!w&&y!==null&&Oe<y.length&&(pr(e,Oe),y.length=Oe);if(Xn()&&qe!==null&&!Xe&&y!==null&&(e.f&(me|$e|ye))===0)for(m=0;m<qe.length;m++)Aa(qe[m],e);if(a!==null&&a!==e){if(Dt++,a.deps!==null)for(let u=0;u<r;u+=1)a.deps[u].rv=Dt;if(t!==null)for(const u of t)u.rv=Dt;qe!==null&&(n===null?n=qe:n.push(...qe))}return(e.f&wt)!==0&&(e.f^=wt),g}catch(u){return ea(u)}finally{e.f^=Zr,Ce=t,Oe=r,qe=n,Y=a,Ue=s,lr(o),Xe=f,Bt=l}}function $s(e,t){let r=t.reactions;if(r!==null){var n=Fa.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&&(Ce===null||!sr.call(Ce,t))){var s=t;(s.f&He)!==0&&(s.f^=He,s.f&=~Ht),_n(s),Fs(s),pr(s,0)}}function pr(e,t){var r=e.deps;if(r!==null)for(var n=t;n<r.length;n++)$s(e,r[n])}function ur(e){var t=e.f;if((t&_t)===0){ce(e,he);var r=te,n=Ar;te=e,Ar=!0;try{(t&(ht|Jn))!==0?Zs(e):wn(e),wa(e);var a=Da(e);e.teardown=typeof a=="function"?a:null,e.wv=ja;var s;Wr&&ks&&(e.f&ye)!==0&&e.deps}finally{Ar=n,te=r}}}async function ei(){await Promise.resolve(),Ss()}function i(e){var t=e.f,r=(t&me)!==0;if(Y!==null&&!Xe){var n=te!==null&&(te.f&_t)!==0;if(!n&&(Ue===null||!sr.call(Ue,e))){var a=Y.deps;if((Y.f&Zr)!==0)e.rv<Dt&&(e.rv=Dt,Ce===null&&a!==null&&a[Oe]===e?Oe++:Ce===null?Ce=[e]:Ce.push(e));else{(Y.deps??(Y.deps=[])).push(e);var s=e.reactions;s===null?e.reactions=[Y]:sr.call(s,Y)||s.push(Y)}}}if(xt&&Tt.has(e))return Tt.get(e);if(r){var o=e;if(xt){var f=o.v;return((o.f&he)===0&&o.reactions!==null||Na(o))&&(f=hn(o)),Tt.set(o,f),f}var l=(o.f&He)===0&&!Xe&&Y!==null&&(Ar||(Y.f&He)!==0),c=(o.f&Kt)===0;Er(o)&&(l&&(o.f|=He),ua(o)),l&&!c&&(fa(o),Oa(o))}if(pe!=null&&pe.has(e))return pe.get(e);if((e.f&wt)!==0)throw e.v;return e.v}function Oa(e){if(e.f|=He,e.deps!==null)for(const t of e.deps)(t.reactions??(t.reactions=[])).push(e),(t.f&me)!==0&&(t.f&He)===0&&(fa(t),Oa(t))}function Na(e){if(e.v===ge)return!0;if(e.deps===null)return!1;for(const t of e.deps)if(Tt.has(t)||(t.f&me)!==0&&Na(t))return!0;return!1}function Fr(e){var t=Xe;try{return Xe=!0,e()}finally{Xe=t}}const ti=["touchstart","touchmove"];function ri(e){return ti.includes(e)}const Ot=Symbol("events"),Ia=new Set,ln=new Set;function ni(e,t,r,n={}){function a(s){if(n.capture||on.call(t,s),!s.cancelBubble)return qr(()=>r==null?void 0:r.call(this,s))}return e.startsWith("pointer")||e.startsWith("touch")||e==="wheel"?it(()=>{t.addEventListener(e,a,n)}):t.addEventListener(e,a,n),a}function Pe(e,t,r,n,a){var s={capture:n,passive:a},o=ni(e,t,r,s);(t===document.body||t===window||t===document||t instanceof HTMLMediaElement)&&mn(()=>{t.removeEventListener(e,o,s)})}function ee(e,t,r){(t[Ot]??(t[Ot]={}))[e]=r}function Ye(e){for(var t=0;t<e.length;t++)Ia.add(e[t]);for(var r of ln)r(e)}let Nn=null;function on(e){var u,_;var t=this,r=t.ownerDocument,n=e.type,a=((u=e.composedPath)==null?void 0:u.call(e))||[],s=a[0]||e.target;Nn=e;var o=0,f=Nn===e&&e[Ot];if(f){var l=a.indexOf(f);if(l!==-1&&(t===document||t===window)){e[Ot]=t;return}var c=a.indexOf(t);if(c===-1)return;l<=c&&(o=l)}if(s=a[o]||e.target,s!==t){Ba(e,"currentTarget",{configurable:!0,get(){return s||r}});var v=Y,g=te;Je(null),ot(null);try{for(var y,w=[];s!==null;){var m=s.assignedSlot||s.parentNode||s.host||null;try{var x=(_=s[Ot])==null?void 0:_[n];x!=null&&(!s.disabled||e.target===s)&&x.call(s,e)}catch(P){y?w.push(P):y=P}if(e.cancelBubble||m===t||m===null)break;s=m}if(y){for(let P of w)queueMicrotask(()=>{throw P});throw y}}finally{e[Ot]=t,delete e.currentTarget,Je(v),ot(g)}}}var Kn;const Jr=((Kn=globalThis==null?void 0:globalThis.window)==null?void 0:Kn.trustedTypes)&&globalThis.window.trustedTypes.createPolicy("svelte-trusted-html",{createHTML:e=>e});function ai(e){return(Jr==null?void 0:Jr.createHTML(e))??e}function si(e){var t=pa("template");return t.innerHTML=ai(e.replaceAll("<!>","<!---->")),t.content}function Or(e,t){var r=te;r.nodes===null&&(r.nodes={start:e,end:t,a:null,t:null})}function C(e,t){var r=(t&hs)!==0,n=(t&gs)!==0,a,s=!e.startsWith("<!>");return()=>{a===void 0&&(a=si(s?e:"<!>"+e),r||(a=qt(a)));var o=n||da?document.importNode(a,!0):a.cloneNode(!0);if(r){var f=qt(o),l=o.lastChild;Or(f,l)}else Or(o,o);return o}}function In(e=""){{var t=Et(e+"");return Or(t,t),t}}function S(e,t){e!==null&&e.before(t)}function R(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 ii(e,t){return li(e,t)}const xr=new Map;function li(e,{target:t,anchor:r,props:n={},events:a,context:s,intro:o=!0,transformError:f}){Us();var l=void 0,c=Ws(()=>{var v=r??t.appendChild(Et());Ps(v,{pending:()=>{}},w=>{Le({});var m=Ve;s&&(m.c=s),a&&(n.$$events=a),l=e(w,n)||{},ze()},f);var g=new Set,y=w=>{for(var m=0;m<w.length;m++){var x=w[m];if(!g.has(x)){g.add(x);var u=ri(x);for(const j of[t,document]){var _=xr.get(j);_===void 0&&(_=new Map,xr.set(j,_));var P=_.get(x);P===void 0?(j.addEventListener(x,on,{passive:u}),_.set(x,1)):_.set(x,P+1)}}}};return y(Mr(Ia)),ln.add(y),()=>{var u;for(var w of g)for(const _ of[t,document]){var m=xr.get(_),x=m.get(w);--x==0?(_.removeEventListener(w,on),m.delete(w),m.size===0&&xr.delete(_)):m.set(w,x)}ln.delete(y),v!==r&&((u=v.parentNode)==null||u.removeChild(v))}});return oi.set(l,c),l}let oi=new WeakMap;var Qe,st,Ie,Lt,br,wr,Ir;class ui{constructor(t,r=!0){tt(this,"anchor");Z(this,Qe,new Map);Z(this,st,new Map);Z(this,Ie,new Map);Z(this,Lt,new Set);Z(this,br,!0);Z(this,wr,()=>{var t=H;if(d(this,Qe).has(t)){var r=d(this,Qe).get(t),n=d(this,st).get(r);if(n)kn(n),d(this,Lt).delete(r);else{var a=d(this,Ie).get(r);a&&(d(this,st).set(r,a.effect),d(this,Ie).delete(r),a.fragment.lastChild.remove(),this.anchor.before(a.fragment),n=a.effect)}for(const[s,o]of d(this,Qe)){if(d(this,Qe).delete(s),s===t)break;const f=d(this,Ie).get(o);f&&(je(f.effect),d(this,Ie).delete(o))}for(const[s,o]of d(this,st)){if(s===r||d(this,Lt).has(s))continue;const f=()=>{if(Array.from(d(this,Qe).values()).includes(s)){var c=document.createDocumentFragment();xa(o,c),c.append(Et()),d(this,Ie).set(s,{effect:o,fragment:c})}else je(o);d(this,Lt).delete(s),d(this,st).delete(s)};d(this,br)||!n?(d(this,Lt).add(s),Ft(o,f,!1)):f()}}});Z(this,Ir,t=>{d(this,Qe).delete(t);const r=Array.from(d(this,Qe).values());for(const[n,a]of d(this,Ie))r.includes(n)||(je(a.effect),d(this,Ie).delete(n))});this.anchor=t,V(this,br,r)}ensure(t,r){var n=H,a=ga();if(r&&!d(this,st).has(t)&&!d(this,Ie).has(t))if(a){var s=document.createDocumentFragment(),o=Et();s.append(o),d(this,Ie).set(t,{effect:Be(()=>r(o)),fragment:s})}else d(this,st).set(t,Be(()=>r(this.anchor)));if(d(this,Qe).set(n,t),a){for(const[f,l]of d(this,st))f===t?n.unskip_effect(l):n.skip_effect(l);for(const[f,l]of d(this,Ie))f===t?n.unskip_effect(l.effect):n.skip_effect(l.effect);n.oncommit(d(this,wr)),n.ondiscard(d(this,Ir))}else d(this,wr).call(this)}}Qe=new WeakMap,st=new WeakMap,Ie=new WeakMap,Lt=new WeakMap,br=new WeakMap,wr=new WeakMap,Ir=new WeakMap;function K(e,t,r=!1){var n=new ui(e),a=r?ir:0;function s(o,f){n.ensure(o,f)}bn(()=>{var o=!1;t((f,l=0)=>{o=!0,s(l,f)}),o||s(!1,null)},a)}function Jt(e,t){return t}function fi(e,t,r){for(var n=[],a=t.length,s,o=t.length,f=0;f<a;f++){let g=t[f];Ft(g,()=>{if(s){if(s.pending.delete(g),s.done.add(g),s.pending.size===0){var y=e.outrogroups;un(Mr(s.done)),y.delete(s),y.size===0&&(e.outrogroups=null)}}else o-=1},!1)}if(o===0){var l=n.length===0&&r!==null;if(l){var c=r,v=c.parentNode;Vs(v),v.append(c),e.items.clear()}un(t,!l)}else s={pending:new Set(t),done:new Set},(e.outrogroups??(e.outrogroups=new Set)).add(s)}function un(e,t=!0){for(var r=0;r<e.length;r++)je(e[r],t)}var Mn;function Ae(e,t,r,n,a,s=null){var o=e,f=new Map,l=(t&Gn)!==0;if(l){var c=e;o=c.appendChild(Et())}var v=null,g=oa(()=>{var _=r();return vn(_)?_:_==null?[]:Mr(_)}),y,w=!0;function m(){u.fallback=v,ci(u,y,o,t,n),v!==null&&(y.length===0?(v.f&dt)===0?kn(v):(v.f^=dt,vr(v,null,o)):Ft(v,()=>{v=null}))}var x=bn(()=>{y=i(g);for(var _=y.length,P=new Set,j=H,I=ga(),D=0;D<_;D+=1){var L=y[D],E=n(L,D),A=w?null:f.get(E);A?(A.v&&or(A.v,L),A.i&&or(A.i,D),I&&j.unskip_effect(A.e)):(A=vi(f,w?o:Mn??(Mn=Et()),L,E,D,a,t,r),w||(A.e.f|=dt),f.set(E,A)),P.add(E)}if(_===0&&s&&!v&&(w?v=Be(()=>s(o)):(v=Be(()=>s(Mn??(Mn=Et()))),v.f|=dt)),_>P.size&&Za(),!w)if(I){for(const[B,G]of f)P.has(B)||j.skip_effect(G.e);j.oncommit(m),j.ondiscard(()=>{})}else m();i(g)}),u={effect:x,items:f,outrogroups:null,fallback:v};w=!1}function cr(e){for(;e!==null&&(e.f&et)===0;)e=e.next;return e}function ci(e,t,r,n,a){var G,oe,z,J,q,W,$,Q,se;var s=(n&us)!==0,o=t.length,f=e.items,l=cr(e.effect.first),c,v=null,g,y=[],w=[],m,x,u,_;if(s)for(_=0;_<o;_+=1)m=t[_],x=a(m,_),u=f.get(x).e,(u.f&dt)===0&&((oe=(G=u.nodes)==null?void 0:G.a)==null||oe.measure(),(g??(g=new Set)).add(u));for(_=0;_<o;_+=1){if(m=t[_],x=a(m,_),u=f.get(x).e,e.outrogroups!==null)for(const U of e.outrogroups)U.pending.delete(u),U.done.delete(u);if((u.f&dt)!==0)if(u.f^=dt,u===l)vr(u,null,r);else{var P=v?v.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),mt(e,v,u),mt(e,u,P),vr(u,P,r),v=u,y=[],w=[],l=cr(v.next);continue}if((u.f&Me)!==0&&(kn(u),s&&((J=(z=u.nodes)==null?void 0:z.a)==null||J.unfix(),(g??(g=new Set)).delete(u))),u!==l){if(c!==void 0&&c.has(u)){if(y.length<w.length){var j=w[0],I;v=j.prev;var D=y[0],L=y[y.length-1];for(I=0;I<y.length;I+=1)vr(y[I],j,r);for(I=0;I<w.length;I+=1)c.delete(w[I]);mt(e,D.prev,L.next),mt(e,v,D),mt(e,L,j),l=j,v=L,_-=1,y=[],w=[]}else c.delete(u),vr(u,l,r),mt(e,u.prev,u.next),mt(e,u,v===null?e.effect.first:v.next),mt(e,v,u),v=u;continue}for(y=[],w=[];l!==null&&l!==u;)(c??(c=new Set)).add(l),w.push(l),l=cr(l.next);if(l===null)continue}(u.f&dt)===0&&y.push(u),v=u,l=cr(u.next)}if(e.outrogroups!==null){for(const U of e.outrogroups)U.pending.size===0&&(un(Mr(U.done)),(q=e.outrogroups)==null||q.delete(U));e.outrogroups.size===0&&(e.outrogroups=null)}if(l!==null||c!==void 0){var E=[];if(c!==void 0)for(u of c)(u.f&Me)===0&&E.push(u);for(;l!==null;)(l.f&Me)===0&&l!==e.fallback&&E.push(l),l=cr(l.next);var A=E.length;if(A>0){var B=(n&Gn)!==0&&o===0?r:null;if(s){for(_=0;_<A;_+=1)($=(W=E[_].nodes)==null?void 0:W.a)==null||$.measure();for(_=0;_<A;_+=1)(se=(Q=E[_].nodes)==null?void 0:Q.a)==null||se.fix()}fi(e,E,B)}}s&&it(()=>{var U,ae;if(g!==void 0)for(u of g)(ae=(U=u.nodes)==null?void 0:U.a)==null||ae.apply()})}function vi(e,t,r,n,a,s,o,f){var l=(o&ls)!==0?(o&fs)===0?Bs(r,!1,!1):Ut(r):null,c=(o&os)!==0?Ut(a):null;return{v:l,i:c,e:Be(()=>(s(t,l??r,c??a,f),()=>{e.delete(n)}))}}function vr(e,t,r){if(e.nodes)for(var n=e.nodes.start,a=e.nodes.end,s=t&&(t.f&dt)===0?t.nodes.start:r;n!==null;){var o=Tr(n);if(s.before(n),n===a)return;n=o}}function mt(e,t,r){t===null?e.effect.first=r:t.next=r,r===null?e.effect.last=t:r.prev=t}function di(e,t,r=!1,n=!1,a=!1){var s=e,o="";F(()=>{var f=te;if(o!==(o=t()??"")&&(f.nodes!==null&&(ka(f.nodes.start,f.nodes.end),f.nodes=null),o!=="")){var l=r?ps:n?ms:void 0,c=pa(r?"svg":n?"math":"template",l);c.innerHTML=o;var v=r||n?c:c.content;if(Or(qt(v),v.lastChild),r||n)for(;qt(v);)s.before(qt(v));else s.before(v)}})}const Rn=[...`
2
- \r\f \v\uFEFF`];function _i(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 s=a.length,o=0;(o=n.indexOf(a,o))>=0;){var f=o+s;(o===0||Rn.includes(n[o-1]))&&(f===n.length||Rn.includes(n[f]))?n=(o===0?"":n.substring(0,o))+n.substring(f+1):o=f}}return n===""?null:n}function hi(e,t){return e==null?null:String(e)}function Te(e,t,r,n,a,s){var o=e.__className;if(o!==r||o===void 0){var f=_i(r,n,s);f==null?e.removeAttribute("class"):e.className=f,e.__className=r}else if(s&&a!==s)for(var l in s){var c=!!s[l];(a==null||c!==!!a[l])&&e.classList.toggle(l,c)}return s}function Tn(e,t,r,n){var a=e.__style;if(a!==t){var s=hi(t);s==null?e.removeAttribute("style"):e.style.cssText=s,e.__style=t}return n}function Ma(e,t,r=!1){if(e.multiple){if(t==null)return;if(!vn(t))return ys();for(var n of e.options)n.selected=t.includes(hr(n));return}for(n of e.options){var a=hr(n);if(Hs(a,t)){n.selected=!0;return}}(!r||t!==void 0)&&(e.selectedIndex=-1)}function gi(e){var t=new MutationObserver(()=>{Ma(e,e.__value)});t.observe(e,{childList:!0,subtree:!0,attributes:!0,attributeFilter:["value"]}),mn(()=>{t.disconnect()})}function Ln(e,t,r=t){var n=new WeakSet,a=!0;ma(e,"change",s=>{var o=s?"[selected]":":checked",f;if(e.multiple)f=[].map.call(e.querySelectorAll(o),hr);else{var l=e.querySelector(o)??e.querySelector("option:not([disabled])");f=l&&hr(l)}r(f),H!==null&&n.add(H)}),ba(()=>{var s=t();if(e===document.activeElement){var o=Dr??H;if(n.has(o))return}if(Ma(e,s,a),a&&s===void 0){var f=e.querySelector(":checked");f!==null&&(s=hr(f),r(s))}e.__value=s,a=!1}),gi(e)}function hr(e){return"__value"in e?e.__value:e.value}const pi=Symbol("is custom element"),mi=Symbol("is html"),yi=Wa?"progress":"PROGRESS";function bi(e,t){var r=Ra(e);r.value===(r.value=t??void 0)||e.value===t&&(t!==0||e.nodeName!==yi)||(e.value=t??"")}function zn(e,t,r,n){var a=Ra(e);a[t]!==(a[t]=r)&&(r==null?e.removeAttribute(t):typeof r!="string"&&wi(e).includes(t)?e[t]=r:e.setAttribute(t,r))}function Ra(e){return e.__attributes??(e.__attributes={[pi]:e.nodeName.includes("-"),[mi]:e.namespaceURI===Wn})}var qn=new Map;function wi(e){var t=e.getAttribute("is")||e.nodeName,r=qn.get(t);if(r)return r;qn.set(t,r=[]);for(var n,a=e,s=Element.prototype;s!==a;){n=Ka(a);for(var o in n)n[o].set&&r.push(o);a=Un(a)}return r}function gr(e,t,r=t){var n=new WeakSet;ma(e,"input",async a=>{var s=a?e.defaultValue:e.value;if(s=Yr(e)?Gr(s):s,r(s),H!==null&&n.add(H),await ei(),s!==(s=t())){var o=e.selectionStart,f=e.selectionEnd,l=e.value.length;if(e.value=s??"",f!==null){var c=e.value.length;o===f&&f===l&&c>l?(e.selectionStart=c,e.selectionEnd=c):(e.selectionStart=o,e.selectionEnd=Math.min(f,c))}}}),Fr(t)==null&&e.value&&(r(Yr(e)?Gr(e.value):e.value),H!==null&&n.add(H)),yn(()=>{var a=t();if(e===document.activeElement){var s=Dr??H;if(n.has(s))return}Yr(e)&&a===Gr(e.value)||e.type==="date"&&!a&&!e.value||a!==e.value&&(e.value=a??"")})}function Yr(e){var t=e.type;return t==="number"||t==="range"}function Gr(e){return e===""?null:+e}function Fn(e,t){return e===t||(e==null?void 0:e[zt])===t}function fn(e={},t,r,n){return ba(()=>{var a,s;return yn(()=>{a=s,s=[],Fr(()=>{e!==r(...s)&&(t(e,...s),a&&Fn(r(...a),e)&&t(null,...a))})}),()=>{it(()=>{s&&Fn(r(...s),e)&&t(null,...s)})}}),e}let Cr=!1;function ki(e){var t=Cr;try{return Cr=!1,[e(),Cr]}finally{Cr=t}}function Yt(e,t,r,n){var P;var a=(r&ds)!==0,s=(r&_s)!==0,o=n,f=!0,l=()=>(f&&(f=!1,o=s?Fr(n):n),o),c;if(a){var v=zt in e||Ga in e;c=((P=Zt(e,t))==null?void 0:P.set)??(v&&t in e?j=>e[t]=j:void 0)}var g,y=!1;a?[g,y]=ki(()=>e[t]):g=e[t],g===void 0&&n!==void 0&&(g=l(),c&&(rs(),c(g)));var w;if(w=()=>{var j=e[t];return j===void 0?l():(f=!0,j)},(r&vs)===0)return w;if(c){var m=e.$$legacy;return(function(j,I){return arguments.length>0?((!I||m||y)&&c(I?w():j),j):w()})}var x=!1,u=((r&cs)!==0?zr:oa)(()=>(x=!1,w()));a&&i(u);var _=te;return(function(j,I){if(arguments.length>0){const D=I?i(u):a?we(j):j;return h(u,D),x=!0,o!==void 0&&(o=D),j}return xt&&x||(_.f&_t)!==0?u.v:i(u)})}const Ti="5";var Hn;typeof window<"u"&&((Hn=window.__svelte??(window.__svelte={})).v??(Hn.v=new Set)).add(Ti);async function rt(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 Ke={getProjects:()=>rt("/projects"),getProject:e=>rt(`/projects/${e}`),updateProject:(e,t)=>rt(`/projects/${e}`,{method:"PATCH",body:JSON.stringify(t)}),getTasks:e=>rt(`/projects/${e}/tasks?include_done=true`),createTask:(e,t)=>rt(`/projects/${e}/tasks`,{method:"POST",body:JSON.stringify(t)}),updateTask:(e,t)=>rt(`/tasks/${e}`,{method:"PATCH",body:JSON.stringify(t)}),deleteTask:e=>rt(`/tasks/${e}`,{method:"DELETE"}),getNotes:e=>rt(`/projects/${e}/notes`),getDecisions:e=>rt(`/projects/${e}/decisions`),getTaskHistory:e=>rt(`/tasks/${e}/history`)};var Ei=C('<input class="rename-input svelte-1kanzy0" type="text"/>'),Si=C('<span class="project-slug svelte-1kanzy0"> </span>'),xi=C('<span class="project-name svelte-1kanzy0"> </span> <!> <button class="rename-btn svelte-1kanzy0" title="Rename project">✎</button>',1),Ci=C('<div class="project-area svelte-1kanzy0"><!></div>'),ji=C('<header class="toolbar svelte-1kanzy0"><!></header>');function Pi(e,t){Le(t,!0);let r=M(!1),n=M("");const a=ie(()=>t.projects.find(g=>g.id===t.selectedId));function s(){i(a)&&(h(n,i(a).name,!0),h(r,!0))}function o(){if(!i(a)||!i(r))return;const g=i(n).trim();g&&g!==i(a).name&&t.onRenamed(i(a).id,g),h(r,!1)}function f(g){g.key==="Enter"&&o(),g.key==="Escape"&&h(r,!1)}var l=ji(),c=p(l);{var v=g=>{var y=Ci(),w=p(y);{var m=u=>{var _=Ei();gn(_),Pe("blur",_,o),ee("keydown",_,f),gr(_,()=>i(n),P=>h(n,P)),S(u,_)},x=u=>{var _=xi(),P=Vt(_),j=p(P),I=T(P,2);{var D=E=>{var A=Si(),B=p(A);F(()=>R(B,`[${i(a).slug??""}]`)),S(E,A)};K(I,E=>{i(a).slug&&E(D)})}var L=T(I,2);F(()=>R(j,i(a).name)),ee("click",L,s),S(u,_)};K(w,u=>{i(r)?u(m):u(x,!1)})}S(g,y)};K(c,g=>{i(a)&&g(v)})}S(e,l),ze()}Ye(["keydown","click"]);var Ai=C('<span class="brand svelte-rig7vt"><span class="prompt svelte-rig7vt">&gt;</span> mindpm</span>'),Di=C('<span class="task-count svelte-rig7vt"> </span>'),Oi=C('<span class="project-name svelte-rig7vt"> </span> <!>',1),Ni=C('<span class="task-count svelte-rig7vt"> </span>'),Ii=C('<span class="project-slug-collapsed svelte-rig7vt"> </span> <!>',1),Mi=C('<button><span class="status-dot svelte-rig7vt"></span> <!></button>'),Ri=C('<div class="sidebar-footer svelte-rig7vt"><span class="footer-hint svelte-rig7vt"> </span></div>'),Li=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 zi(e,t){Le(t,!0);const r="mindpm_sidebar_collapsed";let n=M(localStorage.getItem(r)==="true");function a(){h(n,!i(n)),localStorage.setItem(r,String(i(n)))}const s={active:"var(--primary)",paused:"#d29922",completed:"var(--text-muted)",archived:"var(--border-bright)"};var o=Li();let f;var l=p(o),c=p(l);{var v=u=>{var _=Ai();S(u,_)};K(c,u=>{i(n)||u(v)})}var g=T(c,2),y=p(g),w=T(l,2);Ae(w,21,()=>t.projects,u=>u.id,(u,_)=>{var P=Mi();let j;var I=p(P),D=T(I,2);{var L=A=>{var B=Oi(),G=Vt(B),oe=p(G),z=T(G,2);{var J=q=>{var W=Di(),$=p(W);F(()=>R($,i(_).active_task_count)),S(q,W)};K(z,q=>{(i(_).active_task_count??0)>0&&q(J)})}F(()=>R(oe,i(_).name)),S(A,B)},E=A=>{var B=Ii(),G=Vt(B),oe=p(G),z=T(G,2);{var J=q=>{var W=Ni(),$=p(W);F(()=>R($,i(_).active_task_count)),S(q,W)};K(z,q=>{(i(_).active_task_count??0)>0&&q(J)})}F(()=>R(oe,i(_).slug??i(_).id)),S(A,B)};K(D,A=>{i(n)?A(E,!1):A(L)})}F(()=>{j=Te(P,1,"project-item svelte-rig7vt",null,j,{active:i(_).id===t.selectedId}),zn(P,"title",i(n)?i(_).name:void 0),Tn(I,`background: ${s[i(_).status]??"var(--text-muted)"??""}`)}),ee("click",P,()=>t.onSelect(i(_).id)),S(u,P)});var m=T(w,2);{var x=u=>{var _=Ri(),P=p(_),j=p(P);F(()=>R(j,`// ${t.projects.length??""} project${t.projects.length!==1?"s":""}`)),S(u,_)};K(m,u=>{i(n)||u(x)})}F(()=>{f=Te(o,1,"sidebar svelte-rig7vt",null,f,{collapsed:i(n)}),zn(g,"title",i(n)?"Expand sidebar":"Collapse sidebar"),R(y,i(n)?"»":"«")}),ee("click",g,a),S(e,o),ze()}Ye(["click"]);const qi=[{status:"todo",label:"Todo"},{status:"in_progress",label:"In Progress"},{status:"blocked",label:"Blocked"},{status:"done",label:"Done"},{status:"cancelled",label:"Cancelled"}],La=["critical","high","medium","low"];var Fi=C('<span class="task-id svelte-35ep21"> </span>'),Bi=C('<div class="card-desc svelte-35ep21"> </div>'),Ki=C('<span class="tag svelte-35ep21"> </span>'),Hi=C('<div class="card-tags svelte-35ep21"></div>'),Ui=C('<span class="badge badge-blocked svelte-35ep21"> </span>'),Vi=C('<span class="badge badge-subtasks svelte-35ep21"> </span>'),Ji=C('<div class="card-footer svelte-35ep21"><!> <!></div>'),Yi=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 Gi(e,t){Le(t,!0);let r=Yt(t,"subtaskCount",3,0),n=M(!1);function a(z){if(!z)return[];try{return JSON.parse(z)}catch{return[]}}const s=ie(()=>a(t.task.tags)),o=ie(()=>`priority-${t.task.priority}`),f=ie(()=>()=>{if(!t.task.blocked_by)return 0;try{const z=JSON.parse(t.task.blocked_by);return Array.isArray(z)?z.length:0}catch{return 0}});function l(z){h(n,!0),t.onDragStart(z,t.task)}function c(){h(n,!1)}var v=Yi();let g;var y=p(v),w=p(y),m=p(w),x=T(w,2),u=p(x);{var _=z=>{var J=Fi(),q=p(J);F(()=>R(q,t.task.short_id)),S(z,J)};K(u,z=>{t.task.short_id&&z(_)})}var P=T(u,2),j=T(y,2),I=p(j),D=T(j,2);{var L=z=>{var J=Bi(),q=p(J);F(()=>R(q,t.task.description)),S(z,J)};K(D,z=>{t.task.description&&z(L)})}var E=T(D,2);{var A=z=>{var J=Hi();Ae(J,21,()=>i(s),Jt,(q,W)=>{var $=Ki(),Q=p($);F(()=>R(Q,i(W))),S(q,$)}),S(z,J)};K(E,z=>{i(s).length>0&&z(A)})}var B=T(E,2);{var G=z=>{var J=Ji(),q=p(J);{var W=U=>{var ae=Ui(),X=p(ae);F(ne=>R(X,`⊘ blocked by ${ne??""}`),[()=>i(f)()]),S(U,ae)},$=ie(()=>i(f)()>0);K(q,U=>{i($)&&U(W)})}var Q=T(q,2);{var se=U=>{var ae=Vi(),X=p(ae);F(()=>R(X,`⑂ ${r()??""}`)),S(U,ae)};K(Q,U=>{r()>0&&U(se)})}S(z,J)},oe=ie(()=>i(f)()>0||r()>0);K(B,z=>{i(oe)&&z(G)})}F(()=>{g=Te(v,1,`card ${i(o)??""}`,"svelte-35ep21",g,{dragging:i(n)}),Te(w,1,`priority-badge ${i(o)??""}`,"svelte-35ep21"),R(m,t.task.priority),R(I,t.task.title)}),Pe("dragstart",v,l),Pe("dragend",v,c),ee("click",v,()=>t.onEdit(t.task)),ee("keydown",v,z=>{z.key==="Enter"&&t.onEdit(t.task)}),ee("click",P,z=>{z.stopPropagation(),t.onDelete(t.task)}),S(e,v),ze()}Ye(["click","keydown"]);var Wi=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>'),Qi=C('<button class="add-btn svelte-zswfgn" title="Add task">+</button>'),Zi=C('<div class="wip-banner svelte-zswfgn"> </div>'),Xi=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),$i=C('<div role="list"><!></div>');function el(e,t){Le(t,!0);const r=5,n="mindpm_collapsed_cols";let a=M(!1);function s(){try{const P=localStorage.getItem(n);return(P?JSON.parse(P):[]).includes(t.status)}catch{return!1}}function o(P){try{const j=localStorage.getItem(n),I=j?JSON.parse(j):[],D=P?[...new Set([...I,t.status])]:I.filter(L=>L!==t.status);localStorage.setItem(n,JSON.stringify(D))}catch{}}let f=M(we(s()));function l(){h(f,!i(f)),o(i(f))}const c=ie(()=>t.status==="in_progress"&&t.tasks.length>r);function v(P){P.preventDefault(),P.dataTransfer&&(P.dataTransfer.dropEffect="move"),h(a,!0)}function g(){h(a,!1)}function y(P){P.preventDefault(),h(a,!1),t.onDrop(t.status)}var w=$i();let m;var x=p(w);{var u=P=>{var j=Wi(),I=p(j),D=T(I,2),L=p(D);let E;var A=p(L),B=T(L,2),G=p(B);F(()=>{E=Te(L,1,"collapsed-count svelte-zswfgn",null,E,{wip:i(c)}),R(A,`[${t.tasks.length??""}]`),R(G,t.label)}),ee("click",I,l),S(P,j)},_=P=>{var j=Xi(),I=Vt(j),D=p(I),L=T(p(D)),E=T(L);let A;var B=p(E),G=T(D,2),oe=p(G);{var z=Q=>{var se=Qi();ee("click",se,()=>t.onAddTask(t.status)),S(Q,se)};K(oe,Q=>{t.status==="todo"&&Q(z)})}var J=T(oe,2),q=T(I,2);{var W=Q=>{var se=Zi(),U=p(se);F(()=>R(U,`WIP limit exceeded (${t.tasks.length??""}/5)`)),S(Q,se)};K(q,Q=>{i(c)&&Q(W)})}var $=T(q,2);Ae($,21,()=>t.tasks,Q=>Q.id,(Q,se)=>{{let U=ie(()=>t.subtaskCounts.get(i(se).id)??0);Gi(Q,{get task(){return i(se)},get subtaskCount(){return i(U)},get onEdit(){return t.onEdit},get onDelete(){return t.onDelete},get onDragStart(){return t.onDragStart}})}}),F(()=>{R(L,` ${t.label??""} `),A=Te(E,1,"count svelte-zswfgn",null,A,{wip:i(c)}),R(B,`[${t.tasks.length??""}${i(c)?" ⚠":""}]`)}),ee("click",J,l),S(P,j)};K(x,P=>{i(f)?P(u):P(_,!1)})}F(()=>m=Te(w,1,"column svelte-zswfgn",null,m,{"drag-over":i(a),collapsed:i(f),"wip-warning":i(c)})),Pe("dragover",w,v),Pe("dragleave",w,g),Pe("drop",w,y),S(e,w),ze()}Ye(["click"]);var tl=C('<span class="modal-task-id svelte-1gmf2hi"> </span>'),rl=C("<option> </option>"),nl=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>Done</option><option>Cancelled</option></select></div>'),al=C('<span class="blocker-id svelte-1gmf2hi"> </span>'),sl=C("<span> </span>"),il=C('<div class="blocked-item svelte-1gmf2hi"><!> <span class="blocker-title svelte-1gmf2hi"> </span> <!></div>'),ll=C('<div class="blocked-section svelte-1gmf2hi"><h3 class="section-heading svelte-1gmf2hi">Blocked by</h3> <div class="blocked-list svelte-1gmf2hi"></div></div>'),ol=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>'),ul=C('<div class="history-section svelte-1gmf2hi"><h3 class="history-heading svelte-1gmf2hi">History</h3> <div class="history-list svelte-1gmf2hi"></div></div>'),fl=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 cl(e,t){Le(t,!0);let r=Yt(t,"allTasks",19,()=>[]),n=Yt(t,"defaultStatus",3,"todo"),a=M(""),s=M(""),o=M("medium"),f=M("todo"),l=M(""),c=M(we([]));lt(()=>{var k,O,re,fe,ve;if(h(a,((k=t.task)==null?void 0:k.title)??"",!0),h(s,((O=t.task)==null?void 0:O.description)??"",!0),h(o,((re=t.task)==null?void 0:re.priority)??"medium",!0),h(f,((fe=t.task)==null?void 0:fe.status)??n(),!0),(ve=t.task)!=null&&ve.tags)try{h(l,JSON.parse(t.task.tags).join(", "),!0)}catch{h(l,"")}else h(l,"")}),lt(()=>{t.task!==null?Ke.getTaskHistory(t.task.id).then(k=>{h(c,k,!0)}).catch(()=>{h(c,[],!0)}):h(c,[],!0)});const v=ie(()=>t.task!==null),g=ie(()=>()=>{var k;if(!((k=t.task)!=null&&k.blocked_by))return[];try{const O=JSON.parse(t.task.blocked_by);if(!Array.isArray(O)||O.length===0)return[];const re=new Map(r().map(fe=>[fe.id,fe]));return O.map(fe=>re.get(fe)??{id:fe,title:fe,short_id:null,status:null})}catch{return[]}});function y(k){switch(k.event){case"created":return"<b>created</b>";case"status_changed":return`status <b>${k.old_value}</b> → <b>${k.new_value}</b>`;case"priority_changed":return`priority <b>${k.old_value}</b> → <b>${k.new_value}</b>`;case"title_changed":return"title renamed";default:return k.event.replace(/_/g," ")}}function w(k){return new Date(k.replace(" ","T")+"Z").toLocaleString(void 0,{month:"short",day:"numeric",hour:"2-digit",minute:"2-digit"})}function m(k){k.preventDefault();const O=i(a).trim();if(!O)return;const re=i(l).split(",").map(fe=>fe.trim()).filter(Boolean);t.onSave({title:O,description:i(s).trim(),priority:i(o),...i(v)?{status:i(f)}:{},tags:re})}function x(k){k.target.classList.contains("modal-backdrop")&&t.onClose()}function u(k){k.key==="Escape"&&t.onClose()}var _=fl();Pe("keydown",St,u);var P=p(_),j=p(P),I=p(j),D=p(I),L=p(D),E=T(D,2);{var A=k=>{var O=tl(),re=p(O);F(()=>R(re,t.task.short_id)),S(k,O)};K(E,k=>{var O;(O=t.task)!=null&&O.short_id&&k(A)})}var B=T(I,2),G=T(j,2),oe=p(G),z=T(p(oe),2);gn(z);var J=T(oe,2),q=T(p(J),2),W=T(J,2),$=p(W),Q=T(p($),2);Ae(Q,21,()=>La,Jt,(k,O)=>{var re=rl(),fe=p(re),ve={};F(()=>{R(fe,i(O)),ve!==(ve=i(O))&&(re.value=(re.__value=i(O))??"")}),S(k,re)});var se=T($,2);{var U=k=>{var O=nl(),re=T(p(O),2),fe=p(re);fe.value=fe.__value="todo";var ve=T(fe);ve.value=ve.__value="in_progress";var ut=T(ve);ut.value=ut.__value="blocked";var pt=T(ut);pt.value=pt.__value="done";var Ct=T(pt);Ct.value=Ct.__value="cancelled",Ln(re,()=>i(f),Wt=>h(f,Wt)),S(k,O)};K(se,k=>{i(v)&&k(U)})}var ae=T(W,2),X=T(p(ae),2),ne=T(ae,2),ue=p(ne),ke=T(ue,2),Ee=p(ke),De=T(G,2);{var le=k=>{var O=ll(),re=T(p(O),2);Ae(re,21,()=>i(g)(),Jt,(fe,ve)=>{var ut=il(),pt=p(ut);{var Ct=jt=>{var Qt=al(),Ur=p(Qt);F(()=>R(Ur,i(ve).short_id)),S(jt,Qt)};K(pt,jt=>{i(ve).short_id&&jt(Ct)})}var Wt=T(pt,2),Br=p(Wt),Kr=T(Wt,2);{var Hr=jt=>{var Qt=sl(),Ur=p(Qt);F(()=>{Te(Qt,1,`blocker-status blocker-status-${i(ve).status??""}`,"svelte-1gmf2hi"),R(Ur,i(ve).status)}),S(jt,Qt)};K(Kr,jt=>{i(ve).status&&jt(Hr)})}F(()=>R(Br,i(ve).title)),S(fe,ut)}),S(k,O)},be=ie(()=>i(v)&&i(g)().length>0);K(De,k=>{i(be)&&k(le)})}var b=T(De,2);{var N=k=>{var O=ul(),re=T(p(O),2);Ae(re,21,()=>i(c),fe=>fe.id,(fe,ve)=>{var ut=ol(),pt=T(p(ut),2),Ct=p(pt),Wt=p(Ct);di(Wt,()=>y(i(ve)));var Br=T(Ct,2),Kr=p(Br);F(Hr=>R(Kr,Hr),[()=>w(i(ve).created_at)]),S(fe,ut)}),S(k,O)};K(b,k=>{i(v)&&i(c).length>0&&k(N)})}F(()=>{R(L,i(v)?"Edit Task":"New Task"),R(Ee,i(v)?"Save":"Create")}),ee("click",_,x),ee("click",B,function(...k){var O;(O=t.onClose)==null||O.apply(this,k)}),Pe("submit",G,m),gr(z,()=>i(a),k=>h(a,k)),gr(q,()=>i(s),k=>h(s,k)),Ln(Q,()=>i(o),k=>h(o,k)),gr(X,()=>i(l),k=>h(l,k)),ee("click",ue,function(...k){var O;(O=t.onClose)==null||O.apply(this,k)}),S(e,_),ze()}Ye(["click"]);var vl=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 dl(e,t){Le(t,!0);let r=Yt(t,"confirmLabel",3,"Delete");function n(x){x.target.classList.contains("modal-backdrop")&&t.onCancel()}function a(x){x.key==="Escape"&&t.onCancel()}var s=vl();Pe("keydown",St,a);var o=p(s),f=p(o),l=p(f),c=T(f,2),v=p(c),g=T(c,2),y=p(g),w=T(y,2),m=p(w);F(()=>{R(l,t.title),R(v,t.message),R(m,r())}),ee("click",s,n),ee("click",y,function(...x){var u;(u=t.onCancel)==null||u.apply(this,x)}),ee("click",w,function(...x){var u;(u=t.onConfirm)==null||u.apply(this,x)}),S(e,s),ze()}Ye(["click"]);var _l=C('<button class="clear-input svelte-dhotvj">&times;</button>'),hl=C("<button> </button>"),gl=C('<button><span class="tag-checkbox svelte-dhotvj"> </span> <span class="tag-name svelte-dhotvj"> </span></button>'),pl=C('<button class="tag-clear svelte-dhotvj">clear tags</button>'),ml=C('<div class="tag-dropdown svelte-dhotvj"><!> <!></div>'),yl=C('<div class="filter-section tag-dropdown-wrapper svelte-dhotvj"><span class="filter-label svelte-dhotvj">tags:</span> <button><!></button> <!></div>'),bl=C('<button class="clear-all svelte-dhotvj"> </button>'),wl=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 kl(e,t){Le(t,!0);let r=Yt(t,"focusSearch",15,null),n=M(null),a=M(!1),s=M(null);lt(()=>{r(()=>{var D;return(D=i(n))==null?void 0:D.focus()})});const o=ie(()=>(t.searchQuery.trim()?1:0)+t.selectedPriorities.size+t.selectedTags.size),f={critical:"var(--priority-critical)",high:"var(--priority-high)",medium:"var(--priority-medium)",low:"var(--text-muted)"};function l(D){D.key==="Escape"&&h(a,!1)}function c(D){i(s)&&!i(s).contains(D.target)&&h(a,!1)}var v=wl();Pe("click",St,c),Pe("keydown",St,l);var g=p(v),y=T(p(g),2);fn(y,D=>h(n,D),()=>i(n));var w=T(y,2);{var m=D=>{var L=_l();ee("click",L,()=>t.onSearchChange("")),S(D,L)};K(w,D=>{t.searchQuery&&D(m)})}var x=T(g,2),u=T(p(x),2);Ae(u,21,()=>La,Jt,(D,L)=>{var E=hl();let A;var B=p(E);F(G=>{A=Te(E,1,"chip svelte-dhotvj",null,A,G),Tn(E,`--chip-color: ${f[i(L)]??""}`),R(B,i(L))},[()=>({active:t.selectedPriorities.has(i(L))})]),ee("click",E,()=>t.onPriorityToggle(i(L))),S(D,E)});var _=T(x,2);{var P=D=>{var L=yl(),E=T(p(L),2);let A;var B=p(E);{var G=q=>{var W=In();F(()=>R(W,`[${t.selectedTags.size??""}] ▾`)),S(q,W)},oe=q=>{var W=In("all ▾");S(q,W)};K(B,q=>{t.selectedTags.size>0?q(G):q(oe,!1)})}var z=T(E,2);{var J=q=>{var W=ml(),$=p(W);Ae($,17,()=>t.allTags,Jt,(U,ae)=>{var X=gl();let ne;var ue=p(X),ke=p(ue),Ee=T(ue,2),De=p(Ee);F((le,be)=>{ne=Te(X,1,"tag-option svelte-dhotvj",null,ne,le),R(ke,be),R(De,`#${i(ae)??""}`)},[()=>({selected:t.selectedTags.has(i(ae))}),()=>t.selectedTags.has(i(ae))?"✓":" "]),ee("click",X,le=>{le.stopPropagation(),t.onTagToggle(i(ae))}),S(U,X)});var Q=T($,2);{var se=U=>{var ae=pl();ee("click",ae,X=>{X.stopPropagation(),t.selectedTags.forEach(ne=>t.onTagToggle(ne))}),S(U,ae)};K(Q,U=>{t.selectedTags.size>0&&U(se)})}S(q,W)};K(z,q=>{i(a)&&q(J)})}fn(L,q=>h(s,q),()=>i(s)),F(()=>A=Te(E,1,"dropdown-trigger svelte-dhotvj",null,A,{active:t.selectedTags.size>0})),ee("click",E,q=>{q.stopPropagation(),h(a,!i(a))}),S(D,L)};K(_,D=>{t.allTags.length>0&&D(P)})}var j=T(_,2);{var I=D=>{var L=bl(),E=p(L);F(()=>R(E,`clear [${i(o)??""}]`)),ee("click",L,function(...A){var B;(B=t.onClear)==null||B.apply(this,A)}),S(D,L)};K(j,D=>{i(o)>0&&D(I)})}F(()=>bi(y,t.searchQuery)),ee("input",y,D=>t.onSearchChange(D.target.value)),S(e,v),ze()}Ye(["input","click"]);var Tl=C('<div class="board-message svelte-x7v2jt">Loading tasks...</div>'),El=C('<div class="board-message error svelte-x7v2jt"> <button class="svelte-x7v2jt">Retry</button></div>'),Sl=C('<div class="board svelte-x7v2jt"></div>'),xl=C('<!> <div class="board-wrapper svelte-x7v2jt"><!></div> <!> <!>',1);function Cl(e,t){Le(t,!0);let r=Yt(t,"triggerNewTask",3,!1),n=Yt(t,"openTask",3,null),a=M(we([])),s=M(!0),o=M(null),f=M(!1),l=M(null),c=M("todo"),v=M(!1),g=M(null),y=M(null),w=M(""),m=M(we(new Set)),x=M(we(new Set));const u=ie(()=>()=>{const b=new Map;for(const N of i(a))N.parent_task_id&&b.set(N.parent_task_id,(b.get(N.parent_task_id)??0)+1);return b}),_=ie(()=>()=>{const b=new Set;for(const N of i(a))if(N.tags)try{for(const k of JSON.parse(N.tags))b.add(k)}catch{}return[...b].sort()}),P=ie(()=>()=>{let b=i(a);const N=i(w).trim().toLowerCase();return N&&(b=b.filter(k=>k.title.toLowerCase().includes(N)||(k.description??"").toLowerCase().includes(N)||(k.short_id??"").toLowerCase().includes(N))),i(m).size>0&&(b=b.filter(k=>i(m).has(k.priority))),i(x).size>0&&(b=b.filter(k=>{if(!k.tags)return!1;try{return JSON.parse(k.tags).some(re=>i(x).has(re))}catch{return!1}})),b}),j={critical:0,high:1,medium:2,low:3},I=ie(()=>qi.map(b=>{const N=i(P)().filter(k=>k.status===b.status);return b.status==="done"||b.status==="cancelled"?N.sort((k,O)=>(O.updated_at??"").localeCompare(k.updated_at??"")):N.sort((k,O)=>{const re=(j[k.priority]??3)-(j[O.priority]??3);return re!==0?re:(O.created_at??"").localeCompare(k.created_at??"")}),{...b,tasks:N}}));function D(b){const N=new Set(i(m));N.has(b)?N.delete(b):N.add(b),h(m,N,!0)}function L(b){const N=new Set(i(x));N.has(b)?N.delete(b):N.add(b),h(x,N,!0)}function E(){h(w,""),h(m,new Set,!0),h(x,new Set,!0)}let A=M(null);function B(b){var O;const N=b.target.tagName;N==="INPUT"||N==="TEXTAREA"||N==="SELECT"||b.ctrlKey||b.metaKey||b.altKey||(b.key==="n"||b.key==="N"?(b.preventDefault(),J("todo")):b.key==="/"&&(b.preventDefault(),(O=i(A))==null||O()))}lt(()=>{var b;r()&&(J("todo"),(b=t.onNewTaskTriggered)==null||b.call(t))}),lt(()=>{var b;n()&&(h(l,n()),h(f,!0),(b=t.onOpenTaskHandled)==null||b.call(t))});async function G(){h(s,!0),h(o,null);try{h(a,await Ke.getTasks(t.project.id),!0)}catch(b){h(o,b.message,!0)}finally{h(s,!1)}}lt(()=>{t.project.id,G()});function oe(b,N){h(y,N,!0),b.dataTransfer&&(b.dataTransfer.effectAllowed="move",b.dataTransfer.setData("text/plain",N.id))}async function z(b){if(!i(y)||i(y).status===b){h(y,null);return}const N=i(y),k=N.status;h(y,null);const O=i(a).findIndex(re=>re.id===N.id);O!==-1&&(i(a)[O]={...i(a)[O],status:b});try{await Ke.updateTask(N.id,{status:b})}catch(re){O!==-1&&(i(a)[O]={...i(a)[O],status:k}),h(o,re.message,!0)}}function J(b){h(l,null),h(c,b,!0),h(f,!0)}function q(b){h(l,b,!0),h(f,!0)}async function W(b){try{if(i(l)){const N=await Ke.updateTask(i(l).id,{title:b.title,description:b.description||null,priority:b.priority,status:b.status,tags:b.tags.length>0?b.tags.join(","):null}),k=i(a).findIndex(O=>O.id===i(l).id);k!==-1&&(i(a)[k]=N)}else{const N=await Ke.createTask(t.project.id,{title:b.title,description:b.description||void 0,priority:b.priority,tags:b.tags.length>0?b.tags:void 0});h(a,[N,...i(a)],!0)}h(f,!1),h(l,null)}catch(N){h(o,N.message,!0)}}function $(b){h(g,b,!0),h(v,!0)}async function Q(){if(i(g))try{await Ke.deleteTask(i(g).id),h(a,i(a).filter(b=>b.id!==i(g).id&&b.parent_task_id!==i(g).id),!0),h(v,!1),h(g,null)}catch(b){h(o,b.message,!0)}}var se=xl();Pe("keydown",St,B);var U=Vt(se);{let b=ie(()=>i(_)());kl(U,{get allTags(){return i(b)},get searchQuery(){return i(w)},get selectedPriorities(){return i(m)},get selectedTags(){return i(x)},onSearchChange:N=>{h(w,N,!0)},onPriorityToggle:D,onTagToggle:L,onClear:E,get focusSearch(){return i(A)},set focusSearch(N){h(A,N,!0)}})}var ae=T(U,2),X=p(ae);{var ne=b=>{var N=Tl();S(b,N)},ue=b=>{var N=El(),k=p(N),O=T(k);F(()=>R(k,`${i(o)??""} `)),ee("click",O,()=>{h(o,null),G()}),S(b,N)},ke=b=>{var N=Sl();Ae(N,21,()=>i(I),k=>k.status,(k,O)=>{{let re=ie(()=>i(u)());el(k,{get status(){return i(O).status},get label(){return i(O).label},get tasks(){return i(O).tasks},get subtaskCounts(){return i(re)},onEdit:q,onDelete:$,onDragStart:oe,onDrop:z,onAddTask:J})}}),S(b,N)};K(X,b=>{i(s)?b(ne):i(o)?b(ue,1):b(ke,!1)})}var Ee=T(ae,2);{var De=b=>{cl(b,{get task(){return i(l)},get projectId(){return t.project.id},get allTasks(){return i(a)},get defaultStatus(){return i(c)},onSave:W,onClose:()=>{h(f,!1),h(l,null)}})};K(Ee,b=>{i(f)&&b(De)})}var le=T(Ee,2);{var be=b=>{dl(b,{title:"Delete Task",get message(){return`Are you sure you want to delete "${i(g).title??""}"? This cannot be undone.`},onConfirm:Q,onCancel:()=>{h(v,!1),h(g,null)}})};K(le,b=>{i(v)&&i(g)&&b(be)})}S(e,se),ze()}Ye(["click"]);var jl=C('<div class="state-msg svelte-mwtig8"><span class="prompt svelte-mwtig8">&gt;</span> loading notes...</div>'),Pl=C('<div class="state-msg err svelte-mwtig8"> </div>'),Al=C('<div class="state-msg muted svelte-mwtig8">// no notes yet — use add_note via MCP tools</div>'),Dl=C('<span class="tag svelte-mwtig8"> </span>'),Ol=C('<div class="tags svelte-mwtig8"></div>'),Nl=C('<span class="task-link svelte-mwtig8"> </span>'),Il=C('<div class="card-footer svelte-mwtig8"><!> <!></div>'),Ml=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>'),Rl=C('<div class="list svelte-mwtig8"></div>'),Ll=C('<div class="view svelte-mwtig8"><!></div>');function zl(e,t){Le(t,!0);let r=M(we([])),n=M(we([])),a=M(!0),s=M(null);lt(()=>{h(a,!0),h(s,null),Promise.all([Ke.getNotes(t.projectId),Ke.getTasks(t.projectId)]).then(([u,_])=>{h(r,u,!0),h(n,_,!0)}).catch(u=>{h(s,u.message,!0)}).finally(()=>{h(a,!1)})});const o=ie(()=>new Map(i(n).map(u=>[u.id,u]))),f={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 v=Ll(),g=p(v);{var y=u=>{var _=jl();S(u,_)},w=u=>{var _=Pl(),P=p(_);F(()=>R(P,`[error] ${i(s)??""}`)),S(u,_)},m=u=>{var _=Al();S(u,_)},x=u=>{var _=Rl();Ae(_,21,()=>i(r),P=>P.id,(P,j)=>{const I=ie(()=>i(j).task_id?i(o).get(i(j).task_id):null),D=ie(()=>l(i(j).tags));var L=Ml(),E=p(L),A=p(E),B=p(A),G=T(A,2),oe=p(G),z=T(E,2),J=p(z),q=T(z,2);{var W=$=>{var Q=Il(),se=p(Q);{var U=ne=>{var ue=Ol();Ae(ue,21,()=>i(D),Jt,(ke,Ee)=>{var De=Dl(),le=p(De);F(()=>R(le,i(Ee))),S(ke,De)}),S(ne,ue)};K(se,ne=>{i(D).length>0&&ne(U)})}var ae=T(se,2);{var X=ne=>{var ue=Nl(),ke=p(ue);F(Ee=>R(ke,`→ ${Ee??""}: ${i(I).title??""}`),[()=>i(I).short_id??i(I).id.slice(0,8)]),ee("click",ue,()=>t.onOpenTask(i(I))),S(ne,ue)};K(ae,ne=>{i(I)&&ne(X)})}S($,Q)};K(q,$=>{(i(D).length>0||i(I))&&$(W)})}F($=>{Tn(A,`color: ${f[i(j).category]??"var(--text-muted)"??""}`),R(B,i(j).category),R(oe,$),R(J,i(j).content)},[()=>c(i(j).created_at)]),S(P,L)}),S(u,_)};K(g,u=>{i(a)?u(y):i(s)?u(w,1):i(r).length===0?u(m,2):u(x,!1)})}S(e,v),ze()}Ye(["click"]);var ql=C('<div class="state-msg svelte-1nwykvu"><span class="prompt svelte-1nwykvu">&gt;</span> loading decisions...</div>'),Fl=C('<div class="state-msg err svelte-1nwykvu"> </div>'),Bl=C('<div class="state-msg muted svelte-1nwykvu">// no decisions yet — use log_decision via MCP tools</div>'),Kl=C('<div class="reasoning svelte-1nwykvu"> </div>'),Hl=C('<div class="alts svelte-1nwykvu"> </div>'),Ul=C('<span class="tag svelte-1nwykvu"> </span>'),Vl=C('<div class="tags svelte-1nwykvu"></div>'),Jl=C('<span class="task-link svelte-1nwykvu"> </span>'),Yl=C('<div class="card-footer svelte-1nwykvu"><!> <!></div>'),Gl=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>'),Wl=C('<div class="list svelte-1nwykvu"></div>'),Ql=C('<div class="view svelte-1nwykvu"><!></div>');function Zl(e,t){Le(t,!0);let r=M(we([])),n=M(we([])),a=M(!0),s=M(null);lt(()=>{h(a,!0),h(s,null),Promise.all([Ke.getDecisions(t.projectId),Ke.getTasks(t.projectId)]).then(([u,_])=>{h(r,u,!0),h(n,_,!0)}).catch(u=>{h(s,u.message,!0)}).finally(()=>{h(a,!1)})});const o=ie(()=>new Map(i(n).map(u=>[u.id,u])));function f(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 v=Ql(),g=p(v);{var y=u=>{var _=ql();S(u,_)},w=u=>{var _=Fl(),P=p(_);F(()=>R(P,`[error] ${i(s)??""}`)),S(u,_)},m=u=>{var _=Bl();S(u,_)},x=u=>{var _=Wl();Ae(_,21,()=>i(r),P=>P.id,(P,j)=>{const I=ie(()=>i(j).task_id?i(o).get(i(j).task_id):null),D=ie(()=>f(i(j).alternatives)),L=ie(()=>l(i(j).tags));var E=Gl(),A=p(E),B=p(A),G=p(B),oe=T(B,2),z=p(oe),J=T(A,2),q=p(J),W=T(J,2);{var $=X=>{var ne=Kl(),ue=p(ne);F(()=>R(ue,i(j).reasoning)),S(X,ne)};K(W,X=>{i(j).reasoning&&X($)})}var Q=T(W,2);{var se=X=>{var ne=Hl(),ue=p(ne);F(ke=>R(ue,`Alternatives considered: ${ke??""}`),[()=>i(D).join(", ")]),S(X,ne)};K(Q,X=>{i(D).length>0&&X(se)})}var U=T(Q,2);{var ae=X=>{var ne=Yl(),ue=p(ne);{var ke=le=>{var be=Vl();Ae(be,21,()=>i(L),Jt,(b,N)=>{var k=Ul(),O=p(k);F(()=>R(O,i(N))),S(b,k)}),S(le,be)};K(ue,le=>{i(L).length>0&&le(ke)})}var Ee=T(ue,2);{var De=le=>{var be=Jl(),b=p(be);F(N=>R(b,`→ ${N??""}: ${i(I).title??""}`),[()=>i(I).short_id??i(I).id.slice(0,8)]),ee("click",be,()=>t.onOpenTask(i(I))),S(le,be)};K(Ee,le=>{i(I)&&le(De)})}S(X,ne)};K(U,X=>{(i(L).length>0||i(I))&&X(ae)})}F(X=>{R(G,i(j).title),R(z,X),R(q,i(j).decision)},[()=>c(i(j).created_at)]),S(P,E)}),S(u,_)};K(g,u=>{i(a)?u(y):i(s)?u(w,1):i(r).length===0?u(m,2):u(x,!1)})}S(e,v),ze()}Ye(["click"]);var Xl=C('<div><span class="item-label svelte-1bm0yy4"> </span> <span class="item-hint svelte-1bm0yy4"> </span></div>'),$l=C('<div class="palette-empty svelte-1bm0yy4">no commands match</div>'),eo=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 to(e,t){Le(t,!0);let r=M(""),n=M(0),a=M(null);const s=ie(()=>[{id:"new-task",label:"new task",hint:"create",action:()=>{t.onClose(),t.onNewTask()}},...t.projects.map(m=>({id:`project-${m.id}`,label:m.name,hint:m.slug?`switch → ${m.slug}`:"switch",action:()=>{t.onClose(),t.onSelectProject(m.id)}}))]),o=ie(()=>()=>{const m=i(r).trim().toLowerCase();return m?i(s).filter(x=>x.label.toLowerCase().includes(m)||x.hint.toLowerCase().includes(m)):i(s)});lt(()=>{i(o)(),h(n,0)});function f(m){var u;const x=i(o)();m.key==="ArrowDown"?(m.preventDefault(),h(n,Math.min(i(n)+1,x.length-1),!0)):m.key==="ArrowUp"?(m.preventDefault(),h(n,Math.max(i(n)-1,0),!0)):m.key==="Enter"?(m.preventDefault(),(u=x[i(n)])==null||u.action()):m.key==="Escape"&&t.onClose()}function l(m){m.target.classList.contains("palette-backdrop")&&t.onClose()}var c=eo(),v=p(c),g=p(v),y=T(p(g),2);gn(y),fn(y,m=>h(a,m),()=>i(a));var w=T(g,2);Ae(w,23,()=>i(o)(),m=>m.id,(m,x,u)=>{var _=Xl();let P;var j=p(_),I=p(j),D=T(j,2),L=p(D);F(()=>{P=Te(_,1,"palette-item svelte-1bm0yy4",null,P,{active:i(u)===i(n)}),R(I,i(x).label),R(L,i(x).hint)}),Pe("mouseenter",_,()=>{h(n,i(u),!0)}),ee("click",_,()=>i(x).action()),S(m,_)},m=>{var x=$l();S(m,x)}),ee("click",c,l),ee("keydown",y,f),gr(y,()=>i(r),m=>h(r,m)),S(e,c),ze()}Ye(["click","keydown"]);var ro=C('<div class="loading svelte-1n46o8q"><span class="prompt svelte-1n46o8q">&gt;</span> loading projects...</div>'),no=C('<div class="error svelte-1n46o8q"><span class="err-prefix svelte-1n46o8q">[error]</span> </div>'),ao=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>'),so=C('<div class="tabs svelte-1n46o8q"><button>Kanban</button> <button>Notes</button> <button>Decisions</button></div> <!>',1),io=C('<div class="app-layout svelte-1n46o8q"><!> <div class="main svelte-1n46o8q"><!> <!></div></div>'),lo=C("<!> <!>",1);function oo(e,t){Le(t,!0);let r=M(we([])),n=M(null),a=M(!0),s=M(null),o=M(!1),f=M(!1),l=M("kanban"),c=M(null);const v=ie(()=>i(r).find(E=>E.id===i(n))??null);async function g(){try{if(h(r,await Ke.getProjects(),!0),i(r).length>0&&!i(n)){const E=new URLSearchParams(window.location.search).get("project"),A=E?i(r).find(B=>B.id===E||B.name===E):null;h(n,A?A.id:i(r)[0].id,!0)}}catch(E){h(s,E.message,!0)}finally{h(a,!1)}}function y(E){h(n,E,!0),h(l,"kanban");const A=new URL(window.location.href);A.searchParams.set("project",E),history.replaceState(null,"",A.toString())}async function w(E,A){try{await Ke.updateProject(E,{name:A});const B=i(r).findIndex(G=>G.id===E);B!==-1&&(i(r)[B]={...i(r)[B],name:A})}catch(B){h(s,B.message,!0)}}lt(()=>{g()});function m(E){(E.ctrlKey||E.metaKey)&&E.key==="k"&&(E.preventDefault(),h(o,!i(o)))}var x=lo();Pe("keydown",St,m);var u=Vt(x);{var _=E=>{to(E,{get projects(){return i(r)},onSelectProject:A=>{h(n,A,!0)},onNewTask:()=>{h(f,!0)},onClose:()=>{h(o,!1)}})};K(u,E=>{i(o)&&E(_)})}var P=T(u,2);{var j=E=>{var A=ro();S(E,A)},I=E=>{var A=no(),B=T(p(A));F(()=>R(B,` ${i(s)??""}`)),S(E,A)},D=E=>{var A=ao();S(E,A)},L=E=>{var A=io(),B=p(A);zi(B,{get projects(){return i(r)},get selectedId(){return i(n)},onSelect:y});var G=T(B,2),oe=p(G);Pi(oe,{get projects(){return i(r)},get selectedId(){return i(n)},onSelect:y,onRenamed:w});var z=T(oe,2);{var J=q=>{var W=so(),$=Vt(W),Q=p($);let se;var U=T(Q,2);let ae;var X=T(U,2);let ne;var ue=T($,2);{var ke=le=>{Cl(le,{get project(){return i(v)},get triggerNewTask(){return i(f)},get openTask(){return i(c)},onNewTaskTriggered:()=>{h(f,!1)},onOpenTaskHandled:()=>{h(c,null)}})},Ee=le=>{zl(le,{get projectId(){return i(v).id},onOpenTask:be=>{h(c,be,!0),h(l,"kanban")}})},De=le=>{Zl(le,{get projectId(){return i(v).id},onOpenTask:be=>{h(c,be,!0),h(l,"kanban")}})};K(ue,le=>{i(l)==="kanban"?le(ke):i(l)==="notes"?le(Ee,1):i(l)==="decisions"&&le(De,2)})}F(()=>{se=Te(Q,1,"tab svelte-1n46o8q",null,se,{active:i(l)==="kanban"}),ae=Te(U,1,"tab svelte-1n46o8q",null,ae,{active:i(l)==="notes"}),ne=Te(X,1,"tab svelte-1n46o8q",null,ne,{active:i(l)==="decisions"})}),ee("click",Q,()=>h(l,"kanban")),ee("click",U,()=>h(l,"notes")),ee("click",X,()=>h(l,"decisions")),S(q,W)};K(z,q=>{i(v)&&q(J)})}S(E,A)};K(P,E=>{i(a)?E(j):i(s)?E(I,1):i(r).length===0?E(D,2):E(L,!1)})}S(e,x),ze()}Ye(["click"]);ii(oo,{target:document.getElementById("app")});