termaui 0.1.1 → 0.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.
Files changed (49) hide show
  1. package/LICENSE +50 -0
  2. package/README.md +11 -3
  3. package/dist/terma-clusters.esm.js +84 -0
  4. package/dist/terma-clusters.js +123 -0
  5. package/dist/terma.esm.js +236 -22
  6. package/dist/terma.js +273 -20
  7. package/dist/termaui.css +115 -60
  8. package/dist/termaui.min.css +1 -1
  9. package/package.json +17 -6
  10. package/fonts/babelstone-tibetan-slim.woff2 +0 -0
  11. package/fonts/babelstone-tibetan.woff2 +0 -0
  12. package/fonts/ddc-rinzin.woff2 +0 -0
  13. package/fonts/ddc-uchen.woff2 +0 -0
  14. package/fonts/gangjie-drutsa.woff2 +0 -0
  15. package/fonts/gangjie-uchen.woff2 +0 -0
  16. package/fonts/jamyang-monlam-uchen.woff2 +0 -0
  17. package/fonts/joyig.woff2 +0 -0
  18. package/fonts/khampa-dedri-bechu.woff2 +0 -0
  19. package/fonts/khampa-dedri-chuyig.woff2 +0 -0
  20. package/fonts/khampa-dedri-drutsa.woff2 +0 -0
  21. package/fonts/misans-tibetan.woff2 +0 -0
  22. package/fonts/monlam-uni-dutsa1.woff2 +0 -0
  23. package/fonts/monlam-uni-dutsa2.woff2 +0 -0
  24. package/fonts/monlam-uni-ouchan1.woff2 +0 -0
  25. package/fonts/monlam-uni-ouchan2.woff2 +0 -0
  26. package/fonts/monlam-uni-ouchan3.woff2 +0 -0
  27. package/fonts/monlam-uni-ouchan4.woff2 +0 -0
  28. package/fonts/monlam-uni-ouchan5.woff2 +0 -0
  29. package/fonts/monlam-uni-paytsik.woff2 +0 -0
  30. package/fonts/monlam-uni-sans.woff2 +0 -0
  31. package/fonts/monlam-uni-tikrang.woff2 +0 -0
  32. package/fonts/monlam-uni-tiktong.woff2 +0 -0
  33. package/fonts/noto-sans-tibetan.woff2 +0 -0
  34. package/fonts/noto-serif-tibetan-black.woff2 +0 -0
  35. package/fonts/noto-serif-tibetan-bold.woff2 +0 -0
  36. package/fonts/noto-serif-tibetan-extrabold.woff2 +0 -0
  37. package/fonts/noto-serif-tibetan-extralight.woff2 +0 -0
  38. package/fonts/noto-serif-tibetan-light.woff2 +0 -0
  39. package/fonts/noto-serif-tibetan-medium.woff2 +0 -0
  40. package/fonts/noto-serif-tibetan-regular.woff2 +0 -0
  41. package/fonts/noto-serif-tibetan-semibold.woff2 +0 -0
  42. package/fonts/noto-serif-tibetan-thin.woff2 +0 -0
  43. package/fonts/panchen-tsukring.woff2 +0 -0
  44. package/fonts/qomolangma-betsu.woff2 +0 -0
  45. package/fonts/qomolangma-tsutong.woff2 +0 -0
  46. package/fonts/riwoche-dhodri-yigchen.woff2 +0 -0
  47. package/fonts/sadri-drutsa.woff2 +0 -0
  48. package/fonts/sadri-yigchen.woff2 +0 -0
  49. package/fonts/tibetan-machine-uni.woff2 +0 -0
package/dist/termaui.css CHANGED
@@ -1,18 +1,20 @@
1
1
  /* ==========================================================================
2
- termaUI v0.1.0
2
+ termaUI v0.3.0
3
3
  Utility-first CSS framework for Tibetan language rendering.
4
4
  https://termafoundry.com
5
- License: MIT
5
+ License: SEE LICENSE IN LICENSE
6
6
  ========================================================================== */
7
7
 
8
8
  /* ==========================================================================
9
- termaUI — @font-face declarations
10
- All fonts self-hosted as WOFF2. Paths relative to dist/termaui.css.
9
+ termaUI — @font-face declarations (bundled fonts)
10
+ Four fonts shipped with the npm package.
11
+ Paths relative to dist/termaui.css.
11
12
  unicode-range ensures browsers only download when Tibetan text is present.
12
13
  ========================================================================== */
13
14
 
14
15
  /* ── JOMOLHARI ─────────────────────────────────────────────────────────────
15
- Traditional Uchen manuscript style. Christopher J. Fynn. SIL OFL. */
16
+ Traditional Uchen manuscript style. Christopher J. Fynn. SIL OFL.
17
+ Reference font — all size-adjust values are calibrated against this. */
16
18
 
17
19
  @font-face {
18
20
  font-family: 'Jomolhari';
@@ -23,6 +25,54 @@
23
25
  unicode-range: U+0F00-0FFF, U+0020-007E;
24
26
  }
25
27
 
28
+ /* ── MONLAM BODYIG ─────────────────────────────────────────────────────────
29
+ Elegant thin-stroke Uchen. Monlam AI. Open license. */
30
+
31
+ @font-face {
32
+ font-family: 'Monlam Bodyig';
33
+ src: url('../fonts/monlam-bodyig.woff2') format('woff2');
34
+ font-weight: 400;
35
+ font-style: normal;
36
+ font-display: swap;
37
+ size-adjust: 123.3%;
38
+ unicode-range: U+0F00-0FFF, U+0020-007E;
39
+ }
40
+
41
+ /* ── QOMOLANGMA-UCHEN SARCHEN ──────────────────────────────────────────────
42
+ THDL Qomolangma project — large formal Uchen. Open license. */
43
+
44
+ @font-face {
45
+ font-family: 'Qomolangma-UchenSarchen';
46
+ src: url('../fonts/qomolangma-uchen-sarchen.woff2') format('woff2');
47
+ font-weight: 400;
48
+ font-style: normal;
49
+ font-display: swap;
50
+ size-adjust: 127.6%;
51
+ unicode-range: U+0F00-0FFF, U+0020-007E;
52
+ }
53
+
54
+ /* ── QOMOLANGMA-DRUTSA ─────────────────────────────────────────────────────
55
+ Flowing drutsa cursive hand. THDL / Qomolangma Project. Open license. */
56
+
57
+ @font-face {
58
+ font-family: 'Qomolangma-Drutsa';
59
+ src: url('../fonts/qomolangma-drutsa.woff2') format('woff2');
60
+ font-weight: 400;
61
+ font-style: normal;
62
+ font-display: swap;
63
+ size-adjust: 97.4%;
64
+ unicode-range: U+0F00-0FFF, U+0020-007E;
65
+ }
66
+
67
+ /* ==========================================================================
68
+ termaUI — @font-face declarations (extended font library)
69
+ These fonts are NOT bundled with the termaui npm package.
70
+ Load via termaui-fonts npm package or CDN:
71
+ https://cdn.jsdelivr.net/npm/termaui-fonts/dist/termaui-fonts.min.css
72
+ Paths relative to dist/termaui-fonts.css.
73
+ unicode-range ensures browsers only download when Tibetan text is present.
74
+ ========================================================================== */
75
+
26
76
  /* ── NOTO SERIF TIBETAN ────────────────────────────────────────────────────
27
77
  Modern screen-optimised serif. Google Fonts. SIL OFL.
28
78
  Full weight axis: 100–900. */
@@ -33,6 +83,7 @@
33
83
  font-weight: 100;
34
84
  font-style: normal;
35
85
  font-display: swap;
86
+ size-adjust: 108.8%;
36
87
  unicode-range: U+0F00-0FFF, U+0020-007E;
37
88
  }
38
89
 
@@ -42,6 +93,7 @@
42
93
  font-weight: 200;
43
94
  font-style: normal;
44
95
  font-display: swap;
96
+ size-adjust: 108.8%;
45
97
  unicode-range: U+0F00-0FFF, U+0020-007E;
46
98
  }
47
99
 
@@ -51,6 +103,7 @@
51
103
  font-weight: 300;
52
104
  font-style: normal;
53
105
  font-display: swap;
106
+ size-adjust: 108.8%;
54
107
  unicode-range: U+0F00-0FFF, U+0020-007E;
55
108
  }
56
109
 
@@ -60,6 +113,7 @@
60
113
  font-weight: 400;
61
114
  font-style: normal;
62
115
  font-display: swap;
116
+ size-adjust: 108.8%;
63
117
  unicode-range: U+0F00-0FFF, U+0020-007E;
64
118
  }
65
119
 
@@ -69,6 +123,7 @@
69
123
  font-weight: 500;
70
124
  font-style: normal;
71
125
  font-display: swap;
126
+ size-adjust: 108.8%;
72
127
  unicode-range: U+0F00-0FFF, U+0020-007E;
73
128
  }
74
129
 
@@ -78,6 +133,7 @@
78
133
  font-weight: 600;
79
134
  font-style: normal;
80
135
  font-display: swap;
136
+ size-adjust: 108.8%;
81
137
  unicode-range: U+0F00-0FFF, U+0020-007E;
82
138
  }
83
139
 
@@ -87,6 +143,7 @@
87
143
  font-weight: 700;
