@anyblades/pico 2.2.0-alpha.7 → 2.2.0-alpha.8

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.
@@ -3009,56 +3009,56 @@ textarea,
3009
3009
  transition-duration: 0s !important;
3010
3010
  }
3011
3011
  }
3012
- /*** Follows https://github.com/picocss/pico/blob/main/scss/_index.scss ***/
3012
+ /* Follows https://github.com/picocss/pico/blob/main/scss/_index.scss */
3013
3013
  /* Layout */
3014
3014
  /* Extends https://github.com/picocss/pico/blob/main/scss/layout/
3015
- <!--section:docs-intro-->
3016
-
3017
- Global styles:
3018
- ```css */
3019
- html {
3020
- /* Prevent horizontal overflow and scrolling, modern way. */
3021
- overflow-x: clip;
3022
- }
3023
- body {
3024
- /* Ensure `body` takes at least the full height of the viewport (using dynamic viewport height for better mobile support). */
3025
- min-height: 100dvh;
3026
- }
3027
- /*```
3028
3015
  <!--section:docs-->
3029
3016
 
3030
3017
  ### Auto-columns
3018
+
3019
+ `.columns` automatically creates columns with at least 30 characters each:
3020
+
3021
+ <article class="columns">
3022
+ <p>1</p><p>2</p><p>3</p><p>4</p><p>5</p><p>6</p>
3023
+ </article>
3024
+
3025
+ The smaller the font size, the more columns will be created:
3026
+
3027
+ <article class="columns" style="font-size: 65%">
3028
+ <p>1</p><p>2</p><p>3</p><p>4</p><p>5</p><p>6</p><p>7</p><p>8</p><p>9</p>
3029
+ </article>
3030
+
3031
+ Useful for tables of contents and long lists.
3032
+
3033
+ <details>How it works:
3031
3034
  ```css */
