@meridiona/meridian-darwin-arm64 1.2.2 → 1.4.0

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.
Files changed (103) hide show
  1. package/.env.example +7 -6
  2. package/VERSION +1 -1
  3. package/bin/meridian +0 -0
  4. package/package.json +1 -1
  5. package/scripts/install-from-bundle.sh +2 -2
  6. package/scripts/meridian-cli.sh +82 -0
  7. package/services/agents/README.md +3 -3
  8. package/services/pyproject.toml +1 -1
  9. package/ui/.next/static/chunks/06v.9~0d~qa17.css +4 -0
  10. package/ui/.next/static/chunks/0dl.w-ip2ly5_.js +1 -0
  11. package/ui/.next/static/chunks/0t0n-_np5foyi.js +1 -0
  12. package/ui/.next/static/chunks/0z1g1xyfa206c.js +1 -0
  13. package/ui/ui/.next/BUILD_ID +1 -1
  14. package/ui/ui/.next/app-path-routes-manifest.json +2 -0
  15. package/ui/ui/.next/build-manifest.json +3 -3
  16. package/ui/ui/.next/prerender-manifest.json +3 -3
  17. package/ui/ui/.next/routes-manifest.json +16 -1
  18. package/ui/ui/.next/server/app/_global-error.html +1 -1
  19. package/ui/ui/.next/server/app/_global-error.rsc +1 -1
  20. package/ui/ui/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  21. package/ui/ui/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  22. package/ui/ui/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  23. package/ui/ui/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  24. package/ui/ui/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  25. package/ui/ui/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  26. package/ui/ui/.next/server/app/_not-found.html +1 -1
  27. package/ui/ui/.next/server/app/_not-found.rsc +2 -2
  28. package/ui/ui/.next/server/app/_not-found.segments/_full.segment.rsc +2 -2
  29. package/ui/ui/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
  30. package/ui/ui/.next/server/app/_not-found.segments/_index.segment.rsc +2 -2
  31. package/ui/ui/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
  32. package/ui/ui/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
  33. package/ui/ui/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
  34. package/ui/ui/.next/server/app/api/active/route.js +1 -1
  35. package/ui/ui/.next/server/app/api/active/route.js.nft.json +1 -1
  36. package/ui/ui/.next/server/app/api/coding-agents/route.js +1 -1
  37. package/ui/ui/.next/server/app/api/coding-agents/route.js.nft.json +1 -1
  38. package/ui/ui/.next/server/app/api/queue-review/route.js +1 -1
  39. package/ui/ui/.next/server/app/api/queue-review/route.js.nft.json +1 -1
  40. package/ui/ui/.next/server/app/api/tasks/route.js +1 -1
  41. package/ui/ui/.next/server/app/api/tasks/route.js.nft.json +1 -1
  42. package/ui/ui/.next/server/app/api/today/route.js +1 -1
  43. package/ui/ui/.next/server/app/api/today/route.js.nft.json +1 -1
  44. package/ui/ui/.next/server/app/api/week/route.js +1 -1
  45. package/ui/ui/.next/server/app/api/week/route.js.nft.json +1 -1
  46. package/ui/ui/.next/server/app/api/worklogs/[id]/route/app-paths-manifest.json +3 -0
  47. package/ui/ui/.next/server/app/api/worklogs/[id]/route/build-manifest.json +9 -0
  48. package/ui/ui/.next/server/app/api/worklogs/[id]/route/server-reference-manifest.json +4 -0
  49. package/ui/ui/.next/server/app/api/worklogs/[id]/route.js +6 -0
  50. package/ui/ui/.next/server/app/api/worklogs/[id]/route.js.map +5 -0
  51. package/ui/ui/.next/server/app/api/worklogs/[id]/route.js.nft.json +1 -0
  52. package/ui/ui/.next/server/app/api/worklogs/[id]/route_client-reference-manifest.js +3 -0
  53. package/ui/ui/.next/server/app/api/worklogs/route/app-paths-manifest.json +3 -0
  54. package/ui/ui/.next/server/app/api/worklogs/route/build-manifest.json +9 -0
  55. package/ui/ui/.next/server/app/api/worklogs/route/server-reference-manifest.json +4 -0
  56. package/ui/ui/.next/server/app/api/worklogs/route.js +6 -0
  57. package/ui/ui/.next/server/app/api/worklogs/route.js.map +5 -0
  58. package/ui/ui/.next/server/app/api/worklogs/route.js.nft.json +1 -0
  59. package/ui/ui/.next/server/app/api/worklogs/route_client-reference-manifest.js +3 -0
  60. package/ui/ui/.next/server/app/index.html +1 -1
  61. package/ui/ui/.next/server/app/index.rsc +3 -3
  62. package/ui/ui/.next/server/app/index.segments/__PAGE__.segment.rsc +2 -2
  63. package/ui/ui/.next/server/app/index.segments/_full.segment.rsc +3 -3
  64. package/ui/ui/.next/server/app/index.segments/_head.segment.rsc +1 -1
  65. package/ui/ui/.next/server/app/index.segments/_index.segment.rsc +2 -2
  66. package/ui/ui/.next/server/app/index.segments/_tree.segment.rsc +2 -2
  67. package/ui/ui/.next/server/app/page/react-loadable-manifest.json +7 -1
  68. package/ui/ui/.next/server/app/page_client-reference-manifest.js +1 -1
  69. package/ui/ui/.next/server/app/settings/page_client-reference-manifest.js +1 -1
  70. package/ui/ui/.next/server/app/settings.html +1 -1
  71. package/ui/ui/.next/server/app/settings.rsc +2 -2
  72. package/ui/ui/.next/server/app/settings.segments/_full.segment.rsc +2 -2
  73. package/ui/ui/.next/server/app/settings.segments/_head.segment.rsc +1 -1
  74. package/ui/ui/.next/server/app/settings.segments/_index.segment.rsc +2 -2
  75. package/ui/ui/.next/server/app/settings.segments/_tree.segment.rsc +2 -2
  76. package/ui/ui/.next/server/app/settings.segments/settings/__PAGE__.segment.rsc +1 -1
  77. package/ui/ui/.next/server/app/settings.segments/settings.segment.rsc +1 -1
  78. package/ui/ui/.next/server/app-paths-manifest.json +2 -0
  79. package/ui/ui/.next/server/chunks/[root-of-the-server]__0f0b_~6._.js +13 -0
  80. package/ui/ui/.next/server/chunks/{[root-of-the-server]__0k._39j._.js → [root-of-the-server]__0izj2dt._.js} +2 -2
  81. package/ui/ui/.next/server/chunks/[root-of-the-server]__0o8yxaf._.js +31 -0
  82. package/ui/ui/.next/server/chunks/[root-of-the-server]__0vkhuwx._.js +10 -0
  83. package/ui/ui/.next/server/chunks/[root-of-the-server]__0yujz.-._.js +9 -0
  84. package/ui/ui/.next/server/chunks/{[root-of-the-server]__0ht7nn0._.js → [root-of-the-server]__0~75nht._.js} +2 -2
  85. package/ui/ui/.next/server/chunks/{[root-of-the-server]__0xzo8h-._.js → [root-of-the-server]__120.3e1._.js} +2 -2
  86. package/ui/ui/.next/server/chunks/{[root-of-the-server]__11itz30._.js → [root-of-the-server]__1320.4q._.js} +2 -2
  87. package/ui/ui/.next/server/chunks/ssr/ui_07v--q0._.js +1 -1
  88. package/ui/ui/.next/server/chunks/ui__next-internal_server_app_api_worklogs_[id]_route_actions_0uj90mh.js +3 -0
  89. package/ui/ui/.next/server/chunks/ui__next-internal_server_app_api_worklogs_route_actions_06v-3.b.js +3 -0
  90. package/ui/ui/.next/server/middleware-build-manifest.js +3 -3
  91. package/ui/ui/.next/server/pages/404.html +1 -1
  92. package/ui/ui/.next/server/pages/500.html +1 -1
  93. package/ui/ui/.next/server/server-reference-manifest.js +1 -1
  94. package/ui/ui/.next/server/server-reference-manifest.json +1 -1
  95. package/ui/ui/package.json +1 -1
  96. package/ui/.next/static/chunks/0te39p~~ln1wb.css +0 -4
  97. package/ui/.next/static/chunks/0vh2gk~.ts7mj.js +0 -1
  98. package/ui/.next/static/chunks/10eme~wuwi3ro.js +0 -1
  99. package/ui/ui/.next/server/chunks/[root-of-the-server]__0nlf5yy._.js +0 -9
  100. package/ui/ui/.next/server/chunks/[root-of-the-server]__0tb70a~._.js +0 -31
  101. /package/ui/.next/static/{CCkrzzRwGe9MBRD4oERSo → ssYyfKouyOGsUj1971PsB}/_buildManifest.js +0 -0
  102. /package/ui/.next/static/{CCkrzzRwGe9MBRD4oERSo → ssYyfKouyOGsUj1971PsB}/_clientMiddlewareManifest.js +0 -0
  103. /package/ui/.next/static/{CCkrzzRwGe9MBRD4oERSo → ssYyfKouyOGsUj1971PsB}/_ssgManifest.js +0 -0
package/.env.example CHANGED
@@ -36,15 +36,16 @@
36
36
  # JIRA_PROJECT_KEYS=KAN,ENG # optional — comma-separated; empty = all projects
37
37
 
38
38
  # ---------------------------------------------------------------------------
39
- # PM worklog (Stage 4) — automated Jira worklogs from classified sessions.
39
+ # PM worklog (Stage 4) — Jira worklogs from classified sessions.
40
40
  # Runs inside the Rust daemon: one hour-driven worklog per task per hour,
41
- # synthesised via the MLX server's /synthesise_worklog endpoint, then posted
42
- # to Jira over REST. Requires the MLX server (it hosts the synth agent).
41
+ # synthesised via the MLX server's /synthesise_worklog endpoint. Requires the
42
+ # MLX server (it hosts the synth agent).
43
43
  # ---------------------------------------------------------------------------
44
44
 
45
- # Master switch. Default false: the driver DRAFTS worklogs every hour but never
46
- # POSTs to real Jira until you flip this on. Turn on only when ready to write.
47
- # PM_WORKLOG_POST_ENABLED=false
45
+ # Nothing posts to Jira automatically. The daemon DRAFTS worklogs every hour;
46
+ # you review, edit, and approve each one in the dashboard (Worklogs view), and
47
+ # the daemon posts approved worklogs within ~60s. Approval is the only gate —
48
+ # there is no auto-post switch.
48
49
 
49
50
  # Driver cadence in hours (clamped to a 60s floor). Default 1.0.
50
51
  # PM_WORKLOG_INTERVAL_HOURS=1.0
package/VERSION CHANGED
@@ -1 +1 @@
1
- 1.2.2
1
+ 1.4.0
package/bin/meridian CHANGED
Binary file
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@meridiona/meridian-darwin-arm64",
3
- "version": "1.2.2",
3
+ "version": "1.4.0",
4
4
  "description": "Prebuilt Meridian app for macOS arm64 (daemon binary + dashboard + Python services). Installed via @meridiona/meridian.",
5
5
  "homepage": "https://github.com/Meridiona/meridian",
6
6
  "repository": {
@@ -161,5 +161,5 @@ echo " meridian logs -f # watch the pipeline"
161
161
  echo " meridian config edit # add Jira creds"
162
162
  echo " open http://localhost:${UI_PORT} # the dashboard"
163
163
  echo ""
164
- echo "Jira worklog posting is OFF by default set PM_WORKLOG_POST_ENABLED=true"
165
- echo "in ${ENV_FILE} when you're ready to write worklogs."
164
+ echo "Jira worklogs are DRAFTED only approve them in the dashboard (Worklogs"
165
+ echo "view) and the daemon posts approved worklogs within ~60s."
@@ -51,6 +51,20 @@ Commands:
51
51
  uninstall Stop daemons and remove CLI symlinks
52
52
  --help | -h Show this help
53
53
  EOF
54
+ # Dev commands only make sense (and only work) in a source checkout.
55
+ if [[ -f "${REPO_ROOT}/Cargo.toml" ]]; then
56
+ cat <<'EOF'
57
+
58
+ Dev (source checkout — builds from this repo, MLX stays loaded):
59
+ dev Build daemon + UI, restart them, start MLX/screenpipe if down
60
+ dev daemon Rebuild Rust + restart only the daemon ← main backend loop
61
+ dev ui Rebuild UI + restart the dashboard (:3939)
62
+ dev ui-watch Next.js hot-reload dev server (foreground) ← main UI loop
63
+ dev mlx Restart only the MLX server (reloads the model)
64
+ dev screenpipe Restart only screenpipe
65
+ dev build Build daemon + UI, no restart
66
+ EOF
67
+ fi
54
68
  }
55
69
 
56
70
  # --- start ---
@@ -368,6 +382,73 @@ cmd_daemon_passthrough() {
368
382
  exec "$bin" "$@"
369
383
  }
370
384
 
385
+ # --- dev (source checkout only) ---
386
+ # Build from THIS repo and restart only what changed. The daemon's launchd plist
387
+ # runs ~/.local/bin/meridian-daemon -> target/release/meridian, so a release
388
+ # build is picked up in place. Gated on Cargo.toml: a prebuilt install (bundle at
389
+ # ~/.meridian/app) has no source, so these are hidden/disabled there.
390
+ _is_source_checkout() { [[ -f "${REPO_ROOT}/Cargo.toml" ]]; }
391
+
392
+ # Restart a service to pick up a new build (no-op-with-warning if not running).
393
+ _dev_kick() {
394
+ local label="$1"
395
+ if launchctl kickstart -k "${GUI_TARGET}/${label}" 2>/dev/null; then
396
+ ok "restarted ${label}"
397
+ else
398
+ warn "${label} not running — 'meridian start' or ./install.sh first"
399
+ fi
400
+ }
401
+
402
+ # Start a service ONLY if it isn't already up — never reloads a live process
403
+ # (so the ~6 GB MLX model isn't reloaded when it's already serving).
404
+ _dev_ensure() {
405
+ local label="$1"
406
+ if launchctl print "${GUI_TARGET}/${label}" >/dev/null 2>&1; then
407
+ ok "${label} already up (left as-is)"
408
+ elif [[ -f "${LAUNCH_AGENTS}/${label}.plist" ]]; then
409
+ set +e
410
+ launchctl enable "${GUI_TARGET}/${label}" 2>/dev/null
411
+ launchctl bootstrap "${GUI_TARGET}" "${LAUNCH_AGENTS}/${label}.plist" 2>/dev/null
412
+ set -e
413
+ info "started ${label}"
414
+ else
415
+ warn "${label} not installed — run ./install.sh"
416
+ fi
417
+ }
418
+
419
+ _dev_build_daemon() { info "building daemon (cargo --release)…"; ( cd "${REPO_ROOT}" && cargo build --release ); }
420
+ _dev_build_ui() { info "building UI (npm run build)…"; ( cd "${REPO_ROOT}/ui" && npm run build ); }
421
+
422
+ cmd_dev() {
423
+ if ! _is_source_checkout; then
424
+ err "'meridian dev' needs a source checkout (no Cargo.toml at ${REPO_ROOT})."
425
+ err "This is a prebuilt install — use start / stop / restart / status / logs."
426
+ exit 1
427
+ fi
428
+ local target="${1:-all}"
429
+ case "$target" in
430
+ all)
431
+ # Build everything + bring up: rebuild & restart the cheap services,
432
+ # start MLX/screenpipe only if down (don't reload a live model).
433
+ _dev_build_daemon; _dev_build_ui
434
+ _dev_ensure "${LABEL_SCREENPIPE}"
435
+ _dev_ensure "${LABEL_MLX}"
436
+ _dev_kick "${LABEL_DAEMON}"
437
+ _dev_kick "${LABEL_UI}"
438
+ echo; info "dev up (MLX left loaded if it was already running)"; echo
439
+ cmd_status
440
+ ;;
441
+ build) _dev_build_daemon; _dev_build_ui; ok "built (no restart)" ;;
442
+ daemon) _dev_build_daemon; _dev_kick "${LABEL_DAEMON}" ;;
443
+ ui) _dev_build_ui; _dev_kick "${LABEL_UI}" ;;
444
+ ui-watch) info "Next.js hot reload (Ctrl-C to stop)…"; ( cd "${REPO_ROOT}/ui" && exec npm run dev ) ;;
445
+ mlx) _dev_kick "${LABEL_MLX}" ;; # python — restart reloads the model
446
+ screenpipe) _dev_kick "${LABEL_SCREENPIPE}" ;;
447
+ *) err "unknown dev target: ${target}";
448
+ echo " targets: all | build | daemon | ui | ui-watch | mlx | screenpipe"; exit 1 ;;
449
+ esac
450
+ }
451
+
371
452
  case "$CMD" in
372
453
  start) cmd_start ;;
373
454
  stop) cmd_stop ;;
@@ -376,6 +457,7 @@ case "$CMD" in
376
457
  logs) cmd_logs "$@" ;;
377
458
  doctor) cmd_doctor ;;
378
459
  config) cmd_config "$@" ;;
460
+ dev) cmd_dev "$@" ;;
379
461
  uninstall) cmd_uninstall ;;
380
462
  permissions) cmd_permissions ;;
381
463
  worklog-status|pm-worklog) cmd_daemon_passthrough "$CMD" "$@" ;;
@@ -45,8 +45,8 @@ meridian.db → app_sessions
45
45
  sends it to the agno worklog synthesiser hosted on the MLX server:
46
46
  POST http://127.0.0.1:7823/synthesise_worklog {bundle: ...}
47
47
  → JiraUpdate {summary, evidence-bearing bullets, confidence}
