@howssatoshi/quantumcss 1.11.1 → 1.11.4

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.
@@ -26,17 +26,28 @@ html[data-theme="light"] a:hover {
26
26
  }
27
27
 
28
28
  h1 {
29
- font-size: 3rem; /* text-5xl */
29
+ font-size: 2rem;
30
30
  font-weight: 700;
31
- line-height: 1.25; /* leading-tight */
32
- letter-spacing: -0.05em; /* tracking-tighter */
31
+ line-height: 1.2;
32
+ letter-spacing: -0.025em;
33
33
  margin: 0;
34
- white-space: nowrap;
34
+ }
35
+
36
+ @media (min-width: 640px) {
37
+ h1 {
38
+ font-size: 2.5rem;
39
+ }
35
40
  }
36
41
 
37
42
  @media (min-width: 768px) {
38
43
  h1 {
39
- font-size: 4rem; /* text-7xl */
44
+ font-size: 3rem;
45
+ }
46
+ }
47
+
48
+ @media (min-width: 1024px) {
49
+ h1 {
50
+ font-size: 3.5rem;
40
51
  }
41
52
  }
42
53
 
@@ -533,7 +544,7 @@ html[data-theme="light"] .radio-starlight {
533
544
  padding: 0.5rem 0.75rem;
534
545
  background-color: rgb(10 10 30 / 98%);
535
546
  backdrop-filter: blur(12px);
536
- border: 1px solid rgb(0 212 255 / 30%);
547
+ border: 1px solid color-mix(in srgb, var(--q-color-starlight-blue), transparent 70%);
537
548
  border-radius: 0.5rem;
538
549
  color: #f1f5f9;
539
550
  font-size: 0.75rem;
@@ -836,7 +847,7 @@ html[data-theme="light"] .select-starlight:focus {
836
847
  backdrop-filter: blur(12px);
837
848
  -webkit-backdrop-filter: blur(12px);
838
849
  border: 1px solid rgba(255, 255, 255, 0.05);
839
- box-shadow: 0 0 30px rgba(0, 212, 255, 0.25);
850
+ box-shadow: 0 0 30px color-mix(in srgb, var(--q-color-starlight-blue), transparent 75%);
840
851
  transition: all 0.3s ease;
841
852
  border-radius: 1rem;
842
853
  padding: 1.5rem;
@@ -844,7 +855,7 @@ html[data-theme="light"] .select-starlight:focus {
844
855
 
845
856
  .glass:hover {
846
857
  border-color: var(--q-color-starlight-blue);
847
- box-shadow: 0 0 40px rgba(0, 212, 255, 0.4);
858
+ box-shadow: 0 0 40px color-mix(in srgb, var(--q-color-starlight-blue), transparent 60%);
848
859
  }
849
860
 
850
861
  html[data-theme="light"] .glass {
@@ -857,20 +868,20 @@ html[data-theme="light"] .glass:hover {
857
868
  border-color: var(--q-color-starlight-blue);
858
869
  box-shadow:
859
870
  0 8px 32px 0 rgba(31, 38, 135, 0.1),
860
- 0 0 15px rgba(0, 212, 255, 0.15);
871
+ 0 0 15px color-mix(in srgb, var(--q-color-starlight-blue), transparent 85%);
861
872
  }
862
873
 
863
874
  /* Glass Blue Glow variant */
864
875
  .glow-blue {
865
876
  box-shadow:
866
- 0 0 30px rgba(0, 212, 255, 0.35),
867
- 0 0 60px rgba(0, 212, 255, 0.15);
877
+ 0 0 30px color-mix(in srgb, var(--q-color-starlight-blue), transparent 65%),
878
+ 0 0 60px color-mix(in srgb, var(--q-color-starlight-blue), transparent 85%);
868
879
  }
869
880
 
870
881
  .glow-blue:hover {
871
882
  box-shadow:
872
- 0 0 40px rgba(0, 212, 255, 0.5),
873
- 0 0 80px rgba(0, 212, 255, 0.2);
883
+ 0 0 40px color-mix(in srgb, var(--q-color-starlight-blue), transparent 50%),
884
+ 0 0 80px color-mix(in srgb, var(--q-color-starlight-blue), transparent 80%);
874
885
  }
875
886
 
876
887
  /* 9. Code Interface Window */
@@ -1026,7 +1037,7 @@ html[data-theme="light"] .code-window-title {
1026
1037
 
1027
1038
  .accordion .accordion-icon {
1028
1039
  color: var(--q-color-starlight-blue);
1029
- filter: drop-shadow(0 0 5px rgb(0 212 255 / 50%));
1040
+ filter: drop-shadow(0 0 5px color-mix(in srgb, var(--q-color-starlight-blue), transparent 50%));
1030
1041
  }
1031
1042
 
1032
1043
  html[data-theme="light"] .accordion.accordion-item {
@@ -1668,8 +1679,8 @@ html[data-theme="light"] .dialog-content .bg-black_40 {
1668
1679
  /* 18. Semantic Typography Utilities */
1669
1680
  .text-glow {
1670
1681
  text-shadow:
1671
- 0 0 10px rgb(0 212 255 / 50%),
1672
- 0 0 20px rgb(0 212 255 / 60%);
1682
+ 0 0 10px color-mix(in srgb, var(--q-color-starlight-blue), transparent 50%),
1683
+ 0 0 20px color-mix(in srgb, var(--q-color-starlight-blue), transparent 40%);
1673
1684
  }
1674
1685
 
1675
1686
  .text-glass {
@@ -1679,7 +1690,7 @@ html[data-theme="light"] .dialog-content .bg-black_40 {
1679
1690
  }
1680
1691
 
1681
1692
  html[data-theme="light"] .text-glow {
1682
- text-shadow: 0 0 8px rgb(0 212 255 / 30%);
1693
+ text-shadow: 0 0 8px color-mix(in srgb, var(--q-color-starlight-blue), transparent 70%);
1683
1694
  }
1684
1695
 
1685
1696
  html[data-theme="light"] .text-glass {
@@ -1700,7 +1711,7 @@ html[data-theme="light"] .text-glass {
1700
1711
 
1701
1712
  /* Blue Card - Accent variant */
1702
1713
  .blue-card {
1703
- background: rgba(0, 212, 255, 0.05);
1714
+ background: color-mix(in srgb, var(--q-color-starlight-blue), transparent 95%);
1704
1715
  backdrop-filter: blur(8px);
1705
1716
  -webkit-backdrop-filter: blur(8px);
1706
1717
  padding: 2rem;
@@ -1712,7 +1723,7 @@ html[data-theme="light"] .text-glass {
1712
1723
  }
1713
1724
 
1714
1725
  html[data-theme="light"] .blue-card {
1715
- background: rgba(0, 212, 255, 0.1);
1726
+ background: color-mix(in srgb, var(--q-color-starlight-blue), transparent 90%);
1716
1727
  }
1717
1728
 
1718
1729
  /* Avatar - circular image */
@@ -1720,7 +1731,7 @@ html[data-theme="light"] .blue-card {
1720
1731
  width: 3rem;
1721
1732
  height: 3rem;
1722
1733
  border-radius: 9999px;
1723
- border: 1px solid rgba(0, 212, 255, 0.3);
1734
+ border: 1px solid color-mix(in srgb, var(--q-color-starlight-blue), transparent 70%);
1724
1735
  object-fit: cover;
1725
1736
  }
1726
1737
 
@@ -1745,7 +1756,7 @@ h2 .accent-bar {
1745
1756
  var(--q-color-starlight-blue) 100%
1746
1757
  );
1747
1758
  border-radius: 9999px;
1748
- box-shadow: 0 0 15px rgba(0, 212, 255, 0.5);
1759
+ box-shadow: 0 0 15px color-mix(in srgb, var(--q-color-starlight-blue), transparent 50%);
1749
1760
  }
1750
1761
 
1751
1762
  html[data-theme="light"] h2 .accent-bar {
@@ -1808,8 +1819,8 @@ html[data-theme="light"] .starlight-loading {
1808
1819
  }
1809
1820
 
1810
1821
  ::-webkit-scrollbar-thumb:hover {
1811
- background: rgb(0 212 255 / 30%);
1812
- box-shadow: 0 0 10px rgb(0 212 255 / 60%);
1822
+ background: color-mix(in srgb, var(--q-color-starlight-blue), transparent 70%);
1823
+ box-shadow: 0 0 10px color-mix(in srgb, var(--q-color-starlight-blue), transparent 40%);
1813
1824
  }
1814
1825
 
1815
1826
  html[data-theme="light"] ::-webkit-scrollbar-track {
@@ -1916,7 +1927,7 @@ form button:not([class]),
1916
1927
  padding: 0.75rem 1.5rem;
1917
1928
  cursor: pointer;
1918
1929
  transition: all 0.2s ease;
1919
- box-shadow: 0 0 20px rgb(0 212 255 / 30%);
1930
+ box-shadow: 0 0 20px var(--q-color-starlight-glow);
1920
1931
  text-decoration: none;
1921
1932
  }
1922
1933
 
@@ -1924,7 +1935,7 @@ form button:not([class]):hover,
1924
1935
  .btn-starlight:hover {
1925
1936
  transform: translateY(-2px);
1926
1937
  filter: brightness(1.1);
1927
- box-shadow: 0 0 30px rgb(0 212 255 / 50%);
1938
+ box-shadow: 0 0 30px color-mix(in srgb, var(--q-color-starlight-blue), transparent 50%);
1928
1939
  }
1929
1940
 
1930
1941
  form button:not([class]):active,
@@ -1937,7 +1948,7 @@ form button:not([class]):focus-visible,
1937
1948
  .btn-starlight:focus-visible {
1938
1949
  outline: 2px solid white;
1939
1950
  outline-offset: 2px;
1940
- box-shadow: 0 0 0 4px rgb(0 212 255 / 30%);
1951
+ box-shadow: 0 0 0 4px var(--q-color-starlight-glow);
1941
1952
  }
1942
1953
 
1943
1954
  html[data-theme="light"] form button:not([class]):focus-visible,
@@ -2146,7 +2157,7 @@ html[data-theme="light"] .btn-starlight:focus-visible {
2146
2157
  width: 2.5rem;
2147
2158
  height: 2.5rem;
2148
2159
  border-radius: var(--q-radius-lg);
2149
- background: rgb(0 212 255 / 15%);
2160
+ background: color-mix(in srgb, var(--q-color-starlight-blue), transparent 85%);
2150
2161
  color: var(--q-color-starlight-blue);
2151
2162
  }
2152
2163
 
@@ -2420,7 +2431,7 @@ html[data-theme="light"] .btn-starlight:focus-visible {
2420
2431
  }
2421
2432
 
2422
2433
  .starlight-chart-tab.active {
2423
- background: rgb(0 212 255 / 15%);
2434
+ background: color-mix(in srgb, var(--q-color-starlight-blue), transparent 85%);
2424
2435
  color: var(--q-color-starlight-blue);
2425
2436
  }
2426
2437
 
@@ -2590,6 +2601,18 @@ html[data-theme="light"] .btn-starlight:focus-visible {
2590
2601
  gap: 0.75rem;
2591
2602
  }
2592
2603
 
2604
+ @media (max-width: 768px) {
2605
+ .starlight-page-actions {
2606
+ overflow-x: auto;
2607
+ -webkit-overflow-scrolling: touch;
2608
+ scrollbar-width: none;
2609
+ padding-bottom: 0.25rem;
2610
+ }
2611
+ .starlight-page-actions::-webkit-scrollbar {
2612
+ display: none;
2613
+ }
2614
+ }
2615
+
2593
2616
  /* ============================================
2594
2617
  STARLIGHT LAYOUT - Zero-Boilerplate Atmospheric
2595
2618
  ============================================ */
@@ -2701,6 +2724,10 @@ footer .right a:hover {
2701
2724
  -webkit-backdrop-filter: blur(16px);
2702
2725
  }
2703
2726
 
2727
+ .aside-nav-trigger {
2728
+ display: none;
2729
+ }
2730
+
2704
2731
  html[data-theme="light"] .aside-nav {
2705
2732
  background: rgba(255, 255, 255, 0.95);
2706
2733
  border-right-color: rgba(0, 0, 0, 0.08);
@@ -3000,6 +3027,9 @@ html[data-theme="light"] .aside-nav-divider {
3000
3027
  padding: 0.75rem;
3001
3028
  border-top: 1px solid rgba(255, 255, 255, 0.08);
3002
3029
  flex-shrink: 0;
3030
+ display: flex;
3031
+ align-items: center;
3032
+ gap: 0.5rem;
3003
3033
  }
3004
3034
 
3005
3035
  html[data-theme="light"] .aside-nav-footer {
@@ -3043,6 +3073,26 @@ html[data-theme="light"] .aside-nav-user:hover {
3043
3073
  flex-shrink: 0;
3044
3074
  }
3045
3075
 
3076
+ .aside-nav-user-info {
3077
+ display: flex;
3078
+ flex-direction: column;
3079
+ gap: 0.1rem;
3080
+ overflow: hidden;
3081
+ }
3082
+
3083
+ .aside-nav-user-action {
3084
+ display: flex;
3085
+ align-items: center;
3086
+ padding: 0.5rem;
3087
+ border-radius: 7px;
3088
+ transition: background 0.12s;
3089
+ cursor: pointer;
3090
+ }
3091
+
3092
+ .aside-nav-user-action:hover {
3093
+ background: rgba(255, 255, 255, 0.06);
3094
+ }
3095
+
3046
3096
  .aside-nav-user-info strong {
3047
3097
  display: block;
3048
3098
  font-size: 0.825rem;
@@ -3203,22 +3253,50 @@ html[data-theme="light"] .aside-nav.aside-nav-icons .aside-nav-icon {
3203
3253
  min-width: 64px;
3204
3254
  }
3205
3255
 
3206
- .aside-nav .aside-nav-brand,
3256
+ .aside-nav details > *:not(summary) {
3257
+ display: none;
3258
+ }
3259
+
3260
+ .aside-nav details > summary {
3261
+ justify-content: center;
3262
+ padding: 0.625rem;
3263
+ }
3264
+
3265
+ .aside-nav details[open] > *:not(summary) {
3266
+ display: none;
3267
+ }
3268
+
3269
+ /* Hide all text in icon-only mode (1280px and below) */
3207
3270
  .aside-nav .aside-nav-label,
3208
- .aside-nav .aside-nav-item span:not(.aside-nav-badge),
3209
- .aside-nav .aside-nav-group > summary span,
3210
- .aside-nav
3211
- .aside-nav-group
3212
- > summary
3213
- > svg:not(.aside-nav-item-icon):not(.aside-nav-chevron),
3214
- .aside-nav .aside-nav-chevron,
3215
- .aside-nav .aside-nav-sub,
3271
+ .aside-nav .nav-logo span,
3272
+ .aside-nav .aside-nav-brand,
3273
+ .aside-nav .aside-nav-brand *,
3216
3274
  .aside-nav .aside-nav-user-info,
3217
- .aside-nav .aside-nav-user-action {
3218
- display: none;
3275
+ .aside-nav .aside-nav-item span:not(.aside-nav-badge),
3276
+ .aside-nav details > summary > span,
3277
+ .aside-nav details > summary > svg:not(.aside-nav-item-icon) {
3278
+ display: none !important;
3279
+ }
3280
+
3281
+ /* Ensure icons are visible */
3282
+ .aside-nav .aside-nav-item-icon,
3283
+ .aside-nav summary > svg.aside-nav-item-icon,
3284
+ .aside-nav .aside-nav-user-avatar,
3285
+ .aside-nav .aside-nav-user-action,
3286
+ .aside-nav .nav-logo i {
3287
+ display: flex !important;
3219
3288
  }
3220
3289
 
3221
3290
  .aside-nav .aside-nav-header {
3291
+ justify-content: center;
3292
+ }
3293
+
3294
+ .aside-nav .aside-nav-user-avatar {
3295
+ display: flex;
3296
+ justify-content: center;
3297
+ }
3298
+
3299
+ .aside-nav .aside-nav-user {
3222
3300
  padding: 1rem 0;
3223
3301
  justify-content: center;
3224
3302
  border-bottom: none;
@@ -3227,6 +3305,28 @@ html[data-theme="light"] .aside-nav.aside-nav-icons .aside-nav-icon {
3227
3305
  gap: 0.5rem;
3228
3306
  }
3229
3307
 
3308
+ .aside-nav .aside-nav-user + .aside-nav-user-action {
3309
+ margin-top: 0.5rem;
3310
+ }
3311
+
3312
+ .aside-nav.aside-nav-icons .aside-nav-footer {
3313
+ flex-direction: column;
3314
+ gap: 0.75rem;
3315
+ }
3316
+
3317
+ .aside-nav .aside-nav-user-action {
3318
+ justify-content: center;
3319
+ }
3320
+
3321
+ .aside-nav .aside-nav-user > .ml-auto {
3322
+ margin-left: 0;
3323
+ margin-inline-start: auto;
3324
+ }
3325
+
3326
+ .aside-nav .aside-nav-user-action {
3327
+ display: flex;
3328
+ }
3329
+
3230
3330
  .aside-nav .aside-nav-icon {
3231
3331
  width: 32px;
3232
3332
  height: 32px;
@@ -3283,6 +3383,9 @@ html[data-theme="light"] .aside-nav.aside-nav-icons .aside-nav-icon {
3283
3383
  .aside-nav .aside-nav-footer {
3284
3384
  padding: 0.5rem;
3285
3385
  border-top: none;
3386
+ justify-content: center;
3387
+ flex-direction: column;
3388
+ gap: 0.75rem;
3286
3389
  }
3287
3390
 
3288
3391
  .aside-nav .aside-nav-user {
@@ -3300,6 +3403,40 @@ html[data-theme="light"] .aside-nav.aside-nav-icons .aside-nav-icon {
3300
3403
  }
3301
3404
 
3302
3405
  @media (max-width: 768px) {
3406
+ .aside-nav-trigger {
3407
+ display: flex;
3408
+ align-items: center;
3409
+ justify-content: center;
3410
+ cursor: pointer;
3411
+ padding: 0.75rem;
3412
+ z-index: 201;
3413
+ position: absolute;
3414
+ top: 0;
3415
+ right: 0;
3416
+ }
3417
+
3418
+ .aside-nav-trigger-icon {
3419
+ width: 20px;
3420
+ height: 14px;
3421
+ position: relative;
3422
+ display: flex;
3423
+ flex-direction: column;
3424
+ justify-content: space-between;
3425
+ }
3426
+
3427
+ .aside-nav-trigger-icon span {
3428
+ display: block;
3429
+ height: 2px;
3430
+ width: 100%;
3431
+ background: var(--q-text-primary);
3432
+ border-radius: 2px;
3433
+ transition: all 0.3s ease;
3434
+ }
3435
+
3436
+ #sidebar-toggle-mobile:checked ~ .aside-nav {
3437
+ transform: translateX(0);
3438
+ }
3439
+
3303
3440
  .aside-nav {
3304
3441
  position: fixed;
3305
3442
  top: 0;
@@ -3310,15 +3447,50 @@ html[data-theme="light"] .aside-nav.aside-nav-icons .aside-nav-icon {
3310
3447
  box-shadow: 4px 0 32px rgba(0, 0, 0, 0.4);
3311
3448
  z-index: 200;
3312
3449
  transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
3313
- display: flex; /* Override display: none to allow transform */
3450
+ display: flex;
3451
+ flex-direction: column;
3314
3452
  }
3315
3453
 
3316
- /* Restore visibility of labels and text in mobile drawer */
3317
- .aside-nav .aside-nav-brand,
3454
+ .aside-nav .aside-nav-header {
3455
+ order: -1;
3456
+ justify-content: flex-start;
3457
+ }
3458
+
3459
+ /* Restore visibility in mobile drawer - override 1280px rules */
3318
3460
  .aside-nav .aside-nav-label,
3461
+ .aside-nav .nav-logo span,
3462
+ .aside-nav .aside-nav-brand,
3463
+ .aside-nav .aside-nav-user-info,
3319
3464
  .aside-nav .aside-nav-item span:not(.aside-nav-badge),
3320
- .aside-nav .aside-nav-user-info {
3465
+ .aside-nav details > summary > span,
3466
+ .aside-nav details > summary > svg:not(.aside-nav-item-icon),
3467
+ .aside-nav .aside-nav-user-avatar,
3468
+ .aside-nav .aside-nav-user-action {
3469
+ display: flex !important;
3470
+ }
3471
+
3472
+ .aside-nav .aside-nav-brand strong,
3473
+ .aside-nav .aside-nav-brand span {
3474
+ display: block !important;
3475
+ }
3476
+
3477
+ .aside-nav details > *:not(summary) {
3478
+ display: flex !important;
3479
+ }
3480
+
3481
+ .aside-nav details[open] > .aside-nav-sub {
3482
+ display: flex !important;
3483
+ }
3484
+
3485
+ .aside-nav details summary svg {
3486
+ display: inline-flex !important;
3487
+ }
3488
+
3489
+ .aside-nav .aside-nav-badge {
3321
3490
  display: flex;
3491
+ align-self: center;
3492
+ margin-left: auto;
3493
+ position: static;
3322
3494
  }
3323
3495
 
3324
3496
  .aside-nav .aside-nav-header {
@@ -3330,6 +3502,11 @@ html[data-theme="light"] .aside-nav.aside-nav-icons .aside-nav-icon {
3330
3502
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
3331
3503
  }
3332
3504
 
3505
+ .aside-nav .aside-nav-header .aside-nav-brand {
3506
+ flex-direction: column;
3507
+ align-items: flex-start;
3508
+ }
3509
+
3333
3510
  .aside-nav .aside-nav-icon {
3334
3511
  width: 34px;
3335
3512
  height: 34px;
@@ -3342,10 +3519,20 @@ html[data-theme="light"] .aside-nav.aside-nav-icons .aside-nav-icon {
3342
3519
 
3343
3520
  .aside-nav .aside-nav-user {
3344
3521
  justify-content: flex-start;
3522
+ flex-direction: row;
3523
+ }
3524
+
3525
+ .aside-nav .aside-nav-user-action {
3526
+ justify-content: flex-start;
3527
+ }
3528
+
3529
+ .aside-nav .aside-nav-footer {
3530
+ justify-content: flex-start;
3345
3531
  }
3346
3532
 
3347
3533
  /* show sidebar when checked */
3348
- #sidebar-toggle:checked ~ .app-layout .aside-nav {
3534
+ #sidebar-toggle:checked ~ .app-layout .aside-nav,
3535
+ #sidebar-toggle-mobile:checked ~ .aside-nav {
3349
3536
  transform: translateX(0);
3350
3537
  }
3351
3538
 
@@ -3359,7 +3546,8 @@ html[data-theme="light"] .aside-nav.aside-nav-icons .aside-nav-icon {
3359
3546
  pointer-events: none;
3360
3547
  transition: background 0.28s cubic-bezier(0.4, 0, 0.2, 1);
3361
3548
  }
3362
- #sidebar-toggle:checked ~ .app-layout .aside-overlay {
3549
+ #sidebar-toggle:checked ~ .app-layout .aside-overlay,
3550
+ #sidebar-toggle-mobile:checked ~ .aside-overlay {
3363
3551
  background: rgba(0, 0, 0, 0.6);
3364
3552
  pointer-events: auto;
3365
3553
  }
@@ -3369,7 +3557,8 @@ html[data-theme="light"] .aside-nav.aside-nav-icons .aside-nav-icon {
3369
3557
  }
3370
3558
 
3371
3559
  /* Base hidden state for toggle */
3372
- #sidebar-toggle {
3560
+ #sidebar-toggle,
3561
+ #sidebar-toggle-mobile {
3373
3562
  display: none;
3374
3563
  }
3375
3564
  .aside-overlay {