88
144
  font-style: normal;
89
145
  font-display: swap;
146
+ size-adjust: 108.8%;
90
147
  unicode-range: U+0F00-0FFF, U+0020-007E;
91
148
  }
92
149
 
@@ -96,6 +153,7 @@
96
153
  font-weight: 800;
97
154
  font-style: normal;
98
155
  font-display: swap;
156
+ size-adjust: 108.8%;
99
157
  unicode-range: U+0F00-0FFF, U+0020-007E;
100
158
  }
101
159
 
@@ -105,6 +163,7 @@
105
163
  font-weight: 900;
106
164
  font-style: normal;
107
165
  font-display: swap;
166
+ size-adjust: 108.8%;
108
167
  unicode-range: U+0F00-0FFF, U+0020-007E;
109
168
  }
110
169
 
@@ -120,30 +179,6 @@
120
179
  unicode-range: U+0F00-0FFF, U+0020-007E;
121
180
  }
122
181
 
123
- /* ── QOMOLANGMA-DRUTSA ─────────────────────────────────────────────────────
124
- Flowing drutsa cursive hand. THDL / Qomolangma Project. Open license. */
125
-
126
- @font-face {
127
- font-family: 'Qomolangma-Drutsa';
128
- src: url('../fonts/qomolangma-drutsa.woff2') format('woff2');
129
- font-weight: 400;
130
- font-style: normal;
131
- font-display: swap;
132
- unicode-range: U+0F00-0FFF, U+0020-007E;
133
- }
134
-
135
- /* ── MONLAM BODYIG ─────────────────────────────────────────────────────────
136
- Elegant thin-stroke Uchen. Monlam AI. Open license. */
137
-
138
- @font-face {
139
- font-family: 'Monlam Bodyig';
140
- src: url('../fonts/monlam-bodyig.woff2') format('woff2');
141
- font-weight: 400;
142
- font-style: normal;
143
- font-display: swap;
144
- unicode-range: U+0F00-0FFF, U+0020-007E;
145
- }
146
-
147
182
  /* ── BABELSTONE TIBETAN ────────────────────────────────────────────────────
148
183
  Extensive Unicode coverage Uchen. Andrew West / BabelStone. SIL OFL. */
149
184
 
@@ -153,6 +188,7 @@
153
188
  font-weight: 400;
154
189
  font-style: normal;
155
190
  font-display: swap;
191
+ size-adjust: 145.1%;
156
192
  unicode-range: U+0F00-0FFF, U+0020-007E;
157
193
  }
158
194
 
@@ -165,6 +201,7 @@
165
201
  font-weight: 400;
166
202
  font-style: normal;
167
203
  font-display: swap;
204
+ size-adjust: 145.1%;
168
205
  unicode-range: U+0F00-0FFF, U+0020-007E;
169
206
  }
170
207
 
@@ -178,6 +215,7 @@
178
215
  font-weight: 400;
179
216
  font-style: normal;
180
217
  font-display: swap;
218
+ size-adjust: 101.4%;
181
219
  unicode-range: U+0F00-0FFF, U+0020-007E;
182
220
  }
183
221
 
@@ -190,6 +228,7 @@
190
228
  font-weight: 400;
191
229
  font-style: normal;
192
230
  font-display: swap;
231
+ size-adjust: 101.4%;
193
232
  unicode-range: U+0F00-0FFF, U+0020-007E;
194
233
  }
195
234
 
@@ -202,6 +241,7 @@
202
241
  font-weight: 400;
203
242
  font-style: normal;
204
243
  font-display: swap;
244
+ size-adjust: 125.4%;
205
245
  unicode-range: U+0F00-0FFF, U+0020-007E;
206
246
  }
207
247
 
@@ -214,6 +254,7 @@
214
254
  font-weight: 400;
215
255
  font-style: normal;
216
256
  font-display: swap;
257
+ size-adjust: 134.5%;
217
258
  unicode-range: U+0F00-0FFF, U+0020-007E;
218
259
  }
219
260
 
@@ -226,6 +267,7 @@
226
267
  font-weight: 400;
227
268
  font-style: normal;
228
269
  font-display: swap;
270
+ size-adjust: 205.6%;
229
271
  unicode-range: U+0F00-0FFF, U+0020-007E;
230
272
  }
231
273
 
@@ -250,6 +292,7 @@
250
292
  font-weight: 400;
251
293
  font-style: normal;
252
294
  font-display: swap;
295
+ size-adjust: 138.1%;
253
296
  unicode-range: U+0F00-0FFF, U+0020-007E;
254
297
  }
255
298
 
@@ -262,6 +305,7 @@
262
305
  font-weight: 400;
263
306
  font-style: normal;
264
307
  font-display: swap;
308
+ size-adjust: 262.4%;
265
309
  unicode-range: U+0F00-0FFF, U+0020-007E;
266
310
  }
267
311
 
@@ -274,6 +318,7 @@
274
318
  font-weight: 400;
275
319
  font-style: normal;
276
320
  font-display: swap;
321
+ size-adjust: 132.1%;
277
322
  unicode-range: U+0F00-0FFF, U+0020-007E;
278
323
  }
279
324
 
@@ -286,6 +331,7 @@
286
331
  font-weight: 400;
287
332
  font-style: normal;
288
333
  font-display: swap;
334
+ size-adjust: 113.8%;
289
335
  unicode-range: U+0F00-0FFF, U+0020-007E;
290
336
  }
291
337
 
@@ -298,6 +344,7 @@
298
344
  font-weight: 400;
299
345
  font-style: normal;
300
346
  font-display: swap;
347
+ size-adjust: 129.8%;
301
348
  unicode-range: U+0F00-0FFF, U+0020-007E;
302
349
  }
303
350
 
@@ -310,6 +357,7 @@
310
357
  font-weight: 400;
311
358
  font-style: normal;
312
359
  font-display: swap;
360
+ size-adjust: 127.6%;
313
361
  unicode-range: U+0F00-0FFF, U+0020-007E;
314
362
  }
315
363
 
@@ -322,6 +370,7 @@
322
370
  font-weight: 400;
323
371
  font-style: normal;
324
372
  font-display: swap;
373
+ size-adjust: 127.6%;
325
374
  unicode-range: U+0F00-0FFF, U+0020-007E;
326
375
  }
327
376
 
@@ -334,6 +383,7 @@
334
383
  font-weight: 400;
335
384
  font-style: normal;
336
385
  font-display: swap;
386
+ size-adjust: 108.8%;
337
387
  unicode-range: U+0F00-0FFF, U+0020-007E;
338
388
  }
339
389
 
@@ -346,6 +396,7 @@
346
396
  font-weight: 400;
347
397
  font-style: normal;
348
398
  font-display: swap;
399
+ size-adjust: 108.8%;
349
400
  unicode-range: U+0F00-0FFF, U+0020-007E;
350
401
  }
351
402
 
@@ -358,6 +409,7 @@
358
409
  font-weight: 400;
359
410
  font-style: normal;
360
411
  font-display: swap;
412
+ size-adjust: 224.2%;
361
413
  unicode-range: U+0F00-0FFF, U+0020-007E;
362
414
  }
363
415
 
@@ -367,6 +419,7 @@
367
419
  font-weight: 400;
368
420
  font-style: normal;
369
421
  font-display: swap;
422
+ size-adjust: 154.2%;
370
423
  unicode-range: U+0F00-0FFF, U+0020-007E;
371
424
  }
372
425
 
@@ -376,6 +429,7 @@
376
429
  font-weight: 400;
377
430
  font-style: normal;
378
431
  font-display: swap;
432
+ size-adjust: 157.4%;
379
433
  unicode-range: U+0F00-0FFF, U+0020-007E;
380
434
  }
381
435
 
@@ -385,6 +439,7 @@
385
439
  font-weight: 400;
386
440
  font-style: normal;
387
441
  font-display: swap;
442
+ size-adjust: 157.4%;
388
443
  unicode-range: U+0F00-0FFF, U+0020-007E;
389
444
  }
390
445
 
@@ -394,6 +449,7 @@
394
449
  font-weight: 400;
395
450
  font-style: normal;
396
451
  font-display: swap;
452
+ size-adjust: 157.4%;
397
453
  unicode-range: U+0F00-0FFF, U+0020-007E;
398
454
  }
399
455
 
@@ -406,6 +462,7 @@
406
462
  font-weight: 400;
407
463
  font-style: normal;
408
464
  font-display: swap;
465
+ size-adjust: 145.1%;
409
466
  unicode-range: U+0F00-0FFF, U+0020-007E;
410
467
  }
411
468
 
@@ -418,6 +475,7 @@
418
475
  font-weight: 400;
419
476
  font-style: normal;
420
477
  font-display: swap;
478
+ size-adjust: 308.3%;
421
479
  unicode-range: U+0F00-0FFF, U+0020-007E;
422
480
  }
423
481
 
@@ -430,6 +488,7 @@
430
488
  font-weight: 400;
431
489
  font-style: normal;
432
490
  font-display: swap;
491
+ size-adjust: 246.7%;
433
492
  unicode-range: U+0F00-0FFF, U+0020-007E;
434
493
  }
435
494
 
@@ -442,6 +501,7 @@
442
501
  font-weight: 400;
