@spexcode/spec-dashboard 0.6.8 → 0.7.0-next.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (71) hide show
  1. package/dist/assets/{App-DANZYsFg.js → App-BBoP1IyU.js} +2 -2
  2. package/{dist-public/assets/EmptyView-CX3NC0Nq.js → dist/assets/EmptyView-DvUslJmJ.js} +1 -1
  3. package/dist/assets/EvalsPage-DBVkF_F0.js +2 -0
  4. package/dist/assets/FileView-BqSwsBx0.js +2 -0
  5. package/dist/assets/GraphView-DmtM56Gf.js +26 -0
  6. package/dist/assets/IssuesPage-BZ36PpJ-.js +1 -0
  7. package/dist/assets/MobileApp-DuXKCmKv.js +2 -0
  8. package/dist/assets/Modal-oF4JAL6H.js +1 -0
  9. package/dist/assets/{NodeView-D6JZc3ap.js → NodeView-CZYwYCCu.js} +1 -1
  10. package/dist/assets/ProjectsPage-DUpxEHcM.js +1 -0
  11. package/dist/assets/ProseActions-CSG_3k1b.js +8 -0
  12. package/dist/assets/Settings-qIX2_HmP.js +1 -0
  13. package/dist/assets/SpecView-CM3BOtTy.js +1 -0
  14. package/dist/assets/Thread-4tohzgUo.js +9 -0
  15. package/dist/assets/WorkspaceSurface-BysfRmg3.js +2 -0
  16. package/dist/assets/index-B948v2sT.css +1 -0
  17. package/dist/assets/index-Co8kmYQY.js +40 -0
  18. package/dist/assets/index-cI0gAOhx.js +13 -0
  19. package/dist/assets/{tabs-BxFTq-sB.js → tabs-C4phsoFs.js} +58 -57
  20. package/dist/index.html +2 -2
  21. package/dist-public/assets/{App-Bz1E7Es7.js → App-DI39ygL3.js} +2 -2
  22. package/{dist/assets/EmptyView-xnSRh3XP.js → dist-public/assets/EmptyView-BdrTMUAy.js} +1 -1
  23. package/dist-public/assets/EvalsPage-DIfyOQXb.js +2 -0
  24. package/dist-public/assets/FileView-BmDYhU9C.js +2 -0
  25. package/dist-public/assets/GraphView-nuH0yFnk.js +26 -0
  26. package/dist-public/assets/IssuesPage-0kQamj5x.js +1 -0
  27. package/dist-public/assets/MobileApp-DxiBJpdL.js +2 -0
  28. package/dist-public/assets/Modal-DvHG_lvi.js +1 -0
  29. package/dist-public/assets/{NodeView-cN_xZ1kR.js → NodeView-BQwIXw15.js} +1 -1
  30. package/dist-public/assets/ProjectsPage-Ctzz8z3E.js +1 -0
  31. package/dist-public/assets/ProseActions-3FcAR01Y.js +8 -0
  32. package/dist-public/assets/Settings-GX7a1idU.js +1 -0
  33. package/dist-public/assets/SpecView-OcNkvuaj.js +1 -0
  34. package/dist-public/assets/Thread-UIOe-Brh.js +9 -0
  35. package/dist-public/assets/WorkspaceSurface-r01RoZft.js +2 -0
  36. package/dist-public/assets/index-B948v2sT.css +1 -0
  37. package/dist-public/assets/index-DkZ_7FOT.js +40 -0
  38. package/dist-public/assets/index-Ix7HFN0I.js +13 -0
  39. package/dist-public/assets/{tabs-BL3Okd06.js → tabs-Dv9P0FBJ.js} +58 -57
  40. package/dist-public/index.html +2 -2
  41. package/package.json +5 -3
  42. package/dist/assets/EvalsPage-DDxIUAuR.js +0 -2
  43. package/dist/assets/FileView-DZaiEPRK.js +0 -2
  44. package/dist/assets/GraphView-DHEhg_eI.js +0 -26
  45. package/dist/assets/IssuesPage-B5qjvpP1.js +0 -1
  46. package/dist/assets/MobileApp-fvc4gfCx.js +0 -2
  47. package/dist/assets/PageScroll-DE6nL5p-.js +0 -1
  48. package/dist/assets/ProjectsPage-I7XFn8kG.js +0 -1
  49. package/dist/assets/ProseActions-LG4ve4AO.js +0 -7
  50. package/dist/assets/Settings-D7NeDdd1.js +0 -1
  51. package/dist/assets/SpecView-mkyrBxLO.js +0 -1
  52. package/dist/assets/Thread-Cx5fJkFO.js +0 -9
  53. package/dist/assets/WorkspaceSurface-DgbzdTEl.js +0 -2
  54. package/dist/assets/index-B-qrQ2QS.js +0 -40
  55. package/dist/assets/index-RoVUefLX.js +0 -13
  56. package/dist/assets/index-nweIph9V.css +0 -1
  57. package/dist-public/assets/EvalsPage-BBzomD1v.js +0 -2
  58. package/dist-public/assets/FileView-Cf5bY14h.js +0 -2
  59. package/dist-public/assets/GraphView-5dgjv4t6.js +0 -26
  60. package/dist-public/assets/IssuesPage-B_knZkH6.js +0 -1
  61. package/dist-public/assets/MobileApp-BpnF0xSz.js +0 -2
  62. package/dist-public/assets/PageScroll-CEYT-x2I.js +0 -1
  63. package/dist-public/assets/ProjectsPage-CWaOO-Y7.js +0 -1
  64. package/dist-public/assets/ProseActions-rr5Mm1WB.js +0 -7
  65. package/dist-public/assets/Settings-louVIHfW.js +0 -1
  66. package/dist-public/assets/SpecView-qZMzQH75.js +0 -1
  67. package/dist-public/assets/Thread-Ca_r1oDT.js +0 -9
  68. package/dist-public/assets/WorkspaceSurface-bsUptX-4.js +0 -2
  69. package/dist-public/assets/index-3mcnUCQ1.js +0 -40
  70. package/dist-public/assets/index-BmOx7kVX.js +0 -13
  71. package/dist-public/assets/index-nweIph9V.css +0 -1
