cctally 1.32.0 → 1.33.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.
package/CHANGELOG.md CHANGED
@@ -5,6 +5,14 @@ based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/).
5
5
 
6
6
  ## [Unreleased]
7
7
 
8
+ ## [1.33.0] - 2026-06-11
9
+
10
+ ### Added
11
+ - Dashboard conversation reader: URL deep-linking — selecting a conversation or landing a turn jump now reflects into the address-bar hash (`#/conversations/<id>/<turn>`), reloads and Back/Forward restore that state, and every conversation turn gains a permalink button that copies a link straight to that turn (local-first; the link only resolves for someone who can already reach your dashboard). Closes #169, #174.
12
+
13
+ ### Fixed
14
+ - **The dashboard conversation reader now nests a skill's content inside its Skill tool call.** Previously a Skill invocation's loaded markdown body rendered as a separate collapsed "Skill content" pill below the assistant turn (visually detached from the Skill tool chip that produced it). The body now folds into the Skill tool chip itself as its expandable, rich-Markdown content (the redundant "Launching skill: <name>" line is dropped); SessionStart-injected skills, which have no Skill tool call, still render the standalone pill. The fix lands on existing history automatically the next time the dashboard syncs the conversation cache (a one-time re-ingest; the cache is re-derivable).
15
+
8
16
  ## [1.32.0] - 2026-06-10
9
17
 
10
18
  ### Added
@@ -183,8 +183,8 @@ _CONV_INSERT_SQL = (
183
183
  "INSERT OR IGNORE INTO conversation_messages"
184
184
  "(session_id,uuid,parent_uuid,source_path,byte_offset,"
185
185
  " timestamp_utc,entry_type,text,blocks_json,model,msg_id,"
186
- " req_id,cwd,git_branch,is_sidechain)"
187
- " VALUES(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)"
186
+ " req_id,cwd,git_branch,is_sidechain,source_tool_use_id)"
187
+ " VALUES(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)"
188
188
  )
189
189
 
190
190
 
@@ -194,6 +194,7 @@ def _conv_row_tuple(m, path_str):
194
194
  m.session_id, m.uuid, m.parent_uuid, path_str, m.byte_offset,
195
195
  m.timestamp_utc, m.entry_type, m.text, m.blocks_json, m.model,
196
196
  m.msg_id, m.req_id, m.cwd, m.git_branch, m.is_sidechain,
197
+ m.source_tool_use_id,
197
198
  )
198
199
 
199
200
 
@@ -618,9 +619,14 @@ def sync_cache(
618
619
  # (idempotent but wasteful) clear+backfill pass. #166 migration 004
619
620
  # also sets this same flag (to land the subagent kind/meta fields);
620
621
  # the rebuild re-derives those fields via the same offset-0 walk, so
621
- # dropping the flag here covers the 004 reingest too.
622
+ # dropping the flag here covers the 004 reingest too. Migration 006
623
+ # sets the DISTINCT conversation_source_tool_use_reingest_pending
624
+ # flag (to land source_tool_use_id); the same offset-0 walk re-derives
625
+ # it, so drop that flag here as well to avoid a redundant pass.
622
626
  conn.execute(
623
- "DELETE FROM cache_meta WHERE key='conversation_reingest_pending'")
627
+ "DELETE FROM cache_meta WHERE key IN "
628
+ "('conversation_reingest_pending',"
629
+ " 'conversation_source_tool_use_reingest_pending')")
624
630
  conn.commit()
625
631
  eprint("[cache-sync] rebuild: cleared Claude cached entries")
626
632
 
@@ -676,11 +682,18 @@ def sync_cache(
676
682
  # so those fields land here with zero new consumption code. Migration
677
683
  # 005 reuses it again to reclassify injected isMeta rows from
678
684
  # entry_type='human' to 'meta' (so the reader stops attributing skill
679
- # bodies / git-context to the user).
685
+ # bodies / git-context to the user). Migration 006 uses a DISTINCT
686
+ # flag ``conversation_source_tool_use_reingest_pending`` (NOT the
687
+ # shared one) to land the message-level ``source_tool_use_id`` — the
688
+ # shared flag also gates the kernel's 005 human-fallback, so re-arming
689
+ # it for 006 could misclassify a genuine human prompt during the
690
+ # pre-reingest window. We trigger the SAME clear + offset-0 backfill on
691
+ # EITHER flag and clear BOTH atomically here under the held flock.
680
692
  try:
681
693
  _reingest = conn.execute(
682
- "SELECT 1 FROM cache_meta "
683
- "WHERE key='conversation_reingest_pending'"
694
+ "SELECT 1 FROM cache_meta WHERE key IN "
695
+ "('conversation_reingest_pending',"
696
+ " 'conversation_source_tool_use_reingest_pending')"
684
697
  ).fetchone() is not None
685
698
  except sqlite3.OperationalError:
686
699
  _reingest = False
@@ -688,8 +701,9 @@ def sync_cache(
688
701
  clear_conversation_messages(conn)
689
702
  backfill_conversation_messages(conn)
690
703
  conn.execute(
691
- "DELETE FROM cache_meta "
692
- "WHERE key='conversation_reingest_pending'"
704
+ "DELETE FROM cache_meta WHERE key IN "
705
+ "('conversation_reingest_pending',"
706
+ " 'conversation_source_tool_use_reingest_pending')"
693
707
  )
694
708
  conn.commit()
695
709
 
@@ -2331,6 +2331,7 @@ def _apply_cache_schema(conn: sqlite3.Connection) -> None:
2331
2331
  cwd TEXT,
2332
2332
  git_branch TEXT,
2333
2333
  is_sidechain INTEGER NOT NULL DEFAULT 0,
2334
+ source_tool_use_id TEXT,
2334
2335
  UNIQUE(source_path, byte_offset)
2335
2336
  );
2336
2337
  CREATE INDEX IF NOT EXISTS idx_conv_session_ts
@@ -2383,6 +2384,11 @@ def _apply_cache_schema(conn: sqlite3.Connection) -> None:
2383
2384
  # populated lazily in sync_cache() / _ensure_session_files_row().
2384
2385
  add_column_if_missing(conn, "session_files", "session_id", "TEXT")
2385
2386
  add_column_if_missing(conn, "session_files", "project_path", "TEXT")
2387
+ # Existing-DB guard for the skill-content fold link (cctally-dev
2388
+ # skill-content-nesting): the message-level sourceToolUseID. Idempotent
2389
+ # column-add (no marker, no version); cache migration 006 then re-ingests
2390
+ # so the value actually lands on historical rows.
2391
+ add_column_if_missing(conn, "conversation_messages", "source_tool_use_id", "TEXT")
2386
2392
  conn.execute(
2387
2393
  "CREATE INDEX IF NOT EXISTS idx_session_files_session_id "
2388
2394
  "ON session_files(session_id)"
@@ -3044,6 +3050,30 @@ def _005_conversation_reingest_meta(conn: sqlite3.Connection) -> None:
3044
3050
  conn.commit()
3045
3051
 
3046
3052
 
3053
+ @cache_migration("006_conversation_reingest_source_tool_use_id")
3054
+ def _006_conversation_reingest_source_tool_use_id(conn: sqlite3.Connection) -> None:
3055
+ """Flag-only re-ingest of conversation_messages so the message-level
3056
+ ``sourceToolUseID`` lands on existing history as the new
3057
+ ``source_tool_use_id`` column — the link the reader uses to fold a
3058
+ Skill-invoked skill body into its Skill tool chip.
3059
+
3060
+ Sets a DISTINCT flag, ``conversation_source_tool_use_reingest_pending``,
3061
+ NOT the shared ``conversation_reingest_pending``. The shared flag also gates
3062
+ migration 005's read-time *human*-fallback (``_reingest_pending`` in the
3063
+ query kernel); re-arming it here would re-enable that fallback after it was
3064
+ consumed and could misclassify a genuine human prompt that happens to start
3065
+ with the skill preamble as a collapsed skill pill during 006's pre-reingest
3066
+ window. sync_cache consumes EITHER flag (clear + offset-0 backfill under the
3067
+ cache.db.lock flock) and the offset-0 walk re-parses every JSONL through the
3068
+ sourceToolUseID-aware parser, so the column lands with zero new consumption
3069
+ code. A distinct ``schema_migrations`` marker is what triggers this reingest
3070
+ on installs already at 005. Central stamp via the dispatcher (issue #140); a
3071
+ fresh install stamps it without running (empty table -> the flag, if ever
3072
+ set, is a harmless no-op)."""
3073
+ _set_cache_meta(conn, "conversation_source_tool_use_reingest_pending", "1")
3074
+ conn.commit()
3075
+
3076
+
3047
3077
  # === Region 7d: Stats migration 008_recompute_weekly_cost_snapshots_dedup_fix ===
3048
3078
 
3049
3079
  @stats_migration("008_recompute_weekly_cost_snapshots_dedup_fix")
@@ -34,6 +34,7 @@ class MessageRow:
34
34
  cwd: "str | None"
35
35
  git_branch: "str | None"
36
36
  is_sidechain: int
37
+ source_tool_use_id: "str | None" = None
37
38
 
38
39
 
39
40
  def iter_message_rows(fh, path_str):
@@ -130,6 +131,7 @@ def _normalize(obj, t, offset):
130
131
  cwd=obj.get("cwd"),
131
132
  git_branch=obj.get("gitBranch"),
132
133
  is_sidechain=1 if obj.get("isSidechain") else 0,
134
+ source_tool_use_id=obj.get("sourceToolUseID"),
133
135
  )
134
136
 
135
137
 
@@ -377,7 +377,8 @@ def get_conversation(conn, session_id, *, after=None, limit=500):
377
377
  # uuid, so the first occurrence in ascending order is canonical.
378
378
  raw = conn.execute(
379
379
  "SELECT id, uuid, timestamp_utc, entry_type, text, blocks_json, model, "
380
- " msg_id, req_id, is_sidechain, cwd, git_branch, source_path, parent_uuid "
380
+ " msg_id, req_id, is_sidechain, cwd, git_branch, source_path, parent_uuid, "
381
+ " source_tool_use_id "
381
382
  "FROM conversation_messages WHERE session_id=? "
382
383
  "ORDER BY timestamp_utc, id", (session_id,)).fetchall()
383
384
 
@@ -421,7 +422,7 @@ def get_conversation(conn, session_id, *, after=None, limit=500):
421
422
 
422
423
  for row in logical:
423
424
  (rid, u, ts, etype, text, blocks, model, msg_id, req_id,
424
- is_sc, cwd, branch, source_path, parent_uuid) = row
425
+ is_sc, cwd, branch, source_path, parent_uuid, source_tool_use_id) = row
425
426
  if etype == "assistant" and msg_id is not None:
426
427
  key = (msg_id, req_id)
427
428
  idx = turn_index.get(key)
@@ -535,6 +536,39 @@ def get_conversation(conn, session_id, *, after=None, limit=500):
535
536
  it["skill_name"] = skill_name
536
537
  it["text"] = body
537
538
 
539
+ # ---- Phase 4b: fold a Skill-invoked skill body into its Skill tool chip ----
540
+ # A Skill invocation's injected body (now meta_kind='skill') links to its
541
+ # Skill tool_use via source_tool_use_id (threaded as the internal
542
+ # _source_tool_use_id). Resolve it against the SAME tooluse_index the Phase 2
543
+ # tool_result fold uses (ids unique per session; last-writer-wins). The index
544
+ # value is (item, block) holding the LIVE block dict — Phase 3 mutated that
545
+ # same dict in place to a `tool_call`, so block["skill_body"]=… mutates the
546
+ # live chip. On a hit: the body becomes the chip's expandable content
547
+ # (skill_body/skill_name), the trivial "Launching skill" result is dropped
548
+ # (result=None), the body uuid joins the owner's member_uuids (#160 jump
549
+ # anchor), and the standalone item is removed. NO hit (SessionStart skills;
550
+ # pre-006 NULL column; orphan id) -> the standalone pill stays. NULL-driven
551
+ # and flag-INDEPENDENT (it does NOT key on _reingest_pending). Runs before
552
+ # pagination so a match never depends on page boundaries.
553
+ _skill_drop = set()
554
+ for it in items:
555
+ if it.get("meta_kind") != "skill":
556
+ continue
557
+ stid = it.get("_source_tool_use_id")
558
+ if not stid:
559
+ continue
560
+ hit = tooluse_index.get(stid)
561
+ if hit is None:
562
+ continue
563
+ owner, block = hit
564
+ block["skill_body"] = it["text"]
565
+ block["skill_name"] = it.get("skill_name")
566
+ block["result"] = None
567
+ owner["member_uuids"].append(it["anchor"]["uuid"])
568
+ _skill_drop.add(id(it))
569
+ if _skill_drop:
570
+ items = [it for it in items if id(it) not in _skill_drop]
571
+
538
572
  costs = _turn_cost_map(conn, list(turn_index))
539
573
  # Stamp per-item cost first, then derive the header from the SUM of the
540
574
  # ROUNDED per-item assistant costs (M2) — so the §6.5 invariant
@@ -553,6 +587,12 @@ def get_conversation(conn, session_id, *, after=None, limit=500):
553
587
  it.pop("_has_prose", None)
554
588
  header_cost = round(header_cost, 6)
555
589
 
590
+ # Strip the internal Phase-4b threading key from EVERY item (meta/human items
591
+ # carry it too, not just assistant turns) so it never surfaces in the public
592
+ # item JSON.
593
+ for it in items:
594
+ it.pop("_source_tool_use_id", None)
595
+
556
596
  # Cursor pagination over the item list (anchored to each item's canonical id).
557
597
  # A non-None `after` that matches no item's anchor (stale/deleted cursor)
558
598
  # yields an EMPTY page — never silently re-serves the head (M1).
@@ -636,6 +676,10 @@ def _build_turn(members):
636
676
  "parent_uuid": first[13],
637
677
  "_msg_id": first[7],
638
678
  "_req_id": first[8],
679
+ # Internal threading for the Phase 4b skill-body fold (analogous to
680
+ # _msg_id/_req_id); consumed + del'd before items are returned, never in
681
+ # the public JSON. Meaningful only on meta skill items, harmless here.
682
+ "_source_tool_use_id": first[14],
639
683
  "_has_prose": False,
640
684
  }
641
685
  _fold_fragment(item, first)
@@ -682,7 +726,7 @@ def _build_simple(row):
682
726
  internal _msg_id/_req_id keys, so the cost loop's KeyError path can never fire
683
727
  (I2). The model is preserved for assistant rows."""
684
728
  (rid, u, ts, etype, text, blocks, model, msg_id, req_id, is_sc, cwd, branch,
685
- source_path, parent_uuid) = row
729
+ source_path, parent_uuid, source_tool_use_id) = row
686
730
  try:
687
731
  parsed = _json.loads(blocks or "[]")
688
732
  except (ValueError, TypeError):
@@ -697,6 +741,10 @@ def _build_simple(row):
697
741
  "is_sidechain": bool(is_sc),
698
742
  "subagent_key": _subagent_key(source_path),
699
743
  "parent_uuid": parent_uuid,
744
+ # Internal threading for the Phase 4b skill-body fold (consumed + del'd
745
+ # before return). Carried on every simple item; meaningful only on the
746
+ # meta skill body row.
747
+ "_source_tool_use_id": source_tool_use_id,
700
748
  }
701
749
  if etype == "assistant":
702
750
  item["model"] = model
@@ -1 +1 @@
1
- @font-face{font-family:Newsreader;font-style:normal;font-display:swap;font-weight:400;src:url(/static/assets/newsreader-vietnamese-400-normal-DdKr49mV.woff2)format("woff2"),url(/static/assets/newsreader-vietnamese-400-normal-BekUZro8.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Newsreader;font-style:normal;font-display:swap;font-weight:400;src:url(/static/assets/newsreader-latin-ext-400-normal-svq1FPys.woff2)format("woff2"),url(/static/assets/newsreader-latin-ext-400-normal-DYA1XoQK.woff)format("woff");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:Newsreader;font-style:normal;font-display:swap;font-weight:400;src:url(/static/assets/newsreader-latin-400-normal-BFBkh4jY.woff2)format("woff2"),url(/static/assets/newsreader-latin-400-normal-gRTjlS2D.woff)format("woff");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:Newsreader;font-style:normal;font-display:swap;font-weight:500;src:url(/static/assets/newsreader-vietnamese-500-normal-CL6a8tp2.woff2)format("woff2"),url(/static/assets/newsreader-vietnamese-500-normal-BEAbKU8A.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Newsreader;font-style:normal;font-display:swap;font-weight:500;src:url(/static/assets/newsreader-latin-ext-500-normal-BNHmvKvI.woff2)format("woff2"),url(/static/assets/newsreader-latin-ext-500-normal-CZruMFou.woff)format("woff");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:Newsreader;font-style:normal;font-display:swap;font-weight:500;src:url(/static/assets/newsreader-latin-500-normal-B66TYsaK.woff2)format("woff2"),url(/static/assets/newsreader-latin-500-normal-DFwuUcdu.woff)format("woff");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:Newsreader;font-style:normal;font-display:swap;font-weight:600;src:url(/static/assets/newsreader-vietnamese-600-normal-CaH84vfx.woff2)format("woff2"),url(/static/assets/newsreader-vietnamese-600-normal-CVAR0otO.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Newsreader;font-style:normal;font-display:swap;font-weight:600;src:url(/static/assets/newsreader-latin-ext-600-normal-BXv5iMHi.woff2)format("woff2"),url(/static/assets/newsreader-latin-ext-600-normal-BrbfzHZ5.woff)format("woff");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:Newsreader;font-style:normal;font-display:swap;font-weight:600;src:url(/static/assets/newsreader-latin-600-normal-30OJ_TG_.woff2)format("woff2"),url(/static/assets/newsreader-latin-600-normal-DUnT2r2g.woff)format("woff");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:Newsreader;font-style:italic;font-display:swap;font-weight:400;src:url(/static/assets/newsreader-vietnamese-400-italic-bZegYFuM.woff2)format("woff2"),url(/static/assets/newsreader-vietnamese-400-italic-QbB8kb5s.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Newsreader;font-style:italic;font-display:swap;font-weight:400;src:url(/static/assets/newsreader-latin-ext-400-italic-BMTE_bNQ.woff2)format("woff2"),url(/static/assets/newsreader-latin-ext-400-italic-qdgKLcPG.woff)format("woff");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:Newsreader;font-style:italic;font-display:swap;font-weight:400;src:url(/static/assets/newsreader-latin-400-italic-CEihAR-f.woff2)format("woff2"),url(/static/assets/newsreader-latin-400-italic-CNZoH1hn.woff)format("woff");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}:root{--bg:#0a0b10;--panel-bg:#0d0f16;--panel-bg-2:#11131c;--border-soft:#ffffff0f;--text:#d9dde5;--text-dim:#8b92a3;--text-faint:#5a6070;--accent-green:#3ddc84;--accent-purple:#c084fc;--accent-pink:#ec4899;--accent-magenta:#d946ef;--accent-amber:#fbbf24;--accent-red:#ef4444;--accent-orange:#fb923c;--accent-blue:#60a5fa;--accent-cyan:#22d3ee;--accent-indigo:#818cf8;--accent-teal:#2dd4bf;--chip-sonnet:#1f6d3a;--chip-opus:#6d28d9;--chip-haiku:#1d4ed8;--font-mono:ui-monospace, "SF Mono", SFMono-Regular, Menlo, Consolas, "DejaVu Sans Mono", monospace;--font-prose:"Newsreader", Georgia, serif;--topbar-h:64px}.panel{scroll-margin-top:var(--topbar-h)}html,body{background:var(--bg);color:var(--text);font-family:var(--font-mono);-webkit-font-smoothing:antialiased;margin:0;padding:0;font-size:13.5px;line-height:1.45}body{box-sizing:border-box;padding:16px}*{box-sizing:border-box}.mute{color:var(--text-dim)}.topbar{border:1px solid var(--accent-blue);background:var(--panel-bg);border-radius:6px;flex-wrap:wrap;align-items:center;gap:24px;margin-bottom:16px;padding:12px 18px;display:flex}.topbar .stat{color:var(--text-dim);white-space:nowrap;align-items:center;gap:8px;font-size:13.5px;display:flex}.topbar .stat .k{color:var(--text-dim)}.topbar .stat .v{color:var(--text);font-weight:600}.topbar .stat .hi-green{color:var(--accent-green);font-size:15px;font-weight:700}.topbar .stat .hi-cyan{color:var(--accent-cyan);font-size:15px;font-weight:700}.topbar .stat .hi-amber{color:var(--accent-amber);font-size:15px;font-weight:700}.pill-warn{background:var(--accent-amber);color:#1a1400;letter-spacing:.5px;font-size:12px;font-weight:800;font-family:var(--font-mono);border-radius:4px;padding:2px 10px}.topbar .icon{width:16px;height:16px}.topbar-actions{align-items:center;gap:10px;margin-left:auto;display:flex}.topbar-actions>.topbar-icon-btn{display:none}.grid{grid-template-rows:auto auto auto auto;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;margin-bottom:16px;display:grid}@media (width<=1100px){.grid{grid-template-columns:minmax(0,1fr)}}.topbar-brand{gap:8px!important}.topbar-brand .brand-name{color:var(--text);letter-spacing:.01em;font-weight:700}.topbar-brand .brand-version{color:var(--text-dim);font-weight:500}.badge-update{color:var(--accent-amber);cursor:pointer;font:inherit;font-size:12px;font-weight:600;font-family:var(--font-mono);background:#fbbf241f;border:1px solid #fbbf2473;border-radius:12px;align-items:center;gap:4px;padding:2px 9px;display:inline-flex}.badge-update:hover{background:#fbbf2438}.badge-update:focus-visible{outline:2px solid var(--accent-amber);outline-offset:2px}.badge-update-arrow,.badge-update-version{display:inline-block}.doctor-chip{cursor:pointer;font:inherit;font-size:12px;font-weight:600;font-family:var(--font-mono);color:var(--text-dim);background:0 0;border:1px solid;border-radius:12px;align-items:center;gap:4px;padding:2px 9px;display:inline-flex}.doctor-chip:hover{background:#ffffff0a}.doctor-chip:focus-visible{outline-offset:2px;outline:2px solid}.doctor-chip__dot{font-size:10px;line-height:1}.doctor-chip__label{display:inline-block}.doctor-chip--ok{color:var(--accent-green)}.doctor-chip--warn{color:var(--accent-amber)}.doctor-chip--fail{color:var(--accent-red)}.doctor-modal-card{width:min(720px,92vw)}.doctor-modal__summary{color:var(--text-dim);font-family:var(--font-mono);margin:0 0 12px}.doctor-modal__error{color:var(--accent-red);margin:0 0 12px}.doctor-modal__category{border:1px solid var(--border-soft);border-radius:6px;margin:8px 0;overflow:hidden}.doctor-modal__category--warn{border-color:#fbbf2480}.doctor-modal__category--fail{border-color:#f8717180}.doctor-modal__category-header{cursor:pointer;width:100%;color:inherit;font:inherit;text-align:left;background:#ffffff05;border:none;align-items:center;gap:8px;padding:8px 12px;font-weight:600;display:flex}.doctor-modal__category-header:hover{background:#ffffff0d}.doctor-modal__category--ok .doctor-modal__glyph{color:var(--accent-green)}.doctor-modal__category--warn .doctor-modal__glyph{color:var(--accent-amber)}.doctor-modal__category--fail .doctor-modal__glyph{color:var(--accent-red)}.doctor-modal__check{border-top:1px solid var(--border-soft);padding:8px 14px}.doctor-modal__check p{margin:0 0 4px}.doctor-modal__check--ok .doctor-modal__glyph{color:var(--accent-green)}.doctor-modal__check--warn .doctor-modal__glyph{color:var(--accent-amber)}.doctor-modal__check--fail .doctor-modal__glyph{color:var(--accent-red)}.doctor-modal__remediation{color:var(--text-dim);font-style:italic}.doctor-modal__details-toggle{color:var(--accent-cyan);cursor:pointer;font:inherit;background:0 0;border:none;padding:0;font-size:12px}.doctor-modal__details{background:#00000040;border-radius:4px;max-height:200px;margin:6px 0 0;padding:8px;font-size:12px;overflow:auto}.doctor-modal__header-actions{align-items:center;gap:8px;display:flex}.doctor-modal__refresh{border:1px solid var(--border-soft);color:inherit;font:inherit;cursor:pointer;background:0 0;border-radius:4px;padding:4px 10px}.doctor-modal__refresh:hover{background:#ffffff0a}.doctor-modal__refresh[disabled]{opacity:.5;cursor:wait}.update-modal-root{z-index:110;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.update-modal-card{width:min(720px,92vw)}.update-modal-card.accent-red{border-color:var(--accent-red)}.update-modal-body{padding:4px 0 0}.update-kv{grid-template-columns:96px 1fr;gap:7px 16px;margin-bottom:14px;display:grid}.update-kv .k{color:var(--text-dim)}.update-kv .v{color:var(--text)}.update-kv .v .muted{color:var(--text-dim);font-size:12px}.update-row-label{color:var(--text-dim);margin:6px 0 4px;font-size:12px}.update-cmd{background:var(--bg);border:1px solid var(--border-soft);color:var(--accent-cyan);font-size:12px;font-family:var(--font-mono);border-radius:4px;margin:0 0 14px;padding:7px 12px;display:inline-block}.update-cmd-inline{margin:0}.update-link a{color:var(--accent-blue);font-size:12px;text-decoration:none}.update-link a:hover{text-decoration:underline}.update-prerelease-note{color:var(--text-dim);white-space:pre-line;background:#c084fc14;border:1px solid #c084fc4d;border-radius:4px;margin:12px 0 4px;padding:8px 12px;font-size:12px}.update-manual-note{color:var(--text-dim);margin:4px 0 14px;font-size:12px}.update-manual-note a{color:var(--accent-blue)}.update-actions{flex-wrap:wrap;gap:8px;margin-top:18px;display:flex}.update-btn{cursor:pointer;border:1px solid var(--border-soft);background:var(--panel-bg-2);color:var(--text);border-radius:4px;padding:6px 14px;font-family:inherit;font-size:12px}.update-btn:hover:not([disabled]){background:var(--panel-bg)}.update-btn[disabled]{opacity:.55;cursor:not-allowed}.update-btn-primary{background:var(--accent-amber);border-color:var(--accent-amber);color:#1a1400;font-weight:700}.update-btn-primary:hover:not([disabled]){background:#ffd44a;border-color:#ffd44a}.update-running-row{align-items:center;gap:10px;margin-bottom:10px;font-size:12px;display:flex}.update-running-row-success .update-cmd-inline{color:var(--accent-green)}.update-running-row-failed .update-cmd-inline{color:var(--accent-red)}.update-spinner{color:var(--accent-blue);font-size:16px;animation:1.1s linear infinite update-spin;display:inline-block}@keyframes update-spin{to{transform:rotate(360deg)}}.update-check{color:var(--accent-green);font-size:16px;font-weight:700}.update-x{color:var(--accent-red);font-size:16px;font-weight:700}.update-elapsed{color:var(--text-dim);margin-left:auto;font-size:12px}.update-success-reconnect{color:var(--text-dim);font-size:12px}.update-stream{background:var(--bg);border:1px solid var(--border-soft);color:var(--text);font-size:12px;line-height:1.55;font-family:var(--font-mono);white-space:pre;border-radius:4px;max-height:260px;margin:4px 0 6px;padding:11px 13px;overflow:auto}.update-stream-fail{max-height:200px}.update-stream-line{color:var(--text)}.update-stream-line.err{color:var(--accent-red)}.update-stream-step{color:var(--accent-blue);font-weight:600}.update-stream-exit,.update-stream-trunc,.update-stream-empty{color:var(--text-dim);font-style:italic}.update-stream-cap{color:var(--text-dim);text-align:right;margin:4px 0 0;font-size:11px}.panel{border:1px solid var(--border-soft);background:radial-gradient(120% 120% at 0% 0%, #ffffff06 0%, transparent 60%), linear-gradient(180deg, var(--panel-bg) 0%, var(--panel-bg-2) 100%);border-radius:8px;flex-direction:column;min-width:0;min-height:320px;padding:16px 22px 14px;transition:box-shadow .12s;display:flex}.panel.accent-green{border-color:var(--accent-green);--accent-line:#3ddc8447;--accent-glow:#3ddc840f}.panel.accent-purple{border-color:var(--accent-purple);--accent-line:#c084fc4d;--accent-glow:#c084fc0f}.panel.accent-amber{border-color:var(--accent-amber);--accent-line:#fbbf2442;--accent-glow:#fbbf240f}.panel.accent-orange{border-color:var(--accent-orange);--accent-line:#fb923c47;--accent-glow:#fb923c0f}.panel.accent-cyan{border-color:var(--accent-cyan);--accent-line:#22d3ee52;--accent-glow:#22d3ee0f;--pill-bg:#22d3ee2e}.panel.accent-pink{border-color:var(--accent-pink);--accent-line:#ec489952;--accent-glow:#ec48990f;--pill-bg:#ec48992e}.panel.accent-blue{border-color:var(--accent-blue);--accent-line:#60a5fa4d;--accent-glow:#60a5fa0f;--pill-bg:#60a5fa2e}.panel.accent-indigo{border-color:var(--accent-indigo);--accent-line:#818cf84d;--accent-glow:#818cf80f;--pill-bg:#818cf82e}.panel.accent-magenta{border-color:var(--accent-magenta);--accent-line:#d946ef4d;--accent-glow:#d946ef0f;--pill-bg:#d946ef2e}.panel.accent-teal{border-color:var(--accent-teal);--accent-line:#2dd4bf47;--accent-glow:#2dd4bf0f;--pill-bg:#2dd4bf2e}.panel:hover{box-shadow:inset 0 0 28px var(--accent-glow);cursor:pointer}.panel-header{border-bottom:1px solid var(--accent-line);align-items:center;gap:10px;margin-bottom:14px;padding-bottom:10px;display:flex}.panel-header .icon{width:18px;height:18px}.panel-header h3{letter-spacing:.2px;font-size:15px;font-weight:700;font-family:var(--font-mono);margin:0}.panel-header h3 .sub{color:var(--text-dim);margin-left:6px;font-weight:500}.panel-body{flex:auto}.panel-foot{border-top:1px solid var(--accent-line);color:var(--text-dim);margin-top:auto;padding-top:10px;font-size:13px}.cw-body{grid-template-columns:1.2fr 1fr;gap:20px;display:grid}@media (width<=1100px){.cw-body{grid-template-columns:1fr}}.cw-big .label{color:var(--text);margin-bottom:4px;font-size:14px;font-weight:600}.cw-big .num{font-family:var(--font-mono);color:var(--accent-green);letter-spacing:-2px;margin-bottom:18px;font-size:72px;font-weight:800;line-height:1.05}.progress{gap:2px;height:16px;margin-bottom:6px;display:flex}.progress .cell{background:#1a1f2b;border-radius:1px;flex:auto}.progress .cell.on{background:var(--accent-green)}.progress-scale{color:var(--text-faint);justify-content:space-between;font-size:12px;display:flex}.cw-left{flex-direction:column;justify-content:flex-start;gap:16px;display:flex}.cw-kv.kv-five-hour .sub.delta-low{color:var(--accent-green)}.cw-kv.kv-five-hour .sub.delta-moderate{color:var(--accent-cyan)}.cw-kv.kv-five-hour .sub.delta-elevated{color:var(--accent-amber)}.cw-kv.kv-five-hour .sub.delta-high{color:var(--accent-red)}.credit-chip{color:var(--accent-amber);margin-left:6px}.cw-right{border-left:1px solid var(--border-soft);flex-direction:column;gap:18px;padding-left:20px;display:flex}@media (width<=1100px){.cw-right{border-left:none;border-top:1px solid var(--border-soft);padding-top:16px;padding-left:0}}.cw-kv{align-items:flex-start;gap:10px;display:flex}.cw-kv .icon{width:18px;height:18px;color:var(--accent-cyan);flex-shrink:0;margin-top:2px}.cw-kv.kv-spent .icon{color:var(--accent-magenta)}.cw-kv.kv-reset .icon{color:var(--accent-amber)}.cw-kv .body{flex:1}.cw-kv .row1{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.cw-kv .row1 .k{color:var(--text);font-weight:600}.cw-kv .row1 .v{font-size:18px;font-weight:800}.cw-kv .row1 .v.cyan{color:var(--accent-cyan)}.cw-kv .row1 .v.magenta{color:var(--accent-magenta)}.cw-kv .row1 .v.amber{color:var(--accent-amber);font-size:15px}.cw-kv .sub{color:var(--text-dim);margin-top:2px;font-size:13px}.cw-kv .sub .magenta{color:var(--accent-magenta)}.panel-foot.cw-foot{align-items:center;gap:8px;display:flex}.panel-foot.cw-foot .icon{width:14px;height:14px;color:var(--accent-cyan)}.warn-banner{background:var(--accent-amber);color:#1a1400;letter-spacing:1px;font-size:18px;font-weight:800;font-family:var(--font-mono);background-image:radial-gradient(#0000002e 1px,#0000 1px);background-size:6px 6px;border-radius:6px;justify-content:center;align-items:center;gap:10px;margin-bottom:10px;padding:10px 14px;display:flex}.warn-banner.good{background-color:var(--accent-green);color:#0b2a16}.warn-banner.warn{background-color:var(--accent-amber);color:#1a1400}.warn-banner.over{background-color:var(--accent-red);color:#ffe7e7}.fc-row{justify-content:space-between;align-items:center;gap:12px;padding:6px 0;display:flex}.fc-row .left{color:var(--text);align-items:center;gap:10px;font-size:13.5px;font-weight:500;display:flex}.fc-row .left .icon-box{background:#ffffff05;border-radius:6px;justify-content:center;align-items:center;width:30px;height:30px;display:flex}.fc-row .right{text-align:right;color:var(--text);font-size:14px;font-weight:700}.fc-row .right .num{margin-right:6px;font-size:18px;font-weight:800}.fc-row .right .at{color:var(--accent-blue);font-weight:500}.fc-row.fc-wkavg .icon-box .icon{color:var(--accent-blue)}.fc-row.fc-wkavg .right .num{color:var(--accent-green)}.fc-row.fc-24h .icon-box .icon,.fc-row.fc-24h .right .num{color:var(--accent-red)}.fc-row.fc-budget-100 .icon-box .icon,.fc-row.fc-budget-100 .right .num,.fc-row.fc-budget-90 .icon-box .icon,.fc-row.fc-budget-90 .right .num{color:var(--accent-green)}.fc-row .right .per{color:var(--text-dim);font-size:12.5px;font-weight:500}.fc-divider{border-top:1px solid var(--border-soft);margin:6px 0}.panel-foot.fc-conf{justify-content:space-between;align-items:center;gap:10px;font-size:13.5px;display:flex}.panel-foot.fc-conf .lbl{color:var(--text-dim);align-items:center;gap:8px;display:flex}.panel-foot.fc-conf .lbl .icon{color:var(--accent-pink);width:14px;height:14px}.panel-foot.fc-conf .lbl .val{color:var(--accent-pink);margin-left:4px;font-weight:700}.panel-foot.fc-conf .dots{gap:4px;display:flex}.panel-foot.fc-conf .dots .d{background:#262a35;border-radius:1px;width:14px;height:8px}.panel-foot.fc-conf .dots .d.on{background:var(--accent-purple)}.trend-table{border-collapse:collapse;width:100%;font-size:13px;font-family:var(--font-mono)}.trend-table thead th{text-align:left;border-bottom:1px solid var(--border-soft);padding:4px 10px 8px 0;font-weight:700}.trend-table thead th.num{text-align:right}.trend-table thead th.c-week{color:var(--text)}.trend-table thead th.c-used{color:var(--accent-green)}.trend-table thead th.c-dollar{color:var(--accent-purple)}.trend-table thead th.c-delta{color:var(--accent-amber)}.trend-table tbody td{padding:5px 10px 5px 0}.trend-table tbody td.num{text-align:right}.trend-table tbody tr.current td{color:var(--accent-cyan);background:#22d3ee0f;border-top:1px solid #22d3ee40;border-bottom:1px solid #22d3ee40}.trend-table tbody td.dollar{color:var(--accent-purple)}.trend-table tbody td.delta-pos{color:var(--accent-red)}.trend-table tbody td.delta-neg{color:var(--accent-green)}.trend-spark-title{color:var(--accent-cyan);margin-top:18px;font-weight:700}.trend-spark{grid-template-columns:repeat(9,1fr);align-items:end;gap:6px;height:72px;margin:10px 0 6px;display:grid}.trend-spark .bar{background:var(--accent-purple);border-radius:2px}.trend-spark-legend{color:var(--text-dim);font-size:12px;font-family:var(--font-mono);align-items:center;gap:10px;display:flex}.trend-spark-legend .line{height:1px;color:var(--text-dim);background-image:linear-gradient(90deg,currentColor 50%,#0000 50%);background-size:6px 1px;flex:1}.sort-pill{border:1px solid var(--border-soft);background:var(--panel-bg-2);color:var(--text-dim);cursor:pointer;font-size:12.5px;font-family:var(--font-mono);border-radius:6px;align-items:center;gap:8px;padding:4px 12px;display:inline-flex}.sort-pill:hover{border-color:var(--accent-orange);color:var(--text)}.sort-pill .icon{width:12px;height:12px}.sess-table{border-collapse:collapse;width:100%;font-size:13px;font-family:var(--font-mono)}.sess-table thead th{text-align:left;color:var(--accent-amber);padding:4px 10px 8px 0;font-weight:700}.sess-table thead th.num{text-align:right}.sess-table tbody td{white-space:nowrap;padding:5px 10px 5px 0}.sess-table tbody td.num{text-align:right}.sess-table tbody td.started{color:var(--accent-cyan)}.sess-table tbody td.project{color:var(--accent-blue)}.sess-table tbody td.cost-low{color:var(--accent-green)}.sess-table tbody td.cost-mid{color:var(--accent-amber)}.sess-table tbody td.cost-high{color:var(--accent-red)}.sess-table tbody td.cost-xs{color:var(--accent-green)}.chip{font-size:12px;font-weight:700;font-family:var(--font-mono);border-radius:4px;padding:1px 8px;display:inline-block}.chip.sonnet{background:var(--chip-sonnet);color:#b6f7cc}.chip.opus{background:var(--chip-opus);color:#e0cfff}.chip.haiku{background:var(--chip-haiku);color:#cfdcff}.chip.chip-aging{color:#cbd5e1;background:#94a3b82e;border:1px solid #94a3b852}.chip.chip-stale{color:var(--accent-amber);background:#fbbf242e;border:1px solid #fbbf2473;font-weight:800}.footer{border:1px solid var(--border-soft);background:var(--panel-bg);color:var(--text-dim);border-radius:6px;flex-wrap:wrap;gap:24px;padding:10px 18px;font-size:13px;display:flex}.kb{align-items:center;gap:8px;display:inline-flex}.kb kbd{background:var(--panel-bg-2);border:1px solid var(--border-soft);font-family:var(--font-mono);color:var(--text);border-radius:3px;padding:1px 8px;font-size:12px}.kb kbd.accent-green{color:var(--accent-green);border-color:var(--accent-green)}.kb kbd.accent-purple{color:var(--accent-purple);border-color:var(--accent-purple)}.kb kbd.accent-amber{color:var(--accent-amber);border-color:var(--accent-amber)}.kb kbd.accent-red{color:var(--accent-red);border-color:var(--accent-red)}.kb kbd.mute{color:var(--text-faint);border-color:var(--border-soft)}#help-overlay[hidden]{display:none}#help-overlay{z-index:1000;font-family:var(--font-mono);background:#0a0b10d1;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}#help-overlay .help-card{background:var(--panel-bg);border:1px solid var(--accent-blue);min-width:320px;color:var(--text);border-radius:8px;padding:24px 28px}#help-overlay .help-header{justify-content:space-between;align-items:center;margin:0 0 12px;display:flex}#help-overlay .help-card h2{color:var(--accent-blue);margin:0;font-size:15px}#help-overlay .help-card table{border-collapse:collapse}#help-overlay .help-card td{vertical-align:top;padding:4px 12px 4px 0}#help-overlay .help-card td kbd,#help-overlay .help-card .help-gesture-list kbd{background:var(--panel-bg-2);border:1px solid var(--border-soft);border-radius:3px;padding:1px 8px}#help-overlay .help-card .meta{color:var(--text-dim);margin-top:16px;font-size:12px}#modal-root{z-index:100;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}#modal-root[hidden]{display:none}.modal-backdrop{background:#0000008c;position:absolute;inset:0}.modal-card{z-index:1;background:var(--panel-bg);border:2px solid var(--accent-green);border-radius:8px;flex-direction:column;width:min(720px,92vw);max-height:85vh;font-family:inherit;display:flex;position:relative;overflow:hidden}.modal-card.accent-purple{border-color:var(--accent-purple)}.modal-card.accent-amber{border-color:var(--accent-amber)}.modal-card.accent-orange{border-color:var(--accent-orange)}.modal-card.accent-cyan{border-color:var(--accent-cyan)}.modal-card.accent-pink{border-color:var(--accent-pink)}.modal-card.accent-indigo{border-color:var(--accent-indigo)}.modal-handle{display:none}.modal-header{border-bottom:1px solid var(--border-soft);justify-content:space-between;align-items:center;padding:12px 18px;display:flex}.modal-header h2{margin:0;font-size:18px;font-weight:500}.modal-close{color:inherit;cursor:pointer;background:0 0;border:none;padding:4px 8px;font-size:24px;line-height:1}.modal-close:hover{color:var(--accent-red)}.modal-body{scrollbar-gutter:stable;padding:16px 18px;overflow:auto}.empty-state{color:var(--text-dim);text-align:center;padding:18px}.m-hero{gap:14px 24px;padding-bottom:14px;display:grid}.m-hero.cols-2{grid-template-columns:repeat(2,1fr)}.m-hero.cols-3{grid-template-columns:repeat(3,1fr)}.m-hero.cols-4{grid-template-columns:repeat(4,1fr)}.m-kv{align-items:flex-start;gap:10px;display:flex}.m-kv .icon{flex-shrink:0;width:20px;height:20px;margin-top:3px}.m-kv .v{letter-spacing:-.01em;font-size:22px;font-weight:700;line-height:1.15}.m-kv .lbl{color:var(--text-dim);text-transform:uppercase;letter-spacing:.05em;margin-top:2px;font-size:10.5px;font-weight:500}.m-kv .sub{color:var(--text-dim);margin-top:2px;font-size:11px}.m-sec{text-transform:uppercase;letter-spacing:.06em;align-items:center;gap:8px;margin:18px 0 10px;font-size:11.5px;font-weight:600;display:flex}.m-sec .icon{flex-shrink:0;width:15px;height:15px}.m-sec.sec-tok{color:var(--accent-green)}.m-sec.sec-mod{color:var(--accent-purple)}.m-sec.sec-costm{color:var(--accent-magenta)}.m-sec.sec-src{color:var(--accent-blue)}.m-sec.sec-prog{color:var(--accent-green)}.m-sec.sec-ms{color:var(--accent-purple)}.m-sec.sec-range{color:var(--accent-amber)}.m-sec.sec-rates{color:var(--accent-cyan)}.m-sec.sec-bud{color:var(--accent-magenta)}.m-sec.sec-wk{color:var(--accent-green)}.m-sec.sec-spark{color:var(--accent-amber)}.m-sec.sec-tbl{color:var(--accent-purple)}.m-sec.sec-burn{color:var(--accent-amber)}.m-sec.sec-5h{color:var(--accent-cyan)}.mcw-5h-credit-row .mcw-5h-credit-cell{color:var(--accent-amber);border-top:1px dashed var(--border-soft);border-bottom:1px dashed var(--border-soft);text-align:center;background:#fbbf2414;font-weight:600}.m-pill{border:1px solid #0000;border-radius:12px;padding:3px 10px;font-size:11.5px;font-weight:600}.m-pill.accent-green{color:var(--accent-green);background:#3ddc8424;border-color:#3ddc844d}.m-pill.accent-amber{color:var(--accent-amber);background:#fbbf2426;border-color:#fbbf2459}.m-pill.accent-cyan{color:var(--accent-cyan);background:#22d3ee24;border-color:#22d3ee4d}.m-pill.accent-magenta{color:var(--accent-magenta);background:#d946ef24;border-color:#d946ef4d}.m-pill.accent-purple{color:var(--accent-purple);background:#c084fc2e;border-color:#c084fc59}.m-pill.accent-blue{color:var(--accent-blue);background:#60a5fa24;border-color:#60a5fa4d}.m-pill.accent-red{color:var(--accent-red);background:#ef444424;border-color:#ef44444d}.m-chipstrip{flex-wrap:wrap;gap:8px;margin-bottom:14px;display:flex}.m-histable{border-collapse:collapse;width:100%;font-size:12.5px}.m-histable th,.m-histable td{text-align:left;padding:5px 10px}.m-histable th{color:var(--text-dim);text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--border-soft);font-size:10.5px;font-weight:400}.m-histable td.num,.m-histable th.num{text-align:right;font-variant-numeric:tabular-nums}.m-histable tbody tr:nth-child(2n){background:#ffffff04}.m-histable tr.cur{background:#fbbf2414}.m-histable tr.cur td:first-child{border-left:2px solid var(--accent-amber)}.mcw-herobar{padding:4px 0 6px}.mcw-bignum{font-family:var(--font-mono);color:var(--accent-green);letter-spacing:-2px;font-size:46px;font-weight:800;line-height:1}.mcw-bignum .unit{color:var(--text-dim);letter-spacing:0;margin-left:4px;font-size:22px;font-weight:500}.mcw-pbar-wrap{margin-top:12px}.mcw-pbar{border:1px solid var(--border-soft);background:#ffffff0a;border-radius:4px;height:22px;position:relative;overflow:visible}.mcw-pbar .fill{background:linear-gradient(90deg, var(--accent-green), #5ef0a4);border-radius:3px 0 0 3px;position:absolute;top:0;bottom:0;left:0}.mcw-pbar .ticks .tick{background:#c084fca6;width:2px;position:absolute;top:-4px;bottom:-4px}.mcw-pbar .ticks .tick:after{content:attr(data-p);color:var(--accent-purple);font-size:9px;font-weight:600;position:absolute;top:-14px;left:50%;transform:translate(-50%)}.mcw-pbar .marker{background:var(--accent-green);width:3px;position:absolute;top:-5px;bottom:-5px;box-shadow:0 0 6px #3ddc84b3}.mcw-pscale{color:var(--text-dim);justify-content:space-between;margin-top:8px;font-size:10px;display:flex}.mcw-mini{color:var(--text-dim);flex-wrap:wrap;gap:18px;margin-top:16px;font-size:12px;display:flex}.mcw-mini .s .k{text-transform:uppercase;letter-spacing:.05em;font-size:10px}.mcw-mini .s .v{color:var(--text);margin-left:6px;font-size:14px;font-weight:700}.mcw-mini .s .v.v-magenta{color:var(--accent-magenta)}.mcw-mini .s .v.v-cyan{color:var(--accent-cyan)}.mcw-mshead{align-items:center;gap:10px;margin-bottom:8px;display:flex}.mcw-ms-sub{color:var(--text-dim);font-size:11px}#mcw-table .pct-cell{text-align:center;min-width:26px;font-family:var(--font-mono);padding:1px 4px;font-size:11px;display:inline-block}#mcw-table .m-marginal{color:var(--accent-amber);font-family:var(--font-mono)}#mcw-table .m-fh{color:var(--accent-blue);font-size:11px;font-family:var(--font-mono)}#mcw-table td.d{color:var(--text-dim);font-family:var(--font-mono);font-size:11px}.m-kv.kv-wa .icon{color:var(--accent-blue)}.m-kv.kv-r24 .icon{color:var(--accent-amber)}.m-kv.kv-wa .v{color:var(--accent-blue)}.m-kv.kv-r24 .v{color:var(--accent-amber)}.mfc-rangewrap{padding:52px 0 32px;position:relative}.mfc-rangetrack{border:1px solid var(--border-soft);background:#ffffff05;border-radius:6px;height:16px;position:relative;overflow:visible;box-shadow:inset 0 1px #00000073}.mfc-zone{pointer-events:none;position:absolute;top:0;bottom:0}.mfc-zone.safe{background:#3ddc841a;border-radius:5px 0 0 5px;width:81.82%;left:0}.mfc-zone.warn{background:#fbbf2433;width:9.09%;left:81.82%}.mfc-zone.over{background:#ef444440;border-radius:0 5px 5px 0;left:90.91%;right:0}.mfc-bound{pointer-events:none;width:1px;position:absolute;top:-3px;bottom:-3px}.mfc-bound.b90{background:#fbbf248c;left:81.82%}.mfc-bound.b100{background:#ef4444a6;left:90.91%}.mfc-bound .lbl{font-size:9.5px;font-weight:700;font-family:var(--font-mono);white-space:nowrap;position:absolute;top:calc(100% + 6px);left:50%;transform:translate(-50%)}.mfc-bound.b90 .lbl{color:var(--accent-amber)}.mfc-bound.b100 .lbl{color:var(--accent-red)}.mfc-rangeband{background:linear-gradient(90deg, var(--accent-blue), var(--accent-amber));opacity:.85;pointer-events:none;border-radius:2px;height:8px;position:absolute;top:4px}.mfc-chev{filter:drop-shadow(0 1px 1px #0000008c);pointer-events:none;border-top:10px solid;border-left:6px solid #0000;border-right:6px solid #0000;width:0;height:0;transition:left .25s ease-out;position:absolute;top:-10px;transform:translate(-50%)}.mfc-chev.wa{color:var(--accent-blue)}.mfc-chev.r24{color:var(--accent-amber)}.mfc-pills{pointer-events:none;width:100%;height:18px;position:absolute;top:10px;left:0}.mfc-pill{font-size:10.5px;font-weight:700;font-family:var(--font-mono);white-space:nowrap;pointer-events:none;border-radius:10px;padding:2px 8px;transition:left .25s ease-out;position:absolute;top:0;transform:translate(-50%);box-shadow:0 1px 2px #00000059}.mfc-pill.wa{color:var(--accent-blue);background:#60a5fa38;border:1px solid #60a5fa99}.mfc-pill.r24{color:var(--accent-amber);background:#fbbf2438;border:1px solid #fbbf24a6}.mfc-leaders{pointer-events:none;width:100%;height:18px;position:absolute;top:28px;left:0;overflow:visible}.mfc-leaders path{fill:none;stroke-width:1.5px;stroke-linecap:round;stroke-linejoin:round;opacity:.8}.mfc-leaders path.wa{stroke:var(--accent-blue)}.mfc-leaders path.r24{stroke:var(--accent-amber)}.mfc-kvgrid{grid-template-columns:repeat(2,1fr);gap:0 24px;display:grid}.mfc-kvgrid.mfc-kvgrid-single{grid-template-columns:1fr}.mfc-krow{border-bottom:1px dotted var(--border-soft);justify-content:space-between;align-items:baseline;padding:6px 0;font-size:12.5px;display:flex}.mfc-krow .l{color:var(--text-dim);text-transform:uppercase;letter-spacing:.04em;font-size:11px}.mfc-krow .v{font-weight:700;font-family:var(--font-mono)}.mfc-krow .v.v-amber{color:var(--accent-amber)}.mfc-krow .v.v-cyan{color:var(--accent-cyan)}.mfc-krow .v.v-magenta{color:var(--accent-magenta)}.mfc-krow .v.v-green{color:var(--accent-green)}.mfc-krow .v.v-blue{color:var(--accent-blue)}.m-kv.kv-cur .icon,.m-kv.kv-cur .v{color:var(--accent-cyan)}.m-kv.kv-med .icon,.m-kv.kv-med .v{color:var(--accent-blue)}.m-kv.kv-delta.delta-down .icon,.m-kv.kv-delta.delta-down .v{color:var(--accent-green)}.m-kv.kv-delta.delta-up .icon,.m-kv.kv-delta.delta-up .v{color:var(--accent-red)}.m-kv.kv-delta.delta-flat .icon,.m-kv.kv-delta.delta-flat .v{color:var(--text-dim)}.m-sec .mtr-legend{text-transform:none;letter-spacing:0;color:var(--text-dim);align-items:center;gap:10px;margin-left:auto;font-size:10px;font-weight:500;display:flex}.m-sec .mtr-legend .sw{vertical-align:middle;border-radius:1px;width:18px;height:2px;margin-right:4px;display:inline-block}.m-sec .mtr-legend .sw.sw-dpp{background:var(--accent-amber);height:2.2px}.m-sec .mtr-legend .sw.sw-used{background:var(--text-dim);opacity:.7}.m-sec .mtr-legend.legend-no-used .sw-used,.m-sec .mtr-legend.legend-no-used .sw-used+.sw-lbl{display:none}.mtr-sparkhero{padding:6px 0 4px}.mtr-sparkhero svg{width:100%;height:140px;display:block}.mtr-sparkaxis{color:var(--text-dim);justify-content:space-between;margin-top:4px;padding:0 6px;font-size:10px;display:flex}.mtr-trendline{fill:none;stroke:var(--accent-amber);stroke-width:2.2px}.mtr-trendline-dim{fill:none;stroke:var(--text-dim);stroke-width:1.4px;opacity:.55}.mtr-trenddot{fill:var(--accent-amber)}.mtr-trenddot.cur{fill:var(--accent-cyan);stroke:var(--bg);stroke-width:2px}.mtr-axis{stroke:var(--border-soft);stroke-width:1px}.mtr-hl{stroke:#c084fc59;stroke-dasharray:2 3;stroke-width:1px}.mtr-ylabel{fill:var(--text-dim);font-family:var(--font-mono);font-size:10px}.mtr-medlabel{fill:var(--accent-purple);font-family:var(--font-mono);font-size:10px}.mtr-curlabel{fill:var(--accent-cyan);font-family:var(--font-mono);font-size:10px;font-weight:700}.mtr-tbl-head{align-items:center;gap:10px;margin-bottom:6px;display:flex}.mtr-tbl-sub{color:var(--text-dim);font-size:11px}#mtr-table .wlab{color:var(--text)}#mtr-table tr.cur .wlab{color:var(--accent-amber);font-weight:700}#mtr-table .usedpct{color:var(--accent-green);font-family:var(--font-mono)}#mtr-table .dpp{color:var(--accent-cyan);font-family:var(--font-mono)}#mtr-table .delta.up{color:var(--accent-red);font-family:var(--font-mono)}#mtr-table .delta.down{color:var(--accent-green);font-family:var(--font-mono)}#mtr-table .delta.flat{color:var(--text-dim);font-family:var(--font-mono)}.modal-loading{text-align:center;color:var(--text-dim);padding:40px}.modal-error{color:var(--accent-red);padding:18px}.msess-badge{font-family:var(--font-mono);color:#e0cfff;background:#c084fc26;border:1px solid #c084fc59;border-radius:12px;padding:4px 12px;font-size:12.5px}.m-kv.kv-cost .icon{color:var(--accent-magenta)}.m-kv.kv-dur .icon{color:var(--accent-amber)}.m-kv.kv-proj .icon{color:var(--accent-blue)}.m-kv.kv-cost .v{color:var(--accent-magenta)}.m-kv.kv-dur .v{color:var(--accent-amber)}.m-kv.kv-proj .v{color:var(--accent-blue);text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:16px;display:block;overflow:hidden}.msess-ts{font-size:12px;font-family:var(--font-mono);color:var(--text-dim);border-top:1px dotted var(--border-soft);border-bottom:1px dotted var(--border-soft);align-items:center;gap:22px;padding:10px 0;display:flex}.msess-ts .icon{width:14px;height:14px;color:var(--accent-cyan);flex-shrink:0}.msess-ts .k{text-transform:uppercase;letter-spacing:.05em;color:var(--text-dim);margin-right:6px;font-size:10.5px}.msess-ts .v{color:var(--accent-cyan)}.msess-tok-grid{grid-template-columns:repeat(5,1fr);gap:10px;display:grid}.msess-tok-tile{border:1px solid var(--border-soft);background:#ffffff05;border-radius:6px;padding:10px 12px}.msess-tok-tile .lbl{color:var(--text-dim);text-transform:uppercase;letter-spacing:.05em;margin-bottom:4px;font-size:10.5px}.msess-tok-tile .n{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:15px}.msess-tok-tile.cache-hit .n{color:var(--accent-green)}.msess-tok-tile.cache-hit .bar{background:#3ddc842e;border-radius:2px;height:4px;margin-top:6px;overflow:hidden}.msess-tok-tile.cache-hit .bar .fill{background:var(--accent-green);height:100%}.msess-costm{margin-top:4px}.msess-costm .bar{background:var(--border-soft);border-radius:4px;height:22px;display:flex;overflow:hidden}.msess-costm .bar .seg{height:100%}.msess-costm .bar .seg.opus{background:var(--chip-opus)}.msess-costm .bar .seg.sonnet{background:var(--chip-sonnet)}.msess-costm .bar .seg.haiku{background:var(--chip-haiku)}.msess-costm .legend{flex-wrap:wrap;gap:14px 20px;margin-top:10px;font-size:12px;display:flex}.msess-costm .legend .lg{align-items:center;gap:8px;display:flex}.msess-costm .legend .sw{border-radius:2px;flex-shrink:0;width:10px;height:10px}.msess-costm .legend .sw.opus{background:var(--chip-opus)}.msess-costm .legend .sw.sonnet{background:var(--chip-sonnet)}.msess-costm .legend .sw.haiku{background:var(--chip-haiku)}.msess-costm .legend .name{color:var(--text)}.msess-costm .legend .v{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.msess-costm .legend .pct{color:var(--text-dim);margin-left:2px;font-size:11px}.msess-src .src-head{color:var(--text);align-items:center;gap:10px;margin-bottom:6px;font-size:12px;display:flex}.msess-src .count-pill{color:var(--accent-blue);font-size:11px;font-family:var(--font-mono);background:#60a5fa2e;border-radius:10px;padding:1px 8px;font-weight:600}.msess-src .sub{color:var(--text-dim);font-size:11.5px}.msess-src .sub .dot{color:var(--border-soft);padding:0 2px}.msess-src .sub .subcount{color:var(--accent-amber)}.msess-src .primary-path{font-family:var(--font-mono);color:var(--text);border-left:2px solid var(--accent-blue);word-break:break-all;background:#ffffff05;border-radius:4px;padding:6px 10px;font-size:11.5px}.msess-src .src-empty-primary{font-family:var(--font-mono);color:var(--text-dim);padding:6px 10px;font-size:11.5px}.msess-src details.subagents{margin-top:10px}.msess-src details.subagents summary{cursor:pointer;color:var(--accent-blue);padding:4px 0;font-size:12px;font-weight:500;list-style:none}.msess-src details.subagents summary::-webkit-details-marker{display:none}.msess-src details.subagents summary::marker{display:none}.msess-src details.subagents summary:before{content:"▸";width:14px;color:var(--text-dim);display:inline-block}.msess-src details.subagents[open] summary:before{content:"▾"}.msess-src details.subagents .paths{font-family:var(--font-mono);color:var(--text-dim);margin:6px 0 0;padding-left:16px;font-size:11px;list-style:none}.msess-src details.subagents .paths li{word-break:break-all;padding:1px 0}.mblock-burn{flex-direction:column;gap:6px;margin-top:4px;display:flex}.mblock-burn .row{background:var(--panel-bg-2);border:1px solid var(--border-soft);border-radius:5px;flex-wrap:wrap;align-items:center;gap:12px;padding:8px 12px;display:flex}.mblock-burn .row .k{color:var(--text-dim);text-transform:uppercase;letter-spacing:.5px;min-width:100px;font-size:11px}.mblock-burn .row .v{color:var(--text);font-weight:700}.mblock-burn .row .v.amber{color:var(--accent-amber)}.mblock-burn .row .v.cyan{color:var(--accent-cyan)}.mblock-burn .row .dim{color:var(--text-faint);font-size:11px}.mblock-burn .row .sep{color:var(--text-faint)}.mblock-timeline{background:var(--panel-bg);border:1px solid var(--border-soft);border-radius:6px;margin:12px 0;padding:10px}.sessions-ctrls{align-items:center;gap:6px;display:inline-flex}.ctrl-btn{border:1px solid var(--border-soft);cursor:pointer;color:inherit;background:0 0;border-radius:4px;align-items:center;gap:6px;padding:4px 8px;font-family:inherit;font-size:12px;display:inline-flex}.ctrl-btn:hover{background:#ffffff0a}.ctrl-btn.as-chip{padding:2px 8px}.ctrl-btn .chip{color:var(--accent-orange);font-size:11px}.ctrl-btn .chip-x{color:var(--text-dim);margin-left:6px}.ctrl-input{border:1px solid var(--accent-orange);color:inherit;background:0 0;border-radius:4px;min-width:180px;padding:3px 6px;font-family:inherit;font-size:12px}.ctrl-input:focus{outline:none;box-shadow:0 0 0 2px #fb923c59}.search-container{align-items:center;gap:6px;display:inline-flex}.match-count{color:var(--text-dim);text-align:center;min-width:60px;font-size:11px;font-family:var(--font-mono)}mark{color:inherit;background:#fbbf2438;border-radius:2px;padding:0 2px}mark.current{background:var(--accent-amber);color:#000}.session-row.search-match{box-shadow:inset 2px 0 0 var(--accent-amber);background:#fbbf2414}.session-row[data-session-id]{cursor:pointer}.session-row:hover{background:#ffffff08}#sess-rows .model-chip{cursor:pointer}#sess-rows .model-chip:hover{filter:brightness(1.2)}#sess-rows .model-chip:focus-visible{outline:2px solid var(--accent-orange);outline-offset:1px}.panel:focus{outline:none}.panel:focus-visible{outline-offset:4px}.panel.accent-green:focus-visible{outline:2px solid var(--accent-green)}.panel.accent-purple:focus-visible{outline:2px solid var(--accent-purple)}.panel.accent-amber:focus-visible{outline:2px solid var(--accent-amber)}.panel.accent-orange:focus-visible{outline:2px solid var(--accent-orange)}.panel.accent-cyan:focus-visible{outline:2px solid var(--accent-cyan)}.panel.accent-pink:focus-visible{outline:2px solid var(--accent-pink)}.panel.accent-blue:focus-visible{outline:2px solid var(--accent-blue)}.panel.accent-indigo:focus-visible{outline:2px solid var(--accent-indigo)}.panel.accent-magenta:focus-visible{outline:2px solid var(--accent-magenta)}.panel.accent-teal:focus-visible{outline:2px solid var(--accent-teal)}.sync-chip{color:inherit;font:inherit;padding:0 6px}.topbar-sync:hover .sync-chip{color:var(--accent-purple)}.topbar-sync{color:inherit;font:inherit;cursor:pointer;background:0 0;border:none;align-items:center;gap:4px;padding:0;display:inline-flex}.topbar-sync:focus-visible{outline:2px solid var(--accent-purple);outline-offset:2px;border-radius:3px}.sync-chip.syncing{animation:1s infinite sync-pulse}.sync-chip.sync-error{color:var(--accent-red)}.sync-chip.sync-success{color:var(--accent-green)}@keyframes sync-pulse{0%,to{opacity:.6}50%{opacity:1}}.topbar-sync .icon{color:var(--accent-cyan);transition:color 1s ease-out}.topbar-sync:has(.sync-chip.syncing) .icon{animation:1.2s linear infinite cctally-icon-spin}.topbar-sync:has(.sync-chip.sync-success) .icon{color:var(--accent-green);transition:color}.topbar-sync:has(.sync-chip.sync-error) .icon{color:var(--accent-red);transition:color}@keyframes cctally-icon-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.topbar-sync:has(.sync-chip.syncing) .icon{animation:1s infinite sync-pulse}}.basket-chip{border:1px solid var(--border-muted,#334155);cursor:pointer;color:inherit;font:inherit;background:0 0;border-radius:6px;align-items:center;gap:4px;padding:4px 6px;line-height:1;display:inline-flex}.basket-chip:focus-visible{outline:2px solid var(--accent-purple);outline-offset:2px}.basket-chip:hover{filter:brightness(1.15)}.basket-chip-icon{vertical-align:middle;display:inline-block}.basket-chip-count{color:#0f172a;background:#f59e0b;border-radius:9999px;justify-content:center;align-items:center;min-width:1.4em;height:1.4em;padding:0 4px;font-size:11px;font-weight:600;display:inline-flex}@keyframes basket-chip-pulse{0%{transform:scale(1)}50%{transform:scale(1.15)}to{transform:scale(1)}}.basket-chip.basket-chip-pulse .basket-chip-count{animation:.32s ease-out basket-chip-pulse}@media (prefers-reduced-motion:reduce){.basket-chip.basket-chip-pulse .basket-chip-count{animation:none}}.kb-btn{color:inherit;font:inherit;cursor:pointer;background:0 0;border:none;align-items:center;gap:8px;padding:0;display:inline-flex}.kb-btn:hover{filter:brightness(1.3)}.kb-btn:focus-visible{outline:2px solid var(--accent-purple);outline-offset:2px;border-radius:3px}#settings-root{z-index:100;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}#settings-root[hidden]{display:none}#settings-root .modal-card{z-index:1;min-width:360px;max-width:560px;position:relative}.settings-fs{border:1px solid var(--border-soft);margin:0 0 12px;padding:10px 14px}.settings-fs legend{color:var(--text-dim);letter-spacing:.3px;text-transform:uppercase;padding:0 6px;font-size:11px}.settings-fs label{cursor:pointer;padding:3px 0;display:block}.settings-fs input[type=text],.settings-fs input[type=number]{border:1px solid var(--border-soft);color:inherit;font:inherit;background:0 0;border-radius:4px;width:180px;padding:4px 8px}.settings-fs input[type=text]:focus,.settings-fs input[type=number]:focus{border-color:var(--accent-orange);outline:none;box-shadow:0 0 0 2px #fb923c40}.system-info{font-size:12px;font-family:var(--font-mono);color:var(--text-dim);margin:4px 0;padding:0;list-style:none}.settings-actions{gap:10px;margin-top:16px;display:flex}.settings-btn{background:var(--panel-bg);border:1px solid var(--border-soft);color:inherit;cursor:pointer;font:inherit;border-radius:4px;padding:6px 14px}.settings-btn:hover{border-color:var(--accent-orange)}.settings-btn:focus-visible{outline:2px solid var(--accent-orange);outline-offset:2px}#settings-save{border-color:var(--accent-orange)}.settings-select{vertical-align:middle;padding:6px 8px}.toast{background:var(--panel-bg);border:1px solid var(--accent-amber);z-index:200;color:var(--text);font-size:12px;font-family:var(--font-mono);border-radius:4px;padding:8px 14px;position:fixed;bottom:24px;left:50%;transform:translate(-50%);box-shadow:0 4px 16px #0006}.panel.sessions-collapsed{max-height:480px}.panel.sessions-collapsed .panel-body{overflow:hidden auto}.panel.sessions-collapsed .sess-table thead th{background:var(--panel-bg);z-index:1;position:sticky;top:0}.panel-collapse-toggle{color:var(--text-dim);cursor:pointer;background:0 0;border:none;border-radius:4px;align-items:center;padding:4px;display:inline-flex}.panel-collapse-toggle:hover{color:var(--text);background:#ffffff0a}.panel-collapse-toggle:focus-visible{outline:2px solid var(--accent-orange);outline-offset:2px}.panel-collapse-toggle .icon{width:16px;height:16px}.share-icon{cursor:pointer;color:var(--text-dim);background:0 0;border:0;border-radius:4px;align-items:center;padding:4px;display:inline-flex}.share-icon:hover{color:var(--text);background:#ffffff0a}.share-icon:focus-visible{outline:2px solid var(--accent-blue);outline-offset:2px}.modal-header .share-icon{margin-left:auto}.pill-current{background:var(--pill-bg);color:inherit;letter-spacing:.5px;text-transform:uppercase;border-radius:999px;margin-left:6px;padding:1px 6px;font-size:9px;font-weight:700;display:inline-block}.delta{font-variant-numeric:tabular-nums;border-radius:4px;padding:1px 6px;font-size:11px}.delta.up{color:var(--accent-red);background:#ef444424}.delta.down{color:var(--accent-green);background:#3ddc8424}.delta.flat{color:var(--text-faint);background:0 0}.model-stack{background:#ffffff0a;border-radius:999px;height:9px;margin-top:6px;display:flex;overflow:hidden;box-shadow:inset 0 1px #ffffff0d}.model-stack>span{height:100%;transition:width .28s cubic-bezier(.2,.8,.2,1);display:block}.model-stack>span.opus{background:var(--chip-opus)}.model-stack>span.sonnet{background:var(--chip-sonnet)}.model-stack>span.haiku{background:var(--chip-haiku)}.model-stack>span.other{background:var(--text-faint)}.panel-foot.period-foot .sep{color:var(--text-faint);margin:0 4px}.panel-foot.period-foot .total{color:var(--text);font-variant-numeric:tabular-nums;font-weight:700}.period{padding:8px 0}.period+.period{border-top:1px solid #ffffff0a}.period .meta{font-variant-numeric:tabular-nums;justify-content:space-between;align-items:baseline;gap:12px;display:flex}.period .meta .label{color:var(--text)}.period .meta .right{align-items:baseline;gap:8px;display:flex}.period .meta .cost{color:var(--text);font-weight:600}.detail-card{background:var(--panel-bg-2);border:1px solid #ffffff14;border-radius:8px;margin-bottom:14px;padding:14px 16px}.detail-card.accent-cyan{border-color:#22d3ee2e}.detail-card.accent-pink{border-color:#ec48992e}.detail-card.accent-indigo{border-color:#818cf82e}.detail-card .head{justify-content:space-between;align-items:baseline;margin-bottom:6px;display:flex}.detail-card .head .big{font-variant-numeric:tabular-nums;font-size:17px;font-weight:700}.detail-card .window{color:var(--text-faint);margin-bottom:12px;font-size:11px}.detail-card .model-stack{height:14px;margin:6px 0 10px}.detail-card .chips{flex-wrap:wrap;gap:6px;display:flex}.detail-card .chip{color:#fff;font-variant-numeric:tabular-nums;border-radius:999px;padding:2px 8px;font-size:11px}.detail-card .chip.opus{background:var(--chip-opus)}.detail-card .chip.sonnet{background:var(--chip-sonnet)}.detail-card .chip.haiku{background:var(--chip-haiku)}.detail-card .chip.other{background:var(--text-faint);color:var(--text)}.tokens-row{border-top:1px solid #ffffff0d;grid-template-columns:repeat(5,1fr);gap:8px;margin-top:12px;padding-top:10px;display:grid}.tokens-row .t{font-size:11px}.tokens-row .t .k{color:var(--text-dim);text-transform:uppercase;letter-spacing:.4px;margin-bottom:2px;font-size:9px;display:block}.tokens-row .t .v{color:var(--text);font-variant-numeric:tabular-nums}.detail-card .stats2{grid-template-columns:repeat(5,1fr);gap:8px;margin-top:8px;display:grid}.detail-card .stats2 .s{font-size:12px}.detail-card .stats2 .k{color:var(--text-dim);margin-right:6px}.detail-card .stats2 .v{color:var(--text);font-variant-numeric:tabular-nums;font-weight:700}.history-table{border-collapse:collapse;width:100%;font-size:12px}.history-table thead th{color:var(--text-dim);text-align:left;background:var(--panel-bg);border-bottom:1px solid #ffffff1a;padding:6px 8px;font-weight:600;position:sticky;top:0}.history-table tbody td{font-variant-numeric:tabular-nums;border-bottom:1px solid #ffffff0a;padding:6px 8px}.history-table tbody td.num{text-align:right}.history-table tbody tr:hover td{cursor:pointer;background:#ffffff05}.history-table tbody tr.selected td{background:var(--panel-bg-2)}.history-table.accent-cyan tbody tr.selected td:first-child{box-shadow:inset 3px 0 0 var(--accent-cyan)}.history-table.accent-pink tbody tr.selected td:first-child{box-shadow:inset 3px 0 0 var(--accent-pink)}.history-table tbody td.delta-up{color:var(--accent-red)}.history-table tbody td.delta-down{color:var(--accent-green)}.history-table .models-chips{flex-wrap:wrap;align-items:center;gap:4px;display:inline-flex}.history-table .models-chips .chip{padding:0 6px;font-size:11px}.history-table .models-chips-more{color:var(--text-faint);font-size:11px}.panel-empty{text-align:center;color:var(--text-faint);padding:24px 0;font-size:12px}.panel.blocks-collapsed{max-height:480px}.panel.blocks-collapsed .panel-body{overflow:hidden auto}.blocks-row{cursor:pointer;border-bottom:1px dashed #ffffff0d;padding:8px 0;font-size:12px;transition:background 80ms}.blocks-row:last-child{border-bottom:0}.blocks-row:hover{background:#60a5fa0f}.blocks-row:focus-visible{box-shadow:inset 0 0 0 1px var(--accent-blue);background:#60a5fa0f;outline:none}.blocks-row .meta{justify-content:space-between;align-items:center;margin-bottom:6px;display:flex}.blocks-row .label{color:var(--text);font-weight:600}.blocks-row .label .anchor-marker{color:var(--text-dim);margin-right:2px;font-weight:400}.blocks-row .cost{color:var(--text);font-variant-numeric:tabular-nums;font-weight:700}.blocks-row .gauge-track{background:#ffffff0a;border-radius:4px;height:14px;overflow:hidden}.blocks-row .gauge-fill{height:100%;transition:width .28s ease-out;display:flex}.blocks-row .gauge-fill>span{height:100%;display:block}.blocks-row .gauge-fill .seg-opus{background:var(--accent-purple)}.blocks-row .gauge-fill .seg-sonnet{background:var(--accent-blue)}.blocks-row .gauge-fill .seg-haiku{background:var(--accent-green)}.blocks-row .gauge-fill .seg-other{background:var(--text-dim)}.blocks-row .pill-active{background:var(--pill-bg);color:var(--accent-amber);letter-spacing:.4px;border-radius:999px;margin-left:6px;padding:1px 6px;font-size:10px;font-weight:700;display:inline-block}.panel.daily-collapsed{max-height:520px}.panel.daily-collapsed .panel-body{overflow:hidden auto}.daily-legend{color:var(--text-dim);text-transform:uppercase;letter-spacing:.6px;align-items:center;gap:10px;margin-bottom:14px;font-size:11px;display:flex}.daily-legend .scale{gap:3px;display:flex}.daily-legend .scale span{border-radius:3px;width:16px;height:10px;display:block}.daily-legend .scale .h0{background:#ffffff0d}.daily-legend .scale .h1{background:#60a5fa1a}.daily-legend .scale .h2{background:#60a5fa38}.daily-legend .scale .h3{background:#c084fc52}.daily-legend .scale .h4{background:#ec489966}.daily-legend .scale .h5{background:#fbbf2480}.daily-cal-grid{grid-template-columns:minmax(72px,auto) repeat(7,minmax(0,1fr));grid-auto-rows:64px;align-items:stretch;gap:8px;display:grid}.daily-week-label{border-right:1px solid var(--border-soft);flex-direction:column;justify-content:center;min-width:0;padding-right:8px;display:flex}.daily-week-label .wk{color:var(--text);font-size:12px;font-weight:700;font-family:var(--font-mono);letter-spacing:.5px;line-height:1.1}.daily-week-label .rng{color:var(--text-dim);font-size:10.5px;font-family:var(--font-mono);white-space:nowrap;margin-top:3px;line-height:1.1}.daily-cell{color:var(--text-dim);background-image:radial-gradient(120% 120% at 0 0,#ffffff12 0%,#0000 55%);border:1px solid #ffffff0a;border-radius:8px;flex-direction:column;justify-content:space-between;align-items:stretch;min-width:0;padding:6px 9px 7px;font-size:10px;display:flex;position:relative;overflow:hidden}.daily-cell .d{color:var(--text-dim);font-variant-numeric:tabular-nums;font-size:11px;font-weight:500;font-family:var(--font-mono);letter-spacing:.4px;align-self:flex-start;line-height:1}.daily-cell .c{color:var(--text);font-variant-numeric:tabular-nums;font-size:16px;font-family:var(--font-mono);letter-spacing:-.3px;align-self:center;margin-bottom:2px;font-weight:800;line-height:1}.daily-cell.is-today{outline:2px solid var(--accent-cyan);outline-offset:-2px}.daily-cell.h0{color:#ffffff4d;background-color:#ffffff05}.daily-cell.h0 .d{color:#fff6}.daily-cell.h0 .c{color:#ffffff59;font-weight:600}.daily-cell.h1{background-color:#60a5fa2e}.daily-cell.h2{background-color:#818cf84d}.daily-cell.h3{background-color:#c084fc61}.daily-cell.h4{background-color:#ec48996b}.daily-cell.h5{background-color:#fb923c8c;border-color:#fb923c8c}.daily-cell.h5 .c{color:#fff7e8}.daily-cell.h5 .d{color:#ffffffd9}@keyframes daily-fade-in{0%{opacity:0}to{opacity:1}}.daily-cell.first-mount{animation:.28s ease-out both daily-fade-in;animation-delay:var(--daily-stagger,0s)}.daily-month-continues{color:var(--text-faint);letter-spacing:.5px;text-transform:lowercase;font-size:11px;font-family:var(--font-mono);justify-content:center;align-items:center;gap:12px;min-width:0;display:flex}.daily-month-continues:before,.daily-month-continues:after{content:"";border-top:1px dashed #ffffff1a;flex:auto;min-width:12px}.daily-foot{border-top:1px solid var(--accent-line);grid-template-columns:1fr 1fr;gap:24px;margin-top:18px;padding-top:14px;display:grid}.daily-foot-col{align-items:center;gap:14px;min-width:0;display:flex}.daily-foot-icon{flex-shrink:0;width:28px;height:28px}.daily-foot-icon.icon-total{color:var(--accent-indigo)}.daily-foot-icon.icon-peak{color:var(--accent-amber)}.daily-foot-text{flex-direction:column;min-width:0;display:flex}.daily-foot-text .lbl{color:var(--text-dim);letter-spacing:.3px;margin-bottom:2px;font-size:11px}.daily-foot-text .val{color:var(--text);font-size:18px;font-weight:800;font-family:var(--font-mono);font-variant-numeric:tabular-nums;letter-spacing:-.3px;align-items:baseline;gap:8px;display:flex}.daily-foot-text .val .d{color:var(--text);font-size:14px;font-weight:700}.daily-foot-text .val .a{color:var(--accent-amber);font-size:18px;font-weight:800}.daily-modal-bars{background:#6366f10a;border:1px solid #6366f11f;border-radius:10px;padding:14px 16px}.daily-modal-bars-head{color:var(--text-dim);text-transform:uppercase;letter-spacing:.06em;justify-content:space-between;align-items:center;margin-bottom:12px;font-size:11px;display:flex}.daily-modal-bars-head .hint{color:var(--text-dim);text-transform:none;letter-spacing:0;font-size:10px}.daily-modal-bars-grid{grid-template-columns:repeat(30,minmax(6px,1fr));align-items:end;gap:3px;height:96px;display:grid}.daily-modal-bars-grid .bar{background:linear-gradient(to top, color-mix(in srgb, var(--accent-indigo) 70%, transparent), color-mix(in srgb, var(--accent-indigo) 90%, transparent));cursor:pointer;border:none;border-radius:3px 3px 0 0;min-width:6px;padding:0;transition:filter .15s,transform .15s}.daily-modal-bars-grid .bar:hover{filter:brightness(1.25);transform:translateY(-1px)}.daily-modal-bars-grid .bar:focus-visible{outline:2px solid var(--accent-amber);outline-offset:2px}.daily-modal-bars-grid .bar.zero{cursor:default;background:#ffffff0f}.daily-modal-bars-grid .bar.zero:hover{filter:none;transform:none}.daily-modal-bars-grid .bar.sel{background:linear-gradient(#fbbf24,#f59e0b);box-shadow:0 0 0 2px #fbbf2459}.daily-modal-bars-grid .bar.today{outline-offset:1px;outline:1px dashed #fbbf2473}.daily-modal-bars-axis{color:var(--text-dim,#6f7a8b);justify-content:space-between;margin-top:8px;font-size:10px;display:flex}.detail-card .tokens-row .t.cache .v{color:#fbbf24}.detail-card .tokens-row .t.cache .bar{background:#ffffff0f;border-radius:2px;height:4px;margin-top:6px;overflow:hidden}.detail-card .tokens-row .t.cache .bar .fill{background:linear-gradient(90deg,#f59e0b,#fbbf24);border-radius:2px;height:100%}.daily-cell{cursor:pointer;font:inherit;color:inherit;text-align:left}.daily-cell:focus-visible{outline:2px solid var(--accent-amber);outline-offset:2px;border-radius:8px}.daily-foot-peak{cursor:pointer;font:inherit;color:inherit;text-align:left;background:0 0;border:none;padding:0}.daily-foot-peak:hover{filter:brightness(1.08)}.daily-foot-peak:focus-visible{outline:2px solid var(--accent-amber);outline-offset:2px;border-radius:6px}.panel-host{outline:none;flex-direction:column;min-width:0;display:flex;position:relative}.panel-host>.panel{flex:auto}.panel-host.is-dragging{z-index:10;cursor:grabbing}.panel-host.is-dragging>.panel{transition:box-shadow .12s;box-shadow:0 14px 40px #00000073}.panel-grip-hint{pointer-events:none;opacity:0;color:var(--text-dim);z-index:2;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:9px;font-style:italic;transition:opacity .1s;position:absolute;bottom:6px;right:14px}.panel-host:hover .panel-grip-hint{opacity:.55}.panel-host:hover,.panel-host:hover>.panel{cursor:grab}.panel-host.is-dragging:hover,.panel-host.is-dragging:hover>.panel{cursor:grabbing}.panel-grip{width:24px;height:24px;font-family:var(--font-mono);letter-spacing:-1px;color:var(--text-dim);-webkit-user-select:none;user-select:none;touch-action:none;cursor:grab;border-radius:4px;justify-content:center;align-items:center;padding:4px;font-size:13px;display:inline-flex}.panel-host.is-dragging .panel-grip{cursor:grabbing}.panel-header>.panel-grip{margin-left:auto}@media (pointer:fine){.panel-grip{display:none}}.settings-fs.layout-fs .settings-btn{margin-top:6px}.onboarding-toast{background:var(--panel-bg);border:1px solid var(--accent-indigo,#818cf8);color:var(--text);z-index:1000;border-radius:6px;align-items:center;gap:10px;max-width:320px;padding:10px 12px;font-size:12px;display:flex;position:fixed;bottom:16px;right:16px;box-shadow:0 6px 24px #00000059}.onboarding-toast-msg{flex:1;line-height:1.35}.onboarding-toast-dismiss{color:var(--text-dim);cursor:pointer;background:0 0;border:0;padding:0 4px;font-size:18px;line-height:1}.onboarding-toast-dismiss:hover{color:var(--text)}@media (prefers-reduced-motion:reduce){.panel-host.is-dragging>.panel{transition:none}}.th-sortable{cursor:pointer;-webkit-user-select:none;user-select:none;position:relative}.th-sortable:focus-visible{outline:2px solid var(--accent-cyan);outline-offset:-2px}.th-sort-btn{color:inherit;font:inherit;cursor:pointer;background:0 0;border:none;align-items:center;gap:4px;margin:0;padding:0;display:inline-flex}.th-caret{min-width:.7em;font-size:.85em;display:inline-block}.th-sortable.is-sorted .th-label{color:var(--th-accent,var(--accent-cyan));font-weight:700}.th-sortable.is-sorted .th-caret{color:var(--th-accent,var(--accent-cyan))}.settings-hint{color:var(--text-dim,#8a8a8a);margin:4px 0 0;font-size:12px}.panel.alerts-collapsed{max-height:360px}.panel.alerts-collapsed .panel-body{overflow:hidden auto}.toast.toast--alert{cursor:pointer;background:linear-gradient(180deg, var(--panel-bg) 0%, var(--panel-bg-2) 100%);border-radius:8px;width:360px;padding:14px 16px}.toast--severity-info{border:1px solid var(--accent-indigo);box-shadow:inset 0 0 28px #818cf80f,0 8px 24px #00000080}.toast--severity-warn{border:1px solid var(--accent-amber);box-shadow:inset 0 0 28px #fbbf240f,0 8px 24px #00000080}.toast--severity-critical{border:1px solid var(--accent-red);box-shadow:inset 0 0 28px #ef444412,0 8px 24px #00000080}.toast--alert-head{align-items:center;gap:8px;margin-bottom:10px;display:flex}.toast--alert-threshold{letter-spacing:-.5px;font-size:22px;font-weight:800;font-family:var(--font-mono)}.toast--severity-info .toast--alert-threshold{color:var(--accent-indigo)}.toast--severity-warn .toast--alert-threshold{color:var(--accent-amber)}.toast--severity-critical .toast--alert-threshold{color:var(--accent-red)}.toast--alert-dismiss-hint{color:var(--text-faint);margin-left:auto;font-size:11px}.toast--alert-title{color:var(--text);margin-bottom:4px;font-size:14px;font-weight:700}.toast--alert-sub{color:var(--text-dim);margin-bottom:6px;font-size:12px}.toast--alert-body{color:var(--text);font-size:13px}.toast--alert-body .num{color:var(--accent-amber);font-weight:700}.toast--severity-info .toast--alert-body .num{color:var(--accent-indigo)}.toast--severity-critical .toast--alert-body .num{color:var(--accent-red)}.chip{letter-spacing:1px;font-size:10px;font-weight:800;font-family:var(--font-mono);border-radius:3px;padding:2px 7px}.chip--weekly{color:var(--accent-purple);background:#c084fc29}.chip--five_hour{color:var(--accent-cyan);background:#22d3ee29}.chip--budget{color:var(--accent-green);background:#3ddc8429}.chip--projected{color:var(--accent-indigo);background:#818cf829}.chip--project_budget{color:var(--accent-teal);background:#2dd4bf29}.chip--codex_budget{color:var(--accent-orange);background:#fb923c29}.alert-row{border-bottom:1px solid var(--border-soft);align-items:baseline;gap:14px;padding:8px 0;display:flex}.alert-row:last-child{border-bottom:none}.alert-threshold{letter-spacing:-.5px;font-size:18px;font-weight:800;font-family:var(--font-mono);text-align:right;width:50px}.alert-threshold.info{color:var(--text-dim)}.alert-threshold.warn{color:var(--accent-amber)}.alert-threshold.critical{color:var(--accent-red)}.alert-when{color:var(--text-dim);flex:1;font-size:12px}.alerts-empty{color:var(--text-faint);text-align:center;padding:32px 0;font-size:13px}.share-overlay{z-index:200;background:#0000008c;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.share-modal{z-index:1;background:var(--panel-bg);border:2px solid var(--accent-blue);border-radius:8px;flex-direction:column;width:min(960px,94vw);max-height:90vh;font-family:inherit;display:flex;position:relative;overflow:hidden}.share-modal-header{border-bottom:1px solid var(--border-soft);justify-content:space-between;align-items:center;padding:12px 56px 12px 18px;display:flex}.share-modal-header h2{margin:0;font-size:17px;font-weight:500}.share-modal-close{color:inherit;cursor:pointer;background:0 0;border:none;padding:4px 8px;font-size:22px;line-height:1;position:absolute;top:12px;right:18px}.share-modal-close:hover{color:var(--accent-red)}.share-modal-body{scrollbar-gutter:stable;flex-direction:column;flex:1;gap:14px;padding:14px 18px;display:flex;overflow:auto}.share-section{flex-direction:column;gap:10px;display:flex}.share-main-section{flex-direction:row;gap:18px}.share-knobs-col{flex:0 0 280px;min-width:0}.share-preview-col{flex-direction:column;flex:1 1 0;min-width:0;min-height:320px;display:flex}.share-gallery{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.share-gallery-error{color:var(--accent-red);border:1px solid var(--accent-red);border-radius:4px;padding:10px;font-size:13px}.share-tile{background:var(--panel-bg-2);border:1px solid var(--border-soft);text-align:left;color:inherit;cursor:pointer;border-radius:6px;flex-direction:column;gap:4px;min-height:70px;padding:12px;font-family:inherit;display:flex}.share-tile:hover:not([disabled]):not(.share-tile-selected){border-color:var(--text-dim)}.share-tile-selected{border-color:var(--accent-blue);outline:1px solid var(--accent-blue)}.share-tile-disabled{opacity:.45;cursor:not-allowed}.share-tile-label{font-size:14px;font-weight:600}.share-tile-desc{color:var(--text-dim);font-size:12px;line-height:1.3}.share-tile-skeleton{background:var(--panel-bg-2);border:1px solid var(--border-soft);border-radius:6px;min-height:70px;padding:12px}.share-tile-skeleton-bar{background:var(--border-soft);border-radius:3px;height:14px;margin-bottom:8px}.share-tile-skeleton-bar.short{width:60%;height:10px}.share-knobs{flex-direction:column;gap:10px;display:flex}.share-knob{flex-direction:column;gap:4px;display:flex}.share-knob>label,.share-knob>.share-knob-label{color:var(--text-dim);text-transform:uppercase;letter-spacing:.02em;font-size:12px}.share-knob input[type=number],.share-knob input[type=date],.share-knob select{background:var(--panel-bg-2);border:1px solid var(--border-soft);color:inherit;border-radius:4px;padding:6px 8px;font-family:inherit;font-size:13px}.share-knob input[type=number]:focus,.share-knob input[type=date]:focus,.share-knob select:focus{outline:1px solid var(--accent-blue)}.share-knob-radiogroup{gap:12px;display:flex}.share-knob-radio,.share-knob-checkbox{cursor:pointer;align-items:center;gap:6px;font-size:13px;display:inline-flex}.share-knob-period-custom{gap:8px;margin-top:4px;display:flex}.share-knob-sublabel{color:var(--text-dim);flex-direction:column;gap:2px;font-size:11px;display:flex}.share-knob-allowlist-stub{background:var(--panel-bg-2);border:1px dashed var(--border-soft);color:var(--text-dim);text-align:left;cursor:not-allowed;border-radius:4px;padding:6px 8px;font-family:inherit;font-size:12px}.share-preview{background:var(--panel-bg-2);border:1px solid var(--border-soft);border-radius:4px;flex:1;min-height:280px;padding:12px;font-size:13px;overflow:auto}.share-preview-iframe{border:1px solid var(--border-soft);background:#fff;flex:1;width:100%;min-height:280px;padding:0}.share-preview-md{white-space:pre-wrap;word-break:break-word;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px}.share-preview-empty,.share-preview-loading{color:var(--text-dim);justify-content:center;align-items:center;display:flex}.share-preview-error{border-color:var(--accent-red);color:var(--accent-red);background:#ef444414}.share-preview-error-title{margin-bottom:6px;font-weight:600}.share-preview-error-message{font-size:12px}.share-preview-error-field{color:var(--text-dim)}.share-modal-footer{border-top:1px solid var(--border-soft);background:var(--panel-bg);padding:12px 18px}.share-actions{flex-direction:column;gap:10px;display:flex}.share-format-row{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.share-format-label{color:var(--text-dim);text-transform:uppercase;font-size:12px}.share-format-radio{cursor:pointer;align-items:center;gap:6px;font-size:13px;display:inline-flex}.share-save-preset-row{justify-content:flex-end;display:flex}.share-save-preset{background:var(--panel-bg-2);border:1px solid var(--border-soft);color:var(--text-dim);cursor:not-allowed;border-radius:4px;margin-left:auto;padding:4px 10px;font-family:inherit;font-size:12px}.share-action-row{flex-wrap:wrap;gap:8px;display:flex}.share-action{background:var(--panel-bg-2);border:1px solid var(--border-soft);color:inherit;cursor:pointer;border-radius:4px;padding:8px 14px;font-family:inherit;font-size:13px}.share-action:hover:not([disabled]){border-color:var(--accent-blue)}.share-action[disabled],.share-action-disabled{opacity:.45;cursor:not-allowed}.share-action-copy:not([disabled]){border-color:var(--accent-green)}.share-action-download:not([disabled]){border-color:var(--accent-blue)}.share-action-open:not([disabled]){border-color:var(--accent-cyan)}.share-action-png:not([disabled]){border-color:var(--accent-purple)}.share-action-print:not([disabled]){border-color:var(--accent-amber)}.share-action-error{color:var(--accent-red);margin-top:6px;font-size:12px}.composer-modal{z-index:210;background:var(--panel-bg);flex-direction:column;font-family:inherit;display:flex;position:fixed;inset:0}.composer-modal:before{content:"";z-index:-1;background:#0000008c;position:absolute;inset:0}.composer-modal-header{border-bottom:1px solid var(--border-soft);background:var(--panel-bg);justify-content:space-between;align-items:center;padding:12px 18px;display:flex}.composer-modal-header h2{margin:0;font-size:17px;font-weight:500}.composer-modal-close{color:inherit;cursor:pointer;background:0 0;border:none;padding:4px 8px;font-size:22px;line-height:1}.composer-modal-close:hover{color:var(--accent-red)}.composer-empty-message{color:var(--text-dim);padding:18px}.composer-knobs{background:var(--panel-bg);border-bottom:1px solid var(--border-soft);flex-wrap:wrap;gap:12px;padding:10px 18px;font-size:13px;display:flex}.composer-knobs label{align-items:center;gap:6px;display:inline-flex}.composer-anon-banner{background:var(--accent-yellow,#fbbf24);color:var(--bg-elevated,#0f172a);border-bottom:1px solid var(--border-soft);flex-wrap:wrap;align-items:center;gap:10px;padding:8px 18px;font-size:13px;display:flex}.composer-anon-banner button{color:inherit;cursor:pointer;background:0 0;border:1px solid;border-radius:4px;padding:2px 8px;font-size:12px}.composer-anon-banner button:hover{background:#0000001a}.composer-body{flex:1;grid-template-columns:minmax(220px,320px) 1fr;gap:16px;min-height:0;padding:16px;display:grid;overflow:hidden}.composer-section-list{margin:0;padding:0;list-style:none;overflow-y:auto}.composer-section-row{border:1px solid var(--border-soft);background:var(--panel-bg-2,var(--panel-bg));border-radius:6px;align-items:center;gap:8px;margin-bottom:6px;padding:8px;display:flex;position:relative}.composer-section-label{flex:1;min-width:0}.composer-drag-handle{touch-action:none;cursor:grab;color:var(--text-dim,#64748b);background:0 0;border:none;padding:4px 6px;font-size:14px}.composer-drag-handle:active{cursor:grabbing}.composer-section-actions{position:relative}.composer-section-menu{background:var(--panel-bg);border:1px solid var(--border-soft);z-index:10;border-radius:4px;min-width:180px;margin:4px 0 0;padding:4px 0;list-style:none;position:absolute;top:100%;right:0;box-shadow:0 4px 12px #00000059}.composer-section-menu li{padding:0}.composer-section-menu button{text-align:left;width:100%;color:inherit;cursor:pointer;background:0 0;border:none;padding:6px 12px;font-size:13px}.composer-section-menu button:hover{background:var(--border-soft)}.composer-outdated-badge{background:var(--accent-yellow,#fbbf24);color:var(--bg-elevated,#0f172a);border-radius:4px;padding:1px 6px;font-size:11px;font-weight:600}.composer-preview{border:1px solid var(--border-soft);background:#fff;width:100%;height:100%;min-height:0}.composer-busy,.composer-error{color:var(--text-dim);padding:6px 18px;font-size:12px}.composer-error{color:var(--accent-red)}.composer-actions{border-top:1px solid var(--border-soft);background:var(--panel-bg);flex-wrap:wrap;align-items:center;gap:12px;padding:12px 18px;display:flex}.composer-export-row{flex-wrap:wrap;gap:8px;display:flex}.composer-clear-all{margin-left:auto}@media (prefers-reduced-motion:reduce){.share-overlay,.share-modal,.composer-modal,.share-manage-modal,.share-presets-menu,.share-savepreset-popover{transition:none!important;animation:none!important}}@media (width<=640px){:root{--mobile-vh:100dvh}body{padding:8px;padding-left:max(8px, env(safe-area-inset-left));padding-right:max(8px, env(safe-area-inset-right))}input,textarea,select{font-size:16px}.footer{display:none}.topbar{z-index:50;padding:6px 10px;padding-top:max(6px, env(safe-area-inset-top));flex-wrap:wrap;gap:6px 12px;margin-bottom:8px;position:sticky;top:0}.topbar .stat[data-mobile-keep=secondary]{display:none}.topbar .stat[data-stat=brand]{flex:none;order:0;min-width:0}.topbar .stat[data-stat=week]{flex:0 auto;order:1;min-width:0}.topbar .stat[data-stat=used]{flex:0 auto;order:2;min-width:0}.topbar .stat[data-stat=dollar-per-pct]{flex:0 auto;order:3;min-width:0}.topbar .stat[data-stat=forecast]{display:none}.topbar:after{content:"";flex-basis:100%;order:4;height:0}.topbar .topbar-actions{order:5;gap:4px;width:100%;margin-left:0}.topbar .topbar-actions .doctor-chip{margin-right:auto}.topbar .topbar-brand .brand-name,.topbar .topbar-brand .brand-version{display:none}.topbar .topbar-brand{gap:0!important}.topbar .stat[data-stat=week] .v{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.topbar .stat[data-stat=week] .k,.topbar .stat .mute[data-mobile-keep=secondary]{display:none}.topbar .pill-warn{padding:1px 6px;font-size:10px}.topbar-actions>.topbar-icon-btn{display:inline-flex}.topbar-icon-btn{background:var(--panel-bg-2);border:1px solid var(--border-soft);width:44px;height:44px;color:inherit;cursor:pointer;border-radius:6px;justify-content:center;align-items:center;padding:0;display:inline-flex}.topbar-icon-btn .icon{width:20px;height:20px}.topbar-icon-btn:active{background:var(--panel-bg)}.topbar-sync{border:1px solid var(--border-soft);background:var(--panel-bg-2);border-radius:6px;justify-content:center;width:44px;min-width:44px;height:44px;min-height:44px;padding:0}.topbar-sync .icon{flex-shrink:0;width:20px;height:20px}.topbar-sync .sync-chip{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}#modal-root{justify-content:stretch;align-items:flex-end}.modal-backdrop{background:#000000b3}.modal-card{max-height:calc(100dvh - max(32px, env(safe-area-inset-top)));height:calc(100dvh - max(32px, env(safe-area-inset-top)));padding-bottom:env(safe-area-inset-bottom);border-width:1px 1px medium;border-bottom-style:none;border-bottom-color:currentColor;border-radius:14px 14px 0 0;animation:.18s ease-out cctally-sheet-up;width:100%!important}@keyframes cctally-sheet-up{0%{transform:translateY(100%)}to{transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.modal-card{animation:none}}.modal-handle{background:var(--text-faint);border-radius:2px;flex-shrink:0;width:36px;height:4px;margin:8px auto 4px}.modal-header{background:var(--panel-bg);z-index:1;padding:8px 14px 10px;position:sticky;top:0}.modal-header h2{font-size:17px;font-weight:600}.modal-close{justify-content:center;align-items:center;width:44px;height:44px;font-size:22px;display:inline-flex}.modal-body{scrollbar-gutter:auto;padding:12px 14px}.history-table{width:100%}.history-table thead{display:none}.history-table tbody,.history-table tr{width:100%;display:block}.history-table tr{border-bottom:1px solid var(--border-soft);flex-wrap:wrap;align-items:baseline;gap:4px 8px;padding:8px 4px;display:flex}.history-table tr.selected{background:#ffffff06;border-left:2px solid;padding-left:8px}.history-table tbody td{border:none;padding:0}.history-table td:first-child{text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:0;font-weight:600;overflow:hidden}.history-table td:nth-child(2){flex:100%;order:3;margin-top:2px}.history-table td.num:nth-child(3){flex:none;order:2;margin-left:auto;font-weight:700}.history-table--weekly td.num:nth-child(4),.history-table--weekly td.num:nth-child(5){display:none}.history-table td.num:last-child{flex:none;order:4;margin-left:auto;font-size:12px}.detail-card .head{flex-direction:column;align-items:flex-start;gap:4px}.detail-card .stats2,.detail-card .tokens-row{grid-template-columns:1fr 1fr}.detail-card .chips{flex-wrap:wrap}.m-hero.cols-2,.m-hero.cols-3,.m-hero.cols-4{grid-template-columns:1fr;gap:10px}.m-histable#mtr-table{width:100%}.m-histable#mtr-table thead{display:none}.m-histable#mtr-table tbody,.m-histable#mtr-table tr{width:100%;display:block}.m-histable#mtr-table tr{border-bottom:1px solid var(--border-soft);flex-wrap:wrap;align-items:baseline;gap:4px 8px;padding:8px 4px;display:flex}.m-histable#mtr-table td{border:none;padding:0}.m-histable#mtr-table td:first-child{text-overflow:ellipsis;white-space:nowrap;flex:auto;order:1;min-width:0;font-weight:600;overflow:hidden}.m-histable#mtr-table td:nth-child(4){flex:none;order:2;margin-left:auto;font-weight:700}.m-histable#mtr-table td:nth-child(2){color:var(--text-dim);flex:50%;order:3;font-size:12px}.m-histable#mtr-table td:nth-child(3){color:var(--text-dim);flex:50%;order:4;font-size:12px}.m-histable#mcw-table{width:100%}.m-histable#mcw-table thead{display:none}.m-histable#mcw-table tbody,.m-histable#mcw-table tr{width:100%;display:block}.m-histable#mcw-table tr{border-bottom:1px solid var(--border-soft);flex-wrap:wrap;align-items:baseline;gap:4px 8px;padding:8px 4px;display:flex}.m-histable#mcw-table td{border:none;padding:0}.m-histable#mcw-table td:first-child{flex:none;order:1;font-weight:600}.m-histable#mcw-table td:nth-child(3){text-align:right;flex:auto;order:2;margin-left:auto;font-weight:700}.m-histable#mcw-table td:nth-child(2),.m-histable#mcw-table td:nth-child(4),.m-histable#mcw-table td:nth-child(5){color:var(--text-dim);flex:none;order:3;font-size:12px}.m-histable#mcw-table td:nth-child(4):after{content:" · ";color:var(--text-faint)}.m-histable#mcw-table td:nth-child(2){flex-basis:100%;margin-top:2px}.alerts-table{width:100%}.alerts-table thead{display:none}.alerts-table tbody,.alerts-table tr{width:100%;display:block}.alerts-table tr.alert-modal-row{border-bottom:1px solid var(--border-soft);flex-wrap:wrap;align-items:baseline;gap:4px 8px;padding:8px 4px;display:flex}.alerts-table td{border:none;padding:0}.alerts-table td:first-child{flex:none;order:1;font-weight:700}.alerts-table td:nth-child(2){flex:none;order:2}.alerts-table td:nth-child(3){text-align:right;flex:auto;order:3;margin-left:auto;font-weight:700}.alerts-table td:nth-child(4){color:var(--text-dim);flex:100%;order:4;margin-top:2px;font-size:12px}.alerts-table td:nth-child(5){color:var(--text-faint);flex:100%;order:5;font-size:11px}#panel-sessions>.sessions-ctrls{border-bottom:1px solid var(--border-soft);flex-direction:row;align-items:center;gap:8px;padding:6px 12px 8px;display:flex}#panel-sessions>.sessions-ctrls .search-container{flex:auto;align-items:stretch;gap:4px;min-width:0;min-height:36px;display:flex}#panel-sessions>.sessions-ctrls .search-container .ctrl-input{flex:auto;width:auto;min-width:0}#panel-sessions>.sessions-ctrls .search-container .ctrl-btn{width:32px;min-width:32px;height:36px;min-height:36px;padding:0}#panel-sessions>.sessions-ctrls>.ctrl-btn{flex:none;justify-content:center;align-items:center;width:36px;min-width:36px;height:36px;min-height:36px;padding:0;display:inline-flex}#panel-sessions>.sessions-ctrls #sort-pill .label{display:none}.sess-table{width:100%}.sess-table thead{display:none}.sess-table tbody,.sess-table tr{width:100%;display:block}.sess-table tr.session-row{border-bottom:1px solid var(--border-soft);cursor:pointer;flex-wrap:wrap;align-items:baseline;gap:2px 10px;padding:8px 6px;display:flex}.sess-table tbody td{white-space:normal;border:none;padding:0}.sess-table td.project{text-overflow:ellipsis;white-space:nowrap;flex:auto;order:1;min-width:0;font-weight:600;overflow:hidden}.sess-table td.num{text-align:right;flex:none;order:2;margin-left:auto;font-weight:700}.sess-table tbody td.started{color:var(--text-dim);flex:none;order:3;margin-top:2px;font-size:12px}.sess-table td:nth-child(2){color:var(--text-dim);flex:none;order:4;font-size:12px}.sess-table td:nth-child(3){flex:none;order:5;align-items:center;display:inline-flex}.sess-table td.started:after,.sess-table td:nth-child(2):after{content:" · ";color:var(--text-faint)}.sess-table tr.session-row.search-match{background:#22d3ee12}.daily-cal-grid{grid-template-columns:repeat(7,minmax(0,1fr))}.daily-week-label{display:none}#help-overlay{align-items:flex-end;padding:0}#help-overlay .help-card{width:100%;min-width:0;height:calc(100dvh - 32px);max-height:calc(100dvh - 32px);padding:16px 14px;padding-top:max(16px, env(safe-area-inset-top));padding-bottom:max(16px, env(safe-area-inset-bottom));border-radius:14px 14px 0 0;overflow-y:auto}#help-overlay .help-gesture-list{margin:0 0 14px;padding:0;list-style:none}#help-overlay .help-gesture-list li{border-bottom:1px solid var(--border-soft);padding:10px 0;font-size:14px}#help-overlay .help-keyboard-disclosure summary{cursor:pointer;color:var(--accent-blue);padding:10px 0;font-size:13px}#help-overlay .help-keyboard-disclosure[open] summary{color:var(--text)}#settings-root .modal-card{min-width:0}.modal-card .settings-fs{min-width:0;width:100%!important}.modal-card .settings-actions{background:var(--panel-bg);border-top:1px solid var(--border-soft);padding:10px 14px;padding-bottom:max(10px, env(safe-area-inset-bottom));flex-wrap:wrap;gap:8px;margin:14px -14px -12px;display:flex;position:sticky;bottom:0}.modal-card .settings-btn{flex:auto;min-height:44px}.panel-grip-hint{display:none!important}.chip,kbd{min-height:24px;padding:2px 8px}.model-chip{min-height:28px;padding:4px 10px}.ctrl-btn,.panel-collapse-toggle,.share-icon{min-width:44px;min-height:44px}:root{--topbar-h:104px}#settings-root{align-items:flex-end}.mcw-pbar .ticks .tick:after{content:none}.chip.model-chip{position:relative}.chip.model-chip:before{content:"";position:absolute;inset:-8px 0}.share-overlay{justify-content:stretch;align-items:stretch}.share-modal{border-left:none;border-right:none;border-radius:0;width:100vw;max-width:100vw;height:100dvh;max-height:100dvh}.share-modal-body{padding:12px 14px}.share-main-section{flex-direction:column}.share-knobs-col{flex:none}.share-gallery{grid-template-columns:1fr}.share-action{flex:auto;min-height:44px}.share-format-row{gap:8px}.share-save-preset{margin-left:0}.composer-modal-mobile .composer-knobs{flex-wrap:wrap;gap:8px}.composer-modal-mobile .composer-body{grid-template-rows:auto 1fr;grid-template-columns:1fr;gap:10px;padding:10px}.composer-modal-mobile .composer-section-list{flex-direction:row;max-height:none;padding-bottom:8px;display:flex;overflow:auto hidden}.composer-modal-mobile .composer-section-row{flex:none;min-width:180px;margin-bottom:0;margin-right:6px}.composer-modal-mobile .composer-actions{background:var(--panel-bg);position:sticky;bottom:0}}.projects-body{flex-direction:column;gap:6px;padding:4px 0;display:flex}.projects-row{cursor:pointer;border-radius:4px;grid-template-columns:110px 1fr 56px 44px;align-items:center;gap:8px;padding:4px 6px;font-size:12.5px;display:grid}.projects-row:hover{background:#d946ef0f}.projects-row.tail{cursor:default}.projects-row.tail:hover{background:0 0}.projects-row:focus-visible{outline:2px solid var(--accent-magenta);outline-offset:-2px}.projects-row .name{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.projects-row .name.muted,.projects-row .cost.muted,.projects-row .pct.muted{color:var(--text-dim)}.projects-row .lb-bar{background:#d946ef1f;border-radius:3px;height:10px;position:relative;overflow:hidden}.projects-row .lb-bar:after{content:"";width:var(--w,0%);background:var(--accent-magenta);border-radius:3px;position:absolute;inset:0 auto 0 0}.projects-row .lb-bar.muted:after{background:var(--text-dim);opacity:.6}.projects-row .cost{color:var(--accent-green);text-align:right}.projects-row .pct{color:var(--accent-cyan);text-align:right}@media (width<=640px){#root .projects-row{grid-template-columns:90px 1fr 50px 36px;padding:4px}}.project-cell-link{color:inherit;cursor:pointer;font:inherit;text-align:left;background:0 0;border:none;padding:0}.project-cell-link:hover{color:var(--accent-magenta)}.project-cell-link:focus-visible{outline:2px solid var(--accent-magenta);outline-offset:2px}.projects-modal-body{padding:4px 0}.projects-controls{flex-wrap:wrap;align-items:center;gap:6px;padding:4px 0;display:flex}.projects-controls .pill{border:1px solid var(--border-soft);color:var(--text-dim);cursor:pointer;background:0 0;border-radius:999px;padding:3px 10px;font-size:11.5px}.projects-controls .pill.on{border-color:var(--accent-magenta);color:#f5d0fe;background:#d946ef2e}.projects-controls .sep{color:var(--text-dim);margin:0 4px}.projects-notice{color:var(--text-dim);padding:6px 2px 0;font-size:11.5px}.projects-trend{margin:8px 0}.projects-trend svg{border-bottom:1px solid var(--border-soft);width:100%;height:150px;display:block}.projects-trend-xaxis{color:var(--text-dim);justify-content:space-between;padding:4px 2px 0;font-size:10.5px;display:flex}.projects-trend-legend{flex-wrap:wrap;gap:12px;padding:8px 2px 4px;font-size:11.5px;display:flex}.projects-trend-legend .sw{vertical-align:middle;border-radius:2px;width:10px;height:10px;margin-right:5px;display:inline-block}.projects-table{border-collapse:collapse;width:100%;margin-top:6px;font-size:12.5px}.projects-table th,.projects-table td{text-align:right;padding:6px 8px}.projects-table th:first-child,.projects-table td:first-child{text-align:left}.projects-table thead th{color:var(--accent-amber);font-weight:700}.projects-table tbody td.project{color:var(--accent-blue)}.projects-table tbody td.started{color:var(--accent-cyan)}.projects-table tbody td.cost-low{color:var(--accent-green)}.projects-table tbody td.cost-mid{color:var(--accent-amber)}.projects-table tbody td.cost-high{color:var(--accent-red)}.projects-table tbody td.cost-xs{color:var(--accent-green)}.projects-table tbody tr{cursor:pointer}.projects-table tbody tr:hover{background:#d946ef0f}.projects-table tbody tr.selected{background:#d946ef24;outline:1px solid #d946ef80}.projects-table-toggle{border:1px dashed var(--border-soft);color:var(--text-dim);font:inherit;cursor:pointer;text-align:center;background:0 0;border-radius:6px;width:100%;margin:6px 0 0;padding:6px 12px;font-size:12px;display:block}.projects-table-toggle:hover{color:var(--accent-magenta);border-color:var(--accent-magenta);background:#d946ef0a}.projects-table-toggle:focus-visible{outline:2px solid var(--accent-magenta);outline-offset:2px}.projects-modal-footer-hint{border-top:1px solid var(--border-soft);color:var(--text-dim);flex-wrap:wrap;align-items:baseline;gap:4px 8px;margin-top:14px;padding-top:10px;font-size:12px;display:flex}.projects-modal-footer-hint .sep{color:var(--border-soft)}.projects-modal-footer-hint kbd{border:1px solid var(--border-soft);color:var(--text-dim);background:#ffffff0a;border-radius:3px;margin:0 1px;padding:1px 4px;font-family:inherit;font-size:11px}.projects-modal-footer-hint .sync-chip{background:0 0;margin-left:auto;padding:0;font-size:12px}.projects-drill{border:1px dashed var(--border-soft);background:#d946ef0a;border-radius:8px;margin-top:14px;padding:12px 14px}.projects-drill-head .title{color:#f5d0fe;font-size:13px;font-weight:700}.projects-drill-grid{grid-template-columns:1fr 1fr;gap:16px;margin-top:8px;display:grid}.projects-drill .section-label{color:var(--text-dim);text-transform:uppercase;letter-spacing:.04em;margin-bottom:4px;font-size:11.5px}.projects-drill .muted{color:var(--text-dim);font-size:12px}.drill-bar-row{grid-template-columns:110px 1fr 60px;align-items:center;gap:6px;margin:3px 0;font-size:12px;display:grid}.drill-bar{background:#d946ef1a;border-radius:2px;height:8px;position:relative}.drill-bar:after{content:"";width:var(--w,0%);background:var(--accent-magenta);border-radius:2px;position:absolute;inset:0 auto 0 0}.drill-bar-row .cost{text-align:right}.drill-bar-row .cost.cost-xs,.drill-bar-row .cost.cost-low,.drill-session-row .cost.cost-xs,.drill-session-row .cost.cost-low{color:var(--accent-green)}.drill-bar-row .cost.cost-mid,.drill-session-row .cost.cost-mid{color:var(--accent-amber)}.drill-bar-row .cost.cost-high,.drill-session-row .cost.cost-high{color:var(--accent-red)}.drill-session-row{color:inherit;font:inherit;cursor:pointer;text-align:left;background:0 0;border:none;grid-template-columns:1fr auto auto;align-items:center;gap:8px;width:100%;padding:4px 0;display:grid}.drill-session-row .started{color:var(--accent-cyan)}.drill-session-row:hover{color:var(--accent-magenta)}.drill-session-row+.drill-session-row{border-top:1px solid var(--border-soft)}.drill-session-row .cost{text-align:right}.drill-session-footer{justify-content:space-between;align-items:baseline;gap:12px;padding-top:6px;font-size:12px;display:flex}.drill-session-footer .muted{font-size:12px}.drill-show-in-sessions{font:inherit;color:var(--accent-cyan);cursor:pointer;background:0 0;border:none;margin-left:auto;padding:0}.drill-show-in-sessions:hover{color:var(--accent-magenta)}@media (width<=640px){#root .projects-drill-grid{grid-template-columns:1fr;gap:12px}#root .projects-trend svg{width:100%;height:110px}#root .projects-trend-legend{scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch;flex-wrap:nowrap;padding-right:24px;overflow:auto hidden;-webkit-mask-image:linear-gradient(90deg,#000 0 calc(100% - 28px),#0000 100%);mask-image:linear-gradient(90deg,#000 0 calc(100% - 28px),#0000 100%)}#root .projects-trend-legend .projects-trend-legend-item{scroll-snap-align:start;flex-shrink:0;align-items:center;min-height:36px;display:inline-flex}#root .projects-trend-legend button.projects-trend-legend-item{color:inherit;font:inherit;cursor:pointer;background:0 0;border:none;margin:0;padding:0 4px}#root .projects-table thead{display:none}#root .projects-table tbody,#root .projects-table tr{width:100%;display:block}#root .projects-table tbody tr{border-bottom:1px solid var(--border-soft);cursor:pointer;flex-wrap:wrap;align-items:baseline;gap:2px 10px;padding:8px 6px;display:flex}#root .projects-table tbody td{white-space:normal;border:none;padding:0}#root .projects-table td.project{text-overflow:ellipsis;white-space:nowrap;flex:auto;order:1;min-width:0;font-weight:600;overflow:hidden}#root .projects-table td.cost-xs,#root .projects-table td.cost-low,#root .projects-table td.cost-mid,#root .projects-table td.cost-high{text-align:right;flex:none;order:2;margin-left:auto;font-weight:700}#root .projects-table td:nth-child(2),#root .projects-table td:nth-child(6),#root .projects-table td:nth-child(7),#root .projects-table td.started{color:var(--text-dim);flex:none;margin-top:2px;font-size:12px}#root .projects-table td:nth-child(2){order:3}#root .projects-table td:nth-child(6){order:4}#root .projects-table td:nth-child(7){order:5}#root .projects-table td.first-seen{order:6}#root .projects-table td.last-seen{order:7}#root .projects-table td:nth-child(2):after,#root .projects-table td:nth-child(6):after,#root .projects-table td:nth-child(7):after{content:" · ";color:var(--text-faint)}#root .projects-table td.first-seen:after{content:" → ";color:var(--text-faint)}#root .projects-table tbody tr.selected{background:#d946ef0f}#root .projects-table tr.projects-drill-row{cursor:default;border-bottom:1px solid var(--border-soft);background:#d946ef08;padding:8px 6px}#root .projects-table tr.projects-drill-row td{width:100%;display:block}#root .projects-mobile-sort{min-height:32px;color:var(--text);border:1px solid var(--border-soft);font:inherit;cursor:pointer;background:0 0;border-radius:14px;align-items:center;margin:4px 0 6px;padding:6px 12px;font-size:12.5px;display:inline-flex}#root .projects-mobile-sort:hover{background:#d946ef0f}#root .projects-mobile-sort:focus-visible{outline:2px solid var(--accent-magenta);outline-offset:2px}}.cr-status-row{align-items:center;gap:10px;margin-bottom:6px;display:flex}.cr-panel-header-inner{align-items:center;gap:10px;display:flex}.cr-glyph{font-size:20px;line-height:1}.cr-glyph.ok{color:var(--accent-green)}.cr-glyph.warn{color:var(--accent-amber)}.cr-glyph.thin{color:var(--text-dim)}.cr-headline{color:var(--text);font-size:13.5px;font-family:var(--font-mono);font-variant-numeric:tabular-nums}.cr-headline .delta-good{color:var(--accent-green)}.cr-headline .delta-bad{color:var(--accent-amber)}.cr-subline{color:var(--text-dim);font-size:11px;font-family:var(--font-mono);margin-top:4px}.cr-subline .ok{color:var(--accent-green)}.cr-subline .warn{color:var(--accent-amber)}.cr-spark{margin-top:10px;display:block}.cr-netbars-mini-wrap{flex:auto;min-height:60px;margin-top:6px;display:flex}.cr-netbars-mini{width:100%;height:100%;display:block}@media (width<=640px){.panel.cache-report-collapsed .cr-spark,.panel.cache-report-collapsed .cr-netbars-mini-wrap,.panel.cache-report-collapsed .cr-subline.second{display:none}}.crm-header{border-bottom:1px solid #2dd4bf47}.crm-spotlight{background:linear-gradient(#2dd4bf0a,#0000);border:1px solid #2dd4bf47;border-radius:8px;margin-bottom:18px;padding:14px 16px}.crm-spotlight.anom{background:linear-gradient(#fbbf2412,#0000);border-color:#fbbf2452}.crm-spotlight-row{flex-wrap:wrap;align-items:center;gap:14px;display:flex}.crm-spotlight .pill{color:var(--accent-amber);text-transform:uppercase;letter-spacing:.06em;background:#fbbf242e;border:1px solid #fbbf245c;border-radius:4px;align-items:center;gap:6px;padding:2px 10px;font-size:12px;font-weight:600;display:inline-flex}.crm-spotlight .pill.ok{color:var(--accent-green);background:#3ddc842e;border-color:#3ddc845c}.crm-spotlight .pill.thin{color:var(--text-dim);background:#ffffff0d;border-color:#ffffff1a}.crm-spotlight .k{color:var(--text-dim);text-transform:uppercase;letter-spacing:.04em;margin-right:4px;font-size:11px}.crm-spotlight strong{font-family:var(--font-mono);font-variant-numeric:tabular-nums;color:var(--text)}.crm-spotlight .reasons{color:var(--text-dim);font-size:11px;font-family:var(--font-mono);margin-top:8px}.crm-spotlight .reasons code{color:var(--accent-amber);background:0 0;padding:0}.crm-section{margin-bottom:18px}.crm-section .crm-section-head{text-transform:uppercase;letter-spacing:.06em;align-items:baseline;gap:10px;margin-bottom:8px;font-size:11px;font-weight:700;display:flex}.crm-section .meta{color:var(--text-faint);text-transform:none;letter-spacing:0;margin-left:auto;font-size:11px;font-weight:400}.crm-sh-spotlight{color:var(--accent-teal)}.crm-sh-timeline{color:var(--accent-cyan)}.crm-sh-net{color:var(--accent-purple)}.crm-sh-table{color:var(--accent-teal)}.crm-sh-projects{color:var(--accent-magenta)}.crm-sh-models{color:var(--accent-blue)}.crm-chart-frame{background:var(--panel-bg);border:1px solid var(--border-soft);border-radius:6px;padding:10px 12px}.crm-chart-frame.timeline{border-color:#22d3ee38}.crm-chart-frame.netbars{border-color:#c084fc38}.cr-spark-wrap{flex-direction:column;width:100%;display:flex}.cr-spark-wrap .cr-spark{flex:none;width:100%;height:auto;display:block}.cr-spark-axis{color:var(--text-dim);font-family:var(--font-mono);flex:none;padding-left:4px;font-size:10px;line-height:1.2}.crm-counterfactual{color:var(--text-dim);font-size:12.5px;font-family:var(--font-mono);background:#3ddc840d;border:1px solid #3ddc8438;border-radius:8px;margin-top:14px;margin-bottom:18px;padding:10px 14px}.crm-counterfactual strong{color:var(--accent-green);font-size:14px;font-weight:700}.ch-table{border-collapse:collapse;width:100%;font-size:12.5px;font-family:var(--font-mono)}.ch-table thead th{text-align:left;text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--border-soft);padding:4px 12px 8px 0;font-size:10.5px;font-weight:700}.ch-table thead th.num{text-align:right}.ch-table thead th.c-date{color:var(--text)}.ch-table thead th.c-hit{color:var(--accent-cyan)}.ch-table thead th.c-tokens{color:var(--text-dim)}.ch-table thead th.c-saved{color:var(--accent-green)}.ch-table thead th.c-wasted{color:var(--accent-red)}.ch-table thead th.c-net{color:var(--accent-purple)}.ch-table thead th.c-flag{color:var(--accent-amber)}.ch-table tbody td{font-variant-numeric:tabular-nums;padding:5px 12px 5px 0}.ch-table tbody td.num{text-align:right}.ch-table tbody tr.cur{background:#fbbf2412}.ch-table tbody tr.cur td:first-child{border-left:2px solid var(--accent-amber);padding-left:8px}.ch-table tbody td.hit-good{color:var(--accent-cyan)}.ch-table tbody td.hit-bad{color:var(--accent-amber)}.ch-table tbody td.net-pos{color:var(--accent-green)}.ch-table tbody td.net-neg,.ch-table tbody td.flag-warn{color:var(--accent-amber)}.ch-table tbody td.flag-ok{color:var(--text-faint)}.ch-table tbody tr:hover td{background:#ffffff05}.crm-breakdowns{grid-template-columns:1fr 1fr;gap:14px;display:grid}.crm-bd-card{background:var(--panel-bg);border:1px solid var(--border-soft);border-radius:8px;padding:12px 14px}.crm-bd-card.bd-projects{border-color:#d946ef3d}.crm-bd-card.bd-models{border-color:#60a5fa3d}.crm-bd-card .crm-bd-head{text-transform:uppercase;letter-spacing:.05em;margin-bottom:8px;font-size:10.5px;font-weight:700}.crm-bd-card.bd-projects .crm-bd-head{color:var(--accent-magenta)}.crm-bd-card.bd-models .crm-bd-head{color:var(--accent-blue)}.crm-bd-card table{border-collapse:collapse;width:100%;font-size:12px;font-family:var(--font-mono)}.crm-bd-card td{font-variant-numeric:tabular-nums;padding:3px 0}.crm-bd-card td+td{padding-left:10px}.crm-bd-card td:last-child{text-align:right}.crm-bd-card td.net-pos{color:var(--accent-green)}.crm-bd-card td.net-neg{color:var(--accent-amber)}.crm-bd-card td.bd-key{white-space:nowrap;text-overflow:ellipsis;width:100%;max-width:0;overflow:hidden}.crm-bd-card .empty{color:var(--text-dim);font-size:11px;font-style:italic}.crm-settings-popover{background:var(--panel-bg);border:1px solid var(--accent-teal);z-index:100;border-radius:8px;width:280px;padding:14px 16px;position:absolute;top:48px;right:16px;box-shadow:0 8px 24px #00000080}.crm-settings-popover h4{color:var(--accent-teal);text-transform:uppercase;letter-spacing:.06em;margin:0 0 10px;font-size:11px}.crm-settings-popover label{color:var(--text-dim);margin-bottom:6px;font-size:11px;display:block}.crm-settings-popover input{background:var(--panel-bg-2);border:1px solid var(--border-soft);width:100%;color:var(--text);font-family:var(--font-mono);box-sizing:border-box;border-radius:4px;padding:6px 8px;font-size:13px}.crm-settings-popover input.invalid{border-color:var(--accent-red)}.crm-settings-popover .err{color:var(--accent-red);margin-top:6px;font-size:11px}.crm-settings-popover .saved{color:var(--accent-green);margin-top:6px;font-size:11px}.crm-settings-popover .actions{justify-content:flex-end;gap:8px;margin-top:12px;display:flex}.crm-settings-popover button{background:var(--panel-bg-2);border:1px solid var(--border-soft);color:var(--text);cursor:pointer;font-family:var(--font-mono);border-radius:4px;padding:4px 12px;font-size:12px}.crm-settings-popover button.primary{border-color:var(--accent-teal);color:var(--accent-teal);background:#2dd4bf2e}@media (width<=899px){.crm-breakdowns{grid-template-columns:1fr}}@media (width<=719px){.ch-table thead{display:none}.ch-table tbody,.ch-table tr{padding:0;display:block}.ch-table tr{border-bottom:1px solid var(--border-soft);padding:8px 0}.ch-table tbody td{padding:2px 6px 2px 0;display:inline-block}.ch-table tbody td:first-child{margin-bottom:4px;font-weight:700;display:block}.crm-settings-popover{border-radius:8px 8px 0 0;width:auto;position:fixed;inset:auto 0 0}}.view-switcher{border:1px solid var(--border-soft);background:var(--panel-bg-2);border-radius:6px;align-items:center;gap:2px;padding:2px;display:inline-flex}.view-seg{appearance:none;color:var(--text-dim);font-family:var(--font-mono);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-radius:4px;padding:4px 12px;font-size:12.5px;font-weight:600}.view-seg:hover{color:var(--text)}.view-seg.is-active{background:var(--panel-bg);color:var(--accent-blue);box-shadow:inset 0 0 0 1px var(--accent-blue)}.view-seg:focus-visible{outline:2px solid var(--accent-blue);outline-offset:1px}.sess-open-conv{appearance:none;color:var(--text-faint);cursor:pointer;vertical-align:middle;background:0 0;border:none;margin-right:6px;padding:0;line-height:0}.sess-open-conv .icon{width:13px;height:13px}.sess-open-conv:hover{color:var(--accent-blue)}.sess-open-conv:focus-visible{outline:2px solid var(--accent-blue);outline-offset:1px;border-radius:3px}.conv-view{--reader-ink:#ece9e3;--reader-faint:#a0a7b8;height:calc(100vh - var(--topbar-h) - 28px);grid-template-columns:minmax(280px,340px) 1fr;gap:12px;margin-bottom:16px;display:grid;overflow:hidden}.conv-rail{border:1px solid var(--border-soft);background:var(--panel-bg);border-radius:6px;flex-direction:column;min-height:0;display:flex;overflow:hidden}.conv-rail-search{border-bottom:1px solid var(--border-soft);flex:none;padding:10px}.conv-rail-search-input{box-sizing:border-box;background:var(--panel-bg-2);border:1px solid var(--border-soft);width:100%;color:var(--text);font-family:var(--font-mono);border-radius:5px;padding:6px 10px;font-size:12.5px}.conv-rail-search-input::placeholder{color:var(--text-faint)}.conv-rail-search-input:focus-visible{border-color:var(--accent-blue);outline:none}.conv-rail-list{flex:auto;min-height:0;padding:6px;overflow-y:auto}.conv-rail-empty,.conv-rail-hint{color:var(--text-dim);padding:10px;font-size:12px}.conv-rail-hint{color:var(--text-faint);font-style:italic}.conv-rail-row{text-align:left;appearance:none;width:100%;color:var(--text);font-family:var(--font-mono);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:5px;margin-bottom:4px;padding:8px 9px;display:block}.conv-rail-row:hover{background:var(--panel-bg-2)}.conv-rail-row:focus-visible{border-color:var(--accent-blue);outline:none}.conv-rail-row.is-active{background:var(--panel-bg-2);border-color:var(--accent-blue)}.conv-rail-sec{font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--text-faint);padding:12px 8px 4px;font-size:10px}.conv-rail-row-title{font-family:var(--font-prose);color:var(--text);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-bottom:5px;font-size:14.5px;font-weight:600;line-height:1.3;display:-webkit-box;overflow:hidden}.conv-rail-row-project{color:var(--text-dim);font-weight:400}.conv-rail-row-branch,.conv-rail-row-when{color:var(--text-faint);white-space:nowrap;font-size:11px}.conv-rail-row-meta{color:var(--text-dim);flex-wrap:wrap;align-items:baseline;gap:4px 8px;font-size:11px;display:flex}.conv-rail-row-cost{color:var(--accent-green)}.conv-rail-row-snippet{color:var(--text-dim);margin-top:4px;font-size:11.5px;line-height:1.4;overflow:hidden}.conv-rail-more{appearance:none;border:1px solid var(--border-soft);background:var(--panel-bg-2);width:100%;color:var(--text-dim);font-family:var(--font-mono);cursor:pointer;border-radius:5px;margin-top:4px;padding:6px;font-size:12px;display:block}.conv-rail-more:hover{color:var(--text);border-color:var(--accent-blue)}.conv-reader{border:1px solid var(--border-soft);background:var(--panel-bg);border-radius:6px;flex-direction:column;min-height:0;display:flex;overflow:hidden}.conv-reader--empty,.conv-reader--loading,.conv-reader--error{justify-content:center;align-items:center}.conv-state{text-align:center;max-width:360px;padding:24px}.conv-state-glyph{opacity:.55;margin-bottom:12px;line-height:0;display:block}.conv-state-glyph .conv-ico{vertical-align:0;width:30px;height:30px}.conv-state-title{font-family:var(--font-prose);color:var(--text);font-size:17px}.conv-state-hint{font-family:var(--font-mono);color:var(--text-dim);margin-top:6px;font-size:11.5px}.conv-reader--error .conv-state-title{color:var(--accent-red)}.conv-reader-head{border-bottom:1px solid var(--border-soft);background:var(--panel-bg-2);flex:none;padding:12px 16px}.conv-reader-title{font-family:var(--font-prose);color:var(--text);font-size:16px;font-weight:600}.conv-reader-meta{color:var(--text-dim);margin-top:3px;font-size:11.5px}.conv-back{appearance:none;border:1px solid var(--border-soft);background:var(--panel-bg);color:var(--text-dim);font-family:var(--font-mono);cursor:pointer;border-radius:5px;margin-bottom:8px;padding:4px 10px;font-size:12px}.conv-back:hover{color:var(--text);border-color:var(--accent-blue)}.conv-reader-body{flex-direction:column;flex:auto;gap:12px;min-height:0;padding:14px 16px;display:flex;overflow-y:auto}.conv-reader-thread{flex-direction:column;gap:12px;padding-left:22px;display:flex;position:relative}.conv-reader-thread:before{content:"";background:var(--border-soft);width:2px;position:absolute;top:4px;bottom:4px;left:8px}.conv-reader-thread>.conv-item--human:before,.conv-reader-thread>.conv-item--assistant:before{content:"";width:9px;height:9px;box-shadow:0 0 0 3px var(--panel-bg);border-radius:50%;position:absolute;top:16px;left:-17px}.conv-reader-thread>.conv-item--human:before{background:var(--accent-blue)}.conv-reader-thread>.conv-item--assistant:before{background:var(--accent-purple)}.conv-item{border-radius:8px;padding:10px 14px;scroll-margin-top:12px;position:relative}.conv-item--human{border:1px solid var(--border-soft);border-left:3px solid var(--accent-blue);background:#60a5fa0d}.conv-item--assistant{background:0 0;border:none;padding-left:0}.conv-item--tool_result{background:0 0;padding:0}.conv-item-head{align-items:baseline;gap:10px;margin-bottom:6px;display:flex}.conv-item-label{font-family:var(--font-mono);letter-spacing:.4px;text-transform:uppercase;color:var(--reader-faint);font-size:11.5px;font-weight:700}.conv-item--assistant .conv-item-label{color:var(--accent-purple)}.conv-item--human .conv-item-label{color:var(--accent-blue)}.conv-item-model{color:var(--text-dim);font-size:11px}.conv-item-cost{border-top:1px solid var(--border-soft);font-family:var(--font-mono);color:var(--text-dim);text-align:right;margin-top:10px;padding-top:8px;font-size:10.5px;font-weight:600}.conv-item--system{background:0 0;border:none;padding:0}.conv-system-marker{border:1px dashed var(--border-soft);background:var(--panel-bg-2);border-radius:6px}.conv-system-marker>summary{cursor:pointer;font-family:var(--font-mono);color:var(--reader-faint);-webkit-user-select:none;user-select:none;align-items:center;gap:8px;padding:3px 10px;font-size:10.5px;list-style:none;display:flex}.conv-system-marker>summary::-webkit-details-marker{display:none}.conv-system-marker[open]>summary{color:var(--text-dim)}.conv-system-marker[open]>summary .conv-chev{transform:rotate(45deg)}.conv-system-marker-body{border-top:1px solid var(--border-soft);white-space:pre-wrap;word-break:break-word;font-family:var(--font-mono);color:var(--text-dim);margin:0;padding:8px 10px;font-size:11.5px;overflow-x:auto}.conv-item--meta{background:0 0;border:none;padding:0}.conv-meta{border:1px dashed var(--border-soft);background:var(--panel-bg-2);border-radius:6px}.conv-meta>summary{cursor:pointer;font-family:var(--font-mono);color:var(--reader-faint);-webkit-user-select:none;user-select:none;align-items:center;gap:8px;padding:3px 10px;font-size:10.5px;list-style:none;display:flex}.conv-meta>summary::-webkit-details-marker{display:none}.conv-meta[open]>summary{color:var(--text-dim)}.conv-meta[open]>summary .conv-chev{transform:rotate(45deg)}.conv-meta-label{letter-spacing:.3px;text-transform:uppercase;font-weight:700}.conv-meta-name{color:var(--text-dim)}.conv-meta-preview{color:var(--text-dim);white-space:nowrap;text-overflow:ellipsis;min-width:0;overflow:hidden}.conv-meta--skill{border-color:color-mix(in srgb, var(--accent-cyan) 35%, var(--border-soft))}.conv-meta--skill>summary,.conv-meta--skill[open]>summary{color:var(--accent-cyan)}.conv-meta-body{border-top:1px solid var(--border-soft);padding:8px 10px}.conv-meta-body--pre{white-space:pre-wrap;word-break:break-word;font-family:var(--font-mono);color:var(--text-dim);margin:0;font-size:11.5px;overflow-x:auto}.conv-rise{animation:.5s cubic-bezier(.2,.7,.3,1) both conv-rise}@keyframes conv-rise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.conv-rise{animation:none}}.conv-item--jumped{animation:2s ease-out conv-jump-flash}@keyframes conv-jump-flash{0%{box-shadow:0 0 0 2px var(--accent-amber), 0 0 26px #fbbf2440;background:#fbbf241a}to{background:0 0;box-shadow:0 0 #0000}}@media (prefers-reduced-motion:reduce){.conv-item--jumped{animation:none}}.conv-item--focused{box-shadow:-3px 0 0 0 var(--accent-blue);border-radius:2px}.conv-reader-thread--bulk ::details-content{transition:none!important}.conv-reader{interpolate-size:allow-keywords}.conv-chip::details-content{block-size:0;transition:block-size .24s ease, content-visibility .24s allow-discrete;overflow:hidden}.conv-sidechain::details-content{block-size:0;transition:block-size .24s ease, content-visibility .24s allow-discrete;overflow:hidden}.conv-toolresult-run::details-content{block-size:0;transition:block-size .24s ease, content-visibility .24s allow-discrete;overflow:hidden}.conv-system-marker::details-content{block-size:0;transition:block-size .24s ease, content-visibility .24s allow-discrete;overflow:hidden}.conv-meta::details-content{block-size:0;transition:block-size .24s ease, content-visibility .24s allow-discrete;overflow:hidden}.conv-chip[open]::details-content{block-size:auto}.conv-sidechain[open]::details-content{block-size:auto}.conv-toolresult-run[open]::details-content{block-size:auto}.conv-system-marker[open]::details-content{block-size:auto}.conv-meta[open]::details-content{block-size:auto}.conv-sidechain--force::details-content{transition:none}@media (prefers-reduced-motion:reduce){.conv-reader .conv-chev{transition:none}.conv-reader ::details-content{transition:none}}.conv-ico{vertical-align:-2px;flex:none;width:14px;height:14px;display:inline-block}.conv-blocks{flex-direction:column;gap:6px;margin-top:8px;display:flex}.conv-chip{border:1px solid var(--border-soft);background:var(--panel-bg-2);border-radius:6px;font-size:12px}.conv-chip>summary{cursor:pointer;color:var(--text-dim);-webkit-user-select:none;user-select:none;font-family:var(--font-mono);align-items:center;gap:8px;padding:5px 10px;list-style:none;display:flex}.conv-chip>summary::-webkit-details-marker{display:none}.conv-chip[open]>summary{color:var(--text)}.conv-chip--thinking>summary{color:var(--accent-indigo)}.conv-chip--tool>summary{color:var(--accent-cyan)}.conv-chip--result>summary{color:var(--accent-teal)}.conv-chev{opacity:.7;border-bottom:1.6px solid;border-right:1.6px solid;flex:none;width:8px;height:8px;transition:transform .2s;transform:rotate(-45deg)}.conv-chip[open]>summary .conv-chev,.conv-toolresult-run[open]>summary .conv-chev{transform:rotate(45deg)}.conv-chip-name{flex:none;font-weight:600}.conv-chip-preview{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--text-faint);flex:1;font-size:11.5px;overflow:hidden}.conv-chip-status{color:var(--text-faint);flex:none;font-size:11px}.conv-chip--result .conv-chip-status,.conv-chip--tool .conv-chip-status{color:var(--accent-amber)}.conv-chip-body{border-top:1px solid var(--border-soft);white-space:pre-wrap;word-break:break-word;font-family:var(--font-mono);color:var(--text);margin:0;padding:8px 10px;font-size:11.5px;overflow-x:auto}.conv-chip-body--io{white-space:normal;padding:6px 10px 10px}.conv-chip--media,.conv-chip--ref{color:var(--text-dim);background:var(--panel-bg-2);padding:4px 10px;display:inline-block}.conv-toolrun{flex-direction:column;gap:6px;display:flex}.conv-toolrun-head{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--text-faint);align-items:center;gap:9px;margin:6px 0 2px;font-size:10.5px;display:flex}.conv-toolrun-head:after{content:"";background:var(--border-soft);flex:1;height:1px}.conv-tool-io{margin-top:6px}.conv-tool-io:first-child{margin-top:0}.conv-tool-io-label{font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--text-faint);margin:0 0 4px;font-size:9.5px}.conv-tool-io-label--none{font-style:italic}.conv-code{font-family:var(--font-mono);background:var(--bg);border:1px solid var(--border-soft);color:var(--text);white-space:pre-wrap;word-break:break-word;border-radius:6px;margin:0;padding:8px 10px;font-size:11.5px;line-height:1.5;overflow-x:auto}.conv-code--result{color:var(--text-dim);max-height:220px;overflow:auto}.conv-code--numbered{font-family:var(--font-mono);background:var(--bg);border:1px solid var(--border-soft);border-radius:6px;grid-template-columns:auto 1fr;max-height:220px;font-size:11.5px;line-height:1.5;display:grid;overflow:auto}.cb-gutter{white-space:pre;text-align:right;color:var(--text-faint);-webkit-user-select:none;user-select:none;font-variant-numeric:tabular-nums;border-right:1px solid var(--border-soft);background:var(--bg);padding:8px 8px 8px 10px;position:sticky;left:0}.conv-code--numbered>pre.conv-code{white-space:pre;word-break:normal;overflow-wrap:normal;background:0 0;border:0;border-radius:0;margin:0;padding:8px 10px 8px 8px;overflow:visible}.codeblock{border:1px solid var(--border-soft);background:var(--bg);border-radius:8px;margin:12px 0;overflow:hidden}.cb-head{background:var(--panel-bg-2);border-bottom:1px solid var(--border-soft);font-family:var(--font-mono);color:var(--text-dim);align-items:center;gap:8px;padding:6px 10px;font-size:10.5px;display:flex}.cb-lang{text-transform:uppercase;letter-spacing:.1em}.cb-file{color:var(--text-faint)}.cb-copy{margin-left:auto}.codeblock>pre.conv-code{border:0;border-radius:0;margin:0}.conv-code--hl .token.keyword{color:var(--accent-purple)}.conv-code--hl .token.string{color:var(--accent-green)}.conv-code--hl .token.number,.conv-code--hl .token.boolean{color:var(--accent-amber)}.conv-code--hl .token.comment{color:var(--text-faint);font-style:italic}.conv-code--hl .token.function,.conv-code--hl .token.property,.conv-code--hl .token.tag,.conv-code--hl .token.attr-name{color:var(--accent-cyan)}.conv-code--hl .token.operator,.conv-code--hl .token.punctuation{color:var(--text-dim)}.conv-copy-btn{cursor:pointer;color:var(--text-faint);background:0 0;border:1px solid #0000;border-radius:6px;place-items:center;padding:2px 4px;line-height:0;display:inline-grid}.conv-copy-btn:hover{color:var(--text);border-color:var(--border-soft);background:var(--panel-bg-2)}.conv-copy-btn:focus-visible{outline:2px solid var(--accent-blue);outline-offset:1px}.conv-tool-io{position:relative}.conv-tool-io>.conv-copy-btn{z-index:1;position:absolute;top:2px;right:2px}.conv-item-actions{opacity:0;justify-content:flex-end;margin-top:6px;transition:opacity .15s;display:flex}.conv-item:hover .conv-item-actions,.conv-item:focus-within .conv-item-actions,.conv-item--focused .conv-item-actions{opacity:1}@media (prefers-reduced-motion:reduce){.conv-item-actions{transition:none}}.conv-toolresult-run{border:1px solid var(--border-soft);background:var(--panel-bg-2);border-radius:6px}.conv-toolresult-run>summary{cursor:pointer;color:var(--accent-teal);-webkit-user-select:none;user-select:none;font-family:var(--font-mono);align-items:center;gap:8px;padding:5px 10px;font-size:12px;list-style:none;display:flex}.conv-toolresult-run>summary::-webkit-details-marker{display:none}.conv-toolresult-run-body{flex-direction:column;gap:8px;padding:6px 12px 10px;display:flex}.conv-sidechain{background:linear-gradient(#d946ef0d,#0000 42%);border:1px solid #d946ef38;border-radius:10px;position:relative}.conv-reader-thread>.conv-sidechain:before{content:"";background:var(--accent-magenta);width:9px;height:9px;box-shadow:0 0 0 3px var(--panel-bg);border-radius:50%;position:absolute;top:18px;left:-17px}.conv-reader-thread>.conv-sidechain--nested:before{display:none}.conv-sidechain-head{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:12px;padding:11px 14px;list-style:none;display:flex}.conv-sidechain-head::-webkit-details-marker{display:none}.conv-sidechain-head:hover{background:#d946ef0a}.conv-sidechain-glyph{width:26px;height:26px;color:var(--accent-magenta);background:#d946ef1a;border:1px solid #d946ef4d;border-radius:7px;flex:none;place-items:center;font-size:14px;display:grid}.conv-sidechain-glyph .conv-ico{vertical-align:0;width:16px;height:16px}.conv-sidechain-headtext{flex:auto;min-width:0}.conv-sidechain-kind{font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--accent-magenta);font-size:9.5px;display:block}.conv-sidechain-title{font-family:var(--font-prose);color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-size:15px;font-weight:600;line-height:1.3;display:block;overflow:hidden}.conv-sidechain-meta{font-family:var(--font-mono);color:var(--text-dim);flex:none;align-items:center;gap:9px;font-size:10.5px;display:flex}.conv-sidechain-cost{color:var(--accent-green)}.conv-sidechain-kindname{text-transform:none;letter-spacing:0;color:var(--accent-magenta)}.conv-sidechain-submeta{font-family:var(--font-mono);color:var(--text-dim);margin-top:3px;font-size:10.5px;display:block}.conv-sidechain-submeta>span{margin-right:9px}.conv-subagent-ok{color:var(--accent-green)}.conv-subagent-err{color:var(--accent-red,#f87171)}.conv-subagent-warn{color:var(--accent-amber,#fbbf24)}.conv-sidechain[open]>summary .conv-chev{transform:rotate(45deg)}.conv-sidechain-body{flex-direction:column;gap:10px;padding:6px 14px 12px 30px;display:flex;position:relative}.conv-sidechain-body:before{content:"";background:#d946ef29;width:2px;position:absolute;top:8px;bottom:12px;left:14px}.conv-sidechain-body>.conv-item--human:before,.conv-sidechain-body>.conv-item--assistant:before{content:"";width:7px;height:7px;box-shadow:0 0 0 3px var(--panel-bg);border-radius:50%;position:absolute;top:14px;left:-13px}.conv-sidechain-body>.conv-item--human:before{background:var(--accent-blue)}.conv-sidechain-body>.conv-item--assistant:before{background:var(--accent-purple)}.conv-sidechain--nested{margin-left:20px}.md{font-family:var(--font-prose);color:var(--reader-ink);word-break:break-word;font-size:16.5px;line-height:1.62}.conv-item--human .md{font-size:15.5px}.md p{margin:0 0 8px}.md p:last-child{margin-bottom:0}.md ul,.md ol{margin:4px 0 8px;padding-left:22px}.md li{margin:2px 0}.md h1,.md h2,.md h3,.md h4{color:var(--reader-ink);margin:16px 0 6px;font-weight:600;line-height:1.25}.md h1{font-size:22px}.md h2{font-size:20px}.md h3{font-size:17.5px}.md h4{font-size:15.5px}.md a{color:var(--accent-blue);text-underline-offset:2px;text-decoration:underline}.md code{font-family:var(--font-mono);background:var(--panel-bg-2);border-radius:3px;padding:1px 4px;font-size:12px}.md strong,.md b{font-weight:600}.md pre{font-family:var(--font-mono);background:var(--panel-bg-2);border:1px solid var(--border-soft);border-radius:6px;margin:6px 0 8px;padding:10px 12px;overflow-x:auto}.md pre code{background:0 0;padding:0;font-size:12px;line-height:1.45}.md blockquote{border-left:3px solid var(--border-soft);color:var(--text-dim);margin:6px 0;padding:2px 12px}.md table{border-collapse:collapse;max-inline-size:100%;margin:8px 0;font-size:13.5px;display:block;overflow-x:auto}.md th,.md td{border:1px solid var(--border-soft);text-align:left;padding:4px 8px}.md th{background:var(--panel-bg-2)}.md del{color:var(--text-faint)}.md img{max-width:100%}.conv-view mark{background:var(--accent-amber);color:#1a1400;border-radius:2px;padding:0 2px}.conv-load-sentinel{text-align:center;color:var(--text-faint);padding:12px;font-size:11px}.conv-disabled{border:1px solid var(--accent-amber);background:var(--panel-bg);color:var(--text-dim);border-radius:6px;margin-bottom:16px;padding:18px 22px;font-size:13px;line-height:1.6}.conv-disabled code{font-family:var(--font-mono);background:var(--panel-bg-2);color:var(--accent-cyan);border-radius:3px;padding:1px 6px}@media (width<=640px){#root .conv-view,#root .conv-view--mobile{height:calc(100vh - var(--topbar-h) - 16px);grid-template-columns:1fr;gap:0;margin-bottom:12px;overflow:hidden}#root .conv-rail,#root .conv-reader{border:1px solid var(--border-soft);border-radius:6px;min-height:0;overflow:hidden}#root .conv-reader-body{gap:10px;padding:10px 12px}#root .conv-reader-thread{gap:10px;padding-left:0}#root .conv-reader-thread:before,#root .conv-reader-thread>.conv-item--human:before,#root .conv-reader-thread>.conv-item--assistant:before,#root .conv-reader-thread>.conv-sidechain:before{display:none}#root .conv-item{border-radius:7px;padding:8px 11px}#root .view-switcher{gap:2px;padding:2px}#root .view-seg{padding:4px 10px;font-size:12px}}
1
+ @font-face{font-family:Newsreader;font-style:normal;font-display:swap;font-weight:400;src:url(/static/assets/newsreader-vietnamese-400-normal-DdKr49mV.woff2)format("woff2"),url(/static/assets/newsreader-vietnamese-400-normal-BekUZro8.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Newsreader;font-style:normal;font-display:swap;font-weight:400;src:url(/static/assets/newsreader-latin-ext-400-normal-svq1FPys.woff2)format("woff2"),url(/static/assets/newsreader-latin-ext-400-normal-DYA1XoQK.woff)format("woff");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:Newsreader;font-style:normal;font-display:swap;font-weight:400;src:url(/static/assets/newsreader-latin-400-normal-BFBkh4jY.woff2)format("woff2"),url(/static/assets/newsreader-latin-400-normal-gRTjlS2D.woff)format("woff");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:Newsreader;font-style:normal;font-display:swap;font-weight:500;src:url(/static/assets/newsreader-vietnamese-500-normal-CL6a8tp2.woff2)format("woff2"),url(/static/assets/newsreader-vietnamese-500-normal-BEAbKU8A.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Newsreader;font-style:normal;font-display:swap;font-weight:500;src:url(/static/assets/newsreader-latin-ext-500-normal-BNHmvKvI.woff2)format("woff2"),url(/static/assets/newsreader-latin-ext-500-normal-CZruMFou.woff)format("woff");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:Newsreader;font-style:normal;font-display:swap;font-weight:500;src:url(/static/assets/newsreader-latin-500-normal-B66TYsaK.woff2)format("woff2"),url(/static/assets/newsreader-latin-500-normal-DFwuUcdu.woff)format("woff");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:Newsreader;font-style:normal;font-display:swap;font-weight:600;src:url(/static/assets/newsreader-vietnamese-600-normal-CaH84vfx.woff2)format("woff2"),url(/static/assets/newsreader-vietnamese-600-normal-CVAR0otO.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Newsreader;font-style:normal;font-display:swap;font-weight:600;src:url(/static/assets/newsreader-latin-ext-600-normal-BXv5iMHi.woff2)format("woff2"),url(/static/assets/newsreader-latin-ext-600-normal-BrbfzHZ5.woff)format("woff");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:Newsreader;font-style:normal;font-display:swap;font-weight:600;src:url(/static/assets/newsreader-latin-600-normal-30OJ_TG_.woff2)format("woff2"),url(/static/assets/newsreader-latin-600-normal-DUnT2r2g.woff)format("woff");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:Newsreader;font-style:italic;font-display:swap;font-weight:400;src:url(/static/assets/newsreader-vietnamese-400-italic-bZegYFuM.woff2)format("woff2"),url(/static/assets/newsreader-vietnamese-400-italic-QbB8kb5s.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Newsreader;font-style:italic;font-display:swap;font-weight:400;src:url(/static/assets/newsreader-latin-ext-400-italic-BMTE_bNQ.woff2)format("woff2"),url(/static/assets/newsreader-latin-ext-400-italic-qdgKLcPG.woff)format("woff");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:Newsreader;font-style:italic;font-display:swap;font-weight:400;src:url(/static/assets/newsreader-latin-400-italic-CEihAR-f.woff2)format("woff2"),url(/static/assets/newsreader-latin-400-italic-CNZoH1hn.woff)format("woff");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}:root{--bg:#0a0b10;--panel-bg:#0d0f16;--panel-bg-2:#11131c;--border-soft:#ffffff0f;--text:#d9dde5;--text-dim:#8b92a3;--text-faint:#5a6070;--accent-green:#3ddc84;--accent-purple:#c084fc;--accent-pink:#ec4899;--accent-magenta:#d946ef;--accent-amber:#fbbf24;--accent-red:#ef4444;--accent-orange:#fb923c;--accent-blue:#60a5fa;--accent-cyan:#22d3ee;--accent-indigo:#818cf8;--accent-teal:#2dd4bf;--chip-sonnet:#1f6d3a;--chip-opus:#6d28d9;--chip-haiku:#1d4ed8;--font-mono:ui-monospace, "SF Mono", SFMono-Regular, Menlo, Consolas, "DejaVu Sans Mono", monospace;--font-prose:"Newsreader", Georgia, serif;--topbar-h:64px}.panel{scroll-margin-top:var(--topbar-h)}html,body{background:var(--bg);color:var(--text);font-family:var(--font-mono);-webkit-font-smoothing:antialiased;margin:0;padding:0;font-size:13.5px;line-height:1.45}body{box-sizing:border-box;padding:16px}*{box-sizing:border-box}.mute{color:var(--text-dim)}.topbar{border:1px solid var(--accent-blue);background:var(--panel-bg);border-radius:6px;flex-wrap:wrap;align-items:center;gap:24px;margin-bottom:16px;padding:12px 18px;display:flex}.topbar .stat{color:var(--text-dim);white-space:nowrap;align-items:center;gap:8px;font-size:13.5px;display:flex}.topbar .stat .k{color:var(--text-dim)}.topbar .stat .v{color:var(--text);font-weight:600}.topbar .stat .hi-green{color:var(--accent-green);font-size:15px;font-weight:700}.topbar .stat .hi-cyan{color:var(--accent-cyan);font-size:15px;font-weight:700}.topbar .stat .hi-amber{color:var(--accent-amber);font-size:15px;font-weight:700}.pill-warn{background:var(--accent-amber);color:#1a1400;letter-spacing:.5px;font-size:12px;font-weight:800;font-family:var(--font-mono);border-radius:4px;padding:2px 10px}.topbar .icon{width:16px;height:16px}.topbar-actions{align-items:center;gap:10px;margin-left:auto;display:flex}.topbar-actions>.topbar-icon-btn{display:none}.grid{grid-template-rows:auto auto auto auto;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;margin-bottom:16px;display:grid}@media (width<=1100px){.grid{grid-template-columns:minmax(0,1fr)}}.topbar-brand{gap:8px!important}.topbar-brand .brand-name{color:var(--text);letter-spacing:.01em;font-weight:700}.topbar-brand .brand-version{color:var(--text-dim);font-weight:500}.badge-update{color:var(--accent-amber);cursor:pointer;font:inherit;font-size:12px;font-weight:600;font-family:var(--font-mono);background:#fbbf241f;border:1px solid #fbbf2473;border-radius:12px;align-items:center;gap:4px;padding:2px 9px;display:inline-flex}.badge-update:hover{background:#fbbf2438}.badge-update:focus-visible{outline:2px solid var(--accent-amber);outline-offset:2px}.badge-update-arrow,.badge-update-version{display:inline-block}.doctor-chip{cursor:pointer;font:inherit;font-size:12px;font-weight:600;font-family:var(--font-mono);color:var(--text-dim);background:0 0;border:1px solid;border-radius:12px;align-items:center;gap:4px;padding:2px 9px;display:inline-flex}.doctor-chip:hover{background:#ffffff0a}.doctor-chip:focus-visible{outline-offset:2px;outline:2px solid}.doctor-chip__dot{font-size:10px;line-height:1}.doctor-chip__label{display:inline-block}.doctor-chip--ok{color:var(--accent-green)}.doctor-chip--warn{color:var(--accent-amber)}.doctor-chip--fail{color:var(--accent-red)}.doctor-modal-card{width:min(720px,92vw)}.doctor-modal__summary{color:var(--text-dim);font-family:var(--font-mono);margin:0 0 12px}.doctor-modal__error{color:var(--accent-red);margin:0 0 12px}.doctor-modal__category{border:1px solid var(--border-soft);border-radius:6px;margin:8px 0;overflow:hidden}.doctor-modal__category--warn{border-color:#fbbf2480}.doctor-modal__category--fail{border-color:#f8717180}.doctor-modal__category-header{cursor:pointer;width:100%;color:inherit;font:inherit;text-align:left;background:#ffffff05;border:none;align-items:center;gap:8px;padding:8px 12px;font-weight:600;display:flex}.doctor-modal__category-header:hover{background:#ffffff0d}.doctor-modal__category--ok .doctor-modal__glyph{color:var(--accent-green)}.doctor-modal__category--warn .doctor-modal__glyph{color:var(--accent-amber)}.doctor-modal__category--fail .doctor-modal__glyph{color:var(--accent-red)}.doctor-modal__check{border-top:1px solid var(--border-soft);padding:8px 14px}.doctor-modal__check p{margin:0 0 4px}.doctor-modal__check--ok .doctor-modal__glyph{color:var(--accent-green)}.doctor-modal__check--warn .doctor-modal__glyph{color:var(--accent-amber)}.doctor-modal__check--fail .doctor-modal__glyph{color:var(--accent-red)}.doctor-modal__remediation{color:var(--text-dim);font-style:italic}.doctor-modal__details-toggle{color:var(--accent-cyan);cursor:pointer;font:inherit;background:0 0;border:none;padding:0;font-size:12px}.doctor-modal__details{background:#00000040;border-radius:4px;max-height:200px;margin:6px 0 0;padding:8px;font-size:12px;overflow:auto}.doctor-modal__header-actions{align-items:center;gap:8px;display:flex}.doctor-modal__refresh{border:1px solid var(--border-soft);color:inherit;font:inherit;cursor:pointer;background:0 0;border-radius:4px;padding:4px 10px}.doctor-modal__refresh:hover{background:#ffffff0a}.doctor-modal__refresh[disabled]{opacity:.5;cursor:wait}.update-modal-root{z-index:110;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.update-modal-card{width:min(720px,92vw)}.update-modal-card.accent-red{border-color:var(--accent-red)}.update-modal-body{padding:4px 0 0}.update-kv{grid-template-columns:96px 1fr;gap:7px 16px;margin-bottom:14px;display:grid}.update-kv .k{color:var(--text-dim)}.update-kv .v{color:var(--text)}.update-kv .v .muted{color:var(--text-dim);font-size:12px}.update-row-label{color:var(--text-dim);margin:6px 0 4px;font-size:12px}.update-cmd{background:var(--bg);border:1px solid var(--border-soft);color:var(--accent-cyan);font-size:12px;font-family:var(--font-mono);border-radius:4px;margin:0 0 14px;padding:7px 12px;display:inline-block}.update-cmd-inline{margin:0}.update-link a{color:var(--accent-blue);font-size:12px;text-decoration:none}.update-link a:hover{text-decoration:underline}.update-prerelease-note{color:var(--text-dim);white-space:pre-line;background:#c084fc14;border:1px solid #c084fc4d;border-radius:4px;margin:12px 0 4px;padding:8px 12px;font-size:12px}.update-manual-note{color:var(--text-dim);margin:4px 0 14px;font-size:12px}.update-manual-note a{color:var(--accent-blue)}.update-actions{flex-wrap:wrap;gap:8px;margin-top:18px;display:flex}.update-btn{cursor:pointer;border:1px solid var(--border-soft);background:var(--panel-bg-2);color:var(--text);border-radius:4px;padding:6px 14px;font-family:inherit;font-size:12px}.update-btn:hover:not([disabled]){background:var(--panel-bg)}.update-btn[disabled]{opacity:.55;cursor:not-allowed}.update-btn-primary{background:var(--accent-amber);border-color:var(--accent-amber);color:#1a1400;font-weight:700}.update-btn-primary:hover:not([disabled]){background:#ffd44a;border-color:#ffd44a}.update-running-row{align-items:center;gap:10px;margin-bottom:10px;font-size:12px;display:flex}.update-running-row-success .update-cmd-inline{color:var(--accent-green)}.update-running-row-failed .update-cmd-inline{color:var(--accent-red)}.update-spinner{color:var(--accent-blue);font-size:16px;animation:1.1s linear infinite update-spin;display:inline-block}@keyframes update-spin{to{transform:rotate(360deg)}}.update-check{color:var(--accent-green);font-size:16px;font-weight:700}.update-x{color:var(--accent-red);font-size:16px;font-weight:700}.update-elapsed{color:var(--text-dim);margin-left:auto;font-size:12px}.update-success-reconnect{color:var(--text-dim);font-size:12px}.update-stream{background:var(--bg);border:1px solid var(--border-soft);color:var(--text);font-size:12px;line-height:1.55;font-family:var(--font-mono);white-space:pre;border-radius:4px;max-height:260px;margin:4px 0 6px;padding:11px 13px;overflow:auto}.update-stream-fail{max-height:200px}.update-stream-line{color:var(--text)}.update-stream-line.err{color:var(--accent-red)}.update-stream-step{color:var(--accent-blue);font-weight:600}.update-stream-exit,.update-stream-trunc,.update-stream-empty{color:var(--text-dim);font-style:italic}.update-stream-cap{color:var(--text-dim);text-align:right;margin:4px 0 0;font-size:11px}.panel{border:1px solid var(--border-soft);background:radial-gradient(120% 120% at 0% 0%, #ffffff06 0%, transparent 60%), linear-gradient(180deg, var(--panel-bg) 0%, var(--panel-bg-2) 100%);border-radius:8px;flex-direction:column;min-width:0;min-height:320px;padding:16px 22px 14px;transition:box-shadow .12s;display:flex}.panel.accent-green{border-color:var(--accent-green);--accent-line:#3ddc8447;--accent-glow:#3ddc840f}.panel.accent-purple{border-color:var(--accent-purple);--accent-line:#c084fc4d;--accent-glow:#c084fc0f}.panel.accent-amber{border-color:var(--accent-amber);--accent-line:#fbbf2442;--accent-glow:#fbbf240f}.panel.accent-orange{border-color:var(--accent-orange);--accent-line:#fb923c47;--accent-glow:#fb923c0f}.panel.accent-cyan{border-color:var(--accent-cyan);--accent-line:#22d3ee52;--accent-glow:#22d3ee0f;--pill-bg:#22d3ee2e}.panel.accent-pink{border-color:var(--accent-pink);--accent-line:#ec489952;--accent-glow:#ec48990f;--pill-bg:#ec48992e}.panel.accent-blue{border-color:var(--accent-blue);--accent-line:#60a5fa4d;--accent-glow:#60a5fa0f;--pill-bg:#60a5fa2e}.panel.accent-indigo{border-color:var(--accent-indigo);--accent-line:#818cf84d;--accent-glow:#818cf80f;--pill-bg:#818cf82e}.panel.accent-magenta{border-color:var(--accent-magenta);--accent-line:#d946ef4d;--accent-glow:#d946ef0f;--pill-bg:#d946ef2e}.panel.accent-teal{border-color:var(--accent-teal);--accent-line:#2dd4bf47;--accent-glow:#2dd4bf0f;--pill-bg:#2dd4bf2e}.panel:hover{box-shadow:inset 0 0 28px var(--accent-glow);cursor:pointer}.panel-header{border-bottom:1px solid var(--accent-line);align-items:center;gap:10px;margin-bottom:14px;padding-bottom:10px;display:flex}.panel-header .icon{width:18px;height:18px}.panel-header h3{letter-spacing:.2px;font-size:15px;font-weight:700;font-family:var(--font-mono);margin:0}.panel-header h3 .sub{color:var(--text-dim);margin-left:6px;font-weight:500}.panel-body{flex:auto}.panel-foot{border-top:1px solid var(--accent-line);color:var(--text-dim);margin-top:auto;padding-top:10px;font-size:13px}.cw-body{grid-template-columns:1.2fr 1fr;gap:20px;display:grid}@media (width<=1100px){.cw-body{grid-template-columns:1fr}}.cw-big .label{color:var(--text);margin-bottom:4px;font-size:14px;font-weight:600}.cw-big .num{font-family:var(--font-mono);color:var(--accent-green);letter-spacing:-2px;margin-bottom:18px;font-size:72px;font-weight:800;line-height:1.05}.progress{gap:2px;height:16px;margin-bottom:6px;display:flex}.progress .cell{background:#1a1f2b;border-radius:1px;flex:auto}.progress .cell.on{background:var(--accent-green)}.progress-scale{color:var(--text-faint);justify-content:space-between;font-size:12px;display:flex}.cw-left{flex-direction:column;justify-content:flex-start;gap:16px;display:flex}.cw-kv.kv-five-hour .sub.delta-low{color:var(--accent-green)}.cw-kv.kv-five-hour .sub.delta-moderate{color:var(--accent-cyan)}.cw-kv.kv-five-hour .sub.delta-elevated{color:var(--accent-amber)}.cw-kv.kv-five-hour .sub.delta-high{color:var(--accent-red)}.credit-chip{color:var(--accent-amber);margin-left:6px}.cw-right{border-left:1px solid var(--border-soft);flex-direction:column;gap:18px;padding-left:20px;display:flex}@media (width<=1100px){.cw-right{border-left:none;border-top:1px solid var(--border-soft);padding-top:16px;padding-left:0}}.cw-kv{align-items:flex-start;gap:10px;display:flex}.cw-kv .icon{width:18px;height:18px;color:var(--accent-cyan);flex-shrink:0;margin-top:2px}.cw-kv.kv-spent .icon{color:var(--accent-magenta)}.cw-kv.kv-reset .icon{color:var(--accent-amber)}.cw-kv .body{flex:1}.cw-kv .row1{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.cw-kv .row1 .k{color:var(--text);font-weight:600}.cw-kv .row1 .v{font-size:18px;font-weight:800}.cw-kv .row1 .v.cyan{color:var(--accent-cyan)}.cw-kv .row1 .v.magenta{color:var(--accent-magenta)}.cw-kv .row1 .v.amber{color:var(--accent-amber);font-size:15px}.cw-kv .sub{color:var(--text-dim);margin-top:2px;font-size:13px}.cw-kv .sub .magenta{color:var(--accent-magenta)}.panel-foot.cw-foot{align-items:center;gap:8px;display:flex}.panel-foot.cw-foot .icon{width:14px;height:14px;color:var(--accent-cyan)}.warn-banner{background:var(--accent-amber);color:#1a1400;letter-spacing:1px;font-size:18px;font-weight:800;font-family:var(--font-mono);background-image:radial-gradient(#0000002e 1px,#0000 1px);background-size:6px 6px;border-radius:6px;justify-content:center;align-items:center;gap:10px;margin-bottom:10px;padding:10px 14px;display:flex}.warn-banner.good{background-color:var(--accent-green);color:#0b2a16}.warn-banner.warn{background-color:var(--accent-amber);color:#1a1400}.warn-banner.over{background-color:var(--accent-red);color:#ffe7e7}.fc-row{justify-content:space-between;align-items:center;gap:12px;padding:6px 0;display:flex}.fc-row .left{color:var(--text);align-items:center;gap:10px;font-size:13.5px;font-weight:500;display:flex}.fc-row .left .icon-box{background:#ffffff05;border-radius:6px;justify-content:center;align-items:center;width:30px;height:30px;display:flex}.fc-row .right{text-align:right;color:var(--text);font-size:14px;font-weight:700}.fc-row .right .num{margin-right:6px;font-size:18px;font-weight:800}.fc-row .right .at{color:var(--accent-blue);font-weight:500}.fc-row.fc-wkavg .icon-box .icon{color:var(--accent-blue)}.fc-row.fc-wkavg .right .num{color:var(--accent-green)}.fc-row.fc-24h .icon-box .icon,.fc-row.fc-24h .right .num{color:var(--accent-red)}.fc-row.fc-budget-100 .icon-box .icon,.fc-row.fc-budget-100 .right .num,.fc-row.fc-budget-90 .icon-box .icon,.fc-row.fc-budget-90 .right .num{color:var(--accent-green)}.fc-row .right .per{color:var(--text-dim);font-size:12.5px;font-weight:500}.fc-divider{border-top:1px solid var(--border-soft);margin:6px 0}.panel-foot.fc-conf{justify-content:space-between;align-items:center;gap:10px;font-size:13.5px;display:flex}.panel-foot.fc-conf .lbl{color:var(--text-dim);align-items:center;gap:8px;display:flex}.panel-foot.fc-conf .lbl .icon{color:var(--accent-pink);width:14px;height:14px}.panel-foot.fc-conf .lbl .val{color:var(--accent-pink);margin-left:4px;font-weight:700}.panel-foot.fc-conf .dots{gap:4px;display:flex}.panel-foot.fc-conf .dots .d{background:#262a35;border-radius:1px;width:14px;height:8px}.panel-foot.fc-conf .dots .d.on{background:var(--accent-purple)}.trend-table{border-collapse:collapse;width:100%;font-size:13px;font-family:var(--font-mono)}.trend-table thead th{text-align:left;border-bottom:1px solid var(--border-soft);padding:4px 10px 8px 0;font-weight:700}.trend-table thead th.num{text-align:right}.trend-table thead th.c-week{color:var(--text)}.trend-table thead th.c-used{color:var(--accent-green)}.trend-table thead th.c-dollar{color:var(--accent-purple)}.trend-table thead th.c-delta{color:var(--accent-amber)}.trend-table tbody td{padding:5px 10px 5px 0}.trend-table tbody td.num{text-align:right}.trend-table tbody tr.current td{color:var(--accent-cyan);background:#22d3ee0f;border-top:1px solid #22d3ee40;border-bottom:1px solid #22d3ee40}.trend-table tbody td.dollar{color:var(--accent-purple)}.trend-table tbody td.delta-pos{color:var(--accent-red)}.trend-table tbody td.delta-neg{color:var(--accent-green)}.trend-spark-title{color:var(--accent-cyan);margin-top:18px;font-weight:700}.trend-spark{grid-template-columns:repeat(9,1fr);align-items:end;gap:6px;height:72px;margin:10px 0 6px;display:grid}.trend-spark .bar{background:var(--accent-purple);border-radius:2px}.trend-spark-legend{color:var(--text-dim);font-size:12px;font-family:var(--font-mono);align-items:center;gap:10px;display:flex}.trend-spark-legend .line{height:1px;color:var(--text-dim);background-image:linear-gradient(90deg,currentColor 50%,#0000 50%);background-size:6px 1px;flex:1}.sort-pill{border:1px solid var(--border-soft);background:var(--panel-bg-2);color:var(--text-dim);cursor:pointer;font-size:12.5px;font-family:var(--font-mono);border-radius:6px;align-items:center;gap:8px;padding:4px 12px;display:inline-flex}.sort-pill:hover{border-color:var(--accent-orange);color:var(--text)}.sort-pill .icon{width:12px;height:12px}.sess-table{border-collapse:collapse;width:100%;font-size:13px;font-family:var(--font-mono)}.sess-table thead th{text-align:left;color:var(--accent-amber);padding:4px 10px 8px 0;font-weight:700}.sess-table thead th.num{text-align:right}.sess-table tbody td{white-space:nowrap;padding:5px 10px 5px 0}.sess-table tbody td.num{text-align:right}.sess-table tbody td.started{color:var(--accent-cyan)}.sess-table tbody td.project{color:var(--accent-blue)}.sess-table tbody td.cost-low{color:var(--accent-green)}.sess-table tbody td.cost-mid{color:var(--accent-amber)}.sess-table tbody td.cost-high{color:var(--accent-red)}.sess-table tbody td.cost-xs{color:var(--accent-green)}.chip{font-size:12px;font-weight:700;font-family:var(--font-mono);border-radius:4px;padding:1px 8px;display:inline-block}.chip.sonnet{background:var(--chip-sonnet);color:#b6f7cc}.chip.opus{background:var(--chip-opus);color:#e0cfff}.chip.haiku{background:var(--chip-haiku);color:#cfdcff}.chip.chip-aging{color:#cbd5e1;background:#94a3b82e;border:1px solid #94a3b852}.chip.chip-stale{color:var(--accent-amber);background:#fbbf242e;border:1px solid #fbbf2473;font-weight:800}.footer{border:1px solid var(--border-soft);background:var(--panel-bg);color:var(--text-dim);border-radius:6px;flex-wrap:wrap;gap:24px;padding:10px 18px;font-size:13px;display:flex}.kb{align-items:center;gap:8px;display:inline-flex}.kb kbd{background:var(--panel-bg-2);border:1px solid var(--border-soft);font-family:var(--font-mono);color:var(--text);border-radius:3px;padding:1px 8px;font-size:12px}.kb kbd.accent-green{color:var(--accent-green);border-color:var(--accent-green)}.kb kbd.accent-purple{color:var(--accent-purple);border-color:var(--accent-purple)}.kb kbd.accent-amber{color:var(--accent-amber);border-color:var(--accent-amber)}.kb kbd.accent-red{color:var(--accent-red);border-color:var(--accent-red)}.kb kbd.mute{color:var(--text-faint);border-color:var(--border-soft)}#help-overlay[hidden]{display:none}#help-overlay{z-index:1000;font-family:var(--font-mono);background:#0a0b10d1;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}#help-overlay .help-card{background:var(--panel-bg);border:1px solid var(--accent-blue);min-width:320px;color:var(--text);border-radius:8px;padding:24px 28px}#help-overlay .help-header{justify-content:space-between;align-items:center;margin:0 0 12px;display:flex}#help-overlay .help-card h2{color:var(--accent-blue);margin:0;font-size:15px}#help-overlay .help-card table{border-collapse:collapse}#help-overlay .help-card td{vertical-align:top;padding:4px 12px 4px 0}#help-overlay .help-card td kbd,#help-overlay .help-card .help-gesture-list kbd{background:var(--panel-bg-2);border:1px solid var(--border-soft);border-radius:3px;padding:1px 8px}#help-overlay .help-card .meta{color:var(--text-dim);margin-top:16px;font-size:12px}#modal-root{z-index:100;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}#modal-root[hidden]{display:none}.modal-backdrop{background:#0000008c;position:absolute;inset:0}.modal-card{z-index:1;background:var(--panel-bg);border:2px solid var(--accent-green);border-radius:8px;flex-direction:column;width:min(720px,92vw);max-height:85vh;font-family:inherit;display:flex;position:relative;overflow:hidden}.modal-card.accent-purple{border-color:var(--accent-purple)}.modal-card.accent-amber{border-color:var(--accent-amber)}.modal-card.accent-orange{border-color:var(--accent-orange)}.modal-card.accent-cyan{border-color:var(--accent-cyan)}.modal-card.accent-pink{border-color:var(--accent-pink)}.modal-card.accent-indigo{border-color:var(--accent-indigo)}.modal-handle{display:none}.modal-header{border-bottom:1px solid var(--border-soft);justify-content:space-between;align-items:center;padding:12px 18px;display:flex}.modal-header h2{margin:0;font-size:18px;font-weight:500}.modal-close{color:inherit;cursor:pointer;background:0 0;border:none;padding:4px 8px;font-size:24px;line-height:1}.modal-close:hover{color:var(--accent-red)}.modal-body{scrollbar-gutter:stable;padding:16px 18px;overflow:auto}.empty-state{color:var(--text-dim);text-align:center;padding:18px}.m-hero{gap:14px 24px;padding-bottom:14px;display:grid}.m-hero.cols-2{grid-template-columns:repeat(2,1fr)}.m-hero.cols-3{grid-template-columns:repeat(3,1fr)}.m-hero.cols-4{grid-template-columns:repeat(4,1fr)}.m-kv{align-items:flex-start;gap:10px;display:flex}.m-kv .icon{flex-shrink:0;width:20px;height:20px;margin-top:3px}.m-kv .v{letter-spacing:-.01em;font-size:22px;font-weight:700;line-height:1.15}.m-kv .lbl{color:var(--text-dim);text-transform:uppercase;letter-spacing:.05em;margin-top:2px;font-size:10.5px;font-weight:500}.m-kv .sub{color:var(--text-dim);margin-top:2px;font-size:11px}.m-sec{text-transform:uppercase;letter-spacing:.06em;align-items:center;gap:8px;margin:18px 0 10px;font-size:11.5px;font-weight:600;display:flex}.m-sec .icon{flex-shrink:0;width:15px;height:15px}.m-sec.sec-tok{color:var(--accent-green)}.m-sec.sec-mod{color:var(--accent-purple)}.m-sec.sec-costm{color:var(--accent-magenta)}.m-sec.sec-src{color:var(--accent-blue)}.m-sec.sec-prog{color:var(--accent-green)}.m-sec.sec-ms{color:var(--accent-purple)}.m-sec.sec-range{color:var(--accent-amber)}.m-sec.sec-rates{color:var(--accent-cyan)}.m-sec.sec-bud{color:var(--accent-magenta)}.m-sec.sec-wk{color:var(--accent-green)}.m-sec.sec-spark{color:var(--accent-amber)}.m-sec.sec-tbl{color:var(--accent-purple)}.m-sec.sec-burn{color:var(--accent-amber)}.m-sec.sec-5h{color:var(--accent-cyan)}.mcw-5h-credit-row .mcw-5h-credit-cell{color:var(--accent-amber);border-top:1px dashed var(--border-soft);border-bottom:1px dashed var(--border-soft);text-align:center;background:#fbbf2414;font-weight:600}.m-pill{border:1px solid #0000;border-radius:12px;padding:3px 10px;font-size:11.5px;font-weight:600}.m-pill.accent-green{color:var(--accent-green);background:#3ddc8424;border-color:#3ddc844d}.m-pill.accent-amber{color:var(--accent-amber);background:#fbbf2426;border-color:#fbbf2459}.m-pill.accent-cyan{color:var(--accent-cyan);background:#22d3ee24;border-color:#22d3ee4d}.m-pill.accent-magenta{color:var(--accent-magenta);background:#d946ef24;border-color:#d946ef4d}.m-pill.accent-purple{color:var(--accent-purple);background:#c084fc2e;border-color:#c084fc59}.m-pill.accent-blue{color:var(--accent-blue);background:#60a5fa24;border-color:#60a5fa4d}.m-pill.accent-red{color:var(--accent-red);background:#ef444424;border-color:#ef44444d}.m-chipstrip{flex-wrap:wrap;gap:8px;margin-bottom:14px;display:flex}.m-histable{border-collapse:collapse;width:100%;font-size:12.5px}.m-histable th,.m-histable td{text-align:left;padding:5px 10px}.m-histable th{color:var(--text-dim);text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--border-soft);font-size:10.5px;font-weight:400}.m-histable td.num,.m-histable th.num{text-align:right;font-variant-numeric:tabular-nums}.m-histable tbody tr:nth-child(2n){background:#ffffff04}.m-histable tr.cur{background:#fbbf2414}.m-histable tr.cur td:first-child{border-left:2px solid var(--accent-amber)}.mcw-herobar{padding:4px 0 6px}.mcw-bignum{font-family:var(--font-mono);color:var(--accent-green);letter-spacing:-2px;font-size:46px;font-weight:800;line-height:1}.mcw-bignum .unit{color:var(--text-dim);letter-spacing:0;margin-left:4px;font-size:22px;font-weight:500}.mcw-pbar-wrap{margin-top:12px}.mcw-pbar{border:1px solid var(--border-soft);background:#ffffff0a;border-radius:4px;height:22px;position:relative;overflow:visible}.mcw-pbar .fill{background:linear-gradient(90deg, var(--accent-green), #5ef0a4);border-radius:3px 0 0 3px;position:absolute;top:0;bottom:0;left:0}.mcw-pbar .ticks .tick{background:#c084fca6;width:2px;position:absolute;top:-4px;bottom:-4px}.mcw-pbar .ticks .tick:after{content:attr(data-p);color:var(--accent-purple);font-size:9px;font-weight:600;position:absolute;top:-14px;left:50%;transform:translate(-50%)}.mcw-pbar .marker{background:var(--accent-green);width:3px;position:absolute;top:-5px;bottom:-5px;box-shadow:0 0 6px #3ddc84b3}.mcw-pscale{color:var(--text-dim);justify-content:space-between;margin-top:8px;font-size:10px;display:flex}.mcw-mini{color:var(--text-dim);flex-wrap:wrap;gap:18px;margin-top:16px;font-size:12px;display:flex}.mcw-mini .s .k{text-transform:uppercase;letter-spacing:.05em;font-size:10px}.mcw-mini .s .v{color:var(--text);margin-left:6px;font-size:14px;font-weight:700}.mcw-mini .s .v.v-magenta{color:var(--accent-magenta)}.mcw-mini .s .v.v-cyan{color:var(--accent-cyan)}.mcw-mshead{align-items:center;gap:10px;margin-bottom:8px;display:flex}.mcw-ms-sub{color:var(--text-dim);font-size:11px}#mcw-table .pct-cell{text-align:center;min-width:26px;font-family:var(--font-mono);padding:1px 4px;font-size:11px;display:inline-block}#mcw-table .m-marginal{color:var(--accent-amber);font-family:var(--font-mono)}#mcw-table .m-fh{color:var(--accent-blue);font-size:11px;font-family:var(--font-mono)}#mcw-table td.d{color:var(--text-dim);font-family:var(--font-mono);font-size:11px}.m-kv.kv-wa .icon{color:var(--accent-blue)}.m-kv.kv-r24 .icon{color:var(--accent-amber)}.m-kv.kv-wa .v{color:var(--accent-blue)}.m-kv.kv-r24 .v{color:var(--accent-amber)}.mfc-rangewrap{padding:52px 0 32px;position:relative}.mfc-rangetrack{border:1px solid var(--border-soft);background:#ffffff05;border-radius:6px;height:16px;position:relative;overflow:visible;box-shadow:inset 0 1px #00000073}.mfc-zone{pointer-events:none;position:absolute;top:0;bottom:0}.mfc-zone.safe{background:#3ddc841a;border-radius:5px 0 0 5px;width:81.82%;left:0}.mfc-zone.warn{background:#fbbf2433;width:9.09%;left:81.82%}.mfc-zone.over{background:#ef444440;border-radius:0 5px 5px 0;left:90.91%;right:0}.mfc-bound{pointer-events:none;width:1px;position:absolute;top:-3px;bottom:-3px}.mfc-bound.b90{background:#fbbf248c;left:81.82%}.mfc-bound.b100{background:#ef4444a6;left:90.91%}.mfc-bound .lbl{font-size:9.5px;font-weight:700;font-family:var(--font-mono);white-space:nowrap;position:absolute;top:calc(100% + 6px);left:50%;transform:translate(-50%)}.mfc-bound.b90 .lbl{color:var(--accent-amber)}.mfc-bound.b100 .lbl{color:var(--accent-red)}.mfc-rangeband{background:linear-gradient(90deg, var(--accent-blue), var(--accent-amber));opacity:.85;pointer-events:none;border-radius:2px;height:8px;position:absolute;top:4px}.mfc-chev{filter:drop-shadow(0 1px 1px #0000008c);pointer-events:none;border-top:10px solid;border-left:6px solid #0000;border-right:6px solid #0000;width:0;height:0;transition:left .25s ease-out;position:absolute;top:-10px;transform:translate(-50%)}.mfc-chev.wa{color:var(--accent-blue)}.mfc-chev.r24{color:var(--accent-amber)}.mfc-pills{pointer-events:none;width:100%;height:18px;position:absolute;top:10px;left:0}.mfc-pill{font-size:10.5px;font-weight:700;font-family:var(--font-mono);white-space:nowrap;pointer-events:none;border-radius:10px;padding:2px 8px;transition:left .25s ease-out;position:absolute;top:0;transform:translate(-50%);box-shadow:0 1px 2px #00000059}.mfc-pill.wa{color:var(--accent-blue);background:#60a5fa38;border:1px solid #60a5fa99}.mfc-pill.r24{color:var(--accent-amber);background:#fbbf2438;border:1px solid #fbbf24a6}.mfc-leaders{pointer-events:none;width:100%;height:18px;position:absolute;top:28px;left:0;overflow:visible}.mfc-leaders path{fill:none;stroke-width:1.5px;stroke-linecap:round;stroke-linejoin:round;opacity:.8}.mfc-leaders path.wa{stroke:var(--accent-blue)}.mfc-leaders path.r24{stroke:var(--accent-amber)}.mfc-kvgrid{grid-template-columns:repeat(2,1fr);gap:0 24px;display:grid}.mfc-kvgrid.mfc-kvgrid-single{grid-template-columns:1fr}.mfc-krow{border-bottom:1px dotted var(--border-soft);justify-content:space-between;align-items:baseline;padding:6px 0;font-size:12.5px;display:flex}.mfc-krow .l{color:var(--text-dim);text-transform:uppercase;letter-spacing:.04em;font-size:11px}.mfc-krow .v{font-weight:700;font-family:var(--font-mono)}.mfc-krow .v.v-amber{color:var(--accent-amber)}.mfc-krow .v.v-cyan{color:var(--accent-cyan)}.mfc-krow .v.v-magenta{color:var(--accent-magenta)}.mfc-krow .v.v-green{color:var(--accent-green)}.mfc-krow .v.v-blue{color:var(--accent-blue)}.m-kv.kv-cur .icon,.m-kv.kv-cur .v{color:var(--accent-cyan)}.m-kv.kv-med .icon,.m-kv.kv-med .v{color:var(--accent-blue)}.m-kv.kv-delta.delta-down .icon,.m-kv.kv-delta.delta-down .v{color:var(--accent-green)}.m-kv.kv-delta.delta-up .icon,.m-kv.kv-delta.delta-up .v{color:var(--accent-red)}.m-kv.kv-delta.delta-flat .icon,.m-kv.kv-delta.delta-flat .v{color:var(--text-dim)}.m-sec .mtr-legend{text-transform:none;letter-spacing:0;color:var(--text-dim);align-items:center;gap:10px;margin-left:auto;font-size:10px;font-weight:500;display:flex}.m-sec .mtr-legend .sw{vertical-align:middle;border-radius:1px;width:18px;height:2px;margin-right:4px;display:inline-block}.m-sec .mtr-legend .sw.sw-dpp{background:var(--accent-amber);height:2.2px}.m-sec .mtr-legend .sw.sw-used{background:var(--text-dim);opacity:.7}.m-sec .mtr-legend.legend-no-used .sw-used,.m-sec .mtr-legend.legend-no-used .sw-used+.sw-lbl{display:none}.mtr-sparkhero{padding:6px 0 4px}.mtr-sparkhero svg{width:100%;height:140px;display:block}.mtr-sparkaxis{color:var(--text-dim);justify-content:space-between;margin-top:4px;padding:0 6px;font-size:10px;display:flex}.mtr-trendline{fill:none;stroke:var(--accent-amber);stroke-width:2.2px}.mtr-trendline-dim{fill:none;stroke:var(--text-dim);stroke-width:1.4px;opacity:.55}.mtr-trenddot{fill:var(--accent-amber)}.mtr-trenddot.cur{fill:var(--accent-cyan);stroke:var(--bg);stroke-width:2px}.mtr-axis{stroke:var(--border-soft);stroke-width:1px}.mtr-hl{stroke:#c084fc59;stroke-dasharray:2 3;stroke-width:1px}.mtr-ylabel{fill:var(--text-dim);font-family:var(--font-mono);font-size:10px}.mtr-medlabel{fill:var(--accent-purple);font-family:var(--font-mono);font-size:10px}.mtr-curlabel{fill:var(--accent-cyan);font-family:var(--font-mono);font-size:10px;font-weight:700}.mtr-tbl-head{align-items:center;gap:10px;margin-bottom:6px;display:flex}.mtr-tbl-sub{color:var(--text-dim);font-size:11px}#mtr-table .wlab{color:var(--text)}#mtr-table tr.cur .wlab{color:var(--accent-amber);font-weight:700}#mtr-table .usedpct{color:var(--accent-green);font-family:var(--font-mono)}#mtr-table .dpp{color:var(--accent-cyan);font-family:var(--font-mono)}#mtr-table .delta.up{color:var(--accent-red);font-family:var(--font-mono)}#mtr-table .delta.down{color:var(--accent-green);font-family:var(--font-mono)}#mtr-table .delta.flat{color:var(--text-dim);font-family:var(--font-mono)}.modal-loading{text-align:center;color:var(--text-dim);padding:40px}.modal-error{color:var(--accent-red);padding:18px}.msess-badge{font-family:var(--font-mono);color:#e0cfff;background:#c084fc26;border:1px solid #c084fc59;border-radius:12px;padding:4px 12px;font-size:12.5px}.m-kv.kv-cost .icon{color:var(--accent-magenta)}.m-kv.kv-dur .icon{color:var(--accent-amber)}.m-kv.kv-proj .icon{color:var(--accent-blue)}.m-kv.kv-cost .v{color:var(--accent-magenta)}.m-kv.kv-dur .v{color:var(--accent-amber)}.m-kv.kv-proj .v{color:var(--accent-blue);text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:16px;display:block;overflow:hidden}.msess-ts{font-size:12px;font-family:var(--font-mono);color:var(--text-dim);border-top:1px dotted var(--border-soft);border-bottom:1px dotted var(--border-soft);align-items:center;gap:22px;padding:10px 0;display:flex}.msess-ts .icon{width:14px;height:14px;color:var(--accent-cyan);flex-shrink:0}.msess-ts .k{text-transform:uppercase;letter-spacing:.05em;color:var(--text-dim);margin-right:6px;font-size:10.5px}.msess-ts .v{color:var(--accent-cyan)}.msess-tok-grid{grid-template-columns:repeat(5,1fr);gap:10px;display:grid}.msess-tok-tile{border:1px solid var(--border-soft);background:#ffffff05;border-radius:6px;padding:10px 12px}.msess-tok-tile .lbl{color:var(--text-dim);text-transform:uppercase;letter-spacing:.05em;margin-bottom:4px;font-size:10.5px}.msess-tok-tile .n{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:15px}.msess-tok-tile.cache-hit .n{color:var(--accent-green)}.msess-tok-tile.cache-hit .bar{background:#3ddc842e;border-radius:2px;height:4px;margin-top:6px;overflow:hidden}.msess-tok-tile.cache-hit .bar .fill{background:var(--accent-green);height:100%}.msess-costm{margin-top:4px}.msess-costm .bar{background:var(--border-soft);border-radius:4px;height:22px;display:flex;overflow:hidden}.msess-costm .bar .seg{height:100%}.msess-costm .bar .seg.opus{background:var(--chip-opus)}.msess-costm .bar .seg.sonnet{background:var(--chip-sonnet)}.msess-costm .bar .seg.haiku{background:var(--chip-haiku)}.msess-costm .legend{flex-wrap:wrap;gap:14px 20px;margin-top:10px;font-size:12px;display:flex}.msess-costm .legend .lg{align-items:center;gap:8px;display:flex}.msess-costm .legend .sw{border-radius:2px;flex-shrink:0;width:10px;height:10px}.msess-costm .legend .sw.opus{background:var(--chip-opus)}.msess-costm .legend .sw.sonnet{background:var(--chip-sonnet)}.msess-costm .legend .sw.haiku{background:var(--chip-haiku)}.msess-costm .legend .name{color:var(--text)}.msess-costm .legend .v{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.msess-costm .legend .pct{color:var(--text-dim);margin-left:2px;font-size:11px}.msess-src .src-head{color:var(--text);align-items:center;gap:10px;margin-bottom:6px;font-size:12px;display:flex}.msess-src .count-pill{color:var(--accent-blue);font-size:11px;font-family:var(--font-mono);background:#60a5fa2e;border-radius:10px;padding:1px 8px;font-weight:600}.msess-src .sub{color:var(--text-dim);font-size:11.5px}.msess-src .sub .dot{color:var(--border-soft);padding:0 2px}.msess-src .sub .subcount{color:var(--accent-amber)}.msess-src .primary-path{font-family:var(--font-mono);color:var(--text);border-left:2px solid var(--accent-blue);word-break:break-all;background:#ffffff05;border-radius:4px;padding:6px 10px;font-size:11.5px}.msess-src .src-empty-primary{font-family:var(--font-mono);color:var(--text-dim);padding:6px 10px;font-size:11.5px}.msess-src details.subagents{margin-top:10px}.msess-src details.subagents summary{cursor:pointer;color:var(--accent-blue);padding:4px 0;font-size:12px;font-weight:500;list-style:none}.msess-src details.subagents summary::-webkit-details-marker{display:none}.msess-src details.subagents summary::marker{display:none}.msess-src details.subagents summary:before{content:"▸";width:14px;color:var(--text-dim);display:inline-block}.msess-src details.subagents[open] summary:before{content:"▾"}.msess-src details.subagents .paths{font-family:var(--font-mono);color:var(--text-dim);margin:6px 0 0;padding-left:16px;font-size:11px;list-style:none}.msess-src details.subagents .paths li{word-break:break-all;padding:1px 0}.mblock-burn{flex-direction:column;gap:6px;margin-top:4px;display:flex}.mblock-burn .row{background:var(--panel-bg-2);border:1px solid var(--border-soft);border-radius:5px;flex-wrap:wrap;align-items:center;gap:12px;padding:8px 12px;display:flex}.mblock-burn .row .k{color:var(--text-dim);text-transform:uppercase;letter-spacing:.5px;min-width:100px;font-size:11px}.mblock-burn .row .v{color:var(--text);font-weight:700}.mblock-burn .row .v.amber{color:var(--accent-amber)}.mblock-burn .row .v.cyan{color:var(--accent-cyan)}.mblock-burn .row .dim{color:var(--text-faint);font-size:11px}.mblock-burn .row .sep{color:var(--text-faint)}.mblock-timeline{background:var(--panel-bg);border:1px solid var(--border-soft);border-radius:6px;margin:12px 0;padding:10px}.sessions-ctrls{align-items:center;gap:6px;display:inline-flex}.ctrl-btn{border:1px solid var(--border-soft);cursor:pointer;color:inherit;background:0 0;border-radius:4px;align-items:center;gap:6px;padding:4px 8px;font-family:inherit;font-size:12px;display:inline-flex}.ctrl-btn:hover{background:#ffffff0a}.ctrl-btn.as-chip{padding:2px 8px}.ctrl-btn .chip{color:var(--accent-orange);font-size:11px}.ctrl-btn .chip-x{color:var(--text-dim);margin-left:6px}.ctrl-input{border:1px solid var(--accent-orange);color:inherit;background:0 0;border-radius:4px;min-width:180px;padding:3px 6px;font-family:inherit;font-size:12px}.ctrl-input:focus{outline:none;box-shadow:0 0 0 2px #fb923c59}.search-container{align-items:center;gap:6px;display:inline-flex}.match-count{color:var(--text-dim);text-align:center;min-width:60px;font-size:11px;font-family:var(--font-mono)}mark{color:inherit;background:#fbbf2438;border-radius:2px;padding:0 2px}mark.current{background:var(--accent-amber);color:#000}.session-row.search-match{box-shadow:inset 2px 0 0 var(--accent-amber);background:#fbbf2414}.session-row[data-session-id]{cursor:pointer}.session-row:hover{background:#ffffff08}#sess-rows .model-chip{cursor:pointer}#sess-rows .model-chip:hover{filter:brightness(1.2)}#sess-rows .model-chip:focus-visible{outline:2px solid var(--accent-orange);outline-offset:1px}.panel:focus{outline:none}.panel:focus-visible{outline-offset:4px}.panel.accent-green:focus-visible{outline:2px solid var(--accent-green)}.panel.accent-purple:focus-visible{outline:2px solid var(--accent-purple)}.panel.accent-amber:focus-visible{outline:2px solid var(--accent-amber)}.panel.accent-orange:focus-visible{outline:2px solid var(--accent-orange)}.panel.accent-cyan:focus-visible{outline:2px solid var(--accent-cyan)}.panel.accent-pink:focus-visible{outline:2px solid var(--accent-pink)}.panel.accent-blue:focus-visible{outline:2px solid var(--accent-blue)}.panel.accent-indigo:focus-visible{outline:2px solid var(--accent-indigo)}.panel.accent-magenta:focus-visible{outline:2px solid var(--accent-magenta)}.panel.accent-teal:focus-visible{outline:2px solid var(--accent-teal)}.sync-chip{color:inherit;font:inherit;padding:0 6px}.topbar-sync:hover .sync-chip{color:var(--accent-purple)}.topbar-sync{color:inherit;font:inherit;cursor:pointer;background:0 0;border:none;align-items:center;gap:4px;padding:0;display:inline-flex}.topbar-sync:focus-visible{outline:2px solid var(--accent-purple);outline-offset:2px;border-radius:3px}.sync-chip.syncing{animation:1s infinite sync-pulse}.sync-chip.sync-error{color:var(--accent-red)}.sync-chip.sync-success{color:var(--accent-green)}@keyframes sync-pulse{0%,to{opacity:.6}50%{opacity:1}}.topbar-sync .icon{color:var(--accent-cyan);transition:color 1s ease-out}.topbar-sync:has(.sync-chip.syncing) .icon{animation:1.2s linear infinite cctally-icon-spin}.topbar-sync:has(.sync-chip.sync-success) .icon{color:var(--accent-green);transition:color}.topbar-sync:has(.sync-chip.sync-error) .icon{color:var(--accent-red);transition:color}@keyframes cctally-icon-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.topbar-sync:has(.sync-chip.syncing) .icon{animation:1s infinite sync-pulse}}.basket-chip{border:1px solid var(--border-muted,#334155);cursor:pointer;color:inherit;font:inherit;background:0 0;border-radius:6px;align-items:center;gap:4px;padding:4px 6px;line-height:1;display:inline-flex}.basket-chip:focus-visible{outline:2px solid var(--accent-purple);outline-offset:2px}.basket-chip:hover{filter:brightness(1.15)}.basket-chip-icon{vertical-align:middle;display:inline-block}.basket-chip-count{color:#0f172a;background:#f59e0b;border-radius:9999px;justify-content:center;align-items:center;min-width:1.4em;height:1.4em;padding:0 4px;font-size:11px;font-weight:600;display:inline-flex}@keyframes basket-chip-pulse{0%{transform:scale(1)}50%{transform:scale(1.15)}to{transform:scale(1)}}.basket-chip.basket-chip-pulse .basket-chip-count{animation:.32s ease-out basket-chip-pulse}@media (prefers-reduced-motion:reduce){.basket-chip.basket-chip-pulse .basket-chip-count{animation:none}}.kb-btn{color:inherit;font:inherit;cursor:pointer;background:0 0;border:none;align-items:center;gap:8px;padding:0;display:inline-flex}.kb-btn:hover{filter:brightness(1.3)}.kb-btn:focus-visible{outline:2px solid var(--accent-purple);outline-offset:2px;border-radius:3px}#settings-root{z-index:100;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}#settings-root[hidden]{display:none}#settings-root .modal-card{z-index:1;min-width:360px;max-width:560px;position:relative}.settings-fs{border:1px solid var(--border-soft);margin:0 0 12px;padding:10px 14px}.settings-fs legend{color:var(--text-dim);letter-spacing:.3px;text-transform:uppercase;padding:0 6px;font-size:11px}.settings-fs label{cursor:pointer;padding:3px 0;display:block}.settings-fs input[type=text],.settings-fs input[type=number]{border:1px solid var(--border-soft);color:inherit;font:inherit;background:0 0;border-radius:4px;width:180px;padding:4px 8px}.settings-fs input[type=text]:focus,.settings-fs input[type=number]:focus{border-color:var(--accent-orange);outline:none;box-shadow:0 0 0 2px #fb923c40}.system-info{font-size:12px;font-family:var(--font-mono);color:var(--text-dim);margin:4px 0;padding:0;list-style:none}.settings-actions{gap:10px;margin-top:16px;display:flex}.settings-btn{background:var(--panel-bg);border:1px solid var(--border-soft);color:inherit;cursor:pointer;font:inherit;border-radius:4px;padding:6px 14px}.settings-btn:hover{border-color:var(--accent-orange)}.settings-btn:focus-visible{outline:2px solid var(--accent-orange);outline-offset:2px}#settings-save{border-color:var(--accent-orange)}.settings-select{vertical-align:middle;padding:6px 8px}.toast{background:var(--panel-bg);border:1px solid var(--accent-amber);z-index:200;color:var(--text);font-size:12px;font-family:var(--font-mono);border-radius:4px;padding:8px 14px;position:fixed;bottom:24px;left:50%;transform:translate(-50%);box-shadow:0 4px 16px #0006}.panel.sessions-collapsed{max-height:480px}.panel.sessions-collapsed .panel-body{overflow:hidden auto}.panel.sessions-collapsed .sess-table thead th{background:var(--panel-bg);z-index:1;position:sticky;top:0}.panel-collapse-toggle{color:var(--text-dim);cursor:pointer;background:0 0;border:none;border-radius:4px;align-items:center;padding:4px;display:inline-flex}.panel-collapse-toggle:hover{color:var(--text);background:#ffffff0a}.panel-collapse-toggle:focus-visible{outline:2px solid var(--accent-orange);outline-offset:2px}.panel-collapse-toggle .icon{width:16px;height:16px}.share-icon{cursor:pointer;color:var(--text-dim);background:0 0;border:0;border-radius:4px;align-items:center;padding:4px;display:inline-flex}.share-icon:hover{color:var(--text);background:#ffffff0a}.share-icon:focus-visible{outline:2px solid var(--accent-blue);outline-offset:2px}.modal-header .share-icon{margin-left:auto}.pill-current{background:var(--pill-bg);color:inherit;letter-spacing:.5px;text-transform:uppercase;border-radius:999px;margin-left:6px;padding:1px 6px;font-size:9px;font-weight:700;display:inline-block}.delta{font-variant-numeric:tabular-nums;border-radius:4px;padding:1px 6px;font-size:11px}.delta.up{color:var(--accent-red);background:#ef444424}.delta.down{color:var(--accent-green);background:#3ddc8424}.delta.flat{color:var(--text-faint);background:0 0}.model-stack{background:#ffffff0a;border-radius:999px;height:9px;margin-top:6px;display:flex;overflow:hidden;box-shadow:inset 0 1px #ffffff0d}.model-stack>span{height:100%;transition:width .28s cubic-bezier(.2,.8,.2,1);display:block}.model-stack>span.opus{background:var(--chip-opus)}.model-stack>span.sonnet{background:var(--chip-sonnet)}.model-stack>span.haiku{background:var(--chip-haiku)}.model-stack>span.other{background:var(--text-faint)}.panel-foot.period-foot .sep{color:var(--text-faint);margin:0 4px}.panel-foot.period-foot .total{color:var(--text);font-variant-numeric:tabular-nums;font-weight:700}.period{padding:8px 0}.period+.period{border-top:1px solid #ffffff0a}.period .meta{font-variant-numeric:tabular-nums;justify-content:space-between;align-items:baseline;gap:12px;display:flex}.period .meta .label{color:var(--text)}.period .meta .right{align-items:baseline;gap:8px;display:flex}.period .meta .cost{color:var(--text);font-weight:600}.detail-card{background:var(--panel-bg-2);border:1px solid #ffffff14;border-radius:8px;margin-bottom:14px;padding:14px 16px}.detail-card.accent-cyan{border-color:#22d3ee2e}.detail-card.accent-pink{border-color:#ec48992e}.detail-card.accent-indigo{border-color:#818cf82e}.detail-card .head{justify-content:space-between;align-items:baseline;margin-bottom:6px;display:flex}.detail-card .head .big{font-variant-numeric:tabular-nums;font-size:17px;font-weight:700}.detail-card .window{color:var(--text-faint);margin-bottom:12px;font-size:11px}.detail-card .model-stack{height:14px;margin:6px 0 10px}.detail-card .chips{flex-wrap:wrap;gap:6px;display:flex}.detail-card .chip{color:#fff;font-variant-numeric:tabular-nums;border-radius:999px;padding:2px 8px;font-size:11px}.detail-card .chip.opus{background:var(--chip-opus)}.detail-card .chip.sonnet{background:var(--chip-sonnet)}.detail-card .chip.haiku{background:var(--chip-haiku)}.detail-card .chip.other{background:var(--text-faint);color:var(--text)}.tokens-row{border-top:1px solid #ffffff0d;grid-template-columns:repeat(5,1fr);gap:8px;margin-top:12px;padding-top:10px;display:grid}.tokens-row .t{font-size:11px}.tokens-row .t .k{color:var(--text-dim);text-transform:uppercase;letter-spacing:.4px;margin-bottom:2px;font-size:9px;display:block}.tokens-row .t .v{color:var(--text);font-variant-numeric:tabular-nums}.detail-card .stats2{grid-template-columns:repeat(5,1fr);gap:8px;margin-top:8px;display:grid}.detail-card .stats2 .s{font-size:12px}.detail-card .stats2 .k{color:var(--text-dim);margin-right:6px}.detail-card .stats2 .v{color:var(--text);font-variant-numeric:tabular-nums;font-weight:700}.history-table{border-collapse:collapse;width:100%;font-size:12px}.history-table thead th{color:var(--text-dim);text-align:left;background:var(--panel-bg);border-bottom:1px solid #ffffff1a;padding:6px 8px;font-weight:600;position:sticky;top:0}.history-table tbody td{font-variant-numeric:tabular-nums;border-bottom:1px solid #ffffff0a;padding:6px 8px}.history-table tbody td.num{text-align:right}.history-table tbody tr:hover td{cursor:pointer;background:#ffffff05}.history-table tbody tr.selected td{background:var(--panel-bg-2)}.history-table.accent-cyan tbody tr.selected td:first-child{box-shadow:inset 3px 0 0 var(--accent-cyan)}.history-table.accent-pink tbody tr.selected td:first-child{box-shadow:inset 3px 0 0 var(--accent-pink)}.history-table tbody td.delta-up{color:var(--accent-red)}.history-table tbody td.delta-down{color:var(--accent-green)}.history-table .models-chips{flex-wrap:wrap;align-items:center;gap:4px;display:inline-flex}.history-table .models-chips .chip{padding:0 6px;font-size:11px}.history-table .models-chips-more{color:var(--text-faint);font-size:11px}.panel-empty{text-align:center;color:var(--text-faint);padding:24px 0;font-size:12px}.panel.blocks-collapsed{max-height:480px}.panel.blocks-collapsed .panel-body{overflow:hidden auto}.blocks-row{cursor:pointer;border-bottom:1px dashed #ffffff0d;padding:8px 0;font-size:12px;transition:background 80ms}.blocks-row:last-child{border-bottom:0}.blocks-row:hover{background:#60a5fa0f}.blocks-row:focus-visible{box-shadow:inset 0 0 0 1px var(--accent-blue);background:#60a5fa0f;outline:none}.blocks-row .meta{justify-content:space-between;align-items:center;margin-bottom:6px;display:flex}.blocks-row .label{color:var(--text);font-weight:600}.blocks-row .label .anchor-marker{color:var(--text-dim);margin-right:2px;font-weight:400}.blocks-row .cost{color:var(--text);font-variant-numeric:tabular-nums;font-weight:700}.blocks-row .gauge-track{background:#ffffff0a;border-radius:4px;height:14px;overflow:hidden}.blocks-row .gauge-fill{height:100%;transition:width .28s ease-out;display:flex}.blocks-row .gauge-fill>span{height:100%;display:block}.blocks-row .gauge-fill .seg-opus{background:var(--accent-purple)}.blocks-row .gauge-fill .seg-sonnet{background:var(--accent-blue)}.blocks-row .gauge-fill .seg-haiku{background:var(--accent-green)}.blocks-row .gauge-fill .seg-other{background:var(--text-dim)}.blocks-row .pill-active{background:var(--pill-bg);color:var(--accent-amber);letter-spacing:.4px;border-radius:999px;margin-left:6px;padding:1px 6px;font-size:10px;font-weight:700;display:inline-block}.panel.daily-collapsed{max-height:520px}.panel.daily-collapsed .panel-body{overflow:hidden auto}.daily-legend{color:var(--text-dim);text-transform:uppercase;letter-spacing:.6px;align-items:center;gap:10px;margin-bottom:14px;font-size:11px;display:flex}.daily-legend .scale{gap:3px;display:flex}.daily-legend .scale span{border-radius:3px;width:16px;height:10px;display:block}.daily-legend .scale .h0{background:#ffffff0d}.daily-legend .scale .h1{background:#60a5fa1a}.daily-legend .scale .h2{background:#60a5fa38}.daily-legend .scale .h3{background:#c084fc52}.daily-legend .scale .h4{background:#ec489966}.daily-legend .scale .h5{background:#fbbf2480}.daily-cal-grid{grid-template-columns:minmax(72px,auto) repeat(7,minmax(0,1fr));grid-auto-rows:64px;align-items:stretch;gap:8px;display:grid}.daily-week-label{border-right:1px solid var(--border-soft);flex-direction:column;justify-content:center;min-width:0;padding-right:8px;display:flex}.daily-week-label .wk{color:var(--text);font-size:12px;font-weight:700;font-family:var(--font-mono);letter-spacing:.5px;line-height:1.1}.daily-week-label .rng{color:var(--text-dim);font-size:10.5px;font-family:var(--font-mono);white-space:nowrap;margin-top:3px;line-height:1.1}.daily-cell{color:var(--text-dim);background-image:radial-gradient(120% 120% at 0 0,#ffffff12 0%,#0000 55%);border:1px solid #ffffff0a;border-radius:8px;flex-direction:column;justify-content:space-between;align-items:stretch;min-width:0;padding:6px 9px 7px;font-size:10px;display:flex;position:relative;overflow:hidden}.daily-cell .d{color:var(--text-dim);font-variant-numeric:tabular-nums;font-size:11px;font-weight:500;font-family:var(--font-mono);letter-spacing:.4px;align-self:flex-start;line-height:1}.daily-cell .c{color:var(--text);font-variant-numeric:tabular-nums;font-size:16px;font-family:var(--font-mono);letter-spacing:-.3px;align-self:center;margin-bottom:2px;font-weight:800;line-height:1}.daily-cell.is-today{outline:2px solid var(--accent-cyan);outline-offset:-2px}.daily-cell.h0{color:#ffffff4d;background-color:#ffffff05}.daily-cell.h0 .d{color:#fff6}.daily-cell.h0 .c{color:#ffffff59;font-weight:600}.daily-cell.h1{background-color:#60a5fa2e}.daily-cell.h2{background-color:#818cf84d}.daily-cell.h3{background-color:#c084fc61}.daily-cell.h4{background-color:#ec48996b}.daily-cell.h5{background-color:#fb923c8c;border-color:#fb923c8c}.daily-cell.h5 .c{color:#fff7e8}.daily-cell.h5 .d{color:#ffffffd9}@keyframes daily-fade-in{0%{opacity:0}to{opacity:1}}.daily-cell.first-mount{animation:.28s ease-out both daily-fade-in;animation-delay:var(--daily-stagger,0s)}.daily-month-continues{color:var(--text-faint);letter-spacing:.5px;text-transform:lowercase;font-size:11px;font-family:var(--font-mono);justify-content:center;align-items:center;gap:12px;min-width:0;display:flex}.daily-month-continues:before,.daily-month-continues:after{content:"";border-top:1px dashed #ffffff1a;flex:auto;min-width:12px}.daily-foot{border-top:1px solid var(--accent-line);grid-template-columns:1fr 1fr;gap:24px;margin-top:18px;padding-top:14px;display:grid}.daily-foot-col{align-items:center;gap:14px;min-width:0;display:flex}.daily-foot-icon{flex-shrink:0;width:28px;height:28px}.daily-foot-icon.icon-total{color:var(--accent-indigo)}.daily-foot-icon.icon-peak{color:var(--accent-amber)}.daily-foot-text{flex-direction:column;min-width:0;display:flex}.daily-foot-text .lbl{color:var(--text-dim);letter-spacing:.3px;margin-bottom:2px;font-size:11px}.daily-foot-text .val{color:var(--text);font-size:18px;font-weight:800;font-family:var(--font-mono);font-variant-numeric:tabular-nums;letter-spacing:-.3px;align-items:baseline;gap:8px;display:flex}.daily-foot-text .val .d{color:var(--text);font-size:14px;font-weight:700}.daily-foot-text .val .a{color:var(--accent-amber);font-size:18px;font-weight:800}.daily-modal-bars{background:#6366f10a;border:1px solid #6366f11f;border-radius:10px;padding:14px 16px}.daily-modal-bars-head{color:var(--text-dim);text-transform:uppercase;letter-spacing:.06em;justify-content:space-between;align-items:center;margin-bottom:12px;font-size:11px;display:flex}.daily-modal-bars-head .hint{color:var(--text-dim);text-transform:none;letter-spacing:0;font-size:10px}.daily-modal-bars-grid{grid-template-columns:repeat(30,minmax(6px,1fr));align-items:end;gap:3px;height:96px;display:grid}.daily-modal-bars-grid .bar{background:linear-gradient(to top, color-mix(in srgb, var(--accent-indigo) 70%, transparent), color-mix(in srgb, var(--accent-indigo) 90%, transparent));cursor:pointer;border:none;border-radius:3px 3px 0 0;min-width:6px;padding:0;transition:filter .15s,transform .15s}.daily-modal-bars-grid .bar:hover{filter:brightness(1.25);transform:translateY(-1px)}.daily-modal-bars-grid .bar:focus-visible{outline:2px solid var(--accent-amber);outline-offset:2px}.daily-modal-bars-grid .bar.zero{cursor:default;background:#ffffff0f}.daily-modal-bars-grid .bar.zero:hover{filter:none;transform:none}.daily-modal-bars-grid .bar.sel{background:linear-gradient(#fbbf24,#f59e0b);box-shadow:0 0 0 2px #fbbf2459}.daily-modal-bars-grid .bar.today{outline-offset:1px;outline:1px dashed #fbbf2473}.daily-modal-bars-axis{color:var(--text-dim,#6f7a8b);justify-content:space-between;margin-top:8px;font-size:10px;display:flex}.detail-card .tokens-row .t.cache .v{color:#fbbf24}.detail-card .tokens-row .t.cache .bar{background:#ffffff0f;border-radius:2px;height:4px;margin-top:6px;overflow:hidden}.detail-card .tokens-row .t.cache .bar .fill{background:linear-gradient(90deg,#f59e0b,#fbbf24);border-radius:2px;height:100%}.daily-cell{cursor:pointer;font:inherit;color:inherit;text-align:left}.daily-cell:focus-visible{outline:2px solid var(--accent-amber);outline-offset:2px;border-radius:8px}.daily-foot-peak{cursor:pointer;font:inherit;color:inherit;text-align:left;background:0 0;border:none;padding:0}.daily-foot-peak:hover{filter:brightness(1.08)}.daily-foot-peak:focus-visible{outline:2px solid var(--accent-amber);outline-offset:2px;border-radius:6px}.panel-host{outline:none;flex-direction:column;min-width:0;display:flex;position:relative}.panel-host>.panel{flex:auto}.panel-host.is-dragging{z-index:10;cursor:grabbing}.panel-host.is-dragging>.panel{transition:box-shadow .12s;box-shadow:0 14px 40px #00000073}.panel-grip-hint{pointer-events:none;opacity:0;color:var(--text-dim);z-index:2;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:9px;font-style:italic;transition:opacity .1s;position:absolute;bottom:6px;right:14px}.panel-host:hover .panel-grip-hint{opacity:.55}.panel-host:hover,.panel-host:hover>.panel{cursor:grab}.panel-host.is-dragging:hover,.panel-host.is-dragging:hover>.panel{cursor:grabbing}.panel-grip{width:24px;height:24px;font-family:var(--font-mono);letter-spacing:-1px;color:var(--text-dim);-webkit-user-select:none;user-select:none;touch-action:none;cursor:grab;border-radius:4px;justify-content:center;align-items:center;padding:4px;font-size:13px;display:inline-flex}.panel-host.is-dragging .panel-grip{cursor:grabbing}.panel-header>.panel-grip{margin-left:auto}@media (pointer:fine){.panel-grip{display:none}}.settings-fs.layout-fs .settings-btn{margin-top:6px}.onboarding-toast{background:var(--panel-bg);border:1px solid var(--accent-indigo,#818cf8);color:var(--text);z-index:1000;border-radius:6px;align-items:center;gap:10px;max-width:320px;padding:10px 12px;font-size:12px;display:flex;position:fixed;bottom:16px;right:16px;box-shadow:0 6px 24px #00000059}.onboarding-toast-msg{flex:1;line-height:1.35}.onboarding-toast-dismiss{color:var(--text-dim);cursor:pointer;background:0 0;border:0;padding:0 4px;font-size:18px;line-height:1}.onboarding-toast-dismiss:hover{color:var(--text)}@media (prefers-reduced-motion:reduce){.panel-host.is-dragging>.panel{transition:none}}.th-sortable{cursor:pointer;-webkit-user-select:none;user-select:none;position:relative}.th-sortable:focus-visible{outline:2px solid var(--accent-cyan);outline-offset:-2px}.th-sort-btn{color:inherit;font:inherit;cursor:pointer;background:0 0;border:none;align-items:center;gap:4px;margin:0;padding:0;display:inline-flex}.th-caret{min-width:.7em;font-size:.85em;display:inline-block}.th-sortable.is-sorted .th-label{color:var(--th-accent,var(--accent-cyan));font-weight:700}.th-sortable.is-sorted .th-caret{color:var(--th-accent,var(--accent-cyan))}.settings-hint{color:var(--text-dim,#8a8a8a);margin:4px 0 0;font-size:12px}.panel.alerts-collapsed{max-height:360px}.panel.alerts-collapsed .panel-body{overflow:hidden auto}.toast.toast--alert{cursor:pointer;background:linear-gradient(180deg, var(--panel-bg) 0%, var(--panel-bg-2) 100%);border-radius:8px;width:360px;padding:14px 16px}.toast--severity-info{border:1px solid var(--accent-indigo);box-shadow:inset 0 0 28px #818cf80f,0 8px 24px #00000080}.toast--severity-warn{border:1px solid var(--accent-amber);box-shadow:inset 0 0 28px #fbbf240f,0 8px 24px #00000080}.toast--severity-critical{border:1px solid var(--accent-red);box-shadow:inset 0 0 28px #ef444412,0 8px 24px #00000080}.toast--alert-head{align-items:center;gap:8px;margin-bottom:10px;display:flex}.toast--alert-threshold{letter-spacing:-.5px;font-size:22px;font-weight:800;font-family:var(--font-mono)}.toast--severity-info .toast--alert-threshold{color:var(--accent-indigo)}.toast--severity-warn .toast--alert-threshold{color:var(--accent-amber)}.toast--severity-critical .toast--alert-threshold{color:var(--accent-red)}.toast--alert-dismiss-hint{color:var(--text-faint);margin-left:auto;font-size:11px}.toast--alert-title{color:var(--text);margin-bottom:4px;font-size:14px;font-weight:700}.toast--alert-sub{color:var(--text-dim);margin-bottom:6px;font-size:12px}.toast--alert-body{color:var(--text);font-size:13px}.toast--alert-body .num{color:var(--accent-amber);font-weight:700}.toast--severity-info .toast--alert-body .num{color:var(--accent-indigo)}.toast--severity-critical .toast--alert-body .num{color:var(--accent-red)}.chip{letter-spacing:1px;font-size:10px;font-weight:800;font-family:var(--font-mono);border-radius:3px;padding:2px 7px}.chip--weekly{color:var(--accent-purple);background:#c084fc29}.chip--five_hour{color:var(--accent-cyan);background:#22d3ee29}.chip--budget{color:var(--accent-green);background:#3ddc8429}.chip--projected{color:var(--accent-indigo);background:#818cf829}.chip--project_budget{color:var(--accent-teal);background:#2dd4bf29}.chip--codex_budget{color:var(--accent-orange);background:#fb923c29}.alert-row{border-bottom:1px solid var(--border-soft);align-items:baseline;gap:14px;padding:8px 0;display:flex}.alert-row:last-child{border-bottom:none}.alert-threshold{letter-spacing:-.5px;font-size:18px;font-weight:800;font-family:var(--font-mono);text-align:right;width:50px}.alert-threshold.info{color:var(--text-dim)}.alert-threshold.warn{color:var(--accent-amber)}.alert-threshold.critical{color:var(--accent-red)}.alert-when{color:var(--text-dim);flex:1;font-size:12px}.alerts-empty{color:var(--text-faint);text-align:center;padding:32px 0;font-size:13px}.share-overlay{z-index:200;background:#0000008c;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.share-modal{z-index:1;background:var(--panel-bg);border:2px solid var(--accent-blue);border-radius:8px;flex-direction:column;width:min(960px,94vw);max-height:90vh;font-family:inherit;display:flex;position:relative;overflow:hidden}.share-modal-header{border-bottom:1px solid var(--border-soft);justify-content:space-between;align-items:center;padding:12px 56px 12px 18px;display:flex}.share-modal-header h2{margin:0;font-size:17px;font-weight:500}.share-modal-close{color:inherit;cursor:pointer;background:0 0;border:none;padding:4px 8px;font-size:22px;line-height:1;position:absolute;top:12px;right:18px}.share-modal-close:hover{color:var(--accent-red)}.share-modal-body{scrollbar-gutter:stable;flex-direction:column;flex:1;gap:14px;padding:14px 18px;display:flex;overflow:auto}.share-section{flex-direction:column;gap:10px;display:flex}.share-main-section{flex-direction:row;gap:18px}.share-knobs-col{flex:0 0 280px;min-width:0}.share-preview-col{flex-direction:column;flex:1 1 0;min-width:0;min-height:320px;display:flex}.share-gallery{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.share-gallery-error{color:var(--accent-red);border:1px solid var(--accent-red);border-radius:4px;padding:10px;font-size:13px}.share-tile{background:var(--panel-bg-2);border:1px solid var(--border-soft);text-align:left;color:inherit;cursor:pointer;border-radius:6px;flex-direction:column;gap:4px;min-height:70px;padding:12px;font-family:inherit;display:flex}.share-tile:hover:not([disabled]):not(.share-tile-selected){border-color:var(--text-dim)}.share-tile-selected{border-color:var(--accent-blue);outline:1px solid var(--accent-blue)}.share-tile-disabled{opacity:.45;cursor:not-allowed}.share-tile-label{font-size:14px;font-weight:600}.share-tile-desc{color:var(--text-dim);font-size:12px;line-height:1.3}.share-tile-skeleton{background:var(--panel-bg-2);border:1px solid var(--border-soft);border-radius:6px;min-height:70px;padding:12px}.share-tile-skeleton-bar{background:var(--border-soft);border-radius:3px;height:14px;margin-bottom:8px}.share-tile-skeleton-bar.short{width:60%;height:10px}.share-knobs{flex-direction:column;gap:10px;display:flex}.share-knob{flex-direction:column;gap:4px;display:flex}.share-knob>label,.share-knob>.share-knob-label{color:var(--text-dim);text-transform:uppercase;letter-spacing:.02em;font-size:12px}.share-knob input[type=number],.share-knob input[type=date],.share-knob select{background:var(--panel-bg-2);border:1px solid var(--border-soft);color:inherit;border-radius:4px;padding:6px 8px;font-family:inherit;font-size:13px}.share-knob input[type=number]:focus,.share-knob input[type=date]:focus,.share-knob select:focus{outline:1px solid var(--accent-blue)}.share-knob-radiogroup{gap:12px;display:flex}.share-knob-radio,.share-knob-checkbox{cursor:pointer;align-items:center;gap:6px;font-size:13px;display:inline-flex}.share-knob-period-custom{gap:8px;margin-top:4px;display:flex}.share-knob-sublabel{color:var(--text-dim);flex-direction:column;gap:2px;font-size:11px;display:flex}.share-knob-allowlist-stub{background:var(--panel-bg-2);border:1px dashed var(--border-soft);color:var(--text-dim);text-align:left;cursor:not-allowed;border-radius:4px;padding:6px 8px;font-family:inherit;font-size:12px}.share-preview{background:var(--panel-bg-2);border:1px solid var(--border-soft);border-radius:4px;flex:1;min-height:280px;padding:12px;font-size:13px;overflow:auto}.share-preview-iframe{border:1px solid var(--border-soft);background:#fff;flex:1;width:100%;min-height:280px;padding:0}.share-preview-md{white-space:pre-wrap;word-break:break-word;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px}.share-preview-empty,.share-preview-loading{color:var(--text-dim);justify-content:center;align-items:center;display:flex}.share-preview-error{border-color:var(--accent-red);color:var(--accent-red);background:#ef444414}.share-preview-error-title{margin-bottom:6px;font-weight:600}.share-preview-error-message{font-size:12px}.share-preview-error-field{color:var(--text-dim)}.share-modal-footer{border-top:1px solid var(--border-soft);background:var(--panel-bg);padding:12px 18px}.share-actions{flex-direction:column;gap:10px;display:flex}.share-format-row{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.share-format-label{color:var(--text-dim);text-transform:uppercase;font-size:12px}.share-format-radio{cursor:pointer;align-items:center;gap:6px;font-size:13px;display:inline-flex}.share-save-preset-row{justify-content:flex-end;display:flex}.share-save-preset{background:var(--panel-bg-2);border:1px solid var(--border-soft);color:var(--text-dim);cursor:not-allowed;border-radius:4px;margin-left:auto;padding:4px 10px;font-family:inherit;font-size:12px}.share-action-row{flex-wrap:wrap;gap:8px;display:flex}.share-action{background:var(--panel-bg-2);border:1px solid var(--border-soft);color:inherit;cursor:pointer;border-radius:4px;padding:8px 14px;font-family:inherit;font-size:13px}.share-action:hover:not([disabled]){border-color:var(--accent-blue)}.share-action[disabled],.share-action-disabled{opacity:.45;cursor:not-allowed}.share-action-copy:not([disabled]){border-color:var(--accent-green)}.share-action-download:not([disabled]){border-color:var(--accent-blue)}.share-action-open:not([disabled]){border-color:var(--accent-cyan)}.share-action-png:not([disabled]){border-color:var(--accent-purple)}.share-action-print:not([disabled]){border-color:var(--accent-amber)}.share-action-error{color:var(--accent-red);margin-top:6px;font-size:12px}.composer-modal{z-index:210;background:var(--panel-bg);flex-direction:column;font-family:inherit;display:flex;position:fixed;inset:0}.composer-modal:before{content:"";z-index:-1;background:#0000008c;position:absolute;inset:0}.composer-modal-header{border-bottom:1px solid var(--border-soft);background:var(--panel-bg);justify-content:space-between;align-items:center;padding:12px 18px;display:flex}.composer-modal-header h2{margin:0;font-size:17px;font-weight:500}.composer-modal-close{color:inherit;cursor:pointer;background:0 0;border:none;padding:4px 8px;font-size:22px;line-height:1}.composer-modal-close:hover{color:var(--accent-red)}.composer-empty-message{color:var(--text-dim);padding:18px}.composer-knobs{background:var(--panel-bg);border-bottom:1px solid var(--border-soft);flex-wrap:wrap;gap:12px;padding:10px 18px;font-size:13px;display:flex}.composer-knobs label{align-items:center;gap:6px;display:inline-flex}.composer-anon-banner{background:var(--accent-yellow,#fbbf24);color:var(--bg-elevated,#0f172a);border-bottom:1px solid var(--border-soft);flex-wrap:wrap;align-items:center;gap:10px;padding:8px 18px;font-size:13px;display:flex}.composer-anon-banner button{color:inherit;cursor:pointer;background:0 0;border:1px solid;border-radius:4px;padding:2px 8px;font-size:12px}.composer-anon-banner button:hover{background:#0000001a}.composer-body{flex:1;grid-template-columns:minmax(220px,320px) 1fr;gap:16px;min-height:0;padding:16px;display:grid;overflow:hidden}.composer-section-list{margin:0;padding:0;list-style:none;overflow-y:auto}.composer-section-row{border:1px solid var(--border-soft);background:var(--panel-bg-2,var(--panel-bg));border-radius:6px;align-items:center;gap:8px;margin-bottom:6px;padding:8px;display:flex;position:relative}.composer-section-label{flex:1;min-width:0}.composer-drag-handle{touch-action:none;cursor:grab;color:var(--text-dim,#64748b);background:0 0;border:none;padding:4px 6px;font-size:14px}.composer-drag-handle:active{cursor:grabbing}.composer-section-actions{position:relative}.composer-section-menu{background:var(--panel-bg);border:1px solid var(--border-soft);z-index:10;border-radius:4px;min-width:180px;margin:4px 0 0;padding:4px 0;list-style:none;position:absolute;top:100%;right:0;box-shadow:0 4px 12px #00000059}.composer-section-menu li{padding:0}.composer-section-menu button{text-align:left;width:100%;color:inherit;cursor:pointer;background:0 0;border:none;padding:6px 12px;font-size:13px}.composer-section-menu button:hover{background:var(--border-soft)}.composer-outdated-badge{background:var(--accent-yellow,#fbbf24);color:var(--bg-elevated,#0f172a);border-radius:4px;padding:1px 6px;font-size:11px;font-weight:600}.composer-preview{border:1px solid var(--border-soft);background:#fff;width:100%;height:100%;min-height:0}.composer-busy,.composer-error{color:var(--text-dim);padding:6px 18px;font-size:12px}.composer-error{color:var(--accent-red)}.composer-actions{border-top:1px solid var(--border-soft);background:var(--panel-bg);flex-wrap:wrap;align-items:center;gap:12px;padding:12px 18px;display:flex}.composer-export-row{flex-wrap:wrap;gap:8px;display:flex}.composer-clear-all{margin-left:auto}@media (prefers-reduced-motion:reduce){.share-overlay,.share-modal,.composer-modal,.share-manage-modal,.share-presets-menu,.share-savepreset-popover{transition:none!important;animation:none!important}}@media (width<=640px){:root{--mobile-vh:100dvh}body{padding:8px;padding-left:max(8px, env(safe-area-inset-left));padding-right:max(8px, env(safe-area-inset-right))}input,textarea,select{font-size:16px}.footer{display:none}.topbar{z-index:50;padding:6px 10px;padding-top:max(6px, env(safe-area-inset-top));flex-wrap:wrap;gap:6px 12px;margin-bottom:8px;position:sticky;top:0}.topbar .stat[data-mobile-keep=secondary]{display:none}.topbar .stat[data-stat=brand]{flex:none;order:0;min-width:0}.topbar .stat[data-stat=week]{flex:0 auto;order:1;min-width:0}.topbar .stat[data-stat=used]{flex:0 auto;order:2;min-width:0}.topbar .stat[data-stat=dollar-per-pct]{flex:0 auto;order:3;min-width:0}.topbar .stat[data-stat=forecast]{display:none}.topbar:after{content:"";flex-basis:100%;order:4;height:0}.topbar .topbar-actions{order:5;gap:4px;width:100%;margin-left:0}.topbar .topbar-actions .doctor-chip{margin-right:auto}.topbar .topbar-brand .brand-name,.topbar .topbar-brand .brand-version{display:none}.topbar .topbar-brand{gap:0!important}.topbar .stat[data-stat=week] .v{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.topbar .stat[data-stat=week] .k,.topbar .stat .mute[data-mobile-keep=secondary]{display:none}.topbar .pill-warn{padding:1px 6px;font-size:10px}.topbar-actions>.topbar-icon-btn{display:inline-flex}.topbar-icon-btn{background:var(--panel-bg-2);border:1px solid var(--border-soft);width:44px;height:44px;color:inherit;cursor:pointer;border-radius:6px;justify-content:center;align-items:center;padding:0;display:inline-flex}.topbar-icon-btn .icon{width:20px;height:20px}.topbar-icon-btn:active{background:var(--panel-bg)}.topbar-sync{border:1px solid var(--border-soft);background:var(--panel-bg-2);border-radius:6px;justify-content:center;width:44px;min-width:44px;height:44px;min-height:44px;padding:0}.topbar-sync .icon{flex-shrink:0;width:20px;height:20px}.topbar-sync .sync-chip{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}#modal-root{justify-content:stretch;align-items:flex-end}.modal-backdrop{background:#000000b3}.modal-card{max-height:calc(100dvh - max(32px, env(safe-area-inset-top)));height:calc(100dvh - max(32px, env(safe-area-inset-top)));padding-bottom:env(safe-area-inset-bottom);border-width:1px 1px medium;border-bottom-style:none;border-bottom-color:currentColor;border-radius:14px 14px 0 0;animation:.18s ease-out cctally-sheet-up;width:100%!important}@keyframes cctally-sheet-up{0%{transform:translateY(100%)}to{transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.modal-card{animation:none}}.modal-handle{background:var(--text-faint);border-radius:2px;flex-shrink:0;width:36px;height:4px;margin:8px auto 4px}.modal-header{background:var(--panel-bg);z-index:1;padding:8px 14px 10px;position:sticky;top:0}.modal-header h2{font-size:17px;font-weight:600}.modal-close{justify-content:center;align-items:center;width:44px;height:44px;font-size:22px;display:inline-flex}.modal-body{scrollbar-gutter:auto;padding:12px 14px}.history-table{width:100%}.history-table thead{display:none}.history-table tbody,.history-table tr{width:100%;display:block}.history-table tr{border-bottom:1px solid var(--border-soft);flex-wrap:wrap;align-items:baseline;gap:4px 8px;padding:8px 4px;display:flex}.history-table tr.selected{background:#ffffff06;border-left:2px solid;padding-left:8px}.history-table tbody td{border:none;padding:0}.history-table td:first-child{text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:0;font-weight:600;overflow:hidden}.history-table td:nth-child(2){flex:100%;order:3;margin-top:2px}.history-table td.num:nth-child(3){flex:none;order:2;margin-left:auto;font-weight:700}.history-table--weekly td.num:nth-child(4),.history-table--weekly td.num:nth-child(5){display:none}.history-table td.num:last-child{flex:none;order:4;margin-left:auto;font-size:12px}.detail-card .head{flex-direction:column;align-items:flex-start;gap:4px}.detail-card .stats2,.detail-card .tokens-row{grid-template-columns:1fr 1fr}.detail-card .chips{flex-wrap:wrap}.m-hero.cols-2,.m-hero.cols-3,.m-hero.cols-4{grid-template-columns:1fr;gap:10px}.m-histable#mtr-table{width:100%}.m-histable#mtr-table thead{display:none}.m-histable#mtr-table tbody,.m-histable#mtr-table tr{width:100%;display:block}.m-histable#mtr-table tr{border-bottom:1px solid var(--border-soft);flex-wrap:wrap;align-items:baseline;gap:4px 8px;padding:8px 4px;display:flex}.m-histable#mtr-table td{border:none;padding:0}.m-histable#mtr-table td:first-child{text-overflow:ellipsis;white-space:nowrap;flex:auto;order:1;min-width:0;font-weight:600;overflow:hidden}.m-histable#mtr-table td:nth-child(4){flex:none;order:2;margin-left:auto;font-weight:700}.m-histable#mtr-table td:nth-child(2){color:var(--text-dim);flex:50%;order:3;font-size:12px}.m-histable#mtr-table td:nth-child(3){color:var(--text-dim);flex:50%;order:4;font-size:12px}.m-histable#mcw-table{width:100%}.m-histable#mcw-table thead{display:none}.m-histable#mcw-table tbody,.m-histable#mcw-table tr{width:100%;display:block}.m-histable#mcw-table tr{border-bottom:1px solid var(--border-soft);flex-wrap:wrap;align-items:baseline;gap:4px 8px;padding:8px 4px;display:flex}.m-histable#mcw-table td{border:none;padding:0}.m-histable#mcw-table td:first-child{flex:none;order:1;font-weight:600}.m-histable#mcw-table td:nth-child(3){text-align:right;flex:auto;order:2;margin-left:auto;font-weight:700}.m-histable#mcw-table td:nth-child(2),.m-histable#mcw-table td:nth-child(4),.m-histable#mcw-table td:nth-child(5){color:var(--text-dim);flex:none;order:3;font-size:12px}.m-histable#mcw-table td:nth-child(4):after{content:" · ";color:var(--text-faint)}.m-histable#mcw-table td:nth-child(2){flex-basis:100%;margin-top:2px}.alerts-table{width:100%}.alerts-table thead{display:none}.alerts-table tbody,.alerts-table tr{width:100%;display:block}.alerts-table tr.alert-modal-row{border-bottom:1px solid var(--border-soft);flex-wrap:wrap;align-items:baseline;gap:4px 8px;padding:8px 4px;display:flex}.alerts-table td{border:none;padding:0}.alerts-table td:first-child{flex:none;order:1;font-weight:700}.alerts-table td:nth-child(2){flex:none;order:2}.alerts-table td:nth-child(3){text-align:right;flex:auto;order:3;margin-left:auto;font-weight:700}.alerts-table td:nth-child(4){color:var(--text-dim);flex:100%;order:4;margin-top:2px;font-size:12px}.alerts-table td:nth-child(5){color:var(--text-faint);flex:100%;order:5;font-size:11px}#panel-sessions>.sessions-ctrls{border-bottom:1px solid var(--border-soft);flex-direction:row;align-items:center;gap:8px;padding:6px 12px 8px;display:flex}#panel-sessions>.sessions-ctrls .search-container{flex:auto;align-items:stretch;gap:4px;min-width:0;min-height:36px;display:flex}#panel-sessions>.sessions-ctrls .search-container .ctrl-input{flex:auto;width:auto;min-width:0}#panel-sessions>.sessions-ctrls .search-container .ctrl-btn{width:32px;min-width:32px;height:36px;min-height:36px;padding:0}#panel-sessions>.sessions-ctrls>.ctrl-btn{flex:none;justify-content:center;align-items:center;width:36px;min-width:36px;height:36px;min-height:36px;padding:0;display:inline-flex}#panel-sessions>.sessions-ctrls #sort-pill .label{display:none}.sess-table{width:100%}.sess-table thead{display:none}.sess-table tbody,.sess-table tr{width:100%;display:block}.sess-table tr.session-row{border-bottom:1px solid var(--border-soft);cursor:pointer;flex-wrap:wrap;align-items:baseline;gap:2px 10px;padding:8px 6px;display:flex}.sess-table tbody td{white-space:normal;border:none;padding:0}.sess-table td.project{text-overflow:ellipsis;white-space:nowrap;flex:auto;order:1;min-width:0;font-weight:600;overflow:hidden}.sess-table td.num{text-align:right;flex:none;order:2;margin-left:auto;font-weight:700}.sess-table tbody td.started{color:var(--text-dim);flex:none;order:3;margin-top:2px;font-size:12px}.sess-table td:nth-child(2){color:var(--text-dim);flex:none;order:4;font-size:12px}.sess-table td:nth-child(3){flex:none;order:5;align-items:center;display:inline-flex}.sess-table td.started:after,.sess-table td:nth-child(2):after{content:" · ";color:var(--text-faint)}.sess-table tr.session-row.search-match{background:#22d3ee12}.daily-cal-grid{grid-template-columns:repeat(7,minmax(0,1fr))}.daily-week-label{display:none}#help-overlay{align-items:flex-end;padding:0}#help-overlay .help-card{width:100%;min-width:0;height:calc(100dvh - 32px);max-height:calc(100dvh - 32px);padding:16px 14px;padding-top:max(16px, env(safe-area-inset-top));padding-bottom:max(16px, env(safe-area-inset-bottom));border-radius:14px 14px 0 0;overflow-y:auto}#help-overlay .help-gesture-list{margin:0 0 14px;padding:0;list-style:none}#help-overlay .help-gesture-list li{border-bottom:1px solid var(--border-soft);padding:10px 0;font-size:14px}#help-overlay .help-keyboard-disclosure summary{cursor:pointer;color:var(--accent-blue);padding:10px 0;font-size:13px}#help-overlay .help-keyboard-disclosure[open] summary{color:var(--text)}#settings-root .modal-card{min-width:0}.modal-card .settings-fs{min-width:0;width:100%!important}.modal-card .settings-actions{background:var(--panel-bg);border-top:1px solid var(--border-soft);padding:10px 14px;padding-bottom:max(10px, env(safe-area-inset-bottom));flex-wrap:wrap;gap:8px;margin:14px -14px -12px;display:flex;position:sticky;bottom:0}.modal-card .settings-btn{flex:auto;min-height:44px}.panel-grip-hint{display:none!important}.chip,kbd{min-height:24px;padding:2px 8px}.model-chip{min-height:28px;padding:4px 10px}.ctrl-btn,.panel-collapse-toggle,.share-icon{min-width:44px;min-height:44px}:root{--topbar-h:104px}#settings-root{align-items:flex-end}.mcw-pbar .ticks .tick:after{content:none}.chip.model-chip{position:relative}.chip.model-chip:before{content:"";position:absolute;inset:-8px 0}.share-overlay{justify-content:stretch;align-items:stretch}.share-modal{border-left:none;border-right:none;border-radius:0;width:100vw;max-width:100vw;height:100dvh;max-height:100dvh}.share-modal-body{padding:12px 14px}.share-main-section{flex-direction:column}.share-knobs-col{flex:none}.share-gallery{grid-template-columns:1fr}.share-action{flex:auto;min-height:44px}.share-format-row{gap:8px}.share-save-preset{margin-left:0}.composer-modal-mobile .composer-knobs{flex-wrap:wrap;gap:8px}.composer-modal-mobile .composer-body{grid-template-rows:auto 1fr;grid-template-columns:1fr;gap:10px;padding:10px}.composer-modal-mobile .composer-section-list{flex-direction:row;max-height:none;padding-bottom:8px;display:flex;overflow:auto hidden}.composer-modal-mobile .composer-section-row{flex:none;min-width:180px;margin-bottom:0;margin-right:6px}.composer-modal-mobile .composer-actions{background:var(--panel-bg);position:sticky;bottom:0}}.projects-body{flex-direction:column;gap:6px;padding:4px 0;display:flex}.projects-row{cursor:pointer;border-radius:4px;grid-template-columns:110px 1fr 56px 44px;align-items:center;gap:8px;padding:4px 6px;font-size:12.5px;display:grid}.projects-row:hover{background:#d946ef0f}.projects-row.tail{cursor:default}.projects-row.tail:hover{background:0 0}.projects-row:focus-visible{outline:2px solid var(--accent-magenta);outline-offset:-2px}.projects-row .name{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.projects-row .name.muted,.projects-row .cost.muted,.projects-row .pct.muted{color:var(--text-dim)}.projects-row .lb-bar{background:#d946ef1f;border-radius:3px;height:10px;position:relative;overflow:hidden}.projects-row .lb-bar:after{content:"";width:var(--w,0%);background:var(--accent-magenta);border-radius:3px;position:absolute;inset:0 auto 0 0}.projects-row .lb-bar.muted:after{background:var(--text-dim);opacity:.6}.projects-row .cost{color:var(--accent-green);text-align:right}.projects-row .pct{color:var(--accent-cyan);text-align:right}@media (width<=640px){#root .projects-row{grid-template-columns:90px 1fr 50px 36px;padding:4px}}.project-cell-link{color:inherit;cursor:pointer;font:inherit;text-align:left;background:0 0;border:none;padding:0}.project-cell-link:hover{color:var(--accent-magenta)}.project-cell-link:focus-visible{outline:2px solid var(--accent-magenta);outline-offset:2px}.projects-modal-body{padding:4px 0}.projects-controls{flex-wrap:wrap;align-items:center;gap:6px;padding:4px 0;display:flex}.projects-controls .pill{border:1px solid var(--border-soft);color:var(--text-dim);cursor:pointer;background:0 0;border-radius:999px;padding:3px 10px;font-size:11.5px}.projects-controls .pill.on{border-color:var(--accent-magenta);color:#f5d0fe;background:#d946ef2e}.projects-controls .sep{color:var(--text-dim);margin:0 4px}.projects-notice{color:var(--text-dim);padding:6px 2px 0;font-size:11.5px}.projects-trend{margin:8px 0}.projects-trend svg{border-bottom:1px solid var(--border-soft);width:100%;height:150px;display:block}.projects-trend-xaxis{color:var(--text-dim);justify-content:space-between;padding:4px 2px 0;font-size:10.5px;display:flex}.projects-trend-legend{flex-wrap:wrap;gap:12px;padding:8px 2px 4px;font-size:11.5px;display:flex}.projects-trend-legend .sw{vertical-align:middle;border-radius:2px;width:10px;height:10px;margin-right:5px;display:inline-block}.projects-table{border-collapse:collapse;width:100%;margin-top:6px;font-size:12.5px}.projects-table th,.projects-table td{text-align:right;padding:6px 8px}.projects-table th:first-child,.projects-table td:first-child{text-align:left}.projects-table thead th{color:var(--accent-amber);font-weight:700}.projects-table tbody td.project{color:var(--accent-blue)}.projects-table tbody td.started{color:var(--accent-cyan)}.projects-table tbody td.cost-low{color:var(--accent-green)}.projects-table tbody td.cost-mid{color:var(--accent-amber)}.projects-table tbody td.cost-high{color:var(--accent-red)}.projects-table tbody td.cost-xs{color:var(--accent-green)}.projects-table tbody tr{cursor:pointer}.projects-table tbody tr:hover{background:#d946ef0f}.projects-table tbody tr.selected{background:#d946ef24;outline:1px solid #d946ef80}.projects-table-toggle{border:1px dashed var(--border-soft);color:var(--text-dim);font:inherit;cursor:pointer;text-align:center;background:0 0;border-radius:6px;width:100%;margin:6px 0 0;padding:6px 12px;font-size:12px;display:block}.projects-table-toggle:hover{color:var(--accent-magenta);border-color:var(--accent-magenta);background:#d946ef0a}.projects-table-toggle:focus-visible{outline:2px solid var(--accent-magenta);outline-offset:2px}.projects-modal-footer-hint{border-top:1px solid var(--border-soft);color:var(--text-dim);flex-wrap:wrap;align-items:baseline;gap:4px 8px;margin-top:14px;padding-top:10px;font-size:12px;display:flex}.projects-modal-footer-hint .sep{color:var(--border-soft)}.projects-modal-footer-hint kbd{border:1px solid var(--border-soft);color:var(--text-dim);background:#ffffff0a;border-radius:3px;margin:0 1px;padding:1px 4px;font-family:inherit;font-size:11px}.projects-modal-footer-hint .sync-chip{background:0 0;margin-left:auto;padding:0;font-size:12px}.projects-drill{border:1px dashed var(--border-soft);background:#d946ef0a;border-radius:8px;margin-top:14px;padding:12px 14px}.projects-drill-head .title{color:#f5d0fe;font-size:13px;font-weight:700}.projects-drill-grid{grid-template-columns:1fr 1fr;gap:16px;margin-top:8px;display:grid}.projects-drill .section-label{color:var(--text-dim);text-transform:uppercase;letter-spacing:.04em;margin-bottom:4px;font-size:11.5px}.projects-drill .muted{color:var(--text-dim);font-size:12px}.drill-bar-row{grid-template-columns:110px 1fr 60px;align-items:center;gap:6px;margin:3px 0;font-size:12px;display:grid}.drill-bar{background:#d946ef1a;border-radius:2px;height:8px;position:relative}.drill-bar:after{content:"";width:var(--w,0%);background:var(--accent-magenta);border-radius:2px;position:absolute;inset:0 auto 0 0}.drill-bar-row .cost{text-align:right}.drill-bar-row .cost.cost-xs,.drill-bar-row .cost.cost-low,.drill-session-row .cost.cost-xs,.drill-session-row .cost.cost-low{color:var(--accent-green)}.drill-bar-row .cost.cost-mid,.drill-session-row .cost.cost-mid{color:var(--accent-amber)}.drill-bar-row .cost.cost-high,.drill-session-row .cost.cost-high{color:var(--accent-red)}.drill-session-row{color:inherit;font:inherit;cursor:pointer;text-align:left;background:0 0;border:none;grid-template-columns:1fr auto auto;align-items:center;gap:8px;width:100%;padding:4px 0;display:grid}.drill-session-row .started{color:var(--accent-cyan)}.drill-session-row:hover{color:var(--accent-magenta)}.drill-session-row+.drill-session-row{border-top:1px solid var(--border-soft)}.drill-session-row .cost{text-align:right}.drill-session-footer{justify-content:space-between;align-items:baseline;gap:12px;padding-top:6px;font-size:12px;display:flex}.drill-session-footer .muted{font-size:12px}.drill-show-in-sessions{font:inherit;color:var(--accent-cyan);cursor:pointer;background:0 0;border:none;margin-left:auto;padding:0}.drill-show-in-sessions:hover{color:var(--accent-magenta)}@media (width<=640px){#root .projects-drill-grid{grid-template-columns:1fr;gap:12px}#root .projects-trend svg{width:100%;height:110px}#root .projects-trend-legend{scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch;flex-wrap:nowrap;padding-right:24px;overflow:auto hidden;-webkit-mask-image:linear-gradient(90deg,#000 0 calc(100% - 28px),#0000 100%);mask-image:linear-gradient(90deg,#000 0 calc(100% - 28px),#0000 100%)}#root .projects-trend-legend .projects-trend-legend-item{scroll-snap-align:start;flex-shrink:0;align-items:center;min-height:36px;display:inline-flex}#root .projects-trend-legend button.projects-trend-legend-item{color:inherit;font:inherit;cursor:pointer;background:0 0;border:none;margin:0;padding:0 4px}#root .projects-table thead{display:none}#root .projects-table tbody,#root .projects-table tr{width:100%;display:block}#root .projects-table tbody tr{border-bottom:1px solid var(--border-soft);cursor:pointer;flex-wrap:wrap;align-items:baseline;gap:2px 10px;padding:8px 6px;display:flex}#root .projects-table tbody td{white-space:normal;border:none;padding:0}#root .projects-table td.project{text-overflow:ellipsis;white-space:nowrap;flex:auto;order:1;min-width:0;font-weight:600;overflow:hidden}#root .projects-table td.cost-xs,#root .projects-table td.cost-low,#root .projects-table td.cost-mid,#root .projects-table td.cost-high{text-align:right;flex:none;order:2;margin-left:auto;font-weight:700}#root .projects-table td:nth-child(2),#root .projects-table td:nth-child(6),#root .projects-table td:nth-child(7),#root .projects-table td.started{color:var(--text-dim);flex:none;margin-top:2px;font-size:12px}#root .projects-table td:nth-child(2){order:3}#root .projects-table td:nth-child(6){order:4}#root .projects-table td:nth-child(7){order:5}#root .projects-table td.first-seen{order:6}#root .projects-table td.last-seen{order:7}#root .projects-table td:nth-child(2):after,#root .projects-table td:nth-child(6):after,#root .projects-table td:nth-child(7):after{content:" · ";color:var(--text-faint)}#root .projects-table td.first-seen:after{content:" → ";color:var(--text-faint)}#root .projects-table tbody tr.selected{background:#d946ef0f}#root .projects-table tr.projects-drill-row{cursor:default;border-bottom:1px solid var(--border-soft);background:#d946ef08;padding:8px 6px}#root .projects-table tr.projects-drill-row td{width:100%;display:block}#root .projects-mobile-sort{min-height:32px;color:var(--text);border:1px solid var(--border-soft);font:inherit;cursor:pointer;background:0 0;border-radius:14px;align-items:center;margin:4px 0 6px;padding:6px 12px;font-size:12.5px;display:inline-flex}#root .projects-mobile-sort:hover{background:#d946ef0f}#root .projects-mobile-sort:focus-visible{outline:2px solid var(--accent-magenta);outline-offset:2px}}.cr-status-row{align-items:center;gap:10px;margin-bottom:6px;display:flex}.cr-panel-header-inner{align-items:center;gap:10px;display:flex}.cr-glyph{font-size:20px;line-height:1}.cr-glyph.ok{color:var(--accent-green)}.cr-glyph.warn{color:var(--accent-amber)}.cr-glyph.thin{color:var(--text-dim)}.cr-headline{color:var(--text);font-size:13.5px;font-family:var(--font-mono);font-variant-numeric:tabular-nums}.cr-headline .delta-good{color:var(--accent-green)}.cr-headline .delta-bad{color:var(--accent-amber)}.cr-subline{color:var(--text-dim);font-size:11px;font-family:var(--font-mono);margin-top:4px}.cr-subline .ok{color:var(--accent-green)}.cr-subline .warn{color:var(--accent-amber)}.cr-spark{margin-top:10px;display:block}.cr-netbars-mini-wrap{flex:auto;min-height:60px;margin-top:6px;display:flex}.cr-netbars-mini{width:100%;height:100%;display:block}@media (width<=640px){.panel.cache-report-collapsed .cr-spark,.panel.cache-report-collapsed .cr-netbars-mini-wrap,.panel.cache-report-collapsed .cr-subline.second{display:none}}.crm-header{border-bottom:1px solid #2dd4bf47}.crm-spotlight{background:linear-gradient(#2dd4bf0a,#0000);border:1px solid #2dd4bf47;border-radius:8px;margin-bottom:18px;padding:14px 16px}.crm-spotlight.anom{background:linear-gradient(#fbbf2412,#0000);border-color:#fbbf2452}.crm-spotlight-row{flex-wrap:wrap;align-items:center;gap:14px;display:flex}.crm-spotlight .pill{color:var(--accent-amber);text-transform:uppercase;letter-spacing:.06em;background:#fbbf242e;border:1px solid #fbbf245c;border-radius:4px;align-items:center;gap:6px;padding:2px 10px;font-size:12px;font-weight:600;display:inline-flex}.crm-spotlight .pill.ok{color:var(--accent-green);background:#3ddc842e;border-color:#3ddc845c}.crm-spotlight .pill.thin{color:var(--text-dim);background:#ffffff0d;border-color:#ffffff1a}.crm-spotlight .k{color:var(--text-dim);text-transform:uppercase;letter-spacing:.04em;margin-right:4px;font-size:11px}.crm-spotlight strong{font-family:var(--font-mono);font-variant-numeric:tabular-nums;color:var(--text)}.crm-spotlight .reasons{color:var(--text-dim);font-size:11px;font-family:var(--font-mono);margin-top:8px}.crm-spotlight .reasons code{color:var(--accent-amber);background:0 0;padding:0}.crm-section{margin-bottom:18px}.crm-section .crm-section-head{text-transform:uppercase;letter-spacing:.06em;align-items:baseline;gap:10px;margin-bottom:8px;font-size:11px;font-weight:700;display:flex}.crm-section .meta{color:var(--text-faint);text-transform:none;letter-spacing:0;margin-left:auto;font-size:11px;font-weight:400}.crm-sh-spotlight{color:var(--accent-teal)}.crm-sh-timeline{color:var(--accent-cyan)}.crm-sh-net{color:var(--accent-purple)}.crm-sh-table{color:var(--accent-teal)}.crm-sh-projects{color:var(--accent-magenta)}.crm-sh-models{color:var(--accent-blue)}.crm-chart-frame{background:var(--panel-bg);border:1px solid var(--border-soft);border-radius:6px;padding:10px 12px}.crm-chart-frame.timeline{border-color:#22d3ee38}.crm-chart-frame.netbars{border-color:#c084fc38}.cr-spark-wrap{flex-direction:column;width:100%;display:flex}.cr-spark-wrap .cr-spark{flex:none;width:100%;height:auto;display:block}.cr-spark-axis{color:var(--text-dim);font-family:var(--font-mono);flex:none;padding-left:4px;font-size:10px;line-height:1.2}.crm-counterfactual{color:var(--text-dim);font-size:12.5px;font-family:var(--font-mono);background:#3ddc840d;border:1px solid #3ddc8438;border-radius:8px;margin-top:14px;margin-bottom:18px;padding:10px 14px}.crm-counterfactual strong{color:var(--accent-green);font-size:14px;font-weight:700}.ch-table{border-collapse:collapse;width:100%;font-size:12.5px;font-family:var(--font-mono)}.ch-table thead th{text-align:left;text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--border-soft);padding:4px 12px 8px 0;font-size:10.5px;font-weight:700}.ch-table thead th.num{text-align:right}.ch-table thead th.c-date{color:var(--text)}.ch-table thead th.c-hit{color:var(--accent-cyan)}.ch-table thead th.c-tokens{color:var(--text-dim)}.ch-table thead th.c-saved{color:var(--accent-green)}.ch-table thead th.c-wasted{color:var(--accent-red)}.ch-table thead th.c-net{color:var(--accent-purple)}.ch-table thead th.c-flag{color:var(--accent-amber)}.ch-table tbody td{font-variant-numeric:tabular-nums;padding:5px 12px 5px 0}.ch-table tbody td.num{text-align:right}.ch-table tbody tr.cur{background:#fbbf2412}.ch-table tbody tr.cur td:first-child{border-left:2px solid var(--accent-amber);padding-left:8px}.ch-table tbody td.hit-good{color:var(--accent-cyan)}.ch-table tbody td.hit-bad{color:var(--accent-amber)}.ch-table tbody td.net-pos{color:var(--accent-green)}.ch-table tbody td.net-neg,.ch-table tbody td.flag-warn{color:var(--accent-amber)}.ch-table tbody td.flag-ok{color:var(--text-faint)}.ch-table tbody tr:hover td{background:#ffffff05}.crm-breakdowns{grid-template-columns:1fr 1fr;gap:14px;display:grid}.crm-bd-card{background:var(--panel-bg);border:1px solid var(--border-soft);border-radius:8px;padding:12px 14px}.crm-bd-card.bd-projects{border-color:#d946ef3d}.crm-bd-card.bd-models{border-color:#60a5fa3d}.crm-bd-card .crm-bd-head{text-transform:uppercase;letter-spacing:.05em;margin-bottom:8px;font-size:10.5px;font-weight:700}.crm-bd-card.bd-projects .crm-bd-head{color:var(--accent-magenta)}.crm-bd-card.bd-models .crm-bd-head{color:var(--accent-blue)}.crm-bd-card table{border-collapse:collapse;width:100%;font-size:12px;font-family:var(--font-mono)}.crm-bd-card td{font-variant-numeric:tabular-nums;padding:3px 0}.crm-bd-card td+td{padding-left:10px}.crm-bd-card td:last-child{text-align:right}.crm-bd-card td.net-pos{color:var(--accent-green)}.crm-bd-card td.net-neg{color:var(--accent-amber)}.crm-bd-card td.bd-key{white-space:nowrap;text-overflow:ellipsis;width:100%;max-width:0;overflow:hidden}.crm-bd-card .empty{color:var(--text-dim);font-size:11px;font-style:italic}.crm-settings-popover{background:var(--panel-bg);border:1px solid var(--accent-teal);z-index:100;border-radius:8px;width:280px;padding:14px 16px;position:absolute;top:48px;right:16px;box-shadow:0 8px 24px #00000080}.crm-settings-popover h4{color:var(--accent-teal);text-transform:uppercase;letter-spacing:.06em;margin:0 0 10px;font-size:11px}.crm-settings-popover label{color:var(--text-dim);margin-bottom:6px;font-size:11px;display:block}.crm-settings-popover input{background:var(--panel-bg-2);border:1px solid var(--border-soft);width:100%;color:var(--text);font-family:var(--font-mono);box-sizing:border-box;border-radius:4px;padding:6px 8px;font-size:13px}.crm-settings-popover input.invalid{border-color:var(--accent-red)}.crm-settings-popover .err{color:var(--accent-red);margin-top:6px;font-size:11px}.crm-settings-popover .saved{color:var(--accent-green);margin-top:6px;font-size:11px}.crm-settings-popover .actions{justify-content:flex-end;gap:8px;margin-top:12px;display:flex}.crm-settings-popover button{background:var(--panel-bg-2);border:1px solid var(--border-soft);color:var(--text);cursor:pointer;font-family:var(--font-mono);border-radius:4px;padding:4px 12px;font-size:12px}.crm-settings-popover button.primary{border-color:var(--accent-teal);color:var(--accent-teal);background:#2dd4bf2e}@media (width<=899px){.crm-breakdowns{grid-template-columns:1fr}}@media (width<=719px){.ch-table thead{display:none}.ch-table tbody,.ch-table tr{padding:0;display:block}.ch-table tr{border-bottom:1px solid var(--border-soft);padding:8px 0}.ch-table tbody td{padding:2px 6px 2px 0;display:inline-block}.ch-table tbody td:first-child{margin-bottom:4px;font-weight:700;display:block}.crm-settings-popover{border-radius:8px 8px 0 0;width:auto;position:fixed;inset:auto 0 0}}.view-switcher{border:1px solid var(--border-soft);background:var(--panel-bg-2);border-radius:6px;align-items:center;gap:2px;padding:2px;display:inline-flex}.view-seg{appearance:none;color:var(--text-dim);font-family:var(--font-mono);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-radius:4px;padding:4px 12px;font-size:12.5px;font-weight:600}.view-seg:hover{color:var(--text)}.view-seg.is-active{background:var(--panel-bg);color:var(--accent-blue);box-shadow:inset 0 0 0 1px var(--accent-blue)}.view-seg:focus-visible{outline:2px solid var(--accent-blue);outline-offset:1px}.sess-open-conv{appearance:none;color:var(--text-faint);cursor:pointer;vertical-align:middle;background:0 0;border:none;margin-right:6px;padding:0;line-height:0}.sess-open-conv .icon{width:13px;height:13px}.sess-open-conv:hover{color:var(--accent-blue)}.sess-open-conv:focus-visible{outline:2px solid var(--accent-blue);outline-offset:1px;border-radius:3px}.conv-view{--reader-ink:#ece9e3;--reader-faint:#a0a7b8;height:calc(100vh - var(--topbar-h) - 28px);grid-template-columns:minmax(280px,340px) 1fr;gap:12px;margin-bottom:16px;display:grid;overflow:hidden}.conv-rail{border:1px solid var(--border-soft);background:var(--panel-bg);border-radius:6px;flex-direction:column;min-height:0;display:flex;overflow:hidden}.conv-rail-search{border-bottom:1px solid var(--border-soft);flex:none;padding:10px}.conv-rail-search-input{box-sizing:border-box;background:var(--panel-bg-2);border:1px solid var(--border-soft);width:100%;color:var(--text);font-family:var(--font-mono);border-radius:5px;padding:6px 10px;font-size:12.5px}.conv-rail-search-input::placeholder{color:var(--text-faint)}.conv-rail-search-input:focus-visible{border-color:var(--accent-blue);outline:none}.conv-rail-list{flex:auto;min-height:0;padding:6px;overflow-y:auto}.conv-rail-empty,.conv-rail-hint{color:var(--text-dim);padding:10px;font-size:12px}.conv-rail-hint{color:var(--text-faint);font-style:italic}.conv-rail-row{text-align:left;appearance:none;width:100%;color:var(--text);font-family:var(--font-mono);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:5px;margin-bottom:4px;padding:8px 9px;display:block}.conv-rail-row:hover{background:var(--panel-bg-2)}.conv-rail-row:focus-visible{border-color:var(--accent-blue);outline:none}.conv-rail-row.is-active{background:var(--panel-bg-2);border-color:var(--accent-blue)}.conv-rail-sec{font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--text-faint);padding:12px 8px 4px;font-size:10px}.conv-rail-row-title{font-family:var(--font-prose);color:var(--text);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-bottom:5px;font-size:14.5px;font-weight:600;line-height:1.3;display:-webkit-box;overflow:hidden}.conv-rail-row-project{color:var(--text-dim);font-weight:400}.conv-rail-row-branch,.conv-rail-row-when{color:var(--text-faint);white-space:nowrap;font-size:11px}.conv-rail-row-meta{color:var(--text-dim);flex-wrap:wrap;align-items:baseline;gap:4px 8px;font-size:11px;display:flex}.conv-rail-row-cost{color:var(--accent-green)}.conv-rail-row-snippet{color:var(--text-dim);margin-top:4px;font-size:11.5px;line-height:1.4;overflow:hidden}.conv-rail-more{appearance:none;border:1px solid var(--border-soft);background:var(--panel-bg-2);width:100%;color:var(--text-dim);font-family:var(--font-mono);cursor:pointer;border-radius:5px;margin-top:4px;padding:6px;font-size:12px;display:block}.conv-rail-more:hover{color:var(--text);border-color:var(--accent-blue)}.conv-reader{border:1px solid var(--border-soft);background:var(--panel-bg);border-radius:6px;flex-direction:column;min-height:0;display:flex;overflow:hidden}.conv-reader--empty,.conv-reader--loading,.conv-reader--error{justify-content:center;align-items:center}.conv-state{text-align:center;max-width:360px;padding:24px}.conv-state-glyph{opacity:.55;margin-bottom:12px;line-height:0;display:block}.conv-state-glyph .conv-ico{vertical-align:0;width:30px;height:30px}.conv-state-title{font-family:var(--font-prose);color:var(--text);font-size:17px}.conv-state-hint{font-family:var(--font-mono);color:var(--text-dim);margin-top:6px;font-size:11.5px}.conv-reader--error .conv-state-title{color:var(--accent-red)}.conv-reader-head{border-bottom:1px solid var(--border-soft);background:var(--panel-bg-2);flex:none;padding:12px 16px}.conv-reader-title{font-family:var(--font-prose);color:var(--text);font-size:16px;font-weight:600}.conv-reader-meta{color:var(--text-dim);margin-top:3px;font-size:11.5px}.conv-back{appearance:none;border:1px solid var(--border-soft);background:var(--panel-bg);color:var(--text-dim);font-family:var(--font-mono);cursor:pointer;border-radius:5px;margin-bottom:8px;padding:4px 10px;font-size:12px}.conv-back:hover{color:var(--text);border-color:var(--accent-blue)}.conv-reader-body{flex-direction:column;flex:auto;gap:12px;min-height:0;padding:14px 16px;display:flex;overflow-y:auto}.conv-reader-thread{flex-direction:column;gap:12px;padding-left:22px;display:flex;position:relative}.conv-reader-thread:before{content:"";background:var(--border-soft);width:2px;position:absolute;top:4px;bottom:4px;left:8px}.conv-reader-thread>.conv-item--human:before,.conv-reader-thread>.conv-item--assistant:before{content:"";width:9px;height:9px;box-shadow:0 0 0 3px var(--panel-bg);border-radius:50%;position:absolute;top:16px;left:-17px}.conv-reader-thread>.conv-item--human:before{background:var(--accent-blue)}.conv-reader-thread>.conv-item--assistant:before{background:var(--accent-purple)}.conv-item{border-radius:8px;padding:10px 14px;scroll-margin-top:12px;position:relative}.conv-item--human{border:1px solid var(--border-soft);border-left:3px solid var(--accent-blue);background:#60a5fa0d}.conv-item--assistant{background:0 0;border:none;padding-left:0}.conv-item--tool_result{background:0 0;padding:0}.conv-item-head{align-items:baseline;gap:10px;margin-bottom:6px;display:flex}.conv-item-label{font-family:var(--font-mono);letter-spacing:.4px;text-transform:uppercase;color:var(--reader-faint);font-size:11.5px;font-weight:700}.conv-item--assistant .conv-item-label{color:var(--accent-purple)}.conv-item--human .conv-item-label{color:var(--accent-blue)}.conv-item-model{color:var(--text-dim);font-size:11px}.conv-item-cost{border-top:1px solid var(--border-soft);font-family:var(--font-mono);color:var(--text-dim);text-align:right;margin-top:10px;padding-top:8px;font-size:10.5px;font-weight:600}.conv-item--system{background:0 0;border:none;padding:0}.conv-system-marker{border:1px dashed var(--border-soft);background:var(--panel-bg-2);border-radius:6px}.conv-system-marker>summary{cursor:pointer;font-family:var(--font-mono);color:var(--reader-faint);-webkit-user-select:none;user-select:none;align-items:center;gap:8px;padding:3px 10px;font-size:10.5px;list-style:none;display:flex}.conv-system-marker>summary::-webkit-details-marker{display:none}.conv-system-marker[open]>summary{color:var(--text-dim)}.conv-system-marker[open]>summary .conv-chev{transform:rotate(45deg)}.conv-system-marker-body{border-top:1px solid var(--border-soft);white-space:pre-wrap;word-break:break-word;font-family:var(--font-mono);color:var(--text-dim);margin:0;padding:8px 10px;font-size:11.5px;overflow-x:auto}.conv-item--meta{background:0 0;border:none;padding:0}.conv-meta{border:1px dashed var(--border-soft);background:var(--panel-bg-2);border-radius:6px}.conv-meta>summary{cursor:pointer;font-family:var(--font-mono);color:var(--reader-faint);-webkit-user-select:none;user-select:none;align-items:center;gap:8px;padding:3px 10px;font-size:10.5px;list-style:none;display:flex}.conv-meta>summary::-webkit-details-marker{display:none}.conv-meta[open]>summary{color:var(--text-dim)}.conv-meta[open]>summary .conv-chev{transform:rotate(45deg)}.conv-meta-label{letter-spacing:.3px;text-transform:uppercase;font-weight:700}.conv-meta-name{color:var(--text-dim)}.conv-meta-preview{color:var(--text-dim);white-space:nowrap;text-overflow:ellipsis;min-width:0;overflow:hidden}.conv-meta--skill{border-color:color-mix(in srgb, var(--accent-cyan) 35%, var(--border-soft))}.conv-meta--skill>summary,.conv-meta--skill[open]>summary{color:var(--accent-cyan)}.conv-meta-body{border-top:1px solid var(--border-soft);padding:8px 10px}.conv-meta-body--pre{white-space:pre-wrap;word-break:break-word;font-family:var(--font-mono);color:var(--text-dim);margin:0;font-size:11.5px;overflow-x:auto}.conv-rise{animation:.5s cubic-bezier(.2,.7,.3,1) both conv-rise}@keyframes conv-rise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.conv-rise{animation:none}}.conv-item--jumped{animation:2s ease-out conv-jump-flash}@keyframes conv-jump-flash{0%{box-shadow:0 0 0 2px var(--accent-amber), 0 0 26px #fbbf2440;background:#fbbf241a}to{background:0 0;box-shadow:0 0 #0000}}@media (prefers-reduced-motion:reduce){.conv-item--jumped{animation:none}}.conv-item--focused{box-shadow:-3px 0 0 0 var(--accent-blue);border-radius:2px}.conv-reader-thread--bulk ::details-content{transition:none!important}.conv-reader{interpolate-size:allow-keywords}.conv-chip::details-content{block-size:0;transition:block-size .24s ease, content-visibility .24s allow-discrete;overflow:hidden}.conv-sidechain::details-content{block-size:0;transition:block-size .24s ease, content-visibility .24s allow-discrete;overflow:hidden}.conv-toolresult-run::details-content{block-size:0;transition:block-size .24s ease, content-visibility .24s allow-discrete;overflow:hidden}.conv-system-marker::details-content{block-size:0;transition:block-size .24s ease, content-visibility .24s allow-discrete;overflow:hidden}.conv-meta::details-content{block-size:0;transition:block-size .24s ease, content-visibility .24s allow-discrete;overflow:hidden}.conv-chip[open]::details-content{block-size:auto}.conv-sidechain[open]::details-content{block-size:auto}.conv-toolresult-run[open]::details-content{block-size:auto}.conv-system-marker[open]::details-content{block-size:auto}.conv-meta[open]::details-content{block-size:auto}.conv-sidechain--force::details-content{transition:none}@media (prefers-reduced-motion:reduce){.conv-reader .conv-chev{transition:none}.conv-reader ::details-content{transition:none}}.conv-ico{vertical-align:-2px;flex:none;width:14px;height:14px;display:inline-block}.conv-blocks{flex-direction:column;gap:6px;margin-top:8px;display:flex}.conv-chip{border:1px solid var(--border-soft);background:var(--panel-bg-2);border-radius:6px;font-size:12px}.conv-chip>summary{cursor:pointer;color:var(--text-dim);-webkit-user-select:none;user-select:none;font-family:var(--font-mono);align-items:center;gap:8px;padding:5px 10px;list-style:none;display:flex}.conv-chip>summary::-webkit-details-marker{display:none}.conv-chip[open]>summary{color:var(--text)}.conv-chip--thinking>summary{color:var(--accent-indigo)}.conv-chip--tool>summary{color:var(--accent-cyan)}.conv-chip--result>summary{color:var(--accent-teal)}.conv-chev{opacity:.7;border-bottom:1.6px solid;border-right:1.6px solid;flex:none;width:8px;height:8px;transition:transform .2s;transform:rotate(-45deg)}.conv-chip[open]>summary .conv-chev,.conv-toolresult-run[open]>summary .conv-chev{transform:rotate(45deg)}.conv-chip-name{flex:none;font-weight:600}.conv-chip-preview{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--text-faint);flex:1;font-size:11.5px;overflow:hidden}.conv-chip-status{color:var(--text-faint);flex:none;font-size:11px}.conv-chip--result .conv-chip-status,.conv-chip--tool .conv-chip-status{color:var(--accent-amber)}.conv-chip-body{border-top:1px solid var(--border-soft);white-space:pre-wrap;word-break:break-word;font-family:var(--font-mono);color:var(--text);margin:0;padding:8px 10px;font-size:11.5px;overflow-x:auto}.conv-chip-body--io{white-space:normal;padding:6px 10px 10px}.conv-chip--media,.conv-chip--ref{color:var(--text-dim);background:var(--panel-bg-2);padding:4px 10px;display:inline-block}.conv-toolrun{flex-direction:column;gap:6px;display:flex}.conv-toolrun-head{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--text-faint);align-items:center;gap:9px;margin:6px 0 2px;font-size:10.5px;display:flex}.conv-toolrun-head:after{content:"";background:var(--border-soft);flex:1;height:1px}.conv-tool-io{margin-top:6px}.conv-tool-io:first-child{margin-top:0}.conv-tool-io-label{font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--text-faint);margin:0 0 4px;font-size:9.5px}.conv-tool-io-label--none{font-style:italic}.conv-code{font-family:var(--font-mono);background:var(--bg);border:1px solid var(--border-soft);color:var(--text);white-space:pre-wrap;word-break:break-word;border-radius:6px;margin:0;padding:8px 10px;font-size:11.5px;line-height:1.5;overflow-x:auto}.conv-code--result{color:var(--text-dim);max-height:220px;overflow:auto}.conv-code--numbered{font-family:var(--font-mono);background:var(--bg);border:1px solid var(--border-soft);border-radius:6px;grid-template-columns:auto 1fr;max-height:220px;font-size:11.5px;line-height:1.5;display:grid;overflow:auto}.cb-gutter{white-space:pre;text-align:right;color:var(--text-faint);-webkit-user-select:none;user-select:none;font-variant-numeric:tabular-nums;border-right:1px solid var(--border-soft);background:var(--bg);padding:8px 8px 8px 10px;position:sticky;left:0}.conv-code--numbered>pre.conv-code{white-space:pre;word-break:normal;overflow-wrap:normal;background:0 0;border:0;border-radius:0;margin:0;padding:8px 10px 8px 8px;overflow:visible}.codeblock{border:1px solid var(--border-soft);background:var(--bg);border-radius:8px;margin:12px 0;overflow:hidden}.cb-head{background:var(--panel-bg-2);border-bottom:1px solid var(--border-soft);font-family:var(--font-mono);color:var(--text-dim);align-items:center;gap:8px;padding:6px 10px;font-size:10.5px;display:flex}.cb-lang{text-transform:uppercase;letter-spacing:.1em}.cb-file{color:var(--text-faint)}.cb-copy{margin-left:auto}.codeblock>pre.conv-code{border:0;border-radius:0;margin:0}.conv-code--hl .token.keyword{color:var(--accent-purple)}.conv-code--hl .token.string{color:var(--accent-green)}.conv-code--hl .token.number,.conv-code--hl .token.boolean{color:var(--accent-amber)}.conv-code--hl .token.comment{color:var(--text-faint);font-style:italic}.conv-code--hl .token.function,.conv-code--hl .token.property,.conv-code--hl .token.tag,.conv-code--hl .token.attr-name{color:var(--accent-cyan)}.conv-code--hl .token.operator,.conv-code--hl .token.punctuation{color:var(--text-dim)}.conv-copy-btn{cursor:pointer;color:var(--text-faint);background:0 0;border:1px solid #0000;border-radius:6px;place-items:center;padding:2px 4px;line-height:0;display:inline-grid}.conv-copy-btn:hover{color:var(--text);border-color:var(--border-soft);background:var(--panel-bg-2)}.conv-copy-btn:focus-visible{outline:2px solid var(--accent-blue);outline-offset:1px}.conv-tool-io{position:relative}.conv-tool-io>.conv-copy-btn{z-index:1;position:absolute;top:2px;right:2px}.conv-item-actions{opacity:0;justify-content:flex-end;gap:4px;margin-top:6px;transition:opacity .15s;display:flex}.conv-item:hover .conv-item-actions,.conv-item:focus-within .conv-item-actions,.conv-item--focused .conv-item-actions{opacity:1}@media (prefers-reduced-motion:reduce){.conv-item-actions{transition:none}}.conv-chip-permalink{opacity:0;margin-left:auto;transition:opacity .15s}.conv-item:hover .conv-chip-permalink,.conv-item:focus-within .conv-chip-permalink,.conv-item--focused .conv-chip-permalink{opacity:1}@media (prefers-reduced-motion:reduce){.conv-chip-permalink{transition:none}}.conv-toolresult-run{border:1px solid var(--border-soft);background:var(--panel-bg-2);border-radius:6px}.conv-toolresult-run>summary{cursor:pointer;color:var(--accent-teal);-webkit-user-select:none;user-select:none;font-family:var(--font-mono);align-items:center;gap:8px;padding:5px 10px;font-size:12px;list-style:none;display:flex}.conv-toolresult-run>summary::-webkit-details-marker{display:none}.conv-toolresult-run-body{flex-direction:column;gap:8px;padding:6px 12px 10px;display:flex}.conv-sidechain{background:linear-gradient(#d946ef0d,#0000 42%);border:1px solid #d946ef38;border-radius:10px;position:relative}.conv-reader-thread>.conv-sidechain:before{content:"";background:var(--accent-magenta);width:9px;height:9px;box-shadow:0 0 0 3px var(--panel-bg);border-radius:50%;position:absolute;top:18px;left:-17px}.conv-reader-thread>.conv-sidechain--nested:before{display:none}.conv-sidechain-head{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:12px;padding:11px 14px;list-style:none;display:flex}.conv-sidechain-head::-webkit-details-marker{display:none}.conv-sidechain-head:hover{background:#d946ef0a}.conv-sidechain-glyph{width:26px;height:26px;color:var(--accent-magenta);background:#d946ef1a;border:1px solid #d946ef4d;border-radius:7px;flex:none;place-items:center;font-size:14px;display:grid}.conv-sidechain-glyph .conv-ico{vertical-align:0;width:16px;height:16px}.conv-sidechain-headtext{flex:auto;min-width:0}.conv-sidechain-kind{font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--accent-magenta);font-size:9.5px;display:block}.conv-sidechain-title{font-family:var(--font-prose);color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-size:15px;font-weight:600;line-height:1.3;display:block;overflow:hidden}.conv-sidechain-meta{font-family:var(--font-mono);color:var(--text-dim);flex:none;align-items:center;gap:9px;font-size:10.5px;display:flex}.conv-sidechain-cost{color:var(--accent-green)}.conv-sidechain-kindname{text-transform:none;letter-spacing:0;color:var(--accent-magenta)}.conv-sidechain-submeta{font-family:var(--font-mono);color:var(--text-dim);margin-top:3px;font-size:10.5px;display:block}.conv-sidechain-submeta>span{margin-right:9px}.conv-subagent-ok{color:var(--accent-green)}.conv-subagent-err{color:var(--accent-red,#f87171)}.conv-subagent-warn{color:var(--accent-amber,#fbbf24)}.conv-sidechain[open]>summary .conv-chev{transform:rotate(45deg)}.conv-sidechain-body{flex-direction:column;gap:10px;padding:6px 14px 12px 30px;display:flex;position:relative}.conv-sidechain-body:before{content:"";background:#d946ef29;width:2px;position:absolute;top:8px;bottom:12px;left:14px}.conv-sidechain-body>.conv-item--human:before,.conv-sidechain-body>.conv-item--assistant:before{content:"";width:7px;height:7px;box-shadow:0 0 0 3px var(--panel-bg);border-radius:50%;position:absolute;top:14px;left:-13px}.conv-sidechain-body>.conv-item--human:before{background:var(--accent-blue)}.conv-sidechain-body>.conv-item--assistant:before{background:var(--accent-purple)}.conv-sidechain--nested{margin-left:20px}.md{font-family:var(--font-prose);color:var(--reader-ink);word-break:break-word;font-size:16.5px;line-height:1.62}.conv-item--human .md{font-size:15.5px}.md p{margin:0 0 8px}.md p:last-child{margin-bottom:0}.md ul,.md ol{margin:4px 0 8px;padding-left:22px}.md li{margin:2px 0}.md h1,.md h2,.md h3,.md h4{color:var(--reader-ink);margin:16px 0 6px;font-weight:600;line-height:1.25}.md h1{font-size:22px}.md h2{font-size:20px}.md h3{font-size:17.5px}.md h4{font-size:15.5px}.md a{color:var(--accent-blue);text-underline-offset:2px;text-decoration:underline}.md code{font-family:var(--font-mono);background:var(--panel-bg-2);border-radius:3px;padding:1px 4px;font-size:12px}.md strong,.md b{font-weight:600}.md pre{font-family:var(--font-mono);background:var(--panel-bg-2);border:1px solid var(--border-soft);border-radius:6px;margin:6px 0 8px;padding:10px 12px;overflow-x:auto}.md pre code{background:0 0;padding:0;font-size:12px;line-height:1.45}.md blockquote{border-left:3px solid var(--border-soft);color:var(--text-dim);margin:6px 0;padding:2px 12px}.md table{border-collapse:collapse;max-inline-size:100%;margin:8px 0;font-size:13.5px;display:block;overflow-x:auto}.md th,.md td{border:1px solid var(--border-soft);text-align:left;padding:4px 8px}.md th{background:var(--panel-bg-2)}.md del{color:var(--text-faint)}.md img{max-width:100%}.conv-view mark{background:var(--accent-amber);color:#1a1400;border-radius:2px;padding:0 2px}.conv-load-sentinel{text-align:center;color:var(--text-faint);padding:12px;font-size:11px}.conv-disabled{border:1px solid var(--accent-amber);background:var(--panel-bg);color:var(--text-dim);border-radius:6px;margin-bottom:16px;padding:18px 22px;font-size:13px;line-height:1.6}.conv-disabled code{font-family:var(--font-mono);background:var(--panel-bg-2);color:var(--accent-cyan);border-radius:3px;padding:1px 6px}@media (width<=640px){#root .conv-view,#root .conv-view--mobile{height:calc(100vh - var(--topbar-h) - 16px);grid-template-columns:1fr;gap:0;margin-bottom:12px;overflow:hidden}#root .conv-rail,#root .conv-reader{border:1px solid var(--border-soft);border-radius:6px;min-height:0;overflow:hidden}#root .conv-reader-body{gap:10px;padding:10px 12px}#root .conv-reader-thread{gap:10px;padding-left:0}#root .conv-reader-thread:before,#root .conv-reader-thread>.conv-item--human:before,#root .conv-reader-thread>.conv-item--assistant:before,#root .conv-reader-thread>.conv-sidechain:before{display:none}#root .conv-item{border-radius:7px;padding:8px 11px}#root .view-switcher{gap:2px;padding:2px}#root .view-seg{padding:4px 10px;font-size:12px}}
@@ -45,13 +45,13 @@ Error generating stack: `+e.message+`
45
45
  `,inConstruct:`tableCell`},{atBreak:!0,character:`|`,after:`[ :-]`},{character:`|`,inConstruct:`tableCell`},{atBreak:!0,character:`:`,after:`-`},{atBreak:!0,character:`-`,after:`[:|-]`}],handlers:{inlineCode:f,table:o,tableCell:c,tableRow:s}};function o(e,t,n,r){return l(u(e,n,r),e.align)}function s(e,t,n,r){let i=l([d(e,n,r)]);return i.slice(0,i.indexOf(`
46
46
  `))}function c(e,t,n,r){let i=n.enter(`tableCell`),o=n.enter(`phrasing`),s=n.containerPhrasing(e,{...r,before:a,after:a});return o(),i(),s}function l(e,t){return y_(e,{align:t,alignDelimiters:r,padding:n,stringLength:i})}function u(e,t,n){let r=e.children,i=-1,a=[],o=t.enter(`table`);for(;++i<r.length;)a[i]=d(r[i],t,n);return o(),a}function d(e,t,n){let r=e.children,i=-1,a=[],o=t.enter(`tableRow`);for(;++i<r.length;)a[i]=c(r[i],e,t,n);return o(),a}function f(e,t,n){let r=gv.inlineCode(e,t,n);return n.stack.includes(`tableCell`)&&(r=r.replace(/\|/g,`\\$&`)),r}}function Ev(){return{exit:{taskListCheckValueChecked:Ov,taskListCheckValueUnchecked:Ov,paragraph:kv}}}function Dv(){return{unsafe:[{atBreak:!0,character:`-`,after:`[:|-]`}],handlers:{listItem:Av}}}function Ov(e){let t=this.stack[this.stack.length-2];t.type,t.checked=e.type===`taskListCheckValueChecked`}function kv(e){let t=this.stack[this.stack.length-2];if(t&&t.type===`listItem`&&typeof t.checked==`boolean`){let e=this.stack[this.stack.length-1];e.type;let n=e.children[0];if(n&&n.type===`text`){let r=t.children,i=-1,a;for(;++i<r.length;){let e=r[i];if(e.type===`paragraph`){a=e;break}}a===e&&(n.value=n.value.slice(1),n.value.length===0?e.children.shift():e.position&&n.position&&typeof n.position.start.offset==`number`&&(n.position.start.column++,n.position.start.offset++,e.position.start=Object.assign({},n.position.start)))}}this.exit(e)}function Av(e,t,n,r){let i=e.children[0],a=typeof e.checked==`boolean`&&i&&i.type===`paragraph`,o=`[`+(e.checked?`x`:` `)+`] `,s=n.createTracker(r);a&&s.move(o);let c=gv.listItem(e,t,n,{...r,...s.current()});return a&&(c=c.replace(/^(?:[*+-]|\d+\.)([\r\n]| {1,3})/,l)),c;function l(e){return e+o}}function jv(){return[Lg(),s_(),f_(),_v(),Ev()]}function Mv(e){return{extensions:[Rg(),c_(e),p_(),Tv(e),Dv()]}}var Nv={tokenize:qv,partial:!0},Pv={tokenize:Jv,partial:!0},Fv={tokenize:Yv,partial:!0},Iv={tokenize:Xv,partial:!0},Lv={tokenize:Zv,partial:!0},Rv={name:`wwwAutolink`,tokenize:Gv,previous:Qv},zv={name:`protocolAutolink`,tokenize:Kv,previous:$v},Bv={name:`emailAutolink`,tokenize:Wv,previous:ey},Vv={};function Hv(){return{text:Vv}}for(var Uv=48;Uv<123;)Vv[Uv]=Bv,Uv++,Uv===58?Uv=65:Uv===91&&(Uv=97);Vv[43]=Bv,Vv[45]=Bv,Vv[46]=Bv,Vv[95]=Bv,Vv[72]=[Bv,zv],Vv[104]=[Bv,zv],Vv[87]=[Bv,Rv],Vv[119]=[Bv,Rv];function Wv(e,t,n){let r=this,i,a;return o;function o(t){return!ty(t)||!ey.call(r,r.previous)||ny(r.events)?n(t):(e.enter(`literalAutolink`),e.enter(`literalAutolinkEmail`),s(t))}function s(t){return ty(t)?(e.consume(t),s):t===64?(e.consume(t),c):n(t)}function c(t){return t===46?e.check(Lv,u,l)(t):t===45||t===95||Rd(t)?(a=!0,e.consume(t),c):u(t)}function l(t){return e.consume(t),i=!0,c}function u(o){return a&&i&&Ld(r.previous)?(e.exit(`literalAutolinkEmail`),e.exit(`literalAutolink`),t(o)):n(o)}}function Gv(e,t,n){let r=this;return i;function i(t){return t!==87&&t!==119||!Qv.call(r,r.previous)||ny(r.events)?n(t):(e.enter(`literalAutolink`),e.enter(`literalAutolinkWww`),e.check(Nv,e.attempt(Pv,e.attempt(Fv,a),n),n)(t))}function a(n){return e.exit(`literalAutolinkWww`),e.exit(`literalAutolink`),t(n)}}function Kv(e,t,n){let r=this,i=``,a=!1;return o;function o(t){return(t===72||t===104)&&$v.call(r,r.previous)&&!ny(r.events)?(e.enter(`literalAutolink`),e.enter(`literalAutolinkHttp`),i+=String.fromCodePoint(t),e.consume(t),s):n(t)}function s(t){if(Ld(t)&&i.length<5)return i+=String.fromCodePoint(t),e.consume(t),s;if(t===58){let n=i.toLowerCase();if(n===`http`||n===`https`)return e.consume(t),c}return n(t)}function c(t){return t===47?(e.consume(t),a?l:(a=!0,c)):n(t)}function l(t){return t===null||Bd(t)||Wd(t)||Kd(t)||Gd(t)?n(t):e.attempt(Pv,e.attempt(Fv,u),n)(t)}function u(n){return e.exit(`literalAutolinkHttp`),e.exit(`literalAutolink`),t(n)}}function qv(e,t,n){let r=0;return i;function i(t){return(t===87||t===119)&&r<3?(r++,e.consume(t),i):t===46&&r===3?(e.consume(t),a):n(t)}function a(e){return e===null?n(e):t(e)}}function Jv(e,t,n){let r,i,a;return o;function o(t){return t===46||t===95?e.check(Iv,c,s)(t):t===null||Wd(t)||Kd(t)||t!==45&&Gd(t)?c(t):(a=!0,e.consume(t),o)}function s(t){return t===95?r=!0:(i=r,r=void 0),e.consume(t),o}function c(e){return i||r||!a?n(e):t(e)}}function Yv(e,t){let n=0,r=0;return i;function i(o){return o===40?(n++,e.consume(o),i):o===41&&r<n?a(o):o===33||o===34||o===38||o===39||o===41||o===42||o===44||o===46||o===58||o===59||o===60||o===63||o===93||o===95||o===126?e.check(Iv,t,a)(o):o===null||Wd(o)||Kd(o)?t(o):(e.consume(o),i)}function a(t){return t===41&&r++,e.consume(t),i}}function Xv(e,t,n){return r;function r(o){return o===33||o===34||o===39||o===41||o===42||o===44||o===46||o===58||o===59||o===63||o===95||o===126?(e.consume(o),r):o===38?(e.consume(o),a):o===93?(e.consume(o),i):o===60||o===null||Wd(o)||Kd(o)?t(o):n(o)}function i(e){return e===null||e===40||e===91||Wd(e)||Kd(e)?t(e):r(e)}function a(e){return Ld(e)?o(e):n(e)}function o(t){return t===59?(e.consume(t),r):Ld(t)?(e.consume(t),o):n(t)}}function Zv(e,t,n){return r;function r(t){return e.consume(t),i}function i(e){return Rd(e)?n(e):t(e)}}function Qv(e){return e===null||e===40||e===42||e===95||e===91||e===93||e===126||Wd(e)}function $v(e){return!Ld(e)}function ey(e){return!(e===47||ty(e))}function ty(e){return e===43||e===45||e===46||e===95||Rd(e)}function ny(e){let t=e.length,n=!1;for(;t--;){let r=e[t][1];if((r.type===`labelLink`||r.type===`labelImage`)&&!r._balanced){n=!0;break}if(r._gfmAutolinkLiteralWalkedInto){n=!1;break}}return e.length>0&&!n&&(e[e.length-1][1]._gfmAutolinkLiteralWalkedInto=!0),n}var ry={tokenize:dy,partial:!0};function iy(){return{document:{91:{name:`gfmFootnoteDefinition`,tokenize:cy,continuation:{tokenize:ly},exit:uy}},text:{91:{name:`gfmFootnoteCall`,tokenize:sy},93:{name:`gfmPotentialFootnoteCall`,add:`after`,tokenize:ay,resolveTo:oy}}}}function ay(e,t,n){let r=this,i=r.events.length,a=r.parser.gfmFootnotes||(r.parser.gfmFootnotes=[]),o;for(;i--;){let e=r.events[i][1];if(e.type===`labelImage`){o=e;break}if(e.type===`gfmFootnoteCall`||e.type===`labelLink`||e.type===`label`||e.type===`image`||e.type===`link`)break}return s;function s(i){if(!o||!o._balanced)return n(i);let s=Id(r.sliceSerialize({start:o.end,end:r.now()}));return s.codePointAt(0)!==94||!a.includes(s.slice(1))?n(i):(e.enter(`gfmFootnoteCallLabelMarker`),e.consume(i),e.exit(`gfmFootnoteCallLabelMarker`),t(i))}}function oy(e,t){let n=e.length;for(;n--;)if(e[n][1].type===`labelImage`&&e[n][0]===`enter`){e[n][1];break}e[n+1][1].type=`data`,e[n+3][1].type=`gfmFootnoteCallLabelMarker`;let r={type:`gfmFootnoteCall`,start:Object.assign({},e[n+3][1].start),end:Object.assign({},e[e.length-1][1].end)},i={type:`gfmFootnoteCallMarker`,start:Object.assign({},e[n+3][1].end),end:Object.assign({},e[n+3][1].end)};i.end.column++,i.end.offset++,i.end._bufferIndex++;let a={type:`gfmFootnoteCallString`,start:Object.assign({},i.end),end:Object.assign({},e[e.length-1][1].start)},o={type:`chunkString`,contentType:`string`,start:Object.assign({},a.start),end:Object.assign({},a.end)},s=[e[n+1],e[n+2],[`enter`,r,t],e[n+3],e[n+4],[`enter`,i,t],[`exit`,i,t],[`enter`,a,t],[`enter`,o,t],[`exit`,o,t],[`exit`,a,t],e[e.length-2],e[e.length-1],[`exit`,r,t]];return e.splice(n,e.length-n+1,...s),e}function sy(e,t,n){let r=this,i=r.parser.gfmFootnotes||(r.parser.gfmFootnotes=[]),a=0,o;return s;function s(t){return e.enter(`gfmFootnoteCall`),e.enter(`gfmFootnoteCallLabelMarker`),e.consume(t),e.exit(`gfmFootnoteCallLabelMarker`),c}function c(t){return t===94?(e.enter(`gfmFootnoteCallMarker`),e.consume(t),e.exit(`gfmFootnoteCallMarker`),e.enter(`gfmFootnoteCallString`),e.enter(`chunkString`).contentType=`string`,l):n(t)}function l(s){if(a>999||s===93&&!o||s===null||s===91||Wd(s))return n(s);if(s===93){e.exit(`chunkString`);let a=e.exit(`gfmFootnoteCallString`);return i.includes(Id(r.sliceSerialize(a)))?(e.enter(`gfmFootnoteCallLabelMarker`),e.consume(s),e.exit(`gfmFootnoteCallLabelMarker`),e.exit(`gfmFootnoteCall`),t):n(s)}return Wd(s)||(o=!0),a++,e.consume(s),s===92?u:l}function u(t){return t===91||t===92||t===93?(e.consume(t),a++,l):l(t)}}function cy(e,t,n){let r=this,i=r.parser.gfmFootnotes||(r.parser.gfmFootnotes=[]),a,o=0,s;return c;function c(t){return e.enter(`gfmFootnoteDefinition`)._container=!0,e.enter(`gfmFootnoteDefinitionLabel`),e.enter(`gfmFootnoteDefinitionLabelMarker`),e.consume(t),e.exit(`gfmFootnoteDefinitionLabelMarker`),l}function l(t){return t===94?(e.enter(`gfmFootnoteDefinitionMarker`),e.consume(t),e.exit(`gfmFootnoteDefinitionMarker`),e.enter(`gfmFootnoteDefinitionLabelString`),e.enter(`chunkString`).contentType=`string`,u):n(t)}function u(t){if(o>999||t===93&&!s||t===null||t===91||Wd(t))return n(t);if(t===93){e.exit(`chunkString`);let n=e.exit(`gfmFootnoteDefinitionLabelString`);return a=Id(r.sliceSerialize(n)),e.enter(`gfmFootnoteDefinitionLabelMarker`),e.consume(t),e.exit(`gfmFootnoteDefinitionLabelMarker`),e.exit(`gfmFootnoteDefinitionLabel`),f}return Wd(t)||(s=!0),o++,e.consume(t),t===92?d:u}function d(t){return t===91||t===92||t===93?(e.consume(t),o++,u):u(t)}function f(t){return t===58?(e.enter(`definitionMarker`),e.consume(t),e.exit(`definitionMarker`),i.includes(a)||i.push(a),$(e,p,`gfmFootnoteDefinitionWhitespace`)):n(t)}function p(e){return t(e)}}function ly(e,t,n){return e.check(uf,t,e.attempt(ry,t,n))}function uy(e){e.exit(`gfmFootnoteDefinition`)}function dy(e,t,n){let r=this;return $(e,i,`gfmFootnoteDefinitionIndent`,5);function i(e){let i=r.events[r.events.length-1];return i&&i[1].type===`gfmFootnoteDefinitionIndent`&&i[2].sliceSerialize(i[1],!0).length===4?t(e):n(e)}}function fy(e){let t=(e||{}).singleTilde,n={name:`strikethrough`,tokenize:i,resolveAll:r};return t??=!0,{text:{126:n},insideSpan:{null:[n]},attentionMarkers:{null:[126]}};function r(e,t){let n=-1;for(;++n<e.length;)if(e[n][0]===`enter`&&e[n][1].type===`strikethroughSequenceTemporary`&&e[n][1]._close){let r=n;for(;r--;)if(e[r][0]===`exit`&&e[r][1].type===`strikethroughSequenceTemporary`&&e[r][1]._open&&e[n][1].end.offset-e[n][1].start.offset===e[r][1].end.offset-e[r][1].start.offset){e[n][1].type=`strikethroughSequence`,e[r][1].type=`strikethroughSequence`;let i={type:`strikethrough`,start:Object.assign({},e[r][1].start),end:Object.assign({},e[n][1].end)},a={type:`strikethroughText`,start:Object.assign({},e[r][1].end),end:Object.assign({},e[n][1].start)},o=[[`enter`,i,t],[`enter`,e[r][1],t],[`exit`,e[r][1],t],[`enter`,a,t]],s=t.parser.constructs.insideSpan.null;s&&kd(o,o.length,0,nf(s,e.slice(r+1,n),t)),kd(o,o.length,0,[[`exit`,a,t],[`enter`,e[n][1],t],[`exit`,e[n][1],t],[`exit`,i,t]]),kd(e,r-1,n-r+3,o),n=r+o.length-2;break}}for(n=-1;++n<e.length;)e[n][1].type===`strikethroughSequenceTemporary`&&(e[n][1].type=`data`);return e}function i(e,n,r){let i=this.previous,a=this.events,o=0;return s;function s(t){return i===126&&a[a.length-1][1].type!==`characterEscape`?r(t):(e.enter(`strikethroughSequenceTemporary`),c(t))}function c(a){let s=tf(i);if(a===126)return o>1?r(a):(e.consume(a),o++,c);if(o<2&&!t)return r(a);let l=e.exit(`strikethroughSequenceTemporary`),u=tf(a);return l._open=!u||u===2&&!!s,l._close=!s||s===2&&!!u,n(a)}}}var py=class{constructor(){this.map=[]}add(e,t,n){my(this,e,t,n)}consume(e){if(this.map.sort(function(e,t){return e[0]-t[0]}),this.map.length===0)return;let t=this.map.length,n=[];for(;t>0;)--t,n.push(e.slice(this.map[t][0]+this.map[t][1]),this.map[t][2]),e.length=this.map[t][0];n.push(e.slice()),e.length=0;let r=n.pop();for(;r;){for(let t of r)e.push(t);r=n.pop()}this.map.length=0}};function my(e,t,n,r){let i=0;if(!(n===0&&r.length===0)){for(;i<e.map.length;){if(e.map[i][0]===t){e.map[i][1]+=n,e.map[i][2].push(...r);return}i+=1}e.map.push([t,n,r])}}function hy(e,t){let n=!1,r=[];for(;t<e.length;){let i=e[t];if(n){if(i[0]===`enter`)i[1].type===`tableContent`&&r.push(e[t+1][1].type===`tableDelimiterMarker`?`left`:`none`);else if(i[1].type===`tableContent`){if(e[t-1][1].type===`tableDelimiterMarker`){let e=r.length-1;r[e]=r[e]===`left`?`center`:`right`}}else if(i[1].type===`tableDelimiterRow`)break}else i[0]===`enter`&&i[1].type===`tableDelimiterRow`&&(n=!0);t+=1}return r}function gy(){return{flow:{null:{name:`table`,tokenize:_y,resolveAll:vy}}}}function _y(e,t,n){let r=this,i=0,a=0,o;return s;function s(e){let t=r.events.length-1;for(;t>-1;){let e=r.events[t][1].type;if(e===`lineEnding`||e===`linePrefix`)t--;else break}let i=t>-1?r.events[t][1].type:null,a=i===`tableHead`||i===`tableRow`?S:c;return a===S&&r.parser.lazy[r.now().line]?n(e):a(e)}function c(t){return e.enter(`tableHead`),e.enter(`tableRow`),l(t)}function l(e){return e===124?u(e):(o=!0,a+=1,u(e))}function u(t){return t===null?n(t):Z(t)?a>1?(a=0,r.interrupt=!0,e.exit(`tableRow`),e.enter(`lineEnding`),e.consume(t),e.exit(`lineEnding`),p):n(t):Q(t)?$(e,u,`whitespace`)(t):(a+=1,o&&(o=!1,i+=1),t===124?(e.enter(`tableCellDivider`),e.consume(t),e.exit(`tableCellDivider`),o=!0,u):(e.enter(`data`),d(t)))}function d(t){return t===null||t===124||Wd(t)?(e.exit(`data`),u(t)):(e.consume(t),t===92?f:d)}function f(t){return t===92||t===124?(e.consume(t),d):d(t)}function p(t){return r.interrupt=!1,r.parser.lazy[r.now().line]?n(t):(e.enter(`tableDelimiterRow`),o=!1,Q(t)?$(e,m,`linePrefix`,r.parser.constructs.disable.null.includes(`codeIndented`)?void 0:4)(t):m(t))}function m(t){return t===45||t===58?g(t):t===124?(o=!0,e.enter(`tableCellDivider`),e.consume(t),e.exit(`tableCellDivider`),h):x(t)}function h(t){return Q(t)?$(e,g,`whitespace`)(t):g(t)}function g(t){return t===58?(a+=1,o=!0,e.enter(`tableDelimiterMarker`),e.consume(t),e.exit(`tableDelimiterMarker`),_):t===45?(a+=1,_(t)):t===null||Z(t)?b(t):x(t)}function _(t){return t===45?(e.enter(`tableDelimiterFiller`),v(t)):x(t)}function v(t){return t===45?(e.consume(t),v):t===58?(o=!0,e.exit(`tableDelimiterFiller`),e.enter(`tableDelimiterMarker`),e.consume(t),e.exit(`tableDelimiterMarker`),y):(e.exit(`tableDelimiterFiller`),y(t))}function y(t){return Q(t)?$(e,b,`whitespace`)(t):b(t)}function b(n){return n===124?m(n):n===null||Z(n)?!o||i!==a?x(n):(e.exit(`tableDelimiterRow`),e.exit(`tableHead`),t(n)):x(n)}function x(e){return n(e)}function S(t){return e.enter(`tableRow`),C(t)}function C(n){return n===124?(e.enter(`tableCellDivider`),e.consume(n),e.exit(`tableCellDivider`),C):n===null||Z(n)?(e.exit(`tableRow`),t(n)):Q(n)?$(e,C,`whitespace`)(n):(e.enter(`data`),w(n))}function w(t){return t===null||t===124||Wd(t)?(e.exit(`data`),C(t)):(e.consume(t),t===92?T:w)}function T(t){return t===92||t===124?(e.consume(t),w):w(t)}}function vy(e,t){let n=-1,r=!0,i=0,a=[0,0,0,0],o=[0,0,0,0],s=!1,c=0,l,u,d,f=new py;for(;++n<e.length;){let p=e[n],m=p[1];p[0]===`enter`?m.type===`tableHead`?(s=!1,c!==0&&(by(f,t,c,l,u),u=void 0,c=0),l={type:`table`,start:Object.assign({},m.start),end:Object.assign({},m.end)},f.add(n,0,[[`enter`,l,t]])):m.type===`tableRow`||m.type===`tableDelimiterRow`?(r=!0,d=void 0,a=[0,0,0,0],o=[0,n+1,0,0],s&&(s=!1,u={type:`tableBody`,start:Object.assign({},m.start),end:Object.assign({},m.end)},f.add(n,0,[[`enter`,u,t]])),i=m.type===`tableDelimiterRow`?2:u?3:1):i&&(m.type===`data`||m.type===`tableDelimiterMarker`||m.type===`tableDelimiterFiller`)?(r=!1,o[2]===0&&(a[1]!==0&&(o[0]=o[1],d=yy(f,t,a,i,void 0,d),a=[0,0,0,0]),o[2]=n)):m.type===`tableCellDivider`&&(r?r=!1:(a[1]!==0&&(o[0]=o[1],d=yy(f,t,a,i,void 0,d)),a=o,o=[a[1],n,0,0])):m.type===`tableHead`?(s=!0,c=n):m.type===`tableRow`||m.type===`tableDelimiterRow`?(c=n,a[1]===0?o[1]!==0&&(d=yy(f,t,o,i,n,d)):(o[0]=o[1],d=yy(f,t,a,i,n,d)),i=0):i&&(m.type===`data`||m.type===`tableDelimiterMarker`||m.type===`tableDelimiterFiller`)&&(o[3]=n)}for(c!==0&&by(f,t,c,l,u),f.consume(t.events),n=-1;++n<t.events.length;){let e=t.events[n];e[0]===`enter`&&e[1].type===`table`&&(e[1]._align=hy(t.events,n))}return e}function yy(e,t,n,r,i,a){let o=r===1?`tableHeader`:r===2?`tableDelimiter`:`tableData`;n[0]!==0&&(a.end=Object.assign({},xy(t.events,n[0])),e.add(n[0],0,[[`exit`,a,t]]));let s=xy(t.events,n[1]);if(a={type:o,start:Object.assign({},s),end:Object.assign({},s)},e.add(n[1],0,[[`enter`,a,t]]),n[2]!==0){let i=xy(t.events,n[2]),a=xy(t.events,n[3]),o={type:`tableContent`,start:Object.assign({},i),end:Object.assign({},a)};if(e.add(n[2],0,[[`enter`,o,t]]),r!==2){let r=t.events[n[2]],i=t.events[n[3]];if(r[1].end=Object.assign({},i[1].end),r[1].type=`chunkText`,r[1].contentType=`text`,n[3]>n[2]+1){let t=n[2]+1,r=n[3]-n[2]-1;e.add(t,r,[])}}e.add(n[3]+1,0,[[`exit`,o,t]])}return i!==void 0&&(a.end=Object.assign({},xy(t.events,i)),e.add(i,0,[[`exit`,a,t]]),a=void 0),a}function by(e,t,n,r,i){let a=[],o=xy(t.events,n);i&&(i.end=Object.assign({},o),a.push([`exit`,i,t])),r.end=Object.assign({},o),a.push([`exit`,r,t]),e.add(n+1,0,a)}function xy(e,t){let n=e[t],r=n[0]===`enter`?`start`:`end`;return n[1][r]}var Sy={name:`tasklistCheck`,tokenize:wy};function Cy(){return{text:{91:Sy}}}function wy(e,t,n){let r=this;return i;function i(t){return r.previous!==null||!r._gfmTasklistFirstContentOfListItem?n(t):(e.enter(`taskListCheck`),e.enter(`taskListCheckMarker`),e.consume(t),e.exit(`taskListCheckMarker`),a)}function a(t){return Wd(t)?(e.enter(`taskListCheckValueUnchecked`),e.consume(t),e.exit(`taskListCheckValueUnchecked`),o):t===88||t===120?(e.enter(`taskListCheckValueChecked`),e.consume(t),e.exit(`taskListCheckValueChecked`),o):n(t)}function o(t){return t===93?(e.enter(`taskListCheckMarker`),e.consume(t),e.exit(`taskListCheckMarker`),e.exit(`taskListCheck`),s):n(t)}function s(r){return Z(r)?t(r):Q(r)?e.check({tokenize:Ty},t,n)(r):n(r)}}function Ty(e,t,n){return $(e,r,`whitespace`);function r(e){return e===null?n(e):t(e)}}function Ey(e){return Md([Hv(),iy(),fy(e),gy(),Cy()])}var Dy={};function Oy(e){let t=this,n=e||Dy,r=t.data(),i=r.micromarkExtensions||=[],a=r.fromMarkdownExtensions||=[],o=r.toMarkdownExtensions||=[];i.push(Ey(n)),a.push(jv()),o.push(Mv(n))}var ky=/[#.]/g;function Ay(e,t){let n=e||``,r={},i=0,a,o;for(;i<n.length;){ky.lastIndex=i;let e=ky.exec(n),t=n.slice(i,e?e.index:n.length);t&&(a?a===`#`?r.id=t:Array.isArray(r.className)?r.className.push(t):r.className=[t]:o=t,i+=t.length),e&&(a=e[0],i++)}return{type:`element`,tagName:o||t||`div`,properties:r,children:[]}}function jy(e,t,n){let r=n?Ly(n):void 0;function i(n,i,...a){let o;if(n==null){o={type:`root`,children:[]};let e=i;a.unshift(e)}else{o=Ay(n,t);let s=o.tagName.toLowerCase(),c=r?r.get(s):void 0;if(o.tagName=c||s,My(i))a.unshift(i);else for(let[t,n]of Object.entries(i))Ny(e,o.properties,t,n)}for(let e of a)Py(o.children,e);return o.type===`element`&&o.tagName===`template`&&(o.content={type:`root`,children:o.children},o.children=[]),o}return i}function My(e){if(typeof e!=`object`||!e||Array.isArray(e))return!0;if(typeof e.type!=`string`)return!1;let t=e,n=Object.keys(e);for(let e of n){let n=t[e];if(n&&typeof n==`object`){if(!Array.isArray(n))return!0;let e=n;for(let t of e)if(typeof t!=`number`&&typeof t!=`string`)return!0}}return!!(`children`in e&&Array.isArray(e.children))}function Ny(e,t,n,r){let i=Eu(e,n),a;if(r!=null){if(typeof r==`number`){if(Number.isNaN(r))return;a=r}else a=typeof r==`boolean`?r:typeof r==`string`?i.spaceSeparated?ju(r):i.commaSeparated?Wl(r):i.commaOrSpaceSeparated?ju(Wl(r).join(` `)):Fy(i,i.property,r):Array.isArray(r)?[...r]:i.property===`style`?Iy(r):String(r);if(Array.isArray(a)){let e=[];for(let t of a)e.push(Fy(i,i.property,t));a=e}i.property===`className`&&Array.isArray(t.className)&&(a=t.className.concat(a)),t[i.property]=a}}function Py(e,t){if(t!=null)if(typeof t==`number`||typeof t==`string`)e.push({type:`text`,value:String(t)});else if(Array.isArray(t))for(let n of t)Py(e,n);else if(typeof t==`object`&&`type`in t)t.type===`root`?Py(e,t.children):e.push(t);else throw Error("Expected node, nodes, or string, got `"+t+"`")}function Fy(e,t,n){if(typeof n==`string`){if(e.number&&n&&!Number.isNaN(Number(n)))return Number(n);if((e.boolean||e.overloadedBoolean)&&(n===``||tu(n)===tu(t)))return!0}return n}function Iy(e){let t=[];for(let[n,r]of Object.entries(e))t.push([n,r].join(`: `));return t.join(`; `)}function Ly(e){let t=new Map;for(let n of e)t.set(n.toLowerCase(),n);return t}var Ry=`altGlyph.altGlyphDef.altGlyphItem.animateColor.animateMotion.animateTransform.clipPath.feBlend.feColorMatrix.feComponentTransfer.feComposite.feConvolveMatrix.feDiffuseLighting.feDisplacementMap.feDistantLight.feDropShadow.feFlood.feFuncA.feFuncB.feFuncG.feFuncR.feGaussianBlur.feImage.feMerge.feMergeNode.feMorphology.feOffset.fePointLight.feSpecularLighting.feSpotLight.feTile.feTurbulence.foreignObject.glyphRef.linearGradient.radialGradient.solidColor.textArea.textPath`.split(`.`),zy=jy(ku,`div`);jy(Au,`g`,Ry);var By=`AElig.AMP.Aacute.Acirc.Agrave.Aring.Atilde.Auml.COPY.Ccedil.ETH.Eacute.Ecirc.Egrave.Euml.GT.Iacute.Icirc.Igrave.Iuml.LT.Ntilde.Oacute.Ocirc.Ograve.Oslash.Otilde.Ouml.QUOT.REG.THORN.Uacute.Ucirc.Ugrave.Uuml.Yacute.aacute.acirc.acute.aelig.agrave.amp.aring.atilde.auml.brvbar.ccedil.cedil.cent.copy.curren.deg.divide.eacute.ecirc.egrave.eth.euml.frac12.frac14.frac34.gt.iacute.icirc.iexcl.igrave.iquest.iuml.laquo.lt.macr.micro.middot.nbsp.not.ntilde.oacute.ocirc.ograve.ordf.ordm.oslash.otilde.ouml.para.plusmn.pound.quot.raquo.reg.sect.shy.sup1.sup2.sup3.szlig.thorn.times.uacute.ucirc.ugrave.uml.uuml.yacute.yen.yuml`.split(`.`),Vy={0:`�`,128:`€`,130:`‚`,131:`ƒ`,132:`„`,133:`…`,134:`†`,135:`‡`,136:`ˆ`,137:`‰`,138:`Š`,139:`‹`,140:`Œ`,142:`Ž`,145:`‘`,146:`’`,147:`“`,148:`”`,149:`•`,150:`–`,151:`—`,152:`˜`,153:`™`,154:`š`,155:`›`,156:`œ`,158:`ž`,159:`Ÿ`};function Hy(e){let t=typeof e==`string`?e.charCodeAt(0):e;return t>=48&&t<=57}function Uy(e){let t=typeof e==`string`?e.charCodeAt(0):e;return t>=97&&t<=102||t>=65&&t<=70||t>=48&&t<=57}function Wy(e){let t=typeof e==`string`?e.charCodeAt(0):e;return t>=97&&t<=122||t>=65&&t<=90}function Gy(e){return Wy(e)||Hy(e)}var Ky=[``,`Named character references must be terminated by a semicolon`,`Numeric character references must be terminated by a semicolon`,`Named character references cannot be empty`,`Numeric character references cannot be empty`,`Named character references must be known`,`Numeric character references cannot be disallowed`,`Numeric character references cannot be outside the permissible Unicode range`];function qy(e,t){let n=t||{},r=typeof n.additional==`string`?n.additional.charCodeAt(0):n.additional,i=[],a=0,o=-1,s=``,c,l;n.position&&(`start`in n.position||`indent`in n.position?(l=n.position.indent,c=n.position.start):c=n.position);let u=(c?c.line:0)||1,d=(c?c.column:0)||1,f=m(),p;for(a--;++a<=e.length;)if(p===10&&(d=(l?l[o]:0)||1),p=e.charCodeAt(a),p===38){let t=e.charCodeAt(a+1);if(t===9||t===10||t===12||t===32||t===38||t===60||Number.isNaN(t)||r&&t===r){s+=String.fromCharCode(p),d++;continue}let o=a+1,c=o,l=o,u;if(t===35){l=++c;let t=e.charCodeAt(l);t===88||t===120?(u=`hexadecimal`,l=++c):u=`decimal`}else u=`named`;let _=``,v=``,y=``,b=u===`named`?Gy:u===`decimal`?Hy:Uy;for(l--;++l<=e.length;){let t=e.charCodeAt(l);if(!b(t))break;y+=String.fromCharCode(t),u===`named`&&By.includes(y)&&(_=y,v=Od(y))}let x=e.charCodeAt(l)===59;if(x){l++;let e=u===`named`?Od(y):!1;e&&(_=y,v=e)}let S=1+l-o,C=``;if(!(!x&&n.nonTerminated===!1))if(!y)u!==`named`&&h(4,S);else if(u===`named`){if(x&&!v)h(5,1);else if(_!==y&&(l=c+_.length,S=1+l-c,x=!1),!x){let t=_?1:3;if(n.attribute){let n=e.charCodeAt(l);n===61?(h(t,S),v=``):Gy(n)?v=``:h(t,S)}else h(t,S)}C=v}else{x||h(2,S);let e=Number.parseInt(y,u===`hexadecimal`?16:10);if(Jy(e))h(7,S),C=`�`;else if(e in Vy)h(6,S),C=Vy[e];else{let t=``;Yy(e)&&h(6,S),e>65535&&(e-=65536,t+=String.fromCharCode(e>>>10|55296),e=56320|e&1023),C=t+String.fromCharCode(e)}}if(C){g(),f=m(),a=l-1,d+=l-o+1,i.push(C);let t=m();t.offset++,n.reference&&n.reference.call(n.referenceContext||void 0,C,{start:f,end:t},e.slice(o-1,l)),f=t}else y=e.slice(o-1,l),s+=y,d+=y.length,a=l-1}else p===10&&(u++,o++,d=0),Number.isNaN(p)?g():(s+=String.fromCharCode(p),d++);return i.join(``);function m(){return{line:u,column:d,offset:a+((c?c.offset:0)||0)}}function h(e,t){let r;n.warning&&(r=m(),r.column+=t,r.offset+=t,n.warning.call(n.warningContext||void 0,Ky[e],r,e))}function g(){s&&=(i.push(s),n.text&&n.text.call(n.textContext||void 0,s,{start:f,end:m()}),``)}}function Jy(e){return e>=55296&&e<=57343||e>1114111}function Yy(e){return e>=1&&e<=8||e===11||e>=13&&e<=31||e>=127&&e<=159||e>=64976&&e<=65007||(e&65535)==65535||(e&65535)==65534}var Xy=0,Zy={},Qy={util:{type:function(e){return Object.prototype.toString.call(e).slice(8,-1)},objId:function(e){return e.__id||Object.defineProperty(e,`__id`,{value:++Xy}),e.__id},clone:function e(t,n){n||={};var r,i;switch(Qy.util.type(t)){case`Object`:if(i=Qy.util.objId(t),n[i])return n[i];for(var a in r={},n[i]=r,t)t.hasOwnProperty(a)&&(r[a]=e(t[a],n));return r;case`Array`:return i=Qy.util.objId(t),n[i]?n[i]:(r=[],n[i]=r,t.forEach(function(t,i){r[i]=e(t,n)}),r);default:return t}}},languages:{plain:Zy,plaintext:Zy,text:Zy,txt:Zy,extend:function(e,t){var n=Qy.util.clone(Qy.languages[e]);for(var r in t)n[r]=t[r];return n},insertBefore:function(e,t,n,r){r||=Qy.languages;var i=r[e],a={};for(var o in i)if(i.hasOwnProperty(o)){if(o==t)for(var s in n)n.hasOwnProperty(s)&&(a[s]=n[s]);n.hasOwnProperty(o)||(a[o]=i[o])}var c=r[e];return r[e]=a,Qy.languages.DFS(Qy.languages,function(t,n){n===c&&t!=e&&(this[t]=a)}),a},DFS:function e(t,n,r,i){i||={};var a=Qy.util.objId;for(var o in t)if(t.hasOwnProperty(o)){n.call(t,o,t[o],r||o);var s=t[o],c=Qy.util.type(s);c===`Object`&&!i[a(s)]?(i[a(s)]=!0,e(s,n,null,i)):c===`Array`&&!i[a(s)]&&(i[a(s)]=!0,e(s,n,o,i))}}},plugins:{},highlight:function(e,t,n){var r={code:e,grammar:t,language:n};if(Qy.hooks.run(`before-tokenize`,r),!r.grammar)throw Error(`The language "`+r.language+`" has no grammar.`);return r.tokens=Qy.tokenize(r.code,r.grammar),Qy.hooks.run(`after-tokenize`,r),$y.stringify(Qy.util.encode(r.tokens),r.language)},tokenize:function(e,t){var n=t.rest;if(n){for(var r in n)t[r]=n[r];delete t.rest}var i=new nb;return rb(i,i.head,e),tb(e,i,t,i.head,0),ab(i)},hooks:{all:{},add:function(e,t){var n=Qy.hooks.all;n[e]=n[e]||[],n[e].push(t)},run:function(e,t){var n=Qy.hooks.all[e];if(!(!n||!n.length))for(var r=0,i;i=n[r++];)i(t)}},Token:$y};function $y(e,t,n,r){this.type=e,this.content=t,this.alias=n,this.length=(r||``).length|0}function eb(e,t,n,r){e.lastIndex=t;var i=e.exec(n);if(i&&r&&i[1]){var a=i[1].length;i.index+=a,i[0]=i[0].slice(a)}return i}function tb(e,t,n,r,i,a){for(var o in n)if(!(!n.hasOwnProperty(o)||!n[o])){var s=n[o];s=Array.isArray(s)?s:[s];for(var c=0;c<s.length;++c){if(a&&a.cause==o+`,`+c)return;var l=s[c],u=l.inside,d=!!l.lookbehind,f=!!l.greedy,p=l.alias;if(f&&!l.pattern.global){var m=l.pattern.toString().match(/[imsuy]*$/)[0];l.pattern=RegExp(l.pattern.source,m+`g`)}for(var h=l.pattern||l,g=r.next,_=i;g!==t.tail&&!(a&&_>=a.reach);_+=g.value.length,g=g.next){var v=g.value;if(t.length>e.length)return;if(!(v instanceof $y)){var y=1,b;if(f){if(b=eb(h,_,e,d),!b||b.index>=e.length)break;var x=b.index,S=b.index+b[0].length,C=_;for(C+=g.value.length;x>=C;)g=g.next,C+=g.value.length;if(C-=g.value.length,_=C,g.value instanceof $y)continue;for(var w=g;w!==t.tail&&(C<S||typeof w.value==`string`);w=w.next)y++,C+=w.value.length;y--,v=e.slice(_,C),b.index-=_}else if(b=eb(h,0,v,d),!b)continue;var x=b.index,T=b[0],E=v.slice(0,x),D=v.slice(x+T.length),O=_+v.length;a&&O>a.reach&&(a.reach=O);var k=g.prev;E&&(k=rb(t,k,E),_+=E.length),ib(t,k,y);var A=new $y(o,u?Qy.tokenize(T,u):T,p,T);if(g=rb(t,k,A),D&&rb(t,g,D),y>1){var j={cause:o+`,`+c,reach:O};tb(e,t,n,g.prev,_,j),a&&j.reach>a.reach&&(a.reach=j.reach)}}}}}}function nb(){var e={value:null,prev:null,next:null},t={value:null,prev:e,next:null};e.next=t,this.head=e,this.tail=t,this.length=0}function rb(e,t,n){var r=t.next,i={value:n,prev:t,next:r};return t.next=i,r.prev=i,e.length++,i}function ib(e,t,n){for(var r=t.next,i=0;i<n&&r!==e.tail;i++)r=r.next;t.next=r,r.prev=t,e.length-=i}function ab(e){for(var t=[],n=e.head.next;n!==e.tail;)t.push(n.value),n=n.next;return t}var ob=Qy;function sb(){}sb.prototype=ob;var cb=new sb;cb.highlight=lb,cb.register=ub,cb.alias=db,cb.registered=fb,cb.listLanguages=pb,cb.util.encode=hb,cb.Token.stringify=mb;function lb(e,t){if(typeof e!=`string`)throw TypeError("Expected `string` for `value`, got `"+e+"`");let n,r;if(t&&typeof t==`object`)n=t;else{if(r=t,typeof r!=`string`)throw TypeError("Expected `string` for `name`, got `"+r+"`");if(Object.hasOwn(cb.languages,r))n=cb.languages[r];else throw Error("Unknown language: `"+r+"` is not registered")}return{type:`root`,children:ob.highlight.call(cb,e,n,r)}}function ub(e){if(typeof e!=`function`||!e.displayName)throw Error("Expected `function` for `syntax`, got `"+e+"`");Object.hasOwn(cb.languages,e.displayName)||e(cb)}function db(e,t){let n=cb.languages,r={};typeof e==`string`?t&&(r[e]=t):r=e;let i;for(i in r)if(Object.hasOwn(r,i)){let e=r[i],t=typeof e==`string`?[e]:e,a=-1;for(;++a<t.length;)n[t[a]]=n[i]}}function fb(e){if(typeof e!=`string`)throw TypeError("Expected `string` for `aliasOrLanguage`, got `"+e+"`");return Object.hasOwn(cb.languages,e)}function pb(){let e=cb.languages,t=[],n;for(n in e)Object.hasOwn(e,n)&&typeof e[n]==`object`&&t.push(n);return t}function mb(e,t){if(typeof e==`string`)return{type:`text`,value:e};if(Array.isArray(e)){let n=[],r=-1;for(;++r<e.length;)e[r]!==null&&e[r]!==void 0&&e[r]!==``&&n.push(mb(e[r],t));return n}let n={attributes:{},classes:[`token`,e.type],content:mb(e.content,t),language:t,tag:`span`,type:e.type};return e.alias&&n.classes.push(...typeof e.alias==`string`?[e.alias]:e.alias),cb.hooks.run(`wrap`,n),zy(n.tag+`.`+n.classes.join(`.`),gb(n.attributes),n.content)}function hb(e){return e}function gb(e){let t;for(t in e)Object.hasOwn(e,t)&&(e[t]=qy(e[t]));return e}_b.displayName=`clike`,_b.aliases=[];function _b(e){e.languages.clike={comment:[{pattern:/(^|[^\\])\/\*[\s\S]*?(?:\*\/|$)/,lookbehind:!0,greedy:!0},{pattern:/(^|[^\\:])\/\/.*/,lookbehind:!0,greedy:!0}],string:{pattern:/(["'])(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,greedy:!0},"class-name":{pattern:/(\b(?:class|extends|implements|instanceof|interface|new|trait)\s+|\bcatch\s+\()[\w.\\]+/i,lookbehind:!0,inside:{punctuation:/[.\\]/}},keyword:/\b(?:break|catch|continue|do|else|finally|for|function|if|in|instanceof|new|null|return|throw|try|while)\b/,boolean:/\b(?:false|true)\b/,function:/\b\w+(?=\()/,number:/\b0x[\da-f]+\b|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:e[+-]?\d+)?/i,operator:/[<>]=?|[!=]=?=?|--?|\+\+?|&&?|\|\|?|[?*/~^%]/,punctuation:/[{}[\];(),.:]/}}vb.displayName=`javascript`,vb.aliases=[`js`];function vb(e){e.register(_b),e.languages.javascript=e.languages.extend(`clike`,{"class-name":[e.languages.clike[`class-name`],{pattern:/(^|[^$\w\xA0-\uFFFF])(?!\s)[_$A-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\.(?:constructor|prototype))/,lookbehind:!0}],keyword:[{pattern:/((?:^|\})\s*)catch\b/,lookbehind:!0},{pattern:/(^|[^.]|\.\.\.\s*)\b(?:as|assert(?=\s*\{)|async(?=\s*(?:function\b|\(|[$\w\xA0-\uFFFF]|$))|await|break|case|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally(?=\s*(?:\{|$))|for|from(?=\s*(?:['"]|$))|function|(?:get|set)(?=\s*(?:[#\[$\w\xA0-\uFFFF]|$))|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)\b/,lookbehind:!0}],function:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*(?:\.\s*(?:apply|bind|call)\s*)?\()/,number:{pattern:RegExp(`(^|[^\\w$])(?:NaN|Infinity|0[bB][01]+(?:_[01]+)*n?|0[oO][0-7]+(?:_[0-7]+)*n?|0[xX][\\dA-Fa-f]+(?:_[\\dA-Fa-f]+)*n?|\\d+(?:_\\d+)*n|(?:\\d+(?:_\\d+)*(?:\\.(?:\\d+(?:_\\d+)*)?)?|\\.\\d+(?:_\\d+)*)(?:[Ee][+-]?\\d+(?:_\\d+)*)?)(?![\\w$])`),lookbehind:!0},operator:/--|\+\+|\*\*=?|=>|&&=?|\|\|=?|[!=]==|<<=?|>>>?=?|[-+*/%&|^!=<>]=?|\.{3}|\?\?=?|\?\.?|[~:]/}),e.languages.javascript[`class-name`][0].pattern=/(\b(?:class|extends|implements|instanceof|interface|new)\s+)[\w.\\]+/,e.languages.insertBefore(`javascript`,`keyword`,{regex:{pattern:RegExp(`((?:^|[^$\\w\\xA0-\\uFFFF."'\\])\\s]|\\b(?:return|yield))\\s*)\\/(?:(?:\\[(?:[^\\]\\\\\\r\\n]|\\\\.)*\\]|\\\\.|[^/\\\\\\[\\r\\n])+\\/[dgimyus]{0,7}|(?:\\[(?:[^[\\]\\\\\\r\\n]|\\\\.|\\[(?:[^[\\]\\\\\\r\\n]|\\\\.|\\[(?:[^[\\]\\\\\\r\\n]|\\\\.)*\\])*\\])*\\]|\\\\.|[^/\\\\\\[\\r\\n])+\\/[dgimyus]{0,7}v[dgimyus]{0,7})(?=(?:\\s|\\/\\*(?:[^*]|\\*(?!\\/))*\\*\\/)*(?:$|[\\r\\n,.;:})\\]]|\\/\\/))`),lookbehind:!0,greedy:!0,inside:{"regex-source":{pattern:/^(\/)[\s\S]+(?=\/[a-z]*$)/,lookbehind:!0,alias:`language-regex`,inside:e.languages.regex},"regex-delimiter":/^\/|\/$/,"regex-flags":/^[a-z]+$/}},"function-variable":{pattern:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*[=:]\s*(?:async\s*)?(?:\bfunction\b|(?:\((?:[^()]|\([^()]*\))*\)|(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*)\s*=>))/,alias:`function`},parameter:[{pattern:/(function(?:\s+(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*)?\s*\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\))/,lookbehind:!0,inside:e.languages.javascript},{pattern:/(^|[^$\w\xA0-\uFFFF])(?!\s)[_$a-z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*=>)/i,lookbehind:!0,inside:e.languages.javascript},{pattern:/(\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\)\s*=>)/,lookbehind:!0,inside:e.languages.javascript},{pattern:/((?:\b|\s|^)(?!(?:as|async|await|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally|for|from|function|get|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)(?![$\w\xA0-\uFFFF]))(?:(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*\s*)\(\s*|\]\s*\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\)\s*\{)/,lookbehind:!0,inside:e.languages.javascript}],constant:/\b[A-Z](?:[A-Z_]|\dx?)*\b/}),e.languages.insertBefore(`javascript`,`string`,{hashbang:{pattern:/^#!.*/,greedy:!0,alias:`comment`},"template-string":{pattern:/`(?:\\[\s\S]|\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}|(?!\$\{)[^\\`])*`/,greedy:!0,inside:{"template-punctuation":{pattern:/^`|`$/,alias:`string`},interpolation:{pattern:/((?:^|[^\\])(?:\\{2})*)\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}/,lookbehind:!0,inside:{"interpolation-punctuation":{pattern:/^\$\{|\}$/,alias:`punctuation`},rest:e.languages.javascript}},string:/[\s\S]+/}},"string-property":{pattern:/((?:^|[,{])[ \t]*)(["'])(?:\\(?:\r\n|[\s\S])|(?!\2)[^\\\r\n])*\2(?=\s*:)/m,lookbehind:!0,greedy:!0,alias:`property`}}),e.languages.insertBefore(`javascript`,`operator`,{"literal-property":{pattern:/((?:^|[,{])[ \t]*)(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*:)/m,lookbehind:!0,alias:`property`}}),e.languages.markup&&(e.languages.markup.tag.addInlined(`script`,`javascript`),e.languages.markup.tag.addAttribute(`on(?:abort|blur|change|click|composition(?:end|start|update)|dblclick|error|focus(?:in|out)?|key(?:down|up)|load|mouse(?:down|enter|leave|move|out|over|up)|reset|resize|scroll|select|slotchange|submit|unload|wheel)`,`javascript`)),e.languages.js=e.languages.javascript}yb.displayName=`markup`,yb.aliases=[`atom`,`html`,`mathml`,`rss`,`ssml`,`svg`,`xml`];function yb(e){e.languages.markup={comment:{pattern:/<!--(?:(?!<!--)[\s\S])*?-->/,greedy:!0},prolog:{pattern:/<\?[\s\S]+?\?>/,greedy:!0},doctype:{pattern:/<!DOCTYPE(?:[^>"'[\]]|"[^"]*"|'[^']*')+(?:\[(?:[^<"'\]]|"[^"]*"|'[^']*'|<(?!!--)|<!--(?:[^-]|-(?!->))*-->)*\]\s*)?>/i,greedy:!0,inside:{"internal-subset":{pattern:/(^[^\[]*\[)[\s\S]+(?=\]>$)/,lookbehind:!0,greedy:!0,inside:null},string:{pattern:/"[^"]*"|'[^']*'/,greedy:!0},punctuation:/^<!|>$|[[\]]/,"doctype-tag":/^DOCTYPE/i,name:/[^\s<>'"]+/}},cdata:{pattern:/<!\[CDATA\[[\s\S]*?\]\]>/i,greedy:!0},tag:{pattern:/<\/?(?!\d)[^\s>\/=$<%]+(?:\s(?:\s*[^\s>\/=]+(?:\s*=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+(?=[\s>]))|(?=[\s/>])))+)?\s*\/?>/,greedy:!0,inside:{tag:{pattern:/^<\/?[^\s>\/]+/,inside:{punctuation:/^<\/?/,namespace:/^[^\s>\/:]+:/}},"special-attr":[],"attr-value":{pattern:/=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+)/,inside:{punctuation:[{pattern:/^=/,alias:`attr-equals`},{pattern:/^(\s*)["']|["']$/,lookbehind:!0}]}},punctuation:/\/?>/,"attr-name":{pattern:/[^\s>\/]+/,inside:{namespace:/^[^\s>\/:]+:/}}}},entity:[{pattern:/&[\da-z]{1,8};/i,alias:`named-entity`},/&#x?[\da-f]{1,8};/i]},e.languages.markup.tag.inside[`attr-value`].inside.entity=e.languages.markup.entity,e.languages.markup.doctype.inside[`internal-subset`].inside=e.languages.markup,e.hooks.add(`wrap`,function(e){e.type===`entity`&&(e.attributes.title=e.content.value.replace(/&amp;/,`&`))}),Object.defineProperty(e.languages.markup.tag,`addInlined`,{value:function(t,n){var r={};r[`language-`+n]={pattern:/(^<!\[CDATA\[)[\s\S]+?(?=\]\]>$)/i,lookbehind:!0,inside:e.languages[n]},r.cdata=/^<!\[CDATA\[|\]\]>$/i;var i={"included-cdata":{pattern:/<!\[CDATA\[[\s\S]*?\]\]>/i,inside:r}};i[`language-`+n]={pattern:/[\s\S]+/,inside:e.languages[n]};var a={};a[t]={pattern:RegExp(`(<__[^>]*>)(?:<!\\[CDATA\\[(?:[^\\]]|\\](?!\\]>))*\\]\\]>|(?!<!\\[CDATA\\[)[\\s\\S])*?(?=<\\/__>)`.replace(/__/g,function(){return t}),`i`),lookbehind:!0,greedy:!0,inside:i},e.languages.insertBefore(`markup`,`cdata`,a)}}),Object.defineProperty(e.languages.markup.tag,`addAttribute`,{value:function(t,n){e.languages.markup.tag.inside[`special-attr`].push({pattern:RegExp(`(^|["'\\s])(?:`+t+`)\\s*=\\s*(?:"[^"]*"|'[^']*'|[^\\s'">=]+(?=[\\s>]))`,`i`),lookbehind:!0,inside:{"attr-name":/^[^\s=]+/,"attr-value":{pattern:/=[\s\S]+/,inside:{value:{pattern:/(^=\s*(["']|(?!["'])))\S[\s\S]*(?=\2$)/,lookbehind:!0,alias:[n,`language-`+n],inside:e.languages[n]},punctuation:[{pattern:/^=/,alias:`attr-equals`},/"|'/]}}}})}}),e.languages.html=e.languages.markup,e.languages.mathml=e.languages.markup,e.languages.svg=e.languages.markup,e.languages.xml=e.languages.extend(`markup`,{}),e.languages.ssml=e.languages.xml,e.languages.atom=e.languages.xml,e.languages.rss=e.languages.xml}bb.displayName=`jsx`,bb.aliases=[];function bb(e){e.register(vb),e.register(yb),(function(e){var t=e.util.clone(e.languages.javascript),n=`(?:\\s|\\/\\/.*(?!.)|\\/\\*(?:[^*]|\\*(?!\\/))\\*\\/)`,r=`(?:\\{(?:\\{(?:\\{[^{}]*\\}|[^{}])*\\}|[^{}])*\\})`,i=`(?:\\{<S>*\\.{3}(?:[^{}]|<BRACES>)*\\})`;function a(e,t){return e=e.replace(/<S>/g,function(){return n}).replace(/<BRACES>/g,function(){return r}).replace(/<SPREAD>/g,function(){return i}),RegExp(e,t)}i=a(i).source,e.languages.jsx=e.languages.extend(`markup`,t),e.languages.jsx.tag.pattern=a(`<\\/?(?:[\\w.:-]+(?:<S>+(?:[\\w.:$-]+(?:=(?:"(?:\\\\[\\s\\S]|[^\\\\"])*"|'(?:\\\\[\\s\\S]|[^\\\\'])*'|[^\\s{'"/>=]+|<BRACES>))?|<SPREAD>))*<S>*\\/?)?>`),e.languages.jsx.tag.inside.tag.pattern=/^<\/?[^\s>\/]*/,e.languages.jsx.tag.inside[`attr-value`].pattern=/=(?!\{)(?:"(?:\\[\s\S]|[^\\"])*"|'(?:\\[\s\S]|[^\\'])*'|[^\s'">]+)/,e.languages.jsx.tag.inside.tag.inside[`class-name`]=/^[A-Z]\w*(?:\.[A-Z]\w*)*$/,e.languages.jsx.tag.inside.comment=t.comment,e.languages.insertBefore(`inside`,`attr-name`,{spread:{pattern:a(`<SPREAD>`),inside:e.languages.jsx}},e.languages.jsx.tag),e.languages.insertBefore(`inside`,`special-attr`,{script:{pattern:a(`=<BRACES>`),alias:`language-javascript`,inside:{"script-punctuation":{pattern:/^=(?=\{)/,alias:`punctuation`},rest:e.languages.jsx}}},e.languages.jsx.tag);var o=function(e){return e?typeof e==`string`?e:typeof e.content==`string`?e.content:e.content.map(o).join(``):``},s=function(t){for(var n=[],r=0;r<t.length;r++){var i=t[r],a=!1;if(typeof i!=`string`&&(i.type===`tag`&&i.content[0]&&i.content[0].type===`tag`?i.content[0].content[0].content===`</`?n.length>0&&n[n.length-1].tagName===o(i.content[0].content[1])&&n.pop():i.content[i.content.length-1].content===`/>`||n.push({tagName:o(i.content[0].content[1]),openedBraces:0}):n.length>0&&i.type===`punctuation`&&i.content===`{`?n[n.length-1].openedBraces++:n.length>0&&n[n.length-1].openedBraces>0&&i.type===`punctuation`&&i.content===`}`?n[n.length-1].openedBraces--:a=!0),(a||typeof i==`string`)&&n.length>0&&n[n.length-1].openedBraces===0){var c=o(i);r<t.length-1&&(typeof t[r+1]==`string`||t[r+1].type===`plain-text`)&&(c+=o(t[r+1]),t.splice(r+1,1)),r>0&&(typeof t[r-1]==`string`||t[r-1].type===`plain-text`)&&(c=o(t[r-1])+c,t.splice(r-1,1),r--),t[r]=new e.Token(`plain-text`,c,null,c)}i.content&&typeof i.content!=`string`&&s(i.content)}};e.hooks.add(`after-tokenize`,function(e){e.language!==`jsx`&&e.language!==`tsx`||s(e.tokens)})})(e)}xb.displayName=`typescript`,xb.aliases=[`ts`];function xb(e){e.register(vb),(function(e){e.languages.typescript=e.languages.extend(`javascript`,{"class-name":{pattern:/(\b(?:class|extends|implements|instanceof|interface|new|type)\s+)(?!keyof\b)(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?:\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>)?/,lookbehind:!0,greedy:!0,inside:null},builtin:/\b(?:Array|Function|Promise|any|boolean|console|never|number|string|symbol|unknown)\b/}),e.languages.typescript.keyword.push(/\b(?:abstract|declare|is|keyof|readonly|require)\b/,/\b(?:asserts|infer|interface|module|namespace|type)\b(?=\s*(?:[{_$a-zA-Z\xA0-\uFFFF]|$))/,/\btype\b(?=\s*(?:[\{*]|$))/),delete e.languages.typescript.parameter,delete e.languages.typescript[`literal-property`];var t=e.languages.extend(`typescript`,{});delete t[`class-name`],e.languages.typescript[`class-name`].inside=t,e.languages.insertBefore(`typescript`,`function`,{decorator:{pattern:/@[$\w\xA0-\uFFFF]+/,inside:{at:{pattern:/^@/,alias:`operator`},function:/^[\s\S]+/}},"generic-function":{pattern:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>(?=\s*\()/,greedy:!0,inside:{function:/^#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*/,generic:{pattern:/<[\s\S]+/,alias:`class-name`,inside:t}}}}),e.languages.ts=e.languages.typescript})(e)}Sb.displayName=`tsx`,Sb.aliases=[];function Sb(e){e.register(bb),e.register(xb),(function(e){var t=e.util.clone(e.languages.typescript);e.languages.tsx=e.languages.extend(`jsx`,t),delete e.languages.tsx.parameter,delete e.languages.tsx[`literal-property`];var n=e.languages.tsx.tag;n.pattern=RegExp(`(^|[^\\w$]|(?=<\\/))(?:`+n.pattern.source+`)`,n.pattern.flags),n.lookbehind=!0})(e)}Cb.displayName=`json`,Cb.aliases=[`webmanifest`];function Cb(e){e.languages.json={property:{pattern:/(^|[^\\])"(?:\\.|[^\\"\r\n])*"(?=\s*:)/,lookbehind:!0,greedy:!0},string:{pattern:/(^|[^\\])"(?:\\.|[^\\"\r\n])*"(?!\s*:)/,lookbehind:!0,greedy:!0},comment:{pattern:/\/\/.*|\/\*[\s\S]*?(?:\*\/|$)/,greedy:!0},number:/-?\b\d+(?:\.\d+)?(?:e[+-]?\d+)?\b/i,punctuation:/[{}[\],]/,operator:/:/,boolean:/\b(?:false|true)\b/,null:{pattern:/\bnull\b/,alias:`keyword`}},e.languages.webmanifest=e.languages.json}wb.displayName=`bash`,wb.aliases=[`sh`,`shell`];function wb(e){(function(e){var t=`\\b(?:BASH|BASHOPTS|BASH_ALIASES|BASH_ARGC|BASH_ARGV|BASH_CMDS|BASH_COMPLETION_COMPAT_DIR|BASH_LINENO|BASH_REMATCH|BASH_SOURCE|BASH_VERSINFO|BASH_VERSION|COLORTERM|COLUMNS|COMP_WORDBREAKS|DBUS_SESSION_BUS_ADDRESS|DEFAULTS_PATH|DESKTOP_SESSION|DIRSTACK|DISPLAY|EUID|GDMSESSION|GDM_LANG|GNOME_KEYRING_CONTROL|GNOME_KEYRING_PID|GPG_AGENT_INFO|GROUPS|HISTCONTROL|HISTFILE|HISTFILESIZE|HISTSIZE|HOME|HOSTNAME|HOSTTYPE|IFS|INSTANCE|JOB|LANG|LANGUAGE|LC_ADDRESS|LC_ALL|LC_IDENTIFICATION|LC_MEASUREMENT|LC_MONETARY|LC_NAME|LC_NUMERIC|LC_PAPER|LC_TELEPHONE|LC_TIME|LESSCLOSE|LESSOPEN|LINES|LOGNAME|LS_COLORS|MACHTYPE|MAILCHECK|MANDATORY_PATH|NO_AT_BRIDGE|OLDPWD|OPTERR|OPTIND|ORBIT_SOCKETDIR|OSTYPE|PAPERSIZE|PATH|PIPESTATUS|PPID|PS1|PS2|PS3|PS4|PWD|RANDOM|REPLY|SECONDS|SELINUX_INIT|SESSION|SESSIONTYPE|SESSION_MANAGER|SHELL|SHELLOPTS|SHLVL|SSH_AUTH_SOCK|TERM|UID|UPSTART_EVENTS|UPSTART_INSTANCE|UPSTART_JOB|UPSTART_SESSION|USER|WINDOWID|XAUTHORITY|XDG_CONFIG_DIRS|XDG_CURRENT_DESKTOP|XDG_DATA_DIRS|XDG_GREETER_DATA_DIR|XDG_MENU_PREFIX|XDG_RUNTIME_DIR|XDG_SEAT|XDG_SEAT_PATH|XDG_SESSION_DESKTOP|XDG_SESSION_ID|XDG_SESSION_PATH|XDG_SESSION_TYPE|XDG_VTNR|XMODIFIERS)\\b`,n={pattern:/(^(["']?)\w+\2)[ \t]+\S.*/,lookbehind:!0,alias:`punctuation`,inside:null},r={bash:n,environment:{pattern:RegExp(`\\$`+t),alias:`constant`},variable:[{pattern:/\$?\(\([\s\S]+?\)\)/,greedy:!0,inside:{variable:[{pattern:/(^\$\(\([\s\S]+)\)\)/,lookbehind:!0},/^\$\(\(/],number:/\b0x[\dA-Fa-f]+\b|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:[Ee]-?\d+)?/,operator:/--|\+\+|\*\*=?|<<=?|>>=?|&&|\|\||[=!+\-*/%<>^&|]=?|[?~:]/,punctuation:/\(\(?|\)\)?|,|;/}},{pattern:/\$\((?:\([^)]+\)|[^()])+\)|`[^`]+`/,greedy:!0,inside:{variable:/^\$\(|^`|\)$|`$/}},{pattern:/\$\{[^}]+\}/,greedy:!0,inside:{operator:/:[-=?+]?|[!\/]|##?|%%?|\^\^?|,,?/,punctuation:/[\[\]]/,environment:{pattern:RegExp(`(\\{)`+t),lookbehind:!0,alias:`constant`}}},/\$(?:\w+|[#?*!@$])/],entity:/\\(?:[abceEfnrtv\\"]|O?[0-7]{1,3}|U[0-9a-fA-F]{8}|u[0-9a-fA-F]{4}|x[0-9a-fA-F]{1,2})/};e.languages.bash={shebang:{pattern:/^#!\s*\/.*/,alias:`important`},comment:{pattern:/(^|[^"{\\$])#.*/,lookbehind:!0},"function-name":[{pattern:/(\bfunction\s+)[\w-]+(?=(?:\s*\(?:\s*\))?\s*\{)/,lookbehind:!0,alias:`function`},{pattern:/\b[\w-]+(?=\s*\(\s*\)\s*\{)/,alias:`function`}],"for-or-select":{pattern:/(\b(?:for|select)\s+)\w+(?=\s+in\s)/,alias:`variable`,lookbehind:!0},"assign-left":{pattern:/(^|[\s;|&]|[<>]\()\w+(?:\.\w+)*(?=\+?=)/,inside:{environment:{pattern:RegExp(`(^|[\\s;|&]|[<>]\\()`+t),lookbehind:!0,alias:`constant`}},alias:`variable`,lookbehind:!0},parameter:{pattern:/(^|\s)-{1,2}(?:\w+:[+-]?)?\w+(?:\.\w+)*(?=[=\s]|$)/,alias:`variable`,lookbehind:!0},string:[{pattern:/((?:^|[^<])<<-?\s*)(\w+)\s[\s\S]*?(?:\r?\n|\r)\2/,lookbehind:!0,greedy:!0,inside:r},{pattern:/((?:^|[^<])<<-?\s*)(["'])(\w+)\2\s[\s\S]*?(?:\r?\n|\r)\3/,lookbehind:!0,greedy:!0,inside:{bash:n}},{pattern:/(^|[^\\](?:\\\\)*)"(?:\\[\s\S]|\$\([^)]+\)|\$(?!\()|`[^`]+`|[^"\\`$])*"/,lookbehind:!0,greedy:!0,inside:r},{pattern:/(^|[^$\\])'[^']*'/,lookbehind:!0,greedy:!0},{pattern:/\$'(?:[^'\\]|\\[\s\S])*'/,greedy:!0,inside:{entity:r.entity}}],environment:{pattern:RegExp(`\\$?`+t),alias:`constant`},variable:r.variable,function:{pattern:/(^|[\s;|&]|[<>]\()(?:add|apropos|apt|apt-cache|apt-get|aptitude|aspell|automysqlbackup|awk|basename|bash|bc|bconsole|bg|bzip2|cal|cargo|cat|cfdisk|chgrp|chkconfig|chmod|chown|chroot|cksum|clear|cmp|column|comm|composer|cp|cron|crontab|csplit|curl|cut|date|dc|dd|ddrescue|debootstrap|df|diff|diff3|dig|dir|dircolors|dirname|dirs|dmesg|docker|docker-compose|du|egrep|eject|env|ethtool|expand|expect|expr|fdformat|fdisk|fg|fgrep|file|find|fmt|fold|format|free|fsck|ftp|fuser|gawk|git|gparted|grep|groupadd|groupdel|groupmod|groups|grub-mkconfig|gzip|halt|head|hg|history|host|hostname|htop|iconv|id|ifconfig|ifdown|ifup|import|install|ip|java|jobs|join|kill|killall|less|link|ln|locate|logname|logrotate|look|lpc|lpr|lprint|lprintd|lprintq|lprm|ls|lsof|lynx|make|man|mc|mdadm|mkconfig|mkdir|mke2fs|mkfifo|mkfs|mkisofs|mknod|mkswap|mmv|more|most|mount|mtools|mtr|mutt|mv|nano|nc|netstat|nice|nl|node|nohup|notify-send|npm|nslookup|op|open|parted|passwd|paste|pathchk|ping|pkill|pnpm|podman|podman-compose|popd|pr|printcap|printenv|ps|pushd|pv|quota|quotacheck|quotactl|ram|rar|rcp|reboot|remsync|rename|renice|rev|rm|rmdir|rpm|rsync|scp|screen|sdiff|sed|sendmail|seq|service|sftp|sh|shellcheck|shuf|shutdown|sleep|slocate|sort|split|ssh|stat|strace|su|sudo|sum|suspend|swapon|sync|sysctl|tac|tail|tar|tee|time|timeout|top|touch|tr|traceroute|tsort|tty|umount|uname|unexpand|uniq|units|unrar|unshar|unzip|update-grub|uptime|useradd|userdel|usermod|users|uudecode|uuencode|v|vcpkg|vdir|vi|vim|virsh|vmstat|wait|watch|wc|wget|whereis|which|who|whoami|write|xargs|xdg-open|yarn|yes|zenity|zip|zsh|zypper)(?=$|[)\s;|&])/,lookbehind:!0},keyword:{pattern:/(^|[\s;|&]|[<>]\()(?:case|do|done|elif|else|esac|fi|for|function|if|in|select|then|until|while)(?=$|[)\s;|&])/,lookbehind:!0},builtin:{pattern:/(^|[\s;|&]|[<>]\()(?:\.|:|alias|bind|break|builtin|caller|cd|command|continue|declare|echo|enable|eval|exec|exit|export|getopts|hash|help|let|local|logout|mapfile|printf|pwd|read|readarray|readonly|return|set|shift|shopt|source|test|times|trap|type|typeset|ulimit|umask|unalias|unset)(?=$|[)\s;|&])/,lookbehind:!0,alias:`class-name`},boolean:{pattern:/(^|[\s;|&]|[<>]\()(?:false|true)(?=$|[)\s;|&])/,lookbehind:!0},"file-descriptor":{pattern:/\B&\d\b/,alias:`important`},operator:{pattern:/\d?<>|>\||\+=|=[=~]?|!=?|<<[<-]?|[&\d]?>>|\d[<>]&?|[<>][&=]?|&[>&]?|\|[&|]?/,inside:{"file-descriptor":{pattern:/^\d/,alias:`important`}}},punctuation:/\$?\(\(?|\)\)?|\.\.|[{}[\];\\]/,number:{pattern:/(^|\s)(?:[1-9]\d*|0)(?:[.,]\d+)?\b/,lookbehind:!0}},n.inside=e.languages.bash;for(var i=[`comment`,`function-name`,`for-or-select`,`assign-left`,`parameter`,`string`,`environment`,`function`,`keyword`,`builtin`,`boolean`,`file-descriptor`,`operator`,`punctuation`,`number`],a=r.variable[1].inside,o=0;o<i.length;o++)a[i[o]]=e.languages.bash[i[o]];e.languages.sh=e.languages.bash,e.languages.shell=e.languages.bash})(e)}Tb.displayName=`python`,Tb.aliases=[`py`];function Tb(e){e.languages.python={comment:{pattern:/(^|[^\\])#.*/,lookbehind:!0,greedy:!0},"string-interpolation":{pattern:/(?:f|fr|rf)(?:("""|''')[\s\S]*?\1|("|')(?:\\.|(?!\2)[^\\\r\n])*\2)/i,greedy:!0,inside:{interpolation:{pattern:/((?:^|[^{])(?:\{\{)*)\{(?!\{)(?:[^{}]|\{(?!\{)(?:[^{}]|\{(?!\{)(?:[^{}])+\})+\})+\}/,lookbehind:!0,inside:{"format-spec":{pattern:/(:)[^:(){}]+(?=\}$)/,lookbehind:!0},"conversion-option":{pattern:/![sra](?=[:}]$)/,alias:`punctuation`},rest:null}},string:/[\s\S]+/}},"triple-quoted-string":{pattern:/(?:[rub]|br|rb)?("""|''')[\s\S]*?\1/i,greedy:!0,alias:`string`},string:{pattern:/(?:[rub]|br|rb)?("|')(?:\\.|(?!\1)[^\\\r\n])*\1/i,greedy:!0},function:{pattern:/((?:^|\s)def[ \t]+)[a-zA-Z_]\w*(?=\s*\()/g,lookbehind:!0},"class-name":{pattern:/(\bclass\s+)\w+/i,lookbehind:!0},decorator:{pattern:/(^[\t ]*)@\w+(?:\.\w+)*/m,lookbehind:!0,alias:[`annotation`,`punctuation`],inside:{punctuation:/\./}},keyword:/\b(?:_(?=\s*:)|and|as|assert|async|await|break|case|class|continue|def|del|elif|else|except|exec|finally|for|from|global|if|import|in|is|lambda|match|nonlocal|not|or|pass|print|raise|return|try|while|with|yield)\b/,builtin:/\b(?:__import__|abs|all|any|apply|ascii|basestring|bin|bool|buffer|bytearray|bytes|callable|chr|classmethod|cmp|coerce|compile|complex|delattr|dict|dir|divmod|enumerate|eval|execfile|file|filter|float|format|frozenset|getattr|globals|hasattr|hash|help|hex|id|input|int|intern|isinstance|issubclass|iter|len|list|locals|long|map|max|memoryview|min|next|object|oct|open|ord|pow|property|range|raw_input|reduce|reload|repr|reversed|round|set|setattr|slice|sorted|staticmethod|str|sum|super|tuple|type|unichr|unicode|vars|xrange|zip)\b/,boolean:/\b(?:False|None|True)\b/,number:/\b0(?:b(?:_?[01])+|o(?:_?[0-7])+|x(?:_?[a-f0-9])+)\b|(?:\b\d+(?:_\d+)*(?:\.(?:\d+(?:_\d+)*)?)?|\B\.\d+(?:_\d+)*)(?:e[+-]?\d+(?:_\d+)*)?j?(?!\w)/i,operator:/[-+%=]=?|!=|:=|\*\*?=?|\/\/?=?|<[<=>]?|>[=>]?|[&|^~]/,punctuation:/[{}[\];(),.:]/},e.languages.python[`string-interpolation`].inside.interpolation.inside.rest=e.languages.python,e.languages.py=e.languages.python}Eb.displayName=`css`,Eb.aliases=[];function Eb(e){(function(e){var t=/(?:"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"|'(?:\\(?:\r\n|[\s\S])|[^'\\\r\n])*')/;e.languages.css={comment:/\/\*[\s\S]*?\*\//,atrule:{pattern:RegExp(`@[\\w-](?:[^;{\\s"']|\\s+(?!\\s)|`+t.source+`)*?(?:;|(?=\\s*\\{))`),inside:{rule:/^@[\w-]+/,"selector-function-argument":{pattern:/(\bselector\s*\(\s*(?![\s)]))(?:[^()\s]|\s+(?![\s)])|\((?:[^()]|\([^()]*\))*\))+(?=\s*\))/,lookbehind:!0,alias:`selector`},keyword:{pattern:/(^|[^\w-])(?:and|not|only|or)(?![\w-])/,lookbehind:!0}}},url:{pattern:RegExp(`\\burl\\((?:`+t.source+`|(?:[^\\\\\\r\\n()"']|\\\\[\\s\\S])*)\\)`,`i`),greedy:!0,inside:{function:/^url/i,punctuation:/^\(|\)$/,string:{pattern:RegExp(`^`+t.source+`$`),alias:`url`}}},selector:{pattern:RegExp(`(^|[{}\\s])[^{}\\s](?:[^{};"'\\s]|\\s+(?![\\s{])|`+t.source+`)*(?=\\s*\\{)`),lookbehind:!0},string:{pattern:t,greedy:!0},property:{pattern:/(^|[^-\w\xA0-\uFFFF])(?!\s)[-_a-z\xA0-\uFFFF](?:(?!\s)[-\w\xA0-\uFFFF])*(?=\s*:)/i,lookbehind:!0},important:/!important\b/i,function:{pattern:/(^|[^-a-z0-9])[-a-z0-9]+(?=\()/i,lookbehind:!0},punctuation:/[(){};:,]/},e.languages.css.atrule.inside.rest=e.languages.css;var n=e.languages.markup;n&&(n.tag.addInlined(`style`,`css`),n.tag.addAttribute(`style`,`css`))})(e)}Db.displayName=`diff`,Db.aliases=[];function Db(e){(function(e){e.languages.diff={coord:[/^(?:\*{3}|-{3}|\+{3}).*$/m,/^@@.*@@$/m,/^\d.*$/m]};var t={"deleted-sign":`-`,"deleted-arrow":`<`,"inserted-sign":`+`,"inserted-arrow":`>`,unchanged:` `,diff:`!`};Object.keys(t).forEach(function(n){var r=t[n],i=[];/^\w+$/.test(n)||i.push(/\w+/.exec(n)[0]),n===`diff`&&i.push(`bold`),e.languages.diff[n]={pattern:RegExp(`^(?:[`+r+`].*(?:\r
47
47
  ?|
48
- |(?![\\s\\S])))+`,`m`),alias:i,inside:{line:{pattern:/(.)(?=[\s\S]).*(?:\r\n?|\n)?/,lookbehind:!0},prefix:{pattern:/[\s\S]/,alias:/\w+/.exec(n)[0]}}}}),Object.defineProperty(e.languages.diff,`PREFIXES`,{value:t})})(e)}Ob.displayName=`markdown`,Ob.aliases=[`md`];function Ob(e){e.register(yb),(function(e){var t=`(?:\\\\.|[^\\\\\\n\\r]|(?:\\n|\\r\\n?)(?![\\r\\n]))`;function n(e){return e=e.replace(/<inner>/g,function(){return t}),RegExp(`((?:^|[^\\\\])(?:\\\\{2})*)(?:`+e+`)`)}var r="(?:\\\\.|``(?:[^`\\r\\n]|`(?!`))+``|`[^`\\r\\n]+`|[^\\\\|\\r\\n`])+",i=`\\|?__(?:\\|__)+\\|?(?:(?:\\n|\\r\\n?)|(?![\\s\\S]))`.replace(/__/g,function(){return r}),a=`\\|?[ \\t]*:?-{3,}:?[ \\t]*(?:\\|[ \\t]*:?-{3,}:?[ \\t]*)+\\|?(?:\\n|\\r\\n?)`;e.languages.markdown=e.languages.extend(`markup`,{}),e.languages.insertBefore(`markdown`,`prolog`,{"front-matter-block":{pattern:/(^(?:\s*[\r\n])?)---(?!.)[\s\S]*?[\r\n]---(?!.)/,lookbehind:!0,greedy:!0,inside:{punctuation:/^---|---$/,"front-matter":{pattern:/\S+(?:\s+\S+)*/,alias:[`yaml`,`language-yaml`],inside:e.languages.yaml}}},blockquote:{pattern:/^>(?:[\t ]*>)*/m,alias:`punctuation`},table:{pattern:RegExp(`^`+i+a+`(?:`+i+`)*`,`m`),inside:{"table-data-rows":{pattern:RegExp(`^(`+i+a+`)(?:`+i+`)*$`),lookbehind:!0,inside:{"table-data":{pattern:RegExp(r),inside:e.languages.markdown},punctuation:/\|/}},"table-line":{pattern:RegExp(`^(`+i+`)`+a+`$`),lookbehind:!0,inside:{punctuation:/\||:?-{3,}:?/}},"table-header-row":{pattern:RegExp(`^`+i+`$`),inside:{"table-header":{pattern:RegExp(r),alias:`important`,inside:e.languages.markdown},punctuation:/\|/}}}},code:[{pattern:/((?:^|\n)[ \t]*\n|(?:^|\r\n?)[ \t]*\r\n?)(?: {4}|\t).+(?:(?:\n|\r\n?)(?: {4}|\t).+)*/,lookbehind:!0,alias:`keyword`},{pattern:/^```[\s\S]*?^```$/m,greedy:!0,inside:{"code-block":{pattern:/^(```.*(?:\n|\r\n?))[\s\S]+?(?=(?:\n|\r\n?)^```$)/m,lookbehind:!0},"code-language":{pattern:/^(```).+/,lookbehind:!0},punctuation:/```/}}],title:[{pattern:/\S.*(?:\n|\r\n?)(?:==+|--+)(?=[ \t]*$)/m,alias:`important`,inside:{punctuation:/==+$|--+$/}},{pattern:/(^\s*)#.+/m,lookbehind:!0,alias:`important`,inside:{punctuation:/^#+|#+$/}}],hr:{pattern:/(^\s*)([*-])(?:[\t ]*\2){2,}(?=\s*$)/m,lookbehind:!0,alias:`punctuation`},list:{pattern:/(^\s*)(?:[*+-]|\d+\.)(?=[\t ].)/m,lookbehind:!0,alias:`punctuation`},"url-reference":{pattern:/!?\[[^\]]+\]:[\t ]+(?:\S+|<(?:\\.|[^>\\])+>)(?:[\t ]+(?:"(?:\\.|[^"\\])*"|'(?:\\.|[^'\\])*'|\((?:\\.|[^)\\])*\)))?/,inside:{variable:{pattern:/^(!?\[)[^\]]+/,lookbehind:!0},string:/(?:"(?:\\.|[^"\\])*"|'(?:\\.|[^'\\])*'|\((?:\\.|[^)\\])*\))$/,punctuation:/^[\[\]!:]|[<>]/},alias:`url`},bold:{pattern:n(`\\b__(?:(?!_)<inner>|_(?:(?!_)<inner>)+_)+__\\b|\\*\\*(?:(?!\\*)<inner>|\\*(?:(?!\\*)<inner>)+\\*)+\\*\\*`),lookbehind:!0,greedy:!0,inside:{content:{pattern:/(^..)[\s\S]+(?=..$)/,lookbehind:!0,inside:{}},punctuation:/\*\*|__/}},italic:{pattern:n(`\\b_(?:(?!_)<inner>|__(?:(?!_)<inner>)+__)+_\\b|\\*(?:(?!\\*)<inner>|\\*\\*(?:(?!\\*)<inner>)+\\*\\*)+\\*`),lookbehind:!0,greedy:!0,inside:{content:{pattern:/(^.)[\s\S]+(?=.$)/,lookbehind:!0,inside:{}},punctuation:/[*_]/}},strike:{pattern:n(`(~~?)(?:(?!~)<inner>)+\\2`),lookbehind:!0,greedy:!0,inside:{content:{pattern:/(^~~?)[\s\S]+(?=\1$)/,lookbehind:!0,inside:{}},punctuation:/~~?/}},"code-snippet":{pattern:/(^|[^\\`])(?:``[^`\r\n]+(?:`[^`\r\n]+)*``(?!`)|`[^`\r\n]+`(?!`))/,lookbehind:!0,greedy:!0,alias:[`code`,`keyword`]},url:{pattern:n(`!?\\[(?:(?!\\])<inner>)+\\](?:\\([^\\s)]+(?:[\\t ]+"(?:\\\\.|[^"\\\\])*")?\\)|[ \\t]?\\[(?:(?!\\])<inner>)+\\])`),lookbehind:!0,greedy:!0,inside:{operator:/^!/,content:{pattern:/(^\[)[^\]]+(?=\])/,lookbehind:!0,inside:{}},variable:{pattern:/(^\][ \t]?\[)[^\]]+(?=\]$)/,lookbehind:!0},url:{pattern:/(^\]\()[^\s)]+/,lookbehind:!0},string:{pattern:/(^[ \t]+)"(?:\\.|[^"\\])*"(?=\)$)/,lookbehind:!0}}}}),[`url`,`bold`,`italic`,`strike`].forEach(function(t){[`url`,`bold`,`italic`,`strike`,`code-snippet`].forEach(function(n){t!==n&&(e.languages.markdown[t].inside.content.inside[n]=e.languages.markdown[n])})}),e.hooks.add(`after-tokenize`,function(e){if(e.language!==`markdown`&&e.language!==`md`)return;function t(e){if(!(!e||typeof e==`string`))for(var n=0,r=e.length;n<r;n++){var i=e[n];if(i.type!==`code`){t(i.content);continue}var a=i.content[1],o=i.content[3];if(a&&o&&a.type===`code-language`&&o.type===`code-block`&&typeof a.content==`string`){var s=a.content.replace(/\b#/g,`sharp`).replace(/\b\+\+/g,`pp`);s=(/[a-z][\w-]*/i.exec(s)||[``])[0].toLowerCase();var c=`language-`+s;o.alias?typeof o.alias==`string`?o.alias=[o.alias,c]:o.alias.push(c):o.alias=[c]}}}t(e.tokens)}),e.hooks.add(`wrap`,function(t){if(t.type===`code-block`){for(var n=``,r=0,i=t.classes.length;r<i;r++){var a=t.classes[r],o=/language-(.+)/.exec(a);if(o){n=o[1];break}}var s=e.languages[n];if(s)t.content=e.highlight(t.content.value,s,n);else if(n&&n!==`none`&&e.plugins.autoloader){var c=`md-`+new Date().valueOf()+`-`+Math.floor(Math.random()*0x2386f26fc10000);t.attributes.id=c,e.plugins.autoloader.loadLanguages(n,function(){var t=document.getElementById(c);t&&(t.innerHTML=e.highlight(t.textContent,e.languages[n],n))})}}}),RegExp(e.languages.markup.tag.pattern.source,`gi`),String.fromCodePoint||String.fromCharCode,e.languages.md=e.languages.markdown})(e)}kb.displayName=`yaml`,kb.aliases=[`yml`];function kb(e){(function(e){var t=/[*&][^\s[\]{},]+/,n=/!(?:<[\w\-%#;/?:@&=+$,.!~*'()[\]]+>|(?:[a-zA-Z\d-]*!)?[\w\-%#;/?:@&=+$.~*'()]+)?/,r=`(?:`+n.source+`(?:[ ]+`+t.source+`)?|`+t.source+`(?:[ ]+`+n.source+`)?)`,i=`(?:[^\\s\\x00-\\x08\\x0e-\\x1f!"#%&'*,\\-:>?@[\\]\`{|}\\x7f-\\x84\\x86-\\x9f\\ud800-\\udfff\\ufffe\\uffff]|[?:-]<PLAIN>)(?:[ \\t]*(?:(?![#:])<PLAIN>|:<PLAIN>))*`.replace(/<PLAIN>/g,function(){return`[^\\s\\x00-\\x08\\x0e-\\x1f,[\\]{}\\x7f-\\x84\\x86-\\x9f\\ud800-\\udfff\\ufffe\\uffff]`}),a=`"(?:[^"\\\\\\r\\n]|\\\\.)*"|'(?:[^'\\\\\\r\\n]|\\\\.)*'`;function o(e,t){t=(t||``).replace(/m/g,``)+`m`;var n=`([:\\-,[{]\\s*(?:\\s<<prop>>[ \\t]+)?)(?:<<value>>)(?=[ \\t]*(?:$|,|\\]|\\}|(?:[\\r\\n]\\s*)?#))`.replace(/<<prop>>/g,function(){return r}).replace(/<<value>>/g,function(){return e});return RegExp(n,t)}e.languages.yaml={scalar:{pattern:RegExp(`([\\-:]\\s*(?:\\s<<prop>>[ \\t]+)?[|>])[ \\t]*(?:((?:\\r?\\n|\\r)[ \\t]+)\\S[^\\r\\n]*(?:\\2[^\\r\\n]+)*)`.replace(/<<prop>>/g,function(){return r})),lookbehind:!0,alias:`string`},comment:/#.*/,key:{pattern:RegExp(`((?:^|[:\\-,[{\\r\\n?])[ \\t]*(?:<<prop>>[ \\t]+)?)<<key>>(?=\\s*:\\s)`.replace(/<<prop>>/g,function(){return r}).replace(/<<key>>/g,function(){return`(?:`+i+`|`+a+`)`})),lookbehind:!0,greedy:!0,alias:`atrule`},directive:{pattern:/(^[ \t]*)%.+/m,lookbehind:!0,alias:`important`},datetime:{pattern:o(`\\d{4}-\\d\\d?-\\d\\d?(?:[tT]|[ \\t]+)\\d\\d?:\\d{2}:\\d{2}(?:\\.\\d*)?(?:[ \\t]*(?:Z|[-+]\\d\\d?(?::\\d{2})?))?|\\d{4}-\\d{2}-\\d{2}|\\d\\d?:\\d{2}(?::\\d{2}(?:\\.\\d*)?)?`),lookbehind:!0,alias:`number`},boolean:{pattern:o(`false|true`,`i`),lookbehind:!0,alias:`important`},null:{pattern:o(`null|~`,`i`),lookbehind:!0,alias:`important`},string:{pattern:o(a),lookbehind:!0,greedy:!0},number:{pattern:o(`[+-]?(?:0x[\\da-f]+|0o[0-7]+|(?:\\d+(?:\\.\\d*)?|\\.\\d+)(?:e[+-]?\\d+)?|\\.inf|\\.nan)`,`i`),lookbehind:!0},tag:n,important:t,punctuation:/---|[:[\]{}\-,|>?]|\.\.\./},e.languages.yml=e.languages.yaml})(e)}function Ab(){let[e,t]=(0,_.useState)(!1),n=(0,_.useRef)(null),r=(0,_.useRef)(!0);return(0,_.useEffect)(()=>()=>{r.current=!1,n.current!=null&&window.clearTimeout(n.current)},[]),{copied:e,copy:(0,_.useCallback)(e=>{let i=()=>{r.current&&(t(!0),n.current!=null&&window.clearTimeout(n.current),n.current=window.setTimeout(()=>{t(!1),n.current=null},1100))};if(navigator.clipboard?.writeText){navigator.clipboard.writeText(e).then(i).catch(()=>{});return}try{let t=document.createElement(`textarea`);t.value=e,t.style.position=`fixed`,t.style.opacity=`0`,document.body.appendChild(t),t.select(),document.execCommand(`copy`),document.body.removeChild(t),i()}catch{}},[])}}function jb({children:e,...t}){return(0,H.jsx)(`svg`,{className:`conv-ico`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:2,strokeLinecap:`round`,strokeLinejoin:`round`,"aria-hidden":`true`,...t,children:e})}function Mb(){return(0,H.jsx)(jb,{children:(0,H.jsx)(`path`,{d:`M9 18h6M10 22h4M12 2a7 7 0 0 0-4 12.7c.6.5 1 1.3 1 2.1h6c0-.8.4-1.6 1-2.1A7 7 0 0 0 12 2Z`})})}function Nb(){return(0,H.jsxs)(jb,{children:[(0,H.jsx)(`path`,{d:`M3 7l9-4 9 4-9 4-9-4Z`}),(0,H.jsx)(`path`,{d:`M3 7v10l9 4 9-4V7`})]})}function Pb(){return(0,H.jsxs)(jb,{children:[(0,H.jsx)(`circle`,{cx:`12`,cy:`7`,r:`3`}),(0,H.jsx)(`path`,{d:`M5.5 21a6.5 6.5 0 0 1 13 0`}),(0,H.jsx)(`path`,{d:`M19 8.5 21 7M19 11l2.4.6`})]})}function Fb(){return(0,H.jsx)(jb,{children:(0,H.jsx)(`path`,{d:`M4 6h16M4 12h16M4 18h10`})})}function Ib(){return(0,H.jsx)(jb,{children:(0,H.jsx)(`path`,{d:`M15.5 3.5a2 2 0 1 0-3.9.5H8a1 1 0 0 0-1 1v3.6a2 2 0 1 1 0 3.8V19a1 1 0 0 0 1 1h3.6a2 2 0 1 0 3.8 0H19a1 1 0 0 0 1-1v-3.6a2 2 0 1 1 0-3.8V5a1 1 0 0 0-1-1h-3.5Z`})})}function Lb(){return(0,H.jsxs)(jb,{children:[(0,H.jsx)(`path`,{d:`M14 3H7a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h6`}),(0,H.jsx)(`path`,{d:`M14 3v5h5`}),(0,H.jsx)(`circle`,{cx:`16.5`,cy:`16.5`,r:`3`}),(0,H.jsx)(`path`,{d:`M21 21l-2.1-2.1`})]})}function Rb(){return(0,H.jsxs)(jb,{children:[(0,H.jsx)(`path`,{d:`M12 20h9`}),(0,H.jsx)(`path`,{d:`M16.5 3.5a2.1 2.1 0 0 1 3 3L7 19l-4 1 1-4Z`})]})}function zb(){return(0,H.jsxs)(jb,{children:[(0,H.jsx)(`path`,{d:`M4 6l5 6-5 6`}),(0,H.jsx)(`path`,{d:`M12 18h8`})]})}function Bb(){return(0,H.jsxs)(jb,{children:[(0,H.jsx)(`circle`,{cx:`12`,cy:`12`,r:`9`}),(0,H.jsx)(`path`,{d:`M3 12h18M12 3c2.5 2.5 2.5 15.5 0 18M12 3c-2.5 2.5-2.5 15.5 0 18`})]})}function Vb(){return(0,H.jsxs)(jb,{children:[(0,H.jsx)(`path`,{d:`M9 6h11M9 12h11M9 18h11`}),(0,H.jsx)(`path`,{d:`M4 6l1 1 2-2M4 12l1 1 2-2M4 18l1 1 2-2`})]})}function Hb(){return(0,H.jsxs)(jb,{children:[(0,H.jsx)(`path`,{d:`M4 14v4a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-4`}),(0,H.jsx)(`path`,{d:`M12 3v11M8 10l4 4 4-4`})]})}function Ub(){return(0,H.jsxs)(jb,{children:[(0,H.jsx)(`path`,{d:`M9 10l-5 5 5 5`}),(0,H.jsx)(`path`,{d:`M4 15h11a5 5 0 0 0 5-5V4`})]})}function Wb(){return(0,H.jsxs)(jb,{children:[(0,H.jsx)(`rect`,{x:`3`,y:`3`,width:`18`,height:`18`,rx:`2`}),(0,H.jsx)(`circle`,{cx:`8.5`,cy:`8.5`,r:`1.5`}),(0,H.jsx)(`path`,{d:`M21 15l-5-5L5 21`})]})}function Gb(){return(0,H.jsxs)(jb,{children:[(0,H.jsx)(`path`,{d:`M14 3H7a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V8Z`}),(0,H.jsx)(`path`,{d:`M14 3v5h5`})]})}function Kb(){return(0,H.jsxs)(jb,{children:[(0,H.jsx)(`rect`,{x:`9`,y:`9`,width:`11`,height:`11`,rx:`2`}),(0,H.jsx)(`path`,{d:`M5 15V5a2 2 0 0 1 2-2h8`})]})}function qb(){return(0,H.jsx)(jb,{children:(0,H.jsx)(`path`,{d:`M5 13l4 4 10-10`})})}function Jb(){return(0,H.jsx)(jb,{children:(0,H.jsx)(`path`,{d:`M6 4h12M6 20h12M8 4c0 4 8 6 8 8s-8 4-8 8M16 4c0 4-8 6-8 8`})})}function Yb(){return(0,H.jsxs)(jb,{children:[(0,H.jsx)(`path`,{d:`M12 3l9 16H3Z`}),(0,H.jsx)(`path`,{d:`M12 9v5M12 17v.5`})]})}function Xb(){return(0,H.jsx)(jb,{children:(0,H.jsx)(`path`,{d:`M21 12a8 8 0 0 1-11.6 7.1L3 21l1.9-6.4A8 8 0 1 1 21 12Z`})})}function Zb(e){let t=(e??``).toLowerCase();return t===`read`||t===`grep`||t===`glob`||t===`ls`?(0,H.jsx)(Lb,{}):t===`edit`||t===`write`||t===`notebookedit`||t===`multiedit`?(0,H.jsx)(Rb,{}):t===`bash`?(0,H.jsx)(zb,{}):t===`task`||t===`agent`?(0,H.jsx)(Pb,{}):t===`skill`?(0,H.jsx)(Ib,{}):t===`webfetch`||t===`websearch`?(0,H.jsx)(Bb,{}):t===`todowrite`||t===`taskcreate`?(0,H.jsx)(Vb,{}):(0,H.jsx)(Nb,{})}function Qb({text:e,className:t}){let{copied:n,copy:r}=Ab();return(0,H.jsx)(`button`,{type:`button`,className:`conv-copy-btn ${t??``}`.trim(),"aria-label":n?`Copied`:`Copy`,onClick:t=>{t.stopPropagation(),r(e)},children:n?(0,H.jsx)(qb,{}):(0,H.jsx)(Kb,{})})}[xb,Sb,vb,bb,Cb,wb,Tb,Eb,Db,Ob,kb].forEach(e=>cb.register(e));var $b={ts:`typescript`,js:`javascript`,sh:`bash`,shell:`bash`,yml:`yaml`,py:`python`};function ex(e){let t=$b[e]??e;return cb.registered(t)}function tx(e,t){let n=$b[t]??t;if(cb.registered(n))try{return $u(cb.highlight(e,n),{Fragment:H.Fragment,jsx:H.jsx,jsxs:H.jsxs})}catch{return e}return e}function nx({lang:e,filename:t,code:n}){return(0,H.jsxs)(`div`,{className:`codeblock`,children:[(0,H.jsxs)(`div`,{className:`cb-head`,children:[(0,H.jsx)(`span`,{className:`cb-lang`,children:e}),t&&(0,H.jsx)(`span`,{className:`cb-file`,children:t}),(0,H.jsx)(Qb,{text:n,className:`cb-copy`})]}),(0,H.jsx)(`pre`,{className:`conv-code conv-code--hl`,children:tx(n,e)})]})}function rx({href:e,children:t,...n}){return(0,H.jsx)(`a`,{...n,href:e,target:`_blank`,rel:`noopener noreferrer`,children:t})}function ix(e){return(e?.children??[]).map(e=>e.type===`text`?e.value:``).join(``)}function ax({node:e,children:t}){let n=e?.children?.find(e=>e.type===`element`&&e.tagName===`code`),r=n?.properties?.className,i=Array.isArray(r)?r.join(` `):String(r??``),a=/language-(\w+)/.exec(i)?.[1];return a&&ex(a)?(0,H.jsx)(nx,{lang:a,filename:void 0,code:ix(n)}):(0,H.jsx)(`pre`,{className:`conv-code`,children:t})}function ox({children:e}){return(0,H.jsx)(`div`,{className:`md`,children:(0,H.jsx)(wg,{remarkPlugins:[Oy],components:{a:rx,pre:ax},children:e})})}function sx(e){return e.split(`
49
- `).map(e=>{let t=/^\s*(\d+)\t(.*)$/.exec(e);return t?{num:t[1],content:t[2]}:{num:``,content:e}})}function cx({code:e,lang:t}){let n=sx(e);if(!n.some(e=>e.num))return(0,H.jsx)(`pre`,{className:`conv-code conv-code--result`,children:e});let r=n.map(e=>e.content).join(`
48
+ |(?![\\s\\S])))+`,`m`),alias:i,inside:{line:{pattern:/(.)(?=[\s\S]).*(?:\r\n?|\n)?/,lookbehind:!0},prefix:{pattern:/[\s\S]/,alias:/\w+/.exec(n)[0]}}}}),Object.defineProperty(e.languages.diff,`PREFIXES`,{value:t})})(e)}Ob.displayName=`markdown`,Ob.aliases=[`md`];function Ob(e){e.register(yb),(function(e){var t=`(?:\\\\.|[^\\\\\\n\\r]|(?:\\n|\\r\\n?)(?![\\r\\n]))`;function n(e){return e=e.replace(/<inner>/g,function(){return t}),RegExp(`((?:^|[^\\\\])(?:\\\\{2})*)(?:`+e+`)`)}var r="(?:\\\\.|``(?:[^`\\r\\n]|`(?!`))+``|`[^`\\r\\n]+`|[^\\\\|\\r\\n`])+",i=`\\|?__(?:\\|__)+\\|?(?:(?:\\n|\\r\\n?)|(?![\\s\\S]))`.replace(/__/g,function(){return r}),a=`\\|?[ \\t]*:?-{3,}:?[ \\t]*(?:\\|[ \\t]*:?-{3,}:?[ \\t]*)+\\|?(?:\\n|\\r\\n?)`;e.languages.markdown=e.languages.extend(`markup`,{}),e.languages.insertBefore(`markdown`,`prolog`,{"front-matter-block":{pattern:/(^(?:\s*[\r\n])?)---(?!.)[\s\S]*?[\r\n]---(?!.)/,lookbehind:!0,greedy:!0,inside:{punctuation:/^---|---$/,"front-matter":{pattern:/\S+(?:\s+\S+)*/,alias:[`yaml`,`language-yaml`],inside:e.languages.yaml}}},blockquote:{pattern:/^>(?:[\t ]*>)*/m,alias:`punctuation`},table:{pattern:RegExp(`^`+i+a+`(?:`+i+`)*`,`m`),inside:{"table-data-rows":{pattern:RegExp(`^(`+i+a+`)(?:`+i+`)*$`),lookbehind:!0,inside:{"table-data":{pattern:RegExp(r),inside:e.languages.markdown},punctuation:/\|/}},"table-line":{pattern:RegExp(`^(`+i+`)`+a+`$`),lookbehind:!0,inside:{punctuation:/\||:?-{3,}:?/}},"table-header-row":{pattern:RegExp(`^`+i+`$`),inside:{"table-header":{pattern:RegExp(r),alias:`important`,inside:e.languages.markdown},punctuation:/\|/}}}},code:[{pattern:/((?:^|\n)[ \t]*\n|(?:^|\r\n?)[ \t]*\r\n?)(?: {4}|\t).+(?:(?:\n|\r\n?)(?: {4}|\t).+)*/,lookbehind:!0,alias:`keyword`},{pattern:/^```[\s\S]*?^```$/m,greedy:!0,inside:{"code-block":{pattern:/^(```.*(?:\n|\r\n?))[\s\S]+?(?=(?:\n|\r\n?)^```$)/m,lookbehind:!0},"code-language":{pattern:/^(```).+/,lookbehind:!0},punctuation:/```/}}],title:[{pattern:/\S.*(?:\n|\r\n?)(?:==+|--+)(?=[ \t]*$)/m,alias:`important`,inside:{punctuation:/==+$|--+$/}},{pattern:/(^\s*)#.+/m,lookbehind:!0,alias:`important`,inside:{punctuation:/^#+|#+$/}}],hr:{pattern:/(^\s*)([*-])(?:[\t ]*\2){2,}(?=\s*$)/m,lookbehind:!0,alias:`punctuation`},list:{pattern:/(^\s*)(?:[*+-]|\d+\.)(?=[\t ].)/m,lookbehind:!0,alias:`punctuation`},"url-reference":{pattern:/!?\[[^\]]+\]:[\t ]+(?:\S+|<(?:\\.|[^>\\])+>)(?:[\t ]+(?:"(?:\\.|[^"\\])*"|'(?:\\.|[^'\\])*'|\((?:\\.|[^)\\])*\)))?/,inside:{variable:{pattern:/^(!?\[)[^\]]+/,lookbehind:!0},string:/(?:"(?:\\.|[^"\\])*"|'(?:\\.|[^'\\])*'|\((?:\\.|[^)\\])*\))$/,punctuation:/^[\[\]!:]|[<>]/},alias:`url`},bold:{pattern:n(`\\b__(?:(?!_)<inner>|_(?:(?!_)<inner>)+_)+__\\b|\\*\\*(?:(?!\\*)<inner>|\\*(?:(?!\\*)<inner>)+\\*)+\\*\\*`),lookbehind:!0,greedy:!0,inside:{content:{pattern:/(^..)[\s\S]+(?=..$)/,lookbehind:!0,inside:{}},punctuation:/\*\*|__/}},italic:{pattern:n(`\\b_(?:(?!_)<inner>|__(?:(?!_)<inner>)+__)+_\\b|\\*(?:(?!\\*)<inner>|\\*\\*(?:(?!\\*)<inner>)+\\*\\*)+\\*`),lookbehind:!0,greedy:!0,inside:{content:{pattern:/(^.)[\s\S]+(?=.$)/,lookbehind:!0,inside:{}},punctuation:/[*_]/}},strike:{pattern:n(`(~~?)(?:(?!~)<inner>)+\\2`),lookbehind:!0,greedy:!0,inside:{content:{pattern:/(^~~?)[\s\S]+(?=\1$)/,lookbehind:!0,inside:{}},punctuation:/~~?/}},"code-snippet":{pattern:/(^|[^\\`])(?:``[^`\r\n]+(?:`[^`\r\n]+)*``(?!`)|`[^`\r\n]+`(?!`))/,lookbehind:!0,greedy:!0,alias:[`code`,`keyword`]},url:{pattern:n(`!?\\[(?:(?!\\])<inner>)+\\](?:\\([^\\s)]+(?:[\\t ]+"(?:\\\\.|[^"\\\\])*")?\\)|[ \\t]?\\[(?:(?!\\])<inner>)+\\])`),lookbehind:!0,greedy:!0,inside:{operator:/^!/,content:{pattern:/(^\[)[^\]]+(?=\])/,lookbehind:!0,inside:{}},variable:{pattern:/(^\][ \t]?\[)[^\]]+(?=\]$)/,lookbehind:!0},url:{pattern:/(^\]\()[^\s)]+/,lookbehind:!0},string:{pattern:/(^[ \t]+)"(?:\\.|[^"\\])*"(?=\)$)/,lookbehind:!0}}}}),[`url`,`bold`,`italic`,`strike`].forEach(function(t){[`url`,`bold`,`italic`,`strike`,`code-snippet`].forEach(function(n){t!==n&&(e.languages.markdown[t].inside.content.inside[n]=e.languages.markdown[n])})}),e.hooks.add(`after-tokenize`,function(e){if(e.language!==`markdown`&&e.language!==`md`)return;function t(e){if(!(!e||typeof e==`string`))for(var n=0,r=e.length;n<r;n++){var i=e[n];if(i.type!==`code`){t(i.content);continue}var a=i.content[1],o=i.content[3];if(a&&o&&a.type===`code-language`&&o.type===`code-block`&&typeof a.content==`string`){var s=a.content.replace(/\b#/g,`sharp`).replace(/\b\+\+/g,`pp`);s=(/[a-z][\w-]*/i.exec(s)||[``])[0].toLowerCase();var c=`language-`+s;o.alias?typeof o.alias==`string`?o.alias=[o.alias,c]:o.alias.push(c):o.alias=[c]}}}t(e.tokens)}),e.hooks.add(`wrap`,function(t){if(t.type===`code-block`){for(var n=``,r=0,i=t.classes.length;r<i;r++){var a=t.classes[r],o=/language-(.+)/.exec(a);if(o){n=o[1];break}}var s=e.languages[n];if(s)t.content=e.highlight(t.content.value,s,n);else if(n&&n!==`none`&&e.plugins.autoloader){var c=`md-`+new Date().valueOf()+`-`+Math.floor(Math.random()*0x2386f26fc10000);t.attributes.id=c,e.plugins.autoloader.loadLanguages(n,function(){var t=document.getElementById(c);t&&(t.innerHTML=e.highlight(t.textContent,e.languages[n],n))})}}}),RegExp(e.languages.markup.tag.pattern.source,`gi`),String.fromCodePoint||String.fromCharCode,e.languages.md=e.languages.markdown})(e)}kb.displayName=`yaml`,kb.aliases=[`yml`];function kb(e){(function(e){var t=/[*&][^\s[\]{},]+/,n=/!(?:<[\w\-%#;/?:@&=+$,.!~*'()[\]]+>|(?:[a-zA-Z\d-]*!)?[\w\-%#;/?:@&=+$.~*'()]+)?/,r=`(?:`+n.source+`(?:[ ]+`+t.source+`)?|`+t.source+`(?:[ ]+`+n.source+`)?)`,i=`(?:[^\\s\\x00-\\x08\\x0e-\\x1f!"#%&'*,\\-:>?@[\\]\`{|}\\x7f-\\x84\\x86-\\x9f\\ud800-\\udfff\\ufffe\\uffff]|[?:-]<PLAIN>)(?:[ \\t]*(?:(?![#:])<PLAIN>|:<PLAIN>))*`.replace(/<PLAIN>/g,function(){return`[^\\s\\x00-\\x08\\x0e-\\x1f,[\\]{}\\x7f-\\x84\\x86-\\x9f\\ud800-\\udfff\\ufffe\\uffff]`}),a=`"(?:[^"\\\\\\r\\n]|\\\\.)*"|'(?:[^'\\\\\\r\\n]|\\\\.)*'`;function o(e,t){t=(t||``).replace(/m/g,``)+`m`;var n=`([:\\-,[{]\\s*(?:\\s<<prop>>[ \\t]+)?)(?:<<value>>)(?=[ \\t]*(?:$|,|\\]|\\}|(?:[\\r\\n]\\s*)?#))`.replace(/<<prop>>/g,function(){return r}).replace(/<<value>>/g,function(){return e});return RegExp(n,t)}e.languages.yaml={scalar:{pattern:RegExp(`([\\-:]\\s*(?:\\s<<prop>>[ \\t]+)?[|>])[ \\t]*(?:((?:\\r?\\n|\\r)[ \\t]+)\\S[^\\r\\n]*(?:\\2[^\\r\\n]+)*)`.replace(/<<prop>>/g,function(){return r})),lookbehind:!0,alias:`string`},comment:/#.*/,key:{pattern:RegExp(`((?:^|[:\\-,[{\\r\\n?])[ \\t]*(?:<<prop>>[ \\t]+)?)<<key>>(?=\\s*:\\s)`.replace(/<<prop>>/g,function(){return r}).replace(/<<key>>/g,function(){return`(?:`+i+`|`+a+`)`})),lookbehind:!0,greedy:!0,alias:`atrule`},directive:{pattern:/(^[ \t]*)%.+/m,lookbehind:!0,alias:`important`},datetime:{pattern:o(`\\d{4}-\\d\\d?-\\d\\d?(?:[tT]|[ \\t]+)\\d\\d?:\\d{2}:\\d{2}(?:\\.\\d*)?(?:[ \\t]*(?:Z|[-+]\\d\\d?(?::\\d{2})?))?|\\d{4}-\\d{2}-\\d{2}|\\d\\d?:\\d{2}(?::\\d{2}(?:\\.\\d*)?)?`),lookbehind:!0,alias:`number`},boolean:{pattern:o(`false|true`,`i`),lookbehind:!0,alias:`important`},null:{pattern:o(`null|~`,`i`),lookbehind:!0,alias:`important`},string:{pattern:o(a),lookbehind:!0,greedy:!0},number:{pattern:o(`[+-]?(?:0x[\\da-f]+|0o[0-7]+|(?:\\d+(?:\\.\\d*)?|\\.\\d+)(?:e[+-]?\\d+)?|\\.inf|\\.nan)`,`i`),lookbehind:!0},tag:n,important:t,punctuation:/---|[:[\]{}\-,|>?]|\.\.\./},e.languages.yml=e.languages.yaml})(e)}function Ab(){let[e,t]=(0,_.useState)(!1),n=(0,_.useRef)(null),r=(0,_.useRef)(!0);return(0,_.useEffect)(()=>()=>{r.current=!1,n.current!=null&&window.clearTimeout(n.current)},[]),{copied:e,copy:(0,_.useCallback)(e=>{let i=()=>{r.current&&(t(!0),n.current!=null&&window.clearTimeout(n.current),n.current=window.setTimeout(()=>{t(!1),n.current=null},1100))};if(navigator.clipboard?.writeText){navigator.clipboard.writeText(e).then(i).catch(()=>{});return}try{let t=document.createElement(`textarea`);t.value=e,t.style.position=`fixed`,t.style.opacity=`0`,document.body.appendChild(t),t.select(),document.execCommand(`copy`),document.body.removeChild(t),i()}catch{}},[])}}function jb({children:e,...t}){return(0,H.jsx)(`svg`,{className:`conv-ico`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:2,strokeLinecap:`round`,strokeLinejoin:`round`,"aria-hidden":`true`,...t,children:e})}function Mb(){return(0,H.jsx)(jb,{children:(0,H.jsx)(`path`,{d:`M9 18h6M10 22h4M12 2a7 7 0 0 0-4 12.7c.6.5 1 1.3 1 2.1h6c0-.8.4-1.6 1-2.1A7 7 0 0 0 12 2Z`})})}function Nb(){return(0,H.jsxs)(jb,{children:[(0,H.jsx)(`path`,{d:`M3 7l9-4 9 4-9 4-9-4Z`}),(0,H.jsx)(`path`,{d:`M3 7v10l9 4 9-4V7`})]})}function Pb(){return(0,H.jsxs)(jb,{children:[(0,H.jsx)(`circle`,{cx:`12`,cy:`7`,r:`3`}),(0,H.jsx)(`path`,{d:`M5.5 21a6.5 6.5 0 0 1 13 0`}),(0,H.jsx)(`path`,{d:`M19 8.5 21 7M19 11l2.4.6`})]})}function Fb(){return(0,H.jsx)(jb,{children:(0,H.jsx)(`path`,{d:`M4 6h16M4 12h16M4 18h10`})})}function Ib(){return(0,H.jsx)(jb,{children:(0,H.jsx)(`path`,{d:`M15.5 3.5a2 2 0 1 0-3.9.5H8a1 1 0 0 0-1 1v3.6a2 2 0 1 1 0 3.8V19a1 1 0 0 0 1 1h3.6a2 2 0 1 0 3.8 0H19a1 1 0 0 0 1-1v-3.6a2 2 0 1 1 0-3.8V5a1 1 0 0 0-1-1h-3.5Z`})})}function Lb(){return(0,H.jsxs)(jb,{children:[(0,H.jsx)(`path`,{d:`M14 3H7a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h6`}),(0,H.jsx)(`path`,{d:`M14 3v5h5`}),(0,H.jsx)(`circle`,{cx:`16.5`,cy:`16.5`,r:`3`}),(0,H.jsx)(`path`,{d:`M21 21l-2.1-2.1`})]})}function Rb(){return(0,H.jsxs)(jb,{children:[(0,H.jsx)(`path`,{d:`M12 20h9`}),(0,H.jsx)(`path`,{d:`M16.5 3.5a2.1 2.1 0 0 1 3 3L7 19l-4 1 1-4Z`})]})}function zb(){return(0,H.jsxs)(jb,{children:[(0,H.jsx)(`path`,{d:`M4 6l5 6-5 6`}),(0,H.jsx)(`path`,{d:`M12 18h8`})]})}function Bb(){return(0,H.jsxs)(jb,{children:[(0,H.jsx)(`circle`,{cx:`12`,cy:`12`,r:`9`}),(0,H.jsx)(`path`,{d:`M3 12h18M12 3c2.5 2.5 2.5 15.5 0 18M12 3c-2.5 2.5-2.5 15.5 0 18`})]})}function Vb(){return(0,H.jsxs)(jb,{children:[(0,H.jsx)(`path`,{d:`M9 6h11M9 12h11M9 18h11`}),(0,H.jsx)(`path`,{d:`M4 6l1 1 2-2M4 12l1 1 2-2M4 18l1 1 2-2`})]})}function Hb(){return(0,H.jsxs)(jb,{children:[(0,H.jsx)(`path`,{d:`M4 14v4a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-4`}),(0,H.jsx)(`path`,{d:`M12 3v11M8 10l4 4 4-4`})]})}function Ub(){return(0,H.jsxs)(jb,{children:[(0,H.jsx)(`path`,{d:`M9 10l-5 5 5 5`}),(0,H.jsx)(`path`,{d:`M4 15h11a5 5 0 0 0 5-5V4`})]})}function Wb(){return(0,H.jsxs)(jb,{children:[(0,H.jsx)(`rect`,{x:`3`,y:`3`,width:`18`,height:`18`,rx:`2`}),(0,H.jsx)(`circle`,{cx:`8.5`,cy:`8.5`,r:`1.5`}),(0,H.jsx)(`path`,{d:`M21 15l-5-5L5 21`})]})}function Gb(){return(0,H.jsxs)(jb,{children:[(0,H.jsx)(`path`,{d:`M14 3H7a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V8Z`}),(0,H.jsx)(`path`,{d:`M14 3v5h5`})]})}function Kb(){return(0,H.jsxs)(jb,{children:[(0,H.jsx)(`rect`,{x:`9`,y:`9`,width:`11`,height:`11`,rx:`2`}),(0,H.jsx)(`path`,{d:`M5 15V5a2 2 0 0 1 2-2h8`})]})}function qb(){return(0,H.jsx)(jb,{children:(0,H.jsx)(`path`,{d:`M5 13l4 4 10-10`})})}function Jb(){return(0,H.jsxs)(jb,{children:[(0,H.jsx)(`path`,{d:`M9 15l6-6`}),(0,H.jsx)(`path`,{d:`M11 6l1-1a4 4 0 0 1 6 6l-1 1`}),(0,H.jsx)(`path`,{d:`M13 18l-1 1a4 4 0 0 1-6-6l1-1`})]})}function Yb(){return(0,H.jsx)(jb,{children:(0,H.jsx)(`path`,{d:`M6 4h12M6 20h12M8 4c0 4 8 6 8 8s-8 4-8 8M16 4c0 4-8 6-8 8`})})}function Xb(){return(0,H.jsxs)(jb,{children:[(0,H.jsx)(`path`,{d:`M12 3l9 16H3Z`}),(0,H.jsx)(`path`,{d:`M12 9v5M12 17v.5`})]})}function Zb(){return(0,H.jsx)(jb,{children:(0,H.jsx)(`path`,{d:`M21 12a8 8 0 0 1-11.6 7.1L3 21l1.9-6.4A8 8 0 1 1 21 12Z`})})}function Qb(e){let t=(e??``).toLowerCase();return t===`read`||t===`grep`||t===`glob`||t===`ls`?(0,H.jsx)(Lb,{}):t===`edit`||t===`write`||t===`notebookedit`||t===`multiedit`?(0,H.jsx)(Rb,{}):t===`bash`?(0,H.jsx)(zb,{}):t===`task`||t===`agent`?(0,H.jsx)(Pb,{}):t===`skill`?(0,H.jsx)(Ib,{}):t===`webfetch`||t===`websearch`?(0,H.jsx)(Bb,{}):t===`todowrite`||t===`taskcreate`?(0,H.jsx)(Vb,{}):(0,H.jsx)(Nb,{})}function $b({text:e,className:t}){let{copied:n,copy:r}=Ab();return(0,H.jsx)(`button`,{type:`button`,className:`conv-copy-btn ${t??``}`.trim(),"aria-label":n?`Copied`:`Copy`,onClick:t=>{t.stopPropagation(),r(e)},children:n?(0,H.jsx)(qb,{}):(0,H.jsx)(Kb,{})})}[xb,Sb,vb,bb,Cb,wb,Tb,Eb,Db,Ob,kb].forEach(e=>cb.register(e));var ex={ts:`typescript`,js:`javascript`,sh:`bash`,shell:`bash`,yml:`yaml`,py:`python`};function tx(e){let t=ex[e]??e;return cb.registered(t)}function nx(e,t){let n=ex[t]??t;if(cb.registered(n))try{return $u(cb.highlight(e,n),{Fragment:H.Fragment,jsx:H.jsx,jsxs:H.jsxs})}catch{return e}return e}function rx({lang:e,filename:t,code:n}){return(0,H.jsxs)(`div`,{className:`codeblock`,children:[(0,H.jsxs)(`div`,{className:`cb-head`,children:[(0,H.jsx)(`span`,{className:`cb-lang`,children:e}),t&&(0,H.jsx)(`span`,{className:`cb-file`,children:t}),(0,H.jsx)($b,{text:n,className:`cb-copy`})]}),(0,H.jsx)(`pre`,{className:`conv-code conv-code--hl`,children:nx(n,e)})]})}function ix({href:e,children:t,...n}){return(0,H.jsx)(`a`,{...n,href:e,target:`_blank`,rel:`noopener noreferrer`,children:t})}function ax(e){return(e?.children??[]).map(e=>e.type===`text`?e.value:``).join(``)}function ox({node:e,children:t}){let n=e?.children?.find(e=>e.type===`element`&&e.tagName===`code`),r=n?.properties?.className,i=Array.isArray(r)?r.join(` `):String(r??``),a=/language-(\w+)/.exec(i)?.[1];return a&&tx(a)?(0,H.jsx)(rx,{lang:a,filename:void 0,code:ax(n)}):(0,H.jsx)(`pre`,{className:`conv-code`,children:t})}function sx({children:e}){return(0,H.jsx)(`div`,{className:`md`,children:(0,H.jsx)(wg,{remarkPlugins:[Oy],components:{a:ix,pre:ox},children:e})})}function cx(e){return e.split(`
49
+ `).map(e=>{let t=/^\s*(\d+)\t(.*)$/.exec(e);return t?{num:t[1],content:t[2]}:{num:``,content:e}})}function lx({code:e,lang:t}){let n=cx(e);if(!n.some(e=>e.num))return(0,H.jsx)(`pre`,{className:`conv-code conv-code--result`,children:e});let r=n.map(e=>e.content).join(`
50
50
  `);return(0,H.jsxs)(`div`,{className:`conv-code--numbered`,children:[(0,H.jsx)(`span`,{className:`cb-gutter`,"aria-hidden":`true`,children:n.map(e=>e.num).join(`
51
- `)}),(0,H.jsx)(`pre`,{className:`conv-code conv-code--hl`,children:tx(r,t)})]})}var lx={py:`python`,ts:`typescript`,tsx:`tsx`,js:`javascript`,mjs:`javascript`,cjs:`javascript`,jsx:`jsx`,json:`json`,sh:`bash`,bash:`bash`,zsh:`bash`,css:`css`,md:`markdown`,markdown:`markdown`,yaml:`yaml`,yml:`yaml`,diff:`diff`,patch:`diff`};function ux(e){let t=e.split(`/`).pop()??e,n=t.lastIndexOf(`.`);return n<=0?``:lx[t.slice(n+1).toLowerCase()]??``}function dx(e,t){return e===`Read`?ux(t):``}function fx({blocks:e}){let t=[],n=0,r=[],i=()=>{r.length&&(t.push((0,H.jsx)(ox,{children:r.join(`
51
+ `)}),(0,H.jsx)(`pre`,{className:`conv-code conv-code--hl`,children:nx(r,t)})]})}var ux={py:`python`,ts:`typescript`,tsx:`tsx`,js:`javascript`,mjs:`javascript`,cjs:`javascript`,jsx:`jsx`,json:`json`,sh:`bash`,bash:`bash`,zsh:`bash`,css:`css`,md:`markdown`,markdown:`markdown`,yaml:`yaml`,yml:`yaml`,diff:`diff`,patch:`diff`};function dx(e){let t=e.split(`/`).pop()??e,n=t.lastIndexOf(`.`);return n<=0?``:ux[t.slice(n+1).toLowerCase()]??``}function fx(e,t){return e===`Read`?dx(t):``}function px({blocks:e}){let t=[],n=0,r=[],i=()=>{r.length&&(t.push((0,H.jsx)(sx,{children:r.join(`
52
52
 
53
- `)},`t${t.length}`)),r=[])};for(;n<e.length;){let a=e[n];if(a.kind===`text`){r.push(a.text),n++;continue}if(i(),a.kind===`tool_call`){let r=[];for(;n<e.length&&e[n].kind===`tool_call`;)r.push(e[n]),n++;t.push((0,H.jsx)(px,{calls:r},`r${t.length}`));continue}t.push((0,H.jsx)(_x,{block:a},`c${t.length}`)),n++}return i(),t.length===0?null:(0,H.jsx)(`div`,{className:`conv-blocks`,children:t})}function px({calls:e}){return(0,H.jsxs)(`div`,{className:`conv-toolrun`,children:[e.length>=2&&(0,H.jsxs)(`div`,{className:`conv-toolrun-head`,children:[`tool run · `,e.length,` actions`]}),e.map((e,t)=>(0,H.jsx)(hx,{call:e},t))]})}function mx({result:e,name:t,preview:n}){let r=t===`Read`&&!e.is_error?dx(`Read`,n):``;return r?(0,H.jsx)(cx,{code:e.text,lang:r}):(0,H.jsx)(`pre`,{className:`conv-code conv-code--result`,children:e.text})}function hx({call:e}){let t=e.result?.is_error?` · error`:e.result?.truncated?` · truncated`:``;return(0,H.jsxs)(`details`,{className:`conv-chip conv-chip--tool`,children:[(0,H.jsxs)(`summary`,{children:[(0,H.jsx)(`span`,{className:`conv-chev`,"aria-hidden":`true`}),Zb(e.name),` `,(0,H.jsx)(`span`,{className:`conv-chip-name`,children:e.name??`tool`}),(0,H.jsx)(`span`,{className:`conv-chip-preview`,children:e.preview}),t&&(0,H.jsx)(`span`,{className:`conv-chip-status`,children:t})]}),(0,H.jsxs)(`div`,{className:`conv-chip-body conv-chip-body--io`,children:[(0,H.jsxs)(`div`,{className:`conv-tool-io`,children:[(0,H.jsx)(`div`,{className:`conv-tool-io-label`,children:`request`}),(0,H.jsx)(Qb,{text:e.input_summary}),(0,H.jsx)(`pre`,{className:`conv-code conv-code--hl`,children:tx(e.input_summary,`json`)})]}),e.result?(0,H.jsxs)(`div`,{className:`conv-tool-io`,children:[(0,H.jsxs)(`div`,{className:`conv-tool-io-label`,children:[`result`,e.result.is_error?` · error`:` · ok`,e.result.truncated?` · truncated`:``]}),(0,H.jsx)(Qb,{text:e.result.text}),(0,H.jsx)(mx,{result:e.result,name:e.name,preview:e.preview})]}):(0,H.jsx)(`div`,{className:`conv-tool-io`,children:(0,H.jsx)(`div`,{className:`conv-tool-io-label conv-tool-io-label--none`,children:`no result`})})]})]})}function gx(e){let t=e.split(`
54
- `).map(e=>e.trim()).find(e=>e.length>0)??``;return t.length>80?`${t.slice(0,80).trimEnd()}…`:t}function _x({block:e}){switch(e.kind){case`thinking`:return(0,H.jsxs)(`details`,{className:`conv-chip conv-chip--thinking`,children:[(0,H.jsxs)(`summary`,{children:[(0,H.jsx)(`span`,{className:`conv-chev`,"aria-hidden":`true`}),(0,H.jsx)(Mb,{}),` `,(0,H.jsx)(`span`,{className:`conv-chip-name`,children:`Thinking`}),(0,H.jsx)(`span`,{className:`conv-chip-preview`,children:gx(e.text)})]}),(0,H.jsx)(`div`,{className:`conv-chip-body`,children:(0,H.jsx)(ox,{children:e.text})})]});case`tool_use`:return(0,H.jsxs)(`details`,{className:`conv-chip conv-chip--tool`,children:[(0,H.jsxs)(`summary`,{children:[(0,H.jsx)(`span`,{className:`conv-chev`,"aria-hidden":`true`}),Zb(e.name),` `,(0,H.jsx)(`span`,{className:`conv-chip-name`,children:e.name??`tool`})]}),(0,H.jsxs)(`div`,{className:`conv-chip-body conv-tool-io`,children:[(0,H.jsx)(Qb,{text:e.input_summary}),(0,H.jsx)(`pre`,{className:`conv-code`,children:e.input_summary})]})]});case`tool_result`:return(0,H.jsxs)(`details`,{className:`conv-chip conv-chip--result`,children:[(0,H.jsxs)(`summary`,{children:[(0,H.jsx)(`span`,{className:`conv-chev`,"aria-hidden":`true`}),(0,H.jsx)(Hb,{}),` `,(0,H.jsx)(`span`,{className:`conv-chip-name`,children:`Result`}),(0,H.jsx)(`span`,{className:`conv-chip-preview`,children:gx(e.text)}),e.is_error&&(0,H.jsx)(`span`,{className:`conv-chip-status`,children:` · error`}),e.truncated&&(0,H.jsx)(`span`,{className:`conv-chip-status`,children:` · truncated`})]}),(0,H.jsxs)(`div`,{className:`conv-chip-body conv-tool-io`,children:[(0,H.jsx)(Qb,{text:e.text}),(0,H.jsx)(`pre`,{className:`conv-code`,children:e.text})]})]});case`image`:return(0,H.jsxs)(`span`,{className:`conv-chip conv-chip--media`,children:[(0,H.jsx)(Wb,{}),` `,e.media_type??`image`,` · `,e.bytes,` B`]});case`document`:return(0,H.jsxs)(`span`,{className:`conv-chip conv-chip--media`,children:[(0,H.jsx)(Gb,{}),` `,e.media_type??`document`,` · `,e.bytes,` B`]});case`tool_reference`:return(0,H.jsxs)(`span`,{className:`conv-chip conv-chip--ref`,children:[(0,H.jsx)(Ub,{}),` `,e.name??`tool`]});default:return null}}function vx(e){let t=e.split(`
55
- `).map(e=>e.trim()).find(e=>e.length>0)??``;return t.length>80?`${t.slice(0,80).trimEnd()}…`:t}function yx({item:e,className:t=``,style:n},r){let i=e=>`conv-item ${e}${t?` ${t}`:``}`;if(e.kind===`tool_result`)return(0,H.jsx)(`div`,{ref:r,className:i(`conv-item--tool_result`),style:n,"data-uuid":e.anchor.uuid,children:(0,H.jsxs)(`details`,{className:`conv-chip conv-chip--result`,children:[(0,H.jsxs)(`summary`,{children:[(0,H.jsx)(`span`,{className:`conv-chev`,"aria-hidden":`true`}),(0,H.jsx)(Hb,{}),` Tool result`]}),(0,H.jsx)(`div`,{className:`conv-chip-body`,children:(0,H.jsx)(fx,{blocks:e.blocks})})]})});if(e.kind===`assistant`){let t=typeof e.cost_usd==`number`&&e.cost_usd>0;return(0,H.jsxs)(`div`,{ref:r,className:i(`conv-item--assistant`),style:n,"data-uuid":e.anchor.uuid,children:[(0,H.jsxs)(`div`,{className:`conv-item-head`,children:[(0,H.jsx)(`span`,{className:`conv-item-label`,children:`Assistant`}),(0,H.jsx)(`span`,{className:`conv-item-model`,children:e.model??`—`})]}),(0,H.jsx)(fx,{blocks:e.blocks}),e.text&&(0,H.jsx)(`div`,{className:`conv-item-actions`,children:(0,H.jsx)(Qb,{text:e.text})}),t&&(0,H.jsxs)(`div`,{className:`conv-item-cost`,children:[`$`,e.cost_usd.toFixed(4)]})]})}if(e.kind===`meta`){let t=e.meta_kind,a=t===`skill`?(0,H.jsxs)(H.Fragment,{children:[(0,H.jsx)(Ib,{}),` `,(0,H.jsx)(`span`,{className:`conv-meta-label`,children:`Skill content`}),e.skill_name&&(0,H.jsxs)(`span`,{className:`conv-meta-name`,children:[`· `,e.skill_name]})]}):t===`command`?(0,H.jsxs)(H.Fragment,{children:[(0,H.jsx)(Fb,{}),` `,(0,H.jsx)(`span`,{className:`conv-meta-label`,children:`System marker`})]}):(0,H.jsxs)(H.Fragment,{children:[(0,H.jsx)(Fb,{}),` `,(0,H.jsx)(`span`,{className:`conv-meta-label`,children:`Injected context`}),(0,H.jsx)(`span`,{className:`conv-meta-preview`,children:vx(e.text)})]});return(0,H.jsx)(`div`,{ref:r,className:i(`conv-item--meta`),style:n,"data-uuid":e.anchor.uuid,children:(0,H.jsxs)(`details`,{className:`conv-meta conv-meta--${t}`,children:[(0,H.jsxs)(`summary`,{children:[(0,H.jsx)(`span`,{className:`conv-chev`,"aria-hidden":`true`}),a]}),t===`command`?(0,H.jsx)(`pre`,{className:`conv-meta-body conv-meta-body--pre`,children:e.text}):(0,H.jsxs)(`div`,{className:`conv-meta-body`,children:[(0,H.jsx)(fx,{blocks:e.blocks}),t===`skill`&&e.text&&(0,H.jsx)(`div`,{className:`conv-item-actions`,children:(0,H.jsx)(Qb,{text:e.text})})]})]})})}return Ul(e.text)&&e.blocks.every(e=>e.kind===`text`)?(0,H.jsx)(`div`,{ref:r,className:i(`conv-item--system`),style:n,"data-uuid":e.anchor.uuid,children:(0,H.jsxs)(`details`,{className:`conv-system-marker`,children:[(0,H.jsxs)(`summary`,{children:[(0,H.jsx)(`span`,{className:`conv-chev`,"aria-hidden":`true`}),(0,H.jsx)(Fb,{}),` System marker`]}),(0,H.jsx)(`pre`,{className:`conv-system-marker-body`,children:e.text})]})}):(0,H.jsxs)(`div`,{ref:r,className:i(`conv-item--human`),style:n,"data-uuid":e.anchor.uuid,children:[(0,H.jsx)(`div`,{className:`conv-item-head`,children:(0,H.jsx)(`span`,{className:`conv-item-label`,children:`You`})}),e.text&&(0,H.jsx)(ox,{children:e.text}),(0,H.jsx)(fx,{blocks:e.blocks.filter(e=>e.kind!==`text`)}),e.text&&(0,H.jsx)(`div`,{className:`conv-item-actions`,children:(0,H.jsx)(Qb,{text:e.text})})]})}var bx=(0,_.memo)((0,_.forwardRef)(yx)),xx=60;function Sx(e){return e==null?null:e===`completed`?(0,H.jsx)(`span`,{className:`conv-subagent-ok`,"aria-label":`completed`,title:`completed`,children:`✓`}):e===`error`?(0,H.jsxs)(`span`,{className:`conv-subagent-err`,children:[(0,H.jsx)(`span`,{"aria-hidden":`true`,children:`✕`}),` error`]}):(0,H.jsxs)(`span`,{className:`conv-subagent-warn`,children:[(0,H.jsx)(`span`,{"aria-hidden":`true`,children:`⚠`}),` `,e]})}function Cx(e,t){let n=((e.find(e=>e.kind!==`meta`)??e[0])?.text??``).split(`
56
- `).map(e=>e.trim()).find(e=>e.length>0)??``;return n?n.length>xx?`${n.slice(0,xx).trimEnd()}…`:n:`Subagent ${t}`}function wx({subagentKey:e,items:t,nested:n,meta:r,getItemRef:i,forceOpen:a=!1,riseClassName:o=``,riseStyle:s}){let[c,l]=(0,_.useState)(!1),u=c||a;(0,_.useEffect)(()=>{a&&l(!0)},[a]);let d=Cx(t,e),f=t.reduce((e,t)=>e+(`cost_usd`in t?t.cost_usd??0:0),0),p=[...new Set(t.map(e=>`model`in e?e.model:null).filter(Boolean))];return(0,H.jsxs)(`details`,{className:[n?`conv-sidechain conv-sidechain--nested`:`conv-sidechain`,a?`conv-sidechain--force`:``,o].filter(Boolean).join(` `),style:s,open:u,onToggle:e=>l(e.currentTarget.open),children:[(0,H.jsxs)(`summary`,{className:`conv-sidechain-head`,children:[(0,H.jsx)(`span`,{className:`conv-sidechain-glyph`,"aria-hidden":`true`,children:(0,H.jsx)(Pb,{})}),(0,H.jsxs)(`span`,{className:`conv-sidechain-headtext`,children:[(0,H.jsxs)(`span`,{className:`conv-sidechain-kind`,children:[`Subagent`,r?.kind?(0,H.jsxs)(`span`,{className:`conv-sidechain-kindname`,children:[` · `,r.kind]}):null]}),(0,H.jsx)(`span`,{className:`conv-sidechain-title`,children:d}),r&&(r.total_tokens!=null||r.total_duration_ms!=null||r.total_tool_use_count!=null||r.status!=null)&&(0,H.jsxs)(`span`,{className:`conv-sidechain-submeta`,children:[r.total_tokens!=null&&(0,H.jsxs)(`span`,{children:[A.compact(r.total_tokens),` tok`]}),r.total_duration_ms!=null&&(0,H.jsx)(`span`,{children:A.durationMs(r.total_duration_ms)}),r.total_tool_use_count!=null&&(0,H.jsxs)(`span`,{children:[r.total_tool_use_count,` `,r.total_tool_use_count===1?`tool`:`tools`]}),Sx(r.status)]})]}),(0,H.jsxs)(`span`,{className:`conv-sidechain-meta`,children:[p.length>0&&(0,H.jsx)(`span`,{className:`conv-sidechain-model`,children:p.join(`, `)}),(0,H.jsxs)(`span`,{children:[t.length,` msgs`]}),(0,H.jsx)(`span`,{className:`conv-sidechain-cost`,children:A.usd2(f)}),(0,H.jsx)(`span`,{className:`conv-chev`,"aria-hidden":`true`})]})]}),(0,H.jsx)(`div`,{className:`conv-sidechain-body`,children:t.map(e=>(0,H.jsx)(bx,{item:e,ref:u&&i?i(e):void 0},e.anchor.uuid))})]})}function Tx(e){for(let t of e.items)if(t.kind===`human`&&!t.is_sidechain&&t.text.trim()&&!Ul(t.text)){let e=t.text.split(`
57
- `).map(e=>e.trim()).find(Boolean);if(e)return e.length>120?e.slice(0,120).trimEnd()+`…`:e}return e.project_label||e.session_id}function Ex({sessionId:e,mobileBack:t}){let{detail:n,loading:r,error:i,hasMore:a,loadMore:o,loadUntil:s}=zl(e),c=(0,_.useSyncExternalStore)(B,()=>z().conversationJump),l=jo(),u=(0,_.useRef)(null),d=(0,_.useRef)(new Map),f=(0,_.useRef)(new Map),p=(0,_.useRef)(null),[m,h]=(0,_.useState)(null),g=(0,_.useRef)(new Set),[v,y]=(0,_.useState)(0),b=(0,_.useRef)(0);b.current=v;let x=(0,_.useRef)(null),S=(0,_.useRef)(null),C=(0,_.useRef)(a);C.current=a;let w=(0,_.useRef)(o);w.current=o;let T=(0,_.useRef)(l);T.current=l;let E=(0,_.useMemo)(()=>Vl(n?.items??[]),[n?.items]),D=(0,_.useMemo)(()=>n?Tx(n):``,[n]);(0,_.useEffect)(()=>{if(!u.current||!a)return;let e=new IntersectionObserver(e=>{e[0].isIntersecting&&o()});return e.observe(u.current),()=>e.disconnect()},[a,o]),(0,_.useEffect)(()=>{if(!c||c.session_id!==e){m!==null&&h(null);return}if(!n||n.session_id!==e)return;let t=!1;return(async()=>{if(await s(c.uuid),t)return;let e=d.current.get(c.uuid);if(e){e.scrollIntoView({behavior:l?`auto`:`smooth`,block:`center`}),e.classList.add(`conv-item--jumped`),p.current!=null&&window.clearTimeout(p.current),p.current=window.setTimeout(()=>{e.classList.remove(`conv-item--jumped`),p.current=null},2e3),V({type:`CLEAR_CONVERSATION_JUMP`}),h(null);return}let r=n.items.find(e=>e.member_uuids.includes(c.uuid));if(r&&r.subagent_key!=null&&m!==r.subagent_key){h(r.subagent_key);return}a||V({type:`CLEAR_CONVERSATION_JUMP`})})(),()=>{t=!0}},[c,e,n?.items.length,a,m]),(0,_.useEffect)(()=>()=>{p.current!=null&&window.clearTimeout(p.current)},[]),(0,_.useEffect)(()=>()=>{f.current.clear()},[e]),(0,_.useEffect)(()=>{h(null)},[e]),(0,_.useEffect)(()=>{g.current.clear()},[e]),(0,_.useEffect)(()=>{for(let e of E){let t=e.kind===`subagent`||e.kind===`tool_result_run`?e.items[0]?.anchor.uuid:e.item.anchor.uuid;t&&g.current.add(t)}},[E]);let O=(0,_.useCallback)((t,n,r)=>l||g.current.has(t)||c!=null&&c.session_id===e&&n.includes(c.uuid)?[``,void 0]:[`conv-rise`,{animationDelay:g.current.size===0?`${r*40}ms`:`0ms`}],[l,c,e]),k=(0,_.useCallback)(e=>{let t=f.current,n=e.anchor.uuid,r=t.get(n);return r||(r=t=>{for(let n of e.member_uuids)t?d.current.set(n,t):d.current.delete(n)},t.set(n,r)),r},[]);(0,_.useEffect)(()=>{y(0)},[e]),(0,_.useEffect)(()=>{let e=x.current;if(!e)return;let t=e.children;for(let e=0;e<t.length;e++)t[e].classList.toggle(`conv-item--focused`,e===v)},[v,E]);let j=(0,_.useCallback)(e=>{let t=x.current;if(!t)return;let n=t.children.length-1;if(n<0)return;let r=b.current,i=Math.max(0,Math.min(n,r+e));if(e>0&&r===n&&C.current){w.current();return}i!==r&&(y(i),t.children[i]?.scrollIntoView({block:`nearest`,behavior:T.current?`auto`:`smooth`}))},[]),M=(0,_.useCallback)(e=>{let t=x.current;if(!t)return;t.classList.add(`conv-reader-thread--bulk`),t.querySelectorAll(`details`).forEach(t=>{t.open=e});let n=()=>t.classList.remove(`conv-reader-thread--bulk`);typeof requestAnimationFrame==`function`?requestAnimationFrame(n):n()},[]),N=(0,_.useCallback)(()=>{S.current?.scrollTo({top:0,behavior:T.current?`auto`:`smooth`}),y(0)},[]);return Ut((0,_.useMemo)(()=>{let e=()=>!z().openModal&&z().inputMode===null,t=(t,n)=>({key:t,scope:`global`,view:`conversations`,when:e,action:n});return[t(`j`,()=>j(1)),t(`k`,()=>j(-1)),t(`[`,()=>M(!1)),t(`]`,()=>M(!0)),t(`g`,()=>N())]},[])),r&&!n?(0,H.jsx)(`div`,{className:`conv-reader conv-reader--loading`,children:(0,H.jsxs)(`div`,{className:`conv-state`,children:[(0,H.jsx)(`span`,{className:`conv-state-glyph`,"aria-hidden":`true`,children:(0,H.jsx)(Jb,{})}),(0,H.jsx)(`div`,{className:`conv-state-title`,children:`Loading conversation…`})]})}):i?(0,H.jsx)(`div`,{className:`conv-reader conv-reader--error`,children:(0,H.jsxs)(`div`,{className:`conv-state`,children:[(0,H.jsx)(`span`,{className:`conv-state-glyph`,"aria-hidden":`true`,children:(0,H.jsx)(Yb,{})}),(0,H.jsx)(`div`,{className:`conv-state-title`,children:i})]})}):n?(0,H.jsxs)(`div`,{className:`conv-reader`,children:[(0,H.jsxs)(`div`,{className:`conv-reader-head`,children:[t&&(0,H.jsx)(`button`,{type:`button`,className:`conv-back`,onClick:()=>V({type:`SELECT_CONVERSATION`,sessionId:null}),children:`← Back`}),(0,H.jsx)(`div`,{className:`conv-reader-title`,children:D||n.session_id}),(0,H.jsxs)(`div`,{className:`conv-reader-meta`,children:[n.project_label||`—`,` · `,n.git_branch??`—`,` · `,A.usd2(n.cost_usd),` · `,n.models.join(`, `)]})]}),(0,H.jsxs)(`div`,{className:`conv-reader-body`,ref:S,children:[(0,H.jsx)(`div`,{className:`conv-reader-thread`,ref:x,children:E.map((t,r)=>{if(t.kind===`subagent`){let i=t.items.flatMap(e=>e.member_uuids),[a,o]=O(t.items[0].anchor.uuid,i,r);return(0,H.jsx)(wx,{subagentKey:t.subagentKey,items:t.items,nested:t.nested,meta:n.subagent_meta?.[t.subagentKey],getItemRef:k,forceOpen:n.session_id===e&&t.subagentKey===m,riseClassName:a,riseStyle:o},`sc-${t.subagentKey}`)}if(t.kind===`tool_result_run`){let e=t.items.flatMap(e=>e.member_uuids),[n,i]=O(t.items[0].anchor.uuid,e,r);return(0,H.jsxs)(`details`,{className:[`conv-toolresult-run`,n].filter(Boolean).join(` `),style:i,open:!0,children:[(0,H.jsxs)(`summary`,{children:[(0,H.jsx)(`span`,{className:`conv-chev`,"aria-hidden":`true`}),(0,H.jsx)(Hb,{}),` `,t.items.length,` tool results`]}),(0,H.jsx)(`div`,{className:`conv-toolresult-run-body`,children:t.items.map(e=>(0,H.jsx)(bx,{item:e,ref:k(e)},e.anchor.uuid))})]},`trr-${t.items[0].anchor.uuid}`)}let[i,a]=O(t.item.anchor.uuid,t.item.member_uuids,r);return(0,H.jsx)(bx,{item:t.item,ref:k(t.item),className:i,style:a},t.item.anchor.uuid)})}),a&&(0,H.jsx)(`div`,{ref:u,className:`conv-load-sentinel`,children:`Loading more…`})]})]}):(0,H.jsx)(`div`,{className:`conv-reader conv-reader--empty`,children:(0,H.jsxs)(`div`,{className:`conv-state`,children:[(0,H.jsx)(`span`,{className:`conv-state-glyph`,"aria-hidden":`true`,children:(0,H.jsx)(Xb,{})}),(0,H.jsx)(`div`,{className:`conv-state-title`,children:`Select a conversation`}),(0,H.jsx)(`div`,{className:`conv-state-hint`,children:`Choose one from the list to start reading.`})]})})}function Dx(){let e=(0,_.useSyncExternalStore)(B,()=>z().selectedConversationId),t=Ge(),n=ln();return Ut(Ox),xt(t)?n?(0,H.jsx)(`div`,{className:`conv-view conv-view--mobile`,children:e==null?(0,H.jsx)(Nl,{}):(0,H.jsx)(Ex,{sessionId:e,mobileBack:!0})}):(0,H.jsxs)(`div`,{className:`conv-view`,children:[(0,H.jsx)(Nl,{}),e==null?(0,H.jsx)(`div`,{className:`conv-reader conv-reader--empty`,children:(0,H.jsxs)(`div`,{className:`conv-state`,children:[(0,H.jsx)(`span`,{className:`conv-state-glyph`,"aria-hidden":`true`,children:(0,H.jsx)(Xb,{})}),(0,H.jsx)(`div`,{className:`conv-state-title`,children:`Select a conversation`}),(0,H.jsx)(`div`,{className:`conv-state-hint`,children:`Choose one from the list to start reading.`})]})}):(0,H.jsx)(Ex,{sessionId:e})]}):(0,H.jsxs)(`div`,{className:`conv-disabled`,children:[`Transcript viewing is disabled. Enable it with`,` `,(0,H.jsx)(`code`,{children:`cctally config set dashboard.expose_transcripts true`}),` `,`(loopback is always allowed; restart the dashboard to apply).`]})}var Ox=[{key:`/`,scope:`global`,view:`conversations`,when:()=>!z().openModal&&z().inputMode===null,action:()=>{let e=document.querySelector(`.conv-rail-search input`);e?.focus(),e?.select()}},{key:`Escape`,scope:`global`,view:`conversations`,when:()=>!z().openModal,action:()=>{if(z().conversationSearch){V({type:`SET_CONVERSATION_SEARCH`,text:``});return}V({type:`SET_VIEW`,view:`dashboard`})}}];function kx(){let e=(0,_.useSyncExternalStore)(B,()=>z().prefs.panelOrder),t=(0,_.useSyncExternalStore)(B,()=>z().view);return(0,H.jsxs)(H.Fragment,{children:[(0,H.jsx)(At,{}),t===`conversations`?(0,H.jsx)(Dx,{}):(0,H.jsx)(Ro,{items:e,children:(0,H.jsx)(`div`,{className:`grid`,children:e.map((e,t)=>(0,H.jsx)(Mo,{id:e,index:t},e))})}),(0,H.jsx)(It,{}),(0,H.jsx)(Xn,{}),(0,H.jsx)(tr,{}),(0,H.jsx)(Cc,{}),(0,H.jsx)(bl,{}),(0,H.jsx)(os,{}),(0,H.jsx)(Vo,{}),(0,H.jsx)(cr,{})]})}function Ax(e){let t=z().prefs.panelOrder,n=e-1;if(n<0||n>=t.length)return;let r=Kn[t[n]];r&&r.openAction()}var jx=`Click a panel first, then press S to share it.`;function Mx(){return typeof window>`u`||!window.matchMedia?!1:window.matchMedia(cn).matches}function Nx(){if(typeof document>`u`)return null;let e=document.activeElement;if(!e||!(e instanceof Element))return null;let t=e.closest(`[data-panel-kind]`);return t?t.getAttribute(`data-panel-kind`):null}function Px(){return{key:`S`,scope:`global`,when:()=>{let e=z();return!(Mx()||e.shareModal!==null||e.composerModal!==null||e.openModal!==null||e.update.modalOpen||e.inputMode!==null)},action:()=>{let e=Nx();if(e===null){V({type:`SHOW_STATUS_TOAST`,text:jx});return}if(!ie.has(e))return;let t=e;V(L(t,`${t}-panel`))}}}function Fx(){return typeof window>`u`||!window.matchMedia?!1:window.matchMedia(cn).matches}function Ix(){return{key:`B`,scope:`global`,when:()=>{let e=z();return!(Fx()||e.shareModal!==null||e.composerModal!==null||e.openModal!==null||e.update.modalOpen||e.inputMode!==null)},action:()=>V(me())}}function Lx(){return[Ix()]}pt(),tt(),Ht();var Rx=()=>{let e=z();return!e.update.modalOpen&&!e.doctorModalOpen};Vt([{key:`1`,scope:`global`,when:Rx,action:()=>Ax(1)},{key:`2`,scope:`global`,when:Rx,action:()=>Ax(2)},{key:`3`,scope:`global`,when:Rx,action:()=>Ax(3)},{key:`4`,scope:`global`,when:Rx,action:()=>Ax(4)},{key:`5`,scope:`global`,when:Rx,action:()=>Ax(5)},{key:`6`,scope:`global`,when:Rx,action:()=>Ax(6)},{key:`7`,scope:`global`,when:Rx,action:()=>Ax(7)},{key:`8`,scope:`global`,when:Rx,action:()=>Ax(8)},{key:`9`,scope:`global`,when:Rx,action:()=>Ax(9)},{key:`0`,scope:`global`,when:Rx,action:()=>Ax(10)},{key:`r`,scope:`global`,when:Rx,action:()=>Ot()},{key:`q`,scope:`global`,when:Rx,action:Ft},{key:`n`,scope:`global`,when:Rx,action:()=>Nt(1)},{key:`N`,scope:`global`,when:Rx,action:()=>Nt(-1)},{key:`d`,scope:`global`,view:`any`,when:()=>{let e=z();return!(e.openModal!==null||e.update.modalOpen||e.inputMode!==null)},action:()=>V({type:`OPEN_DOCTOR_MODAL`})},Px(),...Lx(),{key:`c`,scope:`sessions`,when:()=>!z().openModal,action:()=>{let e=z().prefs.sessionsCollapsed;V({type:`SAVE_PREFS`,patch:{sessionsCollapsed:!e}})}}]);var zx=document.getElementById(`root`);if(!zx)throw Error(`missing #root`);(0,v.createRoot)(zx).render((0,H.jsx)(_.StrictMode,{children:(0,H.jsx)(kx,{})}));
53
+ `)},`t${t.length}`)),r=[])};for(;n<e.length;){let a=e[n];if(a.kind===`text`){r.push(a.text),n++;continue}if(i(),a.kind===`tool_call`){let r=[];for(;n<e.length&&e[n].kind===`tool_call`;)r.push(e[n]),n++;t.push((0,H.jsx)(mx,{calls:r},`r${t.length}`));continue}t.push((0,H.jsx)(vx,{block:a},`c${t.length}`)),n++}return i(),t.length===0?null:(0,H.jsx)(`div`,{className:`conv-blocks`,children:t})}function mx({calls:e}){return(0,H.jsxs)(`div`,{className:`conv-toolrun`,children:[e.length>=2&&(0,H.jsxs)(`div`,{className:`conv-toolrun-head`,children:[`tool run · `,e.length,` actions`]}),e.map((e,t)=>(0,H.jsx)(gx,{call:e},t))]})}function hx({result:e,name:t,preview:n}){let r=t===`Read`&&!e.is_error?fx(`Read`,n):``;return r?(0,H.jsx)(lx,{code:e.text,lang:r}):(0,H.jsx)(`pre`,{className:`conv-code conv-code--result`,children:e.text})}function gx({call:e}){if(e.skill_body!=null)return(0,H.jsxs)(`details`,{className:`conv-chip conv-chip--tool conv-chip--skill`,children:[(0,H.jsxs)(`summary`,{children:[(0,H.jsx)(`span`,{className:`conv-chev`,"aria-hidden":`true`}),Qb(e.name),` `,(0,H.jsx)(`span`,{className:`conv-chip-name`,children:e.name??`tool`}),(0,H.jsx)(`span`,{className:`conv-chip-preview`,children:e.preview})]}),(0,H.jsxs)(`div`,{className:`conv-chip-body`,children:[(0,H.jsx)($b,{text:e.skill_body}),(0,H.jsx)(sx,{children:e.skill_body})]})]});let t=e.result?.is_error?` · error`:e.result?.truncated?` · truncated`:``;return(0,H.jsxs)(`details`,{className:`conv-chip conv-chip--tool`,children:[(0,H.jsxs)(`summary`,{children:[(0,H.jsx)(`span`,{className:`conv-chev`,"aria-hidden":`true`}),Qb(e.name),` `,(0,H.jsx)(`span`,{className:`conv-chip-name`,children:e.name??`tool`}),(0,H.jsx)(`span`,{className:`conv-chip-preview`,children:e.preview}),t&&(0,H.jsx)(`span`,{className:`conv-chip-status`,children:t})]}),(0,H.jsxs)(`div`,{className:`conv-chip-body conv-chip-body--io`,children:[(0,H.jsxs)(`div`,{className:`conv-tool-io`,children:[(0,H.jsx)(`div`,{className:`conv-tool-io-label`,children:`request`}),(0,H.jsx)($b,{text:e.input_summary}),(0,H.jsx)(`pre`,{className:`conv-code conv-code--hl`,children:nx(e.input_summary,`json`)})]}),e.result?(0,H.jsxs)(`div`,{className:`conv-tool-io`,children:[(0,H.jsxs)(`div`,{className:`conv-tool-io-label`,children:[`result`,e.result.is_error?` · error`:` · ok`,e.result.truncated?` · truncated`:``]}),(0,H.jsx)($b,{text:e.result.text}),(0,H.jsx)(hx,{result:e.result,name:e.name,preview:e.preview})]}):(0,H.jsx)(`div`,{className:`conv-tool-io`,children:(0,H.jsx)(`div`,{className:`conv-tool-io-label conv-tool-io-label--none`,children:`no result`})})]})]})}function _x(e){let t=e.split(`
54
+ `).map(e=>e.trim()).find(e=>e.length>0)??``;return t.length>80?`${t.slice(0,80).trimEnd()}…`:t}function vx({block:e}){switch(e.kind){case`thinking`:return(0,H.jsxs)(`details`,{className:`conv-chip conv-chip--thinking`,children:[(0,H.jsxs)(`summary`,{children:[(0,H.jsx)(`span`,{className:`conv-chev`,"aria-hidden":`true`}),(0,H.jsx)(Mb,{}),` `,(0,H.jsx)(`span`,{className:`conv-chip-name`,children:`Thinking`}),(0,H.jsx)(`span`,{className:`conv-chip-preview`,children:_x(e.text)})]}),(0,H.jsx)(`div`,{className:`conv-chip-body`,children:(0,H.jsx)(sx,{children:e.text})})]});case`tool_use`:return(0,H.jsxs)(`details`,{className:`conv-chip conv-chip--tool`,children:[(0,H.jsxs)(`summary`,{children:[(0,H.jsx)(`span`,{className:`conv-chev`,"aria-hidden":`true`}),Qb(e.name),` `,(0,H.jsx)(`span`,{className:`conv-chip-name`,children:e.name??`tool`})]}),(0,H.jsxs)(`div`,{className:`conv-chip-body conv-tool-io`,children:[(0,H.jsx)($b,{text:e.input_summary}),(0,H.jsx)(`pre`,{className:`conv-code`,children:e.input_summary})]})]});case`tool_result`:return(0,H.jsxs)(`details`,{className:`conv-chip conv-chip--result`,children:[(0,H.jsxs)(`summary`,{children:[(0,H.jsx)(`span`,{className:`conv-chev`,"aria-hidden":`true`}),(0,H.jsx)(Hb,{}),` `,(0,H.jsx)(`span`,{className:`conv-chip-name`,children:`Result`}),(0,H.jsx)(`span`,{className:`conv-chip-preview`,children:_x(e.text)}),e.is_error&&(0,H.jsx)(`span`,{className:`conv-chip-status`,children:` · error`}),e.truncated&&(0,H.jsx)(`span`,{className:`conv-chip-status`,children:` · truncated`})]}),(0,H.jsxs)(`div`,{className:`conv-chip-body conv-tool-io`,children:[(0,H.jsx)($b,{text:e.text}),(0,H.jsx)(`pre`,{className:`conv-code`,children:e.text})]})]});case`image`:return(0,H.jsxs)(`span`,{className:`conv-chip conv-chip--media`,children:[(0,H.jsx)(Wb,{}),` `,e.media_type??`image`,` · `,e.bytes,` B`]});case`document`:return(0,H.jsxs)(`span`,{className:`conv-chip conv-chip--media`,children:[(0,H.jsx)(Gb,{}),` `,e.media_type??`document`,` · `,e.bytes,` B`]});case`tool_reference`:return(0,H.jsxs)(`span`,{className:`conv-chip conv-chip--ref`,children:[(0,H.jsx)(Ub,{}),` `,e.name??`tool`]});default:return null}}var yx=`#/conversations`;function bx(e){let t=e.startsWith(`#`)?e.slice(1):e;if(t===``||t===`/`)return null;if(t===`/conversations`||t===`/conversations/`)return{sessionId:null,turnUuid:null};if(!t.startsWith(`/conversations/`))return null;let n=t.slice(15).split(`/`).filter(e=>e.length>0);return n.length===1?{sessionId:decodeURIComponent(n[0]),turnUuid:null}:n.length===2?{sessionId:decodeURIComponent(n[0]),turnUuid:decodeURIComponent(n[1])}:null}function xx(e,t){if(e===null)return yx;let n=encodeURIComponent(e);return t?`${yx}/${n}/${encodeURIComponent(t)}`:`${yx}/${n}`}function Sx(e,t,n,r){return`${e}${t}${xx(n,r)}`}function Cx(e,t){return e===`dashboard`?``:xx(t)}function wx(e,t){if(e===window.location.hash)return;let n=e===``?window.location.pathname+window.location.search:e;t===`push`?window.history.pushState(null,``,n):window.history.replaceState(null,``,n)}function Tx(e,t){wx(xx(e,t),`replace`)}function Ex(e){let t=bx(window.location.hash);if(t===null){e.dispatch({type:`SET_VIEW`,view:`dashboard`});return}if(t.sessionId===null){e.dispatch({type:`SET_VIEW`,view:`conversations`}),e.dispatch({type:`SELECT_CONVERSATION`,sessionId:null});return}let n=t.turnUuid?{session_id:t.sessionId,uuid:t.turnUuid}:void 0;e.dispatch({type:`OPEN_CONVERSATION`,sessionId:t.sessionId,jump:n})}function Dx(e={getState:z,subscribeStore:B,dispatch:V}){Ex(e);let t=()=>{let t=e.getState();return{view:t.view,sid:t.selectedConversationId,jumpUuid:t.conversationJump?.uuid??null}},n=t(),r=()=>Ex(e);window.addEventListener(`hashchange`,r);let i=e.subscribeStore(()=>{let r=e.getState(),i=t(),a=r.conversationJump?.session_id===i.sid;if(i.view!==n.view||i.sid!==n.sid){let e=Cx(i.view,i.sid);i.view===`conversations`&&i.sid&&i.jumpUuid&&a&&(e=xx(i.sid,i.jumpUuid)),wx(e,`push`)}else i.sid&&i.sid===n.sid&&i.jumpUuid&&i.jumpUuid!==n.jumpUuid&&a&&wx(xx(i.sid,i.jumpUuid),`replace`);n=i});return()=>{window.removeEventListener(`hashchange`,r),i()}}function Ox({sessionId:e,uuid:t,className:n}){let{copied:r,copy:i}=Ab();return(0,H.jsx)(`button`,{type:`button`,className:`conv-copy-btn ${n??``}`.trim(),"aria-label":r?`Link copied`:`Copy link to this turn`,onClick:n=>{n.stopPropagation(),i(Sx(window.location.origin,window.location.pathname,e,t)),Tx(e,t)},children:r?(0,H.jsx)(qb,{}):(0,H.jsx)(Jb,{})})}function kx(e){let t=e.split(`
55
+ `).map(e=>e.trim()).find(e=>e.length>0)??``;return t.length>80?`${t.slice(0,80).trimEnd()}…`:t}function Ax({item:e,className:t=``,style:n},r){let i=e=>`conv-item ${e}${t?` ${t}`:``}`;if(e.kind===`tool_result`)return(0,H.jsx)(`div`,{ref:r,className:i(`conv-item--tool_result`),style:n,"data-uuid":e.anchor.uuid,children:(0,H.jsxs)(`details`,{className:`conv-chip conv-chip--result`,children:[(0,H.jsxs)(`summary`,{children:[(0,H.jsx)(`span`,{className:`conv-chev`,"aria-hidden":`true`}),(0,H.jsx)(Hb,{}),` Tool result`,(0,H.jsx)(Ox,{sessionId:e.anchor.session_id,uuid:e.anchor.uuid,className:`conv-chip-permalink`})]}),(0,H.jsx)(`div`,{className:`conv-chip-body`,children:(0,H.jsx)(px,{blocks:e.blocks})})]})});if(e.kind===`assistant`){let t=typeof e.cost_usd==`number`&&e.cost_usd>0;return(0,H.jsxs)(`div`,{ref:r,className:i(`conv-item--assistant`),style:n,"data-uuid":e.anchor.uuid,children:[(0,H.jsxs)(`div`,{className:`conv-item-head`,children:[(0,H.jsx)(`span`,{className:`conv-item-label`,children:`Assistant`}),(0,H.jsx)(`span`,{className:`conv-item-model`,children:e.model??`—`})]}),(0,H.jsx)(px,{blocks:e.blocks}),e.text&&(0,H.jsxs)(`div`,{className:`conv-item-actions`,children:[(0,H.jsx)(Ox,{sessionId:e.anchor.session_id,uuid:e.anchor.uuid}),(0,H.jsx)($b,{text:e.text})]}),t&&(0,H.jsxs)(`div`,{className:`conv-item-cost`,children:[`$`,e.cost_usd.toFixed(4)]})]})}if(e.kind===`meta`){let t=e.meta_kind,a=t===`skill`?(0,H.jsxs)(H.Fragment,{children:[(0,H.jsx)(Ib,{}),` `,(0,H.jsx)(`span`,{className:`conv-meta-label`,children:`Skill content`}),e.skill_name&&(0,H.jsxs)(`span`,{className:`conv-meta-name`,children:[`· `,e.skill_name]})]}):t===`command`?(0,H.jsxs)(H.Fragment,{children:[(0,H.jsx)(Fb,{}),` `,(0,H.jsx)(`span`,{className:`conv-meta-label`,children:`System marker`})]}):(0,H.jsxs)(H.Fragment,{children:[(0,H.jsx)(Fb,{}),` `,(0,H.jsx)(`span`,{className:`conv-meta-label`,children:`Injected context`}),(0,H.jsx)(`span`,{className:`conv-meta-preview`,children:kx(e.text)})]});return(0,H.jsx)(`div`,{ref:r,className:i(`conv-item--meta`),style:n,"data-uuid":e.anchor.uuid,children:(0,H.jsxs)(`details`,{className:`conv-meta conv-meta--${t}`,children:[(0,H.jsxs)(`summary`,{children:[(0,H.jsx)(`span`,{className:`conv-chev`,"aria-hidden":`true`}),a]}),t===`command`?(0,H.jsx)(`pre`,{className:`conv-meta-body conv-meta-body--pre`,children:e.text}):(0,H.jsxs)(`div`,{className:`conv-meta-body`,children:[(0,H.jsx)(px,{blocks:e.blocks}),t===`skill`&&e.text&&(0,H.jsxs)(`div`,{className:`conv-item-actions`,children:[(0,H.jsx)(Ox,{sessionId:e.anchor.session_id,uuid:e.anchor.uuid}),(0,H.jsx)($b,{text:e.text})]})]})]})})}return Ul(e.text)&&e.blocks.every(e=>e.kind===`text`)?(0,H.jsx)(`div`,{ref:r,className:i(`conv-item--system`),style:n,"data-uuid":e.anchor.uuid,children:(0,H.jsxs)(`details`,{className:`conv-system-marker`,children:[(0,H.jsxs)(`summary`,{children:[(0,H.jsx)(`span`,{className:`conv-chev`,"aria-hidden":`true`}),(0,H.jsx)(Fb,{}),` System marker`,(0,H.jsx)(Ox,{sessionId:e.anchor.session_id,uuid:e.anchor.uuid,className:`conv-chip-permalink`})]}),(0,H.jsx)(`pre`,{className:`conv-system-marker-body`,children:e.text})]})}):(0,H.jsxs)(`div`,{ref:r,className:i(`conv-item--human`),style:n,"data-uuid":e.anchor.uuid,children:[(0,H.jsx)(`div`,{className:`conv-item-head`,children:(0,H.jsx)(`span`,{className:`conv-item-label`,children:`You`})}),e.text&&(0,H.jsx)(sx,{children:e.text}),(0,H.jsx)(px,{blocks:e.blocks.filter(e=>e.kind!==`text`)}),e.text&&(0,H.jsxs)(`div`,{className:`conv-item-actions`,children:[(0,H.jsx)(Ox,{sessionId:e.anchor.session_id,uuid:e.anchor.uuid}),(0,H.jsx)($b,{text:e.text})]})]})}var jx=(0,_.memo)((0,_.forwardRef)(Ax)),Mx=60;function Nx(e){return e==null?null:e===`completed`?(0,H.jsx)(`span`,{className:`conv-subagent-ok`,"aria-label":`completed`,title:`completed`,children:`✓`}):e===`error`?(0,H.jsxs)(`span`,{className:`conv-subagent-err`,children:[(0,H.jsx)(`span`,{"aria-hidden":`true`,children:`✕`}),` error`]}):(0,H.jsxs)(`span`,{className:`conv-subagent-warn`,children:[(0,H.jsx)(`span`,{"aria-hidden":`true`,children:`⚠`}),` `,e]})}function Px(e,t){let n=((e.find(e=>e.kind!==`meta`)??e[0])?.text??``).split(`
56
+ `).map(e=>e.trim()).find(e=>e.length>0)??``;return n?n.length>Mx?`${n.slice(0,Mx).trimEnd()}…`:n:`Subagent ${t}`}function Fx({subagentKey:e,items:t,nested:n,meta:r,getItemRef:i,forceOpen:a=!1,riseClassName:o=``,riseStyle:s}){let[c,l]=(0,_.useState)(!1),u=c||a;(0,_.useEffect)(()=>{a&&l(!0)},[a]);let d=Px(t,e),f=t.reduce((e,t)=>e+(`cost_usd`in t?t.cost_usd??0:0),0),p=[...new Set(t.map(e=>`model`in e?e.model:null).filter(Boolean))];return(0,H.jsxs)(`details`,{className:[n?`conv-sidechain conv-sidechain--nested`:`conv-sidechain`,a?`conv-sidechain--force`:``,o].filter(Boolean).join(` `),style:s,open:u,onToggle:e=>l(e.currentTarget.open),children:[(0,H.jsxs)(`summary`,{className:`conv-sidechain-head`,children:[(0,H.jsx)(`span`,{className:`conv-sidechain-glyph`,"aria-hidden":`true`,children:(0,H.jsx)(Pb,{})}),(0,H.jsxs)(`span`,{className:`conv-sidechain-headtext`,children:[(0,H.jsxs)(`span`,{className:`conv-sidechain-kind`,children:[`Subagent`,r?.kind?(0,H.jsxs)(`span`,{className:`conv-sidechain-kindname`,children:[` · `,r.kind]}):null]}),(0,H.jsx)(`span`,{className:`conv-sidechain-title`,children:d}),r&&(r.total_tokens!=null||r.total_duration_ms!=null||r.total_tool_use_count!=null||r.status!=null)&&(0,H.jsxs)(`span`,{className:`conv-sidechain-submeta`,children:[r.total_tokens!=null&&(0,H.jsxs)(`span`,{children:[A.compact(r.total_tokens),` tok`]}),r.total_duration_ms!=null&&(0,H.jsx)(`span`,{children:A.durationMs(r.total_duration_ms)}),r.total_tool_use_count!=null&&(0,H.jsxs)(`span`,{children:[r.total_tool_use_count,` `,r.total_tool_use_count===1?`tool`:`tools`]}),Nx(r.status)]})]}),(0,H.jsxs)(`span`,{className:`conv-sidechain-meta`,children:[p.length>0&&(0,H.jsx)(`span`,{className:`conv-sidechain-model`,children:p.join(`, `)}),(0,H.jsxs)(`span`,{children:[t.length,` msgs`]}),(0,H.jsx)(`span`,{className:`conv-sidechain-cost`,children:A.usd2(f)}),(0,H.jsx)(`span`,{className:`conv-chev`,"aria-hidden":`true`})]})]}),(0,H.jsx)(`div`,{className:`conv-sidechain-body`,children:t.map(e=>(0,H.jsx)(jx,{item:e,ref:u&&i?i(e):void 0},e.anchor.uuid))})]})}function Ix(e){for(let t of e.items)if(t.kind===`human`&&!t.is_sidechain&&t.text.trim()&&!Ul(t.text)){let e=t.text.split(`
57
+ `).map(e=>e.trim()).find(Boolean);if(e)return e.length>120?e.slice(0,120).trimEnd()+`…`:e}return e.project_label||e.session_id}function Lx({sessionId:e,mobileBack:t}){let{detail:n,loading:r,error:i,hasMore:a,loadMore:o,loadUntil:s}=zl(e),c=(0,_.useSyncExternalStore)(B,()=>z().conversationJump),l=jo(),u=(0,_.useRef)(null),d=(0,_.useRef)(new Map),f=(0,_.useRef)(new Map),p=(0,_.useRef)(null),[m,h]=(0,_.useState)(null),g=(0,_.useRef)(new Set),[v,y]=(0,_.useState)(0),b=(0,_.useRef)(0);b.current=v;let x=(0,_.useRef)(null),S=(0,_.useRef)(null),C=(0,_.useRef)(a);C.current=a;let w=(0,_.useRef)(o);w.current=o;let T=(0,_.useRef)(l);T.current=l;let E=(0,_.useMemo)(()=>Vl(n?.items??[]),[n?.items]),D=(0,_.useMemo)(()=>n?Ix(n):``,[n]);(0,_.useEffect)(()=>{if(!u.current||!a)return;let e=new IntersectionObserver(e=>{e[0].isIntersecting&&o()});return e.observe(u.current),()=>e.disconnect()},[a,o]),(0,_.useEffect)(()=>{if(!c||c.session_id!==e){m!==null&&h(null);return}if(!n||n.session_id!==e)return;let t=!1;return(async()=>{if(await s(c.uuid),t)return;let e=d.current.get(c.uuid);if(e){e.scrollIntoView({behavior:l?`auto`:`smooth`,block:`center`}),e.classList.add(`conv-item--jumped`),p.current!=null&&window.clearTimeout(p.current),p.current=window.setTimeout(()=>{e.classList.remove(`conv-item--jumped`),p.current=null},2e3),V({type:`CLEAR_CONVERSATION_JUMP`}),h(null);return}let r=n.items.find(e=>e.member_uuids.includes(c.uuid));if(r&&r.subagent_key!=null&&m!==r.subagent_key){h(r.subagent_key);return}a||V({type:`CLEAR_CONVERSATION_JUMP`})})(),()=>{t=!0}},[c,e,n?.items.length,a,m]),(0,_.useEffect)(()=>()=>{p.current!=null&&window.clearTimeout(p.current)},[]),(0,_.useEffect)(()=>()=>{f.current.clear()},[e]),(0,_.useEffect)(()=>{h(null)},[e]),(0,_.useEffect)(()=>{g.current.clear()},[e]),(0,_.useEffect)(()=>{for(let e of E){let t=e.kind===`subagent`||e.kind===`tool_result_run`?e.items[0]?.anchor.uuid:e.item.anchor.uuid;t&&g.current.add(t)}},[E]);let O=(0,_.useCallback)((t,n,r)=>l||g.current.has(t)||c!=null&&c.session_id===e&&n.includes(c.uuid)?[``,void 0]:[`conv-rise`,{animationDelay:g.current.size===0?`${r*40}ms`:`0ms`}],[l,c,e]),k=(0,_.useCallback)(e=>{let t=f.current,n=e.anchor.uuid,r=t.get(n);return r||(r=t=>{for(let n of e.member_uuids)t?d.current.set(n,t):d.current.delete(n)},t.set(n,r)),r},[]);(0,_.useEffect)(()=>{y(0)},[e]),(0,_.useEffect)(()=>{let e=x.current;if(!e)return;let t=e.children;for(let e=0;e<t.length;e++)t[e].classList.toggle(`conv-item--focused`,e===v)},[v,E]);let j=(0,_.useCallback)(e=>{let t=x.current;if(!t)return;let n=t.children.length-1;if(n<0)return;let r=b.current,i=Math.max(0,Math.min(n,r+e));if(e>0&&r===n&&C.current){w.current();return}i!==r&&(y(i),t.children[i]?.scrollIntoView({block:`nearest`,behavior:T.current?`auto`:`smooth`}))},[]),M=(0,_.useCallback)(e=>{let t=x.current;if(!t)return;t.classList.add(`conv-reader-thread--bulk`),t.querySelectorAll(`details`).forEach(t=>{t.open=e});let n=()=>t.classList.remove(`conv-reader-thread--bulk`);typeof requestAnimationFrame==`function`?requestAnimationFrame(n):n()},[]),N=(0,_.useCallback)(()=>{S.current?.scrollTo({top:0,behavior:T.current?`auto`:`smooth`}),y(0)},[]);return Ut((0,_.useMemo)(()=>{let e=()=>!z().openModal&&z().inputMode===null,t=(t,n)=>({key:t,scope:`global`,view:`conversations`,when:e,action:n});return[t(`j`,()=>j(1)),t(`k`,()=>j(-1)),t(`[`,()=>M(!1)),t(`]`,()=>M(!0)),t(`g`,()=>N())]},[])),r&&!n?(0,H.jsx)(`div`,{className:`conv-reader conv-reader--loading`,children:(0,H.jsxs)(`div`,{className:`conv-state`,children:[(0,H.jsx)(`span`,{className:`conv-state-glyph`,"aria-hidden":`true`,children:(0,H.jsx)(Yb,{})}),(0,H.jsx)(`div`,{className:`conv-state-title`,children:`Loading conversation…`})]})}):i?(0,H.jsx)(`div`,{className:`conv-reader conv-reader--error`,children:(0,H.jsxs)(`div`,{className:`conv-state`,children:[(0,H.jsx)(`span`,{className:`conv-state-glyph`,"aria-hidden":`true`,children:(0,H.jsx)(Xb,{})}),(0,H.jsx)(`div`,{className:`conv-state-title`,children:i})]})}):n?(0,H.jsxs)(`div`,{className:`conv-reader`,children:[(0,H.jsxs)(`div`,{className:`conv-reader-head`,children:[t&&(0,H.jsx)(`button`,{type:`button`,className:`conv-back`,onClick:()=>V({type:`SELECT_CONVERSATION`,sessionId:null}),children:`← Back`}),(0,H.jsx)(`div`,{className:`conv-reader-title`,children:D||n.session_id}),(0,H.jsxs)(`div`,{className:`conv-reader-meta`,children:[n.project_label||`—`,` · `,n.git_branch??`—`,` · `,A.usd2(n.cost_usd),` · `,n.models.join(`, `)]})]}),(0,H.jsxs)(`div`,{className:`conv-reader-body`,ref:S,children:[(0,H.jsx)(`div`,{className:`conv-reader-thread`,ref:x,children:E.map((t,r)=>{if(t.kind===`subagent`){let i=t.items.flatMap(e=>e.member_uuids),[a,o]=O(t.items[0].anchor.uuid,i,r);return(0,H.jsx)(Fx,{subagentKey:t.subagentKey,items:t.items,nested:t.nested,meta:n.subagent_meta?.[t.subagentKey],getItemRef:k,forceOpen:n.session_id===e&&t.subagentKey===m,riseClassName:a,riseStyle:o},`sc-${t.subagentKey}`)}if(t.kind===`tool_result_run`){let e=t.items.flatMap(e=>e.member_uuids),[n,i]=O(t.items[0].anchor.uuid,e,r);return(0,H.jsxs)(`details`,{className:[`conv-toolresult-run`,n].filter(Boolean).join(` `),style:i,open:!0,children:[(0,H.jsxs)(`summary`,{children:[(0,H.jsx)(`span`,{className:`conv-chev`,"aria-hidden":`true`}),(0,H.jsx)(Hb,{}),` `,t.items.length,` tool results`]}),(0,H.jsx)(`div`,{className:`conv-toolresult-run-body`,children:t.items.map(e=>(0,H.jsx)(jx,{item:e,ref:k(e)},e.anchor.uuid))})]},`trr-${t.items[0].anchor.uuid}`)}let[i,a]=O(t.item.anchor.uuid,t.item.member_uuids,r);return(0,H.jsx)(jx,{item:t.item,ref:k(t.item),className:i,style:a},t.item.anchor.uuid)})}),a&&(0,H.jsx)(`div`,{ref:u,className:`conv-load-sentinel`,children:`Loading more…`})]})]}):(0,H.jsx)(`div`,{className:`conv-reader conv-reader--empty`,children:(0,H.jsxs)(`div`,{className:`conv-state`,children:[(0,H.jsx)(`span`,{className:`conv-state-glyph`,"aria-hidden":`true`,children:(0,H.jsx)(Zb,{})}),(0,H.jsx)(`div`,{className:`conv-state-title`,children:`Select a conversation`}),(0,H.jsx)(`div`,{className:`conv-state-hint`,children:`Choose one from the list to start reading.`})]})})}function Rx(){let e=(0,_.useSyncExternalStore)(B,()=>z().selectedConversationId),t=Ge(),n=ln();return Ut(zx),xt(t)?n?(0,H.jsx)(`div`,{className:`conv-view conv-view--mobile`,children:e==null?(0,H.jsx)(Nl,{}):(0,H.jsx)(Lx,{sessionId:e,mobileBack:!0})}):(0,H.jsxs)(`div`,{className:`conv-view`,children:[(0,H.jsx)(Nl,{}),e==null?(0,H.jsx)(`div`,{className:`conv-reader conv-reader--empty`,children:(0,H.jsxs)(`div`,{className:`conv-state`,children:[(0,H.jsx)(`span`,{className:`conv-state-glyph`,"aria-hidden":`true`,children:(0,H.jsx)(Zb,{})}),(0,H.jsx)(`div`,{className:`conv-state-title`,children:`Select a conversation`}),(0,H.jsx)(`div`,{className:`conv-state-hint`,children:`Choose one from the list to start reading.`})]})}):(0,H.jsx)(Lx,{sessionId:e})]}):(0,H.jsxs)(`div`,{className:`conv-disabled`,children:[`Transcript viewing is disabled. Enable it with`,` `,(0,H.jsx)(`code`,{children:`cctally config set dashboard.expose_transcripts true`}),` `,`(loopback is always allowed; restart the dashboard to apply).`]})}var zx=[{key:`/`,scope:`global`,view:`conversations`,when:()=>!z().openModal&&z().inputMode===null,action:()=>{let e=document.querySelector(`.conv-rail-search input`);e?.focus(),e?.select()}},{key:`Escape`,scope:`global`,view:`conversations`,when:()=>!z().openModal,action:()=>{if(z().conversationSearch){V({type:`SET_CONVERSATION_SEARCH`,text:``});return}V({type:`SET_VIEW`,view:`dashboard`})}}];function Bx(){let e=(0,_.useSyncExternalStore)(B,()=>z().prefs.panelOrder),t=(0,_.useSyncExternalStore)(B,()=>z().view);return(0,H.jsxs)(H.Fragment,{children:[(0,H.jsx)(At,{}),t===`conversations`?(0,H.jsx)(Rx,{}):(0,H.jsx)(Ro,{items:e,children:(0,H.jsx)(`div`,{className:`grid`,children:e.map((e,t)=>(0,H.jsx)(Mo,{id:e,index:t},e))})}),(0,H.jsx)(It,{}),(0,H.jsx)(Xn,{}),(0,H.jsx)(tr,{}),(0,H.jsx)(Cc,{}),(0,H.jsx)(bl,{}),(0,H.jsx)(os,{}),(0,H.jsx)(Vo,{}),(0,H.jsx)(cr,{})]})}function Vx(e){let t=z().prefs.panelOrder,n=e-1;if(n<0||n>=t.length)return;let r=Kn[t[n]];r&&r.openAction()}var Hx=`Click a panel first, then press S to share it.`;function Ux(){return typeof window>`u`||!window.matchMedia?!1:window.matchMedia(cn).matches}function Wx(){if(typeof document>`u`)return null;let e=document.activeElement;if(!e||!(e instanceof Element))return null;let t=e.closest(`[data-panel-kind]`);return t?t.getAttribute(`data-panel-kind`):null}function Gx(){return{key:`S`,scope:`global`,when:()=>{let e=z();return!(Ux()||e.shareModal!==null||e.composerModal!==null||e.openModal!==null||e.update.modalOpen||e.inputMode!==null)},action:()=>{let e=Wx();if(e===null){V({type:`SHOW_STATUS_TOAST`,text:Hx});return}if(!ie.has(e))return;let t=e;V(L(t,`${t}-panel`))}}}function Kx(){return typeof window>`u`||!window.matchMedia?!1:window.matchMedia(cn).matches}function qx(){return{key:`B`,scope:`global`,when:()=>{let e=z();return!(Kx()||e.shareModal!==null||e.composerModal!==null||e.openModal!==null||e.update.modalOpen||e.inputMode!==null)},action:()=>V(me())}}function Jx(){return[qx()]}pt(),tt(),Ht(),Dx();var Yx=()=>{let e=z();return!e.update.modalOpen&&!e.doctorModalOpen};Vt([{key:`1`,scope:`global`,when:Yx,action:()=>Vx(1)},{key:`2`,scope:`global`,when:Yx,action:()=>Vx(2)},{key:`3`,scope:`global`,when:Yx,action:()=>Vx(3)},{key:`4`,scope:`global`,when:Yx,action:()=>Vx(4)},{key:`5`,scope:`global`,when:Yx,action:()=>Vx(5)},{key:`6`,scope:`global`,when:Yx,action:()=>Vx(6)},{key:`7`,scope:`global`,when:Yx,action:()=>Vx(7)},{key:`8`,scope:`global`,when:Yx,action:()=>Vx(8)},{key:`9`,scope:`global`,when:Yx,action:()=>Vx(9)},{key:`0`,scope:`global`,when:Yx,action:()=>Vx(10)},{key:`r`,scope:`global`,when:Yx,action:()=>Ot()},{key:`q`,scope:`global`,when:Yx,action:Ft},{key:`n`,scope:`global`,when:Yx,action:()=>Nt(1)},{key:`N`,scope:`global`,when:Yx,action:()=>Nt(-1)},{key:`d`,scope:`global`,view:`any`,when:()=>{let e=z();return!(e.openModal!==null||e.update.modalOpen||e.inputMode!==null)},action:()=>V({type:`OPEN_DOCTOR_MODAL`})},Gx(),...Jx(),{key:`c`,scope:`sessions`,when:()=>!z().openModal,action:()=>{let e=z().prefs.sessionsCollapsed;V({type:`SAVE_PREFS`,patch:{sessionsCollapsed:!e}})}}]);var Xx=document.getElementById(`root`);if(!Xx)throw Error(`missing #root`);(0,v.createRoot)(Xx).render((0,H.jsx)(_.StrictMode,{children:(0,H.jsx)(Bx,{})}));
@@ -4,8 +4,8 @@
4
4
  <meta charset="utf-8" />
5
5
  <meta name="viewport" content="width=device-width, initial-scale=1, viewport-fit=cover" />
6
6
  <title>cctally dashboard</title>
7
- <script type="module" crossorigin src="/static/assets/index-tToO8p8A.js"></script>
8
- <link rel="stylesheet" crossorigin href="/static/assets/index-C6pXKeN4.css">
7
+ <script type="module" crossorigin src="/static/assets/index-CBF2oN2C.js"></script>
8
+ <link rel="stylesheet" crossorigin href="/static/assets/index-C415tTN5.css">
9
9
  </head>
10
10
  <body>
11
11
  <div id="root"></div>
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "cctally",
3
- "version": "1.32.0",
3
+ "version": "1.33.0",
4
4
  "description": "Claude Code usage tracker and local dashboard for Pro/Max subscription limits - weekly cost-per-percent trend, quota forecasts, threshold alerts. ccusage-compatible.",
5
5
  "homepage": "https://github.com/omrikais/cctally",
6
6
  "repository": {