@nice2dev/ui-graphics 1.3.17 → 1.3.18

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,19 @@
1
1
  # @nice2dev/ui-graphics — Changelog
2
2
 
3
+ ## 1.3.18
4
+
5
+ ### Patch Changes
6
+
7
+ - 92418c0: OmniVerk wishlist §3, packaging:
8
+
9
+ - No test declarations in `dist` any more: erp-adapter (16 files), auth (12), ui-communication (8), ui-presentations
10
+ (14), and the test `setup.d.ts` of ui-3d, ui-graphics and game-engine.
11
+ - **One stylesheet per package**: icons, ui-3d and ui-graphics ship theirs in `dist/esm` only — where `exports`
12
+ points; the `dist/cjs` copy was reached from nothing.
13
+ - design-tokens builds its CLI as ES modules only: `bin` and `./cli` point at `dist/cli/index.js`; the CommonJS
14
+ `dist/cli/index.cjs` nothing referred to is gone.
15
+ - ui README: the Tools section and its link say 12 components (the link pointed at `#tools-14-components`).
16
+
3
17
  ## 1.3.17
4
18
 
5
19
  No changes in this release.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nice2dev/ui-graphics",
3
- "version": "1.3.17",
3
+ "version": "1.3.18",
4
4
  "description": "Nice2Dev Graphics Editors — Pixel, Vector, Photo and Animation editors for React",
5
5
  "author": "NiceToDev <contact@nicetodev.com>",
6
6
  "license": "SEE LICENSE IN LICENSE",
@@ -70,8 +70,8 @@
70
70
  "react-dom": ">=17.0.0"
71
71
  },
