purity-world-ui 1.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (84) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +39 -0
  3. package/index.cjs +397 -0
  4. package/index.d.ts +1 -0
  5. package/index.js +1939 -0
  6. package/package.json +46 -0
  7. package/style.css +1 -0
  8. package/style.d.ts +1 -0
  9. package/styles/_base.scss +525 -0
  10. package/styles/_mixins.scss +57 -0
  11. package/styles/_theme-dark.scss +103 -0
  12. package/styles/_theme-light.scss +103 -0
  13. package/styles/_themes.scss +34 -0
  14. package/styles/_ui.scss +28 -0
  15. package/styles/_variables.scss +72 -0
  16. package/styles/index.scss +7 -0
  17. package/types/app/shared/behaviors/draggable/draggable.d.ts +14 -0
  18. package/types/app/shared/behaviors/draggable/draggable.d.ts.map +1 -0
  19. package/types/app/shared/behaviors/droppable/droppable.d.ts +23 -0
  20. package/types/app/shared/behaviors/droppable/droppable.d.ts.map +1 -0
  21. package/types/app/shared/components/date-time-picker/date-time-picker.component.d.ts +91 -0
  22. package/types/app/shared/components/date-time-picker/date-time-picker.component.d.ts.map +1 -0
  23. package/types/app/shared/components/expander/expander.component.d.ts +36 -0
  24. package/types/app/shared/components/expander/expander.component.d.ts.map +1 -0
  25. package/types/app/shared/components/loader/loader.component.d.ts +21 -0
  26. package/types/app/shared/components/loader/loader.component.d.ts.map +1 -0
  27. package/types/app/shared/components/modal/modal-view.component.d.ts +19 -0
  28. package/types/app/shared/components/modal/modal-view.component.d.ts.map +1 -0
  29. package/types/app/shared/components/navigation-menu/navigation-menu.component.d.ts +19 -0
  30. package/types/app/shared/components/navigation-menu/navigation-menu.component.d.ts.map +1 -0
  31. package/types/app/shared/components/notification/notification.component.d.ts +13 -0
  32. package/types/app/shared/components/notification/notification.component.d.ts.map +1 -0
  33. package/types/app/shared/components/popover/popover.component.d.ts +45 -0
  34. package/types/app/shared/components/popover/popover.component.d.ts.map +1 -0
  35. package/types/app/shared/components/radial-context-menu/radial-context-menu.component.d.ts +57 -0
  36. package/types/app/shared/components/radial-context-menu/radial-context-menu.component.d.ts.map +1 -0
  37. package/types/app/shared/components/switch-button/switch-button.component.d.ts +27 -0
  38. package/types/app/shared/components/switch-button/switch-button.component.d.ts.map +1 -0
  39. package/types/app/shared/directives/dropdown/dropdown.directive.d.ts +35 -0
  40. package/types/app/shared/directives/dropdown/dropdown.directive.d.ts.map +1 -0
  41. package/types/app/shared/directives/highlight/highlight.directive.d.ts +11 -0
  42. package/types/app/shared/directives/highlight/highlight.directive.d.ts.map +1 -0
  43. package/types/app/shared/interceptors/auth.interceptor.d.ts +11 -0
  44. package/types/app/shared/interceptors/auth.interceptor.d.ts.map +1 -0
  45. package/types/app/shared/interceptors/logging.interceptor.d.ts +9 -0
  46. package/types/app/shared/interceptors/logging.interceptor.d.ts.map +1 -0
  47. package/types/app/shared/pipes/date.pipe.d.ts +10 -0
  48. package/types/app/shared/pipes/date.pipe.d.ts.map +1 -0
  49. package/types/app/shared/pipes/transform-sample.pipe.d.ts +5 -0
  50. package/types/app/shared/pipes/transform-sample.pipe.d.ts.map +1 -0
  51. package/types/app/shared/pipes/uppercase.pipe.d.ts +5 -0
  52. package/types/app/shared/pipes/uppercase.pipe.d.ts.map +1 -0
  53. package/types/app/shared/validators/forms-validation.validator.d.ts +6 -0
  54. package/types/app/shared/validators/forms-validation.validator.d.ts.map +1 -0
  55. package/types/app/shared/widgets/analogue-clock/analogue-clock.component.d.ts +84 -0
  56. package/types/app/shared/widgets/analogue-clock/analogue-clock.component.d.ts.map +1 -0
  57. package/types/data/notify.service.d.ts +65 -0
  58. package/types/data/notify.service.d.ts.map +1 -0
  59. package/types/data/theme.service.d.ts +20 -0
  60. package/types/data/theme.service.d.ts.map +1 -0
  61. package/types/framework/bootstrap.d.ts +42 -0
  62. package/types/framework/bootstrap.d.ts.map +1 -0
  63. package/types/framework/component.d.ts +57 -0
  64. package/types/framework/component.d.ts.map +1 -0
  65. package/types/framework/core.d.ts +46 -0
  66. package/types/framework/core.d.ts.map +1 -0
  67. package/types/framework/di.d.ts +53 -0
  68. package/types/framework/di.d.ts.map +1 -0
  69. package/types/framework/directive.d.ts +47 -0
  70. package/types/framework/directive.d.ts.map +1 -0
  71. package/types/framework/http.d.ts +211 -0
  72. package/types/framework/http.d.ts.map +1 -0
  73. package/types/framework/pipe.d.ts +34 -0
  74. package/types/framework/pipe.d.ts.map +1 -0
  75. package/types/framework/router.d.ts +145 -0
  76. package/types/framework/router.d.ts.map +1 -0
  77. package/types/framework/seo.d.ts +134 -0
  78. package/types/framework/seo.d.ts.map +1 -0
  79. package/types/framework/validator.d.ts +73 -0
  80. package/types/framework/validator.d.ts.map +1 -0
  81. package/types/framework/virtual-for.d.ts +36 -0
  82. package/types/framework/virtual-for.d.ts.map +1 -0
  83. package/types/ui.d.ts +30 -0
  84. package/types/ui.d.ts.map +1 -0