3032
- .columns,
3033
- [data-is-toc] > ul,
3034
- [data-is-toc] > ol {
3035
+ .columns {
3035
3036
  -moz-columns: 30ch auto;
3036
3037
  columns: 30ch auto; /* 2 cols max for 65ch container */
3037
3038
  }
3038
3039
  /* Avoid breaking inside elements, such as nested lists */
3039
- .columns > *, [data-is-toc] > ul > *, [data-is-toc] > ol > * {
3040
+ .columns > * {
3040
3041
  -moz-column-break-inside: avoid;
3041
3042
  break-inside: avoid;
3042
3043
  }
3043
3044
  /*```
3044
-
3045
- Table of contents (`[data-is-toc]`) has auto-columns by default.
3045
+ </details>
3046
3046
 
3047
3047
  ### Jump to top
3048
+
3049
+ `data-jump-to="top"` fixes element to the corner and adds extra top padding to make it easy to click:
3048
3050
  ```css */
3049
3051
  [data-jump-to="top"] {
3050
3052
  position: fixed;
3051
3053
  bottom: 0;
3052
3054
  right: 0;
3053
3055
  padding-top: 50vh;
3054
- opacity: 25%;
3055
3056
  }
3056
- [data-jump-to="top"]:hover {
3057
- opacity: 75%;
3058
- }
3059
3057
  /*```
3060
3058
  <!--section--> */
3061
- /* <!--section:code-->```css */
3059
+ /*
3060
+ <!--section:code-->
3061
+ ```css */
3062
3062
  .breakout,
3063
3063
  .breakout-all {
3064
3064
  /* Prepare the container for breakout elements */
@@ -3134,55 +3134,59 @@ Table of contents (`[data-is-toc]`) has auto-columns by default.
3134
3134
  transform: translateX(-50%);
3135
3135
  }
3136
3136
  /*```
3137
- <!--section:docs,summary-->
3138
-
3139
- Framework-agnostic utilities for breaking out images and figures beyond their container width.
3137
+ <!--section:summary-->
3140
3138
 
3141
- Use the `.breakout` class to allow elements to extend beyond their parent container.
3139
+ The `.breakout` layout allows images, tables, and other figures to automatically extend or bleed beyond their parent container’s width.
3142
3140
 
3143
3141
  <!--section:docs-->
3144
3142
 
3143
+ ### Demo <!-- inside parent .breakout -->
3144
+
3145
+ Break out a wide image from the text flow:
3146
+
3147
+ <div><!-- Dummy div to avoid p tag in Markdown --></div><img
3148
+ src="data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='3000' height='300'><rect width='100%' height='100%' fill='gray'/></svg>">
3149
+
3150
+ Or table:
3151
+
3152
+ | Imagine<hr> | a<hr> | really<hr> | wide<hr> | table<hr> | here<hr> |
3153
+ | ----------- | ----- | ---------- | -------- | --------- | -------- |
3154
+ | ... |
3155
+
3156
+ Or code block:
3157
+
3145
3158
  ```html
3146
- <div class="breakout">
3147
- <img src="image.jpg" alt="Description" />
3148
- </div>
3159
+ <p>Lorem ipsum dolor sit amet consectetur adipisicing elit. Quisquam, quod. Lorem ipsum dolor sit amet consectetur adipisicing elit. Quisquam, quod.</p>
3149
3160
  ```
3150
3161
 
3151
- The breakout container has `10%` inline padding and a max-width of `calc(10% + 65ch + 10%)`. The breakout utilities support images, pictures, figures, canvas, audio, video, tables, pre, iframe, and other media elements. Tables inside `.breakout` are specifically enhanced for horizontal scrolling and full-bleed mobile display. This is automatically included when you import the stylesheet.
3162
+ Or anything else:
3163
+
3164
+ <article class="breakout-item-max" data-theme="dark">
3165
+
3166
+ Using `.breakout-item` and `.breakout-item-max` helpers {style=margin:0}
3167
+ </article>
3168
+
3169
+ <div><hr></div>
3170
+
3171
+ `.breakout-all` also visually breaks out headings and horizontal rules:
3172
+
3173
+ <h2>Heading 2</h2><h3>Heading 3</h3><h4>Heading 4</h4><h5>Heading 5</h5><h6>Heading 6</h6>
3174
+ <hr>
3152
3175
 
3153
3176
  <!--section--> */
3154
3177
  /* Content */
3155
3178
  /* Extends https://github.com/picocss/pico/blob/main/scss/content/_typography.scss
3156
- <!--section:docs-intro-->
3157
-
3158
- Global styles:
3159
- ```css */
3160
- html {
3161
- /* Enable font smoothing */
3162
- -webkit-font-smoothing: antialiased;
3163
- -moz-osx-font-smoothing: grayscale;
3164
- }
3165
- body {
3166
- /* Evaluates the last ~4 lines of text blocks to prevent a single word from sitting on the final line. */
3167
- text-wrap: pretty;
3168
- /* Enable global hyphenation */
3169
- hyphens: auto;
3170
- /* ... except for links and tables which are better (safer) without hyphenation */
3171
- }
3172
- body a,
3173
- body table {
3174
- hyphens: none;
3175
- }
3176
- /*```
3177
3179
  <!--section:docs-->
3178
3180
 
3179
3181
  ### Heading anchors
3180
3182
 
3181
- Set `data-is-anchor` attribute on anchors inside headings to position them absolutely, and show only on hover (when supported):
3183
+ Links with `href="#..."` inside headings are automatically displayed as anchors:
3182
3184
 
3183
- <article><h2>Heading with anchor <a href="#hwa" data-is-anchor>#</a></h2></article>
3185
+ <article>
3186
+ <h2 style="margin: 0 0 0 1.5rem">Heading with anchor <a href="#hwa" style="visibility: visible">#</a></h2>
3187
+ </article>
3184
3188
 
3185
- How it works:
3189
+ <details>How it works:
3186
3190
  ```css */
3187
3191
  h1,
3188
3192
  h2,
@@ -3192,7 +3196,7 @@ h5,
3192
3196
  h6 {
3193
3197
  position: relative;
3194
3198
  }
3195
- h1 [data-is-anchor], h2 [data-is-anchor], h3 [data-is-anchor], h4 [data-is-anchor], h5 [data-is-anchor], h6 [data-is-anchor] {
3199
+ h1 a[href^="#"], h2 a[href^="#"], h3 a[href^="#"], h4 a[href^="#"], h5 a[href^="#"], h6 a[href^="#"] {
3196
3200
  position: absolute;
3197
3201
  right: 100%;
3198
3202
  top: 50%;
@@ -3202,29 +3206,34 @@ h1 [data-is-anchor], h2 [data-is-anchor], h3 [data-is-anchor], h4 [data-is-ancho
3202
3206
  text-decoration: none;
3203
3207
  visibility: hidden;
3204
3208
  }
3205
- /* Avoid double-tap on touch devices */
3206
- @media (hover: hover) {
3207
- h1:hover [data-is-anchor], h2:hover [data-is-anchor], h3:hover [data-is-anchor], h4:hover [data-is-anchor], h5:hover [data-is-anchor], h6:hover [data-is-anchor] {
3209
+ @media /* to avoid double-tap on touch devices */ (hover: hover) {
3210
+ h1:hover a[href^="#"], h2:hover a[href^="#"], h3:hover a[href^="#"], h4:hover a[href^="#"], h5:hover a[href^="#"], h6:hover a[href^="#"] {
3208
3211
  visibility: visible;
3209
3212
  }
3210
3213
  }
3211
3214
  /*```
3212
- > **PRO-TIP** for 11ty + markdown-it-anchor: https://github.com/anyblades/eleventy-blades/blob/main/src/eleventy.config.js
3215
+ </details>
3216
+
3217
+ **PRO** example of automatic anchors for `11ty`+`markdown-it-anchor`: https://github.com/anyblades/eleventy-blades/blob/main/src/eleventy.config.js
3213
3218
 
3214
3219
  ### List markers
3215
3220
 
3216
- Use inline `style="--list-marker:'🥷 '"` on `<ul>/<ol>` or even individual `<li>` to customize list markers:
3221
+ Customize markers using inline `style="--list-marker:..."` on `<ul>/<ol>` or even individual `<li>`:
3222
+
3217
3223
  <article>
3218
3224
 
3219
- - Customize
3220
- - list
3221
- - markers
3222
- - with [Blades CSS](https://blades.ninja/css/) {style="--list-marker:'🥷 '"}
3225
+ - you
3226
+ - can
3227
+ - make
3228
+ - really
3229
+ - cool markers {style="--list-marker:'🧊 '"}
3230
+ - with
3231
+ - *Bl*ades {style="--list-marker:'🥷 '"}
3223
3232
 
3224
- {style="--list-marker:'🧊 '"}
3233
+ {style="--list-marker:' '"}
3225
3234
  </article>
3226
3235
 
3227
- How it works:
3236
+ <details>How it works:
3228
3237
  ```css */
3229
3238
  ul[style*="--list-marker:"], ol[style*="--list-marker:"] {
3230
3239
  list-style-type: var(--list-marker);
@@ -3236,22 +3245,41 @@ ul li[style*="--list-marker:"], ol li[style*="--list-marker:"] {
3236
3245
  list-style-type: var(--list-marker);
3237
3246
  }
3238
3247
  ul li[data-marker]::marker, ol li[data-marker]::marker {
3239
- /* ⚠️ `data-marker` works only in Chrome and Firefox */
3240
- content: attr(data-marker) " ";
3248
+ content: attr(data-marker) " "; /* ⚠️ Chrome and Firefox only */
3241
3249
  }
3242
3250
  /*```
3251
+ </details>
3243
3252
 
3244
3253
  ### Unlist
3245
3254
 
3246
- Helper class to remove list styling at all:
3255
+ `.unlist` removes list styling:
3256
+
3257
+ <article>
3258
+
3259
+ - One: <article>1</article>
3260
+ - Two: <article>2</article>
3261
+ - Three: <article>3</article>
3262
+
3263
+ {.unlist .grid style=margin:0}
3264
+ </article>
3265
+
3266
+ `.unlist-all` also removes styling from all nested lists.
3267
+
3268
+ <details>How it works:
3247
3269
  ```css */
3248
- .unlist {
3249
- padding-inline-start: 0;
3250
- }
3251
- .unlist > li {
3252
- list-style: none;
3270
+ ul.unlist,
3271
+ ul.unlist-all,
3272
+ .unlist-all ul,
3273
+ ol.unlist,
3274
+ ol.unlist-all,
3275
+ .unlist-all ol {
3276
+ padding-inline-start: 0;
3253
3277
  }
3278
+ ul.unlist > li, ul.unlist-all > li, .unlist-all ul > li, ol.unlist > li, ol.unlist-all > li, .unlist-all ol > li {
3279
+ list-style: none;
3280
+ }
3254
3281
  /*```
3282
+ </details>
3255
3283
  <!--section--> */
3256
3284
  /* Extends https://github.com/picocss/pico/blob/main/scss/content/_link.scss
3257
3285
  <!--section:code-->
@@ -3270,7 +3298,8 @@ a > i {
3270
3298
  /* Favicons */
3271
3299
  a > i > img {
3272
3300
  height: 1.25em;
3273
- margin-block: calc(-0.25em / 2);
3301
+ margin-block-start: calc(-0.25em / 2);
3302
+ max-width: none; /* to keep ratio safe */
3274
3303
  display: inline-block; /* for Tailwind CSS Typography */
3275
3304
  }
3276
3305
  a > i[class^="fa-"],
@@ -3283,76 +3312,79 @@ a > i.fa-lg {
3283
3312
  line-height: normal;
3284
3313
  }
3285
3314
  /*```
3286
- > **PRO-TIP** for 11ty: https://blades.ninja/build-awesome-11ty/processors/#auto-link-favicons
3287
-
3288
- <!--section:docs,summary-->
3315
+ <!--section:summary-->
3289
3316
 
3290
- Use Blades' `<i>`-helper to wrap emojis, favicons, or simply drop Font Awesome icons inside links. It automatically handles sizing and alignment while preventing underline on icons.
3317
+ Use *Bl*ades `<i>`-helper to wrap emojis, favicons, or simply drop Font Awesome icons inside links.
3318
+ It automatically handles sizing and alignment while preventing underline on icons.
3291
3319
 
3292
3320
  <!--section:docs-->
3293
3321
 
3294
- Compare:
3322
+ <article class="breakout-item">
3295
3323
 
3296
- | Without Blades <hr class="lg"> | With Blades' `<i>`-helper <hr class="lg"> | Clean HTML without `<span>ning` <hr class="x2"> |
3297
- | ------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------- | ----------------------------------------------- |
3298
- | [🥷 Link with emoji](#) | [<i>🥷</i> Link with emoji](#) | `<a><i>🥷</i> Text</a>` |
3299
- | [![](https://www.google.com/s2/favicons?domain=any.digital&sz=64) Multi-line link <br> with favicon](#) | [<i>![](https://www.google.com/s2/favicons?domain=any.digital&sz=64)</i> Multi-line link <br> with favicon](#) | `<a><i><img src="..."></i> Text</a>` |
3300
- | [<b class="fa-brands fa-github fa-lg"></b> Link with Font Awesome icon](#) | [<i class="fa-brands fa-github fa-lg"></i> Link with Font Awesome icon](#) | `<a><i class="fa-..."></i> Text</a>` |
3324
+ | Use `<i>`-helper with | Clean HTML without `<span>ning` |
3325
+ | ------------------------------------------------------------------------------------- | ------------------------------------ |
3326
+ | [<i>🥷</i> Emojis](#) | `<a><i>🥷</i> Text</a>` |
3327
+ | [<i>![](https://www.google.com/s2/favicons?domain=any.digital&sz=64)</i> Favicons](#) | `<a><i><img src="..."></i> Text</a>` |
3328
+ | [<i class="fa-brands fa-github fa-lg"></i> Font Awesome icons](#) | `<a><i class="fa-..."></i> Text</a>` |
3329
+ </article>
3301
3330
 
3302
- ---
3331
+ Or even for:
3332
+
3333
+ <article>
3334
+ <a href="#" style="margin: 0 0 0 1rem"><i>🥷</i> very-very-very-very-very-<br>long-multiline-links</a>
3335
+ </article>
3336
+
3337
+ How we made it: https://codepen.io/editor/anydigital/pen/019d2b94-5616-75dc-a23e-e111869d5237
3303
3338
 
3304
- [How we made it &nbsp;<small>(on Codepen)</small>](https://codepen.io/editor/anydigital/pen/019d2b94-5616-75dc-a23e-e111869d5237){role=button .outline}
3339
+ **PRO** example of automatic favicons for `11ty`: https://blades.ninja/build-awesome-11ty/processors/#auto-link-favicons
3305
3340
 
3306
3341
  <!--section--> */
3307
3342
  /* Extends https://github.com/picocss/pico/blob/main/scss/content/_table.scss
3308
3343
  <!--section:docs-->
3309
3344
 
3310
- ### Horizontal expanders
3345
+ ### Column expanders
3311
3346
 
3312
- Simply insert `<hr>` inside `<th>` to forcibly widen too narrow columns (especially useful in markdown):
3313
- ```html
3314
- <th>Col <hr></th>
3315
- ```
3316
- Example table before:
3317
- <article class="overflow-auto"><table>
3318
- <tr><th>Wide tables</th><th>with many</th><th>columns might</th><th>get collapsed</th><th>and be really</th><th>hard to read!</th></tr>
3319
- </table></article>
3320
-
3321
- Same table after adding `<hr>`-expanders:
3322
- <article class="overflow-auto"><table>
3323
- <tr><th>Wide tables <hr></th><th>with many <hr></th><th>columns might <hr></th><th>get collapsed <hr></th><th>and be really <hr></th><th>hard to read! <hr></th></tr>
3324
- </table></article>
3325
-
3326
- Living examples of big tables with `<hr>`-expanders:
3327
- - https://any.digital/insights/ai-ide/
3328
- - https://any.digital/insights/css-frameworks/
3329
- - https://any.digital/insights/ssg/
3330
- - https://blades.ninja/build-awesome-11ty/#min-starters
3331
-
3332
- How it works:
3347
+ Place `<hr>` element inside `<th>` column to expand it horizontally:
3348
+
3349
+ <article>
3350
+
3351
+ | Column with `<hr>`<hr> | Same column without `<hr>` | ... {style=width:100%} |
3352
+ | --- | --- | --- |
3353
+ | (012) 345-6789 | (012) 345-6789 |
3354
+ </article>
3355
+
3356
+ Living examples of big tables with `<hr>`-expanders: <!--A-Z-->
3357
+ - https://blades.ninja/ai/ide/
3358
+ - https://blades.ninja/build-awesome-11ty/starters/
3359
+ - https://blades.ninja/css/frameworks/
3360
+ - https://blades.ninja/ssg/
3361
+
3362
+ <details>How it works:
3333
3363
  ```css */
3334
- table th hr {
3335
- width: 12ch; /* min ~65/12 = ~5 cols */
3336
- height: 0;
3337
- margin: 0;
3338
- visibility: hidden;
3364
+ th hr {
3365
+ width: 12ch; /* min ~65/12 = ~5 cols */
3366
+ height: 0;
3367
+ margin: 0;
3368
+ visibility: hidden;
3369
+ }
3370
+ th hr.lg {
3371
+ width: 18ch;
3372
+ }
3373
+ th hr.x2 {
3374
+ width: 24ch;
3339
3375
  }
3340
- table th hr.lg {
3341
- width: 18ch;
3342
- }
3343
- table th hr.x2 {
3344
- width: 24ch;
3345
- }
3346
3376
  /*```
3377
+ </details>
3378
+
3347
3379
  ### Borderless table
3348
3380
 
3349
- `<table class="borderless">` removes all default borders:
3381
+ `.borderless` removes all default borders:
3350
3382
 
3351
3383
  <article>
3352
3384
 
3353
3385
  | Less | borders |
3354
3386
  | ---- | ------- |
3355
- | more | fun |
3387
+ | More | fun |
3356
3388
 
3357
3389
  {.borderless}
3358
3390
  </article>
@@ -3364,7 +3396,8 @@ table.borderless th,
3364
3396
  table.borderless td {
3365
3397
  border: none;
3366
3398
  }
3367
- /* <!--section:code-->
3399
+ /*
3400
+ <!--section:code-->
3368
3401
  ```css */
3369
3402
  table.responsive,
3370
3403
  .breakout > table:not(.does-not-exist),
@@ -3394,17 +3427,17 @@ table.responsive th,
3394
3427
  padding-inline-start: 0;
3395
3428
  }
3396
3429
  /*```
3397
- <!--#TODO:css-blade-->
3398
- Soft-increase selector specificity trick:
3399
-
3400
- `table:not(.does-not-exist)` (inspired by postcss) is used here to increase specificity against selectors like `&:is(table, .table)`
3430
+ `table:not(.does-not-exist)` trick (inspired by postcss) is used here to increase specificity against selectors like `&:is(table, .table)`
3401
3431
 
3402
- <!--section:docs,summary-->
3432
+ <!--section:summary-->
3403
3433
 
3404
- `<table class="responsive">` allows a table to full-bleed and scroll on mobile.
3434
+ `.responsive` makes a table full-bleed and scroll on mobile, without a need for a redundant wrapper (finally).
3435
+ Tables inside https://blades.ninja/css/breakout/ are responsive by default.
3405
3436
 
3406
3437
  <!--section:docs-->
3407
3438
 
3439
+ ### Demo table
3440
+
3408
3441
  | Term | Description <hr class="x2"> | Link |
3409
3442
  | ----------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------- |
3410
3443
  | Responsive design | Approach to web design that aims to make web pages render well on a variety of devices and window or screen sizes from minimum to maximum display size to ensure usability and satisfaction. | https://en.wikipedia.org/wiki/Responsive_web_design |
@@ -3413,25 +3446,34 @@ Soft-increase selector specificity trick:
3413
3446
 
3414
3447
  ---
3415
3448
 
3416
- Tables inside https://blades.ninja/css/breakout/ are responsive by default.
3417
-
3418
- Living examples:
3419
-
3420
- - https://any.digital/insights/ai-ide/
3421
- - https://any.digital/insights/css-frameworks/
3422
- - https://any.digital/insights/ssg/
3423
- - https://blades.ninja/build-awesome-11ty/#min-starters
3449
+ Living examples: <!--A-Z-->
3450
+ - https://blades.ninja/ai/ide/
3451
+ - https://blades.ninja/build-awesome-11ty/starters/
3452
+ - https://blades.ninja/css/frameworks/
3453
+ - https://blades.ninja/ssg/
3424
3454
 
3425
3455
  <!--section--> */
3426
- /* <!--section:docs-->
3456
+ /* Extends https://github.com/picocss/pico/blob/main/scss/content/_code.scss
3457
+ <!--section:docs-->
3458
+
3427
3459
  ### Code
3428
- Extends https://github.com/picocss/pico/blob/main/scss/content/_code.scss
3460
+
3461
+ The `<pre><code>` blocks are Prism-compatible and support captions via `data-caption="..."` attribute:
3462
+
3463
+ ```treeview {data-caption="Blades CSS:"}
3464
+ ./assets/
3465
+ ├── blades.core.css # reusable class-light utilities, unthemed
3466
+ ├── blades.theme.css # minimal opinionated theme
3467
+ └── blades.css # above two together
3468
+ ```
3469
+ <details>How it works:
3429
3470
  ```css */
3430
3471
  pre {
3431
3472
  padding: 1rem 1.5rem;
3432
3473
  padding-inline-end: 2rem;
3433
3474
  }
3434
- @media screen and (max-width: 767px) {
3475
+ @media (max-width: 767px) {
3476
+
3435
3477
  pre {
3436
3478
  border-radius: 0
3437
3479
  }
@@ -3447,7 +3489,7 @@ code[data-caption]::before {
3447
3489
  code:where(pre > *) {
3448
3490
  padding: 0;
3449
3491
  }
3450
- /*** Extends https://github.com/PrismJS/prism/blob/master/plugins/treeview/prism-treeview.css ***/
3492
+ /* Extends https://github.com/PrismJS/prism/blob/master/plugins/treeview/prism-treeview.css */
3451
3493
  .token.treeview-part .entry-line {
3452
3494
  width: 2.5em !important;
3453
3495
  opacity: 25%;
@@ -3458,7 +3500,9 @@ code:where(pre > *) {
3458
3500
  .token.treeview-part .entry-name:last-child::before {
3459
3501
  display: none !important;
3460
3502
  }
3461
- /*``` <!--section--> */
3503
+ /*```
3504
+ </details>
3505
+ <!--section--> */
3462
3506
  /* Forms */
3463
3507
  /* Moved here from https://github.com/anyblades/float-label-css for easier maintenance
3464
3508
  <!--section:docs-->
@@ -3490,6 +3534,9 @@ label:has(input:not([type="checkbox"], [type="radio"], [type="range"]), textarea
3490
3534
  ```
3491
3535
  Finally, we detect if placeholder is shown, but not in focus. That means we can safely hide it, and enlarge the float label instead:
3492
3536
  ```css */
3537
+ label:has(input:not([type="checkbox"], [type="radio"], [type="range"]), textarea, select) *:-moz-placeholder:not(:focus)::-moz-placeholder, .has-float-label *:-moz-placeholder:not(:focus)::-moz-placeholder {
3538
+ opacity: 0;
3539
+ }
3493
3540
  label:has(input:not([type="checkbox"], [type="radio"], [type="range"]), textarea, select) *:placeholder-shown:not(:focus)::-moz-placeholder, .has-float-label *:placeholder-shown:not(:focus)::-moz-placeholder {
3494
3541
  opacity: 0;
3495
3542
  }
@@ -3517,19 +3564,49 @@ The `:has(*:placeholder-shown:not(:focus))` trick allows this input state inform
3517
3564
  Historically, this was not possible: the float label had to be placed after the input field to be targeted using the `input:focus + label` selector.
3518
3565
  <!--section--> */
3519
3566
  /* Utilities */
3520
- /*
3567
+ /* Extends https://github.com/picocss/pico/tree/main/scss/utilities
3521
3568
  <!--section:docs-->
3522
3569
 
3523
3570
  ### Auto-dark
3571
+
3572
+ `.dark-auto` automatically creates a simple dark version of any element:
3573
+
3574
+ <article data-theme="dark">
3575
+ <p>Look how cool <big class="dark-auto">🔥🕷️🐦‍⬛🐄🦓</big> can look in the dark!</p>
3576
+ </article>
3577
+
3578
+ <details>How it works:
3524
3579
  ```css */
3580
+ /* Per https://picocss.com/docs/css-variables#css-variables-for-color-schemes */
3581
+ :root {
3582
+ --blades-dark-filter: invert(100%) hue-rotate(180deg);
3583
+ }
3584
+ .dark-auto {
3585
+ /* Dark color scheme (Forced) */
3586
+ }
3587
+ /* Dark color scheme (Auto) */
3525
3588
  @media (prefers-color-scheme: dark) {
3526
- :root:not([data-theme="light"]) .dark-auto {
3527
- filter: invert(100%) hue-rotate(180deg);
3528
- }
3589
+
3590
+ .dark-auto {
3591
+ filter: var(--blades-dark-filter)
3529
3592
  }
3593
+ }
3594
+ .dark-auto[data-theme="dark"],
3595
+ .dark-auto:where([data-theme="dark"] *) {
3596
+ filter: var(--blades-dark-filter);
3597
+ }
3530
3598
  /*```
3599
+ </details>
3531
3600
 
3532
3601
  ### Faded
3602
+
3603
+ `.faded` reduces the opacity of an element:
3604
+
3605
+ <article class="faded">
3606
+ Hover to unfade me!
3607
+ </article>
3608
+
3609
+ <details>How it works:
3533
3610
  ```css */
3534
3611
  .faded {
3535
3612
  opacity: 50%;
@@ -3538,16 +3615,14 @@ Historically, this was not possible: the float label had to be placed after the
3538
3615
  opacity: 87.5%;
3539
3616
  }
3540
3617
  /*```
3541
-
3542
- ### Invert
3543
- ```css */
3544
- /* Extends https://tailwindcss.com/docs/filter-invert */
3545
- /* Fix the scrollbar color when inverted */
3618
+ </details>
3619
+ <!--section--> */
3620
+ /* Fix the scrollbar color when inverted by https://tailwindcss.com/docs/filter-invert */
3546
3621
  .invert ::-webkit-scrollbar {
3547
3622
  filter: invert(1) !important;
3548
3623
  }
3549
- /*``` <!--section--> */
3550
- /* <!--section:code-->
3624
+ /*
3625
+ <!--section:code-->
3551
3626
  ```css */
3552
3627
  /* Default/fallback state */
3553
3628
  label:has(input:not([type="checkbox"], [type="radio"], [type="range"]), textarea, select) > span,
@@ -3588,14 +3663,38 @@ label:has(input:not([type="checkbox"], [type="radio"], [type="range"]), textarea
3588
3663
  .has-float-label:has(*:placeholder-shown:not(:focus)) label {
3589
3664
  padding-block: 0.75rem; /* match Pico */
3590
3665
  }
3666
+ html {
3667
+ /* Prevent horizontal overflow and scrolling, modern way. */
3668
+ overflow-x: clip;
3669
+
3670
+ /* Enable font smoothing */
3671
+ -webkit-font-smoothing: antialiased;
3672
+ -moz-osx-font-smoothing: grayscale;
3673
+ }
3591
3674
  body {
3675
+ /* Ensure `body` takes at least the full height of the viewport (using dynamic viewport height for better mobile support). */
3676
+ min-height: 100dvh;
3677
+
3592
3678
  /* Make the `body` a flex container with column layout, and `main` to automatically fill available space. This is useful for creating sticky footers and full-height layouts. */
3593
3679
  display: flex;
3594
3680
  flex-direction: column;
3681
+
3682
+ /* Evaluates the last ~4 lines of text blocks to prevent a single word from sitting on the final line. */
3683
+
3684
+ /* Enable global hyphenation */
3685
+ /* ... except for links and tables which are better (safer) without hyphenation */
3595
3686
  }
3596
3687
  body > main {
3597
3688
  flex-grow: 1;
3598
3689
  }
3690
+ body {
3691
+ text-wrap: pretty;
3692
+ hyphens: auto;
3693
+ }
3694
+ body a,
3695
+ body table {
3696
+ hyphens: none;
3697
+ }
3599
3698
  a:not([href^="#"]) {
3600
3699
  text-decoration-thickness: 1px;
3601
3700
  }
@@ -3606,22 +3705,6 @@ h1 {
3606
3705
  font-size: 2.5em; /* for pico.css & tw-typography */
3607
3706
  margin-bottom: 1rem; /* for tw-typography */
3608
3707
  }
3609
- /* Potential fix https://github.com/picocss/pico/blob/main/css/pico.css for the very first headings
3610
- :where(article, address, blockquote, dl, figure, form, ol, p, pre, table, ul) ~ :is(h1, h2, h3, h4, h5, h6) {
3611
- margin-top: var(--pico-typography-spacing-top);
3612
- }
3613
- h1,
3614
- h2,
3615
- h3,
3616
- h4,
3617
- h5,
3618
- h6 {
3619
- & ~ & {
3620
- margin-bottom: 2rem;
3621
- }
3622
- }
3623
- NOTE: be careful with wrapped headings, i.e. inside nav: https://blades.ninja/build-awesome-11ty/#usage
3624
- */
3625
3708
  hr {
3626
3709
  margin-block: 2em; /* for pico.css & tw-typography */
3627
3710
  }
@@ -3642,6 +3725,12 @@ table td {
3642
3725
  table pre {
3643
3726
  margin-bottom: 0.25rem;
3644
3727
  }
3728
+ [data-jump-to="top"] {
3729
+ opacity: 25%;
3730
+ }
3731
+ [data-jump-to="top"]:hover {
3732
+ opacity: 75%;
3733
+ }
3645
3734
  [data-jump-to="top"] > i {
3646
3735
  display: inline-block;
3647
3736
  padding: 0.25rem 0.375rem;
@@ -3650,15 +3739,6 @@ table pre {
3650
3739
  color: black;
3651
3740
  border-color: black;
3652
3741
  }
3653
- [data-is-toc] {
3654
- font-size: 87.5%;
3655
- }
3656
- [data-is-toc] a {
3657
- text-decoration: none;
3658
- }
3659
- [data-is-toc] > ul > * > a {
3660
- font-weight: 500;
3661
- }
3662
3742
  .breakout > img,
3663
3743
  .breakout > figure,
3664
3744
  .breakout-all > img,
@@ -106,8 +106,8 @@ button:focus,[type=submit]:focus,[type=button]:focus,[role=button]:focus
106
106
  button:focus,[type=submit]:focus,[type=button]:focus,[role=button]:focus
107
107
  ) select{border-color:transparent}[role=group]:has(input:not([type=submit],[type=button]):focus,select:focus),[role=search]:has(input:not([type=submit],[type=button]):focus,select:focus){--pico-group-box-shadow:var(--pico-group-box-shadow-focus-with-input)}[role=group]:has(input:not([type=submit],[type=button]):focus,select:focus) [role=button],[role=group]:has(input:not([type=submit],[type=button]):focus,select:focus) [type=button],[role=group]:has(input:not([type=submit],[type=button]):focus,select:focus) [type=submit],[role=group]:has(input:not([type=submit],[type=button]):focus,select:focus) button,[role=search]:has(input:not([type=submit],[type=button]):focus,select:focus) [role=button],[role=search]:has(input:not([type=submit],[type=button]):focus,select:focus) [type=button],[role=search]:has(input:not([type=submit],[type=button]):focus,select:focus) [type=submit],[role=search]:has(input:not([type=submit],[type=button]):focus,select:focus) button{--pico-button-box-shadow:0 0 0 var(--pico-border-width) var(--pico-primary-border);--pico-button-hover-box-shadow:0 0 0 var(--pico-border-width) var(--pico-primary-hover-border)}[role=group] [role=button]:focus,[role=group] [type=button]:focus,[role=group] [type=reset]:focus,[role=group] [type=submit]:focus,[role=group] button:focus,[role=search] [role=button]:focus,[role=search] [type=button]:focus,[role=search] [type=reset]:focus,[role=search] [type=submit]:focus,[role=search] button:focus{box-shadow:none}}[role=search]>:first-child{border-top-left-radius:5rem;border-bottom-left-radius:5rem}[role=search]>:last-child{border-top-right-radius:5rem;border-bottom-right-radius:5rem}[aria-busy=true]:not(input,select,textarea,html,form){white-space:nowrap}[aria-busy=true]:not(input,select,textarea,html,form)::before{display:inline-block;width:1em;height:1em;background-image:var(--pico-icon-loading);background-size:1em auto;background-repeat:no-repeat;content:"";vertical-align:-.125em}[aria-busy=true]:not(input,select,textarea,html,form):not(:empty)::before{margin-inline-end:calc(var(--pico-spacing) * .5)}[aria-busy=true]:not(input,select,textarea,html,form):empty{text-align:center}[role=button][aria-busy=true],[type=button][aria-busy=true],[type=reset][aria-busy=true],[type=submit][aria-busy=true],a[aria-busy=true],button[aria-busy=true]{pointer-events:none}:host,:root{--pico-scrollbar-width:0px}dialog{display:flex;z-index:999;position:fixed;top:0;right:0;bottom:0;left:0;align-items:center;justify-content:center;width:inherit;min-width:100%;height:inherit;min-height:100%;padding:0;border:0;backdrop-filter:var(--pico-modal-overlay-backdrop-filter);background-color:var(--pico-modal-overlay-background-color);color:var(--pico-color)}dialog>article{width:100%;max-height:calc(100vh - var(--pico-spacing) * 2);margin:var(--pico-spacing);overflow:auto}@media (min-width:576px){dialog>article{max-width:510px}}@media (min-width:768px){dialog>article{max-width:700px}}dialog>article>header>*{margin-bottom:0}dialog>article>header .close,dialog>article>header :is(a,button)[rel=prev]{margin:0;margin-left:var(--pico-spacing);padding:0;float:right}dialog>article>footer{text-align:end}dialog>article>footer [role=button],dialog>article>footer button{margin-bottom:0}dialog>article>footer [role=button]:not(:first-of-type),dialog>article>footer button:not(:first-of-type){margin-left:calc(var(--pico-spacing) * .5)}dialog>article .close,dialog>article :is(a,button)[rel=prev]{display:block;width:1rem;height:1rem;margin-top:calc(var(--pico-spacing) * -1);margin-bottom:var(--pico-spacing);margin-left:auto;border:none;background-image:var(--pico-icon-close);background-position:center;background-size:auto 1rem;background-repeat:no-repeat;background-color:transparent;opacity:.5;transition:opacity var(--pico-transition)}dialog>article .close:is([aria-current]:not([aria-current=false]),:hover,:active,:focus),dialog>article :is(a,button)[rel=prev]:is(
108
108
  [aria-current]:not([aria-current=false]),:hover,:active,:focus
109
- ){opacity:1}dialog:not([open]),dialog[open=false]{display:none}.modal-is-open{padding-right:var(--pico-scrollbar-width,0);overflow:hidden;pointer-events:none;touch-action:none}.modal-is-open dialog{pointer-events:auto;touch-action:auto}:where(.modal-is-opening,.modal-is-closing) dialog,:where(.modal-is-opening,.modal-is-closing) dialog>article{animation-duration:.2s;animation-timing-function:ease-in-out;animation-fill-mode:both}:where(.modal-is-opening,.modal-is-closing) dialog{animation-duration:.8s;animation-name:modal-overlay}:where(.modal-is-opening,.modal-is-closing) dialog>article{animation-delay:.2s;animation-name:modal}.modal-is-closing dialog,.modal-is-closing dialog>article{animation-delay:0s;animation-direction:reverse}@keyframes modal-overlay{from{backdrop-filter:none;background-color:transparent}}@keyframes modal{from{transform:translateY(-100%);opacity:0}}:where(nav li)::before{float:left;content:"​"}nav,nav ul{display:flex}nav{justify-content:space-between;overflow:visible}nav ol,nav ul{align-items:center;margin-bottom:0;padding:0;list-style:none}nav ol:first-of-type,nav ul:first-of-type{margin-left:calc(var(--pico-nav-element-spacing-horizontal) * -1)}nav ol:last-of-type,nav ul:last-of-type{margin-right:calc(var(--pico-nav-element-spacing-horizontal) * -1)}nav li{display:inline-block;margin:0;padding:var(--pico-nav-element-spacing-vertical) var(--pico-nav-element-spacing-horizontal)}nav li :where(a,[role=link]){display:inline-block;margin:calc(var(--pico-nav-link-spacing-vertical) * -1) calc(var(--pico-nav-link-spacing-horizontal) * -1);padding:var(--pico-nav-link-spacing-vertical) var(--pico-nav-link-spacing-horizontal);border-radius:var(--pico-border-radius)}nav li :where(a,[role=link]):not(:hover){text-decoration:none}nav li [role=button],nav li [type=button],nav li button,nav li input:not([type=checkbox],[type=radio],[type=range],[type=file]),nav li select{height:auto;margin-right:inherit;margin-bottom:0;margin-left:inherit;padding:calc(var(--pico-nav-link-spacing-vertical) - var(--pico-border-width) * 2) var(--pico-nav-link-spacing-horizontal)}nav[aria-label=breadcrumb]{align-items:center;justify-content:start}nav[aria-label=breadcrumb] ul li:not(:first-child){margin-inline-start:var(--pico-nav-link-spacing-horizontal)}nav[aria-label=breadcrumb] ul li a{margin:calc(var(--pico-nav-link-spacing-vertical) * -1) 0;margin-inline-start:calc(var(--pico-nav-link-spacing-horizontal) * -1)}nav[aria-label=breadcrumb] ul li:not(:last-child)::after{display:inline-block;position:absolute;width:calc(var(--pico-nav-link-spacing-horizontal) * 4);margin:0 calc(var(--pico-nav-link-spacing-horizontal) * -1);content:var(--pico-nav-breadcrumb-divider);color:var(--pico-muted-color);text-align:center;text-decoration:none;white-space:nowrap}nav[aria-label=breadcrumb] a[aria-current]:not([aria-current=false]){background-color:transparent;color:inherit;text-decoration:none;pointer-events:none}aside li,aside nav,aside ol,aside ul{display:block}aside li{padding:calc(var(--pico-nav-element-spacing-vertical) * .5) var(--pico-nav-element-spacing-horizontal)}aside li a{display:block}aside li [role=button]{margin:inherit}[dir=rtl] nav[aria-label=breadcrumb] ul li:not(:last-child) ::after{content:"\\"}progress{display:inline-block;vertical-align:baseline}progress{-webkit-appearance:none;-moz-appearance:none;display:inline-block;appearance:none;width:100%;height:.5rem;margin-bottom:calc(var(--pico-spacing) * .5);overflow:hidden;border:0;border-radius:var(--pico-border-radius);background-color:var(--pico-progress-background-color);color:var(--pico-progress-color)}progress::-webkit-progress-bar{border-radius:var(--pico-border-radius);background:0 0}progress[value]::-webkit-progress-value{background-color:var(--pico-progress-color);-webkit-transition:inline-size var(--pico-transition);transition:inline-size var(--pico-transition)}progress::-moz-progress-bar{background-color:var(--pico-progress-color)}@media (prefers-reduced-motion:no-preference){progress:indeterminate{background:var(--pico-progress-background-color) linear-gradient(to right,var(--pico-progress-color) 30%,var(--pico-progress-background-color) 30%) top left/150% 150% no-repeat;animation:progress-indeterminate 1s linear infinite}progress:indeterminate[value]::-webkit-progress-value{background-color:transparent}progress:indeterminate::-moz-progress-bar{background-color:transparent}}@media (prefers-reduced-motion:no-preference){[dir=rtl] progress:indeterminate{animation-direction:reverse}}@keyframes progress-indeterminate{0%{background-position:200% 0}100%{background-position:-200% 0}}[data-tooltip]{position:relative}[data-tooltip]:not(a,button,input,[role=button]){border-bottom:1px dotted;text-decoration:none;cursor:help}[data-tooltip]::after,[data-tooltip]::before,[data-tooltip][data-placement=top]::after,[data-tooltip][data-placement=top]::before{display:block;z-index:99;position:absolute;bottom:100%;left:50%;padding:.25rem .5rem;overflow:hidden;transform:translate(-50%,-.25rem);border-radius:var(--pico-border-radius);background:var(--pico-tooltip-background-color);content:attr(data-tooltip);color:var(--pico-tooltip-color);font-style:normal;font-weight:var(--pico-font-weight);font-size:.875rem;text-decoration:none;text-overflow:ellipsis;white-space:nowrap;opacity:0;pointer-events:none}[data-tooltip]::after,[data-tooltip][data-placement=top]::after{padding:0;transform:translate(-50%,0);border-top:.3rem solid;border-right:.3rem solid transparent;border-left:.3rem solid transparent;border-radius:0;background-color:transparent;content:"";color:var(--pico-tooltip-background-color)}[data-tooltip][data-placement=bottom]::after,[data-tooltip][data-placement=bottom]::before{top:100%;bottom:auto;transform:translate(-50%,.25rem)}[data-tooltip][data-placement=bottom]:after{transform:translate(-50%,-.3rem);border:.3rem solid transparent;border-bottom:.3rem solid}[data-tooltip][data-placement=left]::after,[data-tooltip][data-placement=left]::before{top:50%;right:100%;bottom:auto;left:auto;transform:translate(-.25rem,-50%)}[data-tooltip][data-placement=left]:after{transform:translate(.3rem,-50%);border:.3rem solid transparent;border-left:.3rem solid}[data-tooltip][data-placement=right]::after,[data-tooltip][data-placement=right]::before{top:50%;right:auto;bottom:auto;left:100%;transform:translate(.25rem,-50%)}[data-tooltip][data-placement=right]:after{transform:translate(-.3rem,-50%);border:.3rem solid transparent;border-right:.3rem solid}[data-tooltip]:focus::after,[data-tooltip]:focus::before,[data-tooltip]:hover::after,[data-tooltip]:hover::before{opacity:1}@media (hover:hover) and (pointer:fine){[data-tooltip]:focus::after,[data-tooltip]:focus::before,[data-tooltip]:hover::after,[data-tooltip]:hover::before{--pico-tooltip-slide-to:translate(-50%, -0.25rem);transform:translate(-50%,.75rem);animation-duration:.2s;animation-fill-mode:forwards;animation-name:tooltip-slide;opacity:0}[data-tooltip]:focus::after,[data-tooltip]:hover::after{--pico-tooltip-caret-slide-to:translate(-50%, 0rem);transform:translate(-50%,-.25rem);animation-name:tooltip-caret-slide}[data-tooltip][data-placement=bottom]:focus::after,[data-tooltip][data-placement=bottom]:focus::before,[data-tooltip][data-placement=bottom]:hover::after,[data-tooltip][data-placement=bottom]:hover::before{--pico-tooltip-slide-to:translate(-50%, 0.25rem);transform:translate(-50%,-.75rem);animation-name:tooltip-slide}[data-tooltip][data-placement=bottom]:focus::after,[data-tooltip][data-placement=bottom]:hover::after{--pico-tooltip-caret-slide-to:translate(-50%, -0.3rem);transform:translate(-50%,-.5rem);animation-name:tooltip-caret-slide}[data-tooltip][data-placement=left]:focus::after,[data-tooltip][data-placement=left]:focus::before,[data-tooltip][data-placement=left]:hover::after,[data-tooltip][data-placement=left]:hover::before{--pico-tooltip-slide-to:translate(-0.25rem, -50%);transform:translate(.75rem,-50%);animation-name:tooltip-slide}[data-tooltip][data-placement=left]:focus::after,[data-tooltip][data-placement=left]:hover::after{--pico-tooltip-caret-slide-to:translate(0.3rem, -50%);transform:translate(.05rem,-50%);animation-name:tooltip-caret-slide}[data-tooltip][data-placement=right]:focus::after,[data-tooltip][data-placement=right]:focus::before,[data-tooltip][data-placement=right]:hover::after,[data-tooltip][data-placement=right]:hover::before{--pico-tooltip-slide-to:translate(0.25rem, -50%);transform:translate(-.75rem,-50%);animation-name:tooltip-slide}[data-tooltip][data-placement=right]:focus::after,[data-tooltip][data-placement=right]:hover::after{--pico-tooltip-caret-slide-to:translate(-0.3rem, -50%);transform:translate(-.05rem,-50%);animation-name:tooltip-caret-slide}}@keyframes tooltip-slide{to{transform:var(--pico-tooltip-slide-to);opacity:1}}@keyframes tooltip-caret-slide{50%{opacity:0}to{transform:var(--pico-tooltip-caret-slide-to);opacity:1}}[aria-controls]{cursor:pointer}[aria-disabled=true],[disabled]{cursor:not-allowed}[aria-hidden=false][hidden]{display:initial}[aria-hidden=false][hidden]:not(:focus){clip:rect(0,0,0,0);position:absolute}[tabindex],a,area,button,input,label,select,summary,textarea{-ms-touch-action:manipulation}[dir=rtl]{direction:rtl}@media (prefers-reduced-motion:reduce){:not([aria-busy=true])::after,:not([aria-busy=true])::before,:not([aria-busy=true]):not(.unreduce-motion){background-attachment:initial!important;animation-duration:1ms!important;animation-delay:-1ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-delay:0s!important;transition-duration:0s!important}}html{overflow-x:clip}body{min-height:100dvh}.columns,[data-is-toc]>ol,[data-is-toc]>ul{-moz-columns:30ch auto;columns:30ch auto}.columns>*,[data-is-toc]>ol>*,[data-is-toc]>ul>*{-moz-column-break-inside:avoid;break-inside:avoid}[data-jump-to=top]{position:fixed;bottom:0;right:0;padding-top:50vh;opacity:25%}[data-jump-to=top]:hover{opacity:75%}.breakout,.breakout-all{padding-inline:10%;max-width:calc(10% + 65ch + 10%)}.breakout-all>:is(
109
+ ){opacity:1}dialog:not([open]),dialog[open=false]{display:none}.modal-is-open{padding-right:var(--pico-scrollbar-width,0);overflow:hidden;pointer-events:none;touch-action:none}.modal-is-open dialog{pointer-events:auto;touch-action:auto}:where(.modal-is-opening,.modal-is-closing) dialog,:where(.modal-is-opening,.modal-is-closing) dialog>article{animation-duration:.2s;animation-timing-function:ease-in-out;animation-fill-mode:both}:where(.modal-is-opening,.modal-is-closing) dialog{animation-duration:.8s;animation-name:modal-overlay}:where(.modal-is-opening,.modal-is-closing) dialog>article{animation-delay:.2s;animation-name:modal}.modal-is-closing dialog,.modal-is-closing dialog>article{animation-delay:0s;animation-direction:reverse}@keyframes modal-overlay{from{backdrop-filter:none;background-color:transparent}}@keyframes modal{from{transform:translateY(-100%);opacity:0}}:where(nav li)::before{float:left;content:"​"}nav,nav ul{display:flex}nav{justify-content:space-between;overflow:visible}nav ol,nav ul{align-items:center;margin-bottom:0;padding:0;list-style:none}nav ol:first-of-type,nav ul:first-of-type{margin-left:calc(var(--pico-nav-element-spacing-horizontal) * -1)}nav ol:last-of-type,nav ul:last-of-type{margin-right:calc(var(--pico-nav-element-spacing-horizontal) * -1)}nav li{display:inline-block;margin:0;padding:var(--pico-nav-element-spacing-vertical) var(--pico-nav-element-spacing-horizontal)}nav li :where(a,[role=link]){display:inline-block;margin:calc(var(--pico-nav-link-spacing-vertical) * -1) calc(var(--pico-nav-link-spacing-horizontal) * -1);padding:var(--pico-nav-link-spacing-vertical) var(--pico-nav-link-spacing-horizontal);border-radius:var(--pico-border-radius)}nav li :where(a,[role=link]):not(:hover){text-decoration:none}nav li [role=button],nav li [type=button],nav li button,nav li input:not([type=checkbox],[type=radio],[type=range],[type=file]),nav li select{height:auto;margin-right:inherit;margin-bottom:0;margin-left:inherit;padding:calc(var(--pico-nav-link-spacing-vertical) - var(--pico-border-width) * 2) var(--pico-nav-link-spacing-horizontal)}nav[aria-label=breadcrumb]{align-items:center;justify-content:start}nav[aria-label=breadcrumb] ul li:not(:first-child){margin-inline-start:var(--pico-nav-link-spacing-horizontal)}nav[aria-label=breadcrumb] ul li a{margin:calc(var(--pico-nav-link-spacing-vertical) * -1) 0;margin-inline-start:calc(var(--pico-nav-link-spacing-horizontal) * -1)}nav[aria-label=breadcrumb] ul li:not(:last-child)::after{display:inline-block;position:absolute;width:calc(var(--pico-nav-link-spacing-horizontal) * 4);margin:0 calc(var(--pico-nav-link-spacing-horizontal) * -1);content:var(--pico-nav-breadcrumb-divider);color:var(--pico-muted-color);text-align:center;text-decoration:none;white-space:nowrap}nav[aria-label=breadcrumb] a[aria-current]:not([aria-current=false]){background-color:transparent;color:inherit;text-decoration:none;pointer-events:none}aside li,aside nav,aside ol,aside ul{display:block}aside li{padding:calc(var(--pico-nav-element-spacing-vertical) * .5) var(--pico-nav-element-spacing-horizontal)}aside li a{display:block}aside li [role=button]{margin:inherit}[dir=rtl] nav[aria-label=breadcrumb] ul li:not(:last-child) ::after{content:"\\"}progress{display:inline-block;vertical-align:baseline}progress{-webkit-appearance:none;-moz-appearance:none;display:inline-block;appearance:none;width:100%;height:.5rem;margin-bottom:calc(var(--pico-spacing) * .5);overflow:hidden;border:0;border-radius:var(--pico-border-radius);background-color:var(--pico-progress-background-color);color:var(--pico-progress-color)}progress::-webkit-progress-bar{border-radius:var(--pico-border-radius);background:0 0}progress[value]::-webkit-progress-value{background-color:var(--pico-progress-color);-webkit-transition:inline-size var(--pico-transition);transition:inline-size var(--pico-transition)}progress::-moz-progress-bar{background-color:var(--pico-progress-color)}@media (prefers-reduced-motion:no-preference){progress:indeterminate{background:var(--pico-progress-background-color) linear-gradient(to right,var(--pico-progress-color) 30%,var(--pico-progress-background-color) 30%) top left/150% 150% no-repeat;animation:progress-indeterminate 1s linear infinite}progress:indeterminate[value]::-webkit-progress-value{background-color:transparent}progress:indeterminate::-moz-progress-bar{background-color:transparent}}@media (prefers-reduced-motion:no-preference){[dir=rtl] progress:indeterminate{animation-direction:reverse}}@keyframes progress-indeterminate{0%{background-position:200% 0}100%{background-position:-200% 0}}[data-tooltip]{position:relative}[data-tooltip]:not(a,button,input,[role=button]){border-bottom:1px dotted;text-decoration:none;cursor:help}[data-tooltip]::after,[data-tooltip]::before,[data-tooltip][data-placement=top]::after,[data-tooltip][data-placement=top]::before{display:block;z-index:99;position:absolute;bottom:100%;left:50%;padding:.25rem .5rem;overflow:hidden;transform:translate(-50%,-.25rem);border-radius:var(--pico-border-radius);background:var(--pico-tooltip-background-color);content:attr(data-tooltip);color:var(--pico-tooltip-color);font-style:normal;font-weight:var(--pico-font-weight);font-size:.875rem;text-decoration:none;text-overflow:ellipsis;white-space:nowrap;opacity:0;pointer-events:none}[data-tooltip]::after,[data-tooltip][data-placement=top]::after{padding:0;transform:translate(-50%,0);border-top:.3rem solid;border-right:.3rem solid transparent;border-left:.3rem solid transparent;border-radius:0;background-color:transparent;content:"";color:var(--pico-tooltip-background-color)}[data-tooltip][data-placement=bottom]::after,[data-tooltip][data-placement=bottom]::before{top:100%;bottom:auto;transform:translate(-50%,.25rem)}[data-tooltip][data-placement=bottom]:after{transform:translate(-50%,-.3rem);border:.3rem solid transparent;border-bottom:.3rem solid}[data-tooltip][data-placement=left]::after,[data-tooltip][data-placement=left]::before{top:50%;right:100%;bottom:auto;left:auto;transform:translate(-.25rem,-50%)}[data-tooltip][data-placement=left]:after{transform:translate(.3rem,-50%);border:.3rem solid transparent;border-left:.3rem solid}[data-tooltip][data-placement=right]::after,[data-tooltip][data-placement=right]::before{top:50%;right:auto;bottom:auto;left:100%;transform:translate(.25rem,-50%)}[data-tooltip][data-placement=right]:after{transform:translate(-.3rem,-50%);border:.3rem solid transparent;border-right:.3rem solid}[data-tooltip]:focus::after,[data-tooltip]:focus::before,[data-tooltip]:hover::after,[data-tooltip]:hover::before{opacity:1}@media (hover:hover) and (pointer:fine){[data-tooltip]:focus::after,[data-tooltip]:focus::before,[data-tooltip]:hover::after,[data-tooltip]:hover::before{--pico-tooltip-slide-to:translate(-50%, -0.25rem);transform:translate(-50%,.75rem);animation-duration:.2s;animation-fill-mode:forwards;animation-name:tooltip-slide;opacity:0}[data-tooltip]:focus::after,[data-tooltip]:hover::after{--pico-tooltip-caret-slide-to:translate(-50%, 0rem);transform:translate(-50%,-.25rem);animation-name:tooltip-caret-slide}[data-tooltip][data-placement=bottom]:focus::after,[data-tooltip][data-placement=bottom]:focus::before,[data-tooltip][data-placement=bottom]:hover::after,[data-tooltip][data-placement=bottom]:hover::before{--pico-tooltip-slide-to:translate(-50%, 0.25rem);transform:translate(-50%,-.75rem);animation-name:tooltip-slide}[data-tooltip][data-placement=bottom]:focus::after,[data-tooltip][data-placement=bottom]:hover::after{--pico-tooltip-caret-slide-to:translate(-50%, -0.3rem);transform:translate(-50%,-.5rem);animation-name:tooltip-caret-slide}[data-tooltip][data-placement=left]:focus::after,[data-tooltip][data-placement=left]:focus::before,[data-tooltip][data-placement=left]:hover::after,[data-tooltip][data-placement=left]:hover::before{--pico-tooltip-slide-to:translate(-0.25rem, -50%);transform:translate(.75rem,-50%);animation-name:tooltip-slide}[data-tooltip][data-placement=left]:focus::after,[data-tooltip][data-placement=left]:hover::after{--pico-tooltip-caret-slide-to:translate(0.3rem, -50%);transform:translate(.05rem,-50%);animation-name:tooltip-caret-slide}[data-tooltip][data-placement=right]:focus::after,[data-tooltip][data-placement=right]:focus::before,[data-tooltip][data-placement=right]:hover::after,[data-tooltip][data-placement=right]:hover::before{--pico-tooltip-slide-to:translate(0.25rem, -50%);transform:translate(-.75rem,-50%);animation-name:tooltip-slide}[data-tooltip][data-placement=right]:focus::after,[data-tooltip][data-placement=right]:hover::after{--pico-tooltip-caret-slide-to:translate(-0.3rem, -50%);transform:translate(-.05rem,-50%);animation-name:tooltip-caret-slide}}@keyframes tooltip-slide{to{transform:var(--pico-tooltip-slide-to);opacity:1}}@keyframes tooltip-caret-slide{50%{opacity:0}to{transform:var(--pico-tooltip-caret-slide-to);opacity:1}}[aria-controls]{cursor:pointer}[aria-disabled=true],[disabled]{cursor:not-allowed}[aria-hidden=false][hidden]{display:initial}[aria-hidden=false][hidden]:not(:focus){clip:rect(0,0,0,0);position:absolute}[tabindex],a,area,button,input,label,select,summary,textarea{-ms-touch-action:manipulation}[dir=rtl]{direction:rtl}@media (prefers-reduced-motion:reduce){:not([aria-busy=true])::after,:not([aria-busy=true])::before,:not([aria-busy=true]):not(.unreduce-motion){background-attachment:initial!important;animation-duration:1ms!important;animation-delay:-1ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-delay:0s!important;transition-duration:0s!important}}.columns{-moz-columns:30ch auto;columns:30ch auto}.columns>*{-moz-column-break-inside:avoid;break-inside:avoid}[data-jump-to=top]{position:fixed;bottom:0;right:0;padding-top:50vh}.breakout,.breakout-all{padding-inline:10%;max-width:calc(10% + 65ch + 10%)}.breakout-all>:is(
110
110
  table,pre,figure,video,iframe,canvas,img,picture,.breakout-item,.breakout-item-max
111
111
  ),.breakout>:is(
112
112
  table,pre,figure,video,iframe,canvas,img,picture,.breakout-item,.breakout-item-max
113
- ){width:-moz-fit-content;width:fit-content;min-width:100%;max-width:125%;margin-left:50%;transform:translateX(-50%)}.breakout-all>:is(img,picture),.breakout>:is(img,picture){min-width:auto}.breakout-all>.breakout-item-max,.breakout>.breakout-item-max{width:125%!important}.breakout-all>:is(h2,h3,h4,h5,h6,hr):not([class]){position:relative}.breakout-all>:is(h2,h3,h4,h5,h6,hr):not([class])::before{content:"";display:block;position:absolute;background:gray;opacity:12.5%}.breakout-all>:is(h2,h3,h4,h5,h6):not([class])::before{width:10em;right:100%;margin-right:.8ch;height:.25em;top:50%;transform:translateY(-50%);background:linear-gradient(to left,gray,transparent)}.breakout-all>:is(h2,h3,h4,h5,h6):not([class]):where(hr + *)::before{display:none!important}.breakout-all>:is(hr){height:.5rem;border:none;overflow:visible}.breakout-all>:is(hr)::before{width:100vw;left:50%;height:100%;transform:translateX(-50%)}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{text-wrap:pretty;hyphens:auto}body a,body table{hyphens:none}h1,h2,h3,h4,h5,h6{position:relative}h1 [data-is-anchor],h2 [data-is-anchor],h3 [data-is-anchor],h4 [data-is-anchor],h5 [data-is-anchor],h6 [data-is-anchor]{position:absolute;right:100%;top:50%;transform:translateY(-50%);padding-right:.2ch;color:silver;text-decoration:none;visibility:hidden}@media (hover:hover){h1:hover [data-is-anchor],h2:hover [data-is-anchor],h3:hover [data-is-anchor],h4:hover [data-is-anchor],h5:hover [data-is-anchor],h6:hover [data-is-anchor]{visibility:visible}}ol[style*="--list-marker:"],ul[style*="--list-marker:"]{list-style-type:var(--list-marker)}ol[style*="--list-marker:"]>li,ul[style*="--list-marker:"]>li{list-style-type:inherit}ol li[style*="--list-marker:"],ul li[style*="--list-marker:"]{list-style-type:var(--list-marker)}ol li[data-marker]::marker,ul li[data-marker]::marker{content:attr(data-marker) " "}.unlist{padding-inline-start:0}.unlist>li{list-style:none}a:has(> i){display:inline-flex;gap:.375ch;overflow-y:clip}a>i{font-style:normal;float:left;text-underline-offset:-2em}a>i>img{height:1.25em;margin-block:calc(-0.25em / 2);display:inline-block}a>i[class*=" fa-"],a>i[class^=fa-]{line-height:inherit;--fa-width:auto}a>i.fa-lg{line-height:normal}table th hr{width:12ch;height:0;margin:0;visibility:hidden}table th hr.lg{width:18ch}table th hr.x2{width:24ch}table.borderless td,table.borderless th{border:none}.breakout-all>table:not(.does-not-exist),.breakout>table:not(.does-not-exist),table.responsive{margin-left:50%;transform:translateX(-50%);width:-moz-max-content;width:max-content;min-width:auto;max-width:100vw;padding-inline:7.5%;display:block;overflow-x:auto;-webkit-overflow-scrolling:touch}.breakout-all>table:not(.does-not-exist) td,.breakout-all>table:not(.does-not-exist) th,.breakout>table:not(.does-not-exist) td,.breakout>table:not(.does-not-exist) th,table.responsive td,table.responsive th{padding-inline-start:0}pre{padding:1rem 1.5rem;padding-inline-end:2rem}@media screen and (max-width:767px){pre{border-radius:0}}code[data-caption]::before{content:attr(data-caption);display:block;margin-bottom:1rem;opacity:50%;font-style:italic}code:where(pre > *){padding:0}.token.treeview-part .entry-line{width:2.5em!important;opacity:25%}.token.treeview-part .entry-name:last-child{opacity:50%}.token.treeview-part .entry-name:last-child::before{display:none!important}.has-float-label,label:has(input:not([type=checkbox],[type=radio],[type=range]),textarea,select){display:block;position:relative}.has-float-label label,.has-float-label>span,label:has(input:not([type=checkbox],[type=radio],[type=range]),textarea,select) label,label:has(input:not([type=checkbox],[type=radio],[type=range]),textarea,select)>span{position:absolute;left:0;top:0;cursor:text;font-size:75%}.has-float-label :placeholder-shown:not(:focus)::-moz-placeholder,label:has(input:not([type=checkbox],[type=radio],[type=range]),textarea,select) :placeholder-shown:not(:focus)::-moz-placeholder{opacity:0}.has-float-label :-moz-placeholder:not(:focus)::placeholder,label:has(input:not([type=checkbox],[type=radio],[type=range]),textarea,select) :-moz-placeholder:not(:focus)::placeholder{opacity:0}.has-float-label :placeholder-shown:not(:focus)::placeholder,label:has(input:not([type=checkbox],[type=radio],[type=range]),textarea,select) :placeholder-shown:not(:focus)::placeholder{opacity:0}.has-float-label:has(:-moz-placeholder:not(:focus)) label,.has-float-label:has(:-moz-placeholder:not(:focus))>span,label:has(input:not([type=checkbox],[type=radio],[type=range]),textarea,select):has(:-moz-placeholder:not(:focus)) label,label:has(input:not([type=checkbox],[type=radio],[type=range]),textarea,select):has(:-moz-placeholder:not(:focus))>span{font-size:inherit;opacity:50%}.has-float-label:has(:placeholder-shown:not(:focus)) label,.has-float-label:has(:placeholder-shown:not(:focus))>span,label:has(input:not([type=checkbox],[type=radio],[type=range]),textarea,select):has(:placeholder-shown:not(:focus)) label,label:has(input:not([type=checkbox],[type=radio],[type=range]),textarea,select):has(:placeholder-shown:not(:focus))>span{font-size:inherit;opacity:50%}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .dark-auto{filter:invert(100%) hue-rotate(180deg)}}.faded{opacity:50%}.faded:hover{opacity:87.5%}.invert ::-webkit-scrollbar{filter:invert(1)!important}.has-float-label label,.has-float-label>span,label:has(input:not([type=checkbox],[type=radio],[type=range]),textarea,select) label,label:has(input:not([type=checkbox],[type=radio],[type=range]),textarea,select)>span{padding-inline-start:calc(1rem + 1px);padding-block-start:0.25rem;opacity:75%;transition:all .25s}.has-float-label input,.has-float-label select,.has-float-label textarea,label:has(input:not([type=checkbox],[type=radio],[type=range]),textarea,select) input,label:has(input:not([type=checkbox],[type=radio],[type=range]),textarea,select) select,label:has(input:not([type=checkbox],[type=radio],[type=range]),textarea,select) textarea{margin-block-start:0;padding-inline-start:1rem;padding-block:1.125rem 0.375rem}.has-float-label input::-moz-placeholder,.has-float-label select::-moz-placeholder,.has-float-label textarea::-moz-placeholder,label:has(input:not([type=checkbox],[type=radio],[type=range]),textarea,select) input::-moz-placeholder,label:has(input:not([type=checkbox],[type=radio],[type=range]),textarea,select) select::-moz-placeholder,label:has(input:not([type=checkbox],[type=radio],[type=range]),textarea,select) textarea::-moz-placeholder{opacity:100%;-moz-transition:all .25s;transition:all .25s}.has-float-label input::placeholder,.has-float-label select::placeholder,.has-float-label textarea::placeholder,label:has(input:not([type=checkbox],[type=radio],[type=range]),textarea,select) input::placeholder,label:has(input:not([type=checkbox],[type=radio],[type=range]),textarea,select) select::placeholder,label:has(input:not([type=checkbox],[type=radio],[type=range]),textarea,select) textarea::placeholder{opacity:100%;transition:all .25s}.has-float-label:has(:-moz-placeholder:not(:focus)) label,.has-float-label:has(:-moz-placeholder:not(:focus))>span,label:has(input:not([type=checkbox],[type=radio],[type=range]),textarea,select):has(:-moz-placeholder:not(:focus)) label,label:has(input:not([type=checkbox],[type=radio],[type=range]),textarea,select):has(:-moz-placeholder:not(:focus))>span{padding-block:0.75rem}.has-float-label:has(:placeholder-shown:not(:focus)) label,.has-float-label:has(:placeholder-shown:not(:focus))>span,label:has(input:not([type=checkbox],[type=radio],[type=range]),textarea,select):has(:placeholder-shown:not(:focus)) label,label:has(input:not([type=checkbox],[type=radio],[type=range]),textarea,select):has(:placeholder-shown:not(:focus))>span{padding-block:0.75rem}body{display:flex;flex-direction:column}body>main{flex-grow:1}a:not([href^="#"]){text-decoration-thickness:1px}a:not([href^="#"]):hover{text-decoration-thickness:2px}h1{font-size:2.5em;margin-bottom:1rem}hr{margin-block:2em}ul ul{font-size:87.5%}pre small{opacity:75%;font-weight:lighter}table th{vertical-align:bottom;font-weight:700}table td{vertical-align:top}table pre{margin-bottom:.25rem}[data-jump-to=top]>i{display:inline-block;padding:.25rem .375rem;margin:.5rem;font-size:.75rem;color:#000;border-color:#000}[data-is-toc]{font-size:87.5%}[data-is-toc] a{text-decoration:none}[data-is-toc]>ul>*>a{font-weight:500}.breakout-all>figure,.breakout-all>img,.breakout>figure,.breakout>img{margin-bottom:1rem}.faded a{text-decoration-style:dotted}
113
+ ){width:-moz-fit-content;width:fit-content;min-width:100%;max-width:125%;margin-left:50%;transform:translateX(-50%)}.breakout-all>:is(img,picture),.breakout>:is(img,picture){min-width:auto}.breakout-all>.breakout-item-max,.breakout>.breakout-item-max{width:125%!important}.breakout-all>:is(h2,h3,h4,h5,h6,hr):not([class]){position:relative}.breakout-all>:is(h2,h3,h4,h5,h6,hr):not([class])::before{content:"";display:block;position:absolute;background:gray;opacity:12.5%}.breakout-all>:is(h2,h3,h4,h5,h6):not([class])::before{width:10em;right:100%;margin-right:.8ch;height:.25em;top:50%;transform:translateY(-50%);background:linear-gradient(to left,gray,transparent)}.breakout-all>:is(h2,h3,h4,h5,h6):not([class]):where(hr + *)::before{display:none!important}.breakout-all>:is(hr){height:.5rem;border:none;overflow:visible}.breakout-all>:is(hr)::before{width:100vw;left:50%;height:100%;transform:translateX(-50%)}h1,h2,h3,h4,h5,h6{position:relative}h1 a[href^="#"],h2 a[href^="#"],h3 a[href^="#"],h4 a[href^="#"],h5 a[href^="#"],h6 a[href^="#"]{position:absolute;right:100%;top:50%;transform:translateY(-50%);padding-right:.2ch;color:silver;text-decoration:none;visibility:hidden}@media (hover:hover){h1:hover a[href^="#"],h2:hover a[href^="#"],h3:hover a[href^="#"],h4:hover a[href^="#"],h5:hover a[href^="#"],h6:hover a[href^="#"]{visibility:visible}}ol[style*="--list-marker:"],ul[style*="--list-marker:"]{list-style-type:var(--list-marker)}ol[style*="--list-marker:"]>li,ul[style*="--list-marker:"]>li{list-style-type:inherit}ol li[style*="--list-marker:"],ul li[style*="--list-marker:"]{list-style-type:var(--list-marker)}ol li[data-marker]::marker,ul li[data-marker]::marker{content:attr(data-marker) " "}.unlist-all ol,.unlist-all ul,ol.unlist,ol.unlist-all,ul.unlist,ul.unlist-all{padding-inline-start:0}.unlist-all ol>li,.unlist-all ul>li,ol.unlist-all>li,ol.unlist>li,ul.unlist-all>li,ul.unlist>li{list-style:none}a:has(> i){display:inline-flex;gap:.375ch;overflow-y:clip}a>i{font-style:normal;float:left;text-underline-offset:-2em}a>i>img{height:1.25em;margin-block-start:calc(-0.25em / 2);max-width:none;display:inline-block}a>i[class*=" fa-"],a>i[class^=fa-]{line-height:inherit;--fa-width:auto}a>i.fa-lg{line-height:normal}th hr{width:12ch;height:0;margin:0;visibility:hidden}th hr.lg{width:18ch}th hr.x2{width:24ch}table.borderless td,table.borderless th{border:none}.breakout-all>table:not(.does-not-exist),.breakout>table:not(.does-not-exist),table.responsive{margin-left:50%;transform:translateX(-50%);width:-moz-max-content;width:max-content;min-width:auto;max-width:100vw;padding-inline:7.5%;display:block;overflow-x:auto;-webkit-overflow-scrolling:touch}.breakout-all>table:not(.does-not-exist) td,.breakout-all>table:not(.does-not-exist) th,.breakout>table:not(.does-not-exist) td,.breakout>table:not(.does-not-exist) th,table.responsive td,table.responsive th{padding-inline-start:0}pre{padding:1rem 1.5rem;padding-inline-end:2rem}@media (max-width:767px){pre{border-radius:0}}code[data-caption]::before{content:attr(data-caption);display:block;margin-bottom:1rem;opacity:50%;font-style:italic}code:where(pre > *){padding:0}.token.treeview-part .entry-line{width:2.5em!important;opacity:25%}.token.treeview-part .entry-name:last-child{opacity:50%}.token.treeview-part .entry-name:last-child::before{display:none!important}.has-float-label,label:has(input:not([type=checkbox],[type=radio],[type=range]),textarea,select){display:block;position:relative}.has-float-label label,.has-float-label>span,label:has(input:not([type=checkbox],[type=radio],[type=range]),textarea,select) label,label:has(input:not([type=checkbox],[type=radio],[type=range]),textarea,select)>span{position:absolute;left:0;top:0;cursor:text;font-size:75%}.has-float-label :-moz-placeholder:not(:focus)::-moz-placeholder,label:has(input:not([type=checkbox],[type=radio],[type=range]),textarea,select) :-moz-placeholder:not(:focus)::-moz-placeholder{opacity:0}.has-float-label :placeholder-shown:not(:focus)::-moz-placeholder,label:has(input:not([type=checkbox],[type=radio],[type=range]),textarea,select) :placeholder-shown:not(:focus)::-moz-placeholder{opacity:0}.has-float-label :-moz-placeholder:not(:focus)::placeholder,label:has(input:not([type=checkbox],[type=radio],[type=range]),textarea,select) :-moz-placeholder:not(:focus)::placeholder{opacity:0}.has-float-label :placeholder-shown:not(:focus)::placeholder,label:has(input:not([type=checkbox],[type=radio],[type=range]),textarea,select) :placeholder-shown:not(:focus)::placeholder{opacity:0}.has-float-label:has(:-moz-placeholder:not(:focus)) label,.has-float-label:has(:-moz-placeholder:not(:focus))>span,label:has(input:not([type=checkbox],[type=radio],[type=range]),textarea,select):has(:-moz-placeholder:not(:focus)) label,label:has(input:not([type=checkbox],[type=radio],[type=range]),textarea,select):has(:-moz-placeholder:not(:focus))>span{font-size:inherit;opacity:50%}.has-float-label:has(:placeholder-shown:not(:focus)) label,.has-float-label:has(:placeholder-shown:not(:focus))>span,label:has(input:not([type=checkbox],[type=radio],[type=range]),textarea,select):has(:placeholder-shown:not(:focus)) label,label:has(input:not([type=checkbox],[type=radio],[type=range]),textarea,select):has(:placeholder-shown:not(:focus))>span{font-size:inherit;opacity:50%}:root{--blades-dark-filter:invert(100%) hue-rotate(180deg)}@media (prefers-color-scheme:dark){.dark-auto{filter:var(--blades-dark-filter)}}.dark-auto:where([data-theme=dark] *),.dark-auto[data-theme=dark]{filter:var(--blades-dark-filter)}.faded{opacity:50%}.faded:hover{opacity:87.5%}.invert ::-webkit-scrollbar{filter:invert(1)!important}.has-float-label label,.has-float-label>span,label:has(input:not([type=checkbox],[type=radio],[type=range]),textarea,select) label,label:has(input:not([type=checkbox],[type=radio],[type=range]),textarea,select)>span{padding-inline-start:calc(1rem + 1px);padding-block-start:0.25rem;opacity:75%;transition:all .25s}.has-float-label input,.has-float-label select,.has-float-label textarea,label:has(input:not([type=checkbox],[type=radio],[type=range]),textarea,select) input,label:has(input:not([type=checkbox],[type=radio],[type=range]),textarea,select) select,label:has(input:not([type=checkbox],[type=radio],[type=range]),textarea,select) textarea{margin-block-start:0;padding-inline-start:1rem;padding-block:1.125rem 0.375rem}.has-float-label input::-moz-placeholder,.has-float-label select::-moz-placeholder,.has-float-label textarea::-moz-placeholder,label:has(input:not([type=checkbox],[type=radio],[type=range]),textarea,select) input::-moz-placeholder,label:has(input:not([type=checkbox],[type=radio],[type=range]),textarea,select) select::-moz-placeholder,label:has(input:not([type=checkbox],[type=radio],[type=range]),textarea,select) textarea::-moz-placeholder{opacity:100%;-moz-transition:all .25s;transition:all .25s}.has-float-label input::placeholder,.has-float-label select::placeholder,.has-float-label textarea::placeholder,label:has(input:not([type=checkbox],[type=radio],[type=range]),textarea,select) input::placeholder,label:has(input:not([type=checkbox],[type=radio],[type=range]),textarea,select) select::placeholder,label:has(input:not([type=checkbox],[type=radio],[type=range]),textarea,select) textarea::placeholder{opacity:100%;transition:all .25s}.has-float-label:has(:-moz-placeholder:not(:focus)) label,.has-float-label:has(:-moz-placeholder:not(:focus))>span,label:has(input:not([type=checkbox],[type=radio],[type=range]),textarea,select):has(:-moz-placeholder:not(:focus)) label,label:has(input:not([type=checkbox],[type=radio],[type=range]),textarea,select):has(:-moz-placeholder:not(:focus))>span{padding-block:0.75rem}.has-float-label:has(:placeholder-shown:not(:focus)) label,.has-float-label:has(:placeholder-shown:not(:focus))>span,label:has(input:not([type=checkbox],[type=radio],[type=range]),textarea,select):has(:placeholder-shown:not(:focus)) label,label:has(input:not([type=checkbox],[type=radio],[type=range]),textarea,select):has(:placeholder-shown:not(:focus))>span{padding-block:0.75rem}html{overflow-x:clip;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{min-height:100dvh;display:flex;flex-direction:column}body>main{flex-grow:1}body{text-wrap:pretty;hyphens:auto}body a,body table{hyphens:none}a:not([href^="#"]){text-decoration-thickness:1px}a:not([href^="#"]):hover{text-decoration-thickness:2px}h1{font-size:2.5em;margin-bottom:1rem}hr{margin-block:2em}ul ul{font-size:87.5%}pre small{opacity:75%;font-weight:lighter}table th{vertical-align:bottom;font-weight:700}table td{vertical-align:top}table pre{margin-bottom:.25rem}[data-jump-to=top]{opacity:25%}[data-jump-to=top]:hover{opacity:75%}[data-jump-to=top]>i{display:inline-block;padding:.25rem .375rem;margin:.5rem;font-size:.75rem;color:#000;border-color:#000}.breakout-all>figure,.breakout-all>img,.breakout>figure,.breakout>img{margin-bottom:1rem}.faded a{text-decoration-style:dotted}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@anyblades/pico",
3
- "version": "2.2.0-alpha.7",
3
+ "version": "2.2.0-alpha.8",
4
4
  "description": "Minimal CSS Framework for semantic HTML",
5
5
  "author": "Lucas Larroche",
6
6
  "contributors": [
@@ -50,7 +50,7 @@
50
50
  "done": "echo '\\033[32m[@anyblades/pico] ✨ Done\\033[0m'"
51
51
  },
52
52
  "devDependencies": {
53
- "@anyblades/blades": "^0.28.0-alpha.2",
53
+ "@anyblades/blades": "^0.28.0-alpha.8",
54
54
  "autoprefixer": "^10.4.21",
55
55
  "caniuse-lite": "1.0.30001704",
56
56
  "clean-css-cli": "^5.6.3",