@hwp-editor/react 1.1.0 → 1.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/dist/index.css CHANGED
@@ -35,11 +35,19 @@
35
35
 
36
36
  /* src/editor.css */
37
37
  .hwped {
38
+ --_hwped-desk: color-mix(in srgb, var(--hwped-fg) 5%, var(--hwped-bg));
39
+ --_hwped-fill: color-mix(in srgb, var(--hwped-fg) 7%, var(--hwped-bg));
40
+ --_hwped-hover: color-mix(in srgb, var(--hwped-accent) 9%, var(--hwped-bg));
41
+ --_hwped-press: color-mix(in srgb, var(--hwped-accent) 16%, var(--hwped-bg));
42
+ --_hwped-hairline: color-mix(in srgb, var(--hwped-border) 75%, transparent);
43
+ --_hwped-ring: 0 0 0 3px color-mix(in srgb, var(--hwped-accent) 35%, transparent);
44
+ --_hwped-quick: 100ms ease-out;
38
45
  background: var(--hwped-bg);
39
46
  color: var(--hwped-fg);
40
47
  font-family: var(--hwped-font);
41
48
  font-size: 13px;
42
49
  line-height: 1.5;
50
+ -webkit-font-smoothing: antialiased;
43
51
  }
44
52
  .hwped *,
45
53
  .hwped *::before,
@@ -59,12 +67,17 @@
59
67
  display: flex;
60
68
  align-items: center;
61
69
  gap: 8px;
62
- padding: 6px 10px;
63
- border-bottom: 1px solid var(--hwped-border);
70
+ min-height: 44px;
71
+ padding: 6px 12px;
72
+ border-bottom: 1px solid var(--_hwped-hairline);
73
+ background: var(--hwped-bg);
64
74
  flex: 0 0 auto;
75
+ position: relative;
76
+ z-index: 1;
65
77
  }
66
78
  .hwped-title {
67
79
  font-weight: 600;
80
+ letter-spacing: -0.01em;
68
81
  overflow: hidden;
69
82
  text-overflow: ellipsis;
70
83
  white-space: nowrap;
@@ -75,10 +88,11 @@
75
88
  }
76
89
  .hwped-notice {
77
90
  color: var(--hwped-muted);
78
- border: 1px solid var(--hwped-border);
79
- border-radius: var(--hwped-radius);
80
- padding: 1px 8px;
91
+ background: var(--_hwped-fill);
92
+ border-radius: 999px;
93
+ padding: 2px 10px;
81
94
  font-size: 12px;
95
+ letter-spacing: 0.01em;
82
96
  min-width: 0;
83
97
  overflow: hidden;
84
98
  text-overflow: ellipsis;
@@ -86,56 +100,98 @@
86
100
  flex: 0 1 auto;
87
101
  }
88
102
  .hwped-badge {
89
- border-radius: var(--hwped-radius);
90
- padding: 1px 8px;
103
+ border-radius: 999px;
104
+ padding: 2px 10px;
91
105
  font-size: 12px;
92
- border: 1px solid var(--hwped-border);
106
+ font-weight: 600;
107
+ letter-spacing: 0.01em;
108
+ border: 1px solid transparent;
109
+ background: var(--_hwped-fill);
93
110
  flex: 0 0 auto;
94
111
  }
95
112
  .hwped-badge-ok {
96
113
  color: var(--hwped-success);
97
- border-color: var(--hwped-success);
114
+ background: color-mix(in srgb, var(--hwped-success) 14%, transparent);
98
115
  }
99
116
  .hwped-badge-err {
100
117
  color: var(--hwped-error);
101
- border-color: var(--hwped-error);
118
+ background: color-mix(in srgb, var(--hwped-error) 14%, transparent);
102
119
  }
103
120
  .hwped-count {
104
121
  color: var(--hwped-muted);
105
122
  font-size: 12px;
123
+ letter-spacing: 0.01em;
124
+ font-variant-numeric: tabular-nums;
106
125
  flex: 0 0 auto;
107
126
  }
108
127
  .hwped-btn {
109
128
  font: inherit;
129
+ font-weight: 500;
110
130
  color: var(--hwped-fg);
111
131
  background: var(--hwped-bg);
112
132
  border: 1px solid var(--hwped-border);
113
133
  border-radius: var(--hwped-radius);
114
- padding: 3px 10px;
134
+ min-height: 28px;
135
+ padding: 3px 12px;
115
136
  cursor: pointer;
137
+ transition:
138
+ background-color var(--_hwped-quick),
139
+ border-color var(--_hwped-quick),
140
+ transform var(--_hwped-quick);
116
141
  }
117
142
  .hwped-btn:hover:not(:disabled) {
118
- border-color: var(--hwped-accent);
143
+ background: var(--_hwped-hover);
144
+ border-color: color-mix(in srgb, var(--hwped-accent) 55%, var(--hwped-border));
145
+ }
146
+ .hwped-btn:active:not(:disabled) {
147
+ background: var(--_hwped-press);
148
+ transform: scale(0.97);
119
149
  }
120
150
  .hwped-btn:disabled {
121
151
  color: var(--hwped-muted);
152
+ background: transparent;
153
+ border-color: var(--_hwped-hairline);
122
154
  cursor: not-allowed;
123
- opacity: 0.6;
155
+ opacity: 0.55;
124
156
  }
