beercss 3.12.12 → 3.13.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.
@@ -100,7 +100,7 @@
100
100
  font-style: normal;
101
101
  font-weight: 400;
102
102
  font-display: block;
103
- src: url(material-symbols-outlined.woff2) format("woff2"), url(https://cdn.jsdelivr.net/npm/beercss@3.12.12/dist/cdn/material-symbols-outlined.woff2) format("woff2");
103
+ src: url(material-symbols-outlined.woff2) format("woff2"), url(https://cdn.jsdelivr.net/npm/beercss@3.13.0/dist/cdn/material-symbols-outlined.woff2) format("woff2");
104
104
  }
105
105
  /* rounded icons */
106
106
  @font-face {
@@ -108,7 +108,7 @@
108
108
  font-style: normal;
109
109
  font-weight: 400;
110
110
  font-display: block;
111
- src: url(material-symbols-rounded.woff2) format("woff2"), url(https://cdn.jsdelivr.net/npm/beercss@3.12.12/dist/cdn/material-symbols-rounded.woff2) format("woff2");
111
+ src: url(material-symbols-rounded.woff2) format("woff2"), url(https://cdn.jsdelivr.net/npm/beercss@3.13.0/dist/cdn/material-symbols-rounded.woff2) format("woff2");
112
112
  }
113
113
  /* sharp icons */
114
114
  @font-face {
@@ -116,7 +116,7 @@
116
116
  font-style: normal;
117
117
  font-weight: 400;
118
118
  font-display: block;
119
- src: url(material-symbols-sharp.woff2) format("woff2"), url(https://cdn.jsdelivr.net/npm/beercss@3.12.12/dist/cdn/material-symbols-sharp.woff2) format("woff2");
119
+ src: url(material-symbols-sharp.woff2) format("woff2"), url(https://cdn.jsdelivr.net/npm/beercss@3.13.0/dist/cdn/material-symbols-sharp.woff2) format("woff2");
120
120
  }
121
121
  /* subset of only required icons */
122
122
  @font-face {
@@ -124,7 +124,7 @@
124
124
  font-style: normal;
125
125
  font-weight: 400;
126
126
  font-display: block;
127
- src: url(material-symbols-subset.woff2) format("woff2"), url(https://cdn.jsdelivr.net/npm/beercss@3.12.12/dist/cdn/material-symbols-subset.woff2) format("woff2");
127
+ src: url(material-symbols-subset.woff2) format("woff2"), url(https://cdn.jsdelivr.net/npm/beercss@3.13.0/dist/cdn/material-symbols-subset.woff2) format("woff2");
128
128
  }
129
129
  .beer * {
130
130
  -webkit-tap-highlight-color: transparent;
@@ -177,16 +177,20 @@
177
177
  .beer label {
178
178
  user-select: none;
179
179
  }
180
- .beer ::-webkit-scrollbar,
181
- .beer ::-webkit-scrollbar-thumb,
182
- .beer ::-webkit-scrollbar-button {
183
- background: none;
184
- inline-size: 0.4rem;
185
- block-size: 0.4rem;
186
- }
187
- .beer ::-webkit-scrollbar-thumb {
188
- background: var(--outline);
189
- border-radius: 1rem;
180
+ @media (pointer: fine) {
181
+ .beer ::-webkit-scrollbar,
182
+ .beer ::-webkit-scrollbar-thumb,
183
+ .beer ::-webkit-scrollbar-button {
184
+ background: none;
185
+ inline-size: 0.4rem;
186
+ block-size: 0.4rem;
187
+ }
188
+
189
+ .beer :is(:focus, :hover)::-webkit-scrollbar-thumb,
190
+ .beer :has(:focus, :hover)::-webkit-scrollbar-thumb {
191
+ background: var(--outline);
192
+ border-radius: 1rem;
193
+ }
190
194
  }
191
195
  .beer :not(.grid, nav, .row) > :not(progress.max) + :is(address, article, blockquote, code, .field, fieldset, form, .grid, h1, h2, h3, h4, h5, h6, nav, ol, p, pre, .row, section, aside, table, .tabs, ul):not([class*='margin'], .right, .left, .top, .bottom) {
192
196
  margin-block-start: 1rem;
@@ -2084,7 +2088,7 @@ html {
2084
2088
  block-size: 32rem;
2085
2089
  }
2086
2090
  @media (pointer: coarse) {
2087
- .beer .beer:has(dialog[open], dialog.active) {
2091
+ .beer:has(dialog[open], dialog.active) {
2088
2092
  overflow: hidden;
2089
2093
  }
2090
2094
  }
@@ -2141,38 +2145,33 @@ html {
2141
2145
  display: none;
2142
2146
  }
2143
2147
  .beer .field {
2144
- --_size: 3rem;
2148
+ --_input: 3rem;
2145
2149
  --_start: 1.2rem;
2146
- block-size: var(--_size);
2147
- margin-block-end: 2rem;
2150
+ --_middle: calc(var(--_input) / 2);
2148
2151
  border-radius: 0.25rem 0.25rem 0 0;
2149
- max-block-size: 12rem;
2150
- }
2151
- .beer .grid > * > .field {
2152
- margin-block-end: 1rem;
2153
- }
2154
- .beer .grid > * > .field + .field {
2155
- margin-block-start: 2rem;
2156
- }
2157
- .beer .grid.no-space > * > .field + .field {
2158
- margin-block-start: 1rem;
2152
+ min-block-size: var(--_input);
2153
+ display: flex;
2154
+ flex-direction: column;
2159
2155
  }
2160
- .beer .grid.medium-space > * > .field + .field {
2161
- margin-block-start: 2.5rem;
2156
+ .beer .field.fill {
2157
+ --_background: var(--surface-variant);
2158
+ background-color: unset !important;
2159
+ color: unset !important;
2162
2160
  }
2163
- .beer .grid.large-space > * > .field + .field {
2164
- margin-block-start: 3rem;
2161
+ .beer .field.fill > :is(input, select, textarea) {
2162
+ background-color: var(--_background);
2163
+ z-index: 0;
2165
2164
  }
2166
2165
  .beer .field.small {
2167
- --_size: 2.5rem;
2166
+ --_input: 2.5rem;
2168
2167
  --_start: 1rem;
2169
2168
  }
2170
2169
  .beer .field.large {
2171
- --_size: 3.5rem;
2170
+ --_input: 3.5rem;
2172
2171
  --_start: 1.4rem;
2173
2172
  }
2174
2173
  .beer .field.extra {
2175
- --_size: 4rem;
2174
+ --_input: 4rem;
2176
2175
  --_start: 1.6rem;
2177
2176
  }
2178
2177
  .beer .field.border {
@@ -2191,37 +2190,37 @@ html {
2191
2190
  border-radius: 2rem;
2192
2191
  }
2193
2192
  /* icon */
2194
- .beer .field > :is(i, img, svg, progress, a:not(.helper, .error)) {
2193
+ .beer .field > :is(i, img, svg, progress.circle, a) {
2195
2194
  position: absolute;
2196
- inset: 50% auto auto auto;
2197
- transform: translateY(-50%);
2195
+ inset: calc((var(--_input) / 2) - 0.75rem) auto auto auto;
2198
2196
  cursor: pointer;
2199
- z-index: 0;
2197
+ z-index: 10;
2198
+ inline-size: 1.5rem;
2199
+ block-size: 1.5rem;
2200
+ margin: auto 0;
2201
+ pointer-events: none;
2202
+ }
2203
+ .beer .field > :is(a, .front) {
2204
+ pointer-events: all !important;
2205
+ }
2206
+ .beer .field > a > :is(i, img, svg, progress.circle, a) {
2200
2207
  inline-size: 1.5rem;
2201
2208
  block-size: 1.5rem;
2202
2209
  }
2203
- .beer .field > :is(i, img, svg, progress, a:not(.helper, .error)),
2204
- .beer [dir=rtl] .field > :is(i, img, svg, progress, a:not(.helper, .error)):first-child {
2205
- inset: 50% 1rem auto auto;
2210
+ .beer .field > :is(i, img, svg, progress.circle, a),
2211
+ .beer [dir=rtl] .field > :is(i, img, svg, progress.circle, a):first-child {
2212
+ inset: calc(var(--_middle) - 0.75rem) 1rem auto auto;
2206
2213
  }
2207
- .beer .field > :is(i, img, svg, progress, a:not(.helper, .error)):first-child,
2208
- .beer [dir=rtl] .field > :is(i, img, svg, progress, a:not(.helper, .error)) {
2209
- inset: 50% auto auto 1rem;
2214
+ .beer .field > :is(i, img, svg, progress.circle, a):first-child,
2215
+ .beer [dir=rtl] .field > :is(i, img, svg, progress.circle, a) {
2216
+ inset: calc(var(--_middle) - 0.75rem) auto auto 1rem;
2210
2217
  }
2211
2218
  .beer .field.invalid > i {
2212
2219
  color: var(--error);
2213
2220
  }
2214
2221
  .beer .field > progress.circle {
2215
- inset-block-start: calc(50% - 0.75rem) !important;
2216
2222
  border-width: 0.1875rem;
2217
2223
  }
2218
- .beer .field > a:not(.helper, .error) {
2219
- z-index: 10;
2220
- }
2221
- .beer .field > a > :is(i, img, svg, progress, a:not(.helper, .error)) {
2222
- inline-size: 1.5rem;
2223
- block-size: 1.5rem;
2224
- }
2225
2224
  /* input, textarea and select */
2226
2225
  .beer .field > :is(input, textarea, select) {
2227
2226
  all: unset;
@@ -2235,7 +2234,7 @@ html {
2235
2234
  font-family: inherit;
2236
2235
  font-size: 1rem;
2237
2236
  inline-size: 100%;
2238
- block-size: 100%;
2237
+ min-block-size: var(--_input);
2239
2238
  outline: none;
2240
2239
  z-index: 1;
2241
2240
  background: none;
@@ -2254,10 +2253,9 @@ html {
2254
2253
  border: 0.125rem solid transparent;
2255
2254
  padding: 0 0.875rem;
2256
2255
  }
2257
- .beer .field.min > textarea {
2258
- overflow: hidden auto;
2259
- position: absolute;
2260
- inset: 0;
2256
+ .beer .field > textarea:not([rows]) {
2257
+ field-sizing: content;
2258
+ max-block-size: 12rem;
2261
2259
  }
2262
2260
  .beer input[type=file],
2263
2261
  .beer input[type=color],
@@ -2344,18 +2342,6 @@ html {
2344
2342
  .beer .field > :disabled {
2345
2343
  cursor: not-allowed;
2346
2344
  }
2347
- .beer .field.textarea.small:not(.min) {
2348
- --_size: 5rem;
2349
- }
2350
- .beer .field.textarea:not(.min) {
2351
- --_size: 5.5rem;
2352
- }
2353
- .beer .field.textarea.large:not(.min) {
2354
- --_size: 6rem;
2355
- }
2356
- .beer .field.textarea.extra:not(.min) {
2357
- --_size: 6.5rem;
2358
- }
2359
2345
  .beer .field > select {
2360
2346
  user-select: none;
2361
2347
  }
@@ -2375,27 +2361,26 @@ html {
2375
2361
  .beer .field > select > option {
2376
2362
  background-color: var(--surface);
2377
2363
  }
2378
- .beer .field.label > :is(input, select) {
2364
+ .beer .field > :is(input, select) {
2379
2365
  padding-block-start: 1rem;
2380
2366
  }
2381
- .beer .field.label.border:not(.fill) > :is(input, select) {
2367
+ .beer .field:not(.label) > :is(input, select),
2368
+ .beer .field.border:not(.fill) > :is(input, select) {
2382
2369
  padding-block-start: 0;
2383
2370
  }
2384
2371
  .beer .field > textarea {
2385
- padding-block-start: var(--_start);
2386
- white-space: pre-wrap;
2387
- overflow-wrap: break-word;
2372
+ padding-block-start: calc(var(--_start)) !important;
2388
2373
  }
2389
2374
  .beer .field > textarea:focus {
2390
- padding-block-start: calc(var(--_start) - 0.06rem);
2375
+ padding-block-start: calc(var(--_start) - 0.01rem) !important;
2391
2376
  }
2392
2377
  .beer .field:not(.label) > textarea,
2393
- .beer .field.border.label:not(.fill) > textarea {
2394
- padding-block-start: calc(var(--_start) - 0.5rem);
2378
+ .beer .field.border:not(.fill) > textarea {
2379
+ padding-block-start: calc(var(--_start) - 0.5rem) !important;
2395
2380
  }
2396
2381
  .beer .field:not(.label) > textarea:focus,
2397
- .beer .field.border.label:not(.fill) > textarea:focus {
2398
- padding-block-start: calc(var(--_start) - 0.56rem);
2382
+ .beer .field.border:not(.fill) > textarea:focus {
2383
+ padding-block-start: calc(var(--_start) - 0.51rem) !important;
2399
2384
  }
2400
2385
  /* label */
2401
2386
  .beer .field.label > label {
@@ -2403,19 +2388,22 @@ html {
2403
2388
  position: absolute;
2404
2389
  inset: -0.5rem 1rem 0 var(--_start);
2405
2390
  display: flex;
2406
- block-size: calc(var(--_size) + 1rem);
2407
- line-height: calc(var(--_size) + 1rem);
2391
+ block-size: calc(var(--_input) + 1rem);
2392
+ line-height: calc(var(--_input) + 1rem);
2408
2393
  font-size: 1rem;
2409
2394
  transition: all 0.2s;
2410
2395
  gap: 0.25rem;
2411
2396
  white-space: nowrap;
2397
+ pointer-events: none;
2398
+ }
2399
+ .beer [dir=rtl] .field.label > label {
2400
+ inset: -0.5rem var(--_start) 0 1rem;
2412
2401
  }
2413
2402
  .beer .field.label.round > label {
2414
2403
  inset: -0.5rem 1.75rem 0 var(--_start);
2415
2404
  }
2416
- .beer .field.label.textarea:not(.min) > label {
2417
- block-size: calc(var(--_size) - 1.5rem);
2418
- line-height: calc(var(--_size) - 1.5rem);
2405
+ .beer [dir=rtl] .field.label.round > label {
2406
+ inset: -0.5rem 1.75rem 0 var(--_start);
2419
2407
  }
2420
2408
  .beer .field.label.border.prefix:not(.fill) > :is(label.active, :focus + label, [placeholder]:not(:placeholder-shown) + label, select + label) {
2421
2409
  --_start: 1rem;
@@ -2484,27 +2472,21 @@ html {
2484
2472
  font-size: 1rem;
2485
2473
  }
2486
2474
  /* helper */
2487
- .beer .field > :is(.helper, .error) {
2488
- position: absolute;
2489
- inset: auto auto 0 1rem;
2490
- transform: translateY(100%);
2475
+ .beer .field > output {
2476
+ display: inline-block;
2491
2477
  font-size: 0.75rem;
2492
2478
  background: none !important;
2493
- padding-block-start: 0.125rem;
2494
- }
2495
- .beer [dir=rtl] .field > :is(.helper, .error) {
2496
- inset: auto 1rem 0 auto;
2497
- }
2498
- .beer a.helper {
2499
- color: var(--primary);
2479
+ padding: 0.25rem 1rem;
2480
+ line-height: 1.25rem;
2481
+ align-self: start;
2500
2482
  }
2501
- .beer .field > .error {
2483
+ .beer .field > output.invalid {
2502
2484
  color: var(--error) !important;
2503
2485
  }
2504
- .beer .field.round > :is(.helper, .error) {
2505
- inset-inline-start: 1.5rem;
2486
+ .beer .field.round > output {
2487
+ padding: 0.25rem 1.5rem;
2506
2488
  }
2507
- .beer .field.invalid > .helper {
2489
+ .beer .field.invalid > output:not(.invalid) {
2508
2490
  display: none;
2509
2491
  }
2510
2492
  .beer table td > .field {
@@ -3677,6 +3659,7 @@ html {
3677
3659
  writing-mode: horizontal-tb;
3678
3660
  direction: ltr;
3679
3661
  -webkit-appearance: none;
3662
+ appearance: none;
3680
3663
  }
3681
3664
  .beer .dark progress {
3682
3665
  background: var(--_dark);
@@ -3741,29 +3724,36 @@ html {
3741
3724
  mask-size: auto 100%;
3742
3725
  }
3743
3726
  .beer progress.circle {
3744
- display: inline-block;
3727
+ --_value: attr(value type(<number>), 50);
3745
3728
  inline-size: 2.5rem;
3746
3729
  block-size: 2.5rem;
3730
+ background: conic-gradient(currentColor calc(var(--_value) * 1%), var(--active) 0%);
3747
3731
  border-radius: 50%;
3748
- border-width: 0.3rem;
3749
- border-style: solid;
3750
- border-color: currentcolor;
3751
- animation: 1.6s to-circular linear infinite;
3732
+ mask-image: radial-gradient(circle at center, transparent 57%, currentColor 60%);
3733
+ }
3734
+ .beer progress.circle::-webkit-progress-value {
3752
3735
  background: none;
3753
- flex: none;
3754
3736
  }
3755
3737
  .beer progress.circle::-moz-progress-bar {
3756
3738
  background: none;
3757
3739
  }
3740
+ .beer progress.circle.wavy {
3741
+ background: conic-gradient(currentColor calc(var(--_value) * 1%), var(--active) 0);
3742
+ mask-repeat: no-repeat;
3743
+ mask-position: center;
3744
+ mask-size: contain;
3745
+ mask-image: url(wavy-circle.svg);
3746
+ }
3758
3747
  .beer progress.circle.small {
3759
3748
  inline-size: 1.5rem;
3760
3749
  block-size: 1.5rem;
3761
- border-width: 0.2rem;
3762
3750
  }
3763
3751
  .beer progress.circle.large {
3764
3752
  inline-size: 3.5rem;
3765
3753
  block-size: 3.5rem;
3766
- border-width: 0.4rem;
3754
+ }
3755
+ .beer progress.circle:not([value]) {
3756
+ animation: to-rotate 1s infinite linear;
3767
3757
  }
3768
3758
  .beer :is(nav, .row, .field) > progress:not(.circle, .small, .medium, .large) {
3769
3759
  flex: auto;
@@ -3784,27 +3774,12 @@ html {
3784
3774
  .beer progress.max[class*='-text'] {
3785
3775
  opacity: 1;
3786
3776
  }
3787
- .beer progress:is(.horizontal, .vertical, .max) {
3788
- display: unset;
3789
- inline-size: 100% !important;
3790
- }
3791
- .beer progress.vertical {
3792
- writing-mode: vertical-lr;
3793
- }
3794
- .beer progress.max.vertical {
3795
- transform: rotate(-180deg);
3796
- }
3797
3777
  .beer progress.max + * {
3798
3778
  margin-block-start: 0;
3799
3779
  }
3800
3780
  .beer :is(.button, button, .chip) > progress.circle {
3801
3781
  color: inherit;
3802
3782
  }
3803
- @supports (-moz-appearance:none) {
3804
- .beer progress.max.vertical {
3805
- transform: none;
3806
- }
3807
- }
3808
3783
  @keyframes to-linear {
3809
3784
  0% {
3810
3785
  margin-inline-start: -100%;
@@ -3818,47 +3793,15 @@ html {
3818
3793
  margin-inline-start: 100%;
3819
3794
  }
3820
3795
  }
3821
- @keyframes to-circular {
3822
- 0% {
3796
+ @keyframes to-rotate {
3797
+ from {
3798
+ --_value: 50;
3823
3799
  transform: rotate(0deg);
3824
- clip-path: polygon(50% 50%, 0% 0%, 50% 0%, 50% 0%, 50% 0%, 50% 0%, 50% 0%, 50% 0%, 50% 0%);
3825
- }
3826
-
3827
- 20% {
3828
- clip-path: polygon(50% 50%, 0% 0%, 50% 0%, 100% 0%, 100% 0%, 100% 0%, 100% 0%, 100% 0%, 100% 0%);
3829
3800
  }
3830
3801
 
3831
- 30% {
3832
- clip-path: polygon(50% 50%, 0% 0%, 50% 0%, 100% 0%, 100% 50%, 100% 50%, 100% 50%, 100% 50%, 100% 50%);
3833
- }
3834
-
3835
- 40% {
3836
- clip-path: polygon(50% 50%, 0% 0%, 50% 0%, 100% 0%, 100% 50%, 100% 100%, 100% 100%, 100% 100%, 100% 100%);
3837
- }
3838
-
3839
- 50% {
3840
- clip-path: polygon(50% 50%, 50% 0%, 50% 0%, 100% 0%, 100% 50%, 100% 100%, 50% 100%, 50% 100%, 50% 100%);
3841
- }
3842
-
3843
- 60% {
3844
- clip-path: polygon(50% 50%, 100% 50%, 100% 50%, 100% 50%, 100% 50%, 100% 100%, 50% 100%, 0% 100%, 0% 100%);
3845
- }
3846
-
3847
- 70% {
3848
- clip-path: polygon(50% 50%, 50% 100%, 50% 100%, 50% 100%, 50% 100%, 50% 100%, 50% 100%, 0% 100%, 0% 50%);
3849
- }
3850
-
3851
- 80% {
3852
- clip-path: polygon(50% 50%, 0% 100%, 0% 100%, 0% 100%, 0% 100%, 0% 100%, 0% 100%, 0% 100%, 0% 50%);
3853
- }
3854
-
3855
- 90% {
3802
+ to {
3803
+ --_value: 50;
3856
3804
  transform: rotate(360deg);
3857
- clip-path: polygon(50% 50%, 0% 50%, 0% 50%, 0% 50%, 0% 50%, 0% 50%, 0% 50%, 0% 50%, 0% 50%);
3858
- }
3859
-
3860
- 100% {
3861
- clip-path: polygon(50% 50%, 0% 50%, 0% 50%, 0% 50%, 0% 50%, 0% 50%, 0% 50%, 0% 50%, 0% 50%);
3862
3805
  }
3863
3806
  }
3864
3807
  .beer .shape {
@@ -4069,7 +4012,6 @@ html {
4069
4012
  .beer .radio,
4070
4013
  .beer .switch {
4071
4014
  --_size: 1.5rem;
4072
- direction: ltr;
4073
4015
  inline-size: auto;
4074
4016
  block-size: auto;
4075
4017
  line-height: normal;
@@ -4078,6 +4020,9 @@ html {
4078
4020
  display: inline-flex;
4079
4021
  align-items: center;
4080
4022
  }
4023
+ .beer .switch {
4024
+ direction: ltr;
4025
+ }
4081
4026
  .beer :is(.checkbox, .radio, .switch).small {
4082
4027
  --_size: 1rem;
4083
4028
  }
@@ -4123,6 +4068,12 @@ html {
4123
4068
  user-select: none;
4124
4069
  z-index: 1;
4125
4070
  }
4071
+ .beer [dir=rtl] :is(.checkbox, .radio) > span::before,
4072
+ .beer [dir=rtl] :is(.checkbox, .radio) > span > i,
4073
+ .beer [dir=rtl] :is(.checkbox, .radio) > span::after {
4074
+ --_size: inherit;
4075
+ inset: auto calc(var(--_size) * -1) auto auto;
4076
+ }
4126
4077
  .beer .switch > span::before,
4127
4078
  .beer .switch.icon > span > i {
4128
4079
  position: absolute;
@@ -4205,14 +4156,26 @@ html {
4205
4156
  background-color: var(--on-primary);
4206
4157
  transform: translate(-1.75rem, -50%) scale(1);
4207
4158
  }
4159
+ .beer [dir=rtl] .switch > input:checked + span::before,
4160
+ .beer [dir=rtl] .switch.icon > input:checked + span > i {
4161
+ transform: translate(-1.75rem, -50%) scale(-1);
4162
+ }
4208
4163
  .beer .switch > input:active:not(:disabled) + span::before,
4209
4164
  .beer .switch.icon > input:active:not(:disabled) + span > i {
4210
4165
  transform: translate(-3rem, -50%) scale(1.2);
4211
4166
  }
4167
+ .beer [dir=rtl] .switch > input:active:not(:disabled) + span::before,
4168
+ .beer [dir=rtl] .switch.icon > input:active:not(:disabled) + span > i {
4169
+ transform: translate(-3rem, -50%) scale(-1.2);
4170
+ }
4212
4171
  .beer .switch > input:active:checked:not(:disabled) + span::before,
4213
4172
  .beer .switch.icon > input:active:checked:not(:disabled) + span > i {
4214
4173
  transform: translate(-1.75rem, -50%) scale(1.2);
4215
4174
  }
4175
+ .beer [dir=rtl] .switch > input:active:checked:not(:disabled) + span::before,
4176
+ .beer [dir=rtl] .switch.icon > input:active:checked:not(:disabled) + span > i {
4177
+ transform: translate(-1.75rem, -50%) scale(-1.2);
4178
+ }
4216
4179
  .beer :is(.checkbox, .radio, .switch) > input:disabled + span {
4217
4180
  opacity: 0.5;
4218
4181
  cursor: not-allowed;
@@ -4555,6 +4518,10 @@ html {
4555
4518
  .beer .slider > :hover ~ .tooltip.bottom {
4556
4519
  inset-block: auto -1rem !important;
4557
4520
  }
4521
+
4522
+ .beer:has(input[type=range]:focus) {
4523
+ overflow: hidden;
4524
+ }
4558
4525
  }
4559
4526
  .beer .snackbar {
4560
4527
  position: fixed;