@open-wysiwyg-editor/next 1.0.0 → 1.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/content.css CHANGED
@@ -1,21 +1,42 @@
1
1
  /*! open-wysiwyg-editor | MIT License */
2
2
  /*
3
3
  * Design tokens. Everything lives in the `owe` cascade layer, so any unlayered host CSS wins
4
- * without !important. Override tokens on .owe (or :root) to theme the editor.
4
+ * without !important. Override tokens on .owe to theme the editor.
5
5
  * Contrast: text >= 4.5:1, borders/focus/states >= 3:1 against --owe-bg (WCAG 1.4.3 / 1.4.11).
6
6
  *
7
- * Tokens added in 1.0 (existing names keep working):
7
+ * One-color branding. Set --owe-brand (on .owe, a wrapper or :root) and the whole UI follows, in
8
+ * light and dark: every brand-dependent token below is derived from it with color-mix().
9
+ * --owe-brand brand color (default #0066ff) --owe-brand-2 2nd stop of --owe-gradient (#00b8ff)
10
+ * --owe-on-brand text/icons on brand fills (#fff) Pick a dark --owe-on-brand for light brands.
11
+ * --owe-primary solid fill = brand --owe-primary-hover primary mixed 15% toward black
12
+ * --owe-accent brand-tinted TEXT/link/focus color: brand mixed 30% toward black (light) or
13
+ * 40% toward white (dark). Pale brands may need an explicit --owe-accent (4.5:1).
14
+ * --owe-accent-soft brand 18% over --owe-bg --owe-selection brand at 22% (light) / 45% (dark)
15
+ * --owe-focus, --owe-caret follow --owe-accent --owe-gradient brand -> brand-2 (bottom edge)
16
+ * Overriding any of these directly still wins over the derivation.
17
+ *
18
+ * Button and surface tokens (no default is declared; the rules fall back to the value in brackets,
19
+ * so they can be set on .owe or on any ancestor):
20
+ * --owe-btn-color (--owe-icon) --owe-btn-bg (transparent) --owe-btn-radius (--owe-radius-sm)
21
+ * --owe-btn-hover-color (--owe-text) --owe-btn-hover-bg (--owe-surface-2)
22
+ * --owe-btn-active-color (--owe-on-accent) --owe-btn-active-bg (--owe-primary) pressed / toggled buttons
23
+ * --owe-btn-active-hover-bg (active-bg mixed 15% toward black)
24
+ * --owe-btn-primary-bg (--owe-primary) --owe-btn-primary-color (--owe-on-accent)
25
+ * --owe-btn-primary-hover-bg (--owe-primary-hover) dialog primary buttons
26
+ * --owe-toolbar-bg (--owe-chrome) --owe-toolbar-border (--owe-border-subtle) toolbar, find bar, status bar
27
+ * --owe-editor-border (--owe-border-subtle) --owe-editor-radius (--owe-radius) the card
28
+ *
29
+ * Other tokens (these are declared below, so set them on .owe):
8
30
  * --owe-radius card radius (24px) --owe-radius-sm inner controls (10px)
9
31
  * --owe-radius-md menus (12px) --owe-radius-lg dialogs (16px)
10
32
  * --owe-btn-size toolbar button (40px) --owe-pad-x/-y editing-area padding
11
33
  * --owe-chrome toolbar / status bar surface
12
34
  * --owe-field-bg inputs and source view --owe-popup-border menu / dialog edge
13
35
  * --owe-body paragraph text --owe-text-2 secondary text (quotes)
14
- * --owe-icon toolbar icon color --owe-caret caret color
15
- * --owe-primary(-hover) solid fills: pressed buttons, primary buttons (white text, 4.8:1)
16
- * --owe-gradient bottom edge of the card --owe-backdrop dialog backdrop
17
- * --owe-accent is the TEXT/link/focus blue; --owe-primary is the FILL blue.
36
+ * --owe-icon toolbar icon color --owe-backdrop dialog backdrop
18
37
  * Set --owe-font (e.g. "Almarai", system-ui) to change the typeface; no web fonts are bundled.
38
+ * The JS options `ui.brand` and `ui.tokens` and the <owe-editor brand> attribute set these
39
+ * properties on the editor root, so they win over this file without any CSS.
19
40
  */