@@ -1 +0,0 @@
1
- :root{--paper: #262626;--panel: #212121;--panel2:#363636;--line: #454545;--ink: #d1d1d1;--ink2: #ededed;--muted: #999999;--blue: #6c99bb;--green: #a8c373;--orange:#d5763f;--red: #d04255;--yellow:#e5b567;--magenta:#9e86c8;--cyan: #73bbb2;--ground:#1b1b1b;--term-bg: #212121;--mono: "JetBrains Mono", ui-monospace, "SF Mono", Menlo, Consolas, monospace;--ui-font: var(--mono);--ui-font-sans: ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans SC", "PingFang SC", "Microsoft YaHei", sans-serif;--type-caption: 11px;--type-meta: 12px;--type-control: 13px;--type-body: 13px;--type-prose: 14px;--type-subtitle: 15px;--type-title: 17px;--type-heading: 20px;--type-icon-sm: 16px;--type-icon-lg: 24px;--type-display: 26px;--type-hero: clamp(5.5px, 1.15vw, 9.5px);--type-terminal: 11px;--weight-regular: 400;--weight-medium: 500;--weight-semibold: 600;--leading-none: 1;--leading-tight: 1.25;--leading-ui: 1.45;--leading-hero: 1.06;--leading-relaxed: 1.55;--leading-body: 1.65;--line-input: 20px;--line-badge: 16px;--line-session-row: 18px;--line-status: 24px;--tracking-normal: 0;--dur-panel: .17s;--dur-tab: .15s;--radius: 6px;--radius-full: 999px;--space-1: 2px;--space-2: 4px;--space-3: 6px;--space-4: 8px;--space-5: 12px;--space-6: 16px;--space-7: 24px;--edge: color-mix(in srgb, var(--line) 55%, transparent);--divider-rule: 1px solid var(--edge);--shadow: 0 4px 16px rgba(0, 0, 0, .18);--wash-hover: color-mix(in srgb, var(--ink) 8%, transparent);--wash-active: color-mix(in srgb, var(--ink) 14%, transparent);--wash-selected: color-mix(in srgb, var(--blue) 14%, transparent);--focus-ring: inset 0 0 0 2px color-mix(in srgb, var(--blue) 55%, transparent);--field-bg: var(--paper);color-scheme:dark}:root[data-theme=things]{--paper: #ffffff;--panel: #f6f7f8;--panel2:#f0f0f0;--line: #d4d4d4;--ink: #555e68;--ink2: #252b32;--muted: #a2aab3;--blue: #2e80f2;--green: #0cb54f;--orange:#d96c00;--red: #e4374b;--yellow:#bd8e37;--magenta:#876be0;--cyan: #2db7b5;--ground:#eceef0;--term-bg: #0d1117;color-scheme:light}:root[data-theme=notion]{color-scheme:light;--paper: #ffffff;--panel: #fbfbfa;--panel2:#f1f1ef;--line: #e6e6e3;--ink: #37352f;--ink2: #1f1e1b;--muted: #787774;--blue: #2383e2;--green: #448361;--orange:#d9730d;--red: #e03e3e;--yellow:#cb912f;--magenta:#9065b0;--cyan: #0b6e99;--ground:#f7f7f5;--term-bg: #191919;--ui-font: var(--ui-font-sans);--radius: 4px;--shadow: 0 0 0 1px rgba(15, 15, 15, .04), 0 3px 6px rgba(15, 15, 15, .08), 0 9px 24px rgba(15, 15, 15, .16);--wash-hover: rgba(55, 53, 47, .08);--wash-active: rgba(55, 53, 47, .16);--wash-selected: rgba(35, 131, 226, .14);--focus-ring: inset 0 0 0 2px rgba(35, 131, 226, .45);--field-bg: rgba(242, 241, 238, .6)}:root[data-theme=tokyonight]{--paper: #1a1b26;--panel: #16161e;--panel2:#24283b;--line: #414868;--ink: #a9b1d6;--ink2: #c0caf5;--muted: #565f89;--blue: #7aa2f7;--green: #9ece6a;--orange:#ff9e64;--red: #ff757f;--yellow:#e0af68;--magenta:#bb9af7;--cyan: #7dcfff;--ground:#101018;--term-bg: #16161e}:root[data-theme=catppuccin]{--paper: #1e1e2e;--panel: #181825;--panel2:#313244;--line: #45475a;--ink: #cdd6f4;--ink2: #b4befe;--muted: #7f849c;--blue: #89b4fa;--green: #a6e3a1;--orange:#fab387;--red: #f38ba8;--yellow:#f9e2af;--magenta:#cba6f7;--cyan: #94e2d5;--ground:#11111b;--term-bg: #11111b}:root[data-theme=everforest]{--paper: #333c43;--panel: #293136;--panel2:#434f55;--line: #555f66;--ink: #d3c6aa;--ink2: #e4d9c2;--muted: #859289;--blue: #7fbbb3;--green: #a7c080;--orange:#e69875;--red: #e67e80;--yellow:#dbbc7f;--magenta:#d699b6;--cyan: #83c092;--ground:#232a2e;--term-bg: #293136}:root[data-theme=gruvbox]{--paper: #282828;--panel: #1d2021;--panel2:#3c3836;--line: #504945;--ink: #ebdbb2;--ink2: #fbf1c7;--muted: #928374;--blue: #83a598;--green: #b8bb26;--orange:#fe8019;--red: #fb4934;--yellow:#fabd2f;--magenta:#d3869b;--cyan: #8ec07c;--ground:#151718;--term-bg: #1d2021}:root[data-theme=rosepine]{--paper: #faf4ed;--panel: #fffaf3;--panel2:#f2e9e1;--line: #cecacd;--ink: #575279;--ink2: #46425f;--muted: #9893a5;--blue: #56949f;--green: #286983;--orange:#d7827e;--red: #b4637a;--yellow:#ea9d34;--magenta:#907aa9;--cyan: #d7827e;--ground:#eee4d9;--term-bg: #0d1117;color-scheme:light}:root[data-theme=dracula]{--paper: #282a36;--panel: #20212b;--panel2:#44475a;--line: #44475a;--ink: #f8f8f2;--ink2: #ffffff;--muted: #6272a4;--blue: #bd93f9;--green: #50fa7b;--orange:#ffb86c;--red: #ff5555;--yellow:#f1fa8c;--magenta:#ff79c6;--cyan: #8be9fd;--ground:#191a21;--term-bg: #20212b}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}:focus-visible{outline:none;box-shadow:var(--focus-ring)}.sess-rename-input:focus:focus-visible,.search-input:focus-visible,.rl-query input:focus-visible,.fv-input:focus:focus-visible,.fv-textarea:focus:focus-visible,.si-archive-search input:focus-visible,.si-input:focus-visible,.si-command-input:focus-visible,.m-input:focus-visible,.rf-compact input:focus-visible,.cred-input:focus:focus-visible,.identity-search input:focus-visible,.proj-remove-confirm input:focus:focus-visible,.pa-input:focus:focus-visible{box-shadow:none}body{background:var(--paper);color:var(--ink);font-family:var(--ui-font);font-size:var(--type-body);line-height:var(--leading-ui);letter-spacing:var(--tracking-normal);-webkit-font-smoothing:antialiased}*{scrollbar-color:var(--line) transparent;scrollbar-width:thin}::-webkit-scrollbar{width:9px;height:9px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--line);border-radius:var(--radius);border:2px solid var(--panel)}::-webkit-scrollbar-thumb:hover{background:var(--muted)}::-webkit-scrollbar-corner{background:transparent}.backend-frame{display:flex;flex-direction:column;height:100vh;min-height:0}.backend-frame>.app-shell{flex:1;min-height:0}.backend-offline-banner{flex:0 0 32px;display:flex;align-items:center;justify-content:center;gap:8px;min-width:0;padding:0 12px;color:var(--yellow);background:color-mix(in srgb,var(--yellow) 12%,var(--ground));border-bottom:1px solid color-mix(in srgb,var(--yellow) 35%,var(--edge));font-size:var(--type-meta)}.backend-offline-banner span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.backend-offline-banner button{padding:2px 8px;color:var(--ink2);background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);font:inherit;cursor:pointer}.backend-offline-banner button:hover{border-color:var(--yellow)}.app-shell{height:100%;min-height:0;display:flex;flex-direction:column}.app{width:100%;flex:1 1 auto;min-height:0;display:flex}.app-content-column{flex:1;min-width:0;min-height:0;display:flex;flex-direction:column;position:relative}.app-content-row{flex:1;min-width:0;min-height:0;display:flex}.app-main{flex:1;min-width:0;display:flex;flex-direction:column;position:relative}.context-toggle{width:24px;height:24px;display:inline-flex;align-items:center;justify-content:center;color:var(--muted);background:transparent;border:1px solid transparent;border-radius:var(--radius);cursor:pointer}.context-toggle:hover,.context-toggle.on{color:var(--blue);background:color-mix(in srgb,var(--blue) 10%,transparent)}.context-dock{flex:0 0 auto;position:relative;display:flex;flex-direction:column;min-height:0;max-width:640px;overflow:hidden;background:var(--ground);border-left:1px solid var(--edge)}.ctx-body{flex:1;min-height:0;overflow:auto}.ctx-resize{position:absolute;top:0;left:0;bottom:0;width:6px;cursor:col-resize;z-index:2}.ctx-head{flex:0 0 30px;display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding:0 var(--space-5);color:var(--muted);font-size:var(--type-meta);border-bottom:1px solid var(--edge)}.ctx-node-id{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--ink2)}.ctx-panel{flex:0 0 auto;border-bottom:1px solid var(--edge)}.ctx-panel-head{width:100%;display:flex;align-items:center;justify-content:space-between;padding:var(--space-3) var(--space-5);color:var(--ink2);background:transparent;border:0;font:inherit;font-size:var(--type-meta);font-weight:var(--weight-medium);text-align:left;cursor:pointer}.ctx-panel-head:hover{background:var(--wash-hover)}.ctx-list{display:flex;flex-direction:column;padding:0 5px 7px}.ctx-row{display:flex;align-items:center;gap:6px;min-width:0;padding:5px;color:var(--ink);text-decoration:none;font-size:var(--type-meta)}.ctx-row:hover{color:var(--ink2);background:color-mix(in srgb,var(--blue) 10%,transparent)}.ctx-row-label{min-width:0;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ctx-issue-state{flex:0 0 auto}.ctx-row code,.ctx-state{flex:0 0 auto;max-width:42%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted);font-size:var(--type-caption)}.ctx-score{flex:0 0 16px;text-align:center;font-weight:var(--weight-semibold)}.ctx-score.pass{color:var(--green)}.ctx-score.fail{color:var(--red)}.ctx-score.stalePass,.ctx-score.staleFail,.ctx-score.empty,.ctx-score.missing{color:var(--muted)}.ctx-empty{padding:8px 10px 12px;color:var(--muted);font-size:var(--type-meta)}.ctx-error{color:var(--red)}.filetree{flex:0 0 auto;position:relative;display:flex;flex-direction:column;min-height:0;background:var(--ground);border-right:1px solid var(--edge)}.dock-head{flex:0 0 30px;height:30px;display:flex;align-items:center;gap:var(--space-3);padding:0 var(--space-4) 0 var(--space-5);border-bottom:1px solid var(--edge);color:var(--muted);font-size:var(--type-meta);line-height:var(--leading-ui)}.dock-head-name{color:var(--ink2);font-weight:var(--weight-medium)}.dock-head-count{color:var(--muted);font-variant-numeric:tabular-nums}.dock-stale{margin-left:4px;color:var(--yellow);font-style:normal;font-size:var(--type-caption)}.sb-stale{position:absolute;right:-5px;top:0;display:inline-flex;align-items:center;justify-content:center;width:5px;height:14px;margin-left:0;color:var(--yellow);font-style:normal;font-size:var(--type-caption);line-height:var(--line-status);overflow:visible}.sb-stale:before{content:"~";position:absolute;left:0;top:0}.dock-head-acts{margin-left:auto;display:inline-flex;align-items:center;gap:var(--space-1)}.dock-head-act{width:22px;height:22px;display:inline-flex;align-items:center;justify-content:center;color:var(--muted);background:transparent;border:0;border-radius:var(--radius);cursor:pointer}.dock-head-act:hover{color:var(--ink2);background:var(--wash-hover)}.dock-head-act-new{width:24px;height:24px;color:var(--blue);background:transparent;border:1px solid color-mix(in srgb,var(--blue) 72%,var(--line));border-radius:var(--radius);box-shadow:none;transition:color var(--dur-tab),background var(--dur-tab),border-color var(--dur-tab),box-shadow var(--dur-tab)}.dock-head-act-new:hover{color:var(--paper);background:var(--blue);border-color:var(--blue);box-shadow:0 0 0 2px color-mix(in srgb,var(--blue) 22%,transparent)}body.is-session-dragging .dock-archive-door{color:var(--blue);box-shadow:inset 0 0 0 1px var(--blue)}body.is-session-dragging .dock-archive-door:hover{color:var(--red);background:color-mix(in srgb,var(--red) 14%,transparent);box-shadow:inset 0 0 0 1px var(--red)}.ft-body{flex:1;min-height:0;overflow:auto;padding:4px 0 10px;scrollbar-gutter:auto}.ft-graph-entry{flex:0 0 30px;display:flex;align-items:center;gap:var(--space-2);width:100%;padding:0 var(--space-3);color:var(--blue);background:transparent;border:0;border-top:var(--divider-rule);font:inherit;text-align:left;cursor:pointer}.ft-graph-entry:hover{color:var(--ink2);background:var(--wash-hover)}.ft-row{display:flex;align-items:center;gap:6px;width:100%;padding:2px 8px 2px 6px;background:none;border:0;cursor:pointer;text-align:left;font-family:var(--ui-font);font-size:var(--type-meta);line-height:var(--leading-ui);color:var(--ink)}.ft-row:hover{background:var(--wash-hover)}.ft-row.on{background:var(--wash-selected);color:var(--ink2)}.ft-caret{flex:0 0 8px;color:var(--muted);font-size:var(--type-caption)}.ft-dot{flex:0 0 7px;width:7px;height:7px;border-radius:2px}.ft-dot.ft-none{background:none}.ft-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ft-code .ft-label{color:var(--blue)}.ft-dir .ft-label{color:var(--ink)}.ft-code,.ft-dir{text-decoration:none}.ft-resize{position:absolute;top:0;right:-3px;bottom:0;width:6px;cursor:col-resize;z-index:2}.ft-resize:after,.ctx-resize:after{content:"";position:absolute;top:0;bottom:0;left:2px;width:2px;background:transparent}.ft-resize:hover:after,.ctx-resize:hover:after,body.is-resizing .ft-resize:after,body.is-resizing .ctx-resize:after{background:color-mix(in srgb,var(--blue) 55%,transparent)}.ft-section+.ft-section{border-top:var(--divider-rule);margin-top:var(--space-2)}.ft-section-head{display:flex;align-items:center;gap:var(--space-3);width:100%;padding:var(--space-3) var(--space-4) var(--space-3) var(--space-3);background:none;border:0;cursor:pointer;text-align:left;font-family:var(--ui-font);font-size:var(--type-meta);line-height:var(--leading-ui);color:var(--muted)}.ft-section-head:hover{background:var(--wash-hover)}.ft-section-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--ink2);font-weight:var(--weight-medium)}.ft-note{padding:3px 8px 3px 6px;color:var(--muted);font-size:var(--type-caption)}.ft-note-error{color:var(--red)}.dock{flex:0 0 auto;position:relative;display:flex;flex-direction:column;min-height:0;background:var(--ground);border-right:1px solid var(--line);overflow:hidden;max-width:640px}.dock[data-fold=in],.si-list[data-fold=in],.context-dock[data-fold=in]{animation:dock-in var(--dur-panel) ease}.dock,.si-list{animation:dock-swap var(--dur-panel) ease}@keyframes dock-swap{0%{opacity:0;transform:translate(-6px)}}.dock.dock-closing,.si-list.dock-closing,.context-dock.dock-closing{animation:dock-out var(--dur-panel) ease forwards;pointer-events:none}.dock>*{flex-shrink:0}@keyframes dock-in{0%{max-width:0;opacity:0}}@keyframes dock-out{to{max-width:0;opacity:0}}@media (prefers-reduced-motion: reduce){.dock,.si-list,.context-dock,.dock[data-fold=in],.si-list[data-fold=in],.context-dock[data-fold=in],.dock.dock-closing,.si-list.dock-closing,.context-dock.dock-closing{animation:none}}.dock-session-body{position:relative;flex:1;min-height:0;display:flex;flex-direction:column;padding:var(--space-2) 0 0}.dock>.filetree{flex:1;min-height:0;border-right:0;background:transparent}.dock-session-list .si-item[data-locked]{--ov: var(--blue)}.dock-session-list{flex:1;min-height:0;overflow:auto;scrollbar-gutter:auto}.ft-body,.dock-session-list,.ds-side,.m-sesslist,.m-sessdetail{scrollbar-width:none}.ft-body::-webkit-scrollbar,.dock-session-list::-webkit-scrollbar,.ds-side::-webkit-scrollbar,.m-sesslist::-webkit-scrollbar,.m-sessdetail::-webkit-scrollbar{display:none}.dock-session-list .si-item{padding-left:8px;padding-right:8px}.dock-session-zone{--zh: var(--muted);display:flex;align-items:center;gap:6px;width:100%;padding:9px 8px 3px;border:0;background:none;cursor:default;text-align:left;color:var(--zh);font:var(--type-caption)/var(--leading-ui) var(--ui-font);font-weight:var(--weight-semibold);letter-spacing:var(--tracking-normal)}.dock-session-zone:after,.si-zone:after,.m-zone:after{content:"";flex:1;border-top:var(--divider-rule);opacity:.75}.dock-session-zone[aria-expanded]{cursor:pointer}.dock-session-zone[aria-expanded]:hover{background:var(--wash-hover)}.dock-session-zone-need{--zh: var(--yellow)}.dock-session-zone-run{--zh: var(--green)}.dock-session-zone-offline{--zh: var(--muted)}.dock-session-zone-archive{--zh: var(--blue)}.dock-session-count{order:1;flex:none;padding:0 6px;border:1px solid currentColor;border-radius:var(--radius);color:inherit;font:inherit;line-height:var(--line-badge);opacity:.8}.dock-empty{padding:12px 10px;color:var(--muted);font:var(--type-meta)/var(--leading-ui) var(--ui-font)}.viewhost{flex:1;min-width:0;min-height:0;display:flex;flex-direction:column;overflow:hidden;background:var(--paper);position:relative;border-top:var(--divider-rule);box-shadow:inset 1px 0 0 var(--panel)}.view-graph{display:block}.graphview{position:absolute;top:0;right:0;bottom:0;left:0}.empty-view{flex:1;min-height:0;display:flex;align-items:center;justify-content:center;overflow:auto;padding:24px}.empty-card{max-width:380px;text-align:center}.empty-title{margin:0;color:var(--ink2);font-size:var(--type-subtitle);font-weight:var(--weight-medium);line-height:var(--leading-tight)}.empty-hint{margin:8px 0 0;color:var(--muted);font-size:var(--type-meta);line-height:var(--leading-relaxed)}.empty-doors{display:flex;flex-direction:column;gap:4px;margin-top:18px}.empty-door{display:flex;align-items:center;gap:8px;padding:7px 10px;color:var(--ink);text-decoration:none;background:transparent;border:1px solid var(--line);border-radius:var(--radius);font:inherit;font-size:var(--type-meta);text-align:left;cursor:pointer}.empty-door:hover{color:var(--ink2);border-color:var(--blue);background:color-mix(in srgb,var(--blue) 10%,transparent)}.content-split{flex:1;min-height:0;display:flex;overflow:hidden}.content-split>.viewhost{flex:1;min-width:0}.content-divider{flex:0 0 5px;cursor:col-resize;background:var(--line);opacity:.55}.content-divider:hover{opacity:1;background:var(--blue)}.content-second{flex:0 0 auto;min-width:0;display:flex;flex-direction:column;position:relative;border-left:1px solid var(--line)}.content-second>.viewhost{flex:1;min-height:0}.content-close{position:absolute;top:4px;right:6px;z-index:3;display:inline-flex;padding:2px;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);color:var(--muted);cursor:pointer}.content-close:hover{color:var(--ink2);background:var(--wash-hover)}.specview{flex:1;min-height:0;display:flex;overflow:hidden}.specview-prose{flex:1;min-width:0;overflow:auto;padding:0 4px 0 0;scrollbar-gutter:stable}.specview-prose .pane-doc{padding:18px 22px 28px}.fileview{flex:1;min-height:0;display:flex;flex-direction:column}.fileview .srcview{flex:1;min-height:0;margin:0;border:0;border-radius:0;display:flex;flex-direction:column}.fileview .srcview-body{height:auto;flex:1;min-height:0}.doc-empty{padding:28px;color:var(--muted);font-size:var(--type-control)}.tabstrip{flex:0 0 auto;min-height:30px;display:flex;align-items:stretch;background:var(--panel)}.tabstrip-tabs{flex:1 1 auto;min-width:0;display:flex;align-items:stretch;flex-wrap:nowrap;align-content:flex-start;container-type:inline-size}.tabstrip-tabs.wrapped{flex-wrap:wrap}.tab-place{display:inline-flex;align-items:center;padding:0 var(--space-5);color:var(--muted);font-size:var(--type-meta);white-space:nowrap}.tab{position:relative;flex:0 1 auto;width:auto;height:30px;display:flex;align-items:center;min-width:80px;max-width:240px;border-right:1px solid var(--edge);border-radius:var(--radius) var(--radius) 0 0;color:var(--muted);container-type:inline-size;overflow:hidden;animation:tab-in var(--dur-tab) ease backwards;transition:background-color var(--dur-tab) ease,color var(--dur-tab) ease,border-color var(--dur-tab) ease}.tabstrip-tabs:not(.wrapped) .tab{container-type:normal}.tabstrip-tabs.wrapped .tab{flex:1 1 0;width:auto}.tab.on{min-width:112px;background:var(--paper);color:var(--ink2);border-right-color:transparent;border-radius:var(--radius) var(--radius) 0 0}.tab:not(.on):hover{background:var(--panel2);color:var(--ink2);border-radius:var(--radius) var(--radius) 0 0}.tab:not(.on):focus-within{background:var(--panel2);color:var(--ink2);border-radius:var(--radius) var(--radius) 0 0}@keyframes tab-in{0%{opacity:0;transform:translateY(-3px)}to{opacity:1;transform:translateY(0)}}@keyframes tab-out{to{opacity:0;transform:scaleX(.72)}}.tab.tab-closing{border:0;transform-origin:left center;animation:tab-out var(--dur-tab) ease backwards;pointer-events:none}.tab.tab-moving{opacity:.38}.tab.tab-drop-before:after,.tab.tab-drop-after:after{content:"";position:absolute;top:3px;bottom:3px;width:2px;background:var(--blue);pointer-events:none}.tab.tab-drop-before:after{left:0}.tab.tab-drop-after:after{right:0}.tab.slot{opacity:.72;font-style:italic}.tab-face{flex:1 1 auto;display:flex;align-items:center;gap:var(--space-3);min-width:0;padding:0 var(--space-2) 0 var(--space-5);height:100%;background:none;border:0;border-radius:var(--radius) 0 0 0;color:inherit;cursor:pointer;font-family:var(--ui-font);font-size:var(--type-meta);line-height:var(--leading-ui)}.tab-label{width:max-content;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tab-kind-icon{flex:0 0 13px}.tab-dot{flex:0 0 6px;width:6px;height:6px;border-radius:2px}.tab-spinner{flex:0 0 auto;color:var(--blue);animation:tab-spin .9s linear infinite;font-style:normal}@keyframes tab-spin{to{transform:rotate(360deg)}}.tab-x{flex:0 0 24px;width:24px;display:inline-flex;align-items:center;overflow:hidden;padding:0 var(--space-4) 0 var(--space-1);height:100%;background:none;border:0;border-radius:0 var(--radius) 0 0;color:var(--muted);cursor:pointer;opacity:0;transition:opacity var(--dur-tab) ease,color var(--dur-tab) ease,background-color var(--dur-tab) ease}.tab.on .tab-x,.tab:hover .tab-x{opacity:1}.tab-x:hover{color:var(--ink2);background:var(--panel2);border-radius:0 var(--radius) 0 0}@container (max-width: 140px){.tab-face{gap:var(--space-2);padding-left:var(--space-2)}.tab-x{padding-right:var(--space-2)}}@container (max-width: 100px){.tab-kind-icon,.tab-dot,.tab-spinner{display:none}}@media (prefers-reduced-motion: reduce){.tab,.tab.tab-closing,.tab-x{animation:none;transition:none}}.tabstrip-actions{flex:0 0 auto;min-width:0;margin-left:auto;align-self:flex-end;height:30px;display:flex;align-items:center;gap:var(--space-1);padding:0 var(--space-3)}.document-action{position:relative;display:inline-flex;align-items:center}.document-action-button{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:24px;height:24px;display:inline-flex;align-items:center;justify-content:center;padding:0;color:var(--muted);background:transparent;border:1px solid transparent;border-radius:var(--radius);cursor:pointer}.document-action-button:hover,.document-action-button:focus-visible,.document-action-button.on{color:var(--blue);background:color-mix(in srgb,var(--blue) 10%,transparent);border-color:var(--blue)}.document-action-button:disabled{color:var(--muted);cursor:not-allowed;opacity:.68}.document-action-menu{position:absolute;top:calc(100% + 4px);right:0;z-index:40;min-width:210px;max-width:min(360px,calc(100vw - 24px));max-height:min(320px,55vh);overflow-y:auto;padding:4px;background:var(--panel);border:1px solid var(--edge);border-radius:var(--radius);box-shadow:var(--shadow)}.statusbar{width:100%;flex:0 0 var(--line-status);height:var(--line-status);display:flex;align-items:center;justify-content:space-between;background:var(--ground);border-top:1px solid var(--line);font-family:var(--ui-font);font-size:var(--type-meta);line-height:var(--line-status);color:var(--muted);overflow:hidden}.statusbar.has-overlay{overflow:visible}.sb-group{display:flex;align-items:center;min-width:0}.sb-right{flex-direction:row-reverse;min-width:0;flex:0 1 auto;padding-right:var(--space-3)}.sb-left{overflow:hidden}.sb-item{display:inline-flex;align-items:center;gap:4px;padding:0 5px;max-width:100%;font-family:var(--ui-font);font-size:var(--type-control);line-height:var(--line-status);color:inherit;background:none;border:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sb-item:has(.sb-launcher-groups){padding-inline:0;padding-left:var(--space-3)}.sb-right .sb-item{position:relative}.sb-right .sb-item+.sb-item:after{content:"";position:absolute;right:0;top:50%;transform:translateY(-50%);width:1px;height:11px;background:var(--edge);pointer-events:none}button.sb-item{cursor:pointer}button.sb-item:hover{background:color-mix(in srgb,var(--line) 45%,transparent)}.sb-prominent{color:var(--ink2);font-weight:var(--weight-semibold)}.sb-info{color:var(--blue)}.sb-warning{color:var(--yellow)}.sb-error{color:var(--red)}.sb-restore{color:var(--muted)}.sb-project-trigger{min-width:0;height:var(--line-status);display:inline-flex;align-items:center;gap:5px;padding:0;color:inherit;background:none;border:0;font:inherit;text-decoration:none;cursor:pointer}.sb-project-trigger:hover,.sb-project-trigger.open{color:var(--blue)}.sb-project-mark{display:block;flex:0 0 14px;width:14px;height:14px}.sb-project-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sb-overflow{overflow:visible}.sb-left:has(.sb-overflow){overflow:visible}.sb-project-slot{position:relative;min-width:0;height:var(--line-status);display:inline-flex;align-items:center}.sb-tally{position:relative;display:inline-flex;align-items:center;gap:4px}.sb-tally-button{display:inline-flex;align-items:center;gap:2px;padding:0;border:0;color:inherit;background:none;font:inherit;white-space:nowrap;cursor:pointer}.sb-tally-button:hover{color:var(--ink2)}.sb-tally-button:disabled{opacity:.45;cursor:default}.sb-status-dot{width:7px;height:7px;border-radius:2px;flex:none}.sb-launcher-groups,.sb-launcher-list{display:inline-flex;align-items:center;gap:4px;min-width:max-content;flex:0 0 auto}.sb-launcher-group{display:inline-flex;align-items:center;gap:3px;flex:0 0 auto;min-width:max-content;max-width:100%;padding:0;border:0;color:inherit;background:none;font:inherit;line-height:var(--line-status);cursor:pointer}.sb-launcher-group:hover{color:var(--ink2)}.sb-launcher-glyph{position:relative;display:inline-flex;align-items:center;justify-content:center;flex:none;width:12px;height:12px;color:var(--ink2)}.sb-launcher-glyph .si-agent-glyph{width:12px;height:12px}.sb-launcher-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sb-launcher-counts{display:inline-flex;align-items:center;flex:none}.sb-launcher-running{color:var(--green)}.sb-launcher-needs{color:var(--yellow)}.sb-launcher-other{color:var(--muted)}.sb-launcher-slash{color:var(--muted);padding:0 1px}.sb-launcher-summary{display:none;align-items:center;gap:3px;flex:0 0 auto;padding:0;border:0;color:inherit;background:none;font:inherit;line-height:var(--line-status);cursor:pointer}.sb-launcher-summary:hover{color:var(--ink2)}.sb-launcher-summary-mark{display:inline-flex;align-items:center;justify-content:center;min-width:12px;height:12px;padding:0 2px;border:1px solid var(--muted);border-radius:2px;color:var(--ink2);font-size:var(--type-caption);line-height:var(--leading-none)}@media (max-width: 900px){.sb-launcher-list{display:none}.sb-launcher-summary{display:inline-flex}}.side-rail{flex:0 0 40px;display:flex;flex-direction:column;align-items:center;gap:var(--space-3);padding:var(--space-5) 0;background:var(--ground);border-right:1px solid var(--line)}.rail-spacer{flex:1}.rail-btn{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:none;border:none;border-radius:var(--radius);cursor:pointer;color:var(--muted);text-decoration:none}.rail-panel-toggle{width:20px;height:20px;margin-bottom:var(--space-2);padding:0;color:var(--muted);background:transparent}.rail-panel-toggle:after{content:"";position:absolute;left:5px;right:5px;bottom:-5px;border-bottom:1px solid var(--edge)}.rail-panel-toggle:hover{color:var(--ink2);background:transparent}.rail-panel-toggle svg{width:14px;height:14px}.rail-btn:hover{background:var(--wash-hover);color:var(--ink2)}.rail-btn.disabled{color:var(--line);cursor:not-allowed}.rail-btn.disabled:hover{background:none;color:var(--line)}.rail-btn.on{background:var(--wash-selected);color:var(--blue)}.rail-btn{position:relative}.rail-badge{position:absolute;top:-3px;right:-4px;min-width:14px;height:14px;padding:0 3px;display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;color:var(--paper);background:var(--yellow);border:1px solid var(--ground);border-radius:var(--radius-full);font:var(--weight-semibold) var(--type-caption)/1 var(--ui-font);pointer-events:none}.page-pane{flex:1;min-width:0;min-height:0;display:flex;flex-direction:column;overflow:hidden;background:var(--paper)}.page-pane.page-graph{display:block;position:relative}.page-scroll{flex:1;min-width:0;min-height:0;box-sizing:border-box;margin:10px 14px 10px 0;overflow-x:hidden;overflow-y:auto;overscroll-behavior-y:contain;scrollbar-gutter:stable;background:var(--paper)}.page-settings-scroll{display:flex;justify-content:center}.page-detail-stack{flex:1;min-width:0;min-height:0;display:flex;flex-direction:column;overflow:hidden}.settings-body{width:min(720px,94%);padding:var(--space-7) 0 50px}.page-title{font-size:var(--type-display);font-weight:var(--weight-semibold);line-height:var(--leading-tight);color:var(--ink2);margin:0 0 var(--space-7)}body.is-resizing,body.is-resizing *{cursor:col-resize!important;-webkit-user-select:none!important;user-select:none!important}.app.kbd-mode,.app.kbd-mode *{cursor:none!important}.app.kbd-mode .react-flow,.app.kbd-mode .react-flow *{pointer-events:none!important}.graph{position:relative;width:100%;height:100%;background:var(--paper)}.react-flow__attribution{display:none}.react-flow__edge-path{stroke-dasharray:0}.move-edge .react-flow__edge-path{stroke-linecap:round}.brand{color:var(--ink2);font-weight:var(--weight-semibold);letter-spacing:var(--tracking-normal)}.public-about-shell{position:relative;display:inline-flex}.public-about-trigger{display:inline-flex;align-items:center;gap:6px;min-height:30px;padding:5px 9px;border:1px solid var(--edge);border-radius:var(--radius);background:var(--paper);color:var(--ink2);cursor:pointer;font-family:var(--ui-font);font-size:var(--type-control);line-height:var(--leading-ui);box-shadow:var(--shadow)}.public-about-trigger:hover,.public-about-trigger[aria-expanded=true]{background:var(--wash-hover);color:var(--ink2)}.public-about{position:absolute;right:0;bottom:38px;width:min(380px,calc(100vw - 84px));padding:14px;border:1px solid var(--edge);border-radius:var(--radius);background:var(--panel);color:var(--ink);box-shadow:var(--shadow);font-size:var(--type-control);line-height:var(--leading-relaxed)}.public-about-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.public-about-kicker{margin:0 0 2px;color:var(--blue);font-size:var(--type-caption)}.public-about h2{margin:0;color:var(--ink2);font-size:var(--type-title);line-height:var(--leading-tight)}.public-about-close{flex:none;width:24px;height:24px;padding:0;border:1px solid transparent;border-radius:var(--radius);background:transparent;color:var(--muted);cursor:pointer}.public-about-close:hover{border-color:var(--line);color:var(--ink2)}.public-about-summary,.public-about-status{margin:12px 0 0}.public-about-error{color:var(--red)}.public-about-facts{display:grid;gap:5px;margin:12px 0 0}.public-about-facts>div{display:grid;grid-template-columns:74px minmax(0,1fr);gap:8px}.public-about-facts dt{color:var(--muted)}.public-about-facts dd{min-width:0;margin:0;color:var(--ink2);overflow-wrap:anywhere}.public-about-facts code{color:var(--cyan);font-family:var(--mono)}.public-about-actions{display:flex;flex-wrap:wrap;gap:7px;margin-top:14px}.public-about-link{display:inline-flex;align-items:center;gap:5px;min-height:28px;padding:4px 8px;border:1px solid var(--line);border-radius:var(--radius);color:var(--ink2);text-decoration:none}.public-about-link:hover{background:var(--wash-hover);color:var(--ink2)}.public-about-link.primary{border-color:color-mix(in srgb,var(--blue) 55%,var(--line));color:var(--blue)}.lock-hint{position:absolute;top:16px;left:50%;transform:translate(-50%);z-index:6;display:flex;align-items:center;gap:10px;max-width:min(48vw,520px);padding:5px 8px 5px 11px;background:var(--paper);border:1px solid var(--edge);border-left:4px solid var(--ov, var(--blue));border-radius:var(--radius);box-shadow:var(--shadow);font-family:var(--ui-font);font-size:var(--type-control);color:var(--ink)}.lock-hint-lead{font-weight:var(--weight-semibold);flex:none;max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lock-hint-body{color:var(--ink2);flex:1;min-width:0}.lock-hint kbd{border:1px solid var(--line);border-radius:var(--radius);padding:0 5px;margin:0 1px;color:var(--blue);font-family:var(--mono);font-size:var(--type-meta)}.lock-hint-sep{color:var(--muted)}.lock-hint-release{flex:none;cursor:pointer;padding:1px 8px;background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);color:var(--muted);font-family:var(--ui-font);font-size:var(--type-meta)}.lock-hint-release:hover{border-color:var(--blue);color:var(--orange)}.sess-badge{position:absolute;top:10px;right:10px;z-index:6;display:grid;justify-items:end}.sess-badge-trigger{display:inline-flex;align-items:center;gap:6px;min-height:26px;padding:3px 7px;color:var(--ink2);background:color-mix(in srgb,var(--paper) 92%,var(--panel2));border:1px solid var(--edge);border-radius:var(--radius-full);box-shadow:var(--shadow);font-family:var(--ui-font);font-size:var(--type-caption);cursor:pointer}.sess-badge-trigger:hover,.sess-badge-trigger[aria-expanded=true]{background:var(--wash-hover);color:var(--ink2)}.sess-badge-count{font-variant-numeric:tabular-nums}.sess-badge-face{display:inline-flex}.sess-badge-panel{width:min(250px,calc(100vw - 24px));margin-top:5px;padding:5px;background:var(--paper);border:1px solid var(--edge);border-radius:var(--radius);box-shadow:var(--shadow)}.sess-badge-panel .session-picker-list{max-height:min(46vh,320px)}.react-flow__node{transition:opacity .18s ease}.react-flow__node.is-far{opacity:.35}.react-flow__controls{box-shadow:none;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.react-flow__controls-button{background:var(--panel2);border-bottom:1px solid var(--line);color:var(--ink2)}.react-flow__controls-button:hover{background:var(--panel)}.react-flow__controls-button svg{fill:var(--ink)}.spec-node{position:relative;display:flex;flex-direction:column;justify-content:center;gap:3px;width:176px;height:50px;padding:5px 9px;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);transition:border-color .12s}.spec-node.focused{border-color:var(--blue);box-shadow:var(--focus-ring)}.spec-node.active.focused{border-color:var(--orange);outline-color:var(--orange)}.spec-node.drift.focused{border-color:var(--yellow);outline-color:var(--yellow)}.node-row1{display:flex;align-items:center;gap:7px}.node-row2{display:flex;align-items:center;gap:7px;min-height:18px}.node-dot{position:relative;width:7px;height:7px;border-radius:2px;flex:none}.pulse{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:2px;animation:pulse 1.6s ease-out infinite}@keyframes pulse{0%{transform:scale(1);opacity:.6}to{transform:scale(2.6);opacity:0}}.node-title{font-size:var(--type-control);font-weight:var(--weight-semibold);color:var(--ink2);flex:1;overflow:hidden;white-space:nowrap}.node-ago{font-size:var(--type-caption);color:var(--muted);flex:none;white-space:nowrap}.node-ver{font-size:var(--type-caption);color:var(--muted);flex:none}.node-expand{position:absolute;right:-7px;top:50%;transform:translateY(-50%);display:flex;align-items:center;gap:1px;font-size:var(--type-caption);font-weight:var(--weight-semibold);line-height:var(--leading-none);color:var(--muted);background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:2px 4px;pointer-events:none}.spec-node.focused .node-expand{color:var(--blue);border-color:var(--blue)}.node-editors{display:flex;align-items:center;gap:3px}.av-more{font-size:var(--type-caption);font-weight:var(--weight-semibold);color:var(--muted);margin-left:1px}.avatar{display:inline-flex;border-radius:50%;box-shadow:0 0 0 1.5px var(--panel)}.av-face{display:inline-flex;align-items:center;justify-content:center;line-height:var(--leading-none);font-weight:var(--weight-semibold);overflow:hidden}.av-circle{border-radius:50%}.av-rounded{border-radius:var(--radius)}.av-square{border-radius:1px}.av-hex{border-radius:50%/18%;clip-path:polygon(25% 5%,75% 5%,100% 50%,75% 95%,25% 95%,0 50%)}.av-st-working{box-shadow:0 0 0 1.5px var(--panel),0 0 0 3px var(--green)}.av-st-idle{box-shadow:0 0 0 1.5px var(--panel),0 0 0 3px var(--muted)}.av-st-offline{box-shadow:0 0 0 1.5px var(--panel),0 0 0 3px var(--line);opacity:.55}.react-flow .react-flow__handle{opacity:0;pointer-events:none;background:transparent;border:none;width:5px;height:5px;min-width:0;min-height:0;border-radius:1px}.side{padding:18px 18px 24px;overflow-y:auto;background:var(--panel);border-left:1px solid var(--line)}.trail{display:flex;flex-wrap:wrap;align-items:center;gap:2px;margin-bottom:16px;font-size:var(--type-meta)}.trail .sep{color:var(--muted);margin:0 3px}.crumb{background:none;border:none;padding:1px 3px;cursor:pointer;color:var(--muted);font-family:var(--mono);font-size:var(--type-meta)}.crumb:hover{color:var(--blue)}.crumb.here{color:var(--ink2);font-weight:var(--weight-semibold)}.side h1{font-size:var(--type-heading);color:var(--ink2);margin:0 0 8px}.side h2{font-size:var(--type-meta);color:var(--muted);margin:24px 0 10px;font-weight:var(--weight-medium)}.side h2:first-child{margin-top:0}.stats,.meta{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.meta{margin-top:14px}.stats div,.meta div{display:flex;justify-content:space-between;font-size:var(--type-control);padding:7px 10px}.stats div:nth-child(odd),.meta div:nth-child(odd){background:var(--panel2)}.stats span,.meta span{color:var(--muted)}.stats b,.meta b{color:var(--ink2);font-weight:var(--weight-semibold)}.badge{display:inline-block;font-size:var(--type-meta);padding:2px 0;border:none;background:none}.badge.merged{color:var(--green)}.badge.active{color:var(--orange)}.badge.drift{color:var(--yellow)}.badge.pending{color:var(--muted)}.desc{color:var(--ink);line-height:var(--leading-relaxed);font-size:var(--type-control);margin:12px 0 4px}.ov-backdrop,.legend-backdrop,.search-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;background:#657b8340;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);display:flex;align-items:center;justify-content:center}.ov-backdrop{z-index:20}.ov-panel{width:min(900px,90vw);height:min(600px,84vh);background:var(--paper);border:1px solid var(--blue);border-radius:var(--radius);overflow:hidden;display:flex;flex-direction:column;box-shadow:var(--shadow)}.ov-head{display:flex;align-items:center;gap:14px;padding:7px 12px;background:var(--panel2);border-bottom:1px solid var(--line)}.ov-title{font-size:var(--type-body);font-weight:var(--weight-semibold);color:var(--ink2)}.ov-tabs{display:flex;gap:4px}.ov-tab{background:none;border:1px solid transparent;border-radius:var(--radius);padding:3px 8px;cursor:pointer;color:var(--muted);font-family:var(--ui-font);font-size:var(--type-control)}.ov-tab:hover{color:var(--ink2)}.ov-tab.on{color:var(--ink2);border-color:var(--blue);background:var(--paper)}.ov-tab-counts{display:inline-flex;gap:3px;margin-left:5px;vertical-align:baseline}.ovc{display:inline-flex;align-items:center;gap:2px;font-family:var(--ui-font);font-size:var(--type-caption);font-weight:var(--weight-semibold);line-height:var(--leading-relaxed);padding:0 4px;border-radius:var(--radius);border:1px solid transparent;background:color-mix(in srgb,currentColor 10%,transparent)}.ovc .review-state svg{width:11px;height:11px}.ovc.st-open,.ovc.st-pass{color:var(--green)}.ovc.st-closed{color:var(--magenta)}.ovc.st-fail{color:var(--red)}.ovc.st-edit{color:var(--blue)}.ov-hint{margin-left:auto;font-size:var(--type-meta);color:var(--muted)}.ov-body{flex:1;min-width:0;overflow:hidden;display:flex}.pane-doc{flex:1;padding:22px 26px;overflow:auto}.pane-doc h1{font-size:var(--type-display);font-weight:var(--weight-semibold);line-height:var(--leading-tight);color:var(--ink2);margin:0 0 var(--space-3)}.doc-desc{margin:0 0 var(--space-6);padding:0;border:0;background:none;color:var(--muted);font-size:var(--type-subtitle);line-height:var(--leading-relaxed)}.doc-body blockquote{margin:0 0 10px;padding:var(--space-2) var(--space-6);border-left:3px solid var(--line);color:var(--ink);line-height:var(--leading-body);font-size:var(--type-body)}.pane-doc .doc-stat{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-5) var(--space-6);margin:0 0 var(--space-6);padding:0 0 var(--space-5);border-bottom:var(--divider-rule)}.stat-status{display:inline-flex;align-items:center;gap:5px;font-size:var(--type-meta);font-weight:var(--weight-medium);letter-spacing:var(--tracking-normal)}.stat-dot{width:7px;height:7px;border-radius:2px;flex:none;background:var(--muted)}.stat-status.st-merged{color:var(--green)}.stat-status.st-merged .stat-dot{background:var(--green)}.stat-status.st-active{color:var(--orange)}.stat-status.st-active .stat-dot{background:var(--orange)}.stat-status.st-drift{color:var(--yellow)}.stat-status.st-drift .stat-dot{background:var(--yellow)}.stat-status.st-pending{color:var(--muted)}.stat-status.st-pending .stat-dot{background:var(--muted)}.stat-chip{display:inline-flex;align-items:center;gap:4px;font-size:var(--type-meta);color:var(--ink2);background:color-mix(in srgb,var(--ink) 8%,transparent);border:1px solid transparent;border-radius:var(--radius);padding:1px 6px}.stat-chip.stat-drift{color:var(--yellow);font-weight:var(--weight-medium);background:color-mix(in srgb,var(--yellow) 12%,transparent)}.stat-sess{margin-left:auto;display:inline-flex;align-items:center;gap:5px;font-size:var(--type-meta);color:var(--muted);min-width:0}.stat-sess b{color:var(--ink2);font-weight:var(--weight-semibold);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pane-doc .doc-gov{margin:0 0 16px}.doc-gov-h{display:block;font-size:var(--type-meta);color:var(--muted);margin-bottom:6px}.doc-gov-h b{color:var(--ink2);font-weight:var(--weight-semibold)}.doc-gov-files{display:flex;flex-wrap:wrap;gap:5px}.gov-f{font-family:var(--mono);font-size:var(--type-meta);color:var(--blue);background:color-mix(in srgb,currentColor 10%,transparent);border:1px solid transparent;padding:1px 7px;border-radius:var(--radius);cursor:pointer}.gov-f:hover{background:color-mix(in srgb,currentColor 18%,transparent)}.doc-gov.prose .doc-gov-h{font-style:italic}.doc-att{margin-top:-8px}.doc-att .gov-f{color:var(--cyan)}.srcview{margin:9px 0 0;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:var(--paper)}.srcview-body{position:relative;height:min(46vh,420px);overflow:hidden}.srcview-cm,.srcview-cm .cm-editor{height:100%}.srcview-body .cm-editor.cm-focused{outline:none}.srcview-progress{position:absolute;right:var(--space-5);bottom:var(--space-4);z-index:3;max-width:60%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:var(--space-1) var(--space-4);border-radius:var(--radius-full);color:var(--muted);background:color-mix(in srgb,var(--panel) 92%,transparent);border:1px solid var(--edge);font-size:var(--type-caption);font-variant-numeric:tabular-nums}.srcview-progress.is-error{color:var(--red);border-color:color-mix(in srgb,var(--red) 40%,transparent)}.doc-body{padding-top:var(--space-2);font-size:var(--type-body);line-height:var(--leading-body);color:var(--ink)}.doc-body p{margin:0 0 10px}.pane-loading{display:flex;align-items:center;justify-content:center;padding:48px 0}.spinner{width:22px;height:22px;border-radius:50%;border:2px solid var(--line);border-top-color:var(--ink2);animation:si-attach-spin .7s linear infinite}.doc-body ul,.doc-body ol{margin:0 0 10px;padding-left:18px}.doc-body li{margin:2px 0}.doc-body code{font-size:var(--type-control);background:var(--panel2);color:var(--ink2);padding:0 4px;border-radius:var(--radius)}.doc-body strong{color:var(--ink2)}.doc-h{color:var(--ink2);font-weight:var(--weight-semibold);margin:14px 0 6px;line-height:var(--leading-tight)}.doc-h1{font-size:var(--type-title)}.doc-h2{font-size:var(--type-subtitle)}.doc-h3{font-size:var(--type-body)}.doc-h4,.doc-h5,.doc-h6{font-size:var(--type-control)}.doc-pre{margin:0 0 10px;padding:10px 12px;background:var(--panel2);border-radius:var(--radius);overflow-x:auto;font-size:var(--type-control);line-height:var(--leading-relaxed)}.doc-pre code{background:none;padding:0;color:var(--ink)}.doc-link{color:var(--blue)}.doc-external{text-decoration:underline;text-underline-offset:2px}.doc-quote{margin:0 0 10px;padding:4px 12px;color:var(--muted);border-left:2px solid var(--blue);background:color-mix(in srgb,var(--blue) 5%,transparent)}.doc-quote p{margin:0}.doc-image{display:block;max-width:100%;height:auto;margin:6px 0;border-radius:var(--radius)}.doc-math,.doc-math-block{overflow-x:auto}.doc-math-block{margin:8px 0;padding:2px 0}.doc-math-error{color:var(--red);white-space:pre-wrap}.doc-table{width:100%;margin:0 0 12px;border-collapse:collapse;font-size:var(--type-control);display:block;overflow-x:auto}.doc-table th,.doc-table td{border:1px solid var(--line);padding:5px 9px;text-align:left;vertical-align:top}.doc-table th{background:var(--panel2);color:var(--ink2);font-weight:var(--weight-semibold)}.doc-table code{white-space:nowrap}.spec-parts{display:flex;flex-direction:column;gap:14px;margin-top:14px}.spec-part{border:1px solid var(--line);border-radius:var(--radius);border-left-width:3px;overflow:hidden}.spec-part.part-raw{border-left-color:var(--green)}.spec-part.part-expanded{border-left-color:var(--blue)}.spec-part.part-state{border-left-color:var(--orange)}.part-head{display:flex;align-items:baseline;gap:10px;padding:8px 12px;background:var(--panel2);flex-wrap:wrap}.part-title{font-size:var(--type-control);font-weight:var(--weight-semibold);color:var(--ink2);letter-spacing:var(--tracking-normal)}.part-owner{font-size:var(--type-caption);font-weight:var(--weight-semibold);padding:1px 7px;border-radius:var(--radius);letter-spacing:var(--tracking-normal)}.part-owner.owner-human{background:color-mix(in srgb,var(--green) 18%,transparent);color:var(--green)}.part-owner.owner-agent{background:color-mix(in srgb,var(--blue) 18%,transparent);color:var(--blue)}.part-note{font-size:var(--type-meta);color:var(--muted);margin-left:auto}.part-body{padding:4px 14px 12px}.part-body .doc-body{border-top:none;padding-top:8px}.ver-row{padding:10px 0;border-bottom:1px solid var(--line)}.ver-row.latest{border-left:2px solid var(--blue);padding-left:12px;margin-left:-14px}.rec-toggle{display:block;width:100%;text-align:left;background:none;border:0;padding:0;margin:0;cursor:pointer;font:inherit;color:inherit}.rec-caret{color:var(--muted);font-size:var(--type-caption);width:9px;flex:none}.rec-head{display:flex;align-items:baseline;gap:10px;font-size:var(--type-control)}.rec-v{color:var(--ink2);font-weight:var(--weight-semibold)}.rec-hash{color:var(--muted);font-size:var(--type-meta)}.rec-date{color:var(--muted)}.rec-diff{margin-left:auto;display:flex;gap:8px;font-size:var(--type-control)}.rec-add{color:var(--green)}.rec-del{color:var(--orange)}.rec-msg{color:var(--ink2);font-size:var(--type-body);margin-top:5px;word-break:break-word}.rec-sub{color:var(--muted);font-size:var(--type-meta);margin-top:3px}.rec-msg.muted{color:var(--muted)}.rec-evidence{margin:12px 0 2px;padding:14px 0 0;border-top:1px solid var(--line)}.ev-note{font-size:var(--type-meta);color:var(--muted);text-align:center;margin-top:12px}.ev-difflabel{font-size:var(--type-meta);color:var(--muted);margin-bottom:8px}.ev-diff{margin:0;font-family:var(--mono);font-size:var(--type-meta);line-height:var(--leading-relaxed);background:var(--panel2);border:1px solid var(--line);border-radius:var(--radius);padding:8px 0;overflow-x:auto}.ev-diff .dl{padding:0 12px;white-space:pre}.dl-hunk{color:var(--blue);opacity:.75}.dl-add{color:var(--green);background:color-mix(in srgb,var(--green) 10%,transparent)}.dl-del{color:var(--orange);background:color-mix(in srgb,var(--orange) 10%,transparent)}.dl-ctx{color:var(--muted)}.pane-hist,.pane-issues,.pane-edit,.pane-eval{flex:1;min-width:0;padding:16px 20px;overflow:auto}.pane-hist.empty,.pane-issues.empty,.pane-edit.empty,.pane-eval.empty{color:var(--muted);font-size:var(--type-body)}.pane-solo{flex:1;min-width:0;display:flex}.spec-node.has-overlay{border-color:var(--ov);box-shadow:0 0 0 2px color-mix(in srgb,var(--ov) 22%,transparent)}.spec-node.has-overlay.ov-dirty{border-style:dashed}.spec-node.has-overlay.focused{outline-color:var(--ov)}.spec-node.ghost{background:transparent;border-style:dashed;opacity:.72}.spec-node.deleted .node-title{text-decoration:line-through;color:var(--muted)}.drift-badge{flex:none;font-size:var(--type-caption);font-weight:var(--weight-semibold);color:var(--yellow);border:1px solid var(--yellow);border-radius:var(--radius);padding:0 3px;line-height:var(--leading-ui)}.issue-badge{flex:none;font-size:var(--type-caption);font-weight:var(--weight-semibold);color:var(--magenta);border:1px solid var(--magenta);border-radius:var(--radius);padding:0 3px;line-height:var(--leading-ui);cursor:default}.score-badge{flex:none;box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;width:14px;height:14px;line-height:var(--leading-none);cursor:default}.score-badge.pass{color:var(--green)}.score-badge.fail{color:var(--red)}.score-badge.stalePass,.score-badge.staleFail{color:var(--muted)}.score-badge.empty{color:var(--muted);opacity:.45}.scenario-count{flex:none;display:inline-flex;align-items:center;gap:2px;font-family:var(--ui-font);font-size:var(--type-caption);font-weight:var(--weight-semibold);line-height:var(--leading-ui);border:1px solid currentColor;border-radius:var(--radius);padding:0 3px;cursor:default}.scenario-count.pass{color:var(--green)}.scenario-count.fail{color:var(--red)}.scenario-count.stalePass,.scenario-count.staleFail{color:var(--muted)}.scenario-count.empty{color:var(--muted);opacity:.7}a.scenario-count{text-decoration:none;cursor:pointer}a.scenario-count:hover{background:var(--wash-hover)}.tag-chips{display:inline-flex;flex-wrap:wrap;gap:3px;min-width:0}.tag-chip{font-family:var(--ui-font);font-size:var(--type-caption);line-height:var(--leading-relaxed);color:var(--ink2);background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:0 4px;white-space:nowrap}.search-item .tag-chips{flex:none}.issue-labels{display:inline-flex;flex-wrap:wrap;gap:3px;min-width:0;vertical-align:middle}.issue-label{display:block;max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:var(--ui-font);font-size:var(--type-caption);font-weight:var(--weight-semibold);line-height:var(--leading-ui);color:var(--issue-label-fg, var(--ink2));background:var(--issue-label-bg, var(--paper));border:1px solid var(--issue-label-border, var(--line));border-radius:var(--radius);padding:0 4px}.issue-label.selectable{cursor:pointer;text-align:left}.issue-label.selectable:hover{text-decoration:underline}.issue-card{display:block;max-width:100%;min-width:0;box-sizing:border-box;overflow:hidden;padding:5px 6px;border-radius:var(--radius);text-decoration:none}.issue-card+.issue-card{margin-top:2px}.issue-card:hover{background:var(--wash-hover)}.issue-card-top{display:flex;align-items:center;gap:6px;min-width:0;margin-bottom:2px}.issue-num{font-size:var(--type-caption);font-weight:var(--weight-semibold);color:var(--magenta);flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:var(--mono)}.issue-card-state{gap:3px}.issue-card-state .review-state-label{font-size:var(--type-caption)}.issue-card-title{display:block;font-size:var(--type-meta);line-height:var(--leading-ui);color:var(--ink2);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.issue-card>.issue-labels{margin-top:4px}.pane-issues .issue-group-head{font-size:var(--type-caption);font-weight:var(--weight-semibold);letter-spacing:var(--tracking-normal);color:var(--muted);margin:0 2px 6px}.pane-issues .issue-group-head.closed{margin-top:16px;border-top:1px solid var(--line);padding-top:14px}.pane-issues .issue-card{padding:7px 8px}.pane-issues .issue-card+.issue-card{margin-top:1px}.pane-issues .issue-card-title{font-size:var(--type-control)}.edit-rev{margin:0 0 18px}.edit-by{display:flex;align-items:center;gap:8px;font-size:var(--type-meta);color:var(--muted);margin-bottom:8px}.edit-by-label{font-weight:var(--weight-semibold)}.edit-state{margin-left:auto;font-family:var(--ui-font);font-size:var(--type-caption)}.ov-marks{display:flex;gap:3px;flex:none;margin-left:2px}.ov-mark{font-size:var(--type-meta);font-weight:var(--weight-semibold);line-height:var(--leading-none);color:var(--ov, var(--blue))}.ov-mark.ov-deleted{color:var(--orange)}.react-flow__node.ov-hot{opacity:1}.react-flow__node.ov-dim{opacity:.22}.sess-id{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sess-lock{font-size:var(--type-caption);flex:none;line-height:var(--leading-none);filter:saturate(0)}.sess-meta{order:1;flex:0 0 100%;width:100%;min-width:0;margin-top:1px;display:flex;align-items:center;justify-content:flex-end;column-gap:7px;font-size:var(--type-caption);line-height:var(--leading-tight);opacity:.9;overflow:hidden}.sess-ops{color:var(--ov, var(--blue));font-weight:var(--weight-semibold);flex:none;order:1}.sess-glyph{flex:none;width:12px;text-align:center;font-size:var(--type-meta);line-height:var(--leading-none);order:2}.sess-tree-row{position:relative;--sess-fold-indent: 0px;--sess-fold-pad-x: 0px}.sess-lead{flex:none;align-self:stretch;display:inline-flex;align-items:stretch;--rail: color-mix(in srgb, var(--muted) 42%, transparent)}.sess-rail{flex:none;width:14px;position:relative;min-height:1.7em}.sess-rail.rail:before,.sess-rail.tee:before,.sess-rail.elbow:before{content:"";position:absolute;left:50%;top:0;bottom:0;border-left:1px solid var(--rail)}.sess-rail.elbow:before{bottom:50%}.sess-rail.tee:after,.sess-rail.elbow:after{content:"";position:absolute;left:50%;right:1px;top:50%;border-top:1px solid var(--rail)}.sess-fold{flex:none;display:inline-flex;align-items:center;justify-content:center;align-self:center;cursor:pointer;-webkit-user-select:none;user-select:none}.sess-fold.pod{min-width:16px;width:auto;height:14px;padding:0 4px;border-radius:var(--radius-full);border:1px solid;font-family:inherit;font-size:var(--type-caption);font-weight:var(--weight-semibold);line-height:var(--leading-none);color:var(--paper)}.sess-fold.pod.open{background:transparent}.sess-fold.pod:hover{filter:brightness(1.25)}.sess-fold-slot{visibility:hidden;pointer-events:none}.sess-fold-control{position:absolute;z-index:2;left:calc(var(--sess-fold-pad-x) + var(--sess-fold-indent));top:50%;transform:translateY(-50%);margin:0}.sess-menu{position:fixed;z-index:60;min-width:190px;max-width:min(260px,calc(100vw - 16px));background:var(--panel);border:1px solid var(--edge);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden;padding:4px;color:var(--ink)}.sess-menu-group{display:grid;gap:1px}.sess-menu-item{display:grid;grid-template-columns:17px minmax(0,1fr) auto;align-items:center;gap:7px;width:100%;min-height:28px;text-align:left;background:none;border:none;border-radius:var(--radius);padding:4px 7px;cursor:pointer;font-family:var(--ui-font);font-size:var(--type-meta);line-height:var(--leading-tight);color:var(--ink)}.sess-menu-icon{width:17px;height:16px;display:inline-flex;align-items:center;justify-content:center;color:var(--muted)}.sess-menu-label{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sess-menu-hint{flex:none;color:var(--muted);font-size:var(--type-caption);letter-spacing:var(--tracking-normal)}.sess-menu-item:hover,.sess-menu-item:focus{outline:none;background:var(--wash-hover);color:var(--ink2)}.sess-menu-item:hover .sess-menu-icon,.sess-menu-item:focus .sess-menu-icon{color:currentColor}.sess-menu-item.danger,.sess-menu-item.danger .sess-menu-icon{color:var(--orange)}.sess-menu-item.danger:hover,.sess-menu-item.danger:focus{background:color-mix(in srgb,var(--orange) 14%,var(--panel));color:var(--orange)}.sess-menu-sep{height:1px;margin:4px 6px;background:var(--line)}.session-picker{display:grid;gap:4px;min-width:0}.session-picker-filter{width:100%;min-width:0;box-sizing:border-box;padding:5px 7px;color:var(--ink2);background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);font-family:var(--ui-font);font-size:var(--type-caption);outline:none}.session-picker-filter:focus{border-color:var(--blue)}.session-picker-list{display:grid;gap:1px;max-height:220px;overflow:auto}.session-picker-row{display:flex;align-items:center;gap:7px;width:100%;min-width:0;min-height:28px;padding:4px 7px;color:var(--ink);background:transparent;border:0;border-radius:var(--radius);font-family:var(--ui-font);font-size:var(--type-control);line-height:var(--leading-ui);text-align:left;cursor:pointer}.session-picker-row:hover,.session-picker-row:focus,.session-picker-row.active{outline:none;background:var(--wash-hover);color:var(--ink2)}.session-picker-row.selected{box-shadow:inset 2px 0 0 var(--blue)}.session-picker-row.new{color:var(--blue)}.session-picker-row.compact{min-height:25px;padding:3px 5px;font-size:var(--type-meta)}.session-picker-name{min-width:0;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.session-picker-status{flex:none;width:13px;text-align:center;font-size:var(--type-meta);line-height:var(--leading-none)}.session-picker-new-icon{display:inline-flex;align-items:center;justify-content:center;width:17px;height:17px;color:currentColor}.session-picker-empty{padding:6px 7px;color:var(--muted);font-size:var(--type-caption)}.sess-menu-picker{min-width:0}.sess-menu-picker .session-picker-list{max-height:180px}.sess-menu-picker .session-picker-row,.pa-session-picker .session-picker-row{min-height:27px}.mention-menu .session-picker-row{margin:0}.sess-rename-modal{width:min(360px,92vw)}.sess-rename{display:flex;flex-direction:column;gap:10px;padding:4px 2px 2px}.sess-rename>label{display:flex;flex-direction:column;gap:4px;color:var(--muted);font-family:var(--ui-font);font-size:var(--type-meta)}.sess-rename-input{font-family:var(--ui-font);font-size:var(--type-body);color:var(--ink2);background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:7px 9px}.sess-rename-input:focus{outline:none;border-color:var(--blue)}.sess-rename-actions{display:flex;justify-content:flex-end;gap:8px}.sess-rename-btn{background:var(--paper);border:1px solid var(--line);color:var(--ink);border-radius:var(--radius);padding:4px 12px;cursor:pointer;font-family:var(--ui-font);font-size:var(--type-control)}.sess-rename-btn:hover{background:var(--panel)}.sess-rename-save{border-color:var(--blue);color:var(--blue)}.sess-rename-save:hover{background:var(--blue);color:var(--paper)}.sess-rename-save:disabled{opacity:.5;cursor:default}.sess-attach-modal{width:min(460px,94vw)}.sess-attach{display:flex;flex-direction:column;gap:8px;padding:4px 2px 2px}.sess-attach-row{display:flex;align-items:center;gap:8px}.sess-attach-label{flex:none;width:34px;font-family:var(--ui-font);font-size:var(--type-meta);color:var(--muted);text-align:right}.sess-attach-cmd{flex:1;min-width:0;font-family:var(--mono);font-size:var(--type-control);color:var(--ink2);background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:7px 9px}.sess-attach-cmd:focus{outline:none;border-color:var(--blue)}.sess-attach-copy{flex:none}.sess-confirm{display:flex;flex-direction:column;gap:12px;padding:4px 2px 2px}.sess-confirm-msg{margin:0;color:var(--ink);font-size:var(--type-control);line-height:var(--leading-ui)}.sess-rename-btn.danger{border-color:var(--orange);color:var(--orange)}.sess-rename-btn.danger:hover{background:var(--orange);color:var(--paper)}.sess-rename-btn.danger:disabled{opacity:.5;cursor:default}.legend{position:relative;width:min(660px,92vw);max-height:86vh;overflow-y:auto;background:var(--paper);border:1px solid var(--blue);border-radius:var(--radius);box-shadow:var(--shadow);font-size:var(--type-control)}.legend-head{position:sticky;top:0;display:flex;align-items:center;justify-content:space-between;padding:6px 9px;background:var(--panel2);border-bottom:1px solid var(--line)}.legend-title{color:var(--muted);font-size:var(--type-meta);letter-spacing:var(--tracking-normal)}.legend-close{background:none;border:none;color:var(--muted);cursor:pointer;display:inline-flex;align-items:center;line-height:var(--leading-none);padding:2px}.legend-close:hover{color:var(--orange)}.legend-body{padding:4px 10px 10px}.legend-sec{padding:8px 0;border-bottom:1px solid var(--line)}.legend-sec:last-child{border-bottom:none}.legend-h{font-size:var(--type-meta);color:var(--ink2);font-weight:var(--weight-semibold);margin-bottom:6px}.legend-sub{color:var(--muted);font-weight:var(--weight-regular)}.keymap-keys{flex:none;width:132px;display:flex;flex-wrap:wrap;gap:4px}.legend kbd,.settings-body kbd{font-family:var(--mono);font-size:var(--type-meta);color:var(--blue);line-height:var(--leading-ui);border:1px solid var(--line);border-radius:var(--radius);padding:0 4px;background:var(--paper)}.legend-row{display:flex;align-items:baseline;gap:8px;padding:3px 0}.legend-row .node-dot{position:relative;top:1px}.legend-name{color:var(--ink2);font-weight:var(--weight-semibold);flex:none;width:52px}.legend-desc{color:var(--ink);flex:1;line-height:var(--leading-ui)}.legend-glyph{color:var(--blue);font-weight:var(--weight-semibold);flex:none;width:18px;text-align:center}.legend-glyph.legend-ver{font-size:var(--type-meta);color:var(--muted)}.legend .ov-mark{flex:none;width:18px;text-align:center}.legend .drift-badge{flex:none}.legend-ring{flex:none;width:22px;height:14px;border-radius:var(--radius);background:var(--panel)}.legend-ring.ring-dashed{border:1px dashed var(--blue)}.legend-ring.ring-solid{border:1px solid var(--blue)}.legend-ring.ring-ghost{border:1px dashed var(--line);background:transparent;opacity:.72}.set-sec{padding:var(--space-6) 0;border-bottom:var(--divider-rule)}.set-sec:last-child{border-bottom:0}.set-h{margin:0 0 var(--space-5);font-size:var(--type-subtitle);font-weight:var(--weight-medium);color:var(--ink2)}.set-row{display:grid;grid-template-columns:minmax(140px,200px) 1fr;align-items:center;gap:var(--space-6);padding:var(--space-3) 0}.set-label{color:var(--ink);font-size:var(--type-control)}.set-control{min-width:0;display:flex;align-items:center}.set-seg{display:inline-flex;padding:var(--space-1);gap:var(--space-1);background:var(--panel2);border-radius:var(--radius)}.set-lang{font-family:var(--ui-font);font-size:var(--type-control);color:var(--ink);cursor:pointer;border:0;border-radius:var(--radius);height:26px;padding:0 var(--space-5);background:transparent}.set-lang:hover{color:var(--ink2)}.set-lang.on{color:var(--ink2);background:var(--paper);font-weight:var(--weight-medium);box-shadow:0 0 0 1px var(--edge)}.set-hint{display:block;color:var(--muted);font-size:var(--type-meta);line-height:var(--leading-ui)}.set-swatches{display:grid;grid-template-columns:repeat(auto-fill,minmax(112px,1fr));gap:var(--space-4)}.set-swatch{display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-3);cursor:pointer;text-align:left;background:transparent;border:0;border-radius:var(--radius);color:var(--ink);font-family:var(--ui-font);font-size:var(--type-meta)}.set-swatch:hover{background:var(--wash-hover);color:var(--ink2)}.set-swatch.on{background:var(--wash-selected);color:var(--ink2)}.set-swatch-chip{display:block;height:56px;padding:var(--space-4) 0 0 var(--space-4);border-radius:var(--radius);box-shadow:0 0 0 1px var(--edge);overflow:hidden}.set-swatch.on .set-swatch-chip{box-shadow:0 0 0 2px var(--blue)}.set-swatch-paper{display:flex;flex-direction:column;gap:var(--space-2);height:100%;padding:var(--space-3);border-radius:var(--radius) 0 0 0}.set-swatch-line{display:block;height:4px;width:60%;border-radius:var(--radius-full);opacity:.85}.set-swatch-line.short{width:32%}.set-swatch-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.set-terminal-font{display:grid;grid-template-columns:minmax(120px,320px) 48px;align-items:center;gap:var(--space-5);color:var(--ink);font-size:var(--type-control)}.set-terminal-font input{width:100%;accent-color:var(--blue)}.set-terminal-font output{color:var(--blue);font-family:var(--mono);text-align:right}.set-keys{display:flex;flex-direction:column;gap:2px;margin:2px 0 8px}.set-key-row{display:flex;align-items:center;gap:8px;padding:2px 0}.set-key-desc{flex:1;color:var(--ink);font-size:var(--type-control);line-height:var(--leading-ui)}.bind-cell{flex:none;min-width:92px;min-height:24px;display:flex;flex-wrap:wrap;align-items:center;gap:4px;justify-content:center;cursor:pointer;background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:2px 6px}.bind-cell:hover:not(.fixed){background:var(--wash-hover)}.bind-cell.capturing{border-color:var(--blue);border-style:dashed;background:var(--panel2)}.bind-cell.custom{border-color:var(--blue)}.bind-cell.fixed{cursor:default;opacity:.6}.bind-cell kbd{border:none;padding:0 2px;background:transparent}.bind-hint{font-size:var(--type-meta);color:var(--blue)}.set-foot{display:flex;align-items:center;justify-content:space-between;gap:12px}.set-reset{flex:none;height:26px;font-family:var(--ui-font);font-size:var(--type-meta);color:var(--muted);cursor:pointer;border:0;border-radius:var(--radius);padding:0 var(--space-5);background:transparent}.set-reset:hover{background:var(--wash-hover);color:var(--red)}.search-backdrop{align-items:flex-start;padding-top:12vh}.search-panel{width:min(92vw,clamp(640px,50vw,1100px));max-height:72vh;display:flex;flex-direction:column;overflow:hidden;background:var(--paper);border:1px solid var(--blue);border-radius:var(--radius);box-shadow:var(--shadow);font-size:var(--type-control)}.search-bar{display:flex;align-items:center;gap:8px;padding:9px 12px;border-bottom:1px solid var(--line);background:var(--field-bg)}.search-icon{color:var(--muted);font-size:var(--type-icon-sm);flex:none}.search-input{flex:1;min-width:0;background:transparent;border:none;outline:none;color:var(--ink2);font-family:var(--ui-font);font-size:var(--type-subtitle);line-height:var(--leading-ui)}.search-input::placeholder{color:var(--muted)}.search-results{margin:0;padding:4px;list-style:none;overflow-y:auto;overflow-x:hidden}.search-empty{padding:8px 10px;color:var(--muted)}.search-item{display:flex;align-items:baseline;gap:8px;padding:5px 8px;border-radius:var(--radius);cursor:pointer;white-space:nowrap}.search-item.on{background:var(--wash-hover)}.search-item .node-dot{position:relative;top:1px}.search-kind{flex:none;font-size:var(--type-caption);line-height:var(--leading-none);letter-spacing:var(--tracking-normal);padding:2px 4px;border-radius:var(--radius);border:1px solid var(--line);color:var(--muted);position:relative;top:-1px}.search-kind.k-spec{color:var(--blue);border-color:color-mix(in srgb,var(--blue) 40%,var(--line))}.search-kind.k-session{color:var(--orange);border-color:color-mix(in srgb,var(--orange) 40%,var(--line))}.search-title{color:var(--ink2);font-weight:var(--weight-semibold);flex:0 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis}.search-path{color:var(--muted);font-size:var(--type-meta);flex:0 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis}.search-foot{padding:6px 12px;border-top:1px solid var(--line);background:var(--panel);color:var(--muted);font-size:var(--type-meta)}.si-page{flex:1;min-width:0;min-height:0;display:flex}.si-document{flex:1 1 auto;min-width:0;min-height:0;display:flex;flex-direction:column}.si-document>.tabstrip{flex:0 0 auto}.si-document>.si-panel{flex:1 1 auto;min-width:0;min-height:0}.si-panel{flex:1;min-width:0;background:var(--paper);border:none;border-radius:0;overflow:clip;display:flex}.si-list{flex:0 0 auto;max-width:calc(100% - 280px);min-height:0;display:flex;flex-direction:column;overflow:hidden;border-right:1px solid var(--line);background:var(--panel)}.si-resizer{flex:0 0 6px;margin:0 -3px;position:relative;cursor:col-resize;z-index:2}.si-resizer:after{content:"";position:absolute;top:0;bottom:0;left:2px;width:2px;background:transparent}.si-resizer:hover:after,body.is-resizing .si-resizer:after{background:color-mix(in srgb,var(--blue) 55%,transparent)}.si-session-scroll{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain}.si-selbar{display:flex;flex-wrap:nowrap;align-items:center;gap:var(--space-1);min-width:0;padding:var(--space-4) var(--space-4) var(--space-2);border-bottom:1px solid var(--line)}.si-selcount{flex:1 1 auto;min-width:0;overflow:hidden;color:var(--ink2);font-size:var(--type-meta);text-overflow:ellipsis;white-space:nowrap}.si-selaction{flex:none;display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;color:var(--muted);background:none;border:0;border-radius:var(--radius);cursor:pointer}.si-selaction:hover:not(:disabled){color:var(--ink2);background:var(--wash-hover)}.si-selaction.danger{color:var(--red)}.si-selaction:disabled{opacity:.45;cursor:default}.si-check{flex:none;width:13px;height:13px;border:1.5px solid var(--muted);border-radius:var(--radius);box-sizing:border-box}.si-check.on{border-color:var(--blue);background:var(--blue);position:relative}.si-check.on:after{content:"";position:absolute;left:3.5px;top:1px;width:3px;height:6px;border:solid var(--paper);border-width:0 1.5px 1.5px 0;transform:rotate(45deg)}.si-item.picked{background:color-mix(in srgb,var(--blue) 12%,var(--panel2))}.si-root-drop{height:30px;margin:5px 10px 2px;display:flex;align-items:center;justify-content:center;gap:6px;border:1px dashed color-mix(in srgb,var(--muted) 60%,transparent);border-radius:var(--radius);color:var(--muted)}.si-root-drop.on{position:relative;z-index:51;background:color-mix(in srgb,var(--green) 12%,var(--panel2));border-color:var(--green);color:var(--green)}.si-session-drag-ghost{position:fixed;z-index:52;box-sizing:border-box;background:transparent;border:0;box-shadow:var(--shadow);opacity:.96;pointer-events:none;transform:translate(10px,-8px) rotate(-1deg) scale(var(--si-session-drag-ghost-scale));transform-origin:top left}body.is-session-dragging,body.is-session-dragging *{cursor:grabbing!important;-webkit-user-select:none!important;user-select:none!important}.si-item{display:flex;flex-wrap:wrap;align-items:center;column-gap:7px;row-gap:2px;width:calc(100% - var(--space-4) * 2);margin:0 var(--space-4);padding:9px 10px;background:none;border:none;border-radius:var(--radius);position:relative;cursor:pointer;text-align:left;font-family:var(--ui-font);font-size:var(--type-control);color:var(--ink)}.si-tree-row:before{content:"";position:absolute;left:0;top:0;bottom:0;width:2px;background:var(--ov, transparent);pointer-events:none;z-index:1}.si-tree-row:has(.si-item[data-locked]):before{background:var(--blue)}.si-item:hover{background:var(--wash-hover);color:var(--ink2)}.si-item.on{background:var(--wash-selected);color:var(--ink2);font-weight:var(--weight-medium)}.si-item.on:hover{background:var(--wash-selected)}.si-item.on:before{content:"❯";flex:none;color:var(--green);font-weight:var(--weight-semibold)}.si-item{flex-wrap:nowrap;padding:var(--space-2) 10px;font-size:var(--type-meta);line-height:var(--line-session-row)}.si-item .sess-rail{min-height:var(--line-session-row)}.si-item.on:before{content:none}.si-item .sess-meta{flex:none;width:auto;min-width:0;margin-top:0;margin-left:auto;opacity:1;overflow:visible}.si-item .sess-lock{color:var(--muted)}.si-item.on{display:block}.si-item.on .sess-lead{float:left;margin-right:7px}.si-item.on .sess-meta{float:right;margin:0 0 0 8px}.si-item.on .sess-id{display:block;max-height:3lh;white-space:normal;overflow:clip;overflow-wrap:anywhere}.si-tree-row{--sess-fold-pad-x: 18px}.si-tree-row>.sess-fold-control{left:var(--sess-fold-pad-x)}.si-tree-row.dragging>.si-item{opacity:.28}.si-tree-row.drop-target{z-index:51}.si-tree-row.drop-target>.si-item{background:color-mix(in srgb,var(--blue) 28%,var(--panel2));border-left-color:var(--blue);border-left-width:3px;box-shadow:inset 0 0 0 1px var(--blue)}.dock-session-list.root-armed{outline:1px dashed color-mix(in srgb,var(--muted) 60%,transparent);outline-offset:-3px}.dock-session-list.root-on{outline-style:solid;outline-color:var(--green)}.dock-root-hint{position:absolute;left:10px;right:10px;bottom:8px;padding:4px 6px;z-index:2;display:flex;align-items:center;justify-content:center;pointer-events:none;border-radius:var(--radius);background:color-mix(in srgb,var(--ground) 88%,transparent);color:var(--muted);font-size:var(--type-caption)}.dock-session-list.root-on~.dock-root-hint{color:var(--green)}body.is-dragging,body.is-dragging *{cursor:grabbing!important;-webkit-user-select:none!important;user-select:none!important}.si-item.on+.sess-fold-control{top:7px;transform:none}.si-zone{--zh: var(--muted);display:flex;align-items:center;gap:var(--space-4);padding:calc(var(--space-4) + var(--space-1)) var(--space-5) var(--space-2);font-size:var(--type-caption);font-weight:var(--weight-semibold);letter-spacing:var(--tracking-normal);-webkit-user-select:none;user-select:none;color:var(--zh)}.si-zone-fold{width:100%;text-align:left;cursor:pointer;border:0;background:transparent;font-family:inherit}.si-zone-fold:hover{background:var(--wash-hover)}.si-zone-count{flex:none;padding:0 var(--space-3);border:1px solid currentColor;border-radius:var(--radius);background:transparent;color:inherit;font:inherit;opacity:.8;font-size:var(--type-caption);line-height:var(--line-badge)}.si-zone-label{flex:none}.si-zone-need{--zh: var(--yellow)}.si-zone-run{--zh: var(--green)}.si-zone-offline{--zh: var(--muted)}.si-zone-archive{--zh: var(--blue)}.si-zone.drop-target{color:var(--green);background:color-mix(in srgb,var(--green) 14%,var(--panel2));box-shadow:inset 0 0 0 1px var(--green)}.si-zone-all{justify-content:initial;color:var(--ink2)}.si-zone-all-lead{color:var(--muted);align-items:center}.si-zone-all-label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.si-toprow{display:flex;align-items:center;gap:var(--space-1);padding:var(--space-4) var(--space-4) var(--space-2)}.si-pill{display:inline-flex;align-items:center;gap:var(--space-3);height:28px;padding:0 var(--space-4);background:none;border:0;border-radius:var(--radius);cursor:pointer;font-family:var(--ui-font);font-size:var(--type-meta);line-height:var(--leading-none);color:var(--ink)}.si-pill-glyph{display:flex}.si-pill-label{white-space:nowrap}.si-pill.new{flex:1;min-width:0;color:var(--ink2);font-weight:var(--weight-medium)}.si-pill:hover{background:var(--wash-hover);color:var(--ink2)}.si-pill.new.on,.si-pill.archive.on{background:var(--wash-selected);color:var(--blue)}.si-pill.archive,.si-pill.search{flex:none;width:28px;padding:0;justify-content:center;color:var(--muted)}.lp-page{display:flex;flex-direction:column;background:var(--paper)}.rl-content{width:min(1136px,calc(100% - 32px));min-width:0;margin:0 auto;padding:16px 0 24px}.rl-titlebar{height:36px;display:flex;align-items:center;gap:12px;margin-bottom:var(--space-5)}.rl-titlebar h1{min-width:0;margin:0;color:var(--ink2);font-size:var(--type-display);font-weight:var(--weight-semibold);line-height:var(--leading-tight)}.rl-new{margin-left:auto;height:32px;display:inline-flex;align-items:center;gap:6px;padding:0 12px;color:var(--paper);background:var(--blue);border:1px solid color-mix(in srgb,var(--blue) 75%,var(--line));border-radius:var(--radius);font-family:var(--ui-font);font-size:var(--type-control);font-weight:var(--weight-semibold);text-decoration:none;cursor:pointer}.rl-new:hover{background:color-mix(in srgb,var(--blue) 84%,var(--ink))}.rl-query{height:32px;position:sticky;top:0;z-index:6;display:flex;align-items:stretch;margin-bottom:var(--space-6);background:var(--field-bg);border:1px solid var(--line);border-radius:var(--radius)}.rl-query{outline:var(--space-5) solid var(--paper)}.rl-query~.lp-head,.rl-content .lp-head{top:44px}.rl-query:focus-within{border-color:color-mix(in srgb,var(--blue) 60%,var(--line));box-shadow:var(--focus-ring)}.rq-wrap{position:relative;flex:1;min-width:0}.rl-query input{width:100%;height:100%;position:relative;padding:0 12px;color:transparent;caret-color:var(--ink);background:transparent;border:0;outline:0;font-family:var(--mono);font-size:var(--type-control)}.rl-query input::placeholder{color:var(--muted)}.rl-query input::selection{color:transparent;background:color-mix(in srgb,var(--blue) 28%,transparent)}.rq-hl{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;padding:0 12px;overflow:hidden;color:var(--ink);font-family:var(--mono);font-size:var(--type-control);white-space:pre;pointer-events:none}.rq-hl>span{flex:none;white-space:pre}.rq-tok-key{color:var(--muted)}.rq-tok-val{color:var(--blue)}.rl-menu.rq-list{left:0;right:36px;width:auto}.rq-opt{min-height:32px;display:flex;align-items:center;gap:8px;padding:5px 9px;border-radius:var(--radius);color:var(--ink2);font-family:var(--ui-font);font-size:var(--type-control);cursor:pointer}.rq-opt.active,.rq-opt:hover{color:var(--ink);background:var(--wash-hover)}.rq-opt-token{color:var(--blue)}.rq-opt-label{min-width:0;overflow:hidden;color:var(--muted);text-overflow:ellipsis;white-space:nowrap}.rl-query-submit{width:36px;flex:none;display:grid;place-items:center;color:var(--muted);background:var(--panel2);border:0;border-left:1px solid var(--line);border-radius:0 var(--radius) var(--radius) 0;cursor:pointer}.rl-query-submit:hover{color:var(--ink)}.rl-list{position:relative;min-width:0;background:var(--paper)}.lp-head{position:sticky;top:0;z-index:5;height:48px;box-sizing:border-box;display:flex;align-items:center;padding:0 var(--space-2);background:var(--paper);border-bottom:var(--divider-rule)}.rl-sections,.rl-facets{display:flex;align-items:center;min-width:0}.rl-sections{align-self:stretch;flex:none}.rl-section{align-self:stretch;display:inline-flex;align-items:center;gap:7px;padding:0 9px;color:var(--muted);background:transparent;border:0;font-family:var(--ui-font);font-size:var(--type-control);cursor:pointer}.rl-section.active{color:var(--ink2);font-weight:var(--weight-medium);box-shadow:inset 0 -2px 0 var(--ink2)}.rl-section:hover{color:var(--ink2)}.rl-section-count,.rl-menu-count{display:inline-flex;min-width:18px;height:18px;box-sizing:border-box;align-items:center;justify-content:center;padding:0 5px;color:var(--ink2);background:color-mix(in srgb,var(--line) 65%,transparent);border-radius:var(--radius);font-size:var(--type-caption)}.rl-section-suffix{margin-left:-2px;color:var(--ink2);opacity:.72;font-size:var(--type-caption);white-space:nowrap}.rl-section-suffix-compact{display:none}.rl-facets{margin-left:auto;justify-content:flex-end}.rl-facet-wrap,.rl-secondary-filters{position:relative;flex:none}.rl-facet{max-width:190px;height:32px;display:inline-flex;align-items:center;gap:6px;padding:0 10px;color:var(--muted);background:transparent;border:0;font-family:var(--ui-font);font-size:var(--type-control);cursor:pointer}.rl-facet span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rl-facet-label-mobile{display:none}.rl-facet:hover,.rl-facet.active{color:var(--ink)}.rl-secondary-filters-trigger{width:auto;height:32px;display:inline-flex;align-items:center;justify-content:center;gap:4px;padding:0 6px;color:var(--muted);background:transparent;border:0;border-radius:var(--radius);cursor:pointer;font-family:var(--ui-font);font-size:var(--type-control);white-space:nowrap}.rl-secondary-filters-trigger.compact{width:32px;padding:0}.rl-secondary-filter-count{display:inline-flex;min-width:16px;height:16px;box-sizing:border-box;align-items:center;justify-content:center;padding:0 4px;color:var(--ink2);background:color-mix(in srgb,var(--line) 65%,transparent);border-radius:var(--radius);font-size:var(--type-caption)}.rl-secondary-filter-count.for-mobile{display:none}.rl-secondary-filters-trigger:hover,.rl-secondary-filters.active-desktop .rl-secondary-filters-trigger{color:var(--ink);background:color-mix(in srgb,var(--line) 45%,transparent)}.rl-secondary-filters.mobile-only,.rl-menu-group.mobile-only{display:none}.rl-menu{position:absolute;top:calc(100% + 4px);right:0;z-index:20;width:230px;max-height:min(420px,70vh);overflow-y:auto;padding:6px;background:var(--panel);border:1px solid var(--edge);border-radius:var(--radius);box-shadow:var(--shadow)}.rl-menu-item{width:100%;min-width:0;min-height:32px;display:grid;grid-template-columns:16px minmax(0,1fr) auto;align-items:center;gap:7px;padding:5px 7px;color:var(--ink2);background:transparent;border:0;border-radius:var(--radius);text-align:left;font-family:var(--ui-font);font-size:var(--type-control);cursor:pointer}.rl-menu-item:hover{color:var(--ink);background:var(--wash-hover)}.rl-menu-item>span:nth-child(2){overflow-wrap:anywhere}.rl-menu-item[aria-checked=true]{color:var(--ink);font-weight:var(--weight-semibold)}.rl-menu-label{padding:5px 7px 3px;color:var(--muted);font-size:var(--type-caption);font-weight:var(--weight-semibold)}.rl-menu-group+.rl-menu-group{margin-top:5px;padding-top:5px;border-top:1px solid var(--line)}.lp-rows{display:flex;flex-direction:column}.lp-empty{min-height:170px;display:grid;place-items:center;padding:24px;color:var(--muted);font-family:var(--ui-font);font-size:var(--type-control);text-align:center}.lp-error{margin:0 0 10px}.rl-pagination{max-width:100%;display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:4px;margin:16px auto 0}.rl-page-link,.rl-page-gap{min-width:32px;height:32px;box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;padding:0 7px;color:var(--ink2);border:1px solid transparent;border-radius:var(--radius);font-family:var(--ui-font);font-size:var(--type-control);text-decoration:none}.rl-page-link.direction{min-width:auto;padding-inline:12px}.rl-page-link:hover{color:var(--ink);background:var(--wash-hover);border-color:var(--line)}.rl-page-link[aria-current=page]{color:var(--ink);background:color-mix(in srgb,var(--blue) 14%,var(--panel2));border-color:color-mix(in srgb,var(--blue) 45%,var(--line));font-weight:var(--weight-semibold)}.rl-page-link.disabled{color:var(--muted);cursor:default;opacity:.65}.pane-view-all{min-height:32px;display:flex;align-items:center;justify-content:flex-end;gap:4px;padding:4px 10px;color:var(--blue);font-family:var(--ui-font);font-size:var(--type-meta);text-decoration:none}.pane-view-all:hover{text-decoration:underline}.pane-eval-list-door{flex:0 0 28px;width:28px;height:28px;box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;color:var(--ink2);background:var(--panel2);border:1px solid var(--line);border-radius:var(--radius);text-decoration:none}.pane-eval-list-door:hover{color:var(--ink);border-color:var(--muted)}.pane-eval-list-door-row{position:sticky;top:-16px;z-index:6;display:flex;justify-content:flex-end;margin:-8px 0 8px;background:var(--paper)}.lp-row{position:relative;display:block;width:100%;min-width:0;min-height:64px;box-sizing:border-box;text-align:left;color:var(--ink2);background:none;border:0;border-bottom:1px solid color-mix(in srgb,var(--line) 55%,transparent);cursor:pointer}.lp-row-link{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;color:inherit;text-decoration:none}.lp-row:last-child{border-bottom:0;border-radius:0 0 var(--radius) var(--radius)}.lp-row:hover{background:var(--wash-hover)}.lp-row.cur{background:var(--wash-selected);box-shadow:inset 2px 0 0 var(--blue)}.lp-row.inert{cursor:default}.lp-row.inert:hover{background:none}.rl-row-grid{position:relative;z-index:1;min-height:64px;box-sizing:border-box;display:grid;grid-template-columns:16px minmax(0,1fr) auto;align-items:start;column-gap:10px;padding:10px 16px;pointer-events:none}.rl-row-grid a,.rl-row-grid button{pointer-events:auto}.rl-row-state{width:16px;height:16px;margin-top:2px;display:grid;place-items:center}.rl-row-body{min-width:0}.rl-row-title{display:flex;flex-wrap:wrap;align-items:center;gap:3px 6px;min-width:0;color:var(--ink);font-size:var(--type-subtitle);font-weight:var(--weight-semibold);line-height:var(--leading-ui)}.rl-row-title-text{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rl-row-meta{min-width:0;display:flex;align-items:center;gap:4px 8px;margin-top:3px;color:var(--muted);font-family:var(--ui-font);font-size:var(--type-meta);line-height:var(--leading-ui)}.rl-row-meta>:is(span,a){min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:inherit;text-decoration:none}.rl-row-aside{align-self:center;display:flex;align-items:center;justify-content:flex-end;gap:7px;padding-left:12px;color:var(--muted);font-family:var(--ui-font);font-size:var(--type-meta)}.rl-tag{max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:1px 6px;color:var(--muted);background:color-mix(in srgb,var(--ink) 8%,transparent);border:1px solid transparent;border-radius:var(--radius)}.rl-tag.in-session{color:var(--blue);background:color-mix(in srgb,var(--blue) 10%,transparent)}.rl-tag.node{color:var(--ink2);text-decoration:none}.rl-tag.node:hover{text-decoration:underline}.rl-comments{display:inline-flex;align-items:center;gap:4px}.review-state{flex:none;display:inline-flex;align-items:center;gap:5px;line-height:var(--leading-none)}.review-state-icon{flex:none;display:grid;place-items:center;line-height:var(--leading-none)}.review-state svg{display:block}.review-state.open,.review-state.pass{color:var(--green)}.review-state.closed{color:var(--magenta)}.review-state.fail{color:var(--red)}.review-state.review{color:var(--yellow)}.review-state.stale,.review-state.empty{color:var(--muted)}.review-state-label{font-family:var(--ui-font);font-size:var(--type-control);font-weight:var(--weight-semibold);line-height:var(--leading-ui)}.ds-page{background:var(--paper);padding:14px 18px 0}.ds-head{max-width:1180px;display:flex;align-items:flex-start;gap:10px;font-size:var(--type-title);line-height:var(--leading-ui)}.ds-back{--ds-back-size: 28px;flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:var(--ds-back-size);height:var(--ds-back-size);margin-top:calc((1lh - var(--ds-back-size)) / 2);color:var(--ink2);background:var(--panel2);border:1px solid var(--line);border-radius:var(--radius);text-decoration:none}.ds-back:hover{color:var(--ink);background:var(--panel)}.ds-title{margin:0 0 6px;font-size:var(--type-title);font-weight:var(--weight-semibold);color:var(--ink);line-height:var(--leading-ui);overflow-wrap:anywhere;min-width:0}.ds-title-meta{margin-left:10px;font-size:var(--type-meta);font-weight:var(--weight-regular);color:var(--muted)}.ds-status{display:flex;align-items:center;gap:10px;flex-wrap:wrap;max-width:1180px;padding-bottom:10px;border-bottom:1px solid var(--line)}.ds-status-pill{display:inline-flex;align-items:center;gap:5px}.ds-cols{display:grid;grid-template-columns:minmax(0,1fr) 232px;gap:22px;max-width:1180px;align-items:start}.ds-main{min-width:0;display:flex;flex-direction:column;gap:10px;padding:12px 0 0}.ds-compose{position:sticky;bottom:0;z-index:2;background:var(--paper);padding:6px 0 12px;border-top:1px solid var(--line)}.ds-compose .fv-compose{margin-top:0}.ds-side{position:sticky;top:0;max-height:calc(100dvh - 24px);overflow-y:auto;overscroll-behavior:contain;display:flex;flex-direction:column;gap:14px;padding:14px 0 20px}.ds-side-sec{display:flex;flex-direction:column;gap:5px;padding-bottom:12px;border-bottom:1px solid color-mix(in srgb,var(--line) 55%,transparent)}.ds-side-label{font-size:var(--type-caption);font-weight:var(--weight-semibold);letter-spacing:var(--tracking-normal);color:var(--muted)}.ds-side-body{display:flex;flex-direction:column;align-items:flex-start;gap:4px;font-size:var(--type-meta);color:var(--ink2)}.ds-val{display:flex;align-items:center;gap:5px;max-width:100%;min-width:0;font:inherit;font-size:var(--type-meta);color:var(--ink2);background:none;border:0;padding:0;text-align:left;text-decoration:none}.ds-val-text{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ds-val.dim{color:var(--muted)}.ds-val.mono .ds-val-text{font-family:var(--mono)}.ds-val.link{cursor:pointer;color:var(--blue)}.ds-val.link:hover .ds-val-text{text-decoration:underline}.ds-val.link:focus-visible{border-radius:var(--radius)}.ds-queue-group{align-self:stretch;min-width:0;display:flex;flex-direction:column;gap:4px}.ds-queue-group+.ds-queue-group{margin-top:5px}.ds-queue-group-label{font-size:var(--type-caption);color:var(--muted)}.ds-queue-row{display:flex;align-items:center;gap:6px;max-width:100%;font-size:var(--type-meta);color:var(--ink2);text-decoration:none}.ds-queue-row:hover .ds-queue-scenario{text-decoration:underline}.ds-queue-row .review-state{flex:0 0 auto;display:inline-flex}.ds-queue-scenario{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ds-queue-node{flex:0 4 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted)}.ds-missing{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px}.ds-missing-note{color:var(--muted);font-family:var(--ui-font);font-size:var(--type-control)}.ds-failed .ds-missing-note{color:var(--red)}.ds-backlink{color:var(--blue);font-size:var(--type-control);text-decoration:none}.ds-backlink:hover{text-decoration:underline}@media (max-width: 760px){.page-scroll{margin:10px 0;scrollbar-gutter:auto}.rl-content{width:calc(100% - 32px);padding-top:16px}.rl-titlebar{margin-bottom:8px}.rl-query{margin-bottom:16px}.lp-head{height:auto;min-height:49px;padding:0 7px;flex-wrap:wrap;align-content:center;row-gap:2px}.rl-sections{align-self:auto}.rl-section{gap:2px;padding:0;align-self:auto;min-height:44px}.rl-section .review-state{gap:3px}.rl-section .review-state-label{font-size:var(--type-meta)}.rl-section-suffix-full{display:none}.rl-section-suffix-compact{display:inline}.rl-facets{flex:none}.rl-facet-wrap:not(.mobile-stay){display:none}.rl-facet{max-width:112px;padding:0 7px}.rl-facet-wrap.mobile-stay .rl-facet{max-width:64px;gap:3px;padding:0 3px;font-size:var(--type-meta)}.rl-facet-wrap.mobile-stay .rl-facet-label{display:none}.rl-facet-wrap.mobile-stay .rl-facet-label-mobile{display:block}.rl-secondary-filters-trigger:not(.compact){gap:3px;padding:0 4px}.rl-secondary-filters.mobile-only,.rl-menu-group.mobile-only{display:block}.rl-secondary-filter-count.for-desktop{display:none}.rl-secondary-filter-count.for-mobile{display:inline-flex}.rl-secondary-filters.active-mobile .rl-secondary-filters-trigger{color:var(--ink);background:color-mix(in srgb,var(--line) 45%,transparent)}.rl-row-grid{min-height:112px;grid-template-columns:16px minmax(0,1fr);padding:14px 16px}.rl-row-title{display:block;overflow:hidden}.rl-row-title-text{display:-webkit-box;overflow:hidden;text-overflow:clip;white-space:normal;overflow-wrap:anywhere;-webkit-box-orient:vertical;-webkit-line-clamp:3}.rl-row-title .issue-labels{margin-top:4px}.rl-row-meta{flex-wrap:nowrap;margin-top:5px}.rl-row-meta>:is(span,a){max-width:100%}.rl-row-aside{grid-column:2;align-self:start;justify-content:flex-start;flex-wrap:wrap;gap:5px;margin-top:6px;padding-left:0}.rl-menu{max-width:calc(100vw - 34px)}.ds-cols{display:flex;flex-direction:column;gap:0}.ds-side{position:static;max-height:none;overflow-y:visible;order:-1;padding:10px 0 0}.ds-side-sec{padding-bottom:8px}}.fv-note{margin:auto;padding:24px;color:var(--muted);font-family:var(--ui-font);font-size:var(--type-control);text-align:center}.fv-store{font-family:var(--ui-font);font-size:var(--type-caption);letter-spacing:var(--tracking-normal);color:var(--muted)}.fv-store-local{color:color-mix(in srgb,var(--blue) 65%,var(--muted))}.fv-originator{border-radius:var(--radius);padding:1px 3px}.fv-originator .ds-val-text{color:var(--ink2);font-family:var(--ui-font)}.fv-originator-dot{width:7px;height:7px;border-radius:50%;flex:none}.fv-originator.openable{background:color-mix(in srgb,var(--green) 8%,transparent)}.fv-originator.openable:hover{background:color-mix(in srgb,var(--green) 16%,transparent)}.fv-originator.openable:focus-visible{outline:2px solid var(--green);outline-offset:2px}.fv-originator.offline{opacity:.7}.fv-close-issue{flex:none;font-family:var(--ui-font);font-size:var(--type-meta);color:var(--orange);background:var(--paper);border:1px solid color-mix(in srgb,var(--orange) 35%,var(--line));padding:4px 12px;border-radius:var(--radius);cursor:pointer}.fv-close-issue:hover{background:var(--orange);color:var(--paper);border-color:var(--orange)}.fv-close-issue:disabled{opacity:.5;cursor:default}.fv-close-issue.fv-life-promote{color:var(--blue);border-color:color-mix(in srgb,var(--blue) 35%,var(--line))}.fv-close-issue.fv-life-promote:hover{background:var(--blue);color:var(--paper);border-color:var(--blue)}.fvd-body{font-size:var(--type-body)}.fv-reply{margin-top:10px;padding-left:12px;border-left:2px solid var(--line);border-radius:0 var(--radius) var(--radius) 0;transition:background .15s,border-color .15s}.fv-reply.active{border-left-color:var(--green);background:color-mix(in srgb,var(--green) 7%,transparent)}.fv-reply.sel{border-left-color:var(--orange);background:color-mix(in srgb,var(--orange) 9%,transparent)}.fv-reply.remark.open{border-left-color:var(--orange);border-left-width:3px}.fv-reply.remark.resolved{opacity:.62;border-left-color:color-mix(in srgb,var(--green) 45%,var(--line))}.fv-remark-state{font-family:var(--ui-font);font-size:var(--type-caption);padding:0 5px;border-radius:var(--radius);margin-left:auto}.fv-remark-state.open{color:var(--orange);background:color-mix(in srgb,var(--orange) 12%,transparent);font-weight:var(--weight-semibold)}.fv-remark-state.resolved{color:var(--green);background:color-mix(in srgb,var(--green) 12%,transparent)}.fv-remark-act{font-family:var(--ui-font);font-size:var(--type-caption);padding:0 6px;border-radius:var(--radius);cursor:pointer;line-height:var(--leading-body);background:var(--paper)}.fv-remark-act.resolve{color:var(--green);border:1px solid color-mix(in srgb,var(--green) 40%,var(--line))}.fv-remark-act.resolve:hover{background:var(--green);color:var(--paper);border-color:var(--green)}.fv-remark-act.retract{color:var(--muted);border:1px solid var(--line)}.fv-remark-act.retract:hover{background:var(--orange);color:var(--paper);border-color:var(--orange)}.fv-remark-act:disabled{opacity:.5;cursor:default}.fv-reply-meta{display:flex;align-items:center;gap:8px;margin-bottom:3px;font-family:var(--ui-font);font-size:var(--type-meta)}.fv-reply-by{color:var(--blue);font-weight:var(--weight-semibold)}.fv-reply-at{color:var(--muted)}.fv-anchor{font-family:var(--mono);font-size:var(--type-meta);color:var(--orange);background:color-mix(in srgb,var(--orange) 12%,transparent);border:1px solid color-mix(in srgb,var(--orange) 35%,var(--line));border-radius:var(--radius);padding:1px 6px;cursor:pointer}.fv-anchor:hover{background:var(--orange);color:var(--paper)}.fv-anchor.static{cursor:default}.fv-anchor.static:hover{background:color-mix(in srgb,var(--orange) 12%,transparent);color:var(--orange)}.fv-anchor.static.degraded{color:var(--muted);background:transparent;border-style:dashed;border-color:color-mix(in srgb,var(--muted) 45%,var(--line))}.fv-anchor.static.degraded:hover{color:var(--muted);background:transparent}.fv-reply-media{display:flex;flex-direction:column;align-items:flex-start;gap:6px;margin-top:6px}.fv-frames{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:6px}.fv-frames .an-image,.fv-frames .eval-video{height:48px;width:auto;max-width:none}.fv-anchor-btn{display:inline-flex;align-items:center;gap:4px;font-family:var(--mono);font-size:var(--type-meta);color:var(--orange);background:var(--panel2);border:1px solid color-mix(in srgb,var(--orange) 35%,var(--line));border-radius:var(--radius);padding:3px 10px;cursor:pointer}.fv-anchor-btn:hover{background:var(--orange);color:var(--paper)}.fv-new-page{display:flex;flex-direction:column;gap:16px}.fv-field{display:flex;flex-direction:column;gap:6px;min-width:0}.fv-field-head{display:flex;align-items:center;gap:12px}.fv-field-label{font-family:var(--ui-font);font-size:var(--type-caption);letter-spacing:var(--tracking-normal);color:var(--muted)}.fv-new-title{height:34px}.fv-tabs{margin-left:auto;display:inline-flex;gap:2px;padding:2px;background:var(--panel2);border:1px solid var(--line);border-radius:var(--radius)}.fv-tab{font-family:var(--ui-font);font-size:var(--type-meta);color:var(--muted);background:transparent;border:none;border-radius:var(--radius);padding:2px 10px;cursor:pointer}.fv-tab.on{color:var(--ink);background:var(--paper)}.fv-new-compose .fv-textarea{border:none;border-radius:0;background:transparent;padding:2px 2px 4px;resize:none;line-height:var(--leading-relaxed);min-height:128px;max-height:52vh}.fv-new-preview{min-height:128px;font-size:var(--type-body)}.fv-new-hint{font-family:var(--ui-font);font-size:var(--type-meta);color:var(--muted)}.fv-new-actions{display:flex;align-items:center;gap:8px}.fv-new-actions .fv-cancel{display:inline-flex;align-items:center;text-decoration:none}.fv-source-notice{padding:6px 16px;font-family:var(--ui-font);font-size:var(--type-meta);color:var(--green);background:color-mix(in srgb,var(--green) 8%,var(--paper));border-bottom:1px solid var(--line)}.fv-error{margin:4px 0 8px;font-family:var(--ui-font);font-size:var(--type-meta);color:var(--red)}.fv-actions .fv-error{margin:0}.composer-surface{border:1px solid var(--line);border-radius:var(--radius);background:var(--paper);padding:8px 10px 6px}.composer-surface:focus-within{border-color:color-mix(in srgb,var(--blue) 45%,var(--line))}.composer-editor,.composer-footer{min-width:0}.composer-textarea{display:block;width:100%;box-sizing:border-box}.fv-compose{margin-top:12px}.fv-compose .fv-textarea{border:none;border-radius:0;background:transparent;padding:2px 2px 4px;resize:none;line-height:var(--leading-relaxed);min-height:42px;max-height:38vh}.fv-store-pick{display:flex;align-items:center;gap:8px;align-self:flex-start;font-family:var(--ui-font);font-size:var(--type-meta);color:var(--muted)}.fv-store-pick select{font-family:var(--ui-font);font-size:var(--type-meta);color:var(--ink2);background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:3px 7px}.fv-input,.fv-textarea{width:100%;box-sizing:border-box;font-family:var(--ui-font);font-size:var(--type-control);color:var(--ink);background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:6px 8px;resize:vertical}.fv-input:focus,.fv-textarea:focus{outline:none;border-color:var(--blue)}.fv-tawrap{position:relative}.fv-tawrap .fv-textarea{display:block}.fv-compose .mention-menu.up{bottom:calc(100% + 13px)}.fv-actions{display:flex;align-items:center;gap:8px;margin-top:4px}.fv-trigger-btn{width:26px;height:26px;flex:none;display:inline-flex;align-items:center;justify-content:center;padding:0;font-family:var(--ui-font);font-size:var(--type-control);line-height:var(--leading-none);color:var(--muted);background:var(--panel2);border:1px solid var(--line);border-radius:var(--radius);cursor:pointer}.fv-trigger-btn:hover{color:var(--blue);border-color:color-mix(in srgb,var(--blue) 45%,var(--line))}.fv-actions-end{margin-left:auto;display:inline-flex;align-items:center;gap:8px}.fv-cancel{margin-left:auto;font-family:var(--ui-font);font-size:var(--type-meta);color:var(--muted);background:var(--paper);border:1px solid var(--line);padding:4px 12px;border-radius:var(--radius);cursor:pointer}.fv-cancel:hover{color:var(--orange);border-color:var(--orange)}.fv-cancel:disabled{opacity:.5;cursor:default}.fv-post{font-family:var(--ui-font);font-size:var(--type-meta);color:var(--paper);background:var(--blue);border:1px solid var(--blue);padding:4px 14px;border-radius:var(--radius);cursor:pointer}.fv-post:disabled{opacity:.5;cursor:default}.fv-send{width:26px;height:26px;flex:none;display:inline-flex;align-items:center;justify-content:center;padding:0;color:var(--paper);background:var(--blue);border:1px solid var(--blue);border-radius:50%;cursor:pointer}.fv-send:disabled{opacity:.45;cursor:default}.si-content{position:relative;flex:1;min-width:0;display:flex;flex-direction:column;padding-left:var(--space-3);background:var(--paper)}.si-archive-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:70;display:flex;align-items:center;justify-content:center;padding:5vh 5vw;box-sizing:border-box;background:color-mix(in srgb,var(--ink) 18%,transparent)}.si-archive-page{width:min(980px,90vw);height:min(760px,86vh);min-width:0;min-height:0;display:flex;flex-direction:column;background:var(--paper);border:1px solid var(--edge);box-shadow:var(--shadow)}.si-archive-head{flex:0 0 auto;min-height:72px;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:14px 24px;box-sizing:border-box;border-bottom:1px solid var(--line);background:var(--paper)}.si-archive-head>div{min-width:0}.si-archive-head h1{margin:0;color:var(--ink);font-size:var(--type-title);line-height:var(--leading-ui);letter-spacing:var(--tracking-normal)}.si-archive-head>div>span{color:var(--muted);font-family:var(--ui-font);font-size:var(--type-meta)}.si-archive-search{width:min(420px,52%);height:34px;box-sizing:border-box;display:flex;align-items:center;gap:8px;padding:0 10px;color:var(--muted);background:var(--panel);border:1px solid var(--line);border-radius:var(--radius)}.si-archive-search:focus-within{color:var(--blue);border-color:var(--blue)}.si-archive-search input{flex:1;min-width:0;padding:0;color:var(--ink);background:transparent;border:0;outline:0;font:var(--type-control)/var(--leading-ui) var(--ui-font)}.si-archive-index{flex:1;min-height:0;overflow-y:auto;padding:0 24px 32px}.si-archive-group{max-width:1040px;margin:0 auto}.si-archive-date{position:sticky;top:0;z-index:2;margin:0 -2px;padding:14px 2px 7px;color:var(--ink2);background:var(--paper);border-bottom:1px solid var(--line);font-family:var(--ui-font);font-size:var(--type-meta);font-weight:var(--weight-semibold);letter-spacing:var(--tracking-normal)}.si-archive-page-row{width:100%;min-height:44px;box-sizing:border-box;display:grid;grid-template-columns:minmax(180px,1fr) minmax(100px,.55fr) auto 18px;align-items:center;gap:16px;padding:7px 8px;color:var(--ink2);background:transparent;border:0;border-bottom:1px solid color-mix(in srgb,var(--line) 68%,transparent);text-align:left;cursor:pointer}.si-archive-page-row:hover{background:var(--wash-hover);color:var(--ink)}.si-archive-row-title,.si-archive-row-node{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.si-archive-row-title{font-family:var(--ui-font);font-size:var(--type-control)}.si-archive-row-node,.si-archive-page-row time{color:var(--muted);font-family:var(--mono);font-size:var(--type-meta)}.si-archive-empty{padding:18vh 24px;color:var(--muted);font-family:var(--ui-font);text-align:center}.si-content.is-new{align-items:center;justify-content:center}.si-new-center{width:min(560px,86%);display:flex;flex-direction:column;align-items:center;gap:12px;margin-bottom:12vh;animation:si-rise .18s ease}.si-hero{margin:0 0 2px;font-family:var(--mono);font-size:var(--type-hero);line-height:var(--leading-hero);white-space:pre;-webkit-user-select:none;user-select:none;background:linear-gradient(180deg,var(--blue),var(--magenta));-webkit-background-clip:text;background-clip:text;color:transparent}.si-inputwrap{position:relative;width:100%;display:flex;border:1px solid var(--edge);border-radius:var(--radius);background:var(--paper);padding:var(--space-5) var(--space-6);box-shadow:var(--shadow);transition:height .12s ease}.si-inputwrap:focus-within{box-shadow:var(--shadow),var(--focus-ring)}.mention-menu{position:absolute;top:calc(100% + 4px);left:0;right:0;z-index:5;margin:0;padding:4px;list-style:none;max-height:248px;overflow-y:auto;background:var(--paper);border:1px solid var(--blue);border-radius:var(--radius);box-shadow:var(--shadow);animation:si-rise .12s ease}.mention-menu.up{top:auto;bottom:calc(100% + 4px)}.mention-menu.fixed{position:fixed;top:auto;z-index:70}.mention-head{padding:3px 8px 5px;font-size:var(--type-meta);color:var(--muted);letter-spacing:var(--tracking-normal);border-bottom:1px solid var(--line);margin-bottom:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mention-item{display:flex;align-items:baseline;gap:8px;padding:4px 8px;border-radius:var(--radius);cursor:pointer;font-size:var(--type-control);white-space:nowrap}.mention-item.on{background:var(--wash-hover)}.mention-item.new .mention-id{color:var(--green);font-style:italic}.mention-dot{width:6px;height:6px;border-radius:50%;flex:none;align-self:center}.mention-id{color:var(--blue);flex:none}.mention-id .mention-hit{font-weight:var(--weight-semibold)}.mention-path{color:var(--muted);font-size:var(--type-meta);min-width:0;overflow:hidden;text-overflow:ellipsis}.slash-name{color:var(--blue);flex:none}.slash-name .mention-hit{font-weight:var(--weight-semibold)}.slash-desc{color:var(--muted);font-size:var(--type-meta);min-width:0;flex:1;overflow:hidden;text-overflow:ellipsis}.slash-src{color:var(--muted);font-size:var(--type-meta);flex:none;opacity:.7}.slash-src.src-user{color:var(--green);opacity:.85}.slash-src.src-project{color:var(--cyan);opacity:.85}.slash-src.src-skill{color:var(--magenta);opacity:.85}.slash-name.ui{color:var(--orange);font-weight:var(--weight-semibold)}.slash-src.src-ui{color:var(--orange);opacity:.9}.slash-src.src-mutating{color:var(--yellow);opacity:.85}.slash-src.src-report{color:var(--cyan);opacity:.85}.si-input{flex:1;min-width:0;resize:none;background:transparent;border:none;outline:none;color:var(--ink2);font-family:var(--ui-font);font-size:var(--type-body);line-height:var(--leading-relaxed);max-height:180px;overflow-y:hidden;transition:height .12s ease}.si-input::placeholder{color:var(--muted)}.si-hint{font-size:var(--type-meta);color:var(--muted)}.si-hint code{color:var(--blue);background:var(--panel2);padding:0 4px;border-radius:var(--radius)}.si-agent-glyph{width:16px;height:16px;display:block;fill:currentColor}.si-launcher-picker{display:inline-flex;align-items:center}.si-launcher-harness{display:inline-flex;align-items:center;color:var(--ink2);flex:none}.si-launcher-btn{display:inline-flex;align-items:center;gap:7px;height:28px;padding:0 12px;cursor:pointer;color:var(--ink);background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-full);font-size:var(--type-control);transition:border-color .12s ease,box-shadow .12s ease}.si-launcher-btn:hover{background:var(--wash-hover)}.si-launcher-btn.on{border-color:var(--blue)}.si-launcher-btn.on{box-shadow:0 0 0 3px color-mix(in srgb,var(--blue) 15%,transparent)}.si-launcher-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:29;background:#0000002e;animation:si-launcher-fade-in .14s ease}@keyframes si-launcher-fade-in{0%{opacity:0}to{opacity:1}}.si-launcher-pop{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);z-index:30;width:max-content;min-width:340px;max-width:min(720px,calc(100vw - 64px));max-height:min(70vh,640px);overflow-y:auto;padding:8px;background:var(--panel);border:1px solid var(--edge);border-radius:var(--radius);box-shadow:var(--shadow);animation:si-launcher-pop-in .16s ease}@keyframes si-launcher-pop-in{0%{opacity:0;transform:translate(-50%,-50%) scale(.94)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}.si-launcher-row{display:flex;flex-direction:column;border-radius:var(--radius);width:100%;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:none;font:inherit;text-align:left;cursor:pointer;padding:0}.si-launcher-row.on{background:color-mix(in srgb,var(--blue) 10%,transparent)}.si-launcher-row-main{display:flex;align-items:center;gap:9px;min-width:0;padding:8px 10px 2px;color:var(--ink);font-size:var(--type-control)}.si-launcher-row:not(.on):not(.off):hover{background:color-mix(in srgb,var(--ink) 6%,transparent)}.si-launcher-row.off{opacity:.45;cursor:not-allowed}.si-launcher-row-main:last-child{padding-bottom:8px}.si-launcher-row .si-launcher-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.si-launcher-check{color:var(--blue);flex:none;margin-left:auto}.si-launcher-cmd{display:block;margin:0 10px 8px 35px;min-width:0;font-family:var(--mono);font-size:var(--type-meta);line-height:var(--leading-relaxed);color:var(--ink2);white-space:pre-wrap;word-break:normal;overflow-wrap:anywhere;opacity:.75}.si-session-wrap{container-type:inline-size}.si-tab{-webkit-appearance:none;-moz-appearance:none;appearance:none;min-width:0;height:32px;display:inline-flex;align-items:center;gap:6px;background:transparent;border:0;border-bottom:2px solid transparent;margin-bottom:-1px;padding:0 9px;cursor:default;color:var(--muted);font-family:var(--ui-font);font-size:var(--type-control);text-decoration:none;white-space:nowrap}.si-tab.on{color:var(--ink);border-bottom-color:var(--blue);background:color-mix(in srgb,var(--blue) 5%,transparent)}.si-tab svg{flex:none}.si-resource-menu{position:absolute;top:calc(100% + 4px);left:0;z-index:30;min-width:210px;max-width:min(360px,calc(100vw - 24px));max-height:min(320px,55vh);overflow-y:auto;padding:4px;background:var(--panel);border:1px solid var(--edge);border-radius:var(--radius);box-shadow:var(--shadow)}.si-resource-menu-row{width:100%;min-width:0;display:flex;align-items:center;gap:7px;padding:6px 7px;color:var(--ink2);background:transparent;border:0;border-radius:var(--radius);font-family:var(--ui-font);font-size:var(--type-control);text-align:left;cursor:pointer}.si-resource-menu-row:hover,.si-resource-menu-row:focus-visible{color:var(--blue);background:var(--wash-hover)}.si-resource-menu-row:disabled{color:var(--muted);cursor:not-allowed}.si-resource-menu-row:disabled:hover{color:var(--muted);background:transparent}.si-resource-menu-row span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.si-resource-menu-empty{display:block;padding:7px;color:var(--muted);font-family:var(--ui-font);font-size:var(--type-control)}.si-eval-door{flex:none;height:var(--line-status);display:inline-flex;align-items:center;justify-content:center;gap:4px;padding:0;border:0;color:inherit;text-decoration:none;white-space:nowrap;font-family:var(--ui-font);font-size:var(--type-meta)}.si-eval-door:hover{color:var(--cyan)}.si-eval-door:focus-visible{outline:2px solid var(--cyan);outline-offset:1px}.si-eval-door>svg{flex:none;color:var(--cyan)}.si-eval-stats{display:inline-flex;align-items:center;gap:4px}.si-eval-wait{display:inline-flex;align-items:center;gap:2px;color:var(--muted);font-family:var(--ui-font);font-size:var(--type-caption);font-weight:var(--weight-semibold)}.si-eval-stats .ovc{gap:2px;padding:0;border:0;background:transparent}.si-eval-stats .ovc.st-empty{color:var(--muted)}.si-eval-phase{flex:0 0 auto;color:var(--muted)}.si-actions{flex:0 0 auto;min-width:0;margin-left:auto;display:flex;align-items:center;justify-content:flex-end;gap:3px;padding:0 4px}.si-files{position:relative;display:flex;align-items:center;padding:0}.si-files-menu{position:absolute;top:calc(100% + 4px);right:4px;z-index:20;width:max-content;max-width:min(360px,calc(100vw - 24px));max-height:min(320px,55vh);overflow-y:auto;padding:4px;background:var(--panel);border:1px solid var(--edge);border-radius:var(--radius);box-shadow:var(--shadow)}.si-files-row{width:100%;display:grid;grid-template-columns:minmax(0,1fr) repeat(2,26px);align-items:center;gap:2px}.si-files-name{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;min-width:0;max-width:min(280px,calc(100vw - 130px));overflow:hidden;padding:6px 7px;color:var(--ink2);font-family:var(--mono);font-size:var(--type-control);text-align:left;text-overflow:ellipsis;white-space:nowrap;background:transparent;border:0;border-radius:var(--radius);cursor:pointer}.si-files-name:hover,.si-files-name:focus-visible,.si-files-download:hover,.si-files-download:focus-visible,.si-files-copy:hover,.si-files-copy:focus-visible{color:var(--blue);background:var(--wash-hover)}.si-files-download,.si-files-copy{flex:none;width:26px;height:26px;display:inline-flex;align-items:center;justify-content:center;padding:0;color:var(--muted);background:transparent;border:0;border-radius:var(--radius);cursor:pointer}.si-file-text{width:100%;min-height:100%;box-sizing:border-box;display:block;margin:0;padding:12px;color:var(--ink);font-family:var(--mono);font-size:var(--type-control);line-height:var(--leading-relaxed);white-space:pre-wrap;overflow-wrap:anywhere;cursor:text}.si-file-markdown{box-sizing:border-box;min-height:100%;padding:14px 16px;color:var(--ink);font-size:var(--type-body);line-height:var(--leading-relaxed);cursor:text}.si-file-html{display:block;width:100%;height:100%;border:0;background:#fff}.si-file-preview-error{max-width:460px;margin:18px;color:var(--red);font-family:var(--ui-font);font-size:var(--type-control);line-height:var(--leading-relaxed);text-align:center;overflow-wrap:anywhere}.si-resource-file,.si-resource-web{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;min-width:0;min-height:0;border:0}.si-resource-file{overflow:auto;background:var(--paper);user-select:text;-webkit-user-select:text}.si-resource-file.loading,.si-resource-file.error,.si-resource-file.image{display:grid;place-items:center}.si-resource-file>img{display:block;max-width:100%;max-height:100%;object-fit:contain}.si-resource-web{background:#fff}@container (max-width: 540px){.si-actions{gap:2px;padding-inline:4px}}@container (max-width: 390px){.si-tab-label{display:none}.si-tab{width:34px;padding-inline:10px}}@media (max-width: 720px){.si-eval-door .si-eval-stats .secondary{display:none}}.si-term-body{container-type:size;flex:1;min-height:0;overflow:clip;padding:6px 10px 4px;background:var(--term-bg)}.si-term-body.is-conversation{padding:0;background:var(--paper)}.si-command-layer{position:absolute;top:0;right:0;bottom:0;left:0;z-index:4;pointer-events:none}.si-command-dismiss{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;padding:0;border:0;background:#0000000f;pointer-events:auto;cursor:default}.si-command-box{position:absolute;left:50%;bottom:22%;z-index:1;transform:translate(-50%);width:min(680px,calc(100% - 32px));max-height:min(38cqh,340px);box-sizing:border-box;padding:8px 10px 7px;border-color:color-mix(in srgb,var(--blue) 55%,var(--line));background:color-mix(in srgb,var(--panel) 96%,transparent);box-shadow:var(--shadow);pointer-events:auto}.si-command-box.err{border-color:var(--orange)}.si-command-box.dragover{border-color:var(--green)}.si-command-input{min-height:24px;max-height:min(28cqh,240px);padding:2px 2px 5px;resize:none;border:0;outline:0;background:transparent;color:var(--ink2);font-family:var(--ui-font);font-size:var(--type-control);line-height:var(--line-input)}.si-command-input::placeholder{color:var(--muted)}.si-command-box .mention-menu.up{bottom:calc(100% + 10px)}.si-command-tools{min-width:0;display:flex;align-items:center;gap:6px;padding-top:5px;border-top:1px solid color-mix(in srgb,var(--line) 70%,transparent)}.si-command-title{display:inline-flex;align-items:center;gap:5px;flex:none;margin-right:2px;color:var(--blue);font-family:var(--ui-font);font-size:var(--type-caption);font-weight:var(--weight-semibold)}.si-command-tool,.si-command-send{width:26px;height:26px;flex:none;display:inline-flex;align-items:center;justify-content:center;padding:0;border-radius:var(--radius);cursor:pointer}.si-command-tool{color:var(--muted);background:var(--panel2);border:1px solid var(--line)}.si-command-tool:hover{color:var(--ink2);background:var(--wash-hover)}.si-command-send{margin-left:auto;color:var(--paper);background:var(--blue);border:1px solid var(--blue)}.si-command-tool:disabled,.si-command-send:disabled{opacity:.45;cursor:default}.si-action-outcome{flex:0 1 auto;min-width:0;max-width:300px;padding:2px 6px;border:1px solid var(--line);border-radius:var(--radius);background:var(--panel2);color:var(--muted);font-size:var(--type-meta);line-height:var(--leading-relaxed);overflow-wrap:anywhere}.si-action-outcome.pending,.si-action-outcome.sending,.si-action-outcome.queued{color:var(--blue);border-color:color-mix(in srgb,var(--blue) 55%,var(--line))}.si-action-outcome.delivered{color:var(--green);border-color:color-mix(in srgb,var(--green) 55%,var(--line))}.si-action-outcome.failed{color:var(--red);border-color:color-mix(in srgb,var(--red) 55%,var(--line))}.si-command-tools .si-action-outcome{margin-left:auto}.si-action-outcome-float{position:absolute;top:12px;right:12px;z-index:2;max-width:min(360px,calc(100% - 24px));pointer-events:none}.si-launch{flex:none;align-self:flex-end;display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0;margin-left:2px;border-radius:var(--radius);cursor:pointer;color:var(--paper);background:var(--blue);border:1px solid var(--blue)}.si-launch:disabled{opacity:.45;cursor:default}.si-launch:not(:disabled):hover{filter:brightness(1.08)}.si-attach{flex:none;align-self:flex-end;display:inline-flex;align-items:center;background:transparent;border:none;cursor:pointer;color:var(--muted);line-height:var(--leading-relaxed);padding:0 2px}.si-attach:hover:not(:disabled){color:var(--blue)}.si-attach:disabled{opacity:.5;cursor:default}.si-eval-spinner,.si-attach-busy{animation:si-attach-spin .8s linear infinite}@keyframes si-attach-spin{to{transform:rotate(360deg)}}@keyframes si-attach-complete-out{0%,78%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-2px);pointer-events:none}}.si-inputwrap.dragover{border-color:var(--green)}.si-attach-queue{display:grid;gap:4px;min-width:0}.si-attach-queue.new{width:100%;margin-top:6px}.si-attach-queue.command{padding:5px 0 1px;border-top:1px solid color-mix(in srgb,var(--line) 65%,transparent)}.si-code-selection-queue{display:flex;flex-wrap:wrap;gap:5px;width:100%;margin-top:6px}.selection-attachment{display:inline-flex;align-items:center;gap:6px;min-width:0;max-width:100%;padding:3px 4px 3px 7px;border:1px solid color-mix(in srgb,var(--blue) 35%,var(--line));border-left:3px solid var(--blue);border-radius:var(--radius);color:var(--ink2);background:color-mix(in srgb,var(--blue) 5%,var(--paper));font-family:var(--ui-font);font-size:var(--type-caption);line-height:var(--leading-ui);box-shadow:inset 0 1px color-mix(in srgb,var(--paper) 70%,transparent)}.selection-attachment-icon{color:var(--blue);flex:none}.selection-attachment-address{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--blue)}.selection-attachment-range{flex:none;color:var(--muted);font-variant-numeric:tabular-nums}.selection-attachment-remove{width:18px;height:18px;padding:0;color:var(--muted)}.selection-attachment-remove:hover{color:var(--red)}.si-attach-row{display:grid;grid-template-columns:minmax(72px,1fr) minmax(76px,1.2fr) minmax(0,auto) auto;align-items:center;gap:6px;min-width:0;min-height:23px;font-size:var(--type-meta);color:var(--muted)}.si-attach-row.complete{animation:si-attach-complete-out 1.4s ease forwards}.si-attach-name{display:flex;align-items:center;gap:4px;min-width:0;color:var(--ink2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.si-attach-progress{width:100%;height:5px;accent-color:var(--blue)}.si-attach-status{min-width:0;max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.si-attach-row.complete .si-attach-status{color:var(--green)}.si-attach-row.failed .si-attach-status{color:var(--red)}.si-attach-row.cancelled .si-attach-status{color:var(--orange)}.si-attach-action{width:22px;height:22px;padding:0;display:inline-flex;align-items:center;justify-content:center;color:var(--muted);border:0;background:transparent;border-radius:var(--radius);cursor:pointer}.si-attach-action:hover:not(:disabled){color:var(--blue);background:var(--wash-hover)}.si-attach-action:disabled{opacity:.45;cursor:default}@media (max-width: 620px){.si-attach-row{grid-template-columns:minmax(74px,1fr) minmax(64px,1fr) auto auto;gap:4px}.si-attach-status{display:none}}@keyframes si-rise{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.st-wrap{position:relative;width:100%;height:100%}.st-host{width:100%;height:100%;overflow:clip}.st-input-confirm-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;z-index:5;display:grid;place-items:center;background:#00000047;pointer-events:auto}.st-input-confirm{width:min(420px,calc(100% - 32px));padding:16px;border:1px solid var(--edge);border-radius:var(--radius);background:var(--panel);color:var(--ink);box-shadow:var(--shadow)}.st-input-confirm h2{margin:0 0 8px;font-size:var(--type-control);line-height:var(--leading-ui)}.st-input-confirm p{margin:0;color:var(--ink2);font-size:var(--type-caption);line-height:var(--leading-relaxed)}.st-input-confirm-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:14px}.st-input-confirm-actions button{padding:6px 10px;border:1px solid var(--line);border-radius:var(--radius);background:var(--panel2);color:var(--ink2);cursor:pointer}.st-input-confirm-actions button:last-child{border-color:var(--blue);color:var(--blue)}.st-copyhint{position:absolute;right:8px;bottom:7px;pointer-events:none;z-index:2;font-family:var(--ui-font);font-size:var(--type-meta);line-height:var(--leading-tight);letter-spacing:var(--tracking-normal);color:#cfe8e8;opacity:.85;background:#073642eb;border:1px solid rgba(131,148,150,.35);padding:3px 8px;border-radius:var(--radius);transition:opacity .15s ease,color .15s ease,background .15s ease,border-color .15s ease}.st-wrap:hover .st-copyhint{opacity:1}.st-copyhint.copied{opacity:1;color:#fdf6e3;background:#859900f2;border-color:#859900f2}.st-copyhint.reconnecting{opacity:1;color:#fdf6e3;background:#cb4b16f2;border-color:#cb4b16f2;animation:st-recon-pulse 1.1s ease-in-out infinite}@keyframes st-recon-pulse{0%,to{opacity:1}50%{opacity:.55}}.st-host .xterm{width:auto!important;height:auto!important;background:var(--term-bg)!important}.st-host .xterm-screen{background:var(--term-bg)!important}.st-host .xterm-viewport{overflow:hidden!important;background:var(--term-bg)!important}.m-app{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10;display:flex;flex-direction:column;background:var(--paper);color:var(--ink);font-family:var(--ui-font);-webkit-tap-highlight-color:transparent}.m-main{flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden;overscroll-behavior:contain;padding-top:env(safe-area-inset-top,0)}.m-app .m-timeline,.m-app .m-children,.m-app .m-sesslist,.m-app .m-sessdetail,.m-app .m-pane-host .pane-doc,.m-app .m-pane-host .pane-hist,.m-app .m-pane-host .pane-issues,.m-app .m-pane-host .pane-eval,.m-app .m-pane-host .pane-edit{overflow-x:hidden}.m-app pre,.m-app code,.m-app .diff-line,.m-app .hist-diff pre{white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-word;max-width:100%}.m-app .ev-diff{overflow-x:hidden}.m-app .ev-diff .dl{white-space:pre-wrap;overflow-wrap:anywhere}.m-app img,.m-app video{max-width:100%;height:auto}.m-specs{flex:1;min-height:0;display:flex;flex-direction:column}.m-crumbs{flex:none;display:flex;flex-wrap:wrap;align-items:center;gap:2px;padding:7px 10px;border-bottom:1px solid var(--line);background:var(--paper)}.m-crumb{display:inline-flex;align-items:center;gap:2px}.m-crumb-sep{color:var(--muted)}.m-crumb-btn{background:none;border:none;padding:2px 3px;font-family:var(--ui-font);font-size:var(--type-control);color:var(--muted);cursor:pointer}.m-crumb-btn.cur{color:var(--ink2);font-weight:var(--weight-semibold)}.m-node{flex:1;min-height:0;display:flex;flex-direction:column}.m-node-head{flex:none;display:flex;align-items:center;flex-wrap:wrap;gap:6px 8px;padding:12px 14px 8px}.m-dot{flex:none;width:9px;height:9px;border-radius:50%}.m-node-title{font-size:var(--type-title);font-weight:var(--weight-semibold);color:var(--ink2)}.m-node-ver{font-size:var(--type-control);color:var(--muted)}.m-node-status{font-size:var(--type-meta);color:var(--ink);padding:1px 6px;border:1px solid var(--line);border-radius:var(--radius-full)}.m-node-faces{display:inline-flex;gap:2px}.m-node-desc{flex:none;padding:0 14px 10px;color:var(--ink);font-size:var(--type-body);line-height:var(--leading-relaxed)}.m-tabs{flex:none;display:flex;flex-wrap:wrap;gap:6px;padding:0 10px 8px;border-bottom:1px solid var(--line)}.m-tab{flex:none;padding:6px 12px;min-height:32px;cursor:pointer;font-family:var(--ui-font);font-size:var(--type-control);color:var(--ink);background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-full)}.m-tab.on{color:var(--paper);background:var(--blue);border-color:var(--blue)}.m-pane-host{flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden}.m-pane-host>*{flex:1;min-height:0}.m-pane-host.fixed .pane-hist{height:100%}.m-pane-host .pane-doc{overflow:auto;-webkit-overflow-scrolling:touch;padding:14px}.m-pane-host .pane-doc>h1,.m-pane-host .pane-doc>blockquote{display:none}.m-pane-host .pane-issues,.m-pane-host .pane-edit{-webkit-overflow-scrolling:touch}.m-children{overflow:auto;-webkit-overflow-scrolling:touch}.m-row{display:flex;align-items:center;gap:9px;width:100%;min-height:52px;padding:10px 14px;text-align:left;cursor:pointer;background:var(--paper);border:none;border-bottom:1px solid var(--line);font-family:var(--ui-font);color:var(--ink)}.m-row:active{background:var(--panel)}.m-row[disabled]{opacity:.5}.m-row-title{flex:1;min-width:0;font-size:var(--type-subtitle);color:var(--ink2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.m-row-faces{flex:none;display:inline-flex;gap:2px}.m-row-ver{flex:none;font-size:var(--type-meta);color:var(--muted)}.m-row-kids{flex:none;font-size:var(--type-meta);color:var(--blue)}.m-row-chev{flex:none;color:var(--muted);font-size:var(--type-icon-sm)}.m-tabbar{flex:none;display:flex;border-top:var(--divider-rule);background:var(--panel);padding-bottom:env(safe-area-inset-bottom,0)}.m-tabbar-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:6px;height:52px;cursor:pointer;background:none;border:none;font-family:var(--ui-font);font-size:var(--type-body);color:var(--muted)}.m-tabbar-btn.on{color:var(--blue);font-weight:var(--weight-semibold);box-shadow:inset 0 2px 0 var(--blue)}.m-tabbar-ico{font-size:var(--type-body)}.m-tabbar-badge{min-width:16px;padding:0 4px;border-radius:var(--radius-full);background:var(--orange);color:var(--paper);font-size:var(--type-caption);line-height:var(--line-badge);text-align:center}.m-sesslist{flex:1;min-height:0;overflow:auto;-webkit-overflow-scrolling:touch}.m-sess-row{display:flex;flex-wrap:nowrap;align-items:center;gap:8px;width:100%;padding:12px 14px;text-align:left;cursor:pointer;font-size:var(--type-subtitle);color:var(--ink2);background:var(--paper);border:none;border-bottom:1px solid var(--line);font-family:var(--ui-font)}.m-sess-row:active{background:var(--panel)}.m-sess-row .sess-id{flex:1;min-width:0;font-weight:var(--weight-semibold);color:var(--ink2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.m-sess-row .sess-meta{flex:none;width:auto;min-width:0;margin-top:0;margin-left:auto;font-size:var(--type-control)}.m-sess-row .sess-glyph{font-size:var(--type-body);width:14px}.m-sess-row .sess-ops{color:var(--muted)}.m-sess-tree-row{--sess-fold-pad-x: 14px}.m-sess-row .sess-fold-slot,.m-sess-tree-row .sess-fold-control{min-width:24px;height:24px}.m-zone{display:flex;align-items:center;gap:8px;padding:10px 14px 4px;font-size:var(--type-caption);font-weight:var(--weight-semibold);letter-spacing:var(--tracking-normal);color:var(--muted)}.m-zone .si-zone-count{min-width:24px;min-height:24px}.m-sessdetail{flex:1;min-height:0;overflow:auto;-webkit-overflow-scrolling:touch}.m-sessdetail.chat{display:flex;flex-direction:column;overflow:hidden}.m-sess-card{flex:none;display:flex;align-items:center;gap:10px;padding:12px 14px 12px 6px;border-bottom:1px solid var(--line)}.m-sess-back{flex:none;width:36px;height:36px;display:flex;align-items:center;justify-content:center;font-size:var(--type-icon-lg);line-height:var(--leading-none);color:var(--blue);background:none;border:none;cursor:pointer}.m-sess-meta{display:flex;flex-direction:column;gap:2px;min-width:0}.m-sess-name{font-size:var(--type-title);font-weight:var(--weight-semibold);color:var(--ink2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.m-sess-status{font-size:var(--type-control);color:var(--muted)}.m-sess-id8{color:var(--muted)}.m-sess-evalbtn{flex:none;margin-left:auto;padding:6px 13px;font-size:var(--type-control);font-family:var(--ui-font);color:var(--ink2);background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-full);cursor:pointer;text-decoration:none}.m-review{flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden}.tl-chat{position:relative;display:flex;flex-direction:column;flex:1;min-height:0;container-type:inline-size}.si-term-layer .tl-chat{height:100%;background:var(--paper)}.m-timeline{flex:1;min-height:0;overflow:auto;-webkit-overflow-scrolling:touch;padding:0 24px calc(var(--space-7) * 4);user-select:text;-webkit-user-select:text}.m-col{display:flex;flex-direction:column;max-width:760px;margin-inline:auto;padding-top:12px}::highlight(timeline-sel){background-color:#264f78;color:#f0f6fc}.m-ev,.m-day{display:grid;grid-template-columns:52px minmax(0,1fr);column-gap:16px}.m-ev{padding:9px 0}.m-gut{text-align:right;padding-top:3px;font-family:var(--ui-font);font-size:var(--type-caption);color:var(--muted);font-variant-numeric:tabular-nums}.m-day{position:sticky;top:0;z-index:2;align-items:center;padding:6px 0 4px;background:var(--paper)}.m-day .m-gut{padding-top:0;color:var(--ink2);font-weight:var(--weight-semibold)}.m-day-rule{border-top:1px solid var(--edge)}.m-ev-glyph{flex:none}.m-tin{display:none;margin-left:auto;flex:none;font-family:var(--ui-font);font-size:var(--type-caption);color:var(--muted);font-variant-numeric:tabular-nums}.m-say{min-width:0;max-width:620px}.m-say-head{display:flex;align-items:baseline;gap:10px;margin:0 0 4px;font-family:var(--ui-font)}.m-say-chip{display:inline-flex;align-items:baseline;gap:5px;font-size:var(--type-caption);font-weight:var(--weight-semibold)}.m-ev-note{font-size:var(--type-prose);line-height:var(--leading-body);color:var(--ink2);overflow-wrap:anywhere}.m-copy-note{margin-left:auto;padding:0;color:var(--muted);background:none;border:0;font:inherit;font-size:var(--type-caption);cursor:pointer;opacity:0;transition:opacity .12s}.m-ev:hover .m-copy-note,.m-ev:focus-within .m-copy-note{opacity:1}.m-quote{position:relative;justify-self:end;min-width:0;max-width:min(520px,84%);padding:8px 12px;color:var(--ink2);background:var(--panel2);border-radius:var(--radius);border-top-right-radius:2px}.m-quote-head{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin:0 0 3px;font-family:var(--ui-font)}.m-quote-head:not(:has(.m-quote-who)){display:none}.m-quote-who{font-size:var(--type-caption);font-weight:var(--weight-semibold);color:var(--blue)}.m-ev-text{font-size:var(--type-prose);line-height:var(--leading-body);overflow-wrap:anywhere}.m-quote.is-clamped{max-height:13em;overflow:hidden}.m-quote.is-clamped:after{content:"";position:absolute;inset:auto 0 0;height:4.5em;background:linear-gradient(transparent,var(--panel2));pointer-events:none}.m-quote-more{position:absolute;right:10px;bottom:6px;z-index:1;padding:0;color:var(--blue);background:none;border:0;font:inherit;font-family:var(--ui-font);font-size:var(--type-caption);cursor:pointer}.m-line{display:flex;align-items:baseline;gap:8px;min-width:0;font-family:var(--ui-font);font-size:var(--type-control)}.m-line .m-ev-word{font-weight:var(--weight-semibold)}.m-line-text.m-ev-note{min-width:0;color:var(--ink);font-size:var(--type-control);line-height:var(--leading-relaxed)}.m-ev-seam{padding:2px 0}.m-seam{min-width:0}.m-seam-dot{font-size:var(--type-caption);color:var(--muted)}.m-seam-dot.is-live{color:var(--green)}.m-seam-row{display:flex;align-items:center;gap:8px;width:100%;padding:4px 0;color:var(--muted);background:none;border:0;font-family:var(--ui-font);font-size:var(--type-meta);text-align:left;cursor:pointer}.m-seam-row:hover{color:var(--ink2)}.m-seam-lead{flex:none;color:var(--ink);font-weight:var(--weight-medium);font-variant-numeric:tabular-nums}.m-seam-detail{flex:none;font-variant-numeric:tabular-nums}.m-seam-line{flex:1;margin-left:4px;border-top:1px solid var(--edge)}.m-seam-caret{flex:none;width:0;height:0;margin-right:2px;border:4px solid transparent;border-left:5px solid currentColor;border-right:0;transform-origin:40% 50%;transition:transform .12s}.m-seam-row[aria-expanded=true] .m-seam-caret{transform:rotate(90deg)}.m-seam-inset{margin:4px 0 10px;padding:10px 0 6px 16px;border-left:2px solid color-mix(in srgb,var(--green) 45%,var(--edge))}.m-transcript-state,.m-transcript-empty,.m-transcript-truncated{color:var(--muted);font-family:var(--ui-font);font-size:var(--type-meta);overflow-wrap:anywhere}.m-transcript-state.is-error{color:var(--red)}.m-ev-trace:not(:has(.m-execution-trace)){display:none}.m-ev-trace .m-execution-entry{width:100%;margin:0}@container (max-width: 560px){.m-timeline{padding-inline:14px}.m-ev{grid-template-columns:minmax(0,1fr);column-gap:0;padding:7px 0}.m-ev>.m-gut{display:none}.m-day{grid-template-columns:auto minmax(0,1fr);column-gap:10px}.m-day .m-gut{text-align:left}.m-tin{display:inline}.m-quote .m-quote-head{display:flex}.m-say-head .m-copy-note{display:none}}.tc-flow{display:flex;flex-direction:column;gap:16px}.tc-ask{align-self:flex-end}.tc-ask .m-ev-text{font-size:var(--type-control);line-height:var(--leading-relaxed)}.tc-say{display:flex;flex-direction:column;gap:8px;min-width:0}.tc-say-text{max-width:620px;color:var(--ink);font-size:var(--type-prose);line-height:var(--leading-body);overflow-wrap:anywhere}.tc-work{display:flex;flex-direction:column;gap:8px}.tc-work-row{display:flex;align-items:baseline;gap:7px;width:100%;padding:3px 0;color:var(--muted);background:none;border:0;border-bottom:1px solid var(--edge);font-family:var(--ui-font);font-size:var(--type-meta);text-align:left;cursor:pointer}.tc-work-row:hover{color:var(--ink2)}.tc-work-caret{flex:none}.tc-work-lead{flex:none;color:var(--ink2);font-weight:var(--weight-medium)}.tc-work-detail{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tc-work-body{display:flex;flex-direction:column;gap:14px;padding-left:10px;border-left:1px solid var(--edge)}.tc-tools{display:flex;flex-direction:column;gap:2px;align-items:flex-start;min-width:0;max-width:100%}.tc-tool{display:flex;flex-direction:column;gap:3px;min-width:0;max-width:100%}.tc-tool-row{display:inline-flex;align-items:baseline;gap:6px;min-width:0;max-width:min(100%,56ch);padding:2px 0;color:var(--muted);background:none;border:0;font-family:var(--ui-font);font-size:var(--type-meta);text-align:left}.tc-tool-row.is-openable{cursor:pointer}.tc-tool-row.is-openable:hover{color:var(--ink2)}.tc-tool-verb{flex:none;color:var(--ink2);font-weight:var(--weight-medium)}.tc-tool-target{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--ink)}.tc-tool-trail{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted)}.tc-tool-size{flex:none;color:var(--muted);font-variant-numeric:tabular-nums}.tc-tool-caret{flex:none;color:var(--muted)}.tc-tool-row.is-run .tc-tool-verb{color:var(--muted);font-weight:var(--weight-regular)}.tc-tool-kids{display:flex;flex-direction:column;gap:2px;align-items:flex-start;margin-left:8px;padding-left:10px;border-left:1px solid var(--edge)}.tc-tool-out{max-width:100%;max-height:220px;overflow:auto;margin:0 0 2px;padding:7px 9px;color:var(--ink);background:var(--term-bg);border-radius:var(--radius);font:inherit;font-family:var(--mono);font-size:var(--type-meta);white-space:pre-wrap;overflow-wrap:anywhere}.m-execution-entry{display:flex;align-items:center;gap:8px;width:calc(100% - 14px);margin:10px 0 0 14px;padding:7px 9px;overflow:hidden;color:var(--ink2);font:inherit;font-size:var(--type-control);text-align:left;background:color-mix(in srgb,var(--blue) 5%,var(--paper));border:1px dashed color-mix(in srgb,var(--blue) 45%,var(--line));border-radius:var(--radius);cursor:pointer}.m-execution-entry:hover{background:color-mix(in srgb,var(--blue) 9%,var(--paper));border-color:var(--blue)}.m-execution-entry span{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.m-execution-entry svg{flex:none;color:var(--blue)}.m-execution-entry svg:last-child{color:var(--muted)}.execution-trace-modal{width:min(520px,calc(100vw - 28px))}.execution-note{padding:0 0 10px;color:var(--ink2);font-size:var(--type-body);line-height:var(--leading-relaxed);border-bottom:1px solid var(--line);overflow-wrap:anywhere}.execution-steps{display:flex;flex-direction:column;gap:2px;padding:10px 0 0;margin:0;list-style:none}.execution-step{min-height:32px;font-family:var(--mono);font-size:var(--type-control);color:var(--ink2);border-bottom:1px solid var(--line)}.execution-step:last-child{border-bottom:0}.execution-step-toggle,.execution-step-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:8px;width:100%;min-height:32px;padding:6px 7px;color:inherit;font:inherit;text-align:left;background:transparent;border:0}.execution-step-toggle{cursor:pointer}.execution-step-toggle:hover{background:color-mix(in srgb,var(--blue) 5%,transparent)}.execution-step-toggle>svg:first-child,.execution-step-row>svg:first-child{color:var(--blue)}.execution-step-toggle>svg:last-child{color:var(--muted)}.execution-step-label{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.execution-step-detail{padding:0 30px 8px;overflow-wrap:anywhere;color:var(--muted);font-size:var(--type-caption);line-height:var(--leading-relaxed)}.execution-step-state{color:var(--muted);font-size:var(--type-caption)}.execution-step.running .execution-step-state{color:var(--orange)}.execution-empty{padding:8px 7px;color:var(--muted);font-size:var(--type-control)}.rich-text{min-width:0;max-width:100%;overflow-x:auto;white-space:normal;overflow-wrap:anywhere}.rich-text>:first-child{margin-top:0}.rich-text>:last-child{margin-bottom:0}.rich-text p{margin:.42em 0}.rich-text h1,.rich-text h2,.rich-text h3,.rich-text h4,.rich-text h5,.rich-text h6{margin:.7em 0 .3em;color:var(--ink2);font-size:var(--type-subtitle);line-height:var(--leading-tight);letter-spacing:var(--tracking-normal)}.rich-text h1{font-size:var(--type-title)}.rich-text ul,.rich-text ol{margin:.42em 0;padding-left:1.7em}.rich-text li+li{margin-top:.18em}.rich-text blockquote{margin:.5em 0;padding-left:.8em;color:var(--muted);border-left:2px solid var(--blue)}.rich-text a{color:var(--blue);text-decoration:underline;text-underline-offset:2px}.rich-text img{display:block;max-width:100%;height:auto;margin:.55em 0;border-radius:var(--radius)}.rich-text code{padding:.08em .3em;font-family:var(--mono);font-size:var(--type-control);color:var(--ink2);background:var(--paper);border:1px solid var(--line);border-radius:var(--radius)}.rich-text pre{max-width:100%;margin:.55em 0;padding:8px 10px;overflow-x:auto;color:var(--ink2);background:var(--paper);border:1px solid var(--line);border-radius:var(--radius)}.rich-text pre code{padding:0;white-space:pre;background:transparent;border:0}.rich-text table{display:block;max-width:100%;margin:.55em 0;overflow-x:auto;border-collapse:collapse}.rich-text th,.rich-text td{padding:4px 7px;white-space:nowrap;text-align:left;border:1px solid var(--line)}.rich-text th{color:var(--ink2);background:var(--paper)}.rich-text hr{margin:.65em 0;border:0;border-top:1px solid var(--line)}.rich-text .katex-block{max-width:100%;margin:.6em 0;padding:2px 0;overflow-x:auto;overflow-y:hidden}.rich-text .katex-block .katex-display{margin:0}.rich-text .katex-error{color:var(--red);white-space:pre-wrap}.m-senderr,.m-copy-status{flex:none;padding:6px 14px;font-size:var(--type-control)}.m-senderr{color:var(--red)}.m-copy-status{color:var(--muted)}.m-copy-status.failed{color:var(--red)}.m-composer{position:absolute;left:50%;bottom:var(--space-5);z-index:4;width:min(760px,calc(100% - var(--space-7)));transform:translate(-50%);padding:var(--space-4) var(--space-5);border:1px solid var(--edge);border-radius:var(--radius);background:color-mix(in srgb,var(--panel2) 90%,var(--paper));-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:var(--shadow)}.m-composer:focus-within{border-color:var(--blue)}.m-composer>.m-senderr{padding:0 0 var(--space-3)}.m-composer-line{display:flex;align-items:flex-end;gap:var(--space-4)}.m-input{flex:1;min-width:0;min-height:26px;max-height:min(28cqh,240px);resize:none;padding:var(--space-1) 0;font-family:var(--ui-font);font-size:var(--type-body);line-height:var(--leading-relaxed);color:var(--ink2);background:transparent;border:0;outline:none}.m-input::placeholder{color:var(--muted)}.m-input:disabled{color:var(--muted);cursor:default}.m-send{flex:none;align-self:flex-end;height:26px;padding:0 var(--space-5);font-family:var(--ui-font);font-size:var(--type-meta);font-weight:var(--weight-medium);color:var(--blue);background:transparent;border:0;border-radius:var(--radius);cursor:pointer}.m-send:hover:not(:disabled){background:color-mix(in srgb,var(--blue) 12%,transparent)}.m-send:disabled{opacity:.45;cursor:default}.m-coldline{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:30px;padding-top:7px;color:var(--muted);font-family:var(--ui-font);font-size:var(--type-control)}.m-coldline-action{flex:none;padding:4px 9px;color:var(--blue);font:inherit;background:transparent;border:1px solid var(--line);border-radius:var(--radius);cursor:pointer}.m-coldline-action:hover,.m-coldline-action:focus-visible{border-color:var(--blue);outline:none}.m-coldline-action:disabled{opacity:.45;cursor:default}.m-composer>.si-action-outcome{margin-top:7px}.m-empty{padding:18px 14px;color:var(--muted);font-size:var(--type-body)}.m-empty.big{flex:1;display:flex;align-items:center;justify-content:center;text-align:center}.m-new-btn{display:flex;align-items:center;gap:8px;width:100%;padding:12px 14px;font-family:var(--ui-font);font-size:var(--type-subtitle);font-weight:var(--weight-semibold);color:var(--blue);text-align:left;background:var(--paper);border:none;border-bottom:1px solid var(--line);cursor:pointer}.m-new-btn:hover,.m-new-btn:focus-visible{background:var(--panel);color:var(--ink2)}.m-new-btn>svg{flex:none}.m-new-body{display:flex;flex-direction:column;gap:12px;padding:14px}.m-new-input{flex:none;min-height:120px}.m-new-launcher{display:flex;align-items:center;gap:10px;font-size:var(--type-body);color:var(--muted)}.m-new-launcher-select{flex:1;min-width:0;padding:8px 10px;font-family:var(--ui-font);font-size:var(--type-subtitle);color:var(--ink2);background:var(--paper);border:1px solid var(--line);border-radius:var(--radius)}.m-new .m-senderr{padding:0}.m-new-go{height:42px}.eval-todo-note{color:var(--muted);font-size:var(--type-body);margin:0 0 14px}.eval-declared-row .eval-expected{padding-left:23px;margin:4px 0 0}.eval-tracks{color:var(--muted);font-family:var(--ui-font);font-size:var(--type-caption);opacity:.85}.eval-dangling-badge{color:var(--orange);margin-right:6px}.eval-dangling-name{text-decoration:line-through;color:var(--muted)}.eval-dangling-tag{font-family:var(--ui-font);font-size:var(--type-caption);color:var(--orange);margin-left:8px;border:1px dashed color-mix(in srgb,var(--orange) 45%,var(--line));border-radius:var(--radius);padding:0 5px}.eval-dangling-remarks{padding-left:23px;margin:6px 0 0}.eval-row{position:relative;border-bottom:1px solid var(--line);padding:10px 0}.eval-row:last-child{border-bottom:0}.eval-head{display:flex;flex-direction:column;gap:4px;width:100%;box-sizing:border-box;padding:0 26px 0 0;text-align:left;background:none;border:0;margin:0;font:inherit;color:inherit;cursor:pointer}.eval-open{position:absolute;top:10px;right:2px;display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:var(--radius);color:var(--muted)}.eval-open:hover{color:var(--ink2);background:var(--wash-hover)}.eval-top{display:flex;align-items:center;gap:8px}.eval-caret{flex:none;color:var(--muted);font-size:var(--type-meta)}.eval-scenario{font-size:var(--type-body);font-weight:var(--weight-semibold);color:var(--ink2);min-width:0;overflow:hidden;text-overflow:ellipsis}.eval-meta{display:flex;align-items:center;gap:10px;font-size:var(--type-meta);color:var(--muted)}.eval-sha{color:var(--blue);background:var(--panel2);padding:0 4px;border-radius:var(--radius)}.eval-verdict{flex:none;font-size:var(--type-caption);font-weight:var(--weight-semibold);border-radius:var(--radius);padding:0 4px;line-height:var(--leading-relaxed)}.eval-verdict.pass{color:var(--green);border:1px solid var(--green)}.eval-verdict.fail{color:var(--orange);border:1px solid var(--orange)}.eval-verdict.note{color:var(--blue);border:1px solid var(--blue);cursor:help}.eval-verdict.legacy{color:var(--muted);border:1px solid var(--line)}.eval-shot{margin:8px 0 2px;padding-left:19px}.eval-shot img{display:block;max-width:100%;background:var(--panel2);border:1px solid var(--line);border-radius:var(--radius)}.eval-video{display:block;inline-size:auto;block-size:auto;max-inline-size:100%;background:var(--panel2);border:1px solid var(--line);border-radius:var(--radius)}.eval-noimg{font-size:var(--type-meta);color:var(--muted)}.eval-expected,.eval-note{font-size:var(--type-control);color:var(--ink2);margin:0 0 6px}.eval-expected-label{color:var(--muted);font-weight:var(--weight-semibold)}.eval-transcript{font-family:var(--mono);font-size:var(--type-meta);color:var(--ink2);background:var(--panel2);border:1px solid var(--line);border-radius:var(--radius);padding:8px 10px;margin:0;max-height:360px;overflow:auto;white-space:pre-wrap;word-break:break-word}.eval-transcript.loading{color:var(--muted)}.eval-datawrap{border:1px solid var(--line);border-left:3px solid var(--magenta);border-radius:var(--radius);overflow:hidden}.eval-datahead{font-family:var(--ui-font);font-size:var(--type-caption);letter-spacing:var(--tracking-normal);color:var(--muted);background:var(--panel);padding:4px 10px;border-bottom:1px solid var(--line)}.eval-data{font-family:var(--mono);font-size:var(--type-meta);color:var(--ink2);background:var(--panel2);padding:8px 10px;margin:0;max-height:360px;overflow:auto;white-space:pre-wrap;word-break:break-word}.eval-data.loading{color:var(--muted)}.eval-datafold>summary.eval-datahead{cursor:pointer;-webkit-user-select:none;user-select:none;list-style:none}.eval-datafold>summary.eval-datahead::-webkit-details-marker{display:none}.eval-datafold>summary.eval-datahead:before{content:"▸ ";color:var(--muted)}.eval-datafold[open]>summary.eval-datahead:before{content:"▾ "}.eval-datafold:not([open])>summary.eval-datahead{border-bottom:none}.ef-node{flex:0 1 auto;max-width:58px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--type-meta);opacity:.9;text-decoration:none}.ef-node:hover{text-decoration:underline}.lp-row .ef-node{max-width:180px}.ef-okd{flex:none;width:17px;height:17px;display:inline-flex;align-items:center;justify-content:center;color:var(--green);background:color-mix(in srgb,var(--green) 12%,transparent);border:1px solid color-mix(in srgb,var(--green) 42%,var(--line));border-radius:50%}.an-thread{display:flex;flex-direction:column;padding:4px 0 8px}.an-thread .an-comments-head{padding:10px 0 6px;border-bottom:1px solid var(--line)}.an-thread .fv-reply{margin-top:10px}.an-image{display:block;inline-size:auto;block-size:auto;max-inline-size:100%;border:1px solid var(--line);border-radius:var(--radius);background:var(--panel2);cursor:zoom-in}.lightbox{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;display:flex;align-items:center;justify-content:center;background:#000000d1;cursor:zoom-out}.lightbox img{max-width:96vw;max-height:96vh;object-fit:contain;border-radius:var(--radius);box-shadow:var(--shadow)}.an-prior-note{color:var(--muted)}.an-node{font-size:var(--type-meta);color:var(--muted);text-decoration:none}.an-node:hover{text-decoration:underline}.an-expected{font-size:var(--type-control);color:var(--ink2);padding:8px 0 0}.an-comments-head{font-size:var(--type-caption);font-weight:var(--weight-semibold);letter-spacing:var(--tracking-normal);color:var(--ink2)}.an-gallery{display:flex;flex-direction:column;align-items:flex-start;gap:10px;margin:12px 0 0}.an-player{inline-size:fit-content;min-inline-size:min(360px,100%);max-inline-size:100%}.an-stage{position:relative;inline-size:fit-content;max-inline-size:100%;margin:12px 0 0;cursor:crosshair}.an-video{display:block;inline-size:auto;block-size:auto;max-inline-size:100%;background:#000;border:1px solid var(--line);border-radius:var(--radius) var(--radius) 0 0}.an-rect{position:absolute;border:2px solid var(--orange);border-radius:var(--radius);background:color-mix(in srgb,var(--orange) 12%,transparent);pointer-events:none}.an-rect.live{border-style:dashed}.an-bigplay{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:54px;height:54px;border-radius:50%;background:#080c1280;border:1px solid rgba(255,255,255,.22);display:flex;align-items:center;justify-content:center;font-size:var(--type-icon-lg);color:#fff;pointer-events:none;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.an-bar{display:flex;align-items:center;gap:10px;padding:6px 8px;background:var(--panel2);border:1px solid var(--line);border-top:none;border-radius:0 0 var(--radius) var(--radius)}.an-play,.an-fs{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:30px;height:26px;color:var(--ink);background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);cursor:pointer}.an-play:hover,.an-fs:hover{background:var(--wash-hover)}.an-player:fullscreen{display:flex;flex-direction:column;align-items:center;justify-content:center;background:#000}.an-player:fullscreen .an-stage{margin:0;max-width:100vw;max-height:calc(100vh - 38px)}.an-player:fullscreen .an-video{width:auto;max-width:100vw;max-height:calc(100vh - 38px);border:none;border-radius:0}.an-player:fullscreen .an-bar{width:min(100vw,1100px);border-radius:0}.an-player:-webkit-full-screen{display:flex;flex-direction:column;align-items:center;justify-content:center;background:#000}.an-player:-webkit-full-screen .an-stage{margin:0;max-width:100vw;max-height:calc(100vh - 38px)}.an-player:-webkit-full-screen .an-video{width:auto;max-width:100vw;max-height:calc(100vh - 38px);border:none;border-radius:0}.an-player:-webkit-full-screen .an-bar{width:min(100vw,1100px);border-radius:0}.an-time{flex:0 0 auto;font-family:var(--mono);font-size:var(--type-meta);color:var(--muted);font-variant-numeric:tabular-nums}.an-curstep{flex:0 1 auto;min-width:0;font-size:var(--type-meta);color:var(--green);background:color-mix(in srgb,var(--green) 12%,transparent);border:1px solid color-mix(in srgb,var(--green) 35%,var(--line));border-radius:var(--radius);padding:1px 7px;max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.an-seek{flex:1 1 auto;position:relative;height:18px;display:flex;align-items:center;cursor:pointer}.an-seek-trk{position:absolute;left:0;right:0;height:5px;background:var(--line);border-radius:var(--radius)}.an-seek-play{position:absolute;left:0;height:5px;background:var(--blue);border-radius:var(--radius);transition:width .12s linear}.an-knob{position:absolute;width:12px;height:12px;background:var(--ink);border:2px solid var(--paper);border-radius:50%;transform:translate(-50%);box-shadow:0 1px 4px #0006;transition:left .12s linear}.an-band{position:absolute;top:2px;width:2px;height:14px;background:color-mix(in srgb,var(--green) 45%,transparent);transform:translate(-50%);pointer-events:none}.an-mk{position:absolute;top:-1px;width:10px;height:20px;padding:0;transform:translate(-50%);background:none;border:none;cursor:pointer}.an-mk:after{content:"";display:block;margin:0 auto;width:3px;height:20px;border-radius:2px;background:var(--orange);box-shadow:0 0 0 1px var(--paper);transition:transform .12s,background .12s}.an-mk:hover:after{transform:scaleX(1.8)}.an-mk.active:after{background:var(--green)}.an-mk.on:after{transform:scaleX(2);background:var(--orange);box-shadow:0 0 0 1px var(--paper),0 0 8px color-mix(in srgb,var(--orange) 60%,transparent)}.an-seek-hov{position:absolute;bottom:22px;transform:translate(-50%);background:var(--panel);border:1px solid var(--line);color:var(--ink);font-family:var(--ui-font);font-size:var(--type-meta);padding:1px 6px;border-radius:var(--radius);pointer-events:none;white-space:nowrap}.an-ruler{display:flex;flex-wrap:wrap;gap:4px;padding:8px 0 0}.an-step{font:inherit;font-size:var(--type-meta);color:var(--ink2);background:var(--panel2);border:1px solid var(--line);border-radius:var(--radius);padding:2px 8px;cursor:pointer}.an-step.on{border-color:var(--green);color:var(--ink)}.an-hint{color:var(--muted);font-size:var(--type-meta);padding:8px 0 0}.an-flash{font-size:var(--type-control);color:var(--green);padding:4px 0 0}.an-verdict-badge{font-weight:var(--weight-semibold)}.an-okd{display:inline-flex;align-items:center;gap:4px;font-size:var(--type-meta);color:var(--green);white-space:nowrap}.an-ab{display:flex;align-items:center;flex-wrap:nowrap;gap:8px;margin-left:auto}.an-ab-nav{display:inline-flex;align-items:center;justify-content:center;line-height:var(--leading-none);color:var(--ink2);background:var(--panel2);border:1px solid var(--line);border-radius:var(--radius);padding:2px 6px;cursor:pointer}.an-ab-nav:disabled{opacity:.35;cursor:default}.an-ab-track{display:flex;flex-wrap:nowrap;gap:3px;align-items:center}.an-ab-pip{width:24px;height:24px;display:flex;align-items:center;justify-content:center;background:var(--panel2);border:1px solid var(--line);border-radius:var(--radius);cursor:pointer;color:var(--muted)}.an-ab-pip.on{box-shadow:var(--focus-ring);border-color:var(--blue)}.an-ab-pos{font-size:var(--type-meta);color:var(--muted);margin-left:2px;white-space:nowrap}.an-ab-more{position:relative;flex:none}.an-ab-morebtn{width:24px;height:24px;display:inline-flex;align-items:center;justify-content:center;color:var(--ink2);background:var(--panel2);border:1px solid var(--line);border-radius:var(--radius);cursor:pointer}.an-ab-morebtn:hover{color:var(--ink);background:var(--wash-hover)}.an-ab-menu{max-height:min(300px,60vh)}.an-ab-menuitem{grid-template-columns:16px auto minmax(0,1fr)}.an-ab-menupos{font-variant-numeric:tabular-nums}.an-ab-menudate{color:var(--muted);font-size:var(--type-caption);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media (max-width: 760px){.an-ab-pos{display:none}}.se-gates{position:sticky;top:0;z-index:4;flex:0 0 40px;height:40px;display:flex;align-items:center;align-content:center;gap:8px;flex-wrap:wrap;padding:4px 14px;box-sizing:border-box;border-bottom:1px solid var(--line);background:var(--panel2)}.se-gates~.rl-content .rl-query{top:40px}.se-gates~.rl-content .lp-head{top:84px}.se-gate{font-family:var(--ui-font);font-size:var(--type-meta);border:1px solid var(--line);border-radius:var(--radius);padding:1px 7px;color:var(--muted)}.se-gate.ok{color:var(--green);border-color:color-mix(in srgb,var(--green) 40%,var(--line))}.se-gate.bad{color:var(--red);border-color:color-mix(in srgb,var(--red) 40%,var(--line))}.se-acts{margin-left:auto;display:inline-flex;align-items:center;gap:2px}.se-export{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;box-sizing:border-box;border-radius:var(--radius);color:var(--blue);text-decoration:none}.se-export:hover{color:color-mix(in srgb,var(--blue) 72%,var(--ink))}.se-door{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;box-sizing:border-box;border:1px solid var(--line);border-radius:var(--radius);color:var(--ink2);background:var(--paper);text-decoration:none}.se-door:hover{color:var(--ink2);background:var(--wash-hover)}@media (max-width: 760px){.se-gates{flex-basis:80px;height:80px}.se-gates~.rl-content .rl-query{top:80px}.se-gates~.rl-content .lp-head{top:124px}}.loading{display:flex;align-items:center;justify-content:center;gap:10px;height:100%;flex:1;color:var(--muted);font-family:var(--ui-font);font-size:var(--type-body)}.loading.load-error{color:var(--red)}.load-retry,.view-error-retry{font-family:var(--ui-font);font-size:var(--type-control);color:var(--ink2);background:var(--panel2);border:1px solid var(--line);border-radius:var(--radius);padding:3px 10px;cursor:pointer}.load-retry:hover,.view-error-retry:hover{border-color:var(--muted)}.view-error{flex:1;min-width:0;height:100%;display:grid;place-items:center;padding:24px;background:var(--paper)}.view-error-box{max-width:460px;display:flex;flex-direction:column;align-items:center;gap:8px;padding:16px 20px;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);text-align:center}.view-error-title{margin:0;color:var(--red);font-family:var(--ui-font);font-size:var(--type-body)}.view-error-detail{max-width:100%;margin:0;color:var(--muted);font-family:var(--mono);font-size:var(--type-meta);line-height:var(--leading-relaxed);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rf-compact{position:sticky;top:-16px;z-index:6;width:min(260px,100%);height:28px;box-sizing:border-box;margin:-8px 0 8px auto;display:flex;align-items:center;color:var(--muted);background:var(--panel2);border:1px solid var(--line);border-radius:var(--radius)}.rf-row{position:sticky;top:-16px;z-index:6;display:flex;align-items:center;gap:10px;margin:-8px 0 8px;background:var(--paper)}.rf-row .rf-compact{position:static;margin:0 0 0 auto}.rf-summary{flex:none;color:var(--muted);font-family:var(--ui-font);font-size:var(--type-caption)}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.rf-summary-compact{display:none}@media (max-width: 640px){.rf-summary-full{display:none}.rf-summary-compact{display:inline}}.rf-compact:focus-within{border-color:var(--blue);box-shadow:0 0 0 2px color-mix(in srgb,var(--blue) 13%,transparent)}.rf-search-icon{width:27px;flex:none;display:grid;place-items:center}.rf-compact input{min-width:0;flex:1;height:26px;padding:0;color:var(--ink2);background:transparent;border:0;outline:0;font-family:var(--ui-font);font-size:var(--type-meta)}.rf-compact input::placeholder{color:var(--muted)}.rf-clear,.rf-compact .rl-secondary-filters-trigger{width:27px;height:26px;flex:none;display:grid;place-items:center;padding:0;color:var(--muted);background:transparent;border:0;border-radius:var(--radius);cursor:pointer}.rf-clear:hover,.rf-compact .rl-secondary-filters-trigger:hover,.rf-compact .rl-secondary-filters.active-desktop .rl-secondary-filters-trigger{color:var(--ink);background:color-mix(in srgb,var(--line) 45%,transparent)}@media (max-width: 760px){.rf-compact .rl-menu{max-height:min(270px,32vh)}}.pane-filter-none{color:var(--muted);font-family:var(--ui-font);font-size:var(--type-meta);padding:6px 2px}.ui-tip{position:fixed;z-index:100;pointer-events:none;background:var(--panel2);color:var(--ink2);border:1px solid var(--edge);border-radius:var(--radius);padding:4px 9px;font-family:var(--ui-font);font-size:var(--type-meta);line-height:var(--leading-relaxed);max-width:320px;white-space:pre-line;overflow-wrap:break-word;box-shadow:var(--shadow);opacity:0;transform-origin:bottom center;transform:translateY(3px) scale(.94);transition:opacity .1s ease-out,transform .16s cubic-bezier(.16,1,.3,1)}.ui-tip[data-place=bottom]{transform-origin:top center;transform:translateY(-3px) scale(.94)}.ui-tip.show{opacity:1;transform:translateY(0) scale(1)}@media (prefers-reduced-motion: reduce){.ui-tip,.ui-tip[data-place=bottom],.ui-tip.show{transform:none;transition:opacity .1s ease-out}}.ui-tip-arrow{position:absolute;width:8px;height:8px;background:var(--panel2);border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.ui-tip[data-place=top] .ui-tip-arrow{bottom:-4.5px;transform:rotate(45deg)}.ui-tip[data-place=bottom] .ui-tip-arrow{top:-4.5px;transform:rotate(225deg)}.tn-viewport{position:fixed;top:max(16px,env(safe-area-inset-top));right:max(16px,env(safe-area-inset-right));bottom:auto;z-index:50;display:flex;flex-direction:column;gap:6px;width:min(400px,calc(100vw - 32px));max-block-size:min(50dvh,32rem);overflow-y:auto;overscroll-behavior:contain;pointer-events:auto;scrollbar-width:thin}.tn-notice{--tn-tone: var(--blue);flex:0 0 auto;min-block-size:42px;width:100%;box-sizing:border-box;display:grid;grid-template-columns:16px minmax(0,1fr) 24px;align-items:start;gap:9px;position:relative;overflow:hidden;padding:9px 8px 9px 10px;color:var(--ink2);background:color-mix(in srgb,var(--panel) 96%,transparent);border:1px solid color-mix(in srgb,var(--tn-tone) 42%,var(--line));border-left:3px solid var(--tn-tone);border-radius:var(--radius);box-shadow:var(--shadow);font-family:var(--ui-font);font-size:var(--type-control);line-height:var(--leading-relaxed);pointer-events:auto;animation:tn-arrive .16s ease-out both}.tn-notice.success{--tn-tone: var(--green)}.tn-notice.error{--tn-tone: var(--red)}.tn-icon{margin-top:1px;color:var(--tn-tone)}.tn-message{min-width:0;overflow-wrap:anywhere}.tn-dismiss{width:24px;height:24px;display:inline-grid;place-items:center;margin:-3px -2px 0 0;padding:0;color:var(--muted);background:transparent;border:0;border-radius:var(--radius);cursor:pointer}.tn-dismiss:hover{color:var(--ink2);background:color-mix(in srgb,var(--line) 45%,transparent)}.tn-progress{position:absolute;right:0;bottom:0;left:0;height:2px;transform-origin:right center;background:var(--tn-tone);animation:tn-progress var(--tn-duration) linear forwards;pointer-events:none}.tn-notice[data-paused=true] .tn-progress{animation-play-state:paused}@keyframes tn-arrive{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes tn-progress{0%{transform:scaleX(1)}to{transform:scaleX(0)}}@media (max-width: 640px){.tn-viewport{top:max(10px,env(safe-area-inset-top));right:max(10px,env(safe-area-inset-right));bottom:auto;width:min(440px,calc(100vw - 20px))}}@media (prefers-reduced-motion: reduce){.tn-notice,.tn-progress{animation:none}.tn-progress{transform:scaleX(1)}}.cred-wrap{flex:1;min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--paper);padding:24px;box-sizing:border-box}.page-pane .cred-wrap{min-height:0}.cred-card{width:320px;max-width:100%;box-sizing:border-box;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:22px 24px 24px;display:flex;flex-direction:column;gap:10px;font-family:var(--ui-font)}.cred-brand{color:var(--muted);font-size:var(--type-control);letter-spacing:var(--tracking-normal)}.cred-title{display:flex;align-items:center;gap:7px;color:var(--ink2);font-size:var(--type-subtitle);font-weight:var(--weight-semibold);overflow-wrap:anywhere}.cred-lock{color:var(--muted);flex:none}.cred-sub{margin:0;color:var(--muted);font-size:var(--type-meta);line-height:var(--leading-relaxed)}.cred-err{color:var(--red);font-size:var(--type-meta)}.cred-input{font-family:var(--mono);font-size:var(--type-body);color:var(--ink);background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:7px 9px}.cred-input:focus{outline:none;border-color:var(--blue)}.cred-submit{font-family:var(--ui-font);font-size:var(--type-control);font-weight:var(--weight-semibold);cursor:pointer;color:var(--blue);background:color-mix(in srgb,var(--blue) 12%,transparent);border:1px solid var(--blue);border-radius:var(--radius);padding:6px 12px}.cred-submit:hover:not(:disabled){background:color-mix(in srgb,var(--blue) 22%,transparent)}.cred-submit:disabled{opacity:.5;cursor:default}.page-projects{height:100dvh;min-height:0;box-sizing:border-box}.page-projects-scroll{width:auto}.proj-body{width:100%;max-width:760px;margin:0 auto;padding:18px 20px 40px;box-sizing:border-box;font-family:var(--ui-font)}.proj-brand{margin-bottom:14px;display:flex;align-items:center;gap:9px}.proj-head{display:flex;align-items:center;gap:10px;margin-bottom:10px}.proj-count{color:var(--muted);font-size:var(--type-meta);flex:1}.proj-empty{color:var(--muted);font-size:var(--type-body);line-height:var(--leading-body);border:1px dashed var(--line);border-radius:var(--radius);padding:14px 16px}.proj-empty p{margin:0}.proj-err{color:var(--red);font-size:var(--type-meta);margin-top:4px}.proj-dim{color:var(--muted);font-size:var(--type-meta)}.proj-act{display:inline-flex;align-items:center;gap:5px;text-decoration:none;box-sizing:border-box;font-family:var(--ui-font);font-size:var(--type-meta);color:var(--ink);cursor:pointer;white-space:nowrap;border:1px solid var(--line);border-radius:var(--radius);padding:3px 9px;background:var(--paper)}.proj-act:hover:not(:disabled){background:var(--wash-hover);color:var(--ink2)}.proj-act.on{border-color:color-mix(in srgb,var(--blue) 45%,var(--line));color:var(--blue);background:var(--wash-selected)}.proj-act.primary{color:var(--blue);border-color:var(--blue);background:color-mix(in srgb,var(--blue) 10%,transparent);font-weight:var(--weight-semibold)}.proj-act.primary:hover:not(:disabled){background:color-mix(in srgb,var(--blue) 20%,transparent)}.proj-act:disabled{opacity:.5;cursor:default}.proj-act.icon{padding:3px 6px}.proj-add-path{flex:1;min-width:0;font-family:var(--mono);font-size:var(--type-control);color:var(--ink);background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:5px 8px}.proj-add-path:focus{outline:none;border-color:var(--blue)}.proj-hint{color:var(--muted);font-size:var(--type-meta);line-height:var(--leading-relaxed);border:1px dashed var(--line);border-radius:var(--radius);padding:8px 12px;margin-bottom:10px}.proj-admin-pw{border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);padding:4px 12px 10px;margin-bottom:12px}.proj-admin-pw .proj-drawer{border-top:none;margin-top:0;padding-top:6px}.identity-control{display:flex;flex-direction:column;align-items:flex-start;width:fit-content;max-width:100%}.identity-disclosure{display:inline-flex;align-items:center;gap:4px}.identity-disclosure>svg,.identity-disclosure>img{flex:none}.identity-iconify{display:inline-block;flex:none;background:currentColor;mask-repeat:no-repeat;mask-position:center;mask-size:contain;-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;-webkit-mask-size:contain}.identity-edit{align-self:center}.identity-picker{width:min(420px,calc(100vw - 48px));max-width:100%;min-width:0;margin:6px 0 0;padding:0;border:0}.identity-picker legend{margin:0 0 6px;color:var(--muted);font-size:var(--type-meta)}.identity-search{display:flex;align-items:center;gap:6px;margin-bottom:6px;padding:5px 7px;border:1px solid var(--line);border-radius:var(--radius);background:var(--paper);color:var(--muted)}.identity-search:focus-within{border-color:var(--blue);color:var(--blue)}.identity-search input{width:100%;min-width:0;border:0;outline:0;padding:0;background:transparent;color:var(--ink);font-family:var(--ui-font);font-size:var(--type-control)}.identity-sources{display:flex;gap:4px;margin-bottom:6px;overflow-x:auto;scrollbar-width:thin}.identity-source{flex:none;border:0;border-bottom:2px solid transparent;padding:3px 4px;background:transparent;color:var(--muted);cursor:pointer;font-family:var(--ui-font);font-size:var(--type-caption)}.identity-source:hover,.identity-source.on{color:var(--blue);border-bottom-color:var(--blue)}.identity-options{display:grid;grid-template-columns:repeat(4,minmax(72px,1fr));gap:6px;max-height:220px;overflow-y:auto;padding:2px}.identity-choice{position:relative;min-width:0;min-height:58px;box-sizing:border-box;cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;border:1px solid var(--line);border-radius:var(--radius);background:var(--paper);color:var(--ink);font-family:var(--ui-font);font-size:var(--type-caption);overflow-wrap:anywhere;text-align:center}.identity-choice:hover{background:var(--wash-hover);color:var(--ink2)}.identity-choice:has(input:checked){border-color:var(--blue);background:var(--panel2);color:var(--blue);font-weight:var(--weight-semibold)}.identity-choice:has(input:focus-visible){box-shadow:var(--focus-ring)}.identity-choice input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.identity-choice-name{width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.identity-choice-source{width:100%;color:var(--muted);font-size:var(--type-caption);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.identity-search-status{min-height:16px;margin-top:5px;color:var(--muted);font-size:var(--type-caption)}.identity-search-status.error{color:var(--red)}.identity-picker:disabled .identity-choice{opacity:.55;cursor:default}.proj-page-details{display:flex;justify-content:flex-end;margin-top:18px;padding-top:10px;border-top:1px solid var(--line)}.proj-gateway-identity{display:flex;flex-direction:column;align-items:flex-end}.proj-gateway-identity .identity-control{align-items:flex-end}.proj-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.proj-pagination{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:12px}.proj-page-label{color:var(--muted);font-size:var(--type-meta);min-width:88px;text-align:center}.proj-row{border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);padding:7px 10px}.proj-row.current{border-color:color-mix(in srgb,var(--blue) 55%,var(--line))}.proj-row-main{display:flex;align-items:center;gap:8px;min-width:0;flex-wrap:wrap}.proj-row-main>svg{flex:none}.proj-health{flex:none;width:8px;height:8px;border-radius:50%;background:var(--muted)}.proj-health.h-probing{background:var(--muted);opacity:.45}.proj-health.h-running{background:var(--green)}.proj-health.h-stopped{background:var(--muted)}.proj-health.h-unreachable{background:var(--red)}.proj-name{color:var(--ink2);font-size:var(--type-body);font-weight:var(--weight-semibold);overflow-wrap:anywhere}.proj-locked{color:var(--muted);flex:none}.proj-tag{flex:none;font-size:var(--type-caption);color:var(--blue);border:1px solid color-mix(in srgb,var(--blue) 45%,transparent);border-radius:var(--radius);padding:0 5px}.proj-path{flex:1 1 120px;min-width:0;color:var(--muted);font-size:var(--type-meta);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.proj-actions{display:flex;align-items:center;gap:5px;margin-left:auto;flex-wrap:wrap}.proj-drawer{display:flex;align-items:flex-start;gap:8px;flex-wrap:wrap;border-top:1px dashed var(--line);margin-top:7px;padding-top:8px}.proj-remove-disclosure{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap;border-top:1px solid var(--line);margin-top:8px;padding-top:8px}.proj-remove-link{border:0;padding:0;background:transparent;color:var(--muted);cursor:pointer;font:inherit;font-size:var(--type-meta);text-decoration:underline;text-underline-offset:2px}.proj-remove-link:hover{color:var(--red)}.proj-remove-disclosure>span{color:var(--muted);font-size:var(--type-caption)}.proj-remove-modal{width:min(520px,94vw)}.proj-remove-copy{display:grid;gap:10px;padding:2px;color:var(--ink);font-size:var(--type-body);line-height:var(--leading-relaxed)}.proj-remove-copy p{margin:0}.proj-remove-warning{color:var(--red);font-weight:var(--weight-semibold)}.proj-remove-check{display:flex;align-items:flex-start;gap:8px;color:var(--ink2);font-size:var(--type-meta)}.proj-remove-check input{margin-top:3px;accent-color:var(--red)}.proj-remove-confirm{display:grid;gap:5px;color:var(--muted);font-size:var(--type-meta)}.proj-remove-confirm code{color:var(--ink2);font-family:var(--mono);font-size:var(--type-control);overflow-wrap:anywhere}.proj-remove-confirm input{min-width:0;box-sizing:border-box;width:100%;padding:7px 8px;border:1px solid var(--line);border-radius:var(--radius);background:var(--paper);color:var(--ink);font-family:var(--mono);font-size:var(--type-control)}.proj-remove-confirm input:focus{outline:none;border-color:var(--red)}.proj-remove-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:3px}.proj-act.danger{color:var(--red);border-color:var(--red);background:color-mix(in srgb,var(--red) 9%,transparent);font-weight:var(--weight-semibold)}.proj-act.danger:hover:not(:disabled){background:color-mix(in srgb,var(--red) 18%,transparent)}.proj-pw .proj-add-path{flex:1 1 160px}.proj-add-modal{width:min(720px,94vw);overflow:hidden}.proj-add-modal .legend-body{padding:0}.proj-add-flow{display:grid;grid-template-rows:auto minmax(180px,38vh) auto auto auto;min-width:0}.proj-add-pathbar{display:flex;align-items:center;gap:6px;padding:10px;border-bottom:1px solid var(--line)}.proj-add-pathbar .proj-add-path{min-width:0}.proj-home-btn{width:28px;justify-content:center;font-size:var(--type-body)}.proj-folder-list{min-height:180px;overflow-y:auto;background:var(--paper)}.proj-folder-row{display:grid;grid-template-columns:16px minmax(0,1fr) auto auto;align-items:center;gap:7px;width:100%;min-height:32px;padding:5px 12px;border:0;border-bottom:1px solid var(--line);background:transparent;color:var(--ink);text-align:left;cursor:pointer;font-family:var(--mono);font-size:var(--type-control)}.proj-folder-row:hover,.proj-folder-row:focus-visible{outline:none;background:var(--wash-hover);color:var(--ink2)}.proj-folder-row:disabled{opacity:.55;cursor:default}.proj-folder-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.proj-folder-tag{border:1px solid var(--line);border-radius:var(--radius);padding:0 5px;color:var(--muted);font-size:var(--type-caption)}.proj-folder-tag.spex{border-color:color-mix(in srgb,var(--green) 45%,var(--line));color:var(--green)}.proj-folder-empty{display:grid;min-height:100%;place-items:center;padding:24px;color:var(--muted);font-size:var(--type-meta)}.proj-add-options{display:grid;gap:8px;padding:10px 12px;border-top:1px solid var(--line);background:var(--panel)}.proj-add-selected{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--ink2);font-size:var(--type-meta)}.proj-add-state,.proj-add-check{display:flex;align-items:center;gap:7px;min-width:0;color:var(--ink);font-size:var(--type-control)}.proj-add-state code{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted)}.proj-add-check{width:fit-content;cursor:pointer}.proj-add-check input,.proj-add-harness input{accent-color:var(--blue)}.proj-add-harnesses{display:flex;align-items:center;gap:6px;flex-wrap:wrap;min-width:0;margin:0;padding:0;border:0}.proj-add-harnesses legend{float:left;margin-right:4px;color:var(--muted);font-size:var(--type-meta)}.proj-add-harness{position:relative;cursor:pointer}.proj-add-harness input{position:absolute;width:1px;height:1px;opacity:0}.proj-add-harness span{display:inline-flex;align-items:center;min-height:25px;padding:2px 8px;box-sizing:border-box;border:1px solid var(--line);border-radius:var(--radius);background:var(--paper);color:var(--ink);font-size:var(--type-meta)}.proj-add-harness input:checked+span{border-color:var(--blue);color:var(--blue);background:var(--panel2)}.proj-add-harness input:focus-visible+span{box-shadow:var(--focus-ring)}.proj-add-result{padding:0 12px 10px;background:var(--panel)}.proj-add-result .proj-log{max-height:150px}.proj-add-actions{display:flex;justify-content:flex-end;gap:8px;padding:9px 12px;border-top:1px solid var(--line);background:var(--panel2)}.proj-full{flex-basis:100%}.proj-setup,.proj-config{flex-direction:column;align-items:stretch;gap:6px}.proj-setup-row{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.proj-config-head{min-height:22px;display:flex;align-items:center;justify-content:space-between;gap:8px;color:var(--ink2);font-size:var(--type-meta)}.proj-config-editor{box-sizing:border-box;width:100%;height:clamp(300px,50vh,560px);min-height:240px;max-height:70vh;resize:vertical;margin:0;padding:9px 10px;border:1px solid var(--line);border-radius:var(--radius);outline:none;background:var(--paper);color:var(--ink);font-family:var(--mono);font-size:var(--type-control);line-height:var(--leading-relaxed);-moz-tab-size:2;tab-size:2}.proj-config-editor:focus{border-color:var(--blue)}.proj-config-editor.invalid{border-color:var(--red)}.proj-op-status{font-size:var(--type-meta)}.proj-op-status.ok{color:var(--green)}.proj-op-status.fail{color:var(--red)}.proj-log{margin:4px 0 0;padding:8px 10px;max-height:240px;overflow:auto;border:1px solid var(--line);border-radius:var(--radius);background:var(--panel2);color:var(--muted);font-family:var(--mono);font-size:var(--type-caption);line-height:var(--leading-relaxed);white-space:pre-wrap;overflow-wrap:anywhere}.proj-menu{z-index:60;min-width:180px;max-width:280px;background:var(--panel);border:1px solid var(--edge);border-radius:var(--radius);padding:4px;box-shadow:var(--shadow);display:flex;flex-direction:column;gap:1px;font-family:var(--ui-font)}.status-project-menu{position:absolute;left:0;right:auto;top:auto;bottom:calc(100% + 4px);width:min(280px,calc(100vw - 8px));max-height:min(320px,calc(100vh - var(--line-status) - 12px));box-sizing:border-box;overflow-y:auto}.proj-menu-item{display:flex;align-items:center;gap:7px;text-decoration:none;cursor:pointer;color:var(--ink);font-size:var(--type-control);border-radius:var(--radius);padding:5px 8px}.proj-menu-item:hover{background:var(--wash-hover);color:var(--ink2)}.proj-menu-item.current{color:var(--blue)}.proj-menu-item.offline{color:var(--muted);cursor:default}.proj-menu-item.offline:hover{background:transparent;color:var(--muted)}.proj-menu-item.offline .proj-menu-mark{opacity:.55}.proj-menu-item.all{border-top:1px solid var(--line);border-radius:0 0 var(--radius) var(--radius);margin-top:2px;padding-top:7px;color:var(--muted)}.proj-menu-item.all:hover{color:var(--ink2)}.proj-menu-mark{display:block;flex:0 0 16px;width:16px;height:16px}.proj-menu-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.proj-menu-status{flex:none;font-size:var(--type-caption);color:var(--muted)}.proj-menu-status.online{color:var(--green)}.proj-menu-status.offline{color:var(--muted)}@media (max-width: 640px){.proj-body{padding:14px 12px 32px}.identity-picker{width:min(100%,calc(100vw - 46px))}.identity-options{grid-template-columns:repeat(4,minmax(0,1fr))}.identity-choice{min-height:54px;font-size:var(--type-caption)}.proj-config-editor{height:clamp(300px,62dvh,540px);min-height:300px;max-height:calc(100dvh - 200px)}.proj-add-modal{width:min(96vw,720px);max-height:92dvh}.proj-add-flow{grid-template-rows:auto minmax(170px,34dvh) auto auto auto}.proj-add-pathbar{display:grid;grid-template-columns:28px 28px minmax(0,1fr) auto;padding:8px}.proj-folder-row{padding-inline:9px}.proj-row-main{row-gap:6px}.proj-path{flex-basis:100%;order:5}.proj-actions{margin-left:0;order:6}}.diff-document{display:flex;flex-direction:column;min-height:0;height:100%;overflow:hidden;background:var(--paper);color:var(--ink)}.diff-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:4px 10px;padding:5px 12px;border-bottom:1px solid var(--line);background:var(--paper);font-size:var(--type-meta)}.diff-refs{display:inline-flex;align-items:center;gap:6px;min-width:0;overflow-wrap:anywhere}.diff-refs strong{font-weight:var(--weight-medium)}.diff-unsent{color:var(--yellow)}.diff-oids{flex:0 0 auto;padding:3px 12px 4px;border-bottom:1px solid var(--line);color:var(--muted);font-size:var(--type-caption);overflow-wrap:anywhere;white-space:normal;-webkit-user-select:text;user-select:text}.diff-toolbar-spacer{flex:1}.diff-review-body{display:grid;grid-template-columns:minmax(220px,300px) minmax(0,1fr);flex:1;min-height:0}.diff-file-panel{border-right:1px solid var(--line);overflow:auto;padding-bottom:8px;background:color-mix(in srgb,var(--line) 10%,var(--paper))}.diff-file-group{position:sticky;top:0;z-index:1;padding:6px 10px 4px;border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--line) 22%,var(--paper));color:var(--muted);font-size:var(--type-caption)}.diff-tree-file{justify-content:flex-start}.diff-tree-file .ft-label{flex:1}.diff-tree-stat,.diff-file-stat{flex:0 0 auto;padding-right:8px;font-size:var(--type-caption);white-space:nowrap}.diff-add{color:var(--green)}.diff-del{color:var(--red)}.diff-files{display:flex;flex-direction:column;min-width:0;min-height:0;overflow:hidden}.diff-file{display:flex;flex-direction:column;min-height:0;flex:1}.diff-file-head{display:flex;align-items:center;gap:10px;padding:6px 12px;border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--line) 20%,var(--paper));font-size:var(--type-meta)}.diff-file-name{display:flex;align-items:baseline;gap:0;min-width:0}.path-head{display:flex;flex-direction:row-reverse;justify-content:flex-start;flex:0 1 auto;min-width:0;overflow:hidden;color:var(--muted)}.path-head>span{flex:0 0 auto;white-space:nowrap}.path-head.is-clipped:after{content:"…";position:sticky;left:0;flex:0 0 auto;order:1;padding-right:1px;background:inherit}.path-head.is-clipped{position:relative}.diff-file-name>.path-head{color:var(--muted)}.diff-file-panel .ft-label{display:flex;min-width:0;overflow:hidden}.path-leaf{flex:0 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.diff-file-name strong{flex:0 0 auto;font-weight:var(--weight-medium)}.diff-file-status{color:var(--muted)}.diff-file-status.is-untracked{color:var(--green)}.diff-file-status.is-deleted{color:var(--red)}.diff-file-scope{padding:0 6px;border:1px solid var(--line);border-radius:var(--radius);color:var(--muted);font-size:var(--type-caption)}.diff-hunk-tools{display:inline-flex;gap:4px}.diff-editor{flex:1;min-height:0;overflow:auto}.diff-editor .cm-line{cursor:pointer}.diff-editor-split,.diff-editor-unified{min-height:0;overflow:auto}.diff-editor-split .cm-mergeViewEditor+.cm-mergeViewEditor{border-left:1px solid var(--line)}.diff-editor-unified.is-wrap .cm-line{white-space:pre-wrap;overflow-wrap:anywhere}.diff-editor .cm-merge-a .cm-changedLine,.diff-editor .cm-deletedChunk{background:color-mix(in srgb,var(--red) 16%,transparent)}.diff-editor .cm-merge-b .cm-changedLine,.diff-editor .cm-inlineChangedLine{background:color-mix(in srgb,var(--green) 16%,transparent)}.diff-editor .cm-insertedLine{background:color-mix(in srgb,var(--green) 22%,transparent)}.diff-editor .cm-deletedLine,.diff-editor .cm-deletedChunk .cm-deletedText{background:color-mix(in srgb,var(--red) 22%,transparent)}.diff-editor .cm-line:hover{background:color-mix(in srgb,var(--blue) 14%,transparent)}.diff-hunk-tools button,.diff-mode button,.diff-toolbar>button{border:1px solid var(--line);border-radius:var(--radius);background:var(--paper);color:var(--ink2);font:inherit;font-size:var(--type-caption);cursor:pointer;padding:1px 7px}.diff-hunk-tools button:hover,.diff-mode button:hover,.diff-toolbar>button:hover,.diff-mode button[aria-pressed=true],.diff-toolbar>button[aria-pressed=true]{background:color-mix(in srgb,var(--blue) 14%,var(--paper));color:var(--ink)}.diff-mode{display:inline-flex;gap:0}.diff-mode button+button{border-left:0;border-radius:0 var(--radius) var(--radius) 0}.diff-mode button:first-child{border-radius:var(--radius) 0 0 var(--radius)}.diff-comment{display:flex;align-items:flex-start;gap:10px;padding:6px 12px;border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--yellow) 10%,var(--paper));font-size:var(--type-meta)}.diff-comment.sent{opacity:.7}.diff-comment-line{flex:0 0 auto;color:var(--blue);white-space:nowrap}.diff-comment-body{flex:1;min-width:0;overflow-wrap:anywhere}.diff-state{padding:24px;color:var(--muted)}.diff-state.error{color:var(--red)}.diff-state.diff-merged{display:flex;flex-direction:column;align-items:flex-start;gap:8px}.diff-state.diff-merged strong{color:var(--ink2);font-weight:var(--weight-medium)}.diff-comments{flex:0 0 auto;max-height:30%;overflow:auto;border-top:1px solid var(--line)}.diff-scope-note{flex:0 0 auto;border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--line) 14%,var(--paper))}.diff-scope-note .diff-state{padding:8px 12px}@media (max-width: 720px){.diff-review-body{grid-template-columns:1fr;grid-template-rows:minmax(0,34%) minmax(0,1fr)}.diff-file-panel{border-right:0;border-bottom:1px solid var(--line)}.diff-editor-split .cm-mergeViewEditors{min-width:760px}}.diff-comment-compose{position:fixed;right:24px;bottom:24px;z-index:5;display:grid;gap:8px;width:min(420px,calc(100vw - 32px));padding:12px;border:1px solid var(--line);background:var(--paper);box-shadow:var(--shadow)}.diff-comment-compose textarea{min-height:80px;resize:vertical;font:inherit;background:var(--paper);color:var(--ink);border:1px solid var(--line);padding:7px}.diff-comment-compose>div{display:flex;justify-content:flex-end;gap:8px}.pa-group{position:fixed;z-index:60;display:flex;gap:var(--space-1);padding:var(--space-1);background:var(--panel);border:1px solid var(--edge);border-radius:var(--radius);box-shadow:var(--shadow)}.pa-act{display:inline-flex;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-4);background:none;border:none;border-radius:var(--radius);cursor:pointer;font-family:var(--ui-font);font-size:var(--type-caption);line-height:var(--leading-tight);color:var(--ink)}.pa-act:hover,.pa-act:focus-visible{outline:none;background:var(--wash-hover);color:var(--ink2)}.pa-act-icon{color:var(--muted)}.pa-act:hover .pa-act-icon,.pa-act:focus-visible .pa-act-icon{color:currentColor}.pa-act:disabled{opacity:.45;cursor:default}.pa-loading{position:fixed;z-index:60;display:inline-flex;padding:4px;color:var(--muted)}.pa-card{position:fixed;z-index:61;display:grid;gap:var(--space-4);padding:var(--space-5);background:var(--paper);border:1px solid var(--edge);border-radius:var(--radius);box-shadow:var(--shadow)}.pa-send{width:min(360px,calc(100vw - 32px))}.pa-edit{width:min(760px,calc(100vw - 32px))}.pa-input{width:100%;resize:vertical;padding:var(--space-3) var(--space-4);background:var(--paper);color:var(--ink2);border:1px solid var(--line);border-radius:var(--radius);font-family:var(--ui-font);font-size:var(--type-meta);line-height:var(--leading-relaxed)}.pa-edit-input{font-family:var(--mono);resize:vertical}.pa-input:focus{outline:none;border-color:var(--blue)}.pa-presets{display:flex;flex-wrap:wrap;gap:var(--space-2)}.pa-preset{padding:var(--space-1) var(--space-4);border:1px solid var(--edge);border-radius:var(--radius-full);background:var(--panel);color:var(--muted);cursor:pointer;font-family:var(--ui-font);font-size:var(--type-caption);line-height:var(--leading-ui)}.pa-preset:hover{color:var(--ink2);border-color:var(--line)}.pa-target{display:grid;gap:var(--space-2);min-width:0}.pa-target-label{color:var(--muted);font-family:var(--ui-font);font-size:var(--type-caption)}.pa-session-picker{min-width:0}.pa-session-picker .session-picker-list{max-height:150px}.pa-edit-head{display:flex;align-items:center;gap:var(--space-3);min-width:0;color:var(--muted);font-family:var(--ui-font);font-size:var(--type-caption)}.pa-edit-where{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pa-edit-lines{margin-left:auto;font-variant-numeric:tabular-nums}.pa-error{max-height:180px;overflow:auto;white-space:pre-wrap;padding:var(--space-3) var(--space-4);color:var(--red);background:color-mix(in srgb,var(--red) 10%,var(--paper));border:1px solid color-mix(in srgb,var(--red) 40%,var(--line));border-radius:var(--radius);font-family:var(--mono);font-size:var(--type-caption);line-height:var(--leading-relaxed)}.pa-foot{display:flex;align-items:center;justify-content:flex-end;gap:var(--space-4)}.pa-note{margin-right:auto;color:var(--muted);font-family:var(--ui-font);font-size:var(--type-caption)}.pa-btn{padding:var(--space-2) var(--space-5);background:var(--paper);color:var(--ink);border:1px solid var(--line);border-radius:var(--radius);cursor:pointer;font-family:var(--ui-font);font-size:var(--type-control)}.pa-btn:hover{background:var(--panel)}.pa-go{border-color:var(--blue);color:var(--blue)}.pa-go:hover{background:var(--blue);color:var(--paper)}.pa-btn:disabled{opacity:.5;cursor:default}
@@ -1,2 +0,0 @@
1
- import{u as H,j as n,I as ne,r as c,a8 as Fs,m as ye,a9 as Cs,a as we,aa as Ts,ab as As,N as Ps,i as Ks,b as Os,k as Is}from"./index-3mcnUCQ1.js";import{E as Re,k as ns,r as Bs,e as zs,a as _s,p as Us,b as Vs,O as Hs,R as Qs,m as ke,c as Ys}from"./Thread-Ca_r1oDT.js";import{O as ie,Q as J,S as qs,d as Xs,l as Gs,r as ts,T as Js,U as Zs}from"./App-Bz1E7Es7.js";import{aA as Fe,Q as V,g as ce,T as I,aB as Ds,aC as Ws,aD as as,J as rs,aE as Ce,aF as ee,aG as G,aH as Te,aI as en,aJ as ls,aK as sn,aL as nn,O as tn,aj as Ae,aM as an,M as rn,R as hs}from"./tabs-BL3Okd06.js";import"./PageScroll-CEYT-x2I.js";const os={video:"vid",image:"img",transcript:"txt",data:"data"},ln=["is","state","verdict","freshness","evidence","node","filer","session","scope"],fs=s=>`eval:${s.node}·${s.scenario}`;function on({e:s}){const a=H(),l=s.humanOk&&a("evalsFeed.okdTip",{by:s.humanOk.by,at:new Date(s.humanOk.ts).toLocaleString()});return n.jsx(Fe,{state:n.jsx(I,{kind:"eval",state:s.state}),title:s.scenario,meta:n.jsxs(n.Fragment,{children:[n.jsx("a",{className:"ef-node",href:V(ce(s.node)),style:{color:`hsl(${s.hue??210} 60% 70%)`},"data-tip":s.node,children:s.node}),s.by&&n.jsx("span",{"data-tip":s.by,children:a("evalsFeed.filedBy",{by:Bs(s.by)})}),n.jsx("span",{children:a("evalsFeed.filedAt",{at:cn(s.ts)})})]}),aside:n.jsxs(n.Fragment,{children:[s.inSession&&n.jsx("span",{className:"rl-tag in-session",children:a("evalsFeed.sessionTag")}),ns(s).some(i=>os[i])&&n.jsx("span",{className:"rl-tag",children:ns(s).map(i=>os[i]).filter(Boolean).join("·")}),s.humanOk&&n.jsx("span",{role:"img",className:"ef-okd","data-tip":l,"aria-label":l,children:n.jsx(ne,{name:"check",size:11})})]})})}const cn=s=>{const a=Math.max(0,(Date.now()-new Date(s).getTime())/1e3);return a<3600?`${Math.max(1,Math.floor(a/60))}m`:a<86400?`${Math.floor(a/3600)}h`:`${Math.floor(a/86400)}d`},se=(s,a,l,i=p=>p)=>{var p,f;return(((f=(p=s==null?void 0:s.facets)==null?void 0:p[a])==null?void 0:f.options)??[]).map(x=>({value:x.value,label:x.value===""?l:i(x.value)}))};function un({pageData:s,loading:a=!1,sessions:l=[],queryText:i="",onQueryText:p,hrefFor:f,leading:x=null,error:m=null,empty:M=null,pagination:$=null}){var Q,Z,U,L;const u=H(),d=String(i??"").trim()||ie,h=(r,B)=>p(qs(d,r,B)),C=Array.isArray(s==null?void 0:s.items)?s.items:[],P=((Q=s==null?void 0:s.counts)==null?void 0:Q.fail)||{},N=((Z=s==null?void 0:s.counts)==null?void 0:Z.pass)||{},S=((U=s==null?void 0:s.counts)==null?void 0:U.unmeasured)||0,k=((L=s==null?void 0:s.counts)==null?void 0:L.deferred)||0,R=r=>r>0?{text:`+${r} ${u("reviewList.freshness.stale")}`,compact:`+${r}`}:null,j=J(d,"verdict"),_=C.flatMap(r=>r.filterKind===Re.BLIND?[{key:`blind:${r.node}·${r.scenario}`,cls:"se-blind",content:n.jsx(Fe,{state:n.jsx(I,{kind:"eval",state:"missing"}),title:r.scenario,meta:n.jsxs(n.Fragment,{children:[n.jsx("a",{className:"ef-node",href:V(ce(r.node)),style:{color:`hsl(${r.hue??210} 60% 70%)`},"data-tip":r.node,children:r.node}),n.jsx("span",{children:u("sessionEval.unmeasured")})]})})}]:r.filterKind===Re.RESULT?[{key:fs(r),label:r.scenario,href:f(r),content:n.jsx(on,{e:r})}]:r.filterKind===Re.DEFERRED?[{key:`deferred:${r.node}·${r.scenario}`,label:r.scenario,content:n.jsx(Fe,{state:n.jsx(I,{kind:"eval",state:"empty",title:u("reviewList.verdict.deferred")}),title:r.scenario,meta:n.jsxs(n.Fragment,{children:[n.jsx("a",{className:"ef-node",href:V(ce(r.node)),style:{color:`hsl(${r.hue??210} 60% 70%)`},"data-tip":r.node,children:r.node}),n.jsx("span",{children:u("evalsFeed.freshnessDeferred")})]})})}]:[]),v={label:u("reviewList.facetReview"),value:J(d,"state"),options:se(s,"review",u("reviewList.all"),r=>u(r==="reviewed"?"reviewList.reviewed":"reviewList.needsReview"))},F={label:u("reviewList.facetFreshness"),value:J(d,"freshness"),options:se(s,"freshness",u("reviewList.all"),r=>u(`reviewList.freshness.${r}`))},K={label:u("reviewList.facetKind"),value:J(d,"evidence")||"all",options:se(s,"kind",u("evalsFeed.kind.all"),r=>u(`evalsFeed.kind.${r}`))},O={label:u("reviewList.facetSession"),value:J(d,"session"),options:se(s,"session",u("reviewList.all"),r=>u(r==="present"?"reviewList.sessionPresent":"reviewList.sessionMissing"))},te=J(d,"evidence");return n.jsx(Ds,{leading:x,error:m,loading:a,title:u("evalsFeed.title"),search:{value:String(i??"").trim()?i:ie,onSubmit:p,placeholder:u("reviewList.searchEvals"),label:u("reviewList.search"),keys:ln,suggest:{node:se(s,"node",u("reviewList.all")).filter(r=>r.value),filer:se(s,"filer",u("reviewList.all")).filter(r=>r.value).map(({value:r})=>{const B=l.find(ae=>ae.id===r);return{value:r,label:B?rs(B):null}}),scope:l.map(r=>({value:r.id,label:rs(r)}))}},sections:[{key:"fail",label:n.jsx(I,{kind:"eval",state:"fail",title:u("reviewList.verdict.fail"),showLabel:!0}),count:P.fresh||0,countSuffix:R(P.stale||0),active:j==="fail",onSelect:()=>h("verdict",j==="fail"?"":"fail")},{key:"pass",label:n.jsx(I,{kind:"eval",state:"pass",title:u("reviewList.verdict.pass"),showLabel:!0}),count:N.fresh||0,countSuffix:R(N.stale||0),active:j==="pass",onSelect:()=>h("verdict",j==="pass"?"":"pass")},{key:"unmeasured",label:n.jsx(I,{kind:"eval",state:"missing",title:u("reviewList.verdict.unmeasured"),showLabel:!0}),count:S,active:j==="unmeasured",onSelect:()=>h("verdict",j==="unmeasured"?"":"unmeasured")},{key:"deferred",label:n.jsx(I,{kind:"eval",state:"empty",title:u("reviewList.verdict.deferred"),showLabel:!0}),count:k,active:j==="deferred",onSelect:()=>h("verdict",j==="deferred"?"":"deferred")}],sectionMode:"filters",facets:n.jsxs(n.Fragment,{children:[n.jsx(as,{label:F.label,value:F.value,options:F.options,clearLabel:u("reviewList.all"),onChange:r=>h("freshness",r)}),n.jsx(as,{label:K.label,value:K.value,options:K.options,onChange:r=>h("evidence",r==="all"?"":r)})]}),secondaryFilters:n.jsx(Ws,{label:u("reviewList.filters"),clearLabel:u("reviewList.all"),groups:[{label:v.label,value:v.value,active:!!v.value,options:v.options,onChange:r=>h("state",r)},{label:O.label,value:O.value,active:!!O.value,options:O.options,onChange:r=>h("session",r)},{label:F.label,value:F.value,active:!!F.value,options:F.options,onChange:r=>h("freshness",r),mobileOnly:!0},{label:K.label,value:K.value,active:!!te,options:K.options,clearLabel:null,onChange:r=>h("evidence",r==="all"?"":r),mobileOnly:!0}]}),rows:_,pagination:$,empty:M||{hasData:((s==null?void 0:s.sourceTotal)??0)>0,dataset:u("evalsFeed.datasetEmpty"),filtered:u("evalsFeed.noMatches")}})}const dn=[{name:"ok",color:"green",when:s=>!s.okd&&s.isLatest,descKey:"annotator.cmd.okDesc"}];function hn(s,a){return dn.filter(l=>l.when(s)).map(l=>({...l,run:a[l.name]}))}function fn(s,a){return(s||"").replace(/\{(\w+)\}/g,(l,i)=>a[i]!=null?String(a[i]):l)}const is=(s,a)=>{let l=null;for(const i of s)if(i.at<=a)l=i;else break;return l},vn=s=>{if(!s||!Array.isArray(s.events))return null;const a=s.v===1?"time":typeof s.axis=="string"?s.axis:"time",l=s.v===1?i=>i.tMs:i=>i.at;return{axis:a,events:s.events.map(i=>({at:l(i),step:i.step,...i.node?{node:i.node}:{}}))}},mn=(s,a,l)=>s==="time"?ke(a):s==="frame"?`#${a}`:s==="line"?`L${a}`:s==="index"?l?`${a}/${l}`:`${a}`:String(a);function cs({events:s,axis:a,extent:l,activeStepIdx:i,onSeek:p}){return n.jsx("div",{className:"an-ruler",children:s.map((f,x)=>n.jsxs("button",{className:`an-step ${i===x?"on":""}`,onClick:()=>p(f.at),"data-tip":f.node?`→ ${f.node}`:void 0,children:[mn(a,f.at,l)," ",f.step]},x))})}const pe=8;function xn({hidden:s,total:a,histIdx:l,onPick:i}){const p=H(),f=sn(),x=p("annotator.abMore",{n:s.length});return n.jsxs("div",{className:"an-ab-more",ref:f.ref,children:[n.jsx(we,{icon:"ellipsis",size:14,className:"an-ab-morebtn",label:x,"aria-haspopup":"menu","aria-expanded":f.open,onClick:m=>f.toggle(m.currentTarget),onKeyDown:f.onTriggerKeyDown}),f.open&&n.jsx("div",{className:"rl-menu an-ab-menu",role:"menu","aria-label":x,ref:f.menuRef,onKeyDown:f.onMenuKeyDown,children:s.map(m=>{const M=Ce(m);return n.jsxs("button",{type:"button",role:"menuitemradio","aria-checked":m.idx===l,tabIndex:-1,className:"rl-menu-item an-ab-menuitem",onFocus:f.onItemFocus,onClick:()=>{f.close(!0),i(m.idx)},children:[n.jsx(I,{kind:"eval",state:M,size:13}),n.jsxs("span",{className:"an-ab-menupos",children:[a-m.idx,"/",a]}),n.jsx("span",{className:"an-ab-menudate",children:new Date(m.ts).toLocaleString()})]},`${m.ts}-${m.idx}`)})})]})}function pn({entry:s,history:a,sourceKey:l="project",specs:i=[],sessions:p=[],onWrite:f,onOpenSession:x,listHref:m=null,backHref:M=null,backLabel:$=null,queue:u={prev:[],next:[]}}){var Je,Ze,De,We,es,ss;const d=H(),h=c.useRef(null),C=c.useRef(null),P=c.useRef(null),N=c.useRef(null),S=c.useRef(0),[k,R]=c.useState([]),[j,_]=c.useState("time"),[v,F]=c.useState(null),[K,O]=c.useState(""),[te,Q]=c.useState(!1),[Z,U]=c.useState(null),L=c.useRef(null),r=c.useRef(null),B=c.useRef(null),ae=c.useRef(0),[vs,Pe]=c.useState(0),[ge,Ke]=c.useState(-1),[Oe,Ie]=c.useState(null),[ue,je]=c.useState(!1),[Be,Le]=c.useState(!1),[Me,Se]=c.useState(null),[de,$e]=c.useState(null),[T,ze]=c.useState(null),[A,re]=c.useState(0),b=T&&T[A]||s,ms=`${A}:${b.ts||b.codeSha||b.blob||"reading"}`,xs=`${l}·${s.node}·${s.scenario}·${ms}`,[ps,bs]=c.useState([]);c.useEffect(()=>{let e=!0;return Fs().then(t=>{e&&Array.isArray(t)&&bs(t)}).catch(()=>{}),()=>{e=!1}},[]),c.useEffect(()=>{F(null),O(""),R([]),U(null),re(0),ze(null),ze(Array.isArray(a)?a:[s])},[s.node,s.scenario,s.ts,s.blob,(Je=s.humanOk)==null?void 0:Je.ts,a]),c.useEffect(()=>{F(null),U(null)},[A]);const le=zs(b),Y=le.find(e=>e.kind==="video"&&e.state==="present"),he=le.filter(e=>e.kind==="image"),ws=le.filter(e=>e.kind!=="video"&&e.kind!=="image"),D=!!Y,fe=s.thread??null,Ee=c.useMemo(()=>((fe==null?void 0:fe.replies)??[]).filter(e=>e.rid!==void 0),[fe]),_e=T&&((Ze=T[0])==null?void 0:Ze.by)||s.by||null,z=c.useMemo(()=>Ee.map((e,t)=>{const o=_s(Us(e.body),k);return o&&o.seekable?{i:t,tMs:o.tMs,step:o.step,label:o.label}:null}).filter(Boolean).sort((e,t)=>e.tMs-t.tMs),[Ee,k]),Ue=c.useRef(k);Ue.current=k;const Ve=c.useRef(z);Ve.current=z;const ve=c.useCallback(()=>{const e=ae.current,t=Ue.current;let o=-1;for(let g=0;g<t.length&&t[g].at<=e;g++)o=g;Ke(g=>g===o?g:o);let w=null;for(const g of Ve.current)if(g.tMs<=e)w=g.i;else break;Ie(g=>g===w?g:w)},[]);c.useEffect(()=>{ve()},[z,k,ve]),c.useEffect(()=>{ae.current=0,L.current&&(L.current.style.width="0%"),r.current&&(r.current.style.left="0%"),B.current&&(B.current.textContent=""),Ke(-1),Ie(null),Pe(0),je(!1),Le(!1),Se(null),$e(null)},[s.blob,s.scenario,s.node]),c.useEffect(()=>{if(R([]),_("time"),!b.timelineBlob)return;let e=!0;return fetch(ye(`/api/evidence/${b.timelineBlob}`)).then(t=>t.ok?t.json():null).then(t=>{const o=e&&vn(t);o&&(R(o.events),_(o.axis))}).catch(()=>{}),()=>{e=!1}},[b.timelineBlob]),c.useEffect(()=>{const e=h.current;if(!e)return;const t=()=>{const y=Math.round((e.currentTime||0)*1e3),E=Math.round((e.duration||0)*1e3);ae.current=y;const X=E?y/E*100:0;L.current&&(L.current.style.width=`${X}%`),r.current&&(r.current.style.left=`${X}%`),B.current&&(B.current.textContent=`${ke(y)} / ${ke(E)}`),ve()},o=()=>{Pe(e.duration||0),t()},w=()=>je(!0),g=()=>je(!1);return e.addEventListener("timeupdate",t),e.addEventListener("seeked",t),e.addEventListener("loadedmetadata",o),e.addEventListener("durationchange",o),e.addEventListener("play",w),e.addEventListener("pause",g),o(),()=>{e.removeEventListener("timeupdate",t),e.removeEventListener("seeked",t),e.removeEventListener("loadedmetadata",o),e.removeEventListener("durationchange",o),e.removeEventListener("play",w),e.removeEventListener("pause",g)}},[Y==null?void 0:Y.hash,s.node,s.scenario,A,ve]);const q=Math.round(vs*1e3),me=k[ge]||null,He=j==="time"?q:j==="frame"?he.length:j==="index"?k.length:0,W=c.useCallback(e=>{const t=h.current;t&&(t.currentTime=e/1e3)},[]),Ne=c.useCallback(()=>{const e=h.current;e&&(e.paused?e.play():e.pause())},[]),Qe=(e,t)=>{$e(e),t!=null&&W(t)},xe=c.useCallback(async e=>{const t=h.current;if(!(t!=null&&t.videoWidth))return null;Q(!0),O(d("annotator.capturing"));try{t.seeking&&await new Promise(E=>t.addEventListener("seeked",E,{once:!0}));const o=document.createElement("canvas");o.width=t.videoWidth,o.height=t.videoHeight;const w=o.getContext("2d");w.drawImage(t,0,0,o.width,o.height),e&&(w.strokeStyle="#ff9a3c",w.lineWidth=Math.max(2,o.width/300),w.strokeRect(e.x/100*o.width,e.y/100*o.height,e.w/100*o.width,e.h/100*o.height));const g=await new Promise(E=>o.toBlob(E,"image/png")),{hash:y}=await Cs(g);if(!y)throw new Error("no hash");return O(""),y}catch{return O(d("annotator.failed")),null}finally{Q(!1)}},[d]),ks=c.useCallback(async()=>{var o;const e=h.current;if(!e)return null;e.pause();const t=Math.round((e.currentTime??0)*1e3);return{tMs:t,step:((o=is(k,t))==null?void 0:o.step)??null,frame:await xe(null)}},[k,xe]),Ye=c.useCallback(async e=>{const t=h.current;if(!t)return;t.pause();const o=Math.round((t.currentTime||0)*1e3),w=is(k,o),g=await xe(e),y=[Vs(o,w==null?void 0:w.step)];g&&y.push(`![frame](/api/evidence/${g})`),w!=null&&w.node&&w.node!==s.node&&y.push(`re: [[${w.node}]]`),y.push(""),U({seq:++S.current,body:y.join(`
2
- `)})},[k,s.node,xe]),qe=c.useCallback(e=>{var w;if(!z.length)return;let t=z.findIndex(g=>g.i===de);if(t<0){const g=Math.round((((w=h.current)==null?void 0:w.currentTime)||0)*1e3);t=z.reduce((y,E,X)=>E.tMs<=g?X:y,-1)}t=Math.min(z.length-1,Math.max(0,t+e));const o=z[t];$e(o.i),W(o.tMs)},[z,de,W]);Xs(e=>{if(!D||e.metaKey||e.ctrlKey||e.altKey)return!1;const t=h.current;return t?e.key===" "?(e.preventDefault(),Ne(),!0):e.key==="ArrowRight"?(e.preventDefault(),t.currentTime=Math.min(t.duration||t.currentTime,t.currentTime+(e.shiftKey?1:5)),!0):e.key==="ArrowLeft"?(e.preventDefault(),t.currentTime=Math.max(0,t.currentTime-(e.shiftKey?1:5)),!0):e.key===","?(e.preventDefault(),t.currentTime=Math.max(0,t.currentTime-1/30),!0):e.key==="."?(e.preventDefault(),t.duration&&(t.currentTime=Math.min(t.duration,t.currentTime+1/30)),!0):e.key==="ArrowDown"?(e.preventDefault(),qe(1),!0):e.key==="ArrowUp"?(e.preventDefault(),qe(-1),!0):e.key==="a"||e.key==="A"?(e.preventDefault(),Ye(null),!0):!1:!1});const Xe=e=>{var w;const t=(w=P.current)==null?void 0:w.getBoundingClientRect(),o=h.current;!t||!t.width||!o||!o.duration||(o.currentTime=Math.min(1,Math.max(0,(e-t.left)/t.width))*o.duration)},ys=e=>{e.preventDefault(),Le(!0),Xe(e.clientX)},gs=e=>{var o;const t=(o=P.current)==null?void 0:o.getBoundingClientRect();t!=null&&t.width&&Se(Math.min(100,Math.max(0,(e.clientX-t.left)/t.width*100)))};c.useEffect(()=>{if(!Be)return;const e=o=>Xe(o.clientX),t=()=>Le(!1);return window.addEventListener("mousemove",e),window.addEventListener("mouseup",t),()=>{window.removeEventListener("mousemove",e),window.removeEventListener("mouseup",t)}},[Be]);const Ge=e=>{const t=C.current.getBoundingClientRect();return{x:(e.clientX-t.left)/t.width*100,y:(e.clientY-t.top)/t.height*100}},js=e=>{if(e.button!==0||te)return;const t=Ge(e);F({x0:t.x,y0:t.y,x:t.x,y:t.y})},Ls=e=>{var o,w;if(!v)return;const t=Ge(e);!((o=h.current)!=null&&o.paused)&&(Math.abs(t.x-v.x0)>1||Math.abs(t.y-v.y0)>1)&&((w=h.current)==null||w.pause()),F({...v,x:t.x,y:t.y})},Ms=()=>{if(!v)return;const e={x:Math.min(v.x0,v.x),y:Math.min(v.y0,v.y),w:Math.abs(v.x-v.x0),h:Math.abs(v.y-v.y0)};if(F(null),e.w<1&&e.h<1){Ne();return}Ye(e)},oe=v&&{x:Math.min(v.x0,v.x),y:Math.min(v.y0,v.y),w:Math.abs(v.x-v.x0),h:Math.abs(v.y-v.y0)},Ss=async()=>{const e=await As(s.node,s.scenario).catch(t=>({error:String(t)}));f==null||f((e==null?void 0:e.error)||"")},$s=[...hn({okd:!!b.humanOk,isLatest:!T||A===0},{ok:Ss}).map(e=>({name:e.name,description:d(e.descKey),ui:!0,color:e.color,run:e.run})),...ps.map(e=>({name:e.name,description:e.desc||e.title,source:"review",prefill:()=>fn(e.body,{node:s.node,scenario:s.scenario,expected:b.expected||""})}))],Es=n.jsxs(n.Fragment,{children:[n.jsx(I,{kind:"eval",state:Ce(b),showLabel:!0,className:"an-verdict-badge",size:16}),b.humanOk&&n.jsxs("span",{className:"an-okd","data-tip":d("annotator.okBy",{by:b.humanOk.by,at:new Date(b.humanOk.ts).toLocaleString()}),children:[n.jsx(ne,{name:"circle-check",size:14})," ",d("annotator.okd")]}),T&&T.length>1&&(()=>{const e=T.length,t=Math.min(pe,e),o=A<pe?Array.from({length:t},(y,E)=>t-1-E):[A,...Array.from({length:pe-1},(y,E)=>pe-2-E)],w=new Set(o),g=T.map((y,E)=>({...y,idx:E})).filter(y=>!w.has(y.idx));return n.jsxs("div",{className:"an-ab",children:[n.jsx(we,{icon:"chevron-left",size:13,className:"an-ab-nav",disabled:A>=T.length-1,onClick:()=>re(y=>Math.min(T.length-1,y+1)),label:d("annotator.abOlder")}),g.length>0&&n.jsx(xn,{hidden:g,total:e,histIdx:A,onPick:re}),n.jsx("div",{className:"an-ab-track",children:o.map(y=>{const E=T[y],X=Ce(E);return n.jsx("button",{type:"button",className:`an-ab-pip ${y===A?"on":""}`,"aria-current":y===A?"true":void 0,onClick:()=>re(y),"aria-label":`${e-y}/${e} · ${d(`score.${X}`)} · ${new Date(E.ts).toLocaleString()}`,children:n.jsx(I,{kind:"eval",state:X,size:13})},`${E.ts}-${y}`)})}),n.jsx(we,{icon:"chevron-right",size:13,className:"an-ab-nav",disabled:A<=0,onClick:()=>re(y=>Math.max(0,y-1)),label:d("annotator.abNewer")}),n.jsx("span",{className:"an-ab-pos",children:A===0?d("annotator.abLatest"):d("annotator.abPos",{i:T.length-A,n:T.length})})]})})()]}),Ns=n.jsxs(n.Fragment,{children:[n.jsxs(ee,{label:d("detail.sideReading"),children:[b.evaluator&&n.jsx(G,{text:b.evaluator}),n.jsx(G,{text:new Date(b.ts).toLocaleString()})]}),n.jsx(ee,{label:d("detail.sideNode"),children:n.jsx(G,{text:s.node,mono:!0,tip:d("session.issuesFocusNode"),href:V(ce(s.node))})}),_e&&n.jsx(ee,{label:d("detail.sideFiler"),children:n.jsx(Hs,{originator:_e,sessions:p,kind:"eval",onOpenSession:x})}),b.humanOk&&n.jsxs(ee,{label:d("detail.sideOk"),children:[n.jsx(G,{text:`☑ ${b.humanOk.by}`}),n.jsx(G,{text:new Date(b.humanOk.ts).toLocaleString(),dim:!0})]}),!b.fresh&&(((De=b.staleAxes)==null?void 0:De.length)??0)>0&&n.jsxs(ee,{label:d("nodeView.eval.staleLabel"),children:[n.jsx(G,{text:b.staleAxes.join(" · "),tip:d("nodeView.eval.staleReadoutTitle")}),(((We=b.codeDrift)==null?void 0:We.length)??0)>0&&n.jsx(G,{text:b.codeDrift.map(e=>`${e.file.split("/").pop()} +${e.behind}`).join(", "),dim:!0})]}),(u.prev.length>0||u.next.length>0)&&n.jsx(ee,{label:d("detail.sideQueue"),children:[["prev",d("detail.queuePrev")],["next",d("detail.queueNext")]].map(([e,t])=>u[e].length>0&&n.jsxs("div",{className:"ds-queue-group",children:[n.jsx("span",{className:"ds-queue-group-label",children:t}),u[e].map(o=>n.jsxs("a",{className:"ds-queue-row",href:o.href,"data-tip":`${o.node} · ${o.scenario}`,children:[n.jsx(I,{kind:"eval",state:o.state,size:13}),n.jsx("span",{className:"ds-queue-scenario",children:o.scenario}),n.jsx("span",{className:"ds-queue-node",children:o.node})]},o.key))]},e))})]}),Rs=n.jsx(Qs,{onSend:(e,t)=>Ts({node:s.node,scenario:s.scenario,body:e,codeSha:b.codeSha,evidence:t}),specs:i,sessions:p,focusId:s.node,onDone:f,anchorNow:D?ks:null,draft:Z,commands:$s},xs);return n.jsxs(Te,{title:s.scenario,titleMeta:n.jsx("a",{className:"an-node",href:V(ce(s.node)),children:s.node}),status:Es,side:Ns,composer:Rs,listHref:m,backHref:M,backLabel:$,children:[b.expected&&n.jsxs("div",{className:"an-expected",children:[n.jsx("b",{children:d("nodeView.eval.expected")})," ",b.expected]}),le.length>0&&((es=b.verdict)==null?void 0:es.note)&&n.jsxs("div",{className:"an-expected an-prior-note",children:[n.jsx("b",{children:d("nodeView.eval.noteLabel")})," ",b.verdict.note]}),Y&&n.jsxs(n.Fragment,{children:[n.jsxs("div",{className:"an-player",ref:N,children:[n.jsxs("div",{className:`an-stage ${ue?"playing":"paused"}`,ref:C,onMouseDown:js,onMouseMove:Ls,onMouseUp:Ms,children:[n.jsx("video",{className:"an-video",ref:h,src:ye(`/api/evidence/${Y.hash}`),preload:"metadata",playsInline:!0}),oe&&n.jsx("div",{className:"an-rect live",style:{left:`${oe.x}%`,top:`${oe.y}%`,width:`${oe.w}%`,height:`${oe.h}%`}}),!ue&&!v&&n.jsx("div",{className:"an-bigplay","aria-hidden":!0,children:n.jsx(ne,{name:"play",size:22})})]}),n.jsxs("div",{className:"an-bar",children:[n.jsx(we,{icon:ue?"pause":"play",size:14,className:"an-play",label:d(ue?"annotator.pause":"annotator.play"),onClick:Ne}),n.jsxs("div",{className:"an-seek",ref:P,onMouseDown:ys,onMouseMove:gs,onMouseLeave:()=>Se(null),children:[n.jsx("div",{className:"an-seek-trk"}),q>0&&j==="time"&&k.map((e,t)=>n.jsx("div",{className:"an-band",style:{left:`${e.at/q*100}%`},"data-tip":e.step},`band-${t}`)),n.jsx("div",{className:"an-seek-play",ref:L}),q>0&&z.map(e=>n.jsx("button",{type:"button",className:`an-mk ${de===e.i?"on":""} ${Oe===e.i?"active":""}`,style:{left:`${e.tMs/q*100}%`},"data-tip":e.label,onMouseDown:t=>t.stopPropagation(),onClick:t=>{t.stopPropagation(),Qe(e.i,e.tMs)}},`mk-${e.i}`)),n.jsx("div",{className:"an-knob",ref:r}),Me!=null&&q>0&&n.jsx("div",{className:"an-seek-hov",style:{left:`${Me}%`},children:ke(Me/100*q)})]}),n.jsx("span",{className:"an-time",ref:B}),me&&n.jsx("span",{className:"an-curstep","data-tip":me.node?`→ ${me.node}`:void 0,children:me.step}),n.jsx(en,{target:N})]})]}),k.length>0&&n.jsx(cs,{events:k,axis:j,extent:He,activeStepIdx:ge,onSeek:W}),K&&n.jsx("div",{className:"an-flash",children:K})]}),!Y&&k.length>0&&n.jsx(cs,{events:k,axis:j,extent:He,activeStepIdx:ge,onSeek:W}),he.length>0&&n.jsx("div",{className:"an-gallery",children:he.map((e,t)=>n.jsx(ls,{e,alt:s.scenario},`${e.hash}-${t}`))}),ws.map((e,t)=>n.jsx(ls,{e,alt:s.scenario,collapsed:D||he.length>0},`${e.hash}-${t}`)),le.length===0&&((ss=b.verdict)!=null&&ss.note?n.jsx("pre",{className:"eval-transcript",children:b.verdict.note}):n.jsx("div",{className:"an-hint",children:d("nodeView.eval.noImage")})),n.jsx(bn,{entry:s,comments:Ee,seekMs:D?W:null,selIdx:de,activeIdx:Oe,onSelect:D?Qe:null,events:D?k:null,onWrite:f})]})}function bn({entry:s,comments:a,seekMs:l,selIdx:i,activeIdx:p,onSelect:f,events:x,onWrite:m}){var $;const M=H();return n.jsxs("section",{className:"an-thread",children:[n.jsx("div",{className:"an-comments-head",children:n.jsx("span",{children:M("annotator.comments",{n:a.length})})}),n.jsx(Ys,{replies:a,onSeek:l,selIdx:i,activeIdx:p,onSelect:f,events:x,threadId:(($=s.thread)==null?void 0:$.id)??null,onRemarkChange:()=>m==null?void 0:m("")})]})}const be=new Map,wn=[],kn={};function us(s,a){if(!(s!=null&&s.evalRevision)||!(a!=null&&a.epoch))return!0;const l=s.evalRevision;return l.epoch!==a.epoch||l.generation<a.generation?!1:l.generation!==a.generation?!0:!(a.revision&&l.content!==a.revision||a.value&&s.summary&&["measured","total","pass","fail","review","blind","unknown"].some(p=>s.summary[p]!==a.value[p]))}function ds(s,a,l){const i=`${l||""}\0${s}\0${a}`;if(be.has(i))return be.get(i);const p=new URLSearchParams({node:s,scenario:a});l&&p.set("scope",l);const f=Is(ye(`/api/evals/detail?${p}`),{cache:"no-store"}).then(x=>x.ok?x.json():x.status===404?!1:x.json().catch(()=>null).then(m=>{throw new Error((m==null?void 0:m.error)||`HTTP ${x.status}`)})).finally(()=>be.delete(i));return be.set(i,f),f}function yn(s,a,l,i=!0,p=null){const f=String(s||"").indexOf("/"),x=f>0?s.slice(0,f):s,m=f>0?s.slice(f+1):"",M=`${a||""}\0${x}\0${m}`,[$,u]=c.useState({identity:"",data:null,error:null}),d=c.useRef(0),h=c.useRef(l);h.current=l;const C=c.useCallback(()=>{if(!i||!x||!m)return Promise.resolve();const N=++d.current;return u(S=>S.identity===M?{...S,error:null}:{identity:M,data:null,error:null}),ds(x,m,a).then(async S=>{if(N===d.current){if(S&&!us(S,h.current)){const k=await ds(x,m,a);if(N!==d.current)return;if(k&&!us(k,h.current))throw new Error("stale session eval detail");S=k}u({identity:M,data:S,error:null})}}).catch(S=>{if(N!==d.current)return;const k=S instanceof Error?S.message:String(S);u(R=>({identity:M,data:R.identity===M&&R.data?R.data:!1,error:k}))})},[i,M,x,m,a]);c.useEffect(()=>{i&&C()},[i,x,m,a,p,l==null?void 0:l.epoch,l==null?void 0:l.generation,l==null?void 0:l.revision]);const P=$.identity===M?$:{data:null,error:null};return{data:P.data,error:P.error,reload:C}}function gn({sessionId:s}){const l=H()("sessionEval.scopeDoor");return n.jsx("a",{className:"se-door",href:V(rn(s)),"data-tip":l,"aria-label":l,children:n.jsx(ne,{name:"arrow-left",size:16})})}function jn({sessionId:s,pageData:a,loading:l,error:i,sessions:p,queryText:f,onQueryText:x,hrefFor:m,hrefForPage:M}){const $=H(),u=(a==null?void 0:a.unknown)||0,d=s&&!l&&!i&&((a==null?void 0:a.sourceTotal)??0)===0?$("sessionEval.none"):null,h=s?n.jsxs("div",{className:"se-gates",children:[n.jsx(gn,{sessionId:s}),u>0&&n.jsxs("span",{className:"se-gate bad se-unknown","data-tip":$("sessionEval.unknownCoverage",{n:u}),children:[n.jsx(ne,{name:"info",size:11})," ",u]}),a&&n.jsx("span",{className:"se-acts",children:n.jsx("a",{className:"se-export",href:ye(`/api/sessions/${encodeURIComponent(s)}/evals?format=html`),target:"_blank",rel:"noreferrer","data-tip":$("sessionEval.exportTitle"),"aria-label":$("sessionEval.export"),children:n.jsx(ne,{name:"download",size:13})})})]}):null;return n.jsx(un,{pageData:a,loading:l,sessions:p,queryText:f,onQueryText:x,hrefFor:m,leading:h,error:i?$("sessionEval.loadFailed",{reason:i}):null,empty:d,pagination:a?{page:a.page,pageCount:a.pageCount,prev:a.prev,next:a.next,hrefFor:M}:null})}function Ln({param:s,detail:a,sessionId:l,loading:i=!1,error:p,specs:f,sessions:x,listHref:m,backHref:M,backLabel:$,onOpenSession:u,onWrite:d}){const h=H(),C=s.indexOf("/"),P=C>0?s.slice(0,C):s,N=C>0?s.slice(C+1):null,S=c.useMemo(()=>{const j=v=>({key:fs(v),node:v.node,scenario:v.scenario,state:v.state,href:V(l?Ae(l,v.node,v.scenario):hs(v.node,v.scenario))}),_=(a==null?void 0:a.neighbors)||{prev:[],next:[]};return{prev:_.prev.map(j),next:_.next.map(j)}},[a==null?void 0:a.neighbors,l]);if(p)return n.jsx(Te,{failure:h("sessionEval.loadFailed",{reason:p}),listHref:m,listLabel:h("reviewShell.backToEvals")});if(i)return n.jsx("div",{className:"fv-note",children:h("common.loading")});const k=(a==null?void 0:a.selected)||null,R=(a==null?void 0:a.scopeFallback)==="trunk"?h("reviewShell.scopeFallback"):null;if(!k){const j=(a==null?void 0:a.availability)==="unmeasured"?h("reviewShell.evalUnmeasured"):h("reviewShell.evalNotFound",{node:P,scenario:N||""});return n.jsx(Te,{missing:R?n.jsxs(n.Fragment,{children:[R,n.jsx("br",{}),j]}):j,listHref:m,listLabel:h("reviewShell.backToEvals")})}return n.jsxs("div",{className:"page-detail-stack",children:[R&&n.jsx("div",{className:"fv-source-notice",role:"status",children:R}),n.jsx(pn,{entry:k,history:a.history,sourceKey:a.scope||"project",specs:f,sessions:x,onOpenSession:u,onWrite:d,listHref:m,backHref:M,backLabel:$,queue:S})]})}function Fn({param:s=null,query:a=kn,specs:l=wn,sessions:i=[],issuesStamp:p=null,reloadBoard:f,onOpenSession:x}){var U;const m=H(),M=Ps(),$=Gs(),{notify:u}=Ks(),d=Os(),h=J(a.q||"","scope")||null,C=((U=i.find(L=>L.id===h))==null?void 0:U.evalSummary)||null,P=`${p??""}|${d.retryKey}`,N=yn(s,h,C,!!s,P),S=String(a.q??"").trim()||ie,k=nn(a.page),R=c.useMemo(()=>({specs:l,retryKey:d.retryKey}),[l,d.retryKey]),j=tn("evals",S,k,{enabled:!s&&$,refreshKey:R}),_=L=>{L&&u(L)},v=async L=>{_(L),await(f==null?void 0:f()),await N.reload()},F=L=>V(h?Ae(h,L.node,L.scenario):hs(L.node,L.scenario)),K=h?V(Ae(h)):ts("evals"),O=an("evals",h),te=m("detail.backToEvals"),Q=L=>M.ownQuery(Js(L,ie)),Z=L=>ts("evals",null,Zs(S,ie,L));return s?n.jsx(Ln,{param:s,detail:N.data&&N.data!==!1?N.data:null,sessionId:h,loading:N.data===null,error:N.error,specs:l,sessions:i,listHref:K,backHref:O,backLabel:te,onOpenSession:x,onWrite:v}):n.jsx(jn,{sessionId:h,pageData:j.data,loading:j.loading,error:j.error,sessions:i,queryText:a.q||"",onQueryText:Q,hrefFor:F,hrefForPage:Z})}export{Ln as EvalDetailPage,gn as EvalScopeDoor,jn as EvalsListPage,Fn as default,us as detailMatchesProjection};
@@ -1,2 +0,0 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./index-BmOx7kVX.js","./tabs-BL3Okd06.js","./index-3mcnUCQ1.js","./index-nweIph9V.css","./App-Bz1E7Es7.js","./PageScroll-CEYT-x2I.js","./tabs-PFmT6UqQ.css"])))=>i.map(i=>d[i]);
2
- import{u as C,r as l,j as u,a6 as A,_ as M,a7 as P}from"./index-3mcnUCQ1.js";import{as as p,at as N,au as T,av as F,aw as I,ax as W,ay as S,az as t}from"./tabs-BL3Okd06.js";import{P as V}from"./ProseActions-rr5Mm1WB.js";import"./App-Bz1E7Es7.js";import"./PageScroll-CEYT-x2I.js";const G=S.define([{tag:[t.keyword,t.modifier,t.controlKeyword],color:"var(--magenta)"},{tag:[t.function(t.variableName),t.function(t.propertyName)],color:"var(--blue)"},{tag:[t.string,t.special(t.string)],color:"var(--green)"},{tag:[t.comment,t.lineComment,t.blockComment],color:"var(--muted)",fontStyle:"italic"},{tag:[t.number,t.bool,t.null],color:"var(--orange)"},{tag:[t.typeName,t.className,t.tagName],color:"var(--yellow)"},{tag:[t.propertyName,t.attributeName],color:"var(--cyan)"},{tag:[t.operator,t.punctuation],color:"var(--ink)"},{tag:[t.invalid],color:"var(--red)"}]),D=p.theme({"&":{backgroundColor:"var(--paper)",color:"var(--ink)",fontSize:"var(--type-meta)",height:"100%"},".cm-content":{fontFamily:"var(--mono)",padding:"6px 0"},".cm-scroller":{fontFamily:"var(--mono)",lineHeight:"1.62",overflow:"auto"},".cm-gutters":{backgroundColor:"var(--paper)",color:"var(--muted)",border:"none",opacity:".55"},".cm-lineNumbers .cm-gutterElement":{padding:"0 9px 0 12px"},".cm-activeLine":{backgroundColor:"color-mix(in srgb, var(--line) 30%, transparent)"},".cm-activeLineGutter":{backgroundColor:"transparent",color:"var(--ink)",opacity:"1"},".cm-selectionBackground, &.cm-focused .cm-selectionBackground, ::selection":{backgroundColor:"color-mix(in srgb, var(--blue) 28%, transparent)"},".cm-cursor":{borderLeftColor:"var(--blue)"}},{dark:!0}),O=new Set(["js","jsx","mjs","cjs","ts","tsx","mts","cts"]);async function $(s){const i=(s.split(".").pop()||"").toLowerCase();if(!O.has(i))return[];try{const{javascript:f}=await M(async()=>{const{javascript:o}=await import("./index-BmOx7kVX.js");return{javascript:o}},__vite__mapDeps([0,1,2,3,4,5,6]),import.meta.url);return f({jsx:i.endsWith("sx"),typescript:i.startsWith("t")||i.startsWith("mt")||i.startsWith("ct")})}catch{return[]}}const B=900;function X({path:s,read:i,className:f="",onSelection:o}){const v=C(),d=l.useRef(null),a=l.useRef(null),h=l.useRef({offset:0,eof:!1,size:0,busy:!1}),[n,x]=l.useState({phase:"loading",size:0,loaded:0,error:null});l.useEffect(()=>{let y=!0;h.current={offset:0,eof:!1,size:0,busy:!1},x({phase:"loading",size:0,loaded:0,error:null});const j=async()=>{const e=h.current;if(!(e.busy||e.eof)){e.busy=!0;try{const r=await(i?i(e.offset):A(s,e.offset));if(!y)return;e.offset+=r.bytes,e.eof=r.eof,e.size=r.size;const c=a.current;c&&r.text&&c.dispatch({changes:{from:c.state.doc.length,insert:r.text}}),x({phase:"ready",size:r.size,loaded:e.offset,error:null})}catch(r){y&&x(c=>({...c,phase:"error",error:String((r==null?void 0:r.message)||r)}))}finally{e.busy=!1}}},z=p.updateListener.of(e=>{if(e.selectionSet){const{from:c,to:b}=e.state.selection.main;if(c===b)o==null||o(null);else{const E=e.state.doc.lineAt(c).number,H=e.state.doc.lineAt(Math.max(c,b-1)).number,m=e.view.coordsAtPos(c),g=e.view.coordsAtPos(b),L=m?Math.min(m.left,(g==null?void 0:g.left)??m.left):0,_=m?Math.max(m.bottom,(g==null?void 0:g.bottom)??m.bottom):0,R={path:s,startLine:E,endLine:H,text:e.state.sliceDoc(c,b),x:L,y:_};o==null||o(R)}}if(!e.geometryChanged&&!e.docChanged)return;const r=e.view.scrollDOM;r.scrollHeight-r.scrollTop-r.clientHeight<B&&j()});return(async()=>{const e=await $(s);!y||!d.current||(a.current=new p({parent:d.current,state:N.create({doc:"",extensions:[T(),F(),I(),W(G),p.editable.of(!1),N.readOnly.of(!0),p.lineWrapping,D,z,e]})}),await j())})(),()=>{var e;y=!1,o==null||o(null),(e=a.current)==null||e.destroy(),a.current=null}},[s,i,o]);const w=n.size>0?Math.min(100,Math.round(n.loaded/n.size*100)):0,k=!n.error&&(n.phase==="loading"||n.size>0&&w<100);return u.jsx("div",{className:`srcview ${f}`.trim(),children:u.jsxs("div",{className:"srcview-body",children:[u.jsx("div",{className:"srcview-cm",ref:d}),(n.error||k)&&u.jsx("div",{className:`srcview-progress${n.error?" is-error":""}`,role:"status",children:n.error||(n.phase==="loading"?v("common.loading"):`${w}%`)})]})})}function Z({param:s}){const i=C(),f=l.useRef(null),[o,v]=l.useState(null),d=s!=null&&s.startsWith(".spec/")?s.slice(6).split("/"):[],a=d.length>=2?{nodeId:d[0],name:d.slice(1).join("/")}:null,h=l.useMemo(()=>a?n=>P(a.nodeId,a.name,n):void 0,[a==null?void 0:a.nodeId,a==null?void 0:a.name]);return s?u.jsxs("div",{className:"fileview",ref:f,children:[u.jsx(X,{path:s,read:h,onSelection:v},s),u.jsx(V,{hostRef:f,codeSelection:o,onCodeSelectionClear:()=>v(null)})]}):u.jsx("div",{className:"doc-empty",children:i("fileView.none")})}export{Z as default};