agentacta 1.4.0 → 1.5.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/public/index.html CHANGED
@@ -23,6 +23,11 @@
23
23
  <h1>Agent<span>Acta</span></h1>
24
24
  <button class="theme-toggle" id="theme-toggle" title="Toggle theme" aria-label="Toggle theme"><svg class="theme-icon-sun" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="5"/><path d="M12 1v2M12 21v2M4.22 4.22l1.42 1.42M18.36 18.36l1.42 1.42M1 12h2M21 12h2M4.22 19.78l1.42-1.42M18.36 5.64l1.42-1.42"/></svg><svg class="theme-icon-moon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"><path d="M21 12.79A9 9 0 1 1 11.21 3 7 7 0 0 0 21 12.79z"/></svg></button>
25
25
  </div>
26
+ <button class="cmdk-trigger" id="cmdkBtn" aria-label="Search" title="Search (⌘K)">
27
+ <svg width="15" height="15" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="11" cy="11" r="8"/><path d="m21 21-4.35-4.35"/></svg>
28
+ <span>Search</span>
29
+ <kbd>⌘K</kbd>
30
+ </button>
26
31
  <div class="nav-section">
27
32
  <div class="nav-item" data-view="sessions">
28
33
  <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"><path d="M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z"/></svg>
@@ -32,23 +37,26 @@
32
37
  <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="10"/><polyline points="12 6 12 12 16 14"/></svg>
33
38
  <span>Timeline</span>
34
39
  </div>
35
- <div class="nav-item active" data-view="search">
36
- <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"><circle cx="11" cy="11" r="8"/><path d="m21 21-4.35-4.35"/></svg>
37
- <span>Search</span>
40
+ <div class="nav-item active" data-view="overview">
41
+ <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"><path d="M3 12h7V3H3z"/><path d="M14 21h7v-7h-7z"/><path d="M14 10h7V3h-7z"/><path d="M3 21h7v-5H3z"/></svg>
42
+ <span>Overview</span>
38
43
  </div>
39
44
  <div class="nav-item" data-view="files">
40
45
  <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"><path d="M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z"/><polyline points="14 2 14 8 20 8"/></svg>
41
46
  <span>Files</span>
42
47
  </div>
43
48
  <div class="nav-item" data-view="stats">
44
- <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"><path d="M18 20V10M12 20V4M6 20v-6"/></svg>
45
- <span>Stats</span>
49
+ <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"><path d="M10.325 4.317a1.724 1.724 0 0 1 3.35 0 1.724 1.724 0 0 0 2.573 1.066 1.724 1.724 0 0 1 2.28 2.28 1.724 1.724 0 0 0 1.065 2.573 1.724 1.724 0 0 1 0 3.35 1.724 1.724 0 0 0-1.066 2.573 1.724 1.724 0 0 1-2.28 2.28 1.724 1.724 0 0 0-2.573 1.065 1.724 1.724 0 0 1-3.35 0 1.724 1.724 0 0 0-2.573-1.066 1.724 1.724 0 0 1-2.28-2.28 1.724 1.724 0 0 0-1.065-2.573 1.724 1.724 0 0 1 0-3.35 1.724 1.724 0 0 0 1.066-2.573 1.724 1.724 0 0 1 2.28-2.28 1.724 1.724 0 0 0 2.572-1.065z"/><circle cx="12" cy="12" r="3"/></svg>
50
+ <span>Settings</span>
46
51
  </div>
47
52
 
48
53
  </div>
49
54
  </nav>
50
55
  <main class="main" id="content"></main>
