@kawaijs/renderer-dom 0.1.2 → 0.1.3

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.
@@ -12,6 +12,7 @@ export declare class DOMRenderer {
12
12
  private readonly typewriterSpeed;
13
13
  private readonly assetResolver;
14
14
  private rootEl;
15
+ private stageEl;
15
16
  private backgroundEl;
16
17
  private charactersEl;
17
18
  private dialogueBoxEl;
@@ -22,15 +23,19 @@ export declare class DOMRenderer {
22
23
  private currentTypewriterInterval;
23
24
  private isTypewriting;
24
25
  private fullCurrentText;
26
+ private isChoicePending;
25
27
  private unsubscribeVMState?;
26
28
  constructor(vm: StoryVM, options: DOMRendererOptions);
27
29
  destroy(): void;
30
+ shakeScreen(): void;
31
+ flashScreen(): void;
28
32
  private buildDOM;
29
33
  private bindEvents;
30
34
  private handleUserAdvance;
31
35
  private render;
32
36
  private startTypewriter;
33
37
  private finishTypewriter;
34
- private showHistoryModal;
38
+ showSaveLoadModal(mode: 'save' | 'load'): Promise<void>;
39
+ showHistoryModal(): void;
35
40
  }
36
41
  //# sourceMappingURL=renderer.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"renderer.d.ts","sourceRoot":"","sources":["../src/renderer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAc,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAE5D,MAAM,MAAM,SAAS,GAAG,YAAY,GAAG,WAAW,GAAG,OAAO,CAAC;AAE7D,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,GAAG,MAAM,CA0B1E;AAED,MAAM,WAAW,kBAAkB;IACjC,SAAS,EAAE,WAAW,CAAC;IACvB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,aAAa,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,KAAK,MAAM,CAAC;CAC3D;AAED,qBAAa,WAAW;IACtB,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAU;IAC7B,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAc;IACxC,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAS;IACzC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAA4C;IAE1E,OAAO,CAAC,MAAM,CAAkB;IAChC,OAAO,CAAC,YAAY,CAAkB;IACtC,OAAO,CAAC,YAAY,CAAkB;IACtC,OAAO,CAAC,aAAa,CAAkB;IACvC,OAAO,CAAC,YAAY,CAAkB;IACtC,OAAO,CAAC,cAAc,CAAkB;IACxC,OAAO,CAAC,iBAAiB,CAAkB;IAC3C,OAAO,CAAC,SAAS,CAAqB;IAEtC,OAAO,CAAC,yBAAyB,CAAuB;IACxD,OAAO,CAAC,aAAa,CAAS;IAC9B,OAAO,CAAC,eAAe,CAAM;IAC7B,OAAO,CAAC,kBAAkB,CAAC,CAAa;gBAE5B,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,kBAAkB;IAiB7C,OAAO,IAAI,IAAI;IAUtB,OAAO,CAAC,QAAQ;IAgGhB,OAAO,CAAC,UAAU;IAuBlB,OAAO,CAAC,iBAAiB;IASzB,OAAO,CAAC,MAAM;IA8Fd,OAAO,CAAC,eAAe;IA0BvB,OAAO,CAAC,gBAAgB;IASxB,OAAO,CAAC,gBAAgB;CAwDzB"}
1
+ {"version":3,"file":"renderer.d.ts","sourceRoot":"","sources":["../src/renderer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAc,OAAO,EAAY,MAAM,kBAAkB,CAAC;AAEtE,MAAM,MAAM,SAAS,GAAG,YAAY,GAAG,WAAW,GAAG,OAAO,CAAC;AAE7D,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,GAAG,MAAM,CA0B1E;AAED,MAAM,WAAW,kBAAkB;IACjC,SAAS,EAAE,WAAW,CAAC;IACvB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,aAAa,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,KAAK,MAAM,CAAC;CAC3D;AAED,qBAAa,WAAW;IACtB,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAU;IAC7B,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAc;IACxC,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAS;IACzC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAA4C;IAE1E,OAAO,CAAC,MAAM,CAAkB;IAChC,OAAO,CAAC,OAAO,CAAkB;IACjC,OAAO,CAAC,YAAY,CAAkB;IACtC,OAAO,CAAC,YAAY,CAAkB;IACtC,OAAO,CAAC,aAAa,CAAkB;IACvC,OAAO,CAAC,YAAY,CAAkB;IACtC,OAAO,CAAC,cAAc,CAAkB;IACxC,OAAO,CAAC,iBAAiB,CAAkB;IAC3C,OAAO,CAAC,SAAS,CAAqB;IAEtC,OAAO,CAAC,yBAAyB,CAAuB;IACxD,OAAO,CAAC,aAAa,CAAS;IAC9B,OAAO,CAAC,eAAe,CAAM;IAC7B,OAAO,CAAC,eAAe,CAAS;IAChC,OAAO,CAAC,kBAAkB,CAAC,CAAa;gBAE5B,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,kBAAkB;IAiB7C,OAAO,IAAI,IAAI;IAUf,WAAW,IAAI,IAAI;IAQnB,WAAW,IAAI,IAAI;IAW1B,OAAO,CAAC,QAAQ;IA0FhB,OAAO,CAAC,UAAU;IAoClB,OAAO,CAAC,iBAAiB;IAQzB,OAAO,CAAC,MAAM;IA4Gd,OAAO,CAAC,eAAe;IA0BvB,OAAO,CAAC,gBAAgB;IASX,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAoH7D,gBAAgB,IAAI,IAAI;CAwDhC"}
package/dist/renderer.js CHANGED
@@ -25,6 +25,7 @@ export class DOMRenderer {
25
25
  typewriterSpeed;
26
26
  assetResolver;
27
27
  rootEl;
28
+ stageEl;
28
29
  backgroundEl;
29
30
  charactersEl;
30
31
  dialogueBoxEl;
@@ -35,6 +36,7 @@ export class DOMRenderer {
35
36
  currentTypewriterInterval = null;
36
37
  isTypewriting = false;
37
38
  fullCurrentText = '';
39
+ isChoicePending = false;
38
40
  unsubscribeVMState;
39
41
  constructor(vm, options) {
40
42
  this.vm = vm;
@@ -58,12 +60,31 @@ export class DOMRenderer {
58
60
  }
59
61
  this.container.innerHTML = '';
60
62
  }
63
+ shakeScreen() {
64
+ if (!this.stageEl)
65
+ return;
66
+ this.stageEl.classList.remove('kawa-shake');
67
+ // Trigger reflow to restart animation
68
+ void this.stageEl.offsetWidth;
69
+ this.stageEl.classList.add('kawa-shake');
70
+ }
71
+ flashScreen() {
72
+ if (!this.stageEl)
73
+ return;
74
+ const existing = this.stageEl.querySelector('.kawa-flash-overlay');
75
+ if (existing)
76
+ existing.remove();
77
+ const flash = document.createElement('div');
78
+ flash.className = 'kawa-flash-overlay';
79
+ this.stageEl.appendChild(flash);
80
+ setTimeout(() => flash.remove(), 600);
81
+ }
61
82
  buildDOM() {
62
83
  this.container.innerHTML = '';
63
84
  this.rootEl = document.createElement('div');
64
85
  this.rootEl.className = 'kawa-root';
65
- const stageEl = document.createElement('div');
66
- stageEl.className = 'kawa-stage';
86
+ this.stageEl = document.createElement('div');
87
+ this.stageEl.className = 'kawa-stage';
67
88
  this.backgroundEl = document.createElement('div');
68
89
  this.backgroundEl.className = 'kawa-background';
69
90
  this.charactersEl = document.createElement('div');
@@ -103,23 +124,16 @@ export class DOMRenderer {
103
124
  const saveBtn = document.createElement('button');
104
125
  saveBtn.className = 'kawa-btn';
105
126
  saveBtn.textContent = 'Save';
106
- saveBtn.addEventListener('click', async (e) => {
127
+ saveBtn.addEventListener('click', (e) => {
107
128
  e.stopPropagation();
108
- await this.vm.save('1');
109
- alert('Game saved to Slot 1!');
129
+ this.showSaveLoadModal('save');
110
130
  });
111
131
  const loadBtn = document.createElement('button');
112
132
  loadBtn.className = 'kawa-btn';
113
133
  loadBtn.textContent = 'Load';
114
- loadBtn.addEventListener('click', async (e) => {
134
+ loadBtn.addEventListener('click', (e) => {
115
135
  e.stopPropagation();
116
- const loaded = await this.vm.load('1');
117
- if (loaded) {
118
- alert('Game loaded from Slot 1!');
119
- }
120
- else {
121
- alert('No save found in Slot 1.');
122
- }
136
+ this.showSaveLoadModal('load');
123
137
  });
124
138
  quickMenuEl.appendChild(this.backBtnEl);
125
139
  quickMenuEl.appendChild(histBtn);
@@ -128,10 +142,10 @@ export class DOMRenderer {
128
142
  uiLayerEl.appendChild(this.choiceContainerEl);
129
143
  uiLayerEl.appendChild(this.dialogueBoxEl);
130
144
  uiLayerEl.appendChild(quickMenuEl);
131
- stageEl.appendChild(this.backgroundEl);
132
- stageEl.appendChild(this.charactersEl);
133
- stageEl.appendChild(uiLayerEl);
134
- this.rootEl.appendChild(stageEl);
145
+ this.stageEl.appendChild(this.backgroundEl);
146
+ this.stageEl.appendChild(this.charactersEl);
147
+ this.stageEl.appendChild(uiLayerEl);
148
+ this.rootEl.appendChild(this.stageEl);
135
149
  this.container.appendChild(this.rootEl);
136
150
  }
137
151
  bindEvents() {
@@ -145,6 +159,13 @@ export class DOMRenderer {
145
159
  });
146
160
  // Keyboard controls
147
161
  window.addEventListener('keydown', (e) => {
162
+ // If modal is open, let Escape close it
163
+ const modal = this.rootEl.querySelector('.kawa-modal-overlay');
164
+ if (modal) {
165
+ if (e.key === 'Escape')
166
+ modal.remove();
167
+ return;
168
+ }
148
169
  if (e.code === 'Space' || e.code === 'Enter') {
149
170
  e.preventDefault();
150
171
  this.handleUserAdvance();
@@ -153,11 +174,19 @@ export class DOMRenderer {
153
174
  e.preventDefault();
154
175
  this.vm.rollback();
155
176
  }
177
+ else if (e.key === 's' || e.key === 'S') {
178
+ this.showSaveLoadModal('save');
179
+ }
180
+ else if (e.key === 'l' || e.key === 'L') {
181
+ this.showSaveLoadModal('load');
182
+ }
183
+ else if (e.key === 'h' || e.key === 'H') {
184
+ this.showHistoryModal();
185
+ }
156
186
  });
157
187
  }
158
188
  handleUserAdvance() {
159
189
  if (this.isTypewriting) {
160
- // Instantly finish text
161
190
  this.finishTypewriter();
162
191
  }
163
192
  else {
@@ -165,7 +194,7 @@ export class DOMRenderer {
165
194
  }
166
195
  }
167
196
  render(state) {
168
- // Update rollback button state
197
+ this.isChoicePending = false;
169
198
  this.backBtnEl.disabled = !this.vm.canRollback();
170
199
  // Render background
171
200
  if (state.visual.background) {
@@ -190,27 +219,37 @@ export class DOMRenderer {
190
219
  const charAssetKey = charState.expression ? `${charId}/${charState.expression}` : charId;
191
220
  img.src = this.assetResolver(charAssetKey, 'character');
192
221
  img.alt = `${charId} ${charState.expression ?? ''}`;
222
+ let fallbackStep = 0;
193
223
  img.onerror = () => {
194
- // Try flat filename e.g. yumia_happy.png if yumia/happy.png fails
195
- if (charState.expression && !img.dataset.fallbackTried) {
196
- img.dataset.fallbackTried = 'true';
224
+ fallbackStep++;
225
+ if (fallbackStep === 1) {
226
+ // Try .svg extension
227
+ img.src = this.assetResolver(`${charAssetKey}.svg`, 'character');
228
+ }
229
+ else if (fallbackStep === 2 && charState.expression) {
230
+ // Try flat filename e.g. yumia_happy.png
197
231
  img.src = this.assetResolver(`${charId}_${charState.expression}`, 'character');
198
- return;
199
232
  }
200
- // Fallback placeholder sprite if image is missing
201
- img.style.display = 'none';
202
- spriteDiv.style.width = '220px';
203
- spriteDiv.style.height = '420px';
204
- spriteDiv.style.background = 'rgba(244, 63, 94, 0.25)';
205
- spriteDiv.style.border = '2px dashed #f43f5e';
206
- spriteDiv.style.borderRadius = '16px';
207
- spriteDiv.style.display = 'flex';
208
- spriteDiv.style.alignItems = 'center';
209
- spriteDiv.style.justifyContent = 'center';
210
- spriteDiv.style.color = '#ffffff';
211
- spriteDiv.style.fontWeight = '600';
212
- spriteDiv.style.fontSize = '1.1rem';
213
- spriteDiv.textContent = `${charId}\n(${charState.expression ?? 'normal'})`;
233
+ else if (fallbackStep === 3 && charState.expression) {
234
+ // Try flat filename with svg e.g. yumia_happy.svg
235
+ img.src = this.assetResolver(`${charId}_${charState.expression}.svg`, 'character');
236
+ }
237
+ else {
238
+ // Fallback placeholder sprite if image is missing
239
+ img.style.display = 'none';
240
+ spriteDiv.style.width = '220px';
241
+ spriteDiv.style.height = '420px';
242
+ spriteDiv.style.background = 'rgba(244, 63, 94, 0.25)';
243
+ spriteDiv.style.border = '2px dashed #f43f5e';
244
+ spriteDiv.style.borderRadius = '16px';
245
+ spriteDiv.style.display = 'flex';
246
+ spriteDiv.style.alignItems = 'center';
247
+ spriteDiv.style.justifyContent = 'center';
248
+ spriteDiv.style.color = '#ffffff';
249
+ spriteDiv.style.fontWeight = '600';
250
+ spriteDiv.style.fontSize = '1.1rem';
251
+ spriteDiv.textContent = `${charId}\n(${charState.expression ?? 'normal'})`;
252
+ }
214
253
  };
215
254
  spriteDiv.appendChild(img);
216
255
  this.charactersEl.appendChild(spriteDiv);
@@ -237,12 +276,19 @@ export class DOMRenderer {
237
276
  if (state.choices && state.choices.length > 0) {
238
277
  this.choiceContainerEl.innerHTML = '';
239
278
  this.choiceContainerEl.style.display = 'flex';
279
+ this.choiceContainerEl.style.pointerEvents = 'auto';
280
+ this.choiceContainerEl.style.opacity = '1';
240
281
  state.choices.forEach((choice, index) => {
241
282
  const btn = document.createElement('button');
242
283
  btn.className = 'kawa-choice-btn kawa-choice';
243
284
  btn.textContent = choice.text;
244
285
  btn.addEventListener('click', (e) => {
245
286
  e.stopPropagation();
287
+ if (this.isChoicePending)
288
+ return;
289
+ this.isChoicePending = true;
290
+ this.choiceContainerEl.style.pointerEvents = 'none';
291
+ this.choiceContainerEl.style.opacity = '0.5';
246
292
  this.vm.choose(index);
247
293
  });
248
294
  this.choiceContainerEl.appendChild(btn);
@@ -281,6 +327,105 @@ export class DOMRenderer {
281
327
  this.dialogueTextEl.textContent = this.fullCurrentText;
282
328
  this.isTypewriting = false;
283
329
  }
330
+ async showSaveLoadModal(mode) {
331
+ const existing = this.rootEl.querySelector('.kawa-modal-overlay');
332
+ if (existing)
333
+ existing.remove();
334
+ const overlay = document.createElement('div');
335
+ overlay.className = 'kawa-modal-overlay';
336
+ const card = document.createElement('div');
337
+ card.className = 'kawa-modal-card';
338
+ const header = document.createElement('div');
339
+ header.className = 'kawa-modal-header';
340
+ const title = document.createElement('div');
341
+ title.className = 'kawa-modal-title';
342
+ title.textContent = mode === 'save' ? '💾 Save Game' : '📂 Load Game';
343
+ const closeBtn = document.createElement('button');
344
+ closeBtn.className = 'kawa-btn';
345
+ closeBtn.textContent = '✕ Close';
346
+ closeBtn.addEventListener('click', () => overlay.remove());
347
+ header.appendChild(title);
348
+ header.appendChild(closeBtn);
349
+ const body = document.createElement('div');
350
+ body.className = 'kawa-modal-body';
351
+ const grid = document.createElement('div');
352
+ grid.className = 'kawa-slots-grid';
353
+ const saveManager = this.vm.getSaveManager();
354
+ const slots = await saveManager.listSlots(6);
355
+ slots.forEach((slot, idx) => {
356
+ const slotNum = String(idx + 1);
357
+ const slotCard = document.createElement('div');
358
+ slotCard.className = 'kawa-slot-card';
359
+ const slotHeader = document.createElement('div');
360
+ slotHeader.className = 'kawa-slot-header';
361
+ const badge = document.createElement('span');
362
+ badge.className = 'kawa-slot-badge';
363
+ badge.textContent = `Slot ${slotNum}`;
364
+ const timeSpan = document.createElement('span');
365
+ timeSpan.className = 'kawa-slot-time';
366
+ timeSpan.textContent = slot ? new Date(slot.timestamp).toLocaleString() : 'Empty';
367
+ slotHeader.appendChild(badge);
368
+ slotHeader.appendChild(timeSpan);
369
+ slotCard.appendChild(slotHeader);
370
+ if (slot) {
371
+ const preview = document.createElement('div');
372
+ preview.className = 'kawa-slot-preview';
373
+ preview.textContent = slot.previewText || `Label: ${slot.snapshot.state.currentLabel}`;
374
+ slotCard.appendChild(preview);
375
+ }
376
+ else {
377
+ const emptyText = document.createElement('div');
378
+ emptyText.className = 'kawa-slot-empty-text';
379
+ emptyText.textContent = 'No save data';
380
+ slotCard.appendChild(emptyText);
381
+ }
382
+ const actions = document.createElement('div');
383
+ actions.className = 'kawa-slot-actions';
384
+ if (mode === 'save') {
385
+ const saveActionBtn = document.createElement('button');
386
+ saveActionBtn.className = 'kawa-slot-btn kawa-slot-btn-save';
387
+ saveActionBtn.textContent = 'Save Here';
388
+ saveActionBtn.addEventListener('click', async () => {
389
+ await this.vm.save(slotNum);
390
+ overlay.remove();
391
+ this.showSaveLoadModal('save');
392
+ });
393
+ actions.appendChild(saveActionBtn);
394
+ }
395
+ else {
396
+ if (slot) {
397
+ const loadActionBtn = document.createElement('button');
398
+ loadActionBtn.className = 'kawa-slot-btn kawa-slot-btn-load';
399
+ loadActionBtn.textContent = 'Load';
400
+ loadActionBtn.addEventListener('click', async () => {
401
+ const ok = await this.vm.load(slotNum);
402
+ if (ok)
403
+ overlay.remove();
404
+ });
405
+ actions.appendChild(loadActionBtn);
406
+ }
407
+ }
408
+ if (slot) {
409
+ const delBtn = document.createElement('button');
410
+ delBtn.className = 'kawa-slot-btn kawa-slot-btn-del';
411
+ delBtn.textContent = '🗑';
412
+ delBtn.title = 'Delete Save';
413
+ delBtn.addEventListener('click', async () => {
414
+ await saveManager.deleteSlot(slotNum);
415
+ overlay.remove();
416
+ this.showSaveLoadModal(mode);
417
+ });
418
+ actions.appendChild(delBtn);
419
+ }
420
+ slotCard.appendChild(actions);
421
+ grid.appendChild(slotCard);
422
+ });
423
+ body.appendChild(grid);
424
+ card.appendChild(header);
425
+ card.appendChild(body);
426
+ overlay.appendChild(card);
427
+ this.rootEl.appendChild(overlay);
428
+ }
284
429
  showHistoryModal() {
285
430
  const existing = this.rootEl.querySelector('.kawa-modal-overlay');
286
431
  if (existing)
@@ -293,7 +438,7 @@ export class DOMRenderer {
293
438
  header.className = 'kawa-modal-header';
294
439
  const title = document.createElement('div');
295
440
  title.className = 'kawa-modal-title';
296
- title.textContent = 'Dialogue History';
441
+ title.textContent = '📜 Dialogue History';
297
442
  const closeBtn = document.createElement('button');
298
443
  closeBtn.className = 'kawa-btn';
299
444
  closeBtn.textContent = '✕ Close';
@@ -1 +1 @@
1
- {"version":3,"file":"renderer.js","sourceRoot":"","sources":["../src/renderer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"renderer.js","sourceRoot":"","sources":["../src/renderer.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kawaijs/renderer-dom",
3
- "version": "0.1.2",
3
+ "version": "0.1.3",
4
4
  "description": "Standard semantic DOM and CSS rendering engine for Kawaijs visual novels",
5
5
  "main": "./dist/index.js",
6
6
  "types": "./dist/index.d.ts",
@@ -26,8 +26,8 @@
26
26
  "typecheck": "tsc --noEmit"
27
27
  },
28
28
  "dependencies": {
29
- "@kawaijs/ast": "^0.1.2",
30
- "@kawaijs/runtime": "^0.1.2"
29
+ "@kawaijs/ast": "^0.1.3",
30
+ "@kawaijs/runtime": "^0.1.3"
31
31
  },
32
32
  "keywords": [
33
33
  "kawaijs",
package/src/theme.css CHANGED
@@ -52,6 +52,37 @@
52
52
  box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.8);
53
53
  }
54
54
 
55
+ /* Screen Shake Effect */
56
+ @keyframes kawa-screen-shake {
57
+ 0%, 100% { transform: translate(0, 0); }
58
+ 15% { transform: translate(-12px, 8px); }
59
+ 30% { transform: translate(12px, -8px); }
60
+ 45% { transform: translate(-8px, -6px); }
61
+ 60% { transform: translate(8px, 6px); }
62
+ 75% { transform: translate(-4px, 2px); }
63
+ 90% { transform: translate(4px, -2px); }
64
+ }
65
+
66
+ .kawa-shake {
67
+ animation: kawa-screen-shake 0.45s cubic-bezier(0.36, 0.07, 0.19, 0.97) both;
68
+ }
69
+
70
+ /* Screen Flash Effect */
71
+ @keyframes kawa-screen-flash {
72
+ 0% { opacity: 0; }
73
+ 30% { opacity: 0.95; }
74
+ 100% { opacity: 0; }
75
+ }
76
+
77
+ .kawa-flash-overlay {
78
+ position: absolute;
79
+ inset: 0;
80
+ background: #ffffff;
81
+ pointer-events: none;
82
+ z-index: 50;
83
+ animation: kawa-screen-flash 0.5s ease-out forwards;
84
+ }
85
+
55
86
  /* Background Scene Layer */
56
87
  .kawa-background {
57
88
  position: absolute;
@@ -77,7 +108,7 @@
77
108
  position: absolute;
78
109
  bottom: 0;
79
110
  height: 85%;
80
- transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.3s ease;
111
+ transition: transform 0.35s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.35s ease;
81
112
  display: flex;
82
113
  align-items: flex-end;
83
114
  justify-content: center;
@@ -247,40 +278,50 @@
247
278
  .kawa-modal-overlay {
248
279
  position: absolute;
249
280
  inset: 0;
250
- background: rgba(0, 0, 0, 0.8);
251
- backdrop-filter: blur(6px);
281
+ background: rgba(0, 0, 0, 0.82);
282
+ backdrop-filter: blur(8px);
252
283
  z-index: 100;
253
284
  display: flex;
254
285
  align-items: center;
255
286
  justify-content: center;
256
287
  pointer-events: auto;
288
+ animation: kawa-modal-fade 0.2s ease-out;
289
+ }
290
+
291
+ @keyframes kawa-modal-fade {
292
+ from { opacity: 0; transform: scale(0.98); }
293
+ to { opacity: 1; transform: scale(1); }
257
294
  }
258
295
 
259
296
  .kawa-modal-card {
260
297
  background: #1e293b;
261
298
  border: 1px solid rgba(255, 255, 255, 0.15);
262
- border-radius: 12px;
299
+ border-radius: 14px;
263
300
  width: 90%;
264
- max-width: 600px;
265
- max-height: 80%;
301
+ max-width: 750px;
302
+ max-height: 85%;
266
303
  display: flex;
267
304
  flex-direction: column;
268
- padding: 24px;
269
- box-shadow: 0 20px 40px rgba(0, 0, 0, 0.6);
305
+ padding: 24px 28px;
306
+ box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.8);
270
307
  }
271
308
 
272
309
  .kawa-modal-header {
273
310
  display: flex;
274
311
  justify-content: space-between;
275
312
  align-items: center;
276
- margin-bottom: 16px;
313
+ margin-bottom: 20px;
277
314
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
278
- padding-bottom: 10px;
315
+ padding-bottom: 12px;
279
316
  }
280
317
 
281
318
  .kawa-modal-title {
282
- font-size: 1.25rem;
319
+ font-size: 1.35rem;
283
320
  font-weight: 700;
321
+ color: #ffffff;
322
+ display: flex;
323
+ align-items: center;
324
+ gap: 8px;
284
325
  }
285
326
 
286
327
  .kawa-modal-body {
@@ -289,18 +330,118 @@
289
330
  display: flex;
290
331
  flex-direction: column;
291
332
  gap: 12px;
292
- padding-right: 8px;
333
+ padding-right: 6px;
334
+ }
335
+
336
+ /* Slots Grid for Save/Load UI */
337
+ .kawa-slots-grid {
338
+ display: grid;
339
+ grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
340
+ gap: 16px;
341
+ padding: 4px 0;
342
+ }
343
+
344
+ .kawa-slot-card {
345
+ background: rgba(15, 23, 42, 0.7);
346
+ border: 1px solid rgba(255, 255, 255, 0.1);
347
+ border-radius: 10px;
348
+ padding: 16px;
349
+ display: flex;
350
+ flex-direction: column;
351
+ justify-content: space-between;
352
+ min-height: 130px;
353
+ transition: all 0.2s ease;
354
+ }
355
+
356
+ .kawa-slot-card:hover {
357
+ border-color: var(--kawa-primary-accent);
358
+ background: rgba(15, 23, 42, 0.9);
359
+ transform: translateY(-2px);
360
+ }
361
+
362
+ .kawa-slot-header {
363
+ display: flex;
364
+ justify-content: space-between;
365
+ align-items: center;
366
+ margin-bottom: 8px;
367
+ }
368
+
369
+ .kawa-slot-badge {
370
+ font-size: 0.8rem;
371
+ font-weight: 700;
372
+ background: var(--kawa-primary-accent);
373
+ color: #fff;
374
+ padding: 2px 8px;
375
+ border-radius: 4px;
376
+ }
377
+
378
+ .kawa-slot-time {
379
+ font-size: 0.75rem;
380
+ color: #94a3b8;
381
+ }
382
+
383
+ .kawa-slot-preview {
384
+ font-size: 0.85rem;
385
+ color: #cbd5e1;
386
+ line-height: 1.4;
387
+ margin-bottom: 12px;
388
+ word-break: break-word;
389
+ max-height: 48px;
390
+ overflow: hidden;
391
+ }
392
+
393
+ .kawa-slot-empty-text {
394
+ color: #64748b;
395
+ font-style: italic;
396
+ font-size: 0.85rem;
397
+ margin: auto 0;
398
+ }
399
+
400
+ .kawa-slot-actions {
401
+ display: flex;
402
+ gap: 8px;
403
+ }
404
+
405
+ .kawa-slot-btn {
406
+ flex: 1;
407
+ padding: 6px 10px;
408
+ border-radius: 4px;
409
+ border: none;
410
+ font-size: 0.8rem;
411
+ font-weight: 600;
412
+ cursor: pointer;
413
+ transition: all 0.15s ease;
414
+ }
415
+
416
+ .kawa-slot-btn-save {
417
+ background: #3b82f6;
418
+ color: #ffffff;
419
+ }
420
+ .kawa-slot-btn-save:hover { background: #2563eb; }
421
+
422
+ .kawa-slot-btn-load {
423
+ background: var(--kawa-primary-accent);
424
+ color: #ffffff;
425
+ }
426
+ .kawa-slot-btn-load:hover { background: #e11d48; }
427
+
428
+ .kawa-slot-btn-del {
429
+ background: rgba(239, 68, 68, 0.2);
430
+ color: #f87171;
431
+ border: 1px solid rgba(239, 68, 68, 0.3);
293
432
  }
433
+ .kawa-slot-btn-del:hover { background: rgba(239, 68, 68, 0.4); }
294
434
 
295
435
  .kawa-history-item {
296
- padding: 8px 12px;
297
- border-radius: 6px;
298
- background: rgba(15, 23, 42, 0.6);
436
+ padding: 10px 14px;
437
+ border-radius: 8px;
438
+ background: rgba(15, 23, 42, 0.65);
299
439
  font-size: 0.95rem;
440
+ border-left: 3px solid var(--kawa-primary-accent);
300
441
  }
301
442
 
302
443
  .kawa-history-speaker {
303
444
  font-weight: 700;
304
445
  color: var(--kawa-primary-accent);
305
- margin-bottom: 2px;
446
+ margin-bottom: 4px;
306
447
  }