package/package.json ADDED
@@ -0,0 +1,46 @@
1
+ {
2
+ "name": "purity-world-ui",
3
+ "version": "1.0.1",
4
+ "description": "Rich Adwaita glassmorphic UI components, directives, widgets, and behaviors for Purity Framework",
5
+ "type": "module",
6
+ "main": "./index.cjs",
7
+ "module": "./index.js",
8
+ "types": "./index.d.ts",
9
+ "exports": {
10
+ ".": {
11
+ "types": "./index.d.ts",
12
+ "import": "./index.js",
13
+ "require": "./index.cjs"
14
+ },
15
+ "./styles": {
16
+ "types": "./style.d.ts",
17
+ "default": "./style.css"
18
+ },
19
+ "./styles/*": "./styles/*"
20
+ },
21
+ "files": [
22
+ "*.js",
23
+ "*.cjs",
24
+ "*.d.ts",
25
+ "types",
26
+ "style.css",
27
+ "style.d.ts",
28
+ "styles",
29
+ "README.md",
30
+ "LICENSE"
31
+ ],
32
+ "keywords": [
33
+ "purity",
34
+ "purity-world",
35
+ "ui",
36
+ "components",
37
+ "custom-elements",
38
+ "directives",
39
+ "adwaita"
40
+ ],
41
+ "author": "Purity Contributors",
42
+ "license": "MIT",
43
+ "peerDependencies": {
44
+ "purity-world": ">=1.0.0"
45
+ }
46
+ }
package/style.css ADDED
@@ -0,0 +1 @@
1
+ :root{--font-mono: 'Adwaita Mono', 'Source Code Pro', monospace;--font-main: 'Inter', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;--font-size-xs: 12px;--font-size-sm: 13.5px;--font-size-base: 15px;--font-size-lg: 18px;--font-size-xl: 24px;--font-size-xxl: 32px;--radius-window: 16px;--radius-control: 8px;--radius-pill: 999px;--radius-card: 12px;--spacing-xs: 4px;--spacing-sm: 8px;--spacing-md: 12px;--spacing-lg: 16px;--spacing-xl: 24px;--spacing-xxl: 32px;--header-max-width: 1366px;--transition-fast: 0.18s;--transition-normal: 0.28s;--transition-slow: 0.45s;--ease-gnome: cubic-bezier(0.25, 0.8, 0.25, 1);--ease-spring: cubic-bezier(0.34, 1.56, 0.64, 1);--blur-subtle: blur(10px) saturate(150%);--blur-effect: blur(20px) saturate(175%);--blur-heavy: blur(32px) saturate(190%);--cursor-default: url('/cursors/default.svg') 4 4, default;--cursor-pointer: url('/cursors/pointer.svg') 16 4, pointer;--cursor-text: url('/cursors/text.svg') 16 15, text;--cursor-grab: url('/cursors/openhand.svg') 16 16, grab;--cursor-grabbing: url('/cursors/dnd-move.svg') 16 16, grabbing;--cursor-not-allowed: url('/cursors/not-allowed.svg') 16 15, not-allowed;--cursor-crosshair: url('/cursors/crosshair.svg') 17 17, crosshair;--cursor-help: url('/cursors/help.svg') 4 4, help;--cursor-move: url('/cursors/all-scroll.svg') 15 15, move;--cursor-col-resize: url('/cursors/col-resize.svg') 16 15, col-resize;--cursor-row-resize: url('/cursors/row-resize.svg') 16 15, row-resize;--cursor-ew-resize: url('/cursors/size_hor.svg') 16 15, ew-resize;--cursor-ns-resize: url('/cursors/size_ver.svg') 16 15, ns-resize;--cursor-nwse-resize: url('/cursors/size_bdiag.svg') 16 15, nwse-resize;--cursor-nesw-resize: url('/cursors/size_fdiag.svg') 16 15, nesw-resize;--cursor-zoom-in: url('/cursors/zoom-in.svg') 15 15, zoom-in;--cursor-zoom-out: url('/cursors/zoom-out.svg') 15 15, zoom-out;--cursor-context-menu: url('/cursors/context-menu.svg') 4 4, context-menu;--cursor-progress: url('/cursors/progress-01.svg') 4 4, progress;--cursor-wait: url('/cursors/wait-01.svg') 16 15, wait;--cursor-copy: url('/cursors/copy.svg') 16 4, copy;--cursor-alias: url('/cursors/alias.svg') 16 4, alias;--cursor-cell: url('/cursors/cell.svg') 16 16, cell;--cursor-color-picker: url('/cursors/color-picker.svg') 4 16, crosshair;--cursor-pencil: url('/cursors/pencil.svg') 4 16, crosshair;--cursor-vertical-text: url('/cursors/vertical-text.svg') 16 15, vertical-text;--cursor-dnd-no-drop: url('/cursors/dnd-no-drop.svg') 16 15, no-drop}.draggable-target{cursor:var(--cursor-grab, grab);touch-action:none}.draggable-target .drag-handle{cursor:var(--cursor-grab, grab)}.is-dragging{z-index:1000 !important;user-select:none !important;cursor:var(--cursor-grabbing, grabbing) !important;transition:none !important;will-change:transform}.is-dragging .drag-handle{cursor:var(--cursor-grabbing, grabbing) !important}.snap-hit{animation:snap-thud .16s var(--ease-spring, cubic-bezier(0.34, 1.56, 0.64, 1))}@keyframes snap-thud{0%{scale:1}45%{scale:.96}100%{scale:1}}.droppable-hover{outline:2px dashed var(--accent);outline-offset:4px;background-color:rgba(53,132,228,.1) !important;transition:all var(--transition-fast) ease}.droppable-active{border-color:rgba(255,255,255,.2)}.droppable-checking{pointer-events:none !important}.p-highlight{transition:all var(--transition-normal, 0.3s) ease;padding:8px 12px;border-radius:var(--radius-control, 6px);border:1px solid rgba(255,255,255,.2);background-color:rgba(53,132,228,.25)}.p-highlight--blue{background-color:rgba(53,132,228,.3);border-color:rgba(53,132,228,.5)}.p-highlight--green{background-color:rgba(46,194,126,.3);border-color:rgba(46,194,126,.5)}.p-highlight--gold{background-color:rgba(248,228,92,.3);border-color:rgba(248,228,92,.5)}.p-highlight--red{background-color:rgba(237,51,59,.3);border-color:rgba(237,51,59,.5)}.p-highlight--valid{border-color:var(--gnome-success, #2ec27e) !important;box-shadow:0 0 8px rgba(46,194,126,.4)}dropdown,[dropdown],.p-dropdown{position:relative;display:inline-block;max-width:100%;vertical-align:middle;font-family:var(--font-main);user-select:none;-webkit-user-select:none}dropdown .dropdown-trigger,[dropdown] .dropdown-trigger,.p-dropdown .dropdown-trigger{display:inline-flex;align-items:center;justify-content:space-between;gap:12px;width:100%;min-width:150px;padding:9px 14px;margin:0;border-radius:var(--radius-control, 8px);border:1px solid var(--gnome-border);background-color:var(--gnome-input);-webkit-backdrop-filter:var(--blur-subtle);backdrop-filter:var(--blur-subtle);color:var(--text-main);font-family:var(--font-main);font-size:var(--font-size-sm, 13.5px);font-weight:600;cursor:var(--cursor-pointer);outline:none;box-shadow:inset 0 1px 2px rgba(0,0,0,.1),var(--shadow-control);transition:all var(--transition-fast) var(--ease-gnome);box-sizing:border-box}dropdown .dropdown-trigger .dropdown-label,[dropdown] .dropdown-trigger .dropdown-label,.p-dropdown .dropdown-trigger .dropdown-label{display:inline-flex;align-items:center;gap:8px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:left;flex:1}dropdown .dropdown-trigger .dropdown-chevron,[dropdown] .dropdown-trigger .dropdown-chevron,.p-dropdown .dropdown-trigger .dropdown-chevron{display:inline-flex;align-items:center;justify-content:center;color:var(--accent);flex-shrink:0;transition:transform var(--transition-fast) var(--ease-gnome)}dropdown .dropdown-trigger .dropdown-chevron svg,[dropdown] .dropdown-trigger .dropdown-chevron svg,.p-dropdown .dropdown-trigger .dropdown-chevron svg{display:block}dropdown .dropdown-trigger:hover:not(:disabled),[dropdown] .dropdown-trigger:hover:not(:disabled),.p-dropdown .dropdown-trigger:hover:not(:disabled){background-color:var(--gnome-input-hover);border-color:var(--gnome-border-focus);transform:translateY(-1px)}dropdown .dropdown-trigger:focus-visible,[dropdown] .dropdown-trigger:focus-visible,.p-dropdown .dropdown-trigger:focus-visible{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-shadow)}dropdown .dropdown-trigger:disabled,dropdown .dropdown-trigger.disabled,[dropdown] .dropdown-trigger:disabled,[dropdown] .dropdown-trigger.disabled,.p-dropdown .dropdown-trigger:disabled,.p-dropdown .dropdown-trigger.disabled{opacity:.45;cursor:var(--cursor-not-allowed) !important;pointer-events:none;transform:none !important;box-shadow:none !important}dropdown.dropdown-open .dropdown-trigger,dropdown.p-dropdown--open .dropdown-trigger,[dropdown].dropdown-open .dropdown-trigger,[dropdown].p-dropdown--open .dropdown-trigger,.p-dropdown.dropdown-open .dropdown-trigger,.p-dropdown.p-dropdown--open .dropdown-trigger{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-shadow);transform:translateY(0)}dropdown.dropdown-open .dropdown-trigger .dropdown-chevron,dropdown.p-dropdown--open .dropdown-trigger .dropdown-chevron,[dropdown].dropdown-open .dropdown-trigger .dropdown-chevron,[dropdown].p-dropdown--open .dropdown-trigger .dropdown-chevron,.p-dropdown.dropdown-open .dropdown-trigger .dropdown-chevron,.p-dropdown.p-dropdown--open .dropdown-trigger .dropdown-chevron{transform:rotate(180deg)}.p-dropdown-body,.dropdown-body{position:fixed;z-index:10000;width:max-content;max-width:min(380px,100vw - 20px);max-height:320px;overflow-y:auto;overflow-x:hidden;padding:6px;box-sizing:border-box;background:var(--dropdown-bg, rgba(30, 30, 34, 0.96));-webkit-backdrop-filter:var(--blur-heavy);backdrop-filter:var(--blur-heavy);border:1px solid var(--dropdown-border, var(--gnome-border));border-radius:var(--radius-card, 12px);box-shadow:var(--dropdown-shadow, var(--shadow-popup));color:var(--text-main);font-family:var(--font-main);opacity:0;visibility:hidden;pointer-events:none;transform:translateY(-6px) scale(0.98);transform-origin:top center;transition:opacity var(--transition-fast) var(--ease-gnome),transform var(--transition-fast) var(--ease-gnome),visibility var(--transition-fast)}.p-dropdown-body::-webkit-scrollbar,.dropdown-body::-webkit-scrollbar{width:5px;height:5px}.p-dropdown-body::-webkit-scrollbar-track,.dropdown-body::-webkit-scrollbar-track{background:rgba(0,0,0,0)}.p-dropdown-body::-webkit-scrollbar-thumb,.dropdown-body::-webkit-scrollbar-thumb{background:var(--gnome-border);border-radius:999px}.p-dropdown-body::-webkit-scrollbar-thumb:hover,.dropdown-body::-webkit-scrollbar-thumb:hover{background:var(--text-secondary)}.p-dropdown-body.is-open,.dropdown-body.is-open{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0) scale(1)}.p-dropdown-body.placement-top,.dropdown-body.placement-top{transform-origin:bottom center;transform:translateY(6px) scale(0.98)}.p-dropdown-body.placement-top.is-open,.dropdown-body.placement-top.is-open{transform:translateY(0) scale(1)}.p-dropdown-body ul,.p-dropdown-body ol,.dropdown-body ul,.dropdown-body ol{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px;width:100%;box-sizing:border-box}.p-dropdown-body li,.p-dropdown-body a,.p-dropdown-body button.dropdown-item,.p-dropdown-body .dropdown-item,.dropdown-body li,.dropdown-body a,.dropdown-body button.dropdown-item,.dropdown-body .dropdown-item{display:flex;align-items:center;gap:10px;padding:8px 12px;margin:0;border-radius:var(--radius-control, 8px);border:1px solid rgba(0,0,0,0);background:rgba(0,0,0,0);color:var(--text-main);font-family:var(--font-main);font-size:var(--font-size-sm, 13.5px);font-weight:500;text-decoration:none;cursor:var(--cursor-pointer);transition:all var(--transition-fast) var(--ease-gnome);box-sizing:border-box;width:100%;text-align:left;user-select:none;-webkit-user-select:none}.p-dropdown-body li:hover:not(:disabled):not(.disabled),.p-dropdown-body a:hover:not(:disabled):not(.disabled),.p-dropdown-body button.dropdown-item:hover:not(:disabled):not(.disabled),.p-dropdown-body .dropdown-item:hover:not(:disabled):not(.disabled),.dropdown-body li:hover:not(:disabled):not(.disabled),.dropdown-body a:hover:not(:disabled):not(.disabled),.dropdown-body button.dropdown-item:hover:not(:disabled):not(.disabled),.dropdown-body .dropdown-item:hover:not(:disabled):not(.disabled){background:var(--gnome-hover);color:var(--text-main);transform:translateX(2px)}.p-dropdown-body li:active:not(:disabled):not(.disabled),.p-dropdown-body a:active:not(:disabled):not(.disabled),.p-dropdown-body button.dropdown-item:active:not(:disabled):not(.disabled),.p-dropdown-body .dropdown-item:active:not(:disabled):not(.disabled),.dropdown-body li:active:not(:disabled):not(.disabled),.dropdown-body a:active:not(:disabled):not(.disabled),.dropdown-body button.dropdown-item:active:not(:disabled):not(.disabled),.dropdown-body .dropdown-item:active:not(:disabled):not(.disabled){background:var(--gnome-active);transform:translateX(0)}.p-dropdown-body li.is-selected,.p-dropdown-body li.active,.p-dropdown-body a.is-selected,.p-dropdown-body a.active,.p-dropdown-body button.dropdown-item.is-selected,.p-dropdown-body button.dropdown-item.active,.p-dropdown-body .dropdown-item.is-selected,.p-dropdown-body .dropdown-item.active,.dropdown-body li.is-selected,.dropdown-body li.active,.dropdown-body a.is-selected,.dropdown-body a.active,.dropdown-body button.dropdown-item.is-selected,.dropdown-body button.dropdown-item.active,.dropdown-body .dropdown-item.is-selected,.dropdown-body .dropdown-item.active{background:var(--accent-subtle);color:var(--accent);font-weight:600;border-color:var(--accent-shadow)}.p-dropdown-body li:disabled,.p-dropdown-body li.disabled,.p-dropdown-body a:disabled,.p-dropdown-body a.disabled,.p-dropdown-body button.dropdown-item:disabled,.p-dropdown-body button.dropdown-item.disabled,.p-dropdown-body .dropdown-item:disabled,.p-dropdown-body .dropdown-item.disabled,.dropdown-body li:disabled,.dropdown-body li.disabled,.dropdown-body a:disabled,.dropdown-body a.disabled,.dropdown-body button.dropdown-item:disabled,.dropdown-body button.dropdown-item.disabled,.dropdown-body .dropdown-item:disabled,.dropdown-body .dropdown-item.disabled{opacity:.4;cursor:var(--cursor-not-allowed) !important;pointer-events:none}.p-dropdown-body li .item-icon,.p-dropdown-body a .item-icon,.p-dropdown-body button.dropdown-item .item-icon,.p-dropdown-body .dropdown-item .item-icon,.dropdown-body li .item-icon,.dropdown-body a .item-icon,.dropdown-body button.dropdown-item .item-icon,.dropdown-body .dropdown-item .item-icon{font-size:1.1em;line-height:1;flex-shrink:0}.p-dropdown-body li .item-text,.p-dropdown-body a .item-text,.p-dropdown-body button.dropdown-item .item-text,.p-dropdown-body .dropdown-item .item-text,.dropdown-body li .item-text,.dropdown-body a .item-text,.dropdown-body button.dropdown-item .item-text,.dropdown-body .dropdown-item .item-text{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.p-dropdown-body li .item-badge,.p-dropdown-body a .item-badge,.p-dropdown-body button.dropdown-item .item-badge,.p-dropdown-body .dropdown-item .item-badge,.dropdown-body li .item-badge,.dropdown-body a .item-badge,.dropdown-body button.dropdown-item .item-badge,.dropdown-body .dropdown-item .item-badge{font-size:.72rem;font-weight:700;padding:2px 7px;border-radius:var(--radius-pill, 999px);background:var(--accent-subtle);color:var(--accent)}.p-dropdown-body .dropdown-header,.p-dropdown-body h6,.dropdown-body .dropdown-header,.dropdown-body h6{padding:6px 12px 2px;margin:0;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:var(--text-secondary)}.p-dropdown-body hr,.p-dropdown-body .dropdown-divider,.dropdown-body hr,.dropdown-body .dropdown-divider{border:none;border-top:1px solid var(--gnome-border-subtle);margin:4px 6px}[data-theme=light] dropdown .dropdown-trigger,[data-theme=light] [dropdown] .dropdown-trigger,[data-theme=light] .p-dropdown .dropdown-trigger{background-color:var(--gnome-input);border-color:var(--gnome-border);color:var(--text-main)}[data-theme=light] dropdown .dropdown-trigger:hover:not(:disabled),[data-theme=light] [dropdown] .dropdown-trigger:hover:not(:disabled),[data-theme=light] .p-dropdown .dropdown-trigger:hover:not(:disabled){background-color:var(--gnome-input-hover);border-color:var(--gnome-border-focus)}body[data-theme=light] .p-dropdown-body,[data-theme=light] .p-dropdown-body,html[data-theme=light] .p-dropdown-body{background:var(--dropdown-bg, rgba(255, 255, 255, 0.96));border-color:var(--dropdown-border, var(--gnome-border));box-shadow:var(--dropdown-shadow, var(--shadow-popup))}body[data-theme=light] .p-dropdown-body li,body[data-theme=light] .p-dropdown-body a,body[data-theme=light] .p-dropdown-body button.dropdown-item,body[data-theme=light] .p-dropdown-body .dropdown-item,[data-theme=light] .p-dropdown-body li,[data-theme=light] .p-dropdown-body a,[data-theme=light] .p-dropdown-body button.dropdown-item,[data-theme=light] .p-dropdown-body .dropdown-item,html[data-theme=light] .p-dropdown-body li,html[data-theme=light] .p-dropdown-body a,html[data-theme=light] .p-dropdown-body button.dropdown-item,html[data-theme=light] .p-dropdown-body .dropdown-item{color:var(--text-main)}body[data-theme=light] .p-dropdown-body li:hover:not(:disabled):not(.disabled),body[data-theme=light] .p-dropdown-body a:hover:not(:disabled):not(.disabled),body[data-theme=light] .p-dropdown-body button.dropdown-item:hover:not(:disabled):not(.disabled),body[data-theme=light] .p-dropdown-body .dropdown-item:hover:not(:disabled):not(.disabled),[data-theme=light] .p-dropdown-body li:hover:not(:disabled):not(.disabled),[data-theme=light] .p-dropdown-body a:hover:not(:disabled):not(.disabled),[data-theme=light] .p-dropdown-body button.dropdown-item:hover:not(:disabled):not(.disabled),[data-theme=light] .p-dropdown-body .dropdown-item:hover:not(:disabled):not(.disabled),html[data-theme=light] .p-dropdown-body li:hover:not(:disabled):not(.disabled),html[data-theme=light] .p-dropdown-body a:hover:not(:disabled):not(.disabled),html[data-theme=light] .p-dropdown-body button.dropdown-item:hover:not(:disabled):not(.disabled),html[data-theme=light] .p-dropdown-body .dropdown-item:hover:not(:disabled):not(.disabled){background:var(--gnome-hover)}body[data-theme=light] .p-dropdown-body li.is-selected,body[data-theme=light] .p-dropdown-body li.active,body[data-theme=light] .p-dropdown-body a.is-selected,body[data-theme=light] .p-dropdown-body a.active,body[data-theme=light] .p-dropdown-body button.dropdown-item.is-selected,body[data-theme=light] .p-dropdown-body button.dropdown-item.active,body[data-theme=light] .p-dropdown-body .dropdown-item.is-selected,body[data-theme=light] .p-dropdown-body .dropdown-item.active,[data-theme=light] .p-dropdown-body li.is-selected,[data-theme=light] .p-dropdown-body li.active,[data-theme=light] .p-dropdown-body a.is-selected,[data-theme=light] .p-dropdown-body a.active,[data-theme=light] .p-dropdown-body button.dropdown-item.is-selected,[data-theme=light] .p-dropdown-body button.dropdown-item.active,[data-theme=light] .p-dropdown-body .dropdown-item.is-selected,[data-theme=light] .p-dropdown-body .dropdown-item.active,html[data-theme=light] .p-dropdown-body li.is-selected,html[data-theme=light] .p-dropdown-body li.active,html[data-theme=light] .p-dropdown-body a.is-selected,html[data-theme=light] .p-dropdown-body a.active,html[data-theme=light] .p-dropdown-body button.dropdown-item.is-selected,html[data-theme=light] .p-dropdown-body button.dropdown-item.active,html[data-theme=light] .p-dropdown-body .dropdown-item.is-selected,html[data-theme=light] .p-dropdown-body .dropdown-item.active{background:var(--accent-subtle);color:var(--accent)}date-time-picker,:host{display:inline-block;position:relative;font-family:var(--font-main, "Inter", sans-serif)}.date-time-picker-container,.date-picker-container{position:relative;display:inline-block}.picker-toggle{background:var(--gnome-input);-webkit-backdrop-filter:var(--blur-subtle);backdrop-filter:var(--blur-subtle);border:1px solid var(--gnome-border);color:var(--dp-text-main, var(--text-main));padding:8px 16px;border-radius:var(--radius-control);cursor:var(--cursor-pointer);font-family:var(--font-main);font-size:var(--font-size-sm);font-weight:600;display:inline-flex;align-items:center;gap:8px;transition:all var(--transition-fast) var(--ease-gnome);white-space:nowrap;box-shadow:var(--shadow-control);outline:none}.picker-toggle .picker-toggle-icon{font-size:14px;line-height:1}.picker-toggle:hover{background:var(--gnome-input-hover);border-color:var(--gnome-border-focus);transform:translateY(-1px);box-shadow:0 4px 12px var(--accent-shadow)}.picker-toggle:active{transform:translateY(0);background:var(--gnome-input)}.picker-toggle:focus-visible{box-shadow:0 0 0 3px var(--accent-shadow);border-color:var(--accent)}.picker-overlay{display:none;position:fixed;z-index:9999;width:290px;background:var(--dp-surface-bg);-webkit-backdrop-filter:var(--blur-effect);backdrop-filter:var(--blur-effect);border:1px solid var(--dp-border);border-radius:var(--radius-window);padding:16px;box-shadow:var(--dp-shadow);box-sizing:border-box;font-family:var(--font-main);color:var(--dp-text-main, var(--text-main));transition:background-color var(--transition-normal) ease,border-color var(--transition-normal) ease}.picker-overlay.placement-bottom.is-open{animation:gnomeSlideDown .14s cubic-bezier(0, 0, 0.2, 1)}.picker-overlay.placement-top.is-open{animation:gnomeSlideUp .14s cubic-bezier(0, 0, 0.2, 1)}.picker-overlay.is-open{display:flex;flex-direction:column;gap:12px}.picker-overlay.is-closed{display:none}.picker-overlay.blur-enabled{background:var(--dp-surface-blur-bg) !important;-webkit-backdrop-filter:var(--blur-heavy) !important;backdrop-filter:var(--blur-heavy) !important}@keyframes gnomeSlideDown{from{opacity:0;transform:translateY(-8px) scale(0.97)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes gnomeSlideUp{from{opacity:0;transform:translateY(8px) scale(0.97)}to{opacity:1;transform:translateY(0) scale(1)}}.calendar-header{display:flex;align-items:center;justify-content:space-between;gap:8px;padding-bottom:4px}.calendar-header .label-group{display:flex;align-items:center}.calendar-header .label-group .year-toggle-btn{background:rgba(0,0,0,0);border:1px solid rgba(0,0,0,0);color:var(--dp-text-main, var(--text-main));padding:4px 8px;border-radius:var(--radius-control);cursor:var(--cursor-pointer);display:inline-flex;align-items:center;gap:6px;font-size:14.5px;font-weight:700;font-family:var(--font-main);transition:all var(--transition-fast) ease;outline:none}.calendar-header .label-group .year-toggle-btn .chevron-icon{transition:transform var(--transition-fast) var(--ease-spring)}.calendar-header .label-group .year-toggle-btn .chevron-icon.is-rotated{transform:rotate(180deg)}.calendar-header .label-group .year-toggle-btn:hover{background:var(--gnome-hover);border-color:var(--gnome-border-subtle)}.calendar-header .label-group .year-toggle-btn:active{background:var(--gnome-active)}.calendar-header .header-nav{display:flex;align-items:center;gap:4px}.calendar-header .header-nav .nav-btn{background:var(--gnome-input);border:1px solid var(--gnome-border-subtle);color:var(--dp-text-main, var(--text-main));width:28px;height:28px;border-radius:var(--radius-control);display:grid;place-items:center;cursor:var(--cursor-pointer);transition:all var(--transition-fast) ease;outline:none;padding:0}.calendar-header .header-nav .nav-btn:hover{background:var(--gnome-hover);border-color:var(--gnome-border);transform:scale(1.05)}.calendar-header .header-nav .nav-btn:active{transform:scale(0.96)}.picker-content-wrapper{position:relative;min-height:220px}.calendar-body{transition:filter var(--transition-fast) ease,opacity var(--transition-fast) ease}.calendar-body.blurred{filter:blur(6px) !important;opacity:.25 !important;pointer-events:none}.calendar-body .calendar-grid{display:grid;grid-template-columns:repeat(7, 1fr);gap:3px}.calendar-body .calendar-grid .weekday{text-align:center;font-size:11px;font-weight:700;color:var(--dp-text-secondary, var(--text-secondary));text-transform:uppercase;letter-spacing:.5px;padding:4px 0;user-select:none}.calendar-body .calendar-grid .day-cell{aspect-ratio:1/1;background:rgba(0,0,0,0);border:1px solid rgba(0,0,0,0);border-radius:50%;color:var(--dp-text-main, var(--text-main));font-size:12.5px;font-weight:500;font-family:var(--font-main);display:grid;place-items:center;cursor:var(--cursor-pointer);transition:all .15s cubic-bezier(0.4, 0, 0.2, 1);outline:none;padding:0;user-select:none}.calendar-body .calendar-grid .day-cell:hover:not(.disabled):not(.selected){background:var(--gnome-hover);border-color:var(--gnome-border-subtle);transform:scale(1.08)}.calendar-body .calendar-grid .day-cell.off-month{color:var(--text-off)}.calendar-body .calendar-grid .day-cell.today{border-color:var(--accent);color:var(--accent);font-weight:700}.calendar-body .calendar-grid .day-cell.selected{background:var(--accent) !important;color:#fff !important;font-weight:700;box-shadow:0 2px 8px var(--accent-shadow);transform:scale(1.04)}.calendar-body .calendar-grid .day-cell.disabled{opacity:.25;cursor:var(--cursor-not-allowed) !important;pointer-events:none;text-decoration:line-through}.year-selector-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:var(--gnome-surface);-webkit-backdrop-filter:var(--blur-effect);backdrop-filter:var(--blur-effect);border-radius:var(--radius-control);padding:8px 4px;box-sizing:border-box;overflow-y:auto;z-index:10;transition:opacity var(--transition-fast) ease,transform var(--transition-fast) ease}.blur-enabled .year-selector-overlay{background:var(--dp-surface-blur-bg) !important;-webkit-backdrop-filter:var(--blur-heavy) !important;backdrop-filter:var(--blur-heavy) !important}.year-selector-overlay.is-hidden{opacity:0;pointer-events:none;transform:scale(0.95)}.year-selector-overlay.is-visible{opacity:1;pointer-events:auto;transform:scale(1)}.year-selector-overlay .year-grid{display:grid;grid-template-columns:repeat(3, 1fr);gap:6px}.year-selector-overlay .year-grid .year-cell{padding:8px 0;background:var(--gnome-card);border:1px solid var(--gnome-border-subtle);border-radius:var(--radius-control);color:var(--dp-text-main, var(--text-main));font-size:13px;font-weight:600;font-family:var(--font-main);cursor:var(--cursor-pointer);transition:all var(--transition-fast) ease;outline:none;text-align:center}.year-selector-overlay .year-grid .year-cell:hover:not(.selected){background:var(--gnome-hover);border-color:var(--gnome-border);transform:translateY(-1px)}.year-selector-overlay .year-grid .year-cell.selected{background:var(--accent);color:#fff;border-color:var(--accent-hover);box-shadow:0 2px 8px var(--accent-shadow)}.time-picker{display:flex;align-items:center;justify-content:space-between;padding:8px 10px;background:var(--gnome-subtle);border:1px solid var(--gnome-border-subtle);border-radius:var(--radius-control)}.time-picker .time-label{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:600;color:var(--dp-text-secondary, var(--text-secondary))}.time-picker .time-label .time-icon{font-size:13px}.time-picker .time-inner-container .time-input-group{display:inline-flex;align-items:center;background:var(--gnome-input);border:1px solid var(--gnome-border-subtle);border-radius:6px;padding:2px 6px}.time-picker .time-inner-container .time-input-group input{width:24px;background:rgba(0,0,0,0);border:none;color:var(--dp-text-main, var(--text-main));font-family:var(--font-mono, monospace);font-size:13px;font-weight:700;text-align:center;outline:none;padding:2px 0}.time-picker .time-inner-container .time-input-group input:focus{color:var(--accent-hover)}.time-picker .time-inner-container .time-input-group .separator{color:var(--dp-text-secondary, var(--text-secondary));font-weight:700;padding:0 1px;user-select:none}.picker-footer{display:flex;justify-content:flex-end;padding-top:4px}.picker-footer .confirm-button{background:var(--accent);color:#fff;border:1px solid rgba(255,255,255,.15);padding:6px 18px;border-radius:var(--radius-control);font-size:12.5px;font-weight:700;cursor:var(--cursor-pointer);transition:all var(--transition-fast) ease;box-shadow:0 2px 6px var(--accent-shadow);outline:none}.picker-footer .confirm-button:hover{background:var(--accent-hover);transform:translateY(-1px);box-shadow:0 4px 12px var(--accent-shadow)}.picker-footer .confirm-button:active{background:var(--accent-active);transform:translateY(0)}expander,expander-component,.purity-expander,[expander]{display:block;width:100%;box-sizing:border-box;background:var(--gnome-card);backdrop-filter:var(--blur-effect);-webkit-backdrop-filter:var(--blur-effect);border:1px solid var(--gnome-border);border-radius:var(--radius-card, 12px);overflow:hidden;transition:background var(--transition-fast),border-color var(--transition-fast),box-shadow var(--transition-fast);box-shadow:0 2px 8px rgba(0,0,0,.08)}expander:hover,expander-component:hover,.purity-expander:hover,[expander]:hover{border-color:rgba(255,255,255,.18)}expander .title,expander-component .title,.purity-expander .title,[expander] .title{display:flex;align-items:center;gap:var(--spacing-sm, 10px);padding:12px 16px;font-weight:600;font-size:14px;line-height:1.4;color:var(--gnome-text-primary, #ffffff);cursor:var(--cursor-pointer, pointer);user-select:none;outline:none;transition:background var(--transition-fast),color var(--transition-fast)}expander .title:hover,expander-component .title:hover,.purity-expander .title:hover,[expander] .title:hover{background:rgba(255,255,255,.05)}expander .title:focus-visible,expander-component .title:focus-visible,.purity-expander .title:focus-visible,[expander] .title:focus-visible{outline:2px solid var(--accent, #3584e4);outline-offset:-2px}expander .title:active,expander-component .title:active,.purity-expander .title:active,[expander] .title:active{background:rgba(255,255,255,.08)}expander .title img,expander .title .expand-icon,expander .title .icon-expand,expander .title .icon-collapse,expander-component .title img,expander-component .title .expand-icon,expander-component .title .icon-expand,expander-component .title .icon-collapse,.purity-expander .title img,.purity-expander .title .expand-icon,.purity-expander .title .icon-expand,.purity-expander .title .icon-collapse,[expander] .title img,[expander] .title .expand-icon,[expander] .title .icon-expand,[expander] .title .icon-collapse{width:18px;height:18px;flex-shrink:0;object-fit:contain;display:inline-flex;align-items:center;justify-content:center;transition:transform var(--transition-normal)}expander .body,expander-component .body,.purity-expander .body,[expander] .body{display:none;padding:14px 16px 16px 16px;border-top:1px solid var(--gnome-border);font-size:13.5px;line-height:1.5;color:var(--gnome-text-secondary, rgba(255, 255, 255, 0.75));cursor:var(--cursor-default, default);animation:purity-expander-fade-in .18s cubic-bezier(0.25, 1, 0.5, 1)}expander.is-expanded>.body,expander.is-expanded .body,expander[aria-expanded=true]>.body,expander[aria-expanded=true] .body,expander-component.is-expanded>.body,expander-component.is-expanded .body,expander-component[aria-expanded=true]>.body,expander-component[aria-expanded=true] .body,.purity-expander.is-expanded>.body,.purity-expander.is-expanded .body,.purity-expander[aria-expanded=true]>.body,.purity-expander[aria-expanded=true] .body,[expander].is-expanded>.body,[expander].is-expanded .body,[expander][aria-expanded=true]>.body,[expander][aria-expanded=true] .body{display:block}expander.is-collapsed>.body,expander.is-collapsed .body,expander[aria-expanded=false]>.body,expander[aria-expanded=false] .body,expander-component.is-collapsed>.body,expander-component.is-collapsed .body,expander-component[aria-expanded=false]>.body,expander-component[aria-expanded=false] .body,.purity-expander.is-collapsed>.body,.purity-expander.is-collapsed .body,.purity-expander[aria-expanded=false]>.body,.purity-expander[aria-expanded=false] .body,[expander].is-collapsed>.body,[expander].is-collapsed .body,[expander][aria-expanded=false]>.body,[expander][aria-expanded=false] .body{display:none}img.icon-expand,.title img.icon-expand{content:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%233584e4' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E")}img.icon-collapse,.title img.icon-collapse{content:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%233584e4' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='18 15 12 9 6 15'%3E%3C/polyline%3E%3C/svg%3E")}[data-theme=light] expander:hover,[data-theme=light] expander-component:hover,[data-theme=light] .purity-expander:hover,[data-theme=light] [expander]:hover{border-color:rgba(0,0,0,.16)}[data-theme=light] expander .title,[data-theme=light] expander-component .title,[data-theme=light] .purity-expander .title,[data-theme=light] [expander] .title{color:var(--gnome-text-primary, #1c1c1c)}[data-theme=light] expander .title:hover,[data-theme=light] expander-component .title:hover,[data-theme=light] .purity-expander .title:hover,[data-theme=light] [expander] .title:hover{background:rgba(0,0,0,.04)}[data-theme=light] expander .title:active,[data-theme=light] expander-component .title:active,[data-theme=light] .purity-expander .title:active,[data-theme=light] [expander] .title:active{background:rgba(0,0,0,.07)}[data-theme=light] expander .body,[data-theme=light] expander-component .body,[data-theme=light] .purity-expander .body,[data-theme=light] [expander] .body{color:var(--gnome-text-secondary, rgba(0, 0, 0, 0.7))}[data-theme=light] img.icon-expand,[data-theme=light] .title img.icon-expand{content:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%231c71d8' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E")}[data-theme=light] img.icon-collapse,[data-theme=light] .title img.icon-collapse{content:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%231c71d8' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='18 15 12 9 6 15'%3E%3C/polyline%3E%3C/svg%3E")}@keyframes purity-expander-fade-in{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}loader-component{display:inline-block}loader-component.is-loading,loader-component.visible{cursor:var(--cursor-progress) !important}loader-component.is-loading *,loader-component.visible *{cursor:var(--cursor-progress) !important}.loader-inline-root{display:none;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:10px;padding:14px 20px;background:var(--card-bg-subtle, rgba(255, 255, 255, 0.05));border:1px solid var(--border-color, rgba(255, 255, 255, 0.1));border-radius:var(--radius-sm, 8px);color:var(--text-main, #ffffff);font-size:13px;line-height:1.2;transition:opacity .15s ease-out;cursor:var(--cursor-progress) !important}.loader-inline-root *{cursor:var(--cursor-progress) !important}.loader-inline-root.visible{display:inline-flex;animation:fadeIn .15s ease-out}.loader-inline-root .loader-spinner-box{width:48px;height:48px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.loader-inline-root .loader-spinner-box .loader-svg{width:100%;height:100%;animation:rotate 1.2s linear infinite}.loader-inline-root .loader-spinner-box .loader-svg .loader-track{stroke:var(--border-color, rgba(255, 255, 255, 0.15))}.loader-inline-root .loader-spinner-box .loader-svg .loader-head{stroke:var(--accent, #3584e4);stroke-linecap:round;stroke-dasharray:80,150;stroke-dashoffset:0;animation:dash 1.2s ease-in-out infinite}.loader-inline-root .loader-text{font-weight:500;color:var(--text-secondary, #9a9996)}@keyframes rotate{100%{transform:rotate(360deg)}}@keyframes dash{0%{stroke-dasharray:1,150;stroke-dashoffset:0}50%{stroke-dasharray:80,150;stroke-dashoffset:-30}100%{stroke-dasharray:80,150;stroke-dashoffset:-120}}@keyframes fadeIn{from{opacity:0;transform:translateY(-2px)}to{opacity:1;transform:translateY(0)}}modal-view{display:contents}.modal-backdrop{position:fixed;top:0;left:0;right:0;bottom:0;width:100vw;height:100vh;background:rgba(0,0,0,.65);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;opacity:0;visibility:hidden;transition:opacity .25s ease,visibility .25s ease;z-index:10000;pointer-events:none;box-sizing:border-box;padding:16px}.modal-backdrop.is-open{opacity:1;visibility:visible;pointer-events:auto}.modal-backdrop.is-closed{opacity:0;visibility:hidden;pointer-events:none}.modal-dialog{width:90%;max-width:560px;max-height:85vh;display:flex;flex-direction:column;padding:0;overflow:hidden;box-shadow:0 20px 60px rgba(0,0,0,.6);border-radius:var(--radius-window, 16px);transform:scale(0.94) translateY(12px);transition:transform .25s cubic-bezier(0.4, 0, 0.2, 1),width .3s ease,height .3s ease,max-width .3s ease,max-height .3s ease}.is-open .modal-dialog{transform:scale(1) translateY(0)}.is-maximized .modal-dialog{width:96vw;height:94vh;max-width:96vw;max-height:94vh;border-radius:var(--radius-control, 8px)}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:14px 20px;background:var(--gnome-card);border-bottom:1px solid var(--gnome-border)}.modal-title-area{display:flex;align-items:center;gap:10px}.modal-title-area .modal-icon{font-size:18px}.modal-title-area .modal-title{margin:0;font-size:1.1rem;font-weight:700;color:var(--text-main)}.modal-controls{display:flex;align-items:center;gap:8px}.modal-control-btn{background:var(--gnome-input);border:1px solid var(--gnome-border);color:var(--text-main);width:32px;height:32px;border-radius:var(--radius-control);display:flex;align-items:center;justify-content:center;cursor:var(--cursor-pointer);font-size:14px;transition:all var(--transition-fast) ease}.modal-control-btn:hover{background:var(--gnome-hover);border-color:var(--gnome-border-focus)}.modal-control-btn.close-btn:hover{background:var(--gnome-error);border-color:#ed333b;color:#fff}.modal-body{padding:20px;overflow-y:auto;flex:1;font-size:14px;line-height:1.5;color:var(--text-main)}.modal-body p{margin:0 0 12px 0}.modal-body code{font-family:var(--font-mono, monospace);background:var(--accent-subtle, rgba(53, 132, 228, 0.15));border:1px solid var(--accent-shadow);border-radius:4px;padding:2px 6px;font-size:12px;color:var(--accent)}.modal-info-card{background:var(--gnome-card);border:1px solid var(--gnome-border-subtle);border-radius:var(--radius-control);padding:12px 14px;margin-top:14px;display:flex;flex-direction:column;gap:6px}.modal-info-card .status-pill{display:inline-block;padding:2px 8px;border-radius:var(--radius-pill);font-size:11px;font-weight:700;background:var(--gnome-success-bg, rgba(46, 194, 126, 0.2));color:var(--gnome-success);border:1px solid var(--gnome-success)}.modal-footer{display:flex;justify-content:flex-end;align-items:center;gap:10px;padding:14px 20px;background:var(--gnome-subtle);border-top:1px solid var(--gnome-border)}navigation-menu{display:block;position:relative;z-index:9990}.nav-ball-container{position:fixed;bottom:32px;right:32px;z-index:9990;display:flex;flex-direction:column;align-items:center;gap:6px;touch-action:none;user-select:none;-webkit-user-select:none;transform:translate3d(0, 0, 0);transition:filter var(--transition-fast) var(--ease-gnome)}.nav-ball-container.is-dragging{filter:drop-shadow(0 16px 36px rgba(0, 0, 0, 0.6));z-index:9995}.nav-ball-container.is-dragging .nav-drag-handle{opacity:1 !important;transform:translateY(0) scale(1.05) !important;cursor:var(--cursor-grabbing) !important;background:var(--accent) !important;color:#fff !important;border-color:rgba(255,255,255,.3) !important}.nav-ball-container.is-dragging .nav-ball-orb{cursor:var(--cursor-grabbing) !important;transform:scale(1.04);box-shadow:0 16px 36px rgba(0,0,0,.6),0 0 24px var(--accent) !important}.nav-drag-handle{display:inline-flex;align-items:center;gap:4px;padding:3px 8px;font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--text-secondary);background:var(--gnome-surface);-webkit-backdrop-filter:var(--blur-subtle);backdrop-filter:var(--blur-subtle);border:1px solid var(--gnome-border);border-radius:var(--radius-pill, 999px);box-shadow:var(--shadow-popup);cursor:var(--cursor-grab);opacity:0;transform:translateY(4px);pointer-events:auto;transition:opacity var(--transition-fast) var(--ease-gnome),transform var(--transition-fast) var(--ease-gnome),background var(--transition-fast),color var(--transition-fast)}.nav-drag-handle .drag-grip-icon{opacity:.8}.nav-drag-handle:hover{background:var(--gnome-hover);color:var(--text-main);border-color:var(--accent)}.nav-ball-container:hover .nav-drag-handle{opacity:1;transform:translateY(0)}.nav-ball-orb{position:relative;width:62px;height:62px;padding:0;margin:0;border-radius:50%;display:flex;align-items:center;justify-content:center;background:radial-gradient(circle at 35% 25%, rgba(53, 132, 228, 0.42), rgba(36, 36, 36, 0.95) 75%);-webkit-backdrop-filter:var(--blur-window);backdrop-filter:var(--blur-window);border:1.5px solid rgba(255,255,255,.22);box-shadow:0 10px 28px rgba(0,0,0,.5),inset 0 2px 4px rgba(255,255,255,.3),0 0 16px var(--accent-shadow);cursor:var(--cursor-pointer);overflow:hidden;outline:none;transition:transform var(--transition-fast) var(--ease-spring),box-shadow var(--transition-fast) var(--ease-gnome),border-color var(--transition-fast)}.nav-ball-orb .orb-shine{position:absolute;top:2px;left:15%;width:70%;height:38%;border-radius:50%;background:linear-gradient(to bottom, rgba(255, 255, 255, 0.55), rgba(255, 255, 255, 0.05) 80%, transparent);pointer-events:none}.nav-ball-orb .orb-glow{position:absolute;inset:0;border-radius:50%;background:radial-gradient(circle at 50% 50%, var(--accent-subtle), transparent 70%);pointer-events:none;opacity:.8;transition:opacity var(--transition-fast)}.nav-ball-orb .orb-icon{font-size:1.95rem;line-height:1;display:flex;align-items:center;justify-content:center;filter:drop-shadow(0 2px 6px var(--accent-shadow));transition:transform var(--transition-fast) var(--ease-gnome);z-index:1}.nav-ball-orb:hover{transform:scale(1.08) translateY(-2px);border-color:rgba(255,255,255,.4);box-shadow:0 14px 34px rgba(0,0,0,.6),inset 0 2px 6px rgba(255,255,255,.4),0 0 24px var(--accent)}.nav-ball-orb:hover .orb-icon{transform:rotate(20deg) scale(1.1)}.nav-ball-orb:hover .orb-glow{opacity:1}.nav-ball-orb:active{transform:scale(0.95);box-shadow:0 6px 16px rgba(0,0,0,.4)}@keyframes pNavHighlightPulse{0%{outline:3px solid var(--accent);outline-offset:4px;box-shadow:0 0 0 6px var(--accent-shadow),var(--shadow-deep)}50%{outline:3px solid var(--accent-hover);outline-offset:6px;box-shadow:0 0 0 12px var(--accent-shadow),var(--shadow-deep)}100%{outline:3px solid rgba(0,0,0,0);outline-offset:8px;box-shadow:none}}.p-nav-highlight{animation:pNavHighlightPulse 1.8s var(--ease-gnome) forwards;border-radius:var(--radius-window, 16px)}[data-theme=light] .nav-drag-handle{background:rgba(255,255,255,.9);border-color:var(--gnome-border);color:var(--text-main);box-shadow:var(--shadow-popup)}[data-theme=light] .nav-drag-handle:hover{background:#fff;border-color:var(--accent)}[data-theme=light] .nav-ball-orb{background:radial-gradient(circle at 35% 25%, rgba(28, 113, 216, 0.35), rgba(246, 246, 246, 0.95) 75%);border-color:rgba(28,113,216,.35);box-shadow:0 10px 24px rgba(0,0,0,.15),inset 0 2px 4px rgba(255,255,255,.9),0 0 12px var(--accent-shadow)}[data-theme=light] .nav-ball-orb .orb-shine{background:linear-gradient(to bottom, rgba(255, 255, 255, 0.9), rgba(255, 255, 255, 0.2) 80%, transparent)}[data-theme=light] .nav-ball-orb:hover{border-color:var(--accent);box-shadow:0 14px 30px rgba(0,0,0,.2),inset 0 2px 6px #fff,0 0 20px var(--accent)}notification-component,:host{display:contents !important;background:none !important;background-color:rgba(0,0,0,0) !important;box-shadow:none !important;border:none !important;margin:0 !important;padding:0 !important}.notification-container{position:fixed;top:0;left:0;right:0;bottom:0;pointer-events:none;z-index:10000;overflow:hidden;background:rgba(0,0,0,0) !important;box-shadow:none !important;border:none !important;margin:0 !important;padding:0 !important}.toast-stack{position:fixed;display:flex;flex-direction:column;gap:10px;padding:16px;box-sizing:border-box;max-height:100vh;overflow-y:auto;pointer-events:none;z-index:10000;background:rgba(0,0,0,0) !important;box-shadow:none !important;border:none !important}.toast-stack::-webkit-scrollbar{width:4px;height:4px}.toast-stack::-webkit-scrollbar-track{background:rgba(0,0,0,0)}.toast-stack::-webkit-scrollbar-thumb{background:var(--gnome-border);border-radius:999px}.toast-stack::-webkit-scrollbar-thumb:hover{background:var(--text-secondary)}.toast-stack.pos-top-right{top:0;right:0;align-items:flex-end}.toast-stack.pos-top-left{top:0;left:0;align-items:flex-start}.toast-stack.pos-top-center{top:0;left:50%;transform:translateX(-50%);align-items:center}.toast-stack.pos-bottom-right{bottom:0;right:0;align-items:flex-end;flex-direction:column-reverse}.toast-stack.pos-bottom-left{bottom:0;left:0;align-items:flex-start;flex-direction:column-reverse}.toast-stack.pos-bottom-center{bottom:0;left:50%;transform:translateX(-50%);align-items:center;flex-direction:column-reverse}.toast-stack.pos-center{top:50%;left:50%;transform:translate(-50%, -50%);align-items:center}.toast-card{pointer-events:auto;margin:0 !important;display:flex;align-items:flex-start;gap:12px;min-width:280px;max-width:420px;min-height:52px;max-height:200px;padding:12px 14px;background:var(--gnome-header);border:1px solid var(--gnome-border);border-radius:14px;box-shadow:0 8px 24px rgba(0,0,0,.35);transition:transform var(--transition-fast) var(--ease-gnome),opacity var(--transition-fast) ease;box-sizing:border-box;overflow:hidden}.toast-card.toast-blink{animation:toastBlink 1.2s infinite alternate ease-in-out}.toast-card.toast-success{border-color:rgba(46,194,126,.35);box-shadow:inset 4px 0 0 0 var(--gnome-success),0 8px 24px rgba(0,0,0,.35)}.toast-card.toast-success .toast-icon::before{content:"✓";color:var(--gnome-success);background:var(--gnome-success-bg)}.toast-card.toast-error{border-color:rgba(237,51,59,.35);box-shadow:inset 4px 0 0 0 var(--gnome-error),0 8px 24px rgba(0,0,0,.35)}.toast-card.toast-error .toast-icon::before{content:"✕";color:var(--gnome-error);background:var(--gnome-error-bg)}.toast-card.toast-warn{border-color:rgba(248,228,92,.35);box-shadow:inset 4px 0 0 0 var(--gnome-warn),0 8px 24px rgba(0,0,0,.35)}.toast-card.toast-warn .toast-icon::before{content:"⚠";color:var(--gnome-warn);background:var(--gnome-warn-bg)}.toast-card.toast-info{border-color:rgba(53,132,228,.35);box-shadow:inset 4px 0 0 0 var(--gnome-info),0 8px 24px rgba(0,0,0,.35)}.toast-card.toast-info .toast-icon::before{content:"ℹ";color:var(--gnome-info);background:var(--gnome-info-bg)}.toast-card .toast-icon-wrapper{display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:1px}.toast-card .toast-icon-wrapper .toast-icon::before{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:var(--radius-pill);font-size:12px;font-weight:800}.toast-card .toast-body{display:flex;flex-direction:column;gap:3px;flex:1;overflow-y:auto}.toast-card .toast-body::-webkit-scrollbar{width:3px;height:3px}.toast-card .toast-body::-webkit-scrollbar-track{background:rgba(0,0,0,0)}.toast-card .toast-body::-webkit-scrollbar-thumb{background:var(--gnome-border);border-radius:999px}.toast-card .toast-body::-webkit-scrollbar-thumb:hover{background:var(--text-secondary)}.toast-card .toast-body .toast-title{font-size:13.5px;font-weight:700;color:var(--text-main);line-height:1.3}.toast-card .toast-body .toast-subtitle{font-size:12px;color:var(--text-secondary);line-height:1.4;word-break:break-word}.toast-card .toast-close-btn{background:rgba(0,0,0,0);border:none;color:var(--text-secondary);font-size:13px;padding:3px 6px;border-radius:var(--radius-control);cursor:var(--cursor-pointer);transition:all var(--transition-fast) ease;flex-shrink:0;margin-top:-2px;margin-right:-4px;display:inline-flex;align-items:center;gap:5px}.toast-card .toast-close-btn .toast-countdown{font-family:var(--font-mono, monospace);font-size:11px;font-weight:700;color:var(--text-muted);line-height:1;padding:2px 5px;border-radius:var(--radius-pill, 999px);background:var(--gnome-input, rgba(255, 255, 255, 0.08));border:1px solid var(--gnome-border-subtle, rgba(255, 255, 255, 0.06));letter-spacing:-0.2px}.toast-card .toast-close-btn .toast-countdown:empty{display:none}.toast-card .toast-close-btn .toast-close-icon{font-size:12px;line-height:1}.toast-card .toast-close-btn:hover{background:var(--gnome-hover);color:var(--text-main)}.toast-card .toast-close-btn:hover .toast-countdown{color:var(--text-main);border-color:var(--gnome-border)}.toast-card .toast-close-btn:active{background:var(--gnome-active)}@keyframes toastSlideIn{from{opacity:0;transform:translateY(-8px) scale(0.95)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes toastBlink{0%{box-shadow:0 8px 24px rgba(0,0,0,.35);filter:brightness(1)}100%{box-shadow:0 0 24px var(--accent-shadow),0 8px 28px rgba(0,0,0,.5);filter:brightness(1.2)}}:host{display:none}.purity-popover-portal{position:fixed;z-index:1050;top:-9999px;left:-9999px;opacity:0;visibility:hidden;pointer-events:none;transition:opacity var(--transition-fast, 0.18s) cubic-bezier(0.25, 0.8, 0.25, 1),transform var(--transition-fast, 0.18s) cubic-bezier(0.25, 0.8, 0.25, 1),visibility var(--transition-fast, 0.18s);transform:scale(0.96);box-sizing:border-box}.purity-popover-portal.is-open{opacity:1;visibility:visible;pointer-events:auto;transform:scale(1)}.purity-popover-portal .popover-surface{position:relative;background:var(--popover-bg, var(--gnome-surface));border:1px solid var(--popover-border, var(--gnome-border));border-radius:var(--radius-card, 12px);-webkit-backdrop-filter:var(--blur-effect);backdrop-filter:var(--blur-effect);box-shadow:var(--popover-shadow, var(--shadow-popup));padding:14px 18px;color:var(--text-main);min-width:140px;max-width:320px;font-size:13.5px;line-height:1.45;box-sizing:border-box}.purity-popover-portal .popover-surface h1,.purity-popover-portal .popover-surface h2,.purity-popover-portal .popover-surface h3,.purity-popover-portal .popover-surface h4,.purity-popover-portal .popover-surface h5,.purity-popover-portal .popover-surface h6{margin:0 0 6px 0;color:var(--text-main);font-size:14px;font-weight:700;letter-spacing:-0.01em}.purity-popover-portal .popover-surface p,.purity-popover-portal .popover-surface div{margin:0;color:var(--text-secondary);font-size:12.5px;line-height:1.4}.purity-popover-portal .popover-arrow{position:absolute;width:12px;height:12px;background:var(--popover-bg, var(--gnome-surface));border:1px solid var(--popover-border, var(--gnome-border));transform:rotate(45deg);z-index:1;pointer-events:none;box-sizing:border-box}.purity-popover-portal.pos-top .popover-arrow{bottom:-6px;left:50%;margin-left:-6px;border-top:none;border-left:none}.purity-popover-portal.pos-bottom .popover-arrow{top:-6px;left:50%;margin-left:-6px;border-bottom:none;border-right:none}.purity-popover-portal.pos-left .popover-arrow{right:-6px;top:50%;margin-top:-6px;border-left:none;border-bottom:none}.purity-popover-portal.pos-right .popover-arrow{left:-6px;top:50%;margin-top:-6px;border-right:none;border-top:none}radial-context-menu,:host{display:none}.radial-menu{position:fixed;border-radius:50%;z-index:9999;pointer-events:none;opacity:0;transform:scale(0.8);transition:transform .3s cubic-bezier(0.4, 0, 0.2, 1),opacity .3s ease,background-color var(--transition-normal) ease;background:var(--radial-bg, rgba(30, 30, 30, 0.92));-webkit-backdrop-filter:var(--blur-effect);backdrop-filter:var(--blur-effect);box-shadow:0 0 0 1px var(--gnome-border),var(--shadow-deep);border:1px solid var(--radial-border, var(--gnome-border));overflow:hidden;contain:paint;box-sizing:border-box}.radial-menu.active{opacity:1;transform:scale(1);pointer-events:auto}.radial-menu.blur-enabled{background:var(--radial-blur-bg, rgba(30, 30, 30, 0.75));-webkit-backdrop-filter:var(--blur-heavy);backdrop-filter:var(--blur-heavy)}.items-container{position:absolute;top:0;left:0;width:100%;height:100%;transition:all .4s cubic-bezier(0.4, 0, 0.2, 1);opacity:0}.items-container.entering{opacity:0;transform:scale(0.85)}.items-container.exiting{opacity:0;transform:scale(1.15)}.items-container.active{opacity:1;transform:scale(1)}.menu-segment{position:absolute;top:0;left:0;width:100%;height:100%;cursor:var(--cursor-pointer);display:flex;justify-content:center;align-items:center;pointer-events:auto;transform:translateZ(0);will-change:clip-path;isolation:isolate}.menu-segment .segment-glass{position:absolute;top:0;left:0;width:100%;height:100%;background:radial-gradient(circle at 50% 0%, rgba(255, 255, 255, 0.15), transparent);background-color:var(--radial-segment-bg, rgba(45, 45, 45, 0.7));transition:all var(--transition-fast) cubic-bezier(0.4, 0, 0.2, 1);z-index:1;box-shadow:inset 0 1px 1px rgba(255,255,255,.2),inset 0 -1px 1px rgba(0,0,0,.15)}.menu-segment .segment-shine{position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(135deg, rgba(255, 255, 255, 0.15) 0%, transparent 60%);opacity:.4;z-index:2;pointer-events:none;transition:opacity var(--transition-fast) ease}.menu-segment:hover .segment-glass{background-color:var(--accent);box-shadow:inset 0 1px 3px rgba(255,255,255,.45),0 0 18px var(--accent-shadow)}.menu-segment:hover .segment-shine{opacity:1}.menu-segment .segment-label{position:absolute;transform:translate(-50%, -50%);font-size:1.45rem;color:var(--radial-text, #ffffff);pointer-events:none;transition:all .25s cubic-bezier(0.34, 1.56, 0.64, 1);z-index:3;display:flex;align-items:center;justify-content:center;width:38px;height:38px;user-select:none;line-height:1}.menu-segment .segment-label svg{width:24px;height:24px;stroke:currentColor;color:currentColor;display:block;pointer-events:none;transition:transform var(--transition-fast) ease,stroke var(--transition-fast) ease}.menu-segment .segment-label img.segment-icon{width:24px;height:24px;filter:brightness(0) invert(1);display:block;pointer-events:none;transition:transform var(--transition-fast) ease}.menu-segment:hover .segment-label{transform:translate(-50%, -50%) scale(1.22);filter:drop-shadow(0 0 8px rgba(255, 255, 255, 0.6));color:#fff}.menu-segment:hover .segment-label svg{stroke:#fff;color:#fff}.menu-segment .submenu-indicator{position:absolute;width:5px;height:5px;background:var(--accent, #3584e4);border-radius:50%;transform:translate(-50%, -50%);opacity:.85;z-index:4;box-shadow:0 0 6px var(--accent-shadow);pointer-events:none;transition:transform var(--transition-fast) ease}.menu-segment:hover .submenu-indicator{opacity:1;background:#fff;transform:translate(-50%, -50%) scale(1.6);box-shadow:0 0 6px rgba(255,255,255,.8)}.center-button{position:absolute;top:50%;left:50%;transform:translate(-50%, -50%);width:88px;height:88px;background:var(--gnome-surface-solid, #2c2c2c);border:1px solid var(--gnome-border);border-radius:50%;display:grid;place-items:center;cursor:var(--cursor-pointer);z-index:10;transition:all var(--transition-fast) cubic-bezier(0.4, 0, 0.2, 1);box-shadow:var(--shadow-deep),inset 0 2px 4px rgba(255,255,255,.2);pointer-events:auto;overflow:hidden;outline:none;padding:0}.center-button:hover{transform:translate(-50%, -50%) scale(1.06);border-color:var(--accent);box-shadow:0 6px 22px var(--accent-shadow),inset 0 2px 6px rgba(255,255,255,.35)}.center-button .center-icon{font-size:1.6rem;font-weight:700;color:var(--text-main, #ffffff);display:block;width:70px;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:all var(--transition-fast) ease;text-shadow:0 0 8px var(--accent-shadow);pointer-events:none;user-select:none;line-height:1}.menu-title-pop{position:absolute;top:50%;left:50%;transform:translate(-50%, -50%);width:80px;text-align:center;z-index:15;pointer-events:none;opacity:0;transition:all var(--transition-fast) cubic-bezier(0.23, 1, 0.32, 1);font-size:11px;font-weight:700;color:var(--text-main, #ffffff);font-family:var(--font-main);text-transform:uppercase;letter-spacing:.8px;text-shadow:0 0 10px var(--accent-shadow);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;user-select:none}.menu-title-pop.visible{opacity:1;transform:translate(-50%, -50%) scale(1.05)}:host,switch-button{display:inline-flex;align-items:center;vertical-align:middle;outline:none;cursor:var(--cursor-pointer);user-select:none;-webkit-user-select:none;-webkit-tap-highlight-color:rgba(0,0,0,0);border-radius:var(--radius-pill);transition:opacity var(--transition-fast) var(--ease-gnome)}:host:focus-visible,switch-button:focus-visible{box-shadow:0 0 0 2px var(--gnome-border-focus)}:host.is-disabled,:host[disabled],switch-button.is-disabled,switch-button[disabled]{cursor:var(--cursor-not-allowed);opacity:.5;pointer-events:none}.switch-container{display:inline-flex;align-items:center;gap:var(--spacing-sm);cursor:inherit}.switch-container.is-disabled{cursor:var(--cursor-not-allowed)}.switch-track{position:relative;display:inline-flex;align-items:center;width:46px;height:26px;border-radius:var(--radius-pill);background:var(--gnome-input);border:1px solid var(--gnome-border);box-sizing:border-box;cursor:inherit;transition:background-color var(--transition-normal) var(--ease-gnome),border-color var(--transition-normal) var(--ease-gnome),box-shadow var(--transition-normal) var(--ease-gnome)}.switch-track:hover{border-color:var(--gnome-border-focus);background:var(--gnome-input-hover)}.switch-thumb{position:absolute;left:3px;width:18px;height:18px;border-radius:50%;background:#fff;box-shadow:0 2px 4px rgba(0,0,0,.28),0 1px 2px rgba(0,0,0,.16);transition:transform var(--transition-normal) var(--ease-gnome),width var(--transition-fast) var(--ease-gnome),background-color var(--transition-fast) var(--ease-gnome),box-shadow var(--transition-fast) var(--ease-gnome);transform:translateX(0)}:host(:active:not(.is-disabled)) .switch-thumb,switch-button:active:not(.is-disabled) .switch-thumb{width:21px}.switch-container.is-on .switch-track,:host(.is-on) .switch-container .switch-track{background:var(--accent);border-color:var(--accent-hover);box-shadow:0 0 10px var(--accent-shadow)}.switch-container.is-on .switch-track:hover,:host(.is-on) .switch-container .switch-track:hover{background:var(--accent-hover);border-color:var(--accent-active)}.switch-container.is-on .switch-thumb,:host(.is-on) .switch-container .switch-thumb{transform:translateX(20px);background:#fff}:host(:active:not(.is-disabled).is-on) .switch-thumb,switch-button:active:not(.is-disabled).is-on .switch-thumb{transform:translateX(17px);width:21px}.switch-label{font-family:var(--font-main);font-size:var(--font-size-base);font-weight:500;color:var(--text-main);line-height:1.4;cursor:inherit;transition:color var(--transition-fast) var(--ease-gnome)}.switch-label:empty{display:none}analogue-clock{display:block;width:100%}.analogue-clock-widget{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:24px;border-radius:var(--radius-card);background:var(--gnome-surface);-webkit-backdrop-filter:var(--blur-window);backdrop-filter:var(--blur-window);border:1px solid var(--gnome-border);box-shadow:var(--shadow-popup);transition:all var(--transition-normal) var(--ease-gnome);overflow:hidden}.analogue-clock-widget::before{content:"";position:absolute;inset:0;border-radius:inherit;background:radial-gradient(circle at 50% 0%, var(--accent-subtle), transparent 70%);pointer-events:none;opacity:.6;transition:opacity var(--transition-normal)}.analogue-clock-widget:hover::before{opacity:.9}.clock-header{width:100%;display:flex;align-items:center;justify-content:space-between;margin-bottom:20px;padding-bottom:12px;border-bottom:1px solid var(--gnome-border-subtle)}.clock-header .clock-title-group{display:flex;align-items:center;gap:10px}.clock-header .clock-title-group .clock-icon{font-size:1.25rem;filter:drop-shadow(0 2px 6px var(--accent-shadow))}.clock-header .clock-title-group .clock-title{font-size:1.05rem;font-weight:700;color:var(--text-main);letter-spacing:-0.01em}.clock-header .clock-title-group .clock-badge{font-size:.72rem;font-weight:600;padding:2px 8px;border-radius:999px;background:var(--accent-subtle);color:var(--accent);border:1px solid var(--accent-shadow);text-transform:uppercase;letter-spacing:.04em}.clock-header .clock-tz-badge{display:inline-flex;align-items:center;gap:6px;font-family:var(--font-mono, "Adwaita Mono", monospace);font-size:.76rem;font-weight:600;color:var(--accent);background:var(--accent-subtle);-webkit-backdrop-filter:var(--blur-subtle);backdrop-filter:var(--blur-subtle);padding:4px 12px;border-radius:var(--radius-pill, 999px);border:1px solid var(--accent-shadow);box-shadow:0 2px 8px var(--accent-shadow),inset 0 1px rgba(255,255,255,.1);letter-spacing:.02em;transition:all var(--transition-fast) var(--ease-gnome)}.clock-header .clock-tz-badge .tz-icon{font-size:.82rem;line-height:1;display:inline-flex;align-items:center}.clock-header .clock-tz-badge .tz-text{line-height:1.2}.clock-header .clock-tz-badge:hover{transform:translateY(-1px);box-shadow:0 4px 14px var(--accent-shadow),inset 0 1px rgba(255,255,255,.2)}.clock-stage{position:relative;display:flex;align-items:center;justify-content:center;padding:12px;border-radius:50%;background:radial-gradient(circle at 50% 30%, var(--gnome-subtle), transparent 70%)}.clock-stage .clock-canvas{display:block;cursor:var(--cursor-pointer);user-select:none;-webkit-user-select:none;border-radius:50%;filter:drop-shadow(0 14px 28px rgba(0, 0, 0, 0.35));transition:transform var(--transition-fast) var(--ease-gnome),filter var(--transition-fast)}.clock-stage .clock-canvas:hover{transform:scale(1.015);filter:drop-shadow(0 18px 36px rgba(0, 0, 0, 0.45))}.clock-stage .clock-canvas:active{transform:scale(0.99)}.clock-digital-readout{display:flex;flex-direction:column;align-items:center;gap:4px;margin-top:18px;padding:10px 24px;border-radius:var(--radius-control, 8px);background:var(--gnome-card);border:1px solid var(--gnome-border-subtle);box-shadow:inset 0 1px 2px rgba(0,0,0,.15)}.clock-digital-readout .digital-time{font-family:"Adwaita Mono",monospace;font-size:1.45rem;font-weight:700;color:var(--text-main);letter-spacing:.05em;text-shadow:0 2px 8px var(--accent-shadow)}.clock-digital-readout .digital-date{font-size:.82rem;font-weight:500;color:var(--text-secondary);letter-spacing:.02em}.clock-controls{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:10px;margin-top:20px;width:100%}.clock-controls .clock-control-btn{margin:0;display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:9px 16px;font-family:var(--font-main);font-size:var(--font-size-sm, 13.5px);font-weight:600;border-radius:var(--radius-control, 8px);border:1px solid var(--gnome-border);background:var(--gnome-card);color:var(--text-main);cursor:var(--cursor-pointer);box-shadow:var(--shadow-control);transition:all var(--transition-fast) var(--ease-gnome)}.clock-controls .clock-control-btn:hover:not(:disabled){background:var(--gnome-hover);border-color:var(--gnome-border-focus);color:var(--text-main);transform:translateY(-1px);box-shadow:0 4px 12px rgba(0,0,0,.15)}.clock-controls .clock-control-btn:active:not(:disabled){transform:translateY(0);background:var(--gnome-active)}.clock-controls .clock-control-btn.is-active{background-color:var(--accent);background-image:linear-gradient(to bottom, rgba(255, 255, 255, 0.15), transparent);color:#fff;border-color:rgba(0,0,0,.15);box-shadow:0 2px 8px var(--accent-shadow),inset 0 1px rgba(255,255,255,.25)}.clock-controls .clock-control-btn.is-active:hover:not(:disabled){background-color:var(--accent-hover);box-shadow:0 4px 14px var(--accent-shadow),inset 0 1px rgba(255,255,255,.25)}.clock-controls .tz-dropdown .dropdown-trigger{margin:0;padding:9px 16px;font-family:var(--font-main);font-size:var(--font-size-sm, 13.5px);font-weight:600;border-radius:var(--radius-control, 8px);border:1px solid var(--gnome-border);background-color:var(--gnome-card);-webkit-backdrop-filter:var(--blur-subtle);backdrop-filter:var(--blur-subtle);color:var(--text-main);box-shadow:var(--shadow-control)}.clock-controls .tz-dropdown .dropdown-trigger:hover:not(:disabled){background-color:var(--gnome-hover);border-color:var(--gnome-border-focus)}.clock-controls .tz-dropdown .dropdown-trigger:focus-visible{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-shadow)}[data-theme=light] .analogue-clock-widget{box-shadow:var(--shadow-deep);background:var(--gnome-surface);border-color:var(--gnome-border)}[data-theme=light] .analogue-clock-widget::before{background:radial-gradient(circle at 50% 0%, rgba(28, 113, 216, 0.12), transparent 70%)}[data-theme=light] .clock-header .clock-tz-badge{background:var(--accent-subtle);color:var(--accent);border-color:var(--accent-shadow);box-shadow:0 2px 6px var(--accent-shadow),inset 0 1px rgba(255,255,255,.8)}[data-theme=light] .clock-stage .clock-canvas{filter:drop-shadow(0 10px 24px rgba(0, 0, 0, 0.12))}[data-theme=light] .clock-stage .clock-canvas:hover{filter:drop-shadow(0 14px 30px rgba(0, 0, 0, 0.18))}[data-theme=light] .clock-digital-readout{background:rgba(255,255,255,.85);box-shadow:0 2px 8px rgba(0,0,0,.04),inset 0 1px rgba(255,255,255,.9);border-color:var(--gnome-border-subtle)}[data-theme=light] .clock-digital-readout .digital-time{color:var(--text-main);text-shadow:none}[data-theme=light] .clock-controls .clock-control-btn{background:var(--gnome-card);border-color:var(--gnome-border);color:var(--text-main)}[data-theme=light] .clock-controls .clock-control-btn:hover:not(:disabled){background:var(--gnome-hover);border-color:var(--gnome-border-focus)}[data-theme=light] .clock-controls .clock-control-btn.is-active{background-color:var(--accent);color:#fff;border-color:rgba(0,0,0,.15);box-shadow:0 2px 8px var(--accent-shadow)}[data-theme=light] .clock-controls .tz-dropdown .dropdown-trigger{background-color:var(--gnome-card);border-color:var(--gnome-border);color:var(--text-main)}[data-theme=light] .clock-controls .tz-dropdown .dropdown-trigger:hover:not(:disabled){background-color:var(--gnome-hover);border-color:var(--gnome-border-focus)}
package/style.d.ts ADDED
@@ -0,0 +1 @@
1
+ declare const css: string; export default css;