51
- <button class="theme-toggle-mobile" id="theme-toggle-mobile" title="Toggle theme" aria-label="Toggle theme"><svg class="theme-icon-sun" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="5"/><path d="M12 1v2M12 21v2M4.22 4.22l1.42 1.42M18.36 18.36l1.42 1.42M1 12h2M21 12h2M4.22 19.78l1.42-1.42M18.36 5.64l1.42-1.42"/></svg><svg class="theme-icon-moon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"><path d="M21 12.79A9 9 0 1 1 11.21 3 7 7 0 0 0 21 12.79z"/></svg></button>
56
+ <div class="mobile-toolbar">
57
+ <button class="mobile-search-btn" id="mobile-search-btn" title="Search" aria-label="Search"><svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="11" cy="11" r="8"/><path d="m21 21-4.35-4.35"/></svg></button>
58
+ <button class="theme-toggle-mobile" id="theme-toggle-mobile" title="Toggle theme" aria-label="Toggle theme"><svg class="theme-icon-sun" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="5"/><path d="M12 1v2M12 21v2M4.22 4.22l1.42 1.42M18.36 18.36l1.42 1.42M1 12h2M21 12h2M4.22 19.78l1.42-1.42M18.36 5.64l1.42-1.42"/></svg><svg class="theme-icon-moon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"><path d="M21 12.79A9 9 0 1 1 11.21 3 7 7 0 0 0 21 12.79z"/></svg></button>
59
+ </div>
52
60
 
53
61
  </div>
54
62
  <script src="/app.js"></script>
package/public/style.css CHANGED
@@ -114,6 +114,28 @@
114
114
  --input-scheme: light;
115
115
  }
116
116
 
117
+ [data-theme="oled"] {
118
+ --bg-base: #000000;
119
+ --bg-surface: #050505;
120
+ --bg-elevated: #0a0a0a;
121
+ --bg-hover: #111111;
122
+ --bg-active: #151515;
123
+
124
+ --border-subtle: rgba(255, 255, 255, 0.08);
125
+ --border-default: rgba(255, 255, 255, 0.12);
126
+ --border-hover: rgba(255, 255, 255, 0.18);
127
+ --border-focus: rgba(99, 144, 240, 0.58);
128
+
129
+ --text-primary: #f2f5f9;
130
+ --text-secondary: #9aa3b2;
131
+ --text-tertiary: #6f7785;
132
+ --text-inverse: #000000;
133
+
134
+ --accent-soft: rgba(99, 144, 240, 0.14);
135
+ --accent-medium: rgba(99, 144, 240, 0.22);
136
+ --input-scheme: dark;
137
+ }
138
+
117
139
  /* ---- Reset ---- */
118
140
  *, *::before, *::after { margin: 0; padding: 0; box-sizing: border-box; }
119
141
 
@@ -142,6 +164,12 @@ body {
142
164
  font-feature-settings: 'cv02', 'cv03', 'cv04', 'cv11';
143
165
  }
144
166
 
167
+ html.cmdk-open,
168
+ body.cmdk-open {
169
+ overflow: hidden;
170
+ overscroll-behavior: none;
171
+ }
172
+
145
173
  /* ---- Layout ---- */
