@edenapp/sdk 0.5.1 → 0.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (131) hide show
  1. package/dist/app-frame/frame-injector.js +6 -6
  2. package/dist/app-frame/frame-injector.js.map +3 -3
  3. package/dist/apps/prebuilt/com.eden.calculator/dist/assets/{index-B2YDTw7g.js → index-ombNmWuy.js} +1 -1
  4. package/dist/apps/prebuilt/com.eden.calculator/dist/index.html +1 -1
  5. package/dist/apps/prebuilt/com.eden.context-menu/dist/assets/{index-DUrqfNSi.js → index-B-ks_-b3.js} +1 -1
  6. package/dist/apps/prebuilt/com.eden.context-menu/dist/index.html +1 -1
  7. package/dist/apps/prebuilt/com.eden.editor/dist/assets/{editor.main-ABqnr99W.js → editor.main-ShXWZzLt.js} +3 -3
  8. package/dist/apps/prebuilt/com.eden.editor/dist/assets/{html-D6jh0yEa.js → html-BllhhjiQ.js} +1 -1
  9. package/dist/apps/prebuilt/com.eden.editor/dist/assets/{index-DAFnO6GB.js → index-DMisGu94.js} +2 -2
  10. package/dist/apps/prebuilt/com.eden.editor/dist/assets/{javascript-NUFioPTH.js → javascript-DmMyWycA.js} +1 -1
  11. package/dist/apps/prebuilt/com.eden.editor/dist/assets/{jsonMode-BprisSQ5.js → jsonMode-crhwfqKw.js} +1 -1
  12. package/dist/apps/prebuilt/com.eden.editor/dist/assets/{typescript-qUrrOs_e.js → typescript-B_1zjGZb.js} +1 -1
  13. package/dist/apps/prebuilt/com.eden.editor/dist/assets/{yaml-Xk-V_ilV.js → yaml-y53-55Ta.js} +1 -1
  14. package/dist/apps/prebuilt/com.eden.editor/dist/index.html +1 -1
  15. package/dist/apps/prebuilt/com.eden.eveshell/dist/assets/index-B-bahmO2.js +1 -0
  16. package/dist/apps/prebuilt/com.eden.eveshell/dist/index.html +1 -1
  17. package/dist/apps/prebuilt/com.eden.eveshell/manifest.json +9 -1
  18. package/dist/apps/prebuilt/com.eden.eveshell/package.json +1 -0
  19. package/dist/apps/prebuilt/com.eden.example.hello/backend/node_modules/.bin/tsc +2 -2
  20. package/dist/apps/prebuilt/com.eden.example.hello/backend/node_modules/.bin/tsserver +2 -2
  21. package/dist/apps/prebuilt/com.eden.example.hello/backend/node_modules/@edenapp/types/AppManifest.d.ts +9 -3
  22. package/dist/apps/prebuilt/com.eden.example.hello/backend/node_modules/@edenapp/types/CHANGELOG.md +14 -0
  23. package/dist/apps/prebuilt/com.eden.example.hello/backend/node_modules/@edenapp/types/ProcessMetrics.d.ts +127 -0
  24. package/dist/apps/prebuilt/com.eden.example.hello/backend/node_modules/@edenapp/types/commands.generated.d.ts +91 -15
  25. package/dist/apps/prebuilt/com.eden.example.hello/backend/node_modules/@edenapp/types/global.d.ts +8 -3
  26. package/dist/apps/prebuilt/com.eden.example.hello/backend/node_modules/@edenapp/types/index.d.ts +1 -0
  27. package/dist/apps/prebuilt/com.eden.example.hello/backend/node_modules/@edenapp/types/package.json +2 -2
  28. package/dist/apps/prebuilt/com.eden.example.hello/backend/tsconfig.json +2 -12
  29. package/dist/apps/prebuilt/com.eden.example.hello/frontend/dist/assets/index-BeQINwbz.js +1 -0
  30. package/dist/apps/prebuilt/com.eden.example.hello/frontend/dist/index.html +1 -1
  31. package/dist/apps/prebuilt/com.eden.example.hello/frontend/node_modules/.bin/tsc +2 -2
  32. package/dist/apps/prebuilt/com.eden.example.hello/frontend/node_modules/.bin/tsserver +2 -2
  33. package/dist/apps/prebuilt/com.eden.example.hello/frontend/node_modules/.bin/vite +2 -2
  34. package/dist/apps/prebuilt/com.eden.example.hello/frontend/node_modules/@edenapp/types/AppManifest.d.ts +9 -3
  35. package/dist/apps/prebuilt/com.eden.example.hello/frontend/node_modules/@edenapp/types/CHANGELOG.md +14 -0
  36. package/dist/apps/prebuilt/com.eden.example.hello/frontend/node_modules/@edenapp/types/ProcessMetrics.d.ts +127 -0
  37. package/dist/apps/prebuilt/com.eden.example.hello/frontend/node_modules/@edenapp/types/commands.generated.d.ts +91 -15
  38. package/dist/apps/prebuilt/com.eden.example.hello/frontend/node_modules/@edenapp/types/global.d.ts +8 -3
  39. package/dist/apps/prebuilt/com.eden.example.hello/frontend/node_modules/@edenapp/types/index.d.ts +1 -0
  40. package/dist/apps/prebuilt/com.eden.example.hello/frontend/node_modules/@edenapp/types/package.json +2 -2
  41. package/dist/apps/prebuilt/com.eden.example.hello/frontend/node_modules/vite/node_modules/.bin/esbuild +3 -3
  42. package/dist/apps/prebuilt/com.eden.example.hello/frontend/node_modules/vite/node_modules/.bin/rollup +4 -4
  43. package/dist/apps/prebuilt/com.eden.example.hello/frontend/node_modules/vite/node_modules/.bin/yaml +4 -4
  44. package/dist/apps/prebuilt/com.eden.example.hello/frontend/tsconfig.json +1 -13
  45. package/dist/apps/prebuilt/com.eden.files/dist/assets/index-BT-jTYkQ.js +1 -0
  46. package/dist/apps/prebuilt/com.eden.files/dist/index.html +1 -1
  47. package/dist/apps/prebuilt/com.eden.files/package.json +4 -2
  48. package/dist/apps/prebuilt/com.eden.installer/dist/assets/{index-SmzSXaXF.js → index-czaxJQQE.js} +1 -1
  49. package/dist/apps/prebuilt/com.eden.installer/dist/index.html +1 -1
  50. package/dist/apps/prebuilt/com.eden.login/dist/assets/{index-DyI95N2f.js → index-C72VINOP.js} +1 -1
  51. package/dist/apps/prebuilt/com.eden.login/dist/index.html +1 -1
  52. package/dist/apps/prebuilt/com.eden.process-manager/dist/assets/index-C2Cw_EOR.css +1 -0
  53. package/dist/apps/prebuilt/com.eden.process-manager/dist/assets/index-x5Xb2Uoa.js +1 -0
  54. package/dist/apps/prebuilt/com.eden.process-manager/dist/index.html +13 -0
  55. package/dist/apps/prebuilt/com.eden.process-manager/icon.svg +13 -0
  56. package/dist/apps/prebuilt/com.eden.process-manager/index.html +12 -0
  57. package/dist/apps/prebuilt/com.eden.process-manager/manifest.json +31 -0
  58. package/dist/apps/prebuilt/com.eden.process-manager/package.json +20 -0
  59. package/dist/apps/prebuilt/com.eden.settings/dist/assets/{index-CHDYDKgf.js → index-CCa_wWrX.js} +1 -1
  60. package/dist/apps/prebuilt/com.eden.settings/dist/index.html +1 -1
  61. package/dist/apps/prebuilt/com.eden.toaster/dist/assets/{index-C4cVyh7j.js → index-b5EUNXyn.js} +2 -2
  62. package/dist/apps/prebuilt/com.eden.toaster/dist/index.html +1 -1
  63. package/dist/apps/prebuilt/com.eden.users/dist/assets/{index-CmyGIH5F.js → index-CSvwpgyK.js} +1 -1
  64. package/dist/apps/prebuilt/com.eden.users/dist/index.html +1 -1
  65. package/dist/edencss/eden.css +1 -1
  66. package/dist/filesystem/FilesystemHandler.d.ts +15 -0
  67. package/dist/filesystem/FilesystemHandler.d.ts.map +1 -1
  68. package/dist/filesystem/FilesystemHandler.js +25 -0
  69. package/dist/filesystem/FilesystemHandler.js.map +1 -1
  70. package/dist/filesystem/FilesystemManager.d.ts +9 -0
  71. package/dist/filesystem/FilesystemManager.d.ts.map +1 -1
  72. package/dist/filesystem/FilesystemManager.js +33 -0
  73. package/dist/filesystem/FilesystemManager.js.map +1 -1
  74. package/dist/generated/runtime.d.ts.map +1 -1
  75. package/dist/generated/runtime.js +9 -1
  76. package/dist/generated/runtime.js.map +1 -1
  77. package/dist/process-manager/ProcessHandler.d.ts +26 -1
  78. package/dist/process-manager/ProcessHandler.d.ts.map +1 -1
  79. package/dist/process-manager/ProcessHandler.js +41 -3
  80. package/dist/process-manager/ProcessHandler.js.map +1 -1
  81. package/dist/process-manager/ProcessManager.d.ts +11 -1
  82. package/dist/process-manager/ProcessManager.d.ts.map +1 -1
  83. package/dist/process-manager/ProcessManager.js +18 -0
  84. package/dist/process-manager/ProcessManager.js.map +1 -1
  85. package/dist/process-manager/ProcessMetricsCollector.d.ts +31 -0
  86. package/dist/process-manager/ProcessMetricsCollector.d.ts.map +1 -0
  87. package/dist/process-manager/ProcessMetricsCollector.js +219 -0
  88. package/dist/process-manager/ProcessMetricsCollector.js.map +1 -0
  89. package/dist/process-manager/ProcessMetricsCollector.test.d.ts +2 -0
  90. package/dist/process-manager/ProcessMetricsCollector.test.d.ts.map +1 -0
  91. package/dist/process-manager/ProcessMetricsCollector.test.js +194 -0
  92. package/dist/process-manager/ProcessMetricsCollector.test.js.map +1 -0
  93. package/dist/view-manager/ViewCreator.d.ts.map +1 -1
  94. package/dist/view-manager/ViewCreator.js +2 -1
  95. package/dist/view-manager/ViewCreator.js.map +1 -1
  96. package/dist/view-manager/ViewHandler.d.ts +67 -20
  97. package/dist/view-manager/ViewHandler.d.ts.map +1 -1
  98. package/dist/view-manager/ViewHandler.js +204 -122
  99. package/dist/view-manager/ViewHandler.js.map +1 -1
  100. package/dist/view-manager/viewLifecycle.d.ts.map +1 -1
  101. package/dist/view-manager/viewLifecycle.js +5 -0
  102. package/dist/view-manager/viewLifecycle.js.map +1 -1
  103. package/edencss/README.md +29 -194
  104. package/edencss/components/avatar.css +1 -1
  105. package/edencss/components/inputs.css +1 -1
  106. package/edencss/components/sidebar.css +2 -2
  107. package/edencss/utilities.css +17 -14
  108. package/package.json +9 -4
  109. package/dist/apps/prebuilt/com.eden.eveshell/dist/assets/index-CEfffVHu.js +0 -1
  110. package/dist/apps/prebuilt/com.eden.example.hello/frontend/dist/assets/index-D4bTq3-Q.js +0 -1
  111. package/dist/apps/prebuilt/com.eden.files/dist/assets/index-CoRuEUrw.js +0 -1
  112. package/dist/main.d.ts +0 -2
  113. package/dist/main.d.ts.map +0 -1
  114. package/dist/main.js +0 -15
  115. package/dist/main.js.map +0 -1
  116. package/dist/view-manager/DevToolsManager.d.ts +0 -29
  117. package/dist/view-manager/DevToolsManager.d.ts.map +0 -1
  118. package/dist/view-manager/DevToolsManager.js +0 -88
  119. package/dist/view-manager/DevToolsManager.js.map +0 -1
  120. package/dist/view-manager/LayoutCalculator.d.ts +0 -49
  121. package/dist/view-manager/LayoutCalculator.d.ts.map +0 -1
  122. package/dist/view-manager/LayoutCalculator.js +0 -94
  123. package/dist/view-manager/LayoutCalculator.js.map +0 -1
  124. package/dist/view-manager/TilingManager.d.ts +0 -61
  125. package/dist/view-manager/TilingManager.d.ts.map +0 -1
  126. package/dist/view-manager/TilingManager.js +0 -142
  127. package/dist/view-manager/TilingManager.js.map +0 -1
  128. package/dist/view-manager/ViewLifecycle.d.ts +0 -66
  129. package/dist/view-manager/ViewLifecycle.d.ts.map +0 -1
  130. package/dist/view-manager/ViewLifecycle.js +0 -142
  131. package/dist/view-manager/ViewLifecycle.js.map +0 -1