20
41
  @layer owe {
21
42
  .owe,
@@ -33,7 +54,6 @@
33
54
  --owe-btn-size: 40px;
34
55
  --owe-pad-x: clamp(16px, 4vw, 32px);
35
56
  --owe-pad-y: 28px;
36
- --owe-gradient: linear-gradient(90deg, #0066ff, #9644ff, #af47c0);
37
57
 
38
58
  --owe-bg: #ffffff;
39
59
  --owe-chrome: #fafbfc;
@@ -48,26 +68,32 @@
48
68
  --owe-border: #8a929a; /* 3.2:1 on white */
49
69
  --owe-border-subtle: #e3e6ea;
50
70
  --owe-popup-border: #d5d9de;
51
- --owe-accent: #0057d9; /* 6.2:1 on white */
52
- --owe-on-accent: #ffffff;
53
- --owe-primary: #0066ff;
54
- --owe-primary-hover: #0057d9;
55
- --owe-accent-soft: #d3e3fd;
56
- --owe-focus: #0066ff;
57
- --owe-caret: #0066ff;
58
71
  --owe-danger: #b3261e;
59
72
  --owe-warning: #8a5300;
60
73
  --owe-success: #146c2e;
61
- --owe-selection: rgb(0 102 255 / 0.22);
62
74
  --owe-code-bg: #f4f6f8;
63
75
  --owe-mark: #fff2a8;
64
76
  --owe-shadow: 0 16px 40px rgb(16 17 18 / 0.16), 0 2px 8px rgb(16 17 18 / 0.08);
65
77
  --owe-backdrop: rgb(16 17 18 / 0.45);
66
78
  --owe-z-popover: 1000;
67
79
 
80
+ /* Brand-derived. --owe-brand / -brand-2 / -on-brand have no declaration here, so they can be set
81
+ on any ancestor; the fallbacks are the defaults. */
82
+ --owe-gradient: linear-gradient(90deg, var(--owe-brand, #0066ff), var(--owe-brand-2, #00b8ff));
83
+ --owe-on-accent: var(--owe-on-brand, #ffffff);
84
+ --owe-primary: var(--owe-brand, #0066ff); /* white on #0066ff: 4.8:1 */
85
+ --owe-primary-hover: color-mix(in oklab, var(--owe-primary) 85%, black);
86
+ --owe-accent: color-mix(in oklab, var(--owe-brand, #0066ff) 70%, black); /* 9.8:1 on white for #0066ff */
87
+ --owe-accent-soft: color-mix(in oklab, var(--owe-brand, #0066ff) 18%, var(--owe-bg));
88
+ --owe-focus: var(--owe-accent);
89
+ --owe-caret: var(--owe-accent);
90
+ --owe-selection: color-mix(in oklab, var(--owe-brand, #0066ff) 22%, transparent);
91
+
68
92
  color-scheme: light;
69
93
  }
70
94
 
95
+ /* Dark values are listed twice (OS preference, then an explicit data-theme="dark"). Brand-derived
96
+ tokens that read --owe-bg or --owe-accent (accent-soft, focus, caret, hover) follow on their own. */
71
97
  @media (prefers-color-scheme: dark) {
72
98
  .owe:not([data-theme="light"]),
73
99
  .owe-content-root:not([data-theme="light"]) {
@@ -84,19 +110,13 @@
84
110
  --owe-border: #6b7279;
85
111
  --owe-border-subtle: #25282b;
86
112
  --owe-popup-border: #33383d;
87
- --owe-accent: #4d94ff;
88
- --owe-on-accent: #ffffff;
89
- --owe-primary: #0066ff;
90
- --owe-primary-hover: #0057d9;
91
- --owe-accent-soft: #14315e;
92
- --owe-focus: #4d94ff;
93
- --owe-caret: #5b9dff;
113
+ --owe-accent: color-mix(in oklab, var(--owe-brand, #0066ff) 60%, white); /* 7.5:1 on the dark card */
94
114
  --owe-danger: #f2b8b5;
95
115
  --owe-warning: #f6c66b;
96
116
  --owe-success: #8bd6a0;
97
- --owe-selection: rgb(0 102 255 / 0.55);
117
+ --owe-selection: color-mix(in oklab, var(--owe-brand, #0066ff) 45%, transparent);
98
118
  --owe-code-bg: #0f1112;
99
- --owe-mark: #4a35b8;
119
+ --owe-mark: #6b4e00; /* deep amber: body text stays 5.7:1 */
100
120
  --owe-shadow: 0 16px 40px rgb(0 0 0 / 0.55), 0 2px 8px rgb(0 0 0 / 0.4);
101
121
  --owe-backdrop: rgb(4 5 16 / 0.65);
102
122
  color-scheme: dark;
@@ -118,19 +138,13 @@
118
138
  --owe-border: #6b7279;
119
139
  --owe-border-subtle: #25282b;
120
140
  --owe-popup-border: #33383d;
121
- --owe-accent: #4d94ff;
122
- --owe-on-accent: #ffffff;
123
- --owe-primary: #0066ff;
124
- --owe-primary-hover: #0057d9;
125
- --owe-accent-soft: #14315e;
126
- --owe-focus: #4d94ff;
127
- --owe-caret: #5b9dff;
141
+ --owe-accent: color-mix(in oklab, var(--owe-brand, #0066ff) 60%, white);
128
142
  --owe-danger: #f2b8b5;
129
143
  --owe-warning: #f6c66b;
130
144
  --owe-success: #8bd6a0;
131
- --owe-selection: rgb(0 102 255 / 0.55);
145
+ --owe-selection: color-mix(in oklab, var(--owe-brand, #0066ff) 45%, transparent);
132
146
  --owe-code-bg: #0f1112;
133
- --owe-mark: #4a35b8;
147
+ --owe-mark: #6b4e00;
134
148
  --owe-shadow: 0 16px 40px rgb(0 0 0 / 0.55), 0 2px 8px rgb(0 0 0 / 0.4);
135
149
  --owe-backdrop: rgb(4 5 16 / 0.65);
136
150
  color-scheme: dark;
@@ -1,2 +1,2 @@
1
1
  /*! open-wysiwyg-editor | MIT License */
2
- /*! open-wysiwyg-editor | MIT License */ @layer owe{.owe,.owe-content-root{--owe-font:system-ui,-apple-system,"Segoe UI",Roboto,"Noto Sans Arabic","Noto Sans",Tahoma,sans-serif;--owe-font-mono:ui-monospace,"JetBrains Mono","SFMono-Regular",Menlo,Consolas,"Liberation Mono",monospace;--owe-font-size:1rem;--owe-line-height:1.65;--owe-radius:24px;--owe-radius-sm:10px;--owe-radius-md:12px;--owe-radius-lg:16px;--owe-space:8px;--owe-target:32px;--owe-btn-size:40px;--owe-pad-x:clamp(16px,4vw,32px);--owe-pad-y:28px;--owe-gradient:linear-gradient(90deg,#0066ff,#9644ff,#af47c0);--owe-bg:#ffffff;--owe-chrome:#fafbfc;--owe-surface:#f4f6f8;--owe-surface-2:#f1f3f5;--owe-field-bg:#ffffff;--owe-text:#101112;--owe-body:#1b1f24;--owe-text-2:#3d434a;--owe-muted:#54595f;--owe-icon:#3a3f45;--owe-border:#8a929a;--owe-border-subtle:#e3e6ea;--owe-popup-border:#d5d9de;--owe-accent:#0057d9;--owe-on-accent:#ffffff;--owe-primary:#0066ff;--owe-primary-hover:#0057d9;--owe-accent-soft:#d3e3fd;--owe-focus:#0066ff;--owe-caret:#0066ff;--owe-danger:#b3261e;--owe-warning:#8a5300;--owe-success:#146c2e;--owe-selection:rgb(0 102 255 / 0.22);--owe-code-bg:#f4f6f8;--owe-mark:#fff2a8;--owe-shadow:0 16px 40px rgb(16 17 18 / 0.16),0 2px 8px rgb(16 17 18 / 0.08);--owe-backdrop:rgb(16 17 18 / 0.45);--owe-z-popover:1000;color-scheme:light}@media (prefers-color-scheme:dark){.owe:not([data-theme="light"]),.owe-content-root:not([data-theme="light"]){--owe-bg:#17191b;--owe-chrome:#131517;--owe-surface:#1e2124;--owe-surface-2:#25282b;--owe-field-bg:#101214;--owe-text:#ffffff;--owe-body:#dcdedf;--owe-text-2:#c3c7cb;--owe-muted:#a1a7ad;--owe-icon:#d2d4d5;--owe-border:#6b7279;--owe-border-subtle:#25282b;--owe-popup-border:#33383d;--owe-accent:#4d94ff;--owe-on-accent:#ffffff;--owe-primary:#0066ff;--owe-primary-hover:#0057d9;--owe-accent-soft:#14315e;--owe-focus:#4d94ff;--owe-caret:#5b9dff;--owe-danger:#f2b8b5;--owe-warning:#f6c66b;--owe-success:#8bd6a0;--owe-selection:rgb(0 102 255 / 0.55);--owe-code-bg:#0f1112;--owe-mark:#4a35b8;--owe-shadow:0 16px 40px rgb(0 0 0 / 0.55),0 2px 8px rgb(0 0 0 / 0.4);--owe-backdrop:rgb(4 5 16 / 0.65);color-scheme:dark}}.owe[data-theme="dark"],.owe-content-root[data-theme="dark"]{--owe-bg:#17191b;--owe-chrome:#131517;--owe-surface:#1e2124;--owe-surface-2:#25282b;--owe-field-bg:#101214;--owe-text:#ffffff;--owe-body:#dcdedf;--owe-text-2:#c3c7cb;--owe-muted:#a1a7ad;--owe-icon:#d2d4d5;--owe-border:#6b7279;--owe-border-subtle:#25282b;--owe-popup-border:#33383d;--owe-accent:#4d94ff;--owe-on-accent:#ffffff;--owe-primary:#0066ff;--owe-primary-hover:#0057d9;--owe-accent-soft:#14315e;--owe-focus:#4d94ff;--owe-caret:#5b9dff;--owe-danger:#f2b8b5;--owe-warning:#f6c66b;--owe-success:#8bd6a0;--owe-selection:rgb(0 102 255 / 0.55);--owe-code-bg:#0f1112;--owe-mark:#4a35b8;--owe-shadow:0 16px 40px rgb(0 0 0 / 0.55),0 2px 8px rgb(0 0 0 / 0.4);--owe-backdrop:rgb(4 5 16 / 0.65);color-scheme:dark}@media (prefers-contrast:more){.owe{--owe-border:currentColor;--owe-border-subtle:var(--owe-border);--owe-popup-border:var(--owe-border);--owe-muted:var(--owe-text);--owe-text-2:var(--owe-text)}}}@layer owe{:is(.owe-content,.owe-content-root){font-family:var(--owe-font);font-size:var(--owe-font-size);line-height:var(--owe-line-height);color:var(--owe-body);overflow-wrap:break-word}:is(.owe-content,.owe-content-root)>:first-child{margin-block-start:0}:is(.owe-content,.owe-content-root) :is(p,ul,ol,blockquote,pre,table,figure,hr){margin-block:0 0.85em}:is(.owe-content,.owe-content-root) :is(h1,h2,h3,h4,h5,h6){line-height:1.2;margin-block:1.3em 0.5em;font-weight:700;letter-spacing:-0.02em;color:var(--owe-text)}:is(.owe-content,.owe-content-root) :is(h1,h2,h3,h4,h5,h6):is([dir="rtl"],:lang(ar),:lang(fa),:lang(ur),:lang(he)),:is([dir="rtl"],:lang(ar),:lang(fa),:lang(ur),:lang(he)) :is(.owe-content,.owe-content-root) :is(h1,h2,h3,h4,h5,h6),:is(.owe-content,.owe-content-root):is([dir="rtl"],:lang(ar),:lang(fa),:lang(ur),:lang(he)) :is(h1,h2,h3,h4,h5,h6){letter-spacing:0}:is(.owe-content,.owe-content-root) h1{font-size:2.1em}:is(.owe-content,.owe-content-root) h2{font-size:1.5em}:is(.owe-content,.owe-content-root) h3{font-size:1.25em}:is(.owe-content,.owe-content-root) h4{font-size:1.1em}:is(.owe-content,.owe-content-root) h5{font-size:1em}:is(.owe-content,.owe-content-root) h6{font-size:0.9em}:is(.owe-content,.owe-content-root) a{color:var(--owe-accent);text-decoration:underline;text-underline-offset:0.15em}:is(.owe-content,.owe-content-root) :is(ul,ol){padding-inline-start:1.6em}:is(.owe-content,.owe-content-root) li>:is(p,ul,ol){margin-block:0.15em}:is(.owe-content,.owe-content-root) ul[data-type="taskList"]{list-style:none;padding-inline-start:0.25em}:is(.owe-content,.owe-content-root) li[data-type="taskItem"]{display:flex;align-items:flex-start;gap:0.5em}:is(.owe-content,.owe-content-root) li[data-type="taskItem"]>input,.owe-task-control>input{inline-size:1.1em;block-size:1.1em;margin-block-start:0.3em;accent-color:var(--owe-primary);flex:none}:is(.owe-content,.owe-content-root) li[data-type="taskItem"]>div{flex:1;min-inline-size:0}:is(.owe-content,.owe-content-root) li[data-checked="true"]>div{text-decoration:line-through;color:var(--owe-muted)}:is(.owe-content,.owe-content-root) blockquote{margin-inline:0;padding-inline-start:1em;border-inline-start:3px solid var(--owe-accent);border-start-start-radius:2px;border-end-start-radius:2px;color:var(--owe-text-2)}:is(.owe-content,.owe-content-root) code{font-family:var(--owe-font-mono);font-size:0.9em;background:var(--owe-code-bg);border:1px solid var(--owe-border-subtle);border-radius:6px;padding:0.1em 0.35em}:is(.owe-content,.owe-content-root) pre{font-family:var(--owe-font-mono);background:var(--owe-code-bg);border:1px solid var(--owe-border-subtle);border-radius:var(--owe-radius-md);padding:1em 1.25em;overflow-x:auto;direction:ltr;text-align:start;tab-size:2}:is(.owe-content,.owe-content-root) pre code{background:none;border:0;padding:0;font-size:0.9em}:is(.owe-content,.owe-content-root) hr{border:none;border-block-start:2px solid var(--owe-border-subtle);margin-block:1.5em}:is(.owe-content,.owe-content-root) img{max-inline-size:100%;block-size:auto;display:block}:is(.owe-content,.owe-content-root) figure{margin-inline:0}:is(.owe-content,.owe-content-root) figcaption{color:var(--owe-muted);font-size:0.9em;margin-block-start:0.4em}:is(.owe-content,.owe-content-root) table{border-collapse:collapse;inline-size:100%;table-layout:fixed}:is(.owe-content,.owe-content-root) caption{caption-side:top;text-align:start;font-weight:600;padding-block-end:0.4em}:is(.owe-content,.owe-content-root) :is(td,th){border:1px solid var(--owe-border-subtle);padding:0.55em 0.8em;vertical-align:top;text-align:start;min-inline-size:3em}:is(.owe-content,.owe-content-root) th{background:var(--owe-surface);color:var(--owe-text);font-weight:700}:is(.owe-content,.owe-content-root) :is(td,th)>:last-child{margin-block-end:0}:is(.owe-content,.owe-content-root) mark{background-color:var(--owe-mark);color:inherit;border-radius:0.2em;padding-inline:0.15em}.owe-align-center{text-align:center}.owe-align-end{text-align:end}.owe-align-justify{text-align:justify}}
2
+ /*! open-wysiwyg-editor | MIT License */ @layer owe{.owe,.owe-content-root{--owe-font:system-ui,-apple-system,"Segoe UI",Roboto,"Noto Sans Arabic","Noto Sans",Tahoma,sans-serif;--owe-font-mono:ui-monospace,"JetBrains Mono","SFMono-Regular",Menlo,Consolas,"Liberation Mono",monospace;--owe-font-size:1rem;--owe-line-height:1.65;--owe-radius:24px;--owe-radius-sm:10px;--owe-radius-md:12px;--owe-radius-lg:16px;--owe-space:8px;--owe-target:32px;--owe-btn-size:40px;--owe-pad-x:clamp(16px,4vw,32px);--owe-pad-y:28px;--owe-bg:#ffffff;--owe-chrome:#fafbfc;--owe-surface:#f4f6f8;--owe-surface-2:#f1f3f5;--owe-field-bg:#ffffff;--owe-text:#101112;--owe-body:#1b1f24;--owe-text-2:#3d434a;--owe-muted:#54595f;--owe-icon:#3a3f45;--owe-border:#8a929a;--owe-border-subtle:#e3e6ea;--owe-popup-border:#d5d9de;--owe-danger:#b3261e;--owe-warning:#8a5300;--owe-success:#146c2e;--owe-code-bg:#f4f6f8;--owe-mark:#fff2a8;--owe-shadow:0 16px 40px rgb(16 17 18 / 0.16),0 2px 8px rgb(16 17 18 / 0.08);--owe-backdrop:rgb(16 17 18 / 0.45);--owe-z-popover:1000;--owe-gradient:linear-gradient(90deg,var(--owe-brand,#0066ff),var(--owe-brand-2,#00b8ff));--owe-on-accent:var(--owe-on-brand,#ffffff);--owe-primary:var(--owe-brand,#0066ff);--owe-primary-hover:color-mix(in oklab,var(--owe-primary) 85%,black);--owe-accent:color-mix(in oklab,var(--owe-brand,#0066ff) 70%,black);--owe-accent-soft:color-mix(in oklab,var(--owe-brand,#0066ff) 18%,var(--owe-bg));--owe-focus:var(--owe-accent);--owe-caret:var(--owe-accent);--owe-selection:color-mix(in oklab,var(--owe-brand,#0066ff) 22%,transparent);color-scheme:light}@media (prefers-color-scheme:dark){.owe:not([data-theme="light"]),.owe-content-root:not([data-theme="light"]){--owe-bg:#17191b;--owe-chrome:#131517;--owe-surface:#1e2124;--owe-surface-2:#25282b;--owe-field-bg:#101214;--owe-text:#ffffff;--owe-body:#dcdedf;--owe-text-2:#c3c7cb;--owe-muted:#a1a7ad;--owe-icon:#d2d4d5;--owe-border:#6b7279;--owe-border-subtle:#25282b;--owe-popup-border:#33383d;--owe-accent:color-mix(in oklab,var(--owe-brand,#0066ff) 60%,white);--owe-danger:#f2b8b5;--owe-warning:#f6c66b;--owe-success:#8bd6a0;--owe-selection:color-mix(in oklab,var(--owe-brand,#0066ff) 45%,transparent);--owe-code-bg:#0f1112;--owe-mark:#6b4e00;--owe-shadow:0 16px 40px rgb(0 0 0 / 0.55),0 2px 8px rgb(0 0 0 / 0.4);--owe-backdrop:rgb(4 5 16 / 0.65);color-scheme:dark}}.owe[data-theme="dark"],.owe-content-root[data-theme="dark"]{--owe-bg:#17191b;--owe-chrome:#131517;--owe-surface:#1e2124;--owe-surface-2:#25282b;--owe-field-bg:#101214;--owe-text:#ffffff;--owe-body:#dcdedf;--owe-text-2:#c3c7cb;--owe-muted:#a1a7ad;--owe-icon:#d2d4d5;--owe-border:#6b7279;--owe-border-subtle:#25282b;--owe-popup-border:#33383d;--owe-accent:color-mix(in oklab,var(--owe-brand,#0066ff) 60%,white);--owe-danger:#f2b8b5;--owe-warning:#f6c66b;--owe-success:#8bd6a0;--owe-selection:color-mix(in oklab,var(--owe-brand,#0066ff) 45%,transparent);--owe-code-bg:#0f1112;--owe-mark:#6b4e00;--owe-shadow:0 16px 40px rgb(0 0 0 / 0.55),0 2px 8px rgb(0 0 0 / 0.4);--owe-backdrop:rgb(4 5 16 / 0.65);color-scheme:dark}@media (prefers-contrast:more){.owe{--owe-border:currentColor;--owe-border-subtle:var(--owe-border);--owe-popup-border:var(--owe-border);--owe-muted:var(--owe-text);--owe-text-2:var(--owe-text)}}}@layer owe{:is(.owe-content,.owe-content-root){font-family:var(--owe-font);font-size:var(--owe-font-size);line-height:var(--owe-line-height);color:var(--owe-body);overflow-wrap:break-word}:is(.owe-content,.owe-content-root)>:first-child{margin-block-start:0}:is(.owe-content,.owe-content-root) :is(p,ul,ol,blockquote,pre,table,figure,hr){margin-block:0 0.85em}:is(.owe-content,.owe-content-root) :is(h1,h2,h3,h4,h5,h6){line-height:1.2;margin-block:1.3em 0.5em;font-weight:700;letter-spacing:-0.02em;color:var(--owe-text)}:is(.owe-content,.owe-content-root) :is(h1,h2,h3,h4,h5,h6):is([dir="rtl"],:lang(ar),:lang(fa),:lang(ur),:lang(he)),:is([dir="rtl"],:lang(ar),:lang(fa),:lang(ur),:lang(he)) :is(.owe-content,.owe-content-root) :is(h1,h2,h3,h4,h5,h6),:is(.owe-content,.owe-content-root):is([dir="rtl"],:lang(ar),:lang(fa),:lang(ur),:lang(he)) :is(h1,h2,h3,h4,h5,h6){letter-spacing:0}:is(.owe-content,.owe-content-root) h1{font-size:2.1em}:is(.owe-content,.owe-content-root) h2{font-size:1.5em}:is(.owe-content,.owe-content-root) h3{font-size:1.25em}:is(.owe-content,.owe-content-root) h4{font-size:1.1em}:is(.owe-content,.owe-content-root) h5{font-size:1em}:is(.owe-content,.owe-content-root) h6{font-size:0.9em}:is(.owe-content,.owe-content-root) a{color:var(--owe-accent);text-decoration:underline;text-underline-offset:0.15em}:is(.owe-content,.owe-content-root) :is(ul,ol){padding-inline-start:1.6em}:is(.owe-content,.owe-content-root) li>:is(p,ul,ol){margin-block:0.15em}:is(.owe-content,.owe-content-root) ul[data-type="taskList"]{list-style:none;padding-inline-start:0.25em}:is(.owe-content,.owe-content-root) li[data-type="taskItem"]{display:flex;align-items:flex-start;gap:0.5em}:is(.owe-content,.owe-content-root) li[data-type="taskItem"]>input,.owe-task-control>input{inline-size:1.1em;block-size:1.1em;margin-block-start:0.3em;accent-color:var(--owe-primary);flex:none}:is(.owe-content,.owe-content-root) li[data-type="taskItem"]>div{flex:1;min-inline-size:0}:is(.owe-content,.owe-content-root) li[data-checked="true"]>div{text-decoration:line-through;color:var(--owe-muted)}:is(.owe-content,.owe-content-root) blockquote{margin-inline:0;padding-inline-start:1em;border-inline-start:3px solid var(--owe-accent);border-start-start-radius:2px;border-end-start-radius:2px;color:var(--owe-text-2)}:is(.owe-content,.owe-content-root) code{font-family:var(--owe-font-mono);font-size:0.9em;background:var(--owe-code-bg);border:1px solid var(--owe-border-subtle);border-radius:6px;padding:0.1em 0.35em}:is(.owe-content,.owe-content-root) pre{font-family:var(--owe-font-mono);background:var(--owe-code-bg);border:1px solid var(--owe-border-subtle);border-radius:var(--owe-radius-md);padding:1em 1.25em;overflow-x:auto;direction:ltr;text-align:start;tab-size:2}:is(.owe-content,.owe-content-root) pre code{background:none;border:0;padding:0;font-size:0.9em}:is(.owe-content,.owe-content-root) hr{border:none;border-block-start:2px solid var(--owe-border-subtle);margin-block:1.5em}:is(.owe-content,.owe-content-root) img{max-inline-size:100%;block-size:auto;display:block}:is(.owe-content,.owe-content-root) figure{margin-inline:0}:is(.owe-content,.owe-content-root) figcaption{color:var(--owe-muted);font-size:0.9em;margin-block-start:0.4em}:is(.owe-content,.owe-content-root) table{border-collapse:collapse;inline-size:100%;table-layout:fixed}:is(.owe-content,.owe-content-root) caption{caption-side:top;text-align:start;font-weight:600;padding-block-end:0.4em}:is(.owe-content,.owe-content-root) :is(td,th){border:1px solid var(--owe-border-subtle);padding:0.55em 0.8em;vertical-align:top;text-align:start;min-inline-size:3em}:is(.owe-content,.owe-content-root) th{background:var(--owe-surface);color:var(--owe-text);font-weight:700}:is(.owe-content,.owe-content-root) :is(td,th)>:last-child{margin-block-end:0}:is(.owe-content,.owe-content-root) mark{background-color:var(--owe-mark);color:inherit;border-radius:0.2em;padding-inline:0.15em}.owe-align-center{text-align:center}.owe-align-end{text-align:end}.owe-align-justify{text-align:justify}}
package/dist/style.css CHANGED
@@ -1,21 +1,42 @@
1
1
  /*! open-wysiwyg-editor | MIT License */
2
2
  /*
3
3
  * Design tokens. Everything lives in the `owe` cascade layer, so any unlayered host CSS wins
4
- * without !important. Override tokens on .owe (or :root) to theme the editor.
4
+ * without !important. Override tokens on .owe to theme the editor.
5
5
  * Contrast: text >= 4.5:1, borders/focus/states >= 3:1 against --owe-bg (WCAG 1.4.3 / 1.4.11).
6
6
  *
7
- * Tokens added in 1.0 (existing names keep working):
7
+ * One-color branding. Set --owe-brand (on .owe, a wrapper or :root) and the whole UI follows, in
8
+ * light and dark: every brand-dependent token below is derived from it with color-mix().
9
+ * --owe-brand brand color (default #0066ff) --owe-brand-2 2nd stop of --owe-gradient (#00b8ff)
10
+ * --owe-on-brand text/icons on brand fills (#fff) Pick a dark --owe-on-brand for light brands.
11
+ * --owe-primary solid fill = brand --owe-primary-hover primary mixed 15% toward black
12
+ * --owe-accent brand-tinted TEXT/link/focus color: brand mixed 30% toward black (light) or
13
+ * 40% toward white (dark). Pale brands may need an explicit --owe-accent (4.5:1).
14
+ * --owe-accent-soft brand 18% over --owe-bg --owe-selection brand at 22% (light) / 45% (dark)
15
+ * --owe-focus, --owe-caret follow --owe-accent --owe-gradient brand -> brand-2 (bottom edge)
16
+ * Overriding any of these directly still wins over the derivation.
17
+ *
18
+ * Button and surface tokens (no default is declared; the rules fall back to the value in brackets,
19
+ * so they can be set on .owe or on any ancestor):
20
+ * --owe-btn-color (--owe-icon) --owe-btn-bg (transparent) --owe-btn-radius (--owe-radius-sm)
21
+ * --owe-btn-hover-color (--owe-text) --owe-btn-hover-bg (--owe-surface-2)
22
+ * --owe-btn-active-color (--owe-on-accent) --owe-btn-active-bg (--owe-primary) pressed / toggled buttons
23
+ * --owe-btn-active-hover-bg (active-bg mixed 15% toward black)
24
+ * --owe-btn-primary-bg (--owe-primary) --owe-btn-primary-color (--owe-on-accent)
25
+ * --owe-btn-primary-hover-bg (--owe-primary-hover) dialog primary buttons
26
+ * --owe-toolbar-bg (--owe-chrome) --owe-toolbar-border (--owe-border-subtle) toolbar, find bar, status bar
27
+ * --owe-editor-border (--owe-border-subtle) --owe-editor-radius (--owe-radius) the card
28
+ *
29
+ * Other tokens (these are declared below, so set them on .owe):
8
30
  * --owe-radius card radius (24px) --owe-radius-sm inner controls (10px)
9
31
  * --owe-radius-md menus (12px) --owe-radius-lg dialogs (16px)
10
32
  * --owe-btn-size toolbar button (40px) --owe-pad-x/-y editing-area padding
11
33
  * --owe-chrome toolbar / status bar surface
12
34
  * --owe-field-bg inputs and source view --owe-popup-border menu / dialog edge
13
35
  * --owe-body paragraph text --owe-text-2 secondary text (quotes)
14
- * --owe-icon toolbar icon color --owe-caret caret color
15
- * --owe-primary(-hover) solid fills: pressed buttons, primary buttons (white text, 4.8:1)
16
- * --owe-gradient bottom edge of the card --owe-backdrop dialog backdrop
17
- * --owe-accent is the TEXT/link/focus blue; --owe-primary is the FILL blue.
36
+ * --owe-icon toolbar icon color --owe-backdrop dialog backdrop
18
37
  * Set --owe-font (e.g. "Almarai", system-ui) to change the typeface; no web fonts are bundled.
38
+ * The JS options `ui.brand` and `ui.tokens` and the <owe-editor brand> attribute set these
39
+ * properties on the editor root, so they win over this file without any CSS.
19
40
  */
20
41
  @layer owe {
21
42
  .owe,
@@ -33,7 +54,6 @@
33
54
  --owe-btn-size: 40px;
34
55
  --owe-pad-x: clamp(16px, 4vw, 32px);
35
56
  --owe-pad-y: 28px;
36
- --owe-gradient: linear-gradient(90deg, #0066ff, #9644ff, #af47c0);
37
57
 
38
58
  --owe-bg: #ffffff;
39
59
  --owe-chrome: #fafbfc;
@@ -48,26 +68,32 @@
48
68
  --owe-border: #8a929a; /* 3.2:1 on white */
49
69
  --owe-border-subtle: #e3e6ea;
50
70
  --owe-popup-border: #d5d9de;
51
- --owe-accent: #0057d9; /* 6.2:1 on white */
52
- --owe-on-accent: #ffffff;
53
- --owe-primary: #0066ff;
54
- --owe-primary-hover: #0057d9;
55
- --owe-accent-soft: #d3e3fd;
56
- --owe-focus: #0066ff;
57
- --owe-caret: #0066ff;
58
71
  --owe-danger: #b3261e;
59
72
  --owe-warning: #8a5300;
60
73
  --owe-success: #146c2e;
61
- --owe-selection: rgb(0 102 255 / 0.22);
62
74
  --owe-code-bg: #f4f6f8;
63
75
  --owe-mark: #fff2a8;
64
76
  --owe-shadow: 0 16px 40px rgb(16 17 18 / 0.16), 0 2px 8px rgb(16 17 18 / 0.08);
65
77
  --owe-backdrop: rgb(16 17 18 / 0.45);
66
78
  --owe-z-popover: 1000;
67
79
 
80
+ /* Brand-derived. --owe-brand / -brand-2 / -on-brand have no declaration here, so they can be set
81
+ on any ancestor; the fallbacks are the defaults. */
82
+ --owe-gradient: linear-gradient(90deg, var(--owe-brand, #0066ff), var(--owe-brand-2, #00b8ff));
83
+ --owe-on-accent: var(--owe-on-brand, #ffffff);
84
+ --owe-primary: var(--owe-brand, #0066ff); /* white on #0066ff: 4.8:1 */
85
+ --owe-primary-hover: color-mix(in oklab, var(--owe-primary) 85%, black);
86
+ --owe-accent: color-mix(in oklab, var(--owe-brand, #0066ff) 70%, black); /* 9.8:1 on white for #0066ff */
87
+ --owe-accent-soft: color-mix(in oklab, var(--owe-brand, #0066ff) 18%, var(--owe-bg));
88
+ --owe-focus: var(--owe-accent);
89
+ --owe-caret: var(--owe-accent);
90
+ --owe-selection: color-mix(in oklab, var(--owe-brand, #0066ff) 22%, transparent);
91
+
68
92
  color-scheme: light;
69
93
  }
70
94
 
95
+ /* Dark values are listed twice (OS preference, then an explicit data-theme="dark"). Brand-derived
96
+ tokens that read --owe-bg or --owe-accent (accent-soft, focus, caret, hover) follow on their own. */
71
97
  @media (prefers-color-scheme: dark) {
72
98
  .owe:not([data-theme="light"]),
73
99
  .owe-content-root:not([data-theme="light"]) {
@@ -84,19 +110,13 @@
84
110
  --owe-border: #6b7279;
85
111
  --owe-border-subtle: #25282b;
86
112
  --owe-popup-border: #33383d;
87
- --owe-accent: #4d94ff;
88
- --owe-on-accent: #ffffff;
89
- --owe-primary: #0066ff;
90
- --owe-primary-hover: #0057d9;
91
- --owe-accent-soft: #14315e;
92
- --owe-focus: #4d94ff;
93
- --owe-caret: #5b9dff;
113
+ --owe-accent: color-mix(in oklab, var(--owe-brand, #0066ff) 60%, white); /* 7.5:1 on the dark card */
94
114
  --owe-danger: #f2b8b5;
95
115
  --owe-warning: #f6c66b;
96
116
  --owe-success: #8bd6a0;
97
- --owe-selection: rgb(0 102 255 / 0.55);
117
+ --owe-selection: color-mix(in oklab, var(--owe-brand, #0066ff) 45%, transparent);
98
118
  --owe-code-bg: #0f1112;
99
- --owe-mark: #4a35b8;
119
+ --owe-mark: #6b4e00; /* deep amber: body text stays 5.7:1 */
100
120
  --owe-shadow: 0 16px 40px rgb(0 0 0 / 0.55), 0 2px 8px rgb(0 0 0 / 0.4);
101
121
  --owe-backdrop: rgb(4 5 16 / 0.65);
102
122
  color-scheme: dark;
@@ -118,19 +138,13 @@
118
138
  --owe-border: #6b7279;
119
139
  --owe-border-subtle: #25282b;
120
140
  --owe-popup-border: #33383d;
121
- --owe-accent: #4d94ff;
122
- --owe-on-accent: #ffffff;
123
- --owe-primary: #0066ff;
124
- --owe-primary-hover: #0057d9;
125
- --owe-accent-soft: #14315e;
126
- --owe-focus: #4d94ff;
127
- --owe-caret: #5b9dff;
141
+ --owe-accent: color-mix(in oklab, var(--owe-brand, #0066ff) 60%, white);
128
142
  --owe-danger: #f2b8b5;
129
143
  --owe-warning: #f6c66b;
130
144
  --owe-success: #8bd6a0;
131
- --owe-selection: rgb(0 102 255 / 0.55);
145
+ --owe-selection: color-mix(in oklab, var(--owe-brand, #0066ff) 45%, transparent);
132
146
  --owe-code-bg: #0f1112;
133
- --owe-mark: #4a35b8;
147
+ --owe-mark: #6b4e00;
134
148
  --owe-shadow: 0 16px 40px rgb(0 0 0 / 0.55), 0 2px 8px rgb(0 0 0 / 0.4);
135
149
  --owe-backdrop: rgb(4 5 16 / 0.65);
136
150
  color-scheme: dark;
@@ -158,13 +172,13 @@
158
172
  flex-direction: column;
159
173
  background: var(--owe-bg);
160
174
  color: var(--owe-text);
161
- border: 1px solid var(--owe-border-subtle);
162
- border-radius: var(--owe-radius);
175
+ border: 1px solid var(--owe-editor-border, var(--owe-border-subtle));
176
+ border-radius: var(--owe-editor-radius, var(--owe-radius));
163
177
  font-family: var(--owe-font);
164
178
  min-inline-size: 0;
165
179
  }
166
180
  .owe:focus-within {
167
- border-color: color-mix(in srgb, var(--owe-focus) 45%, var(--owe-border-subtle));
181
+ border-color: color-mix(in srgb, var(--owe-focus) 45%, var(--owe-editor-border, var(--owe-border-subtle)));
168
182
  }
169
183
  /* 2px gradient edge along the bottom, following the card's curve; brighter while editing.
170
184
  Popups are positioned children, so nothing here clips them. */
@@ -380,10 +394,10 @@
380
394
  @layer owe {
381
395
  /* ---- toolbar ------------------------------------------------------------------------------ */
382
396
  .owe-toolbar-wrap {
383
- border-block-end: 1px solid var(--owe-border-subtle);
384
- background: var(--owe-chrome);
385
- border-start-start-radius: calc(var(--owe-radius) - 1px);
386
- border-start-end-radius: calc(var(--owe-radius) - 1px);
397
+ border-block-end: 1px solid var(--owe-toolbar-border, var(--owe-border-subtle));
398
+ background: var(--owe-toolbar-bg, var(--owe-chrome));
399
+ border-start-start-radius: calc(var(--owe-editor-radius, var(--owe-radius)) - 1px);
400
+ border-start-end-radius: calc(var(--owe-editor-radius, var(--owe-radius)) - 1px);
387
401
  }
388
402
  .owe-toolbar-wrap.owe-sticky {
389
403
  position: sticky;
@@ -401,7 +415,7 @@
401
415
  inline-size: 1px;
402
416
  block-size: 24px;
403
417
  margin-inline: 6px;
404
- background: var(--owe-border-subtle);
418
+ background: var(--owe-toolbar-border, var(--owe-border-subtle));
405
419
  }
406
420
 
407
421
  /* ---- buttons ------------------------------------------------------------------------------ */
@@ -414,9 +428,9 @@
414
428
  min-block-size: var(--owe-btn-size);
415
429
  padding: 0 8px;
416
430
  border: 1px solid transparent;
417
- border-radius: var(--owe-radius-sm);
418
- background: transparent;
419
- color: var(--owe-icon);
431
+ border-radius: var(--owe-btn-radius, var(--owe-radius-sm));
432
+ background: var(--owe-btn-bg, transparent);
433
+ color: var(--owe-btn-color, var(--owe-icon));
420
434
  font: inherit;
421
435
  font-size: 0.875rem;
422
436
  line-height: 1;
@@ -424,8 +438,8 @@
424
438
  transition: background-color 0.12s, color 0.12s;
425
439
  }
426
440
  .owe-btn:hover {
427
- background: var(--owe-surface-2);
428
- color: var(--owe-text);
441
+ background: var(--owe-btn-hover-bg, var(--owe-surface-2));
442
+ color: var(--owe-btn-hover-color, var(--owe-text));
429
443
  }
430
444
  .owe-btn:focus-visible,
431
445
  .owe-button:focus-visible,
@@ -441,22 +455,22 @@
441
455
  .owe-btn[aria-checked="true"],
442
456
  .owe-btn[aria-expanded="true"],
443
457
  .owe-btn.is-active {
444
- background: var(--owe-primary);
445
- color: var(--owe-on-accent);
458
+ background: var(--owe-btn-active-bg, var(--owe-primary));
459
+ color: var(--owe-btn-active-color, var(--owe-on-accent));
446
460
  }
447
461
  .owe-btn[aria-pressed="true"]:hover,
448
462
  .owe-btn[aria-checked="true"]:hover,
449
463
  .owe-btn[aria-expanded="true"]:hover,
450
464
  .owe-btn.is-active:hover {
451
- background: var(--owe-primary-hover);
452
- color: var(--owe-on-accent);
465
+ background: var(--owe-btn-active-hover-bg, color-mix(in oklab, var(--owe-btn-active-bg, var(--owe-primary)) 85%, black));
466
+ color: var(--owe-btn-active-color, var(--owe-on-accent));
453
467
  }
454
468
  .owe-btn[aria-disabled="true"] {
455
469
  opacity: 0.45;
456
470
  cursor: not-allowed;
457
471
  }
458
472
  .owe-btn[aria-disabled="true"]:hover {
459
- background: transparent;
473
+ background: var(--owe-btn-bg, transparent);
460
474
  }
461
475
  .owe-btn-wide {
462
476
  min-inline-size: 9.5em;
@@ -488,7 +502,7 @@
488
502
  min-block-size: 38px;
489
503
  padding: 0 16px;
490
504
  border: 1px solid var(--owe-popup-border);
491
- border-radius: var(--owe-radius-sm);
505
+ border-radius: var(--owe-btn-radius, var(--owe-radius-sm));
492
506
  background: var(--owe-surface-2);
493
507
  color: var(--owe-text);
494
508
  font: inherit;
@@ -501,13 +515,13 @@
501
515
  background: var(--owe-border-subtle);
502
516
  }
503
517
  .owe-button-primary {
504
- background: var(--owe-primary);
505
- border-color: var(--owe-primary);
506
- color: var(--owe-on-accent);
518
+ background: var(--owe-btn-primary-bg, var(--owe-primary));
519
+ border-color: var(--owe-btn-primary-bg, var(--owe-primary));
520
+ color: var(--owe-btn-primary-color, var(--owe-on-accent));
507
521
  }
508
522
  .owe-button-primary:hover {
509
- background: var(--owe-primary-hover);
510
- border-color: var(--owe-primary-hover);
523
+ background: var(--owe-btn-primary-hover-bg, var(--owe-primary-hover));
524
+ border-color: var(--owe-btn-primary-hover-bg, var(--owe-primary-hover));
511
525
  }
512
526
  .owe-button-danger {
513
527
  color: var(--owe-danger);
@@ -541,7 +555,7 @@
541
555
  min-block-size: var(--owe-target);
542
556
  padding-block: 4px;
543
557
  padding-inline: 8px 12px;
544
- border-radius: 8px;
558
+ border-radius: var(--owe-btn-radius, 8px);
545
559
  cursor: pointer;
546
560
  outline-offset: -2px;
547
561
  }
@@ -552,7 +566,7 @@
552
566
  }
553
567
  .owe-menu-item:focus,
554
568
  .owe-menu-item:hover {
555
- background: var(--owe-surface-2);
569
+ background: var(--owe-btn-hover-bg, var(--owe-surface-2));
556
570
  }
557
571
  .owe-menu-item[aria-disabled="true"] {
558
572
  opacity: 0.45;
@@ -591,6 +605,12 @@
591
605
 
592
606
  /* ---- dialogs ------------------------------------------------------------------------------- */
593
607
  .owe-dialog {
608
+ /* Centered explicitly: CSS resets (Tailwind preflight, normalize) set margin: 0 on every element,
609
+ which removes the browser's margin: auto centering of a modal <dialog>. */
610
+ position: fixed;
611
+ inset: 50% auto auto 50%;
612
+ translate: -50% -50%;
613
+ margin: 0;
594
614
  inline-size: min(440px, calc(100vw - 32px));
595
615
  max-block-size: calc(100vh - 32px);
596
616
  padding: 0;
@@ -750,8 +770,8 @@
750
770
  flex-direction: column;
751
771
  gap: 6px;
752
772
  padding: 12px var(--owe-pad-x);
753
- border-block-end: 1px solid var(--owe-border-subtle);
754
- background: var(--owe-chrome);
773
+ border-block-end: 1px solid var(--owe-toolbar-border, var(--owe-border-subtle));
774
+ background: var(--owe-toolbar-bg, var(--owe-chrome));
755
775
  font-size: 0.875rem;
756
776
  }
757
777
  .owe-findbar[hidden] {
@@ -806,10 +826,10 @@
806
826
  justify-content: space-between;
807
827
  gap: 4px 16px;
808
828
  padding: 10px var(--owe-pad-x) 12px;
809
- border-block-start: 1px solid var(--owe-border-subtle);
810
- background: var(--owe-chrome);
811
- border-end-start-radius: calc(var(--owe-radius) - 1px);
812
- border-end-end-radius: calc(var(--owe-radius) - 1px);
829
+ border-block-start: 1px solid var(--owe-toolbar-border, var(--owe-border-subtle));
830
+ background: var(--owe-toolbar-bg, var(--owe-chrome));
831
+ border-end-start-radius: calc(var(--owe-editor-radius, var(--owe-radius)) - 1px);
832
+ border-end-end-radius: calc(var(--owe-editor-radius, var(--owe-radius)) - 1px);
813
833
  color: var(--owe-muted);
814
834
  font-family: var(--owe-font-mono);
815
835
  font-size: 0.8125rem;
@@ -836,15 +856,15 @@
836
856
  min-block-size: 24px;
837
857
  padding: 2px 6px;
838
858
  border: 0;
839
- border-radius: 6px;
859
+ border-radius: var(--owe-btn-radius, 6px);
840
860
  background: transparent;
841
861
  color: inherit;
842
862
  font: inherit;
843
863
  cursor: pointer;
844
864
  }
845
865
  .owe-path-item:hover {
846
- background: var(--owe-surface-2);
847
- color: var(--owe-text);
866
+ background: var(--owe-btn-hover-bg, var(--owe-surface-2));
867
+ color: var(--owe-btn-hover-color, var(--owe-text));
848
868
  }
849
869
  .owe-path-item[aria-current] {
850
870
  color: var(--owe-accent);
@@ -1,2 +1,2 @@
1
1
  /*! open-wysiwyg-editor | MIT License */
2
- /*! open-wysiwyg-editor | MIT License */ @layer owe{.owe,.owe-content-root{--owe-font:system-ui,-apple-system,"Segoe UI",Roboto,"Noto Sans Arabic","Noto Sans",Tahoma,sans-serif;--owe-font-mono:ui-monospace,"JetBrains Mono","SFMono-Regular",Menlo,Consolas,"Liberation Mono",monospace;--owe-font-size:1rem;--owe-line-height:1.65;--owe-radius:24px;--owe-radius-sm:10px;--owe-radius-md:12px;--owe-radius-lg:16px;--owe-space:8px;--owe-target:32px;--owe-btn-size:40px;--owe-pad-x:clamp(16px,4vw,32px);--owe-pad-y:28px;--owe-gradient:linear-gradient(90deg,#0066ff,#9644ff,#af47c0);--owe-bg:#ffffff;--owe-chrome:#fafbfc;--owe-surface:#f4f6f8;--owe-surface-2:#f1f3f5;--owe-field-bg:#ffffff;--owe-text:#101112;--owe-body:#1b1f24;--owe-text-2:#3d434a;--owe-muted:#54595f;--owe-icon:#3a3f45;--owe-border:#8a929a;--owe-border-subtle:#e3e6ea;--owe-popup-border:#d5d9de;--owe-accent:#0057d9;--owe-on-accent:#ffffff;--owe-primary:#0066ff;--owe-primary-hover:#0057d9;--owe-accent-soft:#d3e3fd;--owe-focus:#0066ff;--owe-caret:#0066ff;--owe-danger:#b3261e;--owe-warning:#8a5300;--owe-success:#146c2e;--owe-selection:rgb(0 102 255 / 0.22);--owe-code-bg:#f4f6f8;--owe-mark:#fff2a8;--owe-shadow:0 16px 40px rgb(16 17 18 / 0.16),0 2px 8px rgb(16 17 18 / 0.08);--owe-backdrop:rgb(16 17 18 / 0.45);--owe-z-popover:1000;color-scheme:light}@media (prefers-color-scheme:dark){.owe:not([data-theme="light"]),.owe-content-root:not([data-theme="light"]){--owe-bg:#17191b;--owe-chrome:#131517;--owe-surface:#1e2124;--owe-surface-2:#25282b;--owe-field-bg:#101214;--owe-text:#ffffff;--owe-body:#dcdedf;--owe-text-2:#c3c7cb;--owe-muted:#a1a7ad;--owe-icon:#d2d4d5;--owe-border:#6b7279;--owe-border-subtle:#25282b;--owe-popup-border:#33383d;--owe-accent:#4d94ff;--owe-on-accent:#ffffff;--owe-primary:#0066ff;--owe-primary-hover:#0057d9;--owe-accent-soft:#14315e;--owe-focus:#4d94ff;--owe-caret:#5b9dff;--owe-danger:#f2b8b5;--owe-warning:#f6c66b;--owe-success:#8bd6a0;--owe-selection:rgb(0 102 255 / 0.55);--owe-code-bg:#0f1112;--owe-mark:#4a35b8;--owe-shadow:0 16px 40px rgb(0 0 0 / 0.55),0 2px 8px rgb(0 0 0 / 0.4);--owe-backdrop:rgb(4 5 16 / 0.65);color-scheme:dark}}.owe[data-theme="dark"],.owe-content-root[data-theme="dark"]{--owe-bg:#17191b;--owe-chrome:#131517;--owe-surface:#1e2124;--owe-surface-2:#25282b;--owe-field-bg:#101214;--owe-text:#ffffff;--owe-body:#dcdedf;--owe-text-2:#c3c7cb;--owe-muted:#a1a7ad;--owe-icon:#d2d4d5;--owe-border:#6b7279;--owe-border-subtle:#25282b;--owe-popup-border:#33383d;--owe-accent:#4d94ff;--owe-on-accent:#ffffff;--owe-primary:#0066ff;--owe-primary-hover:#0057d9;--owe-accent-soft:#14315e;--owe-focus:#4d94ff;--owe-caret:#5b9dff;--owe-danger:#f2b8b5;--owe-warning:#f6c66b;--owe-success:#8bd6a0;--owe-selection:rgb(0 102 255 / 0.55);--owe-code-bg:#0f1112;--owe-mark:#4a35b8;--owe-shadow:0 16px 40px rgb(0 0 0 / 0.55),0 2px 8px rgb(0 0 0 / 0.4);--owe-backdrop:rgb(4 5 16 / 0.65);color-scheme:dark}@media (prefers-contrast:more){.owe{--owe-border:currentColor;--owe-border-subtle:var(--owe-border);--owe-popup-border:var(--owe-border);--owe-muted:var(--owe-text);--owe-text-2:var(--owe-text)}}}@layer owe{owe-editor{display:block}.owe{position:relative;display:flex;flex-direction:column;background:var(--owe-bg);color:var(--owe-text);border:1px solid var(--owe-border-subtle);border-radius:var(--owe-radius);font-family:var(--owe-font);min-inline-size:0}.owe:focus-within{border-color:color-mix(in srgb,var(--owe-focus) 45%,var(--owe-border-subtle))}.owe::after{content:"";position:absolute;inset:-1px;padding-block-end:2px;border-radius:inherit;background:var(--owe-gradient);-webkit-mask:linear-gradient(#000 0 0) content-box exclude,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask:linear-gradient(#000 0 0) content-box exclude,linear-gradient(#000 0 0);mask-composite:exclude;opacity:0.55;pointer-events:none;transition:opacity 0.2s}.owe:focus-within::after{opacity:1}.owe-body{position:relative;flex:1;min-block-size:0}.owe-content{position:relative;min-block-size:8em;padding:var(--owe-pad-y) var(--owe-pad-x);outline:none;word-wrap:break-word;white-space:pre-wrap;white-space:break-spaces;font-variant-ligatures:none;font-feature-settings:"liga" 0;caret-color:var(--owe-caret);scroll-padding-block:4em}.owe-content:focus-visible{outline:none}.owe-content ::selection{background:var(--owe-selection);color:inherit}.owe[data-theme="dark"] .owe-content ::selection{color:#fff}@media (prefers-color-scheme:dark){.owe:not([data-theme="light"]) .owe-content ::selection{color:#fff}}.owe-content pre{white-space:pre-wrap}.owe-content li{position:relative}.ProseMirror-hideselection *::selection{background:transparent}.ProseMirror-hideselection{caret-color:transparent}.owe-content [draggable][contenteditable="false"]{user-select:text}.owe-content .ProseMirror-selectednode{outline:3px solid var(--owe-focus);outline-offset:2px}.owe-content li.ProseMirror-selectednode{outline:none}.owe-content li.ProseMirror-selectednode::after{content:"";position:absolute;inset-block:-2px;inset-inline:-32px -2px;border:2px solid var(--owe-focus);pointer-events:none}.owe-content img.ProseMirror-separator{display:inline !important;border:none !important;margin:0 !important}.owe-content .owe-placeholder::before{content:attr(data-placeholder);color:var(--owe-muted);pointer-events:none;position:absolute;inset-inline-start:var(--owe-pad-x)}.ProseMirror-gapcursor{display:none;pointer-events:none;position:absolute}.ProseMirror-gapcursor::after{content:"";display:block;position:absolute;top:-2px;inline-size:20px;border-block-start:2px solid var(--owe-text);animation:owe-blink 1.1s steps(2,start) infinite}.ProseMirror-focused .ProseMirror-gapcursor{display:block}@keyframes owe-blink{to{visibility:hidden}}.owe-dropcursor{background:var(--owe-accent)}.owe-task-control{display:inline-flex;user-select:none}.owe-content .tableWrapper{overflow-x:auto;margin-block-end:0.85em}.owe-content table{margin-block-end:0}.owe-content :is(td,th){position:relative}.owe-content .selectedCell::after{content:"";position:absolute;inset:0;background:var(--owe-selection);opacity:0.5;pointer-events:none}.owe-content .column-resize-handle{position:absolute;inset-inline-end:-2px;inset-block:0;inline-size:4px;background:var(--owe-accent);pointer-events:none}.owe-content.resize-cursor{cursor:col-resize}.owe-sr-only{position:absolute !important;inline-size:1px !important;block-size:1px !important;padding:0 !important;margin:-1px !important;overflow:hidden !important;clip-path:inset(50%) !important;white-space:nowrap !important;border:0 !important}@media (prefers-reduced-motion:reduce){.owe *,.owe *::before,.owe *::after{animation-duration:0.01ms !important;animation-iteration-count:1 !important;transition-duration:0.01ms !important;scroll-behavior:auto !important}}@media (forced-colors:active){.owe{border-color:CanvasText}.owe::after{display:none}.owe:focus-within{outline:2px solid Highlight}.owe-content .ProseMirror-selectednode{outline-color:Highlight}.owe-content .selectedCell::after{background:Highlight;forced-color-adjust:none}.owe-content .owe-placeholder::before{color:GrayText}}}@layer owe{.owe-toolbar-wrap{border-block-end:1px solid var(--owe-border-subtle);background:var(--owe-chrome);border-start-start-radius:calc(var(--owe-radius) - 1px);border-start-end-radius:calc(var(--owe-radius) - 1px)}.owe-toolbar-wrap.owe-sticky{position:sticky;inset-block-start:0;z-index:2}.owe-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:4px;padding:12px var(--owe-pad-x)}.owe-separator{inline-size:1px;block-size:24px;margin-inline:6px;background:var(--owe-border-subtle)}.owe-btn{display:inline-flex;align-items:center;justify-content:center;gap:4px;min-inline-size:var(--owe-btn-size);min-block-size:var(--owe-btn-size);padding:0 8px;border:1px solid transparent;border-radius:var(--owe-radius-sm);background:transparent;color:var(--owe-icon);font:inherit;font-size:0.875rem;line-height:1;cursor:pointer;transition:background-color 0.12s,color 0.12s}.owe-btn:hover{background:var(--owe-surface-2);color:var(--owe-text)}.owe-btn:focus-visible,.owe-button:focus-visible,.owe-menu-item:focus-visible,.owe-path-item:focus-visible,.owe-input:focus-visible,.owe-dialog :is(input,textarea,select):focus-visible{outline:2px solid var(--owe-focus);outline-offset:2px}.owe-btn[aria-pressed="true"],.owe-btn[aria-checked="true"],.owe-btn[aria-expanded="true"],.owe-btn.is-active{background:var(--owe-primary);color:var(--owe-on-accent)}.owe-btn[aria-pressed="true"]:hover,.owe-btn[aria-checked="true"]:hover,.owe-btn[aria-expanded="true"]:hover,.owe-btn.is-active:hover{background:var(--owe-primary-hover);color:var(--owe-on-accent)}.owe-btn[aria-disabled="true"]{opacity:0.45;cursor:not-allowed}.owe-btn[aria-disabled="true"]:hover{background:transparent}.owe-btn-wide{min-inline-size:9.5em;justify-content:space-between}.owe-btn-text{white-space:nowrap}.owe-icon{inline-size:20px;block-size:20px;flex:none;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.owe-btn>.owe-icon + .owe-icon{inline-size:14px;block-size:14px;opacity:0.8}[dir="rtl"] .owe-flip{transform:scaleX(-1)}.owe-button{min-block-size:38px;padding:0 16px;border:1px solid var(--owe-popup-border);border-radius:var(--owe-radius-sm);background:var(--owe-surface-2);color:var(--owe-text);font:inherit;font-size:0.875rem;font-weight:600;cursor:pointer;transition:background-color 0.12s}.owe-button:hover{background:var(--owe-border-subtle)}.owe-button-primary{background:var(--owe-primary);border-color:var(--owe-primary);color:var(--owe-on-accent)}.owe-button-primary:hover{background:var(--owe-primary-hover);border-color:var(--owe-primary-hover)}.owe-button-danger{color:var(--owe-danger);border-color:var(--owe-danger);margin-inline-end:auto}.owe-button[aria-disabled="true"]{opacity:0.45;cursor:not-allowed}.owe-menu{z-index:var(--owe-z-popover);min-inline-size:200px;max-block-size:min(70vh,480px);overflow-y:auto;padding:6px;background:var(--owe-surface);color:var(--owe-text);border:1px solid var(--owe-popup-border);border-radius:var(--owe-radius-md);box-shadow:var(--owe-shadow);font-family:var(--owe-font);font-size:0.875rem}.owe-menu-item{display:flex;align-items:center;gap:8px;min-block-size:var(--owe-target);padding-block:4px;padding-inline:8px 12px;border-radius:8px;cursor:pointer;outline-offset:-2px}.owe-menu-item[aria-checked="true"],.owe-menu-item[aria-current="true"]{color:var(--owe-accent);font-weight:600}.owe-menu-item:focus,.owe-menu-item:hover{background:var(--owe-surface-2)}.owe-menu-item[aria-disabled="true"]{opacity:0.45;cursor:not-allowed}.owe-menu-check{display:inline-flex;inline-size:18px}.owe-menu-label{flex:1}.owe-menu-shortcut{color:var(--owe-muted);font-size:0.8em;direction:ltr}.owe-menu-separator{block-size:1px;margin:4px 0;background:var(--owe-border-subtle)}.owe-tooltip{z-index:calc(var(--owe-z-popover) + 1);max-inline-size:260px;padding:4px 8px;border-radius:8px;background:var(--owe-text);color:var(--owe-bg);font-family:var(--owe-font);font-size:0.8125rem;line-height:1.4}.owe-dialog{inline-size:min(440px,calc(100vw - 32px));max-block-size:calc(100vh - 32px);padding:0;border:1px solid var(--owe-popup-border);border-radius:var(--owe-radius-lg);background:var(--owe-surface);color:var(--owe-text);box-shadow:var(--owe-shadow);font-family:var(--owe-font)}.owe-dialog-wide{inline-size:min(640px,calc(100vw - 32px))}.owe-dialog::backdrop{background:var(--owe-backdrop,rgb(0 0 0 / 0.45))}.owe-dialog-form{display:flex;flex-direction:column;max-block-size:calc(100vh - 34px)}.owe-dialog-header{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:18px 16px 6px 24px;padding-inline:24px 16px}.owe-dialog-title{margin:0;font-size:1.1875rem;font-weight:700;letter-spacing:-0.01em}.owe-dialog:lang(ar) .owe-dialog-title,.owe-dialog[dir="rtl"] .owe-dialog-title{letter-spacing:0}.owe-dialog-body{padding:10px 24px;overflow-y:auto}.owe-dialog-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px;padding:14px 24px 20px;border-block-start:1px solid var(--owe-border-subtle)}.owe-field{display:flex;flex-direction:column;gap:4px;margin-block-end:14px}.owe-field-row{display:flex;gap:12px}.owe-field-row>.owe-field{flex:1}.owe-field-check{flex-direction:row;flex-wrap:wrap;align-items:center;gap:8px}.owe-field-check>input{inline-size:18px;block-size:18px;margin:0;accent-color:var(--owe-accent)}.owe-label{font-size:0.875rem;font-weight:600}.owe-required{font-weight:400;color:var(--owe-muted)}.owe-dialog :is(input[type="text"],input[type="number"],input:not([type]),textarea,select),.owe-input{min-block-size:40px;padding:6px 12px;border:1px solid var(--owe-border);border-radius:var(--owe-radius-sm);background:var(--owe-field-bg);color:var(--owe-text);font:inherit;font-size:0.9375rem}.owe-dialog :is(input,textarea,select):focus-visible,.owe-input:focus-visible{border-color:var(--owe-focus)}.owe-dialog textarea{resize:vertical}.owe-dialog :is(input,textarea):disabled{opacity:0.55}.owe-dialog [aria-invalid="true"]{border-color:var(--owe-danger);border-width:2px}.owe-field-help{color:var(--owe-muted);font-size:0.8125rem}.owe-field-error{color:var(--owe-danger);font-size:0.8125rem;font-weight:600}.owe-field-error::before{content:"⚠ "}.owe-dialog-form[aria-busy="true"]{cursor:progress}.owe-shortcuts{inline-size:100%;border-collapse:collapse;margin-block:8px 16px;font-size:0.875rem}.owe-shortcuts caption{text-align:start;font-weight:700;padding-block:4px}.owe-shortcuts :is(th,td){text-align:start;padding:6px 4px;border-block-end:1px solid var(--owe-border-subtle)}.owe-shortcuts tbody th{font-weight:400}.owe-shortcuts kbd{font-family:var(--owe-font-mono);font-size:0.8125rem;padding:2px 6px;border:1px solid var(--owe-border);border-radius:6px;background:var(--owe-surface-2);white-space:nowrap}.owe-findbar{display:flex;flex-direction:column;gap:6px;padding:12px var(--owe-pad-x);border-block-end:1px solid var(--owe-border-subtle);background:var(--owe-chrome);font-size:0.875rem}.owe-findbar[hidden]{display:none}.owe-find-row{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.owe-find-label{min-inline-size:6.5em;font-weight:600}.owe-find-row .owe-input{flex:1 1 12em;min-inline-size:8em}.owe-find-status{min-inline-size:6em;color:var(--owe-muted);font-variant-numeric:tabular-nums}.owe-check{display:inline-flex;align-items:center;gap:4px;min-block-size:var(--owe-target)}.owe-check input{inline-size:16px;block-size:16px;accent-color:var(--owe-accent)}.owe-content .owe-find-match{background:var(--owe-mark);border-radius:2px;box-shadow:0 0 0 1px var(--owe-warning)}.owe-content .owe-find-current{background:var(--owe-primary);color:var(--owe-on-accent);box-shadow:0 0 0 2px var(--owe-primary)}.owe-statusbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:4px 16px;padding:10px var(--owe-pad-x) 12px;border-block-start:1px solid var(--owe-border-subtle);background:var(--owe-chrome);border-end-start-radius:calc(var(--owe-radius) - 1px);border-end-end-radius:calc(var(--owe-radius) - 1px);color:var(--owe-muted);font-family:var(--owe-font-mono);font-size:0.8125rem;line-height:1.4;min-block-size:var(--owe-target)}.owe-path{display:flex;flex-wrap:wrap;align-items:center;list-style:none;margin:0;padding:0}.owe-path li + li::before{content:"›";padding-inline:2px;color:var(--owe-muted)}[dir="rtl"] .owe-path li + li::before{content:"‹"}.owe-path-item{min-block-size:24px;padding:2px 6px;border:0;border-radius:6px;background:transparent;color:inherit;font:inherit;cursor:pointer}.owe-path-item:hover{background:var(--owe-surface-2);color:var(--owe-text)}.owe-path-item[aria-current]{color:var(--owe-accent);font-weight:700}.owe-statusbar:lang(ar),[dir="rtl"] .owe-statusbar{font-family:var(--owe-font)}.owe-counts{font-variant-numeric:tabular-nums;direction:ltr}.owe-btn-color{position:relative;padding-block-end:4px}.owe-color-bar{position:absolute;inset-inline-start:8px;inset-block-end:3px;inline-size:18px;block-size:3px;border-radius:1px;pointer-events:none}.owe-color-bar-empty{outline:1px solid var(--owe-border)}.owe-swatch{display:inline-block;inline-size:18px;block-size:18px;flex:none;border-radius:4px;border:1px solid var(--owe-border)}.owe-swatch-none{background:linear-gradient(to top right,transparent 45%,var(--owe-danger) 45% 55%,transparent 55%)}.owe-color-preview{display:flex;flex-direction:column;gap:6px}.owe-color-sample{align-self:flex-start;padding:6px 14px;border:1px solid var(--owe-border);border-radius:var(--owe-radius-sm);font-size:1.125rem;font-weight:600}.owe-contrast{margin:0;font-size:0.875rem}.owe-contrast-fail{color:var(--owe-danger);font-weight:600}.owe-dialog input[type="color"]{inline-size:100%;min-block-size:var(--owe-target);padding:2px;border:1px solid var(--owe-border);border-radius:var(--owe-radius-sm);background:var(--owe-field-bg)}.owe-source{display:block;box-sizing:border-box;inline-size:100%;min-block-size:16em;margin:0;padding:var(--owe-pad-y) var(--owe-pad-x);border:0;background:var(--owe-code-bg);color:var(--owe-text);font-family:var(--owe-font-mono);font-size:0.875rem;line-height:1.6;resize:vertical;tab-size:2;white-space:pre-wrap;text-align:left}.owe-source:focus-visible{outline:2px solid var(--owe-focus);outline-offset:-2px}.owe-source[hidden]{display:none}@media (forced-colors:active){.owe-btn,.owe-button,.owe-menu-item{border-color:ButtonText}.owe-btn[aria-pressed="true"],.owe-btn[aria-checked="true"],.owe-btn[aria-expanded="true"],.owe-btn.is-active{border:2px solid Highlight;background:Highlight;color:HighlightText;forced-color-adjust:none}.owe-btn[aria-pressed="true"]:hover,.owe-btn[aria-checked="true"]:hover,.owe-btn[aria-expanded="true"]:hover{background:Highlight;color:HighlightText}.owe-btn[aria-disabled="true"],.owe-menu-item[aria-disabled="true"]{color:GrayText;opacity:1}.owe-menu,.owe-dialog,.owe-tooltip{border:1px solid CanvasText}.owe-menu-item:focus{outline:2px solid Highlight}.owe-content .owe-find-current{outline:2px solid Highlight}.owe-separator{background:CanvasText}}}@layer owe{:is(.owe-content,.owe-content-root){font-family:var(--owe-font);font-size:var(--owe-font-size);line-height:var(--owe-line-height);color:var(--owe-body);overflow-wrap:break-word}:is(.owe-content,.owe-content-root)>:first-child{margin-block-start:0}:is(.owe-content,.owe-content-root) :is(p,ul,ol,blockquote,pre,table,figure,hr){margin-block:0 0.85em}:is(.owe-content,.owe-content-root) :is(h1,h2,h3,h4,h5,h6){line-height:1.2;margin-block:1.3em 0.5em;font-weight:700;letter-spacing:-0.02em;color:var(--owe-text)}:is(.owe-content,.owe-content-root) :is(h1,h2,h3,h4,h5,h6):is([dir="rtl"],:lang(ar),:lang(fa),:lang(ur),:lang(he)),:is([dir="rtl"],:lang(ar),:lang(fa),:lang(ur),:lang(he)) :is(.owe-content,.owe-content-root) :is(h1,h2,h3,h4,h5,h6),:is(.owe-content,.owe-content-root):is([dir="rtl"],:lang(ar),:lang(fa),:lang(ur),:lang(he)) :is(h1,h2,h3,h4,h5,h6){letter-spacing:0}:is(.owe-content,.owe-content-root) h1{font-size:2.1em}:is(.owe-content,.owe-content-root) h2{font-size:1.5em}:is(.owe-content,.owe-content-root) h3{font-size:1.25em}:is(.owe-content,.owe-content-root) h4{font-size:1.1em}:is(.owe-content,.owe-content-root) h5{font-size:1em}:is(.owe-content,.owe-content-root) h6{font-size:0.9em}:is(.owe-content,.owe-content-root) a{color:var(--owe-accent);text-decoration:underline;text-underline-offset:0.15em}:is(.owe-content,.owe-content-root) :is(ul,ol){padding-inline-start:1.6em}:is(.owe-content,.owe-content-root) li>:is(p,ul,ol){margin-block:0.15em}:is(.owe-content,.owe-content-root) ul[data-type="taskList"]{list-style:none;padding-inline-start:0.25em}:is(.owe-content,.owe-content-root) li[data-type="taskItem"]{display:flex;align-items:flex-start;gap:0.5em}:is(.owe-content,.owe-content-root) li[data-type="taskItem"]>input,.owe-task-control>input{inline-size:1.1em;block-size:1.1em;margin-block-start:0.3em;accent-color:var(--owe-primary);flex:none}:is(.owe-content,.owe-content-root) li[data-type="taskItem"]>div{flex:1;min-inline-size:0}:is(.owe-content,.owe-content-root) li[data-checked="true"]>div{text-decoration:line-through;color:var(--owe-muted)}:is(.owe-content,.owe-content-root) blockquote{margin-inline:0;padding-inline-start:1em;border-inline-start:3px solid var(--owe-accent);border-start-start-radius:2px;border-end-start-radius:2px;color:var(--owe-text-2)}:is(.owe-content,.owe-content-root) code{font-family:var(--owe-font-mono);font-size:0.9em;background:var(--owe-code-bg);border:1px solid var(--owe-border-subtle);border-radius:6px;padding:0.1em 0.35em}:is(.owe-content,.owe-content-root) pre{font-family:var(--owe-font-mono);background:var(--owe-code-bg);border:1px solid var(--owe-border-subtle);border-radius:var(--owe-radius-md);padding:1em 1.25em;overflow-x:auto;direction:ltr;text-align:start;tab-size:2}:is(.owe-content,.owe-content-root) pre code{background:none;border:0;padding:0;font-size:0.9em}:is(.owe-content,.owe-content-root) hr{border:none;border-block-start:2px solid var(--owe-border-subtle);margin-block:1.5em}:is(.owe-content,.owe-content-root) img{max-inline-size:100%;block-size:auto;display:block}:is(.owe-content,.owe-content-root) figure{margin-inline:0}:is(.owe-content,.owe-content-root) figcaption{color:var(--owe-muted);font-size:0.9em;margin-block-start:0.4em}:is(.owe-content,.owe-content-root) table{border-collapse:collapse;inline-size:100%;table-layout:fixed}:is(.owe-content,.owe-content-root) caption{caption-side:top;text-align:start;font-weight:600;padding-block-end:0.4em}:is(.owe-content,.owe-content-root) :is(td,th){border:1px solid var(--owe-border-subtle);padding:0.55em 0.8em;vertical-align:top;text-align:start;min-inline-size:3em}:is(.owe-content,.owe-content-root) th{background:var(--owe-surface);color:var(--owe-text);font-weight:700}:is(.owe-content,.owe-content-root) :is(td,th)>:last-child{margin-block-end:0}:is(.owe-content,.owe-content-root) mark{background-color:var(--owe-mark);color:inherit;border-radius:0.2em;padding-inline:0.15em}.owe-align-center{text-align:center}.owe-align-end{text-align:end}.owe-align-justify{text-align:justify}}
2
+ /*! open-wysiwyg-editor | MIT License */ @layer owe{.owe,.owe-content-root{--owe-font:system-ui,-apple-system,"Segoe UI",Roboto,"Noto Sans Arabic","Noto Sans",Tahoma,sans-serif;--owe-font-mono:ui-monospace,"JetBrains Mono","SFMono-Regular",Menlo,Consolas,"Liberation Mono",monospace;--owe-font-size:1rem;--owe-line-height:1.65;--owe-radius:24px;--owe-radius-sm:10px;--owe-radius-md:12px;--owe-radius-lg:16px;--owe-space:8px;--owe-target:32px;--owe-btn-size:40px;--owe-pad-x:clamp(16px,4vw,32px);--owe-pad-y:28px;--owe-bg:#ffffff;--owe-chrome:#fafbfc;--owe-surface:#f4f6f8;--owe-surface-2:#f1f3f5;--owe-field-bg:#ffffff;--owe-text:#101112;--owe-body:#1b1f24;--owe-text-2:#3d434a;--owe-muted:#54595f;--owe-icon:#3a3f45;--owe-border:#8a929a;--owe-border-subtle:#e3e6ea;--owe-popup-border:#d5d9de;--owe-danger:#b3261e;--owe-warning:#8a5300;--owe-success:#146c2e;--owe-code-bg:#f4f6f8;--owe-mark:#fff2a8;--owe-shadow:0 16px 40px rgb(16 17 18 / 0.16),0 2px 8px rgb(16 17 18 / 0.08);--owe-backdrop:rgb(16 17 18 / 0.45);--owe-z-popover:1000;--owe-gradient:linear-gradient(90deg,var(--owe-brand,#0066ff),var(--owe-brand-2,#00b8ff));--owe-on-accent:var(--owe-on-brand,#ffffff);--owe-primary:var(--owe-brand,#0066ff);--owe-primary-hover:color-mix(in oklab,var(--owe-primary) 85%,black);--owe-accent:color-mix(in oklab,var(--owe-brand,#0066ff) 70%,black);--owe-accent-soft:color-mix(in oklab,var(--owe-brand,#0066ff) 18%,var(--owe-bg));--owe-focus:var(--owe-accent);--owe-caret:var(--owe-accent);--owe-selection:color-mix(in oklab,var(--owe-brand,#0066ff) 22%,transparent);color-scheme:light}@media (prefers-color-scheme:dark){.owe:not([data-theme="light"]),.owe-content-root:not([data-theme="light"]){--owe-bg:#17191b;--owe-chrome:#131517;--owe-surface:#1e2124;--owe-surface-2:#25282b;--owe-field-bg:#101214;--owe-text:#ffffff;--owe-body:#dcdedf;--owe-text-2:#c3c7cb;--owe-muted:#a1a7ad;--owe-icon:#d2d4d5;--owe-border:#6b7279;--owe-border-subtle:#25282b;--owe-popup-border:#33383d;--owe-accent:color-mix(in oklab,var(--owe-brand,#0066ff) 60%,white);--owe-danger:#f2b8b5;--owe-warning:#f6c66b;--owe-success:#8bd6a0;--owe-selection:color-mix(in oklab,var(--owe-brand,#0066ff) 45%,transparent);--owe-code-bg:#0f1112;--owe-mark:#6b4e00;--owe-shadow:0 16px 40px rgb(0 0 0 / 0.55),0 2px 8px rgb(0 0 0 / 0.4);--owe-backdrop:rgb(4 5 16 / 0.65);color-scheme:dark}}.owe[data-theme="dark"],.owe-content-root[data-theme="dark"]{--owe-bg:#17191b;--owe-chrome:#131517;--owe-surface:#1e2124;--owe-surface-2:#25282b;--owe-field-bg:#101214;--owe-text:#ffffff;--owe-body:#dcdedf;--owe-text-2:#c3c7cb;--owe-muted:#a1a7ad;--owe-icon:#d2d4d5;--owe-border:#6b7279;--owe-border-subtle:#25282b;--owe-popup-border:#33383d;--owe-accent:color-mix(in oklab,var(--owe-brand,#0066ff) 60%,white);--owe-danger:#f2b8b5;--owe-warning:#f6c66b;--owe-success:#8bd6a0;--owe-selection:color-mix(in oklab,var(--owe-brand,#0066ff) 45%,transparent);--owe-code-bg:#0f1112;--owe-mark:#6b4e00;--owe-shadow:0 16px 40px rgb(0 0 0 / 0.55),0 2px 8px rgb(0 0 0 / 0.4);--owe-backdrop:rgb(4 5 16 / 0.65);color-scheme:dark}@media (prefers-contrast:more){.owe{--owe-border:currentColor;--owe-border-subtle:var(--owe-border);--owe-popup-border:var(--owe-border);--owe-muted:var(--owe-text);--owe-text-2:var(--owe-text)}}}@layer owe{owe-editor{display:block}.owe{position:relative;display:flex;flex-direction:column;background:var(--owe-bg);color:var(--owe-text);border:1px solid var(--owe-editor-border,var(--owe-border-subtle));border-radius:var(--owe-editor-radius,var(--owe-radius));font-family:var(--owe-font);min-inline-size:0}.owe:focus-within{border-color:color-mix(in srgb,var(--owe-focus) 45%,var(--owe-editor-border,var(--owe-border-subtle)))}.owe::after{content:"";position:absolute;inset:-1px;padding-block-end:2px;border-radius:inherit;background:var(--owe-gradient);-webkit-mask:linear-gradient(#000 0 0) content-box exclude,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask:linear-gradient(#000 0 0) content-box exclude,linear-gradient(#000 0 0);mask-composite:exclude;opacity:0.55;pointer-events:none;transition:opacity 0.2s}.owe:focus-within::after{opacity:1}.owe-body{position:relative;flex:1;min-block-size:0}.owe-content{position:relative;min-block-size:8em;padding:var(--owe-pad-y) var(--owe-pad-x);outline:none;word-wrap:break-word;white-space:pre-wrap;white-space:break-spaces;font-variant-ligatures:none;font-feature-settings:"liga" 0;caret-color:var(--owe-caret);scroll-padding-block:4em}.owe-content:focus-visible{outline:none}.owe-content ::selection{background:var(--owe-selection);color:inherit}.owe[data-theme="dark"] .owe-content ::selection{color:#fff}@media (prefers-color-scheme:dark){.owe:not([data-theme="light"]) .owe-content ::selection{color:#fff}}.owe-content pre{white-space:pre-wrap}.owe-content li{position:relative}.ProseMirror-hideselection *::selection{background:transparent}.ProseMirror-hideselection{caret-color:transparent}.owe-content [draggable][contenteditable="false"]{user-select:text}.owe-content .ProseMirror-selectednode{outline:3px solid var(--owe-focus);outline-offset:2px}.owe-content li.ProseMirror-selectednode{outline:none}.owe-content li.ProseMirror-selectednode::after{content:"";position:absolute;inset-block:-2px;inset-inline:-32px -2px;border:2px solid var(--owe-focus);pointer-events:none}.owe-content img.ProseMirror-separator{display:inline !important;border:none !important;margin:0 !important}.owe-content .owe-placeholder::before{content:attr(data-placeholder);color:var(--owe-muted);pointer-events:none;position:absolute;inset-inline-start:var(--owe-pad-x)}.ProseMirror-gapcursor{display:none;pointer-events:none;position:absolute}.ProseMirror-gapcursor::after{content:"";display:block;position:absolute;top:-2px;inline-size:20px;border-block-start:2px solid var(--owe-text);animation:owe-blink 1.1s steps(2,start) infinite}.ProseMirror-focused .ProseMirror-gapcursor{display:block}@keyframes owe-blink{to{visibility:hidden}}.owe-dropcursor{background:var(--owe-accent)}.owe-task-control{display:inline-flex;user-select:none}.owe-content .tableWrapper{overflow-x:auto;margin-block-end:0.85em}.owe-content table{margin-block-end:0}.owe-content :is(td,th){position:relative}.owe-content .selectedCell::after{content:"";position:absolute;inset:0;background:var(--owe-selection);opacity:0.5;pointer-events:none}.owe-content .column-resize-handle{position:absolute;inset-inline-end:-2px;inset-block:0;inline-size:4px;background:var(--owe-accent);pointer-events:none}.owe-content.resize-cursor{cursor:col-resize}.owe-sr-only{position:absolute !important;inline-size:1px !important;block-size:1px !important;padding:0 !important;margin:-1px !important;overflow:hidden !important;clip-path:inset(50%) !important;white-space:nowrap !important;border:0 !important}@media (prefers-reduced-motion:reduce){.owe *,.owe *::before,.owe *::after{animation-duration:0.01ms !important;animation-iteration-count:1 !important;transition-duration:0.01ms !important;scroll-behavior:auto !important}}@media (forced-colors:active){.owe{border-color:CanvasText}.owe::after{display:none}.owe:focus-within{outline:2px solid Highlight}.owe-content .ProseMirror-selectednode{outline-color:Highlight}.owe-content .selectedCell::after{background:Highlight;forced-color-adjust:none}.owe-content .owe-placeholder::before{color:GrayText}}}@layer owe{.owe-toolbar-wrap{border-block-end:1px solid var(--owe-toolbar-border,var(--owe-border-subtle));background:var(--owe-toolbar-bg,var(--owe-chrome));border-start-start-radius:calc(var(--owe-editor-radius,var(--owe-radius)) - 1px);border-start-end-radius:calc(var(--owe-editor-radius,var(--owe-radius)) - 1px)}.owe-toolbar-wrap.owe-sticky{position:sticky;inset-block-start:0;z-index:2}.owe-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:4px;padding:12px var(--owe-pad-x)}.owe-separator{inline-size:1px;block-size:24px;margin-inline:6px;background:var(--owe-toolbar-border,var(--owe-border-subtle))}.owe-btn{display:inline-flex;align-items:center;justify-content:center;gap:4px;min-inline-size:var(--owe-btn-size);min-block-size:var(--owe-btn-size);padding:0 8px;border:1px solid transparent;border-radius:var(--owe-btn-radius,var(--owe-radius-sm));background:var(--owe-btn-bg,transparent);color:var(--owe-btn-color,var(--owe-icon));font:inherit;font-size:0.875rem;line-height:1;cursor:pointer;transition:background-color 0.12s,color 0.12s}.owe-btn:hover{background:var(--owe-btn-hover-bg,var(--owe-surface-2));color:var(--owe-btn-hover-color,var(--owe-text))}.owe-btn:focus-visible,.owe-button:focus-visible,.owe-menu-item:focus-visible,.owe-path-item:focus-visible,.owe-input:focus-visible,.owe-dialog :is(input,textarea,select):focus-visible{outline:2px solid var(--owe-focus);outline-offset:2px}.owe-btn[aria-pressed="true"],.owe-btn[aria-checked="true"],.owe-btn[aria-expanded="true"],.owe-btn.is-active{background:var(--owe-btn-active-bg,var(--owe-primary));color:var(--owe-btn-active-color,var(--owe-on-accent))}.owe-btn[aria-pressed="true"]:hover,.owe-btn[aria-checked="true"]:hover,.owe-btn[aria-expanded="true"]:hover,.owe-btn.is-active:hover{background:var(--owe-btn-active-hover-bg,color-mix(in oklab,var(--owe-btn-active-bg,var(--owe-primary)) 85%,black));color:var(--owe-btn-active-color,var(--owe-on-accent))}.owe-btn[aria-disabled="true"]{opacity:0.45;cursor:not-allowed}.owe-btn[aria-disabled="true"]:hover{background:var(--owe-btn-bg,transparent)}.owe-btn-wide{min-inline-size:9.5em;justify-content:space-between}.owe-btn-text{white-space:nowrap}.owe-icon{inline-size:20px;block-size:20px;flex:none;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.owe-btn>.owe-icon + .owe-icon{inline-size:14px;block-size:14px;opacity:0.8}[dir="rtl"] .owe-flip{transform:scaleX(-1)}.owe-button{min-block-size:38px;padding:0 16px;border:1px solid var(--owe-popup-border);border-radius:var(--owe-btn-radius,var(--owe-radius-sm));background:var(--owe-surface-2);color:var(--owe-text);font:inherit;font-size:0.875rem;font-weight:600;cursor:pointer;transition:background-color 0.12s}.owe-button:hover{background:var(--owe-border-subtle)}.owe-button-primary{background:var(--owe-btn-primary-bg,var(--owe-primary));border-color:var(--owe-btn-primary-bg,var(--owe-primary));color:var(--owe-btn-primary-color,var(--owe-on-accent))}.owe-button-primary:hover{background:var(--owe-btn-primary-hover-bg,var(--owe-primary-hover));border-color:var(--owe-btn-primary-hover-bg,var(--owe-primary-hover))}.owe-button-danger{color:var(--owe-danger);border-color:var(--owe-danger);margin-inline-end:auto}.owe-button[aria-disabled="true"]{opacity:0.45;cursor:not-allowed}.owe-menu{z-index:var(--owe-z-popover);min-inline-size:200px;max-block-size:min(70vh,480px);overflow-y:auto;padding:6px;background:var(--owe-surface);color:var(--owe-text);border:1px solid var(--owe-popup-border);border-radius:var(--owe-radius-md);box-shadow:var(--owe-shadow);font-family:var(--owe-font);font-size:0.875rem}.owe-menu-item{display:flex;align-items:center;gap:8px;min-block-size:var(--owe-target);padding-block:4px;padding-inline:8px 12px;border-radius:var(--owe-btn-radius,8px);cursor:pointer;outline-offset:-2px}.owe-menu-item[aria-checked="true"],.owe-menu-item[aria-current="true"]{color:var(--owe-accent);font-weight:600}.owe-menu-item:focus,.owe-menu-item:hover{background:var(--owe-btn-hover-bg,var(--owe-surface-2))}.owe-menu-item[aria-disabled="true"]{opacity:0.45;cursor:not-allowed}.owe-menu-check{display:inline-flex;inline-size:18px}.owe-menu-label{flex:1}.owe-menu-shortcut{color:var(--owe-muted);font-size:0.8em;direction:ltr}.owe-menu-separator{block-size:1px;margin:4px 0;background:var(--owe-border-subtle)}.owe-tooltip{z-index:calc(var(--owe-z-popover) + 1);max-inline-size:260px;padding:4px 8px;border-radius:8px;background:var(--owe-text);color:var(--owe-bg);font-family:var(--owe-font);font-size:0.8125rem;line-height:1.4}.owe-dialog{position:fixed;inset:50% auto auto 50%;translate:-50% -50%;margin:0;inline-size:min(440px,calc(100vw - 32px));max-block-size:calc(100vh - 32px);padding:0;border:1px solid var(--owe-popup-border);border-radius:var(--owe-radius-lg);background:var(--owe-surface);color:var(--owe-text);box-shadow:var(--owe-shadow);font-family:var(--owe-font)}.owe-dialog-wide{inline-size:min(640px,calc(100vw - 32px))}.owe-dialog::backdrop{background:var(--owe-backdrop,rgb(0 0 0 / 0.45))}.owe-dialog-form{display:flex;flex-direction:column;max-block-size:calc(100vh - 34px)}.owe-dialog-header{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:18px 16px 6px 24px;padding-inline:24px 16px}.owe-dialog-title{margin:0;font-size:1.1875rem;font-weight:700;letter-spacing:-0.01em}.owe-dialog:lang(ar) .owe-dialog-title,.owe-dialog[dir="rtl"] .owe-dialog-title{letter-spacing:0}.owe-dialog-body{padding:10px 24px;overflow-y:auto}.owe-dialog-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px;padding:14px 24px 20px;border-block-start:1px solid var(--owe-border-subtle)}.owe-field{display:flex;flex-direction:column;gap:4px;margin-block-end:14px}.owe-field-row{display:flex;gap:12px}.owe-field-row>.owe-field{flex:1}.owe-field-check{flex-direction:row;flex-wrap:wrap;align-items:center;gap:8px}.owe-field-check>input{inline-size:18px;block-size:18px;margin:0;accent-color:var(--owe-accent)}.owe-label{font-size:0.875rem;font-weight:600}.owe-required{font-weight:400;color:var(--owe-muted)}.owe-dialog :is(input[type="text"],input[type="number"],input:not([type]),textarea,select),.owe-input{min-block-size:40px;padding:6px 12px;border:1px solid var(--owe-border);border-radius:var(--owe-radius-sm);background:var(--owe-field-bg);color:var(--owe-text);font:inherit;font-size:0.9375rem}.owe-dialog :is(input,textarea,select):focus-visible,.owe-input:focus-visible{border-color:var(--owe-focus)}.owe-dialog textarea{resize:vertical}.owe-dialog :is(input,textarea):disabled{opacity:0.55}.owe-dialog [aria-invalid="true"]{border-color:var(--owe-danger);border-width:2px}.owe-field-help{color:var(--owe-muted);font-size:0.8125rem}.owe-field-error{color:var(--owe-danger);font-size:0.8125rem;font-weight:600}.owe-field-error::before{content:"⚠ "}.owe-dialog-form[aria-busy="true"]{cursor:progress}.owe-shortcuts{inline-size:100%;border-collapse:collapse;margin-block:8px 16px;font-size:0.875rem}.owe-shortcuts caption{text-align:start;font-weight:700;padding-block:4px}.owe-shortcuts :is(th,td){text-align:start;padding:6px 4px;border-block-end:1px solid var(--owe-border-subtle)}.owe-shortcuts tbody th{font-weight:400}.owe-shortcuts kbd{font-family:var(--owe-font-mono);font-size:0.8125rem;padding:2px 6px;border:1px solid var(--owe-border);border-radius:6px;background:var(--owe-surface-2);white-space:nowrap}.owe-findbar{display:flex;flex-direction:column;gap:6px;padding:12px var(--owe-pad-x);border-block-end:1px solid var(--owe-toolbar-border,var(--owe-border-subtle));background:var(--owe-toolbar-bg,var(--owe-chrome));font-size:0.875rem}.owe-findbar[hidden]{display:none}.owe-find-row{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.owe-find-label{min-inline-size:6.5em;font-weight:600}.owe-find-row .owe-input{flex:1 1 12em;min-inline-size:8em}.owe-find-status{min-inline-size:6em;color:var(--owe-muted);font-variant-numeric:tabular-nums}.owe-check{display:inline-flex;align-items:center;gap:4px;min-block-size:var(--owe-target)}.owe-check input{inline-size:16px;block-size:16px;accent-color:var(--owe-accent)}.owe-content .owe-find-match{background:var(--owe-mark);border-radius:2px;box-shadow:0 0 0 1px var(--owe-warning)}.owe-content .owe-find-current{background:var(--owe-primary);color:var(--owe-on-accent);box-shadow:0 0 0 2px var(--owe-primary)}.owe-statusbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:4px 16px;padding:10px var(--owe-pad-x) 12px;border-block-start:1px solid var(--owe-toolbar-border,var(--owe-border-subtle));background:var(--owe-toolbar-bg,var(--owe-chrome));border-end-start-radius:calc(var(--owe-editor-radius,var(--owe-radius)) - 1px);border-end-end-radius:calc(var(--owe-editor-radius,var(--owe-radius)) - 1px);color:var(--owe-muted);font-family:var(--owe-font-mono);font-size:0.8125rem;line-height:1.4;min-block-size:var(--owe-target)}.owe-path{display:flex;flex-wrap:wrap;align-items:center;list-style:none;margin:0;padding:0}.owe-path li + li::before{content:"›";padding-inline:2px;color:var(--owe-muted)}[dir="rtl"] .owe-path li + li::before{content:"‹"}.owe-path-item{min-block-size:24px;padding:2px 6px;border:0;border-radius:var(--owe-btn-radius,6px);background:transparent;color:inherit;font:inherit;cursor:pointer}.owe-path-item:hover{background:var(--owe-btn-hover-bg,var(--owe-surface-2));color:var(--owe-btn-hover-color,var(--owe-text))}.owe-path-item[aria-current]{color:var(--owe-accent);font-weight:700}.owe-statusbar:lang(ar),[dir="rtl"] .owe-statusbar{font-family:var(--owe-font)}.owe-counts{font-variant-numeric:tabular-nums;direction:ltr}.owe-btn-color{position:relative;padding-block-end:4px}.owe-color-bar{position:absolute;inset-inline-start:8px;inset-block-end:3px;inline-size:18px;block-size:3px;border-radius:1px;pointer-events:none}.owe-color-bar-empty{outline:1px solid var(--owe-border)}.owe-swatch{display:inline-block;inline-size:18px;block-size:18px;flex:none;border-radius:4px;border:1px solid var(--owe-border)}.owe-swatch-none{background:linear-gradient(to top right,transparent 45%,var(--owe-danger) 45% 55%,transparent 55%)}.owe-color-preview{display:flex;flex-direction:column;gap:6px}.owe-color-sample{align-self:flex-start;padding:6px 14px;border:1px solid var(--owe-border);border-radius:var(--owe-radius-sm);font-size:1.125rem;font-weight:600}.owe-contrast{margin:0;font-size:0.875rem}.owe-contrast-fail{color:var(--owe-danger);font-weight:600}.owe-dialog input[type="color"]{inline-size:100%;min-block-size:var(--owe-target);padding:2px;border:1px solid var(--owe-border);border-radius:var(--owe-radius-sm);background:var(--owe-field-bg)}.owe-source{display:block;box-sizing:border-box;inline-size:100%;min-block-size:16em;margin:0;padding:var(--owe-pad-y) var(--owe-pad-x);border:0;background:var(--owe-code-bg);color:var(--owe-text);font-family:var(--owe-font-mono);font-size:0.875rem;line-height:1.6;resize:vertical;tab-size:2;white-space:pre-wrap;text-align:left}.owe-source:focus-visible{outline:2px solid var(--owe-focus);outline-offset:-2px}.owe-source[hidden]{display:none}@media (forced-colors:active){.owe-btn,.owe-button,.owe-menu-item{border-color:ButtonText}.owe-btn[aria-pressed="true"],.owe-btn[aria-checked="true"],.owe-btn[aria-expanded="true"],.owe-btn.is-active{border:2px solid Highlight;background:Highlight;color:HighlightText;forced-color-adjust:none}.owe-btn[aria-pressed="true"]:hover,.owe-btn[aria-checked="true"]:hover,.owe-btn[aria-expanded="true"]:hover{background:Highlight;color:HighlightText}.owe-btn[aria-disabled="true"],.owe-menu-item[aria-disabled="true"]{color:GrayText;opacity:1}.owe-menu,.owe-dialog,.owe-tooltip{border:1px solid CanvasText}.owe-menu-item:focus{outline:2px solid Highlight}.owe-content .owe-find-current{outline:2px solid Highlight}.owe-separator{background:CanvasText}}}@layer owe{:is(.owe-content,.owe-content-root){font-family:var(--owe-font);font-size:var(--owe-font-size);line-height:var(--owe-line-height);color:var(--owe-body);overflow-wrap:break-word}:is(.owe-content,.owe-content-root)>:first-child{margin-block-start:0}:is(.owe-content,.owe-content-root) :is(p,ul,ol,blockquote,pre,table,figure,hr){margin-block:0 0.85em}:is(.owe-content,.owe-content-root) :is(h1,h2,h3,h4,h5,h6){line-height:1.2;margin-block:1.3em 0.5em;font-weight:700;letter-spacing:-0.02em;color:var(--owe-text)}:is(.owe-content,.owe-content-root) :is(h1,h2,h3,h4,h5,h6):is([dir="rtl"],:lang(ar),:lang(fa),:lang(ur),:lang(he)),:is([dir="rtl"],:lang(ar),:lang(fa),:lang(ur),:lang(he)) :is(.owe-content,.owe-content-root) :is(h1,h2,h3,h4,h5,h6),:is(.owe-content,.owe-content-root):is([dir="rtl"],:lang(ar),:lang(fa),:lang(ur),:lang(he)) :is(h1,h2,h3,h4,h5,h6){letter-spacing:0}:is(.owe-content,.owe-content-root) h1{font-size:2.1em}:is(.owe-content,.owe-content-root) h2{font-size:1.5em}:is(.owe-content,.owe-content-root) h3{font-size:1.25em}:is(.owe-content,.owe-content-root) h4{font-size:1.1em}:is(.owe-content,.owe-content-root) h5{font-size:1em}:is(.owe-content,.owe-content-root) h6{font-size:0.9em}:is(.owe-content,.owe-content-root) a{color:var(--owe-accent);text-decoration:underline;text-underline-offset:0.15em}:is(.owe-content,.owe-content-root) :is(ul,ol){padding-inline-start:1.6em}:is(.owe-content,.owe-content-root) li>:is(p,ul,ol){margin-block:0.15em}:is(.owe-content,.owe-content-root) ul[data-type="taskList"]{list-style:none;padding-inline-start:0.25em}:is(.owe-content,.owe-content-root) li[data-type="taskItem"]{display:flex;align-items:flex-start;gap:0.5em}:is(.owe-content,.owe-content-root) li[data-type="taskItem"]>input,.owe-task-control>input{inline-size:1.1em;block-size:1.1em;margin-block-start:0.3em;accent-color:var(--owe-primary);flex:none}:is(.owe-content,.owe-content-root) li[data-type="taskItem"]>div{flex:1;min-inline-size:0}:is(.owe-content,.owe-content-root) li[data-checked="true"]>div{text-decoration:line-through;color:var(--owe-muted)}:is(.owe-content,.owe-content-root) blockquote{margin-inline:0;padding-inline-start:1em;border-inline-start:3px solid var(--owe-accent);border-start-start-radius:2px;border-end-start-radius:2px;color:var(--owe-text-2)}:is(.owe-content,.owe-content-root) code{font-family:var(--owe-font-mono);font-size:0.9em;background:var(--owe-code-bg);border:1px solid var(--owe-border-subtle);border-radius:6px;padding:0.1em 0.35em}:is(.owe-content,.owe-content-root) pre{font-family:var(--owe-font-mono);background:var(--owe-code-bg);border:1px solid var(--owe-border-subtle);border-radius:var(--owe-radius-md);padding:1em 1.25em;overflow-x:auto;direction:ltr;text-align:start;tab-size:2}:is(.owe-content,.owe-content-root) pre code{background:none;border:0;padding:0;font-size:0.9em}:is(.owe-content,.owe-content-root) hr{border:none;border-block-start:2px solid var(--owe-border-subtle);margin-block:1.5em}:is(.owe-content,.owe-content-root) img{max-inline-size:100%;block-size:auto;display:block}:is(.owe-content,.owe-content-root) figure{margin-inline:0}:is(.owe-content,.owe-content-root) figcaption{color:var(--owe-muted);font-size:0.9em;margin-block-start:0.4em}:is(.owe-content,.owe-content-root) table{border-collapse:collapse;inline-size:100%;table-layout:fixed}:is(.owe-content,.owe-content-root) caption{caption-side:top;text-align:start;font-weight:600;padding-block-end:0.4em}:is(.owe-content,.owe-content-root) :is(td,th){border:1px solid var(--owe-border-subtle);padding:0.55em 0.8em;vertical-align:top;text-align:start;min-inline-size:3em}:is(.owe-content,.owe-content-root) th{background:var(--owe-surface);color:var(--owe-text);font-weight:700}:is(.owe-content,.owe-content-root) :is(td,th)>:last-child{margin-block-end:0}:is(.owe-content,.owe-content-root) mark{background-color:var(--owe-mark);color:inherit;border-radius:0.2em;padding-inline:0.15em}.owe-align-center{text-align:center}.owe-align-end{text-align:end}.owe-align-justify{text-align:justify}}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@open-wysiwyg-editor/next",
3
- "version": "1.0.0",
3
+ "version": "1.0.1",
4
4
  "description": "Next.js (App Router and Pages Router) rich text editor: <RichTextEditor> with Server Actions form support. Accessible (WCAG 2.2 AA), RTL-first, CSP-safe.",
5
5
  "license": "MIT",
6
6
  "author": "alhassan-ahmed",
@@ -51,7 +51,7 @@
51
51
  "test": "vitest run"
52
52
  },
53
53
  "dependencies": {
54
- "@open-wysiwyg-editor/react": "^1.0.0"
54
+ "@open-wysiwyg-editor/react": "^1.0.1"
55
55
  },
56
56
  "peerDependencies": {
57
57
  "next": ">=13.4",