146
174
  .app {
147
175
  display: flex;
@@ -215,24 +243,32 @@ body {
215
243
  [data-theme="light"] .theme-icon-sun { display: none; }
216
244
  [data-theme="light"] .theme-icon-moon { display: block; }
217
245
 
218
- .theme-toggle-mobile {
246
+ .mobile-toolbar {
219
247
  display: none;
248
+ position: absolute;
249
+ top: calc(var(--space-xl) + env(safe-area-inset-top, 0px));
250
+ right: var(--space-lg);
251
+ z-index: 10;
252
+ gap: 8px;
253
+ align-items: center;
254
+ }
255
+
256
+ .mobile-search-btn,
257
+ .theme-toggle-mobile {
220
258
  width: 32px;
221
259
  height: 32px;
222
260
  border-radius: var(--radius-md);
223
261
  border: 1px solid var(--border-default);
224
262
  background: var(--bg-surface);
225
263
  color: var(--text-secondary);
264
+ display: inline-flex;
226
265
  align-items: center;
227
266
  justify-content: center;
228
267
  cursor: pointer;
229
268
  padding: 0;
230
- position: absolute;
231
- top: calc(var(--space-xl) + env(safe-area-inset-top, 0px));
232
- right: var(--space-lg);
233
- z-index: 10;
234
269
  }
235
270
 
271
+ .mobile-search-btn:hover,
236
272
  .theme-toggle-mobile:hover {
237
273
  background: var(--bg-hover);
238
274
  color: var(--text-primary);
@@ -328,6 +364,44 @@ body {
328
364
  margin-top: var(--space-2xl);
329
365
  }
330
366
 
367
+ .overview-subtitle {
368
+ margin-top: calc(var(--space-xl) * -1 + 6px);
369
+ margin-bottom: var(--space-xl);
370
+ color: var(--text-secondary);
371
+ font-size: 13px;
372
+ }
373
+
374
+ .overview-meta-grid {
375
+ display: grid;
376
+ grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
377
+ gap: var(--space-md);
378
+ margin-bottom: var(--space-sm);
379
+ }
380
+
381
+ .settings-page .section-label {
382
+ margin-top: var(--space-xl);
383
+ }
384
+
385
+ .settings-maintenance {
386
+ display: flex;
387
+ gap: 12px;
388
+ align-items: center;
389
+ flex-wrap: wrap;
390
+ margin-bottom: 6px;
391
+ }
392
+
393
+ .settings-maintenance-status {
394
+ color: var(--text-tertiary);
395
+ font-size: 12px;
396
+ }
397
+
398
+ .settings-help {
399
+ color: var(--text-tertiary);
400
+ font-size: 12px;
401
+ line-height: 1.5;
402
+ margin: 0 0 var(--space-lg);
403
+ }
404
+
331
405
  /* ---- Search Bar ---- */
332
406
  .search-bar {
333
407
  position: relative;
@@ -885,6 +959,28 @@ mark {
885
959
  border-color: rgba(52, 211, 153, 0.3);
886
960
  }
887
961
 
962
+ .jump-to-start-btn.jumping {
963
+ position: relative;
964
+ color: #b8f7dd;
965
+ background: rgba(52, 211, 153, 0.22);
966
+ }
967
+
968
+ .jump-to-start-btn.jumping::after {
969
+ content: '';
970
+ width: 6px;
971
+ height: 6px;
972
+ border-radius: 999px;
973
+ background: currentColor;
974
+ margin-left: 6px;
975
+ display: inline-block;
976
+ animation: jumpPulse 1s ease-in-out infinite;
977
+ }
978
+
979
+ @keyframes jumpPulse {
980
+ 0%, 100% { opacity: 0.35; transform: scale(0.9); }
981
+ 50% { opacity: 1; transform: scale(1.2); }
982
+ }
983
+
888
984
  /* ---- Session ID ---- */
889
985
  .session-id-row {
890
986
  display: flex;
@@ -1203,6 +1299,22 @@ mark {
1203
1299
  font-family: var(--font-mono);
1204
1300
  }
1205
1301
 
1302
+ .settings-select {
1303
+ width: 100%;
1304
+ background: var(--bg-elevated);
1305
+ border: 1px solid var(--border-default);
1306
+ border-radius: var(--radius-md);
1307
+ color: var(--text-primary);
1308
+ padding: 8px 10px;
1309
+ font-size: 13px;
1310
+ font-family: var(--font-sans);
1311
+ outline: none;
1312
+ }
1313
+
1314
+ .settings-select:focus {
1315
+ border-color: var(--border-focus);
1316
+ }
1317
+
1206
1318
  /* ---- Highlight animation for jumped-to events ---- */
1207
1319
  @keyframes highlightFade {
1208
1320
  0% { background: var(--accent-medium); }
@@ -1233,7 +1345,60 @@ mark {
1233
1345
 
1234
1346
  .new-events-indicator:hover {
1235
1347
  background: #4a7ae8;
1236
- transform: translateX(-50%) scale(1.05);
1348
+ }
1349
+
1350
+ .jump-indicator {
1351
+ position: fixed;
1352
+ top: 20px;
1353
+ left: 50%;
1354
+ transform: translateX(-50%) translateY(-10px);
1355
+ background: color-mix(in oklab, var(--accent) 88%, #000);
1356
+ color: #fff;
1357
+ padding: 8px 14px;
1358
+ border-radius: 999px;
1359
+ font-size: 12px;
1360
+ font-weight: 600;
1361
+ z-index: 110;
1362
+ opacity: 0;
1363
+ pointer-events: none;
1364
+ transition: opacity 0.2s var(--ease-out), transform 0.2s var(--ease-out);
1365
+ }
1366
+
1367
+ .jump-indicator.show {
1368
+ opacity: 1;
1369
+ transform: translateX(-50%) translateY(0);
1370
+ }
1371
+
1372
+ .return-jump-btn {
1373
+ position: fixed;
1374
+ right: 16px;
1375
+ bottom: calc(92px + env(safe-area-inset-bottom, 0px));
1376
+ border: 1px solid var(--border-default);
1377
+ background: var(--bg-surface);
1378
+ color: var(--text-primary);
1379
+ width: 34px;
1380
+ height: 34px;
1381
+ display: inline-flex;
1382
+ align-items: center;
1383
+ justify-content: center;
1384
+ padding: 0;
1385
+ border-radius: 999px;
1386
+ z-index: 110;
1387
+ opacity: 0;
1388
+ transform: translateY(8px);
1389
+ pointer-events: none;
1390
+ transition: opacity 0.2s var(--ease-out), transform 0.2s var(--ease-out);
1391
+ }
1392
+
1393
+ .return-jump-btn.show {
1394
+ opacity: 1;
1395
+ transform: translateY(0);
1396
+ pointer-events: auto;
1397
+ }
1398
+
1399
+ .return-jump-btn:hover {
1400
+ background: var(--bg-hover);
1401
+ border-color: var(--border-hover);
1237
1402
  }
1238
1403
 
1239
1404
  @keyframes slideDown {
@@ -1366,7 +1531,7 @@ mark {
1366
1531
 
1367
1532
  .sidebar-header { display: none; }
1368
1533
 
1369
- .theme-toggle-mobile {
1534
+ .mobile-toolbar {
1370
1535
  display: flex;
1371
1536
  }
1372
1537
 
@@ -1422,6 +1587,24 @@ mark {
1422
1587
 
1423
1588
  .stat-card .value { font-size: 22px; }
1424
1589
 
1590
+ .overview-subtitle {
1591
+ font-size: 12px;
1592
+ margin-bottom: var(--space-lg);
1593
+ }
1594
+
1595
+ .overview-meta-grid {
1596
+ grid-template-columns: 1fr;
1597
+ gap: var(--space-sm);
1598
+ }
1599
+
1600
+ .settings-page .section-label {
1601
+ margin-top: var(--space-lg);
1602
+ }
1603
+
1604
+ .settings-help {
1605
+ margin-bottom: var(--space-md);
1606
+ }
1607
+
1425
1608
  .search-stats {
1426
1609
  grid-template-columns: repeat(2, 1fr);
1427
1610
  }
@@ -1535,3 +1718,196 @@ mark {
1535
1718
  background: var(--bg-active);
1536
1719
  border-color: var(--border-hover);
1537
1720
  }
1721
+
1722
+ /* ---- Cmd+K Trigger ---- */
1723
+ .cmdk-trigger {
1724
+ margin: 0 var(--space-md) var(--space-sm);
1725
+ display: flex;
1726
+ align-items: center;
1727
+ gap: var(--space-sm);
1728
+ border: 1px solid var(--border-subtle);
1729
+ background: var(--bg-elevated);
1730
+ color: var(--text-secondary);
1731
+ border-radius: var(--radius-md);
1732
+ font-size: 12px;
1733
+ padding: 8px 10px;
1734
+ cursor: pointer;
1735
+ transition: all var(--duration-normal) var(--ease-out);
1736
+ font-family: var(--font-sans);
1737
+ }
1738
+ .cmdk-trigger:hover { color: var(--text-primary); border-color: var(--border-hover); background: var(--bg-hover); }
1739
+ .cmdk-trigger svg { flex-shrink: 0; opacity: 0.5; }
1740
+ .cmdk-trigger span { flex: 1; text-align: left; }
1741
+ .cmdk-trigger kbd {
1742
+ border: 1px solid var(--border-default);
1743
+ border-bottom-width: 2px;
1744
+ border-radius: 5px;
1745
+ padding: 1px 5px;
1746
+ font-size: 10px;
1747
+ font-family: var(--font-sans);
1748
+ color: var(--text-tertiary);
1749
+ background: var(--bg-base);
1750
+ }
1751
+
1752
+ /* ---- Cmd+K Overlay ---- */
1753
+ .cmdk-overlay {
1754
+ position: fixed;
1755
+ top: 0;
1756
+ right: 0;
1757
+ bottom: 0;
1758
+ left: 0;
1759
+ width: 100%;
1760
+ height: 100%;
1761
+ min-height: 100%;
1762
+ background: rgba(10, 14, 26, 0.28);
1763
+ backdrop-filter: blur(14px) saturate(1.08);
1764
+ -webkit-backdrop-filter: blur(14px) saturate(1.08);
1765
+ z-index: 999;
1766
+ display: flex;
1767
+ justify-content: center;
1768
+ align-items: flex-start;
1769
+ padding-top: 12vh;
1770
+ overflow: hidden;
1771
+ animation: cmdk-fade-in 0.16s var(--ease-out);
1772
+ }
1773
+ @keyframes cmdk-fade-in { from { opacity: 0; } }
1774
+
1775
+ .cmdk-dialog {
1776
+ width: min(580px, calc(100vw - 40px));
1777
+ max-height: calc(100vh - 16vh - 24px);
1778
+ background: color-mix(in oklab, var(--bg-surface) 96%, transparent);
1779
+ border: 1px solid color-mix(in oklab, var(--border-default) 86%, transparent);
1780
+ border-radius: 14px;
1781
+ box-shadow: 0 20px 52px rgba(0, 0, 0, 0.22);
1782
+ overflow: hidden;
1783
+ display: flex;
1784
+ flex-direction: column;
1785
+ animation: cmdk-slide-in 0.16s var(--ease-out);
1786
+ }
1787
+ @keyframes cmdk-slide-in { from { opacity: 0; transform: translateY(-8px) scale(0.98); } }
1788
+
1789
+ .cmdk-input-wrap {
1790
+ display: flex;
1791
+ align-items: center;
1792
+ gap: var(--space-sm);
1793
+ padding: 12px 13px;
1794
+ border-bottom: 1px solid var(--border-subtle);
1795
+ background: color-mix(in oklab, var(--bg-elevated) 50%, transparent);
1796
+ }
1797
+ .cmdk-input-wrap svg { flex-shrink: 0; color: var(--text-tertiary); }
1798
+ .cmdk-input-wrap input {
1799
+ flex: 1;
1800
+ min-width: 0;
1801
+ background: transparent;
1802
+ border: 0;
1803
+ outline: none;
1804
+ color: var(--text-primary);
1805
+ font-size: 16px;
1806
+ font-family: var(--font-sans);
1807
+ }
1808
+ .cmdk-input-wrap input::placeholder { color: var(--text-tertiary); }
1809
+ .cmdk-input-wrap kbd {
1810
+ border: 1px solid var(--border-default);
1811
+ border-bottom-width: 2px;
1812
+ border-radius: 5px;
1813
+ padding: 1px 5px;
1814
+ font-size: 10px;
1815
+ font-family: var(--font-sans);
1816
+ color: var(--text-tertiary);
1817
+ }
1818
+
1819
+ .cmdk-list {
1820
+ flex: 1;
1821
+ min-height: 0;
1822
+ overflow-y: auto;
1823
+ padding: 6px;
1824
+ -webkit-overflow-scrolling: touch;
1825
+ }
1826
+ .cmdk-group-label {
1827
+ font-size: 10px;
1828
+ letter-spacing: 0.8px;
1829
+ text-transform: uppercase;
1830
+ color: var(--text-tertiary);
1831
+ font-weight: 600;
1832
+ padding: 8px 9px 3px;
1833
+ }
1834
+ .cmdk-item {
1835
+ width: 100%;
1836
+ text-align: left;
1837
+ border: none;
1838
+ background: transparent;
1839
+ color: inherit;
1840
+ border-radius: 10px;
1841
+ padding: 7px 9px;
1842
+ cursor: pointer;
1843
+ display: flex;
1844
+ align-items: center;
1845
+ gap: var(--space-md);
1846
+ font-family: var(--font-sans);
1847
+ transition: background var(--duration-fast);
1848
+ touch-action: manipulation;
1849
+ }
1850
+ .cmdk-item.active { background: color-mix(in oklab, var(--accent-soft) 56%, var(--bg-hover)); }
1851
+ .cmdk-item:hover { background: color-mix(in oklab, var(--accent-soft) 36%, var(--bg-hover)); }
1852
+ .cmdk-item-icon {
1853
+ width: 18px;
1854
+ height: 18px;
1855
+ flex-shrink: 0;
1856
+ color: var(--text-tertiary);
1857
+ }
1858
+ .cmdk-item-body { flex: 1; min-width: 0; }
1859
+ .cmdk-item-title {
1860
+ font-size: 13px;
1861
+ color: var(--text-primary);
1862
+ font-weight: 500;
1863
+ white-space: nowrap;
1864
+ overflow: hidden;
1865
+ text-overflow: ellipsis;
1866
+ }
1867
+ .cmdk-item-sub {
1868
+ font-size: 11px;
1869
+ color: var(--text-tertiary);
1870
+ white-space: nowrap;
1871
+ overflow: hidden;
1872
+ text-overflow: ellipsis;
1873
+ margin-top: 1px;
1874
+ }
1875
+ .cmdk-item-meta {
1876
+ font-size: 11px;
1877
+ color: var(--text-tertiary);
1878
+ flex-shrink: 0;
1879
+ white-space: nowrap;
1880
+ }
1881
+ .cmdk-empty {
1882
+ padding: 28px 14px;
1883
+ text-align: center;
1884
+ color: var(--text-tertiary);
1885
+ font-size: 13px;
1886
+ }
1887
+ .cmdk-empty h4 { color: var(--text-secondary); font-size: 14px; margin-bottom: 4px; }
1888
+ .cmdk-loading { padding: 24px 14px; text-align: center; color: var(--text-tertiary); font-size: 13px; }
1889
+
1890
+ @media (max-width: 768px) {
1891
+ .cmdk-trigger { display: none; }
1892
+
1893
+ .cmdk-overlay {
1894
+ align-items: center;
1895
+ top: 0;
1896
+ right: 0;
1897
+ bottom: 0;
1898
+ left: 0;
1899
+ height: auto;
1900
+ min-height: 0;
1901
+ padding: calc(env(safe-area-inset-top, 0px) + 12px) 12px calc(env(safe-area-inset-bottom, 0px) + 12px);
1902
+ }
1903
+
1904
+ .cmdk-dialog {
1905
+ width: min(520px, calc(100vw - 44px));
1906
+ max-height: min(72vh, calc(100vh - env(safe-area-inset-top, 0px) - env(safe-area-inset-bottom, 0px) - 52px));
1907
+ border-radius: var(--radius-md);
1908
+ }
1909
+
1910
+ .cmdk-input-wrap kbd { display: none; }
1911
+ .cmdk-item-sub { display: none; }
1912
+ .cmdk-item-meta { font-size: 10px; }
1913
+ }