125
157
  .hwped-btn-primary {
126
158
  background: var(--hwped-accent);
127
159
  border-color: var(--hwped-accent);
128
160
  color: #ffffff;
161
+ font-weight: 600;
162
+ }
163
+ .hwped-btn-primary:hover:not(:disabled) {
164
+ background: color-mix(in srgb, var(--hwped-accent) 88%, #000000);
165
+ border-color: color-mix(in srgb, var(--hwped-accent) 88%, #000000);
166
+ }
167
+ .hwped-btn-primary:active:not(:disabled) {
168
+ background: color-mix(in srgb, var(--hwped-accent) 78%, #000000);
169
+ }
170
+ .hwped-btn-primary:disabled {
171
+ color: var(--hwped-muted);
172
+ background: color-mix(in srgb, var(--hwped-accent) 14%, var(--hwped-bg));
173
+ border-color: transparent;
174
+ opacity: 1;
175
+ }
176
+ .hwped-btn-danger {
177
+ color: var(--hwped-error);
129
178
  }
130
179
  .hwped-btn-danger:hover:not(:disabled) {
131
180
  border-color: var(--hwped-error);
132
181
  color: var(--hwped-error);
182
+ background: color-mix(in srgb, var(--hwped-error) 9%, var(--hwped-bg));
133
183
  }
134
184
  .hwped-btn-link {
135
185
  border: none;
186
+ background: none;
187
+ min-height: 0;
136
188
  padding: 0;
137
189
  color: var(--hwped-accent);
138
190
  text-decoration: underline;
191
+ text-underline-offset: 2px;
192
+ }
193
+ .hwped-btn-link:hover:not(:disabled) {
194
+ background: none;
139
195
  }
140
196
  .hwped-toolbar > .hwped-btn {
141
197
  flex: 0 0 auto;
@@ -147,14 +203,32 @@
147
203
  background: var(--hwped-bg);
148
204
  border: 1px solid var(--hwped-border);
149
205
  border-radius: var(--hwped-radius);
150
- padding: 4px 8px;
206
+ min-height: 28px;
207
+ padding: 4px 9px;
151
208
  width: 100%;
209
+ transition: border-color var(--_hwped-quick), box-shadow var(--_hwped-quick);
210
+ }
211
+ .hwped-input::placeholder,
212
+ .hwped-textarea::placeholder {
213
+ color: var(--hwped-muted);
214
+ opacity: 0.8;
215
+ }
216
+ .hwped-input:hover:not(:disabled),
217
+ .hwped-textarea:hover:not(:disabled) {
218
+ border-color: color-mix(in srgb, var(--hwped-fg) 30%, var(--hwped-border));
152
219
  }
153
220
  .hwped-input:focus,
154
- .hwped-textarea:focus,
155
- .hwped-btn:focus-visible {
156
- outline: 2px solid var(--hwped-accent);
157
- outline-offset: 1px;
221
+ .hwped-textarea:focus {
222
+ outline: none;
223
+ border-color: var(--hwped-accent);
224
+ box-shadow: var(--_hwped-ring);
225
+ }
226
+ .hwped-btn:focus-visible,
227
+ .hwped-tab:focus-visible,
228
+ .hwped-preset:focus-visible,
229
+ .hwped-cell:focus-visible {
230
+ outline: none;
231
+ box-shadow: var(--_hwped-ring);
158
232
  }
159
233
  .hwped-input-narrow {
160
234
  width: 96px;
@@ -163,7 +237,18 @@
163
237
  .hwped-check {
164
238
  display: inline-flex;
165
239
  align-items: center;
166
- gap: 4px;
240
+ gap: 6px;
241
+ cursor: pointer;
242
+ }
243
+ .hwped-check input {
244
+ accent-color: var(--hwped-accent);
245
+ }
246
+ .hwped-pending-list {
247
+ flex: 0 1 auto;
248
+ min-height: 0;
249
+ max-height: 120px;
250
+ overflow: auto;
251
+ overflow-wrap: anywhere;
167
252
  }
168
253
  .hwped-main {
169
254
  display: flex;
@@ -173,54 +258,78 @@
173
258
  .hwped-canvas {
174
259
  flex: 1 1 auto;
175
260
  overflow: auto;
176
- padding: 16px;
261
+ padding: 24px;
177
262
  display: flex;
178
263
  flex-direction: column;
179
264
  align-items: center;
180
- gap: 16px;
265
+ gap: 24px;
266
+ background: var(--_hwped-desk);
181
267
  }
182
268
  .hwped-side {
183
269
  flex: 0 0 300px;
184
- border-left: 1px solid var(--hwped-border);
270
+ border-left: 1px solid var(--_hwped-hairline);
271
+ background: var(--hwped-bg);
185
272
  display: flex;
186
273
  flex-direction: column;
187
274
  min-height: 0;
188
275
  }
189
276
  .hwped-tabs {
190
277
  display: flex;
191
- border-bottom: 1px solid var(--hwped-border);
278
+ flex-wrap: wrap;
279
+ gap: 2px;
280
+ margin: 10px 12px 2px;
281
+ padding: 3px;
282
+ background: var(--_hwped-fill);
283
+ border-radius: calc(var(--hwped-radius) + 2px);
192
284
  flex: 0 0 auto;
193
285
  }
194
286
  .hwped-tab {
195
287
  font: inherit;
196
- flex: 1 1 0;
197
- padding: 6px 0;
288
+ font-weight: 500;
289
+ flex: 1 1 78px;
290
+ min-width: 0;
291
+ min-height: 26px;
292
+ padding: 3px 0;
198
293
  background: none;
199
294
  border: none;
200
- border-bottom: 2px solid transparent;
295
+ border-radius: var(--hwped-radius);
201
296
  color: var(--hwped-muted);
202
297
  cursor: pointer;
298
+ transition:
299
+ background-color var(--_hwped-quick),
300
+ color var(--_hwped-quick),
301
+ transform var(--_hwped-quick);
302
+ }
303
+ .hwped-tab:hover:not(.hwped-tab-active) {
304
+ color: var(--hwped-fg);
305
+ }
306
+ .hwped-tab:active {
307
+ transform: scale(0.97);
203
308
  }
204
309
  .hwped-tab-active {
205
310
  color: var(--hwped-fg);
206
- border-bottom-color: var(--hwped-accent);
311
+ background: var(--hwped-bg);
207
312
  font-weight: 600;
313
+ box-shadow: 0 1px 2px rgba(0, 0, 0, 0.12), 0 0 0 0.5px rgba(0, 0, 0, 0.06);
208
314
  }
209
315
  .hwped-panel {
210
- padding: 10px;
316
+ padding: 12px;
211
317
  overflow: auto;
212
318
  display: flex;
213
319
  flex-direction: column;
214
- gap: 12px;
320
+ gap: 16px;
215
321
  }
216
322
  .hwped-field {
217
323
  display: flex;
218
324
  flex-direction: column;
219
- gap: 4px;
325
+ gap: 6px;
220
326
  }
221
327
  .hwped-label {
222
328
  font-size: 12px;
223
- color: var(--hwped-muted);
329
+ font-weight: 600;
330
+ letter-spacing: 0.01em;
331
+ line-height: 1.35;
332
+ color: color-mix(in srgb, var(--hwped-fg) 72%, var(--hwped-bg));
224
333
  }
225
334
  .hwped-row {
226
335
  display: flex;
@@ -228,10 +337,32 @@
228
337
  gap: 6px;
229
338
  flex-wrap: wrap;
230
339
  }
340
+ .hwped-row[role=group] {
341
+ gap: 0;
342
+ flex-wrap: nowrap;
343
+ }
344
+ .hwped-row[role=group] > .hwped-btn {
345
+ flex: 1 1 0;
346
+ padding-inline: 6px;
347
+ border-radius: 0;
348
+ margin-left: -1px;
349
+ }
350
+ .hwped-row[role=group] > .hwped-btn:first-child {
351
+ margin-left: 0;
352
+ border-radius: var(--hwped-radius) 0 0 var(--hwped-radius);
353
+ }
354
+ .hwped-row[role=group] > .hwped-btn:last-child {
355
+ border-radius: 0 var(--hwped-radius) var(--hwped-radius) 0;
356
+ }
357
+ .hwped-row[role=group] > .hwped-btn:hover:not(:disabled),
358
+ .hwped-row[role=group] > .hwped-btn:focus-visible {
359
+ position: relative;
360
+ z-index: 1;
361
+ }
231
362
  .hwped-quote {
232
- border: 1px solid var(--hwped-border);
363
+ background: var(--_hwped-fill);
233
364
  border-radius: var(--hwped-radius);
234
- padding: 6px 8px;
365
+ padding: 8px 10px;
235
366
  max-height: 120px;
236
367
  overflow: auto;
237
368
  white-space: pre-wrap;
@@ -244,36 +375,47 @@
244
375
  .hwped-empty {
245
376
  margin: auto;
246
377
  text-align: center;
378
+ display: flex;
379
+ flex-direction: column;
380
+ align-items: center;
381
+ gap: 12px;
247
382
  }
248
383
  .hwped-error {
249
384
  color: var(--hwped-error);
250
385
  margin: 0;
251
- padding: 6px 10px;
252
- border-bottom: 1px solid var(--hwped-border);
386
+ padding: 8px 12px;
387
+ background: color-mix(in srgb, var(--hwped-error) 9%, var(--hwped-bg));
388
+ border-bottom: 1px solid var(--_hwped-hairline);
389
+ box-shadow: inset 3px 0 0 currentColor;
253
390
  }
254
391
  .hwped-error-kind {
255
392
  display: inline-block;
256
393
  margin-right: 8px;
257
- padding: 0 6px;
258
- border: 1px solid currentColor;
259
- border-radius: var(--hwped-radius);
394
+ padding: 0 8px;
395
+ border-radius: 999px;
396
+ background: color-mix(in srgb, currentColor 14%, transparent);
260
397
  font-size: 11px;
398
+ font-weight: 600;
399
+ letter-spacing: 0.02em;
261
400
  }
262
401
  .hwped-error-timeout {
263
402
  color: var(--hwped-warning);
403
+ background: color-mix(in srgb, var(--hwped-warning) 10%, var(--hwped-bg));
264
404
  }
265
405
  .hwped-page {
266
406
  position: relative;
267
407
  width: min(100%, 720px);
268
- border: 1px solid var(--hwped-border);
269
- border-radius: 2px;
270
- box-shadow: 0 1px 4px rgba(0, 0, 0, 0.12);
408
+ border-radius: 3px;
409
+ box-shadow:
410
+ 0 0 0 1px color-mix(in srgb, var(--hwped-fg) 8%, transparent),
411
+ 0 1px 2px rgba(0, 0, 0, 0.08),
412
+ 0 8px 24px rgba(0, 0, 0, 0.12);
271
413
  background: #ffffff;
272
414
  cursor: text;
273
415
  }
274
416
  .hwped-page:focus-visible {
275
417
  outline: 2px solid var(--hwped-accent);
276
- outline-offset: 2px;
418
+ outline-offset: 3px;
277
419
  }
278
420
  .hwped-page-svg,
279
421
  .hwped-page-img {
@@ -291,13 +433,15 @@
291
433
  left: 0;
292
434
  right: 0;
293
435
  pointer-events: none;
436
+ transition: background-color var(--_hwped-quick);
294
437
  }
295
438
  .hwped-band-selected {
296
- background: color-mix(in srgb, var(--hwped-accent) 22%, transparent);
297
- outline: 1px solid var(--hwped-accent);
439
+ background: color-mix(in srgb, var(--hwped-accent) 9%, transparent);
440
+ box-shadow: inset 3px 0 0 var(--hwped-accent), inset 0 0 0 1px color-mix(in srgb, var(--hwped-accent) 45%, transparent);
298
441
  }
299
442
  .hwped-band-pending {
300
- background: color-mix(in srgb, var(--hwped-accent) 10%, transparent);
443
+ background: color-mix(in srgb, var(--hwped-accent) 6%, transparent);
444
+ box-shadow: inset 3px 0 0 color-mix(in srgb, var(--hwped-accent) 45%, transparent);
301
445
  }
302
446
  .hwped-grid {
303
447
  border-collapse: collapse;
@@ -314,10 +458,17 @@
314
458
  border: none;
315
459
  background: none;
316
460
  color: var(--hwped-fg);
317
- padding: 4px 6px;
461
+ padding: 5px 8px;
318
462
  text-align: left;
319
463
  cursor: pointer;
320
- min-height: 24px;
464
+ min-height: 28px;
465
+ transition: background-color var(--_hwped-quick);
466
+ }
467
+ .hwped-cell:hover {
468
+ background: var(--_hwped-hover);
469
+ }
470
+ .hwped-cell:active {
471
+ background: var(--_hwped-press);
321
472
  }
322
473
  .hwped-cell-selected {
323
474
  outline: 2px solid var(--hwped-accent);
@@ -332,40 +483,48 @@
332
483
  padding: 0;
333
484
  display: flex;
334
485
  flex-direction: column;
335
- gap: 10px;
486
+ gap: 12px;
336
487
  }
337
488
  .hwped-field-item {
338
- border-bottom: 1px solid var(--hwped-border);
339
- padding-bottom: 8px;
489
+ border-bottom: 1px solid var(--_hwped-hairline);
490
+ padding-bottom: 10px;
340
491
  display: flex;
341
492
  flex-direction: column;
342
- gap: 4px;
493
+ gap: 6px;
343
494
  }
344
495
  .hwped-overlay {
345
496
  position: fixed;
346
497
  inset: 0;
347
- background: rgba(0, 0, 0, 0.4);
498
+ background: rgba(0, 0, 0, 0.32);
499
+ backdrop-filter: blur(6px) saturate(120%);
500
+ -webkit-backdrop-filter: blur(6px) saturate(120%);
348
501
  display: flex;
349
502
  align-items: center;
350
503
  justify-content: center;
351
504
  z-index: 1000;
505
+ animation: hwped-fade-in 160ms ease-out;
352
506
  }
353
507
  .hwped-dialog {
354
508
  background: var(--hwped-bg);
355
509
  color: var(--hwped-fg);
356
- border: 1px solid var(--hwped-border);
357
- border-radius: var(--hwped-radius);
510
+ border: 1px solid var(--_hwped-hairline);
511
+ border-radius: calc(var(--hwped-radius) * 2);
512
+ box-shadow: 0 2px 8px rgba(0, 0, 0, 0.12), 0 24px 64px rgba(0, 0, 0, 0.28);
358
513
  width: min(560px, calc(100vw - 32px));
359
514
  max-height: calc(100vh - 64px);
360
515
  overflow: auto;
361
- padding: 16px;
516
+ padding: 20px;
362
517
  display: flex;
363
518
  flex-direction: column;
364
- gap: 12px;
519
+ gap: 14px;
520
+ animation: hwped-materialize 200ms cubic-bezier(0.2, 0.8, 0.2, 1);
365
521
  }
366
522
  .hwped-dialog-title {
367
523
  margin: 0;
368
- font-size: 15px;
524
+ font-size: 17px;
525
+ font-weight: 600;
526
+ line-height: 1.3;
527
+ letter-spacing: -0.015em;
369
528
  }
370
529
  .hwped-presets {
371
530
  display: flex;
@@ -374,19 +533,82 @@
374
533
  }
375
534
  .hwped-preset {
376
535
  font: inherit;
536
+ font-weight: 500;
377
537
  border: 1px solid var(--hwped-border);
378
- border-radius: var(--hwped-radius);
538
+ border-radius: 999px;
379
539
  background: var(--hwped-bg);
380
540
  color: var(--hwped-fg);
381
- padding: 4px 10px;
541
+ min-height: 28px;
542
+ padding: 3px 12px;
382
543
  cursor: pointer;
544
+ transition:
545
+ background-color var(--_hwped-quick),
546
+ border-color var(--_hwped-quick),
547
+ transform var(--_hwped-quick);
548
+ }
549
+ .hwped-preset:hover:not(.hwped-preset-active) {
550
+ background: var(--_hwped-hover);
551
+ }
552
+ .hwped-preset:active {
553
+ transform: scale(0.97);
383
554
  }
384
555
  .hwped-preset-active {
385
556
  border-color: var(--hwped-accent);
557
+ background: color-mix(in srgb, var(--hwped-accent) 12%, var(--hwped-bg));
386
558
  color: var(--hwped-accent);
387
559
  font-weight: 600;
388
560
  }
389
561
  .hwped-dialog-actions {
390
562
  justify-content: flex-end;
563
+ padding-top: 4px;
564
+ }
565
+ @keyframes hwped-fade-in {
566
+ from {
567
+ opacity: 0;
568
+ }
569
+ }
570
+ @keyframes hwped-materialize {
571
+ from {
572
+ opacity: 0;
573
+ transform: scale(0.98);
574
+ }
575
+ }
576
+ @media (prefers-reduced-motion: reduce) {
577
+ .hwped *,
578
+ .hwped *::before,
579
+ .hwped *::after {
580
+ transition-duration: 0ms !important;
581
+ }
582
+ .hwped-btn:active:not(:disabled),
583
+ .hwped-tab:active,
584
+ .hwped-preset:active {
585
+ transform: none;
586
+ }
587
+ .hwped-overlay,
588
+ .hwped-dialog {
589
+ animation: none;
590
+ }
591
+ }
592
+ @media (prefers-reduced-transparency: reduce) {
593
+ .hwped-overlay {
594
+ background: rgba(0, 0, 0, 0.55);
595
+ backdrop-filter: none;
596
+ -webkit-backdrop-filter: none;
597
+ }
598
+ }
599
+ @media (prefers-contrast: more) {
600
+ .hwped {
601
+ --_hwped-hairline: var(--hwped-fg);
602
+ }
603
+ .hwped-btn,
604
+ .hwped-input,
605
+ .hwped-textarea,
606
+ .hwped-preset,
607
+ .hwped-grid td {
608
+ border-color: var(--hwped-fg);
609
+ }
610
+ .hwped-tabs {
611
+ box-shadow: inset 0 0 0 1px var(--hwped-fg);
612
+ }
391
613
  }
392
614
  /*# sourceMappingURL=index.css.map */
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/theme.css","../src/editor.css"],"sourcesContent":["/**\n * Theme contract for @hwp-editor/react. Hosts theme the editor ONLY by\n * overriding these variables on the editor root or any ancestor:\n *\n * --hwped-bg surface background\n * --hwped-fg primary text\n * --hwped-muted secondary text / disabled\n * --hwped-accent primary actions, selection\n * --hwped-border hairline borders\n * --hwped-error destructive / error text and badges\n * --hwped-warning transient warning (timeout badge only)\n * --hwped-success success badge\n * --hwped-radius corner radius\n * --hwped-font font stack (default: Pretendard -> system)\n *\n * Defaults below include a prefers-color-scheme dark fallback.\n */\n\n.hwped {\n --hwped-bg: #ffffff;\n --hwped-fg: #1a1d21;\n --hwped-muted: #6b7280;\n --hwped-accent: #1f5fbf;\n --hwped-border: #d7dbe0;\n --hwped-error: #b91c1c;\n --hwped-warning: #a16207;\n --hwped-success: #15803d;\n --hwped-radius: 6px;\n --hwped-font:\n \"Pretendard\", \"Pretendard Variable\", \"Malgun Gothic\", \"맑은 고딕\",\n -apple-system, \"Segoe UI\", Roboto, \"Noto Sans KR\", sans-serif;\n}\n\n@media (prefers-color-scheme: dark) {\n .hwped {\n --hwped-bg: #17191d;\n --hwped-fg: #e5e7eb;\n --hwped-muted: #9ca3af;\n --hwped-accent: #5b8def;\n --hwped-border: #33373f;\n /* Lifted for >= 4.5:1 against --hwped-bg at 11-13px. */\n --hwped-error: #f87171;\n --hwped-warning: #fbbf24;\n --hwped-success: #4ade80;\n }\n}\n","/**\n * Scoped stylesheet for @hwp-editor/react. Every class carries the `hwped`\n * prefix; the root element gets `.hwped.hwped-root`. No global selectors,\n * no component-kit assumptions.\n */\n\n.hwped {\n background: var(--hwped-bg);\n color: var(--hwped-fg);\n font-family: var(--hwped-font);\n font-size: 13px;\n line-height: 1.5;\n}\n\n.hwped *,\n.hwped *::before,\n.hwped *::after {\n box-sizing: border-box;\n}\n\n.hwped-root {\n display: flex;\n flex-direction: column;\n height: 100%;\n min-height: 320px;\n border: 1px solid var(--hwped-border);\n border-radius: var(--hwped-radius);\n overflow: hidden;\n}\n\n/* ---- toolbar ---- */\n\n.hwped-toolbar {\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 6px 10px;\n border-bottom: 1px solid var(--hwped-border);\n flex: 0 0 auto;\n}\n\n.hwped-title {\n font-weight: 600;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n max-width: 40%;\n}\n\n.hwped-spacer {\n flex: 1 1 auto;\n}\n\n/* The title and this notice are the only toolbar items that may shrink: a\n long engine reason truncates here (the full text stays reachable via the\n element's title attribute) instead of being distributed across the badge,\n count and buttons, which would collapse them to min-content and stack the\n row. That is why every sibling below carries `flex: 0 0 auto` (G-03-1). */\n.hwped-notice {\n color: var(--hwped-muted);\n border: 1px solid var(--hwped-border);\n border-radius: var(--hwped-radius);\n padding: 1px 8px;\n font-size: 12px;\n min-width: 0;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n flex: 0 1 auto;\n}\n\n.hwped-badge {\n border-radius: var(--hwped-radius);\n padding: 1px 8px;\n font-size: 12px;\n border: 1px solid var(--hwped-border);\n flex: 0 0 auto;\n}\n\n.hwped-badge-ok {\n color: var(--hwped-success);\n border-color: var(--hwped-success);\n}\n\n.hwped-badge-err {\n color: var(--hwped-error);\n border-color: var(--hwped-error);\n}\n\n.hwped-count {\n color: var(--hwped-muted);\n font-size: 12px;\n flex: 0 0 auto;\n}\n\n/* ---- buttons / inputs ---- */\n\n.hwped-btn {\n font: inherit;\n color: var(--hwped-fg);\n background: var(--hwped-bg);\n border: 1px solid var(--hwped-border);\n border-radius: var(--hwped-radius);\n padding: 3px 10px;\n cursor: pointer;\n}\n\n.hwped-btn:hover:not(:disabled) {\n border-color: var(--hwped-accent);\n}\n\n.hwped-btn:disabled {\n color: var(--hwped-muted);\n cursor: not-allowed;\n opacity: 0.6;\n}\n\n.hwped-btn-primary {\n background: var(--hwped-accent);\n border-color: var(--hwped-accent);\n color: #ffffff;\n}\n\n.hwped-btn-danger:hover:not(:disabled) {\n border-color: var(--hwped-error);\n color: var(--hwped-error);\n}\n\n.hwped-btn-link {\n border: none;\n padding: 0;\n color: var(--hwped-accent);\n text-decoration: underline;\n}\n\n/* Scoped to direct toolbar children on purpose: `.hwped-btn` is reused by\n SegmentInspector, TableGrid, FieldsPanel, the compose dialog actions and\n the empty-state button, where non-shrinkable buttons would trade this bug\n for horizontal overflow in those narrow rows. */\n.hwped-toolbar > .hwped-btn {\n flex: 0 0 auto;\n}\n\n.hwped-input,\n.hwped-textarea {\n font: inherit;\n color: var(--hwped-fg);\n background: var(--hwped-bg);\n border: 1px solid var(--hwped-border);\n border-radius: var(--hwped-radius);\n padding: 4px 8px;\n width: 100%;\n}\n\n.hwped-input:focus,\n.hwped-textarea:focus,\n.hwped-btn:focus-visible {\n outline: 2px solid var(--hwped-accent);\n outline-offset: 1px;\n}\n\n.hwped-input-narrow {\n width: 96px;\n flex: 0 0 auto;\n}\n\n.hwped-check {\n display: inline-flex;\n align-items: center;\n gap: 4px;\n}\n\n/* ---- layout ---- */\n\n.hwped-main {\n display: flex;\n flex: 1 1 auto;\n min-height: 0;\n}\n\n.hwped-canvas {\n flex: 1 1 auto;\n overflow: auto;\n padding: 16px;\n display: flex;\n flex-direction: column;\n align-items: center;\n gap: 16px;\n}\n\n.hwped-side {\n flex: 0 0 300px;\n border-left: 1px solid var(--hwped-border);\n display: flex;\n flex-direction: column;\n min-height: 0;\n}\n\n.hwped-tabs {\n display: flex;\n border-bottom: 1px solid var(--hwped-border);\n flex: 0 0 auto;\n}\n\n.hwped-tab {\n font: inherit;\n flex: 1 1 0;\n padding: 6px 0;\n background: none;\n border: none;\n border-bottom: 2px solid transparent;\n color: var(--hwped-muted);\n cursor: pointer;\n}\n\n.hwped-tab-active {\n color: var(--hwped-fg);\n border-bottom-color: var(--hwped-accent);\n font-weight: 600;\n}\n\n.hwped-panel {\n padding: 10px;\n overflow: auto;\n display: flex;\n flex-direction: column;\n gap: 12px;\n}\n\n.hwped-field {\n display: flex;\n flex-direction: column;\n gap: 4px;\n}\n\n.hwped-label {\n font-size: 12px;\n color: var(--hwped-muted);\n}\n\n.hwped-row {\n display: flex;\n align-items: center;\n gap: 6px;\n flex-wrap: wrap;\n}\n\n.hwped-quote {\n border: 1px solid var(--hwped-border);\n border-radius: var(--hwped-radius);\n padding: 6px 8px;\n max-height: 120px;\n overflow: auto;\n white-space: pre-wrap;\n word-break: break-word;\n}\n\n.hwped-hint,\n.hwped-empty {\n color: var(--hwped-muted);\n}\n\n.hwped-empty {\n margin: auto;\n text-align: center;\n}\n\n.hwped-error {\n color: var(--hwped-error);\n margin: 0;\n padding: 6px 10px;\n border-bottom: 1px solid var(--hwped-border);\n}\n\n.hwped-error-kind {\n display: inline-block;\n margin-right: 8px;\n padding: 0 6px;\n border: 1px solid currentColor;\n border-radius: var(--hwped-radius);\n font-size: 11px;\n}\n\n/* timeout is transient (retry may succeed); unavailable/protected are not. */\n.hwped-error-timeout {\n color: var(--hwped-warning);\n}\n\n/* ---- page canvas ---- */\n\n.hwped-page {\n position: relative;\n width: min(100%, 720px);\n border: 1px solid var(--hwped-border);\n border-radius: 2px;\n box-shadow: 0 1px 4px rgba(0, 0, 0, 0.12);\n background: #ffffff;\n cursor: text;\n}\n\n.hwped-page:focus-visible {\n outline: 2px solid var(--hwped-accent);\n outline-offset: 2px;\n}\n\n.hwped-page-svg,\n.hwped-page-img {\n display: block;\n width: 100%;\n height: 100%;\n}\n\n.hwped-page-svg > svg {\n display: block;\n width: 100%;\n height: auto;\n}\n\n.hwped-band {\n position: absolute;\n left: 0;\n right: 0;\n pointer-events: none;\n}\n\n.hwped-band-selected {\n background: color-mix(in srgb, var(--hwped-accent) 22%, transparent);\n outline: 1px solid var(--hwped-accent);\n}\n\n.hwped-band-pending {\n background: color-mix(in srgb, var(--hwped-accent) 10%, transparent);\n}\n\n/* ---- table grid ---- */\n\n.hwped-grid {\n border-collapse: collapse;\n width: 100%;\n}\n\n.hwped-grid td {\n border: 1px solid var(--hwped-border);\n padding: 0;\n}\n\n.hwped-cell {\n font: inherit;\n display: block;\n width: 100%;\n border: none;\n background: none;\n color: var(--hwped-fg);\n padding: 4px 6px;\n text-align: left;\n cursor: pointer;\n min-height: 24px;\n}\n\n.hwped-cell-selected {\n outline: 2px solid var(--hwped-accent);\n outline-offset: -2px;\n}\n\n.hwped-cell-anchor {\n background: color-mix(in srgb, var(--hwped-accent) 14%, transparent);\n}\n\n/* ---- fields ---- */\n\n.hwped-fields {\n list-style: none;\n margin: 0;\n padding: 0;\n display: flex;\n flex-direction: column;\n gap: 10px;\n}\n\n.hwped-field-item {\n border-bottom: 1px solid var(--hwped-border);\n padding-bottom: 8px;\n display: flex;\n flex-direction: column;\n gap: 4px;\n}\n\n/* ---- compose dialog ---- */\n\n.hwped-overlay {\n position: fixed;\n inset: 0;\n background: rgba(0, 0, 0, 0.4);\n display: flex;\n align-items: center;\n justify-content: center;\n z-index: 1000;\n}\n\n.hwped-dialog {\n background: var(--hwped-bg);\n color: var(--hwped-fg);\n border: 1px solid var(--hwped-border);\n border-radius: var(--hwped-radius);\n width: min(560px, calc(100vw - 32px));\n max-height: calc(100vh - 64px);\n overflow: auto;\n padding: 16px;\n display: flex;\n flex-direction: column;\n gap: 12px;\n}\n\n.hwped-dialog-title {\n margin: 0;\n font-size: 15px;\n}\n\n.hwped-presets {\n display: flex;\n flex-wrap: wrap;\n gap: 6px;\n}\n\n.hwped-preset {\n font: inherit;\n border: 1px solid var(--hwped-border);\n border-radius: var(--hwped-radius);\n background: var(--hwped-bg);\n color: var(--hwped-fg);\n padding: 4px 10px;\n cursor: pointer;\n}\n\n.hwped-preset-active {\n border-color: var(--hwped-accent);\n color: var(--hwped-accent);\n font-weight: 600;\n}\n\n.hwped-dialog-actions {\n justify-content: flex-end;\n}\n"],"mappings":"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","names":[]}
1
+ {"version":3,"sources":["../src/theme.css","../src/editor.css"],"sourcesContent":["/**\n * Theme contract for @hwp-editor/react. Hosts theme the editor ONLY by\n * overriding these variables on the editor root or any ancestor:\n *\n * --hwped-bg surface background\n * --hwped-fg primary text\n * --hwped-muted secondary text / disabled\n * --hwped-accent primary actions, selection\n * --hwped-border hairline borders\n * --hwped-error destructive / error text and badges\n * --hwped-warning transient warning (timeout badge only)\n * --hwped-success success badge\n * --hwped-radius corner radius\n * --hwped-font font stack (default: Pretendard -> system)\n *\n * Defaults below include a prefers-color-scheme dark fallback.\n */\n\n.hwped {\n --hwped-bg: #ffffff;\n --hwped-fg: #1a1d21;\n --hwped-muted: #6b7280;\n --hwped-accent: #1f5fbf;\n --hwped-border: #d7dbe0;\n --hwped-error: #b91c1c;\n --hwped-warning: #a16207;\n --hwped-success: #15803d;\n --hwped-radius: 6px;\n --hwped-font:\n \"Pretendard\", \"Pretendard Variable\", \"Malgun Gothic\", \"맑은 고딕\",\n -apple-system, \"Segoe UI\", Roboto, \"Noto Sans KR\", sans-serif;\n}\n\n@media (prefers-color-scheme: dark) {\n .hwped {\n --hwped-bg: #17191d;\n --hwped-fg: #e5e7eb;\n --hwped-muted: #9ca3af;\n --hwped-accent: #5b8def;\n --hwped-border: #33373f;\n /* Lifted for >= 4.5:1 against --hwped-bg at 11-13px. */\n --hwped-error: #f87171;\n --hwped-warning: #fbbf24;\n --hwped-success: #4ade80;\n }\n}\n","/**\n * Scoped stylesheet for @hwp-editor/react. Every class carries the `hwped`\n * prefix; the root element gets `.hwped.hwped-root`. No global selectors,\n * no component-kit assumptions.\n *\n * Design notes (HIG-derived, #34): depth comes from tone and shadow rather\n * than extra lines; every control answers on press, not on release; status\n * is tinted by kind; motion is short, and dropped under reduced motion.\n *\n * Every tone below is DERIVED from the public --hwped-* tokens with\n * color-mix, so a host that maps those tokens (light or dark) gets the whole\n * palette. The --_hwped-* names are private and not part of the contract.\n */\n\n.hwped {\n --_hwped-desk: color-mix(in srgb, var(--hwped-fg) 5%, var(--hwped-bg));\n --_hwped-fill: color-mix(in srgb, var(--hwped-fg) 7%, var(--hwped-bg));\n --_hwped-hover: color-mix(in srgb, var(--hwped-accent) 9%, var(--hwped-bg));\n --_hwped-press: color-mix(in srgb, var(--hwped-accent) 16%, var(--hwped-bg));\n --_hwped-hairline: color-mix(in srgb, var(--hwped-border) 75%, transparent);\n --_hwped-ring: 0 0 0 3px color-mix(in srgb, var(--hwped-accent) 35%, transparent);\n --_hwped-quick: 100ms ease-out;\n\n background: var(--hwped-bg);\n color: var(--hwped-fg);\n font-family: var(--hwped-font);\n font-size: 13px;\n line-height: 1.5;\n -webkit-font-smoothing: antialiased;\n}\n\n.hwped *,\n.hwped *::before,\n.hwped *::after {\n box-sizing: border-box;\n}\n\n.hwped-root {\n display: flex;\n flex-direction: column;\n height: 100%;\n min-height: 320px;\n border: 1px solid var(--hwped-border);\n border-radius: var(--hwped-radius);\n overflow: hidden;\n}\n\n/* ---- toolbar ---- */\n\n.hwped-toolbar {\n display: flex;\n align-items: center;\n gap: 8px;\n min-height: 44px;\n padding: 6px 12px;\n border-bottom: 1px solid var(--_hwped-hairline);\n background: var(--hwped-bg);\n flex: 0 0 auto;\n position: relative;\n z-index: 1;\n}\n\n.hwped-title {\n font-weight: 600;\n letter-spacing: -0.01em;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n max-width: 40%;\n}\n\n.hwped-spacer {\n flex: 1 1 auto;\n}\n\n/* The title and this notice are the only toolbar items that may shrink: a\n long engine reason truncates here (the full text stays reachable via the\n element's title attribute) instead of being distributed across the badge,\n count and buttons, which would collapse them to min-content and stack the\n row. That is why every sibling below carries `flex: 0 0 auto` (G-03-1). */\n.hwped-notice {\n color: var(--hwped-muted);\n background: var(--_hwped-fill);\n border-radius: 999px;\n padding: 2px 10px;\n font-size: 12px;\n letter-spacing: 0.01em;\n min-width: 0;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n flex: 0 1 auto;\n}\n\n/* Status reads by kind, not by outline: a tinted pill in the kind's color. */\n.hwped-badge {\n border-radius: 999px;\n padding: 2px 10px;\n font-size: 12px;\n font-weight: 600;\n letter-spacing: 0.01em;\n border: 1px solid transparent;\n background: var(--_hwped-fill);\n flex: 0 0 auto;\n}\n\n.hwped-badge-ok {\n color: var(--hwped-success);\n background: color-mix(in srgb, var(--hwped-success) 14%, transparent);\n}\n\n.hwped-badge-err {\n color: var(--hwped-error);\n background: color-mix(in srgb, var(--hwped-error) 14%, transparent);\n}\n\n.hwped-count {\n color: var(--hwped-muted);\n font-size: 12px;\n letter-spacing: 0.01em;\n font-variant-numeric: tabular-nums;\n flex: 0 0 auto;\n}\n\n/* ---- buttons / inputs ---- */\n\n.hwped-btn {\n font: inherit;\n font-weight: 500;\n color: var(--hwped-fg);\n background: var(--hwped-bg);\n border: 1px solid var(--hwped-border);\n border-radius: var(--hwped-radius);\n min-height: 28px;\n padding: 3px 12px;\n cursor: pointer;\n transition:\n background-color var(--_hwped-quick),\n border-color var(--_hwped-quick),\n transform var(--_hwped-quick);\n}\n\n.hwped-btn:hover:not(:disabled) {\n background: var(--_hwped-hover);\n border-color: color-mix(in srgb, var(--hwped-accent) 55%, var(--hwped-border));\n}\n\n/* Feedback on press, instantly - never only on release. */\n.hwped-btn:active:not(:disabled) {\n background: var(--_hwped-press);\n transform: scale(0.97);\n}\n\n.hwped-btn:disabled {\n color: var(--hwped-muted);\n background: transparent;\n border-color: var(--_hwped-hairline);\n cursor: not-allowed;\n opacity: 0.55;\n}\n\n.hwped-btn-primary {\n background: var(--hwped-accent);\n border-color: var(--hwped-accent);\n color: #ffffff;\n font-weight: 600;\n}\n\n.hwped-btn-primary:hover:not(:disabled) {\n background: color-mix(in srgb, var(--hwped-accent) 88%, #000000);\n border-color: color-mix(in srgb, var(--hwped-accent) 88%, #000000);\n}\n\n.hwped-btn-primary:active:not(:disabled) {\n background: color-mix(in srgb, var(--hwped-accent) 78%, #000000);\n}\n\n/* A disabled primary keeps a trace of its accent, but must not read as live. */\n.hwped-btn-primary:disabled {\n color: var(--hwped-muted);\n background: color-mix(in srgb, var(--hwped-accent) 14%, var(--hwped-bg));\n border-color: transparent;\n opacity: 1;\n}\n\n/* Destructive reads as destructive at rest, not only on hover. */\n.hwped-btn-danger {\n color: var(--hwped-error);\n}\n\n.hwped-btn-danger:hover:not(:disabled) {\n border-color: var(--hwped-error);\n color: var(--hwped-error);\n background: color-mix(in srgb, var(--hwped-error) 9%, var(--hwped-bg));\n}\n\n.hwped-btn-link {\n border: none;\n background: none;\n min-height: 0;\n padding: 0;\n color: var(--hwped-accent);\n text-decoration: underline;\n text-underline-offset: 2px;\n}\n\n.hwped-btn-link:hover:not(:disabled) {\n background: none;\n}\n\n/* Scoped to direct toolbar children on purpose: `.hwped-btn` is reused by\n SegmentInspector, TableGrid, FieldsPanel, the compose dialog actions and\n the empty-state button, where non-shrinkable buttons would trade this bug\n for horizontal overflow in those narrow rows. */\n.hwped-toolbar > .hwped-btn {\n flex: 0 0 auto;\n}\n\n.hwped-input,\n.hwped-textarea {\n font: inherit;\n color: var(--hwped-fg);\n background: var(--hwped-bg);\n border: 1px solid var(--hwped-border);\n border-radius: var(--hwped-radius);\n min-height: 28px;\n padding: 4px 9px;\n width: 100%;\n transition:\n border-color var(--_hwped-quick),\n box-shadow var(--_hwped-quick);\n}\n\n.hwped-input::placeholder,\n.hwped-textarea::placeholder {\n color: var(--hwped-muted);\n opacity: 0.8;\n}\n\n.hwped-input:hover:not(:disabled),\n.hwped-textarea:hover:not(:disabled) {\n border-color: color-mix(in srgb, var(--hwped-fg) 30%, var(--hwped-border));\n}\n\n/* One focus treatment everywhere: accent edge plus a soft ring. */\n.hwped-input:focus,\n.hwped-textarea:focus {\n outline: none;\n border-color: var(--hwped-accent);\n box-shadow: var(--_hwped-ring);\n}\n\n.hwped-btn:focus-visible,\n.hwped-tab:focus-visible,\n.hwped-preset:focus-visible,\n.hwped-cell:focus-visible {\n outline: none;\n box-shadow: var(--_hwped-ring);\n}\n\n.hwped-input-narrow {\n width: 96px;\n flex: 0 0 auto;\n}\n\n.hwped-check {\n display: inline-flex;\n align-items: center;\n gap: 6px;\n cursor: pointer;\n}\n\n.hwped-check input {\n accent-color: var(--hwped-accent);\n}\n\n/* ---- layout ---- */\n\n.hwped-pending-list {\n flex: 0 1 auto;\n min-height: 0;\n max-height: 120px;\n overflow: auto;\n overflow-wrap: anywhere;\n}\n\n.hwped-main {\n display: flex;\n flex: 1 1 auto;\n min-height: 0;\n}\n\n/* The desk: a tone below the chrome, so the page reads as a sheet on it. */\n.hwped-canvas {\n flex: 1 1 auto;\n overflow: auto;\n padding: 24px;\n display: flex;\n flex-direction: column;\n align-items: center;\n gap: 24px;\n background: var(--_hwped-desk);\n}\n\n.hwped-side {\n flex: 0 0 300px;\n border-left: 1px solid var(--_hwped-hairline);\n background: var(--hwped-bg);\n display: flex;\n flex-direction: column;\n min-height: 0;\n}\n\n/* Tabs as a segmented control: a recessed track, the active segment raised. */\n.hwped-tabs {\n display: flex;\n flex-wrap: wrap;\n gap: 2px;\n margin: 10px 12px 2px;\n padding: 3px;\n background: var(--_hwped-fill);\n border-radius: calc(var(--hwped-radius) + 2px);\n flex: 0 0 auto;\n}\n\n.hwped-tab {\n font: inherit;\n font-weight: 500;\n flex: 1 1 78px;\n min-width: 0;\n min-height: 26px;\n padding: 3px 0;\n background: none;\n border: none;\n border-radius: var(--hwped-radius);\n color: var(--hwped-muted);\n cursor: pointer;\n transition:\n background-color var(--_hwped-quick),\n color var(--_hwped-quick),\n transform var(--_hwped-quick);\n}\n\n.hwped-tab:hover:not(.hwped-tab-active) {\n color: var(--hwped-fg);\n}\n\n.hwped-tab:active {\n transform: scale(0.97);\n}\n\n.hwped-tab-active {\n color: var(--hwped-fg);\n background: var(--hwped-bg);\n font-weight: 600;\n box-shadow:\n 0 1px 2px rgba(0, 0, 0, 0.12),\n 0 0 0 0.5px rgba(0, 0, 0, 0.06);\n}\n\n.hwped-panel {\n padding: 12px;\n overflow: auto;\n display: flex;\n flex-direction: column;\n gap: 16px;\n}\n\n.hwped-field {\n display: flex;\n flex-direction: column;\n gap: 6px;\n}\n\n.hwped-label {\n font-size: 12px;\n font-weight: 600;\n letter-spacing: 0.01em;\n line-height: 1.35;\n color: color-mix(in srgb, var(--hwped-fg) 72%, var(--hwped-bg));\n}\n\n.hwped-row {\n display: flex;\n align-items: center;\n gap: 6px;\n flex-wrap: wrap;\n}\n\n/* A role=\"group\" row of peer actions (alignment) reads as one joined control. */\n.hwped-row[role=\"group\"] {\n gap: 0;\n flex-wrap: nowrap;\n}\n\n.hwped-row[role=\"group\"] > .hwped-btn {\n flex: 1 1 0;\n padding-inline: 6px;\n border-radius: 0;\n margin-left: -1px;\n}\n\n.hwped-row[role=\"group\"] > .hwped-btn:first-child {\n margin-left: 0;\n border-radius: var(--hwped-radius) 0 0 var(--hwped-radius);\n}\n\n.hwped-row[role=\"group\"] > .hwped-btn:last-child {\n border-radius: 0 var(--hwped-radius) var(--hwped-radius) 0;\n}\n\n.hwped-row[role=\"group\"] > .hwped-btn:hover:not(:disabled),\n.hwped-row[role=\"group\"] > .hwped-btn:focus-visible {\n position: relative;\n z-index: 1;\n}\n\n.hwped-quote {\n background: var(--_hwped-fill);\n border-radius: var(--hwped-radius);\n padding: 8px 10px;\n max-height: 120px;\n overflow: auto;\n white-space: pre-wrap;\n word-break: break-word;\n}\n\n.hwped-hint,\n.hwped-empty {\n color: var(--hwped-muted);\n}\n\n.hwped-empty {\n margin: auto;\n text-align: center;\n display: flex;\n flex-direction: column;\n align-items: center;\n gap: 12px;\n}\n\n/* An error is a band in the kind's tint with a leading bar, not bare red text. */\n.hwped-error {\n color: var(--hwped-error);\n margin: 0;\n padding: 8px 12px;\n background: color-mix(in srgb, var(--hwped-error) 9%, var(--hwped-bg));\n border-bottom: 1px solid var(--_hwped-hairline);\n box-shadow: inset 3px 0 0 currentColor;\n}\n\n.hwped-error-kind {\n display: inline-block;\n margin-right: 8px;\n padding: 0 8px;\n border-radius: 999px;\n background: color-mix(in srgb, currentColor 14%, transparent);\n font-size: 11px;\n font-weight: 600;\n letter-spacing: 0.02em;\n}\n\n/* timeout is transient (retry may succeed); unavailable/protected are not. */\n.hwped-error-timeout {\n color: var(--hwped-warning);\n background: color-mix(in srgb, var(--hwped-warning) 10%, var(--hwped-bg));\n}\n\n/* ---- page canvas ---- */\n\n/* Paper on the desk: layered shadow, the larger layer giving it thickness. */\n.hwped-page {\n position: relative;\n width: min(100%, 720px);\n border-radius: 3px;\n box-shadow:\n 0 0 0 1px color-mix(in srgb, var(--hwped-fg) 8%, transparent),\n 0 1px 2px rgba(0, 0, 0, 0.08),\n 0 8px 24px rgba(0, 0, 0, 0.12);\n background: #ffffff;\n cursor: text;\n}\n\n.hwped-page:focus-visible {\n outline: 2px solid var(--hwped-accent);\n outline-offset: 3px;\n}\n\n.hwped-page-svg,\n.hwped-page-img {\n display: block;\n width: 100%;\n height: 100%;\n}\n\n.hwped-page-svg > svg {\n display: block;\n width: 100%;\n height: auto;\n}\n\n.hwped-band {\n position: absolute;\n left: 0;\n right: 0;\n pointer-events: none;\n transition: background-color var(--_hwped-quick);\n}\n\n/* Mark the selection without covering it: a light wash and an inset rule. */\n.hwped-band-selected {\n background: color-mix(in srgb, var(--hwped-accent) 9%, transparent);\n box-shadow:\n inset 3px 0 0 var(--hwped-accent),\n inset 0 0 0 1px color-mix(in srgb, var(--hwped-accent) 45%, transparent);\n}\n\n.hwped-band-pending {\n background: color-mix(in srgb, var(--hwped-accent) 6%, transparent);\n box-shadow: inset 3px 0 0 color-mix(in srgb, var(--hwped-accent) 45%, transparent);\n}\n\n/* ---- table grid ---- */\n\n.hwped-grid {\n border-collapse: collapse;\n width: 100%;\n}\n\n.hwped-grid td {\n border: 1px solid var(--hwped-border);\n padding: 0;\n}\n\n.hwped-cell {\n font: inherit;\n display: block;\n width: 100%;\n border: none;\n background: none;\n color: var(--hwped-fg);\n padding: 5px 8px;\n text-align: left;\n cursor: pointer;\n min-height: 28px;\n transition: background-color var(--_hwped-quick);\n}\n\n.hwped-cell:hover {\n background: var(--_hwped-hover);\n}\n\n.hwped-cell:active {\n background: var(--_hwped-press);\n}\n\n.hwped-cell-selected {\n outline: 2px solid var(--hwped-accent);\n outline-offset: -2px;\n}\n\n.hwped-cell-anchor {\n background: color-mix(in srgb, var(--hwped-accent) 14%, transparent);\n}\n\n/* ---- fields ---- */\n\n.hwped-fields {\n list-style: none;\n margin: 0;\n padding: 0;\n display: flex;\n flex-direction: column;\n gap: 12px;\n}\n\n.hwped-field-item {\n border-bottom: 1px solid var(--_hwped-hairline);\n padding-bottom: 10px;\n display: flex;\n flex-direction: column;\n gap: 6px;\n}\n\n/* ---- compose dialog ---- */\n\n/* Dim to focus: a modal task gets a scrim that pushes the editor back. */\n.hwped-overlay {\n position: fixed;\n inset: 0;\n background: rgba(0, 0, 0, 0.32);\n backdrop-filter: blur(6px) saturate(120%);\n -webkit-backdrop-filter: blur(6px) saturate(120%);\n display: flex;\n align-items: center;\n justify-content: center;\n z-index: 1000;\n animation: hwped-fade-in 160ms ease-out;\n}\n\n.hwped-dialog {\n background: var(--hwped-bg);\n color: var(--hwped-fg);\n border: 1px solid var(--_hwped-hairline);\n border-radius: calc(var(--hwped-radius) * 2);\n box-shadow:\n 0 2px 8px rgba(0, 0, 0, 0.12),\n 0 24px 64px rgba(0, 0, 0, 0.28);\n width: min(560px, calc(100vw - 32px));\n max-height: calc(100vh - 64px);\n overflow: auto;\n padding: 20px;\n display: flex;\n flex-direction: column;\n gap: 14px;\n animation: hwped-materialize 200ms cubic-bezier(0.2, 0.8, 0.2, 1);\n}\n\n.hwped-dialog-title {\n margin: 0;\n font-size: 17px;\n font-weight: 600;\n line-height: 1.3;\n letter-spacing: -0.015em;\n}\n\n.hwped-presets {\n display: flex;\n flex-wrap: wrap;\n gap: 6px;\n}\n\n.hwped-preset {\n font: inherit;\n font-weight: 500;\n border: 1px solid var(--hwped-border);\n border-radius: 999px;\n background: var(--hwped-bg);\n color: var(--hwped-fg);\n min-height: 28px;\n padding: 3px 12px;\n cursor: pointer;\n transition:\n background-color var(--_hwped-quick),\n border-color var(--_hwped-quick),\n transform var(--_hwped-quick);\n}\n\n.hwped-preset:hover:not(.hwped-preset-active) {\n background: var(--_hwped-hover);\n}\n\n.hwped-preset:active {\n transform: scale(0.97);\n}\n\n.hwped-preset-active {\n border-color: var(--hwped-accent);\n background: color-mix(in srgb, var(--hwped-accent) 12%, var(--hwped-bg));\n color: var(--hwped-accent);\n font-weight: 600;\n}\n\n.hwped-dialog-actions {\n justify-content: flex-end;\n padding-top: 4px;\n}\n\n@keyframes hwped-fade-in {\n from {\n opacity: 0;\n }\n}\n\n/* Materialize, don't just fade: the surface arrives with a slight scale. */\n@keyframes hwped-materialize {\n from {\n opacity: 0;\n transform: scale(0.98);\n }\n}\n\n/* ---- accessibility preferences ---- */\n\n@media (prefers-reduced-motion: reduce) {\n .hwped *,\n .hwped *::before,\n .hwped *::after {\n transition-duration: 0ms !important;\n }\n\n .hwped-btn:active:not(:disabled),\n .hwped-tab:active,\n .hwped-preset:active {\n transform: none;\n }\n\n .hwped-overlay,\n .hwped-dialog {\n animation: none;\n }\n}\n\n@media (prefers-reduced-transparency: reduce) {\n .hwped-overlay {\n background: rgba(0, 0, 0, 0.55);\n backdrop-filter: none;\n -webkit-backdrop-filter: none;\n }\n}\n\n@media (prefers-contrast: more) {\n .hwped {\n --_hwped-hairline: var(--hwped-fg);\n }\n\n .hwped-btn,\n .hwped-input,\n .hwped-textarea,\n .hwped-preset,\n .hwped-grid td {\n border-color: var(--hwped-fg);\n }\n\n .hwped-tabs {\n box-shadow: inset 0 0 0 1px var(--hwped-fg);\n }\n}\n"],"mappings":"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","names":[]}