443
502
  font-style: normal;
444
503
  font-display: swap;
504
+ size-adjust: 296.0%;
445
505
  unicode-range: U+0F00-0FFF, U+0020-007E;
446
506
  }
447
507
 
@@ -454,6 +514,7 @@
454
514
  font-weight: 400;
455
515
  font-style: normal;
456
516
  font-display: swap;
517
+ size-adjust: 264.3%;
457
518
  unicode-range: U+0F00-0FFF, U+0020-007E;
458
519
  }
459
520
 
@@ -463,18 +524,7 @@
463
524
  font-weight: 400;
464
525
  font-style: normal;
465
526
  font-display: swap;
466
- unicode-range: U+0F00-0FFF, U+0020-007E;
467
- }
468
-
469
- /* ── QOMOLANGMA UCHEN SARCHEN ──────────────────────────────────────────────
470
- THDL Qomolangma project — large formal Uchen. Open license. */
471
-
472
- @font-face {
473
- font-family: 'Qomolangma-UchenSarchen';
474
- src: url('../fonts/qomolangma-uchen-sarchen.woff2') format('woff2');
475
- font-weight: 400;
476
- font-style: normal;
477
- font-display: swap;
527
+ size-adjust: 284.6%;
478
528
  unicode-range: U+0F00-0FFF, U+0020-007E;
479
529
  }
480
530
 
@@ -487,6 +537,7 @@
487
537
  font-weight: 400;
488
538
  font-style: normal;
489
539
  font-display: swap;
540
+ size-adjust: 118.6%;
490
541
  unicode-range: U+0F00-0FFF, U+0020-007E;
491
542
  }
492
543
 
@@ -499,6 +550,7 @@
499
550
  font-weight: 400;
500
551
  font-style: normal;
501
552
  font-display: swap;
553
+ size-adjust: 125.4%;
502
554
  unicode-range: U+0F00-0FFF, U+0020-007E;
503
555
  }
504
556
 
@@ -508,7 +560,7 @@
508
560
  ========================================================================== */
509
561
 
510
562
  :lang(bo) {
511
- font-family: 'Jomolhari', 'Noto Serif Tibetan', 'Tibetan Machine Uni', serif;
563
+ font-family: 'Jomolhari', 'Qomolangma-UchenSarchen', 'Monlam Bodyig', serif;
512
564
  line-height: 1.8;
513
565
  word-break: keep-all;
514
566
  overflow-wrap: anywhere;
@@ -527,14 +579,17 @@
527
579
  /* ==========================================================================
528
580
  termaUI — Font stack utility classes
529
581
  Each class selects a specific Tibetan font family with fallbacks.
582
+ Fallbacks use only fonts bundled with the npm package (Jomolhari,
583
+ Monlam Bodyig, Qomolangma-UchenSarchen, Qomolangma-Drutsa).
584
+ Extended fonts require termaui-fonts package or CDN.
530
585
  ========================================================================== */
531
586
 
532
587
  /* ── UCHEN — FORMAL UPRIGHT SCRIPT ───────────────────────────────────────── */
533
588
 
534
- /* Jomolhari — warm classical Uchen manuscript style */
589
+ /* Jomolhari — warm classical Uchen manuscript style (bundled) */
535
590
 
536
591
  .tr-jomolhari {
537
- font-family: 'Jomolhari', 'Noto Serif Tibetan', serif;
592
+ font-family: 'Jomolhari', serif;
538
593
  }
539
594
 
540
595
  /* Noto Serif Tibetan — modern screen-optimised serif (full weight axis) */
@@ -566,13 +621,13 @@
566
621
  /* BabelStone Tibetan — broadest Unicode coverage Uchen */
567
622
 
568
623
  .tr-babelstone {
569
- font-family: 'BabelStone Tibetan', 'Noto Serif Tibetan', serif;
624
+ font-family: 'BabelStone Tibetan', 'Jomolhari', serif;
570
625
  }
571
626
 
572
627
  /* BabelStone Tibetan Slim — reduced line-height variant */
573
628
 
574
629
  .tr-babelstone-slim {
575
- font-family: 'BabelStone Tibetan Slim', 'BabelStone Tibetan', 'Noto Serif Tibetan', serif;
630
+ font-family: 'BabelStone Tibetan Slim', 'BabelStone Tibetan', 'Jomolhari', serif;
576
631
  }
577
632
 
578
633
  /* DDC Uchen — official Bhutanese government Uchen */
@@ -590,7 +645,7 @@
590
645
  /* GangJie Uchen — clean modern Uchen */
591
646
 
592
647
  .tr-gangjie {
593
- font-family: 'GangJie Uchen', 'Noto Serif Tibetan', serif;
648
+ font-family: 'GangJie Uchen', 'Jomolhari', serif;
594
649
  }
595
650
 
596
651
  /* Jamyang Monlam Uchen — calligraphic Uchen with strong stroke character */
@@ -599,10 +654,10 @@
599
654
  font-family: 'Jamyang Monlam Uchen', 'Jomolhari', serif;
600
655
  }
601
656
 
602
- /* Monlam Bodyig — refined thin-stroke elegant Uchen */
657
+ /* Monlam Bodyig — refined thin-stroke elegant Uchen (bundled) */
603
658
 
604
659
  .tr-monlam {
605
- font-family: 'Monlam Bodyig', 'Noto Serif Tibetan', serif;
660
+ font-family: 'Monlam Bodyig', serif;
606
661
  }
607
662
 
608
663
  /* Panchen Tsukring — traditional Uchen with extended ascenders */
@@ -614,13 +669,13 @@
614
669
  /* Riwoche Dhodri — woodblock-inspired Uchen yigchen */
615
670
 
616
671
  .tr-riwoche {
617
- font-family: 'Riwoche Dhodri', 'Tibetan Machine Uni', serif;
672
+ font-family: 'Riwoche Dhodri', 'Jomolhari', serif;
618
673
  }
619
674
 
620
675
  /* Sadri Yigchen — clean formal Uchen */
621
676
 
622
677
  .tr-sadri {
623
- font-family: 'Sadri Yigchen', 'Noto Serif Tibetan', serif;
678
+ font-family: 'Sadri Yigchen', 'Jomolhari', serif;
624
679
  }
625
680
 
626
681
  /* ── MODERN SANS-SERIF ────────────────────────────────────────────────────── */
@@ -628,19 +683,19 @@
628
683
  /* Noto Sans Tibetan — Google's sans-serif; clean screen-optimised */
629
684
 
630
685
  .tr-noto-sans {
631
- font-family: 'Noto Sans Tibetan', 'Noto Serif Tibetan', sans-serif;
686
+ font-family: 'Noto Sans Tibetan', 'Jomolhari', sans-serif;
632
687
  }
633
688
 
634
689
  /* MiSans Tibetan — Xiaomi geometric modern sans */
635
690
 
636
691
  .tr-misans {
637
- font-family: 'MiSans Tibetan', 'Noto Sans Tibetan', sans-serif;
692
+ font-family: 'MiSans Tibetan', 'Jomolhari', sans-serif;
638
693
  }
639
694
 
640
695
  /* Monlam Uni Sans — Monlam AI's sans-serif Uchen */
641
696
 
642
697
  .tr-monlam-sans {
643
- font-family: 'Monlam Uni Sans', 'Noto Sans Tibetan', sans-serif;
698
+ font-family: 'Monlam Uni Sans', 'Jomolhari', sans-serif;
644
699
  }
645
700
 
646
701
  /* ── MONLAM UNI UCHEN FAMILY ──────────────────────────────────────────────── */
@@ -695,30 +750,30 @@
695
750
 
696
751
  /* ── QOMOLANGMA UCHEN FAMILY ──────────────────────────────────────────────── */
697
752
 
698
- /* Qomolangma-UchenSarchen — large formal Uchen (sarchen = large) */
753
+ /* Qomolangma-UchenSarchen — large formal Uchen (bundled) */
699
754
 
700
755
  .tr-qomolangma-sarchen {
701
- font-family: 'Qomolangma-UchenSarchen', 'Jomolhari', serif;
756
+ font-family: 'Qomolangma-UchenSarchen', serif;
702
757
  }
703
758
 
704
759
  /* Qomolangma-Betsu — compact betsu (abbreviated) Uchen style */
705
760
 
706
761
  .tr-qomolangma-betsu {
707
- font-family: 'Qomolangma-Betsu', 'Jomolhari', serif;
762
+ font-family: 'Qomolangma-Betsu', 'Qomolangma-UchenSarchen', serif;
708
763
  }
709
764
 
710
765
  /* Qomolangma-Tsutong — tsutong (short-headed) display Uchen */
711
766
 
712
767
  .tr-qomolangma-tsutong {
713
- font-family: 'Qomolangma-Tsutong', 'Jomolhari', serif;
768
+ font-family: 'Qomolangma-Tsutong', 'Qomolangma-UchenSarchen', serif;
714
769
  }
715
770
 
716
771
  /* ── DRUTSA — CURSIVE HAND SCRIPT ────────────────────────────────────────── */
717
772
 
718
- /* Qomolangma-Drutsa — flowing drutsa cursive */
773
+ /* Qomolangma-Drutsa — flowing drutsa cursive (bundled) */
719
774
 