72
72
  "devDependencies": {
73
- "@nice2dev/ui": "^1.3.17",
74
- "@nice2dev/ui-core": "^1.3.17",
73
+ "@nice2dev/ui": "^1.3.18",
74
+ "@nice2dev/ui-core": "^1.3.18",
75
75
  "@testing-library/jest-dom": "^7.0.1",
76
76
  "@testing-library/react": "^16.3.3",
77
77
  "@types/react": "^19.2.18",
@@ -1 +0,0 @@
1
- ._root_1jln9_5{display:flex;flex-direction:column;height:100%;background:var(--nice-bg-primary);color:var(--nice-text-primary);font-family:Segoe UI,Consolas,monospace;font-size:12px;user-select:none;overflow:hidden}._menuBar_1jln9_31{display:flex;align-items:center;gap:0;background:var(--nice-bg-canvas);border-bottom:1px solid var(--nice-border-color);padding:0 var(--nice-space-1, 4px);height:28px;flex-shrink:0}._menuBtn_1jln9_51{background:none;border:none;color:var(--nice-text-secondary);padding:var(--nice-space-1, 4px) var(--nice-space-2-5, 10px);cursor:pointer;font-size:11px;border-radius:var(--nice-radius-sm, 3px)}._menuBtn_1jln9_51:hover{background:var(--nice-bg-secondary);color:var(--nice-color-white)}._menuSep_1jln9_77{width:1px;height:16px;background:var(--nice-bg-secondary);margin:0 var(--nice-space-1, 4px)}._menuBar_1jln9_31 .nice-menu__btn{color:var(--nice-text-secondary);font-size:11px}._menuBar_1jln9_31 .nice-menu__btn:hover{background:var(--nice-bg-secondary);color:var(--nice-color-white)}._toolbar_1jln9_113{display:flex;flex-direction:column;width:38px;background:var(--nice-bg-elevated);border-right:1px solid var(--nice-border-color);padding:var(--nice-space-1, 4px) var(--nice-space-0-5, 2px);gap:var(--nice-space-0-5, 2px);overflow-y:auto;flex-shrink:0}._toolBtn_1jln9_135{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:none;border:1px solid transparent;border-radius:var(--nice-radius-sm, 4px);cursor:pointer;font-size:16px;color:var(--nice-text-muted);transition:all .1s}._toolBtn_1jln9_135:hover{background:var(--nice-bg-secondary);color:var(--nice-text-secondary)}._toolBtnActive_1jln9_175{background:var(--nice-color-primary, #4f8cff)!important;border-color:var(--nice-color-white, #ffffff)!important;color:var(--nice-color-white, #ffffff)!important;box-shadow:inset 2px 0 0 0 var(--nice-color-white, #ffffff),0 0 0 1px var(--nice-color-primary, #4f8cff)}._toolBtnActive_1jln9_175:hover{background:var(--nice-color-primary, #4f8cff)!important;color:var(--nice-color-white, #ffffff)!important}._mainArea_1jln9_203{display:flex;flex:1;min-height:0}._canvasContainer_1jln9_213{flex:1;height:100%;min-height:0;position:relative;overflow:hidden;background:var(--nice-bg-inset);cursor:crosshair}._canvasContainer_1jln9_213 canvas{position:absolute;image-rendering:pixelated}._rightPanel_1jln9_251{width:220px;display:flex;flex-direction:column;background:var(--nice-bg-primary);border-left:1px solid var(--nice-border-color);overflow-y:auto;flex-shrink:0}._panelSection_1jln9_269{border-bottom:1px solid var(--nice-border-color)}._rightPanel_1jln9_251 .nice-collapse__trigger{width:100%;display:flex;align-items:center;gap:var(--nice-space-1-5, 6px);background:none;border:none;color:var(--nice-text-secondary);cursor:pointer;padding:var(--nice-space-1-5, 6px) var(--nice-space-2, 8px);font-size:10px;text-transform:uppercase;letter-spacing:.5px;text-align:left}._rightPanel_1jln9_251 .nice-collapse__trigger:hover{color:var(--nice-text-secondary)}._rightPanel_1jln9_251 .nice-collapse__panel{padding:0 var(--nice-space-2, 8px) var(--nice-space-1-5, 6px)}._collapseChevron_1jln9_323{display:inline-flex;transition:transform .15s ease}.nice-collapse--expanded ._collapseChevron_1jln9_323{transform:rotate(90deg)}._layerActions_1jln9_337{display:flex;gap:var(--nice-space-0-5, 2px);flex-wrap:wrap;margin-bottom:var(--nice-space-1, 4px)}._panelTitle_1jln9_349{font-size:10px;text-transform:uppercase;letter-spacing:.5px;color:var(--nice-text-secondary);margin-bottom:var(--nice-space-1, 4px);display:flex;justify-content:space-between;align-items:center}._panelTitle_1jln9_349 button{background:none;border:none;color:var(--nice-text-secondary);cursor:pointer;font-size:14px;padding:0 var(--nice-space-0-5, 2px);line-height:1}._panelTitle_1jln9_349 button:hover{color:var(--nice-text-muted)}._layerItem_1jln9_397{display:flex;align-items:center;gap:var(--nice-space-1, 4px);padding:var(--nice-space-0-75, 3px) var(--nice-space-1, 4px);border-radius:var(--nice-radius-sm, 3px);cursor:pointer;font-size:11px}._layerItem_1jln9_397:hover{background:var(--nice-overlay-light-4, rgba(255, 255, 255, .04))}._layerItemActive_1jln9_421{background:var(--nice-surface)!important;border:1px solid var(--nice-color-primary-hover)}._layerVis_1jln9_429{width:16px;height:16px;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:10px;opacity:.6;flex-shrink:0}._layerVis_1jln9_429:hover{opacity:1}._layerName_1jln9_457{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}._layerOpacity_1jln9_471{width:36px;font-size:10px;text-align:right;color:var(--nice-text-muted)}._paletteGrid_1jln9_487{display:grid;grid-template-columns:repeat(8,1fr);gap:var(--nice-space-0-5, 2px)}._paletteSwatch_1jln9_497{aspect-ratio:1;border:1px solid var(--nice-overlay-light-8, rgba(255, 255, 255, .08));border-radius:var(--nice-radius-sm, 2px);cursor:pointer;transition:transform .1s}._paletteSwatch_1jln9_497:hover{transform:scale(1.15);z-index:1}._paletteSwatchActive_1jln9_519{border-color:var(--nice-color-white)!important;box-shadow:0 0 0 1px var(--nice-color-primary)}._colorPickers_1jln9_527{display:flex;gap:var(--nice-space-1-5, 6px);align-items:center;margin-top:var(--nice-space-1-5, 6px)}._colorSample_1jln9_539{width:28px;height:28px;border-radius:var(--nice-radius-sm, 4px);border:2px solid var(--nice-overlay-light-20, rgba(255, 255, 255, .2))}._bottomPanel_1jln9_555{height:80px;background:var(--nice-bg-canvas);border-top:1px solid var(--nice-border-color);display:flex;flex-direction:column;flex-shrink:0}._timelineControls_1jln9_571{display:flex;align-items:center;gap:var(--nice-space-1-5, 6px);padding:var(--nice-space-0-5, 2px) var(--nice-space-2, 8px);font-size:11px;border-bottom:1px solid var(--nice-bg, #222244)}._timelineControls_1jln9_571 button{background:var(--nice-bg-secondary);border:none;color:var(--nice-text-muted);padding:var(--nice-space-0-5, 2px) var(--nice-space-2, 8px);border-radius:var(--nice-radius-sm, 3px);cursor:pointer;font-size:11px}._timelineControls_1jln9_571 button:hover{background:var(--nice-bg-tertiary);color:var(--nice-color-white)}._timelineControls_1jln9_571 label{color:var(--nice-text-muted)}._timelineControls_1jln9_571 input[type=number]{width:40px;background:var(--nice-bg-canvas);border:1px solid var(--nice-border-color);color:var(--nice-text-primary);border-radius:var(--nice-radius-sm, 3px);padding:var(--nice-space-px, 1px) var(--nice-space-1, 4px);font-size:11px;text-align:center}._timelineControls_1jln9_571 input[type=checkbox]{accent-color:var(--nice-color-primary)}._timelineFrames_1jln9_645{display:flex;gap:var(--nice-space-0-5, 2px);padding:var(--nice-space-1, 4px) var(--nice-space-2, 8px);overflow-x:auto;flex:1;align-items:stretch}._frameThumb_1jln9_661{width:44px;min-width:44px;border:2px solid transparent;border-radius:var(--nice-radius-sm, 4px);background:var(--nice-bg-primary);display:flex;flex-direction:column;align-items:center;justify-content:center;cursor:pointer;position:relative;overflow:hidden}._frameThumb_1jln9_661 canvas{image-rendering:pixelated;width:36px;height:36px;object-fit:contain}._frameThumb_1jln9_661:hover{border-color:var(--nice-border-color)}._frameThumbActive_1jln9_707{border-color:var(--nice-color-primary)!important;background:var(--nice-surface)}._frameNum_1jln9_715{font-size:8px;color:var(--nice-text-muted);position:absolute;bottom:1px;right:3px}._statusBar_1jln9_733{display:flex;align-items:center;gap:var(--nice-space-3, 12px);padding:var(--nice-space-0-5, 2px) var(--nice-space-2, 8px);font-size:10px;color:var(--nice-text-muted);background:var(--nice-bg-canvas);border-top:1px solid var(--nice-border-color);height:20px;flex-shrink:0}._dialogOverlay_1jln9_761{position:absolute;inset:0;background:var(--nice-overlay-60, rgba(0, 0, 0, .6));display:flex;align-items:center;justify-content:center;z-index:100}._dialog_1jln9_761{background:var(--nice-bg-elevated);border:1px solid var(--nice-border-color);border-radius:var(--nice-radius-lg, 8px);padding:var(--nice-space-5, 20px);min-width:300px;box-shadow:0 8px 32px var(--nice-overlay-50, rgba(0, 0, 0, .5))}._dialog_1jln9_761 h3{margin:0 0 var(--nice-space-3, 12px);font-size:14px;color:var(--nice-text-secondary)}._dialog_1jln9_761 label{display:block;font-size:11px;color:var(--nice-text-muted);margin:var(--nice-space-2, 8px) 0 var(--nice-space-0-5, 2px)}._dialog_1jln9_761 input,._dialog_1jln9_761 select{width:100%;background:var(--nice-bg-canvas);border:1px solid var(--nice-border-color);color:var(--nice-text-primary);padding:var(--nice-space-1, 4px) var(--nice-space-2, 8px);border-radius:var(--nice-radius-sm, 4px);font-size:12px}._dialogActions_1jln9_837{display:flex;gap:var(--nice-space-2, 8px);justify-content:flex-end;margin-top:var(--nice-space-4, 16px)}._dialogActions_1jln9_837 button{padding:var(--nice-space-1, 4px) var(--nice-space-4, 16px);border:none;border-radius:var(--nice-radius-sm, 4px);cursor:pointer;font-size:12px}._btnPrimary_1jln9_863{background:var(--nice-color-primary);color:var(--nice-color-white)}._btnPrimary_1jln9_863:hover{background:var(--nice-primary, #6677dd)}._btnSecondary_1jln9_877{background:var(--nice-bg-secondary);color:var(--nice-text-muted)}._btnSecondary_1jln9_877:hover{background:var(--nice-bg-tertiary);color:var(--nice-text-primary)}._brushSlider_1jln9_897{display:flex;align-items:center;gap:var(--nice-space-1, 4px);padding:var(--nice-space-1, 4px) var(--nice-space-2, 8px);border-bottom:1px solid var(--nice-border-color)}._brushSlider_1jln9_897 label{font-size:10px;color:var(--nice-text-muted)}._brushSlider_1jln9_897 input[type=range]{flex:1;height:4px;accent-color:var(--nice-color-primary)}._brushSlider_1jln9_897 span{font-size:10px;color:var(--nice-text-muted);min-width:16px;text-align:center}._toolSep_1jln9_945{width:28px;height:1px;background:var(--nice-bg-secondary);margin:var(--nice-space-1, 4px) var(--nice-space-0-5, 2px)}._toolGroup_1jln9_957{display:flex;flex-direction:column;gap:var(--nice-space-px, 1px);padding:var(--nice-space-0-5, 2px) 0}._miniBtn_1jln9_973{width:32px;height:20px;display:flex;align-items:center;justify-content:center;background:var(--nice-overlay-light-4, rgba(255, 255, 255, .04));border:1px solid transparent;border-radius:var(--nice-radius-sm, 3px);cursor:pointer;font-size:10px;color:var(--nice-text-muted);transition:all .1s}._miniBtn_1jln9_973:hover{background:var(--nice-bg-secondary);color:var(--nice-text-secondary)}._miniBtnActive_1jln9_1011{background:var(--nice-bg-tertiary)!important;border-color:var(--nice-color-primary)!important;color:var(--nice-text-primary)!important}._colorSwatches_1jln9_1025{display:flex;flex-direction:column;align-items:center;gap:var(--nice-space-1, 4px);padding:var(--nice-space-1-5, 6px) 0;border-top:1px solid var(--nice-border-color);margin-top:var(--nice-space-1, 4px)}._brushShapes_1jln9_1047{display:flex;gap:var(--nice-space-0-5, 2px);padding:var(--nice-space-0-5, 2px) 0;flex-wrap:wrap}._pressureToggles_1jln9_1063{display:flex;flex-direction:column;gap:var(--nice-space-0-5, 2px);padding:var(--nice-space-1, 4px) 0}._checkLabel_1jln9_1075{display:flex;align-items:center;gap:var(--nice-space-1, 4px);font-size:10px;color:var(--nice-text-muted);cursor:pointer}._checkLabel_1jln9_1075 input[type=checkbox]{accent-color:var(--nice-color-primary);width:12px;height:12px}._hsvPicker_1jln9_1105{display:flex;flex-direction:column;gap:var(--nice-space-1, 4px);padding:var(--nice-space-1, 4px) 0}._hsvRow_1jln9_1117{display:flex;align-items:center;gap:var(--nice-space-1, 4px)}._hsvLabel_1jln9_1127{font-size:9px;color:var(--nice-text-muted);min-width:16px;text-align:right}._hsvSlider_1jln9_1139{flex:1;height:6px;accent-color:var(--nice-color-primary);cursor:pointer;min-width:0}._hsvVal_1jln9_1153{font-size:9px;color:var(--nice-text-muted);min-width:28px;text-align:right}._hsvNumInput_1jln9_1165{width:36px;background:var(--nice-bg-canvas);border:1px solid var(--nice-border-color);color:var(--nice-text-primary);border-radius:var(--nice-radius-sm, 3px);padding:var(--nice-space-px, 1px) var(--nice-space-1, 4px);font-size:10px;text-align:center}._hsvHexInput_1jln9_1185{flex:1;background:var(--nice-bg-canvas);border:1px solid var(--nice-border-color);color:var(--nice-text-primary);border-radius:var(--nice-radius-sm, 3px);padding:var(--nice-space-px, 1px) var(--nice-space-1, 4px);font-size:10px}._layerLock_1jln9_1207{width:16px;height:16px;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:10px;opacity:.6;flex-shrink:0}._layerLock_1jln9_1207:hover{opacity:1}._layerNameInput_1jln9_1237{flex:1;min-width:0;background:var(--nice-bg-canvas);border:1px solid var(--nice-color-primary);color:var(--nice-text-primary);border-radius:var(--nice-radius-sm, 2px);padding:0 var(--nice-space-1, 4px);font-size:11px;outline:none}._layerControls_1jln9_1261{display:flex;align-items:center;gap:var(--nice-space-1, 4px);padding:var(--nice-space-1, 4px) var(--nice-space-1, 4px) var(--nice-space-0-5, 2px);border-top:1px solid var(--nice-overlay-light-5, rgba(255, 255, 255, .05));margin-top:var(--nice-space-1, 4px)}._blendSelect_1jln9_1279{flex:1;background:var(--nice-bg-canvas);border:1px solid var(--nice-border-color);color:var(--nice-text-secondary);border-radius:var(--nice-radius-sm, 3px);padding:var(--nice-space-px, 1px) var(--nice-space-1, 4px);font-size:10px;cursor:pointer}._layerOpSlider_1jln9_1301{width:60px;height:4px;accent-color:var(--nice-color-primary);cursor:pointer}._genPanel_1jln9_1323{width:100%;height:600px;max-height:70vh;display:flex;flex-direction:column;overflow:hidden}._genTabs_1jln9_1339{display:flex;background:var(--nice-bg-canvas);border-bottom:1px solid var(--nice-border-color);flex-shrink:0}._genTabBtn_1jln9_1351{flex:1;background:none;border:none;border-bottom:2px solid transparent;color:var(--nice-text-secondary);padding:var(--nice-space-1-5, 6px) var(--nice-space-2, 8px);cursor:pointer;font-size:11px;transition:all .15s}._genTabBtn_1jln9_1351:hover{background:var(--nice-bg-elevated);color:var(--nice-text-muted)}._genTabBtnActive_1jln9_1381{color:var(--nice-text-primary)!important;border-bottom-color:var(--nice-color-primary)!important;background:var(--nice-bg-elevated)!important}._genBody_1jln9_1391{display:flex;flex:1;min-height:0;overflow:hidden}._genLeft_1jln9_1403{width:200px;display:flex;flex-direction:column;border-right:1px solid var(--nice-border-color);overflow-y:auto;flex-shrink:0}._genCenter_1jln9_1419{flex:1;display:flex;flex-direction:column;align-items:center;padding:var(--nice-space-2, 8px);gap:var(--nice-space-2, 8px);overflow-y:auto}._genRight_1jln9_1437{width:200px;display:flex;flex-direction:column;border-left:1px solid var(--nice-border-color);overflow-y:auto;flex-shrink:0}._genPreviewWrap_1jln9_1453{flex:1;display:flex;align-items:center;justify-content:center;background:var(--nice-bg-inset);border:1px solid var(--nice-border-color);border-radius:var(--nice-radius-md, 6px);min-height:120px;width:100%;overflow:hidden}._genPreviewCanvas_1jln9_1477{image-rendering:pixelated;max-width:100%;max-height:100%;min-width:64px;min-height:64px;object-fit:contain}._genDirGrid_1jln9_1493{display:flex;flex-wrap:wrap;gap:var(--nice-space-0-5, 2px);justify-content:center}._genRow_1jln9_1505{display:flex;align-items:center;gap:var(--nice-space-1, 4px);width:100%}._genPresetGrid_1jln9_1517{display:flex;flex-wrap:wrap;gap:var(--nice-space-0-5, 2px)}._genPresetBtn_1jln9_1527{background:var(--nice-overlay-light-4, rgba(255, 255, 255, .04));border:1px solid transparent;border-radius:var(--nice-radius-sm, 3px);color:var(--nice-text-muted);font-size:9px;padding:var(--nice-space-0-75, 3px) var(--nice-space-1-5, 6px);cursor:pointer;transition:all .1s}._genPresetBtn_1jln9_1527:hover{background:var(--nice-bg-secondary);color:var(--nice-text-secondary)}._genPresetBtnActive_1jln9_1555{background:var(--nice-bg-tertiary)!important;border-color:var(--nice-color-primary)!important;color:var(--nice-text-primary)!important}._genPartGrid_1jln9_1565{display:flex;flex-wrap:wrap;gap:var(--nice-space-0-5, 2px)}._genPartBtn_1jln9_1577{width:auto;min-width:32px;padding:0 var(--nice-space-1-5, 6px);white-space:nowrap}._genColorSwatches_1jln9_1589{display:flex;gap:var(--nice-space-0-5, 2px);margin-top:var(--nice-space-0-5, 2px)}._genColorSwatch_1jln9_1589{width:16px;height:16px;border-radius:var(--nice-radius-sm, 2px);border:1px solid var(--nice-overlay-light-10, rgba(255, 255, 255, .1))}._genAssemblyItem_1jln9_1611{display:flex;align-items:center;gap:var(--nice-space-1, 4px);padding:var(--nice-space-0-5, 2px) var(--nice-space-1, 4px);font-size:10px;border-radius:var(--nice-radius-sm, 3px)}._genAssemblyItem_1jln9_1611:hover{background:var(--nice-overlay-light-4, rgba(255, 255, 255, .04))}._genAssemblyName_1jln9_1633{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--nice-text-secondary)}._genFooter_1jln9_1647{display:flex;justify-content:flex-end;gap:var(--nice-space-2, 8px);padding:var(--nice-space-2-5, 10px) var(--nice-space-4, 16px);border-top:1px solid var(--nice-border-color);flex-shrink:0}._btnIcon_1jln9_1663{background:none;border:none;color:var(--nice-text-muted);cursor:pointer;font-size:14px;padding:var(--nice-space-0-5, 2px);line-height:1}._btnIcon_1jln9_1663:hover{color:var(--nice-text-secondary)}._propSelect_1jln9_1687{flex:1;background:var(--nice-bg-canvas);border:1px solid var(--nice-border-color);color:var(--nice-text-primary);border-radius:var(--nice-radius-sm, 3px);padding:var(--nice-space-0-5, 2px) var(--nice-space-1, 4px);font-size:11px;min-width:0}._propInput_1jln9_1707{background:var(--nice-bg-canvas);border:1px solid var(--nice-border-color);color:var(--nice-text-primary);border-radius:var(--nice-radius-sm, 3px);padding:var(--nice-space-0-5, 2px) var(--nice-space-1, 4px);font-size:11px;min-width:0}._root_1vkbh_5{display:flex;flex-direction:column;height:100%;background:var(--nice-bg-primary);color:var(--nice-text-primary);font-family:Segoe UI,Consolas,monospace;font-size:12px;user-select:none;overflow:hidden}._menuBar_1vkbh_31{display:flex;align-items:center;gap:0;background:var(--nice-bg-canvas);border-bottom:1px solid var(--nice-border-color);padding:0 var(--nice-space-1, 4px);height:28px;flex-shrink:0}._menuBtn_1vkbh_51{background:none;border:none;color:var(--nice-text-secondary);padding:var(--nice-space-1, 4px) var(--nice-space-2-5, 10px);cursor:pointer;font-size:11px;border-radius:var(--nice-radius-sm, 3px)}._menuBtn_1vkbh_51:hover{background:var(--nice-bg-secondary);color:var(--nice-text-primary)}._menuBtn_1vkbh_51._menuBtnActive_1vkbh_83,._menuBtn_1vkbh_51._menuBtnActive_1vkbh_83:hover{background:var(--nice-color-primary);color:var(--nice-text-on-primary, #ffffff)}._menuSep_1vkbh_93{width:1px;height:16px;background:var(--nice-bg-secondary);margin:0 var(--nice-space-1, 4px)}._menuLabel_1vkbh_105{display:flex;align-items:center;font-size:10px;color:var(--nice-text-muted);gap:var(--nice-space-0-5, 2px);padding:0 var(--nice-space-1, 4px);cursor:pointer}._toolbar_1vkbh_127{display:flex;flex-direction:column;width:38px;background:var(--nice-bg-elevated);border-right:1px solid var(--nice-border-color);padding:var(--nice-space-1, 4px) var(--nice-space-0-5, 2px);gap:var(--nice-space-0-5, 2px);flex-shrink:0}._toolBtn_1vkbh_147{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:none;border:1px solid transparent;border-radius:var(--nice-radius-sm, 4px);cursor:pointer;font-size:16px;color:var(--nice-text-muted);transition:all .1s}._toolBtn_1vkbh_147:hover{background:var(--nice-bg-secondary);color:var(--nice-text-secondary)}._toolBtnActive_1vkbh_183{background:var(--nice-bg-tertiary)!important;border-color:var(--nice-color-primary)!important;color:var(--nice-color-white)!important}._mainArea_1vkbh_197{display:flex;flex:1;min-height:0}._canvasContainer_1vkbh_207{flex:1;height:100%;min-height:0;position:relative;overflow:hidden;background:var(--nice-bg-inset)}._canvasContainer_1vkbh_207 svg{position:absolute;inset:0;width:100%;height:100%}._rightPanel_1vkbh_247{width:320px;display:flex;flex-direction:column;background:var(--nice-bg-primary);border-left:1px solid var(--nice-border-color);overflow:hidden;flex-shrink:0}._rightPanelTabBody_1vkbh_265{flex:1 1 auto;overflow-y:auto;min-height:0}._libraryGrid_1vkbh_275{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--nice-space-1-5, 6px);padding:var(--nice-space-1-5, 6px)}._libraryCell_1vkbh_287{display:flex;flex-direction:column;align-items:center;gap:var(--nice-space-0-5, 2px);padding:var(--nice-space-1-5, 6px) var(--nice-space-0-5, 2px);border:1px solid var(--nice-border-color);border-radius:var(--nice-radius-sm, 4px);cursor:pointer;background:transparent;color:var(--nice-text-secondary);font-size:9px;text-align:center;overflow:hidden;text-overflow:ellipsis}._libraryCell_1vkbh_287:hover{border-color:var(--nice-primary, #5566cc);color:var(--nice-text-primary)}._layerRow_1vkbh_327{display:flex;align-items:center;gap:var(--nice-space-1, 4px);padding:var(--nice-space-1, 4px) var(--nice-space-1-5, 6px);cursor:pointer;border-radius:var(--nice-radius-sm, 4px);font-size:11px}._layerRow_1vkbh_327:hover{background:var(--nice-bg-secondary)}._layerRowActive_1vkbh_351{background:var(--nice-bg-secondary);outline:1px solid var(--nice-primary, #5566cc)}._layerRowLocked_1vkbh_359{opacity:.6}._layerRowLocked_1vkbh_359 ._layerNameInput_1vkbh_365{cursor:not-allowed}._layerNameInput_1vkbh_365{flex:1 1 auto;background:transparent;border:none;color:var(--nice-text-primary);font-size:11px;outline:none;min-width:0}._layerIconBtn_1vkbh_389{background:none;border:none;color:var(--nice-text-secondary);cursor:pointer;padding:0 var(--nice-space-0-5, 2px);font-size:12px;line-height:1}._layerIconBtn_1vkbh_389:hover{color:var(--nice-text-primary)}._panelSection_1vkbh_413{border-bottom:1px solid var(--nice-border-color);padding:var(--nice-space-1-5, 6px) var(--nice-space-2, 8px)}._panelTitle_1vkbh_421{font-size:10px;text-transform:uppercase;letter-spacing:.5px;color:var(--nice-text-secondary);margin-bottom:var(--nice-space-1, 4px);display:flex;justify-content:space-between;align-items:center}._panelTitle_1vkbh_421 button{background:none;border:none;color:var(--nice-text-secondary);cursor:pointer;font-size:14px;padding:0 var(--nice-space-0-5, 2px);line-height:1}._panelTitle_1vkbh_421 button:hover{color:var(--nice-text-muted)}._shapeItem_1vkbh_469{display:flex;align-items:center;gap:var(--nice-space-1-5, 6px);padding:var(--nice-space-0-75, 3px) var(--nice-space-1, 4px);border-radius:var(--nice-radius-sm, 3px);cursor:pointer;font-size:11px}._shapeItem_1vkbh_469:hover{background:var(--nice-overlay-light-4, rgba(255, 255, 255, .04))}._shapeItemActive_1vkbh_493{background:var(--nice-surface)!important;border:1px solid var(--nice-color-primary-hover)}._shapeIcon_1vkbh_501{font-size:14px;opacity:.7;flex-shrink:0}._shapeName_1vkbh_511{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}._propRow_1vkbh_527{display:flex;align-items:center;gap:var(--nice-space-1-5, 6px);margin-bottom:var(--nice-space-1, 4px)}._propLabel_1vkbh_539{font-size:10px;color:var(--nice-text-muted);min-width:40px}._propInput_1vkbh_549{flex:1;background:var(--nice-bg-canvas);border:1px solid var(--nice-border-color);color:var(--nice-text-primary);border-radius:var(--nice-radius-sm, 3px);padding:var(--nice-space-0-5, 2px) var(--nice-space-1, 4px);font-size:11px}._propColorSwatch_1vkbh_567{width:24px;height:24px;border-radius:var(--nice-radius-sm, 3px);border:1px solid var(--nice-overlay-light-15, rgba(255, 255, 255, .15));cursor:pointer;position:relative}._propColorSwatch_1vkbh_567 input{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%;height:100%}._statusBar_1vkbh_603{display:flex;align-items:center;gap:var(--nice-space-3, 12px);padding:var(--nice-space-0-5, 2px) var(--nice-space-2, 8px);font-size:10px;color:var(--nice-text-muted);background:var(--nice-bg-canvas);border-top:1px solid var(--nice-border-color);height:20px;flex-shrink:0}._dialogOverlay_1vkbh_631{position:absolute;inset:0;background:var(--nice-overlay-60, rgba(0, 0, 0, .6));display:flex;align-items:center;justify-content:center;z-index:100}._dialog_1vkbh_631{background:var(--nice-bg-elevated);border:1px solid var(--nice-border-color);border-radius:var(--nice-radius-lg, 8px);padding:var(--nice-space-5, 20px);min-width:300px;max-width:500px;box-shadow:0 8px 32px var(--nice-overlay-50, rgba(0, 0, 0, .5))}._dialog_1vkbh_631 h3{margin:0 0 var(--nice-space-3, 12px);font-size:14px;color:var(--nice-text-secondary)}._dialog_1vkbh_631 label{display:block;font-size:11px;color:var(--nice-text-muted);margin:var(--nice-space-2, 8px) 0 var(--nice-space-0-5, 2px)}._dialog_1vkbh_631 input,._dialog_1vkbh_631 select,._dialog_1vkbh_631 textarea{width:100%;background:var(--nice-bg-canvas);border:1px solid var(--nice-border-color);color:var(--nice-text-primary);padding:var(--nice-space-1, 4px) var(--nice-space-2, 8px);border-radius:var(--nice-radius-sm, 4px);font-size:12px}._dialog_1vkbh_631 textarea{min-height:120px;font-family:monospace;resize:vertical}._dialogActions_1vkbh_721{display:flex;gap:var(--nice-space-2, 8px);justify-content:flex-end;margin-top:var(--nice-space-4, 16px)}._dialogActions_1vkbh_721 button{padding:var(--nice-space-1, 4px) var(--nice-space-4, 16px);border:none;border-radius:var(--nice-radius-sm, 4px);cursor:pointer;font-size:12px}._btnPrimary_1vkbh_747{background:var(--nice-color-primary);color:var(--nice-color-white)}._btnPrimary_1vkbh_747:hover{background:var(--nice-primary, #6677dd)}._btnSecondary_1vkbh_761{background:var(--nice-bg-secondary);color:var(--nice-text-muted)}._btnSecondary_1vkbh_761:hover{background:var(--nice-bg-tertiary);color:var(--nice-text-primary)}._handleGroup_1vkbh_781 circle{fill:var(--nice-color-primary);stroke:var(--nice-color-white);stroke-width:1;cursor:pointer}._handleGroup_1vkbh_781 circle:hover{fill:var(--nice-primary-hover, var(--nice-primary))}._wrapper_1tfcf_11{width:100%;height:100%;max-height:85vh;background:var(--nice-bg-primary, #1a1a1e);border-radius:var(--nice-radius-xl, 12px);overflow:hidden;color:var(--nice-text-on-primary, #eee);font-family:Segoe UI,sans-serif;font-size:13px}._loadingWrap_1tfcf_35{display:flex;align-items:center;justify-content:center;width:100%;min-height:400px;color:var(--nice-text-muted, #aaa)}._loadingSpin_1tfcf_53{animation:_nicePhotoEditorSpin_1tfcf_1 1s linear infinite}@keyframes _nicePhotoEditorSpin_1tfcf_1{0%{transform:rotate(0)}to{transform:rotate(360deg)}}._toolbar_1tfcf_81{display:flex;align-items:center;justify-content:space-between;padding:var(--nice-space-2, 8px) var(--nice-space-3-5, 14px);border-bottom:1px solid var(--nice-border-color, #333);background:var(--nice-bg-secondary, #222226)}._toolbarGroup_1tfcf_105{display:flex;gap:var(--nice-space-1-5, 6px);flex:0 0 auto}._toolbarDivider_1tfcf_117{width:1px;background:var(--nice-border-color, #444);margin:0 var(--nice-space-1, 4px)}._toolbarTitle_1tfcf_129{display:flex;align-items:center;justify-content:center;min-width:0;flex:1 1 auto;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;padding:0 var(--nice-space-2, 8px);font-weight:700;font-size:14px}._leftPanel_1tfcf_159{width:280px;min-width:280px;display:flex;flex-direction:column;border-right:1px solid var(--nice-border-color, #333);background:var(--nice-bg-secondary, #222226);overflow:hidden}._tabBar_1tfcf_179{display:flex;border-bottom:1px solid var(--nice-border-color, #333);flex-wrap:wrap}._tabButton_1tfcf_191{flex:1 0 auto;padding:var(--nice-space-2, 8px) 0;border:none;min-width:34px;background:transparent;color:var(--nice-text-secondary, #888);border-bottom:2px solid transparent;cursor:pointer;font-size:10px;font-weight:600;transition:all .15s;display:flex;flex-direction:column;align-items:center;gap:var(--nice-space-px, 1px)}._tabButtonActive_1tfcf_227{background:var(--nice-bg-secondary, #2a2a30)}._tabIcon_1tfcf_237{font-size:14px}._panelContent_1tfcf_245{flex:1;overflow-y:auto;padding:var(--nice-space-2-5, 10px) var(--nice-space-3, 12px)}._sectionTitle_1tfcf_259{font-weight:600;margin-bottom:var(--nice-space-1-5, 6px);font-size:12px}._sectionTitleMb8_1tfcf_271{margin-bottom:var(--nice-space-2, 8px)}._sectionInfo_1tfcf_281{font-size:11px;color:var(--nice-text-muted, #aaa)}._sectionInfoMb_1tfcf_291{margin-bottom:var(--nice-space-2-5, 10px)}._pillRow_1tfcf_303{display:flex;flex-wrap:wrap;gap:var(--nice-space-1, 4px);margin-bottom:var(--nice-space-2-5, 10px)}._pillRowMb8_1tfcf_317{margin-bottom:var(--nice-space-2, 8px)}._pillRowGap3_1tfcf_327{display:flex;flex-wrap:wrap;gap:var(--nice-space-0-75, 3px);margin-bottom:var(--nice-space-2, 8px)}._pill_1tfcf_303{border-radius:var(--nice-radius-xl, 12px);border:1px solid var(--nice-border-color, #444);background:transparent;color:var(--nice-text-muted, #aaa);cursor:pointer;font-size:11px;font-weight:600;padding:var(--nice-space-0-75, 3px) var(--nice-space-2-5, 10px)}._pillActive_1tfcf_363{color:var(--nice-text-primary, #fff)}._pillCrop_1tfcf_373{padding:var(--nice-space-1, 4px) var(--nice-space-3, 12px);border-radius:var(--nice-radius-md, 6px)}._pillCropActive_1tfcf_385{color:var(--nice-text-primary, #fff)}._pillEmoji_1tfcf_395{padding:var(--nice-space-0-5, 2px) var(--nice-space-2, 8px);border-radius:var(--nice-radius-lg, 10px)}._pillEmojiActive_1tfcf_407{color:var(--nice-text-primary, #fff)}._filterGrid_1tfcf_419{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--nice-space-1-5, 6px)}._emojiGrid_1tfcf_431{display:grid;grid-template-columns:repeat(6,1fr);gap:var(--nice-space-0-5, 2px);max-height:260px;overflow-y:auto}._shapeGrid_1tfcf_447{display:grid;grid-template-columns:repeat(5,1fr);gap:var(--nice-space-1, 4px);margin-bottom:var(--nice-space-4, 16px)}._frameGrid_1tfcf_461{display:grid;grid-template-columns:repeat(5,1fr);gap:var(--nice-space-1, 4px)}._sliderRow_1tfcf_475{display:flex;align-items:center;gap:var(--nice-space-1-5, 6px);margin-bottom:var(--nice-space-2, 8px)}._sliderLabel_1tfcf_489{font-size:11px;color:var(--nice-text-muted, #aaa)}._sliderLabelSelf_1tfcf_499{align-self:center;margin-right:var(--nice-space-1, 4px)}._sliderValue_1tfcf_511{font-size:11px;font-weight:600;min-width:28px}._sliderValueSm_1tfcf_523{font-size:10px;min-width:28px}._adjustColumn_1tfcf_533{display:flex;flex-direction:column;gap:var(--nice-space-2, 8px)}._adjustHeader_1tfcf_545{display:flex;justify-content:space-between;margin-bottom:var(--nice-space-0-5, 2px);font-size:11px}._adjustIcon_1tfcf_559{width:14px;text-align:center}._adjustValue_1tfcf_569{font-weight:600;cursor:pointer;min-width:30px;text-align:right}._intensitySection_1tfcf_583{margin-top:var(--nice-space-3, 12px);padding:var(--nice-space-2, 8px) 0}._intensityHeader_1tfcf_593{display:flex;justify-content:space-between;margin-bottom:var(--nice-space-1, 4px);font-size:11px}._colorInput_1tfcf_609{width:28px;height:28px;border:none;padding:0;cursor:pointer}._colorInputLg_1tfcf_625{width:32px;height:30px;border:none;padding:0;cursor:pointer}._colorInputDraw_1tfcf_641{width:32px;height:28px;border:none;padding:0;cursor:pointer}._overlayToolbar_1tfcf_659{display:flex;flex-wrap:wrap;gap:var(--nice-space-1, 4px);padding:var(--nice-space-1-5, 6px) 0;border-bottom:1px solid var(--nice-border-color, #333);margin-bottom:var(--nice-space-2, 8px)}._overlayToolbarLabel_1tfcf_677{font-size:11px;color:var(--nice-text-muted, #aaa);align-self:center;margin-right:var(--nice-space-1, 4px)}._overlayToolbarBtn_1tfcf_691{padding:var(--nice-space-0-5, 2px) var(--nice-space-1-5, 6px);font-size:11px}._overlaySection_1tfcf_703{margin-top:var(--nice-space-3, 12px);border-top:1px solid var(--nice-border-color, #333);padding-top:var(--nice-space-2, 8px)}._overlaySectionTitle_1tfcf_715{font-weight:600;font-size:11px;color:var(--nice-text-muted, #aaa);margin-bottom:var(--nice-space-1, 4px)}._overlayItem_1tfcf_729{display:flex;align-items:center;gap:var(--nice-space-1-5, 6px);padding:var(--nice-space-0-75, 3px) var(--nice-space-1-5, 6px);border-radius:var(--nice-radius-sm, 4px);cursor:pointer;background:transparent;font-size:11px;color:var(--nice-text-secondary, #ccc);margin-bottom:var(--nice-space-0-5, 2px)}._overlayIcon_1tfcf_755{width:18px;text-align:center}._overlayName_1tfcf_765{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}._overlayDeleteBtn_1tfcf_779{background:none;border:none;color:var(--nice-danger, #f55);cursor:pointer;font-size:11px;padding:0}._emojiBtn_1tfcf_799{font-size:22px;padding:var(--nice-space-1, 4px) 0;border:none;background:transparent;cursor:pointer;border-radius:var(--nice-radius-md, 6px);line-height:1}._shapeBtn_1tfcf_819{font-size:20px;padding:var(--nice-space-1-5, 6px) 0;border:1px solid var(--nice-border-color, #444);background:transparent;color:var(--nice-text-secondary, #eee);cursor:pointer;border-radius:var(--nice-radius-md, 6px);line-height:1}._frameBtn_1tfcf_841{font-size:18px;padding:var(--nice-space-1-5, 6px) 0;border:1px solid var(--nice-border-color, #444);background:transparent;color:var(--nice-text-secondary, #eee);cursor:pointer;border-radius:var(--nice-radius-md, 6px);line-height:1}._removeFrameBtn_1tfcf_863{font-size:14px;padding:var(--nice-space-1-5, 6px) 0;border:1px solid var(--nice-border-color, #444);background:transparent;color:var(--nice-danger, #f55);cursor:pointer;border-radius:var(--nice-radius-md, 6px)}._textFormatBtn_1tfcf_883{min-width:32px}._textFormatBtnSm_1tfcf_891{min-width:28px}._drawActionBtn_1tfcf_899{flex:1}._textArea_1tfcf_909{background:var(--nice-bg-secondary, #2a2a30);color:var(--nice-text-secondary, #eee);border:1px solid var(--nice-border-color, #444);border-radius:var(--nice-radius-md, 6px);font-size:13px;margin-bottom:var(--nice-space-2, 8px);resize:none}._textAreaSm_1tfcf_929{font-size:12px;margin-bottom:0}._textBtnRow_1tfcf_941{display:flex;gap:var(--nice-space-1, 4px);flex-wrap:wrap;margin-bottom:var(--nice-space-2, 8px)}._textGapRow_1tfcf_955{display:flex;gap:var(--nice-space-1, 4px);margin-top:var(--nice-space-1-5, 6px)}._editSelectedSection_1tfcf_967{margin-top:var(--nice-space-3, 12px);border-top:1px solid var(--nice-border-color, #333);padding-top:var(--nice-space-2, 8px)}._editSelectedLabel_1tfcf_979{font-size:11px;color:var(--nice-text-muted, #aaa);margin-bottom:var(--nice-space-1, 4px)}._shapeColorRow_1tfcf_993{display:flex;gap:var(--nice-space-1, 4px);flex-wrap:wrap;margin-bottom:var(--nice-space-2, 8px)}._shapeColorLabel_1tfcf_1007{font-size:11px;color:var(--nice-text-muted, #aaa);align-self:center;margin-right:var(--nice-space-0-5, 2px)}._shapeColorLabelMl_1tfcf_1021{margin-left:var(--nice-space-1, 4px)}._shapeFillToggle_1tfcf_1031{font-size:10px;padding:var(--nice-space-0-5, 2px) var(--nice-space-1-5, 6px)}._frameColorRow_1tfcf_1041{display:flex;gap:var(--nice-space-1, 4px);margin-bottom:var(--nice-space-2, 8px)}._frameThicknessWrap_1tfcf_1053{display:flex;align-items:center;gap:var(--nice-space-1, 4px);flex:1}._frameThicknessValue_1tfcf_1067{font-size:10px}._drawPreview_1tfcf_1077{display:flex;justify-content:center;margin-bottom:var(--nice-space-3, 12px)}._drawActionRow_1tfcf_1089{display:flex;gap:var(--nice-space-1, 4px)}._quickColorRow_1tfcf_1099{display:flex;align-items:center;gap:var(--nice-space-1-5, 6px);margin-bottom:var(--nice-space-2, 8px)}._quickColorSwatch_1tfcf_1113{width:18px;height:18px;border-radius:var(--nice-radius-sm, 3px);cursor:pointer;border:1px solid var(--nice-border-color, #555)}._transformRow_1tfcf_1131{display:flex;gap:var(--nice-space-1-5, 6px);margin-bottom:var(--nice-space-4, 16px)}._transformZoomRow_1tfcf_1143{display:flex;align-items:center;gap:var(--nice-space-2, 8px)}._transformZoomValue_1tfcf_1155{font-size:11px;font-weight:600;min-width:40px}._transformInfo_1tfcf_1167{margin-top:var(--nice-space-4, 16px);padding:var(--nice-space-2-5, 10px);border-radius:var(--nice-radius-lg, 8px);background:var(--nice-bg-secondary, #2a2a30);font-size:11px;color:var(--nice-text-muted, #aaa)}._canvasViewport_1tfcf_1187{flex:1;display:flex;align-items:center;justify-content:center;overflow:auto;background:#111115;position:relative;padding:var(--nice-space-5, 20px)}._zoomWrap_1tfcf_1211{position:relative;transform-origin:center center;transition:transform .15s ease;max-width:100%;max-height:100%}._compareWrap_1tfcf_1227{position:relative;display:inline-block;cursor:ew-resize}._canvasOriginal_1tfcf_1239{max-width:100%;max-height:60vh;object-fit:contain;display:block}._canvasEdited_1tfcf_1253{max-height:60vh;object-fit:contain;display:block}._compareClip_1tfcf_1265{position:absolute;top:0;left:0;bottom:0;overflow:hidden}._compareSlider_1tfcf_1281{position:absolute;top:0;bottom:0;width:3px;transform:translate(-50%)}._compareSliderKnob_1tfcf_1297{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:28px;height:28px;border-radius:var(--nice-radius-full, 50%);display:flex;align-items:center;justify-content:center;box-shadow:0 2px 8px var(--nice-overlay-40, rgba(0, 0, 0, .4))}._compareSliderIcon_1tfcf_1325{color:var(--nice-text-primary, #fff);font-size:12px}._compareLabelOriginal_1tfcf_1335{position:absolute;top:8px;left:8px;background:var(--nice-overlay-60, rgba(0, 0, 0, .6));color:var(--nice-text-on-primary, #fff);padding:var(--nice-space-0-5, 2px) var(--nice-space-2, 8px);border-radius:var(--nice-radius-sm, 4px);font-size:11px;font-weight:600}._compareLabelEdited_1tfcf_1359{position:absolute;top:8px;right:8px;color:var(--nice-text-primary, #fff);padding:var(--nice-space-0-5, 2px) var(--nice-space-2, 8px);border-radius:var(--nice-radius-sm, 4px);font-size:11px;font-weight:600}._regularWrap_1tfcf_1381{position:relative;display:inline-block}._canvasRegular_1tfcf_1391{max-width:100%;max-height:60vh;object-fit:contain;display:block;border-radius:var(--nice-radius-md, 6px);box-shadow:0 4px 20px var(--nice-overlay-40, rgba(0, 0, 0, .4))}._cropOverlay_1tfcf_1411{position:absolute;inset:0;pointer-events:none;z-index:2}._cropDarkBg_1tfcf_1425{position:absolute;inset:0;background:var(--nice-overlay-55, rgba(0, 0, 0, .55))}._cropGridContainer_1tfcf_1437{position:absolute;inset:0}._cropSizeLabel_1tfcf_1447{position:absolute;bottom:-24px;left:50%;transform:translate(-50%);background:var(--nice-overlay-75, rgba(0, 0, 0, .75));color:var(--nice-text-on-primary, #fff);font-size:10px;padding:var(--nice-space-0-5, 2px) var(--nice-space-2, 8px);border-radius:var(--nice-radius-sm, 3px);white-space:nowrap}._cropInfo_1tfcf_1475{margin-bottom:var(--nice-space-2-5, 10px);font-size:11px;color:var(--nice-text-muted, #aaa)}._cropAspectLabel_1tfcf_1487{font-weight:600;margin-bottom:var(--nice-space-1-5, 6px);font-size:12px}._cropAspectRow_1tfcf_1499{display:flex;flex-wrap:wrap;gap:var(--nice-space-1, 4px)}._accentBtn_1tfcf_1513{color:var(--nice-text-primary, #fff);font-weight:600;width:100%}._root_93lxp_13{height:100%;min-height:600px;background:var(--nice-bg, #1a1a2e);color:var(--nice-text-secondary, #e0e0e0);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:13px;user-select:none}._menuBar_93lxp_41{display:flex;align-items:center;gap:var(--nice-space-2, 8px);padding:var(--nice-space-1-5, 6px) var(--nice-space-3, 12px);background:var(--nice-bg, #16213e);border-bottom:1px solid var(--nice-border-color, #0f3460)}._menuBar_93lxp_41 h3{margin:0;font-size:14px;color:var(--nice-warning, #ffd369);font-weight:600}._menuGroup_93lxp_73{display:flex;gap:var(--nice-space-0-5, 2px)}._menuBtn_93lxp_83{display:flex;align-items:center;gap:var(--nice-space-1, 4px);padding:var(--nice-space-1, 4px) var(--nice-space-2, 8px);background:transparent;border:none;border-radius:var(--nice-radius-sm, 4px);color:var(--nice-text-muted, #b0b0b0);font-size:12px;cursor:pointer;transition:all .15s}._menuBtn_93lxp_83:hover{background:var(--nice-overlay-light-10, rgba(255, 255, 255, .1));color:var(--nice-text-on-primary, #fff)}._menuBtn_93lxp_83:disabled{opacity:.4;cursor:not-allowed}._spacer_93lxp_131{flex:1}._modeTabs_93lxp_147{display:flex;gap:var(--nice-space-0-5, 2px);padding:var(--nice-space-1, 4px) var(--nice-space-3, 12px);background:var(--nice-bg, #1f2940);border-bottom:1px solid var(--nice-border-color, #0f3460)}._modeTab_93lxp_147{padding:var(--nice-space-1-5, 6px) var(--nice-space-4, 16px);background:transparent;border:none;border-radius:var(--nice-radius-sm, 4px) var(--nice-radius-sm, 4px) 0 0;color:var(--nice-text-secondary, #8892a8);font-size:12px;font-weight:500;cursor:pointer;transition:all .15s}._modeTab_93lxp_147:hover{background:var(--nice-overlay-light-5, rgba(255, 255, 255, .05));color:var(--nice-text-on-primary, #c0c8d8)}._modeTab_93lxp_147._active_93lxp_197{background:var(--nice-bg, #1a1a2e);color:var(--nice-warning, #ffd369)}._mainArea_93lxp_215{display:flex;flex:1;overflow:hidden}._leftPanel_93lxp_227{width:220px;background:var(--nice-bg, #16213e);border-right:1px solid var(--nice-border-color, #0f3460);display:flex;flex-direction:column;overflow:hidden}._centerArea_93lxp_245{flex:1;display:flex;flex-direction:column;overflow:hidden}._rightPanel_93lxp_259{width:260px;background:var(--nice-bg, #16213e);border-left:1px solid var(--nice-border-color, #0f3460);display:flex;flex-direction:column;overflow:hidden}._toolbar_93lxp_285{display:flex;align-items:center;gap:var(--nice-space-2, 8px);padding:var(--nice-space-1-5, 6px) var(--nice-space-3, 12px);background:var(--nice-bg, #1f2940);border-bottom:1px solid var(--nice-border-color, #0f3460)}._toolGroup_93lxp_303{display:flex;gap:var(--nice-space-0-5, 2px);padding:var(--nice-space-0-5, 2px);background:var(--nice-overlay-20, rgba(0, 0, 0, .2));border-radius:var(--nice-radius-sm, 4px)}._toolBtn_93lxp_319{display:flex;align-items:center;justify-content:center;width:28px;height:28px;background:transparent;border:none;border-radius:var(--nice-radius-sm, 3px);color:var(--nice-text-secondary, #8892a8);font-size:14px;cursor:pointer;transition:all .15s}._toolBtn_93lxp_319:hover{background:var(--nice-overlay-light-10, rgba(255, 255, 255, .1));color:var(--nice-text-on-primary, #fff)}._toolBtn_93lxp_319._active_93lxp_197{background:var(--nice-color-primary, #0f3460);color:var(--nice-text-on-primary, #ffd369)}._toolBtn_93lxp_319:disabled{opacity:.3;cursor:not-allowed}._viewport_93lxp_387{flex:1;position:relative;overflow:hidden;background:var(--nice-bg, #0a0a14)}._viewportCanvas_93lxp_401{position:absolute;top:50%;left:50%;image-rendering:pixelated;image-rendering:crisp-edges}._gridOverlay_93lxp_417{position:absolute;inset:0;pointer-events:none}._panelHeader_93lxp_443{display:flex;align-items:center;justify-content:space-between;padding:var(--nice-space-2, 8px) var(--nice-space-3, 12px);background:var(--nice-bg-tertiary, #0f3460);font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--nice-text-secondary, #8892a8)}._panelContent_93lxp_469{flex:1;overflow-y:auto;padding:var(--nice-space-2, 8px)}._panelSection_93lxp_481{margin-bottom:var(--nice-space-4, 16px)}._panelLabel_93lxp_489{display:block;margin-bottom:var(--nice-space-1-5, 6px);font-size:11px;color:var(--nice-text-secondary, #8892a8);text-transform:uppercase;letter-spacing:.5px}._panelInput_93lxp_507{width:100%;padding:var(--nice-space-1-5, 6px) var(--nice-space-2, 8px);background:var(--nice-bg, #0a0a14);border:1px solid var(--nice-border-color, #2a3a5e);border-radius:var(--nice-radius-sm, 4px);color:var(--nice-text-secondary, #e0e0e0);font-size:12px}._panelInput_93lxp_507:focus{outline:none;border-color:var(--nice-warning, #ffd369)}._tilePalette_93lxp_545{display:grid;grid-template-columns:repeat(auto-fill,minmax(40px,1fr));gap:var(--nice-space-1, 4px);padding:var(--nice-space-2, 8px)}._tileItem_93lxp_559{aspect-ratio:1;background:var(--nice-bg, #0a0a14);border:2px solid transparent;border-radius:var(--nice-radius-sm, 4px);cursor:pointer;overflow:hidden;transition:all .15s}._tileItem_93lxp_559:hover{border-color:var(--nice-border-color, #4a5a7e)}._tileItem_93lxp_559._selected_93lxp_587{border-color:var(--nice-warning, #ffd369)}._tileItem_93lxp_559 img{width:100%;height:100%;object-fit:contain;image-rendering:pixelated}._layersList_93lxp_617{display:flex;flex-direction:column;gap:var(--nice-space-0-5, 2px)}._layerItem_93lxp_629{display:flex;align-items:center;gap:var(--nice-space-2, 8px);padding:var(--nice-space-1-5, 6px) var(--nice-space-2, 8px);background:var(--nice-bg, #1f2940);border-radius:var(--nice-radius-sm, 4px);cursor:pointer;transition:all .15s}._layerItem_93lxp_629:hover{background:var(--nice-hover-bg, #2a3a5e)}._layerItem_93lxp_629._selected_93lxp_587{background:var(--nice-selected-bg, #0f3460);border-left:3px solid var(--nice-warning, #ffd369)}._layerVisibility_93lxp_669{width:20px;height:20px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;color:var(--nice-text-secondary, #8892a8);cursor:pointer;border-radius:var(--nice-radius-sm, 3px)}._layerVisibility_93lxp_669:hover{background:var(--nice-overlay-light-10, rgba(255, 255, 255, .1))}._layerVisibility_93lxp_669._hidden_93lxp_703{opacity:.4}._layerName_93lxp_711{flex:1;font-size:12px;color:var(--nice-text-secondary, #c0c8d8)}._layerOpacity_93lxp_723{width:40px;text-align:right;font-size:10px;color:var(--nice-text-secondary, #8892a8)}._framesList_93lxp_745{display:grid;grid-template-columns:repeat(auto-fill,minmax(60px,1fr));gap:var(--nice-space-2, 8px);padding:var(--nice-space-2, 8px)}._frameItem_93lxp_759{aspect-ratio:1;background:var(--nice-bg, #0a0a14);border:2px solid transparent;border-radius:var(--nice-radius-sm, 4px);cursor:pointer;overflow:hidden;position:relative;transition:all .15s}._frameItem_93lxp_759:hover{border-color:var(--nice-border-color, #4a5a7e)}._frameItem_93lxp_759._selected_93lxp_587{border-color:var(--nice-warning, #ffd369)}._frameItem_93lxp_759 canvas{width:100%;height:100%;object-fit:contain;image-rendering:pixelated}._frameLabel_93lxp_811{position:absolute;bottom:0;left:0;right:0;padding:var(--nice-space-0-5, 2px) var(--nice-space-1, 4px);background:var(--nice-overlay-70, rgba(0, 0, 0, .7));font-size:9px;text-align:center;color:var(--nice-text-muted, #b0b0b0)}._timeline_93lxp_843{background:var(--nice-bg, #16213e);border-top:1px solid var(--nice-border-color, #0f3460);padding:var(--nice-space-2, 8px)}._timelineTrack_93lxp_855{display:flex;gap:var(--nice-space-1, 4px);padding:var(--nice-space-1, 4px);background:var(--nice-bg, #0a0a14);border-radius:var(--nice-radius-sm, 4px);overflow-x:auto}._timelineFrame_93lxp_873{flex-shrink:0;width:48px;height:48px;background:var(--nice-bg, #1f2940);border:2px solid transparent;border-radius:var(--nice-radius-sm, 4px);cursor:pointer;overflow:hidden}._timelineFrame_93lxp_873:hover{border-color:var(--nice-border-color, #4a5a7e)}._timelineFrame_93lxp_873._current_93lxp_903{border-color:var(--nice-warning, #ffd369)}._stateGraph_93lxp_919{flex:1;position:relative;overflow:hidden;background:var(--nice-bg, #0a0a14)}._stateNode_93lxp_933{position:absolute;min-width:120px;padding:var(--nice-space-2, 8px) var(--nice-space-3, 12px);background:var(--nice-bg, #1f2940);border:2px solid var(--nice-border-color, #2a3a5e);border-radius:var(--nice-radius-lg, 8px);cursor:move;transition:border-color .15s}._stateNode_93lxp_933:hover{border-color:var(--nice-border-color, #4a5a7e)}._stateNode_93lxp_933._selected_93lxp_587{border-color:var(--nice-warning, #ffd369)}._stateNode_93lxp_933._entry_93lxp_971{border-color:var(--nice-success-light, #4ade80)}._stateNodeName_93lxp_979{font-size:12px;font-weight:500;color:var(--nice-text-secondary, #e0e0e0);text-align:center}._stateNodeAnim_93lxp_993{font-size:10px;color:var(--nice-text-secondary, #8892a8);text-align:center;margin-top:var(--nice-space-1, 4px)}._transition_93lxp_1007{stroke:var(--nice-text-secondary, #4a5a7e);stroke-width:2;fill:none;marker-end:url(#arrowhead)}._transition_93lxp_1007:hover{stroke:var(--nice-warning, #ffd369)}._effectsList_93lxp_1037{display:flex;flex-direction:column;gap:var(--nice-space-2, 8px)}._effectItem_93lxp_1049{background:var(--nice-bg, #1f2940);border-radius:var(--nice-radius-md, 6px);overflow:hidden}._effectHeader_93lxp_1061{display:flex;align-items:center;gap:var(--nice-space-2, 8px);padding:var(--nice-space-2, 8px);cursor:pointer}._effectToggle_93lxp_1077{width:18px;height:18px;border-radius:var(--nice-radius-sm, 3px);background:var(--nice-bg, #0a0a14);border:1px solid var(--nice-border-color, #2a3a5e);cursor:pointer}._effectToggle_93lxp_1077._enabled_93lxp_1095{background:var(--nice-warning, #ffd369);border-color:var(--nice-warning, #ffd369)}._effectName_93lxp_1105{flex:1;font-size:12px;color:var(--nice-text-secondary, #c0c8d8)}._effectRemove_93lxp_1117{width:20px;height:20px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;color:var(--nice-text-secondary, #8892a8);cursor:pointer;border-radius:var(--nice-radius-sm, 3px)}._effectRemove_93lxp_1117:hover{background:var(--nice-danger, #ef4444);color:var(--nice-text-on-primary, #fff)}._effectParams_93lxp_1153{padding:var(--nice-space-2, 8px);background:var(--nice-overlay-20, rgba(0, 0, 0, .2))}._effectParam_93lxp_1153{display:flex;align-items:center;gap:var(--nice-space-2, 8px);margin-bottom:var(--nice-space-2, 8px)}._effectParam_93lxp_1153:last-child{margin-bottom:0}._effectParamLabel_93lxp_1185{flex:0 0 80px;font-size:11px;color:var(--nice-text-secondary, #8892a8)}._effectParamInput_93lxp_1197{flex:1;height:24px;padding:0 var(--nice-space-2, 8px);background:var(--nice-bg, #0a0a14);border:1px solid var(--nice-border-color, #2a3a5e);border-radius:var(--nice-radius-sm, 3px);color:var(--nice-text-secondary, #e0e0e0);font-size:11px}._statusBar_93lxp_1227{display:flex;align-items:center;gap:var(--nice-space-4, 16px);padding:var(--nice-space-1, 4px) var(--nice-space-3, 12px);background:var(--nice-bg-tertiary, #0f3460);font-size:11px;color:var(--nice-text-secondary, #8892a8)}._statusItem_93lxp_1247{display:flex;align-items:center;gap:var(--nice-space-1, 4px)}._zoomControl_93lxp_1259{display:flex;align-items:center;gap:var(--nice-space-1, 4px);margin-left:auto}._zoomBtn_93lxp_1273{width:20px;height:20px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;color:var(--nice-text-secondary, #8892a8);cursor:pointer;border-radius:var(--nice-radius-sm, 3px)}._zoomBtn_93lxp_1273:hover{background:var(--nice-overlay-light-10, rgba(255, 255, 255, .1));color:var(--nice-text-on-primary, #fff)}._dialogOverlay_93lxp_1317{position:fixed;inset:0;background:var(--nice-overlay-60, rgba(0, 0, 0, .6));display:flex;align-items:center;justify-content:center;z-index:1000}._dialog_93lxp_1317{background:var(--nice-bg, #16213e);border-radius:var(--nice-radius-lg, 8px);padding:var(--nice-space-6, 24px);min-width:300px;max-width:500px;box-shadow:0 8px 32px var(--nice-overlay-40, rgba(0, 0, 0, .4))}._dialog_93lxp_1317 h3{margin:0 0 var(--nice-space-4, 16px);font-size:16px;color:var(--nice-warning, #ffd369)}._dialogActions_93lxp_1373{display:flex;justify-content:flex-end;gap:var(--nice-space-2, 8px);margin-top:var(--nice-space-5, 20px)}._btnPrimary_93lxp_1387{padding:var(--nice-space-2, 8px) var(--nice-space-4, 16px);background:var(--nice-warning, #ffd369);border:none;border-radius:var(--nice-radius-sm, 4px);color:var(--nice-text-on-primary, #1a1a2e);font-size:12px;font-weight:600;cursor:pointer;transition:all .15s}._btnPrimary_93lxp_1387:hover{background:color-mix(in srgb,var(--nice-warning, #ffd369) 80%,#fff)}._btnSecondary_93lxp_1419{padding:var(--nice-space-2, 8px) var(--nice-space-4, 16px);background:transparent;border:1px solid var(--nice-border-color, #4a5a7e);border-radius:var(--nice-radius-sm, 4px);color:var(--nice-text-secondary, #c0c8d8);font-size:12px;cursor:pointer;transition:all .15s}._btnSecondary_93lxp_1419:hover{background:var(--nice-overlay-light-5, rgba(255, 255, 255, .05));border-color:var(--nice-border-strong, #6a7a9e)}._panelContent_93lxp_469::-webkit-scrollbar{width:6px}._panelContent_93lxp_469::-webkit-scrollbar-track{background:var(--nice-bg, #0a0a14)}._panelContent_93lxp_469::-webkit-scrollbar-thumb{background:var(--nice-border-color, #2a3a5e);border-radius:var(--nice-radius-sm, 3px)}._panelContent_93lxp_469::-webkit-scrollbar-thumb:hover{background:var(--nice-text-secondary, #4a5a7e)}._dropZone_93lxp_1501{border:2px dashed var(--nice-border-color, #4a5a7e);border-radius:var(--nice-radius-lg, 8px);padding:var(--nice-space-6, 24px);text-align:center;color:var(--nice-text-secondary, #8892a8);cursor:pointer;transition:all .15s}._dropZone_93lxp_1501:hover{border-color:var(--nice-warning, #ffd369);color:var(--nice-text-secondary, #c0c8d8)}._dropZone_93lxp_1501._active_93lxp_197{border-color:var(--nice-warning, #ffd369);background:color-mix(in srgb,var(--nice-warning, #ffd369) 10%,transparent)}._emptyState_93lxp_1541{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--nice-space-8, 32px);color:var(--nice-text-secondary, #8892a8);text-align:center}._emptyState_93lxp_1541 svg{width:48px;height:48px;margin-bottom:var(--nice-space-3, 12px);opacity:.5}._emptyStateText_93lxp_1575{font-size:12px;margin-bottom:var(--nice-space-3, 12px)}
@@ -1,4 +0,0 @@
1
- /**
2
- * Vitest setup — extends matchers and polyfills DOM APIs for jsdom.
3
- */
4
- import '@testing-library/jest-dom/vitest';