@@ -1 +1 @@
1
- :root{--eden-color-bg-primary:#151518;--eden-color-bg-secondary:#252529;--eden-color-bg-glass-light:#ffffff0a;--eden-color-bg-glass-medium:#ffffff14;--eden-color-bg-glass-strong:#12182a8c;--eden-color-bg-overlay:#080c189e;--eden-color-bg-dark:#0000000a;--eden-color-surface-primary:#1e1e2e;--eden-color-surface-secondary:#2d2d44;--eden-color-surface-tertiary:#3d3d5c;--eden-color-surface-elevated:#ffffff0f;--eden-color-surface-hover:#ffffff1f;--eden-color-surface-active:#ffffff2e;--eden-color-text-primary:#eff4fff5;--eden-color-text-secondary:#eaeaeaf2;--eden-color-text-tertiary:#bdbdbde6;--eden-color-text-muted:#fff9;--eden-color-text-inverse:#1a1a1a;--eden-color-text-on-dark:#fff;--eden-color-accent-primary:#4a9eff;--eden-color-accent-primary-hover:#5ca8ff;--eden-color-accent-primary-active:#3b8ee8;--eden-color-accent-blue:#52a3ff;--eden-color-accent-blue-dark:#367bff;--eden-color-accent-purple:#667eea;--eden-color-accent-purple-light:#7c92f0;--eden-color-success:#51cf66;--eden-color-success-hover:#69db7c;--eden-color-danger:#ff3b30;--eden-color-danger-hover:#ff6b6b;--eden-color-danger-bg:#ff3b301a;--eden-color-warning:#ffd93d;--eden-color-info:#4dabf7;--eden-color-border-light:#ffffff0f;--eden-color-border-medium:#ffffff1f;--eden-color-border-dark:#0000001a;--eden-color-border-separator:#ffffff2e;--eden-space-xs:4px;--eden-space-sm:8px;--eden-space-md:16px;--eden-space-lg:24px;--eden-space-xl:36px;--eden-space-2xl:48px;--eden-space-3xl:64px;--eden-radius-xs:6px;--eden-radius-sm:10px;--eden-radius-md:14px;--eden-radius-lg:18px;--eden-radius-xl:20px;--eden-radius-2xl:28px;--eden-radius-round:50%;--eden-shadow-xs:0 1px 3px #0000004d;--eden-shadow-sm:0 2px 6px #00000080;--eden-shadow-md:0 8px 20px #00000047;--eden-shadow-lg:0 10px 30px #0000004d;--eden-shadow-xl:0 20px 60px #0000004d;--eden-shadow-2xl:0 28px 80px #00000073;--eden-shadow-inner:inset 0 1px 3px #0003;--eden-glass-light:blur(10px)saturate(120%);--eden-glass-medium:blur(18px)saturate(140%);--eden-glass-strong:blur(26px)saturate(160%);--eden-glass-ultra:blur(34px)saturate(170%);--eden-font-family-base:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;--eden-font-family-mono:"SF Mono",Monaco,"Cascadia Code","Roboto Mono",Consolas,"Courier New",monospace;--eden-font-size-xs:10px;--eden-font-size-sm:11px;--eden-font-size-base:13px;--eden-font-size-md:14px;--eden-font-size-lg:16px;--eden-font-size-xl:18px;--eden-font-size-2xl:24px;--eden-font-size-3xl:32px;--eden-font-size-4xl:48px;--eden-font-weight-normal:400;--eden-font-weight-medium:500;--eden-font-weight-semibold:600;--eden-font-weight-bold:700;--eden-font-line-height-tight:1.2;--eden-font-line-height-normal:1.5;--eden-font-line-height-relaxed:1.75;--eden-font-letter-spacing-tight:-.6px;--eden-font-letter-spacing-normal:-.2px;--eden-font-letter-spacing-wide:.1px;--eden-transition-fast:.15s ease;--eden-transition-base:.2s cubic-bezier(.4,0,.2,1);--eden-transition-smooth:.3s cubic-bezier(.4,0,.2,1);--eden-transition-bounce:.5s cubic-bezier(.68,-.55,.265,1.55);--eden-transition-ease-in:cubic-bezier(.4,0,1,1);--eden-transition-ease-out:cubic-bezier(0,0,.2,1);--eden-transition-ease-in-out:cubic-bezier(.4,0,.2,1);--eden-z-base:0;--eden-z-dropdown:100;--eden-z-sticky:200;--eden-z-overlay:1000;--eden-z-modal:2000;--eden-z-popover:2001;--eden-z-tooltip:3000;--eden-layout-dock-height:72px;--eden-layout-icon-size-sm:24px;--eden-layout-icon-size-md:40px;--eden-layout-icon-size-lg:64px;--eden-layout-icon-size-xl:88px;--eden-duration-instant:.1s;--eden-duration-fast:.15s;--eden-duration-normal:.22s;--eden-duration-slow:.32s;--eden-duration-slower:.5s}*{box-sizing:border-box;margin:0;padding:0}.eden-glass-light{background:var(--eden-color-bg-glass-light);backdrop-filter:var(--eden-glass-light)}.eden-glass-medium{background:var(--eden-color-bg-glass-medium);backdrop-filter:var(--eden-glass-medium)}.eden-glass-strong{background:var(--eden-color-bg-glass-strong);backdrop-filter:var(--eden-glass-strong)}.eden-glass-ultra{backdrop-filter:var(--eden-glass-ultra)}.eden-shadow-xs{box-shadow:var(--eden-shadow-xs)}.eden-shadow-sm{box-shadow:var(--eden-shadow-sm)}.eden-shadow-md{box-shadow:var(--eden-shadow-md)}.eden-shadow-lg{box-shadow:var(--eden-shadow-lg)}.eden-shadow-xl{box-shadow:var(--eden-shadow-xl)}.eden-shadow-2xl{box-shadow:var(--eden-shadow-2xl)}.eden-shadow-inner{box-shadow:var(--eden-shadow-inner)}.eden-surface{background:var(--eden-surface-primary);color:var(--eden-text-primary)}.eden-surface-secondary{background:var(--eden-surface-secondary);color:var(--eden-text-primary)}.eden-surface-elevated{background:var(--eden-surface-elevated);color:var(--eden-text-primary)}.eden-text-primary{color:var(--eden-text-primary)}.eden-text-secondary{color:var(--eden-text-secondary)}.eden-text-tertiary{color:var(--eden-text-tertiary)}.eden-text-muted{color:var(--eden-text-muted)}.eden-text-xs{font-size:var(--eden-font-size-xs)}.eden-text-sm{font-size:var(--eden-font-size-sm)}.eden-text-base{font-size:var(--eden-font-size-base)}.eden-text-md{font-size:var(--eden-font-size-md)}.eden-text-lg{font-size:var(--eden-font-size-lg)}.eden-text-xl{font-size:var(--eden-font-size-xl)}.eden-text-2xl{font-size:var(--eden-font-size-2xl)}.eden-text-3xl{font-size:var(--eden-font-size-3xl)}.eden-font-medium{font-weight:var(--eden-font-weight-medium)}.eden-font-semibold{font-weight:var(--eden-font-weight-semibold)}.eden-font-bold{font-weight:var(--eden-font-weight-bold)}.eden-m-xs{margin:var(--eden-space-xs)}.eden-m-sm{margin:var(--eden-space-sm)}.eden-m-md{margin:var(--eden-space-md)}.eden-m-lg{margin:var(--eden-space-lg)}.eden-m-xl{margin:var(--eden-space-xl)}.eden-p-xs{padding:var(--eden-space-xs)}.eden-p-sm{padding:var(--eden-space-sm)}.eden-p-md{padding:var(--eden-space-md)}.eden-p-lg{padding:var(--eden-space-lg)}.eden-p-xl{padding:var(--eden-space-xl)}.eden-gap-xs{gap:var(--eden-space-xs)}.eden-gap-sm{gap:var(--eden-space-sm)}.eden-gap-md{gap:var(--eden-space-md)}.eden-gap-lg{gap:var(--eden-space-lg)}.eden-gap-xl{gap:var(--eden-space-xl)}.eden-flex{display:flex}.eden-flex-col{flex-direction:column;display:flex}.eden-flex-center{justify-content:center;align-items:center;display:flex}.eden-flex-between{justify-content:space-between;align-items:center;display:flex}.eden-items-center{align-items:center}.eden-grid{display:grid}.eden-grid-2{grid-template-columns:repeat(2,1fr)}.eden-grid-3{grid-template-columns:repeat(3,1fr)}.eden-grid-4{grid-template-columns:repeat(4,1fr)}.eden-rounded-xs{border-radius:var(--eden-radius-xs)}.eden-rounded-sm{border-radius:var(--eden-radius-sm)}.eden-rounded-md{border-radius:var(--eden-radius-md)}.eden-rounded-lg{border-radius:var(--eden-radius-lg)}.eden-rounded-xl{border-radius:var(--eden-radius-xl)}.eden-rounded-2xl{border-radius:var(--eden-radius-2xl)}.eden-rounded-full{border-radius:var(--eden-radius-round)}.eden-transition{transition:all var(--eden-transition-base)}.eden-transition-fast{transition:all var(--eden-transition-fast)}.eden-transition-smooth{transition:all var(--eden-transition-smooth)}.eden-interactive{cursor:pointer;transition:all var(--eden-transition-base)}.eden-interactive:hover{box-shadow:var(--eden-shadow-lg);transform:translateY(-2px)}.eden-interactive:active{box-shadow:var(--eden-shadow-md);transform:translateY(0)}.eden-scrollbar::-webkit-scrollbar{width:8px;height:8px}.eden-scrollbar::-webkit-scrollbar-track{background:var(--eden-color-bg-glass-light);border-radius:var(--eden-radius-xs)}.eden-scrollbar::-webkit-scrollbar-thumb{background:var(--eden-color-border-separator);border-radius:var(--eden-radius-xs)}.eden-scrollbar::-webkit-scrollbar-thumb:hover{background:var(--eden-color-surface-hover)}*{scrollbar-width:thin;scrollbar-color:var(--eden-color-border-separator)var(--eden-color-bg-glass-light)}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--eden-color-bg-glass-light);border-radius:var(--eden-radius-xs)}::-webkit-scrollbar-thumb{background:var(--eden-color-border-separator);border-radius:var(--eden-radius-xs)}::-webkit-scrollbar-thumb:hover{background:var(--eden-color-surface-hover)}.eden-overlay{background:var(--eden-bg-overlay);backdrop-filter:var(--eden-glass-strong);z-index:var(--eden-z-overlay);position:fixed;inset:0}@keyframes eden-fade-in{0%{opacity:0}to{opacity:1}}@keyframes eden-fade-out{0%{opacity:1}to{opacity:0}}@keyframes eden-slide-up{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes eden-slide-down{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes eden-scale-in{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes eden-scale-out{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.95)}}.eden-animate-fade-in{animation:eden-fade-in var(--eden-duration-normal)var(--eden-ease-out)}.eden-animate-slide-up{animation:eden-slide-up var(--eden-duration-slow)var(--eden-ease-out)}.eden-animate-scale-in{animation:eden-scale-in var(--eden-duration-normal)var(--eden-ease-out)}.eden-btn{font-family:var(--eden-font-family-base);font-size:var(--eden-font-size-md);font-weight:var(--eden-font-weight-medium);padding:var(--eden-space-md);border-radius:var(--eden-radius-md);border:1px solid var(--eden-color-border-light);cursor:pointer;transition:all var(--eden-transition-base);background:var(--eden-color-bg-glass-medium);-webkit-backdrop-filter:var(--eden-glass-medium);box-shadow:var(--eden-shadow-sm);color:var(--eden-color-text-primary);justify-content:center;align-items:center;gap:var(--eden-space-sm);user-select:none;outline:none;display:inline-flex}.eden-btn:hover{background:var(--eden-color-bg-glass-strong);-webkit-backdrop-filter:var(--eden-glass-strong);border-color:var(--eden-color-border-medium);box-shadow:var(--eden-shadow-md);transform:translateY(-1px)}.eden-btn:active{box-shadow:var(--eden-shadow-sm);transform:translateY(0)}.eden-btn:focus-visible{outline:2px solid var(--eden-color-accent-primary);outline-offset:2px}.eden-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.eden-btn-primary{background:linear-gradient(135deg,var(--eden-color-accent-blue),var(--eden-color-accent-blue-dark));color:#fff;box-shadow:var(--eden-shadow-md);font-weight:var(--eden-font-weight-semibold);border-color:#0000}.eden-btn-primary:hover{filter:brightness(1.15);box-shadow:var(--eden-shadow-lg);border-color:#0000}.eden-btn-secondary{background:var(--eden-color-surface-tertiary);border-color:var(--eden-color-border-medium)}.eden-btn-secondary:hover{background:var(--eden-color-surface-hover)}.eden-btn-success{background:var(--eden-color-success);color:#fff;font-weight:var(--eden-font-weight-semibold);border-color:#0000}.eden-btn-success:hover{background:var(--eden-color-success-hover);box-shadow:var(--eden-shadow-lg)}.eden-btn-danger{background:var(--eden-color-danger);color:#fff;font-weight:var(--eden-font-weight-semibold);border-color:#0000}.eden-btn-danger:hover{background:var(--eden-color-danger-hover);box-shadow:var(--eden-shadow-lg)}.eden-btn-ghost{box-shadow:none;background:0 0;border-color:#0000}.eden-btn-ghost:hover{background:var(--eden-color-bg-glass-light);border-color:var(--eden-color-border-light)}.eden-btn-outline{border-color:var(--eden-color-border-medium);background:0 0}.eden-btn-outline:hover{background:var(--eden-color-bg-glass-light);border-color:var(--eden-color-accent-primary)}.eden-btn-xs{font-size:var(--eden-font-size-xs);padding:var(--eden-space-xs);border-radius:var(--eden-radius-xs)}.eden-btn-sm{font-size:var(--eden-font-size-sm);padding:var(--eden-space-sm);border-radius:var(--eden-radius-sm)}.eden-btn-md{font-size:var(--eden-font-size-md);padding:var(--eden-space-md);border-radius:var(--eden-radius-md)}.eden-btn-lg{font-size:var(--eden-font-size-lg);padding:var(--eden-space-lg);border-radius:var(--eden-radius-lg)}.eden-btn-xl{font-size:var(--eden-font-size-xl);padding:var(--eden-space-xl);border-radius:var(--eden-radius-xl)}.eden-btn-square{aspect-ratio:1}.eden-btn-pill{border-radius:999px}.eden-btn-group{gap:0;display:inline-flex}.eden-btn-group .eden-btn{border-radius:0}.eden-btn-group .eden-btn:first-child{border-top-left-radius:var(--eden-radius-md);border-bottom-left-radius:var(--eden-radius-md)}.eden-btn-group .eden-btn:last-child{border-top-right-radius:var(--eden-radius-md);border-bottom-right-radius:var(--eden-radius-md)}.eden-btn-group .eden-btn:not(:last-child){border-right:none}.eden-fab{bottom:var(--eden-space-2xl);right:var(--eden-space-2xl);border-radius:var(--eden-radius-round);background:linear-gradient(135deg,var(--eden-color-accent-blue),var(--eden-color-accent-blue-dark));width:56px;height:56px;box-shadow:var(--eden-shadow-2xl);cursor:pointer;transition:all var(--eden-transition-base);z-index:var(--eden-z-sticky);border:none;justify-content:center;align-items:center;display:flex;position:fixed}.eden-fab:hover{box-shadow:var(--eden-shadow-xl);transform:scale(1.1)}.eden-fab:active{transform:scale(1)}.eden-input{font-family:var(--eden-font-family-base);font-size:var(--eden-font-size-md);padding:var(--eden-space-md)var(--eden-space-lg);border-radius:var(--eden-radius-md);border:1px solid var(--eden-color-border-light);background:var(--eden-color-bg-glass-medium);-webkit-backdrop-filter:var(--eden-glass-light);color:var(--eden-color-text-primary);transition:all var(--eden-transition-base);outline:none;width:100%}.eden-input::placeholder{color:var(--eden-color-text-muted)}.eden-input:hover{border-color:var(--eden-color-border-medium);background:var(--eden-color-bg-glass-strong)}.eden-input:focus{border-color:var(--eden-color-accent-primary);background:var(--eden-color-bg-glass-strong);box-shadow:0 0 0 3px #4a9eff26}.eden-input:disabled{opacity:.5;cursor:not-allowed}.eden-input-sm{font-size:var(--eden-font-size-sm);padding:var(--eden-space-sm)var(--eden-space-md);border-radius:var(--eden-radius-sm)}.eden-input-lg{font-size:var(--eden-font-size-lg);padding:var(--eden-space-lg)var(--eden-space-xl);border-radius:var(--eden-radius-lg)}.eden-textarea{font-family:var(--eden-font-family-base);font-size:var(--eden-font-size-md);padding:var(--eden-space-md)var(--eden-space-lg);border-radius:var(--eden-radius-md);border:1px solid var(--eden-color-border-light);background:var(--eden-color-bg-glass-medium);-webkit-backdrop-filter:var(--eden-glass-light);color:var(--eden-color-text-primary);transition:all var(--eden-transition-base);resize:vertical;outline:none;width:100%;min-height:100px}.eden-textarea::placeholder{color:var(--eden-color-text-muted)}.eden-textarea:hover{border-color:var(--eden-color-border-medium);background:var(--eden-color-bg-glass-strong)}.eden-textarea:focus{border-color:var(--eden-color-accent-primary);background:var(--eden-color-bg-glass-strong);box-shadow:0 0 0 3px #4a9eff26}.eden-select{font-family:var(--eden-font-family-base);font-size:var(--eden-font-size-md);padding:var(--eden-space-md)var(--eden-space-md);padding-right:var(--eden-space-2xl);border-radius:var(--eden-radius-md);border:1px solid var(--eden-color-border-light);background:var(--eden-color-bg-glass-medium);-webkit-backdrop-filter:var(--eden-glass-light);color:var(--eden-color-text-primary);transition:all var(--eden-transition-base);cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg width='12' height='8' viewBox='0 0 12 8' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1L6 6L11 1' stroke='%23eff4ff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right var(--eden-space-md)center;outline:none;width:100%}.eden-select:hover{border-color:var(--eden-color-border-medium);background-color:var(--eden-color-bg-glass-strong)}.eden-select:focus{border-color:var(--eden-color-accent-primary);box-shadow:0 0 0 3px #4a9eff26}.eden-checkbox{appearance:none;border-radius:var(--eden-radius-xs);border:2px solid var(--eden-color-border-medium);background:var(--eden-color-bg-glass-medium);width:20px;height:20px;-webkit-backdrop-filter:var(--eden-glass-light);cursor:pointer;transition:all var(--eden-transition-base);flex-shrink:0;position:relative}.eden-checkbox:hover{border-color:var(--eden-color-accent-primary);background:var(--eden-color-bg-glass-strong)}.eden-checkbox:checked{background:var(--eden-color-accent-primary);border-color:var(--eden-color-accent-primary)}.eden-checkbox:checked:after{content:"";border:2px solid #fff;border-width:0 2px 2px 0;width:5px;height:9px;position:absolute;top:2px;left:5px;transform:rotate(45deg)}.eden-checkbox:focus-visible{outline:2px solid var(--eden-color-accent-primary);outline-offset:2px}.eden-radio{appearance:none;border-radius:var(--eden-radius-round);border:2px solid var(--eden-color-border-medium);background:var(--eden-color-bg-glass-medium);width:20px;height:20px;-webkit-backdrop-filter:var(--eden-glass-light);cursor:pointer;transition:all var(--eden-transition-base);flex-shrink:0;position:relative}.eden-radio:hover{border-color:var(--eden-color-accent-primary);background:var(--eden-color-bg-glass-strong)}.eden-radio:checked{border-color:var(--eden-color-accent-primary);background:var(--eden-color-accent-primary)}.eden-radio:checked:after{content:"";background:#fff;border-radius:50%;width:8px;height:8px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.eden-radio:focus-visible{outline:2px solid var(--eden-color-accent-primary);outline-offset:2px}.eden-toggle{appearance:none;border:2px solid var(--eden-color-border-medium);background:var(--eden-color-bg-glass-medium);width:48px;height:24px;-webkit-backdrop-filter:var(--eden-glass-light);cursor:pointer;transition:all var(--eden-transition-base);border-radius:999px;flex-shrink:0;position:relative}.eden-toggle:after{content:"";background:var(--eden-color-text-secondary);width:16px;height:16px;transition:all var(--eden-transition-base);box-shadow:var(--eden-shadow-sm);border-radius:50%;position:absolute;top:2px;left:2px}.eden-toggle:hover{border-color:var(--eden-color-accent-primary)}.eden-toggle:checked{background:var(--eden-color-accent-primary);border-color:var(--eden-color-accent-primary)}.eden-toggle:checked:after{background:#fff;left:26px}.eden-toggle:focus-visible{outline:2px solid var(--eden-color-accent-primary);outline-offset:2px}.eden-slider{appearance:none;background:var(--eden-color-bg-glass-medium);width:100%;height:6px;-webkit-backdrop-filter:var(--eden-glass-light);cursor:pointer;border-radius:999px;outline:none}.eden-slider::-webkit-slider-thumb{appearance:none;background:var(--eden-color-accent-primary);width:20px;height:20px;box-shadow:var(--eden-shadow-md);cursor:pointer;transition:all var(--eden-transition-base);border-radius:50%}.eden-slider::-webkit-slider-thumb:hover{box-shadow:var(--eden-shadow-lg);transform:scale(1.15)}.eden-slider::-moz-range-thumb{background:var(--eden-color-accent-primary);width:20px;height:20px;box-shadow:var(--eden-shadow-md);cursor:pointer;transition:all var(--eden-transition-base);border:none;border-radius:50%}.eden-slider::-moz-range-thumb:hover{box-shadow:var(--eden-shadow-lg);transform:scale(1.15)}.eden-form-group{gap:var(--eden-space-sm);margin-bottom:var(--eden-space-lg);flex-direction:column;display:flex}.eden-form-label{font-size:var(--eden-font-size-sm);font-weight:var(--eden-font-weight-medium);color:var(--eden-color-text-secondary);letter-spacing:var(--eden-font-letter-spacing-wide);text-transform:uppercase}.eden-form-help{font-size:var(--eden-font-size-sm);color:var(--eden-color-text-muted)}.eden-form-error{font-size:var(--eden-font-size-sm);color:var(--eden-color-danger)}.eden-range{align-items:center;gap:var(--eden-space-sm);min-width:200px;display:flex}.eden-range input[type=range],.eden-range-input{background:var(--eden-color-bg-glass-medium);cursor:pointer;appearance:none;border-radius:2px;flex:1;height:4px}.eden-range input[type=range]::-webkit-slider-thumb{appearance:none;background:var(--eden-color-accent-primary);cursor:pointer;width:16px;height:16px;transition:transform var(--eden-transition-base);border-radius:50%}.eden-range-input::-webkit-slider-thumb{appearance:none;background:var(--eden-color-accent-primary);cursor:pointer;width:16px;height:16px;transition:transform var(--eden-transition-base);border-radius:50%}.eden-range input[type=range]::-webkit-slider-thumb:hover{transform:scale(1.15)}.eden-range-input::-webkit-slider-thumb:hover{transform:scale(1.15)}.eden-range-value{font-size:var(--eden-font-size-sm);color:var(--eden-color-text-muted);text-align:right;min-width:40px;font-family:var(--eden-font-mono)}.eden-radio-group{gap:var(--eden-space-sm);flex-direction:column;display:flex}.eden-radio-group-horizontal{flex-flow:wrap}.eden-radio-option{align-items:center;gap:var(--eden-space-sm);cursor:pointer;display:flex}.eden-radio-option-label{font-size:var(--eden-font-size-sm);color:var(--eden-color-text-primary)}.eden-checkbox-group{gap:var(--eden-space-sm);flex-direction:column;display:flex}.eden-checkbox-option{align-items:center;gap:var(--eden-space-sm);cursor:pointer;display:flex}.eden-checkbox-option-label{font-size:var(--eden-font-size-sm);color:var(--eden-color-text-primary)}.eden-card{border-radius:var(--eden-radius-lg);padding:var(--eden-space-lg);background:var(--eden-color-bg-glass-medium);-webkit-backdrop-filter:var(--eden-glass-medium);border:1px solid var(--eden-color-border-light);box-shadow:var(--eden-shadow-md);color:var(--eden-color-text-primary);transition:all var(--eden-transition-base)}.eden-card:hover{box-shadow:var(--eden-shadow-lg);border-color:var(--eden-color-border-medium)}.eden-card-glass{border-radius:var(--eden-radius-2xl);padding:var(--eden-space-xl);background:var(--eden-color-bg-glass-strong);-webkit-backdrop-filter:var(--eden-glass-ultra);border:1px solid var(--eden-color-border-light);box-shadow:var(--eden-shadow-2xl);color:var(--eden-color-text-primary)}.eden-card-elevated{background:var(--eden-color-surface-elevated);box-shadow:var(--eden-shadow-xl)}.eden-card-elevated:hover{box-shadow:var(--eden-shadow-2xl);transform:translateY(-2px)}.eden-card-interactive{cursor:pointer;user-select:none}.eden-card-interactive:hover{border-color:var(--eden-color-accent-primary);transform:translateY(-2px)}.eden-card-interactive:active{box-shadow:var(--eden-shadow-md);transform:translateY(0)}.eden-card-header{padding:var(--eden-space-lg);padding-bottom:var(--eden-space-md);border-bottom:1px solid var(--eden-color-border-light)}.eden-card-title{font-size:var(--eden-font-size-xl);font-weight:var(--eden-font-weight-semibold);color:var(--eden-color-text-primary);margin:0}.eden-card-subtitle{font-size:var(--eden-font-size-md);color:var(--eden-color-text-secondary);margin:var(--eden-space-xs)0 0 0}.eden-card-body{padding:var(--eden-space-lg)}.eden-card-footer{padding:var(--eden-space-lg);padding-top:var(--eden-space-md);border-top:1px solid var(--eden-color-border-light);justify-content:flex-end;align-items:center;gap:var(--eden-space-md);display:flex}.eden-card-sm{padding:var(--eden-space-md);border-radius:var(--eden-radius-md)}.eden-card-lg{padding:var(--eden-space-2xl);border-radius:var(--eden-radius-2xl)}.eden-card-image{border-radius:var(--eden-radius-lg);width:100%;height:auto;margin-bottom:var(--eden-space-md);object-fit:cover}.eden-card-image-top{border-radius:var(--eden-radius-lg)var(--eden-radius-lg)0 0;margin-bottom:0}.eden-info-card{align-items:center;gap:var(--eden-space-md);padding:var(--eden-space-md);border-radius:var(--eden-radius-md);background:var(--eden-color-bg-glass-light);-webkit-backdrop-filter:var(--eden-glass-light);border:1px solid var(--eden-color-border-light);display:flex}.eden-info-card-icon{border-radius:var(--eden-radius-md);background:var(--eden-color-accent-primary);color:#fff;width:40px;height:40px;font-size:var(--eden-font-size-xl);flex-shrink:0;justify-content:center;align-items:center;display:flex}.eden-info-card-content{flex:1}.eden-info-card-title{font-weight:var(--eden-font-weight-semibold);color:var(--eden-color-text-primary);margin:0 0 var(--eden-space-xs)0}.eden-info-card-description{font-size:var(--eden-font-size-sm);color:var(--eden-color-text-secondary);margin:0}.eden-stats-card{text-align:center;padding:var(--eden-space-xl)}.eden-stats-value{font-size:var(--eden-font-size-4xl);font-weight:var(--eden-font-weight-bold);color:var(--eden-color-accent-primary);margin:0 0 var(--eden-space-sm)0;line-height:1}.eden-stats-label{font-size:var(--eden-font-size-md);color:var(--eden-color-text-secondary);text-transform:uppercase;letter-spacing:var(--eden-font-letter-spacing-wide)}.eden-card-grid{gap:var(--eden-space-lg);grid-template-columns:repeat(auto-fill,minmax(300px,1fr));display:grid}.eden-modal-overlay{z-index:var(--eden-z-modal);background:var(--eden-color-bg-overlay);-webkit-backdrop-filter:var(--eden-glass-strong);padding:var(--eden-space-2xl);animation:eden-fade-in var(--eden-duration-normal)var(--eden-transition-ease-out);justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.eden-modal{border-radius:var(--eden-radius-2xl);background:var(--eden-color-bg-glass-strong);width:100%;max-width:500px;max-height:90vh;-webkit-backdrop-filter:var(--eden-glass-ultra);border:1px solid var(--eden-color-border-medium);box-shadow:var(--eden-shadow-2xl);animation:eden-scale-in var(--eden-duration-normal)var(--eden-transition-ease-out);flex-direction:column;display:flex;position:relative;overflow:hidden}.eden-modal-lg{max-width:800px}.eden-modal-sm{max-width:400px}.eden-modal-full{max-width:95vw;max-height:95vh}.eden-modal-header{padding:var(--eden-space-xl);padding-bottom:var(--eden-space-lg);border-bottom:1px solid var(--eden-color-border-light);justify-content:space-between;align-items:center;gap:var(--eden-space-md);display:flex}.eden-modal-title{font-size:var(--eden-font-size-2xl);font-weight:var(--eden-font-weight-semibold);color:var(--eden-color-text-primary);margin:0}.eden-modal-close{border-radius:var(--eden-radius-md);background:var(--eden-color-bg-glass-light);width:32px;height:32px;color:var(--eden-color-text-secondary);cursor:pointer;transition:all var(--eden-transition-base);border:none;flex-shrink:0;justify-content:center;align-items:center;display:flex}.eden-modal-close:hover{background:var(--eden-color-surface-hover);color:var(--eden-color-text-primary)}.eden-modal-body{padding:var(--eden-space-xl);color:var(--eden-color-text-secondary);flex:1;overflow-y:auto}.eden-modal-footer{padding:var(--eden-space-xl);padding-top:var(--eden-space-lg);border-top:1px solid var(--eden-color-border-light);justify-content:flex-end;align-items:center;gap:var(--eden-space-md);display:flex}.eden-alert-modal{text-align:center;padding:var(--eden-space-2xl)}.eden-alert-icon{width:64px;height:64px;margin:0 auto var(--eden-space-lg)auto;border-radius:var(--eden-radius-round);font-size:var(--eden-font-size-3xl);justify-content:center;align-items:center;display:flex}.eden-alert-icon-info{color:var(--eden-color-info);background:#4dabf733}.eden-alert-icon-success{color:var(--eden-color-success);background:#51cf6633}.eden-alert-icon-warning{color:var(--eden-color-warning);background:#ffd93d33}.eden-alert-icon-danger{color:var(--eden-color-danger);background:#ff3b3033}.eden-tooltip{z-index:var(--eden-z-tooltip);padding:var(--eden-space-sm)var(--eden-space-md);border-radius:var(--eden-radius-sm);background:var(--eden-color-surface-secondary);-webkit-backdrop-filter:var(--eden-glass-strong);border:1px solid var(--eden-color-border-light);box-shadow:var(--eden-shadow-lg);font-size:var(--eden-font-size-sm);color:var(--eden-color-text-primary);white-space:nowrap;pointer-events:none;animation:eden-fade-in var(--eden-duration-fast)var(--eden-transition-ease-out);position:absolute}.eden-popover{z-index:var(--eden-z-popover);border-radius:var(--eden-radius-lg);min-width:200px;max-width:400px;padding:var(--eden-space-lg);background:var(--eden-color-bg-glass-strong);-webkit-backdrop-filter:var(--eden-glass-ultra);border:1px solid var(--eden-color-border-medium);box-shadow:var(--eden-shadow-xl);color:var(--eden-color-text-primary);animation:eden-scale-in var(--eden-duration-fast)var(--eden-transition-ease-out);position:absolute}.eden-popover-title{font-weight:var(--eden-font-weight-semibold);margin:0 0 var(--eden-space-sm)0}.eden-popover-content{font-size:var(--eden-font-size-sm);color:var(--eden-color-text-secondary)}.eden-avatar{user-select:none;border-radius:var(--eden-radius-round);background:var(--eden-color-bg-dark);color:var(--eden-color-text-primary);font-weight:var(--eden-font-weight-semibold);font-size:var(--eden-font-size-sm);width:var(--eden-space-xl);height:var(--eden-space-xl);flex-shrink:0;justify-content:center;align-items:center;display:inline-flex;position:relative;overflow:hidden}.eden-avatar-img{object-fit:cover;border-radius:inherit;width:100%;height:100%}.eden-avatar-icon{stroke-width:1.5px;width:60%;height:60%}.eden-avatar-xs{width:calc(var(--eden-space-md) + var(--eden-space-xs));height:calc(var(--eden-space-md) + var(--eden-space-xs));font-size:var(--eden-font-size-xs)}.eden-avatar-sm{width:var(--eden-space-lg);height:var(--eden-space-lg);font-size:var(--eden-font-size-xs)}.eden-avatar-md{width:var(--eden-space-xl);height:var(--eden-space-xl);font-size:var(--eden-font-size-sm)}.eden-avatar-lg{width:var(--eden-space-2xl);height:var(--eden-space-2xl);font-size:var(--eden-font-size-md)}.eden-avatar-xl{width:var(--eden-space-3xl);height:var(--eden-space-3xl);font-size:var(--eden-font-size-xl)}.eden-avatar-group{justify-content:flex-start;align-items:center;margin-left:10px;display:flex}.eden-avatar-group .eden-avatar{border:2px solid var(--eden-color-bg-base);transition:transform var(--eden-transition-fast);margin-left:-10px}.eden-avatar-group .eden-avatar:hover{z-index:10;transform:translateY(-4px)}.eden-badge{padding:var(--eden-space-xs)var(--eden-space-sm);border-radius:var(--eden-radius-sm);font-size:var(--eden-font-size-xs);font-weight:var(--eden-font-weight-semibold);text-transform:uppercase;letter-spacing:var(--eden-font-letter-spacing-wide);background:var(--eden-color-bg-glass-medium);-webkit-backdrop-filter:var(--eden-glass-light);border:1px solid var(--eden-color-border-light);color:var(--eden-color-text-secondary);justify-content:center;align-items:center;display:inline-flex}.eden-badge-primary{border-color:var(--eden-color-accent-primary);color:var(--eden-color-accent-primary);background:#4a9eff33}.eden-badge-success{border-color:var(--eden-color-success);color:var(--eden-color-success);background:#51cf6633}.eden-badge-danger{border-color:var(--eden-color-danger);color:var(--eden-color-danger);background:#ff3b3033}.eden-badge-warning{border-color:var(--eden-color-warning);color:var(--eden-color-warning);background:#ffd93d33}.eden-badge-info{border-color:var(--eden-color-info);color:var(--eden-color-info);background:#4dabf733}.eden-badge-sm{padding:2px var(--eden-space-xs);font-size:9px}.eden-badge-lg{font-size:var(--eden-font-size-sm);padding:var(--eden-space-sm)var(--eden-space-md)}.eden-badge-dot{border-radius:var(--eden-radius-round);border:none;width:8px;height:8px;padding:0}.eden-badge-dot-animated{animation:2s infinite eden-pulse}@keyframes eden-pulse{0%,to{opacity:1}50%{opacity:.5}}.eden-tag{align-items:center;gap:var(--eden-space-xs);padding:var(--eden-space-sm)var(--eden-space-md);border-radius:var(--eden-radius-md);font-size:var(--eden-font-size-sm);font-weight:var(--eden-font-weight-medium);background:var(--eden-color-bg-glass-medium);-webkit-backdrop-filter:var(--eden-glass-medium);border:1px solid var(--eden-color-border-light);color:var(--eden-color-text-primary);transition:all var(--eden-transition-base);display:inline-flex}.eden-tag:hover{border-color:var(--eden-color-border-medium);background:var(--eden-color-bg-glass-strong)}.eden-tag-close{border-radius:var(--eden-radius-xs);width:16px;height:16px;color:var(--eden-color-text-muted);cursor:pointer;transition:all var(--eden-transition-fast);margin-left:var(--eden-space-xs);background:0 0;border:none;justify-content:center;align-items:center;padding:0;font-size:12px;display:flex}.eden-tag-close:hover{background:var(--eden-color-surface-hover);color:var(--eden-color-text-primary)}.eden-tag-group{gap:var(--eden-space-sm);flex-wrap:wrap;display:flex}.eden-notification-badge{min-width:18px;height:18px;padding:0 var(--eden-space-xs);background:var(--eden-color-danger);border:2px solid var(--eden-color-surface-primary);font-size:10px;font-weight:var(--eden-font-weight-bold);color:#fff;animation:eden-badge-pop var(--eden-duration-normal)var(--eden-transition-ease-out);border-radius:999px;justify-content:center;align-items:center;display:flex;position:absolute;top:-4px;right:-4px}@keyframes eden-badge-pop{0%{transform:scale(0)}50%{transform:scale(1.2)}to{transform:scale(1)}}.eden-progress{background:var(--eden-color-bg-glass-medium);width:100%;height:8px;-webkit-backdrop-filter:var(--eden-glass-light);border:1px solid var(--eden-color-border-light);border-radius:999px;position:relative;overflow:hidden}.eden-progress-bar{background:linear-gradient(90deg,var(--eden-color-accent-blue),var(--eden-color-accent-blue-dark));height:100%;transition:width var(--eden-duration-slow)var(--eden-transition-ease-out);border-radius:999px;box-shadow:0 0 10px #52a3ff80}.eden-progress-bar-success{background:linear-gradient(90deg,var(--eden-color-success),var(--eden-color-success-hover));box-shadow:0 0 10px #51cf6680}.eden-progress-bar-danger{background:linear-gradient(90deg,var(--eden-color-danger),var(--eden-color-danger-hover));box-shadow:0 0 10px #ff3b3080}.eden-progress-bar-warning{background:var(--eden-color-warning);box-shadow:0 0 10px #ffd93d80}.eden-progress-animated .eden-progress-bar{background-size:200% 100%;animation:2s infinite eden-progress-shimmer}@keyframes eden-progress-shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.eden-progress-sm{height:4px}.eden-progress-lg{height:12px}.eden-progress-xl{height:16px}.eden-progress-circle{justify-content:center;align-items:center;width:80px;height:80px;display:inline-flex;position:relative}.eden-progress-circle-svg{width:100%;height:100%;transform:rotate(-90deg)}.eden-progress-circle-bg{fill:none;stroke:var(--eden-color-bg-glass-medium);stroke-width:4px}.eden-progress-circle-bar{fill:none;stroke:var(--eden-color-accent-primary);stroke-width:4px;stroke-linecap:round;transition:stroke-dashoffset var(--eden-duration-slow)var(--eden-transition-ease-out)}.eden-progress-circle-text{font-size:var(--eden-font-size-lg);font-weight:var(--eden-font-weight-semibold);color:var(--eden-color-text-primary);position:absolute}.eden-spinner{border:3px solid var(--eden-color-bg-glass-medium);border-top-color:var(--eden-color-accent-primary);border-radius:var(--eden-radius-round);width:40px;height:40px;animation:.8s linear infinite eden-spin}@keyframes eden-spin{to{transform:rotate(360deg)}}.eden-spinner-sm{border-width:2px;width:20px;height:20px}.eden-spinner-lg{border-width:4px;width:60px;height:60px}.eden-skeleton{background:var(--eden-color-bg-glass-medium);border-radius:var(--eden-radius-md);position:relative;overflow:hidden}.eden-skeleton:after{content:"";background:linear-gradient(90deg,transparent,var(--eden-color-surface-hover),transparent);animation:1.5s infinite eden-skeleton-shimmer;position:absolute;inset:0}@keyframes eden-skeleton-shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}.eden-skeleton-text{width:100%;height:1em}.eden-skeleton-title{width:70%;height:2em}.eden-skeleton-avatar{border-radius:var(--eden-radius-round);width:40px;height:40px}.eden-skeleton-button{width:120px;height:40px}.eden-list{border-radius:var(--eden-radius-lg);background:var(--eden-color-bg-glass-medium);-webkit-backdrop-filter:var(--eden-glass-medium);border:1px solid var(--eden-color-border-light);box-shadow:var(--eden-shadow-md);min-height:0;margin:0;padding:0;list-style:none;overflow:hidden auto}.eden-list-item{padding:var(--eden-space-md)var(--eden-space-lg);border-bottom:1px solid var(--eden-color-border-light);transition:all var(--eden-transition-base);color:var(--eden-color-text-primary);align-items:center;gap:var(--eden-space-md);display:flex}.eden-list-item:last-child{border-bottom:none}.eden-list-item:hover{background:var(--eden-color-surface-hover)}.eden-list-item-active{background:var(--eden-color-surface-active);border-left:3px solid var(--eden-color-accent-primary);padding-left:calc(var(--eden-space-lg) - 3px)}.eden-list-item-interactive{cursor:pointer;user-select:none}.eden-list-item-disabled{opacity:.5;cursor:not-allowed}.eden-list-item-disabled:hover{background:0 0}.eden-list-item-icon{width:24px;height:24px;color:var(--eden-color-accent-primary);flex-shrink:0;justify-content:center;align-items:center;display:flex}.eden-list-item-content{gap:var(--eden-space-xs);flex-direction:column;flex:1;display:flex}.eden-list-item-title{font-weight:var(--eden-font-weight-medium);color:var(--eden-color-text-primary)}.eden-list-item-description{font-size:var(--eden-font-size-sm);color:var(--eden-color-text-secondary)}.eden-list-item-meta{font-size:var(--eden-font-size-sm);color:var(--eden-color-text-muted);flex-shrink:0}.eden-steps{align-items:center;gap:var(--eden-space-md);padding:var(--eden-space-lg);background:var(--eden-color-bg-glass-medium);-webkit-backdrop-filter:var(--eden-glass-medium);border-radius:var(--eden-radius-lg);border:1px solid var(--eden-color-border-light);display:flex}.eden-step{align-items:center;gap:var(--eden-space-sm);flex:1;display:flex;position:relative}.eden-step:after{content:"";left:calc(100% + var(--eden-space-sm));width:var(--eden-space-md);background:var(--eden-color-border-light);height:2px;position:absolute}.eden-step:last-child:after{display:none}.eden-step-number{border-radius:var(--eden-radius-round);background:var(--eden-color-bg-glass-light);border:2px solid var(--eden-color-border-medium);width:32px;height:32px;font-weight:var(--eden-font-weight-semibold);color:var(--eden-color-text-muted);flex-shrink:0;justify-content:center;align-items:center;display:flex}.eden-step-active .eden-step-number{background:var(--eden-color-accent-primary);border-color:var(--eden-color-accent-primary);color:#fff}.eden-step-completed .eden-step-number{background:var(--eden-color-success);border-color:var(--eden-color-success);color:#fff}.eden-step-label{font-size:var(--eden-font-size-sm);color:var(--eden-color-text-secondary)}.eden-step-active .eden-step-label{color:var(--eden-color-text-primary);font-weight:var(--eden-font-weight-medium)}.eden-tabs{width:100%}.eden-tab-list{gap:var(--eden-space-xs);padding:var(--eden-space-xs);background:var(--eden-color-bg-glass-medium);-webkit-backdrop-filter:var(--eden-glass-medium);border-radius:var(--eden-radius-lg);border:1px solid var(--eden-color-border-light);scrollbar-width:none;display:flex;overflow-x:auto}.eden-tab-list::-webkit-scrollbar{display:none}.eden-tab{padding:var(--eden-space-sm)var(--eden-space-lg);border-radius:var(--eden-radius-md);color:var(--eden-color-text-secondary);font-size:var(--eden-font-size-md);font-weight:var(--eden-font-weight-medium);cursor:pointer;transition:all var(--eden-transition-base);user-select:none;white-space:nowrap;background:0 0;border:none;outline:none;flex-shrink:0}.eden-tab:hover{background:var(--eden-color-bg-glass-light);color:var(--eden-color-text-primary)}.eden-tab-active{background:var(--eden-color-surface-elevated);color:var(--eden-color-text-primary);box-shadow:var(--eden-shadow-sm)}.eden-tab:focus-visible{outline:2px solid var(--eden-color-accent-primary);outline-offset:2px}.eden-tab:disabled{opacity:.5;cursor:not-allowed}.eden-tab-panels{padding:var(--eden-space-lg)}.eden-tab-panel{animation:eden-fade-in var(--eden-duration-normal)var(--eden-transition-ease-out);display:none}.eden-tab-panel-active{display:block}.eden-tab-list-underline{border:none;border-bottom:1px solid var(--eden-color-border-light);gap:var(--eden-space-lg);background:0 0;border-radius:0;padding:0}.eden-tab-underline{padding:var(--eden-space-md)0;border-radius:0;position:relative}.eden-tab-underline:after{content:"";height:2px;transition:background var(--eden-transition-base);background:0 0;position:absolute;bottom:-1px;left:0;right:0}.eden-tab-underline:hover:after{background:var(--eden-color-border-medium)}.eden-tab-underline.eden-tab-active:after{background:var(--eden-color-accent-primary)}.eden-tab-list-pills{gap:var(--eden-space-sm);background:0 0;border:none;padding:0}.eden-tab-pill{border-radius:var(--eden-radius-lg);background:var(--eden-color-bg-glass-medium);-webkit-backdrop-filter:var(--eden-glass-light);border:1px solid var(--eden-color-border-light)}.eden-tab-pill:hover{background:var(--eden-color-bg-glass-strong);border-color:var(--eden-color-border-medium)}.eden-tab-pill.eden-tab-active{background:linear-gradient(135deg,var(--eden-color-accent-blue),var(--eden-color-accent-blue-dark));color:#fff;border-color:#0000}.eden-tabs-vertical{gap:var(--eden-space-lg);display:flex}.eden-tab-list-vertical{flex-direction:column;flex-shrink:0;width:200px}.eden-tab-list-vertical .eden-tab{text-align:left;justify-content:flex-start;width:100%}.eden-tab-with-icon{align-items:center;gap:var(--eden-space-sm);display:flex}.eden-tab-icon{justify-content:center;align-items:center;width:18px;height:18px;display:flex}.eden-tab-badge{margin-left:var(--eden-space-xs);padding:2px var(--eden-space-xs);border-radius:var(--eden-radius-xs);background:var(--eden-color-danger);color:#fff;font-size:10px;font-weight:var(--eden-font-weight-bold)}.eden-sidebar{background:var(--eden-color-bg-glass-strong);width:280px;min-width:280px;max-height:100%;-webkit-backdrop-filter:var(--eden-glass-strong);border:1px solid var(--eden-color-border-light);border-radius:var(--eden-radius-xl);box-shadow:var(--eden-shadow-lg);flex-direction:column;display:flex;overflow:hidden}.eden-sidebar-compact{width:240px;min-width:240px}.eden-sidebar-wide{width:320px;min-width:320px}.eden-sidebar-header{padding:var(--eden-space-lg);border-bottom:1px solid var(--eden-color-border-light)}.eden-sidebar-header h2,.eden-sidebar-header-title{font-size:var(--eden-font-size-lg);font-weight:var(--eden-font-weight-semibold);color:var(--eden-color-text-primary);margin:0 0 var(--eden-space-sm)0}.eden-sidebar-header-subtitle{font-size:var(--eden-font-size-sm);color:var(--eden-color-text-muted);margin-top:var(--eden-space-xs)}.eden-sidebar-section{padding:var(--eden-space-md)}.eden-sidebar-section-scrollable{flex-direction:column;flex:1;display:flex;overflow:hidden}.eden-sidebar-section-title{font-size:var(--eden-font-size-xs);font-weight:var(--eden-font-weight-semibold);color:var(--eden-color-text-muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:var(--eden-space-sm);padding:0 var(--eden-space-sm)}.eden-sidebar-divider{background:var(--eden-color-border-light);height:1px;margin:0 var(--eden-space-md)}.eden-sidebar-items{gap:var(--eden-space-xs);flex-direction:column;display:flex}.eden-sidebar-items-scrollable{flex:1;overflow-y:auto}.eden-sidebar-item{align-items:center;gap:var(--eden-space-md);padding:var(--eden-space-md);border-radius:var(--eden-radius-md);cursor:pointer;transition:all var(--eden-transition-base);color:var(--eden-color-text-secondary);user-select:none;display:flex}.eden-sidebar-item:hover{background:var(--eden-color-bg-glass-medium);color:var(--eden-color-text-primary)}.eden-sidebar-item-selected{background:var(--eden-color-surface-active);border:1px solid var(--eden-color-accent-primary);color:var(--eden-color-text-primary)}.eden-sidebar-item-disabled{opacity:.5;cursor:default}.eden-sidebar-item-disabled:hover{color:var(--eden-color-text-secondary);background:0 0}.eden-sidebar-item-icon{flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;font-size:16px;display:flex}.eden-sidebar-item-icon img{border-radius:var(--eden-radius-sm);object-fit:contain;width:24px;height:24px}.eden-sidebar-item-icon-lg{width:32px;height:32px;font-size:20px}.eden-sidebar-item-icon-lg img{width:32px;height:32px}.eden-sidebar-item-text{font-size:var(--eden-font-size-sm);font-weight:var(--eden-font-weight-medium);white-space:nowrap;text-overflow:ellipsis;flex:1;overflow:hidden}.eden-sidebar-item-meta{font-size:var(--eden-font-size-xs);color:var(--eden-color-text-muted);background:var(--eden-color-bg-glass-medium);padding:var(--eden-space-xs)var(--eden-space-sm);border-radius:var(--eden-radius-full);flex-shrink:0}.eden-sidebar-item-details{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.eden-sidebar-item-title{font-size:var(--eden-font-size-sm);font-weight:var(--eden-font-weight-medium);color:var(--eden-color-text-primary);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.eden-sidebar-item-subtitle{font-size:var(--eden-font-size-xs);color:var(--eden-color-text-muted);font-family:var(--eden-font-mono);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.eden-sidebar-search{width:100%;padding:var(--eden-space-sm)var(--eden-space-md);background:var(--eden-color-bg-glass-medium);border:1px solid var(--eden-color-border-light);border-radius:var(--eden-radius-md);color:var(--eden-color-text-primary);font-size:var(--eden-font-size-sm);transition:all var(--eden-transition-base);outline:none}.eden-sidebar-search:focus{border-color:var(--eden-color-accent-primary);box-shadow:0 0 0 2px #6366f11a}.eden-sidebar-search::placeholder{color:var(--eden-color-text-muted)}.eden-sidebar-footer{padding:var(--eden-space-md);border-top:1px solid var(--eden-color-border-light)}.eden-sidebar-item{animation:.2s ease-out eden-fade-in}
1
+ :root{--eden-color-bg-primary:#151518;--eden-color-bg-secondary:#252529;--eden-color-bg-glass-light:#ffffff0a;--eden-color-bg-glass-medium:#ffffff14;--eden-color-bg-glass-strong:#12182a8c;--eden-color-bg-overlay:#080c189e;--eden-color-bg-dark:#0000000a;--eden-color-surface-primary:#1e1e2e;--eden-color-surface-secondary:#2d2d44;--eden-color-surface-tertiary:#3d3d5c;--eden-color-surface-elevated:#ffffff0f;--eden-color-surface-hover:#ffffff1f;--eden-color-surface-active:#ffffff2e;--eden-color-text-primary:#eff4fff5;--eden-color-text-secondary:#eaeaeaf2;--eden-color-text-tertiary:#bdbdbde6;--eden-color-text-muted:#fff9;--eden-color-text-inverse:#1a1a1a;--eden-color-text-on-dark:#fff;--eden-color-accent-primary:#4a9eff;--eden-color-accent-primary-hover:#5ca8ff;--eden-color-accent-primary-active:#3b8ee8;--eden-color-accent-blue:#52a3ff;--eden-color-accent-blue-dark:#367bff;--eden-color-accent-purple:#667eea;--eden-color-accent-purple-light:#7c92f0;--eden-color-success:#51cf66;--eden-color-success-hover:#69db7c;--eden-color-danger:#ff3b30;--eden-color-danger-hover:#ff6b6b;--eden-color-danger-bg:#ff3b301a;--eden-color-warning:#ffd93d;--eden-color-info:#4dabf7;--eden-color-border-light:#ffffff0f;--eden-color-border-medium:#ffffff1f;--eden-color-border-dark:#0000001a;--eden-color-border-separator:#ffffff2e;--eden-space-xs:4px;--eden-space-sm:8px;--eden-space-md:16px;--eden-space-lg:24px;--eden-space-xl:36px;--eden-space-2xl:48px;--eden-space-3xl:64px;--eden-radius-xs:6px;--eden-radius-sm:10px;--eden-radius-md:14px;--eden-radius-lg:18px;--eden-radius-xl:20px;--eden-radius-2xl:28px;--eden-radius-round:50%;--eden-shadow-xs:0 1px 3px #0000004d;--eden-shadow-sm:0 2px 6px #00000080;--eden-shadow-md:0 8px 20px #00000047;--eden-shadow-lg:0 10px 30px #0000004d;--eden-shadow-xl:0 20px 60px #0000004d;--eden-shadow-2xl:0 28px 80px #00000073;--eden-shadow-inner:inset 0 1px 3px #0003;--eden-glass-light:blur(10px)saturate(120%);--eden-glass-medium:blur(18px)saturate(140%);--eden-glass-strong:blur(26px)saturate(160%);--eden-glass-ultra:blur(34px)saturate(170%);--eden-font-family-base:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;--eden-font-family-mono:"SF Mono",Monaco,"Cascadia Code","Roboto Mono",Consolas,"Courier New",monospace;--eden-font-size-xs:10px;--eden-font-size-sm:11px;--eden-font-size-base:13px;--eden-font-size-md:14px;--eden-font-size-lg:16px;--eden-font-size-xl:18px;--eden-font-size-2xl:24px;--eden-font-size-3xl:32px;--eden-font-size-4xl:48px;--eden-font-weight-normal:400;--eden-font-weight-medium:500;--eden-font-weight-semibold:600;--eden-font-weight-bold:700;--eden-font-line-height-tight:1.2;--eden-font-line-height-normal:1.5;--eden-font-line-height-relaxed:1.75;--eden-font-letter-spacing-tight:-.6px;--eden-font-letter-spacing-normal:-.2px;--eden-font-letter-spacing-wide:.1px;--eden-transition-fast:.15s ease;--eden-transition-base:.2s cubic-bezier(.4,0,.2,1);--eden-transition-smooth:.3s cubic-bezier(.4,0,.2,1);--eden-transition-bounce:.5s cubic-bezier(.68,-.55,.265,1.55);--eden-transition-ease-in:cubic-bezier(.4,0,1,1);--eden-transition-ease-out:cubic-bezier(0,0,.2,1);--eden-transition-ease-in-out:cubic-bezier(.4,0,.2,1);--eden-z-base:0;--eden-z-dropdown:100;--eden-z-sticky:200;--eden-z-overlay:1000;--eden-z-modal:2000;--eden-z-popover:2001;--eden-z-tooltip:3000;--eden-layout-dock-height:72px;--eden-layout-icon-size-sm:24px;--eden-layout-icon-size-md:40px;--eden-layout-icon-size-lg:64px;--eden-layout-icon-size-xl:88px;--eden-duration-instant:.1s;--eden-duration-fast:.15s;--eden-duration-normal:.22s;--eden-duration-slow:.32s;--eden-duration-slower:.5s}*{box-sizing:border-box;margin:0;padding:0}.eden-glass-light{background:var(--eden-color-bg-glass-light);backdrop-filter:var(--eden-glass-light)}.eden-glass-medium{background:var(--eden-color-bg-glass-medium);backdrop-filter:var(--eden-glass-medium)}.eden-glass-strong{background:var(--eden-color-bg-glass-strong);backdrop-filter:var(--eden-glass-strong)}.eden-glass-ultra{backdrop-filter:var(--eden-glass-ultra)}.eden-shadow-xs{box-shadow:var(--eden-shadow-xs)}.eden-shadow-sm{box-shadow:var(--eden-shadow-sm)}.eden-shadow-md{box-shadow:var(--eden-shadow-md)}.eden-shadow-lg{box-shadow:var(--eden-shadow-lg)}.eden-shadow-xl{box-shadow:var(--eden-shadow-xl)}.eden-shadow-2xl{box-shadow:var(--eden-shadow-2xl)}.eden-shadow-inner{box-shadow:var(--eden-shadow-inner)}.eden-surface{background:var(--eden-color-surface-primary);color:var(--eden-color-text-primary)}.eden-surface-secondary{background:var(--eden-color-surface-secondary);color:var(--eden-color-text-primary)}.eden-surface-elevated{background:var(--eden-color-surface-elevated);color:var(--eden-color-text-primary)}.eden-text-primary{color:var(--eden-color-text-primary)}.eden-text-secondary{color:var(--eden-color-text-secondary)}.eden-text-tertiary{color:var(--eden-color-text-tertiary)}.eden-text-muted{color:var(--eden-color-text-muted)}.eden-text-xs{font-size:var(--eden-font-size-xs)}.eden-text-sm{font-size:var(--eden-font-size-sm)}.eden-text-base{font-size:var(--eden-font-size-base)}.eden-text-md{font-size:var(--eden-font-size-md)}.eden-text-lg{font-size:var(--eden-font-size-lg)}.eden-text-xl{font-size:var(--eden-font-size-xl)}.eden-text-2xl{font-size:var(--eden-font-size-2xl)}.eden-text-3xl{font-size:var(--eden-font-size-3xl)}.eden-font-medium{font-weight:var(--eden-font-weight-medium)}.eden-font-semibold{font-weight:var(--eden-font-weight-semibold)}.eden-font-bold{font-weight:var(--eden-font-weight-bold)}.eden-m-xs{margin:var(--eden-space-xs)}.eden-m-sm{margin:var(--eden-space-sm)}.eden-m-md{margin:var(--eden-space-md)}.eden-m-lg{margin:var(--eden-space-lg)}.eden-m-xl{margin:var(--eden-space-xl)}.eden-p-xs{padding:var(--eden-space-xs)}.eden-p-sm{padding:var(--eden-space-sm)}.eden-p-md{padding:var(--eden-space-md)}.eden-p-lg{padding:var(--eden-space-lg)}.eden-p-xl{padding:var(--eden-space-xl)}.eden-gap-xs{gap:var(--eden-space-xs)}.eden-gap-sm{gap:var(--eden-space-sm)}.eden-gap-md{gap:var(--eden-space-md)}.eden-gap-lg{gap:var(--eden-space-lg)}.eden-gap-xl{gap:var(--eden-space-xl)}.eden-flex{display:flex}.eden-flex-col{flex-direction:column;display:flex}.eden-flex-center{justify-content:center;align-items:center;display:flex}.eden-flex-between{justify-content:space-between;align-items:center;display:flex}.eden-items-center{align-items:center}.eden-grid{display:grid}.eden-grid-2{grid-template-columns:repeat(2,1fr)}.eden-grid-3{grid-template-columns:repeat(3,1fr)}.eden-grid-4{grid-template-columns:repeat(4,1fr)}.eden-rounded-xs{border-radius:var(--eden-radius-xs)}.eden-rounded-sm{border-radius:var(--eden-radius-sm)}.eden-rounded-md{border-radius:var(--eden-radius-md)}.eden-rounded-lg{border-radius:var(--eden-radius-lg)}.eden-rounded-xl{border-radius:var(--eden-radius-xl)}.eden-rounded-2xl{border-radius:var(--eden-radius-2xl)}.eden-rounded-full{border-radius:var(--eden-radius-round)}.eden-transition{transition:all var(--eden-transition-base)}.eden-transition-fast{transition:all var(--eden-transition-fast)}.eden-transition-smooth{transition:all var(--eden-transition-smooth)}.eden-interactive{cursor:pointer;transition:all var(--eden-transition-base)}.eden-interactive:hover{box-shadow:var(--eden-shadow-lg);transform:translateY(-2px)}.eden-interactive:active{box-shadow:var(--eden-shadow-md);transform:translateY(0)}.eden-scrollbar::-webkit-scrollbar{width:8px;height:8px}.eden-scrollbar::-webkit-scrollbar-track{background:var(--eden-color-bg-glass-light);border-radius:var(--eden-radius-xs)}.eden-scrollbar::-webkit-scrollbar-thumb{background:var(--eden-color-border-separator);border-radius:var(--eden-radius-xs)}.eden-scrollbar::-webkit-scrollbar-thumb:hover{background:var(--eden-color-surface-hover)}*{scrollbar-width:thin;scrollbar-color:var(--eden-color-border-separator)var(--eden-color-bg-glass-light)}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--eden-color-bg-glass-light);border-radius:var(--eden-radius-xs)}::-webkit-scrollbar-thumb{background:var(--eden-color-border-separator);border-radius:var(--eden-radius-xs)}::-webkit-scrollbar-thumb:hover{background:var(--eden-color-surface-hover)}.eden-overlay{background:var(--eden-color-bg-overlay);backdrop-filter:var(--eden-glass-strong);z-index:var(--eden-z-overlay);position:fixed;inset:0}@keyframes eden-fade-in{0%{opacity:0}to{opacity:1}}@keyframes eden-fade-out{0%{opacity:1}to{opacity:0}}@keyframes eden-slide-up{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes eden-slide-down{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes eden-scale-in{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes eden-scale-out{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.95)}}.eden-animate-fade-in{animation:eden-fade-in var(--eden-duration-normal)var(--eden-transition-ease-out)}.eden-animate-slide-up{animation:eden-slide-up var(--eden-duration-slow)var(--eden-transition-ease-out)}.eden-animate-scale-in{animation:eden-scale-in var(--eden-duration-normal)var(--eden-transition-ease-out)}.eden-btn{font-family:var(--eden-font-family-base);font-size:var(--eden-font-size-md);font-weight:var(--eden-font-weight-medium);padding:var(--eden-space-md);border-radius:var(--eden-radius-md);border:1px solid var(--eden-color-border-light);cursor:pointer;transition:all var(--eden-transition-base);background:var(--eden-color-bg-glass-medium);-webkit-backdrop-filter:var(--eden-glass-medium);box-shadow:var(--eden-shadow-sm);color:var(--eden-color-text-primary);justify-content:center;align-items:center;gap:var(--eden-space-sm);user-select:none;outline:none;display:inline-flex}.eden-btn:hover{background:var(--eden-color-bg-glass-strong);-webkit-backdrop-filter:var(--eden-glass-strong);border-color:var(--eden-color-border-medium);box-shadow:var(--eden-shadow-md);transform:translateY(-1px)}.eden-btn:active{box-shadow:var(--eden-shadow-sm);transform:translateY(0)}.eden-btn:focus-visible{outline:2px solid var(--eden-color-accent-primary);outline-offset:2px}.eden-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.eden-btn-primary{background:linear-gradient(135deg,var(--eden-color-accent-blue),var(--eden-color-accent-blue-dark));color:#fff;box-shadow:var(--eden-shadow-md);font-weight:var(--eden-font-weight-semibold);border-color:#0000}.eden-btn-primary:hover{filter:brightness(1.15);box-shadow:var(--eden-shadow-lg);border-color:#0000}.eden-btn-secondary{background:var(--eden-color-surface-tertiary);border-color:var(--eden-color-border-medium)}.eden-btn-secondary:hover{background:var(--eden-color-surface-hover)}.eden-btn-success{background:var(--eden-color-success);color:#fff;font-weight:var(--eden-font-weight-semibold);border-color:#0000}.eden-btn-success:hover{background:var(--eden-color-success-hover);box-shadow:var(--eden-shadow-lg)}.eden-btn-danger{background:var(--eden-color-danger);color:#fff;font-weight:var(--eden-font-weight-semibold);border-color:#0000}.eden-btn-danger:hover{background:var(--eden-color-danger-hover);box-shadow:var(--eden-shadow-lg)}.eden-btn-ghost{box-shadow:none;background:0 0;border-color:#0000}.eden-btn-ghost:hover{background:var(--eden-color-bg-glass-light);border-color:var(--eden-color-border-light)}.eden-btn-outline{border-color:var(--eden-color-border-medium);background:0 0}.eden-btn-outline:hover{background:var(--eden-color-bg-glass-light);border-color:var(--eden-color-accent-primary)}.eden-btn-xs{font-size:var(--eden-font-size-xs);padding:var(--eden-space-xs);border-radius:var(--eden-radius-xs)}.eden-btn-sm{font-size:var(--eden-font-size-sm);padding:var(--eden-space-sm);border-radius:var(--eden-radius-sm)}.eden-btn-md{font-size:var(--eden-font-size-md);padding:var(--eden-space-md);border-radius:var(--eden-radius-md)}.eden-btn-lg{font-size:var(--eden-font-size-lg);padding:var(--eden-space-lg);border-radius:var(--eden-radius-lg)}.eden-btn-xl{font-size:var(--eden-font-size-xl);padding:var(--eden-space-xl);border-radius:var(--eden-radius-xl)}.eden-btn-square{aspect-ratio:1}.eden-btn-pill{border-radius:999px}.eden-btn-group{gap:0;display:inline-flex}.eden-btn-group .eden-btn{border-radius:0}.eden-btn-group .eden-btn:first-child{border-top-left-radius:var(--eden-radius-md);border-bottom-left-radius:var(--eden-radius-md)}.eden-btn-group .eden-btn:last-child{border-top-right-radius:var(--eden-radius-md);border-bottom-right-radius:var(--eden-radius-md)}.eden-btn-group .eden-btn:not(:last-child){border-right:none}.eden-fab{bottom:var(--eden-space-2xl);right:var(--eden-space-2xl);border-radius:var(--eden-radius-round);background:linear-gradient(135deg,var(--eden-color-accent-blue),var(--eden-color-accent-blue-dark));width:56px;height:56px;box-shadow:var(--eden-shadow-2xl);cursor:pointer;transition:all var(--eden-transition-base);z-index:var(--eden-z-sticky);border:none;justify-content:center;align-items:center;display:flex;position:fixed}.eden-fab:hover{box-shadow:var(--eden-shadow-xl);transform:scale(1.1)}.eden-fab:active{transform:scale(1)}.eden-input{font-family:var(--eden-font-family-base);font-size:var(--eden-font-size-md);padding:var(--eden-space-md)var(--eden-space-lg);border-radius:var(--eden-radius-md);border:1px solid var(--eden-color-border-light);background:var(--eden-color-bg-glass-medium);-webkit-backdrop-filter:var(--eden-glass-light);color:var(--eden-color-text-primary);transition:all var(--eden-transition-base);outline:none;width:100%}.eden-input::placeholder{color:var(--eden-color-text-muted)}.eden-input:hover{border-color:var(--eden-color-border-medium);background:var(--eden-color-bg-glass-strong)}.eden-input:focus{border-color:var(--eden-color-accent-primary);background:var(--eden-color-bg-glass-strong);box-shadow:0 0 0 3px #4a9eff26}.eden-input:disabled{opacity:.5;cursor:not-allowed}.eden-input-sm{font-size:var(--eden-font-size-sm);padding:var(--eden-space-sm)var(--eden-space-md);border-radius:var(--eden-radius-sm)}.eden-input-lg{font-size:var(--eden-font-size-lg);padding:var(--eden-space-lg)var(--eden-space-xl);border-radius:var(--eden-radius-lg)}.eden-textarea{font-family:var(--eden-font-family-base);font-size:var(--eden-font-size-md);padding:var(--eden-space-md)var(--eden-space-lg);border-radius:var(--eden-radius-md);border:1px solid var(--eden-color-border-light);background:var(--eden-color-bg-glass-medium);-webkit-backdrop-filter:var(--eden-glass-light);color:var(--eden-color-text-primary);transition:all var(--eden-transition-base);resize:vertical;outline:none;width:100%;min-height:100px}.eden-textarea::placeholder{color:var(--eden-color-text-muted)}.eden-textarea:hover{border-color:var(--eden-color-border-medium);background:var(--eden-color-bg-glass-strong)}.eden-textarea:focus{border-color:var(--eden-color-accent-primary);background:var(--eden-color-bg-glass-strong);box-shadow:0 0 0 3px #4a9eff26}.eden-select{font-family:var(--eden-font-family-base);font-size:var(--eden-font-size-md);padding:var(--eden-space-md)var(--eden-space-md);padding-right:var(--eden-space-2xl);border-radius:var(--eden-radius-md);border:1px solid var(--eden-color-border-light);background:var(--eden-color-bg-glass-medium);-webkit-backdrop-filter:var(--eden-glass-light);color:var(--eden-color-text-primary);transition:all var(--eden-transition-base);cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg width='12' height='8' viewBox='0 0 12 8' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1L6 6L11 1' stroke='%23eff4ff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right var(--eden-space-md)center;outline:none;width:100%}.eden-select:hover{border-color:var(--eden-color-border-medium);background-color:var(--eden-color-bg-glass-strong)}.eden-select:focus{border-color:var(--eden-color-accent-primary);box-shadow:0 0 0 3px #4a9eff26}.eden-checkbox{appearance:none;border-radius:var(--eden-radius-xs);border:2px solid var(--eden-color-border-medium);background:var(--eden-color-bg-glass-medium);width:20px;height:20px;-webkit-backdrop-filter:var(--eden-glass-light);cursor:pointer;transition:all var(--eden-transition-base);flex-shrink:0;position:relative}.eden-checkbox:hover{border-color:var(--eden-color-accent-primary);background:var(--eden-color-bg-glass-strong)}.eden-checkbox:checked{background:var(--eden-color-accent-primary);border-color:var(--eden-color-accent-primary)}.eden-checkbox:checked:after{content:"";border:2px solid #fff;border-width:0 2px 2px 0;width:5px;height:9px;position:absolute;top:2px;left:5px;transform:rotate(45deg)}.eden-checkbox:focus-visible{outline:2px solid var(--eden-color-accent-primary);outline-offset:2px}.eden-radio{appearance:none;border-radius:var(--eden-radius-round);border:2px solid var(--eden-color-border-medium);background:var(--eden-color-bg-glass-medium);width:20px;height:20px;-webkit-backdrop-filter:var(--eden-glass-light);cursor:pointer;transition:all var(--eden-transition-base);flex-shrink:0;position:relative}.eden-radio:hover{border-color:var(--eden-color-accent-primary);background:var(--eden-color-bg-glass-strong)}.eden-radio:checked{border-color:var(--eden-color-accent-primary);background:var(--eden-color-accent-primary)}.eden-radio:checked:after{content:"";background:#fff;border-radius:50%;width:8px;height:8px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.eden-radio:focus-visible{outline:2px solid var(--eden-color-accent-primary);outline-offset:2px}.eden-toggle{appearance:none;border:2px solid var(--eden-color-border-medium);background:var(--eden-color-bg-glass-medium);width:48px;height:24px;-webkit-backdrop-filter:var(--eden-glass-light);cursor:pointer;transition:all var(--eden-transition-base);border-radius:999px;flex-shrink:0;position:relative}.eden-toggle:after{content:"";background:var(--eden-color-text-secondary);width:16px;height:16px;transition:all var(--eden-transition-base);box-shadow:var(--eden-shadow-sm);border-radius:50%;position:absolute;top:2px;left:2px}.eden-toggle:hover{border-color:var(--eden-color-accent-primary)}.eden-toggle:checked{background:var(--eden-color-accent-primary);border-color:var(--eden-color-accent-primary)}.eden-toggle:checked:after{background:#fff;left:26px}.eden-toggle:focus-visible{outline:2px solid var(--eden-color-accent-primary);outline-offset:2px}.eden-slider{appearance:none;background:var(--eden-color-bg-glass-medium);width:100%;height:6px;-webkit-backdrop-filter:var(--eden-glass-light);cursor:pointer;border-radius:999px;outline:none}.eden-slider::-webkit-slider-thumb{appearance:none;background:var(--eden-color-accent-primary);width:20px;height:20px;box-shadow:var(--eden-shadow-md);cursor:pointer;transition:all var(--eden-transition-base);border-radius:50%}.eden-slider::-webkit-slider-thumb:hover{box-shadow:var(--eden-shadow-lg);transform:scale(1.15)}.eden-slider::-moz-range-thumb{background:var(--eden-color-accent-primary);width:20px;height:20px;box-shadow:var(--eden-shadow-md);cursor:pointer;transition:all var(--eden-transition-base);border:none;border-radius:50%}.eden-slider::-moz-range-thumb:hover{box-shadow:var(--eden-shadow-lg);transform:scale(1.15)}.eden-form-group{gap:var(--eden-space-sm);margin-bottom:var(--eden-space-lg);flex-direction:column;display:flex}.eden-form-label{font-size:var(--eden-font-size-sm);font-weight:var(--eden-font-weight-medium);color:var(--eden-color-text-secondary);letter-spacing:var(--eden-font-letter-spacing-wide);text-transform:uppercase}.eden-form-help{font-size:var(--eden-font-size-sm);color:var(--eden-color-text-muted)}.eden-form-error{font-size:var(--eden-font-size-sm);color:var(--eden-color-danger)}.eden-range{align-items:center;gap:var(--eden-space-sm);min-width:200px;display:flex}.eden-range input[type=range],.eden-range-input{background:var(--eden-color-bg-glass-medium);cursor:pointer;appearance:none;border-radius:2px;flex:1;height:4px}.eden-range input[type=range]::-webkit-slider-thumb{appearance:none;background:var(--eden-color-accent-primary);cursor:pointer;width:16px;height:16px;transition:transform var(--eden-transition-base);border-radius:50%}.eden-range-input::-webkit-slider-thumb{appearance:none;background:var(--eden-color-accent-primary);cursor:pointer;width:16px;height:16px;transition:transform var(--eden-transition-base);border-radius:50%}.eden-range input[type=range]::-webkit-slider-thumb:hover{transform:scale(1.15)}.eden-range-input::-webkit-slider-thumb:hover{transform:scale(1.15)}.eden-range-value{font-size:var(--eden-font-size-sm);color:var(--eden-color-text-muted);text-align:right;min-width:40px;font-family:var(--eden-font-family-mono)}.eden-radio-group{gap:var(--eden-space-sm);flex-direction:column;display:flex}.eden-radio-group-horizontal{flex-flow:wrap}.eden-radio-option{align-items:center;gap:var(--eden-space-sm);cursor:pointer;display:flex}.eden-radio-option-label{font-size:var(--eden-font-size-sm);color:var(--eden-color-text-primary)}.eden-checkbox-group{gap:var(--eden-space-sm);flex-direction:column;display:flex}.eden-checkbox-option{align-items:center;gap:var(--eden-space-sm);cursor:pointer;display:flex}.eden-checkbox-option-label{font-size:var(--eden-font-size-sm);color:var(--eden-color-text-primary)}.eden-card{border-radius:var(--eden-radius-lg);padding:var(--eden-space-lg);background:var(--eden-color-bg-glass-medium);-webkit-backdrop-filter:var(--eden-glass-medium);border:1px solid var(--eden-color-border-light);box-shadow:var(--eden-shadow-md);color:var(--eden-color-text-primary);transition:all var(--eden-transition-base)}.eden-card:hover{box-shadow:var(--eden-shadow-lg);border-color:var(--eden-color-border-medium)}.eden-card-glass{border-radius:var(--eden-radius-2xl);padding:var(--eden-space-xl);background:var(--eden-color-bg-glass-strong);-webkit-backdrop-filter:var(--eden-glass-ultra);border:1px solid var(--eden-color-border-light);box-shadow:var(--eden-shadow-2xl);color:var(--eden-color-text-primary)}.eden-card-elevated{background:var(--eden-color-surface-elevated);box-shadow:var(--eden-shadow-xl)}.eden-card-elevated:hover{box-shadow:var(--eden-shadow-2xl);transform:translateY(-2px)}.eden-card-interactive{cursor:pointer;user-select:none}.eden-card-interactive:hover{border-color:var(--eden-color-accent-primary);transform:translateY(-2px)}.eden-card-interactive:active{box-shadow:var(--eden-shadow-md);transform:translateY(0)}.eden-card-header{padding:var(--eden-space-lg);padding-bottom:var(--eden-space-md);border-bottom:1px solid var(--eden-color-border-light)}.eden-card-title{font-size:var(--eden-font-size-xl);font-weight:var(--eden-font-weight-semibold);color:var(--eden-color-text-primary);margin:0}.eden-card-subtitle{font-size:var(--eden-font-size-md);color:var(--eden-color-text-secondary);margin:var(--eden-space-xs)0 0 0}.eden-card-body{padding:var(--eden-space-lg)}.eden-card-footer{padding:var(--eden-space-lg);padding-top:var(--eden-space-md);border-top:1px solid var(--eden-color-border-light);justify-content:flex-end;align-items:center;gap:var(--eden-space-md);display:flex}.eden-card-sm{padding:var(--eden-space-md);border-radius:var(--eden-radius-md)}.eden-card-lg{padding:var(--eden-space-2xl);border-radius:var(--eden-radius-2xl)}.eden-card-image{border-radius:var(--eden-radius-lg);width:100%;height:auto;margin-bottom:var(--eden-space-md);object-fit:cover}.eden-card-image-top{border-radius:var(--eden-radius-lg)var(--eden-radius-lg)0 0;margin-bottom:0}.eden-info-card{align-items:center;gap:var(--eden-space-md);padding:var(--eden-space-md);border-radius:var(--eden-radius-md);background:var(--eden-color-bg-glass-light);-webkit-backdrop-filter:var(--eden-glass-light);border:1px solid var(--eden-color-border-light);display:flex}.eden-info-card-icon{border-radius:var(--eden-radius-md);background:var(--eden-color-accent-primary);color:#fff;width:40px;height:40px;font-size:var(--eden-font-size-xl);flex-shrink:0;justify-content:center;align-items:center;display:flex}.eden-info-card-content{flex:1}.eden-info-card-title{font-weight:var(--eden-font-weight-semibold);color:var(--eden-color-text-primary);margin:0 0 var(--eden-space-xs)0}.eden-info-card-description{font-size:var(--eden-font-size-sm);color:var(--eden-color-text-secondary);margin:0}.eden-stats-card{text-align:center;padding:var(--eden-space-xl)}.eden-stats-value{font-size:var(--eden-font-size-4xl);font-weight:var(--eden-font-weight-bold);color:var(--eden-color-accent-primary);margin:0 0 var(--eden-space-sm)0;line-height:1}.eden-stats-label{font-size:var(--eden-font-size-md);color:var(--eden-color-text-secondary);text-transform:uppercase;letter-spacing:var(--eden-font-letter-spacing-wide)}.eden-card-grid{gap:var(--eden-space-lg);grid-template-columns:repeat(auto-fill,minmax(300px,1fr));display:grid}.eden-modal-overlay{z-index:var(--eden-z-modal);background:var(--eden-color-bg-overlay);-webkit-backdrop-filter:var(--eden-glass-strong);padding:var(--eden-space-2xl);animation:eden-fade-in var(--eden-duration-normal)var(--eden-transition-ease-out);justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.eden-modal{border-radius:var(--eden-radius-2xl);background:var(--eden-color-bg-glass-strong);width:100%;max-width:500px;max-height:90vh;-webkit-backdrop-filter:var(--eden-glass-ultra);border:1px solid var(--eden-color-border-medium);box-shadow:var(--eden-shadow-2xl);animation:eden-scale-in var(--eden-duration-normal)var(--eden-transition-ease-out);flex-direction:column;display:flex;position:relative;overflow:hidden}.eden-modal-lg{max-width:800px}.eden-modal-sm{max-width:400px}.eden-modal-full{max-width:95vw;max-height:95vh}.eden-modal-header{padding:var(--eden-space-xl);padding-bottom:var(--eden-space-lg);border-bottom:1px solid var(--eden-color-border-light);justify-content:space-between;align-items:center;gap:var(--eden-space-md);display:flex}.eden-modal-title{font-size:var(--eden-font-size-2xl);font-weight:var(--eden-font-weight-semibold);color:var(--eden-color-text-primary);margin:0}.eden-modal-close{border-radius:var(--eden-radius-md);background:var(--eden-color-bg-glass-light);width:32px;height:32px;color:var(--eden-color-text-secondary);cursor:pointer;transition:all var(--eden-transition-base);border:none;flex-shrink:0;justify-content:center;align-items:center;display:flex}.eden-modal-close:hover{background:var(--eden-color-surface-hover);color:var(--eden-color-text-primary)}.eden-modal-body{padding:var(--eden-space-xl);color:var(--eden-color-text-secondary);flex:1;overflow-y:auto}.eden-modal-footer{padding:var(--eden-space-xl);padding-top:var(--eden-space-lg);border-top:1px solid var(--eden-color-border-light);justify-content:flex-end;align-items:center;gap:var(--eden-space-md);display:flex}.eden-alert-modal{text-align:center;padding:var(--eden-space-2xl)}.eden-alert-icon{width:64px;height:64px;margin:0 auto var(--eden-space-lg)auto;border-radius:var(--eden-radius-round);font-size:var(--eden-font-size-3xl);justify-content:center;align-items:center;display:flex}.eden-alert-icon-info{color:var(--eden-color-info);background:#4dabf733}.eden-alert-icon-success{color:var(--eden-color-success);background:#51cf6633}.eden-alert-icon-warning{color:var(--eden-color-warning);background:#ffd93d33}.eden-alert-icon-danger{color:var(--eden-color-danger);background:#ff3b3033}.eden-tooltip{z-index:var(--eden-z-tooltip);padding:var(--eden-space-sm)var(--eden-space-md);border-radius:var(--eden-radius-sm);background:var(--eden-color-surface-secondary);-webkit-backdrop-filter:var(--eden-glass-strong);border:1px solid var(--eden-color-border-light);box-shadow:var(--eden-shadow-lg);font-size:var(--eden-font-size-sm);color:var(--eden-color-text-primary);white-space:nowrap;pointer-events:none;animation:eden-fade-in var(--eden-duration-fast)var(--eden-transition-ease-out);position:absolute}.eden-popover{z-index:var(--eden-z-popover);border-radius:var(--eden-radius-lg);min-width:200px;max-width:400px;padding:var(--eden-space-lg);background:var(--eden-color-bg-glass-strong);-webkit-backdrop-filter:var(--eden-glass-ultra);border:1px solid var(--eden-color-border-medium);box-shadow:var(--eden-shadow-xl);color:var(--eden-color-text-primary);animation:eden-scale-in var(--eden-duration-fast)var(--eden-transition-ease-out);position:absolute}.eden-popover-title{font-weight:var(--eden-font-weight-semibold);margin:0 0 var(--eden-space-sm)0}.eden-popover-content{font-size:var(--eden-font-size-sm);color:var(--eden-color-text-secondary)}.eden-avatar{user-select:none;border-radius:var(--eden-radius-round);background:var(--eden-color-bg-dark);color:var(--eden-color-text-primary);font-weight:var(--eden-font-weight-semibold);font-size:var(--eden-font-size-sm);width:var(--eden-space-xl);height:var(--eden-space-xl);flex-shrink:0;justify-content:center;align-items:center;display:inline-flex;position:relative;overflow:hidden}.eden-avatar-img{object-fit:cover;border-radius:inherit;width:100%;height:100%}.eden-avatar-icon{stroke-width:1.5px;width:60%;height:60%}.eden-avatar-xs{width:calc(var(--eden-space-md) + var(--eden-space-xs));height:calc(var(--eden-space-md) + var(--eden-space-xs));font-size:var(--eden-font-size-xs)}.eden-avatar-sm{width:var(--eden-space-lg);height:var(--eden-space-lg);font-size:var(--eden-font-size-xs)}.eden-avatar-md{width:var(--eden-space-xl);height:var(--eden-space-xl);font-size:var(--eden-font-size-sm)}.eden-avatar-lg{width:var(--eden-space-2xl);height:var(--eden-space-2xl);font-size:var(--eden-font-size-md)}.eden-avatar-xl{width:var(--eden-space-3xl);height:var(--eden-space-3xl);font-size:var(--eden-font-size-xl)}.eden-avatar-group{justify-content:flex-start;align-items:center;margin-left:10px;display:flex}.eden-avatar-group .eden-avatar{border:2px solid var(--eden-color-bg-primary);transition:transform var(--eden-transition-fast);margin-left:-10px}.eden-avatar-group .eden-avatar:hover{z-index:10;transform:translateY(-4px)}.eden-badge{padding:var(--eden-space-xs)var(--eden-space-sm);border-radius:var(--eden-radius-sm);font-size:var(--eden-font-size-xs);font-weight:var(--eden-font-weight-semibold);text-transform:uppercase;letter-spacing:var(--eden-font-letter-spacing-wide);background:var(--eden-color-bg-glass-medium);-webkit-backdrop-filter:var(--eden-glass-light);border:1px solid var(--eden-color-border-light);color:var(--eden-color-text-secondary);justify-content:center;align-items:center;display:inline-flex}.eden-badge-primary{border-color:var(--eden-color-accent-primary);color:var(--eden-color-accent-primary);background:#4a9eff33}.eden-badge-success{border-color:var(--eden-color-success);color:var(--eden-color-success);background:#51cf6633}.eden-badge-danger{border-color:var(--eden-color-danger);color:var(--eden-color-danger);background:#ff3b3033}.eden-badge-warning{border-color:var(--eden-color-warning);color:var(--eden-color-warning);background:#ffd93d33}.eden-badge-info{border-color:var(--eden-color-info);color:var(--eden-color-info);background:#4dabf733}.eden-badge-sm{padding:2px var(--eden-space-xs);font-size:9px}.eden-badge-lg{font-size:var(--eden-font-size-sm);padding:var(--eden-space-sm)var(--eden-space-md)}.eden-badge-dot{border-radius:var(--eden-radius-round);border:none;width:8px;height:8px;padding:0}.eden-badge-dot-animated{animation:2s infinite eden-pulse}@keyframes eden-pulse{0%,to{opacity:1}50%{opacity:.5}}.eden-tag{align-items:center;gap:var(--eden-space-xs);padding:var(--eden-space-sm)var(--eden-space-md);border-radius:var(--eden-radius-md);font-size:var(--eden-font-size-sm);font-weight:var(--eden-font-weight-medium);background:var(--eden-color-bg-glass-medium);-webkit-backdrop-filter:var(--eden-glass-medium);border:1px solid var(--eden-color-border-light);color:var(--eden-color-text-primary);transition:all var(--eden-transition-base);display:inline-flex}.eden-tag:hover{border-color:var(--eden-color-border-medium);background:var(--eden-color-bg-glass-strong)}.eden-tag-close{border-radius:var(--eden-radius-xs);width:16px;height:16px;color:var(--eden-color-text-muted);cursor:pointer;transition:all var(--eden-transition-fast);margin-left:var(--eden-space-xs);background:0 0;border:none;justify-content:center;align-items:center;padding:0;font-size:12px;display:flex}.eden-tag-close:hover{background:var(--eden-color-surface-hover);color:var(--eden-color-text-primary)}.eden-tag-group{gap:var(--eden-space-sm);flex-wrap:wrap;display:flex}.eden-notification-badge{min-width:18px;height:18px;padding:0 var(--eden-space-xs);background:var(--eden-color-danger);border:2px solid var(--eden-color-surface-primary);font-size:10px;font-weight:var(--eden-font-weight-bold);color:#fff;animation:eden-badge-pop var(--eden-duration-normal)var(--eden-transition-ease-out);border-radius:999px;justify-content:center;align-items:center;display:flex;position:absolute;top:-4px;right:-4px}@keyframes eden-badge-pop{0%{transform:scale(0)}50%{transform:scale(1.2)}to{transform:scale(1)}}.eden-progress{background:var(--eden-color-bg-glass-medium);width:100%;height:8px;-webkit-backdrop-filter:var(--eden-glass-light);border:1px solid var(--eden-color-border-light);border-radius:999px;position:relative;overflow:hidden}.eden-progress-bar{background:linear-gradient(90deg,var(--eden-color-accent-blue),var(--eden-color-accent-blue-dark));height:100%;transition:width var(--eden-duration-slow)var(--eden-transition-ease-out);border-radius:999px;box-shadow:0 0 10px #52a3ff80}.eden-progress-bar-success{background:linear-gradient(90deg,var(--eden-color-success),var(--eden-color-success-hover));box-shadow:0 0 10px #51cf6680}.eden-progress-bar-danger{background:linear-gradient(90deg,var(--eden-color-danger),var(--eden-color-danger-hover));box-shadow:0 0 10px #ff3b3080}.eden-progress-bar-warning{background:var(--eden-color-warning);box-shadow:0 0 10px #ffd93d80}.eden-progress-animated .eden-progress-bar{background-size:200% 100%;animation:2s infinite eden-progress-shimmer}@keyframes eden-progress-shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.eden-progress-sm{height:4px}.eden-progress-lg{height:12px}.eden-progress-xl{height:16px}.eden-progress-circle{justify-content:center;align-items:center;width:80px;height:80px;display:inline-flex;position:relative}.eden-progress-circle-svg{width:100%;height:100%;transform:rotate(-90deg)}.eden-progress-circle-bg{fill:none;stroke:var(--eden-color-bg-glass-medium);stroke-width:4px}.eden-progress-circle-bar{fill:none;stroke:var(--eden-color-accent-primary);stroke-width:4px;stroke-linecap:round;transition:stroke-dashoffset var(--eden-duration-slow)var(--eden-transition-ease-out)}.eden-progress-circle-text{font-size:var(--eden-font-size-lg);font-weight:var(--eden-font-weight-semibold);color:var(--eden-color-text-primary);position:absolute}.eden-spinner{border:3px solid var(--eden-color-bg-glass-medium);border-top-color:var(--eden-color-accent-primary);border-radius:var(--eden-radius-round);width:40px;height:40px;animation:.8s linear infinite eden-spin}@keyframes eden-spin{to{transform:rotate(360deg)}}.eden-spinner-sm{border-width:2px;width:20px;height:20px}.eden-spinner-lg{border-width:4px;width:60px;height:60px}.eden-skeleton{background:var(--eden-color-bg-glass-medium);border-radius:var(--eden-radius-md);position:relative;overflow:hidden}.eden-skeleton:after{content:"";background:linear-gradient(90deg,transparent,var(--eden-color-surface-hover),transparent);animation:1.5s infinite eden-skeleton-shimmer;position:absolute;inset:0}@keyframes eden-skeleton-shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}.eden-skeleton-text{width:100%;height:1em}.eden-skeleton-title{width:70%;height:2em}.eden-skeleton-avatar{border-radius:var(--eden-radius-round);width:40px;height:40px}.eden-skeleton-button{width:120px;height:40px}.eden-list{border-radius:var(--eden-radius-lg);background:var(--eden-color-bg-glass-medium);-webkit-backdrop-filter:var(--eden-glass-medium);border:1px solid var(--eden-color-border-light);box-shadow:var(--eden-shadow-md);min-height:0;margin:0;padding:0;list-style:none;overflow:hidden auto}.eden-list-item{padding:var(--eden-space-md)var(--eden-space-lg);border-bottom:1px solid var(--eden-color-border-light);transition:all var(--eden-transition-base);color:var(--eden-color-text-primary);align-items:center;gap:var(--eden-space-md);display:flex}.eden-list-item:last-child{border-bottom:none}.eden-list-item:hover{background:var(--eden-color-surface-hover)}.eden-list-item-active{background:var(--eden-color-surface-active);border-left:3px solid var(--eden-color-accent-primary);padding-left:calc(var(--eden-space-lg) - 3px)}.eden-list-item-interactive{cursor:pointer;user-select:none}.eden-list-item-disabled{opacity:.5;cursor:not-allowed}.eden-list-item-disabled:hover{background:0 0}.eden-list-item-icon{width:24px;height:24px;color:var(--eden-color-accent-primary);flex-shrink:0;justify-content:center;align-items:center;display:flex}.eden-list-item-content{gap:var(--eden-space-xs);flex-direction:column;flex:1;display:flex}.eden-list-item-title{font-weight:var(--eden-font-weight-medium);color:var(--eden-color-text-primary)}.eden-list-item-description{font-size:var(--eden-font-size-sm);color:var(--eden-color-text-secondary)}.eden-list-item-meta{font-size:var(--eden-font-size-sm);color:var(--eden-color-text-muted);flex-shrink:0}.eden-steps{align-items:center;gap:var(--eden-space-md);padding:var(--eden-space-lg);background:var(--eden-color-bg-glass-medium);-webkit-backdrop-filter:var(--eden-glass-medium);border-radius:var(--eden-radius-lg);border:1px solid var(--eden-color-border-light);display:flex}.eden-step{align-items:center;gap:var(--eden-space-sm);flex:1;display:flex;position:relative}.eden-step:after{content:"";left:calc(100% + var(--eden-space-sm));width:var(--eden-space-md);background:var(--eden-color-border-light);height:2px;position:absolute}.eden-step:last-child:after{display:none}.eden-step-number{border-radius:var(--eden-radius-round);background:var(--eden-color-bg-glass-light);border:2px solid var(--eden-color-border-medium);width:32px;height:32px;font-weight:var(--eden-font-weight-semibold);color:var(--eden-color-text-muted);flex-shrink:0;justify-content:center;align-items:center;display:flex}.eden-step-active .eden-step-number{background:var(--eden-color-accent-primary);border-color:var(--eden-color-accent-primary);color:#fff}.eden-step-completed .eden-step-number{background:var(--eden-color-success);border-color:var(--eden-color-success);color:#fff}.eden-step-label{font-size:var(--eden-font-size-sm);color:var(--eden-color-text-secondary)}.eden-step-active .eden-step-label{color:var(--eden-color-text-primary);font-weight:var(--eden-font-weight-medium)}.eden-tabs{width:100%}.eden-tab-list{gap:var(--eden-space-xs);padding:var(--eden-space-xs);background:var(--eden-color-bg-glass-medium);-webkit-backdrop-filter:var(--eden-glass-medium);border-radius:var(--eden-radius-lg);border:1px solid var(--eden-color-border-light);scrollbar-width:none;display:flex;overflow-x:auto}.eden-tab-list::-webkit-scrollbar{display:none}.eden-tab{padding:var(--eden-space-sm)var(--eden-space-lg);border-radius:var(--eden-radius-md);color:var(--eden-color-text-secondary);font-size:var(--eden-font-size-md);font-weight:var(--eden-font-weight-medium);cursor:pointer;transition:all var(--eden-transition-base);user-select:none;white-space:nowrap;background:0 0;border:none;outline:none;flex-shrink:0}.eden-tab:hover{background:var(--eden-color-bg-glass-light);color:var(--eden-color-text-primary)}.eden-tab-active{background:var(--eden-color-surface-elevated);color:var(--eden-color-text-primary);box-shadow:var(--eden-shadow-sm)}.eden-tab:focus-visible{outline:2px solid var(--eden-color-accent-primary);outline-offset:2px}.eden-tab:disabled{opacity:.5;cursor:not-allowed}.eden-tab-panels{padding:var(--eden-space-lg)}.eden-tab-panel{animation:eden-fade-in var(--eden-duration-normal)var(--eden-transition-ease-out);display:none}.eden-tab-panel-active{display:block}.eden-tab-list-underline{border:none;border-bottom:1px solid var(--eden-color-border-light);gap:var(--eden-space-lg);background:0 0;border-radius:0;padding:0}.eden-tab-underline{padding:var(--eden-space-md)0;border-radius:0;position:relative}.eden-tab-underline:after{content:"";height:2px;transition:background var(--eden-transition-base);background:0 0;position:absolute;bottom:-1px;left:0;right:0}.eden-tab-underline:hover:after{background:var(--eden-color-border-medium)}.eden-tab-underline.eden-tab-active:after{background:var(--eden-color-accent-primary)}.eden-tab-list-pills{gap:var(--eden-space-sm);background:0 0;border:none;padding:0}.eden-tab-pill{border-radius:var(--eden-radius-lg);background:var(--eden-color-bg-glass-medium);-webkit-backdrop-filter:var(--eden-glass-light);border:1px solid var(--eden-color-border-light)}.eden-tab-pill:hover{background:var(--eden-color-bg-glass-strong);border-color:var(--eden-color-border-medium)}.eden-tab-pill.eden-tab-active{background:linear-gradient(135deg,var(--eden-color-accent-blue),var(--eden-color-accent-blue-dark));color:#fff;border-color:#0000}.eden-tabs-vertical{gap:var(--eden-space-lg);display:flex}.eden-tab-list-vertical{flex-direction:column;flex-shrink:0;width:200px}.eden-tab-list-vertical .eden-tab{text-align:left;justify-content:flex-start;width:100%}.eden-tab-with-icon{align-items:center;gap:var(--eden-space-sm);display:flex}.eden-tab-icon{justify-content:center;align-items:center;width:18px;height:18px;display:flex}.eden-tab-badge{margin-left:var(--eden-space-xs);padding:2px var(--eden-space-xs);border-radius:var(--eden-radius-xs);background:var(--eden-color-danger);color:#fff;font-size:10px;font-weight:var(--eden-font-weight-bold)}.eden-sidebar{background:var(--eden-color-bg-glass-strong);width:280px;min-width:280px;max-height:100%;-webkit-backdrop-filter:var(--eden-glass-strong);border:1px solid var(--eden-color-border-light);border-radius:var(--eden-radius-xl);box-shadow:var(--eden-shadow-lg);flex-direction:column;display:flex;overflow:hidden}.eden-sidebar-compact{width:240px;min-width:240px}.eden-sidebar-wide{width:320px;min-width:320px}.eden-sidebar-header{padding:var(--eden-space-lg);border-bottom:1px solid var(--eden-color-border-light)}.eden-sidebar-header h2,.eden-sidebar-header-title{font-size:var(--eden-font-size-lg);font-weight:var(--eden-font-weight-semibold);color:var(--eden-color-text-primary);margin:0 0 var(--eden-space-sm)0}.eden-sidebar-header-subtitle{font-size:var(--eden-font-size-sm);color:var(--eden-color-text-muted);margin-top:var(--eden-space-xs)}.eden-sidebar-section{padding:var(--eden-space-md)}.eden-sidebar-section-scrollable{flex-direction:column;flex:1;display:flex;overflow:hidden}.eden-sidebar-section-title{font-size:var(--eden-font-size-xs);font-weight:var(--eden-font-weight-semibold);color:var(--eden-color-text-muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:var(--eden-space-sm);padding:0 var(--eden-space-sm)}.eden-sidebar-divider{background:var(--eden-color-border-light);height:1px;margin:0 var(--eden-space-md)}.eden-sidebar-items{gap:var(--eden-space-xs);flex-direction:column;display:flex}.eden-sidebar-items-scrollable{flex:1;overflow-y:auto}.eden-sidebar-item{align-items:center;gap:var(--eden-space-md);padding:var(--eden-space-md);border-radius:var(--eden-radius-md);cursor:pointer;transition:all var(--eden-transition-base);color:var(--eden-color-text-secondary);user-select:none;display:flex}.eden-sidebar-item:hover{background:var(--eden-color-bg-glass-medium);color:var(--eden-color-text-primary)}.eden-sidebar-item-selected{background:var(--eden-color-surface-active);border:1px solid var(--eden-color-accent-primary);color:var(--eden-color-text-primary)}.eden-sidebar-item-disabled{opacity:.5;cursor:default}.eden-sidebar-item-disabled:hover{color:var(--eden-color-text-secondary);background:0 0}.eden-sidebar-item-icon{flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;font-size:16px;display:flex}.eden-sidebar-item-icon img{border-radius:var(--eden-radius-sm);object-fit:contain;width:24px;height:24px}.eden-sidebar-item-icon-lg{width:32px;height:32px;font-size:20px}.eden-sidebar-item-icon-lg img{width:32px;height:32px}.eden-sidebar-item-text{font-size:var(--eden-font-size-sm);font-weight:var(--eden-font-weight-medium);white-space:nowrap;text-overflow:ellipsis;flex:1;overflow:hidden}.eden-sidebar-item-meta{font-size:var(--eden-font-size-xs);color:var(--eden-color-text-muted);background:var(--eden-color-bg-glass-medium);padding:var(--eden-space-xs)var(--eden-space-sm);border-radius:var(--eden-radius-round);flex-shrink:0}.eden-sidebar-item-details{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.eden-sidebar-item-title{font-size:var(--eden-font-size-sm);font-weight:var(--eden-font-weight-medium);color:var(--eden-color-text-primary);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.eden-sidebar-item-subtitle{font-size:var(--eden-font-size-xs);color:var(--eden-color-text-muted);font-family:var(--eden-font-family-mono);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.eden-sidebar-search{width:100%;padding:var(--eden-space-sm)var(--eden-space-md);background:var(--eden-color-bg-glass-medium);border:1px solid var(--eden-color-border-light);border-radius:var(--eden-radius-md);color:var(--eden-color-text-primary);font-size:var(--eden-font-size-sm);transition:all var(--eden-transition-base);outline:none}.eden-sidebar-search:focus{border-color:var(--eden-color-accent-primary);box-shadow:0 0 0 2px #6366f11a}.eden-sidebar-search::placeholder{color:var(--eden-color-text-muted)}.eden-sidebar-footer{padding:var(--eden-space-md);border-top:1px solid var(--eden-color-border-light)}.eden-sidebar-item{animation:.2s ease-out eden-fade-in}
@@ -61,5 +61,20 @@ export declare class FilesystemHandler {
61
61
  handleDelete(args: {
62
62
  path: string;
63
63
  }): Promise<void>;
64
+ /**
65
+ * Copy a file or directory.
66
+ * Directories are copied recursively.
67
+ */
68
+ handleCopy(args: {
69
+ from: string;
70
+ to: string;
71
+ }): Promise<void>;
72
+ /**
73
+ * Move or rename a file or directory.
74
+ */
75
+ handleMove(args: {
76
+ from: string;
77
+ to: string;
78
+ }): Promise<void>;
64
79
  }
65
80
  //# sourceMappingURL=FilesystemHandler.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"FilesystemHandler.d.ts","sourceRoot":"","sources":["../../src/filesystem/FilesystemHandler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAE9D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAE7D;;;GAGG;AACH,qBACa,iBAAiB;IAChB,OAAO,CAAC,SAAS;gBAAT,SAAS,EAAE,iBAAiB;IAEhD;;OAEG;IAEG,cAAc,CAAC,IAAI,EAAE;QACzB,IAAI,EAAE,MAAM,CAAC;QACb,QAAQ,CAAC,EAAE,MAAM,CAAC;KACnB,GAAG,OAAO,CAAC,MAAM,CAAC;IAQnB;;OAEG;IAEG,eAAe,CAAC,IAAI,EAAE;QAC1B,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,MAAM,CAAC;QAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;KACnB,GAAG,OAAO,CAAC,IAAI,CAAC;IASjB;;OAEG;IAEG,YAAY,CAAC,IAAI,EAAE;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,OAAO,CAAC;IAK5D;;OAEG;IAEG,WAAW,CAAC,IAAI,EAAE;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAKxD;;OAEG;IAEG,aAAa,CAAC,IAAI,EAAE;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAK9D;;OAEG;IAEG,UAAU,CAAC,IAAI,EAAE;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,SAAS,CAAC;IAK5D;;OAEG;IAEG,YAAY,CAAC,IAAI,EAAE;QACvB,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,MAAM,CAAC;QAChB,KAAK,CAAC,EAAE,MAAM,CAAC;KAChB,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;IAK3B;;;OAGG;IAEG,YAAY,CAAC,IAAI,EAAE;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC;CAI1D"}
1
+ {"version":3,"file":"FilesystemHandler.d.ts","sourceRoot":"","sources":["../../src/filesystem/FilesystemHandler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAE9D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAE7D;;;GAGG;AACH,qBACa,iBAAiB;IAChB,OAAO,CAAC,SAAS;gBAAT,SAAS,EAAE,iBAAiB;IAEhD;;OAEG;IAEG,cAAc,CAAC,IAAI,EAAE;QACzB,IAAI,EAAE,MAAM,CAAC;QACb,QAAQ,CAAC,EAAE,MAAM,CAAC;KACnB,GAAG,OAAO,CAAC,MAAM,CAAC;IAQnB;;OAEG;IAEG,eAAe,CAAC,IAAI,EAAE;QAC1B,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,MAAM,CAAC;QAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;KACnB,GAAG,OAAO,CAAC,IAAI,CAAC;IASjB;;OAEG;IAEG,YAAY,CAAC,IAAI,EAAE;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,OAAO,CAAC;IAK5D;;OAEG;IAEG,WAAW,CAAC,IAAI,EAAE;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAKxD;;OAEG;IAEG,aAAa,CAAC,IAAI,EAAE;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAK9D;;OAEG;IAEG,UAAU,CAAC,IAAI,EAAE;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,SAAS,CAAC;IAK5D;;OAEG;IAEG,YAAY,CAAC,IAAI,EAAE;QACvB,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,MAAM,CAAC;QAChB,KAAK,CAAC,EAAE,MAAM,CAAC;KAChB,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;IAK3B;;;OAGG;IAEG,YAAY,CAAC,IAAI,EAAE;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAKzD;;;OAGG;IAEG,UAAU,CAAC,IAAI,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAInE;;OAEG;IAEG,UAAU,CAAC,IAAI,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC;CAGpE"}
@@ -77,6 +77,19 @@ let FilesystemHandler = class FilesystemHandler {
77
77
  const { path: targetPath } = args;
78
78
  await this.fsManager.delete(targetPath);
79
79
  }
80
+ /**
81
+ * Copy a file or directory.
82
+ * Directories are copied recursively.
83
+ */
84
+ async handleCopy(args) {
85
+ await this.fsManager.copy(args.from, args.to);
86
+ }
87
+ /**
88
+ * Move or rename a file or directory.
89
+ */
90
+ async handleMove(args) {
91
+ await this.fsManager.move(args.from, args.to);
92
+ }
80
93
  };
81
94
  exports.FilesystemHandler = FilesystemHandler;
82
95
  __decorate([
@@ -127,6 +140,18 @@ __decorate([
127
140
  __metadata("design:paramtypes", [Object]),
128
141
  __metadata("design:returntype", Promise)
129
142
  ], FilesystemHandler.prototype, "handleDelete", null);
143
+ __decorate([
144
+ (0, ipc_1.EdenHandler)("cp", { permission: "write" }),
145
+ __metadata("design:type", Function),
146
+ __metadata("design:paramtypes", [Object]),
147
+ __metadata("design:returntype", Promise)
148
+ ], FilesystemHandler.prototype, "handleCopy", null);
149
+ __decorate([
150
+ (0, ipc_1.EdenHandler)("mv", { permission: "write" }),
151
+ __metadata("design:type", Function),
152
+ __metadata("design:paramtypes", [Object]),
153
+ __metadata("design:returntype", Promise)
154
+ ], FilesystemHandler.prototype, "handleMove", null);
130
155
  exports.FilesystemHandler = FilesystemHandler = __decorate([
131
156
  (0, ipc_1.EdenNamespace)("fs"),
132
157
  __metadata("design:paramtypes", [Function])
@@ -1 +1 @@
1
- {"version":3,"file":"FilesystemHandler.js","sourceRoot":"","sources":["../../src/filesystem/FilesystemHandler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"FilesystemHandler.js","sourceRoot":"","sources":["../../src/filesystem/FilesystemHandler.ts"],"names":[],"mappings":"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"}
@@ -66,5 +66,14 @@ export declare class FilesystemManager {
66
66
  * For directories, removes recursively.
67
67
  */
68
68
  delete(targetPath: string): Promise<void>;
69
+ /**
70
+ * Copy a file or directory to another location.
71
+ */
72
+ copy(fromPath: string, toPath: string): Promise<void>;
73
+ /**
74
+ * Move or rename a file or directory.
75
+ * Falls back to copy+delete when rename crosses filesystem boundaries.
76
+ */
77
+ move(fromPath: string, toPath: string): Promise<void>;
69
78
  }
70
79
  //# sourceMappingURL=FilesystemManager.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"FilesystemManager.d.ts","sourceRoot":"","sources":["../../src/filesystem/FilesystemManager.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAG9D,OAAO,EAAE,eAAe,EAAE,MAAM,QAAQ,CAAC;AAGzC;;;;GAIG;AACH,qBAEa,iBAAiB;IAC5B,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,OAAO,CAAoB;gBAGR,OAAO,EAAE,MAAM,EACf,eAAe,EAAE,eAAe;IAU3D;;OAEG;IACH,UAAU,IAAI,MAAM;IAIpB;;;;;;OAMG;IACH,WAAW,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM;IAgBvC;;;;;;OAMG;IACH,YAAY,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM;IAc1C;;OAEG;IACH,aAAa,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO;IAa1C;;OAEG;IACG,QAAQ,CACZ,UAAU,EAAE,MAAM,EAClB,QAAQ,GAAE,cAAwB,GACjC,OAAO,CAAC,MAAM,CAAC;IAKlB;;OAEG;IACG,SAAS,CACb,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,MAAM,EACf,QAAQ,GAAE,cAAwB,GACjC,OAAO,CAAC,IAAI,CAAC;IAOhB;;OAEG;IACG,MAAM,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAUlD;;OAEG;IACG,KAAK,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAK9C;;OAEG;IACG,OAAO,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAKpD;;OAEG;IACG,IAAI,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC;IAWlD;;OAEG;IACG,MAAM,CACV,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,MAAM,EACf,KAAK,GAAE,MAAW,GACjB,OAAO,CAAC,YAAY,EAAE,CAAC;IAsC1B;;;OAGG;IACG,MAAM,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAchD"}
1
+ {"version":3,"file":"FilesystemManager.d.ts","sourceRoot":"","sources":["../../src/filesystem/FilesystemManager.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAG9D,OAAO,EAAE,eAAe,EAAE,MAAM,QAAQ,CAAC;AAGzC;;;;GAIG;AACH,qBAEa,iBAAiB;IAC5B,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,OAAO,CAAoB;gBAGR,OAAO,EAAE,MAAM,EACf,eAAe,EAAE,eAAe;IAU3D;;OAEG;IACH,UAAU,IAAI,MAAM;IAIpB;;;;;;OAMG;IACH,WAAW,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM;IAgBvC;;;;;;OAMG;IACH,YAAY,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM;IAc1C;;OAEG;IACH,aAAa,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO;IAa1C;;OAEG;IACG,QAAQ,CACZ,UAAU,EAAE,MAAM,EAClB,QAAQ,GAAE,cAAwB,GACjC,OAAO,CAAC,MAAM,CAAC;IAKlB;;OAEG;IACG,SAAS,CACb,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,MAAM,EACf,QAAQ,GAAE,cAAwB,GACjC,OAAO,CAAC,IAAI,CAAC;IAOhB;;OAEG;IACG,MAAM,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAUlD;;OAEG;IACG,KAAK,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAK9C;;OAEG;IACG,OAAO,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAKpD;;OAEG;IACG,IAAI,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC;IAWlD;;OAEG;IACG,MAAM,CACV,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,MAAM,EACf,KAAK,GAAE,MAAW,GACjB,OAAO,CAAC,YAAY,EAAE,CAAC;IAsC1B;;;OAGG;IACG,MAAM,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAe/C;;OAEG;IACG,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAY3D;;;OAGG;IACG,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAkB5D"}
@@ -225,6 +225,39 @@ let FilesystemManager = class FilesystemManager {
225
225
  await fs.unlink(fullPath);
226
226
  }
227
227
  }
228
+ /**
229
+ * Copy a file or directory to another location.
230
+ */
231
+ async copy(fromPath, toPath) {
232
+ const fullFromPath = this.resolvePath(fromPath);
233
+ const fullToPath = this.resolvePath(toPath);
234
+ await fs.mkdir(path.dirname(fullToPath), { recursive: true });
235
+ await fs.cp(fullFromPath, fullToPath, {
236
+ recursive: true,
237
+ errorOnExist: true,
238
+ force: false,
239
+ });
240
+ }
241
+ /**
242
+ * Move or rename a file or directory.
243
+ * Falls back to copy+delete when rename crosses filesystem boundaries.
244
+ */
245
+ async move(fromPath, toPath) {
246
+ const fullFromPath = this.resolvePath(fromPath);
247
+ const fullToPath = this.resolvePath(toPath);
248
+ await fs.mkdir(path.dirname(fullToPath), { recursive: true });
249
+ try {
250
+ await fs.rename(fullFromPath, fullToPath);
251
+ }
252
+ catch (error) {
253
+ const nodeError = error;
254
+ if (nodeError.code !== "EXDEV") {
255
+ throw error;
256
+ }
257
+ await this.copy(fromPath, toPath);
258
+ await this.delete(fromPath);
259
+ }
260
+ }
228
261
  };
229
262
  exports.FilesystemManager = FilesystemManager;
230
263
  exports.FilesystemManager = FilesystemManager = __decorate([
@@ -1 +1 @@
1
- {"version":3,"file":"FilesystemManager.js","sourceRoot":"","sources":["../../src/filesystem/FilesystemManager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"FilesystemManager.js","sourceRoot":"","sources":["../../src/filesystem/FilesystemManager.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../../src/generated/runtime.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,eAAO,MAAM,aAAa,EAAE,SAAS,MAAM,EA8FjC,CAAC;AAGX,eAAO,MAAM,eAAe,EAAE,SAAS,MAAM,EAqBnC,CAAC"}
1
+ {"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../../src/generated/runtime.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,eAAO,MAAM,aAAa,EAAE,SAAS,MAAM,EAsGjC,CAAC;AAGX,eAAO,MAAM,eAAe,EAAE,SAAS,MAAM,EAqBnC,CAAC"}
@@ -50,6 +50,8 @@ exports.COMMAND_NAMES = [
50
50
  "fs/stat",
51
51
  "fs/search",
52
52
  "fs/delete",
53
+ "fs/cp",
54
+ "fs/mv",
53
55
  "i18n/get-locale",
54
56
  "i18n/get-common",
55
57
  "event/subscribe",
@@ -66,7 +68,9 @@ exports.COMMAND_NAMES = [
66
68
  "package/get-size",
67
69
  "process/launch",
68
70
  "process/stop",
71
+ "process/exit",
69
72
  "process/list",
73
+ "process/metrics",
70
74
  "settings/get",
71
75
  "settings/set",
72
76
  "settings/list",
@@ -90,10 +94,14 @@ exports.COMMAND_NAMES = [
90
94
  "user/has-grant",
91
95
  "user/get-default",
92
96
  "user/set-default",
97
+ "view/update-bounds",
93
98
  "view/update-view-bounds",
99
+ "view/set-visibility",
94
100
  "view/set-view-visibility",
95
- "view/focus-app",
101
+ "view/focus",
102
+ "view/focus-view",
96
103
  "view/update-global-bounds",
104
+ "view/toggle-mode",
97
105
  "view/toggle-view-mode",
98
106
  "view/start-drag",
99
107
  "view/end-drag",
@@ -1 +1 @@
1
- {"version":3,"file":"runtime.js","sourceRoot":"","sources":["../../src/generated/runtime.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;AAEH,sBAAsB;AACT,QAAA,aAAa,GAAsB;IAC9C,aAAa;IACb,iBAAiB;IACjB,mBAAmB;IACnB,aAAa;IACb,oBAAoB;IACpB,gBAAgB;IAChB,0BAA0B;IAC1B,0BAA0B;IAC1B,wBAAwB;IACxB,+BAA+B;IAC/B,mBAAmB;IACnB,sBAAsB;IACtB,oBAAoB;IACpB,QAAQ;IACR,QAAQ;IACR,WAAW;IACX,QAAQ;IACR,UAAU;IACV,SAAS;IACT,WAAW;IACX,WAAW;IACX,cAAc;IACd,WAAW;IACX,aAAa;IACb,YAAY;IACZ,WAAW;IACX,gBAAgB;IAChB,kBAAkB;IAClB,0BAA0B;IAC1B,6BAA6B;IAC7B,6BAA6B;IAC7B,uBAAuB;IACvB,SAAS;IACT,UAAU;IACV,WAAW;IACX,UAAU;IACV,YAAY;IACZ,SAAS;IACT,WAAW;IACX,WAAW;IACX,iBAAiB;IACjB,iBAAiB;IACjB,iBAAiB;IACjB,mBAAmB;IACnB,cAAc;IACd,mBAAmB;IACnB,iBAAiB;IACjB,mBAAmB;IACnB,cAAc;IACd,2BAA2B;IAC3B,+BAA+B;IAC/B,kBAAkB;IAClB,kBAAkB;IAClB,kBAAkB;IAClB,gBAAgB;IAChB,cAAc;IACd,cAAc;IACd,cAAc;IACd,cAAc;IACd,eAAe;IACf,kBAAkB;IAClB,gBAAgB;IAChB,iBAAiB;IACjB,iBAAiB;IACjB,kBAAkB;IAClB,qBAAqB;IACrB,mBAAmB;IACnB,iBAAiB;IACjB,WAAW;IACX,kBAAkB;IAClB,YAAY;IACZ,aAAa;IACb,aAAa;IACb,aAAa;IACb,aAAa;IACb,mBAAmB;IACnB,sBAAsB;IACtB,gBAAgB;IAChB,kBAAkB;IAClB,kBAAkB;IAClB,yBAAyB;IACzB,0BAA0B;IAC1B,gBAAgB;IAChB,2BAA2B;IAC3B,uBAAuB;IACvB,iBAAiB;IACjB,eAAe;IACf,qBAAqB;IACrB,mBAAmB;IACnB,iBAAiB;IACjB,kBAAkB;IAClB,0BAA0B;IAC1B,0BAA0B;CAClB,CAAC;AAEX,oBAAoB;AACP,QAAA,eAAe,GAAsB;IAChD,8BAA8B;IAC9B,qBAAqB;IACrB,qBAAqB;IACrB,aAAa;IACb,qBAAqB;IACrB,oBAAoB;IACpB,sBAAsB;IACtB,mBAAmB;IACnB,qBAAqB;IACrB,kBAAkB;IAClB,iBAAiB;IACjB,eAAe;IACf,gBAAgB;IAChB,kBAAkB;IAClB,cAAc;IACd,qBAAqB;IACrB,4BAA4B;IAC5B,kBAAkB;IAClB,uBAAuB;IACvB,mBAAmB;CACX,CAAC"}
1
+ {"version":3,"file":"runtime.js","sourceRoot":"","sources":["../../src/generated/runtime.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;AAEH,sBAAsB;AACT,QAAA,aAAa,GAAsB;IAC9C,aAAa;IACb,iBAAiB;IACjB,mBAAmB;IACnB,aAAa;IACb,oBAAoB;IACpB,gBAAgB;IAChB,0BAA0B;IAC1B,0BAA0B;IAC1B,wBAAwB;IACxB,+BAA+B;IAC/B,mBAAmB;IACnB,sBAAsB;IACtB,oBAAoB;IACpB,QAAQ;IACR,QAAQ;IACR,WAAW;IACX,QAAQ;IACR,UAAU;IACV,SAAS;IACT,WAAW;IACX,WAAW;IACX,cAAc;IACd,WAAW;IACX,aAAa;IACb,YAAY;IACZ,WAAW;IACX,gBAAgB;IAChB,kBAAkB;IAClB,0BAA0B;IAC1B,6BAA6B;IAC7B,6BAA6B;IAC7B,uBAAuB;IACvB,SAAS;IACT,UAAU;IACV,WAAW;IACX,UAAU;IACV,YAAY;IACZ,SAAS;IACT,WAAW;IACX,WAAW;IACX,OAAO;IACP,OAAO;IACP,iBAAiB;IACjB,iBAAiB;IACjB,iBAAiB;IACjB,mBAAmB;IACnB,cAAc;IACd,mBAAmB;IACnB,iBAAiB;IACjB,mBAAmB;IACnB,cAAc;IACd,2BAA2B;IAC3B,+BAA+B;IAC/B,kBAAkB;IAClB,kBAAkB;IAClB,kBAAkB;IAClB,gBAAgB;IAChB,cAAc;IACd,cAAc;IACd,cAAc;IACd,iBAAiB;IACjB,cAAc;IACd,cAAc;IACd,eAAe;IACf,kBAAkB;IAClB,gBAAgB;IAChB,iBAAiB;IACjB,iBAAiB;IACjB,kBAAkB;IAClB,qBAAqB;IACrB,mBAAmB;IACnB,iBAAiB;IACjB,WAAW;IACX,kBAAkB;IAClB,YAAY;IACZ,aAAa;IACb,aAAa;IACb,aAAa;IACb,aAAa;IACb,mBAAmB;IACnB,sBAAsB;IACtB,gBAAgB;IAChB,kBAAkB;IAClB,kBAAkB;IAClB,oBAAoB;IACpB,yBAAyB;IACzB,qBAAqB;IACrB,0BAA0B;IAC1B,YAAY;IACZ,iBAAiB;IACjB,2BAA2B;IAC3B,kBAAkB;IAClB,uBAAuB;IACvB,iBAAiB;IACjB,eAAe;IACf,qBAAqB;IACrB,mBAAmB;IACnB,iBAAiB;IACjB,kBAAkB;IAClB,0BAA0B;IAC1B,0BAA0B;CAClB,CAAC;AAEX,oBAAoB;AACP,QAAA,eAAe,GAAsB;IAChD,8BAA8B;IAC9B,qBAAqB;IACrB,qBAAqB;IACrB,aAAa;IACb,qBAAqB;IACrB,oBAAoB;IACpB,sBAAsB;IACtB,mBAAmB;IACnB,qBAAqB;IACrB,kBAAkB;IAClB,iBAAiB;IACjB,eAAe;IACf,gBAAgB;IAChB,kBAAkB;IAClB,cAAc;IACd,qBAAqB;IACrB,4BAA4B;IAC5B,kBAAkB;IAClB,uBAAuB;IACvB,mBAAmB;CACX,CAAC"}
@@ -1,10 +1,11 @@
1
- import type { AppInstance, LaunchResult, ViewBounds } from "@edenapp/types";
1
+ import type { AppInstance, LaunchResult, ProcessMetricsSnapshot, ViewBounds } from "@edenapp/types";
2
2
  import type { ProcessManager } from "./ProcessManager";
3
3
  export declare class ProcessHandler {
4
4
  private processManager;
5
5
  constructor(processManager: ProcessManager);
6
6
  /**
7
7
  * Launch an application instance.
8
+ * Requires "process/manage" permission.
8
9
  */
9
10
  handleLaunchApp(args: {
10
11
  appId: string;
@@ -12,18 +13,42 @@ export declare class ProcessHandler {
12
13
  }): Promise<LaunchResult>;
13
14
  /**
14
15
  * Stop a running application instance.
16
+ * Requires "process/manage" permission.
15
17
  */
16
18
  handleStopApp(args: {
17
19
  appId: string;
18
20
  }): Promise<{
19
21
  success: boolean;
20
22
  }>;
23
+ /**
24
+ * Stop the caller app instance.
25
+ * No explicit permission required - this endpoint only allows self-exit.
26
+ */
27
+ handleExitApp(args: {
28
+ _callerAppId?: string;
29
+ }): Promise<{
30
+ success: boolean;
31
+ }>;
21
32
  /**
22
33
  * List all running application processes.
34
+ * Requires "process/read" permission.
23
35
  * @param showHidden - If true, includes overlay apps (hidden by default)
24
36
  */
25
37
  handleListApps(args: {
26
38
  showHidden?: boolean;
27
39
  }): Promise<AppInstance[]>;
40
+ /**
41
+ * Return CPU and memory metrics for running Eden apps.
42
+ * Requires "process/read" permission.
43
+ * @param showHidden - If true, includes overlay apps and backend-only apps
44
+ * @param pollingTimeoutMs - How long main should keep the shared sampler alive
45
+ * @param waitForAccurateCpu - If false, returns the current sample immediately,
46
+ * even before Electron has a full CPU interval
47
+ */
48
+ handleMetrics(args: {
49
+ showHidden?: boolean;
50
+ pollingTimeoutMs?: number;
51
+ waitForAccurateCpu?: boolean;
52
+ }): Promise<ProcessMetricsSnapshot>;
28
53
  }
29
54
  //# sourceMappingURL=ProcessHandler.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ProcessHandler.d.ts","sourceRoot":"","sources":["../../src/process-manager/ProcessHandler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAE5E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAEvD,qBACa,cAAc;IACzB,OAAO,CAAC,cAAc,CAAiB;gBAE3B,cAAc,EAAE,cAAc;IAI1C;;OAEG;IAEG,eAAe,CAAC,IAAI,EAAE;QAC1B,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,CAAC,EAAE,UAAU,CAAC;KACrB,GAAG,OAAO,CAAC,YAAY,CAAC;IAKzB;;OAEG;IAEG,aAAa,CAAC,IAAI,EAAE;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,CAAA;KAAE,CAAC;IAM3E;;;OAGG;IAEG,cAAc,CAAC,IAAI,EAAE;QAAE,UAAU,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;CAG7E"}
1
+ {"version":3,"file":"ProcessHandler.d.ts","sourceRoot":"","sources":["../../src/process-manager/ProcessHandler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,WAAW,EACX,YAAY,EACZ,sBAAsB,EACtB,UAAU,EACX,MAAM,gBAAgB,CAAC;AAExB,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAEvD,qBACa,cAAc;IACzB,OAAO,CAAC,cAAc,CAAiB;gBAE3B,cAAc,EAAE,cAAc;IAI1C;;;OAGG;IAEG,eAAe,CAAC,IAAI,EAAE;QAC1B,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,CAAC,EAAE,UAAU,CAAC;KACrB,GAAG,OAAO,CAAC,YAAY,CAAC;IAKzB;;;OAGG;IAEG,aAAa,CAAC,IAAI,EAAE;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,CAAA;KAAE,CAAC;IAM3E;;;OAGG;IAEG,aAAa,CAAC,IAAI,EAAE;QACxB,YAAY,CAAC,EAAE,MAAM,CAAC;KACvB,GAAG,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,CAAA;KAAE,CAAC;IAUjC;;;;OAIG;IAEG,cAAc,CAAC,IAAI,EAAE;QAAE,UAAU,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;IAI5E;;;;;;;OAOG;IAEG,aAAa,CAAC,IAAI,EAAE;QACxB,UAAU,CAAC,EAAE,OAAO,CAAC;QACrB,gBAAgB,CAAC,EAAE,MAAM,CAAC;QAC1B,kBAAkB,CAAC,EAAE,OAAO,CAAC;KAC9B,GAAG,OAAO,CAAC,sBAAsB,CAAC;CAOpC"}
@@ -18,6 +18,7 @@ let ProcessHandler = class ProcessHandler {
18
18
  }
19
19
  /**
20
20
  * Launch an application instance.
21
+ * Requires "process/manage" permission.
21
22
  */
22
23
  async handleLaunchApp(args) {
23
24
  const { appId, bounds } = args;
@@ -25,39 +26,76 @@ let ProcessHandler = class ProcessHandler {
25
26
  }
26
27
  /**
27
28
  * Stop a running application instance.
29
+ * Requires "process/manage" permission.
28
30
  */
29
31
  async handleStopApp(args) {
30
32
  const { appId } = args;
31
33
  await this.processManager.stopApp(appId);
32
34
  return { success: true };
33
35
  }
36
+ /**
37
+ * Stop the caller app instance.
38
+ * No explicit permission required - this endpoint only allows self-exit.
39
+ */
40
+ async handleExitApp(args) {
41
+ const { _callerAppId } = args;
42
+ if (!_callerAppId) {
43
+ throw new Error("process/exit requires caller app context");
44
+ }
45
+ await this.processManager.stopApp(_callerAppId);
46
+ return { success: true };
47
+ }
34
48
  /**
35
49
  * List all running application processes.
50
+ * Requires "process/read" permission.
36
51
  * @param showHidden - If true, includes overlay apps (hidden by default)
37
52
  */
38
53
  async handleListApps(args) {
39
54
  return this.processManager.getRunningApps(args.showHidden);
40
55
  }
56
+ /**
57
+ * Return CPU and memory metrics for running Eden apps.
58
+ * Requires "process/read" permission.
59
+ * @param showHidden - If true, includes overlay apps and backend-only apps
60
+ * @param pollingTimeoutMs - How long main should keep the shared sampler alive
61
+ * @param waitForAccurateCpu - If false, returns the current sample immediately,
62
+ * even before Electron has a full CPU interval
63
+ */
64
+ async handleMetrics(args) {
65
+ return await this.processManager.getMetrics(args.showHidden, args.pollingTimeoutMs, args.waitForAccurateCpu);
66
+ }
41
67
  };
42
68
  exports.ProcessHandler = ProcessHandler;
43
69
  __decorate([
44
- (0, ipc_1.EdenHandler)("launch"),
70
+ (0, ipc_1.EdenHandler)("launch", { permission: "manage" }),
45
71
  __metadata("design:type", Function),
46
72
  __metadata("design:paramtypes", [Object]),
47
73
  __metadata("design:returntype", Promise)
48
74
  ], ProcessHandler.prototype, "handleLaunchApp", null);
49
75
  __decorate([
50
- (0, ipc_1.EdenHandler)("stop"),
76
+ (0, ipc_1.EdenHandler)("stop", { permission: "manage" }),
51
77
  __metadata("design:type", Function),
52
78
  __metadata("design:paramtypes", [Object]),
53
79
  __metadata("design:returntype", Promise)
54
80
  ], ProcessHandler.prototype, "handleStopApp", null);
55
81
  __decorate([
56
- (0, ipc_1.EdenHandler)("list"),
82
+ (0, ipc_1.EdenHandler)("exit"),
83
+ __metadata("design:type", Function),
84
+ __metadata("design:paramtypes", [Object]),
85
+ __metadata("design:returntype", Promise)
86
+ ], ProcessHandler.prototype, "handleExitApp", null);
87
+ __decorate([
88
+ (0, ipc_1.EdenHandler)("list", { permission: "read" }),
57
89
  __metadata("design:type", Function),
58
90
  __metadata("design:paramtypes", [Object]),
59
91
  __metadata("design:returntype", Promise)
60
92
  ], ProcessHandler.prototype, "handleListApps", null);
93
+ __decorate([
94
+ (0, ipc_1.EdenHandler)("metrics", { permission: "read" }),
95
+ __metadata("design:type", Function),
96
+ __metadata("design:paramtypes", [Object]),
97
+ __metadata("design:returntype", Promise)
98
+ ], ProcessHandler.prototype, "handleMetrics", null);
61
99
  exports.ProcessHandler = ProcessHandler = __decorate([
62
100
  (0, ipc_1.EdenNamespace)("process"),
63
101
  __metadata("design:paramtypes", [Function])
@@ -1 +1 @@
1
- {"version":3,"file":"ProcessHandler.js","sourceRoot":"","sources":["../../src/process-manager/ProcessHandler.ts"],"names":[],"mappings":";;;;;;;;;;;;AACA,gCAAoD;AAI7C,IAAM,cAAc,GAApB,MAAM,cAAc;IACjB,cAAc,CAAiB;IAEvC,YAAY,cAA8B;QACxC,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC;IACvC,CAAC;IAED;;OAEG;IAEG,AAAN,KAAK,CAAC,eAAe,CAAC,IAGrB;QACC,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;QAC/B,OAAO,MAAM,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IAC5D,CAAC;IAED;;OAEG;IAEG,AAAN,KAAK,CAAC,aAAa,CAAC,IAAuB;QACzC,MAAM,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC;QACvB,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QACzC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IAC3B,CAAC;IAED;;;OAGG;IAEG,AAAN,KAAK,CAAC,cAAc,CAAC,IAA8B;QACjD,OAAO,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAC7D,CAAC;CACF,CAAA;AArCY,wCAAc;AAWnB;IADL,IAAA,iBAAW,EAAC,QAAQ,CAAC;;;;qDAOrB;AAMK;IADL,IAAA,iBAAW,EAAC,MAAM,CAAC;;;;mDAKnB;AAOK;IADL,IAAA,iBAAW,EAAC,MAAM,CAAC;;;;oDAGnB;yBApCU,cAAc;IAD1B,IAAA,mBAAa,EAAC,SAAS,CAAC;;GACZ,cAAc,CAqC1B"}
1
+ {"version":3,"file":"ProcessHandler.js","sourceRoot":"","sources":["../../src/process-manager/ProcessHandler.ts"],"names":[],"mappings":";;;;;;;;;;;;AAMA,gCAAoD;AAI7C,IAAM,cAAc,GAApB,MAAM,cAAc;IACjB,cAAc,CAAiB;IAEvC,YAAY,cAA8B;QACxC,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC;IACvC,CAAC;IAED;;;OAGG;IAEG,AAAN,KAAK,CAAC,eAAe,CAAC,IAGrB;QACC,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;QAC/B,OAAO,MAAM,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IAC5D,CAAC;IAED;;;OAGG;IAEG,AAAN,KAAK,CAAC,aAAa,CAAC,IAAuB;QACzC,MAAM,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC;QACvB,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QACzC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IAC3B,CAAC;IAED;;;OAGG;IAEG,AAAN,KAAK,CAAC,aAAa,CAAC,IAEnB;QACC,MAAM,EAAE,YAAY,EAAE,GAAG,IAAI,CAAC;QAC9B,IAAI,CAAC,YAAY,EAAE,CAAC;YAClB,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;QAC9D,CAAC;QAED,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;QAChD,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IAC3B,CAAC;IAED;;;;OAIG;IAEG,AAAN,KAAK,CAAC,cAAc,CAAC,IAA8B;QACjD,OAAO,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAC7D,CAAC;IAED;;;;;;;OAOG;IAEG,AAAN,KAAK,CAAC,aAAa,CAAC,IAInB;QACC,OAAO,MAAM,IAAI,CAAC,cAAc,CAAC,UAAU,CACzC,IAAI,CAAC,UAAU,EACf,IAAI,CAAC,gBAAgB,EACrB,IAAI,CAAC,kBAAkB,CACxB,CAAC;IACJ,CAAC;CACF,CAAA;AA9EY,wCAAc;AAYnB;IADL,IAAA,iBAAW,EAAC,QAAQ,EAAE,EAAE,UAAU,EAAE,QAAQ,EAAE,CAAC;;;;qDAO/C;AAOK;IADL,IAAA,iBAAW,EAAC,MAAM,EAAE,EAAE,UAAU,EAAE,QAAQ,EAAE,CAAC;;;;mDAK7C;AAOK;IADL,IAAA,iBAAW,EAAC,MAAM,CAAC;;;;mDAWnB;AAQK;IADL,IAAA,iBAAW,EAAC,MAAM,EAAE,EAAE,UAAU,EAAE,MAAM,EAAE,CAAC;;;;oDAG3C;AAWK;IADL,IAAA,iBAAW,EAAC,SAAS,EAAE,EAAE,UAAU,EAAE,MAAM,EAAE,CAAC;;;;mDAW9C;yBA7EU,cAAc;IAD1B,IAAA,mBAAa,EAAC,SAAS,CAAC;;GACZ,cAAc,CA8E1B"}