neiki-editor 3.2.0 → 3.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +11 -10
- package/dist/neiki-editor.css +39 -1
- package/dist/neiki-editor.js +19 -10
- package/dist/neiki-editor.min.css +1 -1
- package/dist/neiki-editor.min.js +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -9,9 +9,10 @@
|
|
|
9
9
|
<img src="https://img.shields.io/badge/php-%23777BB4.svg?style=for-the-badge&logo=php&logoColor=white" alt="PHP">
|
|
10
10
|
<img src="https://img.shields.io/badge/html5-%23E34F26.svg?style=for-the-badge&logo=html5&logoColor=white" alt="HTML5">
|
|
11
11
|
<img src="https://img.shields.io/badge/css-%23663399.svg?style=for-the-badge&logo=css&logoColor=white" alt="CSS">
|
|
12
|
+
<img src="https://img.shields.io/badge/web%20components-29ABE2.svg?style=for-the-badge&logo=webcomponentsdotorg&logoColor=white" alt="Web Components">
|
|
12
13
|
<br>
|
|
13
14
|
<img src="https://img.shields.io/badge/License-AGPL--3.0-2563EB?style=for-the-badge&logo=open-source-initiative&logoColor=white&labelColor=000F15&logoWidth=20" alt="License">
|
|
14
|
-
<img src="https://img.shields.io/badge/Version-3.
|
|
15
|
+
<img src="https://img.shields.io/badge/Version-3.3.0-2563EB?style=for-the-badge&logo=semantic-release&logoColor=white&labelColor=000F15&logoWidth=20" alt="Version">
|
|
15
16
|
</p>
|
|
16
17
|
|
|
17
18
|
<p align="center">
|
|
@@ -109,7 +110,7 @@ If you want a content editor that you can read, host, and reason about as a sing
|
|
|
109
110
|
- Plugin API for custom toolbar buttons and init hooks
|
|
110
111
|
- PHP integration helper with asset loading, rendering, and HTML sanitization
|
|
111
112
|
- Eight built-in UI languages: `en`, `cs`, `zh`, `es`, `de`, `fr`, `pt`, `ja`
|
|
112
|
-
-
|
|
113
|
+
- Seven built-in themes: Light, Dark, Blue, Dark Blue, Midnight, Void, Autumn
|
|
113
114
|
- Lifecycle callbacks: `onReady`, `onChange`, `onSave`, `onFocus`, `onBlur`
|
|
114
115
|
|
|
115
116
|
---
|
|
@@ -129,7 +130,7 @@ The recommended install is the single bundled script from the CDN. CSS is includ
|
|
|
129
130
|
**Pin a specific version**
|
|
130
131
|
|
|
131
132
|
```html
|
|
132
|
-
<script src="https://cdn.neikiri.dev/neiki-editor/3.
|
|
133
|
+
<script src="https://cdn.neikiri.dev/neiki-editor/3.3.0/neiki-editor.min.js"></script>
|
|
133
134
|
```
|
|
134
135
|
|
|
135
136
|
**Load CSS and JS separately**
|
|
@@ -140,8 +141,8 @@ The recommended install is the single bundled script from the CDN. CSS is includ
|
|
|
140
141
|
<script src="https://cdn.neikiri.dev/neiki-editor/neiki-editor.js"></script>
|
|
141
142
|
|
|
142
143
|
<!-- Or pinned -->
|
|
143
|
-
<link rel="stylesheet" href="https://cdn.neikiri.dev/neiki-editor/3.
|
|
144
|
-
<script src="https://cdn.neikiri.dev/neiki-editor/3.
|
|
144
|
+
<link rel="stylesheet" href="https://cdn.neikiri.dev/neiki-editor/3.3.0/neiki-editor.css">
|
|
145
|
+
<script src="https://cdn.neikiri.dev/neiki-editor/3.3.0/neiki-editor.js"></script>
|
|
145
146
|
```
|
|
146
147
|
|
|
147
148
|
**Alternative CDN — jsDelivr**
|
|
@@ -149,7 +150,7 @@ The recommended install is the single bundled script from the CDN. CSS is includ
|
|
|
149
150
|
```html
|
|
150
151
|
<script src="https://cdn.jsdelivr.net/gh/neikiri/neiki-editor@latest/dist/neiki-editor.min.js"></script>
|
|
151
152
|
<!-- Pinned -->
|
|
152
|
-
<script src="https://cdn.jsdelivr.net/gh/neikiri/neiki-editor@3.
|
|
153
|
+
<script src="https://cdn.jsdelivr.net/gh/neikiri/neiki-editor@3.3.0/dist/neiki-editor.min.js"></script>
|
|
153
154
|
```
|
|
154
155
|
|
|
155
156
|
**Package manager**
|
|
@@ -229,7 +230,7 @@ const editor = new NeikiEditor('#editor', {
|
|
|
229
230
|
placeholder: 'Start typing...',
|
|
230
231
|
minHeight: 300,
|
|
231
232
|
maxHeight: 600,
|
|
232
|
-
theme: 'light', // 'light' | 'dark' | 'blue' | 'dark-blue'
|
|
233
|
+
theme: 'light', // 'light' | 'dark' | 'blue' | 'dark-blue' | 'midnight' | 'void' | 'autumn'
|
|
233
234
|
language: 'en', // 'en' | 'cs' | 'zh' | 'es' | 'de' | 'fr' | 'pt' | 'ja'
|
|
234
235
|
onChange: function (content, editor) {
|
|
235
236
|
console.log('Content changed:', content);
|
|
@@ -247,7 +248,7 @@ const editor = new NeikiEditor('#editor', {
|
|
|
247
248
|
| `autofocus` | `boolean` | `false` | Focus the editor on initialization |
|
|
248
249
|
| `spellcheck` | `boolean` | `true` | Enable browser spellcheck |
|
|
249
250
|
| `readonly` | `boolean` | `false` | Make the editor read-only |
|
|
250
|
-
| `theme` | `string` | `'light'` | `'light'`, `'dark'`, `'blue'`, `'dark-blue'`, `'midnight'`, or `'
|
|
251
|
+
| `theme` | `string` | `'light'` | `'light'`, `'dark'`, `'blue'`, `'dark-blue'`, `'midnight'`, `'void'`, or `'autumn'` |
|
|
251
252
|
| `language` | `string` | `'en'` | UI language (see list above) |
|
|
252
253
|
| `translations` | `object \| null` | `null` | Custom translation keys, merged with built-ins |
|
|
253
254
|
| `contextMenu` | `boolean` | `true` | Enable the custom right-click context menu. Set to `false` to fall back to the browser's native menu |
|
|
@@ -285,13 +286,13 @@ Available identifiers include text formatting (`bold`, `italic`, `underline`, `s
|
|
|
285
286
|
|
|
286
287
|
### Themes
|
|
287
288
|
|
|
288
|
-
|
|
289
|
+
Seven themes ship by default: `light`, `dark`, `blue`, `dark-blue`, `midnight`, `void` (a dark purple cyberpunk theme with neon-purple glow accents), and `autumn` (a warm retro theme with a brown background and orange accents). Set one at init or change it at runtime:
|
|
289
290
|
|
|
290
291
|
```javascript
|
|
291
292
|
const editor = new NeikiEditor('#editor', { theme: 'dark' });
|
|
292
293
|
|
|
293
294
|
editor.setTheme('void'); // set a specific theme
|
|
294
|
-
editor.toggleTheme(); // cycle: light → dark → blue → dark-blue → midnight → void → light
|
|
295
|
+
editor.toggleTheme(); // cycle: light → dark → blue → dark-blue → midnight → void → autumn → light
|
|
295
296
|
```
|
|
296
297
|
|
|
297
298
|
> The selected theme is persisted to `localStorage` as a **global** setting. It applies to all editor instances on the page and persists across reloads. If a user has already chosen a theme, that saved preference takes priority over the `theme` config value — call `setTheme()` after init if you need to override it.
|
package/dist/neiki-editor.css
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* NeikiEditor - Production-Ready WYSIWYG Rich Text Editor
|
|
3
3
|
* CSS Stylesheet
|
|
4
|
-
* Version: 3.
|
|
4
|
+
* Version: 3.3.0
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
7
|
/* ============================================
|
|
@@ -230,6 +230,44 @@
|
|
|
230
230
|
text-shadow: 0 0 6px rgba(176, 38, 255, 0.6);
|
|
231
231
|
}
|
|
232
232
|
|
|
233
|
+
/* Autumn Theme — warm retro palette */
|
|
234
|
+
.neiki-editor.neiki-theme-autumn,
|
|
235
|
+
.neiki-modal-overlay.neiki-theme-autumn,
|
|
236
|
+
.neiki-context-menu.neiki-theme-autumn {
|
|
237
|
+
--neiki-bg-primary: #282828;
|
|
238
|
+
--neiki-bg-secondary: #32302f;
|
|
239
|
+
--neiki-bg-tertiary: #3c3836;
|
|
240
|
+
--neiki-bg-hover: #504945;
|
|
241
|
+
--neiki-bg-active: #665c54;
|
|
242
|
+
--neiki-border-color: #3c3836;
|
|
243
|
+
--neiki-border-color-dark: #665c54;
|
|
244
|
+
--neiki-text-primary: #ebdbb2;
|
|
245
|
+
--neiki-text-secondary: #d5c4a1;
|
|
246
|
+
--neiki-text-muted: #a89984;
|
|
247
|
+
--neiki-accent-color: #fe8019;
|
|
248
|
+
--neiki-accent-hover: #d65d0e;
|
|
249
|
+
--neiki-danger-color: #fb4934;
|
|
250
|
+
--neiki-success-color: #b8bb26;
|
|
251
|
+
--neiki-shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.25);
|
|
252
|
+
--neiki-shadow-md: 0 4px 12px rgba(0, 0, 0, 0.35);
|
|
253
|
+
--neiki-shadow-lg: 0 16px 32px rgba(0, 0, 0, 0.45);
|
|
254
|
+
--neiki-editor-bg: #282828;
|
|
255
|
+
--neiki-toolbar-bg: #32302f;
|
|
256
|
+
--neiki-statusbar-bg: #32302f;
|
|
257
|
+
--neiki-modal-overlay: rgba(0, 0, 0, 0.7);
|
|
258
|
+
--neiki-scrollbar-thumb: #665c54;
|
|
259
|
+
--neiki-scrollbar-track: #3c3836;
|
|
260
|
+
--neiki-selection-bg: #504945;
|
|
261
|
+
--neiki-highlight-color: #d79921;
|
|
262
|
+
--neiki-table-border: #3c3836;
|
|
263
|
+
}
|
|
264
|
+
|
|
265
|
+
/* Autumn — toolbar selects and fontsize input text color */
|
|
266
|
+
.neiki-editor.neiki-theme-autumn .neiki-select,
|
|
267
|
+
.neiki-editor.neiki-theme-autumn .neiki-fontsize-input {
|
|
268
|
+
color: var(--neiki-text-secondary);
|
|
269
|
+
}
|
|
270
|
+
|
|
233
271
|
/* ============================================
|
|
234
272
|
Base Editor Container
|
|
235
273
|
============================================ */
|
package/dist/neiki-editor.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* NeikiEditor - A Modern WYSIWYG Editor
|
|
3
|
-
* Version: 3.
|
|
3
|
+
* Version: 3.3.0
|
|
4
4
|
*
|
|
5
5
|
* A lightweight, feature-rich text editor with support for:
|
|
6
6
|
* - Rich text formatting (bold, italic, underline, etc.)
|
|
@@ -113,6 +113,7 @@
|
|
|
113
113
|
'theme.darkBlue': 'Dark Blue',
|
|
114
114
|
'theme.midnight': 'Midnight',
|
|
115
115
|
'theme.void': 'Void',
|
|
116
|
+
'theme.autumn': 'Autumn',
|
|
116
117
|
|
|
117
118
|
// Help modal
|
|
118
119
|
'help.author': 'Author',
|
|
@@ -311,6 +312,7 @@
|
|
|
311
312
|
'theme.darkBlue': 'Tmavě modrý',
|
|
312
313
|
'theme.midnight': 'Půlnoc',
|
|
313
314
|
'theme.void': 'Prázdnota',
|
|
315
|
+
'theme.autumn': 'Podzim',
|
|
314
316
|
'help.author': 'Autor',
|
|
315
317
|
'help.version': 'Verze',
|
|
316
318
|
'help.github': 'GitHub',
|
|
@@ -494,6 +496,7 @@
|
|
|
494
496
|
'theme.darkBlue': '深蓝色',
|
|
495
497
|
'theme.midnight': '午夜',
|
|
496
498
|
'theme.void': '虚空',
|
|
499
|
+
'theme.autumn': '秋天',
|
|
497
500
|
'help.author': '作者',
|
|
498
501
|
'help.version': '版本',
|
|
499
502
|
'help.github': 'GitHub',
|
|
@@ -660,6 +663,7 @@
|
|
|
660
663
|
'theme.darkBlue': 'Azul oscuro',
|
|
661
664
|
'theme.midnight': 'Medianoche',
|
|
662
665
|
'theme.void': 'Vacío',
|
|
666
|
+
'theme.autumn': 'Otoño',
|
|
663
667
|
'help.author': 'Autor',
|
|
664
668
|
'help.version': 'Versión',
|
|
665
669
|
'help.github': 'GitHub',
|
|
@@ -826,6 +830,7 @@
|
|
|
826
830
|
'theme.darkBlue': 'Dunkelblau',
|
|
827
831
|
'theme.midnight': 'Mitternacht',
|
|
828
832
|
'theme.void': 'Leere',
|
|
833
|
+
'theme.autumn': 'Herbst',
|
|
829
834
|
'help.author': 'Autor',
|
|
830
835
|
'help.version': 'Version',
|
|
831
836
|
'help.github': 'GitHub',
|
|
@@ -992,6 +997,7 @@
|
|
|
992
997
|
'theme.darkBlue': 'Bleu foncé',
|
|
993
998
|
'theme.midnight': 'Minuit',
|
|
994
999
|
'theme.void': 'Néant',
|
|
1000
|
+
'theme.autumn': 'Automne',
|
|
995
1001
|
'help.author': 'Auteur',
|
|
996
1002
|
'help.version': 'Version',
|
|
997
1003
|
'help.github': 'GitHub',
|
|
@@ -1158,6 +1164,7 @@
|
|
|
1158
1164
|
'theme.darkBlue': 'Azul escuro',
|
|
1159
1165
|
'theme.midnight': 'Meia-noite',
|
|
1160
1166
|
'theme.void': 'Vazio',
|
|
1167
|
+
'theme.autumn': 'Outono',
|
|
1161
1168
|
'help.author': 'Autor',
|
|
1162
1169
|
'help.version': 'Versão',
|
|
1163
1170
|
'help.github': 'GitHub',
|
|
@@ -1324,6 +1331,7 @@
|
|
|
1324
1331
|
'theme.darkBlue': 'ダークブルー',
|
|
1325
1332
|
'theme.midnight': 'ミッドナイト',
|
|
1326
1333
|
'theme.void': 'ヴォイド',
|
|
1334
|
+
'theme.autumn': 'オータム',
|
|
1327
1335
|
'help.author': '作成者',
|
|
1328
1336
|
'help.version': 'バージョン',
|
|
1329
1337
|
'help.github': 'GitHub',
|
|
@@ -1442,14 +1450,15 @@
|
|
|
1442
1450
|
return text;
|
|
1443
1451
|
}
|
|
1444
1452
|
|
|
1445
|
-
const THEMES = ['light', 'dark', 'blue', 'dark-blue', 'midnight', 'void'];
|
|
1453
|
+
const THEMES = ['light', 'dark', 'blue', 'dark-blue', 'midnight', 'void', 'autumn'];
|
|
1446
1454
|
const THEME_OPTIONS = [
|
|
1447
1455
|
{ value: 'light', labelKey: 'theme.light' },
|
|
1448
1456
|
{ value: 'dark', labelKey: 'theme.dark' },
|
|
1449
1457
|
{ value: 'blue', labelKey: 'theme.blue' },
|
|
1450
1458
|
{ value: 'dark-blue', labelKey: 'theme.darkBlue' },
|
|
1451
1459
|
{ value: 'midnight', labelKey: 'theme.midnight' },
|
|
1452
|
-
{ value: 'void', labelKey: 'theme.void' }
|
|
1460
|
+
{ value: 'void', labelKey: 'theme.void' },
|
|
1461
|
+
{ value: 'autumn', labelKey: 'theme.autumn' }
|
|
1453
1462
|
];
|
|
1454
1463
|
|
|
1455
1464
|
const DEFAULT_CONFIG = {
|
|
@@ -2282,7 +2291,7 @@
|
|
|
2282
2291
|
|
|
2283
2292
|
syncThemeClasses() {
|
|
2284
2293
|
if (!this.overlay || !this.editor.getThemeClasses) return;
|
|
2285
|
-
this.overlay.classList.remove('neiki-dark', 'neiki-theme-blue', 'neiki-theme-dark-blue', 'neiki-theme-midnight', 'neiki-theme-void');
|
|
2294
|
+
this.overlay.classList.remove('neiki-dark', 'neiki-theme-blue', 'neiki-theme-dark-blue', 'neiki-theme-midnight', 'neiki-theme-void', 'neiki-theme-autumn');
|
|
2286
2295
|
this.editor.getThemeClasses(this.editor.config.theme).split(' ').filter(Boolean).forEach(className => {
|
|
2287
2296
|
this.overlay.classList.add(className);
|
|
2288
2297
|
});
|
|
@@ -3064,7 +3073,7 @@
|
|
|
3064
3073
|
<img src="https://github.com/neikiri/neiki-editor/raw/main/assets/logo.png" alt="Neiki's Editor" style="width: 240px; height: auto; margin: 0 auto 16px; display: block;">
|
|
3065
3074
|
<div style="font-size: 14px; line-height: 2; color: var(--neiki-text-primary);">
|
|
3066
3075
|
<div><strong>${Utils.escapeHTML(t('help.author'))}:</strong> neikiri (Jindřich Stoklasa)</div>
|
|
3067
|
-
<div><strong>${Utils.escapeHTML(t('help.version'))}:</strong> 3.
|
|
3076
|
+
<div><strong>${Utils.escapeHTML(t('help.version'))}:</strong> 3.3.0</div>
|
|
3068
3077
|
<div><strong>${Utils.escapeHTML(t('help.github'))}:</strong> <a href="https://github.com/neikiri/neiki-editor" target="_blank" rel="noopener noreferrer" style="color: var(--neiki-accent);">github.com/neikiri/neiki-editor</a></div>
|
|
3069
3078
|
<div><strong>${Utils.escapeHTML(t('help.documentation'))}:</strong> <a href="https://github.com/neikiri/neiki-editor/wiki" target="_blank" rel="noopener noreferrer" style="color: var(--neiki-accent);">Wiki</a></div>
|
|
3070
3079
|
</div>
|
|
@@ -4060,7 +4069,7 @@
|
|
|
4060
4069
|
const normalizedTheme = THEMES.includes(theme) ? theme : 'light';
|
|
4061
4070
|
const classes = [];
|
|
4062
4071
|
|
|
4063
|
-
if (normalizedTheme === 'dark' || normalizedTheme === 'dark-blue' || normalizedTheme === 'midnight' || normalizedTheme === 'void') {
|
|
4072
|
+
if (normalizedTheme === 'dark' || normalizedTheme === 'dark-blue' || normalizedTheme === 'midnight' || normalizedTheme === 'void' || normalizedTheme === 'autumn') {
|
|
4064
4073
|
classes.push('neiki-dark');
|
|
4065
4074
|
}
|
|
4066
4075
|
|
|
@@ -4074,7 +4083,7 @@
|
|
|
4074
4083
|
applyTheme(theme) {
|
|
4075
4084
|
const normalizedTheme = THEMES.includes(theme) ? theme : 'light';
|
|
4076
4085
|
this.config.theme = normalizedTheme;
|
|
4077
|
-
this.container.classList.remove('neiki-dark', 'neiki-theme-blue', 'neiki-theme-dark-blue', 'neiki-theme-midnight', 'neiki-theme-void');
|
|
4086
|
+
this.container.classList.remove('neiki-dark', 'neiki-theme-blue', 'neiki-theme-dark-blue', 'neiki-theme-midnight', 'neiki-theme-void', 'neiki-theme-autumn');
|
|
4078
4087
|
this.getThemeClasses(normalizedTheme).split(' ').filter(Boolean).forEach(className => {
|
|
4079
4088
|
this.container.classList.add(className);
|
|
4080
4089
|
});
|
|
@@ -5049,7 +5058,7 @@
|
|
|
5049
5058
|
}
|
|
5050
5059
|
break;
|
|
5051
5060
|
case 'themeToggle':
|
|
5052
|
-
isActive = this.config.theme === 'dark' || this.config.theme === 'dark-blue' || this.config.theme === 'midnight' || this.config.theme === 'void';
|
|
5061
|
+
isActive = this.config.theme === 'dark' || this.config.theme === 'dark-blue' || this.config.theme === 'midnight' || this.config.theme === 'void' || this.config.theme === 'autumn';
|
|
5053
5062
|
break;
|
|
5054
5063
|
}
|
|
5055
5064
|
} catch (e) {
|
|
@@ -7301,7 +7310,7 @@
|
|
|
7301
7310
|
|
|
7302
7311
|
syncThemeClasses() {
|
|
7303
7312
|
if (!this.editor.getThemeClasses) return;
|
|
7304
|
-
this.menu.classList.remove('neiki-dark', 'neiki-theme-blue', 'neiki-theme-dark-blue', 'neiki-theme-midnight', 'neiki-theme-void');
|
|
7313
|
+
this.menu.classList.remove('neiki-dark', 'neiki-theme-blue', 'neiki-theme-dark-blue', 'neiki-theme-midnight', 'neiki-theme-void', 'neiki-theme-autumn');
|
|
7305
7314
|
this.editor.getThemeClasses(this.editor.config.theme).split(' ').filter(Boolean).forEach(className => {
|
|
7306
7315
|
this.menu.classList.add(className);
|
|
7307
7316
|
});
|
|
@@ -7496,7 +7505,7 @@
|
|
|
7496
7505
|
|
|
7497
7506
|
syncThemeClasses() {
|
|
7498
7507
|
if (!this.editor.getThemeClasses) return;
|
|
7499
|
-
this.menu.classList.remove('neiki-dark', 'neiki-theme-blue', 'neiki-theme-dark-blue', 'neiki-theme-midnight', 'neiki-theme-void');
|
|
7508
|
+
this.menu.classList.remove('neiki-dark', 'neiki-theme-blue', 'neiki-theme-dark-blue', 'neiki-theme-midnight', 'neiki-theme-void', 'neiki-theme-autumn');
|
|
7500
7509
|
this.editor.getThemeClasses(this.editor.config.theme).split(' ').filter(Boolean).forEach(className => {
|
|
7501
7510
|
this.menu.classList.add(className);
|
|
7502
7511
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
.neiki-checkbox,.neiki-find-replace-option input{accent-color:var(--neiki-accent-color)}.neiki-modal,.neiki-modal-overlay.show .neiki-modal{animation:.2s neiki-modal-in}:root{--neiki-bg-primary:#ffffff;--neiki-bg-secondary:#f8f9fa;--neiki-bg-tertiary:#e9ecef;--neiki-bg-hover:#dee2e6;--neiki-bg-active:#ced4da;--neiki-border-color:#dee2e6;--neiki-border-color-dark:#adb5bd;--neiki-text-primary:#212529;--neiki-text-secondary:#495057;--neiki-text-muted:#6c757d;--neiki-accent-color:#0d6efd;--neiki-accent-hover:#0b5ed7;--neiki-danger-color:#dc3545;--neiki-success-color:#198754;--neiki-shadow-sm:0 1px 2px rgba(0, 0, 0, 0.05);--neiki-shadow-md:0 4px 6px rgba(0, 0, 0, 0.1);--neiki-shadow-lg:0 10px 15px rgba(0, 0, 0, 0.1);--neiki-editor-bg:#ffffff;--neiki-toolbar-bg:#f8f9fa;--neiki-statusbar-bg:#f8f9fa;--neiki-modal-overlay:rgba(0, 0, 0, 0.5);--neiki-scrollbar-thumb:#ced4da;--neiki-scrollbar-track:#f8f9fa;--neiki-selection-bg:#b3d7ff;--neiki-highlight-color:#fff3cd;--neiki-table-border:#dee2e6}.neiki-context-menu.neiki-dark,.neiki-editor.neiki-dark,.neiki-modal-overlay.neiki-dark{--neiki-bg-primary:#1e1e1e;--neiki-bg-secondary:#252526;--neiki-bg-tertiary:#2d2d30;--neiki-bg-hover:#3e3e42;--neiki-bg-active:#505050;--neiki-border-color:#3e3e42;--neiki-border-color-dark:#505050;--neiki-text-primary:#d4d4d4;--neiki-text-secondary:#a0a0a0;--neiki-text-muted:#808080;--neiki-accent-color:#4fc3f7;--neiki-accent-hover:#29b6f6;--neiki-danger-color:#f44336;--neiki-success-color:#4caf50;--neiki-shadow-sm:0 1px 2px rgba(0, 0, 0, 0.2);--neiki-shadow-md:0 4px 6px rgba(0, 0, 0, 0.3);--neiki-shadow-lg:0 10px 15px rgba(0, 0, 0, 0.4);--neiki-editor-bg:#1e1e1e;--neiki-toolbar-bg:#252526;--neiki-statusbar-bg:#252526;--neiki-modal-overlay:rgba(0, 0, 0, 0.7);--neiki-scrollbar-thumb:#505050;--neiki-scrollbar-track:#2d2d30;--neiki-selection-bg:#264f78;--neiki-highlight-color:#5c4d00;--neiki-table-border:#3e3e42}.neiki-context-menu.neiki-theme-blue,.neiki-editor.neiki-theme-blue,.neiki-modal-overlay.neiki-theme-blue{--neiki-bg-primary:#f8fbff;--neiki-bg-secondary:#eef6ff;--neiki-bg-tertiary:#dbeafe;--neiki-bg-hover:#bfdbfe;--neiki-bg-active:#93c5fd;--neiki-border-color:#bfdbfe;--neiki-border-color-dark:#60a5fa;--neiki-text-primary:#0f172a;--neiki-text-secondary:#1e3a8a;--neiki-text-muted:#64748b;--neiki-accent-color:#2563eb;--neiki-accent-hover:#1d4ed8;--neiki-danger-color:#dc3545;--neiki-success-color:#16803d;--neiki-shadow-sm:0 1px 2px rgba(37, 99, 235, 0.08);--neiki-shadow-md:0 4px 10px rgba(37, 99, 235, 0.12);--neiki-shadow-lg:0 14px 28px rgba(37, 99, 235, 0.16);--neiki-editor-bg:#ffffff;--neiki-toolbar-bg:#eaf4ff;--neiki-statusbar-bg:#eef6ff;--neiki-modal-overlay:rgba(15, 23, 42, 0.45);--neiki-scrollbar-thumb:#93c5fd;--neiki-scrollbar-track:#eff6ff;--neiki-selection-bg:#bfdbfe;--neiki-highlight-color:#fef08a;--neiki-table-border:#bfdbfe}.neiki-context-menu.neiki-theme-midnight,.neiki-editor.neiki-theme-midnight,.neiki-modal-overlay.neiki-theme-midnight{--neiki-bg-primary:#0d0d12;--neiki-bg-secondary:#13131a;--neiki-bg-tertiary:#1a1a24;--neiki-bg-hover:#22223a;--neiki-bg-active:#2c2c4a;--neiki-border-color:#2a2a3d;--neiki-border-color-dark:#3d3d5c;--neiki-text-primary:#e8e8f0;--neiki-text-secondary:#c084fc;--neiki-text-muted:#7070a0;--neiki-accent-color:#c084fc;--neiki-accent-hover:#a855f7;--neiki-danger-color:#f87171;--neiki-success-color:#4ade80;--neiki-shadow-sm:0 1px 2px rgba(0, 0, 0, 0.3);--neiki-shadow-md:0 4px 12px rgba(0, 0, 0, 0.5);--neiki-shadow-lg:0 16px 32px rgba(0, 0, 0, 0.6);--neiki-editor-bg:#0a0a10;--neiki-toolbar-bg:#111118;--neiki-statusbar-bg:#111118;--neiki-modal-overlay:rgba(0, 0, 0, 0.8);--neiki-scrollbar-thumb:#2c2c4a;--neiki-scrollbar-track:#0d0d12;--neiki-selection-bg:#3b1f5e;--neiki-highlight-color:#3b1f5e;--neiki-table-border:#2a2a3d}.neiki-context-menu.neiki-theme-dark-blue,.neiki-editor.neiki-theme-dark-blue,.neiki-modal-overlay.neiki-theme-dark-blue{--neiki-bg-primary:#07111f;--neiki-bg-secondary:#0b1d33;--neiki-bg-tertiary:#102a46;--neiki-bg-hover:#173b61;--neiki-bg-active:#1d4f82;--neiki-border-color:#1f3f63;--neiki-border-color-dark:#2f6da5;--neiki-text-primary:#e6f1ff;--neiki-text-secondary:#b9d7f8;--neiki-text-muted:#7ea6cc;--neiki-accent-color:#38bdf8;--neiki-accent-hover:#0ea5e9;--neiki-danger-color:#fb7185;--neiki-success-color:#34d399;--neiki-shadow-sm:0 1px 2px rgba(0, 0, 0, 0.24);--neiki-shadow-md:0 4px 12px rgba(0, 0, 0, 0.34);--neiki-shadow-lg:0 18px 36px rgba(0, 0, 0, 0.46);--neiki-editor-bg:#081827;--neiki-toolbar-bg:#0b1d33;--neiki-statusbar-bg:#0b1d33;--neiki-modal-overlay:rgba(0, 0, 0, 0.72);--neiki-scrollbar-thumb:#1d4f82;--neiki-scrollbar-track:#07111f;--neiki-selection-bg:#164e63;--neiki-highlight-color:#854d0e;--neiki-table-border:#1f3f63}.neiki-editor.neiki-theme-midnight .neiki-fontsize-input,.neiki-editor.neiki-theme-midnight .neiki-select,.neiki-editor.neiki-theme-void .neiki-fontsize-input,.neiki-editor.neiki-theme-void .neiki-select{color:var(--neiki-text-secondary)}.neiki-context-menu.neiki-theme-void,.neiki-editor.neiki-theme-void,.neiki-modal-overlay.neiki-theme-void{--neiki-bg-primary:#0f0a1e;--neiki-bg-secondary:#150f2b;--neiki-bg-tertiary:#1e1640;--neiki-bg-hover:#2a1f52;--neiki-bg-active:#362a66;--neiki-border-color:#3d2e6b;--neiki-border-color-dark:#55408f;--neiki-text-primary:#ece6ff;--neiki-text-secondary:#d68bff;--neiki-text-muted:#8a7ab0;--neiki-accent-color:#b026ff;--neiki-accent-hover:#e040fb;--neiki-danger-color:#ff4d6d;--neiki-success-color:#39ff9d;--neiki-shadow-sm:0 1px 2px rgba(124, 58, 237, 0.25);--neiki-shadow-md:0 4px 16px rgba(124, 58, 237, 0.4);--neiki-shadow-lg:0 16px 40px rgba(176, 38, 255, 0.35);--neiki-editor-bg:#0a0614;--neiki-toolbar-bg:#130c26;--neiki-statusbar-bg:#130c26;--neiki-modal-overlay:rgba(5, 2, 15, 0.85);--neiki-scrollbar-thumb:#4c3684;--neiki-scrollbar-track:#130c26;--neiki-selection-bg:#4c1d95;--neiki-highlight-color:#3c1361;--neiki-table-border:#3d2e6b}.neiki-editor.neiki-theme-void .neiki-toolbar{border-bottom:1px solid var(--neiki-border-color);box-shadow:0 1px 12px rgba(176,38,255,.15)}.neiki-context-menu.neiki-theme-void .neiki-context-item:hover,.neiki-editor.neiki-theme-void .neiki-toolbar-btn:hover{box-shadow:0 0 10px rgba(176,38,255,.5)}.neiki-editor.neiki-theme-void .neiki-toolbar-btn.active{box-shadow:0 0 8px rgba(176,38,255,.65)}.neiki-editor.neiki-theme-void .neiki-content ::selection,.neiki-editor.neiki-theme-void .neiki-content::selection{background:var(--neiki-selection-bg);text-shadow:0 0 6px rgba(176,38,255,.6)}.neiki-editor{display:flex;flex-direction:column;width:100%;height:100%;min-height:400px;background:var(--neiki-bg-primary);border:1px solid var(--neiki-border-color);border-radius:8px;overflow:hidden;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,sans-serif;font-size:14px;color:var(--neiki-text-primary);box-shadow:var(--neiki-shadow-md)}.neiki-editor *{box-sizing:border-box}.neiki-editor.neiki-fullscreen{position:fixed!important;top:0!important;left:0!important;right:0!important;bottom:0!important;width:100vw!important;height:100vh!important;z-index:999999!important;border-radius:0!important;border:none!important}.neiki-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:2px;padding:6px 8px;background:var(--neiki-toolbar-bg);border-bottom:1px solid var(--neiki-border-color);min-height:44px}.neiki-editor.neiki-sticky-toolbar{overflow:visible}.neiki-editor.neiki-sticky-toolbar .neiki-toolbar{position:sticky;top:0;z-index:100;border-radius:8px 8px 0 0}.neiki-toolbar-group{display:inline-flex;align-items:center;gap:2px;padding:0 4px;flex-wrap:nowrap}.neiki-toolbar-group:not(:last-child){border-right:1px solid var(--neiki-border-color);padding-right:8px;margin-right:4px}.neiki-toolbar-divider{width:1px;height:24px;background:var(--neiki-border-color);margin:0 4px}.neiki-btn,.neiki-toolbar-btn{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;background:0 0;border:1px solid transparent;border-radius:4px;cursor:pointer;color:var(--neiki-text-secondary);transition:.15s;position:relative}.neiki-btn:hover,.neiki-fontsize-btn:hover,.neiki-modal-close:hover,.neiki-preview-close:hover,.neiki-toolbar-btn:hover{background:var(--neiki-bg-hover);color:var(--neiki-text-primary)}.neiki-btn:active,.neiki-floating-btn:active,.neiki-toolbar-btn:active{background:var(--neiki-bg-active)}.neiki-btn.active,.neiki-toolbar-btn.active{background:var(--neiki-bg-active);color:var(--neiki-accent-color);border-color:var(--neiki-accent-color)}.neiki-btn:disabled,.neiki-toolbar-btn:disabled{opacity:.4;cursor:not-allowed}.neiki-btn svg,.neiki-toolbar-btn svg{width:18px;height:18px;fill:currentColor;pointer-events:none}.neiki-select{height:32px;padding:0 28px 0 10px;background:var(--neiki-bg-primary);border:1px solid var(--neiki-border-color);border-radius:4px;color:var(--neiki-text-primary);font-size:13px;cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%236c757d' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 8px center;min-width:100px}.neiki-select:hover{border-color:var(--neiki-border-color-dark)}.neiki-select:focus,.neiki-theme-menu-select:focus{outline:0;border-color:var(--neiki-accent-color);box-shadow:0 0 0 2px rgba(13,110,253,.15)}.neiki-color-custom,.neiki-statusbar{border-top:1px solid var(--neiki-border-color)}.neiki-theme-select-wrapper{display:inline-flex;align-items:center;gap:6px;height:32px}.neiki-theme-select-icon{display:inline-flex;align-items:center;justify-content:center;color:var(--neiki-text-secondary);width:18px;height:18px;flex-shrink:0}.neiki-context-item svg,.neiki-context-menu-item svg,.neiki-dropdown-item-icon svg,.neiki-floating-btn svg,.neiki-img-toolbar-btn svg,.neiki-theme-select-icon svg{width:16px;height:16px;fill:currentColor}.neiki-theme-select{min-width:116px;max-width:150px}.neiki-color-btn{position:relative;width:36px}.neiki-color-btn .neiki-color-indicator{position:absolute;bottom:4px;left:50%;transform:translateX(-50%);width:16px;height:3px;border-radius:1px;background:currentColor}.neiki-checkbox-wrapper{display:flex;align-items:center;gap:6px;padding:0 8px;height:32px;font-size:12px;color:var(--neiki-text-secondary);cursor:pointer;user-select:none}.neiki-checkbox{width:16px;height:16px;cursor:pointer}.neiki-content-wrapper,.neiki-editor-wrapper{flex:1;display:flex;flex-direction:column;overflow:hidden;position:relative}.neiki-content{flex:1;padding:20px 24px;background:var(--neiki-editor-bg);overflow-y:auto;outline:0;line-height:1.6;color:var(--neiki-text-primary);min-height:200px}.neiki-code-view-textarea:focus,.neiki-content:focus{outline:0}.neiki-content:empty::before{content:attr(data-placeholder);color:var(--neiki-text-muted);font-style:italic;pointer-events:none}.neiki-content.neiki-drag-over{border:2px dashed var(--neiki-accent-color);background:rgba(13,110,253,.05)}.neiki-content.neiki-drag-over::after{content:'Drop media here';position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:var(--neiki-accent-color);font-weight:600;font-size:16px;pointer-events:none;z-index:10}.neiki-drop-indicator{position:absolute;width:3px;min-height:22px;background:var(--neiki-accent-color);border-radius:999px;box-shadow:0 0 0 3px rgba(13,110,253,.18);pointer-events:none;opacity:0;transform:translateX(-1px);transition:opacity 80ms;z-index:80}.neiki-drop-indicator::after,.neiki-drop-indicator::before{content:'';position:absolute;left:50%;width:9px;height:9px;background:var(--neiki-accent-color);border-radius:50%;transform:translateX(-50%)}.neiki-drop-indicator::before{top:-4px}.neiki-drop-indicator::after{bottom:-4px}.neiki-drop-indicator.show{opacity:1}.neiki-editor.neiki-disabled{opacity:.6;pointer-events:none}.neiki-content::-webkit-scrollbar{width:10px}.neiki-content::-webkit-scrollbar-track{background:var(--neiki-scrollbar-track)}.neiki-content::-webkit-scrollbar-thumb{background:var(--neiki-scrollbar-thumb);border-radius:5px}.neiki-content::-webkit-scrollbar-thumb:hover{background:var(--neiki-border-color-dark)}.neiki-content p{margin:0 0 1em}.neiki-content h1{font-size:2em;font-weight:700;margin:0 0 .5em}.neiki-content h2{font-size:1.5em;font-weight:600;margin:0 0 .5em}.neiki-content h3{font-size:1.25em;font-weight:600;margin:0 0 .5em}.neiki-content h4{font-size:1.1em;font-weight:600;margin:0 0 .5em}.neiki-content h5{font-size:1em;font-weight:600;margin:0 0 .5em}.neiki-content h6{font-size:.9em;font-weight:600;margin:0 0 .5em}.neiki-content ol,.neiki-content ul{margin:0 0 1em;padding-left:2em}.neiki-content li{margin-bottom:.25em}.neiki-content blockquote{margin:0 0 1em;padding:10px 20px;border-left:4px solid var(--neiki-accent-color);background:var(--neiki-bg-secondary);font-style:italic}.neiki-content code,.neiki-content pre{background:var(--neiki-bg-tertiary);font-family:Consolas,Monaco,monospace}.neiki-content pre{margin:0 0 1em;padding:16px;border-radius:4px;overflow-x:auto;font-size:13px}.neiki-content code{padding:2px 6px;border-radius:3px;font-size:.9em}.neiki-content a{color:var(--neiki-accent-color);text-decoration:underline}.neiki-content a:hover{color:var(--neiki-accent-hover)}.neiki-content img{display:inline-block;max-width:100%;height:auto;border-radius:4px;cursor:pointer}.neiki-content img.neiki-selected{outline:2px solid var(--neiki-accent-color);outline-offset:2px}.neiki-content video{display:block;max-width:100%;height:auto;margin:0 0 1em;border-radius:6px;background:#000}.neiki-highlight{background:var(--neiki-highlight-color);padding:1px 0}.neiki-content table,.neiki-table{width:100%;border-collapse:collapse;margin:1em 0;table-layout:fixed}.neiki-content table td,.neiki-content table th{border:1px solid var(--neiki-table-border);padding:8px 12px;min-width:50px;vertical-align:top;position:relative}.neiki-content table th{background:var(--neiki-bg-secondary);font-weight:600}.neiki-btn-secondary:hover,.neiki-button-secondary:hover,.neiki-content table td:hover,.neiki-content table th:hover,.neiki-context-item:hover,.neiki-context-menu-item:hover,.neiki-dropdown-item:hover,.neiki-fontsize-dropdown-item:hover,.neiki-special-char-item:hover{background:var(--neiki-bg-hover)}.neiki-content table td.neiki-cell-selected,.neiki-content table th.neiki-cell-selected{background:var(--neiki-selection-bg)}.neiki-table-resize-handle{position:absolute;top:0;right:-3px;width:6px;height:100%;cursor:col-resize;z-index:10}.neiki-table-resize-handle:hover{background:var(--neiki-accent-color)}.neiki-statusbar{display:flex;justify-content:space-between;align-items:center;padding:6px 12px;background:var(--neiki-statusbar-bg);font-size:12px;color:var(--neiki-text-muted)}.neiki-statusbar-left,.neiki-statusbar-right{display:flex;align-items:center;gap:16px}.neiki-statusbar-item{display:flex;align-items:center;gap:4px}.neiki-statusbar-block{font-family:Consolas,Monaco,monospace;font-size:11px;padding:2px 6px;background:var(--neiki-bg-tertiary);border-radius:3px;color:var(--neiki-accent-color);font-weight:600;border:1px solid var(--neiki-border-color)}.neiki-color-picker,.neiki-dropdown{position:absolute;top:100%;left:0;z-index:1000;border:1px solid var(--neiki-border-color);box-shadow:var(--neiki-shadow-lg)}.neiki-dropdown{min-width:180px;background:var(--neiki-bg-primary);border-radius:6px;padding:4px;margin-top:4px}.neiki-dropdown-item{display:flex;align-items:center;gap:6px;padding:7px 10px;border-radius:4px;cursor:pointer;color:var(--neiki-text-primary);font-size:13px;transition:background .1s}.neiki-dropdown-item.active{background:var(--neiki-bg-active);color:var(--neiki-accent-color)}.neiki-context-divider,.neiki-context-menu-divider,.neiki-dropdown-divider{height:1px;background:var(--neiki-border-color);margin:4px 0}.neiki-color-picker{background:var(--neiki-bg-primary);border-radius:8px;padding:8px;margin-top:4px;display:flex;flex-direction:column;gap:6px}.neiki-color-grid{display:grid;grid-template-columns:repeat(10,1fr);gap:2px}.neiki-color-custom{display:flex;align-items:center;gap:6px}.neiki-color-custom-input{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:28px;height:28px;border:1px solid var(--neiki-border-color);border-radius:4px;padding:2px;cursor:pointer;background:0 0}.neiki-color-custom-input::-webkit-color-swatch-wrapper{padding:0}.neiki-color-custom-input::-webkit-color-swatch{border:none;border-radius:2px}.neiki-color-custom-input::-moz-color-swatch{border:none;border-radius:2px}.neiki-color-hex-input{flex:1;height:28px;padding:0 8px;border:1px solid var(--neiki-border-color);border-radius:4px;font-size:12px;font-family:monospace;background:var(--neiki-bg-secondary);color:var(--neiki-text-primary);outline:0}.neiki-color-hex-input:focus{border-color:var(--neiki-accent-color);box-shadow:0 0 0 2px rgba(13,110,253,.15)}.neiki-color-apply-btn{height:28px;padding:0 10px;border:none;border-radius:4px;font-size:12px;font-weight:500;background:var(--neiki-accent-color);color:#fff;cursor:pointer;transition:background .15s}.neiki-emoji-picker,.neiki-special-picker{max-width:calc(100vw - 16px);overflow-y:auto;background:var(--neiki-bg-primary);padding:8px;margin-top:4px;position:absolute;top:100%;z-index:1000;box-shadow:var(--neiki-shadow-lg);left:0}.neiki-btn-primary:hover,.neiki-button-primary:hover,.neiki-color-apply-btn:hover{background:var(--neiki-accent-hover)}.neiki-color-swatch{width:22px;height:22px;border-radius:3px;cursor:pointer;border:1px solid var(--neiki-border-color);transition:transform .1s}.neiki-color-swatch:hover{transform:scale(1.2);z-index:1}.neiki-color-swatch.neiki-color-reset{background:#fff;position:relative;overflow:hidden;border:1px solid #ccc}.neiki-color-preset.active,.neiki-special-item:hover{border-color:var(--neiki-accent-color)}.neiki-color-swatch.neiki-color-reset::after{content:'';position:absolute;top:50%;left:-2px;right:-2px;height:2px;background:#e53935;transform:rotate(-45deg);transform-origin:center;pointer-events:none}.neiki-color-picker-label{font-size:11px;font-weight:600;color:var(--neiki-text-muted);text-transform:uppercase;margin-bottom:8px}.neiki-emoji-item,.neiki-special-item{align-items:center;font-size:18px;cursor:pointer}.neiki-emoji-picker{width:280px;max-height:250px;border:1px solid var(--neiki-border-color);border-radius:8px;display:grid;grid-template-columns:repeat(10,1fr);gap:2px}.neiki-emoji-item{display:flex;justify-content:center;width:24px;height:24px;border-radius:4px;transition:background .15s,transform .1s}.neiki-emoji-item:hover{background:var(--neiki-bg-hover);transform:scale(1.2)}.neiki-special-picker{width:320px;max-height:280px;border:1px solid var(--neiki-border-color);border-radius:8px;display:grid;grid-template-columns:repeat(8,1fr);gap:4px}.neiki-special-item{display:flex;justify-content:center;width:32px;height:32px;border-radius:4px;border:1px solid var(--neiki-border-color);background:var(--neiki-bg-secondary);transition:.15s}.neiki-special-item:hover{background:var(--neiki-accent-color);color:#fff;transform:scale(1.1)}.neiki-highlight-find{background:#ffeb3b;padding:1px 0;border-radius:2px}.neiki-highlight-current{background:#ff9800;outline:#e65100 solid 2px}.neiki-color-presets{display:grid;grid-template-columns:repeat(5,1fr);gap:6px;margin-bottom:12px}.neiki-color-preset{width:32px;height:32px;border-radius:4px;border:2px solid transparent;cursor:pointer;transition:transform .1s,border-color .1s}.neiki-color-preset:hover{transform:scale(1.1)}.neiki-color-preset.neiki-color-reset{background:linear-gradient(45deg,#fff 45%,red 45%,red 55%,#fff 55%);border:1px solid var(--neiki-border-color)}.neiki-color-custom{display:flex;align-items:center;gap:8px;padding-top:8px;border-top:1px solid var(--neiki-border-color)}.neiki-color-custom input[type=color]{width:40px;height:32px;padding:0;border:1px solid var(--neiki-border-color);border-radius:4px;cursor:pointer}.neiki-color-custom input[type=text]{flex:1;height:32px;padding:0 8px;border:1px solid var(--neiki-border-color);border-radius:4px;background:var(--neiki-bg-primary);color:var(--neiki-text-primary);font-size:12px;font-family:monospace}.neiki-table-picker,.neiki-table-picker-cell{border:1px solid var(--neiki-border-color);background:var(--neiki-bg-primary)}.neiki-table-picker{position:absolute;top:100%;left:0;z-index:1000;border-radius:8px;box-shadow:var(--neiki-shadow-lg);padding:12px;display:none}.neiki-context-menu.show,.neiki-find-replace.show,.neiki-fontsize-dropdown.show,.neiki-table-picker.show{display:block}.neiki-table-picker-label{font-size:12px;color:var(--neiki-text-secondary);margin-bottom:8px;text-align:center}.neiki-dark .neiki-modal h3,.neiki-dark .neiki-modal-header h3,.neiki-modal-title{color:var(--neiki-text-primary)}.neiki-table-picker-grid{display:grid;grid-template-columns:repeat(10,20px);gap:2px}.neiki-table-picker-cell{width:20px;height:20px;border-radius:2px;cursor:pointer;transition:background .1s}.neiki-table-picker-cell.active,.neiki-table-picker-cell:hover{background:var(--neiki-accent-color);border-color:var(--neiki-accent-color)}.neiki-special-chars{position:absolute;top:100%;left:0;z-index:1000;width:280px;max-height:300px;background:var(--neiki-bg-primary);border:1px solid var(--neiki-border-color);border-radius:8px;box-shadow:var(--neiki-shadow-lg);display:none;overflow:hidden}.neiki-special-chars.show{display:flex;flex-direction:column}.neiki-special-chars-grid{display:grid;grid-template-columns:repeat(10,1fr);gap:2px;padding:8px;overflow-y:auto}.neiki-special-char-item{display:flex;align-items:center;justify-content:center;width:24px;height:24px;font-size:16px;border-radius:4px;cursor:pointer;transition:background .1s}.neiki-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:var(--neiki-modal-overlay);z-index:10000;display:flex;align-items:center;justify-content:center;opacity:0;visibility:hidden;transition:opacity .2s,visibility .2s}.neiki-modal-overlay.active,[data-tooltip]:hover::after{opacity:1;visibility:visible}.neiki-modal{background:var(--neiki-bg-primary);border-radius:12px;box-shadow:var(--neiki-shadow-lg);width:100%;max-width:440px;max-height:90vh;overflow:hidden}.neiki-modal-wide{max-width:520px}.neiki-modal-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--neiki-border-color)}.neiki-modal-title{font-size:16px;font-weight:600;margin:0}.neiki-modal-close,.neiki-preview-close{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:0 0;border:none;border-radius:4px;cursor:pointer;color:var(--neiki-text-muted);transition:background .15s}.neiki-modal-body{padding:20px;overflow-y:auto}.neiki-modal h3,.neiki-modal-header h3{color:#000;margin:0}.neiki-modal-footer{display:flex;justify-content:flex-end;gap:10px;padding:16px 20px;border-top:1px solid var(--neiki-border-color)}.neiki-modal-footer .neiki-btn{width:auto;height:38px;padding:0 16px;font-size:14px;font-weight:500;border-radius:6px}.neiki-form-group{margin-bottom:16px}.neiki-find-replace-row:last-child,.neiki-form-group:last-child{margin-bottom:0}.neiki-form-group label,.neiki-form-label{display:block;margin-bottom:6px;font-size:13px;font-weight:500;color:var(--neiki-text-secondary)}.neiki-form-input,.neiki-input{width:100%;height:40px;padding:0 12px;border:1px solid var(--neiki-border-color);border-radius:6px;background:var(--neiki-bg-primary);color:var(--neiki-text-primary);font-size:14px;transition:border-color .15s}.neiki-form-input:focus,.neiki-form-textarea:focus,.neiki-input:focus{outline:0;border-color:var(--neiki-accent-color);box-shadow:0 0 0 3px rgba(13,110,253,.15)}.neiki-form-input::placeholder,.neiki-input::placeholder{color:var(--neiki-text-muted)}.neiki-input[type=file]{display:flex;align-items:center;padding:0;cursor:pointer}.neiki-input[type=file]::file-selector-button{height:100%;padding:0 14px;margin-right:12px;border:none;border-right:1px solid var(--neiki-border-color);background:var(--neiki-bg-tertiary,var(--neiki-bg-hover));color:var(--neiki-text-primary);font-size:13px;font-weight:500;cursor:pointer;border-radius:5px 0 0 5px}.neiki-image-upload-zone{position:relative;display:grid;justify-items:center;gap:7px;padding:24px 18px;border:2px dashed var(--neiki-border-color);border-radius:8px;background:var(--neiki-bg-secondary);color:var(--neiki-text-secondary);text-align:center;cursor:pointer;transition:border-color .15s,background .15s,box-shadow .15s}.neiki-find-replace,.neiki-form-textarea{border:1px solid var(--neiki-border-color)}.neiki-image-upload-zone:focus-visible,.neiki-image-upload-zone:hover{border-color:var(--neiki-accent-color);background:var(--neiki-bg-primary);box-shadow:0 0 0 3px rgba(13,110,253,.12);outline:0}.neiki-image-upload-zone.drag-over{border-color:var(--neiki-accent-color);background:rgba(13,110,253,.08)}.neiki-form-divider::after,.neiki-form-divider::before{content:'';height:1px;background:var(--neiki-border-color)}.neiki-image-upload-zone.has-files{border-style:solid;border-color:var(--neiki-accent-color)}.neiki-image-upload-input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.neiki-image-upload-icon{width:38px;height:38px;color:var(--neiki-accent-color)}.neiki-image-upload-icon svg{width:100%;height:100%;fill:currentColor}.neiki-image-upload-title{color:var(--neiki-text-primary);font-size:14px;font-weight:600}.neiki-image-upload-files,.neiki-image-upload-hint{max-width:100%;color:var(--neiki-text-muted);font-size:12px;line-height:1.4}.neiki-image-upload-files{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.neiki-image-upload-zone.has-files .neiki-image-upload-files{color:var(--neiki-accent-color);font-weight:500}.neiki-form-row{display:flex;gap:16px}.neiki-form-divider{display:flex;align-items:center;margin:16px 0;text-align:center;position:relative}.neiki-form-divider::before{flex:1;margin-right:12px}.neiki-form-divider::after{flex:1;margin-left:12px}.neiki-form-divider span{color:var(--neiki-text-muted);font-size:12px;font-weight:500;text-transform:uppercase}.neiki-form-textarea{width:100%;min-height:120px;padding:12px;border-radius:6px;background:var(--neiki-bg-primary);color:var(--neiki-text-primary);font-size:14px;font-family:inherit;resize:vertical;transition:border-color .15s}.neiki-btn-primary,.neiki-btn-secondary,.neiki-button{display:inline-flex;align-items:center;height:38px;padding:0 16px;font-size:14px;transition:.15s;font-weight:500;cursor:pointer}.neiki-button{justify-content:center;gap:6px;border:1px solid transparent;border-radius:6px}.neiki-btn-primary,.neiki-button-primary{background:var(--neiki-accent-color);color:#fff}.neiki-btn-secondary,.neiki-button-secondary{background:var(--neiki-bg-secondary);color:var(--neiki-text-primary);border-color:var(--neiki-border-color)}.neiki-btn-primary,.neiki-btn-secondary{justify-content:center;border:1px solid transparent;border-radius:6px}.neiki-btn-secondary{border-color:var(--neiki-border-color)}.neiki-button-danger{background:var(--neiki-danger-color);color:#fff}.neiki-code-view,.neiki-find-replace,.neiki-find-replace-input{background:var(--neiki-bg-primary)}.neiki-button-danger:hover{opacity:.9}.neiki-find-replace{position:absolute;top:0;right:0;z-index:100;width:360px;border-radius:0 0 0 8px;box-shadow:var(--neiki-shadow-lg);display:none}.neiki-find-replace-header{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;border-bottom:1px solid var(--neiki-border-color)}.neiki-code-view-title,.neiki-find-replace-title{font-size:13px;font-weight:600;color:var(--neiki-text-primary)}.neiki-find-replace-body{padding:12px}.neiki-find-replace-row{display:flex;gap:8px;margin-bottom:10px}.neiki-find-replace-input{flex:1;height:32px;padding:0 10px;border:1px solid var(--neiki-border-color);border-radius:4px;color:var(--neiki-text-primary);font-size:13px}.neiki-find-replace-input:focus{outline:0;border-color:var(--neiki-accent-color)}.neiki-find-replace-options{display:flex;align-items:center;gap:12px;margin-bottom:10px}.neiki-find-replace-option{display:flex;align-items:center;gap:4px;font-size:12px;color:var(--neiki-text-secondary);cursor:pointer}.neiki-find-replace-actions{display:flex;gap:6px;flex-wrap:wrap}.neiki-find-replace-btn{height:28px;padding:0 10px;font-size:12px;border-radius:4px}.neiki-find-replace-count{font-size:12px;color:var(--neiki-text-muted);margin-left:auto}.neiki-code-view{position:absolute;top:0;left:0;right:0;bottom:0;z-index:50;display:none;flex-direction:column}.neiki-code-view.show,.neiki-drop-overlay.show{display:flex}.neiki-code-view-header{display:flex;align-items:center;justify-content:space-between;padding:8px 16px;background:var(--neiki-bg-secondary);border-bottom:1px solid var(--neiki-border-color);flex-shrink:0}.neiki-code-view-editor{position:relative;flex:1;width:100%;min-height:0;background:var(--neiki-bg-primary)}.neiki-code-view-highlight,.neiki-code-view-textarea{position:absolute;inset:0;width:100%;height:100%;padding:16px;border:none;font-family:Consolas,Monaco,'Courier New',monospace;font-size:13px;line-height:1.5;tab-size:2;white-space:pre-wrap;word-break:break-word;overflow:auto}.neiki-context-menu,.neiki-floating-toolbar{position:fixed;box-shadow:var(--neiki-shadow-lg)}.neiki-code-view-highlight{margin:0;color:var(--neiki-text-primary);pointer-events:none;user-select:none}.neiki-code-view-textarea{background:0 0;color:transparent;caret-color:var(--neiki-text-primary);resize:none;z-index:1}.neiki-code-view-textarea::selection{background:var(--neiki-selection-bg);color:transparent}.neiki-html-punct{color:var(--neiki-text-muted)}.neiki-html-tag{color:#0f74d8;font-weight:600}.neiki-html-attr{color:#9a5b00}.neiki-html-string{color:#16803d}.neiki-html-comment{color:var(--neiki-text-muted);font-style:italic}.neiki-dark .neiki-html-tag{color:#7dd3fc}.neiki-dark .neiki-html-attr{color:#fbbf24}.neiki-dark .neiki-html-string{color:#86efac}.neiki-code-view-apply{width:auto!important;padding:0 12px!important;display:inline-flex;align-items:center;gap:4px;height:30px;font-size:12px;background:var(--neiki-accent-color)!important;color:#fff!important;border-radius:5px}.neiki-context-menu,.neiki-floating-btn,.neiki-floating-toolbar{background:var(--neiki-bg-primary)}.neiki-code-view-apply:hover{background:var(--neiki-accent-hover)!important;color:#fff!important}.neiki-code-view-apply svg{width:14px!important;height:14px!important}.neiki-context-menu{z-index:10001;min-width:180px;border:1px solid var(--neiki-border-color);border-radius:8px;padding:4px;display:none}.neiki-context-item,.neiki-context-menu-item{display:flex;align-items:center;gap:10px;padding:8px 12px;border-radius:4px;cursor:pointer;color:var(--neiki-text-primary);font-size:13px;transition:background .1s}.neiki-context-item.neiki-context-danger,.neiki-context-menu-item.danger{color:var(--neiki-danger-color)}.neiki-context-item.neiki-context-disabled{opacity:.4;cursor:default;pointer-events:none}.neiki-floating-toolbar{z-index:1000;display:none;border:1px solid var(--neiki-border-color);border-radius:8px;padding:4px}.neiki-floating-toolbar.show{display:flex;align-items:center;gap:2px}.neiki-floating-btn{width:32px;height:32px;border:none;color:var(--neiki-text-primary);border-radius:6px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:.15s}.neiki-floating-btn:hover,.neiki-img-toolbar-btn:hover{background:var(--neiki-bg-hover);color:var(--neiki-accent-color)}.neiki-floating-toolbar .neiki-btn{width:28px;height:28px}.neiki-chevron svg,.neiki-floating-toolbar .neiki-btn svg{width:14px;height:14px}.neiki-floating-divider,.neiki-img-toolbar-separator{width:1px;height:20px;background:var(--neiki-border-color);margin:0 2px}.neiki-floating-move-btn svg{width:16px;height:16px}.neiki-more-btn,[data-tooltip]{position:relative}[data-tooltip]::after{content:attr(data-tooltip);position:absolute;bottom:100%;left:50%;transform:translateX(-50%);padding:6px 10px;background:var(--neiki-text-primary);color:var(--neiki-bg-primary);font-size:11px;font-weight:500;white-space:nowrap;border-radius:4px;opacity:0;visibility:hidden;transition:opacity .15s,visibility .15s;pointer-events:none;z-index:10002;margin-bottom:6px}.neiki-drop-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:rgba(13,110,253,.1);border:3px dashed var(--neiki-accent-color);border-radius:8px;display:none;align-items:center;justify-content:center;z-index:100;pointer-events:none}.neiki-img-size-label,.neiki-img-toolbar{left:50%;transform:translateX(-50%);white-space:nowrap}.neiki-drop-overlay-text{font-size:18px;font-weight:600;color:var(--neiki-accent-color)}.neiki-img-resizable{display:inline-block;position:relative;outline:2px solid var(--neiki-accent-color);outline-offset:2px;border-radius:4px;line-height:0;user-select:none;-webkit-user-select:none}.neiki-img-resizable img,.neiki-img-resizable video{display:block;max-width:100%;user-select:none;-webkit-user-select:none}.neiki-img-resize-handle{position:absolute;width:12px;height:12px;background:var(--neiki-accent-color);border:2px solid #fff;border-radius:2px;z-index:10;box-shadow:0 1px 3px rgba(0,0,0,.3)}.neiki-img-resize-handle.nw{top:-6px;left:-6px;cursor:nw-resize}.neiki-img-resize-handle.ne{top:-6px;right:-6px;cursor:ne-resize}.neiki-img-resize-handle.sw{bottom:-6px;left:-6px;cursor:sw-resize}.neiki-img-resize-handle.se{bottom:-6px;right:-6px;cursor:se-resize}.neiki-img-size-label{position:absolute;bottom:-32px;background:var(--neiki-text-primary);color:var(--neiki-bg-primary);font-size:13px;line-height:1.4;font-weight:600;padding:4px 12px;border-radius:6px;pointer-events:none;z-index:10;opacity:.9}@media (pointer:coarse){.neiki-img-resize-handle{width:20px;height:20px}.neiki-img-resize-handle.nw{top:-10px;left:-10px}.neiki-img-resize-handle.ne{top:-10px;right:-10px}.neiki-img-resize-handle.sw{bottom:-10px;left:-10px}.neiki-img-resize-handle.se{bottom:-10px;right:-10px}}.neiki-img-toolbar{position:absolute;display:flex;align-items:center;gap:2px;padding:4px;background:var(--neiki-bg-primary);border:1px solid var(--neiki-border-color);border-radius:6px;box-shadow:var(--neiki-shadow-md);z-index:20;user-select:none;-webkit-user-select:none}.neiki-img-toolbar-btn{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border:none;border-radius:4px;background:0 0;color:var(--neiki-text-secondary);cursor:pointer;transition:.15s}.neiki-img-toolbar-btn-danger:hover{background:#fee2e2;color:#dc2626}.neiki-editor.neiki-dark .neiki-img-toolbar-btn-danger:hover{background:#451a1a;color:#f87171}.neiki-img-drag-handle{cursor:grab}.neiki-block-grip:active,.neiki-img-drag-handle:active{cursor:grabbing}.neiki-table-col-resize-handle{position:absolute;width:6px;cursor:col-resize;z-index:10;background:0 0;transition:background .1s}.neiki-table-col-resize-handle:active,.neiki-table-col-resize-handle:hover{background:var(--neiki-accent-color);opacity:.6;border-radius:3px}.neiki-block-grip{position:absolute;width:22px;height:22px;display:flex;align-items:center;justify-content:center;cursor:grab;color:var(--neiki-text-muted);opacity:0;transition:opacity .15s,color .15s;border-radius:4px;z-index:5;user-select:none}.neiki-content-wrapper:hover .neiki-block-grip{opacity:.5}.neiki-block-grip:hover{opacity:1!important;color:var(--neiki-text-primary);background:var(--neiki-bg-hover)}.neiki-block-grip svg{width:14px;height:14px;fill:currentColor;pointer-events:none}@media (hover:none),(pointer:coarse){.neiki-block-grip{display:none!important}}.neiki-block-ghost{position:fixed;z-index:100000;pointer-events:none;opacity:.7;background:var(--neiki-bg-primary);border:2px solid var(--neiki-accent-color);border-radius:6px;padding:8px 12px;box-shadow:var(--neiki-shadow-lg);max-height:120px;overflow:hidden}.neiki-block-placeholder{border:2px dashed var(--neiki-accent-color);border-radius:6px;background:rgba(13,110,253,.05);margin:2px 0;transition:height .15s}@media print{.neiki-content,.neiki-editor-wrapper{overflow:visible!important}.neiki-editor{border:none!important;box-shadow:none!important}.neiki-block-grip,.neiki-code-view-header,.neiki-find-replace,.neiki-floating-toolbar,.neiki-img-resize-handle,.neiki-img-size-label,.neiki-img-toolbar,.neiki-statusbar,.neiki-table-col-resize-handle,.neiki-toolbar{display:none!important}.neiki-content{padding:0!important}}@media (max-width:768px){.neiki-toolbar{padding:4px;gap:1px}.neiki-toolbar-group{padding:0 2px}.neiki-toolbar-group:not(:last-child){padding-right:4px;margin-right:2px}.neiki-btn{width:28px;height:28px}.neiki-btn svg{width:16px;height:16px}.neiki-select{height:28px;min-width:80px;font-size:12px;padding:0 24px 0 8px}.neiki-content,.neiki-modal-footer,.neiki-modal-header{padding:12px 16px}.neiki-statusbar{padding:4px 8px;font-size:11px}.neiki-modal{width:calc(100% - 20px);max-width:none;margin:10px;max-height:calc(100vh - 40px);border-radius:10px}.neiki-modal-overlay{padding:10px}.neiki-modal-body{padding:16px;max-height:calc(100vh - 160px);overflow-y:auto;-webkit-overflow-scrolling:touch}.neiki-modal-footer .neiki-btn{height:36px;padding:0 14px;font-size:13px}.neiki-form-row{flex-direction:column;gap:12px}.neiki-form-input,.neiki-input{height:38px;font-size:16px}.neiki-image-upload-zone{grid-template-columns:32px 1fr;justify-items:start;gap:4px 10px;padding:14px;text-align:left}.neiki-image-upload-icon{grid-row:span 3;width:30px;height:30px}.neiki-image-upload-title{font-size:13px}.neiki-image-upload-files,.neiki-image-upload-hint{font-size:11px}.neiki-find-replace{width:100%;border-radius:0}.neiki-checkbox-wrapper{padding:0 4px;font-size:11px}.neiki-color-picker{left:auto;right:0}}@media (max-width:480px){.neiki-toolbar-group:not(:last-child){border-right:none;padding-right:2px;margin-right:0}.neiki-select{min-width:60px}.neiki-statusbar-left,.neiki-statusbar-right{gap:8px}.neiki-img-toolbar{padding:3px;gap:1px;border-radius:5px;left:0;transform:none;max-width:calc(100vw - 20px)}.neiki-img-toolbar-btn{width:26px;height:26px}.neiki-img-toolbar-btn svg{width:14px;height:14px}.neiki-img-toolbar-separator{height:16px;margin:0 1px}}@keyframes neiki-fade-in{from{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.neiki-color-picker.show,.neiki-dropdown.show,.neiki-emoji-picker.show,.neiki-special-chars.show,.neiki-table-picker.show{animation:.15s neiki-fade-in}@keyframes neiki-modal-in{from{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.neiki-fontsize-widget{display:inline-flex;align-items:center;position:relative;height:32px;border:1px solid var(--neiki-border-color);border-radius:4px;overflow:visible;background:var(--neiki-bg-primary)}.neiki-fontsize-btn{display:flex;align-items:center;justify-content:center;width:26px;height:30px;background:0 0;border:none;cursor:pointer;color:var(--neiki-text-secondary);transition:background .15s,color .15s;padding:0}.neiki-fontsize-dropdown-item,.neiki-fontsize-input{color:var(--neiki-text-primary);text-align:center;font-size:13px}.neiki-fontsize-input{width:38px;height:30px;border:none;border-left:1px solid var(--neiki-border-color);border-right:1px solid var(--neiki-border-color);background:var(--neiki-bg-primary);outline:0;-moz-appearance:textfield;appearance:textfield;padding:0}.neiki-fontsize-input::-webkit-inner-spin-button,.neiki-fontsize-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.neiki-fontsize-dropdown{display:none;position:absolute;top:100%;left:0;z-index:1000;min-width:70px;max-height:240px;overflow-y:auto;background:var(--neiki-bg-primary);border:1px solid var(--neiki-border-color);border-radius:6px;box-shadow:var(--neiki-shadow-lg);padding:4px;margin-top:4px}.neiki-fontsize-dropdown-item{padding:6px 12px;cursor:pointer;border-radius:4px;transition:background .1s}.neiki-insert-dropdown-btn{width:auto!important;padding:0 8px!important;gap:4px;font-size:13px;font-weight:500}.neiki-insert-label{font-size:13px;pointer-events:none}.neiki-chevron{display:inline-flex;pointer-events:none}.neiki-insert-dropdown,.neiki-more-dropdown{display:none;position:absolute;top:100%;z-index:1000;border:1px solid var(--neiki-border-color);box-shadow:var(--neiki-shadow-lg);padding:4px;margin-top:4px;background:var(--neiki-bg-primary)}.neiki-insert-dropdown{left:0;min-width:160px;max-width:calc(100vw - 16px);border-radius:6px}.neiki-insert-dropdown.show,.neiki-more-dropdown.show{display:block;animation:.15s neiki-fade-in}.neiki-more-dropdown{right:0;border-radius:6px}.neiki-lang-cs .neiki-more-dropdown{min-width:165px}.neiki-dropdown-item-icon{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;flex-shrink:0}.neiki-dropdown-item-danger{color:var(--neiki-danger-color)!important}.neiki-dropdown-item-danger:hover{background:rgba(220,53,69,.1)}.neiki-theme-menu-item{cursor:default}.neiki-theme-menu-select{min-width:105px;height:28px;padding:0 24px 0 8px;border:1px solid var(--neiki-border-color);border-radius:4px;background:var(--neiki-bg-primary);color:var(--neiki-text-primary);font-size:12px;cursor:pointer}.neiki-autosave-badge{font-size:12px;font-weight:600;color:var(--neiki-text-muted);padding:0 4px}.neiki-autosave-badge.active{color:var(--neiki-success-color)}.neiki-preview-overlay{position:fixed;inset:0;background:rgba(0,0,0,.6);z-index:100000;display:flex;align-items:center;justify-content:center;padding:30px;animation:.2s neiki-fade-in}.neiki-preview-modal{background:var(--neiki-bg-primary);border-radius:12px;width:100%;max-width:900px;max-height:90vh;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 25px 60px rgba(0,0,0,.3);animation:.2s neiki-modal-in}.neiki-preview-header{display:flex;align-items:center;justify-content:space-between;padding:14px 20px;background:var(--neiki-bg-secondary);border-bottom:1px solid var(--neiki-border-color);font-weight:600;font-size:14px;color:var(--neiki-text-primary)}.neiki-preview-close svg{width:18px;height:18px;fill:currentColor}.neiki-preview-body{flex:1;overflow:auto;padding:30px;color:var(--neiki-text-primary);font-size:15px;line-height:1.7}.neiki-preview-body img{max-width:100%}.neiki-preview-body table{border-collapse:collapse;width:100%}.neiki-preview-body table td,.neiki-preview-body table th{border:1px solid var(--neiki-border-color);padding:8px 12px}.neiki-statusbar-autosave{font-style:italic;color:var(--neiki-success-color);font-size:11px}
|
|
1
|
+
.neiki-checkbox,.neiki-find-replace-option input{accent-color:var(--neiki-accent-color)}.neiki-modal,.neiki-modal-overlay.show .neiki-modal{animation:.2s neiki-modal-in}:root{--neiki-bg-primary:#ffffff;--neiki-bg-secondary:#f8f9fa;--neiki-bg-tertiary:#e9ecef;--neiki-bg-hover:#dee2e6;--neiki-bg-active:#ced4da;--neiki-border-color:#dee2e6;--neiki-border-color-dark:#adb5bd;--neiki-text-primary:#212529;--neiki-text-secondary:#495057;--neiki-text-muted:#6c757d;--neiki-accent-color:#0d6efd;--neiki-accent-hover:#0b5ed7;--neiki-danger-color:#dc3545;--neiki-success-color:#198754;--neiki-shadow-sm:0 1px 2px rgba(0, 0, 0, 0.05);--neiki-shadow-md:0 4px 6px rgba(0, 0, 0, 0.1);--neiki-shadow-lg:0 10px 15px rgba(0, 0, 0, 0.1);--neiki-editor-bg:#ffffff;--neiki-toolbar-bg:#f8f9fa;--neiki-statusbar-bg:#f8f9fa;--neiki-modal-overlay:rgba(0, 0, 0, 0.5);--neiki-scrollbar-thumb:#ced4da;--neiki-scrollbar-track:#f8f9fa;--neiki-selection-bg:#b3d7ff;--neiki-highlight-color:#fff3cd;--neiki-table-border:#dee2e6}.neiki-context-menu.neiki-dark,.neiki-editor.neiki-dark,.neiki-modal-overlay.neiki-dark{--neiki-bg-primary:#1e1e1e;--neiki-bg-secondary:#252526;--neiki-bg-tertiary:#2d2d30;--neiki-bg-hover:#3e3e42;--neiki-bg-active:#505050;--neiki-border-color:#3e3e42;--neiki-border-color-dark:#505050;--neiki-text-primary:#d4d4d4;--neiki-text-secondary:#a0a0a0;--neiki-text-muted:#808080;--neiki-accent-color:#4fc3f7;--neiki-accent-hover:#29b6f6;--neiki-danger-color:#f44336;--neiki-success-color:#4caf50;--neiki-shadow-sm:0 1px 2px rgba(0, 0, 0, 0.2);--neiki-shadow-md:0 4px 6px rgba(0, 0, 0, 0.3);--neiki-shadow-lg:0 10px 15px rgba(0, 0, 0, 0.4);--neiki-editor-bg:#1e1e1e;--neiki-toolbar-bg:#252526;--neiki-statusbar-bg:#252526;--neiki-modal-overlay:rgba(0, 0, 0, 0.7);--neiki-scrollbar-thumb:#505050;--neiki-scrollbar-track:#2d2d30;--neiki-selection-bg:#264f78;--neiki-highlight-color:#5c4d00;--neiki-table-border:#3e3e42}.neiki-context-menu.neiki-theme-blue,.neiki-editor.neiki-theme-blue,.neiki-modal-overlay.neiki-theme-blue{--neiki-bg-primary:#f8fbff;--neiki-bg-secondary:#eef6ff;--neiki-bg-tertiary:#dbeafe;--neiki-bg-hover:#bfdbfe;--neiki-bg-active:#93c5fd;--neiki-border-color:#bfdbfe;--neiki-border-color-dark:#60a5fa;--neiki-text-primary:#0f172a;--neiki-text-secondary:#1e3a8a;--neiki-text-muted:#64748b;--neiki-accent-color:#2563eb;--neiki-accent-hover:#1d4ed8;--neiki-danger-color:#dc3545;--neiki-success-color:#16803d;--neiki-shadow-sm:0 1px 2px rgba(37, 99, 235, 0.08);--neiki-shadow-md:0 4px 10px rgba(37, 99, 235, 0.12);--neiki-shadow-lg:0 14px 28px rgba(37, 99, 235, 0.16);--neiki-editor-bg:#ffffff;--neiki-toolbar-bg:#eaf4ff;--neiki-statusbar-bg:#eef6ff;--neiki-modal-overlay:rgba(15, 23, 42, 0.45);--neiki-scrollbar-thumb:#93c5fd;--neiki-scrollbar-track:#eff6ff;--neiki-selection-bg:#bfdbfe;--neiki-highlight-color:#fef08a;--neiki-table-border:#bfdbfe}.neiki-context-menu.neiki-theme-midnight,.neiki-editor.neiki-theme-midnight,.neiki-modal-overlay.neiki-theme-midnight{--neiki-bg-primary:#0d0d12;--neiki-bg-secondary:#13131a;--neiki-bg-tertiary:#1a1a24;--neiki-bg-hover:#22223a;--neiki-bg-active:#2c2c4a;--neiki-border-color:#2a2a3d;--neiki-border-color-dark:#3d3d5c;--neiki-text-primary:#e8e8f0;--neiki-text-secondary:#c084fc;--neiki-text-muted:#7070a0;--neiki-accent-color:#c084fc;--neiki-accent-hover:#a855f7;--neiki-danger-color:#f87171;--neiki-success-color:#4ade80;--neiki-shadow-sm:0 1px 2px rgba(0, 0, 0, 0.3);--neiki-shadow-md:0 4px 12px rgba(0, 0, 0, 0.5);--neiki-shadow-lg:0 16px 32px rgba(0, 0, 0, 0.6);--neiki-editor-bg:#0a0a10;--neiki-toolbar-bg:#111118;--neiki-statusbar-bg:#111118;--neiki-modal-overlay:rgba(0, 0, 0, 0.8);--neiki-scrollbar-thumb:#2c2c4a;--neiki-scrollbar-track:#0d0d12;--neiki-selection-bg:#3b1f5e;--neiki-highlight-color:#3b1f5e;--neiki-table-border:#2a2a3d}.neiki-context-menu.neiki-theme-dark-blue,.neiki-editor.neiki-theme-dark-blue,.neiki-modal-overlay.neiki-theme-dark-blue{--neiki-bg-primary:#07111f;--neiki-bg-secondary:#0b1d33;--neiki-bg-tertiary:#102a46;--neiki-bg-hover:#173b61;--neiki-bg-active:#1d4f82;--neiki-border-color:#1f3f63;--neiki-border-color-dark:#2f6da5;--neiki-text-primary:#e6f1ff;--neiki-text-secondary:#b9d7f8;--neiki-text-muted:#7ea6cc;--neiki-accent-color:#38bdf8;--neiki-accent-hover:#0ea5e9;--neiki-danger-color:#fb7185;--neiki-success-color:#34d399;--neiki-shadow-sm:0 1px 2px rgba(0, 0, 0, 0.24);--neiki-shadow-md:0 4px 12px rgba(0, 0, 0, 0.34);--neiki-shadow-lg:0 18px 36px rgba(0, 0, 0, 0.46);--neiki-editor-bg:#081827;--neiki-toolbar-bg:#0b1d33;--neiki-statusbar-bg:#0b1d33;--neiki-modal-overlay:rgba(0, 0, 0, 0.72);--neiki-scrollbar-thumb:#1d4f82;--neiki-scrollbar-track:#07111f;--neiki-selection-bg:#164e63;--neiki-highlight-color:#854d0e;--neiki-table-border:#1f3f63}.neiki-editor.neiki-theme-autumn .neiki-fontsize-input,.neiki-editor.neiki-theme-autumn .neiki-select,.neiki-editor.neiki-theme-midnight .neiki-fontsize-input,.neiki-editor.neiki-theme-midnight .neiki-select,.neiki-editor.neiki-theme-void .neiki-fontsize-input,.neiki-editor.neiki-theme-void .neiki-select{color:var(--neiki-text-secondary)}.neiki-context-menu.neiki-theme-void,.neiki-editor.neiki-theme-void,.neiki-modal-overlay.neiki-theme-void{--neiki-bg-primary:#0f0a1e;--neiki-bg-secondary:#150f2b;--neiki-bg-tertiary:#1e1640;--neiki-bg-hover:#2a1f52;--neiki-bg-active:#362a66;--neiki-border-color:#3d2e6b;--neiki-border-color-dark:#55408f;--neiki-text-primary:#ece6ff;--neiki-text-secondary:#d68bff;--neiki-text-muted:#8a7ab0;--neiki-accent-color:#b026ff;--neiki-accent-hover:#e040fb;--neiki-danger-color:#ff4d6d;--neiki-success-color:#39ff9d;--neiki-shadow-sm:0 1px 2px rgba(124, 58, 237, 0.25);--neiki-shadow-md:0 4px 16px rgba(124, 58, 237, 0.4);--neiki-shadow-lg:0 16px 40px rgba(176, 38, 255, 0.35);--neiki-editor-bg:#0a0614;--neiki-toolbar-bg:#130c26;--neiki-statusbar-bg:#130c26;--neiki-modal-overlay:rgba(5, 2, 15, 0.85);--neiki-scrollbar-thumb:#4c3684;--neiki-scrollbar-track:#130c26;--neiki-selection-bg:#4c1d95;--neiki-highlight-color:#3c1361;--neiki-table-border:#3d2e6b}.neiki-editor.neiki-theme-void .neiki-toolbar{border-bottom:1px solid var(--neiki-border-color);box-shadow:0 1px 12px rgba(176,38,255,.15)}.neiki-context-menu.neiki-theme-void .neiki-context-item:hover,.neiki-editor.neiki-theme-void .neiki-toolbar-btn:hover{box-shadow:0 0 10px rgba(176,38,255,.5)}.neiki-editor.neiki-theme-void .neiki-toolbar-btn.active{box-shadow:0 0 8px rgba(176,38,255,.65)}.neiki-editor.neiki-theme-void .neiki-content ::selection,.neiki-editor.neiki-theme-void .neiki-content::selection{background:var(--neiki-selection-bg);text-shadow:0 0 6px rgba(176,38,255,.6)}.neiki-context-menu.neiki-theme-autumn,.neiki-editor.neiki-theme-autumn,.neiki-modal-overlay.neiki-theme-autumn{--neiki-bg-primary:#282828;--neiki-bg-secondary:#32302f;--neiki-bg-tertiary:#3c3836;--neiki-bg-hover:#504945;--neiki-bg-active:#665c54;--neiki-border-color:#3c3836;--neiki-border-color-dark:#665c54;--neiki-text-primary:#ebdbb2;--neiki-text-secondary:#d5c4a1;--neiki-text-muted:#a89984;--neiki-accent-color:#fe8019;--neiki-accent-hover:#d65d0e;--neiki-danger-color:#fb4934;--neiki-success-color:#b8bb26;--neiki-shadow-sm:0 1px 2px rgba(0, 0, 0, 0.25);--neiki-shadow-md:0 4px 12px rgba(0, 0, 0, 0.35);--neiki-shadow-lg:0 16px 32px rgba(0, 0, 0, 0.45);--neiki-editor-bg:#282828;--neiki-toolbar-bg:#32302f;--neiki-statusbar-bg:#32302f;--neiki-modal-overlay:rgba(0, 0, 0, 0.7);--neiki-scrollbar-thumb:#665c54;--neiki-scrollbar-track:#3c3836;--neiki-selection-bg:#504945;--neiki-highlight-color:#d79921;--neiki-table-border:#3c3836}.neiki-editor{display:flex;flex-direction:column;width:100%;height:100%;min-height:400px;background:var(--neiki-bg-primary);border:1px solid var(--neiki-border-color);border-radius:8px;overflow:hidden;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,sans-serif;font-size:14px;color:var(--neiki-text-primary);box-shadow:var(--neiki-shadow-md)}.neiki-editor *{box-sizing:border-box}.neiki-editor.neiki-fullscreen{position:fixed!important;top:0!important;left:0!important;right:0!important;bottom:0!important;width:100vw!important;height:100vh!important;z-index:999999!important;border-radius:0!important;border:none!important}.neiki-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:2px;padding:6px 8px;background:var(--neiki-toolbar-bg);border-bottom:1px solid var(--neiki-border-color);min-height:44px}.neiki-editor.neiki-sticky-toolbar{overflow:visible}.neiki-editor.neiki-sticky-toolbar .neiki-toolbar{position:sticky;top:0;z-index:100;border-radius:8px 8px 0 0}.neiki-toolbar-group{display:inline-flex;align-items:center;gap:2px;padding:0 4px;flex-wrap:nowrap}.neiki-toolbar-group:not(:last-child){border-right:1px solid var(--neiki-border-color);padding-right:8px;margin-right:4px}.neiki-toolbar-divider{width:1px;height:24px;background:var(--neiki-border-color);margin:0 4px}.neiki-btn,.neiki-toolbar-btn{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;background:0 0;border:1px solid transparent;border-radius:4px;cursor:pointer;color:var(--neiki-text-secondary);transition:.15s;position:relative}.neiki-btn:hover,.neiki-fontsize-btn:hover,.neiki-modal-close:hover,.neiki-preview-close:hover,.neiki-toolbar-btn:hover{background:var(--neiki-bg-hover);color:var(--neiki-text-primary)}.neiki-btn:active,.neiki-floating-btn:active,.neiki-toolbar-btn:active{background:var(--neiki-bg-active)}.neiki-btn.active,.neiki-toolbar-btn.active{background:var(--neiki-bg-active);color:var(--neiki-accent-color);border-color:var(--neiki-accent-color)}.neiki-btn:disabled,.neiki-toolbar-btn:disabled{opacity:.4;cursor:not-allowed}.neiki-btn svg,.neiki-toolbar-btn svg{width:18px;height:18px;fill:currentColor;pointer-events:none}.neiki-select{height:32px;padding:0 28px 0 10px;background:var(--neiki-bg-primary);border:1px solid var(--neiki-border-color);border-radius:4px;color:var(--neiki-text-primary);font-size:13px;cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%236c757d' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 8px center;min-width:100px}.neiki-select:hover{border-color:var(--neiki-border-color-dark)}.neiki-select:focus,.neiki-theme-menu-select:focus{outline:0;border-color:var(--neiki-accent-color);box-shadow:0 0 0 2px rgba(13,110,253,.15)}.neiki-color-custom,.neiki-statusbar{border-top:1px solid var(--neiki-border-color)}.neiki-theme-select-wrapper{display:inline-flex;align-items:center;gap:6px;height:32px}.neiki-theme-select-icon{display:inline-flex;align-items:center;justify-content:center;color:var(--neiki-text-secondary);width:18px;height:18px;flex-shrink:0}.neiki-context-item svg,.neiki-context-menu-item svg,.neiki-dropdown-item-icon svg,.neiki-floating-btn svg,.neiki-img-toolbar-btn svg,.neiki-theme-select-icon svg{width:16px;height:16px;fill:currentColor}.neiki-theme-select{min-width:116px;max-width:150px}.neiki-color-btn{position:relative;width:36px}.neiki-color-btn .neiki-color-indicator{position:absolute;bottom:4px;left:50%;transform:translateX(-50%);width:16px;height:3px;border-radius:1px;background:currentColor}.neiki-checkbox-wrapper{display:flex;align-items:center;gap:6px;padding:0 8px;height:32px;font-size:12px;color:var(--neiki-text-secondary);cursor:pointer;user-select:none}.neiki-checkbox{width:16px;height:16px;cursor:pointer}.neiki-content-wrapper,.neiki-editor-wrapper{flex:1;display:flex;flex-direction:column;overflow:hidden;position:relative}.neiki-content{flex:1;padding:20px 24px;background:var(--neiki-editor-bg);overflow-y:auto;outline:0;line-height:1.6;color:var(--neiki-text-primary);min-height:200px}.neiki-code-view-textarea:focus,.neiki-content:focus{outline:0}.neiki-content:empty::before{content:attr(data-placeholder);color:var(--neiki-text-muted);font-style:italic;pointer-events:none}.neiki-content.neiki-drag-over{border:2px dashed var(--neiki-accent-color);background:rgba(13,110,253,.05)}.neiki-content.neiki-drag-over::after{content:'Drop media here';position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:var(--neiki-accent-color);font-weight:600;font-size:16px;pointer-events:none;z-index:10}.neiki-drop-indicator{position:absolute;width:3px;min-height:22px;background:var(--neiki-accent-color);border-radius:999px;box-shadow:0 0 0 3px rgba(13,110,253,.18);pointer-events:none;opacity:0;transform:translateX(-1px);transition:opacity 80ms;z-index:80}.neiki-drop-indicator::after,.neiki-drop-indicator::before{content:'';position:absolute;left:50%;width:9px;height:9px;background:var(--neiki-accent-color);border-radius:50%;transform:translateX(-50%)}.neiki-drop-indicator::before{top:-4px}.neiki-drop-indicator::after{bottom:-4px}.neiki-drop-indicator.show{opacity:1}.neiki-editor.neiki-disabled{opacity:.6;pointer-events:none}.neiki-content::-webkit-scrollbar{width:10px}.neiki-content::-webkit-scrollbar-track{background:var(--neiki-scrollbar-track)}.neiki-content::-webkit-scrollbar-thumb{background:var(--neiki-scrollbar-thumb);border-radius:5px}.neiki-content::-webkit-scrollbar-thumb:hover{background:var(--neiki-border-color-dark)}.neiki-content p{margin:0 0 1em}.neiki-content h1{font-size:2em;font-weight:700;margin:0 0 .5em}.neiki-content h2{font-size:1.5em;font-weight:600;margin:0 0 .5em}.neiki-content h3{font-size:1.25em;font-weight:600;margin:0 0 .5em}.neiki-content h4{font-size:1.1em;font-weight:600;margin:0 0 .5em}.neiki-content h5{font-size:1em;font-weight:600;margin:0 0 .5em}.neiki-content h6{font-size:.9em;font-weight:600;margin:0 0 .5em}.neiki-content ol,.neiki-content ul{margin:0 0 1em;padding-left:2em}.neiki-content li{margin-bottom:.25em}.neiki-content blockquote{margin:0 0 1em;padding:10px 20px;border-left:4px solid var(--neiki-accent-color);background:var(--neiki-bg-secondary);font-style:italic}.neiki-content code,.neiki-content pre{background:var(--neiki-bg-tertiary);font-family:Consolas,Monaco,monospace}.neiki-content pre{margin:0 0 1em;padding:16px;border-radius:4px;overflow-x:auto;font-size:13px}.neiki-content code{padding:2px 6px;border-radius:3px;font-size:.9em}.neiki-content a{color:var(--neiki-accent-color);text-decoration:underline}.neiki-content a:hover{color:var(--neiki-accent-hover)}.neiki-content img{display:inline-block;max-width:100%;height:auto;border-radius:4px;cursor:pointer}.neiki-content img.neiki-selected{outline:2px solid var(--neiki-accent-color);outline-offset:2px}.neiki-content video{display:block;max-width:100%;height:auto;margin:0 0 1em;border-radius:6px;background:#000}.neiki-highlight{background:var(--neiki-highlight-color);padding:1px 0}.neiki-content table,.neiki-table{width:100%;border-collapse:collapse;margin:1em 0;table-layout:fixed}.neiki-content table td,.neiki-content table th{border:1px solid var(--neiki-table-border);padding:8px 12px;min-width:50px;vertical-align:top;position:relative}.neiki-content table th{background:var(--neiki-bg-secondary);font-weight:600}.neiki-btn-secondary:hover,.neiki-button-secondary:hover,.neiki-content table td:hover,.neiki-content table th:hover,.neiki-context-item:hover,.neiki-context-menu-item:hover,.neiki-dropdown-item:hover,.neiki-fontsize-dropdown-item:hover,.neiki-special-char-item:hover{background:var(--neiki-bg-hover)}.neiki-content table td.neiki-cell-selected,.neiki-content table th.neiki-cell-selected{background:var(--neiki-selection-bg)}.neiki-table-resize-handle{position:absolute;top:0;right:-3px;width:6px;height:100%;cursor:col-resize;z-index:10}.neiki-table-resize-handle:hover{background:var(--neiki-accent-color)}.neiki-statusbar{display:flex;justify-content:space-between;align-items:center;padding:6px 12px;background:var(--neiki-statusbar-bg);font-size:12px;color:var(--neiki-text-muted)}.neiki-statusbar-left,.neiki-statusbar-right{display:flex;align-items:center;gap:16px}.neiki-statusbar-item{display:flex;align-items:center;gap:4px}.neiki-statusbar-block{font-family:Consolas,Monaco,monospace;font-size:11px;padding:2px 6px;background:var(--neiki-bg-tertiary);border-radius:3px;color:var(--neiki-accent-color);font-weight:600;border:1px solid var(--neiki-border-color)}.neiki-color-picker,.neiki-dropdown{position:absolute;top:100%;left:0;z-index:1000;border:1px solid var(--neiki-border-color);box-shadow:var(--neiki-shadow-lg)}.neiki-dropdown{min-width:180px;background:var(--neiki-bg-primary);border-radius:6px;padding:4px;margin-top:4px}.neiki-dropdown-item{display:flex;align-items:center;gap:6px;padding:7px 10px;border-radius:4px;cursor:pointer;color:var(--neiki-text-primary);font-size:13px;transition:background .1s}.neiki-dropdown-item.active{background:var(--neiki-bg-active);color:var(--neiki-accent-color)}.neiki-context-divider,.neiki-context-menu-divider,.neiki-dropdown-divider{height:1px;background:var(--neiki-border-color);margin:4px 0}.neiki-color-picker{background:var(--neiki-bg-primary);border-radius:8px;padding:8px;margin-top:4px;display:flex;flex-direction:column;gap:6px}.neiki-color-grid{display:grid;grid-template-columns:repeat(10,1fr);gap:2px}.neiki-color-custom{display:flex;align-items:center;gap:6px}.neiki-color-custom-input{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:28px;height:28px;border:1px solid var(--neiki-border-color);border-radius:4px;padding:2px;cursor:pointer;background:0 0}.neiki-color-custom-input::-webkit-color-swatch-wrapper{padding:0}.neiki-color-custom-input::-webkit-color-swatch{border:none;border-radius:2px}.neiki-color-custom-input::-moz-color-swatch{border:none;border-radius:2px}.neiki-color-hex-input{flex:1;height:28px;padding:0 8px;border:1px solid var(--neiki-border-color);border-radius:4px;font-size:12px;font-family:monospace;background:var(--neiki-bg-secondary);color:var(--neiki-text-primary);outline:0}.neiki-color-hex-input:focus{border-color:var(--neiki-accent-color);box-shadow:0 0 0 2px rgba(13,110,253,.15)}.neiki-color-apply-btn{height:28px;padding:0 10px;border:none;border-radius:4px;font-size:12px;font-weight:500;background:var(--neiki-accent-color);color:#fff;cursor:pointer;transition:background .15s}.neiki-emoji-picker,.neiki-special-picker{max-width:calc(100vw - 16px);overflow-y:auto;background:var(--neiki-bg-primary);padding:8px;margin-top:4px;position:absolute;top:100%;z-index:1000;box-shadow:var(--neiki-shadow-lg);left:0}.neiki-btn-primary:hover,.neiki-button-primary:hover,.neiki-color-apply-btn:hover{background:var(--neiki-accent-hover)}.neiki-color-swatch{width:22px;height:22px;border-radius:3px;cursor:pointer;border:1px solid var(--neiki-border-color);transition:transform .1s}.neiki-color-swatch:hover{transform:scale(1.2);z-index:1}.neiki-color-swatch.neiki-color-reset{background:#fff;position:relative;overflow:hidden;border:1px solid #ccc}.neiki-color-preset.active,.neiki-special-item:hover{border-color:var(--neiki-accent-color)}.neiki-color-swatch.neiki-color-reset::after{content:'';position:absolute;top:50%;left:-2px;right:-2px;height:2px;background:#e53935;transform:rotate(-45deg);transform-origin:center;pointer-events:none}.neiki-color-picker-label{font-size:11px;font-weight:600;color:var(--neiki-text-muted);text-transform:uppercase;margin-bottom:8px}.neiki-emoji-item,.neiki-special-item{align-items:center;font-size:18px;cursor:pointer}.neiki-emoji-picker{width:280px;max-height:250px;border:1px solid var(--neiki-border-color);border-radius:8px;display:grid;grid-template-columns:repeat(10,1fr);gap:2px}.neiki-emoji-item{display:flex;justify-content:center;width:24px;height:24px;border-radius:4px;transition:background .15s,transform .1s}.neiki-emoji-item:hover{background:var(--neiki-bg-hover);transform:scale(1.2)}.neiki-special-picker{width:320px;max-height:280px;border:1px solid var(--neiki-border-color);border-radius:8px;display:grid;grid-template-columns:repeat(8,1fr);gap:4px}.neiki-special-item{display:flex;justify-content:center;width:32px;height:32px;border-radius:4px;border:1px solid var(--neiki-border-color);background:var(--neiki-bg-secondary);transition:.15s}.neiki-special-item:hover{background:var(--neiki-accent-color);color:#fff;transform:scale(1.1)}.neiki-highlight-find{background:#ffeb3b;padding:1px 0;border-radius:2px}.neiki-highlight-current{background:#ff9800;outline:#e65100 solid 2px}.neiki-color-presets{display:grid;grid-template-columns:repeat(5,1fr);gap:6px;margin-bottom:12px}.neiki-color-preset{width:32px;height:32px;border-radius:4px;border:2px solid transparent;cursor:pointer;transition:transform .1s,border-color .1s}.neiki-color-preset:hover{transform:scale(1.1)}.neiki-color-preset.neiki-color-reset{background:linear-gradient(45deg,#fff 45%,red 45%,red 55%,#fff 55%);border:1px solid var(--neiki-border-color)}.neiki-color-custom{display:flex;align-items:center;gap:8px;padding-top:8px;border-top:1px solid var(--neiki-border-color)}.neiki-color-custom input[type=color]{width:40px;height:32px;padding:0;border:1px solid var(--neiki-border-color);border-radius:4px;cursor:pointer}.neiki-color-custom input[type=text]{flex:1;height:32px;padding:0 8px;border:1px solid var(--neiki-border-color);border-radius:4px;background:var(--neiki-bg-primary);color:var(--neiki-text-primary);font-size:12px;font-family:monospace}.neiki-table-picker,.neiki-table-picker-cell{border:1px solid var(--neiki-border-color);background:var(--neiki-bg-primary)}.neiki-table-picker{position:absolute;top:100%;left:0;z-index:1000;border-radius:8px;box-shadow:var(--neiki-shadow-lg);padding:12px;display:none}.neiki-context-menu.show,.neiki-find-replace.show,.neiki-fontsize-dropdown.show,.neiki-table-picker.show{display:block}.neiki-table-picker-label{font-size:12px;color:var(--neiki-text-secondary);margin-bottom:8px;text-align:center}.neiki-dark .neiki-modal h3,.neiki-dark .neiki-modal-header h3,.neiki-modal-title{color:var(--neiki-text-primary)}.neiki-table-picker-grid{display:grid;grid-template-columns:repeat(10,20px);gap:2px}.neiki-table-picker-cell{width:20px;height:20px;border-radius:2px;cursor:pointer;transition:background .1s}.neiki-table-picker-cell.active,.neiki-table-picker-cell:hover{background:var(--neiki-accent-color);border-color:var(--neiki-accent-color)}.neiki-special-chars{position:absolute;top:100%;left:0;z-index:1000;width:280px;max-height:300px;background:var(--neiki-bg-primary);border:1px solid var(--neiki-border-color);border-radius:8px;box-shadow:var(--neiki-shadow-lg);display:none;overflow:hidden}.neiki-special-chars.show{display:flex;flex-direction:column}.neiki-special-chars-grid{display:grid;grid-template-columns:repeat(10,1fr);gap:2px;padding:8px;overflow-y:auto}.neiki-special-char-item{display:flex;align-items:center;justify-content:center;width:24px;height:24px;font-size:16px;border-radius:4px;cursor:pointer;transition:background .1s}.neiki-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:var(--neiki-modal-overlay);z-index:10000;display:flex;align-items:center;justify-content:center;opacity:0;visibility:hidden;transition:opacity .2s,visibility .2s}.neiki-modal-overlay.active,[data-tooltip]:hover::after{opacity:1;visibility:visible}.neiki-modal{background:var(--neiki-bg-primary);border-radius:12px;box-shadow:var(--neiki-shadow-lg);width:100%;max-width:440px;max-height:90vh;overflow:hidden}.neiki-modal-wide{max-width:520px}.neiki-modal-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--neiki-border-color)}.neiki-modal-title{font-size:16px;font-weight:600;margin:0}.neiki-modal-close,.neiki-preview-close{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:0 0;border:none;border-radius:4px;cursor:pointer;color:var(--neiki-text-muted);transition:background .15s}.neiki-modal-body{padding:20px;overflow-y:auto}.neiki-modal h3,.neiki-modal-header h3{color:#000;margin:0}.neiki-modal-footer{display:flex;justify-content:flex-end;gap:10px;padding:16px 20px;border-top:1px solid var(--neiki-border-color)}.neiki-modal-footer .neiki-btn{width:auto;height:38px;padding:0 16px;font-size:14px;font-weight:500;border-radius:6px}.neiki-form-group{margin-bottom:16px}.neiki-find-replace-row:last-child,.neiki-form-group:last-child{margin-bottom:0}.neiki-form-group label,.neiki-form-label{display:block;margin-bottom:6px;font-size:13px;font-weight:500;color:var(--neiki-text-secondary)}.neiki-form-input,.neiki-input{width:100%;height:40px;padding:0 12px;border:1px solid var(--neiki-border-color);border-radius:6px;background:var(--neiki-bg-primary);color:var(--neiki-text-primary);font-size:14px;transition:border-color .15s}.neiki-form-input:focus,.neiki-form-textarea:focus,.neiki-input:focus{outline:0;border-color:var(--neiki-accent-color);box-shadow:0 0 0 3px rgba(13,110,253,.15)}.neiki-form-input::placeholder,.neiki-input::placeholder{color:var(--neiki-text-muted)}.neiki-input[type=file]{display:flex;align-items:center;padding:0;cursor:pointer}.neiki-input[type=file]::file-selector-button{height:100%;padding:0 14px;margin-right:12px;border:none;border-right:1px solid var(--neiki-border-color);background:var(--neiki-bg-tertiary,var(--neiki-bg-hover));color:var(--neiki-text-primary);font-size:13px;font-weight:500;cursor:pointer;border-radius:5px 0 0 5px}.neiki-image-upload-zone{position:relative;display:grid;justify-items:center;gap:7px;padding:24px 18px;border:2px dashed var(--neiki-border-color);border-radius:8px;background:var(--neiki-bg-secondary);color:var(--neiki-text-secondary);text-align:center;cursor:pointer;transition:border-color .15s,background .15s,box-shadow .15s}.neiki-find-replace,.neiki-form-textarea{border:1px solid var(--neiki-border-color)}.neiki-image-upload-zone:focus-visible,.neiki-image-upload-zone:hover{border-color:var(--neiki-accent-color);background:var(--neiki-bg-primary);box-shadow:0 0 0 3px rgba(13,110,253,.12);outline:0}.neiki-image-upload-zone.drag-over{border-color:var(--neiki-accent-color);background:rgba(13,110,253,.08)}.neiki-form-divider::after,.neiki-form-divider::before{content:'';height:1px;background:var(--neiki-border-color)}.neiki-image-upload-zone.has-files{border-style:solid;border-color:var(--neiki-accent-color)}.neiki-image-upload-input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.neiki-image-upload-icon{width:38px;height:38px;color:var(--neiki-accent-color)}.neiki-image-upload-icon svg{width:100%;height:100%;fill:currentColor}.neiki-image-upload-title{color:var(--neiki-text-primary);font-size:14px;font-weight:600}.neiki-image-upload-files,.neiki-image-upload-hint{max-width:100%;color:var(--neiki-text-muted);font-size:12px;line-height:1.4}.neiki-image-upload-files{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.neiki-image-upload-zone.has-files .neiki-image-upload-files{color:var(--neiki-accent-color);font-weight:500}.neiki-form-row{display:flex;gap:16px}.neiki-form-divider{display:flex;align-items:center;margin:16px 0;text-align:center;position:relative}.neiki-form-divider::before{flex:1;margin-right:12px}.neiki-form-divider::after{flex:1;margin-left:12px}.neiki-form-divider span{color:var(--neiki-text-muted);font-size:12px;font-weight:500;text-transform:uppercase}.neiki-form-textarea{width:100%;min-height:120px;padding:12px;border-radius:6px;background:var(--neiki-bg-primary);color:var(--neiki-text-primary);font-size:14px;font-family:inherit;resize:vertical;transition:border-color .15s}.neiki-btn-primary,.neiki-btn-secondary,.neiki-button{display:inline-flex;align-items:center;height:38px;padding:0 16px;font-size:14px;transition:.15s;font-weight:500;cursor:pointer}.neiki-button{justify-content:center;gap:6px;border:1px solid transparent;border-radius:6px}.neiki-btn-primary,.neiki-button-primary{background:var(--neiki-accent-color);color:#fff}.neiki-btn-secondary,.neiki-button-secondary{background:var(--neiki-bg-secondary);color:var(--neiki-text-primary);border-color:var(--neiki-border-color)}.neiki-btn-primary,.neiki-btn-secondary{justify-content:center;border:1px solid transparent;border-radius:6px}.neiki-btn-secondary{border-color:var(--neiki-border-color)}.neiki-button-danger{background:var(--neiki-danger-color);color:#fff}.neiki-code-view,.neiki-find-replace,.neiki-find-replace-input{background:var(--neiki-bg-primary)}.neiki-button-danger:hover{opacity:.9}.neiki-find-replace{position:absolute;top:0;right:0;z-index:100;width:360px;border-radius:0 0 0 8px;box-shadow:var(--neiki-shadow-lg);display:none}.neiki-find-replace-header{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;border-bottom:1px solid var(--neiki-border-color)}.neiki-code-view-title,.neiki-find-replace-title{font-size:13px;font-weight:600;color:var(--neiki-text-primary)}.neiki-find-replace-body{padding:12px}.neiki-find-replace-row{display:flex;gap:8px;margin-bottom:10px}.neiki-find-replace-input{flex:1;height:32px;padding:0 10px;border:1px solid var(--neiki-border-color);border-radius:4px;color:var(--neiki-text-primary);font-size:13px}.neiki-find-replace-input:focus{outline:0;border-color:var(--neiki-accent-color)}.neiki-find-replace-options{display:flex;align-items:center;gap:12px;margin-bottom:10px}.neiki-find-replace-option{display:flex;align-items:center;gap:4px;font-size:12px;color:var(--neiki-text-secondary);cursor:pointer}.neiki-find-replace-actions{display:flex;gap:6px;flex-wrap:wrap}.neiki-find-replace-btn{height:28px;padding:0 10px;font-size:12px;border-radius:4px}.neiki-find-replace-count{font-size:12px;color:var(--neiki-text-muted);margin-left:auto}.neiki-code-view{position:absolute;top:0;left:0;right:0;bottom:0;z-index:50;display:none;flex-direction:column}.neiki-code-view.show,.neiki-drop-overlay.show{display:flex}.neiki-code-view-header{display:flex;align-items:center;justify-content:space-between;padding:8px 16px;background:var(--neiki-bg-secondary);border-bottom:1px solid var(--neiki-border-color);flex-shrink:0}.neiki-code-view-editor{position:relative;flex:1;width:100%;min-height:0;background:var(--neiki-bg-primary)}.neiki-code-view-highlight,.neiki-code-view-textarea{position:absolute;inset:0;width:100%;height:100%;padding:16px;border:none;font-family:Consolas,Monaco,'Courier New',monospace;font-size:13px;line-height:1.5;tab-size:2;white-space:pre-wrap;word-break:break-word;overflow:auto}.neiki-context-menu,.neiki-floating-toolbar{position:fixed;box-shadow:var(--neiki-shadow-lg)}.neiki-code-view-highlight{margin:0;color:var(--neiki-text-primary);pointer-events:none;user-select:none}.neiki-code-view-textarea{background:0 0;color:transparent;caret-color:var(--neiki-text-primary);resize:none;z-index:1}.neiki-code-view-textarea::selection{background:var(--neiki-selection-bg);color:transparent}.neiki-html-punct{color:var(--neiki-text-muted)}.neiki-html-tag{color:#0f74d8;font-weight:600}.neiki-html-attr{color:#9a5b00}.neiki-html-string{color:#16803d}.neiki-html-comment{color:var(--neiki-text-muted);font-style:italic}.neiki-dark .neiki-html-tag{color:#7dd3fc}.neiki-dark .neiki-html-attr{color:#fbbf24}.neiki-dark .neiki-html-string{color:#86efac}.neiki-code-view-apply{width:auto!important;padding:0 12px!important;display:inline-flex;align-items:center;gap:4px;height:30px;font-size:12px;background:var(--neiki-accent-color)!important;color:#fff!important;border-radius:5px}.neiki-context-menu,.neiki-floating-btn,.neiki-floating-toolbar{background:var(--neiki-bg-primary)}.neiki-code-view-apply:hover{background:var(--neiki-accent-hover)!important;color:#fff!important}.neiki-code-view-apply svg{width:14px!important;height:14px!important}.neiki-context-menu{z-index:10001;min-width:180px;border:1px solid var(--neiki-border-color);border-radius:8px;padding:4px;display:none}.neiki-context-item,.neiki-context-menu-item{display:flex;align-items:center;gap:10px;padding:8px 12px;border-radius:4px;cursor:pointer;color:var(--neiki-text-primary);font-size:13px;transition:background .1s}.neiki-context-item.neiki-context-danger,.neiki-context-menu-item.danger{color:var(--neiki-danger-color)}.neiki-context-item.neiki-context-disabled{opacity:.4;cursor:default;pointer-events:none}.neiki-floating-toolbar{z-index:1000;display:none;border:1px solid var(--neiki-border-color);border-radius:8px;padding:4px}.neiki-floating-toolbar.show{display:flex;align-items:center;gap:2px}.neiki-floating-btn{width:32px;height:32px;border:none;color:var(--neiki-text-primary);border-radius:6px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:.15s}.neiki-floating-btn:hover,.neiki-img-toolbar-btn:hover{background:var(--neiki-bg-hover);color:var(--neiki-accent-color)}.neiki-floating-toolbar .neiki-btn{width:28px;height:28px}.neiki-chevron svg,.neiki-floating-toolbar .neiki-btn svg{width:14px;height:14px}.neiki-floating-divider,.neiki-img-toolbar-separator{width:1px;height:20px;background:var(--neiki-border-color);margin:0 2px}.neiki-floating-move-btn svg{width:16px;height:16px}.neiki-more-btn,[data-tooltip]{position:relative}[data-tooltip]::after{content:attr(data-tooltip);position:absolute;bottom:100%;left:50%;transform:translateX(-50%);padding:6px 10px;background:var(--neiki-text-primary);color:var(--neiki-bg-primary);font-size:11px;font-weight:500;white-space:nowrap;border-radius:4px;opacity:0;visibility:hidden;transition:opacity .15s,visibility .15s;pointer-events:none;z-index:10002;margin-bottom:6px}.neiki-drop-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:rgba(13,110,253,.1);border:3px dashed var(--neiki-accent-color);border-radius:8px;display:none;align-items:center;justify-content:center;z-index:100;pointer-events:none}.neiki-img-size-label,.neiki-img-toolbar{left:50%;transform:translateX(-50%);white-space:nowrap}.neiki-drop-overlay-text{font-size:18px;font-weight:600;color:var(--neiki-accent-color)}.neiki-img-resizable{display:inline-block;position:relative;outline:2px solid var(--neiki-accent-color);outline-offset:2px;border-radius:4px;line-height:0;user-select:none;-webkit-user-select:none}.neiki-img-resizable img,.neiki-img-resizable video{display:block;max-width:100%;user-select:none;-webkit-user-select:none}.neiki-img-resize-handle{position:absolute;width:12px;height:12px;background:var(--neiki-accent-color);border:2px solid #fff;border-radius:2px;z-index:10;box-shadow:0 1px 3px rgba(0,0,0,.3)}.neiki-img-resize-handle.nw{top:-6px;left:-6px;cursor:nw-resize}.neiki-img-resize-handle.ne{top:-6px;right:-6px;cursor:ne-resize}.neiki-img-resize-handle.sw{bottom:-6px;left:-6px;cursor:sw-resize}.neiki-img-resize-handle.se{bottom:-6px;right:-6px;cursor:se-resize}.neiki-img-size-label{position:absolute;bottom:-32px;background:var(--neiki-text-primary);color:var(--neiki-bg-primary);font-size:13px;line-height:1.4;font-weight:600;padding:4px 12px;border-radius:6px;pointer-events:none;z-index:10;opacity:.9}@media (pointer:coarse){.neiki-img-resize-handle{width:20px;height:20px}.neiki-img-resize-handle.nw{top:-10px;left:-10px}.neiki-img-resize-handle.ne{top:-10px;right:-10px}.neiki-img-resize-handle.sw{bottom:-10px;left:-10px}.neiki-img-resize-handle.se{bottom:-10px;right:-10px}}.neiki-img-toolbar{position:absolute;display:flex;align-items:center;gap:2px;padding:4px;background:var(--neiki-bg-primary);border:1px solid var(--neiki-border-color);border-radius:6px;box-shadow:var(--neiki-shadow-md);z-index:20;user-select:none;-webkit-user-select:none}.neiki-img-toolbar-btn{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border:none;border-radius:4px;background:0 0;color:var(--neiki-text-secondary);cursor:pointer;transition:.15s}.neiki-img-toolbar-btn-danger:hover{background:#fee2e2;color:#dc2626}.neiki-editor.neiki-dark .neiki-img-toolbar-btn-danger:hover{background:#451a1a;color:#f87171}.neiki-img-drag-handle{cursor:grab}.neiki-block-grip:active,.neiki-img-drag-handle:active{cursor:grabbing}.neiki-table-col-resize-handle{position:absolute;width:6px;cursor:col-resize;z-index:10;background:0 0;transition:background .1s}.neiki-table-col-resize-handle:active,.neiki-table-col-resize-handle:hover{background:var(--neiki-accent-color);opacity:.6;border-radius:3px}.neiki-block-grip{position:absolute;width:22px;height:22px;display:flex;align-items:center;justify-content:center;cursor:grab;color:var(--neiki-text-muted);opacity:0;transition:opacity .15s,color .15s;border-radius:4px;z-index:5;user-select:none}.neiki-content-wrapper:hover .neiki-block-grip{opacity:.5}.neiki-block-grip:hover{opacity:1!important;color:var(--neiki-text-primary);background:var(--neiki-bg-hover)}.neiki-block-grip svg{width:14px;height:14px;fill:currentColor;pointer-events:none}@media (hover:none),(pointer:coarse){.neiki-block-grip{display:none!important}}.neiki-block-ghost{position:fixed;z-index:100000;pointer-events:none;opacity:.7;background:var(--neiki-bg-primary);border:2px solid var(--neiki-accent-color);border-radius:6px;padding:8px 12px;box-shadow:var(--neiki-shadow-lg);max-height:120px;overflow:hidden}.neiki-block-placeholder{border:2px dashed var(--neiki-accent-color);border-radius:6px;background:rgba(13,110,253,.05);margin:2px 0;transition:height .15s}@media print{.neiki-content,.neiki-editor-wrapper{overflow:visible!important}.neiki-editor{border:none!important;box-shadow:none!important}.neiki-block-grip,.neiki-code-view-header,.neiki-find-replace,.neiki-floating-toolbar,.neiki-img-resize-handle,.neiki-img-size-label,.neiki-img-toolbar,.neiki-statusbar,.neiki-table-col-resize-handle,.neiki-toolbar{display:none!important}.neiki-content{padding:0!important}}@media (max-width:768px){.neiki-toolbar{padding:4px;gap:1px}.neiki-toolbar-group{padding:0 2px}.neiki-toolbar-group:not(:last-child){padding-right:4px;margin-right:2px}.neiki-btn{width:28px;height:28px}.neiki-btn svg{width:16px;height:16px}.neiki-select{height:28px;min-width:80px;font-size:12px;padding:0 24px 0 8px}.neiki-content,.neiki-modal-footer,.neiki-modal-header{padding:12px 16px}.neiki-statusbar{padding:4px 8px;font-size:11px}.neiki-modal{width:calc(100% - 20px);max-width:none;margin:10px;max-height:calc(100vh - 40px);border-radius:10px}.neiki-modal-overlay{padding:10px}.neiki-modal-body{padding:16px;max-height:calc(100vh - 160px);overflow-y:auto;-webkit-overflow-scrolling:touch}.neiki-modal-footer .neiki-btn{height:36px;padding:0 14px;font-size:13px}.neiki-form-row{flex-direction:column;gap:12px}.neiki-form-input,.neiki-input{height:38px;font-size:16px}.neiki-image-upload-zone{grid-template-columns:32px 1fr;justify-items:start;gap:4px 10px;padding:14px;text-align:left}.neiki-image-upload-icon{grid-row:span 3;width:30px;height:30px}.neiki-image-upload-title{font-size:13px}.neiki-image-upload-files,.neiki-image-upload-hint{font-size:11px}.neiki-find-replace{width:100%;border-radius:0}.neiki-checkbox-wrapper{padding:0 4px;font-size:11px}.neiki-color-picker{left:auto;right:0}}@media (max-width:480px){.neiki-toolbar-group:not(:last-child){border-right:none;padding-right:2px;margin-right:0}.neiki-select{min-width:60px}.neiki-statusbar-left,.neiki-statusbar-right{gap:8px}.neiki-img-toolbar{padding:3px;gap:1px;border-radius:5px;left:0;transform:none;max-width:calc(100vw - 20px)}.neiki-img-toolbar-btn{width:26px;height:26px}.neiki-img-toolbar-btn svg{width:14px;height:14px}.neiki-img-toolbar-separator{height:16px;margin:0 1px}}@keyframes neiki-fade-in{from{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.neiki-color-picker.show,.neiki-dropdown.show,.neiki-emoji-picker.show,.neiki-special-chars.show,.neiki-table-picker.show{animation:.15s neiki-fade-in}@keyframes neiki-modal-in{from{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.neiki-fontsize-widget{display:inline-flex;align-items:center;position:relative;height:32px;border:1px solid var(--neiki-border-color);border-radius:4px;overflow:visible;background:var(--neiki-bg-primary)}.neiki-fontsize-btn{display:flex;align-items:center;justify-content:center;width:26px;height:30px;background:0 0;border:none;cursor:pointer;color:var(--neiki-text-secondary);transition:background .15s,color .15s;padding:0}.neiki-fontsize-dropdown-item,.neiki-fontsize-input{color:var(--neiki-text-primary);text-align:center;font-size:13px}.neiki-fontsize-input{width:38px;height:30px;border:none;border-left:1px solid var(--neiki-border-color);border-right:1px solid var(--neiki-border-color);background:var(--neiki-bg-primary);outline:0;-moz-appearance:textfield;appearance:textfield;padding:0}.neiki-fontsize-input::-webkit-inner-spin-button,.neiki-fontsize-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.neiki-fontsize-dropdown{display:none;position:absolute;top:100%;left:0;z-index:1000;min-width:70px;max-height:240px;overflow-y:auto;background:var(--neiki-bg-primary);border:1px solid var(--neiki-border-color);border-radius:6px;box-shadow:var(--neiki-shadow-lg);padding:4px;margin-top:4px}.neiki-fontsize-dropdown-item{padding:6px 12px;cursor:pointer;border-radius:4px;transition:background .1s}.neiki-insert-dropdown-btn{width:auto!important;padding:0 8px!important;gap:4px;font-size:13px;font-weight:500}.neiki-insert-label{font-size:13px;pointer-events:none}.neiki-chevron{display:inline-flex;pointer-events:none}.neiki-insert-dropdown,.neiki-more-dropdown{display:none;position:absolute;top:100%;z-index:1000;border:1px solid var(--neiki-border-color);box-shadow:var(--neiki-shadow-lg);padding:4px;margin-top:4px;background:var(--neiki-bg-primary)}.neiki-insert-dropdown{left:0;min-width:160px;max-width:calc(100vw - 16px);border-radius:6px}.neiki-insert-dropdown.show,.neiki-more-dropdown.show{display:block;animation:.15s neiki-fade-in}.neiki-more-dropdown{right:0;border-radius:6px}.neiki-lang-cs .neiki-more-dropdown{min-width:165px}.neiki-dropdown-item-icon{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;flex-shrink:0}.neiki-dropdown-item-danger{color:var(--neiki-danger-color)!important}.neiki-dropdown-item-danger:hover{background:rgba(220,53,69,.1)}.neiki-theme-menu-item{cursor:default}.neiki-theme-menu-select{min-width:105px;height:28px;padding:0 24px 0 8px;border:1px solid var(--neiki-border-color);border-radius:4px;background:var(--neiki-bg-primary);color:var(--neiki-text-primary);font-size:12px;cursor:pointer}.neiki-autosave-badge{font-size:12px;font-weight:600;color:var(--neiki-text-muted);padding:0 4px}.neiki-autosave-badge.active{color:var(--neiki-success-color)}.neiki-preview-overlay{position:fixed;inset:0;background:rgba(0,0,0,.6);z-index:100000;display:flex;align-items:center;justify-content:center;padding:30px;animation:.2s neiki-fade-in}.neiki-preview-modal{background:var(--neiki-bg-primary);border-radius:12px;width:100%;max-width:900px;max-height:90vh;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 25px 60px rgba(0,0,0,.3);animation:.2s neiki-modal-in}.neiki-preview-header{display:flex;align-items:center;justify-content:space-between;padding:14px 20px;background:var(--neiki-bg-secondary);border-bottom:1px solid var(--neiki-border-color);font-weight:600;font-size:14px;color:var(--neiki-text-primary)}.neiki-preview-close svg{width:18px;height:18px;fill:currentColor}.neiki-preview-body{flex:1;overflow:auto;padding:30px;color:var(--neiki-text-primary);font-size:15px;line-height:1.7}.neiki-preview-body img{max-width:100%}.neiki-preview-body table{border-collapse:collapse;width:100%}.neiki-preview-body table td,.neiki-preview-body table th{border:1px solid var(--neiki-border-color);padding:8px 12px}.neiki-statusbar-autosave{font-style:italic;color:var(--neiki-success-color);font-size:11px}
|