720
775
  .tr-drutsa {
721
- font-family: 'Qomolangma-Drutsa', 'Jomolhari', serif;
776
+ font-family: 'Qomolangma-Drutsa', serif;
722
777
  }
723
778
 
724
779
  /* GangJie Drutsa — cursive drutsa hand */
@@ -1 +1 @@
1
- @font-face{font-display:swap;font-family:Jomolhari;font-style:normal;font-weight:400;src:url(../fonts/jomolhari-regular.woff2) format("woff2");unicode-range:u+0f??,u+0020-007e}@font-face{font-display:swap;font-family:"Noto Serif Tibetan";font-style:normal;font-weight:100;src:url(../fonts/noto-serif-tibetan-thin.woff2) format("woff2");unicode-range:u+0f??,u+0020-007e}@font-face{font-display:swap;font-family:"Noto Serif Tibetan";font-style:normal;font-weight:200;src:url(../fonts/noto-serif-tibetan-extralight.woff2) format("woff2");unicode-range:u+0f??,u+0020-007e}@font-face{font-display:swap;font-family:"Noto Serif Tibetan";font-style:normal;font-weight:300;src:url(../fonts/noto-serif-tibetan-light.woff2) format("woff2");unicode-range:u+0f??,u+0020-007e}@font-face{font-display:swap;font-family:"Noto Serif Tibetan";font-style:normal;font-weight:400;src:url(../fonts/noto-serif-tibetan-regular.woff2) format("woff2");unicode-range:u+0f??,u+0020-007e}@font-face{font-display:swap;font-family:"Noto Serif Tibetan";font-style:normal;font-weight:500;src:url(../fonts/noto-serif-tibetan-medium.woff2) format("woff2");unicode-range:u+0f??,u+0020-007e}@font-face{font-display:swap;font-family:"Noto Serif Tibetan";font-style:normal;font-weight:600;src:url(../fonts/noto-serif-tibetan-semibold.woff2) format("woff2");unicode-range:u+0f??,u+0020-007e}@font-face{font-display:swap;font-family:"Noto Serif Tibetan";font-style:normal;font-weight:700;src:url(../fonts/noto-serif-tibetan-bold.woff2) format("woff2");unicode-range:u+0f??,u+0020-007e}@font-face{font-display:swap;font-family:"Noto Serif Tibetan";font-style:normal;font-weight:800;src:url(../fonts/noto-serif-tibetan-extrabold.woff2) format("woff2");unicode-range:u+0f??,u+0020-007e}@font-face{font-display:swap;font-family:"Noto Serif Tibetan";font-style:normal;font-weight:900;src:url(../fonts/noto-serif-tibetan-black.woff2) format("woff2");unicode-range:u+0f??,u+0020-007e}@font-face{font-display:swap;font-family:Tibetan Machine Uni;font-style:normal;font-weight:400;src:url(../fonts/tibetan-machine-uni.woff2) format("woff2");unicode-range:u+0f??,u+0020-007e}@font-face{font-display:swap;font-family:Qomolangma-Drutsa;font-style:normal;font-weight:400;src:url(../fonts/qomolangma-drutsa.woff2) format("woff2");unicode-range:u+0f??,u+0020-007e}@font-face{font-display:swap;font-family:Monlam Bodyig;font-style:normal;font-weight:400;src:url(../fonts/monlam-bodyig.woff2) format("woff2");unicode-range:u+0f??,u+0020-007e}@font-face{font-display:swap;font-family:BabelStone Tibetan;font-style:normal;font-weight:400;src:url(../fonts/babelstone-tibetan.woff2) format("woff2");unicode-range:u+0f??,u+0020-007e}@font-face{font-display:swap;font-family:BabelStone Tibetan Slim;font-style:normal;font-weight:400;src:url(../fonts/babelstone-tibetan-slim.woff2) format("woff2");unicode-range:u+0f??,u+0020-007e}@font-face{font-display:swap;font-family:DDC Uchen;font-style:normal;font-weight:400;src:url(../fonts/ddc-uchen.woff2) format("woff2");unicode-range:u+0f??,u+0020-007e}@font-face{font-display:swap;font-family:DDC Rinzin;font-style:normal;font-weight:400;src:url(../fonts/ddc-rinzin.woff2) format("woff2");unicode-range:u+0f??,u+0020-007e}@font-face{font-display:swap;font-family:GangJie Uchen;font-style:normal;font-weight:400;src:url(../fonts/gangjie-uchen.woff2) format("woff2");unicode-range:u+0f??,u+0020-007e}@font-face{font-display:swap;font-family:GangJie Drutsa;font-style:normal;font-weight:400;src:url(../fonts/gangjie-drutsa.woff2) format("woff2");unicode-range:u+0f??,u+0020-007e}@font-face{font-display:swap;font-family:Jamyang Monlam Uchen;font-style:normal;font-weight:400;src:url(../fonts/jamyang-monlam-uchen.woff2) format("woff2");unicode-range:u+0f??,u+0020-007e}@font-face{font-display:swap;font-family:Joyig;font-style:normal;font-weight:400;src:url(../fonts/joyig.woff2) format("woff2");unicode-range:u+0f??,u+0020-007e}@font-face{font-display:swap;font-family:Khampa Dedri Bechu;font-style:normal;font-weight:400;src:url(../fonts/khampa-dedri-bechu.woff2) format("woff2");unicode-range:u+0f??,u+0020-007e}@font-face{font-display:swap;font-family:Khampa Dedri Chuyig;font-style:normal;font-weight:400;src:url(../fonts/khampa-dedri-chuyig.woff2) format("woff2");unicode-range:u+0f??,u+0020-007e}@font-face{font-display:swap;font-family:Khampa Dedri Drutsa;font-style:normal;font-weight:400;src:url(../fonts/khampa-dedri-drutsa.woff2) format("woff2");unicode-range:u+0f??,u+0020-007e}@font-face{font-display:swap;font-family:Panchen Tsukring;font-style:normal;font-weight:400;src:url(../fonts/panchen-tsukring.woff2) format("woff2");unicode-range:u+0f??,u+0020-007e}@font-face{font-display:swap;font-family:Riwoche Dhodri;font-style:normal;font-weight:400;src:url(../fonts/riwoche-dhodri-yigchen.woff2) format("woff2");unicode-range:u+0f??,u+0020-007e}@font-face{font-display:swap;font-family:Sadri Yigchen;font-style:normal;font-weight:400;src:url(../fonts/sadri-yigchen.woff2) format("woff2");unicode-range:u+0f??,u+0020-007e}@font-face{font-display:swap;font-family:Sadri Drutsa;font-style:normal;font-weight:400;src:url(../fonts/sadri-drutsa.woff2) format("woff2");unicode-range:u+0f??,u+0020-007e}@font-face{font-display:swap;font-family:Noto Sans Tibetan;font-style:normal;font-weight:400;src:url(../fonts/noto-sans-tibetan.woff2) format("woff2");unicode-range:u+0f??,u+0020-007e}@font-face{font-display:swap;font-family:MiSans Tibetan;font-style:normal;font-weight:400;src:url(../fonts/misans-tibetan.woff2) format("woff2");unicode-range:u+0f??,u+0020-007e}@font-face{font-display:swap;font-family:Monlam Uni OuChan1;font-style:normal;font-weight:400;src:url(../fonts/monlam-uni-ouchan1.woff2) format("woff2");unicode-range:u+0f??,u+0020-007e}@font-face{font-display:swap;font-family:Monlam Uni OuChan2;font-style:normal;font-weight:400;src:url(../fonts/monlam-uni-ouchan2.woff2) format("woff2");unicode-range:u+0f??,u+0020-007e}@font-face{font-display:swap;font-family:Monlam Uni OuChan3;font-style:normal;font-weight:400;src:url(../fonts/monlam-uni-ouchan3.woff2) format("woff2");unicode-range:u+0f??,u+0020-007e}@font-face{font-display:swap;font-family:Monlam Uni OuChan4;font-style:normal;font-weight:400;src:url(../fonts/monlam-uni-ouchan4.woff2) format("woff2");unicode-range:u+0f??,u+0020-007e}@font-face{font-display:swap;font-family:Monlam Uni OuChan5;font-style:normal;font-weight:400;src:url(../fonts/monlam-uni-ouchan5.woff2) format("woff2");unicode-range:u+0f??,u+0020-007e}@font-face{font-display:swap;font-family:Monlam Uni Sans;font-style:normal;font-weight:400;src:url(../fonts/monlam-uni-sans.woff2) format("woff2");unicode-range:u+0f??,u+0020-007e}@font-face{font-display:swap;font-family:Monlam Uni PayTsik;font-style:normal;font-weight:400;src:url(../fonts/monlam-uni-paytsik.woff2) format("woff2");unicode-range:u+0f??,u+0020-007e}@font-face{font-display:swap;font-family:Monlam Uni Tikrang;font-style:normal;font-weight:400;src:url(../fonts/monlam-uni-tikrang.woff2) format("woff2");unicode-range:u+0f??,u+0020-007e}@font-face{font-display:swap;font-family:Monlam Uni TikTong;font-style:normal;font-weight:400;src:url(../fonts/monlam-uni-tiktong.woff2) format("woff2");unicode-range:u+0f??,u+0020-007e}@font-face{font-display:swap;font-family:Monlam Uni Dutsa1;font-style:normal;font-weight:400;src:url(../fonts/monlam-uni-dutsa1.woff2) format("woff2");unicode-range:u+0f??,u+0020-007e}@font-face{font-display:swap;font-family:Monlam Uni Dutsa2;font-style:normal;font-weight:400;src:url(../fonts/monlam-uni-dutsa2.woff2) format("woff2");unicode-range:u+0f??,u+0020-007e}@font-face{font-display:swap;font-family:Qomolangma-UchenSarchen;font-style:normal;font-weight:400;src:url(../fonts/qomolangma-uchen-sarchen.woff2) format("woff2");unicode-range:u+0f??,u+0020-007e}@font-face{font-display:swap;font-family:Qomolangma-Betsu;font-style:normal;font-weight:400;src:url(../fonts/qomolangma-betsu.woff2) format("woff2");unicode-range:u+0f??,u+0020-007e}@font-face{font-display:swap;font-family:Qomolangma-Tsutong;font-style:normal;font-weight:400;src:url(../fonts/qomolangma-tsutong.woff2) format("woff2");unicode-range:u+0f??,u+0020-007e}:lang(bo){font-family:Jomolhari,"Noto Serif Tibetan",Tibetan Machine Uni,serif;line-height:1.8;overflow-wrap:anywhere;vertical-align:middle;word-break:keep-all}[lang=bo]{direction:ltr;text-align:left;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.tr-jomolhari{font-family:Jomolhari,"Noto Serif Tibetan",serif}.tr-noto{font-family:"Noto Serif Tibetan",Jomolhari,serif}.tr-noto-thin{font-weight:100}.tr-noto-light,.tr-noto-thin{font-family:"Noto Serif Tibetan",serif}.tr-noto-light{font-weight:300}.tr-noto-medium{font-weight:500}.tr-noto-medium,.tr-noto-semibold{font-family:"Noto Serif Tibetan",serif}.tr-noto-semibold{font-weight:600}.tr-noto-bold{font-weight:700}.tr-noto-bold,.tr-noto-extrabold{font-family:"Noto Serif Tibetan",serif}.tr-noto-extrabold{font-weight:800}.tr-noto-black{font-family:"Noto Serif Tibetan",serif;font-weight:900}.tr-machine-uni{font-family:Tibetan Machine Uni,Jomolhari,serif}.tr-babelstone{font-family:BabelStone Tibetan,"Noto Serif Tibetan",serif}.tr-babelstone-slim{font-family:BabelStone Tibetan Slim,BabelStone Tibetan,"Noto Serif Tibetan",serif}.tr-ddc-uchen{font-family:DDC Uchen,Jomolhari,serif}.tr-ddc-rinzin{font-family:DDC Rinzin,DDC Uchen,Jomolhari,serif}.tr-gangjie{font-family:GangJie Uchen,"Noto Serif Tibetan",serif}.tr-jamyang{font-family:Jamyang Monlam Uchen,Jomolhari,serif}.tr-monlam{font-family:Monlam Bodyig,"Noto Serif Tibetan",serif}.tr-panchen{font-family:Panchen Tsukring,Jomolhari,serif}.tr-riwoche{font-family:Riwoche Dhodri,Tibetan Machine Uni,serif}.tr-sadri{font-family:Sadri Yigchen,"Noto Serif Tibetan",serif}.tr-noto-sans{font-family:Noto Sans Tibetan,"Noto Serif Tibetan",sans-serif}.tr-misans{font-family:MiSans Tibetan,Noto Sans Tibetan,sans-serif}.tr-monlam-sans{font-family:Monlam Uni Sans,Noto Sans Tibetan,sans-serif}.tr-monlam-ouchan1{font-family:Monlam Uni OuChan1,Jomolhari,serif}.tr-monlam-ouchan2{font-family:Monlam Uni OuChan2,Monlam Uni OuChan1,Jomolhari,serif}.tr-monlam-ouchan3{font-family:Monlam Uni OuChan3,Monlam Uni OuChan1,Jomolhari,serif}.tr-monlam-ouchan4{font-family:Monlam Uni OuChan4,Monlam Uni OuChan1,Jomolhari,serif}.tr-monlam-ouchan5{font-family:Monlam Uni OuChan5,Monlam Uni OuChan1,Jomolhari,serif}.tr-monlam-paytsik{font-family:Monlam Uni PayTsik,Jomolhari,serif}.tr-monlam-tikrang{font-family:Monlam Uni Tikrang,Jomolhari,serif}.tr-monlam-tiktong{font-family:Monlam Uni TikTong,Jomolhari,serif}.tr-qomolangma-sarchen{font-family:Qomolangma-UchenSarchen,Jomolhari,serif}.tr-qomolangma-betsu{font-family:Qomolangma-Betsu,Jomolhari,serif}.tr-qomolangma-tsutong{font-family:Qomolangma-Tsutong,Jomolhari,serif}.tr-drutsa{font-family:Qomolangma-Drutsa,Jomolhari,serif}.tr-gangjie-drutsa{font-family:GangJie Drutsa,Qomolangma-Drutsa,serif}.tr-khampa-drutsa{font-family:Khampa Dedri Drutsa,Qomolangma-Drutsa,serif}.tr-sadri-drutsa{font-family:Sadri Drutsa,Qomolangma-Drutsa,serif}.tr-monlam-dutsa1{font-family:Monlam Uni Dutsa1,Qomolangma-Drutsa,serif}.tr-monlam-dutsa2{font-family:Monlam Uni Dutsa2,Monlam Uni Dutsa1,Qomolangma-Drutsa,serif}.tr-joyig{font-family:Joyig,Qomolangma-Drutsa,serif}.tr-chuyig{font-family:Khampa Dedri Chuyig,Joyig,serif}.tr-bechu{font-family:Khampa Dedri Bechu,Khampa Dedri Chuyig,serif}.tr-text-rainbow{background:linear-gradient(90deg,#e63946,#f4a261 16%,#e9c46a 32%,#2a9d8f 48%,#264653 64%,#6a4c93 80%,#e63946);-webkit-background-clip:text;background-clip:text}.tr-text-rainbow,.tr-text-saffron{-webkit-text-fill-color:transparent;color:transparent}.tr-text-saffron{background:linear-gradient(90deg,#e65100,#ff8f00 40%,#ffd54f);-webkit-background-clip:text;background-clip:text}.tr-text-ink{background:linear-gradient(180deg,#4a4a4a,#1a1a1a 60%,#000);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent}.tr-glow-aurora{animation:tr-aurora-pulse 3s ease-in-out infinite;position:relative;text-shadow:0 0 10px rgba(42,157,143,.6),0 0 20px rgba(42,157,143,.4),0 0 40px rgba(42,157,143,.2)}@keyframes tr-aurora-pulse{0%,to{text-shadow:0 0 10px rgba(42,157,143,.6),0 0 20px rgba(42,157,143,.4),0 0 40px rgba(42,157,143,.2)}50%{text-shadow:0 0 15px rgba(42,157,143,.8),0 0 30px rgba(42,157,143,.5),0 0 60px rgba(42,157,143,.3),0 0 80px rgba(106,76,147,.2)}}.tr-glow-aurora[data-text]:before{content:attr(data-text);left:0;position:absolute;top:0;z-index:-1;-webkit-text-fill-color:transparent;animation:tr-aurora-pulse 3s ease-in-out infinite;color:transparent;text-shadow:0 0 10px rgba(42,157,143,.6),0 0 20px rgba(42,157,143,.4),0 0 40px rgba(42,157,143,.2)}.tr-outline-gold{-webkit-text-stroke:1px #c9a84c;color:transparent}.tr-outline-gold-fill{-webkit-text-stroke:1px #c9a84c;color:#1a1a1a}.tr-glass{background:hsla(0,0%,100%,.12);border:1px solid hsla(0,0%,100%,.18);border-radius:8px}.tr-glass,.tr-glass-dark{backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);padding:1em 1.5em}.tr-glass-dark{background:rgba(0,0,0,.25);border:1px solid hsla(0,0%,100%,.08);border-radius:8px}.tr-shimmer{background:linear-gradient(90deg,#92700a,#c9a84c 20%,#fef9c3 42%,gold 50%,#fef9c3 58%,#c9a84c 80%,#92700a);-webkit-background-clip:text;background-clip:text;background-size:250% auto;-webkit-text-fill-color:transparent;animation:tr-shimmer-sweep 3s ease-in-out infinite alternate;color:transparent}@keyframes tr-shimmer-sweep{0%{background-position:0}to{background-position:100%}}.tr-text-fire{background:linear-gradient(0deg,#7f1d1d,#dc2626 28%,#ea580c 52%,#f97316 72%,#fbbf24 88%,#fef08a);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;animation:tr-fire-flicker 2.2s ease-in-out infinite;color:transparent}@keyframes tr-fire-flicker{0%,to{filter:brightness(1)}28%{filter:brightness(1.13)}55%{filter:brightness(.95)}80%{filter:brightness(1.09)}}.tr-text-lapis{background:linear-gradient(135deg,#1e3a8a,#1d4ed8 35%,#3b82f6 65%,#93c5fd);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent}.tr-emboss{color:#c2a46e;text-shadow:0 -1px 0 rgba(255,245,200,.55),0 1px 2px rgba(0,0,0,.85),1px 1px 3px rgba(0,0,0,.6),0 0 10px hsla(41,42%,63%,.1)}.tr-guard{padding-block:.25em}.tr-guard-lg{padding-block:.5em}.tr-overflow-safe{overflow-wrap:anywhere;word-break:keep-all}.tr-scale-up{font-size:120%}.tr-scale-match{font-size:150%}.tr-baseline{line-height:1.8;vertical-align:middle}.tr-nobr-tsheg,.tr-shad-pair{white-space:nowrap}.tr-text-sm{font-size:.85rem;line-height:1.6}.tr-text-base{font-size:1.1rem;line-height:1.8}.tr-text-lg{font-size:1.4rem;line-height:1.8}.tr-text-xl{font-size:1.75rem;line-height:1.7}.tr-text-2xl{font-size:2.25rem;line-height:1.6}.tr-text-3xl{font-size:3rem;line-height:1.5}.tr-text-4xl{font-size:4rem;line-height:1.4}.tr-text-5xl{font-size:5rem;line-height:1.3}.tr-leading-tight{line-height:1.4}.tr-leading-normal{line-height:1.8}.tr-leading-relaxed{line-height:2.2}.tr-leading-loose{line-height:2.6}.tr-text-left{text-align:left}.tr-text-center{text-align:center}.tr-text-right{text-align:right}.tr-text-justify{text-align:justify}.tr-indent{text-indent:2em}.tr-justify-bo{text-align:justify}.tr-stack-safe{line-height:2.4;padding-block:.3em}.tr-ligatures{font-feature-settings:"liga" 1,"blws" 1,"abvs" 1;font-variant-ligatures:common-ligatures}.tr-yig-chung{font-size:75%;line-height:inherit;vertical-align:top}.tr-pecha{align-items:stretch;aspect-ratio:6/1;background:#faf0dc;border:2px solid #b91c1c;border-radius:2px;box-shadow:inset 0 0 0 4px #faf0dc,inset 0 0 0 6px #b91c1c;color:#1a1a1a;display:grid;grid-template-columns:9% 1fr 9%;overflow:hidden}.tr-pecha-dark{background:#1e1b4b;box-shadow:inset 0 0 0 4px #1e1b4b,inset 0 0 0 6px #92400e;color:#d4a843}.tr-pecha-dark,.tr-pecha-dark .tr-pecha-folio,.tr-pecha-dark .tr-pecha-title{border-color:#92400e}.tr-pecha-title{align-items:center;border-right:1px solid #b91c1c;display:flex;font-size:.75rem;justify-content:center;line-height:1.4;padding:.4rem .3rem;text-align:center}.tr-pecha-body{border-right:1px solid #b91c1c;font-size:1.1rem;line-height:1.85;overflow-x:hidden;padding:.55rem 1rem;text-align:justify}.tr-pecha-folio{align-items:center;display:flex;font-size:.9rem;justify-content:center;line-height:1;padding:.4rem .3rem;text-align:center}.tr-pecha-title-rotated{display:inline-block;transform:rotate(-90deg);white-space:nowrap}.tr-yig-mgo:before{content:"༄༅། "}
1
+ @font-face{font-display:swap;font-family:Jomolhari;font-style:normal;font-weight:400;src:url(../fonts/jomolhari-regular.woff2) format("woff2");unicode-range:u+0f??,u+0020-007e}@font-face{font-display:swap;font-family:Monlam Bodyig;font-style:normal;font-weight:400;size-adjust:123.3%;src:url(../fonts/monlam-bodyig.woff2) format("woff2");unicode-range:u+0f??,u+0020-007e}@font-face{font-display:swap;font-family:Qomolangma-UchenSarchen;font-style:normal;font-weight:400;size-adjust:127.6%;src:url(../fonts/qomolangma-uchen-sarchen.woff2) format("woff2");unicode-range:u+0f??,u+0020-007e}@font-face{font-display:swap;font-family:Qomolangma-Drutsa;font-style:normal;font-weight:400;size-adjust:97.4%;src:url(../fonts/qomolangma-drutsa.woff2) format("woff2");unicode-range:u+0f??,u+0020-007e}@font-face{font-display:swap;font-family:"Noto Serif Tibetan";font-style:normal;font-weight:100;size-adjust:108.8%;src:url(../fonts/noto-serif-tibetan-thin.woff2) format("woff2");unicode-range:u+0f??,u+0020-007e}@font-face{font-display:swap;font-family:"Noto Serif Tibetan";font-style:normal;font-weight:200;size-adjust:108.8%;src:url(../fonts/noto-serif-tibetan-extralight.woff2) format("woff2");unicode-range:u+0f??,u+0020-007e}@font-face{font-display:swap;font-family:"Noto Serif Tibetan";font-style:normal;font-weight:300;size-adjust:108.8%;src:url(../fonts/noto-serif-tibetan-light.woff2) format("woff2");unicode-range:u+0f??,u+0020-007e}@font-face{font-display:swap;font-family:"Noto Serif Tibetan";font-style:normal;font-weight:400;size-adjust:108.8%;src:url(../fonts/noto-serif-tibetan-regular.woff2) format("woff2");unicode-range:u+0f??,u+0020-007e}@font-face{font-display:swap;font-family:"Noto Serif Tibetan";font-style:normal;font-weight:500;size-adjust:108.8%;src:url(../fonts/noto-serif-tibetan-medium.woff2) format("woff2");unicode-range:u+0f??,u+0020-007e}@font-face{font-display:swap;font-family:"Noto Serif Tibetan";font-style:normal;font-weight:600;size-adjust:108.8%;src:url(../fonts/noto-serif-tibetan-semibold.woff2) format("woff2");unicode-range:u+0f??,u+0020-007e}@font-face{font-display:swap;font-family:"Noto Serif Tibetan";font-style:normal;font-weight:700;size-adjust:108.8%;src:url(../fonts/noto-serif-tibetan-bold.woff2) format("woff2");unicode-range:u+0f??,u+0020-007e}@font-face{font-display:swap;font-family:"Noto Serif Tibetan";font-style:normal;font-weight:800;size-adjust:108.8%;src:url(../fonts/noto-serif-tibetan-extrabold.woff2) format("woff2");unicode-range:u+0f??,u+0020-007e}@font-face{font-display:swap;font-family:"Noto Serif Tibetan";font-style:normal;font-weight:900;size-adjust:108.8%;src:url(../fonts/noto-serif-tibetan-black.woff2) format("woff2");unicode-range:u+0f??,u+0020-007e}@font-face{font-display:swap;font-family:Tibetan Machine Uni;font-style:normal;font-weight:400;src:url(../fonts/tibetan-machine-uni.woff2) format("woff2");unicode-range:u+0f??,u+0020-007e}@font-face{font-display:swap;font-family:BabelStone Tibetan;font-style:normal;font-weight:400;size-adjust:145.1%;src:url(../fonts/babelstone-tibetan.woff2) format("woff2");unicode-range:u+0f??,u+0020-007e}@font-face{font-display:swap;font-family:BabelStone Tibetan Slim;font-style:normal;font-weight:400;size-adjust:145.1%;src:url(../fonts/babelstone-tibetan-slim.woff2) format("woff2");unicode-range:u+0f??,u+0020-007e}@font-face{font-display:swap;font-family:DDC Uchen;font-style:normal;font-weight:400;size-adjust:101.4%;src:url(../fonts/ddc-uchen.woff2) format("woff2");unicode-range:u+0f??,u+0020-007e}@font-face{font-display:swap;font-family:DDC Rinzin;font-style:normal;font-weight:400;size-adjust:101.4%;src:url(../fonts/ddc-rinzin.woff2) format("woff2");unicode-range:u+0f??,u+0020-007e}@font-face{font-display:swap;font-family:GangJie Uchen;font-style:normal;font-weight:400;size-adjust:125.4%;src:url(../fonts/gangjie-uchen.woff2) format("woff2");unicode-range:u+0f??,u+0020-007e}@font-face{font-display:swap;font-family:GangJie Drutsa;font-style:normal;font-weight:400;size-adjust:134.5%;src:url(../fonts/gangjie-drutsa.woff2) format("woff2");unicode-range:u+0f??,u+0020-007e}@font-face{font-display:swap;font-family:Jamyang Monlam Uchen;font-style:normal;font-weight:400;size-adjust:205.6%;src:url(../fonts/jamyang-monlam-uchen.woff2) format("woff2");unicode-range:u+0f??,u+0020-007e}@font-face{font-display:swap;font-family:Joyig;font-style:normal;font-weight:400;src:url(../fonts/joyig.woff2) format("woff2");unicode-range:u+0f??,u+0020-007e}@font-face{font-display:swap;font-family:Khampa Dedri Bechu;font-style:normal;font-weight:400;size-adjust:138.1%;src:url(../fonts/khampa-dedri-bechu.woff2) format("woff2");unicode-range:u+0f??,u+0020-007e}@font-face{font-display:swap;font-family:Khampa Dedri Chuyig;font-style:normal;font-weight:400;size-adjust:262.4%;src:url(../fonts/khampa-dedri-chuyig.woff2) format("woff2");unicode-range:u+0f??,u+0020-007e}@font-face{font-display:swap;font-family:Khampa Dedri Drutsa;font-style:normal;font-weight:400;size-adjust:132.1%;src:url(../fonts/khampa-dedri-drutsa.woff2) format("woff2");unicode-range:u+0f??,u+0020-007e}@font-face{font-display:swap;font-family:Panchen Tsukring;font-style:normal;font-weight:400;size-adjust:113.8%;src:url(../fonts/panchen-tsukring.woff2) format("woff2");unicode-range:u+0f??,u+0020-007e}@font-face{font-display:swap;font-family:Riwoche Dhodri;font-style:normal;font-weight:400;size-adjust:129.8%;src:url(../fonts/riwoche-dhodri-yigchen.woff2) format("woff2");unicode-range:u+0f??,u+0020-007e}@font-face{font-display:swap;font-family:Sadri Yigchen;font-style:normal;font-weight:400;size-adjust:127.6%;src:url(../fonts/sadri-yigchen.woff2) format("woff2");unicode-range:u+0f??,u+0020-007e}@font-face{font-display:swap;font-family:Sadri Drutsa;font-style:normal;font-weight:400;size-adjust:127.6%;src:url(../fonts/sadri-drutsa.woff2) format("woff2");unicode-range:u+0f??,u+0020-007e}@font-face{font-display:swap;font-family:Noto Sans Tibetan;font-style:normal;font-weight:400;size-adjust:108.8%;src:url(../fonts/noto-sans-tibetan.woff2) format("woff2");unicode-range:u+0f??,u+0020-007e}@font-face{font-display:swap;font-family:MiSans Tibetan;font-style:normal;font-weight:400;size-adjust:108.8%;src:url(../fonts/misans-tibetan.woff2) format("woff2");unicode-range:u+0f??,u+0020-007e}@font-face{font-display:swap;font-family:Monlam Uni OuChan1;font-style:normal;font-weight:400;size-adjust:224.2%;src:url(../fonts/monlam-uni-ouchan1.woff2) format("woff2");unicode-range:u+0f??,u+0020-007e}@font-face{font-display:swap;font-family:Monlam Uni OuChan2;font-style:normal;font-weight:400;size-adjust:154.2%;src:url(../fonts/monlam-uni-ouchan2.woff2) format("woff2");unicode-range:u+0f??,u+0020-007e}@font-face{font-display:swap;font-family:Monlam Uni OuChan3;font-style:normal;font-weight:400;size-adjust:157.4%;src:url(../fonts/monlam-uni-ouchan3.woff2) format("woff2");unicode-range:u+0f??,u+0020-007e}@font-face{font-display:swap;font-family:Monlam Uni OuChan4;font-style:normal;font-weight:400;size-adjust:157.4%;src:url(../fonts/monlam-uni-ouchan4.woff2) format("woff2");unicode-range:u+0f??,u+0020-007e}@font-face{font-display:swap;font-family:Monlam Uni OuChan5;font-style:normal;font-weight:400;size-adjust:157.4%;src:url(../fonts/monlam-uni-ouchan5.woff2) format("woff2");unicode-range:u+0f??,u+0020-007e}@font-face{font-display:swap;font-family:Monlam Uni Sans;font-style:normal;font-weight:400;size-adjust:145.1%;src:url(../fonts/monlam-uni-sans.woff2) format("woff2");unicode-range:u+0f??,u+0020-007e}@font-face{font-display:swap;font-family:Monlam Uni PayTsik;font-style:normal;font-weight:400;size-adjust:308.3%;src:url(../fonts/monlam-uni-paytsik.woff2) format("woff2");unicode-range:u+0f??,u+0020-007e}@font-face{font-display:swap;font-family:Monlam Uni Tikrang;font-style:normal;font-weight:400;size-adjust:246.7%;src:url(../fonts/monlam-uni-tikrang.woff2) format("woff2");unicode-range:u+0f??,u+0020-007e}@font-face{font-display:swap;font-family:Monlam Uni TikTong;font-style:normal;font-weight:400;size-adjust:296.0%;src:url(../fonts/monlam-uni-tiktong.woff2) format("woff2");unicode-range:u+0f??,u+0020-007e}@font-face{font-display:swap;font-family:Monlam Uni Dutsa1;font-style:normal;font-weight:400;size-adjust:264.3%;src:url(../fonts/monlam-uni-dutsa1.woff2) format("woff2");unicode-range:u+0f??,u+0020-007e}@font-face{font-display:swap;font-family:Monlam Uni Dutsa2;font-style:normal;font-weight:400;size-adjust:284.6%;src:url(../fonts/monlam-uni-dutsa2.woff2) format("woff2");unicode-range:u+0f??,u+0020-007e}@font-face{font-display:swap;font-family:Qomolangma-Betsu;font-style:normal;font-weight:400;size-adjust:118.6%;src:url(../fonts/qomolangma-betsu.woff2) format("woff2");unicode-range:u+0f??,u+0020-007e}@font-face{font-display:swap;font-family:Qomolangma-Tsutong;font-style:normal;font-weight:400;size-adjust:125.4%;src:url(../fonts/qomolangma-tsutong.woff2) format("woff2");unicode-range:u+0f??,u+0020-007e}:lang(bo){font-family:Jomolhari,Qomolangma-UchenSarchen,Monlam Bodyig,serif;line-height:1.8;overflow-wrap:anywhere;vertical-align:middle;word-break:keep-all}[lang=bo]{direction:ltr;text-align:left;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.tr-jomolhari{font-family:Jomolhari,serif}.tr-noto{font-family:"Noto Serif Tibetan",Jomolhari,serif}.tr-noto-thin{font-weight:100}.tr-noto-light,.tr-noto-thin{font-family:"Noto Serif Tibetan",serif}.tr-noto-light{font-weight:300}.tr-noto-medium{font-weight:500}.tr-noto-medium,.tr-noto-semibold{font-family:"Noto Serif Tibetan",serif}.tr-noto-semibold{font-weight:600}.tr-noto-bold{font-weight:700}.tr-noto-bold,.tr-noto-extrabold{font-family:"Noto Serif Tibetan",serif}.tr-noto-extrabold{font-weight:800}.tr-noto-black{font-family:"Noto Serif Tibetan",serif;font-weight:900}.tr-machine-uni{font-family:Tibetan Machine Uni,Jomolhari,serif}.tr-babelstone{font-family:BabelStone Tibetan,Jomolhari,serif}.tr-babelstone-slim{font-family:BabelStone Tibetan Slim,BabelStone Tibetan,Jomolhari,serif}.tr-ddc-uchen{font-family:DDC Uchen,Jomolhari,serif}.tr-ddc-rinzin{font-family:DDC Rinzin,DDC Uchen,Jomolhari,serif}.tr-gangjie{font-family:GangJie Uchen,Jomolhari,serif}.tr-jamyang{font-family:Jamyang Monlam Uchen,Jomolhari,serif}.tr-monlam{font-family:Monlam Bodyig,serif}.tr-panchen{font-family:Panchen Tsukring,Jomolhari,serif}.tr-riwoche{font-family:Riwoche Dhodri,Jomolhari,serif}.tr-sadri{font-family:Sadri Yigchen,Jomolhari,serif}.tr-noto-sans{font-family:Noto Sans Tibetan,Jomolhari,sans-serif}.tr-misans{font-family:MiSans Tibetan,Jomolhari,sans-serif}.tr-monlam-sans{font-family:Monlam Uni Sans,Jomolhari,sans-serif}.tr-monlam-ouchan1{font-family:Monlam Uni OuChan1,Jomolhari,serif}.tr-monlam-ouchan2{font-family:Monlam Uni OuChan2,Monlam Uni OuChan1,Jomolhari,serif}.tr-monlam-ouchan3{font-family:Monlam Uni OuChan3,Monlam Uni OuChan1,Jomolhari,serif}.tr-monlam-ouchan4{font-family:Monlam Uni OuChan4,Monlam Uni OuChan1,Jomolhari,serif}.tr-monlam-ouchan5{font-family:Monlam Uni OuChan5,Monlam Uni OuChan1,Jomolhari,serif}.tr-monlam-paytsik{font-family:Monlam Uni PayTsik,Jomolhari,serif}.tr-monlam-tikrang{font-family:Monlam Uni Tikrang,Jomolhari,serif}.tr-monlam-tiktong{font-family:Monlam Uni TikTong,Jomolhari,serif}.tr-qomolangma-sarchen{font-family:Qomolangma-UchenSarchen,serif}.tr-qomolangma-betsu{font-family:Qomolangma-Betsu,Qomolangma-UchenSarchen,serif}.tr-qomolangma-tsutong{font-family:Qomolangma-Tsutong,Qomolangma-UchenSarchen,serif}.tr-drutsa{font-family:Qomolangma-Drutsa,serif}.tr-gangjie-drutsa{font-family:GangJie Drutsa,Qomolangma-Drutsa,serif}.tr-khampa-drutsa{font-family:Khampa Dedri Drutsa,Qomolangma-Drutsa,serif}.tr-sadri-drutsa{font-family:Sadri Drutsa,Qomolangma-Drutsa,serif}.tr-monlam-dutsa1{font-family:Monlam Uni Dutsa1,Qomolangma-Drutsa,serif}.tr-monlam-dutsa2{font-family:Monlam Uni Dutsa2,Monlam Uni Dutsa1,Qomolangma-Drutsa,serif}.tr-joyig{font-family:Joyig,Qomolangma-Drutsa,serif}.tr-chuyig{font-family:Khampa Dedri Chuyig,Joyig,serif}.tr-bechu{font-family:Khampa Dedri Bechu,Khampa Dedri Chuyig,serif}.tr-text-rainbow{background:linear-gradient(90deg,#e63946,#f4a261 16%,#e9c46a 32%,#2a9d8f 48%,#264653 64%,#6a4c93 80%,#e63946);-webkit-background-clip:text;background-clip:text}.tr-text-rainbow,.tr-text-saffron{-webkit-text-fill-color:transparent;color:transparent}.tr-text-saffron{background:linear-gradient(90deg,#e65100,#ff8f00 40%,#ffd54f);-webkit-background-clip:text;background-clip:text}.tr-text-ink{background:linear-gradient(180deg,#4a4a4a,#1a1a1a 60%,#000);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent}.tr-glow-aurora{animation:tr-aurora-pulse 3s ease-in-out infinite;position:relative;text-shadow:0 0 10px rgba(42,157,143,.6),0 0 20px rgba(42,157,143,.4),0 0 40px rgba(42,157,143,.2)}@keyframes tr-aurora-pulse{0%,to{text-shadow:0 0 10px rgba(42,157,143,.6),0 0 20px rgba(42,157,143,.4),0 0 40px rgba(42,157,143,.2)}50%{text-shadow:0 0 15px rgba(42,157,143,.8),0 0 30px rgba(42,157,143,.5),0 0 60px rgba(42,157,143,.3),0 0 80px rgba(106,76,147,.2)}}.tr-glow-aurora[data-text]:before{content:attr(data-text);left:0;position:absolute;top:0;z-index:-1;-webkit-text-fill-color:transparent;animation:tr-aurora-pulse 3s ease-in-out infinite;color:transparent;text-shadow:0 0 10px rgba(42,157,143,.6),0 0 20px rgba(42,157,143,.4),0 0 40px rgba(42,157,143,.2)}.tr-outline-gold{-webkit-text-stroke:1px #c9a84c;color:transparent}.tr-outline-gold-fill{-webkit-text-stroke:1px #c9a84c;color:#1a1a1a}.tr-glass{background:hsla(0,0%,100%,.12);border:1px solid hsla(0,0%,100%,.18);border-radius:8px}.tr-glass,.tr-glass-dark{backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);padding:1em 1.5em}.tr-glass-dark{background:rgba(0,0,0,.25);border:1px solid hsla(0,0%,100%,.08);border-radius:8px}.tr-shimmer{background:linear-gradient(90deg,#92700a,#c9a84c 20%,#fef9c3 42%,gold 50%,#fef9c3 58%,#c9a84c 80%,#92700a);-webkit-background-clip:text;background-clip:text;background-size:250% auto;-webkit-text-fill-color:transparent;animation:tr-shimmer-sweep 3s ease-in-out infinite alternate;color:transparent}@keyframes tr-shimmer-sweep{0%{background-position:0}to{background-position:100%}}.tr-text-fire{background:linear-gradient(0deg,#7f1d1d,#dc2626 28%,#ea580c 52%,#f97316 72%,#fbbf24 88%,#fef08a);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;animation:tr-fire-flicker 2.2s ease-in-out infinite;color:transparent}@keyframes tr-fire-flicker{0%,to{filter:brightness(1)}28%{filter:brightness(1.13)}55%{filter:brightness(.95)}80%{filter:brightness(1.09)}}.tr-text-lapis{background:linear-gradient(135deg,#1e3a8a,#1d4ed8 35%,#3b82f6 65%,#93c5fd);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent}.tr-emboss{color:#c2a46e;text-shadow:0 -1px 0 rgba(255,245,200,.55),0 1px 2px rgba(0,0,0,.85),1px 1px 3px rgba(0,0,0,.6),0 0 10px hsla(41,42%,63%,.1)}.tr-guard{padding-block:.25em}.tr-guard-lg{padding-block:.5em}.tr-overflow-safe{overflow-wrap:anywhere;word-break:keep-all}.tr-scale-up{font-size:120%}.tr-scale-match{font-size:150%}.tr-baseline{line-height:1.8;vertical-align:middle}.tr-nobr-tsheg,.tr-shad-pair{white-space:nowrap}.tr-text-sm{font-size:.85rem;line-height:1.6}.tr-text-base{font-size:1.1rem;line-height:1.8}.tr-text-lg{font-size:1.4rem;line-height:1.8}.tr-text-xl{font-size:1.75rem;line-height:1.7}.tr-text-2xl{font-size:2.25rem;line-height:1.6}.tr-text-3xl{font-size:3rem;line-height:1.5}.tr-text-4xl{font-size:4rem;line-height:1.4}.tr-text-5xl{font-size:5rem;line-height:1.3}.tr-leading-tight{line-height:1.4}.tr-leading-normal{line-height:1.8}.tr-leading-relaxed{line-height:2.2}.tr-leading-loose{line-height:2.6}.tr-text-left{text-align:left}.tr-text-center{text-align:center}.tr-text-right{text-align:right}.tr-text-justify{text-align:justify}.tr-indent{text-indent:2em}.tr-justify-bo{text-align:justify}.tr-stack-safe{line-height:2.4;padding-block:.3em}.tr-ligatures{font-feature-settings:"liga" 1,"blws" 1,"abvs" 1;font-variant-ligatures:common-ligatures}.tr-yig-chung{font-size:75%;line-height:inherit;vertical-align:top}.tr-pecha{align-items:stretch;aspect-ratio:6/1;background:#faf0dc;border:2px solid #b91c1c;border-radius:2px;box-shadow:inset 0 0 0 4px #faf0dc,inset 0 0 0 6px #b91c1c;color:#1a1a1a;display:grid;grid-template-columns:9% 1fr 9%;overflow:hidden}.tr-pecha-dark{background:#1e1b4b;box-shadow:inset 0 0 0 4px #1e1b4b,inset 0 0 0 6px #92400e;color:#d4a843}.tr-pecha-dark,.tr-pecha-dark .tr-pecha-folio,.tr-pecha-dark .tr-pecha-title{border-color:#92400e}.tr-pecha-title{align-items:center;border-right:1px solid #b91c1c;display:flex;font-size:.75rem;justify-content:center;line-height:1.4;padding:.4rem .3rem;text-align:center}.tr-pecha-body{border-right:1px solid #b91c1c;font-size:1.1rem;line-height:1.85;overflow-x:hidden;padding:.55rem 1rem;text-align:justify}.tr-pecha-folio{align-items:center;display:flex;font-size:.9rem;justify-content:center;line-height:1;padding:.4rem .3rem;text-align:center}.tr-pecha-title-rotated{display:inline-block;transform:rotate(-90deg);white-space:nowrap}.tr-yig-mgo:before{content:"༄༅། "}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "termaui",
3
- "version": "0.1.1",
3
+ "version": "0.3.0",
4
4
  "description": "Tibetan typography CSS framework — fonts, utility classes, and rendering fixes for Tibetan script on the web.",
5
5
  "keywords": [
6
6
  "tibetan",
@@ -20,10 +20,10 @@
20
20
  },
21
21
  "repository": {
22
22
  "type": "git",
23
- "url": "git+https://github.com/vajradog/TermaFoundry.git",
23
+ "url": "https://github.com/vajradog/TermaFoundry",
24
24
  "directory": "packages/termaui"
25
25
  },
26
- "license": "MIT",
26
+ "license": "SEE LICENSE IN LICENSE",
27
27
  "author": "Terma Foundry <buddhistapps@gmail.com>",
28
28
  "main": "dist/terma.js",
29
29
  "module": "dist/terma.esm.js",
@@ -34,15 +34,26 @@
34
34
  "require": "./dist/terma.js",
35
35
  "default": "./dist/terma.js"
36
36
  },
37
+ "./clusters": {
38
+ "import": "./dist/terma-clusters.esm.js",
39
+ "require": "./dist/terma-clusters.js",
40
+ "default": "./dist/terma-clusters.js"
41
+ },
37
42
  "./dist/termaui.css": "./dist/termaui.css",
38
43
  "./dist/termaui.min.css": "./dist/termaui.min.css",
39
44
  "./dist/terma.js": "./dist/terma.js",
40
- "./dist/terma.esm.js": "./dist/terma.esm.js"
45
+ "./dist/terma.esm.js": "./dist/terma.esm.js",
46
+ "./dist/terma-clusters.js": "./dist/terma-clusters.js",
47
+ "./dist/terma-clusters.esm.js": "./dist/terma-clusters.esm.js"
41
48
  },
42
49
  "files": [
43
50
  "dist/",
44
- "fonts/",
45
- "README.md"
51
+ "fonts/jomolhari-regular.woff2",
52
+ "fonts/monlam-bodyig.woff2",
53
+ "fonts/qomolangma-uchen-sarchen.woff2",
54
+ "fonts/qomolangma-drutsa.woff2",
55
+ "README.md",
56
+ "LICENSE"
46
57
  ],
47
58
  "sideEffects": [
48
59
  "dist/termaui.css",
Binary file