48
- Rust grounds the result and posts the Jira worklog itself
49
- (REST), gated behind PM_WORKLOG_POST_ENABLED.
48
+ Rust grounds the result and DRAFTS the worklog; it posts to Jira
49
+ (REST) only after a human approves it in the dashboard.
50
50
  ```
51
51
 
52
52
  ---
@@ -386,7 +386,7 @@ cargo run --bin backfill_task_classification -- --dry-run --today
386
386
 
387
387
  ## Limitations / known gaps
388
388
 
389
- - **Jira write-backs are handled by the pm-worklog (Stage 4) driver, not from classification.** Classification only maps a session to a ticket. Jira worklogs are produced by the Rust hour-driven driver (`src/pm_worklog/`), which synthesises each worklog via the MLX server's `/synthesise_worklog` and posts it itself over REST (gated behind `PM_WORKLOG_POST_ENABLED`). The `dispatch_queue` table is reserved for future GitHub/Linear write-backs and is not yet drained.
389
+ - **Jira write-backs are handled by the pm-worklog (Stage 4) driver, not from classification.** Classification only maps a session to a ticket. Jira worklogs are produced by the Rust hour-driven driver (`src/pm_worklog/`), which synthesises each worklog via the MLX server's `/synthesise_worklog` and DRAFTS it; it posts to Jira over REST only after a human approves the worklog in the dashboard (Worklogs view). The `dispatch_queue` table is reserved for future GitHub/Linear write-backs and is not yet drained.
390
390
  - **`pm_tasks` populated by Rust.** The classifier receives `pm_tasks` as part of the JSON payload from the Rust daemon. If the Rust intelligence module hasn't synced tasks yet (clean install, first run), `pm_tasks` will be empty and every session gets `routing=skip`. Run the Rust daemon for at least one full cycle first.
391
391
  - **No re-classification UI.** There is no CLI to re-run classification on a single session — construct the JSON payload manually (see debugging guide above) or trigger the Rust daemon.
392
392
  - **Coding-agent sessions are classified on their summary, not their transcript.** The Rust coding-agent ingest (`src/coding_agent_session_ingest/`) seals and summarises each segment first; rows walk `coding_agent_live → pending_summariser → pending_classifier`, and only then does the classification trigger send them to the MLX server. A coding session therefore appears as a worklog candidate only after its summary exists.
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "meridian-agents"
7
- version = "1.2.2"
7
+ version = "1.4.0"
8
8
  description = "Meridian agents — hermes task linking and Jira progress updates for meridian.db"
9
9
  requires-python = ">=3.11"
10
10
  authors = [{ name = "Meridiona" }]
@@ -0,0 +1,4 @@
1
+ @font-face{font-family:GeistSans;src:url(../media/Geist_Variable-s.p.0si68_l5hnsib.woff2)format("woff2");font-display:swap;font-weight:100 900}@font-face{font-family:GeistSans Fallback;src:local(Arial);ascent-override:85.83%;descent-override:20.52%;line-gap-override:9.33%;size-adjust:107.19%}.geistsans_d5a4f12f-module__TO7w1a__className{font-family:GeistSans,GeistSans Fallback}.geistsans_d5a4f12f-module__TO7w1a__variable{--font-geist-sans:"GeistSans", "GeistSans Fallback"}
2
+ @font-face{font-family:GeistMono;src:url(../media/GeistMono_Variable.p.17b2olbe3zz2r.woff2)format("woff2");font-display:swap;font-weight:100 900}.geistmono_157ca88a-module__1FklWW__className{font-family:GeistMono,ui-monospace,SFMono-Regular,Roboto Mono,Menlo,Monaco,Liberation Mono,DejaVu Sans Mono,Courier New,monospace}.geistmono_157ca88a-module__1FklWW__variable{--font-geist-mono:"GeistMono", ui-monospace, SFMono-Regular, Roboto Mono, Menlo, Monaco, Liberation Mono, DejaVu Sans Mono, Courier New, monospace}
3
+ @font-face{font-family:Instrument Serif;font-style:italic;font-weight:400;font-display:swap;src:url(../media/fc0a7394b875fa43-s.0y1-r_vehenvp.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Instrument Serif;font-style:italic;font-weight:400;font-display:swap;src:url(../media/7ebf22b5a21034f8-s.p.10_7676vm7pyy.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Instrument Serif;font-style:normal;font-weight:400;font-display:swap;src:url(../media/ccf27e5a7366fb23-s.0hck6o0i8wq3a.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Instrument Serif;font-style:normal;font-weight:400;font-display:swap;src:url(../media/e41d5df559864f9e-s.p.0gq7fw9.sy_5..woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Instrument Serif Fallback;src:local(Times New Roman);ascent-override:117.94%;descent-override:36.93%;line-gap-override:0.0%;size-adjust:83.94%}.instrument_serif_421229c2-module__JnCTKG__className{font-family:Instrument Serif,Instrument Serif Fallback;font-weight:400}.instrument_serif_421229c2-module__JnCTKG__variable{--font-instrument-serif:"Instrument Serif", "Instrument Serif Fallback"}
4
+ @layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-y-reverse:0;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial}}}@layer theme{:root,:host{--font-sans:var(--font-geist-sans);--font-serif:var(--font-instrument-serif);--font-mono:var(--font-geist-mono);--color-white:#fff;--spacing:.25rem;--container-md:28rem;--container-4xl:56rem;--text-xs:.75rem;--text-xs--line-height:calc(1/.75);--text-sm:.875rem;--text-sm--line-height:calc(1.25/.875);--font-weight-medium:500;--font-weight-semibold:600;--tracking-tight:-.025em;--tracking-wide:.025em;--tracking-widest:.1em;--leading-tight:1.25;--leading-snug:1.375;--leading-relaxed:1.625;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--blur-sm:8px;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.pointer-events-none{pointer-events:none}.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.sticky{position:sticky}.inset-0{inset:calc(var(--spacing)*0)}.top-0{top:calc(var(--spacing)*0)}.top-\[2px\]{top:2px}.right-4{right:calc(var(--spacing)*4)}.bottom-4{bottom:calc(var(--spacing)*4)}.z-40{z-index:40}.z-50{z-index:50}.m-3{margin:calc(var(--spacing)*3)}.mx-2{margin-inline:calc(var(--spacing)*2)}.mx-auto{margin-inline:auto}.mt-0\.5{margin-top:calc(var(--spacing)*.5)}.mt-1{margin-top:calc(var(--spacing)*1)}.mt-1\.5{margin-top:calc(var(--spacing)*1.5)}.mt-2{margin-top:calc(var(--spacing)*2)}.mt-3{margin-top:calc(var(--spacing)*3)}.mt-4{margin-top:calc(var(--spacing)*4)}.mt-5{margin-top:calc(var(--spacing)*5)}.mt-24{margin-top:calc(var(--spacing)*24)}.mr-1{margin-right:calc(var(--spacing)*1)}.mr-1\.5{margin-right:calc(var(--spacing)*1.5)}.mb-1{margin-bottom:calc(var(--spacing)*1)}.mb-1\.5{margin-bottom:calc(var(--spacing)*1.5)}.mb-2{margin-bottom:calc(var(--spacing)*2)}.mb-3{margin-bottom:calc(var(--spacing)*3)}.mb-4{margin-bottom:calc(var(--spacing)*4)}.mb-px{margin-bottom:1px}.ml-2{margin-left:calc(var(--spacing)*2)}.ml-auto{margin-left:auto}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.table{display:table}.h-1\.5{height:calc(var(--spacing)*1.5)}.h-2{height:calc(var(--spacing)*2)}.h-2\.5{height:calc(var(--spacing)*2.5)}.h-6{height:calc(var(--spacing)*6)}.h-9{height:calc(var(--spacing)*9)}.h-12{height:calc(var(--spacing)*12)}.h-\[3px\]{height:3px}.h-\[14px\]{height:14px}.h-\[18px\]{height:18px}.h-\[22px\]{height:22px}.h-\[46px\]{height:46px}.h-full{height:100%}.h-screen{height:100vh}.max-h-\[40vh\]{max-height:40vh}.min-h-screen{min-height:100vh}.w-1\.5{width:calc(var(--spacing)*1.5)}.w-2\.5{width:calc(var(--spacing)*2.5)}.w-8{width:calc(var(--spacing)*8)}.w-9{width:calc(var(--spacing)*9)}.w-\[14px\]{width:14px}.w-\[22px\]{width:22px}.w-\[72px\]{width:72px}.w-\[240px\]{width:240px}.w-\[280px\]{width:280px}.w-\[560px\]{width:560px}.w-full{width:100%}.max-w-4xl{max-width:var(--container-4xl)}.max-w-\[92vw\]{max-width:92vw}.max-w-\[220px\]{max-width:220px}.max-w-\[1080px\]{max-width:1080px}.max-w-md{max-width:var(--container-md)}.max-w-prose{max-width:65ch}.min-w-0{min-width:calc(var(--spacing)*0)}.min-w-\[60px\]{min-width:60px}.min-w-\[200px\]{min-width:200px}.flex-1{flex:1}.shrink-0{flex-shrink:0}.transform{transform:var(--tw-rotate-x,)var(--tw-rotate-y,)var(--tw-rotate-z,)var(--tw-skew-x,)var(--tw-skew-y,)}.cursor-default{cursor:default}.cursor-move{cursor:move}.cursor-pointer{cursor:pointer}.resize{resize:both}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-\[1fr_300px\]{grid-template-columns:1fr 300px}.grid-cols-\[80px_auto_1fr_auto_auto\]{grid-template-columns:80px auto 1fr auto auto}.grid-cols-\[120px_1fr_64px\]{grid-template-columns:120px 1fr 64px}.grid-cols-\[auto_1fr_200px_auto\]{grid-template-columns:auto 1fr 200px auto}.grid-cols-\[auto_1fr_auto\]{grid-template-columns:auto 1fr auto}.grid-cols-\[auto_1fr_auto_auto\]{grid-template-columns:auto 1fr auto auto}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-baseline{align-items:baseline}.items-center{align-items:center}.items-end{align-items:flex-end}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.gap-1{gap:calc(var(--spacing)*1)}.gap-1\.5{gap:calc(var(--spacing)*1.5)}.gap-2{gap:calc(var(--spacing)*2)}.gap-3{gap:calc(var(--spacing)*3)}.gap-4{gap:calc(var(--spacing)*4)}.gap-5{gap:calc(var(--spacing)*5)}.gap-6{gap:calc(var(--spacing)*6)}.gap-8{gap:calc(var(--spacing)*8)}.gap-px{gap:1px}:where(.space-y-0\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*.5)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*.5)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-1>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*1)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*1)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*2)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*2)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-3>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*3)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*3)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*4)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*4)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*5)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*5)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-7>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*7)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*7)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-8>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*8)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*8)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-10>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*10)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*10)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-12>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*12)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*12)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-px>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(1px*var(--tw-space-y-reverse));margin-block-end:calc(1px*calc(1 - var(--tw-space-y-reverse)))}.gap-x-4{column-gap:calc(var(--spacing)*4)}.gap-x-5{column-gap:calc(var(--spacing)*5)}.gap-y-1{row-gap:calc(var(--spacing)*1)}.gap-y-2{row-gap:calc(var(--spacing)*2)}.self-start{align-self:flex-start}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:.25rem}.rounded-\[4px\]{border-radius:4px}.rounded-\[14px\]{border-radius:14px}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.rounded-xl{border-radius:var(--radius-xl)}.border{border-style:var(--tw-border-style);border-width:1px}.border-0{border-style:var(--tw-border-style);border-width:0}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-l{border-left-style:var(--tw-border-style);border-left-width:1px}.border-\[\#D8E0F4\]{border-color:#d8e0f4}.border-\[\#E8E6E1\]{border-color:#e8e6e1}.border-\[\#F0EFEC\]{border-color:#f0efec}.border-\[\#FDE68A\]{border-color:#fde68a}.bg-\[\#141414\]{background-color:#141414}.bg-\[\#EBF0FB\]{background-color:#ebf0fb}.bg-\[\#F0EFEC\]{background-color:#f0efec}.bg-\[\#F8F7F4\]{background-color:#f8f7f4}.bg-\[\#F8F7F4\]\/90{background-color:#f8f7f4e6;background-color:lab(97.2469% -.0460744 1.56863/.9)}.bg-\[\#FEF9EC\]{background-color:#fef9ec}.bg-white{background-color:var(--color-white)}.fill-white{fill:var(--color-white)}.p-0{padding:calc(var(--spacing)*0)}.p-3{padding:calc(var(--spacing)*3)}.p-4{padding:calc(var(--spacing)*4)}.p-5{padding:calc(var(--spacing)*5)}.p-6{padding:calc(var(--spacing)*6)}.px-1\.5{padding-inline:calc(var(--spacing)*1.5)}.px-2{padding-inline:calc(var(--spacing)*2)}.px-2\.5{padding-inline:calc(var(--spacing)*2.5)}.px-3{padding-inline:calc(var(--spacing)*3)}.px-4{padding-inline:calc(var(--spacing)*4)}.px-5{padding-inline:calc(var(--spacing)*5)}.px-6{padding-inline:calc(var(--spacing)*6)}.px-10{padding-inline:calc(var(--spacing)*10)}.py-0\.5{padding-block:calc(var(--spacing)*.5)}.py-1{padding-block:calc(var(--spacing)*1)}.py-1\.5{padding-block:calc(var(--spacing)*1.5)}.py-2{padding-block:calc(var(--spacing)*2)}.py-2\.5{padding-block:calc(var(--spacing)*2.5)}.py-3{padding-block:calc(var(--spacing)*3)}.py-3\.5{padding-block:calc(var(--spacing)*3.5)}.py-4{padding-block:calc(var(--spacing)*4)}.py-7{padding-block:calc(var(--spacing)*7)}.py-12{padding-block:calc(var(--spacing)*12)}.py-14{padding-block:calc(var(--spacing)*14)}.py-16{padding-block:calc(var(--spacing)*16)}.py-px{padding-block:1px}.pt-1{padding-top:calc(var(--spacing)*1)}.pt-2{padding-top:calc(var(--spacing)*2)}.pt-4{padding-top:calc(var(--spacing)*4)}.pt-8{padding-top:calc(var(--spacing)*8)}.pt-\[18vh\]{padding-top:18vh}.pb-4{padding-bottom:calc(var(--spacing)*4)}.pb-5{padding-bottom:calc(var(--spacing)*5)}.pl-3{padding-left:calc(var(--spacing)*3)}.pl-4{padding-left:calc(var(--spacing)*4)}.pl-\[44px\]{padding-left:44px}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.font-mono{font-family:var(--font-mono)}.font-sans{font-family:var(--font-sans)}.font-serif{font-family:var(--font-serif)}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[9px\]{font-size:9px}.text-\[10px\]{font-size:10px}.text-\[11\.5px\]{font-size:11.5px}.text-\[11px\]{font-size:11px}.text-\[12px\]{font-size:12px}.text-\[13px\]{font-size:13px}.text-\[14px\]{font-size:14px}.text-\[15px\]{font-size:15px}.text-\[18px\]{font-size:18px}.text-\[20px\]{font-size:20px}.text-\[22px\]{font-size:22px}.text-\[24px\]{font-size:24px}.text-\[28px\]{font-size:28px}.text-\[32px\]{font-size:32px}.text-\[36px\]{font-size:36px}.text-\[40px\]{font-size:40px}.text-\[56px\]{font-size:56px}.text-\[88px\]{font-size:88px}.leading-\[0\.95\]{--tw-leading:.95;line-height:.95}.leading-\[1\.1\]{--tw-leading:1.1;line-height:1.1}.leading-\[1\.15\]{--tw-leading:1.15;line-height:1.15}.leading-\[1\],.leading-none{--tw-leading:1;line-height:1}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.leading-snug{--tw-leading:var(--leading-snug);line-height:var(--leading-snug)}.leading-tight{--tw-leading:var(--leading-tight);line-height:var(--leading-tight)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-\[0\.01em\]{--tw-tracking:.01em;letter-spacing:.01em}.tracking-\[0\.1em\]{--tw-tracking:.1em;letter-spacing:.1em}.tracking-\[0\.2em\]{--tw-tracking:.2em;letter-spacing:.2em}.tracking-\[0\.06em\]{--tw-tracking:.06em;letter-spacing:.06em}.tracking-\[0\.12em\]{--tw-tracking:.12em;letter-spacing:.12em}.tracking-\[0\.14em\]{--tw-tracking:.14em;letter-spacing:.14em}.tracking-\[0\.16em\]{--tw-tracking:.16em;letter-spacing:.16em}.tracking-\[0\.18em\]{--tw-tracking:.18em;letter-spacing:.18em}.tracking-tight{--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.tracking-wide{--tw-tracking:var(--tracking-wide);letter-spacing:var(--tracking-wide)}.tracking-widest{--tw-tracking:var(--tracking-widest);letter-spacing:var(--tracking-widest)}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-wrap{white-space:pre-wrap}.text-\[\#3D5BB0\]{color:#3d5bb0}.text-\[\#4B4A47\]{color:#4b4a47}.text-\[\#6B6A67\]{color:#6b6a67}.text-\[\#9B9A97\]{color:#9b9a97}.text-\[\#92400E\]{color:#92400e}.text-\[\#141414\]{color:#141414}.text-\[\#C8C6C1\]{color:#c8c6c1}.text-white{color:var(--color-white)}.capitalize{text-transform:capitalize}.uppercase{text-transform:uppercase}.italic{font-style:italic}.opacity-60{opacity:.6}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-md{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a),0 2px 4px -2px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.filter{filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.backdrop-blur-sm{--tw-backdrop-blur:blur(var(--blur-sm));-webkit-backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.select-none{-webkit-user-select:none;user-select:none}@media (hover:hover){.hover\:bg-\[\#E8E6E1\]:hover{background-color:#e8e6e1}.hover\:text-\[\#141414\]:hover{color:#141414}.hover\:opacity-80:hover{opacity:.8}.hover\:brightness-95:hover{--tw-brightness:brightness(95%);filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}}@media (min-width:48rem){.md\:block{display:block}}@media (min-width:64rem){.lg\:grid-cols-\[minmax\(0\,300px\)_minmax\(0\,1fr\)\]{grid-template-columns:minmax(0,300px) minmax(0,1fr)}}}:root{--paper:#faf9f7;--surface:#fff;--surface-2:#f5f4f1;--ink:#0d0c0a;--ink-2:#3a3834;--ink-3:#7a7873;--ink-4:#b8b5af;--rule:#eeece8;--rule-2:#e5e3de;--accent:#c4822a;--accent-soft:#fbf0e2;--live:#c4822a;--success:#2d7a4f;--warn:#a36a1a;--tint:#c4822a12}html.dark{--paper:#0a0908;--surface:#111010;--surface-2:#161514;--ink:#f2efe8;--ink-2:#b5b0a8;--ink-3:#787470;--ink-4:#4a4744;--rule:#1e1d1b;--rule-2:#272522;--accent:#d4942e;--accent-soft:#d4942e24;--live:#d4942e;--success:#5ab87a;--warn:#d4a044;--tint:#d4942e14}html,body{background:var(--paper);color:var(--ink)}*{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body,.font-sans{font-feature-settings:"ss01","cv11"}.font-mono{font-feature-settings:"tnum","ss01";font-family:GeistMono,ui-monospace,SFMono-Regular,monospace}.font-serif{font-family:var(--font-instrument-serif),"Instrument Serif",Georgia,serif;font-feature-settings:"liga","dlig"}::selection{background:var(--accent);color:#fff}.cat-coding{fill:#3b6fe0;background:#3b6fe0}.cat-code_review{fill:#7c3aed;background:#7c3aed}.cat-meeting{fill:#d97706;background:#d97706}.cat-communication{fill:#059669;background:#059669}.cat-design{fill:#db2777;background:#db2777}.cat-documentation{fill:#0891b2;background:#0891b2}.cat-planning{fill:#c4822a;background:#c4822a}.cat-deployment_devops{fill:#dc2626;background:#dc2626}.cat-research{fill:#4f46e5;background:#4f46e5}.cat-idle_personal{fill:#78716c;background:#78716c}.cat-text-coding{color:#3b6fe0}.cat-text-code_review{color:#7c3aed}.cat-text-meeting{color:#d97706}.cat-text-communication{color:#059669}.cat-text-design{color:#db2777}.cat-text-documentation{color:#0891b2}.cat-text-planning{color:#c4822a}.cat-text-deployment_devops{color:#dc2626}.cat-text-research{color:#4f46e5}.cat-text-idle_personal{color:#78716c}.rule{border-color:var(--rule)}.rule-b{border-bottom:1px solid var(--rule)}.rule-t{border-top:1px solid var(--rule)}.rule-r{border-right:1px solid var(--rule)}.rule-l{border-left:1px solid var(--rule)}@keyframes mer-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.45;transform:scale(.92)}}.live-dot{animation:2.2s ease-in-out infinite mer-pulse}@keyframes mer-blink{50%{opacity:.35}}.blink{animation:1.1s ease-in-out infinite mer-blink}@keyframes mer-rise{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}.rise{animation:.4s cubic-bezier(.16,1,.3,1) both mer-rise}.tnum{font-variant-numeric:tabular-nums}.kbd{font-family:var(--font-geist-mono),ui-monospace,monospace;border:1px solid var(--rule-2);color:var(--ink-3);background:var(--surface);border-bottom-width:2px;border-radius:4px;padding:2px 5px;font-size:10px;line-height:1}.nice-scroll::-webkit-scrollbar{width:8px;height:8px}.nice-scroll::-webkit-scrollbar-track{background:0 0}.nice-scroll::-webkit-scrollbar-thumb{background:var(--rule-2);background-clip:content-box;border:2px solid #0000;border-radius:6px}.nice-scroll::-webkit-scrollbar-thumb:hover{background:var(--ink-4);background-clip:content-box;border:2px solid #0000}button:focus-visible,a:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}html.density-compact .density-pad{padding-top:.5rem;padding-bottom:.5rem}html.density-comfy .density-pad{padding-top:1.25rem;padding-bottom:1.25rem}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}
@@ -0,0 +1 @@
1
+ (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,29987,e=>{"use strict";var t=e.i(80663),n=e.i(56916);let s={Antigravity:{mono:"Aᴳ",color:"#7C3AED"},"Google Chrome":{mono:"Ch",color:"#3B82F6"},Terminal:{mono:">_",color:"#111827"},DBeaver:{mono:"DB",color:"#1D4ED8"},Claude:{mono:"Cl",color:"#D97757"},Slack:{mono:"Sl",color:"#E01E5A"},Zoom:{mono:"Zm",color:"#2D8CFF"},Linear:{mono:"Li",color:"#5E6AD2"},Figma:{mono:"Fg",color:"#A259FF"},Notion:{mono:"No",color:"#111111"},Spotify:{mono:"Sp",color:"#1DB954"},Mail:{mono:"Ma",color:"#0EA5E9"},Safari:{mono:"Sf",color:"#006FE5"},Xcode:{mono:"Xc",color:"#1171A3"},iTerm2:{mono:">_",color:"#2A2A2A"}},r={todo:{label:"Todo",dot:"var(--ink-4)"},in_progress:{label:"In progress",dot:"var(--accent)"},in_review:{label:"In review",dot:"#8B5CF6"},done:{label:"Done",dot:"var(--success)"}};e.s(["AppGlyph",0,function({app:e,size:n=24,withName:r=!1}){let a=function(e){if(!e)return{mono:"??",color:"#6B6A67"};if(s[e])return s[e];let t=e.trim().replace(/[^A-Za-z0-9]/g,"").slice(0,2).toUpperCase()||"??",n=0;for(let t=0;t<e.length;t++)n=31*n+e.charCodeAt(t)&65535;let r=n%360;return{mono:t,color:`hsl(${r}, 55%, 42%)`}}(e);return(0,t.jsxs)("span",{className:"inline-flex items-center gap-2",children:[(0,t.jsx)("span",{className:"inline-flex items-center justify-center rounded-md font-mono shrink-0",style:{width:n,height:n,background:a.color+"1A",color:a.color,fontSize:Math.max(9,.42*n),fontWeight:600,letterSpacing:"-0.02em"},"aria-label":e??void 0,children:a.mono}),r&&(0,t.jsx)("span",{className:"text-sm",style:{color:"var(--ink)"},children:e})]})},"CATS",0,{coding:{label:"Coding",short:"Code"},code_review:{label:"Code review",short:"Review"},meeting:{label:"Meeting",short:"Meet"},communication:{label:"Comms",short:"Comms"},design:{label:"Design",short:"Design"},documentation:{label:"Docs",short:"Docs"},planning:{label:"Planning",short:"Plan"},deployment_devops:{label:"DevOps",short:"DevOps"},research:{label:"Research",short:"Res"},idle_personal:{label:"Idle",short:"Idle"}},"Card",0,function({children:e,className:n="",as:s="div",style:r,...a}){return(0,t.jsx)(s,{...a,className:`rounded-xl border ${n}`,style:{background:"var(--surface)",borderColor:"var(--rule)",...r},children:e})},"CatDot",0,function({cat:e,size:n=6}){return(0,t.jsx)("span",{className:`inline-block rounded-full cat-${e} shrink-0`,style:{width:n,height:n},"aria-hidden":!0})},"ConfidenceRing",0,function({value:e,size:n=14}){let s=n/2-1.5,r=2*Math.PI*s,a=r*Math.max(0,Math.min(1,e));return(0,t.jsxs)("svg",{width:n,height:n,viewBox:`0 0 ${n} ${n}`,"aria-label":`${Math.round(100*e)}% confidence`,children:[(0,t.jsx)("circle",{cx:n/2,cy:n/2,r:s,fill:"none",stroke:"var(--rule-2)",strokeWidth:"1.5"}),(0,t.jsx)("circle",{cx:n/2,cy:n/2,r:s,fill:"none",stroke:e>.8?"var(--success)":e>.5?"var(--accent)":"var(--warn)",strokeWidth:"1.5",strokeLinecap:"round",strokeDasharray:`${a} ${r}`,transform:`rotate(-90 ${n/2} ${n/2})`})]})},"LiveDot",0,function({size:e=8}){return(0,t.jsxs)("span",{className:"inline-flex items-center justify-center relative",style:{width:e,height:e},children:[(0,t.jsx)("span",{className:"absolute inline-block rounded-full live-dot",style:{width:e,height:e,background:"var(--live)"}}),(0,t.jsx)("span",{className:"inline-block rounded-full",style:{width:Math.max(3,e-4),height:Math.max(3,e-4),background:"var(--live)"}})]})},"SectionHead",0,function({kicker:e,title:n,right:s}){return(0,t.jsxs)("div",{className:"flex items-end justify-between mb-3",children:[(0,t.jsxs)("div",{children:[e&&(0,t.jsx)("p",{className:"text-[10px] uppercase tracking-[0.16em] mb-1.5",style:{color:"var(--ink-3)"},children:e}),(0,t.jsx)("h2",{className:"text-[15px] font-medium",style:{color:"var(--ink)"},children:n})]}),s]})},"SegBar",0,function({segments:e,height:n=4}){let s=e.reduce((e,t)=>e+t.value,0)||1;return(0,t.jsx)("span",{className:"inline-flex w-full overflow-hidden rounded-full",style:{height:n,background:"var(--rule)"},children:e.map((e,n)=>(0,t.jsx)("span",{className:e.cat?`cat-${e.cat}`:"",style:{width:`${e.value/s*100}%`,background:e.color??void 0}},n))})},"StatusPill",0,function({status:e}){let n=r[e]??r.todo;return(0,t.jsxs)("span",{className:"inline-flex items-center gap-1.5 text-[11px]",style:{color:"var(--ink-2)"},children:[(0,t.jsx)("span",{className:"inline-block w-1.5 h-1.5 rounded-full",style:{background:n.dot}}),n.label]})},"TaskKey",0,function({keyId:e,big:n=!1}){return e?(0,t.jsx)("span",{className:`font-mono tracking-tight ${n?"text-[12px]":"text-[11px]"} px-1.5 py-px rounded-[4px] tnum`,style:{color:"var(--ink)",background:"var(--tint)",borderBottom:"1px solid var(--rule-2)"},children:e}):null},"fmtClock",0,function(e){if("number"==typeof e){let t=Math.floor(e),n=Math.round((e-t)*60);return`${(t+11)%12+1}:${String(n).padStart(2,"0")} ${t>=12?"PM":"AM"}`}let t=new Date(e),n=t.getHours(),s=t.getMinutes();return`${(n+11)%12+1}:${String(s).padStart(2,"0")} ${n>=12?"PM":"AM"}`},"fmtDur",0,function(e){if(e<60)return`${e}s`;let t=Math.floor(e/60);if(t<60)return`${t}m`;let n=Math.floor(t/60),s=t%60;return s>0?`${n}h ${s}m`:`${n}h`},"fmtDurDecimal",0,function(e){if(e<60)return"0:"+String(e).padStart(2,"0");let t=Math.floor(e/60);if(t<60)return"0:"+String(t).padStart(2,"0");let n=Math.floor(t/60);return`${n}:${String(t%60).padStart(2,"0")}`},"useTick",0,function(e=1){let[t,s]=(0,n.useState)(0);return(0,n.useEffect)(()=>{let t=setInterval(()=>s(e=>e+1),1e3*e);return()=>clearInterval(t)},[e]),t}])},953,(e,t,n)=>{"use strict";Object.defineProperty(n,"__esModule",{value:!0}),Object.defineProperty(n,"BailoutToCSR",{enumerable:!0,get:function(){return r}});let s=e.r(45158);function r({reason:e,children:t}){if("u"<typeof window)throw Object.defineProperty(new s.BailoutToCSRError(e),"__NEXT_ERROR_CODE",{value:"E394",enumerable:!1,configurable:!0});return t}},79372,(e,t,n)=>{"use strict";function s(e){return e.split("/").map(e=>encodeURIComponent(e)).join("/")}Object.defineProperty(n,"__esModule",{value:!0}),Object.defineProperty(n,"encodeURIPath",{enumerable:!0,get:function(){return s}})},70492,(e,t,n)=>{"use strict";Object.defineProperty(n,"__esModule",{value:!0}),Object.defineProperty(n,"PreloadChunks",{enumerable:!0,get:function(){return i}});let s=e.r(80663),r=e.r(44939),a=e.r(32316),l=e.r(79372),o=e.r(54389);function i({moduleIds:e}){if("u">typeof window)return null;let t=a.workAsyncStorage.getStore();if(void 0===t)return null;let n=[];if(t.reactLoadableManifest&&e){let s=t.reactLoadableManifest;for(let t of e){if(!s[t])continue;let e=s[t].files;n.push(...e)}}if(0===n.length)return null;let c=(0,o.getAssetTokenQuery)();return(0,s.jsx)(s.Fragment,{children:n.map(e=>{let n=`${t.assetPrefix}/_next/${(0,l.encodeURIPath)(e)}${c}`;return e.endsWith(".css")?(0,s.jsx)("link",{precedence:"dynamic",href:n,rel:"stylesheet",as:"style",nonce:t.nonce},e):((0,r.preload)(n,{as:"script",fetchPriority:"low",nonce:t.nonce}),null)})})}},7395,(e,t,n)=>{"use strict";Object.defineProperty(n,"__esModule",{value:!0}),Object.defineProperty(n,"default",{enumerable:!0,get:function(){return c}});let s=e.r(80663),r=e.r(56916),a=e.r(953),l=e.r(70492);function o(e){return{default:e&&"default"in e?e.default:e}}let i={loader:()=>Promise.resolve(o(()=>null)),loading:null,ssr:!0},c=function(e){let t={...i,...e},n=(0,r.lazy)(()=>t.loader().then(o)),c=t.loading;function d(e){let o=c?(0,s.jsx)(c,{isLoading:!0,pastDelay:!0,error:null}):null,i=!t.ssr||!!t.loading,d=i?r.Suspense:r.Fragment,u=t.ssr?(0,s.jsxs)(s.Fragment,{children:["u"<typeof window?(0,s.jsx)(l.PreloadChunks,{moduleIds:t.modules}):null,(0,s.jsx)(n,{...e})]}):(0,s.jsx)(a.BailoutToCSR,{reason:"next/dynamic",children:(0,s.jsx)(n,{...e})});return(0,s.jsx)(d,{...i?{fallback:o}:{},children:u})}return d.displayName="LoadableComponent",d}},2831,(e,t,n)=>{"use strict";Object.defineProperty(n,"__esModule",{value:!0}),Object.defineProperty(n,"default",{enumerable:!0,get:function(){return r}});let s=e.r(46921)._(e.r(7395));function r(e,t){let n={};"function"==typeof e&&(n.loader=e);let r={...n,...t};return(0,s.default)({...r,modules:r.loadableGenerated?.modules})}("function"==typeof n.default||"object"==typeof n.default&&null!==n.default)&&void 0===n.default.__esModule&&(Object.defineProperty(n.default,"__esModule",{value:!0}),Object.assign(n.default,n),t.exports=n.default)},82010,e=>{"use strict";var t=e.i(80663),n=e.i(56916),s=e.i(2831),r=e.i(29987);function a({info:e,onClick:n}){let s=(0,r.useTick)(1),l=e.elapsed_s+s;return(0,t.jsxs)("button",{onClick:n,className:"m-3 p-3 rounded-lg text-left transition-colors",style:{background:"var(--surface)",border:"1px solid var(--rule)"},children:[(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)(r.LiveDot,{size:8}),(0,t.jsx)("span",{className:"text-[10px] uppercase tracking-[0.16em]",style:{color:"var(--ink-3)"},children:"Now"}),(0,t.jsx)("span",{className:"ml-auto font-mono tnum text-[11px]",style:{color:"var(--ink-2)"},children:(0,r.fmtDurDecimal)(l)})]}),(0,t.jsxs)("div",{className:"flex items-center gap-2 mt-2",children:[(0,t.jsx)(r.AppGlyph,{app:e.app_name,size:18}),(0,t.jsx)("span",{className:"text-[12px] truncate",style:{color:"var(--ink)"},children:e.app_name})]})]})}function l({view:e,onNavigate:s,onOpenCmd:r,queueCount:o}){let[i,c]=(0,n.useState)(null);return(0,n.useEffect)(()=>{function e(){fetch("/api/active").then(e=>e.json()).then(e=>c(e)).catch(()=>{})}e();let t=setInterval(e,3e4);return()=>clearInterval(t)},[]),(0,t.jsxs)("aside",{className:"w-[240px] shrink-0 sticky top-0 self-start h-screen flex flex-col rule-r",style:{borderRightColor:"var(--rule)",background:"var(--paper)"},children:[(0,t.jsxs)("div",{className:"px-6 py-7",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)("span",{className:"inline-block w-2.5 h-2.5 rounded-full live-dot",style:{background:"var(--accent)"}}),(0,t.jsx)("span",{className:"font-serif italic text-[22px] leading-none tracking-tight",style:{color:"var(--ink)"},children:"meridian"})]}),(0,t.jsx)("p",{className:"text-[10px] uppercase tracking-[0.2em] mt-2",style:{color:"var(--ink-3)"},children:"local · v0.3"})]}),(0,t.jsxs)("nav",{className:"flex-1 px-3",children:[[{id:"today",label:"Today",kbd:"1"},{id:"tasks",label:"Tasks",kbd:"2"},{id:"queue",label:"Queue",kbd:"3",badge:o||void 0},{id:"worklogs",label:"Worklogs",kbd:"4"},{id:"sessions",label:"Sessions",kbd:"5"},{id:"week",label:"Week",kbd:"6"}].map(n=>{let r=e===n.id;return(0,t.jsxs)("button",{onClick:()=>s(n.id),className:"w-full flex items-center gap-3 px-3 py-2 rounded-md text-left transition-colors mb-px",style:{background:r?"var(--surface-2)":"transparent",color:r?"var(--ink)":"var(--ink-2)"},children:[(0,t.jsx)("span",{className:"text-[13px] flex-1",children:n.label}),null!=n.badge&&(0,t.jsx)("span",{className:"text-[10px] font-mono tnum px-1.5 py-0.5 rounded",style:{background:"var(--accent)",color:"var(--paper)"},children:n.badge}),(0,t.jsx)("span",{className:"kbd",children:n.kbd})]},n.id)}),(0,t.jsxs)("button",{onClick:r,className:"w-full flex items-center gap-3 px-3 py-2 rounded-md text-left mt-4",style:{color:"var(--ink-3)"},children:[(0,t.jsx)("span",{className:"text-[13px] flex-1",children:"Quick switch"}),(0,t.jsx)("span",{className:"kbd",children:"⌘"}),(0,t.jsx)("span",{className:"kbd",children:"K"})]})]}),(0,t.jsx)("div",{className:"px-3 pb-4",children:(0,t.jsxs)("button",{onClick:()=>s("settings"),className:"w-full flex items-center gap-3 px-3 py-2 rounded-md text-left transition-colors",style:{background:"settings"===e?"var(--surface-2)":"transparent",color:"settings"===e?"var(--ink)":"var(--ink-3)"},children:[(0,t.jsxs)("svg",{width:"14",height:"14",viewBox:"0 0 16 16",fill:"none",stroke:"currentColor",strokeWidth:"1.5",children:[(0,t.jsx)("circle",{cx:"8",cy:"8",r:"2.5"}),(0,t.jsx)("path",{d:"M8 1v1.5M8 13.5V15M1 8h1.5M13.5 8H15M3.05 3.05l1.06 1.06M11.89 11.89l1.06 1.06M3.05 12.95l1.06-1.06M11.89 4.11l1.06-1.06"})]}),(0,t.jsx)("span",{className:"text-[13px]",children:"Settings"}),(0,t.jsx)("span",{className:"kbd ml-auto",children:"7"})]})}),i&&(0,t.jsx)(a,{info:i,onClick:()=>s("today")})]})}function o({onClose:e,onNavigate:s}){let[a,l]=(0,n.useState)(""),i=(0,n.useRef)(null);(0,n.useEffect)(()=>{i.current?.focus()},[]);let c=[{kind:"view",label:"Go to Today",v:"today"},{kind:"view",label:"Go to Tasks",v:"tasks"},{kind:"view",label:"Go to Review queue",v:"queue"},{kind:"view",label:"Go to Worklogs",v:"worklogs"},{kind:"view",label:"Go to Sessions",v:"sessions"},{kind:"view",label:"Go to Week",v:"week"}].filter(e=>!a||e.label.toLowerCase().includes(a.toLowerCase())).slice(0,8);return(0,t.jsx)("div",{onClick:e,className:"fixed inset-0 z-50 flex items-start justify-center pt-[18vh]",style:{background:"rgba(15,15,15,0.45)",backdropFilter:"blur(4px)"},children:(0,t.jsxs)("div",{onClick:e=>e.stopPropagation(),className:"w-[560px] max-w-[92vw] rounded-xl overflow-hidden rise",style:{background:"var(--surface)",border:"1px solid var(--rule-2)",boxShadow:"0 24px 80px rgba(0,0,0,0.18)"},children:[(0,t.jsx)("input",{ref:i,value:a,onChange:e=>l(e.target.value),onKeyDown:t=>{"Escape"===t.key&&e(),"Enter"===t.key&&c[0]&&s(c[0].v,c[0].key)},placeholder:"Jump to view or task…",className:"w-full px-5 py-4 text-[14px] font-sans",style:{background:"transparent",color:"var(--ink)",border:"none",outline:"none",borderBottom:"1px solid var(--rule)"}}),(0,t.jsxs)("div",{className:"max-h-[40vh] overflow-y-auto nice-scroll",children:[0===c.length&&(0,t.jsx)("p",{className:"p-6 text-center text-[12px]",style:{color:"var(--ink-3)"},children:"No matches."}),c.map((e,n)=>(0,t.jsxs)("button",{onClick:()=>s(e.v,e.key),className:"w-full text-left px-5 py-2.5 flex items-center gap-3 transition-colors hover:opacity-80",style:{background:0===n?"var(--surface-2)":"transparent"},children:["task"===e.kind&&(0,t.jsx)(r.TaskKey,{keyId:e.key}),(0,t.jsx)("span",{className:"text-[13px]",style:{color:"var(--ink)"},children:e.label}),"task"===e.kind&&e.status&&(0,t.jsx)("span",{className:"ml-auto",children:(0,t.jsx)(r.StatusPill,{status:e.status})})]},n))]}),(0,t.jsxs)("div",{className:"px-5 py-2.5 rule-t flex items-center justify-between text-[10px]",style:{borderTopColor:"var(--rule)",color:"var(--ink-4)"},children:[(0,t.jsx)("span",{children:"Local search · no network"}),(0,t.jsxs)("span",{children:[(0,t.jsx)("span",{className:"kbd",children:"↵"})," open · ",(0,t.jsx)("span",{className:"kbd",children:"esc"})," close"]})]})]})})}var i=e.i(38297);function c(){let{dark:e,setDark:s,accent:r,setAccent:a,density:l,setDensity:o,tone:c,setTone:d}=(0,i.useTheme)(),[u,x]=(0,n.useState)(!1),p=(0,n.useRef)(null),m=(0,n.useRef)({x:16,y:16});return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("button",{onClick:()=>x(e=>!e),className:"fixed right-4 bottom-4 z-40 w-9 h-9 rounded-full flex items-center justify-center text-[13px]",style:{background:"var(--surface)",border:"1px solid var(--rule-2)",color:"var(--ink-3)",boxShadow:"0 2px 8px rgba(0,0,0,0.1)"},"aria-label":"Open theme settings",children:"◐"}),u&&(0,t.jsxs)("div",{ref:p,className:"fixed z-50 w-[280px] rounded-[14px] overflow-hidden flex flex-col",style:{right:m.current.x,bottom:m.current.y,background:e?"rgba(20,20,19,0.92)":"rgba(250,249,247,0.92)",border:`.5px solid ${e?"rgba(255,255,255,0.08)":"rgba(255,255,255,0.6)"}`,backdropFilter:"blur(24px) saturate(160%)",boxShadow:"0 12px 40px rgba(0,0,0,0.18)",color:e?"#F4F1EB":"#29261b"},children:[(0,t.jsxs)("div",{className:"flex items-center justify-between px-4 py-3 cursor-move select-none",onMouseDown:function(e){let t=p.current;if(!t)return;let n=t.getBoundingClientRect(),s=e.clientX,r=e.clientY,a=window.innerWidth-n.right,l=window.innerHeight-n.bottom,o=e=>{m.current={x:a-(e.clientX-s),y:l-(e.clientY-r)},function(){let e=p.current;if(!e)return;let t=e.offsetWidth,n=e.offsetHeight,s=Math.max(16,window.innerWidth-t-16),r=Math.max(16,window.innerHeight-n-16);m.current={x:Math.min(s,Math.max(16,m.current.x)),y:Math.min(r,Math.max(16,m.current.y))},e.style.right=m.current.x+"px",e.style.bottom=m.current.y+"px"}()},i=()=>{window.removeEventListener("mousemove",o),window.removeEventListener("mouseup",i)};window.addEventListener("mousemove",o),window.addEventListener("mouseup",i)},style:{borderBottom:`1px solid ${e?"rgba(255,255,255,0.06)":"rgba(0,0,0,0.06)"}`},children:[(0,t.jsx)("span",{className:"text-[12px] font-semibold tracking-[0.01em]",children:"Settings"}),(0,t.jsx)("button",{onClick:()=>x(!1),onMouseDown:e=>e.stopPropagation(),className:"w-[22px] h-[22px] flex items-center justify-center rounded-md text-[13px]",style:{color:e?"rgba(244,241,235,0.5)":"rgba(41,38,27,0.5)",background:"transparent"},children:"✕"})]}),(0,t.jsxs)("div",{className:"p-4 space-y-4",children:[(0,t.jsx)("p",{className:"text-[10px] font-semibold tracking-[0.06em] uppercase",style:{color:e?"rgba(244,241,235,0.4)":"rgba(41,38,27,0.4)"},children:"Appearance"}),(0,t.jsxs)("div",{className:"flex items-center justify-between",children:[(0,t.jsx)("span",{className:"text-[11.5px]",children:"Dark mode"}),(0,t.jsx)("button",{onClick:()=>s(!e),role:"switch","aria-checked":e,className:"relative w-8 h-[18px] rounded-full border-0 p-0 transition-colors",style:{background:e?"#34c759":"rgba(0,0,0,0.15)"},children:(0,t.jsx)("span",{className:"absolute top-[2px] w-[14px] h-[14px] rounded-full transition-transform",style:{left:2,background:"#fff",boxShadow:"0 1px 2px rgba(0,0,0,0.25)",transform:e?"translateX(14px)":"translateX(0)"}})})]}),(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsx)("span",{className:"text-[11.5px]",children:"Accent color"}),(0,t.jsx)("div",{className:"flex gap-1.5",children:i.ACCENT_PRESETS.map(e=>{let n;return(0,t.jsx)("button",{onClick:()=>a(e),className:"flex-1 h-[46px] rounded-md transition-transform",style:{background:e,boxShadow:r===e?"0 0 0 1.5px rgba(0,0,0,0.85), 0 2px 6px rgba(0,0,0,0.15)":"0 0 0 .5px rgba(0,0,0,0.12)"},"aria-label":`Accent ${e}`,children:r===e&&(0,t.jsx)("svg",{viewBox:"0 0 14 14",className:"mx-auto",width:13,height:13,children:(0,t.jsx)("path",{d:"M3 7.2 5.8 10 11 4.2",fill:"none",strokeWidth:"2.2",strokeLinecap:"round",strokeLinejoin:"round",stroke:Number.isNaN(n=parseInt(e.replace("#","").padEnd(6,"0").slice(0,6),16))||299*(n>>16&255)+587*(n>>8&255)+114*(255&n)>148e3?"rgba(0,0,0,.78)":"#fff"})})},e)})})]}),(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsx)("span",{className:"text-[11.5px]",children:"Density"}),(0,t.jsx)("div",{className:"flex rounded-lg overflow-hidden",style:{background:"rgba(0,0,0,0.06)",padding:2,gap:0},children:["compact","regular","comfy"].map(n=>(0,t.jsx)("button",{onClick:()=>o(n),className:"flex-1 py-1 text-[11px] font-medium rounded-md transition-colors capitalize",style:{background:l===n?e?"rgba(255,255,255,0.1)":"rgba(255,255,255,0.9)":"transparent",boxShadow:l===n?"0 1px 2px rgba(0,0,0,0.12)":"none"},children:n},n))})]}),(0,t.jsx)("p",{className:"text-[10px] font-semibold tracking-[0.06em] uppercase pt-2",style:{color:e?"rgba(244,241,235,0.4)":"rgba(41,38,27,0.4)"},children:"Narrative"}),(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsx)("span",{className:"text-[11.5px]",children:"Story tone"}),(0,t.jsx)("div",{className:"flex rounded-lg overflow-hidden",style:{background:"rgba(0,0,0,0.06)",padding:2},children:["terse","detailed"].map(n=>(0,t.jsx)("button",{onClick:()=>d(n),className:"flex-1 py-1 text-[11px] font-medium rounded-md transition-colors capitalize",style:{background:c===n?e?"rgba(255,255,255,0.1)":"rgba(255,255,255,0.9)":"transparent",boxShadow:c===n?"0 1px 2px rgba(0,0,0,0.12)":"none"},children:n},n))})]})]})]})]})}let d=(0,s.default)(()=>e.A(82582),{loadableGenerated:{modules:[65906]},ssr:!1}),u=(0,s.default)(()=>e.A(44993),{loadableGenerated:{modules:[63017]},ssr:!1}),x=(0,s.default)(()=>e.A(70744),{loadableGenerated:{modules:[20710]},ssr:!1}),p=(0,s.default)(()=>e.A(31857),{loadableGenerated:{modules:[75042]},ssr:!1}),m=(0,s.default)(()=>e.A(29519),{loadableGenerated:{modules:[37653]},ssr:!1}),f=(0,s.default)(()=>e.A(16457),{loadableGenerated:{modules:[27246]},ssr:!1}),h=(0,s.default)(()=>e.A(58835),{loadableGenerated:{modules:[49661]},ssr:!1});e.s(["default",0,function(){let[e,s]=(0,n.useState)("today"),[r,a]=(0,n.useState)(null),[i,b]=(0,n.useState)(!1),[g,k]=(0,n.useState)(0),v=(0,n.useCallback)((e,t)=>{s(e),a(t??null),window.scrollTo({top:0,behavior:"instant"})},[]);(0,n.useEffect)(()=>{fetch("/api/queue-review").then(e=>e.json()).then(e=>k(e.items?.length??0)).catch(()=>{})},[]),(0,n.useEffect)(()=>{function e(e){if((e.metaKey||e.ctrlKey)&&"k"===e.key.toLowerCase()){e.preventDefault(),b(e=>!e);return}if("Escape"===e.key)return void b(!1);if(i||e.metaKey||e.ctrlKey||e.altKey)return;let t=e.target;"INPUT"!==t.tagName&&"TEXTAREA"!==t.tagName&&("1"===e.key?v("today"):"2"===e.key?v("tasks"):"3"===e.key?v("queue"):"4"===e.key?v("worklogs"):"5"===e.key?v("sessions"):"6"===e.key?v("week"):"7"===e.key&&v("settings"))}return window.addEventListener("keydown",e),()=>window.removeEventListener("keydown",e)},[i,v]);let y=new Date().toLocaleDateString("en-US",{weekday:"long",month:"long",day:"numeric",year:"numeric"});return(0,t.jsxs)("div",{className:"min-h-screen flex",style:{background:"var(--paper)"},children:[(0,t.jsx)(l,{view:e,onNavigate:v,onOpenCmd:()=>b(!0),queueCount:g}),(0,t.jsx)("main",{className:"flex-1 min-w-0","data-screen-label":e,children:(0,t.jsxs)("div",{className:"max-w-[1080px] mx-auto px-10 py-14",children:["today"===e&&(0,t.jsx)(d,{onNavigate:(e,t)=>v(e,t)}),"tasks"===e&&(0,t.jsx)(u,{focusKey:r}),"queue"===e&&(0,t.jsx)(x,{}),"worklogs"===e&&(0,t.jsx)(p,{}),"sessions"===e&&(0,t.jsx)(m,{}),"week"===e&&(0,t.jsx)(f,{}),"settings"===e&&(0,t.jsx)(h,{}),(0,t.jsxs)("footer",{className:"mt-24 pt-8 rule-t flex items-center justify-between text-[11px]",style:{borderTopColor:"var(--rule)",color:"var(--ink-4)"},children:[(0,t.jsxs)("span",{children:["Meridian · local · ",y]}),(0,t.jsxs)("span",{className:"font-mono tnum",children:[(0,t.jsx)("span",{className:"kbd",children:"⌘"})," ",(0,t.jsx)("span",{className:"kbd",children:"K"})," to jump · ",(0,t.jsx)("span",{className:"kbd",children:"1"}),"–",(0,t.jsx)("span",{className:"kbd",children:"7"})," to switch view"]})]})]})}),i&&(0,t.jsx)(o,{onClose:()=>b(!1),onNavigate:(e,t)=>{v(e,t),b(!1)}}),(0,t.jsx)(c,{})]})}],82010)},82582,e=>{e.v(t=>Promise.all(["static/chunks/0t0n-_np5foyi.js"].map(t=>e.l(t))).then(()=>t(65906)))},44993,e=>{e.v(t=>Promise.all(["static/chunks/0ihy5u7wenwg0.js"].map(t=>e.l(t))).then(()=>t(63017)))},70744,e=>{e.v(t=>Promise.all(["static/chunks/0baqm_s2-t13s.js"].map(t=>e.l(t))).then(()=>t(20710)))},31857,e=>{e.v(t=>Promise.all(["static/chunks/0z1g1xyfa206c.js"].map(t=>e.l(t))).then(()=>t(75042)))},29519,e=>{e.v(t=>Promise.all(["static/chunks/0ifolh1b1knby.js"].map(t=>e.l(t))).then(()=>t(37653)))},16457,e=>{e.v(t=>Promise.all(["static/chunks/0s.zkfto8hpca.js"].map(t=>e.l(t))).then(()=>t(27246)))},58835,e=>{e.v(t=>Promise.all(["static/chunks/0034g-77v57su.js","static/chunks/0_g6ngacmh2ur.js"].map(t=>e.l(t))).then(()=>t(49661)))}]);
@@ -0,0 +1 @@
1
+ (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,17303,e=>{"use strict";var s=e.i(56916);let t=e=>{let s=e.replace(/^([A-Z])|[\s-_]+(\w)/g,(e,s,t)=>t?t.toUpperCase():s.toLowerCase());return s.charAt(0).toUpperCase()+s.slice(1)},a=(...e)=>e.filter((e,s,t)=>!!e&&""!==e.trim()&&t.indexOf(e)===s).join(" ").trim();var n={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};let r=(0,s.forwardRef)(({color:e="currentColor",size:t=24,strokeWidth:r=2,absoluteStrokeWidth:l,className:i="",children:c,iconNode:o,...d},u)=>(0,s.createElement)("svg",{ref:u,...n,width:t,height:t,stroke:e,strokeWidth:l?24*Number(r)/Number(t):r,className:a("lucide",i),...!c&&!(e=>{for(let s in e)if(s.startsWith("aria-")||"role"===s||"title"===s)return!0})(d)&&{"aria-hidden":"true"},...d},[...o.map(([e,t])=>(0,s.createElement)(e,t)),...Array.isArray(c)?c:[c]]));e.s(["default",0,(e,n)=>{let l=(0,s.forwardRef)(({className:l,...i},c)=>(0,s.createElement)(r,{ref:c,iconNode:n,className:a(`lucide-${t(e).replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase()}`,`lucide-${e}`,l),...i}));return l.displayName=t(e),l}],17303)},99963,e=>{"use strict";var s=e.i(80663);let t=(0,e.i(17303).default)("external-link",[["path",{d:"M15 3h6v6",key:"1q9fwt"}],["path",{d:"M10 14 21 3",key:"gplh6r"}],["path",{d:"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6",key:"a6xqqp"}]]);function a(){for(var e,s,t=0,a="",n=arguments.length;t<n;t++)(e=arguments[t])&&(s=function e(s){var t,a,n="";if("string"==typeof s||"number"==typeof s)n+=s;else if("object"==typeof s)if(Array.isArray(s)){var r=s.length;for(t=0;t<r;t++)s[t]&&(a=e(s[t]))&&(n&&(n+=" "),n+=a)}else for(a in s)s[a]&&(n&&(n+=" "),n+=a);return n}(e))&&(a&&(a+=" "),a+=s);return a}var n=e.i(89562);function r({taskKey:e,taskTitle:t,sessionType:n,routing:l,confidence:i,method:c}){let o=function(e){if(!e)return[];switch(e){case"prefilter_trivial":return[{label:"Hermes · pre-filter",deciding:!0}];case"llm_standalone":case"agent_tiebreak":return[{label:"Hermes · classification",deciding:!0}];default:return[{label:e,deciding:!0}]}}(c),d="number"==typeof i&&i>0?`${Math.round(100*i)}%`:null,u=e?d?`${e} \xb7 ${d}`:e:"overhead"===n?"overhead":"queue"===l?d?`queued \xb7 ${d}`:"queued":d?`no match \xb7 ${d}`:"no match";return(0,s.jsxs)("div",{className:"space-y-2 min-w-[200px]",children:[o.length>0?(0,s.jsx)("div",{className:"space-y-1",children:o.map((e,t)=>(0,s.jsxs)("div",{className:"flex items-center justify-between gap-4",children:[(0,s.jsx)("span",{className:a("font-mono text-[10px] uppercase tracking-widest shrink-0",e.deciding?"text-[#4B4A47]":"text-[#C8C6C1]"),children:e.label}),(0,s.jsx)("span",{className:a("text-[10px] font-mono",e.deciding?"text-[#141414] font-medium":"text-[#C8C6C1]"),children:e.deciding?u:"→ escalated"})]},t))}):(0,s.jsx)("p",{className:"text-[11px] text-[#9B9A97]",children:"no classification data"}),e&&t&&(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)("div",{className:"border-t border-[#F0EFEC]"}),(0,s.jsx)("p",{className:"text-[11px] text-[#6B6A67] leading-snug max-w-[220px]",children:t})]}),l&&"auto"!==l&&(0,s.jsxs)("p",{className:"text-[10px] text-[#C8C6C1]",children:["routing: ",(0,s.jsx)("span",{className:"font-mono",children:l})]})]})}function l({children:e,...t}){return(0,s.jsxs)(n.Root,{children:[(0,s.jsx)(n.Trigger,{asChild:!0,children:e}),(0,s.jsx)(n.Portal,{children:(0,s.jsxs)(n.Content,{side:"top",align:"center",sideOffset:5,className:"z-50 rounded-lg border border-[#E8E6E1] bg-white px-3 py-2.5 shadow-md",children:[(0,s.jsx)(r,{...t}),(0,s.jsx)(n.Arrow,{className:"fill-white"})]})})]})}e.s(["default",0,function({taskKey:e,sessionType:n,routing:r,confidence:i,method:c,taskTitle:o,taskUrl:d,size:u="xs"}){if(!n)return null;let x="xs"===u?"text-[10px] px-1.5 py-0.5":"text-xs px-2 py-0.5",p={taskKey:e,taskTitle:o??null,sessionType:n,routing:r,confidence:i,method:c};if("overhead"===n)return(0,s.jsx)(l,{...p,children:(0,s.jsx)("span",{className:a("inline-flex items-center rounded-full font-medium cursor-default","bg-[#F0EFEC] text-[#9B9A97]",x),children:"overhead"})});if("task"===n&&"auto"===r&&e){let n=(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)("span",{className:"font-mono",children:e}),d&&(0,s.jsx)(t,{className:"w-2.5 h-2.5 opacity-60"})]}),r=d?(0,s.jsx)("a",{href:d,target:"_blank",rel:"noopener noreferrer",className:a("inline-flex items-center gap-1 rounded-full font-medium hover:brightness-95 transition","bg-[#EBF0FB] text-[#3D5BB0] border border-[#D8E0F4]",x),onClick:e=>e.stopPropagation(),children:n}):(0,s.jsx)("span",{className:a("inline-flex items-center gap-1 rounded-full font-medium cursor-default","bg-[#EBF0FB] text-[#3D5BB0] border border-[#D8E0F4]",x),children:n});return(0,s.jsx)(l,{...p,children:r})}return"task"===n&&"queue"===r?(0,s.jsx)(l,{...p,children:(0,s.jsxs)("span",{className:a("inline-flex items-center gap-1 rounded-full font-medium cursor-default","bg-[#FEF9EC] text-[#92400E] border border-[#FDE68A]",x),children:[(0,s.jsx)("span",{className:"font-mono",children:e??"queued"}),(0,s.jsx)("span",{className:"opacity-60",children:"?"})]})}):"task"===n&&"skip"===r?(0,s.jsx)(l,{...p,children:(0,s.jsx)("span",{className:a("inline-flex items-center rounded-full font-medium cursor-default","bg-[#F8F7F4] text-[#C8C6C1] border border-[#F0EFEC]",x),children:(0,s.jsx)("span",{className:"font-mono",children:"∅"})})}):null}],99963)},72868,e=>{"use strict";var s=e.i(80663),t=e.i(56916),a=e.i(29987),n=e.i(99963);let r={coding:"#3B6FE0",code_review:"#7C3AED",meeting:"#D97706",communication:"#059669",design:"#DB2777",documentation:"#0891B2",planning:"#C4822A",deployment_devops:"#DC2626",research:"#4F46E5",idle_personal:"#78716C"};function l({data:e}){let n=e=>new Date(e).getHours()+new Date(e).getMinutes()/60,i=(0,t.useMemo)(()=>{let s={};e.sessions.forEach(e=>{s[e.cat]=(s[e.cat]||0)+e.dur}),e.active&&(s[e.active.cat]=(s[e.active.cat]||0)+e.active.elapsed_s);let t=Object.values(s).reduce((e,s)=>e+s,0)||1;return Object.entries(s).map(([e,s])=>({cat:e,seconds:s,percentage:s/t*100,label:a.CATS[e]?.label||e})).sort((e,s)=>s.seconds-e.seconds)},[e]),c=(0,t.useMemo)(()=>{let s=[...e.sessions.map(e=>({kind:"session",startH:n(e.started_at),dur:e.dur})),...e.active?[{kind:"session",startH:n(e.active.started_at),dur:e.active.elapsed_s}]:[],...e.gaps.map(e=>({kind:"gap",startH:n(e.started_at),dur:e.dur}))].sort((e,s)=>e.startH-s.startH),t=0,a=0;return s.forEach(e=>{"gap"===e.kind&&e.dur>300?(t=Math.max(t,a),a=0):"session"===e.kind&&(a+=e.dur)}),Math.max(t,a)},[e]),o=(0,t.useMemo)(()=>{let e=0;return i.map(s=>{let t=e,a=s.percentage/100*360,n=t+a,r=(t-90)*Math.PI/180,l=(n-90)*Math.PI/180,i=+(a>180),c=`M ${100+85*Math.cos(r)} ${100+85*Math.sin(r)} A 85 85 0 ${i} 1 ${100+85*Math.cos(l)} ${100+85*Math.sin(l)} L ${100+58*Math.cos(l)} ${100+58*Math.sin(l)} A 58 58 0 ${i} 0 ${100+58*Math.cos(r)} ${100+58*Math.sin(r)} Z`;return e=n,{...s,path:c}})},[i]),[d,u]=(0,t.useState)(null);return(0,s.jsx)(a.Card,{className:"p-6",children:(0,s.jsxs)("div",{className:"flex items-center gap-8",children:[(0,s.jsx)("div",{className:"flex-1 flex justify-center",children:(0,s.jsxs)("div",{className:"relative",style:{width:200,height:200},children:[(0,s.jsx)("svg",{width:"200",height:"200",viewBox:"0 0 200 200",children:o.map(e=>(0,s.jsx)("path",{d:e.path,className:`cat-${e.cat}`,opacity:d===e.cat?1:null===d?.95:.35,style:{cursor:"pointer",transition:"opacity 0.2s ease, transform 0.15s ease",transformOrigin:"100px 100px",transform:d===e.cat?"scale(1.05)":"scale(1)"},onMouseEnter:()=>u(e.cat),onMouseLeave:()=>u(null)},e.cat))}),(0,s.jsxs)("div",{className:"absolute inset-0 flex flex-col items-center justify-center pointer-events-none",children:[(0,s.jsx)("p",{className:"font-mono tnum text-[28px] leading-none",style:{color:"var(--ink)"},children:(0,a.fmtDur)(e.focus_s)}),(0,s.jsx)("p",{className:"text-[10px] uppercase tracking-wide mt-1",style:{color:"var(--ink-3)"},children:"active"})]})]})}),(0,s.jsxs)("div",{className:"flex-1 space-y-4",children:[(0,s.jsxs)("div",{className:"grid grid-cols-2 gap-3 pb-4 rule-b",style:{borderBottomColor:"var(--rule)"},children:[(0,s.jsxs)("div",{children:[(0,s.jsx)("p",{className:"text-[10px] uppercase tracking-wide mb-1",style:{color:"var(--ink-3)"},children:"Longest block"}),(0,s.jsx)("p",{className:"font-mono tnum text-[20px] leading-none",style:{color:"var(--success)"},children:(0,a.fmtDur)(c)})]}),(0,s.jsxs)("div",{children:[(0,s.jsx)("p",{className:"text-[10px] uppercase tracking-wide mb-1",style:{color:"var(--ink-3)"},children:"Idle time"}),(0,s.jsx)("p",{className:"font-mono tnum text-[20px] leading-none",style:{color:"var(--ink-3)"},children:(0,a.fmtDur)(e.idle_s)})]})]}),(0,s.jsx)("div",{className:"space-y-0.5",children:i.map(e=>{let t=d===e.cat;return(0,s.jsxs)("div",{className:"flex items-center justify-between gap-3 py-1.5 px-2 rounded-md transition-all cursor-pointer",style:{background:t?"var(--tint)":"transparent",borderLeft:`3px solid ${t?r[e.cat]??"var(--accent)":"transparent"}`,opacity:t||null===d?1:.45,paddingLeft:t?"6px":"8px"},onMouseEnter:()=>u(e.cat),onMouseLeave:()=>u(null),children:[(0,s.jsxs)("div",{className:"flex items-center gap-2 flex-1 min-w-0",children:[(0,s.jsx)(a.CatDot,{cat:e.cat,size:9}),(0,s.jsx)("span",{className:"text-[12px] truncate font-medium",style:{color:t?"var(--ink)":"var(--ink-2)"},children:e.label})]}),(0,s.jsxs)("span",{className:"text-[12px] font-mono tnum font-semibold",style:{color:t?"var(--ink)":"var(--ink-3)"},children:[e.percentage.toFixed(0),"%"]})]},e.cat)})})]})]})})}let i="var(--ink)",c="var(--rule-2)",o="#3B6FE0",d=e=>new Date(e).getTime();function u({data:e}){let[n,r]=(0,t.useState)(null),l=(0,t.useMemo)(()=>{let s=e.presence_segments.map(e=>({startMs:d(e.started_at),endMs:d(e.ended_at),kind:"active",label:"Active"})),t=e.gaps.filter(e=>"user_idle"===e.kind).map(e=>({startMs:d(e.started_at),endMs:d(e.ended_at),kind:"idle",label:"Idle"})),a=e.agent_segments.map(e=>({startMs:d(e.started_at),endMs:d(e.ended_at),kind:"agent",label:"Claude / Codex"})),n=[...s,...t,...a].filter(e=>Number.isFinite(e.startMs)&&e.endMs>e.startMs);if(0===n.length)return null;let r=36e5*Math.floor(Math.min(...n.map(e=>e.startMs))/36e5),l=36e5*Math.ceil(Math.max(...n.map(e=>e.endMs))/36e5),i=Math.max(36e5,l-r),c=[];for(let e=r;e<=l;e+=36e5)c.push({left:(e-r)/i*100,label:new Date(e).getHours().toString().padStart(2,"0")});return{active:s,idle:t,agent:a,ticks:c,pos:e=>({left:(e.startMs-r)/i*100,width:Math.max(.4,(e.endMs-e.startMs)/i*100)})}},[e]);if(!l)return null;let x=(e,t,a,i,c=!1)=>{let{left:o,width:d}=l.pos(e);return(0,s.jsx)("div",{onMouseEnter:()=>r(e),onMouseLeave:()=>r(s=>s===e?null:s),className:"absolute cursor-pointer transition-opacity",style:{left:`${o}%`,width:`${d}%`,top:t,height:a,background:i,borderRadius:c?3:2,opacity:n&&n!==e?.4:1}},`${e.kind}-${e.startMs}`)};return(0,s.jsxs)("div",{className:"select-none",children:[(0,s.jsx)("div",{className:"h-6 mb-1 flex items-end",children:(()=>{if(!n)return null;let e=e=>new Date(e).toLocaleTimeString([],{hour:"2-digit",minute:"2-digit"});return(0,s.jsxs)("div",{className:"text-[11px] font-mono tnum px-2 py-1 rounded-md inline-flex gap-2 items-center",style:{background:"var(--ink)",color:"var(--paper)"},children:[(0,s.jsx)("span",{style:{opacity:.7},children:n.label}),(0,s.jsxs)("span",{children:[e(n.startMs),"–",e(n.endMs)]}),(0,s.jsxs)("span",{style:{opacity:.7},children:["· ",(0,a.fmtDur)(Math.round((n.endMs-n.startMs)/1e3))]})]})})()}),(0,s.jsxs)("div",{className:"relative",style:{height:54},children:[l.ticks.map((e,t)=>(0,s.jsx)("div",{className:"absolute top-0",style:{left:`${e.left}%`,height:40,width:1,background:"var(--rule)"}},`g${t}`)),l.idle.map(e=>x(e,6,18,c)),l.active.map(e=>x(e,6,18,i)),l.agent.map(e=>x(e,27,11,o,!0)),l.ticks.map((e,t)=>(0,s.jsx)("div",{className:"absolute font-mono text-[9px]",style:{left:`${e.left}%`,top:42,color:"var(--ink-4)",transform:"translateX(-50%)"},children:e.label},`l${t}`))]}),(0,s.jsxs)("div",{className:"mt-3 flex flex-wrap items-center gap-x-4 gap-y-1 text-[11px]",style:{color:"var(--ink-3)"},children:[(0,s.jsxs)("span",{className:"inline-flex items-center gap-1.5",children:[(0,s.jsx)("i",{style:{width:10,height:10,background:i,borderRadius:2,display:"inline-block"}})," Active"]}),(0,s.jsxs)("span",{className:"inline-flex items-center gap-1.5",children:[(0,s.jsx)("i",{style:{width:10,height:10,background:c,borderRadius:2,display:"inline-block"}})," Idle"]}),(0,s.jsxs)("span",{className:"inline-flex items-center gap-1.5",children:[(0,s.jsx)("i",{style:{width:10,height:6,background:o,borderRadius:2,display:"inline-block"}})," Claude / Codex"]}),(0,s.jsx)("span",{style:{color:"var(--ink-4)"},children:"· agent under an idle stretch = autonomous"})]})]})}let x=(e,s)=>s>0?Math.round(e/s*100):0;function p({label:e,value:t,hint:a}){return(0,s.jsxs)("div",{className:"flex items-baseline justify-between gap-4 py-2",children:[(0,s.jsxs)("div",{className:"min-w-0",children:[(0,s.jsx)("span",{className:"text-[13px]",style:{color:"var(--ink)"},children:e}),a&&(0,s.jsx)("span",{className:"text-[11px] ml-2",style:{color:"var(--ink-3)"},children:a})]}),(0,s.jsx)("span",{className:"font-mono tnum text-[14px] whitespace-nowrap",style:{color:"var(--ink)"},children:t})]})}function m(e){let{focus_s:n,idle_s:r,agent_s:l,supervised_s:i,autonomous_s:c,switch_count:o}=e,[d,u]=(0,t.useState)(null),m=[{key:"focus",label:"Focus",value:(0,a.fmtDur)(n),note:"active"},{key:"ai",label:"AI-assisted",value:`${x(i,n)}%`,note:"of focus"},{key:"switches",label:"Switches",value:String(o),note:"context switches"}];return(0,s.jsxs)("div",{className:"rule-t rule-b",style:{borderColor:"var(--rule)"},children:[(0,s.jsx)("div",{className:"grid grid-cols-3",children:m.map((e,t)=>{let a=d===e.key;return(0,s.jsxs)("button",{onClick:()=>u(a?null:e.key),className:`text-left py-4 px-5 transition-colors ${t>0?"rule-l":""}`,style:{borderColor:"var(--rule)",background:a?"var(--tint)":"transparent"},"aria-expanded":a,children:[(0,s.jsxs)("p",{className:"text-[10px] uppercase tracking-[0.16em] mb-2 flex items-center gap-1.5",style:{color:"var(--ink-3)"},children:[e.label,(0,s.jsx)("span",{className:"text-[9px]",style:{color:"var(--ink-4)",transform:a?"rotate(180deg)":"none",transition:"transform 0.15s"},children:"▾"})]}),(0,s.jsx)("p",{className:"font-mono tnum text-[20px] leading-none",style:{color:"var(--ink)"},children:e.value}),(0,s.jsx)("p",{className:"text-[11px] mt-1.5",style:{color:"var(--ink-3)"},children:e.note})]},e.key)})}),d&&(0,s.jsx)("div",{className:"px-5 py-3 rule-t",style:{borderTopColor:"var(--rule)",background:"var(--surface)"},children:(0,s.jsx)("div",{className:"max-w-md",children:(e=>{switch(e){case"focus":return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(p,{label:"Active",value:(0,a.fmtDur)(n),hint:"you, at the keyboard"}),(0,s.jsx)(p,{label:"Idle / away",value:(0,a.fmtDur)(r),hint:"no input detected"}),(0,s.jsx)(p,{label:"AI-assisted",value:`${(0,a.fmtDur)(i)} \xb7 ${x(i,n)}%`,hint:"of your active time"})]});case"ai":return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(p,{label:"Supervised",value:(0,a.fmtDur)(i),hint:"agent ran while you were active"}),(0,s.jsx)(p,{label:"Autonomous",value:(0,a.fmtDur)(c),hint:"agent ran while you were away"}),(0,s.jsx)(p,{label:"Agent total",value:(0,a.fmtDur)(l),hint:"engaged Claude / Codex time"})]});case"switches":return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(p,{label:"Context switches",value:String(o),hint:"foreground app changes over 15s"}),(0,s.jsx)("p",{className:"text-[12px] leading-relaxed pt-1",style:{color:"var(--ink-3)"},children:"Lower is deeper. Brief sub-15s window flicker is filtered out so this reflects real context shifts, not capture noise."})]})}})(d)})})]})}function h({active:e,taskKey:t}){let n=(0,a.useTick)(1),r=e.elapsed_s+n,l=Math.max(1,Math.floor(r/30));return(0,s.jsxs)(a.Card,{className:"overflow-hidden rise",style:{borderColor:"var(--rule-2)"},children:[(0,s.jsx)("div",{className:"h-[3px] w-full",style:{background:"var(--rule)"},children:(0,s.jsx)("div",{className:"h-full blink",style:{width:"32%",background:"var(--live)"}})}),(0,s.jsxs)("div",{className:"p-5",children:[(0,s.jsxs)("div",{className:"flex items-center gap-3 mb-4",children:[(0,s.jsx)(a.LiveDot,{size:8}),(0,s.jsxs)("span",{className:"text-[10px] uppercase tracking-[0.2em]",style:{color:"var(--ink-3)"},children:["Live · captured ",l," frame",1===l?"":"s"," ago"]}),(0,s.jsxs)("span",{className:"ml-auto text-[11px]",style:{color:"var(--ink-3)"},children:[(0,s.jsx)("span",{className:"font-mono tnum",children:(0,a.fmtClock)(e.started_at)})," → now"]})]}),(0,s.jsxs)("div",{className:"flex items-start gap-5",children:[(0,s.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,s.jsxs)("div",{className:"flex items-baseline gap-3 flex-wrap",children:[(0,s.jsx)("p",{className:"font-serif text-[28px] leading-none italic",style:{color:"var(--ink)"},children:"You're on"}),t&&(0,s.jsx)(a.TaskKey,{keyId:t,big:!0}),(0,s.jsx)("span",{className:"font-serif text-[28px] leading-none italic truncate",style:{color:"var(--ink)"},children:"idle_personal"!==e.cat?a.CATS[e.cat]?.label?.toLowerCase()??e.cat:"an uncategorized session"})]}),(0,s.jsxs)("div",{className:"mt-4 flex flex-wrap items-center gap-x-5 gap-y-2 text-[13px]",style:{color:"var(--ink-2)"},children:[(0,s.jsxs)("span",{className:"inline-flex items-center gap-2",children:[(0,s.jsx)(a.AppGlyph,{app:e.app,size:20}),(0,s.jsx)("span",{style:{color:"var(--ink)"},children:e.app})]}),(0,s.jsxs)("span",{className:"inline-flex items-center gap-1.5",children:[(0,s.jsx)(a.CatDot,{cat:e.cat}),(0,s.jsx)("span",{children:a.CATS[e.cat]?.label??e.cat})]})]}),e.explain&&(0,s.jsxs)("p",{className:"mt-4 text-[12px] leading-relaxed",style:{color:"var(--ink-3)"},children:[(0,s.jsx)("span",{style:{color:"var(--ink-2)"},children:"Why this task"}),(0,s.jsx)("span",{className:"mx-2",style:{color:"var(--ink-4)"},children:"·"}),e.explain]})]}),(0,s.jsxs)("div",{className:"text-right shrink-0 pl-4 rule-l",style:{borderLeftColor:"var(--rule)"},children:[(0,s.jsx)("p",{className:"text-[10px] uppercase tracking-[0.2em]",style:{color:"var(--ink-3)"},children:"elapsed"}),(0,s.jsx)("p",{className:"font-mono tnum text-[40px] leading-none mt-2",style:{color:"var(--ink)"},children:(0,a.fmtDurDecimal)(r)}),(0,s.jsxs)("div",{className:"mt-3 flex items-center justify-end gap-1.5",children:[(0,s.jsx)(a.ConfidenceRing,{value:e.confidence,size:14}),(0,s.jsxs)("span",{className:"text-[11px] font-mono tnum",style:{color:"var(--ink-3)"},children:[Math.round(100*e.confidence),"%"]})]})]})]}),e.titles.length>0&&(0,s.jsx)("div",{className:"mt-5 flex flex-wrap gap-1.5",children:e.titles.slice(0,5).map(e=>(0,s.jsx)("span",{className:"text-[11px] font-mono px-2 py-1 rounded-md tnum",style:{background:"var(--surface-2)",color:"var(--ink-2)",border:"1px solid var(--rule)"},children:e},e))}),(0,s.jsxs)("div",{className:"mt-5 pt-4 rule-t flex items-center justify-between gap-3",style:{borderTopColor:"var(--rule)"},children:[(0,s.jsx)("p",{className:"text-[12px]",style:{color:"var(--ink-2)"},children:"Log this session to Jira when it closes?"}),(0,s.jsxs)("div",{className:"flex items-center gap-2",children:[(0,s.jsx)("button",{className:"text-[12px] px-3 py-1.5 rounded-md",style:{color:"var(--ink-3)"},children:"Skip"}),(0,s.jsx)("button",{className:"text-[12px] px-3 py-1.5 rounded-md font-medium",style:{color:"var(--paper)",background:"var(--ink)"},children:t?`Log to ${t} →`:"Assign task →"})]})]})]})]})}function f({bucket:e}){let[r,l]=(0,t.useState)(!1),i=(0,t.useMemo)(()=>{let s={};return e.sessions.forEach(e=>{s[e.cat]=(s[e.cat]??0)+e.dur}),Object.entries(s).map(([e,s])=>({cat:e,value:s}))},[e.sessions]),c=e.day_total_s>0?(e.total_s/e.day_total_s*100).toFixed(0):"0";return(0,s.jsxs)("div",{style:{background:"var(--surface)"},children:[(0,s.jsxs)("button",{onClick:()=>l(e=>!e),className:"w-full text-left grid grid-cols-[auto_1fr_200px_auto] items-center gap-5 px-5 py-4 transition-colors",style:{background:r?"var(--surface-2)":"var(--surface)"},children:[(0,s.jsx)("span",{className:"font-mono tnum text-[12px] w-[72px]",style:{color:"var(--ink-2)"},children:e.isOverhead||e.isQueue?(0,s.jsx)("span",{style:{color:"var(--ink-3)"},children:e.isOverhead?"overhead":"needs review"}):(0,s.jsx)(a.TaskKey,{keyId:e.key})}),(0,s.jsxs)("div",{className:"min-w-0",children:[(0,s.jsx)("p",{className:"text-[14px] truncate",style:{color:"var(--ink)"},children:e.title}),(0,s.jsxs)("p",{className:"text-[11px] mt-1.5",style:{color:"var(--ink-3)"},children:[e.sessions.length," session",1===e.sessions.length?"":"s",i.length>0&&` \xb7 ${i.slice(0,3).map(e=>a.CATS[e.cat]?.short??e.cat).join(" + ")}`]})]}),(0,s.jsx)("div",{className:"hidden md:block",children:(0,s.jsx)(a.SegBar,{segments:i.length?i:[{value:1,color:"var(--rule-2)"}],height:3})}),(0,s.jsxs)("div",{className:"text-right",children:[(0,s.jsx)("p",{className:"font-mono tnum text-[18px] leading-none",style:{color:"var(--ink)"},children:(0,a.fmtDur)(e.total_s)}),(0,s.jsxs)("p",{className:"text-[11px] mt-1.5",style:{color:"var(--ink-3)"},children:[c,"% of day"]})]})]}),r&&(0,s.jsx)("div",{className:"px-5 pb-4 pt-1 rule-t",style:{borderTopColor:"var(--rule)"},children:(0,s.jsx)("div",{className:"grid grid-cols-1 gap-px",style:{background:"var(--rule)"},children:e.sessions.map(e=>(0,s.jsxs)("div",{className:"grid grid-cols-[auto_1fr_auto_auto] items-center gap-4 py-2.5 px-3",style:{background:"var(--surface)"},children:[(0,s.jsx)(a.AppGlyph,{app:e.app,size:20}),(0,s.jsxs)("div",{className:"min-w-0",children:[(0,s.jsx)("p",{className:"text-[13px] truncate",style:{color:"var(--ink)"},children:e.titles[0]||"—"}),(0,s.jsxs)("div",{className:"flex items-center gap-2 mt-0.5",children:[(0,s.jsx)("span",{className:"font-mono tnum text-[11px]",style:{color:"var(--ink-3)"},children:(0,a.fmtClock)(e.started_at)}),(0,s.jsx)(a.CatDot,{cat:e.cat}),(0,s.jsx)("span",{className:"text-[11px]",style:{color:"var(--ink-3)"},children:a.CATS[e.cat]?.short??e.cat})]})]}),(0,s.jsx)(n.default,{taskKey:e.task_key,sessionType:e.session_type,routing:e.routing,confidence:e.link_confidence,method:e.link_method,size:"xs"}),(0,s.jsx)("span",{className:"font-mono tnum text-[12px]",style:{color:"var(--ink-2)"},children:(0,a.fmtDur)(e.dur)})]},e.id))})})]})}function v({session:e}){return(0,s.jsxs)("div",{className:"grid grid-cols-[auto_1fr_auto_auto] items-center gap-5 px-5 py-4 rule-t",style:{borderTopColor:"var(--rule)"},children:[(0,s.jsx)(a.AppGlyph,{app:e.app,size:24}),(0,s.jsxs)("div",{className:"min-w-0",children:[(0,s.jsx)("p",{className:"text-[13px] truncate",style:{color:"var(--ink)"},children:e.titles[0]||e.app}),(0,s.jsxs)("p",{className:"text-[11px] mt-1",style:{color:"var(--ink-3)"},children:[(0,s.jsx)("span",{className:"font-mono tnum",children:(0,a.fmtClock)(e.started_at)}),e.candidates&&e.candidates.length>0&&(0,s.jsx)("span",{className:"ml-2 text-[11px]",style:{color:"var(--accent)"},children:"· needs review"})]})]}),(0,s.jsx)("div",{className:"flex items-center gap-1.5",children:e.candidates?.map(e=>(0,s.jsx)(a.TaskKey,{keyId:e},e))}),(0,s.jsx)("span",{className:"font-mono tnum text-[12px]",style:{color:"var(--ink-2)"},children:(0,a.fmtDur)(e.dur)})]})}e.s(["default",0,function({onNavigate:e}){let n,r,[i,c]=(0,t.useState)(null);if((0,t.useEffect)(()=>{fetch("/api/today").then(e=>e.json()).then(c).catch(()=>{});let e=setInterval(()=>fetch("/api/today").then(e=>e.json()).then(c).catch(()=>{}),3e4);return()=>clearInterval(e)},[]),!i)return(0,s.jsxs)("div",{className:"space-y-12",children:[(0,s.jsx)("header",{className:"rise",children:(0,s.jsx)("h1",{className:"font-serif leading-[0.95] tracking-tight",style:{color:"var(--ink)"},children:"Today"})}),(0,s.jsx)("p",{className:"text-[13px]",style:{color:"var(--ink-3)"},children:"Loading…"})]});let o=i.focus_s,d=new Map;function x(e,s){d.has(e)||d.set(e,{key:e,title:"",sessions:[],total_s:0,cats:new Set,day_total_s:o,isOverhead:!1,isQueue:!1});let t=d.get(e);t.sessions.push(s),t.total_s+=s.dur,t.cats.add(s.cat)}i.sessions.forEach(e=>{let s={id:e.id,app:e.app,started_at:e.started_at,dur:e.dur,cat:e.cat,titles:e.titles,task_key:e.task_key,session_type:e.session_type,link_method:e.link_method,link_confidence:e.link_confidence,routing:e.routing};e.task_key?x(e.task_key,s):"queue"===e.routing?x("_queue",s):x("_overhead",s)}),i.active&&x("_active",{id:"active",app:i.active.app,started_at:i.active.started_at,dur:i.active.elapsed_s,cat:i.active.cat,titles:i.active.titles,task_key:null,session_type:null,link_method:null,link_confidence:null,routing:null});let p=Array.from(d.values()).map(e=>({...e,isOverhead:"_overhead"===e.key,isQueue:"_queue"===e.key,title:"_overhead"===e.key?"Overhead — comms, mail, planning":"_queue"===e.key?"Sessions waiting to be assigned":"_active"===e.key?"Current session":e.key,day_total_s:o})).sort((e,s)=>{let t=e=>"_queue"===e?9:"_overhead"===e?8:"_active"===e?-1:0;return t(e.key)-t(s.key)||s.total_s-e.total_s}),g=i.sessions.filter(e=>"queue"===e.routing).length,y=new Date().toLocaleDateString("en-US",{weekday:"long",month:"long",day:"numeric"});return(0,s.jsxs)("div",{className:"space-y-12",children:[(0,s.jsxs)("header",{className:"rise",children:[(0,s.jsxs)("div",{className:"flex items-baseline justify-between mb-1",children:[(0,s.jsx)("p",{className:"text-[11px] uppercase tracking-[0.2em]",style:{color:"var(--ink-3)"},children:y}),i.active&&(0,s.jsxs)("p",{className:"text-[11px]",style:{color:"var(--ink-3)"},children:["Last capture ",(0,s.jsx)("span",{className:"font-mono tnum",children:(0,a.fmtClock)(i.active.started_at)})]})]}),(0,s.jsx)("h1",{className:"font-serif text-[88px] leading-[0.95] tracking-tight",style:{color:"var(--ink)"},children:"Today"})]}),(n=function(e){let{focus_s:s,supervised_s:t,autonomous_s:n,switch_count:r,active:l}=e;if(s<300&&!l)return null;let i=s>0?Math.round(t/s*100):0,c=`${(0,a.fmtDur)(s)} focused`;i>=5&&(c+=`, ${i}% of it alongside Claude`);let o=[];n>=600&&o.push(`plus ${(0,a.fmtDur)(n)} of autonomous agent work while you were away`);let d=s/60;return d>60&&r>d/4&&o.push(`a fragmented day — ${r} context switches`),o.length?`${c} — ${o.join("; ")}.`:`${c}.`}(i),r=function(e){let{sessions:s,active:t}=e;if(0===s.length&&!t)return null;let n=new Map;s.forEach(e=>{let s=e.task_key;if(!s)return;n.has(s)||n.set(s,{dur:0,cats:[]});let t=n.get(s);t.dur+=e.dur,t.cats.includes(e.cat)||t.cats.push(e.cat)});let r=s.filter(e=>!e.task_key&&"queue"!==e.routing).reduce((e,s)=>e+s.dur,0),l=Array.from(n.entries()).sort((e,s)=>s[1].dur-e[1].dur).slice(0,3);if(0===l.length&&r<600&&!t)return null;let i=[];if(l.forEach(([e,s],t)=>{let n=(0,a.fmtDur)(s.dur);if(0===t){var r,l;let t;i.push(`${(r=s.cats,l=s.dur,"coding"===(t=r[0])?l>3600?"Deep on":"Coding on":"code_review"===t?"Reviewing":"design"===t?"Designing":"documentation"===t?"Docs for":"planning"===t?"Planning":"meeting"===t?"Meetings around":"communication"===t?"Comms on":"research"===t?"Researching":"deployment_devops"===t?"Deploying":"Working on")} ${e} for ${n}`)}else i.push(`${n} on ${e}`)}),r>900&&i.push(`${(0,a.fmtDur)(r)} of overhead`),t){let e=a.CATS[t.cat]?.label?.toLowerCase()??t.cat;i.push(l.length>0?`currently in ${e}`:`started ${e} at ${(0,a.fmtClock)(t.started_at)}`)}return i.length>0?i.join(", ")+".":null}(i),n||i.sessions.length>0||i.active?(0,s.jsxs)("section",{className:"rise space-y-5",children:[n&&(0,s.jsxs)("div",{children:[(0,s.jsx)("p",{className:"text-[11px] uppercase tracking-[0.18em] mb-3",style:{color:"var(--ink-3)"},children:"Today at a glance"}),(0,s.jsx)("p",{className:"font-serif text-[32px] leading-[1.15]",style:{color:"var(--ink)",textWrap:"pretty"},children:n})]}),(i.sessions.length>0||i.active)&&(0,s.jsx)(a.Card,{className:"p-6",children:(0,s.jsx)(u,{data:i})}),r&&(0,s.jsx)("p",{className:"text-[14px] leading-relaxed",style:{color:"var(--ink-2)",textWrap:"pretty"},children:r})]}):null),i.active&&(0,s.jsx)(h,{active:i.active,taskKey:i.sessions.filter(e=>e.task_key).at(-1)?.task_key}),(0,s.jsx)(m,{focus_s:i.focus_s,idle_s:i.idle_s,agent_s:i.agent_s,supervised_s:i.supervised_s,autonomous_s:i.autonomous_s,switch_count:i.switch_count}),p.length>0&&(0,s.jsxs)("section",{children:[(0,s.jsx)(a.SectionHead,{kicker:"By task",title:"Where your time went",right:(0,s.jsx)("button",{onClick:()=>e?.("tasks"),className:"text-[12px]",style:{color:"var(--ink-3)"},children:"Open Tasks →"})}),(0,s.jsx)("div",{className:"space-y-px rule rounded-xl overflow-hidden border",style:{borderColor:"var(--rule)"},children:p.map(e=>(0,s.jsx)(f,{bucket:e},e.key))})]}),(i.sessions.length>0||i.active)&&(0,s.jsxs)("section",{children:[(0,s.jsx)(a.SectionHead,{kicker:"Shape of the day",title:"Activity patterns & insights"}),(0,s.jsx)(l,{data:i})]}),g>0&&(0,s.jsxs)("section",{children:[(0,s.jsx)(a.SectionHead,{kicker:"Needs review",title:(0,s.jsxs)(s.Fragment,{children:["Unassigned sessions ",(0,s.jsx)("span",{className:"ml-2 font-mono tnum text-[15px]",style:{color:"var(--accent)"},children:g})]}),right:(0,s.jsx)("button",{onClick:()=>e?.("queue"),className:"text-[12px]",style:{color:"var(--ink-3)"},children:"Review queue →"})}),(0,s.jsx)(a.Card,{children:i.sessions.filter(e=>"queue"===e.routing).slice(0,3).map(e=>(0,s.jsx)(v,{session:{...e,candidates:e.task_key?[e.task_key]:[]}},e.id))})]}),0===i.session_count&&!i.active&&(0,s.jsxs)("div",{className:"rounded-xl border py-16 text-center",style:{borderColor:"var(--rule)",background:"var(--surface)"},children:[(0,s.jsx)("p",{className:"text-[13px]",style:{color:"var(--ink-3)"},children:"No activity captured today"}),(0,s.jsx)("p",{className:"text-[11px] mt-1",style:{color:"var(--ink-4)"},children:"Start meridian to begin tracking"})]})]})}],72868)},65906,e=>{e.n(e.i(72868))}]);
@@ -0,0 +1 @@
1
+ (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,45540,e=>{"use strict";var t=e.i(80663),s=e.i(56916),r=e.i(29987);function a(e=0){let t=new Date;t.setDate(t.getDate()+e);let s=t.getFullYear(),r=String(t.getMonth()+1).padStart(2,"0"),l=String(t.getDate()).padStart(2,"0");return`${s}-${r}-${l}`}let l={drafted:{label:"Draft",color:"var(--ink-3)"},approved:{label:"Approved",color:"var(--accent)"},posted:{label:"Posted",color:"#2F9E44"},skipped:{label:"Dismissed",color:"var(--ink-4)"},failed:{label:"Failed",color:"#E03131"}};function o(e,t){let s=new Date(`${e}T12:00:00`);s.setDate(s.getDate()+t);let r=new Date;if(r.setHours(12,0,0,0),s>r)return e;let a=s.getFullYear(),l=String(s.getMonth()+1).padStart(2,"0"),o=String(s.getDate()).padStart(2,"0");return`${a}-${l}-${o}`}function n({w:e,busy:a,onApprove:o,onReject:i,onUnapprove:d,onSave:c}){let[p,x]=(0,s.useState)(!1),[m,u]=(0,s.useState)(e.summary),[v,h]=(0,s.useState)(!1),y=l[e.state]??{label:e.state,color:"var(--ink-3)"},k="posted"===e.state;return(0,s.useEffect)(()=>{u(e.summary)},[e.summary]),(0,t.jsx)("div",{className:"rounded-xl border overflow-hidden",style:{borderColor:"var(--rule)",background:"var(--surface)"},children:(0,t.jsxs)("div",{className:"px-5 py-4",children:[(0,t.jsxs)("div",{className:"flex items-center gap-3",children:[(0,t.jsx)(r.TaskKey,{keyId:e.task_key}),(0,t.jsx)("span",{className:"font-mono tnum text-[11px]",style:{color:"var(--ink-3)"},children:(0,r.fmtClock)(e.window_start)}),(0,t.jsx)("span",{className:"text-[11px]",style:{color:"var(--ink-4)"},children:"·"}),(0,t.jsx)("span",{className:"font-mono tnum text-[11px]",style:{color:"var(--ink-3)"},children:(0,r.fmtDur)(e.time_spent_seconds)}),(0,t.jsx)(r.ConfidenceRing,{value:e.confidence}),e.edited&&(0,t.jsx)("span",{className:"text-[10px] uppercase tracking-[0.12em]",style:{color:"var(--ink-4)"},children:"edited"}),(0,t.jsx)("span",{className:"ml-auto text-[10px] uppercase tracking-[0.14em] px-2 py-0.5 rounded",style:{color:y.color,border:`1px solid ${y.color}`},children:y.label})]}),e.risk_flags.length>0&&(0,t.jsx)("div",{className:"flex flex-wrap gap-1.5 mt-2",children:e.risk_flags.map(e=>(0,t.jsxs)("span",{className:"text-[10px] px-1.5 py-0.5 rounded font-mono",style:{background:"var(--tint)",color:"#B45309",border:"1px solid var(--rule-2)"},children:["⚑ ",e]},e))}),(0,t.jsx)("div",{className:"mt-3",children:p&&!k?(0,t.jsxs)("div",{children:[(0,t.jsx)("textarea",{value:m,onChange:e=>u(e.target.value),rows:4,className:"w-full px-3 py-2 rounded-md text-[13px] leading-relaxed",style:{background:"var(--surface-2)",border:"1px solid var(--rule-2)",color:"var(--ink)",outline:"none",resize:"vertical"}}),(0,t.jsxs)("div",{className:"flex items-center gap-2 mt-2",children:[(0,t.jsx)("button",{onClick:()=>{c(m),x(!1)},disabled:a,className:"px-3 py-1 rounded-md text-[12px]",style:{background:"var(--ink)",color:"var(--paper)"},children:"Save"}),(0,t.jsx)("button",{onClick:()=>{u(e.summary),x(!1)},className:"px-3 py-1 rounded-md text-[12px]",style:{color:"var(--ink-3)",border:"1px solid var(--rule-2)"},children:"Cancel"}),(0,t.jsx)("span",{className:"text-[10px]",style:{color:"var(--ink-4)"},children:"saving re-drafts an approved worklog"})]})]}):(0,t.jsx)("p",{className:"text-[13px] leading-relaxed whitespace-pre-wrap",style:{color:e.summary?"var(--ink)":"var(--ink-4)"},children:e.summary||"(empty — nothing to post; edit to add a comment)"})}),e.last_post_error&&(0,t.jsxs)("p",{className:"text-[11px] mt-2 font-mono",style:{color:"#E03131"},children:["post error: ",e.last_post_error]}),k&&e.posted_worklog_id&&(0,t.jsxs)("p",{className:"text-[11px] mt-2",style:{color:"#2F9E44"},children:["✓ posted to Jira · worklog ",e.posted_worklog_id]}),(e.bullets.length>0||e.next_steps.length>0)&&(0,t.jsxs)("button",{onClick:()=>h(e=>!e),className:"text-[11px] mt-3",style:{color:"var(--ink-3)"},children:[v?"− hide":"+ show"," supporting detail"]}),v&&(0,t.jsxs)("div",{className:"mt-2 pl-3 border-l space-y-1",style:{borderColor:"var(--rule-2)"},children:[e.bullets.map((e,s)=>(0,t.jsxs)("p",{className:"text-[12px]",style:{color:"var(--ink-2)"},children:[(0,t.jsx)("span",{className:"text-[10px] uppercase tracking-[0.1em] mr-1.5",style:{color:"var(--ink-4)"},children:e.kind}),e.text]},s)),e.next_steps.length>0&&(0,t.jsxs)("p",{className:"text-[12px] pt-1",style:{color:"var(--ink-3)"},children:[(0,t.jsx)("span",{className:"text-[10px] uppercase tracking-[0.1em] mr-1.5",style:{color:"var(--ink-4)"},children:"next"}),e.next_steps.join(" · ")]})]}),!k&&(0,t.jsxs)("div",{className:"flex items-center gap-2 mt-4",children:["approved"!==e.state?(0,t.jsx)("button",{onClick:o,disabled:a||!e.summary.trim(),className:"px-3 py-1.5 rounded-md text-[12px] transition-colors",style:{background:e.summary.trim()?"var(--accent)":"var(--rule-2)",color:"var(--paper)"},children:"Approve → post"}):(0,t.jsx)("button",{onClick:d,disabled:a,className:"px-3 py-1.5 rounded-md text-[12px]",style:{color:"var(--ink-2)",border:"1px solid var(--rule-2)"},children:"Hold (un-approve)"}),!p&&(0,t.jsx)("button",{onClick:()=>x(!0),disabled:a,className:"px-3 py-1.5 rounded-md text-[12px]",style:{color:"var(--ink-2)",border:"1px solid var(--rule-2)"},children:"Edit"}),"skipped"!==e.state&&(0,t.jsx)("button",{onClick:i,disabled:a,className:"px-3 py-1.5 rounded-md text-[12px] ml-auto",style:{color:"var(--ink-3)"},children:"Dismiss"})]})]})})}e.s(["default",0,function(){let[e,r]=(0,s.useState)(a(0)),[l,i]=(0,s.useState)([]),[d,c]=(0,s.useState)({}),[p,x]=(0,s.useState)(!0),[m,u]=(0,s.useState)(null),v=(0,s.useCallback)(e=>{fetch(`/api/worklogs?day=${e}`).then(e=>e.json()).then(e=>{i(e.items??[]),c(e.counts??{}),x(!1)}).catch(()=>x(!1))},[]);async function h(t,s){u(t);try{let e=await s();if(!e.ok){let t=await e.json().catch(()=>({}));alert(t.error??"Action failed")}}finally{u(null),v(e)}}(0,s.useEffect)(()=>{x(!0),v(e);let t=setInterval(()=>v(e),3e4);return()=>clearInterval(t)},[e,v]);let y=(e,t)=>h(e,()=>fetch(`/api/worklogs/${e}`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:t})})),k=l.filter(e=>"drafted"===e.state&&e.summary.trim()).map(e=>e.id);async function g(){u(-1);try{await Promise.all(k.map(e=>fetch(`/api/worklogs/${e}`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:"approve"})})))}finally{u(null),v(e)}}let f=e===a(0);return(0,t.jsxs)("div",{className:"space-y-8",children:[(0,t.jsxs)("header",{className:"rise flex items-end justify-between gap-4",children:[(0,t.jsxs)("div",{children:[(0,t.jsx)("p",{className:"text-[11px] uppercase tracking-[0.2em]",style:{color:"var(--ink-3)"},children:"Worklog review"}),(0,t.jsx)("h1",{className:"font-serif text-[56px] leading-[1] tracking-tight mt-1",style:{color:"var(--ink)"},children:"Approve before it posts"}),(0,t.jsx)("p",{className:"mt-3 text-[14px] max-w-prose",style:{color:"var(--ink-2)"},children:"Nothing reaches Jira until you approve it. Edit the comment if it's off, then approve — the daemon posts approved worklogs within a minute."})]}),(0,t.jsxs)("div",{className:"text-right shrink-0",children:[(0,t.jsxs)("div",{className:"flex items-center gap-1 justify-end",children:[(0,t.jsx)("button",{onClick:()=>r(e=>o(e,-1)),className:"px-2 py-1 rounded-md text-[13px]",style:{color:"var(--ink-3)",border:"1px solid var(--rule-2)"},children:"←"}),(0,t.jsx)("span",{className:"font-mono tnum text-[12px] px-2",style:{color:"var(--ink-2)"},children:f?"Today":e}),(0,t.jsx)("button",{onClick:()=>r(e=>o(e,1)),disabled:f,className:"px-2 py-1 rounded-md text-[13px]",style:{color:f?"var(--ink-4)":"var(--ink-3)",border:"1px solid var(--rule-2)"},children:"→"})]}),(0,t.jsxs)("p",{className:"text-[11px] mt-2",style:{color:"var(--ink-3)"},children:[d.drafted??0," draft · ",d.approved??0," approved · ",d.posted??0," posted"]})]})]}),k.length>0&&(0,t.jsxs)("div",{className:"flex items-center gap-3",children:[(0,t.jsx)("button",{onClick:g,disabled:-1===m,className:"px-3 py-1.5 rounded-md text-[12px] transition-colors",style:{background:"var(--accent)",color:"var(--paper)"},children:-1===m?"Approving…":`Approve all ${k.length} drafts`}),(0,t.jsx)("span",{className:"text-[11px]",style:{color:"var(--ink-4)"},children:"posts everything you haven't edited away"})]}),p?(0,t.jsx)("p",{className:"text-[13px]",style:{color:"var(--ink-3)"},children:"Loading…"}):0===l.length?(0,t.jsxs)("div",{className:"py-16 text-center rounded-xl border",style:{borderColor:"var(--rule)",background:"var(--surface)"},children:[(0,t.jsxs)("p",{className:"font-serif italic text-[24px]",style:{color:"var(--ink-2)"},children:["No worklogs ",f?"yet today":"this day","."]}),(0,t.jsx)("p",{className:"text-[12px] mt-2",style:{color:"var(--ink-3)"},children:"They appear here as the daemon drafts them, hour by hour."})]}):(0,t.jsx)("div",{className:"space-y-3",children:l.map(e=>(0,t.jsx)(n,{w:e,busy:m===e.id,onApprove:()=>y(e.id,"approve"),onReject:()=>y(e.id,"reject"),onUnapprove:()=>y(e.id,"unapprove"),onSave:t=>{let s;return s=e.id,h(s,()=>fetch(`/api/worklogs/${s}`,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({summary:t})}))}},e.id))})]})}])},75042,e=>{e.n(e.i(45540))}]);
@@ -1 +1 @@
1
- CCkrzzRwGe9MBRD4oERSo
1
+ ssYyfKouyOGsUj1971PsB
@@ -8,6 +8,8 @@
8
8
  "/api/tasks/route": "/api/tasks",
9
9
  "/api/today/route": "/api/today",
10
10
  "/api/week/route": "/api/week",
11
+ "/api/worklogs/[id]/route": "/api/worklogs/[id]",
12
+ "/api/worklogs/route": "/api/worklogs",
11
13
  "/page": "/",
12
14
  "/settings/page": "/settings"
13
15
  }
@@ -7,9 +7,9 @@
7
7
  "static/chunks/03~yq9q893hmn.js"
8
8
  ],
9
9
  "lowPriorityFiles": [
10
- "static/CCkrzzRwGe9MBRD4oERSo/_buildManifest.js",
11
- "static/CCkrzzRwGe9MBRD4oERSo/_ssgManifest.js",
12
- "static/CCkrzzRwGe9MBRD4oERSo/_clientMiddlewareManifest.js"
10
+ "static/ssYyfKouyOGsUj1971PsB/_buildManifest.js",
11
+ "static/ssYyfKouyOGsUj1971PsB/_ssgManifest.js",
12
+ "static/ssYyfKouyOGsUj1971PsB/_clientMiddlewareManifest.js"
13
13
  ],
14
14
  "rootMainFiles": [
15
15
  "static/chunks/0dot4ieb6jn6a.js",
@@ -102,8 +102,8 @@
102
102
  "dynamicRoutes": {},
103
103
  "notFoundRoutes": [],
104
104
  "preview": {
105
- "previewModeId": "eb5774f5997dd898f6e71c88660fc3ce",
106
- "previewModeSigningKey": "7319e608233b86b149e82a80107c42b64f55d79d8d9477eac8c44b032a42b697",
107
- "previewModeEncryptionKey": "c672fef32137b5e493f91b4124dc8f5555b6bc81877a07820385aac9d8241ecf"
105
+ "previewModeId": "0ced1eb40e6dfedf344e3ee528a04c03",
106
+ "previewModeSigningKey": "1a7ca7bfc3b31098726f0ccdd432c504652190e8e8ea280605170caea9999161",
107
+ "previewModeEncryptionKey": "0a005b2c32aa79a69ab8b5d2ccadc4a8bc592cb9552a2cfc3464fc34481c1ddd"
108
108
  }
109
109
  }
@@ -21,7 +21,16 @@
21
21
  "afterFiles": [],
22
22
  "fallback": []
23
23
  },
24
- "dynamicRoutes": [],
24
+ "dynamicRoutes": [
25
+ {
26
+ "page": "/api/worklogs/[id]",
27
+ "regex": "^/api/worklogs/([^/]+?)(?:/)?$",
28
+ "routeKeys": {
29
+ "nxtPid": "nxtPid"
30
+ },
31
+ "namedRegex": "^/api/worklogs/(?<nxtPid>[^/]+?)(?:/)?$"
32
+ }
33
+ ],
25
34
  "staticRoutes": [
26
35
  {
27
36
  "page": "/",
@@ -83,6 +92,12 @@
83
92
  "routeKeys": {},
84
93
  "namedRegex": "^/api/week(?:/)?$"
85
94
  },
95
+ {
96
+ "page": "/api/worklogs",
97
+ "regex": "^/api/worklogs(?:/)?$",
98
+ "routeKeys": {},
99
+ "namedRegex": "^/api/worklogs(?:/)?$"
100
+ },
86
101
  {
87
102
  "page": "/settings",
88
103
  "regex": "^/settings(?:/)?$",
@@ -1 +1 @@
1
- <!DOCTYPE html><html id="__next_error__"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/0dot4ieb6jn6a.js"/><script src="/_next/static/chunks/07w.nc21rbgvr.js" async=""></script><script src="/_next/static/chunks/0k6e32~luaz90.js" async=""></script><script src="/_next/static/chunks/turbopack-07spa5_ifkkbo.js" async=""></script><script src="/_next/static/chunks/0jgj_x4bo_4cp.js" async=""></script><meta name="next-size-adjust" content=""/><title>500: This page couldn’t load</title><style>:root {--next-error-bg: #fff;--next-error-text: #171717;--next-error-title: #171717;--next-error-message: #171717;--next-error-digest: #666666;--next-error-btn-text: #fff;--next-error-btn-bg: #171717;--next-error-btn-border: none;--next-error-btn-secondary-text: #171717;--next-error-btn-secondary-bg: transparent;--next-error-btn-secondary-border: 1px solid rgba(0,0,0,0.08);}@media (prefers-color-scheme: dark) {:root {--next-error-bg: #0a0a0a;--next-error-text: #ededed;--next-error-title: #ededed;--next-error-message: #ededed;--next-error-digest: #a0a0a0;--next-error-btn-text: #0a0a0a;--next-error-btn-bg: #ededed;--next-error-btn-border: none;--next-error-btn-secondary-text: #ededed;--next-error-btn-secondary-bg: transparent;--next-error-btn-secondary-border: 1px solid rgba(255,255,255,0.14);}}body { margin: 0; color: var(--next-error-text); background: var(--next-error-bg); }</style><script src="/_next/static/chunks/03~yq9q893hmn.js" noModule=""></script></head><body><div hidden=""><!--$--><!--/$--></div><div style="font-family:system-ui,&quot;Segoe UI&quot;,Roboto,Helvetica,Arial,sans-serif,&quot;Apple Color Emoji&quot;,&quot;Segoe UI Emoji&quot;;height:100vh;display:flex;align-items:center;justify-content:center"><div style="margin-top:-32px;max-width:325px;padding:32px 28px;text-align:left"><svg width="32" height="32" viewBox="-0.2 -1.5 32 32" fill="none" style="margin-bottom:24px"><path d="M16.9328 0C18.0839 0.000116771 19.1334 0.658832 19.634 1.69531L31.4299 26.1309C32.0708 27.4588 31.1036 28.9999 29.6291 29H2.00215C0.527541 29 -0.439628 27.4588 0.201371 26.1309L11.9973 1.69531C12.4979 0.658823 13.5474 7.75066e-05 14.6984 0H16.9328ZM3.59493 26H28.0363L16.9328 3H14.6984L3.59493 26ZM15.8156 19C16.9202 19.0001 17.8156 19.8955 17.8156 21C17.8156 22.1045 16.9202 22.9999 15.8156 23C14.7111 23 13.8156 22.1046 13.8156 21C13.8156 19.8954 14.7111 19 15.8156 19ZM17.3156 16.5H14.3156V8.5H17.3156V16.5Z" fill="var(--next-error-title)"></path></svg><h1 style="font-size:24px;font-weight:500;letter-spacing:-0.02em;line-height:32px;margin:0 0 12px 0;color:var(--next-error-title)">This page couldn’t load</h1><p style="font-size:14px;font-weight:400;line-height:21px;margin:0 0 20px 0;color:var(--next-error-message)">A server error occurred. Reload to try again.</p><form style="margin:0"><button type="submit" style="display:inline-flex;align-items:center;justify-content:center;height:32px;padding:0 12px;font-size:14px;font-weight:500;line-height:20px;border-radius:6px;cursor:pointer;color:var(--next-error-btn-text);background:var(--next-error-btn-bg);border:var(--next-error-btn-border)">Reload</button></form></div></div><!--$--><!--/$--><script src="/_next/static/chunks/0dot4ieb6jn6a.js" id="_R_" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0])</script><script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n2:I[15838,[\"/_next/static/chunks/0jgj_x4bo_4cp.js\"],\"default\"]\n3:I[7840,[\"/_next/static/chunks/0jgj_x4bo_4cp.js\"],\"default\"]\n4:I[22556,[\"/_next/static/chunks/0jgj_x4bo_4cp.js\"],\"OutletBoundary\"]\n5:\"$Sreact.suspense\"\n8:I[22556,[\"/_next/static/chunks/0jgj_x4bo_4cp.js\"],\"ViewportBoundary\"]\na:I[22556,[\"/_next/static/chunks/0jgj_x4bo_4cp.js\"],\"MetadataBoundary\"]\nc:I[32435,[\"/_next/static/chunks/0jgj_x4bo_4cp.js\"],\"default\",1]\n"])</script><script>self.__next_f.push([1,"0:{\"P\":null,\"c\":[\"\",\"_global-error\"],\"q\":\"\",\"i\":false,\"f\":[[[\"\",{\"children\":[\"__PAGE__\",{}]}],[[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L2\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L3\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[[\"$\",\"html\",null,{\"id\":\"__next_error__\",\"children\":[[\"$\",\"head\",null,{\"children\":[[\"$\",\"title\",null,{\"children\":\"500: This page couldn’t load\"}],[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\":root {--next-error-bg: #fff;--next-error-text: #171717;--next-error-title: #171717;--next-error-message: #171717;--next-error-digest: #666666;--next-error-btn-text: #fff;--next-error-btn-bg: #171717;--next-error-btn-border: none;--next-error-btn-secondary-text: #171717;--next-error-btn-secondary-bg: transparent;--next-error-btn-secondary-border: 1px solid rgba(0,0,0,0.08);}@media (prefers-color-scheme: dark) {:root {--next-error-bg: #0a0a0a;--next-error-text: #ededed;--next-error-title: #ededed;--next-error-message: #ededed;--next-error-digest: #a0a0a0;--next-error-btn-text: #0a0a0a;--next-error-btn-bg: #ededed;--next-error-btn-border: none;--next-error-btn-secondary-text: #ededed;--next-error-btn-secondary-bg: transparent;--next-error-btn-secondary-border: 1px solid rgba(255,255,255,0.14);}}body { margin: 0; color: var(--next-error-text); background: var(--next-error-bg); }\"}}]]}],[\"$\",\"body\",null,{\"children\":[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"display\":\"flex\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"style\":{\"marginTop\":\"-32px\",\"maxWidth\":\"325px\",\"padding\":\"32px 28px\",\"textAlign\":\"left\"},\"children\":[[\"$\",\"svg\",null,{\"width\":\"32\",\"height\":\"32\",\"viewBox\":\"-0.2 -1.5 32 32\",\"fill\":\"none\",\"style\":{\"marginBottom\":\"24px\"},\"children\":[\"$\",\"path\",null,{\"d\":\"M16.9328 0C18.0839 0.000116771 19.1334 0.658832 19.634 1.69531L31.4299 26.1309C32.0708 27.4588 31.1036 28.9999 29.6291 29H2.00215C0.527541 29 -0.439628 27.4588 0.201371 26.1309L11.9973 1.69531C12.4979 0.658823 13.5474 7.75066e-05 14.6984 0H16.9328ZM3.59493 26H28.0363L16.9328 3H14.6984L3.59493 26ZM15.8156 19C16.9202 19.0001 17.8156 19.8955 17.8156 21C17.8156 22.1045 16.9202 22.9999 15.8156 23C14.7111 23 13.8156 22.1046 13.8156 21C13.8156 19.8954 14.7111 19 15.8156 19ZM17.3156 16.5H14.3156V8.5H17.3156V16.5Z\",\"fill\":\"var(--next-error-title)\"}]}],[\"$\",\"h1\",null,{\"style\":{\"fontSize\":\"24px\",\"fontWeight\":500,\"letterSpacing\":\"-0.02em\",\"lineHeight\":\"32px\",\"margin\":\"0 0 12px 0\",\"color\":\"var(--next-error-title)\"},\"children\":\"This page couldn’t load\"}],[\"$\",\"p\",null,{\"style\":{\"fontSize\":\"14px\",\"fontWeight\":400,\"lineHeight\":\"21px\",\"margin\":\"0 0 20px 0\",\"color\":\"var(--next-error-message)\"},\"children\":\"A server error occurred. Reload to try again.\"}],[\"$\",\"form\",null,{\"style\":{\"margin\":0},\"children\":[\"$\",\"button\",null,{\"type\":\"submit\",\"style\":{\"display\":\"inline-flex\",\"alignItems\":\"center\",\"justifyContent\":\"center\",\"height\":\"32px\",\"padding\":\"0 12px\",\"fontSize\":\"14px\",\"fontWeight\":500,\"lineHeight\":\"20px\",\"borderRadius\":\"6px\",\"cursor\":\"pointer\",\"color\":\"var(--next-error-btn-text)\",\"background\":\"var(--next-error-btn-bg)\",\"border\":\"var(--next-error-btn-border)\"},\"children\":\"Reload\"}]}]]}]}]}]]}],null,[\"$\",\"$L4\",null,{\"children\":[\"$\",\"$5\",null,{\"name\":\"Next.MetadataOutlet\",\"children\":\"$@6\"}]}]]}],{},null,false,null]},null,false,\"$@7\"],[\"$\",\"$1\",\"h\",{\"children\":[null,[\"$\",\"$L8\",null,{\"children\":\"$L9\"}],[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$La\",null,{\"children\":[\"$\",\"$5\",null,{\"name\":\"Next.Metadata\",\"children\":\"$Lb\"}]}]}],[\"$\",\"meta\",null,{\"name\":\"next-size-adjust\",\"content\":\"\"}]]}],false]],\"m\":\"$undefined\",\"G\":[\"$c\",[]],\"S\":true,\"h\":null,\"s\":\"$undefined\",\"l\":\"$undefined\",\"p\":\"$undefined\",\"d\":\"$undefined\",\"b\":\"CCkrzzRwGe9MBRD4oERSo\"}\n"])</script><script>self.__next_f.push([1,"d:[]\n7:\"$Wd\"\n"])</script><script>self.__next_f.push([1,"9:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}]]\n"])</script><script>self.__next_f.push([1,"6:null\nb:[]\n"])</script></body></html>
1
+ <!DOCTYPE html><html id="__next_error__"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/0dot4ieb6jn6a.js"/><script src="/_next/static/chunks/07w.nc21rbgvr.js" async=""></script><script src="/_next/static/chunks/0k6e32~luaz90.js" async=""></script><script src="/_next/static/chunks/turbopack-07spa5_ifkkbo.js" async=""></script><script src="/_next/static/chunks/0jgj_x4bo_4cp.js" async=""></script><meta name="next-size-adjust" content=""/><title>500: This page couldn’t load</title><style>:root {--next-error-bg: #fff;--next-error-text: #171717;--next-error-title: #171717;--next-error-message: #171717;--next-error-digest: #666666;--next-error-btn-text: #fff;--next-error-btn-bg: #171717;--next-error-btn-border: none;--next-error-btn-secondary-text: #171717;--next-error-btn-secondary-bg: transparent;--next-error-btn-secondary-border: 1px solid rgba(0,0,0,0.08);}@media (prefers-color-scheme: dark) {:root {--next-error-bg: #0a0a0a;--next-error-text: #ededed;--next-error-title: #ededed;--next-error-message: #ededed;--next-error-digest: #a0a0a0;--next-error-btn-text: #0a0a0a;--next-error-btn-bg: #ededed;--next-error-btn-border: none;--next-error-btn-secondary-text: #ededed;--next-error-btn-secondary-bg: transparent;--next-error-btn-secondary-border: 1px solid rgba(255,255,255,0.14);}}body { margin: 0; color: var(--next-error-text); background: var(--next-error-bg); }</style><script src="/_next/static/chunks/03~yq9q893hmn.js" noModule=""></script></head><body><div hidden=""><!--$--><!--/$--></div><div style="font-family:system-ui,&quot;Segoe UI&quot;,Roboto,Helvetica,Arial,sans-serif,&quot;Apple Color Emoji&quot;,&quot;Segoe UI Emoji&quot;;height:100vh;display:flex;align-items:center;justify-content:center"><div style="margin-top:-32px;max-width:325px;padding:32px 28px;text-align:left"><svg width="32" height="32" viewBox="-0.2 -1.5 32 32" fill="none" style="margin-bottom:24px"><path d="M16.9328 0C18.0839 0.000116771 19.1334 0.658832 19.634 1.69531L31.4299 26.1309C32.0708 27.4588 31.1036 28.9999 29.6291 29H2.00215C0.527541 29 -0.439628 27.4588 0.201371 26.1309L11.9973 1.69531C12.4979 0.658823 13.5474 7.75066e-05 14.6984 0H16.9328ZM3.59493 26H28.0363L16.9328 3H14.6984L3.59493 26ZM15.8156 19C16.9202 19.0001 17.8156 19.8955 17.8156 21C17.8156 22.1045 16.9202 22.9999 15.8156 23C14.7111 23 13.8156 22.1046 13.8156 21C13.8156 19.8954 14.7111 19 15.8156 19ZM17.3156 16.5H14.3156V8.5H17.3156V16.5Z" fill="var(--next-error-title)"></path></svg><h1 style="font-size:24px;font-weight:500;letter-spacing:-0.02em;line-height:32px;margin:0 0 12px 0;color:var(--next-error-title)">This page couldn’t load</h1><p style="font-size:14px;font-weight:400;line-height:21px;margin:0 0 20px 0;color:var(--next-error-message)">A server error occurred. Reload to try again.</p><form style="margin:0"><button type="submit" style="display:inline-flex;align-items:center;justify-content:center;height:32px;padding:0 12px;font-size:14px;font-weight:500;line-height:20px;border-radius:6px;cursor:pointer;color:var(--next-error-btn-text);background:var(--next-error-btn-bg);border:var(--next-error-btn-border)">Reload</button></form></div></div><!--$--><!--/$--><script src="/_next/static/chunks/0dot4ieb6jn6a.js" id="_R_" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0])</script><script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n2:I[15838,[\"/_next/static/chunks/0jgj_x4bo_4cp.js\"],\"default\"]\n3:I[7840,[\"/_next/static/chunks/0jgj_x4bo_4cp.js\"],\"default\"]\n4:I[22556,[\"/_next/static/chunks/0jgj_x4bo_4cp.js\"],\"OutletBoundary\"]\n5:\"$Sreact.suspense\"\n8:I[22556,[\"/_next/static/chunks/0jgj_x4bo_4cp.js\"],\"ViewportBoundary\"]\na:I[22556,[\"/_next/static/chunks/0jgj_x4bo_4cp.js\"],\"MetadataBoundary\"]\nc:I[32435,[\"/_next/static/chunks/0jgj_x4bo_4cp.js\"],\"default\",1]\n"])</script><script>self.__next_f.push([1,"0:{\"P\":null,\"c\":[\"\",\"_global-error\"],\"q\":\"\",\"i\":false,\"f\":[[[\"\",{\"children\":[\"__PAGE__\",{}]}],[[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L2\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L3\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[[\"$\",\"html\",null,{\"id\":\"__next_error__\",\"children\":[[\"$\",\"head\",null,{\"children\":[[\"$\",\"title\",null,{\"children\":\"500: This page couldn’t load\"}],[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\":root {--next-error-bg: #fff;--next-error-text: #171717;--next-error-title: #171717;--next-error-message: #171717;--next-error-digest: #666666;--next-error-btn-text: #fff;--next-error-btn-bg: #171717;--next-error-btn-border: none;--next-error-btn-secondary-text: #171717;--next-error-btn-secondary-bg: transparent;--next-error-btn-secondary-border: 1px solid rgba(0,0,0,0.08);}@media (prefers-color-scheme: dark) {:root {--next-error-bg: #0a0a0a;--next-error-text: #ededed;--next-error-title: #ededed;--next-error-message: #ededed;--next-error-digest: #a0a0a0;--next-error-btn-text: #0a0a0a;--next-error-btn-bg: #ededed;--next-error-btn-border: none;--next-error-btn-secondary-text: #ededed;--next-error-btn-secondary-bg: transparent;--next-error-btn-secondary-border: 1px solid rgba(255,255,255,0.14);}}body { margin: 0; color: var(--next-error-text); background: var(--next-error-bg); }\"}}]]}],[\"$\",\"body\",null,{\"children\":[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"display\":\"flex\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"style\":{\"marginTop\":\"-32px\",\"maxWidth\":\"325px\",\"padding\":\"32px 28px\",\"textAlign\":\"left\"},\"children\":[[\"$\",\"svg\",null,{\"width\":\"32\",\"height\":\"32\",\"viewBox\":\"-0.2 -1.5 32 32\",\"fill\":\"none\",\"style\":{\"marginBottom\":\"24px\"},\"children\":[\"$\",\"path\",null,{\"d\":\"M16.9328 0C18.0839 0.000116771 19.1334 0.658832 19.634 1.69531L31.4299 26.1309C32.0708 27.4588 31.1036 28.9999 29.6291 29H2.00215C0.527541 29 -0.439628 27.4588 0.201371 26.1309L11.9973 1.69531C12.4979 0.658823 13.5474 7.75066e-05 14.6984 0H16.9328ZM3.59493 26H28.0363L16.9328 3H14.6984L3.59493 26ZM15.8156 19C16.9202 19.0001 17.8156 19.8955 17.8156 21C17.8156 22.1045 16.9202 22.9999 15.8156 23C14.7111 23 13.8156 22.1046 13.8156 21C13.8156 19.8954 14.7111 19 15.8156 19ZM17.3156 16.5H14.3156V8.5H17.3156V16.5Z\",\"fill\":\"var(--next-error-title)\"}]}],[\"$\",\"h1\",null,{\"style\":{\"fontSize\":\"24px\",\"fontWeight\":500,\"letterSpacing\":\"-0.02em\",\"lineHeight\":\"32px\",\"margin\":\"0 0 12px 0\",\"color\":\"var(--next-error-title)\"},\"children\":\"This page couldn’t load\"}],[\"$\",\"p\",null,{\"style\":{\"fontSize\":\"14px\",\"fontWeight\":400,\"lineHeight\":\"21px\",\"margin\":\"0 0 20px 0\",\"color\":\"var(--next-error-message)\"},\"children\":\"A server error occurred. Reload to try again.\"}],[\"$\",\"form\",null,{\"style\":{\"margin\":0},\"children\":[\"$\",\"button\",null,{\"type\":\"submit\",\"style\":{\"display\":\"inline-flex\",\"alignItems\":\"center\",\"justifyContent\":\"center\",\"height\":\"32px\",\"padding\":\"0 12px\",\"fontSize\":\"14px\",\"fontWeight\":500,\"lineHeight\":\"20px\",\"borderRadius\":\"6px\",\"cursor\":\"pointer\",\"color\":\"var(--next-error-btn-text)\",\"background\":\"var(--next-error-btn-bg)\",\"border\":\"var(--next-error-btn-border)\"},\"children\":\"Reload\"}]}]]}]}]}]]}],null,[\"$\",\"$L4\",null,{\"children\":[\"$\",\"$5\",null,{\"name\":\"Next.MetadataOutlet\",\"children\":\"$@6\"}]}]]}],{},null,false,null]},null,false,\"$@7\"],[\"$\",\"$1\",\"h\",{\"children\":[null,[\"$\",\"$L8\",null,{\"children\":\"$L9\"}],[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$La\",null,{\"children\":[\"$\",\"$5\",null,{\"name\":\"Next.Metadata\",\"children\":\"$Lb\"}]}]}],[\"$\",\"meta\",null,{\"name\":\"next-size-adjust\",\"content\":\"\"}]]}],false]],\"m\":\"$undefined\",\"G\":[\"$c\",[]],\"S\":true,\"h\":null,\"s\":\"$undefined\",\"l\":\"$undefined\",\"p\":\"$undefined\",\"d\":\"$undefined\",\"b\":\"ssYyfKouyOGsUj1971PsB\"}\n"])</script><script>self.__next_f.push([1,"d:[]\n7:\"$Wd\"\n"])</script><script>self.__next_f.push([1,"9:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}]]\n"])</script><script>self.__next_f.push([1,"6:null\nb:[]\n"])</script></body></html>