remobi 0.1.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.
@@ -0,0 +1,475 @@
1
+ html,
2
+ body {
3
+ margin: 0;
4
+ overflow: hidden;
5
+ overscroll-behavior: none;
6
+ }
7
+
8
+ @media (pointer: coarse) {
9
+ .xterm-screen {
10
+ overscroll-behavior: none;
11
+ }
12
+ }
13
+
14
+ /* Toolbar: two-row layout */
15
+ #wt-toolbar {
16
+ display: none;
17
+ position: fixed;
18
+ bottom: 0;
19
+ left: 0;
20
+ right: 0;
21
+ background: #313244;
22
+ padding: 6px 4px calc(6px + env(safe-area-inset-bottom, 0px)) 4px;
23
+ z-index: 9999;
24
+ flex-direction: column;
25
+ gap: 4px;
26
+ -webkit-user-select: none;
27
+ user-select: none;
28
+ }
29
+
30
+ @media (pointer: coarse) {
31
+ #wt-toolbar {
32
+ display: flex;
33
+ }
34
+ }
35
+
36
+ .wt-row {
37
+ display: flex;
38
+ gap: 4px;
39
+ justify-content: center;
40
+ }
41
+
42
+ #wt-toolbar button {
43
+ background: #45475a;
44
+ color: #cdd6f4;
45
+ border: none;
46
+ border-radius: 6px;
47
+ min-height: 44px;
48
+ font-size: 13px;
49
+ font-weight: 600;
50
+ padding: 4px 6px;
51
+ cursor: pointer;
52
+ touch-action: manipulation;
53
+ flex-shrink: 1;
54
+ }
55
+
56
+ #wt-toolbar .wt-row:first-child button {
57
+ min-width: 38px;
58
+ }
59
+
60
+ #wt-toolbar .wt-row:last-child button {
61
+ flex: 1;
62
+ }
63
+
64
+ #wt-toolbar button:active {
65
+ background: #585b70;
66
+ }
67
+
68
+ /* Font controls + help button */
69
+ #wt-font-controls {
70
+ display: none;
71
+ position: fixed;
72
+ top: 8px;
73
+ right: 8px;
74
+ z-index: 9999;
75
+ gap: 4px;
76
+ -webkit-user-select: none;
77
+ user-select: none;
78
+ }
79
+
80
+ @media (pointer: coarse) {
81
+ #wt-font-controls {
82
+ display: flex;
83
+ }
84
+ }
85
+
86
+ #wt-font-controls button {
87
+ background: #45475a;
88
+ color: #cdd6f4;
89
+ border: none;
90
+ border-radius: 6px;
91
+ min-width: 44px;
92
+ min-height: 44px;
93
+ font-size: 18px;
94
+ font-weight: 700;
95
+ cursor: pointer;
96
+ touch-action: manipulation;
97
+ opacity: 0.8;
98
+ }
99
+
100
+ #wt-font-controls button:active {
101
+ opacity: 1;
102
+ background: #585b70;
103
+ }
104
+
105
+ /* Tmux drawer */
106
+ #wt-backdrop {
107
+ display: none;
108
+ position: fixed;
109
+ top: 0;
110
+ left: 0;
111
+ right: 0;
112
+ bottom: 0;
113
+ background: rgba(0, 0, 0, 0.5);
114
+ z-index: 10000;
115
+ }
116
+
117
+ #wt-drawer {
118
+ position: fixed;
119
+ bottom: 0;
120
+ left: 0;
121
+ right: 0;
122
+ background: #313244;
123
+ border-radius: 16px 16px 0 0;
124
+ padding: 8px 12px calc(12px + env(safe-area-inset-bottom, 0px)) 12px;
125
+ z-index: 10001;
126
+ transform: translateY(100%);
127
+ transition: transform 0.25s ease-out;
128
+ -webkit-user-select: none;
129
+ user-select: none;
130
+ }
131
+
132
+ #wt-drawer.open {
133
+ transform: translateY(0);
134
+ }
135
+
136
+ #wt-drawer-handle {
137
+ width: 40px;
138
+ height: 4px;
139
+ background: #585b70;
140
+ border-radius: 2px;
141
+ margin: 0 auto 12px auto;
142
+ }
143
+
144
+ #wt-drawer-tabs {
145
+ display: flex;
146
+ gap: 4px;
147
+ margin-bottom: 8px;
148
+ }
149
+
150
+ #wt-drawer-tabs button {
151
+ flex: 1;
152
+ background: #45475a;
153
+ color: #a6adc8;
154
+ border: none;
155
+ border-radius: 6px;
156
+ min-height: 36px;
157
+ font-size: 12px;
158
+ font-weight: 600;
159
+ cursor: pointer;
160
+ touch-action: manipulation;
161
+ }
162
+
163
+ #wt-drawer-tabs button.active {
164
+ background: #89b4fa;
165
+ color: #1e1e2e;
166
+ }
167
+
168
+ #wt-drawer-grid {
169
+ display: grid;
170
+ grid-template-columns: repeat(3, 1fr);
171
+ gap: 8px;
172
+ }
173
+
174
+ #wt-drawer-grid button {
175
+ background: #45475a;
176
+ color: #cdd6f4;
177
+ border: none;
178
+ border-radius: 8px;
179
+ min-height: 48px;
180
+ font-size: 13px;
181
+ font-weight: 600;
182
+ cursor: pointer;
183
+ touch-action: manipulation;
184
+ }
185
+
186
+ #wt-drawer-grid button:active {
187
+ background: #585b70;
188
+ }
189
+
190
+ /* Swipe indicator */
191
+ #wt-swipe-indicator {
192
+ position: fixed;
193
+ top: 50%;
194
+ left: 50%;
195
+ transform: translate(-50%, -50%);
196
+ font-size: 48px;
197
+ color: rgba(205, 214, 244, 0.6);
198
+ pointer-events: none;
199
+ z-index: 9998;
200
+ opacity: 0;
201
+ transition: opacity 0.3s ease;
202
+ }
203
+
204
+ /* Help overlay */
205
+ #wt-help {
206
+ display: none;
207
+ position: fixed;
208
+ top: 0;
209
+ left: 0;
210
+ right: 0;
211
+ bottom: 0;
212
+ background: rgba(30, 30, 46, 0.95);
213
+ z-index: 10002;
214
+ overflow-y: auto;
215
+ padding: 52px 20px 20px 20px;
216
+ color: #cdd6f4;
217
+ font-family: system-ui, sans-serif;
218
+ -webkit-user-select: none;
219
+ user-select: none;
220
+ }
221
+
222
+ #wt-help h2 {
223
+ color: #89b4fa;
224
+ font-size: 18px;
225
+ margin: 16px 0 8px 0;
226
+ }
227
+
228
+ #wt-help h2:first-child {
229
+ margin-top: 0;
230
+ }
231
+
232
+ #wt-help table {
233
+ width: 100%;
234
+ border-collapse: collapse;
235
+ margin-bottom: 12px;
236
+ }
237
+
238
+ #wt-help td {
239
+ padding: 6px 8px;
240
+ border-bottom: 1px solid #313244;
241
+ font-size: 13px;
242
+ }
243
+
244
+ #wt-help td:first-child {
245
+ color: #f9e2af;
246
+ white-space: nowrap;
247
+ width: 30%;
248
+ }
249
+
250
+ #wt-help .wt-help-close {
251
+ position: fixed;
252
+ top: 12px;
253
+ right: 12px;
254
+ background: #45475a;
255
+ color: #cdd6f4;
256
+ border: none;
257
+ border-radius: 50%;
258
+ width: 36px;
259
+ height: 36px;
260
+ font-size: 20px;
261
+ cursor: pointer;
262
+ z-index: 10003;
263
+ }
264
+
265
+ /* Combo picker */
266
+ #wt-combo-backdrop {
267
+ display: none;
268
+ position: fixed;
269
+ top: 0;
270
+ left: 0;
271
+ right: 0;
272
+ bottom: 0;
273
+ background: rgba(0, 0, 0, 0.5);
274
+ z-index: 10004;
275
+ align-items: flex-end;
276
+ justify-content: center;
277
+ padding: 12px;
278
+ }
279
+
280
+ #wt-combo-panel {
281
+ width: min(520px, 100%);
282
+ background: #313244;
283
+ border-radius: 14px;
284
+ padding: 12px;
285
+ color: #cdd6f4;
286
+ font-family: system-ui, sans-serif;
287
+ box-sizing: border-box;
288
+ }
289
+
290
+ #wt-combo-panel h3 {
291
+ margin: 0 0 6px 0;
292
+ font-size: 16px;
293
+ }
294
+
295
+ #wt-combo-panel p {
296
+ margin: 0 0 8px 0;
297
+ font-size: 12px;
298
+ color: #a6adc8;
299
+ }
300
+
301
+ #wt-combo-panel input {
302
+ width: 100%;
303
+ box-sizing: border-box;
304
+ min-height: 42px;
305
+ padding: 8px 10px;
306
+ font-size: 15px;
307
+ border-radius: 8px;
308
+ border: 1px solid #585b70;
309
+ background: #1e1e2e;
310
+ color: #cdd6f4;
311
+ outline: none;
312
+ }
313
+
314
+ #wt-combo-panel input:focus {
315
+ border-color: #89b4fa;
316
+ }
317
+
318
+ #wt-combo-panel .wt-combo-error {
319
+ min-height: 16px;
320
+ margin-top: 8px;
321
+ color: #f38ba8;
322
+ }
323
+
324
+ #wt-combo-panel .wt-combo-actions {
325
+ display: flex;
326
+ gap: 8px;
327
+ margin-top: 10px;
328
+ }
329
+
330
+ #wt-combo-panel .wt-combo-actions button {
331
+ flex: 1;
332
+ min-height: 42px;
333
+ border: none;
334
+ border-radius: 8px;
335
+ font-size: 14px;
336
+ font-weight: 600;
337
+ background: #45475a;
338
+ color: #cdd6f4;
339
+ cursor: pointer;
340
+ touch-action: manipulation;
341
+ }
342
+
343
+ #wt-combo-panel .wt-combo-actions button:last-child {
344
+ background: #89b4fa;
345
+ color: #1e1e2e;
346
+ }
347
+
348
+ /* Floating scroll buttons */
349
+ #wt-scroll-buttons {
350
+ display: none;
351
+ position: fixed;
352
+ right: 12px;
353
+ bottom: 50%;
354
+ transform: translateY(50%);
355
+ flex-direction: column;
356
+ gap: 12px;
357
+ z-index: 9998;
358
+ -webkit-user-select: none;
359
+ user-select: none;
360
+ opacity: 0.3;
361
+ transition: opacity 0.3s ease;
362
+ }
363
+
364
+ @media (pointer: coarse) {
365
+ #wt-scroll-buttons {
366
+ display: flex;
367
+ }
368
+ }
369
+
370
+ #wt-scroll-buttons.wt-active {
371
+ opacity: 0.7;
372
+ }
373
+
374
+ #wt-scroll-buttons button {
375
+ width: 44px;
376
+ height: 44px;
377
+ border-radius: 50%;
378
+ background: #45475a;
379
+ color: #cdd6f4;
380
+ border: none;
381
+ font-size: 16px;
382
+ cursor: pointer;
383
+ touch-action: manipulation;
384
+ }
385
+
386
+ #wt-scroll-buttons button:active {
387
+ background: #585b70;
388
+ }
389
+
390
+ /* Floating action button groups */
391
+ .wt-floating-group {
392
+ display: none;
393
+ position: fixed;
394
+ z-index: 9999;
395
+ gap: 4px;
396
+ -webkit-user-select: none;
397
+ user-select: none;
398
+ flex-direction: row;
399
+ }
400
+
401
+ @media (pointer: coarse) {
402
+ .wt-floating-group {
403
+ display: flex;
404
+ }
405
+ }
406
+
407
+ .wt-floating-column {
408
+ flex-direction: column;
409
+ }
410
+
411
+ .wt-floating-top-left {
412
+ top: 8px;
413
+ left: 8px;
414
+ }
415
+ .wt-floating-top-right {
416
+ top: 8px;
417
+ right: 8px;
418
+ }
419
+ .wt-floating-top-centre {
420
+ top: 8px;
421
+ left: 50%;
422
+ transform: translateX(-50%);
423
+ }
424
+ .wt-floating-bottom-left {
425
+ bottom: calc(8px + env(safe-area-inset-bottom, 0px));
426
+ left: 8px;
427
+ }
428
+ .wt-floating-bottom-right {
429
+ bottom: calc(8px + env(safe-area-inset-bottom, 0px));
430
+ right: 8px;
431
+ }
432
+ .wt-floating-bottom-centre {
433
+ bottom: calc(8px + env(safe-area-inset-bottom, 0px));
434
+ left: 50%;
435
+ transform: translateX(-50%);
436
+ }
437
+ .wt-floating-centre-left {
438
+ top: 50%;
439
+ left: 8px;
440
+ transform: translateY(-50%);
441
+ }
442
+ .wt-floating-centre-right {
443
+ top: 50%;
444
+ right: 8px;
445
+ transform: translateY(-50%);
446
+ }
447
+
448
+ .wt-floating-group button {
449
+ background: #45475a;
450
+ color: #cdd6f4;
451
+ border: none;
452
+ border-radius: 6px;
453
+ min-width: 44px;
454
+ min-height: 44px;
455
+ font-size: 18px;
456
+ font-weight: 700;
457
+ cursor: pointer;
458
+ touch-action: manipulation;
459
+ opacity: 0.8;
460
+ }
461
+
462
+ .wt-floating-group button:active {
463
+ opacity: 1;
464
+ background: #585b70;
465
+ }
466
+
467
+ /* Landscape + keyboard: hide row 2, shrink buttons */
468
+ @media (orientation: landscape) {
469
+ #wt-toolbar.wt-kb-open .wt-row:last-child {
470
+ display: none;
471
+ }
472
+ #wt-toolbar.wt-kb-open button {
473
+ min-height: 36px;
474
+ }
475
+ }